<?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>140855</bug_id>
          
          <creation_ts>2015-01-24 04:26:21 -0800</creation_ts>
          <short_desc>[ES6] Implement ES6 arrow function syntax</short_desc>
          <delta_ts>2016-12-12 17:03:49 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</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>http://wiki.ecmascript.org/doku.php?id=harmony:arrow_function_syntax</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>148034</dependson>
    
    <dependson>151983</dependson>
    
    <dependson>153862</dependson>
    
    <dependson>144954</dependson>
    
    <dependson>144955</dependson>
    
    <dependson>144956</dependson>
    
    <dependson>145108</dependson>
    
    <dependson>145132</dependson>
    
    <dependson>145638</dependson>
    
    <dependson>146394</dependson>
    
    <dependson>146507</dependson>
    
    <dependson>146934</dependson>
    
    <dependson>147742</dependson>
    
    <dependson>148055</dependson>
    
    <dependson>148148</dependson>
    
    <dependson>148445</dependson>
    
    <dependson>149338</dependson>
    
    <dependson>149410</dependson>
    
    <dependson>149615</dependson>
    
    <dependson>149855</dependson>
    
    <dependson>150893</dependson>
    
    <dependson>152028</dependson>
    
    <dependson>152497</dependson>
    
    <dependson>152537</dependson>
    
    <dependson>152570</dependson>
    
    <dependson>152575</dependson>
    
    <dependson>153864</dependson>
    
    <dependson>153977</dependson>
    
    <dependson>153981</dependson>
    
    <dependson>154027</dependson>
    
    <dependson>154517</dependson>
    
    <dependson>154639</dependson>
    
    <dependson>155153</dependson>
    
    <dependson>155491</dependson>
    
    <dependson>156059</dependson>
          <blocked>80559</blocked>
    
    <blocked>143889</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="GSkachkov">gskachkov</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>barraclough</cc>
    
    <cc>basile_clement</cc>
    
    <cc>bburg</cc>
    
    <cc>benjamin</cc>
    
    <cc>bjonesbe</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>joepeck</cc>
    
    <cc>mark.lam</cc>
    
    <cc>rniwa</cc>
    
    <cc>saam</cc>
    
    <cc>ysuzuki</cc>
    
    <cc>zmyaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1063903</commentid>
    <comment_count>0</comment_count>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-01-24 04:26:21 -0800</bug_when>
    <thetext>Description of the syntax of the Arrow Function. 
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-arrow-function-definitions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072805</commentid>
    <comment_count>1</comment_count>
      <attachid>247543</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-02-27 13:37:34 -0800</bug_when>
    <thetext>Created attachment 247543
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072951</commentid>
    <comment_count>2</comment_count>
      <attachid>247579</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-02-27 18:23:25 -0800</bug_when>
    <thetext>Created attachment 247579
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073014</commentid>
    <comment_count>3</comment_count>
      <attachid>247598</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-02-28 00:55:46 -0800</bug_when>
    <thetext>Created attachment 247598
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073017</commentid>
    <comment_count>4</comment_count>
      <attachid>247599</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-02-28 02:49:06 -0800</bug_when>
    <thetext>Created attachment 247599
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073024</commentid>
    <comment_count>5</comment_count>
      <attachid>247600</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-02-28 04:10:49 -0800</bug_when>
    <thetext>Created attachment 247600
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073025</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-28 04:12:38 -0800</bug_when>
    <thetext>Attachment 247600 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/parser/Parser.h:708:  The parameter name &quot;type&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:709:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 3 in 25 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073026</commentid>
    <comment_count>7</comment_count>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-02-28 04:17:29 -0800</bug_when>
    <thetext>Will not do the fixing this 3 style check errors, possible was chosen some wrong approach. Will wait until review result.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073027</commentid>
    <comment_count>8</comment_count>
      <attachid>247600</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2015-02-28 05:05:07 -0800</bug_when>
    <thetext>Comment on attachment 247600
Patch

Attachment 247600 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/5546162463440896

New failing tests:
fast/css/object-fit/object-fit-canvas.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073028</commentid>
    <comment_count>9</comment_count>
      <attachid>247601</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2015-02-28 05:05:13 -0800</bug_when>
    <thetext>Created attachment 247601
Archive of layout-test-results from ews105 for mac-mavericks-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews105  Port: mac-mavericks-wk2  Platform: Mac OS X 10.9.5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073029</commentid>
    <comment_count>10</comment_count>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-02-28 05:20:16 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; Created attachment 247601 [details]
&gt; Archive of layout-test-results from ews105 for mac-mavericks-wk2
&gt; 
&gt; The attached test failures were seen while running run-webkit-tests on the
&gt; mac-wk2-ews.
&gt; Bot: ews105  Port: mac-mavericks-wk2  Platform: Mac OS X 10.9.5

That strange. My patch doesn&apos;t touch the failed tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073031</commentid>
    <comment_count>11</comment_count>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-02-28 09:13:02 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Created attachment 247600 [details]
&gt; Patch

Supported cases:
 () =&gt; 2*2
 x =&gt; x*x
 (x, y) =&gt; x*y</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074192</commentid>
    <comment_count>12</comment_count>
      <attachid>247886</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-03-04 13:12:57 -0800</bug_when>
    <thetext>Created attachment 247886
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074193</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-04 13:17:02 -0800</bug_when>
    <thetext>Attachment 247886 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/parser/Parser.h:708:  The parameter name &quot;type&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:709:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 3 in 27 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074224</commentid>
    <comment_count>14</comment_count>
      <attachid>247894</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-03-04 14:00:28 -0800</bug_when>
    <thetext>Created attachment 247894
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074225</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-04 14:01:52 -0800</bug_when>
    <thetext>Attachment 247894 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/parser/Parser.h:708:  The parameter name &quot;type&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:709:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 3 in 27 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074274</commentid>
    <comment_count>16</comment_count>
      <attachid>247894</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2015-03-04 16:01:54 -0800</bug_when>
    <thetext>Comment on attachment 247894
Patch

Attachment 247894 did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/5010282615144448

New failing tests:
sputnik/Conformance/07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A3.2_T2.html
http/tests/workers/worker-importScripts.html
sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T9.html
sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T7.html
sputnik/Conformance/07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A3.3_T2.html
sputnik/Conformance/07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A3.1_T3.html
sputnik/Conformance/07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A3.2_T3.html
js/dom/parse-error-external-script-in-eval.html
js/kde/garbage-n.html
js/dom/parse-error-external-script-in-new-Function.html
sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A8.1_T3.html
sputnik/Conformance/07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A3.1_T2.html
sputnik/Conformance/07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A3.4_T2.html
sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T8.html
sputnik/Conformance/12_Statement/12.11_The_switch_Statement/S12.11_A3_T5.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074275</commentid>
    <comment_count>17</comment_count>
      <attachid>247906</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2015-03-04 16:01:59 -0800</bug_when>
    <thetext>Created attachment 247906
Archive of layout-test-results from ews101 for mac-mavericks

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews101  Port: mac-mavericks  Platform: Mac OS X 10.9.5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074285</commentid>
    <comment_count>18</comment_count>
      <attachid>247894</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2015-03-04 16:24:07 -0800</bug_when>
    <thetext>Comment on attachment 247894
Patch

Attachment 247894 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/5960117048573952

New failing tests:
sputnik/Conformance/07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A3.2_T2.html
http/tests/workers/worker-importScripts.html
sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T9.html
sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T7.html
sputnik/Conformance/07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A3.3_T2.html
sputnik/Conformance/07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A3.1_T3.html
sputnik/Conformance/07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A3.2_T3.html
js/dom/parse-error-external-script-in-eval.html
js/kde/garbage-n.html
js/dom/parse-error-external-script-in-new-Function.html
sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.3_The_for_Statement/S12.6.3_A8.1_T3.html
sputnik/Conformance/07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A3.1_T2.html
sputnik/Conformance/07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A3.4_T2.html
sputnik/Conformance/07_Lexical_Conventions/7.8_Literals/7.8.5_Regular_Expression_Literals/S7.8.5_A3.1_T8.html
sputnik/Conformance/12_Statement/12.11_The_switch_Statement/S12.11_A3_T5.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074286</commentid>
    <comment_count>19</comment_count>
      <attachid>247909</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2015-03-04 16:24:11 -0800</bug_when>
    <thetext>Created attachment 247909
Archive of layout-test-results from ews106 for mac-mavericks-wk2

The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: ews106  Port: mac-mavericks-wk2  Platform: Mac OS X 10.9.5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074414</commentid>
    <comment_count>20</comment_count>
      <attachid>247934</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-03-04 23:44:01 -0800</bug_when>
    <thetext>Created attachment 247934
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074415</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-04 23:45:37 -0800</bug_when>
    <thetext>Attachment 247934 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/parser/Parser.h:708:  The parameter name &quot;type&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:709:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 3 in 27 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074934</commentid>
    <comment_count>22</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-03-06 08:14:34 -0800</bug_when>
    <thetext>Good start!
Do you have a plan to implement |this| binding semantics of arrow functions?
Are you planning to implement it in the subsequent patches? :D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1075029</commentid>
    <comment_count>23</comment_count>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-03-06 11:25:33 -0800</bug_when>
    <thetext>(In reply to comment #22)
&gt; Good start!
&gt; Do you have a plan to implement |this| binding semantics of arrow functions?
&gt; Are you planning to implement it in the subsequent patches? :D

Thanks for comment. 

I&apos;m goint to implement full spec of the arrow function. But for now I&apos;m tring to follow the webkit contribution rule - deliver the smollest path/feature. Also I&apos;m quite new in webkit project and expect that I will redo a lot in current patch to reach webkit standards in quality, performance and etc :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1075061</commentid>
    <comment_count>24</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-03-06 12:31:19 -0800</bug_when>
    <thetext>One tip: we can write tests related to JavaScriptCore under &apos;tests/stress&apos; instead of layout-tests. fpizlo told me this very nice test infrastructure :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1075062</commentid>
    <comment_count>25</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-03-06 12:34:00 -0800</bug_when>
    <thetext>(In reply to comment #24)
&gt; One tip: we can write tests related to JavaScriptCore under &apos;tests/stress&apos;
&gt; instead of layout-tests. fpizlo told me this very nice test infrastructure :)

And execute it with `Tools/Scripts/run-javascriptcore-tests` :D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1075704</commentid>
    <comment_count>26</comment_count>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-03-09 12:15:19 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; One tip: we can write tests related to JavaScriptCore under &apos;tests/stress&apos;
&gt; instead of layout-tests. fpizlo told me this very nice test infrastructure :)

Thanks for the tip. I&apos;ll do this.
Yusuke Suzuki, What do you think, do I need add/change something inside of the tests, for instance cover some special cases or cover some special exception and etc?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1076097</commentid>
    <comment_count>27</comment_count>
      <attachid>248363</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-03-10 15:04:10 -0700</bug_when>
    <thetext>Created attachment 248363
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1076100</commentid>
    <comment_count>28</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-03-10 15:14:59 -0700</bug_when>
    <thetext>(In reply to comment #26)
&gt; (In reply to comment #24)
&gt; &gt; One tip: we can write tests related to JavaScriptCore under &apos;tests/stress&apos;
&gt; &gt; instead of layout-tests. fpizlo told me this very nice test infrastructure :)
&gt; 
&gt; Thanks for the tip. I&apos;ll do this.
&gt; Yusuke Suzuki, What do you think, do I need add/change something inside of
&gt; the tests, for instance cover some special cases or cover some special
&gt; exception and etc?

Ideally, I think there&apos;s 3 edge cases for arrow functions in the ES6 spec.
If I missed / misunderstood something, please point it :)

1. Arrow Function&apos;s environment doesn&apos;t has |this| binding.

So, |this| should be lookuped from outer side.
And Function.prototype.bind for ArrowFunction doesn&apos;t work well according to the spec.
And since `class syntax` is now landed (like https://trac.webkit.org/changeset/181293), be careful for treating |this| and TDZ. (at some point, |this| is not accessable)

2. Arrow Function doesn&apos;t has [[Construct]]

So, arrow function with `new` call should be raise TypeError.

3. Don&apos;t create &quot;arguments&quot; for arrow function

arrow function doesn&apos;t have &quot;arguments&quot; in its environment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1076102</commentid>
    <comment_count>29</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-03-10 15:18:44 -0700</bug_when>
    <thetext>(In reply to comment #26)
&gt; Thanks for the tip. I&apos;ll do this.
&gt; Yusuke Suzuki, What do you think, do I need add/change something inside of
&gt; the tests, for instance cover some special cases or cover some special
&gt; exception and etc?

And I think tests for syntax errors are needed.
Let&apos;s write syntax error tests with `eval` and `SyntaxError` :D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1076294</commentid>
    <comment_count>30</comment_count>
      <attachid>248414</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-03-11 05:46:55 -0700</bug_when>
    <thetext>Created attachment 248414
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1076295</commentid>
    <comment_count>31</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-11 05:50:12 -0700</bug_when>
    <thetext>Attachment 248414 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/parser/Parser.h:716:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:717:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 3 in 24 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1076296</commentid>
    <comment_count>32</comment_count>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-03-11 05:54:50 -0700</bug_when>
    <thetext>(In reply to comment #28)
&gt; (In reply to comment #26)
&gt; &gt; (In reply to comment #24)
&gt; &gt; &gt; One tip: we can write tests related to JavaScriptCore under &apos;tests/stress&apos;
&gt; &gt; &gt; instead of layout-tests. fpizlo told me this very nice test infrastructure :)
&gt; &gt; 
&gt; &gt; Thanks for the tip. I&apos;ll do this.
&gt; &gt; Yusuke Suzuki, What do you think, do I need add/change something inside of
&gt; &gt; the tests, for instance cover some special cases or cover some special
&gt; &gt; exception and etc?
&gt; 
&gt; Ideally, I think there&apos;s 3 edge cases for arrow functions in the ES6 spec.
&gt; If I missed / misunderstood something, please point it :)
&gt; 
&gt; 1. Arrow Function&apos;s environment doesn&apos;t has |this| binding.
&gt; 
&gt; So, |this| should be lookuped from outer side.
&gt; And Function.prototype.bind for ArrowFunction doesn&apos;t work well according to
&gt; the spec.
&gt; And since `class syntax` is now landed (like
&gt; https://trac.webkit.org/changeset/181293), be careful for treating |this|
&gt; and TDZ. (at some point, |this| is not accessable)
&gt; 
&gt; 2. Arrow Function doesn&apos;t has [[Construct]]
&gt; 
&gt; So, arrow function with `new` call should be raise TypeError.
&gt; 
&gt; 3. Don&apos;t create &quot;arguments&quot; for arrow function
&gt; 
&gt; arrow function doesn&apos;t have &quot;arguments&quot; in its environment.

Thanks for feedback. 
I&apos;ll try to cover this 3 edge cases soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1077352</commentid>
    <comment_count>33</comment_count>
      <attachid>248414</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-03-15 23:41:50 -0700</bug_when>
    <thetext>Comment on attachment 248414
Patch

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

Patch looks good overall. I think you can touch it up a bit before landing.

&gt; Source/JavaScriptCore/ChangeLog:16
&gt; +

It&apos;s worth going through some of this to check for spelling/grammatical errors. There are many 
of these such errors.

Also, it&apos;s nice to have some annotations of the functions you changed below,
but stay away from restating what the changelog already states. Your comments
should give insight as to why you changed something or how something works.
It&apos;s not worth saying something like: &quot;Added extra parameter&quot;. The diff below
will tell us this.

&gt; Source/JavaScriptCore/parser/ASTBuilder.h:-314
&gt; -    

You should revert this whitespace and all other white space changes below.

&gt; Source/JavaScriptCore/parser/Parser.cpp:584
&gt; +    semanticFailIfFalse(currentScope()-&gt;isFunction(), &quot;Return statements are only valid inside arrow functions&quot;);

I&apos;m confused by this error message here. Is it actually supposed to say that?

&gt; Source/JavaScriptCore/parser/Parser.cpp:1502
&gt; +template &lt;class TreeBuilder&gt; bool Parser&lt;LexerType&gt;::parseArrowFunctionInfo(TreeBuilder&amp; context, FunctionParseMode mode, ConstructorKind constructorKind, ParserFunctionInfo&lt;TreeBuilder&gt;&amp; info)

This function looks like it has a ton of duplicated code with parseFunctionInfo(.).
It&apos;s worth creating an abstraction that handles both function info&apos;s so we don&apos;t
end up with two divergent code paths in the future.

&gt; Source/JavaScriptCore/parser/Parser.cpp:1524
&gt; +            info.parameters = parseFormalParameters(context);

I don&apos;t think this will do what you want. This will parse:
x,y =&gt; {}
I think the syntax only allows for single parameter arrow functions to not have parens around
their formal parameter list.
You will probably want to failIfFalse if there isn&apos;t only a single parameter here

&gt; Source/JavaScriptCore/parser/Parser.cpp:1642
&gt; +        bool isEndOfArrowFunction = match(SEMICOLON) || match(COMMA) || match(CLOSEPAREN) || match(CLOSEBRACE) || match(CLOSEBRACKET);

Nit: It may be worth writing a function to do this since
you have almost this same expression above.

&gt; Source/JavaScriptCore/parser/Parser.h:84
&gt; +enum FunctionParseType { StandardFunctionParseType, ArrowFunctionParseType };

I think we should use a better name for this because parseSourceElements(.) is used to parse more than functions.
Maybe something as simple as SourceElementsParseType

&gt; Source/JavaScriptCore/tests/stress/arrowfunction.js:1
&gt; +var result;

Is there another bug open for the correct implementation of the arrow function to have
lexical &quot;this&quot; scoping?

I think it&apos;s probably okay to land this in two different bugs, but you&apos;ll probably end up changing some 
of the code in this patch.

We should also have a lot of parsing tests for this patch on top of these tests.
For example, I think your patch as it stands will incorrectly parse:
x,y =&gt; x + y;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1077853</commentid>
    <comment_count>34</comment_count>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-03-17 03:37:29 -0700</bug_when>
    <thetext>(In reply to comment #33)
&gt; Comment on attachment 248414 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=248414&amp;action=review
&gt; 
&gt; Patch looks good overall. I think you can touch it up a bit before landing.
&gt; 
&gt; &gt; Source/JavaScriptCore/ChangeLog:16
&gt; &gt; +
&gt; 
&gt; It&apos;s worth going through some of this to check for spelling/grammatical
&gt; errors. There are many 
&gt; of these such errors.
&gt; 
&gt; Also, it&apos;s nice to have some annotations of the functions you changed below,
&gt; but stay away from restating what the changelog already states. Your comments
&gt; should give insight as to why you changed something or how something works.
&gt; It&apos;s not worth saying something like: &quot;Added extra parameter&quot;. The diff below
&gt; will tell us this.
&gt; 
&gt; &gt; Source/JavaScriptCore/parser/ASTBuilder.h:-314
&gt; &gt; -    
&gt; 
&gt; You should revert this whitespace and all other white space changes below.
&gt; 
&gt; &gt; Source/JavaScriptCore/parser/Parser.cpp:584
&gt; &gt; +    semanticFailIfFalse(currentScope()-&gt;isFunction(), &quot;Return statements are only valid inside arrow functions&quot;);
&gt; 
&gt; I&apos;m confused by this error message here. Is it actually supposed to say that?
&gt; 
&gt; &gt; Source/JavaScriptCore/parser/Parser.cpp:1502
&gt; &gt; +template &lt;class TreeBuilder&gt; bool Parser&lt;LexerType&gt;::parseArrowFunctionInfo(TreeBuilder&amp; context, FunctionParseMode mode, ConstructorKind constructorKind, ParserFunctionInfo&lt;TreeBuilder&gt;&amp; info)
&gt; 
&gt; This function looks like it has a ton of duplicated code with
&gt; parseFunctionInfo(.).
&gt; It&apos;s worth creating an abstraction that handles both function info&apos;s so we
&gt; don&apos;t
&gt; end up with two divergent code paths in the future.
&gt; 
&gt; &gt; Source/JavaScriptCore/parser/Parser.cpp:1524
&gt; &gt; +            info.parameters = parseFormalParameters(context);
&gt; 
&gt; I don&apos;t think this will do what you want. This will parse:
&gt; x,y =&gt; {}
&gt; I think the syntax only allows for single parameter arrow functions to not
&gt; have parens around
&gt; their formal parameter list.
&gt; You will probably want to failIfFalse if there isn&apos;t only a single parameter
&gt; here
&gt; 
&gt; &gt; Source/JavaScriptCore/parser/Parser.cpp:1642
&gt; &gt; +        bool isEndOfArrowFunction = match(SEMICOLON) || match(COMMA) || match(CLOSEPAREN) || match(CLOSEBRACE) || match(CLOSEBRACKET);
&gt; 
&gt; Nit: It may be worth writing a function to do this since
&gt; you have almost this same expression above.
&gt; 
&gt; &gt; Source/JavaScriptCore/parser/Parser.h:84
&gt; &gt; +enum FunctionParseType { StandardFunctionParseType, ArrowFunctionParseType };
&gt; 
&gt; I think we should use a better name for this because parseSourceElements(.)
&gt; is used to parse more than functions.
&gt; Maybe something as simple as SourceElementsParseType
&gt; 
&gt; &gt; Source/JavaScriptCore/tests/stress/arrowfunction.js:1
&gt; &gt; +var result;
&gt; 
&gt; Is there another bug open for the correct implementation of the arrow
&gt; function to have
&gt; lexical &quot;this&quot; scoping?
&gt; 
&gt; I think it&apos;s probably okay to land this in two different bugs, but you&apos;ll
&gt; probably end up changing some 
&gt; of the code in this patch.
&gt; 
&gt; We should also have a lot of parsing tests for this patch on top of these
&gt; tests.
&gt; For example, I think your patch as it stands will incorrectly parse:
&gt; x,y =&gt; x + y;

Thank you for this deep review. 
I&apos;m finishing fixing comments from Yusuke Suzuki, after that I&apos;ll switch to the fixing of your comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1080237</commentid>
    <comment_count>35</comment_count>
      <attachid>249479</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-03-26 01:56:46 -0700</bug_when>
    <thetext>Created attachment 249479
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1080454</commentid>
    <comment_count>36</comment_count>
      <attachid>249529</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-03-26 15:59:07 -0700</bug_when>
    <thetext>Created attachment 249529
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1080456</commentid>
    <comment_count>37</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-26 16:02:52 -0700</bug_when>
    <thetext>Attachment 249529 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebKit/mac/ChangeLog:10:  Need whitespace between colon and description  [changelog/filechangedescriptionwhitespace] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:729:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:730:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 4 in 49 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1080461</commentid>
    <comment_count>38</comment_count>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-03-26 16:06:33 -0700</bug_when>
    <thetext>(In reply to comment #36)
&gt; Created attachment 249529 [details]
&gt; Patch

Ohhh, It was deep &amp; long dive into core of the JSC.
I&apos;ve implemented 1&amp;2 second comments from Yusuke Suzuki.
Now I&apos;m working on adding the description of all changes into Changlog and increasing the numbers of test cases. Hope after that can start work on comments from Saam Barati.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1080587</commentid>
    <comment_count>39</comment_count>
      <attachid>249563</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-03-27 06:28:27 -0700</bug_when>
    <thetext>Created attachment 249563
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1080588</commentid>
    <comment_count>40</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-27 06:30:50 -0700</bug_when>
    <thetext>Attachment 249563 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebKit/mac/ChangeLog:10:  Need whitespace between colon and description  [changelog/filechangedescriptionwhitespace] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:729:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:730:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 4 in 49 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1080590</commentid>
    <comment_count>41</comment_count>
      <attachid>249565</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-03-27 07:14:22 -0700</bug_when>
    <thetext>Created attachment 249565
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1080591</commentid>
    <comment_count>42</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-27 07:17:42 -0700</bug_when>
    <thetext>Attachment 249565 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebKit/mac/ChangeLog:10:  Need whitespace between colon and description  [changelog/filechangedescriptionwhitespace] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:729:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:730:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 4 in 51 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1080666</commentid>
    <comment_count>43</comment_count>
      <attachid>249587</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-03-27 11:04:00 -0700</bug_when>
    <thetext>Created attachment 249587
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1080668</commentid>
    <comment_count>44</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-27 11:08:10 -0700</bug_when>
    <thetext>Attachment 249587 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebKit/mac/ChangeLog:10:  Need whitespace between colon and description  [changelog/filechangedescriptionwhitespace] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:729:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:730:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 4 in 51 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1080949</commentid>
    <comment_count>45</comment_count>
      <attachid>249664</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-03-28 10:19:56 -0700</bug_when>
    <thetext>Created attachment 249664
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1080950</commentid>
    <comment_count>46</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-28 10:22:12 -0700</bug_when>
    <thetext>Attachment 249664 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/parser/Parser.h:729:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:730:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 3 in 51 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1080953</commentid>
    <comment_count>47</comment_count>
      <attachid>249664</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-03-28 12:15:03 -0700</bug_when>
    <thetext>Comment on attachment 249664
Patch

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

Looking pretty good. Some comments below:

&gt; Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:1752
&gt; +    RegisterID* value = emitThisNodeBytecode(r0, n-&gt;position());

I don&apos;t think this is doing exactly what you want here.
r0 here is the destination of this function expression, and you will 
move lexical &apos;this&apos; into this destination, then, you will override that
with the function expression. I don&apos;t think this is the intention. I&apos;m
not exactly sure of the consequences of this are, but it may be easier to
get rid of the ::emitThisNodeBytecode function, and just do this here:
```RegiserID* value = emitMove(newTemporary(), thisRegister()),``
or, you may even just be able to do:
```instructions().append(thisRegister()-&gt;index())```

&gt; Source/JavaScriptCore/jit/JITOpcodes.cpp:985
&gt; +    emitGetVirtualRegister(currentInstruction[4].u.operand, regT1);

I don&apos;t think you want to load &apos;this&apos; after the above branch because
you need it at the branch destination. (same for 32-bit version below).

&gt; Source/JavaScriptCore/jit/JITOpcodes.cpp:995
&gt; +    FunctionExecutable* funcExpr = m_codeBlock-&gt;functionExpr(currentInstruction[3].u.operand);

Nit: I would call this &apos;executable&apos; or &apos;function&apos; or something other than &apos;funcExpr&apos;.

&gt; Source/JavaScriptCore/jit/JITOperations.cpp:951
&gt; +    return JSValue::encode(JSBoundFunction::create(vm, globalObject, func, JSValue::decode(thisValue), boundArgs, 0, &quot;&quot;));

Maybe we should give this a name here instead of &quot;&quot;?
We should investigate this.

Also, is 0 the correct thing to pass here?
I&apos;m not really sure what that does.

&gt; Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:1013
&gt; +    LLINT_RETURN(JSBoundFunction::create(vm, globalObject, func, thisValue, boundArgs, 0, &quot;&quot;));

ditto.

Also, maybe it&apos;s worth having some kind of helper function here 
because this function is so similar to the above.

&gt; Source/JavaScriptCore/parser/Parser.cpp:1538
&gt; +{

I still think this function has too much code in common with ::parseFunctionInfo,
we should abstract away the common bits.

&gt; Source/JavaScriptCore/parser/Parser.cpp:2080
&gt; +#endif

Nit: I think that can just be one contiguous region, not need for #endif then #if

&gt; Source/JavaScriptCore/parser/Parser.h:560
&gt; +    const SourceProviderCacheItem* findCachedFunctionInfo(int openBracePos)

Nit: whitespace

&gt; Source/JavaScriptCore/parser/Parser.h:568
&gt; +    void didFinishParsing(SourceElements*, DeclarationStacks::VarStack&amp;,

ditto

&gt; Source/JavaScriptCore/tests/stress/arrowfunction.js:1
&gt; +var result;

I think we need some tests for lexical &apos;this&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081801</commentid>
    <comment_count>48</comment_count>
      <attachid>249862</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-03-31 15:37:13 -0700</bug_when>
    <thetext>Created attachment 249862
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081802</commentid>
    <comment_count>49</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-31 15:40:54 -0700</bug_when>
    <thetext>Attachment 249862 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/parser/Parser.h:736:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:737:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:781:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:801:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 5 in 53 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081810</commentid>
    <comment_count>50</comment_count>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-03-31 15:48:39 -0700</bug_when>
    <thetext>(In reply to comment #47)
&gt; Comment on attachment 249664 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=249664&amp;action=review
&gt; 
&gt; Looking pretty good. Some comments below:
&gt; 
&gt; &gt; Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:1752
&gt; &gt; +    RegisterID* value = emitThisNodeBytecode(r0, n-&gt;position());
&gt; 
&gt; I don&apos;t think this is doing exactly what you want here.
&gt; r0 here is the destination of this function expression, and you will 
&gt; move lexical &apos;this&apos; into this destination, then, you will override that
&gt; with the function expression. I don&apos;t think this is the intention. I&apos;m
&gt; not exactly sure of the consequences of this are, but it may be easier to
&gt; get rid of the ::emitThisNodeBytecode function, and just do this here:
&gt; ```RegiserID* value = emitMove(newTemporary(), thisRegister()),``
&gt; or, you may even just be able to do:
&gt; ```instructions().append(thisRegister()-&gt;index())```
&gt; 
&gt; &gt; Source/JavaScriptCore/jit/JITOpcodes.cpp:985
&gt; &gt; +    emitGetVirtualRegister(currentInstruction[4].u.operand, regT1);
&gt; 
&gt; I don&apos;t think you want to load &apos;this&apos; after the above branch because
&gt; you need it at the branch destination. (same for 32-bit version below).
&gt; 
&gt; &gt; Source/JavaScriptCore/jit/JITOpcodes.cpp:995
&gt; &gt; +    FunctionExecutable* funcExpr = m_codeBlock-&gt;functionExpr(currentInstruction[3].u.operand);
&gt; 
&gt; Nit: I would call this &apos;executable&apos; or &apos;function&apos; or something other than
&gt; &apos;funcExpr&apos;.
&gt; 
&gt; &gt; Source/JavaScriptCore/jit/JITOperations.cpp:951
&gt; &gt; +    return JSValue::encode(JSBoundFunction::create(vm, globalObject, func, JSValue::decode(thisValue), boundArgs, 0, &quot;&quot;));
&gt; 
&gt; Maybe we should give this a name here instead of &quot;&quot;?
&gt; We should investigate this.
&gt; 
&gt; Also, is 0 the correct thing to pass here?
&gt; I&apos;m not really sure what that does.
&gt; 
&gt; &gt; Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:1013
&gt; &gt; +    LLINT_RETURN(JSBoundFunction::create(vm, globalObject, func, thisValue, boundArgs, 0, &quot;&quot;));
&gt; 
&gt; ditto.
&gt; 
&gt; Also, maybe it&apos;s worth having some kind of helper function here 
&gt; because this function is so similar to the above.
&gt; 
&gt; &gt; Source/JavaScriptCore/parser/Parser.cpp:1538
&gt; &gt; +{
&gt; 
&gt; I still think this function has too much code in common with
&gt; ::parseFunctionInfo,
&gt; we should abstract away the common bits.
&gt; 
&gt; &gt; Source/JavaScriptCore/parser/Parser.cpp:2080
&gt; &gt; +#endif
&gt; 
&gt; Nit: I think that can just be one contiguous region, not need for #endif
&gt; then #if
&gt; 
&gt; &gt; Source/JavaScriptCore/parser/Parser.h:560
&gt; &gt; +    const SourceProviderCacheItem* findCachedFunctionInfo(int openBracePos)
&gt; 
&gt; Nit: whitespace
&gt; 
&gt; &gt; Source/JavaScriptCore/parser/Parser.h:568
&gt; &gt; +    void didFinishParsing(SourceElements*, DeclarationStacks::VarStack&amp;,
&gt; 
&gt; ditto
&gt; 
&gt; &gt; Source/JavaScriptCore/tests/stress/arrowfunction.js:1
&gt; &gt; +var result;
&gt; 
&gt; I think we need some tests for lexical &apos;this&apos;.

I really appreciate your feedback. It allow to fix several failing tests. 
I&apos;ve tried to fix most of the comments with new patch. I&apos;ll provide more detail for each your comments after checking the build by CI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082098</commentid>
    <comment_count>51</comment_count>
      <attachid>249940</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-01 13:53:08 -0700</bug_when>
    <thetext>Created attachment 249940
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082100</commentid>
    <comment_count>52</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-01 13:56:41 -0700</bug_when>
    <thetext>Attachment 249940 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/parser/Parser.h:736:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:737:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:781:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:801:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 5 in 53 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082102</commentid>
    <comment_count>53</comment_count>
      <attachid>249664</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-01 14:12:07 -0700</bug_when>
    <thetext>Comment on attachment 249664
Patch

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

&gt;&gt; Source/JavaScriptCore/jit/JITOpcodes.cpp:985
&gt;&gt; +    emitGetVirtualRegister(currentInstruction[4].u.operand, regT1);
&gt; 
&gt; I don&apos;t think you want to load &apos;this&apos; after the above branch because
&gt; you need it at the branch destination. (same for 32-bit version below).

I&apos;ve changed position of the loading &apos;this&apos;. I&apos;m hope it fixed

&gt;&gt; Source/JavaScriptCore/jit/JITOpcodes.cpp:995
&gt;&gt; +    FunctionExecutable* funcExpr = m_codeBlock-&gt;functionExpr(currentInstruction[3].u.operand);
&gt; 
&gt; Nit: I would call this &apos;executable&apos; or &apos;function&apos; or something other than &apos;funcExpr&apos;.

done

&gt;&gt; Source/JavaScriptCore/jit/JITOperations.cpp:951
&gt;&gt; +    return JSValue::encode(JSBoundFunction::create(vm, globalObject, func, JSValue::decode(thisValue), boundArgs, 0, &quot;&quot;));
&gt; 
&gt; Maybe we should give this a name here instead of &quot;&quot;?
&gt; We should investigate this.
&gt; 
&gt; Also, is 0 the correct thing to pass here?
&gt; I&apos;m not really sure what that does.

Not sure that we should add the name of the function. I&apos;ve checked this parameters with on following code 
var f = function (x) { return x + 1}.bind(this); and name had value &quot;&quot; and number of additional parameters  were 0.

&gt;&gt; Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:1013
&gt;&gt; +    LLINT_RETURN(JSBoundFunction::create(vm, globalObject, func, thisValue, boundArgs, 0, &quot;&quot;));
&gt; 
&gt; ditto.
&gt; 
&gt; Also, maybe it&apos;s worth having some kind of helper function here 
&gt; because this function is so similar to the above.

I&apos;ve tried to eliminate of code duplication by using DEFINE. Is it correct to use this approach in such cases?

&gt;&gt; Source/JavaScriptCore/parser/Parser.cpp:1538
&gt;&gt; +{
&gt; 
&gt; I still think this function has too much code in common with ::parseFunctionInfo,
&gt; we should abstract away the common bits.

I&apos;ve merged parseArrowFunctionInfo with parseFunctionInfo and parseArrowFunctioBody with  parseFunctionBody. Hope they are still readable.

&gt;&gt; Source/JavaScriptCore/parser/Parser.cpp:2080
&gt;&gt; +#endif
&gt; 
&gt; Nit: I think that can just be one contiguous region, not need for #endif then #if

Done

&gt;&gt; Source/JavaScriptCore/tests/stress/arrowfunction.js:1
&gt;&gt; +var result;
&gt; 
&gt; I think we need some tests for lexical &apos;this&apos;.

I&apos;ve added one more Source/JavaScriptCore/tests/stress/arrowfunction-lexicalthis.js file to  test lexical &apos;this&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082105</commentid>
    <comment_count>54</comment_count>
      <attachid>249942</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-01 14:38:59 -0700</bug_when>
    <thetext>Created attachment 249942
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082106</commentid>
    <comment_count>55</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-01 14:41:49 -0700</bug_when>
    <thetext>Attachment 249942 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/parser/Parser.h:736:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:737:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:781:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:801:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 5 in 53 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082114</commentid>
    <comment_count>56</comment_count>
      <attachid>249946</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-01 15:12:33 -0700</bug_when>
    <thetext>Created attachment 249946
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082116</commentid>
    <comment_count>57</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-01 15:15:36 -0700</bug_when>
    <thetext>Attachment 249946 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/parser/Parser.h:736:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:737:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:781:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:801:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 5 in 53 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082195</commentid>
    <comment_count>58</comment_count>
      <attachid>249965</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-02 02:23:47 -0700</bug_when>
    <thetext>Created attachment 249965
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082196</commentid>
    <comment_count>59</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-02 02:26:49 -0700</bug_when>
    <thetext>Attachment 249965 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/parser/Parser.h:736:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:737:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:781:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:801:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 5 in 53 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082197</commentid>
    <comment_count>60</comment_count>
      <attachid>249966</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-02 02:39:52 -0700</bug_when>
    <thetext>Created attachment 249966
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082198</commentid>
    <comment_count>61</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-02 02:42:18 -0700</bug_when>
    <thetext>Attachment 249966 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/parser/Parser.h:736:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:737:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:781:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:801:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 5 in 53 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082199</commentid>
    <comment_count>62</comment_count>
      <attachid>249967</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-02 03:02:10 -0700</bug_when>
    <thetext>Created attachment 249967
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082200</commentid>
    <comment_count>63</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-02 03:03:46 -0700</bug_when>
    <thetext>Attachment 249967 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/parser/Parser.h:736:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:737:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:781:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:801:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 5 in 53 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082203</commentid>
    <comment_count>64</comment_count>
      <attachid>249968</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-02 04:11:26 -0700</bug_when>
    <thetext>Created attachment 249968
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082204</commentid>
    <comment_count>65</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-02 04:14:16 -0700</bug_when>
    <thetext>Attachment 249968 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/parser/Parser.h:736:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:737:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:781:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:801:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 5 in 53 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082262</commentid>
    <comment_count>66</comment_count>
      <attachid>249968</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-04-02 10:24:26 -0700</bug_when>
    <thetext>Comment on attachment 249968
Patch

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

I ran out of the time to review mid way but this should be a plenty of feedback to work on :)

&gt; Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:1768
&gt; +    instructions().append(thisRegister()-&gt;index());

Are we emitting a TDZ check if an arrow function is used inside a derived class&apos; constructor before super() is called?
e.g. new (class extends (class {}) { () =&gt; this; super(); }) should throw a ReferenceError instead of crashing.

Please add a stress test too.

&gt; Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:1772
&gt; +RegisterID* BytecodeGenerator::emitThisNodeBytecode(RegisterID* dst, JSTextPosition position)

How is this code different at all from what&apos;s in ThisNode::emitBytecode?
I don&apos;t think we should duplicate this much code in two places.

&gt; Source/JavaScriptCore/jit/JITOperations.cpp:47
&gt; +#if ENABLE(ES6_ARROWFUNCTION_SYNTAX)
&gt; +#include &quot;JSArrowFunction.h&quot;
&gt; +#endif

We should probably be checking this inside JSArrowFunction.h

&gt; Source/JavaScriptCore/jit/JITOperations.h:121
&gt; +#if ENABLE(ES6_ARROWFUNCTION_SYNTAX)
&gt; +typedef EncodedJSValue JIT_OPERATION (*J_JITOperation_EJscCJ)(ExecState*, JSScope*, JSCell*, EncodedJSValue);
&gt; +#endif

I don&apos;t think we need to if-def op codes like this.  e.g. op_check_tdz is used only when class syntax is enabled but we don&apos;t if-def it.

&gt; Source/JavaScriptCore/parser/Parser.cpp:598
&gt; +    bool correcArrowFinish = isEndOfArrowFunction() || match(EOFTOK);

Typo: correc*t*.  How is this condition different from autoSemiColon()?
It seems that we need to document the difference one way or another.

&gt; Source/JavaScriptCore/parser/Parser.cpp:1198
&gt; +    bool handled = false;

This variable is unnecessary.

&gt; Source/JavaScriptCore/parser/Parser.cpp:1206
&gt; +            handled = true;

We should just call context.setEndOffset and return here instead.

&gt; Source/JavaScriptCore/parser/Parser.cpp:1457
&gt; +    if (parseType == ArrowFunctionParseType) {

We should either use switch here or assert that parseType == ArrowFunctionParseType if the previous if evaluated to false.
Also, can we do a refactoring to put the original code into a separate helper function in a separate patch so that the diff here is readable?
As is, it&apos;s hard to review...

&gt; Source/JavaScriptCore/parser/Parser.cpp:1523
&gt; +        if (parseType == ArrowFunctionParseType) {
&gt; +            info.arrowFunctionBodyType = cachedInfo-&gt;isBodyArrowFunctionBlock ? ArrowFunctionBodyBlock : ArrowFunctionBodyExpression;

Why do we need to condition this based on parseType?
Since arrowFunctionBodyType is never used, it should be fine to always set info.arrowFunctionBodyType.

&gt; Source/JavaScriptCore/parser/Parser.cpp:1528
&gt; +            m_token = info.arrowFunctionBodyType == ArrowFunctionBodyBlock ? cachedInfo-&gt;closeBraceToken() : cachedInfo-&gt;endArrowFunctionToken();
&gt; +        } else
&gt; +            m_token = cachedInfo-&gt;closeBraceToken();
&gt; +#else   
&gt;          m_token = cachedInfo-&gt;closeBraceToken();

Can&apos;t we just add endFunctionToken to cacheInfo instead?

&gt; Source/JavaScriptCore/parser/Parser.cpp:1544
&gt; +        if (parseType == ArrowFunctionParseType) {
&gt; +            if (info.arrowFunctionBodyType == ArrowFunctionBodyBlock)
&gt; +                next();
&gt; +        } else
&gt; +            next();

!?  Why not (parseType != ArrowFunctionParseType || info.arrowFunctionBodyType == ArrowFunctionBodyBlock)?

&gt; Source/JavaScriptCore/parser/Parser.cpp:1629
&gt; +    if (parseType == ArrowFunctionParseType) {
&gt; +        if (info.arrowFunctionBodyType == ArrowFunctionBodyBlock) {
&gt; +            matchOrFail(CLOSEBRACE, &quot;Expected a closing &apos;}&apos; after a &quot;, stringForFunctionMode(mode), &quot; body&quot;);
&gt; +            next();
&gt; +        } else

It looks like these two conditions can be combined into parseType == ArrowFunctionParseType &amp;&amp; info.arrowFunctionBodyType != ArrowFunctionBodyBlock
to run the code in else since the statement in the inner if and the outer else are identical.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082550</commentid>
    <comment_count>67</comment_count>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-03 07:20:35 -0700</bug_when>
    <thetext>Ryosuke Niwa  Thanks for the review!
I&apos;ll try to fix soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083899</commentid>
    <comment_count>68</comment_count>
      <attachid>250421</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-09 00:07:02 -0700</bug_when>
    <thetext>Created attachment 250421
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083900</commentid>
    <comment_count>69</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-09 00:08:38 -0700</bug_when>
    <thetext>Attachment 250421 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/parser/Parser.h:736:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:737:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:781:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:801:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 5 in 53 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083908</commentid>
    <comment_count>70</comment_count>
      <attachid>249968</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-09 00:45:19 -0700</bug_when>
    <thetext>Comment on attachment 249968
Patch

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

&gt;&gt; Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:1768
&gt;&gt; +    instructions().append(thisRegister()-&gt;index());
&gt; 
&gt; Are we emitting a TDZ check if an arrow function is used inside a derived class&apos; constructor before super() is called?
&gt; e.g. new (class extends (class {}) { () =&gt; this; super(); }) should throw a ReferenceError instead of crashing.
&gt; 
&gt; Please add a stress test too.

I&apos;ve added test Source/JavaScriptCore/tests/stress/arrowfunction-tdz.js.

&gt;&gt; Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:1772
&gt;&gt; +RegisterID* BytecodeGenerator::emitThisNodeBytecode(RegisterID* dst, JSTextPosition position)
&gt; 
&gt; How is this code different at all from what&apos;s in ThisNode::emitBytecode?
&gt; I don&apos;t think we should duplicate this much code in two places.

Removed duplication.

&gt;&gt; Source/JavaScriptCore/jit/JITOperations.cpp:47
&gt;&gt; +#endif
&gt; 
&gt; We should probably be checking this inside JSArrowFunction.h

Done.

&gt;&gt; Source/JavaScriptCore/jit/JITOperations.h:121
&gt;&gt; +#endif
&gt; 
&gt; I don&apos;t think we need to if-def op codes like this.  e.g. op_check_tdz is used only when class syntax is enabled but we don&apos;t if-def it.

removed if-def

&gt;&gt; Source/JavaScriptCore/parser/Parser.cpp:598
&gt;&gt; +    bool correcArrowFinish = isEndOfArrowFunction() || match(EOFTOK);
&gt; 
&gt; Typo: correc*t*.  How is this condition different from autoSemiColon()?
&gt; It seems that we need to document the difference one way or another.

I&apos;ll take a look deeper in autoSemiColon(), possible this functions both do the same.

&gt;&gt; Source/JavaScriptCore/parser/Parser.cpp:1198
&gt;&gt; +    bool handled = false;
&gt; 
&gt; This variable is unnecessary.

Done

&gt;&gt; Source/JavaScriptCore/parser/Parser.cpp:1206
&gt;&gt; +            handled = true;
&gt; 
&gt; We should just call context.setEndOffset and return here instead.

Done

&gt;&gt; Source/JavaScriptCore/parser/Parser.cpp:1457
&gt;&gt; +    if (parseType == ArrowFunctionParseType) {
&gt; 
&gt; We should either use switch here or assert that parseType == ArrowFunctionParseType if the previous if evaluated to false.
&gt; Also, can we do a refactoring to put the original code into a separate helper function in a separate patch so that the diff here is readable?
&gt; As is, it&apos;s hard to review...

I&apos;ll try to refactor to increase patch readability this weekend.

&gt;&gt; Source/JavaScriptCore/parser/Parser.cpp:1528
&gt;&gt;          m_token = cachedInfo-&gt;closeBraceToken();
&gt; 
&gt; Can&apos;t we just add endFunctionToken to cacheInfo instead?

Introduced new function with name endFunctionToken instead of closeBraceToken() &amp; endArrowFunctionToken

&gt;&gt; Source/JavaScriptCore/parser/Parser.cpp:1544
&gt;&gt; +            next();
&gt; 
&gt; !?  Why not (parseType != ArrowFunctionParseType || info.arrowFunctionBodyType == ArrowFunctionBodyBlock)?

Fixed

&gt;&gt; Source/JavaScriptCore/parser/Parser.cpp:1629
&gt;&gt; +        } else
&gt; 
&gt; It looks like these two conditions can be combined into parseType == ArrowFunctionParseType &amp;&amp; info.arrowFunctionBodyType != ArrowFunctionBodyBlock
&gt; to run the code in else since the statement in the inner if and the outer else are identical.

Done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083913</commentid>
    <comment_count>71</comment_count>
      <attachid>250425</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-09 01:15:34 -0700</bug_when>
    <thetext>Created attachment 250425
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083914</commentid>
    <comment_count>72</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-09 01:17:46 -0700</bug_when>
    <thetext>Attachment 250425 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/parser/Parser.h:736:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:737:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:781:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:801:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 5 in 54 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083928</commentid>
    <comment_count>73</comment_count>
      <attachid>250430</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-09 02:21:01 -0700</bug_when>
    <thetext>Created attachment 250430
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083929</commentid>
    <comment_count>74</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-09 02:24:04 -0700</bug_when>
    <thetext>Attachment 250430 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/parser/Parser.h:736:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:737:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:781:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:801:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 5 in 54 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083945</commentid>
    <comment_count>75</comment_count>
      <attachid>250437</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-09 05:46:23 -0700</bug_when>
    <thetext>Created attachment 250437
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083946</commentid>
    <comment_count>76</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-09 05:48:16 -0700</bug_when>
    <thetext>Attachment 250437 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/parser/Parser.h:736:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:737:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:781:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:801:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 5 in 54 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083947</commentid>
    <comment_count>77</comment_count>
      <attachid>250438</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-09 06:27:30 -0700</bug_when>
    <thetext>Created attachment 250438
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1083948</commentid>
    <comment_count>78</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-09 06:30:16 -0700</bug_when>
    <thetext>Attachment 250438 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/parser/Parser.h:736:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:737:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:781:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:801:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 5 in 55 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084693</commentid>
    <comment_count>79</comment_count>
      <attachid>250618</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-12 14:09:14 -0700</bug_when>
    <thetext>Created attachment 250618
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084741</commentid>
    <comment_count>80</comment_count>
      <attachid>250626</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-13 00:07:52 -0700</bug_when>
    <thetext>Created attachment 250626
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084744</commentid>
    <comment_count>81</comment_count>
      <attachid>250628</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-13 00:22:37 -0700</bug_when>
    <thetext>Created attachment 250628
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084749</commentid>
    <comment_count>82</comment_count>
      <attachid>250629</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-13 01:01:51 -0700</bug_when>
    <thetext>Created attachment 250629
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084762</commentid>
    <comment_count>83</comment_count>
      <attachid>250633</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-13 04:09:04 -0700</bug_when>
    <thetext>Created attachment 250633
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084835</commentid>
    <comment_count>84</comment_count>
      <attachid>250643</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-13 09:47:49 -0700</bug_when>
    <thetext>Created attachment 250643
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084844</commentid>
    <comment_count>85</comment_count>
      <attachid>250647</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-13 09:57:45 -0700</bug_when>
    <thetext>Created attachment 250647
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084846</commentid>
    <comment_count>86</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-13 10:01:41 -0700</bug_when>
    <thetext>Attachment 250647 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/parser/Parser.h:738:  The parameter name &quot;type&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:777:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:796:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 4 in 55 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084851</commentid>
    <comment_count>87</comment_count>
      <attachid>250649</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-13 10:18:01 -0700</bug_when>
    <thetext>Created attachment 250649
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084859</commentid>
    <comment_count>88</comment_count>
      <attachid>250651</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-13 10:26:46 -0700</bug_when>
    <thetext>Created attachment 250651
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084867</commentid>
    <comment_count>89</comment_count>
      <attachid>250656</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-13 10:42:02 -0700</bug_when>
    <thetext>Created attachment 250656
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1085879</commentid>
    <comment_count>90</comment_count>
      <attachid>250911</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-16 04:54:09 -0700</bug_when>
    <thetext>Created attachment 250911
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1085881</commentid>
    <comment_count>91</comment_count>
      <attachid>250912</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-16 05:02:28 -0700</bug_when>
    <thetext>Created attachment 250912
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086327</commentid>
    <comment_count>92</comment_count>
      <attachid>250912</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-04-17 09:15:33 -0700</bug_when>
    <thetext>Comment on attachment 250912
Patch

Please rebase the patch again so it applies and the EWS can run the tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086356</commentid>
    <comment_count>93</comment_count>
      <attachid>251029</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-17 11:03:39 -0700</bug_when>
    <thetext>Created attachment 251029
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086387</commentid>
    <comment_count>94</comment_count>
      <attachid>251037</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-17 12:17:32 -0700</bug_when>
    <thetext>Created attachment 251037
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086389</commentid>
    <comment_count>95</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-17 12:19:32 -0700</bug_when>
    <thetext>Attachment 251037 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/parser/Parser.h:738:  The parameter name &quot;type&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:777:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:796:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 4 in 64 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086432</commentid>
    <comment_count>96</comment_count>
      <attachid>251050</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-17 14:47:07 -0700</bug_when>
    <thetext>Created attachment 251050
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086441</commentid>
    <comment_count>97</comment_count>
      <attachid>251055</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-17 15:00:21 -0700</bug_when>
    <thetext>Created attachment 251055
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086443</commentid>
    <comment_count>98</comment_count>
      <attachid>251056</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-17 15:13:47 -0700</bug_when>
    <thetext>Created attachment 251056
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086444</commentid>
    <comment_count>99</comment_count>
      <attachid>251057</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-17 15:20:05 -0700</bug_when>
    <thetext>Created attachment 251057
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086445</commentid>
    <comment_count>100</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-17 15:22:28 -0700</bug_when>
    <thetext>Attachment 251057 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/parser/Parser.h:738:  The parameter name &quot;type&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:777:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:796:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 4 in 64 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086458</commentid>
    <comment_count>101</comment_count>
      <attachid>251059</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-17 15:50:45 -0700</bug_when>
    <thetext>Created attachment 251059
Patch.1(Init)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086461</commentid>
    <comment_count>102</comment_count>
      <attachid>251061</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-17 15:55:17 -0700</bug_when>
    <thetext>Created attachment 251061
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086464</commentid>
    <comment_count>103</comment_count>
      <attachid>251063</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-17 16:03:50 -0700</bug_when>
    <thetext>Created attachment 251063
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086467</commentid>
    <comment_count>104</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-17 16:07:53 -0700</bug_when>
    <thetext>Attachment 251063 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/parser/Parser.h:738:  The parameter name &quot;type&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:777:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:796:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 4 in 64 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086530</commentid>
    <comment_count>105</comment_count>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-18 00:24:24 -0700</bug_when>
    <thetext>(In reply to comment #92)
&gt; Comment on attachment 250912 [details]
&gt; Patch
&gt; 
&gt; Please rebase the patch again so it applies and the EWS can run the tests.

Done!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086674</commentid>
    <comment_count>106</comment_count>
      <attachid>251129</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-19 14:25:59 -0700</bug_when>
    <thetext>Created attachment 251129
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086675</commentid>
    <comment_count>107</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-19 14:29:53 -0700</bug_when>
    <thetext>Attachment 251129 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/parser/Parser.h:738:  The parameter name &quot;type&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:777:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:796:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 4 in 68 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086676</commentid>
    <comment_count>108</comment_count>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-04-19 14:42:04 -0700</bug_when>
    <thetext>(In reply to comment #105)
&gt; (In reply to comment #92)
&gt; &gt; Comment on attachment 250912 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; Please rebase the patch again so it applies and the EWS can run the tests.
&gt; 
&gt; Done!

I&apos;ve made small refactoring and added new test. It would be great to have new review :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086678</commentid>
    <comment_count>109</comment_count>
      <attachid>251129</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-04-19 15:05:45 -0700</bug_when>
    <thetext>Comment on attachment 251129
Patch

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

&gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:3755
&gt; +#if ENABLE(ES6_ARROWFUNCTION_SYNTAX)
&gt; +        case op_new_arrow_func_exp: {
&gt; +            FunctionExecutable* expr = m_inlineStackTop-&gt;m_profiledBlock-&gt;functionExpr(currentInstruction[3].u.operand);
&gt; +            FrozenValue* frozen = m_graph.freezeStrong(expr);
&gt; +            set(VirtualRegister(currentInstruction[1].u.operand),
&gt; +                addToGraph(NewFunction, OpInfo(frozen), get(VirtualRegister(currentInstruction[2].u.operand))));
&gt; +            NEXT_OPCODE(op_new_arrow_func_exp);
&gt; +        }
&gt; +#endif

This looks like it has to be wrong since you&apos;re not using operand 4.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090764</commentid>
    <comment_count>110</comment_count>
      <attachid>252149</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-05-01 06:06:13 -0700</bug_when>
    <thetext>Created attachment 252149
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090848</commentid>
    <comment_count>111</comment_count>
      <attachid>252164</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-05-01 12:19:53 -0700</bug_when>
    <thetext>Created attachment 252164
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090898</commentid>
    <comment_count>112</comment_count>
      <attachid>252174</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-05-01 15:17:57 -0700</bug_when>
    <thetext>Created attachment 252174
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090899</commentid>
    <comment_count>113</comment_count>
      <attachid>252175</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-05-01 15:22:31 -0700</bug_when>
    <thetext>Created attachment 252175
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090940</commentid>
    <comment_count>114</comment_count>
      <attachid>252184</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-05-01 16:00:54 -0700</bug_when>
    <thetext>Created attachment 252184
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090953</commentid>
    <comment_count>115</comment_count>
      <attachid>252189</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-05-01 16:18:02 -0700</bug_when>
    <thetext>Created attachment 252189
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090956</commentid>
    <comment_count>116</comment_count>
      <attachid>252191</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-05-01 16:26:11 -0700</bug_when>
    <thetext>Created attachment 252191
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090981</commentid>
    <comment_count>117</comment_count>
      <attachid>252199</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-05-01 16:55:21 -0700</bug_when>
    <thetext>Created attachment 252199
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090990</commentid>
    <comment_count>118</comment_count>
      <attachid>252201</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-05-01 17:14:52 -0700</bug_when>
    <thetext>Created attachment 252201
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090995</commentid>
    <comment_count>119</comment_count>
      <attachid>252204</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-05-01 17:30:08 -0700</bug_when>
    <thetext>Created attachment 252204
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090998</commentid>
    <comment_count>120</comment_count>
      <attachid>252205</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-05-01 17:37:19 -0700</bug_when>
    <thetext>Created attachment 252205
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091001</commentid>
    <comment_count>121</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-01 17:41:42 -0700</bug_when>
    <thetext>Attachment 252205 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/parser/Parser.h:738:  The parameter name &quot;type&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:777:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/parser/Parser.h:802:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 4 in 87 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091048</commentid>
    <comment_count>122</comment_count>
      <attachid>252205</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-05-01 23:28:13 -0700</bug_when>
    <thetext>Comment on attachment 252205
Patch

It strange that gtk-wk2/elf-wk2 build were failed. I didn&apos;t do anything gtk-wk2/elf-wk2 related in my source code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091280</commentid>
    <comment_count>123</comment_count>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-05-03 16:13:57 -0700</bug_when>
    <thetext>(In reply to comment #109)
&gt; Comment on attachment 251129 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=251129&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:3755
&gt; &gt; +#if ENABLE(ES6_ARROWFUNCTION_SYNTAX)
&gt; &gt; +        case op_new_arrow_func_exp: {
&gt; &gt; +            FunctionExecutable* expr = m_inlineStackTop-&gt;m_profiledBlock-&gt;functionExpr(currentInstruction[3].u.operand);
&gt; &gt; +            FrozenValue* frozen = m_graph.freezeStrong(expr);
&gt; &gt; +            set(VirtualRegister(currentInstruction[1].u.operand),
&gt; &gt; +                addToGraph(NewFunction, OpInfo(frozen), get(VirtualRegister(currentInstruction[2].u.operand))));
&gt; &gt; +            NEXT_OPCODE(op_new_arrow_func_exp);
&gt; &gt; +        }
&gt; &gt; +#endif
&gt; 
&gt; This looks like it has to be wrong since you&apos;re not using operand 4.

Thanks for review. Comment is fixed in new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091907</commentid>
    <comment_count>124</comment_count>
      <attachid>252411</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-05-05 15:21:07 -0700</bug_when>
    <thetext>Created attachment 252411
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091909</commentid>
    <comment_count>125</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-05 15:24:23 -0700</bug_when>
    <thetext>Attachment 252411 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/parser/Parser.h:738:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 2 in 87 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091912</commentid>
    <comment_count>126</comment_count>
      <attachid>252412</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-05-05 15:31:52 -0700</bug_when>
    <thetext>Created attachment 252412
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091915</commentid>
    <comment_count>127</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-05 15:36:24 -0700</bug_when>
    <thetext>Attachment 252412 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/parser/Parser.h:738:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 2 in 87 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091924</commentid>
    <comment_count>128</comment_count>
      <attachid>252416</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-05-05 16:00:44 -0700</bug_when>
    <thetext>Created attachment 252416
Patch.2(Main)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091926</commentid>
    <comment_count>129</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-05 16:04:53 -0700</bug_when>
    <thetext>Attachment 252416 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/parser/Parser.h:738:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 2 in 88 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091940</commentid>
    <comment_count>130</comment_count>
      <attachid>252416</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-05-05 16:23:07 -0700</bug_when>
    <thetext>Comment on attachment 252416
Patch.2(Main)

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

&gt; Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:1541
&gt; +#if ENABLE(ES6_ARROWFUNCTION_SYNTAX)

Why do you need this guard?  I recommend adding the arraowFunctionStructure() to JSGlobalObject unconditionally.

&gt; Source/JavaScriptCore/dfg/DFGCapabilities.cpp:234
&gt; +    case op_new_arrow_func_exp: // Fixme: Arrow function cann&apos;t be inline as the common function because it has lexicaly bind this/arguments and etc. and  arrow function has to have its own compile and inline approach.

I don&apos;t buy this comment at all.  Sounds like either there is a horrible bug, or you could just allow it.

&gt; Source/JavaScriptCore/dfg/DFGStructureRegistrationPhase.cpp:134
&gt; +#if ENABLE(ES6_ARROWFUNCTION_SYNTAX)

Ditto to my previous.  Get rid of this guard.

&gt; Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:2992
&gt; +    void compileNewArrowFunction()

If you&apos;re going to implement it in the FTL, then also implement it in DFG.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1092692</commentid>
    <comment_count>131</comment_count>
      <attachid>252606</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-05-07 12:18:20 -0700</bug_when>
    <thetext>Created attachment 252606
Patch.3(Fix review Comments)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1092705</commentid>
    <comment_count>132</comment_count>
      <attachid>252416</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-05-07 13:03:27 -0700</bug_when>
    <thetext>Comment on attachment 252416
Patch.2(Main)

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

I&apos;ve added separate patch with fixes.

&gt;&gt; Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:1541
&gt;&gt; +#if ENABLE(ES6_ARROWFUNCTION_SYNTAX)
&gt; 
&gt; Why do you need this guard?  I recommend adding the arraowFunctionStructure() to JSGlobalObject unconditionally.

Done

&gt;&gt; Source/JavaScriptCore/dfg/DFGCapabilities.cpp:234
&gt;&gt; +    case op_new_arrow_func_exp: // Fixme: Arrow function cann&apos;t be inline as the common function because it has lexicaly bind this/arguments and etc. and  arrow function has to have its own compile and inline approach.
&gt; 
&gt; I don&apos;t buy this comment at all.  Sounds like either there is a horrible bug, or you could just allow it.

Implemented.

&gt;&gt; Source/JavaScriptCore/dfg/DFGStructureRegistrationPhase.cpp:134
&gt;&gt; +#if ENABLE(ES6_ARROWFUNCTION_SYNTAX)
&gt; 
&gt; Ditto to my previous.  Get rid of this guard.

Done.

&gt;&gt; Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:2992
&gt;&gt; +    void compileNewArrowFunction()
&gt; 
&gt; If you&apos;re going to implement it in the FTL, then also implement it in DFG.

I&apos;ve implemented it in DFG.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1092771</commentid>
    <comment_count>133</comment_count>
      <attachid>252633</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-05-07 15:04:33 -0700</bug_when>
    <thetext>Created attachment 252633
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1092777</commentid>
    <comment_count>134</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-07 15:09:03 -0700</bug_when>
    <thetext>Attachment 252633 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/parser/Parser.h:738:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 2 in 93 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1092805</commentid>
    <comment_count>135</comment_count>
      <attachid>252637</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-05-07 15:38:14 -0700</bug_when>
    <thetext>Created attachment 252637
Full patch. Used for test build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1092808</commentid>
    <comment_count>136</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-07 15:43:45 -0700</bug_when>
    <thetext>Attachment 252637 did not pass style-queue:


ERROR: Source/JavaScriptCore/parser/ParserTokens.h:79:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/parser/Parser.h:738:  The parameter name &quot;functionParseType&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 2 in 93 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1094531</commentid>
    <comment_count>137</comment_count>
      <attachid>251059</attachid>
    <who name="GSkachkov">gskachkov</who>
    <bug_when>2015-05-13 12:26:02 -0700</bug_when>
    <thetext>Comment on attachment 251059
Patch.1(Init)

Patch moved in subtask. https://bugs.webkit.org/show_bug.cgi?id=144954</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125672</commentid>
    <comment_count>138</comment_count>
      <attachid>251059</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-09-14 11:13:57 -0700</bug_when>
    <thetext>Comment on attachment 251059
Patch.1(Init)

Cleared Filip Pizlo&apos;s review+ from obsolete attachment 251059 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1259124</commentid>
    <comment_count>139</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-12-12 11:05:18 -0800</bug_when>
    <thetext>Can this bug be closed now? We&apos;ve had support for Arrow functions for a while. Or are the remaining bugs this depends on still relevant?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1259277</commentid>
    <comment_count>140</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-12-12 17:03:49 -0800</bug_when>
    <thetext>I think this should be closed. All things left are optimizations and miscellaneous things, which aren&apos;t blocking the actual feature.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247543</attachid>
            <date>2015-02-27 13:37:34 -0800</date>
            <delta_ts>2015-02-27 18:23:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150227233717.patch</filename>
            <type>text/plain</type>
            <size>129367</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwNjg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
NDEzYmJiZDFjMDdmMmQwMGVkZDNhMGE0NGFlYWFmZWNhMGVkMmRhLi4yNDdhMzhjZDM4OWE1OTMy
MzMyN2U0Y2E0ZmFkMjJjNzUzMDIzNjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3NyBAQAorMjAxNS0wMi0yNyAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21h
aWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3lu
dGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4
NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIHBhcnNlci9B
U1RCdWlsZGVyLmg6CisgICAgICAgIChKU0M6OkFTVEJ1aWxkZXI6OmNyZWF0ZUFycm93RnVuY3Rp
b25FeHByKToKKyAgICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6Y3JlYXRlQXJyb3dGdW5jRGVjbFN0
YXRlbWVudCk6CisgICAgICAgIChKU0M6OkFTVEJ1aWxkZXI6OmNyZWF0ZVdpdGhTdGF0ZW1lbnQp
OgorICAgICAgICAoSlNDOjpBU1RCdWlsZGVyOjp1c2VzRXZhbCk6CisgICAgICAgIChKU0M6OkFT
VEJ1aWxkZXI6Om1ha2VNb2ROb2RlKToKKyAgICAgICAgKiBwYXJzZXIvTGV4ZXIuY3BwOgorICAg
ICAgICAoSlNDOjpMZXhlcjxUPjo6c2V0Q29kZSk6CisgICAgICAgIChKU0M6OmlzVW5pY29kZUVz
Y2FwZUlkZW50UGFydCk6CisgICAgICAgIChKU0M6OmlzSWRlbnRQYXJ0SW5jbHVkaW5nRXNjYXBl
KToKKyAgICAgICAgKEpTQzo6TGV4ZXI8TENoYXI+OjpwYXJzZUlkZW50aWZpZXIpOgorICAgICAg
ICAoSlNDOjpMZXhlcjxVQ2hhcj46OnBhcnNlSWRlbnRpZmllcik6CisgICAgICAgIChKU0M6Okxl
eGVyPFQ+OjpuZXh0VG9rZW5Jc0NvbG9uKToKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OnNldFRv
a2VuUG9zaXRpb24pOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6bGV4KToKKyAgICAgICAgKEpT
Qzo6TGV4ZXI8VD46OnNjYW5SZWdFeHApOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6c2tpcFJl
Z0V4cCk6CisgICAgICAgICogcGFyc2VyL0xleGVyLmg6CisgICAgICAgIChKU0M6OkxleGVyPFQ+
OjpsZXhFeHBlY3RJZGVudGlmaWVyKToKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAg
ICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW5uZXIpOgorICAgICAgICAoSlND
OjpQYXJzZXI8TGV4ZXJUeXBlPjo6ZGlkRmluaXNoUGFyc2luZyk6CisgICAgICAgIChKU0M6OlBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsZW1lbnRzKToKKyAgICAgICAgKEpTQzo6UGFy
c2VyPExleGVyVHlwZT46OnBhcnNlVmFyRGVjbGFyYXRpb24pOiBEZWxldGVkLgorICAgICAgICAo
SlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VDb25zdERlY2xhcmF0aW9uKTogRGVsZXRlZC4K
KyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlV2hpbGVTdGF0ZW1lbnQpOiBE
ZWxldGVkLgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VWYXJEZWNsYXJh
dGlvbkxpc3QpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6Y3Jl
YXRlQmluZGluZ1BhdHRlcm4pOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4pOiBEZWxldGVkLgorICAgICAgICAoSlND
OjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGb3JTdGF0ZW1lbnQpOiBEZWxldGVkLgorICAgICAg
ICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VCcmVha1N0YXRlbWVudCk6IERlbGV0ZWQu
CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUNvbnRpbnVlU3RhdGVtZW50
KTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlVGhyb3dT
dGF0ZW1lbnQpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VXaXRoU3RhdGVtZW50KTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlU3dpdGNoU3RhdGVtZW50KTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6UGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlU3dpdGNoQ2xhdXNlcyk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6
OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVRyeVN0YXRlbWVudCk6IERlbGV0ZWQuCisgICAgICAg
IChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyk6IERlbGV0ZWQuCisg
ICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cHJlc3Npb25PckxhYmVsU3Rh
dGVtZW50KTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNl
SWZTdGF0ZW1lbnQpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbik6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OlBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUNvbmRpdGlvbmFsRXhwcmVzc2lvbik6IERlbGV0ZWQuCisgICAg
ICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUJpbmFyeUV4cHJlc3Npb24pOiBEZWxl
dGVkLgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0eSk6IERl
bGV0ZWQuCisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZU9iamVjdExpdGVy
YWwpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdHJp
Y3RPYmplY3RMaXRlcmFsKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlQXJyYXlMaXRlcmFsKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6UGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlc3Npb24pOiBEZWxldGVkLgorICAgICAgICAoSlND
OjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcmd1bWVudHMpOiBEZWxldGVkLgorICAgICAgICAo
SlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VNZW1iZXJFeHByZXNzaW9uKTogRGVsZXRlZC4K
KyAgICAgICAgKEpTQzo6b3BlcmF0b3JTdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VVbmFyeUV4cHJlc3Npb24pOiBEZWxldGVkLgorICAgICAg
ICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cHJpbnRVbmV4cGVjdGVkVG9rZW5UZXh0KTogRGVs
ZXRlZC4KKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmg6CisgICAgICAgIChKU0M6OlNjb3BlOjpk
ZWNsYXJlQm91bmRQYXJhbWV0ZXIpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OmZpbmRDYWNoZWRG
dW5jdGlvbkluZm8pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnNldEVuZE9mU3RhdGVtZW50KToK
KyAgICAgICAgKEpTQzo6UGFyc2VyOjpyZXN0b3JlU3RhdGUpOgorICAgICAgICAoSlNDOjpQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2UpOgorICAgICAgICAqIHBhcnNlci9QYXJzZXJUb2tlbnMuaDoK
KyAgICAgICAgKiBwYXJzZXIvU291cmNlQ29kZS5oOgorICAgICAgICAoSlNDOjpTb3VyY2VDb2Rl
OjpzdWJFeHByZXNzaW9uQXJyb3dGdW5jdGlvbik6CisgICAgICAgICogcGFyc2VyL1N5bnRheENo
ZWNrZXIuaDoKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6Y3JlYXRlQXJyb3dGdW5jdGlv
bkV4cHIpOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpvcGVyYXRvclN0YWNrUG9wKToK
KwogMjAxNS0wMi0yNiAgTWljaGFlbCBTYWJvZmYgIDxtc2Fib2ZmQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbV2luXSBEZWJ1Zy1vbmx5IEphdmFTY3JpcHRDb3JlIGZhaWx1cmVzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDNjYWY0
M2ZjNWM5NmUyY2FmMjIxZWRjZDE4ZjAzODdmZTdmMDE3M2YuLjNkNDg5ZmM3ZDhkZGQwZWJhMWZk
ZmNhZjhmNzBmZWJkYTMxM2EzODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTUtMDItMjcgIFNr
YWNoa292IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJ
bXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvRmVhdHVyZURlZmluZXMuaDoKKwogMjAx
NS0wMi0yNiAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBb
V2luXSBNYWtlIGJ1aWxkIGxvZ3MgbW9yZSBsZWdpYmxlIGJ5IHJlZHVjaW5nIG5vaXNlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggZmQ5NDA3NmUwZDk1ODQxYzI5NDQ2ZWFhNGJiNDk0NmU2Y2M1MzFlZC4uNjc2OTA1
YWVkNmY1ZTNjMDEzZjIyOTg0MzU2NDEzZDYzZGFlYzZiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE0IEBACisyMDE1LTAyLTI3ICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5j
b20+CisKKyAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGpz
L2Fycm93ZnVuY3Rpb24uaHRtbAorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWc6CisKIDIwMTUtMDItMjYgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3Vo
YWxsYXdhQGFwcGxlLmNvbT4KIAogICAgICAgICBDbGVhbnVwIFJlbmRlclNWR1Jlc291cmNlQ2xp
cHBlciBjbGFzcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCBjNmI0OTYyODAwMTk1MTU2MWM3OGFiOGM0
MGUxNWYxMjA5MGMzYTI1Li43ZDAwNDQ3OTJiMzAzNTk5ZmNhMTVjYzU3ZTA3ZmY5MmQ2OTBjYjg0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTUtMDItMjcgIFNrYWNoa292
IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1l
bnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZzoKKwogMjAxNS0wMi0yNCAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE4MDU5OS4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpp
bmRleCBkNTkyODRjNzNmNDc2OWM3MjdkMTlmNzRiY2NiODFiMDJiYzQ0ZmIyLi43MmFkMDNlNzU0
YWZlNWRkZmExZTQwMTkyNTllOTgxYTExMGEzNjhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIg
QEAKKzIwMTUtMDItMjcgIFNrYWNoa292IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4K
KworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxNS0wMi0yNSAgQW5kZXJzIENhcmxz
c29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCAodW51c2VkIGZvciBub3cp
IGNvZGUgdG8gZGVsZXRlIHdlYnNpdGUgZGF0YSBmb3IgYSBzZXQgb2Ygb3JpZ2lucwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCmluZGV4IGI3OWM0YzI1ZDI4NWUyZWFiYjAwM2VmYTkxZjhkZDRiNGNm
NjUyODguLjY5YmQ5YWIwMGUwZDUxNWQzYzE0MTMwNGE0MjZhZTViNWIyNGRiZTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0g
RU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xB
U1NfU1lOVEFYID0gOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9F
UzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBFTkFC
TEVfQ09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ1NQX05FWFQgPSA7CiBFTkFCTEVfQ1NTX0JP
WF9ERUNPUkFUSU9OX0JSRUFLID0gRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSzsKQEAg
LTIwOCw0ICsyMDksNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJB
VEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJ
QzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9M
TElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQp
ICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5B
QkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VT
Nl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1Bf
TkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09N
UE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dS
SURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVD
VE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChF
TkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAk
KEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JU
KSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1T
KSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikg
JChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIp
ICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVO
QUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xP
Q0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFC
TEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5B
QkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
TE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElN
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19W
RU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9M
RUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJM
RV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAk
KEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChF
TkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVf
TUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NP
TlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xP
Q0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJM
RV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FO
SU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JF
TU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxF
X1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVD
SF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRP
KSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJM
RV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkg
JChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJ
REVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFC
TEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJ
TykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJ
Q1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05T
KSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkg
JChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVU
SUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9
ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBU
SU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJ
T05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJM
RV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAk
KEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVO
QUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChF
TkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFC
TEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NT
UzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9W
SVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hC
T0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RS
QU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9P
UklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxU
RVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JF
RU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQo
RU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RU
TElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dP
UktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lO
UFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVT
U19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
SU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
TEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FV
RElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElB
X1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVO
VCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVf
TkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZ
KSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJM
RV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZF
TlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJM
RV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUp
ICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVF
UlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQo
RU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9T
VUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVS
VEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExB
VEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwp
ICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9W
QUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5B
QkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMp
ICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dF
QlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFC
TEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZ
T1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKaW5kZXggODg0MThmMTZhMjAwMjZi
MmE2YzAxZjNlMjY4MWQ2MGNkNWNmNzk5Ni4uZjhjNDM0NTNlYWRiOGFiZDM3YzllNjIwNzBmMmIy
YTQwYjQ2YTYxOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RC
dWlsZGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgK
QEAgLTU1LDggKzU1LDggQEAgY2xhc3MgQVNUQnVpbGRlciB7CiAgICAgICAgIEpTVGV4dFBvc2l0
aW9uIGVuZDsKICAgICAgICAgYm9vbCBoYXNBc3NpZ25tZW50OwogICAgIH07Ci0gICAgCi0gICAg
CisKKwogICAgIHN0cnVjdCBBc3NpZ25tZW50SW5mbyB7CiAgICAgICAgIEFzc2lnbm1lbnRJbmZv
KCkge30KICAgICAgICAgQXNzaWdubWVudEluZm8oRXhwcmVzc2lvbk5vZGUqIG5vZGUsIGNvbnN0
IEpTVGV4dFBvc2l0aW9uJiBzdGFydCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGRpdm90LCBpbnQg
aW5pdEFzc2lnbm1lbnRzLCBPcGVyYXRvciBvcCkKQEAgLTgzLDcgKzgzLDcgQEAgcHVibGljOgog
ICAgICAgICAsIG1fZXZhbENvdW50KDApCiAgICAgewogICAgIH0KLSAgICAKKwogICAgIHN0cnVj
dCBCaW5hcnlFeHByQ29udGV4dCB7CiAgICAgICAgIEJpbmFyeUV4cHJDb250ZXh0KEFTVEJ1aWxk
ZXImKSB7fQogICAgIH07CkBAIC0yOTgsMTEgKzI5OCwyMiBAQCBwdWJsaWM6CiAgICAgICAgIHJl
dHVybiBuZXcgKG1fcGFyc2VyQXJlbmEpIEZ1bmN0aW9uQm9keU5vZGUobV9wYXJzZXJBcmVuYSwg
c3RhcnRMb2NhdGlvbiwgZW5kTG9jYXRpb24sIHN0YXJ0Q29sdW1uLCBlbmRDb2x1bW4sIGluU3Ry
aWN0Q29udGV4dCk7CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICBFeHByZXNzaW9uTm9kZSogY3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIoY29uc3QgSlNU
b2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPEFTVEJ1aWxk
ZXI+JiBpbmZvLCB1bnNpZ25lZCBhcnJvd0Z1bmN0aW9uS2V5d29yZFN0YXJ0KQorICAgIHsKKyAg
ICAgICAgRnVuY0V4cHJOb2RlKiByZXN1bHQgPSBuZXcgKG1fcGFyc2VyQXJlbmEpIEZ1bmNFeHBy
Tm9kZShsb2NhdGlvbiwgKmluZm8ubmFtZSwgaW5mby5ib2R5LAorICAgICAgICAgICAgbV9zb3Vy
Y2VDb2RlLT5zdWJFeHByZXNzaW9uQXJyb3dGdW5jdGlvbihpbmZvLm9wZW5CcmFjZU9mZnNldCwg
aW5mby5jbG9zZUJyYWNlT2Zmc2V0LCBpbmZvLmJvZHlTdGFydExpbmUsIGluZm8uYm9keVN0YXJ0
Q29sdW1uKSwgaW5mby5wYXJhbWV0ZXJzKTsKKyAgICAgICAgaW5mby5ib2R5LT5zZXRMb2MoaW5m
by5ib2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlFbmRMaW5lLCBsb2NhdGlvbi5zdGFydE9mZnNldCwg
bG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0KTsKKyAgICAgICAgaW5mby5ib2R5LT5zZXRGdW5jdGlv
bktleXdvcmRTdGFydChhcnJvd0Z1bmN0aW9uS2V5d29yZFN0YXJ0KTsKKyAgICAgICAgcmV0dXJu
IHJlc3VsdDsKKyAgICB9CisjZW5kaWYKKwogICAgIHZvaWQgc2V0RnVuY3Rpb25OYW1lU3RhcnQo
RnVuY3Rpb25Cb2R5Tm9kZSogYm9keSwgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0KQogICAgIHsKICAg
ICAgICAgYm9keS0+c2V0RnVuY3Rpb25OYW1lU3RhcnQoZnVuY3Rpb25OYW1lU3RhcnQpOwogICAg
IH0KLSAgICAKKwogICAgIE5FVkVSX0lOTElORSBQcm9wZXJ0eU5vZGUqIGNyZWF0ZUdldHRlck9y
U2V0dGVyUHJvcGVydHkoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgUHJvcGVydHlO
b2RlOjpUeXBlIHR5cGUsIGJvb2wsCiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUsIGNv
bnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RCdWlsZGVyPiYgaW5mbywgdW5zaWduZWQgZ2V0T3JT
ZXRTdGFydE9mZnNldCkKICAgICB7CkBAIC0zMTMsNyArMzI0LDcgQEAgcHVibGljOgogICAgICAg
ICByZXR1cm4gbmV3IChtX3BhcnNlckFyZW5hKSBQcm9wZXJ0eU5vZGUoKm5hbWUsIG5ldyAobV9w
YXJzZXJBcmVuYSkgRnVuY0V4cHJOb2RlKGxvY2F0aW9uLCBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5u
dWxsSWRlbnRpZmllciwKICAgICAgICAgICAgIGluZm8uYm9keSwgbV9zb3VyY2VDb2RlLT5zdWJF
eHByZXNzaW9uKGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBpbmZvLmNsb3NlQnJhY2VPZmZzZXQsIGlu
Zm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1bW4pLCBpbmZvLnBhcmFtZXRlcnMp
LCB0eXBlKTsKICAgICB9Ci0gICAgCisKICAgICBORVZFUl9JTkxJTkUgUHJvcGVydHlOb2RlKiBj
cmVhdGVHZXR0ZXJPclNldHRlclByb3BlcnR5KFZNKiB2bSwgUGFyc2VyQXJlbmEmIHBhcnNlckFy
ZW5hLCBjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBQcm9wZXJ0eU5vZGU6OlR5cGUg
dHlwZSwgYm9vbCwgZG91YmxlIG5hbWUsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RCdWls
ZGVyPiYgaW5mbywgdW5zaWduZWQgZ2V0T3JTZXRTdGFydE9mZnNldCkKICAgICB7CiAgICAgICAg
IGluZm8uYm9keS0+c2V0TG9jKGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5RW5kTGluZSwg
bG9jYXRpb24uc3RhcnRPZmZzZXQsIGxvY2F0aW9uLmxpbmVTdGFydE9mZnNldCk7CkBAIC0zNzYs
NiArMzg3LDE5IEBAIHB1YmxpYzoKICAgICB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisgICAgU3RhdGVtZW50Tm9kZSogY3JlYXRlQXJyb3dGdW5jRGVj
bFN0YXRlbWVudChjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBQYXJzZXJG
dW5jdGlvbkluZm88QVNUQnVpbGRlcj4mIGluZm8sIHVuc2lnbmVkIGZ1bmN0aW9uS2V5d29yZFN0
YXJ0KQorICAgIHsKKyAgICAgICAgRnVuY0RlY2xOb2RlKiBkZWNsID0gbmV3IChtX3BhcnNlckFy
ZW5hKSBGdW5jRGVjbE5vZGUobG9jYXRpb24sICppbmZvLm5hbWUsIGluZm8uYm9keSwKKyAgICAg
ICAgICAgIG1fc291cmNlQ29kZS0+c3ViRXhwcmVzc2lvbkFycm93RnVuY3Rpb24oaW5mby5vcGVu
QnJhY2VPZmZzZXQsIGluZm8uY2xvc2VCcmFjZU9mZnNldCwgaW5mby5ib2R5U3RhcnRMaW5lLCBp
bmZvLmJvZHlTdGFydENvbHVtbiksIGluZm8ucGFyYW1ldGVycyk7CisgICAgICAgIGlmICgqaW5m
by5uYW1lID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFyZ3VtZW50cykKKyAgICAgICAgICAgIHVz
ZXNBcmd1bWVudHMoKTsKKyAgICAgICAgbV9zY29wZS5tX2Z1bmNEZWNsYXJhdGlvbnMuYXBwZW5k
KGRlY2wtPmJvZHkoKSk7CisgICAgICAgIGluZm8uYm9keS0+c2V0RnVuY3Rpb25LZXl3b3JkU3Rh
cnQoZnVuY3Rpb25LZXl3b3JkU3RhcnQpOworICAgICAgICByZXR1cm4gZGVjbDsKKyAgICB9Cisj
ZW5kaWYKKwogICAgIFN0YXRlbWVudE5vZGUqIGNyZWF0ZUJsb2NrU3RhdGVtZW50KGNvbnN0IEpT
VG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIEpTQzo6U291cmNlRWxlbWVudHMqIGVsZW1lbnRzLCBp
bnQgc3RhcnRMaW5lLCBpbnQgZW5kTGluZSkKICAgICB7CiAgICAgICAgIEJsb2NrTm9kZSogYmxv
Y2sgPSBuZXcgKG1fcGFyc2VyQXJlbmEpIEJsb2NrTm9kZShsb2NhdGlvbiwgZWxlbWVudHMpOwpA
QCAtNDExLDEzICs0MzUsMTMgQEAgcHVibGljOgogICAgICAgICBzZXRFeGNlcHRpb25Mb2NhdGlv
bihyZXN1bHQsIGVTdGFydCwgZURpdm90LCBlRW5kKTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsK
ICAgICB9Ci0gICAgCisKICAgICBTdGF0ZW1lbnROb2RlKiBjcmVhdGVGb3JJbkxvb3AoY29uc3Qg
SlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgUGFzc1JlZlB0cjxEZWNvbnN0cnVjdGlvblBhdHRl
cm5Ob2RlPiBwYXR0ZXJuLCBFeHByZXNzaW9uTm9kZSogaXRlciwgU3RhdGVtZW50Tm9kZSogc3Rh
dGVtZW50cywgY29uc3QgSlNUZXh0UG9zaXRpb24mIGVTdGFydCwgY29uc3QgSlNUZXh0UG9zaXRp
b24mIGVEaXZvdCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGVFbmQsIGludCBzdGFydCwgaW50IGVu
ZCkKICAgICB7CiAgICAgICAgIGF1dG8gbGV4cHIgPSBuZXcgKG1fcGFyc2VyQXJlbmEpIERlY29u
c3RydWN0aW5nQXNzaWdubWVudE5vZGUobG9jYXRpb24sIHBhdHRlcm4uZ2V0KCksIDApOwogICAg
ICAgICByZXR1cm4gY3JlYXRlRm9ySW5Mb29wKGxvY2F0aW9uLCBsZXhwciwgaXRlciwgc3RhdGVt
ZW50cywgZVN0YXJ0LCBlRGl2b3QsIGVFbmQsIHN0YXJ0LCBlbmQpOwogICAgIH0KLSAgICAKKwog
ICAgIFN0YXRlbWVudE5vZGUqIGNyZWF0ZUZvck9mTG9vcChjb25zdCBKU1Rva2VuTG9jYXRpb24m
IGxvY2F0aW9uLCBFeHByZXNzaW9uTm9kZSogbGhzLCBFeHByZXNzaW9uTm9kZSogaXRlciwgU3Rh
dGVtZW50Tm9kZSogc3RhdGVtZW50cywgY29uc3QgSlNUZXh0UG9zaXRpb24mIGVTdGFydCwgY29u
c3QgSlNUZXh0UG9zaXRpb24mIGVEaXZvdCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGVFbmQsIGlu
dCBzdGFydCwgaW50IGVuZCkKICAgICB7CiAgICAgICAgIEZvck9mTm9kZSogcmVzdWx0ID0gbmV3
IChtX3BhcnNlckFyZW5hKSBGb3JPZk5vZGUobG9jYXRpb24sIGxocywgaXRlciwgc3RhdGVtZW50
cyk7CkBAIC00MjUsNyArNDQ5LDcgQEAgcHVibGljOgogICAgICAgICBzZXRFeGNlcHRpb25Mb2Nh
dGlvbihyZXN1bHQsIGVTdGFydCwgZURpdm90LCBlRW5kKTsKICAgICAgICAgcmV0dXJuIHJlc3Vs
dDsKICAgICB9Ci0gICAgCisKICAgICBTdGF0ZW1lbnROb2RlKiBjcmVhdGVGb3JPZkxvb3AoY29u
c3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgUGFzc1JlZlB0cjxEZWNvbnN0cnVjdGlvblBh
dHRlcm5Ob2RlPiBwYXR0ZXJuLCBFeHByZXNzaW9uTm9kZSogaXRlciwgU3RhdGVtZW50Tm9kZSog
c3RhdGVtZW50cywgY29uc3QgSlNUZXh0UG9zaXRpb24mIGVTdGFydCwgY29uc3QgSlNUZXh0UG9z
aXRpb24mIGVEaXZvdCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGVFbmQsIGludCBzdGFydCwgaW50
IGVuZCkKICAgICB7CiAgICAgICAgIGF1dG8gbGV4cHIgPSBuZXcgKG1fcGFyc2VyQXJlbmEpIERl
Y29uc3RydWN0aW5nQXNzaWdubWVudE5vZGUobG9jYXRpb24sIHBhdHRlcm4uZ2V0KCksIDApOwpA
QCAtNTIwLDggKzU0NCw4IEBAIHB1YmxpYzoKICAgICAgICAgV2l0aE5vZGUqIHJlc3VsdCA9IG5l
dyAobV9wYXJzZXJBcmVuYSkgV2l0aE5vZGUobG9jYXRpb24sIGV4cHIsIHN0YXRlbWVudCwgZW5k
LCBlbmQgLSBzdGFydCk7CiAgICAgICAgIHJlc3VsdC0+c2V0TG9jKHN0YXJ0TGluZSwgZW5kTGlu
ZSwgbG9jYXRpb24uc3RhcnRPZmZzZXQsIGxvY2F0aW9uLmxpbmVTdGFydE9mZnNldCk7CiAgICAg
ICAgIHJldHVybiByZXN1bHQ7Ci0gICAgfSAgICAKLSAgICAKKyAgICB9CisKICAgICBTdGF0ZW1l
bnROb2RlKiBjcmVhdGVUaHJvd1N0YXRlbWVudChjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0
aW9uLCBFeHByZXNzaW9uTm9kZSogZXhwciwgY29uc3QgSlNUZXh0UG9zaXRpb24mIHN0YXJ0LCBj
b25zdCBKU1RleHRQb3NpdGlvbiYgZW5kKQogICAgIHsKICAgICAgICAgVGhyb3dOb2RlKiByZXN1
bHQgPSBuZXcgKG1fcGFyc2VyQXJlbmEpIFRocm93Tm9kZShsb2NhdGlvbiwgZXhwcik7CkBAIC01
MjksMTQgKzU1MywxNCBAQCBwdWJsaWM6CiAgICAgICAgIHNldEV4Y2VwdGlvbkxvY2F0aW9uKHJl
c3VsdCwgc3RhcnQsIGVuZCwgZW5kKTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0g
ICAgCisKICAgICBTdGF0ZW1lbnROb2RlKiBjcmVhdGVEZWJ1Z2dlcihjb25zdCBKU1Rva2VuTG9j
YXRpb24mIGxvY2F0aW9uLCBpbnQgc3RhcnRMaW5lLCBpbnQgZW5kTGluZSkKICAgICB7CiAgICAg
ICAgIERlYnVnZ2VyU3RhdGVtZW50Tm9kZSogcmVzdWx0ID0gbmV3IChtX3BhcnNlckFyZW5hKSBE
ZWJ1Z2dlclN0YXRlbWVudE5vZGUobG9jYXRpb24pOwogICAgICAgICByZXN1bHQtPnNldExvYyhz
dGFydExpbmUsIGVuZExpbmUsIGxvY2F0aW9uLnN0YXJ0T2Zmc2V0LCBsb2NhdGlvbi5saW5lU3Rh
cnRPZmZzZXQpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KLSAgICAKKwogICAgIFN0
YXRlbWVudE5vZGUqIGNyZWF0ZUNvbnN0U3RhdGVtZW50KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYg
bG9jYXRpb24sIENvbnN0RGVjbE5vZGUqIGRlY2xzLCBpbnQgc3RhcnRMaW5lLCBpbnQgZW5kTGlu
ZSkKICAgICB7CiAgICAgICAgIENvbnN0U3RhdGVtZW50Tm9kZSogcmVzdWx0ID0gbmV3IChtX3Bh
cnNlckFyZW5hKSBDb25zdFN0YXRlbWVudE5vZGUobG9jYXRpb24sIGRlY2xzKTsKQEAgLTYxOSw3
ICs2NDMsNyBAQCBwdWJsaWM6CiAgICAgICAgIG1fYmluYXJ5T3BlcmFuZFN0YWNrLnJlbW92ZUxh
c3QoKTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0gICAgCisKICAgICB2b2lkIGFw
cGVuZFVuYXJ5VG9rZW4oaW50JiB0b2tlblN0YWNrRGVwdGgsIGludCB0eXBlLCBjb25zdCBKU1Rl
eHRQb3NpdGlvbiYgc3RhcnQpCiAgICAgewogICAgICAgICB0b2tlblN0YWNrRGVwdGgrKzsKQEAg
LTYzMCwxOCArNjU0LDE4IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiBtX3VuYXJ5
VG9rZW5TdGFjay5sYXN0KCkuZmlyc3Q7CiAgICAgfQotICAgIAorCiAgICAgY29uc3QgSlNUZXh0
UG9zaXRpb24mIHVuYXJ5VG9rZW5TdGFja0xhc3RTdGFydChpbnQmKQogICAgIHsKICAgICAgICAg
cmV0dXJuIG1fdW5hcnlUb2tlblN0YWNrLmxhc3QoKS5zZWNvbmQ7CiAgICAgfQotICAgIAorCiAg
ICAgdm9pZCB1bmFyeVRva2VuU3RhY2tSZW1vdmVMYXN0KGludCYgdG9rZW5TdGFja0RlcHRoKQog
ICAgIHsKICAgICAgICAgdG9rZW5TdGFja0RlcHRoLS07CiAgICAgICAgIG1fdW5hcnlUb2tlblN0
YWNrLnJlbW92ZUxhc3QoKTsKICAgICB9Ci0gICAgCisKICAgICB2b2lkIGFzc2lnbm1lbnRTdGFj
a0FwcGVuZChpbnQmIGFzc2lnbm1lbnRTdGFja0RlcHRoLCBFeHByZXNzaW9uTm9kZSogbm9kZSwg
Y29uc3QgSlNUZXh0UG9zaXRpb24mIHN0YXJ0LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZGl2b3Qs
IGludCBhc3NpZ25tZW50Q291bnQsIE9wZXJhdG9yIG9wKQogICAgIHsKICAgICAgICAgYXNzaWdu
bWVudFN0YWNrRGVwdGgrKzsKQEAgLTY1OCw3ICs2ODIsNyBAQCBwdWJsaWM6CiAgICAgICAgIGFz
c2lnbm1lbnRTdGFja0RlcHRoLS07CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQotICAg
IAorCiAgICAgY29uc3QgSWRlbnRpZmllciogZ2V0TmFtZShQcm9wZXJ0eSBwcm9wZXJ0eSkgY29u
c3QgeyByZXR1cm4gcHJvcGVydHktPm5hbWUoKTsgfQogICAgIFByb3BlcnR5Tm9kZTo6VHlwZSBn
ZXRUeXBlKFByb3BlcnR5IHByb3BlcnR5KSBjb25zdCB7IHJldHVybiBwcm9wZXJ0eS0+dHlwZSgp
OyB9CiAKQEAgLTY2OCwxMiArNjkyLDEyIEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVy
biBuZXcgKG1fcGFyc2VyQXJlbmEpIERlY29uc3RydWN0aW5nQXNzaWdubWVudE5vZGUobG9jYXRp
b24sIHBhdHRlcm4uZ2V0KCksIGluaXRpYWxpemVyKTsKICAgICB9Ci0gICAgCisKICAgICBBcnJh
eVBhdHRlcm4gY3JlYXRlQXJyYXlQYXR0ZXJuKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYpCiAgICAg
ewogICAgICAgICByZXR1cm4gQXJyYXlQYXR0ZXJuTm9kZTo6Y3JlYXRlKCk7CiAgICAgfQotICAg
IAorCiAgICAgdm9pZCBhcHBlbmRBcnJheVBhdHRlcm5Ta2lwRW50cnkoQXJyYXlQYXR0ZXJuIG5v
ZGUsIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24pCiAgICAgewogICAgICAgICBub2Rl
LT5hcHBlbmRJbmRleChsb2NhdGlvbiwgMCk7CkBAIC02ODMsMTcgKzcwNywxNyBAQCBwdWJsaWM6
CiAgICAgewogICAgICAgICBub2RlLT5hcHBlbmRJbmRleChsb2NhdGlvbiwgcGF0dGVybi5nZXQo
KSk7CiAgICAgfQotICAgIAorCiAgICAgT2JqZWN0UGF0dGVybiBjcmVhdGVPYmplY3RQYXR0ZXJu
KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYpCiAgICAgewogICAgICAgICByZXR1cm4gT2JqZWN0UGF0
dGVybk5vZGU6OmNyZWF0ZSgpOwogICAgIH0KLSAgICAKKwogICAgIHZvaWQgYXBwZW5kT2JqZWN0
UGF0dGVybkVudHJ5KE9iamVjdFBhdHRlcm4gbm9kZSwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBs
b2NhdGlvbiwgYm9vbCB3YXNTdHJpbmcsIGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIsIERl
Y29uc3RydWN0aW9uUGF0dGVybiBwYXR0ZXJuKQogICAgIHsKICAgICAgICAgbm9kZS0+YXBwZW5k
RW50cnkobG9jYXRpb24sIGlkZW50aWZpZXIsIHdhc1N0cmluZywgcGF0dGVybi5nZXQoKSk7CiAg
ICAgfQotICAgIAorCiAgICAgQmluZGluZ1BhdHRlcm4gY3JlYXRlQmluZGluZ0xvY2F0aW9uKGNv
bnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IElkZW50aWZpZXImIGJvdW5kUHJvcGVydHksIGNv
bnN0IEpTVGV4dFBvc2l0aW9uJiBzdGFydCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGVuZCkKICAg
ICB7CiAgICAgICAgIHJldHVybiBCaW5kaW5nTm9kZTo6Y3JlYXRlKGJvdW5kUHJvcGVydHksIHN0
YXJ0LCBlbmQpOwpAQCAtNzE4LDcgKzc0Miw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIG5v
ZGUtPnNldFN0YXJ0T2Zmc2V0KG9mZnNldCk7CiAgICAgfQotICAgIAorCiBwcml2YXRlOgogICAg
IHN0cnVjdCBTY29wZSB7CiAgICAgICAgIFNjb3BlKCkKQEAgLTc0Myw3ICs3NjcsNyBAQCBwcml2
YXRlOgogICAgIHZvaWQgdXNlc0NhdGNoKCkgeyBtX3Njb3BlLm1fZmVhdHVyZXMgfD0gQ2F0Y2hG
ZWF0dXJlOyB9CiAgICAgdm9pZCB1c2VzQXJndW1lbnRzKCkgeyBtX3Njb3BlLm1fZmVhdHVyZXMg
fD0gQXJndW1lbnRzRmVhdHVyZTsgfQogICAgIHZvaWQgdXNlc1dpdGgoKSB7IG1fc2NvcGUubV9m
ZWF0dXJlcyB8PSBXaXRoRmVhdHVyZTsgfQotICAgIHZvaWQgdXNlc0V2YWwoKSAKKyAgICB2b2lk
IHVzZXNFdmFsKCkKICAgICB7CiAgICAgICAgIG1fZXZhbENvdW50Kys7CiAgICAgICAgIG1fc2Nv
cGUubV9mZWF0dXJlcyB8PSBFdmFsRmVhdHVyZTsKQEAgLTc1Miw3ICs3NzYsNyBAQCBwcml2YXRl
OgogICAgIHsKICAgICAgICAgcmV0dXJuIG5ldyAobV9wYXJzZXJBcmVuYSkgTnVtYmVyTm9kZShs
b2NhdGlvbiwgZCk7CiAgICAgfQotICAgIAorCiAgICAgVk0qIG1fdm07CiAgICAgUGFyc2VyQXJl
bmEmIG1fcGFyc2VyQXJlbmE7CiAgICAgU291cmNlQ29kZSogbV9zb3VyY2VDb2RlOwpAQCAtODM5
LDcgKzg2Myw3IEBAIEV4cHJlc3Npb25Ob2RlKiBBU1RCdWlsZGVyOjptYWtlTW9kTm9kZShjb25z
dCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBFeHByZXNzCiB7CiAgICAgZXhwcjEgPSBleHBy
MS0+c3RyaXBVbmFyeVBsdXMoKTsKICAgICBleHByMiA9IGV4cHIyLT5zdHJpcFVuYXJ5UGx1cygp
OwotICAgIAorCiAgICAgaWYgKGV4cHIxLT5pc051bWJlcigpICYmIGV4cHIyLT5pc051bWJlcigp
KQogICAgICAgICByZXR1cm4gY3JlYXRlTnVtYmVyKGxvY2F0aW9uLCBmbW9kKHN0YXRpY19jYXN0
PE51bWJlck5vZGUqPihleHByMSktPnZhbHVlKCksIHN0YXRpY19jYXN0PE51bWJlck5vZGUqPihl
eHByMiktPnZhbHVlKCkpKTsKICAgICByZXR1cm4gbmV3IChtX3BhcnNlckFyZW5hKSBNb2ROb2Rl
KGxvY2F0aW9uLCBleHByMSwgZXhwcjIsIHJpZ2h0SGFzQXNzaWdubWVudHMpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcAppbmRleCBmMTNmZTRkZWFjMGVkZTA0MzdjNDkxN2Jh
NDhmNGYwYjk2NTA5YzBlLi5kZDYxNmRmZjgzNWQ0NjlkZjdhMmRlMzI5NDk0YTNiODUyNzgzYjYz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcApAQCAtNTM0LDEwICs1MzQs
MTAgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CiB2b2lkIExleGVyPFQ+OjpzZXRDb2RlKGNvbnN0
IFNvdXJjZUNvZGUmIHNvdXJjZSwgUGFyc2VyQXJlbmEqIGFyZW5hKQogewogICAgIG1fYXJlbmEg
PSAmYXJlbmEtPmlkZW50aWZpZXJBcmVuYSgpOwotICAgIAorCiAgICAgbV9saW5lTnVtYmVyID0g
c291cmNlLmZpcnN0TGluZSgpOwogICAgIG1fbGFzdFRva2VuID0gLTE7Ci0gICAgCisKICAgICBj
b25zdCBTdHJpbmcmIHNvdXJjZVN0cmluZyA9IHNvdXJjZS5wcm92aWRlcigpLT5zb3VyY2UoKTsK
IAogICAgIGlmICghc291cmNlU3RyaW5nLmlzTnVsbCgpKQpAQCAtNTU0LDEwICs1NTQsMTAgQEAg
dm9pZCBMZXhlcjxUPjo6c2V0Q29kZShjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIFBhcnNlckFy
ZW5hKiBhcmVuYSkKICAgICBtX2F0TGluZVN0YXJ0ID0gdHJ1ZTsKICAgICBtX2xpbmVTdGFydCA9
IG1fY29kZTsKICAgICBtX2xleEVycm9yTWVzc2FnZSA9IFN0cmluZygpOwotICAgIAorCiAgICAg
bV9idWZmZXI4LnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoaW5pdGlhbFJlYWRCdWZmZXJDYXBhY2l0
eSk7CiAgICAgbV9idWZmZXIxNi5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KChtX2NvZGVFbmQgLSBt
X2NvZGUpIC8gMik7Ci0gICAgCisKICAgICBpZiAoTElLRUxZKG1fY29kZSA8IG1fY29kZUVuZCkp
CiAgICAgICAgIG1fY3VycmVudCA9ICptX2NvZGU7CiAgICAgZWxzZQpAQCAtNjg4LDEwICs2ODgs
MTAgQEAgYm9vbCBpc1VuaWNvZGVFc2NhcGVJZGVudFBhcnQoY29uc3QgVCogY29kZSkKICAgICBU
IGNoYXIyID0gY29kZVsxXTsKICAgICBUIGNoYXIzID0gY29kZVsyXTsKICAgICBUIGNoYXI0ID0g
Y29kZVszXTsKLSAgICAKKwogICAgIGlmICghaXNBU0NJSUhleERpZ2l0KGNoYXIxKSB8fCAhaXNB
U0NJSUhleERpZ2l0KGNoYXIyKSB8fCAhaXNBU0NJSUhleERpZ2l0KGNoYXIzKSB8fCAhaXNBU0NJ
SUhleERpZ2l0KGNoYXI0KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIAorCiAgICAgcmV0
dXJuIGlzSWRlbnRQYXJ0KExleGVyPFQ+Ojpjb252ZXJ0VW5pY29kZShjaGFyMSwgY2hhcjIsIGNo
YXIzLCBjaGFyNCkpOwogfQogCkBAIC03MDcsNyArNzA3LDcgQEAgc3RhdGljIEFMV0FZU19JTkxJ
TkUgYm9vbCBpc0lkZW50UGFydEluY2x1ZGluZ0VzY2FwZShjb25zdCBVQ2hhciogY29kZSwgY29u
c3QgVUMKIHsKICAgICBpZiAoaXNJZGVudFBhcnQoKmNvZGUpKQogICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICAKKwogICAgIHJldHVybiAoKmNvZGUgPT0gJ1xcJyAmJiAoKGNvZGVFbmQgLSBjb2Rl
KSA+PSA2KSAmJiBjb2RlWzFdID09ICd1JyAmJiBpc1VuaWNvZGVFc2NhcGVJZGVudFBhcnQoY29k
ZSsyKSk7CiB9CiAKQEAgLTc4Niw3ICs3ODYsNyBAQCBpbmxpbmUgdm9pZCBMZXhlcjxUPjo6cmVj
b3JkMTYoaW50IGMpCiAgICAgQVNTRVJUKGMgPD0gc3RhdGljX2Nhc3Q8aW50PihVU0hSVF9NQVgp
KTsKICAgICBtX2J1ZmZlcjE2LmFwcGVuZChzdGF0aWNfY2FzdDxVQ2hhcj4oYykpOwogfQotICAg
IAorCiAjaWYgIUFTU0VSVF9ESVNBQkxFRAogYm9vbCBpc1NhZmVCdWlsdGluSWRlbnRpZmllcihW
TSYgdm0sIGNvbnN0IElkZW50aWZpZXIqIGlkZW50KQogewpAQCAtODA2LDcgKzgwNiw3IEBAIGJv
b2wgaXNTYWZlQnVpbHRpbklkZW50aWZpZXIoVk0mIHZtLCBjb25zdCBJZGVudGlmaWVyKiBpZGVu
dCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KICNlbmRpZgotICAgIAorCiB0ZW1wbGF0ZSA8PgogdGVt
cGxhdGUgPGJvb2wgc2hvdWxkQ3JlYXRlSWRlbnRpZmllcj4gQUxXQVlTX0lOTElORSBKU1Rva2Vu
VHlwZSBMZXhlcjxMQ2hhcj46OnBhcnNlSWRlbnRpZmllcihKU1Rva2VuRGF0YSogdG9rZW5EYXRh
LCB1bnNpZ25lZCBsZXhlckZsYWdzLCBib29sIHN0cmljdE1vZGUpCiB7CkBAIC04MTgsMjQgKzgx
OCwyNCBAQCB0ZW1wbGF0ZSA8Ym9vbCBzaG91bGRDcmVhdGVJZGVudGlmaWVyPiBBTFdBWVNfSU5M
SU5FIEpTVG9rZW5UeXBlIExleGVyPExDaGFyPjo6cAogICAgICAgICAgICAgcmV0dXJuIGtleXdv
cmQgPT0gUkVTRVJWRURfSUZfU1RSSUNUICYmICFzdHJpY3RNb2RlID8gSURFTlQgOiBrZXl3b3Jk
OwogICAgICAgICB9CiAgICAgfQotICAgIAorCiAgICAgYm9vbCBpc1ByaXZhdGVOYW1lID0gbV9j
dXJyZW50ID09ICdAJyAmJiBtX3BhcnNpbmdCdWlsdGluRnVuY3Rpb247CiAgICAgaWYgKGlzUHJp
dmF0ZU5hbWUpCiAgICAgICAgIHNoaWZ0KCk7Ci0gICAgCisKICAgICBjb25zdCBMQ2hhciogaWRl
bnRpZmllclN0YXJ0ID0gY3VycmVudFNvdXJjZVB0cigpOwogICAgIHVuc2lnbmVkIGlkZW50aWZp
ZXJMaW5lU3RhcnQgPSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0KCk7Ci0gICAgCisKICAgICB3aGls
ZSAoaXNJZGVudFBhcnQobV9jdXJyZW50KSkKICAgICAgICAgc2hpZnQoKTsKLSAgICAKKwogICAg
IGlmIChVTkxJS0VMWShtX2N1cnJlbnQgPT0gJ1xcJykpIHsKICAgICAgICAgc2V0T2Zmc2V0RnJv
bVNvdXJjZVB0cihpZGVudGlmaWVyU3RhcnQsIGlkZW50aWZpZXJMaW5lU3RhcnQpOwogICAgICAg
ICByZXR1cm4gcGFyc2VJZGVudGlmaWVyU2xvd0Nhc2U8c2hvdWxkQ3JlYXRlSWRlbnRpZmllcj4o
dG9rZW5EYXRhLCBsZXhlckZsYWdzLCBzdHJpY3RNb2RlKTsKICAgICB9CiAKICAgICBjb25zdCBJ
ZGVudGlmaWVyKiBpZGVudCA9IDA7Ci0gICAgCisKICAgICBpZiAoc2hvdWxkQ3JlYXRlSWRlbnRp
ZmllciB8fCBtX3BhcnNpbmdCdWlsdGluRnVuY3Rpb24pIHsKICAgICAgICAgaW50IGlkZW50aWZp
ZXJMZW5ndGggPSBjdXJyZW50U291cmNlUHRyKCkgLSBpZGVudGlmaWVyU3RhcnQ7CiAgICAgICAg
IGlkZW50ID0gbWFrZUlkZW50aWZpZXIoaWRlbnRpZmllclN0YXJ0LCBpZGVudGlmaWVyTGVuZ3Ro
KTsKQEAgLTg4Miw3ICs4ODIsNyBAQCB0ZW1wbGF0ZSA8Ym9vbCBzaG91bGRDcmVhdGVJZGVudGlm
aWVyPiBBTFdBWVNfSU5MSU5FIEpTVG9rZW5UeXBlIExleGVyPFVDaGFyPjo6cAogICAgICAgICAg
ICAgcmV0dXJuIGtleXdvcmQgPT0gUkVTRVJWRURfSUZfU1RSSUNUICYmICFzdHJpY3RNb2RlID8g
SURFTlQgOiBrZXl3b3JkOwogICAgICAgICB9CiAgICAgfQotICAgIAorCiAgICAgYm9vbCBpc1By
aXZhdGVOYW1lID0gbV9jdXJyZW50ID09ICdAJyAmJiBtX3BhcnNpbmdCdWlsdGluRnVuY3Rpb247
CiAgICAgaWYgKGlzUHJpdmF0ZU5hbWUpCiAgICAgICAgIHNoaWZ0KCk7CkBAIC04OTEsMTIgKzg5
MSwxMiBAQCB0ZW1wbGF0ZSA8Ym9vbCBzaG91bGRDcmVhdGVJZGVudGlmaWVyPiBBTFdBWVNfSU5M
SU5FIEpTVG9rZW5UeXBlIExleGVyPFVDaGFyPjo6cAogICAgIGludCBpZGVudGlmaWVyTGluZVN0
YXJ0ID0gY3VycmVudExpbmVTdGFydE9mZnNldCgpOwogCiAgICAgVUNoYXIgb3JBbGxDaGFycyA9
IDA7Ci0gICAgCisKICAgICB3aGlsZSAoaXNJZGVudFBhcnQobV9jdXJyZW50KSkgewogICAgICAg
ICBvckFsbENoYXJzIHw9IG1fY3VycmVudDsKICAgICAgICAgc2hpZnQoKTsKICAgICB9Ci0gICAg
CisKICAgICBpZiAoVU5MSUtFTFkobV9jdXJyZW50ID09ICdcXCcpKSB7CiAgICAgICAgIEFTU0VS
VCghaXNQcml2YXRlTmFtZSk7CiAgICAgICAgIHNldE9mZnNldEZyb21Tb3VyY2VQdHIoaWRlbnRp
ZmllclN0YXJ0LCBpZGVudGlmaWVyTGluZVN0YXJ0KTsKQEAgLTkwOSw3ICs5MDksNyBAQCB0ZW1w
bGF0ZSA8Ym9vbCBzaG91bGRDcmVhdGVJZGVudGlmaWVyPiBBTFdBWVNfSU5MSU5FIEpTVG9rZW5U
eXBlIExleGVyPFVDaGFyPjo6cAogICAgICAgICBpc0FsbDhCaXQgPSB0cnVlOwogCiAgICAgY29u
c3QgSWRlbnRpZmllciogaWRlbnQgPSAwOwotICAgIAorCiAgICAgaWYgKHNob3VsZENyZWF0ZUlk
ZW50aWZpZXIgfHwgbV9wYXJzaW5nQnVpbHRpbkZ1bmN0aW9uKSB7CiAgICAgICAgIGludCBpZGVu
dGlmaWVyTGVuZ3RoID0gY3VycmVudFNvdXJjZVB0cigpIC0gaWRlbnRpZmllclN0YXJ0OwogICAg
ICAgICBpZiAoaXNBbGw4Qml0KQpAQCAtOTMxLDcgKzkzMSw3IEBAIHRlbXBsYXRlIDxib29sIHNo
b3VsZENyZWF0ZUlkZW50aWZpZXI+IEFMV0FZU19JTkxJTkUgSlNUb2tlblR5cGUgTGV4ZXI8VUNo
YXI+OjpwCiAgICAgICAgIHRva2VuRGF0YS0+aWRlbnQgPSBpZGVudDsKICAgICB9IGVsc2UKICAg
ICAgICAgdG9rZW5EYXRhLT5pZGVudCA9IDA7Ci0gICAgCisKICAgICBpZiAoVU5MSUtFTFkoKHJl
bWFpbmluZyA8IG1heFRva2VuTGVuZ3RoKSAmJiAhKGxleGVyRmxhZ3MgJiBMZXhlckZsYWdzSWdu
b3JlUmVzZXJ2ZWRXb3JkcykpICYmICFpc1ByaXZhdGVOYW1lKSB7CiAgICAgICAgIEFTU0VSVChz
aG91bGRDcmVhdGVJZGVudGlmaWVyKTsKICAgICAgICAgaWYgKHJlbWFpbmluZyA8IG1heFRva2Vu
TGVuZ3RoKSB7CkBAIC0xMzgyLDExICsxMzgyLDIxIEBAIGJvb2wgTGV4ZXI8VD46Om5leHRUb2tl
bklzQ29sb24oKQogICAgIGNvbnN0IFQqIGNvZGUgPSBtX2NvZGU7CiAgICAgd2hpbGUgKGNvZGUg
PCBtX2NvZGVFbmQgJiYgKGlzV2hpdGVTcGFjZSgqY29kZSkgfHwgaXNMaW5lVGVybWluYXRvcigq
Y29kZSkpKQogICAgICAgICBjb2RlKys7Ci0gICAgCisKICAgICByZXR1cm4gY29kZSA8IG1fY29k
ZUVuZCAmJiAqY29kZSA9PSAnOic7CiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgordm9pZCBM
ZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlvbihKU1Rva2VuKiB0b2tlblJlY29yZCkKK3sKKyAgICBK
U1Rva2VuRGF0YSogdG9rZW5EYXRhID0gJnRva2VuUmVjb3JkLT5tX2RhdGE7CisgICAgdG9rZW5E
YXRhLT5saW5lID0gbGluZU51bWJlcigpOworICAgIHRva2VuRGF0YS0+b2Zmc2V0ID0gY3VycmVu
dE9mZnNldCgpOworICAgIHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVT
dGFydE9mZnNldCgpOworICAgIEFTU0VSVCh0b2tlbkRhdGEtPm9mZnNldCA+PSB0b2tlbkRhdGEt
PmxpbmVTdGFydE9mZnNldCk7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgogSlNUb2tlblR5
cGUgTGV4ZXI8VD46OmxleChKU1Rva2VuKiB0b2tlblJlY29yZCwgdW5zaWduZWQgbGV4ZXJGbGFn
cywgYm9vbCBzdHJpY3RNb2RlKQogewogICAgIEpTVG9rZW5EYXRhKiB0b2tlbkRhdGEgPSAmdG9r
ZW5SZWNvcmQtPm1fZGF0YTsKQEAgLTE0MDQsNyArMTQxNCw3IEBAIHN0YXJ0OgogCiAgICAgaWYg
KGF0RW5kKCkpCiAgICAgICAgIHJldHVybiBFT0ZUT0s7Ci0gICAgCisKICAgICB0b2tlbkxvY2F0
aW9uLT5zdGFydE9mZnNldCA9IGN1cnJlbnRPZmZzZXQoKTsKICAgICBBU1NFUlQoY3VycmVudE9m
ZnNldCgpID49IGN1cnJlbnRMaW5lU3RhcnRPZmZzZXQoKSk7CiAgICAgdG9rZW5SZWNvcmQtPm1f
c3RhcnRQb3NpdGlvbiA9IGN1cnJlbnRQb3NpdGlvbigpOwpAQCAtMTQ0OSw3ICsxNDU5LDEyIEBA
IHN0YXJ0OgogICAgICAgICB9CiAgICAgICAgIHRva2VuID0gR1Q7CiAgICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgQ2hhcmFjdGVyRXF1YWw6CisgICAgY2FzZSBDaGFyYWN0ZXJFcXVhbDogeworI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIHVpbnQzMl90IHNhdmVk
bGluZU51bWJlciA9IHRva2VuRGF0YS0+bGluZTsKKyAgICAgICAgdWludDMyX3Qgc2F2ZWRPZmZz
ZXQgPSBjdXJyZW50T2Zmc2V0KCk7CisgICAgICAgIHVpbnQzMl90IHNhdmVkTGluZVN0YXJ0T2Zm
c2V0ID0gY3VycmVudExpbmVTdGFydE9mZnNldCgpOworI2VuZGlmCiAgICAgICAgIHNoaWZ0KCk7
CiAgICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJz0nKSB7CiAgICAgICAgICAgICBzaGlmdCgpOwpA
QCAtMTQ2MSw4ICsxNDc2LDIzIEBAIHN0YXJ0OgogICAgICAgICAgICAgdG9rZW4gPSBFUUVROwog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyAgICAgICAgCisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnPicpIHsKKyAg
ICAgICAgICAgIHNoaWZ0KCk7CisgICAgICAgICAgICB0b2tlbiA9IEFSUk9XRlVOQ1RJT047Cisg
ICAgICAgICAgICAKKyAgICAgICAgICAgIHRva2VuRGF0YS0+bGluZSA9IHNhdmVkbGluZU51bWJl
cjsKKyAgICAgICAgICAgIHRva2VuRGF0YS0+b2Zmc2V0ID0gc2F2ZWRPZmZzZXQ7CisgICAgICAg
ICAgICB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCA9IHNhdmVkTGluZVN0YXJ0T2Zmc2V0Owor
ICAgICAgICAgICAgCisgICAgICAgICAgICBBU1NFUlQodG9rZW5EYXRhLT5vZmZzZXQgPj0gdG9r
ZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0K
KyNlbmRpZgogICAgICAgICB0b2tlbiA9IEVRVUFMOwogICAgICAgICBicmVhazsKKyAgICB9CiAg
ICAgY2FzZSBDaGFyYWN0ZXJMZXNzOgogICAgICAgICBzaGlmdCgpOwogICAgICAgICBpZiAobV9j
dXJyZW50ID09ICchJyAmJiBwZWVrKDEpID09ICctJyAmJiBwZWVrKDIpID09ICctJykgewpAQCAt
MTg1Nyw3ICsxODg3LDcgQEAgYm9vbCBMZXhlcjxUPjo6c2NhblJlZ0V4cChjb25zdCBJZGVudGlm
aWVyKiYgcGF0dGVybiwgY29uc3QgSWRlbnRpZmllciomIGZsYWdzLAogICAgICAgICB9CiAKICAg
ICAgICAgVCBwcmV2ID0gbV9jdXJyZW50OwotICAgICAgICAKKwogICAgICAgICBzaGlmdCgpOwog
CiAgICAgICAgIGlmIChwcmV2ID09ICcvJyAmJiAhbGFzdFdhc0VzY2FwZSAmJiAhaW5CcmFja2V0
cykKQEAgLTE5MTIsNyArMTk0Miw3IEBAIGJvb2wgTGV4ZXI8VD46OnNraXBSZWdFeHAoKQogICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgIFQgcHJldiA9IG1fY3VycmVudDsKLSAg
ICAgICAgCisKICAgICAgICAgc2hpZnQoKTsKIAogICAgICAgICBpZiAocHJldiA9PSAnLycgJiYg
IWxhc3RXYXNFc2NhcGUgJiYgIWluQnJhY2tldHMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL0xleGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xl
eGVyLmgKaW5kZXggODFiNDMzNGQ4NDlkODNlNzVmYWRhZmVmNTQyMDg0MTZhOGQxNmQ2Ni4uNGYz
MzAwNmJhZDgyMzE5YmJjNGEyOGI1NjBhNzE2NjQ1NTBmZGM1ZSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTGV4ZXIuaApAQCAtMzksNyArMzksNyBAQCBwdWJsaWM6CiAgICAgewogICAgICAg
ICByZXR1cm4gbV9rZXl3b3JkVGFibGUuZW50cnkoaWRlbnQpOwogICAgIH0KLSAgICAKKwogICAg
IGNvbnN0IEhhc2hUYWJsZVZhbHVlKiBnZXRLZXl3b3JkKGNvbnN0IElkZW50aWZpZXImIGlkZW50
KSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIG1fa2V5d29yZFRhYmxlLmVudHJ5KGlkZW50
KTsKQEAgLTUxLDE2ICs1MSwxNiBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBtX2tleXdvcmRU
YWJsZS5kZWxldGVUYWJsZSgpOwogICAgIH0KLSAgICAKKwogcHJpdmF0ZToKICAgICBmcmllbmQg
Y2xhc3MgVk07Ci0gICAgCisKICAgICBWTSYgbV92bTsKICAgICBjb25zdCBIYXNoVGFibGUgbV9r
ZXl3b3JkVGFibGU7CiB9OwogCiBlbnVtIExleGVyRmxhZ3MgewotICAgIExleGVyRmxhZ3NJZ25v
cmVSZXNlcnZlZFdvcmRzID0gMSwgCisgICAgTGV4ZXJGbGFnc0lnbm9yZVJlc2VydmVkV29yZHMg
PSAxLAogICAgIExleGVyRmxhZ3NEb250QnVpbGRTdHJpbmdzID0gMiwKICAgICBMZXhleEZsYWdz
RG9udEJ1aWxkS2V5d29yZHMgPSA0CiB9OwpAQCAtODUsNiArODUsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRJc1JlcGFyc2luZygpIHsgbV9pc1JlcGFyc2luZyA9IHRydWU7IH0KICAgICBib29s
IGlzUmVwYXJzaW5nKCkgY29uc3QgeyByZXR1cm4gbV9pc1JlcGFyc2luZzsgfQogCisgICAgdm9p
ZCBzZXRUb2tlblBvc2l0aW9uKEpTVG9rZW4qIHRva2VuUmVjb3JkKTsKICAgICBKU1Rva2VuVHlw
ZSBsZXgoSlNUb2tlbiosIHVuc2lnbmVkLCBib29sIHN0cmljdE1vZGUpOwogICAgIGJvb2wgbmV4
dFRva2VuSXNDb2xvbigpOwogICAgIGludCBsaW5lTnVtYmVyKCkgY29uc3QgeyByZXR1cm4gbV9s
aW5lTnVtYmVyOyB9CkBAIC0xNDIsOSArMTQzLDkgQEAgcHJpdmF0ZToKICAgICBBTFdBWVNfSU5M
SU5FIGJvb2wgYXRFbmQoKSBjb25zdDsKICAgICBBTFdBWVNfSU5MSU5FIFQgcGVlayhpbnQgb2Zm
c2V0KSBjb25zdDsKICAgICBzdHJ1Y3QgVW5pY29kZUhleFZhbHVlIHsKLSAgICAgICAgCisKICAg
ICAgICAgZW51bSBWYWx1ZVR5cGUgeyBWYWxpZEhleCwgSW5jb21wbGV0ZUhleCwgSW52YWxpZEhl
eCB9OwotICAgICAgICAKKwogICAgICAgICBleHBsaWNpdCBVbmljb2RlSGV4VmFsdWUoaW50IHZh
bHVlKQogICAgICAgICAgICAgOiBtX3ZhbHVlKHZhbHVlKQogICAgICAgICB7CkBAIC0xNjYsNyAr
MTY3LDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIEFTU0VSVChtX3ZhbHVlID49IDApOwogICAg
ICAgICAgICAgcmV0dXJuIG1fdmFsdWU7CiAgICAgICAgIH0KLSAgICAgICAgCisKICAgICBwcml2
YXRlOgogICAgICAgICBpbnQgbV92YWx1ZTsKICAgICB9OwpAQCAtNDAyLDcgKzQwMyw3IEBAIEFM
V0FZU19JTkxJTkUgSlNUb2tlblR5cGUgTGV4ZXI8VD46OmxleEV4cGVjdElkZW50aWZpZXIoSlNU
b2tlbiogdG9rZW5SZWNvcmQsIHVuCiAKICAgICBtX2xhc3RUb2tlbiA9IElERU5UOwogICAgIHJl
dHVybiBJREVOVDsKLSAgICAKKwogc2xvd0Nhc2U6CiAgICAgcmV0dXJuIGxleCh0b2tlblJlY29y
ZCwgbGV4ZXJGbGFncywgc3RyaWN0TW9kZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1BhcnNlci5jcHAKaW5kZXggZjRjNGJjNWQ0ZTNmNzJmNjA1MTJiZmM2MDcwMTU2ZDMxNmZhYWJh
Yy4uMDBlYjUwMzY0OGMwYzdlYTM0YjJhMDM0MTIzMWQ0NmZiZDU4MGFjMiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcApAQCAtMjUzLDcgKzI1Myw3IEBAIHRlbXBsYXRl
IDx0eXBlbmFtZSBMZXhlclR5cGU+CiBTdHJpbmcgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW5u
ZXIoKQogewogICAgIFN0cmluZyBwYXJzZUVycm9yID0gU3RyaW5nKCk7Ci0gICAgCisKICAgICBB
U1RCdWlsZGVyIGNvbnRleHQoY29uc3RfY2FzdDxWTSo+KG1fdm0pLCBtX3BhcnNlckFyZW5hLCBj
b25zdF9jYXN0PFNvdXJjZUNvZGUqPihtX3NvdXJjZSkpOwogICAgIGlmIChtX2xleGVyLT5pc1Jl
cGFyc2luZygpKQogICAgICAgICBtX3N0YXRlbWVudERlcHRoLS07CkBAIC0yNzAsNyArMjcwLDcg
QEAgU3RyaW5nIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlubmVyKCkKICAgICBib29sIG1vZGlm
aWVkUGFyYW1ldGVyID0gZmFsc2U7CiAgICAgYm9vbCBtb2RpZmllZEFyZ3VtZW50cyA9IGZhbHNl
OwogICAgIHNjb3BlLT5nZXRDYXB0dXJlZFZhcmlhYmxlcyhjYXB0dXJlZFZhcmlhYmxlcywgbW9k
aWZpZWRQYXJhbWV0ZXIsIG1vZGlmaWVkQXJndW1lbnRzKTsKLSAgICAKKwogICAgIENvZGVGZWF0
dXJlcyBmZWF0dXJlcyA9IGNvbnRleHQuZmVhdHVyZXMoKTsKICAgICBpZiAoc2NvcGUtPnN0cmlj
dE1vZGUoKSkKICAgICAgICAgZmVhdHVyZXMgfD0gU3RyaWN0TW9kZUZlYXR1cmU7CkBAIC0yODgs
NyArMjg4LDcgQEAgU3RyaW5nIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlubmVyKCkKICAgICAg
ICAgZm9yIChjb25zdCBhdXRvJiB2YXJpYWJsZSA6IHVzZWRWYXJpYWJsZXMpIHsKICAgICAgICAg
ICAgIGlmIChzY29wZS0+aGFzRGVjbGFyZWRWYXJpYWJsZShJZGVudGlmaWVyKG1fdm0sIHZhcmlh
YmxlLmdldCgpKSkpCiAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAKKwog
ICAgICAgICAgICAgaWYgKHNjb3BlLT5oYXNEZWNsYXJlZFBhcmFtZXRlcihJZGVudGlmaWVyKG1f
dm0sIHZhcmlhYmxlLmdldCgpKSkpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAKQEAgLTMw
NSw3ICszMDUsNyBAQCBTdHJpbmcgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW5uZXIoKQogfQog
CiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgotdm9pZCBQYXJzZXI8TGV4ZXJUeXBlPjo6
ZGlkRmluaXNoUGFyc2luZyhTb3VyY2VFbGVtZW50cyogc291cmNlRWxlbWVudHMsIERlY2xhcmF0
aW9uU3RhY2tzOjpWYXJTdGFjayYgdmFyU3RhY2ssIAordm9pZCBQYXJzZXI8TGV4ZXJUeXBlPjo6
ZGlkRmluaXNoUGFyc2luZyhTb3VyY2VFbGVtZW50cyogc291cmNlRWxlbWVudHMsIERlY2xhcmF0
aW9uU3RhY2tzOjpWYXJTdGFjayYgdmFyU3RhY2ssCiAgICAgRGVjbGFyYXRpb25TdGFja3M6OkZ1
bmN0aW9uU3RhY2smIGZ1bmNTdGFjaywgQ29kZUZlYXR1cmVzIGZlYXR1cmVzLCBpbnQgbnVtQ29u
c3RhbnRzLCBJZGVudGlmaWVyU2V0JiBjYXB0dXJlZFZhcnMsIGNvbnN0IFZlY3RvcjxSZWZQdHI8
U3RyaW5nSW1wbD4+JiYgY2xvc2VkVmFyaWFibGVzKQogewogICAgIG1fc291cmNlRWxlbWVudHMg
PSBzb3VyY2VFbGVtZW50czsKQEAgLTMyMiw5ICszMjIsMTMgQEAgYm9vbCBQYXJzZXI8TGV4ZXJU
eXBlPjo6YWxsb3dBdXRvbWF0aWNTZW1pY29sb24oKQogewogICAgIHJldHVybiBtYXRjaChDTE9T
RUJSQUNFKSB8fCBtYXRjaChFT0ZUT0spIHx8IG1fbGV4ZXItPnByZXZUZXJtaW5hdG9yKCk7CiB9
Ci0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVu
YW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVs
ZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVy
JiBjb250ZXh0LCBTb3VyY2VFbGVtZW50c01vZGUgbW9kZSwgRnVuY3Rpb25QYXJzZVR5cGUgdHlw
ZSkKKyNlbHNlCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
U291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZUVsZW1lbnRzTW9kZSBt
b2RlKQorI2VuZGlmCiB7CiAgICAgY29uc3QgdW5zaWduZWQgbGVuZ3RoT2ZVc2VTdHJpY3RMaXRl
cmFsID0gMTI7IC8vICJ1c2Ugc3RyaWN0Ii5sZW5ndGgKICAgICBUcmVlU291cmNlRWxlbWVudHMg
c291cmNlRWxlbWVudHMgPSBjb250ZXh0LmNyZWF0ZVNvdXJjZUVsZW1lbnRzKCk7CkBAIC0zMzMs
NyArMzM3LDExIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1l
bnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsCiAgICAgdW5zaWduZWQgZGlyZWN0
aXZlTGl0ZXJhbExlbmd0aCA9IDA7CiAgICAgYXV0byBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9p
bnQoKTsKICAgICBib29sIGhhc1NldFN0cmljdCA9IGZhbHNlOworI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisgICAgd2hpbGUgKFRyZWVTdGF0ZW1lbnQgc3RhdGVtZW50ID0g
cGFyc2VTdGF0ZW1lbnQoY29udGV4dCwgZGlyZWN0aXZlLCAmZGlyZWN0aXZlTGl0ZXJhbExlbmd0
aCwgdHlwZSkpIHsKKyNlbHNlCiAgICAgd2hpbGUgKFRyZWVTdGF0ZW1lbnQgc3RhdGVtZW50ID0g
cGFyc2VTdGF0ZW1lbnQoY29udGV4dCwgZGlyZWN0aXZlLCAmZGlyZWN0aXZlTGl0ZXJhbExlbmd0
aCkpIHsKKyNlbmRpZiAgICAgIAogICAgICAgICBpZiAobW9kZSA9PSBDaGVja0ZvclN0cmljdE1v
ZGUgJiYgIXNlZW5Ob25EaXJlY3RpdmUpIHsKICAgICAgICAgICAgIGlmIChkaXJlY3RpdmUpIHsK
ICAgICAgICAgICAgICAgICAvLyAidXNlIHN0cmljdCIgbXVzdCBiZSB0aGUgZXhhY3QgbGl0ZXJh
bCB3aXRob3V0IGVzY2FwZSBzZXF1ZW5jZXMgb3IgbGluZSBjb250aW51YXRpb24uCkBAIC0zODEs
NyArMzg5LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZVZhckRlY2xhcmF0aW8KICAgICBUcmVlRXhwcmVzc2lvbiB2
YXJEZWNscyA9IHBhcnNlVmFyRGVjbGFyYXRpb25MaXN0KGNvbnRleHQsIHNjcmF0Y2gsIHNjcmF0
Y2gxLCBzY3JhdGNoMiwgc2NyYXRjaDMsIHNjcmF0Y2gzLCBzY3JhdGNoMywgVmFyRGVjbGFyYXRp
b25Db250ZXh0KTsKICAgICBwcm9wYWdhdGVFcnJvcigpOwogICAgIGZhaWxJZkZhbHNlKGF1dG9T
ZW1pQ29sb24oKSwgIkV4cGVjdGVkICc7JyBhZnRlciB2YXIgZGVjbGFyYXRpb24iKTsKLSAgICAK
KwogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVZhclN0YXRlbWVudChsb2NhdGlvbiwgdmFyRGVj
bHMsIHN0YXJ0LCBlbmQpOwogfQogCkBAIC0zOTUsNyArNDAzLDcgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUNvbnN0
RGVjbGFyYXQKICAgICBUcmVlQ29uc3REZWNsTGlzdCBjb25zdERlY2xzID0gcGFyc2VDb25zdERl
Y2xhcmF0aW9uTGlzdChjb250ZXh0KTsKICAgICBwcm9wYWdhdGVFcnJvcigpOwogICAgIGZhaWxJ
ZkZhbHNlKGF1dG9TZW1pQ29sb24oKSwgIkV4cGVjdGVkICc7JyBhZnRlciBjb25zdCBkZWNsYXJh
dGlvbiIpOwotICAgIAorCiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlQ29uc3RTdGF0ZW1lbnQo
bG9jYXRpb24sIGNvbnN0RGVjbHMsIHN0YXJ0LCBlbmQpOwogfQogCkBAIC00MzAsMTQgKzQzOCwx
NCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlV2hpbGVTdGF0ZW1lbgogICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlv
bih0b2tlbkxvY2F0aW9uKCkpOwogICAgIGludCBzdGFydExpbmUgPSB0b2tlbkxpbmUoKTsKICAg
ICBuZXh0KCk7Ci0gICAgCisKICAgICBoYW5kbGVQcm9kdWN0aW9uT3JGYWlsKE9QRU5QQVJFTiwg
IigiLCAic3RhcnQiLCAid2hpbGUgbG9vcCBjb25kaXRpb24iKTsKICAgICBzZW1hbnRpY0ZhaWxJ
ZlRydWUobWF0Y2goQ0xPU0VQQVJFTiksICJNdXN0IHByb3ZpZGUgYW4gZXhwcmVzc2lvbiBhcyBh
IHdoaWxlIGxvb3AgY29uZGl0aW9uIik7CiAgICAgVHJlZUV4cHJlc3Npb24gZXhwciA9IHBhcnNl
RXhwcmVzc2lvbihjb250ZXh0KTsKICAgICBmYWlsSWZGYWxzZShleHByLCAiVW5hYmxlIHRvIHBh
cnNlIHdoaWxlIGxvb3AgY29uZGl0aW9uIik7CiAgICAgaW50IGVuZExpbmUgPSB0b2tlbkxpbmUo
KTsKICAgICBoYW5kbGVQcm9kdWN0aW9uT3JGYWlsKENMT1NFUEFSRU4sICIpIiwgImVuZCIsICJ3
aGlsZSBsb29wIGNvbmRpdGlvbiIpOwotICAgIAorCiAgICAgY29uc3QgSWRlbnRpZmllciogdW51
c2VkID0gMDsKICAgICBzdGFydExvb3AoKTsKICAgICBUcmVlU3RhdGVtZW50IHN0YXRlbWVudCA9
IHBhcnNlU3RhdGVtZW50KGNvbnRleHQsIHVudXNlZCk7CkBAIC00NTIsNyArNDYwLDcgQEAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VWYXJEZWNsYXJhdGkKICAgICBUcmVlRXhwcmVzc2lvbiBoZWFkID0gMDsKICAgICBU
cmVlRXhwcmVzc2lvbiB0YWlsID0gMDsKICAgICBjb25zdCBJZGVudGlmaWVyKiBsYXN0SWRlbnQ7
Ci0gICAgSlNUb2tlbiBsYXN0SWRlbnRUb2tlbjsgCisgICAgSlNUb2tlbiBsYXN0SWRlbnRUb2tl
bjsKICAgICBkbyB7CiAgICAgICAgIGxhc3RJZGVudCA9IDA7CiAgICAgICAgIGxhc3RQYXR0ZXJu
ID0gMDsKQEAgLTQ4MCw3ICs0ODgsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVZhckRlY2xhcmF0aQogICAgICAg
ICAgICAgICAgIGluaXRFbmQgPSBsYXN0VG9rZW5FbmRQb3NpdGlvbigpOwogICAgICAgICAgICAg
ICAgIGxhc3RJbml0aWFsaXplciA9IGluaXRpYWxpemVyOwogICAgICAgICAgICAgICAgIGZhaWxJ
ZkZhbHNlKGluaXRpYWxpemVyLCAiRXhwZWN0ZWQgZXhwcmVzc2lvbiBhcyB0aGUgaW50aWFsaXpl
ciBmb3IgdGhlIHZhcmlhYmxlICciLCBuYW1lLT5pbXBsKCksICInIik7Ci0gICAgICAgICAgICAg
ICAgCisKICAgICAgICAgICAgICAgICBub2RlID0gY29udGV4dC5jcmVhdGVBc3NpZ25SZXNvbHZl
KGxvY2F0aW9uLCAqbmFtZSwgaW5pdGlhbGl6ZXIsIHZhclN0YXJ0LCB2YXJEaXZvdCwgbGFzdFRv
a2VuRW5kUG9zaXRpb24oKSk7CiAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICBu
b2RlID0gY29udGV4dC5jcmVhdGVFbXB0eVZhckV4cHJlc3Npb24odmFyU3RhcnRMb2NhdGlvbiwg
Km5hbWUpOwpAQCAtNDk4LDcgKzUwNiw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlVmFyRGVjbGFyYXRpCiAgICAg
ICAgICAgICAgICAgbGFzdEluaXRpYWxpemVyID0gcmhzOwogICAgICAgICAgICAgfQogICAgICAg
ICB9Ci0gICAgICAgIAorCiAgICAgICAgIGlmICghaGVhZCkKICAgICAgICAgICAgIGhlYWQgPSBu
b2RlOwogICAgICAgICBlbHNlIGlmICghdGFpbCkgewpAQCAtNTE3LDcgKzUyNSw3IEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBQYXJzZXI8
TGV4ZXJUeXBlPjo6Y3JlYXRlCiB7CiAgICAgQVNTRVJUKCFuYW1lLmlzRW1wdHkoKSk7CiAgICAg
QVNTRVJUKCFuYW1lLmlzTnVsbCgpKTsKLSAgICAKKwogICAgIEFTU0VSVChuYW1lLmltcGwoKS0+
aXNBdG9taWMoKSk7CiAgICAgaWYgKGRlcHRoKSB7CiAgICAgICAgIGlmIChraW5kID09IERlY29u
c3RydWN0VG9WYXJpYWJsZXMpCkBAIC01NDgsNyArNTU2LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIFBhcnNlcjxMZXhlclR5cGU+Ojpj
cmVhdGUKICAgICAgICAgICAgIGZhaWxJZkZhbHNlSWZTdHJpY3QoZGVjbGFyZVZhcmlhYmxlKCZu
YW1lKSwgIkNhbm5vdCBkZWNsYXJlIGEgdmFyaWFibGUgbmFtZWQgJyIsIG5hbWUuaW1wbCgpLCAi
JyBpbiBzdHJpY3QgbW9kZSIpOwogICAgICAgICAgICAgY29udGV4dC5hZGRWYXIoJm5hbWUsIERl
Y2xhcmF0aW9uU3RhY2tzOjpIYXNJbml0aWFsaXplcik7CiAgICAgICAgIH0KLSAgICAgICAgCisK
ICAgICAgICAgaWYgKGtpbmQgPT0gRGVjb25zdHJ1Y3RUb1BhcmFtZXRlcnMpIHsKICAgICAgICAg
ICAgIGJvb2wgZGVjbGFyYXRpb25SZXN1bHQgPSBkZWNsYXJlUGFyYW1ldGVyKCZuYW1lKTsKICAg
ICAgICAgICAgIGlmICghZGVjbGFyYXRpb25SZXN1bHQgJiYgc3RyaWN0TW9kZSgpKSB7CkBAIC01
NzEsNiArNTc5LDMyIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlY29uc3Ry
dWN0aW9uUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6dHJ5UGFyCiAgICAgcmV0dXJuIHBhcnNl
RGVjb25zdHJ1Y3Rpb25QYXR0ZXJuKGNvbnRleHQsIERlY29uc3RydWN0VG9FeHByZXNzaW9ucyk7
CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5
cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRl
bWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVC
dWlsZGVyJiBjb250ZXh0KQoreworICAgIEFTU0VSVChtYXRjaChBUlJPV0ZVTkNUSU9OKSk7CisK
KyAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICBzZW1h
bnRpY0ZhaWxJZkZhbHNlKGN1cnJlbnRTY29wZSgpLT5pc0Z1bmN0aW9uKCksICJSZXR1cm4gc3Rh
dGVtZW50cyBhcmUgb25seSB2YWxpZCBpbnNpZGUgYXJyb3cgZnVuY3Rpb25zIik7CisgICAgSlNU
ZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICBKU1RleHRQb3Np
dGlvbiBlbmQgPSB0b2tlbkVuZFBvc2l0aW9uKCk7CisKKyAgICBuZXh0KCk7CisgICAgVHJlZUV4
cHJlc3Npb24gZXhwciA9IHBhcnNlQXJyb3dFeHByZXNzaW9uKGNvbnRleHQpOworICAgIGZhaWxJ
ZkZhbHNlKGV4cHIsICJDYW5ub3QgcGFyc2UgdGhlIGFycm93IGZ1bmN0aW9uIGV4cHJlc3Npb24i
KTsKKyAgICBlbmQgPSBsYXN0VG9rZW5FbmRQb3NpdGlvbigpOworCisgICAgYm9vbCBjb3JyZWNB
cnJvd0ZpbmlzaCA9IG1hdGNoKFNFTUlDT0xPTikgfHwgbWF0Y2goQ09NTUEpIHx8IG1hdGNoKENM
T1NFUEFSRU4pIHx8IG1hdGNoKENMT1NFQlJBQ0UpIHx8IG1hdGNoKENMT1NFQlJBQ0tFVCkgfHwg
bWF0Y2goRU9GVE9LKTsKKyAgICBmYWlsSWZGYWxzZShjb3JyZWNBcnJvd0ZpbmlzaCwgIkV4cGVj
dGVkIGEgJzsnLCAnXScsICd9JywgJyknLCBvciAnLCcgZm9sbG93aW5nIGEgYXJyb3cgZnVuY3Rp
b24gc3RhdGVtZW50Iik7CisKKyAgICBlbmQgPSB0b2tlbkVuZFBvc2l0aW9uKCk7CisgICAgc2V0
RW5kT2ZTdGF0ZW1lbnQoKTsKKworICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJldHVyblN0YXRl
bWVudChsb2NhdGlvbiwgZXhwciwgc3RhcnQsIGVuZCk7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUg
PHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZURl
Y29uc3RydWN0aW9uUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VEZWNvbnN0cnVjdGlv
blBhdHRlcm4oVHJlZUJ1aWxkZXImIGNvbnRleHQsIERlY29uc3RydWN0aW9uS2luZCBraW5kLCBp
bnQgZGVwdGgpCiB7CkBAIC01OTcsNyArNjMxLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUQK
ICAgICAgICAgICAgIGZhaWxJZkZhbHNlKGlubmVyUGF0dGVybiwgIkNhbm5vdCBwYXJzZSB0aGlz
IGRlY29uc3RydWN0aW9uIHBhdHRlcm4iKTsKICAgICAgICAgICAgIGNvbnRleHQuYXBwZW5kQXJy
YXlQYXR0ZXJuRW50cnkoYXJyYXlQYXR0ZXJuLCBsb2NhdGlvbiwgaW5uZXJQYXR0ZXJuKTsKICAg
ICAgICAgfSB3aGlsZSAoY29uc3VtZShDT01NQSkpOwotICAgICAgICAKKwogICAgICAgICBpZiAo
a2luZCA9PSBEZWNvbnN0cnVjdFRvRXhwcmVzc2lvbnMgJiYgIW1hdGNoKENMT1NFQlJBQ0tFVCkp
CiAgICAgICAgICAgICByZXR1cm4gMDsKIApAQCAtNjA3LDcgKzY0MSw3IEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VECiAgICAgfQogICAgIGNhc2UgT1BFTkJSQUNFOiB7CiAgICAgICAgIG5leHQo
KTsKLSAgICAgICAgCisKICAgICAgICAgaWYgKGtpbmQgPT0gRGVjb25zdHJ1Y3RUb0V4cHJlc3Np
b25zICYmIG1hdGNoKENMT1NFQlJBQ0UpKQogICAgICAgICAgICAgcmV0dXJuIDA7CiAKQEAgLTY1
Miw3ICs2ODYsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVEZWNvbnN0cnVj
dGlvblBhdHRlcm4gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRAogICAgICAgICAgICAgICAgICAg
ICBzZW1hbnRpY0ZhaWxJZlRydWUodG9rZW5UeXBlID09IFJFU0VSVkVELCAiQ2Fubm90IHVzZSBh
YmJyZXZpYXRlZCBkZWNvbnN0cnVjdGlvbiBzeW50YXggZm9yIHJlc2VydmVkIG5hbWUgJyIsIHBy
b3BlcnR5TmFtZS5pbXBsKCksICInIik7CiAgICAgICAgICAgICAgICAgICAgIHNlbWFudGljRmFp
bElmVHJ1ZSh0b2tlblR5cGUgPT0gUkVTRVJWRURfSUZfU1RSSUNULCAiQ2Fubm90IHVzZSBhYmJy
ZXZpYXRlZCBkZWNvbnN0cnVjdGlvbiBzeW50YXggZm9yIHJlc2VydmVkIG5hbWUgJyIsIHByb3Bl
cnR5TmFtZS5pbXBsKCksICInIGluIHN0cmljdCBtb2RlIik7CiAgICAgICAgICAgICAgICAgICAg
IHNlbWFudGljRmFpbElmVHJ1ZSh0b2tlblR5cGUgJiBLZXl3b3JkVG9rZW5GbGFnLCAiQ2Fubm90
IHVzZSBhYmJyZXZpYXRlZCBkZWNvbnN0cnVjdGlvbiBzeW50YXggZm9yIGtleXdvcmQgJyIsIHBy
b3BlcnR5TmFtZS5pbXBsKCksICInIik7Ci0gICAgICAgICAgICAgICAgICAgIAorCiAgICAgICAg
ICAgICAgICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgYSAnOicgcHJpb3IgdG8gbmFt
ZWQgcHJvcGVydHkgZGVjb25zdHJ1Y3Rpb24iKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICAgICAgaW5uZXJQYXR0ZXJuID0gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oY29udGV4
dCwga2luZCwgZGVwdGggKyAxKTsKQEAgLTc0NSw3ICs3NzksNyBAQCB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRm9yU3Rh
dGVtZW50KAogICAgICAgICAvLyBSZW1haW5kZXIgb2YgYSBzdGFuZGFyZCBmb3IgbG9vcCBpcyBo
YW5kbGVkIGlkZW50aWNhbGx5CiAgICAgICAgIGlmIChtYXRjaChTRU1JQ09MT04pKQogICAgICAg
ICAgICAgZ290byBzdGFuZGFyZEZvckxvb3A7Ci0gICAgICAgIAorCiAgICAgICAgIGZhaWxJZkZh
bHNlKGRlY2xhcmF0aW9ucyA9PSAxLCAiY2FuIG9ubHkgZGVjbGFyZSBhIHNpbmdsZSB2YXJpYWJs
ZSBpbiBhbiBlbnVtZXJhdGlvbiIpOwogICAgICAgICBmYWlsSWZUcnVlSWZTdHJpY3QoZm9ySW5J
bml0aWFsaXplciwgIkNhbm5vdCB1c2UgaW5pdGlhbGlzZXIgc3ludGF4IGluIGEgc3RyaWN0IG1v
ZGUgZW51bWVyYXRpb24iKTsKIApAQCAtNzY0LDExICs3OTgsMTEgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZvclN0
YXRlbWVudCgKICAgICAgICAgVHJlZUV4cHJlc3Npb24gZXhwciA9IHBhcnNlRXhwcmVzc2lvbihj
b250ZXh0KTsKICAgICAgICAgZmFpbElmRmFsc2UoZXhwciwgIkV4cGVjdGVkIGV4cHJlc3Npb24g
dG8gZW51bWVyYXRlIik7CiAgICAgICAgIEpTVGV4dFBvc2l0aW9uIGV4cHJFbmQgPSBsYXN0VG9r
ZW5FbmRQb3NpdGlvbigpOwotICAgICAgICAKKwogICAgICAgICBpbnQgZW5kTGluZSA9IHRva2Vu
TGluZSgpOwotICAgICAgICAKKwogICAgICAgICBoYW5kbGVQcm9kdWN0aW9uT3JGYWlsKENMT1NF
UEFSRU4sICIpIiwgImVuZCIsIChpc09mRW51bWVyYXRpb24gPyAiZm9yLW9mIGhlYWRlciIgOiAi
Zm9yLWluIGhlYWRlciIpKTsKLSAgICAgICAgCisKICAgICAgICAgY29uc3QgSWRlbnRpZmllciog
dW51c2VkID0gMDsKICAgICAgICAgc3RhcnRMb29wKCk7CiAgICAgICAgIFRyZWVTdGF0ZW1lbnQg
c3RhdGVtZW50ID0gcGFyc2VTdGF0ZW1lbnQoY29udGV4dCwgdW51c2VkKTsKQEAgLTc3OCw3ICs4
MTIsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlRm9yU3RhdGVtZW50KAogICAgICAgICAgICAgcmV0dXJuIGNvbnRl
eHQuY3JlYXRlRm9yT2ZMb29wKGxvY2F0aW9uLCBmb3JJblRhcmdldCwgZXhwciwgc3RhdGVtZW50
LCBkZWNsc1N0YXJ0LCBpbkxvY2F0aW9uLCBleHByRW5kLCBzdGFydExpbmUsIGVuZExpbmUpOwog
ICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGb3JJbkxvb3AobG9jYXRpb24sIGZvckluVGFy
Z2V0LCBleHByLCBzdGF0ZW1lbnQsIGRlY2xzU3RhcnQsIGluTG9jYXRpb24sIGV4cHJFbmQsIHN0
YXJ0TGluZSwgZW5kTGluZSk7CiAgICAgfQotICAgIAorCiAgICAgaWYgKCFtYXRjaChTRU1JQ09M
T04pKSB7CiAgICAgICAgIGlmIChtYXRjaChPUEVOQlJBQ0UpIHx8IG1hdGNoKE9QRU5CUkFDS0VU
KSkgewogICAgICAgICAgICAgU2F2ZVBvaW50IHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgp
OwpAQCAtNzk3LDE5ICs4MzEsMTkgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
U3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZvclN0YXRlbWVudCgKICAgICAgICAg
bV9hbGxvd3NJbiA9IHRydWU7CiAgICAgICAgIGZhaWxJZkZhbHNlKGRlY2xzLCAiQ2Fubm90IHBh
cnNlIGZvciBsb29wIGRlY2xhcmF0aW9ucyIpOwogICAgIH0KLSAgICAKKwogICAgIGlmIChtYXRj
aChTRU1JQ09MT04pKSB7CiAgICAgc3RhbmRhcmRGb3JMb29wOgogICAgICAgICAvLyBTdGFuZGFy
ZCBmb3IgbG9vcAogICAgICAgICBuZXh0KCk7CiAgICAgICAgIFRyZWVFeHByZXNzaW9uIGNvbmRp
dGlvbiA9IDA7Ci0gICAgICAgIAorCiAgICAgICAgIGlmICghbWF0Y2goU0VNSUNPTE9OKSkgewog
ICAgICAgICAgICAgY29uZGl0aW9uID0gcGFyc2VFeHByZXNzaW9uKGNvbnRleHQpOwogICAgICAg
ICAgICAgZmFpbElmRmFsc2UoY29uZGl0aW9uLCAiQ2Fubm90IHBhcnNlIGZvciBsb29wIGNvbmRp
dGlvbiBleHByZXNzaW9uIik7CiAgICAgICAgIH0KICAgICAgICAgY29uc3VtZU9yRmFpbChTRU1J
Q09MT04sICJFeHBlY3RlZCBhICc7JyBhZnRlciB0aGUgZm9yIGxvb3AgY29uZGl0aW9uIGV4cHJl
c3Npb24iKTsKLSAgICAgICAgCisKICAgICAgICAgVHJlZUV4cHJlc3Npb24gaW5jcmVtZW50ID0g
MDsKICAgICAgICAgaWYgKCFtYXRjaChDTE9TRVBBUkVOKSkgewogICAgICAgICAgICAgaW5jcmVt
ZW50ID0gcGFyc2VFeHByZXNzaW9uKGNvbnRleHQpOwpAQCAtODI0LDcgKzg1OCw3IEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VGb3JTdGF0ZW1lbnQoCiAgICAgICAgIGZhaWxJZkZhbHNlKHN0YXRlbWVudCwgIkV4cGVj
dGVkIGEgc3RhdGVtZW50IGFzIHRoZSBib2R5IG9mIGEgZm9yIGxvb3AiKTsKICAgICAgICAgcmV0
dXJuIGNvbnRleHQuY3JlYXRlRm9yTG9vcChsb2NhdGlvbiwgZGVjbHMsIGNvbmRpdGlvbiwgaW5j
cmVtZW50LCBzdGF0ZW1lbnQsIHN0YXJ0TGluZSwgZW5kTGluZSk7CiAgICAgfQotICAgIAorCiAg
ICAgLy8gRm9yLWluIGxvb3AKIGVudW1lcmF0aW9uTG9vcDoKICAgICBmYWlsSWZGYWxzZShub25M
SFNDb3VudCA9PSBtX25vbkxIU0NvdW50LCAiRXhwZWN0ZWQgYSByZWZlcmVuY2Ugb24gdGhlIGxl
ZnQgaGFuZCBzaWRlIG9mIGFuIGVudW1lcmF0aW9uIHN0YXRlbWVudCIpOwpAQCAtODM4LDcgKzg3
Miw3IEBAIGVudW1lcmF0aW9uTG9vcDoKICAgICBmYWlsSWZGYWxzZShleHByLCAiQ2Fubm90IHBh
cnNlIHN1YmplY3QgZm9yLSIsIGlzT2ZFbnVtZXJhdGlvbiA/ICJvZiIgOiAiaW4iLCAiIHN0YXRl
bWVudCIpOwogICAgIEpTVGV4dFBvc2l0aW9uIGV4cHJFbmQgPSBsYXN0VG9rZW5FbmRQb3NpdGlv
bigpOwogICAgIGludCBlbmRMaW5lID0gdG9rZW5MaW5lKCk7Ci0gICAgCisKICAgICBoYW5kbGVQ
cm9kdWN0aW9uT3JGYWlsKENMT1NFUEFSRU4sICIpIiwgImVuZCIsIChpc09mRW51bWVyYXRpb24g
PyAiZm9yLW9mIGhlYWRlciIgOiAiZm9yLWluIGhlYWRlciIpKTsKICAgICBjb25zdCBJZGVudGlm
aWVyKiB1bnVzZWQgPSAwOwogICAgIHN0YXJ0TG9vcCgpOwpAQCAtODY0LDcgKzg5OCw3IEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VCcmVha1N0YXRlbWVuCiAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0
YXJ0UG9zaXRpb24oKTsKICAgICBKU1RleHRQb3NpdGlvbiBlbmQgPSB0b2tlbkVuZFBvc2l0aW9u
KCk7CiAgICAgbmV4dCgpOwotICAgIAorCiAgICAgaWYgKGF1dG9TZW1pQ29sb24oKSkgewogICAg
ICAgICBzZW1hbnRpY0ZhaWxJZkZhbHNlKGJyZWFrSXNWYWxpZCgpLCAiJ2JyZWFrJyBpcyBvbmx5
IHZhbGlkIGluc2lkZSBhIHN3aXRjaCBvciBsb29wIHN0YXRlbWVudCIpOwogICAgICAgICByZXR1
cm4gY29udGV4dC5jcmVhdGVCcmVha1N0YXRlbWVudChsb2NhdGlvbiwgJm1fdm0tPnByb3BlcnR5
TmFtZXMtPm51bGxJZGVudGlmaWVyLCBzdGFydCwgZW5kKTsKQEAgLTg4Niw3ICs5MjAsNyBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlQ29udGludWVTdGF0ZQogICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5T
dGFydFBvc2l0aW9uKCk7CiAgICAgSlNUZXh0UG9zaXRpb24gZW5kID0gdG9rZW5FbmRQb3NpdGlv
bigpOwogICAgIG5leHQoKTsKLSAgICAKKwogICAgIGlmIChhdXRvU2VtaUNvbG9uKCkpIHsKICAg
ICAgICAgc2VtYW50aWNGYWlsSWZGYWxzZShjb250aW51ZUlzVmFsaWQoKSwgIidjb250aW51ZScg
aXMgb25seSB2YWxpZCBpbnNpZGUgYSBsb29wIHN0YXRlbWVudCIpOwogICAgICAgICByZXR1cm4g
Y29udGV4dC5jcmVhdGVDb250aW51ZVN0YXRlbWVudChsb2NhdGlvbiwgJm1fdm0tPnByb3BlcnR5
TmFtZXMtPm51bGxJZGVudGlmaWVyLCBzdGFydCwgZW5kKTsKQEAgLTkzOCwxMiArOTcyLDEyIEBA
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VUaHJvd1N0YXRlbWVuCiAgICAgbmV4dCgpOwogICAgIGZhaWxJZlRydWUobWF0
Y2goU0VNSUNPTE9OKSwgIkV4cGVjdGVkIGV4cHJlc3Npb24gYWZ0ZXIgJ3Rocm93JyIpOwogICAg
IHNlbWFudGljRmFpbElmVHJ1ZShhdXRvU2VtaUNvbG9uKCksICJDYW5ub3QgaGF2ZSBhIG5ld2xp
bmUgYWZ0ZXIgJ3Rocm93JyIpOwotICAgIAorCiAgICAgVHJlZUV4cHJlc3Npb24gZXhwciA9IHBh
cnNlRXhwcmVzc2lvbihjb250ZXh0KTsKICAgICBmYWlsSWZGYWxzZShleHByLCAiQ2Fubm90IHBh
cnNlIGV4cHJlc3Npb24gZm9yIHRocm93IHN0YXRlbWVudCIpOwogICAgIEpTVGV4dFBvc2l0aW9u
IGVuZCA9IGxhc3RUb2tlbkVuZFBvc2l0aW9uKCk7CiAgICAgZmFpbElmRmFsc2UoYXV0b1NlbWlD
b2xvbigpLCAiRXhwZWN0ZWQgYSAnOycgYWZ0ZXIgYSB0aHJvdyBzdGF0ZW1lbnQiKTsKLSAgICAK
KwogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVRocm93U3RhdGVtZW50KGxvY2F0aW9uLCBleHBy
LCBzdGFydCwgZW5kKTsKIH0KIApAQCAtOTY3LDcgKzEwMDEsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlV2l0aFN0
YXRlbWVudAogICAgIGNvbnN0IElkZW50aWZpZXIqIHVudXNlZCA9IDA7CiAgICAgVHJlZVN0YXRl
bWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVudChjb250ZXh0LCB1bnVzZWQpOwogICAgIGZh
aWxJZkZhbHNlKHN0YXRlbWVudCwgIkEgJ3dpdGgnIHN0YXRlbWVudCBtdXN0IGhhdmUgYSBib2R5
Iik7Ci0gICAgCisKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVXaXRoU3RhdGVtZW50KGxvY2F0
aW9uLCBleHByLCBzdGF0ZW1lbnQsIHN0YXJ0LCBlbmQsIHN0YXJ0TGluZSwgZW5kTGluZSk7CiB9
CiAKQEAgLTk4MiwyMyArMTAxNiwyMyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3dpdGNoU3RhdGVtZQogICAgIFRy
ZWVFeHByZXNzaW9uIGV4cHIgPSBwYXJzZUV4cHJlc3Npb24oY29udGV4dCk7CiAgICAgZmFpbElm
RmFsc2UoZXhwciwgIkNhbm5vdCBwYXJzZSBzd2l0Y2ggc3ViamVjdCBleHByZXNzaW9uIik7CiAg
ICAgaW50IGVuZExpbmUgPSB0b2tlbkxpbmUoKTsKLSAgICAKKwogICAgIGhhbmRsZVByb2R1Y3Rp
b25PckZhaWwoQ0xPU0VQQVJFTiwgIikiLCAiZW5kIiwgInN1YmplY3Qgb2YgYSAnc3dpdGNoJyIp
OwogICAgIGhhbmRsZVByb2R1Y3Rpb25PckZhaWwoT1BFTkJSQUNFLCAieyIsICJzdGFydCIsICJi
b2R5IG9mIGEgJ3N3aXRjaCciKTsKICAgICBzdGFydFN3aXRjaCgpOwogICAgIFRyZWVDbGF1c2VM
aXN0IGZpcnN0Q2xhdXNlcyA9IHBhcnNlU3dpdGNoQ2xhdXNlcyhjb250ZXh0KTsKICAgICBwcm9w
YWdhdGVFcnJvcigpOwotICAgIAorCiAgICAgVHJlZUNsYXVzZSBkZWZhdWx0Q2xhdXNlID0gcGFy
c2VTd2l0Y2hEZWZhdWx0Q2xhdXNlKGNvbnRleHQpOwogICAgIHByb3BhZ2F0ZUVycm9yKCk7Ci0g
ICAgCisKICAgICBUcmVlQ2xhdXNlTGlzdCBzZWNvbmRDbGF1c2VzID0gcGFyc2VTd2l0Y2hDbGF1
c2VzKGNvbnRleHQpOwogICAgIHByb3BhZ2F0ZUVycm9yKCk7CiAgICAgZW5kU3dpdGNoKCk7CiAg
ICAgaGFuZGxlUHJvZHVjdGlvbk9yRmFpbChDTE9TRUJSQUNFLCAifSIsICJlbmQiLCAiYm9keSBv
ZiBhICdzd2l0Y2gnIik7Ci0gICAgCisKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVTd2l0Y2hT
dGF0ZW1lbnQobG9jYXRpb24sIGV4cHIsIGZpcnN0Q2xhdXNlcywgZGVmYXVsdENsYXVzZSwgc2Vj
b25kQ2xhdXNlcywgc3RhcnRMaW5lLCBlbmRMaW5lKTsKLSAgICAKKwogfQogCiB0ZW1wbGF0ZSA8
dHlwZW5hbWUgTGV4ZXJUeXBlPgpAQCAtMTAxNyw3ICsxMDUxLDcgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlQ2xhdXNlTGlzdCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTd2l0
Y2hDbGF1c2UKICAgICBjb250ZXh0LnNldFN0YXJ0T2Zmc2V0KGNsYXVzZSwgc3RhcnRPZmZzZXQp
OwogICAgIFRyZWVDbGF1c2VMaXN0IGNsYXVzZUxpc3QgPSBjb250ZXh0LmNyZWF0ZUNsYXVzZUxp
c3QoY2xhdXNlKTsKICAgICBUcmVlQ2xhdXNlTGlzdCB0YWlsID0gY2xhdXNlTGlzdDsKLSAgICAK
KwogICAgIHdoaWxlIChtYXRjaChDQVNFKSkgewogICAgICAgICBzdGFydE9mZnNldCA9IHRva2Vu
U3RhcnQoKTsKICAgICAgICAgbmV4dCgpOwpAQCAtMTA2MCwxNSArMTA5NCwxNSBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlVHJ5U3RhdGVtZW50KAogICAgIGludCBmaXJzdExpbmUgPSB0b2tlbkxpbmUoKTsKICAgICBu
ZXh0KCk7CiAgICAgbWF0Y2hPckZhaWwoT1BFTkJSQUNFLCAiRXhwZWN0ZWQgYSBibG9jayBzdGF0
ZW1lbnQgYXMgYm9keSBvZiBhIHRyeSBzdGF0ZW1lbnQiKTsKLSAgICAKKwogICAgIHRyeUJsb2Nr
ID0gcGFyc2VCbG9ja1N0YXRlbWVudChjb250ZXh0KTsKICAgICBmYWlsSWZGYWxzZSh0cnlCbG9j
aywgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiB0cnkgYmxvY2siKTsKICAgICBpbnQgbGFzdExp
bmUgPSBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmU7Ci0gICAgCisKICAgICBpZiAobWF0Y2go
Q0FUQ0gpKSB7CiAgICAgICAgIGN1cnJlbnRTY29wZSgpLT5zZXROZWVkc0Z1bGxBY3RpdmF0aW9u
KCk7CiAgICAgICAgIG5leHQoKTsKLSAgICAgICAgCisKICAgICAgICAgaGFuZGxlUHJvZHVjdGlv
bk9yRmFpbChPUEVOUEFSRU4sICIoIiwgInN0YXJ0IiwgIidjYXRjaCcgdGFyZ2V0Iik7CiAgICAg
ICAgIGlmICghbWF0Y2goSURFTlQpKSB7CiAgICAgICAgICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVU
b0tleXdvcmQoImNhdGNoIHZhcmlhYmxlIG5hbWUiKTsKQEAgLTEwODUsNyArMTExOSw3IEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VUcnlTdGF0ZW1lbnQoCiAgICAgICAgIGZhaWxJZkZhbHNlKGNhdGNoQmxvY2ssICJV
bmFibGUgdG8gcGFyc2UgJ2NhdGNoJyBibG9jayIpOwogICAgICAgICBmYWlsSWZGYWxzZShwb3BT
Y29wZShjYXRjaFNjb3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFibGVJbmZvKSwgIlBh
cnNlIGVycm9yIik7CiAgICAgfQotICAgIAorCiAgICAgaWYgKG1hdGNoKEZJTkFMTFkpKSB7CiAg
ICAgICAgIG5leHQoKTsKICAgICAgICAgbWF0Y2hPckZhaWwoT1BFTkJSQUNFLCAiRXhwZWN0ZWQg
YmxvY2sgc3RhdGVtZW50IGZvciBmaW5hbGx5IGJvZHkiKTsKQEAgLTExMzcsOCArMTE3MSwxMyBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlQmxvY2tTdGF0ZW1lbgogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVy
VHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElk
ZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoLCBG
dW5jdGlvblBhcnNlVHlwZSB0eXBlKQorI2Vsc2UKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5
cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVu
dGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCkKKyNl
bmRpZgogewogICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0
aCk7CiAgICAgbV9zdGF0ZW1lbnREZXB0aCsrOwpAQCAtMTE0Nyw2ICsxMTg2LDI4IEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgZmFpbElmU3RhY2tPdmVyZmxvdygpOwogICAgIFRyZWVT
dGF0ZW1lbnQgcmVzdWx0ID0gMDsKICAgICBib29sIHNob3VsZFNldEVuZE9mZnNldCA9IHRydWU7
CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGJvb2wgaGFuZGxl
ZCA9IGZhbHNlOworICAgIGlmICh0eXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAg
ICAgICAgc3dpdGNoIChtX3Rva2VuLm1fdHlwZSkgeworICAgICAgICBjYXNlIENMT1NFUEFSRU46
CisgICAgICAgIGNhc2UgQ0xPU0VCUkFDS0VUOgorICAgICAgICBjYXNlIENPTU1BOgorICAgICAg
ICBjYXNlIFNFTUlDT0xPTjogeworICAgICAgICAgICAgcmVzdWx0ID0gMDsKKyAgICAgICAgICAg
IGhhbmRsZWQgPSB0cnVlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAg
ZGVmYXVsdDoKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGhh
bmRsZWQpCisgICAgICAgICAgICBnb3RvIGVuZFN0YXRlbWVuZXQ7Cit9CisjZW5kaWYKKwogICAg
IHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKICAgICBjYXNlIE9QRU5CUkFDRToKICAgICAgICAg
cmVzdWx0ID0gcGFyc2VCbG9ja1N0YXRlbWVudChjb250ZXh0KTsKQEAgLTExOTIsNiArMTI1Mywx
MSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAgIGNhc2UgQlJFQUs6CiAgICAgICAgIHJl
c3VsdCA9IHBhcnNlQnJlYWtTdGF0ZW1lbnQoY29udGV4dCk7CiAgICAgICAgIGJyZWFrOworI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2FzZSBBUlJPV0ZVTkNUSU9O
OgorICAgICAgICByZXN1bHQgPSBwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoY29udGV4dCk7
CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgY2FzZSBSRVRVUk46CiAgICAgICAgIHJlc3Vs
dCA9IHBhcnNlUmV0dXJuU3RhdGVtZW50KGNvbnRleHQpOwogICAgICAgICBicmVhazsKQEAgLTEy
MzMsNiArMTI5OSw4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVu
dCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgICAgIGJyZWFrOwog
ICAgIH0KIAorZW5kU3RhdGVtZW5ldDoKKwogICAgIGlmIChyZXN1bHQgJiYgc2hvdWxkU2V0RW5k
T2Zmc2V0KQogICAgICAgICBjb250ZXh0LnNldEVuZE9mZnNldChyZXN1bHQsIG1fbGFzdFRva2Vu
RW5kUG9zaXRpb24ub2Zmc2V0KTsKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTI1Myw2ICsxMzIx
LDIzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUZvcm1hbFBhcmFtZXRlckxp
c3QgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRm9yCiAgICAgcmV0dXJuIGxpc3Q7CiB9CiAKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExl
eGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUZ1bmN0aW9uQm9keSBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uQm9keShUcmVlQnVpbGRlciYgY29u
dGV4dCkKK3sKKyAgICBKU1Rva2VuTG9jYXRpb24gc3RhcnRMb2NhdGlvbih0b2tlbkxvY2F0aW9u
KCkpOworICAgIHVuc2lnbmVkIHN0YXJ0Q29sdW1uID0gdG9rZW5Db2x1bW4oKTsKKworICAgIERl
cHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7CisgICAgbV9zdGF0
ZW1lbnREZXB0aCA9IDA7CisgICAgdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkZ1bmN0aW9uQm9keUJ1
aWxkZXIgYm9keUJ1aWxkZXIoY29uc3RfY2FzdDxWTSo+KG1fdm0pLCBtX2xleGVyLmdldCgpKTsK
KworICAgIGZhaWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMoYm9keUJ1aWxkZXIsIENoZWNr
Rm9yU3RyaWN0TW9kZSwgQXJyb3dGdW5jdGlvblBhcnNlVHlwZSksICJDYW5ub3QgcGFyc2UgYm9k
eSBvZiB0aGlzIGFycm93IGZ1bmN0aW9uIik7CisgICAgdW5zaWduZWQgZW5kQ29sdW1uID0gdG9r
ZW5Db2x1bW4oKTsKKyAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRM
b2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBzdHJpY3RN
b2RlKCkpOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGdW5jdGlvbkJvZHkgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlRnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewpAQCAtMTMyMSwx
MiArMTQwNiwxMiBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgIH0KICAgICBjb25zdW1l
T3JGYWlsKENMT1NFUEFSRU4sICJFeHBlY3RlZCBhICcpJyBvciBhICcsJyBhZnRlciBhIHBhcmFt
ZXRlciBkZWNsYXJhdGlvbiIpOwogICAgIG1hdGNoT3JGYWlsKE9QRU5CUkFDRSwgIkV4cGVjdGVk
IGFuIG9wZW5pbmcgJ3snIGF0IHRoZSBzdGFydCBvZiBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9k
ZShtb2RlKSwgIiBib2R5Iik7Ci0gICAgCisKICAgICBpbmZvLm9wZW5CcmFjZU9mZnNldCA9IG1f
dG9rZW4ubV9kYXRhLm9mZnNldDsKICAgICBpbmZvLmJvZHlTdGFydExpbmUgPSB0b2tlbkxpbmUo
KTsKICAgICBpbmZvLmJvZHlTdGFydENvbHVtbiA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldCAtIG1f
dG9rZW4ubV9kYXRhLmxpbmVTdGFydE9mZnNldDsKICAgICBKU1Rva2VuTG9jYXRpb24gc3RhcnRM
b2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwotICAgIAorCiAgICAgLy8gSWYgd2Uga25vdyBhYm91
dCB0aGlzIGZ1bmN0aW9uIGFscmVhZHksIHdlIGNhbiB1c2UgdGhlIGNhY2hlZCBpbmZvIGFuZCBz
a2lwIHRoZSBwYXJzZXIgdG8gdGhlIGVuZCBvZiB0aGUgZnVuY3Rpb24uCiAgICAgaWYgKGNvbnN0
IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKiBjYWNoZWRJbmZvID0gVHJlZUJ1aWxkZXI6OkNhblVz
ZUZ1bmN0aW9uQ2FjaGUgPyBmaW5kQ2FjaGVkRnVuY3Rpb25JbmZvKGluZm8ub3BlbkJyYWNlT2Zm
c2V0KSA6IDApIHsKICAgICAgICAgLy8gSWYgd2UncmUgaW4gYSBzdHJpY3QgY29udGV4dCwgdGhl
IGNhY2hlZCBmdW5jdGlvbiBpbmZvIG11c3Qgc2F5IGl0IHdhcyBzdHJpY3QgdG9vLgpAQCAtMTM0
NSwxMCArMTQzMCwxMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICB1bnNpZ25l
ZCBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0ID0gbV90b2tlbi5tX2xvY2F0aW9uLmxpbmVTdGFydE9m
ZnNldDsKIAogICAgICAgICBpbmZvLmJvZHkgPSBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uQm9keShz
dGFydExvY2F0aW9uLCBlbmRMb2NhdGlvbiwgaW5mby5ib2R5U3RhcnRDb2x1bW4sIGJvZHlFbmRD
b2x1bW4sIGNhY2hlZEluZm8tPnN0cmljdE1vZGUpOwotICAgICAgICAKKwogICAgICAgICBmdW5j
dGlvblNjb3BlLT5yZXN0b3JlRnJvbVNvdXJjZVByb3ZpZGVyQ2FjaGUoY2FjaGVkSW5mbyk7CiAg
ICAgICAgIGZhaWxJZkZhbHNlKHBvcFNjb3BlKGZ1bmN0aW9uU2NvcGUsIFRyZWVCdWlsZGVyOjpO
ZWVkc0ZyZWVWYXJpYWJsZUluZm8pLCAiUGFyc2VyIGVycm9yIik7Ci0gICAgICAgIAorCiAgICAg
ICAgIGluZm8uY2xvc2VCcmFjZU9mZnNldCA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VPZmZzZXQ7
CiAKICAgICAgICAgY29udGV4dC5zZXRGdW5jdGlvbk5hbWVTdGFydChpbmZvLmJvZHksIGZ1bmN0
aW9uTmFtZVN0YXJ0KTsKQEAgLTEzNjAsNyArMTQ0NSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1
aWxkCiAgICAgICAgIG1fbGV4ZXItPnNldExpbmVOdW1iZXIobV90b2tlbi5tX2xvY2F0aW9uLmxp
bmUpOwogCiAgICAgICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KGluZm8uYm9keSwgbV9sZXhlci0+
Y3VycmVudE9mZnNldCgpKTsKLSAgICAgICAgCisKICAgICAgICAgbmV4dCgpOwogICAgICAgICBp
bmZvLmJvZHlFbmRMaW5lID0gbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lOwogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKQEAgLTEzNzksNyArMTQ2NCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxk
CiAgICAgaW5mby5jbG9zZUJyYWNlT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OwogICAg
IHVuc2lnbmVkIGNsb3NlQnJhY2VMaW5lID0gbV90b2tlbi5tX2RhdGEubGluZTsKICAgICB1bnNp
Z25lZCBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEubGluZVN0YXJ0
T2Zmc2V0OwotICAgIAorCiAgICAgLy8gQ2FjaGUgdGhlIHRva2VuaXplciBzdGF0ZSBhbmQgdGhl
IGZ1bmN0aW9uIHNjb3BlIHRoZSBmaXJzdCB0aW1lIHRoZSBmdW5jdGlvbiBpcyBwYXJzZWQuCiAg
ICAgLy8gQW55IGZ1dHVyZSByZXBhcnNpbmcgY2FuIHRoZW4gc2tpcCB0aGUgZnVuY3Rpb24uCiAg
ICAgc3RhdGljIGNvbnN0IGludCBtaW5pbXVtRnVuY3Rpb25MZW5ndGhUb0NhY2hlID0gMTY7CkBA
IC0xMzk2LDE4ICsxNDgxLDEzOSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wg
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogCiAgICAgfQog
ICAgIGNvbnRleHQuc2V0RnVuY3Rpb25OYW1lU3RhcnQoaW5mby5ib2R5LCBmdW5jdGlvbk5hbWVT
dGFydCk7Ci0gICAgCisKICAgICBmYWlsSWZGYWxzZShwb3BTY29wZShmdW5jdGlvblNjb3BlLCBU
cmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFibGVJbmZvKSwgIlBhcnNlciBlcnJvciIpOwogICAg
IG1hdGNoT3JGYWlsKENMT1NFQlJBQ0UsICJFeHBlY3RlZCBhIGNsb3NpbmcgJ30nIGFmdGVyIGEg
Iiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKLSAgICAKKwogICAgIGlm
IChuZXdJbmZvKQogICAgICAgICBtX2Z1bmN0aW9uQ2FjaGUtPmFkZChpbmZvLm9wZW5CcmFjZU9m
ZnNldCwgV1RGOjptb3ZlKG5ld0luZm8pKTsKLSAgICAKKwogICAgIG5leHQoKTsKICAgICBpbmZv
LmJvZHlFbmRMaW5lID0gbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lOwogICAgIHJldHVybiB0
cnVlOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRl
IDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wg
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImIGNv
bnRleHQsIEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVp
bGRlcj4mIGluZm8pCit7CisgICAgQXV0b1BvcFNjb3BlUmVmIGZ1bmN0aW9uU2NvcGUodGhpcywg
cHVzaFNjb3BlKCkpOworICAgIGZ1bmN0aW9uU2NvcGUtPnNldElzRnVuY3Rpb24oKTsKKyAgICBp
bnQgZnVuY3Rpb25OYW1lU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7Cisg
ICAgY29uc3QgSWRlbnRpZmllciogbGFzdEZ1bmN0aW9uTmFtZSA9IG1fbGFzdEZ1bmN0aW9uTmFt
ZTsKKyAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBudWxscHRyOworCisgICAgaWYgKCFtYXRjaChJ
REVOVCkgJiYgIW1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgc2VtYW50aWNGYWlsdXJlRHVl
VG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7CisgICAgICAg
IGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgYW4gYXJyb3cgZnVuY3Rpb24gaW5wdXQgcGFyYW1l
dGVyIik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAg
ICAgICAgICAgIGNvbnN1bWUoT1BFTlBBUkVOKTsKKworICAgICAgICAgICAgaWYgKCFtYXRjaChD
TE9TRVBBUkVOKSkgeworICAgICAgICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9IHBhcnNlRm9y
bWFsUGFyYW1ldGVycyhjb250ZXh0KTsKKyAgICAgICAgICAgICAgICBmYWlsSWZGYWxzZShpbmZv
LnBhcmFtZXRlcnMsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAiLCBzdHJpbmdG
b3JGdW5jdGlvbk1vZGUobW9kZSkpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBjb25z
dW1lT3JGYWlsKENMT1NFUEFSRU4sICJFeHBlY3RlZCBhICcpJyBvciBhICcsJyBhZnRlciBhIHBh
cmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaW5m
by5wYXJhbWV0ZXJzID0gcGFyc2VGb3JtYWxQYXJhbWV0ZXJzKGNvbnRleHQpOworICAgICAgICAg
ICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMg
Zm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAgICAgfQorICAg
IH0KKworICAgIG1hdGNoT3JGYWlsKEFSUk9XRlVOQ1RJT04sICJFeHBlY3RlZCBhICc9PicgYWZ0
ZXIgYXJyb3cgZnVuY3Rpb24gcGFyYW1ldGVyIGRlY2xhcmF0aW9uIik7CisKKyAgICBpbmZvLm9w
ZW5CcmFjZU9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKKyAgICBpbmZvLmJvZHlTdGFy
dExpbmUgPSB0b2tlbkxpbmUoKTsKKyAgICBpbmZvLmJvZHlTdGFydENvbHVtbiA9IG1fdG9rZW4u
bV9kYXRhLm9mZnNldCAtIG1fdG9rZW4ubV9kYXRhLmxpbmVTdGFydE9mZnNldDsKKworICAgIEpT
VG9rZW5Mb2NhdGlvbiBzdGFydExvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CisKKyAgICAvLyBJ
ZiB3ZSBrbm93IGFib3V0IHRoaXMgZnVuY3Rpb24gYWxyZWFkeSwgd2UgY2FuIHVzZSB0aGUgY2Fj
aGVkIGluZm8gYW5kIHNraXAgdGhlIHBhcnNlciB0byB0aGUgZW5kIG9mIHRoZSBmdW5jdGlvbi4K
KyAgICBpZiAoY29uc3QgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0qIGNhY2hlZEluZm8gPSBUcmVl
QnVpbGRlcjo6Q2FuVXNlRnVuY3Rpb25DYWNoZSA/IGZpbmRDYWNoZWRGdW5jdGlvbkluZm8oaW5m
by5vcGVuQnJhY2VPZmZzZXQpIDogMCkgeworICAgICAgICAvLyBJZiB3ZSdyZSBpbiBhIHN0cmlj
dCBjb250ZXh0LCB0aGUgY2FjaGVkIGZ1bmN0aW9uIGluZm8gbXVzdCBzYXkgaXQgd2FzIHN0cmlj
dCB0b28uCisgICAgICAgIEFTU0VSVCghc3RyaWN0TW9kZSgpIHx8IGNhY2hlZEluZm8tPnN0cmlj
dE1vZGUpOworICAgICAgICBKU1Rva2VuTG9jYXRpb24gZW5kTG9jYXRpb247CisKKyAgICAgICAg
ZW5kTG9jYXRpb24ubGluZSA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VMaW5lOworICAgICAgICBl
bmRMb2NhdGlvbi5zdGFydE9mZnNldCA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VPZmZzZXQ7Cisg
ICAgICAgIGVuZExvY2F0aW9uLmxpbmVTdGFydE9mZnNldCA9IGNhY2hlZEluZm8tPmNsb3NlQnJh
Y2VMaW5lU3RhcnRPZmZzZXQ7CisKKyAgICAgICAgYm9vbCBlbmRDb2x1bW5Jc09uU3RhcnRMaW5l
ID0gKGVuZExvY2F0aW9uLmxpbmUgPT0gaW5mby5ib2R5U3RhcnRMaW5lKTsKKyAgICAgICAgQVNT
RVJUKGVuZExvY2F0aW9uLnN0YXJ0T2Zmc2V0ID49IGVuZExvY2F0aW9uLmxpbmVTdGFydE9mZnNl
dCk7CisgICAgICAgIHVuc2lnbmVkIGJvZHlFbmRDb2x1bW4gPSBlbmRDb2x1bW5Jc09uU3RhcnRM
aW5lID8KKyAgICAgICAgZW5kTG9jYXRpb24uc3RhcnRPZmZzZXQgLSBtX3Rva2VuLm1fZGF0YS5s
aW5lU3RhcnRPZmZzZXQgOgorICAgICAgICBlbmRMb2NhdGlvbi5zdGFydE9mZnNldCAtIGVuZExv
Y2F0aW9uLmxpbmVTdGFydE9mZnNldDsKKyAgICAgICAgdW5zaWduZWQgY3VycmVudExpbmVTdGFy
dE9mZnNldCA9IG1fdG9rZW4ubV9sb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQ7CisKKyAgICAgICAg
aW5mby5ib2R5ID0gY29udGV4dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgZW5k
TG9jYXRpb24sIGluZm8uYm9keVN0YXJ0Q29sdW1uLCBib2R5RW5kQ29sdW1uLCBjYWNoZWRJbmZv
LT5zdHJpY3RNb2RlKTsKKworICAgICAgICBmdW5jdGlvblNjb3BlLT5yZXN0b3JlRnJvbVNvdXJj
ZVByb3ZpZGVyQ2FjaGUoY2FjaGVkSW5mbyk7CisgICAgICAgIGZhaWxJZkZhbHNlKHBvcFNjb3Bl
KGZ1bmN0aW9uU2NvcGUsIFRyZWVCdWlsZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUluZm8pLCAiUGFy
c2VyIGVycm9yIik7CisKKyAgICAgICAgaW5mby5jbG9zZUJyYWNlT2Zmc2V0ID0gY2FjaGVkSW5m
by0+Y2xvc2VCcmFjZU9mZnNldDsKKworICAgICAgICBjb250ZXh0LnNldEZ1bmN0aW9uTmFtZVN0
YXJ0KGluZm8uYm9keSwgZnVuY3Rpb25OYW1lU3RhcnQpOworICAgICAgICBtX3Rva2VuID0gY2Fj
aGVkSW5mby0+Y2xvc2VCcmFjZVRva2VuKCk7CisgICAgICAgIGlmIChlbmRDb2x1bW5Jc09uU3Rh
cnRMaW5lKQorICAgICAgICAgICAgbV90b2tlbi5tX2xvY2F0aW9uLmxpbmVTdGFydE9mZnNldCA9
IGN1cnJlbnRMaW5lU3RhcnRPZmZzZXQ7CisKKyAgICAgICAgbV9sZXhlci0+c2V0T2Zmc2V0KG1f
dG9rZW4ubV9sb2NhdGlvbi5lbmRPZmZzZXQsIG1fdG9rZW4ubV9sb2NhdGlvbi5saW5lU3RhcnRP
ZmZzZXQpOworICAgICAgICBtX2xleGVyLT5zZXRMaW5lTnVtYmVyKG1fdG9rZW4ubV9sb2NhdGlv
bi5saW5lKTsKKworICAgICAgICBjb250ZXh0LnNldEVuZE9mZnNldChpbmZvLmJvZHksIG1fbGV4
ZXItPmN1cnJlbnRPZmZzZXQoKSk7CisKKyAgICAgICAgbmV4dCgpOworICAgICAgICBpbmZvLmJv
ZHlFbmRMaW5lID0gbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lOworICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICB9CisgICAgbV9sYXN0RnVuY3Rpb25OYW1lID0gbGFzdEZ1bmN0aW9uTmFtZTsK
KyAgICBQYXJzZXJTdGF0ZSBvbGRTdGF0ZSA9IHNhdmVTdGF0ZSgpOworCisgICAgaW5mby5ib2R5
ID0gcGFyc2VBcnJvd0Z1bmN0aW9uQm9keShjb250ZXh0KTsKKyAgICByZXN0b3JlU3RhdGUob2xk
U3RhdGUpOworICAgIGZhaWxJZkZhbHNlKGluZm8uYm9keSwgIkNhbm5vdCBwYXJzZSB0aGUgYm9k
eSBvZiB0aGlzICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7CisgICAgY29udGV4dC5z
ZXRFbmRPZmZzZXQoaW5mby5ib2R5LCBtX2xleGVyLT5jdXJyZW50T2Zmc2V0KCkpOworICAgIGlm
IChmdW5jdGlvblNjb3BlLT5zdHJpY3RNb2RlKCkgJiYgaW5mby5uYW1lKSB7CisgICAgICAgIFJF
TEVBU0VfQVNTRVJUKG1vZGUgPT0gRnVuY3Rpb25Nb2RlKTsKKyAgICAgICAgc2VtYW50aWNGYWls
SWZUcnVlKG1fdm0tPnByb3BlcnR5TmFtZXMtPmFyZ3VtZW50cyA9PSAqaW5mby5uYW1lLCAiJyIs
IGluZm8ubmFtZS0+aW1wbCgpLCAiJyBpcyBub3QgYSB2YWxpZCBmdW5jdGlvbiBuYW1lIGluIHN0
cmljdCBtb2RlIik7CisgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShtX3ZtLT5wcm9wZXJ0eU5h
bWVzLT5ldmFsID09ICppbmZvLm5hbWUsICInIiwgaW5mby5uYW1lLT5pbXBsKCksICInIGlzIG5v
dCBhIHZhbGlkIGZ1bmN0aW9uIG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsKKyAgICB9CisgICAgaW5m
by5jbG9zZUJyYWNlT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgIHVuc2lnbmVk
IGNsb3NlQnJhY2VMaW5lID0gbV90b2tlbi5tX2RhdGEubGluZTsKKyAgICB1bnNpZ25lZCBjbG9z
ZUJyYWNlTGluZVN0YXJ0T2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEubGluZVN0YXJ0T2Zmc2V0Owor
CisgICAgLy8gQ2FjaGUgdGhlIHRva2VuaXplciBzdGF0ZSBhbmQgdGhlIGZ1bmN0aW9uIHNjb3Bl
IHRoZSBmaXJzdCB0aW1lIHRoZSBmdW5jdGlvbiBpcyBwYXJzZWQuCisgICAgLy8gQW55IGZ1dHVy
ZSByZXBhcnNpbmcgY2FuIHRoZW4gc2tpcCB0aGUgZnVuY3Rpb24uCisgICAgc3RhdGljIGNvbnN0
IGludCBtaW5pbXVtRnVuY3Rpb25MZW5ndGhUb0NhY2hlID0gMTY7CisgICAgc3RkOjp1bmlxdWVf
cHRyPFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtPiBuZXdJbmZvOworICAgIGludCBmdW5jdGlvbkxl
bmd0aCA9IGluZm8uY2xvc2VCcmFjZU9mZnNldCAtIGluZm8ub3BlbkJyYWNlT2Zmc2V0OworICAg
IGlmIChUcmVlQnVpbGRlcjo6Q2FuVXNlRnVuY3Rpb25DYWNoZSAmJiBtX2Z1bmN0aW9uQ2FjaGUg
JiYgZnVuY3Rpb25MZW5ndGggPiBtaW5pbXVtRnVuY3Rpb25MZW5ndGhUb0NhY2hlKSB7CisgICAg
ICAgIFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJhbWV0ZXJzIHBhcmFtZXRlcnM7
CisgICAgICAgIHBhcmFtZXRlcnMuZnVuY3Rpb25OYW1lU3RhcnQgPSBmdW5jdGlvbk5hbWVTdGFy
dDsKKyAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJyYWNlTGluZSA9IGNsb3NlQnJhY2VMaW5lOwor
ICAgICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VPZmZzZXQgPSBpbmZvLmNsb3NlQnJhY2VPZmZz
ZXQ7CisgICAgICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldCA9IGNsb3Nl
QnJhY2VMaW5lU3RhcnRPZmZzZXQ7CisgICAgICAgIGZ1bmN0aW9uU2NvcGUtPmZpbGxQYXJhbWV0
ZXJzRm9yU291cmNlUHJvdmlkZXJDYWNoZShwYXJhbWV0ZXJzKTsKKyAgICAgICAgbmV3SW5mbyA9
IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjpjcmVhdGUocGFyYW1ldGVycyk7CisKKyAgICB9Cisg
ICAgY29udGV4dC5zZXRGdW5jdGlvbk5hbWVTdGFydChpbmZvLmJvZHksIGZ1bmN0aW9uTmFtZVN0
YXJ0KTsKKworICAgIGZhaWxJZkZhbHNlKHBvcFNjb3BlKGZ1bmN0aW9uU2NvcGUsIFRyZWVCdWls
ZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUluZm8pLCAiUGFyc2VyIGVycm9yIik7CisKKyAgICBib29s
IGVuZE9mQXJyb3dGdW5jdGlvbiA9IG1hdGNoKFNFTUlDT0xPTikgfHwgbWF0Y2goQ09NTUEpIHx8
IG1hdGNoKENMT1NFUEFSRU4pIHx8IG1hdGNoKENMT1NFQlJBQ0UpIHx8IG1hdGNoKENMT1NFQlJB
Q0tFVCk7CisgICAgZmFpbElmRmFsc2UoZW5kT2ZBcnJvd0Z1bmN0aW9uLCAiRXhwZWN0ZWQgdGhl
IGNsb3NpbmcgJzsnICcsJyAnXScgJyknICd9JyBhZnRlciBhcnJvdyBmdW5jdGlvbiIpOworCisg
ICAgaWYgKG5ld0luZm8pCisgICAgICAgIG1fZnVuY3Rpb25DYWNoZS0+YWRkKGluZm8ub3BlbkJy
YWNlT2Zmc2V0LCBXVEY6Om1vdmUobmV3SW5mbykpOworCisgICAgaW5mby5ib2R5RW5kTGluZSA9
IG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKyNlbmRp
ZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRGVj
bGFyYXRpb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7CkBAIC0xNTUyLDcgKzE3NTgsNyBAQCBz
dHJ1Y3QgTGFiZWxJbmZvIHsKICAgICAsIG1fZW5kKGVuZCkKICAgICB7CiAgICAgfQotICAgIAor
CiAgICAgY29uc3QgSWRlbnRpZmllciogbV9pZGVudDsKICAgICBKU1RleHRQb3NpdGlvbiBtX3N0
YXJ0OwogICAgIEpTVGV4dFBvc2l0aW9uIG1fZW5kOwpAQCAtMTU2MSw3ICsxNzY3LDcgQEAgc3Ry
dWN0IExhYmVsSW5mbyB7CiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUV4cHJlc3Npb25PckxhYmVsU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewotICAg
IAorCiAgICAgLyogRXhwcmVzc2lvbiBhbmQgTGFiZWwgc3RhdGVtZW50cyBhcmUgYW1iaWd1b3Vz
IGF0IExMKDEpLCBzbyB3ZSBoYXZlIGEKICAgICAgKiBzcGVjaWFsIGNhc2UgdGhhdCBsb29rcyBm
b3IgYSBjb2xvbiBhcyB0aGUgbmV4dCBjaGFyYWN0ZXIgaW4gdGhlIGlucHV0LgogICAgICAqLwpA
QCAtMTYwMCw3ICsxODA2LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3Rh
dGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cHJlc3Npb25PckwKICAgICBjYXNlIERP
OgogICAgICAgICBpc0xvb3AgPSB0cnVlOwogICAgICAgICBicmVhazsKLSAgICAgICAgCisKICAg
ICBkZWZhdWx0OgogICAgICAgICBicmVhazsKICAgICB9CkBAIC0xNjcyLDcgKzE4NzgsNyBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlSWZTdGF0ZW1lbnQoVAogICAgICAgICB9CiAgICAgICAgIGludCBpbm5lclN0YXJ0
ID0gdG9rZW5MaW5lKCk7CiAgICAgICAgIG5leHQoKTsKLSAgICAgICAgCisKICAgICAgICAgaGFu
ZGxlUHJvZHVjdGlvbk9yRmFpbChPUEVOUEFSRU4sICIoIiwgInN0YXJ0IiwgIidpZicgY29uZGl0
aW9uIik7CiAKICAgICAgICAgVHJlZUV4cHJlc3Npb24gaW5uZXJDb25kaXRpb24gPSBwYXJzZUV4
cHJlc3Npb24oY29udGV4dCk7CkBAIC0xNzIxLDYgKzE5MjcsMTggQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlmU3Rh
dGVtZW50KFQKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVJZlN0YXRlbWVudChpZkxvY2F0aW9u
LCBjb25kaXRpb24sIHRydWVCbG9jaywgc3RhdGVtZW50U3RhY2subGFzdCgpLCBzdGFydCwgZW5k
KTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8
dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhw
cmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0V4cHJlc3Npb24oVHJlZUJ1aWxk
ZXImIGNvbnRleHQpCit7CisgICAgZmFpbElmU3RhY2tPdmVyZmxvdygpOworICAgIFRyZWVFeHBy
ZXNzaW9uIG5vZGUgPSBwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKGNvbnRleHQpOworICAgIGZh
aWxJZkZhbHNlKG5vZGUsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lvbiIpOworICAgIGNvbnRleHQu
c2V0RW5kT2Zmc2V0KG5vZGUsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ub2Zmc2V0KTsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgog
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VFeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewpAQCAtMTc2OCw2
ICsxOTg2LDM4IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Np
b24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXNzaWdubWVuCiAgICAgICAgIH0KICAgICAgICAg
cmVzdG9yZVNhdmVQb2ludChzYXZlUG9pbnQpOwogICAgIH0KKworCisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2lu
dCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgIGJvb2wgYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCA9
IGZhbHNlOworICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgIG5leHQoKTsKKyAg
ICAgICAgaWYgKG1hdGNoKENMT1NFUEFSRU4pKSB7CisgICAgICAgICAgICBuZXh0KCk7CisKKyAg
ICAgICAgICAgIGlmIChtYXRjaChBUlJPV0ZVTkNUSU9OKSkKKyAgICAgICAgICAgICAgICBhcnJv
d0Z1bmN0aW9uRW1wdHlMaXN0ID0gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICghYXJy
b3dGdW5jdGlvbkVtcHR5TGlzdCkKKyAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFy
cm93RnVuY3Rpb25Qb2ludCk7CisgICAgfQorI2VuZGlmCisKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgIFRyZWVFeHByZXNzaW9uIGxocyA9IHBhcnNlQ29uZGl0aW9u
YWxFeHByZXNzaW9uKGNvbnRleHQpOworICAgIGlmICghYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCkg
eworICAgICAgICBmYWlsSWZGYWxzZShsaHMsICJDYW4Zbm90IHBhcnNlIGV4cHJlc3Npb24iKTsK
KyAgICAgICAgaWYgKGluaXRpYWxOb25MSFNDb3VudCAhPSBtX25vbkxIU0NvdW50KSB7CisgICAg
ICAgICAgICBpZiAobV90b2tlbi5tX3R5cGUgPj0gRVFVQUwgJiYgbV90b2tlbi5tX3R5cGUgPD0g
T1JFUVVBTCkKKyAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWwoIkxlZnQgaGFuZCBzaWRlIG9m
IG9wZXJhdG9yICciLCBnZXRUb2tlbigpLCAiJyBtdXN0IGJlIGEgcmVmZXJlbmNlIik7CisKKyAg
ICAgICAgICAgIHJldHVybiBsaHM7CisgICAgICAgIH0KKyAgICB9CisjZWxzZQorCiAgICAgVHJl
ZUV4cHJlc3Npb24gbGhzID0gcGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24oY29udGV4dCk7CiAg
ICAgZmFpbElmRmFsc2UobGhzLCAiQ2Fubm90IHBhcnNlIGV4cHJlc3Npb24iKTsKICAgICBpZiAo
aW5pdGlhbE5vbkxIU0NvdW50ICE9IG1fbm9uTEhTQ291bnQpIHsKQEAgLTE3NzYsNyArMjAyNiwx
NiBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbgogCiAgICAgICAgIHJldHVybiBsaHM7CiAgICAg
fQorI2VuZGlmCiAgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICBpZiAobWF0Y2goQVJST1dGVU5DVElPTikpIHsKKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChz
YXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAgVHJlZUV4cHJlc3Npb24gbGhzID0gcGFy
c2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihjb250ZXh0KTsKKyAgICAgICAgcmV0dXJuIGxoczsKKyAg
ICB9CisjZW5kaWYKKwogICAgIGludCBhc3NpZ25tZW50U3RhY2sgPSAwOwogICAgIE9wZXJhdG9y
IG9wOwogICAgIGJvb2wgaGFkQXNzaWdubWVudCA9IGZhbHNlOwpAQCAtMTgyMCwxMyArMjA3OSwx
MyBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbgogZW5kOgogICAgIGlmIChoYWRBc3NpZ25tZW50
KQogICAgICAgICBtX25vbkxIU0NvdW50Kys7Ci0gICAgCisKICAgICBpZiAoIVRyZWVCdWlsZGVy
OjpDcmVhdGVzQVNUKQogICAgICAgICByZXR1cm4gbGhzOwotICAgIAorCiAgICAgd2hpbGUgKGFz
c2lnbm1lbnRTdGFjaykKICAgICAgICAgbGhzID0gY29udGV4dC5jcmVhdGVBc3NpZ25tZW50KGxv
Y2F0aW9uLCBhc3NpZ25tZW50U3RhY2ssIGxocywgaW5pdGlhbEFzc2lnbm1lbnRDb3VudCwgbV9h
c3NpZ25tZW50Q291bnQsIGxhc3RUb2tlbkVuZFBvc2l0aW9uKCkpOwotICAgIAorCiAgICAgcmV0
dXJuIGxoczsKIH0KIApAQCAtMTg0NSw3ICsyMTA0LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VDb25kaXRpb25h
bEUKICAgICBmYWlsSWZGYWxzZShsaHMsICJDYW5ub3QgcGFyc2UgbGVmdCBoYW5kIHNpZGUgb2Yg
dGVybmFyeSBvcGVyYXRvciIpOwogICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KGxocywgbV9sYXN0
VG9rZW5FbmRQb3NpdGlvbi5vZmZzZXQpOwogICAgIGNvbnN1bWVPckZhaWxXaXRoRmxhZ3MoQ09M
T04sIFRyZWVCdWlsZGVyOjpEb250QnVpbGRTdHJpbmdzLCAiRXhwZWN0ZWQgJzonIGluIHRlcm5h
cnkgb3BlcmF0b3IiKTsKLSAgICAKKwogICAgIFRyZWVFeHByZXNzaW9uIHJocyA9IHBhcnNlQXNz
aWdubWVudEV4cHJlc3Npb24oY29udGV4dCk7CiAgICAgZmFpbElmRmFsc2UocmhzLCAiQ2Fubm90
IHBhcnNlIHJpZ2h0IGhhbmQgc2lkZSBvZiB0ZXJuYXJ5IG9wZXJhdG9yIik7CiAgICAgY29udGV4
dC5zZXRFbmRPZmZzZXQocmhzLCBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLm9mZnNldCk7CkBAIC0x
ODY4LDcgKzIxMjcsNyBAQCBpbnQgUGFyc2VyPExleGVyVHlwZT46OmlzQmluYXJ5T3BlcmF0b3Io
SlNUb2tlblR5cGUgdG9rZW4pCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VCaW5hcnlFeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewotICAgIAorCiAg
ICAgaW50IG9wZXJhbmRTdGFja0RlcHRoID0gMDsKICAgICBpbnQgb3BlcmF0b3JTdGFja0RlcHRo
ID0gMDsKICAgICB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6QmluYXJ5RXhwckNvbnRleHQgYmluYXJ5
RXhwckNvbnRleHQoY29udGV4dCk7CkBAIC0xODc4LDcgKzIxMzcsNyBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUJp
bmFyeUV4cHJlcwogICAgICAgICBpbnQgaW5pdGlhbEFzc2lnbm1lbnRzID0gbV9hc3NpZ25tZW50
Q291bnQ7CiAgICAgICAgIFRyZWVFeHByZXNzaW9uIGN1cnJlbnQgPSBwYXJzZVVuYXJ5RXhwcmVz
c2lvbihjb250ZXh0KTsKICAgICAgICAgZmFpbElmRmFsc2UoY3VycmVudCwgIkNhbm5vdCBwYXJz
ZSBleHByZXNzaW9uIik7Ci0gICAgICAgIAorCiAgICAgICAgIGNvbnRleHQuYXBwZW5kQmluYXJ5
RXhwcmVzc2lvbkluZm8ob3BlcmFuZFN0YWNrRGVwdGgsIGN1cnJlbnQsIGV4cHJTdGFydCwgbGFz
dFRva2VuRW5kUG9zaXRpb24oKSwgbGFzdFRva2VuRW5kUG9zaXRpb24oKSwgaW5pdGlhbEFzc2ln
bm1lbnRzICE9IG1fYXNzaWdubWVudENvdW50KTsKICAgICAgICAgaW50IHByZWNlZGVuY2UgPSBp
c0JpbmFyeU9wZXJhdG9yKG1fdG9rZW4ubV90eXBlKTsKICAgICAgICAgaWYgKCFwcmVjZWRlbmNl
KQpAQCAtMTg4NywxMCArMjE0NiwxMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUJpbmFyeUV4cHJlcwogICAgICAg
ICBtX25vbkxIU0NvdW50Kys7CiAgICAgICAgIGludCBvcGVyYXRvclRva2VuID0gbV90b2tlbi5t
X3R5cGU7CiAgICAgICAgIG5leHQoVHJlZUJ1aWxkZXI6OkRvbnRCdWlsZFN0cmluZ3MpOwotICAg
ICAgICAKKwogICAgICAgICB3aGlsZSAob3BlcmF0b3JTdGFja0RlcHRoICYmICBjb250ZXh0Lm9w
ZXJhdG9yU3RhY2tIYXNIaWdoZXJQcmVjZWRlbmNlKG9wZXJhdG9yU3RhY2tEZXB0aCwgcHJlY2Vk
ZW5jZSkpIHsKICAgICAgICAgICAgIEFTU0VSVChvcGVyYW5kU3RhY2tEZXB0aCA+IDEpOwotICAg
ICAgICAgICAgCisKICAgICAgICAgICAgIHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpCaW5hcnlPcGVy
YW5kIHJocyA9IGNvbnRleHQuZ2V0RnJvbU9wZXJhbmRTdGFjaygtMSk7CiAgICAgICAgICAgICB0
eXBlbmFtZSBUcmVlQnVpbGRlcjo6QmluYXJ5T3BlcmFuZCBsaHMgPSBjb250ZXh0LmdldEZyb21P
cGVyYW5kU3RhY2soLTIpOwogICAgICAgICAgICAgY29udGV4dC5zaHJpbmtPcGVyYW5kU3RhY2tC
eShvcGVyYW5kU3RhY2tEZXB0aCwgMik7CkBAIC0xOTAxLDcgKzIxNjAsNyBAQCB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUJpbmFyeUV4cHJlcwogICAgIH0KICAgICB3aGlsZSAob3BlcmF0b3JTdGFja0RlcHRoKSB7CiAg
ICAgICAgIEFTU0VSVChvcGVyYW5kU3RhY2tEZXB0aCA+IDEpOwotICAgICAgICAKKwogICAgICAg
ICB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6QmluYXJ5T3BlcmFuZCByaHMgPSBjb250ZXh0LmdldEZy
b21PcGVyYW5kU3RhY2soLTEpOwogICAgICAgICB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6QmluYXJ5
T3BlcmFuZCBsaHMgPSBjb250ZXh0LmdldEZyb21PcGVyYW5kU3RhY2soLTIpOwogICAgICAgICBj
b250ZXh0LnNocmlua09wZXJhbmRTdGFja0J5KG9wZXJhbmRTdGFja0RlcHRoLCAyKTsKQEAgLTE5
MjcsNyArMjE4Niw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5KFRyZWVCCiAgICAgICAgICAgICBuZXh0
RXhwZWN0SWRlbnRpZmllcihMZXhlckZsYWdzSWdub3JlUmVzZXJ2ZWRXb3Jkcyk7CiAgICAgICAg
IGVsc2UKICAgICAgICAgICAgIG5leHRFeHBlY3RJZGVudGlmaWVyKExleGVyRmxhZ3NJZ25vcmVS
ZXNlcnZlZFdvcmRzIHwgVHJlZUJ1aWxkZXI6OkRvbnRCdWlsZEtleXdvcmRzKTsKLSAgICAgICAg
CisKICAgICAgICAgaWYgKG1hdGNoKENPTE9OKSkgewogICAgICAgICAgICAgbmV4dCgpOwogICAg
ICAgICAgICAgVHJlZUV4cHJlc3Npb24gbm9kZSA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24o
Y29udGV4dCk7CkBAIC0xOTU4LDcgKzIyMTcsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVQcm9wZXJ0eSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0eShUcmVlQgog
ICAgICAgICBuZXh0KCk7CiAgICAgICAgIGF1dG8gcHJvcGVydHlOYW1lID0gcGFyc2VFeHByZXNz
aW9uKGNvbnRleHQpOwogICAgICAgICBmYWlsSWZGYWxzZShwcm9wZXJ0eU5hbWUsICJDYW5ub3Qg
cGFyc2UgY29tcHV0ZWQgcHJvcGVydHkgbmFtZSIpOwotICAgICAgICAKKwogICAgICAgICBoYW5k
bGVQcm9kdWN0aW9uT3JGYWlsKENMT1NFQlJBQ0tFVCwgIl0iLCAiZW5kIiwgImNvbXB1dGVkIHBy
b3BlcnR5IG5hbWUiKTsKICAgICAgICAgY29uc3VtZU9yRmFpbChDT0xPTiwgIkV4cGVjdGVkICc6
JyBhZnRlciBwcm9wZXJ0eSBuYW1lIik7CiAgICAgICAgIFRyZWVFeHByZXNzaW9uIG5vZGUgPSBw
YXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKGNvbnRleHQpOwpAQCAtMjAwNiwxMiArMjI2NSwxMiBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZU9iamVjdExpdGVyYQogICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0
b2tlbkxvY2F0aW9uKCkpOwogCiAgICAgaW50IG9sZE5vbkxIU0NvdW50ID0gbV9ub25MSFNDb3Vu
dDsKLSAgICAKKwogICAgIGlmIChtYXRjaChDTE9TRUJSQUNFKSkgewogICAgICAgICBuZXh0KCk7
CiAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZU9iamVjdExpdGVyYWwobG9jYXRpb24pOwog
ICAgIH0KLSAgICAKKwogICAgIFRyZWVQcm9wZXJ0eSBwcm9wZXJ0eSA9IHBhcnNlUHJvcGVydHko
Y29udGV4dCwgZmFsc2UpOwogICAgIGZhaWxJZkZhbHNlKHByb3BlcnR5LCAiQ2Fubm90IHBhcnNl
IG9iamVjdCBsaXRlcmFsIHByb3BlcnR5Iik7CiAgICAgaWYgKCFtX3N5bnRheEFscmVhZHlWYWxp
ZGF0ZWQgJiYgY29udGV4dC5nZXRUeXBlKHByb3BlcnR5KSAhPSBQcm9wZXJ0eU5vZGU6OkNvbnN0
YW50KSB7CkBAIC0yMDM3LDkgKzIyOTYsOSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZU9iamVjdExpdGVyYQogCiAg
ICAgbG9jYXRpb24gPSB0b2tlbkxvY2F0aW9uKCk7CiAgICAgaGFuZGxlUHJvZHVjdGlvbk9yRmFp
bChDTE9TRUJSQUNFLCAifSIsICJlbmQiLCAib2JqZWN0IGxpdGVyYWwiKTsKLSAgICAKKwogICAg
IG1fbm9uTEhTQ291bnQgPSBvbGROb25MSFNDb3VudDsKLSAgICAKKwogICAgIHJldHVybiBjb250
ZXh0LmNyZWF0ZU9iamVjdExpdGVyYWwobG9jYXRpb24sIHByb3BlcnR5TGlzdCk7CiB9CiAKQEAg
LTIwNDcsNyArMjMwNiw3IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZVN0cmljdE9iamVjdExpdGVyYWwoVHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7CiAgICAgY29u
c3VtZU9yRmFpbChPUEVOQlJBQ0UsICJFeHBlY3RlZCBvcGVuaW5nICd7JyBhdCB0aGUgc3RhcnQg
b2YgYW4gb2JqZWN0IGxpdGVyYWwiKTsKLSAgICAKKwogICAgIGludCBvbGROb25MSFNDb3VudCA9
IG1fbm9uTEhTQ291bnQ7CiAKICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2Nh
dGlvbigpKTsKQEAgLTIwNTUsMTYgKzIzMTQsMTYgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdHJpY3RPYmplY3QK
ICAgICAgICAgbmV4dCgpOwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVPYmplY3RMaXRl
cmFsKGxvY2F0aW9uKTsKICAgICB9Ci0gICAgCisKICAgICBUcmVlUHJvcGVydHkgcHJvcGVydHkg
PSBwYXJzZVByb3BlcnR5KGNvbnRleHQsIHRydWUpOwogICAgIGZhaWxJZkZhbHNlKHByb3BlcnR5
LCAiQ2Fubm90IHBhcnNlIG9iamVjdCBsaXRlcmFsIHByb3BlcnR5Iik7Ci0gICAgCisKICAgICB0
eXBlZGVmIEhhc2hNYXA8UmVmUHRyPFN0cmluZ0ltcGw+LCB1bnNpZ25lZCwgSWRlbnRpZmllclJl
cEhhc2g+IE9iamVjdFZhbGlkYXRpb25NYXA7CiAgICAgT2JqZWN0VmFsaWRhdGlvbk1hcCBvYmpl
Y3RWYWxpZGF0b3I7CiAgICAgLy8gQWRkIHRoZSBmaXJzdCBwcm9wZXJ0eQogICAgIGlmICghbV9z
eW50YXhBbHJlYWR5VmFsaWRhdGVkICYmIGNvbnRleHQuZ2V0TmFtZShwcm9wZXJ0eSkpCiAgICAg
ICAgIG9iamVjdFZhbGlkYXRvci5hZGQoY29udGV4dC5nZXROYW1lKHByb3BlcnR5KS0+aW1wbCgp
LCBjb250ZXh0LmdldFR5cGUocHJvcGVydHkpKTsKLSAgICAKKwogICAgIFRyZWVQcm9wZXJ0eUxp
c3QgcHJvcGVydHlMaXN0ID0gY29udGV4dC5jcmVhdGVQcm9wZXJ0eUxpc3QobG9jYXRpb24sIHBy
b3BlcnR5KTsKICAgICBUcmVlUHJvcGVydHlMaXN0IHRhaWwgPSBwcm9wZXJ0eUxpc3Q7CiAgICAg
d2hpbGUgKG1hdGNoKENPTU1BKSkgewpAQCAtMjA5OSw5ICsyMzU4LDkgQEAgdGVtcGxhdGUgPHR5
cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJl
c3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyYXlMaXRlcmFsKFRyZWVCdWlsZGVyJiBj
b250ZXh0KQogewogICAgIGNvbnN1bWVPckZhaWxXaXRoRmxhZ3MoT1BFTkJSQUNLRVQsIFRyZWVC
dWlsZGVyOjpEb250QnVpbGRTdHJpbmdzLCAiRXhwZWN0ZWQgYW4gb3BlbmluZyAnWycgYXQgdGhl
IGJlZ2lubmluZyBvZiBhbiBhcnJheSBsaXRlcmFsIik7Ci0gICAgCisKICAgICBpbnQgb2xkTm9u
TEhTQ291bnQgPSBtX25vbkxIU0NvdW50OwotICAgIAorCiAgICAgaW50IGVsaXNpb25zID0gMDsK
ICAgICB3aGlsZSAobWF0Y2goQ09NTUEpKSB7CiAgICAgICAgIG5leHQoVHJlZUJ1aWxkZXI6OkRv
bnRCdWlsZFN0cmluZ3MpOwpAQCAtMjExMiw3ICsyMzcxLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJheUxp
dGVyYWwKICAgICAgICAgbmV4dChUcmVlQnVpbGRlcjo6RG9udEJ1aWxkU3RyaW5ncyk7CiAgICAg
ICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUFycmF5KGxvY2F0aW9uLCBlbGlzaW9ucyk7CiAgICAg
fQotICAgIAorCiAgICAgVHJlZUV4cHJlc3Npb24gZWxlbTsKICAgICBpZiAoVU5MSUtFTFkobWF0
Y2goRE9URE9URE9UKSkpIHsKICAgICAgICAgYXV0byBzcHJlYWRMb2NhdGlvbiA9IG1fdG9rZW4u
bV9sb2NhdGlvbjsKQEAgLTIxMzEsMTIgKzIzOTAsMTIgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJheUxpdGVy
YWwKICAgICB3aGlsZSAobWF0Y2goQ09NTUEpKSB7CiAgICAgICAgIG5leHQoVHJlZUJ1aWxkZXI6
OkRvbnRCdWlsZFN0cmluZ3MpOwogICAgICAgICBlbGlzaW9ucyA9IDA7Ci0gICAgICAgIAorCiAg
ICAgICAgIHdoaWxlIChtYXRjaChDT01NQSkpIHsKICAgICAgICAgICAgIG5leHQoKTsKICAgICAg
ICAgICAgIGVsaXNpb25zKys7CiAgICAgICAgIH0KLSAgICAgICAgCisKICAgICAgICAgaWYgKG1h
dGNoKENMT1NFQlJBQ0tFVCkpIHsKICAgICAgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlv
bih0b2tlbkxvY2F0aW9uKCkpOwogICAgICAgICAgICAgbmV4dChUcmVlQnVpbGRlcjo6RG9udEJ1
aWxkU3RyaW5ncyk7CkBAIC0yMTYzLDkgKzI0MjIsOSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycmF5TGl0ZXJh
bAogICAgICAgICBmYWlsSWZGYWxzZShtYXRjaChET1RET1RET1QpLCAiRXhwZWN0ZWQgZWl0aGVy
IGEgY2xvc2luZyAnXScgb3IgYSAnLCcgZm9sbG93aW5nIGFuIGFycmF5IGVsZW1lbnQiKTsKICAg
ICAgICAgc2VtYW50aWNGYWlsKCJUaGUgJy4uLicgb3BlcmF0b3Igc2hvdWxkIGNvbWUgYmVmb3Jl
IGEgdGFyZ2V0IGV4cHJlc3Npb24iKTsKICAgICB9Ci0gICAgCisKICAgICBtX25vbkxIU0NvdW50
ID0gb2xkTm9uTEhTQ291bnQ7Ci0gICAgCisKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVBcnJh
eShsb2NhdGlvbiwgZWxlbWVudExpc3QpOwogfQogCkBAIC0yMjA3LDYgKzI0NjYsMjMgQEAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAgcmV0dXJuIGNvbnRleHQudGhpc0V4cHIobG9j
YXRpb24pOwogICAgIH0KICAgICBjYXNlIElERU5UOiB7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQg
PSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tl
blN0YXJ0UG9zaXRpb24oKTsKKyAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rv
a2VuLm1fZGF0YS5pZGVudDsKKyAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2Vu
TG9jYXRpb24oKSk7CisgICAgICAgIG5leHQoKTsKKworICAgICAgICBpZiAoIW1hdGNoKEFSUk9X
RlVOQ1RJT04pKSB7CisgICAgICAgICAgICBjdXJyZW50U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRl
bnQsIG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmlkZW50KTsKKyAgICAgICAgICAgIG1f
bGFzdElkZW50aWZpZXIgPSBpZGVudDsKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0
ZVJlc29sdmUobG9jYXRpb24sIGlkZW50LCBzdGFydCk7CisgICAgICAgIH0KKworICAgICAgICBy
ZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICBUcmVlRXhw
cmVzc2lvbiBsaHMgPSBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKGNvbnRleHQpOworICAgICAg
ICByZXR1cm4gbGhzOworI2Vsc2UKICAgICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tl
blN0YXJ0UG9zaXRpb24oKTsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rv
a2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2Vu
TG9jYXRpb24oKSk7CkBAIC0yMjE0LDYgKzI0OTAsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHBy
ZQogICAgICAgICBjdXJyZW50U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRlbnQsIG1fdm0tPnByb3Bl
cnR5TmFtZXMtPmV2YWwgPT0gKmlkZW50KTsKICAgICAgICAgbV9sYXN0SWRlbnRpZmllciA9IGlk
ZW50OwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVSZXNvbHZlKGxvY2F0aW9uLCBpZGVu
dCwgc3RhcnQpOworI2VuZGlmCiAgICAgfQogICAgIGNhc2UgU1RSSU5HOiB7CiAgICAgICAgIGNv
bnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CkBAIC0yMjUxLDcg
KzI1MjgsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHByZQogICAgICAgICAgICAgZmFpbElmRmFs
c2UobV9sZXhlci0+c2NhblJlZ0V4cChwYXR0ZXJuLCBmbGFncywgJz0nKSwgIkludmFsaWQgcmVn
dWxhciBleHByZXNzaW9uIik7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGZhaWxJZkZhbHNl
KG1fbGV4ZXItPnNjYW5SZWdFeHAocGF0dGVybiwgZmxhZ3MpLCAiSW52YWxpZCByZWd1bGFyIGV4
cHJlc3Npb24iKTsKLSAgICAgICAgCisKICAgICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0
b2tlblN0YXJ0UG9zaXRpb24oKTsKICAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRv
a2VuTG9jYXRpb24oKSk7CiAgICAgICAgIG5leHQoKTsKQEAgLTIyOTYsNyArMjU3Myw3IEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUFyZ3VtZW50cyBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VBcmd1bWVudHMoVHJlCiAgICAgfQogICAgIFRyZWVFeHByZXNzaW9uIGZpcnN0QXJn
ID0gcGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbihjb250ZXh0KTsKICAgICBmYWlsSWZGYWxzZShm
aXJzdEFyZywgIkNhbm5vdCBwYXJzZSBmdW5jdGlvbiBhcmd1bWVudCIpOwotICAgIAorCiAgICAg
VHJlZUFyZ3VtZW50c0xpc3QgYXJnTGlzdCA9IGNvbnRleHQuY3JlYXRlQXJndW1lbnRzTGlzdChs
b2NhdGlvbiwgZmlyc3RBcmcpOwogICAgIFRyZWVBcmd1bWVudHNMaXN0IHRhaWwgPSBhcmdMaXN0
OwogICAgIHdoaWxlIChtYXRjaChDT01NQSkpIHsKQEAgLTIzMjUsNyArMjYwMiw3IEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlTWVtYmVyRXhwcmVzCiAgICAgfQogCiAgICAgYmFzZSA9IHBhcnNlUHJpbWFyeUV4cHJl
c3Npb24oY29udGV4dCk7Ci0gICAgCisKICAgICBmYWlsSWZGYWxzZShiYXNlLCAiQ2Fubm90IHBh
cnNlIGJhc2UgZXhwcmVzc2lvbiIpOwogICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgIGxvY2F0
aW9uID0gdG9rZW5Mb2NhdGlvbigpOwpAQCAtMjM4MCw2ICsyNjU3LDMyIEBAIGVuZE1lbWJlckV4
cHJlc3Npb246CiAgICAgcmV0dXJuIGJhc2U7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
QXJyb3dGdW5jdGlvbldyYXBwZXIoVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAgVHJlZUV4
cHJlc3Npb24gYmFzZSA9IDA7CisgICAgSlNUZXh0UG9zaXRpb24gZXhwcmVzc2lvblN0YXJ0ID0g
dG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgaW50IG5ld0NvdW50ID0gMDsKKyAgICBKU1Rva2Vu
TG9jYXRpb24gbG9jYXRpb247CisKKyAgICBpZiAobWF0Y2goSURFTlQpIHx8IG1hdGNoKE9QRU5Q
QVJFTikpIHsKKyAgICAgICAgdW5zaWduZWQgZnVuY3Rpb25LZXl3b3JkU3RhcnQgPSB0b2tlblN0
YXJ0KCk7CisgICAgICAgIGxvY2F0aW9uID0gdG9rZW5Mb2NhdGlvbigpOworICAgICAgICBQYXJz
ZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87CisgICAgICAgIGluZm8ubmFtZSA9ICZt
X3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllcjsKKyAgICAgICAgZmFpbElmRmFsc2Uo
KHBhcnNlQXJyb3dGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Nb2RlLCBpbmZvKSksICJD
YW5ub3QgcGFyc2UgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgICAgICBiYXNlID0gY29udGV4
dC5jcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihsb2NhdGlvbiwgaW5mbywgZnVuY3Rpb25LZXl3b3Jk
U3RhcnQpOworICAgIH0gZWxzZQorICAgICAgICBiYXNlID0gcGFyc2VQcmltYXJ5RXhwcmVzc2lv
bihjb250ZXh0KTsKKworICAgIGZhaWxJZkZhbHNlKGJhc2UsICJDYW5ub3QgcGFyc2UgYmFzZSBl
eHByZXNzaW9uIik7CisgICAgd2hpbGUgKG5ld0NvdW50LS0pCisgICAgICAgIGJhc2UgPSBjb250
ZXh0LmNyZWF0ZU5ld0V4cHIobG9jYXRpb24sIGJhc2UsIGV4cHJlc3Npb25TdGFydCwgbGFzdFRv
a2VuRW5kUG9zaXRpb24oKSk7CisgICAgcmV0dXJuIGJhc2U7Cit9CisjZW5kaWYKKwogc3RhdGlj
IGNvbnN0IGNoYXIqIG9wZXJhdG9yU3RyaW5nKGJvb2wgcHJlZml4LCB1bnNpZ25lZCB0b2spCiB7
CiAgICAgc3dpdGNoICh0b2spIHsKQEAgLTIzOTYsMTMgKzI2OTksMTMgQEAgc3RhdGljIGNvbnN0
IGNoYXIqIG9wZXJhdG9yU3RyaW5nKGJvb2wgcHJlZml4LCB1bnNpZ25lZCB0b2spCiAKICAgICBj
YXNlIFRJTERFOgogICAgICAgICByZXR1cm4gImJpdHdpc2Utbm90IjsKLSAgICAKKwogICAgIGNh
c2UgVFlQRU9GOgogICAgICAgICByZXR1cm4gInR5cGVvZiI7Ci0gICAgCisKICAgICBjYXNlIFZP
SURUT0tFTjoKICAgICAgICAgcmV0dXJuICJ2b2lkIjsKLSAgICAKKwogICAgIGNhc2UgREVMRVRF
VE9LRU46CiAgICAgICAgIHJldHVybiAiZGVsZXRlIjsKICAgICB9CkBAIC0yNDg0LDcgKzI3ODcs
NyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZVVuYXJ5RXhwcmVzcwogICAgIGRlZmF1bHQ6CiAgICAgICAgIGJyZWFr
OwogICAgIH0KLSAgICAKKwogICAgIEpTVGV4dFBvc2l0aW9uIGVuZCA9IGxhc3RUb2tlbkVuZFBv
c2l0aW9uKCk7CiAKICAgICBpZiAoIVRyZWVCdWlsZGVyOjpDcmVhdGVzQVNUICYmIChtX3N5bnRh
eEFscmVhZHlWYWxpZGF0ZWQgfHwgIXN0cmljdE1vZGUoKSkpCkBAIC0yNTgwLDExICsyODgzLDEx
IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+IHZvaWQgUGFyc2VyPExleGVyVHlwZT46
OnByaW50VW5leHBlY3RlZFRva2VuVGV4dChXCiAgICAgY2FzZSBOVU1CRVI6CiAgICAgICAgIG91
dC5wcmludCgiVW5leHBlY3RlZCBudW1iZXIgJyIsIGdldFRva2VuKCksICInIik7CiAgICAgICAg
IHJldHVybjsKLSAgICAKKwogICAgIGNhc2UgUkVTRVJWRURfSUZfU1RSSUNUOgogICAgICAgICBv
dXQucHJpbnQoIlVuZXhwZWN0ZWQgdXNlIG9mIHJlc2VydmVkIHdvcmQgJyIsIGdldFRva2VuKCks
ICInIGluIHN0cmljdCBtb2RlIik7CiAgICAgICAgIHJldHVybjsKLSAgICAgICAgCisKICAgICBj
YXNlIFJFU0VSVkVEOgogICAgICAgICBvdXQucHJpbnQoIlVuZXhwZWN0ZWQgdXNlIG9mIHJlc2Vy
dmVkIHdvcmQgJyIsIGdldFRva2VuKCksICInIik7CiAgICAgICAgIHJldHVybjsKQEAgLTI1OTIs
NyArMjg5NSw3IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+IHZvaWQgUGFyc2VyPExl
eGVyVHlwZT46OnByaW50VW5leHBlY3RlZFRva2VuVGV4dChXCiAgICAgY2FzZSBJTlZBTElEX1BS
SVZBVEVfTkFNRV9FUlJPUlRPSzoKICAgICAgICAgb3V0LnByaW50KCJJbnZhbGlkIHByaXZhdGUg
bmFtZSAnIiwgZ2V0VG9rZW4oKSwgIiciKTsKICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAg
CisKICAgICBjYXNlIElERU5UOgogICAgICAgICBvdXQucHJpbnQoIlVuZXhwZWN0ZWQgaWRlbnRp
ZmllciAnIiwgZ2V0VG9rZW4oKSwgIiciKTsKICAgICAgICAgcmV0dXJuOwpAQCAtMjYwNSwxMiAr
MjkwOCwxMiBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPiB2b2lkIFBhcnNlcjxMZXhl
clR5cGU+OjpwcmludFVuZXhwZWN0ZWRUb2tlblRleHQoVwogICAgICAgICBvdXQucHJpbnQoIlVu
ZXhwZWN0ZWQga2V5d29yZCAnIiwgZ2V0VG9rZW4oKSwgIiciKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KLSAgICAKKwogICAgIG91dC5wcmludCgiVW5leHBlY3RlZCB0b2tlbiAnIiwgZ2V0VG9r
ZW4oKSwgIiciKTsKIH0KIAogLy8gSW5zdGFudGlhdGUgdGhlIHR3byBmbGF2b3JzIG9mIFBhcnNl
ciB3ZSBuZWVkIGluc3RlYWQgb2YgcHV0dGluZyBtb3N0IG9mIHRoaXMgZmlsZSBpbiBQYXJzZXIu
aAogdGVtcGxhdGUgY2xhc3MgUGFyc2VyPExleGVyPExDaGFyPj47CiB0ZW1wbGF0ZSBjbGFzcyBQ
YXJzZXI8TGV4ZXI8VUNoYXI+PjsKLSAgICAKKwogfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCA1MDFjMDM2NDRkNTU5N2I4YTFhMWFmM2U5
ZjljODJlMTg0ZWQyZDhjLi4yZDkyY2E3Nzk3MzhlOTFmZTViZGQwN2Q1MGNjZDFkNWFiZmIzMzRl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKQEAgLTgwLDYgKzgwLDkgQEAg
Y2xhc3MgU291cmNlQ29kZTsKIENPTVBJTEVfQVNTRVJUKExhc3RVbnRhZ2dlZFRva2VuIDwgNjQs
IExlc3NUaGFuNjRVbnRhZ2dlZFRva2Vucyk7CiAKIGVudW0gU291cmNlRWxlbWVudHNNb2RlIHsg
Q2hlY2tGb3JTdHJpY3RNb2RlLCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlIH07CisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK2VudW0gRnVuY3Rpb25QYXJzZVR5cGUgeyBTdGFu
ZGFyZEZ1bmN0aW9uUGFyc2VUeXBlLCBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlIH07CisjZW5kaWYK
IGVudW0gRnVuY3Rpb25SZXF1aXJlbWVudHMgeyBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5j
dGlvbk5lZWRzTmFtZSB9OwogZW51bSBGdW5jdGlvblBhcnNlTW9kZSB7CiAgICAgRnVuY3Rpb25N
b2RlLApAQCAtMjA2LDEyICsyMDksMTIgQEAgc3RydWN0IFNjb3BlIHsKICAgICB7CiAgICAgICAg
IHJldHVybiBtX2RlY2xhcmVkVmFyaWFibGVzLmNvbnRhaW5zKGlkZW50LmltcGwoKSk7CiAgICAg
fQotICAgIAorCiAgICAgYm9vbCBoYXNEZWNsYXJlZFBhcmFtZXRlcihjb25zdCBJZGVudGlmaWVy
JiBpZGVudCkKICAgICB7CiAgICAgICAgIHJldHVybiBtX2RlY2xhcmVkUGFyYW1ldGVycy5jb250
YWlucyhpZGVudC5pbXBsKCkpIHx8IG1fZGVjbGFyZWRWYXJpYWJsZXMuY29udGFpbnMoaWRlbnQu
aW1wbCgpKTsKICAgICB9Ci0gICAgCisKICAgICB2b2lkIGRlY2xhcmVXcml0ZShjb25zdCBJZGVu
dGlmaWVyKiBpZGVudCkKICAgICB7CiAgICAgICAgIEFTU0VSVChtX3N0cmljdE1vZGUpOwpAQCAt
MjMyLDcgKzIzNSw3IEBAIHN0cnVjdCBTY29wZSB7CiAgICAgICAgICAgICBtX3NoYWRvd3NBcmd1
bWVudHMgPSB0cnVlOwogICAgICAgICByZXR1cm4gaXNWYWxpZFN0cmljdE1vZGU7CiAgICAgfQot
ICAgIAorCiAgICAgZW51bSBCaW5kaW5nUmVzdWx0IHsKICAgICAgICAgQmluZGluZ0ZhaWxlZCwK
ICAgICAgICAgU3RyaWN0QmluZGluZ0ZhaWxlZCwKQEAgLTI0NCw3ICsyNDcsNyBAQCBzdHJ1Y3Qg
U2NvcGUgewogICAgICAgICBib29sIG5ld0VudHJ5ID0gbV9kZWNsYXJlZFZhcmlhYmxlcy5hZGQo
aWRlbnQtPnN0cmluZygpLmltcGwoKSkuaXNOZXdFbnRyeTsKICAgICAgICAgYm9vbCBpc1ZhbGlk
U3RyaWN0TW9kZSA9IG5ld0VudHJ5ICYmIG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgIT0gKmlk
ZW50ICYmICFpc0FyZ3VtZW50czsKICAgICAgICAgbV9pc1ZhbGlkU3RyaWN0TW9kZSA9IG1faXNW
YWxpZFN0cmljdE1vZGUgJiYgaXNWYWxpZFN0cmljdE1vZGU7Ci0gICAgCisKICAgICAgICAgaWYg
KGlzQXJndW1lbnRzKQogICAgICAgICAgICAgbV9zaGFkb3dzQXJndW1lbnRzID0gdHJ1ZTsKICAg
ICAgICAgaWYgKCFuZXdFbnRyeSkKQEAgLTQzOSwxOCArNDQyLDE4IEBAIHByaXZhdGU6CiAgICAg
ICAgICwgbV9wYXJzZXIocGFyc2VyKQogICAgICAgICB7CiAgICAgICAgIH0KLSAgICAgICAgCisK
ICAgICAgICAgfkF1dG9Qb3BTY29wZVJlZigpCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmICht
X3BhcnNlcikKICAgICAgICAgICAgICAgICBtX3BhcnNlci0+cG9wU2NvcGUoKnRoaXMsIGZhbHNl
KTsKICAgICAgICAgfQotICAgICAgICAKKwogICAgICAgICB2b2lkIHNldFBvcHBlZCgpCiAgICAg
ICAgIHsKICAgICAgICAgICAgIG1fcGFyc2VyID0gMDsKICAgICAgICAgfQotICAgICAgICAKKwog
ICAgIHByaXZhdGU6CiAgICAgICAgIFBhcnNlciogbV9wYXJzZXI7CiAgICAgfTsKQEAgLTQ1OSw3
ICs0NjIsNyBAQCBwcml2YXRlOgogICAgIHsKICAgICAgICAgcmV0dXJuIFNjb3BlUmVmKCZtX3Nj
b3BlU3RhY2ssIG1fc2NvcGVTdGFjay5zaXplKCkgLSAxKTsKICAgICB9Ci0gICAgCisKICAgICBT
Y29wZVJlZiBwdXNoU2NvcGUoKQogICAgIHsKICAgICAgICAgYm9vbCBpc0Z1bmN0aW9uID0gZmFs
c2U7CkBAIC00NzEsNyArNDc0LDcgQEAgcHJpdmF0ZToKICAgICAgICAgbV9zY29wZVN0YWNrLmFw
cGVuZChTY29wZShtX3ZtLCBpc0Z1bmN0aW9uLCBpc1N0cmljdCkpOwogICAgICAgICByZXR1cm4g
Y3VycmVudFNjb3BlKCk7CiAgICAgfQotICAgIAorCiAgICAgYm9vbCBwb3BTY29wZUludGVybmFs
KFNjb3BlUmVmJiBzY29wZSwgYm9vbCBzaG91bGRUcmFja0Nsb3NlZFZhcmlhYmxlcykKICAgICB7
CiAgICAgICAgIEFTU0VSVF9VTlVTRUQoc2NvcGUsIHNjb3BlLmluZGV4KCkgPT0gbV9zY29wZVN0
YWNrLnNpemUoKSAtIDEpOwpAQCAtNDgwLDE4ICs0ODMsMTggQEAgcHJpdmF0ZToKICAgICAgICAg
bV9zY29wZVN0YWNrLnJlbW92ZUxhc3QoKTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9
Ci0gICAgCisKICAgICBib29sIHBvcFNjb3BlKFNjb3BlUmVmJiBzY29wZSwgYm9vbCBzaG91bGRU
cmFja0Nsb3NlZFZhcmlhYmxlcykKICAgICB7CiAgICAgICAgIHJldHVybiBwb3BTY29wZUludGVy
bmFsKHNjb3BlLCBzaG91bGRUcmFja0Nsb3NlZFZhcmlhYmxlcyk7CiAgICAgfQotICAgIAorCiAg
ICAgYm9vbCBwb3BTY29wZShBdXRvUG9wU2NvcGVSZWYmIHNjb3BlLCBib29sIHNob3VsZFRyYWNr
Q2xvc2VkVmFyaWFibGVzKQogICAgIHsKICAgICAgICAgc2NvcGUuc2V0UG9wcGVkKCk7CiAgICAg
ICAgIHJldHVybiBwb3BTY29wZUludGVybmFsKHNjb3BlLCBzaG91bGRUcmFja0Nsb3NlZFZhcmlh
Ymxlcyk7CiAgICAgfQotICAgIAorCiAgICAgYm9vbCBkZWNsYXJlVmFyaWFibGUoY29uc3QgSWRl
bnRpZmllciogaWRlbnQpCiAgICAgewogICAgICAgICB1bnNpZ25lZCBpID0gbV9zY29wZVN0YWNr
LnNpemUoKSAtIDE7CkBAIC01MDIsNyArNTA1LDcgQEAgcHJpdmF0ZToKICAgICAgICAgfQogICAg
ICAgICByZXR1cm4gbV9zY29wZVN0YWNrW2ldLmRlY2xhcmVWYXJpYWJsZShpZGVudCk7CiAgICAg
fQotICAgIAorCiAgICAgTkVWRVJfSU5MSU5FIGJvb2wgaGFzRGVjbGFyZWRWYXJpYWJsZShjb25z
dCBJZGVudGlmaWVyJiBpZGVudCkKICAgICB7CiAgICAgICAgIHVuc2lnbmVkIGkgPSBtX3Njb3Bl
U3RhY2suc2l6ZSgpIC0gMTsKQEAgLTUxMyw3ICs1MTYsNyBAQCBwcml2YXRlOgogICAgICAgICB9
CiAgICAgICAgIHJldHVybiBtX3Njb3BlU3RhY2tbaV0uaGFzRGVjbGFyZWRWYXJpYWJsZShpZGVu
dCk7CiAgICAgfQotICAgIAorCiAgICAgTkVWRVJfSU5MSU5FIGJvb2wgaGFzRGVjbGFyZWRQYXJh
bWV0ZXIoY29uc3QgSWRlbnRpZmllciYgaWRlbnQpCiAgICAgewogICAgICAgICB1bnNpZ25lZCBp
ID0gbV9zY29wZVN0YWNrLnNpemUoKSAtIDE7CkBAIC01MjQsMTYgKzUyNywxNiBAQCBwcml2YXRl
OgogICAgICAgICB9CiAgICAgICAgIHJldHVybiBtX3Njb3BlU3RhY2tbaV0uaGFzRGVjbGFyZWRQ
YXJhbWV0ZXIoaWRlbnQpOwogICAgIH0KLSAgICAKKwogICAgIHZvaWQgZGVjbGFyZVdyaXRlKGNv
bnN0IElkZW50aWZpZXIqIGlkZW50KQogICAgIHsKICAgICAgICAgaWYgKCFtX3N5bnRheEFscmVh
ZHlWYWxpZGF0ZWQgfHwgc3RyaWN0TW9kZSgpKQogICAgICAgICAgICAgbV9zY29wZVN0YWNrLmxh
c3QoKS5kZWNsYXJlV3JpdGUoaWRlbnQpOwogICAgIH0KLSAgICAKKwogICAgIFNjb3BlU3RhY2sg
bV9zY29wZVN0YWNrOwotICAgIAotICAgIGNvbnN0IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKiBm
aW5kQ2FjaGVkRnVuY3Rpb25JbmZvKGludCBvcGVuQnJhY2VQb3MpIAorCisgICAgY29uc3QgU291
cmNlUHJvdmlkZXJDYWNoZUl0ZW0qIGZpbmRDYWNoZWRGdW5jdGlvbkluZm8oaW50IG9wZW5CcmFj
ZVBvcykKICAgICB7CiAgICAgICAgIHJldHVybiBtX2Z1bmN0aW9uQ2FjaGUgPyBtX2Z1bmN0aW9u
Q2FjaGUtPmdldChvcGVuQnJhY2VQb3MpIDogMDsKICAgICB9CkBAIC01NDEsNyArNTQ0LDcgQEAg
cHJpdmF0ZToKICAgICBQYXJzZXIoKTsKICAgICBTdHJpbmcgcGFyc2VJbm5lcigpOwogCi0gICAg
dm9pZCBkaWRGaW5pc2hQYXJzaW5nKFNvdXJjZUVsZW1lbnRzKiwgRGVjbGFyYXRpb25TdGFja3M6
OlZhclN0YWNrJiwgCisgICAgdm9pZCBkaWRGaW5pc2hQYXJzaW5nKFNvdXJjZUVsZW1lbnRzKiwg
RGVjbGFyYXRpb25TdGFja3M6OlZhclN0YWNrJiwKICAgICAgICAgRGVjbGFyYXRpb25TdGFja3M6
OkZ1bmN0aW9uU3RhY2smLCBDb2RlRmVhdHVyZXMsIGludCwgSWRlbnRpZmllclNldCYsIGNvbnN0
IFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+JiYpOwogCiAgICAgLy8gVXNlZCB0byBkZXRlcm1p
bmUgdHlwZSBvZiBlcnJvciB0byByZXBvcnQuCkBAIC01ODYsMjIgKzU4OSwyMiBAQCBwcml2YXRl
OgogICAgICAgICBTb3VyY2VQcm92aWRlciogc291cmNlUHJvdmlkZXIgPSBtX3NvdXJjZS0+cHJv
dmlkZXIoKTsKICAgICAgICAgcmV0dXJuIHNvdXJjZVByb3ZpZGVyLT5nZXRSYW5nZSh0b2tlblN0
YXJ0KCksIHRva2VuRW5kUG9zaXRpb24oKS5vZmZzZXQpOwogICAgIH0KLSAgICAKKwogICAgIEFM
V0FZU19JTkxJTkUgYm9vbCBtYXRjaChKU1Rva2VuVHlwZSBleHBlY3RlZCkKICAgICB7CiAgICAg
ICAgIHJldHVybiBtX3Rva2VuLm1fdHlwZSA9PSBleHBlY3RlZDsKICAgICB9Ci0gICAgCisKICAg
ICBBTFdBWVNfSU5MSU5FIGJvb2wgaXNvZlRva2VuKCkKICAgICB7CiAgICAgICAgIHJldHVybiBt
X3Rva2VuLm1fdHlwZSA9PSBJREVOVCAmJiAqbV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+
cHJvcGVydHlOYW1lcy0+b2Y7CiAgICAgfQotICAgIAorCiAgICAgQUxXQVlTX0lOTElORSB1bnNp
Z25lZCB0b2tlblN0YXJ0KCkKICAgICB7CiAgICAgICAgIHJldHVybiBtX3Rva2VuLm1fbG9jYXRp
b24uc3RhcnRPZmZzZXQ7CiAgICAgfQotICAgIAorCiAgICAgQUxXQVlTX0lOTElORSBjb25zdCBK
U1RleHRQb3NpdGlvbiYgdG9rZW5TdGFydFBvc2l0aW9uKCkKICAgICB7CiAgICAgICAgIHJldHVy
biBtX3Rva2VuLm1fc3RhcnRQb3NpdGlvbjsKQEAgLTYxMSw3ICs2MTQsNyBAQCBwcml2YXRlOgog
ICAgIHsKICAgICAgICAgcmV0dXJuIG1fdG9rZW4ubV9sb2NhdGlvbi5saW5lOwogICAgIH0KLSAg
ICAKKwogICAgIEFMV0FZU19JTkxJTkUgaW50IHRva2VuQ29sdW1uKCkKICAgICB7CiAgICAgICAg
IHJldHVybiB0b2tlblN0YXJ0KCkgLSB0b2tlbkxpbmVTdGFydCgpOwpAQCAtNjIxLDEyICs2MjQs
MTIgQEAgcHJpdmF0ZToKICAgICB7CiAgICAgICAgIHJldHVybiBtX3Rva2VuLm1fZW5kUG9zaXRp
b247CiAgICAgfQotICAgIAorCiAgICAgQUxXQVlTX0lOTElORSB1bnNpZ25lZCB0b2tlbkxpbmVT
dGFydCgpCiAgICAgewogICAgICAgICByZXR1cm4gbV90b2tlbi5tX2xvY2F0aW9uLmxpbmVTdGFy
dE9mZnNldDsKICAgICB9Ci0gICAgCisKICAgICBBTFdBWVNfSU5MSU5FIGNvbnN0IEpTVG9rZW5M
b2NhdGlvbiYgdG9rZW5Mb2NhdGlvbigpCiAgICAgewogICAgICAgICByZXR1cm4gbV90b2tlbi5t
X2xvY2F0aW9uOwpAQCAtNjM2LDcgKzYzOSw3IEBAIHByaXZhdGU6CiAgICAgewogICAgICAgICBt
X2Vycm9yTWVzc2FnZSA9IG1zZzsKICAgICB9Ci0gICAgCisKICAgICBORVZFUl9JTkxJTkUgdm9p
ZCBsb2dFcnJvcihib29sKTsKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQT4gTkVWRVJfSU5MSU5F
IHZvaWQgbG9nRXJyb3IoYm9vbCwgY29uc3QgQSYpOwogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBB
LCB0eXBlbmFtZSBCPiBORVZFUl9JTkxJTkUgdm9pZCBsb2dFcnJvcihib29sLCBjb25zdCBBJiwg
Y29uc3QgQiYpOwpAQCAtNjQ1LDE5ICs2NDgsMTkgQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZSA8
dHlwZW5hbWUgQSwgdHlwZW5hbWUgQiwgdHlwZW5hbWUgQywgdHlwZW5hbWUgRCwgdHlwZW5hbWUg
RT4gTkVWRVJfSU5MSU5FIHZvaWQgbG9nRXJyb3IoYm9vbCwgY29uc3QgQSYsIGNvbnN0IEImLCBj
b25zdCBDJiwgY29uc3QgRCYsIGNvbnN0IEUmKTsKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQSwg
dHlwZW5hbWUgQiwgdHlwZW5hbWUgQywgdHlwZW5hbWUgRCwgdHlwZW5hbWUgRSwgdHlwZW5hbWUg
Rj4gTkVWRVJfSU5MSU5FIHZvaWQgbG9nRXJyb3IoYm9vbCwgY29uc3QgQSYsIGNvbnN0IEImLCBj
b25zdCBDJiwgY29uc3QgRCYsIGNvbnN0IEUmLCBjb25zdCBGJik7CiAgICAgdGVtcGxhdGUgPHR5
cGVuYW1lIEEsIHR5cGVuYW1lIEIsIHR5cGVuYW1lIEMsIHR5cGVuYW1lIEQsIHR5cGVuYW1lIEUs
IHR5cGVuYW1lIEYsIHR5cGVuYW1lIEc+IE5FVkVSX0lOTElORSB2b2lkIGxvZ0Vycm9yKGJvb2ws
IGNvbnN0IEEmLCBjb25zdCBCJiwgY29uc3QgQyYsIGNvbnN0IEQmLCBjb25zdCBFJiwgY29uc3Qg
RiYsIGNvbnN0IEcmKTsKLSAgICAKKwogICAgIE5FVkVSX0lOTElORSB2b2lkIHVwZGF0ZUVycm9y
V2l0aE5hbWVBbmRNZXNzYWdlKGNvbnN0IGNoYXIqIGJlZm9yZU1zZywgU3RyaW5nIG5hbWUsIGNv
bnN0IGNoYXIqIGFmdGVyTXNnKQogICAgIHsKICAgICAgICAgbV9lcnJvck1lc3NhZ2UgPSBtYWtl
U3RyaW5nKGJlZm9yZU1zZywgIiAnIiwgbmFtZSwgIicgIiwgYWZ0ZXJNc2cpOwogICAgIH0KLSAg
ICAKKwogICAgIE5FVkVSX0lOTElORSB2b2lkIHVwZGF0ZUVycm9yTWVzc2FnZShjb25zdCBjaGFy
KiBtc2cpCiAgICAgewogICAgICAgICBBU1NFUlQobXNnKTsKICAgICAgICAgbV9lcnJvck1lc3Nh
Z2UgPSBTdHJpbmcobXNnKTsKICAgICAgICAgQVNTRVJUKCFtX2Vycm9yTWVzc2FnZS5pc051bGwo
KSk7CiAgICAgfQotICAgIAorCiAgICAgdm9pZCBzdGFydExvb3AoKSB7IGN1cnJlbnRTY29wZSgp
LT5zdGFydExvb3AoKTsgfQogICAgIHZvaWQgZW5kTG9vcCgpIHsgY3VycmVudFNjb3BlKCktPmVu
ZExvb3AoKTsgfQogICAgIHZvaWQgc3RhcnRTd2l0Y2goKSB7IGN1cnJlbnRTY29wZSgpLT5zdGFy
dFN3aXRjaCgpOyB9CkBAIC03MDAsOSArNzAzLDE1IEBAIHByaXZhdGU6CiAgICAgICAgIH0KICAg
ICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0gICAgCisKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNv
dXJjZUVsZW1lbnRzIHBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVt
ZW50c01vZGUsIEZ1bmN0aW9uUGFyc2VUeXBlIHR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VU
eXBlKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFy
c2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1
bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDAsIEZ1bmN0aW9uUGFyc2VUeXBlICBm
dW5jdGlvblBhcnNlVHlwZSA9IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOworI2Vsc2UKICAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJzZVNv
dXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxlbWVudHNNb2RlKTsKICAgICB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VTdGF0ZW1lbnQoVHJl
ZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0
aXZlTGl0ZXJhbExlbmd0aCA9IDApOworI2VuZGlmCisKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZ
TlRBWCkKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFy
c2VDbGFzc0RlY2xhcmF0aW9uKFRyZWVCdWlsZGVyJik7CiAjZW5kaWYKQEAgLTcyNyw2ICs3MzYs
OSBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRl
bWVudCBwYXJzZUlmU3RhdGVtZW50KFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQmxvY2tTdGF0ZW1lbnQoVHJlZUJ1aWxk
ZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBh
cnNlRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lv
biBwYXJzZUFycm93RXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOworI2VuZGlmCiAgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFzc2lnbm1lbnRFeHBy
ZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBB
TFdBWVNfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNlQ29uZGl0aW9uYWxFeHByZXNzaW9uKFRy
ZWVCdWlsZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5M
SU5FIFRyZWVFeHByZXNzaW9uIHBhcnNlQmluYXJ5RXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOwpA
QCAtNzQ2LDYgKzc1OCwxMyBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VWYXJEZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXIm
LCBpbnQmIGRlY2xhcmF0aW9ucywgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiYgbGFzdFBhdHRl
cm4sIFRyZWVFeHByZXNzaW9uJiBsYXN0SW5pdGlhbGl6ZXIsIEpTVGV4dFBvc2l0aW9uJiBpZGVu
dFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdEVu
ZCwgVmFyRGVjbGFyYXRpb25MaXN0Q29udGV4dCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZUNvbnN0RGVjbExpc3QgcGFyc2VDb25zdERlY2xhcmF0
aW9uTGlzdChUcmVlQnVpbGRlciYpOwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFy
c2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJik7CisgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVy
KFRyZWVCdWlsZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9J
TkxJTkUgYm9vbCBwYXJzZUFycm93RnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25Q
YXJzZU1vZGUsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mKTsKKyAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZ1bmN0aW9uQm9keSBwYXJz
ZUFycm93RnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVyJik7CisjZW5kaWYKKwogICAgIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRl
cm4gY3JlYXRlQmluZGluZ1BhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0cnVjdGlvbktpbmQs
IGNvbnN0IElkZW50aWZpZXImLCBpbnQgZGVwdGgsIEpTVG9rZW4pOwogICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4g
cGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0cnVjdGlvbktp
bmQsIGludCBkZXB0aCA9IDApOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVW
RVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gdHJ5UGFyc2VEZWNvbnN0cnVjdGlv
blBhdHRlcm5FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CkBAIC03NTcsNyArNzc2LDcgQEAgcHJp
dmF0ZToKIAogICAgIEFMV0FZU19JTkxJTkUgaW50IGlzQmluYXJ5T3BlcmF0b3IoSlNUb2tlblR5
cGUpOwogICAgIGJvb2wgYWxsb3dBdXRvbWF0aWNTZW1pY29sb24oKTsKLSAgICAKKwogICAgIGJv
b2wgYXV0b1NlbWlDb2xvbigpCiAgICAgewogICAgICAgICBpZiAobV90b2tlbi5tX3R5cGUgPT0g
U0VNSUNPTE9OKSB7CkBAIC03NjYsMTIgKzc4NSwxNyBAQCBwcml2YXRlOgogICAgICAgICB9CiAg
ICAgICAgIHJldHVybiBhbGxvd0F1dG9tYXRpY1NlbWljb2xvbigpOwogICAgIH0KLSAgICAKKwor
ICAgIHZvaWQgc2V0RW5kT2ZTdGF0ZW1lbnQoKQorICAgIHsKKyAgICAgICAgbV9sZXhlci0+c2V0
VG9rZW5Qb3NpdGlvbigmbV90b2tlbik7CisgICAgfQorCiAgICAgYm9vbCBjYW5SZWN1cnNlKCkK
ICAgICB7CiAgICAgICAgIHJldHVybiBtX3ZtLT5pc1NhZmVUb1JlY3Vyc2UoKTsKICAgICB9Ci0g
ICAgCisKICAgICBjb25zdCBKU1RleHRQb3NpdGlvbiYgbGFzdFRva2VuRW5kUG9zaXRpb24oKSBj
b25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIG1fbGFzdFRva2VuRW5kUG9zaXRpb247CkBAIC03
ODgsNyArODEyLDcgQEAgcHJpdmF0ZToKICAgICAgICAgdW5zaWduZWQgb2xkTGFzdExpbmVOdW1i
ZXI7CiAgICAgICAgIHVuc2lnbmVkIG9sZExpbmVOdW1iZXI7CiAgICAgfTsKLSAgICAKKwogICAg
IEFMV0FZU19JTkxJTkUgU2F2ZVBvaW50IGNyZWF0ZVNhdmVQb2ludCgpCiAgICAgewogICAgICAg
ICBBU1NFUlQoIWhhc0Vycm9yKCkpOwpAQCAtNzk5LDcgKzgyMyw3IEBAIHByaXZhdGU6CiAgICAg
ICAgIHJlc3VsdC5vbGRMaW5lTnVtYmVyID0gbV9sZXhlci0+bGluZU51bWJlcigpOwogICAgICAg
ICByZXR1cm4gcmVzdWx0OwogICAgIH0KLSAgICAKKwogICAgIEFMV0FZU19JTkxJTkUgdm9pZCBy
ZXN0b3JlU2F2ZVBvaW50KGNvbnN0IFNhdmVQb2ludCYgc2F2ZVBvaW50KQogICAgIHsKICAgICAg
ICAgbV9lcnJvck1lc3NhZ2UgPSBTdHJpbmcoKTsKQEAgLTgyMywyMSArODQ3LDIxIEBAIHByaXZh
dGU6CiAgICAgICAgIHJlc3VsdC5ub25Ucml2aWFsRXhwcmVzc2lvbkNvdW50ID0gbV9ub25Ucml2
aWFsRXhwcmVzc2lvbkNvdW50OwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KLSAgICAK
KwogICAgIEFMV0FZU19JTkxJTkUgdm9pZCByZXN0b3JlU3RhdGUoY29uc3QgUGFyc2VyU3RhdGUm
IHN0YXRlKQogICAgIHsKICAgICAgICAgbV9hc3NpZ25tZW50Q291bnQgPSBzdGF0ZS5hc3NpZ25t
ZW50Q291bnQ7CiAgICAgICAgIG1fbm9uTEhTQ291bnQgPSBzdGF0ZS5ub25MSFNDb3VudDsKICAg
ICAgICAgbV9ub25Ucml2aWFsRXhwcmVzc2lvbkNvdW50ID0gc3RhdGUubm9uVHJpdmlhbEV4cHJl
c3Npb25Db3VudDsKLSAgICAgICAgCisKICAgICB9Ci0gICAgCisKIAogICAgIFZNKiBtX3ZtOwog
ICAgIGNvbnN0IFNvdXJjZUNvZGUqIG1fc291cmNlOwogICAgIFBhcnNlckFyZW5hIG1fcGFyc2Vy
QXJlbmE7CiAgICAgc3RkOjp1bmlxdWVfcHRyPExleGVyVHlwZT4gbV9sZXhlcjsKLSAgICAKKwog
ICAgIGJvb2wgbV9oYXNTdGFja092ZXJmbG93OwogICAgIFN0cmluZyBtX2Vycm9yTWVzc2FnZTsK
ICAgICBKU1Rva2VuIG1fdG9rZW47CkBAIC04NTksMTkgKzg4MywxOSBAQCBwcml2YXRlOgogICAg
IFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+IG1fY2xvc2VkVmFyaWFibGVzOwogICAgIENvZGVG
ZWF0dXJlcyBtX2ZlYXR1cmVzOwogICAgIGludCBtX251bUNvbnN0YW50czsKLSAgICAKKwogICAg
IHN0cnVjdCBEZXB0aE1hbmFnZXIgewogICAgICAgICBEZXB0aE1hbmFnZXIoaW50KiBkZXB0aCkK
ICAgICAgICAgOiBtX29yaWdpbmFsRGVwdGgoKmRlcHRoKQogICAgICAgICAsIG1fZGVwdGgoZGVw
dGgpCiAgICAgICAgIHsKICAgICAgICAgfQotICAgICAgICAKKwogICAgICAgICB+RGVwdGhNYW5h
Z2VyKCkKICAgICAgICAgewogICAgICAgICAgICAgKm1fZGVwdGggPSBtX29yaWdpbmFsRGVwdGg7
CiAgICAgICAgIH0KLSAgICAgICAgCisKICAgICBwcml2YXRlOgogICAgICAgICBpbnQgbV9vcmln
aW5hbERlcHRoOwogICAgICAgICBpbnQqIG1fZGVwdGg7CkBAIC05NDgsNyArOTcyLDcgQEAgc3Rk
Ojp1bmlxdWVfcHRyPFBhcnNlZE5vZGU+IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZShQYXJzZXJF
cnJvciYgZXJyb3IsIGJvb2wgbmUKICAgICAgICAgICAgICAgICBlcnJvclR5cGUgPSBQYXJzZXJF
cnJvcjo6U3ludGF4RXJyb3JSZWNvdmVyYWJsZTsKICAgICAgICAgICAgIGVsc2UgaWYgKG1fdG9r
ZW4ubV90eXBlICYgVW50ZXJtaW5hdGVkRXJyb3JUb2tlbkZsYWcpCiAgICAgICAgICAgICAgICAg
ZXJyb3JUeXBlID0gUGFyc2VyRXJyb3I6OlN5bnRheEVycm9yVW50ZXJtaW5hdGVkTGl0ZXJhbDsK
LSAgICAgICAgICAgIAorCiAgICAgICAgICAgICBpZiAoaXNFdmFsTm9kZTxQYXJzZWROb2RlPigp
KQogICAgICAgICAgICAgICAgIGVycm9yID0gUGFyc2VyRXJyb3IoUGFyc2VyRXJyb3I6OkV2YWxF
cnJvciwgZXJyb3JUeXBlLCBtX3Rva2VuLCBlcnJNc2csIGVyckxpbmUpOwogICAgICAgICAgICAg
ZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tl
bnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKaW5kZXgg
NjUyMDU1YTU4ZWQ0ZWIzZGVjOGVhZGNkYWJjNDFiY2VhYmFmMDkxZS4uMTc5MWI5MDM5NGEwMmU5
ZTA2ZTUzYTIxZDgxNzJlMTg4MGFlOTkwYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlclRva2Vucy5oCkBAIC03NSw2ICs3NSw5IEBAIGVudW0gSlNUb2tlblR5cGUgewog
ICAgIEZJTkFMTFksCiAgICAgREVCVUdHRVIsCiAgICAgRUxTRSwKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEFSUk9XRlVOQ1RJT04sCisjZW5kaWYKICNpZiBFTkFC
TEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICBDTEFTU1RPS0VOLAogICAgIEVYVEVORFMsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCmluZGV4IDczZDIzZGI4MmFmMjVl
YTQ2YzBmODk3ODVjZTQyNGJiNjBlYjYxYTcuLjQ1Njk0NGMzOTNlMjQwNjRkZmI5ZDgzYTc0ZDlm
MTVhMmQzMTk3MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291
cmNlQ29kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5o
CkBAIC04NSwxNiArODUsMTYgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICAgICAgcmV0
dXJuIFN0cmluZygpOwogICAgICAgICAgICAgcmV0dXJuIG1fcHJvdmlkZXItPmdldFJhbmdlKG1f
c3RhcnRDaGFyLCBtX2VuZENoYXIpOwogICAgICAgICB9Ci0gICAgICAgIAorCiAgICAgICAgIENT
dHJpbmcgdG9VVEY4KCkgY29uc3Q7Ci0gICAgICAgIAorCiAgICAgICAgIGludHB0cl90IHByb3Zp
ZGVySUQoKSBjb25zdAogICAgICAgICB7CiAgICAgICAgICAgICBpZiAoIW1fcHJvdmlkZXIpCiAg
ICAgICAgICAgICAgICAgcmV0dXJuIFNvdXJjZVByb3ZpZGVyOjpudWxsSUQ7CiAgICAgICAgICAg
ICByZXR1cm4gbV9wcm92aWRlci0+YXNJRCgpOwogICAgICAgICB9Ci0gICAgICAgIAorCiAgICAg
ICAgIGJvb2wgaXNOdWxsKCkgY29uc3QgeyByZXR1cm4gIW1fcHJvdmlkZXI7IH0KICAgICAgICAg
U291cmNlUHJvdmlkZXIqIHByb3ZpZGVyKCkgY29uc3QgeyByZXR1cm4gbV9wcm92aWRlci5nZXQo
KTsgfQogICAgICAgICBpbnQgZmlyc3RMaW5lKCkgY29uc3QgeyByZXR1cm4gbV9maXJzdExpbmU7
IH0KQEAgLTEwMiw4ICsxMDIsMTEgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGludCBzdGFy
dE9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhcnRDaGFyOyB9CiAgICAgICAgIGludCBlbmRP
ZmZzZXQoKSBjb25zdCB7IHJldHVybiBtX2VuZENoYXI7IH0KICAgICAgICAgaW50IGxlbmd0aCgp
IGNvbnN0IHsgcmV0dXJuIG1fZW5kQ2hhciAtIG1fc3RhcnRDaGFyOyB9Ci0gICAgICAgIAorCiAg
ICAgICAgIFNvdXJjZUNvZGUgc3ViRXhwcmVzc2lvbih1bnNpZ25lZCBvcGVuQnJhY2UsIHVuc2ln
bmVkIGNsb3NlQnJhY2UsIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbik7CisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgU291cmNlQ29kZSBzdWJFeHBy
ZXNzaW9uQXJyb3dGdW5jdGlvbih1bnNpZ25lZCBvcGVuQnJhY2UsIHVuc2lnbmVkIGNsb3NlQnJh
Y2UsIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbik7CisjZW5kaWYKIAogICAgIHByaXZh
dGU6CiAgICAgICAgIFJlZlB0cjxTb3VyY2VQcm92aWRlcj4gbV9wcm92aWRlcjsKQEAgLTExOCw2
ICsxMjEsMTYgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBTb3VyY2VDb2RlKFN0
cmluZ1NvdXJjZVByb3ZpZGVyOjpjcmVhdGUoc291cmNlLCB1cmwsIHN0YXJ0UG9zaXRpb24pLCBz
dGFydFBvc2l0aW9uLm1fbGluZS5vbmVCYXNlZEludCgpLCBzdGFydFBvc2l0aW9uLm1fY29sdW1u
Lm9uZUJhc2VkSW50KCkpOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgaW5saW5lIFNvdXJjZUNvZGUgU291cmNlQ29kZTo6c3ViRXhwcmVzc2lvbkFy
cm93RnVuY3Rpb24odW5zaWduZWQgb3BlbkJyYWNlLCB1bnNpZ25lZCBjbG9zZUJyYWNlLCBpbnQg
Zmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pCisgICAgeworICAgICAgICBBU1NFUlQocHJvdmlk
ZXIoKS0+c291cmNlKClbb3BlbkJyYWNlXSA9PSAnPScgJiYgcHJvdmlkZXIoKS0+c291cmNlKClb
b3BlbkJyYWNlICsgMV0gPT0gJz4nKTsKKyAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJj
ZSgpW2Nsb3NlQnJhY2UgLSAxXSA9PSAnOycgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbY2xvc2VC
cmFjZSAtIDFdID09ICcsJyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtjbG9zZUJyYWNlIC0gMV0g
PT0gJyknIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2Nsb3NlQnJhY2UgLSAxXSA9PSAnXScgfHwg
cHJvdmlkZXIoKS0+c291cmNlKClbY2xvc2VCcmFjZSAtIDFdID09ICd9Jyk7CisgICAgICAgIHN0
YXJ0Q29sdW1uICs9IDE7IC8vIENvbnZlcnQgdG8gYmFzZSAxLgorICAgICAgICByZXR1cm4gU291
cmNlQ29kZShwcm92aWRlcigpLCBvcGVuQnJhY2UsIGNsb3NlQnJhY2UgLSAxLCBmaXJzdExpbmUs
IHN0YXJ0Q29sdW1uKTsKKyAgICB9CisjZW5kaWYKKwogICAgIGlubGluZSBTb3VyY2VDb2RlIFNv
dXJjZUNvZGU6OnN1YkV4cHJlc3Npb24odW5zaWduZWQgb3BlbkJyYWNlLCB1bnNpZ25lZCBjbG9z
ZUJyYWNlLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pCiAgICAgewogICAgICAgICBB
U1NFUlQocHJvdmlkZXIoKS0+c291cmNlKClbb3BlbkJyYWNlXSA9PSAneycpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaAppbmRleCA2M2IxMzQ4ZmUzMDVk
YzQ2OWE2MTFmYmNjNDEwNmFiMzg4M2YwZGEyLi44NGMzYWRhMTQ4ODIwMWM2YjU5ZjgyOTkxMjVm
NGM2NjA5YjYxNDQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5
bnRheENoZWNrZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENo
ZWNrZXIuaApAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgIllhcnJTeW50YXhDaGVja2VyLmgi
CiAKIG5hbWVzcGFjZSBKU0MgewotICAgIAorCiBjbGFzcyBTeW50YXhDaGVja2VyIHsKIHB1Ymxp
YzoKICAgICBzdHJ1Y3QgQmluYXJ5RXhwckNvbnRleHQgewpAQCAtNjQsNyArNjQsNyBAQCBwdWJs
aWM6CiAgICAgcHJpdmF0ZToKICAgICAgICAgU3ludGF4Q2hlY2tlciogbV9jb250ZXh0OwogICAg
IH07Ci0gICAgCisKICAgICBTeW50YXhDaGVja2VyKFZNKiAsIHZvaWQqKQogICAgIHsKICAgICB9
CkBAIC0xNjgsNiArMTY4LDkgQEAgcHVibGljOgogI2VuZGlmCiAgICAgRXhwcmVzc2lvblR5cGUg
Y3JlYXRlRnVuY3Rpb25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1
bmN0aW9uSW5mbzxTeW50YXhDaGVja2VyPiYsIGludCkgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9
CiAgICAgaW50IGNyZWF0ZUZ1bmN0aW9uQm9keShjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25z
dCBKU1Rva2VuTG9jYXRpb24mLCBpbnQsIGludCwgYm9vbCkgeyByZXR1cm4gRnVuY3Rpb25Cb2R5
UmVzdWx0OyB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBFeHBy
ZXNzaW9uVHlwZSBjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24m
LCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4mLCBpbnQpIHsgcmV0dXJu
IEZ1bmN0aW9uRXhwcjsgfQorI2VuZGlmCiAgICAgdm9pZCBzZXRGdW5jdGlvbk5hbWVTdGFydChp
bnQsIGludCkgeyB9CiAgICAgaW50IGNyZWF0ZUFyZ3VtZW50cygpIHsgcmV0dXJuIEFyZ3VtZW50
c1Jlc3VsdDsgfQogICAgIGludCBjcmVhdGVBcmd1bWVudHMoaW50KSB7IHJldHVybiBBcmd1bWVu
dHNSZXN1bHQ7IH0KQEAgLTI1NSw3ICsyNTgsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBtX3Rv
cEJpbmFyeUV4cHIgPSBCaW5hcnlFeHByOwogICAgICAgICBvcGVyYW5kU3RhY2tEZXB0aCsrOwog
ICAgIH0KLSAgICAKKwogICAgIC8vIExvZ2ljIHRvIGhhbmRsZSBkYXRhc3RydWN0dXJlcyB1c2Vk
IGR1cmluZyBwYXJzaW5nIG9mIGJpbmFyeSBleHByZXNzaW9ucwogICAgIHZvaWQgb3BlcmF0b3JT
dGFja1BvcChpbnQmIG9wZXJhdG9yU3RhY2tEZXB0aCkgeyBvcGVyYXRvclN0YWNrRGVwdGgtLTsg
fQogICAgIGJvb2wgb3BlcmF0b3JTdGFja0hhc0hpZ2hlclByZWNlZGVuY2UoaW50JiwgaW50KSB7
IHJldHVybiB0cnVlOyB9CkBAIC0yNjQsMTIgKzI2NywxMiBAQCBwdWJsaWM6CiAgICAgdm9pZCBh
cHBlbmRCaW5hcnlPcGVyYXRpb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgaW50JiBvcGVyYW5k
U3RhY2tEZXB0aCwgaW50JiwgQmluYXJ5T3BlcmFuZCwgQmluYXJ5T3BlcmFuZCkgeyBvcGVyYW5k
U3RhY2tEZXB0aCsrOyB9CiAgICAgdm9pZCBvcGVyYXRvclN0YWNrQXBwZW5kKGludCYgb3BlcmF0
b3JTdGFja0RlcHRoLCBpbnQsIGludCkgeyBvcGVyYXRvclN0YWNrRGVwdGgrKzsgfQogICAgIGlu
dCBwb3BPcGVyYW5kU3RhY2soaW50JikgeyBpbnQgcmVzID0gbV90b3BCaW5hcnlFeHByOyBtX3Rv
cEJpbmFyeUV4cHIgPSAwOyByZXR1cm4gcmVzOyB9Ci0gICAgCisKICAgICB2b2lkIGFwcGVuZFVu
YXJ5VG9rZW4oaW50JiBzdGFja0RlcHRoLCBpbnQgdG9rLCBpbnQpIHsgc3RhY2tEZXB0aCA9IDE7
IG1fdG9wVW5hcnlUb2tlbiA9IHRvazsgfQogICAgIGludCB1bmFyeVRva2VuU3RhY2tMYXN0VHlw
ZShpbnQmKSB7IHJldHVybiBtX3RvcFVuYXJ5VG9rZW47IH0KICAgICBKU1RleHRQb3NpdGlvbiB1
bmFyeVRva2VuU3RhY2tMYXN0U3RhcnQoaW50JikgeyByZXR1cm4gSlNUZXh0UG9zaXRpb24oMCwg
MCwgMCk7IH0KICAgICB2b2lkIHVuYXJ5VG9rZW5TdGFja1JlbW92ZUxhc3QoaW50JiBzdGFja0Rl
cHRoKSB7IHN0YWNrRGVwdGggPSAwOyB9Ci0gICAgCisKICAgICB2b2lkIGFzc2lnbm1lbnRTdGFj
a0FwcGVuZChpbnQsIGludCwgaW50LCBpbnQsIGludCwgT3BlcmF0b3IpIHsgfQogICAgIGludCBj
cmVhdGVBc3NpZ25tZW50KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGludCwgaW50LCBpbnQsIGlu
dCwgaW50KSB7IFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiBBc3NpZ25tZW50
RXhwcjsgfQogICAgIGNvbnN0IElkZW50aWZpZXIqIGdldE5hbWUoY29uc3QgUHJvcGVydHkmIHBy
b3BlcnR5KSBjb25zdCB7IEFTU0VSVChwcm9wZXJ0eS5uYW1lKTsgcmV0dXJuIHByb3BlcnR5Lm5h
bWU7IH0KQEAgLTI3OSw3ICsyODIsNyBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4g
RGVjb25zdHJ1Y3RpbmdBc3NpZ25tZW50OwogICAgIH0KLSAgICAKKwogICAgIEFycmF5UGF0dGVy
biBjcmVhdGVBcnJheVBhdHRlcm4oY29uc3QgSlNUb2tlbkxvY2F0aW9uJikKICAgICB7CiAgICAg
ICAgIHJldHVybiBBcnJheURlY29uc3RydWN0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvRmVhdHVyZURlZmluZXMuaCBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKaW5k
ZXggZDQ3ZmUxMjQ2YmZhYjUwMzI4OTQ3NmNkZjE3YWI1MjAwM2E5ZjUwMC4uOGFlY2U5M2QwZTYx
MDkxMGQ0YzA5NzAwMDY5NDA2YmJiOTBiNzFhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
RmVhdHVyZURlZmluZXMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCkBA
IC0zNCwxOSArMzQsMTkgQEAKICAqICAtICIxIiBlbmFibGVzIHRoZSBmZWF0dXJlIGJ5IGRlZmF1
bHQuIFRoZSBmZWF0dXJlIGNhbiBzdGlsbCBiZSBkaXNhYmxlZCBmb3IgYSBzcGVjaWZpYyBwb3J0
IG9yIGVudmlyb25tZW50LgogICoKICAqIFRoZSBmZWF0dXJlIGRlZmF1bHRzIGluIHRoaXMgZmls
ZSBhcmUgb25seSB0YWtlbiBpbnRvIGFjY291bnQgaWYgdGhlIChwb3J0IHNwZWNpZmljKSBidWls
ZCBzeXN0ZW0KLSAqIGhhcyBub3QgZW5hYmxlZCBvciBkaXNhYmxlZCBhIHBhcnRpY3VsYXIgZmVh
dHVyZS4gCisgKiBoYXMgbm90IGVuYWJsZWQgb3IgZGlzYWJsZWQgYSBwYXJ0aWN1bGFyIGZlYXR1
cmUuCiAgKgogICogVXNlIHRoaXMgZmlsZSB0byBkZWZpbmUgRU5BQkxFKCkgbWFjcm9zIG9ubHku
IERvIG5vdCB1c2UgdGhpcyBmaWxlIHRvIGRlZmluZSBVU0UoKSBvciBtYWNyb3MgIQogICoKICAq
IE9ubHkgZGVmaW5lIGEgbWFjcm8gaWYgaXQgd2FzIG5vdCBkZWZpbmVkIGJlZm9yZSAtIGFsd2F5
cyBjaGVjayBmb3IgIWRlZmluZWQgZmlyc3QuCi0gKiAKKyAqCiAgKiBLZWVwIHRoZSBmaWxlIHNv
cnRlZCBieSB0aGUgbmFtZSBvZiB0aGUgZGVmaW5lcy4gQXMgYW4gZXhjZXB0aW9uIHlvdSBjYW4g
Y2hhbmdlIHRoZSBvcmRlcgogICogdG8gYWxsb3cgaW50ZXJkZXBlbmRlbmNpZXMgYmV0d2VlbiB0
aGUgZGVmYXVsdCB2YWx1ZXMuCi0gKiAKKyAqCiAgKiBCZWxvdyBhcmUgYSBmZXcgcG90ZW50aWFs
IGNvbW1hbmRzIHRvIHRha2UgYWR2YW50YWdlIG9mIHRoaXMgZmlsZSBydW5uaW5nIGZyb20gdGhl
IFNvdXJjZS9XVEYgZGlyZWN0b3J5CiAgKgogICogR2V0IHRoZSBsaXN0IG9mIGZlYXR1cmUgZGVm
aW5lczogZ3JlcCAtbyAiRU5BQkxFX1woXHdcK1wpIiB3dGYvRmVhdHVyZURlZmluZXMuaCB8IHNv
cnQgfCB1bmlxCi0gKiBHZXQgdGhlIGxpc3Qgb2YgZmVhdHVyZXMgZW5hYmxlZCBieSBkZWZhdWx0
IGZvciBhIFBMQVRGT1JNKFhYWCk6IGdjYyAtRSAtZE0gLUkuIC1EV1RGX1BMQVRGT1JNX1hYWCAi
d3RmL1BsYXRmb3JtLmgiIHwgZ3JlcCAiRU5BQkxFX1x3XCsgMSIgfCBjdXQgLWQnICcgLWYyIHwg
c29ydCAKKyAqIEdldCB0aGUgbGlzdCBvZiBmZWF0dXJlcyBlbmFibGVkIGJ5IGRlZmF1bHQgZm9y
IGEgUExBVEZPUk0oWFhYKTogZ2NjIC1FIC1kTSAtSS4gLURXVEZfUExBVEZPUk1fWFhYICJ3dGYv
UGxhdGZvcm0uaCIgfCBncmVwICJFTkFCTEVfXHdcKyAxIiB8IGN1dCAtZCcgJyAtZjIgfCBzb3J0
CiAgKi8KIAogLyogRklYTUU6IE1vdmUgb3V0IHRoZSBQTEFURk9STSBzcGVjaWZpYyBydWxlcyBp
bnRvIHBsYXRmb3JtIHNwZWNpZmljIGZpbGVzLiAqLwpAQCAtMzI3LDYgKzMyNywxMCBAQCB0aGUg
cHVibGljIGlPUyBTREsuIFdlIHdpbGwgYWxzbyBuZWVkIHRvIHVwZGF0ZSB0aGUgRmVhdHVyZURl
ZmluZXMueGNjb25maWcgZmlsZQogI2RlZmluZSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCAwCiAj
ZW5kaWYKIAorI2lmICFkZWZpbmVkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisj
ZGVmaW5lIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggMQorI2VuZGlmCisKICNpZiAh
ZGVmaW5lZChFTkFCTEVfQ09OVEVOVF9FWFRFTlNJT05TKQogI2RlZmluZSBFTkFCTEVfQ09OVEVO
VF9FWFRFTlNJT05TIDAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBiNzljNGMyNWQyODVlMmVhYmIw
MDNlZmE5MWY4ZGQ0YjRjZjY1Mjg4Li42OWJkOWFiMDBlMGQ1MTVkM2MxNDEzMDRhNDI2YWU1YjVi
MjRkYmUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEgg
PSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9D
TEFTU19TWU5UQVggPSA7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxF
X0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVO
QUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1Nf
Qk9YX0RFQ09SQVRJT05fQlJFQUsgPSBFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLOwpA
QCAtMjA4LDQgKzIwOSw0IEBAIEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7CiAKIEVOQUJMRV9TQVRV
UkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1F
VElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NS
T0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVO
VCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChF
TkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
RVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19D
T01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
R1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VM
RUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAk
KEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkp
ICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBP
UlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRF
TVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxf
MikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQo
RU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVO
QUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChF
TkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9U
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NT
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5B
QkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwp
ICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAk
KEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
TE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5B
QkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1Rf
QU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVf
UkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFC
TEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQ
VE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5B
QkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5U
KSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVf
VklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVO
QUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FV
RElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVf
UElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lP
TlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklU
KSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhN
RVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVT
ID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NB
UFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJ
VElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5B
QkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQo
RU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAk
KEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVO
QUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVf
Q1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09S
X1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFT
SEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFf
VFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNF
X09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJ
TFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFND
UkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkg
JChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJP
VFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMp
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5f
V09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQo
RU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVM
RVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJM
RV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJf
QVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVO
QUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVE
SUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVN
RU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJM
RV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVO
Q1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5B
QkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9F
VkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5B
QkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVU
RSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9R
VUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkg
JChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxF
X1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05W
RVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1Q
TEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VF
X1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChF
TkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VU
UykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVf
V0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVO
QUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9M
QVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwppbmRleCBiNzljNGMyNWQyODVlMmVhYmIwMDNlZmE5MWY4ZGQ0YjRjZjY1Mjg4
Li42OWJkOWFiMDBlMGQ1MTVkM2MxNDEzMDRhNDI2YWU1YjViMjRkYmUzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFT
X1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
ID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSA7
CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJ
TFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05f
QlJFQUsgPSBFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLOwpAQCAtMjA4LDQgKzIwOSw0
IEBAIEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FS
SVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJE
X0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJM
RV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FD
SEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BS
T1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRB
WCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJM
RV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChF
TkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQo
RU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkg
JChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RF
WFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RP
TV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RB
VEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RF
VEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000
X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9F
TkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9O
VF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQp
ICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5B
QkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJB
U0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Up
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9Q
T1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFC
TEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNT
KSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElB
X0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFC
TEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykg
JChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVf
UFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZG
SVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1F
KSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RP
UikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJ
TkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykg
JChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NW
R19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9O
VU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9M
T0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxF
X1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVf
Q1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9X
RUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykg
JChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hI
Ul9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElO
VF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVf
VklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0Rf
UkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJM
RV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFC
TEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9N
RVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9O
RVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01Q
T1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJ
RF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lN
QUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNU
T1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVO
QUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQo
RU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQp
ICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMp
ICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikg
JChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5B
QkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9D
QVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJM
RV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFC
TEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVM
T0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1F
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RB
UkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRP
U0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xF
R0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxF
X0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQo
RU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVO
QUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9N
SFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09O
VEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9D
SykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxF
X1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5J
TUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVN
T1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVf
UlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNI
X1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8p
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxF
X1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAk
KEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
VE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklE
RU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJM
RV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElP
KSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElD
VFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMp
ICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAk
KEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJ
QykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2Uv
V2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBiNzlj
NGMyNWQyODVlMmVhYmIwMDNlZmE5MWY4ZGQ0YjRjZjY1Mjg4Li42OWJkOWFiMDBlMGQ1MTVkM2Mx
NDEzMDRhNDI2YWU1YjViMjRkYmUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFC
TEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZ
ID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
OwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSA7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9
IDsKIEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsgPSBFTkFCTEVfQ1NTX0JPWF9ERUNP
UkFUSU9OX0JSRUFLOwpAQCAtMjA4LDQgKzIwOSw0IEBAIEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7
CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVE
X0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5E
RVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFU
RURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FU
VEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9D
QU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NB
R0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
TkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsp
ICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9O
KSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAk
KEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFC
TEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VS
U09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVf
REFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RB
VEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVW
SUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFC
TEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxF
X0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVM
TFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRF
RCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9U
SFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Vf
SU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Ip
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9X
RUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAk
KEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVf
TUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9F
TEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVO
QUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VS
UkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQo
RU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlU
WV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01Q
TEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJ
QV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05B
UCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5B
QkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9D
T05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9U
RU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNU
X0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRB
Q1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkg
JChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09D
S0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFC
TEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAk
KEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRF
RF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwor
RkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykg
JChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5B
QkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NB
TlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFT
U19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09O
VEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09S
QVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklD
RV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFH
RV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NT
U19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NI
QVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykg
JChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExF
UikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQp
ICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkg
JChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJV
Q1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFf
VjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykg
JChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQ
QURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdF
X0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NF
UlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9N
T05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUsp
ICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5L
X1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQ
VCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09S
X1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdB
VE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJ
VF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5B
QkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFC
TEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFV
RVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVT
T0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NT
U19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFN
U19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9O
KSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVO
QUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVO
QUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5B
QkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtl
IGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCmluZGV4IDg4NzI2MTcyNjQwODM0
NGFiMDI1MmM5YzBlZjFmYzk3N2QwNjNmYmEuLjA1MDAzNzJjYjg0NTRkODQ4NjdlNjQyZTY5Nzcw
MWNkZDA5ZjI4YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFr
ZQorKysgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKQEAgLTI4LDYgKzI4LDcg
QEAgbWFjcm8oV0VCS0lUX09QVElPTl9CRUdJTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShF
TkFCTEVfQ0FOVkFTX1BST1hZICJUb2dnbGUgQ2FudmFzUHJveHkgc3VwcG9ydCIgT0ZGKQogICAg
IFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyAiVG9nZ2xlIE1l
c3NhZ2VDaGFubmVsIGFuZCBNZXNzYWdlUG9ydCBzdXBwb3J0IiBPTikKICAgICBXRUJLSVRfT1BU
SU9OX0RFRklORShFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCAiVG9nZ2xlIEVTNiBjbGFzcyBzeW50
YXggc3VwcG9ydCIgT0ZGKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9FUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVggIlRvZ2dsZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1cHBv
cnQiIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DT05URU5UX0ZJTFRFUklO
RyAiVG9nZ2xlIGNvbnRlbnQgZmlsdGVyaW5nIHN1cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BU
SU9OX0RFRklORShFTkFCTEVfQ09OVEVYVF9NRU5VUyAiVG9nZ2xlIENvbnRleHQgTWVudSBzdXBw
b3J0IiBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ1NQX05FWFQgIlRvZ2ds
ZSBDb250ZW50IFNlY3VyaXR5IFBvbGljeSAxLjEgc3VwcG9ydCIgT0ZGKQpkaWZmIC0tZ2l0IGEv
U291cmNlL2NtYWtlY29uZmlnLmguY21ha2UgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQpp
bmRleCAxYTc0NWNhNWNkODlmYjIwMDgyZjc3YmMwMjY4OGE5YjBiNGJkNGI5Li4zMTA2YjVlYTA4
NGIzODQzMWQ5NTk5NDRjNmNhMTgxZjJmY2UyMWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2Vj
b25maWcuaC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQpAQCAtMTMsNiAr
MTMsNyBAQAogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NBTlZBU19QUk9YWQogI2NtYWtlZGVmaW5l
MDEgRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfRVM2X0NM
QVNTX1NZTlRBWAorI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WAogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HCiAjY21ha2VkZWZpbmUw
MSBFTkFCTEVfQ09OVEVYVF9NRU5VUwogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NSRURFTlRJQUxf
U1RPUkFHRQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IGY1MmM5Njk5YWMwM2FhZjc1YTU5OWRkYWY2MzNmZTc2ZTg4NjllM2EuLmM2MjliNmY3YTRh
YWJmODYxZDM0NmU3YTg0MGMyNWE2NjM1N2VkNzUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxv
ZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNS0wMi0yNyAgU2th
Y2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIElt
cGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVl
UHJlZml4Lmg6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtOgor
CiAyMDE1LTAyLTI2ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQ2hl
Y2sgaW4gbWlzc2luZyBXZWJFZGl0aW5nVGVzdGVyLnhjY29uZmlnIGZpbGUuCmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZVByZWZpeC5oIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWVQcmVmaXguaAppbmRleCBkMTExMTdlYTIyNzc5YTUz
OTUyYjUyMzNhMjcyNjJiMjQ1OTFmYzBhLi5kZTM5OGNmZmQyMDZjZWM3NjRmODYyMGZhODQ4MTE1
Nzg0YjQ0MjAxIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJl
ZVByZWZpeC5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlUHJlZml4
LmgKQEAgLTI2LDcgKzI2LDkgQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAorI2lmbmRlZiBDb25maWdf
SAogI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgorI2VuZGlmCiAKICNpZmRlZiBfX09CSkNfXwog
I2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0gYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwv
RmVhdHVyZUxpc3QucG0KaW5kZXggMzU0MjVmNWU0YjU1NWFmMzAwMzJkMjFlZTNjYWVjNjg1NGY3
OWE0Yi4uYTZiYzlhOGZlYmQxYWU0YjJjNzU2MmNkNTFhOTJjMzhjNjM5ZjkxZiAxMDA2NDQKLS0t
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCisrKyBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQpAQCAtNDQsNiArNDQsNyBAQCBCRUdJTiB7
CiBteSAoCiAgICAgJHRocmVlRFJlbmRlcmluZ1N1cHBvcnQsCiAgICAgJGFjY2VsZXJhdGVkMkRD
YW52YXNTdXBwb3J0LAorICAgICRhcnJvd2Z1bmN0aW9uU3ludGF4LAogICAgICRiYXR0ZXJ5U3Rh
dHVzU3VwcG9ydCwKICAgICAkY2FudmFzUGF0aFN1cHBvcnQsCiAgICAgJGNhbnZhc1Byb3h5U3Vw
cG9ydCwKQEAgLTE2OSw2ICsxNzAsOSBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAgeyBvcHRpb24g
PT4gImNsYXNzLXN5bnRheCIsIGRlc2MgPT4gIlRvZ2dsZSBFUzYgY2xhc3Mgc3ludGF4IHN1cHBv
cnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCIsIGRlZmF1bHQg
PT4gMCwgdmFsdWUgPT4gXCRjbGFzc1N5bnRheCB9LAogCisgICAgeyBvcHRpb24gPT4gImFycm93
ZnVuY3Rpb24tc3ludGF4IiwgZGVzYyA9PiAiVG9nZ2xlIEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50
YXggc3VwcG9ydCIsCisgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgiLCBkZWZhdWx0ID0+IDEsIHZhbHVlID0+IFwkYXJyb3dmdW5jdGlvblN5bnRheCB9LAor
CiAgICAgeyBvcHRpb24gPT4gImNzcC1uZXh0IiwgZGVzYyA9PiAiVG9nZ2xlIENvbnRlbnQgU2Vj
dXJpdHkgUG9saWN5IDEuMSBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0NTUF9O
RVhUIiwgZGVmYXVsdCA9PiBpc0d0aygpLCB2YWx1ZSA9PiBcJGNzcE5leHRTdXBwb3J0IH0sCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwODExNzM0ZWZmMWU0NzBjMWFmNTJkNWZiNTNkYjRhMmFmN2FiMzBmLi42YWVhOTE0
OGM2NGY4OWE0OGNlMzcyZjYzMjI5ZTY5NmZhNGZkMzVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTUtMDItMjcgIFNrYWNoa292IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKwor
ICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBqcy9hcnJvd2Z1bmN0
aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICoganMvYXJyb3dmdW5jdGlvbi5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBqcy9zY3JpcHQtdGVzdHMvYXJyb3dmdW5jdGlvbi5qczogQWRk
ZWQuCisgICAgICAgIChhcnJvd0Z1bmN0aW9uV3JhcHBlcik6CisgICAgICAgIChhcnJvd0Z1bmN0
aW9uV3JhcHBlcjIpOgorCiAyMDE1LTAyLTI2ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFs
bGF3YUBhcHBsZS5jb20+CiAKICAgICAgICAgQ2xlYW51cCBSZW5kZXJTVkdSZXNvdXJjZUNsaXBw
ZXIgY2xhc3MuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9hcnJvd2Z1bmN0aW9uLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL2Fycm93ZnVuY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjViMzllNjY1ODdmODA5YmMyYjUwNmIwOTFmZmQ5YjQ5YjRkMjU4MTMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9hcnJvd2Z1bmN0aW9uLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM0IEBACitUaGlzIHRlc3QgY2hlY2sgdGhlIGJlaGF2aW9yIG9mIHRoZSBvZiBhcnJv
dyBmdW5jdGlvbih0aGluIGNhc2UpCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQ
QVNTIGFycm93RnVuY3Rpb24wKDEwKSBpcyAxMQorUEFTUyBhcnJvd0Z1bmN0aW9uMSgxMCkgaXMg
MTEKK1BBU1MgYXJyb3dGdW5jdGlvbjIoKSBpcyAxMDAwCitQQVNTIGFycm93RnVuY3Rpb24zKDEw
LCAyKSBpcyAxMgorUEFTUyBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEwKSBpcyAxMAorUEFT
UyBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEwLCAyMCkgaXMgMTAKK1BBU1MgYXJyb3dGdW5j
dGlvbldyYXBwZXIoeCA9PiAxMCArIDMwKSBpcyA0MAorUEFTUyBhcnJvd0Z1bmN0aW9uV3JhcHBl
cih4ID0+IDEwICsgMzAsIDEwMDApIGlzIDQwCitQQVNTIGFycm93RnVuY3Rpb25XcmFwcGVyKHgg
PT4geCArIDEsIDIxKSBpcyAyMgorUEFTUyBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoeCkgPT4geCAr
IDEsIDIxKSBpcyAyMgorUEFTUyBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiAxMDApIGlzIDEw
MAorUEFTUyBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiAxMDAsIDExKSBpcyAxMDAKK1BBU1Mg
YXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwICsgMTApIGlzIDExMAorUEFTUyBhcnJvd0Z1
bmN0aW9uV3JhcHBlcigoKSA9PiAxMDAgKyAxMCwgMTIpIGlzIDExMAorUEFTUyBhcnJvd0Z1bmN0
aW9uV3JhcHBlcjIoKHgsICB5KSA9PiB4ICsgeSwgMjEsIDUpIGlzIDI2CitQQVNTIGFycm93RnVu
Y3Rpb240KDEwMSkgaXMgMTAyCitQQVNTIHh5ejEgaXMgMTAxMDEKK1BBU1MgYXJyb3dGdW5jdGlv
QXJyYXkwWzBdKDEwKSBpcyAxMDAKK1BBU1MgYXJyb3dGdW5jdGlvQXJyYXkxWzBdKDEwKSBpcyAx
MQorUEFTUyBhcnJvd0Z1bmN0aW9BcnJheTFbMV0oMTEpIGlzIDEzCitQQVNTIGFycm93RnVuY3Rp
b0FycmF5MlswXSgxMSkgaXMgMTIKK1BBU1MgYXJyb3dGdW5jdGlvQXJyYXkyWzFdKDExKSBpcyAx
MworUEFTUyBhcnJvd0Z1bmN0aW9BcnJheTNbMF0oMTEpIGlzIDEwMQorUEFTUyBhcnJvd0Z1bmN0
aW9BcnJheTNbMV0oMTEpIGlzIDEyMzIzCitQQVNTIGFycm93RnVuY3Rpb25PYmouZnVuYygxMSkg
aXMgMjMKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9hcnJvd2Z1bmN0aW9uLmh0bWwgYi9MYXlvdXRU
ZXN0cy9qcy9hcnJvd2Z1bmN0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTM3MmYwZjcyYTAwNGFjZWE3
MTc4MWU2ZmU0NGQ4MjM2OWZmNjAwNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pz
L2Fycm93ZnVuY3Rpb24uaHRtbApAQCAtMCwwICsxLDEyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0IHNyYz0ic2NyaXB0LXRlc3RzL2Fycm93ZnVuY3Rpb24uanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2Fycm93ZnVu
Y3Rpb24uanMgYi9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvYXJyb3dmdW5jdGlvbi5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hZjllMjIzMTMxNTZiYjNjNDg5ZWYxNDU0MjFkNzkzMDFiNDY2YzBhCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2Fycm93ZnVuY3Rpb24u
anMKQEAgLTAsMCArMSw0OCBAQAorZGVzY3JpcHRpb24oCisiVGhpcyB0ZXN0IGNoZWNrIHRoZSBi
ZWhhdmlvciBvZiB0aGUgIG9mIGFycm93IGZ1bmN0aW9uKHRoaW4gY2FzZSkiCispOworCit2YXIg
YXJyb3dGdW5jdGlvbjAgPSB2ID0+IHYgKyAxOwordmFyIGFycm93RnVuY3Rpb24xID0gKHYpID0+
IHYgKyAxOwordmFyIGFycm93RnVuY3Rpb24yID0gKCkgPT4gMTAwMDsKK3ZhciBhcnJvd0Z1bmN0
aW9uMyA9ICh2LCB4KSA9PiB2ICsgeDsKK3ZhciBhcnJvd0Z1bmN0aW9uV3JhcHBlciA9IGZ1bmN0
aW9uIChjbCwgcGFyYW10ZXIpIHsgcmV0dXJuIGNsKHBhcmFtdGVyKTsgfTsKK3ZhciBhcnJvd0Z1
bmN0aW9uV3JhcHBlcjIgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVyMSwgcGFyYW10ZXIyKSB7IHJl
dHVybiBjbChwYXJhbXRlcjEsIHBhcmFtdGVyMik7IH07Cit2YXIgYXJyb3dGdW5jdGlvbjQgPSB2
ID0+IHYgKyAxLCB4eXoxID0gMTAxMDE7Cit2YXIgYXJyb3dGdW5jdGlvQXJyYXkwID0gW3YgPT4g
diAqIDEwXTsKK3ZhciBhcnJvd0Z1bmN0aW9BcnJheTEgPSBbdiA9PiB2ICsgMSwgdiA9PiB2ICsg
Ml07Cit2YXIgYXJyb3dGdW5jdGlvQXJyYXkyID0gWyh2KSA9PiB2ICsgMSwgKHYpID0+IHYgKyAy
XTsKK3ZhciBhcnJvd0Z1bmN0aW9BcnJheTMgPSBbKCkgPT4gMTAxLCAoKSA9PiAxMjMyM107Cit2
YXIgYXJyb3dGdW5jdGlvbk9iaiA9IHtmdW5jIDogeSA9PiB5ICsgMTIgfTsKKy8vTm90IGNvdmVy
ZWQgY2FzZXMKKy8vdmFyIGFycm93RnVuY3Rpb240ID0gdiA9PiB7IHZhciBpbnQ9IDEwMDsgcmV0
dXJuIHYqaW50OyB9OworLy92YXIgYXJyb3dGdW5jdGlvbjUgPSAodikgPT4geyB2YXIgaW50PSAx
MDA7IHJldHVybiB2KmludDsgfTsKKy8vdmFyIGFycm93RnVuY3Rpb242ID0gKHYsIHgpID0+IHsg
dmFyIHJlc3VsdCA9IHggKiB2OyByZXR1cm4gcmVzdWx0OyB9OworCisKK3Nob3VsZEJlKCJhcnJv
d0Z1bmN0aW9uMCgxMCkiLCAiMTEiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uMSgxMCkiLCAi
MTEiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uMigpIiwgIjEwMDAiKTsKK3Nob3VsZEJlKCJh
cnJvd0Z1bmN0aW9uMygxMCwgMikiLCAiMTIiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uV3Jh
cHBlcih4ID0+IDEwKSIsICIxMCIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb25XcmFwcGVyKHgg
PT4gMTAsIDIwKSIsICIxMCIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4g
MTAgKyAzMCkiLCAiNDAiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEw
ICsgMzAsIDEwMDApIiwgIjQwIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9
PiB4ICsgMSwgMjEpIiwgIjIyIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvbldyYXBwZXIoKHgp
ID0+IHggKyAxLCAyMSkiLCAiMjIiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uV3JhcHBlcigo
KSA9PiAxMDApIiwgIjEwMCIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+
IDEwMCwgMTEpIiwgIjEwMCIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+
IDEwMCArIDEwKSIsICIxMTAiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9
PiAxMDAgKyAxMCwgMTIpIiwgIjExMCIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb25XcmFwcGVy
MigoeCwgIHkpID0+IHggKyB5LCAyMSwgNSkiLCAiMjYiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0
aW9uNCgxMDEpIiwgIjEwMiIpOworc2hvdWxkQmUoInh5ejEiLCAiMTAxMDEiKTsKKworc2hvdWxk
QmUoImFycm93RnVuY3Rpb0FycmF5MFswXSgxMCkiLCAiMTAwIik7CitzaG91bGRCZSgiYXJyb3dG
dW5jdGlvQXJyYXkxWzBdKDEwKSIsICIxMSIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb0FycmF5
MVsxXSgxMSkiLCAiMTMiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9BcnJheTJbMF0oMTEpIiwg
IjEyIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvQXJyYXkyWzFdKDExKSIsICIxMyIpOworc2hv
dWxkQmUoImFycm93RnVuY3Rpb0FycmF5M1swXSgxMSkiLCAiMTAxIik7CitzaG91bGRCZSgiYXJy
b3dGdW5jdGlvQXJyYXkzWzFdKDExKSIsICIxMjMyMyIpOworc2hvdWxkQmUoImFycm93RnVuY3Rp
b25PYmouZnVuYygxMSkiLCAiMjMiKTsKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxv
ZwppbmRleCA4ZDdkY2IyZDU1ZGZkMjhjNWU2MjQzMWJjZmQ5NzFhOTU1ZGQ2YTY0Li5iYjM1MmFk
YzkwMDViNzNjOGJkOWQ5MGE0OTc3MDA2ZjQ2YWQ0MjkzIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cK
KysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTUtMDItMjcgIFNrYWNoa292IEFs
ZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQg
RVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2U6Cisg
ICAgICAgICogU291cmNlL2NtYWtlY29uZmlnLmguY21ha2U6CisKIDIwMTUtMDItMjYgIENzYWJh
IE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBbRUZMXSBSZW1vdmUg
dW5uZWNlc3NhcnkgY29tbWVudCBhZnRlciByMTc5MTEwCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247579</attachid>
            <date>2015-02-27 18:23:25 -0800</date>
            <delta_ts>2015-02-28 00:55:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150228042308.patch</filename>
            <type>text/plain</type>
            <size>71165</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwNjg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
NDEzYmJiZDFjMDdmMmQwMGVkZDNhMGE0NGFlYWFmZWNhMGVkMmRhLi5iMzNkYjk2ZjA4ODUzYzBl
YjY1NGQ3ZGI4MGY4NWI3MDJkOGI3OTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NSBAQAorMjAxNS0wMi0yNyAgQWxleGFuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21h
aWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3lu
dGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4
NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICBBZGRlZCBmZWF0
dXJlIGZsYWcgRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rp
b24KKworICAgICAgICAqIHBhcnNlci9BU1RCdWlsZGVyLmg6CisgICAgICAgIChKU0M6OkFTVEJ1
aWxkZXI6OmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAgICAgQWRkZWQgZnVuY3Rpb24g
dGhhdCBjcmVhdGUgZXhwcmVzaW9uIGZvciBhcnJvdyBmdW5jdGlvbgorICAgICAgICAoSlNDOjpB
U1RCdWlsZGVyOjpjcmVhdGVBcnJvd0Z1bmNEZWNsU3RhdGVtZW50KToKKyAgICAgICAgQWRkZWQg
bWV0aG9kIHRvIGNyZWF0ZSBBcnJvdyBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjbG9zZSB0byBjb21t
b24gZnVuY3Rpb24gZGVjbGFyYXRpb24KKyAgICAgICAgCisgICAgICAgICogcGFyc2VyL0xleGVy
LmNwcDoKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24pOgorICAgICAg
ICBNZXRob2QgdGhhdCBhbGxvdyB0byBzZXQgY3VycmVjdCBwb3NpdGlvbiBmb3IgdGhlIHRvY2tl
biBvdXRzaWRlIHRoZSBMZXhlciBjbGFzCisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpsZXgpOgor
ICAgICAgICBNZXRob2QgY2hhbmdlZCB0byBzdXBwb3J0IG9mIHRoZSBhcnJvdyBmdW5jdGlvbgor
ICAgICAgICAqIHBhcnNlci9MZXhlci5oOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6c2V0VG9r
ZW5Qb3NpdGlvbik6CisgICAgICAgIERlY2xhcmF0aW9uIG9mIHRoZSBtZXRob2QgdGhhdCBhbGxv
dyB0byBzZXQgY3VycmVjdCBwb3NpdGlvbiBmb3IgdGhlIHRvY2tlbiBvdXRzaWRlIHRoZSBMZXhl
ciBjbGFzcyAKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFy
c2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMpOgorICAgICAgICBNb2RpZmllZCBt
ZXRob2QgdG8gc3VwcG9ydCB0d28gbWV0aG9kcyBvZiB0aGUgcGFyc2UganMgZnVuY3Rpb24uIFRo
ZSBmaXJzdCBzdGFuZGFyIGZ1bmN0aW9uIGFuZCBuZXcgdHlwZSBpcyBhcnJvdyBmdW5jdGlvbi4K
KyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlc3Npb24p
OgorCisgICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorICAgICAgICAoSlNDOjpTY29wZTo6ZGVj
bGFyZUJvdW5kUGFyYW1ldGVyKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpmaW5kQ2FjaGVkRnVu
Y3Rpb25JbmZvKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpzZXRFbmRPZlN0YXRlbWVudCk6Cisg
ICAgICAgIChKU0M6OlBhcnNlcjo6cmVzdG9yZVN0YXRlKToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlKToKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyVG9rZW5zLmg6Cisg
ICAgICAgICogcGFyc2VyL1NvdXJjZUNvZGUuaDoKKyAgICAgICAgKEpTQzo6U291cmNlQ29kZTo6
c3ViRXhwcmVzc2lvbkFycm93RnVuY3Rpb24pOgorICAgICAgICAqIHBhcnNlci9TeW50YXhDaGVj
a2VyLmg6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNyZWF0ZUFycm93RnVuY3Rpb25F
eHByKToKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6b3BlcmF0b3JTdGFja1BvcCk6CisK
IDIwMTUtMDItMjYgIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CiAKICAgICAg
ICAgW1dpbl0gRGVidWctb25seSBKYXZhU2NyaXB0Q29yZSBmYWlsdXJlcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IGZkOTQwNzZlMGQ5NTg0MWMyOTQ0NmVhYTRiYjQ5NDZlNmNjNTMxZWQuLjNlNDk2YWYwMTk5Yzk0
MmZiODc1MTg4NjgxMWE4YjYxZmI4MDNkMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAor
MjAxNS0wMi0yNyAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisg
ICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmZWF0dXJlIGZs
YWcgRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rpb24KKyAg
ICAgICAgQWRkZWQgdGVzdCBmb3IgYXJyb3cgZnVuY3Rpb24KKworICAgICAgICBUZXN0OiBqcy9h
cnJvd2Z1bmN0aW9uLmh0bWwKKyAgICAgICAgICAgICAganMvc2NyaXB0LXRlc3RzL2Fycm93ZnVu
Y3Rpb24uanMKKyAgICAgICAgICAgICAganMvYXJyb3dmdW5jdGlvbi1leHBlY3RlZC50eHQKKwor
ICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1
LTAyLTI2ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CiAKICAg
ICAgICAgQ2xlYW51cCBSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIgY2xhc3MuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKaW5kZXggYzZiNDk2MjgwMDE5NTE1NjFjNzhhYjhjNDBlMTVmMTIwOTBjM2EyNS4uZTk4ZTU5
MWIxMjJhYzUwYjY0NDM0Mzc4MmQ3NDYxOTBkODU4Y2U5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE0IEBACisyMDE1LTAyLTI3ICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBn
bWFpbC5jb20+CisKKyAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MDg1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZGVkIGZlYXR1cmUgZmxhZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJv
dyBmdW5jdGlvbgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWc6CisKIDIwMTUtMDItMjQgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQu
b3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxODA1OTkuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
aW5kZXggZDU5Mjg0YzczZjQ3NjljNzI3ZDE5Zjc0YmNjYjgxYjAyYmM0NGZiMi4uODVjMzUwYWM3
NzNmYTJhN2IwM2ZjZTNkNzhkYWM0MzdmNTNkYzIzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
IEBACisyMDE1LTAyLTI3ICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+
CisKKyAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGZlYXR1
cmUgZmxhZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlv
bgorCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoK
KwogMjAxNS0wMi0yNSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAg
ICAgICAgIEFkZCAodW51c2VkIGZvciBub3cpIGNvZGUgdG8gZGVsZXRlIHdlYnNpdGUgZGF0YSBm
b3IgYSBzZXQgb2Ygb3JpZ2lucwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGI3OWM0YzI1
ZDI4NWUyZWFiYjAwM2VmYTkxZjhkZDRiNGNmNjUyODguLjY5YmQ5YWIwMGUwZDUxNWQzYzE0MTMw
NGE0MjZhZTViNWIyNGRiZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1
LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NB
TlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gOworRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFC
TEVfQ09OVEVOVF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVf
Q1NQX05FWFQgPSA7CiBFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLID0gRU5BQkxFX0NT
U19CT1hfREVDT1JBVElPTl9CUkVBSzsKQEAgLTIwOCw0ICsyMDksNCBAQCBFTkFCTEVfTExJTlRf
Q19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxF
X1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFC
TEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAk
KEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykg
JChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hB
Tk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFU
SU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0Vf
QURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1Nf
UkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQ
RVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQo
RU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIp
ICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAk
KEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQo
RU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNU
T1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1Yy
KSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQo
RU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFE
X0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9E
T01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJW
SUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9O
VEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAk
KEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19Q
UkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQp
ICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFC
TEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9T
Q0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRP
Ul9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRf
UExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJM
RV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxF
X1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVT
VF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09M
VVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1Nf
U0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNf
QVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVf
VVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChF
TkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFC
TEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFC
TEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1J
TkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFC
TEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJM
RV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElP
Tl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19T
Q1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVN
RU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAk
KEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQo
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NT
X0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxF
X0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJM
RV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAk
KEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5B
QkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJ
TkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NI
RU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxT
X0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVO
VFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9B
RF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVO
QUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9I
SURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAk
KEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9J
TkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lO
UFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lP
U19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
SU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJ
WEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChF
TkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05U
Uk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElT
VElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01P
VVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5B
QkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01J
U0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJ
U1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChF
TkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQo
RU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAk
KEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5B
QkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9O
VFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVS
X0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRP
U0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElO
RykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURF
T19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19N
RURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JF
UExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5B
QkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElN
RU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19M
T09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVP
X1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvQVNUQnVpbGRlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWls
ZGVyLmgKaW5kZXggODg0MThmMTZhMjAwMjZiMmE2YzAxZjNlMjY4MWQ2MGNkNWNmNzk5Ni4uOGZl
OTBjZjE0NmU0NTU5MDM0YzQ2ZTIwYWYxNjhlNjMzYjRmMjZjYyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKQEAgLTI5OCw2ICsyOTgsMTcgQEAgcHVibGljOgog
ICAgICAgICByZXR1cm4gbmV3IChtX3BhcnNlckFyZW5hKSBGdW5jdGlvbkJvZHlOb2RlKG1fcGFy
c2VyQXJlbmEsIHN0YXJ0TG9jYXRpb24sIGVuZExvY2F0aW9uLCBzdGFydENvbHVtbiwgZW5kQ29s
dW1uLCBpblN0cmljdENvbnRleHQpOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgRXhwcmVzc2lvbk5vZGUqIGNyZWF0ZUFycm93RnVuY3Rpb25FeHBy
KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5m
bzxBU1RCdWlsZGVyPiYgaW5mbywgdW5zaWduZWQgYXJyb3dGdW5jdGlvbktleXdvcmRTdGFydCkK
KyAgICB7CisgICAgICAgIEZ1bmNFeHByTm9kZSogcmVzdWx0ID0gbmV3IChtX3BhcnNlckFyZW5h
KSBGdW5jRXhwck5vZGUobG9jYXRpb24sICppbmZvLm5hbWUsIGluZm8uYm9keSwKKyAgICAgICAg
ICAgIG1fc291cmNlQ29kZS0+c3ViRXhwcmVzc2lvbkFycm93RnVuY3Rpb24oaW5mby5vcGVuQnJh
Y2VPZmZzZXQsIGluZm8uY2xvc2VCcmFjZU9mZnNldCwgaW5mby5ib2R5U3RhcnRMaW5lLCBpbmZv
LmJvZHlTdGFydENvbHVtbiksIGluZm8ucGFyYW1ldGVycyk7CisgICAgICAgIGluZm8uYm9keS0+
c2V0TG9jKGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5RW5kTGluZSwgbG9jYXRpb24uc3Rh
cnRPZmZzZXQsIGxvY2F0aW9uLmxpbmVTdGFydE9mZnNldCk7CisgICAgICAgIGluZm8uYm9keS0+
c2V0RnVuY3Rpb25LZXl3b3JkU3RhcnQoYXJyb3dGdW5jdGlvbktleXdvcmRTdGFydCk7CisgICAg
ICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorI2VuZGlmCisKICAgICB2b2lkIHNldEZ1bmN0aW9u
TmFtZVN0YXJ0KEZ1bmN0aW9uQm9keU5vZGUqIGJvZHksIGludCBmdW5jdGlvbk5hbWVTdGFydCkK
ICAgICB7CiAgICAgICAgIGJvZHktPnNldEZ1bmN0aW9uTmFtZVN0YXJ0KGZ1bmN0aW9uTmFtZVN0
YXJ0KTsKQEAgLTM3Niw2ICszODcsMTkgQEAgcHVibGljOgogICAgIH0KICNlbmRpZgogCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBTdGF0ZW1lbnROb2RlKiBjcmVh
dGVBcnJvd0Z1bmNEZWNsU3RhdGVtZW50KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24s
IGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RCdWlsZGVyPiYgaW5mbywgdW5zaWduZWQgZnVu
Y3Rpb25LZXl3b3JkU3RhcnQpCisgICAgeworICAgICAgICBGdW5jRGVjbE5vZGUqIGRlY2wgPSBu
ZXcgKG1fcGFyc2VyQXJlbmEpIEZ1bmNEZWNsTm9kZShsb2NhdGlvbiwgKmluZm8ubmFtZSwgaW5m
by5ib2R5LAorICAgICAgICAgICAgbV9zb3VyY2VDb2RlLT5zdWJFeHByZXNzaW9uQXJyb3dGdW5j
dGlvbihpbmZvLm9wZW5CcmFjZU9mZnNldCwgaW5mby5jbG9zZUJyYWNlT2Zmc2V0LCBpbmZvLmJv
ZHlTdGFydExpbmUsIGluZm8uYm9keVN0YXJ0Q29sdW1uKSwgaW5mby5wYXJhbWV0ZXJzKTsKKyAg
ICAgICAgaWYgKCppbmZvLm5hbWUgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXJndW1lbnRzKQor
ICAgICAgICAgICAgdXNlc0FyZ3VtZW50cygpOworICAgICAgICBtX3Njb3BlLm1fZnVuY0RlY2xh
cmF0aW9ucy5hcHBlbmQoZGVjbC0+Ym9keSgpKTsKKyAgICAgICAgaW5mby5ib2R5LT5zZXRGdW5j
dGlvbktleXdvcmRTdGFydChmdW5jdGlvbktleXdvcmRTdGFydCk7CisgICAgICAgIHJldHVybiBk
ZWNsOworICAgIH0KKyNlbmRpZgorCiAgICAgU3RhdGVtZW50Tm9kZSogY3JlYXRlQmxvY2tTdGF0
ZW1lbnQoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgSlNDOjpTb3VyY2VFbGVtZW50
cyogZWxlbWVudHMsIGludCBzdGFydExpbmUsIGludCBlbmRMaW5lKQogICAgIHsKICAgICAgICAg
QmxvY2tOb2RlKiBibG9jayA9IG5ldyAobV9wYXJzZXJBcmVuYSkgQmxvY2tOb2RlKGxvY2F0aW9u
LCBlbGVtZW50cyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xl
eGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCmluZGV4IGYx
M2ZlNGRlYWMwZWRlMDQzN2M0OTE3YmE0OGY0ZjBiOTY1MDljMGUuLjQ4Y2NmYjZmZDM4YTFjYzk1
NThhZGY5MzQ5MGNiMzg0NzZlZTdiNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTGV4ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4
ZXIuY3BwCkBAIC0xMzg3LDYgKzEzODcsMTYgQEAgYm9vbCBMZXhlcjxUPjo6bmV4dFRva2VuSXND
b2xvbigpCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgordm9pZCBMZXhlcjxUPjo6c2V0VG9r
ZW5Qb3NpdGlvbihKU1Rva2VuKiB0b2tlblJlY29yZCkKK3sKKyAgICBKU1Rva2VuRGF0YSogdG9r
ZW5EYXRhID0gJnRva2VuUmVjb3JkLT5tX2RhdGE7CisgICAgdG9rZW5EYXRhLT5saW5lID0gbGlu
ZU51bWJlcigpOworICAgIHRva2VuRGF0YS0+b2Zmc2V0ID0gY3VycmVudE9mZnNldCgpOworICAg
IHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVTdGFydE9mZnNldCgpOwor
ICAgIEFTU0VSVCh0b2tlbkRhdGEtPm9mZnNldCA+PSB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNl
dCk7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgogSlNUb2tlblR5cGUgTGV4ZXI8VD46Omxl
eChKU1Rva2VuKiB0b2tlblJlY29yZCwgdW5zaWduZWQgbGV4ZXJGbGFncywgYm9vbCBzdHJpY3RN
b2RlKQogewogICAgIEpTVG9rZW5EYXRhKiB0b2tlbkRhdGEgPSAmdG9rZW5SZWNvcmQtPm1fZGF0
YTsKQEAgLTE0NDksNyArMTQ1OSwxMiBAQCBzdGFydDoKICAgICAgICAgfQogICAgICAgICB0b2tl
biA9IEdUOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIENoYXJhY3RlckVxdWFsOgorICAgIGNh
c2UgQ2hhcmFjdGVyRXF1YWw6IHsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgICAgICB1aW50MzJfdCBzYXZlZGxpbmVOdW1iZXIgPSB0b2tlbkRhdGEtPmxpbmU7Cisg
ICAgICAgIHVpbnQzMl90IHNhdmVkT2Zmc2V0ID0gY3VycmVudE9mZnNldCgpOworICAgICAgICB1
aW50MzJfdCBzYXZlZExpbmVTdGFydE9mZnNldCA9IGN1cnJlbnRMaW5lU3RhcnRPZmZzZXQoKTsK
KyNlbmRpZgogICAgICAgICBzaGlmdCgpOwogICAgICAgICBpZiAobV9jdXJyZW50ID09ICc9Jykg
ewogICAgICAgICAgICAgc2hpZnQoKTsKQEAgLTE0NjEsOCArMTQ3NiwyMyBAQCBzdGFydDoKICAg
ICAgICAgICAgIHRva2VuID0gRVFFUTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9Cisg
ICAgICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlm
IChtX2N1cnJlbnQgPT0gJz4nKSB7CisgICAgICAgICAgICBzaGlmdCgpOworICAgICAgICAgICAg
dG9rZW4gPSBBUlJPV0ZVTkNUSU9OOworICAgICAgICAgICAgCisgICAgICAgICAgICB0b2tlbkRh
dGEtPmxpbmUgPSBzYXZlZGxpbmVOdW1iZXI7CisgICAgICAgICAgICB0b2tlbkRhdGEtPm9mZnNl
dCA9IHNhdmVkT2Zmc2V0OworICAgICAgICAgICAgdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQg
PSBzYXZlZExpbmVTdGFydE9mZnNldDsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgQVNTRVJU
KHRva2VuRGF0YS0+b2Zmc2V0ID49IHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0KTsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgdG9rZW4gPSBFUVVBTDsK
ICAgICAgICAgYnJlYWs7CisgICAgfQogICAgIGNhc2UgQ2hhcmFjdGVyTGVzczoKICAgICAgICAg
c2hpZnQoKTsKICAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnIScgJiYgcGVlaygxKSA9PSAnLScg
JiYgcGVlaygyKSA9PSAnLScpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvTGV4ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAppbmRl
eCA4MWI0MzM0ZDg0OWQ4M2U3NWZhZGFmZWY1NDIwODQxNmE4ZDE2ZDY2Li5iNjFkMzg3YTZmYzM4
YWQ4NjNiNGQyMWNmNzczMzczYzM1MWY3NGNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL0xleGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9M
ZXhlci5oCkBAIC04NSw2ICs4NSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldElzUmVwYXJzaW5n
KCkgeyBtX2lzUmVwYXJzaW5nID0gdHJ1ZTsgfQogICAgIGJvb2wgaXNSZXBhcnNpbmcoKSBjb25z
dCB7IHJldHVybiBtX2lzUmVwYXJzaW5nOyB9CiAKKyAgICB2b2lkIHNldFRva2VuUG9zaXRpb24o
SlNUb2tlbiogdG9rZW5SZWNvcmQpOwogICAgIEpTVG9rZW5UeXBlIGxleChKU1Rva2VuKiwgdW5z
aWduZWQsIGJvb2wgc3RyaWN0TW9kZSk7CiAgICAgYm9vbCBuZXh0VG9rZW5Jc0NvbG9uKCk7CiAg
ICAgaW50IGxpbmVOdW1iZXIoKSBjb25zdCB7IHJldHVybiBtX2xpbmVOdW1iZXI7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAppbmRleCBmNGM0YmM1ZDRlM2Y3MmY2MDUx
MmJmYzYwNzAxNTZkMzE2ZmFhYmFjLi4yMjMwNzIwNzUyOTQ3NGNkMDJmM2QzNGE0ZmM0MDkxOGUz
M2IyOWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCkBAIC0zMjIs
OSArMzIyLDEzIEBAIGJvb2wgUGFyc2VyPExleGVyVHlwZT46OmFsbG93QXV0b21hdGljU2VtaWNv
bG9uKCkKIHsKICAgICByZXR1cm4gbWF0Y2goQ0xPU0VCUkFDRSkgfHwgbWF0Y2goRU9GVE9LKSB8
fCBtX2xleGVyLT5wcmV2VGVybWluYXRvcigpOwogfQotCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYgY29udGV4dCwgU291cmNlRWxlbWVudHNN
b2RlIG1vZGUsIEZ1bmN0aW9uUGFyc2VUeXBlIHR5cGUpCisjZWxzZQogdGVtcGxhdGUgPHR5cGVu
YW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVs
ZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVy
JiBjb250ZXh0LCBTb3VyY2VFbGVtZW50c01vZGUgbW9kZSkKKyNlbmRpZgogewogICAgIGNvbnN0
IHVuc2lnbmVkIGxlbmd0aE9mVXNlU3RyaWN0TGl0ZXJhbCA9IDEyOyAvLyAidXNlIHN0cmljdCIu
bGVuZ3RoCiAgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHNvdXJjZUVsZW1lbnRzID0gY29udGV4dC5j
cmVhdGVTb3VyY2VFbGVtZW50cygpOwpAQCAtMzMzLDcgKzMzNywxMSBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VTb3VyY2VFbAogICAgIHVuc2lnbmVkIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwOwogICAg
IGF1dG8gc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CiAgICAgYm9vbCBoYXNTZXRTdHJp
Y3QgPSBmYWxzZTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHdo
aWxlIChUcmVlU3RhdGVtZW50IHN0YXRlbWVudCA9IHBhcnNlU3RhdGVtZW50KGNvbnRleHQsIGRp
cmVjdGl2ZSwgJmRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgsIHR5cGUpKSB7CisjZWxzZQogICAgIHdo
aWxlIChUcmVlU3RhdGVtZW50IHN0YXRlbWVudCA9IHBhcnNlU3RhdGVtZW50KGNvbnRleHQsIGRp
cmVjdGl2ZSwgJmRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgpKSB7CisjZW5kaWYgICAgICAKICAgICAg
ICAgaWYgKG1vZGUgPT0gQ2hlY2tGb3JTdHJpY3RNb2RlICYmICFzZWVuTm9uRGlyZWN0aXZlKSB7
CiAgICAgICAgICAgICBpZiAoZGlyZWN0aXZlKSB7CiAgICAgICAgICAgICAgICAgLy8gInVzZSBz
dHJpY3QiIG11c3QgYmUgdGhlIGV4YWN0IGxpdGVyYWwgd2l0aG91dCBlc2NhcGUgc2VxdWVuY2Vz
IG9yIGxpbmUgY29udGludWF0aW9uLgpAQCAtNTcxLDYgKzU3OSwzMiBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gUGFyc2VyPExleGVyVHlw
ZT46OnRyeVBhcgogICAgIHJldHVybiBwYXJzZURlY29uc3RydWN0aW9uUGF0dGVybihjb250ZXh0
LCBEZWNvbnN0cnVjdFRvRXhwcmVzc2lvbnMpOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
QXJyb3dGdW5jdGlvblN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBBU1NF
UlQobWF0Y2goQVJST1dGVU5DVElPTikpOworCisgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9u
KHRva2VuTG9jYXRpb24oKSk7CisgICAgc2VtYW50aWNGYWlsSWZGYWxzZShjdXJyZW50U2NvcGUo
KS0+aXNGdW5jdGlvbigpLCAiUmV0dXJuIHN0YXRlbWVudHMgYXJlIG9ubHkgdmFsaWQgaW5zaWRl
IGFycm93IGZ1bmN0aW9ucyIpOworICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFy
dFBvc2l0aW9uKCk7CisgICAgSlNUZXh0UG9zaXRpb24gZW5kID0gdG9rZW5FbmRQb3NpdGlvbigp
OworCisgICAgbmV4dCgpOworICAgIFRyZWVFeHByZXNzaW9uIGV4cHIgPSBwYXJzZUFycm93RXhw
cmVzc2lvbihjb250ZXh0KTsKKyAgICBmYWlsSWZGYWxzZShleHByLCAiQ2Fubm90IHBhcnNlIHRo
ZSBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgZW5kID0gbGFzdFRva2VuRW5kUG9z
aXRpb24oKTsKKworICAgIGJvb2wgY29ycmVjQXJyb3dGaW5pc2ggPSBtYXRjaChTRU1JQ09MT04p
IHx8IG1hdGNoKENPTU1BKSB8fCBtYXRjaChDTE9TRVBBUkVOKSB8fCBtYXRjaChDTE9TRUJSQUNF
KSB8fCBtYXRjaChDTE9TRUJSQUNLRVQpIHx8IG1hdGNoKEVPRlRPSyk7CisgICAgZmFpbElmRmFs
c2UoY29ycmVjQXJyb3dGaW5pc2gsICJFeHBlY3RlZCBhICc7JywgJ10nLCAnfScsICcpJywgb3Ig
JywnIGZvbGxvd2luZyBhIGFycm93IGZ1bmN0aW9uIHN0YXRlbWVudCIpOworCisgICAgZW5kID0g
dG9rZW5FbmRQb3NpdGlvbigpOworICAgIHNldEVuZE9mU3RhdGVtZW50KCk7CisKKyAgICByZXR1
cm4gY29udGV4dC5jcmVhdGVSZXR1cm5TdGF0ZW1lbnQobG9jYXRpb24sIGV4cHIsIHN0YXJ0LCBl
bmQpOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuKFRyZWVCdWlsZGVyJiBjb250ZXh0
LCBEZWNvbnN0cnVjdGlvbktpbmQga2luZCwgaW50IGRlcHRoKQogewpAQCAtMTEzNyw4ICsxMTcx
LDEzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VCbG9ja1N0YXRlbWVuCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUg
TGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgY29u
c3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5n
dGgsIEZ1bmN0aW9uUGFyc2VUeXBlIHR5cGUpCisjZWxzZQogdGVtcGxhdGUgPHR5cGVuYW1lIExl
eGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0
IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3Ro
KQorI2VuZGlmCiB7CiAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVu
dERlcHRoKTsKICAgICBtX3N0YXRlbWVudERlcHRoKys7CkBAIC0xMTQ3LDYgKzExODYsMjggQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZVN0YXRlbWVudChUcmUKICAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7CiAgICAg
VHJlZVN0YXRlbWVudCByZXN1bHQgPSAwOwogICAgIGJvb2wgc2hvdWxkU2V0RW5kT2Zmc2V0ID0g
dHJ1ZTsKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgYm9vbCBo
YW5kbGVkID0gZmFsc2U7CisgICAgaWYgKHR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkg
eworICAgICAgICBzd2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7CisgICAgICAgIGNhc2UgQ0xPU0VQ
QVJFTjoKKyAgICAgICAgY2FzZSBDTE9TRUJSQUNLRVQ6CisgICAgICAgIGNhc2UgQ09NTUE6Cisg
ICAgICAgIGNhc2UgU0VNSUNPTE9OOiB7CisgICAgICAgICAgICByZXN1bHQgPSAwOworICAgICAg
ICAgICAgaGFuZGxlZCA9IHRydWU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAg
ICAgICBkZWZhdWx0OgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBp
ZiAoaGFuZGxlZCkKKyAgICAgICAgICAgIGdvdG8gZW5kU3RhdGVtZW5ldDsKK30KKyNlbmRpZgor
CiAgICAgc3dpdGNoIChtX3Rva2VuLm1fdHlwZSkgewogICAgIGNhc2UgT1BFTkJSQUNFOgogICAg
ICAgICByZXN1bHQgPSBwYXJzZUJsb2NrU3RhdGVtZW50KGNvbnRleHQpOwpAQCAtMTE5Miw2ICsx
MjUzLDExIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgY2FzZSBCUkVBSzoKICAgICAg
ICAgcmVzdWx0ID0gcGFyc2VCcmVha1N0YXRlbWVudChjb250ZXh0KTsKICAgICAgICAgYnJlYWs7
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIEFSUk9XRlVO
Q1RJT046CisgICAgICAgIHJlc3VsdCA9IHBhcnNlQXJyb3dGdW5jdGlvblN0YXRlbWVudChjb250
ZXh0KTsKKyAgICAgICAgYnJlYWs7CisjZW5kaWYKICAgICBjYXNlIFJFVFVSTjoKICAgICAgICAg
cmVzdWx0ID0gcGFyc2VSZXR1cm5TdGF0ZW1lbnQoY29udGV4dCk7CiAgICAgICAgIGJyZWFrOwpA
QCAtMTIzMyw2ICsxMjk5LDggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3Rh
dGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmUKICAgICAgICAgYnJl
YWs7CiAgICAgfQogCitlbmRTdGF0ZW1lbmV0OgorCiAgICAgaWYgKHJlc3VsdCAmJiBzaG91bGRT
ZXRFbmRPZmZzZXQpCiAgICAgICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KHJlc3VsdCwgbV9sYXN0
VG9rZW5FbmRQb3NpdGlvbi5vZmZzZXQpOwogICAgIHJldHVybiByZXN1bHQ7CkBAIC0xMjUzLDYg
KzEzMjEsMjMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRm9ybWFsUGFyYW1l
dGVyTGlzdCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGb3IKICAgICByZXR1cm4gbGlzdDsKIH0K
IAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5h
bWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRnVuY3Rpb25C
b2R5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVy
JiBjb250ZXh0KQoreworICAgIEpTVG9rZW5Mb2NhdGlvbiBzdGFydExvY2F0aW9uKHRva2VuTG9j
YXRpb24oKSk7CisgICAgdW5zaWduZWQgc3RhcnRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOworCisg
ICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKKyAgICBt
X3N0YXRlbWVudERlcHRoID0gMDsKKyAgICB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6RnVuY3Rpb25C
b2R5QnVpbGRlciBib2R5QnVpbGRlcihjb25zdF9jYXN0PFZNKj4obV92bSksIG1fbGV4ZXIuZ2V0
KCkpOworCisgICAgZmFpbElmRmFsc2UocGFyc2VTb3VyY2VFbGVtZW50cyhib2R5QnVpbGRlciwg
Q2hlY2tGb3JTdHJpY3RNb2RlLCBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSwgIkNhbm5vdCBwYXJz
ZSBib2R5IG9mIHRoaXMgYXJyb3cgZnVuY3Rpb24iKTsKKyAgICB1bnNpZ25lZCBlbmRDb2x1bW4g
PSB0b2tlbkNvbHVtbigpOworICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uQm9keShz
dGFydExvY2F0aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0YXJ0Q29sdW1uLCBlbmRDb2x1bW4sIHN0
cmljdE1vZGUoKSk7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4K
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUZ1bmN0aW9uQm9keSBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7CkBAIC0x
NDA4LDYgKzE0OTMsMTI3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgcmV0dXJuIHRy
dWU7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUg
PHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYgY29u
dGV4dCwgRnVuY3Rpb25QYXJzZU1vZGUgbW9kZSwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWls
ZGVyPiYgaW5mbykKK3sKKyAgICBBdXRvUG9wU2NvcGVSZWYgZnVuY3Rpb25TY29wZSh0aGlzLCBw
dXNoU2NvcGUoKSk7CisgICAgZnVuY3Rpb25TY29wZS0+c2V0SXNGdW5jdGlvbigpOworICAgIGlu
dCBmdW5jdGlvbk5hbWVTdGFydCA9IG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKKyAg
ICBjb25zdCBJZGVudGlmaWVyKiBsYXN0RnVuY3Rpb25OYW1lID0gbV9sYXN0RnVuY3Rpb25OYW1l
OworICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IG51bGxwdHI7CisKKyAgICBpZiAoIW1hdGNoKElE
RU5UKSAmJiAhbWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVU
b0tleXdvcmQoc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUiKTsKKyAgICAgICAg
ZmFpbFdpdGhNZXNzYWdlKCJFeHBlY3RlZCBhbiBhcnJvdyBmdW5jdGlvbiBpbnB1dCBwYXJhbWV0
ZXIiKTsKKyAgICB9IGVsc2UgeworICAgICAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkgeworICAg
ICAgICAgICAgY29uc3VtZShPUEVOUEFSRU4pOworCisgICAgICAgICAgICBpZiAoIW1hdGNoKENM
T1NFUEFSRU4pKSB7CisgICAgICAgICAgICAgICAgaW5mby5wYXJhbWV0ZXJzID0gcGFyc2VGb3Jt
YWxQYXJhbWV0ZXJzKGNvbnRleHQpOworICAgICAgICAgICAgICAgIGZhaWxJZkZhbHNlKGluZm8u
cGFyYW1ldGVycywgIkNhbm5vdCBwYXJzZSBwYXJhbWV0ZXJzIGZvciB0aGlzICIsIHN0cmluZ0Zv
ckZ1bmN0aW9uTW9kZShtb2RlKSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGNvbnN1
bWVPckZhaWwoQ0xPU0VQQVJFTiwgIkV4cGVjdGVkIGEgJyknIG9yIGEgJywnIGFmdGVyIGEgcGFy
YW1ldGVyIGRlY2xhcmF0aW9uIik7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpbmZv
LnBhcmFtZXRlcnMgPSBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoY29udGV4dCk7CisgICAgICAgICAg
ICBmYWlsSWZGYWxzZShpbmZvLnBhcmFtZXRlcnMsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVycyBm
b3IgdGhpcyAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOworICAgICAgICB9CisgICAg
fQorCisgICAgbWF0Y2hPckZhaWwoQVJST1dGVU5DVElPTiwgIkV4cGVjdGVkIGEgJz0+JyBhZnRl
ciBhcnJvdyBmdW5jdGlvbiBwYXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsKKworICAgIGluZm8ub3Bl
bkJyYWNlT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgIGluZm8uYm9keVN0YXJ0
TGluZSA9IHRva2VuTGluZSgpOworICAgIGluZm8uYm9keVN0YXJ0Q29sdW1uID0gbV90b2tlbi5t
X2RhdGEub2Zmc2V0IC0gbV90b2tlbi5tX2RhdGEubGluZVN0YXJ0T2Zmc2V0OworCisgICAgSlNU
b2tlbkxvY2F0aW9uIHN0YXJ0TG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKworICAgIC8vIElm
IHdlIGtub3cgYWJvdXQgdGhpcyBmdW5jdGlvbiBhbHJlYWR5LCB3ZSBjYW4gdXNlIHRoZSBjYWNo
ZWQgaW5mbyBhbmQgc2tpcCB0aGUgcGFyc2VyIHRvIHRoZSBlbmQgb2YgdGhlIGZ1bmN0aW9uLgor
ICAgIGlmIChjb25zdCBTb3VyY2VQcm92aWRlckNhY2hlSXRlbSogY2FjaGVkSW5mbyA9IFRyZWVC
dWlsZGVyOjpDYW5Vc2VGdW5jdGlvbkNhY2hlID8gZmluZENhY2hlZEZ1bmN0aW9uSW5mbyhpbmZv
Lm9wZW5CcmFjZU9mZnNldCkgOiAwKSB7CisgICAgICAgIC8vIElmIHdlJ3JlIGluIGEgc3RyaWN0
IGNvbnRleHQsIHRoZSBjYWNoZWQgZnVuY3Rpb24gaW5mbyBtdXN0IHNheSBpdCB3YXMgc3RyaWN0
IHRvby4KKyAgICAgICAgQVNTRVJUKCFzdHJpY3RNb2RlKCkgfHwgY2FjaGVkSW5mby0+c3RyaWN0
TW9kZSk7CisgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiBlbmRMb2NhdGlvbjsKKworICAgICAgICBl
bmRMb2NhdGlvbi5saW5lID0gY2FjaGVkSW5mby0+Y2xvc2VCcmFjZUxpbmU7CisgICAgICAgIGVu
ZExvY2F0aW9uLnN0YXJ0T2Zmc2V0ID0gY2FjaGVkSW5mby0+Y2xvc2VCcmFjZU9mZnNldDsKKyAg
ICAgICAgZW5kTG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0ID0gY2FjaGVkSW5mby0+Y2xvc2VCcmFj
ZUxpbmVTdGFydE9mZnNldDsKKworICAgICAgICBib29sIGVuZENvbHVtbklzT25TdGFydExpbmUg
PSAoZW5kTG9jYXRpb24ubGluZSA9PSBpbmZvLmJvZHlTdGFydExpbmUpOworICAgICAgICBBU1NF
UlQoZW5kTG9jYXRpb24uc3RhcnRPZmZzZXQgPj0gZW5kTG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0
KTsKKyAgICAgICAgdW5zaWduZWQgYm9keUVuZENvbHVtbiA9IGVuZENvbHVtbklzT25TdGFydExp
bmUgPworICAgICAgICBlbmRMb2NhdGlvbi5zdGFydE9mZnNldCAtIG1fdG9rZW4ubV9kYXRhLmxp
bmVTdGFydE9mZnNldCA6CisgICAgICAgIGVuZExvY2F0aW9uLnN0YXJ0T2Zmc2V0IC0gZW5kTG9j
YXRpb24ubGluZVN0YXJ0T2Zmc2V0OworICAgICAgICB1bnNpZ25lZCBjdXJyZW50TGluZVN0YXJ0
T2Zmc2V0ID0gbV90b2tlbi5tX2xvY2F0aW9uLmxpbmVTdGFydE9mZnNldDsKKworICAgICAgICBp
bmZvLmJvZHkgPSBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uQm9keShzdGFydExvY2F0aW9uLCBlbmRM
b2NhdGlvbiwgaW5mby5ib2R5U3RhcnRDb2x1bW4sIGJvZHlFbmRDb2x1bW4sIGNhY2hlZEluZm8t
PnN0cmljdE1vZGUpOworCisgICAgICAgIGZ1bmN0aW9uU2NvcGUtPnJlc3RvcmVGcm9tU291cmNl
UHJvdmlkZXJDYWNoZShjYWNoZWRJbmZvKTsKKyAgICAgICAgZmFpbElmRmFsc2UocG9wU2NvcGUo
ZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQYXJz
ZXIgZXJyb3IiKTsKKworICAgICAgICBpbmZvLmNsb3NlQnJhY2VPZmZzZXQgPSBjYWNoZWRJbmZv
LT5jbG9zZUJyYWNlT2Zmc2V0OworCisgICAgICAgIGNvbnRleHQuc2V0RnVuY3Rpb25OYW1lU3Rh
cnQoaW5mby5ib2R5LCBmdW5jdGlvbk5hbWVTdGFydCk7CisgICAgICAgIG1fdG9rZW4gPSBjYWNo
ZWRJbmZvLT5jbG9zZUJyYWNlVG9rZW4oKTsKKyAgICAgICAgaWYgKGVuZENvbHVtbklzT25TdGFy
dExpbmUpCisgICAgICAgICAgICBtX3Rva2VuLm1fbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0ID0g
Y3VycmVudExpbmVTdGFydE9mZnNldDsKKworICAgICAgICBtX2xleGVyLT5zZXRPZmZzZXQobV90
b2tlbi5tX2xvY2F0aW9uLmVuZE9mZnNldCwgbV90b2tlbi5tX2xvY2F0aW9uLmxpbmVTdGFydE9m
ZnNldCk7CisgICAgICAgIG1fbGV4ZXItPnNldExpbmVOdW1iZXIobV90b2tlbi5tX2xvY2F0aW9u
LmxpbmUpOworCisgICAgICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KGluZm8uYm9keSwgbV9sZXhl
ci0+Y3VycmVudE9mZnNldCgpKTsKKworICAgICAgICBuZXh0KCk7CisgICAgICAgIGluZm8uYm9k
eUVuZExpbmUgPSBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmU7CisgICAgICAgIHJldHVybiB0
cnVlOworICAgIH0KKyAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBsYXN0RnVuY3Rpb25OYW1lOwor
ICAgIFBhcnNlclN0YXRlIG9sZFN0YXRlID0gc2F2ZVN0YXRlKCk7CisKKyAgICBpbmZvLmJvZHkg
PSBwYXJzZUFycm93RnVuY3Rpb25Cb2R5KGNvbnRleHQpOworICAgIHJlc3RvcmVTdGF0ZShvbGRT
dGF0ZSk7CisgICAgZmFpbElmRmFsc2UoaW5mby5ib2R5LCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5
IG9mIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICBjb250ZXh0LnNl
dEVuZE9mZnNldChpbmZvLmJvZHksIG1fbGV4ZXItPmN1cnJlbnRPZmZzZXQoKSk7CisgICAgaWYg
KGZ1bmN0aW9uU2NvcGUtPnN0cmljdE1vZGUoKSAmJiBpbmZvLm5hbWUpIHsKKyAgICAgICAgUkVM
RUFTRV9BU1NFUlQobW9kZSA9PSBGdW5jdGlvbk1vZGUpOworICAgICAgICBzZW1hbnRpY0ZhaWxJ
ZlRydWUobV92bS0+cHJvcGVydHlOYW1lcy0+YXJndW1lbnRzID09ICppbmZvLm5hbWUsICInIiwg
aW5mby5uYW1lLT5pbXBsKCksICInIGlzIG5vdCBhIHZhbGlkIGZ1bmN0aW9uIG5hbWUgaW4gc3Ry
aWN0IG1vZGUiKTsKKyAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKG1fdm0tPnByb3BlcnR5TmFt
ZXMtPmV2YWwgPT0gKmluZm8ubmFtZSwgIiciLCBpbmZvLm5hbWUtPmltcGwoKSwgIicgaXMgbm90
IGEgdmFsaWQgZnVuY3Rpb24gbmFtZSBpbiBzdHJpY3QgbW9kZSIpOworICAgIH0KKyAgICBpbmZv
LmNsb3NlQnJhY2VPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CisgICAgdW5zaWduZWQg
Y2xvc2VCcmFjZUxpbmUgPSBtX3Rva2VuLm1fZGF0YS5saW5lOworICAgIHVuc2lnbmVkIGNsb3Nl
QnJhY2VMaW5lU3RhcnRPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5saW5lU3RhcnRPZmZzZXQ7CisK
KyAgICAvLyBDYWNoZSB0aGUgdG9rZW5pemVyIHN0YXRlIGFuZCB0aGUgZnVuY3Rpb24gc2NvcGUg
dGhlIGZpcnN0IHRpbWUgdGhlIGZ1bmN0aW9uIGlzIHBhcnNlZC4KKyAgICAvLyBBbnkgZnV0dXJl
IHJlcGFyc2luZyBjYW4gdGhlbiBza2lwIHRoZSBmdW5jdGlvbi4KKyAgICBzdGF0aWMgY29uc3Qg
aW50IG1pbmltdW1GdW5jdGlvbkxlbmd0aFRvQ2FjaGUgPSAxNjsKKyAgICBzdGQ6OnVuaXF1ZV9w
dHI8U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0+IG5ld0luZm87CisgICAgaW50IGZ1bmN0aW9uTGVu
Z3RoID0gaW5mby5jbG9zZUJyYWNlT2Zmc2V0IC0gaW5mby5vcGVuQnJhY2VPZmZzZXQ7CisgICAg
aWYgKFRyZWVCdWlsZGVyOjpDYW5Vc2VGdW5jdGlvbkNhY2hlICYmIG1fZnVuY3Rpb25DYWNoZSAm
JiBmdW5jdGlvbkxlbmd0aCA+IG1pbmltdW1GdW5jdGlvbkxlbmd0aFRvQ2FjaGUpIHsKKyAgICAg
ICAgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMgcGFyYW1ldGVyczsK
KyAgICAgICAgcGFyYW1ldGVycy5mdW5jdGlvbk5hbWVTdGFydCA9IGZ1bmN0aW9uTmFtZVN0YXJ0
OworICAgICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VMaW5lID0gY2xvc2VCcmFjZUxpbmU7Cisg
ICAgICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFjZU9mZnNldCA9IGluZm8uY2xvc2VCcmFjZU9mZnNl
dDsKKyAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0ID0gY2xvc2VC
cmFjZUxpbmVTdGFydE9mZnNldDsKKyAgICAgICAgZnVuY3Rpb25TY29wZS0+ZmlsbFBhcmFtZXRl
cnNGb3JTb3VyY2VQcm92aWRlckNhY2hlKHBhcmFtZXRlcnMpOworICAgICAgICBuZXdJbmZvID0g
U291cmNlUHJvdmlkZXJDYWNoZUl0ZW06OmNyZWF0ZShwYXJhbWV0ZXJzKTsKKworICAgIH0KKyAg
ICBjb250ZXh0LnNldEZ1bmN0aW9uTmFtZVN0YXJ0KGluZm8uYm9keSwgZnVuY3Rpb25OYW1lU3Rh
cnQpOworCisgICAgZmFpbElmRmFsc2UocG9wU2NvcGUoZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxk
ZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQYXJzZXIgZXJyb3IiKTsKKworICAgIGJvb2wg
ZW5kT2ZBcnJvd0Z1bmN0aW9uID0gbWF0Y2goU0VNSUNPTE9OKSB8fCBtYXRjaChDT01NQSkgfHwg
bWF0Y2goQ0xPU0VQQVJFTikgfHwgbWF0Y2goQ0xPU0VCUkFDRSkgfHwgbWF0Y2goQ0xPU0VCUkFD
S0VUKTsKKyAgICBmYWlsSWZGYWxzZShlbmRPZkFycm93RnVuY3Rpb24sICJFeHBlY3RlZCB0aGUg
Y2xvc2luZyAnOycgJywnICddJyAnKScgJ30nIGFmdGVyIGFycm93IGZ1bmN0aW9uIik7CisKKyAg
ICBpZiAobmV3SW5mbykKKyAgICAgICAgbV9mdW5jdGlvbkNhY2hlLT5hZGQoaW5mby5vcGVuQnJh
Y2VPZmZzZXQsIFdURjo6bW92ZShuZXdJbmZvKSk7CisKKyAgICBpbmZvLmJvZHlFbmRMaW5lID0g
bV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lOworICAgIHJldHVybiB0cnVlOworfQorI2VuZGlm
CisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25EZWNs
YXJhdGlvbihUcmVlQnVpbGRlciYgY29udGV4dCkKIHsKQEAgLTE3MjEsNiArMTkyNywxOCBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlSWZTdGF0ZW1lbnQoVAogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUlmU3RhdGVt
ZW50KGlmTG9jYXRpb24sIGNvbmRpdGlvbiwgdHJ1ZUJsb2NrLCBzdGF0ZW1lbnRTdGFjay5sYXN0
KCksIHN0YXJ0LCBlbmQpOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RXhwcmVz
c2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7
CisgICAgVHJlZUV4cHJlc3Npb24gbm9kZSA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24oY29u
dGV4dCk7CisgICAgZmFpbElmRmFsc2Uobm9kZSwgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9uIik7
CisgICAgY29udGV4dC5zZXRFbmRPZmZzZXQobm9kZSwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5v
ZmZzZXQpOworICAgIHJldHVybiBub2RlOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFt
ZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9u
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQp
CiB7CkBAIC0xNzY4LDYgKzE5ODYsMzggQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVy
PiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KICAgICAg
ICAgfQogICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CiAgICAgfQorCisKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFNhdmVQb2ludCBzYXZlQXJy
b3dGdW5jdGlvblBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgYm9vbCBhcnJvd0Z1bmN0
aW9uRW1wdHlMaXN0ID0gZmFsc2U7CisgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAg
ICAgbmV4dCgpOworICAgICAgICBpZiAobWF0Y2goQ0xPU0VQQVJFTikpIHsKKyAgICAgICAgICAg
IG5leHQoKTsKKworICAgICAgICAgICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJT04pKQorICAgICAg
ICAgICAgICAgIGFycm93RnVuY3Rpb25FbXB0eUxpc3QgPSB0cnVlOworICAgICAgICB9CisKKyAg
ICAgICAgaWYgKCFhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0KQorICAgICAgICAgICAgcmVzdG9yZVNh
dmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICB9CisjZW5kaWYKKworI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgVHJlZUV4cHJlc3Npb24gbGhzID0g
cGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24oY29udGV4dCk7CisgICAgaWYgKCFhcnJvd0Z1bmN0
aW9uRW1wdHlMaXN0KSB7CisgICAgICAgIGZhaWxJZkZhbHNlKGxocywgIkNhbhlub3QgcGFyc2Ug
ZXhwcmVzc2lvbiIpOworICAgICAgICBpZiAoaW5pdGlhbE5vbkxIU0NvdW50ICE9IG1fbm9uTEhT
Q291bnQpIHsKKyAgICAgICAgICAgIGlmIChtX3Rva2VuLm1fdHlwZSA+PSBFUVVBTCAmJiBtX3Rv
a2VuLm1fdHlwZSA8PSBPUkVRVUFMKQorICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbCgiTGVm
dCBoYW5kIHNpZGUgb2Ygb3BlcmF0b3IgJyIsIGdldFRva2VuKCksICInIG11c3QgYmUgYSByZWZl
cmVuY2UiKTsKKworICAgICAgICAgICAgcmV0dXJuIGxoczsKKyAgICAgICAgfQorICAgIH0KKyNl
bHNlCisKICAgICBUcmVlRXhwcmVzc2lvbiBsaHMgPSBwYXJzZUNvbmRpdGlvbmFsRXhwcmVzc2lv
bihjb250ZXh0KTsKICAgICBmYWlsSWZGYWxzZShsaHMsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lv
biIpOwogICAgIGlmIChpbml0aWFsTm9uTEhTQ291bnQgIT0gbV9ub25MSFNDb3VudCkgewpAQCAt
MTc3Niw3ICsyMDI2LDE2IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBUcmVlQnVpbGRlcj4gVHJlZUV4
cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXNzaWdubWVuCiAKICAgICAgICAgcmV0
dXJuIGxoczsKICAgICB9CisjZW5kaWYKICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIGlmIChtYXRjaChBUlJPV0ZVTkNUSU9OKSkgeworICAgICAgICByZXN0
b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICBUcmVlRXhwcmVz
c2lvbiBsaHMgPSBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKGNvbnRleHQpOworICAgICAgICBy
ZXR1cm4gbGhzOworICAgIH0KKyNlbmRpZgorCiAgICAgaW50IGFzc2lnbm1lbnRTdGFjayA9IDA7
CiAgICAgT3BlcmF0b3Igb3A7CiAgICAgYm9vbCBoYWRBc3NpZ25tZW50ID0gZmFsc2U7CkBAIC0y
MjA3LDYgKzI0NjYsMjMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVz
c2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAgcmV0dXJu
IGNvbnRleHQudGhpc0V4cHIobG9jYXRpb24pOwogICAgIH0KICAgICBjYXNlIElERU5UOiB7Cisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgU2F2ZVBvaW50IHNh
dmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICAgICAgSlNUZXh0
UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICAgICAgY29uc3QgSWRl
bnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKKyAgICAgICAgSlNUb2tlbkxv
Y2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CisgICAgICAgIG5leHQoKTsKKworICAg
ICAgICBpZiAoIW1hdGNoKEFSUk9XRlVOQ1RJT04pKSB7CisgICAgICAgICAgICBjdXJyZW50U2Nv
cGUoKS0+dXNlVmFyaWFibGUoaWRlbnQsIG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmlk
ZW50KTsKKyAgICAgICAgICAgIG1fbGFzdElkZW50aWZpZXIgPSBpZGVudDsKKyAgICAgICAgICAg
IHJldHVybiBjb250ZXh0LmNyZWF0ZVJlc29sdmUobG9jYXRpb24sIGlkZW50LCBzdGFydCk7Cisg
ICAgICAgIH0KKworICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9p
bnQpOworICAgICAgICBUcmVlRXhwcmVzc2lvbiBsaHMgPSBwYXJzZUFycm93RnVuY3Rpb25XcmFw
cGVyKGNvbnRleHQpOworICAgICAgICByZXR1cm4gbGhzOworI2Vsc2UKICAgICAgICAgSlNUZXh0
UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKICAgICAgICAgY29uc3QgSWRl
bnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgSlNUb2tlbkxv
Y2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CkBAIC0yMjE0LDYgKzI0OTAsNyBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZVByaW1hcnlFeHByZQogICAgICAgICBjdXJyZW50U2NvcGUoKS0+dXNlVmFyaWFi
bGUoaWRlbnQsIG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmlkZW50KTsKICAgICAgICAg
bV9sYXN0SWRlbnRpZmllciA9IGlkZW50OwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVS
ZXNvbHZlKGxvY2F0aW9uLCBpZGVudCwgc3RhcnQpOworI2VuZGlmCiAgICAgfQogICAgIGNhc2Ug
U1RSSU5HOiB7CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2Rh
dGEuaWRlbnQ7CkBAIC0yMzgwLDYgKzI2NTcsMzIgQEAgZW5kTWVtYmVyRXhwcmVzc2lvbjoKICAg
ICByZXR1cm4gYmFzZTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9u
V3JhcHBlcihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBUcmVlRXhwcmVzc2lvbiBiYXNl
ID0gMDsKKyAgICBKU1RleHRQb3NpdGlvbiBleHByZXNzaW9uU3RhcnQgPSB0b2tlblN0YXJ0UG9z
aXRpb24oKTsKKyAgICBpbnQgbmV3Q291bnQgPSAwOworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2Nh
dGlvbjsKKworICAgIGlmIChtYXRjaChJREVOVCkgfHwgbWF0Y2goT1BFTlBBUkVOKSkgeworICAg
ICAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2VuU3RhcnQoKTsKKyAgICAg
ICAgbG9jYXRpb24gPSB0b2tlbkxvY2F0aW9uKCk7CisgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5m
bzxUcmVlQnVpbGRlcj4gaW5mbzsKKyAgICAgICAgaW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5
TmFtZXMtPm51bGxJZGVudGlmaWVyOworICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VBcnJvd0Z1
bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk1vZGUsIGluZm8pKSwgIkNhbm5vdCBwYXJzZSBm
dW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgICAgIGJhc2UgPSBjb250ZXh0LmNyZWF0ZUFycm93
RnVuY3Rpb25FeHByKGxvY2F0aW9uLCBpbmZvLCBmdW5jdGlvbktleXdvcmRTdGFydCk7CisgICAg
fSBlbHNlCisgICAgICAgIGJhc2UgPSBwYXJzZVByaW1hcnlFeHByZXNzaW9uKGNvbnRleHQpOwor
CisgICAgZmFpbElmRmFsc2UoYmFzZSwgIkNhbm5vdCBwYXJzZSBiYXNlIGV4cHJlc3Npb24iKTsK
KyAgICB3aGlsZSAobmV3Q291bnQtLSkKKyAgICAgICAgYmFzZSA9IGNvbnRleHQuY3JlYXRlTmV3
RXhwcihsb2NhdGlvbiwgYmFzZSwgZXhwcmVzc2lvblN0YXJ0LCBsYXN0VG9rZW5FbmRQb3NpdGlv
bigpKTsKKyAgICByZXR1cm4gYmFzZTsKK30KKyNlbmRpZgorCiBzdGF0aWMgY29uc3QgY2hhciog
b3BlcmF0b3JTdHJpbmcoYm9vbCBwcmVmaXgsIHVuc2lnbmVkIHRvaykKIHsKICAgICBzd2l0Y2gg
KHRvaykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKaW5kZXggNTAxYzAzNjQ0
ZDU1OTdiOGExYTFhZjNlOWY5YzgyZTE4NGVkMmQ4Yy4uODNlYzFhY2E2MDYxNWI5MjY2M2MwMzBh
MmQ2MTY0ODU3MWVjNjk5OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCkBA
IC04MCw2ICs4MCw5IEBAIGNsYXNzIFNvdXJjZUNvZGU7CiBDT01QSUxFX0FTU0VSVChMYXN0VW50
YWdnZWRUb2tlbiA8IDY0LCBMZXNzVGhhbjY0VW50YWdnZWRUb2tlbnMpOwogCiBlbnVtIFNvdXJj
ZUVsZW1lbnRzTW9kZSB7IENoZWNrRm9yU3RyaWN0TW9kZSwgRG9udENoZWNrRm9yU3RyaWN0TW9k
ZSB9OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitlbnVtIEZ1bmN0aW9u
UGFyc2VUeXBlIHsgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSwgQXJyb3dGdW5jdGlvblBhcnNl
VHlwZSB9OworI2VuZGlmCiBlbnVtIEZ1bmN0aW9uUmVxdWlyZW1lbnRzIHsgRnVuY3Rpb25Ob1Jl
cXVpcmVtZW50cywgRnVuY3Rpb25OZWVkc05hbWUgfTsKIGVudW0gRnVuY3Rpb25QYXJzZU1vZGUg
ewogICAgIEZ1bmN0aW9uTW9kZSwKQEAgLTcwMCw5ICs3MDMsMTUgQEAgcHJpdmF0ZToKICAgICAg
ICAgfQogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KLSAgICAKKworI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlU291cmNlRWxlbWVudHMgcGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYsIFNv
dXJjZUVsZW1lbnRzTW9kZSwgRnVuY3Rpb25QYXJzZVR5cGUgdHlwZSA9IFN0YW5kYXJkRnVuY3Rp
b25QYXJzZVR5cGUpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRl
bWVudCBwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJl
Y3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMCwgRnVuY3Rpb25QYXJz
ZVR5cGUgIGZ1bmN0aW9uUGFyc2VUeXBlID0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7Cisj
ZWxzZQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRz
IHBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUpOwog
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0YXRl
bWVudChUcmVlQnVpbGRlciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVk
KiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMCk7CisjZW5kaWYKKwogI2lmIEVOQUJMRShFUzZf
Q0xBU1NfU1lOVEFYKQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRl
bWVudCBwYXJzZUNsYXNzRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImKTsKICNlbmRpZgpAQCAtNzI3
LDYgKzczNiw5IEBAIHByaXZhdGU6CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlU3RhdGVtZW50IHBhcnNlSWZTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VCbG9ja1N0YXRlbWVudChU
cmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJl
c3Npb24gcGFyc2VFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVF
eHByZXNzaW9uIHBhcnNlQXJyb3dFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CisjZW5kaWYKICAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlQXNzaWdu
bWVudEV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VDb25kaXRpb25hbEV4cHJl
c3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFM
V0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VCaW5hcnlFeHByZXNzaW9uKFRyZWVCdWls
ZGVyJik7CkBAIC03NDYsNiArNzU4LDEzIEBAIHByaXZhdGU6CiAgICAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZVZhckRlY2xhcmF0aW9uTGlzdChUcmVl
QnVpbGRlciYsIGludCYgZGVjbGFyYXRpb25zLCBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuJiBs
YXN0UGF0dGVybiwgVHJlZUV4cHJlc3Npb24mIGxhc3RJbml0aWFsaXplciwgSlNUZXh0UG9zaXRp
b24mIGlkZW50U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0U3RhcnQsIEpTVGV4dFBvc2l0aW9u
JiBpbml0RW5kLCBWYXJEZWNsYXJhdGlvbkxpc3RDb250ZXh0KTsKICAgICB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlQ29uc3REZWNsTGlzdCBwYXJzZUNvbnN0
RGVjbGFyYXRpb25MaXN0KFRyZWVCdWlsZGVyJik7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRl
bWVudCBwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlQXJyb3dGdW5jdGlv
bldyYXBwZXIoVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IE5FVkVSX0lOTElORSBib29sIHBhcnNlQXJyb3dGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImLCBG
dW5jdGlvblBhcnNlTW9kZSwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYpOworICAg
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRnVuY3Rpb25C
b2R5IHBhcnNlQXJyb3dGdW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImKTsKKyNlbmRpZgorCiAgICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0
aW9uUGF0dGVybiBjcmVhdGVCaW5kaW5nUGF0dGVybihUcmVlQnVpbGRlciYsIERlY29uc3RydWN0
aW9uS2luZCwgY29uc3QgSWRlbnRpZmllciYsIGludCBkZXB0aCwgSlNUb2tlbik7CiAgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9u
UGF0dGVybiBwYXJzZURlY29uc3RydWN0aW9uUGF0dGVybihUcmVlQnVpbGRlciYsIERlY29uc3Ry
dWN0aW9uS2luZCwgaW50IGRlcHRoID0gMCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiB0cnlQYXJzZURlY29u
c3RydWN0aW9uUGF0dGVybkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKQEAgLTc2Niw3ICs3ODUs
MTIgQEAgcHJpdmF0ZToKICAgICAgICAgfQogICAgICAgICByZXR1cm4gYWxsb3dBdXRvbWF0aWNT
ZW1pY29sb24oKTsKICAgICB9Ci0gICAgCisKKyAgICB2b2lkIHNldEVuZE9mU3RhdGVtZW50KCkK
KyAgICB7CisgICAgICAgIG1fbGV4ZXItPnNldFRva2VuUG9zaXRpb24oJm1fdG9rZW4pOworICAg
IH0KKwogICAgIGJvb2wgY2FuUmVjdXJzZSgpCiAgICAgewogICAgICAgICByZXR1cm4gbV92bS0+
aXNTYWZlVG9SZWN1cnNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlclRva2Vucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJU
b2tlbnMuaAppbmRleCA2NTIwNTVhNThlZDRlYjNkZWM4ZWFkY2RhYmM0MWJjZWFiYWYwOTFlLi4x
NzkxYjkwMzk0YTAyZTllMDZlNTNhMjFkODE3MmUxODgwYWU5OTBhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKQEAgLTc1LDYgKzc1LDkgQEAgZW51bSBK
U1Rva2VuVHlwZSB7CiAgICAgRklOQUxMWSwKICAgICBERUJVR0dFUiwKICAgICBFTFNFLAorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgQVJST1dGVU5DVElPTiwKKyNl
bmRpZgogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogICAgIENMQVNTVE9LRU4sCiAgICAg
RVhURU5EUywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNl
Q29kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmgKaW5kZXgg
NzNkMjNkYjgyYWYyNWVhNDZjMGY4OTc4NWNlNDI0YmI2MGViNjFhNy4uN2U3MmM0NDBlODllMzUx
ZjM4M2Y3MDRjMWY3MDM0MWM1ODg4ZTEwZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9Tb3VyY2VDb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9Tb3VyY2VDb2RlLmgKQEAgLTEwNCw2ICsxMDQsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAg
ICAgaW50IGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fZW5kQ2hhciAtIG1fc3RhcnRDaGFyOyB9
CiAgICAgICAgIAogICAgICAgICBTb3VyY2VDb2RlIHN1YkV4cHJlc3Npb24odW5zaWduZWQgb3Bl
bkJyYWNlLCB1bnNpZ25lZCBjbG9zZUJyYWNlLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1
bW4pOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIFNvdXJj
ZUNvZGUgc3ViRXhwcmVzc2lvbkFycm93RnVuY3Rpb24odW5zaWduZWQgb3BlbkJyYWNlLCB1bnNp
Z25lZCBjbG9zZUJyYWNlLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOworI2VuZGlm
CiAKICAgICBwcml2YXRlOgogICAgICAgICBSZWZQdHI8U291cmNlUHJvdmlkZXI+IG1fcHJvdmlk
ZXI7CkBAIC0xMTgsNiArMTIxLDE2IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4g
U291cmNlQ29kZShTdHJpbmdTb3VyY2VQcm92aWRlcjo6Y3JlYXRlKHNvdXJjZSwgdXJsLCBzdGFy
dFBvc2l0aW9uKSwgc3RhcnRQb3NpdGlvbi5tX2xpbmUub25lQmFzZWRJbnQoKSwgc3RhcnRQb3Np
dGlvbi5tX2NvbHVtbi5vbmVCYXNlZEludCgpKTsKICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlubGluZSBTb3VyY2VDb2RlIFNvdXJjZUNvZGU6OnN1
YkV4cHJlc3Npb25BcnJvd0Z1bmN0aW9uKHVuc2lnbmVkIG9wZW5CcmFjZSwgdW5zaWduZWQgY2xv
c2VCcmFjZSwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKQorICAgIHsKKyAgICAgICAg
QVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW29wZW5CcmFjZV0gPT0gJz0nICYmIHByb3ZpZGVy
KCktPnNvdXJjZSgpW29wZW5CcmFjZSArIDFdID09ICc+Jyk7CisgICAgICAgIEFTU0VSVChwcm92
aWRlcigpLT5zb3VyY2UoKVtjbG9zZUJyYWNlIC0gMV0gPT0gJzsnIHx8IHByb3ZpZGVyKCktPnNv
dXJjZSgpW2Nsb3NlQnJhY2UgLSAxXSA9PSAnLCcgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbY2xv
c2VCcmFjZSAtIDFdID09ICcpJyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtjbG9zZUJyYWNlIC0g
MV0gPT0gJ10nIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2Nsb3NlQnJhY2UgLSAxXSA9PSAnfScp
OworICAgICAgICBzdGFydENvbHVtbiArPSAxOyAvLyBDb252ZXJ0IHRvIGJhc2UgMS4KKyAgICAg
ICAgcmV0dXJuIFNvdXJjZUNvZGUocHJvdmlkZXIoKSwgb3BlbkJyYWNlLCBjbG9zZUJyYWNlIC0g
MSwgZmlyc3RMaW5lLCBzdGFydENvbHVtbik7CisgICAgfQorI2VuZGlmCisKICAgICBpbmxpbmUg
U291cmNlQ29kZSBTb3VyY2VDb2RlOjpzdWJFeHByZXNzaW9uKHVuc2lnbmVkIG9wZW5CcmFjZSwg
dW5zaWduZWQgY2xvc2VCcmFjZSwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKQogICAg
IHsKICAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW29wZW5CcmFjZV0gPT0gJ3sn
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tl
ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKaW5kZXgg
NjNiMTM0OGZlMzA1ZGM0NjlhNjExZmJjYzQxMDZhYjM4ODNmMGRhMi4uMzNhYWE5M2VkZWFlZTYy
NDhjNGM1ZGJmZjg1ZDBiZTcyMmQwN2E3NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9TeW50YXhDaGVja2VyLmgKQEAgLTE2OCw2ICsxNjgsOSBAQCBwdWJsaWM6CiAjZW5kaWYK
ICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0
aW9uJiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JiwgaW50KSB7IHJl
dHVybiBGdW5jdGlvbkV4cHI7IH0KICAgICBpbnQgY3JlYXRlRnVuY3Rpb25Cb2R5KGNvbnN0IEpT
VG9rZW5Mb2NhdGlvbiYsIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGludCwgaW50LCBib29sKSB7
IHJldHVybiBGdW5jdGlvbkJvZHlSZXN1bHQ7IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUFycm93RnVuY3Rpb25FeHByKGNv
bnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50YXhDaGVj
a2VyPiYsIGludCkgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9CisjZW5kaWYKICAgICB2b2lkIHNl
dEZ1bmN0aW9uTmFtZVN0YXJ0KGludCwgaW50KSB7IH0KICAgICBpbnQgY3JlYXRlQXJndW1lbnRz
KCkgeyByZXR1cm4gQXJndW1lbnRzUmVzdWx0OyB9CiAgICAgaW50IGNyZWF0ZUFyZ3VtZW50cyhp
bnQpIHsgcmV0dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29y
ZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBiNzljNGMyNWQy
ODVlMmVhYmIwMDNlZmE5MWY4ZGQ0YjRjZjY1Mjg4Li42OWJkOWFiMDBlMGQ1MTVkM2MxNDEzMDRh
NDI2YWU1YjViMjRkYmUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FO
VkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwog
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5B
QkxFX0VTNl9DTEFTU19TWU5UQVggPSA7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
ID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRF
UklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVO
QUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsgPSBFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLOwpAQCAtMjA4LDQgKzIwOSw0IEBAIEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7CiAKIEVO
QUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9V
VF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1F
TlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNf
UEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykg
JChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQo
RU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5B
QkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVO
QUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChF
TkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJM
RV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NT
M19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJ
U0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJP
QVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJB
TlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRF
UlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChF
TkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRM
SU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09S
S0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNT
X1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9J
T1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9M
RUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVE
SU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJM
RV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFf
U09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kp
ICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxF
X1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVO
VFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxF
X1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkg
JChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVS
WSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChF
TkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NV
QlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJU
RVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFU
RV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkg
JChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZB
TFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFC
TEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykg
JChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VC
VlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJM
RV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlP
VVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVS
RV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFC
TEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NB
Q0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19Q
Uk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5U
QVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05f
QlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQ
VEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklF
TlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJ
T05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykg
JChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFC
TEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChF
TkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5B
QkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFC
TEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikg
JChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQo
RU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQ
UkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9U
SU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0Vf
Q09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5B
QkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xF
R0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZF
VENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChF
TkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9N
RVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxF
KSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hX
Q09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVH
SU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BS
T1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVP
VEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FV
VE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElP
Tl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JP
TExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkp
ICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZH
X09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVO
QUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VS
U0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJM
RV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9X
RUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9X
RUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykg
JChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9Y
U0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NB
VFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01P
REUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBiNzljNGMyNWQyODVlMmVhYmIwMDNlZmE5MWY4ZGQ0
YjRjZjY1Mjg4Li42OWJkOWFiMDBlMGQ1MTVkM2MxNDEzMDRhNDI2YWU1YjViMjRkYmUzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFC
TEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19T
WU5UQVggPSA7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9D
T05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQk9YX0RF
Q09SQVRJT05fQlJFQUsgPSBFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLOwpAQCAtMjA4
LDQgKzIwOSw0IEBAIEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7CiAKIEVOQUJMRV9TQVRVUkFURURf
TEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwog
Ci1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
KSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChF
TkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVf
Q0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NM
QVNTX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhU
KSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJ
VElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9M
QVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdF
X1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JT
X0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJM
RV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5B
QkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQo
RU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQo
RU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChF
TkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxF
X0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJ
T04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9J
Q09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVf
SU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdF
VCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0la
SU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FD
WV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xF
VFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5B
QkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJM
RV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRN
TCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVO
VF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykg
JChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BV
QkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFU
SU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RF
X0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVC
QkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZ
TlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQo
RU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RF
TEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVO
QUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9V
Q0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8p
ICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9W
SUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAk
KEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVS
RV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQo
RU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVO
QUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykg
JChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05T
KSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklO
RykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5B
QkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxF
X0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJM
RV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFC
TEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9D
U1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19U
RVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lC
SUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJE
X1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNG
RVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNf
TEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9B
UEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFC
TEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5H
KSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VS
UykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BM
QVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1Nf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdB
Q1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8p
ICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9N
QVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09V
UkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAk
KEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJ
R0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BP
SU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMp
ICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JF
UVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChF
TkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkg
JChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRM
RV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIp
ICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9F
TEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChF
TkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVF
KSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChF
TkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRU
X1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9G
VExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRf
QVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcg
Yi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpp
bmRleCBiNzljNGMyNWQyODVlMmVhYmIwMDNlZmE5MWY4ZGQ0YjRjZjY1Mjg4Li42OWJkOWFiMDBl
MGQ1MTVkM2MxNDEzMDRhNDI2YWU1YjViMjRkYmUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUs
NyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FO
VkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSA7CitFTkFCTEVfRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9D
U1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsgPSBFTkFCTEVfQ1NT
X0JPWF9ERUNPUkFUSU9OX0JSRUFLOwpAQCAtMjA4LDQgKzIwOSw0IEBAIEVOQUJMRV9MTElOVF9D
X0xPT1AgPSA7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVf
U0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJM
RV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVf
QUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQo
RU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAk
KEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJ
T05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9B
REFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9P
UklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19S
RUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBF
UykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChF
TkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikg
JChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQo
RU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChF
TkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RP
UikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIp
ICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURf
REVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RP
TV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJ
Q0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05U
SCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQo
RU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZF
TlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxF
X0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BS
RUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkg
JChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1ND
QUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9S
X0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9Q
TFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxF
X1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVf
UVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNU
X0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xV
VElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19T
Q1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19B
UEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVf
U1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAk
KEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9V
U0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVO
QUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJM
RV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJM
RV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlO
RykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJM
RV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxF
X1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9O
X01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1ND
Uk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1F
TlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQo
RU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxF
X0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1Nf
Qk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVf
Q1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxF
X0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQo
RU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFC
TEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElO
RV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hF
TUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNU
X0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNf
RUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5U
U19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBU
RURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FE
X0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5B
QkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJ
RERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lO
Q09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9T
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9J
T1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVO
QUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRS
T0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9V
U0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFC
TEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5B
QkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlT
RVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElT
VCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVO
QUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChF
TkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQo
RU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFC
TEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05U
UykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJf
REVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9T
SVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5H
KSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVP
X1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01F
RElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQ
TEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFC
TEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1F
T1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xP
T1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9f
UFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1
cmVzLmNtYWtlIGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCmluZGV4IDg4NzI2
MTcyNjQwODM0NGFiMDI1MmM5YzBlZjFmYzk3N2QwNjNmYmEuLjA1MDAzNzJjYjg0NTRkODQ4Njdl
NjQyZTY5NzcwMWNkZDA5ZjI4YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0
dXJlcy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKQEAgLTI4
LDYgKzI4LDcgQEAgbWFjcm8oV0VCS0lUX09QVElPTl9CRUdJTikKICAgICBXRUJLSVRfT1BUSU9O
X0RFRklORShFTkFCTEVfQ0FOVkFTX1BST1hZICJUb2dnbGUgQ2FudmFzUHJveHkgc3VwcG9ydCIg
T0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyAi
VG9nZ2xlIE1lc3NhZ2VDaGFubmVsIGFuZCBNZXNzYWdlUG9ydCBzdXBwb3J0IiBPTikKICAgICBX
RUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCAiVG9nZ2xlIEVTNiBj
bGFzcyBzeW50YXggc3VwcG9ydCIgT0ZGKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJM
RV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggIlRvZ2dsZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3lu
dGF4IHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORyAiVG9nZ2xlIGNvbnRlbnQgZmlsdGVyaW5nIHN1cHBvcnQiIE9GRikKICAgICBX
RUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ09OVEVYVF9NRU5VUyAiVG9nZ2xlIENvbnRleHQg
TWVudSBzdXBwb3J0IiBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ1NQX05F
WFQgIlRvZ2dsZSBDb250ZW50IFNlY3VyaXR5IFBvbGljeSAxLjEgc3VwcG9ydCIgT0ZGKQpkaWZm
IC0tZ2l0IGEvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UgYi9Tb3VyY2UvY21ha2Vjb25maWcu
aC5jbWFrZQppbmRleCAxYTc0NWNhNWNkODlmYjIwMDgyZjc3YmMwMjY4OGE5YjBiNGJkNGI5Li4z
MTA2YjVlYTA4NGIzODQzMWQ5NTk5NDRjNmNhMTgxZjJmY2UyMWZmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvY21ha2Vjb25maWcuaC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQpA
QCAtMTMsNiArMTMsNyBAQAogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NBTlZBU19QUk9YWQogI2Nt
YWtlZGVmaW5lMDEgRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HCiAjY21ha2VkZWZpbmUwMSBFTkFC
TEVfRVM2X0NMQVNTX1NZTlRBWAorI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0VTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWAogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HCiAjY21h
a2VkZWZpbmUwMSBFTkFCTEVfQ09OVEVYVF9NRU5VUwogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NS
RURFTlRJQUxfU1RPUkFHRQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hh
bmdlTG9nCmluZGV4IGY1MmM5Njk5YWMwM2FhZjc1YTU5OWRkYWY2MzNmZTc2ZTg4NjllM2EuLmFi
ZDg3NTQxYTM0YmUwMWM1NTVmMmE0YWZiMzIxNjdjOGEyMTQ1MWUgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNS0w
Mi0yNyAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisgICAgICAg
IFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmZWF0dXJlIGZsYWcgRU5B
QkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rpb24KKworICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbToKKwogMjAxNS0wMi0yNiAgU2Ft
IFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIENoZWNrIGluIG1pc3NpbmcgV2Vi
RWRpdGluZ1Rlc3Rlci54Y2NvbmZpZyBmaWxlLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1
cmVMaXN0LnBtCmluZGV4IDM1NDI1ZjVlNGI1NTVhZjMwMDMyZDIxZWUzY2FlYzY4NTRmNzlhNGIu
LmE2YmM5YThmZWJkMWFlNGIyYzc1NjJjZDUxYTkyYzM4YzYzOWY5MWYgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KQEAgLTQ0LDYgKzQ0LDcgQEAgQkVHSU4gewogbXkg
KAogICAgICR0aHJlZURSZW5kZXJpbmdTdXBwb3J0LAogICAgICRhY2NlbGVyYXRlZDJEQ2FudmFz
U3VwcG9ydCwKKyAgICAkYXJyb3dmdW5jdGlvblN5bnRheCwKICAgICAkYmF0dGVyeVN0YXR1c1N1
cHBvcnQsCiAgICAgJGNhbnZhc1BhdGhTdXBwb3J0LAogICAgICRjYW52YXNQcm94eVN1cHBvcnQs
CkBAIC0xNjksNiArMTcwLDkgQEAgbXkgQGZlYXR1cmVzID0gKAogICAgIHsgb3B0aW9uID0+ICJj
bGFzcy1zeW50YXgiLCBkZXNjID0+ICJUb2dnbGUgRVM2IGNsYXNzIHN5bnRheCBzdXBwb3J0IiwK
ICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgiLCBkZWZhdWx0ID0+IDAs
IHZhbHVlID0+IFwkY2xhc3NTeW50YXggfSwKIAorICAgIHsgb3B0aW9uID0+ICJhcnJvd2Z1bmN0
aW9uLXN5bnRheCIsIGRlc2MgPT4gIlRvZ2dsZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1
cHBvcnQiLAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
IiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGFycm93ZnVuY3Rpb25TeW50YXggfSwKKwogICAg
IHsgb3B0aW9uID0+ICJjc3AtbmV4dCIsIGRlc2MgPT4gIlRvZ2dsZSBDb250ZW50IFNlY3VyaXR5
IFBvbGljeSAxLjEgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9DU1BfTkVYVCIs
IGRlZmF1bHQgPT4gaXNHdGsoKSwgdmFsdWUgPT4gXCRjc3BOZXh0U3VwcG9ydCB9LAogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggMDgxMTczNGVmZjFlNDcwYzFhZjUyZDVmYjUzZGI0YTJhZjdhYjMwZi4uNmFlYTkxNDhjNjRm
ODlhNDhjZTM3MmY2MzIyOWU2OTZmYTRmZDM1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE1
LTAyLTI3ICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAg
ICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICoganMvYXJyb3dmdW5jdGlvbi1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL2Fycm93ZnVuY3Rpb24uaHRtbDogQWRk
ZWQuCisgICAgICAgICoganMvc2NyaXB0LXRlc3RzL2Fycm93ZnVuY3Rpb24uanM6IEFkZGVkLgor
ICAgICAgICAoYXJyb3dGdW5jdGlvbldyYXBwZXIpOgorICAgICAgICAoYXJyb3dGdW5jdGlvbldy
YXBwZXIyKToKKwogMjAxNS0wMi0yNiAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FA
YXBwbGUuY29tPgogCiAgICAgICAgIENsZWFudXAgUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyIGNs
YXNzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvYXJyb3dmdW5jdGlvbi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9qcy9hcnJvd2Z1bmN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41YjM5ZTY2NTg3ZjgwOWJjMmI1MDZiMDkxZmZkOWI0OWI0ZDI1ODEzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvanMvYXJyb3dmdW5jdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNCBAQAorVGhpcyB0ZXN0IGNoZWNrIHRoZSBiZWhhdmlvciBvZiB0aGUgb2YgYXJyb3cgZnVu
Y3Rpb24odGhpbiBjYXNlKQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBh
cnJvd0Z1bmN0aW9uMCgxMCkgaXMgMTEKK1BBU1MgYXJyb3dGdW5jdGlvbjEoMTApIGlzIDExCitQ
QVNTIGFycm93RnVuY3Rpb24yKCkgaXMgMTAwMAorUEFTUyBhcnJvd0Z1bmN0aW9uMygxMCwgMikg
aXMgMTIKK1BBU1MgYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMCkgaXMgMTAKK1BBU1MgYXJy
b3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMCwgMjApIGlzIDEwCitQQVNTIGFycm93RnVuY3Rpb25X
cmFwcGVyKHggPT4gMTAgKyAzMCkgaXMgNDAKK1BBU1MgYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9
PiAxMCArIDMwLCAxMDAwKSBpcyA0MAorUEFTUyBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IHgg
KyAxLCAyMSkgaXMgMjIKK1BBU1MgYXJyb3dGdW5jdGlvbldyYXBwZXIoKHgpID0+IHggKyAxLCAy
MSkgaXMgMjIKK1BBU1MgYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwKSBpcyAxMDAKK1BB
U1MgYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwLCAxMSkgaXMgMTAwCitQQVNTIGFycm93
RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCArIDEwKSBpcyAxMTAKK1BBU1MgYXJyb3dGdW5jdGlv
bldyYXBwZXIoKCkgPT4gMTAwICsgMTAsIDEyKSBpcyAxMTAKK1BBU1MgYXJyb3dGdW5jdGlvbldy
YXBwZXIyKCh4LCAgeSkgPT4geCArIHksIDIxLCA1KSBpcyAyNgorUEFTUyBhcnJvd0Z1bmN0aW9u
NCgxMDEpIGlzIDEwMgorUEFTUyB4eXoxIGlzIDEwMTAxCitQQVNTIGFycm93RnVuY3Rpb0FycmF5
MFswXSgxMCkgaXMgMTAwCitQQVNTIGFycm93RnVuY3Rpb0FycmF5MVswXSgxMCkgaXMgMTEKK1BB
U1MgYXJyb3dGdW5jdGlvQXJyYXkxWzFdKDExKSBpcyAxMworUEFTUyBhcnJvd0Z1bmN0aW9BcnJh
eTJbMF0oMTEpIGlzIDEyCitQQVNTIGFycm93RnVuY3Rpb0FycmF5MlsxXSgxMSkgaXMgMTMKK1BB
U1MgYXJyb3dGdW5jdGlvQXJyYXkzWzBdKDExKSBpcyAxMDEKK1BBU1MgYXJyb3dGdW5jdGlvQXJy
YXkzWzFdKDExKSBpcyAxMjMyMworUEFTUyBhcnJvd0Z1bmN0aW9uT2JqLmZ1bmMoMTEpIGlzIDIz
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvYXJyb3dmdW5jdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
anMvYXJyb3dmdW5jdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUzNzJmMGY3MmEwMDRhY2VhNzE3ODFl
NmZlNDRkODIzNjlmZjYwMDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9hcnJv
d2Z1bmN0aW9uLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBz
cmM9InNjcmlwdC10ZXN0cy9hcnJvd2Z1bmN0aW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9hcnJvd2Z1bmN0aW9u
LmpzIGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2Fycm93ZnVuY3Rpb24uanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYWY5ZTIyMzEzMTU2YmIzYzQ4OWVmMTQ1NDIxZDc5MzAxYjQ2NmMwYQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9hcnJvd2Z1bmN0aW9uLmpzCkBA
IC0wLDAgKzEsNDggQEAKK2Rlc2NyaXB0aW9uKAorIlRoaXMgdGVzdCBjaGVjayB0aGUgYmVoYXZp
b3Igb2YgdGhlICBvZiBhcnJvdyBmdW5jdGlvbih0aGluIGNhc2UpIgorKTsKKwordmFyIGFycm93
RnVuY3Rpb24wID0gdiA9PiB2ICsgMTsKK3ZhciBhcnJvd0Z1bmN0aW9uMSA9ICh2KSA9PiB2ICsg
MTsKK3ZhciBhcnJvd0Z1bmN0aW9uMiA9ICgpID0+IDEwMDA7Cit2YXIgYXJyb3dGdW5jdGlvbjMg
PSAodiwgeCkgPT4gdiArIHg7Cit2YXIgYXJyb3dGdW5jdGlvbldyYXBwZXIgPSBmdW5jdGlvbiAo
Y2wsIHBhcmFtdGVyKSB7IHJldHVybiBjbChwYXJhbXRlcik7IH07Cit2YXIgYXJyb3dGdW5jdGlv
bldyYXBwZXIyID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRlcjEsIHBhcmFtdGVyMikgeyByZXR1cm4g
Y2wocGFyYW10ZXIxLCBwYXJhbXRlcjIpOyB9OwordmFyIGFycm93RnVuY3Rpb240ID0gdiA9PiB2
ICsgMSwgeHl6MSA9IDEwMTAxOwordmFyIGFycm93RnVuY3Rpb0FycmF5MCA9IFt2ID0+IHYgKiAx
MF07Cit2YXIgYXJyb3dGdW5jdGlvQXJyYXkxID0gW3YgPT4gdiArIDEsIHYgPT4gdiArIDJdOwor
dmFyIGFycm93RnVuY3Rpb0FycmF5MiA9IFsodikgPT4gdiArIDEsICh2KSA9PiB2ICsgMl07Cit2
YXIgYXJyb3dGdW5jdGlvQXJyYXkzID0gWygpID0+IDEwMSwgKCkgPT4gMTIzMjNdOwordmFyIGFy
cm93RnVuY3Rpb25PYmogPSB7ZnVuYyA6IHkgPT4geSArIDEyIH07CisvL05vdCBjb3ZlcmVkIGNh
c2VzCisvL3ZhciBhcnJvd0Z1bmN0aW9uNCA9IHYgPT4geyB2YXIgaW50PSAxMDA7IHJldHVybiB2
KmludDsgfTsKKy8vdmFyIGFycm93RnVuY3Rpb241ID0gKHYpID0+IHsgdmFyIGludD0gMTAwOyBy
ZXR1cm4gdippbnQ7IH07CisvL3ZhciBhcnJvd0Z1bmN0aW9uNiA9ICh2LCB4KSA9PiB7IHZhciBy
ZXN1bHQgPSB4ICogdjsgcmV0dXJuIHJlc3VsdDsgfTsKKworCitzaG91bGRCZSgiYXJyb3dGdW5j
dGlvbjAoMTApIiwgIjExIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvbjEoMTApIiwgIjExIik7
CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvbjIoKSIsICIxMDAwIik7CitzaG91bGRCZSgiYXJyb3dG
dW5jdGlvbjMoMTAsIDIpIiwgIjEyIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvbldyYXBwZXIo
eCA9PiAxMCkiLCAiMTAiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEw
LCAyMCkiLCAiMTAiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEwICsg
MzApIiwgIjQwIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMCArIDMw
LCAxMDAwKSIsICI0MCIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4geCAr
IDEsIDIxKSIsICIyMiIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb25XcmFwcGVyKCh4KSA9PiB4
ICsgMSwgMjEpIiwgIjIyIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4g
MTAwKSIsICIxMDAiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiAxMDAs
IDExKSIsICIxMDAiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiAxMDAg
KyAxMCkiLCAiMTEwIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAw
ICsgMTAsIDEyKSIsICIxMTAiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uV3JhcHBlcjIoKHgs
ICB5KSA9PiB4ICsgeSwgMjEsIDUpIiwgIjI2Iik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvbjQo
MTAxKSIsICIxMDIiKTsKK3Nob3VsZEJlKCJ4eXoxIiwgIjEwMTAxIik7CisKK3Nob3VsZEJlKCJh
cnJvd0Z1bmN0aW9BcnJheTBbMF0oMTApIiwgIjEwMCIpOworc2hvdWxkQmUoImFycm93RnVuY3Rp
b0FycmF5MVswXSgxMCkiLCAiMTEiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9BcnJheTFbMV0o
MTEpIiwgIjEzIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvQXJyYXkyWzBdKDExKSIsICIxMiIp
Oworc2hvdWxkQmUoImFycm93RnVuY3Rpb0FycmF5MlsxXSgxMSkiLCAiMTMiKTsKK3Nob3VsZEJl
KCJhcnJvd0Z1bmN0aW9BcnJheTNbMF0oMTEpIiwgIjEwMSIpOworc2hvdWxkQmUoImFycm93RnVu
Y3Rpb0FycmF5M1sxXSgxMSkiLCAiMTIzMjMiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uT2Jq
LmZ1bmMoMTEpIiwgIjIzIik7CmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5k
ZXggOGQ3ZGNiMmQ1NWRmZDI4YzVlNjI0MzFiY2ZkOTcxYTk1NWRkNmE2NC4uYmIzNTJhZGM5MDA1
YjczYzhiZDlkOTBhNDk3NzAwNmY0NmFkNDI5MyAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBi
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE1LTAyLTI3ICBTa2FjaGtvdiBBbGV4YW5k
ciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBh
cnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE0MDg1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlOgorICAgICAg
ICAqIFNvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlOgorCiAyMDE1LTAyLTI2ICBDc2FiYSBPc3p0
cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW0VGTF0gUmVtb3ZlIHVubmVj
ZXNzYXJ5IGNvbW1lbnQgYWZ0ZXIgcjE3OTExMAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247598</attachid>
            <date>2015-02-28 00:55:46 -0800</date>
            <delta_ts>2015-02-28 02:48:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150228105528.patch</filename>
            <type>text/plain</type>
            <size>71165</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwNjg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
NDEzYmJiZDFjMDdmMmQwMGVkZDNhMGE0NGFlYWFmZWNhMGVkMmRhLi5iMzNkYjk2ZjA4ODUzYzBl
YjY1NGQ3ZGI4MGY4NWI3MDJkOGI3OTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NSBAQAorMjAxNS0wMi0yNyAgQWxleGFuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21h
aWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3lu
dGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4
NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICBBZGRlZCBmZWF0
dXJlIGZsYWcgRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rp
b24KKworICAgICAgICAqIHBhcnNlci9BU1RCdWlsZGVyLmg6CisgICAgICAgIChKU0M6OkFTVEJ1
aWxkZXI6OmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAgICAgQWRkZWQgZnVuY3Rpb24g
dGhhdCBjcmVhdGUgZXhwcmVzaW9uIGZvciBhcnJvdyBmdW5jdGlvbgorICAgICAgICAoSlNDOjpB
U1RCdWlsZGVyOjpjcmVhdGVBcnJvd0Z1bmNEZWNsU3RhdGVtZW50KToKKyAgICAgICAgQWRkZWQg
bWV0aG9kIHRvIGNyZWF0ZSBBcnJvdyBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjbG9zZSB0byBjb21t
b24gZnVuY3Rpb24gZGVjbGFyYXRpb24KKyAgICAgICAgCisgICAgICAgICogcGFyc2VyL0xleGVy
LmNwcDoKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24pOgorICAgICAg
ICBNZXRob2QgdGhhdCBhbGxvdyB0byBzZXQgY3VycmVjdCBwb3NpdGlvbiBmb3IgdGhlIHRvY2tl
biBvdXRzaWRlIHRoZSBMZXhlciBjbGFzCisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpsZXgpOgor
ICAgICAgICBNZXRob2QgY2hhbmdlZCB0byBzdXBwb3J0IG9mIHRoZSBhcnJvdyBmdW5jdGlvbgor
ICAgICAgICAqIHBhcnNlci9MZXhlci5oOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6c2V0VG9r
ZW5Qb3NpdGlvbik6CisgICAgICAgIERlY2xhcmF0aW9uIG9mIHRoZSBtZXRob2QgdGhhdCBhbGxv
dyB0byBzZXQgY3VycmVjdCBwb3NpdGlvbiBmb3IgdGhlIHRvY2tlbiBvdXRzaWRlIHRoZSBMZXhl
ciBjbGFzcyAKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFy
c2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMpOgorICAgICAgICBNb2RpZmllZCBt
ZXRob2QgdG8gc3VwcG9ydCB0d28gbWV0aG9kcyBvZiB0aGUgcGFyc2UganMgZnVuY3Rpb24uIFRo
ZSBmaXJzdCBzdGFuZGFyIGZ1bmN0aW9uIGFuZCBuZXcgdHlwZSBpcyBhcnJvdyBmdW5jdGlvbi4K
KyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlc3Npb24p
OgorCisgICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorICAgICAgICAoSlNDOjpTY29wZTo6ZGVj
bGFyZUJvdW5kUGFyYW1ldGVyKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpmaW5kQ2FjaGVkRnVu
Y3Rpb25JbmZvKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpzZXRFbmRPZlN0YXRlbWVudCk6Cisg
ICAgICAgIChKU0M6OlBhcnNlcjo6cmVzdG9yZVN0YXRlKToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlKToKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyVG9rZW5zLmg6Cisg
ICAgICAgICogcGFyc2VyL1NvdXJjZUNvZGUuaDoKKyAgICAgICAgKEpTQzo6U291cmNlQ29kZTo6
c3ViRXhwcmVzc2lvbkFycm93RnVuY3Rpb24pOgorICAgICAgICAqIHBhcnNlci9TeW50YXhDaGVj
a2VyLmg6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNyZWF0ZUFycm93RnVuY3Rpb25F
eHByKToKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6b3BlcmF0b3JTdGFja1BvcCk6CisK
IDIwMTUtMDItMjYgIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CiAKICAgICAg
ICAgW1dpbl0gRGVidWctb25seSBKYXZhU2NyaXB0Q29yZSBmYWlsdXJlcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IGZkOTQwNzZlMGQ5NTg0MWMyOTQ0NmVhYTRiYjQ5NDZlNmNjNTMxZWQuLjNlNDk2YWYwMTk5Yzk0
MmZiODc1MTg4NjgxMWE4YjYxZmI4MDNkMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAor
MjAxNS0wMi0yNyAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisg
ICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmZWF0dXJlIGZs
YWcgRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rpb24KKyAg
ICAgICAgQWRkZWQgdGVzdCBmb3IgYXJyb3cgZnVuY3Rpb24KKworICAgICAgICBUZXN0OiBqcy9h
cnJvd2Z1bmN0aW9uLmh0bWwKKyAgICAgICAgICAgICAganMvc2NyaXB0LXRlc3RzL2Fycm93ZnVu
Y3Rpb24uanMKKyAgICAgICAgICAgICAganMvYXJyb3dmdW5jdGlvbi1leHBlY3RlZC50eHQKKwor
ICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1
LTAyLTI2ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CiAKICAg
ICAgICAgQ2xlYW51cCBSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIgY2xhc3MuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKaW5kZXggYzZiNDk2MjgwMDE5NTE1NjFjNzhhYjhjNDBlMTVmMTIwOTBjM2EyNS4uZTk4ZTU5
MWIxMjJhYzUwYjY0NDM0Mzc4MmQ3NDYxOTBkODU4Y2U5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE0IEBACisyMDE1LTAyLTI3ICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBn
bWFpbC5jb20+CisKKyAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MDg1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZGVkIGZlYXR1cmUgZmxhZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJv
dyBmdW5jdGlvbgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWc6CisKIDIwMTUtMDItMjQgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQu
b3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxODA1OTkuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
aW5kZXggZDU5Mjg0YzczZjQ3NjljNzI3ZDE5Zjc0YmNjYjgxYjAyYmM0NGZiMi4uODVjMzUwYWM3
NzNmYTJhN2IwM2ZjZTNkNzhkYWM0MzdmNTNkYzIzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
IEBACisyMDE1LTAyLTI3ICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+
CisKKyAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGZlYXR1
cmUgZmxhZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlv
bgorCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoK
KwogMjAxNS0wMi0yNSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAg
ICAgICAgIEFkZCAodW51c2VkIGZvciBub3cpIGNvZGUgdG8gZGVsZXRlIHdlYnNpdGUgZGF0YSBm
b3IgYSBzZXQgb2Ygb3JpZ2lucwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGI3OWM0YzI1
ZDI4NWUyZWFiYjAwM2VmYTkxZjhkZDRiNGNmNjUyODguLjY5YmQ5YWIwMGUwZDUxNWQzYzE0MTMw
NGE0MjZhZTViNWIyNGRiZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1
LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NB
TlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gOworRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFC
TEVfQ09OVEVOVF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVf
Q1NQX05FWFQgPSA7CiBFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLID0gRU5BQkxFX0NT
U19CT1hfREVDT1JBVElPTl9CUkVBSzsKQEAgLTIwOCw0ICsyMDksNCBAQCBFTkFCTEVfTExJTlRf
Q19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxF
X1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFC
TEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAk
KEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykg
JChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hB
Tk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFU
SU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0Vf
QURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1Nf
UkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQ
RVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQo
RU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIp
ICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAk
KEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQo
RU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNU
T1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1Yy
KSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQo
RU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFE
X0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9E
T01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJW
SUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9O
VEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAk
KEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19Q
UkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQp
ICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFC
TEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9T
Q0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRP
Ul9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRf
UExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJM
RV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxF
X1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVT
VF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09M
VVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1Nf
U0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNf
QVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVf
VVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChF
TkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFC
TEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFC
TEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1J
TkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFC
TEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJM
RV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElP
Tl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19T
Q1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVN
RU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAk
KEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQo
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NT
X0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxF
X0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJM
RV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAk
KEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5B
QkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJ
TkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NI
RU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxT
X0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVO
VFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9B
RF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVO
QUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9I
SURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAk
KEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9J
TkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lO
UFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lP
U19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
SU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJ
WEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChF
TkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05U
Uk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElT
VElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01P
VVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5B
QkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01J
U0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJ
U1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChF
TkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQo
RU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAk
KEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5B
QkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9O
VFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVS
X0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRP
U0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElO
RykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURF
T19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19N
RURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JF
UExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5B
QkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElN
RU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19M
T09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVP
X1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvQVNUQnVpbGRlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWls
ZGVyLmgKaW5kZXggODg0MThmMTZhMjAwMjZiMmE2YzAxZjNlMjY4MWQ2MGNkNWNmNzk5Ni4uOGZl
OTBjZjE0NmU0NTU5MDM0YzQ2ZTIwYWYxNjhlNjMzYjRmMjZjYyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKQEAgLTI5OCw2ICsyOTgsMTcgQEAgcHVibGljOgog
ICAgICAgICByZXR1cm4gbmV3IChtX3BhcnNlckFyZW5hKSBGdW5jdGlvbkJvZHlOb2RlKG1fcGFy
c2VyQXJlbmEsIHN0YXJ0TG9jYXRpb24sIGVuZExvY2F0aW9uLCBzdGFydENvbHVtbiwgZW5kQ29s
dW1uLCBpblN0cmljdENvbnRleHQpOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgRXhwcmVzc2lvbk5vZGUqIGNyZWF0ZUFycm93RnVuY3Rpb25FeHBy
KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5m
bzxBU1RCdWlsZGVyPiYgaW5mbywgdW5zaWduZWQgYXJyb3dGdW5jdGlvbktleXdvcmRTdGFydCkK
KyAgICB7CisgICAgICAgIEZ1bmNFeHByTm9kZSogcmVzdWx0ID0gbmV3IChtX3BhcnNlckFyZW5h
KSBGdW5jRXhwck5vZGUobG9jYXRpb24sICppbmZvLm5hbWUsIGluZm8uYm9keSwKKyAgICAgICAg
ICAgIG1fc291cmNlQ29kZS0+c3ViRXhwcmVzc2lvbkFycm93RnVuY3Rpb24oaW5mby5vcGVuQnJh
Y2VPZmZzZXQsIGluZm8uY2xvc2VCcmFjZU9mZnNldCwgaW5mby5ib2R5U3RhcnRMaW5lLCBpbmZv
LmJvZHlTdGFydENvbHVtbiksIGluZm8ucGFyYW1ldGVycyk7CisgICAgICAgIGluZm8uYm9keS0+
c2V0TG9jKGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5RW5kTGluZSwgbG9jYXRpb24uc3Rh
cnRPZmZzZXQsIGxvY2F0aW9uLmxpbmVTdGFydE9mZnNldCk7CisgICAgICAgIGluZm8uYm9keS0+
c2V0RnVuY3Rpb25LZXl3b3JkU3RhcnQoYXJyb3dGdW5jdGlvbktleXdvcmRTdGFydCk7CisgICAg
ICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorI2VuZGlmCisKICAgICB2b2lkIHNldEZ1bmN0aW9u
TmFtZVN0YXJ0KEZ1bmN0aW9uQm9keU5vZGUqIGJvZHksIGludCBmdW5jdGlvbk5hbWVTdGFydCkK
ICAgICB7CiAgICAgICAgIGJvZHktPnNldEZ1bmN0aW9uTmFtZVN0YXJ0KGZ1bmN0aW9uTmFtZVN0
YXJ0KTsKQEAgLTM3Niw2ICszODcsMTkgQEAgcHVibGljOgogICAgIH0KICNlbmRpZgogCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBTdGF0ZW1lbnROb2RlKiBjcmVh
dGVBcnJvd0Z1bmNEZWNsU3RhdGVtZW50KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24s
IGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RCdWlsZGVyPiYgaW5mbywgdW5zaWduZWQgZnVu
Y3Rpb25LZXl3b3JkU3RhcnQpCisgICAgeworICAgICAgICBGdW5jRGVjbE5vZGUqIGRlY2wgPSBu
ZXcgKG1fcGFyc2VyQXJlbmEpIEZ1bmNEZWNsTm9kZShsb2NhdGlvbiwgKmluZm8ubmFtZSwgaW5m
by5ib2R5LAorICAgICAgICAgICAgbV9zb3VyY2VDb2RlLT5zdWJFeHByZXNzaW9uQXJyb3dGdW5j
dGlvbihpbmZvLm9wZW5CcmFjZU9mZnNldCwgaW5mby5jbG9zZUJyYWNlT2Zmc2V0LCBpbmZvLmJv
ZHlTdGFydExpbmUsIGluZm8uYm9keVN0YXJ0Q29sdW1uKSwgaW5mby5wYXJhbWV0ZXJzKTsKKyAg
ICAgICAgaWYgKCppbmZvLm5hbWUgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+YXJndW1lbnRzKQor
ICAgICAgICAgICAgdXNlc0FyZ3VtZW50cygpOworICAgICAgICBtX3Njb3BlLm1fZnVuY0RlY2xh
cmF0aW9ucy5hcHBlbmQoZGVjbC0+Ym9keSgpKTsKKyAgICAgICAgaW5mby5ib2R5LT5zZXRGdW5j
dGlvbktleXdvcmRTdGFydChmdW5jdGlvbktleXdvcmRTdGFydCk7CisgICAgICAgIHJldHVybiBk
ZWNsOworICAgIH0KKyNlbmRpZgorCiAgICAgU3RhdGVtZW50Tm9kZSogY3JlYXRlQmxvY2tTdGF0
ZW1lbnQoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgSlNDOjpTb3VyY2VFbGVtZW50
cyogZWxlbWVudHMsIGludCBzdGFydExpbmUsIGludCBlbmRMaW5lKQogICAgIHsKICAgICAgICAg
QmxvY2tOb2RlKiBibG9jayA9IG5ldyAobV9wYXJzZXJBcmVuYSkgQmxvY2tOb2RlKGxvY2F0aW9u
LCBlbGVtZW50cyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xl
eGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCmluZGV4IGYx
M2ZlNGRlYWMwZWRlMDQzN2M0OTE3YmE0OGY0ZjBiOTY1MDljMGUuLjQ4Y2NmYjZmZDM4YTFjYzk1
NThhZGY5MzQ5MGNiMzg0NzZlZTdiNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTGV4ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4
ZXIuY3BwCkBAIC0xMzg3LDYgKzEzODcsMTYgQEAgYm9vbCBMZXhlcjxUPjo6bmV4dFRva2VuSXND
b2xvbigpCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgordm9pZCBMZXhlcjxUPjo6c2V0VG9r
ZW5Qb3NpdGlvbihKU1Rva2VuKiB0b2tlblJlY29yZCkKK3sKKyAgICBKU1Rva2VuRGF0YSogdG9r
ZW5EYXRhID0gJnRva2VuUmVjb3JkLT5tX2RhdGE7CisgICAgdG9rZW5EYXRhLT5saW5lID0gbGlu
ZU51bWJlcigpOworICAgIHRva2VuRGF0YS0+b2Zmc2V0ID0gY3VycmVudE9mZnNldCgpOworICAg
IHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVTdGFydE9mZnNldCgpOwor
ICAgIEFTU0VSVCh0b2tlbkRhdGEtPm9mZnNldCA+PSB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNl
dCk7Cit9CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgogSlNUb2tlblR5cGUgTGV4ZXI8VD46Omxl
eChKU1Rva2VuKiB0b2tlblJlY29yZCwgdW5zaWduZWQgbGV4ZXJGbGFncywgYm9vbCBzdHJpY3RN
b2RlKQogewogICAgIEpTVG9rZW5EYXRhKiB0b2tlbkRhdGEgPSAmdG9rZW5SZWNvcmQtPm1fZGF0
YTsKQEAgLTE0NDksNyArMTQ1OSwxMiBAQCBzdGFydDoKICAgICAgICAgfQogICAgICAgICB0b2tl
biA9IEdUOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIENoYXJhY3RlckVxdWFsOgorICAgIGNh
c2UgQ2hhcmFjdGVyRXF1YWw6IHsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgICAgICB1aW50MzJfdCBzYXZlZGxpbmVOdW1iZXIgPSB0b2tlbkRhdGEtPmxpbmU7Cisg
ICAgICAgIHVpbnQzMl90IHNhdmVkT2Zmc2V0ID0gY3VycmVudE9mZnNldCgpOworICAgICAgICB1
aW50MzJfdCBzYXZlZExpbmVTdGFydE9mZnNldCA9IGN1cnJlbnRMaW5lU3RhcnRPZmZzZXQoKTsK
KyNlbmRpZgogICAgICAgICBzaGlmdCgpOwogICAgICAgICBpZiAobV9jdXJyZW50ID09ICc9Jykg
ewogICAgICAgICAgICAgc2hpZnQoKTsKQEAgLTE0NjEsOCArMTQ3NiwyMyBAQCBzdGFydDoKICAg
ICAgICAgICAgIHRva2VuID0gRVFFUTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9Cisg
ICAgICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlm
IChtX2N1cnJlbnQgPT0gJz4nKSB7CisgICAgICAgICAgICBzaGlmdCgpOworICAgICAgICAgICAg
dG9rZW4gPSBBUlJPV0ZVTkNUSU9OOworICAgICAgICAgICAgCisgICAgICAgICAgICB0b2tlbkRh
dGEtPmxpbmUgPSBzYXZlZGxpbmVOdW1iZXI7CisgICAgICAgICAgICB0b2tlbkRhdGEtPm9mZnNl
dCA9IHNhdmVkT2Zmc2V0OworICAgICAgICAgICAgdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQg
PSBzYXZlZExpbmVTdGFydE9mZnNldDsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgQVNTRVJU
KHRva2VuRGF0YS0+b2Zmc2V0ID49IHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0KTsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgdG9rZW4gPSBFUVVBTDsK
ICAgICAgICAgYnJlYWs7CisgICAgfQogICAgIGNhc2UgQ2hhcmFjdGVyTGVzczoKICAgICAgICAg
c2hpZnQoKTsKICAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnIScgJiYgcGVlaygxKSA9PSAnLScg
JiYgcGVlaygyKSA9PSAnLScpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvTGV4ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAppbmRl
eCA4MWI0MzM0ZDg0OWQ4M2U3NWZhZGFmZWY1NDIwODQxNmE4ZDE2ZDY2Li5iNjFkMzg3YTZmYzM4
YWQ4NjNiNGQyMWNmNzczMzczYzM1MWY3NGNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL0xleGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9M
ZXhlci5oCkBAIC04NSw2ICs4NSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldElzUmVwYXJzaW5n
KCkgeyBtX2lzUmVwYXJzaW5nID0gdHJ1ZTsgfQogICAgIGJvb2wgaXNSZXBhcnNpbmcoKSBjb25z
dCB7IHJldHVybiBtX2lzUmVwYXJzaW5nOyB9CiAKKyAgICB2b2lkIHNldFRva2VuUG9zaXRpb24o
SlNUb2tlbiogdG9rZW5SZWNvcmQpOwogICAgIEpTVG9rZW5UeXBlIGxleChKU1Rva2VuKiwgdW5z
aWduZWQsIGJvb2wgc3RyaWN0TW9kZSk7CiAgICAgYm9vbCBuZXh0VG9rZW5Jc0NvbG9uKCk7CiAg
ICAgaW50IGxpbmVOdW1iZXIoKSBjb25zdCB7IHJldHVybiBtX2xpbmVOdW1iZXI7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAppbmRleCBmNGM0YmM1ZDRlM2Y3MmY2MDUx
MmJmYzYwNzAxNTZkMzE2ZmFhYmFjLi4yMjMwNzIwNzUyOTQ3NGNkMDJmM2QzNGE0ZmM0MDkxOGUz
M2IyOWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCkBAIC0zMjIs
OSArMzIyLDEzIEBAIGJvb2wgUGFyc2VyPExleGVyVHlwZT46OmFsbG93QXV0b21hdGljU2VtaWNv
bG9uKCkKIHsKICAgICByZXR1cm4gbWF0Y2goQ0xPU0VCUkFDRSkgfHwgbWF0Y2goRU9GVE9LKSB8
fCBtX2xleGVyLT5wcmV2VGVybWluYXRvcigpOwogfQotCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYgY29udGV4dCwgU291cmNlRWxlbWVudHNN
b2RlIG1vZGUsIEZ1bmN0aW9uUGFyc2VUeXBlIHR5cGUpCisjZWxzZQogdGVtcGxhdGUgPHR5cGVu
YW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVs
ZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVy
JiBjb250ZXh0LCBTb3VyY2VFbGVtZW50c01vZGUgbW9kZSkKKyNlbmRpZgogewogICAgIGNvbnN0
IHVuc2lnbmVkIGxlbmd0aE9mVXNlU3RyaWN0TGl0ZXJhbCA9IDEyOyAvLyAidXNlIHN0cmljdCIu
bGVuZ3RoCiAgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHNvdXJjZUVsZW1lbnRzID0gY29udGV4dC5j
cmVhdGVTb3VyY2VFbGVtZW50cygpOwpAQCAtMzMzLDcgKzMzNywxMSBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VTb3VyY2VFbAogICAgIHVuc2lnbmVkIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwOwogICAg
IGF1dG8gc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CiAgICAgYm9vbCBoYXNTZXRTdHJp
Y3QgPSBmYWxzZTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHdo
aWxlIChUcmVlU3RhdGVtZW50IHN0YXRlbWVudCA9IHBhcnNlU3RhdGVtZW50KGNvbnRleHQsIGRp
cmVjdGl2ZSwgJmRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgsIHR5cGUpKSB7CisjZWxzZQogICAgIHdo
aWxlIChUcmVlU3RhdGVtZW50IHN0YXRlbWVudCA9IHBhcnNlU3RhdGVtZW50KGNvbnRleHQsIGRp
cmVjdGl2ZSwgJmRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgpKSB7CisjZW5kaWYgICAgICAKICAgICAg
ICAgaWYgKG1vZGUgPT0gQ2hlY2tGb3JTdHJpY3RNb2RlICYmICFzZWVuTm9uRGlyZWN0aXZlKSB7
CiAgICAgICAgICAgICBpZiAoZGlyZWN0aXZlKSB7CiAgICAgICAgICAgICAgICAgLy8gInVzZSBz
dHJpY3QiIG11c3QgYmUgdGhlIGV4YWN0IGxpdGVyYWwgd2l0aG91dCBlc2NhcGUgc2VxdWVuY2Vz
IG9yIGxpbmUgY29udGludWF0aW9uLgpAQCAtNTcxLDYgKzU3OSwzMiBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gUGFyc2VyPExleGVyVHlw
ZT46OnRyeVBhcgogICAgIHJldHVybiBwYXJzZURlY29uc3RydWN0aW9uUGF0dGVybihjb250ZXh0
LCBEZWNvbnN0cnVjdFRvRXhwcmVzc2lvbnMpOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
QXJyb3dGdW5jdGlvblN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBBU1NF
UlQobWF0Y2goQVJST1dGVU5DVElPTikpOworCisgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9u
KHRva2VuTG9jYXRpb24oKSk7CisgICAgc2VtYW50aWNGYWlsSWZGYWxzZShjdXJyZW50U2NvcGUo
KS0+aXNGdW5jdGlvbigpLCAiUmV0dXJuIHN0YXRlbWVudHMgYXJlIG9ubHkgdmFsaWQgaW5zaWRl
IGFycm93IGZ1bmN0aW9ucyIpOworICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFy
dFBvc2l0aW9uKCk7CisgICAgSlNUZXh0UG9zaXRpb24gZW5kID0gdG9rZW5FbmRQb3NpdGlvbigp
OworCisgICAgbmV4dCgpOworICAgIFRyZWVFeHByZXNzaW9uIGV4cHIgPSBwYXJzZUFycm93RXhw
cmVzc2lvbihjb250ZXh0KTsKKyAgICBmYWlsSWZGYWxzZShleHByLCAiQ2Fubm90IHBhcnNlIHRo
ZSBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgZW5kID0gbGFzdFRva2VuRW5kUG9z
aXRpb24oKTsKKworICAgIGJvb2wgY29ycmVjQXJyb3dGaW5pc2ggPSBtYXRjaChTRU1JQ09MT04p
IHx8IG1hdGNoKENPTU1BKSB8fCBtYXRjaChDTE9TRVBBUkVOKSB8fCBtYXRjaChDTE9TRUJSQUNF
KSB8fCBtYXRjaChDTE9TRUJSQUNLRVQpIHx8IG1hdGNoKEVPRlRPSyk7CisgICAgZmFpbElmRmFs
c2UoY29ycmVjQXJyb3dGaW5pc2gsICJFeHBlY3RlZCBhICc7JywgJ10nLCAnfScsICcpJywgb3Ig
JywnIGZvbGxvd2luZyBhIGFycm93IGZ1bmN0aW9uIHN0YXRlbWVudCIpOworCisgICAgZW5kID0g
dG9rZW5FbmRQb3NpdGlvbigpOworICAgIHNldEVuZE9mU3RhdGVtZW50KCk7CisKKyAgICByZXR1
cm4gY29udGV4dC5jcmVhdGVSZXR1cm5TdGF0ZW1lbnQobG9jYXRpb24sIGV4cHIsIHN0YXJ0LCBl
bmQpOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuKFRyZWVCdWlsZGVyJiBjb250ZXh0
LCBEZWNvbnN0cnVjdGlvbktpbmQga2luZCwgaW50IGRlcHRoKQogewpAQCAtMTEzNyw4ICsxMTcx
LDEzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VCbG9ja1N0YXRlbWVuCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUg
TGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgY29u
c3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5n
dGgsIEZ1bmN0aW9uUGFyc2VUeXBlIHR5cGUpCisjZWxzZQogdGVtcGxhdGUgPHR5cGVuYW1lIExl
eGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0
IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3Ro
KQorI2VuZGlmCiB7CiAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVu
dERlcHRoKTsKICAgICBtX3N0YXRlbWVudERlcHRoKys7CkBAIC0xMTQ3LDYgKzExODYsMjggQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZVN0YXRlbWVudChUcmUKICAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7CiAgICAg
VHJlZVN0YXRlbWVudCByZXN1bHQgPSAwOwogICAgIGJvb2wgc2hvdWxkU2V0RW5kT2Zmc2V0ID0g
dHJ1ZTsKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgYm9vbCBo
YW5kbGVkID0gZmFsc2U7CisgICAgaWYgKHR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkg
eworICAgICAgICBzd2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7CisgICAgICAgIGNhc2UgQ0xPU0VQ
QVJFTjoKKyAgICAgICAgY2FzZSBDTE9TRUJSQUNLRVQ6CisgICAgICAgIGNhc2UgQ09NTUE6Cisg
ICAgICAgIGNhc2UgU0VNSUNPTE9OOiB7CisgICAgICAgICAgICByZXN1bHQgPSAwOworICAgICAg
ICAgICAgaGFuZGxlZCA9IHRydWU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAg
ICAgICBkZWZhdWx0OgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBp
ZiAoaGFuZGxlZCkKKyAgICAgICAgICAgIGdvdG8gZW5kU3RhdGVtZW5ldDsKK30KKyNlbmRpZgor
CiAgICAgc3dpdGNoIChtX3Rva2VuLm1fdHlwZSkgewogICAgIGNhc2UgT1BFTkJSQUNFOgogICAg
ICAgICByZXN1bHQgPSBwYXJzZUJsb2NrU3RhdGVtZW50KGNvbnRleHQpOwpAQCAtMTE5Miw2ICsx
MjUzLDExIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgY2FzZSBCUkVBSzoKICAgICAg
ICAgcmVzdWx0ID0gcGFyc2VCcmVha1N0YXRlbWVudChjb250ZXh0KTsKICAgICAgICAgYnJlYWs7
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIEFSUk9XRlVO
Q1RJT046CisgICAgICAgIHJlc3VsdCA9IHBhcnNlQXJyb3dGdW5jdGlvblN0YXRlbWVudChjb250
ZXh0KTsKKyAgICAgICAgYnJlYWs7CisjZW5kaWYKICAgICBjYXNlIFJFVFVSTjoKICAgICAgICAg
cmVzdWx0ID0gcGFyc2VSZXR1cm5TdGF0ZW1lbnQoY29udGV4dCk7CiAgICAgICAgIGJyZWFrOwpA
QCAtMTIzMyw2ICsxMjk5LDggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3Rh
dGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmUKICAgICAgICAgYnJl
YWs7CiAgICAgfQogCitlbmRTdGF0ZW1lbmV0OgorCiAgICAgaWYgKHJlc3VsdCAmJiBzaG91bGRT
ZXRFbmRPZmZzZXQpCiAgICAgICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KHJlc3VsdCwgbV9sYXN0
VG9rZW5FbmRQb3NpdGlvbi5vZmZzZXQpOwogICAgIHJldHVybiByZXN1bHQ7CkBAIC0xMjUzLDYg
KzEzMjEsMjMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRm9ybWFsUGFyYW1l
dGVyTGlzdCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGb3IKICAgICByZXR1cm4gbGlzdDsKIH0K
IAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5h
bWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRnVuY3Rpb25C
b2R5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVy
JiBjb250ZXh0KQoreworICAgIEpTVG9rZW5Mb2NhdGlvbiBzdGFydExvY2F0aW9uKHRva2VuTG9j
YXRpb24oKSk7CisgICAgdW5zaWduZWQgc3RhcnRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOworCisg
ICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKKyAgICBt
X3N0YXRlbWVudERlcHRoID0gMDsKKyAgICB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6RnVuY3Rpb25C
b2R5QnVpbGRlciBib2R5QnVpbGRlcihjb25zdF9jYXN0PFZNKj4obV92bSksIG1fbGV4ZXIuZ2V0
KCkpOworCisgICAgZmFpbElmRmFsc2UocGFyc2VTb3VyY2VFbGVtZW50cyhib2R5QnVpbGRlciwg
Q2hlY2tGb3JTdHJpY3RNb2RlLCBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSwgIkNhbm5vdCBwYXJz
ZSBib2R5IG9mIHRoaXMgYXJyb3cgZnVuY3Rpb24iKTsKKyAgICB1bnNpZ25lZCBlbmRDb2x1bW4g
PSB0b2tlbkNvbHVtbigpOworICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uQm9keShz
dGFydExvY2F0aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0YXJ0Q29sdW1uLCBlbmRDb2x1bW4sIHN0
cmljdE1vZGUoKSk7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4K
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUZ1bmN0aW9uQm9keSBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7CkBAIC0x
NDA4LDYgKzE0OTMsMTI3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgcmV0dXJuIHRy
dWU7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUg
PHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYgY29u
dGV4dCwgRnVuY3Rpb25QYXJzZU1vZGUgbW9kZSwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWls
ZGVyPiYgaW5mbykKK3sKKyAgICBBdXRvUG9wU2NvcGVSZWYgZnVuY3Rpb25TY29wZSh0aGlzLCBw
dXNoU2NvcGUoKSk7CisgICAgZnVuY3Rpb25TY29wZS0+c2V0SXNGdW5jdGlvbigpOworICAgIGlu
dCBmdW5jdGlvbk5hbWVTdGFydCA9IG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKKyAg
ICBjb25zdCBJZGVudGlmaWVyKiBsYXN0RnVuY3Rpb25OYW1lID0gbV9sYXN0RnVuY3Rpb25OYW1l
OworICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IG51bGxwdHI7CisKKyAgICBpZiAoIW1hdGNoKElE
RU5UKSAmJiAhbWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVU
b0tleXdvcmQoc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUiKTsKKyAgICAgICAg
ZmFpbFdpdGhNZXNzYWdlKCJFeHBlY3RlZCBhbiBhcnJvdyBmdW5jdGlvbiBpbnB1dCBwYXJhbWV0
ZXIiKTsKKyAgICB9IGVsc2UgeworICAgICAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkgeworICAg
ICAgICAgICAgY29uc3VtZShPUEVOUEFSRU4pOworCisgICAgICAgICAgICBpZiAoIW1hdGNoKENM
T1NFUEFSRU4pKSB7CisgICAgICAgICAgICAgICAgaW5mby5wYXJhbWV0ZXJzID0gcGFyc2VGb3Jt
YWxQYXJhbWV0ZXJzKGNvbnRleHQpOworICAgICAgICAgICAgICAgIGZhaWxJZkZhbHNlKGluZm8u
cGFyYW1ldGVycywgIkNhbm5vdCBwYXJzZSBwYXJhbWV0ZXJzIGZvciB0aGlzICIsIHN0cmluZ0Zv
ckZ1bmN0aW9uTW9kZShtb2RlKSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGNvbnN1
bWVPckZhaWwoQ0xPU0VQQVJFTiwgIkV4cGVjdGVkIGEgJyknIG9yIGEgJywnIGFmdGVyIGEgcGFy
YW1ldGVyIGRlY2xhcmF0aW9uIik7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpbmZv
LnBhcmFtZXRlcnMgPSBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoY29udGV4dCk7CisgICAgICAgICAg
ICBmYWlsSWZGYWxzZShpbmZvLnBhcmFtZXRlcnMsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVycyBm
b3IgdGhpcyAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOworICAgICAgICB9CisgICAg
fQorCisgICAgbWF0Y2hPckZhaWwoQVJST1dGVU5DVElPTiwgIkV4cGVjdGVkIGEgJz0+JyBhZnRl
ciBhcnJvdyBmdW5jdGlvbiBwYXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsKKworICAgIGluZm8ub3Bl
bkJyYWNlT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgIGluZm8uYm9keVN0YXJ0
TGluZSA9IHRva2VuTGluZSgpOworICAgIGluZm8uYm9keVN0YXJ0Q29sdW1uID0gbV90b2tlbi5t
X2RhdGEub2Zmc2V0IC0gbV90b2tlbi5tX2RhdGEubGluZVN0YXJ0T2Zmc2V0OworCisgICAgSlNU
b2tlbkxvY2F0aW9uIHN0YXJ0TG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKworICAgIC8vIElm
IHdlIGtub3cgYWJvdXQgdGhpcyBmdW5jdGlvbiBhbHJlYWR5LCB3ZSBjYW4gdXNlIHRoZSBjYWNo
ZWQgaW5mbyBhbmQgc2tpcCB0aGUgcGFyc2VyIHRvIHRoZSBlbmQgb2YgdGhlIGZ1bmN0aW9uLgor
ICAgIGlmIChjb25zdCBTb3VyY2VQcm92aWRlckNhY2hlSXRlbSogY2FjaGVkSW5mbyA9IFRyZWVC
dWlsZGVyOjpDYW5Vc2VGdW5jdGlvbkNhY2hlID8gZmluZENhY2hlZEZ1bmN0aW9uSW5mbyhpbmZv
Lm9wZW5CcmFjZU9mZnNldCkgOiAwKSB7CisgICAgICAgIC8vIElmIHdlJ3JlIGluIGEgc3RyaWN0
IGNvbnRleHQsIHRoZSBjYWNoZWQgZnVuY3Rpb24gaW5mbyBtdXN0IHNheSBpdCB3YXMgc3RyaWN0
IHRvby4KKyAgICAgICAgQVNTRVJUKCFzdHJpY3RNb2RlKCkgfHwgY2FjaGVkSW5mby0+c3RyaWN0
TW9kZSk7CisgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiBlbmRMb2NhdGlvbjsKKworICAgICAgICBl
bmRMb2NhdGlvbi5saW5lID0gY2FjaGVkSW5mby0+Y2xvc2VCcmFjZUxpbmU7CisgICAgICAgIGVu
ZExvY2F0aW9uLnN0YXJ0T2Zmc2V0ID0gY2FjaGVkSW5mby0+Y2xvc2VCcmFjZU9mZnNldDsKKyAg
ICAgICAgZW5kTG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0ID0gY2FjaGVkSW5mby0+Y2xvc2VCcmFj
ZUxpbmVTdGFydE9mZnNldDsKKworICAgICAgICBib29sIGVuZENvbHVtbklzT25TdGFydExpbmUg
PSAoZW5kTG9jYXRpb24ubGluZSA9PSBpbmZvLmJvZHlTdGFydExpbmUpOworICAgICAgICBBU1NF
UlQoZW5kTG9jYXRpb24uc3RhcnRPZmZzZXQgPj0gZW5kTG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0
KTsKKyAgICAgICAgdW5zaWduZWQgYm9keUVuZENvbHVtbiA9IGVuZENvbHVtbklzT25TdGFydExp
bmUgPworICAgICAgICBlbmRMb2NhdGlvbi5zdGFydE9mZnNldCAtIG1fdG9rZW4ubV9kYXRhLmxp
bmVTdGFydE9mZnNldCA6CisgICAgICAgIGVuZExvY2F0aW9uLnN0YXJ0T2Zmc2V0IC0gZW5kTG9j
YXRpb24ubGluZVN0YXJ0T2Zmc2V0OworICAgICAgICB1bnNpZ25lZCBjdXJyZW50TGluZVN0YXJ0
T2Zmc2V0ID0gbV90b2tlbi5tX2xvY2F0aW9uLmxpbmVTdGFydE9mZnNldDsKKworICAgICAgICBp
bmZvLmJvZHkgPSBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uQm9keShzdGFydExvY2F0aW9uLCBlbmRM
b2NhdGlvbiwgaW5mby5ib2R5U3RhcnRDb2x1bW4sIGJvZHlFbmRDb2x1bW4sIGNhY2hlZEluZm8t
PnN0cmljdE1vZGUpOworCisgICAgICAgIGZ1bmN0aW9uU2NvcGUtPnJlc3RvcmVGcm9tU291cmNl
UHJvdmlkZXJDYWNoZShjYWNoZWRJbmZvKTsKKyAgICAgICAgZmFpbElmRmFsc2UocG9wU2NvcGUo
ZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQYXJz
ZXIgZXJyb3IiKTsKKworICAgICAgICBpbmZvLmNsb3NlQnJhY2VPZmZzZXQgPSBjYWNoZWRJbmZv
LT5jbG9zZUJyYWNlT2Zmc2V0OworCisgICAgICAgIGNvbnRleHQuc2V0RnVuY3Rpb25OYW1lU3Rh
cnQoaW5mby5ib2R5LCBmdW5jdGlvbk5hbWVTdGFydCk7CisgICAgICAgIG1fdG9rZW4gPSBjYWNo
ZWRJbmZvLT5jbG9zZUJyYWNlVG9rZW4oKTsKKyAgICAgICAgaWYgKGVuZENvbHVtbklzT25TdGFy
dExpbmUpCisgICAgICAgICAgICBtX3Rva2VuLm1fbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0ID0g
Y3VycmVudExpbmVTdGFydE9mZnNldDsKKworICAgICAgICBtX2xleGVyLT5zZXRPZmZzZXQobV90
b2tlbi5tX2xvY2F0aW9uLmVuZE9mZnNldCwgbV90b2tlbi5tX2xvY2F0aW9uLmxpbmVTdGFydE9m
ZnNldCk7CisgICAgICAgIG1fbGV4ZXItPnNldExpbmVOdW1iZXIobV90b2tlbi5tX2xvY2F0aW9u
LmxpbmUpOworCisgICAgICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KGluZm8uYm9keSwgbV9sZXhl
ci0+Y3VycmVudE9mZnNldCgpKTsKKworICAgICAgICBuZXh0KCk7CisgICAgICAgIGluZm8uYm9k
eUVuZExpbmUgPSBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmU7CisgICAgICAgIHJldHVybiB0
cnVlOworICAgIH0KKyAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBsYXN0RnVuY3Rpb25OYW1lOwor
ICAgIFBhcnNlclN0YXRlIG9sZFN0YXRlID0gc2F2ZVN0YXRlKCk7CisKKyAgICBpbmZvLmJvZHkg
PSBwYXJzZUFycm93RnVuY3Rpb25Cb2R5KGNvbnRleHQpOworICAgIHJlc3RvcmVTdGF0ZShvbGRT
dGF0ZSk7CisgICAgZmFpbElmRmFsc2UoaW5mby5ib2R5LCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5
IG9mIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICBjb250ZXh0LnNl
dEVuZE9mZnNldChpbmZvLmJvZHksIG1fbGV4ZXItPmN1cnJlbnRPZmZzZXQoKSk7CisgICAgaWYg
KGZ1bmN0aW9uU2NvcGUtPnN0cmljdE1vZGUoKSAmJiBpbmZvLm5hbWUpIHsKKyAgICAgICAgUkVM
RUFTRV9BU1NFUlQobW9kZSA9PSBGdW5jdGlvbk1vZGUpOworICAgICAgICBzZW1hbnRpY0ZhaWxJ
ZlRydWUobV92bS0+cHJvcGVydHlOYW1lcy0+YXJndW1lbnRzID09ICppbmZvLm5hbWUsICInIiwg
aW5mby5uYW1lLT5pbXBsKCksICInIGlzIG5vdCBhIHZhbGlkIGZ1bmN0aW9uIG5hbWUgaW4gc3Ry
aWN0IG1vZGUiKTsKKyAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKG1fdm0tPnByb3BlcnR5TmFt
ZXMtPmV2YWwgPT0gKmluZm8ubmFtZSwgIiciLCBpbmZvLm5hbWUtPmltcGwoKSwgIicgaXMgbm90
IGEgdmFsaWQgZnVuY3Rpb24gbmFtZSBpbiBzdHJpY3QgbW9kZSIpOworICAgIH0KKyAgICBpbmZv
LmNsb3NlQnJhY2VPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CisgICAgdW5zaWduZWQg
Y2xvc2VCcmFjZUxpbmUgPSBtX3Rva2VuLm1fZGF0YS5saW5lOworICAgIHVuc2lnbmVkIGNsb3Nl
QnJhY2VMaW5lU3RhcnRPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5saW5lU3RhcnRPZmZzZXQ7CisK
KyAgICAvLyBDYWNoZSB0aGUgdG9rZW5pemVyIHN0YXRlIGFuZCB0aGUgZnVuY3Rpb24gc2NvcGUg
dGhlIGZpcnN0IHRpbWUgdGhlIGZ1bmN0aW9uIGlzIHBhcnNlZC4KKyAgICAvLyBBbnkgZnV0dXJl
IHJlcGFyc2luZyBjYW4gdGhlbiBza2lwIHRoZSBmdW5jdGlvbi4KKyAgICBzdGF0aWMgY29uc3Qg
aW50IG1pbmltdW1GdW5jdGlvbkxlbmd0aFRvQ2FjaGUgPSAxNjsKKyAgICBzdGQ6OnVuaXF1ZV9w
dHI8U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0+IG5ld0luZm87CisgICAgaW50IGZ1bmN0aW9uTGVu
Z3RoID0gaW5mby5jbG9zZUJyYWNlT2Zmc2V0IC0gaW5mby5vcGVuQnJhY2VPZmZzZXQ7CisgICAg
aWYgKFRyZWVCdWlsZGVyOjpDYW5Vc2VGdW5jdGlvbkNhY2hlICYmIG1fZnVuY3Rpb25DYWNoZSAm
JiBmdW5jdGlvbkxlbmd0aCA+IG1pbmltdW1GdW5jdGlvbkxlbmd0aFRvQ2FjaGUpIHsKKyAgICAg
ICAgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMgcGFyYW1ldGVyczsK
KyAgICAgICAgcGFyYW1ldGVycy5mdW5jdGlvbk5hbWVTdGFydCA9IGZ1bmN0aW9uTmFtZVN0YXJ0
OworICAgICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VMaW5lID0gY2xvc2VCcmFjZUxpbmU7Cisg
ICAgICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFjZU9mZnNldCA9IGluZm8uY2xvc2VCcmFjZU9mZnNl
dDsKKyAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0ID0gY2xvc2VC
cmFjZUxpbmVTdGFydE9mZnNldDsKKyAgICAgICAgZnVuY3Rpb25TY29wZS0+ZmlsbFBhcmFtZXRl
cnNGb3JTb3VyY2VQcm92aWRlckNhY2hlKHBhcmFtZXRlcnMpOworICAgICAgICBuZXdJbmZvID0g
U291cmNlUHJvdmlkZXJDYWNoZUl0ZW06OmNyZWF0ZShwYXJhbWV0ZXJzKTsKKworICAgIH0KKyAg
ICBjb250ZXh0LnNldEZ1bmN0aW9uTmFtZVN0YXJ0KGluZm8uYm9keSwgZnVuY3Rpb25OYW1lU3Rh
cnQpOworCisgICAgZmFpbElmRmFsc2UocG9wU2NvcGUoZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxk
ZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQYXJzZXIgZXJyb3IiKTsKKworICAgIGJvb2wg
ZW5kT2ZBcnJvd0Z1bmN0aW9uID0gbWF0Y2goU0VNSUNPTE9OKSB8fCBtYXRjaChDT01NQSkgfHwg
bWF0Y2goQ0xPU0VQQVJFTikgfHwgbWF0Y2goQ0xPU0VCUkFDRSkgfHwgbWF0Y2goQ0xPU0VCUkFD
S0VUKTsKKyAgICBmYWlsSWZGYWxzZShlbmRPZkFycm93RnVuY3Rpb24sICJFeHBlY3RlZCB0aGUg
Y2xvc2luZyAnOycgJywnICddJyAnKScgJ30nIGFmdGVyIGFycm93IGZ1bmN0aW9uIik7CisKKyAg
ICBpZiAobmV3SW5mbykKKyAgICAgICAgbV9mdW5jdGlvbkNhY2hlLT5hZGQoaW5mby5vcGVuQnJh
Y2VPZmZzZXQsIFdURjo6bW92ZShuZXdJbmZvKSk7CisKKyAgICBpbmZvLmJvZHlFbmRMaW5lID0g
bV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lOworICAgIHJldHVybiB0cnVlOworfQorI2VuZGlm
CisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25EZWNs
YXJhdGlvbihUcmVlQnVpbGRlciYgY29udGV4dCkKIHsKQEAgLTE3MjEsNiArMTkyNywxOCBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlSWZTdGF0ZW1lbnQoVAogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUlmU3RhdGVt
ZW50KGlmTG9jYXRpb24sIGNvbmRpdGlvbiwgdHJ1ZUJsb2NrLCBzdGF0ZW1lbnRTdGFjay5sYXN0
KCksIHN0YXJ0LCBlbmQpOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RXhwcmVz
c2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7
CisgICAgVHJlZUV4cHJlc3Npb24gbm9kZSA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24oY29u
dGV4dCk7CisgICAgZmFpbElmRmFsc2Uobm9kZSwgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9uIik7
CisgICAgY29udGV4dC5zZXRFbmRPZmZzZXQobm9kZSwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5v
ZmZzZXQpOworICAgIHJldHVybiBub2RlOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFt
ZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9u
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQp
CiB7CkBAIC0xNzY4LDYgKzE5ODYsMzggQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVy
PiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KICAgICAg
ICAgfQogICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CiAgICAgfQorCisKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFNhdmVQb2ludCBzYXZlQXJy
b3dGdW5jdGlvblBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgYm9vbCBhcnJvd0Z1bmN0
aW9uRW1wdHlMaXN0ID0gZmFsc2U7CisgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAg
ICAgbmV4dCgpOworICAgICAgICBpZiAobWF0Y2goQ0xPU0VQQVJFTikpIHsKKyAgICAgICAgICAg
IG5leHQoKTsKKworICAgICAgICAgICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJT04pKQorICAgICAg
ICAgICAgICAgIGFycm93RnVuY3Rpb25FbXB0eUxpc3QgPSB0cnVlOworICAgICAgICB9CisKKyAg
ICAgICAgaWYgKCFhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0KQorICAgICAgICAgICAgcmVzdG9yZVNh
dmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICB9CisjZW5kaWYKKworI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgVHJlZUV4cHJlc3Npb24gbGhzID0g
cGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24oY29udGV4dCk7CisgICAgaWYgKCFhcnJvd0Z1bmN0
aW9uRW1wdHlMaXN0KSB7CisgICAgICAgIGZhaWxJZkZhbHNlKGxocywgIkNhbhlub3QgcGFyc2Ug
ZXhwcmVzc2lvbiIpOworICAgICAgICBpZiAoaW5pdGlhbE5vbkxIU0NvdW50ICE9IG1fbm9uTEhT
Q291bnQpIHsKKyAgICAgICAgICAgIGlmIChtX3Rva2VuLm1fdHlwZSA+PSBFUVVBTCAmJiBtX3Rv
a2VuLm1fdHlwZSA8PSBPUkVRVUFMKQorICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbCgiTGVm
dCBoYW5kIHNpZGUgb2Ygb3BlcmF0b3IgJyIsIGdldFRva2VuKCksICInIG11c3QgYmUgYSByZWZl
cmVuY2UiKTsKKworICAgICAgICAgICAgcmV0dXJuIGxoczsKKyAgICAgICAgfQorICAgIH0KKyNl
bHNlCisKICAgICBUcmVlRXhwcmVzc2lvbiBsaHMgPSBwYXJzZUNvbmRpdGlvbmFsRXhwcmVzc2lv
bihjb250ZXh0KTsKICAgICBmYWlsSWZGYWxzZShsaHMsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lv
biIpOwogICAgIGlmIChpbml0aWFsTm9uTEhTQ291bnQgIT0gbV9ub25MSFNDb3VudCkgewpAQCAt
MTc3Niw3ICsyMDI2LDE2IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBUcmVlQnVpbGRlcj4gVHJlZUV4
cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXNzaWdubWVuCiAKICAgICAgICAgcmV0
dXJuIGxoczsKICAgICB9CisjZW5kaWYKICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIGlmIChtYXRjaChBUlJPV0ZVTkNUSU9OKSkgeworICAgICAgICByZXN0
b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICBUcmVlRXhwcmVz
c2lvbiBsaHMgPSBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKGNvbnRleHQpOworICAgICAgICBy
ZXR1cm4gbGhzOworICAgIH0KKyNlbmRpZgorCiAgICAgaW50IGFzc2lnbm1lbnRTdGFjayA9IDA7
CiAgICAgT3BlcmF0b3Igb3A7CiAgICAgYm9vbCBoYWRBc3NpZ25tZW50ID0gZmFsc2U7CkBAIC0y
MjA3LDYgKzI0NjYsMjMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVz
c2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAgcmV0dXJu
IGNvbnRleHQudGhpc0V4cHIobG9jYXRpb24pOwogICAgIH0KICAgICBjYXNlIElERU5UOiB7Cisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgU2F2ZVBvaW50IHNh
dmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICAgICAgSlNUZXh0
UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICAgICAgY29uc3QgSWRl
bnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKKyAgICAgICAgSlNUb2tlbkxv
Y2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CisgICAgICAgIG5leHQoKTsKKworICAg
ICAgICBpZiAoIW1hdGNoKEFSUk9XRlVOQ1RJT04pKSB7CisgICAgICAgICAgICBjdXJyZW50U2Nv
cGUoKS0+dXNlVmFyaWFibGUoaWRlbnQsIG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmlk
ZW50KTsKKyAgICAgICAgICAgIG1fbGFzdElkZW50aWZpZXIgPSBpZGVudDsKKyAgICAgICAgICAg
IHJldHVybiBjb250ZXh0LmNyZWF0ZVJlc29sdmUobG9jYXRpb24sIGlkZW50LCBzdGFydCk7Cisg
ICAgICAgIH0KKworICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9p
bnQpOworICAgICAgICBUcmVlRXhwcmVzc2lvbiBsaHMgPSBwYXJzZUFycm93RnVuY3Rpb25XcmFw
cGVyKGNvbnRleHQpOworICAgICAgICByZXR1cm4gbGhzOworI2Vsc2UKICAgICAgICAgSlNUZXh0
UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKICAgICAgICAgY29uc3QgSWRl
bnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgSlNUb2tlbkxv
Y2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CkBAIC0yMjE0LDYgKzI0OTAsNyBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZVByaW1hcnlFeHByZQogICAgICAgICBjdXJyZW50U2NvcGUoKS0+dXNlVmFyaWFi
bGUoaWRlbnQsIG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmlkZW50KTsKICAgICAgICAg
bV9sYXN0SWRlbnRpZmllciA9IGlkZW50OwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVS
ZXNvbHZlKGxvY2F0aW9uLCBpZGVudCwgc3RhcnQpOworI2VuZGlmCiAgICAgfQogICAgIGNhc2Ug
U1RSSU5HOiB7CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2Rh
dGEuaWRlbnQ7CkBAIC0yMzgwLDYgKzI2NTcsMzIgQEAgZW5kTWVtYmVyRXhwcmVzc2lvbjoKICAg
ICByZXR1cm4gYmFzZTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9u
V3JhcHBlcihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBUcmVlRXhwcmVzc2lvbiBiYXNl
ID0gMDsKKyAgICBKU1RleHRQb3NpdGlvbiBleHByZXNzaW9uU3RhcnQgPSB0b2tlblN0YXJ0UG9z
aXRpb24oKTsKKyAgICBpbnQgbmV3Q291bnQgPSAwOworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2Nh
dGlvbjsKKworICAgIGlmIChtYXRjaChJREVOVCkgfHwgbWF0Y2goT1BFTlBBUkVOKSkgeworICAg
ICAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2VuU3RhcnQoKTsKKyAgICAg
ICAgbG9jYXRpb24gPSB0b2tlbkxvY2F0aW9uKCk7CisgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5m
bzxUcmVlQnVpbGRlcj4gaW5mbzsKKyAgICAgICAgaW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5
TmFtZXMtPm51bGxJZGVudGlmaWVyOworICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VBcnJvd0Z1
bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk1vZGUsIGluZm8pKSwgIkNhbm5vdCBwYXJzZSBm
dW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgICAgIGJhc2UgPSBjb250ZXh0LmNyZWF0ZUFycm93
RnVuY3Rpb25FeHByKGxvY2F0aW9uLCBpbmZvLCBmdW5jdGlvbktleXdvcmRTdGFydCk7CisgICAg
fSBlbHNlCisgICAgICAgIGJhc2UgPSBwYXJzZVByaW1hcnlFeHByZXNzaW9uKGNvbnRleHQpOwor
CisgICAgZmFpbElmRmFsc2UoYmFzZSwgIkNhbm5vdCBwYXJzZSBiYXNlIGV4cHJlc3Npb24iKTsK
KyAgICB3aGlsZSAobmV3Q291bnQtLSkKKyAgICAgICAgYmFzZSA9IGNvbnRleHQuY3JlYXRlTmV3
RXhwcihsb2NhdGlvbiwgYmFzZSwgZXhwcmVzc2lvblN0YXJ0LCBsYXN0VG9rZW5FbmRQb3NpdGlv
bigpKTsKKyAgICByZXR1cm4gYmFzZTsKK30KKyNlbmRpZgorCiBzdGF0aWMgY29uc3QgY2hhciog
b3BlcmF0b3JTdHJpbmcoYm9vbCBwcmVmaXgsIHVuc2lnbmVkIHRvaykKIHsKICAgICBzd2l0Y2gg
KHRvaykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKaW5kZXggNTAxYzAzNjQ0
ZDU1OTdiOGExYTFhZjNlOWY5YzgyZTE4NGVkMmQ4Yy4uODNlYzFhY2E2MDYxNWI5MjY2M2MwMzBh
MmQ2MTY0ODU3MWVjNjk5OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCkBA
IC04MCw2ICs4MCw5IEBAIGNsYXNzIFNvdXJjZUNvZGU7CiBDT01QSUxFX0FTU0VSVChMYXN0VW50
YWdnZWRUb2tlbiA8IDY0LCBMZXNzVGhhbjY0VW50YWdnZWRUb2tlbnMpOwogCiBlbnVtIFNvdXJj
ZUVsZW1lbnRzTW9kZSB7IENoZWNrRm9yU3RyaWN0TW9kZSwgRG9udENoZWNrRm9yU3RyaWN0TW9k
ZSB9OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitlbnVtIEZ1bmN0aW9u
UGFyc2VUeXBlIHsgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSwgQXJyb3dGdW5jdGlvblBhcnNl
VHlwZSB9OworI2VuZGlmCiBlbnVtIEZ1bmN0aW9uUmVxdWlyZW1lbnRzIHsgRnVuY3Rpb25Ob1Jl
cXVpcmVtZW50cywgRnVuY3Rpb25OZWVkc05hbWUgfTsKIGVudW0gRnVuY3Rpb25QYXJzZU1vZGUg
ewogICAgIEZ1bmN0aW9uTW9kZSwKQEAgLTcwMCw5ICs3MDMsMTUgQEAgcHJpdmF0ZToKICAgICAg
ICAgfQogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KLSAgICAKKworI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlU291cmNlRWxlbWVudHMgcGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYsIFNv
dXJjZUVsZW1lbnRzTW9kZSwgRnVuY3Rpb25QYXJzZVR5cGUgdHlwZSA9IFN0YW5kYXJkRnVuY3Rp
b25QYXJzZVR5cGUpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRl
bWVudCBwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJl
Y3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMCwgRnVuY3Rpb25QYXJz
ZVR5cGUgIGZ1bmN0aW9uUGFyc2VUeXBlID0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7Cisj
ZWxzZQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRz
IHBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUpOwog
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0YXRl
bWVudChUcmVlQnVpbGRlciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVk
KiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMCk7CisjZW5kaWYKKwogI2lmIEVOQUJMRShFUzZf
Q0xBU1NfU1lOVEFYKQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRl
bWVudCBwYXJzZUNsYXNzRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImKTsKICNlbmRpZgpAQCAtNzI3
LDYgKzczNiw5IEBAIHByaXZhdGU6CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlU3RhdGVtZW50IHBhcnNlSWZTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VCbG9ja1N0YXRlbWVudChU
cmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJl
c3Npb24gcGFyc2VFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVF
eHByZXNzaW9uIHBhcnNlQXJyb3dFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CisjZW5kaWYKICAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlQXNzaWdu
bWVudEV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VDb25kaXRpb25hbEV4cHJl
c3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFM
V0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VCaW5hcnlFeHByZXNzaW9uKFRyZWVCdWls
ZGVyJik7CkBAIC03NDYsNiArNzU4LDEzIEBAIHByaXZhdGU6CiAgICAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZVZhckRlY2xhcmF0aW9uTGlzdChUcmVl
QnVpbGRlciYsIGludCYgZGVjbGFyYXRpb25zLCBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuJiBs
YXN0UGF0dGVybiwgVHJlZUV4cHJlc3Npb24mIGxhc3RJbml0aWFsaXplciwgSlNUZXh0UG9zaXRp
b24mIGlkZW50U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0U3RhcnQsIEpTVGV4dFBvc2l0aW9u
JiBpbml0RW5kLCBWYXJEZWNsYXJhdGlvbkxpc3RDb250ZXh0KTsKICAgICB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlQ29uc3REZWNsTGlzdCBwYXJzZUNvbnN0
RGVjbGFyYXRpb25MaXN0KFRyZWVCdWlsZGVyJik7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRl
bWVudCBwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlQXJyb3dGdW5jdGlv
bldyYXBwZXIoVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IE5FVkVSX0lOTElORSBib29sIHBhcnNlQXJyb3dGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImLCBG
dW5jdGlvblBhcnNlTW9kZSwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYpOworICAg
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRnVuY3Rpb25C
b2R5IHBhcnNlQXJyb3dGdW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImKTsKKyNlbmRpZgorCiAgICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0
aW9uUGF0dGVybiBjcmVhdGVCaW5kaW5nUGF0dGVybihUcmVlQnVpbGRlciYsIERlY29uc3RydWN0
aW9uS2luZCwgY29uc3QgSWRlbnRpZmllciYsIGludCBkZXB0aCwgSlNUb2tlbik7CiAgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9u
UGF0dGVybiBwYXJzZURlY29uc3RydWN0aW9uUGF0dGVybihUcmVlQnVpbGRlciYsIERlY29uc3Ry
dWN0aW9uS2luZCwgaW50IGRlcHRoID0gMCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiB0cnlQYXJzZURlY29u
c3RydWN0aW9uUGF0dGVybkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKQEAgLTc2Niw3ICs3ODUs
MTIgQEAgcHJpdmF0ZToKICAgICAgICAgfQogICAgICAgICByZXR1cm4gYWxsb3dBdXRvbWF0aWNT
ZW1pY29sb24oKTsKICAgICB9Ci0gICAgCisKKyAgICB2b2lkIHNldEVuZE9mU3RhdGVtZW50KCkK
KyAgICB7CisgICAgICAgIG1fbGV4ZXItPnNldFRva2VuUG9zaXRpb24oJm1fdG9rZW4pOworICAg
IH0KKwogICAgIGJvb2wgY2FuUmVjdXJzZSgpCiAgICAgewogICAgICAgICByZXR1cm4gbV92bS0+
aXNTYWZlVG9SZWN1cnNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlclRva2Vucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJU
b2tlbnMuaAppbmRleCA2NTIwNTVhNThlZDRlYjNkZWM4ZWFkY2RhYmM0MWJjZWFiYWYwOTFlLi4x
NzkxYjkwMzk0YTAyZTllMDZlNTNhMjFkODE3MmUxODgwYWU5OTBhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKQEAgLTc1LDYgKzc1LDkgQEAgZW51bSBK
U1Rva2VuVHlwZSB7CiAgICAgRklOQUxMWSwKICAgICBERUJVR0dFUiwKICAgICBFTFNFLAorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgQVJST1dGVU5DVElPTiwKKyNl
bmRpZgogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogICAgIENMQVNTVE9LRU4sCiAgICAg
RVhURU5EUywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNl
Q29kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmgKaW5kZXgg
NzNkMjNkYjgyYWYyNWVhNDZjMGY4OTc4NWNlNDI0YmI2MGViNjFhNy4uN2U3MmM0NDBlODllMzUx
ZjM4M2Y3MDRjMWY3MDM0MWM1ODg4ZTEwZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9Tb3VyY2VDb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9Tb3VyY2VDb2RlLmgKQEAgLTEwNCw2ICsxMDQsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAg
ICAgaW50IGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fZW5kQ2hhciAtIG1fc3RhcnRDaGFyOyB9
CiAgICAgICAgIAogICAgICAgICBTb3VyY2VDb2RlIHN1YkV4cHJlc3Npb24odW5zaWduZWQgb3Bl
bkJyYWNlLCB1bnNpZ25lZCBjbG9zZUJyYWNlLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1
bW4pOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIFNvdXJj
ZUNvZGUgc3ViRXhwcmVzc2lvbkFycm93RnVuY3Rpb24odW5zaWduZWQgb3BlbkJyYWNlLCB1bnNp
Z25lZCBjbG9zZUJyYWNlLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOworI2VuZGlm
CiAKICAgICBwcml2YXRlOgogICAgICAgICBSZWZQdHI8U291cmNlUHJvdmlkZXI+IG1fcHJvdmlk
ZXI7CkBAIC0xMTgsNiArMTIxLDE2IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4g
U291cmNlQ29kZShTdHJpbmdTb3VyY2VQcm92aWRlcjo6Y3JlYXRlKHNvdXJjZSwgdXJsLCBzdGFy
dFBvc2l0aW9uKSwgc3RhcnRQb3NpdGlvbi5tX2xpbmUub25lQmFzZWRJbnQoKSwgc3RhcnRQb3Np
dGlvbi5tX2NvbHVtbi5vbmVCYXNlZEludCgpKTsKICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlubGluZSBTb3VyY2VDb2RlIFNvdXJjZUNvZGU6OnN1
YkV4cHJlc3Npb25BcnJvd0Z1bmN0aW9uKHVuc2lnbmVkIG9wZW5CcmFjZSwgdW5zaWduZWQgY2xv
c2VCcmFjZSwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKQorICAgIHsKKyAgICAgICAg
QVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW29wZW5CcmFjZV0gPT0gJz0nICYmIHByb3ZpZGVy
KCktPnNvdXJjZSgpW29wZW5CcmFjZSArIDFdID09ICc+Jyk7CisgICAgICAgIEFTU0VSVChwcm92
aWRlcigpLT5zb3VyY2UoKVtjbG9zZUJyYWNlIC0gMV0gPT0gJzsnIHx8IHByb3ZpZGVyKCktPnNv
dXJjZSgpW2Nsb3NlQnJhY2UgLSAxXSA9PSAnLCcgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbY2xv
c2VCcmFjZSAtIDFdID09ICcpJyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtjbG9zZUJyYWNlIC0g
MV0gPT0gJ10nIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2Nsb3NlQnJhY2UgLSAxXSA9PSAnfScp
OworICAgICAgICBzdGFydENvbHVtbiArPSAxOyAvLyBDb252ZXJ0IHRvIGJhc2UgMS4KKyAgICAg
ICAgcmV0dXJuIFNvdXJjZUNvZGUocHJvdmlkZXIoKSwgb3BlbkJyYWNlLCBjbG9zZUJyYWNlIC0g
MSwgZmlyc3RMaW5lLCBzdGFydENvbHVtbik7CisgICAgfQorI2VuZGlmCisKICAgICBpbmxpbmUg
U291cmNlQ29kZSBTb3VyY2VDb2RlOjpzdWJFeHByZXNzaW9uKHVuc2lnbmVkIG9wZW5CcmFjZSwg
dW5zaWduZWQgY2xvc2VCcmFjZSwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKQogICAg
IHsKICAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW29wZW5CcmFjZV0gPT0gJ3sn
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tl
ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKaW5kZXgg
NjNiMTM0OGZlMzA1ZGM0NjlhNjExZmJjYzQxMDZhYjM4ODNmMGRhMi4uMzNhYWE5M2VkZWFlZTYy
NDhjNGM1ZGJmZjg1ZDBiZTcyMmQwN2E3NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9TeW50YXhDaGVja2VyLmgKQEAgLTE2OCw2ICsxNjgsOSBAQCBwdWJsaWM6CiAjZW5kaWYK
ICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0
aW9uJiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JiwgaW50KSB7IHJl
dHVybiBGdW5jdGlvbkV4cHI7IH0KICAgICBpbnQgY3JlYXRlRnVuY3Rpb25Cb2R5KGNvbnN0IEpT
VG9rZW5Mb2NhdGlvbiYsIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGludCwgaW50LCBib29sKSB7
IHJldHVybiBGdW5jdGlvbkJvZHlSZXN1bHQ7IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUFycm93RnVuY3Rpb25FeHByKGNv
bnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50YXhDaGVj
a2VyPiYsIGludCkgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9CisjZW5kaWYKICAgICB2b2lkIHNl
dEZ1bmN0aW9uTmFtZVN0YXJ0KGludCwgaW50KSB7IH0KICAgICBpbnQgY3JlYXRlQXJndW1lbnRz
KCkgeyByZXR1cm4gQXJndW1lbnRzUmVzdWx0OyB9CiAgICAgaW50IGNyZWF0ZUFyZ3VtZW50cyhp
bnQpIHsgcmV0dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29y
ZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBiNzljNGMyNWQy
ODVlMmVhYmIwMDNlZmE5MWY4ZGQ0YjRjZjY1Mjg4Li42OWJkOWFiMDBlMGQ1MTVkM2MxNDEzMDRh
NDI2YWU1YjViMjRkYmUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FO
VkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwog
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5B
QkxFX0VTNl9DTEFTU19TWU5UQVggPSA7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
ID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRF
UklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVO
QUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsgPSBFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLOwpAQCAtMjA4LDQgKzIwOSw0IEBAIEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7CiAKIEVO
QUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9V
VF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1F
TlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNf
UEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykg
JChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQo
RU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5B
QkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVO
QUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChF
TkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJM
RV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NT
M19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJ
U0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJP
QVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJB
TlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRF
UlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChF
TkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRM
SU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09S
S0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNT
X1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9J
T1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9M
RUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVE
SU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJM
RV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFf
U09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kp
ICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxF
X1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVO
VFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxF
X1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkg
JChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVS
WSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChF
TkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NV
QlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJU
RVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFU
RV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkg
JChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZB
TFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFC
TEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykg
JChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VC
VlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJM
RV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlP
VVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVS
RV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFC
TEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NB
Q0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19Q
Uk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5U
QVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05f
QlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQ
VEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklF
TlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJ
T05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykg
JChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFC
TEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChF
TkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5B
QkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFC
TEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikg
JChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQo
RU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQ
UkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9U
SU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0Vf
Q09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5B
QkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xF
R0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZF
VENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChF
TkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9N
RVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxF
KSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hX
Q09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVH
SU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BS
T1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVP
VEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FV
VE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElP
Tl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JP
TExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkp
ICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZH
X09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVO
QUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VS
U0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJM
RV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9X
RUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9X
RUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykg
JChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9Y
U0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NB
VFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01P
REUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBiNzljNGMyNWQyODVlMmVhYmIwMDNlZmE5MWY4ZGQ0
YjRjZjY1Mjg4Li42OWJkOWFiMDBlMGQ1MTVkM2MxNDEzMDRhNDI2YWU1YjViMjRkYmUzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFC
TEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19T
WU5UQVggPSA7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9D
T05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQk9YX0RF
Q09SQVRJT05fQlJFQUsgPSBFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLOwpAQCAtMjA4
LDQgKzIwOSw0IEBAIEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7CiAKIEVOQUJMRV9TQVRVUkFURURf
TEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwog
Ci1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
KSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChF
TkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVf
Q0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NM
QVNTX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhU
KSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJ
VElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9M
QVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdF
X1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JT
X0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJM
RV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5B
QkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQo
RU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQo
RU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChF
TkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxF
X0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJ
T04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9J
Q09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVf
SU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdF
VCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0la
SU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FD
WV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xF
VFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5B
QkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJM
RV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRN
TCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVO
VF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykg
JChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BV
QkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFU
SU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RF
X0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVC
QkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZ
TlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQo
RU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RF
TEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVO
QUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9V
Q0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8p
ICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9W
SUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAk
KEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVS
RV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQo
RU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVO
QUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykg
JChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05T
KSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklO
RykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5B
QkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxF
X0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJM
RV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFC
TEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9D
U1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19U
RVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lC
SUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJE
X1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNG
RVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNf
TEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9B
UEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFC
TEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5H
KSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VS
UykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BM
QVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1Nf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdB
Q1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8p
ICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9N
QVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09V
UkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAk
KEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJ
R0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BP
SU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMp
ICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JF
UVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChF
TkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkg
JChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRM
RV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIp
ICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9F
TEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChF
TkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVF
KSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChF
TkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRU
X1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9G
VExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRf
QVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcg
Yi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpp
bmRleCBiNzljNGMyNWQyODVlMmVhYmIwMDNlZmE5MWY4ZGQ0YjRjZjY1Mjg4Li42OWJkOWFiMDBl
MGQ1MTVkM2MxNDEzMDRhNDI2YWU1YjViMjRkYmUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUs
NyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FO
VkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSA7CitFTkFCTEVfRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9D
U1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsgPSBFTkFCTEVfQ1NT
X0JPWF9ERUNPUkFUSU9OX0JSRUFLOwpAQCAtMjA4LDQgKzIwOSw0IEBAIEVOQUJMRV9MTElOVF9D
X0xPT1AgPSA7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVf
U0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJM
RV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVf
QUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQo
RU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAk
KEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJ
T05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9B
REFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9P
UklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19S
RUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBF
UykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChF
TkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikg
JChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQo
RU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChF
TkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RP
UikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIp
ICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURf
REVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RP
TV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJ
Q0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05U
SCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQo
RU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZF
TlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxF
X0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BS
RUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkg
JChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1ND
QUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9S
X0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9Q
TFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxF
X1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVf
UVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNU
X0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xV
VElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19T
Q1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19B
UEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVf
U1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAk
KEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9V
U0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVO
QUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJM
RV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJM
RV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlO
RykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJM
RV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxF
X1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9O
X01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1ND
Uk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1F
TlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQo
RU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxF
X0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1Nf
Qk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVf
Q1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxF
X0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQo
RU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFC
TEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElO
RV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hF
TUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNU
X0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNf
RUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5U
U19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBU
RURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FE
X0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5B
QkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJ
RERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lO
Q09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9T
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9J
T1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVO
QUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRS
T0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9V
U0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFC
TEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5B
QkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlT
RVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElT
VCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVO
QUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChF
TkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQo
RU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFC
TEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05U
UykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJf
REVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9T
SVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5H
KSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVP
X1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01F
RElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQ
TEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFC
TEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1F
T1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xP
T1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9f
UFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1
cmVzLmNtYWtlIGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCmluZGV4IDg4NzI2
MTcyNjQwODM0NGFiMDI1MmM5YzBlZjFmYzk3N2QwNjNmYmEuLjA1MDAzNzJjYjg0NTRkODQ4Njdl
NjQyZTY5NzcwMWNkZDA5ZjI4YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0
dXJlcy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKQEAgLTI4
LDYgKzI4LDcgQEAgbWFjcm8oV0VCS0lUX09QVElPTl9CRUdJTikKICAgICBXRUJLSVRfT1BUSU9O
X0RFRklORShFTkFCTEVfQ0FOVkFTX1BST1hZICJUb2dnbGUgQ2FudmFzUHJveHkgc3VwcG9ydCIg
T0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyAi
VG9nZ2xlIE1lc3NhZ2VDaGFubmVsIGFuZCBNZXNzYWdlUG9ydCBzdXBwb3J0IiBPTikKICAgICBX
RUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCAiVG9nZ2xlIEVTNiBj
bGFzcyBzeW50YXggc3VwcG9ydCIgT0ZGKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJM
RV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggIlRvZ2dsZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3lu
dGF4IHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORyAiVG9nZ2xlIGNvbnRlbnQgZmlsdGVyaW5nIHN1cHBvcnQiIE9GRikKICAgICBX
RUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ09OVEVYVF9NRU5VUyAiVG9nZ2xlIENvbnRleHQg
TWVudSBzdXBwb3J0IiBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ1NQX05F
WFQgIlRvZ2dsZSBDb250ZW50IFNlY3VyaXR5IFBvbGljeSAxLjEgc3VwcG9ydCIgT0ZGKQpkaWZm
IC0tZ2l0IGEvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UgYi9Tb3VyY2UvY21ha2Vjb25maWcu
aC5jbWFrZQppbmRleCAxYTc0NWNhNWNkODlmYjIwMDgyZjc3YmMwMjY4OGE5YjBiNGJkNGI5Li4z
MTA2YjVlYTA4NGIzODQzMWQ5NTk5NDRjNmNhMTgxZjJmY2UyMWZmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvY21ha2Vjb25maWcuaC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQpA
QCAtMTMsNiArMTMsNyBAQAogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NBTlZBU19QUk9YWQogI2Nt
YWtlZGVmaW5lMDEgRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HCiAjY21ha2VkZWZpbmUwMSBFTkFC
TEVfRVM2X0NMQVNTX1NZTlRBWAorI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0VTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWAogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HCiAjY21h
a2VkZWZpbmUwMSBFTkFCTEVfQ09OVEVYVF9NRU5VUwogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NS
RURFTlRJQUxfU1RPUkFHRQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hh
bmdlTG9nCmluZGV4IGY1MmM5Njk5YWMwM2FhZjc1YTU5OWRkYWY2MzNmZTc2ZTg4NjllM2EuLmFi
ZDg3NTQxYTM0YmUwMWM1NTVmMmE0YWZiMzIxNjdjOGEyMTQ1MWUgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNS0w
Mi0yNyAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisgICAgICAg
IFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmZWF0dXJlIGZsYWcgRU5B
QkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rpb24KKworICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbToKKwogMjAxNS0wMi0yNiAgU2Ft
IFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIENoZWNrIGluIG1pc3NpbmcgV2Vi
RWRpdGluZ1Rlc3Rlci54Y2NvbmZpZyBmaWxlLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1
cmVMaXN0LnBtCmluZGV4IDM1NDI1ZjVlNGI1NTVhZjMwMDMyZDIxZWUzY2FlYzY4NTRmNzlhNGIu
LmE2YmM5YThmZWJkMWFlNGIyYzc1NjJjZDUxYTkyYzM4YzYzOWY5MWYgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KQEAgLTQ0LDYgKzQ0LDcgQEAgQkVHSU4gewogbXkg
KAogICAgICR0aHJlZURSZW5kZXJpbmdTdXBwb3J0LAogICAgICRhY2NlbGVyYXRlZDJEQ2FudmFz
U3VwcG9ydCwKKyAgICAkYXJyb3dmdW5jdGlvblN5bnRheCwKICAgICAkYmF0dGVyeVN0YXR1c1N1
cHBvcnQsCiAgICAgJGNhbnZhc1BhdGhTdXBwb3J0LAogICAgICRjYW52YXNQcm94eVN1cHBvcnQs
CkBAIC0xNjksNiArMTcwLDkgQEAgbXkgQGZlYXR1cmVzID0gKAogICAgIHsgb3B0aW9uID0+ICJj
bGFzcy1zeW50YXgiLCBkZXNjID0+ICJUb2dnbGUgRVM2IGNsYXNzIHN5bnRheCBzdXBwb3J0IiwK
ICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgiLCBkZWZhdWx0ID0+IDAs
IHZhbHVlID0+IFwkY2xhc3NTeW50YXggfSwKIAorICAgIHsgb3B0aW9uID0+ICJhcnJvd2Z1bmN0
aW9uLXN5bnRheCIsIGRlc2MgPT4gIlRvZ2dsZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1
cHBvcnQiLAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
IiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGFycm93ZnVuY3Rpb25TeW50YXggfSwKKwogICAg
IHsgb3B0aW9uID0+ICJjc3AtbmV4dCIsIGRlc2MgPT4gIlRvZ2dsZSBDb250ZW50IFNlY3VyaXR5
IFBvbGljeSAxLjEgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9DU1BfTkVYVCIs
IGRlZmF1bHQgPT4gaXNHdGsoKSwgdmFsdWUgPT4gXCRjc3BOZXh0U3VwcG9ydCB9LAogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggMDgxMTczNGVmZjFlNDcwYzFhZjUyZDVmYjUzZGI0YTJhZjdhYjMwZi4uNmFlYTkxNDhjNjRm
ODlhNDhjZTM3MmY2MzIyOWU2OTZmYTRmZDM1YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE1
LTAyLTI3ICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAg
ICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICoganMvYXJyb3dmdW5jdGlvbi1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL2Fycm93ZnVuY3Rpb24uaHRtbDogQWRk
ZWQuCisgICAgICAgICoganMvc2NyaXB0LXRlc3RzL2Fycm93ZnVuY3Rpb24uanM6IEFkZGVkLgor
ICAgICAgICAoYXJyb3dGdW5jdGlvbldyYXBwZXIpOgorICAgICAgICAoYXJyb3dGdW5jdGlvbldy
YXBwZXIyKToKKwogMjAxNS0wMi0yNiAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FA
YXBwbGUuY29tPgogCiAgICAgICAgIENsZWFudXAgUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyIGNs
YXNzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvYXJyb3dmdW5jdGlvbi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9qcy9hcnJvd2Z1bmN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41YjM5ZTY2NTg3ZjgwOWJjMmI1MDZiMDkxZmZkOWI0OWI0ZDI1ODEzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvanMvYXJyb3dmdW5jdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwzNCBAQAorVGhpcyB0ZXN0IGNoZWNrIHRoZSBiZWhhdmlvciBvZiB0aGUgb2YgYXJyb3cgZnVu
Y3Rpb24odGhpbiBjYXNlKQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBh
cnJvd0Z1bmN0aW9uMCgxMCkgaXMgMTEKK1BBU1MgYXJyb3dGdW5jdGlvbjEoMTApIGlzIDExCitQ
QVNTIGFycm93RnVuY3Rpb24yKCkgaXMgMTAwMAorUEFTUyBhcnJvd0Z1bmN0aW9uMygxMCwgMikg
aXMgMTIKK1BBU1MgYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMCkgaXMgMTAKK1BBU1MgYXJy
b3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMCwgMjApIGlzIDEwCitQQVNTIGFycm93RnVuY3Rpb25X
cmFwcGVyKHggPT4gMTAgKyAzMCkgaXMgNDAKK1BBU1MgYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9
PiAxMCArIDMwLCAxMDAwKSBpcyA0MAorUEFTUyBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IHgg
KyAxLCAyMSkgaXMgMjIKK1BBU1MgYXJyb3dGdW5jdGlvbldyYXBwZXIoKHgpID0+IHggKyAxLCAy
MSkgaXMgMjIKK1BBU1MgYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwKSBpcyAxMDAKK1BB
U1MgYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwLCAxMSkgaXMgMTAwCitQQVNTIGFycm93
RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCArIDEwKSBpcyAxMTAKK1BBU1MgYXJyb3dGdW5jdGlv
bldyYXBwZXIoKCkgPT4gMTAwICsgMTAsIDEyKSBpcyAxMTAKK1BBU1MgYXJyb3dGdW5jdGlvbldy
YXBwZXIyKCh4LCAgeSkgPT4geCArIHksIDIxLCA1KSBpcyAyNgorUEFTUyBhcnJvd0Z1bmN0aW9u
NCgxMDEpIGlzIDEwMgorUEFTUyB4eXoxIGlzIDEwMTAxCitQQVNTIGFycm93RnVuY3Rpb0FycmF5
MFswXSgxMCkgaXMgMTAwCitQQVNTIGFycm93RnVuY3Rpb0FycmF5MVswXSgxMCkgaXMgMTEKK1BB
U1MgYXJyb3dGdW5jdGlvQXJyYXkxWzFdKDExKSBpcyAxMworUEFTUyBhcnJvd0Z1bmN0aW9BcnJh
eTJbMF0oMTEpIGlzIDEyCitQQVNTIGFycm93RnVuY3Rpb0FycmF5MlsxXSgxMSkgaXMgMTMKK1BB
U1MgYXJyb3dGdW5jdGlvQXJyYXkzWzBdKDExKSBpcyAxMDEKK1BBU1MgYXJyb3dGdW5jdGlvQXJy
YXkzWzFdKDExKSBpcyAxMjMyMworUEFTUyBhcnJvd0Z1bmN0aW9uT2JqLmZ1bmMoMTEpIGlzIDIz
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvYXJyb3dmdW5jdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
anMvYXJyb3dmdW5jdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUzNzJmMGY3MmEwMDRhY2VhNzE3ODFl
NmZlNDRkODIzNjlmZjYwMDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9hcnJv
d2Z1bmN0aW9uLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBz
cmM9InNjcmlwdC10ZXN0cy9hcnJvd2Z1bmN0aW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9hcnJvd2Z1bmN0aW9u
LmpzIGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2Fycm93ZnVuY3Rpb24uanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYWY5ZTIyMzEzMTU2YmIzYzQ4OWVmMTQ1NDIxZDc5MzAxYjQ2NmMwYQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9hcnJvd2Z1bmN0aW9uLmpzCkBA
IC0wLDAgKzEsNDggQEAKK2Rlc2NyaXB0aW9uKAorIlRoaXMgdGVzdCBjaGVjayB0aGUgYmVoYXZp
b3Igb2YgdGhlICBvZiBhcnJvdyBmdW5jdGlvbih0aGluIGNhc2UpIgorKTsKKwordmFyIGFycm93
RnVuY3Rpb24wID0gdiA9PiB2ICsgMTsKK3ZhciBhcnJvd0Z1bmN0aW9uMSA9ICh2KSA9PiB2ICsg
MTsKK3ZhciBhcnJvd0Z1bmN0aW9uMiA9ICgpID0+IDEwMDA7Cit2YXIgYXJyb3dGdW5jdGlvbjMg
PSAodiwgeCkgPT4gdiArIHg7Cit2YXIgYXJyb3dGdW5jdGlvbldyYXBwZXIgPSBmdW5jdGlvbiAo
Y2wsIHBhcmFtdGVyKSB7IHJldHVybiBjbChwYXJhbXRlcik7IH07Cit2YXIgYXJyb3dGdW5jdGlv
bldyYXBwZXIyID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRlcjEsIHBhcmFtdGVyMikgeyByZXR1cm4g
Y2wocGFyYW10ZXIxLCBwYXJhbXRlcjIpOyB9OwordmFyIGFycm93RnVuY3Rpb240ID0gdiA9PiB2
ICsgMSwgeHl6MSA9IDEwMTAxOwordmFyIGFycm93RnVuY3Rpb0FycmF5MCA9IFt2ID0+IHYgKiAx
MF07Cit2YXIgYXJyb3dGdW5jdGlvQXJyYXkxID0gW3YgPT4gdiArIDEsIHYgPT4gdiArIDJdOwor
dmFyIGFycm93RnVuY3Rpb0FycmF5MiA9IFsodikgPT4gdiArIDEsICh2KSA9PiB2ICsgMl07Cit2
YXIgYXJyb3dGdW5jdGlvQXJyYXkzID0gWygpID0+IDEwMSwgKCkgPT4gMTIzMjNdOwordmFyIGFy
cm93RnVuY3Rpb25PYmogPSB7ZnVuYyA6IHkgPT4geSArIDEyIH07CisvL05vdCBjb3ZlcmVkIGNh
c2VzCisvL3ZhciBhcnJvd0Z1bmN0aW9uNCA9IHYgPT4geyB2YXIgaW50PSAxMDA7IHJldHVybiB2
KmludDsgfTsKKy8vdmFyIGFycm93RnVuY3Rpb241ID0gKHYpID0+IHsgdmFyIGludD0gMTAwOyBy
ZXR1cm4gdippbnQ7IH07CisvL3ZhciBhcnJvd0Z1bmN0aW9uNiA9ICh2LCB4KSA9PiB7IHZhciBy
ZXN1bHQgPSB4ICogdjsgcmV0dXJuIHJlc3VsdDsgfTsKKworCitzaG91bGRCZSgiYXJyb3dGdW5j
dGlvbjAoMTApIiwgIjExIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvbjEoMTApIiwgIjExIik7
CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvbjIoKSIsICIxMDAwIik7CitzaG91bGRCZSgiYXJyb3dG
dW5jdGlvbjMoMTAsIDIpIiwgIjEyIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvbldyYXBwZXIo
eCA9PiAxMCkiLCAiMTAiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEw
LCAyMCkiLCAiMTAiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEwICsg
MzApIiwgIjQwIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMCArIDMw
LCAxMDAwKSIsICI0MCIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4geCAr
IDEsIDIxKSIsICIyMiIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb25XcmFwcGVyKCh4KSA9PiB4
ICsgMSwgMjEpIiwgIjIyIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4g
MTAwKSIsICIxMDAiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiAxMDAs
IDExKSIsICIxMDAiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiAxMDAg
KyAxMCkiLCAiMTEwIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAw
ICsgMTAsIDEyKSIsICIxMTAiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uV3JhcHBlcjIoKHgs
ICB5KSA9PiB4ICsgeSwgMjEsIDUpIiwgIjI2Iik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvbjQo
MTAxKSIsICIxMDIiKTsKK3Nob3VsZEJlKCJ4eXoxIiwgIjEwMTAxIik7CisKK3Nob3VsZEJlKCJh
cnJvd0Z1bmN0aW9BcnJheTBbMF0oMTApIiwgIjEwMCIpOworc2hvdWxkQmUoImFycm93RnVuY3Rp
b0FycmF5MVswXSgxMCkiLCAiMTEiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9BcnJheTFbMV0o
MTEpIiwgIjEzIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvQXJyYXkyWzBdKDExKSIsICIxMiIp
Oworc2hvdWxkQmUoImFycm93RnVuY3Rpb0FycmF5MlsxXSgxMSkiLCAiMTMiKTsKK3Nob3VsZEJl
KCJhcnJvd0Z1bmN0aW9BcnJheTNbMF0oMTEpIiwgIjEwMSIpOworc2hvdWxkQmUoImFycm93RnVu
Y3Rpb0FycmF5M1sxXSgxMSkiLCAiMTIzMjMiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uT2Jq
LmZ1bmMoMTEpIiwgIjIzIik7CmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5k
ZXggOGQ3ZGNiMmQ1NWRmZDI4YzVlNjI0MzFiY2ZkOTcxYTk1NWRkNmE2NC4uYmIzNTJhZGM5MDA1
YjczYzhiZDlkOTBhNDk3NzAwNmY0NmFkNDI5MyAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBi
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE1LTAyLTI3ICBTa2FjaGtvdiBBbGV4YW5k
ciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBh
cnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE0MDg1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlOgorICAgICAg
ICAqIFNvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlOgorCiAyMDE1LTAyLTI2ICBDc2FiYSBPc3p0
cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW0VGTF0gUmVtb3ZlIHVubmVj
ZXNzYXJ5IGNvbW1lbnQgYWZ0ZXIgcjE3OTExMAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247599</attachid>
            <date>2015-02-28 02:49:06 -0800</date>
            <delta_ts>2015-02-28 04:10:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150228124849.patch</filename>
            <type>text/plain</type>
            <size>71555</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwODE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
MmE2NGQxNDFjNmU5YjcyMjI4MjZlNmEzNDE3YTM3OGY5NTAzZWNjLi4yN2VjN2RiZDc5MDg3MGFh
MGRjZDdlMzkyNjEzMTIxNjkzYzBiYWJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NSBAQAorMjAxNS0wMi0yNyAgQWxleGFuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21h
aWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3lu
dGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4
NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICBBZGRlZCBmZWF0
dXJlIGZsYWcgRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rp
b24KKworICAgICAgICAqIHBhcnNlci9BU1RCdWlsZGVyLmg6CisgICAgICAgIChKU0M6OkFTVEJ1
aWxkZXI6OmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAgICAgQWRkZWQgZnVuY3Rpb24g
dGhhdCBjcmVhdGUgZXhwcmVzaW9uIGZvciBhcnJvdyBmdW5jdGlvbgorICAgICAgICAoSlNDOjpB
U1RCdWlsZGVyOjpjcmVhdGVBcnJvd0Z1bmNEZWNsU3RhdGVtZW50KToKKyAgICAgICAgQWRkZWQg
bWV0aG9kIHRvIGNyZWF0ZSBBcnJvdyBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjbG9zZSB0byBjb21t
b24gZnVuY3Rpb24gZGVjbGFyYXRpb24KKyAgICAgICAgCisgICAgICAgICogcGFyc2VyL0xleGVy
LmNwcDoKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24pOgorICAgICAg
ICBNZXRob2QgdGhhdCBhbGxvdyB0byBzZXQgY3VycmVjdCBwb3NpdGlvbiBmb3IgdGhlIHRvY2tl
biBvdXRzaWRlIHRoZSBMZXhlciBjbGFzCisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpsZXgpOgor
ICAgICAgICBNZXRob2QgY2hhbmdlZCB0byBzdXBwb3J0IG9mIHRoZSBhcnJvdyBmdW5jdGlvbgor
ICAgICAgICAqIHBhcnNlci9MZXhlci5oOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6c2V0VG9r
ZW5Qb3NpdGlvbik6CisgICAgICAgIERlY2xhcmF0aW9uIG9mIHRoZSBtZXRob2QgdGhhdCBhbGxv
dyB0byBzZXQgY3VycmVjdCBwb3NpdGlvbiBmb3IgdGhlIHRvY2tlbiBvdXRzaWRlIHRoZSBMZXhl
ciBjbGFzcyAKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFy
c2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMpOgorICAgICAgICBNb2RpZmllZCBt
ZXRob2QgdG8gc3VwcG9ydCB0d28gbWV0aG9kcyBvZiB0aGUgcGFyc2UganMgZnVuY3Rpb24uIFRo
ZSBmaXJzdCBzdGFuZGFyIGZ1bmN0aW9uIGFuZCBuZXcgdHlwZSBpcyBhcnJvdyBmdW5jdGlvbi4K
KyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlc3Npb24p
OgorCisgICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorICAgICAgICAoSlNDOjpTY29wZTo6ZGVj
bGFyZUJvdW5kUGFyYW1ldGVyKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpmaW5kQ2FjaGVkRnVu
Y3Rpb25JbmZvKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpzZXRFbmRPZlN0YXRlbWVudCk6Cisg
ICAgICAgIChKU0M6OlBhcnNlcjo6cmVzdG9yZVN0YXRlKToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlKToKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyVG9rZW5zLmg6Cisg
ICAgICAgICogcGFyc2VyL1NvdXJjZUNvZGUuaDoKKyAgICAgICAgKEpTQzo6U291cmNlQ29kZTo6
c3ViRXhwcmVzc2lvbkFycm93RnVuY3Rpb24pOgorICAgICAgICAqIHBhcnNlci9TeW50YXhDaGVj
a2VyLmg6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNyZWF0ZUFycm93RnVuY3Rpb25F
eHByKToKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6b3BlcmF0b3JTdGFja1BvcCk6CisK
IDIwMTUtMDItMjcgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgW0pTQ10gVXNlIHRoZSB3YXkgbnVtYmVyIGNvbnN0YW50cyBhcmUgd3JpdHRlbiB0byBo
ZWxwIHR5cGUgc3BlY3VsYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkYmZmNjYyYmFmMTVjNjQ4MThjM2Mx
OTg4YmJhODA1MjdlZjEzNzYzLi44ZWZkMWE3MzZkYmZkNGVjZmE2YTkyZDY4MmI3MTMwMjZkMDhj
MzdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTUtMDItMjcgIFNrYWNoa292IEFs
ZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQg
RVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dGVU5D
VElPTl9TWU5UQVggZm9yIGFycm93IGZ1bmN0aW9uCisgICAgICAgIEFkZGVkIHRlc3QgZm9yIGFy
cm93IGZ1bmN0aW9uCisKKyAgICAgICAgVGVzdDoganMvYXJyb3dmdW5jdGlvbi5odG1sCisgICAg
ICAgICAgICAgIGpzL3NjcmlwdC10ZXN0cy9hcnJvd2Z1bmN0aW9uLmpzCisgICAgICAgICAgICAg
IGpzL2Fycm93ZnVuY3Rpb24tZXhwZWN0ZWQudHh0CisKKyAgICAgICAgKiBDb25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxNS0wMi0yNyAgSHVuc2VvcCBKZW9uZyAg
PGhzODUuamVvbmdAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF1bR1RLXSBGaXggYnVpbGQg
YnJlYWsgYWZ0ZXIgcjE4MDc5MCwxODA3OTgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCAxNzZkMGYzOWRm
ZGM2ZWM5ODdmMzllNTU4ZDlkMTRkYzI3YjY1OTdiLi42NDE1NWI2YmVmMGViYWI2YjQwZGMzMzJm
NDMyMWFmN2FlNTYwZmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUt
MDItMjcgIFNrYWNoa292IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAg
ICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVO
QUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggZm9yIGFycm93IGZ1bmN0aW9uCisKKyAgICAg
ICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxNS0wMi0y
NiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbmFtZSBEYXRh
YmFzZU1hbmFnZXI6Om1hbmFnZXIoKSB0byBEYXRhYmFzZU1hbmFnZXI6OnNpbmdsZXRvbigpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKaW5kZXggMzVlODRmYzc4Y2E4OWZhMWUwMGRkZDFjY2FhNzM0YTNjNmQ4OGQzZS4uNTc1
MDlkZGQ1YmU0ZDNiMDdhOTU3ZDdhZjIzY2QwOGUxMjVkZjU5OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE1IEBACisyMDE1LTAyLTI3ICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFp
bC5jb20+CisKKyAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50
YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVk
IGZlYXR1cmUgZmxhZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBm
dW5jdGlvbgorCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZzoKKwogMjAxNS0wMi0yNyAgSHVuc2VvcCBKZW9uZyAgPGhzODUuamVvbmdAc2Ftc3VuZy5j
b20+CiAKICAgICAgICAgW0VGTF1bR1RLXSBGaXggYnVpbGQgYnJlYWsgYWZ0ZXIgcjE4MDc5MCwx
ODA3OTggCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOGZjMjQ4N2Y2YWVlMGY3MzljZmQz
YzBhODRhYmM3OTE1OTRhNWVlMy4uYTJlNzNhMWYwMzg3NzJmYjIyMGYzMjRmZGM5YjU1MjRiOGZh
NTExYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVf
Q0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0g
OwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwog
RU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSA7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJ
TFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsK
IEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsgPSBFTkFCTEVfQ1NTX0JPWF9ERUNPUkFU
SU9OX0JSRUFLOwpAQCAtMjEwLDQgKzIxMSw0IEBAIEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7CiAK
IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xB
WU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJ
TkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURf
T1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFD
SE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5W
QVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQo
RU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAk
KEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVO
QUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVf
Q1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09S
X1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFT
SEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFf
VFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNF
X09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJ
TFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFND
UkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkg
JChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJP
VFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMp
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5f
V09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQo
RU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVM
RVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJM
RV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJf
QVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVO
QUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVE
SUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVN
RU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJM
RV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVO
Q1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5B
QkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9F
VkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5B
QkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVU
RSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9R
VUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkg
JChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxF
X1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05W
RVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1Q
TEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdf
V09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9W
SURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NT
U19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VC
X1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQo
RU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJf
VElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRf
Q19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJ
REVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JF
TkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVf
QVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxF
X0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVY
VCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9T
SVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURf
TEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFH
RV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9S
U19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFC
TEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVO
QUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAk
KEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAk
KEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChF
TkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQo
RU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJM
RV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FU
SU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVf
SUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxF
X0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9D
QUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJH
RVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJ
WklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5E
T1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdB
Q1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9M
RVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVO
QUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFC
TEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhU
TUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRF
TlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0sp
ICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9Q
VUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1B
VElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9U
RV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JV
QkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9T
WU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAk
KEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9U
RUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChF
TkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RP
VUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VT
RVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5B
QkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxF
X1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxF
X1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5H
KSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxF
X1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVf
U0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05f
TU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxk
ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCmluZGV4IGZh
NjQ5NTFhOWRmMmI2YjY0NTA1ZmExZWEzN2ExMDA0YjlhOGQ5OTYuLmFjODZiMWMwMTgzZWUxNmQ3
ZjA3MjA2OTMxZmY4YzhmYzQxZmZjNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvQVNUQnVpbGRlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
QVNUQnVpbGRlci5oCkBAIC0zMDMsNiArMzAzLDE3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJu
IG5ldyAobV9wYXJzZXJBcmVuYSkgRnVuY3Rpb25Cb2R5Tm9kZShtX3BhcnNlckFyZW5hLCBzdGFy
dExvY2F0aW9uLCBlbmRMb2NhdGlvbiwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgaW5TdHJpY3RD
b250ZXh0KTsKICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIEV4cHJlc3Npb25Ob2RlKiBjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihjb25zdCBKU1Rva2Vu
TG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88QVNUQnVpbGRlcj4m
IGluZm8sIHVuc2lnbmVkIGFycm93RnVuY3Rpb25LZXl3b3JkU3RhcnQpCisgICAgeworICAgICAg
ICBGdW5jRXhwck5vZGUqIHJlc3VsdCA9IG5ldyAobV9wYXJzZXJBcmVuYSkgRnVuY0V4cHJOb2Rl
KGxvY2F0aW9uLCAqaW5mby5uYW1lLCBpbmZvLmJvZHksCisgICAgICAgICAgICBtX3NvdXJjZUNv
ZGUtPnN1YkV4cHJlc3Npb25BcnJvd0Z1bmN0aW9uKGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBpbmZv
LmNsb3NlQnJhY2VPZmZzZXQsIGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1
bW4pLCBpbmZvLnBhcmFtZXRlcnMpOworICAgICAgICBpbmZvLmJvZHktPnNldExvYyhpbmZvLmJv
ZHlTdGFydExpbmUsIGluZm8uYm9keUVuZExpbmUsIGxvY2F0aW9uLnN0YXJ0T2Zmc2V0LCBsb2Nh
dGlvbi5saW5lU3RhcnRPZmZzZXQpOworICAgICAgICBpbmZvLmJvZHktPnNldEZ1bmN0aW9uS2V5
d29yZFN0YXJ0KGFycm93RnVuY3Rpb25LZXl3b3JkU3RhcnQpOworICAgICAgICByZXR1cm4gcmVz
dWx0OworICAgIH0KKyNlbmRpZgorCiAgICAgdm9pZCBzZXRGdW5jdGlvbk5hbWVTdGFydChGdW5j
dGlvbkJvZHlOb2RlKiBib2R5LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQpCiAgICAgewogICAgICAg
ICBib2R5LT5zZXRGdW5jdGlvbk5hbWVTdGFydChmdW5jdGlvbk5hbWVTdGFydCk7CkBAIC0zODEs
NiArMzkyLDE5IEBAIHB1YmxpYzoKICAgICB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisgICAgU3RhdGVtZW50Tm9kZSogY3JlYXRlQXJyb3dGdW5jRGVj
bFN0YXRlbWVudChjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBQYXJzZXJG
dW5jdGlvbkluZm88QVNUQnVpbGRlcj4mIGluZm8sIHVuc2lnbmVkIGZ1bmN0aW9uS2V5d29yZFN0
YXJ0KQorICAgIHsKKyAgICAgICAgRnVuY0RlY2xOb2RlKiBkZWNsID0gbmV3IChtX3BhcnNlckFy
ZW5hKSBGdW5jRGVjbE5vZGUobG9jYXRpb24sICppbmZvLm5hbWUsIGluZm8uYm9keSwKKyAgICAg
ICAgICAgIG1fc291cmNlQ29kZS0+c3ViRXhwcmVzc2lvbkFycm93RnVuY3Rpb24oaW5mby5vcGVu
QnJhY2VPZmZzZXQsIGluZm8uY2xvc2VCcmFjZU9mZnNldCwgaW5mby5ib2R5U3RhcnRMaW5lLCBp
bmZvLmJvZHlTdGFydENvbHVtbiksIGluZm8ucGFyYW1ldGVycyk7CisgICAgICAgIGlmICgqaW5m
by5uYW1lID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmFyZ3VtZW50cykKKyAgICAgICAgICAgIHVz
ZXNBcmd1bWVudHMoKTsKKyAgICAgICAgbV9zY29wZS5tX2Z1bmNEZWNsYXJhdGlvbnMuYXBwZW5k
KGRlY2wtPmJvZHkoKSk7CisgICAgICAgIGluZm8uYm9keS0+c2V0RnVuY3Rpb25LZXl3b3JkU3Rh
cnQoZnVuY3Rpb25LZXl3b3JkU3RhcnQpOworICAgICAgICByZXR1cm4gZGVjbDsKKyAgICB9Cisj
ZW5kaWYKKwogICAgIFN0YXRlbWVudE5vZGUqIGNyZWF0ZUJsb2NrU3RhdGVtZW50KGNvbnN0IEpT
VG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIEpTQzo6U291cmNlRWxlbWVudHMqIGVsZW1lbnRzLCBp
bnQgc3RhcnRMaW5lLCBpbnQgZW5kTGluZSkKICAgICB7CiAgICAgICAgIEJsb2NrTm9kZSogYmxv
Y2sgPSBuZXcgKG1fcGFyc2VyQXJlbmEpIEJsb2NrTm9kZShsb2NhdGlvbiwgZWxlbWVudHMpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcAppbmRleCAxZWM2N2RmMWI4ZThjMGQ3
MzE5NDliMTI3MmE5YmM3NWZmZjgwMTZmLi42NTA2YWM2N2VjNGZhNzI1ZjkxZTAzMGJkYTRlMzY4
N2I4NWZkMTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVy
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcApAQCAtMTM5
NCw2ICsxMzk0LDE2IEBAIGJvb2wgTGV4ZXI8VD46Om5leHRUb2tlbklzQ29sb24oKQogfQogCiB0
ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK3ZvaWQgTGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24oSlNU
b2tlbiogdG9rZW5SZWNvcmQpCit7CisgICAgSlNUb2tlbkRhdGEqIHRva2VuRGF0YSA9ICZ0b2tl
blJlY29yZC0+bV9kYXRhOworICAgIHRva2VuRGF0YS0+bGluZSA9IGxpbmVOdW1iZXIoKTsKKyAg
ICB0b2tlbkRhdGEtPm9mZnNldCA9IGN1cnJlbnRPZmZzZXQoKTsKKyAgICB0b2tlbkRhdGEtPmxp
bmVTdGFydE9mZnNldCA9IGN1cnJlbnRMaW5lU3RhcnRPZmZzZXQoKTsKKyAgICBBU1NFUlQodG9r
ZW5EYXRhLT5vZmZzZXQgPj0gdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQpOworfQorCit0ZW1w
bGF0ZSA8dHlwZW5hbWUgVD4KIEpTVG9rZW5UeXBlIExleGVyPFQ+OjpsZXgoSlNUb2tlbiogdG9r
ZW5SZWNvcmQsIHVuc2lnbmVkIGxleGVyRmxhZ3MsIGJvb2wgc3RyaWN0TW9kZSkKIHsKICAgICBK
U1Rva2VuRGF0YSogdG9rZW5EYXRhID0gJnRva2VuUmVjb3JkLT5tX2RhdGE7CkBAIC0xNDU2LDcg
KzE0NjYsMTIgQEAgc3RhcnQ6CiAgICAgICAgIH0KICAgICAgICAgdG9rZW4gPSBHVDsKICAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBDaGFyYWN0ZXJFcXVhbDoKKyAgICBjYXNlIENoYXJhY3RlckVx
dWFsOiB7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdWlu
dDMyX3Qgc2F2ZWRsaW5lTnVtYmVyID0gdG9rZW5EYXRhLT5saW5lOworICAgICAgICB1aW50MzJf
dCBzYXZlZE9mZnNldCA9IGN1cnJlbnRPZmZzZXQoKTsKKyAgICAgICAgdWludDMyX3Qgc2F2ZWRM
aW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0KCk7CisjZW5kaWYKICAgICAg
ICAgc2hpZnQoKTsKICAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnPScpIHsKICAgICAgICAgICAg
IHNoaWZ0KCk7CkBAIC0xNDY4LDggKzE0ODMsMjMgQEAgc3RhcnQ6CiAgICAgICAgICAgICB0b2tl
biA9IEVRRVE7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorICAgICAgICAKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAobV9jdXJyZW50ID09
ICc+JykgeworICAgICAgICAgICAgc2hpZnQoKTsKKyAgICAgICAgICAgIHRva2VuID0gQVJST1dG
VU5DVElPTjsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgdG9rZW5EYXRhLT5saW5lID0gc2F2
ZWRsaW5lTnVtYmVyOworICAgICAgICAgICAgdG9rZW5EYXRhLT5vZmZzZXQgPSBzYXZlZE9mZnNl
dDsKKyAgICAgICAgICAgIHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0ID0gc2F2ZWRMaW5lU3Rh
cnRPZmZzZXQ7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIEFTU0VSVCh0b2tlbkRhdGEtPm9m
ZnNldCA+PSB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCk7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIHRva2VuID0gRVFVQUw7CiAgICAgICAgIGJyZWFr
OworICAgIH0KICAgICBjYXNlIENoYXJhY3Rlckxlc3M6CiAgICAgICAgIHNoaWZ0KCk7CiAgICAg
ICAgIGlmIChtX2N1cnJlbnQgPT0gJyEnICYmIHBlZWsoMSkgPT0gJy0nICYmIHBlZWsoMikgPT0g
Jy0nKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKaW5kZXggODFiNDMzNGQ4NDlk
ODNlNzVmYWRhZmVmNTQyMDg0MTZhOGQxNmQ2Ni4uYjYxZDM4N2E2ZmMzOGFkODYzYjRkMjFjZjc3
MzM3M2MzNTFmNzRjYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9M
ZXhlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaApAQCAtODUs
NiArODUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRJc1JlcGFyc2luZygpIHsgbV9pc1JlcGFy
c2luZyA9IHRydWU7IH0KICAgICBib29sIGlzUmVwYXJzaW5nKCkgY29uc3QgeyByZXR1cm4gbV9p
c1JlcGFyc2luZzsgfQogCisgICAgdm9pZCBzZXRUb2tlblBvc2l0aW9uKEpTVG9rZW4qIHRva2Vu
UmVjb3JkKTsKICAgICBKU1Rva2VuVHlwZSBsZXgoSlNUb2tlbiosIHVuc2lnbmVkLCBib29sIHN0
cmljdE1vZGUpOwogICAgIGJvb2wgbmV4dFRva2VuSXNDb2xvbigpOwogICAgIGludCBsaW5lTnVt
YmVyKCkgY29uc3QgeyByZXR1cm4gbV9saW5lTnVtYmVyOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1BhcnNlci5jcHAKaW5kZXggNjMxOGZkNjM2YmViM2U3YjkxZDI4ZjY0OTZhZWQ5YWY3
YmQ4NzE4Yy4uNzg2MDYwMjc2NTVmZDRjOTI2YWJkMTg1YjNhZDMwYjYzMWRhYmZhMiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcApAQCAtMzIyLDkgKzMyMiwxMyBAQCBi
b29sIFBhcnNlcjxMZXhlclR5cGU+OjphbGxvd0F1dG9tYXRpY1NlbWljb2xvbigpCiB7CiAgICAg
cmV0dXJuIG1hdGNoKENMT1NFQlJBQ0UpIHx8IG1hdGNoKEVPRlRPSykgfHwgbV9sZXhlci0+cHJl
dlRlcm1pbmF0b3IoKTsKIH0KLQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWxl
bWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZUVsZW1lbnRzTW9kZSBtb2RlLCBGdW5j
dGlvblBhcnNlVHlwZSB0eXBlKQorI2Vsc2UKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+
CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYgY29udGV4dCwgU291
cmNlRWxlbWVudHNNb2RlIG1vZGUpCisjZW5kaWYKIHsKICAgICBjb25zdCB1bnNpZ25lZCBsZW5n
dGhPZlVzZVN0cmljdExpdGVyYWwgPSAxMjsgLy8gInVzZSBzdHJpY3QiLmxlbmd0aAogICAgIFRy
ZWVTb3VyY2VFbGVtZW50cyBzb3VyY2VFbGVtZW50cyA9IGNvbnRleHQuY3JlYXRlU291cmNlRWxl
bWVudHMoKTsKQEAgLTMzMyw3ICszMzcsMTEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWwKICAg
ICB1bnNpZ25lZCBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMDsKICAgICBhdXRvIHNhdmVQb2lu
dCA9IGNyZWF0ZVNhdmVQb2ludCgpOwogICAgIGJvb2wgaGFzU2V0U3RyaWN0ID0gZmFsc2U7Cisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB3aGlsZSAoVHJlZVN0YXRl
bWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVudChjb250ZXh0LCBkaXJlY3RpdmUsICZkaXJl
Y3RpdmVMaXRlcmFsTGVuZ3RoLCB0eXBlKSkgeworI2Vsc2UKICAgICB3aGlsZSAoVHJlZVN0YXRl
bWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVudChjb250ZXh0LCBkaXJlY3RpdmUsICZkaXJl
Y3RpdmVMaXRlcmFsTGVuZ3RoKSkgeworI2VuZGlmICAgICAgCiAgICAgICAgIGlmIChtb2RlID09
IENoZWNrRm9yU3RyaWN0TW9kZSAmJiAhc2Vlbk5vbkRpcmVjdGl2ZSkgewogICAgICAgICAgICAg
aWYgKGRpcmVjdGl2ZSkgewogICAgICAgICAgICAgICAgIC8vICJ1c2Ugc3RyaWN0IiBtdXN0IGJl
IHRoZSBleGFjdCBsaXRlcmFsIHdpdGhvdXQgZXNjYXBlIHNlcXVlbmNlcyBvciBsaW5lIGNvbnRp
bnVhdGlvbi4KQEAgLTU3MSw2ICs1NzksMzIgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIFBhcnNlcjxMZXhlclR5cGU+Ojp0cnlQYXIKICAg
ICByZXR1cm4gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oY29udGV4dCwgRGVjb25zdHJ1Y3RU
b0V4cHJlc3Npb25zKTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25T
dGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAgQVNTRVJUKG1hdGNoKEFSUk9X
RlVOQ1RJT04pKTsKKworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9u
KCkpOworICAgIHNlbWFudGljRmFpbElmRmFsc2UoY3VycmVudFNjb3BlKCktPmlzRnVuY3Rpb24o
KSwgIlJldHVybiBzdGF0ZW1lbnRzIGFyZSBvbmx5IHZhbGlkIGluc2lkZSBhcnJvdyBmdW5jdGlv
bnMiKTsKKyAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOwor
ICAgIEpTVGV4dFBvc2l0aW9uIGVuZCA9IHRva2VuRW5kUG9zaXRpb24oKTsKKworICAgIG5leHQo
KTsKKyAgICBUcmVlRXhwcmVzc2lvbiBleHByID0gcGFyc2VBcnJvd0V4cHJlc3Npb24oY29udGV4
dCk7CisgICAgZmFpbElmRmFsc2UoZXhwciwgIkNhbm5vdCBwYXJzZSB0aGUgYXJyb3cgZnVuY3Rp
b24gZXhwcmVzc2lvbiIpOworICAgIGVuZCA9IGxhc3RUb2tlbkVuZFBvc2l0aW9uKCk7CisKKyAg
ICBib29sIGNvcnJlY0Fycm93RmluaXNoID0gbWF0Y2goU0VNSUNPTE9OKSB8fCBtYXRjaChDT01N
QSkgfHwgbWF0Y2goQ0xPU0VQQVJFTikgfHwgbWF0Y2goQ0xPU0VCUkFDRSkgfHwgbWF0Y2goQ0xP
U0VCUkFDS0VUKSB8fCBtYXRjaChFT0ZUT0spOworICAgIGZhaWxJZkZhbHNlKGNvcnJlY0Fycm93
RmluaXNoLCAiRXhwZWN0ZWQgYSAnOycsICddJywgJ30nLCAnKScsIG9yICcsJyBmb2xsb3dpbmcg
YSBhcnJvdyBmdW5jdGlvbiBzdGF0ZW1lbnQiKTsKKworICAgIGVuZCA9IHRva2VuRW5kUG9zaXRp
b24oKTsKKyAgICBzZXRFbmRPZlN0YXRlbWVudCgpOworCisgICAgcmV0dXJuIGNvbnRleHQuY3Jl
YXRlUmV0dXJuU3RhdGVtZW50KGxvY2F0aW9uLCBleHByLCBzdGFydCwgZW5kKTsKK30KKyNlbmRp
ZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZURlY29uc3RydWN0aW9uUGF0dGVybihUcmVlQnVpbGRlciYgY29udGV4dCwgRGVjb25zdHJ1Y3Rp
b25LaW5kIGtpbmQsIGludCBkZXB0aCkKIHsKQEAgLTExMzgsOCArMTE3MiwxMyBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlQmxvY2tTdGF0ZW1lbgogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3Rl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIq
JiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoLCBGdW5jdGlvblBh
cnNlVHlwZSB0eXBlKQorI2Vsc2UKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiYg
ZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCkKKyNlbmRpZgogewog
ICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7CiAgICAg
bV9zdGF0ZW1lbnREZXB0aCsrOwpAQCAtMTE0OCw2ICsxMTg3LDI4IEBAIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0
ZW1lbnQoVHJlCiAgICAgZmFpbElmU3RhY2tPdmVyZmxvdygpOwogICAgIFRyZWVTdGF0ZW1lbnQg
cmVzdWx0ID0gMDsKICAgICBib29sIHNob3VsZFNldEVuZE9mZnNldCA9IHRydWU7CisKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGJvb2wgaGFuZGxlZCA9IGZhbHNl
OworICAgIGlmICh0eXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgc3dp
dGNoIChtX3Rva2VuLm1fdHlwZSkgeworICAgICAgICBjYXNlIENMT1NFUEFSRU46CisgICAgICAg
IGNhc2UgQ0xPU0VCUkFDS0VUOgorICAgICAgICBjYXNlIENPTU1BOgorICAgICAgICBjYXNlIFNF
TUlDT0xPTjogeworICAgICAgICAgICAgcmVzdWx0ID0gMDsKKyAgICAgICAgICAgIGhhbmRsZWQg
PSB0cnVlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgZGVmYXVsdDoK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGhhbmRsZWQpCisg
ICAgICAgICAgICBnb3RvIGVuZFN0YXRlbWVuZXQ7Cit9CisjZW5kaWYKKwogICAgIHN3aXRjaCAo
bV90b2tlbi5tX3R5cGUpIHsKICAgICBjYXNlIE9QRU5CUkFDRToKICAgICAgICAgcmVzdWx0ID0g
cGFyc2VCbG9ja1N0YXRlbWVudChjb250ZXh0KTsKQEAgLTExOTMsNiArMTI1NCwxMSBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlU3RhdGVtZW50KFRyZQogICAgIGNhc2UgQlJFQUs6CiAgICAgICAgIHJlc3VsdCA9IHBh
cnNlQnJlYWtTdGF0ZW1lbnQoY29udGV4dCk7CiAgICAgICAgIGJyZWFrOworI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2FzZSBBUlJPV0ZVTkNUSU9OOgorICAgICAg
ICByZXN1bHQgPSBwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoY29udGV4dCk7CisgICAgICAg
IGJyZWFrOworI2VuZGlmCiAgICAgY2FzZSBSRVRVUk46CiAgICAgICAgIHJlc3VsdCA9IHBhcnNl
UmV0dXJuU3RhdGVtZW50KGNvbnRleHQpOwogICAgICAgICBicmVhazsKQEAgLTEyMzQsNiArMTMw
MCw4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAor
ZW5kU3RhdGVtZW5ldDoKKwogICAgIGlmIChyZXN1bHQgJiYgc2hvdWxkU2V0RW5kT2Zmc2V0KQog
ICAgICAgICBjb250ZXh0LnNldEVuZE9mZnNldChyZXN1bHQsIG1fbGFzdFRva2VuRW5kUG9zaXRp
b24ub2Zmc2V0KTsKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTI1NCw2ICsxMzIyLDIzIEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUZvcm1hbFBhcmFtZXRlckxpc3QgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlRm9yCiAgICAgcmV0dXJuIGxpc3Q7CiB9CiAKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4K
K3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUZ1bmN0aW9uQm9keSBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uQm9keShUcmVlQnVpbGRlciYgY29udGV4dCkKK3sK
KyAgICBKU1Rva2VuTG9jYXRpb24gc3RhcnRMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAg
IHVuc2lnbmVkIHN0YXJ0Q29sdW1uID0gdG9rZW5Db2x1bW4oKTsKKworICAgIERlcHRoTWFuYWdl
ciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7CisgICAgbV9zdGF0ZW1lbnREZXB0
aCA9IDA7CisgICAgdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkZ1bmN0aW9uQm9keUJ1aWxkZXIgYm9k
eUJ1aWxkZXIoY29uc3RfY2FzdDxWTSo+KG1fdm0pLCBtX2xleGVyLmdldCgpKTsKKworICAgIGZh
aWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMoYm9keUJ1aWxkZXIsIENoZWNrRm9yU3RyaWN0
TW9kZSwgQXJyb3dGdW5jdGlvblBhcnNlVHlwZSksICJDYW5ub3QgcGFyc2UgYm9keSBvZiB0aGlz
IGFycm93IGZ1bmN0aW9uIik7CisgICAgdW5zaWduZWQgZW5kQ29sdW1uID0gdG9rZW5Db2x1bW4o
KTsKKyAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwg
dG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBzdHJpY3RNb2RlKCkpOwor
fQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVGdW5jdGlvbkJvZHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
RnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewpAQCAtMTQwOSw2ICsxNDk0LDEy
NyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgIHJldHVybiB0cnVlOwogfQogCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhl
clR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlQXJyb3dGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImIGNvbnRleHQsIEZ1bmN0aW9u
UGFyc2VNb2RlIG1vZGUsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mIGluZm8pCit7
CisgICAgQXV0b1BvcFNjb3BlUmVmIGZ1bmN0aW9uU2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOwor
ICAgIGZ1bmN0aW9uU2NvcGUtPnNldElzRnVuY3Rpb24oKTsKKyAgICBpbnQgZnVuY3Rpb25OYW1l
U3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CisgICAgY29uc3QgSWRlbnRp
ZmllciogbGFzdEZ1bmN0aW9uTmFtZSA9IG1fbGFzdEZ1bmN0aW9uTmFtZTsKKyAgICBtX2xhc3RG
dW5jdGlvbk5hbWUgPSBudWxscHRyOworCisgICAgaWYgKCFtYXRjaChJREVOVCkgJiYgIW1hdGNo
KE9QRU5QQVJFTikpIHsKKyAgICAgICAgc2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmlu
Z0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7CisgICAgICAgIGZhaWxXaXRoTWVzc2Fn
ZSgiRXhwZWN0ZWQgYW4gYXJyb3cgZnVuY3Rpb24gaW5wdXQgcGFyYW1ldGVyIik7CisgICAgfSBl
bHNlIHsKKyAgICAgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgICAgIGNvbnN1
bWUoT1BFTlBBUkVOKTsKKworICAgICAgICAgICAgaWYgKCFtYXRjaChDTE9TRVBBUkVOKSkgewor
ICAgICAgICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhj
b250ZXh0KTsKKyAgICAgICAgICAgICAgICBmYWlsSWZGYWxzZShpbmZvLnBhcmFtZXRlcnMsICJD
YW5ub3QgcGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUo
bW9kZSkpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBjb25zdW1lT3JGYWlsKENMT1NF
UEFSRU4sICJFeHBlY3RlZCBhICcpJyBvciBhICcsJyBhZnRlciBhIHBhcmFtZXRlciBkZWNsYXJh
dGlvbiIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaW5mby5wYXJhbWV0ZXJzID0g
cGFyc2VGb3JtYWxQYXJhbWV0ZXJzKGNvbnRleHQpOworICAgICAgICAgICAgZmFpbElmRmFsc2Uo
aW5mby5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3Ry
aW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIG1hdGNo
T3JGYWlsKEFSUk9XRlVOQ1RJT04sICJFeHBlY3RlZCBhICc9PicgYWZ0ZXIgYXJyb3cgZnVuY3Rp
b24gcGFyYW1ldGVyIGRlY2xhcmF0aW9uIik7CisKKyAgICBpbmZvLm9wZW5CcmFjZU9mZnNldCA9
IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKKyAgICBpbmZvLmJvZHlTdGFydExpbmUgPSB0b2tlbkxp
bmUoKTsKKyAgICBpbmZvLmJvZHlTdGFydENvbHVtbiA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldCAt
IG1fdG9rZW4ubV9kYXRhLmxpbmVTdGFydE9mZnNldDsKKworICAgIEpTVG9rZW5Mb2NhdGlvbiBz
dGFydExvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CisKKyAgICAvLyBJZiB3ZSBrbm93IGFib3V0
IHRoaXMgZnVuY3Rpb24gYWxyZWFkeSwgd2UgY2FuIHVzZSB0aGUgY2FjaGVkIGluZm8gYW5kIHNr
aXAgdGhlIHBhcnNlciB0byB0aGUgZW5kIG9mIHRoZSBmdW5jdGlvbi4KKyAgICBpZiAoY29uc3Qg
U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0qIGNhY2hlZEluZm8gPSBUcmVlQnVpbGRlcjo6Q2FuVXNl
RnVuY3Rpb25DYWNoZSA/IGZpbmRDYWNoZWRGdW5jdGlvbkluZm8oaW5mby5vcGVuQnJhY2VPZmZz
ZXQpIDogMCkgeworICAgICAgICAvLyBJZiB3ZSdyZSBpbiBhIHN0cmljdCBjb250ZXh0LCB0aGUg
Y2FjaGVkIGZ1bmN0aW9uIGluZm8gbXVzdCBzYXkgaXQgd2FzIHN0cmljdCB0b28uCisgICAgICAg
IEFTU0VSVCghc3RyaWN0TW9kZSgpIHx8IGNhY2hlZEluZm8tPnN0cmljdE1vZGUpOworICAgICAg
ICBKU1Rva2VuTG9jYXRpb24gZW5kTG9jYXRpb247CisKKyAgICAgICAgZW5kTG9jYXRpb24ubGlu
ZSA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VMaW5lOworICAgICAgICBlbmRMb2NhdGlvbi5zdGFy
dE9mZnNldCA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VPZmZzZXQ7CisgICAgICAgIGVuZExvY2F0
aW9uLmxpbmVTdGFydE9mZnNldCA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VMaW5lU3RhcnRPZmZz
ZXQ7CisKKyAgICAgICAgYm9vbCBlbmRDb2x1bW5Jc09uU3RhcnRMaW5lID0gKGVuZExvY2F0aW9u
LmxpbmUgPT0gaW5mby5ib2R5U3RhcnRMaW5lKTsKKyAgICAgICAgQVNTRVJUKGVuZExvY2F0aW9u
LnN0YXJ0T2Zmc2V0ID49IGVuZExvY2F0aW9uLmxpbmVTdGFydE9mZnNldCk7CisgICAgICAgIHVu
c2lnbmVkIGJvZHlFbmRDb2x1bW4gPSBlbmRDb2x1bW5Jc09uU3RhcnRMaW5lID8KKyAgICAgICAg
ZW5kTG9jYXRpb24uc3RhcnRPZmZzZXQgLSBtX3Rva2VuLm1fZGF0YS5saW5lU3RhcnRPZmZzZXQg
OgorICAgICAgICBlbmRMb2NhdGlvbi5zdGFydE9mZnNldCAtIGVuZExvY2F0aW9uLmxpbmVTdGFy
dE9mZnNldDsKKyAgICAgICAgdW5zaWduZWQgY3VycmVudExpbmVTdGFydE9mZnNldCA9IG1fdG9r
ZW4ubV9sb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQ7CisKKyAgICAgICAgaW5mby5ib2R5ID0gY29u
dGV4dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgZW5kTG9jYXRpb24sIGluZm8u
Ym9keVN0YXJ0Q29sdW1uLCBib2R5RW5kQ29sdW1uLCBjYWNoZWRJbmZvLT5zdHJpY3RNb2RlKTsK
KworICAgICAgICBmdW5jdGlvblNjb3BlLT5yZXN0b3JlRnJvbVNvdXJjZVByb3ZpZGVyQ2FjaGUo
Y2FjaGVkSW5mbyk7CisgICAgICAgIGZhaWxJZkZhbHNlKHBvcFNjb3BlKGZ1bmN0aW9uU2NvcGUs
IFRyZWVCdWlsZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUluZm8pLCAiUGFyc2VyIGVycm9yIik7CisK
KyAgICAgICAgaW5mby5jbG9zZUJyYWNlT2Zmc2V0ID0gY2FjaGVkSW5mby0+Y2xvc2VCcmFjZU9m
ZnNldDsKKworICAgICAgICBjb250ZXh0LnNldEZ1bmN0aW9uTmFtZVN0YXJ0KGluZm8uYm9keSwg
ZnVuY3Rpb25OYW1lU3RhcnQpOworICAgICAgICBtX3Rva2VuID0gY2FjaGVkSW5mby0+Y2xvc2VC
cmFjZVRva2VuKCk7CisgICAgICAgIGlmIChlbmRDb2x1bW5Jc09uU3RhcnRMaW5lKQorICAgICAg
ICAgICAgbV90b2tlbi5tX2xvY2F0aW9uLmxpbmVTdGFydE9mZnNldCA9IGN1cnJlbnRMaW5lU3Rh
cnRPZmZzZXQ7CisKKyAgICAgICAgbV9sZXhlci0+c2V0T2Zmc2V0KG1fdG9rZW4ubV9sb2NhdGlv
bi5lbmRPZmZzZXQsIG1fdG9rZW4ubV9sb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQpOworICAgICAg
ICBtX2xleGVyLT5zZXRMaW5lTnVtYmVyKG1fdG9rZW4ubV9sb2NhdGlvbi5saW5lKTsKKworICAg
ICAgICBjb250ZXh0LnNldEVuZE9mZnNldChpbmZvLmJvZHksIG1fbGV4ZXItPmN1cnJlbnRPZmZz
ZXQoKSk7CisKKyAgICAgICAgbmV4dCgpOworICAgICAgICBpbmZvLmJvZHlFbmRMaW5lID0gbV9s
YXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9Cisg
ICAgbV9sYXN0RnVuY3Rpb25OYW1lID0gbGFzdEZ1bmN0aW9uTmFtZTsKKyAgICBQYXJzZXJTdGF0
ZSBvbGRTdGF0ZSA9IHNhdmVTdGF0ZSgpOworCisgICAgaW5mby5ib2R5ID0gcGFyc2VBcnJvd0Z1
bmN0aW9uQm9keShjb250ZXh0KTsKKyAgICByZXN0b3JlU3RhdGUob2xkU3RhdGUpOworICAgIGZh
aWxJZkZhbHNlKGluZm8uYm9keSwgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiB0aGlzICIsIHN0
cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7CisgICAgY29udGV4dC5zZXRFbmRPZmZzZXQoaW5m
by5ib2R5LCBtX2xleGVyLT5jdXJyZW50T2Zmc2V0KCkpOworICAgIGlmIChmdW5jdGlvblNjb3Bl
LT5zdHJpY3RNb2RlKCkgJiYgaW5mby5uYW1lKSB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKG1v
ZGUgPT0gRnVuY3Rpb25Nb2RlKTsKKyAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKG1fdm0tPnBy
b3BlcnR5TmFtZXMtPmFyZ3VtZW50cyA9PSAqaW5mby5uYW1lLCAiJyIsIGluZm8ubmFtZS0+aW1w
bCgpLCAiJyBpcyBub3QgYSB2YWxpZCBmdW5jdGlvbiBuYW1lIGluIHN0cmljdCBtb2RlIik7Cisg
ICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09ICpp
bmZvLm5hbWUsICInIiwgaW5mby5uYW1lLT5pbXBsKCksICInIGlzIG5vdCBhIHZhbGlkIGZ1bmN0
aW9uIG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsKKyAgICB9CisgICAgaW5mby5jbG9zZUJyYWNlT2Zm
c2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgIHVuc2lnbmVkIGNsb3NlQnJhY2VMaW5l
ID0gbV90b2tlbi5tX2RhdGEubGluZTsKKyAgICB1bnNpZ25lZCBjbG9zZUJyYWNlTGluZVN0YXJ0
T2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEubGluZVN0YXJ0T2Zmc2V0OworCisgICAgLy8gQ2FjaGUg
dGhlIHRva2VuaXplciBzdGF0ZSBhbmQgdGhlIGZ1bmN0aW9uIHNjb3BlIHRoZSBmaXJzdCB0aW1l
IHRoZSBmdW5jdGlvbiBpcyBwYXJzZWQuCisgICAgLy8gQW55IGZ1dHVyZSByZXBhcnNpbmcgY2Fu
IHRoZW4gc2tpcCB0aGUgZnVuY3Rpb24uCisgICAgc3RhdGljIGNvbnN0IGludCBtaW5pbXVtRnVu
Y3Rpb25MZW5ndGhUb0NhY2hlID0gMTY7CisgICAgc3RkOjp1bmlxdWVfcHRyPFNvdXJjZVByb3Zp
ZGVyQ2FjaGVJdGVtPiBuZXdJbmZvOworICAgIGludCBmdW5jdGlvbkxlbmd0aCA9IGluZm8uY2xv
c2VCcmFjZU9mZnNldCAtIGluZm8ub3BlbkJyYWNlT2Zmc2V0OworICAgIGlmIChUcmVlQnVpbGRl
cjo6Q2FuVXNlRnVuY3Rpb25DYWNoZSAmJiBtX2Z1bmN0aW9uQ2FjaGUgJiYgZnVuY3Rpb25MZW5n
dGggPiBtaW5pbXVtRnVuY3Rpb25MZW5ndGhUb0NhY2hlKSB7CisgICAgICAgIFNvdXJjZVByb3Zp
ZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJhbWV0ZXJzIHBhcmFtZXRlcnM7CisgICAgICAgIHBhcmFt
ZXRlcnMuZnVuY3Rpb25OYW1lU3RhcnQgPSBmdW5jdGlvbk5hbWVTdGFydDsKKyAgICAgICAgcGFy
YW1ldGVycy5jbG9zZUJyYWNlTGluZSA9IGNsb3NlQnJhY2VMaW5lOworICAgICAgICBwYXJhbWV0
ZXJzLmNsb3NlQnJhY2VPZmZzZXQgPSBpbmZvLmNsb3NlQnJhY2VPZmZzZXQ7CisgICAgICAgIHBh
cmFtZXRlcnMuY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldCA9IGNsb3NlQnJhY2VMaW5lU3RhcnRP
ZmZzZXQ7CisgICAgICAgIGZ1bmN0aW9uU2NvcGUtPmZpbGxQYXJhbWV0ZXJzRm9yU291cmNlUHJv
dmlkZXJDYWNoZShwYXJhbWV0ZXJzKTsKKyAgICAgICAgbmV3SW5mbyA9IFNvdXJjZVByb3ZpZGVy
Q2FjaGVJdGVtOjpjcmVhdGUocGFyYW1ldGVycyk7CisKKyAgICB9CisgICAgY29udGV4dC5zZXRG
dW5jdGlvbk5hbWVTdGFydChpbmZvLmJvZHksIGZ1bmN0aW9uTmFtZVN0YXJ0KTsKKworICAgIGZh
aWxJZkZhbHNlKHBvcFNjb3BlKGZ1bmN0aW9uU2NvcGUsIFRyZWVCdWlsZGVyOjpOZWVkc0ZyZWVW
YXJpYWJsZUluZm8pLCAiUGFyc2VyIGVycm9yIik7CisKKyAgICBib29sIGVuZE9mQXJyb3dGdW5j
dGlvbiA9IG1hdGNoKFNFTUlDT0xPTikgfHwgbWF0Y2goQ09NTUEpIHx8IG1hdGNoKENMT1NFUEFS
RU4pIHx8IG1hdGNoKENMT1NFQlJBQ0UpIHx8IG1hdGNoKENMT1NFQlJBQ0tFVCk7CisgICAgZmFp
bElmRmFsc2UoZW5kT2ZBcnJvd0Z1bmN0aW9uLCAiRXhwZWN0ZWQgdGhlIGNsb3NpbmcgJzsnICcs
JyAnXScgJyknICd9JyBhZnRlciBhcnJvdyBmdW5jdGlvbiIpOworCisgICAgaWYgKG5ld0luZm8p
CisgICAgICAgIG1fZnVuY3Rpb25DYWNoZS0+YWRkKGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBXVEY6
Om1vdmUobmV3SW5mbykpOworCisgICAgaW5mby5ib2R5RW5kTGluZSA9IG1fbGFzdFRva2VuRW5k
UG9zaXRpb24ubGluZTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8
dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3Rh
dGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb24oVHJlZUJ1
aWxkZXImIGNvbnRleHQpCiB7CkBAIC0xNzIyLDYgKzE5MjgsMTggQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlmU3Rh
dGVtZW50KFQKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVJZlN0YXRlbWVudChpZkxvY2F0aW9u
LCBjb25kaXRpb24sIHRydWVCbG9jaywgc3RhdGVtZW50U3RhY2subGFzdCgpLCBzdGFydCwgZW5k
KTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8
dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhw
cmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0V4cHJlc3Npb24oVHJlZUJ1aWxk
ZXImIGNvbnRleHQpCit7CisgICAgZmFpbElmU3RhY2tPdmVyZmxvdygpOworICAgIFRyZWVFeHBy
ZXNzaW9uIG5vZGUgPSBwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKGNvbnRleHQpOworICAgIGZh
aWxJZkZhbHNlKG5vZGUsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lvbiIpOworICAgIGNvbnRleHQu
c2V0RW5kT2Zmc2V0KG5vZGUsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ub2Zmc2V0KTsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgog
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VFeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewpAQCAtMTc2OSw2
ICsxOTg3LDM4IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Np
b24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXNzaWdubWVuCiAgICAgICAgIH0KICAgICAgICAg
cmVzdG9yZVNhdmVQb2ludChzYXZlUG9pbnQpOwogICAgIH0KKworCisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2lu
dCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgIGJvb2wgYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCA9
IGZhbHNlOworICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgIG5leHQoKTsKKyAg
ICAgICAgaWYgKG1hdGNoKENMT1NFUEFSRU4pKSB7CisgICAgICAgICAgICBuZXh0KCk7CisKKyAg
ICAgICAgICAgIGlmIChtYXRjaChBUlJPV0ZVTkNUSU9OKSkKKyAgICAgICAgICAgICAgICBhcnJv
d0Z1bmN0aW9uRW1wdHlMaXN0ID0gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICghYXJy
b3dGdW5jdGlvbkVtcHR5TGlzdCkKKyAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFy
cm93RnVuY3Rpb25Qb2ludCk7CisgICAgfQorI2VuZGlmCisKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgIFRyZWVFeHByZXNzaW9uIGxocyA9IHBhcnNlQ29uZGl0aW9u
YWxFeHByZXNzaW9uKGNvbnRleHQpOworICAgIGlmICghYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCkg
eworICAgICAgICBmYWlsSWZGYWxzZShsaHMsICJDYW4Zbm90IHBhcnNlIGV4cHJlc3Npb24iKTsK
KyAgICAgICAgaWYgKGluaXRpYWxOb25MSFNDb3VudCAhPSBtX25vbkxIU0NvdW50KSB7CisgICAg
ICAgICAgICBpZiAobV90b2tlbi5tX3R5cGUgPj0gRVFVQUwgJiYgbV90b2tlbi5tX3R5cGUgPD0g
T1JFUVVBTCkKKyAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWwoIkxlZnQgaGFuZCBzaWRlIG9m
IG9wZXJhdG9yICciLCBnZXRUb2tlbigpLCAiJyBtdXN0IGJlIGEgcmVmZXJlbmNlIik7CisKKyAg
ICAgICAgICAgIHJldHVybiBsaHM7CisgICAgICAgIH0KKyAgICB9CisjZWxzZQorCiAgICAgVHJl
ZUV4cHJlc3Npb24gbGhzID0gcGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24oY29udGV4dCk7CiAg
ICAgZmFpbElmRmFsc2UobGhzLCAiQ2Fubm90IHBhcnNlIGV4cHJlc3Npb24iKTsKICAgICBpZiAo
aW5pdGlhbE5vbkxIU0NvdW50ICE9IG1fbm9uTEhTQ291bnQpIHsKQEAgLTE3NzcsNyArMjAyNywx
NiBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbgogCiAgICAgICAgIHJldHVybiBsaHM7CiAgICAg
fQorI2VuZGlmCiAgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICBpZiAobWF0Y2goQVJST1dGVU5DVElPTikpIHsKKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChz
YXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAgVHJlZUV4cHJlc3Npb24gbGhzID0gcGFy
c2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihjb250ZXh0KTsKKyAgICAgICAgcmV0dXJuIGxoczsKKyAg
ICB9CisjZW5kaWYKKwogICAgIGludCBhc3NpZ25tZW50U3RhY2sgPSAwOwogICAgIE9wZXJhdG9y
IG9wOwogICAgIGJvb2wgaGFkQXNzaWdubWVudCA9IGZhbHNlOwpAQCAtMjIwOSw2ICsyNDY4LDIz
IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAgICAgIHJldHVybiBjb250ZXh0LnRoaXNF
eHByKGxvY2F0aW9uKTsKICAgICB9CiAgICAgY2FzZSBJREVOVDogeworI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIFNhdmVQb2ludCBzYXZlQXJyb3dGdW5jdGlv
blBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0
ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50
ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CisgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlv
bih0b2tlbkxvY2F0aW9uKCkpOworICAgICAgICBuZXh0KCk7CisKKyAgICAgICAgaWYgKCFtYXRj
aChBUlJPV0ZVTkNUSU9OKSkgeworICAgICAgICAgICAgY3VycmVudFNjb3BlKCktPnVzZVZhcmlh
YmxlKGlkZW50LCBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09ICppZGVudCk7CisgICAgICAg
ICAgICBtX2xhc3RJZGVudGlmaWVyID0gaWRlbnQ7CisgICAgICAgICAgICByZXR1cm4gY29udGV4
dC5jcmVhdGVSZXNvbHZlKGxvY2F0aW9uLCBpZGVudCwgc3RhcnQpOworICAgICAgICB9CisKKyAg
ICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAg
VHJlZUV4cHJlc3Npb24gbGhzID0gcGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihjb250ZXh0KTsK
KyAgICAgICAgcmV0dXJuIGxoczsKKyNlbHNlCiAgICAgICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0
ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50
ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlv
bih0b2tlbkxvY2F0aW9uKCkpOwpAQCAtMjIxNiw2ICsyNDkyLDcgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmlt
YXJ5RXhwcmUKICAgICAgICAgY3VycmVudFNjb3BlKCktPnVzZVZhcmlhYmxlKGlkZW50LCBtX3Zt
LT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09ICppZGVudCk7CiAgICAgICAgIG1fbGFzdElkZW50aWZp
ZXIgPSBpZGVudDsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUmVzb2x2ZShsb2NhdGlv
biwgaWRlbnQsIHN0YXJ0KTsKKyNlbmRpZgogICAgIH0KICAgICBjYXNlIFNUUklORzogewogICAg
ICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwpAQCAt
MjM4OCw2ICsyNjY1LDMyIEBAIGVuZE1lbWJlckV4cHJlc3Npb246CiAgICAgcmV0dXJuIGJhc2U7
CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5
cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJl
c3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoVHJlZUJ1
aWxkZXImIGNvbnRleHQpCit7CisgICAgVHJlZUV4cHJlc3Npb24gYmFzZSA9IDA7CisgICAgSlNU
ZXh0UG9zaXRpb24gZXhwcmVzc2lvblN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAg
aW50IG5ld0NvdW50ID0gMDsKKyAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb247CisKKyAgICBp
ZiAobWF0Y2goSURFTlQpIHx8IG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgdW5zaWduZWQg
ZnVuY3Rpb25LZXl3b3JkU3RhcnQgPSB0b2tlblN0YXJ0KCk7CisgICAgICAgIGxvY2F0aW9uID0g
dG9rZW5Mb2NhdGlvbigpOworICAgICAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+
IGluZm87CisgICAgICAgIGluZm8ubmFtZSA9ICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRl
bnRpZmllcjsKKyAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlQXJyb3dGdW5jdGlvbkluZm8oY29u
dGV4dCwgRnVuY3Rpb25Nb2RlLCBpbmZvKSksICJDYW5ub3QgcGFyc2UgZnVuY3Rpb24gZXhwcmVz
c2lvbiIpOworICAgICAgICBiYXNlID0gY29udGV4dC5jcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihs
b2NhdGlvbiwgaW5mbywgZnVuY3Rpb25LZXl3b3JkU3RhcnQpOworICAgIH0gZWxzZQorICAgICAg
ICBiYXNlID0gcGFyc2VQcmltYXJ5RXhwcmVzc2lvbihjb250ZXh0KTsKKworICAgIGZhaWxJZkZh
bHNlKGJhc2UsICJDYW5ub3QgcGFyc2UgYmFzZSBleHByZXNzaW9uIik7CisgICAgd2hpbGUgKG5l
d0NvdW50LS0pCisgICAgICAgIGJhc2UgPSBjb250ZXh0LmNyZWF0ZU5ld0V4cHIobG9jYXRpb24s
IGJhc2UsIGV4cHJlc3Npb25TdGFydCwgbGFzdFRva2VuRW5kUG9zaXRpb24oKSk7CisgICAgcmV0
dXJuIGJhc2U7Cit9CisjZW5kaWYKKwogc3RhdGljIGNvbnN0IGNoYXIqIG9wZXJhdG9yU3RyaW5n
KGJvb2wgcHJlZml4LCB1bnNpZ25lZCB0b2spCiB7CiAgICAgc3dpdGNoICh0b2spIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCmluZGV4IDUwMWMwMzY0NGQ1NTk3YjhhMWExYWYz
ZTlmOWM4MmUxODRlZDJkOGMuLjgzZWMxYWNhNjA2MTViOTI2NjNjMDMwYTJkNjE2NDg1NzFlYzY5
OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaApAQCAtODAsNiArODAsOSBA
QCBjbGFzcyBTb3VyY2VDb2RlOwogQ09NUElMRV9BU1NFUlQoTGFzdFVudGFnZ2VkVG9rZW4gPCA2
NCwgTGVzc1RoYW42NFVudGFnZ2VkVG9rZW5zKTsKIAogZW51bSBTb3VyY2VFbGVtZW50c01vZGUg
eyBDaGVja0ZvclN0cmljdE1vZGUsIERvbnRDaGVja0ZvclN0cmljdE1vZGUgfTsKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorZW51bSBGdW5jdGlvblBhcnNlVHlwZSB7IFN0
YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUsIEFycm93RnVuY3Rpb25QYXJzZVR5cGUgfTsKKyNlbmRp
ZgogZW51bSBGdW5jdGlvblJlcXVpcmVtZW50cyB7IEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEZ1
bmN0aW9uTmVlZHNOYW1lIH07CiBlbnVtIEZ1bmN0aW9uUGFyc2VNb2RlIHsKICAgICBGdW5jdGlv
bk1vZGUsCkBAIC03MDAsOSArNzAzLDE1IEBAIHByaXZhdGU6CiAgICAgICAgIH0KICAgICAgICAg
cmV0dXJuIHJlc3VsdDsKICAgICB9Ci0gICAgCisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVs
ZW1lbnRzIHBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVtZW50c01v
ZGUsIEZ1bmN0aW9uUGFyc2VUeXBlIHR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsK
KyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VTdGF0
ZW1lbnQoVHJlZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25l
ZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDAsIEZ1bmN0aW9uUGFyc2VUeXBlICBmdW5jdGlv
blBhcnNlVHlwZSA9IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOworI2Vsc2UKICAgICB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJzZVNvdXJjZUVs
ZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxlbWVudHNNb2RlKTsKICAgICB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxk
ZXImLCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0
ZXJhbExlbmd0aCA9IDApOworI2VuZGlmCisKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkK
ICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VDbGFz
c0RlY2xhcmF0aW9uKFRyZWVCdWlsZGVyJik7CiAjZW5kaWYKQEAgLTcyNyw2ICs3MzYsOSBAQCBw
cml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBw
YXJzZUlmU3RhdGVtZW50KFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQmxvY2tTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImKTsK
ICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlRXhw
cmVzc2lvbihUcmVlQnVpbGRlciYpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJz
ZUFycm93RXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOworI2VuZGlmCiAgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9u
KFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNf
SU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNlQ29uZGl0aW9uYWxFeHByZXNzaW9uKFRyZWVCdWls
ZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRy
ZWVFeHByZXNzaW9uIHBhcnNlQmluYXJ5RXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOwpAQCAtNzQ2
LDYgKzc1OCwxMyBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZUV4cHJlc3Npb24gcGFyc2VWYXJEZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImLCBpbnQm
IGRlY2xhcmF0aW9ucywgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiYgbGFzdFBhdHRlcm4sIFRy
ZWVFeHByZXNzaW9uJiBsYXN0SW5pdGlhbGl6ZXIsIEpTVGV4dFBvc2l0aW9uJiBpZGVudFN0YXJ0
LCBKU1RleHRQb3NpdGlvbiYgaW5pdFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdEVuZCwgVmFy
RGVjbGFyYXRpb25MaXN0Q29udGV4dCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBORVZFUl9JTkxJTkUgVHJlZUNvbnN0RGVjbExpc3QgcGFyc2VDb25zdERlY2xhcmF0aW9uTGlz
dChUcmVlQnVpbGRlciYpOwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VBcnJv
d0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKFRyZWVC
dWlsZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUg
Ym9vbCBwYXJzZUFycm93RnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25QYXJzZU1v
ZGUsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mKTsKKyAgICB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZ1bmN0aW9uQm9keSBwYXJzZUFycm93
RnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVyJik7CisjZW5kaWYKKwogICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gY3Jl
YXRlQmluZGluZ1BhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0cnVjdGlvbktpbmQsIGNvbnN0
IElkZW50aWZpZXImLCBpbnQgZGVwdGgsIEpTVG9rZW4pOwogICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gcGFyc2VE
ZWNvbnN0cnVjdGlvblBhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0cnVjdGlvbktpbmQsIGlu
dCBkZXB0aCA9IDApOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5M
SU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gdHJ5UGFyc2VEZWNvbnN0cnVjdGlvblBhdHRl
cm5FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CkBAIC03NjYsNyArNzg1LDEyIEBAIHByaXZhdGU6
CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIGFsbG93QXV0b21hdGljU2VtaWNvbG9uKCk7CiAg
ICAgfQotICAgIAorCisgICAgdm9pZCBzZXRFbmRPZlN0YXRlbWVudCgpCisgICAgeworICAgICAg
ICBtX2xleGVyLT5zZXRUb2tlblBvc2l0aW9uKCZtX3Rva2VuKTsKKyAgICB9CisKICAgICBib29s
IGNhblJlY3Vyc2UoKQogICAgIHsKICAgICAgICAgcmV0dXJuIG1fdm0tPmlzU2FmZVRvUmVjdXJz
ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tl
bnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKaW5kZXgg
M2ZmMjc5ODY2YWY2ZTI4NjkwYmMwN2M1ZjcyMWJjN2EzODA1NmVhMi4uNGM2M2RjMTIwMDA3NDIx
ZTkxM2MxMzk0ZDNhOTE4YTlhYTJiMGJlMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlclRva2Vucy5oCkBAIC03NSw2ICs3NSw5IEBAIGVudW0gSlNUb2tlblR5cGUgewog
ICAgIEZJTkFMTFksCiAgICAgREVCVUdHRVIsCiAgICAgRUxTRSwKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEFSUk9XRlVOQ1RJT04sCisjZW5kaWYKICNpZiBFTkFC
TEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICBDTEFTU1RPS0VOLAogICAgIEVYVEVORFMsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCmluZGV4IDczZDIzZGI4MmFmMjVl
YTQ2YzBmODk3ODVjZTQyNGJiNjBlYjYxYTcuLjdlNzJjNDQwZTg5ZTM1MWYzODNmNzA0YzFmNzAz
NDFjNTg4OGUxMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291
cmNlQ29kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5o
CkBAIC0xMDQsNiArMTA0LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGludCBsZW5ndGgo
KSBjb25zdCB7IHJldHVybiBtX2VuZENoYXIgLSBtX3N0YXJ0Q2hhcjsgfQogICAgICAgICAKICAg
ICAgICAgU291cmNlQ29kZSBzdWJFeHByZXNzaW9uKHVuc2lnbmVkIG9wZW5CcmFjZSwgdW5zaWdu
ZWQgY2xvc2VCcmFjZSwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKTsKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBTb3VyY2VDb2RlIHN1YkV4cHJl
c3Npb25BcnJvd0Z1bmN0aW9uKHVuc2lnbmVkIG9wZW5CcmFjZSwgdW5zaWduZWQgY2xvc2VCcmFj
ZSwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKTsKKyNlbmRpZgogCiAgICAgcHJpdmF0
ZToKICAgICAgICAgUmVmUHRyPFNvdXJjZVByb3ZpZGVyPiBtX3Byb3ZpZGVyOwpAQCAtMTE4LDYg
KzEyMSwxNiBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgcmV0dXJuIFNvdXJjZUNvZGUoU3Ry
aW5nU291cmNlUHJvdmlkZXI6OmNyZWF0ZShzb3VyY2UsIHVybCwgc3RhcnRQb3NpdGlvbiksIHN0
YXJ0UG9zaXRpb24ubV9saW5lLm9uZUJhc2VkSW50KCksIHN0YXJ0UG9zaXRpb24ubV9jb2x1bW4u
b25lQmFzZWRJbnQoKSk7CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICBpbmxpbmUgU291cmNlQ29kZSBTb3VyY2VDb2RlOjpzdWJFeHByZXNzaW9uQXJy
b3dGdW5jdGlvbih1bnNpZ25lZCBvcGVuQnJhY2UsIHVuc2lnbmVkIGNsb3NlQnJhY2UsIGludCBm
aXJzdExpbmUsIGludCBzdGFydENvbHVtbikKKyAgICB7CisgICAgICAgIEFTU0VSVChwcm92aWRl
cigpLT5zb3VyY2UoKVtvcGVuQnJhY2VdID09ICc9JyAmJiBwcm92aWRlcigpLT5zb3VyY2UoKVtv
cGVuQnJhY2UgKyAxXSA9PSAnPicpOworICAgICAgICBBU1NFUlQocHJvdmlkZXIoKS0+c291cmNl
KClbY2xvc2VCcmFjZSAtIDFdID09ICc7JyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtjbG9zZUJy
YWNlIC0gMV0gPT0gJywnIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2Nsb3NlQnJhY2UgLSAxXSA9
PSAnKScgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbY2xvc2VCcmFjZSAtIDFdID09ICddJyB8fCBw
cm92aWRlcigpLT5zb3VyY2UoKVtjbG9zZUJyYWNlIC0gMV0gPT0gJ30nKTsKKyAgICAgICAgc3Rh
cnRDb2x1bW4gKz0gMTsgLy8gQ29udmVydCB0byBiYXNlIDEuCisgICAgICAgIHJldHVybiBTb3Vy
Y2VDb2RlKHByb3ZpZGVyKCksIG9wZW5CcmFjZSwgY2xvc2VCcmFjZSAtIDEsIGZpcnN0TGluZSwg
c3RhcnRDb2x1bW4pOworICAgIH0KKyNlbmRpZgorCiAgICAgaW5saW5lIFNvdXJjZUNvZGUgU291
cmNlQ29kZTo6c3ViRXhwcmVzc2lvbih1bnNpZ25lZCBvcGVuQnJhY2UsIHVuc2lnbmVkIGNsb3Nl
QnJhY2UsIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbikKICAgICB7CiAgICAgICAgIEFT
U0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtvcGVuQnJhY2VdID09ICd7Jyk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCmluZGV4IDU4ODRmYjI4MmU3NTYx
YTY1ODZkMGY2ZTFkYTU5MTUxYjhkNTRhNDcuLjgzMmJlNzU2NmYzOGIwNjJkMzJlNDlkMzkwYmFk
NDVlYmZmZDFkNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3lu
dGF4Q2hlY2tlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hl
Y2tlci5oCkBAIC0xNjksNiArMTY5LDkgQEAgcHVibGljOgogI2VuZGlmCiAgICAgRXhwcmVzc2lv
blR5cGUgY3JlYXRlRnVuY3Rpb25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBh
cnNlckZ1bmN0aW9uSW5mbzxTeW50YXhDaGVja2VyPiYsIGludCkgeyByZXR1cm4gRnVuY3Rpb25F
eHByOyB9CiAgICAgaW50IGNyZWF0ZUZ1bmN0aW9uQm9keShjb25zdCBKU1Rva2VuTG9jYXRpb24m
LCBjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBpbnQsIGludCwgYm9vbCkgeyByZXR1cm4gRnVuY3Rp
b25Cb2R5UmVzdWx0OyB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICBFeHByZXNzaW9uVHlwZSBjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9j
YXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4mLCBpbnQpIHsg
cmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQorI2VuZGlmCiAgICAgdm9pZCBzZXRGdW5jdGlvbk5hbWVT
dGFydChpbnQsIGludCkgeyB9CiAgICAgaW50IGNyZWF0ZUFyZ3VtZW50cygpIHsgcmV0dXJuIEFy
Z3VtZW50c1Jlc3VsdDsgfQogICAgIGludCBjcmVhdGVBcmd1bWVudHMoaW50KSB7IHJldHVybiBB
cmd1bWVudHNSZXN1bHQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOGZjMjQ4N2Y2YWVlMGY3MzljZmQzYzBh
ODRhYmM3OTE1OTRhNWVlMy4uYTJlNzNhMWYwMzg3NzJmYjIyMGYzMjRmZGM5YjU1MjRiOGZhNTEx
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5B
QkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xBU1Nf
U1lOVEFYID0gOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZf
QVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ1NQX05FWFQgPSA7CiBFTkFCTEVfQ1NTX0JPWF9E
RUNPUkFUSU9OX0JSRUFLID0gRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSzsKQEAgLTIx
MCw0ICsyMTEsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJBVEVE
X0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsK
IAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElO
RykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQo
RU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxF
X0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9D
TEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVY
VCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9T
SVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURf
TEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFH
RV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9S
U19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFC
TEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVO
QUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAk
KEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAk
KEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChF
TkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQo
RU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJM
RV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FU
SU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVf
SUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxF
X0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9D
QUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJH
RVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJ
WklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5E
T1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdB
Q1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9M
RVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVO
QUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFC
TEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhU
TUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRF
TlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0sp
ICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9Q
VUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1B
VElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9U
RV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JV
QkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9T
WU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAk
KEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9U
RUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChF
TkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RP
VUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VT
RVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5B
QkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxF
X1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxF
X1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5H
KSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxF
X1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVf
U0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05f
TU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NS
T0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVO
VCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChF
TkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
RVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVO
QUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19C
T1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9D
U1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVf
Q1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChF
TkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJM
RV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5F
X0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVN
RV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1Rf
RUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19F
TEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRT
X0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURf
RVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFC
TEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElE
REVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChF
TkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5D
T01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1Nf
R0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lP
U19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5B
QkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJP
TFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VT
RV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJM
RV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFC
TEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNF
UykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNU
KSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5B
QkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVO
QUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChF
TkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJM
RV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRT
KSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9E
RVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJ
WklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcp
ICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChF
TkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVF
KSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChF
TkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRU
X1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9G
VExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRf
QVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwppbmRleCA4ZmMyNDg3ZjZhZWUwZjczOWNmZDNjMGE4NGFiYzc5MTU5NGE1ZWUzLi5hMmU3
M2ExZjAzODc3MmZiMjIwZjMyNGZkYzliNTUyNGI4ZmE1MTFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpA
QCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7
CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSA7CitFTkFC
TEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklO
RzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsg
PSBFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLOwpAQCAtMjEwLDQgKzIxMSw0IEBAIEVO
QUJMRV9MTElOVF9DX0xPT1AgPSA7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVU
SUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZB
UykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZf
Q0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFS
VElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAk
KEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1Nf
Qk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVf
Q1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxF
X0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQo
RU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFC
TEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElO
RV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hF
TUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNU
X0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNf
RUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5U
U19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBU
RURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FE
X0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5B
QkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJ
RERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lO
Q09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9T
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9J
T1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVO
QUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRS
T0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9V
U0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFC
TEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5B
QkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlT
RVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElT
VCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVO
QUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChF
TkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQo
RU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFC
TEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05U
UykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJf
REVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9T
SVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5H
KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQo
RU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxV
RSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxF
X1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQo
RU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZU
VF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVf
RlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VU
X0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVf
REVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRf
Q0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxF
X0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNI
RV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJP
WFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFY
KSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklM
VEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JS
RUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRB
VElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9O
UykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQo
RU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxF
X0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5B
QkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJM
RV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxF
X0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQo
RU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVO
QUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxF
X0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJF
Q0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElN
RVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NP
TlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQo
RU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJM
RV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykg
JChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdB
Q1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRD
SCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5B
QkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVU
RVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkg
JChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NP
TkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lO
KSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9Y
SU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RB
KSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRP
Q09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05f
TUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xM
X1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAk
KEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19P
VEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFC
TEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RS
QUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChF
TkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdf
TU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5B
QkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJ
WkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFC
TEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxF
X0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVO
QUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQy
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDhmYzI0ODdmNmFl
ZTBmNzM5Y2ZkM2MwYTg0YWJjNzkxNTk0YTVlZTMuLmEyZTczYTFmMDM4NzcyZmIyMjBmMzI0ZmRj
OWI1NTI0YjhmYTUxMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00NSw2ICs0NSw3IEBAIEVOQUJMRV9DQU5W
QVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7CiBFTkFC
TEVfRVM2X0NMQVNTX1NZTlRBWCA9IDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgg
PSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklMVEVS
SU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwogRU5B
QkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSyA9IEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05f
QlJFQUs7CkBAIC0yMTAsNCArMjExLDQgQEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5B
QkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VU
X0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykg
JChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVS
RkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVO
VF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19Q
QVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAk
KEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChF
TkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFC
TEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5B
QkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxF
X0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1Mz
X1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklT
SUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9B
UkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFO
U0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVS
U19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVO
QUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJ
TkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JL
RVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lP
U19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xF
R0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJ
TykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxF
X01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9T
T1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQp
ICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05B
VklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkg
JChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVf
UE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5U
UykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVf
UkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAk
KEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZ
KSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVO
QUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VC
VExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRF
UikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRF
X0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JE
KSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVP
X1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01F
RElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQ
TEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFC
TEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1F
T1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xP
T1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9f
UFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVS
SU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRB
Q0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FO
VkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAk
KEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElO
RykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlP
VVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JF
U09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xF
VkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9D
U1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxF
X0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5B
QkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5B
QkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFC
TEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dB
TUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09O
REFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5E
SUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkg
JChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9W
RU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRF
UlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxF
X01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9N
RURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkg
JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChF
TkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJ
Q19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9O
X0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lO
U1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVS
X0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRI
RVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5B
QkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJM
RV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hf
SUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNF
TEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVf
REFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VC
R0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VC
X1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQo
RU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNM
VCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRV
UkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RF
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZSBiL1NvdXJj
ZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQppbmRleCA4ODcyNjE3MjY0MDgzNDRhYjAyNTJj
OWMwZWYxZmM5NzdkMDYzZmJhLi4wNTAwMzcyY2I4NDU0ZDg0ODY3ZTY0MmU2OTc3MDFjZGQwOWYy
OGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKKysrIGIv
U291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCkBAIC0yOCw2ICsyOCw3IEBAIG1hY3Jv
KFdFQktJVF9PUFRJT05fQkVHSU4pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NB
TlZBU19QUk9YWSAiVG9nZ2xlIENhbnZhc1Byb3h5IHN1cHBvcnQiIE9GRikKICAgICBXRUJLSVRf
T1BUSU9OX0RFRklORShFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgIlRvZ2dsZSBNZXNzYWdlQ2hh
bm5lbCBhbmQgTWVzc2FnZVBvcnQgc3VwcG9ydCIgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJ
TkUoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggIlRvZ2dsZSBFUzYgY2xhc3Mgc3ludGF4IHN1cHBv
cnQiIE9GRikKKyAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYICJUb2dnbGUgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheCBzdXBwb3J0IiBPTikK
ICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgIlRvZ2ds
ZSBjb250ZW50IGZpbHRlcmluZyBzdXBwb3J0IiBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJ
TkUoRU5BQkxFX0NPTlRFWFRfTUVOVVMgIlRvZ2dsZSBDb250ZXh0IE1lbnUgc3VwcG9ydCIgT04p
CiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NTUF9ORVhUICJUb2dnbGUgQ29udGVu
dCBTZWN1cml0eSBQb2xpY3kgMS4xIHN1cHBvcnQiIE9GRikKZGlmZiAtLWdpdCBhL1NvdXJjZS9j
bWFrZWNvbmZpZy5oLmNtYWtlIGIvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UKaW5kZXggMWE3
NDVjYTVjZDg5ZmIyMDA4MmY3N2JjMDI2ODhhOWIwYjRiZDRiOS4uMzEwNmI1ZWEwODRiMzg0MzFk
OTU5OTQ0YzZjYTE4MWYyZmNlMjFmZiAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlY29uZmlnLmgu
Y21ha2UKKysrIGIvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UKQEAgLTEzLDYgKzEzLDcgQEAK
ICNjbWFrZWRlZmluZTAxIEVOQUJMRV9DQU5WQVNfUFJPWFkKICNjbWFrZWRlZmluZTAxIEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORwogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0VTNl9DTEFTU19TWU5U
QVgKKyNjbWFrZWRlZmluZTAxIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgKICNjbWFr
ZWRlZmluZTAxIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORwogI2NtYWtlZGVmaW5lMDEgRU5BQkxF
X0NPTlRFWFRfTUVOVVMKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9DUkVERU5USUFMX1NUT1JBR0UK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhNmJi
ZTI1YzJhNmRkOTIzMDk1MDZiZjcxY2I4ZTI2ZmJkNDcyZDkxLi42NGJmODA3NzhmZDZhODYwNDg0
ZDg4MGViYzIyMDgwM2RiNTE3Yjk2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDItMjcgIFNrYWNoa292IEFs
ZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQg
RVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dGVU5D
VElPTl9TWU5UQVggZm9yIGFycm93IGZ1bmN0aW9uCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHBlcmwvRmVhdHVyZUxpc3QucG06CisKIDIwMTUtMDItMjcgIFNhbSBXZWluaWcgIDxzYW1Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBBZGQgV2ViS2l0MiBTUEkgdG8gY3JlYXRlIGEgRE9NIEZpbGUg
b2JqZWN0CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3Qu
cG0gYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KaW5kZXggMzU0MjVm
NWU0YjU1NWFmMzAwMzJkMjFlZTNjYWVjNjg1NGY3OWE0Yi4uYTZiYzlhOGZlYmQxYWU0YjJjNzU2
MmNkNTFhOTJjMzhjNjM5ZjkxZiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJs
L0ZlYXR1cmVMaXN0LnBtCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlz
dC5wbQpAQCAtNDQsNiArNDQsNyBAQCBCRUdJTiB7CiBteSAoCiAgICAgJHRocmVlRFJlbmRlcmlu
Z1N1cHBvcnQsCiAgICAgJGFjY2VsZXJhdGVkMkRDYW52YXNTdXBwb3J0LAorICAgICRhcnJvd2Z1
bmN0aW9uU3ludGF4LAogICAgICRiYXR0ZXJ5U3RhdHVzU3VwcG9ydCwKICAgICAkY2FudmFzUGF0
aFN1cHBvcnQsCiAgICAgJGNhbnZhc1Byb3h5U3VwcG9ydCwKQEAgLTE2OSw2ICsxNzAsOSBAQCBt
eSBAZmVhdHVyZXMgPSAoCiAgICAgeyBvcHRpb24gPT4gImNsYXNzLXN5bnRheCIsIGRlc2MgPT4g
IlRvZ2dsZSBFUzYgY2xhc3Mgc3ludGF4IHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFC
TEVfRVM2X0NMQVNTX1NZTlRBWCIsIGRlZmF1bHQgPT4gMCwgdmFsdWUgPT4gXCRjbGFzc1N5bnRh
eCB9LAogCisgICAgeyBvcHRpb24gPT4gImFycm93ZnVuY3Rpb24tc3ludGF4IiwgZGVzYyA9PiAi
VG9nZ2xlIEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXggc3VwcG9ydCIsCisgICAgICBkZWZpbmUg
PT4gIkVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgiLCBkZWZhdWx0ID0+IDEsIHZhbHVl
ID0+IFwkYXJyb3dmdW5jdGlvblN5bnRheCB9LAorCiAgICAgeyBvcHRpb24gPT4gImNzcC1uZXh0
IiwgZGVzYyA9PiAiVG9nZ2xlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IDEuMSBzdXBwb3J0IiwK
ICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0NTUF9ORVhUIiwgZGVmYXVsdCA9PiBpc0d0aygpLCB2
YWx1ZSA9PiBcJGNzcE5leHRTdXBwb3J0IH0sCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0MTBhODUyMjFlMzI1YmFiNjU0
NGVhZDRhZDIwZjE0MDM2NGY2OTQ4Li5hNzRlN2Y2ZTE5MGVlZWFhMjAxZWFiOGY5NzBmNTkxNzJl
MDQ2ODc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTUtMDItMjcgIFNrYWNoa292IEFsZXhh
bmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2
IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBqcy9hcnJvd2Z1bmN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICoganMvYXJyb3dmdW5jdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBqcy9zY3Jp
cHQtdGVzdHMvYXJyb3dmdW5jdGlvbi5qczogQWRkZWQuCisgICAgICAgIChhcnJvd0Z1bmN0aW9u
V3JhcHBlcik6CisgICAgICAgIChhcnJvd0Z1bmN0aW9uV3JhcHBlcjIpOgorCiAyMDE1LTAyLTI3
ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgU3VicGl4ZWwtbGF5
b3V0OiB3aWR0aDogbWF4LWNvbnRlbnQ7IHByb3BlcnR5IG1pZ2h0IGNhdXNlIHVubmVjZXNzYXJ5
IHNjcm9sbGJhci4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2Fycm93ZnVuY3Rpb24tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvYXJyb3dmdW5jdGlvbi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNWIzOWU2NjU4N2Y4MDliYzJiNTA2YjA5MWZmZDliNDliNGQyNTgxMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2Fycm93ZnVuY3Rpb24tZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzQgQEAKK1RoaXMgdGVzdCBjaGVjayB0aGUgYmVoYXZpb3Igb2YgdGhlIG9mIGFy
cm93IGZ1bmN0aW9uKHRoaW4gY2FzZSkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K1BBU1MgYXJyb3dGdW5jdGlvbjAoMTApIGlzIDExCitQQVNTIGFycm93RnVuY3Rpb24xKDEwKSBp
cyAxMQorUEFTUyBhcnJvd0Z1bmN0aW9uMigpIGlzIDEwMDAKK1BBU1MgYXJyb3dGdW5jdGlvbjMo
MTAsIDIpIGlzIDEyCitQQVNTIGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4gMTApIGlzIDEwCitQ
QVNTIGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4gMTAsIDIwKSBpcyAxMAorUEFTUyBhcnJvd0Z1
bmN0aW9uV3JhcHBlcih4ID0+IDEwICsgMzApIGlzIDQwCitQQVNTIGFycm93RnVuY3Rpb25XcmFw
cGVyKHggPT4gMTAgKyAzMCwgMTAwMCkgaXMgNDAKK1BBU1MgYXJyb3dGdW5jdGlvbldyYXBwZXIo
eCA9PiB4ICsgMSwgMjEpIGlzIDIyCitQQVNTIGFycm93RnVuY3Rpb25XcmFwcGVyKCh4KSA9PiB4
ICsgMSwgMjEpIGlzIDIyCitQQVNTIGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCkgaXMg
MTAwCitQQVNTIGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCwgMTEpIGlzIDEwMAorUEFT
UyBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiAxMDAgKyAxMCkgaXMgMTEwCitQQVNTIGFycm93
RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCArIDEwLCAxMikgaXMgMTEwCitQQVNTIGFycm93RnVu
Y3Rpb25XcmFwcGVyMigoeCwgIHkpID0+IHggKyB5LCAyMSwgNSkgaXMgMjYKK1BBU1MgYXJyb3dG
dW5jdGlvbjQoMTAxKSBpcyAxMDIKK1BBU1MgeHl6MSBpcyAxMDEwMQorUEFTUyBhcnJvd0Z1bmN0
aW9BcnJheTBbMF0oMTApIGlzIDEwMAorUEFTUyBhcnJvd0Z1bmN0aW9BcnJheTFbMF0oMTApIGlz
IDExCitQQVNTIGFycm93RnVuY3Rpb0FycmF5MVsxXSgxMSkgaXMgMTMKK1BBU1MgYXJyb3dGdW5j
dGlvQXJyYXkyWzBdKDExKSBpcyAxMgorUEFTUyBhcnJvd0Z1bmN0aW9BcnJheTJbMV0oMTEpIGlz
IDEzCitQQVNTIGFycm93RnVuY3Rpb0FycmF5M1swXSgxMSkgaXMgMTAxCitQQVNTIGFycm93RnVu
Y3Rpb0FycmF5M1sxXSgxMSkgaXMgMTIzMjMKK1BBU1MgYXJyb3dGdW5jdGlvbk9iai5mdW5jKDEx
KSBpcyAyMworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2Fycm93ZnVuY3Rpb24uaHRtbCBiL0xheW91
dFRlc3RzL2pzL2Fycm93ZnVuY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MzcyZjBmNzJhMDA0YWNl
YTcxNzgxZTZmZTQ0ZDgyMzY5ZmY2MDA0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
anMvYXJyb3dmdW5jdGlvbi5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzwhRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvYXJyb3dmdW5jdGlvbi5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvYXJyb3dm
dW5jdGlvbi5qcyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9hcnJvd2Z1bmN0aW9uLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmFmOWUyMjMxMzE1NmJiM2M0ODllZjE0NTQyMWQ3OTMwMWI0NjZjMGEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvYXJyb3dmdW5jdGlv
bi5qcwpAQCAtMCwwICsxLDQ4IEBACitkZXNjcmlwdGlvbigKKyJUaGlzIHRlc3QgY2hlY2sgdGhl
IGJlaGF2aW9yIG9mIHRoZSAgb2YgYXJyb3cgZnVuY3Rpb24odGhpbiBjYXNlKSIKKyk7CisKK3Zh
ciBhcnJvd0Z1bmN0aW9uMCA9IHYgPT4gdiArIDE7Cit2YXIgYXJyb3dGdW5jdGlvbjEgPSAodikg
PT4gdiArIDE7Cit2YXIgYXJyb3dGdW5jdGlvbjIgPSAoKSA9PiAxMDAwOwordmFyIGFycm93RnVu
Y3Rpb24zID0gKHYsIHgpID0+IHYgKyB4OwordmFyIGFycm93RnVuY3Rpb25XcmFwcGVyID0gZnVu
Y3Rpb24gKGNsLCBwYXJhbXRlcikgeyByZXR1cm4gY2wocGFyYW10ZXIpOyB9OwordmFyIGFycm93
RnVuY3Rpb25XcmFwcGVyMiA9IGZ1bmN0aW9uIChjbCwgcGFyYW10ZXIxLCBwYXJhbXRlcjIpIHsg
cmV0dXJuIGNsKHBhcmFtdGVyMSwgcGFyYW10ZXIyKTsgfTsKK3ZhciBhcnJvd0Z1bmN0aW9uNCA9
IHYgPT4gdiArIDEsIHh5ejEgPSAxMDEwMTsKK3ZhciBhcnJvd0Z1bmN0aW9BcnJheTAgPSBbdiA9
PiB2ICogMTBdOwordmFyIGFycm93RnVuY3Rpb0FycmF5MSA9IFt2ID0+IHYgKyAxLCB2ID0+IHYg
KyAyXTsKK3ZhciBhcnJvd0Z1bmN0aW9BcnJheTIgPSBbKHYpID0+IHYgKyAxLCAodikgPT4gdiAr
IDJdOwordmFyIGFycm93RnVuY3Rpb0FycmF5MyA9IFsoKSA9PiAxMDEsICgpID0+IDEyMzIzXTsK
K3ZhciBhcnJvd0Z1bmN0aW9uT2JqID0ge2Z1bmMgOiB5ID0+IHkgKyAxMiB9OworLy9Ob3QgY292
ZXJlZCBjYXNlcworLy92YXIgYXJyb3dGdW5jdGlvbjQgPSB2ID0+IHsgdmFyIGludD0gMTAwOyBy
ZXR1cm4gdippbnQ7IH07CisvL3ZhciBhcnJvd0Z1bmN0aW9uNSA9ICh2KSA9PiB7IHZhciBpbnQ9
IDEwMDsgcmV0dXJuIHYqaW50OyB9OworLy92YXIgYXJyb3dGdW5jdGlvbjYgPSAodiwgeCkgPT4g
eyB2YXIgcmVzdWx0ID0geCAqIHY7IHJldHVybiByZXN1bHQ7IH07CisKKworc2hvdWxkQmUoImFy
cm93RnVuY3Rpb24wKDEwKSIsICIxMSIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb24xKDEwKSIs
ICIxMSIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb24yKCkiLCAiMTAwMCIpOworc2hvdWxkQmUo
ImFycm93RnVuY3Rpb24zKDEwLCAyKSIsICIxMiIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb25X
cmFwcGVyKHggPT4gMTApIiwgIjEwIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvbldyYXBwZXIo
eCA9PiAxMCwgMjApIiwgIjEwIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9
PiAxMCArIDMwKSIsICI0MCIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4g
MTAgKyAzMCwgMTAwMCkiLCAiNDAiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uV3JhcHBlcih4
ID0+IHggKyAxLCAyMSkiLCAiMjIiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uV3JhcHBlcigo
eCkgPT4geCArIDEsIDIxKSIsICIyMiIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb25XcmFwcGVy
KCgpID0+IDEwMCkiLCAiMTAwIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkg
PT4gMTAwLCAxMSkiLCAiMTAwIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkg
PT4gMTAwICsgMTApIiwgIjExMCIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb25XcmFwcGVyKCgp
ID0+IDEwMCArIDEwLCAxMikiLCAiMTEwIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvbldyYXBw
ZXIyKCh4LCAgeSkgPT4geCArIHksIDIxLCA1KSIsICIyNiIpOworc2hvdWxkQmUoImFycm93RnVu
Y3Rpb240KDEwMSkiLCAiMTAyIik7CitzaG91bGRCZSgieHl6MSIsICIxMDEwMSIpOworCitzaG91
bGRCZSgiYXJyb3dGdW5jdGlvQXJyYXkwWzBdKDEwKSIsICIxMDAiKTsKK3Nob3VsZEJlKCJhcnJv
d0Z1bmN0aW9BcnJheTFbMF0oMTApIiwgIjExIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvQXJy
YXkxWzFdKDExKSIsICIxMyIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb0FycmF5MlswXSgxMSki
LCAiMTIiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9BcnJheTJbMV0oMTEpIiwgIjEzIik7Citz
aG91bGRCZSgiYXJyb3dGdW5jdGlvQXJyYXkzWzBdKDExKSIsICIxMDEiKTsKK3Nob3VsZEJlKCJh
cnJvd0Z1bmN0aW9BcnJheTNbMV0oMTEpIiwgIjEyMzIzIik7CitzaG91bGRCZSgiYXJyb3dGdW5j
dGlvbk9iai5mdW5jKDExKSIsICIyMyIpOwpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdl
TG9nCmluZGV4IDhkN2RjYjJkNTVkZmQyOGM1ZTYyNDMxYmNmZDk3MWE5NTVkZDZhNjQuLjVmNmEz
N2YwM2U1NTg4Nzc2NDk0OTVhZjQ0OTE4OWZmZDM0MjE3NzIgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxv
ZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNS0wMi0yNyAgU2thY2hrb3Yg
QWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxlbWVu
dCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmZWF0dXJlIGZsYWcgdG8gc3dpdGNoIG9uL29mZiBl
czYgYXJyb3cgZnVuY3Rpb24gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWAorCisgICAg
ICAgICogU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlOgorICAgICAgICAqIFNvdXJj
ZS9jbWFrZWNvbmZpZy5oLmNtYWtlOgorCiAyMDE1LTAyLTI2ICBDc2FiYSBPc3p0cm9nb27DoWMg
IDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW0VGTF0gUmVtb3ZlIHVubmVjZXNzYXJ5IGNv
bW1lbnQgYWZ0ZXIgcjE3OTExMAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247600</attachid>
            <date>2015-02-28 04:10:49 -0800</date>
            <delta_ts>2015-03-04 13:12:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150228141033.patch</filename>
            <type>text/plain</type>
            <size>74753</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwODE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
MmE2NGQxNDFjNmU5YjcyMjI4MjZlNmEzNDE3YTM3OGY5NTAzZWNjLi5iNzA1ZTU0Y2Y5ZWJjN2E4
YTJiZTdlYjM2YjRkZjA2ZGI1YzQ3ODJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw2OCBAQAorMjAxNS0wMi0yNyAgQWxleGFuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21h
aWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3lu
dGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4
NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICBBZGRlZCBmZWF0
dXJlIGZsYWcgRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rp
b24KKworICAgICAgICAqIHBhcnNlci9BU1RCdWlsZGVyLmg6CisgICAgICAgIChKU0M6OkFTVEJ1
aWxkZXI6OmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAgICAgQWRkZWQgZnVuY3Rpb24g
dGhhdCBjcmVhdGUgZXhwcmVzaW9uIGZvciBhcnJvdyBmdW5jdGlvbgorICAgICAgICAoSlNDOjpB
U1RCdWlsZGVyOjpjcmVhdGVBcnJvd0Z1bmNEZWNsU3RhdGVtZW50KToKKyAgICAgICAgQWRkZWQg
bWV0aG9kIHRvIGNyZWF0ZSBBcnJvdyBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjbG9zZSB0byBjb21t
b24gZnVuY3Rpb24gZGVjbGFyYXRpb24KKyAgICAgICAgCisgICAgICAgICogcGFyc2VyL0xleGVy
LmNwcDoKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24pOgorICAgICAg
ICBNZXRob2QgdGhhdCBhbGxvdyB0byBzZXQgY3VycmVjdCBwb3NpdGlvbiBmb3IgdGhlIHRvY2tl
biBvdXRzaWRlIHRoZSBMZXhlciBjbGFzCisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpsZXgpOgor
ICAgICAgICBNZXRob2QgY2hhbmdlZCB0byBzdXBwb3J0IG9mIHRoZSBhcnJvdyBmdW5jdGlvbgor
ICAgICAgICAqIHBhcnNlci9MZXhlci5oOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6c2V0VG9r
ZW5Qb3NpdGlvbik6CisgICAgICAgIERlY2xhcmF0aW9uIG9mIHRoZSBtZXRob2QgdGhhdCBhbGxv
dyB0byBzZXQgY3VycmVjdCBwb3NpdGlvbiBmb3IgdGhlIHRvY2tlbiBvdXRzaWRlIHRoZSBMZXhl
ciBjbGFzcyAKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFy
c2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMpOgorICAgICAgICBNb2RpZmllZCBt
ZXRob2QgdG8gc3VwcG9ydCB0d28gbWV0aG9kcyBvZiB0aGUgcGFyc2UganMgZnVuY3Rpb24uIFRo
ZSBmaXJzdCB0eXBlIGlzIHN0YW5kYXJkIGZ1bmN0aW9uIGFuZCBuZXcgdHlwZSBpcyBhcnJvdyBm
dW5jdGlvbi4KKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4
cHJlc3Npb24pOgorICAgICAgICBNb2RpZmllZCBtZXRob2QgdG8gc3VwcG9ydCB0d28gbWV0aG9k
cyBvZiB0aGUgcGFyc2UganMgZnVuY3Rpb24uIFRoZSBmaXJzdCB0eXBlIGlzIHN0YW5kYXJkIGZ1
bmN0aW9uIGFuZCBuZXcgdHlwZSBpcyBhcnJvdyBmdW5jdGlvbi4KKyAgICAgICAgKEpTQzo6UGFy
c2VyOjopOkFkZGVkIG5ldyBzdHJ1Y3R1cmUgdG8gc3VwcG9yZCBkaWZmZXJlbnQgdHlwZSBvZiBw
YXJzaW5nIHRoZSBmdW5jdGlvbgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU291cmNlRWxl
bWVudCk6IEFkZGVkIEZ1bmN0aW9uUGFyc2VUeXBlIGFzIHBhcmFtdGVyIGluIG1ldGhvZAorICAg
ICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KTogQWRkZWQgRnVuY3Rpb25QYXJzZVR5
cGUgYXMgcGFyYW10ZXIgaW4gbWV0aG9kLiBBZGRlZCBzZXBhcmF0ZWQgbG9naWMgZm9yIGVuZGlu
ZyAKKyAgICAgICAgdGhlIHN0YXRlbWVudCBpbiBjYXNlIG9mIHRoZSBwYXJzaW5nIGluIGFycm93
IGZ1bmN0aW9uIHR5cGUuIEFkZGVkIGxvZ2ljIHRvIHN1cHBvcnQgcGFyc2luZyB0aGUgc291cmNl
IGNvZGUgdGhhdCBmb2xsb3cgYWZ0ZSA9PiBzeW1ib2wKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpw
YXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKSBNb2RpZmllZCBtZXRob2QgdG8gc3VwcG9ydCBwYXJz
aW5nIHRoZSBhcnJvdyBmdW5jdGlvbgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlUHJpbWFy
eUV4cHJlc3Npb24pIE1vZGlmaWVkIG1ldGhvZCB0byBzdXBwb3J0IGNhc2Ugd2hlbiBhZnRlciBJ
REVOVCBpcyBnb2luZyB0aGUgYXJyb3cgZnVuY3Rpb24KKyAgICAgICAgKEpTQzo6UGFyc2VyOjpw
YXJzZUFycm93RXhwcmVzc2lvbik6IEFkZGVkIG1ldGhvZCBkZWNsYXJhdGlvbiB0aGF0IGlzIHJl
c3BvbnNpYmxlIHRvIHBhcnNlIGFycm93IGV4cHJlc3Npb24uCisgICAgICAgIChKU0M6OlBhcnNl
cjo6c2V0RW5kT2ZTdGF0ZW1lbnQpOiBBZGRlZCBtZXRob2QgdGhhdCB1c2VkIHRvIHNldCBjb3Jy
ZWN0IHBvc2l0aW9uIG9mIHRoZSBsZXhlcgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJy
b3dGdW5jdGlvbldyYXBwZXIpOiBBZGRlZCBtZXRob2QgdGhhdCBpcyBzdGFydGluZyBwb2ludCBp
biBwYXJzaW5nIG9mIHRoZSBhcnJvdyBmdW5jdGlvbgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBh
cnNlQXJyb3dGdW5jdGlvbkluZm8pOiBBZGRlZCBtZXRob2QgdGhhdCBpcyB1c2VkIHRvIHBhcnNl
IGZ1bmN0aW9uIHBhcmFtdGVycy4gQ2xvc2UgdG8gcGFyc2VGdW5jdGlvbkluZm8uIAorICAgICAg
ICBXYXMgbWFkZSBhcyB0aGUgc2VwYXJldGUgbWV0aG9kIHRvIHByZXZlbnQgcG9sbHV0aW9uIG9m
IHRoZSBsb2dpYyBwYXJzaW5nIHRoZSBzdGFuZGVyIGZ1bmN0aW9uLiAgCisgICAgICAgIENhbiBi
ZSBtZXJnZSB3aXRoIHBhcnNlRnVuY3Rpb25JbmZvIGFmdGVyIGFwcHJvdmluZyB0aGUgYXJyb3cg
ZnVuY3Rpb24gcGF0Y2gKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25C
b2R5KTpBZGRlZCBtZXRob2QgdGhhdCBpcyB1c2VkIHRvIHBhcnNlIGZ1bmN0aW9uIGJvZHkuIENs
b3NlIHRvIHBhcnNlRnVuY3Rpb25JbmZvLiAgICAgCisgICAgICAgIFdhcyBtYWRlIGFzIHRoZSBz
ZXBhcmV0ZSBtZXRob2QgdG8gcHJldmVudCBwb2xsdXRpb24gb2YgdGhlIGxvZ2ljIHBhcnNpbmcg
dGhlIHN0YW5kZXIgZnVuY3Rpb24uCisgICAgICAgIENhbiBiZSBtZXJnZSB3aXRoIHBhcnNlRnVu
Y3Rpb25JbmZvIGFmdGVyIGFwcHJvdmluZyB0aGUgYXJyb3cgZnVuY3Rpb24gcGF0Y2ggICAgICAg
IAorICAgICAgICAqIHBhcnNlci9QYXJzZXIuaDoKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpGdW5j
dGlvblBhcnNlVHlwZSk6QWRkZWQgbmV3IHN0cnVjdHVyZSB0byBzdXBwb3JkIGRpZmZlcmVudCB0
eXBlIG9mIHBhcnNpbmcgdGhlIGZ1bmN0aW9uCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VT
b3VyY2VFbGVtZW50KTogQWRkZWQgRnVuY3Rpb25QYXJzZVR5cGUgYXMgcGFyYW10ZXIgaW4gbWV0
aG9kCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VTdGF0ZW1lbnQpOiBBZGRlZCBGdW5jdGlv
blBhcnNlVHlwZSBhcyBwYXJhbXRlciBpbiBtZXRob2QKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpw
YXJzZUFycm93RXhwcmVzc2lvbik6IEFkZGVkIG1ldGhvZCBkZWNsYXJhdGlvbiB0aGF0IGlzIHJl
c3BvbnNpYmxlIHRvIHBhcnNlIGFycm93IGV4cHJlc3Npb24KKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpzZXRFbmRPZlN0YXRlbWVudCk6IEFkZGVkIG1ldGhvZCB0aGF0IHVzZWQgdG8gc2V0IGNvcnJl
Y3QgcG9zaXRpb24gb2YgdGhlIGxleGVyCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJv
d0Z1bmN0aW9uV3JhcHBlcik6IEFkZGVkIG1ldGhvZCB0aGF0IGlzIHN0YXJ0aW5nIHBvaW50IGlu
IHBhcnNpbmcgb2YgdGhlIGFycm93IGZ1bmN0aW9uCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFy
c2VBcnJvd0Z1bmN0aW9uSW5mbyk6IEFkZGVkIG1ldGhvZCB0aGF0IGlzIHVzZWQgdG8gcGFyc2Ug
ZnVuY3Rpb24gcGFyYW10ZXJzLiBDbG9zZSB0byBwYXJzZUZ1bmN0aW9uSW5mby4KKyAgICAgICAg
V2FzIG1hZGUgYXMgdGhlIHNlcGFyZXRlIG1ldGhvZCB0byBwcmV2ZW50IHBvbGx1dGlvbiBvZiB0
aGUgbG9naWMgcGFyc2luZyB0aGUgc3RhbmRlciBmdW5jdGlvbi4gCisgICAgICAgIENhbiBiZSBt
ZXJnZSB3aXRoIHBhcnNlRnVuY3Rpb25JbmZvIGFmdGVyIGFwcHJvdmluZyB0aGUgYXJyb3cgZnVu
Y3Rpb24gcGF0Y2ggCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uQm9k
eSk6QWRkZWQgbWV0aG9kIHRoYXQgaXMgdXNlZCB0byBwYXJzZSBmdW5jdGlvbiBib2R5LiBDbG9z
ZSB0byBwYXJzZUZ1bmN0aW9uSW5mby4gCisgICAgICAgIFdhcyBtYWRlIGFzIHRoZSBzZXBhcmV0
ZSBtZXRob2QgdG8gcHJldmVudCBwb2xsdXRpb24gb2YgdGhlIGxvZ2ljIHBhcnNpbmcgdGhlIHN0
YW5kZXIgZnVuY3Rpb24uICAKKyAgICAgICAgQ2FuIGJlIG1lcmdlIHdpdGggcGFyc2VGdW5jdGlv
bkluZm8gYWZ0ZXIgYXBwcm92aW5nIHRoZSBhcnJvdyBmdW5jdGlvbiBwYXRjaAorICAgICAgICAq
IHBhcnNlci9QYXJzZXJUb2tlbnMuaDoKKyAgICAgICAgQWRkZWQgbmV3IEFSUk9XRlVOQ1RJT04g
dG9ja2VuCisgICAgICAgICogcGFyc2VyL1NvdXJjZUNvZGUuaDoKKyAgICAgICAgKEpTQzo6U291
cmNlQ29kZTo6c3ViRXhwcmVzc2lvbkFycm93RnVuY3Rpb24pOkFkZGVkIGZ1bmN0aW9uIHRoYXQg
aXMgdXNlZCBmb3IgY3JlYXRpbmcgc291cmNlIGNvZGUgb2JqZWN0LiBMb2dpYyB0aGUgc2FtZQor
ICAgICAgICBhcyBpbiBzdWJFeHByZXNpb24gZnVuY3Rpb24gZXhjZXB0IGRpZmZlcmVudCBjaGVj
ayBmb3IgZW5kaW5nIHRoZSBleHByZXNzaW9uIAorICAgICAgICAqIHBhcnNlci9TeW50YXhDaGVj
a2VyLmg6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNyZWF0ZUFycm93RnVuY3Rpb25F
eHByKTogQWRkZWQgZGVmZW5pdGlvbiBvZiB0aGUgY3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIgY2xv
c2UgdG8gdGhlIGNyZWF0ZUZ1bmN0aW9uRXhwcgorCiAyMDE1LTAyLTI3ICBCZW5qYW1pbiBQb3Vs
YWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIFVzZSB0aGUgd2F5IG51
bWJlciBjb25zdGFudHMgYXJlIHdyaXR0ZW4gdG8gaGVscCB0eXBlIHNwZWN1bGF0aW9uCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggZGJmZjY2MmJhZjE1YzY0ODE4YzNjMTk4OGJiYTgwNTI3ZWYxMzc2My4uOGVmZDFh
NzM2ZGJmZDRlY2ZhNmE5MmQ2ODJiNzEzMDI2ZDA4YzM3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE5IEBACisyMDE1LTAyLTI3ICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5j
b20+CisKKyAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGZl
YXR1cmUgZmxhZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5j
dGlvbgorICAgICAgICBBZGRlZCB0ZXN0IGZvciBhcnJvdyBmdW5jdGlvbgorCisgICAgICAgIFRl
c3Q6IGpzL2Fycm93ZnVuY3Rpb24uaHRtbAorICAgICAgICAgICAgICBqcy9zY3JpcHQtdGVzdHMv
YXJyb3dmdW5jdGlvbi5qcworICAgICAgICAgICAgICBqcy9hcnJvd2Z1bmN0aW9uLWV4cGVjdGVk
LnR4dAorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6
CisKIDIwMTUtMDItMjcgIEh1bnNlb3AgSmVvbmcgIDxoczg1Lmplb25nQHNhbXN1bmcuY29tPgog
CiAgICAgICAgIFtFRkxdW0dUS10gRml4IGJ1aWxkIGJyZWFrIGFmdGVyIHIxODA3OTAsMTgwNzk4
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKaW5kZXggMTc2ZDBmMzlkZmRjNmVjOTg3ZjM5ZTU1OGQ5ZDE0ZGMyN2I2
NTk3Yi4uNjQxNTViNmJlZjBlYmFiNmI0MGRjMzMyZjQzMjFhZjdhZTU2MGZlNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTAyLTI3ICBTa2FjaGtvdiBBbGV4YW5kciAg
PGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJv
dyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0MDg1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYIGZvciBhcnJvdyBmdW5jdGlvbgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWc6CisKIDIwMTUtMDItMjYgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgRGF0YWJhc2VNYW5hZ2VyOjptYW5hZ2VyKCkgdG8g
RGF0YWJhc2VNYW5hZ2VyOjpzaW5nbGV0b24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDM1ZTg0ZmM3OGNhODlm
YTFlMDBkZGQxY2NhYTczNGEzYzZkODhkM2UuLjU3NTA5ZGRkNWJlNGQzYjA3YTk1N2Q3YWYyM2Nk
MDhlMTI1ZGY1OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNS0wMi0yNyAgU2th
Y2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIElt
cGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmZWF0dXJlIGZsYWcgRU5BQkxFX0VTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rpb24KKworCisgICAgICAgICogQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTUtMDItMjcgIEh1bnNl
b3AgSmVvbmcgIDxoczg1Lmplb25nQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdW0dUS10g
Rml4IGJ1aWxkIGJyZWFrIGFmdGVyIHIxODA3OTAsMTgwNzk4IApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCmluZGV4IDhmYzI0ODdmNmFlZTBmNzM5Y2ZkM2MwYTg0YWJjNzkxNTk0YTVlZTMuLmEyZTcz
YTFmMDM4NzcyZmIyMjBmMzI0ZmRjOWI1NTI0YjhmYTUxMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZB
U19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0g
OworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dGVU5D
VElPTl9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkc7CiBFTkFCTEVfQ1NQX05FWFQgPSA7CiBFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLID0gRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSzsKQEAgLTIxMCw0ICsyMTEs
NCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9B
UklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVS
RV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFC
TEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NB
Q0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19Q
Uk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5U
QVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFC
TEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQo
RU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAk
KEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVU
SU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQp
ICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19U
RVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNU
T01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9E
RVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9N
NF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZP
TlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFE
KSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVO
QUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJ
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BP
UE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5B
QkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5B
QkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChF
TkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9S
X1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVT
UykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJ
QV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFf
U1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5B
QkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMp
ICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxF
X1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VG
RklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFN
RSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNU
T1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5E
SU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMp
ICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9T
VkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVf
TlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVY
VF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05f
TE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1Rf
QUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFD
VUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAk
KEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NL
RVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJM
RV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQo
RU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVE
X0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitG
RUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAk
KEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFC
TEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FO
VkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNT
X1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JB
VElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNF
X0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdF
X09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NT
X1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hB
UEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAk
KEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVS
KSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkg
JChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAk
KEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVD
VE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9W
MikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAk
KEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBB
RF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0Vf
RE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VS
VklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01P
TlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykg
JChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdB
Q1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFC
TEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktf
UFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBU
KSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5B
QkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1Jf
U0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FU
T1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lU
X1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFC
TEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJM
RV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVF
U1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNP
TFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NT
X1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1T
X0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJM
RV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04p
ICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChF
TkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxF
X0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklE
RU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJM
RV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElP
KSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElD
VFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMp
ICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAk
KEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJ
QykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAppbmRleCBmYTY0OTUxYTlkZjJiNmI2NDUwNWZhMWVhMzdh
MTAwNGI5YThkOTk2Li5hYzg2YjFjMDE4M2VlMTZkN2YwNzIwNjkzMWZmOGM4ZmM0MWZmYzc2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaApAQCAtMzAzLDYgKzMw
MywxNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBuZXcgKG1fcGFyc2VyQXJlbmEpIEZ1bmN0
aW9uQm9keU5vZGUobV9wYXJzZXJBcmVuYSwgc3RhcnRMb2NhdGlvbiwgZW5kTG9jYXRpb24sIHN0
YXJ0Q29sdW1uLCBlbmRDb2x1bW4sIGluU3RyaWN0Q29udGV4dCk7CiAgICAgfQogCisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBFeHByZXNzaW9uTm9kZSogY3JlYXRl
QXJyb3dGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29uc3Qg
UGFyc2VyRnVuY3Rpb25JbmZvPEFTVEJ1aWxkZXI+JiBpbmZvLCB1bnNpZ25lZCBhcnJvd0Z1bmN0
aW9uS2V5d29yZFN0YXJ0KQorICAgIHsKKyAgICAgICAgRnVuY0V4cHJOb2RlKiByZXN1bHQgPSBu
ZXcgKG1fcGFyc2VyQXJlbmEpIEZ1bmNFeHByTm9kZShsb2NhdGlvbiwgKmluZm8ubmFtZSwgaW5m
by5ib2R5LAorICAgICAgICAgICAgbV9zb3VyY2VDb2RlLT5zdWJFeHByZXNzaW9uQXJyb3dGdW5j
dGlvbihpbmZvLm9wZW5CcmFjZU9mZnNldCwgaW5mby5jbG9zZUJyYWNlT2Zmc2V0LCBpbmZvLmJv
ZHlTdGFydExpbmUsIGluZm8uYm9keVN0YXJ0Q29sdW1uKSwgaW5mby5wYXJhbWV0ZXJzKTsKKyAg
ICAgICAgaW5mby5ib2R5LT5zZXRMb2MoaW5mby5ib2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlFbmRM
aW5lLCBsb2NhdGlvbi5zdGFydE9mZnNldCwgbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0KTsKKyAg
ICAgICAgaW5mby5ib2R5LT5zZXRGdW5jdGlvbktleXdvcmRTdGFydChhcnJvd0Z1bmN0aW9uS2V5
d29yZFN0YXJ0KTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisjZW5kaWYKKwogICAg
IHZvaWQgc2V0RnVuY3Rpb25OYW1lU3RhcnQoRnVuY3Rpb25Cb2R5Tm9kZSogYm9keSwgaW50IGZ1
bmN0aW9uTmFtZVN0YXJ0KQogICAgIHsKICAgICAgICAgYm9keS0+c2V0RnVuY3Rpb25OYW1lU3Rh
cnQoZnVuY3Rpb25OYW1lU3RhcnQpOwpAQCAtMzgxLDYgKzM5MiwxOSBAQCBwdWJsaWM6CiAgICAg
fQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFN0
YXRlbWVudE5vZGUqIGNyZWF0ZUFycm93RnVuY0RlY2xTdGF0ZW1lbnQoY29uc3QgSlNUb2tlbkxv
Y2F0aW9uJiBsb2NhdGlvbiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPEFTVEJ1aWxkZXI+JiBp
bmZvLCB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCkKKyAgICB7CisgICAgICAgIEZ1bmNE
ZWNsTm9kZSogZGVjbCA9IG5ldyAobV9wYXJzZXJBcmVuYSkgRnVuY0RlY2xOb2RlKGxvY2F0aW9u
LCAqaW5mby5uYW1lLCBpbmZvLmJvZHksCisgICAgICAgICAgICBtX3NvdXJjZUNvZGUtPnN1YkV4
cHJlc3Npb25BcnJvd0Z1bmN0aW9uKGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBpbmZvLmNsb3NlQnJh
Y2VPZmZzZXQsIGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1bW4pLCBpbmZv
LnBhcmFtZXRlcnMpOworICAgICAgICBpZiAoKmluZm8ubmFtZSA9PSBtX3ZtLT5wcm9wZXJ0eU5h
bWVzLT5hcmd1bWVudHMpCisgICAgICAgICAgICB1c2VzQXJndW1lbnRzKCk7CisgICAgICAgIG1f
c2NvcGUubV9mdW5jRGVjbGFyYXRpb25zLmFwcGVuZChkZWNsLT5ib2R5KCkpOworICAgICAgICBp
bmZvLmJvZHktPnNldEZ1bmN0aW9uS2V5d29yZFN0YXJ0KGZ1bmN0aW9uS2V5d29yZFN0YXJ0KTsK
KyAgICAgICAgcmV0dXJuIGRlY2w7CisgICAgfQorI2VuZGlmCisKICAgICBTdGF0ZW1lbnROb2Rl
KiBjcmVhdGVCbG9ja1N0YXRlbWVudChjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBK
U0M6OlNvdXJjZUVsZW1lbnRzKiBlbGVtZW50cywgaW50IHN0YXJ0TGluZSwgaW50IGVuZExpbmUp
CiAgICAgewogICAgICAgICBCbG9ja05vZGUqIGJsb2NrID0gbmV3IChtX3BhcnNlckFyZW5hKSBC
bG9ja05vZGUobG9jYXRpb24sIGVsZW1lbnRzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9M
ZXhlci5jcHAKaW5kZXggMWVjNjdkZjFiOGU4YzBkNzMxOTQ5YjEyNzJhOWJjNzVmZmY4MDE2Zi4u
OGMzZWExYmY3MDk3MzNlYTgxMTg3MjA0YjQ3YjQwNjkwZTAzYjFjMiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9MZXhlci5jcHAKQEAgLTEzOTMsNiArMTM5MywxOCBAQCBib29sIExleGVy
PFQ+OjpuZXh0VG9rZW5Jc0NvbG9uKCkKICAgICByZXR1cm4gY29kZSA8IG1fY29kZUVuZCAmJiAq
Y29kZSA9PSAnOic7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
dGVtcGxhdGUgPHR5cGVuYW1lIFQ+Cit2b2lkIExleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9uKEpT
VG9rZW4qIHRva2VuUmVjb3JkKQoreworICAgIEpTVG9rZW5EYXRhKiB0b2tlbkRhdGEgPSAmdG9r
ZW5SZWNvcmQtPm1fZGF0YTsKKyAgICB0b2tlbkRhdGEtPmxpbmUgPSBsaW5lTnVtYmVyKCk7Cisg
ICAgdG9rZW5EYXRhLT5vZmZzZXQgPSBjdXJyZW50T2Zmc2V0KCk7CisgICAgdG9rZW5EYXRhLT5s
aW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0KCk7CisgICAgQVNTRVJUKHRv
a2VuRGF0YS0+b2Zmc2V0ID49IHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0KTsKK30KKyNlbmRp
ZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KIEpTVG9rZW5UeXBlIExleGVyPFQ+OjpsZXgoSlNU
b2tlbiogdG9rZW5SZWNvcmQsIHVuc2lnbmVkIGxleGVyRmxhZ3MsIGJvb2wgc3RyaWN0TW9kZSkK
IHsKQEAgLTE0NTYsNyArMTQ2OCwxMiBAQCBzdGFydDoKICAgICAgICAgfQogICAgICAgICB0b2tl
biA9IEdUOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIENoYXJhY3RlckVxdWFsOgorICAgIGNh
c2UgQ2hhcmFjdGVyRXF1YWw6IHsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgICAgICB1aW50MzJfdCBzYXZlZGxpbmVOdW1iZXIgPSB0b2tlbkRhdGEtPmxpbmU7Cisg
ICAgICAgIHVpbnQzMl90IHNhdmVkT2Zmc2V0ID0gY3VycmVudE9mZnNldCgpOworICAgICAgICB1
aW50MzJfdCBzYXZlZExpbmVTdGFydE9mZnNldCA9IGN1cnJlbnRMaW5lU3RhcnRPZmZzZXQoKTsK
KyNlbmRpZgogICAgICAgICBzaGlmdCgpOwogICAgICAgICBpZiAobV9jdXJyZW50ID09ICc9Jykg
ewogICAgICAgICAgICAgc2hpZnQoKTsKQEAgLTE0NjgsOCArMTQ4NSwyMyBAQCBzdGFydDoKICAg
ICAgICAgICAgIHRva2VuID0gRVFFUTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9Cisg
ICAgICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlm
IChtX2N1cnJlbnQgPT0gJz4nKSB7CisgICAgICAgICAgICBzaGlmdCgpOworICAgICAgICAgICAg
dG9rZW4gPSBBUlJPV0ZVTkNUSU9OOworICAgICAgICAgICAgCisgICAgICAgICAgICB0b2tlbkRh
dGEtPmxpbmUgPSBzYXZlZGxpbmVOdW1iZXI7CisgICAgICAgICAgICB0b2tlbkRhdGEtPm9mZnNl
dCA9IHNhdmVkT2Zmc2V0OworICAgICAgICAgICAgdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQg
PSBzYXZlZExpbmVTdGFydE9mZnNldDsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgQVNTRVJU
KHRva2VuRGF0YS0+b2Zmc2V0ID49IHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0KTsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgdG9rZW4gPSBFUVVBTDsK
ICAgICAgICAgYnJlYWs7CisgICAgfQogICAgIGNhc2UgQ2hhcmFjdGVyTGVzczoKICAgICAgICAg
c2hpZnQoKTsKICAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnIScgJiYgcGVlaygxKSA9PSAnLScg
JiYgcGVlaygyKSA9PSAnLScpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvTGV4ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAppbmRl
eCA4MWI0MzM0ZDg0OWQ4M2U3NWZhZGFmZWY1NDIwODQxNmE4ZDE2ZDY2Li5lNjFmM2IyNDRiMzFk
MmFmMjZhMTNjYTUyOWE2MmU3NTZiOWM4NGMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL0xleGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9M
ZXhlci5oCkBAIC04NSw2ICs4NSw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldElzUmVwYXJzaW5n
KCkgeyBtX2lzUmVwYXJzaW5nID0gdHJ1ZTsgfQogICAgIGJvb2wgaXNSZXBhcnNpbmcoKSBjb25z
dCB7IHJldHVybiBtX2lzUmVwYXJzaW5nOyB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIHZvaWQgc2V0VG9rZW5Qb3NpdGlvbihKU1Rva2VuKiB0b2tlblJlY29y
ZCk7CisjZW5kaWYKICAgICBKU1Rva2VuVHlwZSBsZXgoSlNUb2tlbiosIHVuc2lnbmVkLCBib29s
IHN0cmljdE1vZGUpOwogICAgIGJvb2wgbmV4dFRva2VuSXNDb2xvbigpOwogICAgIGludCBsaW5l
TnVtYmVyKCkgY29uc3QgeyByZXR1cm4gbV9saW5lTnVtYmVyOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1BhcnNlci5jcHAKaW5kZXggNjMxOGZkNjM2YmViM2U3YjkxZDI4ZjY0OTZhZWQ5
YWY3YmQ4NzE4Yy4uNzg2MDYwMjc2NTVmZDRjOTI2YWJkMTg1YjNhZDMwYjYzMWRhYmZhMiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcApAQCAtMzIyLDkgKzMyMiwxMyBA
QCBib29sIFBhcnNlcjxMZXhlclR5cGU+OjphbGxvd0F1dG9tYXRpY1NlbWljb2xvbigpCiB7CiAg
ICAgcmV0dXJuIG1hdGNoKENMT1NFQlJBQ0UpIHx8IG1hdGNoKEVPRlRPSykgfHwgbV9sZXhlci0+
cHJldlRlcm1pbmF0b3IoKTsKIH0KLQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291cmNl
RWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZUVsZW1lbnRzTW9kZSBtb2RlLCBG
dW5jdGlvblBhcnNlVHlwZSB0eXBlKQorI2Vsc2UKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5
cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYgY29udGV4dCwg
U291cmNlRWxlbWVudHNNb2RlIG1vZGUpCisjZW5kaWYKIHsKICAgICBjb25zdCB1bnNpZ25lZCBs
ZW5ndGhPZlVzZVN0cmljdExpdGVyYWwgPSAxMjsgLy8gInVzZSBzdHJpY3QiLmxlbmd0aAogICAg
IFRyZWVTb3VyY2VFbGVtZW50cyBzb3VyY2VFbGVtZW50cyA9IGNvbnRleHQuY3JlYXRlU291cmNl
RWxlbWVudHMoKTsKQEAgLTMzMyw3ICszMzcsMTEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWwK
ICAgICB1bnNpZ25lZCBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMDsKICAgICBhdXRvIHNhdmVQ
b2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwogICAgIGJvb2wgaGFzU2V0U3RyaWN0ID0gZmFsc2U7
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB3aGlsZSAoVHJlZVN0
YXRlbWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVudChjb250ZXh0LCBkaXJlY3RpdmUsICZk
aXJlY3RpdmVMaXRlcmFsTGVuZ3RoLCB0eXBlKSkgeworI2Vsc2UKICAgICB3aGlsZSAoVHJlZVN0
YXRlbWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVudChjb250ZXh0LCBkaXJlY3RpdmUsICZk
aXJlY3RpdmVMaXRlcmFsTGVuZ3RoKSkgeworI2VuZGlmICAgICAgCiAgICAgICAgIGlmIChtb2Rl
ID09IENoZWNrRm9yU3RyaWN0TW9kZSAmJiAhc2Vlbk5vbkRpcmVjdGl2ZSkgewogICAgICAgICAg
ICAgaWYgKGRpcmVjdGl2ZSkgewogICAgICAgICAgICAgICAgIC8vICJ1c2Ugc3RyaWN0IiBtdXN0
IGJlIHRoZSBleGFjdCBsaXRlcmFsIHdpdGhvdXQgZXNjYXBlIHNlcXVlbmNlcyBvciBsaW5lIGNv
bnRpbnVhdGlvbi4KQEAgLTU3MSw2ICs1NzksMzIgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIFBhcnNlcjxMZXhlclR5cGU+Ojp0cnlQYXIK
ICAgICByZXR1cm4gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oY29udGV4dCwgRGVjb25zdHJ1
Y3RUb0V4cHJlc3Npb25zKTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rp
b25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAgQVNTRVJUKG1hdGNoKEFS
Uk9XRlVOQ1RJT04pKTsKKworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0
aW9uKCkpOworICAgIHNlbWFudGljRmFpbElmRmFsc2UoY3VycmVudFNjb3BlKCktPmlzRnVuY3Rp
b24oKSwgIlJldHVybiBzdGF0ZW1lbnRzIGFyZSBvbmx5IHZhbGlkIGluc2lkZSBhcnJvdyBmdW5j
dGlvbnMiKTsKKyAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigp
OworICAgIEpTVGV4dFBvc2l0aW9uIGVuZCA9IHRva2VuRW5kUG9zaXRpb24oKTsKKworICAgIG5l
eHQoKTsKKyAgICBUcmVlRXhwcmVzc2lvbiBleHByID0gcGFyc2VBcnJvd0V4cHJlc3Npb24oY29u
dGV4dCk7CisgICAgZmFpbElmRmFsc2UoZXhwciwgIkNhbm5vdCBwYXJzZSB0aGUgYXJyb3cgZnVu
Y3Rpb24gZXhwcmVzc2lvbiIpOworICAgIGVuZCA9IGxhc3RUb2tlbkVuZFBvc2l0aW9uKCk7CisK
KyAgICBib29sIGNvcnJlY0Fycm93RmluaXNoID0gbWF0Y2goU0VNSUNPTE9OKSB8fCBtYXRjaChD
T01NQSkgfHwgbWF0Y2goQ0xPU0VQQVJFTikgfHwgbWF0Y2goQ0xPU0VCUkFDRSkgfHwgbWF0Y2go
Q0xPU0VCUkFDS0VUKSB8fCBtYXRjaChFT0ZUT0spOworICAgIGZhaWxJZkZhbHNlKGNvcnJlY0Fy
cm93RmluaXNoLCAiRXhwZWN0ZWQgYSAnOycsICddJywgJ30nLCAnKScsIG9yICcsJyBmb2xsb3dp
bmcgYSBhcnJvdyBmdW5jdGlvbiBzdGF0ZW1lbnQiKTsKKworICAgIGVuZCA9IHRva2VuRW5kUG9z
aXRpb24oKTsKKyAgICBzZXRFbmRPZlN0YXRlbWVudCgpOworCisgICAgcmV0dXJuIGNvbnRleHQu
Y3JlYXRlUmV0dXJuU3RhdGVtZW50KGxvY2F0aW9uLCBleHByLCBzdGFydCwgZW5kKTsKK30KKyNl
bmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZURlY29uc3RydWN0aW9uUGF0dGVybihUcmVlQnVpbGRlciYgY29udGV4dCwgRGVjb25zdHJ1
Y3Rpb25LaW5kIGtpbmQsIGludCBkZXB0aCkKIHsKQEAgLTExMzgsOCArMTE3MiwxMyBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlQmxvY2tTdGF0ZW1lbgogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4K
K3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZp
ZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoLCBGdW5jdGlv
blBhcnNlVHlwZSB0eXBlKQorI2Vsc2UKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVy
KiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCkKKyNlbmRpZgog
ewogICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7CiAg
ICAgbV9zdGF0ZW1lbnREZXB0aCsrOwpAQCAtMTE0OCw2ICsxMTg3LDI4IEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VT
dGF0ZW1lbnQoVHJlCiAgICAgZmFpbElmU3RhY2tPdmVyZmxvdygpOwogICAgIFRyZWVTdGF0ZW1l
bnQgcmVzdWx0ID0gMDsKICAgICBib29sIHNob3VsZFNldEVuZE9mZnNldCA9IHRydWU7CisKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGJvb2wgaGFuZGxlZCA9IGZh
bHNlOworICAgIGlmICh0eXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAg
c3dpdGNoIChtX3Rva2VuLm1fdHlwZSkgeworICAgICAgICBjYXNlIENMT1NFUEFSRU46CisgICAg
ICAgIGNhc2UgQ0xPU0VCUkFDS0VUOgorICAgICAgICBjYXNlIENPTU1BOgorICAgICAgICBjYXNl
IFNFTUlDT0xPTjogeworICAgICAgICAgICAgcmVzdWx0ID0gMDsKKyAgICAgICAgICAgIGhhbmRs
ZWQgPSB0cnVlOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgZGVmYXVs
dDoKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGhhbmRsZWQp
CisgICAgICAgICAgICBnb3RvIGVuZFN0YXRlbWVuZXQ7Cit9CisjZW5kaWYKKwogICAgIHN3aXRj
aCAobV90b2tlbi5tX3R5cGUpIHsKICAgICBjYXNlIE9QRU5CUkFDRToKICAgICAgICAgcmVzdWx0
ID0gcGFyc2VCbG9ja1N0YXRlbWVudChjb250ZXh0KTsKQEAgLTExOTMsNiArMTI1NCwxMSBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAgIGNhc2UgQlJFQUs6CiAgICAgICAgIHJlc3VsdCA9
IHBhcnNlQnJlYWtTdGF0ZW1lbnQoY29udGV4dCk7CiAgICAgICAgIGJyZWFrOworI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2FzZSBBUlJPV0ZVTkNUSU9OOgorICAg
ICAgICByZXN1bHQgPSBwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoY29udGV4dCk7CisgICAg
ICAgIGJyZWFrOworI2VuZGlmCiAgICAgY2FzZSBSRVRVUk46CiAgICAgICAgIHJlc3VsdCA9IHBh
cnNlUmV0dXJuU3RhdGVtZW50KGNvbnRleHQpOwogICAgICAgICBicmVhazsKQEAgLTEyMzQsNiAr
MTMwMCw4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgICAgIGJyZWFrOwogICAgIH0K
IAorZW5kU3RhdGVtZW5ldDoKKwogICAgIGlmIChyZXN1bHQgJiYgc2hvdWxkU2V0RW5kT2Zmc2V0
KQogICAgICAgICBjb250ZXh0LnNldEVuZE9mZnNldChyZXN1bHQsIG1fbGFzdFRva2VuRW5kUG9z
aXRpb24ub2Zmc2V0KTsKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTI1NCw2ICsxMzIyLDIzIEBA
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUZvcm1hbFBhcmFtZXRlckxpc3QgUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlRm9yCiAgICAgcmV0dXJuIGxpc3Q7CiB9CiAKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlw
ZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUZ1bmN0aW9uQm9keSBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uQm9keShUcmVlQnVpbGRlciYgY29udGV4dCkK
K3sKKyAgICBKU1Rva2VuTG9jYXRpb24gc3RhcnRMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwor
ICAgIHVuc2lnbmVkIHN0YXJ0Q29sdW1uID0gdG9rZW5Db2x1bW4oKTsKKworICAgIERlcHRoTWFu
YWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7CisgICAgbV9zdGF0ZW1lbnRE
ZXB0aCA9IDA7CisgICAgdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkZ1bmN0aW9uQm9keUJ1aWxkZXIg
Ym9keUJ1aWxkZXIoY29uc3RfY2FzdDxWTSo+KG1fdm0pLCBtX2xleGVyLmdldCgpKTsKKworICAg
IGZhaWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMoYm9keUJ1aWxkZXIsIENoZWNrRm9yU3Ry
aWN0TW9kZSwgQXJyb3dGdW5jdGlvblBhcnNlVHlwZSksICJDYW5ub3QgcGFyc2UgYm9keSBvZiB0
aGlzIGFycm93IGZ1bmN0aW9uIik7CisgICAgdW5zaWduZWQgZW5kQ29sdW1uID0gdG9rZW5Db2x1
bW4oKTsKKyAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlv
biwgdG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBzdHJpY3RNb2RlKCkp
OworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGdW5jdGlvbkJvZHkgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlRnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewpAQCAtMTQwOSw2ICsxNDk0
LDEyNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgIHJldHVybiB0cnVlOwogfQogCisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBM
ZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImIGNvbnRleHQsIEZ1bmN0
aW9uUGFyc2VNb2RlIG1vZGUsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mIGluZm8p
Cit7CisgICAgQXV0b1BvcFNjb3BlUmVmIGZ1bmN0aW9uU2NvcGUodGhpcywgcHVzaFNjb3BlKCkp
OworICAgIGZ1bmN0aW9uU2NvcGUtPnNldElzRnVuY3Rpb24oKTsKKyAgICBpbnQgZnVuY3Rpb25O
YW1lU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CisgICAgY29uc3QgSWRl
bnRpZmllciogbGFzdEZ1bmN0aW9uTmFtZSA9IG1fbGFzdEZ1bmN0aW9uTmFtZTsKKyAgICBtX2xh
c3RGdW5jdGlvbk5hbWUgPSBudWxscHRyOworCisgICAgaWYgKCFtYXRjaChJREVOVCkgJiYgIW1h
dGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgc2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0
cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7CisgICAgICAgIGZhaWxXaXRoTWVz
c2FnZSgiRXhwZWN0ZWQgYW4gYXJyb3cgZnVuY3Rpb24gaW5wdXQgcGFyYW1ldGVyIik7CisgICAg
fSBlbHNlIHsKKyAgICAgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgICAgIGNv
bnN1bWUoT1BFTlBBUkVOKTsKKworICAgICAgICAgICAgaWYgKCFtYXRjaChDTE9TRVBBUkVOKSkg
eworICAgICAgICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9IHBhcnNlRm9ybWFsUGFyYW1ldGVy
cyhjb250ZXh0KTsKKyAgICAgICAgICAgICAgICBmYWlsSWZGYWxzZShpbmZvLnBhcmFtZXRlcnMs
ICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAiLCBzdHJpbmdGb3JGdW5jdGlvbk1v
ZGUobW9kZSkpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBjb25zdW1lT3JGYWlsKENM
T1NFUEFSRU4sICJFeHBlY3RlZCBhICcpJyBvciBhICcsJyBhZnRlciBhIHBhcmFtZXRlciBkZWNs
YXJhdGlvbiIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaW5mby5wYXJhbWV0ZXJz
ID0gcGFyc2VGb3JtYWxQYXJhbWV0ZXJzKGNvbnRleHQpOworICAgICAgICAgICAgZmFpbElmRmFs
c2UoaW5mby5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwg
c3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIG1h
dGNoT3JGYWlsKEFSUk9XRlVOQ1RJT04sICJFeHBlY3RlZCBhICc9PicgYWZ0ZXIgYXJyb3cgZnVu
Y3Rpb24gcGFyYW1ldGVyIGRlY2xhcmF0aW9uIik7CisKKyAgICBpbmZvLm9wZW5CcmFjZU9mZnNl
dCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKKyAgICBpbmZvLmJvZHlTdGFydExpbmUgPSB0b2tl
bkxpbmUoKTsKKyAgICBpbmZvLmJvZHlTdGFydENvbHVtbiA9IG1fdG9rZW4ubV9kYXRhLm9mZnNl
dCAtIG1fdG9rZW4ubV9kYXRhLmxpbmVTdGFydE9mZnNldDsKKworICAgIEpTVG9rZW5Mb2NhdGlv
biBzdGFydExvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CisKKyAgICAvLyBJZiB3ZSBrbm93IGFi
b3V0IHRoaXMgZnVuY3Rpb24gYWxyZWFkeSwgd2UgY2FuIHVzZSB0aGUgY2FjaGVkIGluZm8gYW5k
IHNraXAgdGhlIHBhcnNlciB0byB0aGUgZW5kIG9mIHRoZSBmdW5jdGlvbi4KKyAgICBpZiAoY29u
c3QgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0qIGNhY2hlZEluZm8gPSBUcmVlQnVpbGRlcjo6Q2Fu
VXNlRnVuY3Rpb25DYWNoZSA/IGZpbmRDYWNoZWRGdW5jdGlvbkluZm8oaW5mby5vcGVuQnJhY2VP
ZmZzZXQpIDogMCkgeworICAgICAgICAvLyBJZiB3ZSdyZSBpbiBhIHN0cmljdCBjb250ZXh0LCB0
aGUgY2FjaGVkIGZ1bmN0aW9uIGluZm8gbXVzdCBzYXkgaXQgd2FzIHN0cmljdCB0b28uCisgICAg
ICAgIEFTU0VSVCghc3RyaWN0TW9kZSgpIHx8IGNhY2hlZEluZm8tPnN0cmljdE1vZGUpOworICAg
ICAgICBKU1Rva2VuTG9jYXRpb24gZW5kTG9jYXRpb247CisKKyAgICAgICAgZW5kTG9jYXRpb24u
bGluZSA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VMaW5lOworICAgICAgICBlbmRMb2NhdGlvbi5z
dGFydE9mZnNldCA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VPZmZzZXQ7CisgICAgICAgIGVuZExv
Y2F0aW9uLmxpbmVTdGFydE9mZnNldCA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VMaW5lU3RhcnRP
ZmZzZXQ7CisKKyAgICAgICAgYm9vbCBlbmRDb2x1bW5Jc09uU3RhcnRMaW5lID0gKGVuZExvY2F0
aW9uLmxpbmUgPT0gaW5mby5ib2R5U3RhcnRMaW5lKTsKKyAgICAgICAgQVNTRVJUKGVuZExvY2F0
aW9uLnN0YXJ0T2Zmc2V0ID49IGVuZExvY2F0aW9uLmxpbmVTdGFydE9mZnNldCk7CisgICAgICAg
IHVuc2lnbmVkIGJvZHlFbmRDb2x1bW4gPSBlbmRDb2x1bW5Jc09uU3RhcnRMaW5lID8KKyAgICAg
ICAgZW5kTG9jYXRpb24uc3RhcnRPZmZzZXQgLSBtX3Rva2VuLm1fZGF0YS5saW5lU3RhcnRPZmZz
ZXQgOgorICAgICAgICBlbmRMb2NhdGlvbi5zdGFydE9mZnNldCAtIGVuZExvY2F0aW9uLmxpbmVT
dGFydE9mZnNldDsKKyAgICAgICAgdW5zaWduZWQgY3VycmVudExpbmVTdGFydE9mZnNldCA9IG1f
dG9rZW4ubV9sb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQ7CisKKyAgICAgICAgaW5mby5ib2R5ID0g
Y29udGV4dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgZW5kTG9jYXRpb24sIGlu
Zm8uYm9keVN0YXJ0Q29sdW1uLCBib2R5RW5kQ29sdW1uLCBjYWNoZWRJbmZvLT5zdHJpY3RNb2Rl
KTsKKworICAgICAgICBmdW5jdGlvblNjb3BlLT5yZXN0b3JlRnJvbVNvdXJjZVByb3ZpZGVyQ2Fj
aGUoY2FjaGVkSW5mbyk7CisgICAgICAgIGZhaWxJZkZhbHNlKHBvcFNjb3BlKGZ1bmN0aW9uU2Nv
cGUsIFRyZWVCdWlsZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUluZm8pLCAiUGFyc2VyIGVycm9yIik7
CisKKyAgICAgICAgaW5mby5jbG9zZUJyYWNlT2Zmc2V0ID0gY2FjaGVkSW5mby0+Y2xvc2VCcmFj
ZU9mZnNldDsKKworICAgICAgICBjb250ZXh0LnNldEZ1bmN0aW9uTmFtZVN0YXJ0KGluZm8uYm9k
eSwgZnVuY3Rpb25OYW1lU3RhcnQpOworICAgICAgICBtX3Rva2VuID0gY2FjaGVkSW5mby0+Y2xv
c2VCcmFjZVRva2VuKCk7CisgICAgICAgIGlmIChlbmRDb2x1bW5Jc09uU3RhcnRMaW5lKQorICAg
ICAgICAgICAgbV90b2tlbi5tX2xvY2F0aW9uLmxpbmVTdGFydE9mZnNldCA9IGN1cnJlbnRMaW5l
U3RhcnRPZmZzZXQ7CisKKyAgICAgICAgbV9sZXhlci0+c2V0T2Zmc2V0KG1fdG9rZW4ubV9sb2Nh
dGlvbi5lbmRPZmZzZXQsIG1fdG9rZW4ubV9sb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQpOworICAg
ICAgICBtX2xleGVyLT5zZXRMaW5lTnVtYmVyKG1fdG9rZW4ubV9sb2NhdGlvbi5saW5lKTsKKwor
ICAgICAgICBjb250ZXh0LnNldEVuZE9mZnNldChpbmZvLmJvZHksIG1fbGV4ZXItPmN1cnJlbnRP
ZmZzZXQoKSk7CisKKyAgICAgICAgbmV4dCgpOworICAgICAgICBpbmZvLmJvZHlFbmRMaW5lID0g
bV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9
CisgICAgbV9sYXN0RnVuY3Rpb25OYW1lID0gbGFzdEZ1bmN0aW9uTmFtZTsKKyAgICBQYXJzZXJT
dGF0ZSBvbGRTdGF0ZSA9IHNhdmVTdGF0ZSgpOworCisgICAgaW5mby5ib2R5ID0gcGFyc2VBcnJv
d0Z1bmN0aW9uQm9keShjb250ZXh0KTsKKyAgICByZXN0b3JlU3RhdGUob2xkU3RhdGUpOworICAg
IGZhaWxJZkZhbHNlKGluZm8uYm9keSwgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiB0aGlzICIs
IHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7CisgICAgY29udGV4dC5zZXRFbmRPZmZzZXQo
aW5mby5ib2R5LCBtX2xleGVyLT5jdXJyZW50T2Zmc2V0KCkpOworICAgIGlmIChmdW5jdGlvblNj
b3BlLT5zdHJpY3RNb2RlKCkgJiYgaW5mby5uYW1lKSB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJU
KG1vZGUgPT0gRnVuY3Rpb25Nb2RlKTsKKyAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKG1fdm0t
PnByb3BlcnR5TmFtZXMtPmFyZ3VtZW50cyA9PSAqaW5mby5uYW1lLCAiJyIsIGluZm8ubmFtZS0+
aW1wbCgpLCAiJyBpcyBub3QgYSB2YWxpZCBmdW5jdGlvbiBuYW1lIGluIHN0cmljdCBtb2RlIik7
CisgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09
ICppbmZvLm5hbWUsICInIiwgaW5mby5uYW1lLT5pbXBsKCksICInIGlzIG5vdCBhIHZhbGlkIGZ1
bmN0aW9uIG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsKKyAgICB9CisgICAgaW5mby5jbG9zZUJyYWNl
T2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgIHVuc2lnbmVkIGNsb3NlQnJhY2VM
aW5lID0gbV90b2tlbi5tX2RhdGEubGluZTsKKyAgICB1bnNpZ25lZCBjbG9zZUJyYWNlTGluZVN0
YXJ0T2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEubGluZVN0YXJ0T2Zmc2V0OworCisgICAgLy8gQ2Fj
aGUgdGhlIHRva2VuaXplciBzdGF0ZSBhbmQgdGhlIGZ1bmN0aW9uIHNjb3BlIHRoZSBmaXJzdCB0
aW1lIHRoZSBmdW5jdGlvbiBpcyBwYXJzZWQuCisgICAgLy8gQW55IGZ1dHVyZSByZXBhcnNpbmcg
Y2FuIHRoZW4gc2tpcCB0aGUgZnVuY3Rpb24uCisgICAgc3RhdGljIGNvbnN0IGludCBtaW5pbXVt
RnVuY3Rpb25MZW5ndGhUb0NhY2hlID0gMTY7CisgICAgc3RkOjp1bmlxdWVfcHRyPFNvdXJjZVBy
b3ZpZGVyQ2FjaGVJdGVtPiBuZXdJbmZvOworICAgIGludCBmdW5jdGlvbkxlbmd0aCA9IGluZm8u
Y2xvc2VCcmFjZU9mZnNldCAtIGluZm8ub3BlbkJyYWNlT2Zmc2V0OworICAgIGlmIChUcmVlQnVp
bGRlcjo6Q2FuVXNlRnVuY3Rpb25DYWNoZSAmJiBtX2Z1bmN0aW9uQ2FjaGUgJiYgZnVuY3Rpb25M
ZW5ndGggPiBtaW5pbXVtRnVuY3Rpb25MZW5ndGhUb0NhY2hlKSB7CisgICAgICAgIFNvdXJjZVBy
b3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJhbWV0ZXJzIHBhcmFtZXRlcnM7CisgICAgICAgIHBh
cmFtZXRlcnMuZnVuY3Rpb25OYW1lU3RhcnQgPSBmdW5jdGlvbk5hbWVTdGFydDsKKyAgICAgICAg
cGFyYW1ldGVycy5jbG9zZUJyYWNlTGluZSA9IGNsb3NlQnJhY2VMaW5lOworICAgICAgICBwYXJh
bWV0ZXJzLmNsb3NlQnJhY2VPZmZzZXQgPSBpbmZvLmNsb3NlQnJhY2VPZmZzZXQ7CisgICAgICAg
IHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldCA9IGNsb3NlQnJhY2VMaW5lU3Rh
cnRPZmZzZXQ7CisgICAgICAgIGZ1bmN0aW9uU2NvcGUtPmZpbGxQYXJhbWV0ZXJzRm9yU291cmNl
UHJvdmlkZXJDYWNoZShwYXJhbWV0ZXJzKTsKKyAgICAgICAgbmV3SW5mbyA9IFNvdXJjZVByb3Zp
ZGVyQ2FjaGVJdGVtOjpjcmVhdGUocGFyYW1ldGVycyk7CisKKyAgICB9CisgICAgY29udGV4dC5z
ZXRGdW5jdGlvbk5hbWVTdGFydChpbmZvLmJvZHksIGZ1bmN0aW9uTmFtZVN0YXJ0KTsKKworICAg
IGZhaWxJZkZhbHNlKHBvcFNjb3BlKGZ1bmN0aW9uU2NvcGUsIFRyZWVCdWlsZGVyOjpOZWVkc0Zy
ZWVWYXJpYWJsZUluZm8pLCAiUGFyc2VyIGVycm9yIik7CisKKyAgICBib29sIGVuZE9mQXJyb3dG
dW5jdGlvbiA9IG1hdGNoKFNFTUlDT0xPTikgfHwgbWF0Y2goQ09NTUEpIHx8IG1hdGNoKENMT1NF
UEFSRU4pIHx8IG1hdGNoKENMT1NFQlJBQ0UpIHx8IG1hdGNoKENMT1NFQlJBQ0tFVCk7CisgICAg
ZmFpbElmRmFsc2UoZW5kT2ZBcnJvd0Z1bmN0aW9uLCAiRXhwZWN0ZWQgdGhlIGNsb3NpbmcgJzsn
ICcsJyAnXScgJyknICd9JyBhZnRlciBhcnJvdyBmdW5jdGlvbiIpOworCisgICAgaWYgKG5ld0lu
Zm8pCisgICAgICAgIG1fZnVuY3Rpb25DYWNoZS0+YWRkKGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBX
VEY6Om1vdmUobmV3SW5mbykpOworCisgICAgaW5mby5ib2R5RW5kTGluZSA9IG1fbGFzdFRva2Vu
RW5kUG9zaXRpb24ubGluZTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0
ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
U3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb24oVHJl
ZUJ1aWxkZXImIGNvbnRleHQpCiB7CkBAIC0xNzIyLDYgKzE5MjgsMTggQEAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlm
U3RhdGVtZW50KFQKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVJZlN0YXRlbWVudChpZkxvY2F0
aW9uLCBjb25kaXRpb24sIHRydWVCbG9jaywgc3RhdGVtZW50U3RhY2subGFzdCgpLCBzdGFydCwg
ZW5kKTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0
ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
RXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0V4cHJlc3Npb24oVHJlZUJ1
aWxkZXImIGNvbnRleHQpCit7CisgICAgZmFpbElmU3RhY2tPdmVyZmxvdygpOworICAgIFRyZWVF
eHByZXNzaW9uIG5vZGUgPSBwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKGNvbnRleHQpOworICAg
IGZhaWxJZkZhbHNlKG5vZGUsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lvbiIpOworICAgIGNvbnRl
eHQuc2V0RW5kT2Zmc2V0KG5vZGUsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ub2Zmc2V0KTsKKyAg
ICByZXR1cm4gbm9kZTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBl
PgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VFeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewpAQCAtMTc2
OSw2ICsxOTg3LDM4IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBUcmVlQnVpbGRlcj4gVHJlZUV4cHJl
c3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXNzaWdubWVuCiAgICAgICAgIH0KICAgICAg
ICAgcmVzdG9yZVNhdmVQb2ludChzYXZlUG9pbnQpOwogICAgIH0KKworCisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Q
b2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgIGJvb2wgYXJyb3dGdW5jdGlvbkVtcHR5TGlz
dCA9IGZhbHNlOworICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgIG5leHQoKTsK
KyAgICAgICAgaWYgKG1hdGNoKENMT1NFUEFSRU4pKSB7CisgICAgICAgICAgICBuZXh0KCk7CisK
KyAgICAgICAgICAgIGlmIChtYXRjaChBUlJPV0ZVTkNUSU9OKSkKKyAgICAgICAgICAgICAgICBh
cnJvd0Z1bmN0aW9uRW1wdHlMaXN0ID0gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICgh
YXJyb3dGdW5jdGlvbkVtcHR5TGlzdCkKKyAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2
ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAgfQorI2VuZGlmCisKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFRyZWVFeHByZXNzaW9uIGxocyA9IHBhcnNlQ29uZGl0
aW9uYWxFeHByZXNzaW9uKGNvbnRleHQpOworICAgIGlmICghYXJyb3dGdW5jdGlvbkVtcHR5TGlz
dCkgeworICAgICAgICBmYWlsSWZGYWxzZShsaHMsICJDYW4Zbm90IHBhcnNlIGV4cHJlc3Npb24i
KTsKKyAgICAgICAgaWYgKGluaXRpYWxOb25MSFNDb3VudCAhPSBtX25vbkxIU0NvdW50KSB7Cisg
ICAgICAgICAgICBpZiAobV90b2tlbi5tX3R5cGUgPj0gRVFVQUwgJiYgbV90b2tlbi5tX3R5cGUg
PD0gT1JFUVVBTCkKKyAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWwoIkxlZnQgaGFuZCBzaWRl
IG9mIG9wZXJhdG9yICciLCBnZXRUb2tlbigpLCAiJyBtdXN0IGJlIGEgcmVmZXJlbmNlIik7CisK
KyAgICAgICAgICAgIHJldHVybiBsaHM7CisgICAgICAgIH0KKyAgICB9CisjZWxzZQorCiAgICAg
VHJlZUV4cHJlc3Npb24gbGhzID0gcGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24oY29udGV4dCk7
CiAgICAgZmFpbElmRmFsc2UobGhzLCAiQ2Fubm90IHBhcnNlIGV4cHJlc3Npb24iKTsKICAgICBp
ZiAoaW5pdGlhbE5vbkxIU0NvdW50ICE9IG1fbm9uTEhTQ291bnQpIHsKQEAgLTE3NzcsNyArMjAy
NywxNiBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbgogCiAgICAgICAgIHJldHVybiBsaHM7CiAg
ICAgfQorI2VuZGlmCiAgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICBpZiAobWF0Y2goQVJST1dGVU5DVElPTikpIHsKKyAgICAgICAgcmVzdG9yZVNhdmVQb2lu
dChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAgVHJlZUV4cHJlc3Npb24gbGhzID0g
cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihjb250ZXh0KTsKKyAgICAgICAgcmV0dXJuIGxoczsK
KyAgICB9CisjZW5kaWYKKwogICAgIGludCBhc3NpZ25tZW50U3RhY2sgPSAwOwogICAgIE9wZXJh
dG9yIG9wOwogICAgIGJvb2wgaGFkQXNzaWdubWVudCA9IGZhbHNlOwpAQCAtMjIwOSw2ICsyNDY4
LDIzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAgICAgIHJldHVybiBjb250ZXh0LnRo
aXNFeHByKGxvY2F0aW9uKTsKICAgICB9CiAgICAgY2FzZSBJREVOVDogeworI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIFNhdmVQb2ludCBzYXZlQXJyb3dGdW5j
dGlvblBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgICAgIEpTVGV4dFBvc2l0aW9uIHN0
YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlk
ZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CisgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2Nh
dGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgICAgICBuZXh0KCk7CisKKyAgICAgICAgaWYgKCFt
YXRjaChBUlJPV0ZVTkNUSU9OKSkgeworICAgICAgICAgICAgY3VycmVudFNjb3BlKCktPnVzZVZh
cmlhYmxlKGlkZW50LCBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09ICppZGVudCk7CisgICAg
ICAgICAgICBtX2xhc3RJZGVudGlmaWVyID0gaWRlbnQ7CisgICAgICAgICAgICByZXR1cm4gY29u
dGV4dC5jcmVhdGVSZXNvbHZlKGxvY2F0aW9uLCBpZGVudCwgc3RhcnQpOworICAgICAgICB9CisK
KyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICAg
ICAgVHJlZUV4cHJlc3Npb24gbGhzID0gcGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihjb250ZXh0
KTsKKyAgICAgICAgcmV0dXJuIGxoczsKKyNlbHNlCiAgICAgICAgIEpTVGV4dFBvc2l0aW9uIHN0
YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlk
ZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2Nh
dGlvbih0b2tlbkxvY2F0aW9uKCkpOwpAQCAtMjIxNiw2ICsyNDkyLDcgQEAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQ
cmltYXJ5RXhwcmUKICAgICAgICAgY3VycmVudFNjb3BlKCktPnVzZVZhcmlhYmxlKGlkZW50LCBt
X3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09ICppZGVudCk7CiAgICAgICAgIG1fbGFzdElkZW50
aWZpZXIgPSBpZGVudDsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUmVzb2x2ZShsb2Nh
dGlvbiwgaWRlbnQsIHN0YXJ0KTsKKyNlbmRpZgogICAgIH0KICAgICBjYXNlIFNUUklORzogewog
ICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwpA
QCAtMjM4OCw2ICsyNjY1LDMyIEBAIGVuZE1lbWJlckV4cHJlc3Npb246CiAgICAgcmV0dXJuIGJh
c2U7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUg
PHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4
cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoVHJl
ZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAgVHJlZUV4cHJlc3Npb24gYmFzZSA9IDA7CisgICAg
SlNUZXh0UG9zaXRpb24gZXhwcmVzc2lvblN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7Cisg
ICAgaW50IG5ld0NvdW50ID0gMDsKKyAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb247CisKKyAg
ICBpZiAobWF0Y2goSURFTlQpIHx8IG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgdW5zaWdu
ZWQgZnVuY3Rpb25LZXl3b3JkU3RhcnQgPSB0b2tlblN0YXJ0KCk7CisgICAgICAgIGxvY2F0aW9u
ID0gdG9rZW5Mb2NhdGlvbigpOworICAgICAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxk
ZXI+IGluZm87CisgICAgICAgIGluZm8ubmFtZSA9ICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxs
SWRlbnRpZmllcjsKKyAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlQXJyb3dGdW5jdGlvbkluZm8o
Y29udGV4dCwgRnVuY3Rpb25Nb2RlLCBpbmZvKSksICJDYW5ub3QgcGFyc2UgZnVuY3Rpb24gZXhw
cmVzc2lvbiIpOworICAgICAgICBiYXNlID0gY29udGV4dC5jcmVhdGVBcnJvd0Z1bmN0aW9uRXhw
cihsb2NhdGlvbiwgaW5mbywgZnVuY3Rpb25LZXl3b3JkU3RhcnQpOworICAgIH0gZWxzZQorICAg
ICAgICBiYXNlID0gcGFyc2VQcmltYXJ5RXhwcmVzc2lvbihjb250ZXh0KTsKKworICAgIGZhaWxJ
ZkZhbHNlKGJhc2UsICJDYW5ub3QgcGFyc2UgYmFzZSBleHByZXNzaW9uIik7CisgICAgd2hpbGUg
KG5ld0NvdW50LS0pCisgICAgICAgIGJhc2UgPSBjb250ZXh0LmNyZWF0ZU5ld0V4cHIobG9jYXRp
b24sIGJhc2UsIGV4cHJlc3Npb25TdGFydCwgbGFzdFRva2VuRW5kUG9zaXRpb24oKSk7CisgICAg
cmV0dXJuIGJhc2U7Cit9CisjZW5kaWYKKwogc3RhdGljIGNvbnN0IGNoYXIqIG9wZXJhdG9yU3Ry
aW5nKGJvb2wgcHJlZml4LCB1bnNpZ25lZCB0b2spCiB7CiAgICAgc3dpdGNoICh0b2spIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCmluZGV4IDUwMWMwMzY0NGQ1NTk3YjhhMWEx
YWYzZTlmOWM4MmUxODRlZDJkOGMuLjIxMGVmZGQyZGFhNjJlMmVkM2MwZGFlNTZjNjkwYjZjNjRl
ZjRlOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaApAQCAtODAsNiArODAs
OSBAQCBjbGFzcyBTb3VyY2VDb2RlOwogQ09NUElMRV9BU1NFUlQoTGFzdFVudGFnZ2VkVG9rZW4g
PCA2NCwgTGVzc1RoYW42NFVudGFnZ2VkVG9rZW5zKTsKIAogZW51bSBTb3VyY2VFbGVtZW50c01v
ZGUgeyBDaGVja0ZvclN0cmljdE1vZGUsIERvbnRDaGVja0ZvclN0cmljdE1vZGUgfTsKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorZW51bSBGdW5jdGlvblBhcnNlVHlwZSB7
IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUsIEFycm93RnVuY3Rpb25QYXJzZVR5cGUgfTsKKyNl
bmRpZgogZW51bSBGdW5jdGlvblJlcXVpcmVtZW50cyB7IEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMs
IEZ1bmN0aW9uTmVlZHNOYW1lIH07CiBlbnVtIEZ1bmN0aW9uUGFyc2VNb2RlIHsKICAgICBGdW5j
dGlvbk1vZGUsCkBAIC03MDAsOSArNzAzLDE1IEBAIHByaXZhdGU6CiAgICAgICAgIH0KICAgICAg
ICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0gICAgCisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJj
ZUVsZW1lbnRzIHBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVtZW50
c01vZGUsIEZ1bmN0aW9uUGFyc2VUeXBlIHR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBl
KTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VT
dGF0ZW1lbnQoVHJlZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNp
Z25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDAsIEZ1bmN0aW9uUGFyc2VUeXBlICBmdW5j
dGlvblBhcnNlVHlwZSA9IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOworI2Vsc2UKICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJzZVNvdXJj
ZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxlbWVudHNNb2RlKTsKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VTdGF0ZW1lbnQoVHJlZUJ1
aWxkZXImLCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZl
TGl0ZXJhbExlbmd0aCA9IDApOworI2VuZGlmCisKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRB
WCkKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VD
bGFzc0RlY2xhcmF0aW9uKFRyZWVCdWlsZGVyJik7CiAjZW5kaWYKQEAgLTcyNyw2ICs3MzYsOSBA
QCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVu
dCBwYXJzZUlmU3RhdGVtZW50KFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQmxvY2tTdGF0ZW1lbnQoVHJlZUJ1aWxkZXIm
KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNl
RXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBw
YXJzZUFycm93RXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOworI2VuZGlmCiAgICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFzc2lnbm1lbnRFeHByZXNz
aW9uKFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdB
WVNfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNlQ29uZGl0aW9uYWxFeHByZXNzaW9uKFRyZWVC
dWlsZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5F
IFRyZWVFeHByZXNzaW9uIHBhcnNlQmluYXJ5RXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOwpAQCAt
NzQ2LDYgKzc1OCwxMyBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZUV4cHJlc3Npb24gcGFyc2VWYXJEZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImLCBp
bnQmIGRlY2xhcmF0aW9ucywgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiYgbGFzdFBhdHRlcm4s
IFRyZWVFeHByZXNzaW9uJiBsYXN0SW5pdGlhbGl6ZXIsIEpTVGV4dFBvc2l0aW9uJiBpZGVudFN0
YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdEVuZCwg
VmFyRGVjbGFyYXRpb25MaXN0Q29udGV4dCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBORVZFUl9JTkxJTkUgVHJlZUNvbnN0RGVjbExpc3QgcGFyc2VDb25zdERlY2xhcmF0aW9u
TGlzdChUcmVlQnVpbGRlciYpOwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VB
cnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKFRy
ZWVCdWlsZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJ
TkUgYm9vbCBwYXJzZUFycm93RnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25QYXJz
ZU1vZGUsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mKTsKKyAgICB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZ1bmN0aW9uQm9keSBwYXJzZUFy
cm93RnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVyJik7CisjZW5kaWYKKwogICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4g
Y3JlYXRlQmluZGluZ1BhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0cnVjdGlvbktpbmQsIGNv
bnN0IElkZW50aWZpZXImLCBpbnQgZGVwdGgsIEpTVG9rZW4pOwogICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gcGFy
c2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0cnVjdGlvbktpbmQs
IGludCBkZXB0aCA9IDApOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJf
SU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gdHJ5UGFyc2VEZWNvbnN0cnVjdGlvblBh
dHRlcm5FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CkBAIC03NjYsNiArNzg1LDEzIEBAIHByaXZh
dGU6CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIGFsbG93QXV0b21hdGljU2VtaWNvbG9uKCk7
CiAgICAgfQorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2b2lk
IHNldEVuZE9mU3RhdGVtZW50KCkKKyAgICB7CisgICAgICAgIG1fbGV4ZXItPnNldFRva2VuUG9z
aXRpb24oJm1fdG9rZW4pOworICAgIH0KKyNlbmRpZgogICAgIAogICAgIGJvb2wgY2FuUmVjdXJz
ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJz
ZXJUb2tlbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgK
aW5kZXggM2ZmMjc5ODY2YWY2ZTI4NjkwYmMwN2M1ZjcyMWJjN2EzODA1NmVhMi4uNGM2M2RjMTIw
MDA3NDIxZTkxM2MxMzk0ZDNhOTE4YTlhYTJiMGJlMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCkBAIC03NSw2ICs3NSw5IEBAIGVudW0gSlNUb2tlblR5
cGUgewogICAgIEZJTkFMTFksCiAgICAgREVCVUdHRVIsCiAgICAgRUxTRSwKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEFSUk9XRlVOQ1RJT04sCisjZW5kaWYKICNp
ZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICBDTEFTU1RPS0VOLAogICAgIEVYVEVORFMs
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCmluZGV4IDczZDIzZGI4
MmFmMjVlYTQ2YzBmODk3ODVjZTQyNGJiNjBlYjYxYTcuLjdlNzJjNDQwZTg5ZTM1MWYzODNmNzA0
YzFmNzAzNDFjNTg4OGUxMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvU291cmNlQ29kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNl
Q29kZS5oCkBAIC0xMDQsNiArMTA0LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGludCBs
ZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2VuZENoYXIgLSBtX3N0YXJ0Q2hhcjsgfQogICAgICAg
ICAKICAgICAgICAgU291cmNlQ29kZSBzdWJFeHByZXNzaW9uKHVuc2lnbmVkIG9wZW5CcmFjZSwg
dW5zaWduZWQgY2xvc2VCcmFjZSwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKTsKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBTb3VyY2VDb2RlIHN1
YkV4cHJlc3Npb25BcnJvd0Z1bmN0aW9uKHVuc2lnbmVkIG9wZW5CcmFjZSwgdW5zaWduZWQgY2xv
c2VCcmFjZSwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKTsKKyNlbmRpZgogCiAgICAg
cHJpdmF0ZToKICAgICAgICAgUmVmUHRyPFNvdXJjZVByb3ZpZGVyPiBtX3Byb3ZpZGVyOwpAQCAt
MTE4LDYgKzEyMSwxNiBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgcmV0dXJuIFNvdXJjZUNv
ZGUoU3RyaW5nU291cmNlUHJvdmlkZXI6OmNyZWF0ZShzb3VyY2UsIHVybCwgc3RhcnRQb3NpdGlv
biksIHN0YXJ0UG9zaXRpb24ubV9saW5lLm9uZUJhc2VkSW50KCksIHN0YXJ0UG9zaXRpb24ubV9j
b2x1bW4ub25lQmFzZWRJbnQoKSk7CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICBpbmxpbmUgU291cmNlQ29kZSBTb3VyY2VDb2RlOjpzdWJFeHByZXNz
aW9uQXJyb3dGdW5jdGlvbih1bnNpZ25lZCBvcGVuQnJhY2UsIHVuc2lnbmVkIGNsb3NlQnJhY2Us
IGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbikKKyAgICB7CisgICAgICAgIEFTU0VSVChw
cm92aWRlcigpLT5zb3VyY2UoKVtvcGVuQnJhY2VdID09ICc9JyAmJiBwcm92aWRlcigpLT5zb3Vy
Y2UoKVtvcGVuQnJhY2UgKyAxXSA9PSAnPicpOworICAgICAgICBBU1NFUlQocHJvdmlkZXIoKS0+
c291cmNlKClbY2xvc2VCcmFjZSAtIDFdID09ICc7JyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtj
bG9zZUJyYWNlIC0gMV0gPT0gJywnIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2Nsb3NlQnJhY2Ug
LSAxXSA9PSAnKScgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbY2xvc2VCcmFjZSAtIDFdID09ICdd
JyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtjbG9zZUJyYWNlIC0gMV0gPT0gJ30nKTsKKyAgICAg
ICAgc3RhcnRDb2x1bW4gKz0gMTsgLy8gQ29udmVydCB0byBiYXNlIDEuCisgICAgICAgIHJldHVy
biBTb3VyY2VDb2RlKHByb3ZpZGVyKCksIG9wZW5CcmFjZSwgY2xvc2VCcmFjZSAtIDEsIGZpcnN0
TGluZSwgc3RhcnRDb2x1bW4pOworICAgIH0KKyNlbmRpZgorCiAgICAgaW5saW5lIFNvdXJjZUNv
ZGUgU291cmNlQ29kZTo6c3ViRXhwcmVzc2lvbih1bnNpZ25lZCBvcGVuQnJhY2UsIHVuc2lnbmVk
IGNsb3NlQnJhY2UsIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbikKICAgICB7CiAgICAg
ICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtvcGVuQnJhY2VdID09ICd7Jyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCmluZGV4IDU4ODRmYjI4
MmU3NTYxYTY1ODZkMGY2ZTFkYTU5MTUxYjhkNTRhNDcuLjgzMmJlNzU2NmYzOGIwNjJkMzJlNDlk
MzkwYmFkNDVlYmZmZDFkNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvU3ludGF4Q2hlY2tlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3lu
dGF4Q2hlY2tlci5oCkBAIC0xNjksNiArMTY5LDkgQEAgcHVibGljOgogI2VuZGlmCiAgICAgRXhw
cmVzc2lvblR5cGUgY3JlYXRlRnVuY3Rpb25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNv
bnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50YXhDaGVja2VyPiYsIGludCkgeyByZXR1cm4gRnVu
Y3Rpb25FeHByOyB9CiAgICAgaW50IGNyZWF0ZUZ1bmN0aW9uQm9keShjb25zdCBKU1Rva2VuTG9j
YXRpb24mLCBjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBpbnQsIGludCwgYm9vbCkgeyByZXR1cm4g
RnVuY3Rpb25Cb2R5UmVzdWx0OyB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihjb25zdCBKU1Rv
a2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4mLCBp
bnQpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQorI2VuZGlmCiAgICAgdm9pZCBzZXRGdW5jdGlv
bk5hbWVTdGFydChpbnQsIGludCkgeyB9CiAgICAgaW50IGNyZWF0ZUFyZ3VtZW50cygpIHsgcmV0
dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQogICAgIGludCBjcmVhdGVBcmd1bWVudHMoaW50KSB7IHJl
dHVybiBBcmd1bWVudHNSZXN1bHQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOGZjMjQ4N2Y2YWVlMGY3Mzlj
ZmQzYzBhODRhYmM3OTE1OTRhNWVlMy4uYTJlNzNhMWYwMzg3NzJmYjIyMGYzMjRmZGM5YjU1MjRi
OGZhNTExYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRI
ID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZf
Q0xBU1NfU1lOVEFYID0gOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJM
RV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ1NQX05FWFQgPSA7CiBFTkFCTEVfQ1NT
X0JPWF9ERUNPUkFUSU9OX0JSRUFLID0gRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSzsK
QEAgLTIxMCw0ICsyMTEsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FU
VVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhN
RVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1ND
Uk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1F
TlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQo
RU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxF
X0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9D
U1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1Nf
Q09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NT
X0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NT
U19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NF
TEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkg
JChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZ
KSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQ
T1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lU
RU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElP
TikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVM
XzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAk
KEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dF
T0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChF
TkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQo
RU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVf
VElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NT
U19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVO
QUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1M
KSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFC
TEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9S
X0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJM
RV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVS
X0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVO
QUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNU
X0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxF
X1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5B
QkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQ
RUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZ
UFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVO
QUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVO
VCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5B
QkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0sp
ICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQo
RU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQo
RU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJf
VElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQo
RU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChF
TkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5U
QVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZM
T1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRf
RUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFU
SCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChF
TkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElP
TikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAk
KEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVY
VF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9N
X1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFU
QUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVU
QUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRf
RVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05U
X0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkg
JChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFT
RSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BP
VkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJM
RV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVT
KSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1Mp
ICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFf
Q09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJM
RV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAk
KEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9Q
Uk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJ
WF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUp
ICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9S
KSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElO
RykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAk
KEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05V
TUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xP
QURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VF
X1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChF
TkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VU
UykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVf
V0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVO
QUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9M
QVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwppbmRleCA4ZmMyNDg3ZjZhZWUwZjczOWNmZDNjMGE4NGFiYzc5MTU5NGE1ZWUz
Li5hMmU3M2ExZjAzODc3MmZiMjIwZjMyNGZkYzliNTUyNGI4ZmE1MTFjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFT
X1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
ID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSA7
CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJ
TFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05f
QlJFQUsgPSBFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLOwpAQCAtMjEwLDQgKzIxMSw0
IEBAIEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FS
SVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJE
X0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJM
RV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FD
SEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BS
T1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRB
WCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJM
RV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChF
TkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQo
RU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkg
JChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RF
WFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RP
TV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RB
VEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RF
VEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000
X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9F
TkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9O
VF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQp
ICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5B
QkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJB
U0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Up
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9Q
T1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFC
TEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNT
KSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElB
X0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFC
TEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykg
JChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVf
UFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZG
SVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1F
KSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RP
UikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJ
TkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykg
JChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NW
R19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9O
VU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9M
T0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9B
TEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNV
RV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQo
RU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tF
VFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxF
X1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChF
TkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURf
TEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZF
QVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFU
RURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQo
RU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJM
RV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5W
QVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1Nf
U1lOVEFYKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFU
SU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0Vf
QURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1Nf
UkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQ
RVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQo
RU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIp
ICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAk
KEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQo
RU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNU
T1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1Yy
KSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQo
RU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFE
X0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9E
T01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJW
SUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9O
VEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAk
KEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19Q
UkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQp
ICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFC
TEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9T
Q0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRP
Ul9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRf
UExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJM
RV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxF
X1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVT
VF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09M
VVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1Nf
U0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNf
QVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVf
Q1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURF
TykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxF
X1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8p
ICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNU
VVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykg
JChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQo
RU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElD
KSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9X
ZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDhmYzI0
ODdmNmFlZTBmNzM5Y2ZkM2MwYTg0YWJjNzkxNTk0YTVlZTMuLmEyZTczYTFmMDM4NzcyZmIyMjBm
MzI0ZmRjOWI1NTI0YjhmYTUxMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00NSw2ICs0NSw3IEBAIEVOQUJM
RV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkg
PSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7
CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9T
WU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0g
OwogRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSyA9IEVOQUJMRV9DU1NfQk9YX0RFQ09S
QVRJT05fQlJFQUs7CkBAIC0yMTAsNCArMjExLDQgQEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsK
IAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURf
TEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRF
UklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRF
RF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRU
QUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NB
TlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklO
RykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykg
JChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04p
ICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQo
RU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJM
RV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJT
T1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9E
QVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFU
QV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJ
Q0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVf
RklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxM
U0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVE
KSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RI
Uk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9M
UykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9J
Tl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikg
JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lS
RUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5B
QkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dF
Ql9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQo
RU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9N
RURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VM
RU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5B
QkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJS
RU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChF
TkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZ
X0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChF
TkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBM
RVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElB
X1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQ
KSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFC
TEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NP
TlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RF
TVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElO
R19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxF
X1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVf
Q1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9X
RUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykg
JChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hI
Ul9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElO
VF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVf
VklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0Rf
UkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJM
RV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFC
TEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9N
RVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9O
RVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01Q
T1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJ
RF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lN
QUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNU
T1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVO
QUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQo
RU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQp
ICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMp
ICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikg
JChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5B
QkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9D
QVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJM
RV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFC
TEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVM
T0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1F
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RB
UkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRP
U0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xF
R0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxF
X0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQo
RU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVO
QUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9N
SFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09O
VEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9D
SykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxF
X1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5J
TUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVN
T1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVf
UlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNI
X1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8p
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxF
X1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAk
KEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
VE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVf
VVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChF
TkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFC
TEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFC
TEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1J
TkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFC
TEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJM
RV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElP
Tl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZSBi
L1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQppbmRleCA4ODcyNjE3MjY0MDgzNDRh
YjAyNTJjOWMwZWYxZmM5NzdkMDYzZmJhLi4wNTAwMzcyY2I4NDU0ZDg0ODY3ZTY0MmU2OTc3MDFj
ZGQwOWYyOGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UK
KysrIGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCkBAIC0yOCw2ICsyOCw3IEBA
IG1hY3JvKFdFQktJVF9PUFRJT05fQkVHSU4pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5B
QkxFX0NBTlZBU19QUk9YWSAiVG9nZ2xlIENhbnZhc1Byb3h5IHN1cHBvcnQiIE9GRikKICAgICBX
RUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgIlRvZ2dsZSBNZXNz
YWdlQ2hhbm5lbCBhbmQgTWVzc2FnZVBvcnQgc3VwcG9ydCIgT04pCiAgICAgV0VCS0lUX09QVElP
Tl9ERUZJTkUoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggIlRvZ2dsZSBFUzYgY2xhc3Mgc3ludGF4
IHN1cHBvcnQiIE9GRikKKyAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYICJUb2dnbGUgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheCBzdXBwb3J0
IiBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcg
IlRvZ2dsZSBjb250ZW50IGZpbHRlcmluZyBzdXBwb3J0IiBPRkYpCiAgICAgV0VCS0lUX09QVElP
Tl9ERUZJTkUoRU5BQkxFX0NPTlRFWFRfTUVOVVMgIlRvZ2dsZSBDb250ZXh0IE1lbnUgc3VwcG9y
dCIgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NTUF9ORVhUICJUb2dnbGUg
Q29udGVudCBTZWN1cml0eSBQb2xpY3kgMS4xIHN1cHBvcnQiIE9GRikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlIGIvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UKaW5k
ZXggMWE3NDVjYTVjZDg5ZmIyMDA4MmY3N2JjMDI2ODhhOWIwYjRiZDRiOS4uMzEwNmI1ZWEwODRi
Mzg0MzFkOTU5OTQ0YzZjYTE4MWYyZmNlMjFmZiAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlY29u
ZmlnLmguY21ha2UKKysrIGIvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UKQEAgLTEzLDYgKzEz
LDcgQEAKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9DQU5WQVNfUFJPWFkKICNjbWFrZWRlZmluZTAx
IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORwogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0VTNl9DTEFT
U19TWU5UQVgKKyNjbWFrZWRlZmluZTAxIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgK
ICNjbWFrZWRlZmluZTAxIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORwogI2NtYWtlZGVmaW5lMDEg
RU5BQkxFX0NPTlRFWFRfTUVOVVMKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9DUkVERU5USUFMX1NU
T1JBR0UKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRl
eCBhNmJiZTI1YzJhNmRkOTIzMDk1MDZiZjcxY2I4ZTI2ZmJkNDcyZDkxLi42NGJmODA3NzhmZDZh
ODYwNDg0ZDg4MGViYzIyMDgwM2RiNTE3Yjk2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cK
KysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDItMjcgIFNrYWNo
a292IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBs
ZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVggZm9yIGFycm93IGZ1bmN0aW9uCisKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG06CisKIDIwMTUtMDItMjcgIFNhbSBXZWluaWcgIDxz
YW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgV2ViS2l0MiBTUEkgdG8gY3JlYXRlIGEgRE9N
IEZpbGUgb2JqZWN0CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVy
ZUxpc3QucG0gYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KaW5kZXgg
MzU0MjVmNWU0YjU1NWFmMzAwMzJkMjFlZTNjYWVjNjg1NGY3OWE0Yi4uYTZiYzlhOGZlYmQxYWU0
YjJjNzU2MmNkNTFhOTJjMzhjNjM5ZjkxZiAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRwZXJsL0ZlYXR1cmVMaXN0LnBtCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0
dXJlTGlzdC5wbQpAQCAtNDQsNiArNDQsNyBAQCBCRUdJTiB7CiBteSAoCiAgICAgJHRocmVlRFJl
bmRlcmluZ1N1cHBvcnQsCiAgICAgJGFjY2VsZXJhdGVkMkRDYW52YXNTdXBwb3J0LAorICAgICRh
cnJvd2Z1bmN0aW9uU3ludGF4LAogICAgICRiYXR0ZXJ5U3RhdHVzU3VwcG9ydCwKICAgICAkY2Fu
dmFzUGF0aFN1cHBvcnQsCiAgICAgJGNhbnZhc1Byb3h5U3VwcG9ydCwKQEAgLTE2OSw2ICsxNzAs
OSBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAgeyBvcHRpb24gPT4gImNsYXNzLXN5bnRheCIsIGRl
c2MgPT4gIlRvZ2dsZSBFUzYgY2xhc3Mgc3ludGF4IHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+
ICJFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCIsIGRlZmF1bHQgPT4gMCwgdmFsdWUgPT4gXCRjbGFz
c1N5bnRheCB9LAogCisgICAgeyBvcHRpb24gPT4gImFycm93ZnVuY3Rpb24tc3ludGF4IiwgZGVz
YyA9PiAiVG9nZ2xlIEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXggc3VwcG9ydCIsCisgICAgICBk
ZWZpbmUgPT4gIkVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgiLCBkZWZhdWx0ID0+IDEs
IHZhbHVlID0+IFwkYXJyb3dmdW5jdGlvblN5bnRheCB9LAorCiAgICAgeyBvcHRpb24gPT4gImNz
cC1uZXh0IiwgZGVzYyA9PiAiVG9nZ2xlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IDEuMSBzdXBw
b3J0IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0NTUF9ORVhUIiwgZGVmYXVsdCA9PiBpc0d0
aygpLCB2YWx1ZSA9PiBcJGNzcE5leHRTdXBwb3J0IH0sCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0MTBhODUyMjFlMzI1
YmFiNjU0NGVhZDRhZDIwZjE0MDM2NGY2OTQ4Li5hNzRlN2Y2ZTE5MGVlZWFhMjAxZWFiOGY5NzBm
NTkxNzJlMDQ2ODc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTUtMDItMjcgIFNrYWNoa292
IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1l
bnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBqcy9hcnJvd2Z1bmN0aW9uLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICoganMvYXJyb3dmdW5jdGlvbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBq
cy9zY3JpcHQtdGVzdHMvYXJyb3dmdW5jdGlvbi5qczogQWRkZWQuCisgICAgICAgIChhcnJvd0Z1
bmN0aW9uV3JhcHBlcik6CisgICAgICAgIChhcnJvd0Z1bmN0aW9uV3JhcHBlcjIpOgorCiAyMDE1
LTAyLTI3ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgU3VicGl4
ZWwtbGF5b3V0OiB3aWR0aDogbWF4LWNvbnRlbnQ7IHByb3BlcnR5IG1pZ2h0IGNhdXNlIHVubmVj
ZXNzYXJ5IHNjcm9sbGJhci4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2Fycm93ZnVuY3Rp
b24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvYXJyb3dmdW5jdGlvbi1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNWIzOWU2NjU4N2Y4MDliYzJiNTA2YjA5MWZmZDliNDliNGQyNTgxMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2Fycm93ZnVuY3Rpb24tZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMzQgQEAKK1RoaXMgdGVzdCBjaGVjayB0aGUgYmVoYXZpb3Igb2YgdGhl
IG9mIGFycm93IGZ1bmN0aW9uKHRoaW4gY2FzZSkKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK1BBU1MgYXJyb3dGdW5jdGlvbjAoMTApIGlzIDExCitQQVNTIGFycm93RnVuY3Rpb24x
KDEwKSBpcyAxMQorUEFTUyBhcnJvd0Z1bmN0aW9uMigpIGlzIDEwMDAKK1BBU1MgYXJyb3dGdW5j
dGlvbjMoMTAsIDIpIGlzIDEyCitQQVNTIGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4gMTApIGlz
IDEwCitQQVNTIGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4gMTAsIDIwKSBpcyAxMAorUEFTUyBh
cnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEwICsgMzApIGlzIDQwCitQQVNTIGFycm93RnVuY3Rp
b25XcmFwcGVyKHggPT4gMTAgKyAzMCwgMTAwMCkgaXMgNDAKK1BBU1MgYXJyb3dGdW5jdGlvbldy
YXBwZXIoeCA9PiB4ICsgMSwgMjEpIGlzIDIyCitQQVNTIGFycm93RnVuY3Rpb25XcmFwcGVyKCh4
KSA9PiB4ICsgMSwgMjEpIGlzIDIyCitQQVNTIGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEw
MCkgaXMgMTAwCitQQVNTIGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCwgMTEpIGlzIDEw
MAorUEFTUyBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiAxMDAgKyAxMCkgaXMgMTEwCitQQVNT
IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCArIDEwLCAxMikgaXMgMTEwCitQQVNTIGFy
cm93RnVuY3Rpb25XcmFwcGVyMigoeCwgIHkpID0+IHggKyB5LCAyMSwgNSkgaXMgMjYKK1BBU1Mg
YXJyb3dGdW5jdGlvbjQoMTAxKSBpcyAxMDIKK1BBU1MgeHl6MSBpcyAxMDEwMQorUEFTUyBhcnJv
d0Z1bmN0aW9BcnJheTBbMF0oMTApIGlzIDEwMAorUEFTUyBhcnJvd0Z1bmN0aW9BcnJheTFbMF0o
MTApIGlzIDExCitQQVNTIGFycm93RnVuY3Rpb0FycmF5MVsxXSgxMSkgaXMgMTMKK1BBU1MgYXJy
b3dGdW5jdGlvQXJyYXkyWzBdKDExKSBpcyAxMgorUEFTUyBhcnJvd0Z1bmN0aW9BcnJheTJbMV0o
MTEpIGlzIDEzCitQQVNTIGFycm93RnVuY3Rpb0FycmF5M1swXSgxMSkgaXMgMTAxCitQQVNTIGFy
cm93RnVuY3Rpb0FycmF5M1sxXSgxMSkgaXMgMTIzMjMKK1BBU1MgYXJyb3dGdW5jdGlvbk9iai5m
dW5jKDExKSBpcyAyMworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2Fycm93ZnVuY3Rpb24uaHRtbCBi
L0xheW91dFRlc3RzL2pzL2Fycm93ZnVuY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MzcyZjBmNzJh
MDA0YWNlYTcxNzgxZTZmZTQ0ZDgyMzY5ZmY2MDA0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvanMvYXJyb3dmdW5jdGlvbi5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvYXJyb3dmdW5jdGlvbi5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMv
YXJyb3dmdW5jdGlvbi5qcyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9hcnJvd2Z1bmN0
aW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmFmOWUyMjMxMzE1NmJiM2M0ODllZjE0NTQyMWQ3OTMwMWI0NjZj
MGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvYXJyb3dm
dW5jdGlvbi5qcwpAQCAtMCwwICsxLDQ4IEBACitkZXNjcmlwdGlvbigKKyJUaGlzIHRlc3QgY2hl
Y2sgdGhlIGJlaGF2aW9yIG9mIHRoZSAgb2YgYXJyb3cgZnVuY3Rpb24odGhpbiBjYXNlKSIKKyk7
CisKK3ZhciBhcnJvd0Z1bmN0aW9uMCA9IHYgPT4gdiArIDE7Cit2YXIgYXJyb3dGdW5jdGlvbjEg
PSAodikgPT4gdiArIDE7Cit2YXIgYXJyb3dGdW5jdGlvbjIgPSAoKSA9PiAxMDAwOwordmFyIGFy
cm93RnVuY3Rpb24zID0gKHYsIHgpID0+IHYgKyB4OwordmFyIGFycm93RnVuY3Rpb25XcmFwcGVy
ID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRlcikgeyByZXR1cm4gY2wocGFyYW10ZXIpOyB9OwordmFy
IGFycm93RnVuY3Rpb25XcmFwcGVyMiA9IGZ1bmN0aW9uIChjbCwgcGFyYW10ZXIxLCBwYXJhbXRl
cjIpIHsgcmV0dXJuIGNsKHBhcmFtdGVyMSwgcGFyYW10ZXIyKTsgfTsKK3ZhciBhcnJvd0Z1bmN0
aW9uNCA9IHYgPT4gdiArIDEsIHh5ejEgPSAxMDEwMTsKK3ZhciBhcnJvd0Z1bmN0aW9BcnJheTAg
PSBbdiA9PiB2ICogMTBdOwordmFyIGFycm93RnVuY3Rpb0FycmF5MSA9IFt2ID0+IHYgKyAxLCB2
ID0+IHYgKyAyXTsKK3ZhciBhcnJvd0Z1bmN0aW9BcnJheTIgPSBbKHYpID0+IHYgKyAxLCAodikg
PT4gdiArIDJdOwordmFyIGFycm93RnVuY3Rpb0FycmF5MyA9IFsoKSA9PiAxMDEsICgpID0+IDEy
MzIzXTsKK3ZhciBhcnJvd0Z1bmN0aW9uT2JqID0ge2Z1bmMgOiB5ID0+IHkgKyAxMiB9OworLy9O
b3QgY292ZXJlZCBjYXNlcworLy92YXIgYXJyb3dGdW5jdGlvbjQgPSB2ID0+IHsgdmFyIGludD0g
MTAwOyByZXR1cm4gdippbnQ7IH07CisvL3ZhciBhcnJvd0Z1bmN0aW9uNSA9ICh2KSA9PiB7IHZh
ciBpbnQ9IDEwMDsgcmV0dXJuIHYqaW50OyB9OworLy92YXIgYXJyb3dGdW5jdGlvbjYgPSAodiwg
eCkgPT4geyB2YXIgcmVzdWx0ID0geCAqIHY7IHJldHVybiByZXN1bHQ7IH07CisKKworc2hvdWxk
QmUoImFycm93RnVuY3Rpb24wKDEwKSIsICIxMSIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb24x
KDEwKSIsICIxMSIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb24yKCkiLCAiMTAwMCIpOworc2hv
dWxkQmUoImFycm93RnVuY3Rpb24zKDEwLCAyKSIsICIxMiIpOworc2hvdWxkQmUoImFycm93RnVu
Y3Rpb25XcmFwcGVyKHggPT4gMTApIiwgIjEwIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvbldy
YXBwZXIoeCA9PiAxMCwgMjApIiwgIjEwIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvbldyYXBw
ZXIoeCA9PiAxMCArIDMwKSIsICI0MCIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb25XcmFwcGVy
KHggPT4gMTAgKyAzMCwgMTAwMCkiLCAiNDAiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uV3Jh
cHBlcih4ID0+IHggKyAxLCAyMSkiLCAiMjIiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uV3Jh
cHBlcigoeCkgPT4geCArIDEsIDIxKSIsICIyMiIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb25X
cmFwcGVyKCgpID0+IDEwMCkiLCAiMTAwIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvbldyYXBw
ZXIoKCkgPT4gMTAwLCAxMSkiLCAiMTAwIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvbldyYXBw
ZXIoKCkgPT4gMTAwICsgMTApIiwgIjExMCIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb25XcmFw
cGVyKCgpID0+IDEwMCArIDEwLCAxMikiLCAiMTEwIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlv
bldyYXBwZXIyKCh4LCAgeSkgPT4geCArIHksIDIxLCA1KSIsICIyNiIpOworc2hvdWxkQmUoImFy
cm93RnVuY3Rpb240KDEwMSkiLCAiMTAyIik7CitzaG91bGRCZSgieHl6MSIsICIxMDEwMSIpOwor
CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvQXJyYXkwWzBdKDEwKSIsICIxMDAiKTsKK3Nob3VsZEJl
KCJhcnJvd0Z1bmN0aW9BcnJheTFbMF0oMTApIiwgIjExIik7CitzaG91bGRCZSgiYXJyb3dGdW5j
dGlvQXJyYXkxWzFdKDExKSIsICIxMyIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb0FycmF5Mlsw
XSgxMSkiLCAiMTIiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9BcnJheTJbMV0oMTEpIiwgIjEz
Iik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvQXJyYXkzWzBdKDExKSIsICIxMDEiKTsKK3Nob3Vs
ZEJlKCJhcnJvd0Z1bmN0aW9BcnJheTNbMV0oMTEpIiwgIjEyMzIzIik7CitzaG91bGRCZSgiYXJy
b3dGdW5jdGlvbk9iai5mdW5jKDExKSIsICIyMyIpOwpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIv
Q2hhbmdlTG9nCmluZGV4IDhkN2RjYjJkNTVkZmQyOGM1ZTYyNDMxYmNmZDk3MWE5NTVkZDZhNjQu
LjVmNmEzN2YwM2U1NTg4Nzc2NDk0OTVhZjQ0OTE4OWZmZDM0MjE3NzIgMTAwNjQ0Ci0tLSBhL0No
YW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNS0wMi0yNyAgU2th
Y2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIElt
cGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmZWF0dXJlIGZsYWcgdG8gc3dpdGNoIG9u
L29mZiBlczYgYXJyb3cgZnVuY3Rpb24gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWAor
CisgICAgICAgICogU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlOgorICAgICAgICAq
IFNvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlOgorCiAyMDE1LTAyLTI2ICBDc2FiYSBPc3p0cm9n
b27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW0VGTF0gUmVtb3ZlIHVubmVjZXNz
YXJ5IGNvbW1lbnQgYWZ0ZXIgcjE3OTExMAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>247601</attachid>
            <date>2015-02-28 05:05:13 -0800</date>
            <delta_ts>2015-02-28 05:05:13 -0800</delta_ts>
            <desc>Archive of layout-test-results from ews105 for mac-mavericks-wk2</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>770090</size>
            <attacher name="Build Bot">buildbot</attacher>
            
              <data encoding="base64">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
ueMpXCHSMlTNixCSet12S7Jj8Q4FUgeR7TSOZa0ABmUPBPk2Z/MlyzHWJMq+DKJ4l8G3jUVgjwUc
DzqYz8leCYVlaazNgjyaMxsYPPVOh/4o905VDwId40KisRb6/Y+iA/6ROnl4Joun+wpJbJHesZIJ
EuLUFmEc0ADn95jHZ7Rr0Y39jL57Y9eal+uDbL47GiheBc1ZnO/yIt00zcYxkMiABOGLOAMo5QGS
2CedjriMAzjfxRLJd+kGdZfkwTLU9loTPGlal0CtukZ20MQI/O+ur+N0HsRrTNnfefgP+VdxCGdK
Km6TXVhz47qKM/s4RYA7J0loIHcLxOPOqo50qXlDEnuDp54ggfFP5nn9Er7XoJo5Ema3oXaLjecU
GCiB/7E/KBXaazr8nFDji83WekaVWvq31+RH2hjlw3JJpmwbOvkfe+vNruTPjv6MNlf/GP0Z4k8g
62RLDm0O7qIvbFO2qQsomvqgdWZ6n5EP/z9QSwMECgAAAAAACSRcRgAAAAAAAAAAAAAAAA4AHABh
Y2Nlc3NpYmlsaXR5L1VUCQADUrXxVI+28VR1eAsAAQT1AQAABBQAAABQSwMEFAACAAgABSRcRgIq
lABSAAAAVwAAACwAHABhY2Nlc3NpYmlsaXR5L2FyaWEtZmFsbGJhY2stcm9sZXMtc3RkZXJyLnR4
dFVUCQADSrXxVEq18VR1eAsAAQT1AQAABBQAAAANyDEOgCAMAMDdV3RjQh6hvsBE5wo1kWBr2pL4
fL3xJumtAItDVkInQDDkcsgL9DqxXcJwikJIm7R+k6UZHdOyr0nJpGv+q1p0Mo+PmI/VwvABUEsD
BBQAAgAIAAgkXEYCKpQAUgAAAFcAAAA2ABwAYWNjZXNzaWJpbGl0eS9hcmlhLXRvZ2dsZS1idXR0
b24td2l0aC10aXRsZS1zdGRlcnIudHh0VVQJAANPtfFUT7XxVHV4CwABBPUBAAAEFAAAAA3IMQ6A
IAwAwN1XdGNCHqG+wETnCjWRYGvakvh8vfEm6a0Ai0NWQidAMORyyAv0OrFdwnCKQkibtH6TpRkd
07KvScmka/6rWnQyj4+Yj9XC8AFQSwMEFAACAAgACSRcRq8QN6PTAQAAnwQAADUAHABhY2Nlc3Np
YmlsaXR5L2NvbnRlbnQtZWRpdGFibGUtYXMtdGV4dGFyZWEtYWN0dWFsLnR4dFVUCQADUrXxVFK1
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
aWJpbGl0eS9jb250ZW50LWVkaXRhYmxlLWFzLXRleHRhcmVhLXN0ZGVyci50eHRVVAkAA1K18VRS
tfFUdXgLAAEE9QEAAAQUAAAAMjAxNS0wMi0yOCAwNDozMjoxOC4zNDggV2ViS2l0VGVzdFJ1bm5l
clsyODA3MTo1MDddIENvdWxkbid0IGNvbnRhY3Qgc3BlbGwgY2hlY2tlciBmb3IgTXVsdGlsaW5n
dWFsClBLAwQKAAAAAAAJJFxGAAAAAAAAAAAAAAAADAAcAGNvbXBvc2l0aW5nL1VUCQADUrXxVI+2
8VR1eAsAAQT1AQAABBQAAABQSwMECgAAAAAACSRcRgAAAAAAAAAAAAAAABUAHABjb21wb3NpdGlu
Zy9nZW9tZXRyeS9VVAkAA1K18VSPtvFUdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAAkkXEa8VIm2
4QAAAE4DAAAuABwAY29tcG9zaXRpbmcvZ2VvbWV0cnkvb3V0bGluZS1jaGFuZ2Utc3RkZXJyLnR4
dFVUCQADUrXxVFK18VR1eAsAAQT1AQAABBQAAADtkTFPwzAQhWf6K24EqbEdNy2RV8pQAQIEUgfE
4NiX9ERyjhwbxL8nIDYYQWJgesvTd7r3aVWuC6ULXYOqzEqbshZVVYELg7Dj2KPYY3NBSdz0uSMW
Ky22+Ix9GAfk9KDrcqPMaauaRziPMUTog/XEHchLaqKNr3LHCSNjgndCseNJ3mZyT/c0IHxCx4+Q
Z2GucprklXXXd19qBsDPd5GPf569BL1ZnxjgAFOmZJsegQbbIbQhsxcAW/LQEnuzOPqN1wbrDkVY
QpMTvMQwD2ijO1BCl3LEhf5WU/2v6W9pegNQSwMECgAAAAAAByRcRgAAAAAAAAAAAAAAAAcAHABj
cnlwdG8vVVQJAANNtfFUj7bxVHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAAGJFxGrKVzTWIAAABu
AAAALQAcAGNyeXB0by9jcnlwdG8tcmFuZG9tLXZhbHVlcy1saW1pdHMtc3RkZXJyLnR4dFVUCQAD
TLXxVEy18VR1eAsAAQT1AQAABBQAAAANyjEOwkAMBMCeV7hLhx8BVNCBSO1cjGR0nJG9lpLfw9Rz
8uorDQe1UIGSUMpYF99IN+hI80EvD5r46b0+mnwWCF/mO8+6XA18k90LD00kt9i/cA5Nr2j/XLBu
MM3jO6fDD1BLAwQUAAIACAAHJFxGrKVzTWIAAABuAAAAJgAcAGNyeXB0by9jcnlwdG8tcmFuZG9t
LXZhbHVlcy1zdGRlcnIudHh0VVQJAANNtfFUTbXxVHV4CwABBPUBAAAEFAAAAA3KMQ7CQAwEwJ5X
uEuHHwFU0IFI7VyMZHSckb2Wkt/D1HPy6isNB7VQgZJQylgX30g36EjzQS8PmvjpvT6afBYIX+Y7
z7pcDXyT3QsPTSS32L9wDk2vaP9csG4wzeM7p8MPUEsDBBQAAgAIAAYkXEaspXNNYgAAAG4AAAAs
ABwAY3J5cHRvL2NyeXB0by1yYW5kb20tdmFsdWVzLXR5cGVzLXN0ZGVyci50eHRVVAkAA0y18VRM
tfFUdXgLAAEE9QEAAAQUAAAADcoxDsJADATAnle4S4cfAVTQgUjtXIxkdJyRvZaS38PUc/LqKw0H
tVCBklDKWBffSDfoSPNBLw+a+Om9Ppp8Fghf5jvPulwNfJPdCw9NJLfYv3AOTa9o/1ywbjDN4zun
ww9QSwMECgAAAAAAEiRcRgAAAAAAAAAAAAAAAAQAHABkb20vVVQJAANjtfFUj7bxVHV4CwABBPUB
AAAEFAAAAFBLAwQKAAAAAAARJFxGAAAAAAAAAAAAAAAACQAcAGRvbS9odG1sL1VUCQADYrXxVI+2
8VR1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAESRcRgAAAAAAAAAAAAAAABAAHABkb20vaHRtbC9s
ZXZlbDIvVVQJAANitfFUj7bxVHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAAtJFxGAAAAAAAAAAAA
AAAAFQAcAGRvbS9odG1sL2xldmVsMi9odG1sL1VUCQADlrXxVI+28VR1eAsAAQT1AQAABBQAAABQ
SwMEFAACAAgAKyRcRslWcxNnAAAAcwAAACYAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9ib2R5MDEt
c3RkZXJyLnR4dFVUCQADkbXxVJG18VR1eAsAAQT1AQAABBQAAAAlxrESgjAMANCdr8jGZk5+QZxk
05M5pUF7pI1HUq/+PYNvehetEqGow7IzOQOBUYlBG3BzLpa0wKo79PhUqZkNR3LC63zHmcMtOU70
0+oPNjeMmvHtWVD4yzL8/0kNAy3b+fRKa98dUEsDBBQAAgAIABEkXEbJVnMTZwAAAHMAAAAxABwA
ZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTEJvZHlFbGVtZW50MDEtc3RkZXJyLnR4dFVUCQADYrXx
VGK18VR1eAsAAQT1AQAABBQAAAAlxrESgjAMANCdr8jGZk5+QZxk05M5pUF7pI1HUq/+PYNvehet
EqGow7IzOQOBUYlBG3BzLpa0wKo79PhUqZkNR3LC63zHmcMtOU700+oPNjeMmvHtWVD4yzL8/0kN
Ay3b+fRKa98dUEsDBBQAAgAIABEkXEbJVnMTZwAAAHMAAAAxABwAZG9tL2h0bWwvbGV2ZWwyL2h0
bWwvSFRNTEJvZHlFbGVtZW50MDItc3RkZXJyLnR4dFVUCQADYrXxVGK18VR1eAsAAQT1AQAABBQA
AAAlxrESgjAMANCdr8jGZk5+QZxk05M5pUF7pI1HUq/+PYNvehetEqGow7IzOQOBUYlBG3BzLpa0
wKo79PhUqZkNR3LC63zHmcMtOU700+oPNjeMmvHtWVD4yzL8/0kNAy3b+fRKa98dUEsDBBQAAgAI
ABEkXEbJVnMTZwAAAHMAAAAxABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTEJvZHlFbGVtZW50
MDMtc3RkZXJyLnR4dFVUCQADYrXxVGK18VR1eAsAAQT1AQAABBQAAAAlxrESgjAMANCdr8jGZk5+
QZxk05M5pUF7pI1HUq/+PYNvehetEqGow7IzOQOBUYlBG3BzLpa0wKo79PhUqZkNR3LC63zHmcMt
OU700+oPNjeMmvHtWVD4yzL8/0kNAy3b+fRKa98dUEsDBBQAAgAIABEkXEbJVnMTZwAAAHMAAAAx
ABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTEJvZHlFbGVtZW50MDQtc3RkZXJyLnR4dFVUCQAD
YrXxVGK18VR1eAsAAQT1AQAABBQAAAAlxrESgjAMANCdr8jGZk5+QZxk05M5pUF7pI1HUq/+PYNv
ehetEqGow7IzOQOBUYlBG3BzLpa0wKo79PhUqZkNR3LC63zHmcMtOU700+oPNjeMmvHtWVD4yzL8
/0kNAy3b+fRKa98dUEsDBBQAAgAIABEkXEbJVnMTZwAAAHMAAAAxABwAZG9tL2h0bWwvbGV2ZWwy
L2h0bWwvSFRNTEJvZHlFbGVtZW50MDUtc3RkZXJyLnR4dFVUCQADYrXxVGK18VR1eAsAAQT1AQAA
BBQAAAAlxrESgjAMANCdr8jGZk5+QZxk05M5pUF7pI1HUq/+PYNvehetEqGow7IzOQOBUYlBG3Bz
Lpa0wKo79PhUqZkNR3LC63zHmcMtOU700+oPNjeMmvHtWVD4yzL8/0kNAy3b+fRKa98dUEsDBBQA
AgAIABEkXEbJVnMTZwAAAHMAAAAxABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTEJvZHlFbGVt
ZW50MDYtc3RkZXJyLnR4dFVUCQADYrXxVGK18VR1eAsAAQT1AQAABBQAAAAlxrESgjAMANCdr8jG
Zk5+QZxk05M5pUF7pI1HUq/+PYNvehetEqGow7IzOQOBUYlBG3BzLpa0wKo79PhUqZkNR3LC63zH
mcMtOU700+oPNjeMmvHtWVD4yzL8/0kNAy3b+fRKa98dUEsDBBQAAgAIABEkXEba1N1RcgAAAFUB
AAAxABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTEJvZHlFbGVtZW50MDctc3RkZXJyLnR4dFVU
CQADYrXxVGK18VR1eAsAAQT1AQAABBQAAAC9zTEOwjAMAMCdV3jrVkt8oTCVDURnl7jFkhOj2kHh
9wz9Q7fbbrCqCYoFvDamYCBwKmm2BtyCi4sVWGyDDp+mNbPjhYLwOt1x4nmUwBv9rMaDPRyTZXxH
VlT+sp53f6RhCu9XWbrTcFCoUvjg0Vbbxz9QSwMEFAACAAgAESRcRtrU3VFyAAAAVQEAADEAHABk
b20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MQm9keUVsZW1lbnQwOC1zdGRlcnIudHh0VVQJAANitfFU
YrXxVHV4CwABBPUBAAAEFAAAAL3NMQ7CMAwAwJ1XeOtWS3yhMJUNRGeXuMWSE6PaQeH3DP1Dt9tu
sKoJigW8NqZgIHAqabYG3IKLixVYbIMOn6Y1s+OFgvA63XHieZTAG/2sxoM9HJNlfEdWVP6ynnd/
pGEK71dZutNwUKhS+ODRVtvHP1BLAwQUAAIACAARJFxG2tTdUXIAAABVAQAAMQAcAGRvbS9odG1s
L2xldmVsMi9odG1sL0hUTUxCb2R5RWxlbWVudDA5LXN0ZGVyci50eHRVVAkAA2K18VRitfFUdXgL
AAEE9QEAAAQUAAAAvc0xDsIwDADAnVd461ZLfKEwlQ1EZ5e4xZITo9pB4fcM/UO3226wqgmKBbw2
pmAgcCpptgbcgouLFVhsgw6fpjWz44WC8DrdceJ5lMAb/azGgz0ck2V8R1ZU/rKed3+kYQrvV1m6
03BQqFL44NFW28c/UEsDBBQAAgAIABEkXEba1N1RcgAAAFUBAAAxABwAZG9tL2h0bWwvbGV2ZWwy
L2h0bWwvSFRNTEJvZHlFbGVtZW50MTAtc3RkZXJyLnR4dFVUCQADYrXxVGK18VR1eAsAAQT1AQAA
BBQAAAC9zTEOwjAMAMCdV3jrVkt8oTCVDURnl7jFkhOj2kHh9wz9Q7fbbrCqCYoFvDamYCBwKmm2
BtyCi4sVWGyDDp+mNbPjhYLwOt1x4nmUwBv9rMaDPRyTZXxHVlT+sp53f6RhCu9XWbrTcFCoUvjg
0Vbbxz9QSwMEFAACAAgAESRcRtrU3VFyAAAAVQEAADEAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9I
VE1MQm9keUVsZW1lbnQxMS1zdGRlcnIudHh0VVQJAANitfFUYrXxVHV4CwABBPUBAAAEFAAAAL3N
MQ7CMAwAwJ1XeOtWS3yhMJUNRGeXuMWSE6PaQeH3DP1Dt9tusKoJigW8NqZgIHAqabYG3IKLixVY
bIMOn6Y1s+OFgvA63XHieZTAG/2sxoM9HJNlfEdWVP6ynnd/pGEK71dZutNwUKhS+ODRVtvHP1BL
AwQUAAIACAARJFxG2tTdUXIAAABVAQAAMQAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxCb2R5
RWxlbWVudDEyLXN0ZGVyci50eHRVVAkAA2K18VRitfFUdXgLAAEE9QEAAAQUAAAAvc0xDsIwDADA
nVd461ZLfKEwlQ1EZ5e4xZITo9pB4fcM/UO3226wqgmKBbw2pmAgcCpptgbcgouLFVhsgw6fpjWz
44WC8DrdceJ5lMAb/azGgz0ck2V8R1ZU/rKed3+kYQrvV1m603BQqFL44NFW28c/UEsDBBQAAgAI
ABIkXEba1N1RcgAAAFUBAAAuABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTERvY3VtZW50MDEt
c3RkZXJyLnR4dFVUCQADZLXxVGS18VR1eAsAAQT1AQAABBQAAAC9zTEOwjAMAMCdV3jrVkt8oTCV
DURnl7jFkhOj2kHh9wz9Q7fbbrCqCYoFvDamYCBwKmm2BtyCi4sVWGyDDp+mNbPjhYLwOt1x4nmU
wBv9rMaDPRyTZXxHVlT+sp53f6RhCu9XWbrTcFCoUvjg0Vbbxz9QSwMEFAACAAgAEiRcRtrU3VFy
AAAAVQEAAC4AHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQwMi1zdGRlcnIudHh0
VVQJAANktfFUZLXxVHV4CwABBPUBAAAEFAAAAL3NMQ7CMAwAwJ1XeOtWS3yhMJUNRGeXuMWSE6Pa
QeH3DP1Dt9tusKoJigW8NqZgIHAqabYG3IKLixVYbIMOn6Y1s+OFgvA63XHieZTAG/2sxoM9HJNl
fEdWVP6ynnd/pGEK71dZutNwUKhS+ODRVtvHP1BLAwQUAAIACAASJFxG2tTdUXIAAABVAQAALgAc
AGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDAzLXN0ZGVyci50eHRVVAkAA2S18VRk
tfFUdXgLAAEE9QEAAAQUAAAAvc0xDsIwDADAnVd461ZLfKEwlQ1EZ5e4xZITo9pB4fcM/UO3226w
qgmKBbw2pmAgcCpptgbcgouLFVhsgw6fpjWz44WC8DrdceJ5lMAb/azGgz0ck2V8R1ZU/rKed3+k
YQrvV1m603BQqFL44NFW28c/UEsDBBQAAgAIABMkXEba1N1RcgAAAFUBAAAuABwAZG9tL2h0bWwv
bGV2ZWwyL2h0bWwvSFRNTERvY3VtZW50MDQtc3RkZXJyLnR4dFVUCQADZbXxVGW18VR1eAsAAQT1
AQAABBQAAAC9zTEOwjAMAMCdV3jrVkt8oTCVDURnl7jFkhOj2kHh9wz9Q7fbbrCqCYoFvDamYCBw
Kmm2BtyCi4sVWGyDDp+mNbPjhYLwOt1x4nmUwBv9rMaDPRyTZXxHVlT+sp53f6RhCu9XWbrTcFCo
Uvjg0Vbbxz9QSwMEFAACAAgAEyRcRtrU3VFyAAAAVQEAAC4AHABkb20vaHRtbC9sZXZlbDIvaHRt
bC9IVE1MRG9jdW1lbnQwNS1zdGRlcnIudHh0VVQJAANltfFUZbXxVHV4CwABBPUBAAAEFAAAAL3N
MQ7CMAwAwJ1XeOtWS3yhMJUNRGeXuMWSE6PaQeH3DP1Dt9tusKoJigW8NqZgIHAqabYG3IKLixVY
bIMOn6Y1s+OFgvA63XHieZTAG/2sxoM9HJNlfEdWVP6ynnd/pGEK71dZutNwUKhS+ODRVtvHP1BL
AwQUAAIACAATJFxG2tTdUXIAAABVAQAALgAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxEb2N1
bWVudDA3LXN0ZGVyci50eHRVVAkAA2W18VRltfFUdXgLAAEE9QEAAAQUAAAAvc0xDsIwDADAnVd4
61ZLfKEwlQ1EZ5e4xZITo9pB4fcM/UO3226wqgmKBbw2pmAgcCpptgbcgouLFVhsgw6fpjWz44WC
8DrdceJ5lMAb/azGgz0ck2V8R1ZU/rKed3+kYQrvV1m603BQqFL44NFW28c/UEsDBBQAAgAIABMk
XEba1N1RcgAAAFUBAAAuABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTERvY3VtZW50MDgtc3Rk
ZXJyLnR4dFVUCQADZbXxVGW18VR1eAsAAQT1AQAABBQAAAC9zTEOwjAMAMCdV3jrVkt8oTCVDURn
l7jFkhOj2kHh9wz9Q7fbbrCqCYoFvDamYCBwKmm2BtyCi4sVWGyDDp+mNbPjhYLwOt1x4nmUwBv9
rMaDPRyTZXxHVlT+sp53f6RhCu9XWbrTcFCoUvjg0Vbbxz9QSwMEFAACAAgAEyRcRtrU3VFyAAAA
VQEAAC4AHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQwOS1zdGRlcnIudHh0VVQJ
AANltfFUZbXxVHV4CwABBPUBAAAEFAAAAL3NMQ7CMAwAwJ1XeOtWS3yhMJUNRGeXuMWSE6PaQeH3
DP1Dt9tusKoJigW8NqZgIHAqabYG3IKLixVYbIMOn6Y1s+OFgvA63XHieZTAG/2sxoM9HJNlfEdW
VP6ynnd/pGEK71dZutNwUKhS+ODRVtvHP1BLAwQUAAIACAATJFxG2tTdUXIAAABVAQAALgAcAGRv
bS9odG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDEwLXN0ZGVyci50eHRVVAkAA2W18VRltfFU
dXgLAAEE9QEAAAQUAAAAvc0xDsIwDADAnVd461ZLfKEwlQ1EZ5e4xZITo9pB4fcM/UO3226wqgmK
Bbw2pmAgcCpptgbcgouLFVhsgw6fpjWz44WC8DrdceJ5lMAb/azGgz0ck2V8R1ZU/rKed3+kYQrv
V1m603BQqFL44NFW28c/UEsDBBQAAgAIABMkXEba1N1RcgAAAFUBAAAuABwAZG9tL2h0bWwvbGV2
ZWwyL2h0bWwvSFRNTERvY3VtZW50MTEtc3RkZXJyLnR4dFVUCQADZbXxVGW18VR1eAsAAQT1AQAA
BBQAAAC9zTEOwjAMAMCdV3jrVkt8oTCVDURnl7jFkhOj2kHh9wz9Q7fbbrCqCYoFvDamYCBwKmm2
BtyCi4sVWGyDDp+mNbPjhYLwOt1x4nmUwBv9rMaDPRyTZXxHVlT+sp53f6RhCu9XWbrTcFCoUvjg
0Vbbxz9QSwMEFAACAAgAEyRcRtrU3VFyAAAAVQEAAC4AHABkb20vaHRtbC9sZXZlbDIvaHRtbC9I
VE1MRG9jdW1lbnQxMi1zdGRlcnIudHh0VVQJAANltfFUZbXxVHV4CwABBPUBAAAEFAAAAL3NMQ7C
MAwAwJ1XeOtWS3yhMJUNRGeXuMWSE6PaQeH3DP1Dt9tusKoJigW8NqZgIHAqabYG3IKLixVYbIMO
n6Y1s+OFgvA63XHieZTAG/2sxoM9HJNlfEdWVP6ynnd/pGEK71dZutNwUKhS+ODRVtvHP1BLAwQU
AAIACAATJFxG2tTdUXIAAABVAQAALgAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVu
dDEzLXN0ZGVyci50eHRVVAkAA2W18VRltfFUdXgLAAEE9QEAAAQUAAAAvc0xDsIwDADAnVd461ZL
fKEwlQ1EZ5e4xZITo9pB4fcM/UO3226wqgmKBbw2pmAgcCpptgbcgouLFVhsgw6fpjWz44WC8Drd
ceJ5lMAb/azGgz0ck2V8R1ZU/rKed3+kYQrvV1m603BQqFL44NFW28c/UEsDBBQAAgAIABMkXEba
1N1RcgAAAFUBAAAuABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTERvY3VtZW50MTQtc3RkZXJy
LnR4dFVUCQADZbXxVGW18VR1eAsAAQT1AQAABBQAAAC9zTEOwjAMAMCdV3jrVkt8oTCVDURnl7jF
khOj2kHh9wz9Q7fbbrCqCYoFvDamYCBwKmm2BtyCi4sVWGyDDp+mNbPjhYLwOt1x4nmUwBv9rMaD
PRyTZXxHVlT+sp53f6RhCu9XWbrTcFCoUvjg0Vbbxz9QSwMEFAACAAgAEyRcRtrU3VFyAAAAVQEA
AC4AHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQxNS1zdGRlcnIudHh0VVQJAANl
tfFUZbXxVHV4CwABBPUBAAAEFAAAAL3NMQ7CMAwAwJ1XeOtWS3yhMJUNRGeXuMWSE6PaQeH3DP1D
t9tusKoJigW8NqZgIHAqabYG3IKLixVYbIMOn6Y1s+OFgvA63XHieZTAG/2sxoM9HJNlfEdWVP6y
nnd/pGEK71dZutNwUKhS+ODRVtvHP1BLAwQUAAIACAATJFxG2tTdUXIAAABVAQAALgAcAGRvbS9o
dG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDE2LXN0ZGVyci50eHRVVAkAA2a18VRmtfFUdXgL
AAEE9QEAAAQUAAAAvc0xDsIwDADAnVd461ZLfKEwlQ1EZ5e4xZITo9pB4fcM/UO3226wqgmKBbw2
pmAgcCpptgbcgouLFVhsgw6fpjWz44WC8DrdceJ5lMAb/azGgz0ck2V8R1ZU/rKed3+kYQrvV1m6
03BQqFL44NFW28c/UEsDBBQAAgAIABMkXEba1N1RcgAAAFUBAAAuABwAZG9tL2h0bWwvbGV2ZWwy
L2h0bWwvSFRNTERvY3VtZW50MTctc3RkZXJyLnR4dFVUCQADZrXxVGa18VR1eAsAAQT1AQAABBQA
AAC9zTEOwjAMAMCdV3jrVkt8oTCVDURnl7jFkhOj2kHh9wz9Q7fbbrCqCYoFvDamYCBwKmm2BtyC
i4sVWGyDDp+mNbPjhYLwOt1x4nmUwBv9rMaDPRyTZXxHVlT+sp53f6RhCu9XWbrTcFCoUvjg0Vbb
xz9QSwMEFAACAAgAEyRcRtrU3VFyAAAAVQEAAC4AHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1M
RG9jdW1lbnQxOC1zdGRlcnIudHh0VVQJAANmtfFUZrXxVHV4CwABBPUBAAAEFAAAAL3NMQ7CMAwA
wJ1XeOtWS3yhMJUNRGeXuMWSE6PaQeH3DP1Dt9tusKoJigW8NqZgIHAqabYG3IKLixVYbIMOn6Y1
s+OFgvA63XHieZTAG/2sxoM9HJNlfEdWVP6ynnd/pGEK71dZutNwUKhS+ODRVtvHP1BLAwQUAAIA
CAATJFxG2tTdUXIAAABVAQAALgAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDE5
LXN0ZGVyci50eHRVVAkAA2a18VRmtfFUdXgLAAEE9QEAAAQUAAAAvc0xDsIwDADAnVd461ZLfKEw
lQ1EZ5e4xZITo9pB4fcM/UO3226wqgmKBbw2pmAgcCpptgbcgouLFVhsgw6fpjWz44WC8DrdceJ5
lMAb/azGgz0ck2V8R1ZU/rKed3+kYQrvV1m603BQqFL44NFW28c/UEsDBBQAAgAIABMkXEba1N1R
cgAAAFUBAAAuABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTERvY3VtZW50MjAtc3RkZXJyLnR4
dFVUCQADZrXxVGa18VR1eAsAAQT1AQAABBQAAAC9zTEOwjAMAMCdV3jrVkt8oTCVDURnl7jFkhOj
2kHh9wz9Q7fbbrCqCYoFvDamYCBwKmm2BtyCi4sVWGyDDp+mNbPjhYLwOt1x4nmUwBv9rMaDPRyT
ZXxHVlT+sp53f6RhCu9XWbrTcFCoUvjg0Vbbxz9QSwMEFAACAAgAEyRcRtrU3VFyAAAAVQEAAC4A
HABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQyMS1zdGRlcnIudHh0VVQJAANmtfFU
ZrXxVHV4CwABBPUBAAAEFAAAAL3NMQ7CMAwAwJ1XeOtWS3yhMJUNRGeXuMWSE6PaQeH3DP1Dt9tu
sKoJigW8NqZgIHAqabYG3IKLixVYbIMOn6Y1s+OFgvA63XHieZTAG/2sxoM9HJNlfEdWVP6ynnd/
pGEK71dZutNwUKhS+ODRVtvHP1BLAwQUAAIACAATJFxG2tTdUXIAAABVAQAALgAcAGRvbS9odG1s
L2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDIyLXN0ZGVyci50eHRVVAkAA2a18VRmtfFUdXgLAAEE
9QEAAAQUAAAAvc0xDsIwDADAnVd461ZLfKEwlQ1EZ5e4xZITo9pB4fcM/UO3226wqgmKBbw2pmAg
cCpptgbcgouLFVhsgw6fpjWz44WC8DrdceJ5lMAb/azGgz0ck2V8R1ZU/rKed3+kYQrvV1m603BQ
qFL44NFW28c/UEsDBBQAAgAIABMkXEba1N1RcgAAAFUBAAAuABwAZG9tL2h0bWwvbGV2ZWwyL2h0
bWwvSFRNTERvY3VtZW50MjMtc3RkZXJyLnR4dFVUCQADZrXxVGa18VR1eAsAAQT1AQAABBQAAAC9
zTEOwjAMAMCdV3jrVkt8oTCVDURnl7jFkhOj2kHh9wz9Q7fbbrCqCYoFvDamYCBwKmm2BtyCi4sV
WGyDDp+mNbPjhYLwOt1x4nmUwBv9rMaDPRyTZXxHVlT+sp53f6RhCu9XWbrTcFCoUvjg0Vbbxz9Q
SwMEFAACAAgAFCRcRtrU3VFyAAAAVQEAAC4AHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9j
dW1lbnQyNC1zdGRlcnIudHh0VVQJAANntfFUZ7XxVHV4CwABBPUBAAAEFAAAAL3NMQ7CMAwAwJ1X
eOtWS3yhMJUNRGeXuMWSE6PaQeH3DP1Dt9tusKoJigW8NqZgIHAqabYG3IKLixVYbIMOn6Y1s+OF
gvA63XHieZTAG/2sxoM9HJNlfEdWVP6ynnd/pGEK71dZutNwUKhS+ODRVtvHP1BLAwQUAAIACAAU
JFxG2tTdUXIAAABVAQAALgAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDI1LXN0
ZGVyci50eHRVVAkAA2e18VRntfFUdXgLAAEE9QEAAAQUAAAAvc0xDsIwDADAnVd461ZLfKEwlQ1E
Z5e4xZITo9pB4fcM/UO3226wqgmKBbw2pmAgcCpptgbcgouLFVhsgw6fpjWz44WC8DrdceJ5lMAb
/azGgz0ck2V8R1ZU/rKed3+kYQrvV1m603BQqFL44NFW28c/UEsDBBQAAgAIABQkXEba1N1RcgAA
AFUBAAAuABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTERvY3VtZW50MjYtc3RkZXJyLnR4dFVU
CQADZ7XxVGe18VR1eAsAAQT1AQAABBQAAAC9zTEOwjAMAMCdV3jrVkt8oTCVDURnl7jFkhOj2kHh
9wz9Q7fbbrCqCYoFvDamYCBwKmm2BtyCi4sVWGyDDp+mNbPjhYLwOt1x4nmUwBv9rMaDPRyTZXxH
VlT+sp53f6RhCu9XWbrTcFCoUvjg0Vbbxz9QSwMEFAACAAgAFCRcRtrU3VFyAAAAVQEAAC4AHABk
b20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQyNy1zdGRlcnIudHh0VVQJAANntfFUZ7Xx
VHV4CwABBPUBAAAEFAAAAL3NMQ7CMAwAwJ1XeOtWS3yhMJUNRGeXuMWSE6PaQeH3DP1Dt9tusKoJ
igW8NqZgIHAqabYG3IKLixVYbIMOn6Y1s+OFgvA63XHieZTAG/2sxoM9HJNlfEdWVP6ynnd/pGEK
71dZutNwUKhS+ODRVtvHP1BLAwQUAAIACAAbJFxGbyBZlGUAAABxAAAAMgAcAGRvbS9odG1sL2xl
dmVsMi9odG1sL0hUTUxJbWFnZUVsZW1lbnQwMS1zdGRlcnIudHh0VVQJAAN1tfFUdbXxVHV4CwAB
BPUBAAAEFAAAACXGMQ7CMAwF0J1TeOvGl7gCdIINRGeXuBDJiVHtVOH2DH3TO1vTRNWCXqtwCDE5
1zRbJ+kh1bNVWmylAU/TVsRx4WCM0x2TzNccuPHPWjzEw5Gs4BNFobKJnvZ/c0cKP77zMhz+UEsD
BBQAAgAIABskXEZvIFmUZQAAAHEAAAAyABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTEltYWdl
RWxlbWVudDAyLXN0ZGVyci50eHRVVAkAA3W18VR1tfFUdXgLAAEE9QEAAAQUAAAAJcYxDsIwDAXQ
nVN468aXuAJ0gg1EZ5e4EMmJUe1U4fYMfdM7W9NE1YJeq3AIMTnXNFsn6SHVs1VabKUBT9NWxHHh
YIzTHZPM1xy48c9aPMTDkazgE0Whsome9n9zRwo/vvMyHP5QSwMEFAACAAgAGyRcRm8gWZRlAAAA
cQAAADIAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MSW1hZ2VFbGVtZW50MDMtc3RkZXJyLnR4
dFVUCQADdbXxVHW18VR1eAsAAQT1AQAABBQAAAAlxjEOwjAMBdCdU3jrxpe4AnSCDURnl7gQyYlR
7VTh9gx90ztb00TVgl6rcAgxOdc0WyfpIdWzVVpspQFP01bEceFgjNMdk8zXHLjxz1o8xMORrOAT
RaGyiZ72f3NHCj++8zIc/lBLAwQUAAIACAAbJFxGbyBZlGUAAABxAAAAMgAcAGRvbS9odG1sL2xl
dmVsMi9odG1sL0hUTUxJbWFnZUVsZW1lbnQwNC1zdGRlcnIudHh0VVQJAAN2tfFUdrXxVHV4CwAB
BPUBAAAEFAAAACXGMQ7CMAwF0J1TeOvGl7gCdIINRGeXuBDJiVHtVOH2DH3TO1vTRNWCXqtwCDE5
1zRbJ+kh1bNVWmylAU/TVsRx4WCM0x2TzNccuPHPWjzEw5Gs4BNFobKJnvZ/c0cKP77zMhz+UEsD
BBQAAgAIABskXEZvIFmUZQAAAHEAAAAyABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTEltYWdl
RWxlbWVudDA1LXN0ZGVyci50eHRVVAkAA3a18VR2tfFUdXgLAAEE9QEAAAQUAAAAJcYxDsIwDAXQ
nVN468aXuAJ0gg1EZ5e4EMmJUe1U4fYMfdM7W9NE1YJeq3AIMTnXNFsn6SHVs1VabKUBT9NWxHHh
YIzTHZPM1xy48c9aPMTDkazgE0Whsome9n9zRwo/vvMyHP5QSwMEFAACAAgAGyRcRm8gWZRlAAAA
cQAAADIAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MSW1hZ2VFbGVtZW50MDYtc3RkZXJyLnR4
dFVUCQADdrXxVHa18VR1eAsAAQT1AQAABBQAAAAlxjEOwjAMBdCdU3jrxpe4AnSCDURnl7gQyYlR
7VTh9gx90ztb00TVgl6rcAgxOdc0WyfpIdWzVVpspQFP01bEceFgjNMdk8zXHLjxz1o8xMORrOAT
RaGyiZ72f3NHCj++8zIc/lBLAwQUAAIACAAbJFxGbyBZlGUAAABxAAAAMgAcAGRvbS9odG1sL2xl
dmVsMi9odG1sL0hUTUxJbWFnZUVsZW1lbnQwNy1zdGRlcnIudHh0VVQJAAN2tfFUdrXxVHV4CwAB
BPUBAAAEFAAAACXGMQ7CMAwF0J1TeOvGl7gCdIINRGeXuBDJiVHtVOH2DH3TO1vTRNWCXqtwCDE5
1zRbJ+kh1bNVWmylAU/TVsRx4WCM0x2TzNccuPHPWjzEw5Gs4BNFobKJnvZ/c0cKP77zMhz+UEsD
BBQAAgAIABskXEZvIFmUZQAAAHEAAAAyABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTEltYWdl
RWxlbWVudDA4LXN0ZGVyci50eHRVVAkAA3a18VR2tfFUdXgLAAEE9QEAAAQUAAAAJcYxDsIwDAXQ
nVN468aXuAJ0gg1EZ5e4EMmJUe1U4fYMfdM7W9NE1YJeq3AIMTnXNFsn6SHVs1VabKUBT9NWxHHh
YIzTHZPM1xy48c9aPMTDkazgE0Whsome9n9zRwo/vvMyHP5QSwMEFAACAAgAGyRcRm8gWZRlAAAA
cQAAADIAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MSW1hZ2VFbGVtZW50MDktc3RkZXJyLnR4
dFVUCQADdrXxVHa18VR1eAsAAQT1AQAABBQAAAAlxjEOwjAMBdCdU3jrxpe4AnSCDURnl7gQyYlR
7VTh9gx90ztb00TVgl6rcAgxOdc0WyfpIdWzVVpspQFP01bEceFgjNMdk8zXHLjxz1o8xMORrOAT
RaGyiZ72f3NHCj++8zIc/lBLAwQUAAIACAAbJFxGbyBZlGUAAABxAAAAMgAcAGRvbS9odG1sL2xl
dmVsMi9odG1sL0hUTUxJbWFnZUVsZW1lbnQxMC1zdGRlcnIudHh0VVQJAAN2tfFUdrXxVHV4CwAB
BPUBAAAEFAAAACXGMQ7CMAwF0J1TeOvGl7gCdIINRGeXuBDJiVHtVOH2DH3TO1vTRNWCXqtwCDE5
1zRbJ+kh1bNVWmylAU/TVsRx4WCM0x2TzNccuPHPWjzEw5Gs4BNFobKJnvZ/c0cKP77zMhz+UEsD
BBQAAgAIABskXEZvIFmUZQAAAHEAAAAyABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTEltYWdl
RWxlbWVudDExLXN0ZGVyci50eHRVVAkAA3a18VR2tfFUdXgLAAEE9QEAAAQUAAAAJcYxDsIwDAXQ
nVN468aXuAJ0gg1EZ5e4EMmJUe1U4fYMfdM7W9NE1YJeq3AIMTnXNFsn6SHVs1VabKUBT9NWxHHh
YIzTHZPM1xy48c9aPMTDkazgE0Whsome9n9zRwo/vvMyHP5QSwMEFAACAAgAGyRcRm8gWZRlAAAA
cQAAADIAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MSW1hZ2VFbGVtZW50MTItc3RkZXJyLnR4
dFVUCQADdrXxVHa18VR1eAsAAQT1AQAABBQAAAAlxjEOwjAMBdCdU3jrxpe4AnSCDURnl7gQyYlR
7VTh9gx90ztb00TVgl6rcAgxOdc0WyfpIdWzVVpspQFP01bEceFgjNMdk8zXHLjxz1o8xMORrOAT
RaGyiZ72f3NHCj++8zIc/lBLAwQUAAIACAAbJFxGvh0mWmcAAAB0AAAAMgAcAGRvbS9odG1sL2xl
dmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQwMS1zdGRlcnIudHh0VVQJAAN2tfFUdrXxVHV4CwAB
BPUBAAAEFAAAACXGMQ7CMAwAwL2v8NatlvhCYSobiM4OccGSE6PaqcLvGbjpZmuaoVrAc2cKBgKn
mpN14B5cXazCZjuM+DBthR3PFISX9YYrp0UCr/S1Fnf2cMxW8B1FUflgPf3/kY7eUpGYXrKNww9Q
SwMEFAACAAgAGyRcRr4dJlpnAAAAdAAAADIAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MSW5w
dXRFbGVtZW50MDItc3RkZXJyLnR4dFVUCQADdrXxVHa18VR1eAsAAQT1AQAABBQAAAAlxjEOwjAM
AMC9r/DWrZb4QmEqG4jODnHBkhOj2qnC7xm46WZrmqFawHNnCgYCp5qTdeAeXF2swmY7jPgwbYUd
zxSEl/WGK6dFAq/0tRZ39nDMVvAdRVH5YD39/5GO3lKRmF6yjcMPUEsDBBQAAgAIABskXEa+HSZa
ZwAAAHQAAAAyABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTElucHV0RWxlbWVudDAzLXN0ZGVy
ci50eHRVVAkAA3a18VR2tfFUdXgLAAEE9QEAAAQUAAAAJcYxDsIwDADAva/w1q2W+EJhKhuIzg5x
wZITo9qpwu8ZuOlma5qhWsBzZwoGAqeak3XgHlxdrMJmO4z4MG2FHc8UhJf1hiunRQKv9LUWd/Zw
zFbwHUVR+WA9/f+Rjt5SkZheso3DD1BLAwQUAAIACAAbJFxGvh0mWmcAAAB0AAAAMgAcAGRvbS9o
dG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQwNC1zdGRlcnIudHh0VVQJAAN2tfFUdrXx
VHV4CwABBPUBAAAEFAAAACXGMQ7CMAwAwL2v8NatlvhCYSobiM4OccGSE6PaqcLvGbjpZmuaoVrA
c2cKBgKnmpN14B5cXazCZjuM+DBthR3PFISX9YYrp0UCr/S1Fnf2cMxW8B1FUflgPf3/kY7eUpGY
XrKNww9QSwMEFAACAAgAGyRcRr4dJlpnAAAAdAAAADIAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9I
VE1MSW5wdXRFbGVtZW50MDUtc3RkZXJyLnR4dFVUCQADdrXxVHa18VR1eAsAAQT1AQAABBQAAAAl
xjEOwjAMAMC9r/DWrZb4QmEqG4jODnHBkhOj2qnC7xm46WZrmqFawHNnCgYCp5qTdeAeXF2swmY7
jPgwbYUdzxSEl/WGK6dFAq/0tRZ39nDMVvAdRVH5YD39/5GO3lKRmF6yjcMPUEsDBBQAAgAIABwk
XEa+HSZaZwAAAHQAAAAyABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTElucHV0RWxlbWVudDA2
LXN0ZGVyci50eHRVVAkAA3e18VR3tfFUdXgLAAEE9QEAAAQUAAAAJcYxDsIwDADAva/w1q2W+EJh
KhuIzg5xwZITo9qpwu8ZuOlma5qhWsBzZwoGAqeak3XgHlxdrMJmO4z4MG2FHc8UhJf1hiunRQKv
9LUWd/ZwzFbwHUVR+WA9/f+Rjt5SkZheso3DD1BLAwQUAAIACAAcJFxGvh0mWmcAAAB0AAAAMgAc
AGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQwNy1zdGRlcnIudHh0VVQJAAN3
tfFUd7XxVHV4CwABBPUBAAAEFAAAACXGMQ7CMAwAwL2v8NatlvhCYSobiM4OccGSE6PaqcLvGbjp
ZmuaoVrAc2cKBgKnmpN14B5cXazCZjuM+DBthR3PFISX9YYrp0UCr/S1Fnf2cMxW8B1FUflgPf3/
kY7eUpGYXrKNww9QSwMEFAACAAgAHCRcRr4dJlpnAAAAdAAAADIAHABkb20vaHRtbC9sZXZlbDIv
aHRtbC9IVE1MSW5wdXRFbGVtZW50MDgtc3RkZXJyLnR4dFVUCQADd7XxVHe18VR1eAsAAQT1AQAA
BBQAAAAlxjEOwjAMAMC9r/DWrZb4QmEqG4jODnHBkhOj2qnC7xm46WZrmqFawHNnCgYCp5qTdeAe
XF2swmY7jPgwbYUdzxSEl/WGK6dFAq/0tRZ39nDMVvAdRVH5YD39/5GO3lKRmF6yjcMPUEsDBBQA
AgAIABwkXEa+HSZaZwAAAHQAAAAyABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTElucHV0RWxl
bWVudDA5LXN0ZGVyci50eHRVVAkAA3e18VR3tfFUdXgLAAEE9QEAAAQUAAAAJcYxDsIwDADAva/w
1q2W+EJhKhuIzg5xwZITo9qpwu8ZuOlma5qhWsBzZwoGAqeak3XgHlxdrMJmO4z4MG2FHc8UhJf1
hiunRQKv9LUWd/ZwzFbwHUVR+WA9/f+Rjt5SkZheso3DD1BLAwQUAAIACAAcJFxGvh0mWmcAAAB0
AAAAMgAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQxMC1zdGRlcnIudHh0
VVQJAAN3tfFUd7XxVHV4CwABBPUBAAAEFAAAACXGMQ7CMAwAwL2v8NatlvhCYSobiM4OccGSE6Pa
qcLvGbjpZmuaoVrAc2cKBgKnmpN14B5cXazCZjuM+DBthR3PFISX9YYrp0UCr/S1Fnf2cMxW8B1F
UflgPf3/kY7eUpGYXrKNww9QSwMEFAACAAgAHCRcRr4dJlpnAAAAdAAAADIAHABkb20vaHRtbC9s
ZXZlbDIvaHRtbC9IVE1MSW5wdXRFbGVtZW50MTEtc3RkZXJyLnR4dFVUCQADd7XxVHe18VR1eAsA
AQT1AQAABBQAAAAlxjEOwjAMAMC9r/DWrZb4QmEqG4jODnHBkhOj2qnC7xm46WZrmqFawHNnCgYC
p5qTdeAeXF2swmY7jPgwbYUdzxSEl/WGK6dFAq/0tRZ39nDMVvAdRVH5YD39/5GO3lKRmF6yjcMP
UEsDBBQAAgAIABwkXEa+HSZaZwAAAHQAAAAyABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTElu
cHV0RWxlbWVudDEyLXN0ZGVyci50eHRVVAkAA3e18VR3tfFUdXgLAAEE9QEAAAQUAAAAJcYxDsIw
DADAva/w1q2W+EJhKhuIzg5xwZITo9qpwu8ZuOlma5qhWsBzZwoGAqeak3XgHlxdrMJmO4z4MG2F
Hc8UhJf1hiunRQKv9LUWd/ZwzFbwHUVR+WA9/f+Rjt5SkZheso3DD1BLAwQUAAIACAAcJFxGvh0m
WmcAAAB0AAAAMgAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQxMy1zdGRl
cnIudHh0VVQJAAN3tfFUd7XxVHV4CwABBPUBAAAEFAAAACXGMQ7CMAwAwL2v8NatlvhCYSobiM4O
ccGSE6PaqcLvGbjpZmuaoVrAc2cKBgKnmpN14B5cXazCZjuM+DBthR3PFISX9YYrp0UCr/S1Fnf2
cMxW8B1FUflgPf3/kY7eUpGYXrKNww9QSwMEFAACAAgAHCRcRr4dJlpnAAAAdAAAADIAHABkb20v
aHRtbC9sZXZlbDIvaHRtbC9IVE1MSW5wdXRFbGVtZW50MTQtc3RkZXJyLnR4dFVUCQADd7XxVHe1
8VR1eAsAAQT1AQAABBQAAAAlxjEOwjAMAMC9r/DWrZb4QmEqG4jODnHBkhOj2qnC7xm46WZrmqFa
wHNnCgYCp5qTdeAeXF2swmY7jPgwbYUdzxSEl/WGK6dFAq/0tRZ39nDMVvAdRVH5YD39/5GO3lKR
mF6yjcMPUEsDBBQAAgAIABwkXEa+HSZaZwAAAHQAAAAyABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwv
SFRNTElucHV0RWxlbWVudDE1LXN0ZGVyci50eHRVVAkAA3e18VR3tfFUdXgLAAEE9QEAAAQUAAAA
JcYxDsIwDADAva/w1q2W+EJhKhuIzg5xwZITo9qpwu8ZuOlma5qhWsBzZwoGAqeak3XgHlxdrMJm
O4z4MG2FHc8UhJf1hiunRQKv9LUWd/ZwzFbwHUVR+WA9/f+Rjt5SkZheso3DD1BLAwQUAAIACAAc
JFxGvh0mWmcAAAB0AAAAMgAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQx
Ni1zdGRlcnIudHh0VVQJAAN3tfFUd7XxVHV4CwABBPUBAAAEFAAAACXGMQ7CMAwAwL2v8NatlvhC
YSobiM4OccGSE6PaqcLvGbjpZmuaoVrAc2cKBgKnmpN14B5cXazCZjuM+DBthR3PFISX9YYrp0UC
r/S1Fnf2cMxW8B1FUflgPf3/kY7eUpGYXrKNww9QSwMEFAACAAgAHCRcRr4dJlpnAAAAdAAAADIA
HABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MSW5wdXRFbGVtZW50MTctc3RkZXJyLnR4dFVUCQAD
d7XxVHe18VR1eAsAAQT1AQAABBQAAAAlxjEOwjAMAMC9r/DWrZb4QmEqG4jODnHBkhOj2qnC7xm4
6WZrmqFawHNnCgYCp5qTdeAeXF2swmY7jPgwbYUdzxSEl/WGK6dFAq/0tRZ39nDMVvAdRVH5YD39
/5GO3lKRmF6yjcMPUEsDBBQAAgAIABwkXEa+HSZaZwAAAHQAAAAyABwAZG9tL2h0bWwvbGV2ZWwy
L2h0bWwvSFRNTElucHV0RWxlbWVudDE4LXN0ZGVyci50eHRVVAkAA3e18VR3tfFUdXgLAAEE9QEA
AAQUAAAAJcYxDsIwDADAva/w1q2W+EJhKhuIzg5xwZITo9qpwu8ZuOlma5qhWsBzZwoGAqeak3Xg
HlxdrMJmO4z4MG2FHc8UhJf1hiunRQKv9LUWd/ZwzFbwHUVR+WA9/f+Rjt5SkZheso3DD1BLAwQU
AAIACAAcJFxGvh0mWmcAAAB0AAAAMgAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVs
ZW1lbnQxOS1zdGRlcnIudHh0VVQJAAN3tfFUd7XxVHV4CwABBPUBAAAEFAAAACXGMQ7CMAwAwL2v
8NatlvhCYSobiM4OccGSE6PaqcLvGbjpZmuaoVrAc2cKBgKnmpN14B5cXazCZjuM+DBthR3PFISX
9YYrp0UCr/S1Fnf2cMxW8B1FUflgPf3/kY7eUpGYXrKNww9QSwMEFAACAAgAHCRcRr4dJlpnAAAA
dAAAADIAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MSW5wdXRFbGVtZW50MjAtc3RkZXJyLnR4
dFVUCQADeLXxVHi18VR1eAsAAQT1AQAABBQAAAAlxjEOwjAMAMC9r/DWrZb4QmEqG4jODnHBkhOj
2qnC7xm46WZrmqFawHNnCgYCp5qTdeAeXF2swmY7jPgwbYUdzxSEl/WGK6dFAq/0tRZ39nDMVvAd
RVH5YD39/5GO3lKRmF6yjcMPUEsDBBQAAgAIABwkXEa+HSZaZwAAAHQAAAAyABwAZG9tL2h0bWwv
bGV2ZWwyL2h0bWwvSFRNTElucHV0RWxlbWVudDIxLXN0ZGVyci50eHRVVAkAA3i18VR4tfFUdXgL
AAEE9QEAAAQUAAAAJcYxDsIwDADAva/w1q2W+EJhKhuIzg5xwZITo9qpwu8ZuOlma5qhWsBzZwoG
Aqeak3XgHlxdrMJmO4z4MG2FHc8UhJf1hiunRQKv9LUWd/ZwzFbwHUVR+WA9/f+Rjt5SkZheso3D
D1BLAwQUAAIACAAcJFxGvh0mWmcAAAB0AAAAMgAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJ
bnB1dEVsZW1lbnQyMi1zdGRlcnIudHh0VVQJAAN4tfFUeLXxVHV4CwABBPUBAAAEFAAAACXGMQ7C
MAwAwL2v8NatlvhCYSobiM4OccGSE6PaqcLvGbjpZmuaoVrAc2cKBgKnmpN14B5cXazCZjuM+DBt
hR3PFISX9YYrp0UCr/S1Fnf2cMxW8B1FUflgPf3/kY7eUpGYXrKNww9QSwMEFAACAAgAICRcRrW2
91ZmAAAAcgAAADMAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MT2JqZWN0RWxlbWVudDAxLXN0
ZGVyci50eHRVVAkAA3u18VR7tfFUdXgLAAEE9QEAAAQUAAAAJcYxDsIwDAXQnVN461ZLXAE6wQai
s0vcEsnJR7WDwu0ZeNM7oVmiiqDnrhJKQi41LeikPbR6RqUVOw38gLWizmcJ4Wm+8azLJQdf5YsW
d/VwTij8imJs+lE7/v/OnQ0bxi2vw+EHUEsDBBQAAgAIACAkXEa1tvdWZgAAAHIAAAAzABwAZG9t
L2h0bWwvbGV2ZWwyL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQwMi1zdGRlcnIudHh0VVQJAAN7tfFU
e7XxVHV4CwABBPUBAAAEFAAAACXGMQ7CMAwF0J1TeOtWS1wBOsEGorNL3BLJyUe1g8LtGXjTO6FZ
ooqg564SSkIuNS3opD20ekalFTsN/IC1os5nCeFpvvGsyyUHX+WLFnf1cE4o/IpibPpRO/7/zp0N
G8Ytr8PhB1BLAwQUAAIACAAgJFxGtbb3VmYAAAByAAAAMwAcAGRvbS9odG1sL2xldmVsMi9odG1s
L0hUTUxPYmplY3RFbGVtZW50MDMtc3RkZXJyLnR4dFVUCQADe7XxVHu18VR1eAsAAQT1AQAABBQA
AAAlxjEOwjAMBdCdU3jrVktcATrBBqKzS9wSyclHtYPC7Rl40zuhWaKKoOeuEkpCLjUt6KQ9tHpG
pRU7DfyAtaLOZwnhab7xrMslB1/lixZ39XBOKPyKYmz6UTv+/86dDRvGLa/D4QdQSwMEFAACAAgA
ICRcRrW291ZmAAAAcgAAADMAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MT2JqZWN0RWxlbWVu
dDA0LXN0ZGVyci50eHRVVAkAA3u18VR7tfFUdXgLAAEE9QEAAAQUAAAAJcYxDsIwDAXQnVN461ZL
XAE6wQais0vcEsnJR7WDwu0ZeNM7oVmiiqDnrhJKQi41LeikPbR6RqUVOw38gLWizmcJ4Wm+8azL
JQdf5YsWd/VwTij8imJs+lE7/v/OnQ0bxi2vw+EHUEsDBBQAAgAIACAkXEa1tvdWZgAAAHIAAAAz
ABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQwNS1zdGRlcnIudHh0VVQJ
AAN7tfFUe7XxVHV4CwABBPUBAAAEFAAAACXGMQ7CMAwF0J1TeOtWS1wBOsEGorNL3BLJyUe1g8Lt
GXjTO6FZooqg564SSkIuNS3opD20ekalFTsN/IC1os5nCeFpvvGsyyUHX+WLFnf1cE4o/IpibPpR
O/7/zp0NG8Ytr8PhB1BLAwQUAAIACAAgJFxGtbb3VmYAAAByAAAAMwAcAGRvbS9odG1sL2xldmVs
Mi9odG1sL0hUTUxPYmplY3RFbGVtZW50MDYtc3RkZXJyLnR4dFVUCQADe7XxVHu18VR1eAsAAQT1
AQAABBQAAAAlxjEOwjAMBdCdU3jrVktcATrBBqKzS9wSyclHtYPC7Rl40zuhWaKKoOeuEkpCLjUt
6KQ9tHpGpRU7DfyAtaLOZwnhab7xrMslB1/lixZ39XBOKPyKYmz6UTv+/86dDRvGLa/D4QdQSwME
FAACAAgAICRcRrW291ZmAAAAcgAAADMAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MT2JqZWN0
RWxlbWVudDA3LXN0ZGVyci50eHRVVAkAA3u18VR7tfFUdXgLAAEE9QEAAAQUAAAAJcYxDsIwDAXQ
nVN461ZLXAE6wQais0vcEsnJR7WDwu0ZeNM7oVmiiqDnrhJKQi41LeikPbR6RqUVOw38gLWizmcJ
4Wm+8azLJQdf5YsWd/VwTij8imJs+lE7/v/OnQ0bxi2vw+EHUEsDBBQAAgAIACAkXEa1tvdWZgAA
AHIAAAAzABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQwOC1zdGRlcnIu
dHh0VVQJAAN7tfFUe7XxVHV4CwABBPUBAAAEFAAAACXGMQ7CMAwF0J1TeOtWS1wBOsEGorNL3BLJ
yUe1g8LtGXjTO6FZooqg564SSkIuNS3opD20ekalFTsN/IC1os5nCeFpvvGsyyUHX+WLFnf1cE4o
/IpibPpRO/7/zp0NG8Ytr8PhB1BLAwQUAAIACAAgJFxGtbb3VmYAAAByAAAAMwAcAGRvbS9odG1s
L2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MDktc3RkZXJyLnR4dFVUCQADe7XxVHu18VR1
eAsAAQT1AQAABBQAAAAlxjEOwjAMBdCdU3jrVktcATrBBqKzS9wSyclHtYPC7Rl40zuhWaKKoOeu
EkpCLjUt6KQ9tHpGpRU7DfyAtaLOZwnhab7xrMslB1/lixZ39XBOKPyKYmz6UTv+/86dDRvGLa/D
4QdQSwMEFAACAAgAICRcRrW291ZmAAAAcgAAADMAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1M
T2JqZWN0RWxlbWVudDEwLXN0ZGVyci50eHRVVAkAA3u18VR7tfFUdXgLAAEE9QEAAAQUAAAAJcYx
DsIwDAXQnVN461ZLXAE6wQais0vcEsnJR7WDwu0ZeNM7oVmiiqDnrhJKQi41LeikPbR6RqUVOw38
gLWizmcJ4Wm+8azLJQdf5YsWd/VwTij8imJs+lE7/v/OnQ0bxi2vw+EHUEsDBBQAAgAIACAkXEa1
tvdWZgAAAHIAAAAzABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQxMS1z
dGRlcnIudHh0VVQJAAN7tfFUe7XxVHV4CwABBPUBAAAEFAAAACXGMQ7CMAwF0J1TeOtWS1wBOsEG
orNL3BLJyUe1g8LtGXjTO6FZooqg564SSkIuNS3opD20ekalFTsN/IC1os5nCeFpvvGsyyUHX+WL
Fnf1cE4o/IpibPpRO/7/zp0NG8Ytr8PhB1BLAwQUAAIACAAgJFxGtbb3VmYAAAByAAAAMwAcAGRv
bS9odG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MTItc3RkZXJyLnR4dFVUCQADe7Xx
VHu18VR1eAsAAQT1AQAABBQAAAAlxjEOwjAMBdCdU3jrVktcATrBBqKzS9wSyclHtYPC7Rl40zuh
WaKKoOeuEkpCLjUt6KQ9tHpGpRU7DfyAtaLOZwnhab7xrMslB1/lixZ39XBOKPyKYmz6UTv+/86d
DRvGLa/D4QdQSwMEFAACAAgAICRcRrW291ZmAAAAcgAAADMAHABkb20vaHRtbC9sZXZlbDIvaHRt
bC9IVE1MT2JqZWN0RWxlbWVudDEzLXN0ZGVyci50eHRVVAkAA3y18VR8tfFUdXgLAAEE9QEAAAQU
AAAAJcYxDsIwDAXQnVN461ZLXAE6wQais0vcEsnJR7WDwu0ZeNM7oVmiiqDnrhJKQi41LeikPbR6
RqUVOw38gLWizmcJ4Wm+8azLJQdf5YsWd/VwTij8imJs+lE7/v/OnQ0bxi2vw+EHUEsDBBQAAgAI
ACAkXEa1tvdWZgAAAHIAAAAzABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTE9iamVjdEVsZW1l
bnQxNC1zdGRlcnIudHh0VVQJAAN8tfFUfLXxVHV4CwABBPUBAAAEFAAAACXGMQ7CMAwF0J1TeOtW
S1wBOsEGorNL3BLJyUe1g8LtGXjTO6FZooqg564SSkIuNS3opD20ekalFTsN/IC1os5nCeFpvvGs
yyUHX+WLFnf1cE4o/IpibPpRO/7/zp0NG8Ytr8PhB1BLAwQUAAIACAAgJFxGtbb3VmYAAAByAAAA
MwAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MTUtc3RkZXJyLnR4dFVU
CQADfLXxVHy18VR1eAsAAQT1AQAABBQAAAAlxjEOwjAMBdCdU3jrVktcATrBBqKzS9wSyclHtYPC
7Rl40zuhWaKKoOeuEkpCLjUt6KQ9tHpGpRU7DfyAtaLOZwnhab7xrMslB1/lixZ39XBOKPyKYmz6
UTv+/86dDRvGLa/D4QdQSwMEFAACAAgAICRcRrW291ZmAAAAcgAAADMAHABkb20vaHRtbC9sZXZl
bDIvaHRtbC9IVE1MT2JqZWN0RWxlbWVudDE2LXN0ZGVyci50eHRVVAkAA3y18VR8tfFUdXgLAAEE
9QEAAAQUAAAAJcYxDsIwDAXQnVN461ZLXAE6wQais0vcEsnJR7WDwu0ZeNM7oVmiiqDnrhJKQi41
LeikPbR6RqUVOw38gLWizmcJ4Wm+8azLJQdf5YsWd/VwTij8imJs+lE7/v/OnQ0bxi2vw+EHUEsD
BBQAAgAIACEkXEa1tvdWZgAAAHIAAAAzABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTE9iamVj
dEVsZW1lbnQxNy1zdGRlcnIudHh0VVQJAAN9tfFUfbXxVHV4CwABBPUBAAAEFAAAACXGMQ7CMAwF
0J1TeOtWS1wBOsEGorNL3BLJyUe1g8LtGXjTO6FZooqg564SSkIuNS3opD20ekalFTsN/IC1os5n
CeFpvvGsyyUHX+WLFnf1cE4o/IpibPpRO/7/zp0NG8Ytr8PhB1BLAwQUAAIACAAhJFxGtbb3VmYA
AAByAAAAMwAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MTgtc3RkZXJy
LnR4dFVUCQADfbXxVH218VR1eAsAAQT1AQAABBQAAAAlxjEOwjAMBdCdU3jrVktcATrBBqKzS9wS
yclHtYPC7Rl40zuhWaKKoOeuEkpCLjUt6KQ9tHpGpRU7DfyAtaLOZwnhab7xrMslB1/lixZ39XBO
KPyKYmz6UTv+/86dDRvGLa/D4QdQSwMEFAACAAgAISRcRrW291ZmAAAAcgAAADMAHABkb20vaHRt
bC9sZXZlbDIvaHRtbC9IVE1MT2JqZWN0RWxlbWVudDE5LXN0ZGVyci50eHRVVAkAA3218VR9tfFU
dXgLAAEE9QEAAAQUAAAAJcYxDsIwDAXQnVN461ZLXAE6wQais0vcEsnJR7WDwu0ZeNM7oVmiiqDn
rhJKQi41LeikPbR6RqUVOw38gLWizmcJ4Wm+8azLJQdf5YsWd/VwTij8imJs+lE7/v/OnQ0bxi2v
w+EHUEsDBBQAAgAIACEkXEa1tvdWZgAAAHIAAAAzABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRN
TE9iamVjdEVsZW1lbnQyMC1zdGRlcnIudHh0VVQJAAN9tfFUfbXxVHV4CwABBPUBAAAEFAAAACXG
MQ7CMAwF0J1TeOtWS1wBOsEGorNL3BLJyUe1g8LtGXjTO6FZooqg564SSkIuNS3opD20ekalFTsN
/IC1os5nCeFpvvGsyyUHX+WLFnf1cE4o/IpibPpRO/7/zp0NG8Ytr8PhB1BLAwQUAAIACAAiJFxG
00HxBWkAAAB2AAAAMwAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxTY3JpcHRFbGVtZW50MDEt
c3RkZXJyLnR4dFVUCQADgLXxVIC18VR1eAsAAQT1AQAABBQAAAAlyzEOwjAMBdCdU3jrhgVXACbY
QHR2G1cEOTGKf1C5PUhsb3kH75aoOmhuKlASCqlp8pV0hdbIXmnxRgPf3XrR4KNA+DReedTpnMEX
+XjHTQPByQs/UIxN32r7v5dsvxZzyy/sts8YNl9QSwMEFAACAAgAIiRcRtNB8QVpAAAAdgAAADMA
HABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MU2NyaXB0RWxlbWVudDAyLXN0ZGVyci50eHRVVAkA
A4C18VSAtfFUdXgLAAEE9QEAAAQUAAAAJcsxDsIwDAXQnVN464YFVwAm2EB0dhtXBDkxin9QuT1I
bG95B++WqDpobipQEgqpafKVdIXWyF5p8UYD39160eCjQPg0XnnU6ZzBF/l4x00DwckLP1CMTd9q
+7+XbL8Wc8sv7LbPGDZfUEsDBBQAAgAIACIkXEbTQfEFaQAAAHYAAAAzABwAZG9tL2h0bWwvbGV2
ZWwyL2h0bWwvSFRNTFNjcmlwdEVsZW1lbnQwMy1zdGRlcnIudHh0VVQJAAOAtfFUgLXxVHV4CwAB
BPUBAAAEFAAAACXLMQ7CMAwF0J1TeOuGBVcAJthAdHYbVwQ5MYp/ULk9SGxveQfvlqg6aG4qUBIK
qWnylXSF1sheafFGA9/detHgo0D4NF551OmcwRf5eMdNA8HJCz9QjE3favu/l2y/FnPLL+y2zxg2
X1BLAwQUAAIACAAiJFxG00HxBWkAAAB2AAAAMwAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxT
Y3JpcHRFbGVtZW50MDQtc3RkZXJyLnR4dFVUCQADgLXxVIC18VR1eAsAAQT1AQAABBQAAAAlyzEO
wjAMBdCdU3jrhgVXACbYQHR2G1cEOTGKf1C5PUhsb3kH75aoOmhuKlASCqlp8pV0hdbIXmnxRgPf
3XrR4KNA+DReedTpnMEX+XjHTQPByQs/UIxN32r7v5dsvxZzyy/sts8YNl9QSwMEFAACAAgAIiRc
RtNB8QVpAAAAdgAAADMAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MU2NyaXB0RWxlbWVudDA1
LXN0ZGVyci50eHRVVAkAA4C18VSAtfFUdXgLAAEE9QEAAAQUAAAAJcsxDsIwDAXQnVN464YFVwAm
2EB0dhtXBDkxin9QuT1IbG95B++WqDpobipQEgqpafKVdIXWyF5p8UYD39160eCjQPg0XnnU6ZzB
F/l4x00DwckLP1CMTd9q+7+XbL8Wc8sv7LbPGDZfUEsDBBQAAgAIACMkXEbTQfEFaQAAAHYAAAAz
ABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTFNjcmlwdEVsZW1lbnQwNi1zdGRlcnIudHh0VVQJ
AAOBtfFUgbXxVHV4CwABBPUBAAAEFAAAACXLMQ7CMAwF0J1TeOuGBVcAJthAdHYbVwQ5MYp/ULk9
SGxveQfvlqg6aG4qUBIKqWnylXSF1sheafFGA9/detHgo0D4NF551OmcwRf5eMdNA8HJCz9QjE3f
avu/l2y/FnPLL+y2zxg2X1BLAwQUAAIACAAjJFxG00HxBWkAAAB2AAAAMwAcAGRvbS9odG1sL2xl
dmVsMi9odG1sL0hUTUxTY3JpcHRFbGVtZW50MDctc3RkZXJyLnR4dFVUCQADgbXxVIG18VR1eAsA
AQT1AQAABBQAAAAlyzEOwjAMBdCdU3jrhgVXACbYQHR2G1cEOTGKf1C5PUhsb3kH75aoOmhuKlAS
Cqlp8pV0hdbIXmnxRgPf3XrR4KNA+DReedTpnMEX+XjHTQPByQs/UIxN32r7v5dsvxZzyy/sts8Y
Nl9QSwMEFAACAAgALCRcRrW291ZmAAAAcgAAACgAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9vYmpl
Y3QwMS1zdGRlcnIudHh0VVQJAAOUtfFUlLXxVHV4CwABBPUBAAAEFAAAACXGMQ7CMAwF0J1TeOtW
S1wBOsEGorNL3BLJyUe1g8LtGXjTO6FZooqg564SSkIuNS3opD20ekalFTsN/IC1os5nCeFpvvGs
yyUHX+WLFnf1cE4o/IpibPpRO/7/zp0NG8Ytr8PhB1BLAwQUAAIACAAsJFxGtbb3VmYAAAByAAAA
KAAcAGRvbS9odG1sL2xldmVsMi9odG1sL29iamVjdDAyLXN0ZGVyci50eHRVVAkAA5S18VSUtfFU
dXgLAAEE9QEAAAQUAAAAJcYxDsIwDAXQnVN461ZLXAE6wQais0vcEsnJR7WDwu0ZeNM7oVmiiqDn
rhJKQi41LeikPbR6RqUVOw38gLWizmcJ4Wm+8azLJQdf5YsWd/VwTij8imJs+lE7/v/OnQ0bxi2v
w+EHUEsDBBQAAgAIACwkXEa1tvdWZgAAAHIAAAAoABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvb2Jq
ZWN0MDMtc3RkZXJyLnR4dFVUCQADlLXxVJS18VR1eAsAAQT1AQAABBQAAAAlxjEOwjAMBdCdU3jr
VktcATrBBqKzS9wSyclHtYPC7Rl40zuhWaKKoOeuEkpCLjUt6KQ9tHpGpRU7DfyAtaLOZwnhab7x
rMslB1/lixZ39XBOKPyKYmz6UTv+/86dDRvGLa/D4QdQSwMEFAACAAgALSRcRrW291ZmAAAAcgAA
ACgAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9vYmplY3QwNC1zdGRlcnIudHh0VVQJAAOVtfFUlbXx
VHV4CwABBPUBAAAEFAAAACXGMQ7CMAwF0J1TeOtWS1wBOsEGorNL3BLJyUe1g8LtGXjTO6FZooqg
564SSkIuNS3opD20ekalFTsN/IC1os5nCeFpvvGsyyUHX+WLFnf1cE4o/IpibPpRO/7/zp0NG8Yt
r8PhB1BLAwQUAAIACAAtJFxGtbb3VmYAAAByAAAAKAAcAGRvbS9odG1sL2xldmVsMi9odG1sL29i
amVjdDA1LXN0ZGVyci50eHRVVAkAA5W18VSVtfFUdXgLAAEE9QEAAAQUAAAAJcYxDsIwDAXQnVN4
61ZLXAE6wQais0vcEsnJR7WDwu0ZeNM7oVmiiqDnrhJKQi41LeikPbR6RqUVOw38gLWizmcJ4Wm+
8azLJQdf5YsWd/VwTij8imJs+lE7/v/OnQ0bxi2vw+EHUEsDBBQAAgAIAC0kXEa1tvdWZgAAAHIA
AAAoABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvb2JqZWN0MDctc3RkZXJyLnR4dFVUCQADlbXxVJW1
8VR1eAsAAQT1AQAABBQAAAAlxjEOwjAMBdCdU3jrVktcATrBBqKzS9wSyclHtYPC7Rl40zuhWaKK
oOeuEkpCLjUt6KQ9tHpGpRU7DfyAtaLOZwnhab7xrMslB1/lixZ39XBOKPyKYmz6UTv+/86dDRvG
La/D4QdQSwMEFAACAAgALSRcRrW291ZmAAAAcgAAACgAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9v
YmplY3QwOC1zdGRlcnIudHh0VVQJAAOVtfFUlbXxVHV4CwABBPUBAAAEFAAAACXGMQ7CMAwF0J1T
eOtWS1wBOsEGorNL3BLJyUe1g8LtGXjTO6FZooqg564SSkIuNS3opD20ekalFTsN/IC1os5nCeFp
vvGsyyUHX+WLFnf1cE4o/IpibPpRO/7/zp0NG8Ytr8PhB1BLAwQUAAIACAAtJFxGtbb3VmYAAABy
AAAAKAAcAGRvbS9odG1sL2xldmVsMi9odG1sL29iamVjdDA5LXN0ZGVyci50eHRVVAkAA5W18VSV
tfFUdXgLAAEE9QEAAAQUAAAAJcYxDsIwDAXQnVN461ZLXAE6wQais0vcEsnJR7WDwu0ZeNM7oVmi
iqDnrhJKQi41LeikPbR6RqUVOw38gLWizmcJ4Wm+8azLJQdf5YsWd/VwTij8imJs+lE7/v/OnQ0b
xi2vw+EHUEsDBBQAAgAIAC0kXEa1tvdWZgAAAHIAAAAoABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwv
b2JqZWN0MTAtc3RkZXJyLnR4dFVUCQADlrXxVJa18VR1eAsAAQT1AQAABBQAAAAlxjEOwjAMBdCd
U3jrVktcATrBBqKzS9wSyclHtYPC7Rl40zuhWaKKoOeuEkpCLjUt6KQ9tHpGpRU7DfyAtaLOZwnh
ab7xrMslB1/lixZ39XBOKPyKYmz6UTv+/86dDRvGLa/D4QdQSwMEFAACAAgALSRcRrW291ZmAAAA
cgAAACgAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9vYmplY3QxMS1zdGRlcnIudHh0VVQJAAOWtfFU
lrXxVHV4CwABBPUBAAAEFAAAACXGMQ7CMAwF0J1TeOtWS1wBOsEGorNL3BLJyUe1g8LtGXjTO6FZ
ooqg564SSkIuNS3opD20ekalFTsN/IC1os5nCeFpvvGsyyUHX+WLFnf1cE4o/IpibPpRO/7/zp0N
G8Ytr8PhB1BLAwQUAAIACAAtJFxGtbb3VmYAAAByAAAAKAAcAGRvbS9odG1sL2xldmVsMi9odG1s
L29iamVjdDEyLXN0ZGVyci50eHRVVAkAA5a18VSWtfFUdXgLAAEE9QEAAAQUAAAAJcYxDsIwDAXQ
nVN461ZLXAE6wQais0vcEsnJR7WDwu0ZeNM7oVmiiqDnrhJKQi41LeikPbR6RqUVOw38gLWizmcJ
4Wm+8azLJQdf5YsWd/VwTij8imJs+lE7/v/OnQ0bxi2vw+EHUEsDBBQAAgAIAC0kXEa1tvdWZgAA
AHIAAAAoABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvb2JqZWN0MTMtc3RkZXJyLnR4dFVUCQADlrXx
VJa18VR1eAsAAQT1AQAABBQAAAAlxjEOwjAMBdCdU3jrVktcATrBBqKzS9wSyclHtYPC7Rl40zuh
WaKKoOeuEkpCLjUt6KQ9tHpGpRU7DfyAtaLOZwnhab7xrMslB1/lixZ39XBOKPyKYmz6UTv+/86d
DRvGLa/D4QdQSwMEFAACAAgALSRcRrW291ZmAAAAcgAAACgAHABkb20vaHRtbC9sZXZlbDIvaHRt
bC9vYmplY3QxNC1zdGRlcnIudHh0VVQJAAOWtfFUlrXxVHV4CwABBPUBAAAEFAAAACXGMQ7CMAwF
0J1TeOtWS1wBOsEGorNL3BLJyUe1g8LtGXjTO6FZooqg564SSkIuNS3opD20ekalFTsN/IC1os5n
CeFpvvGsyyUHX+WLFnf1cE4o/IpibPpRO/7/zp0NG8Ytr8PhB1BLAwQUAAIACAAtJFxGtbb3VmYA
AAByAAAAKAAcAGRvbS9odG1sL2xldmVsMi9odG1sL29iamVjdDE1LXN0ZGVyci50eHRVVAkAA5a1
8VSWtfFUdXgLAAEE9QEAAAQUAAAAJcYxDsIwDAXQnVN461ZLXAE6wQais0vcEsnJR7WDwu0ZeNM7
oVmiiqDnrhJKQi41LeikPbR6RqUVOw38gLWizmcJ4Wm+8azLJQdf5YsWd/VwTij8imJs+lE7/v/O
nQ0bxi2vw+EHUEsDBAoAAAAAABIkXEYAAAAAAAAAAAAAAAAKABwAZG9tL3hodG1sL1VUCQADY7Xx
VI+28VR1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAEiRcRgAAAAAAAAAAAAAAABEAHABkb20veGh0
bWwvbGV2ZWwyL1VUCQADY7XxVI+28VR1eAsAAQT1AQAABBQAAABQSwMECgAAAAAALyRcRgAAAAAA
AAAAAAAAABYAHABkb20veGh0bWwvbGV2ZWwyL2h0bWwvVVQJAAOZtfFUj7bxVHV4CwABBPUBAAAE
FAAAAFBLAwQUAAIACAAtJFxG004a02kAAAB0AAAAJwAcAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9i
b2R5MDEtc3RkZXJyLnR4dFVUCQADlrXxVJa18VR1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jr
xhdcgTLBBqKz07gQkcSodlC4fSXe9E7acqSqTvMq7EJMxjUG7STdpVrSSouuNOChuRUxjOyM83TD
JOGSHFf+afO7mBuiFvSXl4wsX8lH/P9JHYHn92H/TMuw2wBQSwMEFAACAAgAEiRcRtNOGtNpAAAA
dAAAADIAHABkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTEJvZHlFbGVtZW50MDEtc3RkZXJyLnR4
dFVUCQADY7XxVGO18VR1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jrxhdcgTLBBqKz07gQkcSo
dlC4fSXe9E7acqSqTvMq7EJMxjUG7STdpVrSSouuNOChuRUxjOyM83TDJOGSHFf+afO7mBuiFvSX
l4wsX8lH/P9JHYHn92H/TMuw2wBQSwMEFAACAAgAEiRcRtNOGtNpAAAAdAAAADIAHABkb20veGh0
bWwvbGV2ZWwyL2h0bWwvSFRNTEJvZHlFbGVtZW50MDItc3RkZXJyLnR4dFVUCQADY7XxVGO18VR1
eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jrxhdcgTLBBqKz07gQkcSodlC4fSXe9E7acqSqTvMq
7EJMxjUG7STdpVrSSouuNOChuRUxjOyM83TDJOGSHFf+afO7mBuiFvSXl4wsX8lH/P9JHYHn92H/
TMuw2wBQSwMEFAACAAgAEiRcRtNOGtNpAAAAdAAAADIAHABkb20veGh0bWwvbGV2ZWwyL2h0bWwv
SFRNTEJvZHlFbGVtZW50MDMtc3RkZXJyLnR4dFVUCQADY7XxVGO18VR1eAsAAQT1AQAABBQAAAAd
xjEOwjAMBdCdU3jrxhdcgTLBBqKz07gQkcSodlC4fSXe9E7acqSqTvMq7EJMxjUG7STdpVrSSouu
NOChuRUxjOyM83TDJOGSHFf+afO7mBuiFvSXl4wsX8lH/P9JHYHn92H/TMuw2wBQSwMEFAACAAgA
EiRcRtNOGtNpAAAAdAAAADIAHABkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTEJvZHlFbGVtZW50
MDQtc3RkZXJyLnR4dFVUCQADY7XxVGO18VR1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jrxhdc
gTLBBqKz07gQkcSodlC4fSXe9E7acqSqTvMq7EJMxjUG7STdpVrSSouuNOChuRUxjOyM83TDJOGS
HFf+afO7mBuiFvSXl4wsX8lH/P9JHYHn92H/TMuw2wBQSwMEFAACAAgAEiRcRtNOGtNpAAAAdAAA
ADIAHABkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTEJvZHlFbGVtZW50MDUtc3RkZXJyLnR4dFVU
CQADZLXxVGS18VR1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jrxhdcgTLBBqKz07gQkcSodlC4
fSXe9E7acqSqTvMq7EJMxjUG7STdpVrSSouuNOChuRUxjOyM83TDJOGSHFf+afO7mBuiFvSXl4ws
X8lH/P9JHYHn92H/TMuw2wBQSwMEFAACAAgAEiRcRtNOGtNpAAAAdAAAADIAHABkb20veGh0bWwv
bGV2ZWwyL2h0bWwvSFRNTEJvZHlFbGVtZW50MDYtc3RkZXJyLnR4dFVUCQADZLXxVGS18VR1eAsA
AQT1AQAABBQAAAAdxjEOwjAMBdCdU3jrxhdcgTLBBqKz07gQkcSodlC4fSXe9E7acqSqTvMq7EJM
xjUG7STdpVrSSouuNOChuRUxjOyM83TDJOGSHFf+afO7mBuiFvSXl4wsX8lH/P9JHYHn92H/TMuw
2wBQSwMEFAACAAgAEiRcRhDactB0AAAAWAEAADIAHABkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRN
TEJvZHlFbGVtZW50MDctc3RkZXJyLnR4dFVUCQADZLXxVGS18VR1eAsAAQT1AQAABBQAAAC9zTEO
wjAMAMCdV3jrVkt8oXSCDURnl7jFkhOj2kHh90jwh2633WBVExQLeGxMwUDgVNJsDbgFFxcrsNgG
Hd5Na2bHEwXhOF1x4vksgRf6WI0bezgmy9iekRWV36xH/PklDVN4v8rSHYa9RpXCe5e22r/8AlBL
AwQUAAIACAASJFxGENpy0HQAAABYAQAAMgAcAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MQm9k
eUVsZW1lbnQwOC1zdGRlcnIudHh0VVQJAANktfFUZLXxVHV4CwABBPUBAAAEFAAAAL3NMQ7CMAwA
wJ1XeOtWS3yhdIINRGeXuMWSE6PaQeH3SPCHbrfdYFUTFAt4bEzBQOBU0mwNuAUXFyuw2AYd3k1r
ZscTBeE4XXHi+SyBF/pYjRt7OCbL2J6RFZXfrEf8+SUNU3i/ytIdhr1GlcJ7l7bav/wCUEsDBBQA
AgAIABIkXEYQ2nLQdAAAAFgBAAAyABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxCb2R5RWxl
bWVudDA5LXN0ZGVyci50eHRVVAkAA2S18VRktfFUdXgLAAEE9QEAAAQUAAAAvc0xDsIwDADAnVd4
61ZLfKF0gg1EZ5e4xZITo9pB4fdI8Idut91gVRMUC3hsTMFA4FTSbA24BRcXK7DYBh3eTWtmxxMF
4ThdceL5LIEX+liNG3s4JsvYnpEVld+sR/z5JQ1TeL/K0h2GvUaVwnuXttq//AJQSwMEFAACAAgA
EiRcRhDactB0AAAAWAEAADIAHABkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTEJvZHlFbGVtZW50
MTAtc3RkZXJyLnR4dFVUCQADZLXxVGS18VR1eAsAAQT1AQAABBQAAAC9zTEOwjAMAMCdV3jrVkt8
oXSCDURnl7jFkhOj2kHh90jwh2633WBVExQLeGxMwUDgVNJsDbgFFxcrsNgGHd5Na2bHEwXhOF1x
4vksgRf6WI0bezgmy9iekRWV36xH/PklDVN4v8rSHYa9RpXCe5e22r/8AlBLAwQUAAIACAASJFxG
ENpy0HQAAABYAQAAMgAcAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MQm9keUVsZW1lbnQxMS1z
dGRlcnIudHh0VVQJAANktfFUZLXxVHV4CwABBPUBAAAEFAAAAL3NMQ7CMAwAwJ1XeOtWS3yhdIIN
RGeXuMWSE6PaQeH3SPCHbrfdYFUTFAt4bEzBQOBU0mwNuAUXFyuw2AYd3k1rZscTBeE4XXHi+SyB
F/pYjRt7OCbL2J6RFZXfrEf8+SUNU3i/ytIdhr1GlcJ7l7bav/wCUEsDBBQAAgAIABIkXEYQ2nLQ
dAAAAFgBAAAyABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxCb2R5RWxlbWVudDEyLXN0ZGVy
ci50eHRVVAkAA2S18VRktfFUdXgLAAEE9QEAAAQUAAAAvc0xDsIwDADAnVd461ZLfKF0gg1EZ5e4
xZITo9pB4fdI8Idut91gVRMUC3hsTMFA4FTSbA24BRcXK7DYBh3eTWtmxxMF4ThdceL5LIEX+liN
G3s4JsvYnpEVld+sR/z5JQ1TeL/K0h2GvUaVwnuXttq//AJQSwMEFAACAAgAFCRcRhDactB0AAAA
WAEAAC8AHABkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTERvY3VtZW50MDEtc3RkZXJyLnR4dFVU
CQADZ7XxVGe18VR1eAsAAQT1AQAABBQAAAC9zTEOwjAMAMCdV3jrVkt8oXSCDURnl7jFkhOj2kHh
90jwh2633WBVExQLeGxMwUDgVNJsDbgFFxcrsNgGHd5Na2bHEwXhOF1x4vksgRf6WI0bezgmy9ie
kRWV36xH/PklDVN4v8rSHYa9RpXCe5e22r/8AlBLAwQUAAIACAAUJFxGENpy0HQAAABYAQAALwAc
AGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQwMi1zdGRlcnIudHh0VVQJAANntfFU
Z7XxVHV4CwABBPUBAAAEFAAAAL3NMQ7CMAwAwJ1XeOtWS3yhdIINRGeXuMWSE6PaQeH3SPCHbrfd
YFUTFAt4bEzBQOBU0mwNuAUXFyuw2AYd3k1rZscTBeE4XXHi+SyBF/pYjRt7OCbL2J6RFZXfrEf8
+SUNU3i/ytIdhr1GlcJ7l7bav/wCUEsDBBQAAgAIABQkXEYQ2nLQdAAAAFgBAAAvABwAZG9tL3ho
dG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDAzLXN0ZGVyci50eHRVVAkAA2e18VRntfFUdXgL
AAEE9QEAAAQUAAAAvc0xDsIwDADAnVd461ZLfKF0gg1EZ5e4xZITo9pB4fdI8Idut91gVRMUC3hs
TMFA4FTSbA24BRcXK7DYBh3eTWtmxxMF4ThdceL5LIEX+liNG3s4JsvYnpEVld+sR/z5JQ1TeL/K
0h2GvUaVwnuXttq//AJQSwMEFAACAAgAFCRcRhDactB0AAAAWAEAAC8AHABkb20veGh0bWwvbGV2
ZWwyL2h0bWwvSFRNTERvY3VtZW50MDQtc3RkZXJyLnR4dFVUCQADZ7XxVGe18VR1eAsAAQT1AQAA
BBQAAAC9zTEOwjAMAMCdV3jrVkt8oXSCDURnl7jFkhOj2kHh90jwh2633WBVExQLeGxMwUDgVNJs
DbgFFxcrsNgGHd5Na2bHEwXhOF1x4vksgRf6WI0bezgmy9iekRWV36xH/PklDVN4v8rSHYa9RpXC
e5e22r/8AlBLAwQUAAIACAAUJFxGENpy0HQAAABYAQAALwAcAGRvbS94aHRtbC9sZXZlbDIvaHRt
bC9IVE1MRG9jdW1lbnQwNS1zdGRlcnIudHh0VVQJAANntfFUZ7XxVHV4CwABBPUBAAAEFAAAAL3N
MQ7CMAwAwJ1XeOtWS3yhdIINRGeXuMWSE6PaQeH3SPCHbrfdYFUTFAt4bEzBQOBU0mwNuAUXFyuw
2AYd3k1rZscTBeE4XXHi+SyBF/pYjRt7OCbL2J6RFZXfrEf8+SUNU3i/ytIdhr1GlcJ7l7bav/wC
UEsDBBQAAgAIABQkXEYQ2nLQdAAAAFgBAAAvABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxE
b2N1bWVudDA3LXN0ZGVyci50eHRVVAkAA2e18VRntfFUdXgLAAEE9QEAAAQUAAAAvc0xDsIwDADA
nVd461ZLfKF0gg1EZ5e4xZITo9pB4fdI8Idut91gVRMUC3hsTMFA4FTSbA24BRcXK7DYBh3eTWtm
xxMF4ThdceL5LIEX+liNG3s4JsvYnpEVld+sR/z5JQ1TeL/K0h2GvUaVwnuXttq//AJQSwMEFAAC
AAgAFCRcRhDactB0AAAAWAEAAC8AHABkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTERvY3VtZW50
MDgtc3RkZXJyLnR4dFVUCQADZ7XxVGe18VR1eAsAAQT1AQAABBQAAAC9zTEOwjAMAMCdV3jrVkt8
oXSCDURnl7jFkhOj2kHh90jwh2633WBVExQLeGxMwUDgVNJsDbgFFxcrsNgGHd5Na2bHEwXhOF1x
4vksgRf6WI0bezgmy9iekRWV36xH/PklDVN4v8rSHYa9RpXCe5e22r/8AlBLAwQUAAIACAAUJFxG
ENpy0HQAAABYAQAALwAcAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQwOS1zdGRl
cnIudHh0VVQJAANntfFUZ7XxVHV4CwABBPUBAAAEFAAAAL3NMQ7CMAwAwJ1XeOtWS3yhdIINRGeX
uMWSE6PaQeH3SPCHbrfdYFUTFAt4bEzBQOBU0mwNuAUXFyuw2AYd3k1rZscTBeE4XXHi+SyBF/pY
jRt7OCbL2J6RFZXfrEf8+SUNU3i/ytIdhr1GlcJ7l7bav/wCUEsDBBQAAgAIABQkXEYQ2nLQdAAA
AFgBAAAvABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDEwLXN0ZGVyci50eHRV
VAkAA2e18VRntfFUdXgLAAEE9QEAAAQUAAAAvc0xDsIwDADAnVd461ZLfKF0gg1EZ5e4xZITo9pB
4fdI8Idut91gVRMUC3hsTMFA4FTSbA24BRcXK7DYBh3eTWtmxxMF4ThdceL5LIEX+liNG3s4JsvY
npEVld+sR/z5JQ1TeL/K0h2GvUaVwnuXttq//AJQSwMEFAACAAgAFCRcRhDactB0AAAAWAEAAC8A
HABkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTERvY3VtZW50MTEtc3RkZXJyLnR4dFVUCQADaLXx
VGi18VR1eAsAAQT1AQAABBQAAAC9zTEOwjAMAMCdV3jrVkt8oXSCDURnl7jFkhOj2kHh90jwh263
3WBVExQLeGxMwUDgVNJsDbgFFxcrsNgGHd5Na2bHEwXhOF1x4vksgRf6WI0bezgmy9iekRWV36xH
/PklDVN4v8rSHYa9RpXCe5e22r/8AlBLAwQUAAIACAAUJFxGENpy0HQAAABYAQAALwAcAGRvbS94
aHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQxMi1zdGRlcnIudHh0VVQJAANotfFUaLXxVHV4
CwABBPUBAAAEFAAAAL3NMQ7CMAwAwJ1XeOtWS3yhdIINRGeXuMWSE6PaQeH3SPCHbrfdYFUTFAt4
bEzBQOBU0mwNuAUXFyuw2AYd3k1rZscTBeE4XXHi+SyBF/pYjRt7OCbL2J6RFZXfrEf8+SUNU3i/
ytIdhr1GlcJ7l7bav/wCUEsDBBQAAgAIABQkXEYQ2nLQdAAAAFgBAAAvABwAZG9tL3hodG1sL2xl
dmVsMi9odG1sL0hUTUxEb2N1bWVudDEzLXN0ZGVyci50eHRVVAkAA2i18VRotfFUdXgLAAEE9QEA
AAQUAAAAvc0xDsIwDADAnVd461ZLfKF0gg1EZ5e4xZITo9pB4fdI8Idut91gVRMUC3hsTMFA4FTS
bA24BRcXK7DYBh3eTWtmxxMF4ThdceL5LIEX+liNG3s4JsvYnpEVld+sR/z5JQ1TeL/K0h2GvUaV
wnuXttq//AJQSwMEFAACAAgAFCRcRhDactB0AAAAWAEAAC8AHABkb20veGh0bWwvbGV2ZWwyL2h0
bWwvSFRNTERvY3VtZW50MTQtc3RkZXJyLnR4dFVUCQADaLXxVGi18VR1eAsAAQT1AQAABBQAAAC9
zTEOwjAMAMCdV3jrVkt8oXSCDURnl7jFkhOj2kHh90jwh2633WBVExQLeGxMwUDgVNJsDbgFFxcr
sNgGHd5Na2bHEwXhOF1x4vksgRf6WI0bezgmy9iekRWV36xH/PklDVN4v8rSHYa9RpXCe5e22r/8
AlBLAwQUAAIACAAUJFxGENpy0HQAAABYAQAALwAcAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1M
RG9jdW1lbnQxNS1zdGRlcnIudHh0VVQJAANotfFUaLXxVHV4CwABBPUBAAAEFAAAAL3NMQ7CMAwA
wJ1XeOtWS3yhdIINRGeXuMWSE6PaQeH3SPCHbrfdYFUTFAt4bEzBQOBU0mwNuAUXFyuw2AYd3k1r
ZscTBeE4XXHi+SyBF/pYjRt7OCbL2J6RFZXfrEf8+SUNU3i/ytIdhr1GlcJ7l7bav/wCUEsDBBQA
AgAIABQkXEYQ2nLQdAAAAFgBAAAvABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVu
dDE2LXN0ZGVyci50eHRVVAkAA2i18VRotfFUdXgLAAEE9QEAAAQUAAAAvc0xDsIwDADAnVd461ZL
fKF0gg1EZ5e4xZITo9pB4fdI8Idut91gVRMUC3hsTMFA4FTSbA24BRcXK7DYBh3eTWtmxxMF4Thd
ceL5LIEX+liNG3s4JsvYnpEVld+sR/z5JQ1TeL/K0h2GvUaVwnuXttq//AJQSwMEFAACAAgAFCRc
RhDactB0AAAAWAEAAC8AHABkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTERvY3VtZW50MTctc3Rk
ZXJyLnR4dFVUCQADaLXxVGi18VR1eAsAAQT1AQAABBQAAAC9zTEOwjAMAMCdV3jrVkt8oXSCDURn
l7jFkhOj2kHh90jwh2633WBVExQLeGxMwUDgVNJsDbgFFxcrsNgGHd5Na2bHEwXhOF1x4vksgRf6
WI0bezgmy9iekRWV36xH/PklDVN4v8rSHYa9RpXCe5e22r/8AlBLAwQUAAIACAAUJFxGENpy0HQA
AABYAQAALwAcAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQxOC1zdGRlcnIudHh0
VVQJAANotfFUaLXxVHV4CwABBPUBAAAEFAAAAL3NMQ7CMAwAwJ1XeOtWS3yhdIINRGeXuMWSE6Pa
QeH3SPCHbrfdYFUTFAt4bEzBQOBU0mwNuAUXFyuw2AYd3k1rZscTBeE4XXHi+SyBF/pYjRt7OCbL
2J6RFZXfrEf8+SUNU3i/ytIdhr1GlcJ7l7bav/wCUEsDBBQAAgAIABUkXEYQ2nLQdAAAAFgBAAAv
ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDE5LXN0ZGVyci50eHRVVAkAA2m1
8VRptfFUdXgLAAEE9QEAAAQUAAAAvc0xDsIwDADAnVd461ZLfKF0gg1EZ5e4xZITo9pB4fdI8Idu
t91gVRMUC3hsTMFA4FTSbA24BRcXK7DYBh3eTWtmxxMF4ThdceL5LIEX+liNG3s4JsvYnpEVld+s
R/z5JQ1TeL/K0h2GvUaVwnuXttq//AJQSwMEFAACAAgAFSRcRhDactB0AAAAWAEAAC8AHABkb20v
eGh0bWwvbGV2ZWwyL2h0bWwvSFRNTERvY3VtZW50MjAtc3RkZXJyLnR4dFVUCQADabXxVGm18VR1
eAsAAQT1AQAABBQAAAC9zTEOwjAMAMCdV3jrVkt8oXSCDURnl7jFkhOj2kHh90jwh2633WBVExQL
eGxMwUDgVNJsDbgFFxcrsNgGHd5Na2bHEwXhOF1x4vksgRf6WI0bezgmy9iekRWV36xH/PklDVN4
v8rSHYa9RpXCe5e22r/8AlBLAwQUAAIACAAVJFxGENpy0HQAAABYAQAALwAcAGRvbS94aHRtbC9s
ZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQyMS1zdGRlcnIudHh0VVQJAANptfFUabXxVHV4CwABBPUB
AAAEFAAAAL3NMQ7CMAwAwJ1XeOtWS3yhdIINRGeXuMWSE6PaQeH3SPCHbrfdYFUTFAt4bEzBQOBU
0mwNuAUXFyuw2AYd3k1rZscTBeE4XXHi+SyBF/pYjRt7OCbL2J6RFZXfrEf8+SUNU3i/ytIdhr1G
lcJ7l7bav/wCUEsDBBQAAgAIABUkXEYQ2nLQdAAAAFgBAAAvABwAZG9tL3hodG1sL2xldmVsMi9o
dG1sL0hUTUxEb2N1bWVudDIyLXN0ZGVyci50eHRVVAkAA2m18VRptfFUdXgLAAEE9QEAAAQUAAAA
vc0xDsIwDADAnVd461ZLfKF0gg1EZ5e4xZITo9pB4fdI8Idut91gVRMUC3hsTMFA4FTSbA24BRcX
K7DYBh3eTWtmxxMF4ThdceL5LIEX+liNG3s4JsvYnpEVld+sR/z5JQ1TeL/K0h2GvUaVwnuXttq/
/AJQSwMEFAACAAgAFSRcRhDactB0AAAAWAEAAC8AHABkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRN
TERvY3VtZW50MjMtc3RkZXJyLnR4dFVUCQADabXxVGm18VR1eAsAAQT1AQAABBQAAAC9zTEOwjAM
AMCdV3jrVkt8oXSCDURnl7jFkhOj2kHh90jwh2633WBVExQLeGxMwUDgVNJsDbgFFxcrsNgGHd5N
a2bHEwXhOF1x4vksgRf6WI0bezgmy9iekRWV36xH/PklDVN4v8rSHYa9RpXCe5e22r/8AlBLAwQU
AAIACAAVJFxGENpy0HQAAABYAQAALwAcAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1l
bnQyNC1zdGRlcnIudHh0VVQJAANptfFUabXxVHV4CwABBPUBAAAEFAAAAL3NMQ7CMAwAwJ1XeOtW
S3yhdIINRGeXuMWSE6PaQeH3SPCHbrfdYFUTFAt4bEzBQOBU0mwNuAUXFyuw2AYd3k1rZscTBeE4
XXHi+SyBF/pYjRt7OCbL2J6RFZXfrEf8+SUNU3i/ytIdhr1GlcJ7l7bav/wCUEsDBBQAAgAIABUk
XEYQ2nLQdAAAAFgBAAAvABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDI1LXN0
ZGVyci50eHRVVAkAA2m18VRptfFUdXgLAAEE9QEAAAQUAAAAvc0xDsIwDADAnVd461ZLfKF0gg1E
Z5e4xZITo9pB4fdI8Idut91gVRMUC3hsTMFA4FTSbA24BRcXK7DYBh3eTWtmxxMF4ThdceL5LIEX
+liNG3s4JsvYnpEVld+sR/z5JQ1TeL/K0h2GvUaVwnuXttq//AJQSwMEFAACAAgAFSRcRhDactB0
AAAAWAEAAC8AHABkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTERvY3VtZW50MjYtc3RkZXJyLnR4
dFVUCQADabXxVGm18VR1eAsAAQT1AQAABBQAAAC9zTEOwjAMAMCdV3jrVkt8oXSCDURnl7jFkhOj
2kHh90jwh2633WBVExQLeGxMwUDgVNJsDbgFFxcrsNgGHd5Na2bHEwXhOF1x4vksgRf6WI0bezgm
y9iekRWV36xH/PklDVN4v8rSHYa9RpXCe5e22r/8AlBLAwQUAAIACAAVJFxGENpy0HQAAABYAQAA
LwAcAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQyNy1zdGRlcnIudHh0VVQJAANq
tfFUarXxVHV4CwABBPUBAAAEFAAAAL3NMQ7CMAwAwJ1XeOtWS3yhdIINRGeXuMWSE6PaQeH3SPCH
brfdYFUTFAt4bEzBQOBU0mwNuAUXFyuw2AYd3k1rZscTBeE4XXHi+SyBF/pYjRt7OCbL2J6RFZXf
rEf8+SUNU3i/ytIdhr1GlcJ7l7bav/wCUEsDBBQAAgAIABwkXEYIpBo2ZgAAAHIAAAAzABwAZG9t
L3hodG1sL2xldmVsMi9odG1sL0hUTUxJbWFnZUVsZW1lbnQwMS1zdGRlcnIudHh0VVQJAAN3tfFU
d7XxVHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gCdIINRGeXuBDJiVHtVOH2SH3TO1vT
RNWCXqtwCDE51zRbJ+kh1bNVWmylAU/TVsRx4WCM0x2TzNccuPHPWjzEw5GsoH+iKFQ20RP2f3NH
Cj++8zIc/lBLAwQUAAIACAAcJFxGCKQaNmYAAAByAAAAMwAcAGRvbS94aHRtbC9sZXZlbDIvaHRt
bC9IVE1MSW1hZ2VFbGVtZW50MDItc3RkZXJyLnR4dFVUCQADd7XxVHe18VR1eAsAAQT1AQAABBQA
AAAdxjEOwjAMBdCdU3jrxpe4AnSCDURnl7gQyYlR7VTh9kh90ztb00TVgl6rcAgxOdc0WyfpIdWz
VVpspQFP01bEceFgjNMdk8zXHLjxz1o8xMORrKB/oihUNtET9n9zRwo/vvMyHP5QSwMEFAACAAgA
HCRcRgikGjZmAAAAcgAAADMAHABkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTEltYWdlRWxlbWVu
dDAzLXN0ZGVyci50eHRVVAkAA3e18VR3tfFUdXgLAAEE9QEAAAQUAAAAHcYxDsIwDAXQnVN468aX
uAJ0gg1EZ5e4EMmJUe1U4fZIfdM7W9NE1YJeq3AIMTnXNFsn6SHVs1VabKUBT9NWxHHhYIzTHZPM
1xy48c9aPMTDkaygf6IoVDbRE/Z/c0cKP77zMhz+UEsDBBQAAgAIABwkXEYIpBo2ZgAAAHIAAAAz
ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbWFnZUVsZW1lbnQwNC1zdGRlcnIudHh0VVQJ
AAN3tfFUd7XxVHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gCdIINRGeXuBDJiVHtVOH2
SH3TO1vTRNWCXqtwCDE51zRbJ+kh1bNVWmylAU/TVsRx4WCM0x2TzNccuPHPWjzEw5GsoH+iKFQ2
0RP2f3NHCj++8zIc/lBLAwQUAAIACAAcJFxGCKQaNmYAAAByAAAAMwAcAGRvbS94aHRtbC9sZXZl
bDIvaHRtbC9IVE1MSW1hZ2VFbGVtZW50MDUtc3RkZXJyLnR4dFVUCQADd7XxVHe18VR1eAsAAQT1
AQAABBQAAAAdxjEOwjAMBdCdU3jrxpe4AnSCDURnl7gQyYlR7VTh9kh90ztb00TVgl6rcAgxOdc0
WyfpIdWzVVpspQFP01bEceFgjNMdk8zXHLjxz1o8xMORrKB/oihUNtET9n9zRwo/vvMyHP5QSwME
FAACAAgAHCRcRgikGjZmAAAAcgAAADMAHABkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTEltYWdl
RWxlbWVudDA2LXN0ZGVyci50eHRVVAkAA3i18VR4tfFUdXgLAAEE9QEAAAQUAAAAHcYxDsIwDAXQ
nVN468aXuAJ0gg1EZ5e4EMmJUe1U4fZIfdM7W9NE1YJeq3AIMTnXNFsn6SHVs1VabKUBT9NWxHHh
YIzTHZPM1xy48c9aPMTDkaygf6IoVDbRE/Z/c0cKP77zMhz+UEsDBBQAAgAIABwkXEYIpBo2ZgAA
AHIAAAAzABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbWFnZUVsZW1lbnQwNy1zdGRlcnIu
dHh0VVQJAAN4tfFUeLXxVHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gCdIINRGeXuBDJ
iVHtVOH2SH3TO1vTRNWCXqtwCDE51zRbJ+kh1bNVWmylAU/TVsRx4WCM0x2TzNccuPHPWjzEw5Gs
oH+iKFQ20RP2f3NHCj++8zIc/lBLAwQUAAIACAAcJFxGCKQaNmYAAAByAAAAMwAcAGRvbS94aHRt
bC9sZXZlbDIvaHRtbC9IVE1MSW1hZ2VFbGVtZW50MDgtc3RkZXJyLnR4dFVUCQADeLXxVHi18VR1
eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jrxpe4AnSCDURnl7gQyYlR7VTh9kh90ztb00TVgl6r
cAgxOdc0WyfpIdWzVVpspQFP01bEceFgjNMdk8zXHLjxz1o8xMORrKB/oihUNtET9n9zRwo/vvMy
HP5QSwMEFAACAAgAHCRcRgikGjZmAAAAcgAAADMAHABkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRN
TEltYWdlRWxlbWVudDA5LXN0ZGVyci50eHRVVAkAA3i18VR4tfFUdXgLAAEE9QEAAAQUAAAAHcYx
DsIwDAXQnVN468aXuAJ0gg1EZ5e4EMmJUe1U4fZIfdM7W9NE1YJeq3AIMTnXNFsn6SHVs1VabKUB
T9NWxHHhYIzTHZPM1xy48c9aPMTDkaygf6IoVDbRE/Z/c0cKP77zMhz+UEsDBBQAAgAIABwkXEYI
pBo2ZgAAAHIAAAAzABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbWFnZUVsZW1lbnQxMC1z
dGRlcnIudHh0VVQJAAN4tfFUeLXxVHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gCdIIN
RGeXuBDJiVHtVOH2SH3TO1vTRNWCXqtwCDE51zRbJ+kh1bNVWmylAU/TVsRx4WCM0x2TzNccuPHP
WjzEw5GsoH+iKFQ20RP2f3NHCj++8zIc/lBLAwQUAAIACAAcJFxGCKQaNmYAAAByAAAAMwAcAGRv
bS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MSW1hZ2VFbGVtZW50MTEtc3RkZXJyLnR4dFVUCQADeLXx
VHi18VR1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jrxpe4AnSCDURnl7gQyYlR7VTh9kh90ztb
00TVgl6rcAgxOdc0WyfpIdWzVVpspQFP01bEceFgjNMdk8zXHLjxz1o8xMORrKB/oihUNtET9n9z
Rwo/vvMyHP5QSwMEFAACAAgAHCRcRgikGjZmAAAAcgAAADMAHABkb20veGh0bWwvbGV2ZWwyL2h0
bWwvSFRNTEltYWdlRWxlbWVudDEyLXN0ZGVyci50eHRVVAkAA3i18VR4tfFUdXgLAAEE9QEAAAQU
AAAAHcYxDsIwDAXQnVN468aXuAJ0gg1EZ5e4EMmJUe1U4fZIfdM7W9NE1YJeq3AIMTnXNFsn6SHV
s1VabKUBT9NWxHHhYIzTHZPM1xy48c9aPMTDkaygf6IoVDbRE/Z/c0cKP77zMhz+UEsDBBQAAgAI
ABwkXEbcjYSnaAAAAHUAAAAzABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1l
bnQwMS1zdGRlcnIudHh0VVQJAAN4tfFUeLXxVHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvG
l7gCMMEGorNDXLCUxKh2qnB7JN70jtZLpmZBz1U4hJicW042SEZIc7VGi6004WGlV3GcOBjn+YZZ
0kUDV/5aj7t4OLJVjHfUgiKblAP+/+iA91Q19i9dpt0PUEsDBBQAAgAIABwkXEbcjYSnaAAAAHUA
AAAzABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQwMi1zdGRlcnIudHh0
VVQJAAN4tfFUeLXxVHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gCMMEGorNDXLCUxKh2
qnB7JN70jtZLpmZBz1U4hJicW042SEZIc7VGi6004WGlV3GcOBjn+YZZ0kUDV/5aj7t4OLJVjHfU
giKblAP+/+iA91Q19i9dpt0PUEsDBBQAAgAIABwkXEbcjYSnaAAAAHUAAAAzABwAZG9tL3hodG1s
L2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQwMy1zdGRlcnIudHh0VVQJAAN4tfFUeLXxVHV4
CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gCMMEGorNDXLCUxKh2qnB7JN70jtZLpmZBz1U4
hJicW042SEZIc7VGi6004WGlV3GcOBjn+YZZ0kUDV/5aj7t4OLJVjHfUgiKblAP+/+iA91Q19i9d
pt0PUEsDBBQAAgAIABwkXEbcjYSnaAAAAHUAAAAzABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hU
TUxJbnB1dEVsZW1lbnQwNC1zdGRlcnIudHh0VVQJAAN4tfFUeLXxVHV4CwABBPUBAAAEFAAAAB3G
MQ7CMAwF0J1TeOvGl7gCMMEGorNDXLCUxKh2qnB7JN70jtZLpmZBz1U4hJicW042SEZIc7VGi600
4WGlV3GcOBjn+YZZ0kUDV/5aj7t4OLJVjHfUgiKblAP+/+iA91Q19i9dpt0PUEsDBBQAAgAIABwk
XEbcjYSnaAAAAHUAAAAzABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQw
NS1zdGRlcnIudHh0VVQJAAN4tfFUeLXxVHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gC
MMEGorNDXLCUxKh2qnB7JN70jtZLpmZBz1U4hJicW042SEZIc7VGi6004WGlV3GcOBjn+YZZ0kUD
V/5aj7t4OLJVjHfUgiKblAP+/+iA91Q19i9dpt0PUEsDBBQAAgAIABwkXEbcjYSnaAAAAHUAAAAz
ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQwNi1zdGRlcnIudHh0VVQJ
AAN4tfFUeLXxVHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gCMMEGorNDXLCUxKh2qnB7
JN70jtZLpmZBz1U4hJicW042SEZIc7VGi6004WGlV3GcOBjn+YZZ0kUDV/5aj7t4OLJVjHfUgiKb
lAP+/+iA91Q19i9dpt0PUEsDBBQAAgAIAB0kXEbcjYSnaAAAAHUAAAAzABwAZG9tL3hodG1sL2xl
dmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQwNy1zdGRlcnIudHh0VVQJAAN5tfFUebXxVHV4CwAB
BPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gCMMEGorNDXLCUxKh2qnB7JN70jtZLpmZBz1U4hJic
W042SEZIc7VGi6004WGlV3GcOBjn+YZZ0kUDV/5aj7t4OLJVjHfUgiKblAP+/+iA91Q19i9dpt0P
UEsDBBQAAgAIAB0kXEbcjYSnaAAAAHUAAAAzABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJ
bnB1dEVsZW1lbnQwOC1zdGRlcnIudHh0VVQJAAN5tfFUebXxVHV4CwABBPUBAAAEFAAAAB3GMQ7C
MAwF0J1TeOvGl7gCMMEGorNDXLCUxKh2qnB7JN70jtZLpmZBz1U4hJicW042SEZIc7VGi6004WGl
V3GcOBjn+YZZ0kUDV/5aj7t4OLJVjHfUgiKblAP+/+iA91Q19i9dpt0PUEsDBBQAAgAIAB0kXEbc
jYSnaAAAAHUAAAAzABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQwOS1z
dGRlcnIudHh0VVQJAAN5tfFUebXxVHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gCMMEG
orNDXLCUxKh2qnB7JN70jtZLpmZBz1U4hJicW042SEZIc7VGi6004WGlV3GcOBjn+YZZ0kUDV/5a
j7t4OLJVjHfUgiKblAP+/+iA91Q19i9dpt0PUEsDBBQAAgAIAB0kXEbcjYSnaAAAAHUAAAAzABwA
ZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQxMC1zdGRlcnIudHh0VVQJAAN5
tfFUebXxVHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gCMMEGorNDXLCUxKh2qnB7JN70
jtZLpmZBz1U4hJicW042SEZIc7VGi6004WGlV3GcOBjn+YZZ0kUDV/5aj7t4OLJVjHfUgiKblAP+
/+iA91Q19i9dpt0PUEsDBBQAAgAIAB0kXEbcjYSnaAAAAHUAAAAzABwAZG9tL3hodG1sL2xldmVs
Mi9odG1sL0hUTUxJbnB1dEVsZW1lbnQxMS1zdGRlcnIudHh0VVQJAAN5tfFUebXxVHV4CwABBPUB
AAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gCMMEGorNDXLCUxKh2qnB7JN70jtZLpmZBz1U4hJicW042
SEZIc7VGi6004WGlV3GcOBjn+YZZ0kUDV/5aj7t4OLJVjHfUgiKblAP+/+iA91Q19i9dpt0PUEsD
BBQAAgAIAB0kXEbcjYSnaAAAAHUAAAAzABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1
dEVsZW1lbnQxMi1zdGRlcnIudHh0VVQJAAN5tfFUebXxVHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF
0J1TeOvGl7gCMMEGorNDXLCUxKh2qnB7JN70jtZLpmZBz1U4hJicW042SEZIc7VGi6004WGlV3Gc
OBjn+YZZ0kUDV/5aj7t4OLJVjHfUgiKblAP+/+iA91Q19i9dpt0PUEsDBBQAAgAIAB0kXEbcjYSn
aAAAAHUAAAAzABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQxMy1zdGRl
cnIudHh0VVQJAAN5tfFUebXxVHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gCMMEGorND
XLCUxKh2qnB7JN70jtZLpmZBz1U4hJicW042SEZIc7VGi6004WGlV3GcOBjn+YZZ0kUDV/5aj7t4
OLJVjHfUgiKblAP+/+iA91Q19i9dpt0PUEsDBBQAAgAIAB0kXEbcjYSnaAAAAHUAAAAzABwAZG9t
L3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQxNC1zdGRlcnIudHh0VVQJAAN5tfFU
ebXxVHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gCMMEGorNDXLCUxKh2qnB7JN70jtZL
pmZBz1U4hJicW042SEZIc7VGi6004WGlV3GcOBjn+YZZ0kUDV/5aj7t4OLJVjHfUgiKblAP+/+iA
91Q19i9dpt0PUEsDBBQAAgAIAB0kXEbcjYSnaAAAAHUAAAAzABwAZG9tL3hodG1sL2xldmVsMi9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQxNS1zdGRlcnIudHh0VVQJAAN5tfFUebXxVHV4CwABBPUBAAAE
FAAAAB3GMQ7CMAwF0J1TeOvGl7gCMMEGorNDXLCUxKh2qnB7JN70jtZLpmZBz1U4hJicW042SEZI
c7VGi6004WGlV3GcOBjn+YZZ0kUDV/5aj7t4OLJVjHfUgiKblAP+/+iA91Q19i9dpt0PUEsDBBQA
AgAIAB0kXEbcjYSnaAAAAHUAAAAzABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVs
ZW1lbnQxNi1zdGRlcnIudHh0VVQJAAN5tfFUebXxVHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1T
eOvGl7gCMMEGorNDXLCUxKh2qnB7JN70jtZLpmZBz1U4hJicW042SEZIc7VGi6004WGlV3GcOBjn
+YZZ0kUDV/5aj7t4OLJVjHfUgiKblAP+/+iA91Q19i9dpt0PUEsDBBQAAgAIAB0kXEbcjYSnaAAA
AHUAAAAzABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQxNy1zdGRlcnIu
dHh0VVQJAAN6tfFUerXxVHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gCMMEGorNDXLCU
xKh2qnB7JN70jtZLpmZBz1U4hJicW042SEZIc7VGi6004WGlV3GcOBjn+YZZ0kUDV/5aj7t4OLJV
jHfUgiKblAP+/+iA91Q19i9dpt0PUEsDBBQAAgAIAB0kXEbcjYSnaAAAAHUAAAAzABwAZG9tL3ho
dG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQxOC1zdGRlcnIudHh0VVQJAAN6tfFUerXx
VHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gCMMEGorNDXLCUxKh2qnB7JN70jtZLpmZB
z1U4hJicW042SEZIc7VGi6004WGlV3GcOBjn+YZZ0kUDV/5aj7t4OLJVjHfUgiKblAP+/+iA91Q1
9i9dpt0PUEsDBBQAAgAIAB0kXEbcjYSnaAAAAHUAAAAzABwAZG9tL3hodG1sL2xldmVsMi9odG1s
L0hUTUxJbnB1dEVsZW1lbnQxOS1zdGRlcnIudHh0VVQJAAN6tfFUerXxVHV4CwABBPUBAAAEFAAA
AB3GMQ7CMAwF0J1TeOvGl7gCMMEGorNDXLCUxKh2qnB7JN70jtZLpmZBz1U4hJicW042SEZIc7VG
i6004WGlV3GcOBjn+YZZ0kUDV/5aj7t4OLJVjHfUgiKblAP+/+iA91Q19i9dpt0PUEsDBBQAAgAI
AB0kXEbcjYSnaAAAAHUAAAAzABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1l
bnQyMC1zdGRlcnIudHh0VVQJAAN6tfFUerXxVHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvG
l7gCMMEGorNDXLCUxKh2qnB7JN70jtZLpmZBz1U4hJicW042SEZIc7VGi6004WGlV3GcOBjn+YZZ
0kUDV/5aj7t4OLJVjHfUgiKblAP+/+iA91Q19i9dpt0PUEsDBBQAAgAIAB0kXEbcjYSnaAAAAHUA
AAAzABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQyMS1zdGRlcnIudHh0
VVQJAAN6tfFUerXxVHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gCMMEGorNDXLCUxKh2
qnB7JN70jtZLpmZBz1U4hJicW042SEZIc7VGi6004WGlV3GcOBjn+YZZ0kUDV/5aj7t4OLJVjHfU
giKblAP+/+iA91Q19i9dpt0PUEsDBBQAAgAIAB0kXEbcjYSnaAAAAHUAAAAzABwAZG9tL3hodG1s
L2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQyMi1zdGRlcnIudHh0VVQJAAN6tfFUerXxVHV4
CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gCMMEGorNDXLCUxKh2qnB7JN70jtZLpmZBz1U4
hJicW042SEZIc7VGi6004WGlV3GcOBjn+YZZ0kUDV/5aj7t4OLJVjHfUgiKblAP+/+iA91Q19i9d
pt0PUEsDBBQAAgAIACEkXEbKAYOFZwAAAHMAAAA0ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hU
TUxPYmplY3RFbGVtZW50MDEtc3RkZXJyLnR4dFVUCQADfrXxVH618VR1eAsAAQT1AQAABBQAAAAd
xjEOwjAMBdCdU3jr1i9xBegEG4jOLnFLJCdGtYPC7ZF40ztZ00TVgp67cAgxOde0WCfpIdWzVVpt
pwEP01bEceZgTPMNsyyXHLjy11rcxcORrKC/oihUPqJH/P/OHWqbjVteh8MPUEsDBBQAAgAIACEk
XEbKAYOFZwAAAHMAAAA0ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50
MDItc3RkZXJyLnR4dFVUCQADfrXxVH618VR1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jr1i9x
BegEG4jOLnFLJCdGtYPC7ZF40ztZ00TVgp67cAgxOde0WCfpIdWzVVptpwEP01bEceZgTPMNsyyX
HLjy11rcxcORrKC/oihUPqJH/P/OHWqbjVteh8MPUEsDBBQAAgAIACEkXEbKAYOFZwAAAHMAAAA0
ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MDMtc3RkZXJyLnR4dFVU
CQADfrXxVH618VR1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jr1i9xBegEG4jOLnFLJCdGtYPC
7ZF40ztZ00TVgp67cAgxOde0WCfpIdWzVVptpwEP01bEceZgTPMNsyyXHLjy11rcxcORrKC/oihU
PqJH/P/OHWqbjVteh8MPUEsDBBQAAgAIACEkXEbKAYOFZwAAAHMAAAA0ABwAZG9tL3hodG1sL2xl
dmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MDQtc3RkZXJyLnR4dFVUCQADfrXxVH618VR1eAsA
AQT1AQAABBQAAAAdxjEOwjAMBdCdU3jr1i9xBegEG4jOLnFLJCdGtYPC7ZF40ztZ00TVgp67cAgx
Ode0WCfpIdWzVVptpwEP01bEceZgTPMNsyyXHLjy11rcxcORrKC/oihUPqJH/P/OHWqbjVteh8MP
UEsDBBQAAgAIACIkXEbKAYOFZwAAAHMAAAA0ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxP
YmplY3RFbGVtZW50MDUtc3RkZXJyLnR4dFVUCQADf7XxVH+18VR1eAsAAQT1AQAABBQAAAAdxjEO
wjAMBdCdU3jr1i9xBegEG4jOLnFLJCdGtYPC7ZF40ztZ00TVgp67cAgxOde0WCfpIdWzVVptpwEP
01bEceZgTPMNsyyXHLjy11rcxcORrKC/oihUPqJH/P/OHWqbjVteh8MPUEsDBBQAAgAIACIkXEbK
AYOFZwAAAHMAAAA0ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MDYt
c3RkZXJyLnR4dFVUCQADf7XxVH+18VR1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jr1i9xBegE
G4jOLnFLJCdGtYPC7ZF40ztZ00TVgp67cAgxOde0WCfpIdWzVVptpwEP01bEceZgTPMNsyyXHLjy
11rcxcORrKC/oihUPqJH/P/OHWqbjVteh8MPUEsDBBQAAgAIACIkXEbKAYOFZwAAAHMAAAA0ABwA
ZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MDctc3RkZXJyLnR4dFVUCQAD
f7XxVH+18VR1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jr1i9xBegEG4jOLnFLJCdGtYPC7ZF4
0ztZ00TVgp67cAgxOde0WCfpIdWzVVptpwEP01bEceZgTPMNsyyXHLjy11rcxcORrKC/oihUPqJH
/P/OHWqbjVteh8MPUEsDBBQAAgAIACIkXEbKAYOFZwAAAHMAAAA0ABwAZG9tL3hodG1sL2xldmVs
Mi9odG1sL0hUTUxPYmplY3RFbGVtZW50MDgtc3RkZXJyLnR4dFVUCQADf7XxVH+18VR1eAsAAQT1
AQAABBQAAAAdxjEOwjAMBdCdU3jr1i9xBegEG4jOLnFLJCdGtYPC7ZF40ztZ00TVgp67cAgxOde0
WCfpIdWzVVptpwEP01bEceZgTPMNsyyXHLjy11rcxcORrKC/oihUPqJH/P/OHWqbjVteh8MPUEsD
BBQAAgAIACIkXEbKAYOFZwAAAHMAAAA0ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxPYmpl
Y3RFbGVtZW50MDktc3RkZXJyLnR4dFVUCQADf7XxVH+18VR1eAsAAQT1AQAABBQAAAAdxjEOwjAM
BdCdU3jr1i9xBegEG4jOLnFLJCdGtYPC7ZF40ztZ00TVgp67cAgxOde0WCfpIdWzVVptpwEP01bE
ceZgTPMNsyyXHLjy11rcxcORrKC/oihUPqJH/P/OHWqbjVteh8MPUEsDBBQAAgAIACIkXEbKAYOF
ZwAAAHMAAAA0ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MTAtc3Rk
ZXJyLnR4dFVUCQADf7XxVH+18VR1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jr1i9xBegEG4jO
LnFLJCdGtYPC7ZF40ztZ00TVgp67cAgxOde0WCfpIdWzVVptpwEP01bEceZgTPMNsyyXHLjy11rc
xcORrKC/oihUPqJH/P/OHWqbjVteh8MPUEsDBBQAAgAIACIkXEbKAYOFZwAAAHMAAAA0ABwAZG9t
L3hodG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MTEtc3RkZXJyLnR4dFVUCQADf7Xx
VH+18VR1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jr1i9xBegEG4jOLnFLJCdGtYPC7ZF40ztZ
00TVgp67cAgxOde0WCfpIdWzVVptpwEP01bEceZgTPMNsyyXHLjy11rcxcORrKC/oihUPqJH/P/O
HWqbjVteh8MPUEsDBBQAAgAIACIkXEbKAYOFZwAAAHMAAAA0ABwAZG9tL3hodG1sL2xldmVsMi9o
dG1sL0hUTUxPYmplY3RFbGVtZW50MTItc3RkZXJyLnR4dFVUCQADf7XxVH+18VR1eAsAAQT1AQAA
BBQAAAAdxjEOwjAMBdCdU3jr1i9xBegEG4jOLnFLJCdGtYPC7ZF40ztZ00TVgp67cAgxOde0WCfp
IdWzVVptpwEP01bEceZgTPMNsyyXHLjy11rcxcORrKC/oihUPqJH/P/OHWqbjVteh8MPUEsDBBQA
AgAIACIkXEbKAYOFZwAAAHMAAAA0ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RF
bGVtZW50MTMtc3RkZXJyLnR4dFVUCQADf7XxVH+18VR1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCd
U3jr1i9xBegEG4jOLnFLJCdGtYPC7ZF40ztZ00TVgp67cAgxOde0WCfpIdWzVVptpwEP01bEceZg
TPMNsyyXHLjy11rcxcORrKC/oihUPqJH/P/OHWqbjVteh8MPUEsDBBQAAgAIACIkXEbKAYOFZwAA
AHMAAAA0ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MTQtc3RkZXJy
LnR4dFVUCQADf7XxVH+18VR1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jr1i9xBegEG4jOLnFL
JCdGtYPC7ZF40ztZ00TVgp67cAgxOde0WCfpIdWzVVptpwEP01bEceZgTPMNsyyXHLjy11rcxcOR
rKC/oihUPqJH/P/OHWqbjVteh8MPUEsDBBQAAgAIACIkXEbKAYOFZwAAAHMAAAA0ABwAZG9tL3ho
dG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MTUtc3RkZXJyLnR4dFVUCQADf7XxVH+1
8VR1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jr1i9xBegEG4jOLnFLJCdGtYPC7ZF40ztZ00TV
gp67cAgxOde0WCfpIdWzVVptpwEP01bEceZgTPMNsyyXHLjy11rcxcORrKC/oihUPqJH/P/OHWqb
jVteh8MPUEsDBBQAAgAIACIkXEbKAYOFZwAAAHMAAAA0ABwAZG9tL3hodG1sL2xldmVsMi9odG1s
L0hUTUxPYmplY3RFbGVtZW50MTYtc3RkZXJyLnR4dFVUCQADf7XxVH+18VR1eAsAAQT1AQAABBQA
AAAdxjEOwjAMBdCdU3jr1i9xBegEG4jOLnFLJCdGtYPC7ZF40ztZ00TVgp67cAgxOde0WCfpIdWz
VVptpwEP01bEceZgTPMNsyyXHLjy11rcxcORrKC/oihUPqJH/P/OHWqbjVteh8MPUEsDBBQAAgAI
ACIkXEbKAYOFZwAAAHMAAAA0ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVt
ZW50MTctc3RkZXJyLnR4dFVUCQADgLXxVIC18VR1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jr
1i9xBegEG4jOLnFLJCdGtYPC7ZF40ztZ00TVgp67cAgxOde0WCfpIdWzVVptpwEP01bEceZgTPMN
syyXHLjy11rcxcORrKC/oihUPqJH/P/OHWqbjVteh8MPUEsDBBQAAgAIACIkXEbKAYOFZwAAAHMA
AAA0ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MTgtc3RkZXJyLnR4
dFVUCQADgLXxVIC18VR1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jr1i9xBegEG4jOLnFLJCdG
tYPC7ZF40ztZ00TVgp67cAgxOde0WCfpIdWzVVptpwEP01bEceZgTPMNsyyXHLjy11rcxcORrKC/
oihUPqJH/P/OHWqbjVteh8MPUEsDBBQAAgAIACIkXEbKAYOFZwAAAHMAAAA0ABwAZG9tL3hodG1s
L2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MTktc3RkZXJyLnR4dFVUCQADgLXxVIC18VR1
eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jr1i9xBegEG4jOLnFLJCdGtYPC7ZF40ztZ00TVgp67
cAgxOde0WCfpIdWzVVptpwEP01bEceZgTPMNsyyXHLjy11rcxcORrKC/oihUPqJH/P/OHWqbjVte
h8MPUEsDBBQAAgAIACIkXEbKAYOFZwAAAHMAAAA0ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hU
TUxPYmplY3RFbGVtZW50MjAtc3RkZXJyLnR4dFVUCQADgLXxVIC18VR1eAsAAQT1AQAABBQAAAAd
xjEOwjAMBdCdU3jr1i9xBegEG4jOLnFLJCdGtYPC7ZF40ztZ00TVgp67cAgxOde0WCfpIdWzVVpt
pwEP01bEceZgTPMNsyyXHLjy11rcxcORrKC/oihUPqJH/P/OHWqbjVteh8MPUEsDBBQAAgAIACQk
XEYQJjWiagAAAHcAAAA0ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxTY3JpcHRFbGVtZW50
MDEtc3RkZXJyLnR4dFVUCQADg7XxVIO18VR1eAsAAQT1AQAABBQAAAAdyzEOwjAMAMCdV3jrVgu+
0DLBBiKz27giyIlR7FTh9yC2W27SJhGKOqyVyRkIjEpctAN352JJC2xaYcCHSstsOJMTnsMNAy+X
5Hiljza/s7lh1Iz96VlQeGc54d9bkt+ztaa3H8eXDYcvUEsDBBQAAgAIACQkXEYQJjWiagAAAHcA
AAA0ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxTY3JpcHRFbGVtZW50MDItc3RkZXJyLnR4
dFVUCQADg7XxVIO18VR1eAsAAQT1AQAABBQAAAAdyzEOwjAMAMCdV3jrVgu+0DLBBiKz27giyIlR
7FTh9yC2W27SJhGKOqyVyRkIjEpctAN352JJC2xaYcCHSstsOJMTnsMNAy+X5Hiljza/s7lh1Iz9
6VlQeGc54d9bkt+ztaa3H8eXDYcvUEsDBBQAAgAIACQkXEYQJjWiagAAAHcAAAA0ABwAZG9tL3ho
dG1sL2xldmVsMi9odG1sL0hUTUxTY3JpcHRFbGVtZW50MDMtc3RkZXJyLnR4dFVUCQADg7XxVIO1
8VR1eAsAAQT1AQAABBQAAAAdyzEOwjAMAMCdV3jrVgu+0DLBBiKz27giyIlR7FTh9yC2W27SJhGK
OqyVyRkIjEpctAN352JJC2xaYcCHSstsOJMTnsMNAy+X5Hiljza/s7lh1Iz96VlQeGc54d9bkt+z
taa3H8eXDYcvUEsDBBQAAgAIACQkXEYQJjWiagAAAHcAAAA0ABwAZG9tL3hodG1sL2xldmVsMi9o
dG1sL0hUTUxTY3JpcHRFbGVtZW50MDQtc3RkZXJyLnR4dFVUCQADg7XxVIO18VR1eAsAAQT1AQAA
BBQAAAAdyzEOwjAMAMCdV3jrVgu+0DLBBiKz27giyIlR7FTh9yC2W27SJhGKOqyVyRkIjEpctAN3
52JJC2xaYcCHSstsOJMTnsMNAy+X5Hiljza/s7lh1Iz96VlQeGc54d9bkt+ztaa3H8eXDYcvUEsD
BBQAAgAIACQkXEYQJjWiagAAAHcAAAA0ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxTY3Jp
cHRFbGVtZW50MDUtc3RkZXJyLnR4dFVUCQADhLXxVIS18VR1eAsAAQT1AQAABBQAAAAdyzEOwjAM
AMCdV3jrVgu+0DLBBiKz27giyIlR7FTh9yC2W27SJhGKOqyVyRkIjEpctAN352JJC2xaYcCHSsts
OJMTnsMNAy+X5Hiljza/s7lh1Iz96VlQeGc54d9bkt+ztaa3H8eXDYcvUEsDBBQAAgAIACQkXEYQ
JjWiagAAAHcAAAA0ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxTY3JpcHRFbGVtZW50MDYt
c3RkZXJyLnR4dFVUCQADhLXxVIS18VR1eAsAAQT1AQAABBQAAAAdyzEOwjAMAMCdV3jrVgu+0DLB
BiKz27giyIlR7FTh9yC2W27SJhGKOqyVyRkIjEpctAN352JJC2xaYcCHSstsOJMTnsMNAy+X5Hil
jza/s7lh1Iz96VlQeGc54d9bkt+ztaa3H8eXDYcvUEsDBBQAAgAIACQkXEYQJjWiagAAAHcAAAA0
ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxTY3JpcHRFbGVtZW50MDctc3RkZXJyLnR4dFVU
CQADhLXxVIS18VR1eAsAAQT1AQAABBQAAAAdyzEOwjAMAMCdV3jrVgu+0DLBBiKz27giyIlR7FTh
9yC2W27SJhGKOqyVyRkIjEpctAN352JJC2xaYcCHSstsOJMTnsMNAy+X5Hiljza/s7lh1Iz96VlQ
eGc54d9bkt+ztaa3H8eXDYcvUEsDBBQAAgAIAC4kXEbKAYOFZwAAAHMAAAApABwAZG9tL3hodG1s
L2xldmVsMi9odG1sL29iamVjdDAxLXN0ZGVyci50eHRVVAkAA5i18VSYtfFUdXgLAAEE9QEAAAQU
AAAAHcYxDsIwDAXQnVN469YvcQXoBBuIzi5xSyQnRrWDwu2ReNM7WdNE1YKeu3AIMTnXtFgn6SHV
s1VabacBD9NWxHHmYEzzDbMslxy48tda3MXDkaygv6IoVD6iR/z/zh1qm41bXofDD1BLAwQUAAIA
CAAuJFxGygGDhWcAAABzAAAAKQAcAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9vYmplY3QwMi1zdGRl
cnIudHh0VVQJAAOYtfFUmLXxVHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvWL3EF6AQbiM4u
cUskJ0a1g8LtkXjTO1nTRNWCnrtwCDE517RYJ+kh1bNVWm2nAQ/TVsRx5mBM8w2zLJccuPLXWtzF
w5GsoL+iKFQ+okf8/84dapuNW16Hww9QSwMEFAACAAgALiRcRsoBg4VnAAAAcwAAACkAHABkb20v
eGh0bWwvbGV2ZWwyL2h0bWwvb2JqZWN0MDMtc3RkZXJyLnR4dFVUCQADmLXxVJi18VR1eAsAAQT1
AQAABBQAAAAdxjEOwjAMBdCdU3jr1i9xBegEG4jOLnFLJCdGtYPC7ZF40ztZ00TVgp67cAgxOde0
WCfpIdWzVVptpwEP01bEceZgTPMNsyyXHLjy11rcxcORrKC/oihUPqJH/P/OHWqbjVteh8MPUEsD
BBQAAgAIAC4kXEbKAYOFZwAAAHMAAAApABwAZG9tL3hodG1sL2xldmVsMi9odG1sL29iamVjdDA0
LXN0ZGVyci50eHRVVAkAA5i18VSYtfFUdXgLAAEE9QEAAAQUAAAAHcYxDsIwDAXQnVN469YvcQXo
BBuIzi5xSyQnRrWDwu2ReNM7WdNE1YKeu3AIMTnXtFgn6SHVs1VabacBD9NWxHHmYEzzDbMslxy4
8tda3MXDkaygv6IoVD6iR/z/zh1qm41bXofDD1BLAwQUAAIACAAuJFxGygGDhWcAAABzAAAAKQAc
AGRvbS94aHRtbC9sZXZlbDIvaHRtbC9vYmplY3QwNS1zdGRlcnIudHh0VVQJAAOYtfFUmLXxVHV4
CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvWL3EF6AQbiM4ucUskJ0a1g8LtkXjTO1nTRNWCnrtw
CDE517RYJ+kh1bNVWm2nAQ/TVsRx5mBM8w2zLJccuPLXWtzFw5GsoL+iKFQ+okf8/84dapuNW16H
ww9QSwMEFAACAAgALiRcRsoBg4VnAAAAcwAAACkAHABkb20veGh0bWwvbGV2ZWwyL2h0bWwvb2Jq
ZWN0MDctc3RkZXJyLnR4dFVUCQADmLXxVJi18VR1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jr
1i9xBegEG4jOLnFLJCdGtYPC7ZF40ztZ00TVgp67cAgxOde0WCfpIdWzVVptpwEP01bEceZgTPMN
syyXHLjy11rcxcORrKC/oihUPqJH/P/OHWqbjVteh8MPUEsDBBQAAgAIAC4kXEbKAYOFZwAAAHMA
AAApABwAZG9tL3hodG1sL2xldmVsMi9odG1sL29iamVjdDA4LXN0ZGVyci50eHRVVAkAA5i18VSY
tfFUdXgLAAEE9QEAAAQUAAAAHcYxDsIwDAXQnVN469YvcQXoBBuIzi5xSyQnRrWDwu2ReNM7WdNE
1YKeu3AIMTnXtFgn6SHVs1VabacBD9NWxHHmYEzzDbMslxy48tda3MXDkaygv6IoVD6iR/z/zh1q
m41bXofDD1BLAwQUAAIACAAuJFxGygGDhWcAAABzAAAAKQAcAGRvbS94aHRtbC9sZXZlbDIvaHRt
bC9vYmplY3QwOS1zdGRlcnIudHh0VVQJAAOYtfFUmLXxVHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF
0J1TeOvWL3EF6AQbiM4ucUskJ0a1g8LtkXjTO1nTRNWCnrtwCDE517RYJ+kh1bNVWm2nAQ/TVsRx
5mBM8w2zLJccuPLXWtzFw5GsoL+iKFQ+okf8/84dapuNW16Hww9QSwMEFAACAAgALyRcRsoBg4Vn
AAAAcwAAACkAHABkb20veGh0bWwvbGV2ZWwyL2h0bWwvb2JqZWN0MTAtc3RkZXJyLnR4dFVUCQAD
mbXxVJm18VR1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jr1i9xBegEG4jOLnFLJCdGtYPC7ZF4
0ztZ00TVgp67cAgxOde0WCfpIdWzVVptpwEP01bEceZgTPMNsyyXHLjy11rcxcORrKC/oihUPqJH
/P/OHWqbjVteh8MPUEsDBBQAAgAIAC8kXEbKAYOFZwAAAHMAAAApABwAZG9tL3hodG1sL2xldmVs
Mi9odG1sL29iamVjdDExLXN0ZGVyci50eHRVVAkAA5m18VSZtfFUdXgLAAEE9QEAAAQUAAAAHcYx
DsIwDAXQnVN469YvcQXoBBuIzi5xSyQnRrWDwu2ReNM7WdNE1YKeu3AIMTnXtFgn6SHVs1VabacB
D9NWxHHmYEzzDbMslxy48tda3MXDkaygv6IoVD6iR/z/zh1qm41bXofDD1BLAwQUAAIACAAvJFxG
ygGDhWcAAABzAAAAKQAcAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9vYmplY3QxMi1zdGRlcnIudHh0
VVQJAAOZtfFUmbXxVHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvWL3EF6AQbiM4ucUskJ0a1
g8LtkXjTO1nTRNWCnrtwCDE517RYJ+kh1bNVWm2nAQ/TVsRx5mBM8w2zLJccuPLXWtzFw5GsoL+i
KFQ+okf8/84dapuNW16Hww9QSwMEFAACAAgALyRcRsoBg4VnAAAAcwAAACkAHABkb20veGh0bWwv
bGV2ZWwyL2h0bWwvb2JqZWN0MTMtc3RkZXJyLnR4dFVUCQADmbXxVJm18VR1eAsAAQT1AQAABBQA
AAAdxjEOwjAMBdCdU3jr1i9xBegEG4jOLnFLJCdGtYPC7ZF40ztZ00TVgp67cAgxOde0WCfpIdWz
VVptpwEP01bEceZgTPMNsyyXHLjy11rcxcORrKC/oihUPqJH/P/OHWqbjVteh8MPUEsDBBQAAgAI
AC8kXEbKAYOFZwAAAHMAAAApABwAZG9tL3hodG1sL2xldmVsMi9odG1sL29iamVjdDE0LXN0ZGVy
ci50eHRVVAkAA5m18VSZtfFUdXgLAAEE9QEAAAQUAAAAHcYxDsIwDAXQnVN469YvcQXoBBuIzi5x
SyQnRrWDwu2ReNM7WdNE1YKeu3AIMTnXtFgn6SHVs1VabacBD9NWxHHmYEzzDbMslxy48tda3MXD
kaygv6IoVD6iR/z/zh1qm41bXofDD1BLAwQUAAIACAAvJFxGygGDhWcAAABzAAAAKQAcAGRvbS94
aHRtbC9sZXZlbDIvaHRtbC9vYmplY3QxNS1zdGRlcnIudHh0VVQJAAOZtfFUmbXxVHV4CwABBPUB
AAAEFAAAAB3GMQ7CMAwF0J1TeOvWL3EF6AQbiM4ucUskJ0a1g8LtkXjTO1nTRNWCnrtwCDE517RY
J+kh1bNVWm2nAQ/TVsRx5mBM8w2zLJccuPLXWtzFw5GsoL+iKFQ+okf8/84dapuNW16Hww9QSwME
CgAAAAAAGSRcRgAAAAAAAAAAAAAAAAgAHABlZGl0aW5nL1VUCQADcbXxVI+28VR1eAsAAQT1AQAA
BBQAAABQSwMECgAAAAAAIiRcRgAAAAAAAAAAAAAAABMAHABlZGl0aW5nL3Bhc3RlYm9hcmQvVVQJ
AAN/tfFUj7bxVHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAAZJFxG9uwaSWcAAABxAAAARAAcAGVk
aXRpbmcvcGFzdGVib2FyZC9pbWctc3Jjc2V0LWNvcHktcGFzdGUtY2Fub25pY2FsaXphdGlvbi1z
dGRlcnIudHh0VVQJAANxtfFUcbXxVHV4CwABBPUBAAAEFAAAAA3KMQ7CMAwAwJ1XeOsUXPGFwsSI
RGe3cUukYgfbkfJ8evNN2o4MogGrMQUDgZPkRTtwDxYvKrCpwYBvPdqXHe8UhI/5hTMvzxK4kQd+
Sq4FjV2brWfajVnSbRxT7cl/jYyvVfbh8gdQSwMEFAACAAgAGiRcRpsJWUJYAAAAYAAAACkAHABl
ZGl0aW5nL3Bhc3RlYm9hcmQvbWVyZ2UtZW5kLTEtc3RkZXJyLnR4dFVUCQADc7XxVHO18VR1eAsA
AQT1AQAABBQAAAANyTsOQEAQANDeKaZTMYdApZRQDzsSn92R+SSOz2tfJ3EnKOKwKZMzEBiVtMoL
/DoXO6TALgo1znJHZsOenHBYJlx4HQ9HZZPQ7Z8U+WnImkx6xdOeVlcfUEsDBBQAAgAIABokXEab
CVlCWAAAAGAAAAApABwAZWRpdGluZy9wYXN0ZWJvYXJkL21lcmdlLWVuZC00LXN0ZGVyci50eHRV
VAkAA3O18VRztfFUdXgLAAEE9QEAAAQUAAAADck7DkBAEADQ3immUzGHQKWUUA87Ep/dkfkkjs9r
XydxJyjisCmTMxAYlbTKC/w6FzukwC4KNc5yR2bDnpxwWCZceB0PR2WT0O2fFPlpyJpMesXTnlZX
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
JFxGAAAAAAAAAAAAAAAAFwAcAGZhc3QvYmxvY2svcG9zaXRpb25pbmcvVVQJAAN7tfFUj7bxVHV4
CwABBPUBAAAEFAAAAFBLAwQUAAIACAAbJFxG5OMa720AAAB8AAAAJQAcAGZhc3QvYmxvY2svcG9z
aXRpb25pbmcvMDAxLXN0ZGVyci50eHRVVAkAA3a18VR2tfFUdXgLAAEE9QEAAAQUAAAADcsxDsIw
DADAnVd464YlvkBhgQ1EZ6dxikVio9qRyu/p7Xe2XjOoBcwrUzAQOGlOtgFvwepiCsVWGPBltTd2
HCkIL9MDJ043CbzTz3o82cOxkAemavMHv+YS+xZdMHOzE1yl7v1tjY+LlOHwB1BLAwQKAAIAAAAg
JFxGmJ71HTYAAAA2AAAAJQAcAGZhc3QvYmxvY2svcG9zaXRpb25pbmcvMDYxLXN0ZGVyci50eHRV
VAkAA3u18VR7tfFUdXgLAAEE9QEAAAQUAAAAQ291bGQgbm90IGNyZWF0ZSBhIHNhbmRib3ggZXh0
ZW5zaW9uIGZvciAnL2FydC90LmdpZicKUEsDBAoAAAAAAFQkXEYAAAAAAAAAAAAAAAAJABwAZmFz
dC9jc3MvVVQJAAPgtfFUj7bxVHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAAhJFxGRleQm0sAAABT
AAAAHwAcAGZhc3QvY3NzL2FjaWQyLXBpeGVsLXN0ZGVyci50eHRVVAkAA3218VR9tfFUdXgLAAEE
9QEAAAQUAAAADcoxDsAgCADAva9gcyuP6EtQMSVBSIQm9vftzXf5ox3ME9piSgaCIOvVN/BOthA3
GL6gIOn0SGy8ksT0RXPjLfGvxCHK551Ty/EBUEsDBBQAAgAIACEkXEZGV5CbSwAAAFMAAAAZABwA
ZmFzdC9jc3MvYWNpZDItc3RkZXJyLnR4dFVUCQADfbXxVH218VR1eAsAAQT1AQAABBQAAAANyjEO
wCAIAMC9r2BzK4/oS1AxJUFIhCb29+3Nd/mjHcwT2mJKBoIg69U38E62EDcYvqAg6fRIbLySxPRF
c+Mt8a/EIcrnnVPL8QFQSwMEFAACAAgAKSRcRtsI00I7AAAAPwAAACkAHABmYXN0L2Nzcy9jb21w
YXJlLWNvbnRlbnQtc3R5bGUtc3RkZXJyLnR4dFVUCQADjbXxVI218VR1eAsAAQT1AQAABBQAAABz
LClJzS0oUSjJV0jNKyxNLU1VSFQozy/KVsgESiiUZ2TmpCpAxDOLFZJSM/PSFQqK8pNTi4tTU/S4
AFBLAwQKAAAAAAAiJFxGAAAAAAAAAAAAAAAAEgAcAGZhc3QvY3NzL2NvdW50ZXJzL1VUCQADf7Xx
VI+28VR1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAIiRcRjeGpO9xAAAAgwAAACsAHABmYXN0L2Nz
cy9jb3VudGVycy9jb21wbGV4LWJlZm9yZS1zdGRlcnIudHh0VVQJAAN/tfFUf7XxVHV4CwABBPUB
AAAEFAAAAA3KMQ7CMAwAwJ1XeOtULLVPACbYQHR2UxdFCnaIbSn8Hm6+k0bZQNQhNSZnIDCSbdUO
3J3Fsgrs2mDAp5Z4s+GZnPCy3HHh9Zodb/TV8AebG+5kjskMk4Y4N0OLWrU52ieo8fifJQuP89Tn
6VjlNRx+UEsDBBQAAgAIADYkXEYIBrVTYAAAAGoAAAA5ABwAZmFzdC9jc3MvaW1hZ2Utc2V0LXZh
bHVlLWNyYXNoLWluLWZpbGxJbWFnZVNldC1zdGRlcnIudHh0VVQJAAOotfFUqLXxVHV4CwABBPUB
AAAEFAAAAA3KMQ6DQAwEwD6vcEeHH0GooANBbTiDTgIbsT6J/J5MPY2XI5F50HqrhJIQxNLiD+kT
ashutPlNFU9+lFPBXwnhdh541qXLwb38vMSoCPAmCF4Bzqfs/2ueofVle/V5AVBLAwQKAAAAAAAj
JFxGAAAAAAAAAAAAAAAAFAAcAGZhc3QvY3NzL29iamVjdC1maXQvVVQJAAOBtfFUj7bxVHV4CwAB
BPUBAAAEFAAAAFBLAwQUAAIACAAjJFxGeYmjvJk0AABQWQAAMAAcAGZhc3QvY3NzL29iamVjdC1m
aXQvb2JqZWN0LWZpdC1jYW52YXMtYWN0dWFsLnBuZ1VUCQADgbXxVIG18VR1eAsAAQT1AQAABBQA
AADtvPdXk8sX/4soYkdFRaXqEZEuICUYgh0VJAJKkRIVEFGK9ARSRI5ykHqEEGqiInKUEuk9oJQI
ASIgIIQihCRECJgCIYQkN571vfd81v0L7rpLfiHPLHaeeV4ze+/3fmaGhOv2Nju3Hd4mIyOz88rl
C44yMhs1ZGRkXbdslrbkRD55JP2lHX7RNdz7vq/3w7CIQBmAsfcdXxNvC2MzgJmpjwXAxMLY28gM
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
/5Z7y/XlhbnHv4P1NxIfc79/ZXY0/V/Rhw4c/DNO7dQf/w7WX+WIzjx7Nedf0dpHlE217w9K/DsD
f1v+LdfHszc/n/0f0S8umh54dTq5+999vBXiiFZIFFL8V/Rxzj6OO+oe+ncfmRzR565knD/6P6Lv
n7jx+P7fRVr//j/ABzPTA7ZXip5d2Ue0j2gf0T6ifUT7iPYR7SPaR7SPaB/RPqJ9RPuI9hH9vyM6
4LDWz8UlIrz3XQD7uPYtah/RPqJ9RPuI9hHtI9pHtI9oH9E+on1E+4j2Ee0j2ke0j2gf0f8niFgx
90uYrKILTepcnJ8r5tfNqi7dffq/AFBLAwQUAAIACABGJFxGn6Zyh2cAAAByAAAAOAAcAGZhc3Qv
Y3NzL3BhcnNlLWJvcmRlci1pbWFnZS1yZXBlYXQtbnVsbC1jcmFzaC1zdGRlcnIudHh0VVQJAAPD
tfFUw7XxVHV4CwABBPUBAAAEFAAAAA3KMRKCQAwF0N5TpKPSHEKptNOROssG3BnIdzbZAW8vr35X
tCWTIWisKqEk5GI5YSfdQ80LjCZU6viNpa3qfJMQ7ocnD5ruJfghP7R4qYfzJB48unNZZT6ufyRj
OyfUrPXytbk7/QFQSwMEFAACAAgAVCRcRmMaVHFtAAAA3QAAACwAHABmYXN0L2Nzcy9zcXVhcmUt
YnV0dG9uLWFwcGVhcmFuY2Utc3RkZXJyLnR4dFVUCQAD4LXxVOC18VR1eAsAAQT1AQAABBQAAAC9
zTEOglAQRdHeVUxHhbMIpNJOI/UAQwLBP+a/9xPcPcRF0N7c5DRR1lFSUIbsRhcTWBr72MQ3esIc
SabIUuk71vJx6M1o2nZP7by/z9SH/aLw5SB0MlCzI0oejnVBzaPX3+zXBdWlOUcL8M/tUEsDBAoA
AAAAACQkXEYAAAAAAAAAAAAAAAAPABwAZmFzdC9jc3MzLXRleHQvVVQJAAOEtfFUj7bxVHV4CwAB
BPUBAAAEFAAAAFBLAwQKAAAAAAAkJFxGAAAAAAAAAAAAAAAAJAAcAGZhc3QvY3NzMy10ZXh0L2Nz
czMtdGV4dC1kZWNvcmF0aW9uL1VUCQADg7XxVI+28VR1eAsAAQT1AQAABBQAAABQSwMECgAAAAAA
JCRcRgAAAAAAAAAAAAAAACwAHABmYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9y
ZXBhaW50L1VUCQADg7XxVI+28VR1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAJCRcRg0f4XNsAAAA
fAAAAFQAHABmYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9yZXBhaW50L3JlcGFp
bnQtdGV4dC1kZWNvcmF0aW9uLWNvbG9yLXN0ZGVyci50eHRVVAkAA4O18VSDtfFUdXgLAAEE9QEA
AAQUAAAALcsxCsJAEEbh3lNMl0qn8AhqpZ2SrSebCazEGdl/FpLbm4DVgwffxds8knlQriqhJASx
cfCFdAk1FDeavFLHvc/to+CrhPAtPTnpcC/BD1m9xUsR4EkQnIHzMTbOVb9SbC+81bzh/zm90R1+
UEsDBAoAAAAAACQkXEYAAAAAAAAAAAAAAAAsABwAZmFzdC9jc3MzLXRleHQvY3NzMy13b3JkLXNw
YWNpbmctcGVyY2VudGFnZS9VVAkAA4S18VSPtvFUdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIACQk
XEZy2z+dYwAAAG8AAABUABwAZmFzdC9jc3MzLXRleHQvY3NzMy13b3JkLXNwYWNpbmctcGVyY2Vu
dGFnZS93b3JkLXNwYWNpbmctcGVyY2VudGFnZS1wYXJzZS1zdGRlcnIudHh0VVQJAAOEtfFUhLXx
VHV4CwABBPUBAAAEFAAAAA3KMQ6DQAwEwD6vcEcFfkSSKnRBUBswEoic0e2eBL8P7WieUfZZUlCm
7EYXE1iaxzjFT3rCGkmWyFJpH3v5OfRlNH0PXx18/KzU1q4o7ByELgZqdkTJ01031Ly9PgJsNlSP
P1BLAwQKAAAAAAA4JFxGAAAAAAAAAAAAAAAACQAcAGZhc3QvZG9tL1VUCQADrLXxVI+28VR1eAsA
AQT1AQAABBQAAABQSwMEFAACAAgALCRcRn4q7KZRAAAAVgAAADQAHABmYXN0L2RvbS9lbGVtZW50
RnJvbVBvaW50LXNjYWxlZC1zY3JvbGxlZC1zdGRlcnIudHh0VVQJAAOUtfFUlLXxVHV4CwABBPUB
AAAEFAAAAA3IMQ6AIAwAwN1XdGNCHqG+wETnCjWRYGvakvh8vfEm6a0Ai0NWQidAMORyyAv0OrFd
wnCKQkibtH6TpRkd07KvScmka/6rWnQyj4/SWC0MH1BLAwQKAAAAAAAnJFxGAAAAAAAAAAAAAAAA
GgAcAGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvVVQJAAOJtfFUj7bxVHV4CwABBPUBAAAEFAAA
AFBLAwQUAAIACAAnJFxGrFUhWkIAAABEAAAAOwAcAGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQv
aW1hZ2Utc3JjLWFic29sdXRlLXVybC1zdGRlcnIudHh0VVQJAAOJtfFUibXxVHV4CwABBPUBAAAE
FAAAAA3KsQ2AMAwEwJ4pvkuHh2CSgB8UFNkoNlLGh6tv87crzBPHYE2iIqrp7hOcSYvmhtMHiqgz
5J/C2SIlGbnez1WWD1BLAwQKAAAAAAAoJFxGAAAAAAAAAAAAAAAAGwAcAGZhc3QvZG9tL0hUTUxT
ZWxlY3RFbGVtZW50L1VUCQADi7XxVI+28VR1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAKCRcRvv1
at9jAAAAbgAAAD4AHABmYXN0L2RvbS9IVE1MU2VsZWN0RWxlbWVudC9jbGljay1zaXplLXplcm8t
bm8tY3Jhc2gtc3RkZXJyLnR4dFVUCQADi7XxVIu18VR1eAsAAQT1AQAABBQAAAANyrEOglAMBdDd
r+jGBP0IdZJNI3OBkkDw1fTel+Dfy3pyrlH3WUpQpnSjiwmszGMc4ge9YI0iS6Q0+o69fhx6M5re
h6cOPj5Wam+/qHw5CF0M1HREzemsG1qe3n7Tuw3N5Q9QSwMECgAAAAAAKCRcRgAAAAAAAAAAAAAA
ABoAHABmYXN0L2RvbS9IVE1MU3R5bGVFbGVtZW50L1VUCQADi7XxVI+28VR1eAsAAQT1AQAABBQA
AABQSwMEFAACAAgAKCRcRo3XxnZ5AAAAkAAAAFQAHABmYXN0L2RvbS9IVE1MU3R5bGVFbGVtZW50
L3Byb2dyYW1tYXRpY2FsbHktYWRkLXN0eWxlLXdpdGgtb25lcnJvci1oYW5kbGVyLXN0ZGVyci50
eHRVVAkAA4u18VSLtfFUdXgLAAEE9QEAAAQUAAAAFcxBCoNADEbhfU+RnSubQ7RCoXal6DrqLxXG
BCYZ0NvX7t/3HlbSQmpBc4YESMhFl8kOwhFQ30xptUwVD5bKDuenhHAzdjxiem/BrZxWooeH8yoe
vNjOr/7TdnEmNAk7NDjDreT58mpa49j8ukft/8a/QNxn9+r2A1BLAwQUAAIACAAoJFxGjdfGdnkA
AACQAAAAMgAcAGZhc3QvZG9tL0hUTUxTdHlsZUVsZW1lbnQvc3R5bGUtb25lcnJvci1zdGRlcnIu
dHh0VVQJAAOLtfFUi7XxVHV4CwABBPUBAAAEFAAAABXMQQqDQAxG4X1PkZ0rm0O0QqF2peg66i8V
xgQmGdDb1+7f9x5W0kJqQXOGBEjIRZfJDsIRUN9MabVMFQ+Wyg7np4RwM3Y8Ynpvwa2cVqKHh/Mq
HrzYzq/+03ZxJjQJOzQ4w63k+fJqWuPY/LpH7f/Gv0DcZ/fq9gNQSwMEFAACAAgAKCRcRo3XxnZ5
AAAAkAAAAFgAHABmYXN0L2RvbS9IVE1MU3R5bGVFbGVtZW50L3N0eWxlLW9uZXJyb3Itd2l0aC1l
eGlzdGVudC1hbmQtbm9uLWV4aXN0ZW50LWltcG9ydC1zdGRlcnIudHh0VVQJAAOLtfFUi7XxVHV4
CwABBPUBAAAEFAAAABXMQQqDQAxG4X1PkZ0rm0O0QqF2peg66i8VxgQmGdDb1+7f9x5W0kJqQXOG
BEjIRZfJDsIRUN9MabVMFQ+Wyg7np4RwM3Y8Ynpvwa2cVqKHh/MqHrzYzq/+03ZxJjQJOzQ4w63k
+fJqWuPY/LpH7f/Gv0DcZ/fq9gNQSwMEFAACAAgAOCRcRua96BziAAAATgMAADIAHABmYXN0L2Rv
bS9vYmplY3QtcGx1Z2luLWhpZGVzLXByb3BlcnRpZXMtc3RkZXJyLnR4dFVUCQADrLXxVKy18VR1
eAsAAQT1AQAABBQAAADtkT1PwzAQhmf6K24EqbETp6WNV8pQAQJEJQbE4I9reiI5R44N4t8TEBuM
IDEwvcur53Tvo8pqWZSqUGsoF7qu9WIlGtWAC70ww9ChuEd7QUncdLklFrUSG3zGLgw9cnpQ66qp
9MqX9hHOYwwRumA8cQvykmw08VVuOWFkTPBOKLY8yttM7mlHPcIndPgIeRamKqdRXhl3ffelpgH8
dBf5+OfZc1CnyxMNHGDMlIztEKg3LcI+ZPYCYEMe9sRez45+47XeuEMR5mBzgpcYpgFNdAdK6FKO
OFPfaaqrf01/S9MbUEsDBAoAAAAAAC4kXEYAAAAAAAAAAAAAAAAOABwAZmFzdC9lbmNvZGluZy9V
VAkAA5e18VSPtvFUdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAC4kXEYggw8FvwAAAGEFAAAqABwA
ZmFzdC9lbmNvZGluZy91dGYtMTYtYmlnLWVuZGlhbi1zdGRlcnIudHh0VVQJAAOXtfFUl7XxVHV4
CwABBPUBAAAEFAAAAM2SQW7CQAxF9z3F7NjFZ6hS1AWsCpTukJNxUouJHdlOQ28PiEvMBb6e/nut
LiUn0Ui9EQYlTI6SO70lugWJs0oa1NIGvrUsEzl8YCBszwc4U7fjgD3+6xJH8nAY0ANIes0sI/gy
z2rRjFi4kDa9TvBcNcECf0zrrCwBaLGqXUHwMd+MPGze2oqw9jREqyZk9bFhzkZe4Wnzr0qNMjn4
IRIrVPl++rkctp+X4+mrws7YnMb6uIwmtGuFna3UvaDuUEsDBBQAAgAIAC4kXEYggw8FvwAAAGEF
AAAtABwAZmFzdC9lbmNvZGluZy91dGYtMTYtbGl0dGxlLWVuZGlhbi1zdGRlcnIudHh0VVQJAAOX
tfFUl7XxVHV4CwABBPUBAAAEFAAAAM2SQW7CQAxF9z3F7NjFZ6hS1AWsCpTukJNxUouJHdlOQ28P
iEvMBb6e/nutLiUn0Ui9EQYlTI6SO70lugWJs0oa1NIGvrUsEzl8YCBszwc4U7fjgD3+6xJH8nAY
0ANIes0sI/gyz2rRjFi4kDa9TvBcNcECf0zrrCwBaLGqXUHwMd+MPGze2oqw9jREqyZk9bFhzkZe
4Wnzr0qNMjn4IRIrVPl++rkctp+X4+mrws7YnMb6uIwmtGuFna3UvaDuUEsDBAoAAAAAAEEkXEYA
AAAAAAAAAAAAAAAMABwAZmFzdC9ldmVudHMvVVQJAAO5tfFUj7bxVHV4CwABBPUBAAAEFAAAAFBL
AwQUAAIACAAxJFxGWCpndTkAAABDAAAAMgAcAGZhc3QvZXZlbnRzL2Rpc3BsYXktbm9uZS1vbi1m
b2N1cy1jcmFzaC1zdGRlcnIudHh0VVQJAAOdtfFUnbXxVHV4CwABBPUBAAAEFAAAAMvNLy1O9c0v
Sw3JV0hLzMxJTVEoAbIy81IUEhVKEovSU0sUyjJTyxUSSxQMDQwM9AzAQMcUzuQCAFBLAwQUAAIA
CAA3JFxGMLVt4zkAAABDAAAAKwAcAGZhc3QvZXZlbnRzL21vdXNlLWZvY3VzLWltYWdlbWFwLXN0
ZGVyci50eHRVVAkAA6q18VSqtfFUdXgLAAEE9QEAAAQUAAAAy80vLU71zS9LDclXSEvMzElNUSgB
sjLzUhQSFUoSi9JTSxTKMlPLFRJLFMwNDPQMwEBH1xDO5gIAUEsDBBQAAgAIADgkXEbnrr1fOwAA
AEMAAAAvABwAZmFzdC9ldmVudHMvbW91c2V1cC1vdXRzaWRlLWRvY3VtZW50LXN0ZGVyci50eHRV
VAkAA6y18VSstfFUdXgLAAEE9QEAAAQUAAAAy80vLU71zS9LDclXSEvMzElNUSgBsjLzUhQSFUoS
i9JTSxTKMlPLFRJLFEwMDAz0DMBAx9jCFMrkAgBQSwMEFAACAAgAQSRcRvfai7FrAAAAgwAAADUA
HABmYXN0L2V2ZW50cy9wb3B1cC1ibG9ja2luZy1jbGljay1pbi1pZnJhbWUtc3RkZXJyLnR4dFVU
CQADubXxVLm18VR1eAsAAQT1AQAABBQAAABNxjEOwjAMBdCdU3jrVHwI6AQbiM5u8ysipTaKHVpu
DyNveidrJZFa0FwhARJy0TTZTtgD6tmUFqvU8cNKW+F8lhAexhuPmC45+Cofa3GHh/MiHow39PcK
t1Zn/G/Lmmzr7QVFOj5jLd3hC1BLAwQKAAAAAAArJFxGAAAAAAAAAAAAAAAACwAcAGZhc3QvZm9y
bXMvVVQJAAORtfFUj7bxVHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAAqJFxGNpzmQW0AAAB+AAAA
GQAcAGZhc3QvZm9ybXMvMDAyLXN0ZGVyci50eHRVVAkAA5C18VSQtfFUdXgLAAEE9QEAAAQUAAAA
DcsxDoMwDADAva/wxoYf0Zal3VqVERlwUKRgI9uRwu/LfnfXWlYQDViMKRgInGSdtQG3YPGsAkkN
OvxpqTs7PigIn+MHR55fOfBNp9b4sodjIg+8+O7oRxZhgyGXK23WpjASP8hYlrPfcupuf1BLAwQK
AAAAAAArJFxGAAAAAAAAAAAAAAAAEgAcAGZhc3QvZm9ybXMvbGVnZW5kL1VUCQADkbXxVI+28VR1
eAsAAQT1AQAABBQAAABQSwMEFAACAAgAKyRcRnLbP51jAAAAbwAAACgAHABmYXN0L2Zvcm1zL2xl
Z2VuZC9sZWdlbmQtZm9ybS1zdGRlcnIudHh0VVQJAAORtfFUkbXxVHV4CwABBPUBAAAEFAAAAA3K
MQ6DQAwEwD6vcEcFfkSSKnRBUBswEoic0e2eBL8P7WieUfZZUlCm7EYXE1iaxzjFT3rCGkmWyFJp
H3v5OfRlNH0PXx18/KzU1q4o7ByELgZqdkTJ01031Ly9PgJsNlSPP1BLAwQKAAAAAAAxJFxGAAAA
AAAAAAAAAAAADAAcAGZhc3QvZnJhbWVzL1VUCQADnrXxVI+28VR1eAsAAQT1AQAABBQAAABQSwME
FAACAAgAMSRcRtsI00I7AAAAPwAAAC8AHABmYXN0L2ZyYW1lcy9mcmFtZS1kaXNwbGF5LW5vbmUt
Zm9jdXMtc3RkZXJyLnR4dFVUCQADnrXxVJ618VR1eAsAAQT1AQAABBQAAABzLClJzS0oUSjJV0jN
KyxNLU1VSFQozy/KVsgESiiUZ2TmpCpAxDOLFZJSM/PSFQqK8pNTi4tTU/S4AFBLAwQKAAAAAAAw
JFxGAAAAAAAAAAAAAAAACwAcAGZhc3QvaGlkcGkvVVQJAAOctfFUj7bxVHV4CwABBPUBAAAEFAAA
AFBLAwQUAAIACAAwJFxGt+cNV2QAAABxAAAAPQAcAGZhc3QvaGlkcGkvaW1hZ2Utc3Jjc2V0LWRh
dGEtc3Jjc2V0LWludmFsaWQtaW5wdXRzLXN0ZGVyci50eHRVVAkAA5u18VSbtfFUdXgLAAEE9QEA
AAQUAAAADcoxDoJAEAXQ3lNMR4VzCLXSTiP1AJ+EDe6Y+bMJ3l7q9y7etlmqp0wBS4gJrc6j74I9
Ubl6lcVDOn371j6gXi1Nb8NTB4z3NfVhP2/5ApO6GFMLNUBvMR27sM+D+m/gXNid/lBLAwQUAAIA
CAAwJFxGt+cNV2QAAABxAAAAOwAcAGZhc3QvaGlkcGkvaW1hZ2Utc3Jjc2V0LWRhdGEtc3Jjc2V0
LXZhbGlkLWlucHV0cy1zdGRlcnIudHh0VVQJAAOctfFUnLXxVHV4CwABBPUBAAAEFAAAAA3KMQ6C
QBAF0N5TTEeFcwi10k4j9QCfhA3umPmzCd5e6vcu3rZZqqdMAUuICa3Oo++CPVG5epXFQzp9+9Y+
oF4tTW/DUweM9zX1YT9v+QKTuhhTCzVAbzEdu7DPg/pv4FzYnf5QSwMECgAAAAAANyRcRgAAAAAA
AAAAAAAAAAwAHABmYXN0L2ltYWdlcy9VVAkAA6m18VSPtvFUdXgLAAEE9QEAAAQUAAAAUEsDBBQA
AgAIADckXEYhj704MgAAADMAAAAsABwAZmFzdC9pbWFnZXMvcGRmLWFzLWltYWdlLWNyb3AtYm94
LXN0ZGVyci50eHRVVAkAA6m18VSptfFUdXgLAAEE9QEAAAQUAAAAc8tJLEl1SU3OT0m1UkgB0Zl5
6QqpRUX5RVYKmXnJ+UVFqcklCimJJYkKyRmpydl6XABQSwMECgAAAAAAOiRcRgAAAAAAAAAAAAAA
AAwAHABmYXN0L2xvYWRlci9VVAkAA6+18VSPtvFUdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIADIk
XEbbCNNCOwAAAD8AAABSABwAZmFzdC9sb2FkZXIvZGlzcGxheS1pbWFnZS11bnNldC1jYW4tYmxv
Y2staW1hZ2UtYW5kLWNhbi1yZWxvYWQtaW4tcGxhY2Utc3RkZXJyLnR4dFVUCQADn7XxVJ+18VR1
eAsAAQT1AQAABBQAAABzLClJzS0oUSjJV0jNKyxNLU1VSFQozy/KVsgESiiUZ2TmpCpAxDOLFZJS
M/PSFQqK8pNTi4tTU/S4AFBLAwQUAAIACAAzJFxG2wjTQjsAAAA/AAAAUwAcAGZhc3QvbG9hZGVy
L2ltYWdlcy1lbmFibGVkLXVuc2V0LWNhbi1ibG9jay1pbWFnZS1hbmQtY2FuLXJlbG9hZC1pbi1w
bGFjZS1zdGRlcnIudHh0VVQJAAOitfFUorXxVHV4CwABBPUBAAAEFAAAAHMsKUnNLShRKMlXSM0r
LE0tTVVIVCjPL8pWyARKKJRnZOakKkDEM4sVklIz89IVCoryk1OLi1NT9LgAUEsDBBQAAgAIADYk
XEa8U4h9WgAAAGcAAAArABwAZmFzdC9sb2FkZXIvbG9jYWwtQ1NTLWZyb20tbG9jYWwtc3RkZXJy
LnR4dFVUCQADqLXxVKi18VR1eAsAAQT1AQAABBQAAAAdxjEOwjAQBMCeV1yXLvcIWjryAeMsSqTg
i27XUvx7EFPNPfqxWgtZTRTBirG09RWX4RIa92j2jrTJ9Tn9UUZ0LaDom3S6/iVqz13DE4yeFfRK
PjUOzL9Mty9QSwMEFAACAAgANyRcRoiCFVFdAAAAaQAAADUAHABmYXN0L2xvYWRlci9sb2NhbC1p
RnJhbWUtc291cmNlLWZyb20tbG9jYWwtc3RkZXJyLnR4dFVUCQADqbXxVKm18VR1eAsAAQT1AQAA
BBQAAAAdxjsOg0AMBcA+p3BHFx8ibQoKLuAsj4+0rJH9VoLbR2Kq+XivszSnlIARYpLW5p9fgoto
uXuTxUMG5XHq127vnJBM3chT+TRReuy8NZDeoyC1erE62or3xqMOrz9QSwMEFAACAAgANyRcRs9O
OT1aAAAAZgAAAC0AHABmYXN0L2xvYWRlci9sb2NhbC1pbWFnZS1mcm9tLWxvY2FsLXN0ZGVyci50
eHRVVAkAA6m18VSptfFUdXgLAAEE9QEAAAQUAAAAHcYxDoNADATAnle4o8OPSEvJB5zDCSA4n7x7
Evw+UqaaV/RzlRqUkm50MYHV9R23+E2v2KPKJ1JG5dV0tic6FwehG9mU/8JLz52PpiN6FoeWuJoB
09G+4/ADUEsDBBQAAgAIADYkXEZRfQqCXAAAAGkAAAAyABwAZmFzdC9sb2FkZXIvbG9jYWwtSmF2
YVNjcmlwdC1mcm9tLWxvY2FsLXN0ZGVyci50eHRVVAkAA6i18VSotfFUdXgLAAEE9QEAAAQUAAAA
HcYxDoMwDAXQvafwxoYP0bUbXMA1RgSlcWT/SHD7SrzpvX3UjZqDNExgJJTStq9fZBesZfFGuwdN
jF/nj9w+sFoi+QA642majii4OSx9hFpydZW6aJSO+czp9QdQSwMEFAACAAgAOiRcRtsI00I7AAAA
PwAAAC0AHABmYXN0L2xvYWRlci9yZWxvYWQtcG9saWN5LWRlbGVnYXRlLXN0ZGVyci50eHRVVAkA
A6+18VSvtfFUdXgLAAEE9QEAAAQUAAAAcywpSc0tKFEoyVdIzSssTS1NVUhUKM8vylbIBEoolGdk
5qQqQMQzixWSUjPz0hUKivKTU4uLU1P0uABQSwMECgAAAAAAOCRcRgAAAAAAAAAAAAAAAAwAHABm
YXN0L3BhcnNlci9VVAkAA6y18VSPtvFUdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIADgkXEZAWQiI
YgAAAGsAAAAoABwAZmFzdC9wYXJzZXIvZW50aXRpZXMtaW4teGh0bWwtc3RkZXJyLnR4dFVUCQAD
rLXxVKy18VR1eAsAAQT1AQAABBQAAAANyjEOgzAMBdC9p/DGRH2IwtRuoDIbYtRISVzhHyncHt78
XlZToGKg7VCBkpBLCas10gYtHq3Qbgd1/LVUszoPAuFxmXjR9R3BHzmtYlaH8y4Ozhqi9Dj/d24/
5PTc3LvHBVBLAwQKAAAAAAA2JFxGAAAAAAAAAAAAAAAADwAcAGZhc3QvcHJlbG9hZGVyL1VUCQAD
qLXxVI+28VR1eAsAAQT1AQAABBQAAABQSwMEFAACAAgANiRcRgY14TNrAAAAgwAAAC0AHABmYXN0
L3ByZWxvYWRlci9maXJzdC1iYXNlLXRhZy13aW5zLXN0ZGVyci50eHRVVAkAA6i18VSotfFUdXgL
AAEE9QEAAAQUAAAARcsxDsIwDAXQnVN46wQ+BDDBBqKz2/xKQcFGtiOF28PG9pZ3tN4KqSWtDkmQ
UIiWxQZhJDSqKW3mNPHDWn8h+CQpfJ5vPGO51OSrfKznHZHBm0Ty29FMCpwdYd3XX/pLTfcYNVI0
D8+Ydl9QSwMECgAAAAAAPCRcRgAAAAAAAAAAAAAAAA0AHABmYXN0L3JlZ2lvbnMvVVQJAAOztfFU
j7bxVHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAA7JFxGAAAAAAAAAAAAAAAAHAAcAGZhc3QvcmVn
aW9ucy9yZWdpb24tc3R5bGluZy9VVAkAA7G18VSPtvFUdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAI
ADokXEY6jsPLYAAAAGgAAABKABwAZmFzdC9yZWdpb25zL3JlZ2lvbi1zdHlsaW5nL3JlZ2lvbi1z
dHlsZS1pbWFnZS1iYWNrZ3JvdW5kLWNvbG9yLXN0ZGVyci50eHRVVAkAA7C18VSwtfFUdXgLAAEE
9QEAAAQUAAAADcoxDoNADATAPq9wRxe/IUpSQUcEtYE9gQRn6bwnwe/J1PP2ui+SnTIXGCEmYXmZ
/BScRI7NsyQv0ujgez0Q+jGafsdeR0ztRu3s8sofgqHJgloQXsv8r68Vx5NMzeMGUEsDBBQAAgAI
ADokXEY6jsPLYAAAAGgAAABLABwAZmFzdC9yZWdpb25zL3JlZ2lvbi1zdHlsaW5nL3JlZ2lvbi1z
dHlsZS1pbmxpbmUtYmFja2dyb3VuZC1jb2xvci1zdGRlcnIudHh0VVQJAAOwtfFUsLXxVHV4CwAB
BPUBAAAEFAAAAA3KMQ6DQAwEwD6vcEcXvyFKUkFHBLWBPYEEZ+m8J8HvydTz9rovkp0yFxghJmF5
mfwUnESOzbMkL9Lo4Hs9EPoxmn7HXkdM7Ubt7PLKH4KhyYJaEF7L/K+vFceTTM3jBlBLAwQUAAIA
CAA7JFxGOo7Dy2AAAABoAAAARgAcAGZhc3QvcmVnaW9ucy9yZWdpb24tc3R5bGluZy9yZW5kZXIt
cmVnaW9uLWN1c3RvbS1zdHlsZS1tYXJrLXN0ZGVyci50eHRVVAkAA7G18VSxtfFUdXgLAAEE9QEA
AAQUAAAADcoxDoNADATAPq9wRxe/IUpSQUcEtYE9gQRn6bwnwe/J1PP2ui+SnTIXGCEmYXmZ/BSc
RI7NsyQv0ujgez0Q+jGafsdeR0ztRu3s8sofgqHJgloQXsv8r68Vx5NMzeMGUEsDBAoAAAAAADwk
XEYAAAAAAAAAAAAAAAAXABwAZmFzdC9yZWdpb25zL3Njcm9sbGluZy9VVAkAA7S18VSPtvFUdXgL
AAEE9QEAAAQUAAAAUEsDBBQAAgAIADwkXEY5AcvdQAAAAHoAAAA1ABwAZmFzdC9yZWdpb25zL3Nj
cm9sbGluZy93aGVlbC1zY3JvbGwtYWJzcG9zLXN0ZGVyci50eHRVVAkAA7O18VSztfFUdXgLAAEE
9QEAAAQUAAAAcy1LzSsJTs1LSS0KKMqvqLSySs7PK8nMK80vLfYF4tTg5KL8nBynSoXMYoW8/BKF
zNyCnNRcoKbUFC5XSjQDAFBLAwQUAAIACAA8JFxGOQHL3UAAAAB6AAAALgAcAGZhc3QvcmVnaW9u
cy9zY3JvbGxpbmcvd2hlZWwtc2Nyb2xsLXN0ZGVyci50eHRVVAkAA7O18VSztfFUdXgLAAEE9QEA
AAQUAAAAcy1LzSsJTs1LSS0KKMqvqLSySs7PK8nMK80vLfYF4tTg5KL8nBynSoXMYoW8/BKFzNyC
nNRcoKbUFC5XSjQDAFBLAwQUAAIACAA8JFxG5IrHQzwAAAA9AAAAQAAcAGZhc3QvcmVnaW9ucy9z
Y3JvbGxpbmcvd2hlZWwtc2Nyb2xsYWJsZS1zaW5nbGUtcmVnaW9uLXN0ZGVyci50eHRVVAkAA7S1
8VS0tfFUdXgLAAEE9QEAAAQUAAAAcy1LzSsJTs1LSS0KKMqvqLSySs7PK8nMK80vLfYF4tTg5KL8
nBynSoXMYoW8/BKFzNyCnNRcoKbUFC4AUEsDBAoAAAAAAD0kXEYAAAAAAAAAAAAAAAAPABwAZmFz
dC9zdWItcGl4ZWwvVVQJAAO1tfFUj7bxVHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAA9JFxGQz+p
cVcAAABeAAAARgAcAGZhc3Qvc3ViLXBpeGVsL2Jsb2NrLXByZWZlcnJlZC13aWR0aHMtd2l0aC1z
dWItcGl4ZWwtZmxvYXRzLXN0ZGVyci50eHRVVAkAA7W18VS1tfFUdXgLAAEE9QEAAAQUAAAADckx
CoAwDADA3Vdkc9I8Qp0cBZ1TG8FSE2lS6PP11pu05giiDmdhcgYCI4lBG3BzFrtV4NICPe6a68OG
Mznhcmx4cFhvx8KmtZz/JBuczYdXzcdkffcBUEsDBAoAAAAAAD0kXEYAAAAAAAAAAAAAAAALABwA
ZmFzdC90YWJsZS9VVAkAA7a18VSPtvFUdXgLAAEE9QEAAAQUAAAAUEsDBAoAAgAAAD0kXEbtHfLh
OQAAADkAAAAZABwAZmFzdC90YWJsZS8wMDctc3RkZXJyLnR4dFVUCQADtrXxVLa18VR1eAsAAQT1
AQAABBQAAABDb3VsZCBub3QgY3JlYXRlIGEgc2FuZGJveCBleHRlbnNpb24gZm9yICcvaS9zcGFj
ZXIuZ2lmJwpQSwMEFAACAAgAPSRcRkd8wBd8AAAA8gAAABkAHABmYXN0L3RhYmxlLzAwOC1zdGRl
cnIudHh0VVQJAAO2tfFUtrXxVHV4CwABBPUBAAAEFAAAAL3NMQ7CMAxA0Z1TeOuGyxkKLLCB6Fg5
iVMipbEUO1K5PZG4A+uXvt4kLQcoYuArkzEQKJXgZAfejYsmKRClwoAvyW1jxTMZ4WV+4Mzulgzv
9JFmT1ZTjKSGRi4zbuS9bHBNuT9ZVjmN4+LEjmuKw2H6j/tmClyX3rr+k79QSwMECgAAAAAAQiRc
RgAAAAAAAAAAAAAAAAoAHABmYXN0L3RleHQvVVQJAAO8tfFUj7bxVHV4CwABBPUBAAAEFAAAAFBL
AwQKAAAAAABCJFxGAAAAAAAAAAAAAAAAFQAcAGZhc3QvdGV4dC93aGl0ZXNwYWNlL1VUCQADvLXx
VI+28VR1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAQiRcRoO3/MyQAAAAAAIAADwAHABmYXN0L3Rl
eHQvd2hpdGVzcGFjZS9ub3JtYWwtYWZ0ZXItbm93cmFwLWJyZWFraW5nLXN0ZGVyci50eHRVVAkA
A7y18VS8tfFUdXgLAAEE9QEAAAQUAAAAxY47DoJAEIZ7T7GdHXMGg8RCO42UZFh+ZJN9ZWc24u2l
9QJygO/RpuonE5MaW8AKw0Y4TmNaDVZFFJeimVMxR3omXwOEzqxMXX+nHuPVKd34k6o+ICo0syjp
RtJ7cQrJbEGBs1DrWcTZRpcaxibH1/HQ/qt9mouzvE/aY93EKDJ0IbuCfS6idYg6XApgfxa+UEsD
BAoAAAAAAEYkXEYAAAAAAAAAAAAAAAAJABwAZmFzdC94c2wvVVQJAAPDtfFUj7bxVHV4CwABBPUB
AAAEFAAAAFBLAwQUAAIACABFJFxGcv1l8oUAAADpAAAAJQAcAGZhc3QveHNsL3RyYW5zZm9ybS14
aHItZG9jLXN0ZGVyci50eHRVVAkAA8G18VTBtfFUdXgLAAEE9QEAAAQUAAAArU4xDsJADNv7inyg
ZGC7GSbYQHRO21SclLtUuZzU/p6DfoHFsmzL9qRpjUIeNQObqQVYovAPAiK+VGrighdywuvwwIHH
W3S8067Vn1y84ELFcSuCxkWrTS2+va2fdTo1FSRmhjOwcOLsENOq5l1zwkEhQM00tlFXEKX5T+P9
Uc/z90X3AVBLAwQUAAIACABFJFxGBY9VjpMAAADQAgAAJwAcAGZhc3QveHNsL3hzbHQtYmFkLWlt
cG9ydC11cmktc3RkZXJyLnR4dFVUCQADwbXxVMG18VR1eAsAAQT1AQAABBQAAADtTzsOwjAM3XsK
X6B4YMsME2wgOjupKyI5cZU4EtyeQI/Ahlgs2++j94KmNQpZ1AxcihYHSxT+DIeIN5WWuOKBjPA4
XXBif4qGZ3pqsytXq7hQNXxUwcJVWwmd3i8bPc1jTKsWG1uJu/4DiZlhDyycOBts6NARt63goGXy
PYApiNL8bZCstYX726TrRIbw7/vTfV9QSwMEFAACAAgARSRcRs+PZg5QAAAAoAAAACQAHABmYXN0
L3hzbC94c2x0LWNvbnRlbnRUeXBlLXN0ZGVyci50eHRVVAkAA8G18VTBtfFUdXgLAAEE9QEAAAQU
AAAArcyxDcAgDAXRnin+BlHabIPACEs2RpaJMn7IDmmuu1dMJ0sOtgFyN7/QWAgQHoQTJKQ0ArZi
rkg87ixcsbsIzRxK0a3uyyyVv7Cnh8rxkS9QSwMEFAACAAgARiRcRoFKd61LAAAArAAAADQAHABm
YXN0L3hzbC94c2x0LXRyYW5zZm9ybS10by1mcmFnbWVudC1jcmFzaC1zdGRlcnIudHh0VVQJAAPD
tfFUw7XxVHV4CwABBPUBAAAEFAAAALXMsQ2AMAxE0T5T3Aq0bOPABVlybGQs5keiYAPqr/e3mKea
lIaDmZErhhoBUycW0DjphVtSpRtbcudQ11fEwGHRxb6O4lVt++X6AFBLAwQUAAIACACxJFxGvK9k
+qEBAADEAgAAEQAcAGZ1bGxfcmVzdWx0cy5qc29uVVQJAAONtvFUj7bxVHV4CwABBPUBAAAEFAAA
AJ2SUWvbMBSF/8rQ0wZWna7ZHjz6EIhXQtN11Om6Moa5lq8TLbYspOuSUPzfeyWXjL3soW/y1fE5
R5+0WC7Lu7y4X2+K98+C0JMX2bPosNYQFuRA7U8LqY2swNRSDegl1DXWsjcKz3bUtUHl0PaORCa+
rhfXjyIReLCoCGsefV8UBU9A0QAsFpvVTX57v3kX5+M4hi2F3utKt5qOwU71htCQ5DYEVYsSvCQ8
EDiEt2XmP18DE7EDX3qq0TmRkRswNGjAUwz2EUNf/WEn2Wj690sqME/gTxX+k7i6WVzlPDi1vMuv
GHixuv0Wp01gXtLRosh+ictL8TsRuoMtlrVumtKiU0xAZLOz2fk4Rkx+r60NYRez+XkizNCVDrcu
oOsN9+aZZm7ODTZ2aqD1OOk6zSKzZbtEtHDsB44Od85hTEGkP/p26NCnSyBI84cifcDqWlO6jtpN
fB6JeEIXorjA5GrBe+Tgi0+f5x8TYfUB21dfNOHe/pYI0K1DoiP/RWo3oWfw+hCE8UzzybVpYc+v
gA0Hdi8nxkDhjGWjgzbe2ocvL1BLAwQKAAAAAABOJFxGAAAAAAAAAAAAAAAABQAcAGh0dHAvVVQJ
AAPUtfFUj7bxVHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAABoJFxGAAAAAAAAAAAAAAAACwAcAGh0
dHAvdGVzdHMvVVQJAAMEtvFUj7bxVHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAABoJFxGAAAAAAAA
AAAAAAAAEAAcAGh0dHAvdGVzdHMvbWlzYy9VVAkAAwS28VSPtvFUdXgLAAEE9QEAAAQUAAAAUEsD
BBQAAgAIAGgkXEYVNTWSegAAALwAAAAqABwAaHR0cC90ZXN0cy9taXNjL3hzbHQtYmFkLWltcG9y
dC1zdGRlcnIudHh0VVQJAAMEtvFUBLbxVHV4CwABBPUBAAAEFAAAAI2OQQ7DIAwE73mFP0Ag7aEV
vyHEVSwZjIyR+vwS5QPVXlY7h9kspREnI6mAqqIRPsQIp1mL3m+P1xpmtvgOIfhCPXvFLkMzdv/t
bG5Ph6PSRM0NpXVuwFQRnoCMBavBTZdJ4l0hwqhpnxoTYEnHf7oqfeTzupcsMS8/UEsDBAoAAAAA
AE4kXEYAAAAAAAAAAAAAAAAWABwAaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL1VUCQAD1LXxVI+28VR1
eAsAAQT1AQAABBQAAABQSwMEFAACAAgATiRcRtsI00I7AAAAPwAAADcAHABodHRwL3Rlc3RzL25h
dmlnYXRpb24vZmFsbGJhY2stYW5jaG9yLXJlbG9hZC1zdGRlcnIudHh0VVQJAAPUtfFU1LXxVHV4
CwABBPUBAAAEFAAAAHMsKUnNLShRKMlXSM0rLE0tTVVIVCjPL8pWyARKKJRnZOakKkDEM4sVklIz
89IVCoryk1OLi1NT9LgAUEsDBAoAAAAAAGIkXEYAAAAAAAAAAAAAAAAUABwAaHR0cC90ZXN0cy9z
ZWN1cml0eS9VVAkAA/i18VSPtvFUdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAFokXEYAAAAAAAAA
AAAAAAAqABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvVVQJAAPs
tfFUj7bxVHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACABaJFxGY6qsbIIAAACoAAAAQAAcAGh0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3hzbC1hbGxvd2VkLXN0ZGVyci50
eHRVVAkAA+y18VTstfFUdXgLAAEE9QEAAAQUAAAALY1BCsMwDATveYVeEDu9pPgVhb4guBtiUCwj
KaX+fU0pe1qG2c1ytsKbF6kEVdFEe2HQ4d5SCMttnePIku4xxmDIlxbvIUt1VH/++0O45B4UJpdm
WDDvjPljTFwqaCUwziHQD9gB+DRoekNtXCeSyp2WOdKOza8xRJuC7GpN1PGavlBLAwQUAAIACABa
JFxGY6qsbIIAAACoAAAAUgAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L3hzbC11bmFmZmVjdGVkLWJ5LXN0eWxlLXNyYy0yLXN0ZGVyci50eHRVVAkAA+y18VTstfFU
dXgLAAEE9QEAAAQUAAAALY1BCsMwDATveYVeEDu9pPgVhb4guBtiUCwjKaX+fU0pe1qG2c1ytsKb
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
AAAAAAAAAAkAHABpbXBvcnRlZC9VVAkAA+q18VSPtvFUdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAA
AHUkXEYAAAAAAAAAAAAAAAANABwAaW1wb3J0ZWQvdzNjL1VUCQADHbbxVI+28VR1eAsAAQT1AQAA
BBQAAABQSwMECgAAAAAAdSRcRgAAAAAAAAAAAAAAABQAHABpbXBvcnRlZC93M2MvY2FudmFzL1VU
CQADHbbxVI+28VR1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAdSRcRkA73LxmAAAAcgAAADoAHABp
bXBvcnRlZC93M2MvY2FudmFzLzJkLnRleHQubWVhc3VyZS53aWR0aC5lbXB0eS1zdGRlcnIudHh0
VVQJAAMdtvFUHbbxVHV4CwABBPUBAAAEFAAAABXJMQ7CMAwF0J1TeOuGB45QOsEGorPbOFKk1kbx
Tym3h67v9d6WROaguapASSjE0uQ76Q61KG6UvVLHL1/aqsFXgfAwPnjU6VbAd/l6w1MDwWV9e4Um
/lxmzm5/6sU2iaPPQO5OP1BLAwQKAAAAAABZJFxGAAAAAAAAAAAAAAAAHAAcAGltcG9ydGVkL3cz
Yy9odG1sLXRlbXBsYXRlcy9VVAkAA+q18VSPtvFUdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAFkk
XEYAAAAAAAAAAAAAAAAzABwAaW1wb3J0ZWQvdzNjL2h0bWwtdGVtcGxhdGVzL3BhcnNpbmctaHRt
bC10ZW1wbGF0ZXMvVVQJAAPqtfFUj7bxVHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAABZJFxGAAAA
AAAAAAAAAAAAUQAcAGltcG9ydGVkL3czYy9odG1sLXRlbXBsYXRlcy9wYXJzaW5nLWh0bWwtdGVt
cGxhdGVzL2FkZGl0aW9ucy10by1mb3N0ZXItcGFyZW50aW5nL1VUCQAD6rXxVI+28VR1eAsAAQT1
AQAABBQAAABQSwMEFAACAAgAWSRcRltcTF5BAAAARgAAAIMAHABpbXBvcnRlZC93M2MvaHRtbC10
ZW1wbGF0ZXMvcGFyc2luZy1odG1sLXRlbXBsYXRlcy9hZGRpdGlvbnMtdG8tZm9zdGVyLXBhcmVu
dGluZy90ZW1wbGF0ZS1pcy1ub3QtYS1mb3N0ZXItcGFyZW50LWVsZW1lbnQtc3RkZXJyLnR4dFVU
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
AABwAAAANgAcAG1lZGlhL1czQy9hdWRpby9ldmVudHMvZXZlbnRfY2FucGxheXRocm91Z2gtc3Rk
ZXJyLnR4dFVUCQAD+7XxVPu18VR1eAsAAQT1AQAABBQAAAAlyDEOgzAMBdC9p/DGVh+iZWqZqMps
EiOlIv5S7Ehw+w688T3Q90yGoNRUQknIxfKKg/QINS8w2tBo4C/2XtX5KSE8LjMvur5K8FtO9Pio
h3PVXISnkhocW3BCrbCr7z8fbn9QSwMEFAACAAgAZCRcRvgE/XBjAAAAcAAAAD0AHABtZWRpYS9X
M0MvYXVkaW8vZXZlbnRzL2V2ZW50X2NhbnBsYXl0aHJvdWdoX21hbnVhbC1zdGRlcnIudHh0VVQJ
AAP7tfFU+7XxVHV4CwABBPUBAAAEFAAAACXIMQ6DMAwF0L2n8MZWH6JlapmoymwSI6Ui/lLsSHD7
DrzxPdD3TIag1FRCScjF8oqD9Ag1LzDa0GjgL/Ze1fkpITwuMy+6vkrwW070+KiHc9VchKeSGhxb
cEKtsKvvPx9uf1BLAwQUAAIACABkJFxG+AT9cGMAAABwAAAAMgAcAG1lZGlhL1czQy9hdWRpby9l
dmVudHMvZXZlbnRfbG9hZGVkZGF0YS1zdGRlcnIudHh0VVQJAAP7tfFU+7XxVHV4CwABBPUBAAAE
FAAAACXIMQ6DMAwF0L2n8MZWH6JlapmoymwSI6Ui/lLsSHD7DrzxPdD3TIag1FRCScjF8oqD9Ag1
LzDa0GjgL/Ze1fkpITwuMy+6vkrwW070+KiHc9VchKeSGhxbcEKtsKvvPx9uf1BLAwQUAAIACABk
JFxG+AT9cGMAAABwAAAAOQAcAG1lZGlhL1czQy9hdWRpby9ldmVudHMvZXZlbnRfbG9hZGVkZGF0
YV9tYW51YWwtc3RkZXJyLnR4dFVUCQAD+7XxVPu18VR1eAsAAQT1AQAABBQAAAAlyDEOgzAMBdC9
p/DGVh+iZWqZqMpsEiOlIv5S7Ehw+w688T3Q90yGoNRUQknIxfKKg/QINS8w2tBo4C/2XtX5KSE8
LjMvur5K8FtO9Pioh3PVXISnkhocW3BCrbCr7z8fbn9QSwMEFAACAAgAZCRcRvgE/XBjAAAAcAAA
ADYAHABtZWRpYS9XM0MvYXVkaW8vZXZlbnRzL2V2ZW50X2xvYWRlZG1ldGFkYXRhLXN0ZGVyci50
eHRVVAkAA/y18VT8tfFUdXgLAAEE9QEAAAQUAAAAJcgxDoMwDAXQvafwxlYfomVqmajKbBIjpSL+
UuxIcPsOvPE90PdMhqDUVEJJyMXyioP0CDUvMNrQaOAv9l7V+SkhPC4zL7q+SvBbTvT4qIdz1VyE
p5IaHFtwQq2wq+8/H25/UEsDBBQAAgAIAGQkXEb4BP1wYwAAAHAAAAA9ABwAbWVkaWEvVzNDL2F1
ZGlvL2V2ZW50cy9ldmVudF9sb2FkZWRtZXRhZGF0YV9tYW51YWwtc3RkZXJyLnR4dFVUCQAD/LXx
VPy18VR1eAsAAQT1AQAABBQAAAAlyDEOgzAMBdC9p/DGVh+iZWqZqMpsEiOlIv5S7Ehw+w688T3Q
90yGoNRUQknIxfKKg/QINS8w2tBo4C/2XtX5KSE8LjMvur5K8FtO9Pioh3PVXISnkhocW3BCrbCr
7z8fbn9QSwMEFAACAAgAZCRcRvgE/XBjAAAAcAAAADEAHABtZWRpYS9XM0MvYXVkaW8vZXZlbnRz
L2V2ZW50X2xvYWRzdGFydC1zdGRlcnIudHh0VVQJAAP8tfFU/LXxVHV4CwABBPUBAAAEFAAAACXI
MQ6DMAwF0L2n8MZWH6JlapmoymwSI6Ui/lLsSHD7DrzxPdD3TIag1FRCScjF8oqD9Ag1LzDa0Gjg
L/Ze1fkpITwuMy+6vkrwW070+KiHc9VchKeSGhxbcEKtsKvvPx9uf1BLAwQUAAIACABkJFxG+AT9
cGMAAABwAAAAOAAcAG1lZGlhL1czQy9hdWRpby9ldmVudHMvZXZlbnRfbG9hZHN0YXJ0X21hbnVh
bC1zdGRlcnIudHh0VVQJAAP8tfFU/LXxVHV4CwABBPUBAAAEFAAAACXIMQ6DMAwF0L2n8MZWH6Jl
apmoymwSI6Ui/lLsSHD7DrzxPdD3TIag1FRCScjF8oqD9Ag1LzDa0GjgL/Ze1fkpITwuMy+6vkrw
W070+KiHc9VchKeSGhxbcEKtsKvvPx9uf1BLAwQUAAIACABkJFxG+AT9cGMAAABwAAAARAAcAG1l
ZGlhL1czQy9hdWRpby9ldmVudHMvZXZlbnRfb3JkZXJfY2FucGxheV9jYW5wbGF5dGhyb3VnaC1z
dGRlcnIudHh0VVQJAAP8tfFU/LXxVHV4CwABBPUBAAAEFAAAACXIMQ6DMAwF0L2n8MZWH6Jlapmo
ymwSI6Ui/lLsSHD7DrzxPdD3TIag1FRCScjF8oqD9Ag1LzDa0GjgL/Ze1fkpITwuMy+6vkrwW070
+KiHc9VchKeSGhxbcEKtsKvvPx9uf1BLAwQUAAIACABkJFxG+AT9cGMAAABwAAAAPQAcAG1lZGlh
L1czQy9hdWRpby9ldmVudHMvZXZlbnRfb3JkZXJfY2FucGxheV9wbGF5aW5nLXN0ZGVyci50eHRV
VAkAA/y18VT8tfFUdXgLAAEE9QEAAAQUAAAAJcgxDoMwDAXQvafwxlYfomVqmajKbBIjpSL+UuxI
cPsOvPE90PdMhqDUVEJJyMXyioP0CDUvMNrQaOAv9l7V+SkhPC4zL7q+SvBbTvT4qIdz1VyEp5Ia
HFtwQq2wq+8/H25/UEsDBBQAAgAIAGUkXEb4BP1wYwAAAHAAAABHABwAbWVkaWEvVzNDL2F1ZGlv
L2V2ZW50cy9ldmVudF9vcmRlcl9sb2FkZWRtZXRhZGF0YV9sb2FkZWRkYXRhLXN0ZGVyci50eHRV
VAkAA/218VT9tfFUdXgLAAEE9QEAAAQUAAAAJcgxDoMwDAXQvafwxlYfomVqmajKbBIjpSL+UuxI
cPsOvPE90PdMhqDUVEJJyMXyioP0CDUvMNrQaOAv9l7V+SkhPC4zL7q+SvBbTvT4qIdz1VyEp5Ia
HFtwQq2wq+8/H25/UEsDBBQAAgAIAGUkXEb4BP1wYwAAAHAAAABAABwAbWVkaWEvVzNDL2F1ZGlv
L2V2ZW50cy9ldmVudF9vcmRlcl9sb2Fkc3RhcnRfcHJvZ3Jlc3Mtc3RkZXJyLnR4dFVUCQAD/bXx
VP218VR1eAsAAQT1AQAABBQAAAAlyDEOgzAMBdC9p/DGVh+iZWqZqMpsEiOlIv5S7Ehw+w688T3Q
90yGoNRUQknIxfKKg/QINS8w2tBo4C/2XtX5KSE8LjMvur5K8FtO9Pioh3PVXISnkhocW3BCrbCr
7z8fbn9QSwMEFAACAAgAZSRcRvgE/XBjAAAAcAAAADQAHABtZWRpYS9XM0MvYXVkaW8vZXZlbnRz
L2V2ZW50X3BhdXNlX21hbnVhbC1zdGRlcnIudHh0VVQJAAP9tfFU/bXxVHV4CwABBPUBAAAEFAAA
ACXIMQ6DMAwF0L2n8MZWH6JlapmoymwSI6Ui/lLsSHD7DrzxPdD3TIag1FRCScjF8oqD9Ag1LzDa
0GjgL/Ze1fkpITwuMy+6vkrwW070+KiHc9VchKeSGhxbcEKtsKvvPx9uf1BLAwQUAAIACABlJFxG
+AT9cGMAAABwAAAALAAcAG1lZGlhL1czQy9hdWRpby9ldmVudHMvZXZlbnRfcGxheS1zdGRlcnIu
dHh0VVQJAAP9tfFU/bXxVHV4CwABBPUBAAAEFAAAACXIMQ6DMAwF0L2n8MZWH6JlapmoymwSI6Ui
/lLsSHD7DrzxPdD3TIag1FRCScjF8oqD9Ag1LzDa0GjgL/Ze1fkpITwuMy+6vkrwW070+KiHc9Vc
hKeSGhxbcEKtsKvvPx9uf1BLAwQUAAIACABlJFxG+AT9cGMAAABwAAAAMwAcAG1lZGlhL1czQy9h
dWRpby9ldmVudHMvZXZlbnRfcGxheV9tYW51YWwtc3RkZXJyLnR4dFVUCQAD/bXxVP218VR1eAsA
AQT1AQAABBQAAAAlyDEOgzAMBdC9p/DGVh+iZWqZqMpsEiOlIv5S7Ehw+w688T3Q90yGoNRUQknI
xfKKg/QINS8w2tBo4C/2XtX5KSE8LjMvur5K8FtO9Pioh3PVXISnkhocW3BCrbCr7z8fbn9QSwME
FAACAAgAZSRcRvgE/XBjAAAAcAAAAC8AHABtZWRpYS9XM0MvYXVkaW8vZXZlbnRzL2V2ZW50X3Bs
YXlpbmctc3RkZXJyLnR4dFVUCQAD/rXxVP618VR1eAsAAQT1AQAABBQAAAAlyDEOgzAMBdC9p/DG
Vh+iZWqZqMpsEiOlIv5S7Ehw+w688T3Q90yGoNRUQknIxfKKg/QINS8w2tBo4C/2XtX5KSE8LjMv
ur5K8FtO9Pioh3PVXISnkhocW3BCrbCr7z8fbn9QSwMEFAACAAgAZSRcRvgE/XBjAAAAcAAAADYA
HABtZWRpYS9XM0MvYXVkaW8vZXZlbnRzL2V2ZW50X3BsYXlpbmdfbWFudWFsLXN0ZGVyci50eHRV
VAkAA/618VT+tfFUdXgLAAEE9QEAAAQUAAAAJcgxDoMwDAXQvafwxlYfomVqmajKbBIjpSL+UuxI
cPsOvPE90PdMhqDUVEJJyMXyioP0CDUvMNrQaOAv9l7V+SkhPC4zL7q+SvBbTvT4qIdz1VyEp5Ia
HFtwQq2wq+8/H25/UEsDBBQAAgAIAGUkXEb4BP1wYwAAAHAAAAAwABwAbWVkaWEvVzNDL2F1ZGlv
L2V2ZW50cy9ldmVudF9wcm9ncmVzcy1zdGRlcnIudHh0VVQJAAP+tfFU/rXxVHV4CwABBPUBAAAE
FAAAACXIMQ6DMAwF0L2n8MZWH6JlapmoymwSI6Ui/lLsSHD7DrzxPdD3TIag1FRCScjF8oqD9Ag1
LzDa0GjgL/Ze1fkpITwuMy+6vkrwW070+KiHc9VchKeSGhxbcEKtsKvvPx9uf1BLAwQUAAIACABl
JFxG+AT9cGMAAABwAAAANwAcAG1lZGlhL1czQy9hdWRpby9ldmVudHMvZXZlbnRfcHJvZ3Jlc3Nf
bWFudWFsLXN0ZGVyci50eHRVVAkAA/618VT+tfFUdXgLAAEE9QEAAAQUAAAAJcgxDoMwDAXQvafw
xlYfomVqmajKbBIjpSL+UuxIcPsOvPE90PdMhqDUVEJJyMXyioP0CDUvMNrQaOAv9l7V+SkhPC4z
L7q+SvBbTvT4qIdz1VyEp5IaHFtwQq2wq+8/H25/UEsDBBQAAgAIAGYkXEb4BP1wYwAAAHAAAAAy
ABwAbWVkaWEvVzNDL2F1ZGlvL2V2ZW50cy9ldmVudF90aW1ldXBkYXRlLXN0ZGVyci50eHRVVAkA
A/+18VT/tfFUdXgLAAEE9QEAAAQUAAAAJcgxDoMwDAXQvafwxlYfomVqmajKbBIjpSL+UuxIcPsO
vPE90PdMhqDUVEJJyMXyioP0CDUvMNrQaOAv9l7V+SkhPC4zL7q+SvBbTvT4qIdz1VyEp5IaHFtw
Qq2wq+8/H25/UEsDBBQAAgAIAGYkXEb4BP1wYwAAAHAAAAA5ABwAbWVkaWEvVzNDL2F1ZGlvL2V2
ZW50cy9ldmVudF90aW1ldXBkYXRlX21hbnVhbC1zdGRlcnIudHh0VVQJAAP/tfFU/7XxVHV4CwAB
BPUBAAAEFAAAACXIMQ6DMAwF0L2n8MZWH6JlapmoymwSI6Ui/lLsSHD7DrzxPdD3TIag1FRCScjF
8oqD9Ag1LzDa0GjgL/Ze1fkpITwuMy+6vkrwW070+KiHc9VchKeSGhxbcEKtsKvvPx9uf1BLAwQK
AAAAAABtJFxGAAAAAAAAAAAAAAAACQAcAHBsYXRmb3JtL1VUCQADDrbxVI+28VR1eAsAAQT1AQAA
BBQAAABQSwMECgAAAAAAdCRcRgAAAAAAAAAAAAAAAA0AHABwbGF0Zm9ybS9tYWMvVVQJAAMctvFU
j7bxVHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAB0JFxGAAAAAAAAAAAAAAAAGwAcAHBsYXRmb3Jt
L21hYy9hY2Nlc3NpYmlsaXR5L1VUCQADHLbxVI+28VR1eAsAAQT1AQAABBQAAABQSwMEFAACAAgA
dCRcRh6TfVlyAAAA7QAAAEgAHABwbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS90ZXh0Ym94LXJv
bGUtcmVwb3J0cy1ub3RpZmljYXRpb25zLXN0ZGVyci50eHRVVAkAAxy28VQctvFUdXgLAAEE9QEA
AAQUAAAAvY0xDsIwDEV3TuGtU/EhSifYQHR2UyO1SuIq/pHa2xNxCOb3nt5gNS6UDRSKCpSEXPIy
20F6QLOvluljhTp+W6xJnW8C4XF68qTzfQU/5LSKlzqc9yhoduIkgYu61RJasnmPxvu96HXz7jL8
92qO3/YLUEsDBAoAAAAAAG0kXEYAAAAAAAAAAAAAAAASABwAcGxhdGZvcm0vbWFjL2Zhc3QvVVQJ
AAMOtvFUj7bxVHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAABzJFxGAAAAAAAAAAAAAAAAHAAcAHBs
YXRmb3JtL21hYy9mYXN0L3Njcm9sbGluZy9VVAkAAxm28VSPtvFUdXgLAAEE9QEAAAQUAAAAUEsD
BBQAAgAIAG0kXEb3P02KbQAAAPcDAAA9ABwAcGxhdGZvcm0vbWFjL2Zhc3Qvc2Nyb2xsaW5nL3Nj
cm9sbC1kaXYtbGF0Y2hlZC1kaXYtc3RkZXJyLnR4dFVUCQADDrbxVA628VR1eAsAAQT1AQAABBQA
AADLzS8tTvXNL0sNyVdIS8zMSU1RKAGyMvNSFBIVShKL0lNLFMoyU8sVEksUjCz0DMBAR9fQAMrk
ygUZEJxclJ+T41QZnlmSEZ6RmprjmJfim5+bmldSmhuQkVicWoxueElG6qjxo8aPGj8wxgMAUEsD
BBQAAgAIAHMkXEaTcloDgQAAAKUAAAA7ABwAcGxhdGZvcm0vbWFjL2Zhc3Qvc2Nyb2xsaW5nL3Nj
cm9sbC1uZXN0ZWQtaWZyYW1lLXN0ZGVyci50eHRVVAkAAxm28VQZtvFUdXgLAAEE9QEAAAQUAAAA
RYwxDgIxDAR7XuGODj8CqKADcWXky/kgUmIj25GO3xOJgm5Xs7NH7XUB0YBsTMFA4CTLrBvwFixe
VGBVgz0+tPbGjicKwvN0w4nnSwm80kd73NnD8V0pxrpho4wreaBn01qLPNHYtVseD//0o0mGzEsq
q1HjFKOlIsJ2eEWr+90XUEsDBAoAAAAAAGkkXEYAAAAAAAAAAAAAAAARABwAcGxhdGZvcm0vbWFj
LXdrMi9VVAkAAwa28VSPtvFUdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAGkkXEYAAAAAAAAAAAAA
AAAfABwAcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL1VUCQADBrbxVI+28VR1eAsAAQT1
AQAABBQAAABQSwMECgAAAAAAaSRcRgAAAAAAAAAAAAAAACkAHABwbGF0Zm9ybS9tYWMtd2syL3Rp
bGVkLWRyYXdpbmcvc2Nyb2xsaW5nL1VUCQADBrbxVI+28VR1eAsAAQT1AQAABBQAAABQSwMECgAA
AAAAbiRcRgAAAAAAAAAAAAAAADoAHABwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Ny
b2xsaW5nL2ZpeGVkLWJhY2tncm91bmQvVVQJAAMPtvFUj7bxVHV4CwABBPUBAAAEFAAAAFBLAwQU
AAIACABpJFxG42cxMW4AAACAAAAAYAAcAHBsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9z
Y3JvbGxpbmcvZml4ZWQtYmFja2dyb3VuZC9maXhlZC1iYWNrZ3JvdW5kLWNvbXBvc2l0ZWQtc3Rk
ZXJyLnR4dFVUCQADBrbxVAa28VR1eAsAAQT1AQAABBQAAAANyzEOwjAMAMCdV3jrhh8BTHQD0RG5
qRtZSuwodqTye7rf3WyUDdQCUmcKBgIn3VY7gI9gdTGF3TpM+LEyKjveKQgfywsXXp8SONPPRrzZ
w7EVilNXTFabuYRoxs5uo6ezutRW+CuVMl+b5unyB1BLAwQUAAIACABqJFxG42cxMW4AAACAAAAA
bAAcAHBsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZml4ZWQtYmFja2dy
b3VuZC9maXhlZC1iYWNrZ3JvdW5kLW5lZ2F0aXZlLXotaW5kZXgtZml4ZWQtc3RkZXJyLnR4dFVU
CQADB7bxVAe28VR1eAsAAQT1AQAABBQAAAANyzEOwjAMAMCdV3jrhh8BTHQD0RG5qRtZSuwodqTy
e7rf3WyUDdQCUmcKBgIn3VY7gI9gdTGF3TpM+LEyKjveKQgfywsXXp8SONPPRrzZw7EVilNXTFab
uYRoxs5uo6ezutRW+CuVMl+b5unyB1BLAwQUAAIACABrJFxG42cxMW4AAACAAAAAZQAcAHBsYXRm
b3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZml4ZWQtYmFja2dyb3VuZC9maXhl
ZC1ib2R5LWJhY2tncm91bmQtYm9keS1sYXllci1zdGRlcnIudHh0VVQJAAMKtvFUCrbxVHV4CwAB
BPUBAAAEFAAAAA3LMQ7CMAwAwJ1XeOuGHwFMdAPREbmpG1lK7Ch2pPJ7ut/dbJQN1AJSZwoGAifd
VjuAj2B1MYXdOkz4sTIqO94pCB/LCxdenxI4089GvNnDsRWKU1dMVpu5hGjGzm6jp7O61Fb4K5Uy
X5vm6fIHUEsDBBQAAgAIAGskXEbjZzExbgAAAIAAAABiABwAcGxhdGZvcm0vbWFjLXdrMi90aWxl
ZC1kcmF3aW5nL3Njcm9sbGluZy9maXhlZC1iYWNrZ3JvdW5kL2ZpeGVkLWJvZHktYmFja2dyb3Vu
ZC1vcGFjaXR5LXN0ZGVyci50eHRVVAkAAwq28VQKtvFUdXgLAAEE9QEAAAQUAAAADcsxDsIwDADA
nVd464YfAUx0A9ERuakbWUrsKHak8nu6391slA3UAlJnCgYCJ91WO4CPYHUxhd06TPixMio73ikI
H8sLF16fEjjTz0a82cOxFYpTV0xWm7mEaMbObqOns7rUVvgrlTJfm+bp8gdQSwMEFAACAAgAbCRc
RuNnMTFuAAAAgAAAAGUAHABwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5n
L2ZpeGVkLWJhY2tncm91bmQvZml4ZWQtYm9keS1iYWNrZ3JvdW5kLXBvc2l0aW9uZWQtc3RkZXJy
LnR4dFVUCQADC7bxVAu28VR1eAsAAQT1AQAABBQAAAANyzEOwjAMAMCdV3jrhh8BTHQD0RG5qRtZ
SuwodqTye7rf3WyUDdQCUmcKBgIn3VY7gI9gdTGF3TpM+LEyKjveKQgfywsXXp8SONPPRrzZw7EV
ilNXTFabuYRoxs5uo6ezutRW+CuVMl+b5unyB1BLAwQUAAIACABtJFxG42cxMW4AAACAAAAAWgAc
AHBsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZml4ZWQtYmFja2dyb3Vu
ZC9maXhlZC1ib2R5LWJhY2tncm91bmQtc3RkZXJyLnR4dFVUCQADDbbxVA228VR1eAsAAQT1AQAA
BBQAAAANyzEOwjAMAMCdV3jrhh8BTHQD0RG5qRtZSuwodqTye7rf3WyUDdQCUmcKBgIn3VY7gI9g
dTGF3TpM+LEyKjveKQgfywsXXp8SONPPRrzZw7EVilNXTFabuYRoxs5uo6ezutRW+CuVMl+b5uny
B1BLAwQUAAIACABsJFxG42cxMW4AAACAAAAAZgAcAHBsYXRmb3JtL21hYy13azIvdGlsZWQtZHJh
d2luZy9zY3JvbGxpbmcvZml4ZWQtYmFja2dyb3VuZC9maXhlZC1ib2R5LWJhY2tncm91bmQtdHJh
bnNmb3JtZWQtc3RkZXJyLnR4dFVUCQADDLbxVAy28VR1eAsAAQT1AQAABBQAAAANyzEOwjAMAMCd
V3jrhh8BTHQD0RG5qRtZSuwodqTye7rf3WyUDdQCUmcKBgIn3VY7gI9gdTGF3TpM+LEyKjveKQgf
ywsXXp8SONPPRrzZw7EVilNXTFabuYRoxs5uo6ezutRW+CuVMl+b5unyB1BLAwQUAAIACABtJFxG
42cxMW4AAACAAAAAYQAcAHBsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcv
Zml4ZWQtYmFja2dyb3VuZC9maXhlZC1ib2R5LWJhY2tncm91bmQtem9vbWVkLXN0ZGVyci50eHRV
VAkAAw228VQNtvFUdXgLAAEE9QEAAAQUAAAADcsxDsIwDADAnVd464YfAUx0A9ERuakbWUrsKHak
8nu6391slA3UAlJnCgYCJ91WO4CPYHUxhd06TPixMio73ikIH8sLF16fEjjTz0a82cOxFYpTV0xW
m7mEaMbObqOns7rUVvgrlTJfm+bp8gdQSwMEFAACAAgAbSRcRuNnMTFuAAAAgAAAAFoAHABwbGF0
Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2ZpeGVkLWJhY2tncm91bmQvZml4
ZWQtaHRtbC1iYWNrZ3JvdW5kLXN0ZGVyci50eHRVVAkAAw628VQOtvFUdXgLAAEE9QEAAAQUAAAA
DcsxDsIwDADAnVd464YfAUx0A9ERuakbWUrsKHak8nu6391slA3UAlJnCgYCJ91WO4CPYHUxhd06
TPixMio73ikIH8sLF16fEjjTz0a82cOxFYpTV0xWm7mEaMbObqOns7rUVvgrlTJfm+bp8gdQSwME
FAACAAgAbiRcRuNnMTFuAAAAgAAAAGkAHABwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcv
c2Nyb2xsaW5nL2ZpeGVkLWJhY2tncm91bmQvZml4ZWQtbm9uLXByb3BhZ2F0ZWQtYm9keS1iYWNr
Z3JvdW5kLXN0ZGVyci50eHRVVAkAAw+28VQPtvFUdXgLAAEE9QEAAAQUAAAADcsxDsIwDADAnVd4
64YfAUx0A9ERuakbWUrsKHak8nu6391slA3UAlJnCgYCJ91WO4CPYHUxhd06TPixMio73ikIH8sL
F16fEjjTz0a82cOxFYpTV0xWm7mEaMbObqOns7rUVvgrlTJfm+bp8gdQSwMECgAAAAAAcCRcRgAA
AAAAAAAAAAAAAAgAHABwbHVnaW5zL1VUCQADFLbxVI+28VR1eAsAAQT1AQAABBQAAABQSwMECgAC
AAAAbiRcRpneMOI0AAAANAAAAC8AHABwbHVnaW5zL2NyYXNoLWludmFsaWQtZGF0YS1yZWZlcmVu
Y2Utc3RkZXJyLnR4dFVUCQADD7bxVA+28VR1eAsAAQT1AQAABBQAAABDb3VsZCBub3QgY3JlYXRl
IGEgc2FuZGJveCBleHRlbnNpb24gZm9yICcvd3d3L2ZvbycKUEsDBBQAAgAIAHAkXEbuXXJFhgAA
APYAAAA7ABwAcGx1Z2lucy9ucHAtc2V0LXdpbmRvdy1jYWxsZWQtZHVyaW5nLWRlc3RydWN0aW9u
LXN0ZGVyci50eHRVVAkAAxS28VQUtvFUdXgLAAEE9QEAAAQUAAAAnY7BCsIwEETvfsV8Rz+gIkgp
FPEo6WZtI3FXkk3z+6YHL+LJ6zDz3vQuRPYwRWJLgTcGqWSNDJ0fTIa6tgaiLkuQpcN4vhxPQ4e+
DTsM43ib2K5BvFaQizvsqYlhqxOoEGPm+x68YmkEeM6WCllQOfT/yqdCxDl/+6vLELXPD19SW/0S
vwFQSwMECgAAAAAAdSRcRgAAAAAAAAAAAAAAABUAHABwbHVnaW5zL3NuYXBzaG90dGluZy9VVAkA
Ax628VSPtvFUdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAG4kXEaluIeM4QAAAE4DAABOABwAcGx1
Z2lucy9zbmFwc2hvdHRpbmcvYXV0b3BsYXktZG9taW5hbnQtYmxhbmstcGx1Z2luLW1vdmVkLWlu
dG8tdmlldy1zdGRlcnIudHh0VVQJAAMQtvFUELbxVHV4CwABBPUBAAAEFAAAAO2RMU/DMBCFZ/or
bixS46Rug1uvlKECBIhKDKiD41zTE/Y5cmwQ/56A2GAEiYHpLU/f6d4nq3ldVLKQK6iWelFrqcRq
PQcbvDB971A8YHNJSdy63BGLhRQbfEYXeo+cHuVaqaVWWKk9XMQYIrhgWuIOyitqoomv5ZYTRsYE
74Riy0N5l8k+7cgjfEL7jyjPw1jlNJTXxt7cf6lpgHa8izz9efYM5Fl9qoEDDJmSaRwCedMhHELm
VgBsqIUDcasnJ7/xmjf2WIQZNDnBSwzjgCbaIyW0KUecyG81yX9Nf0vTG1BLAwQUAAIACABvJFxG
eXUySfcAAACcBgAAMQAcAHBsdWdpbnMvc25hcHNob3R0aW5nL2F1dG9wbGF5LWRvbWluYW50LXN0
ZGVyci50eHRVVAkAAxG28VQRtvFUdXgLAAEE9QEAAAQUAAAA7dGxTsMwEAbgmT7FjSA1jus0JPFK
GSpAgKjEgBgc55KecOzIsUG8PQGxwYIEqEOmW379p7tP8FWecJGIEvhaZrkUJasqAdr1TA2DQXaP
9QUFdmNiR5Zlgm3wGY0berThQVRFKWTR8voRzr13HoxTDdkO0kuqvfKv6dYG9BYDvDckWzumt5H0
0456hM/S4WOkZ26K2jCmV0pf332JSYBm2ov2+Pe7lyBO8xMJ1sEYKajaIFCvOoTWRdswgA010JJt
5OLoL07rld4nbgl1DPDi3fRA5fWeAuoQPS7Et0zZzHToTBXjnP+AqVjLAnkxM/0/02pmOiymN1BL
AwQUAAIACABvJFxGhjIrMPYAAACcBgAAQAAcAHBsdWdpbnMvc25hcHNob3R0aW5nL2F1dG9wbGF5
LXBsdWdpbi1ibG9ja2VkLWJ5LWltYWdlLXN0ZGVyci50eHRVVAkAAxK28VQStvFUdXgLAAEE9QEA
AAQUAAAA7dGxTsMwEAbgmT7FjSA1jusmpPVKGSpAgKjEgBgc55KeSM6RY4N4ewJigwUJEEiZbvn1
n+4+JRd5IlWiViAzvcy1WotcZmBdJ0zftyhusTyjIK7a2BCLpRIbfMTW9R1yuFPrYqV0UcvyHk69
dx5aZyriBtJzKr3xz+mWA3rGAK8NyZaH9DqSfdhRh/Be2r+N9MSNUQ5DemHs5c2HmAaoxr3Ih9/f
PQd1nB9pYAdDpGDKFoE60yDULnIlADZUQU1c6dnBT5zWGbtP3BzKGODJu/GBxts9BbQhepypT5ny
iekfMC2WX2AqMl2gLCam32fKJqa/xfQCUEsDBBQAAgAIAHAkXEZAsLCI9wAAAJwGAABHABwAcGx1
Z2lucy9zbmFwc2hvdHRpbmcvYXV0b3BsYXktcGx1Z2luLW1vc3RseS1ibG9ja2VkLWJ5LWltYWdl
LXN0ZGVyci50eHRVVAkAAxO28VQTtvFUdXgLAAEE9QEAAAQUAAAA7dGxTsMwEAbgmT7FjSA1jus0
TeOVMlSAAIHEgBgc55KeSM6Ra4N4ewJigwUJEEiZbvn1n+4+JRd5IlWi1iCXOst1JkVelmBdL8ww
dChusTqlIC672BKLTIkNPmLnhh453KmyWCtdNLK6hxPvnYfOmZq4hfSMKm/8c7rlgJ4xwGtDsuV9
ehXJPtxQj/BeOryN9NiNUQ779NzYi+sPMQ1Qj3uRD7+/ew5qlR9pYAf7SMFUHQL1pkVoXORaAGyo
hoa41rODnzitN3aXuDlUMcCTd+MDjbc7CmhD9DhTnzCtpJyY/gHTQn2BqVjqAmUxMf0+UzYx/S2m
F1BLAwQUAAIACABxJFxGQIbZUwoBAAA4DQAAPAAcAHBsdWdpbnMvc25hcHNob3R0aW5nL2F1dG9w
bGF5LXNpbWlsYXItdG8tZG9taW5hbnQtc3RkZXJyLnR4dFVUCQADFrbxVBa28VR1eAsAAQT1AQAA
BBQAAADt0bFOwzAQBuCZPsWNIDWO6zR14pUyVIAAgcSAGBznklokduTYIN6egNhgQQLUSJ5u+fWf
7j5GV3lCWcIKoGuR5SLLCCsLULYnchg6JPdYnWtPrrvQakMyRrb4jJ0dejT+gZW8YII3tHqEM+es
g87KWpsW0gtdOele053x6Ax6eG9IdmZMb4JWT3e6R/gsHT5GemqnqPFjeinV1e2XmACop71ojn+/
ewlsk58IMBbGoL2sOgTdyxahscHUBGCra2i0qcXi6C9O66XaJ3YJVfDw4uz0QOnUXntUPjhcsG+Z
ysh0+EwZpZFpDkyryDQHpvwHTHwtOFIemf6faROZ5sDEI9McmIrIdFhMb1BLAwQUAAIACAByJFxG
bCWeiuEAAABOAwAAOwAcAHBsdWdpbnMvc25hcHNob3R0aW5nL3BsdWdpbi1yZWNlaXZlcy1jbGlj
ay1ldmVudC1zdGRlcnIudHh0VVQJAAMXtvFUF7bxVHV4CwABBPUBAAAEFAAAAO2RMU/DMBCFZ/or
bixSYwcnaVOvlKECBAgkBsTgOJf0RHyOHBvEvycgNhhBYmB6y9N3uvep/KTKcpWpGvJSF5UuSlHW
FVjvhBnHAcU9NucUxfWQemJRKLHDZxz86JDjg9puaqU3Xd48wlkIPsDgTUvcg7ygJpjwKvccMTBG
eCdke57kTSL7dEcO4RM6foQ89XOV4yQvjb26/VLTAO18F3n58+wVqHV1rIE9TImiaQYEcqZH6Hzi
VgDsqIWOuNWLo994zRl7yPwKmhThJfh5QBPsgSLamAIu1Lea1v+a/pamN1BLAwQUAAIACAB0JFxG
n4xHs/UAAACcBgAAJwAcAHBsdWdpbnMvc25hcHNob3R0aW5nL3Jlc3RhcnQtc3RkZXJyLnR4dFVU
CQADHLbxVBy28VR1eAsAAQT1AQAABBQAAADt0bFOwzAQBuCZPsWNIDVOcNo69UoZKkCAqMSAGBzn
kp5IzpFjg3h7AmKDBQlQh0y3/PpPd5/MTpdJJhNZQLbQ+VLnhZD5CqzrhOn7FsU9lhcUxE0bG2KR
S7HBZ2xd3yGHB7lWhdSqzspHOPfeeWidqYgbSC+p9Ma/plsO6BkDvDckWx7S20j2aUcdwmdp/zHS
MzdGOQzplbHXd19iGqAa9yIf/373HORqeaKBHQyRgilbBOpMg1C7yJUA2FAFNXGlZ0d/cVpn7D5x
cyhjgBfvxgcab/cU0IbocSa/ZVIT06EzrX/IpBZaYaYmpv9nKiamw2J6A1BLAwQUAAIACAB1JFxG
vnK0COEAAABOAwAAJgAcAHBsdWdpbnMvc25hcHNob3R0aW5nL3NpbXBsZS1zdGRlcnIudHh0VVQJ
AAMdtvFUHbbxVHV4CwABBPUBAAAEFAAAAO2RMU/DMBCFZ/orbgSpsY1T09YrZagAAaISA+rgOJf0
RHKOHBvEvycgNhhBYmB6y9N3uvdpdWoKpQu9ArWwpbELJUpTgg+9cMPQoXjA6pKSuO1ySyxKLTb4
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
AQT1AQAABBQAAABQSwMECgAAAAAAcCRcRgAAAAAAAAAAAAAAACsAHABzcHV0bmlrL0NvbmZvcm1h
bmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvVVQJAAMTtvFUj7bxVHV4CwABBPUBAAAEFAAAAFBL
AwQKAAAAAABwJFxGAAAAAAAAAAAAAAAAQAAcAHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNh
bF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9ycy9VVAkAAxO28VSPtvFUdXgLAAEE9QEA
AAQUAAAAUEsDBBQAAgAIAHAkXEaQ5YZaWwAAAOACAABXABwAc3B1dG5pay9Db25mb3JtYW5jZS8w
N19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTEuMV9UMS1z
dGRlcnIudHh0VVQJAAMTtvFUE7bxVHV4CwABBPUBAAAEFAAAAMvNLy1ODU4uys/JcaoMzyzJCM9I
Tc1xzEvxzc9NzSspzQ3ISCxOLVZIS8zMSU1RKMlXSMvMA9IZqQoliUXpqSUKZZmp5QqJJQoGegZg
oANjcOWOmj1q9gCbDQBQSwMEFAACAAgAsSRcRjHm34mcPgcAL3wmAAoAHABzdGF0cy5qc29uVVQJ
AAONtvFUjbbxVHV4CwABBPUBAAAEFAAAAKT9aZMruZIlCP6Vkvo6xRDDDvS3rOytWmq6SjJzepGR
kSt0J/06X9BJT5J+l1dS/30A2AIoDHqM0VklEu9G5DXQDFDocvSo6n/79z+PL/uvw+n67/+Hf/ff
/n3+08vX29vxdr9+3V6Pu8/z/vfL/vXP2/5x/OP98XHOf+92vH+dH/f45/+v0P/h3wkpxX/4dzJ4
mf7Fxj+L4P9///0//Lt//31/uuxe9vfTK3jYhOVh5f/Dv3MhP/pz/+N4f99/Hm+764/4PvuPz/Nx
J3+BhbxZFkprCifzSp/7yyWucvzXr/358/rzeANLuLKEjO8ihMpLXK6P4+77LX3N9ZI3Baxhyxoq
7oV3y1agh4by7ir+Bz2++/pE7o/97YGOQpajiAt5ndd5OcWvP8SjuBw+9/c7eF6V09BxB4Iq7/G5
v+0/dq/XuJ2vj13+T0ku7qfvl/0ZLVm+LQmKCcynfcTHTrvX93ReZ/SOouywGIZ89HnJ6/31dD7v
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
AAAAAACHJFxGAAAAAAAAAAAAAAAACwAcAHN2Zy9zdHJva2UvVVQJAAM+tvFUj7bxVHV4CwABBPUB
AAAEFAAAAFBLAwQUAAIACACHJFxGddktxJAAAACmAAAAJQAcAHN2Zy9zdHJva2UvemVyby13aWR0
aC1oYW5nLXN0ZGVyci50eHRVVAkAAz628VQ+tvFUdXgLAAEE9QEAAAQUAAAAHYw7DsIwEER7TjEX
wMqPKLIQTQIU0FFQIIpNshKWbG/kmPA5PQnVzBs9zYFbZBWSQuelTgvwa0yTjbLSkUUnTtEwWFZX
bk8mLlGLj+yjanhiK4Ob+y2r0ry8Y7sPQcJOoz7+rXe8cDwbzw2NDw3jJ7KmRz8TKAT6aFCEZRoj
xDPY8nIH95yHluHFr78cRK1+UEsDBAoAAAAAAIMkXEYAAAAAAAAAAAAAAAATABwAc3ZnL1czQy1T
VkctMS4xLVNFL1VUCQADNbbxVI+28VR1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAgiRcRjfVniVm
AAAAcQAAADAAHABzdmcvVzNDLVNWRy0xLjEtU0UvZmlsdGVycy1pbWFnZS0wNS1mLXN0ZGVyci50
eHRVVAkAAzO28VQztvFUdXgLAAEE9QEAAAQUAAAADco9DoJAEAbQ3lNMR8ccQsVCuzVQD8unIYGd
ZH4M3l5f/c6a20JNg6pBAiTk0pZZD8IRaL5qo5cadTzqljucLxLC16nwhPm+Bj/kqxlPeDjX9NCd
Da5p9Z/LeBsMKNK898+7O/0AUEsDBBQAAgAIAIIkXEYnIrM4YwAAAG4AAAAyABwAc3ZnL1czQy1T
VkctMS4xLVNFL3BhaW50aW5nLW1hcmtlci0wNS1mLXN0ZGVyci50eHRVVAkAAzO28VQztvFUdXgL
AAEE9QEAAAQUAAAADco7DoNADAXAPqdwRxcfIh8K0m0EtYEHQiK2ZHsjcvtQz9ys7jOpJU0OSZBQ
iM6jHYQjobGZ0mJODfe21w+C75LCj6HwgLHbkl/ys5pvRAbHd2VHWPXpnKVvnw4U0bie0lz+UEsD
BBQAAgAIAIIkXEYnIrM4YwAAAG4AAAAyABwAc3ZnL1czQy1TVkctMS4xLVNFL3BhaW50aW5nLW1h
cmtlci0wNi1mLXN0ZGVyci50eHRVVAkAAzO28VQztvFUdXgLAAEE9QEAAAQUAAAADco7DoNADAXA
PqdwRxcfIh8K0m0EtYEHQiK2ZHsjcvtQz9ys7jOpJU0OSZBQiM6jHYQjobGZ0mJODfe21w+C75LC
j6HwgLHbkl/ys5pvRAbHd2VHWPXpnKVvnw4U0bie0lz+UEsDBBQAAgAIAIIkXEYnIrM4YwAAAG4A
AAAtABwAc3ZnL1czQy1TVkctMS4xLVNFL3N0cnVjdC1kb20tMTEtZi1zdGRlcnIudHh0VVQJAAM0
tvFUNLbxVHV4CwABBPUBAAAEFAAAAA3KOw6DQAwFwD6ncEcXHyIfCtJtBLWBB0IitmR7I3L7UM/c
rO4zqSVNDkmQUIjOox2EI6GxmdJiTg33ttcPgu+Swo+h8ICx25Jf8rOab0QGx3dlR1j16Zylb58O
FNG4ntJc/lBLAwQUAAIACACDJFxGJyKzOGMAAABuAAAALQAcAHN2Zy9XM0MtU1ZHLTEuMS1TRS9z
dHJ1Y3QtdXNlLTExLWYtc3RkZXJyLnR4dFVUCQADNbbxVDW28VR1eAsAAQT1AQAABBQAAAANyjsO
g0AMBcA+p3BHFx8iHwrSbQS1gQdCIrZkeyNy+1DP3KzuM6klTQ5JkFCIzqMdhCOhsZnSYk4N97bX
D4LvksKPofCAsduSX/Kzmm9EBsd3ZUdY9emcpW+fDhTRuJ7SXP5QSwMEFAACAAgAgyRcRj35C1hf
AAAAZQAAAC8AHABzdmcvVzNDLVNWRy0xLjEtU0Uvc3R5bGluZy1wcmVzLTAyLWYtc3RkZXJyLnR4
dFVUCQADNbbxVDW28VR1eAsAAQT1AQAABBQAAAANysEOREAMAND7fkVvbip+ASduhHNRk0loN9qR
2b+37/waTecOog7bzeQMBEayr5qBs7NYVIFDbyhw1jNdbNiSE3bLiAuvfXQc6KfJJzY3tCdgvCj8
W13luiq/EorPC1BLAwQUAAIACACDJFxGAkK32IIAAADeAAAALQAcAHN2Zy9XM0MtU1ZHLTEuMS1T
RS90ZXh0LWludHJvLTA5LWItc3RkZXJyLnR4dFVUCQADNbbxVDW28VR1eAsAAQT1AQAABBQAAACt
jUEOgkAMAO+8ojdO0BCfsBI1cmINnAsUQ4LbZNtV9PXiHzzOZJJxktYJghiMkckYCJTCNMgGvBkH
XSTALBFy7GRND1Y8khHWvceeh+ti2NBbkt1YTVGfd4yskuK4l2ceyt3kmfv/pT+4wnenoiqrwtf4
knlWrD+R/KXxbfnjPPsCUEsDBAoAAAAAAIIkXEYAAAAAAAAAAAAAAAAVABwAc3ZnL1czQy1TVkct
MS4yLVRpbnkvVVQJAAMztvFUj7bxVHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACACBJFxGpb1vVGMA
AABrAAAAOQAcAHN2Zy9XM0MtU1ZHLTEuMi1UaW55L3N0cnVjdC11c2UtcmVjdXJzaW9uLTAxLXQt
c3RkZXJyLnR4dFVUCQADMrbxVDK28VR1eAsAAQT1AQAABBQAAAANyjEOgzAMBdCdU3hjqw9R2g6w
pYLZlF8UCWwpdhC9fVmf3t3qtpBa0KdAAiTkostsJ+EMqGdT+lqhlkfb6g7nTkL4MSWeMPc5eJCf
1XjDw9mPlfMu69XS+HoWIIn67eK2+QNQSwMEFAACAAgAgiRcRqW9b1RjAAAAawAAADkAHABzdmcv
VzNDLVNWRy0xLjItVGlueS9zdHJ1Y3QtdXNlLXJlY3Vyc2lvbi0wMi10LXN0ZGVyci50eHRVVAkA
AzO28VQztvFUdXgLAAEE9QEAAAQUAAAADcoxDoMwDAXQnVN4Y6sPUdoOsKWC2ZRfFAlsKXYQvX1Z
n97d6raQWtCnQAIk5KLLbCfhDKhnU/paoZZH2+oO505C+DElnjD3OXiQn9V4w8PZj5XzLuvV0vh6
FiCJ+u3itvkDUEsDBBQAAgAIAIIkXEalvW9UYwAAAGsAAAA5ABwAc3ZnL1czQy1TVkctMS4yLVRp
bnkvc3RydWN0LXVzZS1yZWN1cnNpb24tMDMtdC1zdGRlcnIudHh0VVQJAAMztvFUM7bxVHV4CwAB
BPUBAAAEFAAAAA3KMQ6DMAwF0J1TeGOrD1HaDrClgtmUXxQJbCl2EL19WZ/e3eq2kFrQp0ACJOSi
y2wn4QyoZ1P6WqGWR9vqDudOQvgxJZ4w9zl4kJ/VeMPD2Y+V8y7r1dL4ehYgifrt4rb5A1BLAwQK
AAAAAACLJFxGAAAAAAAAAAAAAAAABwAcAHRhYmxlcy9VVAkAA0a28VSPtvFUdXgLAAEE9QEAAAQU
AAAAUEsDBAoAAAAAAIokXEYAAAAAAAAAAAAAAAAPABwAdGFibGVzL21vemlsbGEvVVQJAANEtvFU
j7bxVHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAACYJFxGAAAAAAAAAAAAAAAAFAAcAHRhYmxlcy9t
b3ppbGxhL2J1Z3MvVVQJAANftvFUj7bxVHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACACYJFxG60Tu
6GcAAABzAAAAKAAcAHRhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnMTMxMDIwLXN0ZGVyci50eHRVVAkA
A1+28VRftvFUdXgLAAEE9QEAAAQUAAAADcoxDoMwDEbhnVN4Y+M/ROnUbqAyO2CqSCaWsCNBT99s
T5/ew6puVCxoPYVDiMm5bMkukiukeLZCu53U42NaD3GMHIznMmGR9MqBN99WYxYPR3DSthz2y6qM
VL+O1R0ed/OhZd/9AVBLAwQUAAIACACYJFxG60Tu6GcAAABzAAAALwAcAHRhYmxlcy9tb3ppbGxh
L2J1Z3MvYnVnMTMxMDIwX2lmcmFtZS1zdGRlcnIudHh0VVQJAANftvFUX7bxVHV4CwABBPUBAAAE
FAAAAA3KMQ6DMAxG4Z1TeGPjP0Tp1G6gMjtgqkgmlrAjQU/fbE+f3sOqblQsaD2FQ4jJuWzJLpIr
pHi2Qrud1ONjWg9xjByM5zJhkfTKgTffVmMWD0dw0rYc9suqjFS/jtUdHnfzoWXf/QFQSwMEFAAC
AAgAjyRcRkjbQwNpAAAAdQAAACcAHAB0YWJsZXMvbW96aWxsYS9idWdzL2J1ZzE3NTg3LXN0ZGVy
ci50eHRVVAkAA0628VROtvFUdXgLAAEE9QEAAAQUAAAADcoxDsIwDAXQnVN464YPAUywgeiIflo3
skhiqXak0tPT8UnvYr3M1CxoWgUhBHK0OdlGsoU0V2u02EoDv630Ks5XBPg2PnmUdNfgB37W4yUe
zoFUjlJt11LAWpEPas2cPwnT95x1GU5/UEsDBBQAAgAIAIokXEbpUs4RWwAAAGMAAAAoABwAdGFi
bGVzL21vemlsbGEvYnVncy9idWcyNDc5LTEtc3RkZXJyLnR4dFVUCQADRLbxVES28VR1eAsAAQT1
AQAABBQAAAANyrESQDAMANDdV2QzxuAPMLFxzKkGvavmTlLH3zO95TWSo4ckBuvFZAwESsk7eYAf
46RBEmxyQYmzxHyyYktG2C0jLuz6YDjQK9kmVlM0cvEv4aT95z7qqiw+UEsDBBQAAgAIAIwkXEYm
P8KmUwAAAOQAAAAmABwAdGFibGVzL21vemlsbGEvYnVncy9idWczOTc3LXN0ZGVyci50eHRVVAkA
A0e28VRHtvFUdXgLAAEE9QEAAAQUAAAArcwxDoAgDADA3Vd0Y5NH8BBToYUmpjWAhOc78AXWGy7Y
9yRQ6xArYSdAaKjptgk0O2kTU2Cr4HyiQTMW1Ew+V3yLxLbwKmcWdkfYkvGejBXHmn5QSwMEFAAC
AAgAjCRcRi7gfnNsAAAAfQAAACYAHAB0YWJsZXMvbW96aWxsYS9idWdzL2J1ZzU1Mzgtc3RkZXJy
LnR4dFVUCQADSLbxVEi28VR1eAsAAQT1AQAABBQAAAAtyjEOwjAMQNGdU3jrhg8BTLCB6OxQN7Lk
2Kh2qsLp6cD09aR/8q4TmCe8FqZkIAiyqfgGvCVbiBvMvsCAT9feOPBMSXgZ7zhyuUrijT7e88GR
gUlF96X5V1QJpVHdmf42Wv9Rr2LHKvNw+AFQSwMEFAACAAgAjSRcRu5xp/aDAAAAdgEAACgAHAB0
YWJsZXMvbW96aWxsYS9idWdzL2J1ZzkxMjMtMS1zdGRlcnIudHh0VVQJAANKtvFUSrbxVHV4CwAB
BPUBAAAEFAAAAL2PMQ7CMAxFd07hrRsWSJygMMEGomPlUCeK5MRS7UiF09OFkRHWrye993ttMkFV
h8fM5AwERnUKugAvztWyVog6Q4d3lVbY8EhOeBquOHA4Z8cLPbX5jc0NnYKsSNFXFiEMLRnmQmnd
hKOPhWsbg7pr2W9Tjt2m/33Ap2B3+Lvyy+k3UEsDBAoAAAAAAIkkXEYAAAAAAAAAAAAAAAAiABwA
dGFibGVzL21vemlsbGEvY29sbGFwc2luZ19ib3JkZXJzL1VUCQADQbbxVI+28VR1eAsAAQT1AQAA
BBQAAABQSwMEFAACAAgAiSRcRtToG6p6AAAAkQAAADcAHAB0YWJsZXMvbW96aWxsYS9jb2xsYXBz
aW5nX2JvcmRlcnMvYnVnNDEyNjItMy1zdGRlcnIudHh0VVQJAANBtvFUQbbxVHV4CwABBPUBAAAE
FAAAACXKMQ7CMAxA0Z1TeOtUfAhggg1ER+SkTmTJjVHsSoXTU4nlD1/vZKvO0Cwgd6ZgIHBqc7IN
eAtuLtagWIcBn6brwo5nCsLLdMeJ01UCb/SxNR7s4RiUdCeLfUWVMNvet0urr2R95u4oC9VdRNLx
v8ZsrajkOFYpw+EHUEsDBAoAAAAAAIskXEYAAAAAAAAAAAAAAAAhABwAdGFibGVzL21vemlsbGFf
ZXhwZWN0ZWRfZmFpbHVyZXMvVVQJAANGtvFUj7bxVHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAACN
JFxGAAAAAAAAAAAAAAAAJgAcAHRhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL2J1Z3Mv
VVQJAANJtvFUj7bxVHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACACLJFxG6VLOEVsAAABjAAAAOQAc
AHRhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL2J1Z3MvYnVnMTAxNDAtc3RkZXJyLnR4
dFVUCQADRrbxVEa28VR1eAsAAQT1AQAABBQAAAANyrESQDAMANDdV2QzxuAPMLFxzKkGvavmTlLH
3zO95TWSo4ckBuvFZAwESsk7eYAf46RBEmxyQYmzxHyyYktG2C0jLuz6YDjQK9kmVlM0cvEv4aT9
5z7qqiw+UEsDBBQAAgAIAIwkXEZXzyj8jwAAABwCAAA5ABwAdGFibGVzL21vemlsbGFfZXhwZWN0
ZWRfZmFpbHVyZXMvYnVncy9idWcyMzg0Ny1zdGRlcnIudHh0VVQJAANHtvFUR7bxVHV4CwABBPUB
AAAEFAAAAM3RPQ7CMAyG4Z1TeOsE5vcEhalsIDpWTuNWkdIYGgcFTk8luEOZv3d4pK+U5C0EUWhH
JmUgiBSskQyclUN0EqCTEQq8iU8DRzySEp7qC9ZsKqd4ppckvXLUiErGT8kgb+c9NZzv3CrbpiPn
0zgtJvUR3dCj8mPTrLer3nXFopxXsfsLxX5mxVO+jsPy98oHUEsDBBQAAgAIAI0kXEaOfpqWdQAA
AIcAAAA5ABwAdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvYnVncy9idWc4OTMxNS1z
dGRlcnIudHh0VVQJAANJtvFUSbbxVHV4CwABBPUBAAAEFAAAAA3KsQ4CIQyA4d2n6HabfQh10k3j
jZdy9AimUAIlQZ9etj/5/ot28ZDVYK9MxkDQKHunA3gY5xY1w6EVFnyr9MQNr2SEt/WJK7t7NHzQ
V7u9uFlDIydzSfqLIrTxKLwb++2gKL1OcT00jInC7EKF6/lTwnL6A1BLAwQKAAAAAACLJFxGAAAA
AAAAAAAAAAAAKAAcAHRhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZpbi9VVAkA
A0a28VSPtvFUdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAIskXEZsvEsIcAAAAIEAAABFABwAdGFi
bGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL2JhY2tncl9sYXllcnMtaGlkZS1z
dGRlcnIudHh0VVQJAANGtvFURrbxVHV4CwABBPUBAAAEFAAAAA3KMQ7CMAxA0Z1TeOuGDwFMsIHo
WDmNE1lyYpQ4UuD0dPrD+xcbGqGaw96YnIGgU43BJvB0rl2sQrIGC75NR+GOV3LC2/rElcNdHB/0
teEv7t7RKeixFPuJKm08P7w7xy2R6GiHCJV8hGPmc5a0nP5QSwMECgAAAAAAjiRcRgAAAAAAAAAA
AAAAAAsAHAB3ZWJhcmNoaXZlL1VUCQADS7bxVI+28VR1eAsAAQT1AQAABBQAAABQSwMECgAAAAAA
jiRcRgAAAAAAAAAAAAAAABMAHAB3ZWJhcmNoaXZlL2xvYWRpbmcvVVQJAANLtvFUj7bxVHV4CwAB
BPUBAAAEFAAAAFBLAwQUAAIACACOJFxGztO9WuEAAABOAwAAMQAcAHdlYmFyY2hpdmUvbG9hZGlu
Zy92aWRlby1pbi13ZWJhcmNoaXZlLXN0ZGVyci50eHRVVAkAA0u28VRLtvFUdXgLAAEE9QEAAAQU
AAAA7ZGxTsQwDIZn7ik8gnRNezl6tFk5hhMgQCAxIIY0cXsWiVOlCYi3pyA2GEFiYPLy+/tlf7Ja
1UUlC9lAdazWGyVr0TYtmOCFHkeH4h67c0ri2uWBWKyl2OIzujB65PQg22beOemr7hHOYgwRXNCW
eIDygrqo42u544SRMcE7odjxVN5kMk935BE+oePHKE/DHOU0lZfaXN1+iSkAO/ciH/48ewlyUx8p
4ABTpqQ7h0BeDwh9yGwFwJYs9MRWLQ5+4zSvzb4IS+hygpcY5gfqaPaU0KQccSG/09Su/jX9LU1v
UEsBAh4DFAACAAgAgiRcRie8tGeI+gAAG5wLAA4AGAAAAAAAAQAAAKSBAAAAAGFjY2Vzc19sb2cu
dHh0VVQFAAM0tvFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAACSRcRgAAAAAAAAAAAAAAAA4A
GAAAAAAAAAAQAO1B0PoAAGFjY2Vzc2liaWxpdHkvVVQFAANStfFUdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgABSRcRgIqlABSAAAAVwAAACwAGAAAAAAAAQAAAKSBGPsAAGFjY2Vzc2liaWxpdHkv
YXJpYS1mYWxsYmFjay1yb2xlcy1zdGRlcnIudHh0VVQFAANKtfFUdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgACCRcRgIqlABSAAAAVwAAADYAGAAAAAAAAQAAAKSB0PsAAGFjY2Vzc2liaWxpdHkv
YXJpYS10b2dnbGUtYnV0dG9uLXdpdGgtdGl0bGUtc3RkZXJyLnR4dFVUBQADT7XxVHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAAkkXEavEDej0wEAAJ8EAAA1ABgAAAAAAAEAAACkgZL8AABhY2Nl
c3NpYmlsaXR5L2NvbnRlbnQtZWRpdGFibGUtYXMtdGV4dGFyZWEtYWN0dWFsLnR4dFVUBQADUrXx
VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAkkXEaLXNLDBgEAAOEBAAAzABgAAAAAAAEAAACk
gdT+AABhY2Nlc3NpYmlsaXR5L2NvbnRlbnQtZWRpdGFibGUtYXMtdGV4dGFyZWEtZGlmZi50eHRV
VAUAA1K18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAJJFxGbNlnJecBAADRBAAANwAYAAAA
AAABAAAApIFHAAEAYWNjZXNzaWJpbGl0eS9jb250ZW50LWVkaXRhYmxlLWFzLXRleHRhcmVhLWV4
cGVjdGVkLnR4dFVUBQADUrXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAkkXEYgJiJ/+AcA
AKobAAA7ABgAAAAAAAEAAACkgZ8CAQBhY2Nlc3NpYmlsaXR5L2NvbnRlbnQtZWRpdGFibGUtYXMt
dGV4dGFyZWEtcHJldHR5LWRpZmYuaHRtbFVUBQADUrXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAwoA
AgAAAAkkXEae1qkHZAAAAGQAAAA1ABgAAAAAAAEAAACkgQwLAQBhY2Nlc3NpYmlsaXR5L2NvbnRl
bnQtZWRpdGFibGUtYXMtdGV4dGFyZWEtc3RkZXJyLnR4dFVUBQADUrXxVHV4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAAAAAAkkXEYAAAAAAAAAAAAAAAAMABgAAAAAAAAAEADtQd8LAQBjb21wb3NpdGlu
Zy9VVAUAA1K18VR1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAJJFxGAAAAAAAAAAAAAAAAFQAY
AAAAAAAAABAA7UElDAEAY29tcG9zaXRpbmcvZ2VvbWV0cnkvVVQFAANStfFUdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgACSRcRrxUibbhAAAATgMAAC4AGAAAAAAAAQAAAKSBdAwBAGNvbXBvc2l0
aW5nL2dlb21ldHJ5L291dGxpbmUtY2hhbmdlLXN0ZGVyci50eHRVVAUAA1K18VR1eAsAAQT1AQAA
BBQAAABQSwECHgMKAAAAAAAHJFxGAAAAAAAAAAAAAAAABwAYAAAAAAAAABAA7UG9DQEAY3J5cHRv
L1VUBQADTbXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAYkXEaspXNNYgAAAG4AAAAtABgA
AAAAAAEAAACkgf4NAQBjcnlwdG8vY3J5cHRvLXJhbmRvbS12YWx1ZXMtbGltaXRzLXN0ZGVyci50
eHRVVAUAA0y18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAHJFxGrKVzTWIAAABuAAAAJgAY
AAAAAAABAAAApIHHDgEAY3J5cHRvL2NyeXB0by1yYW5kb20tdmFsdWVzLXN0ZGVyci50eHRVVAUA
A0218VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAGJFxGrKVzTWIAAABuAAAALAAYAAAAAAAB
AAAApIGJDwEAY3J5cHRvL2NyeXB0by1yYW5kb20tdmFsdWVzLXR5cGVzLXN0ZGVyci50eHRVVAUA
A0y18VR1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAASJFxGAAAAAAAAAAAAAAAABAAYAAAAAAAA
ABAA7UFREAEAZG9tL1VUBQADY7XxVHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAABEkXEYAAAAA
AAAAAAAAAAAJABgAAAAAAAAAEADtQY8QAQBkb20vaHRtbC9VVAUAA2K18VR1eAsAAQT1AQAABBQA
AABQSwECHgMKAAAAAAARJFxGAAAAAAAAAAAAAAAAEAAYAAAAAAAAABAA7UHSEAEAZG9tL2h0bWwv
bGV2ZWwyL1VUBQADYrXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAC0kXEYAAAAAAAAAAAAA
AAAVABgAAAAAAAAAEADtQRwRAQBkb20vaHRtbC9sZXZlbDIvaHRtbC9VVAUAA5a18VR1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAArJFxGyVZzE2cAAABzAAAAJgAYAAAAAAABAAAApIFrEQEAZG9t
L2h0bWwvbGV2ZWwyL2h0bWwvYm9keTAxLXN0ZGVyci50eHRVVAUAA5G18VR1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAARJFxGyVZzE2cAAABzAAAAMQAYAAAAAAABAAAApIEyEgEAZG9tL2h0bWwv
bGV2ZWwyL2h0bWwvSFRNTEJvZHlFbGVtZW50MDEtc3RkZXJyLnR4dFVUBQADYrXxVHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIABEkXEbJVnMTZwAAAHMAAAAxABgAAAAAAAEAAACkgQQTAQBkb20v
aHRtbC9sZXZlbDIvaHRtbC9IVE1MQm9keUVsZW1lbnQwMi1zdGRlcnIudHh0VVQFAANitfFUdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAESRcRslWcxNnAAAAcwAAADEAGAAAAAAAAQAAAKSB1hMB
AGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxCb2R5RWxlbWVudDAzLXN0ZGVyci50eHRVVAUAA2K1
8VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAARJFxGyVZzE2cAAABzAAAAMQAYAAAAAAABAAAA
pIGoFAEAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTEJvZHlFbGVtZW50MDQtc3RkZXJyLnR4dFVU
BQADYrXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABEkXEbJVnMTZwAAAHMAAAAxABgAAAAA
AAEAAACkgXoVAQBkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MQm9keUVsZW1lbnQwNS1zdGRlcnIu
dHh0VVQFAANitfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAESRcRslWcxNnAAAAcwAAADEA
GAAAAAAAAQAAAKSBTBYBAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxCb2R5RWxlbWVudDA2LXN0
ZGVyci50eHRVVAUAA2K18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAARJFxG2tTdUXIAAABV
AQAAMQAYAAAAAAABAAAApIEeFwEAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTEJvZHlFbGVtZW50
MDctc3RkZXJyLnR4dFVUBQADYrXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABEkXEba1N1R
cgAAAFUBAAAxABgAAAAAAAEAAACkgfsXAQBkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MQm9keUVs
ZW1lbnQwOC1zdGRlcnIudHh0VVQFAANitfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAESRc
RtrU3VFyAAAAVQEAADEAGAAAAAAAAQAAAKSB2BgBAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxC
b2R5RWxlbWVudDA5LXN0ZGVyci50eHRVVAUAA2K18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAARJFxG2tTdUXIAAABVAQAAMQAYAAAAAAABAAAApIG1GQEAZG9tL2h0bWwvbGV2ZWwyL2h0bWwv
SFRNTEJvZHlFbGVtZW50MTAtc3RkZXJyLnR4dFVUBQADYrXxVHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIABEkXEba1N1RcgAAAFUBAAAxABgAAAAAAAEAAACkgZIaAQBkb20vaHRtbC9sZXZlbDIv
aHRtbC9IVE1MQm9keUVsZW1lbnQxMS1zdGRlcnIudHh0VVQFAANitfFUdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAESRcRtrU3VFyAAAAVQEAADEAGAAAAAAAAQAAAKSBbxsBAGRvbS9odG1sL2xl
dmVsMi9odG1sL0hUTUxCb2R5RWxlbWVudDEyLXN0ZGVyci50eHRVVAUAA2K18VR1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAASJFxG2tTdUXIAAABVAQAALgAYAAAAAAABAAAApIFMHAEAZG9tL2h0
bWwvbGV2ZWwyL2h0bWwvSFRNTERvY3VtZW50MDEtc3RkZXJyLnR4dFVUBQADZLXxVHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIABIkXEba1N1RcgAAAFUBAAAuABgAAAAAAAEAAACkgSYdAQBkb20v
aHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQwMi1zdGRlcnIudHh0VVQFAANktfFUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAEiRcRtrU3VFyAAAAVQEAAC4AGAAAAAAAAQAAAKSBAB4BAGRv
bS9odG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDAzLXN0ZGVyci50eHRVVAUAA2S18VR1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAATJFxG2tTdUXIAAABVAQAALgAYAAAAAAABAAAApIHaHgEA
ZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTERvY3VtZW50MDQtc3RkZXJyLnR4dFVUBQADZbXxVHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABMkXEba1N1RcgAAAFUBAAAuABgAAAAAAAEAAACkgbQf
AQBkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQwNS1zdGRlcnIudHh0VVQFAANltfFU
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAEyRcRtrU3VFyAAAAVQEAAC4AGAAAAAAAAQAAAKSB
jiABAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDA3LXN0ZGVyci50eHRVVAUAA2W1
8VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAATJFxG2tTdUXIAAABVAQAALgAYAAAAAAABAAAA
pIFoIQEAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTERvY3VtZW50MDgtc3RkZXJyLnR4dFVUBQAD
ZbXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABMkXEba1N1RcgAAAFUBAAAuABgAAAAAAAEA
AACkgUIiAQBkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQwOS1zdGRlcnIudHh0VVQF
AANltfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAEyRcRtrU3VFyAAAAVQEAAC4AGAAAAAAA
AQAAAKSBHCMBAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDEwLXN0ZGVyci50eHRV
VAUAA2W18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAATJFxG2tTdUXIAAABVAQAALgAYAAAA
AAABAAAApIH2IwEAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTERvY3VtZW50MTEtc3RkZXJyLnR4
dFVUBQADZbXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABMkXEba1N1RcgAAAFUBAAAuABgA
AAAAAAEAAACkgdAkAQBkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQxMi1zdGRlcnIu
dHh0VVQFAANltfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAEyRcRtrU3VFyAAAAVQEAAC4A
GAAAAAAAAQAAAKSBqiUBAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDEzLXN0ZGVy
ci50eHRVVAUAA2W18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAATJFxG2tTdUXIAAABVAQAA
LgAYAAAAAAABAAAApIGEJgEAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTERvY3VtZW50MTQtc3Rk
ZXJyLnR4dFVUBQADZbXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABMkXEba1N1RcgAAAFUB
AAAuABgAAAAAAAEAAACkgV4nAQBkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQxNS1z
dGRlcnIudHh0VVQFAANltfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAEyRcRtrU3VFyAAAA
VQEAAC4AGAAAAAAAAQAAAKSBOCgBAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDE2
LXN0ZGVyci50eHRVVAUAA2a18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAATJFxG2tTdUXIA
AABVAQAALgAYAAAAAAABAAAApIESKQEAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTERvY3VtZW50
MTctc3RkZXJyLnR4dFVUBQADZrXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABMkXEba1N1R
cgAAAFUBAAAuABgAAAAAAAEAAACkgewpAQBkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1l
bnQxOC1zdGRlcnIudHh0VVQFAANmtfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAEyRcRtrU
3VFyAAAAVQEAAC4AGAAAAAAAAQAAAKSBxioBAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxEb2N1
bWVudDE5LXN0ZGVyci50eHRVVAUAA2a18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAATJFxG
2tTdUXIAAABVAQAALgAYAAAAAAABAAAApIGgKwEAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTERv
Y3VtZW50MjAtc3RkZXJyLnR4dFVUBQADZrXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABMk
XEba1N1RcgAAAFUBAAAuABgAAAAAAAEAAACkgXosAQBkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1M
RG9jdW1lbnQyMS1zdGRlcnIudHh0VVQFAANmtfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
EyRcRtrU3VFyAAAAVQEAAC4AGAAAAAAAAQAAAKSBVC0BAGRvbS9odG1sL2xldmVsMi9odG1sL0hU
TUxEb2N1bWVudDIyLXN0ZGVyci50eHRVVAUAA2a18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAATJFxG2tTdUXIAAABVAQAALgAYAAAAAAABAAAApIEuLgEAZG9tL2h0bWwvbGV2ZWwyL2h0bWwv
SFRNTERvY3VtZW50MjMtc3RkZXJyLnR4dFVUBQADZrXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIABQkXEba1N1RcgAAAFUBAAAuABgAAAAAAAEAAACkgQgvAQBkb20vaHRtbC9sZXZlbDIvaHRt
bC9IVE1MRG9jdW1lbnQyNC1zdGRlcnIudHh0VVQFAANntfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAFCRcRtrU3VFyAAAAVQEAAC4AGAAAAAAAAQAAAKSB4i8BAGRvbS9odG1sL2xldmVsMi9o
dG1sL0hUTUxEb2N1bWVudDI1LXN0ZGVyci50eHRVVAUAA2e18VR1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAAUJFxG2tTdUXIAAABVAQAALgAYAAAAAAABAAAApIG8MAEAZG9tL2h0bWwvbGV2ZWwy
L2h0bWwvSFRNTERvY3VtZW50MjYtc3RkZXJyLnR4dFVUBQADZ7XxVHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIABQkXEba1N1RcgAAAFUBAAAuABgAAAAAAAEAAACkgZYxAQBkb20vaHRtbC9sZXZl
bDIvaHRtbC9IVE1MRG9jdW1lbnQyNy1zdGRlcnIudHh0VVQFAANntfFUdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAGyRcRm8gWZRlAAAAcQAAADIAGAAAAAAAAQAAAKSBcDIBAGRvbS9odG1sL2xl
dmVsMi9odG1sL0hUTUxJbWFnZUVsZW1lbnQwMS1zdGRlcnIudHh0VVQFAAN1tfFUdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAGyRcRm8gWZRlAAAAcQAAADIAGAAAAAAAAQAAAKSBQTMBAGRvbS9o
dG1sL2xldmVsMi9odG1sL0hUTUxJbWFnZUVsZW1lbnQwMi1zdGRlcnIudHh0VVQFAAN1tfFUdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAGyRcRm8gWZRlAAAAcQAAADIAGAAAAAAAAQAAAKSBEjQB
AGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJbWFnZUVsZW1lbnQwMy1zdGRlcnIudHh0VVQFAAN1
tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAGyRcRm8gWZRlAAAAcQAAADIAGAAAAAAAAQAA
AKSB4zQBAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJbWFnZUVsZW1lbnQwNC1zdGRlcnIudHh0
VVQFAAN2tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAGyRcRm8gWZRlAAAAcQAAADIAGAAA
AAAAAQAAAKSBtDUBAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJbWFnZUVsZW1lbnQwNS1zdGRl
cnIudHh0VVQFAAN2tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAGyRcRm8gWZRlAAAAcQAA
ADIAGAAAAAAAAQAAAKSBhTYBAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJbWFnZUVsZW1lbnQw
Ni1zdGRlcnIudHh0VVQFAAN2tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAGyRcRm8gWZRl
AAAAcQAAADIAGAAAAAAAAQAAAKSBVjcBAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJbWFnZUVs
ZW1lbnQwNy1zdGRlcnIudHh0VVQFAAN2tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAGyRc
Rm8gWZRlAAAAcQAAADIAGAAAAAAAAQAAAKSBJzgBAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJ
bWFnZUVsZW1lbnQwOC1zdGRlcnIudHh0VVQFAAN2tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAGyRcRm8gWZRlAAAAcQAAADIAGAAAAAAAAQAAAKSB+DgBAGRvbS9odG1sL2xldmVsMi9odG1s
L0hUTUxJbWFnZUVsZW1lbnQwOS1zdGRlcnIudHh0VVQFAAN2tfFUdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAGyRcRm8gWZRlAAAAcQAAADIAGAAAAAAAAQAAAKSByTkBAGRvbS9odG1sL2xldmVs
Mi9odG1sL0hUTUxJbWFnZUVsZW1lbnQxMC1zdGRlcnIudHh0VVQFAAN2tfFUdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAGyRcRm8gWZRlAAAAcQAAADIAGAAAAAAAAQAAAKSBmjoBAGRvbS9odG1s
L2xldmVsMi9odG1sL0hUTUxJbWFnZUVsZW1lbnQxMS1zdGRlcnIudHh0VVQFAAN2tfFUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAGyRcRm8gWZRlAAAAcQAAADIAGAAAAAAAAQAAAKSBazsBAGRv
bS9odG1sL2xldmVsMi9odG1sL0hUTUxJbWFnZUVsZW1lbnQxMi1zdGRlcnIudHh0VVQFAAN2tfFU
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAGyRcRr4dJlpnAAAAdAAAADIAGAAAAAAAAQAAAKSB
PDwBAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQwMS1zdGRlcnIudHh0VVQF
AAN2tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAGyRcRr4dJlpnAAAAdAAAADIAGAAAAAAA
AQAAAKSBDz0BAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQwMi1zdGRlcnIu
dHh0VVQFAAN2tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAGyRcRr4dJlpnAAAAdAAAADIA
GAAAAAAAAQAAAKSB4j0BAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQwMy1z
dGRlcnIudHh0VVQFAAN2tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAGyRcRr4dJlpnAAAA
dAAAADIAGAAAAAAAAQAAAKSBtT4BAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1l
bnQwNC1zdGRlcnIudHh0VVQFAAN2tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAGyRcRr4d
JlpnAAAAdAAAADIAGAAAAAAAAQAAAKSBiD8BAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJbnB1
dEVsZW1lbnQwNS1zdGRlcnIudHh0VVQFAAN2tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
HCRcRr4dJlpnAAAAdAAAADIAGAAAAAAAAQAAAKSBW0ABAGRvbS9odG1sL2xldmVsMi9odG1sL0hU
TUxJbnB1dEVsZW1lbnQwNi1zdGRlcnIudHh0VVQFAAN3tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAHCRcRr4dJlpnAAAAdAAAADIAGAAAAAAAAQAAAKSBLkEBAGRvbS9odG1sL2xldmVsMi9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQwNy1zdGRlcnIudHh0VVQFAAN3tfFUdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAHCRcRr4dJlpnAAAAdAAAADIAGAAAAAAAAQAAAKSBAUIBAGRvbS9odG1sL2xl
dmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQwOC1zdGRlcnIudHh0VVQFAAN3tfFUdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAHCRcRr4dJlpnAAAAdAAAADIAGAAAAAAAAQAAAKSB1EIBAGRvbS9o
dG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQwOS1zdGRlcnIudHh0VVQFAAN3tfFUdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAHCRcRr4dJlpnAAAAdAAAADIAGAAAAAAAAQAAAKSBp0MB
AGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQxMC1zdGRlcnIudHh0VVQFAAN3
tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAHCRcRr4dJlpnAAAAdAAAADIAGAAAAAAAAQAA
AKSBekQBAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQxMS1zdGRlcnIudHh0
VVQFAAN3tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAHCRcRr4dJlpnAAAAdAAAADIAGAAA
AAAAAQAAAKSBTUUBAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQxMi1zdGRl
cnIudHh0VVQFAAN3tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAHCRcRr4dJlpnAAAAdAAA
ADIAGAAAAAAAAQAAAKSBIEYBAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQx
My1zdGRlcnIudHh0VVQFAAN3tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAHCRcRr4dJlpn
AAAAdAAAADIAGAAAAAAAAQAAAKSB80YBAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVs
ZW1lbnQxNC1zdGRlcnIudHh0VVQFAAN3tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAHCRc
Rr4dJlpnAAAAdAAAADIAGAAAAAAAAQAAAKSBxkcBAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJ
bnB1dEVsZW1lbnQxNS1zdGRlcnIudHh0VVQFAAN3tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAHCRcRr4dJlpnAAAAdAAAADIAGAAAAAAAAQAAAKSBmUgBAGRvbS9odG1sL2xldmVsMi9odG1s
L0hUTUxJbnB1dEVsZW1lbnQxNi1zdGRlcnIudHh0VVQFAAN3tfFUdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAHCRcRr4dJlpnAAAAdAAAADIAGAAAAAAAAQAAAKSBbEkBAGRvbS9odG1sL2xldmVs
Mi9odG1sL0hUTUxJbnB1dEVsZW1lbnQxNy1zdGRlcnIudHh0VVQFAAN3tfFUdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAHCRcRr4dJlpnAAAAdAAAADIAGAAAAAAAAQAAAKSBP0oBAGRvbS9odG1s
L2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQxOC1zdGRlcnIudHh0VVQFAAN3tfFUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAHCRcRr4dJlpnAAAAdAAAADIAGAAAAAAAAQAAAKSBEksBAGRv
bS9odG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQxOS1zdGRlcnIudHh0VVQFAAN3tfFU
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAHCRcRr4dJlpnAAAAdAAAADIAGAAAAAAAAQAAAKSB
5UsBAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQyMC1zdGRlcnIudHh0VVQF
AAN4tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAHCRcRr4dJlpnAAAAdAAAADIAGAAAAAAA
AQAAAKSBuEwBAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQyMS1zdGRlcnIu
dHh0VVQFAAN4tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAHCRcRr4dJlpnAAAAdAAAADIA
GAAAAAAAAQAAAKSBi00BAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQyMi1z
dGRlcnIudHh0VVQFAAN4tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAICRcRrW291ZmAAAA
cgAAADMAGAAAAAAAAQAAAKSBXk4BAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVt
ZW50MDEtc3RkZXJyLnR4dFVUBQADe7XxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACAkXEa1
tvdWZgAAAHIAAAAzABgAAAAAAAEAAACkgTFPAQBkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MT2Jq
ZWN0RWxlbWVudDAyLXN0ZGVyci50eHRVVAUAA3u18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAAgJFxGtbb3VmYAAAByAAAAMwAYAAAAAAABAAAApIEEUAEAZG9tL2h0bWwvbGV2ZWwyL2h0bWwv
SFRNTE9iamVjdEVsZW1lbnQwMy1zdGRlcnIudHh0VVQFAAN7tfFUdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAICRcRrW291ZmAAAAcgAAADMAGAAAAAAAAQAAAKSB11ABAGRvbS9odG1sL2xldmVs
Mi9odG1sL0hUTUxPYmplY3RFbGVtZW50MDQtc3RkZXJyLnR4dFVUBQADe7XxVHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIACAkXEa1tvdWZgAAAHIAAAAzABgAAAAAAAEAAACkgapRAQBkb20vaHRt
bC9sZXZlbDIvaHRtbC9IVE1MT2JqZWN0RWxlbWVudDA1LXN0ZGVyci50eHRVVAUAA3u18VR1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAAgJFxGtbb3VmYAAAByAAAAMwAYAAAAAAABAAAApIF9UgEA
ZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQwNi1zdGRlcnIudHh0VVQFAAN7
tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAICRcRrW291ZmAAAAcgAAADMAGAAAAAAAAQAA
AKSBUFMBAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MDctc3RkZXJyLnR4
dFVUBQADe7XxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACAkXEa1tvdWZgAAAHIAAAAzABgA
AAAAAAEAAACkgSNUAQBkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MT2JqZWN0RWxlbWVudDA4LXN0
ZGVyci50eHRVVAUAA3u18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAgJFxGtbb3VmYAAABy
AAAAMwAYAAAAAAABAAAApIH2VAEAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTE9iamVjdEVsZW1l
bnQwOS1zdGRlcnIudHh0VVQFAAN7tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAICRcRrW2
91ZmAAAAcgAAADMAGAAAAAAAAQAAAKSByVUBAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxPYmpl
Y3RFbGVtZW50MTAtc3RkZXJyLnR4dFVUBQADe7XxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
ACAkXEa1tvdWZgAAAHIAAAAzABgAAAAAAAEAAACkgZxWAQBkb20vaHRtbC9sZXZlbDIvaHRtbC9I
VE1MT2JqZWN0RWxlbWVudDExLXN0ZGVyci50eHRVVAUAA3u18VR1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAAgJFxGtbb3VmYAAAByAAAAMwAYAAAAAAABAAAApIFvVwEAZG9tL2h0bWwvbGV2ZWwy
L2h0bWwvSFRNTE9iamVjdEVsZW1lbnQxMi1zdGRlcnIudHh0VVQFAAN7tfFUdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAICRcRrW291ZmAAAAcgAAADMAGAAAAAAAAQAAAKSBQlgBAGRvbS9odG1s
L2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MTMtc3RkZXJyLnR4dFVUBQADfLXxVHV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIACAkXEa1tvdWZgAAAHIAAAAzABgAAAAAAAEAAACkgRVZAQBk
b20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MT2JqZWN0RWxlbWVudDE0LXN0ZGVyci50eHRVVAUAA3y1
8VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAgJFxGtbb3VmYAAAByAAAAMwAYAAAAAAABAAAA
pIHoWQEAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQxNS1zdGRlcnIudHh0
VVQFAAN8tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAICRcRrW291ZmAAAAcgAAADMAGAAA
AAAAAQAAAKSBu1oBAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MTYtc3Rk
ZXJyLnR4dFVUBQADfLXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACEkXEa1tvdWZgAAAHIA
AAAzABgAAAAAAAEAAACkgY5bAQBkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MT2JqZWN0RWxlbWVu
dDE3LXN0ZGVyci50eHRVVAUAA3218VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAhJFxGtbb3
VmYAAAByAAAAMwAYAAAAAAABAAAApIFhXAEAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTE9iamVj
dEVsZW1lbnQxOC1zdGRlcnIudHh0VVQFAAN9tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
ISRcRrW291ZmAAAAcgAAADMAGAAAAAAAAQAAAKSBNF0BAGRvbS9odG1sL2xldmVsMi9odG1sL0hU
TUxPYmplY3RFbGVtZW50MTktc3RkZXJyLnR4dFVUBQADfbXxVHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIACEkXEa1tvdWZgAAAHIAAAAzABgAAAAAAAEAAACkgQdeAQBkb20vaHRtbC9sZXZlbDIv
aHRtbC9IVE1MT2JqZWN0RWxlbWVudDIwLXN0ZGVyci50eHRVVAUAA3218VR1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAAiJFxG00HxBWkAAAB2AAAAMwAYAAAAAAABAAAApIHaXgEAZG9tL2h0bWwv
bGV2ZWwyL2h0bWwvSFRNTFNjcmlwdEVsZW1lbnQwMS1zdGRlcnIudHh0VVQFAAOAtfFUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAIiRcRtNB8QVpAAAAdgAAADMAGAAAAAAAAQAAAKSBsF8BAGRv
bS9odG1sL2xldmVsMi9odG1sL0hUTUxTY3JpcHRFbGVtZW50MDItc3RkZXJyLnR4dFVUBQADgLXx
VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACIkXEbTQfEFaQAAAHYAAAAzABgAAAAAAAEAAACk
gYZgAQBkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MU2NyaXB0RWxlbWVudDAzLXN0ZGVyci50eHRV
VAUAA4C18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAiJFxG00HxBWkAAAB2AAAAMwAYAAAA
AAABAAAApIFcYQEAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTFNjcmlwdEVsZW1lbnQwNC1zdGRl
cnIudHh0VVQFAAOAtfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAIiRcRtNB8QVpAAAAdgAA
ADMAGAAAAAAAAQAAAKSBMmIBAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxTY3JpcHRFbGVtZW50
MDUtc3RkZXJyLnR4dFVUBQADgLXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACMkXEbTQfEF
aQAAAHYAAAAzABgAAAAAAAEAAACkgQhjAQBkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MU2NyaXB0
RWxlbWVudDA2LXN0ZGVyci50eHRVVAUAA4G18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAj
JFxG00HxBWkAAAB2AAAAMwAYAAAAAAABAAAApIHeYwEAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRN
TFNjcmlwdEVsZW1lbnQwNy1zdGRlcnIudHh0VVQFAAOBtfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgALCRcRrW291ZmAAAAcgAAACgAGAAAAAAAAQAAAKSBtGQBAGRvbS9odG1sL2xldmVsMi9o
dG1sL29iamVjdDAxLXN0ZGVyci50eHRVVAUAA5S18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAAsJFxGtbb3VmYAAAByAAAAKAAYAAAAAAABAAAApIF8ZQEAZG9tL2h0bWwvbGV2ZWwyL2h0bWwv
b2JqZWN0MDItc3RkZXJyLnR4dFVUBQADlLXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACwk
XEa1tvdWZgAAAHIAAAAoABgAAAAAAAEAAACkgURmAQBkb20vaHRtbC9sZXZlbDIvaHRtbC9vYmpl
Y3QwMy1zdGRlcnIudHh0VVQFAAOUtfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgALSRcRrW2
91ZmAAAAcgAAACgAGAAAAAAAAQAAAKSBDGcBAGRvbS9odG1sL2xldmVsMi9odG1sL29iamVjdDA0
LXN0ZGVyci50eHRVVAUAA5W18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAtJFxGtbb3VmYA
AAByAAAAKAAYAAAAAAABAAAApIHUZwEAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvb2JqZWN0MDUtc3Rk
ZXJyLnR4dFVUBQADlbXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAC0kXEa1tvdWZgAAAHIA
AAAoABgAAAAAAAEAAACkgZxoAQBkb20vaHRtbC9sZXZlbDIvaHRtbC9vYmplY3QwNy1zdGRlcnIu
dHh0VVQFAAOVtfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgALSRcRrW291ZmAAAAcgAAACgA
GAAAAAAAAQAAAKSBZGkBAGRvbS9odG1sL2xldmVsMi9odG1sL29iamVjdDA4LXN0ZGVyci50eHRV
VAUAA5W18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAtJFxGtbb3VmYAAAByAAAAKAAYAAAA
AAABAAAApIEsagEAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvb2JqZWN0MDktc3RkZXJyLnR4dFVUBQAD
lbXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAC0kXEa1tvdWZgAAAHIAAAAoABgAAAAAAAEA
AACkgfRqAQBkb20vaHRtbC9sZXZlbDIvaHRtbC9vYmplY3QxMC1zdGRlcnIudHh0VVQFAAOWtfFU
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgALSRcRrW291ZmAAAAcgAAACgAGAAAAAAAAQAAAKSB
vGsBAGRvbS9odG1sL2xldmVsMi9odG1sL29iamVjdDExLXN0ZGVyci50eHRVVAUAA5a18VR1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAAtJFxGtbb3VmYAAAByAAAAKAAYAAAAAAABAAAApIGEbAEA
ZG9tL2h0bWwvbGV2ZWwyL2h0bWwvb2JqZWN0MTItc3RkZXJyLnR4dFVUBQADlrXxVHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAC0kXEa1tvdWZgAAAHIAAAAoABgAAAAAAAEAAACkgUxtAQBkb20v
aHRtbC9sZXZlbDIvaHRtbC9vYmplY3QxMy1zdGRlcnIudHh0VVQFAAOWtfFUdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgALSRcRrW291ZmAAAAcgAAACgAGAAAAAAAAQAAAKSBFG4BAGRvbS9odG1s
L2xldmVsMi9odG1sL29iamVjdDE0LXN0ZGVyci50eHRVVAUAA5a18VR1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAAtJFxGtbb3VmYAAAByAAAAKAAYAAAAAAABAAAApIHcbgEAZG9tL2h0bWwvbGV2
ZWwyL2h0bWwvb2JqZWN0MTUtc3RkZXJyLnR4dFVUBQADlrXxVHV4CwABBPUBAAAEFAAAAFBLAQIe
AwoAAAAAABIkXEYAAAAAAAAAAAAAAAAKABgAAAAAAAAAEADtQaRvAQBkb20veGh0bWwvVVQFAANj
tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAEiRcRgAAAAAAAAAAAAAAABEAGAAAAAAAAAAQ
AO1B6G8BAGRvbS94aHRtbC9sZXZlbDIvVVQFAANjtfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAA
AAAALyRcRgAAAAAAAAAAAAAAABYAGAAAAAAAAAAQAO1BM3ABAGRvbS94aHRtbC9sZXZlbDIvaHRt
bC9VVAUAA5m18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAtJFxG004a02kAAAB0AAAAJwAY
AAAAAAABAAAApIGDcAEAZG9tL3hodG1sL2xldmVsMi9odG1sL2JvZHkwMS1zdGRlcnIudHh0VVQF
AAOWtfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAEiRcRtNOGtNpAAAAdAAAADIAGAAAAAAA
AQAAAKSBTXEBAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MQm9keUVsZW1lbnQwMS1zdGRlcnIu
dHh0VVQFAANjtfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAEiRcRtNOGtNpAAAAdAAAADIA
GAAAAAAAAQAAAKSBInIBAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MQm9keUVsZW1lbnQwMi1z
dGRlcnIudHh0VVQFAANjtfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAEiRcRtNOGtNpAAAA
dAAAADIAGAAAAAAAAQAAAKSB93IBAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MQm9keUVsZW1l
bnQwMy1zdGRlcnIudHh0VVQFAANjtfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAEiRcRtNO
GtNpAAAAdAAAADIAGAAAAAAAAQAAAKSBzHMBAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MQm9k
eUVsZW1lbnQwNC1zdGRlcnIudHh0VVQFAANjtfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
EiRcRtNOGtNpAAAAdAAAADIAGAAAAAAAAQAAAKSBoXQBAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9I
VE1MQm9keUVsZW1lbnQwNS1zdGRlcnIudHh0VVQFAANktfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAEiRcRtNOGtNpAAAAdAAAADIAGAAAAAAAAQAAAKSBdnUBAGRvbS94aHRtbC9sZXZlbDIv
aHRtbC9IVE1MQm9keUVsZW1lbnQwNi1zdGRlcnIudHh0VVQFAANktfFUdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAEiRcRhDactB0AAAAWAEAADIAGAAAAAAAAQAAAKSBS3YBAGRvbS94aHRtbC9s
ZXZlbDIvaHRtbC9IVE1MQm9keUVsZW1lbnQwNy1zdGRlcnIudHh0VVQFAANktfFUdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAEiRcRhDactB0AAAAWAEAADIAGAAAAAAAAQAAAKSBK3cBAGRvbS94
aHRtbC9sZXZlbDIvaHRtbC9IVE1MQm9keUVsZW1lbnQwOC1zdGRlcnIudHh0VVQFAANktfFUdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAEiRcRhDactB0AAAAWAEAADIAGAAAAAAAAQAAAKSBC3gB
AGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MQm9keUVsZW1lbnQwOS1zdGRlcnIudHh0VVQFAANk
tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAEiRcRhDactB0AAAAWAEAADIAGAAAAAAAAQAA
AKSB63gBAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MQm9keUVsZW1lbnQxMC1zdGRlcnIudHh0
VVQFAANktfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAEiRcRhDactB0AAAAWAEAADIAGAAA
AAAAAQAAAKSBy3kBAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MQm9keUVsZW1lbnQxMS1zdGRl
cnIudHh0VVQFAANktfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAEiRcRhDactB0AAAAWAEA
ADIAGAAAAAAAAQAAAKSBq3oBAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MQm9keUVsZW1lbnQx
Mi1zdGRlcnIudHh0VVQFAANktfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAFCRcRhDactB0
AAAAWAEAAC8AGAAAAAAAAQAAAKSBi3sBAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1l
bnQwMS1zdGRlcnIudHh0VVQFAANntfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAFCRcRhDa
ctB0AAAAWAEAAC8AGAAAAAAAAQAAAKSBaHwBAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9j
dW1lbnQwMi1zdGRlcnIudHh0VVQFAANntfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAFCRc
RhDactB0AAAAWAEAAC8AGAAAAAAAAQAAAKSBRX0BAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1M
RG9jdW1lbnQwMy1zdGRlcnIudHh0VVQFAANntfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
FCRcRhDactB0AAAAWAEAAC8AGAAAAAAAAQAAAKSBIn4BAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9I
VE1MRG9jdW1lbnQwNC1zdGRlcnIudHh0VVQFAANntfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAFCRcRhDactB0AAAAWAEAAC8AGAAAAAAAAQAAAKSB/34BAGRvbS94aHRtbC9sZXZlbDIvaHRt
bC9IVE1MRG9jdW1lbnQwNS1zdGRlcnIudHh0VVQFAANntfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAFCRcRhDactB0AAAAWAEAAC8AGAAAAAAAAQAAAKSB3H8BAGRvbS94aHRtbC9sZXZlbDIv
aHRtbC9IVE1MRG9jdW1lbnQwNy1zdGRlcnIudHh0VVQFAANntfFUdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAFCRcRhDactB0AAAAWAEAAC8AGAAAAAAAAQAAAKSBuYABAGRvbS94aHRtbC9sZXZl
bDIvaHRtbC9IVE1MRG9jdW1lbnQwOC1zdGRlcnIudHh0VVQFAANntfFUdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAFCRcRhDactB0AAAAWAEAAC8AGAAAAAAAAQAAAKSBloEBAGRvbS94aHRtbC9s
ZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQwOS1zdGRlcnIudHh0VVQFAANntfFUdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAFCRcRhDactB0AAAAWAEAAC8AGAAAAAAAAQAAAKSBc4IBAGRvbS94aHRt
bC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQxMC1zdGRlcnIudHh0VVQFAANntfFUdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAFCRcRhDactB0AAAAWAEAAC8AGAAAAAAAAQAAAKSBUIMBAGRvbS94
aHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQxMS1zdGRlcnIudHh0VVQFAANotfFUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAFCRcRhDactB0AAAAWAEAAC8AGAAAAAAAAQAAAKSBLYQBAGRv
bS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQxMi1zdGRlcnIudHh0VVQFAANotfFUdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAFCRcRhDactB0AAAAWAEAAC8AGAAAAAAAAQAAAKSBCoUB
AGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQxMy1zdGRlcnIudHh0VVQFAANotfFU
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAFCRcRhDactB0AAAAWAEAAC8AGAAAAAAAAQAAAKSB
54UBAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQxNC1zdGRlcnIudHh0VVQFAANo
tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAFCRcRhDactB0AAAAWAEAAC8AGAAAAAAAAQAA
AKSBxIYBAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQxNS1zdGRlcnIudHh0VVQF
AANotfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAFCRcRhDactB0AAAAWAEAAC8AGAAAAAAA
AQAAAKSBoYcBAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQxNi1zdGRlcnIudHh0
VVQFAANotfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAFCRcRhDactB0AAAAWAEAAC8AGAAA
AAAAAQAAAKSBfogBAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQxNy1zdGRlcnIu
dHh0VVQFAANotfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAFCRcRhDactB0AAAAWAEAAC8A
GAAAAAAAAQAAAKSBW4kBAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQxOC1zdGRl
cnIudHh0VVQFAANotfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAFSRcRhDactB0AAAAWAEA
AC8AGAAAAAAAAQAAAKSBOIoBAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQxOS1z
dGRlcnIudHh0VVQFAANptfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAFSRcRhDactB0AAAA
WAEAAC8AGAAAAAAAAQAAAKSBFYsBAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQy
MC1zdGRlcnIudHh0VVQFAANptfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAFSRcRhDactB0
AAAAWAEAAC8AGAAAAAAAAQAAAKSB8osBAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1l
bnQyMS1zdGRlcnIudHh0VVQFAANptfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAFSRcRhDa
ctB0AAAAWAEAAC8AGAAAAAAAAQAAAKSBz4wBAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9j
dW1lbnQyMi1zdGRlcnIudHh0VVQFAANptfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAFSRc
RhDactB0AAAAWAEAAC8AGAAAAAAAAQAAAKSBrI0BAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1M
RG9jdW1lbnQyMy1zdGRlcnIudHh0VVQFAANptfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
FSRcRhDactB0AAAAWAEAAC8AGAAAAAAAAQAAAKSBiY4BAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9I
VE1MRG9jdW1lbnQyNC1zdGRlcnIudHh0VVQFAANptfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAFSRcRhDactB0AAAAWAEAAC8AGAAAAAAAAQAAAKSBZo8BAGRvbS94aHRtbC9sZXZlbDIvaHRt
bC9IVE1MRG9jdW1lbnQyNS1zdGRlcnIudHh0VVQFAANptfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAFSRcRhDactB0AAAAWAEAAC8AGAAAAAAAAQAAAKSBQ5ABAGRvbS94aHRtbC9sZXZlbDIv
aHRtbC9IVE1MRG9jdW1lbnQyNi1zdGRlcnIudHh0VVQFAANptfFUdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAFSRcRhDactB0AAAAWAEAAC8AGAAAAAAAAQAAAKSBIJEBAGRvbS94aHRtbC9sZXZl
bDIvaHRtbC9IVE1MRG9jdW1lbnQyNy1zdGRlcnIudHh0VVQFAANqtfFUdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAHCRcRgikGjZmAAAAcgAAADMAGAAAAAAAAQAAAKSB/ZEBAGRvbS94aHRtbC9s
ZXZlbDIvaHRtbC9IVE1MSW1hZ2VFbGVtZW50MDEtc3RkZXJyLnR4dFVUBQADd7XxVHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIABwkXEYIpBo2ZgAAAHIAAAAzABgAAAAAAAEAAACkgdCSAQBkb20v
eGh0bWwvbGV2ZWwyL2h0bWwvSFRNTEltYWdlRWxlbWVudDAyLXN0ZGVyci50eHRVVAUAA3e18VR1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAcJFxGCKQaNmYAAAByAAAAMwAYAAAAAAABAAAApIGj
kwEAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbWFnZUVsZW1lbnQwMy1zdGRlcnIudHh0VVQF
AAN3tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAHCRcRgikGjZmAAAAcgAAADMAGAAAAAAA
AQAAAKSBdpQBAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MSW1hZ2VFbGVtZW50MDQtc3RkZXJy
LnR4dFVUBQADd7XxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABwkXEYIpBo2ZgAAAHIAAAAz
ABgAAAAAAAEAAACkgUmVAQBkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTEltYWdlRWxlbWVudDA1
LXN0ZGVyci50eHRVVAUAA3e18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAcJFxGCKQaNmYA
AAByAAAAMwAYAAAAAAABAAAApIEclgEAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbWFnZUVs
ZW1lbnQwNi1zdGRlcnIudHh0VVQFAAN4tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAHCRc
RgikGjZmAAAAcgAAADMAGAAAAAAAAQAAAKSB75YBAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1M
SW1hZ2VFbGVtZW50MDctc3RkZXJyLnR4dFVUBQADeLXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIABwkXEYIpBo2ZgAAAHIAAAAzABgAAAAAAAEAAACkgcKXAQBkb20veGh0bWwvbGV2ZWwyL2h0
bWwvSFRNTEltYWdlRWxlbWVudDA4LXN0ZGVyci50eHRVVAUAA3i18VR1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAAcJFxGCKQaNmYAAAByAAAAMwAYAAAAAAABAAAApIGVmAEAZG9tL3hodG1sL2xl
dmVsMi9odG1sL0hUTUxJbWFnZUVsZW1lbnQwOS1zdGRlcnIudHh0VVQFAAN4tfFUdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAHCRcRgikGjZmAAAAcgAAADMAGAAAAAAAAQAAAKSBaJkBAGRvbS94
aHRtbC9sZXZlbDIvaHRtbC9IVE1MSW1hZ2VFbGVtZW50MTAtc3RkZXJyLnR4dFVUBQADeLXxVHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABwkXEYIpBo2ZgAAAHIAAAAzABgAAAAAAAEAAACkgTua
AQBkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTEltYWdlRWxlbWVudDExLXN0ZGVyci50eHRVVAUA
A3i18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAcJFxGCKQaNmYAAAByAAAAMwAYAAAAAAAB
AAAApIEOmwEAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbWFnZUVsZW1lbnQxMi1zdGRlcnIu
dHh0VVQFAAN4tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAHCRcRtyNhKdoAAAAdQAAADMA
GAAAAAAAAQAAAKSB4ZsBAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MSW5wdXRFbGVtZW50MDEt
c3RkZXJyLnR4dFVUBQADeLXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABwkXEbcjYSnaAAA
AHUAAAAzABgAAAAAAAEAAACkgbacAQBkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTElucHV0RWxl
bWVudDAyLXN0ZGVyci50eHRVVAUAA3i18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAcJFxG
3I2Ep2gAAAB1AAAAMwAYAAAAAAABAAAApIGLnQEAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJ
bnB1dEVsZW1lbnQwMy1zdGRlcnIudHh0VVQFAAN4tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAHCRcRtyNhKdoAAAAdQAAADMAGAAAAAAAAQAAAKSBYJ4BAGRvbS94aHRtbC9sZXZlbDIvaHRt
bC9IVE1MSW5wdXRFbGVtZW50MDQtc3RkZXJyLnR4dFVUBQADeLXxVHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIABwkXEbcjYSnaAAAAHUAAAAzABgAAAAAAAEAAACkgTWfAQBkb20veGh0bWwvbGV2
ZWwyL2h0bWwvSFRNTElucHV0RWxlbWVudDA1LXN0ZGVyci50eHRVVAUAA3i18VR1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAAcJFxG3I2Ep2gAAAB1AAAAMwAYAAAAAAABAAAApIEKoAEAZG9tL3ho
dG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQwNi1zdGRlcnIudHh0VVQFAAN4tfFUdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAHSRcRtyNhKdoAAAAdQAAADMAGAAAAAAAAQAAAKSB36AB
AGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MSW5wdXRFbGVtZW50MDctc3RkZXJyLnR4dFVUBQAD
ebXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAB0kXEbcjYSnaAAAAHUAAAAzABgAAAAAAAEA
AACkgbShAQBkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTElucHV0RWxlbWVudDA4LXN0ZGVyci50
eHRVVAUAA3m18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAdJFxG3I2Ep2gAAAB1AAAAMwAY
AAAAAAABAAAApIGJogEAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQwOS1z
dGRlcnIudHh0VVQFAAN5tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAHSRcRtyNhKdoAAAA
dQAAADMAGAAAAAAAAQAAAKSBXqMBAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MSW5wdXRFbGVt
ZW50MTAtc3RkZXJyLnR4dFVUBQADebXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAB0kXEbc
jYSnaAAAAHUAAAAzABgAAAAAAAEAAACkgTOkAQBkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTElu
cHV0RWxlbWVudDExLXN0ZGVyci50eHRVVAUAA3m18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAAdJFxG3I2Ep2gAAAB1AAAAMwAYAAAAAAABAAAApIEIpQEAZG9tL3hodG1sL2xldmVsMi9odG1s
L0hUTUxJbnB1dEVsZW1lbnQxMi1zdGRlcnIudHh0VVQFAAN5tfFUdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAHSRcRtyNhKdoAAAAdQAAADMAGAAAAAAAAQAAAKSB3aUBAGRvbS94aHRtbC9sZXZl
bDIvaHRtbC9IVE1MSW5wdXRFbGVtZW50MTMtc3RkZXJyLnR4dFVUBQADebXxVHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAB0kXEbcjYSnaAAAAHUAAAAzABgAAAAAAAEAAACkgbKmAQBkb20veGh0
bWwvbGV2ZWwyL2h0bWwvSFRNTElucHV0RWxlbWVudDE0LXN0ZGVyci50eHRVVAUAA3m18VR1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAAdJFxG3I2Ep2gAAAB1AAAAMwAYAAAAAAABAAAApIGHpwEA
ZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQxNS1zdGRlcnIudHh0VVQFAAN5
tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAHSRcRtyNhKdoAAAAdQAAADMAGAAAAAAAAQAA
AKSBXKgBAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MSW5wdXRFbGVtZW50MTYtc3RkZXJyLnR4
dFVUBQADebXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAB0kXEbcjYSnaAAAAHUAAAAzABgA
AAAAAAEAAACkgTGpAQBkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTElucHV0RWxlbWVudDE3LXN0
ZGVyci50eHRVVAUAA3q18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAdJFxG3I2Ep2gAAAB1
AAAAMwAYAAAAAAABAAAApIEGqgEAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1l
bnQxOC1zdGRlcnIudHh0VVQFAAN6tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAHSRcRtyN
hKdoAAAAdQAAADMAGAAAAAAAAQAAAKSB26oBAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MSW5w
dXRFbGVtZW50MTktc3RkZXJyLnR4dFVUBQADerXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AB0kXEbcjYSnaAAAAHUAAAAzABgAAAAAAAEAAACkgbCrAQBkb20veGh0bWwvbGV2ZWwyL2h0bWwv
SFRNTElucHV0RWxlbWVudDIwLXN0ZGVyci50eHRVVAUAA3q18VR1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAAdJFxG3I2Ep2gAAAB1AAAAMwAYAAAAAAABAAAApIGFrAEAZG9tL3hodG1sL2xldmVs
Mi9odG1sL0hUTUxJbnB1dEVsZW1lbnQyMS1zdGRlcnIudHh0VVQFAAN6tfFUdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAHSRcRtyNhKdoAAAAdQAAADMAGAAAAAAAAQAAAKSBWq0BAGRvbS94aHRt
bC9sZXZlbDIvaHRtbC9IVE1MSW5wdXRFbGVtZW50MjItc3RkZXJyLnR4dFVUBQADerXxVHV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIACEkXEbKAYOFZwAAAHMAAAA0ABgAAAAAAAEAAACkgS+uAQBk
b20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQwMS1zdGRlcnIudHh0VVQFAAN+
tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAISRcRsoBg4VnAAAAcwAAADQAGAAAAAAAAQAA
AKSBBK8BAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MT2JqZWN0RWxlbWVudDAyLXN0ZGVyci50
eHRVVAUAA3618VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAhJFxGygGDhWcAAABzAAAANAAY
AAAAAAABAAAApIHZrwEAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MDMt
c3RkZXJyLnR4dFVUBQADfrXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACEkXEbKAYOFZwAA
AHMAAAA0ABgAAAAAAAEAAACkga6wAQBkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTE9iamVjdEVs
ZW1lbnQwNC1zdGRlcnIudHh0VVQFAAN+tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAIiRc
RsoBg4VnAAAAcwAAADQAGAAAAAAAAQAAAKSBg7EBAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1M
T2JqZWN0RWxlbWVudDA1LXN0ZGVyci50eHRVVAUAA3+18VR1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAAiJFxGygGDhWcAAABzAAAANAAYAAAAAAABAAAApIFYsgEAZG9tL3hodG1sL2xldmVsMi9o
dG1sL0hUTUxPYmplY3RFbGVtZW50MDYtc3RkZXJyLnR4dFVUBQADf7XxVHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIACIkXEbKAYOFZwAAAHMAAAA0ABgAAAAAAAEAAACkgS2zAQBkb20veGh0bWwv
bGV2ZWwyL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQwNy1zdGRlcnIudHh0VVQFAAN/tfFUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAIiRcRsoBg4VnAAAAcwAAADQAGAAAAAAAAQAAAKSBArQBAGRv
bS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MT2JqZWN0RWxlbWVudDA4LXN0ZGVyci50eHRVVAUAA3+1
8VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAiJFxGygGDhWcAAABzAAAANAAYAAAAAAABAAAA
pIHXtAEAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MDktc3RkZXJyLnR4
dFVUBQADf7XxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACIkXEbKAYOFZwAAAHMAAAA0ABgA
AAAAAAEAAACkgay1AQBkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQxMC1z
dGRlcnIudHh0VVQFAAN/tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAIiRcRsoBg4VnAAAA
cwAAADQAGAAAAAAAAQAAAKSBgbYBAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MT2JqZWN0RWxl
bWVudDExLXN0ZGVyci50eHRVVAUAA3+18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAiJFxG
ygGDhWcAAABzAAAANAAYAAAAAAABAAAApIFWtwEAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxP
YmplY3RFbGVtZW50MTItc3RkZXJyLnR4dFVUBQADf7XxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIACIkXEbKAYOFZwAAAHMAAAA0ABgAAAAAAAEAAACkgSu4AQBkb20veGh0bWwvbGV2ZWwyL2h0
bWwvSFRNTE9iamVjdEVsZW1lbnQxMy1zdGRlcnIudHh0VVQFAAN/tfFUdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAIiRcRsoBg4VnAAAAcwAAADQAGAAAAAAAAQAAAKSBALkBAGRvbS94aHRtbC9s
ZXZlbDIvaHRtbC9IVE1MT2JqZWN0RWxlbWVudDE0LXN0ZGVyci50eHRVVAUAA3+18VR1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAAiJFxGygGDhWcAAABzAAAANAAYAAAAAAABAAAApIHVuQEAZG9t
L3hodG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MTUtc3RkZXJyLnR4dFVUBQADf7Xx
VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACIkXEbKAYOFZwAAAHMAAAA0ABgAAAAAAAEAAACk
gaq6AQBkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQxNi1zdGRlcnIudHh0
VVQFAAN/tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAIiRcRsoBg4VnAAAAcwAAADQAGAAA
AAAAAQAAAKSBf7sBAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MT2JqZWN0RWxlbWVudDE3LXN0
ZGVyci50eHRVVAUAA4C18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAiJFxGygGDhWcAAABz
AAAANAAYAAAAAAABAAAApIFUvAEAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVt
ZW50MTgtc3RkZXJyLnR4dFVUBQADgLXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACIkXEbK
AYOFZwAAAHMAAAA0ABgAAAAAAAEAAACkgSm9AQBkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTE9i
amVjdEVsZW1lbnQxOS1zdGRlcnIudHh0VVQFAAOAtfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAIiRcRsoBg4VnAAAAcwAAADQAGAAAAAAAAQAAAKSB/r0BAGRvbS94aHRtbC9sZXZlbDIvaHRt
bC9IVE1MT2JqZWN0RWxlbWVudDIwLXN0ZGVyci50eHRVVAUAA4C18VR1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAAkJFxGECY1omoAAAB3AAAANAAYAAAAAAABAAAApIHTvgEAZG9tL3hodG1sL2xl
dmVsMi9odG1sL0hUTUxTY3JpcHRFbGVtZW50MDEtc3RkZXJyLnR4dFVUBQADg7XxVHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIACQkXEYQJjWiagAAAHcAAAA0ABgAAAAAAAEAAACkgau/AQBkb20v
eGh0bWwvbGV2ZWwyL2h0bWwvSFRNTFNjcmlwdEVsZW1lbnQwMi1zdGRlcnIudHh0VVQFAAODtfFU
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAJCRcRhAmNaJqAAAAdwAAADQAGAAAAAAAAQAAAKSB
g8ABAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MU2NyaXB0RWxlbWVudDAzLXN0ZGVyci50eHRV
VAUAA4O18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAkJFxGECY1omoAAAB3AAAANAAYAAAA
AAABAAAApIFbwQEAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxTY3JpcHRFbGVtZW50MDQtc3Rk
ZXJyLnR4dFVUBQADg7XxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACQkXEYQJjWiagAAAHcA
AAA0ABgAAAAAAAEAAACkgTPCAQBkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTFNjcmlwdEVsZW1l
bnQwNS1zdGRlcnIudHh0VVQFAAOEtfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAJCRcRhAm
NaJqAAAAdwAAADQAGAAAAAAAAQAAAKSBC8MBAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MU2Ny
aXB0RWxlbWVudDA2LXN0ZGVyci50eHRVVAUAA4S18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAAkJFxGECY1omoAAAB3AAAANAAYAAAAAAABAAAApIHjwwEAZG9tL3hodG1sL2xldmVsMi9odG1s
L0hUTUxTY3JpcHRFbGVtZW50MDctc3RkZXJyLnR4dFVUBQADhLXxVHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAC4kXEbKAYOFZwAAAHMAAAApABgAAAAAAAEAAACkgbvEAQBkb20veGh0bWwvbGV2
ZWwyL2h0bWwvb2JqZWN0MDEtc3RkZXJyLnR4dFVUBQADmLXxVHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAC4kXEbKAYOFZwAAAHMAAAApABgAAAAAAAEAAACkgYXFAQBkb20veGh0bWwvbGV2ZWwy
L2h0bWwvb2JqZWN0MDItc3RkZXJyLnR4dFVUBQADmLXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAC4kXEbKAYOFZwAAAHMAAAApABgAAAAAAAEAAACkgU/GAQBkb20veGh0bWwvbGV2ZWwyL2h0
bWwvb2JqZWN0MDMtc3RkZXJyLnR4dFVUBQADmLXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AC4kXEbKAYOFZwAAAHMAAAApABgAAAAAAAEAAACkgRnHAQBkb20veGh0bWwvbGV2ZWwyL2h0bWwv
b2JqZWN0MDQtc3RkZXJyLnR4dFVUBQADmLXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAC4k
XEbKAYOFZwAAAHMAAAApABgAAAAAAAEAAACkgePHAQBkb20veGh0bWwvbGV2ZWwyL2h0bWwvb2Jq
ZWN0MDUtc3RkZXJyLnR4dFVUBQADmLXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAC4kXEbK
AYOFZwAAAHMAAAApABgAAAAAAAEAAACkga3IAQBkb20veGh0bWwvbGV2ZWwyL2h0bWwvb2JqZWN0
MDctc3RkZXJyLnR4dFVUBQADmLXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAC4kXEbKAYOF
ZwAAAHMAAAApABgAAAAAAAEAAACkgXfJAQBkb20veGh0bWwvbGV2ZWwyL2h0bWwvb2JqZWN0MDgt
c3RkZXJyLnR4dFVUBQADmLXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAC4kXEbKAYOFZwAA
AHMAAAApABgAAAAAAAEAAACkgUHKAQBkb20veGh0bWwvbGV2ZWwyL2h0bWwvb2JqZWN0MDktc3Rk
ZXJyLnR4dFVUBQADmLXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAC8kXEbKAYOFZwAAAHMA
AAApABgAAAAAAAEAAACkgQvLAQBkb20veGh0bWwvbGV2ZWwyL2h0bWwvb2JqZWN0MTAtc3RkZXJy
LnR4dFVUBQADmbXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAC8kXEbKAYOFZwAAAHMAAAAp
ABgAAAAAAAEAAACkgdXLAQBkb20veGh0bWwvbGV2ZWwyL2h0bWwvb2JqZWN0MTEtc3RkZXJyLnR4
dFVUBQADmbXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAC8kXEbKAYOFZwAAAHMAAAApABgA
AAAAAAEAAACkgZ/MAQBkb20veGh0bWwvbGV2ZWwyL2h0bWwvb2JqZWN0MTItc3RkZXJyLnR4dFVU
BQADmbXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAC8kXEbKAYOFZwAAAHMAAAApABgAAAAA
AAEAAACkgWnNAQBkb20veGh0bWwvbGV2ZWwyL2h0bWwvb2JqZWN0MTMtc3RkZXJyLnR4dFVUBQAD
mbXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAC8kXEbKAYOFZwAAAHMAAAApABgAAAAAAAEA
AACkgTPOAQBkb20veGh0bWwvbGV2ZWwyL2h0bWwvb2JqZWN0MTQtc3RkZXJyLnR4dFVUBQADmbXx
VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAC8kXEbKAYOFZwAAAHMAAAApABgAAAAAAAEAAACk
gf3OAQBkb20veGh0bWwvbGV2ZWwyL2h0bWwvb2JqZWN0MTUtc3RkZXJyLnR4dFVUBQADmbXxVHV4
CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAABkkXEYAAAAAAAAAAAAAAAAIABgAAAAAAAAAEADtQcfP
AQBlZGl0aW5nL1VUBQADcbXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAACIkXEYAAAAAAAAA
AAAAAAATABgAAAAAAAAAEADtQQnQAQBlZGl0aW5nL3Bhc3RlYm9hcmQvVVQFAAN/tfFUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAGSRcRvbsGklnAAAAcQAAAEQAGAAAAAAAAQAAAKSBVtABAGVk
aXRpbmcvcGFzdGVib2FyZC9pbWctc3Jjc2V0LWNvcHktcGFzdGUtY2Fub25pY2FsaXphdGlvbi1z
dGRlcnIudHh0VVQFAANxtfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAGiRcRpsJWUJYAAAA
YAAAACkAGAAAAAAAAQAAAKSBO9EBAGVkaXRpbmcvcGFzdGVib2FyZC9tZXJnZS1lbmQtMS1zdGRl
cnIudHh0VVQFAANztfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAGiRcRpsJWUJYAAAAYAAA
ACkAGAAAAAAAAQAAAKSB9tEBAGVkaXRpbmcvcGFzdGVib2FyZC9tZXJnZS1lbmQtNC1zdGRlcnIu
dHh0VVQFAANztfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAGiRcRpsJWUJYAAAAYAAAADAA
GAAAAAAAAQAAAKSBsdIBAGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1ibG9ja3F1b3RlLTEtc3Rk
ZXJyLnR4dFVUBQADdLXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAB0kXEabCVlCWAAAAGAA
AAAsABgAAAAAAAEAAACkgXPTAQBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC0wMDMtc3Rk
ZXJyLnR4dFVUBQADebXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAB0kXEabCVlCWAAAAGAA
AAAsABgAAAAAAAEAAACkgTHUAQBlZGl0aW5nL3Bhc3RlYm9hcmQvcGFzdGUtdGV4dC0wMTItc3Rk
ZXJyLnR4dFVUBQADerXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACIkXEabCVlCWAAAAGAA
AAAtABgAAAAAAAEAAACkge/UAQBlZGl0aW5nL3Bhc3RlYm9hcmQvc21hcnQtcGFzdGUtMDAzLXN0
ZGVyci50eHRVVAUAA3+18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACtJFxGWJvNA/gTAABe
gAIADQAYAAAAAAABAAAApIGu1QEAZXJyb3JfbG9nLnR4dFVUBQADhbbxVHV4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAAAAAEUkXEYAAAAAAAAAAAAAAAAFABgAAAAAAAAAEADtQe3pAQBmYXN0L1VUBQAD
wbXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAABwkXEYAAAAAAAAAAAAAAAALABgAAAAAAAAA
EADtQSzqAQBmYXN0L2Jsb2NrL1VUBQADeLXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAABwk
XEYAAAAAAAAAAAAAAAAbABgAAAAAAAAAEADtQXHqAQBmYXN0L2Jsb2NrL21hcmdpbi1jb2xsYXBz
ZS9VVAUAA3i18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAcJFxGUpdhWGwAAAB8AAAAKQAY
AAAAAAABAAAApIHG6gEAZmFzdC9ibG9jay9tYXJnaW4tY29sbGFwc2UvMTAzLXN0ZGVyci50eHRV
VAUAA3i18VR1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAgJFxGAAAAAAAAAAAAAAAAFwAYAAAA
AAAAABAA7UGV6wEAZmFzdC9ibG9jay9wb3NpdGlvbmluZy9VVAUAA3u18VR1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAAbJFxG5OMa720AAAB8AAAAJQAYAAAAAAABAAAApIHm6wEAZmFzdC9ibG9j
ay9wb3NpdGlvbmluZy8wMDEtc3RkZXJyLnR4dFVUBQADdrXxVHV4CwABBPUBAAAEFAAAAFBLAQIe
AwoAAgAAACAkXEaYnvUdNgAAADYAAAAlABgAAAAAAAEAAACkgbLsAQBmYXN0L2Jsb2NrL3Bvc2l0
aW9uaW5nLzA2MS1zdGRlcnIudHh0VVQFAAN7tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA
VCRcRgAAAAAAAAAAAAAAAAkAGAAAAAAAAAAQAO1BR+0BAGZhc3QvY3NzL1VUBQAD4LXxVHV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIACEkXEZGV5CbSwAAAFMAAAAfABgAAAAAAAEAAACkgYrtAQBm
YXN0L2Nzcy9hY2lkMi1waXhlbC1zdGRlcnIudHh0VVQFAAN9tfFUdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAISRcRkZXkJtLAAAAUwAAABkAGAAAAAAAAQAAAKSBLu4BAGZhc3QvY3NzL2FjaWQy
LXN0ZGVyci50eHRVVAUAA3218VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAApJFxG2wjTQjsA
AAA/AAAAKQAYAAAAAAABAAAApIHM7gEAZmFzdC9jc3MvY29tcGFyZS1jb250ZW50LXN0eWxlLXN0
ZGVyci50eHRVVAUAA4218VR1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAiJFxGAAAAAAAAAAAA
AAAAEgAYAAAAAAAAABAA7UFq7wEAZmFzdC9jc3MvY291bnRlcnMvVVQFAAN/tfFUdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAIiRcRjeGpO9xAAAAgwAAACsAGAAAAAAAAQAAAKSBtu8BAGZhc3Qv
Y3NzL2NvdW50ZXJzL2NvbXBsZXgtYmVmb3JlLXN0ZGVyci50eHRVVAUAA3+18VR1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAA2JFxGCAa1U2AAAABqAAAAOQAYAAAAAAABAAAApIGM8AEAZmFzdC9j
c3MvaW1hZ2Utc2V0LXZhbHVlLWNyYXNoLWluLWZpbGxJbWFnZVNldC1zdGRlcnIudHh0VVQFAAOo
tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAIyRcRgAAAAAAAAAAAAAAABQAGAAAAAAAAAAQ
AO1BX/EBAGZhc3QvY3NzL29iamVjdC1maXQvVVQFAAOBtfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAIyRcRnmJo7yZNAAAUFkAADAAGAAAAAAAAAAAAKSBrfEBAGZhc3QvY3NzL29iamVjdC1m
aXQvb2JqZWN0LWZpdC1jYW52YXMtYWN0dWFsLnBuZ1VUBQADgbXxVHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIACMkXEaBw6XJZAEAAB4JAAAuABgAAAAAAAAAAACkgbAmAgBmYXN0L2Nzcy9vYmpl
Y3QtZml0L29iamVjdC1maXQtY2FudmFzLWRpZmYucG5nVVQFAAOBtfFUdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAIyRcRg6epuaQBQAAJhIAADAAGAAAAAAAAQAAAKSBfCgCAGZhc3QvY3NzL29i
amVjdC1maXQvb2JqZWN0LWZpdC1jYW52YXMtZGlmZnMuaHRtbFVUBQADgbXxVHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIACMkXEaCxmDOuwIAAGgIAAAzABgAAAAAAAEAAACkgXYuAgBmYXN0L2Nz
cy9vYmplY3QtZml0L29iamVjdC1maXQtY2FudmFzLWV4cGVjdGVkLmh0bWxVVAUAA4G18VR1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAAjJFxGg1VetCAwAACNVAAAMgAYAAAAAAAAAAAApIGeMQIA
ZmFzdC9jc3Mvb2JqZWN0LWZpdC9vYmplY3QtZml0LWNhbnZhcy1leHBlY3RlZC5wbmdVVAUAA4G1
8VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABGJFxGn6Zyh2cAAAByAAAAOAAYAAAAAAABAAAA
pIEqYgIAZmFzdC9jc3MvcGFyc2UtYm9yZGVyLWltYWdlLXJlcGVhdC1udWxsLWNyYXNoLXN0ZGVy
ci50eHRVVAUAA8O18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABUJFxGYxpUcW0AAADdAAAA
LAAYAAAAAAABAAAApIEDYwIAZmFzdC9jc3Mvc3F1YXJlLWJ1dHRvbi1hcHBlYXJhbmNlLXN0ZGVy
ci50eHRVVAUAA+C18VR1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAkJFxGAAAAAAAAAAAAAAAA
DwAYAAAAAAAAABAA7UHWYwIAZmFzdC9jc3MzLXRleHQvVVQFAAOEtfFUdXgLAAEE9QEAAAQUAAAA
UEsBAh4DCgAAAAAAJCRcRgAAAAAAAAAAAAAAACQAGAAAAAAAAAAQAO1BH2QCAGZhc3QvY3NzMy10
ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uL1VUBQADg7XxVHV4CwABBPUBAAAEFAAAAFBLAQIeAwoA
AAAAACQkXEYAAAAAAAAAAAAAAAAsABgAAAAAAAAAEADtQX1kAgBmYXN0L2NzczMtdGV4dC9jc3Mz
LXRleHQtZGVjb3JhdGlvbi9yZXBhaW50L1VUBQADg7XxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIACQkXEYNH+FzbAAAAHwAAABUABgAAAAAAAEAAACkgeNkAgBmYXN0L2NzczMtdGV4dC9jc3Mz
LXRleHQtZGVjb3JhdGlvbi9yZXBhaW50L3JlcGFpbnQtdGV4dC1kZWNvcmF0aW9uLWNvbG9yLXN0
ZGVyci50eHRVVAUAA4O18VR1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAkJFxGAAAAAAAAAAAA
AAAALAAYAAAAAAAAABAA7UHdZQIAZmFzdC9jc3MzLXRleHQvY3NzMy13b3JkLXNwYWNpbmctcGVy
Y2VudGFnZS9VVAUAA4S18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAkJFxGcts/nWMAAABv
AAAAVAAYAAAAAAABAAAApIFDZgIAZmFzdC9jc3MzLXRleHQvY3NzMy13b3JkLXNwYWNpbmctcGVy
Y2VudGFnZS93b3JkLXNwYWNpbmctcGVyY2VudGFnZS1wYXJzZS1zdGRlcnIudHh0VVQFAAOEtfFU
dXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAOCRcRgAAAAAAAAAAAAAAAAkAGAAAAAAAAAAQAO1B
NGcCAGZhc3QvZG9tL1VUBQADrLXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACwkXEZ+Kuym
UQAAAFYAAAA0ABgAAAAAAAEAAACkgXdnAgBmYXN0L2RvbS9lbGVtZW50RnJvbVBvaW50LXNjYWxl
ZC1zY3JvbGxlZC1zdGRlcnIudHh0VVQFAAOUtfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA
JyRcRgAAAAAAAAAAAAAAABoAGAAAAAAAAAAQAO1BNmgCAGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1l
bnQvVVQFAAOJtfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAJyRcRqxVIVpCAAAARAAAADsA
GAAAAAAAAQAAAKSBimgCAGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvaW1hZ2Utc3JjLWFic29s
dXRlLXVybC1zdGRlcnIudHh0VVQFAAOJtfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAKCRc
RgAAAAAAAAAAAAAAABsAGAAAAAAAAAAQAO1BQWkCAGZhc3QvZG9tL0hUTUxTZWxlY3RFbGVtZW50
L1VUBQADi7XxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACgkXEb79WrfYwAAAG4AAAA+ABgA
AAAAAAEAAACkgZZpAgBmYXN0L2RvbS9IVE1MU2VsZWN0RWxlbWVudC9jbGljay1zaXplLXplcm8t
bm8tY3Jhc2gtc3RkZXJyLnR4dFVUBQADi7XxVHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAACgk
XEYAAAAAAAAAAAAAAAAaABgAAAAAAAAAEADtQXFqAgBmYXN0L2RvbS9IVE1MU3R5bGVFbGVtZW50
L1VUBQADi7XxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACgkXEaN18Z2eQAAAJAAAABUABgA
AAAAAAEAAACkgcVqAgBmYXN0L2RvbS9IVE1MU3R5bGVFbGVtZW50L3Byb2dyYW1tYXRpY2FsbHkt
YWRkLXN0eWxlLXdpdGgtb25lcnJvci1oYW5kbGVyLXN0ZGVyci50eHRVVAUAA4u18VR1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAAoJFxGjdfGdnkAAACQAAAAMgAYAAAAAAABAAAApIHMawIAZmFz
dC9kb20vSFRNTFN0eWxlRWxlbWVudC9zdHlsZS1vbmVycm9yLXN0ZGVyci50eHRVVAUAA4u18VR1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAoJFxGjdfGdnkAAACQAAAAWAAYAAAAAAABAAAApIGx
bAIAZmFzdC9kb20vSFRNTFN0eWxlRWxlbWVudC9zdHlsZS1vbmVycm9yLXdpdGgtZXhpc3RlbnQt
YW5kLW5vbi1leGlzdGVudC1pbXBvcnQtc3RkZXJyLnR4dFVUBQADi7XxVHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIADgkXEbmvegc4gAAAE4DAAAyABgAAAAAAAEAAACkgbxtAgBmYXN0L2RvbS9v
YmplY3QtcGx1Z2luLWhpZGVzLXByb3BlcnRpZXMtc3RkZXJyLnR4dFVUBQADrLXxVHV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAAAAAC4kXEYAAAAAAAAAAAAAAAAOABgAAAAAAAAAEADtQQpvAgBmYXN0
L2VuY29kaW5nL1VUBQADl7XxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAC4kXEYggw8FvwAA
AGEFAAAqABgAAAAAAAEAAACkgVJvAgBmYXN0L2VuY29kaW5nL3V0Zi0xNi1iaWctZW5kaWFuLXN0
ZGVyci50eHRVVAUAA5e18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAuJFxGIIMPBb8AAABh
BQAALQAYAAAAAAABAAAApIF1cAIAZmFzdC9lbmNvZGluZy91dGYtMTYtbGl0dGxlLWVuZGlhbi1z
dGRlcnIudHh0VVQFAAOXtfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAQSRcRgAAAAAAAAAA
AAAAAAwAGAAAAAAAAAAQAO1Bm3ECAGZhc3QvZXZlbnRzL1VUBQADubXxVHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIADEkXEZYKmd1OQAAAEMAAAAyABgAAAAAAAEAAACkgeFxAgBmYXN0L2V2ZW50
cy9kaXNwbGF5LW5vbmUtb24tZm9jdXMtY3Jhc2gtc3RkZXJyLnR4dFVUBQADnbXxVHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIADckXEYwtW3jOQAAAEMAAAArABgAAAAAAAEAAACkgYZyAgBmYXN0
L2V2ZW50cy9tb3VzZS1mb2N1cy1pbWFnZW1hcC1zdGRlcnIudHh0VVQFAAOqtfFUdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAOCRcRueuvV87AAAAQwAAAC8AGAAAAAAAAQAAAKSBJHMCAGZhc3Qv
ZXZlbnRzL21vdXNldXAtb3V0c2lkZS1kb2N1bWVudC1zdGRlcnIudHh0VVQFAAOstfFUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAQSRcRvfai7FrAAAAgwAAADUAGAAAAAAAAQAAAKSByHMCAGZh
c3QvZXZlbnRzL3BvcHVwLWJsb2NraW5nLWNsaWNrLWluLWlmcmFtZS1zdGRlcnIudHh0VVQFAAO5
tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAKyRcRgAAAAAAAAAAAAAAAAsAGAAAAAAAAAAQ
AO1BonQCAGZhc3QvZm9ybXMvVVQFAAORtfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAKiRc
Rjac5kFtAAAAfgAAABkAGAAAAAAAAQAAAKSB53QCAGZhc3QvZm9ybXMvMDAyLXN0ZGVyci50eHRV
VAUAA5C18VR1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAArJFxGAAAAAAAAAAAAAAAAEgAYAAAA
AAAAABAA7UGndQIAZmFzdC9mb3Jtcy9sZWdlbmQvVVQFAAORtfFUdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAKyRcRnLbP51jAAAAbwAAACgAGAAAAAAAAQAAAKSB83UCAGZhc3QvZm9ybXMvbGVn
ZW5kL2xlZ2VuZC1mb3JtLXN0ZGVyci50eHRVVAUAA5G18VR1eAsAAQT1AQAABBQAAABQSwECHgMK
AAAAAAAxJFxGAAAAAAAAAAAAAAAADAAYAAAAAAAAABAA7UG4dgIAZmFzdC9mcmFtZXMvVVQFAAOe
tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAMSRcRtsI00I7AAAAPwAAAC8AGAAAAAAAAQAA
AKSB/nYCAGZhc3QvZnJhbWVzL2ZyYW1lLWRpc3BsYXktbm9uZS1mb2N1cy1zdGRlcnIudHh0VVQF
AAOetfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAMCRcRgAAAAAAAAAAAAAAAAsAGAAAAAAA
AAAQAO1BoncCAGZhc3QvaGlkcGkvVVQFAAOctfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
MCRcRrfnDVdkAAAAcQAAAD0AGAAAAAAAAQAAAKSB53cCAGZhc3QvaGlkcGkvaW1hZ2Utc3Jjc2V0
LWRhdGEtc3Jjc2V0LWludmFsaWQtaW5wdXRzLXN0ZGVyci50eHRVVAUAA5u18VR1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAAwJFxGt+cNV2QAAABxAAAAOwAYAAAAAAABAAAApIHCeAIAZmFzdC9o
aWRwaS9pbWFnZS1zcmNzZXQtZGF0YS1zcmNzZXQtdmFsaWQtaW5wdXRzLXN0ZGVyci50eHRVVAUA
A5y18VR1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAA3JFxGAAAAAAAAAAAAAAAADAAYAAAAAAAA
ABAA7UGbeQIAZmFzdC9pbWFnZXMvVVQFAAOptfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
NyRcRiGPvTgyAAAAMwAAACwAGAAAAAAAAQAAAKSB4XkCAGZhc3QvaW1hZ2VzL3BkZi1hcy1pbWFn
ZS1jcm9wLWJveC1zdGRlcnIudHh0VVQFAAOptfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA
OiRcRgAAAAAAAAAAAAAAAAwAGAAAAAAAAAAQAO1BeXoCAGZhc3QvbG9hZGVyL1VUBQADr7XxVHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADIkXEbbCNNCOwAAAD8AAABSABgAAAAAAAEAAACkgb96
AgBmYXN0L2xvYWRlci9kaXNwbGF5LWltYWdlLXVuc2V0LWNhbi1ibG9jay1pbWFnZS1hbmQtY2Fu
LXJlbG9hZC1pbi1wbGFjZS1zdGRlcnIudHh0VVQFAAOftfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAMyRcRtsI00I7AAAAPwAAAFMAGAAAAAAAAQAAAKSBhnsCAGZhc3QvbG9hZGVyL2ltYWdl
cy1lbmFibGVkLXVuc2V0LWNhbi1ibG9jay1pbWFnZS1hbmQtY2FuLXJlbG9hZC1pbi1wbGFjZS1z
dGRlcnIudHh0VVQFAAOitfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgANiRcRrxTiH1aAAAA
ZwAAACsAGAAAAAAAAQAAAKSBTnwCAGZhc3QvbG9hZGVyL2xvY2FsLUNTUy1mcm9tLWxvY2FsLXN0
ZGVyci50eHRVVAUAA6i18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAA3JFxGiIIVUV0AAABp
AAAANQAYAAAAAAABAAAApIENfQIAZmFzdC9sb2FkZXIvbG9jYWwtaUZyYW1lLXNvdXJjZS1mcm9t
LWxvY2FsLXN0ZGVyci50eHRVVAUAA6m18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAA3JFxG
z045PVoAAABmAAAALQAYAAAAAAABAAAApIHZfQIAZmFzdC9sb2FkZXIvbG9jYWwtaW1hZ2UtZnJv
bS1sb2NhbC1zdGRlcnIudHh0VVQFAAOptfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgANiRc
RlF9CoJcAAAAaQAAADIAGAAAAAAAAQAAAKSBmn4CAGZhc3QvbG9hZGVyL2xvY2FsLUphdmFTY3Jp
cHQtZnJvbS1sb2NhbC1zdGRlcnIudHh0VVQFAAOotfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAOiRcRtsI00I7AAAAPwAAAC0AGAAAAAAAAQAAAKSBYn8CAGZhc3QvbG9hZGVyL3JlbG9hZC1w
b2xpY3ktZGVsZWdhdGUtc3RkZXJyLnR4dFVUBQADr7XxVHV4CwABBPUBAAAEFAAAAFBLAQIeAwoA
AAAAADgkXEYAAAAAAAAAAAAAAAAMABgAAAAAAAAAEADtQQSAAgBmYXN0L3BhcnNlci9VVAUAA6y1
8VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAA4JFxGQFkIiGIAAABrAAAAKAAYAAAAAAABAAAA
pIFKgAIAZmFzdC9wYXJzZXIvZW50aXRpZXMtaW4teGh0bWwtc3RkZXJyLnR4dFVUBQADrLXxVHV4
CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAADYkXEYAAAAAAAAAAAAAAAAPABgAAAAAAAAAEADtQQ6B
AgBmYXN0L3ByZWxvYWRlci9VVAUAA6i18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAA2JFxG
BjXhM2sAAACDAAAALQAYAAAAAAABAAAApIFXgQIAZmFzdC9wcmVsb2FkZXIvZmlyc3QtYmFzZS10
YWctd2lucy1zdGRlcnIudHh0VVQFAAOotfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAPCRc
RgAAAAAAAAAAAAAAAA0AGAAAAAAAAAAQAO1BKYICAGZhc3QvcmVnaW9ucy9VVAUAA7O18VR1eAsA
AQT1AQAABBQAAABQSwECHgMKAAAAAAA7JFxGAAAAAAAAAAAAAAAAHAAYAAAAAAAAABAA7UFwggIA
ZmFzdC9yZWdpb25zL3JlZ2lvbi1zdHlsaW5nL1VUBQADsbXxVHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIADokXEY6jsPLYAAAAGgAAABKABgAAAAAAAEAAACkgcaCAgBmYXN0L3JlZ2lvbnMvcmVn
aW9uLXN0eWxpbmcvcmVnaW9uLXN0eWxlLWltYWdlLWJhY2tncm91bmQtY29sb3Itc3RkZXJyLnR4
dFVUBQADsLXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADokXEY6jsPLYAAAAGgAAABLABgA
AAAAAAEAAACkgaqDAgBmYXN0L3JlZ2lvbnMvcmVnaW9uLXN0eWxpbmcvcmVnaW9uLXN0eWxlLWlu
bGluZS1iYWNrZ3JvdW5kLWNvbG9yLXN0ZGVyci50eHRVVAUAA7C18VR1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAA7JFxGOo7Dy2AAAABoAAAARgAYAAAAAAABAAAApIGPhAIAZmFzdC9yZWdpb25z
L3JlZ2lvbi1zdHlsaW5nL3JlbmRlci1yZWdpb24tY3VzdG9tLXN0eWxlLW1hcmstc3RkZXJyLnR4
dFVUBQADsbXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAADwkXEYAAAAAAAAAAAAAAAAXABgA
AAAAAAAAEADtQW+FAgBmYXN0L3JlZ2lvbnMvc2Nyb2xsaW5nL1VUBQADtLXxVHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIADwkXEY5AcvdQAAAAHoAAAA1ABgAAAAAAAEAAACkgcCFAgBmYXN0L3Jl
Z2lvbnMvc2Nyb2xsaW5nL3doZWVsLXNjcm9sbC1hYnNwb3Mtc3RkZXJyLnR4dFVUBQADs7XxVHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADwkXEY5AcvdQAAAAHoAAAAuABgAAAAAAAEAAACkgW+G
AgBmYXN0L3JlZ2lvbnMvc2Nyb2xsaW5nL3doZWVsLXNjcm9sbC1zdGRlcnIudHh0VVQFAAOztfFU
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAPCRcRuSKx0M8AAAAPQAAAEAAGAAAAAAAAQAAAKSB
F4cCAGZhc3QvcmVnaW9ucy9zY3JvbGxpbmcvd2hlZWwtc2Nyb2xsYWJsZS1zaW5nbGUtcmVnaW9u
LXN0ZGVyci50eHRVVAUAA7S18VR1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAA9JFxGAAAAAAAA
AAAAAAAADwAYAAAAAAAAABAA7UHNhwIAZmFzdC9zdWItcGl4ZWwvVVQFAAO1tfFUdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAPSRcRkM/qXFXAAAAXgAAAEYAGAAAAAAAAQAAAKSBFogCAGZhc3Qv
c3ViLXBpeGVsL2Jsb2NrLXByZWZlcnJlZC13aWR0aHMtd2l0aC1zdWItcGl4ZWwtZmxvYXRzLXN0
ZGVyci50eHRVVAUAA7W18VR1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAA9JFxGAAAAAAAAAAAA
AAAACwAYAAAAAAAAABAA7UHtiAIAZmFzdC90YWJsZS9VVAUAA7a18VR1eAsAAQT1AQAABBQAAABQ
SwECHgMKAAIAAAA9JFxG7R3y4TkAAAA5AAAAGQAYAAAAAAABAAAApIEyiQIAZmFzdC90YWJsZS8w
MDctc3RkZXJyLnR4dFVUBQADtrXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAD0kXEZHfMAX
fAAAAPIAAAAZABgAAAAAAAEAAACkgb6JAgBmYXN0L3RhYmxlLzAwOC1zdGRlcnIudHh0VVQFAAO2
tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAQiRcRgAAAAAAAAAAAAAAAAoAGAAAAAAAAAAQ
AO1BjYoCAGZhc3QvdGV4dC9VVAUAA7y18VR1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABCJFxG
AAAAAAAAAAAAAAAAFQAYAAAAAAAAABAA7UHRigIAZmFzdC90ZXh0L3doaXRlc3BhY2UvVVQFAAO8
tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAQiRcRoO3/MyQAAAAAAIAADwAGAAAAAAAAQAA
AKSBIIsCAGZhc3QvdGV4dC93aGl0ZXNwYWNlL25vcm1hbC1hZnRlci1ub3dyYXAtYnJlYWtpbmct
c3RkZXJyLnR4dFVUBQADvLXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAEYkXEYAAAAAAAAA
AAAAAAAJABgAAAAAAAAAEADtQSaMAgBmYXN0L3hzbC9VVAUAA8O18VR1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACABFJFxGcv1l8oUAAADpAAAAJQAYAAAAAAABAAAApIFpjAIAZmFzdC94c2wvdHJh
bnNmb3JtLXhoci1kb2Mtc3RkZXJyLnR4dFVUBQADwbXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAEUkXEYFj1WOkwAAANACAAAnABgAAAAAAAEAAACkgU2NAgBmYXN0L3hzbC94c2x0LWJhZC1p
bXBvcnQtdXJpLXN0ZGVyci50eHRVVAUAA8G18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABF
JFxGz49mDlAAAACgAAAAJAAYAAAAAAABAAAApIFBjgIAZmFzdC94c2wveHNsdC1jb250ZW50VHlw
ZS1zdGRlcnIudHh0VVQFAAPBtfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgARiRcRoFKd61L
AAAArAAAADQAGAAAAAAAAQAAAKSB744CAGZhc3QveHNsL3hzbHQtdHJhbnNmb3JtLXRvLWZyYWdt
ZW50LWNyYXNoLXN0ZGVyci50eHRVVAUAA8O18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACx
JFxGvK9k+qEBAADEAgAAEQAYAAAAAAABAAAApIGojwIAZnVsbF9yZXN1bHRzLmpzb25VVAUAA422
8VR1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABOJFxGAAAAAAAAAAAAAAAABQAYAAAAAAAAABAA
7UGUkQIAaHR0cC9VVAUAA9S18VR1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABoJFxGAAAAAAAA
AAAAAAAACwAYAAAAAAAAABAA7UHTkQIAaHR0cC90ZXN0cy9VVAUAAwS28VR1eAsAAQT1AQAABBQA
AABQSwECHgMKAAAAAABoJFxGAAAAAAAAAAAAAAAAEAAYAAAAAAAAABAA7UEYkgIAaHR0cC90ZXN0
cy9taXNjL1VUBQADBLbxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAGgkXEYVNTWSegAAALwA
AAAqABgAAAAAAAEAAACkgWKSAgBodHRwL3Rlc3RzL21pc2MveHNsdC1iYWQtaW1wb3J0LXN0ZGVy
ci50eHRVVAUAAwS28VR1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABOJFxGAAAAAAAAAAAAAAAA
FgAYAAAAAAAAABAA7UFAkwIAaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL1VUBQAD1LXxVHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAE4kXEbbCNNCOwAAAD8AAAA3ABgAAAAAAAEAAACkgZCTAgBodHRw
L3Rlc3RzL25hdmlnYXRpb24vZmFsbGJhY2stYW5jaG9yLXJlbG9hZC1zdGRlcnIudHh0VVQFAAPU
tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAYiRcRgAAAAAAAAAAAAAAABQAGAAAAAAAAAAQ
AO1BPJQCAGh0dHAvdGVzdHMvc2VjdXJpdHkvVVQFAAP4tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4D
CgAAAAAAWiRcRgAAAAAAAAAAAAAAACoAGAAAAAAAAAAQAO1BipQCAGh0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5L1VUBQAD7LXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAFokXEZjqqxsggAAAKgAAABAABgAAAAAAAEAAACkge6UAgBodHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS94c2wtYWxsb3dlZC1zdGRlcnIudHh0VVQFAAPstfFUdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAWiRcRmOqrGyCAAAAqAAAAFIAGAAAAAAAAQAAAKSB6pUC
AGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3hzbC11bmFmZmVjdGVk
LWJ5LXN0eWxlLXNyYy0yLXN0ZGVyci50eHRVVAUAA+y18VR1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACABiJFxGYEtmEJEAAAD7AQAARQAYAAAAAAABAAAApIH4lgIAaHR0cC90ZXN0cy9zZWN1cml0
eS94c3MtREVOSUVELXhzbC1kb2N1bWVudC1zZWN1cml0eU9yaWdpbi1zdGRlcnIudHh0VVQFAAP4
tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAAyRcRuqKfEJhBQAABQ8AAAoAGAAAAAAAAQAA
AKSBCJgCAGh0dHBkLmNvbmZVVAUAA0W18VR1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABZJFxG
AAAAAAAAAAAAAAAACQAYAAAAAAAAABAA7UGtnQIAaW1wb3J0ZWQvVVQFAAPqtfFUdXgLAAEE9QEA
AAQUAAAAUEsBAh4DCgAAAAAAdSRcRgAAAAAAAAAAAAAAAA0AGAAAAAAAAAAQAO1B8J0CAGltcG9y
dGVkL3czYy9VVAUAAx228VR1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAB1JFxGAAAAAAAAAAAA
AAAAFAAYAAAAAAAAABAA7UE3ngIAaW1wb3J0ZWQvdzNjL2NhbnZhcy9VVAUAAx228VR1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAB1JFxGQDvcvGYAAAByAAAAOgAYAAAAAAABAAAApIGFngIAaW1w
b3J0ZWQvdzNjL2NhbnZhcy8yZC50ZXh0Lm1lYXN1cmUud2lkdGguZW1wdHktc3RkZXJyLnR4dFVU
BQADHbbxVHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAFkkXEYAAAAAAAAAAAAAAAAcABgAAAAA
AAAAEADtQV+fAgBpbXBvcnRlZC93M2MvaHRtbC10ZW1wbGF0ZXMvVVQFAAPqtfFUdXgLAAEE9QEA
AAQUAAAAUEsBAh4DCgAAAAAAWSRcRgAAAAAAAAAAAAAAADMAGAAAAAAAAAAQAO1BtZ8CAGltcG9y
dGVkL3czYy9odG1sLXRlbXBsYXRlcy9wYXJzaW5nLWh0bWwtdGVtcGxhdGVzL1VUBQAD6rXxVHV4
CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAFkkXEYAAAAAAAAAAAAAAABRABgAAAAAAAAAEADtQSKg
AgBpbXBvcnRlZC93M2MvaHRtbC10ZW1wbGF0ZXMvcGFyc2luZy1odG1sLXRlbXBsYXRlcy9hZGRp
dGlvbnMtdG8tZm9zdGVyLXBhcmVudGluZy9VVAUAA+q18VR1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACABZJFxGW1xMXkEAAABGAAAAgwAYAAAAAAABAAAApIGtoAIAaW1wb3J0ZWQvdzNjL2h0bWwt
dGVtcGxhdGVzL3BhcnNpbmctaHRtbC10ZW1wbGF0ZXMvYWRkaXRpb25zLXRvLWZvc3Rlci1wYXJl
bnRpbmcvdGVtcGxhdGUtaXMtbm90LWEtZm9zdGVyLXBhcmVudC1lbGVtZW50LXN0ZGVyci50eHRV
VAUAA+q18VR1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABgJFxGAAAAAAAAAAAAAAAABwAYAAAA
AAAAABAA7UGroQIAanF1ZXJ5L1VUBQAD9LXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAGAk
XEZJZP94aQAAAOAAAAAYABgAAAAAAAEAAACkgeyhAgBqcXVlcnkvb2Zmc2V0LXN0ZGVyci50eHRV
VAUAA/S18VR1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACGJFxGAAAAAAAAAAAAAAAABgAYAAAA
AAAAABAA7UGnogIAbWVkaWEvVVQFAAM8tvFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAhyRc
RgAAAAAAAAAAAAAAAAwAGAAAAAAAAAAQAO1B56ICAG1lZGlhL3RyYWNrL1VUBQADPbbxVHV4CwAB
BPUBAAAEFAAAAFBLAQIeAwoAAgAAAIYkXEb+JzjgNQAAADUAAAA0ABgAAAAAAAEAAACkgS2jAgBt
ZWRpYS90cmFjay90cmFjay1pbi1iYW5kLWN1ZXMtYWRkZWQtb25jZS1hY3R1YWwudHh0VVQFAAM8
tvFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAhiRcRgTydyiSAQAAgAMAADIAGAAAAAAAAQAA
AKSB0KMCAG1lZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQtY3Vlcy1hZGRlZC1vbmNlLWRpZmYudHh0
VVQFAAM8tvFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAhiRcRsjNeVj/AAAAKgIAADYAGAAA
AAAAAQAAAKSBzqUCAG1lZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQtY3Vlcy1hZGRlZC1vbmNlLWV4
cGVjdGVkLnR4dFVUBQADPLbxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIckXEYHbgq53QgA
AN0oAAA6ABgAAAAAAAEAAACkgT2nAgBtZWRpYS90cmFjay90cmFjay1pbi1iYW5kLWN1ZXMtYWRk
ZWQtb25jZS1wcmV0dHktZGlmZi5odG1sVVQFAAM9tvFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAA
AAAAYyRcRgAAAAAAAAAAAAAAAAoAGAAAAAAAAAAQAO1BjrACAG1lZGlhL1czQy9VVAUAA/q18VR1
eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABjJFxGAAAAAAAAAAAAAAAAEAAYAAAAAAAAABAA7UHS
sAIAbWVkaWEvVzNDL2F1ZGlvL1VUBQAD+rXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAGYk
XEYAAAAAAAAAAAAAAAAXABgAAAAAAAAAEADtQRyxAgBtZWRpYS9XM0MvYXVkaW8vZXZlbnRzL1VU
BQAD/7XxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAGMkXEb4BP1wYwAAAHAAAAAvABgAAAAA
AAEAAACkgW2xAgBtZWRpYS9XM0MvYXVkaW8vZXZlbnRzL2V2ZW50X2NhbnBsYXktc3RkZXJyLnR4
dFVUBQAD+rXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAGQkXEb4BP1wYwAAAHAAAAA2ABgA
AAAAAAEAAACkgTmyAgBtZWRpYS9XM0MvYXVkaW8vZXZlbnRzL2V2ZW50X2NhbnBsYXlfbWFudWFs
LXN0ZGVyci50eHRVVAUAA/u18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABkJFxG+AT9cGMA
AABwAAAANgAYAAAAAAABAAAApIEMswIAbWVkaWEvVzNDL2F1ZGlvL2V2ZW50cy9ldmVudF9jYW5w
bGF5dGhyb3VnaC1zdGRlcnIudHh0VVQFAAP7tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
ZCRcRvgE/XBjAAAAcAAAAD0AGAAAAAAAAQAAAKSB37MCAG1lZGlhL1czQy9hdWRpby9ldmVudHMv
ZXZlbnRfY2FucGxheXRocm91Z2hfbWFudWFsLXN0ZGVyci50eHRVVAUAA/u18VR1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACABkJFxG+AT9cGMAAABwAAAAMgAYAAAAAAABAAAApIG5tAIAbWVkaWEv
VzNDL2F1ZGlvL2V2ZW50cy9ldmVudF9sb2FkZWRkYXRhLXN0ZGVyci50eHRVVAUAA/u18VR1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACABkJFxG+AT9cGMAAABwAAAAOQAYAAAAAAABAAAApIGItQIA
bWVkaWEvVzNDL2F1ZGlvL2V2ZW50cy9ldmVudF9sb2FkZWRkYXRhX21hbnVhbC1zdGRlcnIudHh0
VVQFAAP7tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAZCRcRvgE/XBjAAAAcAAAADYAGAAA
AAAAAQAAAKSBXrYCAG1lZGlhL1czQy9hdWRpby9ldmVudHMvZXZlbnRfbG9hZGVkbWV0YWRhdGEt
c3RkZXJyLnR4dFVUBQAD/LXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAGQkXEb4BP1wYwAA
AHAAAAA9ABgAAAAAAAEAAACkgTG3AgBtZWRpYS9XM0MvYXVkaW8vZXZlbnRzL2V2ZW50X2xvYWRl
ZG1ldGFkYXRhX21hbnVhbC1zdGRlcnIudHh0VVQFAAP8tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAZCRcRvgE/XBjAAAAcAAAADEAGAAAAAAAAQAAAKSBC7gCAG1lZGlhL1czQy9hdWRpby9l
dmVudHMvZXZlbnRfbG9hZHN0YXJ0LXN0ZGVyci50eHRVVAUAA/y18VR1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACABkJFxG+AT9cGMAAABwAAAAOAAYAAAAAAABAAAApIHZuAIAbWVkaWEvVzNDL2F1
ZGlvL2V2ZW50cy9ldmVudF9sb2Fkc3RhcnRfbWFudWFsLXN0ZGVyci50eHRVVAUAA/y18VR1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACABkJFxG+AT9cGMAAABwAAAARAAYAAAAAAABAAAApIGuuQIA
bWVkaWEvVzNDL2F1ZGlvL2V2ZW50cy9ldmVudF9vcmRlcl9jYW5wbGF5X2NhbnBsYXl0aHJvdWdo
LXN0ZGVyci50eHRVVAUAA/y18VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABkJFxG+AT9cGMA
AABwAAAAPQAYAAAAAAABAAAApIGPugIAbWVkaWEvVzNDL2F1ZGlvL2V2ZW50cy9ldmVudF9vcmRl
cl9jYW5wbGF5X3BsYXlpbmctc3RkZXJyLnR4dFVUBQAD/LXxVHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAGUkXEb4BP1wYwAAAHAAAABHABgAAAAAAAEAAACkgWm7AgBtZWRpYS9XM0MvYXVkaW8v
ZXZlbnRzL2V2ZW50X29yZGVyX2xvYWRlZG1ldGFkYXRhX2xvYWRlZGRhdGEtc3RkZXJyLnR4dFVU
BQAD/bXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAGUkXEb4BP1wYwAAAHAAAABAABgAAAAA
AAEAAACkgU28AgBtZWRpYS9XM0MvYXVkaW8vZXZlbnRzL2V2ZW50X29yZGVyX2xvYWRzdGFydF9w
cm9ncmVzcy1zdGRlcnIudHh0VVQFAAP9tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAZSRc
RvgE/XBjAAAAcAAAADQAGAAAAAAAAQAAAKSBKr0CAG1lZGlhL1czQy9hdWRpby9ldmVudHMvZXZl
bnRfcGF1c2VfbWFudWFsLXN0ZGVyci50eHRVVAUAA/218VR1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACABlJFxG+AT9cGMAAABwAAAALAAYAAAAAAABAAAApIH7vQIAbWVkaWEvVzNDL2F1ZGlvL2V2
ZW50cy9ldmVudF9wbGF5LXN0ZGVyci50eHRVVAUAA/218VR1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACABlJFxG+AT9cGMAAABwAAAAMwAYAAAAAAABAAAApIHEvgIAbWVkaWEvVzNDL2F1ZGlvL2V2
ZW50cy9ldmVudF9wbGF5X21hbnVhbC1zdGRlcnIudHh0VVQFAAP9tfFUdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAZSRcRvgE/XBjAAAAcAAAAC8AGAAAAAAAAQAAAKSBlL8CAG1lZGlhL1czQy9h
dWRpby9ldmVudHMvZXZlbnRfcGxheWluZy1zdGRlcnIudHh0VVQFAAP+tfFUdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAZSRcRvgE/XBjAAAAcAAAADYAGAAAAAAAAQAAAKSBYMACAG1lZGlhL1cz
Qy9hdWRpby9ldmVudHMvZXZlbnRfcGxheWluZ19tYW51YWwtc3RkZXJyLnR4dFVUBQAD/rXxVHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAGUkXEb4BP1wYwAAAHAAAAAwABgAAAAAAAEAAACkgTPB
AgBtZWRpYS9XM0MvYXVkaW8vZXZlbnRzL2V2ZW50X3Byb2dyZXNzLXN0ZGVyci50eHRVVAUAA/61
8VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABlJFxG+AT9cGMAAABwAAAANwAYAAAAAAABAAAA
pIEAwgIAbWVkaWEvVzNDL2F1ZGlvL2V2ZW50cy9ldmVudF9wcm9ncmVzc19tYW51YWwtc3RkZXJy
LnR4dFVUBQAD/rXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAGYkXEb4BP1wYwAAAHAAAAAy
ABgAAAAAAAEAAACkgdTCAgBtZWRpYS9XM0MvYXVkaW8vZXZlbnRzL2V2ZW50X3RpbWV1cGRhdGUt
c3RkZXJyLnR4dFVUBQAD/7XxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAGYkXEb4BP1wYwAA
AHAAAAA5ABgAAAAAAAEAAACkgaPDAgBtZWRpYS9XM0MvYXVkaW8vZXZlbnRzL2V2ZW50X3RpbWV1
cGRhdGVfbWFudWFsLXN0ZGVyci50eHRVVAUAA/+18VR1eAsAAQT1AQAABBQAAABQSwECHgMKAAAA
AABtJFxGAAAAAAAAAAAAAAAACQAYAAAAAAAAABAA7UF5xAIAcGxhdGZvcm0vVVQFAAMOtvFUdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAdCRcRgAAAAAAAAAAAAAAAA0AGAAAAAAAAAAQAO1BvMQC
AHBsYXRmb3JtL21hYy9VVAUAAxy28VR1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAB0JFxGAAAA
AAAAAAAAAAAAGwAYAAAAAAAAABAA7UEDxQIAcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvVVQF
AAMctvFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAdCRcRh6TfVlyAAAA7QAAAEgAGAAAAAAA
AQAAAKSBWMUCAHBsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRz
LW5vdGlmaWNhdGlvbnMtc3RkZXJyLnR4dFVUBQADHLbxVHV4CwABBPUBAAAEFAAAAFBLAQIeAwoA
AAAAAG0kXEYAAAAAAAAAAAAAAAASABgAAAAAAAAAEADtQUzGAgBwbGF0Zm9ybS9tYWMvZmFzdC9V
VAUAAw628VR1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABzJFxGAAAAAAAAAAAAAAAAHAAYAAAA
AAAAABAA7UGYxgIAcGxhdGZvcm0vbWFjL2Zhc3Qvc2Nyb2xsaW5nL1VUBQADGbbxVHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAG0kXEb3P02KbQAAAPcDAAA9ABgAAAAAAAEAAACkge7GAgBwbGF0
Zm9ybS9tYWMvZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLWRpdi1sYXRjaGVkLWRpdi1zdGRlcnIudHh0
VVQFAAMOtvFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAcyRcRpNyWgOBAAAApQAAADsAGAAA
AAAAAQAAAKSB0scCAHBsYXRmb3JtL21hYy9mYXN0L3Njcm9sbGluZy9zY3JvbGwtbmVzdGVkLWlm
cmFtZS1zdGRlcnIudHh0VVQFAAMZtvFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAaSRcRgAA
AAAAAAAAAAAAABEAGAAAAAAAAAAQAO1ByMgCAHBsYXRmb3JtL21hYy13azIvVVQFAAMGtvFUdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAaSRcRgAAAAAAAAAAAAAAAB8AGAAAAAAAAAAQAO1BE8kC
AHBsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9VVAUAAwa28VR1eAsAAQT1AQAABBQAAABQ
SwECHgMKAAAAAABpJFxGAAAAAAAAAAAAAAAAKQAYAAAAAAAAABAA7UFsyQIAcGxhdGZvcm0vbWFj
LXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9VVAUAAwa28VR1eAsAAQT1AQAABBQAAABQSwEC
HgMKAAAAAABuJFxGAAAAAAAAAAAAAAAAOgAYAAAAAAAAABAA7UHPyQIAcGxhdGZvcm0vbWFjLXdr
Mi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9maXhlZC1iYWNrZ3JvdW5kL1VUBQADD7bxVHV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAGkkXEbjZzExbgAAAIAAAABgABgAAAAAAAEAAACkgUPKAgBw
bGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2ZpeGVkLWJhY2tncm91bmQv
Zml4ZWQtYmFja2dyb3VuZC1jb21wb3NpdGVkLXN0ZGVyci50eHRVVAUAAwa28VR1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACABqJFxG42cxMW4AAACAAAAAbAAYAAAAAAABAAAApIFLywIAcGxhdGZv
cm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9maXhlZC1iYWNrZ3JvdW5kL2ZpeGVk
LWJhY2tncm91bmQtbmVnYXRpdmUtei1pbmRleC1maXhlZC1zdGRlcnIudHh0VVQFAAMHtvFUdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAayRcRuNnMTFuAAAAgAAAAGUAGAAAAAAAAQAAAKSBX8wC
AHBsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZml4ZWQtYmFja2dyb3Vu
ZC9maXhlZC1ib2R5LWJhY2tncm91bmQtYm9keS1sYXllci1zdGRlcnIudHh0VVQFAAMKtvFUdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAayRcRuNnMTFuAAAAgAAAAGIAGAAAAAAAAQAAAKSBbM0C
AHBsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZml4ZWQtYmFja2dyb3Vu
ZC9maXhlZC1ib2R5LWJhY2tncm91bmQtb3BhY2l0eS1zdGRlcnIudHh0VVQFAAMKtvFUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAbCRcRuNnMTFuAAAAgAAAAGUAGAAAAAAAAQAAAKSBds4CAHBs
YXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZml4ZWQtYmFja2dyb3VuZC9m
aXhlZC1ib2R5LWJhY2tncm91bmQtcG9zaXRpb25lZC1zdGRlcnIudHh0VVQFAAMLtvFUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAbSRcRuNnMTFuAAAAgAAAAFoAGAAAAAAAAQAAAKSBg88CAHBs
YXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZml4ZWQtYmFja2dyb3VuZC9m
aXhlZC1ib2R5LWJhY2tncm91bmQtc3RkZXJyLnR4dFVUBQADDbbxVHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAGwkXEbjZzExbgAAAIAAAABmABgAAAAAAAEAAACkgYXQAgBwbGF0Zm9ybS9tYWMt
d2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2ZpeGVkLWJhY2tncm91bmQvZml4ZWQtYm9keS1i
YWNrZ3JvdW5kLXRyYW5zZm9ybWVkLXN0ZGVyci50eHRVVAUAAwy28VR1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACABtJFxG42cxMW4AAACAAAAAYQAYAAAAAAABAAAApIGT0QIAcGxhdGZvcm0vbWFj
LXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9maXhlZC1iYWNrZ3JvdW5kL2ZpeGVkLWJvZHkt
YmFja2dyb3VuZC16b29tZWQtc3RkZXJyLnR4dFVUBQADDbbxVHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAG0kXEbjZzExbgAAAIAAAABaABgAAAAAAAEAAACkgZzSAgBwbGF0Zm9ybS9tYWMtd2sy
L3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2ZpeGVkLWJhY2tncm91bmQvZml4ZWQtaHRtbC1iYWNr
Z3JvdW5kLXN0ZGVyci50eHRVVAUAAw628VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABuJFxG
42cxMW4AAACAAAAAaQAYAAAAAAABAAAApIGe0wIAcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3
aW5nL3Njcm9sbGluZy9maXhlZC1iYWNrZ3JvdW5kL2ZpeGVkLW5vbi1wcm9wYWdhdGVkLWJvZHkt
YmFja2dyb3VuZC1zdGRlcnIudHh0VVQFAAMPtvFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA
cCRcRgAAAAAAAAAAAAAAAAgAGAAAAAAAAAAQAO1Br9QCAHBsdWdpbnMvVVQFAAMUtvFUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DCgACAAAAbiRcRpneMOI0AAAANAAAAC8AGAAAAAAAAQAAAKSB8dQCAHBs
dWdpbnMvY3Jhc2gtaW52YWxpZC1kYXRhLXJlZmVyZW5jZS1zdGRlcnIudHh0VVQFAAMPtvFUdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAcCRcRu5dckWGAAAA9gAAADsAGAAAAAAAAQAAAKSBjtUC
AHBsdWdpbnMvbnBwLXNldC13aW5kb3ctY2FsbGVkLWR1cmluZy1kZXN0cnVjdGlvbi1zdGRlcnIu
dHh0VVQFAAMUtvFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAdSRcRgAAAAAAAAAAAAAAABUA
GAAAAAAAAAAQAO1BidYCAHBsdWdpbnMvc25hcHNob3R0aW5nL1VUBQADHrbxVHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAG4kXEaluIeM4QAAAE4DAABOABgAAAAAAAEAAACkgdjWAgBwbHVnaW5z
L3NuYXBzaG90dGluZy9hdXRvcGxheS1kb21pbmFudC1ibGFuay1wbHVnaW4tbW92ZWQtaW50by12
aWV3LXN0ZGVyci50eHRVVAUAAxC28VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABvJFxGeXUy
SfcAAACcBgAAMQAYAAAAAAABAAAApIFB2AIAcGx1Z2lucy9zbmFwc2hvdHRpbmcvYXV0b3BsYXkt
ZG9taW5hbnQtc3RkZXJyLnR4dFVUBQADEbbxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAG8k
XEaGMisw9gAAAJwGAABAABgAAAAAAAEAAACkgaPZAgBwbHVnaW5zL3NuYXBzaG90dGluZy9hdXRv
cGxheS1wbHVnaW4tYmxvY2tlZC1ieS1pbWFnZS1zdGRlcnIudHh0VVQFAAMStvFUdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAcCRcRkCwsIj3AAAAnAYAAEcAGAAAAAAAAQAAAKSBE9sCAHBsdWdp
bnMvc25hcHNob3R0aW5nL2F1dG9wbGF5LXBsdWdpbi1tb3N0bHktYmxvY2tlZC1ieS1pbWFnZS1z
dGRlcnIudHh0VVQFAAMTtvFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAcSRcRkCG2VMKAQAA
OA0AADwAGAAAAAAAAQAAAKSBi9wCAHBsdWdpbnMvc25hcHNob3R0aW5nL2F1dG9wbGF5LXNpbWls
YXItdG8tZG9taW5hbnQtc3RkZXJyLnR4dFVUBQADFrbxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAHIkXEZsJZ6K4QAAAE4DAAA7ABgAAAAAAAEAAACkgQveAgBwbHVnaW5zL3NuYXBzaG90dGlu
Zy9wbHVnaW4tcmVjZWl2ZXMtY2xpY2stZXZlbnQtc3RkZXJyLnR4dFVUBQADF7bxVHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAHQkXEafjEez9QAAAJwGAAAnABgAAAAAAAEAAACkgWHfAgBwbHVn
aW5zL3NuYXBzaG90dGluZy9yZXN0YXJ0LXN0ZGVyci50eHRVVAUAAxy28VR1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAB1JFxGvnK0COEAAABOAwAAJgAYAAAAAAABAAAApIG34AIAcGx1Z2lucy9z
bmFwc2hvdHRpbmcvc2ltcGxlLXN0ZGVyci50eHRVVAUAAx228VR1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAB1JFxGkPqPB+wAAACcBgAASgAYAAAAAAABAAAApIH44QIAcGx1Z2lucy9zbmFwc2hv
dHRpbmcvc25hcHNob3QtcGx1Z2luLW5vdC1xdWl0ZS1ibG9ja2VkLWJ5LWltYWdlLXN0ZGVyci50
eHRVVAUAAx628VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABiJFxGsNmTn3ICAACnFQAAKwAY
AAAAAAABAAAApIFo4wIAcHl3ZWJzb2NrZXQud3MubG9nLTI4RmViMjAxNS0wNDMyMDYtZXJyLnR4
dFVUBQAD+LXxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAGIkXEYCh4JeCQEAAI8CAAArABgA
AAAAAAEAAACkgT/mAgBweXdlYnNvY2tldC53cy5sb2ctMjhGZWIyMDE1LTA0MzIwNi1vdXQudHh0
VVQFAAP4tfFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAsSRcRocK0RmGJgAAYaQAAAwAGAAA
AAAAAQAAAKSBrecCAHJlc3VsdHMuaHRtbFVUBQADjbbxVHV4CwABBPUBAAAEFAAAAFBLAQIeAwoA
AAAAAK8kXEYAAAAAAAAAAAAAAAAIABgAAAAAAAAAEADtQXkOAwByZXRyaWVzL1VUBQADibbxVHV4
CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAK8kXEYAAAAAAAAAAAAAAAANABgAAAAAAAAAEADtQbsO
AwByZXRyaWVzL2Zhc3QvVVQFAAOJtvFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAryRcRgAA
AAAAAAAAAAAAABEAGAAAAAAAAAAQAO1BAg8DAHJldHJpZXMvZmFzdC9jc3MvVVQFAAOJtvFUdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAryRcRgAAAAAAAAAAAAAAABwAGAAAAAAAAAAQAO1BTQ8D
AHJldHJpZXMvZmFzdC9jc3Mvb2JqZWN0LWZpdC9VVAUAA4m28VR1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACACvJFxGeYmjvJk0AABQWQAAOAAYAAAAAAAAAAAApIGjDwMAcmV0cmllcy9mYXN0L2Nz
cy9vYmplY3QtZml0L29iamVjdC1maXQtY2FudmFzLWFjdHVhbC5wbmdVVAUAA4m28VR1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACACvJFxGgcOlyWQBAAAeCQAANgAYAAAAAAAAAAAApIGuRAMAcmV0
cmllcy9mYXN0L2Nzcy9vYmplY3QtZml0L29iamVjdC1maXQtY2FudmFzLWRpZmYucG5nVVQFAAOJ
tvFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAryRcRg6epuaQBQAAJhIAADgAGAAAAAAAAQAA
AKSBgkYDAHJldHJpZXMvZmFzdC9jc3Mvb2JqZWN0LWZpdC9vYmplY3QtZml0LWNhbnZhcy1kaWZm
cy5odG1sVVQFAAOJtvFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAryRcRoLGYM67AgAAaAgA
ADsAGAAAAAAAAQAAAKSBhEwDAHJldHJpZXMvZmFzdC9jc3Mvb2JqZWN0LWZpdC9vYmplY3QtZml0
LWNhbnZhcy1leHBlY3RlZC5odG1sVVQFAAOJtvFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
ryRcRoNVXrQgMAAAjVQAADoAGAAAAAAAAAAAAKSBtE8DAHJldHJpZXMvZmFzdC9jc3Mvb2JqZWN0
LWZpdC9vYmplY3QtZml0LWNhbnZhcy1leHBlY3RlZC5wbmdVVAUAA4m28VR1eAsAAQT1AQAABBQA
AABQSwECHgMKAAAAAAByJFxGAAAAAAAAAAAAAAAACwAYAAAAAAAAABAA7UFIgAMAc2Nyb2xsYmFy
cy9VVAUAAxe28VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAByJFxGbr0jYTkAAABCAAAAOwAY
AAAAAAABAAAApIGNgAMAc2Nyb2xsYmFycy9zY3JvbGxldmVudC1pZnJhbWUtbm8tc2Nyb2xsaW5n
LXdoZWVsLXN0ZGVyci50eHRVVAUAAxe28VR1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABwJFxG
AAAAAAAAAAAAAAAACAAYAAAAAAAAABAA7UE7gQMAc3B1dG5pay9VVAUAAxO28VR1eAsAAQT1AQAA
BBQAAABQSwECHgMKAAAAAABwJFxGAAAAAAAAAAAAAAAAFAAYAAAAAAAAABAA7UF9gQMAc3B1dG5p
ay9Db25mb3JtYW5jZS9VVAUAAxO28VR1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABwJFxGAAAA
AAAAAAAAAAAAKwAYAAAAAAAAABAA7UHLgQMAc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2Fs
X0NvbnZlbnRpb25zL1VUBQADE7bxVHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAHAkXEYAAAAA
AAAAAAAAAABAABgAAAAAAAAAEADtQTCCAwBzcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxf
Q29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvVVQFAAMTtvFUdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAcCRcRpDlhlpbAAAA4AIAAFcAGAAAAAAAAQAAAKSBqoIDAHNwdXRuaWsvQ29u
Zm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9ycy9TNy4z
X0ExLjFfVDEtc3RkZXJyLnR4dFVUBQADE7bxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALEk
XEYx5t+JnD4HAC98JgAKABgAAAAAAAEAAACkgZaDAwBzdGF0cy5qc29uVVQFAAONtvFUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DCgAAAAAAkyRcRgAAAAAAAAAAAAAAAAQAGAAAAAAAAAAQAO1BdsIKAHN2
Zy9VVAUAA1W28VR1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACGJFxGAAAAAAAAAAAAAAAADQAY
AAAAAAAAABAA7UG0wgoAc3ZnL2FzLWltYWdlL1VUBQADO7bxVHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAIYkXEbbCNNCOwAAAD8AAAA/ABgAAAAAAAEAAACkgfvCCgBzdmcvYXMtaW1hZ2Uvc3Zn
LWltYWdlLXdpdGgtZGF0YS11cmktaW1hZ2VzLWRpc2FibGVkLXN0ZGVyci50eHRVVAUAAzu28VR1
eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACiJFxGAAAAAAAAAAAAAAAACwAYAAAAAAAAABAA7UGv
wwoAc3ZnL2N1c3RvbS9VVAUAA2+28VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACTJFxGJyKz
OGMAAABuAAAAJgAYAAAAAAABAAAApIH0wwoAc3ZnL2N1c3RvbS9saW5raW5nLXVyaS0wMS1iLXN0
ZGVyci50eHRVVAUAA1W28VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACiJFxGIfT28DoAAABC
AAAAMAAYAAAAAAABAAAApIG3xAoAc3ZnL2N1c3RvbS91c2UtaW52YWxpZGF0ZS1jbGljay1jcmFz
aC1zdGRlcnIudHh0VVQFAANvtvFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAhyRcRgAAAAAA
AAAAAAAAAAsAGAAAAAAAAAAQAO1BW8UKAHN2Zy9zdHJva2UvVVQFAAM+tvFUdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAhyRcRnXZLcSQAAAApgAAACUAGAAAAAAAAQAAAKSBoMUKAHN2Zy9zdHJv
a2UvemVyby13aWR0aC1oYW5nLXN0ZGVyci50eHRVVAUAAz628VR1eAsAAQT1AQAABBQAAABQSwEC
HgMKAAAAAACDJFxGAAAAAAAAAAAAAAAAEwAYAAAAAAAAABAA7UGPxgoAc3ZnL1czQy1TVkctMS4x
LVNFL1VUBQADNbbxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIIkXEY31Z4lZgAAAHEAAAAw
ABgAAAAAAAEAAACkgdzGCgBzdmcvVzNDLVNWRy0xLjEtU0UvZmlsdGVycy1pbWFnZS0wNS1mLXN0
ZGVyci50eHRVVAUAAzO28VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACCJFxGJyKzOGMAAABu
AAAAMgAYAAAAAAABAAAApIGsxwoAc3ZnL1czQy1TVkctMS4xLVNFL3BhaW50aW5nLW1hcmtlci0w
NS1mLXN0ZGVyci50eHRVVAUAAzO28VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACCJFxGJyKz
OGMAAABuAAAAMgAYAAAAAAABAAAApIF7yAoAc3ZnL1czQy1TVkctMS4xLVNFL3BhaW50aW5nLW1h
cmtlci0wNi1mLXN0ZGVyci50eHRVVAUAAzO28VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACC
JFxGJyKzOGMAAABuAAAALQAYAAAAAAABAAAApIFKyQoAc3ZnL1czQy1TVkctMS4xLVNFL3N0cnVj
dC1kb20tMTEtZi1zdGRlcnIudHh0VVQFAAM0tvFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
gyRcRiciszhjAAAAbgAAAC0AGAAAAAAAAQAAAKSBFMoKAHN2Zy9XM0MtU1ZHLTEuMS1TRS9zdHJ1
Y3QtdXNlLTExLWYtc3RkZXJyLnR4dFVUBQADNbbxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AIMkXEY9+QtYXwAAAGUAAAAvABgAAAAAAAEAAACkgd7KCgBzdmcvVzNDLVNWRy0xLjEtU0Uvc3R5
bGluZy1wcmVzLTAyLWYtc3RkZXJyLnR4dFVUBQADNbbxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAIMkXEYCQrfYggAAAN4AAAAtABgAAAAAAAEAAACkgabLCgBzdmcvVzNDLVNWRy0xLjEtU0Uv
dGV4dC1pbnRyby0wOS1iLXN0ZGVyci50eHRVVAUAAzW28VR1eAsAAQT1AQAABBQAAABQSwECHgMK
AAAAAACCJFxGAAAAAAAAAAAAAAAAFQAYAAAAAAAAABAA7UGPzAoAc3ZnL1czQy1TVkctMS4yLVRp
bnkvVVQFAAMztvFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAgSRcRqW9b1RjAAAAawAAADkA
GAAAAAAAAQAAAKSB3swKAHN2Zy9XM0MtU1ZHLTEuMi1UaW55L3N0cnVjdC11c2UtcmVjdXJzaW9u
LTAxLXQtc3RkZXJyLnR4dFVUBQADMrbxVHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIIkXEal
vW9UYwAAAGsAAAA5ABgAAAAAAAEAAACkgbTNCgBzdmcvVzNDLVNWRy0xLjItVGlueS9zdHJ1Y3Qt
dXNlLXJlY3Vyc2lvbi0wMi10LXN0ZGVyci50eHRVVAUAAzO28VR1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACACCJFxGpb1vVGMAAABrAAAAOQAYAAAAAAABAAAApIGKzgoAc3ZnL1czQy1TVkctMS4y
LVRpbnkvc3RydWN0LXVzZS1yZWN1cnNpb24tMDMtdC1zdGRlcnIudHh0VVQFAAMztvFUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DCgAAAAAAiyRcRgAAAAAAAAAAAAAAAAcAGAAAAAAAAAAQAO1BYM8KAHRh
Ymxlcy9VVAUAA0a28VR1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACKJFxGAAAAAAAAAAAAAAAA
DwAYAAAAAAAAABAA7UGhzwoAdGFibGVzL21vemlsbGEvVVQFAANEtvFUdXgLAAEE9QEAAAQUAAAA
UEsBAh4DCgAAAAAAmCRcRgAAAAAAAAAAAAAAABQAGAAAAAAAAAAQAO1B6s8KAHRhYmxlcy9tb3pp
bGxhL2J1Z3MvVVQFAANftvFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAmCRcRutE7uhnAAAA
cwAAACgAGAAAAAAAAQAAAKSBONAKAHRhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnMTMxMDIwLXN0ZGVy
ci50eHRVVAUAA1+28VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACYJFxG60Tu6GcAAABzAAAA
LwAYAAAAAAABAAAApIEB0QoAdGFibGVzL21vemlsbGEvYnVncy9idWcxMzEwMjBfaWZyYW1lLXN0
ZGVyci50eHRVVAUAA1+28VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACPJFxGSNtDA2kAAAB1
AAAAJwAYAAAAAAABAAAApIHR0QoAdGFibGVzL21vemlsbGEvYnVncy9idWcxNzU4Ny1zdGRlcnIu
dHh0VVQFAANOtvFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAiiRcRulSzhFbAAAAYwAAACgA
GAAAAAAAAQAAAKSBm9IKAHRhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnMjQ3OS0xLXN0ZGVyci50eHRV
VAUAA0S28VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACMJFxGJj/CplMAAADkAAAAJgAYAAAA
AAABAAAApIFY0woAdGFibGVzL21vemlsbGEvYnVncy9idWczOTc3LXN0ZGVyci50eHRVVAUAA0e2
8VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACMJFxGLuB+c2wAAAB9AAAAJgAYAAAAAAABAAAA
pIEL1AoAdGFibGVzL21vemlsbGEvYnVncy9idWc1NTM4LXN0ZGVyci50eHRVVAUAA0i28VR1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACACNJFxG7nGn9oMAAAB2AQAAKAAYAAAAAAABAAAApIHX1AoA
dGFibGVzL21vemlsbGEvYnVncy9idWc5MTIzLTEtc3RkZXJyLnR4dFVUBQADSrbxVHV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAAAAAIkkXEYAAAAAAAAAAAAAAAAiABgAAAAAAAAAEADtQbzVCgB0YWJs
ZXMvbW96aWxsYS9jb2xsYXBzaW5nX2JvcmRlcnMvVVQFAANBtvFUdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAiSRcRtToG6p6AAAAkQAAADcAGAAAAAAAAQAAAKSBGNYKAHRhYmxlcy9tb3ppbGxh
L2NvbGxhcHNpbmdfYm9yZGVycy9idWc0MTI2Mi0zLXN0ZGVyci50eHRVVAUAA0G28VR1eAsAAQT1
AQAABBQAAABQSwECHgMKAAAAAACLJFxGAAAAAAAAAAAAAAAAIQAYAAAAAAAAABAA7UED1woAdGFi
bGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvVVQFAANGtvFUdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DCgAAAAAAjSRcRgAAAAAAAAAAAAAAACYAGAAAAAAAAAAQAO1BXtcKAHRhYmxlcy9tb3ppbGxh
X2V4cGVjdGVkX2ZhaWx1cmVzL2J1Z3MvVVQFAANJtvFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAiyRcRulSzhFbAAAAYwAAADkAGAAAAAAAAQAAAKSBvtcKAHRhYmxlcy9tb3ppbGxhX2V4cGVj
dGVkX2ZhaWx1cmVzL2J1Z3MvYnVnMTAxNDAtc3RkZXJyLnR4dFVUBQADRrbxVHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAIwkXEZXzyj8jwAAABwCAAA5ABgAAAAAAAEAAACkgYzYCgB0YWJsZXMv
bW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9idWdzL2J1ZzIzODQ3LXN0ZGVyci50eHRVVAUAA0e2
8VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACNJFxGjn6alnUAAACHAAAAOQAYAAAAAAABAAAA
pIGO2QoAdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvYnVncy9idWc4OTMxNS1zdGRl
cnIudHh0VVQFAANJtvFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAiyRcRgAAAAAAAAAAAAAA
ACgAGAAAAAAAAAAQAO1BdtoKAHRhYmxlcy9tb3ppbGxhX2V4cGVjdGVkX2ZhaWx1cmVzL21hcnZp
bi9VVAUAA0a28VR1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACLJFxGbLxLCHAAAACBAAAARQAY
AAAAAAABAAAApIHY2goAdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL2Jh
Y2tncl9sYXllcnMtaGlkZS1zdGRlcnIudHh0VVQFAANGtvFUdXgLAAEE9QEAAAQUAAAAUEsBAh4D
CgAAAAAAjiRcRgAAAAAAAAAAAAAAAAsAGAAAAAAAAAAQAO1Bx9sKAHdlYmFyY2hpdmUvVVQFAANL
tvFUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAjiRcRgAAAAAAAAAAAAAAABMAGAAAAAAAAAAQ
AO1BDNwKAHdlYmFyY2hpdmUvbG9hZGluZy9VVAUAA0u28VR1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACACOJFxGztO9WuEAAABOAwAAMQAYAAAAAAABAAAApIFZ3AoAd2ViYXJjaGl2ZS9sb2FkaW5n
L3ZpZGVvLWluLXdlYmFyY2hpdmUtc3RkZXJyLnR4dFVUBQADS7bxVHV4CwABBPUBAAAEFAAAAFBL
BQYAAAAA+QH5AW/iAACl3QoAAAA=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247886</attachid>
            <date>2015-03-04 13:12:57 -0800</date>
            <delta_ts>2015-03-04 14:00:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150304231238.patch</filename>
            <type>text/plain</type>
            <size>80794</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwODE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
MmE2NGQxNDFjNmU5YjcyMjI4MjZlNmEzNDE3YTM3OGY5NTAzZWNjLi5jNWZjYTA4NjM2YWI5ODQx
NDU2OTM5MTZmZWY3MmEwMDViNmMyYjY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3NyBAQAorMjAxNS0wMi0yNyAgQWxleGFuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21h
aWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3lu
dGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4
NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRl
ZCBzdXBwb3J0IG9mIEVTNiBhcnJvdyBmdW5jdGlvbi4gSW4gcGF0Y2ggd2VyZSBpbXBsZW1lbnRl
ZCB0aGUgc2ltcGxlc3QgY2FzZXM6CisgICAgICAgIDEgbm8gcGFyYW10ZXJzICAgICAgICgpID0+
IDEwICsgMjAKKyAgICAgICAgMiBvbmUgcGFyYW1ldGVyICAgICAgIHggPT4geCArIDIwCisgICAg
ICAgIDMgbXVsdGlwbGUgcGFyYW10ZXJzICh4LCB5KSA9PiB4ICsgeQorICAgICAgICA0IGZhdCBh
cnJvdyBmdW5jdGlvbiB4ID0+IHsgcmV0dXJuIHgqMTA7fQorCisgICAgICAgICogQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxh
ZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgorCisg
ICAgICAgICogcGFyc2VyL0FTVEJ1aWxkZXIuaDoKKyAgICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6
Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIpOgorICAgICAgICBBZGRlZCBmdW5jdGlvbiB0aGF0IGNy
ZWF0ZSBleHByZXNpb24gZm9yIGFycm93IGZ1bmN0aW9uCisgICAgICAgICogcGFyc2VyL0xleGVy
LmNwcDoKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24pOgorICAgICAg
ICBNZXRob2QgdGhhdCBhbGxvdyB0byBzZXQgY3VycmVjdCBwb3NpdGlvbiBmb3IgdGhlIHRvY2tl
biBvdXRzaWRlIHRoZSBMZXhlciBjbGFzCisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpsZXgpOgor
ICAgICAgICBNZXRob2QgY2hhbmdlZCB0byBzdXBwb3J0IG9mIHRoZSBhcnJvdyBmdW5jdGlvbgor
ICAgICAgICAqIHBhcnNlci9MZXhlci5oOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6c2V0VG9r
ZW5Qb3NpdGlvbik6CisgICAgICAgIERlY2xhcmF0aW9uIG9mIHRoZSBtZXRob2QgdGhhdCBhbGxv
dyB0byBzZXQgY3VycmVjdCBwb3NpdGlvbiBmb3IgdGhlIHRvY2tlbiBvdXRzaWRlIHRoZSBMZXhl
ciBjbGFzcyAKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFy
c2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMpOgorICAgICAgICBNb2RpZmllZCBt
ZXRob2QgdG8gc3VwcG9ydCB0d28gbWV0aG9kcyBvZiB0aGUgcGFyc2UganMgZnVuY3Rpb24uIFRo
ZSBmaXJzdCB0eXBlIGlzIHN0YW5kYXJkIGZ1bmN0aW9uIGFuZCBuZXcgdHlwZSBpcyBhcnJvdyBm
dW5jdGlvbi4KKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4
cHJlc3Npb24pOgorICAgICAgICBNb2RpZmllZCBtZXRob2QgdG8gc3VwcG9ydCB0d28gbWV0aG9k
cyBvZiB0aGUgcGFyc2UganMgZnVuY3Rpb24uIFRoZSBmaXJzdCB0eXBlIGlzIHN0YW5kYXJkIGZ1
bmN0aW9uIGFuZCBuZXcgdHlwZSBpcyBhcnJvdyBmdW5jdGlvbi4KKyAgICAgICAgKEpTQzo6UGFy
c2VyOjopOkFkZGVkIG5ldyBzdHJ1Y3R1cmUgdG8gc3VwcG9yZCBkaWZmZXJlbnQgdHlwZSBvZiBw
YXJzaW5nIHRoZSBmdW5jdGlvbgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU291cmNlRWxl
bWVudCk6IEFkZGVkIEZ1bmN0aW9uUGFyc2VUeXBlIGFzIHBhcmFtdGVyIGluIG1ldGhvZAorICAg
ICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KTogQWRkZWQgRnVuY3Rpb25QYXJzZVR5
cGUgYXMgcGFyYW10ZXIgaW4gbWV0aG9kLiBBZGRlZCBzZXBhcmF0ZWQgbG9naWMgZm9yIGVuZGlu
ZyAKKyAgICAgICAgdGhlIHN0YXRlbWVudCBpbiBjYXNlIG9mIHRoZSBwYXJzaW5nIGluIGFycm93
IGZ1bmN0aW9uIHR5cGUuIEFkZGVkIGxvZ2ljIHRvIHN1cHBvcnQgcGFyc2luZyB0aGUgc291cmNl
IGNvZGUgdGhhdCBmb2xsb3cgYWZ0ZSA9PiBzeW1ib2wKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpw
YXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKSBNb2RpZmllZCBtZXRob2QgdG8gc3VwcG9ydCBwYXJz
aW5nIHRoZSBhcnJvdyBmdW5jdGlvbgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlUHJpbWFy
eUV4cHJlc3Npb24pIE1vZGlmaWVkIG1ldGhvZCB0byBzdXBwb3J0IGNhc2Ugd2hlbiBhZnRlciBJ
REVOVCBpcyBnb2luZyB0aGUgYXJyb3cgZnVuY3Rpb24KKyAgICAgICAgKEpTQzo6UGFyc2VyOjpw
YXJzZUFycm93RXhwcmVzc2lvbik6IEFkZGVkIG1ldGhvZCBkZWNsYXJhdGlvbiB0aGF0IGlzIHJl
c3BvbnNpYmxlIHRvIHBhcnNlIGFycm93IGV4cHJlc3Npb24uCisgICAgICAgIChKU0M6OlBhcnNl
cjo6c2V0RW5kT2ZTdGF0ZW1lbnQpOiBBZGRlZCBtZXRob2QgdGhhdCB1c2VkIHRvIHNldCBjb3Jy
ZWN0IHBvc2l0aW9uIG9mIHRoZSBsZXhlcgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJy
b3dGdW5jdGlvbldyYXBwZXIpOiBBZGRlZCBtZXRob2QgdGhhdCBpcyBzdGFydGluZyBwb2ludCBp
biBwYXJzaW5nIG9mIHRoZSBhcnJvdyBmdW5jdGlvbgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBh
cnNlQXJyb3dGdW5jdGlvbkluZm8pOiBBZGRlZCBtZXRob2QgdGhhdCBpcyB1c2VkIHRvIHBhcnNl
IGZ1bmN0aW9uIHBhcmFtdGVycy4gQ2xvc2UgdG8gcGFyc2VGdW5jdGlvbkluZm8uIAorICAgICAg
ICBXYXMgbWFkZSBhcyB0aGUgc2VwYXJldGUgbWV0aG9kIHRvIHByZXZlbnQgcG9sbHV0aW9uIG9m
IHRoZSBsb2dpYyBwYXJzaW5nIHRoZSBzdGFuZGVyIGZ1bmN0aW9uLiAgCisgICAgICAgIENhbiBi
ZSBtZXJnZSB3aXRoIHBhcnNlRnVuY3Rpb25JbmZvIGFmdGVyIGFwcHJvdmluZyB0aGUgYXJyb3cg
ZnVuY3Rpb24gcGF0Y2gKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25C
b2R5KTpBZGRlZCBtZXRob2QgdGhhdCBpcyB1c2VkIHRvIHBhcnNlIGZ1bmN0aW9uIGJvZHkuIENs
b3NlIHRvIHBhcnNlRnVuY3Rpb25JbmZvLiAgICAgCisgICAgICAgIFdhcyBtYWRlIGFzIHRoZSBz
ZXBhcmV0ZSBtZXRob2QgdG8gcHJldmVudCBwb2xsdXRpb24gb2YgdGhlIGxvZ2ljIHBhcnNpbmcg
dGhlIHN0YW5kZXIgZnVuY3Rpb24uCisgICAgICAgIENhbiBiZSBtZXJnZSB3aXRoIHBhcnNlRnVu
Y3Rpb25JbmZvIGFmdGVyIGFwcHJvdmluZyB0aGUgYXJyb3cgZnVuY3Rpb24gcGF0Y2ggICAgICAg
IAorICAgICAgICAqIHBhcnNlci9QYXJzZXIuaDoKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpGdW5j
dGlvblBhcnNlVHlwZSk6QWRkZWQgbmV3IHN0cnVjdHVyZSB0byBzdXBwb3JkIGRpZmZlcmVudCB0
eXBlIG9mIHBhcnNpbmcgdGhlIGZ1bmN0aW9uCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VT
b3VyY2VFbGVtZW50KTogQWRkZWQgRnVuY3Rpb25QYXJzZVR5cGUgYXMgcGFyYW10ZXIgaW4gbWV0
aG9kCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VTdGF0ZW1lbnQpOiBBZGRlZCBGdW5jdGlv
blBhcnNlVHlwZSBhcyBwYXJhbXRlciBpbiBtZXRob2QKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpw
YXJzZUFycm93RXhwcmVzc2lvbik6IEFkZGVkIG1ldGhvZCBkZWNsYXJhdGlvbiB0aGF0IGlzIHJl
c3BvbnNpYmxlIHRvIHBhcnNlIGFycm93IGV4cHJlc3Npb24KKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpzZXRFbmRPZlN0YXRlbWVudCk6IEFkZGVkIG1ldGhvZCB0aGF0IHVzZWQgdG8gc2V0IGNvcnJl
Y3QgcG9zaXRpb24gb2YgdGhlIGxleGVyCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJv
d0Z1bmN0aW9uV3JhcHBlcik6IEFkZGVkIG1ldGhvZCB0aGF0IGlzIHN0YXJ0aW5nIHBvaW50IGlu
IHBhcnNpbmcgb2YgdGhlIGFycm93IGZ1bmN0aW9uCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFy
c2VBcnJvd0Z1bmN0aW9uSW5mbyk6IEFkZGVkIG1ldGhvZCB0aGF0IGlzIHVzZWQgdG8gcGFyc2Ug
ZnVuY3Rpb24gcGFyYW10ZXJzLiBDbG9zZSB0byBwYXJzZUZ1bmN0aW9uSW5mby4KKyAgICAgICAg
V2FzIG1hZGUgYXMgdGhlIHNlcGFyZXRlIG1ldGhvZCB0byBwcmV2ZW50IHBvbGx1dGlvbiBvZiB0
aGUgbG9naWMgcGFyc2luZyB0aGUgc3RhbmRlciBmdW5jdGlvbi4gCisgICAgICAgIENhbiBiZSBt
ZXJnZSB3aXRoIHBhcnNlRnVuY3Rpb25JbmZvIGFmdGVyIGFwcHJvdmluZyB0aGUgYXJyb3cgZnVu
Y3Rpb24gcGF0Y2ggCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uQm9k
eSk6QWRkZWQgbWV0aG9kIHRoYXQgaXMgdXNlZCB0byBwYXJzZSBmdW5jdGlvbiBib2R5LiBDbG9z
ZSB0byBwYXJzZUZ1bmN0aW9uSW5mby4gCisgICAgICAgIFdhcyBtYWRlIGFzIHRoZSBzZXBhcmV0
ZSBtZXRob2QgdG8gcHJldmVudCBwb2xsdXRpb24gb2YgdGhlIGxvZ2ljIHBhcnNpbmcgdGhlIHN0
YW5kZXIgZnVuY3Rpb24uICAKKyAgICAgICAgQ2FuIGJlIG1lcmdlIHdpdGggcGFyc2VGdW5jdGlv
bkluZm8gYWZ0ZXIgYXBwcm92aW5nIHRoZSBhcnJvdyBmdW5jdGlvbiBwYXRjaAorICAgICAgICAq
IHBhcnNlci9QYXJzZXJUb2tlbnMuaDoKKyAgICAgICAgQWRkZWQgbmV3IEFSUk9XRlVOQ1RJT04g
dG9ja2VuCisgICAgICAgICogcGFyc2VyL1NvdXJjZUNvZGUuaDoKKyAgICAgICAgKEpTQzo6U291
cmNlQ29kZTo6c3ViQXJyb3dFeHByZXNzaW9uKTpBZGRlZCBmdW5jdGlvbiB0aGF0IGlzIHVzZWQg
Zm9yIGNyZWF0aW5nIHNvdXJjZSBjb2RlIG9iamVjdC4gTG9naWMgdGhlIHNhbWUKKyAgICAgICAg
YXMgaW4gc3ViRXhwcmVzaW9uIGZ1bmN0aW9uIGV4Y2VwdCBkaWZmZXJlbnQgY2hlY2sgZm9yIHN0
YXJ0IGFuZCBlbmRpbmcgb2YgdGhlIGV4cHJlc3Npb24KKyAgICAgICAgKiBwYXJzZXIvU3ludGF4
Q2hlY2tlci5oOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVhdGVBcnJvd0Z1bmN0
aW9uRXhwcik6IEFkZGVkIGRlZmVuaXRpb24gb2YgdGhlIGNyZWF0ZUFycm93RnVuY3Rpb25FeHBy
IGNsb3NlIHRvIHRoZSBjcmVhdGVGdW5jdGlvbkV4cHIKKyAgICAgICAgKiBwYXJzZXIvU291cmNl
UHJvdmlkZXJDYWNoZUl0ZW06CisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVt
Q3JlYXRpb25QYXJhbWV0ZXJzKTogQWRkZWQgYWRkaXRpb25hbCBwcm9wZXJ0aWVzIHRvIGNvcnJl
Y3QgY2FjaGUgdGhlIGFycm93IGZ1bmN0aW9uCisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVy
Q2FjaGVJdGVtKTogQWRkZWQgYWRkaXRpb25hbCBwcm9wZXJ0aWVzIHRvIGNvcnJlY3QgY2FjaGUg
dGhlIGFycm93IGZ1bmN0aW9uCisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVt
OjplbmRBcnJvd0Z1bmN0aW9uVG9rZW4pOiBBZGRlZCBmdW5jdGlvbiB0byBzZXQgY29ycmVjdCB0
b2NrZW4gYXQgdGhlIGVuZCBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gaW4gY2FzZSBvZiBjYWNoZQor
CisKKwogMjAxNS0wMi0yNyAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4K
IAogICAgICAgICBbSlNDXSBVc2UgdGhlIHdheSBudW1iZXIgY29uc3RhbnRzIGFyZSB3cml0dGVu
IHRvIGhlbHAgdHlwZSBzcGVjdWxhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGRiZmY2NjJiYWYxNWM2NDgx
OGMzYzE5ODhiYmE4MDUyN2VmMTM3NjMuLjhlZmQxYTczNmRiZmQ0ZWNmYTZhOTJkNjgyYjcxMzAy
NmQwOGMzN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxNS0wMi0yNyAgU2thY2hr
b3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxl
bWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmZWF0dXJlIGZsYWcgRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rpb24KKyAgICAgICAgQWRkZWQgdGVzdCBm
b3IgYXJyb3cgZnVuY3Rpb24KKworICAgICAgICBUZXN0OiBqcy9hcnJvd2Z1bmN0aW9uLmh0bWwK
KyAgICAgICAgICAgICAganMvc2NyaXB0LXRlc3RzL2Fycm93ZnVuY3Rpb24uanMKKyAgICAgICAg
ICAgICAganMvYXJyb3dmdW5jdGlvbi1leHBlY3RlZC50eHQKKworICAgICAgICAqIENvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1LTAyLTI3ICBIdW5zZW9wIEpl
b25nICA8aHM4NS5qZW9uZ0BzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXVtHVEtdIEZpeCBi
dWlsZCBicmVhayBhZnRlciByMTgwNzkwLDE4MDc5OApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDE3NmQw
ZjM5ZGZkYzZlYzk4N2YzOWU1NThkOWQxNGRjMjdiNjU5N2IuLjY0MTU1YjZiZWYwZWJhYjZiNDBk
YzMzMmY0MzIxYWY3YWU1NjBmZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAxNS0wMi0yNyAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisg
ICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmZWF0dXJlIGZs
YWcgRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rpb24KKwor
ICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1
LTAyLTI2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1l
IERhdGFiYXNlTWFuYWdlcjo6bWFuYWdlcigpIHRvIERhdGFiYXNlTWFuYWdlcjo6c2luZ2xldG9u
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwppbmRleCAzNWU4NGZjNzhjYTg5ZmExZTAwZGRkMWNjYWE3MzRhM2M2ZDg4ZDNl
Li41NzUwOWRkZDViZTRkM2IwN2E5NTdkN2FmMjNjZDA4ZTEyNWRmNTk5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTUtMDItMjcgIFNrYWNoa292IEFsZXhhbmRyICA8Z3NrYWNoa292
QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9u
IHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTQwODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggZm9yIGFy
cm93IGZ1bmN0aW9uCisKKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnOgorCiAyMDE1LTAyLTI3ICBIdW5zZW9wIEplb25nICA8aHM4NS5qZW9uZ0BzYW1z
dW5nLmNvbT4KIAogICAgICAgICBbRUZMXVtHVEtdIEZpeCBidWlsZCBicmVhayBhZnRlciByMTgw
NzkwLDE4MDc5OCAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA4ZmMyNDg3ZjZhZWUwZjcz
OWNmZDNjMGE4NGFiYzc5MTU5NGE1ZWUzLi5hMmU3M2ExZjAzODc3MmZiMjIwZjMyNGZkYzliNTUy
NGI4ZmE1MTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00NSw2ICs0NSw3IEBAIEVO
QUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJP
WFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
Tkc7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhU
ID0gOwogRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSyA9IEVOQUJMRV9DU1NfQk9YX0RF
Q09SQVRJT05fQlJFQUs7CkBAIC0yMTAsNCArMjExLDQgQEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9
IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFU
RURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JF
TkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVf
QVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxF
X0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRF
UklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJ
T04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMp
ICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVO
QUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9D
VVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVf
REFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFC
TEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNB
VEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVS
X1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05U
Uk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gp
ICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVS
X0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQo
RU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05D
VVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikg
JChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElN
SVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkg
JChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NP
TVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01F
RElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9T
TkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChF
TkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RG
X0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxF
X1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJ
TElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5B
QkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01P
REVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJM
RV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpF
UykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxF
X1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9M
TElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFC
TEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVf
M0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVO
QUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChF
TkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19D
T01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
R1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VM
RUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAk
KEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkp
ICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBP
UlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRF
TVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxf
MikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQo
RU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVO
QUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChF
TkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9U
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NT
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5B
QkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwp
ICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAk
KEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
TE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5B
QkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1Rf
QU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVf
UkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFC
TEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQ
VE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5B
QkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5U
KSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFC
TEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykg
JChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChF
TkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChF
TkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9U
SU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChF
TkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVO
QUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRB
VElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNU
QnVpbGRlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKaW5k
ZXggZmE2NDk1MWE5ZGYyYjZiNjQ1MDVmYTFlYTM3YTEwMDRiOWE4ZDk5Ni4uNGYzMmNiMjNmYTIz
ZTM0ZDk1YWYxMDcwY2IxZjY5MzY3NjUwY2NmOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9BU1RCdWlsZGVyLmgKQEAgLTMwMyw2ICszMDMsMjAgQEAgcHVibGljOgogICAgICAgICBy
ZXR1cm4gbmV3IChtX3BhcnNlckFyZW5hKSBGdW5jdGlvbkJvZHlOb2RlKG1fcGFyc2VyQXJlbmEs
IHN0YXJ0TG9jYXRpb24sIGVuZExvY2F0aW9uLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBpblN0
cmljdENvbnRleHQpOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCisgICAgRXhwcmVzc2lvbk5vZGUqIGNyZWF0ZUFycm93RnVuY3Rpb25FeHByKGNvbnN0IEpT
VG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RCdWls
ZGVyPiYgaW5mbywgdW5zaWduZWQgYXJyb3dGdW5jdGlvbktleXdvcmRTdGFydCkKKyAgICB7Cisg
ICAgICAgIFNvdXJjZUNvZGUgc291cmNlID0gaW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUgPT0g
QXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uCisgICAgICAgID8gbV9zb3VyY2VDb2RlLT5zdWJB
cnJvd0V4cHJlc3Npb24oaW5mby5hcnJvd0Z1bmN0aW9uT2Zmc2V0LCBpbmZvLmNsb3NlQnJhY2VP
ZmZzZXQsIGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1bW4pCisgICAgICAg
IDogbV9zb3VyY2VDb2RlLT5zdWJFeHByZXNzaW9uKGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBpbmZv
LmNsb3NlQnJhY2VPZmZzZXQsIGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1
bW4pOworICAgICAgICAKKyAgICAgICAgRnVuY0V4cHJOb2RlKiByZXN1bHQgPSBuZXcgKG1fcGFy
c2VyQXJlbmEpIEZ1bmNFeHByTm9kZShsb2NhdGlvbiwgKmluZm8ubmFtZSwgaW5mby5ib2R5LCBz
b3VyY2UsIGluZm8ucGFyYW1ldGVycyk7CisgICAgICAgIGluZm8uYm9keS0+c2V0TG9jKGluZm8u
Ym9keVN0YXJ0TGluZSwgaW5mby5ib2R5RW5kTGluZSwgbG9jYXRpb24uc3RhcnRPZmZzZXQsIGxv
Y2F0aW9uLmxpbmVTdGFydE9mZnNldCk7CisgICAgICAgIGluZm8uYm9keS0+c2V0RnVuY3Rpb25L
ZXl3b3JkU3RhcnQoYXJyb3dGdW5jdGlvbktleXdvcmRTdGFydCk7CisgICAgICAgIHJldHVybiBy
ZXN1bHQ7CisgICAgfQorI2VuZGlmCisKICAgICB2b2lkIHNldEZ1bmN0aW9uTmFtZVN0YXJ0KEZ1
bmN0aW9uQm9keU5vZGUqIGJvZHksIGludCBmdW5jdGlvbk5hbWVTdGFydCkKICAgICB7CiAgICAg
ICAgIGJvZHktPnNldEZ1bmN0aW9uTmFtZVN0YXJ0KGZ1bmN0aW9uTmFtZVN0YXJ0KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKaW5kZXggMWVjNjdkZjFiOGU4YzBkNzMxOTQ5
YjEyNzJhOWJjNzVmZmY4MDE2Zi4uOGMzZWExYmY3MDk3MzNlYTgxMTg3MjA0YjQ3YjQwNjkwZTAz
YjFjMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKQEAgLTEzOTMsNiAr
MTM5MywxOCBAQCBib29sIExleGVyPFQ+OjpuZXh0VG9rZW5Jc0NvbG9uKCkKICAgICByZXR1cm4g
Y29kZSA8IG1fY29kZUVuZCAmJiAqY29kZSA9PSAnOic7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIFQ+Cit2b2lkIExleGVyPFQ+
OjpzZXRUb2tlblBvc2l0aW9uKEpTVG9rZW4qIHRva2VuUmVjb3JkKQoreworICAgIEpTVG9rZW5E
YXRhKiB0b2tlbkRhdGEgPSAmdG9rZW5SZWNvcmQtPm1fZGF0YTsKKyAgICB0b2tlbkRhdGEtPmxp
bmUgPSBsaW5lTnVtYmVyKCk7CisgICAgdG9rZW5EYXRhLT5vZmZzZXQgPSBjdXJyZW50T2Zmc2V0
KCk7CisgICAgdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zm
c2V0KCk7CisgICAgQVNTRVJUKHRva2VuRGF0YS0+b2Zmc2V0ID49IHRva2VuRGF0YS0+bGluZVN0
YXJ0T2Zmc2V0KTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KIEpTVG9rZW5U
eXBlIExleGVyPFQ+OjpsZXgoSlNUb2tlbiogdG9rZW5SZWNvcmQsIHVuc2lnbmVkIGxleGVyRmxh
Z3MsIGJvb2wgc3RyaWN0TW9kZSkKIHsKQEAgLTE0NTYsNyArMTQ2OCwxMiBAQCBzdGFydDoKICAg
ICAgICAgfQogICAgICAgICB0b2tlbiA9IEdUOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIENo
YXJhY3RlckVxdWFsOgorICAgIGNhc2UgQ2hhcmFjdGVyRXF1YWw6IHsKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB1aW50MzJfdCBzYXZlZGxpbmVOdW1iZXIg
PSB0b2tlbkRhdGEtPmxpbmU7CisgICAgICAgIHVpbnQzMl90IHNhdmVkT2Zmc2V0ID0gY3VycmVu
dE9mZnNldCgpOworICAgICAgICB1aW50MzJfdCBzYXZlZExpbmVTdGFydE9mZnNldCA9IGN1cnJl
bnRMaW5lU3RhcnRPZmZzZXQoKTsKKyNlbmRpZgogICAgICAgICBzaGlmdCgpOwogICAgICAgICBp
ZiAobV9jdXJyZW50ID09ICc9JykgewogICAgICAgICAgICAgc2hpZnQoKTsKQEAgLTE0NjgsOCAr
MTQ4NSwyMyBAQCBzdGFydDoKICAgICAgICAgICAgIHRva2VuID0gRVFFUTsKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICB9CisgICAgICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJz4nKSB7CisgICAgICAgICAgICBz
aGlmdCgpOworICAgICAgICAgICAgdG9rZW4gPSBBUlJPV0ZVTkNUSU9OOworICAgICAgICAgICAg
CisgICAgICAgICAgICB0b2tlbkRhdGEtPmxpbmUgPSBzYXZlZGxpbmVOdW1iZXI7CisgICAgICAg
ICAgICB0b2tlbkRhdGEtPm9mZnNldCA9IHNhdmVkT2Zmc2V0OworICAgICAgICAgICAgdG9rZW5E
YXRhLT5saW5lU3RhcnRPZmZzZXQgPSBzYXZlZExpbmVTdGFydE9mZnNldDsKKyAgICAgICAgICAg
IAorICAgICAgICAgICAgQVNTRVJUKHRva2VuRGF0YS0+b2Zmc2V0ID49IHRva2VuRGF0YS0+bGlu
ZVN0YXJ0T2Zmc2V0KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAg
ICAgICAgdG9rZW4gPSBFUVVBTDsKICAgICAgICAgYnJlYWs7CisgICAgfQogICAgIGNhc2UgQ2hh
cmFjdGVyTGVzczoKICAgICAgICAgc2hpZnQoKTsKICAgICAgICAgaWYgKG1fY3VycmVudCA9PSAn
IScgJiYgcGVlaygxKSA9PSAnLScgJiYgcGVlaygyKSA9PSAnLScpIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTGV4ZXIuaAppbmRleCA4MWI0MzM0ZDg0OWQ4M2U3NWZhZGFmZWY1NDIwODQxNmE4
ZDE2ZDY2Li5lNjFmM2IyNDRiMzFkMmFmMjZhMTNjYTUyOWE2MmU3NTZiOWM4NGMwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCkBAIC04NSw2ICs4NSw5IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldElzUmVwYXJzaW5nKCkgeyBtX2lzUmVwYXJzaW5nID0gdHJ1ZTsgfQogICAgIGJv
b2wgaXNSZXBhcnNpbmcoKSBjb25zdCB7IHJldHVybiBtX2lzUmVwYXJzaW5nOyB9CiAKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHZvaWQgc2V0VG9rZW5Qb3NpdGlv
bihKU1Rva2VuKiB0b2tlblJlY29yZCk7CisjZW5kaWYKICAgICBKU1Rva2VuVHlwZSBsZXgoSlNU
b2tlbiosIHVuc2lnbmVkLCBib29sIHN0cmljdE1vZGUpOwogICAgIGJvb2wgbmV4dFRva2VuSXND
b2xvbigpOwogICAgIGludCBsaW5lTnVtYmVyKCkgY29uc3QgeyByZXR1cm4gbV9saW5lTnVtYmVy
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKaW5kZXggNjMxOGZkNjM2
YmViM2U3YjkxZDI4ZjY0OTZhZWQ5YWY3YmQ4NzE4Yy4uMWQ4OTJjYjcyNzRmNDhjZDU0OGJmNjI2
M2RjMjczODg4ODQxYjQzZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNw
cApAQCAtMzIyLDkgKzMyMiwxMyBAQCBib29sIFBhcnNlcjxMZXhlclR5cGU+OjphbGxvd0F1dG9t
YXRpY1NlbWljb2xvbigpCiB7CiAgICAgcmV0dXJuIG1hdGNoKENMT1NFQlJBQ0UpIHx8IG1hdGNo
KEVPRlRPSykgfHwgbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKTsKIH0KLQorI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgor
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJj
ZUVsZW1lbnRzTW9kZSBtb2RlLCBGdW5jdGlvblBhcnNlVHlwZSB0eXBlKQorI2Vsc2UKIHRlbXBs
YXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3VyY2VFbGVtZW50cyhU
cmVlQnVpbGRlciYgY29udGV4dCwgU291cmNlRWxlbWVudHNNb2RlIG1vZGUpCisjZW5kaWYKIHsK
ICAgICBjb25zdCB1bnNpZ25lZCBsZW5ndGhPZlVzZVN0cmljdExpdGVyYWwgPSAxMjsgLy8gInVz
ZSBzdHJpY3QiLmxlbmd0aAogICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzb3VyY2VFbGVtZW50cyA9
IGNvbnRleHQuY3JlYXRlU291cmNlRWxlbWVudHMoKTsKQEAgLTMzMyw3ICszMzcsMTEgQEAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlU291cmNlRWwKICAgICB1bnNpZ25lZCBkaXJlY3RpdmVMaXRlcmFsTGVuZ3Ro
ID0gMDsKICAgICBhdXRvIHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwogICAgIGJvb2wg
aGFzU2V0U3RyaWN0ID0gZmFsc2U7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICB3aGlsZSAoVHJlZVN0YXRlbWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVudChj
b250ZXh0LCBkaXJlY3RpdmUsICZkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoLCB0eXBlKSkgeworI2Vs
c2UKICAgICB3aGlsZSAoVHJlZVN0YXRlbWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVudChj
b250ZXh0LCBkaXJlY3RpdmUsICZkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoKSkgeworI2VuZGlmICAg
ICAgCiAgICAgICAgIGlmIChtb2RlID09IENoZWNrRm9yU3RyaWN0TW9kZSAmJiAhc2Vlbk5vbkRp
cmVjdGl2ZSkgewogICAgICAgICAgICAgaWYgKGRpcmVjdGl2ZSkgewogICAgICAgICAgICAgICAg
IC8vICJ1c2Ugc3RyaWN0IiBtdXN0IGJlIHRoZSBleGFjdCBsaXRlcmFsIHdpdGhvdXQgZXNjYXBl
IHNlcXVlbmNlcyBvciBsaW5lIGNvbnRpbnVhdGlvbi4KQEAgLTU3MSw2ICs1NzksMzIgQEAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIFBhcnNl
cjxMZXhlclR5cGU+Ojp0cnlQYXIKICAgICByZXR1cm4gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRl
cm4oY29udGV4dCwgRGVjb25zdHJ1Y3RUb0V4cHJlc3Npb25zKTsKIH0KIAorI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgor
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7
CisgICAgQVNTRVJUKG1hdGNoKEFSUk9XRlVOQ1RJT04pKTsKKworICAgIEpTVG9rZW5Mb2NhdGlv
biBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgIHNlbWFudGljRmFpbElmRmFsc2UoY3Vy
cmVudFNjb3BlKCktPmlzRnVuY3Rpb24oKSwgIlJldHVybiBzdGF0ZW1lbnRzIGFyZSBvbmx5IHZh
bGlkIGluc2lkZSBhcnJvdyBmdW5jdGlvbnMiKTsKKyAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9
IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgIEpTVGV4dFBvc2l0aW9uIGVuZCA9IHRva2VuRW5k
UG9zaXRpb24oKTsKKworICAgIG5leHQoKTsKKyAgICBUcmVlRXhwcmVzc2lvbiBleHByID0gcGFy
c2VBcnJvd0V4cHJlc3Npb24oY29udGV4dCk7CisgICAgZmFpbElmRmFsc2UoZXhwciwgIkNhbm5v
dCBwYXJzZSB0aGUgYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgIGVuZCA9IGxhc3RU
b2tlbkVuZFBvc2l0aW9uKCk7CisKKyAgICBib29sIGNvcnJlY0Fycm93RmluaXNoID0gbWF0Y2go
U0VNSUNPTE9OKSB8fCBtYXRjaChDT01NQSkgfHwgbWF0Y2goQ0xPU0VQQVJFTikgfHwgbWF0Y2go
Q0xPU0VCUkFDRSkgfHwgbWF0Y2goQ0xPU0VCUkFDS0VUKSB8fCBtYXRjaChFT0ZUT0spOworICAg
IGZhaWxJZkZhbHNlKGNvcnJlY0Fycm93RmluaXNoLCAiRXhwZWN0ZWQgYSAnOycsICddJywgJ30n
LCAnKScsIG9yICcsJyBmb2xsb3dpbmcgYSBhcnJvdyBmdW5jdGlvbiBzdGF0ZW1lbnQiKTsKKwor
ICAgIGVuZCA9IHRva2VuRW5kUG9zaXRpb24oKTsKKyAgICBzZXRFbmRPZlN0YXRlbWVudCgpOwor
CisgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUmV0dXJuU3RhdGVtZW50KGxvY2F0aW9uLCBleHBy
LCBzdGFydCwgZW5kKTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBl
PgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJu
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZURlY29uc3RydWN0aW9uUGF0dGVybihUcmVlQnVpbGRl
ciYgY29udGV4dCwgRGVjb25zdHJ1Y3Rpb25LaW5kIGtpbmQsIGludCBkZXB0aCkKIHsKQEAgLTEx
MzgsOCArMTE3MiwxMyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1l
bnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQmxvY2tTdGF0ZW1lbgogICAgIHJldHVybiByZXN1
bHQ7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUg
PHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0
YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNv
bnRleHQsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVM
aXRlcmFsTGVuZ3RoLCBGdW5jdGlvblBhcnNlVHlwZSB0eXBlKQorI2Vsc2UKIHRlbXBsYXRlIDx0
eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0
ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250
ZXh0LCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0
ZXJhbExlbmd0aCkKKyNlbmRpZgogewogICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgm
bV9zdGF0ZW1lbnREZXB0aCk7CiAgICAgbV9zdGF0ZW1lbnREZXB0aCsrOwpAQCAtMTE0OCw2ICsx
MTg3LDI4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgZmFpbElmU3RhY2tPdmVyZmxv
dygpOwogICAgIFRyZWVTdGF0ZW1lbnQgcmVzdWx0ID0gMDsKICAgICBib29sIHNob3VsZFNldEVu
ZE9mZnNldCA9IHRydWU7CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIGJvb2wgaGFuZGxlZCA9IGZhbHNlOworICAgIGlmICh0eXBlID09IEFycm93RnVuY3Rpb25Q
YXJzZVR5cGUpIHsKKyAgICAgICAgc3dpdGNoIChtX3Rva2VuLm1fdHlwZSkgeworICAgICAgICBj
YXNlIENMT1NFUEFSRU46CisgICAgICAgIGNhc2UgQ0xPU0VCUkFDS0VUOgorICAgICAgICBjYXNl
IENPTU1BOgorICAgICAgICBjYXNlIFNFTUlDT0xPTjogeworICAgICAgICAgICAgcmVzdWx0ID0g
MDsKKyAgICAgICAgICAgIGhhbmRsZWQgPSB0cnVlOworICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIH0KKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisK
KyAgICAgICAgaWYgKGhhbmRsZWQpCisgICAgICAgICAgICBnb3RvIGVuZFN0YXRlbWVuZXQ7Cit9
CisjZW5kaWYKKwogICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKICAgICBjYXNlIE9QRU5C
UkFDRToKICAgICAgICAgcmVzdWx0ID0gcGFyc2VCbG9ja1N0YXRlbWVudChjb250ZXh0KTsKQEAg
LTExOTMsNiArMTI1NCwxMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0
ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAgIGNhc2UgQlJF
QUs6CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlQnJlYWtTdGF0ZW1lbnQoY29udGV4dCk7CiAgICAg
ICAgIGJyZWFrOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2Fz
ZSBBUlJPV0ZVTkNUSU9OOgorICAgICAgICByZXN1bHQgPSBwYXJzZUFycm93RnVuY3Rpb25TdGF0
ZW1lbnQoY29udGV4dCk7CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgY2FzZSBSRVRVUk46
CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlUmV0dXJuU3RhdGVtZW50KGNvbnRleHQpOwogICAgICAg
ICBicmVhazsKQEAgLTEyMzQsNiArMTMwMCw4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAg
ICAgICAgIGJyZWFrOwogICAgIH0KIAorZW5kU3RhdGVtZW5ldDoKKwogICAgIGlmIChyZXN1bHQg
JiYgc2hvdWxkU2V0RW5kT2Zmc2V0KQogICAgICAgICBjb250ZXh0LnNldEVuZE9mZnNldChyZXN1
bHQsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ub2Zmc2V0KTsKICAgICByZXR1cm4gcmVzdWx0OwpA
QCAtMTI1NCw2ICsxMzIyLDIzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUZv
cm1hbFBhcmFtZXRlckxpc3QgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRm9yCiAgICAgcmV0dXJu
IGxpc3Q7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxh
dGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZUZ1bmN0aW9uQm9keSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uQm9keShU
cmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBKU1Rva2VuTG9jYXRpb24gc3RhcnRMb2NhdGlv
bih0b2tlbkxvY2F0aW9uKCkpOworICAgIHVuc2lnbmVkIHN0YXJ0Q29sdW1uID0gdG9rZW5Db2x1
bW4oKTsKKworICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0
aCk7CisgICAgbV9zdGF0ZW1lbnREZXB0aCA9IDA7CisgICAgdHlwZW5hbWUgVHJlZUJ1aWxkZXI6
OkZ1bmN0aW9uQm9keUJ1aWxkZXIgYm9keUJ1aWxkZXIoY29uc3RfY2FzdDxWTSo+KG1fdm0pLCBt
X2xleGVyLmdldCgpKTsKKworICAgIGZhaWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMoYm9k
eUJ1aWxkZXIsIENoZWNrRm9yU3RyaWN0TW9kZSwgQXJyb3dGdW5jdGlvblBhcnNlVHlwZSksICJD
YW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGFycm93IGZ1bmN0aW9uIik7CisgICAgdW5zaWduZWQg
ZW5kQ29sdW1uID0gdG9rZW5Db2x1bW4oKTsKKyAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5j
dGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5k
Q29sdW1uLCBzdHJpY3RNb2RlKCkpOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBM
ZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGdW5jdGlvbkJvZHkg
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVyJiBjb250ZXh0
KQogewpAQCAtMTQwOSw2ICsxNDk0LDE2MSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAg
IHJldHVybiB0cnVlOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
K3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbkluZm8oVHJlZUJ1
aWxkZXImIGNvbnRleHQsIEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUsIFBhcnNlckZ1bmN0aW9uSW5m
bzxUcmVlQnVpbGRlcj4mIGluZm8pCit7CisgICAgQXV0b1BvcFNjb3BlUmVmIGZ1bmN0aW9uU2Nv
cGUodGhpcywgcHVzaFNjb3BlKCkpOworICAgIGZ1bmN0aW9uU2NvcGUtPnNldElzRnVuY3Rpb24o
KTsKKyAgICBpbnQgZnVuY3Rpb25OYW1lU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRP
ZmZzZXQ7CisgICAgY29uc3QgSWRlbnRpZmllciogbGFzdEZ1bmN0aW9uTmFtZSA9IG1fbGFzdEZ1
bmN0aW9uTmFtZTsKKyAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBudWxscHRyOworCisgICAgaWYg
KCFtYXRjaChJREVOVCkgJiYgIW1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgc2VtYW50aWNG
YWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7
CisgICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgYW4gYXJyb3cgZnVuY3Rpb24gaW5w
dXQgcGFyYW1ldGVyIik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKG1hdGNoKE9QRU5QQVJF
TikpIHsKKyAgICAgICAgICAgIGNvbnN1bWUoT1BFTlBBUkVOKTsKKworICAgICAgICAgICAgaWYg
KCFtYXRjaChDTE9TRVBBUkVOKSkgeworICAgICAgICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9
IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhjb250ZXh0KTsKKyAgICAgICAgICAgICAgICBmYWlsSWZG
YWxzZShpbmZvLnBhcmFtZXRlcnMsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAi
LCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOworICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICBjb25zdW1lT3JGYWlsKENMT1NFUEFSRU4sICJFeHBlY3RlZCBhICcpJyBvciBhICcsJyBh
ZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgaW5mby5wYXJhbWV0ZXJzID0gcGFyc2VGb3JtYWxQYXJhbWV0ZXJzKGNvbnRleHQpOwor
ICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBh
cmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAg
ICAgfQorICAgIH0KKworICAgIG1hdGNoT3JGYWlsKEFSUk9XRlVOQ1RJT04sICJFeHBlY3RlZCBh
ICc9PicgYWZ0ZXIgYXJyb3cgZnVuY3Rpb24gcGFyYW1ldGVyIGRlY2xhcmF0aW9uIik7CisKKyAg
ICBpbmZvLmFycm93RnVuY3Rpb25PZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CisgICAg
CisgICAgaW5mby5vcGVuQnJhY2VPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CisgICAg
aW5mby5ib2R5U3RhcnRMaW5lID0gdG9rZW5MaW5lKCk7CisgICAgaW5mby5ib2R5U3RhcnRDb2x1
bW4gPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQgLSBtX3Rva2VuLm1fZGF0YS5saW5lU3RhcnRPZmZz
ZXQ7CisKKyAgICBKU1Rva2VuTG9jYXRpb24gc3RhcnRMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkp
OworCisgICAgLy8gSWYgd2Uga25vdyBhYm91dCB0aGlzIGZ1bmN0aW9uIGFscmVhZHksIHdlIGNh
biB1c2UgdGhlIGNhY2hlZCBpbmZvIGFuZCBza2lwIHRoZSBwYXJzZXIgdG8gdGhlIGVuZCBvZiB0
aGUgZnVuY3Rpb24uCisgICAgaWYgKGNvbnN0IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKiBjYWNo
ZWRJbmZvID0gVHJlZUJ1aWxkZXI6OkNhblVzZUZ1bmN0aW9uQ2FjaGUgPyBmaW5kQ2FjaGVkRnVu
Y3Rpb25JbmZvKGluZm8ub3BlbkJyYWNlT2Zmc2V0KSA6IDApIHsKKyAgICAgICAgLy8gSWYgd2Un
cmUgaW4gYSBzdHJpY3QgY29udGV4dCwgdGhlIGNhY2hlZCBmdW5jdGlvbiBpbmZvIG11c3Qgc2F5
IGl0IHdhcyBzdHJpY3QgdG9vLgorICAgICAgICBBU1NFUlQoIXN0cmljdE1vZGUoKSB8fCBjYWNo
ZWRJbmZvLT5zdHJpY3RNb2RlKTsKKyAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGVuZExvY2F0aW9u
OworCisgICAgICAgIGVuZExvY2F0aW9uLmxpbmUgPSBjYWNoZWRJbmZvLT5jbG9zZUJyYWNlTGlu
ZTsKKyAgICAgICAgZW5kTG9jYXRpb24uc3RhcnRPZmZzZXQgPSBjYWNoZWRJbmZvLT5jbG9zZUJy
YWNlT2Zmc2V0OworICAgICAgICBlbmRMb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQgPSBjYWNoZWRJ
bmZvLT5jbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0OworCisgICAgICAgIGJvb2wgZW5kQ29sdW1u
SXNPblN0YXJ0TGluZSA9IChlbmRMb2NhdGlvbi5saW5lID09IGluZm8uYm9keVN0YXJ0TGluZSk7
CisgICAgICAgIEFTU0VSVChlbmRMb2NhdGlvbi5zdGFydE9mZnNldCA+PSBlbmRMb2NhdGlvbi5s
aW5lU3RhcnRPZmZzZXQpOworICAgICAgICB1bnNpZ25lZCBib2R5RW5kQ29sdW1uID0gZW5kQ29s
dW1uSXNPblN0YXJ0TGluZSA/CisgICAgICAgIGVuZExvY2F0aW9uLnN0YXJ0T2Zmc2V0IC0gbV90
b2tlbi5tX2RhdGEubGluZVN0YXJ0T2Zmc2V0IDoKKyAgICAgICAgZW5kTG9jYXRpb24uc3RhcnRP
ZmZzZXQgLSBlbmRMb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQ7CisgICAgICAgIHVuc2lnbmVkIGN1
cnJlbnRMaW5lU3RhcnRPZmZzZXQgPSBtX3Rva2VuLm1fbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0
OworCisgICAgICAgIGluZm8uYm9keSA9IGNvbnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0YXJ0
TG9jYXRpb24sIGVuZExvY2F0aW9uLCBpbmZvLmJvZHlTdGFydENvbHVtbiwgYm9keUVuZENvbHVt
biwgY2FjaGVkSW5mby0+c3RyaWN0TW9kZSk7CisKKyAgICAgICAgZnVuY3Rpb25TY29wZS0+cmVz
dG9yZUZyb21Tb3VyY2VQcm92aWRlckNhY2hlKGNhY2hlZEluZm8pOworICAgICAgICBmYWlsSWZG
YWxzZShwb3BTY29wZShmdW5jdGlvblNjb3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFi
bGVJbmZvKSwgIlBhcnNlciBlcnJvciIpOworCisgICAgICAgIGluZm8uY2xvc2VCcmFjZU9mZnNl
dCA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VPZmZzZXQ7CisgICAgICAgIGluZm8uYXJyb3dGdW5j
dGlvbkJvZHlUeXBlID0gY2FjaGVkSW5mby0+aXNCb2R5QXJyb3dGdW5jdGlvbkJsb2NrID8gQXJy
b3dGdW5jdGlvbkJvZHlCbG9jayA6IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbjsKKworICAg
ICAgICBjb250ZXh0LnNldEZ1bmN0aW9uTmFtZVN0YXJ0KGluZm8uYm9keSwgZnVuY3Rpb25OYW1l
U3RhcnQpOworICAgICAgICAKKyAgICAgICAgbV90b2tlbiA9IGluZm8uYXJyb3dGdW5jdGlvbkJv
ZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2sgPyBjYWNoZWRJbmZvLT5jbG9zZUJyYWNl
VG9rZW4oKSA6IG1fdG9rZW4gPSBjYWNoZWRJbmZvLT5lbmRBcnJvd0Z1bmN0aW9uVG9rZW4oKTsK
KyAgICAgICAgCisgICAgICAgIGlmIChlbmRDb2x1bW5Jc09uU3RhcnRMaW5lKQorICAgICAgICAg
ICAgbV90b2tlbi5tX2xvY2F0aW9uLmxpbmVTdGFydE9mZnNldCA9IGN1cnJlbnRMaW5lU3RhcnRP
ZmZzZXQ7CisKKyAgICAgICAgbV9sZXhlci0+c2V0T2Zmc2V0KG1fdG9rZW4ubV9sb2NhdGlvbi5l
bmRPZmZzZXQsIG1fdG9rZW4ubV9sb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQpOworICAgICAgICBt
X2xleGVyLT5zZXRMaW5lTnVtYmVyKG1fdG9rZW4ubV9sb2NhdGlvbi5saW5lKTsKKworICAgICAg
ICBjb250ZXh0LnNldEVuZE9mZnNldChpbmZvLmJvZHksIG1fbGV4ZXItPmN1cnJlbnRPZmZzZXQo
KSk7CisgICAgICAgIAorICAgICAgICBpZiAoaW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUgPT0g
QXJyb3dGdW5jdGlvbkJvZHlCbG9jaykKKyAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgCisg
ICAgICAgIGluZm8uYm9keUVuZExpbmUgPSBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmU7Cisg
ICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBsYXN0
RnVuY3Rpb25OYW1lOworICAgIFBhcnNlclN0YXRlIG9sZFN0YXRlID0gc2F2ZVN0YXRlKCk7CisK
KyAgICBTYXZlUG9pbnQgc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgbmV4dCgp
OworICAgIC8vIENoZWNrIGlmIGFycm93IGJvZHkgc3RhcnQgd2l0aCB7LiBJZiBpdCB0cnVlIGl0
IG1lYW4gdGhhdCBhcnJvdyBmdW5jdGlvbiBpcyBGYXQgYXJyb3cgZnVuY3Rpb24KKyAgICAvLyBh
bmQgd2UgbmVlZCB1c2UgY29tbW9uIGFwcHJvYWNoIHRvIHBhcnNlIGZ1bmN0aW9uIGJvZHkKKyAg
ICAKKyAgICBpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlwZSA9IG1hdGNoKE9QRU5CUkFDRSkgPyBB
cnJvd0Z1bmN0aW9uQm9keUJsb2NrIDogQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOworICAg
IAorICAgIGlmIChpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9k
eUJsb2NrKSB7CisgICAgICAgIGluZm8ub3BlbkJyYWNlT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEu
b2Zmc2V0OworICAgICAgICBpbmZvLmJvZHlTdGFydExpbmUgPSB0b2tlbkxpbmUoKTsKKyAgICAg
ICAgaW5mby5ib2R5U3RhcnRDb2x1bW4gPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQgLSBtX3Rva2Vu
Lm1fZGF0YS5saW5lU3RhcnRPZmZzZXQ7CisgICAgICAgIAorICAgICAgICBpbmZvLmJvZHkgPSBw
YXJzZUZ1bmN0aW9uQm9keShjb250ZXh0KTsKKyAgICB9IGVsc2UgeworICAgICAgICByZXN0b3Jl
U2F2ZVBvaW50KHNhdmVQb2ludCk7CisgICAgICAgIGluZm8uYm9keSA9IHBhcnNlQXJyb3dGdW5j
dGlvbkJvZHkoY29udGV4dCk7CisgICAgfQorCisgICAgcmVzdG9yZVN0YXRlKG9sZFN0YXRlKTsK
KyAgICBmYWlsSWZGYWxzZShpbmZvLmJvZHksICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgdGhp
cyAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOworICAgIGNvbnRleHQuc2V0RW5kT2Zm
c2V0KGluZm8uYm9keSwgbV9sZXhlci0+Y3VycmVudE9mZnNldCgpKTsKKyAgICBpZiAoZnVuY3Rp
b25TY29wZS0+c3RyaWN0TW9kZSgpICYmIGluZm8ubmFtZSkgeworICAgICAgICBSRUxFQVNFX0FT
U0VSVChtb2RlID09IEZ1bmN0aW9uTW9kZSk7CisgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZSht
X3ZtLT5wcm9wZXJ0eU5hbWVzLT5hcmd1bWVudHMgPT0gKmluZm8ubmFtZSwgIiciLCBpbmZvLm5h
bWUtPmltcGwoKSwgIicgaXMgbm90IGEgdmFsaWQgZnVuY3Rpb24gbmFtZSBpbiBzdHJpY3QgbW9k
ZSIpOworICAgICAgICBzZW1hbnRpY0ZhaWxJZlRydWUobV92bS0+cHJvcGVydHlOYW1lcy0+ZXZh
bCA9PSAqaW5mby5uYW1lLCAiJyIsIGluZm8ubmFtZS0+aW1wbCgpLCAiJyBpcyBub3QgYSB2YWxp
ZCBmdW5jdGlvbiBuYW1lIGluIHN0cmljdCBtb2RlIik7CisgICAgfQorICAgIAorICAgIGluZm8u
Y2xvc2VCcmFjZU9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKKyAgICAKKyAgICB1bnNp
Z25lZCBjbG9zZUJyYWNlTGluZSA9IG1fdG9rZW4ubV9kYXRhLmxpbmU7CisgICAgdW5zaWduZWQg
Y2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLmxpbmVTdGFydE9mZnNl
dDsKKyAgICBib29sIGlzQm9keUFycm93RnVuY3Rpb25CbG9jayA9IGluZm8uYXJyb3dGdW5jdGlv
bkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2s7CisKKyAgICAvLyBDYWNoZSB0aGUg
dG9rZW5pemVyIHN0YXRlIGFuZCB0aGUgZnVuY3Rpb24gc2NvcGUgdGhlIGZpcnN0IHRpbWUgdGhl
IGZ1bmN0aW9uIGlzIHBhcnNlZC4KKyAgICAvLyBBbnkgZnV0dXJlIHJlcGFyc2luZyBjYW4gdGhl
biBza2lwIHRoZSBmdW5jdGlvbi4KKyAgICBzdGF0aWMgY29uc3QgaW50IG1pbmltdW1GdW5jdGlv
bkxlbmd0aFRvQ2FjaGUgPSAxNjsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8U291cmNlUHJvdmlkZXJD
YWNoZUl0ZW0+IG5ld0luZm87CisgICAgaW50IGZ1bmN0aW9uTGVuZ3RoID0gaW5mby5jbG9zZUJy
YWNlT2Zmc2V0IC0gaW5mby5vcGVuQnJhY2VPZmZzZXQ7CisgICAgaWYgKFRyZWVCdWlsZGVyOjpD
YW5Vc2VGdW5jdGlvbkNhY2hlICYmIG1fZnVuY3Rpb25DYWNoZSAmJiBmdW5jdGlvbkxlbmd0aCA+
IG1pbmltdW1GdW5jdGlvbkxlbmd0aFRvQ2FjaGUpIHsKKyAgICAgICAgU291cmNlUHJvdmlkZXJD
YWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMgcGFyYW1ldGVyczsKKyAgICAgICAgcGFyYW1ldGVy
cy5mdW5jdGlvbk5hbWVTdGFydCA9IGZ1bmN0aW9uTmFtZVN0YXJ0OworICAgICAgICBwYXJhbWV0
ZXJzLmNsb3NlQnJhY2VMaW5lID0gY2xvc2VCcmFjZUxpbmU7CisgICAgICAgIHBhcmFtZXRlcnMu
Y2xvc2VCcmFjZU9mZnNldCA9IGluZm8uY2xvc2VCcmFjZU9mZnNldDsKKyAgICAgICAgcGFyYW1l
dGVycy5jbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0ID0gY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNl
dDsKKyAgICAgICAgcGFyYW1ldGVycy5pc0JvZHlBcnJvd0Z1bmN0aW9uQmxvY2sgPSBpc0JvZHlB
cnJvd0Z1bmN0aW9uQmxvY2s7CisgICAgICAgIHBhcmFtZXRlcnMudG9rZW5UeXBlID0gbV90b2tl
bi5tX3R5cGU7CisgICAgICAgIAorICAgICAgICBmdW5jdGlvblNjb3BlLT5maWxsUGFyYW1ldGVy
c0ZvclNvdXJjZVByb3ZpZGVyQ2FjaGUocGFyYW1ldGVycyk7CisgICAgICAgIG5ld0luZm8gPSBT
b3VyY2VQcm92aWRlckNhY2hlSXRlbTo6Y3JlYXRlKHBhcmFtZXRlcnMpOworICAgIH0KKyAgICBj
b250ZXh0LnNldEZ1bmN0aW9uTmFtZVN0YXJ0KGluZm8uYm9keSwgZnVuY3Rpb25OYW1lU3RhcnQp
OworCisgICAgZmFpbElmRmFsc2UocG9wU2NvcGUoZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6
Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQYXJzZXIgZXJyb3IiKTsKKworICAgIGlmIChpbmZv
LmFycm93RnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrKSB7CisgICAg
ICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0UsICJFeHBlY3RlZCBhIGNsb3NpbmcgJ30nIGFmdGVy
IGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgbmV4
dCgpOworICAgIH0gZWxzZSB7CisgICAgICAgIGJvb2wgaXNFbmRPZkFycm93RnVuY3Rpb24gPSBt
YXRjaChTRU1JQ09MT04pIHx8IG1hdGNoKENPTU1BKSB8fCBtYXRjaChDTE9TRVBBUkVOKSB8fCBt
YXRjaChDTE9TRUJSQUNFKSB8fCBtYXRjaChDTE9TRUJSQUNLRVQpOworICAgICAgICBmYWlsSWZG
YWxzZShpc0VuZE9mQXJyb3dGdW5jdGlvbiwgIkV4cGVjdGVkIHRoZSBjbG9zaW5nICc7JyAnLCcg
J10nICcpJyAnfScgYWZ0ZXIgYXJyb3cgZnVuY3Rpb24iKTsKKyAgICB9CisKKyAgICBpZiAobmV3
SW5mbykKKyAgICAgICAgbV9mdW5jdGlvbkNhY2hlLT5hZGQoaW5mby5vcGVuQnJhY2VPZmZzZXQs
IFdURjo6bW92ZShuZXdJbmZvKSk7CisgICAgCisgICAgaW5mby5ib2R5RW5kTGluZSA9IG1fbGFz
dFRva2VuRW5kUG9zaXRpb24ubGluZTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKyNlbmRpZgorCiB0
ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGFyYXRp
b24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7CkBAIC0xNzIyLDYgKzE5NjIsMTggQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUlmU3RhdGVtZW50KFQKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVJZlN0YXRlbWVudChp
ZkxvY2F0aW9uLCBjb25kaXRpb24sIHRydWVCbG9jaywgc3RhdGVtZW50U3RhY2subGFzdCgpLCBz
dGFydCwgZW5kKTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0
ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0V4cHJlc3Npb24o
VHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAgZmFpbElmU3RhY2tPdmVyZmxvdygpOworICAg
IFRyZWVFeHByZXNzaW9uIG5vZGUgPSBwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKGNvbnRleHQp
OworICAgIGZhaWxJZkZhbHNlKG5vZGUsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lvbiIpOworICAg
IGNvbnRleHQuc2V0RW5kT2Zmc2V0KG5vZGUsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ub2Zmc2V0
KTsKKyAgICByZXR1cm4gbm9kZTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4
ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewpA
QCAtMTc2OSw2ICsyMDIxLDQ0IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBUcmVlQnVpbGRlcj4gVHJl
ZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXNzaWdubWVuCiAgICAgICAgIH0K
ICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlUG9pbnQpOwogICAgIH0KKworCisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVu
Y3Rpb25Qb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgIGJvb2wgYXJyb3dGdW5jdGlvbkVt
cHR5TGlzdCA9IGZhbHNlOworICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgIG5l
eHQoKTsKKyAgICAgICAgaWYgKG1hdGNoKENMT1NFUEFSRU4pKSB7CisgICAgICAgICAgICBuZXh0
KCk7CisKKyAgICAgICAgICAgIGlmIChtYXRjaChBUlJPV0ZVTkNUSU9OKSkKKyAgICAgICAgICAg
ICAgICBhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0ID0gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAg
IGlmICghYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCkKKyAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9p
bnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAgfQorI2VuZGlmCisKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFRyZWVFeHByZXNzaW9uIGxoczsKKyAgICBp
ZiAoIWFycm93RnVuY3Rpb25FbXB0eUxpc3QpIHsKKyAgICAgICAgbGhzID0gcGFyc2VDb25kaXRp
b25hbEV4cHJlc3Npb24oY29udGV4dCk7CisgICAgICAgIGZhaWxJZkZhbHNlKGxocywgIkNhbhlu
b3QgcGFyc2UgZXhwcmVzc2lvbiIpOworICAgICAgICBpZiAoaW5pdGlhbE5vbkxIU0NvdW50ICE9
IG1fbm9uTEhTQ291bnQpIHsKKyAgICAgICAgICAgIGlmIChtX3Rva2VuLm1fdHlwZSA+PSBFUVVB
TCAmJiBtX3Rva2VuLm1fdHlwZSA8PSBPUkVRVUFMKQorICAgICAgICAgICAgICAgIHNlbWFudGlj
RmFpbCgiTGVmdCBoYW5kIHNpZGUgb2Ygb3BlcmF0b3IgJyIsIGdldFRva2VuKCksICInIG11c3Qg
YmUgYSByZWZlcmVuY2UiKTsKKworICAgICAgICAgICAgcmV0dXJuIGxoczsKKyAgICAgICAgfQor
ICAgIH0KKyAgICAKKyAgICBpZiAobWF0Y2goQVJST1dGVU5DVElPTikpIHsKKyAgICAgICAgcmVz
dG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAgbGhzID0gcGFy
c2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihjb250ZXh0KTsKKyAgICAgICAgcmV0dXJuIGxoczsKKyAg
ICB9CisjZWxzZQogICAgIFRyZWVFeHByZXNzaW9uIGxocyA9IHBhcnNlQ29uZGl0aW9uYWxFeHBy
ZXNzaW9uKGNvbnRleHQpOwogICAgIGZhaWxJZkZhbHNlKGxocywgIkNhbm5vdCBwYXJzZSBleHBy
ZXNzaW9uIik7CiAgICAgaWYgKGluaXRpYWxOb25MSFNDb3VudCAhPSBtX25vbkxIU0NvdW50KSB7
CkBAIC0xNzc3LDYgKzIwNjcsNyBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRy
ZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbgogCiAgICAgICAg
IHJldHVybiBsaHM7CiAgICAgfQorI2VuZGlmCiAgICAgCiAgICAgaW50IGFzc2lnbm1lbnRTdGFj
ayA9IDA7CiAgICAgT3BlcmF0b3Igb3A7CkBAIC0yMjA5LDYgKzI1MDAsMjMgQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VQcmltYXJ5RXhwcmUKICAgICAgICAgcmV0dXJuIGNvbnRleHQudGhpc0V4cHIobG9jYXRpb24p
OwogICAgIH0KICAgICBjYXNlIElERU5UOiB7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVh
dGVTYXZlUG9pbnQoKTsKKyAgICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0
UG9zaXRpb24oKTsKKyAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1f
ZGF0YS5pZGVudDsKKyAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRp
b24oKSk7CisgICAgICAgIG5leHQoKTsKKworICAgICAgICBpZiAoIW1hdGNoKEFSUk9XRlVOQ1RJ
T04pKSB7CisgICAgICAgICAgICBjdXJyZW50U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRlbnQsIG1f
dm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmlkZW50KTsKKyAgICAgICAgICAgIG1fbGFzdElk
ZW50aWZpZXIgPSBpZGVudDsKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJlc29s
dmUobG9jYXRpb24sIGlkZW50LCBzdGFydCk7CisgICAgICAgIH0KKworICAgICAgICByZXN0b3Jl
U2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICBUcmVlRXhwcmVzc2lv
biBsaHMgPSBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKGNvbnRleHQpOworICAgICAgICByZXR1
cm4gbGhzOworI2Vsc2UKICAgICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0
UG9zaXRpb24oKTsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1f
ZGF0YS5pZGVudDsKICAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRp
b24oKSk7CkBAIC0yMjE2LDYgKzI1MjQsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHByZQogICAg
ICAgICBjdXJyZW50U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRlbnQsIG1fdm0tPnByb3BlcnR5TmFt
ZXMtPmV2YWwgPT0gKmlkZW50KTsKICAgICAgICAgbV9sYXN0SWRlbnRpZmllciA9IGlkZW50Owog
ICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVSZXNvbHZlKGxvY2F0aW9uLCBpZGVudCwgc3Rh
cnQpOworI2VuZGlmCiAgICAgfQogICAgIGNhc2UgU1RSSU5HOiB7CiAgICAgICAgIGNvbnN0IElk
ZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CkBAIC0yMzg4LDYgKzI2OTcs
MzIgQEAgZW5kTWVtYmVyRXhwcmVzc2lvbjoKICAgICByZXR1cm4gYmFzZTsKIH0KIAorI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJU
eXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihUcmVlQnVpbGRlciYgY29udGV4
dCkKK3sKKyAgICBUcmVlRXhwcmVzc2lvbiBiYXNlID0gMDsKKyAgICBKU1RleHRQb3NpdGlvbiBl
eHByZXNzaW9uU3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICBpbnQgbmV3Q291bnQg
PSAwOworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbjsKKworICAgIGlmIChtYXRjaChJREVO
VCkgfHwgbWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdv
cmRTdGFydCA9IHRva2VuU3RhcnQoKTsKKyAgICAgICAgbG9jYXRpb24gPSB0b2tlbkxvY2F0aW9u
KCk7CisgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gaW5mbzsKKyAgICAg
ICAgaW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyOworICAg
ICAgICBmYWlsSWZGYWxzZSgocGFyc2VBcnJvd0Z1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlv
bk1vZGUsIGluZm8pKSwgIkNhbm5vdCBwYXJzZSBmdW5jdGlvbiBleHByZXNzaW9uIik7CisgICAg
ICAgIGJhc2UgPSBjb250ZXh0LmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKGxvY2F0aW9uLCBpbmZv
LCBmdW5jdGlvbktleXdvcmRTdGFydCk7CisgICAgfSBlbHNlCisgICAgICAgIGJhc2UgPSBwYXJz
ZVByaW1hcnlFeHByZXNzaW9uKGNvbnRleHQpOworCisgICAgZmFpbElmRmFsc2UoYmFzZSwgIkNh
bm5vdCBwYXJzZSBiYXNlIGV4cHJlc3Npb24iKTsKKyAgICB3aGlsZSAobmV3Q291bnQtLSkKKyAg
ICAgICAgYmFzZSA9IGNvbnRleHQuY3JlYXRlTmV3RXhwcihsb2NhdGlvbiwgYmFzZSwgZXhwcmVz
c2lvblN0YXJ0LCBsYXN0VG9rZW5FbmRQb3NpdGlvbigpKTsKKyAgICByZXR1cm4gYmFzZTsKK30K
KyNlbmRpZgorCiBzdGF0aWMgY29uc3QgY2hhciogb3BlcmF0b3JTdHJpbmcoYm9vbCBwcmVmaXgs
IHVuc2lnbmVkIHRvaykKIHsKICAgICBzd2l0Y2ggKHRvaykgewpAQCAtMjYwMyw3ICsyOTM4LDcg
QEAgdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4gdm9pZCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cHJpbnRVbmV4cGVjdGVkVG9rZW5UZXh0KFcKICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAg
CiAgICAgY2FzZSBJREVOVDoKLSAgICAgICAgb3V0LnByaW50KCJVbmV4cGVjdGVkIGlkZW50aWZp
ZXIgJyIsIGdldFRva2VuKCksICInIik7CisgICAgICAgIG91dC5wcmludCgiVW5leHBlY3RlZCBp
ZGVudGlmaWVyIDQgJyIsIGdldFRva2VuKCksICInIik7CiAgICAgICAgIHJldHVybjsKIAogICAg
IGRlZmF1bHQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNl
ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCA1MDFjMDM2
NDRkNTU5N2I4YTFhMWFmM2U5ZjljODJlMTg0ZWQyZDhjLi40ZjM3N2NmMTU3ZjdiZjkyNDIyMzMy
OWQ3ZDBmM2Q4NDE5ODE3MzY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgK
QEAgLTgwLDYgKzgwLDkgQEAgY2xhc3MgU291cmNlQ29kZTsKIENPTVBJTEVfQVNTRVJUKExhc3RV
bnRhZ2dlZFRva2VuIDwgNjQsIExlc3NUaGFuNjRVbnRhZ2dlZFRva2Vucyk7CiAKIGVudW0gU291
cmNlRWxlbWVudHNNb2RlIHsgQ2hlY2tGb3JTdHJpY3RNb2RlLCBEb250Q2hlY2tGb3JTdHJpY3RN
b2RlIH07CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK2VudW0gRnVuY3Rp
b25QYXJzZVR5cGUgeyBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlLCBBcnJvd0Z1bmN0aW9uUGFy
c2VUeXBlIH07CisjZW5kaWYKIGVudW0gRnVuY3Rpb25SZXF1aXJlbWVudHMgeyBGdW5jdGlvbk5v
UmVxdWlyZW1lbnRzLCBGdW5jdGlvbk5lZWRzTmFtZSB9OwogZW51bSBGdW5jdGlvblBhcnNlTW9k
ZSB7CiAgICAgRnVuY3Rpb25Nb2RlLApAQCAtNzAwLDkgKzcwMywxNSBAQCBwcml2YXRlOgogICAg
ICAgICB9CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIAorCisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwg
U291cmNlRWxlbWVudHNNb2RlLCBGdW5jdGlvblBhcnNlVHlwZSB0eXBlID0gU3RhbmRhcmRGdW5j
dGlvblBhcnNlVHlwZSk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3Rh
dGVtZW50IHBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRp
cmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwLCBGdW5jdGlvblBh
cnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSA9IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwor
I2Vsc2UKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50
cyBwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxlbWVudHNNb2RlKTsK
ICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VTdGF0
ZW1lbnQoVHJlZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25l
ZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDApOworI2VuZGlmCisKICNpZiBFTkFCTEUoRVM2
X0NMQVNTX1NZTlRBWCkKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0
ZW1lbnQgcGFyc2VDbGFzc0RlY2xhcmF0aW9uKFRyZWVCdWlsZGVyJik7CiAjZW5kaWYKQEAgLTcy
Nyw2ICs3MzYsOSBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVN0YXRlbWVudCBwYXJzZUlmU3RhdGVtZW50KFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQmxvY2tTdGF0ZW1lbnQo
VHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHBy
ZXNzaW9uIHBhcnNlRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOworI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
RXhwcmVzc2lvbiBwYXJzZUFycm93RXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOworI2VuZGlmCiAg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFzc2ln
bm1lbnRFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNlQ29uZGl0aW9uYWxFeHBy
ZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBB
TFdBWVNfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNlQmluYXJ5RXhwcmVzc2lvbihUcmVlQnVp
bGRlciYpOwpAQCAtNzQ2LDYgKzc1OCwxMyBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VWYXJEZWNsYXJhdGlvbkxpc3QoVHJl
ZUJ1aWxkZXImLCBpbnQmIGRlY2xhcmF0aW9ucywgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiYg
bGFzdFBhdHRlcm4sIFRyZWVFeHByZXNzaW9uJiBsYXN0SW5pdGlhbGl6ZXIsIEpTVGV4dFBvc2l0
aW9uJiBpZGVudFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdFN0YXJ0LCBKU1RleHRQb3NpdGlv
biYgaW5pdEVuZCwgVmFyRGVjbGFyYXRpb25MaXN0Q29udGV4dCk7CiAgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZUNvbnN0RGVjbExpc3QgcGFyc2VDb25z
dERlY2xhcmF0aW9uTGlzdChUcmVlQnVpbGRlciYpOwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0
ZW1lbnQgcGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJik7CisgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFycm93RnVuY3Rp
b25XcmFwcGVyKFRyZWVCdWlsZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBORVZFUl9JTkxJTkUgYm9vbCBwYXJzZUFycm93RnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiwg
RnVuY3Rpb25QYXJzZU1vZGUsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mKTsKKyAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZ1bmN0aW9u
Qm9keSBwYXJzZUFycm93RnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVyJik7CisjZW5kaWYKKwogICAg
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVj
dGlvblBhdHRlcm4gY3JlYXRlQmluZGluZ1BhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0cnVj
dGlvbktpbmQsIGNvbnN0IElkZW50aWZpZXImLCBpbnQgZGVwdGgsIEpTVG9rZW4pOwogICAgIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlv
blBhdHRlcm4gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0
cnVjdGlvbktpbmQsIGludCBkZXB0aCA9IDApOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gdHJ5UGFyc2VEZWNv
bnN0cnVjdGlvblBhdHRlcm5FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CkBAIC03NjYsNiArNzg1
LDEzIEBAIHByaXZhdGU6CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIGFsbG93QXV0b21hdGlj
U2VtaWNvbG9uKCk7CiAgICAgfQorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICB2b2lkIHNldEVuZE9mU3RhdGVtZW50KCkKKyAgICB7CisgICAgICAgIG1fbGV4ZXIt
PnNldFRva2VuUG9zaXRpb24oJm1fdG9rZW4pOworICAgIH0KKyNlbmRpZgogICAgIAogICAgIGJv
b2wgY2FuUmVjdXJzZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKaW5kZXggZTIwODI0NTQxYTMwNjE2ZGY1YjllMmIxNjc3
ZGEwNzllOWJlNzdhNS4uNjIwYWI3ZTVlYTM1ZDA0NTU5NzRiNzlkNTc1ZTBjOGEzOWMyYzZiNyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbklu
Zm8uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5m
by5oCkBAIC0yOCw2ICsyOCwxMCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAorI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitlbnVtIEFycm93RnVuY3Rpb25Cb2R5VHlwZSB7IEFy
cm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiwgQXJyb3dGdW5jdGlvbkJvZHlCbG9ja307CisjZW5k
aWYKKyAgICAKIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4KIHN0cnVjdCBQYXJzZXJGdW5j
dGlvbkluZm8gewogICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUgPSAwOwpAQCAtMzgsNiArNDIs
MTAgQEAgc3RydWN0IFBhcnNlckZ1bmN0aW9uSW5mbyB7CiAgICAgaW50IGJvZHlTdGFydExpbmUg
PSAwOwogICAgIGludCBib2R5RW5kTGluZSA9IDA7CiAgICAgdW5zaWduZWQgYm9keVN0YXJ0Q29s
dW1uID0gMDsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHVuc2ln
bmVkIGFycm93RnVuY3Rpb25PZmZzZXQgPSAwOworICAgIEFycm93RnVuY3Rpb25Cb2R5VHlwZSBh
cnJvd0Z1bmN0aW9uQm9keVR5cGUgPSBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb247CisjZW5k
aWYKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFy
c2VyVG9rZW5zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5o
CmluZGV4IDNmZjI3OTg2NmFmNmUyODY5MGJjMDdjNWY3MjFiYzdhMzgwNTZlYTIuLjRjNjNkYzEy
MDAwNzQyMWU5MTNjMTM5NGQzYTkxOGE5YWEyYjBiZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaApAQCAtNzUsNiArNzUsOSBAQCBlbnVtIEpTVG9rZW5U
eXBlIHsKICAgICBGSU5BTExZLAogICAgIERFQlVHR0VSLAogICAgIEVMU0UsCisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBBUlJPV0ZVTkNUSU9OLAorI2VuZGlmCiAj
aWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAgICAgQ0xBU1NUT0tFTiwKICAgICBFWFRFTkRT
LApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaAppbmRleCA3M2QyM2Ri
ODJhZjI1ZWE0NmMwZjg5Nzg1Y2U0MjRiYjYwZWI2MWE3Li5lMjFkOTgyZWEyMjNiYmRjOWQ1ODA5
Y2YzNDExNzdiYjJmZWU1YmU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1NvdXJjZUNvZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJj
ZUNvZGUuaApAQCAtMTA0LDYgKzEwNCw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBpbnQg
bGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9lbmRDaGFyIC0gbV9zdGFydENoYXI7IH0KICAgICAg
ICAgCiAgICAgICAgIFNvdXJjZUNvZGUgc3ViRXhwcmVzc2lvbih1bnNpZ25lZCBvcGVuQnJhY2Us
IHVuc2lnbmVkIGNsb3NlQnJhY2UsIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbik7Cisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgU291cmNlQ29kZSBz
dWJBcnJvd0V4cHJlc3Npb24odW5zaWduZWQgc3RhcnRBcnJvd0Z1bmN0aW9uLCB1bnNpZ25lZCBl
bmRBcnJvd0Z1bmN0aW9uLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOworI2VuZGlm
CiAKICAgICBwcml2YXRlOgogICAgICAgICBSZWZQdHI8U291cmNlUHJvdmlkZXI+IG1fcHJvdmlk
ZXI7CkBAIC0xMTgsNiArMTIxLDE3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4g
U291cmNlQ29kZShTdHJpbmdTb3VyY2VQcm92aWRlcjo6Y3JlYXRlKHNvdXJjZSwgdXJsLCBzdGFy
dFBvc2l0aW9uKSwgc3RhcnRQb3NpdGlvbi5tX2xpbmUub25lQmFzZWRJbnQoKSwgc3RhcnRQb3Np
dGlvbi5tX2NvbHVtbi5vbmVCYXNlZEludCgpKTsKICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlubGluZSBTb3VyY2VDb2RlIFNvdXJjZUNvZGU6OnN1
YkFycm93RXhwcmVzc2lvbih1bnNpZ25lZCBzdGFydEFycm93RnVuY3Rpb24sIHVuc2lnbmVkIGVu
ZEFycm93RnVuY3Rpb24sIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbikKKyAgICB7Cisg
ICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFycm93RnVuY3Rpb25dID09
ICc9JyAmJiBwcm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFycm93RnVuY3Rpb24gKyAxXSA9PSAn
PicpOworICAgICAgICAvLyBGaXhtZTogVXNlIGJldHRlciBhcHByb2FjaCB0byBjaGVjayBzeW1i
b2wKKyAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24g
LSAxXSA9PSAnLCcgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFd
ID09ICc7JyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0g
JyknIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnXScg
fHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICd9Jyk7Cisg
ICAgICAgIHN0YXJ0Q29sdW1uICs9IDE7IC8vIENvbnZlcnQgdG8gYmFzZSAxLgorICAgICAgICBy
ZXR1cm4gU291cmNlQ29kZShwcm92aWRlcigpLCBzdGFydEFycm93RnVuY3Rpb24sIGVuZEFycm93
RnVuY3Rpb24gLSAxLCBmaXJzdExpbmUsIHN0YXJ0Q29sdW1uKTsKKyAgICB9CisjZW5kaWYKKwog
ICAgIGlubGluZSBTb3VyY2VDb2RlIFNvdXJjZUNvZGU6OnN1YkV4cHJlc3Npb24odW5zaWduZWQg
b3BlbkJyYWNlLCB1bnNpZ25lZCBjbG9zZUJyYWNlLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRD
b2x1bW4pCiAgICAgewogICAgICAgICBBU1NFUlQocHJvdmlkZXIoKS0+c291cmNlKClbb3BlbkJy
YWNlXSA9PSAneycpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9T
b3VyY2VQcm92aWRlckNhY2hlSXRlbS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9T
b3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCmluZGV4IDYzNTM3OWUzZjQ0NTY2OGM1MmI4NzJmNzYx
NmRjYjU5MjFhODI5NDQuLjc3ZDlmODJiYWEwZGI2YzZkMzAxZjNhOGQ1NzcyYmU4MTY1NmE0NzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJD
YWNoZUl0ZW0uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3Zp
ZGVyQ2FjaGVJdGVtLmgKQEAgLTQwLDYgKzQwLDEwIEBAIHN0cnVjdCBTb3VyY2VQcm92aWRlckNh
Y2hlSXRlbUNyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgYm9vbCBuZWVkc0Z1bGxBY3RpdmF0aW9u
OwogICAgIGJvb2wgdXNlc0V2YWw7CiAgICAgYm9vbCBzdHJpY3RNb2RlOworI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgYm9vbCBpc0JvZHlBcnJvd0Z1bmN0aW9uQmxv
Y2s7CisgICAgSlNUb2tlblR5cGUgdG9rZW5UeXBlOworI2VuZGlmCiAgICAgVmVjdG9yPFJlZlB0
cjxTdHJpbmdJbXBsPj4gdXNlZFZhcmlhYmxlczsKICAgICBWZWN0b3I8UmVmUHRyPFN0cmluZ0lt
cGw+PiB3cml0dGVuVmFyaWFibGVzOwogfTsKQEAgLTY4LDYgKzcyLDIxIEBAIHB1YmxpYzoKICAg
ICAgICAgLy8gd2UgZG8gbm90IG5lZWQgdG8gc2V0IGl0IGhlcmUuCiAgICAgICAgIHJldHVybiB0
b2tlbjsKICAgICB9CisgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICBKU1Rva2VuIGVuZEFycm93RnVuY3Rpb25Ub2tlbigpIGNvbnN0CisgICAgeworICAgICAg
ICBKU1Rva2VuIHRva2VuOworICAgICAgICB0b2tlbi5tX3R5cGUgPSB0b2tlblR5cGU7CisgICAg
ICAgIHRva2VuLm1fZGF0YS5vZmZzZXQgPSBjbG9zZUJyYWNlT2Zmc2V0OworICAgICAgICB0b2tl
bi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0ID0gY2xvc2VCcmFjZU9mZnNldDsKKyAgICAgICAgdG9r
ZW4ubV9sb2NhdGlvbi5lbmRPZmZzZXQgPSBjbG9zZUJyYWNlT2Zmc2V0ICsgMTsKKyAgICAgICAg
dG9rZW4ubV9sb2NhdGlvbi5saW5lID0gY2xvc2VCcmFjZUxpbmU7CisgICAgICAgIHRva2VuLm1f
bG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0ID0gY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldDsKKyAg
ICAgICAgCisgICAgICAgIHJldHVybiB0b2tlbjsKKyAgICB9CisjZW5kaWYKIAogICAgIHVuc2ln
bmVkIGZ1bmN0aW9uTmFtZVN0YXJ0IDogMzE7CiAgICAgYm9vbCBuZWVkc0Z1bGxBY3RpdmF0aW9u
IDogMTsKQEAgLTgxLDYgKzEwMCwxMSBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgY2xvc2VCcmFj
ZUxpbmVTdGFydE9mZnNldDsKICAgICB1bnNpZ25lZCB1c2VkVmFyaWFibGVzQ291bnQ7CiAgICAg
dW5zaWduZWQgd3JpdHRlblZhcmlhYmxlc0NvdW50OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgYm9vbCBpc0JvZHlBcnJvd0Z1bmN0aW9uQmxvY2s7CisgICAgSlNU
b2tlblR5cGUgdG9rZW5UeXBlOworI2VuZGlmCisgICAgCiAKICAgICBTdHJpbmdJbXBsKiogdXNl
ZFZhcmlhYmxlcygpIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8U3RyaW5nSW1wbCoqPihtX3Zh
cmlhYmxlcyk7IH0KICAgICBTdHJpbmdJbXBsKiogd3JpdHRlblZhcmlhYmxlcygpIGNvbnN0IHsg
cmV0dXJuIGNvbnN0X2Nhc3Q8U3RyaW5nSW1wbCoqPigmbV92YXJpYWJsZXNbdXNlZFZhcmlhYmxl
c0NvdW50XSk7IH0KQEAgLTExNSw2ICsxMzksMTAgQEAgaW5saW5lIFNvdXJjZVByb3ZpZGVyQ2Fj
aGVJdGVtOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbShjb25zdCBTb3VyY2VQcm92aWRlckNhY2gK
ICAgICAsIGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQocGFyYW1ldGVycy5jbG9zZUJyYWNlTGlu
ZVN0YXJ0T2Zmc2V0KQogICAgICwgdXNlZFZhcmlhYmxlc0NvdW50KHBhcmFtZXRlcnMudXNlZFZh
cmlhYmxlcy5zaXplKCkpCiAgICAgLCB3cml0dGVuVmFyaWFibGVzQ291bnQocGFyYW1ldGVycy53
cml0dGVuVmFyaWFibGVzLnNpemUoKSkKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgICwgaXNCb2R5QXJyb3dGdW5jdGlvbkJsb2NrKHBhcmFtZXRlcnMuaXNCb2R5QXJy
b3dGdW5jdGlvbkJsb2NrKQorICAgICwgdG9rZW5UeXBlKHBhcmFtZXRlcnMudG9rZW5UeXBlKQor
I2VuZGlmCiB7CiAgICAgdW5zaWduZWQgaiA9IDA7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IHVzZWRWYXJpYWJsZXNDb3VudDsgKytpLCArK2opIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKaW5kZXggNTg4NGZiMjgyZTc1NjFhNjU4NmQwZjZl
MWRhNTkxNTFiOGQ1NGE0Ny4uODMyYmU3NTY2ZjM4YjA2MmQzMmU0OWQzOTBiYWQ0NWViZmZkMWQ0
NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2Vy
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKQEAg
LTE2OSw2ICsxNjksOSBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICBFeHByZXNzaW9uVHlwZSBjcmVh
dGVGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFyc2VyRnVuY3Rp
b25JbmZvPFN5bnRheENoZWNrZXI+JiwgaW50KSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KICAg
ICBpbnQgY3JlYXRlRnVuY3Rpb25Cb2R5KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IEpT
VG9rZW5Mb2NhdGlvbiYsIGludCwgaW50LCBib29sKSB7IHJldHVybiBGdW5jdGlvbkJvZHlSZXN1
bHQ7IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEV4cHJlc3Np
b25UeXBlIGNyZWF0ZUFycm93RnVuY3Rpb25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNv
bnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50YXhDaGVja2VyPiYsIGludCkgeyByZXR1cm4gRnVu
Y3Rpb25FeHByOyB9CisjZW5kaWYKICAgICB2b2lkIHNldEZ1bmN0aW9uTmFtZVN0YXJ0KGludCwg
aW50KSB7IH0KICAgICBpbnQgY3JlYXRlQXJndW1lbnRzKCkgeyByZXR1cm4gQXJndW1lbnRzUmVz
dWx0OyB9CiAgICAgaW50IGNyZWF0ZUFyZ3VtZW50cyhpbnQpIHsgcmV0dXJuIEFyZ3VtZW50c1Jl
c3VsdDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwppbmRleCA4ZmMyNDg3ZjZhZWUwZjczOWNmZDNjMGE4NGFiYzc5MTU5
NGE1ZWUzLi5hMmU3M2ExZjAzODc3MmZiMjIwZjMyNGZkYzliNTUyNGI4ZmE1MTFjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFT
X1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
ID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSA7
CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJ
TFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05f
QlJFQUsgPSBFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLOwpAQCAtMjEwLDQgKzIxMSw0
IEBAIEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FS
SVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJE
X0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJM
RV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FD
SEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BS
T1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRB
WCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJM
RV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChF
TkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQo
RU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkg
JChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RF
WFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RP
TV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RB
VEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RF
VEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000
X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9F
TkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9O
VF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQp
ICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5B
QkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJB
U0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Up
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9Q
T1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFC
TEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNT
KSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElB
X0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFC
TEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykg
JChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVf
UFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZG
SVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1F
KSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RP
UikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJ
TkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykg
JChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NW
R19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9O
VU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9M
T0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9B
TEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNV
RV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQo
RU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tF
VFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxF
X1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChF
TkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURf
TEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZF
QVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFU
RURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQo
RU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJM
RV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5W
QVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1Nf
U1lOVEFYKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFU
SU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0Vf
QURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1Nf
UkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQ
RVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQo
RU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIp
ICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAk
KEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQo
RU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNU
T1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1Yy
KSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQo
RU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFE
X0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9E
T01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJW
SUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9O
VEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAk
KEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19Q
UkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQp
ICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFC
TEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9T
Q0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRP
Ul9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRf
UExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJM
RV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxF
X1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVT
VF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09M
VVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1Nf
U0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNf
QVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVf
Q1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURF
TykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxF
X1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8p
ICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNU
VVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykg
JChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQo
RU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElD
KSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJj
ZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4
IDhmYzI0ODdmNmFlZTBmNzM5Y2ZkM2MwYTg0YWJjNzkxNTk0YTVlZTMuLmEyZTczYTFmMDM4Nzcy
ZmIyMjBmMzI0ZmRjOWI1NTI0YjhmYTUxMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJL
aXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00NSw2ICs0
NSw3IEBAIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9D
QU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkc7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IDsKK0VOQUJMRV9FUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5B
QkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxF
X0NTUF9ORVhUID0gOwogRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSyA9IEVOQUJMRV9D
U1NfQk9YX0RFQ09SQVRJT05fQlJFQUs7CkBAIC0yMTAsNCArMjExLDQgQEAgRU5BQkxFX0xMSU5U
X0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJM
RV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5B
QkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykg
JChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcp
ICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JB
VElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNF
X0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdF
X09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NT
X1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hB
UEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAk
KEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVS
KSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkg
JChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAk
KEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVD
VE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9W
MikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAk
KEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBB
RF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0Vf
RE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VS
VklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01P
TlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykg
JChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdB
Q1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFC
TEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktf
UFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBU
KSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5B
QkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1Jf
U0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FU
T1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lU
X1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFC
TEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJM
RV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVF
U1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNP
TFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NT
X1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1T
X0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJM
RV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04p
ICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChF
TkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxF
X0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklE
RU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJM
RV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElP
KSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElD
VFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMp
ICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAk
KEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJ
QykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0g
JChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJ
T05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElP
TklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFC
TEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxF
X0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQo
RU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5B
QkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVO
QUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChF
TkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJM
RV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NT
M19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJ
U0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJP
QVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJB
TlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRF
UlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChF
TkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRM
SU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09S
S0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNT
X1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9J
T1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9M
RUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVE
SU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJM
RV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFf
U09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kp
ICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxF
X1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVO
VFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxF
X1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkg
JChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVS
WSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChF
TkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NV
QlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJU
RVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFU
RV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09S
RCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURF
T19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19N
RURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JF
UExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5B
QkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElN
RU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19M
T09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVP
X1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOGZjMjQ4N2Y2YWVlMGY3MzljZmQz
YzBhODRhYmM3OTE1OTRhNWVlMy4uYTJlNzNhMWYwMzg3NzJmYjIyMGYzMjRmZGM5YjU1MjRiOGZh
NTExYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0g
RU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xB
U1NfU1lOVEFYID0gOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9F
UzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBFTkFC
TEVfQ09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ1NQX05FWFQgPSA7CiBFTkFCTEVfQ1NTX0JP
WF9ERUNPUkFUSU9OX0JSRUFLID0gRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSzsKQEAg
LTIxMCw0ICsyMTEsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJB
VEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJ
QzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9M
TElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQp
ICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5B
QkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VT
Nl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1Bf
TkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09N
UE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dS
SURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVD
VE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChF
TkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAk
KEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JU
KSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1T
KSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikg
JChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIp
ICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVO
QUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xP
Q0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFC
TEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5B
QkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
TE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElN
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19W
RU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9M
RUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJM
RV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAk
KEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChF
TkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVf
TUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NP
TlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xP
Q0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJM
RV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FO
SU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JF
TU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxF
X1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVD
SF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRP
KSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJM
RV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkg
JChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxF
X1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQo
RU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5B
QkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5B
QkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElN
SU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5B
QkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFC
TEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJ
T05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1df
U0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxF
TUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkg
JChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFC
TEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAk
KEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NT
U19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJM
RV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFC
TEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikg
JChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVO
QUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9M
SU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1ND
SEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJ
U1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlM
U19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZF
TlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZ
UFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xP
QURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChF
TkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVf
SElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkg
JChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVS
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVf
SU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9J
T1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVG
SVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQo
RU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09O
VFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9N
T1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVO
QUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChF
TkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9N
SVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9M
SVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQo
RU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAk
KEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykg
JChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVO
QUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZP
TlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJF
Ul9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJ
TkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkg
JChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZB
TFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFC
TEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykg
JChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VC
VlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJM
RV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlP
VVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlIGIvU291cmNlL2NtYWtlL1dl
YktpdEZlYXR1cmVzLmNtYWtlCmluZGV4IDg4NzI2MTcyNjQwODM0NGFiMDI1MmM5YzBlZjFmYzk3
N2QwNjNmYmEuLjA1MDAzNzJjYjg0NTRkODQ4NjdlNjQyZTY5NzcwMWNkZDA5ZjI4YWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQorKysgYi9Tb3VyY2UvY21h
a2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKQEAgLTI4LDYgKzI4LDcgQEAgbWFjcm8oV0VCS0lUX09Q
VElPTl9CRUdJTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ0FOVkFTX1BST1hZ
ICJUb2dnbGUgQ2FudmFzUHJveHkgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVG
SU5FKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyAiVG9nZ2xlIE1lc3NhZ2VDaGFubmVsIGFuZCBN
ZXNzYWdlUG9ydCBzdXBwb3J0IiBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVf
RVM2X0NMQVNTX1NZTlRBWCAiVG9nZ2xlIEVTNiBjbGFzcyBzeW50YXggc3VwcG9ydCIgT0ZGKQor
ICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgg
IlRvZ2dsZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1cHBvcnQiIE9OKQogICAgIFdFQktJ
VF9PUFRJT05fREVGSU5FKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyAiVG9nZ2xlIGNvbnRlbnQg
ZmlsdGVyaW5nIHN1cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVf
Q09OVEVYVF9NRU5VUyAiVG9nZ2xlIENvbnRleHQgTWVudSBzdXBwb3J0IiBPTikKICAgICBXRUJL
SVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ1NQX05FWFQgIlRvZ2dsZSBDb250ZW50IFNlY3VyaXR5
IFBvbGljeSAxLjEgc3VwcG9ydCIgT0ZGKQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlY29uZmln
LmguY21ha2UgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQppbmRleCAxYTc0NWNhNWNkODlm
YjIwMDgyZjc3YmMwMjY4OGE5YjBiNGJkNGI5Li4zMTA2YjVlYTA4NGIzODQzMWQ5NTk5NDRjNmNh
MTgxZjJmY2UyMWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQorKysg
Yi9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQpAQCAtMTMsNiArMTMsNyBAQAogI2NtYWtlZGVm
aW5lMDEgRU5BQkxFX0NBTlZBU19QUk9YWQogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWAorI2NtYWtl
ZGVmaW5lMDEgRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWAogI2NtYWtlZGVmaW5lMDEg
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ09OVEVYVF9N
RU5VUwogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NSRURFTlRJQUxfU1RPUkFHRQpkaWZmIC0tZ2l0
IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGE2YmJlMjVjMmE2ZGQ5
MjMwOTUwNmJmNzFjYjhlMjZmYmQ0NzJkOTEuLjY0YmY4MDc3OGZkNmE4NjA0ODRkODgwZWJjMjIw
ODAzZGI1MTdiOTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNS0wMi0yNyAgU2thY2hrb3YgQWxleGFuZHIgIDxn
c2thY2hrb3ZAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cg
ZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDA4NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGRlZCBmZWF0dXJlIGZsYWcgRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCBmb3IgYXJyb3cgZnVuY3Rpb24KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cGVybC9GZWF0
dXJlTGlzdC5wbToKKwogMjAxNS0wMi0yNyAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgog
CiAgICAgICAgIEFkZCBXZWJLaXQyIFNQSSB0byBjcmVhdGUgYSBET00gRmlsZSBvYmplY3QKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQppbmRleCAzNTQyNWY1ZTRiNTU1YWYz
MDAzMmQyMWVlM2NhZWM2ODU0Zjc5YTRiLi5hNmJjOWE4ZmViZDFhZTRiMmM3NTYyY2Q1MWE5MmMz
OGM2MzlmOTFmIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxp
c3QucG0KKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCkBAIC00
NCw2ICs0NCw3IEBAIEJFR0lOIHsKIG15ICgKICAgICAkdGhyZWVEUmVuZGVyaW5nU3VwcG9ydCwK
ICAgICAkYWNjZWxlcmF0ZWQyRENhbnZhc1N1cHBvcnQsCisgICAgJGFycm93ZnVuY3Rpb25TeW50
YXgsCiAgICAgJGJhdHRlcnlTdGF0dXNTdXBwb3J0LAogICAgICRjYW52YXNQYXRoU3VwcG9ydCwK
ICAgICAkY2FudmFzUHJveHlTdXBwb3J0LApAQCAtMTY5LDYgKzE3MCw5IEBAIG15IEBmZWF0dXJl
cyA9ICgKICAgICB7IG9wdGlvbiA9PiAiY2xhc3Mtc3ludGF4IiwgZGVzYyA9PiAiVG9nZ2xlIEVT
NiBjbGFzcyBzeW50YXggc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9FUzZfQ0xB
U1NfU1lOVEFYIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBcJGNsYXNzU3ludGF4IH0sCiAKKyAg
ICB7IG9wdGlvbiA9PiAiYXJyb3dmdW5jdGlvbi1zeW50YXgiLCBkZXNjID0+ICJUb2dnbGUgRVM2
IGFycm93IGZ1bmN0aW9uIHN5bnRheCBzdXBwb3J0IiwKKyAgICAgIGRlZmluZSA9PiAiRU5BQkxF
X0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCIsIGRlZmF1bHQgPT4gMSwgdmFsdWUgPT4gXCRhcnJv
d2Z1bmN0aW9uU3ludGF4IH0sCisKICAgICB7IG9wdGlvbiA9PiAiY3NwLW5leHQiLCBkZXNjID0+
ICJUb2dnbGUgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgMS4xIHN1cHBvcnQiLAogICAgICAgZGVm
aW5lID0+ICJFTkFCTEVfQ1NQX05FWFQiLCBkZWZhdWx0ID0+IGlzR3RrKCksIHZhbHVlID0+IFwk
Y3NwTmV4dFN1cHBvcnQgfSwKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDQxMGE4NTIyMWUzMjViYWI2NTQ0ZWFkNGFkMjBm
MTQwMzY0ZjY5NDguLmE3NGU3ZjZlMTkwZWVlYWEyMDFlYWI4Zjk3MGY1OTE3MmUwNDY4NzQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNS0wMi0yNyAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2th
Y2hrb3ZAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVu
Y3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNDA4NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGpzL2Fycm93ZnVuY3Rpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBq
cy9hcnJvd2Z1bmN0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGpzL3NjcmlwdC10ZXN0cy9h
cnJvd2Z1bmN0aW9uLmpzOiBBZGRlZC4KKyAgICAgICAgKGFycm93RnVuY3Rpb25XcmFwcGVyKToK
KyAgICAgICAgKGFycm93RnVuY3Rpb25XcmFwcGVyMik6CisKIDIwMTUtMDItMjcgIFphbGFuIEJ1
anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBTdWJwaXhlbC1sYXlvdXQ6IHdpZHRo
OiBtYXgtY29udGVudDsgcHJvcGVydHkgbWlnaHQgY2F1c2UgdW5uZWNlc3Nhcnkgc2Nyb2xsYmFy
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvYXJyb3dmdW5jdGlvbi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9qcy9hcnJvd2Z1bmN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
ODVhZTkyYTE1ODlhMTI1ZDBiNzdhNzcyOGI2MzdiYjUzMDNhNDY2Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvanMvYXJyb3dmdW5jdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0
MyBAQAorVGhpcyB0ZXN0IGNoZWNrIHRoZSBiZWhhdmlvciBvZiB0aGUgb2YgYXJyb3cgZnVuY3Rp
b24odGhpbiBjYXNlKQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBhcnJv
d0Z1bmN0aW9uMCgxMCkgaXMgMTEKK1BBU1MgYXJyb3dGdW5jdGlvbjEoMTApIGlzIDExCitQQVNT
IGFycm93RnVuY3Rpb24yKCkgaXMgMTAwMAorUEFTUyBhcnJvd0Z1bmN0aW9uMygxMCwgMikgaXMg
MTIKK1BBU1MgYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMCkgaXMgMTAKK1BBU1MgYXJyb3dG
dW5jdGlvbldyYXBwZXIoeCA9PiAxMCwgMjApIGlzIDEwCitQQVNTIGFycm93RnVuY3Rpb25XcmFw
cGVyKHggPT4gMTAgKyAzMCkgaXMgNDAKK1BBU1MgYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAx
MCArIDMwLCAxMDAwKSBpcyA0MAorUEFTUyBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IHggKyAx
LCAyMSkgaXMgMjIKK1BBU1MgYXJyb3dGdW5jdGlvbldyYXBwZXIoKHgpID0+IHggKyAxLCAyMSkg
aXMgMjIKK1BBU1MgYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwKSBpcyAxMDAKK1BBU1Mg
YXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gZXh0X3ZhbHVlKSBpcyAxMTEKK1BBU1MgYXJyb3dG
dW5jdGlvbldyYXBwZXIoKCkgPT4gZXh0X3ZhbHVlICogMTApIGlzIDExMTAKK1BBU1MgYXJyb3dG
dW5jdGlvbldyYXBwZXIoKHgpID0+IGV4dF92YWx1ZSAqIHgsIDMwKSBpcyAzMzMwCitQQVNTIGFy
cm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCwgMTEpIGlzIDEwMAorUEFTUyBhcnJvd0Z1bmN0
aW9uV3JhcHBlcigoKSA9PiAxMDAgKyAxMCkgaXMgMTEwCitQQVNTIGFycm93RnVuY3Rpb25XcmFw
cGVyKCgpID0+IDEwMCArIDEwLCAxMikgaXMgMTEwCitQQVNTIGFycm93RnVuY3Rpb25XcmFwcGVy
MigoeCwgIHkpID0+IHggKyB5LCAyMSwgNSkgaXMgMjYKK1BBU1MgYXJyb3dGdW5jdGlvbjQoMTAx
KSBpcyAxMDIKK1BBU1MgeHl6MSBpcyAxMDEwMQorUEFTUyBhcnJvd0Z1bmN0aW9BcnJheTBbMF0o
MTApIGlzIDEwMAorUEFTUyBhcnJvd0Z1bmN0aW9BcnJheTFbMF0oMTApIGlzIDExCitQQVNTIGFy
cm93RnVuY3Rpb0FycmF5MVsxXSgxMSkgaXMgMTMKK1BBU1MgYXJyb3dGdW5jdGlvQXJyYXkyWzBd
KDExKSBpcyAxMgorUEFTUyBhcnJvd0Z1bmN0aW9BcnJheTJbMV0oMTEpIGlzIDEzCitQQVNTIGFy
cm93RnVuY3Rpb0FycmF5M1swXSgxMSkgaXMgMTAxCitQQVNTIGFycm93RnVuY3Rpb0FycmF5M1sx
XSgxMSkgaXMgMTIzMjMKK1BBU1MgYXJyb3dGdW5jdGlvbk9iai5mdW5jKDExKSBpcyAyMworUEFT
UyBhcnJvd0ZhdEZ1bmN0aW9uMCgxMSkgaXMgMTAwMAorUEFTUyBhcnJvd0ZhdEZ1bmN0aW9uMSgx
MSkgaXMgMTEwMAorUEFTUyBhcnJvd0ZhdEZ1bmN0aW9uMigxMSkgaXMgMjIwMAorUEFTUyBhcnJv
d0ZhdEZ1bmN0aW9uMygxMSwgMTIyMjIpIGlzIDEzNDQ0MgorUEFTUyBhcnJvd0Z1bmN0aW9uV3Jh
cHBlcih4PT57cmV0dXJuIHggKiAyNTt9LCAxMjEpIGlzIDMwMjUKK1BBU1MgYXJyb3dGdW5jdGlv
bldyYXBwZXIyKCh4LCB5KT0+e3JldHVybiB4ICogeTt9LCAxNCwgMTIpIGlzIDE2OAorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2pzL2Fycm93ZnVuY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2pzL2Fycm93
ZnVuY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MzcyZjBmNzJhMDA0YWNlYTcxNzgxZTZmZTQ0ZDgy
MzY5ZmY2MDA0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvYXJyb3dmdW5jdGlv
bi5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3Jp
cHQtdGVzdHMvYXJyb3dmdW5jdGlvbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvYXJyb3dmdW5jdGlvbi5qcyBiL0xh
eW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9hcnJvd2Z1bmN0aW9uLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNl
NGYzMWVlOWNmZDc5MDgwY2UyODY1YzFkNWVlZGJlMTRlZTc1ZjUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvYXJyb3dmdW5jdGlvbi5qcwpAQCAtMCwwICsx
LDU5IEBACitkZXNjcmlwdGlvbigKKyJUaGlzIHRlc3QgY2hlY2sgdGhlIGJlaGF2aW9yIG9mIHRo
ZSAgb2YgYXJyb3cgZnVuY3Rpb24odGhpbiBjYXNlKSIKKyk7CisKK3ZhciBhcnJvd0Z1bmN0aW9u
MCA9IHYgPT4gdiArIDE7Cit2YXIgYXJyb3dGdW5jdGlvbjEgPSAodikgPT4gdiArIDE7Cit2YXIg
YXJyb3dGdW5jdGlvbjIgPSAoKSA9PiAxMDAwOwordmFyIGFycm93RnVuY3Rpb24zID0gKHYsIHgp
ID0+IHYgKyB4OwordmFyIGFycm93RnVuY3Rpb25XcmFwcGVyID0gZnVuY3Rpb24gKGNsLCBwYXJh
bXRlcikgeyByZXR1cm4gY2wocGFyYW10ZXIpOyB9OwordmFyIGFycm93RnVuY3Rpb25XcmFwcGVy
MiA9IGZ1bmN0aW9uIChjbCwgcGFyYW10ZXIxLCBwYXJhbXRlcjIpIHsgcmV0dXJuIGNsKHBhcmFt
dGVyMSwgcGFyYW10ZXIyKTsgfTsKK3ZhciBhcnJvd0Z1bmN0aW9uNCA9IHYgPT4gdiArIDEsIHh5
ejEgPSAxMDEwMTsKK3ZhciBhcnJvd0Z1bmN0aW9BcnJheTAgPSBbdiA9PiB2ICogMTBdOwordmFy
IGFycm93RnVuY3Rpb0FycmF5MSA9IFt2ID0+IHYgKyAxLCB2ID0+IHYgKyAyXTsKK3ZhciBhcnJv
d0Z1bmN0aW9BcnJheTIgPSBbKHYpID0+IHYgKyAxLCAodikgPT4gdiArIDJdOwordmFyIGFycm93
RnVuY3Rpb0FycmF5MyA9IFsoKSA9PiAxMDEsICgpID0+IDEyMzIzXTsKK3ZhciBhcnJvd0Z1bmN0
aW9uT2JqID0ge2Z1bmMgOiB5ID0+IHkgKyAxMiB9OwordmFyIGV4dF92YWx1ZSA9IDExMTsKKwor
c2hvdWxkQmUoImFycm93RnVuY3Rpb24wKDEwKSIsICIxMSIpOworc2hvdWxkQmUoImFycm93RnVu
Y3Rpb24xKDEwKSIsICIxMSIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb24yKCkiLCAiMTAwMCIp
Oworc2hvdWxkQmUoImFycm93RnVuY3Rpb24zKDEwLCAyKSIsICIxMiIpOworc2hvdWxkQmUoImFy
cm93RnVuY3Rpb25XcmFwcGVyKHggPT4gMTApIiwgIjEwIik7CitzaG91bGRCZSgiYXJyb3dGdW5j
dGlvbldyYXBwZXIoeCA9PiAxMCwgMjApIiwgIjEwIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlv
bldyYXBwZXIoeCA9PiAxMCArIDMwKSIsICI0MCIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb25X
cmFwcGVyKHggPT4gMTAgKyAzMCwgMTAwMCkiLCAiNDAiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0
aW9uV3JhcHBlcih4ID0+IHggKyAxLCAyMSkiLCAiMjIiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0
aW9uV3JhcHBlcigoeCkgPT4geCArIDEsIDIxKSIsICIyMiIpOworc2hvdWxkQmUoImFycm93RnVu
Y3Rpb25XcmFwcGVyKCgpID0+IDEwMCkiLCAiMTAwIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlv
bldyYXBwZXIoKCkgPT4gZXh0X3ZhbHVlKSIsICIxMTEiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0
aW9uV3JhcHBlcigoKSA9PiBleHRfdmFsdWUgKiAxMCkiLCAiMTExMCIpOworc2hvdWxkQmUoImFy
cm93RnVuY3Rpb25XcmFwcGVyKCh4KSA9PiBleHRfdmFsdWUgKiB4LCAzMCkiLCAiMzMzMCIpOwor
c2hvdWxkQmUoImFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCwgMTEpIiwgIjEwMCIpOwor
c2hvdWxkQmUoImFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCArIDEwKSIsICIxMTAiKTsK
K3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiAxMDAgKyAxMCwgMTIpIiwgIjEx
MCIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb25XcmFwcGVyMigoeCwgIHkpID0+IHggKyB5LCAy
MSwgNSkiLCAiMjYiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uNCgxMDEpIiwgIjEwMiIpOwor
c2hvdWxkQmUoInh5ejEiLCAiMTAxMDEiKTsKKworc2hvdWxkQmUoImFycm93RnVuY3Rpb0FycmF5
MFswXSgxMCkiLCAiMTAwIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvQXJyYXkxWzBdKDEwKSIs
ICIxMSIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb0FycmF5MVsxXSgxMSkiLCAiMTMiKTsKK3No
b3VsZEJlKCJhcnJvd0Z1bmN0aW9BcnJheTJbMF0oMTEpIiwgIjEyIik7CitzaG91bGRCZSgiYXJy
b3dGdW5jdGlvQXJyYXkyWzFdKDExKSIsICIxMyIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb0Fy
cmF5M1swXSgxMSkiLCAiMTAxIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvQXJyYXkzWzFdKDEx
KSIsICIxMjMyMyIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb25PYmouZnVuYygxMSkiLCAiMjMi
KTsKKwordmFyIGFycm93RmF0RnVuY3Rpb24wID0gKCkgPT4geyByZXR1cm4gMTAwMDsgfTsKK3Zh
ciBhcnJvd0ZhdEZ1bmN0aW9uMSA9IHYgPT4geyB2YXIgaW50dmFsID0gMTAwOyByZXR1cm4gdiAq
IGludHZhbDsgfTsKK3ZhciBhcnJvd0ZhdEZ1bmN0aW9uMiA9ICh2KSA9PiB7IHZhciBpbnQgPSAy
MDA7IHJldHVybiB2ICogaW50OyB9OwordmFyIGFycm93RmF0RnVuY3Rpb24zID0gKHYsIHgpID0+
IHsgdmFyIHJlc3VsdCA9IHggKiB2OyByZXR1cm4gcmVzdWx0OyB9OworCitzaG91bGRCZSgiYXJy
b3dGYXRGdW5jdGlvbjAoMTEpIiwgIjEwMDAiKTsKK3Nob3VsZEJlKCJhcnJvd0ZhdEZ1bmN0aW9u
MSgxMSkiLCAiMTEwMCIpOworc2hvdWxkQmUoImFycm93RmF0RnVuY3Rpb24yKDExKSIsICIyMjAw
Iik7CitzaG91bGRCZSgiYXJyb3dGYXRGdW5jdGlvbjMoMTEsIDEyMjIyKSIsICIxMzQ0NDIiKTsK
K3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uV3JhcHBlcih4PT57cmV0dXJuIHggKiAyNTt9LCAxMjEp
IiwgIjMwMjUiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uV3JhcHBlcjIoKHgsIHkpPT57cmV0
dXJuIHggKiB5O30sIDE0LCAxMikiLCAiMTY4Iik7CmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9D
aGFuZ2VMb2cKaW5kZXggOGQ3ZGNiMmQ1NWRmZDI4YzVlNjI0MzFiY2ZkOTcxYTk1NWRkNmE2NC4u
NWY2YTM3ZjAzZTU1ODg3NzY0OTQ5NWFmNDQ5MTg5ZmZkMzQyMTc3MiAxMDA2NDQKLS0tIGEvQ2hh
bmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE1LTAyLTI3ICBTa2Fj
aGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgW0VTNl0gSW1w
bGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyB0byBzd2l0Y2ggb24v
b2ZmIGVzNiBhcnJvdyBmdW5jdGlvbiBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYCisK
KyAgICAgICAgKiBTb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2U6CisgICAgICAgICog
U291cmNlL2NtYWtlY29uZmlnLmguY21ha2U6CisKIDIwMTUtMDItMjYgIENzYWJhIE9zenRyb2dv
bsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBbRUZMXSBSZW1vdmUgdW5uZWNlc3Nh
cnkgY29tbWVudCBhZnRlciByMTc5MTEwCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247894</attachid>
            <date>2015-03-04 14:00:28 -0800</date>
            <delta_ts>2015-03-04 23:43:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150305000009.patch</filename>
            <type>text/plain</type>
            <size>80784</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwODE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
MmE2NGQxNDFjNmU5YjcyMjI4MjZlNmEzNDE3YTM3OGY5NTAzZWNjLi5jNWZjYTA4NjM2YWI5ODQx
NDU2OTM5MTZmZWY3MmEwMDViNmMyYjY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3NyBAQAorMjAxNS0wMi0yNyAgQWxleGFuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21h
aWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3lu
dGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4
NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRl
ZCBzdXBwb3J0IG9mIEVTNiBhcnJvdyBmdW5jdGlvbi4gSW4gcGF0Y2ggd2VyZSBpbXBsZW1lbnRl
ZCB0aGUgc2ltcGxlc3QgY2FzZXM6CisgICAgICAgIDEgbm8gcGFyYW10ZXJzICAgICAgICgpID0+
IDEwICsgMjAKKyAgICAgICAgMiBvbmUgcGFyYW1ldGVyICAgICAgIHggPT4geCArIDIwCisgICAg
ICAgIDMgbXVsdGlwbGUgcGFyYW10ZXJzICh4LCB5KSA9PiB4ICsgeQorICAgICAgICA0IGZhdCBh
cnJvdyBmdW5jdGlvbiB4ID0+IHsgcmV0dXJuIHgqMTA7fQorCisgICAgICAgICogQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxh
ZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgorCisg
ICAgICAgICogcGFyc2VyL0FTVEJ1aWxkZXIuaDoKKyAgICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6
Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIpOgorICAgICAgICBBZGRlZCBmdW5jdGlvbiB0aGF0IGNy
ZWF0ZSBleHByZXNpb24gZm9yIGFycm93IGZ1bmN0aW9uCisgICAgICAgICogcGFyc2VyL0xleGVy
LmNwcDoKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24pOgorICAgICAg
ICBNZXRob2QgdGhhdCBhbGxvdyB0byBzZXQgY3VycmVjdCBwb3NpdGlvbiBmb3IgdGhlIHRvY2tl
biBvdXRzaWRlIHRoZSBMZXhlciBjbGFzCisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpsZXgpOgor
ICAgICAgICBNZXRob2QgY2hhbmdlZCB0byBzdXBwb3J0IG9mIHRoZSBhcnJvdyBmdW5jdGlvbgor
ICAgICAgICAqIHBhcnNlci9MZXhlci5oOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6c2V0VG9r
ZW5Qb3NpdGlvbik6CisgICAgICAgIERlY2xhcmF0aW9uIG9mIHRoZSBtZXRob2QgdGhhdCBhbGxv
dyB0byBzZXQgY3VycmVjdCBwb3NpdGlvbiBmb3IgdGhlIHRvY2tlbiBvdXRzaWRlIHRoZSBMZXhl
ciBjbGFzcyAKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFy
c2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMpOgorICAgICAgICBNb2RpZmllZCBt
ZXRob2QgdG8gc3VwcG9ydCB0d28gbWV0aG9kcyBvZiB0aGUgcGFyc2UganMgZnVuY3Rpb24uIFRo
ZSBmaXJzdCB0eXBlIGlzIHN0YW5kYXJkIGZ1bmN0aW9uIGFuZCBuZXcgdHlwZSBpcyBhcnJvdyBm
dW5jdGlvbi4KKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4
cHJlc3Npb24pOgorICAgICAgICBNb2RpZmllZCBtZXRob2QgdG8gc3VwcG9ydCB0d28gbWV0aG9k
cyBvZiB0aGUgcGFyc2UganMgZnVuY3Rpb24uIFRoZSBmaXJzdCB0eXBlIGlzIHN0YW5kYXJkIGZ1
bmN0aW9uIGFuZCBuZXcgdHlwZSBpcyBhcnJvdyBmdW5jdGlvbi4KKyAgICAgICAgKEpTQzo6UGFy
c2VyOjopOkFkZGVkIG5ldyBzdHJ1Y3R1cmUgdG8gc3VwcG9yZCBkaWZmZXJlbnQgdHlwZSBvZiBw
YXJzaW5nIHRoZSBmdW5jdGlvbgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU291cmNlRWxl
bWVudCk6IEFkZGVkIEZ1bmN0aW9uUGFyc2VUeXBlIGFzIHBhcmFtdGVyIGluIG1ldGhvZAorICAg
ICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KTogQWRkZWQgRnVuY3Rpb25QYXJzZVR5
cGUgYXMgcGFyYW10ZXIgaW4gbWV0aG9kLiBBZGRlZCBzZXBhcmF0ZWQgbG9naWMgZm9yIGVuZGlu
ZyAKKyAgICAgICAgdGhlIHN0YXRlbWVudCBpbiBjYXNlIG9mIHRoZSBwYXJzaW5nIGluIGFycm93
IGZ1bmN0aW9uIHR5cGUuIEFkZGVkIGxvZ2ljIHRvIHN1cHBvcnQgcGFyc2luZyB0aGUgc291cmNl
IGNvZGUgdGhhdCBmb2xsb3cgYWZ0ZSA9PiBzeW1ib2wKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpw
YXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKSBNb2RpZmllZCBtZXRob2QgdG8gc3VwcG9ydCBwYXJz
aW5nIHRoZSBhcnJvdyBmdW5jdGlvbgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlUHJpbWFy
eUV4cHJlc3Npb24pIE1vZGlmaWVkIG1ldGhvZCB0byBzdXBwb3J0IGNhc2Ugd2hlbiBhZnRlciBJ
REVOVCBpcyBnb2luZyB0aGUgYXJyb3cgZnVuY3Rpb24KKyAgICAgICAgKEpTQzo6UGFyc2VyOjpw
YXJzZUFycm93RXhwcmVzc2lvbik6IEFkZGVkIG1ldGhvZCBkZWNsYXJhdGlvbiB0aGF0IGlzIHJl
c3BvbnNpYmxlIHRvIHBhcnNlIGFycm93IGV4cHJlc3Npb24uCisgICAgICAgIChKU0M6OlBhcnNl
cjo6c2V0RW5kT2ZTdGF0ZW1lbnQpOiBBZGRlZCBtZXRob2QgdGhhdCB1c2VkIHRvIHNldCBjb3Jy
ZWN0IHBvc2l0aW9uIG9mIHRoZSBsZXhlcgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJy
b3dGdW5jdGlvbldyYXBwZXIpOiBBZGRlZCBtZXRob2QgdGhhdCBpcyBzdGFydGluZyBwb2ludCBp
biBwYXJzaW5nIG9mIHRoZSBhcnJvdyBmdW5jdGlvbgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBh
cnNlQXJyb3dGdW5jdGlvbkluZm8pOiBBZGRlZCBtZXRob2QgdGhhdCBpcyB1c2VkIHRvIHBhcnNl
IGZ1bmN0aW9uIHBhcmFtdGVycy4gQ2xvc2UgdG8gcGFyc2VGdW5jdGlvbkluZm8uIAorICAgICAg
ICBXYXMgbWFkZSBhcyB0aGUgc2VwYXJldGUgbWV0aG9kIHRvIHByZXZlbnQgcG9sbHV0aW9uIG9m
IHRoZSBsb2dpYyBwYXJzaW5nIHRoZSBzdGFuZGVyIGZ1bmN0aW9uLiAgCisgICAgICAgIENhbiBi
ZSBtZXJnZSB3aXRoIHBhcnNlRnVuY3Rpb25JbmZvIGFmdGVyIGFwcHJvdmluZyB0aGUgYXJyb3cg
ZnVuY3Rpb24gcGF0Y2gKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25C
b2R5KTpBZGRlZCBtZXRob2QgdGhhdCBpcyB1c2VkIHRvIHBhcnNlIGZ1bmN0aW9uIGJvZHkuIENs
b3NlIHRvIHBhcnNlRnVuY3Rpb25JbmZvLiAgICAgCisgICAgICAgIFdhcyBtYWRlIGFzIHRoZSBz
ZXBhcmV0ZSBtZXRob2QgdG8gcHJldmVudCBwb2xsdXRpb24gb2YgdGhlIGxvZ2ljIHBhcnNpbmcg
dGhlIHN0YW5kZXIgZnVuY3Rpb24uCisgICAgICAgIENhbiBiZSBtZXJnZSB3aXRoIHBhcnNlRnVu
Y3Rpb25JbmZvIGFmdGVyIGFwcHJvdmluZyB0aGUgYXJyb3cgZnVuY3Rpb24gcGF0Y2ggICAgICAg
IAorICAgICAgICAqIHBhcnNlci9QYXJzZXIuaDoKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpGdW5j
dGlvblBhcnNlVHlwZSk6QWRkZWQgbmV3IHN0cnVjdHVyZSB0byBzdXBwb3JkIGRpZmZlcmVudCB0
eXBlIG9mIHBhcnNpbmcgdGhlIGZ1bmN0aW9uCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VT
b3VyY2VFbGVtZW50KTogQWRkZWQgRnVuY3Rpb25QYXJzZVR5cGUgYXMgcGFyYW10ZXIgaW4gbWV0
aG9kCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VTdGF0ZW1lbnQpOiBBZGRlZCBGdW5jdGlv
blBhcnNlVHlwZSBhcyBwYXJhbXRlciBpbiBtZXRob2QKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpw
YXJzZUFycm93RXhwcmVzc2lvbik6IEFkZGVkIG1ldGhvZCBkZWNsYXJhdGlvbiB0aGF0IGlzIHJl
c3BvbnNpYmxlIHRvIHBhcnNlIGFycm93IGV4cHJlc3Npb24KKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpzZXRFbmRPZlN0YXRlbWVudCk6IEFkZGVkIG1ldGhvZCB0aGF0IHVzZWQgdG8gc2V0IGNvcnJl
Y3QgcG9zaXRpb24gb2YgdGhlIGxleGVyCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJv
d0Z1bmN0aW9uV3JhcHBlcik6IEFkZGVkIG1ldGhvZCB0aGF0IGlzIHN0YXJ0aW5nIHBvaW50IGlu
IHBhcnNpbmcgb2YgdGhlIGFycm93IGZ1bmN0aW9uCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFy
c2VBcnJvd0Z1bmN0aW9uSW5mbyk6IEFkZGVkIG1ldGhvZCB0aGF0IGlzIHVzZWQgdG8gcGFyc2Ug
ZnVuY3Rpb24gcGFyYW10ZXJzLiBDbG9zZSB0byBwYXJzZUZ1bmN0aW9uSW5mby4KKyAgICAgICAg
V2FzIG1hZGUgYXMgdGhlIHNlcGFyZXRlIG1ldGhvZCB0byBwcmV2ZW50IHBvbGx1dGlvbiBvZiB0
aGUgbG9naWMgcGFyc2luZyB0aGUgc3RhbmRlciBmdW5jdGlvbi4gCisgICAgICAgIENhbiBiZSBt
ZXJnZSB3aXRoIHBhcnNlRnVuY3Rpb25JbmZvIGFmdGVyIGFwcHJvdmluZyB0aGUgYXJyb3cgZnVu
Y3Rpb24gcGF0Y2ggCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uQm9k
eSk6QWRkZWQgbWV0aG9kIHRoYXQgaXMgdXNlZCB0byBwYXJzZSBmdW5jdGlvbiBib2R5LiBDbG9z
ZSB0byBwYXJzZUZ1bmN0aW9uSW5mby4gCisgICAgICAgIFdhcyBtYWRlIGFzIHRoZSBzZXBhcmV0
ZSBtZXRob2QgdG8gcHJldmVudCBwb2xsdXRpb24gb2YgdGhlIGxvZ2ljIHBhcnNpbmcgdGhlIHN0
YW5kZXIgZnVuY3Rpb24uICAKKyAgICAgICAgQ2FuIGJlIG1lcmdlIHdpdGggcGFyc2VGdW5jdGlv
bkluZm8gYWZ0ZXIgYXBwcm92aW5nIHRoZSBhcnJvdyBmdW5jdGlvbiBwYXRjaAorICAgICAgICAq
IHBhcnNlci9QYXJzZXJUb2tlbnMuaDoKKyAgICAgICAgQWRkZWQgbmV3IEFSUk9XRlVOQ1RJT04g
dG9ja2VuCisgICAgICAgICogcGFyc2VyL1NvdXJjZUNvZGUuaDoKKyAgICAgICAgKEpTQzo6U291
cmNlQ29kZTo6c3ViQXJyb3dFeHByZXNzaW9uKTpBZGRlZCBmdW5jdGlvbiB0aGF0IGlzIHVzZWQg
Zm9yIGNyZWF0aW5nIHNvdXJjZSBjb2RlIG9iamVjdC4gTG9naWMgdGhlIHNhbWUKKyAgICAgICAg
YXMgaW4gc3ViRXhwcmVzaW9uIGZ1bmN0aW9uIGV4Y2VwdCBkaWZmZXJlbnQgY2hlY2sgZm9yIHN0
YXJ0IGFuZCBlbmRpbmcgb2YgdGhlIGV4cHJlc3Npb24KKyAgICAgICAgKiBwYXJzZXIvU3ludGF4
Q2hlY2tlci5oOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVhdGVBcnJvd0Z1bmN0
aW9uRXhwcik6IEFkZGVkIGRlZmVuaXRpb24gb2YgdGhlIGNyZWF0ZUFycm93RnVuY3Rpb25FeHBy
IGNsb3NlIHRvIHRoZSBjcmVhdGVGdW5jdGlvbkV4cHIKKyAgICAgICAgKiBwYXJzZXIvU291cmNl
UHJvdmlkZXJDYWNoZUl0ZW06CisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVt
Q3JlYXRpb25QYXJhbWV0ZXJzKTogQWRkZWQgYWRkaXRpb25hbCBwcm9wZXJ0aWVzIHRvIGNvcnJl
Y3QgY2FjaGUgdGhlIGFycm93IGZ1bmN0aW9uCisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVy
Q2FjaGVJdGVtKTogQWRkZWQgYWRkaXRpb25hbCBwcm9wZXJ0aWVzIHRvIGNvcnJlY3QgY2FjaGUg
dGhlIGFycm93IGZ1bmN0aW9uCisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVt
OjplbmRBcnJvd0Z1bmN0aW9uVG9rZW4pOiBBZGRlZCBmdW5jdGlvbiB0byBzZXQgY29ycmVjdCB0
b2NrZW4gYXQgdGhlIGVuZCBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gaW4gY2FzZSBvZiBjYWNoZQor
CisKKwogMjAxNS0wMi0yNyAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4K
IAogICAgICAgICBbSlNDXSBVc2UgdGhlIHdheSBudW1iZXIgY29uc3RhbnRzIGFyZSB3cml0dGVu
IHRvIGhlbHAgdHlwZSBzcGVjdWxhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGRiZmY2NjJiYWYxNWM2NDgx
OGMzYzE5ODhiYmE4MDUyN2VmMTM3NjMuLjhlZmQxYTczNmRiZmQ0ZWNmYTZhOTJkNjgyYjcxMzAy
NmQwOGMzN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxNS0wMi0yNyAgU2thY2hr
b3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxl
bWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmZWF0dXJlIGZsYWcgRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rpb24KKyAgICAgICAgQWRkZWQgdGVzdCBm
b3IgYXJyb3cgZnVuY3Rpb24KKworICAgICAgICBUZXN0OiBqcy9hcnJvd2Z1bmN0aW9uLmh0bWwK
KyAgICAgICAgICAgICAganMvc2NyaXB0LXRlc3RzL2Fycm93ZnVuY3Rpb24uanMKKyAgICAgICAg
ICAgICAganMvYXJyb3dmdW5jdGlvbi1leHBlY3RlZC50eHQKKworICAgICAgICAqIENvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1LTAyLTI3ICBIdW5zZW9wIEpl
b25nICA8aHM4NS5qZW9uZ0BzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXVtHVEtdIEZpeCBi
dWlsZCBicmVhayBhZnRlciByMTgwNzkwLDE4MDc5OApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDE3NmQw
ZjM5ZGZkYzZlYzk4N2YzOWU1NThkOWQxNGRjMjdiNjU5N2IuLjY0MTU1YjZiZWYwZWJhYjZiNDBk
YzMzMmY0MzIxYWY3YWU1NjBmZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAxNS0wMi0yNyAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisg
ICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmZWF0dXJlIGZs
YWcgRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rpb24KKwor
ICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1
LTAyLTI2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1l
IERhdGFiYXNlTWFuYWdlcjo6bWFuYWdlcigpIHRvIERhdGFiYXNlTWFuYWdlcjo6c2luZ2xldG9u
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwppbmRleCAzNWU4NGZjNzhjYTg5ZmExZTAwZGRkMWNjYWE3MzRhM2M2ZDg4ZDNl
Li41NzUwOWRkZDViZTRkM2IwN2E5NTdkN2FmMjNjZDA4ZTEyNWRmNTk5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTUtMDItMjcgIFNrYWNoa292IEFsZXhhbmRyICA8Z3NrYWNoa292
QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9u
IHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTQwODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggZm9yIGFy
cm93IGZ1bmN0aW9uCisKKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnOgorCiAyMDE1LTAyLTI3ICBIdW5zZW9wIEplb25nICA8aHM4NS5qZW9uZ0BzYW1z
dW5nLmNvbT4KIAogICAgICAgICBbRUZMXVtHVEtdIEZpeCBidWlsZCBicmVhayBhZnRlciByMTgw
NzkwLDE4MDc5OCAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA4ZmMyNDg3ZjZhZWUwZjcz
OWNmZDNjMGE4NGFiYzc5MTU5NGE1ZWUzLi5hMmU3M2ExZjAzODc3MmZiMjIwZjMyNGZkYzliNTUy
NGI4ZmE1MTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00NSw2ICs0NSw3IEBAIEVO
QUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJP
WFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
Tkc7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhU
ID0gOwogRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSyA9IEVOQUJMRV9DU1NfQk9YX0RF
Q09SQVRJT05fQlJFQUs7CkBAIC0yMTAsNCArMjExLDQgQEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9
IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFU
RURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JF
TkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVf
QVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxF
X0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRF
UklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJ
T04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMp
ICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVO
QUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9D
VVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVf
REFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFC
TEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNB
VEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVS
X1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05U
Uk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gp
ICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVS
X0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQo
RU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05D
VVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikg
JChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElN
SVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkg
JChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NP
TVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01F
RElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9T
TkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChF
TkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RG
X0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxF
X1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJ
TElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5B
QkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01P
REVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJM
RV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpF
UykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxF
X1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9M
TElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFC
TEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVf
M0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVO
QUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChF
TkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19D
T01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
R1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VM
RUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAk
KEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkp
ICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBP
UlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRF
TVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxf
MikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQo
RU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVO
QUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChF
TkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9U
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NT
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5B
QkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwp
ICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAk
KEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
TE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5B
QkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1Rf
QU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVf
UkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFC
TEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQ
VE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5B
QkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5U
KSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFC
TEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykg
JChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChF
TkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChF
TkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9U
SU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChF
TkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVO
QUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRB
VElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNU
QnVpbGRlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKaW5k
ZXggZmE2NDk1MWE5ZGYyYjZiNjQ1MDVmYTFlYTM3YTEwMDRiOWE4ZDk5Ni4uNGYzMmNiMjNmYTIz
ZTM0ZDk1YWYxMDcwY2IxZjY5MzY3NjUwY2NmOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9BU1RCdWlsZGVyLmgKQEAgLTMwMyw2ICszMDMsMjAgQEAgcHVibGljOgogICAgICAgICBy
ZXR1cm4gbmV3IChtX3BhcnNlckFyZW5hKSBGdW5jdGlvbkJvZHlOb2RlKG1fcGFyc2VyQXJlbmEs
IHN0YXJ0TG9jYXRpb24sIGVuZExvY2F0aW9uLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBpblN0
cmljdENvbnRleHQpOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCisgICAgRXhwcmVzc2lvbk5vZGUqIGNyZWF0ZUFycm93RnVuY3Rpb25FeHByKGNvbnN0IEpT
VG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RCdWls
ZGVyPiYgaW5mbywgdW5zaWduZWQgYXJyb3dGdW5jdGlvbktleXdvcmRTdGFydCkKKyAgICB7Cisg
ICAgICAgIFNvdXJjZUNvZGUgc291cmNlID0gaW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUgPT0g
QXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uCisgICAgICAgID8gbV9zb3VyY2VDb2RlLT5zdWJB
cnJvd0V4cHJlc3Npb24oaW5mby5hcnJvd0Z1bmN0aW9uT2Zmc2V0LCBpbmZvLmNsb3NlQnJhY2VP
ZmZzZXQsIGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1bW4pCisgICAgICAg
IDogbV9zb3VyY2VDb2RlLT5zdWJFeHByZXNzaW9uKGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBpbmZv
LmNsb3NlQnJhY2VPZmZzZXQsIGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1
bW4pOworICAgICAgICAKKyAgICAgICAgRnVuY0V4cHJOb2RlKiByZXN1bHQgPSBuZXcgKG1fcGFy
c2VyQXJlbmEpIEZ1bmNFeHByTm9kZShsb2NhdGlvbiwgKmluZm8ubmFtZSwgaW5mby5ib2R5LCBz
b3VyY2UsIGluZm8ucGFyYW1ldGVycyk7CisgICAgICAgIGluZm8uYm9keS0+c2V0TG9jKGluZm8u
Ym9keVN0YXJ0TGluZSwgaW5mby5ib2R5RW5kTGluZSwgbG9jYXRpb24uc3RhcnRPZmZzZXQsIGxv
Y2F0aW9uLmxpbmVTdGFydE9mZnNldCk7CisgICAgICAgIGluZm8uYm9keS0+c2V0RnVuY3Rpb25L
ZXl3b3JkU3RhcnQoYXJyb3dGdW5jdGlvbktleXdvcmRTdGFydCk7CisgICAgICAgIHJldHVybiBy
ZXN1bHQ7CisgICAgfQorI2VuZGlmCisKICAgICB2b2lkIHNldEZ1bmN0aW9uTmFtZVN0YXJ0KEZ1
bmN0aW9uQm9keU5vZGUqIGJvZHksIGludCBmdW5jdGlvbk5hbWVTdGFydCkKICAgICB7CiAgICAg
ICAgIGJvZHktPnNldEZ1bmN0aW9uTmFtZVN0YXJ0KGZ1bmN0aW9uTmFtZVN0YXJ0KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKaW5kZXggMWVjNjdkZjFiOGU4YzBkNzMxOTQ5
YjEyNzJhOWJjNzVmZmY4MDE2Zi4uOGMzZWExYmY3MDk3MzNlYTgxMTg3MjA0YjQ3YjQwNjkwZTAz
YjFjMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKQEAgLTEzOTMsNiAr
MTM5MywxOCBAQCBib29sIExleGVyPFQ+OjpuZXh0VG9rZW5Jc0NvbG9uKCkKICAgICByZXR1cm4g
Y29kZSA8IG1fY29kZUVuZCAmJiAqY29kZSA9PSAnOic7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIFQ+Cit2b2lkIExleGVyPFQ+
OjpzZXRUb2tlblBvc2l0aW9uKEpTVG9rZW4qIHRva2VuUmVjb3JkKQoreworICAgIEpTVG9rZW5E
YXRhKiB0b2tlbkRhdGEgPSAmdG9rZW5SZWNvcmQtPm1fZGF0YTsKKyAgICB0b2tlbkRhdGEtPmxp
bmUgPSBsaW5lTnVtYmVyKCk7CisgICAgdG9rZW5EYXRhLT5vZmZzZXQgPSBjdXJyZW50T2Zmc2V0
KCk7CisgICAgdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zm
c2V0KCk7CisgICAgQVNTRVJUKHRva2VuRGF0YS0+b2Zmc2V0ID49IHRva2VuRGF0YS0+bGluZVN0
YXJ0T2Zmc2V0KTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KIEpTVG9rZW5U
eXBlIExleGVyPFQ+OjpsZXgoSlNUb2tlbiogdG9rZW5SZWNvcmQsIHVuc2lnbmVkIGxleGVyRmxh
Z3MsIGJvb2wgc3RyaWN0TW9kZSkKIHsKQEAgLTE0NTYsNyArMTQ2OCwxMiBAQCBzdGFydDoKICAg
ICAgICAgfQogICAgICAgICB0b2tlbiA9IEdUOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIENo
YXJhY3RlckVxdWFsOgorICAgIGNhc2UgQ2hhcmFjdGVyRXF1YWw6IHsKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB1aW50MzJfdCBzYXZlZGxpbmVOdW1iZXIg
PSB0b2tlbkRhdGEtPmxpbmU7CisgICAgICAgIHVpbnQzMl90IHNhdmVkT2Zmc2V0ID0gY3VycmVu
dE9mZnNldCgpOworICAgICAgICB1aW50MzJfdCBzYXZlZExpbmVTdGFydE9mZnNldCA9IGN1cnJl
bnRMaW5lU3RhcnRPZmZzZXQoKTsKKyNlbmRpZgogICAgICAgICBzaGlmdCgpOwogICAgICAgICBp
ZiAobV9jdXJyZW50ID09ICc9JykgewogICAgICAgICAgICAgc2hpZnQoKTsKQEAgLTE0NjgsOCAr
MTQ4NSwyMyBAQCBzdGFydDoKICAgICAgICAgICAgIHRva2VuID0gRVFFUTsKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICB9CisgICAgICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJz4nKSB7CisgICAgICAgICAgICBz
aGlmdCgpOworICAgICAgICAgICAgdG9rZW4gPSBBUlJPV0ZVTkNUSU9OOworICAgICAgICAgICAg
CisgICAgICAgICAgICB0b2tlbkRhdGEtPmxpbmUgPSBzYXZlZGxpbmVOdW1iZXI7CisgICAgICAg
ICAgICB0b2tlbkRhdGEtPm9mZnNldCA9IHNhdmVkT2Zmc2V0OworICAgICAgICAgICAgdG9rZW5E
YXRhLT5saW5lU3RhcnRPZmZzZXQgPSBzYXZlZExpbmVTdGFydE9mZnNldDsKKyAgICAgICAgICAg
IAorICAgICAgICAgICAgQVNTRVJUKHRva2VuRGF0YS0+b2Zmc2V0ID49IHRva2VuRGF0YS0+bGlu
ZVN0YXJ0T2Zmc2V0KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAg
ICAgICAgdG9rZW4gPSBFUVVBTDsKICAgICAgICAgYnJlYWs7CisgICAgfQogICAgIGNhc2UgQ2hh
cmFjdGVyTGVzczoKICAgICAgICAgc2hpZnQoKTsKICAgICAgICAgaWYgKG1fY3VycmVudCA9PSAn
IScgJiYgcGVlaygxKSA9PSAnLScgJiYgcGVlaygyKSA9PSAnLScpIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTGV4ZXIuaAppbmRleCA4MWI0MzM0ZDg0OWQ4M2U3NWZhZGFmZWY1NDIwODQxNmE4
ZDE2ZDY2Li5lNjFmM2IyNDRiMzFkMmFmMjZhMTNjYTUyOWE2MmU3NTZiOWM4NGMwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCkBAIC04NSw2ICs4NSw5IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldElzUmVwYXJzaW5nKCkgeyBtX2lzUmVwYXJzaW5nID0gdHJ1ZTsgfQogICAgIGJv
b2wgaXNSZXBhcnNpbmcoKSBjb25zdCB7IHJldHVybiBtX2lzUmVwYXJzaW5nOyB9CiAKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHZvaWQgc2V0VG9rZW5Qb3NpdGlv
bihKU1Rva2VuKiB0b2tlblJlY29yZCk7CisjZW5kaWYKICAgICBKU1Rva2VuVHlwZSBsZXgoSlNU
b2tlbiosIHVuc2lnbmVkLCBib29sIHN0cmljdE1vZGUpOwogICAgIGJvb2wgbmV4dFRva2VuSXND
b2xvbigpOwogICAgIGludCBsaW5lTnVtYmVyKCkgY29uc3QgeyByZXR1cm4gbV9saW5lTnVtYmVy
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKaW5kZXggNjMxOGZkNjM2
YmViM2U3YjkxZDI4ZjY0OTZhZWQ5YWY3YmQ4NzE4Yy4uM2ZjNjE2YzY2MGRkMWM1Yjg3NTk1NmJk
NGM2YzRhNjBlMjc3Mjg5MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNw
cApAQCAtMzIyLDkgKzMyMiwxMyBAQCBib29sIFBhcnNlcjxMZXhlclR5cGU+OjphbGxvd0F1dG9t
YXRpY1NlbWljb2xvbigpCiB7CiAgICAgcmV0dXJuIG1hdGNoKENMT1NFQlJBQ0UpIHx8IG1hdGNo
KEVPRlRPSykgfHwgbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKTsKIH0KLQorI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgor
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJj
ZUVsZW1lbnRzTW9kZSBtb2RlLCBGdW5jdGlvblBhcnNlVHlwZSB0eXBlKQorI2Vsc2UKIHRlbXBs
YXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3VyY2VFbGVtZW50cyhU
cmVlQnVpbGRlciYgY29udGV4dCwgU291cmNlRWxlbWVudHNNb2RlIG1vZGUpCisjZW5kaWYKIHsK
ICAgICBjb25zdCB1bnNpZ25lZCBsZW5ndGhPZlVzZVN0cmljdExpdGVyYWwgPSAxMjsgLy8gInVz
ZSBzdHJpY3QiLmxlbmd0aAogICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzb3VyY2VFbGVtZW50cyA9
IGNvbnRleHQuY3JlYXRlU291cmNlRWxlbWVudHMoKTsKQEAgLTMzMyw3ICszMzcsMTEgQEAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlU291cmNlRWwKICAgICB1bnNpZ25lZCBkaXJlY3RpdmVMaXRlcmFsTGVuZ3Ro
ID0gMDsKICAgICBhdXRvIHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwogICAgIGJvb2wg
aGFzU2V0U3RyaWN0ID0gZmFsc2U7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICB3aGlsZSAoVHJlZVN0YXRlbWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVudChj
b250ZXh0LCBkaXJlY3RpdmUsICZkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoLCB0eXBlKSkgeworI2Vs
c2UKICAgICB3aGlsZSAoVHJlZVN0YXRlbWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVudChj
b250ZXh0LCBkaXJlY3RpdmUsICZkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoKSkgeworI2VuZGlmICAg
ICAgCiAgICAgICAgIGlmIChtb2RlID09IENoZWNrRm9yU3RyaWN0TW9kZSAmJiAhc2Vlbk5vbkRp
cmVjdGl2ZSkgewogICAgICAgICAgICAgaWYgKGRpcmVjdGl2ZSkgewogICAgICAgICAgICAgICAg
IC8vICJ1c2Ugc3RyaWN0IiBtdXN0IGJlIHRoZSBleGFjdCBsaXRlcmFsIHdpdGhvdXQgZXNjYXBl
IHNlcXVlbmNlcyBvciBsaW5lIGNvbnRpbnVhdGlvbi4KQEAgLTU3MSw2ICs1NzksMzIgQEAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIFBhcnNl
cjxMZXhlclR5cGU+Ojp0cnlQYXIKICAgICByZXR1cm4gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRl
cm4oY29udGV4dCwgRGVjb25zdHJ1Y3RUb0V4cHJlc3Npb25zKTsKIH0KIAorI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgor
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7
CisgICAgQVNTRVJUKG1hdGNoKEFSUk9XRlVOQ1RJT04pKTsKKworICAgIEpTVG9rZW5Mb2NhdGlv
biBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgIHNlbWFudGljRmFpbElmRmFsc2UoY3Vy
cmVudFNjb3BlKCktPmlzRnVuY3Rpb24oKSwgIlJldHVybiBzdGF0ZW1lbnRzIGFyZSBvbmx5IHZh
bGlkIGluc2lkZSBhcnJvdyBmdW5jdGlvbnMiKTsKKyAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9
IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgIEpTVGV4dFBvc2l0aW9uIGVuZCA9IHRva2VuRW5k
UG9zaXRpb24oKTsKKworICAgIG5leHQoKTsKKyAgICBUcmVlRXhwcmVzc2lvbiBleHByID0gcGFy
c2VBcnJvd0V4cHJlc3Npb24oY29udGV4dCk7CisgICAgZmFpbElmRmFsc2UoZXhwciwgIkNhbm5v
dCBwYXJzZSB0aGUgYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgIGVuZCA9IGxhc3RU
b2tlbkVuZFBvc2l0aW9uKCk7CisKKyAgICBib29sIGNvcnJlY0Fycm93RmluaXNoID0gbWF0Y2go
U0VNSUNPTE9OKSB8fCBtYXRjaChDT01NQSkgfHwgbWF0Y2goQ0xPU0VQQVJFTikgfHwgbWF0Y2go
Q0xPU0VCUkFDRSkgfHwgbWF0Y2goQ0xPU0VCUkFDS0VUKSB8fCBtYXRjaChFT0ZUT0spOworICAg
IGZhaWxJZkZhbHNlKGNvcnJlY0Fycm93RmluaXNoLCAiRXhwZWN0ZWQgYSAnOycsICddJywgJ30n
LCAnKScsIG9yICcsJyBmb2xsb3dpbmcgYSBhcnJvdyBmdW5jdGlvbiBzdGF0ZW1lbnQiKTsKKwor
ICAgIGVuZCA9IHRva2VuRW5kUG9zaXRpb24oKTsKKyAgICBzZXRFbmRPZlN0YXRlbWVudCgpOwor
CisgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUmV0dXJuU3RhdGVtZW50KGxvY2F0aW9uLCBleHBy
LCBzdGFydCwgZW5kKTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBl
PgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJu
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZURlY29uc3RydWN0aW9uUGF0dGVybihUcmVlQnVpbGRl
ciYgY29udGV4dCwgRGVjb25zdHJ1Y3Rpb25LaW5kIGtpbmQsIGludCBkZXB0aCkKIHsKQEAgLTEx
MzgsOCArMTE3MiwxMyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1l
bnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQmxvY2tTdGF0ZW1lbgogICAgIHJldHVybiByZXN1
bHQ7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUg
PHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0
YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNv
bnRleHQsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVM
aXRlcmFsTGVuZ3RoLCBGdW5jdGlvblBhcnNlVHlwZSB0eXBlKQorI2Vsc2UKIHRlbXBsYXRlIDx0
eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0
ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250
ZXh0LCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0
ZXJhbExlbmd0aCkKKyNlbmRpZgogewogICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgm
bV9zdGF0ZW1lbnREZXB0aCk7CiAgICAgbV9zdGF0ZW1lbnREZXB0aCsrOwpAQCAtMTE0OCw2ICsx
MTg3LDI4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgZmFpbElmU3RhY2tPdmVyZmxv
dygpOwogICAgIFRyZWVTdGF0ZW1lbnQgcmVzdWx0ID0gMDsKICAgICBib29sIHNob3VsZFNldEVu
ZE9mZnNldCA9IHRydWU7CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIGJvb2wgaGFuZGxlZCA9IGZhbHNlOworICAgIGlmICh0eXBlID09IEFycm93RnVuY3Rpb25Q
YXJzZVR5cGUpIHsKKyAgICAgICAgc3dpdGNoIChtX3Rva2VuLm1fdHlwZSkgeworICAgICAgICBj
YXNlIENMT1NFUEFSRU46CisgICAgICAgIGNhc2UgQ0xPU0VCUkFDS0VUOgorICAgICAgICBjYXNl
IENPTU1BOgorICAgICAgICBjYXNlIFNFTUlDT0xPTjogeworICAgICAgICAgICAgcmVzdWx0ID0g
MDsKKyAgICAgICAgICAgIGhhbmRsZWQgPSB0cnVlOworICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIH0KKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisK
KyAgICAgICAgaWYgKGhhbmRsZWQpCisgICAgICAgICAgICBnb3RvIGVuZFN0YXRlbWVuZXQ7Cit9
CisjZW5kaWYKKwogICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKICAgICBjYXNlIE9QRU5C
UkFDRToKICAgICAgICAgcmVzdWx0ID0gcGFyc2VCbG9ja1N0YXRlbWVudChjb250ZXh0KTsKQEAg
LTExOTMsNiArMTI1NCwxMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0
ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAgIGNhc2UgQlJF
QUs6CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlQnJlYWtTdGF0ZW1lbnQoY29udGV4dCk7CiAgICAg
ICAgIGJyZWFrOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2Fz
ZSBBUlJPV0ZVTkNUSU9OOgorICAgICAgICByZXN1bHQgPSBwYXJzZUFycm93RnVuY3Rpb25TdGF0
ZW1lbnQoY29udGV4dCk7CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgY2FzZSBSRVRVUk46
CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlUmV0dXJuU3RhdGVtZW50KGNvbnRleHQpOwogICAgICAg
ICBicmVhazsKQEAgLTEyMzQsNiArMTMwMCw4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAg
ICAgICAgIGJyZWFrOwogICAgIH0KIAorZW5kU3RhdGVtZW5ldDoKKwogICAgIGlmIChyZXN1bHQg
JiYgc2hvdWxkU2V0RW5kT2Zmc2V0KQogICAgICAgICBjb250ZXh0LnNldEVuZE9mZnNldChyZXN1
bHQsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ub2Zmc2V0KTsKICAgICByZXR1cm4gcmVzdWx0OwpA
QCAtMTI1NCw2ICsxMzIyLDIzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUZv
cm1hbFBhcmFtZXRlckxpc3QgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRm9yCiAgICAgcmV0dXJu
IGxpc3Q7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxh
dGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZUZ1bmN0aW9uQm9keSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uQm9keShU
cmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBKU1Rva2VuTG9jYXRpb24gc3RhcnRMb2NhdGlv
bih0b2tlbkxvY2F0aW9uKCkpOworICAgIHVuc2lnbmVkIHN0YXJ0Q29sdW1uID0gdG9rZW5Db2x1
bW4oKTsKKworICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0
aCk7CisgICAgbV9zdGF0ZW1lbnREZXB0aCA9IDA7CisgICAgdHlwZW5hbWUgVHJlZUJ1aWxkZXI6
OkZ1bmN0aW9uQm9keUJ1aWxkZXIgYm9keUJ1aWxkZXIoY29uc3RfY2FzdDxWTSo+KG1fdm0pLCBt
X2xleGVyLmdldCgpKTsKKworICAgIGZhaWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMoYm9k
eUJ1aWxkZXIsIENoZWNrRm9yU3RyaWN0TW9kZSwgQXJyb3dGdW5jdGlvblBhcnNlVHlwZSksICJD
YW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGFycm93IGZ1bmN0aW9uIik7CisgICAgdW5zaWduZWQg
ZW5kQ29sdW1uID0gdG9rZW5Db2x1bW4oKTsKKyAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5j
dGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5k
Q29sdW1uLCBzdHJpY3RNb2RlKCkpOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBM
ZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGdW5jdGlvbkJvZHkg
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVyJiBjb250ZXh0
KQogewpAQCAtMTQwOSw2ICsxNDk0LDE2MSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAg
IHJldHVybiB0cnVlOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
K3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbkluZm8oVHJlZUJ1
aWxkZXImIGNvbnRleHQsIEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUsIFBhcnNlckZ1bmN0aW9uSW5m
bzxUcmVlQnVpbGRlcj4mIGluZm8pCit7CisgICAgQXV0b1BvcFNjb3BlUmVmIGZ1bmN0aW9uU2Nv
cGUodGhpcywgcHVzaFNjb3BlKCkpOworICAgIGZ1bmN0aW9uU2NvcGUtPnNldElzRnVuY3Rpb24o
KTsKKyAgICBpbnQgZnVuY3Rpb25OYW1lU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRP
ZmZzZXQ7CisgICAgY29uc3QgSWRlbnRpZmllciogbGFzdEZ1bmN0aW9uTmFtZSA9IG1fbGFzdEZ1
bmN0aW9uTmFtZTsKKyAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBudWxscHRyOworCisgICAgaWYg
KCFtYXRjaChJREVOVCkgJiYgIW1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgc2VtYW50aWNG
YWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7
CisgICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgYW4gYXJyb3cgZnVuY3Rpb24gaW5w
dXQgcGFyYW1ldGVyIik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKG1hdGNoKE9QRU5QQVJF
TikpIHsKKyAgICAgICAgICAgIGNvbnN1bWUoT1BFTlBBUkVOKTsKKworICAgICAgICAgICAgaWYg
KCFtYXRjaChDTE9TRVBBUkVOKSkgeworICAgICAgICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9
IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhjb250ZXh0KTsKKyAgICAgICAgICAgICAgICBmYWlsSWZG
YWxzZShpbmZvLnBhcmFtZXRlcnMsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAi
LCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOworICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICBjb25zdW1lT3JGYWlsKENMT1NFUEFSRU4sICJFeHBlY3RlZCBhICcpJyBvciBhICcsJyBh
ZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgaW5mby5wYXJhbWV0ZXJzID0gcGFyc2VGb3JtYWxQYXJhbWV0ZXJzKGNvbnRleHQpOwor
ICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBh
cmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAg
ICAgfQorICAgIH0KKworICAgIG1hdGNoT3JGYWlsKEFSUk9XRlVOQ1RJT04sICJFeHBlY3RlZCBh
ICc9PicgYWZ0ZXIgYXJyb3cgZnVuY3Rpb24gcGFyYW1ldGVyIGRlY2xhcmF0aW9uIik7CisKKyAg
ICBpbmZvLmFycm93RnVuY3Rpb25PZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CisgICAg
CisgICAgaW5mby5vcGVuQnJhY2VPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CisgICAg
aW5mby5ib2R5U3RhcnRMaW5lID0gdG9rZW5MaW5lKCk7CisgICAgaW5mby5ib2R5U3RhcnRDb2x1
bW4gPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQgLSBtX3Rva2VuLm1fZGF0YS5saW5lU3RhcnRPZmZz
ZXQ7CisKKyAgICBKU1Rva2VuTG9jYXRpb24gc3RhcnRMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkp
OworCisgICAgLy8gSWYgd2Uga25vdyBhYm91dCB0aGlzIGZ1bmN0aW9uIGFscmVhZHksIHdlIGNh
biB1c2UgdGhlIGNhY2hlZCBpbmZvIGFuZCBza2lwIHRoZSBwYXJzZXIgdG8gdGhlIGVuZCBvZiB0
aGUgZnVuY3Rpb24uCisgICAgaWYgKGNvbnN0IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKiBjYWNo
ZWRJbmZvID0gVHJlZUJ1aWxkZXI6OkNhblVzZUZ1bmN0aW9uQ2FjaGUgPyBmaW5kQ2FjaGVkRnVu
Y3Rpb25JbmZvKGluZm8ub3BlbkJyYWNlT2Zmc2V0KSA6IDApIHsKKyAgICAgICAgLy8gSWYgd2Un
cmUgaW4gYSBzdHJpY3QgY29udGV4dCwgdGhlIGNhY2hlZCBmdW5jdGlvbiBpbmZvIG11c3Qgc2F5
IGl0IHdhcyBzdHJpY3QgdG9vLgorICAgICAgICBBU1NFUlQoIXN0cmljdE1vZGUoKSB8fCBjYWNo
ZWRJbmZvLT5zdHJpY3RNb2RlKTsKKyAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGVuZExvY2F0aW9u
OworCisgICAgICAgIGVuZExvY2F0aW9uLmxpbmUgPSBjYWNoZWRJbmZvLT5jbG9zZUJyYWNlTGlu
ZTsKKyAgICAgICAgZW5kTG9jYXRpb24uc3RhcnRPZmZzZXQgPSBjYWNoZWRJbmZvLT5jbG9zZUJy
YWNlT2Zmc2V0OworICAgICAgICBlbmRMb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQgPSBjYWNoZWRJ
bmZvLT5jbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0OworCisgICAgICAgIGJvb2wgZW5kQ29sdW1u
SXNPblN0YXJ0TGluZSA9IChlbmRMb2NhdGlvbi5saW5lID09IGluZm8uYm9keVN0YXJ0TGluZSk7
CisgICAgICAgIEFTU0VSVChlbmRMb2NhdGlvbi5zdGFydE9mZnNldCA+PSBlbmRMb2NhdGlvbi5s
aW5lU3RhcnRPZmZzZXQpOworICAgICAgICB1bnNpZ25lZCBib2R5RW5kQ29sdW1uID0gZW5kQ29s
dW1uSXNPblN0YXJ0TGluZSA/CisgICAgICAgIGVuZExvY2F0aW9uLnN0YXJ0T2Zmc2V0IC0gbV90
b2tlbi5tX2RhdGEubGluZVN0YXJ0T2Zmc2V0IDoKKyAgICAgICAgZW5kTG9jYXRpb24uc3RhcnRP
ZmZzZXQgLSBlbmRMb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQ7CisgICAgICAgIHVuc2lnbmVkIGN1
cnJlbnRMaW5lU3RhcnRPZmZzZXQgPSBtX3Rva2VuLm1fbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0
OworCisgICAgICAgIGluZm8uYm9keSA9IGNvbnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0YXJ0
TG9jYXRpb24sIGVuZExvY2F0aW9uLCBpbmZvLmJvZHlTdGFydENvbHVtbiwgYm9keUVuZENvbHVt
biwgY2FjaGVkSW5mby0+c3RyaWN0TW9kZSk7CisKKyAgICAgICAgZnVuY3Rpb25TY29wZS0+cmVz
dG9yZUZyb21Tb3VyY2VQcm92aWRlckNhY2hlKGNhY2hlZEluZm8pOworICAgICAgICBmYWlsSWZG
YWxzZShwb3BTY29wZShmdW5jdGlvblNjb3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFi
bGVJbmZvKSwgIlBhcnNlciBlcnJvciIpOworCisgICAgICAgIGluZm8uY2xvc2VCcmFjZU9mZnNl
dCA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VPZmZzZXQ7CisgICAgICAgIGluZm8uYXJyb3dGdW5j
dGlvbkJvZHlUeXBlID0gY2FjaGVkSW5mby0+aXNCb2R5QXJyb3dGdW5jdGlvbkJsb2NrID8gQXJy
b3dGdW5jdGlvbkJvZHlCbG9jayA6IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbjsKKworICAg
ICAgICBjb250ZXh0LnNldEZ1bmN0aW9uTmFtZVN0YXJ0KGluZm8uYm9keSwgZnVuY3Rpb25OYW1l
U3RhcnQpOworICAgICAgICAKKyAgICAgICAgbV90b2tlbiA9IGluZm8uYXJyb3dGdW5jdGlvbkJv
ZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2sgPyBjYWNoZWRJbmZvLT5jbG9zZUJyYWNl
VG9rZW4oKSA6IGNhY2hlZEluZm8tPmVuZEFycm93RnVuY3Rpb25Ub2tlbigpOworICAgICAgICAK
KyAgICAgICAgaWYgKGVuZENvbHVtbklzT25TdGFydExpbmUpCisgICAgICAgICAgICBtX3Rva2Vu
Lm1fbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVTdGFydE9mZnNldDsKKwor
ICAgICAgICBtX2xleGVyLT5zZXRPZmZzZXQobV90b2tlbi5tX2xvY2F0aW9uLmVuZE9mZnNldCwg
bV90b2tlbi5tX2xvY2F0aW9uLmxpbmVTdGFydE9mZnNldCk7CisgICAgICAgIG1fbGV4ZXItPnNl
dExpbmVOdW1iZXIobV90b2tlbi5tX2xvY2F0aW9uLmxpbmUpOworCisgICAgICAgIGNvbnRleHQu
c2V0RW5kT2Zmc2V0KGluZm8uYm9keSwgbV9sZXhlci0+Y3VycmVudE9mZnNldCgpKTsKKyAgICAg
ICAgCisgICAgICAgIGlmIChpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0
aW9uQm9keUJsb2NrKQorICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAKKyAgICAgICAgaW5m
by5ib2R5RW5kTGluZSA9IG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZTsKKyAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgfQorICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IGxhc3RGdW5jdGlvbk5h
bWU7CisgICAgUGFyc2VyU3RhdGUgb2xkU3RhdGUgPSBzYXZlU3RhdGUoKTsKKworICAgIFNhdmVQ
b2ludCBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICBuZXh0KCk7CisgICAgLy8g
Q2hlY2sgaWYgYXJyb3cgYm9keSBzdGFydCB3aXRoIHsuIElmIGl0IHRydWUgaXQgbWVhbiB0aGF0
IGFycm93IGZ1bmN0aW9uIGlzIEZhdCBhcnJvdyBmdW5jdGlvbgorICAgIC8vIGFuZCB3ZSBuZWVk
IHVzZSBjb21tb24gYXBwcm9hY2ggdG8gcGFyc2UgZnVuY3Rpb24gYm9keQorICAgIAorICAgIGlu
Zm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBlID0gbWF0Y2goT1BFTkJSQUNFKSA/IEFycm93RnVuY3Rp
b25Cb2R5QmxvY2sgOiBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb247CisgICAgCisgICAgaWYg
KGluZm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHsK
KyAgICAgICAgaW5mby5vcGVuQnJhY2VPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7Cisg
ICAgICAgIGluZm8uYm9keVN0YXJ0TGluZSA9IHRva2VuTGluZSgpOworICAgICAgICBpbmZvLmJv
ZHlTdGFydENvbHVtbiA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldCAtIG1fdG9rZW4ubV9kYXRhLmxp
bmVTdGFydE9mZnNldDsKKyAgICAgICAgCisgICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rp
b25Cb2R5KGNvbnRleHQpOworICAgIH0gZWxzZSB7CisgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQo
c2F2ZVBvaW50KTsKKyAgICAgICAgaW5mby5ib2R5ID0gcGFyc2VBcnJvd0Z1bmN0aW9uQm9keShj
b250ZXh0KTsKKyAgICB9CisKKyAgICByZXN0b3JlU3RhdGUob2xkU3RhdGUpOworICAgIGZhaWxJ
ZkZhbHNlKGluZm8uYm9keSwgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiB0aGlzICIsIHN0cmlu
Z0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7CisgICAgY29udGV4dC5zZXRFbmRPZmZzZXQoaW5mby5i
b2R5LCBtX2xleGVyLT5jdXJyZW50T2Zmc2V0KCkpOworICAgIGlmIChmdW5jdGlvblNjb3BlLT5z
dHJpY3RNb2RlKCkgJiYgaW5mby5uYW1lKSB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKG1vZGUg
PT0gRnVuY3Rpb25Nb2RlKTsKKyAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKG1fdm0tPnByb3Bl
cnR5TmFtZXMtPmFyZ3VtZW50cyA9PSAqaW5mby5uYW1lLCAiJyIsIGluZm8ubmFtZS0+aW1wbCgp
LCAiJyBpcyBub3QgYSB2YWxpZCBmdW5jdGlvbiBuYW1lIGluIHN0cmljdCBtb2RlIik7CisgICAg
ICAgIHNlbWFudGljRmFpbElmVHJ1ZShtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09ICppbmZv
Lm5hbWUsICInIiwgaW5mby5uYW1lLT5pbXBsKCksICInIGlzIG5vdCBhIHZhbGlkIGZ1bmN0aW9u
IG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsKKyAgICB9CisgICAgCisgICAgaW5mby5jbG9zZUJyYWNl
T2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgIAorICAgIHVuc2lnbmVkIGNsb3Nl
QnJhY2VMaW5lID0gbV90b2tlbi5tX2RhdGEubGluZTsKKyAgICB1bnNpZ25lZCBjbG9zZUJyYWNl
TGluZVN0YXJ0T2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEubGluZVN0YXJ0T2Zmc2V0OworICAgIGJv
b2wgaXNCb2R5QXJyb3dGdW5jdGlvbkJsb2NrID0gaW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUg
PT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jazsKKworICAgIC8vIENhY2hlIHRoZSB0b2tlbml6ZXIg
c3RhdGUgYW5kIHRoZSBmdW5jdGlvbiBzY29wZSB0aGUgZmlyc3QgdGltZSB0aGUgZnVuY3Rpb24g
aXMgcGFyc2VkLgorICAgIC8vIEFueSBmdXR1cmUgcmVwYXJzaW5nIGNhbiB0aGVuIHNraXAgdGhl
IGZ1bmN0aW9uLgorICAgIHN0YXRpYyBjb25zdCBpbnQgbWluaW11bUZ1bmN0aW9uTGVuZ3RoVG9D
YWNoZSA9IDE2OworICAgIHN0ZDo6dW5pcXVlX3B0cjxTb3VyY2VQcm92aWRlckNhY2hlSXRlbT4g
bmV3SW5mbzsKKyAgICBpbnQgZnVuY3Rpb25MZW5ndGggPSBpbmZvLmNsb3NlQnJhY2VPZmZzZXQg
LSBpbmZvLm9wZW5CcmFjZU9mZnNldDsKKyAgICBpZiAoVHJlZUJ1aWxkZXI6OkNhblVzZUZ1bmN0
aW9uQ2FjaGUgJiYgbV9mdW5jdGlvbkNhY2hlICYmIGZ1bmN0aW9uTGVuZ3RoID4gbWluaW11bUZ1
bmN0aW9uTGVuZ3RoVG9DYWNoZSkgeworICAgICAgICBTb3VyY2VQcm92aWRlckNhY2hlSXRlbUNy
ZWF0aW9uUGFyYW1ldGVycyBwYXJhbWV0ZXJzOworICAgICAgICBwYXJhbWV0ZXJzLmZ1bmN0aW9u
TmFtZVN0YXJ0ID0gZnVuY3Rpb25OYW1lU3RhcnQ7CisgICAgICAgIHBhcmFtZXRlcnMuY2xvc2VC
cmFjZUxpbmUgPSBjbG9zZUJyYWNlTGluZTsKKyAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJyYWNl
T2Zmc2V0ID0gaW5mby5jbG9zZUJyYWNlT2Zmc2V0OworICAgICAgICBwYXJhbWV0ZXJzLmNsb3Nl
QnJhY2VMaW5lU3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0OworICAgICAg
ICBwYXJhbWV0ZXJzLmlzQm9keUFycm93RnVuY3Rpb25CbG9jayA9IGlzQm9keUFycm93RnVuY3Rp
b25CbG9jazsKKyAgICAgICAgcGFyYW1ldGVycy50b2tlblR5cGUgPSBtX3Rva2VuLm1fdHlwZTsK
KyAgICAgICAgCisgICAgICAgIGZ1bmN0aW9uU2NvcGUtPmZpbGxQYXJhbWV0ZXJzRm9yU291cmNl
UHJvdmlkZXJDYWNoZShwYXJhbWV0ZXJzKTsKKyAgICAgICAgbmV3SW5mbyA9IFNvdXJjZVByb3Zp
ZGVyQ2FjaGVJdGVtOjpjcmVhdGUocGFyYW1ldGVycyk7CisgICAgfQorICAgIGNvbnRleHQuc2V0
RnVuY3Rpb25OYW1lU3RhcnQoaW5mby5ib2R5LCBmdW5jdGlvbk5hbWVTdGFydCk7CisKKyAgICBm
YWlsSWZGYWxzZShwb3BTY29wZShmdW5jdGlvblNjb3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVl
VmFyaWFibGVJbmZvKSwgIlBhcnNlciBlcnJvciIpOworCisgICAgaWYgKGluZm8uYXJyb3dGdW5j
dGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHsKKyAgICAgICAgbWF0Y2hP
ckZhaWwoQ0xPU0VCUkFDRSwgIkV4cGVjdGVkIGEgY2xvc2luZyAnfScgYWZ0ZXIgYSAiLCBzdHJp
bmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOworICAgICAgICBuZXh0KCk7CisgICAg
fSBlbHNlIHsKKyAgICAgICAgYm9vbCBpc0VuZE9mQXJyb3dGdW5jdGlvbiA9IG1hdGNoKFNFTUlD
T0xPTikgfHwgbWF0Y2goQ09NTUEpIHx8IG1hdGNoKENMT1NFUEFSRU4pIHx8IG1hdGNoKENMT1NF
QlJBQ0UpIHx8IG1hdGNoKENMT1NFQlJBQ0tFVCk7CisgICAgICAgIGZhaWxJZkZhbHNlKGlzRW5k
T2ZBcnJvd0Z1bmN0aW9uLCAiRXhwZWN0ZWQgdGhlIGNsb3NpbmcgJzsnICcsJyAnXScgJyknICd9
JyBhZnRlciBhcnJvdyBmdW5jdGlvbiIpOworICAgIH0KKworICAgIGlmIChuZXdJbmZvKQorICAg
ICAgICBtX2Z1bmN0aW9uQ2FjaGUtPmFkZChpbmZvLm9wZW5CcmFjZU9mZnNldCwgV1RGOjptb3Zl
KG5ld0luZm8pKTsKKyAgICAKKyAgICBpbmZvLmJvZHlFbmRMaW5lID0gbV9sYXN0VG9rZW5FbmRQ
b3NpdGlvbi5saW5lOworICAgIHJldHVybiB0cnVlOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0
eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0
ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbihUcmVlQnVp
bGRlciYgY29udGV4dCkKIHsKQEAgLTE3MjIsNiArMTk2MiwxOCBAQCB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSWZTdGF0
ZW1lbnQoVAogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUlmU3RhdGVtZW50KGlmTG9jYXRpb24s
IGNvbmRpdGlvbiwgdHJ1ZUJsb2NrLCBzdGF0ZW1lbnRTdGFjay5sYXN0KCksIHN0YXJ0LCBlbmQp
OwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0
eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHBy
ZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RXhwcmVzc2lvbihUcmVlQnVpbGRl
ciYgY29udGV4dCkKK3sKKyAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7CisgICAgVHJlZUV4cHJl
c3Npb24gbm9kZSA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24oY29udGV4dCk7CisgICAgZmFp
bElmRmFsc2Uobm9kZSwgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9uIik7CisgICAgY29udGV4dC5z
ZXRFbmRPZmZzZXQobm9kZSwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5vZmZzZXQpOworICAgIHJl
dHVybiBub2RlOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7CkBAIC0xNzY5LDYg
KzIwMjEsNDQgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lv
biBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KICAgICAgICAgfQogICAgICAgICBy
ZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CiAgICAgfQorCisKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFNhdmVQb2ludCBzYXZlQXJyb3dGdW5jdGlvblBvaW50
ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgYm9vbCBhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0ID0g
ZmFsc2U7CisgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgbmV4dCgpOworICAg
ICAgICBpZiAobWF0Y2goQ0xPU0VQQVJFTikpIHsKKyAgICAgICAgICAgIG5leHQoKTsKKworICAg
ICAgICAgICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJT04pKQorICAgICAgICAgICAgICAgIGFycm93
RnVuY3Rpb25FbXB0eUxpc3QgPSB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCFhcnJv
d0Z1bmN0aW9uRW1wdHlMaXN0KQorICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJy
b3dGdW5jdGlvblBvaW50KTsKKyAgICB9CisjZW5kaWYKKworI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgVHJlZUV4cHJlc3Npb24gbGhzOworICAgIGlmICghYXJyb3dG
dW5jdGlvbkVtcHR5TGlzdCkgeworICAgICAgICBsaHMgPSBwYXJzZUNvbmRpdGlvbmFsRXhwcmVz
c2lvbihjb250ZXh0KTsKKyAgICAgICAgZmFpbElmRmFsc2UobGhzLCAiQ2FuGW5vdCBwYXJzZSBl
eHByZXNzaW9uIik7CisgICAgICAgIGlmIChpbml0aWFsTm9uTEhTQ291bnQgIT0gbV9ub25MSFND
b3VudCkgeworICAgICAgICAgICAgaWYgKG1fdG9rZW4ubV90eXBlID49IEVRVUFMICYmIG1fdG9r
ZW4ubV90eXBlIDw9IE9SRVFVQUwpCisgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsKCJMZWZ0
IGhhbmQgc2lkZSBvZiBvcGVyYXRvciAnIiwgZ2V0VG9rZW4oKSwgIicgbXVzdCBiZSBhIHJlZmVy
ZW5jZSIpOworCisgICAgICAgICAgICByZXR1cm4gbGhzOworICAgICAgICB9CisgICAgfQorICAg
IAorICAgIGlmIChtYXRjaChBUlJPV0ZVTkNUSU9OKSkgeworICAgICAgICByZXN0b3JlU2F2ZVBv
aW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICBsaHMgPSBwYXJzZUFycm93RnVu
Y3Rpb25XcmFwcGVyKGNvbnRleHQpOworICAgICAgICByZXR1cm4gbGhzOworICAgIH0KKyNlbHNl
CiAgICAgVHJlZUV4cHJlc3Npb24gbGhzID0gcGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24oY29u
dGV4dCk7CiAgICAgZmFpbElmRmFsc2UobGhzLCAiQ2Fubm90IHBhcnNlIGV4cHJlc3Npb24iKTsK
ICAgICBpZiAoaW5pdGlhbE5vbkxIU0NvdW50ICE9IG1fbm9uTEhTQ291bnQpIHsKQEAgLTE3Nzcs
NiArMjA2Nyw3IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Np
b24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXNzaWdubWVuCiAKICAgICAgICAgcmV0dXJuIGxo
czsKICAgICB9CisjZW5kaWYKICAgICAKICAgICBpbnQgYXNzaWdubWVudFN0YWNrID0gMDsKICAg
ICBPcGVyYXRvciBvcDsKQEAgLTIyMDksNiArMjUwMCwyMyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlF
eHByZQogICAgICAgICByZXR1cm4gY29udGV4dC50aGlzRXhwcihsb2NhdGlvbik7CiAgICAgfQog
ICAgIGNhc2UgSURFTlQ6IHsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgICAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNhdmVQb2lu
dCgpOworICAgICAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigp
OworICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50
OworICAgICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAg
ICAgICAgbmV4dCgpOworCisgICAgICAgIGlmICghbWF0Y2goQVJST1dGVU5DVElPTikpIHsKKyAg
ICAgICAgICAgIGN1cnJlbnRTY29wZSgpLT51c2VWYXJpYWJsZShpZGVudCwgbV92bS0+cHJvcGVy
dHlOYW1lcy0+ZXZhbCA9PSAqaWRlbnQpOworICAgICAgICAgICAgbV9sYXN0SWRlbnRpZmllciA9
IGlkZW50OworICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUmVzb2x2ZShsb2NhdGlv
biwgaWRlbnQsIHN0YXJ0KTsKKyAgICAgICAgfQorCisgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQo
c2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAgICAgIFRyZWVFeHByZXNzaW9uIGxocyA9IHBh
cnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoY29udGV4dCk7CisgICAgICAgIHJldHVybiBsaHM7Cisj
ZWxzZQogICAgICAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigp
OwogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50
OwogICAgICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKQEAg
LTIyMTYsNiArMjUyNCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJl
c3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAgICAgIGN1cnJl
bnRTY29wZSgpLT51c2VWYXJpYWJsZShpZGVudCwgbV92bS0+cHJvcGVydHlOYW1lcy0+ZXZhbCA9
PSAqaWRlbnQpOwogICAgICAgICBtX2xhc3RJZGVudGlmaWVyID0gaWRlbnQ7CiAgICAgICAgIHJl
dHVybiBjb250ZXh0LmNyZWF0ZVJlc29sdmUobG9jYXRpb24sIGlkZW50LCBzdGFydCk7CisjZW5k
aWYKICAgICB9CiAgICAgY2FzZSBTVFJJTkc6IHsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciog
aWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKQEAgLTIzODgsNiArMjY5NywzMiBAQCBlbmRN
ZW1iZXJFeHByZXNzaW9uOgogICAgIHJldHVybiBiYXNlOwogfQogCisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKFRyZWVCdWlsZGVyJiBjb250ZXh0KQoreworICAg
IFRyZWVFeHByZXNzaW9uIGJhc2UgPSAwOworICAgIEpTVGV4dFBvc2l0aW9uIGV4cHJlc3Npb25T
dGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgIGludCBuZXdDb3VudCA9IDA7CisgICAg
SlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uOworCisgICAgaWYgKG1hdGNoKElERU5UKSB8fCBtYXRj
aChPUEVOUEFSRU4pKSB7CisgICAgICAgIHVuc2lnbmVkIGZ1bmN0aW9uS2V5d29yZFN0YXJ0ID0g
dG9rZW5TdGFydCgpOworICAgICAgICBsb2NhdGlvbiA9IHRva2VuTG9jYXRpb24oKTsKKyAgICAg
ICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOworICAgICAgICBpbmZvLm5h
bWUgPSAmbV92bS0+cHJvcGVydHlOYW1lcy0+bnVsbElkZW50aWZpZXI7CisgICAgICAgIGZhaWxJ
ZkZhbHNlKChwYXJzZUFycm93RnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTW9kZSwgaW5m
bykpLCAiQ2Fubm90IHBhcnNlIGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsKKyAgICAgICAgYmFzZSA9
IGNvbnRleHQuY3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIobG9jYXRpb24sIGluZm8sIGZ1bmN0aW9u
S2V5d29yZFN0YXJ0KTsKKyAgICB9IGVsc2UKKyAgICAgICAgYmFzZSA9IHBhcnNlUHJpbWFyeUV4
cHJlc3Npb24oY29udGV4dCk7CisKKyAgICBmYWlsSWZGYWxzZShiYXNlLCAiQ2Fubm90IHBhcnNl
IGJhc2UgZXhwcmVzc2lvbiIpOworICAgIHdoaWxlIChuZXdDb3VudC0tKQorICAgICAgICBiYXNl
ID0gY29udGV4dC5jcmVhdGVOZXdFeHByKGxvY2F0aW9uLCBiYXNlLCBleHByZXNzaW9uU3RhcnQs
IGxhc3RUb2tlbkVuZFBvc2l0aW9uKCkpOworICAgIHJldHVybiBiYXNlOworfQorI2VuZGlmCisK
IHN0YXRpYyBjb25zdCBjaGFyKiBvcGVyYXRvclN0cmluZyhib29sIHByZWZpeCwgdW5zaWduZWQg
dG9rKQogewogICAgIHN3aXRjaCAodG9rKSB7CkBAIC0yNjAzLDcgKzI5MzgsNyBAQCB0ZW1wbGF0
ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPiB2b2lkIFBhcnNlcjxMZXhlclR5cGU+OjpwcmludFVuZXhw
ZWN0ZWRUb2tlblRleHQoVwogICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAKICAgICBjYXNl
IElERU5UOgotICAgICAgICBvdXQucHJpbnQoIlVuZXhwZWN0ZWQgaWRlbnRpZmllciAnIiwgZ2V0
VG9rZW4oKSwgIiciKTsKKyAgICAgICAgb3V0LnByaW50KCJVbmV4cGVjdGVkIGlkZW50aWZpZXIg
NCAnIiwgZ2V0VG9rZW4oKSwgIiciKTsKICAgICAgICAgcmV0dXJuOwogCiAgICAgZGVmYXVsdDoK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCmluZGV4IDUwMWMwMzY0NGQ1NTk3Yjhh
MWExYWYzZTlmOWM4MmUxODRlZDJkOGMuLjRmMzc3Y2YxNTdmN2JmOTI0MjIzMzI5ZDdkMGYzZDg0
MTk4MTczNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2Vy
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaApAQCAtODAsNiAr
ODAsOSBAQCBjbGFzcyBTb3VyY2VDb2RlOwogQ09NUElMRV9BU1NFUlQoTGFzdFVudGFnZ2VkVG9r
ZW4gPCA2NCwgTGVzc1RoYW42NFVudGFnZ2VkVG9rZW5zKTsKIAogZW51bSBTb3VyY2VFbGVtZW50
c01vZGUgeyBDaGVja0ZvclN0cmljdE1vZGUsIERvbnRDaGVja0ZvclN0cmljdE1vZGUgfTsKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorZW51bSBGdW5jdGlvblBhcnNlVHlw
ZSB7IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUsIEFycm93RnVuY3Rpb25QYXJzZVR5cGUgfTsK
KyNlbmRpZgogZW51bSBGdW5jdGlvblJlcXVpcmVtZW50cyB7IEZ1bmN0aW9uTm9SZXF1aXJlbWVu
dHMsIEZ1bmN0aW9uTmVlZHNOYW1lIH07CiBlbnVtIEZ1bmN0aW9uUGFyc2VNb2RlIHsKICAgICBG
dW5jdGlvbk1vZGUsCkBAIC03MDAsOSArNzAzLDE1IEBAIHByaXZhdGU6CiAgICAgICAgIH0KICAg
ICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0gICAgCisKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNv
dXJjZUVsZW1lbnRzIHBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVt
ZW50c01vZGUsIEZ1bmN0aW9uUGFyc2VUeXBlIHR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VU
eXBlKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFy
c2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1
bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDAsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1
bmN0aW9uUGFyc2VUeXBlID0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CisjZWxzZQogICAg
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNlU291
cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUpOwogICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0YXRlbWVudChUcmVl
QnVpbGRlciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3Rp
dmVMaXRlcmFsTGVuZ3RoID0gMCk7CisjZW5kaWYKKwogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lO
VEFYKQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJz
ZUNsYXNzRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImKTsKICNlbmRpZgpAQCAtNzI3LDYgKzczNiw5
IEBAIHByaXZhdGU6CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVt
ZW50IHBhcnNlSWZTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VCbG9ja1N0YXRlbWVudChUcmVlQnVpbGRl
ciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFy
c2VFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9u
IHBhcnNlQXJyb3dFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CisjZW5kaWYKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlQXNzaWdubWVudEV4cHJl
c3Npb24oVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFM
V0FZU19JTkxJTkUgVHJlZUV4cHJlc3Npb24gcGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24oVHJl
ZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJ
TkUgVHJlZUV4cHJlc3Npb24gcGFyc2VCaW5hcnlFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CkBA
IC03NDYsNiArNzU4LDEzIEBAIHByaXZhdGU6CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZVZhckRlY2xhcmF0aW9uTGlzdChUcmVlQnVpbGRlciYs
IGludCYgZGVjbGFyYXRpb25zLCBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuJiBsYXN0UGF0dGVy
biwgVHJlZUV4cHJlc3Npb24mIGxhc3RJbml0aWFsaXplciwgSlNUZXh0UG9zaXRpb24mIGlkZW50
U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0RW5k
LCBWYXJEZWNsYXJhdGlvbkxpc3RDb250ZXh0KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlQ29uc3REZWNsTGlzdCBwYXJzZUNvbnN0RGVjbGFyYXRp
b25MaXN0KFRyZWVCdWlsZGVyJik7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJz
ZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIo
VHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lO
TElORSBib29sIHBhcnNlQXJyb3dGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImLCBGdW5jdGlvblBh
cnNlTW9kZSwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYpOworICAgIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRnVuY3Rpb25Cb2R5IHBhcnNl
QXJyb3dGdW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImKTsKKyNlbmRpZgorCiAgICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVy
biBjcmVhdGVCaW5kaW5nUGF0dGVybihUcmVlQnVpbGRlciYsIERlY29uc3RydWN0aW9uS2luZCwg
Y29uc3QgSWRlbnRpZmllciYsIGludCBkZXB0aCwgSlNUb2tlbik7CiAgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBw
YXJzZURlY29uc3RydWN0aW9uUGF0dGVybihUcmVlQnVpbGRlciYsIERlY29uc3RydWN0aW9uS2lu
ZCwgaW50IGRlcHRoID0gMCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZF
Ul9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiB0cnlQYXJzZURlY29uc3RydWN0aW9u
UGF0dGVybkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKQEAgLTc2Niw2ICs3ODUsMTMgQEAgcHJp
dmF0ZToKICAgICAgICAgfQogICAgICAgICByZXR1cm4gYWxsb3dBdXRvbWF0aWNTZW1pY29sb24o
KTsKICAgICB9CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHZv
aWQgc2V0RW5kT2ZTdGF0ZW1lbnQoKQorICAgIHsKKyAgICAgICAgbV9sZXhlci0+c2V0VG9rZW5Q
b3NpdGlvbigmbV90b2tlbik7CisgICAgfQorI2VuZGlmCiAgICAgCiAgICAgYm9vbCBjYW5SZWN1
cnNlKCkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlckZ1bmN0aW9uSW5mby5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJG
dW5jdGlvbkluZm8uaAppbmRleCBlMjA4MjQ1NDFhMzA2MTZkZjViOWUyYjE2NzdkYTA3OWU5YmU3
N2E1Li42MjBhYjdlNWVhMzVkMDQ1NTk3NGI3OWQ1NzVlMGM4YTM5YzJjNmI3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKQEAgLTI4
LDYgKzI4LDEwIEBACiAKIG5hbWVzcGFjZSBKU0MgewogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKK2VudW0gQXJyb3dGdW5jdGlvbkJvZHlUeXBlIHsgQXJyb3dGdW5jdGlv
bkJvZHlFeHByZXNzaW9uLCBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrfTsKKyNlbmRpZgorICAgIAog
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPgogc3RydWN0IFBhcnNlckZ1bmN0aW9uSW5mbyB7
CiAgICAgY29uc3QgSWRlbnRpZmllciogbmFtZSA9IDA7CkBAIC0zOCw2ICs0MiwxMCBAQCBzdHJ1
Y3QgUGFyc2VyRnVuY3Rpb25JbmZvIHsKICAgICBpbnQgYm9keVN0YXJ0TGluZSA9IDA7CiAgICAg
aW50IGJvZHlFbmRMaW5lID0gMDsKICAgICB1bnNpZ25lZCBib2R5U3RhcnRDb2x1bW4gPSAwOwor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdW5zaWduZWQgYXJyb3dG
dW5jdGlvbk9mZnNldCA9IDA7CisgICAgQXJyb3dGdW5jdGlvbkJvZHlUeXBlIGFycm93RnVuY3Rp
b25Cb2R5VHlwZSA9IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbjsKKyNlbmRpZgogfTsKIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKaW5kZXggM2Zm
Mjc5ODY2YWY2ZTI4NjkwYmMwN2M1ZjcyMWJjN2EzODA1NmVhMi4uNGM2M2RjMTIwMDA3NDIxZTkx
M2MxMzk0ZDNhOTE4YTlhYTJiMGJlMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXJUb2tlbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1BhcnNlclRva2Vucy5oCkBAIC03NSw2ICs3NSw5IEBAIGVudW0gSlNUb2tlblR5cGUgewogICAg
IEZJTkFMTFksCiAgICAgREVCVUdHRVIsCiAgICAgRUxTRSwKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgIEFSUk9XRlVOQ1RJT04sCisjZW5kaWYKICNpZiBFTkFCTEUo
RVM2X0NMQVNTX1NZTlRBWCkKICAgICBDTEFTU1RPS0VOLAogICAgIEVYVEVORFMsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCmluZGV4IDczZDIzZGI4MmFmMjVlYTQ2
YzBmODk3ODVjZTQyNGJiNjBlYjYxYTcuLmUyMWQ5ODJlYTIyM2JiZGM5ZDU4MDljZjM0MTE3N2Ji
MmZlZTViZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNl
Q29kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCkBA
IC0xMDQsNiArMTA0LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGludCBsZW5ndGgoKSBj
b25zdCB7IHJldHVybiBtX2VuZENoYXIgLSBtX3N0YXJ0Q2hhcjsgfQogICAgICAgICAKICAgICAg
ICAgU291cmNlQ29kZSBzdWJFeHByZXNzaW9uKHVuc2lnbmVkIG9wZW5CcmFjZSwgdW5zaWduZWQg
Y2xvc2VCcmFjZSwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKTsKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBTb3VyY2VDb2RlIHN1YkFycm93RXhw
cmVzc2lvbih1bnNpZ25lZCBzdGFydEFycm93RnVuY3Rpb24sIHVuc2lnbmVkIGVuZEFycm93RnVu
Y3Rpb24sIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbik7CisjZW5kaWYKIAogICAgIHBy
aXZhdGU6CiAgICAgICAgIFJlZlB0cjxTb3VyY2VQcm92aWRlcj4gbV9wcm92aWRlcjsKQEAgLTEx
OCw2ICsxMjEsMTcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBTb3VyY2VDb2Rl
KFN0cmluZ1NvdXJjZVByb3ZpZGVyOjpjcmVhdGUoc291cmNlLCB1cmwsIHN0YXJ0UG9zaXRpb24p
LCBzdGFydFBvc2l0aW9uLm1fbGluZS5vbmVCYXNlZEludCgpLCBzdGFydFBvc2l0aW9uLm1fY29s
dW1uLm9uZUJhc2VkSW50KCkpOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgaW5saW5lIFNvdXJjZUNvZGUgU291cmNlQ29kZTo6c3ViQXJyb3dFeHBy
ZXNzaW9uKHVuc2lnbmVkIHN0YXJ0QXJyb3dGdW5jdGlvbiwgdW5zaWduZWQgZW5kQXJyb3dGdW5j
dGlvbiwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKQorICAgIHsKKyAgICAgICAgQVNT
RVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW3N0YXJ0QXJyb3dGdW5jdGlvbl0gPT0gJz0nICYmIHBy
b3ZpZGVyKCktPnNvdXJjZSgpW3N0YXJ0QXJyb3dGdW5jdGlvbiArIDFdID09ICc+Jyk7CisgICAg
ICAgIC8vIEZpeG1lOiBVc2UgYmV0dGVyIGFwcHJvYWNoIHRvIGNoZWNrIHN5bWJvbAorICAgICAg
ICBBU1NFUlQocHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICcs
JyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJzsnIHx8
IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnKScgfHwgcHJv
dmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICddJyB8fCBwcm92aWRl
cigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJ30nKTsKKyAgICAgICAgc3Rh
cnRDb2x1bW4gKz0gMTsgLy8gQ29udmVydCB0byBiYXNlIDEuCisgICAgICAgIHJldHVybiBTb3Vy
Y2VDb2RlKHByb3ZpZGVyKCksIHN0YXJ0QXJyb3dGdW5jdGlvbiwgZW5kQXJyb3dGdW5jdGlvbiAt
IDEsIGZpcnN0TGluZSwgc3RhcnRDb2x1bW4pOworICAgIH0KKyNlbmRpZgorCiAgICAgaW5saW5l
IFNvdXJjZUNvZGUgU291cmNlQ29kZTo6c3ViRXhwcmVzc2lvbih1bnNpZ25lZCBvcGVuQnJhY2Us
IHVuc2lnbmVkIGNsb3NlQnJhY2UsIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbikKICAg
ICB7CiAgICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtvcGVuQnJhY2VdID09ICd7
Jyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3Zp
ZGVyQ2FjaGVJdGVtLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3Zp
ZGVyQ2FjaGVJdGVtLmgKaW5kZXggNjM1Mzc5ZTNmNDQ1NjY4YzUyYjg3MmY3NjE2ZGNiNTkyMWE4
Mjk0NC4uNzdkOWY4MmJhYTBkYjZjNmQzMDFmM2E4ZDU3NzJiZTgxNjU2YTQ3NSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0
ZW0uaApAQCAtNDAsNiArNDAsMTAgQEAgc3RydWN0IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtQ3Jl
YXRpb25QYXJhbWV0ZXJzIHsKICAgICBib29sIG5lZWRzRnVsbEFjdGl2YXRpb247CiAgICAgYm9v
bCB1c2VzRXZhbDsKICAgICBib29sIHN0cmljdE1vZGU7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICBib29sIGlzQm9keUFycm93RnVuY3Rpb25CbG9jazsKKyAgICBK
U1Rva2VuVHlwZSB0b2tlblR5cGU7CisjZW5kaWYKICAgICBWZWN0b3I8UmVmUHRyPFN0cmluZ0lt
cGw+PiB1c2VkVmFyaWFibGVzOwogICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+IHdyaXR0
ZW5WYXJpYWJsZXM7CiB9OwpAQCAtNjgsNiArNzIsMjEgQEAgcHVibGljOgogICAgICAgICAvLyB3
ZSBkbyBub3QgbmVlZCB0byBzZXQgaXQgaGVyZS4KICAgICAgICAgcmV0dXJuIHRva2VuOwogICAg
IH0KKyAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEpTVG9r
ZW4gZW5kQXJyb3dGdW5jdGlvblRva2VuKCkgY29uc3QKKyAgICB7CisgICAgICAgIEpTVG9rZW4g
dG9rZW47CisgICAgICAgIHRva2VuLm1fdHlwZSA9IHRva2VuVHlwZTsKKyAgICAgICAgdG9rZW4u
bV9kYXRhLm9mZnNldCA9IGNsb3NlQnJhY2VPZmZzZXQ7CisgICAgICAgIHRva2VuLm1fbG9jYXRp
b24uc3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNlT2Zmc2V0OworICAgICAgICB0b2tlbi5tX2xvY2F0
aW9uLmVuZE9mZnNldCA9IGNsb3NlQnJhY2VPZmZzZXQgKyAxOworICAgICAgICB0b2tlbi5tX2xv
Y2F0aW9uLmxpbmUgPSBjbG9zZUJyYWNlTGluZTsKKyAgICAgICAgdG9rZW4ubV9sb2NhdGlvbi5s
aW5lU3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0OworICAgICAgICAKKyAg
ICAgICAgcmV0dXJuIHRva2VuOworICAgIH0KKyNlbmRpZgogCiAgICAgdW5zaWduZWQgZnVuY3Rp
b25OYW1lU3RhcnQgOiAzMTsKICAgICBib29sIG5lZWRzRnVsbEFjdGl2YXRpb24gOiAxOwpAQCAt
ODEsNiArMTAwLDExIEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBjbG9zZUJyYWNlTGluZVN0YXJ0
T2Zmc2V0OwogICAgIHVuc2lnbmVkIHVzZWRWYXJpYWJsZXNDb3VudDsKICAgICB1bnNpZ25lZCB3
cml0dGVuVmFyaWFibGVzQ291bnQ7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICBib29sIGlzQm9keUFycm93RnVuY3Rpb25CbG9jazsKKyAgICBKU1Rva2VuVHlwZSB0
b2tlblR5cGU7CisjZW5kaWYKKyAgICAKIAogICAgIFN0cmluZ0ltcGwqKiB1c2VkVmFyaWFibGVz
KCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxTdHJpbmdJbXBsKio+KG1fdmFyaWFibGVzKTsg
fQogICAgIFN0cmluZ0ltcGwqKiB3cml0dGVuVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gY29u
c3RfY2FzdDxTdHJpbmdJbXBsKio+KCZtX3ZhcmlhYmxlc1t1c2VkVmFyaWFibGVzQ291bnRdKTsg
fQpAQCAtMTE1LDYgKzEzOSwxMCBAQCBpbmxpbmUgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW06OlNv
dXJjZVByb3ZpZGVyQ2FjaGVJdGVtKGNvbnN0IFNvdXJjZVByb3ZpZGVyQ2FjaAogICAgICwgY2xv
c2VCcmFjZUxpbmVTdGFydE9mZnNldChwYXJhbWV0ZXJzLmNsb3NlQnJhY2VMaW5lU3RhcnRPZmZz
ZXQpCiAgICAgLCB1c2VkVmFyaWFibGVzQ291bnQocGFyYW1ldGVycy51c2VkVmFyaWFibGVzLnNp
emUoKSkKICAgICAsIHdyaXR0ZW5WYXJpYWJsZXNDb3VudChwYXJhbWV0ZXJzLndyaXR0ZW5WYXJp
YWJsZXMuc2l6ZSgpKQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAg
LCBpc0JvZHlBcnJvd0Z1bmN0aW9uQmxvY2socGFyYW1ldGVycy5pc0JvZHlBcnJvd0Z1bmN0aW9u
QmxvY2spCisgICAgLCB0b2tlblR5cGUocGFyYW1ldGVycy50b2tlblR5cGUpCisjZW5kaWYKIHsK
ICAgICB1bnNpZ25lZCBqID0gMDsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdXNlZFZh
cmlhYmxlc0NvdW50OyArK2ksICsraikgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1N5bnRheENoZWNrZXIuaAppbmRleCA1ODg0ZmIyODJlNzU2MWE2NTg2ZDBmNmUxZGE1OTE1MWI4
ZDU0YTQ3Li44MzJiZTc1NjZmMzhiMDYyZDMyZTQ5ZDM5MGJhZDQ1ZWJmZmQxZDQ1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaApAQCAtMTY5LDYgKzE2
OSw5IEBAIHB1YmxpYzoKICNlbmRpZgogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUZ1bmN0aW9u
RXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3lu
dGF4Q2hlY2tlcj4mLCBpbnQpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQogICAgIGludCBjcmVh
dGVGdW5jdGlvbkJvZHkoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgSlNUb2tlbkxvY2F0
aW9uJiwgaW50LCBpbnQsIGJvb2wpIHsgcmV0dXJuIEZ1bmN0aW9uQm9keVJlc3VsdDsgfQorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgRXhwcmVzc2lvblR5cGUgY3Jl
YXRlQXJyb3dGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFyc2Vy
RnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JiwgaW50KSB7IHJldHVybiBGdW5jdGlvbkV4cHI7
IH0KKyNlbmRpZgogICAgIHZvaWQgc2V0RnVuY3Rpb25OYW1lU3RhcnQoaW50LCBpbnQpIHsgfQog
ICAgIGludCBjcmVhdGVBcmd1bWVudHMoKSB7IHJldHVybiBBcmd1bWVudHNSZXN1bHQ7IH0KICAg
ICBpbnQgY3JlYXRlQXJndW1lbnRzKGludCkgeyByZXR1cm4gQXJndW1lbnRzUmVzdWx0OyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCmluZGV4IDhmYzI0ODdmNmFlZTBmNzM5Y2ZkM2MwYTg0YWJjNzkxNTk0YTVlZTMuLmEy
ZTczYTFmMDM4NzcyZmIyMjBmMzI0ZmRjOWI1NTI0YjhmYTUxMWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00
NSw2ICs0NSw3IEBAIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVO
QUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkc7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IDsKK0VOQUJMRV9F
UzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
OwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwog
RU5BQkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSyA9IEVO
QUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUs7CkBAIC0yMTAsNCArMjExLDQgQEAgRU5BQkxF
X0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9
IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9
ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBU
SU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJ
T05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hf
REVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1Nf
REVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NT
X0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFC
TEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9D
U1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JS
RUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9I
QU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxF
TUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVN
RU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NP
TlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZF
TlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVf
R0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVO
X1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFC
TEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01Q
TEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
V0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VT
VFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxF
X0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNf
U0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1Mp
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9O
QVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
UERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykg
JChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAk
KEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxF
X1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJM
RV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFC
TEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9T
VFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAk
KEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRF
Q1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQo
RU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAk
KEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VC
X0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFC
TEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JF
R0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExf
SklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJ
VEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJ
TkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5W
QVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZG
X0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BB
UlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkg
JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQo
RU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
TkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsp
ICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9O
KSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAk
KEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFC
TEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VS
U09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVf
REFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RB
VEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVW
SUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFC
TEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxF
X0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVM
TFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRF
RCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9U
SFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Vf
SU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Ip
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9X
RUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAk
KEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVf
TUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9F
TEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVO
QUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VS
UkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQo
RU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlU
WV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01Q
TEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJ
QV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05B
UCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5B
QkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9D
T05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9U
RU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJ
TkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJM
RV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RF
X0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVf
V0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMp
ICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9Y
SFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJ
TlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxF
X1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9t
YWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOGZjMjQ4N2Y2
YWVlMGY3MzljZmQzYzBhODRhYmM3OTE1OTRhNWVlMy4uYTJlNzNhMWYwMzg3NzJmYjIyMGYzMjRm
ZGM5YjU1MjRiOGZhNTExYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5B
QkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9Y
WSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ1NQX05FWFQg
PSA7CiBFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLID0gRU5BQkxFX0NTU19CT1hfREVD
T1JBVElPTl9CUkVBSzsKQEAgLTIxMCw0ICsyMTEsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0g
OwogCiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRF
RF9MQVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVO
REVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9B
VFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVf
Q0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVS
SU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFL
KSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElP
TikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykg
JChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5B
QkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NV
UlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxF
X0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9E
QVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RF
VklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJM
RV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZV
TExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FU
RUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJf
VEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRS
T0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
X0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5B
QkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChF
TkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChF
TkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
V0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkg
JChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJf
RUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChF
TkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNV
UlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAk
KEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1J
VFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAk
KEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09N
UExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVE
SUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NO
QVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVO
QUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZf
Q09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVf
VEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VD
SF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlM
SU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFC
TEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9E
RV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxF
X1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVT
KSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVf
WEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xM
SU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJM
RV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8z
RF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUND
RUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5B
QkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVO
QUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQ
X05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NP
TVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19H
UklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxF
Q1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkg
JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
UykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVO
QUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJ
TUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
TEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9B
TklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQp
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVO
QUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVO
QUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5B
QkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA4ZmMyNDg3ZjZhZWUwZjczOWNmZDNjMGE4NGFiYzc5
MTU5NGE1ZWUzLi5hMmU3M2ExZjAzODc3MmZiMjIwZjMyNGZkYzliNTUyNGI4ZmE1MTFjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FO
VkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgg
PSA7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJ
T05fQlJFQUsgPSBFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLOwpAQCAtMjEwLDQgKzIx
MSw0IEBAIEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VU
X0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFU
VVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVO
QUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFT
X1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZ
TlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVO
QUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykg
JChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQp
ICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09M
VVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVM
NCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1Mz
X1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NV
U1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxF
X0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9E
T000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVf
Rk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQ
QUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFU
QUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVf
VUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Jf
UE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChF
TkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAk
KEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVG
SVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5E
T1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBS
RVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01F
RElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJ
QV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChF
TkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElM
UykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFC
TEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19T
VUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZS
QU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BF
Q1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JB
TkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJ
UykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxF
X1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9O
RV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNP
Tl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVD
VF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFU
QUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wp
ICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NP
Q0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5B
QkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkg
JChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFU
RURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsK
K0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcp
ICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVO
QUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9D
QU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xB
U1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNP
UkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJ
Q0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1B
R0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9D
U1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19T
SEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUsp
ICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRM
RVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5U
KSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQp
ICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RS
VUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
X1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMp
ICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1F
UEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFH
RV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9T
RVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVf
TU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVL
KSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xF
R0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElO
S19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJ
UFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChF
TkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNP
Ul9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklH
QVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZL
SVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVO
QUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5B
QkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVR
VUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JF
U09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9D
U1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVB
TVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5B
QkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElP
TikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAk
KEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFC
TEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9W
SURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5B
QkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVE
SU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9Q
SUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9O
UykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQp
ICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1F
VElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVy
ZXMuY21ha2UKaW5kZXggODg3MjYxNzI2NDA4MzQ0YWIwMjUyYzljMGVmMWZjOTc3ZDA2M2ZiYS4u
MDUwMDM3MmNiODQ1NGQ4NDg2N2U2NDJlNjk3NzAxY2RkMDlmMjhhZiAxMDA2NDQKLS0tIGEvU291
cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9XZWJLaXRG
ZWF0dXJlcy5jbWFrZQpAQCAtMjgsNiArMjgsNyBAQCBtYWNybyhXRUJLSVRfT1BUSU9OX0JFR0lO
KQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DQU5WQVNfUFJPWFkgIlRvZ2dsZSBD
YW52YXNQcm94eSBzdXBwb3J0IiBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HICJUb2dnbGUgTWVzc2FnZUNoYW5uZWwgYW5kIE1lc3NhZ2VQb3J0
IHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9FUzZfQ0xBU1Nf
U1lOVEFYICJUb2dnbGUgRVM2IGNsYXNzIHN5bnRheCBzdXBwb3J0IiBPRkYpCisgICAgV0VCS0lU
X09QVElPTl9ERUZJTkUoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCAiVG9nZ2xlIEVT
NiBhcnJvdyBmdW5jdGlvbiBzeW50YXggc3VwcG9ydCIgT04pCiAgICAgV0VCS0lUX09QVElPTl9E
RUZJTkUoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HICJUb2dnbGUgY29udGVudCBmaWx0ZXJpbmcg
c3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DT05URVhUX01F
TlVTICJUb2dnbGUgQ29udGV4dCBNZW51IHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJT05f
REVGSU5FKEVOQUJMRV9DU1BfTkVYVCAiVG9nZ2xlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IDEu
MSBzdXBwb3J0IiBPRkYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZSBi
L1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCmluZGV4IDFhNzQ1Y2E1Y2Q4OWZiMjAwODJmNzdi
YzAyNjg4YTliMGI0YmQ0YjkuLjMxMDZiNWVhMDg0YjM4NDMxZDk1OTk0NGM2Y2ExODFmMmZjZTIx
ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCisrKyBiL1NvdXJjZS9j
bWFrZWNvbmZpZy5oLmNtYWtlCkBAIC0xMyw2ICsxMyw3IEBACiAjY21ha2VkZWZpbmUwMSBFTkFC
TEVfQ0FOVkFTX1BST1hZCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcK
ICNjbWFrZWRlZmluZTAxIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYCisjY21ha2VkZWZpbmUwMSBF
TkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ09O
VEVOVF9GSUxURVJJTkcKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9DT05URVhUX01FTlVTCiAjY21h
a2VkZWZpbmUwMSBFTkFCTEVfQ1JFREVOVElBTF9TVE9SQUdFCmRpZmYgLS1naXQgYS9Ub29scy9D
aGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYTZiYmUyNWMyYTZkZDkyMzA5NTA2YmY3
MWNiOGUyNmZiZDQ3MmQ5MS4uNjRiZjgwNzc4ZmQ2YTg2MDQ4NGQ4ODBlYmMyMjA4MDNkYjUxN2I5
NiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE0IEBACisyMDE1LTAyLTI3ICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBn
bWFpbC5jb20+CisKKyAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MDg1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZGVkIGZlYXR1cmUgZmxhZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJv
dyBmdW5jdGlvbgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBt
OgorCiAyMDE1LTAyLTI3ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
QWRkIFdlYktpdDIgU1BJIHRvIGNyZWF0ZSBhIERPTSBGaWxlIG9iamVjdApkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCmluZGV4IDM1NDI1ZjVlNGI1NTVhZjMwMDMyZDIxZWUz
Y2FlYzY4NTRmNzlhNGIuLmE2YmM5YThmZWJkMWFlNGIyYzc1NjJjZDUxYTkyYzM4YzYzOWY5MWYg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KQEAgLTQ0LDYgKzQ0LDcg
QEAgQkVHSU4gewogbXkgKAogICAgICR0aHJlZURSZW5kZXJpbmdTdXBwb3J0LAogICAgICRhY2Nl
bGVyYXRlZDJEQ2FudmFzU3VwcG9ydCwKKyAgICAkYXJyb3dmdW5jdGlvblN5bnRheCwKICAgICAk
YmF0dGVyeVN0YXR1c1N1cHBvcnQsCiAgICAgJGNhbnZhc1BhdGhTdXBwb3J0LAogICAgICRjYW52
YXNQcm94eVN1cHBvcnQsCkBAIC0xNjksNiArMTcwLDkgQEAgbXkgQGZlYXR1cmVzID0gKAogICAg
IHsgb3B0aW9uID0+ICJjbGFzcy1zeW50YXgiLCBkZXNjID0+ICJUb2dnbGUgRVM2IGNsYXNzIHN5
bnRheCBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgi
LCBkZWZhdWx0ID0+IDAsIHZhbHVlID0+IFwkY2xhc3NTeW50YXggfSwKIAorICAgIHsgb3B0aW9u
ID0+ICJhcnJvd2Z1bmN0aW9uLXN5bnRheCIsIGRlc2MgPT4gIlRvZ2dsZSBFUzYgYXJyb3cgZnVu
Y3Rpb24gc3ludGF4IHN1cHBvcnQiLAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVfRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGFycm93ZnVuY3Rpb25T
eW50YXggfSwKKwogICAgIHsgb3B0aW9uID0+ICJjc3AtbmV4dCIsIGRlc2MgPT4gIlRvZ2dsZSBD
b250ZW50IFNlY3VyaXR5IFBvbGljeSAxLjEgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVO
QUJMRV9DU1BfTkVYVCIsIGRlZmF1bHQgPT4gaXNHdGsoKSwgdmFsdWUgPT4gXCRjc3BOZXh0U3Vw
cG9ydCB9LAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggNDEwYTg1MjIxZTMyNWJhYjY1NDRlYWQ0YWQyMGYxNDAzNjRmNjk0
OC4uYTc0ZTdmNmUxOTBlZWVhYTIwMWVhYjhmOTcwZjU5MTcyZTA0Njg3NCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE2IEBACisyMDE1LTAyLTI3ICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFp
bC5jb20+CisKKyAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50
YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICoganMv
YXJyb3dmdW5jdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL2Fycm93ZnVu
Y3Rpb24uaHRtbDogQWRkZWQuCisgICAgICAgICoganMvc2NyaXB0LXRlc3RzL2Fycm93ZnVuY3Rp
b24uanM6IEFkZGVkLgorICAgICAgICAoYXJyb3dGdW5jdGlvbldyYXBwZXIpOgorICAgICAgICAo
YXJyb3dGdW5jdGlvbldyYXBwZXIyKToKKwogMjAxNS0wMi0yNyAgWmFsYW4gQnVqdGFzICA8emFs
YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFN1YnBpeGVsLWxheW91dDogd2lkdGg6IG1heC1jb250
ZW50OyBwcm9wZXJ0eSBtaWdodCBjYXVzZSB1bm5lY2Vzc2FyeSBzY3JvbGxiYXIuCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9qcy9hcnJvd2Z1bmN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2pzL2Fycm93ZnVuY3Rpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4NWFlOTJhMTU4
OWExMjVkMGI3N2E3NzI4YjYzN2JiNTMwM2E0NjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9qcy9hcnJvd2Z1bmN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQzIEBACitUaGlz
IHRlc3QgY2hlY2sgdGhlIGJlaGF2aW9yIG9mIHRoZSBvZiBhcnJvdyBmdW5jdGlvbih0aGluIGNh
c2UpCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGFycm93RnVuY3Rpb24w
KDEwKSBpcyAxMQorUEFTUyBhcnJvd0Z1bmN0aW9uMSgxMCkgaXMgMTEKK1BBU1MgYXJyb3dGdW5j
dGlvbjIoKSBpcyAxMDAwCitQQVNTIGFycm93RnVuY3Rpb24zKDEwLCAyKSBpcyAxMgorUEFTUyBh
cnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEwKSBpcyAxMAorUEFTUyBhcnJvd0Z1bmN0aW9uV3Jh
cHBlcih4ID0+IDEwLCAyMCkgaXMgMTAKK1BBU1MgYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAx
MCArIDMwKSBpcyA0MAorUEFTUyBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEwICsgMzAsIDEw
MDApIGlzIDQwCitQQVNTIGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4geCArIDEsIDIxKSBpcyAy
MgorUEFTUyBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoeCkgPT4geCArIDEsIDIxKSBpcyAyMgorUEFT
UyBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiAxMDApIGlzIDEwMAorUEFTUyBhcnJvd0Z1bmN0
aW9uV3JhcHBlcigoKSA9PiBleHRfdmFsdWUpIGlzIDExMQorUEFTUyBhcnJvd0Z1bmN0aW9uV3Jh
cHBlcigoKSA9PiBleHRfdmFsdWUgKiAxMCkgaXMgMTExMAorUEFTUyBhcnJvd0Z1bmN0aW9uV3Jh
cHBlcigoeCkgPT4gZXh0X3ZhbHVlICogeCwgMzApIGlzIDMzMzAKK1BBU1MgYXJyb3dGdW5jdGlv
bldyYXBwZXIoKCkgPT4gMTAwLCAxMSkgaXMgMTAwCitQQVNTIGFycm93RnVuY3Rpb25XcmFwcGVy
KCgpID0+IDEwMCArIDEwKSBpcyAxMTAKK1BBU1MgYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4g
MTAwICsgMTAsIDEyKSBpcyAxMTAKK1BBU1MgYXJyb3dGdW5jdGlvbldyYXBwZXIyKCh4LCAgeSkg
PT4geCArIHksIDIxLCA1KSBpcyAyNgorUEFTUyBhcnJvd0Z1bmN0aW9uNCgxMDEpIGlzIDEwMgor
UEFTUyB4eXoxIGlzIDEwMTAxCitQQVNTIGFycm93RnVuY3Rpb0FycmF5MFswXSgxMCkgaXMgMTAw
CitQQVNTIGFycm93RnVuY3Rpb0FycmF5MVswXSgxMCkgaXMgMTEKK1BBU1MgYXJyb3dGdW5jdGlv
QXJyYXkxWzFdKDExKSBpcyAxMworUEFTUyBhcnJvd0Z1bmN0aW9BcnJheTJbMF0oMTEpIGlzIDEy
CitQQVNTIGFycm93RnVuY3Rpb0FycmF5MlsxXSgxMSkgaXMgMTMKK1BBU1MgYXJyb3dGdW5jdGlv
QXJyYXkzWzBdKDExKSBpcyAxMDEKK1BBU1MgYXJyb3dGdW5jdGlvQXJyYXkzWzFdKDExKSBpcyAx
MjMyMworUEFTUyBhcnJvd0Z1bmN0aW9uT2JqLmZ1bmMoMTEpIGlzIDIzCitQQVNTIGFycm93RmF0
RnVuY3Rpb24wKDExKSBpcyAxMDAwCitQQVNTIGFycm93RmF0RnVuY3Rpb24xKDExKSBpcyAxMTAw
CitQQVNTIGFycm93RmF0RnVuY3Rpb24yKDExKSBpcyAyMjAwCitQQVNTIGFycm93RmF0RnVuY3Rp
b24zKDExLCAxMjIyMikgaXMgMTM0NDQyCitQQVNTIGFycm93RnVuY3Rpb25XcmFwcGVyKHg9Pnty
ZXR1cm4geCAqIDI1O30sIDEyMSkgaXMgMzAyNQorUEFTUyBhcnJvd0Z1bmN0aW9uV3JhcHBlcjIo
KHgsIHkpPT57cmV0dXJuIHggKiB5O30sIDE0LCAxMikgaXMgMTY4CitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvanMvYXJyb3dmdW5jdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvanMvYXJyb3dmdW5jdGlvbi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjUzNzJmMGY3MmEwMDRhY2VhNzE3ODFlNmZlNDRkODIzNjlmZjYwMDQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9hcnJvd2Z1bmN0aW9uLmh0bWwKQEAg
LTAsMCArMSwxMiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9h
cnJvd2Z1bmN0aW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9hcnJvd2Z1bmN0aW9uLmpzIGIvTGF5b3V0VGVzdHMv
anMvc2NyaXB0LXRlc3RzL2Fycm93ZnVuY3Rpb24uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2U0ZjMxZWU5Y2Zk
NzkwODBjZTI4NjVjMWQ1ZWVkYmUxNGVlNzVmNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2pzL3NjcmlwdC10ZXN0cy9hcnJvd2Z1bmN0aW9uLmpzCkBAIC0wLDAgKzEsNTkgQEAKK2Rl
c2NyaXB0aW9uKAorIlRoaXMgdGVzdCBjaGVjayB0aGUgYmVoYXZpb3Igb2YgdGhlICBvZiBhcnJv
dyBmdW5jdGlvbih0aGluIGNhc2UpIgorKTsKKwordmFyIGFycm93RnVuY3Rpb24wID0gdiA9PiB2
ICsgMTsKK3ZhciBhcnJvd0Z1bmN0aW9uMSA9ICh2KSA9PiB2ICsgMTsKK3ZhciBhcnJvd0Z1bmN0
aW9uMiA9ICgpID0+IDEwMDA7Cit2YXIgYXJyb3dGdW5jdGlvbjMgPSAodiwgeCkgPT4gdiArIHg7
Cit2YXIgYXJyb3dGdW5jdGlvbldyYXBwZXIgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVyKSB7IHJl
dHVybiBjbChwYXJhbXRlcik7IH07Cit2YXIgYXJyb3dGdW5jdGlvbldyYXBwZXIyID0gZnVuY3Rp
b24gKGNsLCBwYXJhbXRlcjEsIHBhcmFtdGVyMikgeyByZXR1cm4gY2wocGFyYW10ZXIxLCBwYXJh
bXRlcjIpOyB9OwordmFyIGFycm93RnVuY3Rpb240ID0gdiA9PiB2ICsgMSwgeHl6MSA9IDEwMTAx
OwordmFyIGFycm93RnVuY3Rpb0FycmF5MCA9IFt2ID0+IHYgKiAxMF07Cit2YXIgYXJyb3dGdW5j
dGlvQXJyYXkxID0gW3YgPT4gdiArIDEsIHYgPT4gdiArIDJdOwordmFyIGFycm93RnVuY3Rpb0Fy
cmF5MiA9IFsodikgPT4gdiArIDEsICh2KSA9PiB2ICsgMl07Cit2YXIgYXJyb3dGdW5jdGlvQXJy
YXkzID0gWygpID0+IDEwMSwgKCkgPT4gMTIzMjNdOwordmFyIGFycm93RnVuY3Rpb25PYmogPSB7
ZnVuYyA6IHkgPT4geSArIDEyIH07Cit2YXIgZXh0X3ZhbHVlID0gMTExOworCitzaG91bGRCZSgi
YXJyb3dGdW5jdGlvbjAoMTApIiwgIjExIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvbjEoMTAp
IiwgIjExIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvbjIoKSIsICIxMDAwIik7CitzaG91bGRC
ZSgiYXJyb3dGdW5jdGlvbjMoMTAsIDIpIiwgIjEyIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlv
bldyYXBwZXIoeCA9PiAxMCkiLCAiMTAiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uV3JhcHBl
cih4ID0+IDEwLCAyMCkiLCAiMTAiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uV3JhcHBlcih4
ID0+IDEwICsgMzApIiwgIjQwIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9
PiAxMCArIDMwLCAxMDAwKSIsICI0MCIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb25XcmFwcGVy
KHggPT4geCArIDEsIDIxKSIsICIyMiIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb25XcmFwcGVy
KCh4KSA9PiB4ICsgMSwgMjEpIiwgIjIyIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvbldyYXBw
ZXIoKCkgPT4gMTAwKSIsICIxMDAiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uV3JhcHBlcigo
KSA9PiBleHRfdmFsdWUpIiwgIjExMSIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb25XcmFwcGVy
KCgpID0+IGV4dF92YWx1ZSAqIDEwKSIsICIxMTEwIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlv
bldyYXBwZXIoKHgpID0+IGV4dF92YWx1ZSAqIHgsIDMwKSIsICIzMzMwIik7CitzaG91bGRCZSgi
YXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwLCAxMSkiLCAiMTAwIik7CitzaG91bGRCZSgi
YXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwICsgMTApIiwgIjExMCIpOworc2hvdWxkQmUo
ImFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCArIDEwLCAxMikiLCAiMTEwIik7CitzaG91
bGRCZSgiYXJyb3dGdW5jdGlvbldyYXBwZXIyKCh4LCAgeSkgPT4geCArIHksIDIxLCA1KSIsICIy
NiIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb240KDEwMSkiLCAiMTAyIik7CitzaG91bGRCZSgi
eHl6MSIsICIxMDEwMSIpOworCitzaG91bGRCZSgiYXJyb3dGdW5jdGlvQXJyYXkwWzBdKDEwKSIs
ICIxMDAiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9BcnJheTFbMF0oMTApIiwgIjExIik7Citz
aG91bGRCZSgiYXJyb3dGdW5jdGlvQXJyYXkxWzFdKDExKSIsICIxMyIpOworc2hvdWxkQmUoImFy
cm93RnVuY3Rpb0FycmF5MlswXSgxMSkiLCAiMTIiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9B
cnJheTJbMV0oMTEpIiwgIjEzIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvQXJyYXkzWzBdKDEx
KSIsICIxMDEiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9BcnJheTNbMV0oMTEpIiwgIjEyMzIz
Iik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvbk9iai5mdW5jKDExKSIsICIyMyIpOworCit2YXIg
YXJyb3dGYXRGdW5jdGlvbjAgPSAoKSA9PiB7IHJldHVybiAxMDAwOyB9OwordmFyIGFycm93RmF0
RnVuY3Rpb24xID0gdiA9PiB7IHZhciBpbnR2YWwgPSAxMDA7IHJldHVybiB2ICogaW50dmFsOyB9
OwordmFyIGFycm93RmF0RnVuY3Rpb24yID0gKHYpID0+IHsgdmFyIGludCA9IDIwMDsgcmV0dXJu
IHYgKiBpbnQ7IH07Cit2YXIgYXJyb3dGYXRGdW5jdGlvbjMgPSAodiwgeCkgPT4geyB2YXIgcmVz
dWx0ID0geCAqIHY7IHJldHVybiByZXN1bHQ7IH07CisKK3Nob3VsZEJlKCJhcnJvd0ZhdEZ1bmN0
aW9uMCgxMSkiLCAiMTAwMCIpOworc2hvdWxkQmUoImFycm93RmF0RnVuY3Rpb24xKDExKSIsICIx
MTAwIik7CitzaG91bGRCZSgiYXJyb3dGYXRGdW5jdGlvbjIoMTEpIiwgIjIyMDAiKTsKK3Nob3Vs
ZEJlKCJhcnJvd0ZhdEZ1bmN0aW9uMygxMSwgMTIyMjIpIiwgIjEzNDQ0MiIpOworc2hvdWxkQmUo
ImFycm93RnVuY3Rpb25XcmFwcGVyKHg9PntyZXR1cm4geCAqIDI1O30sIDEyMSkiLCAiMzAyNSIp
Oworc2hvdWxkQmUoImFycm93RnVuY3Rpb25XcmFwcGVyMigoeCwgeSk9PntyZXR1cm4geCAqIHk7
fSwgMTQsIDEyKSIsICIxNjgiKTsKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwpp
bmRleCA4ZDdkY2IyZDU1ZGZkMjhjNWU2MjQzMWJjZmQ5NzFhOTU1ZGQ2YTY0Li41ZjZhMzdmMDNl
NTU4ODc3NjQ5NDk1YWY0NDkxODlmZmQzNDIxNzcyIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysr
IGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTUtMDItMjcgIFNrYWNoa292IEFsZXhh
bmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2
IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIHRvIHN3aXRjaCBvbi9vZmYgZXM2IGFy
cm93IGZ1bmN0aW9uIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgKKworICAgICAgICAq
IFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2UvY21h
a2Vjb25maWcuaC5jbWFrZToKKwogMjAxNS0wMi0yNiAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3Nz
eUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtFRkxdIFJlbW92ZSB1bm5lY2Vzc2FyeSBjb21tZW50
IGFmdGVyIHIxNzkxMTAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>247906</attachid>
            <date>2015-03-04 16:01:59 -0800</date>
            <delta_ts>2015-03-04 16:01:59 -0800</delta_ts>
            <desc>Archive of layout-test-results from ews101 for mac-mavericks</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>855753</size>
            <attacher name="Build Bot">buildbot</attacher>
            
              <data encoding="base64">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
xmJogve/MuYKw+QTiP8BUEsDBAoAAAAAAOd0ZEYAAAAAAAAAAAAAAAAFABwAZmFzdC9VVAkAA5GJ
91RAlPdUdXgLAAEE9QEAAARQAAAAUEsDBAoAAAAAABl1ZEYAAAAAAAAAAAAAAAAMABwAZmFzdC9l
dmVudHMvVVQJAAPyifdUQJT3VHV4CwABBPUBAAAEUAAAAFBLAwQUAAIACADXdGRGWCtPN4oAAACx
AAAAKwAcAGZhc3QvZXZlbnRzL21lc3NhZ2UtY2hhbm5lbC1nYy0zLWFjdHVhbC50eHRVVAkAA3aJ
91R2ifdUdXgLAAEE9QEAAARQAAAAJYxBCoMwEEX3OcU/QQ/QnVAKLS0I8QKjmehAkinJqHj7Wrp7
fN5/9+7xumKQzAG6GnYSkzIjakVRk3jctDBMMTImSomDG7gZbCHDm1ujmXuthvznBqqMwEk2rmeU
Ny6QiFFtwecU/4IUmqbzIWNixKoZTw8qB7JWvjjnF11TQKMDfec9bJfpt7svUEsDBBQAAgAIANd0
ZEb9Hw7zFwEAAPQBAAApABwAZmFzdC9ldmVudHMvbWVzc2FnZS1jaGFubmVsLWdjLTMtZGlmZi50
eHRVVAkAA3aJ91R3ifdUdXgLAAEE9QEAAARQAAAAvZDNasNADITvfoq5O5slFFrIySlpoX8Q6tAc
Sg/yWo63rL3BKyfx23edH9on6EkSGs03SCkF/eFd33DQSxLSD5tcb7h4sXIp9711pX5nxxRYOxp8
L0o4iOo49E6CriiI5j23sY8+gbasTE1ty05tjbpRfNyxES6ncpQkTdN/QJKRntwJmGVQs8kd0tnk
FlmWpI+Lp9c51rbhEtEZB7Ji2y0q36H1Yqth6VuGeBQMQ85xmWAd8ZCaBG9n3sp3ggs7gDpGyc7u
uYuuYzLYCoWXGrsoPAtsS8bEC1s4RtX5Bs85qB3Q+I6nCRLkte9diUADVos8hxysOW3UOM6vvF/U
FGOOOT598R1//Dfc1/VoDADjfIjyaPUDUEsDBBQAAgAIANd0ZEbdxbERhwAAAMQAAAAtABwAZmFz
dC9ldmVudHMvbWVzc2FnZS1jaGFubmVsLWdjLTMtZXhwZWN0ZWQudHh0VVQJAAN2ifdUdon3VHV4
CwABBPUBAAAEUAAAAFWOQQrCMBBF9znFP0EP0J1bQSjEnbhIk6mJJBnJxEpvb0IVcTd/eJ/3zyQV
1ZuKE4mYG01cKtJ+C0whOIphpUIOtFJGWDBz9Xg0cAdCNta2RpgjYSmccNQweUPiQoNS2vMzOojZ
MB20Rn0F2/89jF/XTzOgbxhx4flO9m/Y9dPpbtjI0mil3lBLAwQUAAIACADYdGRGqCRt5BUIAAAU
HAAAMQAcAGZhc3QvZXZlbnRzL21lc3NhZ2UtY2hhbm5lbC1nYy0zLXByZXR0eS1kaWZmLmh0bWxV
VAkAA3eJ91R3ifdUdXgLAAEE9QEAAARQAAAA1Vltb9vIEf7uX7Gw0Ro4mKRkST5LSlQkfkF7vRZB
FfQ+FEWxJJfixksuj7u0pFz73zv7RpEUKevQ3IdecJHEfXtm5plnZpl3qczY6uJdSnAMHxmRGEUp
LgWR768rmXj31/BYyD0jq4sFo/nLDVq8UkElidEvFwj+k2QnvZhEvMSS8nyBcp6TpR4KeRmT0gu5
lDxboHGxQzF8J/Hy4j8XZju7ScQZLxfoajSZ6zH/mTLySJPEjoc4etmUvMpjz01N7tWf5kHmBMEZ
jdFVHMdmLOG59BKcUbZfoIznXBQ4sgAzXG4oQB6TDI3Mo4KDcdqOkjCw6JVoQOm4g3QymfTsL3Au
PEFKmjQGBf1K9BnNQz1GErlAI3/mnsdUFAzDJjQHz1iEWxrLFBaPRr+z+HAc03xTrzTYbGjUt3Z0
LFyapwBK1tNT/krKjkWz2Ww55GxCjBt8FZMf4SxhFyeMYzCjpJtUtiOnZj2A+RhscUdxcD2VYOKo
Y7LEISNeRBhrWenpfVte2qZgnadjqKi2LXFxQLYmkYrdIGn04jZlunSxnHV+B0KNip054WlXQHhh
fzCN3CBffXQtHIQnaEzCvfobaagfGY9ePuFS+mDqIqGlkF6UUhYPOlYdt4b1N6c2K0kGob154zx7
hnO/IZwXqikt2s0c64AtkkaYeZjRDeSG5D1mlUQx/Y84jxlx7rD7KBeq3ykxAT3wOapKoUKjYHcz
EIcQncpFDM6siWOSR8M7haLF82M6bEqyX3aI6c/eipdxMfIlf9PNflLyrONsq4/qDOX1v1ZZSEpg
E2myyzx1wI9l1LJ2Pm8JoEuXPhl0mTydTnvlphn9WmPURjOTAiYNasG3PLD07KOIgdui08QKVsNw
bWKv4JgiMeiWEyJVlCo7FUzrQKcmljXOkFauwiLPZKseAn/qn2BHSfCLpx4YQDTDG9KKzALd1g4P
GVZeVBMjkAbAAFDsN9S1+xCV++l8UHsTkhwEQNEKdqzLYyObe5bGSdxeCsEWw9PnZL48VdPrnazK
NHHYrBgu13F8tAGKCRteQeZvogm+Q+uqKHgpodKWlsng1CwjuRTouwDOw5VMufG3qcaqmQHWS+Bp
5CKlF+g5A/W/nqPAYKCEnuzk7M4RW8kNZuzBIeidfWtqWYZ3Xqe8Z9AX2Ee3o7rudI8Gv588p87s
OqVbx/Th9HlBTNn0tiR8odKTpUo74wkDHPm3YtkwY2qNvhISy0p8rEKo4XU99FX29MJRSyTnLMRl
e9wdnTCiM/QwkPGv9dNanCYmj20fpb66bkF9H24Jh5TjZCt3oEVCd8TsY/V41DbJx7oHMWl2XMW3
FLSg7FCt3vOrR/OY7ECkTph2KIQNCH12WTFqlbd7q2K5gmkTtrc0wXkh370J9O4AdGxI7IqQ+aXB
2u91BbM/a8B1Z9Y6miYlzgzCTp6024hGjjwMKO2xb/bQa/KtrfWEQeMIPfMZhelu/nygl63JA4Pa
Ee2xuo2Mj9vjdnNs9zDuO+bwYEsQO501x3xwouCuOqPm6GdXIzt3krvvnaAdwzyRJI3bjsiw6eWb
mpvzEh4vB1TG2q9aMNF3uLHD5fWobwrDIWELnECG3RwtN8/1Jrog52DqJfo3ulxe1IW4Ub67qxmG
Dp0nntwXpHery0FEdmLnipsSpgWybkaxakYHatRVRoRwjcegn/vC0siOtRbqc0ohlBhoiF4pr8RD
/QSa2a8kf2gUy74671qObolpFhel5cBazQSn7fa3ZaIVkYmrgWehsdSAHodIlROtcmHbvoGmr1ln
wwqyKm/qjqvvMX1dJDyyPuSVVHrRTL+QVbqS2CHgSwJYoIKNnSHNYql3gR7mc0rMSYGttBvAr2yQ
HEkYC81sSzWBXilWmiz/YjkBYMOSbyHg0AmkGNbapohKXzVBtR3Tme3i61bE/nbqoBpZ9f+oXUTd
K51uj5/RGG5ZxjAVIOEu3z0VBfowLvAr+B48QDp1pXnTOyp13tifmJbp8PLDVf+eGFw9Pj42Uvrq
/vnxefbcq0/QXPaz+OnpqQ/1gmQFKFQr+LZN68z04SsgbWX+0/x+dG91K2IEl//S7YG7Cqgn+tqU
qinvAvvW7Z2ISlpATMvo/WUqZSEWQYC/4J2/4XwDiwoqFHX1s4DRUARffq5IuQ/G/tS/tT98aC39
L+JyBfvq/VaovXPEY+KpGJItzPsDRFoF8/30vrEEQNkXhSGP9/AB+QC4sRDvr91NQL0vTMer4O8Q
T9Cs4BFLHDz9tA5+IuGfqbQfHyvK4uBvUHexIAEwBdzpSQIKC9f3ikkRJCC3AXlVfA+s9nlRivOc
MG8TeRMP+pcKM1/uJKAat8E03gVdH4/oO/rQc3V3R0Czzri6taD2Cx87CaQkd7P0df/QQ1yvfp+H
oliCA2HSqjUVUrs5cdw7B8rz9er5w59+XKDPNIMGBdyEthiSBqilbjw5lzTZP0KSKa0IQSOA1iS2
m0G8wAT30TSnQb/rlR22c3+1s0QKN4+3/fWmr8ZnuOl22E2fgT1G/awsflIKaKkjEGBU101oeQEs
UsSC/lJnG1JSaSaorjiCFVTJrQb4wxrhfI8yXhK/69X/zdzbM8ydDJv7bcFMzgAzHQazTnnFYmg7
9ujTh/UayS2NvrW/pmdAnJ3vr980Jczrjbcl5DDvpOmzM0w/oTTafhWXhUuHQyb4SKXJAv2Dh19A
MJu5889fFb9zbbn7ZrboDidiXIAV/5eC9/0Zrrj7bRjd+dDlHMqo/sfA/wJQSwMEFAACAAgA6XRk
Rgc1s4SGAAAApwAAACsAHABmYXN0L2V2ZW50cy9tZXNzYWdlLWNoYW5uZWwtZ2MtNC1hY3R1YWwu
dHh0VVQJAAOVifdUlYn3VHV4CwABBPUBAAAEUAAAACWNQQqDMBBF9znFX7abHqA7QQqFFgS9wGgm
OhAzJRkVb9+Au8fn8d+reX+eGGRlD90MB4lJmhE0I6lJOFtNDFOMjIliZO8GLgZbyPDlUmjmTrNh
vbiAMsNzlJ1zPeWdEyRgVFvwq+IlSIJlSkUMtynWhL8/nOsX3aJHoRNd0/ewQyauu/sDUEsDBBQA
AgAIAOl0ZEZCCnBUCwEAAPMBAAApABwAZmFzdC9ldmVudHMvbWVzc2FnZS1jaGFubmVsLWdjLTQt
ZGlmZi50eHRVVAkAA5WJ91SWifdUdXgLAAEE9QEAAARQAAAAvY5Na8MwDIbv+RXvcSN1TWFs0FM6
usHYBqUp61m1lcbg2iVW+vHv57TdYYddd5KEXj2PlFLQX9H3O056TkL6ZV3rNW/endzKc++81Uv2
TIm1p3PsRQknUR2n3kvSDSXRfOCQ+8xJtGVlWgqBvdoa9aD4tGcjbMdykqIsy39QkpGe/EVYVVCT
0RPKyegRVVWUr7O3jylWbscWmYwjOXFhiyZ2CFFcc57HwJCIDcOQ92wLrLIe0pLg8+pbxE5wcydQ
x7Ds3YG7TB0+g2uwidJin4PXgAuQjkJygjvjs8PejwsUqNvYe4tEZyxmdQ05OsPDRg3jFEs2nMn2
Rze8dr2/wMd/5pou7n4nUXwDUEsDBBQAAgAIAOl0ZEZ5Ub4JfQAAAMMAAAAtABwAZmFzdC9ldmVu
dHMvbWVzc2FnZS1jaGFubmVsLWdjLTQtZXhwZWN0ZWQudHh0VVQJAAOVifdUlYn3VHV4CwABBPUB
AAAEUAAAAHWNMQ7CMBRD957CIyw9ABsHQKoIFwiJSyKlCcr/tOL2BCIGBjbberYvFIUGqzhRxN44
lapYuhbYSnimuLLSgysz4oxr0YB7AzsQM7TaLFGxc6lk+v04DCaUR/IQ+8R0NAa6RceWv80BZzq2
Vf+9ghb07md4/IfNtSy/4PACUEsDBBQAAgAIAOl0ZEYjIKdzBwgAABMcAAAxABwAZmFzdC9ldmVu
dHMvbWVzc2FnZS1jaGFubmVsLWdjLTQtcHJldHR5LWRpZmYuaHRtbFVUCQADlon3VJaJ91R1eAsA
AQT1AQAABFAAAADVWW1z28YR/q5fcSNNqzYjAKRIKiJpq2PrZdpp2vFEnuZj54A7EGcdcAzuIJJO
+t+79wYCIEAx0/hD44lJ4t6e3X322T34XaZyfnf2LqOYwEdOFUZJhktJ1fvLSqXB7SU8lmrH6d3Z
grPi5QotXplkihL0yxmC/xTdqoDQRJRYMVEsUCEKujRDsSgJLYNYKCXyBRqvt4jAd0qWZ/85s9u5
TRLBRblAF6PJ3IyFT4zTB5ambjzGycuqFFVBAj81vdV/mgfZE6TgjKALQogdS0WhghTnjO8WKBeF
kGucOIA5LlcMII9pjkb20VqAccaOknKw6JUaQNm4g3QymfTsL3EhA0lLljYGJftKzRnNQwNOU7VA
o3DmnxMm1xzDJqwAzziEG0ZUBotHoz84fJgQVqzqlRabC43+1o6Og8uKDECpenomXmnZsWg2my2H
nE2pdUOoY/IDnCXd4pQLDGaUbJWpduT0rHswH4Mt/igBrmcKTBx1TFY45jRIKOctKwOzb8tLmwys
C0wMNdU2JV7vkT3TRMdukDRmcZsyXbo4znq/A6FG66094XG7hvDC/mAavUKh/uhaOAhPMkLjnf4b
GagfuUhePuFShWDqImWlVEGSMU4GHauPe4b1V8c2K2kOob164zx3hne/JVwQ6ykt2s0864AtiiWY
B5izFeSGEj1mlVQz/a+4IJx6d7h9tAv174zagO75nFSl1KHRsLsZiGOITuUjBmfWxLHJY+AdQ9Hi
+SEdViXdLTvEDGdvxcu6GIVKvOnmMC1F3nG200d9hvb6P6s8piWwiTbZZZ964Icy6lg7n7cE0KdL
nwz6TJ5Op71y04x+rTF6o5lNAZsGteA7Hjh69lHEwm3RaeIEq2G4MbFXcGyRGHTLEZFalzo7NUzn
QK8mjjXekFauwqLAZqsZAn+an2BHSfFLoB9YQCzHK9qKzAJd1w6POdZe1BMTkAbAAFDcN9S1ex+V
2+l8UHtTmu4FQNMKdqzLYyObe5aSlLSXQrDl8PQ5nS+P1fR6J6cyTRwuK4bLNSEHGyBC+fAKOn8T
TfQdeq7Wa1EqqLSlYzI4Nc9poST6LoLzcKUyYf1tq7FuZoD1Cnia+EiZBWbOQP2v52gwGChhJns5
u/HE1nKDOb/3CHpnX9taluNt0CnvOfQF7tH1qK473aPB70fPqTO7TunWMX04Q7GmtmwGGxq/MBWo
Uqed9YQFjsJruWyYMXVGX0iFVSU/VjHU8Loehjp7euHoJUoIHuOyPe6PTjk1GbofyMXX+mktThOb
x66P0l99t6C/D7eEQ8pxtJXb0yJlW2r3cXo8apsUYtOD2DQ7rOIbBlpQdqhW7/k1YAWhWxCpI6bt
C2EDQp9dToxa5e3WqVihYbqE7S1NcF4stm8CvdkDHVsS+yJkfxmw7ntdwdzPGnDdmbWOZmmJc4uw
kyftNqKRI/cDSnvomx30mmLjaj3l0DhCz3xCYbqZP+3p5WrywKBxRHusbiPJYXvcbo7dHtZ9hxwe
bAmI11l7zAcvCv6qM2qOfvY1snMnufneC9ohzCNJ0rjtyBzbXr6puYUo4fFyQGWc/boFk32HWzt8
Xo/6pnAcU77AKWTY1cFy+9xsYgpyAaaeo1/R+fKsLsSN8t1dzTF06CIN1G5Ne7c6H0TkJnauuBnl
RiDrZhTrZnSgRl3kVErfeAz6uS8sjex4NkJ9SimEEgMN0SsTlbyvn0Az+5UW941i2VfnfcvRLTHN
4qK1HFhrmOC13f12THQiMvE18CQ0jhrQ41Clc6JVLlzbN9D0NetsXEFWFU3d8fWdsNdFKhLnQ1Ep
rRfN9It5ZSqJGwK+pIAFKtjYG9IslmYX6GE+Z9SeFLlKuwL82gYlkIKx2M52VJPolWGtyeofjhMA
Ni7FBgIOnUCGYa1ripgKdRNU2zGduS6+bkXcb68OupHV/4/aRdS/0un2+DkjcMuyhukASX/57qko
0IcJiV/B9+AB2qkrzZveQakLxuHEtkz7lx+++vfE4OLh4aGR0he3Tw9Ps6defYLmsp/Fj4+PfagX
NF+DQrWC79q0zswQvgLSVuY/zm9Ht063Ek5x+W/THvirgH5irk2ZnvIucm/d3smkZGuIaZm8P8+U
WstFFOEveBuuhFjBojWTmrrmWcRZLKMvP1e03EXjcBpeux8htJbhF3l+B/ua/e5Qe+dEEBroGNIN
zPsLRFoH8/30trEEQLkXhbEgO/iAfADcWMr3l/4moN8XZuO76F8QT9Cs6AErHD3+9Bz9ROO/M+U+
PlaMk+hHqLtY0giYAu4MFAWFhet7xZWMUpDbiL5qvkdO+4Ikw0VBebBKgmkA/UuFeai2ClCN22Aa
74IuD0fMHX3oub67I6BZZ1zfWlD7hY+bBFJS+Fnmur/vIS7v/ljEcr0EB8Kku9ZUSO3mxHHvHCjP
l3dPH/72wwJ9Zjk0KOAmtMGQNEAtfeMphGLp7gGSTGtFDBoBtKbEbQbxAhP8R9OcBv0u79ywm/ub
nSUzuHm87a83fTU+wU3Xw276DOyx6udk8ZNWQEcdiQCjvm5CywtgkSYW9Jcm25CWSjuBFch1JOhP
CQevkj+HXV/+b0Zen2DkZNjI3xfM5AQw02Ewz5moOIFmY4c+fXh+RmrDEvo7+2t6AsTZ6f76polg
X2q8LRz7eUdNn51g+hF9MfbruCzQjzShQHzis0FrhaW34f5vC9mp8G++HXxz1jED/i/07vsTHHTz
bajd+TDVHKqo+bfA/wJQSwMEFAACAAgAGXVkRpWd4OeGAAAAnwAAACMAHABmYXN0L2V2ZW50cy9t
ZXNzYWdlLXBvcnQtYWN0dWFsLnR4dFVUCQAD8on3VPKJ91R1eAsAAQT1AQAABFAAAAAlzlsKwjAQ
heH3rOIsQF2Ab9JWELxB6gJiO2kHkgxkEoq7N+LrgY/zn0+X6xEjR5ohtWBzXDgt8JKRpLD/9JII
RfAmTC4Ems1IWjBlUd377CLhRqpuoafktkuMNfHkCks6GGNXqWH+aQelzKQQD/vqusFaxL/UXTsM
QbZWsXFZ0T/uQ8PmC1BLAwQUAAIACAD4dGRG1Yu9YccAAABWAQAAKQAcAGZhc3QvZXZlbnRzL21l
c3NhZ2UtcG9ydC1jbG9uZS1hY3R1YWwudHh0VVQJAAO0ifdUtIn3VHV4CwABBPUBAAAEUAAAAKWP
TWrDQAyF9z7FO0DoopCNd8V2IZA/cHqAqS3bgvEojOS6vX1nkmaVZZdCT5++9/6225e48Ew9ZDGs
jo3DiEEighgPP7UEggk+CZ3znvriQmqKLxdZFsWieaGkWCcK6LyEDDiQqhvpLNH0pSjaSRbfZ4iD
UuQUlwHtR1U1bYv5HtZN+uu9rElmZZtQn45NPr7HSpxFb3bXRM1ObEp+KNHEKLFE7cxV6T895tMB
zXdHV2MJeN0+gyiYC2MqdUP+A5Rr/1GS8C9QSwMEFAACAAgA+HRkRr41A3JpAQAA7wIAACcAHABm
YXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQtY2xvbmUtZGlmZi50eHRVVAkAA7SJ91S0ifdUdXgLAAEE
9QEAAARQAAAAtZLLTsMwEEX3+YrZp25UoAh1VWgDQlCKSKFrN5m0llxPlZn08ffYSSOBBCvEyo+x
z71zbaUUJB9k6y1yMtWik3SZJUtcPRk5D3e1sUXyhhY1Y2L1iWpRgiyqQq6tcFJqlgT36Pzcc1iv
Ue2oEpVbcqjwuMNcsOjLUaI4jv9dUOdSa9vIjcegBr1LiAe9KxiPo/j+9vF5BAuzxQI8Fw7aiHFr
KKkCR2LK09QjQAhWCLm2FosIFl6cYa8rQzVDzaHCyHDYoIOgGQiz1sir98H9CCLINlTbInA0MFbG
X6ASsvfJJM0yOPvmnpe2lg7ez8HIBqbzl7Tf+B72biC+bn1310bwStwYDv0Gm0YYbTmCtKqoGkGI
dBJS6NbzGaTHHHdiyMHF8AeSj1G7tW+0Yf6F1MTfYvqR+lb2213HwfUvJyft9op8EOiKHRn/xCE1
DflGO4f26+kHkgDiM6jNr/kWnda5HKmQqn+TT1BLAwQUAAIACAD4dGRG7hCC79gAAACwAQAAKwAc
AGZhc3QvZXZlbnRzL21lc3NhZ2UtcG9ydC1jbG9uZS1leHBlY3RlZC50eHRVVAkAA7SJ91S0ifdU
dXgLAAEE9QEAAARQAAAApZDBboNADETvfMV8QJVDpV64EtRTmki0H7ABAyttbbQ2IZ+f3QJSq/bW
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
ZmFzdC9ldmVudHMvbWVzc2FnZS1wb3J0LW11bHRpLWRpZmYudHh0VVQJAAPTifdU04n3VHV4CwAB
BPUBAAAEUAAAALVUTW/TQBC9+1eMcgIla8sNCCmnhDaVKhq1wlF7QBw29jhe2Oya/agbEP+d2bVb
WiioKvSS7Hpm3pt5MzuMMcgutPQ7tNkRdzxbXhbZJW7eCTf8vfVCVtl7lMgtZpLvtXfMoXXMoPXS
2azm1mV4hYrOhGP5FlmrjWM7MguG1y2WDqvUXbtkPB4/OyEvnecy0s3nwPLJFMb55BXM58n4eHFy
OoO12GEFhAsdF06oLdTagNJO1PsjrRCchg1CyaXEKoF1IyyEDKBssPxM5wbhihuhvQVvg6NFC9xo
ryqwqKoAGZNpJUJILcSQedvAqk/4nD6mrbZuuCeQwJkC68uSPkyAqoZOSElwCJx+jSAKXcPofFEU
IxjqJs9aS6k7qmezh9F6Wazh8Gx1frpcL0dpL0A+yd+QBAe9BhAAqBKuFMo0JJffTeTFiHRYqIUx
fD+a3PhNe8eXoQzsAK9LbJ3QCtb7FpfGaDODCy49AklFADHlLx5VienjGIvBnTg/fJOotq6ZwfT7
x79ShiNgOD+CRXKzxTs08R76EGv9nWfgOFFXXIqqcNzd0B6drWB565fnacIieZzJtO931EEx5amH
nMbiKxoNfV3QNajIGicjzIt7SjzuWrenoaPc/4RRauW4UDR8nR7GMIb+vD450CALscBrh6ZvwYBT
DPPfkPagN5/o8UPD+wfQ3aoa3v6hpLf2oKQHr58T7NirMlr+F2D0+me0sDjiHpuBM1zZmlQNa0r1
K+RXL+Y6UeLDvhBtdyOoczHK3g+4bSjtH3ZveSQs+QFQSwMEFAACAAgACnVkRvvnERT9AQAAXAcA
ACsAHABmYXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQtbXVsdGktZXhwZWN0ZWQudHh0VVQJAAPTifdU
04n3VHV4CwABBPUBAAAEUAAAAL1Vy27bMBC86ysWOrWALcAJevHNSFWgQA0bkNBL0QNDrSW2NKny
YdUN8u9dUk5iGXZipE4vAlf7mOFQHJWNsODQOuAN8p+0bhA2zAjtLXiLwJlFC8xoryqwqCqhalh7
6UQrEVptXOihdN3AHK1lNS7pZdZq63ZxkiwUWM85hSPYag+dkJKGITB6GkEAegXpclYUKaz7Jqpc
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
KbVQsN1OEFGw3Au83byYQDZPkrcsHsPS1kq8UK5jthlmmN9EIcFlmhg7eCo4QNKcopBtMtnIeVO2
5ny83jr0YWILmRULBQ3pDicZSTS450kSQwUDY6QY2ZrehwLlog0940G5rBVxGH3jrGjXqzOxEpTu
e/RNOYlRljVZvMzRrouECw+ZFyySbWdM/dRX/dZ3/Zk/UEsDBBQAAgAIANR0ZEbHP2ATTAEAAFwC
AAA3ABwAZmFzdC9sb2FkZXIvY2hpbGQtZnJhbWUtYWRkLWFmdGVyLWJhY2stZm9yd2FyZC1kaWZm
LnR4dFVUCQADb4n3VG+J91R1eAsAAQT1AQAABFAAAAC9UMFO3DAUvPsrhhNU4a3ZQyW0qtCCtgtV
e0Dsqpzfxi8kqhMj+0WBz+DIlRPih/I7jbe06rGnWpbskWfmzZiIYL8H37eS7IqV7efbjb2V3ddG
34+LvvHO3ogXTmI9P4ZeSSUpRUm912QrTmp9YCfRlvXEpipyK8TOEVcqkXZc/qAqxIGjI3m4l1LF
zfRBTVEU/z0Al9qz349fLkHz41MU8+OPWC4NWm467NUg1JwwR+j6LptPsHNe4lH6YOhfeZcB72Oh
tXTIQWaAKdbnX74tsG1acZgKYeBGm+4us9EFbarHVegEGrATlOy9OFNs6yYhV0/ZDfccU9aECmU9
3UUxpcovrShD+W6G7YSq4H0YMjPVofcuWzKuZBdlwBCiWxgY+r0MrXOvBQ4/HdCvn7xmrWHtH3xC
dDbtw79F1+ebjSnGl/FpfB2fxzfzE1BLAwQUAAIACADUdGRGGvksjGoAAACoAAAAOwAcAGZhc3Qv
bG9hZGVyL2NoaWxkLWZyYW1lLWFkZC1hZnRlci1iYWNrLWZvcndhcmQtZXhwZWN0ZWQudHh0VVQJ
AANvifdUb4n3VHV4CwABBPUBAAAEUAAAAMtNzMxTSCtKzE1V0FXISCxWMFTIzyvNy8lPTAFy81Jy
Uos0ijW5colT5p6vkJZfVJ5YlKJQkpGap5CUmJytp6DAxaULBVxuIDOsFNRtFHV1weYFJJZkKOjr
w/kGurp2QKSO0BLgGBzMBQBQSwMEFAACAAgA1HRkRrNCxSa7CAAAKiAAAD8AHABmYXN0L2xvYWRl
ci9jaGlsZC1mcmFtZS1hZGQtYWZ0ZXItYmFjay1mb3J3YXJkLXByZXR0eS1kaWZmLmh0bWxVVAkA
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
BFAAAAC1kEtPwzAQhO/5FaNeUyetgB4qIbWoBSFeFanoAXFwk01j4dpRvOnj3+MmqUBw5rSyNfvN
zAohEL9ZXW/JxTPJMp6vknhF6wfF3biplc7iV9IkHcVaHm3NgsmxqMjVml2cS8fx3lafVLluCs9z
ckOlrVjQoaSUKYv4wEEYhv/vKFOupW78JhOIYf8C4bB/ickkCG+n949jLNWWMngw9lKxMhvktoKx
rPLjzBoCW6wJqdSasgBL7w4uJKP0Hg7SZOj8vcbAkf94ahMsfAJ32j9hpEcWVEVIClvrDGWlDKM3
e3me97AvyCDzsihAgMU0ScagHUdlQ7jG+wekw/l8TZWr/gjhqK3SbbxSSmrn2/jrlNY4Ql7ZLVZN
POyU/BnsvHRnfRX/brVtlT/AXBmpf2E7qfjGDAeDAbrru0Ccqvk6X1BLAwQUAAIACAAIdWRGAT5E
2bcAAAA2AQAALAAcAGZhc3Qvd29ya2Vycy93b3JrZXItbWVzc2FnZXBvcnQtZXhwZWN0ZWQudHh0
VVQJAAPPifdUz4n3VHV4CwABBPUBAAAEUAAAAF2PvW7CQBCE+3uKEQ9gOS1SCqREVAkIR6KIKE6+
IbYCt6fbxfD4+IdIxO3ON7MzX1SDNd6Q/A8VPgZcJf8yK2ofoewPH1Tt1a1kU5hAIntQrGEuUDVy
OQWk3EbD4m3z+b7AtWFE6LHCue2qqpZgZ0Ua/a/4PsAreEusjeEB7Fiz7Rhwnp5hoOdapiaJShyz
nLEfe6Jr/XPDh2ctNkZM6DRpHndsoz/NQv+RQ8hLWZZ/pdQN+5y7A1BLAwQUAAIACAD2dGRGe2OY
P3cAAACJAAAALQAcAGZhc3Qvd29ya2Vycy93b3JrZXItbWVzc2FnZXBvcnQtZ2MtYWN0dWFsLnR4
dFVUCQADsIn3VLCJ91R1eAsAAQT1AQAABFAAAAANzEEOgkAMBdD9nOKHA3AAdyZoYmJ0IRcoTGEa
hymZFgm3l/3Lu18fzwt6WThCN8dO4lJmTFpR1GU6Oi0MVwyMkXLmGHo2hyc6tdYvV4M5HahMY6Ih
M35CWNiMZsaq1a3FJ+mWI9YqxdF079etwZ64IJ59G0L4A1BLAwQUAAIACAD2dGRG6eP2ku4AAACn
AQAAKwAcAGZhc3Qvd29ya2Vycy93b3JrZXItbWVzc2FnZXBvcnQtZ2MtZGlmZi50eHRVVAkAA7CJ
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
AgAANAAcAGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZG91YmxlLXNob3ctZGlmZi50
eHRVVAkAA5iJ91SYifdUdXgLAAEE9QEAAARQAAAAvZBBTwIxEIXv/RUTrku34WY8gYKJEYW4RM7d
7Sw0Di3Zmbrsv7cgJvgHvEyTyet73zytNZiPSOmAbOZWrFlsK7PF+sXL9XlInpx5R0LLaMgOMYkW
ZNEdciJhsxc5mvOGTYjiW99Y8TGwIdzZZjAupppQ8z72Gk9HbARdKSdRRVH8b7ptJFm6ZE+noCfj
yQSKyfgOplNVPM2el/ew8Qd0kFOgt1582EEbO7g4D/MYECRCjdBYInQKKgzuLLpJgVuMsiwVKFgF
4NQ0yDyGfAL0nggYEWyenUeG2MJoPauqEeQy2O4wK9tIFPuMUw8w2iyqDTyuXtfLxWYxurgqOP/I
ZsHFvuyx/vTydtsBeAaHrQ+5cKUv4ph5+ZiLBPzCILC3wRF2vwf9iK6sbSIa1rbjjJCdpEuYQ/Uf
EqXVN1BLAwQUAAIACADqdGRGMXtTdrAAAAD6AAAAOAAcAGh0dHAvdGVzdHMvbm90aWZpY2F0aW9u
cy9sZWdhY3kvZG91YmxlLXNob3ctZXhwZWN0ZWQudHh0VVQJAAOYifdUmIn3VHV4CwABBPUBAAAE
UAAAAFWOMW7DMBAEe75ioTrhHwJDXRILkD5AiUf74DMv0JEm9PswcIqk2WowOzPlyPmCqHUVerWr
NmQtnHgLhTV77507Z1jdNjJ7waEVjUVgRAh9dyaDJgzT2zwPuHcqXKiTSUW0UcR6YFjGecHp/DG9
j8s4dKf7wbspR22+0Xrj8vnn18CGSIkzRf9ktZfal4QD9KBccA05Cu3YggjFJ/ObmarIMYXd+nv3
lL2Sc/8SnPsGUEsDBBQAAgAIAOp0ZEb6KOx2XAgAABofAAA8ABwAaHR0cC90ZXN0cy9ub3RpZmlj
YXRpb25zL2xlZ2FjeS9kb3VibGUtc2hvdy1wcmV0dHktZGlmZi5odG1sVVQJAAOYifdUmIn3VHV4
CwABBPUBAAAEUAAAANVZbW/juBH+nl9BJOgFOESSHdtZv+ym2E0ctOje3aIJeh8LSqIsbijRJ1Kx
vW3/e4dvsiRLjotLF7g97Fkih+QzM8+8UPs+lRm7PXufEhzDT0YkRlGKC0Hkh8tSJt70EoaF3DFy
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
Zb5Dvc7rO7mDnnp3hKcO0P/OXZp6FKED+dQ5x6VVUjK21dwFSYItf/2mqB9r0vStTKpr/qD+hTFW
4ZZFSf6QlWl2hF+mx2foHwnlw8EbYKJB6P8X5A6Hb6Dm74lT60f3zNCX6n9x/x9QSwMECgAAAAAA
43RkRgAAAAAAAAAAAAAAABQAHABodHRwL3Rlc3RzL3NlY3VyaXR5L1VUCQADiYn3VECU91R1eAsA
AQT1AQAABFAAAABQSwMECgAAAAAA43RkRgAAAAAAAAAAAAAAACoAHABodHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9VVAkAA4mJ91RAlPdUdXgLAAEE9QEAAARQAAAAUEsD
BBQAAgAIANd6ZEZjqqxsggAAAKgAAABAABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kveHNsLWFsbG93ZWQtc3RkZXJyLnR4dFVUCQADxpP3VImJ91R1eAsAAQT1AQAA
BFAAAAAtjUEKwzAMBO95hV4QO72k+BWFviC4G2JQLCMppf59TSl7WobZzXK2wpsXqQRV0UR7YdDh
3lIIy22d48iS7jHGYMiXFu8hS3VUf/77Q7jkHhQml2ZYMO+M+WNMXCpoJTDOIdAP2AH4NGh6Q21c
J5LKnZY50o7NrzFEm4Lsak3U8Zq+UEsDBBQAAgAIANd6ZEZjqqxsggAAAKgAAABSABwAaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLXVuYWZmZWN0ZWQtYnktc3R5
bGUtc3JjLTItc3RkZXJyLnR4dFVUCQADxpP3VImJ91R1eAsAAQT1AQAABFAAAAAtjUEKwzAMBO95
hV4QO72k+BWFviC4G2JQLCMppf59TSl7WobZzXK2wpsXqQRV0UR7YdDh3lIIy22d48iS7jHGYMiX
Fu8hS3VUf/77Q7jkHhQml2ZYMO+M+WNMXCpoJTDOIdAP2AH4NGh6Q21cJ5LKnZY50o7NrzFEm4Ls
ak3U8Zq+UEsDBBQAAgAIANd6ZEZgS2YQkQAAAPsBAABFABwAaHR0cC90ZXN0cy9zZWN1cml0eS94
c3MtREVOSUVELXhzbC1kb2N1bWVudC1zZWN1cml0eU9yaWdpbi1zdGRlcnIudHh0VVQJAAPFk/dU
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
AAAAUEsDBAoAAAAAAKN1ZEYAAAAAAAAAAAAAAAANABwAcmV0cmllcy9mYXN0L1VUCQAD8or3VECU
91R1eAsAAQT1AQAABFAAAABQSwMECgAAAAAAg3VkRgAAAAAAAAAAAAAAABQAHAByZXRyaWVzL2Zh
c3QvZXZlbnRzL1VUCQADtYr3VECU91R1eAsAAQT1AQAABFAAAABQSwMEFAACAAgAQnVkRlgrTzeK
AAAAsQAAADMAHAByZXRyaWVzL2Zhc3QvZXZlbnRzL21lc3NhZ2UtY2hhbm5lbC1nYy0zLWFjdHVh
bC50eHRVVAkAAzyK91Q8ivdUdXgLAAEE9QEAAARQAAAAJYxBCoMwEEX3OcU/QQ/QnVAKLS0I8QKj
mehAkinJqHj7Wrp7fN5/9+7xumKQzAG6GnYSkzIjakVRk3jctDBMMTImSomDG7gZbCHDm1ujmXut
hvznBqqMwEk2rmeUNy6QiFFtwecU/4IUmqbzIWNixKoZTw8qB7JWvjjnF11TQKMDfec9bJfpt7sv
UEsDBBQAAgAIAEJ1ZEbXiZWjGwEAAAQCAAAxABwAcmV0cmllcy9mYXN0L2V2ZW50cy9tZXNzYWdl
LWNoYW5uZWwtZ2MtMy1kaWZmLnR4dFVUCQADPIr3VDyK91R1eAsAAQT1AQAABFAAAAC9kM1qwzAQ
hO9+irk7igiFFnJySlroH4Q6NIfSgyyvYxVZCtI6id++cn5on6CnRbsz8w0SQkB+eNt3FOVSsZIP
m1JuqHoxfBn3vbG1fCdLKpK0avA9C6bIIlDsLUcZiINJ/kZFlrQnl3YpL6otCd0q58iKrRY3go47
0kz1lI+c5Xn+j2iluVf2BC4KiNnkDvlscouiyPLHxdPrHGvTUY1EwEEZNm6Lxgc4z6YZlt4R2KMi
aGUt1RnWqQa4VYy3M2/lA+PCjlCBUJM1ewopdWwG06Dy3GKXhGeBcUrr5DCVJTTBd3guodyAzgea
ZshQtr63NaIasFqUJfhg9Okixuf8yvtFTTH2mOPTV9/pr/+W+7qaxgLQ1sckT1E/UEsDBBQAAgAI
AEJ1ZEbdxbERhwAAAMQAAAA1ABwAcmV0cmllcy9mYXN0L2V2ZW50cy9tZXNzYWdlLWNoYW5uZWwt
Z2MtMy1leHBlY3RlZC50eHRVVAkAAzyK91Q8ivdUdXgLAAEE9QEAAARQAAAAVY5BCsIwEEX3OcU/
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
ABwAcmV0cmllcy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1ub3RpZmljYXRpb24tc3VzcGVuZGFi
bGUtYWN0dWFsLnR4dFVUCQAD1Ir3VNSK91R1eAsAAQT1AQAABFAAAAAlj8FqwzAQRO/6isHntB/Q
W2hdKKTEYP2AIq0SgawNWrnGf5+Ve1mW2cfM7Pf55/IBmxYK4LVhc6mlckfkisItxf2LC6ExbgTv
cqZgLEkTtIdr/0jyriUugsBdwLPSH5WmBGFyd0KsvEAVqt362SXvvF5T7NAOV3UPmaCpPrNQeDfm
WiCr9yRyws4rtpQzhAhOZ00k4IhhOs/zgEUptVUycs686Te3HYMdZ4vP6+90Ge04qKfp4fLgDW9H
1aPZ0cWYF1BLAwQUAAIACACSdWRGuZa1AHkBAADWAgAAQQAcAHJldHJpZXMvZmFzdC9oaXN0b3J5
L3BhZ2UtY2FjaGUtbm90aWZpY2F0aW9uLXN1c3BlbmRhYmxlLWRpZmYudHh0VVQJAAPUivdU1Ir3
VHV4CwABBPUBAAAEUAAAAMWRwW7bMBBE7/qKga8ySxi9FD05bVwgSIoYtdCcaXIVEaBFg7uso7/v
SjFa9wt6EQXuzu6boTEG9mdO9URs7504u3s52Bc6Pka5Hl9qTMH+oESOySY35SpGiMUU4pqEbSEp
UfW9Y7FDZMllsmf3SsY7P5AZs8Q+eicxj4Yrn2kM7pjI0NuZvFD4IG/StG37H1Gcl+rSArLdwmzW
m49oN+tP2G6b9tvdw9NndPFEAboSFxcljq/oc8EycbrPI0EyjgTvUqLQoFMuhgxOcLuVEfJ8gXOh
XzSKdhD2Soi+5BP0hso8e4bGAo3Yz00TXNH/kAi61qfMGlyDBs8juHpPzGtoIrjElMBEcPqd00Du
sdrfHQ4raLasg7Wzzynlixo6Tlh1u0OHr8/f90+7brdapjYLAQ/5ArPwLngLUGPm0hADaekP8E3p
qrpVzOvfbYYY3kVwY9AoGfp4+k6KsgjmPP6avyqvBvua0rR3Ra0jarilkpKaf/Ab0/wGUEsDBBQA
AgAIAJJ1ZEaVZY452wAAAG8BAABFABwAcmV0cmllcy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1u
b3RpZmljYXRpb24tc3VzcGVuZGFibGUtZXhwZWN0ZWQudHh0VVQJAAPUivdU1Ir3VHV4CwABBPUB
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
aWVzL2Zhc3Qvd29ya2Vycy93b3JrZXItbWVzc2FnZXBvcnQtYWN0dWFsLnR4dFVUCQADL4v3VC+L
91R1eAsAAQT1AQAABFAAAABdj01qw0AMhfc+xSMH8AECXQSSlkJ/Qh3IonSheuR4iD0aRord3r5j
O4virfS9T0+Pu+eXLU6+Zwe5GUby5sMFjSQEMd/87iUwTPDNqKnr2BUnVoO1ZIh0YQUFh1HSlZNm
JEA5D15ZNW+Pkkyn+GShbGw5lahauXUOMflg2Ozf3w4bjC0HuIyVRXHcVdUWPFgZ5/wDPr9ACv6J
XFuusAAfXLMfcvN+OYaJXu8Sa5SgjCZJj/PcE4On/w3vmSexWbGgy0trXeMDdSvpnSz+AFBLAwQU
AAIACADEdWRG3p3ulEEBAABqAgAAMAAcAHJldHJpZXMvZmFzdC93b3JrZXJzL3dvcmtlci1tZXNz
YWdlcG9ydC1kaWZmLnR4dFVUCQADL4v3VC+L91R1eAsAAQT1AQAABFAAAAC9UE1PwjAYvu9XPOE6
yiAqBxITMKAxfhEhcjAeyvaONZZ2ad/x8e8t24hG757etHm+hRBI3qyutuSTqWSZzFaLZEXrB8Xt
uamUzpJX0iQ9JVoebcWCybNw5CvNPnHETgV+Lj0ne+s+yfn2iqDr5YZK61jQoaSUKevxgaM4jv/P
WaZcSV37jscQg+4F4kH3EuNxFN9O7h9HWKotZQgG2EvFymyQWwdjWeXHqTUEtlgTUqk1ZRGWIQW4
kIwyeHhIk6H1DxgDT+HjqUkwDwn8iX+SkUGyINfDorCVzlA6ZRid6cvzrIN9QQZZgPUiRJhPFosR
aMe9sla4xvsHpMd5xrrKVXeIeNhUaRmvlJLahTZhpdIaT8id3WJVx8NOyZ/BzqQ7G6qEd4NtqvwR
zJWR+pdsCxXfMoN+v492fR+JU7VQ5wtQSwMEFAACAAgAxHVkRgE+RNm3AAAANgEAADQAHAByZXRy
aWVzL2Zhc3Qvd29ya2Vycy93b3JrZXItbWVzc2FnZXBvcnQtZXhwZWN0ZWQudHh0VVQJAAMvi/dU
L4v3VHV4CwABBPUBAAAEUAAAAF2PvW7CQBCE+3uKEQ9gOS1SCqREVAkIR6KIKE6+IbYCt6fbxfD4
+IdIxO3ON7MzX1SDNd6Q/A8VPgZcJf8yK2ofoewPH1Tt1a1kU5hAIntQrGEuUDVyOQWk3EbD4m3z
+b7AtWFE6LHCue2qqpZgZ0Ua/a/4PsAreEusjeEB7Fiz7Rhwnp5hoOdapiaJShyznLEfe6Jr/XPD
h2ctNkZM6DRpHndsoz/NQv+RQ8hLWZZ/pdQN+5y7A1BLAwQUAAIACADTdWRGe2OYP3cAAACJAAAA
NQAcAHJldHJpZXMvZmFzdC93b3JrZXJzL3dvcmtlci1tZXNzYWdlcG9ydC1nYy1hY3R1YWwudHh0
VVQJAANNi/dUTYv3VHV4CwABBPUBAAAEUAAAAA3MQQ6CQAwF0P2c4ocDcAB3JmhiYnQhFyhMYRqH
KZkWCbeX/cu7Xx/PC3pZOEI3x07iUmZMWlHUZTo6LQxXDIyRcuYYejaHJzq11i9XgzkdqExjoiEz
fkJY2IxmxqrVrcUn6ZYj1irF0XTv163Bnrggnn0bQvgDUEsDBBQAAgAIANN1ZEazYd/J8wAAALcB
AAAzABwAcmV0cmllcy9mYXN0L3dvcmtlcnMvd29ya2VyLW1lc3NhZ2Vwb3J0LWdjLWRpZmYudHh0
VVQJAANNi/dUTYv3VHV4CwABBPUBAAAEUAAAAL2OwU7DMBBE7/mKUa+pY1WCS08pSpEQCBCp6Hmb
bBsLN47sNWn+HrdE4g84zWXmvVFKQX86G88cdEVCeruv9Z4Pz0bmeIjGtvqDLVNgbWlyUZRwEOU5
RCtBexZv0v5IQfTo/Bf7MKdK3EAnHpwXdWoUXwZuhNtCLpLlef6vcmokkr2pyxJqtbxHvlreoSyz
/HHz9LLGzpy5RXJgJCOmP+HoPHon5jhVrmeIw4HRkLXcZtilI5COUv1XjCA0wTM1HR0s49sQ5hO4
vggF6s5F22LwphcsqrfX7QJjxz3axC8yZOp9U9dr7G9EmPCHKzJ17afOD1BLAwQUAAIACADTdWRG
mWFM3GYAAAB1AAAANwAcAHJldHJpZXMvZmFzdC93b3JrZXJzL3dvcmtlci1tZXNzYWdlcG9ydC1n
Yy1leHBlY3RlZC50eHRVVAkAA02L91RNi/dUdXgLAAEE9QEAAARQAAAARcxBCoNADAXQfU7x8QBz
gO4Eu20LI7iONXSG2hlJYqW3L7px/3i9mMMTO7aqb1GDOf+gws/E4yz4ZsZHzPglWKq6BcRU13nC
ork4mu5+uzbYkhRMtUggerQxXjAcH7KdWaAdE/0BUEsDBBQAAgAIANN1ZEZG/5xH5gcAAMEaAAA7
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
AABQSwMECgAAAAAA5HVkRgAAAAAAAAAAAAAAACEAHAByZXRyaWVzL2h0dHAvdGVzdHMvbm90aWZp
Y2F0aW9ucy9VVAkAA2yL91RAlPdUdXgLAAEE9QEAAARQAAAAUEsDBAoAAAAAABR2ZEYAAAAAAAAA
AAAAAAAoABwAcmV0cmllcy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L1VUCQADx4v3
VECU91R1eAsAAQT1AQAABFAAAABQSwMEFAACAAgAFHZkRn5g82GmAAAA2wAAAD4AHAByZXRyaWVz
L2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZG91YmxlLXNob3ctYWN0dWFsLnR4dFVU
CQADx4v3VMeL91R1eAsAAQT1AQAABFAAAABNzkEKgzAUBNC9pxhctx6gO2ktFGwV4gWi+bGfxnww
keDtG+mmm1k9ZuZeP9oLBl7IQLaIpDmyn2FlhZfIdr+JJ0TBSJi0c2QKRd4cxsg2OjqHt6Sf5UlH
Fl9VVVF0HmGbJgrhhF02JHYOgQg658oUIBZlXytVYslKz5SlFeck5S/jjnJo1IBr9+zbZmjK3Fkc
PDd5I6lKNH44vv52AzjAkGVPJusvUEsDBBQAAgAIABR2ZEZEDCihQQEAAFUCAAA8ABwAcmV0cmll
cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L2RvdWJsZS1zaG93LWRpZmYudHh0VVQJ
AAPHi/dUx4v3VHV4CwABBPUBAAAEUAAAAMWQwU7DMBBE7/6KVa+pY/WGOKXQIiEKrUhEz068aS22
dhWvSfP3OKFI5Qu4eA+enX0zUkpQH57iCYNaadZqvS/VHusXy9fxEC0Z9Y6EOqAiPfjIkjGw7DBE
4qA65M6m/SPzWY0/QTnPtrWNZutdUIQH3QzK+FgTynD0vcTLGRtGk/OFRZZl/0OhG46aJoaiALmY
LxaQLeZ3UBQie1o+b+6hsic0kK5Bry1bd4DWdzA5DyvvENhDjdBoIjQCSnRmFN1cgVuMPM8FCNg6
CLFpMIQ5pCjQWyIIiKDTO8YA38JstyzLGaRSgj5gUraeyPcJpx5gVq3LCh63r7vNulrPJlcB40Yy
c8b3eY/1p+W32w7ABjDYWpeKF3IS+8QbzqlQwC90DEftDGH3G+hHdGVtI9Gw011ICMmJu4jpqPxD
IqT4BlBLAwQUAAIACAAUdmRGMXtTdrAAAAD6AAAAQAAcAHJldHJpZXMvaHR0cC90ZXN0cy9ub3Rp
ZmljYXRpb25zL2xlZ2FjeS9kb3VibGUtc2hvdy1leHBlY3RlZC50eHRVVAkAA8eL91THi/dUdXgL
AAEE9QEAAARQAAAAVY4xbsMwEAR7vmKhOuEfAkNdEguQPkCJR/vgMy/QkSb0+zBwiqTZajA7M+XI
+YKodRV6tas2ZC2ceAuFNXvvnTtnWN02MnvBoRWNRWBECH13JoMmDNPbPA+4dypcqJNJRbRRxHpg
WMZ5wen8Mb2Pyzh0p/vBuylHbb7ReuPy+efXwIZIiTNF/2S1l9qXhAP0oFxwDTkK7diCCMUn85uZ
qsgxhd36e/eUvZJz/xKc+wZQSwMEFAACAAgAFHZkRuN2ov1hCAAAIh8AAEQAHAByZXRyaWVzL2h0
dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZG91YmxlLXNob3ctcHJldHR5LWRpZmYuaHRt
bFVUCQADx4v3VMeL91R1eAsAAQT1AQAABFAAAADVWW1v28gR/u5fsbDRM3AwScmSHL0kLhJbRovm
7oLa6H0sluRS3HjJ1XGXlpS2/72zbxRJkbKKcwNcDjlJ3LdnZp6ZeZZ5n8qM3Z69TwmO4SMjEqMo
xYUg8sNlKRNvegmPhdwxcns2ZzR/vkLzFyqoJDH61xmCP5JspReTiBdYUp7PUc5zstBDIS9iUngh
l5JnczRcb1EM30m8OPvPmdnObhJxxos5uhiMZnrMf6CM3NMkseMhjp5XBS/z2HNTk6n6r36QOUFw
RmN0EcexGUt4Lr0EZ5Tt5ijjORdrHFmAGS5WFCAPSYYG5tGag3HajoIwsOiFaEDpsIV0NBp17C9w
LjxBCprUBgX9RvQZ9UM9RhI5RwN/4p7HVKwZhk1oDp6xCDc0liksHgz+ZPHhOKb5qlppsNnQqG/N
6Fi4NE8BlKymp/yFFC2LJpPJos/ZhBg3+Comn+EsYRcnjGMwo6CrVDYjp2bdgfkYbHFHcXA9lWDi
oGWyxCEjXkQYa1jp6X0bXtqkYJ2nY6iotinweo/skUQqdr2k0YublGnTxXLW+R0INVhvzQnL7RrC
C/uDaeQK+eqjbWEvPEFjEu7U/5GG+onx6PkLLqQPps4TWgjpRSllca9j1XGPsP7q2GYFySC0V6+c
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
AAIACADzdWRG+QuPW84AAAAaAQAARwAcAHJldHJpZXMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25z
L2xlZ2FjeS93aW5kb3ctc2hvdy1vbi1jbGljay1hY3R1YWwudHh0VVQJAAOKi/dUiov3VHV4CwAB
BPUBAAAEUAAAAE1Py2rDMBC86ysGn1IooefeQutCIW0M9g/I8jpeImuDV47w33fdXnqbGebBfJw+
z6/oeKYBsmYUz5nTFaMsSJJ53N4lEbKgJwQfIw2um1iRSTPCROFmePIZHhoWvpvoE+ROCYXTIEVR
JiN5IqxKC0LkPSPJEslnftDfEAcjko7OXRJ0DYFUn7HJaj0xQon2CVqYLDyiak5tW2E2l7+SOUeJ
UYrd6DdUXd12eLt8Nee6qyvrdLsdhfob5+9/c3r8/dDQMrOqCYcn2LsX534AUEsDBBQAAgAIAPN1
ZEbvraFFcAEAAL0CAABFABwAcmV0cmllcy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5
L3dpbmRvdy1zaG93LW9uLWNsaWNrLWRpZmYudHh0VVQJAAOKi/dUiov3VHV4CwABBPUBAAAEUAAA
AMWQzW7bMBCE73qKgU8tZJr1rejJaeMCRZPGiIXmTFMrizBNGtpVFL19VqoLuE/QC393dr8ZYwzs
7xz7M7G9d+Ls9mVvX+jwM8h1+9qHWNtniuSYbHRj7sUIsZiOuI/CtiPpgupbkYudftimLKEJ3knI
iW2ko/OjHUKq82C41SUn42PwJ0NvF/JC9UrepCjL8j/jOC+9izPMZgOzXq7XKNfLz9hsivL73Y+H
L6jCmWroWAwuSEhHNLnDPGK8z4kgGQeCdzFSXaBqA2PCgG/Jn/TcOoED+y5c9NEl5Asl/MFhDK1e
pCX0TB1mKkZOqkjK/0q4NbMqUOApgXvviXkJjUM7xQgmmobQFAVyg8Xubr9fQINldyStbHKMeVAn
hxGLaruv8O3pcfewrbaLuWuBSYGBDqcgv24DXM1GdtSdA7M+fPgItfipMLNgJp5SUeZb1L+MTR/j
OFvW2e5q+6q9Ldm5jrViCq/rSXnMP5CFKd4BUEsDBBQAAgAIAPN1ZEa4svcR1AAAAFABAABJABwA
cmV0cmllcy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1zaG93LW9uLWNs
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
OM1/iG36zg4YhAyF0AdDo1Lw6IzUgQc17A19ppbGgWqlZqmjZnme/8sSWGtEN69QFGAuL1aQT6Uo
MnO7ea42jyU8lVV1fV+uwbEnWK2hOnrFsZzAa3jzP4cAN+SVW6YAi/nbRZb/BXL1i4HXAwtMx6Z6
QAX85vjY7ZIRfQOzE1J8gnuC5B4C+wnYJhlhDuNkYp8EoSShEkgfQ03QsiOIwn4PUzJn58vsC1BL
AwQUAAIACAAVe2RGJ/YcUo8AAAC5AAAAPwAcAHJldHJpZXMvanMvZG9tL3BhcnNlLWVycm9yLWV4
dGVybmFsLXNjcmlwdC1pbi1ldmFsLWV4cGVjdGVkLnR4dFVUCQADOZT3VDmU91R1eAsAAQT1AQAA
BFAAAAAtjDEOgkAURHtOMZ3aWFjSGUNsVIrVA3xhgJ/Ah+wuBm/vojZTvHl5p/LmykuBa+Hc8Vzk
6NWIQw73tihL4f3oczyMy8QqsobWtKiN0mPD9d1k904DIkNM20mE/CI2D89kidX4ihgYgrREsiev
ttaahAWT+MC/pJZAYEISiTDOviIa7Yk5qLXgS/rtbp99AFBLAwQUAAIACAAVe2RGq5GMi98HAADb
GAAAQwAcAHJldHJpZXMvanMvZG9tL3BhcnNlLWVycm9yLWV4dGVybmFsLXNjcmlwdC1pbi1ldmFs
LXByZXR0eS1kaWZmLmh0bWxVVAkAAzmU91Q5lPdUdXgLAAEE9QEAAARQAAAApVlrc+O2Ff3uX4Gx
p3GbMUnJlra25FUna8vtTPPoVNvmYwckQRFrkGAB0JY26X/vxYsiKVJ2JtnJkgIugHOf54J7n6uC
rc7uc4JTeBREYZTkWEiiPl7WKgtuL2FYqj0jq7MFo+XzFVq8UEkVSdEvZwj+U2SngpQkXGBFeblA
JS/J0kzFXKREBDFXihcLNK12KIV3ki7P/ndmt3ObJJxxsUAXk5s7Mxc+UUYeaZa5+Rgnz1vB6zIN
vGh2q/+0D7InSM5oii7SNLVzGS9VkOGCsv0CFbzkssKJA1hgsaUAeUoKNLFDFQfljB6CMNDohRhA
+bSH9ObmZmB/iUsZSCJo1pqU9CsxZ7QPDRjJ1AJNwrkfT6msGIZNaAmWcQhfaapyWDyZ/MHhw2lK
y22z0mJzrtFvXe84uLTMAZRqxHP+QkRPo/l8vhwzNiHWDKH2yfdwlnSLM8YxqCHoNlddz2mpB1Af
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
fvH+yzuWN1deClwL5w7nIkcvytjlcG81mgvvR5/joTxPXBnXkJrVpBH22GPFy7/K7p0EGAdL25GB
fhmNwzN5pDW+IgYOgVpGsicvuvSahAkT+cB/STSBwAmRMcIYfcVopGfEINpC+YVT1Mpk1PVmm30A
UEsDBBQAAgAIABV7ZEbuazyUDgEAADICAABDABwAcmV0cmllcy9qcy9kb20vcGFyc2UtZXJyb3It
ZXh0ZXJuYWwtc2NyaXB0LWluLW5ldy1GdW5jdGlvbi1kaWZmLnR4dFVUCQADOZT3VDmU91R1eAsA
AQT1AQAABFAAAADFUMtOw0AMvOcrfCsobFc8TjmFR+DAoxIBenYTtzXaOtGuV6R/zya0/AAHLrY0
Hs/YY4wB+9G5uKNg71DRVsvaLmn1yHpoN5Fda1/JEQayDvddVKMU1HgK0WmwntRz2v8Mtu12tkcf
yJD3nTc0KHlBZ0LjuVfDYoS+zH2URrmTNO+pUWrnOmiW5/m/HoONRnTTKWUJ5vzsAvKxlGVmbhcv
9eKpgueqrq8fqgIcC8FlAfVeFIdqNCjgXY4PAbckymsmD7PJfpblfxG5+pWBty0HGJ9OdYsK+KMj
cbdKRJQWJiakGANuCBK79yyj4DrBCFMoBxJLAgIlCJUgdNE3BGt2BDGwbCAlBMeETk7n2TdQSwME
FAACAAgAFXtkRsa0XQmUAAAAwQAAAEcAHAByZXRyaWVzL2pzL2RvbS9wYXJzZS1lcnJvci1leHRl
cm5hbC1zY3JpcHQtaW4tbmV3LUZ1bmN0aW9uLWV4cGVjdGVkLnR4dFVUCQADOZT3VDmU91R1eAsA
AQT1AQAABFAAAAAtjDEOgkAQRXtO8Tu0sbGjMwZtVIrVA4wwwCQwkJ3diLd3UZtfvP/yjtXNVZcS
19K5w7ksMIgy9gXcWwMtpfeTL/BQXmauAzeQhjVIK+yR8/rm2b0XQ2ALaXsKoF9E4/hMFmmDr4iR
zahjJHv2omutTZgwkzf+S6IJGCdEgWFT9DWjlYERTbSD8gunqHWQSTfbXfYBUEsDBBQAAgAIABV7
ZEbR44tv5wcAAOsYAABLABwAcmV0cmllcy9qcy9kb20vcGFyc2UtZXJyb3ItZXh0ZXJuYWwtc2Ny
aXB0LWluLW5ldy1GdW5jdGlvbi1wcmV0dHktZGlmZi5odG1sVVQJAAM5lPdUOZT3VHV4CwABBPUB
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
bnMvNy4zX0xpbmVfVGVybWluYXRvcnMvVVQJAAM8lPdUQJT3VHV4CwABBPUBAAAEUAAAAFBLAwQK
AAIAAAAWe2RGpfvW5U8AAABPAAAAXwAcAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8wN19M
ZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMuMV9UMi1hY3R1
YWwudHh0VVQJAAM8lPdUPJT3VHV4CwABBPUBAAAEUAAAAFM3LjNfQTMuMV9UMgoKUEFTUyBTeW50
YXhFcnJvcjogVW5leHBlY3RlZCBpZGVudGlmaWVyIDQgJ2xpbmUnCgpURVNUIENPTVBMRVRFCgpQ
SwMEFAACAAgAFntkRpLc50HlAAAA4QEAAF0AHAByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFuY2Uv
MDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9ycy9TNy4zX0EzLjFfVDIt
ZGlmZi50eHRVVAkAAzyU91Q8lPdUdXgLAAEE9QEAAARQAAAAzY8xT8MwEIV3/4rbOgTnKEVUYkop
mQiiwqEdLZNcJQvHruwzSv89CaISIyPLnfTpPb33pJSA++DyQAkfDRusDwoP9P5k+ec9ZOt6fCVH
JhE6cw6ZJVNiGSllxwkjcbSTP50ye/uB2+CPIQ7Gd4TXa93QaDvj9IQ/ybMNPuG6XOnGetItxcF6
wyEmVDPdrMqlbm8kjSfqmPqSRxZFUfzTmqbjbNx3yaoCuby6g2I+VSXgt1CAkLuNUqDOns1Yxxji
Pbz5y0yw/Rx6tBRh4abIhSj+qr+9OEBAW6sWti/Pu6Zu6wl8AVBLAwQKAAIAAAAWe2RG/QzwJU0A
AABNAAAAYQAcAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRp
b25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMuMV9UMi1leHBlY3RlZC50eHRVVAkAAzyU
91Q8lPdUdXgLAAEE9QEAAARQAAAAUzcuM19BMy4xX1QyCgpQQVNTIFN5bnRheEVycm9yOiBVbmV4
cGVjdGVkIGlkZW50aWZpZXIgJ2xpbmUnCgpURVNUIENPTVBMRVRFCgpQSwMEFAACAAgAFntkRpGo
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
rPARSRQufl2Gv+Lor0Tax+c1oUn4D+BdJHAIkQLm9CWGCgvX9zWVIuRYcgLrRbmWBXkNoaSmij6K
GIeDDy9f8EYF4gsMv0FOqIYr/BCMXtTt4uUZc1AXScZFuFSjn0bB8OX52oeeZ41oIDcSNBk2Fah9
P7rcn9H3+r5xdd/3RAYNeNISUXC8xnci/T0VuNdJ6C8Eu7bj8n4I5ob5+4YUFILjMkDml/d1fa0U
uA0g/WFg1ycAu+4H1gajH3VItZRQ0np6H/hpzjD3y6POqMkdVH10guo/FZEo5/36f/20XHrLLZy8
WXCuCsI/C7wpTeNJEhXEKQFIP11Ag6A21i9HrdbUG+rjcaWt0EGND2jDTjDN79L4Dgj7fuzdher5
O9X/kUHzozJ4fILZxqcnyh8DMzkBzKQfzPNi+ew9/P2Xr18Wz4sfi+zmBGQ3/5960npoNgNG0P8W
9j9QSwMEFAACAAgAFntkRmQmKyF5AAAAhQAAAF8AHAByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFu
Y2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9ycy9TNy4zX0EzLjFf
VDMtYWN0dWFsLnR4dFVUCQADO5T3VDuU91R1eAsAAQT1AQAABFAAAAA1y7EKgzAQAND9vuI2N6Gk
EMgW5OiiVbh0lqBnOdAoaQr279ul4xte09+5bwk7YvY3crhqErTWIX9SiSflvGeHjyTnIVORGXWW
VHRRyXjFatq37ecK2NZm9Ka+jMEADJ4Z6V+OmF+anrhEXd9ZAAJxwKbvhpYCAXwBUEsDBBQAAgAI
ABZ7ZEYQE9cU/AAAAB0CAABdABwAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGlj
YWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4xX1QzLWRpZmYudHh0
VVQJAAM7lPdUO5T3VHV4CwABBPUBAAAEUAAAAM2PMU/DMBCFd/+K2zoE11SpFClTQokYCBThQsfI
JBdk4diRfUbpvydBVOrO0uVO96T37nuccxDvzsQBg7hXpER1lOKIH4+a/tZd1KYTr2hQBRRGnVwk
ThiIewzRUBAeyevZH8ZIVn+JnbO984OyLYrbrKlx0q0yzSx/oyXtbBDZOm1qbbE5oB+0VeR8EHJR
y3S9aQ4px2nElrBb00QsSZIrxVQtRWV+IYsC+OZmC8kyioLx3f5Z7usKniopy4cqBzNHQZblIE+W
1FR573wOb/bcFXS3fO41eli1bhjma8WSf+VsL5LgEp0Bg5dSSqjOrlH5oO0n9Eqb6JH9AFBLAwQU
AAIACAAWe2RGCFiScHcAAACDAAAAYQAcAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8wN19M
ZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMuMV9UMy1leHBl
Y3RlZC50eHRVVAkAAzuU91Q7lPdUdXgLAAEE9QEAAARQAAAANcuxCoMwEADQ/b7iNjehZBCyBTm6
aCNcOkvQsxxolJiC/ft26fiG1/oH+46wJ2Z3J4urJsGmscifVOJFOe/Z4jPJdchUZEadJRVdVDJW
075tP1XATW1GZ+rbGAzA4JiR/uGI+dT0wiXq+s4CEIgDtr4fOgoE8AVQSwMEFAACAAgAFntkRhO5
JA3oBwAA0hkAAGUAHAByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252
ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9ycy9TNy4zX0EzLjFfVDMtcHJldHR5LWRpZmYuaHRt
bFVUCQADO5T3VDuU91R1eAsAAQT1AQAABFAAAACtWWtz2zYW/e5fwbGn9UzHJCVLji3J0U5iy9uZ
po9ZZduPHpAERcQgwQVAW0q7/30vXhRJkbI72WYaUsAFcO7zXDC3mczp8uQ2wyiBR44l8uIMcYHl
+/NKpv7NOQwLuaN4eTKnpHi68ObPRBCJE+/PEw/+k3gr/QTHjCNJWDH3ClbghZ6KGE8w9yMmJcvn
3rjcegm842Rx8t8Ts53dJGaU8bl3NprM9FzwQCi+J2lq5yMUP204q4rEd6LpjfrTPMicIBgliXeW
JImZS1kh/RTlhO7mXs4KJkoUW4A54hsCkMc490ZmqGSgnNaDYwoaPWMNKBt3kE4mk579BSqELzAn
aWNSkK9Yn9E81Kc4lXNvFFy58YSIkiLYhBRgGYvwhSQyg8Wj0XcWH0oSUmzqlQabdY16a3vHwiVF
BqBkLZ6xZ8w7Gl1dXS2GjI2xMUOgfPIJzhJ2cUoZAjU42WSy7TkldQfqI9DFHcXA9ESCiqOOyhJF
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
UyBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBpZGVudGlmaWVyIDQgJ2xpbmUnCgpURVNUIENPTVBM
RVRFCgpQSwMEFAACAAgAFntkRgT9xVvlAAAA4QEAAF0AHAByZXRyaWVzL3NwdXRuaWsvQ29uZm9y
bWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9ycy9TNy4zX0Ez
LjJfVDItZGlmZi50eHRVVAkAAzuU91Q7lPdUdXgLAAEE9QEAAARQAAAAzY8xT8MwEIV3/4rbOgTn
oEVUYkopmQiiwqEdLZNcJQvHruwzSv89CaISIyPLnfTpPb33pJSA++DyQAkfDRusDwoP9P5k+ec9
ZOt6fCVHJhE6cw6ZJVNiGSllxwkjcbSTP50ye/uB2+CPIQ7Gd4TXa93QaDvj9IQ/ybMNPuG6XOnG
etItxcF6wyEmVDPdrMqlbpeSxhN1TH3JI4uiKP5pTdNxNu67ZFWBvLm6g2I+VSXgt1CAkLuNUqDO
ns1YxxjiPbz5y0yw/Rx6tBRh4abIhSj+qr+9OEBAW6sWti/Pu6Zu6wl8AVBLAwQKAAIAAAAWe2RG
OI6OgU0AAABNAAAAYQAcAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0Nv
bnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMuMl9UMi1leHBlY3RlZC50eHRV
VAkAAzuU91Q7lPdUdXgLAAEE9QEAAARQAAAAUzcuM19BMy4yX1QyCgpQQVNTIFN5bnRheEVycm9y
OiBVbmV4cGVjdGVkIGlkZW50aWZpZXIgJ2xpbmUnCgpURVNUIENPTVBMRVRFCgpQSwMEFAACAAgA
FntkRnIG3LnoBwAAExsAAGUAHAByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNh
bF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9ycy9TNy4zX0EzLjJfVDItcHJldHR5LWRp
ZmYuaHRtbFVUCQADO5T3VDuU91R1eAsAAQT1AQAABFAAAAC1WWtv47gV/Z5fISToBlhEkp+Z2M64
mEkcFOhsO6jT7seAkiiLE0nUklRiT9v/3suXLMmS7cVOd7Ajmbwkz32eS819IrJ0eXGfYBTBI8MC
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
7ax3cPJ2xZgsCP/M8bbQjSeJZBDHBCD9dAUNgtxYvZy0WlNvqI+nlTZCRzU+og09wzS/S+N7IOzl
xLn35fN3qv8jg+ZHZfDkDLNNzk+UPwZmegaYaT+Y59X62Xn4+y9fv6yeVz8W2e0ZyG7/P/Wk9VBs
Boyg/i3sf1BLAwQUAAIACAAWe2RGkN5iknkAAACFAAAAXwAcAHJldHJpZXMvc3B1dG5pay9Db25m
b3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNf
QTMuMl9UMy1hY3R1YWwudHh0VVQJAAM7lPdUO5T3VHV4CwABBPUBAAAEUAAAADXLvQqDMBAA4P2e
4jY3h6ZgyRbk6OIfXDpL0LMENMo1Bfv27dLxG76677hvCFtidneyuMYkWN0s8iflcJLqrhYfSc5D
piwzxllSjksUxSsW075tPxfAVWlGZ8rL6A3A4JiR/uUI+orpiUuI61sFwBN7rPt2aMgTwBdQSwME
FAACAAgAFntkRoKrJhf8AAAAHQIAAF0AHAByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMDdf
TGV4aWNhbF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9ycy9TNy4zX0EzLjJfVDMtZGlm
Zi50eHRVVAkAAzuU91Q8lPdUdXgLAAEE9QEAAARQAAAAzY8xT8MwEIV3/4rbOgTHQCoFdUooEQOB
IlzoGJnkgiwcO7LPKP33JIhK3VlY7nRPeu++xzkH8eZMHDCIO0VKVAcpDvj+oOl33UZtOvGCBlVA
YdTRReKEgbjHEA0F4ZG8nv1hjGT1p9g62zs/KNuiuMybGifdKtPM8hda0s4GkadZU2uLzR79oK0i
54OQi1pm6XWzzzhOI7aEXUoTsSRJ/immaikq8wNZFMCvLtaQLKMoGN/unuSuruCxkrK8rzZg5ijI
bzYgj5bUVHnv/AZe7akr6G753Gv0sGrdMMzXiiV/ylmfJcE5OgMGz6WUUJ1co/JB2w/olTbRI/sG
UEsDBBQAAgAIABZ7ZEZxD0NwdwAAAIMAAABhABwAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNl
LzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4yX1Qz
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
Uvpifn93P7vvrU/QXPZH8Waz6UO9xHkJFarlfNumdSQDeAWkrczfLOajua1bMcWIP+j2wF0F1Ii+
NmVK5Ca0X91uRMxJCT7l8YfzTMpSLMMQfUX7YMfYDhaVRKjQ1WMhJZEIv/6nwvwlHAfT4Nr+CKC1
DL6K8zXsq/dbe+2dY5ZgX/kQP4PcX8HTypkfpvPGEgBlPxRGLHmBB+QD4EZCfLh0NwH1vTAbr8N/
gz+hZoV3SKJw89s2/A1H/yDSPj5VhCbhP4F3kcAhRAqY05cYKixc3ysqRcix5ATWi7KSBXkMoaSm
ij6KGIej9w+f8V4F4gMMP0FOqIYrfB9MHtTt4uEL5qAukoyLcKtGP06C64cvEx96ngrRQO4laDJu
K9D4fnR5PKPv9UPj6r7vmStNR0TB8drfiQ5yUIQKJ6g/FBy6j8v1GKwO8+uWFNSDpswPRSTKVa8g
EPvl+vaXn7e/fN54P222249/2yz1Yu/9fOltXwDOfsO5Csx/FXDJNg0QSZQxUwI4f7gAorIlUb/b
cyAIQEH3GLYHpOrrxrBCJy1xQkv2BpN9vyVugFDWU+8mVM8/b5ZGql+u7bSV/dNBJjK45b1u11dt
ev0Gc14Pm7OZVF39vw/Y5A3AJsPA/r9gpm8AMx0G8+vH7dbbuIAqEVRUYIQUEVpx/D1h03noYgwF
Tf9Tzv8AUEsDBAoAAgAAABZ7ZEY0QNSKTwAAAE8AAABfABwAcmV0cmllcy9zcHV0bmlrL0NvbmZv
cm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19B
My4zX1QyLWFjdHVhbC50eHRVVAkAAzuU91Q7lPdUdXgLAAEE9QEAAARQAAAAUzcuM19BMy4zX1Qy
CgpQQVNTIFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGlkZW50aWZpZXIgNCAnbGluZScKClRFU1Qg
Q09NUExFVEUKClBLAwQUAAIACAAWe2RGSeD05OMAAADhAQAAXQAcAHJldHJpZXMvc3B1dG5pay9D
b25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3
LjNfQTMuM19UMi1kaWZmLnR4dFVUCQADO5T3VDuU91R1eAsAAQT1AQAABFAAAADNjzFPwzAQhXf/
its6BPeAIioxpRRPBFFhQ8fIJFfJwrEr+4zSf0+CqMTIyPJO+vSe3jspJeBb9GWgjA+WLaq9xj29
Pzr+OffF+R5fyJPNhN6eYmHJlFkmysVzxkSc3JTPx8LBfeA2hkNMgw0d4eW6bWh0nfXthD8psIsh
43q5ahsXqDWUBhcsx5RRz3SzmsRcSxqP1DH1Sx5ZVFX1T2fajov13yPrGuTVxS1Us9S1gN9GAULu
NlqDPgW2o0oppjt4Dec3wfVz6cFRgoWfKhei+qv/5pwAAUZpA9vnp12jjJrAF1BLAwQKAAIAAAAW
e2RGRPKLVE0AAABNAAAAYQAcAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2Fs
X0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMuM19UMi1leHBlY3RlZC50
eHRVVAkAAzuU91Q7lPdUdXgLAAEE9QEAAARQAAAAUzcuM19BMy4zX1QyCgpQQVNTIFN5bnRheEVy
cm9yOiBVbmV4cGVjdGVkIGlkZW50aWZpZXIgJ2xpbmUnCgpURVNUIENPTVBMRVRFCgpQSwMEFAAC
AAgAFntkRtNj+IPoBwAAExsAAGUAHAByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4
aWNhbF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9ycy9TNy4zX0EzLjNfVDItcHJldHR5
LWRpZmYuaHRtbFVUCQADO5T3VDuU91R1eAsAAQT1AQAABFAAAAC1Wd1u47gVvs9TCAm6ARaRZMd2
JrYzKWYSBwU62w7qtHsZUBJlcUKJWpJO7Gn77j38kyVZsr3Y6Q52JJOH5Hd+v0PNXSZzen92l2GU
wCPHEnlxhrjA8uPlWqb+7SUMC7ml+P5sRknxeuXN3oggEifev888+E/ijfQTHDOOJGHFzCtYged6
KmI8wdyPmJQsn3nDcuMl8I6T+dl/z8x2dpOYUcZn3sVgNNVzwROh+JGkqZ2PUPy64mxdJL4TTW/V
n/pB5gTBKEm8iyRJzFzKCumnKCd0O/NyVjBRotgCzBFfEYA8xLk3MEMlA+W0HhxT0OgNa0DZsIV0
NBp17C9QIXyBOUlrk4J8x/qM+qE+xamceYNg4sYTIkqKYBNSgGUswneSyAwWDwZ/svhQkpBiVa00
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
LjNfQTMuNF9UMi1hY3R1YWwudHh0VVQJAAM8lPdUPJT3VHV4CwABBPUBAAAEUAAAAFM3LjNfQTMu
NF9UMgoKUEFTUyBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBpZGVudGlmaWVyIDQgJ2xpbmUnCgpU
RVNUIENPTVBMRVRFCgpQSwMEFAACAAgAFntkRii+gW/lAAAA4QEAAF0AHAByZXRyaWVzL3NwdXRu
aWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9y
cy9TNy4zX0EzLjRfVDItZGlmZi50eHRVVAkAAzyU91Q8lPdUdXgLAAEE9QEAAARQAAAAzY8xT8Mw
EIV3/4rbOgTngFZUYkopngiiwqEdI5NcJQvHruwzSv89CaISIyPLnfTpPb33pJSA++DyQAkfDRtU
B40Hen+y/PMesnU9vpIjkwidOYfMkimxjJSy44SRONrJn06Zvf3AbfDHEAfjO8LrdVvTaDvj2gl/
kmcbfMJ1uWxr66ltKA7WGw4xoZ7pZlmu2uZW0niijqkveWRRFMU/rWk6zsZ9l6wqkDdXd1DMp6oE
/BYKEHK30Rr02bMZVYwh3sObv8wE28+hR0sRFm6KXIjir/rVxQECGqUb2L4872rVqAl8AVBLAwQK
AAIAAAAWe2RG840CEk0AAABNAAAAYQAcAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8wN19M
ZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMuNF9UMi1leHBl
Y3RlZC50eHRVVAkAAzyU91Q8lPdUdXgLAAEE9QEAAARQAAAAUzcuM19BMy40X1QyCgpQQVNTIFN5
bnRheEVycm9yOiBVbmV4cGVjdGVkIGlkZW50aWZpZXIgJ2xpbmUnCgpURVNUIENPTVBMRVRFCgpQ
SwMEFAACAAgAFntkRrRbBSXpBwAAExsAAGUAHAByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFuY2Uv
MDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9ycy9TNy4zX0EzLjRfVDIt
cHJldHR5LWRpZmYuaHRtbFVUCQADPJT3VDyU91R1eAsAAQT1AQAABFAAAAC1Wd1u47gVvs9TCAm6
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
+4YUFILjMkDml/d1fa0UuA0g/WFg1ycAu+4H1gajH3VItZRQ0np6H/hpzjD3y6POqMkdVH10guo/
FZEo5/36f/20XHrLLZy8WXCuCsI/C7wpTeNJEhXEKQFIP11Ag6A21i9HrdbUG+rjcaWt0EGND2jD
TjDN79L4Dgj7fuzdher5O9X/kUHzozJ4fILZxqcnyh8DMzkBzKQfzPNi+ew9/P2Xr18Wz4sfi+zm
BGQ3/5960npoNgNG0P8W9j9QSwMECgAAAAAAFntkRgAAAAAAAAAAAAAAAEAAHAByZXRyaWVzL3Nw
dXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjhfTGl0ZXJhbHMvVVQJ
AAM8lPdUQJT3VHV4CwABBPUBAAAEUAAAAFBLAwQKAAAAAAAWe2RGAAAAAAAAAAAAAAAAYgAcAHJl
dHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuOF9MaXRl
cmFscy83LjguNV9SZWd1bGFyX0V4cHJlc3Npb25fTGl0ZXJhbHMvVVQJAAM8lPdUQJT3VHV4CwAB
BPUBAAAEUAAAAFBLAwQUAAIACAAWe2RGqj90iZkAAACwAAAAewAcAHJldHJpZXMvc3B1dG5pay9D
b25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuOF9MaXRlcmFscy83LjguNV9SZWd1
bGFyX0V4cHJlc3Npb25fTGl0ZXJhbHMvUzcuOC41X0EzLjFfVDctYWN0dWFsLnR4dFVUCQADPJT3
VDyU91R1eAsAAQT1AQAABFAAAAA1zUELgjAUAOD7fsW77TaMSsNOIq8INIWtWyBjPmEwZmwz9N9X
h87f4au7u+wahBalrK5YgrOeoMhLkJtPesUQ5lDCw9P6IpNoBDuST3ayFOAA/LlkWV5wAfh3fuag
p/Tltw4wknE66GRnL5gsxEkch2ovdoMqGLtUtwbiYgzFOC3Obb0O8VdE8HOCSIkxhVJB3bV9gwoZ
+wBQSwMEFAACAAgAFntkRntelTwmAQAApAIAAHkAHAByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFu
Y2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjhfTGl0ZXJhbHMvNy44LjVfUmVndWxhcl9FeHBy
ZXNzaW9uX0xpdGVyYWxzL1M3LjguNV9BMy4xX1Q3LWRpZmYudHh0VVQJAAM8lPdUPJT3VHV4CwAB
BPUBAAAEUAAAANVQTU/DMAy991f41kNJs4mxonHpGAUhCkMrsAtSZVoXRWTplDhT9+9pBwhxRJy4
xIr97PchhAD51Gq/IScvkFFm60Ku6eVG8Wc590rXckWa0JHUuG89CybHwpLzmp20xFb1+27r2ag3
uWhN09oNmorkKClz6lSFuuzbOzKsWuNkEp+WuWKyqA+f+KRc0avXaMus2/aHXQ/7RhQfkPlxPC4f
EkHdliqmOuaOgyiK/qEFrNijPhhIUxDjowlEw5OmgVgs74plnsFtVhTzq2wGWhmCZDqDYm8Yu8za
1s7g0XzlAKoeVDWKLITPfjSaJmEM2dc0PAsBm14H7NBCTVWvEQcTcRD9iWvySzb4GUIAAVzOr3Nw
vqr6vBqv9f4erRtYHJiWwREH71BLAwQUAAIACAAWe2RG9OoZ2pcAAACuAAAAfQAcAHJldHJpZXMv
c3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuOF9MaXRlcmFscy83
LjguNV9SZWd1bGFyX0V4cHJlc3Npb25fTGl0ZXJhbHMvUzcuOC41X0EzLjFfVDctZXhwZWN0ZWQu
dHh0VVQJAAM8lPdUPJT3VHV4CwABBPUBAAAEUAAAADXNsQrCMBAA0D1fcVu2UBEbqVORU4TWFhI3
oYT0CoGQSpJK+/fq4PyGd+7uqmsQWlSqvmIF3gUCWVagtpDNijHOsYJHoPVFNtMIbqSQ3eQoAn8u
RVFKLgD/yk8czJS/+DYRRrLeRJPdHARTUhzFYaj3YjdoydilvjWQFmsppWnxfutNTL8gQZgzJMqM
aVQazl3bN6iRsQ9QSwMEFAACAAgAFntkRi4N35sXCAAATRoAAIEAHAByZXRyaWVzL3NwdXRuaWsv
Q29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjhfTGl0ZXJhbHMvNy44LjVfUmVn
dWxhcl9FeHByZXNzaW9uX0xpdGVyYWxzL1M3LjguNV9BMy4xX1Q3LXByZXR0eS1kaWZmLmh0bWxV
VAkAAzyU91Q8lPdUdXgLAAEE9QEAAARQAAAAtVlrb+O4Ff2eXyEk6AZYRJId23nYGRczidMuNvvA
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
+a6IxHrWKQikfz6//+Xn5S9PC++nxXL58S+LqZ7sXV9NveUO4GwXnKug/VsBB3DTHJFEGTolgPO7
MyCxf5SDwdW1vg28hZPSzzP92zMsuYGmGE5v4AZ9fAssJggmMIa79NsOUv5tw1mho1Y7YhH2DvN+
u9XugJjmY+8uVNf/rwlr5eV8boet7H8dvCKDk+XbPnjT/pfvMP1lv+mb6dq2wLdBG70D2qgf2v8W
zPgdYMb9YB4//vAEDUAcQ71LS0p3v6o/50AgCiBj3VZ8S/S0LpoHoF7qvyL9B1BLAwQUAAIACAAW
e2RG1k9dkpkAAACwAAAAewAcAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2Fs
X0NvbnZlbnRpb25zLzcuOF9MaXRlcmFscy83LjguNV9SZWd1bGFyX0V4cHJlc3Npb25fTGl0ZXJh
bHMvUzcuOC41X0EzLjFfVDgtYWN0dWFsLnR4dFVUCQADPJT3VDyU91R1eAsAAQT1AQAABFAAAAA1
zUELgjAUAOD7fsW7eRtGpWYnkVcEmsLWLZAxnzAYM7YZ+u+rQ+fv8NXdXXQNQotCVFcswRpHkGcl
iM1FtaL3sy/h4Wh9kY40ghnJRTMZ8nCA5LmkaXZKOODfk3MCaopffisPI2mrvIpmdpyJnBf8OFR7
vhtkwdilujUQFq0phGmxduuVD78igJsjBIqMSRQS6q7tG5TI2AdQSwMEFAACAAgAFntkRrjyFZYn
AQAApAIAAHkAHAByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50
aW9ucy83LjhfTGl0ZXJhbHMvNy44LjVfUmVndWxhcl9FeHByZXNzaW9uX0xpdGVyYWxzL1M3Ljgu
NV9BMy4xX1Q4LWRpZmYudHh0VVQJAAM8lPdUPJT3VHV4CwABBPUBAAAEUAAAANVQTU/DMAy991f4
1kNJs4mxjXHpGAUhCkMrsAtSZVoXRWTplDio+/e0gwlxRJy4xIr97PchhAD51Gi/IScvkFGm61yu
6eVG8Vc590pXckWa0JHUuGs8CybHwpLzmp20xFZ1+27r2ag3uWhM3dgNmpLkYFJk1KoSddG138mw
aoyTk3haZIrJot5/4pNiRa9eoy3Sdtsddh3sG5F/QubH8bB4mApqt1QyVTG3HERR9A8tYMke9d5A
koAYHo0g6p8kCcRieZcvsxRu0zyfX6Uz0MoQTMYzyHeGsU2tbewMHs0hB1BVr6pWZCF89oPB+DSM
IT1Mw7MQsO50wDtaqKjsNGJvIg6iP3GNfskGP0MIIIDL+XUGzpdll1fttd7do3U9iwPTMDji4ANQ
SwMEFAACAAgAFntkRoiaMMGYAAAArgAAAH0AHAByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFuY2Uv
MDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjhfTGl0ZXJhbHMvNy44LjVfUmVndWxhcl9FeHByZXNz
aW9uX0xpdGVyYWxzL1M3LjguNV9BMy4xX1Q4LWV4cGVjdGVkLnR4dFVUCQADPJT3VDyU91R1eAsA
AQT1AQAABFAAAAA1zUELgjAUAOD7fsW77TaMSM1OIq8INIWtWxBjPmEwZmwz9N9Xh87f4Wv6m+xb
hA6lrC9YgbOeoMgrkJtPesUQ5lDB3dP6IpNoBDuST3ayFIA/lizLj1wA/pWfOOgpffGtA4xknA46
2dkLJgtRisOz3ovdU5WMnetrC3ExhmKcFue2QYf4CyL4OUGkxJhCqaDpu6FFhYx9AFBLAwQUAAIA
CAAWe2RGwiUWQxcIAABNGgAAgQAcAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhp
Y2FsX0NvbnZlbnRpb25zLzcuOF9MaXRlcmFscy83LjguNV9SZWd1bGFyX0V4cHJlc3Npb25fTGl0
ZXJhbHMvUzcuOC41X0EzLjFfVDgtcHJldHR5LWRpZmYuaHRtbFVUCQADPJT3VDyU91R1eAsAAQT1
AQAABFAAAAC1WWtv47gV/Z5fIUzQDbCIJDu2M35kXMwkTrvY7APrafdLgYCSKIsTSvSSVGJP2//e
y5csyZKTYtoJJnrwkjz3eS6Vm0zmdHl2k2GUwCXHEnlxhrjA8sNFKVN/egGvhdxTvDybU1I8XXrz
ZyKIxIn3zzMP/km8k36CY8aRJKyYewUr8EIPRYwnmPsRk5Llc2+43XkJ3ONkcfbvM7OcXSRmlPG5
dz4YzfRYcE8oviNpascjFD9tOCuLxHei6VT91DcyOwhGSeKdJ0lixlJWSD9FOaH7uZezgoktii3A
HPENAchDnHsD82rLQDmtB8cUNHrGGlA2bCEdjUYd6wtUCF9gTtLaoCBfsd6jvqlPcSrn3iCYuPcJ
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
cmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy44X0xp
dGVyYWxzLzcuOC41X1JlZ3VsYXJfRXhwcmVzc2lvbl9MaXRlcmFscy9TNy44LjVfQTMuMV9UOS1h
Y3R1YWwudHh0VVQJAAM8lPdUPJT3VHV4CwABBPUBAAAEUAAAADXNQQuCMBQA4Pt+xbt5G0alZSex
VwSawtYtkDGfMBgzthn676tD5+/wVe1dtDVCg0KUVyzAGkeQZwWI1UW1oPeTL+DhaHmRjjSAGchF
MxrysIPkOadpdk444N+TUwJqjF9+Kw8Daau8imZynImcH/i+L7d808sjY5fyVkOYtaYQxtnatVM+
/IoAbooQKDImUUio2qarUSJjH1BLAwQUAAIACAAWe2RGi1LGcicBAACkAgAAeQAcAHJldHJpZXMv
c3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuOF9MaXRlcmFscy83
LjguNV9SZWd1bGFyX0V4cHJlc3Npb25fTGl0ZXJhbHMvUzcuOC41X0EzLjFfVDktZGlmZi50eHRV
VAkAAzyU91Q8lPdUdXgLAAEE9QEAAARQAAAA1VBNT8MwDL33V/jWQ0mzibHBuHRsBSEKQyuwC1Jl
WhdFZOmUOKj797SDCXFEnLjEiv3s9yGEAPnUaL8hJxfIKNN1Ltf0cqP4q1x4pSu5Ik3oSGrcNZ4F
k2NhyXnNTlpiq7p9t/Vs1JucN6Zu7AZNSXIwKTJqVYm66NrvZFg1xslJfFpkismi3n/ik2JFr16j
LdJ22x12HewbkX9CZsfxsHg4E9RuqWSqYm45iKLoH1rAkj3qvYEkATE8GkHUP0kSiPnyLl9mKdym
eT67SqeglSGYjKeQ7wxjm1rb2Ck8mkMOoKpeVa3IQvjsB4PxIowhPUzD8xCw7nTAO1qoqOw0Ym8i
DqI/cY1+yQY/QwgggMvZdQbOl2WXV+213t2jdT2LA9MwOOLgA1BLAwQUAAIACAAWe2RGzkIhi5gA
AACuAAAAfQAcAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRp
b25zLzcuOF9MaXRlcmFscy83LjguNV9SZWd1bGFyX0V4cHJlc3Npb25fTGl0ZXJhbHMvUzcuOC41
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
cm1hbmNlLzEyX1N0YXRlbWVudC8xMi4xMV9UaGVfc3dpdGNoX1N0YXRlbWVudC9TMTIuMTFfQTNf
VDUtYWN0dWFsLnR4dFVUCQADPJT3VDyU91R1eAsAAQT1AQAABFAAAABFy70KgzAUhuE9V/Ft2aT2
B4qbSOiiVTjpLKke24AkEiPVoffeLqXbCw9vUV+pLhUqRZRfVIbROsZ5l4E2F82qQvAhw83xOnEX
uYft2UU7WA44QgaelzHKBOrn8i0RPdj1MLj7foMfviXnl43dUyaC0n2Spm1+aPVJiCYn+s+TCbN1
DwzGjktgIbQijaKumlJpJcQHUEsDBBQAAgAIABZ7ZEbLyiDbCQEAAGkCAABZABwAcmV0cmllcy9z
cHV0bmlrL0NvbmZvcm1hbmNlLzEyX1N0YXRlbWVudC8xMi4xMV9UaGVfc3dpdGNoX1N0YXRlbWVu
dC9TMTIuMTFfQTNfVDUtZGlmZi50eHRVVAkAAzyU91Q8lPdUdXgLAAEE9QEAAARQAAAAzZA9T8Mw
EIZ3/4rbMgTHBIqEMiWUiIGPIlzoGLnJhVq4dmWfRTrw3wm0FZ1hYbkPvXr1PneccxAvzsQ1BnGt
SIl6IcUCl7ea9u0qatOJJzSoAgqjti4SJwzEPYZoKAiP5PXoD5tIVr+JqbO982tlWxT5WSNJEa7R
0rhked7MV9iEd03t6kiSO606b+YXHIcNtoRdRgOxNE3/IaJqKSrzDViWwPOTCaRfpSwZn84e5Oyu
hvtayuqmLsBoi3B5WoDcWlJD7b3zBTzbw52guzFA9xo9JDvkJIP6oCYfCZADtB0oWLpuC64fp2RH
mGQs/VPi5FeZcPwOBgweKyl//Bvlg7av0Cttokf2CVBLAwQUAAIACAAWe2RGi6AG85IAAACtAAAA
XQAcAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8xMl9TdGF0ZW1lbnQvMTIuMTFfVGhlX3N3
aXRjaF9TdGF0ZW1lbnQvUzEyLjExX0EzX1Q1LWV4cGVjdGVkLnR4dFVUCQADPJT3VDyU91R1eAsA
AQT1AQAABFAAAABFy7EKwjAQgOE9T3FbtmIVQbqVcri0tnBxlthc9aAkJU2xHXx3XcTth4+/ai/U
1ggNEpVnLGAUz3DaFUCbT3bFGEMs4Op5nbhP7EAc+ySDcAQdeV7GpDPAn+q3hhSAvQML9+A2CMO3
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
6+r1Vl575Zgl2Fc+xDuQ+zt4Wjnz/XTemAKg7IfCiCUvcIF8ANxIiPeX7iSgvhdm41X4G/gTOCu8
RxKF69834e84+heR9vKxIjQJf4G6iwQOIVLAnL7EwLBwfK+oFCHHkhOYL8pKFuQpBEpNVfkoYhyO
rx8VlWGVrfAQjMePkEKPYkdknDWGNmbsw+Tx08yHfqdCNJB7CVqM2+Ab344uj0f0mX7ovTrre+Y4
0xFRBx2v/Y3oIAcEVDhB/ZHg0HlcrsZgcRhftaSAC5oy3xaRKG96BaGoX67ufvpx89P3a++H9Wbz
4R/rpZ7szUdLb/MCcPZrzlVQ/lrAAds0PyQBm5GUAM5vL6BIGU/o28BbOyn9/Jf+regJFwkUZhUO
HkvhTg8YR5iZFiGEDpjGXYYtCQn+uhmt0EkbnrAPe4Oxv96Gt1CGVlPvNlTX/6dBG9RyubLDVva/
DmyRwanydY+86o3rNzjietgRzUTu6v91wCZvADYZBva/BTN9A5jpMJifP2w2h7gqETA4VKAUEVpx
/DVh07lo8gcS1X86+g9QSwMECgAAAAAAFntkRgAAAAAAAAAAAAAAAEMAHAByZXRyaWVzL3NwdXRu
aWsvQ29uZm9ybWFuY2UvMTJfU3RhdGVtZW50LzEyLjZfSXRlcmF0aW9uX1N0YXRlbWVudHMvVVQJ
AAM8lPdUQJT3VHV4CwABBPUBAAAEUAAAAFBLAwQKAAAAAAAXe2RGAAAAAAAAAAAAAAAAXAAcAHJl
dHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8xMl9TdGF0ZW1lbnQvMTIuNl9JdGVyYXRpb25fU3Rh
dGVtZW50cy8xMi42LjNfVGhlX2Zvcl9TdGF0ZW1lbnQvVVQJAAM9lPdUQJT3VHV4CwABBPUBAAAE
UAAAAFBLAwQUAAIACAAWe2RGUqUW0pgAAAC5AAAAdgAcAHJldHJpZXMvc3B1dG5pay9Db25mb3Jt
YW5jZS8xMl9TdGF0ZW1lbnQvMTIuNl9JdGVyYXRpb25fU3RhdGVtZW50cy8xMi42LjNfVGhlX2Zv
cl9TdGF0ZW1lbnQvUzEyLjYuM19BOC4xX1QzLWFjdHVhbC50eHRVVAkAAzyU91Q8lPdUdXgLAAEE
9QEAAARQAAAARcyxCsIwEIDhPU9xW7ZgrUjpVuRwaW0hcS7BXjUQk3BGbd9eHMT55/sP/Un3LUKH
WjdHrMG7QFBtatBryHZB5sg1nAMtiS6ZJnAThexmRww7kC5MtEgF+MsWZC1hjt7HtwtXyDeCxDER
5xWCvRPIl2WphC62aq/KsalUMZpSiKHR+v9Jlh9fP1vnn0xCGNQGDn03tGhQiA9QSwMEFAACAAgA
FntkRjouPY4cAQAAsAIAAHQAHAByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTJfU3RhdGVt
ZW50LzEyLjZfSXRlcmF0aW9uX1N0YXRlbWVudHMvMTIuNi4zX1RoZV9mb3JfU3RhdGVtZW50L1Mx
Mi42LjNfQTguMV9UMy1kaWZmLnR4dFVUCQADPJT3VD2U91R1eAsAAQT1AQAABFAAAADVkM1OwzAQ
hO95ir3lEBxTWiGUU0qJEOKnCBd6jJZmQy0cO7I3kL49adWqiGtPXHa1+jQ7oxFCgHxzpmsoyBtk
lMVSySW932ver+tOm0q+kCEMJA1uXMeCKbDwFDrDQXpirwd9aDu2+lPOnK2db9CuSI4uSsXI1JDl
4Ugvyzsmj6ydPYKwI+m4XKypHKS/JGpPplfpqFyMBfUtrZiqlHuOkiT5X+lxxR2aXfY8BzE6m0Cy
HXkeidn8Sc0fCngslJreFhkYbQmuzjNQG8vYF947n8GrPVQAuho8dK3JQ6xtRX2cQnGACHEWQ+2M
cd/afgCvCVrvWvK8AYsNQfyFPk6j5CTjySnW8KefCCJ4nip1fNWiD9sXNWrTeYp+AFBLAwQUAAIA
CAAWe2RGuyHjmZcAAAC3AAAAeAAcAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8xMl9TdGF0
ZW1lbnQvMTIuNl9JdGVyYXRpb25fU3RhdGVtZW50cy8xMi42LjNfVGhlX2Zvcl9TdGF0ZW1lbnQv
UzEyLjYuM19BOC4xX1QzLWV4cGVjdGVkLnR4dFVUCQADPJT3VDyU91R1eAsAAQT1AQAABFAAAABF
zLEKwjAQgOE9T3FbtmAtSMlWSnBpbeHiXIK9aiCm4Yzavr04iPPP9zf9CfvWQGcQ66PREHwkqHYa
cIvZrYZ5YQ3nSGuiS6YJ/EQx+9kTg/RxolUqML/oQGoJ8xLC8vbxCvlGkHhJxHmD6O4E8uVYKoHF
Xh1UOdaVKkZbCjHUiP9Pcvz4+tn58GQSwhq00PTd0BprhPgAUEsDBBQAAgAIABd7ZEZdMB5rCQgA
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
IyE+XLqTgPpemI1X4T/An8BZ4QOSKFz/tgl/w9EPRNrLp4rQJPwb1F0kcAiRAub0JQaGheN7RaUI
OZacwHxRVrIgzyFQaqrKRxHjcHz9pKgMq2yFh+Dm6a9Ax/pwcBgQeiSYPEF2PcHUxpSNHfk4D8ZP
nyc+tEIVooHcSVBw3Nar8Vnp8nhEH/eH3qvPAJ456XRE1BnIa38+OsgBNxVOUH8/ODQll6sxOAPG
Vy0poImmzHdFJMplryDU+8vV/S8/b375ce39tN5sPv55vdCTvflo4W32AGe35lzF698LOHubvogk
YDaSEsD53QXUL9376bvAWzshZMYW+jfkmuqvVAooBis5HDA4pE6hOjot8YK4WcECheACC7nLsEGB
At62phU6acoTZmLvsPm3m/IOCtVq6t2F6vp/sGuDgy5XdtjK/tdhLjI4fr7tmDedcv0Of1wP+6OT
2V0TfBu2yTuwTYax/W/BTN8BZjoM5tePm80hxEoEbA8hlSJCK46/JXI6F10ogFX1n5n+A1BLAwQK
AAAAAAA1dmRGAAAAAAAAAAAAAAAAEQAcAHJldHJpZXMvd2ViYXVkaW8vVVQJAAMGjPdUQJT3VHV4
CwABBPUBAAAEUAAAAFBLAwQUAAIACAAmdmRG1wIET2kAAAB3AAAAMwAcAHJldHJpZXMvd2ViYXVk
aW8vYXVkaW9idWZmZXJzb3VyY2UtZW5kZWQtYWN0dWFsLnR4dFVUCQAD6Iv3VOiL91R1eAsAAQT1
AQAABFAAAAAlzEEKAjEQRNF9TlEn8ADuRlQQBjfOBeJ0RRvGbkg6irc34P79f54u8x6LvijwHvhk
DbUHileYh5bv0Y0Ix51Y87ZR0sIWDfHMgamL+qGXwnrzXldeXf6uQQcarclYn960mLUFjXWX0g9Q
SwMEFAACAAgAJnZkRjhSum7dAAAAmwEAADEAHAByZXRyaWVzL3dlYmF1ZGlvL2F1ZGlvYnVmZmVy
c291cmNlLWVuZGVkLWRpZmYudHh0VVQJAAPoi/dU6Iv3VHV4CwABBPUBAAAEUAAAAL2OwU7DMBBE
7/6KvRvHQtw4JVWLhKgQIhU9O/GkWHJtZK9p+/c4CfwCl9nLzL6nlCL9EX05I+utYaN3x14fMbw4
/j2b4rzV7/AwGdqbWyysGJlVQi6es07g5Or+gsEU66JecijThJRjSSMUgoVVuH5hZNiGryyklP+I
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
TGV4aWNhbF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9ycy9VVAkAA+eT91RAlPdUdXgL
AAEE9QEAAARQAAAAUEsDBAoAAgAAAOl6ZEal+9blTwAAAE8AAABXABwAc3B1dG5pay9Db25mb3Jt
YW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMu
MV9UMi1hY3R1YWwudHh0VVQJAAPlk/dU5ZP3VHV4CwABBPUBAAAEUAAAAFM3LjNfQTMuMV9UMgoK
UEFTUyBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBpZGVudGlmaWVyIDQgJ2xpbmUnCgpURVNUIENP
TVBMRVRFCgpQSwMEFAACAAgA6XpkRlEOkL/gAAAA0QEAAFUAHABzcHV0bmlrL0NvbmZvcm1hbmNl
LzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4xX1Qy
LWRpZmYudHh0VVQJAAPlk/dU5pP3VHV4CwABBPUBAAAEUAAAAM2PMU/DMBCFd/+K2zoE5yhFVGJK
KZkIosKhHS2TXCULx67sM0r/PQmiEiMjy3vSp3d676SUgPvg8kAJHw0brA8KD/T+ZPnHHrJ1Pb6S
I5MInTmHzJIpsYyUsuOE6ZTZ2w/cBn8McTC+I7xe64ZG2xmnJ/xJnm3wCdflSjfWk24pDtYbDjGh
mulmVS51eyNpPFHH1Jc8siiK4p/NMx1n477HVRXI5dUdFLNUlYDfQQFC7jZKgTp7NmMdY4j38OYv
74Ht59KjpQgLN1UuRPHX/O3lAgS0tWph+/K8a+q2nsAXUEsDBAoAAgAAAOl6ZEb9DPAlTQAAAE0A
AABZABwAc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5l
X1Rlcm1pbmF0b3JzL1M3LjNfQTMuMV9UMi1leHBlY3RlZC50eHRVVAkAA+WT91Tlk/dUdXgLAAEE
9QEAAARQAAAAUzcuM19BMy4xX1QyCgpQQVNTIFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGlkZW50
aWZpZXIgJ2xpbmUnCgpURVNUIENPTVBMRVRFCgpQSwMEFAACAAgA6XpkRni0iXLkBwAACxsAAF0A
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
+A/gXSRwCJEC5vQlhgoL1/c1lSIU5VoW5DWEUpoq2ihiHA4+vHzBGxWALzD8BrmgGq3wQzB6UbeK
l2fMQU0kGRfhUo1+GgXDl+drH3qdNaKB3EjQYNgEXvtudLk/o+/zfePqnu+JDBrvpCWi4HiN70P6
OypwrpPQXwZ27cbl/RDMDPP3DSkoAMdlgMQv7+v6WilwF0D6w8CuTwB23Q+sDUY/6pBqqaCk9fQ+
8NOcYe6VR51Rkzuo+ugE1X8qIlHO+/X/+mm59JZbOHmz4FwVgn8WeFOahpMkKohTApB+uoDGQG2s
X45arak31MXjSluhgxof0IadYJrfpfEdEPX92LsL1fN3qv8jg+ZHZfD4BLONT0+UPwZmcgKYST+Y
58Xy2Xv4+y9fvyyeFz8W2c0JyG7+P/Wk9dAsBoyg/w3sf1BLAwQUAAIACADpemRGZCYrIXkAAACF
AAAAVwAcAHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjNfTGlu
ZV9UZXJtaW5hdG9ycy9TNy4zX0EzLjFfVDMtYWN0dWFsLnR4dFVUCQAD5pP3VOaT91R1eAsAAQT1
AQAABFAAAAA1y7EKgzAQAND9vuI2N6GkEMgW5OiiVbh0lqBnOdAoaQr279ul4xte09+5bwk7YvY3
crhqErTWIX9SiSflvGeHjyTnIVORGXWWVHRRyXjFatq37ecK2NZm9Ka+jMEADJ4Z6V+OmF+anrhE
Xd9ZAAJxwKbvhpYCAXwBUEsDBBQAAgAIAOl6ZEZH+1Mw9wAAAA0CAABVABwAc3B1dG5pay9Db25m
b3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNf
QTMuMV9UMy1kaWZmLnR4dFVUCQAD5pP3VOaT91R1eAsAAQT1AQAABFAAAADNj8FOwzAMhu95Ct92
KFmYOqlSTy2j4kBhiAx2rELroog0qRIHdW9Pi5i0O5ddbPmX/Pkz5xzEuzNxwCDuFSlRHaU44sej
pr92F7XpxCsaVAGFUScXiRMG4h5DNBREGCNZ/SV2zvbOD8q2KG6zpsZJt8o0c/yNlrSzQWTrtKm1
xeaAftBWkfNByCUt0/WmOaQcpxFbwm5NE7EkSa5MT7UUlfmVKwrgm5stJEspCsZ3+2e5ryt4qqQs
H6oczIyCLMtBniypqfLe+Rze7PlH0N1yudfoYdW6YZinFUv+xdlekOBSnQGDl1JKqM5bo/JB20/o
lTbRI/sBUEsDBBQAAgAIAOl6ZEYIWJJwdwAAAIMAAABZABwAc3B1dG5pay9Db25mb3JtYW5jZS8w
N19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMuMV9UMy1l
eHBlY3RlZC50eHRVVAkAA+aT91Tmk/dUdXgLAAEE9QEAAARQAAAANcuxCoMwEADQ/b7iNjehZBCy
BTm6aCNcOkvQsxxolJiC/ft26fiG1/oH+46wJ2Z3J4urJsGmscifVOJFOe/Z4jPJdchUZEadJRVd
VDJW075tP1XATW1GZ+rbGAzA4JiR/uGI+dT0wiXq+s4CEIgDtr4fOgoE8AVQSwMEFAACAAgA6Xpk
Rlyp1x/jBwAAyhkAAF0AHABzcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlv
bnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4xX1QzLXByZXR0eS1kaWZmLmh0bWxVVAkA
A+aT91Tmk/dUdXgLAAEE9QEAAARQAAAArVlrc9s2Fv3uX8Gxp/VMxyQlS44tydFOYsvbmaaPWWXb
jx6QBEXEIMEFQFtKu/99L14USZGyO9lmGlLABXDu81wwt5nM6fLkNsMogUeOJfLiDHGB5fvzSqb+
zTkMC7mjeHkyp6R4uvDmz0QQiRPvzxMP/pN4K/0Ex4wjSVgx9wpW4IWeihhPMPcjJiXL59643HoJ
vONkcfLfE7Od3SRmlPG5dzaazPRc8EAovidpaucjFD9tOKuKxHei6Y360zzInCAYJYl3liSJmUtZ
If0U5YTu5l7OCiZKFFuAOeIbApDHOPdGZqhkoJzWg2MKGj1jDSgbd5BOJpOe/QUqhC8wJ2ljUpCv
WJ/RPNSnOJVzbxRcufGEiJIi2IQUYBmL8IUkMoPFo9F3Fh9KElJs6pUGm3WNemt7x8IlRQagZC2e
sWfMOxpdXV0thoyNsTFDoHzyCc4SdnFKGQI1ONlksu05JXUH6iPQxR3FwPREgoqjjsoSRRT7Maa0
paWv921Z6SUD7XztQxVqLxyVe2RrHCvfDQaNXtwOmW642Jh1doeAGpVbc8JqW4J7YX9QDV94gXp0
NRyEJ0iCo53629NQP1IWP/2GuAxA1XlKuJB+nBGaDBpWHbeG9RfHNuM4B9devHKePcOZ3wScHymR
VthduaiDaJEkRtRHlGwgNyTrUYtjFek/oiKh2JnD7qNMqH5n2Dh0H89xxYVyjYLdzUAUgXcq5zE4
sw4ckzwa3jEUrTg/DIcNx7tFJzCDq9f8ZUzsBZK9auYg5SzvGNvWR3WGsvovVR5hDtGEm9FlRh3w
wzJqo3Y2axVAly59ZdBl8nQ67S03Te/XNUZtdGVSwKRBXfBtHNjw7AsRA7cVThNbsBqKaxV7C44h
iUGzHClSJVfZqWBaA7pqYqPGKdLKVVjkm2zVU2BP/RP04Bg9+WrAACI52uCWZ+beZW3wiCJlRSUY
Q2kADADFvnldvfdeuZnOBmtvitN9AVBhBTvW9NjI5p6lSZq0l4KzxbD4DM8Wxzi93slWmSYOmxXD
dJ0kBxt4CabDK/DsVTThD966KkvGJTAtt5EMRs1zXEjh/RDCeaiSGTP2NmysmhmIeglxGjtP6QVa
ZoD/axkFBkFIaGFXzt65wFblBlF65xD0Sl8aLsvR1u/Qew59gR26HNW80z0a7H70nDqz65RuHdOH
M2AlNrTpv+DoiUhfcpV2xhIGuBdcikVDjalV+kxIJCvxsYqAw2s+DFT29MJRSyRjNEK8Pe+OTinW
GbqfyNnXerQuThOTx7aPUq+uW1Dvwy3hUOU42srtwyIlW2z2sfV41FYpQLoHMWl2yOIvBGoB74Ra
vedXnxQJ3kKROqLanggbEPr0ssWoRW83tooVCqZN2F5qgvMitn0V6Ls90LEJYkdC5pcGa99rBrM/
a8B1Z9Y6mqQc5QZhJ0/abUQjR+4GKu2hbXbQa7IXy/WYQuMIPfMbiOnd7GEfXpaTBya1IdpzdRuZ
HLbH7ebY7mHMdxjDgy1B4uqsOeaDKwruqjNqzn52HNm5k7y7dgXtEOaRJGncdkSOTC/frLkF4zC8
GKgyVn/Vgom+w40eLq9HfSIURZjOUQoZdnGw3IzrTTQhF6DqqfeXd7o4qYm4Qd/d1RRBh85SX+5K
3LvV6SAiK9i54maY6gJZN6NINaMDHHWWYyFc4zFo5z63NLJjrQv1W6gQKAYaomfCKnFXj0Az+xUX
dw2y7ON513J0KaZJLqqWQ9TqSHC13f62kWiLyMRx4JvQ2NCAHgdLlRMturBt30DT1+TZqIKsKpp1
x/F7Qp7nKYutDVklVb1opl9EK80kdgriJQUswGBjp0iTLPUu0MN8zrA5KbRMuwH8SgfJPAlzkZG2
oSa8Z4JUTZY/25gAsBFnL+Bw6AQyBGttU0RkoJqgWo/ple3i61bE/nbVQTWy6v9Rm0TdJ51uj5+T
BG5ZRjHlIOEu3z2MAn0YE+gZbA8WwB1ead70DqjOHwcT0zLtP3449u/xwdn9/X0jpc9uHu4frh56
6xM0l/1RvFqt+lDPcV5ChWo537ZpHckAXgFpK/NXs5vRja1bMcWIP+r2wF0F1Ii+NmVK5Da0X91u
RcxJCT7l8fvTTMpSzMMQfUHbYMPYBhaVRKjQ1WMhJZEIv/ynwnwXjoNpcGl/BNBaBl/E6RL21fst
vfbOMUuwr3yIX0DuH+Bp5cz305vGEgBlPxRGLNnBA/IBcCMh3p+7m4D6XpiNl+Hv4E+oWeE9kihc
/bEO/8DRT0Tax8eK0CT8F/AuEjiESAFz+hJDhYXre0WlCEVZyYI8hVBKU0UbRYzD0fXjJ7xVAfgI
w8+QC6rRCq+DyaO6VTx+xhzURJJxEa7V6IdJMH78PPGh16kQDeRWggbjNvDGd6Pzwxl9nx8aV/d8
z1xlOiIKjtf+PrSXg+JTOEH9gWDfdZwvx2BtmF+2pKAONGW+LyJRLnoFgdDPl3e//rL+9dPK+3m1
Xn/452quF3vX13NvvQM42xXnKiD/XcDl2jQ+JFHGTAng/P4MCMqWQv1uzwHng4LuMWwPSNHXjWGF
jlriiJbsDSb7dkvcApEsp95tqJ5/3yyNFD9f2mkr+7eDTGRwu3vdrq/a9PIN5rwcNmczqbr6fxuw
yRuATYaB/X/BTN8AZjoM5rcP67W3cgFVIqikwAQpIrTi+FvCpvPQRRgKmv4nnP8BUEsDBAoAAgAA
AOl6ZEbcnu1QTwAAAE8AAABXABwAc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZl
bnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMuMl9UMi1hY3R1YWwudHh0VVQJAAPm
k/dU5pP3VHV4CwABBPUBAAAEUAAAAFM3LjNfQTMuMl9UMgoKUEFTUyBTeW50YXhFcnJvcjogVW5l
eHBlY3RlZCBpZGVudGlmaWVyIDQgJ2xpbmUnCgpURVNUIENPTVBMRVRFCgpQSwMEFAACAAgA6Xpk
Rj7MvozgAAAA0QEAAFUAHABzcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlv
bnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4yX1QyLWRpZmYudHh0VVQJAAPmk/dU5pP3
VHV4CwABBPUBAAAEUAAAAM2PMU/DMBCFd/+K2zoE56BFVGJKKZkIosKhHS2TXCULx67sM0r/PQmi
EiMjy3vSp3d676SUgPvg8kAJHw0brA8KD/T+ZPnHHrJ1Pb6SI5MInTmHzJIpsYyUsuOE6ZTZ2w/c
Bn8McTC+I7xe64ZG2xmnJ/xJnm3wCdflSjfWk24pDtYbDjGhmulmVS51u5Q0nqhj6kseWRRF8c/m
mY6zcd/jqgrkzdUdFLNUlYDfQQFC7jZKgTp7NmMdY4j38OYv74Ht59KjpQgLN1UuRPHX/O3lAgS0
tWph+/K8a+q2nsAXUEsDBAoAAgAAAOl6ZEY4jo6BTQAAAE0AAABZABwAc3B1dG5pay9Db25mb3Jt
YW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMu
Ml9UMi1leHBlY3RlZC50eHRVVAkAA+aT91Tmk/dUdXgLAAEE9QEAAARQAAAAUzcuM19BMy4yX1Qy
CgpQQVNTIFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGlkZW50aWZpZXIgJ2xpbmUnCgpURVNUIENP
TVBMRVRFCgpQSwMEFAACAAgA6XpkRpsa5TzkBwAACxsAAF0AHABzcHV0bmlrL0NvbmZvcm1hbmNl
LzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4yX1Qy
LXByZXR0eS1kaWZmLmh0bWxVVAkAA+aT91Tmk/dUdXgLAAEE9QEAAARQAAAAtVlrb+O4Ff2eXyEk
6AZYRJKfmdjOuJhJHBTobDuo0+7HgJIoixNJ1JJUYk/b/97LlyzJku3FTnewI5m8JM99nkvNfSKy
dHlxn2AUwSPDAjlhghjH4uN1KWL37hqGudileHkxT0n+euPM3wgnAkfOvy8c+E/grXAjHFKGBKH5
3MlpjhdqKqAswswNqBA0mzvDYutE8I6jxcV/L/R2ZpOQppTNnavBeKbmvCeS4kcSx2Y+QOHrhtEy
j1wrGt/JP/WD9AmcpiRyrqIo0nMxzYUbo4yku7mT0ZzyAoUGYIbYhgDkIc6cgR4qKCin9GA4BY3e
sAKUDFtIx+Nxx/4c5dzlmJG4NsnJd6zOqB/qpjgWc2fgTe14RHiRItiE5GAZg/CdRCKBxYPBnww+
FEUk31QrNTbjGvnW9I6BS/IEQIlKPKFvmLU0mk6niz5jY6zN4EmffIGzuFkcpxSBGoxsEtH0nJR6
APUR6GKPomB6IkDFQUtlgYIUuyFO04aWrtq3YaX3BLRzlQ9lqL0zVOyRrXEofdcbNGpxM2Ta4WJi
1todAmpQbPUJq20B7oX9QTV843jy0dawFx4nEQ528m9HQf2c0vD1K2LCA1XnMWFcuGFC0qjXsPK4
Nay/ObYZwxm49ubEeeYMa34dcG4gRRphN7VRB9EiSIhSF6VkA7khaIdaDMtI/wvKoxRbc5h9pAnl
7wRrh+7jOSwZl66RsNsZiALwTmk9BmdWgaOTR8E7hqIR54fhsGF4t2gFpjc95S9tYscT9KSZvZjR
rGVsUx/lGdLqfyuzADOIJlyPLj1qgR+WURO1s1mjANp06SqDNpMnk0lnual7v6oxcqOpTgGdBlXB
N3FgwrMrRDTcRjiNTcGqKa5U7Cw4miR6zXKkSBVMZqeEaQxoq4mJGqtII1dhkauzVU2BPdVP0INh
9OrKAQ2IZGiDG56ZO6PK4EGKpBWlYAilATAAFPPmtPXee+VuMuutvTGO9wVAhhXsWNFjLZs7lkZx
1FwKzub94jM8Wxzj9GonU2XqOExW9NN1FB1s4EQ47V+BZyfR+D8767IoKBPAtMxEMhg1y3AuuPOz
D+ehUiRU21uzsWxmIOoFxGloPaUWKJke/q9kJBgEIaGEbTm7tYEtyw1K0weLoFN6pLksQ1u3Re8Z
9AVmaDSoeKd9NNj96DlVZlcp3TimC6dHC6xp033HwSsRrmAy7bQlNHDHG/FFTY2JUfqKCyRK/rkM
gMMrPvRk9nTCkUsEpWmAWHPeHh2nWGXofiKj36vRqjiNdR6bPkq+2m5Bvve3hH2V42grtw+LmGyx
3sfU40FTJQ+pHkSn2SGLvxOoBawVatWe312SR3gLReqIansirEHo0ssUowa93ZkqlkuYJmE7qQnO
C+j2JNDbPdChDmJLQvqXAmveKwYzPyvAVWfWOJrEDGUaYStPmm1ELUceeirtoW120GvSd8P1OIXG
EXrmM4jpdva0Dy/DyT2TyhDNuaqNjA7b42ZzbPbQ5juM4d6WILJ1Vh/zyRYFe9UZ1GefLUe27iS3
H2xBO4R5JElqtx2eId3L12tuThkML3qqjNFftmC863Cth83rQZdIigKczlEMGXZzsFyPq00UIeeg
6qXzH+dycVERcY2+26tTBB06jV2xK3DnVpe9iIxg64qb4FQVyKoZRbIZ7eGoqwxzbhuPXjt3uaWW
HWtVqM+hQqAYaIjeCC35QzUCzex3nD/UyLKL523L0aaYOrnIWg5RqyLB1nbz20SiKSJjy4FnoTGh
AT0OFjInGnRh2r6epq/Os0EJWZXX647l94i8zWMaGhvSUsh6UU+/IC0Vk5gpiJcYsACDDa0idbJU
u0AP85xgfZJvmHYD+KUOgjoC5gItbUKNO28EyZosfjExAWADRt/B4dAJJAjWmqaICE82QZUek6np
4qtWxPy21UE2svL/QZNE7Seddo+fkQhuWVox6SBuL98djAJ9GOXoDWwPFsAtXqnf9A6ozh16Y90y
7T9+WPbv8MHV4+NjLaWv7p4en6ZPnfUJmsvuKF6tVl2o5zgroEI1nG/atJakB6+AtJH5q9nd4M7U
rTDFiL2o9sBeBeSIujYlUuTeN1/d7nnISAE+ZeHHy0SIgs99H31DW29D6QYWFYTL0FVjfkoC7n/7
rcRs5w+9iTcyPzxoLb1v/HIJ+6r9lk5z55BG2JU+xO8g92fwtHTmx8ldbQmAMh8KAxrt4AH5ALgR
5x+v7U1Afi9Mhkv/X+BPqFn+IxLIX/269n/FwV+JMI/PJUkj/x/Au4hjHyIFzOkKDBUWru9lKrjP
i1Lk5NWHUhpL2shD7A8+vHzBWxmALzD8BrkgGy3/gzd+kbeKl2fMQE0kKOP+Wo5+Gnujl+eRC71O
iVJPbAVoMGwCr303uj6cUff5vnF5z3d4Ao131BKRcJzG9yH1HRU410qoLwP7duN6OQQzw/yyIQUF
4LQMkPj1sq6vkQJ3AaQ/DGx0BrBRP7A2GPWoQ6qlgpRW04fAz3OGvleedEZN7qjq4zNU/ykPeLHo
1//rp/XaWe/g5O2KMVkI/pnjbaEbThLJII4JQPrpChoDubF6OWm1pt5QF08rbYSOanxEG3qGaX6X
xvdA1MuJc+/L5+9U/0cGzY/K4MkZZpucnyh/DMz0DDDTfjDPq/Wz8/D3X75+WT2vfiyy2zOQ3f5/
6knroVgMGEH9G9j/AFBLAwQUAAIACADpemRGkN5iknkAAACFAAAAVwAcAHNwdXRuaWsvQ29uZm9y
bWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9ycy9TNy4zX0Ez
LjJfVDMtYWN0dWFsLnR4dFVUCQAD5pP3VOaT91R1eAsAAQT1AQAABFAAAAA1y70KgzAQAOD9nuI2
N4emYMkW5OjiH1w6S9CzBDTKNQX79u3S8Ru+uu+4bwhbYnZ3srjGJFjdLPIn5XCS6q4WH0nOQ6Ys
M8ZZUo5LFMUrFtO+bT8XwFVpRmfKy+gNwOCYkf7lCPqK6YlLiOtbBcATe6z7dmjIE8AXUEsDBBQA
AgAIAOl6ZEYK0x+K9wAAAA0CAABVABwAc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0Nv
bnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMuMl9UMy1kaWZmLnR4dFVUCQAD
5pP3VOaT91R1eAsAAQT1AQAABFAAAADNj8FOwzAMhu99Ct92KGmATiraqWVEHCgMkcGOVWhdFJEm
VeKg7u1pEZN258LFln/Jnz8zxoC/ORMHDPxOkeLiIPkB3x80/bbbqE3HX9CgCsiNOrpIjDAQ8xii
ocDDGMnqT751tnd+ULZFflk0NU66VaaZ4y+0pJ0NvMjyptYWmz36QVtFzgcul7TKs+tmnzOcRmwJ
u4wmStI0/Wd6qqWozI9cWQK7ulhDupSyTNh29yR3tYBHIWV1LzZgZhQUNxuQR0tqEt47v4FXe/oR
dLdc7jV6WLVuGOZplaR/4qzPSHCunkACz5WUIE5bo/JB2w/olTbRY/INUEsDBBQAAgAIAOl6ZEZx
D0NwdwAAAIMAAABZABwAc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25z
LzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMuMl9UMy1leHBlY3RlZC50eHRVVAkAA+aT91Tm
k/dUdXgLAAEE9QEAAARQAAAANcuxCoMwEADQ/b7iNjeHZrBkC3J00Ua4dJagZwlolGsK9u/bpeMb
Xuvv7DvCnpjdjSyuKQs2V4v8ySWepLqrxUeW85CpyIxpllzSkkSxmvZt+6kCbmozOlNfxmAABseM
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
AGU/FEYseYEH5APgRkJ8uHQ3AfW9MBuvw3+DP6FmhXdIonDz2zb8DUf/INI+PlWEJuE/gXeRwCFE
CpjTlxgqLFzfKypFKMpKFuQxhFKaKtooYhyO3j98xnsVgA8w/AS5oBqt8H0weVC3iocvmIOaSDIu
wq0a/TgJrh++THzodSpEA7mXoMG4Dbzx3ejyeEbf54fG1T3fM1eZjoiC47W/Dx3koPgUTlB/IDh0
HZfrMVgb5tctKagDTZkfikiUq15BIPTL9e0vP29/+bzxftpstx//tlnqxd77+dLbvgCc/YZzFZD/
KuBybRofkihjpgRw/nABBGVLoX6354DzQUH3GLYHpOjrxrBCJy1xQkv2BpN9vyVugEjWU+8mVM8/
b5ZGil+u7bSV/dNBJjK43b1u11dtev0Gc14Pm7OZVF39vw/Y5A3AJsPA/r9gpm8AMx0G8+vH7dbb
uIAqEVRSYIIUEVpx/D1h03noIgwFTf8Tzv8AUEsDBAoAAgAAAOp6ZEY0QNSKTwAAAE8AAABXABwA
c3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1p
bmF0b3JzL1M3LjNfQTMuM19UMi1hY3R1YWwudHh0VVQJAAPnk/dU55P3VHV4CwABBPUBAAAEUAAA
AFM3LjNfQTMuM19UMgoKUEFTUyBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBpZGVudGlmaWVyIDQg
J2xpbmUnCgpURVNUIENPTVBMRVRFCgpQSwMEFAACAAgA6npkRiRwdCvfAAAA0QEAAFUAHABzcHV0
bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRv
cnMvUzcuM19BMy4zX1QyLWRpZmYudHh0VVQJAAPnk/dU55P3VHV4CwABBPUBAAAEUAAAAM2PMU/D
MBCFd/+K2zoY94AiKjGllEwEUWFDx8gkV8nCsSv7jNJ/T4KoxMjI8k769E7vPaUU4Fv0ZaCMD5Yt
1nuNe3p/dPxz7ovzPb6QJ5sJvT3Fwoops0qUi+eM+Vg4uA/cxnCIabChI7xctw2NrrO+nfAnBXYx
ZFwvV23jArWG0uCC5Zgy6pluVpOYa0XjkTqmfskjCynlP6tnOy7Wf5erKlBXF7cgZ6kqAb+NAoTa
bbQGfQpsxzqlmO7gNZzngevn0IOjBAs/RS6E/Kv/5vwBAkytDWyfn3ZNbeoJfAFQSwMECgACAAAA
6npkRkTyi1RNAAAATQAAAFkAHABzcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVu
dGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4zX1QyLWV4cGVjdGVkLnR4dFVUCQAD
55P3VOeT91R1eAsAAQT1AQAABFAAAABTNy4zX0EzLjNfVDIKClBBU1MgU3ludGF4RXJyb3I6IFVu
ZXhwZWN0ZWQgaWRlbnRpZmllciAnbGluZScKClRFU1QgQ09NUExFVEUKClBLAwQUAAIACADqemRG
On/BBuQHAAALGwAAXQAcAHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9u
cy83LjNfTGluZV9UZXJtaW5hdG9ycy9TNy4zX0EzLjNfVDItcHJldHR5LWRpZmYuaHRtbFVUCQAD
55P3VOeT91R1eAsAAQT1AQAABFAAAAC1Wd1u47gVvs9TCAm6ARaRZMd2JrYzKWYSBwU62w7qtHsZ
UBJlcUKJWpJO7Gn77j38kyVZsr3Y6Q52JJOH5Hd+v0PNXSZzen92l2GUwCPHEnlxhrjA8uPlWqb+
7SUMC7ml+P5sRknxeuXN3oggEifev888+E/ijfQTHDOOJGHFzCtYged6KmI8wdyPmJQsn3nDcuMl
8I6T+dl/z8x2dpOYUcZn3sVgNNVzwROh+JGkqZ2PUPy64mxdJL4TTW/Vn/pB5gTBKEm8iyRJzFzK
CumnKCd0O/NyVjBRotgCzBFfEYA8xLk3MEMlA+W0HhxT0OgNa0DZsIV0NBp17C9QIXyBOUlrk4J8
x/qM+qE+xamceYNg4sYTIkqKYBNSgGUswneSyAwWDwZ/svhQkpBiVa002Kxr1FvTOxYuKTIAJSvx
jL1h3tJoMpnM+4yNsTFDoHzyBc4SdnFKGQI1OFllsuk5JfUA6iPQxR3FwPREgoqDlsoSRRT7Maa0
oaWv921Y6T0D7XztQxVq7xyVO2RLHCvf9QaNXtwMmXa42Jh1doeAGpQbc8JiU4J7YX9QDV95gXq0
NeyFJ0iCo63629NQP1MWv35FXAag6iwlXEg/zghNeg2rjlvC+qtDm3Gcg2uvjpxnz3DmNwHnR0qk
EXYTF3UQLZLEiPqIkhXkhmQdanGsIv0vqEgoduaw+ygTqt8ZNg7dxXO85kK5RsFuZyCKwDtr5zE4
swockzwa3iEUjTjfD4cVx9t5KzCDyTF/GRN7gWRHzRyknOUtY9v6qM5QVv/bOo8wh2jC9egyow74
fhm1UTudNgqgS5euMugyeTwed5abuverGqM2mpgUMGlQFXwbBzY8u0LEwG2E08gWrJriWsXOgmNI
otcsB4pUyVV2KpjWgK6a2KhxijRyFRb5Jlv1FNhT/wQ9OEavvhowgEiOVrjhmZl3XRk8okhZUQnG
UBoAA0Cxb15b751XbsfT3tqb4nRXAFRYwY4VPdayuWNpkibNpeBs0S8+xdP5IU6vdrJVpo7DZkU/
XSfJ3gZegmn/Cjw9iib82Vuuy5JxCUzLbSSDUfMcF1J4P4dwHlrLjBl7GzZWzQxEvYQ4jZ2n9AIt
08P/lYwCgyAktLArZzcusFW5QZQ+OASd0teGy3K08Vv0nkNfYIeuBxXvtI8Gux88p8rsKqUbx3Th
DFiJDW367zh6JdKXXKWdsYQB7gXXYl5TY2yVvhASybX4vI6Awys+DFT2dMJRSyRjNEK8Oe+OTinW
GbqbyNn3arQqTiOTx7aPUq+uW1Dv/S1hX+U42MrtwiIlG2z2sfV40FQpQLoHMWm2z+LvBGoBb4Va
ted3nxQJ3kCROqDajghrELr0ssWoQW+3tooVCqZN2E5qgvMitjkK9GYHdGiC2JGQ+aXB2veKwezP
CnDVmTWOJilHuUHYypNmG1HLkYeeSrtvmy30muzdcj2m0DhCz3wCMd1Mn3bhZTm5Z1IbojlXtZHJ
fnvcbI7tHsZ8+zHc2xIkrs6aYz65ouCuOoP67LPjyNad5OaDK2j7MA8kSe22I3Jkevl6zS0Yh+F5
T5Wx+qsWTHQdbvRweT3oEqEownSGUsiwq73lZlxvogm5AFXPvf945/Oziohr9N1eTRF06Cz15bbE
nVud9yKygq0rboapLpBVM4pUM9rDURc5FsI1Hr127nJLLTuWulCfQoVAMdAQvRG2Fg/VCDSz33Hx
UCPLLp53LUebYurkomo5RK2OBFfb7W8bibaIjBwHnoTGhgb0OFiqnGjQhW37epq+Os9Ga8iqol53
HL8n5G2WstjakK2lqhf19IvoWjOJnYJ4SQELMNjQKVInS70L9DDPGTYnhZZpV4Bf6SCZJ2EuMtI2
1IT3RpCqyfIXGxMANuLsHRwOnUCGYK1tiogMVBNU6TGe2C6+akXsb1cdVCOr/h80SdR90mn3+DlJ
4JZlFFMOEu7y3cEo0Icxgd7A9mAB3OKV+k1vj+r8YTAyLdPu44dj/w4fXDw+PtZS+uL26fFp8tRZ
n6C57I7ixWLRhXqG8xIqVMP5tk1rSQbwCkgbmb+Y3g5ubd2KKUb8RbcH7iqgRvS1KVMid6H96nYn
Yk5K8CmPP55nUpZiFoboG9oEK8ZWsKgkQoWuHgspiUT47bc15ttwGIyDa/sjgNYy+CbO72Ffvd+9
19w5Zgn2lQ/xO8j9GTytnPlxfFtbAqDsh8KIJVt4QD4AbiTEx0t3E1DfC7Phffgv8CfUrPARSRQu
fl2Gv+Lor0Tax+c1oUn4D+BdJHAIkQLm9CWGCgvX9zWVIhTlWhbkNYRSmiraKGIcDj68fMEbFYAv
MPwGuaAarfBDMHpRt4qXZ8xBTSQZF+FSjX4awV/P1z70OmtEA7mRoMGwCbz23ehyf0bf5/vG1T3f
Exk03klLRMHxGt+H9HdU4Fwnob8M7NqNy/shmBnm7xtSUACOywCJX97X9bVS4C6A9IeBXZ8A7Lof
WBuMftQh1VJBSevpfeCnOcPcK486oyZ3UPXRCar/VESinPfr//XTcuktt3DyZsG5KgT/LPCmNA0n
SVQQpwQg/XQBjYHaWL8ctVpTb6iLx5W2Qgc1PqANO8E0v0vjOyDq+7F3F6rn71T/RwbNj8rg8Qlm
G5+eKH8MzOQEMJN+MM+L5bP38Pdfvn5ZPC9+LLKbE5Dd/H/qSeuhWQwYQf8b2P8AUEsDBAoAAgAA
AOp6ZEZvUurhTwAAAE8AAABXABwAc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZl
bnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMuNF9UMi1hY3R1YWwudHh0VVQJAAPn
k/dU55P3VHV4CwABBPUBAAAEUAAAAFM3LjNfQTMuNF9UMgoKUEFTUyBTeW50YXhFcnJvcjogVW5l
eHBlY3RlZCBpZGVudGlmaWVyIDQgJ2xpbmUnCgpURVNUIENPTVBMRVRFCgpQSwMEFAACAAgA6npk
RuBI4+rgAAAA0QEAAFUAHABzcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlv
bnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy40X1QyLWRpZmYudHh0VVQJAAPnk/dU55P3
VHV4CwABBPUBAAAEUAAAAM2PMU/DMBCFd/+K2zoE54BWVGJKKZ4IosKhHSOTXCULx67sM0r/PQmi
EiMjy3vSp3d676SUgPvg8kAJHw0bVAeNB3p/svxjD9m6Hl/JkUmEzpxDZsmUWEZK2XHCdMrs7Qdu
gz+GOBjfEV6v25pG2xnXTviTPNvgE67LZVtbT21DcbDecIgJ9Uw3y3LVNreSxhN1TH3JI4uiKP7Z
PNNxNu57XFWBvLm6g2KWqhLwOyhAyN1Ga9Bnz2ZUMYZ4D2/+8h7Yfi49WoqwcFPlQhR/za8uFyCg
UbqB7cvzrlaNmsAXUEsDBAoAAgAAAOp6ZEbzjQISTQAAAE0AAABZABwAc3B1dG5pay9Db25mb3Jt
YW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMu
NF9UMi1leHBlY3RlZC50eHRVVAkAA+eT91Tnk/dUdXgLAAEE9QEAAARQAAAAUzcuM19BMy40X1Qy
CgpQQVNTIFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGlkZW50aWZpZXIgJ2xpbmUnCgpURVNUIENP
TVBMRVRFCgpQSwMEFAACAAgA6npkRl1HPKDkBwAACxsAAF0AHABzcHV0bmlrL0NvbmZvcm1hbmNl
LzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy40X1Qy
LXByZXR0eS1kaWZmLmh0bWxVVAkAA+eT91Tnk/dUdXgLAAEE9QEAAARQAAAAtVndbuO4Fb7PUwgJ
ugEWkWTHdia2MylmEgcFOtsO6rR7GVASZXFCiVqSTuxp++49/JMlWbK92OkOdiSTh+R3fr9DzV0m
c3p/dpdhlMAjxxJ5cYa4wPLj5Vqm/u0lDAu5pfj+bEZJ8Xrlzd6IIBIn3r/PPPhP4o30ExwzjiRh
xcwrWIHneipiPMHcj5iULJ95w3LjJfCOk/nZf8/MdnaTmFHGZ97FYDTVc8ETofiRpKmdj1D8uuJs
XSS+E01v1Z/6QeYEwShJvIskScxcygrppygndDvzclYwUaLYAswRXxGAPMS5NzBDJQPltB4cU9Do
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
bWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjhfTGl0ZXJhbHMvVVQJAAP6k/dUQJT3VHV4
CwABBPUBAAAEUAAAAFBLAwQKAAAAAAD0emRGAAAAAAAAAAAAAAAAWgAcAHNwdXRuaWsvQ29uZm9y
bWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjhfTGl0ZXJhbHMvNy44LjVfUmVndWxhcl9F
eHByZXNzaW9uX0xpdGVyYWxzL1VUCQAD+5P3VECU91R1eAsAAQT1AQAABFAAAABQSwMEFAACAAgA
83pkRqo/dImZAAAAsAAAAHMAHABzcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVu
dGlvbnMvNy44X0xpdGVyYWxzLzcuOC41X1JlZ3VsYXJfRXhwcmVzc2lvbl9MaXRlcmFscy9TNy44
LjVfQTMuMV9UNy1hY3R1YWwudHh0VVQJAAP6k/dU+pP3VHV4CwABBPUBAAAEUAAAADXNQQuCMBQA
4Pt+xbvtNoxKw04irwg0ha1bIGM+YTBmbDP031eHzt/hq7u77BqEFqWsrliCs56gyEuQm096xRDm
UMLD0/oik2gEO5JPdrIU4AD8uWRZXnAB+Hd+5qCn9OW3DjCScTroZGcvmCzESRyHai92gyoYu1S3
BuJiDMU4Lc5tvQ7xV0Twc4JIiTGFUkHdtX2DChn7AFBLAwQUAAIACADzemRGNCZG7SMBAACUAgAA
cQAcAHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjhfTGl0ZXJh
bHMvNy44LjVfUmVndWxhcl9FeHByZXNzaW9uX0xpdGVyYWxzL1M3LjguNV9BMy4xX1Q3LWRpZmYu
dHh0VVQJAAP6k/dU+pP3VHV4CwABBPUBAAAEUAAAANWQsU7DQAyG9zyFtwzhcq0oDSpLSgkIEShq
gC5IkUkcdOJ6qe58Vfr2JAWEGBETiy3bv/x/thAC5FOr/YacvEBGma0LuaaXG8Wf6dwrXcsVaUJH
UuO+9SyYHAtLzmt20m09G/UmF61pWrtBU5EcJWVOnapQl317R4ZVa5xM4tMyV0wW9aGIT8oVvXqN
tsy6bb/Q9bJvRfEhmR/H4/IhEdRtqWKqY+44iKLoH6FjxR71ATxNQYyPJhANIU0DsVjeFcs8g9us
KOZX2Qy0MgTJdAbF3jB2mbWtncGj+bofVD1QNYoshM9+NJomYQzZ1zQ8CwGbngN2aKGmqmfE4Yg4
iP7kNfmlG/x8QgABXM6vc3C+qvp/NV7r/T1aN7g4MC2DIw7eAVBLAwQUAAIACADzemRG9OoZ2pcA
AACuAAAAdQAcAHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83Ljhf
TGl0ZXJhbHMvNy44LjVfUmVndWxhcl9FeHByZXNzaW9uX0xpdGVyYWxzL1M3LjguNV9BMy4xX1Q3
LWV4cGVjdGVkLnR4dFVUCQAD+pP3VPqT91R1eAsAAQT1AQAABFAAAAA1zbEKwjAQANA9X3FbtlAR
G6lTkVOE1hYSN6GE9AqBkEqSSvv36uD8hnfu7qprEFpUqr5iBd4FAllWoLaQzYoxzrGCR6D1RTbT
CG6kkN3kKAJ/LkVRSi4A/8pPHMyUv/g2EUay3kST3RwEU1IcxWGo92I3aMnYpb41kBZrKaVp8X7r
TUy/IEGYMyTKjGlUGs5d2zeokbEPUEsDBBQAAgAIAPN6ZEYXk4nBEggAAEUaAAB5ABwAc3B1dG5p
ay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuOF9MaXRlcmFscy83LjguNV9S
ZWd1bGFyX0V4cHJlc3Npb25fTGl0ZXJhbHMvUzcuOC41X0EzLjFfVDctcHJldHR5LWRpZmYuaHRt
bFVUCQAD+pP3VPqT91R1eAsAAQT1AQAABFAAAAC1WWtv47gV/Z5fISToBlhEkh3biR8ZFzOJ0y42
+8B62v1SIKAkyuKEErUi5djT9r/38iVLsuSkmHaCiR68JM99nkvlLhEpXZ7dJRhFcEmxQE6YoIJj
8eGyFLE7vYTXXOwpXp7NKclerpz5lnAicOT888yBfwLvhBvhkBVIEJbNnYxleKGGAlZEuHADJgRL
584w3zkR3ONocfbvM72cWSRklBVz52Iwmqkx75FQ/EDi2IwHKHzZFKzMIteKxlP5U99I78AZJZFz
EUWRHotZJtwYpYTu507KMsZzFBqAKSo2BCAPceoM9KucgXJKjwJT0GiLFaBk2EI6Go061uco4y7H
BYlrg5x8xWqP+qYuxbGYOwNvYt9HhOcUwSIkA8sYhK8kEglMHgz+ZPChKCLZppqpsRnXyLumdwxc
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
cy83LjhfTGl0ZXJhbHMvNy44LjVfUmVndWxhcl9FeHByZXNzaW9uX0xpdGVyYWxzL1M3LjguNV9B
My4xX1Q4LWFjdHVhbC50eHRVVAkAA/qT91T6k/dUdXgLAAEE9QEAAARQAAAANc1BC4IwFADg+37F
u3kbRqVmJ5FXBJrC1i2QMZ8wGDO2Gfrvq0Pn7/DV3V10DUKLQlRXLMEaR5BnJYjNRbWi97Mv4eFo
fZGONIIZyUUzGfJwgOS5pGl2Sjjg35NzAmqKX34rDyNpq7yKZnaciZwX/DhUe74bZMHYpbo1EBat
KYRpsXbrlQ+/IoCbIwSKjEkUEuqu7RuUyNgHUEsDBBQAAgAIAPN6ZEZ7220zIwEAAJQCAABxABwA
c3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuOF9MaXRlcmFscy83
LjguNV9SZWd1bGFyX0V4cHJlc3Npb25fTGl0ZXJhbHMvUzcuOC41X0EzLjFfVDgtZGlmZi50eHRV
VAkAA/qT91T6k/dUdXgLAAEE9QEAAARQAAAA1ZCxTsNADIb3PIW3DOFyrShtKUtKCQgRKGqALkiR
SRx04nqp7nwofXuSQoUYEROLLdu//H+2EALkU6P9hpy8QEaZrnO5ppcbxV/p3CtdyRVpQkdS467x
LJgcC0vOa3bSbT0b9SYXjakbu0FTkhxMioxaVaIuuvY7GVaNcXIST4tMMVnU+yI+KVb06jXaIm23
3ULXyb4V+adkfhwPi4epoHZLJVMVc8tBFEX/CB1L9qj34EkCYng0gqgPSRKIxfIuX2Yp3KZ5Pr9K
Z6CVIZiMZ5DvDGObWtvYGTyaw/2gqp6qVmQhfPaDwfg0jCE9TMOzELDuOOAdLVRUdozYHxEH0Z+8
Rr90g59PCCCAy/l1Bs6XZfev2mu9u0frehcHpmFwxMEHUEsDBBQAAgAIAPN6ZEaImjDBmAAAAK4A
AAB1ABwAc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuOF9MaXRl
cmFscy83LjguNV9SZWd1bGFyX0V4cHJlc3Npb25fTGl0ZXJhbHMvUzcuOC41X0EzLjFfVDgtZXhw
ZWN0ZWQudHh0VVQJAAP6k/dU+pP3VHV4CwABBPUBAAAEUAAAADXNQQuCMBQA4Pt+xbvtNoxIzU4i
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
dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuOF9MaXRlcmFscy83Ljgu
NV9SZWd1bGFyX0V4cHJlc3Npb25fTGl0ZXJhbHMvUzcuOC41X0EzLjFfVDktZGlmZi50eHRVVAkA
A/uT91T7k/dUdXgLAAEE9QEAAARQAAAA1ZCxTsNADIb3PIW3DOFyrSgtlCWlDQgRKGqALkiRSRx0
4nqp7nwofXuSQoUYEROLLdu//H+2EALkU6P9hpxcIKNM17lc08uN4q904ZWu5Io0oSOpcdd4FkyO
hSXnNTvptp6NepPzxtSN3aApSQ4mRUatKlEXXfudDKvGODmJT4tMMVnU+yI+KVb06jXaIm233ULX
yb4V+adkdhwPi4czQe2WSqYq5paDKIr+ETqW7FHvwZMExPBoBFEfkiQQ8+VdvsxSuE3zfHaVTkEr
QzAZTyHfGcY2tbaxU3g0h/tBVT1VrchC+OwHg/EijCE9TMPzELDuOOAdLVRUdozYHxEH0Z+8Rr90
g59PCCCAy9l1Bs6XZfev2mu9u0frehcHpmFwxMEHUEsDBBQAAgAIAPR6ZEbOQiGLmAAAAK4AAAB1
ABwAc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuOF9MaXRlcmFs
cy83LjguNV9SZWd1bGFyX0V4cHJlc3Npb25fTGl0ZXJhbHMvUzcuOC41X0EzLjFfVDktZXhwZWN0
ZWQudHh0VVQJAAP7k/dU+5P3VHV4CwABBPUBAAAEUAAAADXNQQuCMBQA4Pt+xbvtNoxIy05irwg0
ha1bEGM+YTBmbDP031eHzt/hq7ub7BqEFqWsLliCs56gyEuQq096wRCmUMLd0/Iik2gAO5BPdrQU
gD/mLMtPXAD+lR856DF98a0DDGScDjrZyQsmC7EXu2e1FZunOjB2rq4NxNkYinGcnVt7HeIviOCn
BJESYwqlgrpr+wYVMvYBUEsDBBQAAgAIAPR6ZEZCcON5EggAAEUaAAB5ABwAc3B1dG5pay9Db25m
b3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuOF9MaXRlcmFscy83LjguNV9SZWd1bGFy
X0V4cHJlc3Npb25fTGl0ZXJhbHMvUzcuOC41X0EzLjFfVDktcHJldHR5LWRpZmYuaHRtbFVUCQAD
+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
+6Z0eTyizvp97+U3AEcfc1oi8gDkNL8dHeSgMGVWUH08OHQkl8sheALGlw0pqBF1mW+ygOeLTkEg
+8vl3S8/r395XDk/rdbrD9+t5mqy8+5m7qz3AGe3KgoZrP/I4OCtmyISSUPHBHB+cwHk9c9yMLi5
V7ees7JS6nmhfjuaHbfQDMOpDdygjm2ewQRBBMawl37bQaq/bjgjdNJqJyzC3mDer7faLRDScuzc
+vL6/zVhraxcLs2wkf3LwcsTOFG+7oNX7X/9BtNf95u+ma5tC3wdtNEboI36of1vwYzfAGbcD+bh
ww+PQPxhCPUuLind/yr/jAOByIGEVTvxNdHTuqj6D/VS/fXov1BLAwQKAAAAAADtemRGAAAAAAAA
AAAAAAAAIQAcAHNwdXRuaWsvQ29uZm9ybWFuY2UvMTJfU3RhdGVtZW50L1VUCQAD7pP3VECU91R1
eAsAAQT1AQAABFAAAABQSwMECgAAAAAA7XpkRgAAAAAAAAAAAAAAADwAHABzcHV0bmlrL0NvbmZv
cm1hbmNlLzEyX1N0YXRlbWVudC8xMi4xMV9UaGVfc3dpdGNoX1N0YXRlbWVudC9VVAkAA+6T91RA
lPdUdXgLAAEE9QEAAARQAAAAUEsDBBQAAgAIAO16ZEaVOv4YlAAAAK8AAABTABwAc3B1dG5pay9D
b25mb3JtYW5jZS8xMl9TdGF0ZW1lbnQvMTIuMTFfVGhlX3N3aXRjaF9TdGF0ZW1lbnQvUzEyLjEx
X0EzX1Q1LWFjdHVhbC50eHRVVAkAA+2T91Ttk/dUdXgLAAEE9QEAAARQAAAARcu9CoMwFIbhPVfx
bdmk9geKm0joolU46SypHtuAJBIj1aH33i6l2wsPb1FfqS4VKkWUX1SG0TrGeZeBNhfNqkLwIcPN
8TpxF7mH7dlFO1gOOEIGnpcxygTq5/ItET3Y9TC4+36DH74l55eN3VMmgtJ9kqZtfmj1SYgmJ/rP
kwmzdQ8Mxo5LYCG0Io2irppSaSXEB1BLAwQUAAIACADtemRGyXSPowUBAABZAgAAUQAcAHNwdXRu
aWsvQ29uZm9ybWFuY2UvMTJfU3RhdGVtZW50LzEyLjExX1RoZV9zd2l0Y2hfU3RhdGVtZW50L1Mx
Mi4xMV9BM19UNS1kaWZmLnR4dFVUCQAD7ZP3VO6T91R1eAsAAQT1AQAABFAAAADNkD9PwzAQxfd8
itsyBMcEioQypZSIgT9FuNAxcpMLtXDsyD6LdOC7E0grOsPCcndPT6f3u2OMAX+xOnTo+bUkycu1
4Gvc3Crat6ugdMOfUKP0yLXc2UCM0BNz6IMmz30fyKg3vrCmta6TpkaenVWCJGGHhkaRZlm12mLl
3xXV2yNLTN78vFpdMBx6rAmblAaKkiT5R2iypiD1N1hRAMtOZpB8laKI2GL5IJZ3JdyXQsxvyhy0
MgiXpzmInSE5lM5Zl8OzOdwHqhkDVKvQQTyhximUBzf+iIEsoGlAwsY2O7DtOMUTYZxGyZ8SZ7/K
hON3RBDB41yIn/1eOq/MK7RS6eAw+gRQSwMEFAACAAgA7XpkRougBvOSAAAArQAAAFUAHABzcHV0
bmlrL0NvbmZvcm1hbmNlLzEyX1N0YXRlbWVudC8xMi4xMV9UaGVfc3dpdGNoX1N0YXRlbWVudC9T
MTIuMTFfQTNfVDUtZXhwZWN0ZWQudHh0VVQJAAPtk/dU7ZP3VHV4CwABBPUBAAAEUAAAAEXLsQrC
MBCA4T1PcVu2YhVBupVyuLS2cHGW2Fz1oCQlTbEdfHddxO2Hj79qL9TWCA0SlWcsYBTPcNoVQJtP
dsUYQyzg6nmduE/sQBz7JINwBB15XsakM8Cf6reGFIC9Awv34DYIw7f0/JLUP3WmKN9neX4rDzdz
VKorif7zZOMs/gGDlXGJrJRBMlC1TVejQaU+UEsDBBQAAgAIAO16ZEYc9S/F8gcAADoaAABZABwA
c3B1dG5pay9Db25mb3JtYW5jZS8xMl9TdGF0ZW1lbnQvMTIuMTFfVGhlX3N3aXRjaF9TdGF0ZW1l
bnQvUzEyLjExX0EzX1Q1LXByZXR0eS1kaWZmLmh0bWxVVAkAA+6T91Tuk/dUdXgLAAEE9QEAAARQ
AAAAvVlrb+M2Fv2eXyEkaAMUkWTH9qztZLyYSZxdYPtCPW0/BpREWZxQopakYmfa/ve9fMmSLDlZ
zGInmOjBS/Lc17mXym0mc7o6u80wSuCSY4m8OENcYPn+spKpP7+E10K+ULw6W1JSPF15y2ciiMSJ
98eZB/8k3ks/wTHjSBJWLL2CFfhGD0WMJ5j7EZOS5UtvXO69BO5xcnP215lZzi4SM8r40rsYTRZ6
LHggFN+TNLXjEYqftpxVReI70XSufpobmR0EoyTxLpIkMWMpK6SfopzQl6WXs4KJEsUWYI74lgDk
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
AAAAAAAAAAAAAAA7ABwAc3B1dG5pay9Db25mb3JtYW5jZS8xMl9TdGF0ZW1lbnQvMTIuNl9JdGVy
YXRpb25fU3RhdGVtZW50cy9VVAkAA+6T91RAlPdUdXgLAAEE9QEAAARQAAAAUEsDBAoAAAAAAO16
ZEYAAAAAAAAAAAAAAABUABwAc3B1dG5pay9Db25mb3JtYW5jZS8xMl9TdGF0ZW1lbnQvMTIuNl9J
dGVyYXRpb25fU3RhdGVtZW50cy8xMi42LjNfVGhlX2Zvcl9TdGF0ZW1lbnQvVVQJAAPuk/dUQJT3
VHV4CwABBPUBAAAEUAAAAFBLAwQUAAIACADtemRGUqUW0pgAAAC5AAAAbgAcAHNwdXRuaWsvQ29u
Zm9ybWFuY2UvMTJfU3RhdGVtZW50LzEyLjZfSXRlcmF0aW9uX1N0YXRlbWVudHMvMTIuNi4zX1Ro
ZV9mb3JfU3RhdGVtZW50L1MxMi42LjNfQTguMV9UMy1hY3R1YWwudHh0VVQJAAPuk/dU7pP3VHV4
CwABBPUBAAAEUAAAAEXMsQrCMBCA4T1PcVu2YK1I6VbkcGltIXEuwV41EJNwRm3fXhzE+ef7D/1J
9y1Ch1o3R6zBu0BQbWrQa8h2QebINZwDLYkumSZwE4XsZkcMO5AuTLRIBfjLFmQtYY7ex7cLV8g3
gsQxEecVgr0TyJdlqYQutmqvyrGpVDGaUoih0fr/SZYfXz9b559MQhjUBg59N7RoUIgPUEsDBBQA
AgAIAO16ZEbW0BlGFwEAAKACAABsABwAc3B1dG5pay9Db25mb3JtYW5jZS8xMl9TdGF0ZW1lbnQv
MTIuNl9JdGVyYXRpb25fU3RhdGVtZW50cy8xMi42LjNfVGhlX2Zvcl9TdGF0ZW1lbnQvUzEyLjYu
M19BOC4xX1QzLWRpZmYudHh0VVQJAAPuk/dU7pP3VHV4CwABBPUBAAAEUAAAANWQT0/CQBDF7/0U
c+uhbleEGNJTERtj/INxQY7NSKeycbvb7E61fHuBQDBeOXmZyeSXee/NCCFAvjnTNRTkLTLKYqnk
kt4fNB/aTadNJV/JEAaSBjeuY8EUWHgKneEgQ9ux1Z9y6mztfIN2RXJwVSpGpoYsb4f0urxn8sja
2RMIe5IOy/mayu3qrxV1IJNxOijnQ0F9SyumKuWeoyRJ/kdqXHGHZp85z0EMLkaQ7EqeR2I6e1az
xwKeCqUmd0UGRluC8WUGamMZ+8J75zNY2OPpoKuth641eYi1raiPUyiOECHOYqidMe5b2w/gNUHr
XUueN2CxIYi/0MdplJxlPDrHGv78J4IIXiZKnaRa9GEnUaM2nafoB1BLAwQUAAIACADtemRGuyHj
mZcAAAC3AAAAcAAcAHNwdXRuaWsvQ29uZm9ybWFuY2UvMTJfU3RhdGVtZW50LzEyLjZfSXRlcmF0
aW9uX1N0YXRlbWVudHMvMTIuNi4zX1RoZV9mb3JfU3RhdGVtZW50L1MxMi42LjNfQTguMV9UMy1l
eHBlY3RlZC50eHRVVAkAA+6T91Tuk/dUdXgLAAEE9QEAAARQAAAARcyxCsIwEIDhPU9xW7ZgLUjJ
VkpwaW3h4lyCvWogpuGM2r69OIjzz/c3/Qn71kBnEOuj0RB8JKh2GnCL2a2GeWEN50hrokumCfxE
MfvZE4P0caJVKjC/6EBqCfMSwvL28Qr5RpB4ScR5g+juBPLlWCqBxV4dVDnWlSpGWwox1Ij/T3L8
+PrZ+fBkEsIatND03dAaa4T4AFBLAwQUAAIACADtemRGRMxAMgQIAABmGgAAdAAcAHNwdXRuaWsv
Q29uZm9ybWFuY2UvMTJfU3RhdGVtZW50LzEyLjZfSXRlcmF0aW9uX1N0YXRlbWVudHMvMTIuNi4z
X1RoZV9mb3JfU3RhdGVtZW50L1MxMi42LjNfQTguMV9UMy1wcmV0dHktZGlmZi5odG1sVVQJAAPu
k/dU7pP3VHV4CwABBPUBAAAEUAAAAMVZa2/juBX9nl8hJOgGWESSHdupY2dczCROW+wT9bT7MaAk
yuKEElWSSuzZ9r/38iVLsuSkmAKdYKIHL8lzX+deKneZzOnq7C7DKIFLjiXy4gxxgeWHy0qm/vwS
Xgu5p3h1tqCkeL7yFi9EEIkT7/czD/5JvJN+gmPGkSSsWHgFK/BSD0WMJ5j7EZOS5QtvXO68BO5x
sjz795lZzi4SM8r4wrsYTW71WPBIKH4gaWrHIxQ/bzmrisR3oulc/TQ3MjsIRkniXSRJYsZSVkg/
RTmh+4WXs4KJEsUWYI74lgDkMc69kXlVMlBO68ExBY1esAaUjTtIJ5NJz/oCFcIXmJO0MSjIV6z3
aG7qU5zKhTcKZu59QkRJESxCCrCMRfhKEpnB5NHoDxYfShJSbOuZBpt1jbpre8fCJUUGoGQtnrEX
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
StlwNmVpztPlUxuy8+thr5zhSSfsWCJAeZOQUDjU1pP6Cm9Pj/UOSQ/g1XMPOzkilaiFjdlj1EtH
CYY3WgoNzHUCYyxZP6/zy0Xs86l8Ra10s60PxTSgvCqD/bFIFbdZZ4tambW4XpU1luhOE3kiRFHz
tA4GklNmPW3VuuAb4oDgx6q4D8b15xLiO18Oy9iOtmZXb4ag2l2xspj1tNnIyHOtuq4M1sV500Od
X+pT5jsv2UYC0AomrSN1/vDWWSyRKp1C7Ejn7b68vNo305kAyNaQqXsWlvVr4y949wFvgt71h2Hw
TOoH4+fF5H/51NaNwplbWdKbWiKBSoTWmUDl2BqxZhj/OAbbXkH+NGZf3QaACOZy1qKPE5PztLKT
L85jryxkEtRhwyxlg92oWwfQmD71a1MhqXUD1rvcFmdGGO6EG6+PLyS2r30NXmQKxfI9KZuDtusb
eiqq+ccDhp3CGBMRQwVbCMq2ZG25VRJj8Q6u1u2K2k8GibBkyXvy0QbRRog7DOG9F9s9cu8C1vHW
J3fbvi72+TRu32T+3GVLk9XCs5E04zOOLehsOqeyvA0bm95mcODliQ45UzQV3KrSsfLnU0nn4WMh
mJfo18iSgmF6FJMC25g3qnjHx7JNXkskhE9t06zfpGytIjwrQwM7dLb3j9jhKZvotzc9tjSUjZ+s
ysEG5/oL82Is72LM+qlPUWrTyn1KB00YiSIts+PO+monYI9gpNmdWusg9fnp/fE5f5+lt7G/DyHU
pvT2z0UnhumDdL6GbT7sQP11gUqWH/3lIU7KsVcq4Vxlwxqv7XwKjC4rswnnkP+qBKukZHmLKNVr
uy7rcsH29gOzbUreOG3HOzy3iZkY+vBxgyHXoknd5b7GZCh60alJMIVB3r9eHqLO5l2eYAls3eWg
Wg9NYcqZDmOJVkD+H++gReflf46Xv2gRIOG89fapg9VFCvFII3KR52HT/tmCk2z61jeS6HFTknH4
n8PPP4jjxcqMNfRB0VN8JoskxSrfWALP2Btd8qV+QZ4JUPAqLzu7y0M/L5Ii4dI1p27BbabLTRo7
UfJperYgkXIKMbnbNT462Q3ZYl2msbmnWrbx+QStreTZRds+7jYG89qPl4d0zTwrfa2r/tELB2fy
FFnlb6B054k4UyeJaKP2OxcqO4ls3ZNNAn55jkXtt4KINY8723kaNnlx/I9pBT6MUPZIOe4wJIg4
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
A3aJ91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACADXdGRG/R8O8xcBAAD0AQAAKQAYAAAAAAAB
AAAApIEj7QEAZmFzdC9ldmVudHMvbWVzc2FnZS1jaGFubmVsLWdjLTMtZGlmZi50eHRVVAUAA3aJ
91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACADXdGRG3cWxEYcAAADEAAAALQAYAAAAAAABAAAA
pIGd7gEAZmFzdC9ldmVudHMvbWVzc2FnZS1jaGFubmVsLWdjLTMtZXhwZWN0ZWQudHh0VVQFAAN2
ifdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA2HRkRqgkbeQVCAAAFBwAADEAGAAAAAAAAQAA
AKSBi+8BAGZhc3QvZXZlbnRzL21lc3NhZ2UtY2hhbm5lbC1nYy0zLXByZXR0eS1kaWZmLmh0bWxV
VAUAA3eJ91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACADpdGRGBzWzhIYAAACnAAAAKwAYAAAA
AAABAAAApIEL+AEAZmFzdC9ldmVudHMvbWVzc2FnZS1jaGFubmVsLWdjLTQtYWN0dWFsLnR4dFVU
BQADlYn3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAOl0ZEZCCnBUCwEAAPMBAAApABgAAAAA
AAEAAACkgfb4AQBmYXN0L2V2ZW50cy9tZXNzYWdlLWNoYW5uZWwtZ2MtNC1kaWZmLnR4dFVUBQAD
lYn3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAOl0ZEZ5Ub4JfQAAAMMAAAAtABgAAAAAAAEA
AACkgWT6AQBmYXN0L2V2ZW50cy9tZXNzYWdlLWNoYW5uZWwtZ2MtNC1leHBlY3RlZC50eHRVVAUA
A5WJ91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACADpdGRGIyCncwcIAAATHAAAMQAYAAAAAAAB
AAAApIFI+wEAZmFzdC9ldmVudHMvbWVzc2FnZS1jaGFubmVsLWdjLTQtcHJldHR5LWRpZmYuaHRt
bFVUBQADlon3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIABl1ZEaVneDnhgAAAJ8AAAAjABgA
AAAAAAEAAACkgboDAgBmYXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQtYWN0dWFsLnR4dFVUBQAD8on3
VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAPh0ZEbVi71hxwAAAFYBAAApABgAAAAAAAEAAACk
gZ0EAgBmYXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQtY2xvbmUtYWN0dWFsLnR4dFVUBQADtIn3VHV4
CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAPh0ZEa+NQNyaQEAAO8CAAAnABgAAAAAAAEAAACkgccF
AgBmYXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQtY2xvbmUtZGlmZi50eHRVVAUAA7SJ91R1eAsAAQT1
AQAABFAAAABQSwECHgMUAAIACAD4dGRG7hCC79gAAACwAQAAKwAYAAAAAAABAAAApIGRBwIAZmFz
dC9ldmVudHMvbWVzc2FnZS1wb3J0LWNsb25lLWV4cGVjdGVkLnR4dFVUBQADtIn3VHV4CwABBPUB
AAAEUAAAAFBLAQIeAxQAAgAIAPh0ZEbS7Ej5hQgAANUfAAAvABgAAAAAAAEAAACkgc4IAgBmYXN0
L2V2ZW50cy9tZXNzYWdlLXBvcnQtY2xvbmUtcHJldHR5LWRpZmYuaHRtbFVUBQADtIn3VHV4CwAB
BPUBAAAEUAAAAFBLAQIeAxQAAgAIABl1ZEa5fC9hNgEAALACAAAhABgAAAAAAAEAAACkgbwRAgBm
YXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQtZGlmZi50eHRVVAUAA/KJ91R1eAsAAQT1AQAABFAAAABQ
SwECHgMUAAIACAAZdWRGefyKeq4AAACGAQAAJQAYAAAAAAABAAAApIFNEwIAZmFzdC9ldmVudHMv
bWVzc2FnZS1wb3J0LWV4cGVjdGVkLnR4dFVUBQAD8on3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQA
AgAIAAp1ZEadZo94hQEAAMoEAAApABgAAAAAAAEAAACkgVoUAgBmYXN0L2V2ZW50cy9tZXNzYWdl
LXBvcnQtbXVsdGktYWN0dWFsLnR4dFVUBQAD04n3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAI
AAp1ZEYAh9HeUAIAAB4GAAAnABgAAAAAAAEAAACkgUIWAgBmYXN0L2V2ZW50cy9tZXNzYWdlLXBv
cnQtbXVsdGktZGlmZi50eHRVVAUAA9OJ91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAAKdWRG
++cRFP0BAABcBwAAKwAYAAAAAAABAAAApIHzGAIAZmFzdC9ldmVudHMvbWVzc2FnZS1wb3J0LW11
bHRpLWV4cGVjdGVkLnR4dFVUBQAD04n3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAAp1ZEbv
kpY3mgkAAPsoAAAvABgAAAAAAAEAAACkgVUbAgBmYXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQtbXVs
dGktcHJldHR5LWRpZmYuaHRtbFVUBQAD04n3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIABl1
ZEbSBuiIWwgAAC0iAAApABgAAAAAAAEAAACkgVglAgBmYXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQt
cHJldHR5LWRpZmYuaHRtbFVUBQAD8on3VHV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAANN0ZEYA
AAAAAAAAAAAAAAANABgAAAAAAAAAEADtQRYuAgBmYXN0L2hpc3RvcnkvVVQFAANuifdUdXgLAAEE
9QEAAARQAAAAUEsBAh4DFAACAAgA03RkRiG2L7HCAAAACwEAADsAGAAAAAAAAQAAAKSBXS4CAGZh
c3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5vdGlmaWNhdGlvbi1zdXNwZW5kYWJsZS1hY3R1YWwudHh0
VVQFAANuifdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA03RkRkk63LJ1AQAAxgIAADkAGAAA
AAAAAQAAAKSBlC8CAGZhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5vdGlmaWNhdGlvbi1zdXNwZW5k
YWJsZS1kaWZmLnR4dFVUBQADbon3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIANN0ZEaVZY45
2wAAAG8BAAA9ABgAAAAAAAEAAACkgXwxAgBmYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1ub3RpZmlj
YXRpb24tc3VzcGVuZGFibGUtZXhwZWN0ZWQudHh0VVQFAANuifdUdXgLAAEE9QEAAARQAAAAUEsB
Ah4DFAACAAgA03RkRohP4gamCAAAxiAAAEEAGAAAAAAAAQAAAKSBzjICAGZhc3QvaGlzdG9yeS9w
YWdlLWNhY2hlLW5vdGlmaWNhdGlvbi1zdXNwZW5kYWJsZS1wcmV0dHktZGlmZi5odG1sVVQFAANu
ifdUdXgLAAEE9QEAAARQAAAAUEsBAh4DCgAAAAAAynRkRgAAAAAAAAAAAAAAAAwAGAAAAAAAAAAQ
AO1B7zsCAGZhc3QvaW1hZ2VzL1VUBQADXIn3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAMR6
ZEYhj704MgAAADMAAAAsABgAAAAAAAEAAACkgTU8AgBmYXN0L2ltYWdlcy9wZGYtYXMtaW1hZ2Ut
Y3JvcC1ib3gtc3RkZXJyLnR4dFVUBQADoJP3VHV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAANR0
ZEYAAAAAAAAAAAAAAAAMABgAAAAAAAAAEADtQc08AgBmYXN0L2xvYWRlci9VVAUAA2+J91R1eAsA
AQT1AQAABFAAAABQSwECHgMUAAIACADUdGRGlxAOH50AAADBAAAAOQAYAAAAAAABAAAApIETPQIA
ZmFzdC9sb2FkZXIvY2hpbGQtZnJhbWUtYWRkLWFmdGVyLWJhY2stZm9yd2FyZC1hY3R1YWwudHh0
VVQFAANvifdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA1HRkRsc/YBNMAQAAXAIAADcAGAAA
AAAAAQAAAKSBIz4CAGZhc3QvbG9hZGVyL2NoaWxkLWZyYW1lLWFkZC1hZnRlci1iYWNrLWZvcndh
cmQtZGlmZi50eHRVVAUAA2+J91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACADUdGRGGvksjGoA
AACoAAAAOwAYAAAAAAABAAAApIHgPwIAZmFzdC9sb2FkZXIvY2hpbGQtZnJhbWUtYWRkLWFmdGVy
LWJhY2stZm9yd2FyZC1leHBlY3RlZC50eHRVVAUAA2+J91R1eAsAAQT1AQAABFAAAABQSwECHgMU
AAIACADUdGRGs0LFJrsIAAAqIAAAPwAYAAAAAAABAAAApIG/QAIAZmFzdC9sb2FkZXIvY2hpbGQt
ZnJhbWUtYWRkLWFmdGVyLWJhY2stZm9yd2FyZC1wcmV0dHktZGlmZi5odG1sVVQFAANvifdUdXgL
AAEE9QEAAARQAAAAUEsBAh4DCgAAAAAAF3VkRgAAAAAAAAAAAAAAAA0AGAAAAAAAAAAQAO1B80kC
AGZhc3Qvd29ya2Vycy9VVAUAA+6J91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACADndGRGMwxR
y2QBAAADAwAAMQAYAAAAAAABAAAApIE6SgIAZmFzdC93b3JrZXJzL3dvcmtlci1jb250ZXh0LW11
bHRpLXBvcnQtYWN0dWFsLnR4dFVUBQADkYn3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAOd0
ZEaeEvqocQEAAKICAAAvABgAAAAAAAEAAACkgQlMAgBmYXN0L3dvcmtlcnMvd29ya2VyLWNvbnRl
eHQtbXVsdGktcG9ydC1kaWZmLnR4dFVUBQADkYn3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAI
AOd0ZEZlh3q+RgEAAN4CAAAzABgAAAAAAAEAAACkgeNNAgBmYXN0L3dvcmtlcnMvd29ya2VyLWNv
bnRleHQtbXVsdGktcG9ydC1leHBlY3RlZC50eHRVVAUAA5GJ91R1eAsAAQT1AQAABFAAAABQSwEC
HgMUAAIACADndGRGHCgeM3oIAAB3HQAANwAYAAAAAAABAAAApIGWTwIAZmFzdC93b3JrZXJzL3dv
cmtlci1jb250ZXh0LW11bHRpLXBvcnQtcHJldHR5LWRpZmYuaHRtbFVUBQADkYn3VHV4CwABBPUB
AAAEUAAAAFBLAQIeAxQAAgAIAAh1ZEYkLK2KzgAAAE0BAAAqABgAAAAAAAEAAACkgYFYAgBmYXN0
L3dvcmtlcnMvd29ya2VyLW1lc3NhZ2Vwb3J0LWFjdHVhbC50eHRVVAUAA8+J91R1eAsAAQT1AQAA
BFAAAABQSwECHgMUAAIACAAIdWRGe5D4QUABAABaAgAAKAAYAAAAAAABAAAApIGzWQIAZmFzdC93
b3JrZXJzL3dvcmtlci1tZXNzYWdlcG9ydC1kaWZmLnR4dFVUBQADz4n3VHV4CwABBPUBAAAEUAAA
AFBLAQIeAxQAAgAIAAh1ZEYBPkTZtwAAADYBAAAsABgAAAAAAAEAAACkgVVbAgBmYXN0L3dvcmtl
cnMvd29ya2VyLW1lc3NhZ2Vwb3J0LWV4cGVjdGVkLnR4dFVUBQADz4n3VHV4CwABBPUBAAAEUAAA
AFBLAQIeAxQAAgAIAPZ0ZEZ7Y5g/dwAAAIkAAAAtABgAAAAAAAEAAACkgXJcAgBmYXN0L3dvcmtl
cnMvd29ya2VyLW1lc3NhZ2Vwb3J0LWdjLWFjdHVhbC50eHRVVAUAA7CJ91R1eAsAAQT1AQAABFAA
AABQSwECHgMUAAIACAD2dGRG6eP2ku4AAACnAQAAKwAYAAAAAAABAAAApIFQXQIAZmFzdC93b3Jr
ZXJzL3dvcmtlci1tZXNzYWdlcG9ydC1nYy1kaWZmLnR4dFVUBQADsIn3VHV4CwABBPUBAAAEUAAA
AFBLAQIeAxQAAgAIAPZ0ZEaZYUzcZgAAAHUAAAAvABgAAAAAAAEAAACkgaNeAgBmYXN0L3dvcmtl
cnMvd29ya2VyLW1lc3NhZ2Vwb3J0LWdjLWV4cGVjdGVkLnR4dFVUBQADsIn3VHV4CwABBPUBAAAE
UAAAAFBLAQIeAxQAAgAIAPZ0ZEZyLCi04QcAALkaAAAzABgAAAAAAAEAAACkgXJfAgBmYXN0L3dv
cmtlcnMvd29ya2VyLW1lc3NhZ2Vwb3J0LWdjLXByZXR0eS1kaWZmLmh0bWxVVAUAA7CJ91R1eAsA
AQT1AQAABFAAAABQSwECHgMUAAIACAAIdWRGDWn1dFsIAAAZHgAAMAAYAAAAAAABAAAApIHAZwIA
ZmFzdC93b3JrZXJzL3dvcmtlci1tZXNzYWdlcG9ydC1wcmV0dHktZGlmZi5odG1sVVQFAAPPifdU
dXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAF3VkRoamWgCPAQAArgMAACkAGAAAAAAAAQAAAKSB
hXACAGZhc3Qvd29ya2Vycy93b3JrZXItbXVsdGktcG9ydC1hY3R1YWwudHh0VVQFAAPtifdUdXgL
AAEE9QEAAARQAAAAUEsBAh4DFAACAAgAF3VkRuawhdBVAQAAggIAACcAGAAAAAAAAQAAAKSBd3IC
AGZhc3Qvd29ya2Vycy93b3JrZXItbXVsdGktcG9ydC1kaWZmLnR4dFVUBQAD7Yn3VHV4CwABBPUB
AAAEUAAAAFBLAQIeAxQAAgAIABd1ZEYtwnwdcQEAAIkDAAArABgAAAAAAAEAAACkgS10AgBmYXN0
L3dvcmtlcnMvd29ya2VyLW11bHRpLXBvcnQtZXhwZWN0ZWQudHh0VVQFAAPtifdUdXgLAAEE9QEA
AARQAAAAUEsBAh4DFAACAAgAF3VkRuh/z1leCAAAXx0AAC8AGAAAAAAAAQAAAKSBA3YCAGZhc3Qv
d29ya2Vycy93b3JrZXItbXVsdGktcG9ydC1wcmV0dHktZGlmZi5odG1sVVQFAAPuifdUdXgLAAEE
9QEAAARQAAAAUEsBAh4DCgAAAAAA1HRkRgAAAAAAAAAAAAAAAAkAGAAAAAAAAAAQAO1Byn4CAGZh
c3QveHNsL1VUBQADb4n3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAMt6ZEZy/WXyhQAAAOkA
AAAlABgAAAAAAAEAAACkgQ1/AgBmYXN0L3hzbC90cmFuc2Zvcm0teGhyLWRvYy1zdGRlcnIudHh0
VVQFAAOtk/dUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAy3pkRokfIf6XAAAAwAMAACcAGAAA
AAAAAQAAAKSB8X8CAGZhc3QveHNsL3hzbHQtYmFkLWltcG9ydC11cmktc3RkZXJyLnR4dFVUBQAD
rZP3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAMt6ZEbPj2YOUAAAAKAAAAAkABgAAAAAAAEA
AACkgemAAgBmYXN0L3hzbC94c2x0LWNvbnRlbnRUeXBlLXN0ZGVyci50eHRVVAUAA62T91R1eAsA
AQT1AQAABFAAAABQSwECHgMUAAIACADLemRGgUp3rUsAAACsAAAANAAYAAAAAAABAAAApIGXgQIA
ZmFzdC94c2wveHNsdC10cmFuc2Zvcm0tdG8tZnJhZ21lbnQtY3Jhc2gtc3RkZXJyLnR4dFVUBQAD
rpP3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIABh7ZEZ4G0EzPwIAAJMHAAARABgAAAAAAAEA
AACkgVCCAgBmdWxsX3Jlc3VsdHMuanNvblVUBQADP5T3VHV4CwABBPUBAAAEUAAAAFBLAQIeAwoA
AAAAAOJ0ZEYAAAAAAAAAAAAAAAAFABgAAAAAAAAAEADtQdqEAgBodHRwL1VUBQADiIn3VHV4CwAB
BPUBAAAEUAAAAFBLAQIeAwoAAAAAANN6ZEYAAAAAAAAAAAAAAAALABgAAAAAAAAAEADtQRmFAgBo
dHRwL3Rlc3RzL1VUBQADvpP3VHV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAAO10ZEYAAAAAAAAA
AAAAAAAQABgAAAAAAAAAEADtQV6FAgBodHRwL3Rlc3RzL21pc2MvVVQFAAOeifdUdXgLAAEE9QEA
AARQAAAAUEsBAh4DFAACAAgA5XpkRhU1NZJ6AAAAvAAAACoAGAAAAAAAAQAAAKSBqIUCAGh0dHAv
dGVzdHMvbWlzYy94c2x0LWJhZC1pbXBvcnQtc3RkZXJyLnR4dFVUBQAD3ZP3VHV4CwABBPUBAAAE
UAAAAFBLAQIeAwoAAAAAAOp0ZEYAAAAAAAAAAAAAAAAZABgAAAAAAAAAEADtQYaGAgBodHRwL3Rl
c3RzL25vdGlmaWNhdGlvbnMvVVQFAAOYifdUdXgLAAEE9QEAAARQAAAAUEsBAh4DCgAAAAAAGnVk
RgAAAAAAAAAAAAAAACAAGAAAAAAAAAAQAO1B2YYCAGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9s
ZWdhY3kvVVQFAAP0ifdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA6nRkRn5g82GmAAAA2wAA
ADYAGAAAAAAAAQAAAKSBM4cCAGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZG91Ymxl
LXNob3ctYWN0dWFsLnR4dFVUBQADmIn3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAOp0ZEYJ
Y0GyPAEAAEUCAAA0ABgAAAAAAAEAAACkgUmIAgBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVn
YWN5L2RvdWJsZS1zaG93LWRpZmYudHh0VVQFAAOYifdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAAC
AAgA6nRkRjF7U3awAAAA+gAAADgAGAAAAAAAAQAAAKSB84kCAGh0dHAvdGVzdHMvbm90aWZpY2F0
aW9ucy9sZWdhY3kvZG91YmxlLXNob3ctZXhwZWN0ZWQudHh0VVQFAAOYifdUdXgLAAEE9QEAAARQ
AAAAUEsBAh4DFAACAAgA6nRkRvoo7HZcCAAAGh8AADwAGAAAAAAAAQAAAKSBFYsCAGh0dHAvdGVz
dHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZG91YmxlLXNob3ctcHJldHR5LWRpZmYuaHRtbFVUBQAD
mIn3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAPp0ZEaq7SZV3AAAACABAAAxABgAAAAAAAEA
AACkgeeTAgBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L2V2ZW50cy1hY3R1YWwudHh0
VVQFAAO3ifdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA+nRkRlMh5ICBAQAA4QIAAC8AGAAA
AAAAAQAAAKSBLpUCAGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZXZlbnRzLWRpZmYu
dHh0VVQFAAO3ifdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA+nRkRonTbQLrAAAAjwEAADMA
GAAAAAAAAQAAAKSBGJcCAGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZXZlbnRzLWV4
cGVjdGVkLnR4dFVUBQADt4n3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAPp0ZEbI7Y9DowgA
AGkhAAA3ABgAAAAAAAEAAACkgXCYAgBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L2V2
ZW50cy1wcmV0dHktZGlmZi5odG1sVVQFAAO3ifdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA
C3VkRq9GtVIiAQAA5wEAAC8AGAAAAAAAAQAAAKSBhKECAGh0dHAvdGVzdHMvbm90aWZpY2F0aW9u
cy9sZWdhY3kvc2hvdy1hY3R1YWwudHh0VVQFAAPWifdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAAC
AAgAC3VkRsyfCOToAQAAfgQAAC0AGAAAAAAAAQAAAKSBD6MCAGh0dHAvdGVzdHMvbm90aWZpY2F0
aW9ucy9sZWdhY3kvc2hvdy1kaWZmLnR4dFVUBQAD1on3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQA
AgAIAAt1ZEYMSypkUQEAAGQDAAAxABgAAAAAAAEAAACkgV6lAgBodHRwL3Rlc3RzL25vdGlmaWNh
dGlvbnMvbGVnYWN5L3Nob3ctZXhwZWN0ZWQudHh0VVQFAAPWifdUdXgLAAEE9QEAAARQAAAAUEsB
Ah4DFAACAAgAC3VkRlwOmyQrCQAAnCUAADUAGAAAAAAAAQAAAKSBGqcCAGh0dHAvdGVzdHMvbm90
aWZpY2F0aW9ucy9sZWdhY3kvc2hvdy1wcmV0dHktZGlmZi5odG1sVVQFAAPWifdUdXgLAAEE9QEA
AARQAAAAUEsBAh4DFAACAAgAGnVkRvkLj1vOAAAAGgEAAD8AGAAAAAAAAQAAAKSBtLACAGh0dHAv
dGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvd2luZG93LXNob3ctb24tY2xpY2stYWN0dWFsLnR4
dFVUBQAD9In3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIABp1ZEakP8cBbAEAAK0CAAA9ABgA
AAAAAAEAAACkgfuxAgBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1zaG93
LW9uLWNsaWNrLWRpZmYudHh0VVQFAAP0ifdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAGnVk
Rriy9xHUAAAAUAEAAEEAGAAAAAAAAQAAAKSB3rMCAGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9s
ZWdhY3kvd2luZG93LXNob3ctb24tY2xpY2stZXhwZWN0ZWQudHh0VVQFAAP0ifdUdXgLAAEE9QEA
AARQAAAAUEsBAh4DFAACAAgAGnVkRivbWbOMCAAAeR8AAEUAGAAAAAAAAQAAAKSBLbUCAGh0dHAv
dGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvd2luZG93LXNob3ctb24tY2xpY2stcHJldHR5LWRp
ZmYuaHRtbFVUBQAD9In3VHV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAAON0ZEYAAAAAAAAAAAAA
AAAUABgAAAAAAAAAEADtQTi+AgBodHRwL3Rlc3RzL3NlY3VyaXR5L1VUBQADiYn3VHV4CwABBPUB
AAAEUAAAAFBLAQIeAwoAAAAAAON0ZEYAAAAAAAAAAAAAAAAqABgAAAAAAAAAEADtQYa+AgBodHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9VVAUAA4mJ91R1eAsAAQT1AQAA
BFAAAABQSwECHgMUAAIACADXemRGY6qsbIIAAACoAAAAQAAYAAAAAAABAAAApIHqvgIAaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLWFsbG93ZWQtc3RkZXJyLnR4
dFVUBQADxpP3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIANd6ZEZjqqxsggAAAKgAAABSABgA
AAAAAAEAAACkgea/AgBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS94
c2wtdW5hZmZlY3RlZC1ieS1zdHlsZS1zcmMtMi1zdGRlcnIudHh0VVQFAAPGk/dUdXgLAAEE9QEA
AARQAAAAUEsBAh4DFAACAAgA13pkRmBLZhCRAAAA+wEAAEUAGAAAAAAAAQAAAKSB9MACAGh0dHAv
dGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC14c2wtZG9jdW1lbnQtc2VjdXJpdHlPcmlnaW4tc3Rk
ZXJyLnR4dFVUBQADxZP3VHV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAANN6ZEYAAAAAAAAAAAAA
AAATABgAAAAAAAAAEADtQQTCAgBodHRwL3Rlc3RzL3dvcmtlcnMvVVQFAAO+k/dUdXgLAAEE9QEA
AARQAAAAUEsBAh4DFAACAAgA03pkRs+IMPUCAgAAdQYAADIAGAAAAAAAAQAAAKSBUcICAGh0dHAv
dGVzdHMvd29ya2Vycy93b3JrZXItaW1wb3J0U2NyaXB0cy1hY3R1YWwudHh0VVQFAAO+k/dUdXgL
AAEE9QEAAARQAAAAUEsBAh4DFAACAAgA03pkRn84PvpcAQAAIgMAADAAGAAAAAAAAQAAAKSBv8QC
AGh0dHAvdGVzdHMvd29ya2Vycy93b3JrZXItaW1wb3J0U2NyaXB0cy1kaWZmLnR4dFVUBQADvpP3
VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIANN6ZEbg01mZAAIAAHMGAAA0ABgAAAAAAAEAAACk
gYXGAgBodHRwL3Rlc3RzL3dvcmtlcnMvd29ya2VyLWltcG9ydFNjcmlwdHMtZXhwZWN0ZWQudHh0
VVQFAAO+k/dUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA03pkRvNKE05rCAAAGB0AADgAGAAA
AAAAAQAAAKSB88gCAGh0dHAvdGVzdHMvd29ya2Vycy93b3JrZXItaW1wb3J0U2NyaXB0cy1wcmV0
dHktZGlmZi5odG1sVVQFAAO+k/dUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAE3tkRuqKfEJh
BQAABQ8AAAoAGAAAAAAAAQAAAKSB0NECAGh0dHBkLmNvbmZVVAUAAzaU91R1eAsAAQT1AQAABFAA
AABQSwECHgMKAAAAAADkemRGAAAAAAAAAAAAAAAAAwAYAAAAAAAAABAA7UF11wIAanMvVVQFAAPc
k/dUdXgLAAEE9QEAAARQAAAAUEsBAh4DCgAAAAAA5XpkRgAAAAAAAAAAAAAAAAcAGAAAAAAAAAAQ
AO1BstcCAGpzL2RvbS9VVAUAA92T91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACADkemRGxP9G
NZEAAAC7AAAANQAYAAAAAAABAAAApIHz1wIAanMvZG9tL3BhcnNlLWVycm9yLWV4dGVybmFsLXNj
cmlwdC1pbi1ldmFsLWFjdHVhbC50eHRVVAUAA9yT91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIA
CADkemRGUukEqAIBAAAKAgAAMwAYAAAAAAABAAAApIHz2AIAanMvZG9tL3BhcnNlLWVycm9yLWV4
dGVybmFsLXNjcmlwdC1pbi1ldmFsLWRpZmYudHh0VVQFAAPck/dUdXgLAAEE9QEAAARQAAAAUEsB
Ah4DFAACAAgA5HpkRif2HFKPAAAAuQAAADcAGAAAAAAAAQAAAKSBYtoCAGpzL2RvbS9wYXJzZS1l
cnJvci1leHRlcm5hbC1zY3JpcHQtaW4tZXZhbC1leHBlY3RlZC50eHRVVAUAA9yT91R1eAsAAQT1
AQAABFAAAABQSwECHgMUAAIACADkemRGlvaGH9gHAADTGAAAOwAYAAAAAAABAAAApIFi2wIAanMv
ZG9tL3BhcnNlLWVycm9yLWV4dGVybmFsLXNjcmlwdC1pbi1ldmFsLXByZXR0eS1kaWZmLmh0bWxV
VAUAA9yT91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACADkemRGXM7KXZYAAADDAAAAPQAYAAAA
AAABAAAApIGv4wIAanMvZG9tL3BhcnNlLWVycm9yLWV4dGVybmFsLXNjcmlwdC1pbi1uZXctRnVu
Y3Rpb24tYWN0dWFsLnR4dFVUBQAD3JP3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAOR6ZEbf
H/FlCgEAACICAAA7ABgAAAAAAAEAAACkgbzkAgBqcy9kb20vcGFyc2UtZXJyb3ItZXh0ZXJuYWwt
c2NyaXB0LWluLW5ldy1GdW5jdGlvbi1kaWZmLnR4dFVUBQAD3JP3VHV4CwABBPUBAAAEUAAAAFBL
AQIeAxQAAgAIAOR6ZEbGtF0JlAAAAMEAAAA/ABgAAAAAAAEAAACkgTvmAgBqcy9kb20vcGFyc2Ut
ZXJyb3ItZXh0ZXJuYWwtc2NyaXB0LWluLW5ldy1GdW5jdGlvbi1leHBlY3RlZC50eHRVVAUAA9yT
91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACADlemRGUp0FSOEHAADjGAAAQwAYAAAAAAABAAAA
pIFI5wIAanMvZG9tL3BhcnNlLWVycm9yLWV4dGVybmFsLXNjcmlwdC1pbi1uZXctRnVuY3Rpb24t
cHJldHR5LWRpZmYuaHRtbFVUBQAD3ZP3VHV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAANx6ZEYA
AAAAAAAAAAAAAAAHABgAAAAAAAAAEADtQabvAgBqcy9rZGUvVVQFAAPQk/dUdXgLAAEE9QEAAARQ
AAAAUEsBAh4DFAACAAgA3HpkRnEzoSu1AAAA/gAAABsAGAAAAAAAAQAAAKSB5+8CAGpzL2tkZS9n
YXJiYWdlLW4tYWN0dWFsLnR4dFVUBQAD0JP3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIANx6
ZEbtsjXu9QAAAMEBAAAZABgAAAAAAAEAAACkgfHwAgBqcy9rZGUvZ2FyYmFnZS1uLWRpZmYudHh0
VVQFAAPQk/dUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA3HpkRr4U15ezAAAA/AAAAB0AGAAA
AAAAAQAAAKSBOfICAGpzL2tkZS9nYXJiYWdlLW4tZXhwZWN0ZWQudHh0VVQFAAPQk/dUdXgLAAEE
9QEAAARQAAAAUEsBAh4DFAACAAgA3HpkRiQ+Km/uBwAAzhkAACEAGAAAAAAAAQAAAKSBQ/MCAGpz
L2tkZS9nYXJiYWdlLW4tcHJldHR5LWRpZmYuaHRtbFVUBQAD0JP3VHV4CwABBPUBAAAEUAAAAFBL
AQIeAwoAAAAAABB1ZEYAAAAAAAAAAAAAAAAGABgAAAAAAAAAEADtQYz7AgBtZWRpYS9VVAUAA+CJ
91R1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAAAQdWRGAAAAAAAAAAAAAAAADAAYAAAAAAAAABAA
7UHM+wIAbWVkaWEvdHJhY2svVVQFAAPgifdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgABntk
RmmU0Y3wAAAAdwEAACoAGAAAAAAAAQAAAKSBEvwCAG1lZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQt
c3R5bGUtYWN0dWFsLnR4dFVUBQADG5T3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAAZ7ZEYN
f/iEnAEAAP4CAAAoABgAAAAAAAEAAACkgWb9AgBtZWRpYS90cmFjay90cmFjay1pbi1iYW5kLXN0
eWxlLWRpZmYudHh0VVQFAAMblPdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgABntkRgz65Oo2
AQAAMwIAACwAGAAAAAAAAQAAAKSBZP8CAG1lZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQtc3R5bGUt
ZXhwZWN0ZWQudHh0VVQFAAMblPdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgABntkRgZw1+XS
CAAA1yIAADAAGAAAAAAAAQAAAKSBAAEDAG1lZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQtc3R5bGUt
cHJldHR5LWRpZmYuaHRtbFVUBQADG5T3VHV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAAAx1ZEYA
AAAAAAAAAAAAAAAKABgAAAAAAAAAEADtQTwKAwBtZWRpYS9XM0MvVVQFAAPYifdUdXgLAAEE9QEA
AARQAAAAUEsBAh4DCgAAAAAADHVkRgAAAAAAAAAAAAAAABAAGAAAAAAAAAAQAO1BgAoDAG1lZGlh
L1czQy92aWRlby9VVAUAA9iJ91R1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAAAMdWRGAAAAAAAA
AAAAAAAAGwAYAAAAAAAAABAA7UHKCgMAbWVkaWEvVzNDL3ZpZGVvL3JlYWR5U3RhdGUvVVQFAAPY
ifdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgANnZkRsEdSf1VRwAAyC8BAEUAGAAAAAAAAQAA
AKSBHwsDAG1lZGlhL1czQy92aWRlby9yZWFkeVN0YXRlL3JlYWR5U3RhdGVfZHVyaW5nX2xvYWRl
ZGRhdGEtY3Jhc2gtbG9nLnR4dFVUBQADB4z3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAN16
ZEb+Rd/NSQIAAIMLAAArABgAAAAAAAEAAACkgfNSAwBweXdlYnNvY2tldC53cy5sb2ctMDRNYXIy
MDE1LTE1MjEwMi1lcnIudHh0VVQFAAPRk/dUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA3Xpk
RjZw1YsJAQAAjwIAACsAGAAAAAAAAQAAAKSBoVUDAHB5d2Vic29ja2V0LndzLmxvZy0wNE1hcjIw
MTUtMTUyMTAyLW91dC50eHRVVAUAA9GT91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAAYe2RG
eCzR4ZwmAACYpAAADAAYAAAAAAABAAAApIEPVwMAcmVzdWx0cy5odG1sVVQFAAM/lPdUdXgLAAEE
9QEAAARQAAAAUEsBAh4DCgAAAAAAFntkRgAAAAAAAAAAAAAAAAgAGAAAAAAAAAAQAO1B8X0DAHJl
dHJpZXMvVVQFAAM7lPdUdXgLAAEE9QEAAARQAAAAUEsBAh4DCgAAAAAAo3VkRgAAAAAAAAAAAAAA
AA0AGAAAAAAAAAAQAO1BM34DAHJldHJpZXMvZmFzdC9VVAUAA/KK91R1eAsAAQT1AQAABFAAAABQ
SwECHgMKAAAAAACDdWRGAAAAAAAAAAAAAAAAFAAYAAAAAAAAABAA7UF6fgMAcmV0cmllcy9mYXN0
L2V2ZW50cy9VVAUAA7WK91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACABCdWRGWCtPN4oAAACx
AAAAMwAYAAAAAAABAAAApIHIfgMAcmV0cmllcy9mYXN0L2V2ZW50cy9tZXNzYWdlLWNoYW5uZWwt
Z2MtMy1hY3R1YWwudHh0VVQFAAM8ivdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAQnVkRteJ
laMbAQAABAIAADEAGAAAAAAAAQAAAKSBv38DAHJldHJpZXMvZmFzdC9ldmVudHMvbWVzc2FnZS1j
aGFubmVsLWdjLTMtZGlmZi50eHRVVAUAAzyK91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACABC
dWRG3cWxEYcAAADEAAAANQAYAAAAAAABAAAApIFFgQMAcmV0cmllcy9mYXN0L2V2ZW50cy9tZXNz
YWdlLWNoYW5uZWwtZ2MtMy1leHBlY3RlZC50eHRVVAUAAzyK91R1eAsAAQT1AQAABFAAAABQSwEC
HgMUAAIACABCdWRGXkEykRoIAAAcHAAAOQAYAAAAAAABAAAApIE7ggMAcmV0cmllcy9mYXN0L2V2
ZW50cy9tZXNzYWdlLWNoYW5uZWwtZ2MtMy1wcmV0dHktZGlmZi5odG1sVVQFAAM8ivdUdXgLAAEE
9QEAAARQAAAAUEsBAh4DFAACAAgAUXVkRgc1s4SGAAAApwAAADMAGAAAAAAAAQAAAKSByIoDAHJl
dHJpZXMvZmFzdC9ldmVudHMvbWVzc2FnZS1jaGFubmVsLWdjLTQtYWN0dWFsLnR4dFVUBQADWor3
VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAFF1ZEY4xAKkEAEAAAMCAAAxABgAAAAAAAEAAACk
gbuLAwByZXRyaWVzL2Zhc3QvZXZlbnRzL21lc3NhZ2UtY2hhbm5lbC1nYy00LWRpZmYudHh0VVQF
AANaivdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAUXVkRnlRvgl9AAAAwwAAADUAGAAAAAAA
AQAAAKSBNo0DAHJldHJpZXMvZmFzdC9ldmVudHMvbWVzc2FnZS1jaGFubmVsLWdjLTQtZXhwZWN0
ZWQudHh0VVQFAANaivdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAUXVkRuFKYUYMCAAAGxwA
ADkAGAAAAAAAAQAAAKSBIo4DAHJldHJpZXMvZmFzdC9ldmVudHMvbWVzc2FnZS1jaGFubmVsLWdj
LTQtcHJldHR5LWRpZmYuaHRtbFVUBQADWor3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAIN1
ZEaVneDnhgAAAJ8AAAArABgAAAAAAAEAAACkgaGWAwByZXRyaWVzL2Zhc3QvZXZlbnRzL21lc3Nh
Z2UtcG9ydC1hY3R1YWwudHh0VVQFAAO1ivdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAYnVk
RtWLvWHHAAAAVgEAADEAGAAAAAAAAQAAAKSBjJcDAHJldHJpZXMvZmFzdC9ldmVudHMvbWVzc2Fn
ZS1wb3J0LWNsb25lLWFjdHVhbC50eHRVVAUAA3iK91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIA
CABidWRGPzKmyW0BAAD/AgAALwAYAAAAAAABAAAApIG+mAMAcmV0cmllcy9mYXN0L2V2ZW50cy9t
ZXNzYWdlLXBvcnQtY2xvbmUtZGlmZi50eHRVVAUAA3iK91R1eAsAAQT1AQAABFAAAABQSwECHgMU
AAIACABidWRG7hCC79gAAACwAQAAMwAYAAAAAAABAAAApIGUmgMAcmV0cmllcy9mYXN0L2V2ZW50
cy9tZXNzYWdlLXBvcnQtY2xvbmUtZXhwZWN0ZWQudHh0VVQFAAN4ivdUdXgLAAEE9QEAAARQAAAA
UEsBAh4DFAACAAgAY3VkRoaWw9CKCAAA3R8AADcAGAAAAAAAAQAAAKSB2ZsDAHJldHJpZXMvZmFz
dC9ldmVudHMvbWVzc2FnZS1wb3J0LWNsb25lLXByZXR0eS1kaWZmLmh0bWxVVAUAA3mK91R1eAsA
AQT1AQAABFAAAABQSwECHgMUAAIACACDdWRGdOROfjgBAADAAgAAKQAYAAAAAAABAAAApIHUpAMA
cmV0cmllcy9mYXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQtZGlmZi50eHRVVAUAA7WK91R1eAsAAQT1
AQAABFAAAABQSwECHgMUAAIACACDdWRGefyKeq4AAACGAQAALQAYAAAAAAABAAAApIFvpgMAcmV0
cmllcy9mYXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQtZXhwZWN0ZWQudHh0VVQFAAO1ivdUdXgLAAEE
9QEAAARQAAAAUEsBAh4DFAACAAgAcnVkRp1mj3iFAQAAygQAADEAGAAAAAAAAQAAAKSBhKcDAHJl
dHJpZXMvZmFzdC9ldmVudHMvbWVzc2FnZS1wb3J0LW11bHRpLWFjdHVhbC50eHRVVAUAA5eK91R1
eAsAAQT1AQAABFAAAABQSwECHgMUAAIACABydWRGOSJ+x1QCAAAuBgAALwAYAAAAAAABAAAApIF0
qQMAcmV0cmllcy9mYXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQtbXVsdGktZGlmZi50eHRVVAUAA5eK
91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACABydWRG++cRFP0BAABcBwAAMwAYAAAAAAABAAAA
pIExrAMAcmV0cmllcy9mYXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQtbXVsdGktZXhwZWN0ZWQudHh0
VVQFAAOXivdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAcnVkRt4t2YSfCQAAAykAADcAGAAA
AAAAAQAAAKSBm64DAHJldHJpZXMvZmFzdC9ldmVudHMvbWVzc2FnZS1wb3J0LW11bHRpLXByZXR0
eS1kaWZmLmh0bWxVVAUAA5eK91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACACDdWRGJShkIWAI
AAA1IgAAMQAYAAAAAAABAAAApIGruAMAcmV0cmllcy9mYXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQt
cHJldHR5LWRpZmYuaHRtbFVUBQADtYr3VHV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAAJJ1ZEYA
AAAAAAAAAAAAAAAVABgAAAAAAAAAEADtQXbBAwByZXRyaWVzL2Zhc3QvaGlzdG9yeS9VVAUAA9SK
91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACACSdWRGIbYvscIAAAALAQAAQwAYAAAAAAABAAAA
pIHFwQMAcmV0cmllcy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1ub3RpZmljYXRpb24tc3VzcGVu
ZGFibGUtYWN0dWFsLnR4dFVUBQAD1Ir3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAJJ1ZEa5
lrUAeQEAANYCAABBABgAAAAAAAEAAACkgQTDAwByZXRyaWVzL2Zhc3QvaGlzdG9yeS9wYWdlLWNh
Y2hlLW5vdGlmaWNhdGlvbi1zdXNwZW5kYWJsZS1kaWZmLnR4dFVUBQAD1Ir3VHV4CwABBPUBAAAE
UAAAAFBLAQIeAxQAAgAIAJJ1ZEaVZY452wAAAG8BAABFABgAAAAAAAEAAACkgfjEAwByZXRyaWVz
L2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5vdGlmaWNhdGlvbi1zdXNwZW5kYWJsZS1leHBlY3Rl
ZC50eHRVVAUAA9SK91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACACSdWRG5bpuAqwIAADOIAAA
SQAYAAAAAAABAAAApIFSxgMAcmV0cmllcy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1ub3RpZmlj
YXRpb24tc3VzcGVuZGFibGUtcHJldHR5LWRpZmYuaHRtbFVUBQAD1Ir3VHV4CwABBPUBAAAEUAAA
AFBLAQIeAwoAAAAAANN1ZEYAAAAAAAAAAAAAAAAVABgAAAAAAAAAEADtQYHPAwByZXRyaWVzL2Zh
c3Qvd29ya2Vycy9VVAUAA02L91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACACydWRGMwxRy2QB
AAADAwAAOQAYAAAAAAABAAAApIHQzwMAcmV0cmllcy9mYXN0L3dvcmtlcnMvd29ya2VyLWNvbnRl
eHQtbXVsdGktcG9ydC1hY3R1YWwudHh0VVQFAAMQi/dUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAAC
AAgAsnVkRtLDX5N0AQAAsgIAADcAGAAAAAAAAQAAAKSBp9EDAHJldHJpZXMvZmFzdC93b3JrZXJz
L3dvcmtlci1jb250ZXh0LW11bHRpLXBvcnQtZGlmZi50eHRVVAUAAxCL91R1eAsAAQT1AQAABFAA
AABQSwECHgMUAAIACACydWRGZYd6vkYBAADeAgAAOwAYAAAAAAABAAAApIGM0wMAcmV0cmllcy9m
YXN0L3dvcmtlcnMvd29ya2VyLWNvbnRleHQtbXVsdGktcG9ydC1leHBlY3RlZC50eHRVVAUAAxCL
91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACACzdWRGbkFvGn4IAAB/HQAAPwAYAAAAAAABAAAA
pIFH1QMAcmV0cmllcy9mYXN0L3dvcmtlcnMvd29ya2VyLWNvbnRleHQtbXVsdGktcG9ydC1wcmV0
dHktZGlmZi5odG1sVVQFAAMRi/dUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAxHVkRiQsrYrO
AAAATQEAADIAGAAAAAAAAQAAAKSBPt4DAHJldHJpZXMvZmFzdC93b3JrZXJzL3dvcmtlci1tZXNz
YWdlcG9ydC1hY3R1YWwudHh0VVQFAAMvi/dUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAxHVk
Rt6d7pRBAQAAagIAADAAGAAAAAAAAQAAAKSBeN8DAHJldHJpZXMvZmFzdC93b3JrZXJzL3dvcmtl
ci1tZXNzYWdlcG9ydC1kaWZmLnR4dFVUBQADL4v3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAI
AMR1ZEYBPkTZtwAAADYBAAA0ABgAAAAAAAEAAACkgSPhAwByZXRyaWVzL2Zhc3Qvd29ya2Vycy93
b3JrZXItbWVzc2FnZXBvcnQtZXhwZWN0ZWQudHh0VVQFAAMvi/dUdXgLAAEE9QEAAARQAAAAUEsB
Ah4DFAACAAgA03VkRntjmD93AAAAiQAAADUAGAAAAAAAAQAAAKSBSOIDAHJldHJpZXMvZmFzdC93
b3JrZXJzL3dvcmtlci1tZXNzYWdlcG9ydC1nYy1hY3R1YWwudHh0VVQFAANNi/dUdXgLAAEE9QEA
AARQAAAAUEsBAh4DFAACAAgA03VkRrNh38nzAAAAtwEAADMAGAAAAAAAAQAAAKSBLuMDAHJldHJp
ZXMvZmFzdC93b3JrZXJzL3dvcmtlci1tZXNzYWdlcG9ydC1nYy1kaWZmLnR4dFVUBQADTYv3VHV4
CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIANN1ZEaZYUzcZgAAAHUAAAA3ABgAAAAAAAEAAACkgY7k
AwByZXRyaWVzL2Zhc3Qvd29ya2Vycy93b3JrZXItbWVzc2FnZXBvcnQtZ2MtZXhwZWN0ZWQudHh0
VVQFAANNi/dUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA03VkRkb/nEfmBwAAwRoAADsAGAAA
AAAAAQAAAKSBZeUDAHJldHJpZXMvZmFzdC93b3JrZXJzL3dvcmtlci1tZXNzYWdlcG9ydC1nYy1w
cmV0dHktZGlmZi5odG1sVVQFAANNi/dUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAxHVkRsPq
3TdgCAAAIR4AADgAGAAAAAAAAQAAAKSBwO0DAHJldHJpZXMvZmFzdC93b3JrZXJzL3dvcmtlci1t
ZXNzYWdlcG9ydC1wcmV0dHktZGlmZi5odG1sVVQFAAMvi/dUdXgLAAEE9QEAAARQAAAAUEsBAh4D
FAACAAgAo3VkRoamWgCPAQAArgMAADEAGAAAAAAAAQAAAKSBkvYDAHJldHJpZXMvZmFzdC93b3Jr
ZXJzL3dvcmtlci1tdWx0aS1wb3J0LWFjdHVhbC50eHRVVAUAA/KK91R1eAsAAQT1AQAABFAAAABQ
SwECHgMUAAIACACjdWRG2Ic11lcBAACSAgAALwAYAAAAAAABAAAApIGM+AMAcmV0cmllcy9mYXN0
L3dvcmtlcnMvd29ya2VyLW11bHRpLXBvcnQtZGlmZi50eHRVVAUAA/KK91R1eAsAAQT1AQAABFAA
AABQSwECHgMUAAIACACjdWRGLcJ8HXEBAACJAwAAMwAYAAAAAAABAAAApIFM+gMAcmV0cmllcy9m
YXN0L3dvcmtlcnMvd29ya2VyLW11bHRpLXBvcnQtZXhwZWN0ZWQudHh0VVQFAAPyivdUdXgLAAEE
9QEAAARQAAAAUEsBAh4DFAACAAgAo3VkRsRbLzljCAAAZx0AADcAGAAAAAAAAQAAAKSBKvwDAHJl
dHJpZXMvZmFzdC93b3JrZXJzL3dvcmtlci1tdWx0aS1wb3J0LXByZXR0eS1kaWZmLmh0bWxVVAUA
A/KK91R1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAADkdWRGAAAAAAAAAAAAAAAADQAYAAAAAAAA
ABAA7UH+BAQAcmV0cmllcy9odHRwL1VUBQADbIv3VHV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAA
ABV7ZEYAAAAAAAAAAAAAAAATABgAAAAAAAAAEADtQUUFBAByZXRyaWVzL2h0dHAvdGVzdHMvVVQF
AAM5lPdUdXgLAAEE9QEAAARQAAAAUEsBAh4DCgAAAAAA5HVkRgAAAAAAAAAAAAAAACEAGAAAAAAA
AAAQAO1BkgUEAHJldHJpZXMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL1VUBQADbIv3VHV4CwAB
BPUBAAAEUAAAAFBLAQIeAwoAAAAAABR2ZEYAAAAAAAAAAAAAAAAoABgAAAAAAAAAEADtQe0FBABy
ZXRyaWVzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvVVQFAAPHi/dUdXgLAAEE9QEA
AARQAAAAUEsBAh4DFAACAAgAFHZkRn5g82GmAAAA2wAAAD4AGAAAAAAAAQAAAKSBTwYEAHJldHJp
ZXMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9kb3VibGUtc2hvdy1hY3R1YWwudHh0
VVQFAAPHi/dUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAFHZkRkQMKKFBAQAAVQIAADwAGAAA
AAAAAQAAAKSBbQcEAHJldHJpZXMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9kb3Vi
bGUtc2hvdy1kaWZmLnR4dFVUBQADx4v3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIABR2ZEYx
e1N2sAAAAPoAAABAABgAAAAAAAEAAACkgSQJBAByZXRyaWVzL2h0dHAvdGVzdHMvbm90aWZpY2F0
aW9ucy9sZWdhY3kvZG91YmxlLXNob3ctZXhwZWN0ZWQudHh0VVQFAAPHi/dUdXgLAAEE9QEAAARQ
AAAAUEsBAh4DFAACAAgAFHZkRuN2ov1hCAAAIh8AAEQAGAAAAAAAAQAAAKSBTgoEAHJldHJpZXMv
aHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9kb3VibGUtc2hvdy1wcmV0dHktZGlmZi5o
dG1sVVQFAAPHi/dUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgABXZkRqrtJlXcAAAAIAEAADkA
GAAAAAAAAQAAAKSBLRMEAHJldHJpZXMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9l
dmVudHMtYWN0dWFsLnR4dFVUBQADqYv3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAAV2ZEb8
lbX0hQEAAPECAAA3ABgAAAAAAAEAAACkgXwUBAByZXRyaWVzL2h0dHAvdGVzdHMvbm90aWZpY2F0
aW9ucy9sZWdhY3kvZXZlbnRzLWRpZmYudHh0VVQFAAOpi/dUdXgLAAEE9QEAAARQAAAAUEsBAh4D
FAACAAgABXZkRonTbQLrAAAAjwEAADsAGAAAAAAAAQAAAKSBchYEAHJldHJpZXMvaHR0cC90ZXN0
cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9ldmVudHMtZXhwZWN0ZWQudHh0VVQFAAOpi/dUdXgLAAEE
9QEAAARQAAAAUEsBAh4DFAACAAgABXZkRrF6BrmoCAAAcSEAAD8AGAAAAAAAAQAAAKSB0hcEAHJl
dHJpZXMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9ldmVudHMtcHJldHR5LWRpZmYu
aHRtbFVUBQADqYv3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAOR1ZEavRrVSIgEAAOcBAAA3
ABgAAAAAAAEAAACkgfMgBAByZXRyaWVzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kv
c2hvdy1hY3R1YWwudHh0VVQFAANsi/dUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA5HVkRrRP
WK/sAQAAjgQAADUAGAAAAAAAAQAAAKSBhiIEAHJldHJpZXMvaHR0cC90ZXN0cy9ub3RpZmljYXRp
b25zL2xlZ2FjeS9zaG93LWRpZmYudHh0VVQFAANsi/dUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAAC
AAgA5HVkRgxLKmRRAQAAZAMAADkAGAAAAAAAAQAAAKSB4SQEAHJldHJpZXMvaHR0cC90ZXN0cy9u
b3RpZmljYXRpb25zL2xlZ2FjeS9zaG93LWV4cGVjdGVkLnR4dFVUBQADbIv3VHV4CwABBPUBAAAE
UAAAAFBLAQIeAxQAAgAIAOR1ZEZZFbt6LwkAAKQlAAA9ABgAAAAAAAEAAACkgaUmBAByZXRyaWVz
L2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvc2hvdy1wcmV0dHktZGlmZi5odG1sVVQF
AANsi/dUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA83VkRvkLj1vOAAAAGgEAAEcAGAAAAAAA
AQAAAKSBSzAEAHJldHJpZXMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS93aW5kb3ct
c2hvdy1vbi1jbGljay1hY3R1YWwudHh0VVQFAAOKi/dUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAAC
AAgA83VkRu+toUVwAQAAvQIAAEUAGAAAAAAAAQAAAKSBmjEEAHJldHJpZXMvaHR0cC90ZXN0cy9u
b3RpZmljYXRpb25zL2xlZ2FjeS93aW5kb3ctc2hvdy1vbi1jbGljay1kaWZmLnR4dFVUBQADiov3
VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAPN1ZEa4svcR1AAAAFABAABJABgAAAAAAAEAAACk
gYkzBAByZXRyaWVzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvd2luZG93LXNob3ct
b24tY2xpY2stZXhwZWN0ZWQudHh0VVQFAAOKi/dUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA
83VkRoqBAn2RCAAAgR8AAE0AGAAAAAAAAQAAAKSB4DQEAHJldHJpZXMvaHR0cC90ZXN0cy9ub3Rp
ZmljYXRpb25zL2xlZ2FjeS93aW5kb3ctc2hvdy1vbi1jbGljay1wcmV0dHktZGlmZi5odG1sVVQF
AAOKi/dUdXgLAAEE9QEAAARQAAAAUEsBAh4DCgAAAAAAFXtkRgAAAAAAAAAAAAAAABsAGAAAAAAA
AAAQAO1B+D0EAHJldHJpZXMvaHR0cC90ZXN0cy93b3JrZXJzL1VUBQADOZT3VHV4CwABBPUBAAAE
UAAAAFBLAQIeAxQAAgAIABV7ZEbPiDD1AgIAAHUGAAA6ABgAAAAAAAEAAACkgU0+BAByZXRyaWVz
L2h0dHAvdGVzdHMvd29ya2Vycy93b3JrZXItaW1wb3J0U2NyaXB0cy1hY3R1YWwudHh0VVQFAAM5
lPdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAFXtkRnOKP2NjAQAAMgMAADgAGAAAAAAAAQAA
AKSBw0AEAHJldHJpZXMvaHR0cC90ZXN0cy93b3JrZXJzL3dvcmtlci1pbXBvcnRTY3JpcHRzLWRp
ZmYudHh0VVQFAAM5lPdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAFXtkRuDTWZkAAgAAcwYA
ADwAGAAAAAAAAQAAAKSBmEIEAHJldHJpZXMvaHR0cC90ZXN0cy93b3JrZXJzL3dvcmtlci1pbXBv
cnRTY3JpcHRzLWV4cGVjdGVkLnR4dFVUBQADOZT3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAI
ABV7ZEZT0aE4bwgAACAdAABAABgAAAAAAAEAAACkgQ5FBAByZXRyaWVzL2h0dHAvdGVzdHMvd29y
a2Vycy93b3JrZXItaW1wb3J0U2NyaXB0cy1wcmV0dHktZGlmZi5odG1sVVQFAAM5lPdUdXgLAAEE
9QEAAARQAAAAUEsBAh4DCgAAAAAAFXtkRgAAAAAAAAAAAAAAAAsAGAAAAAAAAAAQAO1B900EAHJl
dHJpZXMvanMvVVQFAAM5lPdUdXgLAAEE9QEAAARQAAAAUEsBAh4DCgAAAAAAFXtkRgAAAAAAAAAA
AAAAAA8AGAAAAAAAAAAQAO1BPE4EAHJldHJpZXMvanMvZG9tL1VUBQADOZT3VHV4CwABBPUBAAAE
UAAAAFBLAQIeAxQAAgAIABV7ZEbE/0Y1kQAAALsAAAA9ABgAAAAAAAEAAACkgYVOBAByZXRyaWVz
L2pzL2RvbS9wYXJzZS1lcnJvci1leHRlcm5hbC1zY3JpcHQtaW4tZXZhbC1hY3R1YWwudHh0VVQF
AAM5lPdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAFXtkRoaxfO4HAQAAGgIAADsAGAAAAAAA
AQAAAKSBjU8EAHJldHJpZXMvanMvZG9tL3BhcnNlLWVycm9yLWV4dGVybmFsLXNjcmlwdC1pbi1l
dmFsLWRpZmYudHh0VVQFAAM5lPdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAFXtkRif2HFKP
AAAAuQAAAD8AGAAAAAAAAQAAAKSBCVEEAHJldHJpZXMvanMvZG9tL3BhcnNlLWVycm9yLWV4dGVy
bmFsLXNjcmlwdC1pbi1ldmFsLWV4cGVjdGVkLnR4dFVUBQADOZT3VHV4CwABBPUBAAAEUAAAAFBL
AQIeAxQAAgAIABV7ZEarkYyL3wcAANsYAABDABgAAAAAAAEAAACkgRFSBAByZXRyaWVzL2pzL2Rv
bS9wYXJzZS1lcnJvci1leHRlcm5hbC1zY3JpcHQtaW4tZXZhbC1wcmV0dHktZGlmZi5odG1sVVQF
AAM5lPdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAFXtkRlzOyl2WAAAAwwAAAEUAGAAAAAAA
AQAAAKSBbVoEAHJldHJpZXMvanMvZG9tL3BhcnNlLWVycm9yLWV4dGVybmFsLXNjcmlwdC1pbi1u
ZXctRnVuY3Rpb24tYWN0dWFsLnR4dFVUBQADOZT3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAI
ABV7ZEbuazyUDgEAADICAABDABgAAAAAAAEAAACkgYJbBAByZXRyaWVzL2pzL2RvbS9wYXJzZS1l
cnJvci1leHRlcm5hbC1zY3JpcHQtaW4tbmV3LUZ1bmN0aW9uLWRpZmYudHh0VVQFAAM5lPdUdXgL
AAEE9QEAAARQAAAAUEsBAh4DFAACAAgAFXtkRsa0XQmUAAAAwQAAAEcAGAAAAAAAAQAAAKSBDV0E
AHJldHJpZXMvanMvZG9tL3BhcnNlLWVycm9yLWV4dGVybmFsLXNjcmlwdC1pbi1uZXctRnVuY3Rp
b24tZXhwZWN0ZWQudHh0VVQFAAM5lPdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAFXtkRtHj
i2/nBwAA6xgAAEsAGAAAAAAAAQAAAKSBIl4EAHJldHJpZXMvanMvZG9tL3BhcnNlLWVycm9yLWV4
dGVybmFsLXNjcmlwdC1pbi1uZXctRnVuY3Rpb24tcHJldHR5LWRpZmYuaHRtbFVUBQADOZT3VHV4
CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAABV7ZEYAAAAAAAAAAAAAAAAPABgAAAAAAAAAEADtQY5m
BAByZXRyaWVzL2pzL2tkZS9VVAUAAzmU91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAAVe2RG
cTOhK7UAAAD+AAAAIwAYAAAAAAABAAAApIHXZgQAcmV0cmllcy9qcy9rZGUvZ2FyYmFnZS1uLWFj
dHVhbC50eHRVVAUAAzmU91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAAVe2RG5znlCfkAAADR
AQAAIQAYAAAAAAABAAAApIHpZwQAcmV0cmllcy9qcy9rZGUvZ2FyYmFnZS1uLWRpZmYudHh0VVQF
AAM5lPdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAFXtkRr4U15ezAAAA/AAAACUAGAAAAAAA
AQAAAKSBPWkEAHJldHJpZXMvanMva2RlL2dhcmJhZ2Utbi1leHBlY3RlZC50eHRVVAUAAzmU91R1
eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAAVe2RGCRZTfPMHAADWGQAAKQAYAAAAAAABAAAApIFP
agQAcmV0cmllcy9qcy9rZGUvZ2FyYmFnZS1uLXByZXR0eS1kaWZmLmh0bWxVVAUAAzmU91R1eAsA
AQT1AQAABFAAAABQSwECHgMKAAAAAAAWe2RGAAAAAAAAAAAAAAAAEAAYAAAAAAAAABAA7UGlcgQA
cmV0cmllcy9zcHV0bmlrL1VUBQADO5T3VHV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAABZ7ZEYA
AAAAAAAAAAAAAAAcABgAAAAAAAAAEADtQe9yBAByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFuY2Uv
VVQFAAM8lPdUdXgLAAEE9QEAAARQAAAAUEsBAh4DCgAAAAAAFntkRgAAAAAAAAAAAAAAADMAGAAA
AAAAAAAQAO1BRXMEAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZl
bnRpb25zL1VUBQADPJT3VHV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAABZ7ZEYAAAAAAAAAAAAA
AABIABgAAAAAAAAAEADtQbJzBAByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNh
bF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9ycy9VVAUAAzyU91R1eAsAAQT1AQAABFAA
AABQSwECHgMKAAIAAAAWe2RGpfvW5U8AAABPAAAAXwAYAAAAAAABAAAApIE0dAQAcmV0cmllcy9z
cHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWlu
YXRvcnMvUzcuM19BMy4xX1QyLWFjdHVhbC50eHRVVAUAAzyU91R1eAsAAQT1AQAABFAAAABQSwEC
HgMUAAIACAAWe2RGktznQeUAAADhAQAAXQAYAAAAAAABAAAApIEcdQQAcmV0cmllcy9zcHV0bmlr
L0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMv
UzcuM19BMy4xX1QyLWRpZmYudHh0VVQFAAM8lPdUdXgLAAEE9QEAAARQAAAAUEsBAh4DCgACAAAA
FntkRv0M8CVNAAAATQAAAGEAGAAAAAAAAQAAAKSBmHYEAHJldHJpZXMvc3B1dG5pay9Db25mb3Jt
YW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMu
MV9UMi1leHBlY3RlZC50eHRVVAUAAzyU91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAAWe2RG
kaiw9+kHAAATGwAAZQAYAAAAAAABAAAApIGAdwQAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNl
LzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4xX1Qy
LXByZXR0eS1kaWZmLmh0bWxVVAUAAzyU91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAAWe2RG
ZCYrIXkAAACFAAAAXwAYAAAAAAABAAAApIEIgAQAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNl
LzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4xX1Qz
LWFjdHVhbC50eHRVVAUAAzuU91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAAWe2RGEBPXFPwA
AAAdAgAAXQAYAAAAAAABAAAApIEagQQAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xl
eGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4xX1QzLWRpZmYu
dHh0VVQFAAM7lPdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAFntkRghYknB3AAAAgwAAAGEA
GAAAAAAAAQAAAKSBrYIEAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0Nv
bnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMuMV9UMy1leHBlY3RlZC50eHRV
VAUAAzuU91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAAWe2RGE7kkDegHAADSGQAAZQAYAAAA
AAABAAAApIG/gwQAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVu
dGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4xX1QzLXByZXR0eS1kaWZmLmh0bWxV
VAUAAzuU91R1eAsAAQT1AQAABFAAAABQSwECHgMKAAIAAAAWe2RG3J7tUE8AAABPAAAAXwAYAAAA
AAABAAAApIFGjAQAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVu
dGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4yX1QyLWFjdHVhbC50eHRVVAUAAzuU
91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAAWe2RGBP3FW+UAAADhAQAAXQAYAAAAAAABAAAA
pIEujQQAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMv
Ny4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4yX1QyLWRpZmYudHh0VVQFAAM7lPdUdXgLAAEE
9QEAAARQAAAAUEsBAh4DCgACAAAAFntkRjiOjoFNAAAATQAAAGEAGAAAAAAAAQAAAKSBqo4EAHJl
dHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5l
X1Rlcm1pbmF0b3JzL1M3LjNfQTMuMl9UMi1leHBlY3RlZC50eHRVVAUAAzuU91R1eAsAAQT1AQAA
BFAAAABQSwECHgMUAAIACAAWe2RGcgbcuegHAAATGwAAZQAYAAAAAAABAAAApIGSjwQAcmV0cmll
cy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVy
bWluYXRvcnMvUzcuM19BMy4yX1QyLXByZXR0eS1kaWZmLmh0bWxVVAUAAzuU91R1eAsAAQT1AQAA
BFAAAABQSwECHgMUAAIACAAWe2RGkN5iknkAAACFAAAAXwAYAAAAAAABAAAApIEZmAQAcmV0cmll
cy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVy
bWluYXRvcnMvUzcuM19BMy4yX1QzLWFjdHVhbC50eHRVVAUAAzuU91R1eAsAAQT1AQAABFAAAABQ
SwECHgMUAAIACAAWe2RGgqsmF/wAAAAdAgAAXQAYAAAAAAABAAAApIErmQQAcmV0cmllcy9zcHV0
bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRv
cnMvUzcuM19BMy4yX1QzLWRpZmYudHh0VVQFAAM7lPdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAAC
AAgAFntkRnEPQ3B3AAAAgwAAAGEAGAAAAAAAAQAAAKSBvpoEAHJldHJpZXMvc3B1dG5pay9Db25m
b3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNf
QTMuMl9UMy1leHBlY3RlZC50eHRVVAUAAzuU91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAAW
e2RGHgOaF+gHAADSGQAAZQAYAAAAAAABAAAApIHQmwQAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1h
bmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4y
X1QzLXByZXR0eS1kaWZmLmh0bWxVVAUAAzyU91R1eAsAAQT1AQAABFAAAABQSwECHgMKAAIAAAAW
e2RGNEDUik8AAABPAAAAXwAYAAAAAAABAAAApIFXpAQAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1h
bmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4z
X1QyLWFjdHVhbC50eHRVVAUAAzuU91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAAWe2RGSeD0
5OMAAADhAQAAXQAYAAAAAAABAAAApIE/pQQAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3
X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4zX1QyLWRp
ZmYudHh0VVQFAAM7lPdUdXgLAAEE9QEAAARQAAAAUEsBAh4DCgACAAAAFntkRkTyi1RNAAAATQAA
AGEAGAAAAAAAAQAAAKSBuaYEAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2Fs
X0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMuM19UMi1leHBlY3RlZC50
eHRVVAUAAzuU91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAAWe2RG02P4g+gHAAATGwAAZQAY
AAAAAAABAAAApIGhpwQAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29u
dmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4zX1QyLXByZXR0eS1kaWZmLmh0
bWxVVAUAAzuU91R1eAsAAQT1AQAABFAAAABQSwECHgMKAAIAAAAWe2RGb1Lq4U8AAABPAAAAXwAY
AAAAAAABAAAApIEosAQAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29u
dmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy40X1QyLWFjdHVhbC50eHRVVAUA
AzyU91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAAWe2RGKL6Bb+UAAADhAQAAXQAYAAAAAAAB
AAAApIEQsQQAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlv
bnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy40X1QyLWRpZmYudHh0VVQFAAM8lPdUdXgL
AAEE9QEAAARQAAAAUEsBAh4DCgACAAAAFntkRvONAhJNAAAATQAAAGEAGAAAAAAAAQAAAKSBjLIE
AHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19M
aW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMuNF9UMi1leHBlY3RlZC50eHRVVAUAAzyU91R1eAsAAQT1
AQAABFAAAABQSwECHgMUAAIACAAWe2RGtFsFJekHAAATGwAAZQAYAAAAAAABAAAApIF0swQAcmV0
cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVf
VGVybWluYXRvcnMvUzcuM19BMy40X1QyLXByZXR0eS1kaWZmLmh0bWxVVAUAAzyU91R1eAsAAQT1
AQAABFAAAABQSwECHgMKAAAAAAAWe2RGAAAAAAAAAAAAAAAAQAAYAAAAAAAAABAA7UH8uwQAcmV0
cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy44X0xpdGVy
YWxzL1VUBQADPJT3VHV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAABZ7ZEYAAAAAAAAAAAAAAABi
ABgAAAAAAAAAEADtQXa8BAByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9D
b252ZW50aW9ucy83LjhfTGl0ZXJhbHMvNy44LjVfUmVndWxhcl9FeHByZXNzaW9uX0xpdGVyYWxz
L1VUBQADPJT3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIABZ7ZEaqP3SJmQAAALAAAAB7ABgA
AAAAAAEAAACkgRK9BAByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252
ZW50aW9ucy83LjhfTGl0ZXJhbHMvNy44LjVfUmVndWxhcl9FeHByZXNzaW9uX0xpdGVyYWxzL1M3
LjguNV9BMy4xX1Q3LWFjdHVhbC50eHRVVAUAAzyU91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIA
CAAWe2RGe16VPCYBAACkAgAAeQAYAAAAAAABAAAApIFgvgQAcmV0cmllcy9zcHV0bmlrL0NvbmZv
cm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy44X0xpdGVyYWxzLzcuOC41X1JlZ3VsYXJf
RXhwcmVzc2lvbl9MaXRlcmFscy9TNy44LjVfQTMuMV9UNy1kaWZmLnR4dFVUBQADPJT3VHV4CwAB
BPUBAAAEUAAAAFBLAQIeAxQAAgAIABZ7ZEb06hnalwAAAK4AAAB9ABgAAAAAAAEAAACkgTnABABy
ZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjhfTGl0
ZXJhbHMvNy44LjVfUmVndWxhcl9FeHByZXNzaW9uX0xpdGVyYWxzL1M3LjguNV9BMy4xX1Q3LWV4
cGVjdGVkLnR4dFVUBQADPJT3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIABZ7ZEYuDd+bFwgA
AE0aAACBABgAAAAAAAEAAACkgYfBBAByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4
aWNhbF9Db252ZW50aW9ucy83LjhfTGl0ZXJhbHMvNy44LjVfUmVndWxhcl9FeHByZXNzaW9uX0xp
dGVyYWxzL1M3LjguNV9BMy4xX1Q3LXByZXR0eS1kaWZmLmh0bWxVVAUAAzyU91R1eAsAAQT1AQAA
BFAAAABQSwECHgMUAAIACAAWe2RG1k9dkpkAAACwAAAAewAYAAAAAAABAAAApIFZygQAcmV0cmll
cy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy44X0xpdGVyYWxz
LzcuOC41X1JlZ3VsYXJfRXhwcmVzc2lvbl9MaXRlcmFscy9TNy44LjVfQTMuMV9UOC1hY3R1YWwu
dHh0VVQFAAM8lPdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAFntkRrjyFZYnAQAApAIAAHkA
GAAAAAAAAQAAAKSBp8sEAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0Nv
bnZlbnRpb25zLzcuOF9MaXRlcmFscy83LjguNV9SZWd1bGFyX0V4cHJlc3Npb25fTGl0ZXJhbHMv
UzcuOC41X0EzLjFfVDgtZGlmZi50eHRVVAUAAzyU91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIA
CAAWe2RGiJowwZgAAACuAAAAfQAYAAAAAAABAAAApIGBzQQAcmV0cmllcy9zcHV0bmlrL0NvbmZv
cm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy44X0xpdGVyYWxzLzcuOC41X1JlZ3VsYXJf
RXhwcmVzc2lvbl9MaXRlcmFscy9TNy44LjVfQTMuMV9UOC1leHBlY3RlZC50eHRVVAUAAzyU91R1
eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAAWe2RGwiUWQxcIAABNGgAAgQAYAAAAAAABAAAApIHQ
zgQAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy44
X0xpdGVyYWxzLzcuOC41X1JlZ3VsYXJfRXhwcmVzc2lvbl9MaXRlcmFscy9TNy44LjVfQTMuMV9U
OC1wcmV0dHktZGlmZi5odG1sVVQFAAM8lPdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAFntk
RpCXTNiZAAAAsAAAAHsAGAAAAAAAAQAAAKSBotcEAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5j
ZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuOF9MaXRlcmFscy83LjguNV9SZWd1bGFyX0V4cHJl
c3Npb25fTGl0ZXJhbHMvUzcuOC41X0EzLjFfVDktYWN0dWFsLnR4dFVUBQADPJT3VHV4CwABBPUB
AAAEUAAAAFBLAQIeAxQAAgAIABZ7ZEaLUsZyJwEAAKQCAAB5ABgAAAAAAAEAAACkgfDYBAByZXRy
aWVzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjhfTGl0ZXJh
bHMvNy44LjVfUmVndWxhcl9FeHByZXNzaW9uX0xpdGVyYWxzL1M3LjguNV9BMy4xX1Q5LWRpZmYu
dHh0VVQFAAM8lPdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAFntkRs5CIYuYAAAArgAAAH0A
GAAAAAAAAQAAAKSBytoEAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0Nv
bnZlbnRpb25zLzcuOF9MaXRlcmFscy83LjguNV9SZWd1bGFyX0V4cHJlc3Npb25fTGl0ZXJhbHMv
UzcuOC41X0EzLjFfVDktZXhwZWN0ZWQudHh0VVQFAAM8lPdUdXgLAAEE9QEAAARQAAAAUEsBAh4D
FAACAAgAFntkRnvutSMYCAAATRoAAIEAGAAAAAAAAQAAAKSBGdwEAHJldHJpZXMvc3B1dG5pay9D
b25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuOF9MaXRlcmFscy83LjguNV9SZWd1
bGFyX0V4cHJlc3Npb25fTGl0ZXJhbHMvUzcuOC41X0EzLjFfVDktcHJldHR5LWRpZmYuaHRtbFVU
BQADPJT3VHV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAABZ7ZEYAAAAAAAAAAAAAAAApABgAAAAA
AAAAEADtQezkBAByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTJfU3RhdGVtZW50L1VUBQAD
PJT3VHV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAABZ7ZEYAAAAAAAAAAAAAAABEABgAAAAAAAAA
EADtQU/lBAByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTJfU3RhdGVtZW50LzEyLjExX1Ro
ZV9zd2l0Y2hfU3RhdGVtZW50L1VUBQADPJT3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIABZ7
ZEaVOv4YlAAAAK8AAABbABgAAAAAAAEAAACkgc3lBAByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFu
Y2UvMTJfU3RhdGVtZW50LzEyLjExX1RoZV9zd2l0Y2hfU3RhdGVtZW50L1MxMi4xMV9BM19UNS1h
Y3R1YWwudHh0VVQFAAM8lPdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAFntkRsvKINsJAQAA
aQIAAFkAGAAAAAAAAQAAAKSB9uYEAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8xMl9TdGF0
ZW1lbnQvMTIuMTFfVGhlX3N3aXRjaF9TdGF0ZW1lbnQvUzEyLjExX0EzX1Q1LWRpZmYudHh0VVQF
AAM8lPdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAFntkRougBvOSAAAArQAAAF0AGAAAAAAA
AQAAAKSBkugEAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8xMl9TdGF0ZW1lbnQvMTIuMTFf
VGhlX3N3aXRjaF9TdGF0ZW1lbnQvUzEyLjExX0EzX1Q1LWV4cGVjdGVkLnR4dFVUBQADPJT3VHV4
CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIABZ7ZEbGl6Iy9wcAAEIaAABhABgAAAAAAAEAAACkgbvp
BAByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTJfU3RhdGVtZW50LzEyLjExX1RoZV9zd2l0
Y2hfU3RhdGVtZW50L1MxMi4xMV9BM19UNS1wcmV0dHktZGlmZi5odG1sVVQFAAM8lPdUdXgLAAEE
9QEAAARQAAAAUEsBAh4DCgAAAAAAFntkRgAAAAAAAAAAAAAAAEMAGAAAAAAAAAAQAO1BTfIEAHJl
dHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8xMl9TdGF0ZW1lbnQvMTIuNl9JdGVyYXRpb25fU3Rh
dGVtZW50cy9VVAUAAzyU91R1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAAAXe2RGAAAAAAAAAAAA
AAAAXAAYAAAAAAAAABAA7UHK8gQAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzEyX1N0YXRl
bWVudC8xMi42X0l0ZXJhdGlvbl9TdGF0ZW1lbnRzLzEyLjYuM19UaGVfZm9yX1N0YXRlbWVudC9V
VAUAAz2U91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAAWe2RGUqUW0pgAAAC5AAAAdgAYAAAA
AAABAAAApIFg8wQAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzEyX1N0YXRlbWVudC8xMi42
X0l0ZXJhdGlvbl9TdGF0ZW1lbnRzLzEyLjYuM19UaGVfZm9yX1N0YXRlbWVudC9TMTIuNi4zX0E4
LjFfVDMtYWN0dWFsLnR4dFVUBQADPJT3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIABZ7ZEY6
Lj2OHAEAALACAAB0ABgAAAAAAAEAAACkgaj0BAByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFuY2Uv
MTJfU3RhdGVtZW50LzEyLjZfSXRlcmF0aW9uX1N0YXRlbWVudHMvMTIuNi4zX1RoZV9mb3JfU3Rh
dGVtZW50L1MxMi42LjNfQTguMV9UMy1kaWZmLnR4dFVUBQADPJT3VHV4CwABBPUBAAAEUAAAAFBL
AQIeAxQAAgAIABZ7ZEa7IeOZlwAAALcAAAB4ABgAAAAAAAEAAACkgXL2BAByZXRyaWVzL3NwdXRu
aWsvQ29uZm9ybWFuY2UvMTJfU3RhdGVtZW50LzEyLjZfSXRlcmF0aW9uX1N0YXRlbWVudHMvMTIu
Ni4zX1RoZV9mb3JfU3RhdGVtZW50L1MxMi42LjNfQTguMV9UMy1leHBlY3RlZC50eHRVVAUAAzyU
91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAAXe2RGXTAeawkIAABuGgAAfAAYAAAAAAABAAAA
pIG79wQAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzEyX1N0YXRlbWVudC8xMi42X0l0ZXJh
dGlvbl9TdGF0ZW1lbnRzLzEyLjYuM19UaGVfZm9yX1N0YXRlbWVudC9TMTIuNi4zX0E4LjFfVDMt
cHJldHR5LWRpZmYuaHRtbFVUBQADPZT3VHV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAADV2ZEYA
AAAAAAAAAAAAAAARABgAAAAAAAAAEADtQXoABQByZXRyaWVzL3dlYmF1ZGlvL1VUBQADBoz3VHV4
CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIACZ2ZEbXAgRPaQAAAHcAAAAzABgAAAAAAAEAAACkgcUA
BQByZXRyaWVzL3dlYmF1ZGlvL2F1ZGlvYnVmZmVyc291cmNlLWVuZGVkLWFjdHVhbC50eHRVVAUA
A+iL91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAAmdmRGOFK6bt0AAACbAQAAMQAYAAAAAAAB
AAAApIGbAQUAcmV0cmllcy93ZWJhdWRpby9hdWRpb2J1ZmZlcnNvdXJjZS1lbmRlZC1kaWZmLnR4
dFVUBQAD6Iv3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIACZ2ZEZbNiPZUgAAAF8AAAA1ABgA
AAAAAAEAAACkgeMCBQByZXRyaWVzL3dlYmF1ZGlvL2F1ZGlvYnVmZmVyc291cmNlLWVuZGVkLWV4
cGVjdGVkLnR4dFVUBQAD6Iv3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIACZ2ZEaXI99rwgcA
AHsZAAA5ABgAAAAAAAEAAACkgaQDBQByZXRyaWVzL3dlYmF1ZGlvL2F1ZGlvYnVmZmVyc291cmNl
LWVuZGVkLXByZXR0eS1kaWZmLmh0bWxVVAUAA+iL91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIA
CAA1dmRGofq3H2QAAABwAAAALAAYAAAAAAABAAAApIHZCwUAcmV0cmllcy93ZWJhdWRpby9vc2Np
bGxhdG9yLWVuZGVkLWFjdHVhbC50eHRVVAUAAwaM91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIA
CAA1dmRGOnzzUdUAAACDAQAAKgAYAAAAAAABAAAApIGjDAUAcmV0cmllcy93ZWJhdWRpby9vc2Np
bGxhdG9yLWVuZGVkLWRpZmYudHh0VVQFAAMGjPdUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA
NXZkRqrMHENNAAAAVQAAAC4AGAAAAAAAAQAAAKSB3A0FAHJldHJpZXMvd2ViYXVkaW8vb3NjaWxs
YXRvci1lbmRlZC1leHBlY3RlZC50eHRVVAUAAwaM91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIA
CAA1dmRG8Uh2mLkHAABqGQAAMgAYAAAAAAABAAAApIGRDgUAcmV0cmllcy93ZWJhdWRpby9vc2Np
bGxhdG9yLWVuZGVkLXByZXR0eS1kaWZmLmh0bWxVVAUAAwaM91R1eAsAAQT1AQAABFAAAABQSwEC
HgMKAAAAAADpemRGAAAAAAAAAAAAAAAACAAYAAAAAAAAABAA7UG2FgUAc3B1dG5pay9VVAUAA+WT
91R1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAADtemRGAAAAAAAAAAAAAAAAFAAYAAAAAAAAABAA
7UH4FgUAc3B1dG5pay9Db25mb3JtYW5jZS9VVAUAA+2T91R1eAsAAQT1AQAABFAAAABQSwECHgMK
AAAAAADzemRGAAAAAAAAAAAAAAAAKwAYAAAAAAAAABAA7UFGFwUAc3B1dG5pay9Db25mb3JtYW5j
ZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zL1VUBQAD+pP3VHV4CwABBPUBAAAEUAAAAFBLAQIeAwoA
AAAAAOp6ZEYAAAAAAAAAAAAAAABAABgAAAAAAAAAEADtQasXBQBzcHV0bmlrL0NvbmZvcm1hbmNl
LzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvVVQFAAPnk/dUdXgL
AAEE9QEAAARQAAAAUEsBAh4DCgACAAAA6XpkRqX71uVPAAAATwAAAFcAGAAAAAAAAQAAAKSBJRgF
AHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJt
aW5hdG9ycy9TNy4zX0EzLjFfVDItYWN0dWFsLnR4dFVUBQAD5ZP3VHV4CwABBPUBAAAEUAAAAFBL
AQIeAxQAAgAIAOl6ZEZRDpC/4AAAANEBAABVABgAAAAAAAEAAACkgQUZBQBzcHV0bmlrL0NvbmZv
cm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19B
My4xX1QyLWRpZmYudHh0VVQFAAPlk/dUdXgLAAEE9QEAAARQAAAAUEsBAh4DCgACAAAA6XpkRv0M
8CVNAAAATQAAAFkAGAAAAAAAAQAAAKSBdBoFAHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNh
bF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9ycy9TNy4zX0EzLjFfVDItZXhwZWN0ZWQu
dHh0VVQFAAPlk/dUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA6XpkRni0iXLkBwAACxsAAF0A
GAAAAAAAAQAAAKSBVBsFAHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9u
cy83LjNfTGluZV9UZXJtaW5hdG9ycy9TNy4zX0EzLjFfVDItcHJldHR5LWRpZmYuaHRtbFVUBQAD
5pP3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAOl6ZEZkJisheQAAAIUAAABXABgAAAAAAAEA
AACkgc8jBQBzcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xp
bmVfVGVybWluYXRvcnMvUzcuM19BMy4xX1QzLWFjdHVhbC50eHRVVAUAA+aT91R1eAsAAQT1AQAA
BFAAAABQSwECHgMUAAIACADpemRGR/tTMPcAAAANAgAAVQAYAAAAAAABAAAApIHZJAUAc3B1dG5p
ay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3Jz
L1M3LjNfQTMuMV9UMy1kaWZmLnR4dFVUBQAD5pP3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAI
AOl6ZEYIWJJwdwAAAIMAAABZABgAAAAAAAEAAACkgV8mBQBzcHV0bmlrL0NvbmZvcm1hbmNlLzA3
X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4xX1QzLWV4
cGVjdGVkLnR4dFVUBQAD5pP3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAOl6ZEZcqdcf4wcA
AMoZAABdABgAAAAAAAEAAACkgWknBQBzcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29u
dmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4xX1QzLXByZXR0eS1kaWZmLmh0
bWxVVAUAA+aT91R1eAsAAQT1AQAABFAAAABQSwECHgMKAAIAAADpemRG3J7tUE8AAABPAAAAVwAY
AAAAAAABAAAApIHjLwUAc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25z
LzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMuMl9UMi1hY3R1YWwudHh0VVQFAAPmk/dUdXgL
AAEE9QEAAARQAAAAUEsBAh4DFAACAAgA6XpkRj7MvozgAAAA0QEAAFUAGAAAAAAAAQAAAKSBwzAF
AHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJt
aW5hdG9ycy9TNy4zX0EzLjJfVDItZGlmZi50eHRVVAUAA+aT91R1eAsAAQT1AQAABFAAAABQSwEC
HgMKAAIAAADpemRGOI6OgU0AAABNAAAAWQAYAAAAAAABAAAApIEyMgUAc3B1dG5pay9Db25mb3Jt
YW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMu
Ml9UMi1leHBlY3RlZC50eHRVVAUAA+aT91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACADpemRG
mxrlPOQHAAALGwAAXQAYAAAAAAABAAAApIESMwUAc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhp
Y2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMuMl9UMi1wcmV0dHkt
ZGlmZi5odG1sVVQFAAPmk/dUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA6XpkRpDeYpJ5AAAA
hQAAAFcAGAAAAAAAAQAAAKSBjTsFAHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252
ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9ycy9TNy4zX0EzLjJfVDMtYWN0dWFsLnR4dFVUBQAD
5pP3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAOl6ZEYK0x+K9wAAAA0CAABVABgAAAAAAAEA
AACkgZc8BQBzcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xp
bmVfVGVybWluYXRvcnMvUzcuM19BMy4yX1QzLWRpZmYudHh0VVQFAAPmk/dUdXgLAAEE9QEAAARQ
AAAAUEsBAh4DFAACAAgA6XpkRnEPQ3B3AAAAgwAAAFkAGAAAAAAAAQAAAKSBHT4FAHNwdXRuaWsv
Q29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9ycy9T
Ny4zX0EzLjJfVDMtZXhwZWN0ZWQudHh0VVQFAAPmk/dUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAAC
AAgA6XpkRlETaQXjBwAAyhkAAF0AGAAAAAAAAQAAAKSBJz8FAHNwdXRuaWsvQ29uZm9ybWFuY2Uv
MDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9ycy9TNy4zX0EzLjJfVDMt
cHJldHR5LWRpZmYuaHRtbFVUBQAD5pP3VHV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAgAAAOp6ZEY0
QNSKTwAAAE8AAABXABgAAAAAAAEAAACkgaFHBQBzcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGlj
YWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4zX1QyLWFjdHVhbC50
eHRVVAUAA+eT91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACADqemRGJHB0K98AAADRAQAAVQAY
AAAAAAABAAAApIGBSAUAc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25z
LzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMuM19UMi1kaWZmLnR4dFVUBQAD55P3VHV4CwAB
BPUBAAAEUAAAAFBLAQIeAwoAAgAAAOp6ZEZE8otUTQAAAE0AAABZABgAAAAAAAEAAACkge9JBQBz
cHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWlu
YXRvcnMvUzcuM19BMy4zX1QyLWV4cGVjdGVkLnR4dFVUBQAD55P3VHV4CwABBPUBAAAEUAAAAFBL
AQIeAxQAAgAIAOp6ZEY6f8EG5AcAAAsbAABdABgAAAAAAAEAAACkgc9KBQBzcHV0bmlrL0NvbmZv
cm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19B
My4zX1QyLXByZXR0eS1kaWZmLmh0bWxVVAUAA+eT91R1eAsAAQT1AQAABFAAAABQSwECHgMKAAIA
AADqemRGb1Lq4U8AAABPAAAAVwAYAAAAAAABAAAApIFKUwUAc3B1dG5pay9Db25mb3JtYW5jZS8w
N19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMuNF9UMi1h
Y3R1YWwudHh0VVQFAAPnk/dUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA6npkRuBI4+rgAAAA
0QEAAFUAGAAAAAAAAQAAAKSBKlQFAHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252
ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9ycy9TNy4zX0EzLjRfVDItZGlmZi50eHRVVAUAA+eT
91R1eAsAAQT1AQAABFAAAABQSwECHgMKAAIAAADqemRG840CEk0AAABNAAAAWQAYAAAAAAABAAAA
pIGZVQUAc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5l
X1Rlcm1pbmF0b3JzL1M3LjNfQTMuNF9UMi1leHBlY3RlZC50eHRVVAUAA+eT91R1eAsAAQT1AQAA
BFAAAABQSwECHgMUAAIACADqemRGXUc8oOQHAAALGwAAXQAYAAAAAAABAAAApIF5VgUAc3B1dG5p
ay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3Jz
L1M3LjNfQTMuNF9UMi1wcmV0dHktZGlmZi5odG1sVVQFAAPnk/dUdXgLAAEE9QEAAARQAAAAUEsB
Ah4DCgAAAAAA83pkRgAAAAAAAAAAAAAAADgAGAAAAAAAAAAQAO1B9F4FAHNwdXRuaWsvQ29uZm9y
bWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjhfTGl0ZXJhbHMvVVQFAAP6k/dUdXgLAAEE
9QEAAARQAAAAUEsBAh4DCgAAAAAA9HpkRgAAAAAAAAAAAAAAAFoAGAAAAAAAAAAQAO1BZl8FAHNw
dXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjhfTGl0ZXJhbHMvNy44
LjVfUmVndWxhcl9FeHByZXNzaW9uX0xpdGVyYWxzL1VUBQAD+5P3VHV4CwABBPUBAAAEUAAAAFBL
AQIeAxQAAgAIAPN6ZEaqP3SJmQAAALAAAABzABgAAAAAAAEAAACkgfpfBQBzcHV0bmlrL0NvbmZv
cm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy44X0xpdGVyYWxzLzcuOC41X1JlZ3VsYXJf
RXhwcmVzc2lvbl9MaXRlcmFscy9TNy44LjVfQTMuMV9UNy1hY3R1YWwudHh0VVQFAAP6k/dUdXgL
AAEE9QEAAARQAAAAUEsBAh4DFAACAAgA83pkRjQmRu0jAQAAlAIAAHEAGAAAAAAAAQAAAKSBQGEF
AHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjhfTGl0ZXJhbHMv
Ny44LjVfUmVndWxhcl9FeHByZXNzaW9uX0xpdGVyYWxzL1M3LjguNV9BMy4xX1Q3LWRpZmYudHh0
VVQFAAP6k/dUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA83pkRvTqGdqXAAAArgAAAHUAGAAA
AAAAAQAAAKSBDmMFAHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83
LjhfTGl0ZXJhbHMvNy44LjVfUmVndWxhcl9FeHByZXNzaW9uX0xpdGVyYWxzL1M3LjguNV9BMy4x
X1Q3LWV4cGVjdGVkLnR4dFVUBQAD+pP3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAPN6ZEYX
k4nBEggAAEUaAAB5ABgAAAAAAAEAAACkgVRkBQBzcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGlj
YWxfQ29udmVudGlvbnMvNy44X0xpdGVyYWxzLzcuOC41X1JlZ3VsYXJfRXhwcmVzc2lvbl9MaXRl
cmFscy9TNy44LjVfQTMuMV9UNy1wcmV0dHktZGlmZi5odG1sVVQFAAP6k/dUdXgLAAEE9QEAAARQ
AAAAUEsBAh4DFAACAAgA83pkRtZPXZKZAAAAsAAAAHMAGAAAAAAAAQAAAKSBGW0FAHNwdXRuaWsv
Q29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjhfTGl0ZXJhbHMvNy44LjVfUmVn
dWxhcl9FeHByZXNzaW9uX0xpdGVyYWxzL1M3LjguNV9BMy4xX1Q4LWFjdHVhbC50eHRVVAUAA/qT
91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACADzemRGe9ttMyMBAACUAgAAcQAYAAAAAAABAAAA
pIFfbgUAc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuOF9MaXRl
cmFscy83LjguNV9SZWd1bGFyX0V4cHJlc3Npb25fTGl0ZXJhbHMvUzcuOC41X0EzLjFfVDgtZGlm
Zi50eHRVVAUAA/qT91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACADzemRGiJowwZgAAACuAAAA
dQAYAAAAAAABAAAApIEtcAUAc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRp
b25zLzcuOF9MaXRlcmFscy83LjguNV9SZWd1bGFyX0V4cHJlc3Npb25fTGl0ZXJhbHMvUzcuOC41
X0EzLjFfVDgtZXhwZWN0ZWQudHh0VVQFAAP6k/dUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA
9HpkRvu7QBkSCAAARRoAAHkAGAAAAAAAAQAAAKSBdHEFAHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdf
TGV4aWNhbF9Db252ZW50aW9ucy83LjhfTGl0ZXJhbHMvNy44LjVfUmVndWxhcl9FeHByZXNzaW9u
X0xpdGVyYWxzL1M3LjguNV9BMy4xX1Q4LXByZXR0eS1kaWZmLmh0bWxVVAUAA/uT91R1eAsAAQT1
AQAABFAAAABQSwECHgMUAAIACAD0emRGkJdM2JkAAACwAAAAcwAYAAAAAAABAAAApIE5egUAc3B1
dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuOF9MaXRlcmFscy83Ljgu
NV9SZWd1bGFyX0V4cHJlc3Npb25fTGl0ZXJhbHMvUzcuOC41X0EzLjFfVDktYWN0dWFsLnR4dFVU
BQAD+5P3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAPR6ZEZvIWX6IwEAAJQCAABxABgAAAAA
AAEAAACkgX97BQBzcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy44
X0xpdGVyYWxzLzcuOC41X1JlZ3VsYXJfRXhwcmVzc2lvbl9MaXRlcmFscy9TNy44LjVfQTMuMV9U
OS1kaWZmLnR4dFVUBQAD+5P3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAPR6ZEbOQiGLmAAA
AK4AAAB1ABgAAAAAAAEAAACkgU19BQBzcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29u
dmVudGlvbnMvNy44X0xpdGVyYWxzLzcuOC41X1JlZ3VsYXJfRXhwcmVzc2lvbl9MaXRlcmFscy9T
Ny44LjVfQTMuMV9UOS1leHBlY3RlZC50eHRVVAUAA/uT91R1eAsAAQT1AQAABFAAAABQSwECHgMU
AAIACAD0emRGQnDjeRIIAABFGgAAeQAYAAAAAAABAAAApIGUfgUAc3B1dG5pay9Db25mb3JtYW5j
ZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuOF9MaXRlcmFscy83LjguNV9SZWd1bGFyX0V4cHJl
c3Npb25fTGl0ZXJhbHMvUzcuOC41X0EzLjFfVDktcHJldHR5LWRpZmYuaHRtbFVUBQAD+5P3VHV4
CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAAO16ZEYAAAAAAAAAAAAAAAAhABgAAAAAAAAAEADtQVmH
BQBzcHV0bmlrL0NvbmZvcm1hbmNlLzEyX1N0YXRlbWVudC9VVAUAA+6T91R1eAsAAQT1AQAABFAA
AABQSwECHgMKAAAAAADtemRGAAAAAAAAAAAAAAAAPAAYAAAAAAAAABAA7UG0hwUAc3B1dG5pay9D
b25mb3JtYW5jZS8xMl9TdGF0ZW1lbnQvMTIuMTFfVGhlX3N3aXRjaF9TdGF0ZW1lbnQvVVQFAAPu
k/dUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA7XpkRpU6/hiUAAAArwAAAFMAGAAAAAAAAQAA
AKSBKogFAHNwdXRuaWsvQ29uZm9ybWFuY2UvMTJfU3RhdGVtZW50LzEyLjExX1RoZV9zd2l0Y2hf
U3RhdGVtZW50L1MxMi4xMV9BM19UNS1hY3R1YWwudHh0VVQFAAPtk/dUdXgLAAEE9QEAAARQAAAA
UEsBAh4DFAACAAgA7XpkRsl0j6MFAQAAWQIAAFEAGAAAAAAAAQAAAKSBS4kFAHNwdXRuaWsvQ29u
Zm9ybWFuY2UvMTJfU3RhdGVtZW50LzEyLjExX1RoZV9zd2l0Y2hfU3RhdGVtZW50L1MxMi4xMV9B
M19UNS1kaWZmLnR4dFVUBQAD7ZP3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAO16ZEaLoAbz
kgAAAK0AAABVABgAAAAAAAEAAACkgduKBQBzcHV0bmlrL0NvbmZvcm1hbmNlLzEyX1N0YXRlbWVu
dC8xMi4xMV9UaGVfc3dpdGNoX1N0YXRlbWVudC9TMTIuMTFfQTNfVDUtZXhwZWN0ZWQudHh0VVQF
AAPtk/dUdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA7XpkRhz1L8XyBwAAOhoAAFkAGAAAAAAA
AQAAAKSB/IsFAHNwdXRuaWsvQ29uZm9ybWFuY2UvMTJfU3RhdGVtZW50LzEyLjExX1RoZV9zd2l0
Y2hfU3RhdGVtZW50L1MxMi4xMV9BM19UNS1wcmV0dHktZGlmZi5odG1sVVQFAAPuk/dUdXgLAAEE
9QEAAARQAAAAUEsBAh4DCgAAAAAA7XpkRgAAAAAAAAAAAAAAADsAGAAAAAAAAAAQAO1BgZQFAHNw
dXRuaWsvQ29uZm9ybWFuY2UvMTJfU3RhdGVtZW50LzEyLjZfSXRlcmF0aW9uX1N0YXRlbWVudHMv
VVQFAAPuk/dUdXgLAAEE9QEAAARQAAAAUEsBAh4DCgAAAAAA7XpkRgAAAAAAAAAAAAAAAFQAGAAA
AAAAAAAQAO1B9pQFAHNwdXRuaWsvQ29uZm9ybWFuY2UvMTJfU3RhdGVtZW50LzEyLjZfSXRlcmF0
aW9uX1N0YXRlbWVudHMvMTIuNi4zX1RoZV9mb3JfU3RhdGVtZW50L1VUBQAD7pP3VHV4CwABBPUB
AAAEUAAAAFBLAQIeAxQAAgAIAO16ZEZSpRbSmAAAALkAAABuABgAAAAAAAEAAACkgYSVBQBzcHV0
bmlrL0NvbmZvcm1hbmNlLzEyX1N0YXRlbWVudC8xMi42X0l0ZXJhdGlvbl9TdGF0ZW1lbnRzLzEy
LjYuM19UaGVfZm9yX1N0YXRlbWVudC9TMTIuNi4zX0E4LjFfVDMtYWN0dWFsLnR4dFVUBQAD7pP3
VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAO16ZEbW0BlGFwEAAKACAABsABgAAAAAAAEAAACk
gcSWBQBzcHV0bmlrL0NvbmZvcm1hbmNlLzEyX1N0YXRlbWVudC8xMi42X0l0ZXJhdGlvbl9TdGF0
ZW1lbnRzLzEyLjYuM19UaGVfZm9yX1N0YXRlbWVudC9TMTIuNi4zX0E4LjFfVDMtZGlmZi50eHRV
VAUAA+6T91R1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACADtemRGuyHjmZcAAAC3AAAAcAAYAAAA
AAABAAAApIGBmAUAc3B1dG5pay9Db25mb3JtYW5jZS8xMl9TdGF0ZW1lbnQvMTIuNl9JdGVyYXRp
b25fU3RhdGVtZW50cy8xMi42LjNfVGhlX2Zvcl9TdGF0ZW1lbnQvUzEyLjYuM19BOC4xX1QzLWV4
cGVjdGVkLnR4dFVUBQAD7pP3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAO16ZEZEzEAyBAgA
AGYaAAB0ABgAAAAAAAEAAACkgcKZBQBzcHV0bmlrL0NvbmZvcm1hbmNlLzEyX1N0YXRlbWVudC8x
Mi42X0l0ZXJhdGlvbl9TdGF0ZW1lbnRzLzEyLjYuM19UaGVfZm9yX1N0YXRlbWVudC9TMTIuNi4z
X0E4LjFfVDMtcHJldHR5LWRpZmYuaHRtbFVUBQAD7pP3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQA
AgAIABh7ZEaYN2Yak6oGAOi7JgAKABgAAAAAAAEAAACkgXSiBQBzdGF0cy5qc29uVVQFAAM/lPdU
dXgLAAEE9QEAAARQAAAAUEsBAh4DCgAAAAAACXVkRgAAAAAAAAAAAAAAAAQAGAAAAAAAAAAQAO1B
S00MAHN2Zy9VVAUAA9GJ91R1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAAAJdWRGAAAAAAAAAAAA
AAAACwAYAAAAAAAAABAA7UGJTQwAc3ZnL3N0cm9rZS9VVAUAA9GJ91R1eAsAAQT1AQAABFAAAABQ
SwECHgMUAAIACAD3emRGeBjsYH4AAACNAAAAJQAYAAAAAAABAAAApIHOTQwAc3ZnL3N0cm9rZS96
ZXJvLXdpZHRoLWhhbmctc3RkZXJyLnR4dFVUBQADAZT3VHV4CwABBPUBAAAEUAAAAFBLAQIeAwoA
AAAAAC51ZEYAAAAAAAAAAAAAAAAJABgAAAAAAAAAEADtQatODAB3ZWJhdWRpby9VVAUAAxiK91R1
eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAAcdWRG1wIET2kAAAB3AAAAKwAYAAAAAAABAAAApIHu
TgwAd2ViYXVkaW8vYXVkaW9idWZmZXJzb3VyY2UtZW5kZWQtYWN0dWFsLnR4dFVUBQAD94n3VHV4
CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIABx1ZEaIjNL52QAAAIsBAAApABgAAAAAAAEAAACkgbxP
DAB3ZWJhdWRpby9hdWRpb2J1ZmZlcnNvdXJjZS1lbmRlZC1kaWZmLnR4dFVUBQAD94n3VHV4CwAB
BPUBAAAEUAAAAFBLAQIeAxQAAgAIABx1ZEZbNiPZUgAAAF8AAAAtABgAAAAAAAEAAACkgfhQDAB3
ZWJhdWRpby9hdWRpb2J1ZmZlcnNvdXJjZS1lbmRlZC1leHBlY3RlZC50eHRVVAUAA/eJ91R1eAsA
AQT1AQAABFAAAABQSwECHgMUAAIACAAcdWRGn5QXHb0HAABzGQAAMQAYAAAAAAABAAAApIGxUQwA
d2ViYXVkaW8vYXVkaW9idWZmZXJzb3VyY2UtZW5kZWQtcHJldHR5LWRpZmYuaHRtbFVUBQAD94n3
VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAC51ZEah+rcfZAAAAHAAAAAkABgAAAAAAAEAAACk
gdlZDAB3ZWJhdWRpby9vc2NpbGxhdG9yLWVuZGVkLWFjdHVhbC50eHRVVAUAAxiK91R1eAsAAQT1
AQAABFAAAABQSwECHgMUAAIACAAudWRGSrQ4ZtIAAABzAQAAIgAYAAAAAAABAAAApIGbWgwAd2Vi
YXVkaW8vb3NjaWxsYXRvci1lbmRlZC1kaWZmLnR4dFVUBQADGIr3VHV4CwABBPUBAAAEUAAAAFBL
AQIeAxQAAgAIAC51ZEaqzBxDTQAAAFUAAAAmABgAAAAAAAEAAACkgclbDAB3ZWJhdWRpby9vc2Np
bGxhdG9yLWVuZGVkLWV4cGVjdGVkLnR4dFVUBQADGIr3VHV4CwABBPUBAAAEUAAAAFBLAQIeAxQA
AgAIAC51ZEYNZlhGtQcAAGIZAAAqABgAAAAAAAEAAACkgXZcDAB3ZWJhdWRpby9vc2NpbGxhdG9y
LWVuZGVkLXByZXR0eS1kaWZmLmh0bWxVVAUAAxiK91R1eAsAAQT1AQAABFAAAABQSwUGAAAAAE8B
TwEkqgAAj2QMAAAA
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>247909</attachid>
            <date>2015-03-04 16:24:11 -0800</date>
            <delta_ts>2015-03-04 16:24:11 -0800</delta_ts>
            <desc>Archive of layout-test-results from ews106 for mac-mavericks-wk2</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>1071719</size>
            <attacher name="Build Bot">buildbot</attacher>
            
              <data encoding="base64">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
kS6Q/sYCPL2PWJJDQu9I8+957cYNrx0CYyam43RfZHs6cLmKqWs5Lq5Fwk7raLNgPicJpe1PSXAb
RNV1XaP9GdvFCHRdyWaFaDgTCDVcW/wQVddELhp4UVxdFNtKFo3iiNeW+FElr8nEw53qMcr8h/c8
17IKTuv/+v8BUEsDBAoAAAAAAG12ZEYAAAAAAAAAAAAAAAAOABwAYWNjZXNzaWJpbGl0eS9VVAkA
A22M91RtmPdUdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAJ18ZEYCKpQAUgAAAFcAAAAsABwAYWNj
ZXNzaWJpbGl0eS9hcmlhLWZhbGxiYWNrLXJvbGVzLXN0ZGVyci50eHRVVAkAAxqX91RfjPdUdXgL
AAEE9QEAAAQUAAAADcgxDoAgDADA3Vd0Y0Ieob7AROcKNZFga9qS+Hy98SbprQCLQ1ZCJ0Aw5HLI
C/Q6sV3CcIpCSJu0fpOlGR3Tsq9JyaRr/qtadDKPj5iP1cLwAVBLAwQUAAIACACgfGRGAiqUAFIA
AABXAAAANgAcAGFjY2Vzc2liaWxpdHkvYXJpYS10b2dnbGUtYnV0dG9uLXdpdGgtdGl0bGUtc3Rk
ZXJyLnR4dFVUCQADHJf3VGGM91R1eAsAAQT1AQAABBQAAAANyDEOgCAMAMDdV3RjQh6hvsBE5wo1
kWBr2pL4fL3xJumtAItDVkInQDDkcsgL9DqxXcJwikJIm7R+k6UZHdOyr0nJpGv+q1p0Mo+PmI/V
wvABUEsDBBQAAgAIAGx2ZEYAFTctfgAAAMcAAAA1ABwAYWNjZXNzaWJpbGl0eS90ZXh0YXJlYS1z
ZWxlY3RlZC10ZXh0LXJhbmdlLWFjdHVhbC50eHRVVAkAA2yM91RsjPdUdXgLAAEE9QEAAAQUAAAA
c3P09FEoSa0ocSxKTdQrTs1JTS5JTQkBCgQl5qWnKhRn5JfmpCgkpSpUm+goGNTqKYQnFitUG4DZ
XAGOwcH4dGcWK6hXW+goGNWqE6fWyBRkMFRxcWlycmpxcVppTk5lQGJRcWoKSFFJUWkqF1eIa3CI
grO/b4CPa4grFxcAUEsDBBQAAgAIAGx2ZEbj+C7O3AAAAPABAAAzABwAYWNjZXNzaWJpbGl0eS90
ZXh0YXJlYS1zZWxlY3RlZC10ZXh0LXJhbmdlLWRpZmYudHh0VVQJAANsjPdUbIz3VHV4CwABBPUB
AAAEFAAAAL2QwUrEQAyG7/MUue2hTWddVvDYigqih2Ur9py2UQdGK5MMtCy+u51Wr7InL5nw8338
YRAR7PPg4zuLvSEle9vUtuH2wenPcx2d7+2RPZOw9TQNUVFZFANL9CqWuo5FXOu808kqj0qBCWVW
OuUeU4KBPl4ZefxcskJHNVmW/Ws5dRrJL9VlCXiR7yFLoywNHqq6hsRWs1382k9zcEwuOIHNaZ/D
9mtjsrvq/vEvWN6G6HtoGValgIYETttlN3BW11UOu7nrPHh3uV620hKXP3mJ3k8HCsJ9ojRENt9Q
SwMEFAACAAgAbHZkRrzXe3FkAAAAtQAAADcAHABhY2Nlc3NpYmlsaXR5L3RleHRhcmVhLXNlbGVj
dGVkLXRleHQtcmFuZ2UtZXhwZWN0ZWQudHh0VVQJAANsjPdUbIz3VHV4CwABBPUBAAAEFAAAAAtw
DA5WKEmtKHEsSk3UK07NSU0uSU0JAQoEJealpypkFiuoV5voKBjUqnMFEKPWQkfBiFi1RqZIBheX
JienFhenlebkVAYkFhWnpoAUlRSVpnJxhbgGhyg4+/sG+LiGuHJxAQBQSwMEFAACAAgAbXZkRgaH
DzfxBwAARRoAADsAHABhY2Nlc3NpYmlsaXR5L3RleHRhcmVhLXNlbGVjdGVkLXRleHQtcmFuZ2Ut
cHJldHR5LWRpZmYuaHRtbFVUCQADbYz3VG2M91R1eAsAAQT1AQAABBQAAAC1WWuP3LYV/b6/QthF
s0CwkubpzmM9hb0PNGgSGNmg/lhQEjWilxJVktqdseP/3suXRtJIM1ukdeBIIi/Jc5/ncnybyZxu
Lm4zjBJ45FgiL84QF1i+v65k6i+uYVjIPcWbixUlxfONt3ohgkiceN8uPPgj8U76CY4ZR5KwYuUV
rMBrPRUxnmDuR0xKlq+8cbnzEnjHyfri+4XZzm4SM8r4yrsaTZd6LngkFN+TNLXzEYqft5xVReI7
0XSh/mseZE4QjJLEu0qSxMylrJB+inJC9ysvZwUTJYotwBzxLQHIY5x7IzNUMlBO68ExBY1esAaU
jTtIp9Npz/4CFcIXmJO0MSnIV6zPaB7qU5zKlTcK5m48IaKkCDYhBVjGInwlicxg8Wj0F4sPJQkp
tvVKg826Rr21vWPhkiIDULIWz9gL5h2N5vP5esjYGBszBMonP8NZwi5OKUOgBifbTLY9p6TuQH0E
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
AAAAUEsDBBQAAgAIAKJ8ZEbawG5P4QAAAE4DAAAuABwAY29tcG9zaXRpbmcvZ2VvbWV0cnkvb3V0
bGluZS1jaGFuZ2Utc3RkZXJyLnR4dFVUCQADIJf3VGSM91R1eAsAAQT1AQAABBQAAADtkbtOxDAQ
RWv2K6YEaeN4k3gfblmKFSBAIFEgCtuZzY6Ix5Fjg/h7AqKDEiQKqttcndHcU8mFKmRdyAYWStcr
LWuxWUpwwQszDD2Ke7TnlMR1nztiUVdii8/Yh8Ejpwe1blSjVyjtI5zFGCL0wbTEHZQXZKOJr+WO
E0bGBO+EYsdjeZPJPd2RR/iEDh9RnoapymksL427uv1S0wDtdBf5+OfZc6iW6kQDBxgzJWN7BPKm
Q9iHzK0A2FILe+JWz45+4zVv3KEIc7A5wUsM04AmugMldClHnFXfaqr+Nf0tTW9QSwMECgAAAAAA
aHZkRgAAAAAAAAAAAAAAAAcAHABjcnlwdG8vVVQJAANkjPdUbZj3VHV4CwABBPUBAAAEFAAAAFBL
AwQUAAIACACifGRGrKVzTWIAAABuAAAALQAcAGNyeXB0by9jcnlwdG8tcmFuZG9tLXZhbHVlcy1s
aW1pdHMtc3RkZXJyLnR4dFVUCQADH5f3VGSM91R1eAsAAQT1AQAABBQAAAANyjEOwkAMBMCeV7hL
hx8BVNCBSO1cjGR0nJG9lpLfw9Rz8uorDQe1UIGSUMpYF99IN+hI80EvD5r46b0+mnwWCF/mO8+6
XA18k90LD00kt9i/cA5Nr2j/XLBuMM3jO6fDD1BLAwQUAAIACACifGRGrKVzTWIAAABuAAAAJgAc
AGNyeXB0by9jcnlwdG8tcmFuZG9tLXZhbHVlcy1zdGRlcnIudHh0VVQJAAMfl/dUZIz3VHV4CwAB
BPUBAAAEFAAAAA3KMQ7CQAwEwJ5XuEuHHwFU0IFI7VyMZHSckb2Wkt/D1HPy6isNB7VQgZJQylgX
30g36EjzQS8PmvjpvT6afBYIX+Y7z7pcDXyT3QsPTSS32L9wDk2vaP9csG4wzeM7p8MPUEsDBBQA
AgAIAKJ8ZEaspXNNYgAAAG4AAAAsABwAY3J5cHRvL2NyeXB0by1yYW5kb20tdmFsdWVzLXR5cGVz
LXN0ZGVyci50eHRVVAkAAx+X91RkjPdUdXgLAAEE9QEAAAQUAAAADcoxDsJADATAnle4S4cfAVTQ
gUjtXIxkdJyRvZaS38PUc/LqKw0HtVCBklDKWBffSDfoSPNBLw+a+Om9Ppp8Fghf5jvPulwNfJPd
Cw9NJLfYv3AOTa9o/1ywbjDN4zunww9QSwMECgAAAAAAdXZkRgAAAAAAAAAAAAAAAAQAHABkb20v
VVQJAAN9jPdUbZj3VHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAB0dmRGAAAAAAAAAAAAAAAACQAc
AGRvbS9odG1sL1VUCQADfIz3VG2Y91R1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAdHZkRgAAAAAA
AAAAAAAAABAAHABkb20vaHRtbC9sZXZlbDIvVVQJAAN8jPdUbZj3VHV4CwABBPUBAAAEFAAAAFBL
AwQKAAAAAACBdmRGAAAAAAAAAAAAAAAAFQAcAGRvbS9odG1sL2xldmVsMi9odG1sL1VUCQADkYz3
VG2Y91R1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAuHxkRslWcxNnAAAAcwAAACYAHABkb20vaHRt
bC9sZXZlbDIvaHRtbC9ib2R5MDEtc3RkZXJyLnR4dFVUCQADS5f3VJCM91R1eAsAAQT1AQAABBQA
AAAlxrESgjAMANCdr8jGZk5+QZxk05M5pUF7pI1HUq/+PYNvehetEqGow7IzOQOBUYlBG3BzLpa0
wKo79PhUqZkNR3LC63zHmcMtOU700+oPNjeMmvHtWVD4yzL8/0kNAy3b+fRKa98dUEsDBBQAAgAI
AK58ZEbJVnMTZwAAAHMAAAAxABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTEJvZHlFbGVtZW50
MDEtc3RkZXJyLnR4dFVUCQADN5f3VHyM91R1eAsAAQT1AQAABBQAAAAlxrESgjAMANCdr8jGZk5+
QZxk05M5pUF7pI1HUq/+PYNvehetEqGow7IzOQOBUYlBG3BzLpa0wKo79PhUqZkNR3LC63zHmcMt
OU700+oPNjeMmvHtWVD4yzL8/0kNAy3b+fRKa98dUEsDBBQAAgAIAK58ZEbJVnMTZwAAAHMAAAAx
ABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTEJvZHlFbGVtZW50MDItc3RkZXJyLnR4dFVUCQAD
N5f3VHyM91R1eAsAAQT1AQAABBQAAAAlxrESgjAMANCdr8jGZk5+QZxk05M5pUF7pI1HUq/+PYNv
ehetEqGow7IzOQOBUYlBG3BzLpa0wKo79PhUqZkNR3LC63zHmcMtOU700+oPNjeMmvHtWVD4yzL8
/0kNAy3b+fRKa98dUEsDBBQAAgAIAK58ZEbJVnMTZwAAAHMAAAAxABwAZG9tL2h0bWwvbGV2ZWwy
L2h0bWwvSFRNTEJvZHlFbGVtZW50MDMtc3RkZXJyLnR4dFVUCQADN5f3VHyM91R1eAsAAQT1AQAA
BBQAAAAlxrESgjAMANCdr8jGZk5+QZxk05M5pUF7pI1HUq/+PYNvehetEqGow7IzOQOBUYlBG3Bz
Lpa0wKo79PhUqZkNR3LC63zHmcMtOU700+oPNjeMmvHtWVD4yzL8/0kNAy3b+fRKa98dUEsDBBQA
AgAIAK58ZEbJVnMTZwAAAHMAAAAxABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTEJvZHlFbGVt
ZW50MDQtc3RkZXJyLnR4dFVUCQADN5f3VHyM91R1eAsAAQT1AQAABBQAAAAlxrESgjAMANCdr8jG
Zk5+QZxk05M5pUF7pI1HUq/+PYNvehetEqGow7IzOQOBUYlBG3BzLpa0wKo79PhUqZkNR3LC63zH
mcMtOU700+oPNjeMmvHtWVD4yzL8/0kNAy3b+fRKa98dUEsDBBQAAgAIAK58ZEbJVnMTZwAAAHMA
AAAxABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTEJvZHlFbGVtZW50MDUtc3RkZXJyLnR4dFVU
CQADN5f3VHyM91R1eAsAAQT1AQAABBQAAAAlxrESgjAMANCdr8jGZk5+QZxk05M5pUF7pI1HUq/+
PYNvehetEqGow7IzOQOBUYlBG3BzLpa0wKo79PhUqZkNR3LC63zHmcMtOU700+oPNjeMmvHtWVD4
yzL8/0kNAy3b+fRKa98dUEsDBBQAAgAIAK58ZEbJVnMTZwAAAHMAAAAxABwAZG9tL2h0bWwvbGV2
ZWwyL2h0bWwvSFRNTEJvZHlFbGVtZW50MDYtc3RkZXJyLnR4dFVUCQADN5f3VHyM91R1eAsAAQT1
AQAABBQAAAAlxrESgjAMANCdr8jGZk5+QZxk05M5pUF7pI1HUq/+PYNvehetEqGow7IzOQOBUYlB
G3BzLpa0wKo79PhUqZkNR3LC63zHmcMtOU700+oPNjeMmvHtWVD4yzL8/0kNAy3b+fRKa98dUEsD
BBQAAgAIAK58ZEba1N1RcgAAAFUBAAAxABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTEJvZHlF
bGVtZW50MDctc3RkZXJyLnR4dFVUCQADN5f3VHyM91R1eAsAAQT1AQAABBQAAAC9zTEOwjAMAMCd
V3jrVkt8oTCVDURnl7jFkhOj2kHh9wz9Q7fbbrCqCYoFvDamYCBwKmm2BtyCi4sVWGyDDp+mNbPj
hYLwOt1x4nmUwBv9rMaDPRyTZXxHVlT+sp53f6RhCu9XWbrTcFCoUvjg0Vbbxz9QSwMEFAACAAgA
rnxkRtrU3VFyAAAAVQEAADEAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MQm9keUVsZW1lbnQw
OC1zdGRlcnIudHh0VVQJAAM3l/dUfIz3VHV4CwABBPUBAAAEFAAAAL3NMQ7CMAwAwJ1XeOtWS3yh
MJUNRGeXuMWSE6PaQeH3DP1Dt9tusKoJigW8NqZgIHAqabYG3IKLixVYbIMOn6Y1s+OFgvA63XHi
eZTAG/2sxoM9HJNlfEdWVP6ynnd/pGEK71dZutNwUKhS+ODRVtvHP1BLAwQUAAIACACufGRG2tTd
UXIAAABVAQAAMQAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxCb2R5RWxlbWVudDA5LXN0ZGVy
ci50eHRVVAkAAzeX91R8jPdUdXgLAAEE9QEAAAQUAAAAvc0xDsIwDADAnVd461ZLfKEwlQ1EZ5e4
xZITo9pB4fcM/UO3226wqgmKBbw2pmAgcCpptgbcgouLFVhsgw6fpjWz44WC8DrdceJ5lMAb/azG
gz0ck2V8R1ZU/rKed3+kYQrvV1m603BQqFL44NFW28c/UEsDBBQAAgAIAK58ZEba1N1RcgAAAFUB
AAAxABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTEJvZHlFbGVtZW50MTAtc3RkZXJyLnR4dFVU
CQADN5f3VHyM91R1eAsAAQT1AQAABBQAAAC9zTEOwjAMAMCdV3jrVkt8oTCVDURnl7jFkhOj2kHh
9wz9Q7fbbrCqCYoFvDamYCBwKmm2BtyCi4sVWGyDDp+mNbPjhYLwOt1x4nmUwBv9rMaDPRyTZXxH
VlT+sp53f6RhCu9XWbrTcFCoUvjg0Vbbxz9QSwMEFAACAAgArnxkRtrU3VFyAAAAVQEAADEAHABk
b20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MQm9keUVsZW1lbnQxMS1zdGRlcnIudHh0VVQJAAM3l/dU
fIz3VHV4CwABBPUBAAAEFAAAAL3NMQ7CMAwAwJ1XeOtWS3yhMJUNRGeXuMWSE6PaQeH3DP1Dt9tu
sKoJigW8NqZgIHAqabYG3IKLixVYbIMOn6Y1s+OFgvA63XHieZTAG/2sxoM9HJNlfEdWVP6ynnd/
pGEK71dZutNwUKhS+ODRVtvHP1BLAwQUAAIACACufGRG2tTdUXIAAABVAQAAMQAcAGRvbS9odG1s
L2xldmVsMi9odG1sL0hUTUxCb2R5RWxlbWVudDEyLXN0ZGVyci50eHRVVAkAAzeX91R8jPdUdXgL
AAEE9QEAAAQUAAAAvc0xDsIwDADAnVd461ZLfKEwlQ1EZ5e4xZITo9pB4fcM/UO3226wqgmKBbw2
pmAgcCpptgbcgouLFVhsgw6fpjWz44WC8DrdceJ5lMAb/azGgz0ck2V8R1ZU/rKed3+kYQrvV1m6
03BQqFL44NFW28c/UEsDBBQAAgAIAK58ZEba1N1RcgAAAFUBAAAuABwAZG9tL2h0bWwvbGV2ZWwy
L2h0bWwvSFRNTERvY3VtZW50MDEtc3RkZXJyLnR4dFVUCQADOJf3VH2M91R1eAsAAQT1AQAABBQA
AAC9zTEOwjAMAMCdV3jrVkt8oTCVDURnl7jFkhOj2kHh9wz9Q7fbbrCqCYoFvDamYCBwKmm2BtyC
i4sVWGyDDp+mNbPjhYLwOt1x4nmUwBv9rMaDPRyTZXxHVlT+sp53f6RhCu9XWbrTcFCoUvjg0Vbb
xz9QSwMEFAACAAgArnxkRtrU3VFyAAAAVQEAAC4AHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1M
RG9jdW1lbnQwMi1zdGRlcnIudHh0VVQJAAM4l/dUfYz3VHV4CwABBPUBAAAEFAAAAL3NMQ7CMAwA
wJ1XeOtWS3yhMJUNRGeXuMWSE6PaQeH3DP1Dt9tusKoJigW8NqZgIHAqabYG3IKLixVYbIMOn6Y1
s+OFgvA63XHieZTAG/2sxoM9HJNlfEdWVP6ynnd/pGEK71dZutNwUKhS+ODRVtvHP1BLAwQUAAIA
CACufGRG2tTdUXIAAABVAQAALgAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDAz
LXN0ZGVyci50eHRVVAkAAziX91R9jPdUdXgLAAEE9QEAAAQUAAAAvc0xDsIwDADAnVd461ZLfKEw
lQ1EZ5e4xZITo9pB4fcM/UO3226wqgmKBbw2pmAgcCpptgbcgouLFVhsgw6fpjWz44WC8DrdceJ5
lMAb/azGgz0ck2V8R1ZU/rKed3+kYQrvV1m603BQqFL44NFW28c/UEsDBBQAAgAIAK58ZEba1N1R
cgAAAFUBAAAuABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTERvY3VtZW50MDQtc3RkZXJyLnR4
dFVUCQADOJf3VH2M91R1eAsAAQT1AQAABBQAAAC9zTEOwjAMAMCdV3jrVkt8oTCVDURnl7jFkhOj
2kHh9wz9Q7fbbrCqCYoFvDamYCBwKmm2BtyCi4sVWGyDDp+mNbPjhYLwOt1x4nmUwBv9rMaDPRyT
ZXxHVlT+sp53f6RhCu9XWbrTcFCoUvjg0Vbbxz9QSwMEFAACAAgArnxkRtrU3VFyAAAAVQEAAC4A
HABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQwNS1zdGRlcnIudHh0VVQJAAM4l/dU
fYz3VHV4CwABBPUBAAAEFAAAAL3NMQ7CMAwAwJ1XeOtWS3yhMJUNRGeXuMWSE6PaQeH3DP1Dt9tu
sKoJigW8NqZgIHAqabYG3IKLixVYbIMOn6Y1s+OFgvA63XHieZTAG/2sxoM9HJNlfEdWVP6ynnd/
pGEK71dZutNwUKhS+ODRVtvHP1BLAwQUAAIACACufGRG2tTdUXIAAABVAQAALgAcAGRvbS9odG1s
L2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDA3LXN0ZGVyci50eHRVVAkAAziX91R9jPdUdXgLAAEE
9QEAAAQUAAAAvc0xDsIwDADAnVd461ZLfKEwlQ1EZ5e4xZITo9pB4fcM/UO3226wqgmKBbw2pmAg
cCpptgbcgouLFVhsgw6fpjWz44WC8DrdceJ5lMAb/azGgz0ck2V8R1ZU/rKed3+kYQrvV1m603BQ
qFL44NFW28c/UEsDBBQAAgAIAK58ZEba1N1RcgAAAFUBAAAuABwAZG9tL2h0bWwvbGV2ZWwyL2h0
bWwvSFRNTERvY3VtZW50MDgtc3RkZXJyLnR4dFVUCQADOJf3VH2M91R1eAsAAQT1AQAABBQAAAC9
zTEOwjAMAMCdV3jrVkt8oTCVDURnl7jFkhOj2kHh9wz9Q7fbbrCqCYoFvDamYCBwKmm2BtyCi4sV
WGyDDp+mNbPjhYLwOt1x4nmUwBv9rMaDPRyTZXxHVlT+sp53f6RhCu9XWbrTcFCoUvjg0Vbbxz9Q
SwMEFAACAAgArnxkRtrU3VFyAAAAVQEAAC4AHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9j
dW1lbnQwOS1zdGRlcnIudHh0VVQJAAM4l/dUfYz3VHV4CwABBPUBAAAEFAAAAL3NMQ7CMAwAwJ1X
eOtWS3yhMJUNRGeXuMWSE6PaQeH3DP1Dt9tusKoJigW8NqZgIHAqabYG3IKLixVYbIMOn6Y1s+OF
gvA63XHieZTAG/2sxoM9HJNlfEdWVP6ynnd/pGEK71dZutNwUKhS+ODRVtvHP1BLAwQUAAIACACu
fGRG2tTdUXIAAABVAQAALgAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDEwLXN0
ZGVyci50eHRVVAkAAziX91R9jPdUdXgLAAEE9QEAAAQUAAAAvc0xDsIwDADAnVd461ZLfKEwlQ1E
Z5e4xZITo9pB4fcM/UO3226wqgmKBbw2pmAgcCpptgbcgouLFVhsgw6fpjWz44WC8DrdceJ5lMAb
/azGgz0ck2V8R1ZU/rKed3+kYQrvV1m603BQqFL44NFW28c/UEsDBBQAAgAIAK58ZEba1N1RcgAA
AFUBAAAuABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTERvY3VtZW50MTEtc3RkZXJyLnR4dFVU
CQADOJf3VH2M91R1eAsAAQT1AQAABBQAAAC9zTEOwjAMAMCdV3jrVkt8oTCVDURnl7jFkhOj2kHh
9wz9Q7fbbrCqCYoFvDamYCBwKmm2BtyCi4sVWGyDDp+mNbPjhYLwOt1x4nmUwBv9rMaDPRyTZXxH
VlT+sp53f6RhCu9XWbrTcFCoUvjg0Vbbxz9QSwMEFAACAAgArnxkRtrU3VFyAAAAVQEAAC4AHABk
b20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQxMi1zdGRlcnIudHh0VVQJAAM4l/dUfYz3
VHV4CwABBPUBAAAEFAAAAL3NMQ7CMAwAwJ1XeOtWS3yhMJUNRGeXuMWSE6PaQeH3DP1Dt9tusKoJ
igW8NqZgIHAqabYG3IKLixVYbIMOn6Y1s+OFgvA63XHieZTAG/2sxoM9HJNlfEdWVP6ynnd/pGEK
71dZutNwUKhS+ODRVtvHP1BLAwQUAAIACACufGRG2tTdUXIAAABVAQAALgAcAGRvbS9odG1sL2xl
dmVsMi9odG1sL0hUTUxEb2N1bWVudDEzLXN0ZGVyci50eHRVVAkAAziX91R9jPdUdXgLAAEE9QEA
AAQUAAAAvc0xDsIwDADAnVd461ZLfKEwlQ1EZ5e4xZITo9pB4fcM/UO3226wqgmKBbw2pmAgcCpp
tgbcgouLFVhsgw6fpjWz44WC8DrdceJ5lMAb/azGgz0ck2V8R1ZU/rKed3+kYQrvV1m603BQqFL4
4NFW28c/UEsDBBQAAgAIAK58ZEba1N1RcgAAAFUBAAAuABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwv
SFRNTERvY3VtZW50MTQtc3RkZXJyLnR4dFVUCQADOJf3VH6M91R1eAsAAQT1AQAABBQAAAC9zTEO
wjAMAMCdV3jrVkt8oTCVDURnl7jFkhOj2kHh9wz9Q7fbbrCqCYoFvDamYCBwKmm2BtyCi4sVWGyD
Dp+mNbPjhYLwOt1x4nmUwBv9rMaDPRyTZXxHVlT+sp53f6RhCu9XWbrTcFCoUvjg0Vbbxz9QSwME
FAACAAgArnxkRtrU3VFyAAAAVQEAAC4AHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1l
bnQxNS1zdGRlcnIudHh0VVQJAAM4l/dUfoz3VHV4CwABBPUBAAAEFAAAAL3NMQ7CMAwAwJ1XeOtW
S3yhMJUNRGeXuMWSE6PaQeH3DP1Dt9tusKoJigW8NqZgIHAqabYG3IKLixVYbIMOn6Y1s+OFgvA6
3XHieZTAG/2sxoM9HJNlfEdWVP6ynnd/pGEK71dZutNwUKhS+ODRVtvHP1BLAwQUAAIACACufGRG
2tTdUXIAAABVAQAALgAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDE2LXN0ZGVy
ci50eHRVVAkAAziX91R+jPdUdXgLAAEE9QEAAAQUAAAAvc0xDsIwDADAnVd461ZLfKEwlQ1EZ5e4
xZITo9pB4fcM/UO3226wqgmKBbw2pmAgcCpptgbcgouLFVhsgw6fpjWz44WC8DrdceJ5lMAb/azG
gz0ck2V8R1ZU/rKed3+kYQrvV1m603BQqFL44NFW28c/UEsDBBQAAgAIAK98ZEba1N1RcgAAAFUB
AAAuABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTERvY3VtZW50MTctc3RkZXJyLnR4dFVUCQAD
OZf3VH6M91R1eAsAAQT1AQAABBQAAAC9zTEOwjAMAMCdV3jrVkt8oTCVDURnl7jFkhOj2kHh9wz9
Q7fbbrCqCYoFvDamYCBwKmm2BtyCi4sVWGyDDp+mNbPjhYLwOt1x4nmUwBv9rMaDPRyTZXxHVlT+
sp53f6RhCu9XWbrTcFCoUvjg0Vbbxz9QSwMEFAACAAgAr3xkRtrU3VFyAAAAVQEAAC4AHABkb20v
aHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQxOC1zdGRlcnIudHh0VVQJAAM5l/dUfoz3VHV4
CwABBPUBAAAEFAAAAL3NMQ7CMAwAwJ1XeOtWS3yhMJUNRGeXuMWSE6PaQeH3DP1Dt9tusKoJigW8
NqZgIHAqabYG3IKLixVYbIMOn6Y1s+OFgvA63XHieZTAG/2sxoM9HJNlfEdWVP6ynnd/pGEK71dZ
utNwUKhS+ODRVtvHP1BLAwQUAAIACACvfGRG2tTdUXIAAABVAQAALgAcAGRvbS9odG1sL2xldmVs
Mi9odG1sL0hUTUxEb2N1bWVudDE5LXN0ZGVyci50eHRVVAkAAzmX91R+jPdUdXgLAAEE9QEAAAQU
AAAAvc0xDsIwDADAnVd461ZLfKEwlQ1EZ5e4xZITo9pB4fcM/UO3226wqgmKBbw2pmAgcCpptgbc
gouLFVhsgw6fpjWz44WC8DrdceJ5lMAb/azGgz0ck2V8R1ZU/rKed3+kYQrvV1m603BQqFL44NFW
28c/UEsDBBQAAgAIAK98ZEba1N1RcgAAAFUBAAAuABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRN
TERvY3VtZW50MjAtc3RkZXJyLnR4dFVUCQADOZf3VH6M91R1eAsAAQT1AQAABBQAAAC9zTEOwjAM
AMCdV3jrVkt8oTCVDURnl7jFkhOj2kHh9wz9Q7fbbrCqCYoFvDamYCBwKmm2BtyCi4sVWGyDDp+m
NbPjhYLwOt1x4nmUwBv9rMaDPRyTZXxHVlT+sp53f6RhCu9XWbrTcFCoUvjg0Vbbxz9QSwMEFAAC
AAgAr3xkRtrU3VFyAAAAVQEAAC4AHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQy
MS1zdGRlcnIudHh0VVQJAAM5l/dUfoz3VHV4CwABBPUBAAAEFAAAAL3NMQ7CMAwAwJ1XeOtWS3yh
MJUNRGeXuMWSE6PaQeH3DP1Dt9tusKoJigW8NqZgIHAqabYG3IKLixVYbIMOn6Y1s+OFgvA63XHi
eZTAG/2sxoM9HJNlfEdWVP6ynnd/pGEK71dZutNwUKhS+ODRVtvHP1BLAwQUAAIACACvfGRG2tTd
UXIAAABVAQAALgAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDIyLXN0ZGVyci50
eHRVVAkAAzmX91R+jPdUdXgLAAEE9QEAAAQUAAAAvc0xDsIwDADAnVd461ZLfKEwlQ1EZ5e4xZIT
o9pB4fcM/UO3226wqgmKBbw2pmAgcCpptgbcgouLFVhsgw6fpjWz44WC8DrdceJ5lMAb/azGgz0c
k2V8R1ZU/rKed3+kYQrvV1m603BQqFL44NFW28c/UEsDBBQAAgAIAK98ZEba1N1RcgAAAFUBAAAu
ABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTERvY3VtZW50MjMtc3RkZXJyLnR4dFVUCQADOZf3
VH6M91R1eAsAAQT1AQAABBQAAAC9zTEOwjAMAMCdV3jrVkt8oTCVDURnl7jFkhOj2kHh9wz9Q7fb
brCqCYoFvDamYCBwKmm2BtyCi4sVWGyDDp+mNbPjhYLwOt1x4nmUwBv9rMaDPRyTZXxHVlT+sp53
f6RhCu9XWbrTcFCoUvjg0Vbbxz9QSwMEFAACAAgAr3xkRtrU3VFyAAAAVQEAAC4AHABkb20vaHRt
bC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQyNC1zdGRlcnIudHh0VVQJAAM5l/dUfoz3VHV4CwAB
BPUBAAAEFAAAAL3NMQ7CMAwAwJ1XeOtWS3yhMJUNRGeXuMWSE6PaQeH3DP1Dt9tusKoJigW8NqZg
IHAqabYG3IKLixVYbIMOn6Y1s+OFgvA63XHieZTAG/2sxoM9HJNlfEdWVP6ynnd/pGEK71dZutNw
UKhS+ODRVtvHP1BLAwQUAAIACACvfGRG2tTdUXIAAABVAQAALgAcAGRvbS9odG1sL2xldmVsMi9o
dG1sL0hUTUxEb2N1bWVudDI1LXN0ZGVyci50eHRVVAkAAzmX91R+jPdUdXgLAAEE9QEAAAQUAAAA
vc0xDsIwDADAnVd461ZLfKEwlQ1EZ5e4xZITo9pB4fcM/UO3226wqgmKBbw2pmAgcCpptgbcgouL
FVhsgw6fpjWz44WC8DrdceJ5lMAb/azGgz0ck2V8R1ZU/rKed3+kYQrvV1m603BQqFL44NFW28c/
UEsDBBQAAgAIAK98ZEba1N1RcgAAAFUBAAAuABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTERv
Y3VtZW50MjYtc3RkZXJyLnR4dFVUCQADOZf3VH6M91R1eAsAAQT1AQAABBQAAAC9zTEOwjAMAMCd
V3jrVkt8oTCVDURnl7jFkhOj2kHh9wz9Q7fbbrCqCYoFvDamYCBwKmm2BtyCi4sVWGyDDp+mNbPj
hYLwOt1x4nmUwBv9rMaDPRyTZXxHVlT+sp53f6RhCu9XWbrTcFCoUvjg0Vbbxz9QSwMEFAACAAgA
r3xkRtrU3VFyAAAAVQEAAC4AHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQyNy1z
dGRlcnIudHh0VVQJAAM5l/dUfoz3VHV4CwABBPUBAAAEFAAAAL3NMQ7CMAwAwJ1XeOtWS3yhMJUN
RGeXuMWSE6PaQeH3DP1Dt9tusKoJigW8NqZgIHAqabYG3IKLixVYbIMOn6Y1s+OFgvA63XHieZTA
G/2sxoM9HJNlfEdWVP6ynnd/pGEK71dZutNwUKhS+ODRVtvHP1BLAwQUAAIACACyfGRGbyBZlGUA
AABxAAAAMgAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJbWFnZUVsZW1lbnQwMS1zdGRlcnIu
dHh0VVQJAANAl/dUhYz3VHV4CwABBPUBAAAEFAAAACXGMQ7CMAwF0J1TeOvGl7gCdIINRGeXuBDJ
iVHtVOH2DH3TO1vTRNWCXqtwCDE51zRbJ+kh1bNVWmylAU/TVsRx4WCM0x2TzNccuPHPWjzEw5Gs
4BNFobKJnvZ/c0cKP77zMhz+UEsDBBQAAgAIALJ8ZEZvIFmUZQAAAHEAAAAyABwAZG9tL2h0bWwv
bGV2ZWwyL2h0bWwvSFRNTEltYWdlRWxlbWVudDAyLXN0ZGVyci50eHRVVAkAA0CX91SFjPdUdXgL
AAEE9QEAAAQUAAAAJcYxDsIwDAXQnVN468aXuAJ0gg1EZ5e4EMmJUe1U4fYMfdM7W9NE1YJeq3AI
MTnXNFsn6SHVs1VabKUBT9NWxHHhYIzTHZPM1xy48c9aPMTDkazgE0Whsome9n9zRwo/vvMyHP5Q
SwMEFAACAAgAsnxkRm8gWZRlAAAAcQAAADIAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MSW1h
Z2VFbGVtZW50MDMtc3RkZXJyLnR4dFVUCQADQJf3VIWM91R1eAsAAQT1AQAABBQAAAAlxjEOwjAM
BdCdU3jrxpe4AnSCDURnl7gQyYlR7VTh9gx90ztb00TVgl6rcAgxOdc0WyfpIdWzVVpspQFP01bE
ceFgjNMdk8zXHLjxz1o8xMORrOATRaGyiZ72f3NHCj++8zIc/lBLAwQUAAIACACyfGRGbyBZlGUA
AABxAAAAMgAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJbWFnZUVsZW1lbnQwNC1zdGRlcnIu
dHh0VVQJAANAl/dUhYz3VHV4CwABBPUBAAAEFAAAACXGMQ7CMAwF0J1TeOvGl7gCdIINRGeXuBDJ
iVHtVOH2DH3TO1vTRNWCXqtwCDE51zRbJ+kh1bNVWmylAU/TVsRx4WCM0x2TzNccuPHPWjzEw5Gs
4BNFobKJnvZ/c0cKP77zMhz+UEsDBBQAAgAIALJ8ZEZvIFmUZQAAAHEAAAAyABwAZG9tL2h0bWwv
bGV2ZWwyL2h0bWwvSFRNTEltYWdlRWxlbWVudDA1LXN0ZGVyci50eHRVVAkAA0CX91SFjPdUdXgL
AAEE9QEAAAQUAAAAJcYxDsIwDAXQnVN468aXuAJ0gg1EZ5e4EMmJUe1U4fYMfdM7W9NE1YJeq3AI
MTnXNFsn6SHVs1VabKUBT9NWxHHhYIzTHZPM1xy48c9aPMTDkazgE0Whsome9n9zRwo/vvMyHP5Q
SwMEFAACAAgAsnxkRm8gWZRlAAAAcQAAADIAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MSW1h
Z2VFbGVtZW50MDYtc3RkZXJyLnR4dFVUCQADQJf3VIWM91R1eAsAAQT1AQAABBQAAAAlxjEOwjAM
BdCdU3jrxpe4AnSCDURnl7gQyYlR7VTh9gx90ztb00TVgl6rcAgxOdc0WyfpIdWzVVpspQFP01bE
ceFgjNMdk8zXHLjxz1o8xMORrOATRaGyiZ72f3NHCj++8zIc/lBLAwQUAAIACACyfGRGbyBZlGUA
AABxAAAAMgAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJbWFnZUVsZW1lbnQwNy1zdGRlcnIu
dHh0VVQJAANAl/dUhYz3VHV4CwABBPUBAAAEFAAAACXGMQ7CMAwF0J1TeOvGl7gCdIINRGeXuBDJ
iVHtVOH2DH3TO1vTRNWCXqtwCDE51zRbJ+kh1bNVWmylAU/TVsRx4WCM0x2TzNccuPHPWjzEw5Gs
4BNFobKJnvZ/c0cKP77zMhz+UEsDBBQAAgAIALJ8ZEZvIFmUZQAAAHEAAAAyABwAZG9tL2h0bWwv
bGV2ZWwyL2h0bWwvSFRNTEltYWdlRWxlbWVudDA4LXN0ZGVyci50eHRVVAkAA0CX91SFjPdUdXgL
AAEE9QEAAAQUAAAAJcYxDsIwDAXQnVN468aXuAJ0gg1EZ5e4EMmJUe1U4fYMfdM7W9NE1YJeq3AI
MTnXNFsn6SHVs1VabKUBT9NWxHHhYIzTHZPM1xy48c9aPMTDkazgE0Whsome9n9zRwo/vvMyHP5Q
SwMEFAACAAgAsnxkRm8gWZRlAAAAcQAAADIAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MSW1h
Z2VFbGVtZW50MDktc3RkZXJyLnR4dFVUCQADQJf3VIWM91R1eAsAAQT1AQAABBQAAAAlxjEOwjAM
BdCdU3jrxpe4AnSCDURnl7gQyYlR7VTh9gx90ztb00TVgl6rcAgxOdc0WyfpIdWzVVpspQFP01bE
ceFgjNMdk8zXHLjxz1o8xMORrOATRaGyiZ72f3NHCj++8zIc/lBLAwQUAAIACACyfGRGbyBZlGUA
AABxAAAAMgAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJbWFnZUVsZW1lbnQxMC1zdGRlcnIu
dHh0VVQJAANAl/dUhYz3VHV4CwABBPUBAAAEFAAAACXGMQ7CMAwF0J1TeOvGl7gCdIINRGeXuBDJ
iVHtVOH2DH3TO1vTRNWCXqtwCDE51zRbJ+kh1bNVWmylAU/TVsRx4WCM0x2TzNccuPHPWjzEw5Gs
4BNFobKJnvZ/c0cKP77zMhz+UEsDBBQAAgAIALJ8ZEZvIFmUZQAAAHEAAAAyABwAZG9tL2h0bWwv
bGV2ZWwyL2h0bWwvSFRNTEltYWdlRWxlbWVudDExLXN0ZGVyci50eHRVVAkAA0CX91SFjPdUdXgL
AAEE9QEAAAQUAAAAJcYxDsIwDAXQnVN468aXuAJ0gg1EZ5e4EMmJUe1U4fYMfdM7W9NE1YJeq3AI
MTnXNFsn6SHVs1VabKUBT9NWxHHhYIzTHZPM1xy48c9aPMTDkazgE0Whsome9n9zRwo/vvMyHP5Q
SwMEFAACAAgAsnxkRm8gWZRlAAAAcQAAADIAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MSW1h
Z2VFbGVtZW50MTItc3RkZXJyLnR4dFVUCQADQJf3VIWM91R1eAsAAQT1AQAABBQAAAAlxjEOwjAM
BdCdU3jrxpe4AnSCDURnl7gQyYlR7VTh9gx90ztb00TVgl6rcAgxOdc0WyfpIdWzVVpspQFP01bE
ceFgjNMdk8zXHLjxz1o8xMORrOATRaGyiZ72f3NHCj++8zIc/lBLAwQUAAIACACyfGRGvh0mWmcA
AAB0AAAAMgAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQwMS1zdGRlcnIu
dHh0VVQJAANAl/dUhYz3VHV4CwABBPUBAAAEFAAAACXGMQ7CMAwAwL2v8NatlvhCYSobiM4OccGS
E6PaqcLvGbjpZmuaoVrAc2cKBgKnmpN14B5cXazCZjuM+DBthR3PFISX9YYrp0UCr/S1Fnf2cMxW
8B1FUflgPf3/kY7eUpGYXrKNww9QSwMEFAACAAgAsnxkRr4dJlpnAAAAdAAAADIAHABkb20vaHRt
bC9sZXZlbDIvaHRtbC9IVE1MSW5wdXRFbGVtZW50MDItc3RkZXJyLnR4dFVUCQADQJf3VIWM91R1
eAsAAQT1AQAABBQAAAAlxjEOwjAMAMC9r/DWrZb4QmEqG4jODnHBkhOj2qnC7xm46WZrmqFawHNn
CgYCp5qTdeAeXF2swmY7jPgwbYUdzxSEl/WGK6dFAq/0tRZ39nDMVvAdRVH5YD39/5GO3lKRmF6y
jcMPUEsDBBQAAgAIALJ8ZEa+HSZaZwAAAHQAAAAyABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRN
TElucHV0RWxlbWVudDAzLXN0ZGVyci50eHRVVAkAA0CX91SFjPdUdXgLAAEE9QEAAAQUAAAAJcYx
DsIwDADAva/w1q2W+EJhKhuIzg5xwZITo9qpwu8ZuOlma5qhWsBzZwoGAqeak3XgHlxdrMJmO4z4
MG2FHc8UhJf1hiunRQKv9LUWd/ZwzFbwHUVR+WA9/f+Rjt5SkZheso3DD1BLAwQUAAIACACyfGRG
vh0mWmcAAAB0AAAAMgAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQwNC1z
dGRlcnIudHh0VVQJAANAl/dUhYz3VHV4CwABBPUBAAAEFAAAACXGMQ7CMAwAwL2v8NatlvhCYSob
iM4OccGSE6PaqcLvGbjpZmuaoVrAc2cKBgKnmpN14B5cXazCZjuM+DBthR3PFISX9YYrp0UCr/S1
Fnf2cMxW8B1FUflgPf3/kY7eUpGYXrKNww9QSwMEFAACAAgAsnxkRr4dJlpnAAAAdAAAADIAHABk
b20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MSW5wdXRFbGVtZW50MDUtc3RkZXJyLnR4dFVUCQADQJf3
VIWM91R1eAsAAQT1AQAABBQAAAAlxjEOwjAMAMC9r/DWrZb4QmEqG4jODnHBkhOj2qnC7xm46WZr
mqFawHNnCgYCp5qTdeAeXF2swmY7jPgwbYUdzxSEl/WGK6dFAq/0tRZ39nDMVvAdRVH5YD39/5GO
3lKRmF6yjcMPUEsDBBQAAgAIALN8ZEa+HSZaZwAAAHQAAAAyABwAZG9tL2h0bWwvbGV2ZWwyL2h0
bWwvSFRNTElucHV0RWxlbWVudDA2LXN0ZGVyci50eHRVVAkAA0GX91SFjPdUdXgLAAEE9QEAAAQU
AAAAJcYxDsIwDADAva/w1q2W+EJhKhuIzg5xwZITo9qpwu8ZuOlma5qhWsBzZwoGAqeak3XgHlxd
rMJmO4z4MG2FHc8UhJf1hiunRQKv9LUWd/ZwzFbwHUVR+WA9/f+Rjt5SkZheso3DD1BLAwQUAAIA
CACzfGRGvh0mWmcAAAB0AAAAMgAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1l
bnQwNy1zdGRlcnIudHh0VVQJAANBl/dUhoz3VHV4CwABBPUBAAAEFAAAACXGMQ7CMAwAwL2v8Nat
lvhCYSobiM4OccGSE6PaqcLvGbjpZmuaoVrAc2cKBgKnmpN14B5cXazCZjuM+DBthR3PFISX9YYr
p0UCr/S1Fnf2cMxW8B1FUflgPf3/kY7eUpGYXrKNww9QSwMEFAACAAgAs3xkRr4dJlpnAAAAdAAA
ADIAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MSW5wdXRFbGVtZW50MDgtc3RkZXJyLnR4dFVU
CQADQZf3VIaM91R1eAsAAQT1AQAABBQAAAAlxjEOwjAMAMC9r/DWrZb4QmEqG4jODnHBkhOj2qnC
7xm46WZrmqFawHNnCgYCp5qTdeAeXF2swmY7jPgwbYUdzxSEl/WGK6dFAq/0tRZ39nDMVvAdRVH5
YD39/5GO3lKRmF6yjcMPUEsDBBQAAgAIALN8ZEa+HSZaZwAAAHQAAAAyABwAZG9tL2h0bWwvbGV2
ZWwyL2h0bWwvSFRNTElucHV0RWxlbWVudDA5LXN0ZGVyci50eHRVVAkAA0GX91SGjPdUdXgLAAEE
9QEAAAQUAAAAJcYxDsIwDADAva/w1q2W+EJhKhuIzg5xwZITo9qpwu8ZuOlma5qhWsBzZwoGAqea
k3XgHlxdrMJmO4z4MG2FHc8UhJf1hiunRQKv9LUWd/ZwzFbwHUVR+WA9/f+Rjt5SkZheso3DD1BL
AwQUAAIACACzfGRGvh0mWmcAAAB0AAAAMgAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxJbnB1
dEVsZW1lbnQxMC1zdGRlcnIudHh0VVQJAANBl/dUhoz3VHV4CwABBPUBAAAEFAAAACXGMQ7CMAwA
wL2v8NatlvhCYSobiM4OccGSE6PaqcLvGbjpZmuaoVrAc2cKBgKnmpN14B5cXazCZjuM+DBthR3P
FISX9YYrp0UCr/S1Fnf2cMxW8B1FUflgPf3/kY7eUpGYXrKNww9QSwMEFAACAAgAs3xkRr4dJlpn
AAAAdAAAADIAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MSW5wdXRFbGVtZW50MTEtc3RkZXJy
LnR4dFVUCQADQZf3VIaM91R1eAsAAQT1AQAABBQAAAAlxjEOwjAMAMC9r/DWrZb4QmEqG4jODnHB
khOj2qnC7xm46WZrmqFawHNnCgYCp5qTdeAeXF2swmY7jPgwbYUdzxSEl/WGK6dFAq/0tRZ39nDM
VvAdRVH5YD39/5GO3lKRmF6yjcMPUEsDBBQAAgAIALN8ZEa+HSZaZwAAAHQAAAAyABwAZG9tL2h0
bWwvbGV2ZWwyL2h0bWwvSFRNTElucHV0RWxlbWVudDEyLXN0ZGVyci50eHRVVAkAA0GX91SGjPdU
dXgLAAEE9QEAAAQUAAAAJcYxDsIwDADAva/w1q2W+EJhKhuIzg5xwZITo9qpwu8ZuOlma5qhWsBz
ZwoGAqeak3XgHlxdrMJmO4z4MG2FHc8UhJf1hiunRQKv9LUWd/ZwzFbwHUVR+WA9/f+Rjt5SkZhe
so3DD1BLAwQUAAIACACzfGRGvh0mWmcAAAB0AAAAMgAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hU
TUxJbnB1dEVsZW1lbnQxMy1zdGRlcnIudHh0VVQJAANBl/dUhoz3VHV4CwABBPUBAAAEFAAAACXG
MQ7CMAwAwL2v8NatlvhCYSobiM4OccGSE6PaqcLvGbjpZmuaoVrAc2cKBgKnmpN14B5cXazCZjuM
+DBthR3PFISX9YYrp0UCr/S1Fnf2cMxW8B1FUflgPf3/kY7eUpGYXrKNww9QSwMEFAACAAgAs3xk
Rr4dJlpnAAAAdAAAADIAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MSW5wdXRFbGVtZW50MTQt
c3RkZXJyLnR4dFVUCQADQZf3VIaM91R1eAsAAQT1AQAABBQAAAAlxjEOwjAMAMC9r/DWrZb4QmEq
G4jODnHBkhOj2qnC7xm46WZrmqFawHNnCgYCp5qTdeAeXF2swmY7jPgwbYUdzxSEl/WGK6dFAq/0
tRZ39nDMVvAdRVH5YD39/5GO3lKRmF6yjcMPUEsDBBQAAgAIALN8ZEa+HSZaZwAAAHQAAAAyABwA
ZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTElucHV0RWxlbWVudDE1LXN0ZGVyci50eHRVVAkAA0GX
91SGjPdUdXgLAAEE9QEAAAQUAAAAJcYxDsIwDADAva/w1q2W+EJhKhuIzg5xwZITo9qpwu8ZuOlm
a5qhWsBzZwoGAqeak3XgHlxdrMJmO4z4MG2FHc8UhJf1hiunRQKv9LUWd/ZwzFbwHUVR+WA9/f+R
jt5SkZheso3DD1BLAwQUAAIACACzfGRGvh0mWmcAAAB0AAAAMgAcAGRvbS9odG1sL2xldmVsMi9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQxNi1zdGRlcnIudHh0VVQJAANBl/dUhoz3VHV4CwABBPUBAAAE
FAAAACXGMQ7CMAwAwL2v8NatlvhCYSobiM4OccGSE6PaqcLvGbjpZmuaoVrAc2cKBgKnmpN14B5c
XazCZjuM+DBthR3PFISX9YYrp0UCr/S1Fnf2cMxW8B1FUflgPf3/kY7eUpGYXrKNww9QSwMEFAAC
AAgAs3xkRr4dJlpnAAAAdAAAADIAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MSW5wdXRFbGVt
ZW50MTctc3RkZXJyLnR4dFVUCQADQZf3VIaM91R1eAsAAQT1AQAABBQAAAAlxjEOwjAMAMC9r/DW
rZb4QmEqG4jODnHBkhOj2qnC7xm46WZrmqFawHNnCgYCp5qTdeAeXF2swmY7jPgwbYUdzxSEl/WG
K6dFAq/0tRZ39nDMVvAdRVH5YD39/5GO3lKRmF6yjcMPUEsDBBQAAgAIALN8ZEa+HSZaZwAAAHQA
AAAyABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTElucHV0RWxlbWVudDE4LXN0ZGVyci50eHRV
VAkAA0GX91SGjPdUdXgLAAEE9QEAAAQUAAAAJcYxDsIwDADAva/w1q2W+EJhKhuIzg5xwZITo9qp
wu8ZuOlma5qhWsBzZwoGAqeak3XgHlxdrMJmO4z4MG2FHc8UhJf1hiunRQKv9LUWd/ZwzFbwHUVR
+WA9/f+Rjt5SkZheso3DD1BLAwQUAAIACACzfGRGvh0mWmcAAAB0AAAAMgAcAGRvbS9odG1sL2xl
dmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQxOS1zdGRlcnIudHh0VVQJAANBl/dUhoz3VHV4CwAB
BPUBAAAEFAAAACXGMQ7CMAwAwL2v8NatlvhCYSobiM4OccGSE6PaqcLvGbjpZmuaoVrAc2cKBgKn
mpN14B5cXazCZjuM+DBthR3PFISX9YYrp0UCr/S1Fnf2cMxW8B1FUflgPf3/kY7eUpGYXrKNww9Q
SwMEFAACAAgAs3xkRr4dJlpnAAAAdAAAADIAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MSW5w
dXRFbGVtZW50MjAtc3RkZXJyLnR4dFVUCQADQZf3VIaM91R1eAsAAQT1AQAABBQAAAAlxjEOwjAM
AMC9r/DWrZb4QmEqG4jODnHBkhOj2qnC7xm46WZrmqFawHNnCgYCp5qTdeAeXF2swmY7jPgwbYUd
zxSEl/WGK6dFAq/0tRZ39nDMVvAdRVH5YD39/5GO3lKRmF6yjcMPUEsDBBQAAgAIALN8ZEa+HSZa
ZwAAAHQAAAAyABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTElucHV0RWxlbWVudDIxLXN0ZGVy
ci50eHRVVAkAA0GX91SGjPdUdXgLAAEE9QEAAAQUAAAAJcYxDsIwDADAva/w1q2W+EJhKhuIzg5x
wZITo9qpwu8ZuOlma5qhWsBzZwoGAqeak3XgHlxdrMJmO4z4MG2FHc8UhJf1hiunRQKv9LUWd/Zw
zFbwHUVR+WA9/f+Rjt5SkZheso3DD1BLAwQUAAIACACzfGRGvh0mWmcAAAB0AAAAMgAcAGRvbS9o
dG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQyMi1zdGRlcnIudHh0VVQJAANBl/dUhoz3
VHV4CwABBPUBAAAEFAAAACXGMQ7CMAwAwL2v8NatlvhCYSobiM4OccGSE6PaqcLvGbjpZmuaoVrA
c2cKBgKnmpN14B5cXazCZjuM+DBthR3PFISX9YYrp0UCr/S1Fnf2cMxW8B1FUflgPf3/kY7eUpGY
XrKNww9QSwMEFAACAAgAtHxkRrW291ZmAAAAcgAAADMAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9I
VE1MT2JqZWN0RWxlbWVudDAxLXN0ZGVyci50eHRVVAkAA0OX91SHjPdUdXgLAAEE9QEAAAQUAAAA
JcYxDsIwDAXQnVN461ZLXAE6wQais0vcEsnJR7WDwu0ZeNM7oVmiiqDnrhJKQi41LeikPbR6RqUV
Ow38gLWizmcJ4Wm+8azLJQdf5YsWd/VwTij8imJs+lE7/v/OnQ0bxi2vw+EHUEsDBBQAAgAIALR8
ZEa1tvdWZgAAAHIAAAAzABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQw
Mi1zdGRlcnIudHh0VVQJAANDl/dUh4z3VHV4CwABBPUBAAAEFAAAACXGMQ7CMAwF0J1TeOtWS1wB
OsEGorNL3BLJyUe1g8LtGXjTO6FZooqg564SSkIuNS3opD20ekalFTsN/IC1os5nCeFpvvGsyyUH
X+WLFnf1cE4o/IpibPpRO/7/zp0NG8Ytr8PhB1BLAwQUAAIACAC0fGRGtbb3VmYAAAByAAAAMwAc
AGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MDMtc3RkZXJyLnR4dFVUCQAD
Q5f3VIiM91R1eAsAAQT1AQAABBQAAAAlxjEOwjAMBdCdU3jrVktcATrBBqKzS9wSyclHtYPC7Rl4
0zuhWaKKoOeuEkpCLjUt6KQ9tHpGpRU7DfyAtaLOZwnhab7xrMslB1/lixZ39XBOKPyKYmz6UTv+
/86dDRvGLa/D4QdQSwMEFAACAAgAtHxkRrW291ZmAAAAcgAAADMAHABkb20vaHRtbC9sZXZlbDIv
aHRtbC9IVE1MT2JqZWN0RWxlbWVudDA0LXN0ZGVyci50eHRVVAkAA0OX91SIjPdUdXgLAAEE9QEA
AAQUAAAAJcYxDsIwDAXQnVN461ZLXAE6wQais0vcEsnJR7WDwu0ZeNM7oVmiiqDnrhJKQi41Leik
PbR6RqUVOw38gLWizmcJ4Wm+8azLJQdf5YsWd/VwTij8imJs+lE7/v/OnQ0bxi2vw+EHUEsDBBQA
AgAIALR8ZEa1tvdWZgAAAHIAAAAzABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTE9iamVjdEVs
ZW1lbnQwNS1zdGRlcnIudHh0VVQJAANDl/dUiIz3VHV4CwABBPUBAAAEFAAAACXGMQ7CMAwF0J1T
eOtWS1wBOsEGorNL3BLJyUe1g8LtGXjTO6FZooqg564SSkIuNS3opD20ekalFTsN/IC1os5nCeFp
vvGsyyUHX+WLFnf1cE4o/IpibPpRO/7/zp0NG8Ytr8PhB1BLAwQUAAIACAC0fGRGtbb3VmYAAABy
AAAAMwAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MDYtc3RkZXJyLnR4
dFVUCQADQ5f3VIiM91R1eAsAAQT1AQAABBQAAAAlxjEOwjAMBdCdU3jrVktcATrBBqKzS9wSyclH
tYPC7Rl40zuhWaKKoOeuEkpCLjUt6KQ9tHpGpRU7DfyAtaLOZwnhab7xrMslB1/lixZ39XBOKPyK
Ymz6UTv+/86dDRvGLa/D4QdQSwMEFAACAAgAtHxkRrW291ZmAAAAcgAAADMAHABkb20vaHRtbC9s
ZXZlbDIvaHRtbC9IVE1MT2JqZWN0RWxlbWVudDA3LXN0ZGVyci50eHRVVAkAA0OX91SIjPdUdXgL
AAEE9QEAAAQUAAAAJcYxDsIwDAXQnVN461ZLXAE6wQais0vcEsnJR7WDwu0ZeNM7oVmiiqDnrhJK
Qi41LeikPbR6RqUVOw38gLWizmcJ4Wm+8azLJQdf5YsWd/VwTij8imJs+lE7/v/OnQ0bxi2vw+EH
UEsDBBQAAgAIALR8ZEa1tvdWZgAAAHIAAAAzABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTE9i
amVjdEVsZW1lbnQwOC1zdGRlcnIudHh0VVQJAANDl/dUiIz3VHV4CwABBPUBAAAEFAAAACXGMQ7C
MAwF0J1TeOtWS1wBOsEGorNL3BLJyUe1g8LtGXjTO6FZooqg564SSkIuNS3opD20ekalFTsN/IC1
os5nCeFpvvGsyyUHX+WLFnf1cE4o/IpibPpRO/7/zp0NG8Ytr8PhB1BLAwQUAAIACAC0fGRGtbb3
VmYAAAByAAAAMwAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MDktc3Rk
ZXJyLnR4dFVUCQADQ5f3VIiM91R1eAsAAQT1AQAABBQAAAAlxjEOwjAMBdCdU3jrVktcATrBBqKz
S9wSyclHtYPC7Rl40zuhWaKKoOeuEkpCLjUt6KQ9tHpGpRU7DfyAtaLOZwnhab7xrMslB1/lixZ3
9XBOKPyKYmz6UTv+/86dDRvGLa/D4QdQSwMEFAACAAgAtHxkRrW291ZmAAAAcgAAADMAHABkb20v
aHRtbC9sZXZlbDIvaHRtbC9IVE1MT2JqZWN0RWxlbWVudDEwLXN0ZGVyci50eHRVVAkAA0OX91SI
jPdUdXgLAAEE9QEAAAQUAAAAJcYxDsIwDAXQnVN461ZLXAE6wQais0vcEsnJR7WDwu0ZeNM7oVmi
iqDnrhJKQi41LeikPbR6RqUVOw38gLWizmcJ4Wm+8azLJQdf5YsWd/VwTij8imJs+lE7/v/OnQ0b
xi2vw+EHUEsDBBQAAgAIALR8ZEa1tvdWZgAAAHIAAAAzABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwv
SFRNTE9iamVjdEVsZW1lbnQxMS1zdGRlcnIudHh0VVQJAANDl/dUiIz3VHV4CwABBPUBAAAEFAAA
ACXGMQ7CMAwF0J1TeOtWS1wBOsEGorNL3BLJyUe1g8LtGXjTO6FZooqg564SSkIuNS3opD20ekal
FTsN/IC1os5nCeFpvvGsyyUHX+WLFnf1cE4o/IpibPpRO/7/zp0NG8Ytr8PhB1BLAwQUAAIACAC0
fGRGtbb3VmYAAAByAAAAMwAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50
MTItc3RkZXJyLnR4dFVUCQADQ5f3VIiM91R1eAsAAQT1AQAABBQAAAAlxjEOwjAMBdCdU3jrVktc
ATrBBqKzS9wSyclHtYPC7Rl40zuhWaKKoOeuEkpCLjUt6KQ9tHpGpRU7DfyAtaLOZwnhab7xrMsl
B1/lixZ39XBOKPyKYmz6UTv+/86dDRvGLa/D4QdQSwMEFAACAAgAtHxkRrW291ZmAAAAcgAAADMA
HABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MT2JqZWN0RWxlbWVudDEzLXN0ZGVyci50eHRVVAkA
A0OX91SIjPdUdXgLAAEE9QEAAAQUAAAAJcYxDsIwDAXQnVN461ZLXAE6wQais0vcEsnJR7WDwu0Z
eNM7oVmiiqDnrhJKQi41LeikPbR6RqUVOw38gLWizmcJ4Wm+8azLJQdf5YsWd/VwTij8imJs+lE7
/v/OnQ0bxi2vw+EHUEsDBBQAAgAIALR8ZEa1tvdWZgAAAHIAAAAzABwAZG9tL2h0bWwvbGV2ZWwy
L2h0bWwvSFRNTE9iamVjdEVsZW1lbnQxNC1zdGRlcnIudHh0VVQJAANDl/dUiIz3VHV4CwABBPUB
AAAEFAAAACXGMQ7CMAwF0J1TeOtWS1wBOsEGorNL3BLJyUe1g8LtGXjTO6FZooqg564SSkIuNS3o
pD20ekalFTsN/IC1os5nCeFpvvGsyyUHX+WLFnf1cE4o/IpibPpRO/7/zp0NG8Ytr8PhB1BLAwQU
AAIACAC0fGRGtbb3VmYAAAByAAAAMwAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RF
bGVtZW50MTUtc3RkZXJyLnR4dFVUCQADQ5f3VIiM91R1eAsAAQT1AQAABBQAAAAlxjEOwjAMBdCd
U3jrVktcATrBBqKzS9wSyclHtYPC7Rl40zuhWaKKoOeuEkpCLjUt6KQ9tHpGpRU7DfyAtaLOZwnh
ab7xrMslB1/lixZ39XBOKPyKYmz6UTv+/86dDRvGLa/D4QdQSwMEFAACAAgAtHxkRrW291ZmAAAA
cgAAADMAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MT2JqZWN0RWxlbWVudDE2LXN0ZGVyci50
eHRVVAkAA0OX91SIjPdUdXgLAAEE9QEAAAQUAAAAJcYxDsIwDAXQnVN461ZLXAE6wQais0vcEsnJ
R7WDwu0ZeNM7oVmiiqDnrhJKQi41LeikPbR6RqUVOw38gLWizmcJ4Wm+8azLJQdf5YsWd/VwTij8
imJs+lE7/v/OnQ0bxi2vw+EHUEsDBBQAAgAIALR8ZEa1tvdWZgAAAHIAAAAzABwAZG9tL2h0bWwv
bGV2ZWwyL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQxNy1zdGRlcnIudHh0VVQJAANDl/dUiIz3VHV4
CwABBPUBAAAEFAAAACXGMQ7CMAwF0J1TeOtWS1wBOsEGorNL3BLJyUe1g8LtGXjTO6FZooqg564S
SkIuNS3opD20ekalFTsN/IC1os5nCeFpvvGsyyUHX+WLFnf1cE4o/IpibPpRO/7/zp0NG8Ytr8Ph
B1BLAwQUAAIACAC0fGRGtbb3VmYAAAByAAAAMwAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxP
YmplY3RFbGVtZW50MTgtc3RkZXJyLnR4dFVUCQADQ5f3VIiM91R1eAsAAQT1AQAABBQAAAAlxjEO
wjAMBdCdU3jrVktcATrBBqKzS9wSyclHtYPC7Rl40zuhWaKKoOeuEkpCLjUt6KQ9tHpGpRU7DfyA
taLOZwnhab7xrMslB1/lixZ39XBOKPyKYmz6UTv+/86dDRvGLa/D4QdQSwMEFAACAAgAtHxkRrW2
91ZmAAAAcgAAADMAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MT2JqZWN0RWxlbWVudDE5LXN0
ZGVyci50eHRVVAkAA0OX91SIjPdUdXgLAAEE9QEAAAQUAAAAJcYxDsIwDAXQnVN461ZLXAE6wQai
s0vcEsnJR7WDwu0ZeNM7oVmiiqDnrhJKQi41LeikPbR6RqUVOw38gLWizmcJ4Wm+8azLJQdf5YsW
d/VwTij8imJs+lE7/v/OnQ0bxi2vw+EHUEsDBBQAAgAIALR8ZEa1tvdWZgAAAHIAAAAzABwAZG9t
L2h0bWwvbGV2ZWwyL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQyMC1zdGRlcnIudHh0VVQJAANDl/dU
iIz3VHV4CwABBPUBAAAEFAAAACXGMQ7CMAwF0J1TeOtWS1wBOsEGorNL3BLJyUe1g8LtGXjTO6FZ
ooqg564SSkIuNS3opD20ekalFTsN/IC1os5nCeFpvvGsyyUHX+WLFnf1cE4o/IpibPpRO/7/zp0N
G8Ytr8PhB1BLAwQUAAIACAC0fGRG00HxBWkAAAB2AAAAMwAcAGRvbS9odG1sL2xldmVsMi9odG1s
L0hUTUxTY3JpcHRFbGVtZW50MDEtc3RkZXJyLnR4dFVUCQADRJf3VImM91R1eAsAAQT1AQAABBQA
AAAlyzEOwjAMBdCdU3jrhgVXACbYQHR2G1cEOTGKf1C5PUhsb3kH75aoOmhuKlASCqlp8pV0hdbI
XmnxRgPf3XrR4KNA+DReedTpnMEX+XjHTQPByQs/UIxN32r7v5dsvxZzyy/sts8YNl9QSwMEFAAC
AAgAtHxkRtNB8QVpAAAAdgAAADMAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MU2NyaXB0RWxl
bWVudDAyLXN0ZGVyci50eHRVVAkAA0SX91SJjPdUdXgLAAEE9QEAAAQUAAAAJcsxDsIwDAXQnVN4
64YFVwAm2EB0dhtXBDkxin9QuT1IbG95B++WqDpobipQEgqpafKVdIXWyF5p8UYD39160eCjQPg0
XnnU6ZzBF/l4x00DwckLP1CMTd9q+7+XbL8Wc8sv7LbPGDZfUEsDBBQAAgAIALR8ZEbTQfEFaQAA
AHYAAAAzABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTFNjcmlwdEVsZW1lbnQwMy1zdGRlcnIu
dHh0VVQJAANEl/dUiYz3VHV4CwABBPUBAAAEFAAAACXLMQ7CMAwF0J1TeOuGBVcAJthAdHYbVwQ5
MYp/ULk9SGxveQfvlqg6aG4qUBIKqWnylXSF1sheafFGA9/detHgo0D4NF551OmcwRf5eMdNA8HJ
Cz9QjE3favu/l2y/FnPLL+y2zxg2X1BLAwQUAAIACAC0fGRG00HxBWkAAAB2AAAAMwAcAGRvbS9o
dG1sL2xldmVsMi9odG1sL0hUTUxTY3JpcHRFbGVtZW50MDQtc3RkZXJyLnR4dFVUCQADRJf3VImM
91R1eAsAAQT1AQAABBQAAAAlyzEOwjAMBdCdU3jrhgVXACbYQHR2G1cEOTGKf1C5PUhsb3kH75ao
OmhuKlASCqlp8pV0hdbIXmnxRgPf3XrR4KNA+DReedTpnMEX+XjHTQPByQs/UIxN32r7v5dsvxZz
yy/sts8YNl9QSwMEFAACAAgAtXxkRtNB8QVpAAAAdgAAADMAHABkb20vaHRtbC9sZXZlbDIvaHRt
bC9IVE1MU2NyaXB0RWxlbWVudDA1LXN0ZGVyci50eHRVVAkAA0WX91SJjPdUdXgLAAEE9QEAAAQU
AAAAJcsxDsIwDAXQnVN464YFVwAm2EB0dhtXBDkxin9QuT1IbG95B++WqDpobipQEgqpafKVdIXW
yF5p8UYD39160eCjQPg0XnnU6ZzBF/l4x00DwckLP1CMTd9q+7+XbL8Wc8sv7LbPGDZfUEsDBBQA
AgAIALV8ZEbTQfEFaQAAAHYAAAAzABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTFNjcmlwdEVs
ZW1lbnQwNi1zdGRlcnIudHh0VVQJAANFl/dUiYz3VHV4CwABBPUBAAAEFAAAACXLMQ7CMAwF0J1T
eOuGBVcAJthAdHYbVwQ5MYp/ULk9SGxveQfvlqg6aG4qUBIKqWnylXSF1sheafFGA9/detHgo0D4
NF551OmcwRf5eMdNA8HJCz9QjE3favu/l2y/FnPLL+y2zxg2X1BLAwQUAAIACAC1fGRG00HxBWkA
AAB2AAAAMwAcAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxTY3JpcHRFbGVtZW50MDctc3RkZXJy
LnR4dFVUCQADRZf3VImM91R1eAsAAQT1AQAABBQAAAAlyzEOwjAMBdCdU3jrhgVXACbYQHR2G1cE
OTGKf1C5PUhsb3kH75aoOmhuKlASCqlp8pV0hdbIXmnxRgPf3XrR4KNA+DReedTpnMEX+XjHTQPB
yQs/UIxN32r7v5dsvxZzyy/sts8YNl9QSwMEFAACAAgAuHxkRrW291ZmAAAAcgAAACgAHABkb20v
aHRtbC9sZXZlbDIvaHRtbC9vYmplY3QwMS1zdGRlcnIudHh0VVQJAANMl/dUkYz3VHV4CwABBPUB
AAAEFAAAACXGMQ7CMAwF0J1TeOtWS1wBOsEGorNL3BLJyUe1g8LtGXjTO6FZooqg564SSkIuNS3o
pD20ekalFTsN/IC1os5nCeFpvvGsyyUHX+WLFnf1cE4o/IpibPpRO/7/zp0NG8Ytr8PhB1BLAwQU
AAIACAC4fGRGtbb3VmYAAAByAAAAKAAcAGRvbS9odG1sL2xldmVsMi9odG1sL29iamVjdDAyLXN0
ZGVyci50eHRVVAkAA0yX91SRjPdUdXgLAAEE9QEAAAQUAAAAJcYxDsIwDAXQnVN461ZLXAE6wQai
s0vcEsnJR7WDwu0ZeNM7oVmiiqDnrhJKQi41LeikPbR6RqUVOw38gLWizmcJ4Wm+8azLJQdf5YsW
d/VwTij8imJs+lE7/v/OnQ0bxi2vw+EHUEsDBBQAAgAIALh8ZEa1tvdWZgAAAHIAAAAoABwAZG9t
L2h0bWwvbGV2ZWwyL2h0bWwvb2JqZWN0MDMtc3RkZXJyLnR4dFVUCQADTJf3VJGM91R1eAsAAQT1
AQAABBQAAAAlxjEOwjAMBdCdU3jrVktcATrBBqKzS9wSyclHtYPC7Rl40zuhWaKKoOeuEkpCLjUt
6KQ9tHpGpRU7DfyAtaLOZwnhab7xrMslB1/lixZ39XBOKPyKYmz6UTv+/86dDRvGLa/D4QdQSwME
FAACAAgAuHxkRrW291ZmAAAAcgAAACgAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9vYmplY3QwNC1z
dGRlcnIudHh0VVQJAANMl/dUkYz3VHV4CwABBPUBAAAEFAAAACXGMQ7CMAwF0J1TeOtWS1wBOsEG
orNL3BLJyUe1g8LtGXjTO6FZooqg564SSkIuNS3opD20ekalFTsN/IC1os5nCeFpvvGsyyUHX+WL
Fnf1cE4o/IpibPpRO/7/zp0NG8Ytr8PhB1BLAwQUAAIACAC4fGRGtbb3VmYAAAByAAAAKAAcAGRv
bS9odG1sL2xldmVsMi9odG1sL29iamVjdDA1LXN0ZGVyci50eHRVVAkAA0yX91SRjPdUdXgLAAEE
9QEAAAQUAAAAJcYxDsIwDAXQnVN461ZLXAE6wQais0vcEsnJR7WDwu0ZeNM7oVmiiqDnrhJKQi41
LeikPbR6RqUVOw38gLWizmcJ4Wm+8azLJQdf5YsWd/VwTij8imJs+lE7/v/OnQ0bxi2vw+EHUEsD
BBQAAgAIALh8ZEa1tvdWZgAAAHIAAAAoABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvb2JqZWN0MDct
c3RkZXJyLnR4dFVUCQADTJf3VJGM91R1eAsAAQT1AQAABBQAAAAlxjEOwjAMBdCdU3jrVktcATrB
BqKzS9wSyclHtYPC7Rl40zuhWaKKoOeuEkpCLjUt6KQ9tHpGpRU7DfyAtaLOZwnhab7xrMslB1/l
ixZ39XBOKPyKYmz6UTv+/86dDRvGLa/D4QdQSwMEFAACAAgAuHxkRrW291ZmAAAAcgAAACgAHABk
b20vaHRtbC9sZXZlbDIvaHRtbC9vYmplY3QwOC1zdGRlcnIudHh0VVQJAANMl/dUkYz3VHV4CwAB
BPUBAAAEFAAAACXGMQ7CMAwF0J1TeOtWS1wBOsEGorNL3BLJyUe1g8LtGXjTO6FZooqg564SSkIu
NS3opD20ekalFTsN/IC1os5nCeFpvvGsyyUHX+WLFnf1cE4o/IpibPpRO/7/zp0NG8Ytr8PhB1BL
AwQUAAIACAC4fGRGtbb3VmYAAAByAAAAKAAcAGRvbS9odG1sL2xldmVsMi9odG1sL29iamVjdDA5
LXN0ZGVyci50eHRVVAkAA0yX91SRjPdUdXgLAAEE9QEAAAQUAAAAJcYxDsIwDAXQnVN461ZLXAE6
wQais0vcEsnJR7WDwu0ZeNM7oVmiiqDnrhJKQi41LeikPbR6RqUVOw38gLWizmcJ4Wm+8azLJQdf
5YsWd/VwTij8imJs+lE7/v/OnQ0bxi2vw+EHUEsDBBQAAgAIALh8ZEa1tvdWZgAAAHIAAAAoABwA
ZG9tL2h0bWwvbGV2ZWwyL2h0bWwvb2JqZWN0MTAtc3RkZXJyLnR4dFVUCQADTJf3VJGM91R1eAsA
AQT1AQAABBQAAAAlxjEOwjAMBdCdU3jrVktcATrBBqKzS9wSyclHtYPC7Rl40zuhWaKKoOeuEkpC
LjUt6KQ9tHpGpRU7DfyAtaLOZwnhab7xrMslB1/lixZ39XBOKPyKYmz6UTv+/86dDRvGLa/D4QdQ
SwMEFAACAAgAuHxkRrW291ZmAAAAcgAAACgAHABkb20vaHRtbC9sZXZlbDIvaHRtbC9vYmplY3Qx
MS1zdGRlcnIudHh0VVQJAANMl/dUkYz3VHV4CwABBPUBAAAEFAAAACXGMQ7CMAwF0J1TeOtWS1wB
OsEGorNL3BLJyUe1g8LtGXjTO6FZooqg564SSkIuNS3opD20ekalFTsN/IC1os5nCeFpvvGsyyUH
X+WLFnf1cE4o/IpibPpRO/7/zp0NG8Ytr8PhB1BLAwQUAAIACAC4fGRGtbb3VmYAAAByAAAAKAAc
AGRvbS9odG1sL2xldmVsMi9odG1sL29iamVjdDEyLXN0ZGVyci50eHRVVAkAA0yX91SRjPdUdXgL
AAEE9QEAAAQUAAAAJcYxDsIwDAXQnVN461ZLXAE6wQais0vcEsnJR7WDwu0ZeNM7oVmiiqDnrhJK
Qi41LeikPbR6RqUVOw38gLWizmcJ4Wm+8azLJQdf5YsWd/VwTij8imJs+lE7/v/OnQ0bxi2vw+EH
UEsDBBQAAgAIALl8ZEa1tvdWZgAAAHIAAAAoABwAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvb2JqZWN0
MTMtc3RkZXJyLnR4dFVUCQADTZf3VJGM91R1eAsAAQT1AQAABBQAAAAlxjEOwjAMBdCdU3jrVktc
ATrBBqKzS9wSyclHtYPC7Rl40zuhWaKKoOeuEkpCLjUt6KQ9tHpGpRU7DfyAtaLOZwnhab7xrMsl
B1/lixZ39XBOKPyKYmz6UTv+/86dDRvGLa/D4QdQSwMEFAACAAgAuXxkRrW291ZmAAAAcgAAACgA
HABkb20vaHRtbC9sZXZlbDIvaHRtbC9vYmplY3QxNC1zdGRlcnIudHh0VVQJAANNl/dUkYz3VHV4
CwABBPUBAAAEFAAAACXGMQ7CMAwF0J1TeOtWS1wBOsEGorNL3BLJyUe1g8LtGXjTO6FZooqg564S
SkIuNS3opD20ekalFTsN/IC1os5nCeFpvvGsyyUHX+WLFnf1cE4o/IpibPpRO/7/zp0NG8Ytr8Ph
B1BLAwQUAAIACAC5fGRGtbb3VmYAAAByAAAAKAAcAGRvbS9odG1sL2xldmVsMi9odG1sL29iamVj
dDE1LXN0ZGVyci50eHRVVAkAA02X91SRjPdUdXgLAAEE9QEAAAQUAAAAJcYxDsIwDAXQnVN461ZL
XAE6wQais0vcEsnJR7WDwu0ZeNM7oVmiiqDnrhJKQi41LeikPbR6RqUVOw38gLWizmcJ4Wm+8azL
JQdf5YsWd/VwTij8imJs+lE7/v/OnQ0bxi2vw+EHUEsDBAoAAAAAAHV2ZEYAAAAAAAAAAAAAAAAK
ABwAZG9tL3hodG1sL1VUCQADfYz3VG2Y91R1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAdXZkRgAA
AAAAAAAAAAAAABEAHABkb20veGh0bWwvbGV2ZWwyL1VUCQADfYz3VG2Y91R1eAsAAQT1AQAABBQA
AABQSwMECgAAAAAAgnZkRgAAAAAAAAAAAAAAABYAHABkb20veGh0bWwvbGV2ZWwyL2h0bWwvVVQJ
AAOTjPdUbZj3VHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAC5fGRG004a02kAAAB0AAAAJwAcAGRv
bS94aHRtbC9sZXZlbDIvaHRtbC9ib2R5MDEtc3RkZXJyLnR4dFVUCQADTpf3VJKM91R1eAsAAQT1
AQAABBQAAAAdxjEOwjAMBdCdU3jrxhdcgTLBBqKz07gQkcSodlC4fSXe9E7acqSqTvMq7EJMxjUG
7STdpVrSSouuNOChuRUxjOyM83TDJOGSHFf+afO7mBuiFvSXl4wsX8lH/P9JHYHn92H/TMuw2wBQ
SwMEFAACAAgArnxkRtNOGtNpAAAAdAAAADIAHABkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTEJv
ZHlFbGVtZW50MDEtc3RkZXJyLnR4dFVUCQADOJf3VH2M91R1eAsAAQT1AQAABBQAAAAdxjEOwjAM
BdCdU3jrxhdcgTLBBqKz07gQkcSodlC4fSXe9E7acqSqTvMq7EJMxjUG7STdpVrSSouuNOChuRUx
jOyM83TDJOGSHFf+afO7mBuiFvSXl4wsX8lH/P9JHYHn92H/TMuw2wBQSwMEFAACAAgArnxkRtNO
GtNpAAAAdAAAADIAHABkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTEJvZHlFbGVtZW50MDItc3Rk
ZXJyLnR4dFVUCQADOJf3VH2M91R1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jrxhdcgTLBBqKz
07gQkcSodlC4fSXe9E7acqSqTvMq7EJMxjUG7STdpVrSSouuNOChuRUxjOyM83TDJOGSHFf+afO7
mBuiFvSXl4wsX8lH/P9JHYHn92H/TMuw2wBQSwMEFAACAAgArnxkRtNOGtNpAAAAdAAAADIAHABk
b20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTEJvZHlFbGVtZW50MDMtc3RkZXJyLnR4dFVUCQADOJf3
VH2M91R1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jrxhdcgTLBBqKz07gQkcSodlC4fSXe9E7a
cqSqTvMq7EJMxjUG7STdpVrSSouuNOChuRUxjOyM83TDJOGSHFf+afO7mBuiFvSXl4wsX8lH/P9J
HYHn92H/TMuw2wBQSwMEFAACAAgArnxkRtNOGtNpAAAAdAAAADIAHABkb20veGh0bWwvbGV2ZWwy
L2h0bWwvSFRNTEJvZHlFbGVtZW50MDQtc3RkZXJyLnR4dFVUCQADOJf3VH2M91R1eAsAAQT1AQAA
BBQAAAAdxjEOwjAMBdCdU3jrxhdcgTLBBqKz07gQkcSodlC4fSXe9E7acqSqTvMq7EJMxjUG7STd
pVrSSouuNOChuRUxjOyM83TDJOGSHFf+afO7mBuiFvSXl4wsX8lH/P9JHYHn92H/TMuw2wBQSwME
FAACAAgArnxkRtNOGtNpAAAAdAAAADIAHABkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTEJvZHlF
bGVtZW50MDUtc3RkZXJyLnR4dFVUCQADOJf3VH2M91R1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCd
U3jrxhdcgTLBBqKz07gQkcSodlC4fSXe9E7acqSqTvMq7EJMxjUG7STdpVrSSouuNOChuRUxjOyM
83TDJOGSHFf+afO7mBuiFvSXl4wsX8lH/P9JHYHn92H/TMuw2wBQSwMEFAACAAgArnxkRtNOGtNp
AAAAdAAAADIAHABkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTEJvZHlFbGVtZW50MDYtc3RkZXJy
LnR4dFVUCQADOJf3VH2M91R1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jrxhdcgTLBBqKz07gQ
kcSodlC4fSXe9E7acqSqTvMq7EJMxjUG7STdpVrSSouuNOChuRUxjOyM83TDJOGSHFf+afO7mBui
FvSXl4wsX8lH/P9JHYHn92H/TMuw2wBQSwMEFAACAAgArnxkRhDactB0AAAAWAEAADIAHABkb20v
eGh0bWwvbGV2ZWwyL2h0bWwvSFRNTEJvZHlFbGVtZW50MDctc3RkZXJyLnR4dFVUCQADOJf3VH2M
91R1eAsAAQT1AQAABBQAAAC9zTEOwjAMAMCdV3jrVkt8oXSCDURnl7jFkhOj2kHh90jwh2633WBV
ExQLeGxMwUDgVNJsDbgFFxcrsNgGHd5Na2bHEwXhOF1x4vksgRf6WI0bezgmy9iekRWV36xH/Pkl
DVN4v8rSHYa9RpXCe5e22r/8AlBLAwQUAAIACACufGRGENpy0HQAAABYAQAAMgAcAGRvbS94aHRt
bC9sZXZlbDIvaHRtbC9IVE1MQm9keUVsZW1lbnQwOC1zdGRlcnIudHh0VVQJAAM4l/dUfYz3VHV4
CwABBPUBAAAEFAAAAL3NMQ7CMAwAwJ1XeOtWS3yhdIINRGeXuMWSE6PaQeH3SPCHbrfdYFUTFAt4
bEzBQOBU0mwNuAUXFyuw2AYd3k1rZscTBeE4XXHi+SyBF/pYjRt7OCbL2J6RFZXfrEf8+SUNU3i/
ytIdhr1GlcJ7l7bav/wCUEsDBBQAAgAIAK58ZEYQ2nLQdAAAAFgBAAAyABwAZG9tL3hodG1sL2xl
dmVsMi9odG1sL0hUTUxCb2R5RWxlbWVudDA5LXN0ZGVyci50eHRVVAkAAziX91R9jPdUdXgLAAEE
9QEAAAQUAAAAvc0xDsIwDADAnVd461ZLfKF0gg1EZ5e4xZITo9pB4fdI8Idut91gVRMUC3hsTMFA
4FTSbA24BRcXK7DYBh3eTWtmxxMF4ThdceL5LIEX+liNG3s4JsvYnpEVld+sR/z5JQ1TeL/K0h2G
vUaVwnuXttq//AJQSwMEFAACAAgArnxkRhDactB0AAAAWAEAADIAHABkb20veGh0bWwvbGV2ZWwy
L2h0bWwvSFRNTEJvZHlFbGVtZW50MTAtc3RkZXJyLnR4dFVUCQADOJf3VH2M91R1eAsAAQT1AQAA
BBQAAAC9zTEOwjAMAMCdV3jrVkt8oXSCDURnl7jFkhOj2kHh90jwh2633WBVExQLeGxMwUDgVNJs
DbgFFxcrsNgGHd5Na2bHEwXhOF1x4vksgRf6WI0bezgmy9iekRWV36xH/PklDVN4v8rSHYa9RpXC
e5e22r/8AlBLAwQUAAIACACufGRGENpy0HQAAABYAQAAMgAcAGRvbS94aHRtbC9sZXZlbDIvaHRt
bC9IVE1MQm9keUVsZW1lbnQxMS1zdGRlcnIudHh0VVQJAAM4l/dUfYz3VHV4CwABBPUBAAAEFAAA
AL3NMQ7CMAwAwJ1XeOtWS3yhdIINRGeXuMWSE6PaQeH3SPCHbrfdYFUTFAt4bEzBQOBU0mwNuAUX
Fyuw2AYd3k1rZscTBeE4XXHi+SyBF/pYjRt7OCbL2J6RFZXfrEf8+SUNU3i/ytIdhr1GlcJ7l7ba
v/wCUEsDBBQAAgAIAK58ZEYQ2nLQdAAAAFgBAAAyABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hU
TUxCb2R5RWxlbWVudDEyLXN0ZGVyci50eHRVVAkAAziX91R+jPdUdXgLAAEE9QEAAAQUAAAAvc0x
DsIwDADAnVd461ZLfKF0gg1EZ5e4xZITo9pB4fdI8Idut91gVRMUC3hsTMFA4FTSbA24BRcXK7DY
Bh3eTWtmxxMF4ThdceL5LIEX+liNG3s4JsvYnpEVld+sR/z5JQ1TeL/K0h2GvUaVwnuXttq//AJQ
SwMEFAACAAgAr3xkRhDactB0AAAAWAEAAC8AHABkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTERv
Y3VtZW50MDEtc3RkZXJyLnR4dFVUCQADOZf3VH6M91R1eAsAAQT1AQAABBQAAAC9zTEOwjAMAMCd
V3jrVkt8oXSCDURnl7jFkhOj2kHh90jwh2633WBVExQLeGxMwUDgVNJsDbgFFxcrsNgGHd5Na2bH
EwXhOF1x4vksgRf6WI0bezgmy9iekRWV36xH/PklDVN4v8rSHYa9RpXCe5e22r/8AlBLAwQUAAIA
CACvfGRGENpy0HQAAABYAQAALwAcAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQw
Mi1zdGRlcnIudHh0VVQJAAM5l/dUfoz3VHV4CwABBPUBAAAEFAAAAL3NMQ7CMAwAwJ1XeOtWS3yh
dIINRGeXuMWSE6PaQeH3SPCHbrfdYFUTFAt4bEzBQOBU0mwNuAUXFyuw2AYd3k1rZscTBeE4XXHi
+SyBF/pYjRt7OCbL2J6RFZXfrEf8+SUNU3i/ytIdhr1GlcJ7l7bav/wCUEsDBBQAAgAIAK98ZEYQ
2nLQdAAAAFgBAAAvABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDAzLXN0ZGVy
ci50eHRVVAkAAzmX91R+jPdUdXgLAAEE9QEAAAQUAAAAvc0xDsIwDADAnVd461ZLfKF0gg1EZ5e4
xZITo9pB4fdI8Idut91gVRMUC3hsTMFA4FTSbA24BRcXK7DYBh3eTWtmxxMF4ThdceL5LIEX+liN
G3s4JsvYnpEVld+sR/z5JQ1TeL/K0h2GvUaVwnuXttq//AJQSwMEFAACAAgAr3xkRhDactB0AAAA
WAEAAC8AHABkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTERvY3VtZW50MDQtc3RkZXJyLnR4dFVU
CQADOZf3VH6M91R1eAsAAQT1AQAABBQAAAC9zTEOwjAMAMCdV3jrVkt8oXSCDURnl7jFkhOj2kHh
90jwh2633WBVExQLeGxMwUDgVNJsDbgFFxcrsNgGHd5Na2bHEwXhOF1x4vksgRf6WI0bezgmy9ie
kRWV36xH/PklDVN4v8rSHYa9RpXCe5e22r/8AlBLAwQUAAIACACvfGRGENpy0HQAAABYAQAALwAc
AGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQwNS1zdGRlcnIudHh0VVQJAAM5l/dU
foz3VHV4CwABBPUBAAAEFAAAAL3NMQ7CMAwAwJ1XeOtWS3yhdIINRGeXuMWSE6PaQeH3SPCHbrfd
YFUTFAt4bEzBQOBU0mwNuAUXFyuw2AYd3k1rZscTBeE4XXHi+SyBF/pYjRt7OCbL2J6RFZXfrEf8
+SUNU3i/ytIdhr1GlcJ7l7bav/wCUEsDBBQAAgAIAK98ZEYQ2nLQdAAAAFgBAAAvABwAZG9tL3ho
dG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDA3LXN0ZGVyci50eHRVVAkAAzmX91R/jPdUdXgL
AAEE9QEAAAQUAAAAvc0xDsIwDADAnVd461ZLfKF0gg1EZ5e4xZITo9pB4fdI8Idut91gVRMUC3hs
TMFA4FTSbA24BRcXK7DYBh3eTWtmxxMF4ThdceL5LIEX+liNG3s4JsvYnpEVld+sR/z5JQ1TeL/K
0h2GvUaVwnuXttq//AJQSwMEFAACAAgAr3xkRhDactB0AAAAWAEAAC8AHABkb20veGh0bWwvbGV2
ZWwyL2h0bWwvSFRNTERvY3VtZW50MDgtc3RkZXJyLnR4dFVUCQADOZf3VH+M91R1eAsAAQT1AQAA
BBQAAAC9zTEOwjAMAMCdV3jrVkt8oXSCDURnl7jFkhOj2kHh90jwh2633WBVExQLeGxMwUDgVNJs
DbgFFxcrsNgGHd5Na2bHEwXhOF1x4vksgRf6WI0bezgmy9iekRWV36xH/PklDVN4v8rSHYa9RpXC
e5e22r/8AlBLAwQUAAIACACvfGRGENpy0HQAAABYAQAALwAcAGRvbS94aHRtbC9sZXZlbDIvaHRt
bC9IVE1MRG9jdW1lbnQwOS1zdGRlcnIudHh0VVQJAAM6l/dUf4z3VHV4CwABBPUBAAAEFAAAAL3N
MQ7CMAwAwJ1XeOtWS3yhdIINRGeXuMWSE6PaQeH3SPCHbrfdYFUTFAt4bEzBQOBU0mwNuAUXFyuw
2AYd3k1rZscTBeE4XXHi+SyBF/pYjRt7OCbL2J6RFZXfrEf8+SUNU3i/ytIdhr1GlcJ7l7bav/wC
UEsDBBQAAgAIAK98ZEYQ2nLQdAAAAFgBAAAvABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxE
b2N1bWVudDEwLXN0ZGVyci50eHRVVAkAAzqX91R/jPdUdXgLAAEE9QEAAAQUAAAAvc0xDsIwDADA
nVd461ZLfKF0gg1EZ5e4xZITo9pB4fdI8Idut91gVRMUC3hsTMFA4FTSbA24BRcXK7DYBh3eTWtm
xxMF4ThdceL5LIEX+liNG3s4JsvYnpEVld+sR/z5JQ1TeL/K0h2GvUaVwnuXttq//AJQSwMEFAAC
AAgAr3xkRhDactB0AAAAWAEAAC8AHABkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTERvY3VtZW50
MTEtc3RkZXJyLnR4dFVUCQADOpf3VH+M91R1eAsAAQT1AQAABBQAAAC9zTEOwjAMAMCdV3jrVkt8
oXSCDURnl7jFkhOj2kHh90jwh2633WBVExQLeGxMwUDgVNJsDbgFFxcrsNgGHd5Na2bHEwXhOF1x
4vksgRf6WI0bezgmy9iekRWV36xH/PklDVN4v8rSHYa9RpXCe5e22r/8AlBLAwQUAAIACACvfGRG
ENpy0HQAAABYAQAALwAcAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQxMi1zdGRl
cnIudHh0VVQJAAM6l/dUf4z3VHV4CwABBPUBAAAEFAAAAL3NMQ7CMAwAwJ1XeOtWS3yhdIINRGeX
uMWSE6PaQeH3SPCHbrfdYFUTFAt4bEzBQOBU0mwNuAUXFyuw2AYd3k1rZscTBeE4XXHi+SyBF/pY
jRt7OCbL2J6RFZXfrEf8+SUNU3i/ytIdhr1GlcJ7l7bav/wCUEsDBBQAAgAIAK98ZEYQ2nLQdAAA
AFgBAAAvABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDEzLXN0ZGVyci50eHRV
VAkAAzqX91R/jPdUdXgLAAEE9QEAAAQUAAAAvc0xDsIwDADAnVd461ZLfKF0gg1EZ5e4xZITo9pB
4fdI8Idut91gVRMUC3hsTMFA4FTSbA24BRcXK7DYBh3eTWtmxxMF4ThdceL5LIEX+liNG3s4JsvY
npEVld+sR/z5JQ1TeL/K0h2GvUaVwnuXttq//AJQSwMEFAACAAgAr3xkRhDactB0AAAAWAEAAC8A
HABkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTERvY3VtZW50MTQtc3RkZXJyLnR4dFVUCQADOpf3
VH+M91R1eAsAAQT1AQAABBQAAAC9zTEOwjAMAMCdV3jrVkt8oXSCDURnl7jFkhOj2kHh90jwh263
3WBVExQLeGxMwUDgVNJsDbgFFxcrsNgGHd5Na2bHEwXhOF1x4vksgRf6WI0bezgmy9iekRWV36xH
/PklDVN4v8rSHYa9RpXCe5e22r/8AlBLAwQUAAIACACvfGRGENpy0HQAAABYAQAALwAcAGRvbS94
aHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQxNS1zdGRlcnIudHh0VVQJAAM6l/dUf4z3VHV4
CwABBPUBAAAEFAAAAL3NMQ7CMAwAwJ1XeOtWS3yhdIINRGeXuMWSE6PaQeH3SPCHbrfdYFUTFAt4
bEzBQOBU0mwNuAUXFyuw2AYd3k1rZscTBeE4XXHi+SyBF/pYjRt7OCbL2J6RFZXfrEf8+SUNU3i/
ytIdhr1GlcJ7l7bav/wCUEsDBBQAAgAIAK98ZEYQ2nLQdAAAAFgBAAAvABwAZG9tL3hodG1sL2xl
dmVsMi9odG1sL0hUTUxEb2N1bWVudDE2LXN0ZGVyci50eHRVVAkAAzqX91R/jPdUdXgLAAEE9QEA
AAQUAAAAvc0xDsIwDADAnVd461ZLfKF0gg1EZ5e4xZITo9pB4fdI8Idut91gVRMUC3hsTMFA4FTS
bA24BRcXK7DYBh3eTWtmxxMF4ThdceL5LIEX+liNG3s4JsvYnpEVld+sR/z5JQ1TeL/K0h2GvUaV
wnuXttq//AJQSwMEFAACAAgAr3xkRhDactB0AAAAWAEAAC8AHABkb20veGh0bWwvbGV2ZWwyL2h0
bWwvSFRNTERvY3VtZW50MTctc3RkZXJyLnR4dFVUCQADOpf3VH+M91R1eAsAAQT1AQAABBQAAAC9
zTEOwjAMAMCdV3jrVkt8oXSCDURnl7jFkhOj2kHh90jwh2633WBVExQLeGxMwUDgVNJsDbgFFxcr
sNgGHd5Na2bHEwXhOF1x4vksgRf6WI0bezgmy9iekRWV36xH/PklDVN4v8rSHYa9RpXCe5e22r/8
AlBLAwQUAAIACACvfGRGENpy0HQAAABYAQAALwAcAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1M
RG9jdW1lbnQxOC1zdGRlcnIudHh0VVQJAAM6l/dUf4z3VHV4CwABBPUBAAAEFAAAAL3NMQ7CMAwA
wJ1XeOtWS3yhdIINRGeXuMWSE6PaQeH3SPCHbrfdYFUTFAt4bEzBQOBU0mwNuAUXFyuw2AYd3k1r
ZscTBeE4XXHi+SyBF/pYjRt7OCbL2J6RFZXfrEf8+SUNU3i/ytIdhr1GlcJ7l7bav/wCUEsDBBQA
AgAIAK98ZEYQ2nLQdAAAAFgBAAAvABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVu
dDE5LXN0ZGVyci50eHRVVAkAAzqX91R/jPdUdXgLAAEE9QEAAAQUAAAAvc0xDsIwDADAnVd461ZL
fKF0gg1EZ5e4xZITo9pB4fdI8Idut91gVRMUC3hsTMFA4FTSbA24BRcXK7DYBh3eTWtmxxMF4Thd
ceL5LIEX+liNG3s4JsvYnpEVld+sR/z5JQ1TeL/K0h2GvUaVwnuXttq//AJQSwMEFAACAAgAr3xk
RhDactB0AAAAWAEAAC8AHABkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTERvY3VtZW50MjAtc3Rk
ZXJyLnR4dFVUCQADOpf3VH+M91R1eAsAAQT1AQAABBQAAAC9zTEOwjAMAMCdV3jrVkt8oXSCDURn
l7jFkhOj2kHh90jwh2633WBVExQLeGxMwUDgVNJsDbgFFxcrsNgGHd5Na2bHEwXhOF1x4vksgRf6
WI0bezgmy9iekRWV36xH/PklDVN4v8rSHYa9RpXCe5e22r/8AlBLAwQUAAIACACvfGRGENpy0HQA
AABYAQAALwAcAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQyMS1zdGRlcnIudHh0
VVQJAAM6l/dUf4z3VHV4CwABBPUBAAAEFAAAAL3NMQ7CMAwAwJ1XeOtWS3yhdIINRGeXuMWSE6Pa
QeH3SPCHbrfdYFUTFAt4bEzBQOBU0mwNuAUXFyuw2AYd3k1rZscTBeE4XXHi+SyBF/pYjRt7OCbL
2J6RFZXfrEf8+SUNU3i/ytIdhr1GlcJ7l7bav/wCUEsDBBQAAgAIAK98ZEYQ2nLQdAAAAFgBAAAv
ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDIyLXN0ZGVyci50eHRVVAkAAzqX
91R/jPdUdXgLAAEE9QEAAAQUAAAAvc0xDsIwDADAnVd461ZLfKF0gg1EZ5e4xZITo9pB4fdI8Idu
t91gVRMUC3hsTMFA4FTSbA24BRcXK7DYBh3eTWtmxxMF4ThdceL5LIEX+liNG3s4JsvYnpEVld+s
R/z5JQ1TeL/K0h2GvUaVwnuXttq//AJQSwMEFAACAAgAr3xkRhDactB0AAAAWAEAAC8AHABkb20v
eGh0bWwvbGV2ZWwyL2h0bWwvSFRNTERvY3VtZW50MjMtc3RkZXJyLnR4dFVUCQADOpf3VH+M91R1
eAsAAQT1AQAABBQAAAC9zTEOwjAMAMCdV3jrVkt8oXSCDURnl7jFkhOj2kHh90jwh2633WBVExQL
eGxMwUDgVNJsDbgFFxcrsNgGHd5Na2bHEwXhOF1x4vksgRf6WI0bezgmy9iekRWV36xH/PklDVN4
v8rSHYa9RpXCe5e22r/8AlBLAwQUAAIACACvfGRGENpy0HQAAABYAQAALwAcAGRvbS94aHRtbC9s
ZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQyNC1zdGRlcnIudHh0VVQJAAM6l/dUf4z3VHV4CwABBPUB
AAAEFAAAAL3NMQ7CMAwAwJ1XeOtWS3yhdIINRGeXuMWSE6PaQeH3SPCHbrfdYFUTFAt4bEzBQOBU
0mwNuAUXFyuw2AYd3k1rZscTBeE4XXHi+SyBF/pYjRt7OCbL2J6RFZXfrEf8+SUNU3i/ytIdhr1G
lcJ7l7bav/wCUEsDBBQAAgAIAK98ZEYQ2nLQdAAAAFgBAAAvABwAZG9tL3hodG1sL2xldmVsMi9o
dG1sL0hUTUxEb2N1bWVudDI1LXN0ZGVyci50eHRVVAkAAzqX91R/jPdUdXgLAAEE9QEAAAQUAAAA
vc0xDsIwDADAnVd461ZLfKF0gg1EZ5e4xZITo9pB4fdI8Idut91gVRMUC3hsTMFA4FTSbA24BRcX
K7DYBh3eTWtmxxMF4ThdceL5LIEX+liNG3s4JsvYnpEVld+sR/z5JQ1TeL/K0h2GvUaVwnuXttq/
/AJQSwMEFAACAAgAr3xkRhDactB0AAAAWAEAAC8AHABkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRN
TERvY3VtZW50MjYtc3RkZXJyLnR4dFVUCQADOpf3VH+M91R1eAsAAQT1AQAABBQAAAC9zTEOwjAM
AMCdV3jrVkt8oXSCDURnl7jFkhOj2kHh90jwh2633WBVExQLeGxMwUDgVNJsDbgFFxcrsNgGHd5N
a2bHEwXhOF1x4vksgRf6WI0bezgmy9iekRWV36xH/PklDVN4v8rSHYa9RpXCe5e22r/8AlBLAwQU
AAIACACvfGRGENpy0HQAAABYAQAALwAcAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1l
bnQyNy1zdGRlcnIudHh0VVQJAAM6l/dUf4z3VHV4CwABBPUBAAAEFAAAAL3NMQ7CMAwAwJ1XeOtW
S3yhdIINRGeXuMWSE6PaQeH3SPCHbrfdYFUTFAt4bEzBQOBU0mwNuAUXFyuw2AYd3k1rZscTBeE4
XXHi+SyBF/pYjRt7OCbL2J6RFZXfrEf8+SUNU3i/ytIdhr1GlcJ7l7bav/wCUEsDBBQAAgAIALN8
ZEYIpBo2ZgAAAHIAAAAzABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbWFnZUVsZW1lbnQw
MS1zdGRlcnIudHh0VVQJAANCl/dUhoz3VHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gC
dIINRGeXuBDJiVHtVOH2SH3TO1vTRNWCXqtwCDE51zRbJ+kh1bNVWmylAU/TVsRx4WCM0x2TzNcc
uPHPWjzEw5GsoH+iKFQ20RP2f3NHCj++8zIc/lBLAwQUAAIACACzfGRGCKQaNmYAAAByAAAAMwAc
AGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MSW1hZ2VFbGVtZW50MDItc3RkZXJyLnR4dFVUCQAD
Qpf3VIaM91R1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jrxpe4AnSCDURnl7gQyYlR7VTh9kh9
0ztb00TVgl6rcAgxOdc0WyfpIdWzVVpspQFP01bEceFgjNMdk8zXHLjxz1o8xMORrKB/oihUNtET
9n9zRwo/vvMyHP5QSwMEFAACAAgAs3xkRgikGjZmAAAAcgAAADMAHABkb20veGh0bWwvbGV2ZWwy
L2h0bWwvSFRNTEltYWdlRWxlbWVudDAzLXN0ZGVyci50eHRVVAkAA0KX91SGjPdUdXgLAAEE9QEA
AAQUAAAAHcYxDsIwDAXQnVN468aXuAJ0gg1EZ5e4EMmJUe1U4fZIfdM7W9NE1YJeq3AIMTnXNFsn
6SHVs1VabKUBT9NWxHHhYIzTHZPM1xy48c9aPMTDkaygf6IoVDbRE/Z/c0cKP77zMhz+UEsDBBQA
AgAIALN8ZEYIpBo2ZgAAAHIAAAAzABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbWFnZUVs
ZW1lbnQwNC1zdGRlcnIudHh0VVQJAANCl/dUhoz3VHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1T
eOvGl7gCdIINRGeXuBDJiVHtVOH2SH3TO1vTRNWCXqtwCDE51zRbJ+kh1bNVWmylAU/TVsRx4WCM
0x2TzNccuPHPWjzEw5GsoH+iKFQ20RP2f3NHCj++8zIc/lBLAwQUAAIACACzfGRGCKQaNmYAAABy
AAAAMwAcAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MSW1hZ2VFbGVtZW50MDUtc3RkZXJyLnR4
dFVUCQADQpf3VIeM91R1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jrxpe4AnSCDURnl7gQyYlR
7VTh9kh90ztb00TVgl6rcAgxOdc0WyfpIdWzVVpspQFP01bEceFgjNMdk8zXHLjxz1o8xMORrKB/
oihUNtET9n9zRwo/vvMyHP5QSwMEFAACAAgAs3xkRgikGjZmAAAAcgAAADMAHABkb20veGh0bWwv
bGV2ZWwyL2h0bWwvSFRNTEltYWdlRWxlbWVudDA2LXN0ZGVyci50eHRVVAkAA0KX91SHjPdUdXgL
AAEE9QEAAAQUAAAAHcYxDsIwDAXQnVN468aXuAJ0gg1EZ5e4EMmJUe1U4fZIfdM7W9NE1YJeq3AI
MTnXNFsn6SHVs1VabKUBT9NWxHHhYIzTHZPM1xy48c9aPMTDkaygf6IoVDbRE/Z/c0cKP77zMhz+
UEsDBBQAAgAIALN8ZEYIpBo2ZgAAAHIAAAAzABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJ
bWFnZUVsZW1lbnQwNy1zdGRlcnIudHh0VVQJAANCl/dUh4z3VHV4CwABBPUBAAAEFAAAAB3GMQ7C
MAwF0J1TeOvGl7gCdIINRGeXuBDJiVHtVOH2SH3TO1vTRNWCXqtwCDE51zRbJ+kh1bNVWmylAU/T
VsRx4WCM0x2TzNccuPHPWjzEw5GsoH+iKFQ20RP2f3NHCj++8zIc/lBLAwQUAAIACACzfGRGCKQa
NmYAAAByAAAAMwAcAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MSW1hZ2VFbGVtZW50MDgtc3Rk
ZXJyLnR4dFVUCQADQpf3VIeM91R1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jrxpe4AnSCDURn
l7gQyYlR7VTh9kh90ztb00TVgl6rcAgxOdc0WyfpIdWzVVpspQFP01bEceFgjNMdk8zXHLjxz1o8
xMORrKB/oihUNtET9n9zRwo/vvMyHP5QSwMEFAACAAgAs3xkRgikGjZmAAAAcgAAADMAHABkb20v
eGh0bWwvbGV2ZWwyL2h0bWwvSFRNTEltYWdlRWxlbWVudDA5LXN0ZGVyci50eHRVVAkAA0KX91SH
jPdUdXgLAAEE9QEAAAQUAAAAHcYxDsIwDAXQnVN468aXuAJ0gg1EZ5e4EMmJUe1U4fZIfdM7W9NE
1YJeq3AIMTnXNFsn6SHVs1VabKUBT9NWxHHhYIzTHZPM1xy48c9aPMTDkaygf6IoVDbRE/Z/c0cK
P77zMhz+UEsDBBQAAgAIALN8ZEYIpBo2ZgAAAHIAAAAzABwAZG9tL3hodG1sL2xldmVsMi9odG1s
L0hUTUxJbWFnZUVsZW1lbnQxMC1zdGRlcnIudHh0VVQJAANCl/dUh4z3VHV4CwABBPUBAAAEFAAA
AB3GMQ7CMAwF0J1TeOvGl7gCdIINRGeXuBDJiVHtVOH2SH3TO1vTRNWCXqtwCDE51zRbJ+kh1bNV
WmylAU/TVsRx4WCM0x2TzNccuPHPWjzEw5GsoH+iKFQ20RP2f3NHCj++8zIc/lBLAwQUAAIACACz
fGRGCKQaNmYAAAByAAAAMwAcAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MSW1hZ2VFbGVtZW50
MTEtc3RkZXJyLnR4dFVUCQADQpf3VIeM91R1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jrxpe4
AnSCDURnl7gQyYlR7VTh9kh90ztb00TVgl6rcAgxOdc0WyfpIdWzVVpspQFP01bEceFgjNMdk8zX
HLjxz1o8xMORrKB/oihUNtET9n9zRwo/vvMyHP5QSwMEFAACAAgAs3xkRgikGjZmAAAAcgAAADMA
HABkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTEltYWdlRWxlbWVudDEyLXN0ZGVyci50eHRVVAkA
A0KX91SHjPdUdXgLAAEE9QEAAAQUAAAAHcYxDsIwDAXQnVN468aXuAJ0gg1EZ5e4EMmJUe1U4fZI
fdM7W9NE1YJeq3AIMTnXNFsn6SHVs1VabKUBT9NWxHHhYIzTHZPM1xy48c9aPMTDkaygf6IoVDbR
E/Z/c0cKP77zMhz+UEsDBBQAAgAIALN8ZEbcjYSnaAAAAHUAAAAzABwAZG9tL3hodG1sL2xldmVs
Mi9odG1sL0hUTUxJbnB1dEVsZW1lbnQwMS1zdGRlcnIudHh0VVQJAANCl/dUh4z3VHV4CwABBPUB
AAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gCMMEGorNDXLCUxKh2qnB7JN70jtZLpmZBz1U4hJicW042
SEZIc7VGi6004WGlV3GcOBjn+YZZ0kUDV/5aj7t4OLJVjHfUgiKblAP+/+iA91Q19i9dpt0PUEsD
BBQAAgAIALN8ZEbcjYSnaAAAAHUAAAAzABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1
dEVsZW1lbnQwMi1zdGRlcnIudHh0VVQJAANCl/dUh4z3VHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF
0J1TeOvGl7gCMMEGorNDXLCUxKh2qnB7JN70jtZLpmZBz1U4hJicW042SEZIc7VGi6004WGlV3Gc
OBjn+YZZ0kUDV/5aj7t4OLJVjHfUgiKblAP+/+iA91Q19i9dpt0PUEsDBBQAAgAIALN8ZEbcjYSn
aAAAAHUAAAAzABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQwMy1zdGRl
cnIudHh0VVQJAANCl/dUh4z3VHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gCMMEGorND
XLCUxKh2qnB7JN70jtZLpmZBz1U4hJicW042SEZIc7VGi6004WGlV3GcOBjn+YZZ0kUDV/5aj7t4
OLJVjHfUgiKblAP+/+iA91Q19i9dpt0PUEsDBBQAAgAIALN8ZEbcjYSnaAAAAHUAAAAzABwAZG9t
L3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQwNC1zdGRlcnIudHh0VVQJAANCl/dU
h4z3VHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gCMMEGorNDXLCUxKh2qnB7JN70jtZL
pmZBz1U4hJicW042SEZIc7VGi6004WGlV3GcOBjn+YZZ0kUDV/5aj7t4OLJVjHfUgiKblAP+/+iA
91Q19i9dpt0PUEsDBBQAAgAIALN8ZEbcjYSnaAAAAHUAAAAzABwAZG9tL3hodG1sL2xldmVsMi9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQwNS1zdGRlcnIudHh0VVQJAANCl/dUh4z3VHV4CwABBPUBAAAE
FAAAAB3GMQ7CMAwF0J1TeOvGl7gCMMEGorNDXLCUxKh2qnB7JN70jtZLpmZBz1U4hJicW042SEZI
c7VGi6004WGlV3GcOBjn+YZZ0kUDV/5aj7t4OLJVjHfUgiKblAP+/+iA91Q19i9dpt0PUEsDBBQA
AgAIALN8ZEbcjYSnaAAAAHUAAAAzABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVs
ZW1lbnQwNi1zdGRlcnIudHh0VVQJAANCl/dUh4z3VHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1T
eOvGl7gCMMEGorNDXLCUxKh2qnB7JN70jtZLpmZBz1U4hJicW042SEZIc7VGi6004WGlV3GcOBjn
+YZZ0kUDV/5aj7t4OLJVjHfUgiKblAP+/+iA91Q19i9dpt0PUEsDBBQAAgAIALN8ZEbcjYSnaAAA
AHUAAAAzABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQwNy1zdGRlcnIu
dHh0VVQJAANCl/dUh4z3VHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gCMMEGorNDXLCU
xKh2qnB7JN70jtZLpmZBz1U4hJicW042SEZIc7VGi6004WGlV3GcOBjn+YZZ0kUDV/5aj7t4OLJV
jHfUgiKblAP+/+iA91Q19i9dpt0PUEsDBBQAAgAIALR8ZEbcjYSnaAAAAHUAAAAzABwAZG9tL3ho
dG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQwOC1zdGRlcnIudHh0VVQJAANDl/dUh4z3
VHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gCMMEGorNDXLCUxKh2qnB7JN70jtZLpmZB
z1U4hJicW042SEZIc7VGi6004WGlV3GcOBjn+YZZ0kUDV/5aj7t4OLJVjHfUgiKblAP+/+iA91Q1
9i9dpt0PUEsDBBQAAgAIALR8ZEbcjYSnaAAAAHUAAAAzABwAZG9tL3hodG1sL2xldmVsMi9odG1s
L0hUTUxJbnB1dEVsZW1lbnQwOS1zdGRlcnIudHh0VVQJAANDl/dUh4z3VHV4CwABBPUBAAAEFAAA
AB3GMQ7CMAwF0J1TeOvGl7gCMMEGorNDXLCUxKh2qnB7JN70jtZLpmZBz1U4hJicW042SEZIc7VG
i6004WGlV3GcOBjn+YZZ0kUDV/5aj7t4OLJVjHfUgiKblAP+/+iA91Q19i9dpt0PUEsDBBQAAgAI
ALR8ZEbcjYSnaAAAAHUAAAAzABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1l
bnQxMC1zdGRlcnIudHh0VVQJAANDl/dUh4z3VHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvG
l7gCMMEGorNDXLCUxKh2qnB7JN70jtZLpmZBz1U4hJicW042SEZIc7VGi6004WGlV3GcOBjn+YZZ
0kUDV/5aj7t4OLJVjHfUgiKblAP+/+iA91Q19i9dpt0PUEsDBBQAAgAIALR8ZEbcjYSnaAAAAHUA
AAAzABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQxMS1zdGRlcnIudHh0
VVQJAANDl/dUh4z3VHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gCMMEGorNDXLCUxKh2
qnB7JN70jtZLpmZBz1U4hJicW042SEZIc7VGi6004WGlV3GcOBjn+YZZ0kUDV/5aj7t4OLJVjHfU
giKblAP+/+iA91Q19i9dpt0PUEsDBBQAAgAIALR8ZEbcjYSnaAAAAHUAAAAzABwAZG9tL3hodG1s
L2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQxMi1zdGRlcnIudHh0VVQJAANDl/dUh4z3VHV4
CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gCMMEGorNDXLCUxKh2qnB7JN70jtZLpmZBz1U4
hJicW042SEZIc7VGi6004WGlV3GcOBjn+YZZ0kUDV/5aj7t4OLJVjHfUgiKblAP+/+iA91Q19i9d
pt0PUEsDBBQAAgAIALR8ZEbcjYSnaAAAAHUAAAAzABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hU
TUxJbnB1dEVsZW1lbnQxMy1zdGRlcnIudHh0VVQJAANDl/dUh4z3VHV4CwABBPUBAAAEFAAAAB3G
MQ7CMAwF0J1TeOvGl7gCMMEGorNDXLCUxKh2qnB7JN70jtZLpmZBz1U4hJicW042SEZIc7VGi600
4WGlV3GcOBjn+YZZ0kUDV/5aj7t4OLJVjHfUgiKblAP+/+iA91Q19i9dpt0PUEsDBBQAAgAIALR8
ZEbcjYSnaAAAAHUAAAAzABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQx
NC1zdGRlcnIudHh0VVQJAANDl/dUh4z3VHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gC
MMEGorNDXLCUxKh2qnB7JN70jtZLpmZBz1U4hJicW042SEZIc7VGi6004WGlV3GcOBjn+YZZ0kUD
V/5aj7t4OLJVjHfUgiKblAP+/+iA91Q19i9dpt0PUEsDBBQAAgAIALR8ZEbcjYSnaAAAAHUAAAAz
ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQxNS1zdGRlcnIudHh0VVQJ
AANDl/dUh4z3VHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gCMMEGorNDXLCUxKh2qnB7
JN70jtZLpmZBz1U4hJicW042SEZIc7VGi6004WGlV3GcOBjn+YZZ0kUDV/5aj7t4OLJVjHfUgiKb
lAP+/+iA91Q19i9dpt0PUEsDBBQAAgAIALR8ZEbcjYSnaAAAAHUAAAAzABwAZG9tL3hodG1sL2xl
dmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQxNi1zdGRlcnIudHh0VVQJAANDl/dUh4z3VHV4CwAB
BPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gCMMEGorNDXLCUxKh2qnB7JN70jtZLpmZBz1U4hJic
W042SEZIc7VGi6004WGlV3GcOBjn+YZZ0kUDV/5aj7t4OLJVjHfUgiKblAP+/+iA91Q19i9dpt0P
UEsDBBQAAgAIALR8ZEbcjYSnaAAAAHUAAAAzABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJ
bnB1dEVsZW1lbnQxNy1zdGRlcnIudHh0VVQJAANDl/dUiIz3VHV4CwABBPUBAAAEFAAAAB3GMQ7C
MAwF0J1TeOvGl7gCMMEGorNDXLCUxKh2qnB7JN70jtZLpmZBz1U4hJicW042SEZIc7VGi6004WGl
V3GcOBjn+YZZ0kUDV/5aj7t4OLJVjHfUgiKblAP+/+iA91Q19i9dpt0PUEsDBBQAAgAIALR8ZEbc
jYSnaAAAAHUAAAAzABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQxOC1z
dGRlcnIudHh0VVQJAANDl/dUiIz3VHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gCMMEG
orNDXLCUxKh2qnB7JN70jtZLpmZBz1U4hJicW042SEZIc7VGi6004WGlV3GcOBjn+YZZ0kUDV/5a
j7t4OLJVjHfUgiKblAP+/+iA91Q19i9dpt0PUEsDBBQAAgAIALR8ZEbcjYSnaAAAAHUAAAAzABwA
ZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQxOS1zdGRlcnIudHh0VVQJAAND
l/dUiIz3VHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gCMMEGorNDXLCUxKh2qnB7JN70
jtZLpmZBz1U4hJicW042SEZIc7VGi6004WGlV3GcOBjn+YZZ0kUDV/5aj7t4OLJVjHfUgiKblAP+
/+iA91Q19i9dpt0PUEsDBBQAAgAIALR8ZEbcjYSnaAAAAHUAAAAzABwAZG9tL3hodG1sL2xldmVs
Mi9odG1sL0hUTUxJbnB1dEVsZW1lbnQyMC1zdGRlcnIudHh0VVQJAANDl/dUiIz3VHV4CwABBPUB
AAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gCMMEGorNDXLCUxKh2qnB7JN70jtZLpmZBz1U4hJicW042
SEZIc7VGi6004WGlV3GcOBjn+YZZ0kUDV/5aj7t4OLJVjHfUgiKblAP+/+iA91Q19i9dpt0PUEsD
BBQAAgAIALR8ZEbcjYSnaAAAAHUAAAAzABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1
dEVsZW1lbnQyMS1zdGRlcnIudHh0VVQJAANDl/dUiIz3VHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF
0J1TeOvGl7gCMMEGorNDXLCUxKh2qnB7JN70jtZLpmZBz1U4hJicW042SEZIc7VGi6004WGlV3Gc
OBjn+YZZ0kUDV/5aj7t4OLJVjHfUgiKblAP+/+iA91Q19i9dpt0PUEsDBBQAAgAIALR8ZEbcjYSn
aAAAAHUAAAAzABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQyMi1zdGRl
cnIudHh0VVQJAANDl/dUiIz3VHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvGl7gCMMEGorND
XLCUxKh2qnB7JN70jtZLpmZBz1U4hJicW042SEZIc7VGi6004WGlV3GcOBjn+YZZ0kUDV/5aj7t4
OLJVjHfUgiKblAP+/+iA91Q19i9dpt0PUEsDBBQAAgAIALV8ZEbKAYOFZwAAAHMAAAA0ABwAZG9t
L3hodG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MDEtc3RkZXJyLnR4dFVUCQADRZf3
VImM91R1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jr1i9xBegEG4jOLnFLJCdGtYPC7ZF40ztZ
00TVgp67cAgxOde0WCfpIdWzVVptpwEP01bEceZgTPMNsyyXHLjy11rcxcORrKC/oihUPqJH/P/O
HWqbjVteh8MPUEsDBBQAAgAIALV8ZEbKAYOFZwAAAHMAAAA0ABwAZG9tL3hodG1sL2xldmVsMi9o
dG1sL0hUTUxPYmplY3RFbGVtZW50MDItc3RkZXJyLnR4dFVUCQADRZf3VImM91R1eAsAAQT1AQAA
BBQAAAAdxjEOwjAMBdCdU3jr1i9xBegEG4jOLnFLJCdGtYPC7ZF40ztZ00TVgp67cAgxOde0WCfp
IdWzVVptpwEP01bEceZgTPMNsyyXHLjy11rcxcORrKC/oihUPqJH/P/OHWqbjVteh8MPUEsDBBQA
AgAIALV8ZEbKAYOFZwAAAHMAAAA0ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RF
bGVtZW50MDMtc3RkZXJyLnR4dFVUCQADRZf3VImM91R1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCd
U3jr1i9xBegEG4jOLnFLJCdGtYPC7ZF40ztZ00TVgp67cAgxOde0WCfpIdWzVVptpwEP01bEceZg
TPMNsyyXHLjy11rcxcORrKC/oihUPqJH/P/OHWqbjVteh8MPUEsDBBQAAgAIALV8ZEbKAYOFZwAA
AHMAAAA0ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MDQtc3RkZXJy
LnR4dFVUCQADRZf3VImM91R1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jr1i9xBegEG4jOLnFL
JCdGtYPC7ZF40ztZ00TVgp67cAgxOde0WCfpIdWzVVptpwEP01bEceZgTPMNsyyXHLjy11rcxcOR
rKC/oihUPqJH/P/OHWqbjVteh8MPUEsDBBQAAgAIALV8ZEbKAYOFZwAAAHMAAAA0ABwAZG9tL3ho
dG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MDUtc3RkZXJyLnR4dFVUCQADRZf3VImM
91R1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jr1i9xBegEG4jOLnFLJCdGtYPC7ZF40ztZ00TV
gp67cAgxOde0WCfpIdWzVVptpwEP01bEceZgTPMNsyyXHLjy11rcxcORrKC/oihUPqJH/P/OHWqb
jVteh8MPUEsDBBQAAgAIALV8ZEbKAYOFZwAAAHMAAAA0ABwAZG9tL3hodG1sL2xldmVsMi9odG1s
L0hUTUxPYmplY3RFbGVtZW50MDYtc3RkZXJyLnR4dFVUCQADRZf3VImM91R1eAsAAQT1AQAABBQA
AAAdxjEOwjAMBdCdU3jr1i9xBegEG4jOLnFLJCdGtYPC7ZF40ztZ00TVgp67cAgxOde0WCfpIdWz
VVptpwEP01bEceZgTPMNsyyXHLjy11rcxcORrKC/oihUPqJH/P/OHWqbjVteh8MPUEsDBBQAAgAI
ALV8ZEbKAYOFZwAAAHMAAAA0ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVt
ZW50MDctc3RkZXJyLnR4dFVUCQADRZf3VImM91R1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jr
1i9xBegEG4jOLnFLJCdGtYPC7ZF40ztZ00TVgp67cAgxOde0WCfpIdWzVVptpwEP01bEceZgTPMN
syyXHLjy11rcxcORrKC/oihUPqJH/P/OHWqbjVteh8MPUEsDBBQAAgAIALV8ZEbKAYOFZwAAAHMA
AAA0ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MDgtc3RkZXJyLnR4
dFVUCQADRZf3VImM91R1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jr1i9xBegEG4jOLnFLJCdG
tYPC7ZF40ztZ00TVgp67cAgxOde0WCfpIdWzVVptpwEP01bEceZgTPMNsyyXHLjy11rcxcORrKC/
oihUPqJH/P/OHWqbjVteh8MPUEsDBBQAAgAIALV8ZEbKAYOFZwAAAHMAAAA0ABwAZG9tL3hodG1s
L2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MDktc3RkZXJyLnR4dFVUCQADRZf3VImM91R1
eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jr1i9xBegEG4jOLnFLJCdGtYPC7ZF40ztZ00TVgp67
cAgxOde0WCfpIdWzVVptpwEP01bEceZgTPMNsyyXHLjy11rcxcORrKC/oihUPqJH/P/OHWqbjVte
h8MPUEsDBBQAAgAIALV8ZEbKAYOFZwAAAHMAAAA0ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hU
TUxPYmplY3RFbGVtZW50MTAtc3RkZXJyLnR4dFVUCQADRZf3VImM91R1eAsAAQT1AQAABBQAAAAd
xjEOwjAMBdCdU3jr1i9xBegEG4jOLnFLJCdGtYPC7ZF40ztZ00TVgp67cAgxOde0WCfpIdWzVVpt
pwEP01bEceZgTPMNsyyXHLjy11rcxcORrKC/oihUPqJH/P/OHWqbjVteh8MPUEsDBBQAAgAIALV8
ZEbKAYOFZwAAAHMAAAA0ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50
MTEtc3RkZXJyLnR4dFVUCQADRZf3VImM91R1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jr1i9x
BegEG4jOLnFLJCdGtYPC7ZF40ztZ00TVgp67cAgxOde0WCfpIdWzVVptpwEP01bEceZgTPMNsyyX
HLjy11rcxcORrKC/oihUPqJH/P/OHWqbjVteh8MPUEsDBBQAAgAIALV8ZEbKAYOFZwAAAHMAAAA0
ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MTItc3RkZXJyLnR4dFVU
CQADRZf3VIqM91R1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jr1i9xBegEG4jOLnFLJCdGtYPC
7ZF40ztZ00TVgp67cAgxOde0WCfpIdWzVVptpwEP01bEceZgTPMNsyyXHLjy11rcxcORrKC/oihU
PqJH/P/OHWqbjVteh8MPUEsDBBQAAgAIALV8ZEbKAYOFZwAAAHMAAAA0ABwAZG9tL3hodG1sL2xl
dmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MTMtc3RkZXJyLnR4dFVUCQADRZf3VIqM91R1eAsA
AQT1AQAABBQAAAAdxjEOwjAMBdCdU3jr1i9xBegEG4jOLnFLJCdGtYPC7ZF40ztZ00TVgp67cAgx
Ode0WCfpIdWzVVptpwEP01bEceZgTPMNsyyXHLjy11rcxcORrKC/oihUPqJH/P/OHWqbjVteh8MP
UEsDBBQAAgAIALV8ZEbKAYOFZwAAAHMAAAA0ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxP
YmplY3RFbGVtZW50MTQtc3RkZXJyLnR4dFVUCQADRZf3VIqM91R1eAsAAQT1AQAABBQAAAAdxjEO
wjAMBdCdU3jr1i9xBegEG4jOLnFLJCdGtYPC7ZF40ztZ00TVgp67cAgxOde0WCfpIdWzVVptpwEP
01bEceZgTPMNsyyXHLjy11rcxcORrKC/oihUPqJH/P/OHWqbjVteh8MPUEsDBBQAAgAIALV8ZEbK
AYOFZwAAAHMAAAA0ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MTUt
c3RkZXJyLnR4dFVUCQADRZf3VIqM91R1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jr1i9xBegE
G4jOLnFLJCdGtYPC7ZF40ztZ00TVgp67cAgxOde0WCfpIdWzVVptpwEP01bEceZgTPMNsyyXHLjy
11rcxcORrKC/oihUPqJH/P/OHWqbjVteh8MPUEsDBBQAAgAIALV8ZEbKAYOFZwAAAHMAAAA0ABwA
ZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MTYtc3RkZXJyLnR4dFVUCQAD
RZf3VIqM91R1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jr1i9xBegEG4jOLnFLJCdGtYPC7ZF4
0ztZ00TVgp67cAgxOde0WCfpIdWzVVptpwEP01bEceZgTPMNsyyXHLjy11rcxcORrKC/oihUPqJH
/P/OHWqbjVteh8MPUEsDBBQAAgAIALV8ZEbKAYOFZwAAAHMAAAA0ABwAZG9tL3hodG1sL2xldmVs
Mi9odG1sL0hUTUxPYmplY3RFbGVtZW50MTctc3RkZXJyLnR4dFVUCQADRZf3VIqM91R1eAsAAQT1
AQAABBQAAAAdxjEOwjAMBdCdU3jr1i9xBegEG4jOLnFLJCdGtYPC7ZF40ztZ00TVgp67cAgxOde0
WCfpIdWzVVptpwEP01bEceZgTPMNsyyXHLjy11rcxcORrKC/oihUPqJH/P/OHWqbjVteh8MPUEsD
BBQAAgAIALV8ZEbKAYOFZwAAAHMAAAA0ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxPYmpl
Y3RFbGVtZW50MTgtc3RkZXJyLnR4dFVUCQADRZf3VIqM91R1eAsAAQT1AQAABBQAAAAdxjEOwjAM
BdCdU3jr1i9xBegEG4jOLnFLJCdGtYPC7ZF40ztZ00TVgp67cAgxOde0WCfpIdWzVVptpwEP01bE
ceZgTPMNsyyXHLjy11rcxcORrKC/oihUPqJH/P/OHWqbjVteh8MPUEsDBBQAAgAIALV8ZEbKAYOF
ZwAAAHMAAAA0ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MTktc3Rk
ZXJyLnR4dFVUCQADRZf3VIqM91R1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jr1i9xBegEG4jO
LnFLJCdGtYPC7ZF40ztZ00TVgp67cAgxOde0WCfpIdWzVVptpwEP01bEceZgTPMNsyyXHLjy11rc
xcORrKC/oihUPqJH/P/OHWqbjVteh8MPUEsDBBQAAgAIALV8ZEbKAYOFZwAAAHMAAAA0ABwAZG9t
L3hodG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MjAtc3RkZXJyLnR4dFVUCQADRZf3
VIqM91R1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jr1i9xBegEG4jOLnFLJCdGtYPC7ZF40ztZ
00TVgp67cAgxOde0WCfpIdWzVVptpwEP01bEceZgTPMNsyyXHLjy11rcxcORrKC/oihUPqJH/P/O
HWqbjVteh8MPUEsDBBQAAgAIALV8ZEYQJjWiagAAAHcAAAA0ABwAZG9tL3hodG1sL2xldmVsMi9o
dG1sL0hUTUxTY3JpcHRFbGVtZW50MDEtc3RkZXJyLnR4dFVUCQADRpf3VIuM91R1eAsAAQT1AQAA
BBQAAAAdyzEOwjAMAMCdV3jrVgu+0DLBBiKz27giyIlR7FTh9yC2W27SJhGKOqyVyRkIjEpctAN3
52JJC2xaYcCHSstsOJMTnsMNAy+X5Hiljza/s7lh1Iz96VlQeGc54d9bkt+ztaa3H8eXDYcvUEsD
BBQAAgAIALV8ZEYQJjWiagAAAHcAAAA0ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxTY3Jp
cHRFbGVtZW50MDItc3RkZXJyLnR4dFVUCQADRpf3VIuM91R1eAsAAQT1AQAABBQAAAAdyzEOwjAM
AMCdV3jrVgu+0DLBBiKz27giyIlR7FTh9yC2W27SJhGKOqyVyRkIjEpctAN352JJC2xaYcCHSsts
OJMTnsMNAy+X5Hiljza/s7lh1Iz96VlQeGc54d9bkt+ztaa3H8eXDYcvUEsDBBQAAgAIALV8ZEYQ
JjWiagAAAHcAAAA0ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxTY3JpcHRFbGVtZW50MDMt
c3RkZXJyLnR4dFVUCQADRpf3VIuM91R1eAsAAQT1AQAABBQAAAAdyzEOwjAMAMCdV3jrVgu+0DLB
BiKz27giyIlR7FTh9yC2W27SJhGKOqyVyRkIjEpctAN352JJC2xaYcCHSstsOJMTnsMNAy+X5Hil
jza/s7lh1Iz96VlQeGc54d9bkt+ztaa3H8eXDYcvUEsDBBQAAgAIALV8ZEYQJjWiagAAAHcAAAA0
ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxTY3JpcHRFbGVtZW50MDQtc3RkZXJyLnR4dFVU
CQADRpf3VIuM91R1eAsAAQT1AQAABBQAAAAdyzEOwjAMAMCdV3jrVgu+0DLBBiKz27giyIlR7FTh
9yC2W27SJhGKOqyVyRkIjEpctAN352JJC2xaYcCHSstsOJMTnsMNAy+X5Hiljza/s7lh1Iz96VlQ
eGc54d9bkt+ztaa3H8eXDYcvUEsDBBQAAgAIALV8ZEYQJjWiagAAAHcAAAA0ABwAZG9tL3hodG1s
L2xldmVsMi9odG1sL0hUTUxTY3JpcHRFbGVtZW50MDUtc3RkZXJyLnR4dFVUCQADRpf3VIuM91R1
eAsAAQT1AQAABBQAAAAdyzEOwjAMAMCdV3jrVgu+0DLBBiKz27giyIlR7FTh9yC2W27SJhGKOqyV
yRkIjEpctAN352JJC2xaYcCHSstsOJMTnsMNAy+X5Hiljza/s7lh1Iz96VlQeGc54d9bkt+ztaa3
H8eXDYcvUEsDBBQAAgAIALZ8ZEYQJjWiagAAAHcAAAA0ABwAZG9tL3hodG1sL2xldmVsMi9odG1s
L0hUTUxTY3JpcHRFbGVtZW50MDYtc3RkZXJyLnR4dFVUCQADR5f3VIuM91R1eAsAAQT1AQAABBQA
AAAdyzEOwjAMAMCdV3jrVgu+0DLBBiKz27giyIlR7FTh9yC2W27SJhGKOqyVyRkIjEpctAN352JJ
C2xaYcCHSstsOJMTnsMNAy+X5Hiljza/s7lh1Iz96VlQeGc54d9bkt+ztaa3H8eXDYcvUEsDBBQA
AgAIALZ8ZEYQJjWiagAAAHcAAAA0ABwAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxTY3JpcHRF
bGVtZW50MDctc3RkZXJyLnR4dFVUCQADR5f3VIuM91R1eAsAAQT1AQAABBQAAAAdyzEOwjAMAMCd
V3jrVgu+0DLBBiKz27giyIlR7FTh9yC2W27SJhGKOqyVyRkIjEpctAN352JJC2xaYcCHSstsOJMT
nsMNAy+X5Hiljza/s7lh1Iz96VlQeGc54d9bkt+ztaa3H8eXDYcvUEsDBBQAAgAIALl8ZEbKAYOF
ZwAAAHMAAAApABwAZG9tL3hodG1sL2xldmVsMi9odG1sL29iamVjdDAxLXN0ZGVyci50eHRVVAkA
A06X91STjPdUdXgLAAEE9QEAAAQUAAAAHcYxDsIwDAXQnVN469YvcQXoBBuIzi5xSyQnRrWDwu2R
eNM7WdNE1YKeu3AIMTnXtFgn6SHVs1VabacBD9NWxHHmYEzzDbMslxy48tda3MXDkaygv6IoVD6i
R/z/zh1qm41bXofDD1BLAwQUAAIACAC5fGRGygGDhWcAAABzAAAAKQAcAGRvbS94aHRtbC9sZXZl
bDIvaHRtbC9vYmplY3QwMi1zdGRlcnIudHh0VVQJAANOl/dUk4z3VHV4CwABBPUBAAAEFAAAAB3G
MQ7CMAwF0J1TeOvWL3EF6AQbiM4ucUskJ0a1g8LtkXjTO1nTRNWCnrtwCDE517RYJ+kh1bNVWm2n
AQ/TVsRx5mBM8w2zLJccuPLXWtzFw5GsoL+iKFQ+okf8/84dapuNW16Hww9QSwMEFAACAAgAunxk
RsoBg4VnAAAAcwAAACkAHABkb20veGh0bWwvbGV2ZWwyL2h0bWwvb2JqZWN0MDMtc3RkZXJyLnR4
dFVUCQADT5f3VJOM91R1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jr1i9xBegEG4jOLnFLJCdG
tYPC7ZF40ztZ00TVgp67cAgxOde0WCfpIdWzVVptpwEP01bEceZgTPMNsyyXHLjy11rcxcORrKC/
oihUPqJH/P/OHWqbjVteh8MPUEsDBBQAAgAIALp8ZEbKAYOFZwAAAHMAAAApABwAZG9tL3hodG1s
L2xldmVsMi9odG1sL29iamVjdDA0LXN0ZGVyci50eHRVVAkAA0+X91STjPdUdXgLAAEE9QEAAAQU
AAAAHcYxDsIwDAXQnVN469YvcQXoBBuIzi5xSyQnRrWDwu2ReNM7WdNE1YKeu3AIMTnXtFgn6SHV
s1VabacBD9NWxHHmYEzzDbMslxy48tda3MXDkaygv6IoVD6iR/z/zh1qm41bXofDD1BLAwQUAAIA
CAC6fGRGygGDhWcAAABzAAAAKQAcAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9vYmplY3QwNS1zdGRl
cnIudHh0VVQJAANPl/dUk4z3VHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvWL3EF6AQbiM4u
cUskJ0a1g8LtkXjTO1nTRNWCnrtwCDE517RYJ+kh1bNVWm2nAQ/TVsRx5mBM8w2zLJccuPLXWtzF
w5GsoL+iKFQ+okf8/84dapuNW16Hww9QSwMEFAACAAgAunxkRsoBg4VnAAAAcwAAACkAHABkb20v
eGh0bWwvbGV2ZWwyL2h0bWwvb2JqZWN0MDctc3RkZXJyLnR4dFVUCQADT5f3VJOM91R1eAsAAQT1
AQAABBQAAAAdxjEOwjAMBdCdU3jr1i9xBegEG4jOLnFLJCdGtYPC7ZF40ztZ00TVgp67cAgxOde0
WCfpIdWzVVptpwEP01bEceZgTPMNsyyXHLjy11rcxcORrKC/oihUPqJH/P/OHWqbjVteh8MPUEsD
BBQAAgAIALp8ZEbKAYOFZwAAAHMAAAApABwAZG9tL3hodG1sL2xldmVsMi9odG1sL29iamVjdDA4
LXN0ZGVyci50eHRVVAkAA0+X91STjPdUdXgLAAEE9QEAAAQUAAAAHcYxDsIwDAXQnVN469YvcQXo
BBuIzi5xSyQnRrWDwu2ReNM7WdNE1YKeu3AIMTnXtFgn6SHVs1VabacBD9NWxHHmYEzzDbMslxy4
8tda3MXDkaygv6IoVD6iR/z/zh1qm41bXofDD1BLAwQUAAIACAC6fGRGygGDhWcAAABzAAAAKQAc
AGRvbS94aHRtbC9sZXZlbDIvaHRtbC9vYmplY3QwOS1zdGRlcnIudHh0VVQJAANPl/dUk4z3VHV4
CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvWL3EF6AQbiM4ucUskJ0a1g8LtkXjTO1nTRNWCnrtw
CDE517RYJ+kh1bNVWm2nAQ/TVsRx5mBM8w2zLJccuPLXWtzFw5GsoL+iKFQ+okf8/84dapuNW16H
ww9QSwMEFAACAAgAunxkRsoBg4VnAAAAcwAAACkAHABkb20veGh0bWwvbGV2ZWwyL2h0bWwvb2Jq
ZWN0MTAtc3RkZXJyLnR4dFVUCQADT5f3VJOM91R1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jr
1i9xBegEG4jOLnFLJCdGtYPC7ZF40ztZ00TVgp67cAgxOde0WCfpIdWzVVptpwEP01bEceZgTPMN
syyXHLjy11rcxcORrKC/oihUPqJH/P/OHWqbjVteh8MPUEsDBBQAAgAIALp8ZEbKAYOFZwAAAHMA
AAApABwAZG9tL3hodG1sL2xldmVsMi9odG1sL29iamVjdDExLXN0ZGVyci50eHRVVAkAA0+X91ST
jPdUdXgLAAEE9QEAAAQUAAAAHcYxDsIwDAXQnVN469YvcQXoBBuIzi5xSyQnRrWDwu2ReNM7WdNE
1YKeu3AIMTnXtFgn6SHVs1VabacBD9NWxHHmYEzzDbMslxy48tda3MXDkaygv6IoVD6iR/z/zh1q
m41bXofDD1BLAwQUAAIACAC6fGRGygGDhWcAAABzAAAAKQAcAGRvbS94aHRtbC9sZXZlbDIvaHRt
bC9vYmplY3QxMi1zdGRlcnIudHh0VVQJAANPl/dUk4z3VHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF
0J1TeOvWL3EF6AQbiM4ucUskJ0a1g8LtkXjTO1nTRNWCnrtwCDE517RYJ+kh1bNVWm2nAQ/TVsRx
5mBM8w2zLJccuPLXWtzFw5GsoL+iKFQ+okf8/84dapuNW16Hww9QSwMEFAACAAgAunxkRsoBg4Vn
AAAAcwAAACkAHABkb20veGh0bWwvbGV2ZWwyL2h0bWwvb2JqZWN0MTMtc3RkZXJyLnR4dFVUCQAD
T5f3VJOM91R1eAsAAQT1AQAABBQAAAAdxjEOwjAMBdCdU3jr1i9xBegEG4jOLnFLJCdGtYPC7ZF4
0ztZ00TVgp67cAgxOde0WCfpIdWzVVptpwEP01bEceZgTPMNsyyXHLjy11rcxcORrKC/oihUPqJH
/P/OHWqbjVteh8MPUEsDBBQAAgAIALp8ZEbKAYOFZwAAAHMAAAApABwAZG9tL3hodG1sL2xldmVs
Mi9odG1sL29iamVjdDE0LXN0ZGVyci50eHRVVAkAA0+X91STjPdUdXgLAAEE9QEAAAQUAAAAHcYx
DsIwDAXQnVN469YvcQXoBBuIzi5xSyQnRrWDwu2ReNM7WdNE1YKeu3AIMTnXtFgn6SHVs1VabacB
D9NWxHHmYEzzDbMslxy48tda3MXDkaygv6IoVD6iR/z/zh1qm41bXofDD1BLAwQUAAIACAC6fGRG
ygGDhWcAAABzAAAAKQAcAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9vYmplY3QxNS1zdGRlcnIudHh0
VVQJAANPl/dUk4z3VHV4CwABBPUBAAAEFAAAAB3GMQ7CMAwF0J1TeOvWL3EF6AQbiM4ucUskJ0a1
g8LtkXjTO1nTRNWCnrtwCDE517RYJ+kh1bNVWm2nAQ/TVsRx5mBM8w2zLJccuPLXWtzFw5GsoL+i
KFQ+okf8/84dapuNW16Hww9QSwMECgAAAAAAfXZkRgAAAAAAAAAAAAAAAAgAHABlZGl0aW5nL1VU
CQADjoz3VG2Y91R1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAg3ZkRgAAAAAAAAAAAAAAABMAHABl
ZGl0aW5nL3Bhc3RlYm9hcmQvVVQJAAOWjPdUbZj3VHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAC2
fGRG9uwaSWcAAABxAAAARAAcAGVkaXRpbmcvcGFzdGVib2FyZC9pbWctc3Jjc2V0LWNvcHktcGFz
dGUtY2Fub25pY2FsaXphdGlvbi1zdGRlcnIudHh0VVQJAANIl/dUjoz3VHV4CwABBPUBAAAEFAAA
AA3KMQ7CMAwAwJ1XeOsUXPGFwsSIRGe3cUukYgfbkfJ8evNN2o4MogGrMQUDgZPkRTtwDxYvKrCp
wYBvPdqXHe8UhI/5hTMvzxK4kQd+Sq4FjV2brWfajVnSbRxT7cl/jYyvVfbh8gdQSwMEFAACAAgA
t3xkRpsJWUJYAAAAYAAAACkAHABlZGl0aW5nL3Bhc3RlYm9hcmQvbWVyZ2UtZW5kLTEtc3RkZXJy
LnR4dFVUCQADSZf3VI+M91R1eAsAAQT1AQAABBQAAAANyTsOQEAQANDeKaZTMYdApZRQDzsSn92R
+SSOz2tfJ3EnKOKwKZMzEBiVtMoL/DoXO6TALgo1znJHZsOenHBYJlx4HQ9HZZPQ7Z8U+WnImkx6
xdOeVlcfUEsDBBQAAgAIALd8ZEabCVlCWAAAAGAAAAApABwAZWRpdGluZy9wYXN0ZWJvYXJkL21l
cmdlLWVuZC00LXN0ZGVyci50eHRVVAkAA0mX91SPjPdUdXgLAAEE9QEAAAQUAAAADck7DkBAEADQ
3immUzGHQKWUUA87Ep/dkfkkjs9rXydxJyjisCmTMxAYlbTKC/w6FzukwC4KNc5yR2bDnpxwWCZc
eB0PR2WT0O2fFPlpyJpMesXTnlZXH1BLAwQUAAIACAC3fGRGmwlZQlgAAABgAAAAMAAcAGVkaXRp
bmcvcGFzdGVib2FyZC9wYXN0ZS1ibG9ja3F1b3RlLTEtc3RkZXJyLnR4dFVUCQADSpf3VJCM91R1
eAsAAQT1AQAABBQAAAANyTsOQEAQANDeKaZTMYdApZRQDzsSn92R+SSOz2tfJ3EnKOKwKZMzEBiV
tMoL/DoXO6TALgo1znJHZsOenHBYJlx4HQ9HZZPQ7Z8U+WnImkx6xdOeVlcfUEsDBBQAAgAIALl8
ZEabCVlCWAAAAGAAAAAsABwAZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLXRleHQtMDAzLXN0ZGVy
ci50eHRVVAkAA06X91STjPdUdXgLAAEE9QEAAAQUAAAADck7DkBAEADQ3immUzGHQKWUUA87Ep/d
kfkkjs9rXydxJyjisCmTMxAYlbTKC/w6FzukwC4KNc5yR2bDnpxwWCZceB0PR2WT0O2fFPlpyJpM
esXTnlZXH1BLAwQUAAIACAC5fGRGmwlZQlgAAABgAAAALAAcAGVkaXRpbmcvcGFzdGVib2FyZC9w
YXN0ZS10ZXh0LTAxMi1zdGRlcnIudHh0VVQJAANOl/dUlIz3VHV4CwABBPUBAAAEFAAAAA3JOw5A
QBAA0N4pplMxh0CllFAPOxKf3ZH5JI7Pa18ncSco4rApkzMQGJW0ygv8Ohc7pMAuCjXOckdmw56c
cFgmXHgdD0dlk9DtnxT5aciaTHrF055WVx9QSwMEFAACAAgAunxkRpsJWUJYAAAAYAAAAC0AHABl
ZGl0aW5nL3Bhc3RlYm9hcmQvc21hcnQtcGFzdGUtMDAzLXN0ZGVyci50eHRVVAkAA1CX91SWjPdU
dXgLAAEE9QEAAAQUAAAADck7DkBAEADQ3immUzGHQKWUUA87Ep/dkfkkjs9rXydxJyjisCmTMxAY
lbTKC/w6FzukwC4KNc5yR2bDnpxwWCZceB0PR2WT0O2fFPlpyJpMesXTnlZXH1BLAwQUAAIACABR
fWRGdn2MSNkmAACm5QQADQAcAGVycm9yX2xvZy50eHRVVAkAA2mY91RbjPdUdXgLAAEE9QEAAAQU
AAAA7N17b9s4ugfg//dTCMVm0mCGtnzJzbvZRSfNTHM20wZ1uh2gKQJaom02sqhKcmzPwfnu5yUl
X2snci62o/xQtE5Sm+HziiIpiqS+fBau9QcPLbtqlaq13VLN3rfKdmn3q/Wlx0P/q3Xqy7hm1UUU
SeVbx9xpC0tGlq9iy1F+U7a6ISXxpS19/bb6WfpO88avf/vyY/oHw/QpCemIr9abQL+3WC7Qnz3r
9Sdf9nes83fnxd1CtVCxrY5yr6LIG77hQyB8+j1Fu3BYOPiLT+aCMSsUUbcj/RZlMOxwz1KBCHlM
GYp+yEulVq4M8yLCUIX06nhS+LFVKu8XbPpT+mr9Jj1huUokZNGXETmL/1VetyOi4lse8+LJ53rx
s2j8R8bFMz5Q3fhCRHFUbMdxUIzNlzwIHIPUCTFKiJmECh3uyya9Y17eqqvOG4VOdUOHPjmTy7g/
N4O7K8rgTG4Cv/ULHeamCEVYs/T7asXi6HfWDmzbHpuqdpUNXawn4zaLPNVjHS790c8LQTtYp8/h
/g2PikFbejIoyg5v0Wcb3Lluharru5nA02kk6UbC6YYyHhTckPdOdbKF5G2FdtzxcEThgw++Vfr2
4IPvKbskGTL4KRKWalpdX1LHVnJP/kWp3HCvS91a34riUHcexXeLx/doyKfz3BK+7nwKHdeAeqDU
/rak5UlfWIeFDE266TDK6JqZLxl9yRueWNh6r/Ho8IYK4zSbyndVz/cUdymSbNjDZVTubu3u7r/k
Qwd8XvGUSemaC1D44Ycffvjhhx9++OGHP5t/NaMK7LLv2pf9wya9li77B3byfUOkr+X0dXfm/3n6
amcfhXEGofQ86bBuKFEw4Icffvjh35SG8eLdaf3qt9Ozk6u3H07qV+8/XFyd/Hlav3joEO7K8/st
yt4oT/QL9CdC4TJxQ4CIucITdOR7bco+C7mM9NB2LDsiZCUUX/jhhx/Voa4Oyy+pNcPpi9P38crr
o5y0WU7VZ0DeqG7mM8/lJhWfyAllEFvbS1cHUTTVHnl8INxjGTqemay0bSLY1NNlLRVShaQnHFix
ojqIx3fXDpS4anwTTsyaMmZp6kx2Wiy6Wcw9eBbl8CAP5fAhxyDXjRT88MMPP/xPvEZnqv/hJB0P
6hw8sG/BRD+g/xIuDjD88MMPP/zwww8//PDDDz/88MMPP/zwww8//PDDDz/88MMPP/zwww8//PDD
Dz/88MMPf078h/DDDz/88MMPP/zwww8//PDDDz/88MMPP/zwww8//PC/NP9qHo6Qfe+uJvc8/fhi
HFMcU5RT1L3www8//PDDDz/86Kff3adtqlDIls9GfdThFs8zvV2T9yW6vLPJ4tDj0OPQww8//PDD
Dz/88L9kf8WGH3744X/iS9/kyU6GOXMz74pSvcp2M29+IqH43qXfQdfKfnKtTG9iE29lhoYSAD/8
8MMPP/zwww8//PDDDz/88MMPP/zwww8//PDDDz/88MMPP/zwww8//PDDDz/88MMPP/zwww//s/aX
4Icffvjhhx9++OGHH3744Ycffvjhhx9++OGHH3744Ycffvjhhx9++OGHH3744Ycffvjhhx9++OGH
H3744Ycffvjhf67+p3r46fQjTrM/3bTT9WJ557NNcWRfuL8MP/zwww8//PDDDz/88MMPP/zwww8/
/PDDDz/88MMPP/zwww8//PDDDz/88MMPP/zwww8//PDDD/+z8Ffghx9++OGHH3744Ycffvjhhx9+
+OF/6f6n2tliuDeFzymdgDuC+co3yVNA2fB92Xe8UL4O1GjLC+bxgdDHBsf+WRx7EfdUiMKAihAn
A04GnAzwww8//PDDD/+K/VX44Ycffvjhhx9++OGHH3744Ycffvjhhx9++OGHH3744Ycffvjhhx9+
+OGH/9n6d+GHH3744Ycffvjhhx9++B95MainuEtxKkYUvWgsvtM0/bkgFPoHTHZ4SzDzM1buAwcc
cMAB99Q4dAXghx9++OGHH3744Ycffvjhhx9++OGHH3744Ycf/mfl34Mffvjhhx9++OGHH3744Ycf
fvjhhx9++OGHH3744Ycf/pflf76Lm146DiUXJRclFyUXJRc44IADDjjggHvZuP3njoMMMsgggwwy
yCCDbFNkuR62hP9l+w9WfGaPraITxIPCt+wn9/i0bjGd6ELT4YpMVbvKXBmyqK26nssoJWZSulPU
kZFT5I50yyyQfeHlQbLIULXvNrwXLUVnli6oNYvKr6Nu6Je6VpNsr6Mdq8Njp63PslB874r7AE0+
x2VP57hSjLpBoMKY8UJAab9+r+g0c3QArIaw/DRPwt0pZA9DZWEYSis+0XzlJ8eQ+zErLX2SRZ7q
sfSHhaAdzCOV10kqPwmpsnJS1HXaupwXnCh7VRiKDp0ijE4KOlupAWq1RBixgIeRCBeWwAwPSDp/
d2595iG1dK2aRS0etTzXr4s3PCw2lefS76BgFhv7B4Oybe9W9lzbu9n/Noga379VOj3KoN3yixdF
5vMb2TKnc9oHS+ptn1GK+qs2910vzWkh0Icj7sc7Neu9snQ4zHlvqZCqglA4sQoHuqFdNsTjTEyc
+K7wBDWvQVoELOUnrWv1ztBPJHenaV70VzX6GgmnG8p4UNQJjWtyk687keMPi1j3IOikIVZD9emr
Zsg7gnGHwhitXTlxNKgFXebgTZRNamJMAWORpnY9OqFCHrXXjptopxpCt03rzMxMMeoEonV3c0iB
5cUb6QrFTPbYnMK4YahnkJ39dVTguqqk80JFEVPU0FCF1wxVh+ncRxtcgUfTpbJarUzXGXegNjf8
z7XRnA+ZF+eDtcU50i1cDsI867hnlB+3P/KN3/DICWUQ13rSd1WvEKug4CnHZPzoFW/Qx2sNj/vX
r7J3VHzFxglTi96keLZZICiidJEgIocHwl3U2891DOgyKZbOD6HYmPIgI+Xpy+vPKvTcIvcH+szK
jp7+uLihvC6uug/Xd6A/fTyb+O6yb5dqr357c3pWs+K2jKxkxMX8zja/EVZDCDrt6YKCDtUSRWDR
76PvqFNB7zKVnKP8WPTjtCs/LHZMR81VHURvmehFocNaIn4T0+V3oxubwdauQAyXjSEK3z0DF00U
PkTvIdF7X0f8HhQ/5aIEPjiCKIVZYyjRAj9qEO9ogndtRG5B5LK0wQhfpvAtrv4QwGwBvKUVRggz
h3CTymG/4+kfp7MesgfDo1+rZxJNDC6aW8WfZdz+84+zd/Tpj0maC62lB82L+vvJ+//+76t3Fxfn
Vx8+nv5++v7V/+lhUgq/wylnZtjBel3Y0QOp6QSqe8yeGnmToc53ggrNpDmghOPhOOhoItVBIXsg
pxJO7xS0zXesqULd+1gYwPKyo9jNkBJ+vVOzzoTfittWwHUZjUVodbpRrKektOgd+vu4zX3Lvs+4
c3JjbhyhSIQ31G/SN+qmhpxLu7tL3eQLPD7QA47ewqlMu6uaWWEGwGMe0rGZueu4TK5qtUe7U618
oW8c6Pu42QteGlZF53E4faPK3KIurz3ME4PPqa8TVFfgq67IZ2Z06UQojSWmwolOQ7jHmrB4Ksju
qp493RONllcsUYrlyZZA+VR3dbjv3D3aPp0Cd8/1bMXoV+6+CVtRznx0mE/1xJ7y23cXf5zlD1fv
NrL49p68RhxVAmOW9H1l7lLdSCeWyZXoxL0y7okwfp32GnkQCN891v2Z1zvWz1YyFy79/tXOP1zl
UG78uNBQ7qBAKYtQg49e/TOgvsbAE0fbTeoGsp6QrXZcayjP/YejPBXWQuFu/+s3Lr1uKCydV9Mv
ue3X/TN7jdenKu7tyfvTk7eTvU/qNfFo6WPxpL329ZBM8aKOuJ4VbsXKMj2T8U325U33YlB/q61c
1qN+8pAUhCpWz5SjJ8xGbe6qHm94hhJQexsPcgMMRavr8fBRZU/Sk5hY4tGhCobxiAJG1yZ+Mo3U
5DfbFE2T3LxEFkJXtXirp8JrPfVmbB1N2NbVcYaVHsMUklc2rMnpC/JSUU5LwGZKhzPTMyvHn069
sqOXI9RNmxdRvDaBqMdomJ6ZkVxMzS4QucdRTV4S5XsVX1BPefG4VYZZKWurhN50XUm/ZnJJk9NW
TPq6JuKtQuD9W6d6NPdDaRUl/W+UVz00RdfOqpfOz/np+9FW5Th5y1bZplb1aHt+fra3Kif01jQ5
+uaeQXyKmo5Saqqu72YpIzMfrYQu88SN8IZVuanWG55yrvXl/fCNC+Z1rQw8PT5XpJ6roLeZ/2zz
0NcT5bOs6liQzPSPWfpjxhtUSSyeyLUuvB4Li/vxslijGVYrLv0kVIPR6scL0V88wHb4WCOUf15d
nNQvrt6dvHl78rH0JCOVM2i6MmN0XREVbbuaLGUcjU5WC8tGcDKxhwTrUQoF15NY9ZIR6kiHdLZm
Kv/m5Kd/IjN3VV+iUYEQYvlD/wTXqHPr+TnL6fRkOq+t6Hc9cjvRaVEHL1lE8fuv/2EOVSxJG6G/
ikR8RD9N24tOK20s6KVEf9PPHW0d73/44Wp6dJmcdK52FrQd6w71Zd+pXPZ5dT0R16ud6EPuRNhn
Q31c2XpTnQh2Et2t8v7wf/Y3NbT2Y8aU6u4m73rULfQdfSOSQjyM1M9JkSzb9PfnUZksl4tbB3Zx
q/LrgvJYLr+EuGUvi/pi6k39+PTUFMbydGnMW4wv+6J82T+gv9xZZTHdpnhtTwRwf1Hg9jc0as3L
fkP/dTehkM4po887wGtq+Knf6VwP5rY/up3fnm576qabWtAr2o7pIBxTOX9t93cPfqF/KuafnblN
UrVm22uOb3+18dUVgrmydFSnw9NuldeN6fNHv5hIO+NI9yd7VOXyl68/fS+nES8lNamziSFdZZHV
6/AEM2txmL7nQrVsTBde6fZL84ruOKB7W+XK4X7yWrIPhl+U0i9K1eEXe8kXVTt9PUxfSxtapn/o
eT9qe0YY55rRFZcek5PNgT5CwutI94j79MbwTPrXSeD5z9Ldqrwd//jnNuWDfqLLrglhv5Tkdcs+
1NndqrwxGd4qHxT/rNe37N3iVvkw6TNouB534guCXrot6Oeh6PBY32QTvqsv0JPwWMnMmqhmJZsM
mNlaofJYg0fSTPVlTT3sbe5qyE7gmd2Rlr5cTkcjM/+OuRehG018MK2yygFDPcJcUA09DlrQCRYo
wUIyuNySzWyDB8nH081GkjbT1OvKX3xnBM6nHhL88UbHcJAn01LPO1ObGSA1dyn0nYnhqPO8UFRX
PodzXh3udjudQSHqNR+jLUgLBTWpuvIPhZ6Ll06Ak25kJiqaJvmoIehrsxcStQj3ub8xyvY9I5tW
gtsPLFfjDA13cNE3ArbN4TLHXg/Wdn19z9vcFYr50sPSU1PSRvvEDMelP308W3iuIQwIwzgMu3m+
E6V36QulKyLRDygk0cIo7K2hMJip/v7jlwVdfdLnwji9ztG3lgCfhe+v55Zz9h2DZz5o9gYcbhTo
6OmVHist1OX6/vId1waHy65rSFZPWB0+MKHQxZNL33r/6cxqDIhyn3UMCwv/zKWPmVTB9HKYaGp9
w96d/a6FvyFtBUSfUxMw3Jg0naaAoD1i0Er2KusQJ1uN0fXNzspmOuVov51AL8txN8PRyonDzYmj
nRNHIycOmRPHt5w4rnPi8HLi6OTE4efEoXLiCHLi+J4TR5gTR5QTR5wTRzcnjpucOPo5cfRy4hA5
cQxy4vgrJ45SThyVnDjKOXFUc+LYzYljLyeO/Zw4DnLisHPiOMR4+0Y5HNyPwv1B3Fdb6Gg+f0dT
qQdOY01Fej1DxJuiOrEfzr9/WNpcnh8myoVZ7zh3PQJiMRGL0npmL42JZscD1bpZduKS3oFwoKeu
CafN/ZYwy17MBhILz4FbF2l8lq6w9DpF7uhtVaVvmR1jH7QVbaYlqHrpKSvtNWTMur5MF6Imk2z2
9wr32oRmotiYFQFTqVcWxqeS65lsA99Rvl5PutC/pvm5dILeZ7OUSFCB13sF3VrmM5iOR3tut0Rs
UeLh4F556fquaFKxdZMVaN1F+/8+51w93/If96SzeHrd/tPNTR5VUOlc5Hr6/bnypDOY2TYt2Rz5
oZOVH20Rq95dUG8cmG7LpZ+precqpnvr/JSssnxL+T4q/XTDPemmG4IfVZNllknMqOldZjH2cXH0
MfomoJfTJjXyFFzd1Au9CZhePkYvdBQi3tI/oLJN//rU0tv/w294sqGa/rn5vTvmI8JPXvS/esVm
2T5/U6+fvC3oXxks6B+sbbuw4aPQud5IfNkZ3P3Ii1lDP5Lb7KLH6MAW+nNLftnO80mf7rJ36y5h
FIM1VXyU0kn2x5HPfHhGTNdDzrU5+9i4Z2iWu1UX7YS1Prj+4TmduI8CD72mefKR531M1yAl88U3
DT2xcnCZndRv10+uIWWi74hAV9QPob8uVXbORWgSVr7lCl8Kt2bpx4bopduPtzTHV8dJg5g84kGv
7d629KJs4T4wKL5iaVvLPJM2dRPPQ9UKdSXzgNDcuY59DmkdlL11F/DxuuN79OtnIpBhYWH54AW0
YVnXF1ZKLyAYty/Lquy9hBCY6/nkm0WBqL6EsnDLhd3+RP9dX6s44qvl8G6rHVv1098vTj7+8YsV
tbuxebaBq3r+nBTKoxj2SPLVOvUlBagukubxWA9EWzIaLkxryha1D671pU0XWPS2+ln6TvPGr7em
P8zhm0C/t1gu0J896/UnX/Z39Iq44m6hWqjYVke5V1HkDd/wIRA+/Z6iXTgsHPzFJ3PBGEU86nY0
z9dPyvAsFYjQ7OM6syHEbs3erVWqD4gWfXxv4pE0jx6tmfTXHK3K4epWvvIgMDc8itOPcCp0uC+b
YvZZTiZvKxvjH+Vtuns7kUvqAqwzgzO5yfLgqZGJLp1G22snI8lmabTZf3/xttur9Tncv+FRMWhL
TwZFsxlOVGxw57oVmh5YFvB0GtPDVgU35D3zrJxC8rY5Ve3LOKIl+OCDL/e+9IJb9Olf3RnR1ane
NK4pvTjtaxe+Rcp/icegDN96u01rzGDydArzU6Z8fQGgN4jRo4/DjqgZa76tV1p50GMqpD986oT4
fp95CbOgln4ssB4mH44xjZ88cVjI0GkyXXIZXacxoS/1XbqF/SPg84o3tz75gpF3+OGHH3744Ycf
/pfpr27KhRW77Lv2Zf+wSa+ly/6BnXzfEOlrOX3dnfl/nr7a2S9EnUEoPU86ZvrVAwLz0gsG/PDD
j4bhsRuGi3en9avfTs9Ort5+OKlfvf9wcXXy52n9Isszeue1M/oToXCTLaEjpp/+SZHstfXcvJBL
M1FPT14I5+6mjOKwqcXhthFNHK/cHa/8VTdlVDebUnwfpRBkOfTPgIx61c//UXqBpw+uV+BHxYSK
6aEVE8og/Pf133e1uhNFU9cYHh8I91iGjicevi5dJ54+oLEpY5amzvTTp6MbNLnwww8//PDDv47O
7HTb7ySNPjXMD2zXmegH9F9z99/AAYYffvjhhx9++OGHH3744Ycffvjhhx9++OGHH/68+nfhhx9+
+OGHH3744Ycffvjhhx9++OGHH3744Ycffvjhhx9++OGH/2X4H2WBX7KthGHO7I97RaleZXsg8fxE
xg+s9ZN9dvUjayfeygwNJQB++OGHH3744Ycffvjhh39THo+SfbPCJvc8/ZxpmPJvQt0Df279e/DD
Dz/88MMPP/zwr+qapqlCIVs+G12jDPf0n7naMXlf4pJnNlnQUerhhx9++OGHH3744Ycffvjhh///
2zsXpsZxJI5/FdfUMUDNKm+eu9wWC+wOdyxLDczNVu1MTSm2khhsy2M5kOzVffdryc6LiUkCIQnm
X1tDHhvL+rVaUre6JYMf/OAHP/jBD37wgx/84Ac/+MEPfvCDH/zgBz/4wQ9+8OeAfwf84Ac/+MEP
fvCDH/zgBz/4wQ9+8IMf/OAHP/jBD37wgx/84Ac/+MEPfvCDH/zgBz/4wQ9+8IMf/OAHP/jB/yL4
d8EPfvCDH/zgBz/4wQ9+8IMf/OAHP/jBD37wv2b+VXuSsd/2Ynfyk63QsuAHP/jBD37wvz7+PfCD
H/zgB/+zenae5A7JqahIempAPJFp9LowEvoL5vq8KZj5jlU6gHuNcOiW0FzAAQ5wGFBh54Ef/OAH
P/jBD37wgx/84Ac/+MEPfvCDH/zgBz/4wY/gBpQb/OAHP/jBD37wgx/8MO6RlgXPZbGaWymBH/zg
Bz/4wQ9+8IMf/OAH/zM5dwNW4Ydxt3A9vX838OyaTBe6MkyLdFgBBzjAAQ5wgAMc4F4mHFwK8IMf
/OAHP/jBD37wgx/84Ac/+MEPfoQUl7e4BTKQgQxkIAMZyEAGslUhg98AfvCDH/zgBz/4wQ9+8IMf
/OAHP/jBD37wgx/84Ac/+MEP/hfDXwY/+MEPfvCDH/zgBz/4wQ9+8IN/jpmdPAzvwza459W5fRNw
KifktmCBDEzxJFDW+91E6n7JMtCCYr1imce7QrfNC2EX8Z2MIIyXIgyMiuAHP/jBD37wgx/84Ac/
+HPBXwE/+MEPfvCDH/zgBz/4wQ9+8IMf/OAHP/jBD37wgx/84Ac/+MEPfvCDH/zgBz/4wQ9+8IMf
/OAH/4vir4If/OAHP/jBD37wgx/84H+2590FMmCmCB7ErDz14+56D7pTnrxj6ZeFsBWiScF/n78G
/uV16cqzdOnFI6m23WpQkQVbTf9Qzkj48lYwu+V6DiMlajZFpFjIIyWipTdXrVRjjhsx1ZJtqh6V
lLTaRDrfVXaR265TYaHbEV4eSDIZtiYznIumpEFD98F9i7qmTW0eUUFaXTbUpuXzmDSABpBIfGuL
xwCaeg6GEF3jalG1w1BGMeOFkMreOJc0gthaAFZdWEFaJ+FsFqYXQzVTDHsLakol7Hbkxt3iNb/l
yo7cMP744Wzo0+dOqbz/5tfD07N9K265ykoa3dyzxW8FwYvA0h1QOIU3E9En3o8+kTLRr3TzMlsG
sejErBFxX9AgZZtWZ1pqjvQhvVmkpyKbNUV8GNPAWG/HZiprC8hwVhlC+R4pODWkfJDeU6R3fgn5
PUl+0oEGPlmC0MJpZehiBp6rEDEFP1Zy85qDL95fWJ94FJCbtW9ZbX3q7c1G8ZZHxYb0HPK6i2FU
rO/sdiul0lZ12yl5tzvXXVX/dl317wil1AyKV0UW8Fu3mdj0rs+bwqxDMDdgVKJ+1+KB46W+eyHU
CxRxJ97ct86lpRcIjMtnyYi8wEjYsYy6evlo1lYcVGLI53OEJ6iHhumiiCWDZM2oNrGRhoqbyATl
fazyYvJ5qgBhA81DhKukh66Snl6C+iQjzynyoKuHx+llMnq5uKW6qiy4amnRcLqgwVKjqdf0aI6I
9eq9wxQNvnXZoXdJk3KbBvsVouz4nv46XbmcHtCj2+pAx9AMZlbBP7lx68/fz97T1R+SMpfOOrSu
Whd6LXVcZZ52LOY/Ts7/898376+uLr7+8eH0t9PzN//ThgF1Z5sUPDCTs7VR2NSmQxpsekSkqS98
GblNN3gvaBAaboCQCo5Z8j8HQafdwvStOlJw8oG1zCfWkJH2JTJbc1EPWRiydkK3M4txNGT7RSIx
4JjSnbTtCWZHXLWWDqetPxbziATNRsefZdZqzCS2f+cGjrwrxDIs9FbJD97wOl2+X/d4cDPD1BhI
NiiYmqZBGt1ioSCdJnUWyuYhzbXjA4X5loGKqVD7O1FkaWllQbK4E/WmVyxTiZXh4V8GNEb4PJji
8SWjJXDnQocZ1S/cOYyaKmd8ZNCdarescvz+6vez/MFdtutz4pu/j2/GUzuSSqXTIllh0meaS62w
j69GhV6rVUenvQlQqyv+l7quMh5kteSstHuRAzHf5xgn5UUlMeondekGGXD2c5/odoXryZlCvRKS
VzLqbLp/oK07n1PP7RkAq0naS/KamnJwdcrr+jqF5dKYNYrktQqIelmH6Z6QmNj3k4oe0arJS0J5
LuOrFl2b2aKLSpoa9eyL2nejwWAi2r3LyJyN4p6MHPomkt1+ZuOV6MRL57y3TuOHojk5IYr8P168
dR0hmakeG7Pas2JQqE6WaseuL+hn5n+2aGLVC2zTZHFmFDP6NUu/ZqYnPOB9bc1rBenPr1cnl1df
358cHp98KD/LStI9crLoGQ9DVSyVakz/YrB6VCvMKsbhwjKFtT1ZWIdxLPwwtmKyXUR0KwZGy+wK
M70j3lHqsO24dJuhyUzYLcncIBZRzMm88X7WpR6MvShduXeDa6qrts2458m7VG3efjtYqx4lP1mr
lFRkH6yPr8/6WvWEfpoWRx/GCXEnQ4j7+3NbbCMbQBuOetV0ehkm42ooyUiKRh0Vs8qWmYubCfRs
izl9Pj+sLZFvfg32sB6P2X6jF668FqHMux/4TUbCNXPrb7/8m9k0MCd9QL9TIj6gb9P+4DfTzkAv
ZfqXXnewdrTzx9ByG/fovhs9C7qQWNCbS+sbD4vqc8eufu7w2nIkrqNMdJEzJPb7oj6qrh3WhoSd
SHetstP7PzuPEu1FJHwetyNhicDRk13SeFYSRVD7VhIAM5HOSHqszpVrkpRYg7uefhgyU+Q0eGbX
zMzG6rRlZ3XQ3SVrTWme6kLmeoO3PTLaAlvH3kl7ekrwLultlRL9e9fvbpVKcW23VFyr/pLR1SqV
DJXIldym72Zaow4vj05PTT+rjHa0Rcl43pOj2SyiC6EyZthlI/y6cI70/JedarR0PfncEZXPnV36
x+1FdrV1avP1ISXYyWr8nRWVWuNzp67/OavQ0cb0s5ct4CXZZeQ+2jfdseaBNsPWR02DS+NtFnSs
4Yga4Yj0fKPU2dr9gf5UzZ/NzRWdHjqLla8eEO7cuEWGiO/z1Or12uTPRgc/GEnbA0l3hg3eSuWv
L2+/VVKJl5PZwH7tKqsjJIKZ/DCmY4w0ysZu7AqVqboDgW6vVap7O8lrubTbe1NO35RrvTfbyZta
KX3dS1/LGTq9t+QG+M4xmut8RjD2DeOBWRd3G13dQsLzXeeAB/TD6MwNbhLB83eus1Y9Hnz9rkX1
oG+07hoRdspJXddKe7q6a9VDU+G1ym7xz8vLtdJWca2yl9g9Glwve/DHCH2prkcvIvBUF6RWWpxe
DRrfDQJpUkxuXTt2k30O3ylYmhXLw5Dke6ST/TY2rXdWsgc+/fxm88f+nFuXTrdAJYtId9qDNz+F
loq7njhYb5B02J1wm614vy4950dbejLaj4Sz/s9fSU66DXVdzermQ7f7aaaFPXZ8cn56cjycXcs9
l6uZ2+JZk4uWg2TUa2lLrj0MX8Qt6SSTZ4oURjKWLxTHdPcWd+Qdr3sGJdTjazc3gJFotj0ePYqs
vEh/duh4Fl8PxFyRwGKyhJPNMqa+06V4m+LGFZIJOkVKSDpTrT8xjjOg7CW46lyMdSO9hmzrWTGy
2oFWRqMzMZ85Hjyy3N1Po+0FhD9+OIMYIIb5iOE5ej+VZNCnSfK4d2k1cphHTojXG97MUFcnI/tG
py31fpiRqLww4KXExvWBOJHrCCU6IemAWnqzZ1jng9akxlW62abasTSxtHtiMclFOl2ip2vjRFFd
+FafcW6f0/b9bkHdNebhPsr6tdlUEdnaX4yEx7u93Qyuo8wWEuPFH9QFvTengZET+ZiIfL/a4yRb
W8IQa3buBfMfYbWM6DoyM5L1D505ktm7AP7MfYnrNFe9o4/8lIgG/qmGUjOP9MYb4wGTUyDEUppx
bO7u8IF8LCn56c05dKeR8kO9Q91Mnebrwe3GSWIrz5PmhIWgnVkzyZNte5bPu0YUumNyN7DOP55Z
9S6hPCbXO7Pb31vnMllOTG8KVSPp39sTp5XMO6RWpehwmlJ6R+yltheENk+hLTSyrLOvC4mhUNAF
FqjAQpJW2nQb0w2mqZ2RnHaRxLLMiCKDBx1xcD7rqDnQQpNCKpu3sw6YeitgV88uZE3ygJh1AMLk
3Waxbi1qibYh5RMt5HRvp46uKN4QtaFFp5+/y4OrjJcX1cJkkIyNjkAWS5DFciyHbkBziM5omLlf
mHXjT+SqWzqTgmYJmvxoijNHBzzpTIKpkmR0cgwrb9fdmLUDN02VSSa9ne3Co7K0h1TJjI0jpWee
d7uV6+WY+M61xaqhU399zAYkJWgO0Hn0D04DUzAd9c/xaYrYosKj7qPqQu6QaJDGOkl4vO15L6xW
1eUsvfbfzbrwavzE3uHxtt6i7rFyJt328znP/eEnXfO4TD9fSM+1u/e2TibbJp7qRc8tiUYH7XQ8
Lt2Voo+o155BukXnbZLlcUz1Pii/NY8cSM99OaglaR6JzGiynSUZ7KjYv4w+hPRy2qBpnYSrJ3eh
98BoM5leqBUUGbn0jtSX/gY0t5f+xW95sqlSf2/uu2kuEUHyov/qjJFK6eLw8vLkuKBvGWZYBNsL
zZ+dTsnbgXnIg4kO98/+CAV/YJ/ZYjnqOeFo5ISjmROOVk443JxwXOeE4yYnHF5OOPyccAQ54ZA5
4QhzwhHlhONbTjhUTjjinHC0c8JxmxOOu5xwdHLC0c0Jx9854SjnhKOSEw6RE45qTjhqOeHYygnH
dk44dnLCsZsTjr2ccJRywmEjHgW7BHFOxAcRH0Q86hXHBz3EnREfRDwq9/HBAHE1xDkRH0RcDfFa
xAdfcXzwb8Q5EVdDnBNxNcTVEFd7xXG1PcQHX0tcbSfPO3vTBw4+9CyyWmm/tKQHsVFJJ/3H581K
fo+Ymt2+MZsQ2eBYCHOEWC3juWJLBNdfXvCmmAt45DX0idGHnvchPUgxOaRm6dDfnaWo97jqs+7o
cs+bdVtvR3kxq1PzJs8IZe3ILXRWqlWHjpub5XEoDzfv8MGDTHRsEeoNuU9p241ydfNCRKZgGViO
CFzh7JMMhK1PQZ/fUW+BPEo2Pp+JoBm39DHp65Y+11w4TxRKIFm6p5p5pmwmg4tINiM9ij5BNBOP
hB+DtAyUrWUr+OCwykcc0XBPApOOf10i8EIn6akORdXC2H0FwnjgsDsSQbn6GkRgTu1JPmQK4jXo
QvbxNLXKfqV/Lrw+k8IWXyybt5ut2Lo8/e3q5MPvP1iq1Y7NoyEceReMK6E/MdwRyRfrNHBJQJci
mR6PtENhuap33F/DbdL84Fh/tdxA/+zyLP2l+eGXB8vv1fAw1L8tVgr037a18TFwO5v6nMHiVqFW
qJYsXzpflfJ6P/gjFAHdp1gq7BV2/+bDtWCMJK7avsYLZORzz5KhiMw5mmpcXRbltaVzmujQXy0d
VUwebUJmTJyqc+FaybHtsZfvZ9gT4uAZ9tMp7f8BUEsDBAoAAAAAALt2ZEYAAAAAAAAAAAAAAAAF
ABwAZmFzdC9VVAkAAwKN91RtmPdUdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAIF2ZEYAAAAAAAAA
AAAAAAALABwAZmFzdC9ibG9jay9VVAkAA5KM91RtmPdUdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAA
AIF2ZEYAAAAAAAAAAAAAAAAbABwAZmFzdC9ibG9jay9tYXJnaW4tY29sbGFwc2UvVVQJAAOSjPdU
bZj3VHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAC4fGRGUpdhWGwAAAB8AAAAKQAcAGZhc3QvYmxv
Y2svbWFyZ2luLWNvbGxhcHNlLzEwMy1zdGRlcnIudHh0VVQJAANMl/dUkoz3VHV4CwABBPUBAAAE
FAAAAA3LMQ7CMAwAwJ1XeOsEfgQwwQais5O6kcGJq9iRyu/h9jvb0AWaBeTOFAwETm1JtgPvwc3F
GqzWYcKX6ajseKEgvM4PnDndJPBOXxvxZA/HlTwwqeUPVupF2jGbKm3OKJXKf4eE8um9lenwA1BL
AwQKAAAAAACCdmRGAAAAAAAAAAAAAAAAFwAcAGZhc3QvYmxvY2svcG9zaXRpb25pbmcvVVQJAAOT
jPdUbZj3VHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAC4fGRG5OMa720AAAB8AAAAJQAcAGZhc3Qv
YmxvY2svcG9zaXRpb25pbmcvMDAxLXN0ZGVyci50eHRVVAkAA0yX91SRjPdUdXgLAAEE9QEAAAQU
AAAADcsxDsIwDADAnVd464YlvkBhgQ1EZ6dxikVio9qRyu/p7Xe2XjOoBcwrUzAQOGlOtgFvwepi
CsVWGPBltTd2HCkIL9MDJ043CbzTz3o82cOxkAemavMHv+YS+xZdMHOzE1yl7v1tjY+LlOHwB1BL
AwQKAAIAAAC5fGRGmJ71HTYAAAA2AAAAJQAcAGZhc3QvYmxvY2svcG9zaXRpb25pbmcvMDYxLXN0
ZGVyci50eHRVVAkAA06X91STjPdUdXgLAAEE9QEAAAQUAAAAQ291bGQgbm90IGNyZWF0ZSBhIHNh
bmRib3ggZXh0ZW5zaW9uIGZvciAnL2FydC90LmdpZicKUEsDBAoAAAAAAKl2ZEYAAAAAAAAAAAAA
AAAJABwAZmFzdC9jc3MvVVQJAAPejPdUbZj3VHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAC7fGRG
RleQm0sAAABTAAAAHwAcAGZhc3QvY3NzL2FjaWQyLXBpeGVsLXN0ZGVyci50eHRVVAkAA1KX91SX
jPdUdXgLAAEE9QEAAAQUAAAADcoxDsAgCADAva9gcyuP6EtQMSVBSIQm9vftzXf5ox3ME9piSgaC
IOvVN/BOthA3GL6gIOn0SGy8ksT0RXPjLfGvxCHK551Ty/EBUEsDBBQAAgAIALt8ZEZGV5CbSwAA
AFMAAAAZABwAZmFzdC9jc3MvYWNpZDItc3RkZXJyLnR4dFVUCQADUpf3VJeM91R1eAsAAQT1AQAA
BBQAAAANyjEOwCAIAMC9r2BzK4/oS1AxJUFIhCb29+3Nd/mjHcwT2mJKBoIg69U38E62EDcYvqAg
6fRIbLySxPRFc+Mt8a/EIcrnnVPL8QFQSwMEFAACAAgAw3xkRtsI00I7AAAAPwAAACkAHABmYXN0
L2Nzcy9jb21wYXJlLWNvbnRlbnQtc3R5bGUtc3RkZXJyLnR4dFVUCQADXpf3VKKM91R1eAsAAQT1
AQAABBQAAABzLClJzS0oUSjJV0jNKyxNLU1VSFQozy/KVsgESiiUZ2TmpCpAxDOLFZJSM/PSFQqK
8pNTi4tTU/S4AFBLAwQKAAAAAACFdmRGAAAAAAAAAAAAAAAAEgAcAGZhc3QvY3NzL2NvdW50ZXJz
L1VUCQADmYz3VG2Y91R1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAvHxkRjeGpO9xAAAAgwAAACsA
HABmYXN0L2Nzcy9jb3VudGVycy9jb21wbGV4LWJlZm9yZS1zdGRlcnIudHh0VVQJAANUl/dUmYz3
VHV4CwABBPUBAAAEFAAAAA3KMQ7CMAwAwJ1XeOtULLVPACbYQHR2UxdFCnaIbSn8Hm6+k0bZQNQh
NSZnIDCSbdUO3J3Fsgrs2mDAp5Z4s+GZnPCy3HHh9Zodb/TV8AebG+5kjskMk4Y4N0OLWrU52ieo
8fifJQuP89Tn6VjlNRx+UEsDBBQAAgAIAMx8ZEYIBrVTYAAAAGoAAAA5ABwAZmFzdC9jc3MvaW1h
Z2Utc2V0LXZhbHVlLWNyYXNoLWluLWZpbGxJbWFnZVNldC1zdGRlcnIudHh0VVQJAANwl/dUtYz3
VHV4CwABBPUBAAAEFAAAAA3KMQ6DQAwEwD6vcEeHH0GooANBbTiDTgIbsT6J/J5MPY2XI5F50Hqr
hJIQxNLiD+kTashutPlNFU9+lFPBXwnhdh541qXLwb38vMSoCPAmCF4Bzqfs/2ueofVle/V5AVBL
AwQUAAIACADWfGRGn6Zyh2cAAAByAAAAOAAcAGZhc3QvY3NzL3BhcnNlLWJvcmRlci1pbWFnZS1y
ZXBlYXQtbnVsbC1jcmFzaC1zdGRlcnIudHh0VVQJAAODl/dUxoz3VHV4CwABBPUBAAAEFAAAAA3K
MRKCQAwF0N5TpKPSHEKptNOROssG3BnIdzbZAW8vr35XtCWTIWisKqEk5GI5YSfdQ80LjCZU6viN
pa3qfJMQ7ocnD5ruJfghP7R4qYfzJB48unNZZT6ufyRjOyfUrPXytbk7/QFQSwMEFAACAAgA5Hxk
RmMaVHFtAAAA3QAAACwAHABmYXN0L2Nzcy9zcXVhcmUtYnV0dG9uLWFwcGVhcmFuY2Utc3RkZXJy
LnR4dFVUCQADnJf3VN6M91R1eAsAAQT1AQAABBQAAAC9zTEOglAQRdHeVUxHhbMIpNJOI/UAQwLB
P+a/9xPcPcRF0N7c5DRR1lFSUIbsRhcTWBr72MQ3esIcSabIUuk71vJx6M1o2nZP7by/z9SH/aLw
5SB0MlCzI0oejnVBzaPX3+zXBdWlOUcL8M/tUEsDBAoAAAAAAId2ZEYAAAAAAAAAAAAAAAAPABwA
ZmFzdC9jc3MzLXRleHQvVVQJAAOdjPdUbZj3VHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAACGdmRG
AAAAAAAAAAAAAAAAJAAcAGZhc3QvY3NzMy10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uL1VUCQAD
nIz3VG2Y91R1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAhnZkRgAAAAAAAAAAAAAAACwAHABmYXN0
L2NzczMtdGV4dC9jc3MzLXRleHQtZGVjb3JhdGlvbi9yZXBhaW50L1VUCQADnIz3VG2Y91R1eAsA
AQT1AQAABBQAAABQSwMEFAACAAgAwHxkRg0f4XNsAAAAfAAAAFQAHABmYXN0L2NzczMtdGV4dC9j
c3MzLXRleHQtZGVjb3JhdGlvbi9yZXBhaW50L3JlcGFpbnQtdGV4dC1kZWNvcmF0aW9uLWNvbG9y
LXN0ZGVyci50eHRVVAkAA1iX91ScjPdUdXgLAAEE9QEAAAQUAAAALcsxCsJAEEbh3lNMl0qn8Ahq
pZ2SrSebCazEGdl/FpLbm4DVgwffxds8knlQriqhJASxcfCFdAk1FDeavFLHvc/to+CrhPAtPTnp
cC/BD1m9xUsR4EkQnIHzMTbOVb9SbC+81bzh/zm90R1+UEsDBAoAAAAAAId2ZEYAAAAAAAAAAAAA
AAAsABwAZmFzdC9jc3MzLXRleHQvY3NzMy13b3JkLXNwYWNpbmctcGVyY2VudGFnZS9VVAkAA52M
91RtmPdUdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAMF8ZEZy2z+dYwAAAG8AAABUABwAZmFzdC9j
c3MzLXRleHQvY3NzMy13b3JkLXNwYWNpbmctcGVyY2VudGFnZS93b3JkLXNwYWNpbmctcGVyY2Vu
dGFnZS1wYXJzZS1zdGRlcnIudHh0VVQJAANZl/dUnYz3VHV4CwABBPUBAAAEFAAAAA3KMQ6DQAwE
wD6vcEcFfkSSKnRBUBswEoic0e2eBL8P7WieUfZZUlCm7EYXE1iaxzjFT3rCGkmWyFJpH3v5OfRl
NH0PXx18/KzU1q4o7ByELgZqdkTJ01031Ly9PgJsNlSPP1BLAwQKAAAAAACTdmRGAAAAAAAAAAAA
AAAACQAcAGZhc3QvZG9tL1VUCQADtYz3VG2Y91R1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAxXxk
Rn4q7KZRAAAAVgAAADQAHABmYXN0L2RvbS9lbGVtZW50RnJvbVBvaW50LXNjYWxlZC1zY3JvbGxl
ZC1zdGRlcnIudHh0VVQJAANhl/dUpYz3VHV4CwABBPUBAAAEFAAAAA3IMQ6AIAwAwN1XdGNCHqG+
wETnCjWRYGvakvh8vfEm6a0Ai0NWQidAMORyyAv0OrFdwnCKQkibtH6TpRkd07KvScmka/6rWnQy
j4/SWC0MH1BLAwQKAAAAAACJdmRGAAAAAAAAAAAAAAAAGgAcAGZhc3QvZG9tL0hUTUxJbWFnZUVs
ZW1lbnQvVVQJAAOijPdUbZj3VHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACADDfGRGrFUhWkIAAABE
AAAAOwAcAGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvaW1hZ2Utc3JjLWFic29sdXRlLXVybC1z
dGRlcnIudHh0VVQJAANdl/dUooz3VHV4CwABBPUBAAAEFAAAAA3KsQ2AMAwEwJ4pvkuHh2CSgB8U
FNkoNlLGh6tv87crzBPHYE2iIqrp7hOcSYvmhtMHiqgz5J/C2SIlGbnez1WWD1BLAwQKAAAAAACK
dmRGAAAAAAAAAAAAAAAAGwAcAGZhc3QvZG9tL0hUTUxTZWxlY3RFbGVtZW50L1VUCQADo4z3VG2Y
91R1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAxHxkRvv1at9jAAAAbgAAAD4AHABmYXN0L2RvbS9I
VE1MU2VsZWN0RWxlbWVudC9jbGljay1zaXplLXplcm8tbm8tY3Jhc2gtc3RkZXJyLnR4dFVUCQAD
X5f3VKOM91R1eAsAAQT1AQAABBQAAAANyrEOglAMBdDdr+jGBP0IdZJNI3OBkkDw1fTel+Dfy3py
rlH3WUpQpnSjiwmszGMc4ge9YI0iS6Q0+o69fhx6M5reh6cOPj5Wam+/qHw5CF0M1HREzemsG1qe
3n7Tuw3N5Q9QSwMECgAAAAAAinZkRgAAAAAAAAAAAAAAABoAHABmYXN0L2RvbS9IVE1MU3R5bGVF
bGVtZW50L1VUCQADo4z3VG2Y91R1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAxHxkRo3XxnZ5AAAA
kAAAAFQAHABmYXN0L2RvbS9IVE1MU3R5bGVFbGVtZW50L3Byb2dyYW1tYXRpY2FsbHktYWRkLXN0
eWxlLXdpdGgtb25lcnJvci1oYW5kbGVyLXN0ZGVyci50eHRVVAkAA1+X91SjjPdUdXgLAAEE9QEA
AAQUAAAAFcxBCoNADEbhfU+RnSubQ7RCoXal6DrqLxXGBCYZ0NvX7t/3HlbSQmpBc4YESMhFl8kO
whFQ30xptUwVD5bKDuenhHAzdjxiem/BrZxWooeH8yoevNjOr/7TdnEmNAk7NDjDreT58mpa49j8
ukft/8a/QNxn9+r2A1BLAwQUAAIACADEfGRGjdfGdnkAAACQAAAAMgAcAGZhc3QvZG9tL0hUTUxT
dHlsZUVsZW1lbnQvc3R5bGUtb25lcnJvci1zdGRlcnIudHh0VVQJAANfl/dUo4z3VHV4CwABBPUB
AAAEFAAAABXMQQqDQAxG4X1PkZ0rm0O0QqF2peg66i8VxgQmGdDb1+7f9x5W0kJqQXOGBEjIRZfJ
DsIRUN9MabVMFQ+Wyg7np4RwM3Y8Ynpvwa2cVqKHh/MqHrzYzq/+03ZxJjQJOzQ4w63k+fJqWuPY
/LpH7f/Gv0DcZ/fq9gNQSwMEFAACAAgAxHxkRo3XxnZ5AAAAkAAAAFgAHABmYXN0L2RvbS9IVE1M
U3R5bGVFbGVtZW50L3N0eWxlLW9uZXJyb3Itd2l0aC1leGlzdGVudC1hbmQtbm9uLWV4aXN0ZW50
LWltcG9ydC1zdGRlcnIudHh0VVQJAANfl/dUo4z3VHV4CwABBPUBAAAEFAAAABXMQQqDQAxG4X1P
kZ0rm0O0QqF2peg66i8VxgQmGdDb1+7f9x5W0kJqQXOGBEjIRZfJDsIRUN9MabVMFQ+Wyg7np4Rw
M3Y8Ynpvwa2cVqKHh/MqHrzYzq/+03ZxJjQJOzQ4w63k+fJqWuPY/LpH7f/Gv0DcZ/fq9gNQSwME
FAACAAgAzXxkRocB4E7hAAAATgMAADIAHABmYXN0L2RvbS9vYmplY3QtcGx1Z2luLWhpZGVzLXBy
b3BlcnRpZXMtc3RkZXJyLnR4dFVUCQADcZf3VLWM91R1eAsAAQT1AQAABBQAAADtkTFPwzAQhWf6
K24EqXFcpyaV15ahAgQIpA6IwbGv6anJOXJsEP+egNhgBImB6S1P3+nep+RCF7Iq5BIW2lQro7RQ
UoILvbDD0KHYYXNJSdx2uSUWlRIbfMYuDD1yetSrZV2b2svmCS5iDBG6YD1xC+UVNdHG13LLCSNj
gndCseWxvMvkjg/UI3xCh48o12GqchrLa+tu7r/UDICf7iKf/jx7DupcnxngAGOmZJsOgXrbIuxD
Zi8ANuRhT+zN7OQ3XuutOxRhDk1O8BLDNKCN7kAJXcoRZ+pbTepf09/S9AZQSwMECgAAAAAAjnZk
RgAAAAAAAAAAAAAAAA4AHABmYXN0L2VuY29kaW5nL1VUCQADq4z3VG2Y91R1eAsAAQT1AQAABBQA
AABQSwMEFAACAAgAyHxkRiCDDwW/AAAAYQUAACoAHABmYXN0L2VuY29kaW5nL3V0Zi0xNi1iaWct
ZW5kaWFuLXN0ZGVyci50eHRVVAkAA2eX91SrjPdUdXgLAAEE9QEAAAQUAAAAzZJBbsJADEX3PcXs
2MVnqFLUBawKlO6Qk3FSi4kd2U5Dbw+IS8wFvp7+e60uJSfRSL0RBiVMjpI7vSW6BYmzShrU0ga+
tSwTOXxgIGzPBzhTt+OAPf7rEkfycBjQA0h6zSwj+DLPatGMWLiQNr1O8Fw1wQJ/TOusLAFosapd
QfAx34w8bN7airD2NESrJmT1sWHORl7hafOvSo0yOfghEitU+X76uRy2n5fj6avCzticxvq4jCa0
a4WdrdS9oO5QSwMEFAACAAgAyHxkRiCDDwW/AAAAYQUAAC0AHABmYXN0L2VuY29kaW5nL3V0Zi0x
Ni1saXR0bGUtZW5kaWFuLXN0ZGVyci50eHRVVAkAA2eX91SrjPdUdXgLAAEE9QEAAAQUAAAAzZJB
bsJADEX3PcXs2MVnqFLUBawKlO6Qk3FSi4kd2U5Dbw+IS8wFvp7+e60uJSfRSL0RBiVMjpI7vSW6
BYmzShrU0ga+tSwTOXxgIGzPBzhTt+OAPf7rEkfycBjQA0h6zSwj+DLPatGMWLiQNr1O8Fw1wQJ/
TOusLAFosapdQfAx34w8bN7airD2NESrJmT1sWHORl7hafOvSo0yOfghEitU+X76uRy2n5fj6avC
zticxvq4jCa0a4WdrdS9oO5QSwMECgAAAAAA63ZkRgAAAAAAAAAAAAAAAAwAHABmYXN0L2V2ZW50
cy9VVAkAA1qN91RtmPdUdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAMp8ZEZYKmd1OQAAAEMAAAAy
ABwAZmFzdC9ldmVudHMvZGlzcGxheS1ub25lLW9uLWZvY3VzLWNyYXNoLXN0ZGVyci50eHRVVAkA
A2yX91SwjPdUdXgLAAEE9QEAAAQUAAAAy80vLU71zS9LDclXSEvMzElNUSgBsjLzUhQSFUoSi9JT
SxTKMlPLFRJLFAwNDAz0DMBAxxTO5AIAUEsDBAoAAgAAAKV2ZEb+JzjgNQAAADUAAAArABwAZmFz
dC9ldmVudHMvbWVzc2FnZS1jaGFubmVsLWdjLTMtYWN0dWFsLnR4dFVUCQAD1Yz3VNWM91R1eAsA
AQT1AQAABBQAAABGQUlMOiBUaW1lZCBvdXQgd2FpdGluZyBmb3Igbm90aWZ5RG9uZSB0byBiZSBj
YWxsZWQKClBLAwQUAAIACACldmRGvV+LshkBAAD0AQAAKQAcAGZhc3QvZXZlbnRzL21lc3NhZ2Ut
Y2hhbm5lbC1nYy0zLWRpZmYudHh0VVQJAAPVjPdU1Yz3VHV4CwABBPUBAAAEFAAAAL2QzU7DMBCE
73mKuaeuVTgg9ZSigsSfVJGKHhCHjbNpjBy7ijf9eXscWgRPwGm90sw3s1ZKQb8FN3Qc9ZKE9N2m
1Buunqxcxu1gXa1f2TFF1o5OYRAlHEX1HAcnUTcURfOefXonTqQtK9OS9+zU1qhrxccdG+F6KkfJ
8jz/h0gyMpD7DiwKqNnkBvlscoWiyNQ6kSAtCV7O1lXoBRdMBPWMmp3dc881xhDYBlWQFrskPAus
J2OSw1aO0fShw2MJ8id0oedplt8vHp7nWNsuIVJ7HMiK9Vs0oYcPYpvTMniGBFQMQ85xnSFTZRsG
VyPSCatFWUIO1iScytS4zn9K/vabYiw/x3uoPtMf/73o48c0toZxISZ5Qn0BUEsDBBQAAgAIAKV2
ZEbdxbERhwAAAMQAAAAtABwAZmFzdC9ldmVudHMvbWVzc2FnZS1jaGFubmVsLWdjLTMtZXhwZWN0
ZWQudHh0VVQJAAPVjPdU1Yz3VHV4CwABBPUBAAAEFAAAAFWOQQrCMBBF9znFP0EP0J1bQSjEnbhI
k6mJJBnJxEpvb0IVcTd/eJ/3zyQV1ZuKE4mYG01cKtJ+C0whOIphpUIOtFJGWDBz9Xg0cAdCNta2
RpgjYSmccNQweUPiQoNS2vMzOojZMB20Rn0F2/89jF/XTzOgbxhx4flO9m/Y9dPpbtjI0mil3lBL
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
ulK/6e2VumAYjmzLtPvxw1f/Dh+c3d/f11L67Prx/nHy2MlP0Fx2R/HDw0MX6hnNl8BQDee7Nq0l
GcIrIG1k/sP0enDteCvhFJf/Nu2BvwroEXNtyrTIbeR+dbuVScmW4NMy+XCaKbWUsyjCX/EmXAix
gEVLJnXomrGIs1hGX/+zouU2Gobj8NJ9hNBahl/l6Rz2NfvNUXPnRBAaaB/SNcj9HTytnflhfF1b
AqDcD4WxIFt4QD4Abizlh3N/E9C/F2bDefQv8CdwVnSPFY4efnuKfqPxz0y5x6cV4yT6FeouljSC
SAFzBooCw8L1fcWVjFKg24i+6HiPHPcFSYaLgvJgkQTjAPqXFeah2ihANWyCqf0WdL4/Y+7ofeP6
7o7s9aQloi8uqPmbz04OCKXwgubSv+skzudDsCDMzxtSkNt1mb8WsVzedApCkT6f38Jdaf4FLGQz
3KX+Z53lt5GeMwLOUhLBZUDfrqDDK+00dDdGAkxaky9q7/V9WGoCEWkWsZuxArlijf6WcCsKuW2k
yXehW2vhQ5yA3fyj38yQzcdt7IQOGviA8cQrPGENDGVj/vjxp19mYAj9bga+sNpHbt+1KfUTYhat
MTBYTaRY1D7MpbQQqjbE0u29/dTGM0IAMQZyBz6iNUHi3o9ZtEYkoIOddrJ/OuxlBp4+7pKj7rh8
hScuD3ji/6nzG6f66A1S/SkTK06giduizx+fnpBas4SGbau8CdzxWzDTewCbvAEwbbwZ+pUmFGiQ
IN9Bwy4Jh+wjht3ex65X7wffnPXuCvzwDoHxZ/K49TD9BtR586+V/wNQSwMECgACAAAA53ZkRv4n
OOA1AAAANQAAACMAHABmYXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQtYWN0dWFsLnR4dFVUCQADUo33
VFKN91R1eAsAAQT1AQAABBQAAABGQUlMOiBUaW1lZCBvdXQgd2FpdGluZyBmb3Igbm90aWZ5RG9u
ZSB0byBiZSBjYWxsZWQKClBLAwQKAAIAAADGdmRG/ic44DUAAAA1AAAAKQAcAGZhc3QvZXZlbnRz
L21lc3NhZ2UtcG9ydC1jbG9uZS1hY3R1YWwudHh0VVQJAAMTjfdUE433VHV4CwABBPUBAAAEFAAA
AEZBSUw6IFRpbWVkIG91dCB3YWl0aW5nIGZvciBub3RpZnlEb25lIHRvIGJlIGNhbGxlZAoKUEsD
BBQAAgAIAMZ2ZEY09WjrYAEAAOICAAAnABwAZmFzdC9ldmVudHMvbWVzc2FnZS1wb3J0LWNsb25l
LWRpZmYudHh0VVQJAAMTjfdUE433VHV4CwABBPUBAAAEFAAAALWSTU/DMAyG7/0VvndZtUlcdhps
BSEYIArsnLXuFimLp9rdx7/HaTcJITghTkls53ntNzHGQPZBvt0iZ3MrNsuXRbbE1YOT83LTOl9l
r+jRMmbenqgVI8hiGuTWC2e1Zclwj0H3ymG7RrOjRkzpKaDB4w5LwWooR0nSNP13QVtKa30nN52C
GQ1GY0hHgzFMp4l5UxDD3jaOWoaWEUqVYThsMEC878IaFj30RZk8TNLb6/vHCby5LVagzcDBOoll
NTUQSFx9mqsuCMEq4rzHKoHEFBtqfRVjFhgbpypUQ/E+m+VFAefGeaAY7+mg7IOTDcyfn/JhYvR6
XziBF+JOLo4YRZww+noCedNQM4Ho4iwOfjk/LyA/lrgTRwHGVz+Q1Dkb1tpmx/wLqXO8xwy/pTV8
mTF2/UvlrA+vSEfHUO3I6atGnyyUGxsC+q/VdyQRxGdQ71j3Ey5a53Rioo9q4ydQSwMEFAACAAgA
xnZkRu4Qgu/YAAAAsAEAACsAHABmYXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQtY2xvbmUtZXhwZWN0
ZWQudHh0VVQJAAMTjfdUE433VHV4CwABBPUBAAAEFAAAAKWQwW6DQAxE73zFfECVQ6VeuBLUU5pI
tB+wAQMrbW20NiGfn90CUqv21uPas288805qipuLXmbFrITWKSmWkRhtEPY84ESqbqCLRNNDUTSj
zKHDleCgFH2SS4/mo6rqpsHnKtYn9BKCLNRh8TbieH6r8+dVVuIiahk+JSpM4E0p9CXqGCWWODpz
VfKn/X0+ob63NJkXxvPLbxCxOR5C8svIf4By7I1y+LlN0z1ePvlvYbVOr5JCE3eTeLavhhza0TFT
+CZ+FcsY3TBrVXRLWXanbV3k/oriAVBLAwQUAAIACADGdmRGz5BIXZUIAACQIAAALwAcAGZhc3Qv
ZXZlbnRzL21lc3NhZ2UtcG9ydC1jbG9uZS1wcmV0dHktZGlmZi5odG1sVVQJAAMUjfdUFI33VHV4
CwABBPUBAAAEFAAAAMVaa2/juBX9nl8hJNgGWESSHdvZ2Mm42Emctug+Bs3s7seCkiiLE0pUSSp2
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
dQeRaXKIRPYWwKaHUDYtVsCuyCbJcbmEim71/CaAL741wN8fAPAn4KrgpKp8vy3Yy28J7OwAYO8U
QYLjAXKpiPpb4h2PvjXAh+BfN4yLP8QdxmffFNpDlDl7f9U+ESa4TAhTPwdGKcmwugQoupRhJiDF
ffrwVoJM/l8EOUQtVBTibdBdvAGF+D20sPPQF1i4QOpff/kfUEsDBBQAAgAIAM98ZEYwtW3jOQAA
AEMAAAArABwAZmFzdC9ldmVudHMvbW91c2UtZm9jdXMtaW1hZ2VtYXAtc3RkZXJyLnR4dFVUCQAD
dZf3VFON91R1eAsAAQT1AQAABBQAAADLzS8tTvXNL0sNyVdIS8zMSU1RKAGyMvNSFBIVShKL0lNL
FMoyU8sVEksUzA0M9AzAQEfXEM7mAgBQSwMEFAACAAgAz3xkRueuvV87AAAAQwAAAC8AHABmYXN0
L2V2ZW50cy9tb3VzZXVwLW91dHNpZGUtZG9jdW1lbnQtc3RkZXJyLnR4dFVUCQADdpf3VFSN91R1
eAsAAQT1AQAABBQAAADLzS8tTvXNL0sNyVdIS8zMSU1RKAGyMvNSFBIVShKL0lNLFMoyU8sVEksU
TAwMDPQMwEDH2MIUyuQCAFBLAwQUAAIACADTfGRG99qLsWsAAACDAAAANQAcAGZhc3QvZXZlbnRz
L3BvcHVwLWJsb2NraW5nLWNsaWNrLWluLWlmcmFtZS1zdGRlcnIudHh0VVQJAAN9l/dUWo33VHV4
CwABBPUBAAAEFAAAAE3GMQ7CMAwF0J1TeOtUfAjoBBuIzm7zKyKlNoodWm4PI296J2slkVrQXCEB
EnLRNNlO2APq2ZQWq9Txw0pb4XyWEB7GG4+YLjn4Kh9rcYeH8yIejDf09wq3Vmf8b8uabOvtBUU6
PmMt3eELUEsDBAoAAAAAAI52ZEYAAAAAAAAAAAAAAAALABwAZmFzdC9mb3Jtcy9VVAkAA6yM91Rt
mPdUdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAMd8ZEY2nOZBbQAAAH4AAAAZABwAZmFzdC9mb3Jt
cy8wMDItc3RkZXJyLnR4dFVUCQADZZf3VKmM91R1eAsAAQT1AQAABBQAAAANyzEOgzAMAMC9r/DG
hh/RlqXdWpURGXBQpGAj25HC78t+d9daVhANWIwpGAicZJ21Abdg8awCSQ06/GmpOzs+KAif4wdH
nl858E2n1viyh2MiD7z47uhHFmGDIZcrbdamMBI/yFiWs99y6m5/UEsDBAoAAAAAAI52ZEYAAAAA
AAAAAAAAAAASABwAZmFzdC9mb3Jtcy9sZWdlbmQvVVQJAAOsjPdUbZj3VHV4CwABBPUBAAAEFAAA
AFBLAwQUAAIACADIfGRGcts/nWMAAABvAAAAKAAcAGZhc3QvZm9ybXMvbGVnZW5kL2xlZ2VuZC1m
b3JtLXN0ZGVyci50eHRVVAkAA2eX91SsjPdUdXgLAAEE9QEAAAQUAAAADcoxDoNADATAPq9wRwV+
RJIqdEFQGzASiJzR7Z4Evw/taJ5R9llSUKbsRhcTWJrHOMVPesIaSZbIUmkfe/k59GU0fQ9fHXz8
rNTWrijsHIQuBmp2RMnTXTfUvL0+Amw2VI8/UEsDBAoAAAAAAJJ2ZEYAAAAAAAAAAAAAAAAMABwA
ZmFzdC9mcmFtZXMvVVQJAAO0jPdUbZj3VHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACADMfGRG2wjT
QjsAAAA/AAAALwAcAGZhc3QvZnJhbWVzL2ZyYW1lLWRpc3BsYXktbm9uZS1mb2N1cy1zdGRlcnIu
dHh0VVQJAANvl/dUtIz3VHV4CwABBPUBAAAEFAAAAHMsKUnNLShRKMlXSM0rLE0tTVVIVCjPL8pW
yARKKJRnZOakKkDEM4sVklIz89IVCoryk1OLi1NT9LgAUEsDBAoAAAAAAJF2ZEYAAAAAAAAAAAAA
AAALABwAZmFzdC9oaWRwaS9VVAkAA7KM91RtmPdUdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAMt8
ZEa35w1XZAAAAHEAAAA9ABwAZmFzdC9oaWRwaS9pbWFnZS1zcmNzZXQtZGF0YS1zcmNzZXQtaW52
YWxpZC1pbnB1dHMtc3RkZXJyLnR4dFVUCQADbpf3VLKM91R1eAsAAQT1AQAABBQAAAANyjEOgkAQ
BdDeU0xHhXMItdJOI/UAn4QN7pj5swneXur3Lt62WaqnTAFLiAmtzqPvgj1RuXqVxUM6ffvWPqBe
LU1vw1MHjPc19WE/b/kCk7oYUws1QG8xHbuwz4P6b+Bc2J3+UEsDBBQAAgAIAMt8ZEa35w1XZAAA
AHEAAAA7ABwAZmFzdC9oaWRwaS9pbWFnZS1zcmNzZXQtZGF0YS1zcmNzZXQtdmFsaWQtaW5wdXRz
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
FAAAAFBLAwQUAAIACADTfGRGIY+9ODIAAAAzAAAALAAcAGZhc3QvaW1hZ2VzL3BkZi1hcy1pbWFn
ZS1jcm9wLWJveC1zdGRlcnIudHh0VVQJAAN9l/dUwIz3VHV4CwABBPUBAAAEFAAAAHPLSSxJdUlN
zk9JtVJIAdGZeekKqUVF+UVWCpl5yflFRanJJQopiSWJCskZqcnZelwAUEsDBAoAAAAAAJp2ZEYA
AAAAAAAAAAAAAAAMABwAZmFzdC9sb2FkZXIvVVQJAAPEjPdUbZj3VHV4CwABBPUBAAAEFAAAAFBL
AwQUAAIACADPfGRG2wjTQjsAAAA/AAAAUgAcAGZhc3QvbG9hZGVyL2Rpc3BsYXktaW1hZ2UtdW5z
ZXQtY2FuLWJsb2NrLWltYWdlLWFuZC1jYW4tcmVsb2FkLWluLXBsYWNlLXN0ZGVyci50eHRVVAkA
A3WX91S5jPdUdXgLAAEE9QEAAAQUAAAAcywpSc0tKFEoyVdIzSssTS1NVUhUKM8vylbIBEoolGdk
5qQqQMQzixWSUjPz0hUKivKTU4uLU1P0uABQSwMEFAACAAgA0HxkRtsI00I7AAAAPwAAAFMAHABm
YXN0L2xvYWRlci9pbWFnZXMtZW5hYmxlZC11bnNldC1jYW4tYmxvY2staW1hZ2UtYW5kLWNhbi1y
ZWxvYWQtaW4tcGxhY2Utc3RkZXJyLnR4dFVUCQADd5f3VLuM91R1eAsAAQT1AQAABBQAAABzLClJ
zS0oUSjJV0jNKyxNLU1VSFQozy/KVsgESiiUZ2TmpCpAxDOLFZJSM/PSFQqK8pNTi4tTU/S4AFBL
AwQUAAIACADSfGRGvFOIfVoAAABnAAAAKwAcAGZhc3QvbG9hZGVyL2xvY2FsLUNTUy1mcm9tLWxv
Y2FsLXN0ZGVyci50eHRVVAkAA3yX91TAjPdUdXgLAAEE9QEAAAQUAAAAHcYxDsIwEATAnldcly73
CFo68gHjLEqk4Itu11L8exBTzT36sVoLWU0UwYqxtPUVl+ESGvdo9o60yfU5/VFGdC2g6Jt0uv4l
as9dwxOMnhX0Sj41Dsy/TLcvUEsDBBQAAgAIANN8ZEaIghVRXQAAAGkAAAA1ABwAZmFzdC9sb2Fk
ZXIvbG9jYWwtaUZyYW1lLXNvdXJjZS1mcm9tLWxvY2FsLXN0ZGVyci50eHRVVAkAA32X91TAjPdU
dXgLAAEE9QEAAAQUAAAAHcY7DoNADAXAPqdwRxcfIm0KCi7gLI+PtKyR/VaC20diqvl4r7M0p5SA
EWKS1uafX4KLaLl7k8VDBuVx6tdu75yQTN3IU/k0UXrsvDWQ3qMgtXqxOtqK98ajDq8/UEsDBBQA
AgAIANN8ZEbPTjk9WgAAAGYAAAAtABwAZmFzdC9sb2FkZXIvbG9jYWwtaW1hZ2UtZnJvbS1sb2Nh
bC1zdGRlcnIudHh0VVQJAAN9l/dUwIz3VHV4CwABBPUBAAAEFAAAAB3GMQ6DQAwEwJ5XuKPDj0hL
yQecwwkgOJ+8exL8PlKmmlf0c5UalJJudDGB1fUdt/hNr9ijyidSRuXVdLYnOhcHoRvZlP/CS8+d
j6YjehaHlriaAdPRvuPwA1BLAwQUAAIACADSfGRGUX0KglwAAABpAAAAMgAcAGZhc3QvbG9hZGVy
L2xvY2FsLUphdmFTY3JpcHQtZnJvbS1sb2NhbC1zdGRlcnIudHh0VVQJAAN8l/dUwIz3VHV4CwAB
BPUBAAAEFAAAAB3GMQ6DMAwF0L2n8MaGD9G1G1zANUYEpXFk/0hw+0q86b191I2agzRMYCSU0rav
X2QXrGXxRrsHTYxf54/cPrBaIvkAOuNpmo4ouDksfYRacnWVumiUjvnM6fUHUEsDBBQAAgAIANV8
ZEbbCNNCOwAAAD8AAAAtABwAZmFzdC9sb2FkZXIvcmVsb2FkLXBvbGljeS1kZWxlZ2F0ZS1zdGRl
cnIudHh0VVQJAAOBl/dUxIz3VHV4CwABBPUBAAAEFAAAAHMsKUnNLShRKMlXSM0rLE0tTVVIVCjP
L8pWyARKKJRnZOakKkDEM4sVklIz89IVCoryk1OLi1NT9LgAUEsDBAoAAAAAAJp2ZEYAAAAAAAAA
AAAAAAAMABwAZmFzdC9wYXJzZXIvVVQJAAPEjPdUbZj3VHV4CwABBPUBAAAEFAAAAFBLAwQUAAIA
CADUfGRGQFkIiGIAAABrAAAAKAAcAGZhc3QvcGFyc2VyL2VudGl0aWVzLWluLXhodG1sLXN0ZGVy
ci50eHRVVAkAA4CX91TEjPdUdXgLAAEE9QEAAAQUAAAADcoxDoMwDAXQvafwxkR9iMLUbqAyG2LU
SElc4R8p3B7e/F5WU6BioO1QgZKQSwmrNdIGLR6t0G4Hdfy1VLM6DwLhcZl40fUdwR85rWJWh/Mu
Ds4aovQ4/3duP+T03Ny7xwVQSwMECgAAAAAAm3ZkRgAAAAAAAAAAAAAAAA8AHABmYXN0L3ByZWxv
YWRlci9VVAkAA8WM91RtmPdUdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIANR8ZEYGNeEzawAAAIMA
AAAtABwAZmFzdC9wcmVsb2FkZXIvZmlyc3QtYmFzZS10YWctd2lucy1zdGRlcnIudHh0VVQJAAOA
l/dUxYz3VHV4CwABBPUBAAAEFAAAAEXLMQ7CMAwF0J1TeOsEPgQwwQais9v8SkHBRrYjhdvDxvaW
d7TeCqklrQ5JkFCIlsUGYSQ0qilt5jTxw1p/IfgkKXyebzxjudTkq3ys5x2RwZtE8tvRTAqcHWHd
11/6S033GDVSNA/PmHZfUEsDBAoAAAAAAKR2ZEYAAAAAAAAAAAAAAAANABwAZmFzdC9yZWdpb25z
L1VUCQAD04z3VG2Y91R1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAonZkRgAAAAAAAAAAAAAAABwA
HABmYXN0L3JlZ2lvbnMvcmVnaW9uLXN0eWxpbmcvVVQJAAPQjPdUbZj3VHV4CwABBPUBAAAEFAAA
AFBLAwQUAAIACADYfGRGOo7Dy2AAAABoAAAASgAcAGZhc3QvcmVnaW9ucy9yZWdpb24tc3R5bGlu
Zy9yZWdpb24tc3R5bGUtaW1hZ2UtYmFja2dyb3VuZC1jb2xvci1zdGRlcnIudHh0VVQJAAOIl/dU
zoz3VHV4CwABBPUBAAAEFAAAAA3KMQ6DQAwEwD6vcEcXvyFKUkFHBLWBPYEEZ+m8J8HvydTz9rov
kp0yFxghJmF5mfwUnESOzbMkL9Lo4Hs9EPoxmn7HXkdM7Ubt7PLKH4KhyYJaEF7L/K+vFceTTM3j
BlBLAwQUAAIACADZfGRGOo7Dy2AAAABoAAAASwAcAGZhc3QvcmVnaW9ucy9yZWdpb24tc3R5bGlu
Zy9yZWdpb24tc3R5bGUtaW5saW5lLWJhY2tncm91bmQtY29sb3Itc3RkZXJyLnR4dFVUCQADiZf3
VM6M91R1eAsAAQT1AQAABBQAAAANyjEOg0AMBMA+r3BHF78hSlJBRwS1gT2BBGfpvCfB78nU8/a6
L5KdMhcYISZheZn8FJxEjs2zJC/S6OB7PRD6MZp+x15HTO1G7ezyyh+CocmCWhBey/yvrxXHk0zN
4wZQSwMEFAACAAgA2XxkRjqOw8tgAAAAaAAAAEYAHABmYXN0L3JlZ2lvbnMvcmVnaW9uLXN0eWxp
bmcvcmVuZGVyLXJlZ2lvbi1jdXN0b20tc3R5bGUtbWFyay1zdGRlcnIudHh0VVQJAAOKl/dU0Iz3
VHV4CwABBPUBAAAEFAAAAA3KMQ6DQAwEwD6vcEcXvyFKUkFHBLWBPYEEZ+m8J8HvydTz9rovkp0y
FxghJmF5mfwUnESOzbMkL9Lo4Hs9EPoxmn7HXkdM7Ubt7PLKH4KhyYJaEF7L/K+vFceTTM3jBlBL
AwQKAAAAAACkdmRGAAAAAAAAAAAAAAAAFwAcAGZhc3QvcmVnaW9ucy9zY3JvbGxpbmcvVVQJAAPU
jPdUbZj3VHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACADcfGRGOQHL3UAAAAB6AAAANQAcAGZhc3Qv
cmVnaW9ucy9zY3JvbGxpbmcvd2hlZWwtc2Nyb2xsLWFic3Bvcy1zdGRlcnIudHh0VVQJAAOPl/dU
04z3VHV4CwABBPUBAAAEFAAAAHMtS80rCU7NS0ktCijKr6i0skrOzyvJzCvNLy32BeLU4OSi/Jwc
p0qFzGKFvPwShczcgpzUXKCm1BQuV0o0AwBQSwMEFAACAAgA3HxkRjkBy91AAAAAegAAAC4AHABm
YXN0L3JlZ2lvbnMvc2Nyb2xsaW5nL3doZWVsLXNjcm9sbC1zdGRlcnIudHh0VVQJAAOQl/dU04z3
VHV4CwABBPUBAAAEFAAAAHMtS80rCU7NS0ktCijKr6i0skrOzyvJzCvNLy32BeLU4OSi/Jwcp0qF
zGKFvPwShczcgpzUXKCm1BQuV0o0AwBQSwMEFAACAAgA3HxkRuSKx0M8AAAAPQAAAEAAHABmYXN0
L3JlZ2lvbnMvc2Nyb2xsaW5nL3doZWVsLXNjcm9sbGFibGUtc2luZ2xlLXJlZ2lvbi1zdGRlcnIu
dHh0VVQJAAOQl/dU1Iz3VHV4CwABBPUBAAAEFAAAAHMtS80rCU7NS0ktCijKr6i0skrOzyvJzCvN
Ly32BeLU4OSi/Jwcp0qFzGKFvPwShczcgpzUXKCm1BQuAFBLAwQKAAAAAACkdmRGAAAAAAAAAAAA
AAAADwAcAGZhc3Qvc3ViLXBpeGVsL1VUCQAD1Iz3VG2Y91R1eAsAAQT1AQAABBQAAABQSwMEFAAC
AAgA3HxkRkM/qXFXAAAAXgAAAEYAHABmYXN0L3N1Yi1waXhlbC9ibG9jay1wcmVmZXJyZWQtd2lk
dGhzLXdpdGgtc3ViLXBpeGVsLWZsb2F0cy1zdGRlcnIudHh0VVQJAAOPl/dU1Iz3VHV4CwABBPUB
AAAEFAAAAA3JMQqAMAwAwN1XZHPSPEKdHAWdUxvBUhNpUujz9dabtOYIog5nYXIGAiOJQRtwcxa7
VeDSAj3umuvDhjM54XJseHBYb8fCprWc/yQbnM2HV83HZH33AVBLAwQKAAAAAACldmRGAAAAAAAA
AAAAAAAACwAcAGZhc3QvdGFibGUvVVQJAAPVjPdUbZj3VHV4CwABBPUBAAAEFAAAAFBLAwQKAAIA
AADcfGRG7R3y4TkAAAA5AAAAGQAcAGZhc3QvdGFibGUvMDA3LXN0ZGVyci50eHRVVAkAA4+X91TV
jPdUdXgLAAEE9QEAAAQUAAAAQ291bGQgbm90IGNyZWF0ZSBhIHNhbmRib3ggZXh0ZW5zaW9uIGZv
ciAnL2kvc3BhY2VyLmdpZicKUEsDBBQAAgAIANx8ZEZHfMAXfAAAAPIAAAAZABwAZmFzdC90YWJs
ZS8wMDgtc3RkZXJyLnR4dFVUCQADj5f3VNWM91R1eAsAAQT1AQAABBQAAAC9zTEOwjAMQNGdU3jr
hssZCiywgehYOYlTIqWxFDtSuT2RuAPrl77eJC0HKGLgK5MxECiV4GQH3o2LJikQpcKAL8ltY8Uz
GeFlfuDM7pYM7/SRZk9WU4ykhkYuM27kvWxwTbk/WVY5jePixI5risNh+o/7Zgpcl966/pO/UEsD
BAoAAAAAAKl2ZEYAAAAAAAAAAAAAAAAKABwAZmFzdC90ZXh0L1VUCQAD3oz3VG2Y91R1eAsAAQT1
AQAABBQAAABQSwMECgAAAAAAqXZkRgAAAAAAAAAAAAAAABUAHABmYXN0L3RleHQvd2hpdGVzcGFj
ZS9VVAkAA96M91RtmPdUdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAOF8ZEaDt/zMkAAAAAACAAA8
ABwAZmFzdC90ZXh0L3doaXRlc3BhY2Uvbm9ybWFsLWFmdGVyLW5vd3JhcC1icmVha2luZy1zdGRl
cnIudHh0VVQJAAOVl/dU3oz3VHV4CwABBPUBAAAEFAAAAMWOOw6CQBCGe0+xnR1zBoPEQjuNlGRY
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
tp8H02f8Vvqowq8KIEbaQzrAIqDkiiqsJmiW54oI/5ItoX+IVDdK7NDd509otg7JQv/x3WBwEDUH
/QPoCdHYVPNxs3B6qVdE1PthNBp8n0iEtlkFIzI/gxxQv/PDeMzgQ7vLfsPQwxugkbreQv+UheQw
+g0Po58T+jtF5V+WAwzeggTUqNRhxLw8gAH/DIduPHS3D/21/rtC/wNQSwMECgACAAAA3HZkRv4n
OOA1AAAANQAAACoAHABmYXN0L3dvcmtlcnMvd29ya2VyLW1lc3NhZ2Vwb3J0LWFjdHVhbC50eHRV
VAkAA0CN91RAjfdUdXgLAAEE9QEAAAQUAAAARkFJTDogVGltZWQgb3V0IHdhaXRpbmcgZm9yIG5v
dGlmeURvbmUgdG8gYmUgY2FsbGVkCgpQSwMEFAACAAgA3HZkRn9ENpw6AQAAaAIAACgAHABmYXN0
L3dvcmtlcnMvd29ya2VyLW1lc3NhZ2Vwb3J0LWRpZmYudHh0VVQJAANAjfdUQI33VHV4CwABBPUB
AAAEFAAAALWQy27CMBBF9/6KEdvgOOkSqVKooFXVFyKoLKouTDIhVo0d2RMef18HEqkt664s2cfn
zlzOOYh3q9sdejGTJMV8nYs1bp4U9cddq3QplqhRehRanmxLnNATd+hbTV5U0pM4WPeFzvcnDz4v
t9hYRxyPDRaEZUxHYlEU/X+iLKiV+pyXZcDTcZpAlI5vIMsYXwUTUC0JmsB7kKaE3gWFNOAxXLxc
bItg80AWrMEAWqrRxZDXttUlNE4ZgtHs7XU+gkONBsqAxSy6nz4+T2CldlhCmB0OUpEyW6isg+BQ
1WnW+YJ2gyFSaywZML6Y5vkEcE9xc469hY9PkB6G/gZiiQWqfXD3K0OHXz2GrhprPELl7A7W5wVh
r+TP1YZPD5bOkgt7KeNKWCkj9R/tb7TTpEmSDIN5xrtyGGffUEsDBBQAAgAIANx2ZEYBPkTZtwAA
ADYBAAAsABwAZmFzdC93b3JrZXJzL3dvcmtlci1tZXNzYWdlcG9ydC1leHBlY3RlZC50eHRVVAkA
A0CN91RAjfdUdXgLAAEE9QEAAAQUAAAAXY+9bsJAEIT7e4oRD2A5LVIKpERUCQhHoogoTr4htgK3
p9vF8Pj4h0jE7c43szNfVIM13pD8DxU+Blwl/zIrah+h7A8fVO3VrWRTmEAie1CsYS5QNXI5BaTc
RsPibfP5vsC1YUToscK57aqqlmBnRRr9r/g+wCt4S6yN4QHsWLPtGHCenmGg51qmJolKHLOcsR97
omv9c8OHZy02RkzoNGked2yjP81C/5FDyEtZln+l1A37nLsDUEsDBAoAAgAAAM12ZEb+JzjgNQAA
ADUAAAAtABwAZmFzdC93b3JrZXJzL3dvcmtlci1tZXNzYWdlcG9ydC1nYy1hY3R1YWwudHh0VVQJ
AAMhjfdUIY33VHV4CwABBPUBAAAEFAAAAEZBSUw6IFRpbWVkIG91dCB3YWl0aW5nIGZvciBub3Rp
ZnlEb25lIHRvIGJlIGNhbGxlZAoKUEsDBBQAAgAIAM12ZEZw+HUY7QAAAKcBAAArABwAZmFzdC93
b3JrZXJzL3dvcmtlci1tZXNzYWdlcG9ydC1nYy1kaWZmLnR4dFVUCQADIY33VCGN91R1eAsAAQT1
AQAABBQAAAC9jsFqwkAURffzFRe38WWw0I2rWFQoLW1ppK6fyTMZOmbCzEvVv2+UQP+gq7u5nHOI
CPYr+OEkya5Z2W72pd3L4cXpNE+D87X9FC+cxHq+hkFJJSlFSYPXZI+c1J5D/JaYpqWRl7iRPkSl
piK59FKp1Lle1GRZ9i9SrnRgf1cWBWgxf0S2mD+gKAztRha0ZcXEQFK+IgpXLR+84McxJh5uwJSj
bMPga/TRdYrZ+v1tM8O5lQ516CQ32Xb1/LrEzp2kxtiLMzt1XYNjiOiCuuN1PR6hAQdBxd5LbWDo
Y1WWS+zvGXDpryE3dJMYMr9QSwMEFAACAAgAzXZkRplhTNxmAAAAdQAAAC8AHABmYXN0L3dvcmtl
cnMvd29ya2VyLW1lc3NhZ2Vwb3J0LWdjLWV4cGVjdGVkLnR4dFVUCQADIY33VCGN91R1eAsAAQT1
AQAABBQAAABFzEEKg0AMBdB9TvHxAHOA7gS7bQsjuI41dIbaGUlipbcvunH/eL2YwxM7tqpvUYM5
/6DCz8TjLPhmxkfM+CVYqroFxFTXecKiuTia7n67NtiSFEy1SCB6tDFeMBwfsp1ZoB0T/QFQSwME
FAACAAgAzXZkRr3dZg0QCAAAbxsAADMAHABmYXN0L3dvcmtlcnMvd29ya2VyLW1lc3NhZ2Vwb3J0
LWdjLXByZXR0eS1kaWZmLmh0bWxVVAkAAyGN91QhjfdUdXgLAAEE9QEAAAQUAAAAvVlrb+O4Ff2e
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
dGVuc2lvbnMvYmFzaWMtZmlsdGVyLXN0ZGVyci50eHRVVAkAA6CX91Sgl/dUdXgLAAEE9QEAAAQU
AAAARmFpbGVkIHRvIHBhcnNlIHRoZSBKU09OIHN0cmluZy4KRW1wdHkgZXh0ZW5zaW9uLgpQSwME
CgAAAAAAyXZkRgAAAAAAAAAAAAAAABAAHABodHRwL3Rlc3RzL21pc2MvVVQJAAMajfdUbZj3VHV4
CwABBPUBAAAEFAAAAFBLAwQUAAIACAACfWRGFTU1knoAAAC8AAAAKgAcAGh0dHAvdGVzdHMvbWlz
Yy94c2x0LWJhZC1pbXBvcnQtc3RkZXJyLnR4dFVUCQAD1Jf3VBqN91R1eAsAAQT1AQAABBQAAACN
jkEOwyAMBO95hT9AIO2hFb8hxFUsGYyMkfr8EuUD1V5WO4fZLKURJyOpgKqiET7ECKdZi95vj9ca
Zrb4DiH4Qj17xS5DM3b/7WxuT4ej0kTNDaV1bsBUEZ6AjAWrwU2XSeJdIcKoaZ8aE2BJx3+6Kn3k
87qXLDEvP1BLAwQKAAAAAAC2dmRGAAAAAAAAAAAAAAAAFgAcAGh0dHAvdGVzdHMvbmF2aWdhdGlv
bi9VVAkAA/eM91RtmPdUdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAO58ZEbbCNNCOwAAAD8AAAA3
ABwAaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2ZhbGxiYWNrLWFuY2hvci1yZWxvYWQtc3RkZXJyLnR4
dFVUCQADsJf3VPeM91R1eAsAAQT1AQAABBQAAABzLClJzS0oUSjJV0jNKyxNLU1VSFQozy/KVsgE
SiiUZ2TmpCpAxDOLFZJSM/PSFQqK8pNTi4tTU/S4AFBLAwQKAAAAAADGdmRGAAAAAAAAAAAAAAAA
GQAcAGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9VVAkAAxON91RtmPdUdXgLAAEE9QEAAAQUAAAA
UEsDBAoAAAAAAPd2ZEYAAAAAAAAAAAAAAAAgABwAaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xl
Z2FjeS9VVAkAA3GN91RtmPdUdXgLAAEE9QEAAAQUAAAAUEsDBAoAAgAAAMZ2ZEb+JzjgNQAAADUA
AAA2ABwAaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9kb3VibGUtc2hvdy1hY3R1YWwu
dHh0VVQJAAMTjfdUE433VHV4CwABBPUBAAAEFAAAAEZBSUw6IFRpbWVkIG91dCB3YWl0aW5nIGZv
ciBub3RpZnlEb25lIHRvIGJlIGNhbGxlZAoKUEsDBBQAAgAIAMZ2ZEbYYx6COQEAAEUCAAA0ABwA
aHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9kb3VibGUtc2hvdy1kaWZmLnR4dFVUCQAD
E433VBON91R1eAsAAQT1AQAABBQAAAC9UM1uwjAMvvcpLK4ljdhxJ9jopGlsoBWNc9q4EM0kqHZW
+vZLB5PYC0yRHMn6/vwppUB/BIpHZL00YnS5q/QO6xcn1+8hOrL6HQkNoyYzhChKkEV1yJGE9UHk
pMcNax/Eta4x4oJnTbg3zaBtiDWh4kPoFZ5P2AjaQs6S5Xn+v+6mkWjox3s+BzWbzmaQz6Z3MJ9n
qkJvnd/DDQFuFYuiyPKnxfPqHrbuiBZSFOiNk5HUhu4CHpbBI0iAGqExRGgzyNTaA8emQeYppBOg
d0TAiGDS7BwyhBYmm0VVTSCVwWaPCdkGotAnp3qAybastvC4ft2sym05KTI1vpGRxLwNfdFj/enk
7bYDcAwWW+dT4VdwSEfyKRUJ+IVe4GC8Jex+s15A16xtJBo2puMUISlJF3E0/ZMkLb4BUEsDBBQA
AgAIAMZ2ZEYxe1N2sAAAAPoAAAA4ABwAaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9k
b3VibGUtc2hvdy1leHBlY3RlZC50eHRVVAkAAxON91QTjfdUdXgLAAEE9QEAAAQUAAAAVY4xbsMw
EAR7vmKhOuEfAkNdEguQPkCJR/vgMy/QkSb0+zBwiqTZajA7M+XI+YKodRV6tas2ZC2ceAuFNXvv
nTtnWN02MnvBoRWNRWBECH13JoMmDNPbPA+4dypcqJNJRbRRxHpgWMZ5wen8Mb2Pyzh0p/vBuylH
bb7ReuPy+efXwIZIiTNF/2S1l9qXhAP0oFxwDTkK7diCCMUn85uZqsgxhd36e/eUvZJz/xKc+wZQ
SwMEFAACAAgAxnZkRtyS0/x2CAAAVx8AADwAHABodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVn
YWN5L2RvdWJsZS1zaG93LXByZXR0eS1kaWZmLmh0bWxVVAkAAxSN91QUjfdUdXgLAAEE9QEAAAQU
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
l5fVkrwN8NM/a3Ic7oNOG+T3NjDfgvb+SNXTeuirHVym9H8M+T9QSwMECgACAAAA53ZkRv4nOOA1
AAAANQAAAC8AHABodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3Nob3ctYWN0dWFsLnR4
dFVUCQADUo33VFKN91R1eAsAAQT1AQAABBQAAABGQUlMOiBUaW1lZCBvdXQgd2FpdGluZyBmb3Ig
bm90aWZ5RG9uZSB0byBiZSBjYWxsZWQKClBLAwQUAAIACADndmRGOt6ZitcBAACqBAAALQAcAGh0
dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvc2hvdy1kaWZmLnR4dFVUCQADUo33VFKN91R1
eAsAAQT1AQAABBQAAAC9U01vGjEQve+vGHEhEXjN0kMjeiEt26pqElBAydl4B9bCrJFntsv++9ob
kpJb1TSVJX+M5vO9ZyEEyAdn6z2SnClWMn9cykdc/zB8Oj7XxhbyHi0qQmlV62oWjMTCI9WWSZbM
BxktJCvHZmO0YuMqkha3SreSStcIPB5QMxYpHzkZDAb/qazSXCvbFZ1OQWTD8QgGYYfpNBGr0hDE
DGCd2xFsnAcuEQpDB8W6BLfp3iFpyAX4EyuGUlWFRZ8mg6/X328msDJ7LCB0B40ybKptl6brqJ25
CoEdrBG0shaLBBIxr4BqrZFoCGEqaIy1QIigwu4NUizbW1wvlz0I+JDaYvDcOGtdEyqtW+it8uUK
vsxvFzf5Ku+liYgrRoRkVeGatMH1zvDdOSypLlHvFuj3higYLi4hTJ/9QZxHxXhuu+j3h9BnwxYh
i9e1K9r+5acAlseA01HjIfpB7r3zE1iirr3h9vSczW8hf/HJrkL/37yqOuwOL/1F3CLFEymz8cd0
FFY2uRqNRn856XOcqyK9QVCv+Qzs0TNJT44c1JH+9o5SebJEMSRihlX7vh2P38rNh3/CzT0SckdO
QOdsXHqj5E6fYFNb2y6Up6DtiLGvMar5lcSD4RdQSwMEFAACAAgA53ZkRgxLKmRRAQAAZAMAADEA
HABodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3Nob3ctZXhwZWN0ZWQudHh0VVQJAANS
jfdUUo33VHV4CwABBPUBAAAEFAAAALWSwW7CMAyG73kKq5eChErLDkPsNI1qlzGq0RcIqUsjQlIl
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
xWFY/j/DI/29ARILyZMFY+vP6lesYp0LiwU5DOOj7xWx9vdR62sdyUHYHPQOoMDf04o2Hvqb21Vg
fmPvv1BLAwQKAAIAAAD3dmRG/ic44DUAAAA1AAAAPwAcAGh0dHAvdGVzdHMvbm90aWZpY2F0aW9u
cy9sZWdhY3kvd2luZG93LXNob3ctb24tY2xpY2stYWN0dWFsLnR4dFVUCQADcY33VHGN91R1eAsA
AQT1AQAABBQAAABGQUlMOiBUaW1lZCBvdXQgd2FpdGluZyBmb3Igbm90aWZ5RG9uZSB0byBiZSBj
YWxsZWQKClBLAwQUAAIACAD3dmRG2D1Y9GgBAACtAgAAPQAcAGh0dHAvdGVzdHMvbm90aWZpY2F0
aW9ucy9sZWdhY3kvd2luZG93LXNob3ctb24tY2xpY2stZGlmZi50eHRVVAkAA3GN91RxjfdUdXgL
AAEE9QEAAAQUAAAAxZDLTsMwEEX3+YpRV6DUNWXJqoUWCfGqaARrx5k0Vl27yowJ+XsmoUjlC5Al
P0YzvudepRTo9+jTAUmvDBu9/tjqDywfHZ+O2+R8pd/QoyHU3vQxsWIkVi1S8ky6YT7qoUI6RHa1
s4ZdDKQ97oztdedCFTtFjWwxKOud3Sv8OqJlrGb8xVme5/+EYSwn40eIxQLUfDqfQz6fXsNikami
cQTDj2AbtHu5N4bBANnWHaVoAsQjBvj5maBr5MENQiJsYRQgiEEmgqB8IpxzzbL8fvnwdAOFO2AF
Ygc649iFHdSx/WntVzEgcIQSRc17rDLI1GsAStYi0RQkBpH3HghxIMPWoWjWMNkst9sJSKBkdiid
dfQ+dqJU9jAp1tsC7l6fN0/rYj2ZZWpYwwR0WO4dv5wHOBvdb7A9OCIpXFyC5HJ1GhhtDtRi9Nzf
L2OdvO/HnETbnLI6zZ63bExL0jEk3iYceP5ASuEbUEsDBBQAAgAIAPd2ZEa4svcR1AAAAFABAABB
ABwAaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS93aW5kb3ctc2hvdy1vbi1jbGljay1l
eHBlY3RlZC50eHRVVAkAA3GN91RxjfdUdXgLAAEE9QEAAAQUAAAAVZDBasMwEETv+orBpxZK6C+U
4lvbGOwfUJR1vESRglaq8N935bTg3rTLm50ZTQsLMkmGW8hd9b3YDAtxie+6tAHxTgGVwzlWQV10
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
eHNsLWFsbG93ZWQtc3RkZXJyLnR4dFVUCQADvZf3VAWN91R1eAsAAQT1AQAABBQAAAAtjUEKwzAM
BO95hV4QO72k+BWFviC4G2JQLCMppf59TSl7WobZzXK2wpsXqQRV0UR7YdDh3lIIy22d48iS7jHG
YMiXFu8hS3VUf/77Q7jkHhQml2ZYMO+M+WNMXCpoJTDOIdAP2AH4NGh6Q21cJ5LKnZY50o7NrzFE
m4Lsak3U8Zq+UEsDBBQAAgAIAPV8ZEZjqqxsggAAAKgAAABSABwAaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLXVuYWZmZWN0ZWQtYnktc3R5bGUtc3JjLTItc3Rk
ZXJyLnR4dFVUCQADvZf3VAaN91R1eAsAAQT1AQAABBQAAAAtjUEKwzAMBO95hV4QO72k+BWFviC4
G2JQLCMppf59TSl7WobZzXK2wpsXqQRV0UR7YdDh3lIIy22d48iS7jHGYMiXFu8hS3VUf/77Q7jk
HhQml2ZYMO+M+WNMXCpoJTDOIdAP2AH4NGh6Q21cJ5LKnZY50o7NrzFEm4Lsak3U8Zq+UEsDBBQA
AgAIAPV8ZEZgS2YQkQAAAPsBAABFABwAaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXhz
bC1kb2N1bWVudC1zZWN1cml0eU9yaWdpbi1zdGRlcnIudHh0VVQJAAO9l/dUBY33VHV4CwABBPUB
AAAEFAAAAO2OMQ6DMAxFd07hC4QEllaZYejSngEFUyKZJLKdCm5fOvQGHau/vq/3Qt5KpEljToDM
mT0skRBW1eKt7fpL6851/uqcs4KhctTD7iJmGO+3cTC7kJlzqBsmNV/gwfEZU7tvBBQTQg9I+CFA
9CCUFVGb8+lfyHK6PeREB3StgwUnrYwCEyNILSWz4tyEf+iPQ99QSwMECgAAAAAA8XxkRgAAAAAA
AAAAAAAAABMAHABodHRwL3Rlc3RzL3dvcmtlcnMvVVQJAAO1l/dUbZj3VHV4CwABBPUBAAAEFAAA
AFBLAwQUAAIACADxfGRGz4gw9QICAAB1BgAAMgAcAGh0dHAvdGVzdHMvd29ya2Vycy93b3JrZXIt
aW1wb3J0U2NyaXB0cy1hY3R1YWwudHh0VVQJAAO1l/dUtZf3VHV4CwABBPUBAAAEFAAAAK1VS4+b
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
dGVkL3czYy9jYW52YXMvVVQJAAMsjfdUbZj3VHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAAKfWRG
QDvcvGYAAAByAAAAOgAcAGltcG9ydGVkL3czYy9jYW52YXMvMmQudGV4dC5tZWFzdXJlLndpZHRo
LmVtcHR5LXN0ZGVyci50eHRVVAkAA+SX91QsjfdUdXgLAAEE9QEAAAQUAAAAFckxDsIwDAXQnVN4
64YHjlA6wQais9s4UqTWRvFPKbeHru/13pZE5qC5qkBJKMTS5DvpDrUobpS9UscvX9qqwVeB8DA+
eNTpVsB3+XrDUwPBZX17hSb+XGbObn/qxTaJo89A7k4/UEsDBAoAAAAAAMp2ZEYAAAAAAAAAAAAA
AAAcABwAaW1wb3J0ZWQvdzNjL2h0bWwtdGVtcGxhdGVzL1VUCQADG433VG2Y91R1eAsAAQT1AQAA
BBQAAABQSwMECgAAAAAAynZkRgAAAAAAAAAAAAAAADMAHABpbXBvcnRlZC93M2MvaHRtbC10ZW1w
bGF0ZXMvcGFyc2luZy1odG1sLXRlbXBsYXRlcy9VVAkAAxuN91RtmPdUdXgLAAEE9QEAAAQUAAAA
UEsDBAoAAAAAAMp2ZEYAAAAAAAAAAAAAAABRABwAaW1wb3J0ZWQvdzNjL2h0bWwtdGVtcGxhdGVz
L3BhcnNpbmctaHRtbC10ZW1wbGF0ZXMvYWRkaXRpb25zLXRvLWZvc3Rlci1wYXJlbnRpbmcvVVQJ
AAMbjfdUbZj3VHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAD8fGRGW1xMXkEAAABGAAAAgwAcAGlt
cG9ydGVkL3czYy9odG1sLXRlbXBsYXRlcy9wYXJzaW5nLWh0bWwtdGVtcGxhdGVzL2FkZGl0aW9u
cy10by1mb3N0ZXItcGFyZW50aW5nL3RlbXBsYXRlLWlzLW5vdC1hLWZvc3Rlci1wYXJlbnQtZWxl
bWVudC1zdGRlcnIudHh0VVQJAAPMl/dUG433VHV4CwABBPUBAAAEFAAAAAXBQQqAMAwEwLuv2Ftv
9hG+JLYrCpJANkKf78wR3zvhURhJK8Ig83nGAlfR9YTjikTrScWXg+pF1W3plPYhte0HUEsDBAoA
AAAAANJ2ZEYAAAAAAAAAAAAAAAAHABwAanF1ZXJ5L1VUCQADK433VG2Y91R1eAsAAQT1AQAABBQA
AABQSwMEFAACAAgABX1kRklk/3hpAAAA4AAAABgAHABqcXVlcnkvb2Zmc2V0LXN0ZGVyci50eHRV
VAkAA9mX91QrjfdUdXgLAAEE9QEAAAQUAAAAvc07DoJQEEbh3lVMR8csAq2000g9cH+SS/BOnEcC
u9fCNdiefMkZNLdCTYNmgwRIyKWVSXfCHmhetdGiRh0/dcsXnM8SwpfxziOmaw2+yaEZD3g4r++E
HWxwTZu/uFSPX+1X707Dn38fUEsDBAoAAAAAAAl9ZEYAAAAAAAAAAAAAAAADABwAanMvVVQJAAPh
l/dUbZj3VHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAAJfWRGAAAAAAAAAAAAAAAABwAcAGpzL2Rv
bS9VVAkAA+KX91RtmPdUdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAAl9ZEbE/0Y1kQAAALsAAAA1
ABwAanMvZG9tL3BhcnNlLWVycm9yLWV4dGVybmFsLXNjcmlwdC1pbi1ldmFsLWFjdHVhbC50eHRV
VAkAA+GX91Thl/dUdXgLAAEE9QEAAAQUAAAALYwxDoJAEEV7TvE7tLEwVnTGbGxUitUDjDDAJDCQ
ncXg7V3U5hfvv7xTefPlxeHqvD+eXYFelLEv4N8aaXEhjKHAQ3mZuIpcQ2rWKI1wwAE5r3+e3Tsx
RLaYtqMI+mV0Hp7JI63xFTGwGbWMZE9BdO01CRMmCsZ/STQB44QoMmycQ8VopGfMJtqCX9Rvtrvs
A1BLAwQUAAIACAAJfWRGUukEqAIBAAAKAgAAMwAcAGpzL2RvbS9wYXJzZS1lcnJvci1leHRlcm5h
bC1zY3JpcHQtaW4tZXZhbC1kaWZmLnR4dFVUCQAD4Zf3VOKX91R1eAsAAQT1AQAABBQAAAC9kM1O
w0AMhO95Ct8KCtsVFaeewk/EgZ9KBOjZTZzWaLOJ1l6Uvj2bUHgBJC62PBp9I48xBux772JHYu9Q
0Zbbym5p98B6WjeRXWNfyBEKWYfHPqpREjWBJDoV+yG26Ts7YBAyFEIfDI1KwaMzUgce1LA39JlO
GgeqlZqljprlef6v4VhrRDdHFwWYy4sV5NMoiszcbp6rzWMJT2VVXd+Xa3DsCVZrqI5ecSwn8Bre
/M8DwA155ZYpwGKOXWT5XyBXvxh4PbDA9GSaB1TAb46P3S4Z0TcwOyHVJrgnSO4hsJ+AbZIR5jJO
JvZJEEoSKoH0MdQELTuCKOz3MDVzdr7MvgBQSwMEFAACAAgACX1kRif2HFKPAAAAuQAAADcAHABq
cy9kb20vcGFyc2UtZXJyb3ItZXh0ZXJuYWwtc2NyaXB0LWluLWV2YWwtZXhwZWN0ZWQudHh0VVQJ
AAPhl/dU4Zf3VHV4CwABBPUBAAAEFAAAAC2MMQ6CQBREe04xndpYWNIZQ2xUitUDfGGAn8CH7C4G
b++iNlO8eXmn8ubKS4Fr4dzxXOTo1YhDDve2KEvh/ehzPIzLxCqyhta0qI3SY8P13WT3TgMiQ0zb
SYT8IjYPz2SJ1fiKGBiCtESyJ6+21pqEBZP4wL+klkBgQhKJMM6+IhrtiTmoteBL+u1un30AUEsD
BBQAAgAIAAl9ZEaW9oYf2AcAANMYAAA7ABwAanMvZG9tL3BhcnNlLWVycm9yLWV4dGVybmFsLXNj
cmlwdC1pbi1ldmFsLXByZXR0eS1kaWZmLmh0bWxVVAkAA+KX91Til/dUdXgLAAEE9QEAAAQUAAAA
pVlrb+M2Fv2eX0Ek2KYtItlO7NnYzrjoJM4u0NdiPbv9WFASZXFCiSpJJfa0/e+9fMmSLDkp2kFH
MnlJnvs8l5q7TOVsdXaXEZzAIycKozjDQhL1/rJSaXB7CcNS7RlZnS0YLZ6u0OKZSqpIgn47Q/Cf
IjsVJCTmAivKiwUqeEGWZiriIiEiiLhSPF+gSblDCbyTZHn2x5ndzm0Sc8bFAl2Mb+ZmLnykjDzQ
NHXzEY6ftoJXRRJ40fRW/2keZE+QnNEEXSRJYudSXqggxTll+wXKecFliWMHMMdiSwHyhORobIdK
DsoZPQRhoNEzMYCySQfpzc1Nz/4SFzKQRNC0MSnpZ2LOaB4aMJKqBRqHMz+eUFkyDJvQAizjEL7Q
RGWweDz+h8OHk4QW23qlxeZco9/a3nFwaZEBKFWLZ/yZiI5Gs9lsOWRsQqwZQu2T7+Es6RanjGNQ
Q9Btptqe01L3oD4GXfxRHExPFag47qiscMRIEBPGWloGZt+WlV4y0C4wPtSh9iJweUC2IbH23WDQ
mMXtkOmGi4tZb3cIqHG5syesdyW4F/YH1cgVCvWjq+EgPEkTEu3138hA/cB4/PQfLFQIqi5SKqQK
4oyyZNCw+rgNrL86tZkgObj26pXz3Bne/DbggkiLtMJu5qMOokXRGLMAM7qF3FC8Ry1BdKT/GxcJ
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
cmlwdC1pbi1uZXctRnVuY3Rpb24tZGlmZi50eHRVVAkAA+KX91Til/dUdXgLAAEE9QEAAAQUAAAA
xVDLTsNADLznK3wrKGxXPE45hUfgwKMSAXp2E7c12jrRrlekf88mtPwABy5jaTyasccYA/ajc3FH
wd6hoq2WtV3S6pH1MG4iu9a+kiMMZB3uu6hGKajxFKLTYD+Dbbud7dEHMuR95w0NSl7QmdB47tWw
GKEvcx+lUe4k7XtqlNq5Dprlef4vR2CjEd10QlmCOT+7gHyEsszM7eKlXjxV8FzV9fVDVYBjIbgs
oN6L4lCNAQW8y/ER4JZEec3kYTbFz7L8LyZXvzbwtuUA47MJt6iAPz4Sd6skRGlhUkKqL+CGIKl7
zzIarhONMJVyELEkIlCiUAlCF31DsGZHEAPLBlJDcGzo5HSefQNQSwMEFAACAAgACX1kRsa0XQmU
AAAAwQAAAD8AHABqcy9kb20vcGFyc2UtZXJyb3ItZXh0ZXJuYWwtc2NyaXB0LWluLW5ldy1GdW5j
dGlvbi1leHBlY3RlZC50eHRVVAkAA+KX91Til/dUdXgLAAEE9QEAAAQUAAAALYwxDoJAEEV7TvE7
tLGxozMGbVSK1QOMMMAkMJCd3Yi3d1GbX7z/8o7VzVWXEtfSucO5LDCIMvYF3FsDLaX3ky/wUF5m
rgM3kIY1SCvskfP65tm9F0NgC2l7CqBfROP4TBZpg6+Ikc2oYyR79qJrrU2YMJM3/kuiCRgnRIFh
U/Q1o5WBEU20g/ILp6h1kEk32132AVBLAwQUAAIACAAJfWRGUp0FSOEHAADjGAAAQwAcAGpzL2Rv
bS9wYXJzZS1lcnJvci1leHRlcm5hbC1zY3JpcHQtaW4tbmV3LUZ1bmN0aW9uLXByZXR0eS1kaWZm
Lmh0bWxVVAkAA+KX91Til/dUdXgLAAEE9QEAAAQUAAAApVlrc+O2Ff3uX4Gxp3GbMSnJkra25FUn
a8vtTPPoVNvmYwckQRFrkGAB0JI26X/vxYsiKVJ2JtnJkgIugPs+B9yHTOVsdfGQEZzAIycKozjD
QhL18bpSaXB3DcNSHRhZXSwYLV5u0OKVSqpIgn65QPCfInsVJCTmAivKiwUqeEGWZiriIiEiiLhS
PF+gSblHCbyTZHnxvwu7ndsk5oyLBboaT+/NXPhMGXmiaermIxy/bAWviiTwoumd/tM8yJ4gOaMJ
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
SvBbTvT4qIdz1VyEp5IaHFtwQq2wq+8/H25/UEsDBBQAAgAIAAh9ZEb4BP1wYwAAAHAAAAA2ABwA
bWVkaWEvVzNDL2F1ZGlvL2V2ZW50cy9ldmVudF9jYW5wbGF5dGhyb3VnaC1zdGRlcnIudHh0VVQJ
AAPgl/dUNo33VHV4CwABBPUBAAAEFAAAACXIMQ6DMAwF0L2n8MZWH6JlapmoymwSI6Ui/lLsSHD7
DrzxPdD3TIag1FRCScjF8oqD9Ag1LzDa0GjgL/Ze1fkpITwuMy+6vkrwW070+KiHc9VchKeSGhxb
cEKtsKvvPx9uf1BLAwQUAAIACAAIfWRG+AT9cGMAAABwAAAAPQAcAG1lZGlhL1czQy9hdWRpby9l
dmVudHMvZXZlbnRfY2FucGxheXRocm91Z2hfbWFudWFsLXN0ZGVyci50eHRVVAkAA+CX91Q2jfdU
dXgLAAEE9QEAAAQUAAAAJcgxDoMwDAXQvafwxlYfomVqmajKbBIjpSL+UuxIcPsOvPE90PdMhqDU
VEJJyMXyioP0CDUvMNrQaOAv9l7V+SkhPC4zL7q+SvBbTvT4qIdz1VyEp5IaHFtwQq2wq+8/H25/
UEsDBBQAAgAIAAl9ZEb4BP1wYwAAAHAAAAAyABwAbWVkaWEvVzNDL2F1ZGlvL2V2ZW50cy9ldmVu
dF9sb2FkZWRkYXRhLXN0ZGVyci50eHRVVAkAA+GX91Q2jfdUdXgLAAEE9QEAAAQUAAAAJcgxDoMw
DAXQvafwxlYfomVqmajKbBIjpSL+UuxIcPsOvPE90PdMhqDUVEJJyMXyioP0CDUvMNrQaOAv9l7V
+SkhPC4zL7q+SvBbTvT4qIdz1VyEp5IaHFtwQq2wq+8/H25/UEsDBBQAAgAIAAl9ZEb4BP1wYwAA
AHAAAAA5ABwAbWVkaWEvVzNDL2F1ZGlvL2V2ZW50cy9ldmVudF9sb2FkZWRkYXRhX21hbnVhbC1z
dGRlcnIudHh0VVQJAAPhl/dUN433VHV4CwABBPUBAAAEFAAAACXIMQ6DMAwF0L2n8MZWH6Jlapmo
ymwSI6Ui/lLsSHD7DrzxPdD3TIag1FRCScjF8oqD9Ag1LzDa0GjgL/Ze1fkpITwuMy+6vkrwW070
+KiHc9VchKeSGhxbcEKtsKvvPx9uf1BLAwQUAAIACAAJfWRG+AT9cGMAAABwAAAANgAcAG1lZGlh
L1czQy9hdWRpby9ldmVudHMvZXZlbnRfbG9hZGVkbWV0YWRhdGEtc3RkZXJyLnR4dFVUCQAD4Zf3
VDeN91R1eAsAAQT1AQAABBQAAAAlyDEOgzAMBdC9p/DGVh+iZWqZqMpsEiOlIv5S7Ehw+w688T3Q
90yGoNRUQknIxfKKg/QINS8w2tBo4C/2XtX5KSE8LjMvur5K8FtO9Pioh3PVXISnkhocW3BCrbCr
7z8fbn9QSwMEFAACAAgACX1kRvgE/XBjAAAAcAAAAD0AHABtZWRpYS9XM0MvYXVkaW8vZXZlbnRz
L2V2ZW50X2xvYWRlZG1ldGFkYXRhX21hbnVhbC1zdGRlcnIudHh0VVQJAAPhl/dUN433VHV4CwAB
BPUBAAAEFAAAACXIMQ6DMAwF0L2n8MZWH6JlapmoymwSI6Ui/lLsSHD7DrzxPdD3TIag1FRCScjF
8oqD9Ag1LzDa0GjgL/Ze1fkpITwuMy+6vkrwW070+KiHc9VchKeSGhxbcEKtsKvvPx9uf1BLAwQU
AAIACAAJfWRG+AT9cGMAAABwAAAAMQAcAG1lZGlhL1czQy9hdWRpby9ldmVudHMvZXZlbnRfbG9h
ZHN0YXJ0LXN0ZGVyci50eHRVVAkAA+GX91Q3jfdUdXgLAAEE9QEAAAQUAAAAJcgxDoMwDAXQvafw
xlYfomVqmajKbBIjpSL+UuxIcPsOvPE90PdMhqDUVEJJyMXyioP0CDUvMNrQaOAv9l7V+SkhPC4z
L7q+SvBbTvT4qIdz1VyEp5IaHFtwQq2wq+8/H25/UEsDBBQAAgAIAAl9ZEb4BP1wYwAAAHAAAAA4
ABwAbWVkaWEvVzNDL2F1ZGlvL2V2ZW50cy9ldmVudF9sb2Fkc3RhcnRfbWFudWFsLXN0ZGVyci50
eHRVVAkAA+GX91Q3jfdUdXgLAAEE9QEAAAQUAAAAJcgxDoMwDAXQvafwxlYfomVqmajKbBIjpSL+
UuxIcPsOvPE90PdMhqDUVEJJyMXyioP0CDUvMNrQaOAv9l7V+SkhPC4zL7q+SvBbTvT4qIdz1VyE
p5IaHFtwQq2wq+8/H25/UEsDBBQAAgAIAAl9ZEb4BP1wYwAAAHAAAABEABwAbWVkaWEvVzNDL2F1
ZGlvL2V2ZW50cy9ldmVudF9vcmRlcl9jYW5wbGF5X2NhbnBsYXl0aHJvdWdoLXN0ZGVyci50eHRV
VAkAA+KX91Q3jfdUdXgLAAEE9QEAAAQUAAAAJcgxDoMwDAXQvafwxlYfomVqmajKbBIjpSL+UuxI
cPsOvPE90PdMhqDUVEJJyMXyioP0CDUvMNrQaOAv9l7V+SkhPC4zL7q+SvBbTvT4qIdz1VyEp5Ia
HFtwQq2wq+8/H25/UEsDBBQAAgAIAAl9ZEb4BP1wYwAAAHAAAAA9ABwAbWVkaWEvVzNDL2F1ZGlv
L2V2ZW50cy9ldmVudF9vcmRlcl9jYW5wbGF5X3BsYXlpbmctc3RkZXJyLnR4dFVUCQAD4pf3VDeN
91R1eAsAAQT1AQAABBQAAAAlyDEOgzAMBdC9p/DGVh+iZWqZqMpsEiOlIv5S7Ehw+w688T3Q90yG
oNRUQknIxfKKg/QINS8w2tBo4C/2XtX5KSE8LjMvur5K8FtO9Pioh3PVXISnkhocW3BCrbCr7z8f
bn9QSwMEFAACAAgACX1kRvgE/XBjAAAAcAAAAEcAHABtZWRpYS9XM0MvYXVkaW8vZXZlbnRzL2V2
ZW50X29yZGVyX2xvYWRlZG1ldGFkYXRhX2xvYWRlZGRhdGEtc3RkZXJyLnR4dFVUCQAD4pf3VDeN
91R1eAsAAQT1AQAABBQAAAAlyDEOgzAMBdC9p/DGVh+iZWqZqMpsEiOlIv5S7Ehw+w688T3Q90yG
oNRUQknIxfKKg/QINS8w2tBo4C/2XtX5KSE8LjMvur5K8FtO9Pioh3PVXISnkhocW3BCrbCr7z8f
bn9QSwMEFAACAAgACX1kRvgE/XBjAAAAcAAAAEAAHABtZWRpYS9XM0MvYXVkaW8vZXZlbnRzL2V2
ZW50X29yZGVyX2xvYWRzdGFydF9wcm9ncmVzcy1zdGRlcnIudHh0VVQJAAPil/dUOI33VHV4CwAB
BPUBAAAEFAAAACXIMQ6DMAwF0L2n8MZWH6JlapmoymwSI6Ui/lLsSHD7DrzxPdD3TIag1FRCScjF
8oqD9Ag1LzDa0GjgL/Ze1fkpITwuMy+6vkrwW070+KiHc9VchKeSGhxbcEKtsKvvPx9uf1BLAwQU
AAIACAAJfWRG+AT9cGMAAABwAAAANAAcAG1lZGlhL1czQy9hdWRpby9ldmVudHMvZXZlbnRfcGF1
c2VfbWFudWFsLXN0ZGVyci50eHRVVAkAA+KX91Q4jfdUdXgLAAEE9QEAAAQUAAAAJcgxDoMwDAXQ
vafwxlYfomVqmajKbBIjpSL+UuxIcPsOvPE90PdMhqDUVEJJyMXyioP0CDUvMNrQaOAv9l7V+Skh
PC4zL7q+SvBbTvT4qIdz1VyEp5IaHFtwQq2wq+8/H25/UEsDBBQAAgAIAAp9ZEb4BP1wYwAAAHAA
AAAsABwAbWVkaWEvVzNDL2F1ZGlvL2V2ZW50cy9ldmVudF9wbGF5LXN0ZGVyci50eHRVVAkAA+OX
91Q4jfdUdXgLAAEE9QEAAAQUAAAAJcgxDoMwDAXQvafwxlYfomVqmajKbBIjpSL+UuxIcPsOvPE9
0PdMhqDUVEJJyMXyioP0CDUvMNrQaOAv9l7V+SkhPC4zL7q+SvBbTvT4qIdz1VyEp5IaHFtwQq2w
q+8/H25/UEsDBBQAAgAIAAp9ZEb4BP1wYwAAAHAAAAAzABwAbWVkaWEvVzNDL2F1ZGlvL2V2ZW50
cy9ldmVudF9wbGF5X21hbnVhbC1zdGRlcnIudHh0VVQJAAPjl/dUOI33VHV4CwABBPUBAAAEFAAA
ACXIMQ6DMAwF0L2n8MZWH6JlapmoymwSI6Ui/lLsSHD7DrzxPdD3TIag1FRCScjF8oqD9Ag1LzDa
0GjgL/Ze1fkpITwuMy+6vkrwW070+KiHc9VchKeSGhxbcEKtsKvvPx9uf1BLAwQUAAIACAAKfWRG
+AT9cGMAAABwAAAALwAcAG1lZGlhL1czQy9hdWRpby9ldmVudHMvZXZlbnRfcGxheWluZy1zdGRl
cnIudHh0VVQJAAPjl/dUOI33VHV4CwABBPUBAAAEFAAAACXIMQ6DMAwF0L2n8MZWH6JlapmoymwS
I6Ui/lLsSHD7DrzxPdD3TIag1FRCScjF8oqD9Ag1LzDa0GjgL/Ze1fkpITwuMy+6vkrwW070+KiH
c9VchKeSGhxbcEKtsKvvPx9uf1BLAwQUAAIACAAKfWRG+AT9cGMAAABwAAAANgAcAG1lZGlhL1cz
Qy9hdWRpby9ldmVudHMvZXZlbnRfcGxheWluZ19tYW51YWwtc3RkZXJyLnR4dFVUCQAD45f3VDiN
91R1eAsAAQT1AQAABBQAAAAlyDEOgzAMBdC9p/DGVh+iZWqZqMpsEiOlIv5S7Ehw+w688T3Q90yG
oNRUQknIxfKKg/QINS8w2tBo4C/2XtX5KSE8LjMvur5K8FtO9Pioh3PVXISnkhocW3BCrbCr7z8f
bn9QSwMEFAACAAgACn1kRvgE/XBjAAAAcAAAADAAHABtZWRpYS9XM0MvYXVkaW8vZXZlbnRzL2V2
ZW50X3Byb2dyZXNzLXN0ZGVyci50eHRVVAkAA+OX91Q4jfdUdXgLAAEE9QEAAAQUAAAAJcgxDoMw
DAXQvafwxlYfomVqmajKbBIjpSL+UuxIcPsOvPE90PdMhqDUVEJJyMXyioP0CDUvMNrQaOAv9l7V
+SkhPC4zL7q+SvBbTvT4qIdz1VyEp5IaHFtwQq2wq+8/H25/UEsDBBQAAgAIAAp9ZEb4BP1wYwAA
AHAAAAA3ABwAbWVkaWEvVzNDL2F1ZGlvL2V2ZW50cy9ldmVudF9wcm9ncmVzc19tYW51YWwtc3Rk
ZXJyLnR4dFVUCQAD45f3VDmN91R1eAsAAQT1AQAABBQAAAAlyDEOgzAMBdC9p/DGVh+iZWqZqMps
EiOlIv5S7Ehw+w688T3Q90yGoNRUQknIxfKKg/QINS8w2tBo4C/2XtX5KSE8LjMvur5K8FtO9Pio
h3PVXISnkhocW3BCrbCr7z8fbn9QSwMEFAACAAgACn1kRvgE/XBjAAAAcAAAADIAHABtZWRpYS9X
M0MvYXVkaW8vZXZlbnRzL2V2ZW50X3RpbWV1cGRhdGUtc3RkZXJyLnR4dFVUCQAD5Jf3VDmN91R1
eAsAAQT1AQAABBQAAAAlyDEOgzAMBdC9p/DGVh+iZWqZqMpsEiOlIv5S7Ehw+w688T3Q90yGoNRU
QknIxfKKg/QINS8w2tBo4C/2XtX5KSE8LjMvur5K8FtO9Pioh3PVXISnkhocW3BCrbCr7z8fbn9Q
SwMEFAACAAgACn1kRvgE/XBjAAAAcAAAADkAHABtZWRpYS9XM0MvYXVkaW8vZXZlbnRzL2V2ZW50
X3RpbWV1cGRhdGVfbWFudWFsLXN0ZGVyci50eHRVVAkAA+SX91Q5jfdUdXgLAAEE9QEAAAQUAAAA
JcgxDoMwDAXQvafwxlYfomVqmajKbBIjpSL+UuxIcPsOvPE90PdMhqDUVEJJyMXyioP0CDUvMNrQ
aOAv9l7V+SkhPC4zL7q+SvBbTvT4qIdz1VyEp5IaHFtwQq2wq+8/H25/UEsDBAoAAAAAAOd2ZEYA
AAAAAAAAAAAAAAAJABwAcGxhdGZvcm0vVVQJAANRjfdUbZj3VHV4CwABBPUBAAAEFAAAAFBLAwQK
AAAAAADndmRGAAAAAAAAAAAAAAAADQAcAHBsYXRmb3JtL21hYy9VVAkAA1GN91RtmPdUdXgLAAEE
9QEAAAQUAAAAUEsDBAoAAAAAAOd2ZEYAAAAAAAAAAAAAAAAbABwAcGxhdGZvcm0vbWFjL2FjY2Vz
c2liaWxpdHkvVVQJAANRjfdUbZj3VHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAAXfWRGHpN9WXIA
AADtAAAASAAcAHBsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3RleHRib3gtcm9sZS1yZXBvcnRz
LW5vdGlmaWNhdGlvbnMtc3RkZXJyLnR4dFVUCQAD/Zf3VFGN91R1eAsAAQT1AQAABBQAAAC9jTEO
wjAMRXdO4a1T8SFKJ9hAdHZTI7VK4ir+kdrbE3EI5vee3mA1LpQNFIoKlIRc8jLbQXpAs6+W6WOF
On5brEmdbwLhcXrypPN9BT/ktIqXOpz3KGh24iSBi7rVElqyeY/G+73odfPuMvz3ao7f9gtQSwME
CgAAAAAA53ZkRgAAAAAAAAAAAAAAABIAHABwbGF0Zm9ybS9tYWMvZmFzdC9VVAkAA1GN91RtmPdU
dXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAOx2ZEYAAAAAAAAAAAAAAAAcABwAcGxhdGZvcm0vbWFj
L2Zhc3Qvc2Nyb2xsaW5nL1VUCQADXI33VG2Y91R1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAFX1k
Rvc/TYptAAAA9wMAAD0AHABwbGF0Zm9ybS9tYWMvZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLWRpdi1s
YXRjaGVkLWRpdi1zdGRlcnIudHh0VVQJAAP5l/dUUY33VHV4CwABBPUBAAAEFAAAAMvNLy1O9c0v
Sw3JV0hLzMxJTVEoAbIy81IUEhVKEovSU0sUyjJTyxUSSxSMLPQMwEBH19AAyuTKBRkQnFyUn5Pj
VBmeWZIRnpGamuOYl+Kbn5uaV1KaG5CRWJxajG54SUbqqPGjxo8aPzDGAwBQSwMEFAACAAgAG31k
RpNyWgOBAAAApQAAADsAHABwbGF0Zm9ybS9tYWMvZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLW5lc3Rl
ZC1pZnJhbWUtc3RkZXJyLnR4dFVUCQADBZj3VFyN91R1eAsAAQT1AQAABBQAAABFjDEOAjEMBHte
4Y4OPwKooANxZeTL+SBSYiPbkY7fE4mCblezs0ftdQHRgGxMwUDgJMusG/AWLF5UYFWDPT609saO
JwrC83TDiedLCbzSR3vc2cPxXSnGumGjjCt5oGfTWos80di1Wx4P//SjSYbMSyqrUeMUo6UiwnZ4
Rav73RdQSwMECgAAAAAA53ZkRgAAAAAAAAAAAAAAABcAHABwbGF0Zm9ybS9tYWMvZmFzdC90ZXh0
L1VUCQADUY33VG2Y91R1eAsAAQT1AQAABBQAAABQSwMECgAAAAAA53ZkRgAAAAAAAAAAAAAAACUA
HABwbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvVVQJAANRjfdUbZj3VHV4CwAB
BPUBAAAEFAAAAFBLAwQUAAIACADndmRGkOWGWlsAAADgAgAAVQAcAHBsYXRmb3JtL21hYy9mYXN0
L3RleHQvaW50ZXJuYXRpb25hbC9HZWV6YS1Qcm8tdmVydGljYWwtbWV0cmljcy1hZGp1c3RtZW50
LXN0ZGVyci50eHRVVAkAA1GN91RRjfdUdXgLAAEE9QEAAAQUAAAAy80vLU4NTi7Kz8lxqgzPLMkI
z0hNzXHMS/HNz03NKynNDchILE4tVkhLzMxJTVEoyVdIy8wD0hmpCiWJRempJQplmanlCoklCgZ6
BmCgA2Nw5Y6aPWr2AJsNAFBLAwQKAAAAAADidmRGAAAAAAAAAAAAAAAAEQAcAHBsYXRmb3JtL21h
Yy13azIvVVQJAANIjfdUbZj3VHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAADidmRGAAAAAAAAAAAA
AAAAHwAcAHBsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9VVAkAA0iN91RtmPdUdXgLAAEE
9QEAAAQUAAAAUEsDBAoAAAAAAOJ2ZEYAAAAAAAAAAAAAAAApABwAcGxhdGZvcm0vbWFjLXdrMi90
aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9VVAkAA0iN91RtmPdUdXgLAAEE9QEAAAQUAAAAUEsDBAoA
AAAAAOZ2ZEYAAAAAAAAAAAAAAAA6ABwAcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Nj
cm9sbGluZy9maXhlZC1iYWNrZ3JvdW5kL1VUCQADUI33VG2Y91R1eAsAAQT1AQAABBQAAABQSwME
FAACAAgAEH1kRuNnMTFuAAAAgAAAAGAAHABwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcv
c2Nyb2xsaW5nL2ZpeGVkLWJhY2tncm91bmQvZml4ZWQtYmFja2dyb3VuZC1jb21wb3NpdGVkLXN0
ZGVyci50eHRVVAkAA/CX91RIjfdUdXgLAAEE9QEAAAQUAAAADcsxDsIwDADAnVd464YfAUx0A9ER
uakbWUrsKHak8nu6391slA3UAlJnCgYCJ91WO4CPYHUxhd06TPixMio73ikIH8sLF16fEjjTz0a8
2cOxFYpTV0xWm7mEaMbObqOns7rUVvgrlTJfm+bp8gdQSwMEFAACAAgAEX1kRuNnMTFuAAAAgAAA
AGwAHABwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2ZpeGVkLWJhY2tn
cm91bmQvZml4ZWQtYmFja2dyb3VuZC1uZWdhdGl2ZS16LWluZGV4LWZpeGVkLXN0ZGVyci50eHRV
VAkAA/KX91RKjfdUdXgLAAEE9QEAAAQUAAAADcsxDsIwDADAnVd464YfAUx0A9ERuakbWUrsKHak
8nu6391slA3UAlJnCgYCJ91WO4CPYHUxhd06TPixMio73ikIH8sLF16fEjjTz0a82cOxFYpTV0xW
m7mEaMbObqOns7rUVvgrlTJfm+bp8gdQSwMEFAACAAgAEn1kRuNnMTFuAAAAgAAAAGUAHABwbGF0
Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2ZpeGVkLWJhY2tncm91bmQvZml4
ZWQtYm9keS1iYWNrZ3JvdW5kLWJvZHktbGF5ZXItc3RkZXJyLnR4dFVUCQAD9Jf3VEyN91R1eAsA
AQT1AQAABBQAAAANyzEOwjAMAMCdV3jrhh8BTHQD0RG5qRtZSuwodqTye7rf3WyUDdQCUmcKBgIn
3VY7gI9gdTGF3TpM+LEyKjveKQgfywsXXp8SONPPRrzZw7EVilNXTFabuYRoxs5uo6ezutRW+CuV
Ml+b5unyB1BLAwQUAAIACAATfWRG42cxMW4AAACAAAAAYgAcAHBsYXRmb3JtL21hYy13azIvdGls
ZWQtZHJhd2luZy9zY3JvbGxpbmcvZml4ZWQtYmFja2dyb3VuZC9maXhlZC1ib2R5LWJhY2tncm91
bmQtb3BhY2l0eS1zdGRlcnIudHh0VVQJAAP1l/dUTI33VHV4CwABBPUBAAAEFAAAAA3LMQ7CMAwA
wJ1XeOuGHwFMdAPREbmpG1lK7Ch2pPJ7ut/dbJQN1AJSZwoGAifdVjuAj2B1MYXdOkz4sTIqO94p
CB/LCxdenxI4089GvNnDsRWKU1dMVpu5hGjGzm6jp7O61Fb4K5UyX5vm6fIHUEsDBBQAAgAIABN9
ZEbjZzExbgAAAIAAAABlABwAcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGlu
Zy9maXhlZC1iYWNrZ3JvdW5kL2ZpeGVkLWJvZHktYmFja2dyb3VuZC1wb3NpdGlvbmVkLXN0ZGVy
ci50eHRVVAkAA/aX91RNjfdUdXgLAAEE9QEAAAQUAAAADcsxDsIwDADAnVd464YfAUx0A9ERuakb
WUrsKHak8nu6391slA3UAlJnCgYCJ91WO4CPYHUxhd06TPixMio73ikIH8sLF16fEjjTz0a82cOx
FYpTV0xWm7mEaMbObqOns7rUVvgrlTJfm+bp8gdQSwMEFAACAAgAFH1kRuNnMTFuAAAAgAAAAFoA
HABwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2ZpeGVkLWJhY2tncm91
bmQvZml4ZWQtYm9keS1iYWNrZ3JvdW5kLXN0ZGVyci50eHRVVAkAA/iX91ROjfdUdXgLAAEE9QEA
AAQUAAAADcsxDsIwDADAnVd464YfAUx0A9ERuakbWUrsKHak8nu6391slA3UAlJnCgYCJ91WO4CP
YHUxhd06TPixMio73ikIH8sLF16fEjjTz0a82cOxFYpTV0xWm7mEaMbObqOns7rUVvgrlTJfm+bp
8gdQSwMEFAACAAgAE31kRuNnMTFuAAAAgAAAAGYAHABwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRy
YXdpbmcvc2Nyb2xsaW5nL2ZpeGVkLWJhY2tncm91bmQvZml4ZWQtYm9keS1iYWNrZ3JvdW5kLXRy
YW5zZm9ybWVkLXN0ZGVyci50eHRVVAkAA/aX91RNjfdUdXgLAAEE9QEAAAQUAAAADcsxDsIwDADA
nVd464YfAUx0A9ERuakbWUrsKHak8nu6391slA3UAlJnCgYCJ91WO4CPYHUxhd06TPixMio73ikI
H8sLF16fEjjTz0a82cOxFYpTV0xWm7mEaMbObqOns7rUVvgrlTJfm+bp8gdQSwMEFAACAAgAFH1k
RuNnMTFuAAAAgAAAAGEAHABwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5n
L2ZpeGVkLWJhY2tncm91bmQvZml4ZWQtYm9keS1iYWNrZ3JvdW5kLXpvb21lZC1zdGRlcnIudHh0
VVQJAAP3l/dUTo33VHV4CwABBPUBAAAEFAAAAA3LMQ7CMAwAwJ1XeOuGHwFMdAPREbmpG1lK7Ch2
pPJ7ut/dbJQN1AJSZwoGAifdVjuAj2B1MYXdOkz4sTIqO94pCB/LCxdenxI4089GvNnDsRWKU1dM
Vpu5hGjGzm6jp7O61Fb4K5UyX5vm6fIHUEsDBBQAAgAIABV9ZEbjZzExbgAAAIAAAABaABwAcGxh
dGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9maXhlZC1iYWNrZ3JvdW5kL2Zp
eGVkLWh0bWwtYmFja2dyb3VuZC1zdGRlcnIudHh0VVQJAAP5l/dUT433VHV4CwABBPUBAAAEFAAA
AA3LMQ7CMAwAwJ1XeOuGHwFMdAPREbmpG1lK7Ch2pPJ7ut/dbJQN1AJSZwoGAifdVjuAj2B1MYXd
Okz4sTIqO94pCB/LCxdenxI4089GvNnDsRWKU1dMVpu5hGjGzm6jp7O61Fb4K5UyX5vm6fIHUEsD
BBQAAgAIABV9ZEbjZzExbgAAAIAAAABpABwAcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5n
L3Njcm9sbGluZy9maXhlZC1iYWNrZ3JvdW5kL2ZpeGVkLW5vbi1wcm9wYWdhdGVkLWJvZHktYmFj
a2dyb3VuZC1zdGRlcnIudHh0VVQJAAP5l/dUUI33VHV4CwABBPUBAAAEFAAAAA3LMQ7CMAwAwJ1X
eOuGHwFMdAPREbmpG1lK7Ch2pPJ7ut/dbJQN1AJSZwoGAifdVjuAj2B1MYXdOkz4sTIqO94pCB/L
CxdenxI4089GvNnDsRWKU1dMVpu5hGjGzm6jp7O61Fb4K5UyX5vm6fIHUEsDBAoAAAAAAOl2ZEYA
AAAAAAAAAAAAAAAIABwAcGx1Z2lucy9VVAkAA1aN91RtmPdUdXgLAAEE9QEAAAQUAAAAUEsDBAoA
AgAAABZ9ZEaZ3jDiNAAAADQAAAAvABwAcGx1Z2lucy9jcmFzaC1pbnZhbGlkLWRhdGEtcmVmZXJl
bmNlLXN0ZGVyci50eHRVVAkAA/uX91RTjfdUdXgLAAEE9QEAAAQUAAAAQ291bGQgbm90IGNyZWF0
ZSBhIHNhbmRib3ggZXh0ZW5zaW9uIGZvciAnL3d3dy9mb28nClBLAwQUAAIACAAXfWRG7l1yRYYA
AAD2AAAAOwAcAHBsdWdpbnMvbnBwLXNldC13aW5kb3ctY2FsbGVkLWR1cmluZy1kZXN0cnVjdGlv
bi1zdGRlcnIudHh0VVQJAAP+l/dUVo33VHV4CwABBPUBAAAEFAAAAJ2OwQrCMBBE737FfEc/oCJI
KRTxKOlmbSNxV5JN8/umBy/iyesw8970LkT2MEViS4E3BqlkjQydH0yGurYGoi5LkKXDeL4cT0OH
vg07DON4m9iuQbxWkIs77KmJYasTqBBj5vsevGJpBHjOlgpZUDn0/8qnQsQ5f/uryxC1zw9fUlv9
Er8BUEsDBAoAAAAAAO92ZEYAAAAAAAAAAAAAAAAVABwAcGx1Z2lucy9zbmFwc2hvdHRpbmcvVVQJ
AANhjfdUbZj3VHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAAXfWRGJqbBx+EAAABOAwAATgAcAHBs
dWdpbnMvc25hcHNob3R0aW5nL2F1dG9wbGF5LWRvbWluYW50LWJsYW5rLXBsdWdpbi1tb3ZlZC1p
bnRvLXZpZXctc3RkZXJyLnR4dFVUCQAD/Zf3VFSN91R1eAsAAQT1AQAABBQAAADtkTFPwzAQhWf6
K24EqXGcNEkjr7RDBQgQSAyIwXau6anxOXJsEP+egNhgBImB6S1P3+neV8qizuQqkxUUtaqkqirR
Fg1Y74QexwHFA5oLiuJmSD2xWJVig884+NEhx8dGynat1ijNE2xD8AEGrzviHvJLMkGH13zHEQNj
hHdCtuMpv01kj/fkED6h40fk536ucpzyK22v777UFEA330U+/Xn2EsqmPlPAHqZEUZsBgZzuEfY+
cScANtTBnrhTi5PfeM1pe8j8EkyK8BL8PKAO9kARbUwBF+W3mtp/TX9L0xtQSwMEFAACAAgAF31k
RmqGq0/1AAAAnAYAADEAHABwbHVnaW5zL3NuYXBzaG90dGluZy9hdXRvcGxheS1kb21pbmFudC1z
dGRlcnIudHh0VVQJAAP+l/dUVY33VHV4CwABBPUBAAAEFAAAAO3RPU/DMBAG4Jn+ihtBahznm3ql
DBUgQFRiQAyOfU1POHbk2CD+PQGxwYIEqEOmW169p7sn51mV8CLhJWSVKLkoa8ZXHJTrmRwGg+we
2wsK7MbEjiwrcrbGZzRu6NGGh5rzVS0azZtHOPfeeTBOarIdpJfUeulf040N6C0GeG9INnZMbyOp
py31CJ+lw8dIz9wUtWFMr6S6vvsSEwB62ov2+Pe7l5DX1YkA62CMFGRrEKiXHcLORasZwJo07Mhq
sTj6i9N6qfaJW0IbA7x4Nz1QerWngCpEj4v8W6ZsZjp8powXP2A6bUSDvJ2Z/p+pnJkOi+kNUEsD
BBQAAgAIABh9ZEYpdQHk9gAAAJwGAABAABwAcGx1Z2lucy9zbmFwc2hvdHRpbmcvYXV0b3BsYXkt
cGx1Z2luLWJsb2NrZWQtYnktaW1hZ2Utc3RkZXJyLnR4dFVUCQAD/5f3VFaN91R1eAsAAQT1AQAA
BBQAAADt0T1LBDEQBuDa+xVTKtxms99nWs/iUFHxwEIsssncXjA7WbKJ4r93FTttBBWFraZ5eYeZ
J+dZlfAi4SVklSi5KGtWZgUo1zM5DBbZLbZnJrArGztDrMjZGh/RuqFHCnc158e1aDRv7uHUe+fB
OqkNdZCem9ZL/5xuKKAnDPDakGxoTK+jUQ9b0yO8lw5vIz1xU5TCmF5IdXnzISYA9LQX6fD7u5eQ
19WRAHIwRhNkaxFMLzuEnYukGcDaaNgZ0mJx8BOn9VLtE7eENgZ48m56oPRqbwKqED0u8k+Zqpnp
HzDlqy8wrRrRIG9npl9nKvjM9LeYXgBQSwMEFAACAAgAGH1kRmcwwGLyAAAAnAYAAEcAHABwbHVn
aW5zL3NuYXBzaG90dGluZy9hdXRvcGxheS1wbHVnaW4tbW9zdGx5LWJsb2NrZWQtYnktaW1hZ2Ut
c3RkZXJyLnR4dFVUCQADAJj3VFeN91R1eAsAAQT1AQAABBQAAADt0bFOwzAQBuCZPsWNIDWOmzgx
eKUMFSBAVGJADI59TS2Sc+TYIN6egNhgQYIBkemWX//p7iv4qsp4mXEBq0oJroRkoirB+J7pYeiQ
3WFz7iK77lLriJUFW+MTdn7okeJ9zflJraTl8gHOQvABOq+toxbyC9cEHV7yDUUMhBHeGrINjflN
cuZx63qEj9LhfeSnfopSHPNLba5uP8UUgJ32Ih3+fPcSiro6UkAexuSibjoE1+sWYecTWQawdhZ2
jqxaHPzGab02+8wvoUkRnoOfHqiD2buIJqaAi+JLJjEz/QGmWn6D6VgqibyZmWamf8/0ClBLAwQU
AAIACAAafWRGUTkNkQcBAAA4DQAAPAAcAHBsdWdpbnMvc25hcHNob3R0aW5nL2F1dG9wbGF5LXNp
bWlsYXItdG8tZG9taW5hbnQtc3RkZXJyLnR4dFVUCQADA5j3VFmN91R1eAsAAQT1AQAABBQAAADt
0T1PwzAQBuCZ/oobQWocx/lqvVKGChAgkBgQg2NfU4vEjhwbxL8nIDZYkAoikqdbXr2nu4fRrExo
ntACspIXlJeUUEZB2p6IYeiQ3GNzrj257kKrDckZ2eAzdnbo0fiHitJ1xWtF60c4c8466KxQ2rSQ
XujGCfeabo1HZ9DDe0OyNWN6E7R8utM9wmfp8DHSUztFjR/TSyGvbr/EOICa9qI5Pnz3ElhVnnAw
FsagvWg6BN2LFmFng1EEYKMV7LRRfHH0G6f1Qu4Tu4QmeHhxdnqgcHKvPUofHC7Yt0wsMs2BqYhM
kSkyHYYpz37AtKp5jbSJTH/PlEemOTAVkWkOTFVk+l9Mb1BLAwQUAAIACAAafWRGszHdbuEAAABO
AwAAOwAcAHBsdWdpbnMvc25hcHNob3R0aW5nL3BsdWdpbi1yZWNlaXZlcy1jbGljay1ldmVudC1z
dGRlcnIudHh0VVQJAAMDmPdUWo33VHV4CwABBPUBAAAEFAAAAO2RMU/DMBCFZ/orbgSpsZ00ScEr
ZagAAQKJATE49jU9EZ8jxwbx7wmIDUaQGJje8vSd7n2VKptCrQpVQ9noWummFOq4Bhu8MOM4oLjH
7pySuB5yTyxWldjgMw5h9MjpoVXqpNVrp9aPcBZjiDAE44h7kBfURRNf5ZYTRsYE74Riy5O8yWSf
7sgjfELHj5CnYa5ymuSlsVe3X2oawM13kQ9/nr2Eqm2ONHCAKVMy3YBA3vQIu5DZCYANOdgRO704
+I3XvLH7IiyhywleYpgHNNHuKaFNOeKi+lZT86/pb2l6A1BLAwQUAAIACAAcfWRGvBN8m/YAAACc
BgAAJwAcAHBsdWdpbnMvc25hcHNob3R0aW5nL3Jlc3RhcnQtc3RkZXJyLnR4dFVUCQADCJj3VF+N
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
ZXh0YXJlYS1zZWxlY3RlZC10ZXh0LXJhbmdlLWV4cGVjdGVkLnR4dFVUCQAD0433VNON91R1eAsA
AQT1AQAABBQAAAALcAwOVihJrShxLEpN1CtOzUlNLklNCQEKBCXmpacqZBYrqFeb6CgY1KpzBRCj
1kJHwYhYtUamSAYXlyYnpxYXp5Xm5FQGJBYVp6aAFJUUlaZycYW4BocoOPv7Bvi4hrhycQEAUEsD
BBQAAgAIACx3ZEY/GVlt9gcAAE0aAABDABwAcmV0cmllcy9hY2Nlc3NpYmlsaXR5L3RleHRhcmVh
LXNlbGVjdGVkLXRleHQtcmFuZ2UtcHJldHR5LWRpZmYuaHRtbFVUCQAD0433VNON91R1eAsAAQT1
AQAABBQAAAC1WWuP3LYV/b6/QthFs0CwkubpzmM9hb0PNGgSGNmg/lhQEjWilxJVktqdseP/3suX
RtJIM1ukdeBIIi/Jc5/ncnybyZxuLm4zjBJ45FgiL84QF1i+v65k6i+uYVjIPcWbixUlxfONt3oh
gkiceN8uPPgj8U76CY4ZR5KwYuUVrMBrPRUxnmDuR0xKlq+8cbnzEnjHyfri+4XZzm4SM8r4yrsa
TZd6LngkFN+TNLXzEYqft5xVReI70XSh/mseZE4QjJLEu0qSxMylrJB+inJC9ysvZwUTJYotwBzx
LQHIY5x7IzNUMlBO68ExBY1esAaUjTtIp9Npz/4CFcIXmJO0MSnIV6zPaB7qU5zKlTcK5m48IaKk
CDYhBVjGInwlicxg8Wj0F4sPJQkptvVKg826Rr21vWPhkiIDULIWz9gL5h2N5vP5esjYGBszBMon
P8NZwi5OKUOgBifbTLY9p6TuQH0EurijGJieSFBx1FFZoohiP8aUtrT09b4tK71moJ2vfahC7ZWj
8oDsCcfKd4NBoxe3Q6YbLjZmnd0hoEblzpzwsCvBvbA/qIZvvEA9uhoOwhMkwdFe/d/TUD9SFj9/
QlwGoOoqJVxIP84ITQYNq457gvU3pzbjOAfX3pw5z57hzG8Czo+USCvs5i7qIFokiRH1ESVbyA3J
etTiWEX631GRUOzMYfdRJlTfGTYOPcRzXHGhXKNgdzMQReCdynkMzqwDxySPhncKRSvOj8Nhy/F+
3QnMYH7OX8bEXiDZWTMHKWd5x9i2PqozlNV/rfIIc4gm3IwuM+qAH5dRG7XLZasAunTpK4Muk2ez
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
Z+gfPP0KTSbE4n9+F1su380Www4zxiVY8V1U/fE75MNvKd/Ow/AV4AfmXzv/B1BLAwQKAAIAAABM
d2RG/ic44DUAAAA1AAAAMwAcAHJldHJpZXMvZmFzdC9ldmVudHMvbWVzc2FnZS1jaGFubmVsLWdj
LTQtYWN0dWFsLnR4dFVUCQADEI73VBCO91R1eAsAAQT1AQAABBQAAABGQUlMOiBUaW1lZCBvdXQg
d2FpdGluZyBmb3Igbm90aWZ5RG9uZSB0byBiZSBjYWxsZWQKClBLAwQUAAIACABMd2RGq2pPPBAB
AAADAgAAMQAcAHJldHJpZXMvZmFzdC9ldmVudHMvbWVzc2FnZS1jaGFubmVsLWdjLTQtZGlmZi50
eHRVVAkAAxCO91QQjvdUdXgLAAEE9QEAAAQUAAAAvY5NSwMxEIbv+RVzVLazoSIIPW2lCqJC6RZ7
niaz3UCalGS2H//e9MOL4NVTmPC87/sgIuiv6IctZz0jIf2yavWK1+9Obs/z4LzVC/ZMmbWnUxwE
hbNg4jx4yTqxJFfyHWXRvOdQ/kpfpg2j6SkE9rgx+Ih83LERtrUcRVVV9Y/TZGQgfxluGsDx6Amq
8egBmkbhsjSC9CTweY3OYxK41WSgxGDZuz0ntnAeAdfBOkoPuwJeARdAEoXsBO6Mj4Htfa2q1+nb
xwSWbluCxR0O5MSFDXQxQYjiutOsoCAR1gyGvGerQGHbx8FbyHSC+bRtQQ7OcK1Q4fmcwIINFx37
43guuI5ejOo/uS7F7S9SfQNQSwMEFAACAAgATHdkRnlRvgl9AAAAwwAAADUAHAByZXRyaWVzL2Zh
c3QvZXZlbnRzL21lc3NhZ2UtY2hhbm5lbC1nYy00LWV4cGVjdGVkLnR4dFVUCQADEI73VBCO91R1
eAsAAQT1AQAABBQAAAB1jTEOwjAUQ/eewiMsPQAbB0CqCBcIiUsipQnK/7Ti9gQiBgY223q2LxSF
Bqs4UcTeOJWqWLoW2Ep4priy0oMrM+KMa9GAewM7EDO02ixRsXOpZPr9OAwmlEfyEPvEdDQGukXH
lr/NAWc6tlX/vYIW9O5nePyHzbUsv+DwAlBLAwQUAAIACABMd2RGtPYWijIIAAC9HAAAOQAcAHJl
dHJpZXMvZmFzdC9ldmVudHMvbWVzc2FnZS1jaGFubmVsLWdjLTQtcHJldHR5LWRpZmYuaHRtbFVU
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
giVhft6Qghyvy/y1jOXyplMQivX5/BbuTPMvYCmb6Y4CPutsv430nBFwlpIILgX6lgWdnrDT0OUY
CTBpTb6svdf3oZkJSKTZxG5GS+SKNvpbwqwo5LiRTr8L3VoLH+IF7OYf/WaGrD5uYyd00MAHjMdf
4QlrYCgf88ePP/0yA0PodzPwhdY+CvuuTamfELtojYHJaiLlovZhLqclV7Uhmm3v7ac2nhECiDGQ
PPASqQmm7v2YRWuEAjrYaSf7p8Ne5uDp4y456o7LV3ji8oAn/p86v3Gqj94g1Z9yvmIpNHNb9Pnj
0xNSa5qQsG2VN4E7fgtmeg9gkzcApo03Q7+ShAANpsh30rBLwiD7UsNu72PXq/eDb856dwV+eIfA
+DN53HqYvgPqvPlXy/8BUEsDBAoAAgAAAHx3ZEb+JzjgNQAAADUAAAArABwAcmV0cmllcy9mYXN0
L2V2ZW50cy9tZXNzYWdlLXBvcnQtYWN0dWFsLnR4dFVUCQADa473VGuO91R1eAsAAQT1AQAABBQA
AABGQUlMOiBUaW1lZCBvdXQgd2FpdGluZyBmb3Igbm90aWZ5RG9uZSB0byBiZSBjYWxsZWQKClBL
AwQKAAIAAABbd2RG/ic44DUAAAA1AAAAMQAcAHJldHJpZXMvZmFzdC9ldmVudHMvbWVzc2FnZS1w
b3J0LWNsb25lLWFjdHVhbC50eHRVVAkAAy6O91QujvdUdXgLAAEE9QEAAAQUAAAARkFJTDogVGlt
ZWQgb3V0IHdhaXRpbmcgZm9yIG5vdGlmeURvbmUgdG8gYmUgY2FsbGVkCgpQSwMEFAACAAgAW3dk
Rkyeqp1kAQAA8gIAAC8AHAByZXRyaWVzL2Zhc3QvZXZlbnRzL21lc3NhZ2UtcG9ydC1jbG9uZS1k
aWZmLnR4dFVUCQADLo73VC6O91R1eAsAAQT1AQAABBQAAAC9kk1PwzAMhu/9Fb53WbVJXHYabAUh
PkX5OGetu0XK4il22fj3OO0mIQQnJE5VHPt5X7+pMQaKV/LdFrlYWrFF+VYVb7i6cXL8XHTON8UT
erSMhbcf1IkRZDERufPCRUSJTudby1LgOwatKY/tGs2OopjaU0CDhx3Wgs1YDpLlef5vwraWzvpe
dj4HMxlNppBPRlOYzzPzrECGdxsddQwdI9Qqx7DfYIA078Ia7gboozJ5nOWX59e3M3h2W2xATcHe
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
ZmFzdC9oaXN0b3J5L1VUCQADio73VG2Y91R1eAsAAQT1AQAABBQAAABQSwMECgACAAAADXhkRv4n
OOA1AAAANQAAAEMAHAByZXRyaWVzL2Zhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5vdGlmaWNhdGlv
bi1zdXNwZW5kYWJsZS1hY3R1YWwudHh0VVQJAAOKjvdUio73VHV4CwABBPUBAAAEFAAAAEZBSUw6
IFRpbWVkIG91dCB3YWl0aW5nIGZvciBub3RpZnlEb25lIHRvIGJlIGNhbGxlZAoKUEsDBBQAAgAI
AA14ZEbOP87OdwEAANYCAABBABwAcmV0cmllcy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1ub3Rp
ZmljYXRpb24tc3VzcGVuZGFibGUtZGlmZi50eHRVVAkAA4qO91SKjvdUdXgLAAEE9QEAAAQUAAAA
xVFNb9swDL37Vzzk6qhG2ltP6doMGNqiwWKsZ8WiawGKFYhUU//7UU6wZb9gEGAZJJ/eB40xaH7F
kA/EzZMV22zed8077Z+9XK5v2QfX/KRAlqkJdopZjBCLScQ5CDeJJHnF95alGTxLTFNztB9kOtsN
ZMYovvedFR9Hw5mPNDq7D2To60idkLuRL6nquv6PUmwn2YZZyHoNs1qu7lCvlrdYryvTKgVDBiu4
foDhYingmOiTRtEJwlbJ0Kd4gFYo+fEDhR8zP3xfhibYpP8uEGJCFyJrBlX9/eHHyz1afyAHdYaT
9VLwvQ7NvNNTHAkSsS/vhUCuQmXeRnDuOmJeQhPByYcAJoLVb0kDscdi+7DbLaDZsqrRyT6GEE/K
tJ+waDe7Fo9vr9uXTbtZ3FSmnCKbh3iCmU3OnmYX59bgHWnrj8ur1gV1jSj052ycd2cQ7OjUI0OX
p3tSKTOghPg3sQvyYrDPIUxbmzQveN1IylSU/iNfC78BUEsDBBQAAgAIAA14ZEaVZY452wAAAG8B
AABFABwAcmV0cmllcy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1ub3RpZmljYXRpb24tc3VzcGVu
ZGFibGUtZXhwZWN0ZWQudHh0VVQJAAOKjvdUio73VHV4CwABBPUBAAAEFAAAAFVQQW7DMAy7+xVE
ztv+MAy5dWiA5AOeLTcGXKuwnAb5/eSkaLeLYYikRHIiqYI624rMNYbobI2cBZ7bALdCd8pVGYTB
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
RkFJTDogVGltZWQgb3V0IHdhaXRpbmcgZm9yIG5vdGlmeURvbmUgdG8gYmUgY2FsbGVkCgpQSwME
FAACAAgALnhkRjQkurHaAQAANAQAADcAHAByZXRyaWVzL2Zhc3Qvd29ya2Vycy93b3JrZXItY29u
dGV4dC1tdWx0aS1wb3J0LWRpZmYudHh0VVQJAAPHjvdUx473VHV4CwABBPUBAAAEFAAAAL1TQW7b
MBC86xULX21acA89+OS0VougMRxUQnymqZVFhOaq5NKy+vqSsoMkbQoUORQCxBXJmZ0ZUkIIyB/I
hCP6fC1Z5sWuzHe4/6b5OnwK2tT5dzQoPeZGDhRYMHoWDn0w7HOH7HTEN9Jz3pN7ROevo1BkGc8s
jnGnFh05FnjuUDHWcz5zNp1O/7sAqThIM7ZfrUAsZouPMF3MPsBqlYmq1R4SO6gW1WOsW4STdJqC
h+ARVFThQToKtgaPttb2ACN7ZxBSg4SJy4cWdqOGr4b20pSKOpx35HmD3ssDZtMvN7d3S6j0EWuI
pqCXmhNbQw4ssW6GNVkEJtinvsZgnUEmthZ8UCqyzCCGAb02JipBkPGdggBqYHJ/U5YTOF56xZ0N
GUN97LQfYFIVZQWft5v7u6IqJvNMpCchAE9oeX6xEZOwZIUNkV9Gtz/RERi0B26hb9HG1dFwioHf
g8djx0PM0snhbxzp/KS2MdOerumO0OfPF8CUbgpQwthz1FbrejyPfgmFc+SWcGtP0ui6ZMl4nVpv
N1CcFXasycJi8Sdf9PE7XTV0T/hUAqb6XRYciuQCZMPoXvG8VnBJ6m0JD9IEvETO4034EdAqfJPn
afEf3MQ/4uVdiRO/AFBLAwQUAAIACAAueGRGZYd6vkYBAADeAgAAOwAcAHJldHJpZXMvZmFzdC93
b3JrZXJzL3dvcmtlci1jb250ZXh0LW11bHRpLXBvcnQtZXhwZWN0ZWQudHh0VVQJAAPHjvdUx473
VHV4CwABBPUBAAAEFAAAAJ1Sy2rDMBC86ysWn5tArrmV1pRCTQI27VmRN7aIsuvqEdf9+kp2Qpo2
pZCLWGk1szPDVq124NF5UC2qXaxbhIO0moOD4BCUdOhAWg5Ug0OqNTWwD8brziB0bH3CxHbTwhvb
HdonwxtpSsUdzjt2vkDnZINCrAhcUCpe72DgAL02JlIiyHhaHcfwFrL1fVlmsJ9A8eeWjeEea9gM
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
TDogVGltZWQgb3V0IHdhaXRpbmcgZm9yIG5vdGlmeURvbmUgdG8gYmUgY2FsbGVkCgpQSwMEFAAC
AAgAPXhkRrPRg4w/AQAAeAIAADAAHAByZXRyaWVzL2Zhc3Qvd29ya2Vycy93b3JrZXItbWVzc2Fn
ZXBvcnQtZGlmZi50eHRVVAkAA+WO91TljvdUdXgLAAEE9QEAAAQUAAAAvZBLb8IwEITv/hUrrsFx
0iNSpVBBq6ovRFA5VD2YZEOsGjuyNzz+fR1IpLbce1rJnv1mZzjnIN6tbnfoxUySFPN1Lta4eVLU
j7tW6VIsUaP0KLQ82ZY4oSfu0LeavHBIToX9SnoSB+u+0Pl+8sD1couNdcTx2GBBWMZ0JBZF0f85
y4Jaqc++WQY8HacJROn4BrKM8VUgAtWSoAl6D9KU0LOgkAY8hoeXC20RaB7IgjUYhJZqdDHktW11
CY1ThmA0e3udj+BQo4EyyGIW3U8fnyewUjssIWSAg1SkzBYq6yAwVHWadbyA3WCw1BpLBowvpnk+
AdxT3Jxtb+HjE6SHocdBscQC1T6w+8jQya8+Q2eNNR6hcnYH63NA2Cv5M9qw9GDpDLloL2VcAStl
pP6D/S3tMGmSJMNhnvGuHMbZN1BLAwQUAAIACAA9eGRGAT5E2bcAAAA2AQAANAAcAHJldHJpZXMv
ZmFzdC93b3JrZXJzL3dvcmtlci1tZXNzYWdlcG9ydC1leHBlY3RlZC50eHRVVAkAA+WO91TljvdU
dXgLAAEE9QEAAAQUAAAAXY+9bsJAEIT7e4oRD2A5LVIKpERUCQhHoogoTr4htgK3p9vF8Pj4h0jE
7c43szNfVIM13pD8DxU+Blwl/zIrah+h7A8fVO3VrWRTmEAie1CsYS5QNXI5BaTcRsPibfP5vsC1
YUToscK57aqqlmBnRRr9r/g+wCt4S6yN4QHsWLPtGHCenmGg51qmJolKHLOcsR97omv9c8OHZy02
RkzoNGked2yjP81C/5FDyEtZln+l1A37nLsDUEsDBAoAAgAAAE54ZEb+JzjgNQAAADUAAAA1ABwA
cmV0cmllcy9mYXN0L3dvcmtlcnMvd29ya2VyLW1lc3NhZ2Vwb3J0LWdjLWFjdHVhbC50eHRVVAkA
AwSP91QEj/dUdXgLAAEE9QEAAAQUAAAARkFJTDogVGltZWQgb3V0IHdhaXRpbmcgZm9yIG5vdGlm
eURvbmUgdG8gYmUgY2FsbGVkCgpQSwMEFAACAAgATnhkRip6XEPyAAAAtwEAADMAHAByZXRyaWVz
L2Zhc3Qvd29ya2Vycy93b3JrZXItbWVzc2FnZXBvcnQtZ2MtZGlmZi50eHRVVAkAAwSP91QEj/dU
dXgLAAEE9QEAAAQUAAAAvY7BTsJAEIbv+xR/uJbpBhMvnIoBEqNRY4mch3ZoNy7dZncq8PYW0sQ3
8PRfZr7vIyLYr+CHkyS7ZmW72Zd2L4cXp9M8Dc7X9lO8cBLr+RoGJZWkFCUNXpONotGN/0dOas8h
fktM09LITdxIH6JSU5FceqlU6lwvarIs+1c5Vzqwv6uLArSYPyJbzB9QFIZ2IxPasmJiIClfEYWr
lg9e8OMYEw83YMpRtmHwNfroOsVs/f62meHcSoc6dJKbbLt6fl1i505SY+zGmZ26rsExRHRB3fG6
Hg+hAQdBxd5LbWDoY1WWS+zvGXDpryE3dJMYMr9QSwMEFAACAAgATnhkRplhTNxmAAAAdQAAADcA
HAByZXRyaWVzL2Zhc3Qvd29ya2Vycy93b3JrZXItbWVzc2FnZXBvcnQtZ2MtZXhwZWN0ZWQudHh0
VVQJAAMEj/dUBI/3VHV4CwABBPUBAAAEFAAAAEXMQQqDQAwF0H1O8fEAc4DuBLttCyO4jjV0htoZ
SWKlty+6cf94vZjDEzu2qm9Rgzn/oMLPxOMs+GbGR8z4JViqugXEVNd5wqK5OJrufrs22JIUTLVI
IHq0MV4wHB+ynVmgHRP9AVBLAwQUAAIACABOeGRGYylb4RUIAAB3GwAAOwAcAHJldHJpZXMvZmFz
dC93b3JrZXJzL3dvcmtlci1tZXNzYWdlcG9ydC1nYy1wcmV0dHktZGlmZi5odG1sVVQJAAMEj/dU
BI/3VHV4CwABBPUBAAAEFAAAAL1Za2/juBX9nl8hJOgGWESSHdvT2M64mMkDW3S7XTSDzseCkiiL
E0r0klRsT9v/3suXTMmSk6JpJ5hIfN/nOZfKbSFLujq7LTDK4FFiiYK0QFxg+fGylnl4cwndQu4p
Xp0tKKmer4LFCxFE4iz4x1kA/yTeyTDDKeNIElYtgopVeKmHEsYzzMOEScnKRTDe7IIM3nG2PPvX
mdnObpIyyvgiuBhN5noseiQU35M8t+MJSp/XnNVVFrqp+Y368Q8yJwhGSRZcZFlmxnJWyTBHJaH7
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
W4DRPQJLOz+hVJqdnbviIu9Hg9LDajjo6sdnWfSgiLovixttwJ4fQg6KpvfN2af/eXHk6wc4+Nx4
IuQfjiuwesNmWBvxpFQmns708KYK9qth2AJleHdA2qm54R5KG25XmlGb+v5wIgbqzOh63sofPcvu
OyU/20Pys12Sq+/RVpana4lleyVEnljf/ZpTPhUdnfxFAbOg/6ePoHyax6EFhgwdNeWw0EZ7QBvt
Z5SLd8Dkd8oe/njc8fvaJP7K+xzC6kuQHbY0PxSt/X0qDH/wYmL3fBMSuv3uwant7+OV/vDZ5JZS
a3r3u7voHWD1kR+/Dsn9fRzYP3s+zbt9v9PrdQ/D8y/eXI4OVCobTf2ofuP549u/FlzuDcuNgLcq
Vcuv2QT44wNDK5NASd/pKfkLhN7qdXrOrvfqZpKI6nj+txbr+t+Qxbr/FxbrfRUW+/pa69EBoqUo
+n2v1AtAkVt+8r54u9MSYrdbdRNWp6+eXu6Uh/2K4L3YIwWKOpjfgR27/mHsOPi67Nj9LDsOfod2
7B3GjsPddnxBM2cu8vdB56763+T/BVBLAwQKAAIAAABOfWRGy9hTAzIAAAAyAAAAPAAcAHJldHJp
ZXMvaHR0cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9iYXNpYy1maWx0ZXItc3RkZXJyLnR4dFVU
CQADZJj3VGSY91R1eAsAAQT1AQAABBQAAABGYWlsZWQgdG8gcGFyc2UgdGhlIEpTT04gc3RyaW5n
LgpFbXB0eSBleHRlbnNpb24uClBLAwQKAAAAAABgeGRGAAAAAAAAAAAAAAAAIQAcAHJldHJpZXMv
aHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL1VUCQADI4/3VG2Y91R1eAsAAQT1AQAABBQAAABQSwME
CgAAAAAAkHhkRgAAAAAAAAAAAAAAACgAHAByZXRyaWVzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9u
cy9sZWdhY3kvVVQJAAN/j/dUbZj3VHV4CwABBPUBAAAEFAAAAFBLAwQKAAIAAACPeGRG/ic44DUA
AAA1AAAAPgAcAHJldHJpZXMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9kb3VibGUt
c2hvdy1hY3R1YWwudHh0VVQJAAN+j/dUfo/3VHV4CwABBPUBAAAEFAAAAEZBSUw6IFRpbWVkIG91
dCB3YWl0aW5nIGZvciBub3RpZnlEb25lIHRvIGJlIGNhbGxlZAoKUEsDBBQAAgAIAI94ZEaVDHeR
PwEAAFUCAAA8ABwAcmV0cmllcy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L2RvdWJs
ZS1zaG93LWRpZmYudHh0VVQJAAN+j/dUfo/3VHV4CwABBPUBAAAEFAAAAMWQwU7DMAyG730Kq9cu
jcqRUwcrEmKwiVbsnDbuFuElU+PQ9e1J2ZDGE6BIieT8v/35F0KA/HAUjujlSrGS1a6WO2xfDF+f
h2BIy3ckVB4lqckFFoyexYA+EHs5IA8m+g/MJzn/eGkdm950io2zXhLuVTdJ7UJLKPzBjQLPJ+wY
dc5nTrIs+x8K1XFQ9MNQliCKRVFAVizuoCwTUaPVxu7hxgC3HfM8T7Kn5fP6HhpzRA0RCUZleDb1
briIp5WzCOygRegUEeoEErGx4EPXofcLiKvAaIjAI4KK97wGuB7S7bKuU4iheLXHqOwdkRvjpHaC
tKnqBh43r9t11VRpnoj5zI7YzGo35iO2n4bfbjMA40Fjb2wM/ip2cUl/ioECfqFlOCirCYdf1ovo
ytoHommrBh8RYiceAs5D/5DEwjdQSwMEFAACAAgAj3hkRjF7U3awAAAA+gAAAEAAHAByZXRyaWVz
L2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZG91YmxlLXNob3ctZXhwZWN0ZWQudHh0
VVQJAAN+j/dUfo/3VHV4CwABBPUBAAAEFAAAAFWOMW7DMBAEe75ioTrhHwJDXRILkD5AiUf74DMv
0JEm9PswcIqk2WowOzPlyPmCqHUVerWrNmQtnHgLhTV77507Z1jdNjJ7waEVjUVgRAh9dyaDJgzT
2zwPuHcqXKiTSUW0UcR6YFjGecHp/DG9j8s4dKf7wbspR22+0Xrj8vnn18CGSIkzRf9ktZfal4QD
9KBccA05Cu3YggjFJ/ObmarIMYXd+nv3lL2Sc/8SnPsGUEsDBBQAAgAIAJB4ZEaDkUAdewgAAF8f
AABEABwAcmV0cmllcy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L2RvdWJsZS1zaG93
LXByZXR0eS1kaWZmLmh0bWxVVAkAA3+P91R/j/dUdXgLAAEE9QEAAAQUAAAAzVlrb+M2Fv2eX0Ek
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
JmXjJbXPOgib7+Z5azM7iIxpzRRtiFlTh2HoxiwSiAIwgf8Zthjk6svmckJ7bbXHDvwVRrW2AlK4
vv/4j88z9EiLq0i/mjHSeE51VqMVpsoOGtvph6whxIV9cTbTj5tbqHK6WMcENSShUDKSuoGXbNco
CIDWTjvZPx2rMoe74MvGf9Hwp6+w+ekem/8/dX7j/Dx7g/z8tQQiThIg6RMEBQ5ImDGgdQKdrO7N
iEQ8Q9/9XnE1//Lx4cE+IdfowZqM6ysKXEvijRN7vHt4RDe//vzl893jnR0Ku1Z+E/XP36I8vQew
yV8V2MUbANNRAFFSpnwV2k75lyblISpRSjLYMH0fr//wVjrw0jWAiDzrjjo3X+MF8hXxHbBfvhV2
l7JZxdjmi/6X0FTbXYmKvAvu6V81oMejN0DWKljvA3P8Dgb8M0zV+TGdMbSf5t/V/wdQSwMECgAC
AAAAgHhkRv4nOOA1AAAANQAAADkAHAByZXRyaWVzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9s
ZWdhY3kvZXZlbnRzLWFjdHVhbC50eHRVVAkAA2CP91Rgj/dUdXgLAAEE9QEAAAQUAAAARkFJTDog
VGltZWQgb3V0IHdhaXRpbmcgZm9yIG5vdGlmeURvbmUgdG8gYmUgY2FsbGVkCgpQSwMEFAACAAgA
gHhkRj3Ghoh6AQAA4wIAADcAHAByZXRyaWVzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdh
Y3kvZXZlbnRzLWRpZmYudHh0VVQJAANgj/dUYI/3VHV4CwABBPUBAAAEFAAAAL2RQW/bMAyF7/4V
RE4rHFlxMWBDTunWtBjWrcFirGdFpmMhjBSI9FL/+0lGU6yn7TQIkCCJeo/vk1IK9M9AwxFZ3xox
ev201U+4++rkZfk0OGr1DyQ0jJrMGAZRgiwqIg8krCNKdOl9L3LS+Ya1D+I6Z4244FkT7o0dNf5C
L6zw+YRWsK3kWYqyLP97A8bKYGiyX61A1fP6PZT1/BpWq0I1vWPIGkAhHBi6EEF6hNbxyYjtIXTT
ftKC3viWMHJVlHc3Xx6W0LgjtpA6hLNx4vx+Epi6GW+DR5AAOwRriLAtoFCPHniwFpnnkJLB2REB
I4JJc06VDWebm+12BokRmz2myi4QhXNy2o0wa9bbBj4/fts8rJv1rCpUHvfR+Mn/hPHomBOH7J0R
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
n8C98vHboh8O9gmfC/KN4Q/3Bd9m/2zJ2Pqz+o1+qlxeVkvyNsBP/6zJcbiPctoofm8D8y3K3h9h
Pa2HvuLBZUr/B5H/A1BLAwQKAAIAAABgeGRG/ic44DUAAAA1AAAANwAcAHJldHJpZXMvaHR0cC90
ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9zaG93LWFjdHVhbC50eHRVVAkAAyOP91Qjj/dUdXgL
AAEE9QEAAAQUAAAARkFJTDogVGltZWQgb3V0IHdhaXRpbmcgZm9yIG5vdGlmeURvbmUgdG8gYmUg
Y2FsbGVkCgpQSwMEFAACAAgAYHhkRgLsUR7cAQAAugQAADUAHAByZXRyaWVzL2h0dHAvdGVzdHMv
bm90aWZpY2F0aW9ucy9sZWdhY3kvc2hvdy1kaWZmLnR4dFVUCQADI4/3VCOP91R1eAsAAQT1AQAA
BBQAAAC9U11v2jAUfc+vuOKFVuCYsIdV7IVuZNO0tqCC2mfjXIiFiZF9s5B/v+uUdvRtWtfJkh1f
389zToQQIB+crfcY5EyRkvnjUj7i+oeh0/G5NraQ92hRBZRWta4mQRhIeAy1pSA9kjccXxIdZHwJ
snJkNkYrMq4K0uJW6VaG0jUCjwfUhEVKR0oGg8F/Lq801cp2xadTENlwPIIB7zCdJmJVmgAxA1jn
dgE2zgOVCIUJB0W6BLfp7pyUcwH+xIqgVFVh0afJ4Ov195sJrMweC+AuoVGGTLXt0nQdtTNXIZCD
NYJW1mKRQCLmFYRaawxhCDwdNMZaCIigeI+TxbK9xfVy2QPGKagtsufGWesarrRuobfKlyv4Mr9d
3OSrvJcmIq4YwcmqwjVpg+udobtzWFJdot4t0O9NCGy4uASePvuDOI+K8Nx20e8PoU+GLEIWP9eu
aPuXnxgsj4zTUeMh+kHuvfMTWKKuvaH2dJ3NbyF/8cmuuP9vXlUddoeX/iJukeKJlNn4YzrilU2u
RqPRX076HOeqSC8L6zWfzF54JunJkVgd6W/vKJUnSxRDImZYte/b8fit3Hz4J9zcY0DqyGF0zsYN
b5Tc6SfY1Na2C+UDazti7GuMan4lcTb8AlBLAwQUAAIACABgeGRGDEsqZFEBAABkAwAAOQAcAHJl
dHJpZXMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9zaG93LWV4cGVjdGVkLnR4dFVU
CQADI4/3VCOP91R1eAsAAQT1AQAABBQAAAC1ksFuwjAMhu95CquXgoRKyw5D7DSNapcxqtEXCKlL
I0JSJe66vv0SQBucJo1NkaLY+m35z+eykQ4IHYEyZu+gNhaoQaikazmJBkx9jI12jekB31ETNFxX
Cm3C2FqD64RA5yYwmA56qRQ4ROD+thJdqI+Kx80mgoNX8R16ZW2UMj1WsB0gKvNNCU/rVfGSl3nk
e7Ig9510Zfqkx+1e0qshWUvBSfo5EtGg2BdoD9I5nxiNwXvIfi6zyAkvc6M4nkBMkhRCFp5bUw3x
+ME7tujNfghsgw5ya41dwAZFZyUN53C5XkH+pcnmCXu2XJPUO2i/pgMy0BC1i+k0m90nqT/ZYp6m
6e9snsuMDoAUH66JQM8dCK4UVicdebzJtziwPmUCTbZEPfzrtLMbodz9BZQ3dEhHKv5jLry6mxbt
vPZ1p9RQcOv8NofftR0ydrXSjH0CUEsDBBQAAgAIAGB4ZEYaGKq9VgkAAMEnAAA9ABwAcmV0cmll
cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3Nob3ctcHJldHR5LWRpZmYuaHRtbFVU
CQADI4/3VCOP91R1eAsAAQT1AQAABBQAAADdWltz27gVfvevwMTTeHfHJHWxHVly3Elsue002WTW
nu5jByRBETFIaAnIktL2v/fgQgqkSNk7I23SJpOQAA6Acz/foX2VyoxdH12lBMfwyIjEKEpxIYh8
e7KQiTc6gWkh14xcH40ZzR9P0fiJCipJjP51hOCPJCvpxSTiBZaU52OU85xM9FLIi5gUXsil5NkY
9ecrFMM7iSdH/zkyx9lDIs54MUbHveGlXvPvKCO3NEnseoijx1nBF3nslaTJSP11LzI3CM5ojI7j
ODZrCc+ll+CMsvUYZTznYo4jy2CGixkFlvskQz0zNecgnJajIAwkeiKaobTf4HQ4HLacL3AuPEEK
mjiLgn4l+g73Uo+RRI5Rzz8v52Mq5gzDITQHzVgOlzSWKWzu9f5k+cNxTPNZtdPwZk2j3urWsezS
PAWmZEWe8idSNCQ6Pz+fdCmbEKMGX9nkA9wl7OaEcQxiFHSWyrrlFNUNiI9BlvIqDqqnEkTsNUSW
OGTEiwhjNSk9fW5NS8sUpPO0DZWrLQs833B2TyJlu06n0ZvrLtN0F+uzpd7BoXrzlblhupqDeeF8
EI2cIl89mhJ2sidoTMK1+h9pVt8zHj1+xoX0QdRxQgshvSilLO5UrLruHvaf7jqsIBmY9vSZ++wd
pfqNw3mhIqm53XnpdeAtkkaYeZjRGcSG5C1iFUR5+l9xHjNSqsOeo1SoxikxBt34c7QohDKNYrsZ
gTgE6yxKi8GdleOY4NHs7eKi5ufb7jAryHrScEz//Dl7GRUjX/Jn1ewnBc8ayrb5Ud2htP7zIgtJ
Ad5EXO8ysyXj22nUeu3lZS0BluHSlgbLSD47O2tNN671qxyjDjo3IWDCoEr41g+se7a5iGG35k5D
m7AcwbWIrQnHFIlOtexIUvNCRadi0yqwzCbWa0pBarEKmzwTrXoJ9KmHIEdB8KOnJgxDNMMzUrPM
GA0qhYcMKy0qwghSA/AArNg31JR7Y5XR2WVn7k1IskkAyq3gxKo8OtHcsjVO4vpWMLboJr8kl5Nd
Nb06yWYZlw8bFd3lOo63DkAxYd07yOWz3AQ/ofvFfM4LCZW2sJ4MSs0ykkuBfgrgPryQKTf6NtVY
gRnwegl+GpWW0hs0TUf9r2gUMxhcQhOX6eyidGyVbjBjNyUHrdQDU8syvPIa5T0DXGCnBr2q7jSv
Br3vvKeK7Cqka9e08enzOTFl01uS8JFKTxYq7IwmDOPIH4iJI8aZFfpYSCwX4v0ihBpe1UNfRU8r
O2qL5JyFuKivl1cnjOgI3Sxk/Gs1WyWnoYlji6PUa4kW1Hs3JOzKHDuh3MYtEroi5hybj3t1kXys
MYgJs+0qvqSQC4qGq1VnfvVoHpMVJKkdom0KocNCm1w2GdXK28hmsVyxaQO2tTTBfSFfPcvoxYbR
vnHisgiZkWbWvlcVzA4rhitkVruaJgXODIeNOKnDCCdGbjoy7bZu1oA1+dLWesIAOAJmfkFhuri8
27iXrckdi1oR9bUKRsbb8LgOju0ZRn3bPtwJCeIyz5pr3pVJoWx1eu7qQ1kjGz3JxZsyoW2zuSNI
nG5HZNhgeTfn5ryA6UlHlrHyKwgm2i43cpRx3WsjYTgkbIwTiLDTre1mXh+iC3IOor5C/0avJkdV
IXbKd3M3w4DQeeLJ9Zy0HvWqkyNL2GhxU8J0gqzAKFZgtKNGHWdEiBJ4dOq5zSxOdNzrRP2SUggl
BgDRE+ULcVPNAJj9SvIbp1i21fkScjRLjFtcVC4Hr9WeUOZ2O7aeaJPIsKyBL+LGugZgHCJVTNTK
hYV9HaDPrbPhAqIqd/NOWd9j+jROeGR1yBdS5Qs3/EK20JXELoG/JMALVLB+KYhbLPUpgGEeUmJu
CmylnQH/SgbJkYS10FBbVxPoiWKVk+VH6xPAbFjwJRgckECKYa8FRVT6CgRVcpydWxRfQRE7LrOD
ArLqX69eRMtPOk2Mn9EYuiwjmDKQKJvvlooCOIwL/AS6Bw2QRl1xO72tUuf1/aGBTJuPH2X1b7HB
8e3trRPSx6O727vzu9b8BOCy3Yun02kb12OSzSFD1YxvYVqD0odX4LQW+dPLUW9k81bECC7+qeFB
2QqoGd02pYrkKrBf3a5EVNA52LSI3r5KpZyLcRDgL3jlzzifwaY5Fcp19VzAaCiCL78tSLEO+v6Z
P7ADH6Cl/0W8uoZz9XnXqH5yxGPiKRuSJdD9GSytjPn2bORsAabsh8KQx2t4QDwA31iItydlJ6C+
F6b96+AfYE/IWcEtljiY/nof/ErCv1NpH+8XlMXBL1B3sSABeAqo05MEMiy07wsmRVAQWVDYryQO
1IoIci5pAu6n4VXAyAxH60CkfOkBlllg5suVBA77dcac70In2yu6X++aV308Mq1Kg0Q1Maj+/WdD
B8klLwn1B4ANqji57oM2Yf26RgVx7tK8zkMxn7QSQsE+ub6Cvun6Ib0K1FMPqHAG0A24Q4kY5492
RvdJZtrdT3TEYndX5K4jnqDGBrABqB6RJ5Uy3SXAFc6IQStgh0YecCJQZPno1juE+vNKt0Q7Nb5D
m/wFpjEah5pyfffubx/G6CpQ73riwXmnGYmdIeQHZyTREkOmy2dmzhhBveXcpaLJ+pbnzgxxb5Mu
LQprZJEzwswZsIqr57TvZCSQ1yxb2t8dMyKFZvR58z1rusELrDbYYbU/UuY954nhHvLEpxyQQBQB
SjhFkGEBBTAGuIIAlFbgkAgV1q9/W3A5+fzu/t68IYs0YU/CVY8EfVG4tmQP0/sHdPPp4+cP04ep
mfKbWt6L+Gf7SJOHYOz8e2XsYg+MKS8AL8ljvvQNVP/Zrbl+lBLwdlJkVCh08MOPiArUP4g4b/4I
caA5lsSd++H1MbRn+r9TpB+SSoDefXdKgR/98uMEimJBoAiuIjLXP3maFoXCegA4FgU0s3Z4++kj
mlY0/dFhYma0B5X9BRpyVajQvLKy6kIUCgPY2R+88Xvwtz8e9Xq9gwhx+a3c+DDi9Hv7kofntqkq
IZf+CVcByEIgaMl0oT+EAP19CSBTaFQ2UlBRzigceRjeB3vg/Zbk628ZEP3ht4qIwWHkOfuuMvvw
fyGz9/eBOn4hgkid2yFbOO4sDsPy/xke6e8NkFhIniwYW39Wv2oV61xYLMhhGB99r4i1v49aX+tI
DsLmoHcABf6eVrTx0N/ergLzm3v/BVBLAwQKAAIAAABveGRG/ic44DUAAAA1AAAARwAcAHJldHJp
ZXMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS93aW5kb3ctc2hvdy1vbi1jbGljay1h
Y3R1YWwudHh0VVQJAANBj/dUQY/3VHV4CwABBPUBAAAEFAAAAEZBSUw6IFRpbWVkIG91dCB3YWl0
aW5nIGZvciBub3RpZnlEb25lIHRvIGJlIGNhbGxlZAoKUEsDBBQAAgAIAG94ZEaTrz6wbwEAAL0C
AABFABwAcmV0cmllcy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1zaG93
LW9uLWNsaWNrLWRpZmYudHh0VVQJAANBj/dUQY/3VHV4CwABBPUBAAAEFAAAAMWQ3U7jMBCF7/MU
o17tKnW95ZKrskuR0LJQ0QiuXWfSWHXtyjMm5O0ZhyKVJ1hFys9kjs93jlIK9Ev0+Yikbw0bvX7d
6lfc/XV8fvzOzrf6GT0aQu3NGDMrRmKVkLJn0gk5OdH3zCdd/pAOkV3nrGEXA2mPe2NHPbjQxkFR
L7cYlPXOHhS+n9Aytgt+56qu6/+MYyxn4yeY1QrUcr5cQr2cX8FqVammdwTlRLA92oO894bBANnk
TjI0AeIJA3yeTDD08sE9QiZMMBkQxCCKIChvCJdci6q+u7l/uIbGHbEFiQWDcezCHrqYPlfH2xgQ
OMIOxc17bCuo1FMAytYi0RykDrH3HgixkGGpAmIHs83NdjsDKZbMHmWzi97HQZx2I8ya9baBP0//
Ng/rZj1bVKpcRQED7g6OHy8LXEzpN5iOjkgGP36C9PLrLJhiFmoJepnvi7HL3o9TT+Jtzl2dtZcr
G5NINkrjKWPh+QYpgw9QSwMEFAACAAgAb3hkRriy9xHUAAAAUAEAAEkAHAByZXRyaWVzL2h0dHAv
dGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvd2luZG93LXNob3ctb24tY2xpY2stZXhwZWN0ZWQu
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
7Br7Qo5QyDo89lGNkqgJJNGp2EAaOM1/iG36zg4YhAyF0AdDo1Lw6IzUgQc17A19ppbGgWqlZqmj
Znme/8sSWGtEN69QFGAuL1aQT6UoMnO7ea42jyU8lVV1fV+uwbEnWK2hOnrFsZzAa3jzP4cAN+SV
W6YAi/nbRZb/BXL1i4HXAwtMx6Z6QAX85vjY7ZIRfQOzE1J8gnuC5B4C+wnYJhlhDuNkYp8EoSSh
EkgfQ03QsiOIwn4PUzJn58vsC1BLAwQUAAIACABPfWRGJ/YcUo8AAAC5AAAAPwAcAHJldHJpZXMv
anMvZG9tL3BhcnNlLWVycm9yLWV4dGVybmFsLXNjcmlwdC1pbi1ldmFsLWV4cGVjdGVkLnR4dFVU
CQADZZj3VGWY91R1eAsAAQT1AQAABBQAAAAtjDEOgkAURHtOMZ3aWFjSGUNsVIrVA3xhgJ/Ah+wu
Bm/vojZTvHl5p/LmykuBa+Hc8Vzk6NWIQw73tihL4f3oczyMy8QqsobWtKiN0mPD9d1k904DIkNM
20mE/CI2D89kidX4ihgYgrREsievttaahAWT+MC/pJZAYEISiTDOviIa7Yk5qLXgS/rtbp99AFBL
AwQUAAIACABPfWRGq5GMi98HAADbGAAAQwAcAHJldHJpZXMvanMvZG9tL3BhcnNlLWVycm9yLWV4
dGVybmFsLXNjcmlwdC1pbi1ldmFsLXByZXR0eS1kaWZmLmh0bWxVVAkAA2WY91RlmPdUdXgLAAEE
9QEAAAQUAAAApVlrc+O2Ff3uX4Gxp3GbMUnJlra25FUna8vtTPPoVNvmYwckQRFrkGAB0JY26X/v
xYsiKVJ2JtnJkgIugHOf54J7n6uCrc7uc4JTeBREYZTkWEiiPl7WKgtuL2FYqj0jq7MFo+XzFVq8
UEkVSdEvZwj+U2SngpQkXGBFeblAJS/J0kzFXKREBDFXihcLNK12KIV3ki7P/ndmt3ObJJxxsUAX
k5s7Mxc+UUYeaZa5+Rgnz1vB6zINvGh2q/+0D7InSM5oii7SNLVzGS9VkOGCsv0CFbzkssKJA1hg
saUAeUoKNLFDFQfljB6CMNDohRhA+bSH9ObmZmB/iUsZSCJo1pqU9CsxZ7QPDRjJ1AJNwrkfT6ms
GIZNaAmWcQhfaapyWDyZ/MHhw2lKy22z0mJzrtFvXe84uLTMAZRqxHP+QkRPo/l8vhwzNiHWDKH2
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
is4YtFEpVg8wwgCTwEB2ZyPe3kVtfvH+yzuWN1deClwL5w7nIkcvytjlcG81mgvvR5/joTxPXBnX
kJrVpBH22GPFy7/K7p0EGAdL25GBfhmNwzN5pDW+IgYOgVpGsicvuvSahAkT+cB/STSBwAmRMcIY
fcVopGfEINpC+YVT1Mpk1PVmm30AUEsDBBQAAgAIAE99ZEbuazyUDgEAADICAABDABwAcmV0cmll
cy9qcy9kb20vcGFyc2UtZXJyb3ItZXh0ZXJuYWwtc2NyaXB0LWluLW5ldy1GdW5jdGlvbi1kaWZm
LnR4dFVUCQADZZj3VGWY91R1eAsAAQT1AQAABBQAAADFUMtOw0AMvOcrfCsobFc8TjmFR+DAoxIB
enYTtzXaOtGuV6R/zya0/AAHLrY0Hs/YY4wB+9G5uKNg71DRVsvaLmn1yHpoN5Fda1/JEQayDvdd
VKMU1HgK0WmwntRz2v8Mtu12tkcfyJD3nTc0KHlBZ0LjuVfDYoS+zH2URrmTNO+pUWrnOmiW5/m/
HoONRnTTKWUJ5vzsAvKxlGVmbhcv9eKpgueqrq8fqgIcC8FlAfVeFIdqNCjgXY4PAbckymsmD7PJ
fpblfxG5+pWBty0HGJ9OdYsK+KMjcbdKRJQWJiakGANuCBK79yyj4DrBCFMoBxJLAgIlCJUgdNE3
BGt2BDGwbCAlBMeETk7n2TdQSwMEFAACAAgAT31kRsa0XQmUAAAAwQAAAEcAHAByZXRyaWVzL2pz
L2RvbS9wYXJzZS1lcnJvci1leHRlcm5hbC1zY3JpcHQtaW4tbmV3LUZ1bmN0aW9uLWV4cGVjdGVk
LnR4dFVUCQADZZj3VGWY91R1eAsAAQT1AQAABBQAAAAtjDEOgkAQRXtO8Tu0sbGjMwZtVIrVA4ww
wCQwkJ3diLd3UZtfvP/yjtXNVZcS19K5w7ksMIgy9gXcWwMtpfeTL/BQXmauAzeQhjVIK+yR8/rm
2b0XQ2ALaXsKoF9E4/hMFmmDr4iRzahjJHv2omutTZgwkzf+S6IJGCdEgWFT9DWjlYERTbSD8gun
qHWQSTfbXfYBUEsDBBQAAgAIAE99ZEbR44tv5wcAAOsYAABLABwAcmV0cmllcy9qcy9kb20vcGFy
c2UtZXJyb3ItZXh0ZXJuYWwtc2NyaXB0LWluLW5ldy1GdW5jdGlvbi1wcmV0dHktZGlmZi5odG1s
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
LzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvVVQJAANomPdUbZj3
VHV4CwABBPUBAAAEFAAAAFBLAwQKAAIAAABQfWRGpfvW5U8AAABPAAAAXwAcAHJldHJpZXMvc3B1
dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0
b3JzL1M3LjNfQTMuMV9UMi1hY3R1YWwudHh0VVQJAANomPdUaJj3VHV4CwABBPUBAAAEFAAAAFM3
LjNfQTMuMV9UMgoKUEFTUyBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBpZGVudGlmaWVyIDQgJ2xp
bmUnCgpURVNUIENPTVBMRVRFCgpQSwMEFAACAAgAUH1kRpLc50HlAAAA4QEAAF0AHAByZXRyaWVz
L3NwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJt
aW5hdG9ycy9TNy4zX0EzLjFfVDItZGlmZi50eHRVVAkAA2iY91RomPdUdXgLAAEE9QEAAAQUAAAA
zY8xT8MwEIV3/4rbOgTnKEVUYkopmQiiwqEdLZNcJQvHruwzSv89CaISIyPLnfTpPb33pJSA++Dy
QAkfDRusDwoP9P5k+ec9ZOt6fCVHJhE6cw6ZJVNiGSllxwkjcbSTP50ye/uB2+CPIQ7Gd4TXa93Q
aDvj9IQ/ybMNPuG6XOnGetItxcF6wyEmVDPdrMqlbm8kjSfqmPqSRxZFUfzTmqbjbNx3yaoCuby6
g2I+VSXgt1CAkLuNUqDOns1YxxjiPbz5y0yw/Rx6tBRh4abIhSj+qr+9OEBAW6sWti/Pu6Zu6wl8
AVBLAwQKAAIAAABQfWRG/QzwJU0AAABNAAAAYQAcAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5j
ZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMuMV9U
Mi1leHBlY3RlZC50eHRVVAkAA2iY91RomPdUdXgLAAEE9QEAAAQUAAAAUzcuM19BMy4xX1QyCgpQ
QVNTIFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGlkZW50aWZpZXIgJ2xpbmUnCgpURVNUIENPTVBM
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
QD4AbiTEx0t3E1DfC7Phffgv8CfUrPARSRQufl2Gv+Lor0Tax+c1oUn4D+BdJHAIkQLm9CWGCgvX
9zWVIuRYcgLrRbmWBXkNoaSmij6KGIeDDy9f8EYF4gsMv0FOqIYr/BCMXtTt4uUZc1AXScZFuFSj
n0bB8OX52oeeZ41oIDcSNBk2Fah9P7rcn9H3+r5xdd/3RAYNeNISUXC8xnci/T0VuNdJ6C8Eu7bj
8n4I5ob5+4YUFILjMkDml/d1fa0UuA0g/WFg1ycAu+4H1gajH3VItZRQ0np6H/hpzjD3y6POqMkd
VH10guo/FZEo5/36f/20XHrLLZy8WXCuCsI/C7wpTeNJEhXEKQFIP11Ag6A21i9HrdbUG+rjcaWt
0EGND2jDTjDN79L4Dgj7fuzdher5O9X/kUHzozJ4fILZxqcnyh8DMzkBzKQfzPNi+ew9/P2Xr18W
z4sfi+zmBGQ3/5960npoNgNG0P8W9j9QSwMEFAACAAgAUH1kRmQmKyF5AAAAhQAAAF8AHAByZXRy
aWVzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjNfTGluZV9U
ZXJtaW5hdG9ycy9TNy4zX0EzLjFfVDMtYWN0dWFsLnR4dFVUCQADZ5j3VGeY91R1eAsAAQT1AQAA
BBQAAAA1y7EKgzAQAND9vuI2N6GkEMgW5OiiVbh0lqBnOdAoaQr279ul4xte09+5bwk7YvY3crhq
ErTWIX9SiSflvGeHjyTnIVORGXWWVHRRyXjFatq37ecK2NZm9Ka+jMEADJ4Z6V+OmF+anrhEXd9Z
AAJxwKbvhpYCAXwBUEsDBBQAAgAIAFB9ZEYQE9cU/AAAAB0CAABdABwAcmV0cmllcy9zcHV0bmlr
L0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMv
UzcuM19BMy4xX1QzLWRpZmYudHh0VVQJAANnmPdUZ5j3VHV4CwABBPUBAAAEFAAAAM2PMU/DMBCF
d/+K2zoE11SpFClTQokYCBThQsfIJBdk4diRfUbpvydBVOrO0uVO96T37nuccxDvzsQBg7hXpER1
lOKIH4+a/tZd1KYTr2hQBRRGnVwkThiIewzRUBAeyevZH8ZIVn+JnbO984OyLYrbrKlx0q0yzSx/
oyXtbBDZOm1qbbE5oB+0VeR8EHJRy3S9aQ4px2nElrBb00QsSZIrxVQtRWV+IYsC+OZmC8kyioLx
3f5Z7usKniopy4cqBzNHQZblIE+W1FR573wOb/bcFXS3fO41eli1bhjma8WSf+VsL5LgEp0Bg5dS
SqjOrlH5oO0n9Eqb6JH9AFBLAwQUAAIACABQfWRGCFiScHcAAACDAAAAYQAcAHJldHJpZXMvc3B1
dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0
b3JzL1M3LjNfQTMuMV9UMy1leHBlY3RlZC50eHRVVAkAA2eY91RnmPdUdXgLAAEE9QEAAAQUAAAA
NcuxCoMwEADQ/b7iNjehZBCyBTm6aCNcOkvQsxxolJiC/ft26fiG1/oH+46wJ2Z3J4urJsGmscif
VOJFOe/Z4jPJdchUZEadJRVdVDJW075tP1XATW1GZ+rbGAzA4JiR/uGI+dT0wiXq+s4CEIgDtr4f
OgoE8AVQSwMEFAACAAgAUH1kRhO5JA3oBwAA0hkAAGUAHAByZXRyaWVzL3NwdXRuaWsvQ29uZm9y
bWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9ycy9TNy4zX0Ez
LjFfVDMtcHJldHR5LWRpZmYuaHRtbFVUCQADZ5j3VGeY91R1eAsAAQT1AQAABBQAAACtWWtz2zYW
/e5fwbGn9UzHJCVLji3J0U5iy9uZpo9ZZduPHpAERcQgwQVAW0q7/30vXhRJkbI72WYaUsAFcO7z
XDC3mczp8uQ2wyiBR44l8uIMcYHl+/NKpv7NOQwLuaN4eTKnpHi68ObPRBCJE+/PEw/+k3gr/QTH
jCNJWDH3ClbghZ6KGE8w9yMmJcvn3rjcegm842Rx8t8Ts53dJGaU8bl3NprM9FzwQCi+J2lq5yMU
P204q4rEd6LpjfrTPMicIBgliXeWJImZS1kh/RTlhO7mXs4KJkoUW4A54hsCkMc490ZmqGSgnNaD
YwoaPWMNKBt3kE4mk579BSqELzAnaWNSkK9Yn9E81Kc4lXNvFFy58YSIkiLYhBRgGYvwhSQyg8Wj
0XcWH0oSUmzqlQabdY16a3vHwiVFBqBkLZ6xZ8w7Gl1dXS2GjI2xMUOgfPIJzhJ2cUoZAjU42WSy
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
FAAAAFM3LjNfQTMuMl9UMgoKUEFTUyBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBpZGVudGlmaWVy
IDQgJ2xpbmUnCgpURVNUIENPTVBMRVRFCgpQSwMEFAACAAgAUH1kRgT9xVvlAAAA4QEAAF0AHABy
ZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjNfTGlu
ZV9UZXJtaW5hdG9ycy9TNy4zX0EzLjJfVDItZGlmZi50eHRVVAkAA2eY91RnmPdUdXgLAAEE9QEA
AAQUAAAAzY8xT8MwEIV3/4rbOgTnoEVUYkopmQiiwqEdLZNcJQvHruwzSv89CaISIyPLnfTpPb33
pJSA++DyQAkfDRusDwoP9P5k+ec9ZOt6fCVHJhE6cw6ZJVNiGSllxwkjcbSTP50ye/uB2+CPIQ7G
d4TXa93QaDvj9IQ/ybMNPuG6XOnGetItxcF6wyEmVDPdrMqlbpeSxhN1TH3JI4uiKP5pTdNxNu67
ZFWBvLm6g2I+VSXgt1CAkLuNUqDOns1YxxjiPbz5y0yw/Rx6tBRh4abIhSj+qr+9OEBAW6sWti/P
u6Zu6wl8AVBLAwQKAAIAAABQfWRGOI6OgU0AAABNAAAAYQAcAHJldHJpZXMvc3B1dG5pay9Db25m
b3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNf
QTMuMl9UMi1leHBlY3RlZC50eHRVVAkAA2eY91RnmPdUdXgLAAEE9QEAAAQUAAAAUzcuM19BMy4y
X1QyCgpQQVNTIFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGlkZW50aWZpZXIgJ2xpbmUnCgpURVNU
IENPTVBMRVRFCgpQSwMEFAACAAgAUH1kRnIG3LnoBwAAExsAAGUAHAByZXRyaWVzL3NwdXRuaWsv
Q29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9ycy9T
Ny4zX0EzLjJfVDItcHJldHR5LWRpZmYuaHRtbFVUCQADZ5j3VGeY91R1eAsAAQT1AQAABBQAAAC1
WWtv47gV/Z5fISToBlhEkp+Z2M64mEkcFOhsO6jT7seAkiiLE0nUklRiT9v/3suXLMmS7cVOd7Aj
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
TzqjJndU9fEZqv+UB7xY9Ov/9dN67ax3cPJ2xZgsCP/M8bbQjSeJZBDHBCD9dAUNgtxYvZy0WlNv
qI+nlTZCRzU+og09wzS/S+N7IOzlxLn35fN3qv8jg+ZHZfDkDLNNzk+UPwZmegaYaT+Y59X62Xn4
+y9fv6yeVz8W2e0ZyG7/P/Wk9VBsBoyg/i3sf1BLAwQUAAIACABQfWRGkN5iknkAAACFAAAAXwAc
AHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19M
aW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMuMl9UMy1hY3R1YWwudHh0VVQJAANnmPdUZ5j3VHV4CwAB
BPUBAAAEFAAAADXLvQqDMBAA4P2e4jY3h6ZgyRbk6OIfXDpL0LMENMo1Bfv27dLxG76677hvCFti
dneyuMYkWN0s8iflcJLqrhYfSc5DpiwzxllSjksUxSsW075tPxfAVWlGZ8rL6A3A4JiR/uUI+orp
iUuI61sFwBN7rPt2aMgTwBdQSwMEFAACAAgAUH1kRoKrJhf8AAAAHQIAAF0AHAByZXRyaWVzL3Nw
dXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJtaW5h
dG9ycy9TNy4zX0EzLjJfVDMtZGlmZi50eHRVVAkAA2eY91RomPdUdXgLAAEE9QEAAAQUAAAAzY8x
T8MwEIV3/4rbOgTHQCoFdUooEQOBIlzoGJnkgiwcO7LPKP33JIhK3VlY7nRPeu++xzkH8eZMHDCI
O0VKVAcpDvj+oOl33UZtOvGCBlVAYdTRReKEgbjHEA0F4ZG8nv1hjGT1p9g62zs/KNuiuMybGifd
KtPM8hda0s4GkadZU2uLzR79oK0i54OQi1pm6XWzzzhOI7aEXUoTsSRJ/immaikq8wNZFMCvLtaQ
LKMoGN/unuSuruCxkrK8rzZg5ijIbzYgj5bUVHnv/AZe7akr6G753Gv0sGrdMMzXiiV/ylmfJcE5
OgMGz6WUUJ1co/JB2w/olTbRI/sGUEsDBBQAAgAIAFB9ZEZxD0NwdwAAAIMAAABhABwAcmV0cmll
cy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVy
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
74jq/HEwMS3T4eOHY/8eH1zc3d01Uvpifn93P7vvrU/QXPZH8Waz6UO9xHkJFarlfNumdSQDeAWk
rczfLOajua1bMcWIP+j2wF0F1Ii+NmVK5Ca0X91uRMxJCT7l8YfzTMpSLMMQfUX7YMfYDhaVRKjQ
1WMhJZEIv/6nwvwlHAfT4Nr+CKC1DL6K8zXsq/dbe+2dY5ZgX/kQP4PcX8HTypkfpvPGEgBlPxRG
LHmBB+QD4EZCfLh0NwH1vTAbr8N/gz+hZoV3SKJw89s2/A1H/yDSPj5VhCbhP4F3kcAhRAqY05cY
Kixc3ysqRcix5ATWi7KSBXkMoaSmij6KGIej9w+f8V4F4gMMP0FOqIYrfB9MHtTt4uEL5qAukoyL
cKtGP06C64cvEx96ngrRQO4laDJuK9D4fnR5PKPv9UPj6r7vmStNR0TB8drfiQ5yUIQKJ6g/FBy6
j8v1GKwO8+uWFNSDpswPRSTKVa8gEPvl+vaXn7e/fN54P222249/2yz1Yu/9fOltXwDOfsO5Csx/
FXDJNg0QSZQxUwI4f7gAorIlUb/bcyAIQEH3GLYHpOrrxrBCJy1xQkv2BpN9vyVugFDWU+8mVM8/
b5ZGql+u7bSV/dNBJjK45b1u11dtev0Gc14Pm7OZVF39vw/Y5A3AJsPA/r9gpm8AMx0G8+vH7dbb
uIAqEVRUYIQUEVpx/D1h03noYgwFTf9Tzv8AUEsDBAoAAgAAAFB9ZEY0QNSKTwAAAE8AAABfABwA
cmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xp
bmVfVGVybWluYXRvcnMvUzcuM19BMy4zX1QyLWFjdHVhbC50eHRVVAkAA2eY91RnmPdUdXgLAAEE
9QEAAAQUAAAAUzcuM19BMy4zX1QyCgpQQVNTIFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGlkZW50
aWZpZXIgNCAnbGluZScKClRFU1QgQ09NUExFVEUKClBLAwQUAAIACABQfWRGSeD05OMAAADhAQAA
XQAcAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcu
M19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMuM19UMi1kaWZmLnR4dFVUCQADZ5j3VGeY91R1eAsA
AQT1AQAABBQAAADNjzFPwzAQhXf/its6BPeAIioxpRRPBFFhQ8fIJFfJwrEr+4zSf0+CqMTIyPJO
+vSe3jspJeBb9GWgjA+WLaq9xj29Pzr+OffF+R5fyJPNhN6eYmHJlFkmysVzxkSc3JTPx8LBfeA2
hkNMgw0d4eW6bWh0nfXthD8psIsh43q5ahsXqDWUBhcsx5RRz3SzmsRcSxqP1DH1Sx5ZVFX1T2fa
jov13yPrGuTVxS1Us9S1gN9GAULuNlqDPgW2o0oppjt4Dec3wfVz6cFRgoWfKhei+qv/5pwAAUZp
A9vnp12jjJrAF1BLAwQKAAIAAABQfWRGRPKLVE0AAABNAAAAYQAcAHJldHJpZXMvc3B1dG5pay9D
b25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3
LjNfQTMuM19UMi1leHBlY3RlZC50eHRVVAkAA2eY91RnmPdUdXgLAAEE9QEAAAQUAAAAUzcuM19B
My4zX1QyCgpQQVNTIFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGlkZW50aWZpZXIgJ2xpbmUnCgpU
RVNUIENPTVBMRVRFCgpQSwMEFAACAAgAUH1kRtNj+IPoBwAAExsAAGUAHAByZXRyaWVzL3NwdXRu
aWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9y
cy9TNy4zX0EzLjNfVDItcHJldHR5LWRpZmYuaHRtbFVUCQADZ5j3VGeY91R1eAsAAQT1AQAABBQA
AAC1Wd1u47gVvs9TCAm6ARaRZMd2JrYzKWYSBwU62w7qtHsZUBJlcUKJWpJO7Gn77j38kyVZsr3Y
6Q52JJOH5Hd+v0PNXSZzen92l2GUwCPHEnlxhrjA8uPlWqb+7SUMC7ml+P5sRknxeuXN3oggEife
v888+E/ijfQTHDOOJGHFzCtYged6KmI8wdyPmJQsn3nDcuMl8I6T+dl/z8x2dpOYUcZn3sVgNNVz
wROh+JGkqZ2PUPy64mxdJL4TTW/Vn/pB5gTBKEm8iyRJzFzKCumnKCd0O/NyVjBRotgCzBFfEYA8
xLk3MEMlA+W0HhxT0OgNa0DZsIV0NBp17C9QIXyBOUlrk4J8x/qM+qE+xamceYNg4sYTIkqKYBNS
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
M19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMuNF9UMi1hY3R1YWwudHh0VVQJAANomPdUaJj3VHV4
CwABBPUBAAAEFAAAAFM3LjNfQTMuNF9UMgoKUEFTUyBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBp
ZGVudGlmaWVyIDQgJ2xpbmUnCgpURVNUIENPTVBMRVRFCgpQSwMEFAACAAgAUH1kRii+gW/lAAAA
4QEAAF0AHAByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9u
cy83LjNfTGluZV9UZXJtaW5hdG9ycy9TNy4zX0EzLjRfVDItZGlmZi50eHRVVAkAA2iY91RomPdU
dXgLAAEE9QEAAAQUAAAAzY8xT8MwEIV3/4rbOgTngFZUYkopngiiwqEdI5NcJQvHruwzSv89CaIS
IyPLnfTpPb33pJSA++DyQAkfDRtUB40Hen+y/PMesnU9vpIjkwidOYfMkimxjJSy44SRONrJn06Z
vf3AbfDHEAfjO8LrdVvTaDvj2gl/kmcbfMJ1uWxr66ltKA7WGw4xoZ7pZlmu2uZW0niijqkveWRR
FMU/rWk6zsZ9l6wqkDdXd1DMp6oE/BYKEHK30Rr02bMZVYwh3sObv8wE28+hR0sRFm6KXIjir/rV
xQECGqUb2L4872rVqAl8AVBLAwQKAAIAAABQfWRG840CEk0AAABNAAAAYQAcAHJldHJpZXMvc3B1
dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0
b3JzL1M3LjNfQTMuNF9UMi1leHBlY3RlZC50eHRVVAkAA2iY91RomPdUdXgLAAEE9QEAAAQUAAAA
UzcuM19BMy40X1QyCgpQQVNTIFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGlkZW50aWZpZXIgJ2xp
bmUnCgpURVNUIENPTVBMRVRFCgpQSwMEFAACAAgAUH1kRrRbBSXpBwAAExsAAGUAHAByZXRyaWVz
L3NwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJt
aW5hdG9ycy9TNy4zX0EzLjRfVDItcHJldHR5LWRpZmYuaHRtbFVUCQADaJj3VGiY91R1eAsAAQT1
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
xnci/T0VuNdJ6C8Eu7bj8n4I5ob5+4YUFILjMkDml/d1fa0UuA0g/WFg1ycAu+4H1gajH3VItZRQ
0np6H/hpzjD3y6POqMkdVH10guo/FZEo5/36f/20XHrLLZy8WXCuCsI/C7wpTeNJEhXEKQFIP11A
g6A21i9HrdbUG+rjcaWt0EGND2jDTjDN79L4Dgj7fuzdher5O9X/kUHzozJ4fILZxqcnyh8DMzkB
zKQfzPNi+ew9/P2Xr18Wz4sfi+zmBGQ3/5960npoNgNG0P8W9j9QSwMECgAAAAAAUH1kRgAAAAAA
AAAAAAAAAEAAHAByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50
aW9ucy83LjhfTGl0ZXJhbHMvVVQJAANomPdUbZj3VHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAABQ
fWRGAAAAAAAAAAAAAAAAYgAcAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2Fs
X0NvbnZlbnRpb25zLzcuOF9MaXRlcmFscy83LjguNV9SZWd1bGFyX0V4cHJlc3Npb25fTGl0ZXJh
bHMvVVQJAANomPdUbZj3VHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACABQfWRGqj90iZkAAACwAAAA
ewAcAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcu
OF9MaXRlcmFscy83LjguNV9SZWd1bGFyX0V4cHJlc3Npb25fTGl0ZXJhbHMvUzcuOC41X0EzLjFf
VDctYWN0dWFsLnR4dFVUCQADaJj3VGiY91R1eAsAAQT1AQAABBQAAAA1zUELgjAUAOD7fsW77TaM
SsNOIq8INIWtWyBjPmEwZmwz9N9Xh87f4au7u+wahBalrK5YgrOeoMhLkJtPesUQ5lDCw9P6IpNo
BDuST3ayFOAA/LlkWV5wAfh3fuagp/Tltw4wknE66GRnL5gsxEkch2ovdoMqGLtUtwbiYgzFOC3O
bb0O8VdE8HOCSIkxhVJB3bV9gwoZ+wBQSwMEFAACAAgAUH1kRntelTwmAQAApAIAAHkAHAByZXRy
aWVzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjhfTGl0ZXJh
bHMvNy44LjVfUmVndWxhcl9FeHByZXNzaW9uX0xpdGVyYWxzL1M3LjguNV9BMy4xX1Q3LWRpZmYu
dHh0VVQJAANomPdUaJj3VHV4CwABBPUBAAAEFAAAANVQTU/DMAy991f41kNJs4mxonHpGAUhCkMr
sAtSZVoXRWTplDhT9+9pBwhxRJy4xIr97PchhAD51Gq/IScvkFFm60Ku6eVG8Wc590rXckWa0JHU
uG89CybHwpLzmp20xFb1+27r2ag3uWhN09oNmorkKClz6lSFuuzbOzKsWuNkEp+WuWKyqA+f+KRc
0avXaMus2/aHXQ/7RhQfkPlxPC4fEkHdliqmOuaOgyiK/qEFrNijPhhIUxDjowlEw5OmgVgs74pl
nsFtVhTzq2wGWhmCZDqDYm8Yu8za1s7g0XzlAKoeVDWKLITPfjSaJmEM2dc0PAsBm14H7NBCTVWv
EQcTcRD9iWvySzb4GUIAAVzOr3Nwvqr6vBqv9f4erRtYHJiWwREH71BLAwQUAAIACABQfWRG9OoZ
2pcAAACuAAAAfQAcAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZl
bnRpb25zLzcuOF9MaXRlcmFscy83LjguNV9SZWd1bGFyX0V4cHJlc3Npb25fTGl0ZXJhbHMvUzcu
OC41X0EzLjFfVDctZXhwZWN0ZWQudHh0VVQJAANomPdUaJj3VHV4CwABBPUBAAAEFAAAADXNsQrC
MBAA0D1fcVu2UBEbqVORU4TWFhI3oYT0CoGQSpJK+/fq4PyGd+7uqmsQWlSqvmIF3gUCWVagtpDN
ijHOsYJHoPVFNtMIbqSQ3eQoAn8uRVFKLgD/yk8czJS/+DYRRrLeRJPdHARTUhzFYaj3Yjdoydil
vjWQFmsppWnxfutNTL8gQZgzJMqMaVQazl3bN6iRsQ9QSwMEFAACAAgAUH1kRi4N35sXCAAATRoA
AIEAHAByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83
LjhfTGl0ZXJhbHMvNy44LjVfUmVndWxhcl9FeHByZXNzaW9uX0xpdGVyYWxzL1M3LjguNV9BMy4x
X1Q3LXByZXR0eS1kaWZmLmh0bWxVVAkAA2iY91RomPdUdXgLAAEE9QEAAAQUAAAAtVlrb+O4Ff2e
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
VOEE9UeEfWdyPh+CR2B83pCCWlGX+a6IxHrWKQikfz6//+Xn5S9PC++nxXL58S+LqZ7sXV9NveUO
4GwXnKug/VsBB3DTHJFEGTolgPO7MyCxf5SDwdW1vg28hZPSzzP92zMsuYGmGE5v4AZ9fAssJggm
MIa79NsOUv5tw1mho1Y7YhH2DvN+u9XugJjmY+8uVNf/rwlr5eV8boet7H8dvCKDk+XbPnjT/pfv
MP1lv+mb6dq2wLdBG70D2qgf2v8WzPgdYMb9YB4//vAEDUAcQ71LS0p3v6o/50AgCiBj3VZ8S/S0
LpoHoF7qvyL9B1BLAwQUAAIACABQfWRG1k9dkpkAAACwAAAAewAcAHJldHJpZXMvc3B1dG5pay9D
b25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuOF9MaXRlcmFscy83LjguNV9SZWd1
bGFyX0V4cHJlc3Npb25fTGl0ZXJhbHMvUzcuOC41X0EzLjFfVDgtYWN0dWFsLnR4dFVUCQADaJj3
VGiY91R1eAsAAQT1AQAABBQAAAA1zUELgjAUAOD7fsW7eRtGpWYnkVcEmsLWLZAxnzAYM7YZ+u+r
Q+fv8NXdXXQNQotCVFcswRpHkGcliM1FtaL3sy/h4Wh9kY40ghnJRTMZ8nCA5LmkaXZKOODfk3MC
aopffisPI2mrvIpmdpyJnBf8OFR7vhtkwdilujUQFq0phGmxduuVD78igJsjBIqMSRQS6q7tG5TI
2AdQSwMEFAACAAgAUH1kRrjyFZYnAQAApAIAAHkAHAByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFu
Y2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjhfTGl0ZXJhbHMvNy44LjVfUmVndWxhcl9FeHBy
ZXNzaW9uX0xpdGVyYWxzL1M3LjguNV9BMy4xX1Q4LWRpZmYudHh0VVQJAANomPdUaJj3VHV4CwAB
BPUBAAAEFAAAANVQTU/DMAy991f41kNJs4mxjXHpGAUhCkMrsAtSZVoXRWTplDio+/e0gwlxRJy4
xIr97PchhAD51Gi/IScvkFGm61yu6eVG8Vc590pXckWa0JHUuGs8CybHwpLzmp20xFZ1+27r2ag3
uWhM3dgNmpLkYFJk1KoSddG138mwaoyTk3haZIrJot5/4pNiRa9eoy3Sdtsddh3sG5F/QubH8bB4
mApqt1QyVTG3HERR9A8tYMke9d5AkoAYHo0g6p8kCcRieZcvsxRu0zyfX6Uz0MoQTMYzyHeGsU2t
bewMHs0hB1BVr6pWZCF89oPB+DSMIT1Mw7MQsO50wDtaqKjsNGJvIg6iP3GNfskGP0MIIIDL+XUG
zpdll1fttd7do3U9iwPTMDji4ANQSwMEFAACAAgAUH1kRoiaMMGYAAAArgAAAH0AHAByZXRyaWVz
L3NwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjhfTGl0ZXJhbHMv
Ny44LjVfUmVndWxhcl9FeHByZXNzaW9uX0xpdGVyYWxzL1M3LjguNV9BMy4xX1Q4LWV4cGVjdGVk
LnR4dFVUCQADaJj3VGiY91R1eAsAAQT1AQAABBQAAAA1zUELgjAUAOD7fsW77TaMSM1OIq8INIWt
WxBjPmEwZmwz9N9Xh87f4Wv6m+xbhA6lrC9YgbOeoMgrkJtPesUQ5lDB3dP6IpNoBDuST3ayFIA/
lizLj1wA/pWfOOgpffGtA4xknA462dkLJgtRisOz3ovdU5WMnetrC3ExhmKcFue2QYf4CyL4OUGk
xJhCqaDpu6FFhYx9AFBLAwQUAAIACABQfWRGwiUWQxcIAABNGgAAgQAcAHJldHJpZXMvc3B1dG5p
ay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuOF9MaXRlcmFscy83LjguNV9S
ZWd1bGFyX0V4cHJlc3Npb25fTGl0ZXJhbHMvUzcuOC41X0EzLjFfVDgtcHJldHR5LWRpZmYuaHRt
bFVUCQADaJj3VGiY91R1eAsAAQT1AQAABBQAAAC1WWtv47gV/Z5fIUzQDbCIJDu2M35kXMwkTrvY
7APrafdLgYCSKIsTSvSSVGJP2//ey5csyZKTYtoJJnrwkjz3eS6Vm0zmdHl2k2GUwCXHEnlxhrjA
8sNFKVN/egGvhdxTvDybU1I8XXrzZyKIxIn3zzMP/km8k36CY8aRJKyYewUr8EIPRYwnmPsRk5Ll
c2+43XkJ3ONkcfbvM7OcXSRmlPG5dz4YzfRYcE8oviNpascjFD9tOCuLxHei6VT91DcyOwhGSeKd
J0lixlJWSD9FOaH7uZezgoktii3AHPENAchDnHsD82rLQDmtB8cUNHrGGlA2bCEdjUYd6wtUCF9g
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
AFB9ZEaQl0zYmQAAALAAAAB7ABwAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGlj
YWxfQ29udmVudGlvbnMvNy44X0xpdGVyYWxzLzcuOC41X1JlZ3VsYXJfRXhwcmVzc2lvbl9MaXRl
cmFscy9TNy44LjVfQTMuMV9UOS1hY3R1YWwudHh0VVQJAANomPdUaJj3VHV4CwABBPUBAAAEFAAA
ADXNQQuCMBQA4Pt+xbt5G0alZSexVwSawtYtkDGfMBgzthn676tD5+/wVe1dtDVCg0KUVyzAGkeQ
ZwWI1UW1oPeTL+DhaHmRjjSAGchFMxrysIPkOadpdk444N+TUwJqjF9+Kw8Daau8imZynImcH/i+
L7d808sjY5fyVkOYtaYQxtnatVM+/IoAbooQKDImUUio2qarUSJjH1BLAwQUAAIACABQfWRGi1LG
cicBAACkAgAAeQAcAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZl
bnRpb25zLzcuOF9MaXRlcmFscy83LjguNV9SZWd1bGFyX0V4cHJlc3Npb25fTGl0ZXJhbHMvUzcu
OC41X0EzLjFfVDktZGlmZi50eHRVVAkAA2iY91RomPdUdXgLAAEE9QEAAAQUAAAA1VBNT8MwDL33
V/jWQ0mzibHBuHRsBSEKQyuwC1JlWhdFZOmUOKj797SDCXFEnLjEiv3s9yGEAPnUaL8hJxfIKNN1
Ltf0cqP4q1x4pSu5Ik3oSGrcNZ4Fk2NhyXnNTlpiq7p9t/Vs1JucN6Zu7AZNSXIwKTJqVYm66Nrv
ZFg1xslJfFpkismi3n/ik2JFr16jLdJ22x12HewbkX9CZsfxsHg4E9RuqWSqYm45iKLoH1rAkj3q
vYEkATE8GkHUP0kSiPnyLl9mKdymeT67SqeglSGYjKeQ7wxjm1rb2Ck8mkMOoKpeVa3IQvjsB4Px
IowhPUzD8xCw7nTAO1qoqOw0Ym8iDqI/cY1+yQY/QwgggMvZdQbOl2WXV+213t2jdT2LA9MwOOLg
A1BLAwQUAAIACABQfWRGzkIhi5gAAACuAAAAfQAcAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5j
ZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuOF9MaXRlcmFscy83LjguNV9SZWd1bGFyX0V4cHJl
c3Npb25fTGl0ZXJhbHMvUzcuOC41X0EzLjFfVDktZXhwZWN0ZWQudHh0VVQJAANomPdUaJj3VHV4
CwABBPUBAAAEFAAAADXNQQuCMBQA4Pt+xbvtNoxIy05irwg0ha1bEGM+YTBmbDP031eHzt/hq7ub
7BqEFqWsLliCs56gyEuQq096wRCmUMLd0/Iik2gAO5BPdrQUgD/mLMtPXAD+lR856DF98a0DDGSc
DjrZyQsmC7EXu2e1FZunOjB2rq4NxNkYinGcnVt7HeIviOCnBJESYwqlgrpr+wYVMvYBUEsDBBQA
AgAIAFB9ZEZ77rUjGAgAAE0aAACBABwAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xl
eGljYWxfQ29udmVudGlvbnMvNy44X0xpdGVyYWxzLzcuOC41X1JlZ3VsYXJfRXhwcmVzc2lvbl9M
aXRlcmFscy9TNy44LjVfQTMuMV9UOS1wcmV0dHktZGlmZi5odG1sVVQJAANomPdUaJj3VHV4CwAB
BPUBAAAEFAAAALVZa2/jNhb9nl8hJNgGKCLJju1MbGe8mEmctmj6QD3bflkgoCTK4oQSXZJK7Nnd
/76XL1mSJSfF7E4w0YOX5LnPc6ncZDKni5ObDKMELjmWyIszxAWW789LmfrX5/BayB3Fi5MZJcXT
hTd7JoJInHj/OvHgn8Rb6Sc4ZhxJwoqZV7ACz/VQxHiCuR8xKVk+84abrZfAPU7mJ/85McvZRWJG
GZ95Z4PRVI8F94TiO5KmdjxC8dOas7JIfCeaXquf+kZmB8EoSbyzJEnMWMoK6acoJ3Q383JWMLFB
sQWYI74mAHmIc29gXm0YKKf14JiCRs9YA8qGLaSj0ahjfYEK4QvMSVobFOQL1nvUN/UpTuXMGwQT
9z4hYkMRLEIKsIxF+EISmcHkweBvFh9KElKsq5kGm3WNumt6x8IlRQagZCWesWfMWxpNJpN5n7Ex
NmYIlE8eYC9hJ6eUIVCDk3Umm55TUregPgJd3FYMTE8kqDhoqSxRRLEfY0obWvp63YaVXjLQztc+
VKH2wtFmj2yFY+W73qDRk5sh0w4XG7PO7hBQg83W7LDcbsC9sD6ohi+8QF3aGvbCEyTB0U799jTU
j5TFT78iLgNQdZYSLqQfZ4QmvYZV261g/sWxxTjOwbUXr+xn93DmNwHnR0qkEXYTF3UQLZLEiPqI
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
cmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzEyX1N0YXRlbWVudC8xMi4xMV9UaGVfc3dpdGNo
X1N0YXRlbWVudC9TMTIuMTFfQTNfVDUtYWN0dWFsLnR4dFVUCQADaJj3VGiY91R1eAsAAQT1AQAA
BBQAAABFy70KgzAUhuE9V/Ft2aT2B4qbSOiiVTjpLKke24AkEiPVoffeLqXbCw9vUV+pLhUqRZRf
VIbROsZ5l4E2F82qQvAhw83xOnEXuYft2UU7WA44QgaelzHKBOrn8i0RPdj1MLj7foMfviXnl43d
UyaC0n2Spm1+aPVJiCYn+s+TCbN1DwzGjktgIbQijaKumlJpJcQHUEsDBBQAAgAIAFB9ZEbLyiDb
CQEAAGkCAABZABwAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzEyX1N0YXRlbWVudC8xMi4x
MV9UaGVfc3dpdGNoX1N0YXRlbWVudC9TMTIuMTFfQTNfVDUtZGlmZi50eHRVVAkAA2iY91RpmPdU
dXgLAAEE9QEAAAQUAAAAzZA9T8MwEIZ3/4rbMgTHBIqEMiWUiIGPIlzoGLnJhVq4dmWfRTrw3wm0
FZ1hYbkPvXr1PneccxAvzsQ1BnGtSIl6IcUCl7ea9u0qatOJJzSoAgqjti4SJwzEPYZoKAiP5PXo
D5tIVr+JqbO982tlWxT5WSNJEa7R0rhked7MV9iEd03t6kiSO606b+YXHIcNtoRdRgOxNE3/IaJq
KSrzDViWwPOTCaRfpSwZn84e5OyuhvtayuqmLsBoi3B5WoDcWlJD7b3zBTzbw52guzFA9xo9JDvk
JIP6oCYfCZADtB0oWLpuC64fp2RHmGQs/VPi5FeZcPwOBgweKyl//Bvlg7av0Cttokf2CVBLAwQU
AAIACABQfWRGi6AG85IAAACtAAAAXQAcAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8xMl9T
dGF0ZW1lbnQvMTIuMTFfVGhlX3N3aXRjaF9TdGF0ZW1lbnQvUzEyLjExX0EzX1Q1LWV4cGVjdGVk
LnR4dFVUCQADaJj3VGiY91R1eAsAAQT1AQAABBQAAABFy7EKwjAQgOE9T3FbtmIVQbqVcri0tnBx
lthc9aAkJU2xHXx3XcTth4+/ai/U1ggNEpVnLGAUz3DaFUCbT3bFGEMs4Op5nbhP7EAc+ySDcAQd
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
hJ//XWH+Eo6DaXBtHwJoLYPP4nwF6+r1Vl575Zgl2Fc+xDuQ+zt4Wjnz/XTemAKg7IfCiCUvcIF8
ANxIiPeX7iSgvhdm41X4G/gTOCu8RxKF69834e84+heR9vKxIjQJf4G6iwQOIVLAnL7EwLBwfK+o
FCHHkhOYL8pKFuQpBEpNVfkoYhyOrx8VlWGVrfAQjMePkEKPYkdknDWGNmbsw+Tx08yHfqdCNJB7
CVqM2+Ab344uj0f0mX7ovTrre+Y40xFRBx2v/Y3oIAcEVDhB/ZHg0HlcrsZgcRhftaSAC5oy3xaR
KG96BaGoX67ufvpx89P3a++H9Wbz4R/rpZ7szUdLb/MCcPZrzlVQ/lrAAds0PyQBm5GUAM5vL6BI
GU/o28BbOyn9/Jf+regJFwkUZhUOHkvhTg8YR5iZFiGEDpjGXYYtCQn+uhmt0EkbnrAPe4Oxv96G
t1CGVlPvNlTX/6dBG9RyubLDVva/DmyRwanydY+86o3rNzjietgRzUTu6v91wCZvADYZBva/BTN9
A5jpMJifP2w2h7gqETA4VKAUEVpx/DVh07lo8gcS1X86+g9QSwMECgAAAAAAUX1kRgAAAAAAAAAA
AAAAAEMAHAByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTJfU3RhdGVtZW50LzEyLjZfSXRl
cmF0aW9uX1N0YXRlbWVudHMvVVQJAANpmPdUbZj3VHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAABR
fWRGAAAAAAAAAAAAAAAAXAAcAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8xMl9TdGF0ZW1l
bnQvMTIuNl9JdGVyYXRpb25fU3RhdGVtZW50cy8xMi42LjNfVGhlX2Zvcl9TdGF0ZW1lbnQvVVQJ
AANpmPdUbZj3VHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACABRfWRGUqUW0pgAAAC5AAAAdgAcAHJl
dHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8xMl9TdGF0ZW1lbnQvMTIuNl9JdGVyYXRpb25fU3Rh
dGVtZW50cy8xMi42LjNfVGhlX2Zvcl9TdGF0ZW1lbnQvUzEyLjYuM19BOC4xX1QzLWFjdHVhbC50
eHRVVAkAA2mY91RpmPdUdXgLAAEE9QEAAAQUAAAARcyxCsIwEIDhPU9xW7ZgrUjpVuRwaW0hcS7B
XjUQk3BGbd9eHMT55/sP/Un3LUKHWjdHrMG7QFBtatBryHZB5sg1nAMtiS6ZJnAThexmRww7kC5M
tEgF+MsWZC1hjt7HtwtXyDeCxDER5xWCvRPIl2WphC62aq/KsalUMZpSiKHR+v9Jlh9fP1vnn0xC
GNQGDn03tGhQiA9QSwMEFAACAAgAUX1kRjouPY4cAQAAsAIAAHQAHAByZXRyaWVzL3NwdXRuaWsv
Q29uZm9ybWFuY2UvMTJfU3RhdGVtZW50LzEyLjZfSXRlcmF0aW9uX1N0YXRlbWVudHMvMTIuNi4z
X1RoZV9mb3JfU3RhdGVtZW50L1MxMi42LjNfQTguMV9UMy1kaWZmLnR4dFVUCQADaZj3VGmY91R1
eAsAAQT1AQAABBQAAADVkM1OwzAQhO95ir3lEBxTWiGUU0qJEOKnCBd6jJZmQy0cO7I3kL49adWq
iGtPXHa1+jQ7oxFCgHxzpmsoyBtklMVSySW932ver+tOm0q+kCEMJA1uXMeCKbDwFDrDQXpirwd9
aDu2+lPOnK2db9CuSI4uSsXI1JDl4Ugvyzsmj6ydPYKwI+m4XKypHKS/JGpPplfpqFyMBfUtrZiq
lHuOkiT5X+lxxR2aXfY8BzE6m0CyHXkeidn8Sc0fCngslJreFhkYbQmuzjNQG8vYF947n8GrPVQA
uho8dK3JQ6xtRX2cQnGACHEWQ+2Mcd/afgCvCVrvWvK8AYsNQfyFPk6j5CTjySnW8KefCCJ4nip1
fNWiD9sXNWrTeYp+AFBLAwQUAAIACABRfWRGuyHjmZcAAAC3AAAAeAAcAHJldHJpZXMvc3B1dG5p
ay9Db25mb3JtYW5jZS8xMl9TdGF0ZW1lbnQvMTIuNl9JdGVyYXRpb25fU3RhdGVtZW50cy8xMi42
LjNfVGhlX2Zvcl9TdGF0ZW1lbnQvUzEyLjYuM19BOC4xX1QzLWV4cGVjdGVkLnR4dFVUCQADaZj3
VGmY91R1eAsAAQT1AQAABBQAAABFzLEKwjAQgOE9T3FbtmAtSMlWSnBpbeHiXIK9aiCm4Yzavr04
iPPP9zf9CfvWQGcQ66PREHwkqHYacIvZrYZ5YQ3nSGuiS6YJ/EQx+9kTg/RxolUqML/oQGoJ8xLC
8vbxCvlGkHhJxHmD6O4E8uVYKoHFXh1UOdaVKkZbCjHUiP9Pcvz4+tn58GQSwhq00PTd0BprhPgA
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
AABQSwMECgAAAAAAI31kRgAAAAAAAAAAAAAAACsAHABzcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xl
eGljYWxfQ29udmVudGlvbnMvVVQJAAMRmPdUbZj3VHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAAZ
fWRGAAAAAAAAAAAAAAAAQAAcAHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50
aW9ucy83LjNfTGluZV9UZXJtaW5hdG9ycy9VVAkAAwGY91RtmPdUdXgLAAEE9QEAAAQUAAAAUEsD
BBQAAgAIABh9ZEaQ5YZaWwAAAOACAABXABwAc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2Fs
X0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTEuMV9UMS1zdGRlcnIudHh0
VVQJAAP/l/dU/5f3VHV4CwABBPUBAAAEFAAAAMvNLy1ODU4uys/JcaoMzyzJCM9ITc1xzEvxzc9N
zSspzQ3ISCxOLVZIS8zMSU1RKMlXSMvMA9IZqQoliUXpqSUKZZmp5QqJJQoGegZgoANjcOWOmj1q
9gCbDQBQSwMECgACAAAAGH1kRqX71uVPAAAATwAAAFcAHABzcHV0bmlrL0NvbmZvcm1hbmNlLzA3
X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4xX1QyLWFj
dHVhbC50eHRVVAkAAwCY91QAmPdUdXgLAAEE9QEAAAQUAAAAUzcuM19BMy4xX1QyCgpQQVNTIFN5
bnRheEVycm9yOiBVbmV4cGVjdGVkIGlkZW50aWZpZXIgNCAnbGluZScKClRFU1QgQ09NUExFVEUK
ClBLAwQUAAIACAAYfWRGUQ6Qv+AAAADRAQAAVQAcAHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4
aWNhbF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9ycy9TNy4zX0EzLjFfVDItZGlmZi50
eHRVVAkAAwCY91QAmPdUdXgLAAEE9QEAAAQUAAAAzY8xT8MwEIV3/4rbOgTnKEVUYkopmQiiwqEd
LZNcJQvHruwzSv89CaISIyPLe9Knd3rvpJSA++DyQAkfDRusDwoP9P5k+ccesnU9vpIjkwidOYfM
kimxjJSy44TplNnbD9wGfwxxML4jvF7rhkbbGacn/EmebfAJ1+VKN9aTbikO1hsOMaGa6WZVLnV7
I2k8UcfUlzyyKIrin80zHWfjvsdVFcjl1R0Us1SVgN9BAULuNkqBOns2Yx1jiPfw5i/vge3n0qOl
CAs3VS5E8df87eUCBLS1amH78rxr6raewBdQSwMECgACAAAAGH1kRv0M8CVNAAAATQAAAFkAHABz
cHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWlu
YXRvcnMvUzcuM19BMy4xX1QyLWV4cGVjdGVkLnR4dFVUCQADAJj3VACY91R1eAsAAQT1AQAABBQA
AABTNy4zX0EzLjFfVDIKClBBU1MgU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmllciAn
bGluZScKClRFU1QgQ09NUExFVEUKClBLAwQUAAIACAAYfWRGeLSJcuQHAAALGwAAXQAcAHNwdXRu
aWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9y
cy9TNy4zX0EzLjFfVDItcHJldHR5LWRpZmYuaHRtbFVUCQADAJj3VACY91R1eAsAAQT1AQAABBQA
AAC1Wd1u47gVvs9TCAm6ARaRZMd2JrYzKWYSBwU62w7qtHsZUBJlcUKJWpJO7Gn77j38kyVZsr3Y
6Q52JJOH5Hd+v0PNXSZzen92l2GUwCPHEnlxhrjA8uPlWqb+7SUMC7ml+P5sRknxeuXN3oggEife
v888+E/ijfQTHDOOJGHFzCtYged6KmI8wdyPmJQsn3nDcuMl8I6T+dl/z8x2dpOYUcZn3sVgNNVz
wROh+JGkqZ2PUPy64mxdJL4TTW/Vn/pB5gTBKEm8iyRJzFzKCumnKCd0O/NyVjBRotgCzBFfEYA8
xLk3MEMlA+W0HhxT0OgNa0DZsIV0NBp17C9QIXyBOUlrk4J8x/qM+qE+xamceYNg4sYTIkqKYBNS
gGUswneSyAwWDwZ/svhQkpBiVa002Kxr1FvTOxYuKTIAJSvxjL1h3tJoMpnM+4yNsTFDoHzyBc4S
dnFKGQI1OFllsuk5JfUA6iPQxR3FwPREgoqDlsoSRRT7Maa0oaWv921Y6T0D7XztQxVq7xyVO2RL
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
f1KJJ+W8Z4ePJOchU5EZdZZUdFHJeMVq2rft5wrY1mb0pr6MwQAMnhnpX46YX5qeuERd31kAAnHA
pu+GlgIBfAFQSwMEFAACAAgAGH1kRkf7UzD3AAAADQIAAFUAHABzcHV0bmlrL0NvbmZvcm1hbmNl
LzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4xX1Qz
LWRpZmYudHh0VVQJAAMAmPdUAJj3VHV4CwABBPUBAAAEFAAAAM2PwU7DMAyG73kK33YoWZg6qVJP
LaPiQGGIDHasQuuiiDSpEgd1b0+LmLQ7l11s+Zf8+TPnHMS7M3HAIO4VKVEdpTjix6Omv3YXtenE
KxpUAYVRJxeJEwbiHkM0FEQYI1n9JXbO9s4PyrYobrOmxkm3yjRz/I2WtLNBZOu0qbXF5oB+0FaR
80HIJS3T9aY5pBynEVvCbk0TsSRJrkxPtRSV+ZUrCuCbmy0kSykKxnf7Z7mvK3iqpCwfqhzMjIIs
y0GeLKmp8t75HN7s+UfQ3XK51+hh1bphmKcVS/7F2V6Q4FKdAYOXUkqozluj8kHbT+iVNtEj+wFQ
SwMEFAACAAgAGH1kRghYknB3AAAAgwAAAFkAHABzcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGlj
YWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4xX1QzLWV4cGVjdGVk
LnR4dFVUCQADAJj3VACY91R1eAsAAQT1AQAABBQAAAA1y7EKgzAQAND9vuI2N6FkELIFObpoI1w6
S9CzHGiUmIL9+3bp+IbX+gf7jrAnZncni6smwaaxyJ9U4kU579niM8l1yFRkRp0lFV1UMlbTvm0/
VcBNbUZn6tsYDMDgmJH+4Yj51PTCJer6zgIQiAO2vh86CgTwBVBLAwQUAAIACAAYfWRGXKnXH+MH
AADKGQAAXQAcAHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjNf
TGluZV9UZXJtaW5hdG9ycy9TNy4zX0EzLjFfVDMtcHJldHR5LWRpZmYuaHRtbFVUCQADAJj3VACY
91R1eAsAAQT1AQAABBQAAACtWWtz2zYW/e5fwbGn9UzHJCVLji3J0U5iy9uZpo9ZZduPHpAERcQg
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
e9fXc2+9AzjbFecqIP9dwOXaND4kUcZMCeD8/gwIypZC/W7PAeeDgu4xbA9I0deNYYWOWuKIluwN
Jvt2S9wCkSyn3m2onn/fLI0UP1/aaSv7t4NMZHC7e92ur9r08g3mvBw2ZzOpuvp/G7DJG4BNhoH9
f8FM3wBmOgzmtw/rtbdyAVUiqKTABCkitOL4W8Km89BFGAqa/iec/wFQSwMECgACAAAAGH1kRtye
7VBPAAAATwAAAFcAHABzcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMv
Ny4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4yX1QyLWFjdHVhbC50eHRVVAkAAwCY91QAmPdU
dXgLAAEE9QEAAAQUAAAAUzcuM19BMy4yX1QyCgpQQVNTIFN5bnRheEVycm9yOiBVbmV4cGVjdGVk
IGlkZW50aWZpZXIgNCAnbGluZScKClRFU1QgQ09NUExFVEUKClBLAwQUAAIACAAYfWRGPsy+jOAA
AADRAQAAVQAcAHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjNf
TGluZV9UZXJtaW5hdG9ycy9TNy4zX0EzLjJfVDItZGlmZi50eHRVVAkAAwCY91QAmPdUdXgLAAEE
9QEAAAQUAAAAzY8xT8MwEIV3/4rbOgTnoEVUYkopmQiiwqEdLZNcJQvHruwzSv89CaISIyPLe9Kn
d3rvpJSA++DyQAkfDRusDwoP9P5k+ccesnU9vpIjkwidOYfMkimxjJSy44TplNnbD9wGfwxxML4j
vF7rhkbbGacn/EmebfAJ1+VKN9aTbikO1hsOMaGa6WZVLnW7lDSeqGPqSx5ZFEXxz+aZjrNx3+Oq
CuTN1R0Us1SVgN9BAULuNkqBOns2Yx1jiPfw5i/vge3n0qOlCAs3VS5E8df87eUCBLS1amH78rxr
6raewBdQSwMECgACAAAAGH1kRjiOjoFNAAAATQAAAFkAHABzcHV0bmlrL0NvbmZvcm1hbmNlLzA3
X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4yX1QyLWV4
cGVjdGVkLnR4dFVUCQADAJj3VACY91R1eAsAAQT1AQAABBQAAABTNy4zX0EzLjJfVDIKClBBU1Mg
U3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmllciAnbGluZScKClRFU1QgQ09NUExFVEUK
ClBLAwQUAAIACAAYfWRGmxrlPOQHAAALGwAAXQAcAHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4
aWNhbF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9ycy9TNy4zX0EzLjJfVDItcHJldHR5
LWRpZmYuaHRtbFVUCQADAJj3VACY91R1eAsAAQT1AQAABBQAAAC1WWtv47gV/Z5fISToBlhEkp+Z
2M64mEkcFOhsO6jT7seAkiiLE0nUklRiT9v/3suXLMmS7cVOd7Ajmbwkz32eS819IrJ0eXGfYBTB
I8MCOWGCGMfi43UpYvfuGoa52KV4eTFPSf5648zfCCcCR86/Lxz4T+CtcCMcUoYEofncyWmOF2oq
oCzCzA2oEDSbO8Ni60TwjqPFxX8v9HZmk5CmlM2dq8F4pua8J5LiRxLHZj5A4euG0TKPXCsa38k/
9YP0CZymJHKuoijSczHNhRujjKS7uZPRnPIChQZghtiGAOQhzpyBHiooKKf0YDgFjd6wApQMW0jH
43HH/hzl3OWYkbg2ycl3rM6oH+qmOBZzZ+BN7XhEeJEi2ITkYBmD8J1EIoHFg8GfDD4URSTfVCs1
NuMa+db0joFL8gRAiUo8oW+YtTSaTqeLPmNjrM3gSZ98gbO4WRynFIEajGwS0fSclHoA9RHoYo+i
YHoiQMVBS2WBghS7IU7Thpau2rdhpfcEtHOVD2WovTNU7JGtcSh91xs0anEzZNrhYmLW2h0CalBs
9QmrbQHuhf1BNXzjePLR1rAXHicRDnbyb0dB/ZzS8PUrYsIDVecxYVy4YULSqNew8rg1rL85thnD
Gbj25sR55gxrfh1wbiBFGmE3tVEH0SJIiFIXpWQDuSFoh1oMy0j/C8qjFFtzmH2kCeXvBGuH7uM5
LBmXrpGw2xmIAvBOaT0GZ1aBo5NHwTuGohHnh+GwYXi3aAWmNz3lL21ixxP0pJm9mNGsZWxTH+UZ
0up/K7MAM4gmXI8uPWqBH5ZRE7WzWaMA2nTpKoM2kyeTSWe5qXu/qjFyo6lOAZ0GVcE3cWDCsytE
NNxGOI1NwaoprlTsLDiaJHrNcqRIFUxmp4RpDGiriYkaq0gjV2GRq7NVTYE91U/Qg2H06soBDYhk
aIMbnpk7o8rgQYqkFaVgCKUBMAAU8+a09d575W4y6629MY73BUCGFexY0WMtmzuWRnHUXArO5v3i
MzxbHOP0aidTZeo4TFb003UUHWzgRDjtX4FnJ9H4PzvrsigoE8C0zEQyGDXLcC6487MP56FSJFTb
W7OxbGYg6gXEaWg9pRYomR7+r2QkGAQhoYRtObu1gS3LDUrTB4ugU3qkuSxDW7dF7xn0BWZoNKh4
p3002P3oOVVmVyndOKYLp0cLrGnTfcfBKxGuYDLttCU0cMcb8UVNjYlR+ooLJEr+uQyAwys+9GT2
dMKRSwSlaYBYc94eHadYZeh+IqPfq9GqOI11Hps+Sr7abkG+97eEfZXjaCu3D4uYbLHex9TjQVMl
D6keRKfZIYu/E6gFrBVq1Z7fXZJHeAtF6ohqeyKsQejSyxSjBr3dmSqWS5gmYTupCc4L6PYk0Ns9
0KEOYktC+pcCa94rBjM/K8BVZ9Y4msQMZRphK0+abUQtRx56Ku2hbXbQa9J3w/U4hcYReuYziOl2
9rQPL8PJPZPKEM25qo2MDtvjZnNs9tDmO4zh3pYgsnVWH/PJFgV71RnUZ58tR7buJLcfbEE7hHkk
SWq3HZ4h3cvXa25OGQwveqqM0V+2YLzrcK2HzetBl0iKApzOUQwZdnOwXI+rTRQh56DqpfMf53Jx
URFxjb7bq1MEHTqNXbErcOdWl72IjGDripvgVBXIqhlFshnt4airDHNuG49eO3e5pZYda1Woz6FC
oBhoiN4ILflDNQLN7HecP9TIsovnbcvRppg6uchaDlGrIsHWdvPbRKIpImPLgWehMaEBPQ4WMica
dGHavp6mr86zQQlZldfrjuX3iLzNYxoaG9JSyHpRT78gLRWTmCmIlxiwAIMNrSJ1slS7QA/znGB9
km+YdgP4pQ6COgLmAi1tQo07bwTJmix+MTEBYANG38Hh0AkkCNaapogITzZBlR6Tqeniq1bE/LbV
QTay8v9Bk0TtJ512j5+RCG5ZWjHpIG4v3x2MAn0Y5egNbA8WwC1eqd/0DqjOHXpj3TLtP35Y9u/w
wdXj42Mtpa/unh6fpk+d9Qmay+4oXq1WXajnOCugQjWcb9q0lqQHr4C0kfmr2d3gztStMMWIvaj2
wF4F5Ii6NiVS5N43X93uechIAT5l4cfLRIiCz30ffUNbb0PpBhYVhMvQVWN+SgLuf/utxGznD72J
NzI/PGgtvW/8cgn7qv2WTnPnkEbYlT7E7yD3Z/C0dObHyV1tCYAyHwoDGu3gAfkAuBHnH6/tTUB+
L0yGS/9f4E+oWf4jEshf/br2f8XBX4kwj88lSSP/H8C7iGMfIgXM6QoMFRau72UquM+LUuTk1YdS
GkvayEPsDz68fMFbGYAvMPwGuSAbLf+DN36Rt4qXZ8xATSQo4/5ajn4ae6OX55ELvU6JUk9sBWgw
bAKvfTe6PpxR9/m+cXnPd3gCjXfUEpFwnMb3IfUdFTjXSqgvA/t243o5BDPD/LIhBQXgtAyQ+PWy
rq+RAncBpD8MbHQGsFE/sDYY9ahDqqWClFbTh8DPc4a+V550Rk3uqOrjM1T/KQ94sejX/+un9dpZ
7+Dk7YoxWQj+meNtoRtOEskgjglA+ukKGgO5sXo5abWm3lAXTytthI5qfEQbeoZpfpfG90DUy4lz
78vn71T/RwbNj8rgyRlmm5yfKH8MzPQMMNN+MM+r9bPz8Pdfvn5ZPa9+LLLbM5Dd/n/qSeuhWAwY
Qf0b2P8AUEsDBBQAAgAIABh9ZEaQ3mKSeQAAAIUAAABXABwAc3B1dG5pay9Db25mb3JtYW5jZS8w
N19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMuMl9UMy1h
Y3R1YWwudHh0VVQJAAMAmPdUAJj3VHV4CwABBPUBAAAEFAAAADXLvQqDMBAA4P2e4jY3h6ZgyRbk
6OIfXDpL0LMENMo1Bfv27dLxG76677hvCFtidneyuMYkWN0s8iflcJLqrhYfSc5DpiwzxllSjksU
xSsW075tPxfAVWlGZ8rL6A3A4JiR/uUI+orpiUuI61sFwBN7rPt2aMgTwBdQSwMEFAACAAgAGH1k
RgrTH4r3AAAADQIAAFUAHABzcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlv
bnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4yX1QzLWRpZmYudHh0VVQJAAMAmPdUAJj3
VHV4CwABBPUBAAAEFAAAAM2PwU7DMAyG730K33YoaYBOKtqpZUQcKAyRwY5VaF0UkSZV4qDu7WkR
k3bnwsWWf8mfPzPGgL85EwcM/E6R4uIg+QHfHzT9ttuoTcdf0KAKyI06ukiMMBDzGKKhwMMYyepP
vnW2d35QtkV+WTQ1TrpVppnjL7SknQ28yPKm1habPfpBW0XOBy6XtMqz62afM5xGbAm7jCZK0jT9
Z3qqpajMj1xZAru6WEO6lLJM2Hb3JHe1gEchZXUvNmBmFBQ3G5BHS2oS3ju/gVd7+hF0t1zuNXpY
tW4Y5mmVpH/irM9IcK6eQALPlZQgTluj8kHbD+iVNtFj8g1QSwMEFAACAAgAGH1kRnEPQ3B3AAAA
gwAAAFkAHABzcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xp
bmVfVGVybWluYXRvcnMvUzcuM19BMy4yX1QzLWV4cGVjdGVkLnR4dFVUCQADAJj3VACY91R1eAsA
AQT1AQAABBQAAAA1y7EKgzAQAND9vuI2N4dmsGQLcnTRRrh0lqBnCWiUawr279ul4xte6+/sO8Ke
mN2NLK4pCzZXi/zJJZ6kuqvFR5bzkKnIjGmWXNKSRLGa9m37qQJuajM6U1/GYAAGx4z0D0fUV8pP
XGJa3yoAgThg6/uho0AAX1BLAwQUAAIACAAYfWRGURNpBeMHAADKGQAAXQAcAHNwdXRuaWsvQ29u
Zm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9ycy9TNy4z
X0EzLjJfVDMtcHJldHR5LWRpZmYuaHRtbFVUCQADAJj3VACY91R1eAsAAQT1AQAABBQAAACtWWtz
27gV/e5fwbGn65kdk5QsKdHDUSex5Xam2cdUafejByRBETFIsABoy9ntf+/FiyIpUvZOupkNKeAC
OPd5LpibTOZ0fXaTYZTAI8cSeXGGuMDyw2UlU39+CcNCvlC8PltSUjxeecsnIojEiff7mQf/SbyX
foJjxpEkrFh6BSvwSk9FjCeY+xGTkuVLb1zuvQTecbI6+++Z2c5uEjPK+NK7GE0Wei64JxTfkTS1
8xGKH3ecVUXiO9F0rv40DzInCEZJ4l0kSWLmUlZIP0U5oS9LL2cFEyWKLcAc8R0ByGOceyMzVDJQ
TuvBMQWNnrAGlI07SCeTSc/+AhXCF5iTtDEpyDesz2ge6lOcyqU3CmZuPCGipAg2IQVYxiJ8JonM
YPFo9BeLDyUJKXb1SoPNuka9tb1j4ZIiA1CyFs/YE+YdjWaz2WrI2BgbMwTKJ5/hLGEXp5QhUIOT
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
My4zX1QyCgpQQVNTIFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGlkZW50aWZpZXIgNCAnbGluZScK
ClRFU1QgQ09NUExFVEUKClBLAwQUAAIACAAYfWRGJHB0K98AAADRAQAAVQAcAHNwdXRuaWsvQ29u
Zm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9ycy9TNy4z
X0EzLjNfVDItZGlmZi50eHRVVAkAAwCY91QBmPdUdXgLAAEE9QEAAAQUAAAAzY8xT8MwEIV3/4rb
Ohj3gCIqMaWUTARRYUPHyCRXycKxK/uM0n9PgqjEyMjyTvr0Tu89pRTgW/RloIwPli3We417en90
/HPui/M9vpAnmwm9PcXCiimzSpSL54z5WDi4D9zGcIhpsKEjvFy3DY2us76d8CcFdjFkXC9XbeMC
tYbS4ILlmDLqmW5Wk5hrReOROqZ+ySMLKeU/q2c7LtZ/l6sqUFcXtyBnqSoBv40ChNpttAZ9CmzH
OqWY7uA1nOeB6+fQg6MECz9FLoT8q//m/AECTK0NbJ+fdk1t6gl8AVBLAwQKAAIAAAAYfWRGRPKL
VE0AAABNAAAAWQAcAHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83
LjNfTGluZV9UZXJtaW5hdG9ycy9TNy4zX0EzLjNfVDItZXhwZWN0ZWQudHh0VVQJAAMAmPdUAJj3
VHV4CwABBPUBAAAEFAAAAFM3LjNfQTMuM19UMgoKUEFTUyBTeW50YXhFcnJvcjogVW5leHBlY3Rl
ZCBpZGVudGlmaWVyICdsaW5lJwoKVEVTVCBDT01QTEVURQoKUEsDBBQAAgAIABl9ZEY6f8EG5AcA
AAsbAABdABwAc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19M
aW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMuM19UMi1wcmV0dHktZGlmZi5odG1sVVQJAAMBmPdUAZj3
VHV4CwABBPUBAAAEFAAAALVZ3W7juBW+z1MICboBFpFkx3YmtjMpZhIHBTrbDuq0exlQEmVxQola
kk7safvuPfyTJVmyvdjpDnYkk4fkd36/Q81dJnN6f3aXYZTAI8cSeXGGuMDy4+Vapv7tJQwLuaX4
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
dAGNgdpYvxy1WlNvqIvHlbZCBzU+oA07wTS/S+M7IOr7sXcXqufvVP9HBs2PyuDxCWYbn54ofwzM
5AQwk34wz4vls/fw91++flk8L34sspsTkN38f+pJ66FZDBhB/xvY/wBQSwMECgACAAAAGX1kRm9S
6uFPAAAATwAAAFcAHABzcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMv
Ny4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy40X1QyLWFjdHVhbC50eHRVVAkAAwGY91QBmPdU
dXgLAAEE9QEAAAQUAAAAUzcuM19BMy40X1QyCgpQQVNTIFN5bnRheEVycm9yOiBVbmV4cGVjdGVk
IGlkZW50aWZpZXIgNCAnbGluZScKClRFU1QgQ09NUExFVEUKClBLAwQUAAIACAAZfWRG4Ejj6uAA
AADRAQAAVQAcAHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjNf
TGluZV9UZXJtaW5hdG9ycy9TNy4zX0EzLjRfVDItZGlmZi50eHRVVAkAAwGY91QBmPdUdXgLAAEE
9QEAAAQUAAAAzY8xT8MwEIV3/4rbOgTngFZUYkopngiiwqEdI5NcJQvHruwzSv89CaISIyPLe9Kn
d3rvpJSA++DyQAkfDRtUB40Hen+y/GMP2boeX8mRSYTOnENmyZRYRkrZccJ0yuztB26DP4Y4GN8R
Xq/bmkbbGddO+JM82+ATrstlW1tPbUNxsN5wiAn1TDfLctU2t5LGE3VMfckji6Io/tk803E27ntc
VYG8ubqDYpaqEvA7KEDI3UZr0GfPZlQxhngPb/7yHth+Lj1airBwU+VCFH/Nry4XIKBRuoHty/Ou
Vo2awBdQSwMECgACAAAAGX1kRvONAhJNAAAATQAAAFkAHABzcHV0bmlrL0NvbmZvcm1hbmNlLzA3
X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy40X1QyLWV4
cGVjdGVkLnR4dFVUCQADAZj3VAGY91R1eAsAAQT1AQAABBQAAABTNy4zX0EzLjRfVDIKClBBU1Mg
U3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgaWRlbnRpZmllciAnbGluZScKClRFU1QgQ09NUExFVEUK
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
C7Phffgv8CfUrPARSRQufl2Gv+Lor0Tax+c1oUn4D+BdJHAIkQLm9CWGCgvX9zWVIhTlWhbkNYRS
miraKGIcDj68fMEbFYAvMPwGuaAarfBDMHpRt4qXZ8xBTSQZF+FSjX4aBeOX52sfep01ooHcSNBg
2ARe+250uT+j7/N94+qe74kMGu+kJaLgeI3vQ/o7KnCuk9BfBnbtxuX9EMwM8/cNKSgAx2WAxC/v
6/paKXAXQPrDwK5PAHbdD6wNRj/qkGqpoKT19D7w05xh7pVHnVGTO6j66ATVfyoiUc779f/6abn0
lls4ebPgXBWCfxZ4U5qGkyQqiFMCkH66gMZAbaxfjlqtqTfUxeNKW6GDGh/Qhp1gmt+l8R0Q9f3Y
uwvV83eq/yOD5kdl8PgEs41PT5Q/BmZyAphJP5jnxfLZe/j7L1+/LJ4XPxbZzQnIbv4/9aT10CwG
jKD/Dex/UEsDBAoAAAAAACN9ZEYAAAAAAAAAAAAAAAA4ABwAc3B1dG5pay9Db25mb3JtYW5jZS8w
N19MZXhpY2FsX0NvbnZlbnRpb25zLzcuOF9MaXRlcmFscy9VVAkAAxGY91RtmPdUdXgLAAEE9QEA
AAQUAAAAUEsDBAoAAAAAACN9ZEYAAAAAAAAAAAAAAABaABwAc3B1dG5pay9Db25mb3JtYW5jZS8w
N19MZXhpY2FsX0NvbnZlbnRpb25zLzcuOF9MaXRlcmFscy83LjguNV9SZWd1bGFyX0V4cHJlc3Np
b25fTGl0ZXJhbHMvVVQJAAMSmPdUbZj3VHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAAjfWRGqj90
iZkAAACwAAAAcwAcAHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83
LjhfTGl0ZXJhbHMvNy44LjVfUmVndWxhcl9FeHByZXNzaW9uX0xpdGVyYWxzL1M3LjguNV9BMy4x
X1Q3LWFjdHVhbC50eHRVVAkAAxGY91QRmPdUdXgLAAEE9QEAAAQUAAAANc1BC4IwFADg+37Fu+02
jErDTiKvCDSFrVsgYz5hMGZsM/TfV4fO3+Gru7vsGoQWpayuWIKznqDIS5CbT3rFEOZQwsPT+iKT
aAQ7kk92shTgAPy5ZFlecAH4d37moKf05bcOMJJxOuhkZy+YLMRJHIdqL3aDKhi7VLcG4mIMxTgt
zm29DvFXRPBzgkiJMYVSQd21fYMKGfsAUEsDBBQAAgAIACN9ZEY0JkbtIwEAAJQCAABxABwAc3B1
dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuOF9MaXRlcmFscy83Ljgu
NV9SZWd1bGFyX0V4cHJlc3Npb25fTGl0ZXJhbHMvUzcuOC41X0EzLjFfVDctZGlmZi50eHRVVAkA
AxGY91QRmPdUdXgLAAEE9QEAAAQUAAAA1ZCxTsNADIb3PIW3DOFyrSgNKktKCQgRKGqALkiRSRx0
4nqp7nxV+vYkBYQYEROLLdu//H+2EALkU6v9hpy8QEaZrQu5ppcbxZ/p3CtdyxVpQkdS4771LJgc
C0vOa3bSbT0b9SYXrWlau0FTkRwlZU6dqlCXfXtHhlVrnEzi0zJXTBb1oYhPyhW9eo22zLptv9D1
sm9F8SGZH8fj8iER1G2pYqpj7jiIougfoWPFHvUBPE1BjI8mEA0hTQOxWN4VyzyD26wo5lfZDLQy
BMl0BsXeMHaZta2dwaP5uh9UPVA1iiyEz340miZhDNnXNDwLAZueA3ZooaaqZ8ThiDiI/uQ1+aUb
/HxCAAFczq9zcL6q+n81Xuv9PVo3uDgwLYMjDt4BUEsDBBQAAgAIACN9ZEb06hnalwAAAK4AAAB1
ABwAc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuOF9MaXRlcmFs
cy83LjguNV9SZWd1bGFyX0V4cHJlc3Npb25fTGl0ZXJhbHMvUzcuOC41X0EzLjFfVDctZXhwZWN0
ZWQudHh0VVQJAAMRmPdUEZj3VHV4CwABBPUBAAAEFAAAADXNsQrCMBAA0D1fcVu2UBEbqVORU4TW
FhI3oYT0CoGQSpJK+/fq4PyGd+7uqmsQWlSqvmIF3gUCWVagtpDNijHOsYJHoPVFNtMIbqSQ3eQo
An8uRVFKLgD/yk8czJS/+DYRRrLeRJPdHARTUhzFYaj3YjdoydilvjWQFmsppWnxfutNTL8gQZgz
JMqMaVQazl3bN6iRsQ9QSwMEFAACAAgAI31kRheTicESCAAARRoAAHkAHABzcHV0bmlrL0NvbmZv
cm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy44X0xpdGVyYWxzLzcuOC41X1JlZ3VsYXJf
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
9RZyQTZa/q03fX6CrIZyox68yfNveFNSMDDQHCwoNTlIrLXIx5E3fP5860IfVCLqiZ0A7YZNpWrf
lC6PR9RZv++9/Abg6GNOS0QegJzmt6ODHBSmzAqqjweHjuRyOQRPwPiyIQU1oi7zXRbwfNEpCGR/
ubz/5ef1L08r56fVev3xL6u5muzc3syd9R7g7FZFIYP1bxkcvHVTRCJp6JgAzu8ugLz+UQ4GN7fq
1nNWVko9L9RvR7PjFpphOLWBG9SxzTOYIIjAGPbSbztI9bcNZ4ROWu2ERdg7zPvtVrsDQlqOnTtf
Xv+/JqyVlculGTay/3Xw8gROlG/74E37X7/D9Nf9pm+ma9sC3wZt9A5oo35o/1sw43eAGfeDefz4
wxMQfxhCvYtLSve/yj/jQCByIGHVTnxL9LQuqv5DvVR/PfoPUEsDBBQAAgAIACN9ZEbWT12SmQAA
ALAAAABzABwAc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuOF9M
aXRlcmFscy83LjguNV9SZWd1bGFyX0V4cHJlc3Npb25fTGl0ZXJhbHMvUzcuOC41X0EzLjFfVDgt
YWN0dWFsLnR4dFVUCQADEZj3VBGY91R1eAsAAQT1AQAABBQAAAA1zUELgjAUAOD7fsW7eRtGpWYn
kVcEmsLWLZAxnzAYM7YZ+u+rQ+fv8NXdXXQNQotCVFcswRpHkGcliM1FtaL3sy/h4Wh9kY40ghnJ
RTMZ8nCA5LmkaXZKOODfk3MCaopffisPI2mrvIpmdpyJnBf8OFR7vhtkwdilujUQFq0phGmxduuV
D78igJsjBIqMSRQS6q7tG5TI2AdQSwMEFAACAAgAI31kRnvbbTMjAQAAlAIAAHEAHABzcHV0bmlr
L0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy44X0xpdGVyYWxzLzcuOC41X1Jl
Z3VsYXJfRXhwcmVzc2lvbl9MaXRlcmFscy9TNy44LjVfQTMuMV9UOC1kaWZmLnR4dFVUCQADEZj3
VBGY91R1eAsAAQT1AQAABBQAAADVkLFOw0AMhvc8hbcM4XKtKG0pS0oJCBEoaoAuSJFJHHTieqnu
fCh9e5JChRgRE4st27/8f7YQAuRTo/2GnLxARpmuc7mmlxvFX+ncK13JFWlCR1LjrvEsmBwLS85r
dtJtPRv1JheNqRu7QVOSHEyKjFpVoi669jsZVo1xchJPi0wxWdT7Ij4pVvTqNdoibbfdQtfJvhX5
p2R+HA+Lh6mgdkslUxVzy0EURf8IHUv2qPfgSQJieDSCqA9JEojF8i5fZincpnk+v0pnoJUhmIxn
kO8MY5ta29gZPJrD/aCqnqpWZCF89oPB+DSMIT1Mw7MQsO444B0tVFR2jNgfEQfRn7xGv3SDn08I
IIDL+XUGzpdl96/aa727R+t6FwemYXDEwQdQSwMEFAACAAgAI31kRoiaMMGYAAAArgAAAHUAHABz
cHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy44X0xpdGVyYWxzLzcu
OC41X1JlZ3VsYXJfRXhwcmVzc2lvbl9MaXRlcmFscy9TNy44LjVfQTMuMV9UOC1leHBlY3RlZC50
eHRVVAkAAxGY91QRmPdUdXgLAAEE9QEAAAQUAAAANc1BC4IwFADg+37Fu+02jEjNTiKvCDSFrVsQ
Yz5hMGZsM/TfV4fO3+Fr+pvsW4QOpawvWIGznqDIK5CbT3rFEOZQwd3T+iKTaAQ7kk92shSAP5Ys
y49cAP6VnzjoKX3xrQOMZJwOOtnZCyYLUYrDs96L3VOVjJ3rawtxMYZinBbntkGH+Asi+DlBpMSY
Qqmg6buhRYWMfQBQSwMEFAACAAgAI31kRvu7QBkSCAAARRoAAHkAHABzcHV0bmlrL0NvbmZvcm1h
bmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy44X0xpdGVyYWxzLzcuOC41X1JlZ3VsYXJfRXhw
cmVzc2lvbl9MaXRlcmFscy9TNy44LjVfQTMuMV9UOC1wcmV0dHktZGlmZi5odG1sVVQJAAMRmPdU
EZj3VHV4CwABBPUBAAAEFAAAALVZa2/jNhb9nl8hJNgGKCLJju2MHxkvZhKnLZo+UM+2XxYIKImy
OKFEVaQce3b3v+/lS5ZkyUkxuxNM9OAlee7zXCq3iUjp8uw2wSiCS4oFcsIEFRyL95eliN3pJbzm
Yk/x8mxOSfZ85cy3hBOBI+dfZw78E3gn3AiHrECCsGzuZCzDCzUUsCLChRswIVg6d4b5zongHkeL
s/+c6eXMIiGjrJg7F4PRTI15D4TiexLHZjxA4fOmYGUWuVY0nsqf+kZ6B84oiZyLKIr0WMwy4cYo
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
/jCEeheXlO5/lX/GgUDkQMKqnfia6GldVP2Heqn+evRfUEsDBBQAAgAIACN9ZEaQl0zYmQAAALAA
AABzABwAc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuOF9MaXRl
cmFscy83LjguNV9SZWd1bGFyX0V4cHJlc3Npb25fTGl0ZXJhbHMvUzcuOC41X0EzLjFfVDktYWN0
dWFsLnR4dFVUCQADEZj3VBGY91R1eAsAAQT1AQAABBQAAAA1zUELgjAUAOD7fsW7eRtGpWUnsVcE
msLWLZAxnzAYM7YZ+u+rQ+fv8FXtXbQ1QoNClFcswBpHkGcFiNVFtaD3ky/g4Wh5kY40gBnIRTMa
8rCD5DmnaXZOOODfk1MCaoxffisPA2mrvIpmcpyJnB/4vi+3fNPLI2OX8lZDmLWmEMbZ2rVTPvyK
AG6KECgyJlFIqNqmq1EiYx9QSwMEFAACAAgAI31kRm8hZfojAQAAlAIAAHEAHABzcHV0bmlrL0Nv
bmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy44X0xpdGVyYWxzLzcuOC41X1JlZ3Vs
YXJfRXhwcmVzc2lvbl9MaXRlcmFscy9TNy44LjVfQTMuMV9UOS1kaWZmLnR4dFVUCQADEZj3VBKY
91R1eAsAAQT1AQAABBQAAADVkLFOw0AMhvc8hbcM4XKtKC2UJaUNCBEoaoAuSJFJHHTieqnufCh9
e5JChRgRE4st27/8f7YQAuRTo/2GnFwgo0zXuVzTy43ir3Thla7kijShI6lx13gWTI6FJec1O+m2
no16k/PG1I3doClJDiZFRq0qURdd+50Mq8Y4OYlPi0wxWdT7Ij4pVvTqNdoibbfdQtfJvhX5p2R2
HA+LhzNB7ZZKpirmloMoiv4ROpbsUe/BkwTE8GgEUR+SJBDz5V2+zFK4TfN8dpVOQStDMBlPId8Z
xja1trFTeDSH+0FVPVWtyEL47AeD8SKMIT1Mw/MQsO444B0tVFR2jNgfEQfRn7xGv3SDn08IIIDL
2XUGzpdl96/aa727R+t6FwemYXDEwQdQSwMEFAACAAgAI31kRs5CIYuYAAAArgAAAHUAHABzcHV0
bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy44X0xpdGVyYWxzLzcuOC41
X1JlZ3VsYXJfRXhwcmVzc2lvbl9MaXRlcmFscy9TNy44LjVfQTMuMV9UOS1leHBlY3RlZC50eHRV
VAkAAxGY91QRmPdUdXgLAAEE9QEAAAQUAAAANc1BC4IwFADg+37Fu+02jEjLTmKvCDSFrVsQYz5h
MGZsM/TfV4fO3+Gru5vsGoQWpawuWIKznqDIS5CrT3rBEKZQwt3T8iKTaAA7kE92tBSAP+Ysy09c
AP6VHznoMX3xrQMMZJwOOtnJCyYLsRe7Z7UVm6c6MHaurg3E2RiKcZydW3sd4i+I4KcEkRJjCqWC
umv7BhUy9gFQSwMEFAACAAgAI31kRkJw43kSCAAARRoAAHkAHABzcHV0bmlrL0NvbmZvcm1hbmNl
LzA3X0xleGljYWxfQ29udmVudGlvbnMvNy44X0xpdGVyYWxzLzcuOC41X1JlZ3VsYXJfRXhwcmVz
c2lvbl9MaXRlcmFscy9TNy44LjVfQTMuMV9UOS1wcmV0dHktZGlmZi5odG1sVVQJAAMSmPdUEpj3
VHV4CwABBPUBAAAEFAAAALVZa2/jNhb9nl8hJNgGKCLJju2MHxkvZhKnLZo+UM+2XxYIKImyOKFE
VaQce3b3v+/lS5ZkyUkxuxNM9OAlee7zXCq3iUjp8uw2wSiCS4oFcsIEFRyL95eliN3pJbzmYk/x
8mxOSfZ85cy3hBOBI+dfZw78E3gn3AiHrECCsGzuZCzDCzUUsCLChRswIVg6d4b5zongHkeLs/+c
6eXMIiGjrJg7F4PRTI15D4TiexLHZjxA4fOmYGUWuVY0nsqf+kZ6B84oiZyLKIr0WMwy4cYoJXQ/
d1KWMZ6j0ABMUbEhAHmIU2egX+UMlFN6FJiCRlusACXDFtLRaNSxPkcZdzkuSFwb5OQLVnvUN3Up
jsXcGXgT+z4iPKcIFiEZWMYgfCGRSGDyYPA3gw9FEck21UyNzbhG3jW9Y+CSLAFQohJP2BYXLY0m
k8miz9gYazN40iePsBc3k2PKEKhRkE0imp6TUnegPgJd7FYMTE8EqDhoqSxQQLEbYkobWrpq3YaV
XhLQzlU+lKH2UqD8gGyNQ+m73qBRk5sh0w4XE7PW7hBQg3ynd1jtcnAvrA+q4SvHk5e2hr3wOIlw
sJe/HQX1I2Xh86+oEB6oOo9JwYUbJoRGvYaV261h/tWpxQqcgmuvXtnP7GHNrwPODaRII+wmNuog
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
bmNlLzEyX1N0YXRlbWVudC8xMi4xMV9UaGVfc3dpdGNoX1N0YXRlbWVudC9TMTIuMTFfQTNfVDUt
YWN0dWFsLnR4dFVUCQADCZj3VAmY91R1eAsAAQT1AQAABBQAAABFy70KgzAUhuE9V/Ft2aT2B4qb
SOiiVTjpLKke24AkEiPVoffeLqXbCw9vUV+pLhUqRZRfVIbROsZ5l4E2F82qQvAhw83xOnEXuYft
2UU7WA44QgaelzHKBOrn8i0RPdj1MLj7foMfviXnl43dUyaC0n2Spm1+aPVJiCYn+s+TCbN1DwzG
jktgIbQijaKumlJpJcQHUEsDBBQAAgAIAB19ZEbJdI+jBQEAAFkCAABRABwAc3B1dG5pay9Db25m
b3JtYW5jZS8xMl9TdGF0ZW1lbnQvMTIuMTFfVGhlX3N3aXRjaF9TdGF0ZW1lbnQvUzEyLjExX0Ez
X1Q1LWRpZmYudHh0VVQJAAMJmPdUCpj3VHV4CwABBPUBAAAEFAAAAM2QP0/DMBDF93yK2zIExwSK
hDKllIiBP0W40DFykwu1cOzIPot04LsTSCs6w8Jyd09Pp/e7Y4wBf7E6dOj5tSTJy7Xga9zcKtq3
q6B0w59Qo/TItdzZQIzQE3PogybPfR/IqDe+sKa1rpOmRp6dVYIkYYeGRpFmWbXaYuXfFdXbI0tM
3vy8Wl0wHHqsCZuUBoqSJPlHaLKmIPU3WFEAy05mkHyVoojYYvkglncl3JdCzG/KHLQyCJenOYid
ITmUzlmXw7M53AeqGQNUq9BBPKHGKZQHN/6IgSygaUDCxjY7sO04xRNhnEbJnxJnv8qE43dEEMHj
XIif/V46r8wrtFLp4DD6BFBLAwQUAAIACAAdfWRGi6AG85IAAACtAAAAVQAcAHNwdXRuaWsvQ29u
Zm9ybWFuY2UvMTJfU3RhdGVtZW50LzEyLjExX1RoZV9zd2l0Y2hfU3RhdGVtZW50L1MxMi4xMV9B
M19UNS1leHBlY3RlZC50eHRVVAkAAwmY91QJmPdUdXgLAAEE9QEAAAQUAAAARcuxCsIwEIDhPU9x
W7ZiFUG6lXK4tLZwcZbYXPWgJCVNsR18d13E7YePv2ov1NYIDRKVZyxgFM9w2hVAm092xRhDLODq
eZ24T+xAHPskg3AEHXlexqQzwJ/qt4YUgL0DC/fgNgjDt/T8ktQ/daYo32d5fisPN3NUqiuJ/vNk
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
JS9wgXwA3EiI95fuJKC+F2bjVfgb+BM4K7xHEoXr3zfh7zj6F5H28rEiNAl/gbqLBA4hUsCcvsTA
sHB8r6gUoSgrWZCnEKg0VWWjiHE4vn5UFIZVlsJDMB4/Quo8ih2RcdYY2pixD5PHTzMf+pwK0UDu
JaAft0E3vhldHo/os/zQe3XG98wxpiOiDjhe+9vQQQ6Ip3CC+uPAoeO4XI3B0jC+akkBBzRlvi0i
Ud70CkIxv1zd/fTj5qfv194P683mwz/WSz3Zm4+W3uYF4OzXnKtg/LWAg7VpekgCNiMpAZzfXkBx
Mh7Qt4G3dlL6+S/9W9ESLhIoyCoMPJbCnR4wjjAzLUIIGTCNuwxbEhL7dTNaoZM2PGEf9gZjf70N
b6H8rKbebaiu/0+DNijlcmWHrex/Hdgig9Pk6x551RvXb3DE9bAjmonc1f/rgE3eAGwyDOx/C2b6
BjDTYTA/f9hsDnFVImBuqDwpIrTi+GvCpnPRpA8kqv9k9B9QSwMECgAAAAAAHX1kRgAAAAAAAAAA
AAAAADsAHABzcHV0bmlrL0NvbmZvcm1hbmNlLzEyX1N0YXRlbWVudC8xMi42X0l0ZXJhdGlvbl9T
dGF0ZW1lbnRzL1VUCQADCpj3VG2Y91R1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAIH1kRgAAAAAA
AAAAAAAAAFQAHABzcHV0bmlrL0NvbmZvcm1hbmNlLzEyX1N0YXRlbWVudC8xMi42X0l0ZXJhdGlv
bl9TdGF0ZW1lbnRzLzEyLjYuM19UaGVfZm9yX1N0YXRlbWVudC9VVAkAAwuY91RtmPdUdXgLAAEE
9QEAAAQUAAAAUEsDBBQAAgAIAB19ZEZSpRbSmAAAALkAAABuABwAc3B1dG5pay9Db25mb3JtYW5j
ZS8xMl9TdGF0ZW1lbnQvMTIuNl9JdGVyYXRpb25fU3RhdGVtZW50cy8xMi42LjNfVGhlX2Zvcl9T
dGF0ZW1lbnQvUzEyLjYuM19BOC4xX1QzLWFjdHVhbC50eHRVVAkAAwqY91QKmPdUdXgLAAEE9QEA
AAQUAAAARcyxCsIwEIDhPU9xW7ZgrUjpVuRwaW0hcS7BXjUQk3BGbd9eHMT55/sP/Un3LUKHWjdH
rMG7QFBtatBryHZB5sg1nAMtiS6ZJnAThexmRww7kC5MtEgF+MsWZC1hjt7HtwtXyDeCxDER5xWC
vRPIl2WphC62aq/KsalUMZpSiKHR+v9Jlh9fP1vnn0xCGNQGDn03tGhQiA9QSwMEFAACAAgAIH1k
RtbQGUYXAQAAoAIAAGwAHABzcHV0bmlrL0NvbmZvcm1hbmNlLzEyX1N0YXRlbWVudC8xMi42X0l0
ZXJhdGlvbl9TdGF0ZW1lbnRzLzEyLjYuM19UaGVfZm9yX1N0YXRlbWVudC9TMTIuNi4zX0E4LjFf
VDMtZGlmZi50eHRVVAkAAwuY91QLmPdUdXgLAAEE9QEAAAQUAAAA1ZBPT8JAEMXv/RRz66FuV4QY
0lMRG2P8g3FBjs1Ip7Jxu9vsTrV8e4FAMF45eZnJ5Jd5780IIUC+OdM1FOQtMspiqeSS3h80H9pN
p00lX8kQBpIGN65jwRRYeAqd4SBD27HVn3LqbO18g3ZFcnBVKkamhixvh/S6vGfyyNrZEwh7kg7L
+ZrK7eqvFXUgk3E6KOdDQX1LK6Yq5Z6jJEn+R2pccYdmnznPQQwuRpDsSp5HYjp7VrPHAp4KpSZ3
RQZGW4LxZQZqYxn7wnvnM1jY4+mgq62HrjV5iLWtqI9TKI4QIc5iqJ0x7lvbD+A1QetdS543YLEh
iL/Qx2mUnGU8Osca/vwnggheJkqdpFr0YSdRozadp+gHUEsDBBQAAgAIACB9ZEa7IeOZlwAAALcA
AABwABwAc3B1dG5pay9Db25mb3JtYW5jZS8xMl9TdGF0ZW1lbnQvMTIuNl9JdGVyYXRpb25fU3Rh
dGVtZW50cy8xMi42LjNfVGhlX2Zvcl9TdGF0ZW1lbnQvUzEyLjYuM19BOC4xX1QzLWV4cGVjdGVk
LnR4dFVUCQADC5j3VAuY91R1eAsAAQT1AQAABBQAAABFzLEKwjAQgOE9T3FbtmAtSMlWSnBpbeHi
XIK9aiCm4Yzavr04iPPP9zf9CfvWQGcQ66PREHwkqHYacIvZrYZ5YQ3nSGuiS6YJ/EQx+9kTg/Rx
olUqML/oQGoJ8xLC8vbxCvlGkHhJxHmD6O4E8uVYKoHFXh1UOdaVKkZbCjHUiP9Pcvz4+tn58GQS
whq00PTd0BprhPgAUEsDBBQAAgAIACB9ZEZEzEAyBAgAAGYaAAB0ABwAc3B1dG5pay9Db25mb3Jt
YW5jZS8xMl9TdGF0ZW1lbnQvMTIuNl9JdGVyYXRpb25fU3RhdGVtZW50cy8xMi42LjNfVGhlX2Zv
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
RgAAAAAAAAAAAAAAAA0AHABzdmcvYXMtaW1hZ2UvVVQJAAN9jfdUbZj3VHV4CwABBPUBAAAEFAAA
AFBLAwQUAAIACAArfWRG2wjTQjsAAAA/AAAAPwAcAHN2Zy9hcy1pbWFnZS9zdmctaW1hZ2Utd2l0
aC1kYXRhLXVyaS1pbWFnZXMtZGlzYWJsZWQtc3RkZXJyLnR4dFVUCQADIpj3VH2N91R1eAsAAQT1
AQAABBQAAABzLClJzS0oUSjJV0jNKyxNLU1VSFQozy/KVsgESiiUZ2TmpCpAxDOLFZJSM/PSFQqK
8pNTi4tTU/S4AFBLAwQKAAAAAAAPd2RGAAAAAAAAAAAAAAAACwAcAHN2Zy9jdXN0b20vVVQJAAOe
jfdUbZj3VHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAAwfWRGJyKzOGMAAABuAAAAJgAcAHN2Zy9j
dXN0b20vbGlua2luZy11cmktMDEtYi1zdGRlcnIudHh0VVQJAAMsmPdUh433VHV4CwABBPUBAAAE
FAAAAA3KOw6DQAwFwD6ncEcXHyIfCtJtBLWBB0IitmR7I3L7UM/crO4zqSVNDkmQUIjOox2EI6Gx
mdJiTg33ttcPgu+Swo+h8ICx25Jf8rOab0QGx3dlR1j16Zylb58OFNG4ntJc/lBLAwQUAAIACAA8
fWRGIfT28DoAAABCAAAAMAAcAHN2Zy9jdXN0b20vdXNlLWludmFsaWRhdGUtY2xpY2stY3Jhc2gt
c3RkZXJyLnR4dFVUCQADRJj3VJ6N91R1eAsAAQT1AQAABBQAAADLzS8tTvXNL0sNyVdIS8zMSU1R
KAGyMvNSFBIVShKL0lNLFMoyU8sVEksUdA3N9AzAQMfMwAjK5AIAUEsDBAoAAAAAAAJ3ZEYAAAAA
AAAAAAAAAAALABwAc3ZnL3N0cm9rZS9VVAkAA4ON91RtmPdUdXgLAAEE9QEAAAQUAAAAUEsDBBQA
AgAIADB9ZEaSmi5OkAAAAKYAAAAlABwAc3ZnL3N0cm9rZS96ZXJvLXdpZHRoLWhhbmctc3RkZXJy
LnR4dFVUCQADK5j3VION91R1eAsAAQT1AQAABBQAAAAdjL0KwkAQhHufYl7AI4cxyCE2iViolYWF
WGySBQ8ut2Fzxp+nN7Ga+YaPOZMCOeza5datLPg12KwwQRoKaKQz1PeBzZXro09zlBITx2QqHjlI
3039VmRZvrlju1cV3TmUh7/1ThdOJx+5ouHh4ONIwbdoJwKp0seBEgLTkCCRwYHnO3TPaagZUeLy
yypm8QNQSwMECgAAAAAA+nZkRgAAAAAAAAAAAAAAABMAHABzdmcvVzNDLVNWRy0xLjEtU0UvVVQJ
AAN3jfdUbZj3VHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAAofWRGN9WeJWYAAABxAAAAMAAcAHN2
Zy9XM0MtU1ZHLTEuMS1TRS9maWx0ZXJzLWltYWdlLTA1LWYtc3RkZXJyLnR4dFVUCQADHJj3VHeN
91R1eAsAAQT1AQAABBQAAAANyj0OgkAQBtDeU0xHxxxCxUK7NVAPy6chgZ1kfgzeXl/9zprbQk2D
qkECJOTSllkPwhFovmqjlxp1POqWO5wvEsLXqfCE+b4GP+SrGU94ONf00J0Nrmn1n8t4Gwwo0rz3
z7s7/QBQSwMEFAACAAgAKH1kRiciszhjAAAAbgAAADIAHABzdmcvVzNDLVNWRy0xLjEtU0UvcGFp
bnRpbmctbWFya2VyLTA1LWYtc3RkZXJyLnR4dFVUCQADHJj3VHeN91R1eAsAAQT1AQAABBQAAAAN
yjsOg0AMBcA+p3BHFx8iHwrSbQS1gQdCIrZkeyNy+1DP3KzuM6klTQ5JkFCIzqMdhCOhsZnSYk4N
97bXD4LvksKPofCAsduSX/Kzmm9EBsd3ZUdY9emcpW+fDhTRuJ7SXP5QSwMEFAACAAgAKH1kRici
szhjAAAAbgAAADIAHABzdmcvVzNDLVNWRy0xLjEtU0UvcGFpbnRpbmctbWFya2VyLTA2LWYtc3Rk
ZXJyLnR4dFVUCQADHJj3VHeN91R1eAsAAQT1AQAABBQAAAANyjsOg0AMBcA+p3BHFx8iHwrSbQS1
gQdCIrZkeyNy+1DP3KzuM6klTQ5JkFCIzqMdhCOhsZnSYk4N97bXD4LvksKPofCAsduSX/Kzmm9E
Bsd3ZUdY9emcpW+fDhTRuJ7SXP5QSwMEFAACAAgAKH1kRiciszhjAAAAbgAAAC0AHABzdmcvVzND
LVNWRy0xLjEtU0Uvc3RydWN0LWRvbS0xMS1mLXN0ZGVyci50eHRVVAkAAxyY91R3jfdUdXgLAAEE
9QEAAAQUAAAADco7DoNADAXAPqdwRxcfIh8K0m0EtYEHQiK2ZHsjcvtQz9ys7jOpJU0OSZBQiM6j
HYQjobGZ0mJODfe21w+C75LCj6HwgLHbkl/ys5pvRAbHd2VHWPXpnKVvnw4U0bie0lz+UEsDBBQA
AgAIACh9ZEYnIrM4YwAAAG4AAAAtABwAc3ZnL1czQy1TVkctMS4xLVNFL3N0cnVjdC11c2UtMTEt
Zi1zdGRlcnIudHh0VVQJAAMcmPdUd433VHV4CwABBPUBAAAEFAAAAA3KOw6DQAwFwD6ncEcXHyIf
CtJtBLWBB0IitmR7I3L7UM/crO4zqSVNDkmQUIjOox2EI6GxmdJiTg33ttcPgu+Swo+h8ICx25Jf
8rOab0QGx3dlR1j16Zylb58OFNG4ntJc/lBLAwQUAAIACAAofWRGPfkLWF8AAABlAAAALwAcAHN2
Zy9XM0MtU1ZHLTEuMS1TRS9zdHlsaW5nLXByZXMtMDItZi1zdGRlcnIudHh0VVQJAAMcmPdUd433
VHV4CwABBPUBAAAEFAAAAA3KwQ5EQAwA0Pt+RW9uKn4BJ26Ec1GTSWg32pHZv7fv/BpN5w6iDtvN
5AwERrKvmoGzs1hUgUNvKHDWM11s2JITdsuIC699dBzop8knNje0J2C8KPxbXeW6Kr8Sis8LUEsD
BBQAAgAIACl9ZEYCQrfYggAAAN4AAAAtABwAc3ZnL1czQy1TVkctMS4xLVNFL3RleHQtaW50cm8t
MDktYi1zdGRlcnIudHh0VVQJAAMdmPdUd433VHV4CwABBPUBAAAEFAAAAK2NQQ6CQAwA77yiN07Q
EJ+wEjVyYg2cCxRDgttk21X09eIfPM5kknGS1gmCGIyRyRgIlMI0yAa8GQddJMAsEXLsZE0PVjyS
Eda9x56H62LY0FuS3VhNUZ93jKyS4riXZx7K3eSZ+/+lP7jCd6eiKqvC1/iSeVasP5H8pfFt+eM8
+wJQSwMECgAAAAAA+nZkRgAAAAAAAAAAAAAAABUAHABzdmcvVzNDLVNWRy0xLjItVGlueS9VVAkA
A3eN91RtmPdUdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIACh9ZEalvW9UYwAAAGsAAAA5ABwAc3Zn
L1czQy1TVkctMS4yLVRpbnkvc3RydWN0LXVzZS1yZWN1cnNpb24tMDEtdC1zdGRlcnIudHh0VVQJ
AAMcmPdUd433VHV4CwABBPUBAAAEFAAAAA3KMQ6DMAwF0J1TeGOrD1HaDrClgtmUXxQJbCl2EL19
WZ/e3eq2kFrQp0ACJOSiy2wn4QyoZ1P6WqGWR9vqDudOQvgxJZ4w9zl4kJ/VeMPD2Y+V8y7r1dL4
ehYgifrt4rb5A1BLAwQUAAIACAApfWRGpb1vVGMAAABrAAAAOQAcAHN2Zy9XM0MtU1ZHLTEuMi1U
aW55L3N0cnVjdC11c2UtcmVjdXJzaW9uLTAyLXQtc3RkZXJyLnR4dFVUCQADHZj3VHeN91R1eAsA
AQT1AQAABBQAAAANyjEOgzAMBdCdU3hjqw9R2g6wpYLZlF8UCWwpdhC9fVmf3t3qtpBa0KdAAiTk
ostsJ+EMqGdT+lqhlkfb6g7nTkL4MSWeMPc5eJCf1XjDw9mPlfMu69XS+HoWIIn67eK2+QNQSwME
FAACAAgAKX1kRqW9b1RjAAAAawAAADkAHABzdmcvVzNDLVNWRy0xLjItVGlueS9zdHJ1Y3QtdXNl
LXJlY3Vyc2lvbi0wMy10LXN0ZGVyci50eHRVVAkAAx2Y91R3jfdUdXgLAAEE9QEAAAQUAAAADcox
DoMwDAXQnVN4Y6sPUdoOsKWC2ZRfFAlsKXYQvX1Zn97d6raQWtCnQAIk5KLLbCfhDKhnU/paoZZH
2+oO505C+DElnjD3OXiQn9V4w8PZj5XzLuvV0vh6FiCJ+u3itvkDUEsDBAoAAAAAAAR3ZEYAAAAA
AAAAAAAAAAAHABwAdGFibGVzL1VUCQADiI33VG2Y91R1eAsAAQT1AQAABBQAAABQSwMECgAAAAAA
A3dkRgAAAAAAAAAAAAAAAA8AHAB0YWJsZXMvbW96aWxsYS9VVAkAA4aN91RtmPdUdXgLAAEE9QEA
AAQUAAAAUEsDBAoAAAAAAAh3ZEYAAAAAAAAAAAAAAAAUABwAdGFibGVzL21vemlsbGEvYnVncy9V
VAkAA5CN91RtmPdUdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIADd9ZEbrRO7oZwAAAHMAAAAoABwA
dGFibGVzL21vemlsbGEvYnVncy9idWcxMzEwMjAtc3RkZXJyLnR4dFVUCQADOpj3VJCN91R1eAsA
AQT1AQAABBQAAAANyjEOgzAMRuGdU3hj4z9E6dRuoDI7YKpIJpawI0FP32xPn97Dqm5ULGg9hUOI
yblsyS6SK6R4tkK7ndTjY1oPcYwcjOcyYZH0yoE331ZjFg9HcNK2HPbLqoxUv47VHR5386Fl3/0B
UEsDBBQAAgAIADd9ZEbrRO7oZwAAAHMAAAAvABwAdGFibGVzL21vemlsbGEvYnVncy9idWcxMzEw
MjBfaWZyYW1lLXN0ZGVyci50eHRVVAkAAzqY91SQjfdUdXgLAAEE9QEAAAQUAAAADcoxDoMwDEbh
nVN4Y+M/ROnUbqAyO2CqSCaWsCNBT99sT5/ew6puVCxoPYVDiMm5bMkukiukeLZCu53U42NaD3GM
HIznMmGR9MqBN99WYxYPR3DSthz2y6qMVL+O1R0ed/OhZd/9AVBLAwQUAAIACAA0fWRGSNtDA2kA
AAB1AAAAJwAcAHRhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnMTc1ODctc3RkZXJyLnR4dFVUCQADM5j3
VIqN91R1eAsAAQT1AQAABBQAAAANyjEOwjAMBdCdU3jrhg8BTLCB6Ih+WjeySGKpdqTS09PxSe9i
vczULGhaBSEEcrQ52UayhTRXa7TYSgO/rfQqzlcE+DY+eZR01+AHftbjJR7OgVSOUm3XUsBakQ9q
zZw/CdP3nHUZTn9QSwMEFAACAAgAMn1kRulSzhFbAAAAYwAAACgAHAB0YWJsZXMvbW96aWxsYS9i
dWdzL2J1ZzI0NzktMS1zdGRlcnIudHh0VVQJAAMvmPdUho33VHV4CwABBPUBAAAEFAAAAA3KsRJA
MAwA0N1XZDPG4A8wsXHMqQa9q+ZOUsffM73lNZKjhyQG68VkDARKyTt5gB/jpEESbHJBibPEfLJi
S0bYLSMu7PpgONAr2SZWUzRy8S/hpP3nPuqqLD5QSwMEFAACAAgAMn1kRiY/wqZTAAAA5AAAACYA
HAB0YWJsZXMvbW96aWxsYS9idWdzL2J1ZzM5Nzctc3RkZXJyLnR4dFVUCQADMJj3VIeN91R1eAsA
AQT1AQAABBQAAACtzDEOgCAMAMDdV3Rjk0fwEFOhhSamNYCE5zvwBdYbLtj3JFDrECthJ0BoqOm2
CTQ7aRNTYKvgfKJBMxbUTD5XfIvEtvAqZxZ2R9iS8Z6MFceaflBLAwQUAAIACAAyfWRGLuB+c2wA
AAB9AAAAJgAcAHRhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnNTUzOC1zdGRlcnIudHh0VVQJAAMwmPdU
iI33VHV4CwABBPUBAAAEFAAAAC3KMQ7CMAxA0Z1TeOuGDwFMsIHo7FA3suTYqHaqwunpwPT1pH/y
rhOYJ7wWpmQgCLKp+Aa8JVuIG8y+wIBP19448ExJeBnvOHK5SuKNPt7zwZGBSUX3pflXVAmlUd2Z
/jZa/1GvYscq83D4AVBLAwQUAAIACAAzfWRG7nGn9oMAAAB2AQAAKAAcAHRhYmxlcy9tb3ppbGxh
L2J1Z3MvYnVnOTEyMy0xLXN0ZGVyci50eHRVVAkAAzGY91SJjfdUdXgLAAEE9QEAAAQUAAAAvY8x
DsIwDEV3TuGtGxZInKAwwQaiY+VQJ4rkxFLtSIXT04WREdavJ733e20yQVWHx8zkDARGdQq6AC/O
1bJWiDpDh3eVVtjwSE54Gq44cDhnxws9tfmNzQ2dgqxI0VcWIQwtGeZCad2Eo4+FaxuDumvZb1OO
3ab/fcCnYHf4u/LL6TdQSwMECgAAAAAAA3dkRgAAAAAAAAAAAAAAACIAHAB0YWJsZXMvbW96aWxs
YS9jb2xsYXBzaW5nX2JvcmRlcnMvVVQJAAOFjfdUbZj3VHV4CwABBPUBAAAEFAAAAFBLAwQUAAIA
CAAxfWRG1OgbqnoAAACRAAAANwAcAHRhYmxlcy9tb3ppbGxhL2NvbGxhcHNpbmdfYm9yZGVycy9i
dWc0MTI2Mi0zLXN0ZGVyci50eHRVVAkAAy2Y91SFjfdUdXgLAAEE9QEAAAQUAAAAJcoxDsIwDEDR
nVN461R8CGCCDURH5KROZMmNUexKhdNTieUPX+9kq87QLCB3pmAgcGpzsg14C24u1qBYhwGfpuvC
jmcKwst0x4nTVQJv9LE1HuzhGJR0J4t9RZUw2963S6uvZH3m7igL1V1E0vG/xmytqOQ4VinD4QdQ
SwMECgAAAAAABXdkRgAAAAAAAAAAAAAAACEAHAB0YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWls
dXJlcy9VVAkAA4qN91RtmPdUdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAAV3ZEYAAAAAAAAAAAAA
AAAmABwAdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvYnVncy9VVAkAA4qN91RtmPdU
dXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIADJ9ZEbpUs4RWwAAAGMAAAA5ABwAdGFibGVzL21vemls
bGFfZXhwZWN0ZWRfZmFpbHVyZXMvYnVncy9idWcxMDE0MC1zdGRlcnIudHh0VVQJAAMwmPdUiI33
VHV4CwABBPUBAAAEFAAAAA3KsRJAMAwA0N1XZDPG4A8wsXHMqQa9q+ZOUsffM73lNZKjhyQG68Vk
DARKyTt5gB/jpEESbHJBibPEfLJiS0bYLSMu7PpgONAr2SZWUzRy8S/hpP3nPuqqLD5QSwMEFAAC
AAgAM31kRlfPKPyPAAAAHAIAADkAHAB0YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9i
dWdzL2J1ZzIzODQ3LXN0ZGVyci50eHRVVAkAAzGY91SJjfdUdXgLAAEE9QEAAAQUAAAAzdE9DsIw
DIbhnVN46wTm9wSFqWwgOlZO41aR0hgaBwVOTyW4Q5m/d3ikr5TkLQRRaEcmZSCIFKyRDJyVQ3QS
oJMRCryJTwNHPJISnuoL1mwqp3imlyS9ctSISsZPySBv5z01nO/cKtumI+fTOC0m9RHd0KPyY9Os
t6vedcWinFex+wvFfmbFU76Ow/L3ygdQSwMEFAACAAgAM31kRo5+mpZ1AAAAhwAAADkAHAB0YWJs
ZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9idWdzL2J1Zzg5MzE1LXN0ZGVyci50eHRVVAkA
AzKY91SKjfdUdXgLAAEE9QEAAAQUAAAADcqxDgIhDIDh3afodpt9CHXSTeONl3L0CKZQAiVBn162
P/n+i3bxkNVgr0zGQNAoe6cDeBjnFjXDoRUWfKv0xA2vZIS39Ykru3s0fNBXu724WUMjJ3NJ+osi
tPEovBv77aAovU5xPTSMicLsQoXr+VPCcvoDUEsDBAoAAAAAAAV3ZEYAAAAAAAAAAAAAAAAoABwA
dGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL1VUCQADio33VG2Y91R1eAsA
AQT1AQAABBQAAABQSwMEFAACAAgAM31kRmy8SwhwAAAAgQAAAEUAHAB0YWJsZXMvbW96aWxsYV9l
eHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vYmFja2dyX2xheWVycy1oaWRlLXN0ZGVyci50eHRVVAkA
AzGY91SKjfdUdXgLAAEE9QEAAAQUAAAADcoxDsIwDEDRnVN464YPAUywgehYOY0TWXJilDhS4PR0
+sP7FxsaoZrD3picgaBTjcEm8HSuXaxCsgYLvk1H4Y5XcsLb+sSVw10cH/S14S/u3tEp6LEU+4kq
bTw/vDvHLZHoaIcIlXyEY+ZzlrSc/lBLAwQKAAAAAAAId2RGAAAAAAAAAAAAAAAACwAcAHdlYmFy
Y2hpdmUvVVQJAAOQjfdUbZj3VHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAAId2RGAAAAAAAAAAAA
AAAAEwAcAHdlYmFyY2hpdmUvbG9hZGluZy9VVAkAA5CN91RtmPdUdXgLAAEE9QEAAAQUAAAAUEsD
BBQAAgAIADZ9ZEZZGvy24wAAAE4DAAAxABwAd2ViYXJjaGl2ZS9sb2FkaW5nL3ZpZGVvLWluLXdl
YmFyY2hpdmUtc3RkZXJyLnR4dFVUCQADN5j3VJCN91R1eAsAAQT1AQAABBQAAADtkU1Lw0AQhs/2
V8xRodls0iatuVoPRUXFggfxsB/TdHB3Nmx2Ff+9UbzpUcGDMDCXl+dl5qll1RRyUcglVE23rKYR
7XoNJnihhsGhuEd9QUncuNwTi0UtNviMLgweOT20slpV3QqlfoTzGEMEF5Ql7qG8JB1VfC23nDAy
JngnFFsey9tM5mlHHuETOnys8ixMUU5jeaXM9d2XWAdgp17k459nz6Fum5MOOMCYKSntEMirHmEf
MlsBsCELe2LbzY5+4zSvzKEIc9A5wUsM0wNVNAdKaFKOOKu/03Ra/2v6W5reAFBLAwQKAAAAAAAo
d2RGAAAAAAAAAAAAAAAACQAcAHdlYmF1ZGlvL1VUCQADzI33VG2Y91R1eAsAAQT1AQAABBQAAABQ
SwMECgACAAAAFndkRv4nOOA1AAAANQAAACsAHAB3ZWJhdWRpby9hdWRpb2J1ZmZlcnNvdXJjZS1l
bmRlZC1hY3R1YWwudHh0VVQJAAOrjfdUq433VHV4CwABBPUBAAAEFAAAAEZBSUw6IFRpbWVkIG91
dCB3YWl0aW5nIGZvciBub3RpZnlEb25lIHRvIGJlIGNhbGxlZAoKUEsDBBQAAgAIABZ3ZEYC4xEm
3AAAAIsBAAApABwAd2ViYXVkaW8vYXVkaW9idWZmZXJzb3VyY2UtZW5kZWQtZGlmZi50eHRVVAkA
A6uN91SrjfdUdXgLAAEE9QEAAAQUAAAAvY/BTgMxDETv+Qrft96o5cZpt2qRUCuE2IqevRsvREoT
lDi0/XvSUH6Biy1Z82bGiAj6Pbh84qQ3JKS3x0EfedxZua91ts7oN3ZMibWja8iCwkkwcspOkj7z
SNnYoOsc8zxzTCHHiZG9YYN8+eJJ2LRyEdU0zT9E0iSZXA3sOsDl4gGa5WIFXafwUJwSyCcJ9Dd8
XfGh4i/BMEzkXAJbRMFXO9h+s5e9TcKeY6vwtR8G+A1s/zQ3qvyomqf+ef8IB3sqx9IczmTF+g+Y
QwQfxM7XTWFAAox8pxSoH1BLAwQUAAIACAAWd2RGWzYj2VIAAABfAAAALQAcAHdlYmF1ZGlvL2F1
ZGlvYnVmZmVyc291cmNlLWVuZGVkLWV4cGVjdGVkLnR4dFVUCQADq433VKuN91R1eAsAAQT1AQAA
BBQAAAA1y00KgCAQBtC9p5gTeAeDdhGBXUCaTxLEAWfs/P1A+/d2qCnZmYzC4CLTyBk9yugHVmHQ
kWpVKg+ShsZgmi80W4oaGrp3W4iR9Av+J28Ce+duUEsDBBQAAgAIABZ3ZEbvFhg3tgcAANoYAAAx
ABwAd2ViYXVkaW8vYXVkaW9idWZmZXJzb3VyY2UtZW5kZWQtcHJldHR5LWRpZmYuaHRtbFVUCQAD
q433VKuN91R1eAsAAQT1AQAABBQAAACtWWtv47gV/Z5fISRoAywiyY7jaWzPuJjJAy06XSyaQfdj
QYmUxQklakkqtqftf+/lS5ZkyQ7Q3cGOJfKSPPd17qXmY64Ktr74mBOE4acgCgVpjoQk6tN1rbLw
/hqGpdozsr5YMlq+3gTLNyqpIjj490UA/ymyUyEmKRdIUV4ug5KXZGWmEi4wEWHCleLFMphWuwDD
M8Gri/9e2O3cJilnXCyDq8lsYeaiZ8rII80yN5+g9HUjeF3i0Itm9/pP+yB7guSM4uAKY2znMl6q
MEMFZftlUPCSywqlDmCBxIYC5CkpgokdqjgoZ/QQhIFGb8QAyqc9pLPZbGB/iUoZSiJo1pqU9Acx
Z7QPDRnJ1DKYRHM/jqmsGIJNaAmWcQi3FKscFk8mf3D4EMa03DQrLTbnGv3U9Y6DS8scQKlGPOdv
RPQ0ms/nqzFjE2LNEGmffIWzpFucMY5ADUE3uep6Tks9gPoIdPFHcTA9VaDipKeyQgkjYUoY62gZ
mn07VtrmoF1ofKhDbStQdUD2QlLtu9GgMYu7IdMPFxez3u4QUJNqZ0942lXgXtgfVCM3QaR/+hqO
wpMUk2Sv/w4M1C+Mp6+/IKEiUHWZUSFVmOaU4VHD6uNeYP3Nqc0EKcC1N2fOc2d489uACxMt0gm7
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
l/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAbHZkRgAVNy1+AAAAxwAAADUAGAAAAAAAAQAA
AKSBTeoBAGFjY2Vzc2liaWxpdHkvdGV4dGFyZWEtc2VsZWN0ZWQtdGV4dC1yYW5nZS1hY3R1YWwu
dHh0VVQFAANsjPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAbHZkRuP4Ls7cAAAA8AEAADMA
GAAAAAAAAQAAAKSBOusBAGFjY2Vzc2liaWxpdHkvdGV4dGFyZWEtc2VsZWN0ZWQtdGV4dC1yYW5n
ZS1kaWZmLnR4dFVUBQADbIz3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAGx2ZEa813txZAAA
ALUAAAA3ABgAAAAAAAEAAACkgYPsAQBhY2Nlc3NpYmlsaXR5L3RleHRhcmVhLXNlbGVjdGVkLXRl
eHQtcmFuZ2UtZXhwZWN0ZWQudHh0VVQFAANsjPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
bXZkRgaHDzfxBwAARRoAADsAGAAAAAAAAQAAAKSBWO0BAGFjY2Vzc2liaWxpdHkvdGV4dGFyZWEt
c2VsZWN0ZWQtdGV4dC1yYW5nZS1wcmV0dHktZGlmZi5odG1sVVQFAANtjPdUdXgLAAEE9QEAAAQU
AAAAUEsBAh4DCgAAAAAAaHZkRgAAAAAAAAAAAAAAAAwAGAAAAAAAAAAQAO1BvvUBAGNvbXBvc2l0
aW5nL1VUBQADZIz3VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAGh2ZEYAAAAAAAAAAAAAAAAV
ABgAAAAAAAAAEADtQQT2AQBjb21wb3NpdGluZy9nZW9tZXRyeS9VVAUAA2SM91R1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACACifGRG2sBuT+EAAABOAwAALgAYAAAAAAABAAAApIFT9gEAY29tcG9z
aXRpbmcvZ2VvbWV0cnkvb3V0bGluZS1jaGFuZ2Utc3RkZXJyLnR4dFVUBQADIJf3VHV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAAAAAGh2ZEYAAAAAAAAAAAAAAAAHABgAAAAAAAAAEADtQZz3AQBjcnlw
dG8vVVQFAANkjPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAonxkRqylc01iAAAAbgAAAC0A
GAAAAAAAAQAAAKSB3fcBAGNyeXB0by9jcnlwdG8tcmFuZG9tLXZhbHVlcy1saW1pdHMtc3RkZXJy
LnR4dFVUBQADH5f3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKJ8ZEaspXNNYgAAAG4AAAAm
ABgAAAAAAAEAAACkgab4AQBjcnlwdG8vY3J5cHRvLXJhbmRvbS12YWx1ZXMtc3RkZXJyLnR4dFVU
BQADH5f3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAKJ8ZEaspXNNYgAAAG4AAAAsABgAAAAA
AAEAAACkgWj5AQBjcnlwdG8vY3J5cHRvLXJhbmRvbS12YWx1ZXMtdHlwZXMtc3RkZXJyLnR4dFVU
BQADH5f3VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAHV2ZEYAAAAAAAAAAAAAAAAEABgAAAAA
AAAAEADtQTD6AQBkb20vVVQFAAN9jPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAdHZkRgAA
AAAAAAAAAAAAAAkAGAAAAAAAAAAQAO1BbvoBAGRvbS9odG1sL1VUBQADfIz3VHV4CwABBPUBAAAE
FAAAAFBLAQIeAwoAAAAAAHR2ZEYAAAAAAAAAAAAAAAAQABgAAAAAAAAAEADtQbH6AQBkb20vaHRt
bC9sZXZlbDIvVVQFAAN8jPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAgXZkRgAAAAAAAAAA
AAAAABUAGAAAAAAAAAAQAO1B+/oBAGRvbS9odG1sL2xldmVsMi9odG1sL1VUBQADkYz3VHV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIALh8ZEbJVnMTZwAAAHMAAAAmABgAAAAAAAEAAACkgUr7AQBk
b20vaHRtbC9sZXZlbDIvaHRtbC9ib2R5MDEtc3RkZXJyLnR4dFVUBQADS5f3VHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAK58ZEbJVnMTZwAAAHMAAAAxABgAAAAAAAEAAACkgRH8AQBkb20vaHRt
bC9sZXZlbDIvaHRtbC9IVE1MQm9keUVsZW1lbnQwMS1zdGRlcnIudHh0VVQFAAM3l/dUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgArnxkRslWcxNnAAAAcwAAADEAGAAAAAAAAQAAAKSB4/wBAGRv
bS9odG1sL2xldmVsMi9odG1sL0hUTUxCb2R5RWxlbWVudDAyLXN0ZGVyci50eHRVVAUAAzeX91R1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACufGRGyVZzE2cAAABzAAAAMQAYAAAAAAABAAAApIG1
/QEAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTEJvZHlFbGVtZW50MDMtc3RkZXJyLnR4dFVUBQAD
N5f3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAK58ZEbJVnMTZwAAAHMAAAAxABgAAAAAAAEA
AACkgYf+AQBkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MQm9keUVsZW1lbnQwNC1zdGRlcnIudHh0
VVQFAAM3l/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgArnxkRslWcxNnAAAAcwAAADEAGAAA
AAAAAQAAAKSBWf8BAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxCb2R5RWxlbWVudDA1LXN0ZGVy
ci50eHRVVAUAAzeX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACufGRGyVZzE2cAAABzAAAA
MQAYAAAAAAABAAAApIErAAIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTEJvZHlFbGVtZW50MDYt
c3RkZXJyLnR4dFVUBQADN5f3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAK58ZEba1N1RcgAA
AFUBAAAxABgAAAAAAAEAAACkgf0AAgBkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MQm9keUVsZW1l
bnQwNy1zdGRlcnIudHh0VVQFAAM3l/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgArnxkRtrU
3VFyAAAAVQEAADEAGAAAAAAAAQAAAKSB2gECAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxCb2R5
RWxlbWVudDA4LXN0ZGVyci50eHRVVAUAAzeX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACu
fGRG2tTdUXIAAABVAQAAMQAYAAAAAAABAAAApIG3AgIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRN
TEJvZHlFbGVtZW50MDktc3RkZXJyLnR4dFVUBQADN5f3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAK58ZEba1N1RcgAAAFUBAAAxABgAAAAAAAEAAACkgZQDAgBkb20vaHRtbC9sZXZlbDIvaHRt
bC9IVE1MQm9keUVsZW1lbnQxMC1zdGRlcnIudHh0VVQFAAM3l/dUdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgArnxkRtrU3VFyAAAAVQEAADEAGAAAAAAAAQAAAKSBcQQCAGRvbS9odG1sL2xldmVs
Mi9odG1sL0hUTUxCb2R5RWxlbWVudDExLXN0ZGVyci50eHRVVAUAAzeX91R1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACACufGRG2tTdUXIAAABVAQAAMQAYAAAAAAABAAAApIFOBQIAZG9tL2h0bWwv
bGV2ZWwyL2h0bWwvSFRNTEJvZHlFbGVtZW50MTItc3RkZXJyLnR4dFVUBQADN5f3VHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAK58ZEba1N1RcgAAAFUBAAAuABgAAAAAAAEAAACkgSsGAgBkb20v
aHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQwMS1zdGRlcnIudHh0VVQFAAM4l/dUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgArnxkRtrU3VFyAAAAVQEAAC4AGAAAAAAAAQAAAKSBBQcCAGRv
bS9odG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDAyLXN0ZGVyci50eHRVVAUAAziX91R1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACACufGRG2tTdUXIAAABVAQAALgAYAAAAAAABAAAApIHfBwIA
ZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTERvY3VtZW50MDMtc3RkZXJyLnR4dFVUBQADOJf3VHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAK58ZEba1N1RcgAAAFUBAAAuABgAAAAAAAEAAACkgbkI
AgBkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQwNC1zdGRlcnIudHh0VVQFAAM4l/dU
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgArnxkRtrU3VFyAAAAVQEAAC4AGAAAAAAAAQAAAKSB
kwkCAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDA1LXN0ZGVyci50eHRVVAUAAziX
91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACufGRG2tTdUXIAAABVAQAALgAYAAAAAAABAAAA
pIFtCgIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTERvY3VtZW50MDctc3RkZXJyLnR4dFVUBQAD
OJf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAK58ZEba1N1RcgAAAFUBAAAuABgAAAAAAAEA
AACkgUcLAgBkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQwOC1zdGRlcnIudHh0VVQF
AAM4l/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgArnxkRtrU3VFyAAAAVQEAAC4AGAAAAAAA
AQAAAKSBIQwCAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDA5LXN0ZGVyci50eHRV
VAUAAziX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACufGRG2tTdUXIAAABVAQAALgAYAAAA
AAABAAAApIH7DAIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTERvY3VtZW50MTAtc3RkZXJyLnR4
dFVUBQADOJf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAK58ZEba1N1RcgAAAFUBAAAuABgA
AAAAAAEAAACkgdUNAgBkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQxMS1zdGRlcnIu
dHh0VVQFAAM4l/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgArnxkRtrU3VFyAAAAVQEAAC4A
GAAAAAAAAQAAAKSBrw4CAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDEyLXN0ZGVy
ci50eHRVVAUAAziX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACufGRG2tTdUXIAAABVAQAA
LgAYAAAAAAABAAAApIGJDwIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTERvY3VtZW50MTMtc3Rk
ZXJyLnR4dFVUBQADOJf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAK58ZEba1N1RcgAAAFUB
AAAuABgAAAAAAAEAAACkgWMQAgBkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1lbnQxNC1z
dGRlcnIudHh0VVQFAAM4l/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgArnxkRtrU3VFyAAAA
VQEAAC4AGAAAAAAAAQAAAKSBPRECAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDE1
LXN0ZGVyci50eHRVVAUAAziX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACufGRG2tTdUXIA
AABVAQAALgAYAAAAAAABAAAApIEXEgIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTERvY3VtZW50
MTYtc3RkZXJyLnR4dFVUBQADOJf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAK98ZEba1N1R
cgAAAFUBAAAuABgAAAAAAAEAAACkgfESAgBkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MRG9jdW1l
bnQxNy1zdGRlcnIudHh0VVQFAAM5l/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAr3xkRtrU
3VFyAAAAVQEAAC4AGAAAAAAAAQAAAKSByxMCAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxEb2N1
bWVudDE4LXN0ZGVyci50eHRVVAUAAzmX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACvfGRG
2tTdUXIAAABVAQAALgAYAAAAAAABAAAApIGlFAIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTERv
Y3VtZW50MTktc3RkZXJyLnR4dFVUBQADOZf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAK98
ZEba1N1RcgAAAFUBAAAuABgAAAAAAAEAAACkgX8VAgBkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1M
RG9jdW1lbnQyMC1zdGRlcnIudHh0VVQFAAM5l/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
r3xkRtrU3VFyAAAAVQEAAC4AGAAAAAAAAQAAAKSBWRYCAGRvbS9odG1sL2xldmVsMi9odG1sL0hU
TUxEb2N1bWVudDIxLXN0ZGVyci50eHRVVAUAAzmX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CACvfGRG2tTdUXIAAABVAQAALgAYAAAAAAABAAAApIEzFwIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwv
SFRNTERvY3VtZW50MjItc3RkZXJyLnR4dFVUBQADOZf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAK98ZEba1N1RcgAAAFUBAAAuABgAAAAAAAEAAACkgQ0YAgBkb20vaHRtbC9sZXZlbDIvaHRt
bC9IVE1MRG9jdW1lbnQyMy1zdGRlcnIudHh0VVQFAAM5l/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAr3xkRtrU3VFyAAAAVQEAAC4AGAAAAAAAAQAAAKSB5xgCAGRvbS9odG1sL2xldmVsMi9o
dG1sL0hUTUxEb2N1bWVudDI0LXN0ZGVyci50eHRVVAUAAzmX91R1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACACvfGRG2tTdUXIAAABVAQAALgAYAAAAAAABAAAApIHBGQIAZG9tL2h0bWwvbGV2ZWwy
L2h0bWwvSFRNTERvY3VtZW50MjUtc3RkZXJyLnR4dFVUBQADOZf3VHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAK98ZEba1N1RcgAAAFUBAAAuABgAAAAAAAEAAACkgZsaAgBkb20vaHRtbC9sZXZl
bDIvaHRtbC9IVE1MRG9jdW1lbnQyNi1zdGRlcnIudHh0VVQFAAM5l/dUdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAr3xkRtrU3VFyAAAAVQEAAC4AGAAAAAAAAQAAAKSBdRsCAGRvbS9odG1sL2xl
dmVsMi9odG1sL0hUTUxEb2N1bWVudDI3LXN0ZGVyci50eHRVVAUAAzmX91R1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACACyfGRGbyBZlGUAAABxAAAAMgAYAAAAAAABAAAApIFPHAIAZG9tL2h0bWwv
bGV2ZWwyL2h0bWwvSFRNTEltYWdlRWxlbWVudDAxLXN0ZGVyci50eHRVVAUAA0CX91R1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACACyfGRGbyBZlGUAAABxAAAAMgAYAAAAAAABAAAApIEgHQIAZG9t
L2h0bWwvbGV2ZWwyL2h0bWwvSFRNTEltYWdlRWxlbWVudDAyLXN0ZGVyci50eHRVVAUAA0CX91R1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACyfGRGbyBZlGUAAABxAAAAMgAYAAAAAAABAAAApIHx
HQIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTEltYWdlRWxlbWVudDAzLXN0ZGVyci50eHRVVAUA
A0CX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACyfGRGbyBZlGUAAABxAAAAMgAYAAAAAAAB
AAAApIHCHgIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTEltYWdlRWxlbWVudDA0LXN0ZGVyci50
eHRVVAUAA0CX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACyfGRGbyBZlGUAAABxAAAAMgAY
AAAAAAABAAAApIGTHwIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTEltYWdlRWxlbWVudDA1LXN0
ZGVyci50eHRVVAUAA0CX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACyfGRGbyBZlGUAAABx
AAAAMgAYAAAAAAABAAAApIFkIAIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTEltYWdlRWxlbWVu
dDA2LXN0ZGVyci50eHRVVAUAA0CX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACyfGRGbyBZ
lGUAAABxAAAAMgAYAAAAAAABAAAApIE1IQIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTEltYWdl
RWxlbWVudDA3LXN0ZGVyci50eHRVVAUAA0CX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACy
fGRGbyBZlGUAAABxAAAAMgAYAAAAAAABAAAApIEGIgIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRN
TEltYWdlRWxlbWVudDA4LXN0ZGVyci50eHRVVAUAA0CX91R1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACACyfGRGbyBZlGUAAABxAAAAMgAYAAAAAAABAAAApIHXIgIAZG9tL2h0bWwvbGV2ZWwyL2h0
bWwvSFRNTEltYWdlRWxlbWVudDA5LXN0ZGVyci50eHRVVAUAA0CX91R1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACACyfGRGbyBZlGUAAABxAAAAMgAYAAAAAAABAAAApIGoIwIAZG9tL2h0bWwvbGV2
ZWwyL2h0bWwvSFRNTEltYWdlRWxlbWVudDEwLXN0ZGVyci50eHRVVAUAA0CX91R1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACACyfGRGbyBZlGUAAABxAAAAMgAYAAAAAAABAAAApIF5JAIAZG9tL2h0
bWwvbGV2ZWwyL2h0bWwvSFRNTEltYWdlRWxlbWVudDExLXN0ZGVyci50eHRVVAUAA0CX91R1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACACyfGRGbyBZlGUAAABxAAAAMgAYAAAAAAABAAAApIFKJQIA
ZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTEltYWdlRWxlbWVudDEyLXN0ZGVyci50eHRVVAUAA0CX
91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACyfGRGvh0mWmcAAAB0AAAAMgAYAAAAAAABAAAA
pIEbJgIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTElucHV0RWxlbWVudDAxLXN0ZGVyci50eHRV
VAUAA0CX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACyfGRGvh0mWmcAAAB0AAAAMgAYAAAA
AAABAAAApIHuJgIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTElucHV0RWxlbWVudDAyLXN0ZGVy
ci50eHRVVAUAA0CX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACyfGRGvh0mWmcAAAB0AAAA
MgAYAAAAAAABAAAApIHBJwIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTElucHV0RWxlbWVudDAz
LXN0ZGVyci50eHRVVAUAA0CX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACyfGRGvh0mWmcA
AAB0AAAAMgAYAAAAAAABAAAApIGUKAIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTElucHV0RWxl
bWVudDA0LXN0ZGVyci50eHRVVAUAA0CX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACyfGRG
vh0mWmcAAAB0AAAAMgAYAAAAAAABAAAApIFnKQIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTElu
cHV0RWxlbWVudDA1LXN0ZGVyci50eHRVVAUAA0CX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CACzfGRGvh0mWmcAAAB0AAAAMgAYAAAAAAABAAAApIE6KgIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwv
SFRNTElucHV0RWxlbWVudDA2LXN0ZGVyci50eHRVVAUAA0GX91R1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACACzfGRGvh0mWmcAAAB0AAAAMgAYAAAAAAABAAAApIENKwIAZG9tL2h0bWwvbGV2ZWwy
L2h0bWwvSFRNTElucHV0RWxlbWVudDA3LXN0ZGVyci50eHRVVAUAA0GX91R1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACACzfGRGvh0mWmcAAAB0AAAAMgAYAAAAAAABAAAApIHgKwIAZG9tL2h0bWwv
bGV2ZWwyL2h0bWwvSFRNTElucHV0RWxlbWVudDA4LXN0ZGVyci50eHRVVAUAA0GX91R1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACACzfGRGvh0mWmcAAAB0AAAAMgAYAAAAAAABAAAApIGzLAIAZG9t
L2h0bWwvbGV2ZWwyL2h0bWwvSFRNTElucHV0RWxlbWVudDA5LXN0ZGVyci50eHRVVAUAA0GX91R1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACzfGRGvh0mWmcAAAB0AAAAMgAYAAAAAAABAAAApIGG
LQIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTElucHV0RWxlbWVudDEwLXN0ZGVyci50eHRVVAUA
A0GX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACzfGRGvh0mWmcAAAB0AAAAMgAYAAAAAAAB
AAAApIFZLgIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTElucHV0RWxlbWVudDExLXN0ZGVyci50
eHRVVAUAA0GX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACzfGRGvh0mWmcAAAB0AAAAMgAY
AAAAAAABAAAApIEsLwIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTElucHV0RWxlbWVudDEyLXN0
ZGVyci50eHRVVAUAA0GX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACzfGRGvh0mWmcAAAB0
AAAAMgAYAAAAAAABAAAApIH/LwIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTElucHV0RWxlbWVu
dDEzLXN0ZGVyci50eHRVVAUAA0GX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACzfGRGvh0m
WmcAAAB0AAAAMgAYAAAAAAABAAAApIHSMAIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTElucHV0
RWxlbWVudDE0LXN0ZGVyci50eHRVVAUAA0GX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACz
fGRGvh0mWmcAAAB0AAAAMgAYAAAAAAABAAAApIGlMQIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRN
TElucHV0RWxlbWVudDE1LXN0ZGVyci50eHRVVAUAA0GX91R1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACACzfGRGvh0mWmcAAAB0AAAAMgAYAAAAAAABAAAApIF4MgIAZG9tL2h0bWwvbGV2ZWwyL2h0
bWwvSFRNTElucHV0RWxlbWVudDE2LXN0ZGVyci50eHRVVAUAA0GX91R1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACACzfGRGvh0mWmcAAAB0AAAAMgAYAAAAAAABAAAApIFLMwIAZG9tL2h0bWwvbGV2
ZWwyL2h0bWwvSFRNTElucHV0RWxlbWVudDE3LXN0ZGVyci50eHRVVAUAA0GX91R1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACACzfGRGvh0mWmcAAAB0AAAAMgAYAAAAAAABAAAApIEeNAIAZG9tL2h0
bWwvbGV2ZWwyL2h0bWwvSFRNTElucHV0RWxlbWVudDE4LXN0ZGVyci50eHRVVAUAA0GX91R1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACACzfGRGvh0mWmcAAAB0AAAAMgAYAAAAAAABAAAApIHxNAIA
ZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTElucHV0RWxlbWVudDE5LXN0ZGVyci50eHRVVAUAA0GX
91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACzfGRGvh0mWmcAAAB0AAAAMgAYAAAAAAABAAAA
pIHENQIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTElucHV0RWxlbWVudDIwLXN0ZGVyci50eHRV
VAUAA0GX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACzfGRGvh0mWmcAAAB0AAAAMgAYAAAA
AAABAAAApIGXNgIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTElucHV0RWxlbWVudDIxLXN0ZGVy
ci50eHRVVAUAA0GX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACzfGRGvh0mWmcAAAB0AAAA
MgAYAAAAAAABAAAApIFqNwIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTElucHV0RWxlbWVudDIy
LXN0ZGVyci50eHRVVAUAA0GX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC0fGRGtbb3VmYA
AAByAAAAMwAYAAAAAAABAAAApIE9OAIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTE9iamVjdEVs
ZW1lbnQwMS1zdGRlcnIudHh0VVQFAANDl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAtHxk
RrW291ZmAAAAcgAAADMAGAAAAAAAAQAAAKSBEDkCAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxP
YmplY3RFbGVtZW50MDItc3RkZXJyLnR4dFVUBQADQ5f3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIALR8ZEa1tvdWZgAAAHIAAAAzABgAAAAAAAEAAACkgeM5AgBkb20vaHRtbC9sZXZlbDIvaHRt
bC9IVE1MT2JqZWN0RWxlbWVudDAzLXN0ZGVyci50eHRVVAUAA0OX91R1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAC0fGRGtbb3VmYAAAByAAAAMwAYAAAAAAABAAAApIG2OgIAZG9tL2h0bWwvbGV2
ZWwyL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQwNC1zdGRlcnIudHh0VVQFAANDl/dUdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAtHxkRrW291ZmAAAAcgAAADMAGAAAAAAAAQAAAKSBiTsCAGRvbS9o
dG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MDUtc3RkZXJyLnR4dFVUBQADQ5f3VHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALR8ZEa1tvdWZgAAAHIAAAAzABgAAAAAAAEAAACkgVw8
AgBkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MT2JqZWN0RWxlbWVudDA2LXN0ZGVyci50eHRVVAUA
A0OX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC0fGRGtbb3VmYAAAByAAAAMwAYAAAAAAAB
AAAApIEvPQIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQwNy1zdGRlcnIu
dHh0VVQFAANDl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAtHxkRrW291ZmAAAAcgAAADMA
GAAAAAAAAQAAAKSBAj4CAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MDgt
c3RkZXJyLnR4dFVUBQADQ5f3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALR8ZEa1tvdWZgAA
AHIAAAAzABgAAAAAAAEAAACkgdU+AgBkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MT2JqZWN0RWxl
bWVudDA5LXN0ZGVyci50eHRVVAUAA0OX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC0fGRG
tbb3VmYAAAByAAAAMwAYAAAAAAABAAAApIGoPwIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTE9i
amVjdEVsZW1lbnQxMC1zdGRlcnIudHh0VVQFAANDl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAtHxkRrW291ZmAAAAcgAAADMAGAAAAAAAAQAAAKSBe0ACAGRvbS9odG1sL2xldmVsMi9odG1s
L0hUTUxPYmplY3RFbGVtZW50MTEtc3RkZXJyLnR4dFVUBQADQ5f3VHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIALR8ZEa1tvdWZgAAAHIAAAAzABgAAAAAAAEAAACkgU5BAgBkb20vaHRtbC9sZXZl
bDIvaHRtbC9IVE1MT2JqZWN0RWxlbWVudDEyLXN0ZGVyci50eHRVVAUAA0OX91R1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAC0fGRGtbb3VmYAAAByAAAAMwAYAAAAAAABAAAApIEhQgIAZG9tL2h0
bWwvbGV2ZWwyL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQxMy1zdGRlcnIudHh0VVQFAANDl/dUdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAtHxkRrW291ZmAAAAcgAAADMAGAAAAAAAAQAAAKSB9EIC
AGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MTQtc3RkZXJyLnR4dFVUBQAD
Q5f3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALR8ZEa1tvdWZgAAAHIAAAAzABgAAAAAAAEA
AACkgcdDAgBkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MT2JqZWN0RWxlbWVudDE1LXN0ZGVyci50
eHRVVAUAA0OX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC0fGRGtbb3VmYAAAByAAAAMwAY
AAAAAAABAAAApIGaRAIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQxNi1z
dGRlcnIudHh0VVQFAANDl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAtHxkRrW291ZmAAAA
cgAAADMAGAAAAAAAAQAAAKSBbUUCAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVt
ZW50MTctc3RkZXJyLnR4dFVUBQADQ5f3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALR8ZEa1
tvdWZgAAAHIAAAAzABgAAAAAAAEAAACkgUBGAgBkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MT2Jq
ZWN0RWxlbWVudDE4LXN0ZGVyci50eHRVVAUAA0OX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAC0fGRGtbb3VmYAAAByAAAAMwAYAAAAAAABAAAApIETRwIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwv
SFRNTE9iamVjdEVsZW1lbnQxOS1zdGRlcnIudHh0VVQFAANDl/dUdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAtHxkRrW291ZmAAAAcgAAADMAGAAAAAAAAQAAAKSB5kcCAGRvbS9odG1sL2xldmVs
Mi9odG1sL0hUTUxPYmplY3RFbGVtZW50MjAtc3RkZXJyLnR4dFVUBQADQ5f3VHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIALR8ZEbTQfEFaQAAAHYAAAAzABgAAAAAAAEAAACkgblIAgBkb20vaHRt
bC9sZXZlbDIvaHRtbC9IVE1MU2NyaXB0RWxlbWVudDAxLXN0ZGVyci50eHRVVAUAA0SX91R1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAC0fGRG00HxBWkAAAB2AAAAMwAYAAAAAAABAAAApIGPSQIA
ZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTFNjcmlwdEVsZW1lbnQwMi1zdGRlcnIudHh0VVQFAANE
l/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAtHxkRtNB8QVpAAAAdgAAADMAGAAAAAAAAQAA
AKSBZUoCAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxTY3JpcHRFbGVtZW50MDMtc3RkZXJyLnR4
dFVUBQADRJf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALR8ZEbTQfEFaQAAAHYAAAAzABgA
AAAAAAEAAACkgTtLAgBkb20vaHRtbC9sZXZlbDIvaHRtbC9IVE1MU2NyaXB0RWxlbWVudDA0LXN0
ZGVyci50eHRVVAUAA0SX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC1fGRG00HxBWkAAAB2
AAAAMwAYAAAAAAABAAAApIERTAIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvSFRNTFNjcmlwdEVsZW1l
bnQwNS1zdGRlcnIudHh0VVQFAANFl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAtXxkRtNB
8QVpAAAAdgAAADMAGAAAAAAAAQAAAKSB50wCAGRvbS9odG1sL2xldmVsMi9odG1sL0hUTUxTY3Jp
cHRFbGVtZW50MDYtc3RkZXJyLnR4dFVUBQADRZf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
ALV8ZEbTQfEFaQAAAHYAAAAzABgAAAAAAAEAAACkgb1NAgBkb20vaHRtbC9sZXZlbDIvaHRtbC9I
VE1MU2NyaXB0RWxlbWVudDA3LXN0ZGVyci50eHRVVAUAA0WX91R1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAC4fGRGtbb3VmYAAAByAAAAKAAYAAAAAAABAAAApIGTTgIAZG9tL2h0bWwvbGV2ZWwy
L2h0bWwvb2JqZWN0MDEtc3RkZXJyLnR4dFVUBQADTJf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIALh8ZEa1tvdWZgAAAHIAAAAoABgAAAAAAAEAAACkgVtPAgBkb20vaHRtbC9sZXZlbDIvaHRt
bC9vYmplY3QwMi1zdGRlcnIudHh0VVQFAANMl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
uHxkRrW291ZmAAAAcgAAACgAGAAAAAAAAQAAAKSBI1ACAGRvbS9odG1sL2xldmVsMi9odG1sL29i
amVjdDAzLXN0ZGVyci50eHRVVAUAA0yX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC4fGRG
tbb3VmYAAAByAAAAKAAYAAAAAAABAAAApIHrUAIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvb2JqZWN0
MDQtc3RkZXJyLnR4dFVUBQADTJf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALh8ZEa1tvdW
ZgAAAHIAAAAoABgAAAAAAAEAAACkgbNRAgBkb20vaHRtbC9sZXZlbDIvaHRtbC9vYmplY3QwNS1z
dGRlcnIudHh0VVQFAANMl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAuHxkRrW291ZmAAAA
cgAAACgAGAAAAAAAAQAAAKSBe1ICAGRvbS9odG1sL2xldmVsMi9odG1sL29iamVjdDA3LXN0ZGVy
ci50eHRVVAUAA0yX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC4fGRGtbb3VmYAAAByAAAA
KAAYAAAAAAABAAAApIFDUwIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvb2JqZWN0MDgtc3RkZXJyLnR4
dFVUBQADTJf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALh8ZEa1tvdWZgAAAHIAAAAoABgA
AAAAAAEAAACkgQtUAgBkb20vaHRtbC9sZXZlbDIvaHRtbC9vYmplY3QwOS1zdGRlcnIudHh0VVQF
AANMl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAuHxkRrW291ZmAAAAcgAAACgAGAAAAAAA
AQAAAKSB01QCAGRvbS9odG1sL2xldmVsMi9odG1sL29iamVjdDEwLXN0ZGVyci50eHRVVAUAA0yX
91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC4fGRGtbb3VmYAAAByAAAAKAAYAAAAAAABAAAA
pIGbVQIAZG9tL2h0bWwvbGV2ZWwyL2h0bWwvb2JqZWN0MTEtc3RkZXJyLnR4dFVUBQADTJf3VHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALh8ZEa1tvdWZgAAAHIAAAAoABgAAAAAAAEAAACkgWNW
AgBkb20vaHRtbC9sZXZlbDIvaHRtbC9vYmplY3QxMi1zdGRlcnIudHh0VVQFAANMl/dUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAuXxkRrW291ZmAAAAcgAAACgAGAAAAAAAAQAAAKSBK1cCAGRv
bS9odG1sL2xldmVsMi9odG1sL29iamVjdDEzLXN0ZGVyci50eHRVVAUAA02X91R1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAC5fGRGtbb3VmYAAAByAAAAKAAYAAAAAAABAAAApIHzVwIAZG9tL2h0
bWwvbGV2ZWwyL2h0bWwvb2JqZWN0MTQtc3RkZXJyLnR4dFVUBQADTZf3VHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIALl8ZEa1tvdWZgAAAHIAAAAoABgAAAAAAAEAAACkgbtYAgBkb20vaHRtbC9s
ZXZlbDIvaHRtbC9vYmplY3QxNS1zdGRlcnIudHh0VVQFAANNl/dUdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DCgAAAAAAdXZkRgAAAAAAAAAAAAAAAAoAGAAAAAAAAAAQAO1Bg1kCAGRvbS94aHRtbC9VVAUA
A32M91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAB1dmRGAAAAAAAAAAAAAAAAEQAYAAAAAAAA
ABAA7UHHWQIAZG9tL3hodG1sL2xldmVsMi9VVAUAA32M91R1eAsAAQT1AQAABBQAAABQSwECHgMK
AAAAAACCdmRGAAAAAAAAAAAAAAAAFgAYAAAAAAAAABAA7UESWgIAZG9tL3hodG1sL2xldmVsMi9o
dG1sL1VUBQADk4z3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALl8ZEbTThrTaQAAAHQAAAAn
ABgAAAAAAAEAAACkgWJaAgBkb20veGh0bWwvbGV2ZWwyL2h0bWwvYm9keTAxLXN0ZGVyci50eHRV
VAUAA06X91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACufGRG004a02kAAAB0AAAAMgAYAAAA
AAABAAAApIEsWwIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxCb2R5RWxlbWVudDAxLXN0ZGVy
ci50eHRVVAUAAziX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACufGRG004a02kAAAB0AAAA
MgAYAAAAAAABAAAApIEBXAIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxCb2R5RWxlbWVudDAy
LXN0ZGVyci50eHRVVAUAAziX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACufGRG004a02kA
AAB0AAAAMgAYAAAAAAABAAAApIHWXAIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxCb2R5RWxl
bWVudDAzLXN0ZGVyci50eHRVVAUAAziX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACufGRG
004a02kAAAB0AAAAMgAYAAAAAAABAAAApIGrXQIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxC
b2R5RWxlbWVudDA0LXN0ZGVyci50eHRVVAUAAziX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CACufGRG004a02kAAAB0AAAAMgAYAAAAAAABAAAApIGAXgIAZG9tL3hodG1sL2xldmVsMi9odG1s
L0hUTUxCb2R5RWxlbWVudDA1LXN0ZGVyci50eHRVVAUAAziX91R1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACACufGRG004a02kAAAB0AAAAMgAYAAAAAAABAAAApIFVXwIAZG9tL3hodG1sL2xldmVs
Mi9odG1sL0hUTUxCb2R5RWxlbWVudDA2LXN0ZGVyci50eHRVVAUAAziX91R1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACACufGRGENpy0HQAAABYAQAAMgAYAAAAAAABAAAApIEqYAIAZG9tL3hodG1s
L2xldmVsMi9odG1sL0hUTUxCb2R5RWxlbWVudDA3LXN0ZGVyci50eHRVVAUAAziX91R1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACACufGRGENpy0HQAAABYAQAAMgAYAAAAAAABAAAApIEKYQIAZG9t
L3hodG1sL2xldmVsMi9odG1sL0hUTUxCb2R5RWxlbWVudDA4LXN0ZGVyci50eHRVVAUAAziX91R1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACufGRGENpy0HQAAABYAQAAMgAYAAAAAAABAAAApIHq
YQIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxCb2R5RWxlbWVudDA5LXN0ZGVyci50eHRVVAUA
AziX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACufGRGENpy0HQAAABYAQAAMgAYAAAAAAAB
AAAApIHKYgIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxCb2R5RWxlbWVudDEwLXN0ZGVyci50
eHRVVAUAAziX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACufGRGENpy0HQAAABYAQAAMgAY
AAAAAAABAAAApIGqYwIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxCb2R5RWxlbWVudDExLXN0
ZGVyci50eHRVVAUAAziX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACufGRGENpy0HQAAABY
AQAAMgAYAAAAAAABAAAApIGKZAIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxCb2R5RWxlbWVu
dDEyLXN0ZGVyci50eHRVVAUAAziX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACvfGRGENpy
0HQAAABYAQAALwAYAAAAAAABAAAApIFqZQIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxEb2N1
bWVudDAxLXN0ZGVyci50eHRVVAUAAzmX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACvfGRG
ENpy0HQAAABYAQAALwAYAAAAAAABAAAApIFHZgIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxE
b2N1bWVudDAyLXN0ZGVyci50eHRVVAUAAzmX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACv
fGRGENpy0HQAAABYAQAALwAYAAAAAAABAAAApIEkZwIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hU
TUxEb2N1bWVudDAzLXN0ZGVyci50eHRVVAUAAzmX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CACvfGRGENpy0HQAAABYAQAALwAYAAAAAAABAAAApIEBaAIAZG9tL3hodG1sL2xldmVsMi9odG1s
L0hUTUxEb2N1bWVudDA0LXN0ZGVyci50eHRVVAUAAzmX91R1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACACvfGRGENpy0HQAAABYAQAALwAYAAAAAAABAAAApIHeaAIAZG9tL3hodG1sL2xldmVsMi9o
dG1sL0hUTUxEb2N1bWVudDA1LXN0ZGVyci50eHRVVAUAAzmX91R1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACACvfGRGENpy0HQAAABYAQAALwAYAAAAAAABAAAApIG7aQIAZG9tL3hodG1sL2xldmVs
Mi9odG1sL0hUTUxEb2N1bWVudDA3LXN0ZGVyci50eHRVVAUAAzmX91R1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACACvfGRGENpy0HQAAABYAQAALwAYAAAAAAABAAAApIGYagIAZG9tL3hodG1sL2xl
dmVsMi9odG1sL0hUTUxEb2N1bWVudDA4LXN0ZGVyci50eHRVVAUAAzmX91R1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACACvfGRGENpy0HQAAABYAQAALwAYAAAAAAABAAAApIF1awIAZG9tL3hodG1s
L2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDA5LXN0ZGVyci50eHRVVAUAAzqX91R1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACACvfGRGENpy0HQAAABYAQAALwAYAAAAAAABAAAApIFSbAIAZG9tL3ho
dG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDEwLXN0ZGVyci50eHRVVAUAAzqX91R1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACACvfGRGENpy0HQAAABYAQAALwAYAAAAAAABAAAApIEvbQIAZG9t
L3hodG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDExLXN0ZGVyci50eHRVVAUAAzqX91R1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACACvfGRGENpy0HQAAABYAQAALwAYAAAAAAABAAAApIEMbgIA
ZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDEyLXN0ZGVyci50eHRVVAUAAzqX91R1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACvfGRGENpy0HQAAABYAQAALwAYAAAAAAABAAAApIHp
bgIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDEzLXN0ZGVyci50eHRVVAUAAzqX
91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACvfGRGENpy0HQAAABYAQAALwAYAAAAAAABAAAA
pIHGbwIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDE0LXN0ZGVyci50eHRVVAUA
AzqX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACvfGRGENpy0HQAAABYAQAALwAYAAAAAAAB
AAAApIGjcAIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDE1LXN0ZGVyci50eHRV
VAUAAzqX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACvfGRGENpy0HQAAABYAQAALwAYAAAA
AAABAAAApIGAcQIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDE2LXN0ZGVyci50
eHRVVAUAAzqX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACvfGRGENpy0HQAAABYAQAALwAY
AAAAAAABAAAApIFdcgIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDE3LXN0ZGVy
ci50eHRVVAUAAzqX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACvfGRGENpy0HQAAABYAQAA
LwAYAAAAAAABAAAApIE6cwIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDE4LXN0
ZGVyci50eHRVVAUAAzqX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACvfGRGENpy0HQAAABY
AQAALwAYAAAAAAABAAAApIEXdAIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVudDE5
LXN0ZGVyci50eHRVVAUAAzqX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACvfGRGENpy0HQA
AABYAQAALwAYAAAAAAABAAAApIH0dAIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxEb2N1bWVu
dDIwLXN0ZGVyci50eHRVVAUAAzqX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACvfGRGENpy
0HQAAABYAQAALwAYAAAAAAABAAAApIHRdQIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxEb2N1
bWVudDIxLXN0ZGVyci50eHRVVAUAAzqX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACvfGRG
ENpy0HQAAABYAQAALwAYAAAAAAABAAAApIGudgIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxE
b2N1bWVudDIyLXN0ZGVyci50eHRVVAUAAzqX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACv
fGRGENpy0HQAAABYAQAALwAYAAAAAAABAAAApIGLdwIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hU
TUxEb2N1bWVudDIzLXN0ZGVyci50eHRVVAUAAzqX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CACvfGRGENpy0HQAAABYAQAALwAYAAAAAAABAAAApIFoeAIAZG9tL3hodG1sL2xldmVsMi9odG1s
L0hUTUxEb2N1bWVudDI0LXN0ZGVyci50eHRVVAUAAzqX91R1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACACvfGRGENpy0HQAAABYAQAALwAYAAAAAAABAAAApIFFeQIAZG9tL3hodG1sL2xldmVsMi9o
dG1sL0hUTUxEb2N1bWVudDI1LXN0ZGVyci50eHRVVAUAAzqX91R1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACACvfGRGENpy0HQAAABYAQAALwAYAAAAAAABAAAApIEiegIAZG9tL3hodG1sL2xldmVs
Mi9odG1sL0hUTUxEb2N1bWVudDI2LXN0ZGVyci50eHRVVAUAAzqX91R1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACACvfGRGENpy0HQAAABYAQAALwAYAAAAAAABAAAApIH/egIAZG9tL3hodG1sL2xl
dmVsMi9odG1sL0hUTUxEb2N1bWVudDI3LXN0ZGVyci50eHRVVAUAAzqX91R1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACACzfGRGCKQaNmYAAAByAAAAMwAYAAAAAAABAAAApIHcewIAZG9tL3hodG1s
L2xldmVsMi9odG1sL0hUTUxJbWFnZUVsZW1lbnQwMS1zdGRlcnIudHh0VVQFAANCl/dUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAs3xkRgikGjZmAAAAcgAAADMAGAAAAAAAAQAAAKSBr3wCAGRv
bS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MSW1hZ2VFbGVtZW50MDItc3RkZXJyLnR4dFVUBQADQpf3
VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALN8ZEYIpBo2ZgAAAHIAAAAzABgAAAAAAAEAAACk
gYJ9AgBkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTEltYWdlRWxlbWVudDAzLXN0ZGVyci50eHRV
VAUAA0KX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACzfGRGCKQaNmYAAAByAAAAMwAYAAAA
AAABAAAApIFVfgIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbWFnZUVsZW1lbnQwNC1zdGRl
cnIudHh0VVQFAANCl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAs3xkRgikGjZmAAAAcgAA
ADMAGAAAAAAAAQAAAKSBKH8CAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MSW1hZ2VFbGVtZW50
MDUtc3RkZXJyLnR4dFVUBQADQpf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALN8ZEYIpBo2
ZgAAAHIAAAAzABgAAAAAAAEAAACkgft/AgBkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTEltYWdl
RWxlbWVudDA2LXN0ZGVyci50eHRVVAUAA0KX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACz
fGRGCKQaNmYAAAByAAAAMwAYAAAAAAABAAAApIHOgAIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hU
TUxJbWFnZUVsZW1lbnQwNy1zdGRlcnIudHh0VVQFAANCl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAs3xkRgikGjZmAAAAcgAAADMAGAAAAAAAAQAAAKSBoYECAGRvbS94aHRtbC9sZXZlbDIv
aHRtbC9IVE1MSW1hZ2VFbGVtZW50MDgtc3RkZXJyLnR4dFVUBQADQpf3VHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIALN8ZEYIpBo2ZgAAAHIAAAAzABgAAAAAAAEAAACkgXSCAgBkb20veGh0bWwv
bGV2ZWwyL2h0bWwvSFRNTEltYWdlRWxlbWVudDA5LXN0ZGVyci50eHRVVAUAA0KX91R1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACACzfGRGCKQaNmYAAAByAAAAMwAYAAAAAAABAAAApIFHgwIAZG9t
L3hodG1sL2xldmVsMi9odG1sL0hUTUxJbWFnZUVsZW1lbnQxMC1zdGRlcnIudHh0VVQFAANCl/dU
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAs3xkRgikGjZmAAAAcgAAADMAGAAAAAAAAQAAAKSB
GoQCAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MSW1hZ2VFbGVtZW50MTEtc3RkZXJyLnR4dFVU
BQADQpf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALN8ZEYIpBo2ZgAAAHIAAAAzABgAAAAA
AAEAAACkge2EAgBkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTEltYWdlRWxlbWVudDEyLXN0ZGVy
ci50eHRVVAUAA0KX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACzfGRG3I2Ep2gAAAB1AAAA
MwAYAAAAAAABAAAApIHAhQIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQw
MS1zdGRlcnIudHh0VVQFAANCl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAs3xkRtyNhKdo
AAAAdQAAADMAGAAAAAAAAQAAAKSBlYYCAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MSW5wdXRF
bGVtZW50MDItc3RkZXJyLnR4dFVUBQADQpf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALN8
ZEbcjYSnaAAAAHUAAAAzABgAAAAAAAEAAACkgWqHAgBkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRN
TElucHV0RWxlbWVudDAzLXN0ZGVyci50eHRVVAUAA0KX91R1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACACzfGRG3I2Ep2gAAAB1AAAAMwAYAAAAAAABAAAApIE/iAIAZG9tL3hodG1sL2xldmVsMi9o
dG1sL0hUTUxJbnB1dEVsZW1lbnQwNC1zdGRlcnIudHh0VVQFAANCl/dUdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAs3xkRtyNhKdoAAAAdQAAADMAGAAAAAAAAQAAAKSBFIkCAGRvbS94aHRtbC9s
ZXZlbDIvaHRtbC9IVE1MSW5wdXRFbGVtZW50MDUtc3RkZXJyLnR4dFVUBQADQpf3VHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIALN8ZEbcjYSnaAAAAHUAAAAzABgAAAAAAAEAAACkgemJAgBkb20v
eGh0bWwvbGV2ZWwyL2h0bWwvSFRNTElucHV0RWxlbWVudDA2LXN0ZGVyci50eHRVVAUAA0KX91R1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACzfGRG3I2Ep2gAAAB1AAAAMwAYAAAAAAABAAAApIG+
igIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQwNy1zdGRlcnIudHh0VVQF
AANCl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAtHxkRtyNhKdoAAAAdQAAADMAGAAAAAAA
AQAAAKSBk4sCAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MSW5wdXRFbGVtZW50MDgtc3RkZXJy
LnR4dFVUBQADQ5f3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALR8ZEbcjYSnaAAAAHUAAAAz
ABgAAAAAAAEAAACkgWiMAgBkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTElucHV0RWxlbWVudDA5
LXN0ZGVyci50eHRVVAUAA0OX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC0fGRG3I2Ep2gA
AAB1AAAAMwAYAAAAAAABAAAApIE9jQIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVs
ZW1lbnQxMC1zdGRlcnIudHh0VVQFAANDl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAtHxk
RtyNhKdoAAAAdQAAADMAGAAAAAAAAQAAAKSBEo4CAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1M
SW5wdXRFbGVtZW50MTEtc3RkZXJyLnR4dFVUBQADQ5f3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIALR8ZEbcjYSnaAAAAHUAAAAzABgAAAAAAAEAAACkgeeOAgBkb20veGh0bWwvbGV2ZWwyL2h0
bWwvSFRNTElucHV0RWxlbWVudDEyLXN0ZGVyci50eHRVVAUAA0OX91R1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAC0fGRG3I2Ep2gAAAB1AAAAMwAYAAAAAAABAAAApIG8jwIAZG9tL3hodG1sL2xl
dmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQxMy1zdGRlcnIudHh0VVQFAANDl/dUdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAtHxkRtyNhKdoAAAAdQAAADMAGAAAAAAAAQAAAKSBkZACAGRvbS94
aHRtbC9sZXZlbDIvaHRtbC9IVE1MSW5wdXRFbGVtZW50MTQtc3RkZXJyLnR4dFVUBQADQ5f3VHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALR8ZEbcjYSnaAAAAHUAAAAzABgAAAAAAAEAAACkgWaR
AgBkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTElucHV0RWxlbWVudDE1LXN0ZGVyci50eHRVVAUA
A0OX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC0fGRG3I2Ep2gAAAB1AAAAMwAYAAAAAAAB
AAAApIE7kgIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQxNi1zdGRlcnIu
dHh0VVQFAANDl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAtHxkRtyNhKdoAAAAdQAAADMA
GAAAAAAAAQAAAKSBEJMCAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MSW5wdXRFbGVtZW50MTct
c3RkZXJyLnR4dFVUBQADQ5f3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALR8ZEbcjYSnaAAA
AHUAAAAzABgAAAAAAAEAAACkgeWTAgBkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTElucHV0RWxl
bWVudDE4LXN0ZGVyci50eHRVVAUAA0OX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC0fGRG
3I2Ep2gAAAB1AAAAMwAYAAAAAAABAAAApIG6lAIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxJ
bnB1dEVsZW1lbnQxOS1zdGRlcnIudHh0VVQFAANDl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAtHxkRtyNhKdoAAAAdQAAADMAGAAAAAAAAQAAAKSBj5UCAGRvbS94aHRtbC9sZXZlbDIvaHRt
bC9IVE1MSW5wdXRFbGVtZW50MjAtc3RkZXJyLnR4dFVUBQADQ5f3VHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIALR8ZEbcjYSnaAAAAHUAAAAzABgAAAAAAAEAAACkgWSWAgBkb20veGh0bWwvbGV2
ZWwyL2h0bWwvSFRNTElucHV0RWxlbWVudDIxLXN0ZGVyci50eHRVVAUAA0OX91R1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAC0fGRG3I2Ep2gAAAB1AAAAMwAYAAAAAAABAAAApIE5lwIAZG9tL3ho
dG1sL2xldmVsMi9odG1sL0hUTUxJbnB1dEVsZW1lbnQyMi1zdGRlcnIudHh0VVQFAANDl/dUdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAtXxkRsoBg4VnAAAAcwAAADQAGAAAAAAAAQAAAKSBDpgC
AGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MT2JqZWN0RWxlbWVudDAxLXN0ZGVyci50eHRVVAUA
A0WX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC1fGRGygGDhWcAAABzAAAANAAYAAAAAAAB
AAAApIHjmAIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MDItc3RkZXJy
LnR4dFVUBQADRZf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALV8ZEbKAYOFZwAAAHMAAAA0
ABgAAAAAAAEAAACkgbiZAgBkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQw
My1zdGRlcnIudHh0VVQFAANFl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAtXxkRsoBg4Vn
AAAAcwAAADQAGAAAAAAAAQAAAKSBjZoCAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MT2JqZWN0
RWxlbWVudDA0LXN0ZGVyci50eHRVVAUAA0WX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC1
fGRGygGDhWcAAABzAAAANAAYAAAAAAABAAAApIFimwIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hU
TUxPYmplY3RFbGVtZW50MDUtc3RkZXJyLnR4dFVUBQADRZf3VHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIALV8ZEbKAYOFZwAAAHMAAAA0ABgAAAAAAAEAAACkgTecAgBkb20veGh0bWwvbGV2ZWwy
L2h0bWwvSFRNTE9iamVjdEVsZW1lbnQwNi1zdGRlcnIudHh0VVQFAANFl/dUdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAtXxkRsoBg4VnAAAAcwAAADQAGAAAAAAAAQAAAKSBDJ0CAGRvbS94aHRt
bC9sZXZlbDIvaHRtbC9IVE1MT2JqZWN0RWxlbWVudDA3LXN0ZGVyci50eHRVVAUAA0WX91R1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAC1fGRGygGDhWcAAABzAAAANAAYAAAAAAABAAAApIHhnQIA
ZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MDgtc3RkZXJyLnR4dFVUBQAD
RZf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALV8ZEbKAYOFZwAAAHMAAAA0ABgAAAAAAAEA
AACkgbaeAgBkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQwOS1zdGRlcnIu
dHh0VVQFAANFl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAtXxkRsoBg4VnAAAAcwAAADQA
GAAAAAAAAQAAAKSBi58CAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MT2JqZWN0RWxlbWVudDEw
LXN0ZGVyci50eHRVVAUAA0WX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC1fGRGygGDhWcA
AABzAAAANAAYAAAAAAABAAAApIFgoAIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RF
bGVtZW50MTEtc3RkZXJyLnR4dFVUBQADRZf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALV8
ZEbKAYOFZwAAAHMAAAA0ABgAAAAAAAEAAACkgTWhAgBkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRN
TE9iamVjdEVsZW1lbnQxMi1zdGRlcnIudHh0VVQFAANFl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAtXxkRsoBg4VnAAAAcwAAADQAGAAAAAAAAQAAAKSBCqICAGRvbS94aHRtbC9sZXZlbDIv
aHRtbC9IVE1MT2JqZWN0RWxlbWVudDEzLXN0ZGVyci50eHRVVAUAA0WX91R1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAC1fGRGygGDhWcAAABzAAAANAAYAAAAAAABAAAApIHfogIAZG9tL3hodG1s
L2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MTQtc3RkZXJyLnR4dFVUBQADRZf3VHV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIALV8ZEbKAYOFZwAAAHMAAAA0ABgAAAAAAAEAAACkgbSjAgBk
b20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQxNS1zdGRlcnIudHh0VVQFAANF
l/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAtXxkRsoBg4VnAAAAcwAAADQAGAAAAAAAAQAA
AKSBiaQCAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MT2JqZWN0RWxlbWVudDE2LXN0ZGVyci50
eHRVVAUAA0WX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC1fGRGygGDhWcAAABzAAAANAAY
AAAAAAABAAAApIFepQIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxPYmplY3RFbGVtZW50MTct
c3RkZXJyLnR4dFVUBQADRZf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALV8ZEbKAYOFZwAA
AHMAAAA0ABgAAAAAAAEAAACkgTOmAgBkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTE9iamVjdEVs
ZW1lbnQxOC1zdGRlcnIudHh0VVQFAANFl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAtXxk
RsoBg4VnAAAAcwAAADQAGAAAAAAAAQAAAKSBCKcCAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1M
T2JqZWN0RWxlbWVudDE5LXN0ZGVyci50eHRVVAUAA0WX91R1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAC1fGRGygGDhWcAAABzAAAANAAYAAAAAAABAAAApIHdpwIAZG9tL3hodG1sL2xldmVsMi9o
dG1sL0hUTUxPYmplY3RFbGVtZW50MjAtc3RkZXJyLnR4dFVUBQADRZf3VHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIALV8ZEYQJjWiagAAAHcAAAA0ABgAAAAAAAEAAACkgbKoAgBkb20veGh0bWwv
bGV2ZWwyL2h0bWwvSFRNTFNjcmlwdEVsZW1lbnQwMS1zdGRlcnIudHh0VVQFAANGl/dUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAtXxkRhAmNaJqAAAAdwAAADQAGAAAAAAAAQAAAKSBiqkCAGRv
bS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MU2NyaXB0RWxlbWVudDAyLXN0ZGVyci50eHRVVAUAA0aX
91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC1fGRGECY1omoAAAB3AAAANAAYAAAAAAABAAAA
pIFiqgIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxTY3JpcHRFbGVtZW50MDMtc3RkZXJyLnR4
dFVUBQADRpf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALV8ZEYQJjWiagAAAHcAAAA0ABgA
AAAAAAEAAACkgTqrAgBkb20veGh0bWwvbGV2ZWwyL2h0bWwvSFRNTFNjcmlwdEVsZW1lbnQwNC1z
dGRlcnIudHh0VVQFAANGl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAtXxkRhAmNaJqAAAA
dwAAADQAGAAAAAAAAQAAAKSBEqwCAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9IVE1MU2NyaXB0RWxl
bWVudDA1LXN0ZGVyci50eHRVVAUAA0aX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC2fGRG
ECY1omoAAAB3AAAANAAYAAAAAAABAAAApIHqrAIAZG9tL3hodG1sL2xldmVsMi9odG1sL0hUTUxT
Y3JpcHRFbGVtZW50MDYtc3RkZXJyLnR4dFVUBQADR5f3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIALZ8ZEYQJjWiagAAAHcAAAA0ABgAAAAAAAEAAACkgcKtAgBkb20veGh0bWwvbGV2ZWwyL2h0
bWwvSFRNTFNjcmlwdEVsZW1lbnQwNy1zdGRlcnIudHh0VVQFAANHl/dUdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAuXxkRsoBg4VnAAAAcwAAACkAGAAAAAAAAQAAAKSBmq4CAGRvbS94aHRtbC9s
ZXZlbDIvaHRtbC9vYmplY3QwMS1zdGRlcnIudHh0VVQFAANOl/dUdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAuXxkRsoBg4VnAAAAcwAAACkAGAAAAAAAAQAAAKSBZK8CAGRvbS94aHRtbC9sZXZl
bDIvaHRtbC9vYmplY3QwMi1zdGRlcnIudHh0VVQFAANOl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAunxkRsoBg4VnAAAAcwAAACkAGAAAAAAAAQAAAKSBLrACAGRvbS94aHRtbC9sZXZlbDIv
aHRtbC9vYmplY3QwMy1zdGRlcnIudHh0VVQFAANPl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAunxkRsoBg4VnAAAAcwAAACkAGAAAAAAAAQAAAKSB+LACAGRvbS94aHRtbC9sZXZlbDIvaHRt
bC9vYmplY3QwNC1zdGRlcnIudHh0VVQFAANPl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
unxkRsoBg4VnAAAAcwAAACkAGAAAAAAAAQAAAKSBwrECAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9v
YmplY3QwNS1zdGRlcnIudHh0VVQFAANPl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAunxk
RsoBg4VnAAAAcwAAACkAGAAAAAAAAQAAAKSBjLICAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9vYmpl
Y3QwNy1zdGRlcnIudHh0VVQFAANPl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAunxkRsoB
g4VnAAAAcwAAACkAGAAAAAAAAQAAAKSBVrMCAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9vYmplY3Qw
OC1zdGRlcnIudHh0VVQFAANPl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAunxkRsoBg4Vn
AAAAcwAAACkAGAAAAAAAAQAAAKSBILQCAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9vYmplY3QwOS1z
dGRlcnIudHh0VVQFAANPl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAunxkRsoBg4VnAAAA
cwAAACkAGAAAAAAAAQAAAKSB6rQCAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9vYmplY3QxMC1zdGRl
cnIudHh0VVQFAANPl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAunxkRsoBg4VnAAAAcwAA
ACkAGAAAAAAAAQAAAKSBtLUCAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9vYmplY3QxMS1zdGRlcnIu
dHh0VVQFAANPl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAunxkRsoBg4VnAAAAcwAAACkA
GAAAAAAAAQAAAKSBfrYCAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9vYmplY3QxMi1zdGRlcnIudHh0
VVQFAANPl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAunxkRsoBg4VnAAAAcwAAACkAGAAA
AAAAAQAAAKSBSLcCAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9vYmplY3QxMy1zdGRlcnIudHh0VVQF
AANPl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAunxkRsoBg4VnAAAAcwAAACkAGAAAAAAA
AQAAAKSBErgCAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9vYmplY3QxNC1zdGRlcnIudHh0VVQFAANP
l/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAunxkRsoBg4VnAAAAcwAAACkAGAAAAAAAAQAA
AKSB3LgCAGRvbS94aHRtbC9sZXZlbDIvaHRtbC9vYmplY3QxNS1zdGRlcnIudHh0VVQFAANPl/dU
dXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAfXZkRgAAAAAAAAAAAAAAAAgAGAAAAAAAAAAQAO1B
prkCAGVkaXRpbmcvVVQFAAOOjPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAg3ZkRgAAAAAA
AAAAAAAAABMAGAAAAAAAAAAQAO1B6LkCAGVkaXRpbmcvcGFzdGVib2FyZC9VVAUAA5aM91R1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAC2fGRG9uwaSWcAAABxAAAARAAYAAAAAAABAAAApIE1ugIA
ZWRpdGluZy9wYXN0ZWJvYXJkL2ltZy1zcmNzZXQtY29weS1wYXN0ZS1jYW5vbmljYWxpemF0aW9u
LXN0ZGVyci50eHRVVAUAA0iX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC3fGRGmwlZQlgA
AABgAAAAKQAYAAAAAAABAAAApIEauwIAZWRpdGluZy9wYXN0ZWJvYXJkL21lcmdlLWVuZC0xLXN0
ZGVyci50eHRVVAUAA0mX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC3fGRGmwlZQlgAAABg
AAAAKQAYAAAAAAABAAAApIHVuwIAZWRpdGluZy9wYXN0ZWJvYXJkL21lcmdlLWVuZC00LXN0ZGVy
ci50eHRVVAUAA0mX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAC3fGRGmwlZQlgAAABgAAAA
MAAYAAAAAAABAAAApIGQvAIAZWRpdGluZy9wYXN0ZWJvYXJkL3Bhc3RlLWJsb2NrcXVvdGUtMS1z
dGRlcnIudHh0VVQFAANKl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAuXxkRpsJWUJYAAAA
YAAAACwAGAAAAAAAAQAAAKSBUr0CAGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS10ZXh0LTAwMy1z
dGRlcnIudHh0VVQFAANOl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAuXxkRpsJWUJYAAAA
YAAAACwAGAAAAAAAAQAAAKSBEL4CAGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS10ZXh0LTAxMi1z
dGRlcnIudHh0VVQFAANOl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAunxkRpsJWUJYAAAA
YAAAAC0AGAAAAAAAAQAAAKSBzr4CAGVkaXRpbmcvcGFzdGVib2FyZC9zbWFydC1wYXN0ZS0wMDMt
c3RkZXJyLnR4dFVUBQADUJf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAFF9ZEZ2fYxI2SYA
AKblBAANABgAAAAAAAEAAACkgY2/AgBlcnJvcl9sb2cudHh0VVQFAANpmPdUdXgLAAEE9QEAAAQU
AAAAUEsBAh4DCgAAAAAAu3ZkRgAAAAAAAAAAAAAAAAUAGAAAAAAAAAAQAO1BreYCAGZhc3QvVVQF
AAMCjfdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAgXZkRgAAAAAAAAAAAAAAAAsAGAAAAAAA
AAAQAO1B7OYCAGZhc3QvYmxvY2svVVQFAAOSjPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA
gXZkRgAAAAAAAAAAAAAAABsAGAAAAAAAAAAQAO1BMecCAGZhc3QvYmxvY2svbWFyZ2luLWNvbGxh
cHNlL1VUBQADkoz3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALh8ZEZSl2FYbAAAAHwAAAAp
ABgAAAAAAAEAAACkgYbnAgBmYXN0L2Jsb2NrL21hcmdpbi1jb2xsYXBzZS8xMDMtc3RkZXJyLnR4
dFVUBQADTJf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAIJ2ZEYAAAAAAAAAAAAAAAAXABgA
AAAAAAAAEADtQVXoAgBmYXN0L2Jsb2NrL3Bvc2l0aW9uaW5nL1VUBQADk4z3VHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIALh8ZEbk4xrvbQAAAHwAAAAlABgAAAAAAAEAAACkgaboAgBmYXN0L2Js
b2NrL3Bvc2l0aW9uaW5nLzAwMS1zdGRlcnIudHh0VVQFAANMl/dUdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DCgACAAAAuXxkRpie9R02AAAANgAAACUAGAAAAAAAAQAAAKSBcukCAGZhc3QvYmxvY2svcG9z
aXRpb25pbmcvMDYxLXN0ZGVyci50eHRVVAUAA06X91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAAA
AACpdmRGAAAAAAAAAAAAAAAACQAYAAAAAAAAABAA7UEH6gIAZmFzdC9jc3MvVVQFAAPejPdUdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAu3xkRkZXkJtLAAAAUwAAAB8AGAAAAAAAAQAAAKSBSuoC
AGZhc3QvY3NzL2FjaWQyLXBpeGVsLXN0ZGVyci50eHRVVAUAA1KX91R1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAC7fGRGRleQm0sAAABTAAAAGQAYAAAAAAABAAAApIHu6gIAZmFzdC9jc3MvYWNp
ZDItc3RkZXJyLnR4dFVUBQADUpf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMN8ZEbbCNNC
OwAAAD8AAAApABgAAAAAAAEAAACkgYzrAgBmYXN0L2Nzcy9jb21wYXJlLWNvbnRlbnQtc3R5bGUt
c3RkZXJyLnR4dFVUBQADXpf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAIV2ZEYAAAAAAAAA
AAAAAAASABgAAAAAAAAAEADtQSrsAgBmYXN0L2Nzcy9jb3VudGVycy9VVAUAA5mM91R1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAC8fGRGN4ak73EAAACDAAAAKwAYAAAAAAABAAAApIF27AIAZmFz
dC9jc3MvY291bnRlcnMvY29tcGxleC1iZWZvcmUtc3RkZXJyLnR4dFVUBQADVJf3VHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAMx8ZEYIBrVTYAAAAGoAAAA5ABgAAAAAAAEAAACkgUztAgBmYXN0
L2Nzcy9pbWFnZS1zZXQtdmFsdWUtY3Jhc2gtaW4tZmlsbEltYWdlU2V0LXN0ZGVyci50eHRVVAUA
A3CX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADWfGRGn6Zyh2cAAAByAAAAOAAYAAAAAAAB
AAAApIEf7gIAZmFzdC9jc3MvcGFyc2UtYm9yZGVyLWltYWdlLXJlcGVhdC1udWxsLWNyYXNoLXN0
ZGVyci50eHRVVAUAA4OX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADkfGRGYxpUcW0AAADd
AAAALAAYAAAAAAABAAAApIH47gIAZmFzdC9jc3Mvc3F1YXJlLWJ1dHRvbi1hcHBlYXJhbmNlLXN0
ZGVyci50eHRVVAUAA5yX91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACHdmRGAAAAAAAAAAAA
AAAADwAYAAAAAAAAABAA7UHL7wIAZmFzdC9jc3MzLXRleHQvVVQFAAOdjPdUdXgLAAEE9QEAAAQU
AAAAUEsBAh4DCgAAAAAAhnZkRgAAAAAAAAAAAAAAACQAGAAAAAAAAAAQAO1BFPACAGZhc3QvY3Nz
My10ZXh0L2NzczMtdGV4dC1kZWNvcmF0aW9uL1VUBQADnIz3VHV4CwABBPUBAAAEFAAAAFBLAQIe
AwoAAAAAAIZ2ZEYAAAAAAAAAAAAAAAAsABgAAAAAAAAAEADtQXLwAgBmYXN0L2NzczMtdGV4dC9j
c3MzLXRleHQtZGVjb3JhdGlvbi9yZXBhaW50L1VUBQADnIz3VHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAMB8ZEYNH+FzbAAAAHwAAABUABgAAAAAAAEAAACkgdjwAgBmYXN0L2NzczMtdGV4dC9j
c3MzLXRleHQtZGVjb3JhdGlvbi9yZXBhaW50L3JlcGFpbnQtdGV4dC1kZWNvcmF0aW9uLWNvbG9y
LXN0ZGVyci50eHRVVAUAA1iX91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACHdmRGAAAAAAAA
AAAAAAAALAAYAAAAAAAAABAA7UHS8QIAZmFzdC9jc3MzLXRleHQvY3NzMy13b3JkLXNwYWNpbmct
cGVyY2VudGFnZS9VVAUAA52M91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADBfGRGcts/nWMA
AABvAAAAVAAYAAAAAAABAAAApIE48gIAZmFzdC9jc3MzLXRleHQvY3NzMy13b3JkLXNwYWNpbmct
cGVyY2VudGFnZS93b3JkLXNwYWNpbmctcGVyY2VudGFnZS1wYXJzZS1zdGRlcnIudHh0VVQFAANZ
l/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAk3ZkRgAAAAAAAAAAAAAAAAkAGAAAAAAAAAAQ
AO1BKfMCAGZhc3QvZG9tL1VUBQADtYz3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMV8ZEZ+
KuymUQAAAFYAAAA0ABgAAAAAAAEAAACkgWzzAgBmYXN0L2RvbS9lbGVtZW50RnJvbVBvaW50LXNj
YWxlZC1zY3JvbGxlZC1zdGRlcnIudHh0VVQFAANhl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAA
AAAAiXZkRgAAAAAAAAAAAAAAABoAGAAAAAAAAAAQAO1BK/QCAGZhc3QvZG9tL0hUTUxJbWFnZUVs
ZW1lbnQvVVQFAAOijPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAw3xkRqxVIVpCAAAARAAA
ADsAGAAAAAAAAQAAAKSBf/QCAGZhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvaW1hZ2Utc3JjLWFi
c29sdXRlLXVybC1zdGRlcnIudHh0VVQFAANdl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA
inZkRgAAAAAAAAAAAAAAABsAGAAAAAAAAAAQAO1BNvUCAGZhc3QvZG9tL0hUTUxTZWxlY3RFbGVt
ZW50L1VUBQADo4z3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMR8ZEb79WrfYwAAAG4AAAA+
ABgAAAAAAAEAAACkgYv1AgBmYXN0L2RvbS9IVE1MU2VsZWN0RWxlbWVudC9jbGljay1zaXplLXpl
cm8tbm8tY3Jhc2gtc3RkZXJyLnR4dFVUBQADX5f3VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAA
AIp2ZEYAAAAAAAAAAAAAAAAaABgAAAAAAAAAEADtQWb2AgBmYXN0L2RvbS9IVE1MU3R5bGVFbGVt
ZW50L1VUBQADo4z3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMR8ZEaN18Z2eQAAAJAAAABU
ABgAAAAAAAEAAACkgbr2AgBmYXN0L2RvbS9IVE1MU3R5bGVFbGVtZW50L3Byb2dyYW1tYXRpY2Fs
bHktYWRkLXN0eWxlLXdpdGgtb25lcnJvci1oYW5kbGVyLXN0ZGVyci50eHRVVAUAA1+X91R1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACADEfGRGjdfGdnkAAACQAAAAMgAYAAAAAAABAAAApIHB9wIA
ZmFzdC9kb20vSFRNTFN0eWxlRWxlbWVudC9zdHlsZS1vbmVycm9yLXN0ZGVyci50eHRVVAUAA1+X
91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADEfGRGjdfGdnkAAACQAAAAWAAYAAAAAAABAAAA
pIGm+AIAZmFzdC9kb20vSFRNTFN0eWxlRWxlbWVudC9zdHlsZS1vbmVycm9yLXdpdGgtZXhpc3Rl
bnQtYW5kLW5vbi1leGlzdGVudC1pbXBvcnQtc3RkZXJyLnR4dFVUBQADX5f3VHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAM18ZEaHAeBO4QAAAE4DAAAyABgAAAAAAAEAAACkgbH5AgBmYXN0L2Rv
bS9vYmplY3QtcGx1Z2luLWhpZGVzLXByb3BlcnRpZXMtc3RkZXJyLnR4dFVUBQADcZf3VHV4CwAB
BPUBAAAEFAAAAFBLAQIeAwoAAAAAAI52ZEYAAAAAAAAAAAAAAAAOABgAAAAAAAAAEADtQf76AgBm
YXN0L2VuY29kaW5nL1VUBQADq4z3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMh8ZEYggw8F
vwAAAGEFAAAqABgAAAAAAAEAAACkgUb7AgBmYXN0L2VuY29kaW5nL3V0Zi0xNi1iaWctZW5kaWFu
LXN0ZGVyci50eHRVVAUAA2eX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADIfGRGIIMPBb8A
AABhBQAALQAYAAAAAAABAAAApIFp/AIAZmFzdC9lbmNvZGluZy91dGYtMTYtbGl0dGxlLWVuZGlh
bi1zdGRlcnIudHh0VVQFAANnl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA63ZkRgAAAAAA
AAAAAAAAAAwAGAAAAAAAAAAQAO1Bj/0CAGZhc3QvZXZlbnRzL1VUBQADWo33VHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAMp8ZEZYKmd1OQAAAEMAAAAyABgAAAAAAAEAAACkgdX9AgBmYXN0L2V2
ZW50cy9kaXNwbGF5LW5vbmUtb24tZm9jdXMtY3Jhc2gtc3RkZXJyLnR4dFVUBQADbJf3VHV4CwAB
BPUBAAAEFAAAAFBLAQIeAwoAAgAAAKV2ZEb+JzjgNQAAADUAAAArABgAAAAAAAEAAACkgXr+AgBm
YXN0L2V2ZW50cy9tZXNzYWdlLWNoYW5uZWwtZ2MtMy1hY3R1YWwudHh0VVQFAAPVjPdUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgApXZkRr1fi7IZAQAA9AEAACkAGAAAAAAAAQAAAKSBFP8CAGZh
c3QvZXZlbnRzL21lc3NhZ2UtY2hhbm5lbC1nYy0zLWRpZmYudHh0VVQFAAPVjPdUdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgApXZkRt3FsRGHAAAAxAAAAC0AGAAAAAAAAQAAAKSBkAADAGZhc3Qv
ZXZlbnRzL21lc3NhZ2UtY2hhbm5lbC1nYy0zLWV4cGVjdGVkLnR4dFVUBQAD1Yz3VHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAKV2ZEaKOI+fRggAAO0cAAAxABgAAAAAAAEAAACkgX4BAwBmYXN0
L2V2ZW50cy9tZXNzYWdlLWNoYW5uZWwtZ2MtMy1wcmV0dHktZGlmZi5odG1sVVQFAAPWjPdUdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAtXZkRv4nOOA1AAAANQAAACsAGAAAAAAAAQAAAKSBLwoD
AGZhc3QvZXZlbnRzL21lc3NhZ2UtY2hhbm5lbC1nYy00LWFjdHVhbC50eHRVVAUAA/WM91R1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAC1dmRG0aQ9zAsBAADzAQAAKQAYAAAAAAABAAAApIHJCgMA
ZmFzdC9ldmVudHMvbWVzc2FnZS1jaGFubmVsLWdjLTQtZGlmZi50eHRVVAUAA/WM91R1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAC1dmRGeVG+CX0AAADDAAAALQAYAAAAAAABAAAApIE3DAMAZmFz
dC9ldmVudHMvbWVzc2FnZS1jaGFubmVsLWdjLTQtZXhwZWN0ZWQudHh0VVQFAAP1jPdUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAtXZkRvozk3YtCAAAtRwAADEAGAAAAAAAAQAAAKSBGw0DAGZh
c3QvZXZlbnRzL21lc3NhZ2UtY2hhbm5lbC1nYy00LXByZXR0eS1kaWZmLmh0bWxVVAUAA/WM91R1
eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAADndmRG/ic44DUAAAA1AAAAIwAYAAAAAAABAAAApIGz
FQMAZmFzdC9ldmVudHMvbWVzc2FnZS1wb3J0LWFjdHVhbC50eHRVVAUAA1KN91R1eAsAAQT1AQAA
BBQAAABQSwECHgMKAAIAAADGdmRG/ic44DUAAAA1AAAAKQAYAAAAAAABAAAApIFFFgMAZmFzdC9l
dmVudHMvbWVzc2FnZS1wb3J0LWNsb25lLWFjdHVhbC50eHRVVAUAAxON91R1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACADGdmRGNPVo62ABAADiAgAAJwAYAAAAAAABAAAApIHdFgMAZmFzdC9ldmVu
dHMvbWVzc2FnZS1wb3J0LWNsb25lLWRpZmYudHh0VVQFAAMTjfdUdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAxnZkRu4Qgu/YAAAAsAEAACsAGAAAAAAAAQAAAKSBnhgDAGZhc3QvZXZlbnRzL21l
c3NhZ2UtcG9ydC1jbG9uZS1leHBlY3RlZC50eHRVVAUAAxON91R1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACADGdmRGz5BIXZUIAACQIAAALwAYAAAAAAABAAAApIHbGQMAZmFzdC9ldmVudHMvbWVz
c2FnZS1wb3J0LWNsb25lLXByZXR0eS1kaWZmLmh0bWxVVAUAAxSN91R1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACADndmRG2HdjWjYBAACwAgAAIQAYAAAAAAABAAAApIHZIgMAZmFzdC9ldmVudHMv
bWVzc2FnZS1wb3J0LWRpZmYudHh0VVQFAANSjfdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
53ZkRnn8inquAAAAhgEAACUAGAAAAAAAAQAAAKSBaiQDAGZhc3QvZXZlbnRzL21lc3NhZ2UtcG9y
dC1leHBlY3RlZC50eHRVVAUAA1KN91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAADWdmRG/ic4
4DUAAAA1AAAAKQAYAAAAAAABAAAApIF3JQMAZmFzdC9ldmVudHMvbWVzc2FnZS1wb3J0LW11bHRp
LWFjdHVhbC50eHRVVAUAAzON91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADWdmRGNrz2DYIC
AACdCAAAJwAYAAAAAAABAAAApIEPJgMAZmFzdC9ldmVudHMvbWVzc2FnZS1wb3J0LW11bHRpLWRp
ZmYudHh0VVQFAAMzjfdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA1nZkRvvnERT9AQAAXAcA
ACsAGAAAAAAAAQAAAKSB8igDAGZhc3QvZXZlbnRzL21lc3NhZ2UtcG9ydC1tdWx0aS1leHBlY3Rl
ZC50eHRVVAUAAzON91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADWdmRGLp3gcQIKAACMLwAA
LwAYAAAAAAABAAAApIFUKwMAZmFzdC9ldmVudHMvbWVzc2FnZS1wb3J0LW11bHRpLXByZXR0eS1k
aWZmLmh0bWxVVAUAAzON91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADndmRGOXwctYQIAAAG
IwAAKQAYAAAAAAABAAAApIG/NQMAZmFzdC9ldmVudHMvbWVzc2FnZS1wb3J0LXByZXR0eS1kaWZm
Lmh0bWxVVAUAA1KN91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADPfGRGMLVt4zkAAABDAAAA
KwAYAAAAAAABAAAApIGmPgMAZmFzdC9ldmVudHMvbW91c2UtZm9jdXMtaW1hZ2VtYXAtc3RkZXJy
LnR4dFVUBQADdZf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAM98ZEbnrr1fOwAAAEMAAAAv
ABgAAAAAAAEAAACkgUQ/AwBmYXN0L2V2ZW50cy9tb3VzZXVwLW91dHNpZGUtZG9jdW1lbnQtc3Rk
ZXJyLnR4dFVUBQADdpf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANN8ZEb32ouxawAAAIMA
AAA1ABgAAAAAAAEAAACkgeg/AwBmYXN0L2V2ZW50cy9wb3B1cC1ibG9ja2luZy1jbGljay1pbi1p
ZnJhbWUtc3RkZXJyLnR4dFVUBQADfZf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAI52ZEYA
AAAAAAAAAAAAAAALABgAAAAAAAAAEADtQcJAAwBmYXN0L2Zvcm1zL1VUBQADrIz3VHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAMd8ZEY2nOZBbQAAAH4AAAAZABgAAAAAAAEAAACkgQdBAwBmYXN0
L2Zvcm1zLzAwMi1zdGRlcnIudHh0VVQFAANll/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA
jnZkRgAAAAAAAAAAAAAAABIAGAAAAAAAAAAQAO1Bx0EDAGZhc3QvZm9ybXMvbGVnZW5kL1VUBQAD
rIz3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMh8ZEZy2z+dYwAAAG8AAAAoABgAAAAAAAEA
AACkgRNCAwBmYXN0L2Zvcm1zL2xlZ2VuZC9sZWdlbmQtZm9ybS1zdGRlcnIudHh0VVQFAANnl/dU
dXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAknZkRgAAAAAAAAAAAAAAAAwAGAAAAAAAAAAQAO1B
2EIDAGZhc3QvZnJhbWVzL1VUBQADtIz3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMx8ZEbb
CNNCOwAAAD8AAAAvABgAAAAAAAEAAACkgR5DAwBmYXN0L2ZyYW1lcy9mcmFtZS1kaXNwbGF5LW5v
bmUtZm9jdXMtc3RkZXJyLnR4dFVUBQADb5f3VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAJF2
ZEYAAAAAAAAAAAAAAAALABgAAAAAAAAAEADtQcJDAwBmYXN0L2hpZHBpL1VUBQADsoz3VHV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAMt8ZEa35w1XZAAAAHEAAAA9ABgAAAAAAAEAAACkgQdEAwBm
YXN0L2hpZHBpL2ltYWdlLXNyY3NldC1kYXRhLXNyY3NldC1pbnZhbGlkLWlucHV0cy1zdGRlcnIu
dHh0VVQFAANul/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAy3xkRrfnDVdkAAAAcQAAADsA
GAAAAAAAAQAAAKSB4kQDAGZhc3QvaGlkcGkvaW1hZ2Utc3Jjc2V0LWRhdGEtc3Jjc2V0LXZhbGlk
LWlucHV0cy1zdGRlcnIudHh0VVQFAANul/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAApHZk
RgAAAAAAAAAAAAAAAA0AGAAAAAAAAAAQAO1Bu0UDAGZhc3QvaGlzdG9yeS9VVAUAA9SM91R1eAsA
AQT1AQAABBQAAABQSwECHgMKAAIAAACkdmRG/ic44DUAAAA1AAAAOwAYAAAAAAABAAAApIECRgMA
ZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbm90aWZpY2F0aW9uLXN1c3BlbmRhYmxlLWFjdHVhbC50
eHRVVAUAA9SM91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACkdmRGPpOnfHMBAADGAgAAOQAY
AAAAAAABAAAApIGsRgMAZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbm90aWZpY2F0aW9uLXN1c3Bl
bmRhYmxlLWRpZmYudHh0VVQFAAPUjPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgApHZkRpVl
jjnbAAAAbwEAAD0AGAAAAAAAAQAAAKSBkkgDAGZhc3QvaGlzdG9yeS9wYWdlLWNhY2hlLW5vdGlm
aWNhdGlvbi1zdXNwZW5kYWJsZS1leHBlY3RlZC50eHRVVAUAA9SM91R1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACACkdmRG8OmNUs8IAAB8IQAAQQAYAAAAAAABAAAApIHkSQMAZmFzdC9oaXN0b3J5
L3BhZ2UtY2FjaGUtbm90aWZpY2F0aW9uLXN1c3BlbmRhYmxlLXByZXR0eS1kaWZmLmh0bWxVVAUA
A9SM91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACYdmRGAAAAAAAAAAAAAAAADAAYAAAAAAAA
ABAA7UEuUwMAZmFzdC9pbWFnZXMvVVQFAAPAjPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
03xkRiGPvTgyAAAAMwAAACwAGAAAAAAAAQAAAKSBdFMDAGZhc3QvaW1hZ2VzL3BkZi1hcy1pbWFn
ZS1jcm9wLWJveC1zdGRlcnIudHh0VVQFAAN9l/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA
mnZkRgAAAAAAAAAAAAAAAAwAGAAAAAAAAAAQAO1BDFQDAGZhc3QvbG9hZGVyL1VUBQADxIz3VHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAM98ZEbbCNNCOwAAAD8AAABSABgAAAAAAAEAAACkgVJU
AwBmYXN0L2xvYWRlci9kaXNwbGF5LWltYWdlLXVuc2V0LWNhbi1ibG9jay1pbWFnZS1hbmQtY2Fu
LXJlbG9hZC1pbi1wbGFjZS1zdGRlcnIudHh0VVQFAAN1l/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgA0HxkRtsI00I7AAAAPwAAAFMAGAAAAAAAAQAAAKSBGVUDAGZhc3QvbG9hZGVyL2ltYWdl
cy1lbmFibGVkLXVuc2V0LWNhbi1ibG9jay1pbWFnZS1hbmQtY2FuLXJlbG9hZC1pbi1wbGFjZS1z
dGRlcnIudHh0VVQFAAN3l/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA0nxkRrxTiH1aAAAA
ZwAAACsAGAAAAAAAAQAAAKSB4VUDAGZhc3QvbG9hZGVyL2xvY2FsLUNTUy1mcm9tLWxvY2FsLXN0
ZGVyci50eHRVVAUAA3yX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADTfGRGiIIVUV0AAABp
AAAANQAYAAAAAAABAAAApIGgVgMAZmFzdC9sb2FkZXIvbG9jYWwtaUZyYW1lLXNvdXJjZS1mcm9t
LWxvY2FsLXN0ZGVyci50eHRVVAUAA32X91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADTfGRG
z045PVoAAABmAAAALQAYAAAAAAABAAAApIFsVwMAZmFzdC9sb2FkZXIvbG9jYWwtaW1hZ2UtZnJv
bS1sb2NhbC1zdGRlcnIudHh0VVQFAAN9l/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA0nxk
RlF9CoJcAAAAaQAAADIAGAAAAAAAAQAAAKSBLVgDAGZhc3QvbG9hZGVyL2xvY2FsLUphdmFTY3Jp
cHQtZnJvbS1sb2NhbC1zdGRlcnIudHh0VVQFAAN8l/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgA1XxkRtsI00I7AAAAPwAAAC0AGAAAAAAAAQAAAKSB9VgDAGZhc3QvbG9hZGVyL3JlbG9hZC1w
b2xpY3ktZGVsZWdhdGUtc3RkZXJyLnR4dFVUBQADgZf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoA
AAAAAJp2ZEYAAAAAAAAAAAAAAAAMABgAAAAAAAAAEADtQZdZAwBmYXN0L3BhcnNlci9VVAUAA8SM
91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADUfGRGQFkIiGIAAABrAAAAKAAYAAAAAAABAAAA
pIHdWQMAZmFzdC9wYXJzZXIvZW50aXRpZXMtaW4teGh0bWwtc3RkZXJyLnR4dFVUBQADgJf3VHV4
CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAJt2ZEYAAAAAAAAAAAAAAAAPABgAAAAAAAAAEADtQaFa
AwBmYXN0L3ByZWxvYWRlci9VVAUAA8WM91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADUfGRG
BjXhM2sAAACDAAAALQAYAAAAAAABAAAApIHqWgMAZmFzdC9wcmVsb2FkZXIvZmlyc3QtYmFzZS10
YWctd2lucy1zdGRlcnIudHh0VVQFAAOAl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAApHZk
RgAAAAAAAAAAAAAAAA0AGAAAAAAAAAAQAO1BvFsDAGZhc3QvcmVnaW9ucy9VVAUAA9OM91R1eAsA
AQT1AQAABBQAAABQSwECHgMKAAAAAACidmRGAAAAAAAAAAAAAAAAHAAYAAAAAAAAABAA7UEDXAMA
ZmFzdC9yZWdpb25zL3JlZ2lvbi1zdHlsaW5nL1VUBQAD0Iz3VHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIANh8ZEY6jsPLYAAAAGgAAABKABgAAAAAAAEAAACkgVlcAwBmYXN0L3JlZ2lvbnMvcmVn
aW9uLXN0eWxpbmcvcmVnaW9uLXN0eWxlLWltYWdlLWJhY2tncm91bmQtY29sb3Itc3RkZXJyLnR4
dFVUBQADiJf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANl8ZEY6jsPLYAAAAGgAAABLABgA
AAAAAAEAAACkgT1dAwBmYXN0L3JlZ2lvbnMvcmVnaW9uLXN0eWxpbmcvcmVnaW9uLXN0eWxlLWlu
bGluZS1iYWNrZ3JvdW5kLWNvbG9yLXN0ZGVyci50eHRVVAUAA4mX91R1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACADZfGRGOo7Dy2AAAABoAAAARgAYAAAAAAABAAAApIEiXgMAZmFzdC9yZWdpb25z
L3JlZ2lvbi1zdHlsaW5nL3JlbmRlci1yZWdpb24tY3VzdG9tLXN0eWxlLW1hcmstc3RkZXJyLnR4
dFVUBQADipf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAKR2ZEYAAAAAAAAAAAAAAAAXABgA
AAAAAAAAEADtQQJfAwBmYXN0L3JlZ2lvbnMvc2Nyb2xsaW5nL1VUBQAD1Iz3VHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIANx8ZEY5AcvdQAAAAHoAAAA1ABgAAAAAAAEAAACkgVNfAwBmYXN0L3Jl
Z2lvbnMvc2Nyb2xsaW5nL3doZWVsLXNjcm9sbC1hYnNwb3Mtc3RkZXJyLnR4dFVUBQADj5f3VHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANx8ZEY5AcvdQAAAAHoAAAAuABgAAAAAAAEAAACkgQJg
AwBmYXN0L3JlZ2lvbnMvc2Nyb2xsaW5nL3doZWVsLXNjcm9sbC1zdGRlcnIudHh0VVQFAAOQl/dU
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA3HxkRuSKx0M8AAAAPQAAAEAAGAAAAAAAAQAAAKSB
qmADAGZhc3QvcmVnaW9ucy9zY3JvbGxpbmcvd2hlZWwtc2Nyb2xsYWJsZS1zaW5nbGUtcmVnaW9u
LXN0ZGVyci50eHRVVAUAA5CX91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACkdmRGAAAAAAAA
AAAAAAAADwAYAAAAAAAAABAA7UFgYQMAZmFzdC9zdWItcGl4ZWwvVVQFAAPUjPdUdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgA3HxkRkM/qXFXAAAAXgAAAEYAGAAAAAAAAQAAAKSBqWEDAGZhc3Qv
c3ViLXBpeGVsL2Jsb2NrLXByZWZlcnJlZC13aWR0aHMtd2l0aC1zdWItcGl4ZWwtZmxvYXRzLXN0
ZGVyci50eHRVVAUAA4+X91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACldmRGAAAAAAAAAAAA
AAAACwAYAAAAAAAAABAA7UGAYgMAZmFzdC90YWJsZS9VVAUAA9WM91R1eAsAAQT1AQAABBQAAABQ
SwECHgMKAAIAAADcfGRG7R3y4TkAAAA5AAAAGQAYAAAAAAABAAAApIHFYgMAZmFzdC90YWJsZS8w
MDctc3RkZXJyLnR4dFVUBQADj5f3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANx8ZEZHfMAX
fAAAAPIAAAAZABgAAAAAAAEAAACkgVFjAwBmYXN0L3RhYmxlLzAwOC1zdGRlcnIudHh0VVQFAAOP
l/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAqXZkRgAAAAAAAAAAAAAAAAoAGAAAAAAAAAAQ
AO1BIGQDAGZhc3QvdGV4dC9VVAUAA96M91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACpdmRG
AAAAAAAAAAAAAAAAFQAYAAAAAAAAABAA7UFkZAMAZmFzdC90ZXh0L3doaXRlc3BhY2UvVVQFAAPe
jPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA4XxkRoO3/MyQAAAAAAIAADwAGAAAAAAAAQAA
AKSBs2QDAGZhc3QvdGV4dC93aGl0ZXNwYWNlL25vcm1hbC1hZnRlci1ub3dyYXAtYnJlYWtpbmct
c3RkZXJyLnR4dFVUBQADlZf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAO52ZEYAAAAAAAAA
AAAAAAANABgAAAAAAAAAEADtQbllAwBmYXN0L3dvcmtlcnMvVVQFAANfjfdUdXgLAAEE9QEAAAQU
AAAAUEsBAh4DCgACAAAAu3ZkRv4nOOA1AAAANQAAADEAGAAAAAAAAQAAAKSBAGYDAGZhc3Qvd29y
a2Vycy93b3JrZXItY29udGV4dC1tdWx0aS1wb3J0LWFjdHVhbC50eHRVVAUAAwKN91R1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAC7dmRG7M270NYBAAAkBAAALwAYAAAAAAABAAAApIGgZgMAZmFz
dC93b3JrZXJzL3dvcmtlci1jb250ZXh0LW11bHRpLXBvcnQtZGlmZi50eHRVVAUAAwKN91R1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAC7dmRGZYd6vkYBAADeAgAAMwAYAAAAAAABAAAApIHfaAMA
ZmFzdC93b3JrZXJzL3dvcmtlci1jb250ZXh0LW11bHRpLXBvcnQtZXhwZWN0ZWQudHh0VVQFAAMC
jfdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAu3ZkRvOfpbQYCQAAMyQAADcAGAAAAAAAAQAA
AKSBkmoDAGZhc3Qvd29ya2Vycy93b3JrZXItY29udGV4dC1tdWx0aS1wb3J0LXByZXR0eS1kaWZm
Lmh0bWxVVAUAAwKN91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAADcdmRG/ic44DUAAAA1AAAA
KgAYAAAAAAABAAAApIEbdAMAZmFzdC93b3JrZXJzL3dvcmtlci1tZXNzYWdlcG9ydC1hY3R1YWwu
dHh0VVQFAANAjfdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA3HZkRn9ENpw6AQAAaAIAACgA
GAAAAAAAAQAAAKSBtHQDAGZhc3Qvd29ya2Vycy93b3JrZXItbWVzc2FnZXBvcnQtZGlmZi50eHRV
VAUAA0CN91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADcdmRGAT5E2bcAAAA2AQAALAAYAAAA
AAABAAAApIFQdgMAZmFzdC93b3JrZXJzL3dvcmtlci1tZXNzYWdlcG9ydC1leHBlY3RlZC50eHRV
VAUAA0CN91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAADNdmRG/ic44DUAAAA1AAAALQAYAAAA
AAABAAAApIFtdwMAZmFzdC93b3JrZXJzL3dvcmtlci1tZXNzYWdlcG9ydC1nYy1hY3R1YWwudHh0
VVQFAAMhjfdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAzXZkRnD4dRjtAAAApwEAACsAGAAA
AAAAAQAAAKSBCXgDAGZhc3Qvd29ya2Vycy93b3JrZXItbWVzc2FnZXBvcnQtZ2MtZGlmZi50eHRV
VAUAAyGN91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADNdmRGmWFM3GYAAAB1AAAALwAYAAAA
AAABAAAApIFbeQMAZmFzdC93b3JrZXJzL3dvcmtlci1tZXNzYWdlcG9ydC1nYy1leHBlY3RlZC50
eHRVVAUAAyGN91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADNdmRGvd1mDRAIAABvGwAAMwAY
AAAAAAABAAAApIEqegMAZmFzdC93b3JrZXJzL3dvcmtlci1tZXNzYWdlcG9ydC1nYy1wcmV0dHkt
ZGlmZi5odG1sVVQFAAMhjfdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA3HZkRjt1LcOACAAA
XR8AADAAGAAAAAAAAQAAAKSBp4IDAGZhc3Qvd29ya2Vycy93b3JrZXItbWVzc2FnZXBvcnQtcHJl
dHR5LWRpZmYuaHRtbFVUBQADQI33VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAgAAAO12ZEb+Jzjg
NQAAADUAAAApABgAAAAAAAEAAACkgZGLAwBmYXN0L3dvcmtlcnMvd29ya2VyLW11bHRpLXBvcnQt
YWN0dWFsLnR4dFVUBQADXo33VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAO12ZEbCC0g9+gEA
AL8EAAAnABgAAAAAAAEAAACkgSmMAwBmYXN0L3dvcmtlcnMvd29ya2VyLW11bHRpLXBvcnQtZGlm
Zi50eHRVVAUAA16N91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADtdmRGLcJ8HXEBAACJAwAA
KwAYAAAAAAABAAAApIGEjgMAZmFzdC93b3JrZXJzL3dvcmtlci1tdWx0aS1wb3J0LWV4cGVjdGVk
LnR4dFVUBQADXo33VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAO52ZEb8QuxaRQkAAP4kAAAv
ABgAAAAAAAEAAACkgVqQAwBmYXN0L3dvcmtlcnMvd29ya2VyLW11bHRpLXBvcnQtcHJldHR5LWRp
ZmYuaHRtbFVUBQADX433VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAKx2ZEYAAAAAAAAAAAAA
AAAJABgAAAAAAAAAEADtQQiaAwBmYXN0L3hzbC9VVAUAA+OM91R1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACADjfGRGcv1l8oUAAADpAAAAJQAYAAAAAAABAAAApIFLmgMAZmFzdC94c2wvdHJhbnNm
b3JtLXhoci1kb2Mtc3RkZXJyLnR4dFVUBQADmpf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AON8ZEYFj1WOkwAAANACAAAnABgAAAAAAAEAAACkgS+bAwBmYXN0L3hzbC94c2x0LWJhZC1pbXBv
cnQtdXJpLXN0ZGVyci50eHRVVAUAA5qX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADjfGRG
z49mDlAAAACgAAAAJAAYAAAAAAABAAAApIEjnAMAZmFzdC94c2wveHNsdC1jb250ZW50VHlwZS1z
dGRlcnIudHh0VVQFAAOal/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA5HxkRoFKd61LAAAA
rAAAADQAGAAAAAAAAQAAAKSB0ZwDAGZhc3QveHNsL3hzbHQtdHJhbnNmb3JtLXRvLWZyYWdtZW50
LWNyYXNoLXN0ZGVyci50eHRVVAUAA5uX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABSfWRG
TsGzkHICAAApCAAAEQAYAAAAAAABAAAApIGKnQMAZnVsbF9yZXN1bHRzLmpzb25VVAUAA2uY91R1
eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAC2dmRGAAAAAAAAAAAAAAAABQAYAAAAAAAAABAA7UFH
oAMAaHR0cC9VVAUAA/eM91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADxfGRGAAAAAAAAAAAA
AAAACwAYAAAAAAAAABAA7UGGoAMAaHR0cC90ZXN0cy9VVAUAA7WX91R1eAsAAQT1AQAABBQAAABQ
SwECHgMKAAAAAADmfGRGAAAAAAAAAAAAAAAAHQAYAAAAAAAAABAA7UHLoAMAaHR0cC90ZXN0cy9j
b250ZW50ZXh0ZW5zaW9ucy9VVAUAA6CX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADmfGRG
ryCPDxABAAAQBAAANAAYAAAAAAABAAAApIEioQMAaHR0cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9u
cy9iYXNpYy1maWx0ZXItYWN0dWFsLnR4dFVUBQADoJf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAOZ8ZEZJe5WYpgEAAOUFAAAyABgAAAAAAAEAAACkgaCiAwBodHRwL3Rlc3RzL2NvbnRlbnRl
eHRlbnNpb25zL2Jhc2ljLWZpbHRlci1kaWZmLnR4dFVUBQADoJf3VHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAOZ8ZEZhH/M6BQEAAP4DAAA2ABgAAAAAAAEAAACkgbKkAwBodHRwL3Rlc3RzL2Nv
bnRlbnRleHRlbnNpb25zL2Jhc2ljLWZpbHRlci1leHBlY3RlZC50eHRVVAUAA6CX91R1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACADmfGRGjFDaIEMJAABNLgAAOgAYAAAAAAABAAAApIEnpgMAaHR0
cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9iYXNpYy1maWx0ZXItcHJldHR5LWRpZmYuaHRtbFVU
BQADoJf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAgAAAOZ8ZEbL2FMDMgAAADIAAAA0ABgAAAAA
AAEAAACkgd6vAwBodHRwL3Rlc3RzL2NvbnRlbnRleHRlbnNpb25zL2Jhc2ljLWZpbHRlci1zdGRl
cnIudHh0VVQFAAOgl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAyXZkRgAAAAAAAAAAAAAA
ABAAGAAAAAAAAAAQAO1BfrADAGh0dHAvdGVzdHMvbWlzYy9VVAUAAxqN91R1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAACfWRGFTU1knoAAAC8AAAAKgAYAAAAAAABAAAApIHIsAMAaHR0cC90ZXN0
cy9taXNjL3hzbHQtYmFkLWltcG9ydC1zdGRlcnIudHh0VVQFAAPUl/dUdXgLAAEE9QEAAAQUAAAA
UEsBAh4DCgAAAAAAtnZkRgAAAAAAAAAAAAAAABYAGAAAAAAAAAAQAO1BprEDAGh0dHAvdGVzdHMv
bmF2aWdhdGlvbi9VVAUAA/eM91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADufGRG2wjTQjsA
AAA/AAAANwAYAAAAAAABAAAApIH2sQMAaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2ZhbGxiYWNrLWFu
Y2hvci1yZWxvYWQtc3RkZXJyLnR4dFVUBQADsJf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAA
AMZ2ZEYAAAAAAAAAAAAAAAAZABgAAAAAAAAAEADtQaKyAwBodHRwL3Rlc3RzL25vdGlmaWNhdGlv
bnMvVVQFAAMTjfdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA93ZkRgAAAAAAAAAAAAAAACAA
GAAAAAAAAAAQAO1B9bIDAGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvVVQFAANxjfdU
dXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAxnZkRv4nOOA1AAAANQAAADYAGAAAAAAAAQAAAKSB
T7MDAGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZG91YmxlLXNob3ctYWN0dWFsLnR4
dFVUBQADE433VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMZ2ZEbYYx6COQEAAEUCAAA0ABgA
AAAAAAEAAACkgfSzAwBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L2RvdWJsZS1zaG93
LWRpZmYudHh0VVQFAAMTjfdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAxnZkRjF7U3awAAAA
+gAAADgAGAAAAAAAAQAAAKSBm7UDAGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZG91
YmxlLXNob3ctZXhwZWN0ZWQudHh0VVQFAAMTjfdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA
xnZkRtyS0/x2CAAAVx8AADwAGAAAAAAAAQAAAKSBvbYDAGh0dHAvdGVzdHMvbm90aWZpY2F0aW9u
cy9sZWdhY3kvZG91YmxlLXNob3ctcHJldHR5LWRpZmYuaHRtbFVUBQADFI33VHV4CwABBPUBAAAE
FAAAAFBLAQIeAwoAAgAAANV2ZEb+JzjgNQAAADUAAAAxABgAAAAAAAEAAACkgam/AwBodHRwL3Rl
c3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L2V2ZW50cy1hY3R1YWwudHh0VVQFAAMyjfdUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgA1XZkRowtPZN1AQAA0wIAAC8AGAAAAAAAAQAAAKSBScADAGh0
dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZXZlbnRzLWRpZmYudHh0VVQFAAMyjfdUdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA1XZkRonTbQLrAAAAjwEAADMAGAAAAAAAAQAAAKSBJ8ID
AGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvZXZlbnRzLWV4cGVjdGVkLnR4dFVUBQAD
Mo33VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIANZ2ZEZAZ6xxxggAACAiAAA3ABgAAAAAAAEA
AACkgX/DAwBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L2V2ZW50cy1wcmV0dHktZGlm
Zi5odG1sVVQFAAMzjfdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAA53ZkRv4nOOA1AAAANQAA
AC8AGAAAAAAAAQAAAKSBtswDAGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvc2hvdy1h
Y3R1YWwudHh0VVQFAANSjfdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA53ZkRjremYrXAQAA
qgQAAC0AGAAAAAAAAQAAAKSBVM0DAGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvc2hv
dy1kaWZmLnR4dFVUBQADUo33VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOd2ZEYMSypkUQEA
AGQDAAAxABgAAAAAAAEAAACkgZLPAwBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3No
b3ctZXhwZWN0ZWQudHh0VVQFAANSjfdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA53ZkRto3
8zpQCQAAuScAADUAGAAAAAAAAQAAAKSBTtEDAGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdh
Y3kvc2hvdy1wcmV0dHktZGlmZi5odG1sVVQFAANSjfdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAC
AAAA93ZkRv4nOOA1AAAANQAAAD8AGAAAAAAAAQAAAKSBDdsDAGh0dHAvdGVzdHMvbm90aWZpY2F0
aW9ucy9sZWdhY3kvd2luZG93LXNob3ctb24tY2xpY2stYWN0dWFsLnR4dFVUBQADcY33VHV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAPd2ZEbYPVj0aAEAAK0CAAA9ABgAAAAAAAEAAACkgbvbAwBo
dHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1zaG93LW9uLWNsaWNrLWRpZmYu
dHh0VVQFAANxjfdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA93ZkRriy9xHUAAAAUAEAAEEA
GAAAAAAAAQAAAKSBmt0DAGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvd2luZG93LXNo
b3ctb24tY2xpY2stZXhwZWN0ZWQudHh0VVQFAANxjfdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgA93ZkRkg389GuCAAAAyAAAEUAGAAAAAAAAQAAAKSB6d4DAGh0dHAvdGVzdHMvbm90aWZpY2F0
aW9ucy9sZWdhY3kvd2luZG93LXNob3ctb24tY2xpY2stcHJldHR5LWRpZmYuaHRtbFVUBQADcY33
VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAL12ZEYAAAAAAAAAAAAAAAAUABgAAAAAAAAAEADt
QRboAwBodHRwL3Rlc3RzL3NlY3VyaXR5L1VUBQADBY33VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoA
AAAAAL12ZEYAAAAAAAAAAAAAAAAqABgAAAAAAAAAEADtQWToAwBodHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS9VVAUAAwaN91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAD1fGRGY6qsbIIAAACoAAAAQAAYAAAAAAABAAAApIHI6AMAaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kveHNsLWFsbG93ZWQtc3RkZXJyLnR4dFVUBQADvZf3VHV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAPV8ZEZjqqxsggAAAKgAAABSABgAAAAAAAEAAACkgcTpAwBo
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS94c2wtdW5hZmZlY3RlZC1i
eS1zdHlsZS1zcmMtMi1zdGRlcnIudHh0VVQFAAO9l/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgA9XxkRmBLZhCRAAAA+wEAAEUAGAAAAAAAAQAAAKSB0uoDAGh0dHAvdGVzdHMvc2VjdXJpdHkv
eHNzLURFTklFRC14c2wtZG9jdW1lbnQtc2VjdXJpdHlPcmlnaW4tc3RkZXJyLnR4dFVUBQADvZf3
VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAPF8ZEYAAAAAAAAAAAAAAAATABgAAAAAAAAAEADt
QeLrAwBodHRwL3Rlc3RzL3dvcmtlcnMvVVQFAAO1l/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgA8XxkRs+IMPUCAgAAdQYAADIAGAAAAAAAAQAAAKSBL+wDAGh0dHAvdGVzdHMvd29ya2Vycy93
b3JrZXItaW1wb3J0U2NyaXB0cy1hY3R1YWwudHh0VVQFAAO1l/dUdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgA8XxkRn84PvpcAQAAIgMAADAAGAAAAAAAAQAAAKSBne4DAGh0dHAvdGVzdHMvd29y
a2Vycy93b3JrZXItaW1wb3J0U2NyaXB0cy1kaWZmLnR4dFVUBQADtZf3VHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAPF8ZEbg01mZAAIAAHMGAAA0ABgAAAAAAAEAAACkgWPwAwBodHRwL3Rlc3Rz
L3dvcmtlcnMvd29ya2VyLWltcG9ydFNjcmlwdHMtZXhwZWN0ZWQudHh0VVQFAAO1l/dUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgA8XxkRvNKE05rCAAAGB0AADgAGAAAAAAAAQAAAKSB0fIDAGh0
dHAvdGVzdHMvd29ya2Vycy93b3JrZXItaW1wb3J0U2NyaXB0cy1wcmV0dHktZGlmZi5odG1sVVQF
AAO1l/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgATH1kRuqKfEJhBQAABQ8AAAoAGAAAAAAA
AQAAAKSBrvsDAGh0dHBkLmNvbmZVVAUAA2CY91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADK
dmRGAAAAAAAAAAAAAAAACQAYAAAAAAAAABAA7UFTAQQAaW1wb3J0ZWQvVVQFAAMbjfdUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DCgAAAAAA0nZkRgAAAAAAAAAAAAAAAA0AGAAAAAAAAAAQAO1BlgEEAGlt
cG9ydGVkL3czYy9VVAUAAyyN91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADSdmRGAAAAAAAA
AAAAAAAAFAAYAAAAAAAAABAA7UHdAQQAaW1wb3J0ZWQvdzNjL2NhbnZhcy9VVAUAAyyN91R1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAAKfWRGQDvcvGYAAAByAAAAOgAYAAAAAAABAAAApIErAgQA
aW1wb3J0ZWQvdzNjL2NhbnZhcy8yZC50ZXh0Lm1lYXN1cmUud2lkdGguZW1wdHktc3RkZXJyLnR4
dFVUBQAD5Jf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAMp2ZEYAAAAAAAAAAAAAAAAcABgA
AAAAAAAAEADtQQUDBABpbXBvcnRlZC93M2MvaHRtbC10ZW1wbGF0ZXMvVVQFAAMbjfdUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DCgAAAAAAynZkRgAAAAAAAAAAAAAAADMAGAAAAAAAAAAQAO1BWwMEAGlt
cG9ydGVkL3czYy9odG1sLXRlbXBsYXRlcy9wYXJzaW5nLWh0bWwtdGVtcGxhdGVzL1VUBQADG433
VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAMp2ZEYAAAAAAAAAAAAAAABRABgAAAAAAAAAEADt
QcgDBABpbXBvcnRlZC93M2MvaHRtbC10ZW1wbGF0ZXMvcGFyc2luZy1odG1sLXRlbXBsYXRlcy9h
ZGRpdGlvbnMtdG8tZm9zdGVyLXBhcmVudGluZy9VVAUAAxuN91R1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAD8fGRGW1xMXkEAAABGAAAAgwAYAAAAAAABAAAApIFTBAQAaW1wb3J0ZWQvdzNjL2h0
bWwtdGVtcGxhdGVzL3BhcnNpbmctaHRtbC10ZW1wbGF0ZXMvYWRkaXRpb25zLXRvLWZvc3Rlci1w
YXJlbnRpbmcvdGVtcGxhdGUtaXMtbm90LWEtZm9zdGVyLXBhcmVudC1lbGVtZW50LXN0ZGVyci50
eHRVVAUAA8yX91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADSdmRGAAAAAAAAAAAAAAAABwAY
AAAAAAAAABAA7UFRBQQAanF1ZXJ5L1VUBQADK433VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AAV9ZEZJZP94aQAAAOAAAAAYABgAAAAAAAEAAACkgZIFBABqcXVlcnkvb2Zmc2V0LXN0ZGVyci50
eHRVVAUAA9mX91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAJfWRGAAAAAAAAAAAAAAAAAwAY
AAAAAAAAABAA7UFNBgQAanMvVVQFAAPhl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAACX1k
RgAAAAAAAAAAAAAAAAcAGAAAAAAAAAAQAO1BigYEAGpzL2RvbS9VVAUAA+KX91R1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAAJfWRGxP9GNZEAAAC7AAAANQAYAAAAAAABAAAApIHLBgQAanMvZG9t
L3BhcnNlLWVycm9yLWV4dGVybmFsLXNjcmlwdC1pbi1ldmFsLWFjdHVhbC50eHRVVAUAA+GX91R1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAJfWRGUukEqAIBAAAKAgAAMwAYAAAAAAABAAAApIHL
BwQAanMvZG9tL3BhcnNlLWVycm9yLWV4dGVybmFsLXNjcmlwdC1pbi1ldmFsLWRpZmYudHh0VVQF
AAPhl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgACX1kRif2HFKPAAAAuQAAADcAGAAAAAAA
AQAAAKSBOgkEAGpzL2RvbS9wYXJzZS1lcnJvci1leHRlcm5hbC1zY3JpcHQtaW4tZXZhbC1leHBl
Y3RlZC50eHRVVAUAA+GX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAJfWRGlvaGH9gHAADT
GAAAOwAYAAAAAAABAAAApIE6CgQAanMvZG9tL3BhcnNlLWVycm9yLWV4dGVybmFsLXNjcmlwdC1p
bi1ldmFsLXByZXR0eS1kaWZmLmh0bWxVVAUAA+KX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAAJfWRGXM7KXZYAAADDAAAAPQAYAAAAAAABAAAApIGHEgQAanMvZG9tL3BhcnNlLWVycm9yLWV4
dGVybmFsLXNjcmlwdC1pbi1uZXctRnVuY3Rpb24tYWN0dWFsLnR4dFVUBQAD4pf3VHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAAl9ZEbfH/FlCgEAACICAAA7ABgAAAAAAAEAAACkgZQTBABqcy9k
b20vcGFyc2UtZXJyb3ItZXh0ZXJuYWwtc2NyaXB0LWluLW5ldy1GdW5jdGlvbi1kaWZmLnR4dFVU
BQAD4pf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAl9ZEbGtF0JlAAAAMEAAAA/ABgAAAAA
AAEAAACkgRMVBABqcy9kb20vcGFyc2UtZXJyb3ItZXh0ZXJuYWwtc2NyaXB0LWluLW5ldy1GdW5j
dGlvbi1leHBlY3RlZC50eHRVVAUAA+KX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAJfWRG
Up0FSOEHAADjGAAAQwAYAAAAAAABAAAApIEgFgQAanMvZG9tL3BhcnNlLWVycm9yLWV4dGVybmFs
LXNjcmlwdC1pbi1uZXctRnVuY3Rpb24tcHJldHR5LWRpZmYuaHRtbFVUBQAD4pf3VHV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAAAAAAN9ZEYAAAAAAAAAAAAAAAAHABgAAAAAAAAAEADtQX4eBABqcy9r
ZGUvVVQFAAPWl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAA31kRnEzoSu1AAAA/gAAABsA
GAAAAAAAAQAAAKSBvx4EAGpzL2tkZS9nYXJiYWdlLW4tYWN0dWFsLnR4dFVUBQAD1pf3VHV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAAN9ZEbtsjXu9QAAAMEBAAAZABgAAAAAAAEAAACkgckfBABq
cy9rZGUvZ2FyYmFnZS1uLWRpZmYudHh0VVQFAAPWl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAA31kRr4U15ezAAAA/AAAAB0AGAAAAAAAAQAAAKSBESEEAGpzL2tkZS9nYXJiYWdlLW4tZXhw
ZWN0ZWQudHh0VVQFAAPWl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAA31kRiQ+Km/uBwAA
zhkAACEAGAAAAAAAAQAAAKSBGyIEAGpzL2tkZS9nYXJiYWdlLW4tcHJldHR5LWRpZmYuaHRtbFVU
BQAD1pf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAPt2ZEYAAAAAAAAAAAAAAAAGABgAAAAA
AAAAEADtQWQqBABtZWRpYS9VVAUAA3mN91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAD7dmRG
AAAAAAAAAAAAAAAADAAYAAAAAAAAABAA7UGkKgQAbWVkaWEvdHJhY2svVVQFAAN5jfdUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DCgACAAAALX1kRv4nOOA1AAAANQAAACoAGAAAAAAAAQAAAKSB6ioEAG1l
ZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQtc3R5bGUtYWN0dWFsLnR4dFVUBQADJZj3VHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAC19ZEb9avM2xQEAAG4DAAAoABgAAAAAAAEAAACkgYMrBABtZWRp
YS90cmFjay90cmFjay1pbi1iYW5kLXN0eWxlLWRpZmYudHh0VVQFAAMlmPdUdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgALX1kRgz65Oo2AQAAMwIAACwAGAAAAAAAAQAAAKSBqi0EAG1lZGlhL3Ry
YWNrL3RyYWNrLWluLWJhbmQtc3R5bGUtZXhwZWN0ZWQudHh0VVQFAAMlmPdUdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgALX1kRteck3ftCAAApSQAADAAGAAAAAAAAQAAAKSBRi8EAG1lZGlhL3Ry
YWNrL3RyYWNrLWluLWJhbmQtc3R5bGUtcHJldHR5LWRpZmYuaHRtbFVUBQADJZj3VHV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAAAAANd2ZEYAAAAAAAAAAAAAAAAKABgAAAAAAAAAEADtQZ04BABtZWRp
YS9XM0MvVVQFAAM2jfdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA13ZkRgAAAAAAAAAAAAAA
ABAAGAAAAAAAAAAQAO1B4TgEAG1lZGlhL1czQy9hdWRpby9VVAUAAzaN91R1eAsAAQT1AQAABBQA
AABQSwECHgMKAAAAAADZdmRGAAAAAAAAAAAAAAAAFwAYAAAAAAAAABAA7UErOQQAbWVkaWEvVzND
L2F1ZGlvL2V2ZW50cy9VVAUAAzmN91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAIfWRG+AT9
cGMAAABwAAAALwAYAAAAAAABAAAApIF8OQQAbWVkaWEvVzNDL2F1ZGlvL2V2ZW50cy9ldmVudF9j
YW5wbGF5LXN0ZGVyci50eHRVVAUAA+CX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAIfWRG
+AT9cGMAAABwAAAANgAYAAAAAAABAAAApIFIOgQAbWVkaWEvVzNDL2F1ZGlvL2V2ZW50cy9ldmVu
dF9jYW5wbGF5X21hbnVhbC1zdGRlcnIudHh0VVQFAAPgl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgACH1kRvgE/XBjAAAAcAAAADYAGAAAAAAAAQAAAKSBGzsEAG1lZGlhL1czQy9hdWRpby9l
dmVudHMvZXZlbnRfY2FucGxheXRocm91Z2gtc3RkZXJyLnR4dFVUBQAD4Jf3VHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAAh9ZEb4BP1wYwAAAHAAAAA9ABgAAAAAAAEAAACkge47BABtZWRpYS9X
M0MvYXVkaW8vZXZlbnRzL2V2ZW50X2NhbnBsYXl0aHJvdWdoX21hbnVhbC1zdGRlcnIudHh0VVQF
AAPgl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgACX1kRvgE/XBjAAAAcAAAADIAGAAAAAAA
AQAAAKSByDwEAG1lZGlhL1czQy9hdWRpby9ldmVudHMvZXZlbnRfbG9hZGVkZGF0YS1zdGRlcnIu
dHh0VVQFAAPhl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgACX1kRvgE/XBjAAAAcAAAADkA
GAAAAAAAAQAAAKSBlz0EAG1lZGlhL1czQy9hdWRpby9ldmVudHMvZXZlbnRfbG9hZGVkZGF0YV9t
YW51YWwtc3RkZXJyLnR4dFVUBQAD4Zf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAl9ZEb4
BP1wYwAAAHAAAAA2ABgAAAAAAAEAAACkgW0+BABtZWRpYS9XM0MvYXVkaW8vZXZlbnRzL2V2ZW50
X2xvYWRlZG1ldGFkYXRhLXN0ZGVyci50eHRVVAUAA+GX91R1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAAJfWRG+AT9cGMAAABwAAAAPQAYAAAAAAABAAAApIFAPwQAbWVkaWEvVzNDL2F1ZGlvL2V2
ZW50cy9ldmVudF9sb2FkZWRtZXRhZGF0YV9tYW51YWwtc3RkZXJyLnR4dFVUBQAD4Zf3VHV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAAl9ZEb4BP1wYwAAAHAAAAAxABgAAAAAAAEAAACkgRpABABt
ZWRpYS9XM0MvYXVkaW8vZXZlbnRzL2V2ZW50X2xvYWRzdGFydC1zdGRlcnIudHh0VVQFAAPhl/dU
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgACX1kRvgE/XBjAAAAcAAAADgAGAAAAAAAAQAAAKSB
6EAEAG1lZGlhL1czQy9hdWRpby9ldmVudHMvZXZlbnRfbG9hZHN0YXJ0X21hbnVhbC1zdGRlcnIu
dHh0VVQFAAPhl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgACX1kRvgE/XBjAAAAcAAAAEQA
GAAAAAAAAQAAAKSBvUEEAG1lZGlhL1czQy9hdWRpby9ldmVudHMvZXZlbnRfb3JkZXJfY2FucGxh
eV9jYW5wbGF5dGhyb3VnaC1zdGRlcnIudHh0VVQFAAPil/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgACX1kRvgE/XBjAAAAcAAAAD0AGAAAAAAAAQAAAKSBnkIEAG1lZGlhL1czQy9hdWRpby9l
dmVudHMvZXZlbnRfb3JkZXJfY2FucGxheV9wbGF5aW5nLXN0ZGVyci50eHRVVAUAA+KX91R1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAAJfWRG+AT9cGMAAABwAAAARwAYAAAAAAABAAAApIF4QwQA
bWVkaWEvVzNDL2F1ZGlvL2V2ZW50cy9ldmVudF9vcmRlcl9sb2FkZWRtZXRhZGF0YV9sb2FkZWRk
YXRhLXN0ZGVyci50eHRVVAUAA+KX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAJfWRG+AT9
cGMAAABwAAAAQAAYAAAAAAABAAAApIFcRAQAbWVkaWEvVzNDL2F1ZGlvL2V2ZW50cy9ldmVudF9v
cmRlcl9sb2Fkc3RhcnRfcHJvZ3Jlc3Mtc3RkZXJyLnR4dFVUBQAD4pf3VHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAAl9ZEb4BP1wYwAAAHAAAAA0ABgAAAAAAAEAAACkgTlFBABtZWRpYS9XM0Mv
YXVkaW8vZXZlbnRzL2V2ZW50X3BhdXNlX21hbnVhbC1zdGRlcnIudHh0VVQFAAPil/dUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgACn1kRvgE/XBjAAAAcAAAACwAGAAAAAAAAQAAAKSBCkYEAG1l
ZGlhL1czQy9hdWRpby9ldmVudHMvZXZlbnRfcGxheS1zdGRlcnIudHh0VVQFAAPjl/dUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgACn1kRvgE/XBjAAAAcAAAADMAGAAAAAAAAQAAAKSB00YEAG1l
ZGlhL1czQy9hdWRpby9ldmVudHMvZXZlbnRfcGxheV9tYW51YWwtc3RkZXJyLnR4dFVUBQAD45f3
VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAp9ZEb4BP1wYwAAAHAAAAAvABgAAAAAAAEAAACk
gaNHBABtZWRpYS9XM0MvYXVkaW8vZXZlbnRzL2V2ZW50X3BsYXlpbmctc3RkZXJyLnR4dFVUBQAD
45f3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAp9ZEb4BP1wYwAAAHAAAAA2ABgAAAAAAAEA
AACkgW9IBABtZWRpYS9XM0MvYXVkaW8vZXZlbnRzL2V2ZW50X3BsYXlpbmdfbWFudWFsLXN0ZGVy
ci50eHRVVAUAA+OX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAKfWRG+AT9cGMAAABwAAAA
MAAYAAAAAAABAAAApIFCSQQAbWVkaWEvVzNDL2F1ZGlvL2V2ZW50cy9ldmVudF9wcm9ncmVzcy1z
dGRlcnIudHh0VVQFAAPjl/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgACn1kRvgE/XBjAAAA
cAAAADcAGAAAAAAAAQAAAKSBD0oEAG1lZGlhL1czQy9hdWRpby9ldmVudHMvZXZlbnRfcHJvZ3Jl
c3NfbWFudWFsLXN0ZGVyci50eHRVVAUAA+OX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAK
fWRG+AT9cGMAAABwAAAAMgAYAAAAAAABAAAApIHjSgQAbWVkaWEvVzNDL2F1ZGlvL2V2ZW50cy9l
dmVudF90aW1ldXBkYXRlLXN0ZGVyci50eHRVVAUAA+SX91R1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAAKfWRG+AT9cGMAAABwAAAAOQAYAAAAAAABAAAApIGySwQAbWVkaWEvVzNDL2F1ZGlvL2V2
ZW50cy9ldmVudF90aW1ldXBkYXRlX21hbnVhbC1zdGRlcnIudHh0VVQFAAPkl/dUdXgLAAEE9QEA
AAQUAAAAUEsBAh4DCgAAAAAA53ZkRgAAAAAAAAAAAAAAAAkAGAAAAAAAAAAQAO1BiEwEAHBsYXRm
b3JtL1VUBQADUY33VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAOd2ZEYAAAAAAAAAAAAAAAAN
ABgAAAAAAAAAEADtQctMBABwbGF0Zm9ybS9tYWMvVVQFAANRjfdUdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DCgAAAAAA53ZkRgAAAAAAAAAAAAAAABsAGAAAAAAAAAAQAO1BEk0EAHBsYXRmb3JtL21hYy9h
Y2Nlc3NpYmlsaXR5L1VUBQADUY33VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABd9ZEYek31Z
cgAAAO0AAABIABgAAAAAAAEAAACkgWdNBABwbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS90ZXh0
Ym94LXJvbGUtcmVwb3J0cy1ub3RpZmljYXRpb25zLXN0ZGVyci50eHRVVAUAA/2X91R1eAsAAQT1
AQAABBQAAABQSwECHgMKAAAAAADndmRGAAAAAAAAAAAAAAAAEgAYAAAAAAAAABAA7UFbTgQAcGxh
dGZvcm0vbWFjL2Zhc3QvVVQFAANRjfdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA7HZkRgAA
AAAAAAAAAAAAABwAGAAAAAAAAAAQAO1Bp04EAHBsYXRmb3JtL21hYy9mYXN0L3Njcm9sbGluZy9V
VAUAA1yN91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAVfWRG9z9Nim0AAAD3AwAAPQAYAAAA
AAABAAAApIH9TgQAcGxhdGZvcm0vbWFjL2Zhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1kaXYtbGF0Y2hl
ZC1kaXYtc3RkZXJyLnR4dFVUBQAD+Zf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABt9ZEaT
cloDgQAAAKUAAAA7ABgAAAAAAAEAAACkgeFPBABwbGF0Zm9ybS9tYWMvZmFzdC9zY3JvbGxpbmcv
c2Nyb2xsLW5lc3RlZC1pZnJhbWUtc3RkZXJyLnR4dFVUBQADBZj3VHV4CwABBPUBAAAEFAAAAFBL
AQIeAwoAAAAAAOd2ZEYAAAAAAAAAAAAAAAAXABgAAAAAAAAAEADtQddQBABwbGF0Zm9ybS9tYWMv
ZmFzdC90ZXh0L1VUBQADUY33VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAOd2ZEYAAAAAAAAA
AAAAAAAlABgAAAAAAAAAEADtQShRBABwbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9u
YWwvVVQFAANRjfdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA53ZkRpDlhlpbAAAA4AIAAFUA
GAAAAAAAAQAAAKSBh1EEAHBsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9HZWV6
YS1Qcm8tdmVydGljYWwtbWV0cmljcy1hZGp1c3RtZW50LXN0ZGVyci50eHRVVAUAA1GN91R1eAsA
AQT1AQAABBQAAABQSwECHgMKAAAAAADidmRGAAAAAAAAAAAAAAAAEQAYAAAAAAAAABAA7UFxUgQA
cGxhdGZvcm0vbWFjLXdrMi9VVAUAA0iN91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADidmRG
AAAAAAAAAAAAAAAAHwAYAAAAAAAAABAA7UG8UgQAcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3
aW5nL1VUBQADSI33VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAOJ2ZEYAAAAAAAAAAAAAAAAp
ABgAAAAAAAAAEADtQRVTBABwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5n
L1VUBQADSI33VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAOZ2ZEYAAAAAAAAAAAAAAAA6ABgA
AAAAAAAAEADtQXhTBABwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2Zp
eGVkLWJhY2tncm91bmQvVVQFAANQjfdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAEH1kRuNn
MTFuAAAAgAAAAGAAGAAAAAAAAQAAAKSB7FMEAHBsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2lu
Zy9zY3JvbGxpbmcvZml4ZWQtYmFja2dyb3VuZC9maXhlZC1iYWNrZ3JvdW5kLWNvbXBvc2l0ZWQt
c3RkZXJyLnR4dFVUBQAD8Jf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABF9ZEbjZzExbgAA
AIAAAABsABgAAAAAAAEAAACkgfRUBABwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Ny
b2xsaW5nL2ZpeGVkLWJhY2tncm91bmQvZml4ZWQtYmFja2dyb3VuZC1uZWdhdGl2ZS16LWluZGV4
LWZpeGVkLXN0ZGVyci50eHRVVAUAA/KX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAASfWRG
42cxMW4AAACAAAAAZQAYAAAAAAABAAAApIEIVgQAcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3
aW5nL3Njcm9sbGluZy9maXhlZC1iYWNrZ3JvdW5kL2ZpeGVkLWJvZHktYmFja2dyb3VuZC1ib2R5
LWxheWVyLXN0ZGVyci50eHRVVAUAA/SX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAATfWRG
42cxMW4AAACAAAAAYgAYAAAAAAABAAAApIEVVwQAcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3
aW5nL3Njcm9sbGluZy9maXhlZC1iYWNrZ3JvdW5kL2ZpeGVkLWJvZHktYmFja2dyb3VuZC1vcGFj
aXR5LXN0ZGVyci50eHRVVAUAA/WX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAATfWRG42cx
MW4AAACAAAAAZQAYAAAAAAABAAAApIEfWAQAcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5n
L3Njcm9sbGluZy9maXhlZC1iYWNrZ3JvdW5kL2ZpeGVkLWJvZHktYmFja2dyb3VuZC1wb3NpdGlv
bmVkLXN0ZGVyci50eHRVVAUAA/aX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAUfWRG42cx
MW4AAACAAAAAWgAYAAAAAAABAAAApIEsWQQAcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5n
L3Njcm9sbGluZy9maXhlZC1iYWNrZ3JvdW5kL2ZpeGVkLWJvZHktYmFja2dyb3VuZC1zdGRlcnIu
dHh0VVQFAAP4l/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAE31kRuNnMTFuAAAAgAAAAGYA
GAAAAAAAAQAAAKSBLloEAHBsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcv
Zml4ZWQtYmFja2dyb3VuZC9maXhlZC1ib2R5LWJhY2tncm91bmQtdHJhbnNmb3JtZWQtc3RkZXJy
LnR4dFVUBQAD9pf3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABR9ZEbjZzExbgAAAIAAAABh
ABgAAAAAAAEAAACkgTxbBABwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5n
L2ZpeGVkLWJhY2tncm91bmQvZml4ZWQtYm9keS1iYWNrZ3JvdW5kLXpvb21lZC1zdGRlcnIudHh0
VVQFAAP3l/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAFX1kRuNnMTFuAAAAgAAAAFoAGAAA
AAAAAQAAAKSBRVwEAHBsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZml4
ZWQtYmFja2dyb3VuZC9maXhlZC1odG1sLWJhY2tncm91bmQtc3RkZXJyLnR4dFVUBQAD+Zf3VHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABV9ZEbjZzExbgAAAIAAAABpABgAAAAAAAEAAACkgUdd
BABwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2ZpeGVkLWJhY2tncm91
bmQvZml4ZWQtbm9uLXByb3BhZ2F0ZWQtYm9keS1iYWNrZ3JvdW5kLXN0ZGVyci50eHRVVAUAA/mX
91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADpdmRGAAAAAAAAAAAAAAAACAAYAAAAAAAAABAA
7UFYXgQAcGx1Z2lucy9VVAUAA1aN91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAAAWfWRGmd4w
4jQAAAA0AAAALwAYAAAAAAABAAAApIGaXgQAcGx1Z2lucy9jcmFzaC1pbnZhbGlkLWRhdGEtcmVm
ZXJlbmNlLXN0ZGVyci50eHRVVAUAA/uX91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAXfWRG
7l1yRYYAAAD2AAAAOwAYAAAAAAABAAAApIE3XwQAcGx1Z2lucy9ucHAtc2V0LXdpbmRvdy1jYWxs
ZWQtZHVyaW5nLWRlc3RydWN0aW9uLXN0ZGVyci50eHRVVAUAA/6X91R1eAsAAQT1AQAABBQAAABQ
SwECHgMKAAAAAADvdmRGAAAAAAAAAAAAAAAAFQAYAAAAAAAAABAA7UEyYAQAcGx1Z2lucy9zbmFw
c2hvdHRpbmcvVVQFAANhjfdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAF31kRiamwcfhAAAA
TgMAAE4AGAAAAAAAAQAAAKSBgWAEAHBsdWdpbnMvc25hcHNob3R0aW5nL2F1dG9wbGF5LWRvbWlu
YW50LWJsYW5rLXBsdWdpbi1tb3ZlZC1pbnRvLXZpZXctc3RkZXJyLnR4dFVUBQAD/Zf3VHV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIABd9ZEZqhqtP9QAAAJwGAAAxABgAAAAAAAEAAACkgephBABw
bHVnaW5zL3NuYXBzaG90dGluZy9hdXRvcGxheS1kb21pbmFudC1zdGRlcnIudHh0VVQFAAP+l/dU
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAGH1kRil1AeT2AAAAnAYAAEAAGAAAAAAAAQAAAKSB
SmMEAHBsdWdpbnMvc25hcHNob3R0aW5nL2F1dG9wbGF5LXBsdWdpbi1ibG9ja2VkLWJ5LWltYWdl
LXN0ZGVyci50eHRVVAUAA/+X91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAYfWRGZzDAYvIA
AACcBgAARwAYAAAAAAABAAAApIG6ZAQAcGx1Z2lucy9zbmFwc2hvdHRpbmcvYXV0b3BsYXktcGx1
Z2luLW1vc3RseS1ibG9ja2VkLWJ5LWltYWdlLXN0ZGVyci50eHRVVAUAAwCY91R1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAAafWRGUTkNkQcBAAA4DQAAPAAYAAAAAAABAAAApIEtZgQAcGx1Z2lu
cy9zbmFwc2hvdHRpbmcvYXV0b3BsYXktc2ltaWxhci10by1kb21pbmFudC1zdGRlcnIudHh0VVQF
AAMDmPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAGn1kRrMx3W7hAAAATgMAADsAGAAAAAAA
AQAAAKSBqmcEAHBsdWdpbnMvc25hcHNob3R0aW5nL3BsdWdpbi1yZWNlaXZlcy1jbGljay1ldmVu
dC1zdGRlcnIudHh0VVQFAAMDmPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAHH1kRrwTfJv2
AAAAnAYAACcAGAAAAAAAAQAAAKSBAGkEAHBsdWdpbnMvc25hcHNob3R0aW5nL3Jlc3RhcnQtc3Rk
ZXJyLnR4dFVUBQADCJj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAB19ZEZW037e4gAAAE4D
AAAmABgAAAAAAAEAAACkgVdqBABwbHVnaW5zL3NuYXBzaG90dGluZy9zaW1wbGUtc3RkZXJyLnR4
dFVUBQADCZj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACB9ZEb53Rol7QAAAJwGAABKABgA
AAAAAAEAAACkgZlrBABwbHVnaW5zL3NuYXBzaG90dGluZy9zbmFwc2hvdC1wbHVnaW4tbm90LXF1
aXRlLWJsb2NrZWQtYnktaW1hZ2Utc3RkZXJyLnR4dFVUBQADC5j3VHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAAR9ZEYc2mLbXgIAAJUQAAArABgAAAAAAAEAAACkgQptBABweXdlYnNvY2tldC53
cy5sb2ctMDRNYXIyMDE1LTE1MzY1NS1lcnIudHh0VVQFAAPYl/dUdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgA83xkRmQMZvsKAQAAjwIAACsAGAAAAAAAAQAAAKSBzW8EAHB5d2Vic29ja2V0Lndz
LmxvZy0wNE1hcjIwMTUtMTUzNjU1LW91dC50eHRVVAUAA7qX91R1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACABSfWRGeCzR4ZwmAACYpAAADAAYAAAAAAABAAAApIE8cQQAcmVzdWx0cy5odG1sVVQF
AANrmPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAUH1kRgAAAAAAAAAAAAAAAAgAGAAAAAAA
AAAQAO1BHpgEAHJldHJpZXMvVVQFAANnmPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAALHdk
RgAAAAAAAAAAAAAAABYAGAAAAAAAAAAQAO1BYJgEAHJldHJpZXMvYWNjZXNzaWJpbGl0eS9VVAUA
A9ON91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAsd2RGABU3LX4AAADHAAAAPQAYAAAAAAAB
AAAApIGwmAQAcmV0cmllcy9hY2Nlc3NpYmlsaXR5L3RleHRhcmVhLXNlbGVjdGVkLXRleHQtcmFu
Z2UtYWN0dWFsLnR4dFVUBQAD0433VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACx3ZEbJaHSK
4QAAAAACAAA7ABgAAAAAAAEAAACkgaWZBAByZXRyaWVzL2FjY2Vzc2liaWxpdHkvdGV4dGFyZWEt
c2VsZWN0ZWQtdGV4dC1yYW5nZS1kaWZmLnR4dFVUBQAD0433VHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIACx3ZEa813txZAAAALUAAAA/ABgAAAAAAAEAAACkgfuaBAByZXRyaWVzL2FjY2Vzc2li
aWxpdHkvdGV4dGFyZWEtc2VsZWN0ZWQtdGV4dC1yYW5nZS1leHBlY3RlZC50eHRVVAUAA9ON91R1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAsd2RGPxlZbfYHAABNGgAAQwAYAAAAAAABAAAApIHY
mwQAcmV0cmllcy9hY2Nlc3NpYmlsaXR5L3RleHRhcmVhLXNlbGVjdGVkLXRleHQtcmFuZ2UtcHJl
dHR5LWRpZmYuaHRtbFVUBQAD0433VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAABx4ZEYAAAAA
AAAAAAAAAAANABgAAAAAAAAAEADtQUukBAByZXRyaWVzL2Zhc3QvVVQFAAOojvdUdXgLAAEE9QEA
AAQUAAAAUEsBAh4DCgAAAAAAfHdkRgAAAAAAAAAAAAAAABQAGAAAAAAAAAAQAO1BkqQEAHJldHJp
ZXMvZmFzdC9ldmVudHMvVVQFAANrjvdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAO3dkRv4n
OOA1AAAANQAAADMAGAAAAAAAAQAAAKSB4KQEAHJldHJpZXMvZmFzdC9ldmVudHMvbWVzc2FnZS1j
aGFubmVsLWdjLTMtYWN0dWFsLnR4dFVUBQAD8Y33VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
ADt3ZEaXyRDiHQEAAAQCAAAxABgAAAAAAAEAAACkgYKlBAByZXRyaWVzL2Zhc3QvZXZlbnRzL21l
c3NhZ2UtY2hhbm5lbC1nYy0zLWRpZmYudHh0VVQFAAPxjfdUdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgAO3dkRt3FsRGHAAAAxAAAADUAGAAAAAAAAQAAAKSBCqcEAHJldHJpZXMvZmFzdC9ldmVu
dHMvbWVzc2FnZS1jaGFubmVsLWdjLTMtZXhwZWN0ZWQudHh0VVQFAAPxjfdUdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAO3dkRqtfVSpLCAAA9RwAADkAGAAAAAAAAQAAAKSBAKgEAHJldHJpZXMv
ZmFzdC9ldmVudHMvbWVzc2FnZS1jaGFubmVsLWdjLTMtcHJldHR5LWRpZmYuaHRtbFVUBQAD8Y33
VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAgAAAEx3ZEb+JzjgNQAAADUAAAAzABgAAAAAAAEAAACk
gb6wBAByZXRyaWVzL2Zhc3QvZXZlbnRzL21lc3NhZ2UtY2hhbm5lbC1nYy00LWFjdHVhbC50eHRV
VAUAAxCO91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABMd2RGq2pPPBABAAADAgAAMQAYAAAA
AAABAAAApIFgsQQAcmV0cmllcy9mYXN0L2V2ZW50cy9tZXNzYWdlLWNoYW5uZWwtZ2MtNC1kaWZm
LnR4dFVUBQADEI73VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAEx3ZEZ5Ub4JfQAAAMMAAAA1
ABgAAAAAAAEAAACkgduyBAByZXRyaWVzL2Zhc3QvZXZlbnRzL21lc3NhZ2UtY2hhbm5lbC1nYy00
LWV4cGVjdGVkLnR4dFVUBQADEI73VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAEx3ZEa09haK
MggAAL0cAAA5ABgAAAAAAAEAAACkgcezBAByZXRyaWVzL2Zhc3QvZXZlbnRzL21lc3NhZ2UtY2hh
bm5lbC1nYy00LXByZXR0eS1kaWZmLmh0bWxVVAUAAxCO91R1eAsAAQT1AQAABBQAAABQSwECHgMK
AAIAAAB8d2RG/ic44DUAAAA1AAAAKwAYAAAAAAABAAAApIFsvAQAcmV0cmllcy9mYXN0L2V2ZW50
cy9tZXNzYWdlLXBvcnQtYWN0dWFsLnR4dFVUBQADa473VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoA
AgAAAFt3ZEb+JzjgNQAAADUAAAAxABgAAAAAAAEAAACkgQa9BAByZXRyaWVzL2Zhc3QvZXZlbnRz
L21lc3NhZ2UtcG9ydC1jbG9uZS1hY3R1YWwudHh0VVQFAAMujvdUdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAW3dkRkyeqp1kAQAA8gIAAC8AGAAAAAAAAQAAAKSBpr0EAHJldHJpZXMvZmFzdC9l
dmVudHMvbWVzc2FnZS1wb3J0LWNsb25lLWRpZmYudHh0VVQFAAMujvdUdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAW3dkRu4Qgu/YAAAAsAEAADMAGAAAAAAAAQAAAKSBc78EAHJldHJpZXMvZmFz
dC9ldmVudHMvbWVzc2FnZS1wb3J0LWNsb25lLWV4cGVjdGVkLnR4dFVUBQADLo73VHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIAFt3ZEZaX/LrmQgAAJggAAA3ABgAAAAAAAEAAACkgbjABAByZXRy
aWVzL2Zhc3QvZXZlbnRzL21lc3NhZ2UtcG9ydC1jbG9uZS1wcmV0dHktZGlmZi5odG1sVVQFAAMu
jvdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAfHdkRhXvAkU7AQAAwAIAACkAGAAAAAAAAQAA
AKSBwskEAHJldHJpZXMvZmFzdC9ldmVudHMvbWVzc2FnZS1wb3J0LWRpZmYudHh0VVQFAANrjvdU
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAfHdkRnn8inquAAAAhgEAAC0AGAAAAAAAAQAAAKSB
YMsEAHJldHJpZXMvZmFzdC9ldmVudHMvbWVzc2FnZS1wb3J0LWV4cGVjdGVkLnR4dFVUBQADa473
VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAgAAAG13ZEb+JzjgNQAAADUAAAAxABgAAAAAAAEAAACk
gXXMBAByZXRyaWVzL2Zhc3QvZXZlbnRzL21lc3NhZ2UtcG9ydC1tdWx0aS1hY3R1YWwudHh0VVQF
AANNjvdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAbXdkRhOS9HmGAgAArQgAAC8AGAAAAAAA
AQAAAKSBFc0EAHJldHJpZXMvZmFzdC9ldmVudHMvbWVzc2FnZS1wb3J0LW11bHRpLWRpZmYudHh0
VVQFAANNjvdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAbXdkRvvnERT9AQAAXAcAADMAGAAA
AAAAAQAAAKSBBNAEAHJldHJpZXMvZmFzdC9ldmVudHMvbWVzc2FnZS1wb3J0LW11bHRpLWV4cGVj
dGVkLnR4dFVUBQADTY73VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAG13ZEYDJbA3BwoAAJQv
AAA3ABgAAAAAAAEAAACkgW7SBAByZXRyaWVzL2Zhc3QvZXZlbnRzL21lc3NhZ2UtcG9ydC1tdWx0
aS1wcmV0dHktZGlmZi5odG1sVVQFAANNjvdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAfHdk
RtFPqhSJCAAADiMAADEAGAAAAAAAAQAAAKSB5twEAHJldHJpZXMvZmFzdC9ldmVudHMvbWVzc2Fn
ZS1wb3J0LXByZXR0eS1kaWZmLmh0bWxVVAUAA2uO91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAAA
AAANeGRGAAAAAAAAAAAAAAAAFQAYAAAAAAAAABAA7UHa5QQAcmV0cmllcy9mYXN0L2hpc3Rvcnkv
VVQFAAOKjvdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAADXhkRv4nOOA1AAAANQAAAEMAGAAA
AAAAAQAAAKSBKeYEAHJldHJpZXMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUtbm90aWZpY2F0aW9u
LXN1c3BlbmRhYmxlLWFjdHVhbC50eHRVVAUAA4qO91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAANeGRGzj/OzncBAADWAgAAQQAYAAAAAAABAAAApIHb5gQAcmV0cmllcy9mYXN0L2hpc3Rvcnkv
cGFnZS1jYWNoZS1ub3RpZmljYXRpb24tc3VzcGVuZGFibGUtZGlmZi50eHRVVAUAA4qO91R1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAANeGRGlWWOOdsAAABvAQAARQAYAAAAAAABAAAApIHN6AQA
cmV0cmllcy9mYXN0L2hpc3RvcnkvcGFnZS1jYWNoZS1ub3RpZmljYXRpb24tc3VzcGVuZGFibGUt
ZXhwZWN0ZWQudHh0VVQFAAOKjvdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgADXhkRhLO9DnU
CAAAhCEAAEkAGAAAAAAAAQAAAKSBJ+oEAHJldHJpZXMvZmFzdC9oaXN0b3J5L3BhZ2UtY2FjaGUt
bm90aWZpY2F0aW9uLXN1c3BlbmRhYmxlLXByZXR0eS1kaWZmLmh0bWxVVAUAA4qO91R1eAsAAQT1
AQAABBQAAABQSwECHgMKAAAAAABOeGRGAAAAAAAAAAAAAAAAFQAYAAAAAAAAABAA7UF+8wQAcmV0
cmllcy9mYXN0L3dvcmtlcnMvVVQFAAMEj/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAALnhk
Rv4nOOA1AAAANQAAADkAGAAAAAAAAQAAAKSBzfMEAHJldHJpZXMvZmFzdC93b3JrZXJzL3dvcmtl
ci1jb250ZXh0LW11bHRpLXBvcnQtYWN0dWFsLnR4dFVUBQADx473VHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAC54ZEY0JLqx2gEAADQEAAA3ABgAAAAAAAEAAACkgXX0BAByZXRyaWVzL2Zhc3Qv
d29ya2Vycy93b3JrZXItY29udGV4dC1tdWx0aS1wb3J0LWRpZmYudHh0VVQFAAPHjvdUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgALnhkRmWHer5GAQAA3gIAADsAGAAAAAAAAQAAAKSBwPYEAHJl
dHJpZXMvZmFzdC93b3JrZXJzL3dvcmtlci1jb250ZXh0LW11bHRpLXBvcnQtZXhwZWN0ZWQudHh0
VVQFAAPHjvdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgALnhkRhDMcrodCQAAOyQAAD8AGAAA
AAAAAQAAAKSBe/gEAHJldHJpZXMvZmFzdC93b3JrZXJzL3dvcmtlci1jb250ZXh0LW11bHRpLXBv
cnQtcHJldHR5LWRpZmYuaHRtbFVUBQADx473VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAgAAAD14
ZEb+JzjgNQAAADUAAAAyABgAAAAAAAEAAACkgRECBQByZXRyaWVzL2Zhc3Qvd29ya2Vycy93b3Jr
ZXItbWVzc2FnZXBvcnQtYWN0dWFsLnR4dFVUBQAD5Y73VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAD14ZEaz0YOMPwEAAHgCAAAwABgAAAAAAAEAAACkgbICBQByZXRyaWVzL2Zhc3Qvd29ya2Vy
cy93b3JrZXItbWVzc2FnZXBvcnQtZGlmZi50eHRVVAUAA+WO91R1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAA9eGRGAT5E2bcAAAA2AQAANAAYAAAAAAABAAAApIFbBAUAcmV0cmllcy9mYXN0L3dv
cmtlcnMvd29ya2VyLW1lc3NhZ2Vwb3J0LWV4cGVjdGVkLnR4dFVUBQAD5Y73VHV4CwABBPUBAAAE
FAAAAFBLAQIeAwoAAgAAAE54ZEb+JzjgNQAAADUAAAA1ABgAAAAAAAEAAACkgYAFBQByZXRyaWVz
L2Zhc3Qvd29ya2Vycy93b3JrZXItbWVzc2FnZXBvcnQtZ2MtYWN0dWFsLnR4dFVUBQADBI/3VHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAE54ZEYqelxD8gAAALcBAAAzABgAAAAAAAEAAACkgSQG
BQByZXRyaWVzL2Zhc3Qvd29ya2Vycy93b3JrZXItbWVzc2FnZXBvcnQtZ2MtZGlmZi50eHRVVAUA
AwSP91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABOeGRGmWFM3GYAAAB1AAAANwAYAAAAAAAB
AAAApIGDBwUAcmV0cmllcy9mYXN0L3dvcmtlcnMvd29ya2VyLW1lc3NhZ2Vwb3J0LWdjLWV4cGVj
dGVkLnR4dFVUBQADBI/3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAE54ZEZjKVvhFQgAAHcb
AAA7ABgAAAAAAAEAAACkgVoIBQByZXRyaWVzL2Zhc3Qvd29ya2Vycy93b3JrZXItbWVzc2FnZXBv
cnQtZ2MtcHJldHR5LWRpZmYuaHRtbFVUBQADBI/3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AD14ZEYUQYB+hQgAAGUfAAA4ABgAAAAAAAEAAACkgeQQBQByZXRyaWVzL2Zhc3Qvd29ya2Vycy93
b3JrZXItbWVzc2FnZXBvcnQtcHJldHR5LWRpZmYuaHRtbFVUBQAD5Y73VHV4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAgAAABx4ZEb+JzjgNQAAADUAAAAxABgAAAAAAAEAAACkgdsZBQByZXRyaWVzL2Zh
c3Qvd29ya2Vycy93b3JrZXItbXVsdGktcG9ydC1hY3R1YWwudHh0VVQFAAOojvdUdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAHHhkRh+1VhT+AQAAzwQAAC8AGAAAAAAAAQAAAKSBexoFAHJldHJp
ZXMvZmFzdC93b3JrZXJzL3dvcmtlci1tdWx0aS1wb3J0LWRpZmYudHh0VVQFAAOojvdUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAHHhkRi3CfB1xAQAAiQMAADMAGAAAAAAAAQAAAKSB4hwFAHJl
dHJpZXMvZmFzdC93b3JrZXJzL3dvcmtlci1tdWx0aS1wb3J0LWV4cGVjdGVkLnR4dFVUBQADqI73
VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABx4ZEYBtO1GSgkAAAYlAAA3ABgAAAAAAAEAAACk
gcAeBQByZXRyaWVzL2Zhc3Qvd29ya2Vycy93b3JrZXItbXVsdGktcG9ydC1wcmV0dHktZGlmZi5o
dG1sVVQFAAOojvdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAYHhkRgAAAAAAAAAAAAAAAA0A
GAAAAAAAAAAQAO1BeygFAHJldHJpZXMvaHR0cC9VVAUAAyOP91R1eAsAAQT1AQAABBQAAABQSwEC
HgMKAAAAAABPfWRGAAAAAAAAAAAAAAAAEwAYAAAAAAAAABAA7UHCKAUAcmV0cmllcy9odHRwL3Rl
c3RzL1VUBQADZZj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAE99ZEYAAAAAAAAAAAAAAAAl
ABgAAAAAAAAAEADtQQ8pBQByZXRyaWVzL2h0dHAvdGVzdHMvY29udGVudGV4dGVuc2lvbnMvVVQF
AANlmPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAT31kRtZo0umLDwEAo0cBADwAGAAAAAAA
AAAAAKSBbikFAHJldHJpZXMvaHR0cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9iYXNpYy1maWx0
ZXItYWN0dWFsLnBuZ1VUBQADZZj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAE59ZEavII8P
EAEAABAEAAA8ABgAAAAAAAEAAACkgW85BgByZXRyaWVzL2h0dHAvdGVzdHMvY29udGVudGV4dGVu
c2lvbnMvYmFzaWMtZmlsdGVyLWFjdHVhbC50eHRVVAUAA2SY91R1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACABOfWRGTAWbeKsBAAD1BQAAOgAYAAAAAAABAAAApIH1OgYAcmV0cmllcy9odHRwL3Rl
c3RzL2NvbnRlbnRleHRlbnNpb25zL2Jhc2ljLWZpbHRlci1kaWZmLnR4dFVUBQADZJj3VHV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIAE59ZEZhH/M6BQEAAP4DAAA+ABgAAAAAAAEAAACkgRQ9BgBy
ZXRyaWVzL2h0dHAvdGVzdHMvY29udGVudGV4dGVuc2lvbnMvYmFzaWMtZmlsdGVyLWV4cGVjdGVk
LnR4dFVUBQADZJj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAE99ZEYPR1GiSAkAAFUuAABC
ABgAAAAAAAEAAACkgZE+BgByZXRyaWVzL2h0dHAvdGVzdHMvY29udGVudGV4dGVuc2lvbnMvYmFz
aWMtZmlsdGVyLXByZXR0eS1kaWZmLmh0bWxVVAUAA2WY91R1eAsAAQT1AQAABBQAAABQSwECHgMK
AAIAAABOfWRGy9hTAzIAAAAyAAAAPAAYAAAAAAABAAAApIFVSAYAcmV0cmllcy9odHRwL3Rlc3Rz
L2NvbnRlbnRleHRlbnNpb25zL2Jhc2ljLWZpbHRlci1zdGRlcnIudHh0VVQFAANkmPdUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DCgAAAAAAYHhkRgAAAAAAAAAAAAAAACEAGAAAAAAAAAAQAO1B/UgGAHJl
dHJpZXMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL1VUBQADI4/3VHV4CwABBPUBAAAEFAAAAFBL
AQIeAwoAAAAAAJB4ZEYAAAAAAAAAAAAAAAAoABgAAAAAAAAAEADtQVhJBgByZXRyaWVzL2h0dHAv
dGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvVVQFAAN/j/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4D
CgACAAAAj3hkRv4nOOA1AAAANQAAAD4AGAAAAAAAAQAAAKSBukkGAHJldHJpZXMvaHR0cC90ZXN0
cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9kb3VibGUtc2hvdy1hY3R1YWwudHh0VVQFAAN+j/dUdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAj3hkRpUMd5E/AQAAVQIAADwAGAAAAAAAAQAAAKSBZ0oG
AHJldHJpZXMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9kb3VibGUtc2hvdy1kaWZm
LnR4dFVUBQADfo/3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAI94ZEYxe1N2sAAAAPoAAABA
ABgAAAAAAAEAAACkgRxMBgByZXRyaWVzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kv
ZG91YmxlLXNob3ctZXhwZWN0ZWQudHh0VVQFAAN+j/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAkHhkRoORQB17CAAAXx8AAEQAGAAAAAAAAQAAAKSBRk0GAHJldHJpZXMvaHR0cC90ZXN0cy9u
b3RpZmljYXRpb25zL2xlZ2FjeS9kb3VibGUtc2hvdy1wcmV0dHktZGlmZi5odG1sVVQFAAN/j/dU
dXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAgHhkRv4nOOA1AAAANQAAADkAGAAAAAAAAQAAAKSB
P1YGAHJldHJpZXMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9ldmVudHMtYWN0dWFs
LnR4dFVUBQADYI/3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIB4ZEY9xoaIegEAAOMCAAA3
ABgAAAAAAAEAAACkgedWBgByZXRyaWVzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kv
ZXZlbnRzLWRpZmYudHh0VVQFAANgj/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAgHhkRonT
bQLrAAAAjwEAADsAGAAAAAAAAQAAAKSB0lgGAHJldHJpZXMvaHR0cC90ZXN0cy9ub3RpZmljYXRp
b25zL2xlZ2FjeS9ldmVudHMtZXhwZWN0ZWQudHh0VVQFAANgj/dUdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAgHhkRjclPDzLCAAAKCIAAD8AGAAAAAAAAQAAAKSBMloGAHJldHJpZXMvaHR0cC90
ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9ldmVudHMtcHJldHR5LWRpZmYuaHRtbFVUBQADYI/3
VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAgAAAGB4ZEb+JzjgNQAAADUAAAA3ABgAAAAAAAEAAACk
gXZjBgByZXRyaWVzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvc2hvdy1hY3R1YWwu
dHh0VVQFAAMjj/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAYHhkRgLsUR7cAQAAugQAADUA
GAAAAAAAAQAAAKSBHGQGAHJldHJpZXMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS9z
aG93LWRpZmYudHh0VVQFAAMjj/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAYHhkRgxLKmRR
AQAAZAMAADkAGAAAAAAAAQAAAKSBZ2YGAHJldHJpZXMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25z
L2xlZ2FjeS9zaG93LWV4cGVjdGVkLnR4dFVUBQADI4/3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAGB4ZEYaGKq9VgkAAMEnAAA9ABgAAAAAAAEAAACkgStoBgByZXRyaWVzL2h0dHAvdGVzdHMv
bm90aWZpY2F0aW9ucy9sZWdhY3kvc2hvdy1wcmV0dHktZGlmZi5odG1sVVQFAAMjj/dUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DCgACAAAAb3hkRv4nOOA1AAAANQAAAEcAGAAAAAAAAQAAAKSB+HEGAHJl
dHJpZXMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xlZ2FjeS93aW5kb3ctc2hvdy1vbi1jbGlj
ay1hY3R1YWwudHh0VVQFAANBj/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAb3hkRpOvPrBv
AQAAvQIAAEUAGAAAAAAAAQAAAKSBrnIGAHJldHJpZXMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25z
L2xlZ2FjeS93aW5kb3ctc2hvdy1vbi1jbGljay1kaWZmLnR4dFVUBQADQY/3VHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAG94ZEa4svcR1AAAAFABAABJABgAAAAAAAEAAACkgZx0BgByZXRyaWVz
L2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9sZWdhY3kvd2luZG93LXNob3ctb24tY2xpY2stZXhw
ZWN0ZWQudHh0VVQFAANBj/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAb3hkRpFW5cazCAAA
CyAAAE0AGAAAAAAAAQAAAKSB83UGAHJldHJpZXMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2xl
Z2FjeS93aW5kb3ctc2hvdy1vbi1jbGljay1wcmV0dHktZGlmZi5odG1sVVQFAANBj/dUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DCgAAAAAAT31kRgAAAAAAAAAAAAAAABsAGAAAAAAAAAAQAO1BLX8GAHJl
dHJpZXMvaHR0cC90ZXN0cy93b3JrZXJzL1VUBQADZZj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAE99ZEbPiDD1AgIAAHUGAAA6ABgAAAAAAAEAAACkgYJ/BgByZXRyaWVzL2h0dHAvdGVzdHMv
d29ya2Vycy93b3JrZXItaW1wb3J0U2NyaXB0cy1hY3R1YWwudHh0VVQFAANlmPdUdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAT31kRnOKP2NjAQAAMgMAADgAGAAAAAAAAQAAAKSB+IEGAHJldHJp
ZXMvaHR0cC90ZXN0cy93b3JrZXJzL3dvcmtlci1pbXBvcnRTY3JpcHRzLWRpZmYudHh0VVQFAANl
mPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAT31kRuDTWZkAAgAAcwYAADwAGAAAAAAAAQAA
AKSBzYMGAHJldHJpZXMvaHR0cC90ZXN0cy93b3JrZXJzL3dvcmtlci1pbXBvcnRTY3JpcHRzLWV4
cGVjdGVkLnR4dFVUBQADZZj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAE99ZEZT0aE4bwgA
ACAdAABAABgAAAAAAAEAAACkgUOGBgByZXRyaWVzL2h0dHAvdGVzdHMvd29ya2Vycy93b3JrZXIt
aW1wb3J0U2NyaXB0cy1wcmV0dHktZGlmZi5odG1sVVQFAANlmPdUdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DCgAAAAAAT31kRgAAAAAAAAAAAAAAAAsAGAAAAAAAAAAQAO1BLI8GAHJldHJpZXMvanMvVVQF
AANlmPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAT31kRgAAAAAAAAAAAAAAAA8AGAAAAAAA
AAAQAO1BcY8GAHJldHJpZXMvanMvZG9tL1VUBQADZZj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAE99ZEbE/0Y1kQAAALsAAAA9ABgAAAAAAAEAAACkgbqPBgByZXRyaWVzL2pzL2RvbS9wYXJz
ZS1lcnJvci1leHRlcm5hbC1zY3JpcHQtaW4tZXZhbC1hY3R1YWwudHh0VVQFAANlmPdUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAT31kRoaxfO4HAQAAGgIAADsAGAAAAAAAAQAAAKSBwpAGAHJl
dHJpZXMvanMvZG9tL3BhcnNlLWVycm9yLWV4dGVybmFsLXNjcmlwdC1pbi1ldmFsLWRpZmYudHh0
VVQFAANlmPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAT31kRif2HFKPAAAAuQAAAD8AGAAA
AAAAAQAAAKSBPpIGAHJldHJpZXMvanMvZG9tL3BhcnNlLWVycm9yLWV4dGVybmFsLXNjcmlwdC1p
bi1ldmFsLWV4cGVjdGVkLnR4dFVUBQADZZj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAE99
ZEarkYyL3wcAANsYAABDABgAAAAAAAEAAACkgUaTBgByZXRyaWVzL2pzL2RvbS9wYXJzZS1lcnJv
ci1leHRlcm5hbC1zY3JpcHQtaW4tZXZhbC1wcmV0dHktZGlmZi5odG1sVVQFAANlmPdUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAT31kRlzOyl2WAAAAwwAAAEUAGAAAAAAAAQAAAKSBopsGAHJl
dHJpZXMvanMvZG9tL3BhcnNlLWVycm9yLWV4dGVybmFsLXNjcmlwdC1pbi1uZXctRnVuY3Rpb24t
YWN0dWFsLnR4dFVUBQADZZj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAE99ZEbuazyUDgEA
ADICAABDABgAAAAAAAEAAACkgbecBgByZXRyaWVzL2pzL2RvbS9wYXJzZS1lcnJvci1leHRlcm5h
bC1zY3JpcHQtaW4tbmV3LUZ1bmN0aW9uLWRpZmYudHh0VVQFAANlmPdUdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAT31kRsa0XQmUAAAAwQAAAEcAGAAAAAAAAQAAAKSBQp4GAHJldHJpZXMvanMv
ZG9tL3BhcnNlLWVycm9yLWV4dGVybmFsLXNjcmlwdC1pbi1uZXctRnVuY3Rpb24tZXhwZWN0ZWQu
dHh0VVQFAANlmPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAT31kRtHji2/nBwAA6xgAAEsA
GAAAAAAAAQAAAKSBV58GAHJldHJpZXMvanMvZG9tL3BhcnNlLWVycm9yLWV4dGVybmFsLXNjcmlw
dC1pbi1uZXctRnVuY3Rpb24tcHJldHR5LWRpZmYuaHRtbFVUBQADZZj3VHV4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAAAAAE99ZEYAAAAAAAAAAAAAAAAPABgAAAAAAAAAEADtQcOnBgByZXRyaWVzL2pz
L2tkZS9VVAUAA2WY91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABPfWRGcTOhK7UAAAD+AAAA
IwAYAAAAAAABAAAApIEMqAYAcmV0cmllcy9qcy9rZGUvZ2FyYmFnZS1uLWFjdHVhbC50eHRVVAUA
A2WY91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABPfWRG5znlCfkAAADRAQAAIQAYAAAAAAAB
AAAApIEeqQYAcmV0cmllcy9qcy9rZGUvZ2FyYmFnZS1uLWRpZmYudHh0VVQFAANlmPdUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAT31kRr4U15ezAAAA/AAAACUAGAAAAAAAAQAAAKSBcqoGAHJl
dHJpZXMvanMva2RlL2dhcmJhZ2Utbi1leHBlY3RlZC50eHRVVAUAA2WY91R1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACABPfWRGCRZTfPMHAADWGQAAKQAYAAAAAAABAAAApIGEqwYAcmV0cmllcy9q
cy9rZGUvZ2FyYmFnZS1uLXByZXR0eS1kaWZmLmh0bWxVVAUAA2WY91R1eAsAAQT1AQAABBQAAABQ
SwECHgMKAAAAAABQfWRGAAAAAAAAAAAAAAAAEAAYAAAAAAAAABAA7UHaswYAcmV0cmllcy9zcHV0
bmlrL1VUBQADZ5j3VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAFB9ZEYAAAAAAAAAAAAAAAAc
ABgAAAAAAAAAEADtQSS0BgByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFuY2UvVVQFAANomPdUdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAUH1kRgAAAAAAAAAAAAAAADMAGAAAAAAAAAAQAO1BerQG
AHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zL1VUBQAD
aJj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAFB9ZEYAAAAAAAAAAAAAAABIABgAAAAAAAAA
EADtQee0BgByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9u
cy83LjNfTGluZV9UZXJtaW5hdG9ycy9VVAUAA2iY91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAIA
AABQfWRGpfvW5U8AAABPAAAAXwAYAAAAAAABAAAApIFptQYAcmV0cmllcy9zcHV0bmlrL0NvbmZv
cm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19B
My4xX1QyLWFjdHVhbC50eHRVVAUAA2iY91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABQfWRG
ktznQeUAAADhAQAAXQAYAAAAAAABAAAApIFRtgYAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNl
LzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4xX1Qy
LWRpZmYudHh0VVQFAANomPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAUH1kRv0M8CVNAAAA
TQAAAGEAGAAAAAAAAQAAAKSBzbcGAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhp
Y2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMuMV9UMi1leHBlY3Rl
ZC50eHRVVAUAA2iY91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABQfWRGkaiw9+kHAAATGwAA
ZQAYAAAAAAABAAAApIG1uAYAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxf
Q29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4xX1QyLXByZXR0eS1kaWZm
Lmh0bWxVVAUAA2iY91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABQfWRGZCYrIXkAAACFAAAA
XwAYAAAAAAABAAAApIE9wQYAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxf
Q29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4xX1QzLWFjdHVhbC50eHRV
VAUAA2eY91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABQfWRGEBPXFPwAAAAdAgAAXQAYAAAA
AAABAAAApIFPwgYAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVu
dGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4xX1QzLWRpZmYudHh0VVQFAANnmPdU
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAUH1kRghYknB3AAAAgwAAAGEAGAAAAAAAAQAAAKSB
4sMGAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcu
M19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMuMV9UMy1leHBlY3RlZC50eHRVVAUAA2eY91R1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACABQfWRGE7kkDegHAADSGQAAZQAYAAAAAAABAAAApIH0xAYA
cmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xp
bmVfVGVybWluYXRvcnMvUzcuM19BMy4xX1QzLXByZXR0eS1kaWZmLmh0bWxVVAUAA2eY91R1eAsA
AQT1AQAABBQAAABQSwECHgMKAAIAAABQfWRG3J7tUE8AAABPAAAAXwAYAAAAAAABAAAApIF7zQYA
cmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xp
bmVfVGVybWluYXRvcnMvUzcuM19BMy4yX1QyLWFjdHVhbC50eHRVVAUAA2eY91R1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACABQfWRGBP3FW+UAAADhAQAAXQAYAAAAAAABAAAApIFjzgYAcmV0cmll
cy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVy
bWluYXRvcnMvUzcuM19BMy4yX1QyLWRpZmYudHh0VVQFAANnmPdUdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DCgACAAAAUH1kRjiOjoFNAAAATQAAAGEAGAAAAAAAAQAAAKSB388GAHJldHJpZXMvc3B1dG5p
ay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3Jz
L1M3LjNfQTMuMl9UMi1leHBlY3RlZC50eHRVVAUAA2eY91R1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACABQfWRGcgbcuegHAAATGwAAZQAYAAAAAAABAAAApIHH0AYAcmV0cmllcy9zcHV0bmlrL0Nv
bmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcu
M19BMy4yX1QyLXByZXR0eS1kaWZmLmh0bWxVVAUAA2eY91R1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACABQfWRGkN5iknkAAACFAAAAXwAYAAAAAAABAAAApIFO2QYAcmV0cmllcy9zcHV0bmlrL0Nv
bmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcu
M19BMy4yX1QzLWFjdHVhbC50eHRVVAUAA2eY91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABQ
fWRGgqsmF/wAAAAdAgAAXQAYAAAAAAABAAAApIFg2gYAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1h
bmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4y
X1QzLWRpZmYudHh0VVQFAANnmPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAUH1kRnEPQ3B3
AAAAgwAAAGEAGAAAAAAAAQAAAKSB89sGAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8wN19M
ZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMuMl9UMy1leHBl
Y3RlZC50eHRVVAUAA2eY91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABQfWRGHgOaF+gHAADS
GQAAZQAYAAAAAAABAAAApIEF3QYAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGlj
YWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4yX1QzLXByZXR0eS1k
aWZmLmh0bWxVVAUAA2iY91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAABQfWRGNEDUik8AAABP
AAAAXwAYAAAAAAABAAAApIGM5QYAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGlj
YWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4zX1QyLWFjdHVhbC50
eHRVVAUAA2eY91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABQfWRGSeD05OMAAADhAQAAXQAY
AAAAAAABAAAApIF05gYAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29u
dmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4zX1QyLWRpZmYudHh0VVQFAANn
mPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAUH1kRkTyi1RNAAAATQAAAGEAGAAAAAAAAQAA
AKSB7ucGAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25z
LzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMuM19UMi1leHBlY3RlZC50eHRVVAUAA2eY91R1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABQfWRG02P4g+gHAAATGwAAZQAYAAAAAAABAAAApIHW
6AYAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4z
X0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4zX1QyLXByZXR0eS1kaWZmLmh0bWxVVAUAA2eY91R1
eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAABQfWRGb1Lq4U8AAABPAAAAXwAYAAAAAAABAAAApIFd
8QYAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4z
X0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy40X1QyLWFjdHVhbC50eHRVVAUAA2iY91R1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACABQfWRGKL6Bb+UAAADhAQAAXQAYAAAAAAABAAAApIFF8gYAcmV0
cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVf
VGVybWluYXRvcnMvUzcuM19BMy40X1QyLWRpZmYudHh0VVQFAANomPdUdXgLAAEE9QEAAAQUAAAA
UEsBAh4DCgACAAAAUH1kRvONAhJNAAAATQAAAGEAGAAAAAAAAQAAAKSBwfMGAHJldHJpZXMvc3B1
dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0
b3JzL1M3LjNfQTMuNF9UMi1leHBlY3RlZC50eHRVVAUAA2iY91R1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACABQfWRGtFsFJekHAAATGwAAZQAYAAAAAAABAAAApIGp9AYAcmV0cmllcy9zcHV0bmlr
L0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMv
UzcuM19BMy40X1QyLXByZXR0eS1kaWZmLmh0bWxVVAUAA2iY91R1eAsAAQT1AQAABBQAAABQSwEC
HgMKAAAAAABQfWRGAAAAAAAAAAAAAAAAQAAYAAAAAAAAABAA7UEx/QYAcmV0cmllcy9zcHV0bmlr
L0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy44X0xpdGVyYWxzL1VUBQADaJj3
VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAFB9ZEYAAAAAAAAAAAAAAABiABgAAAAAAAAAEADt
Qav9BgByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83
LjhfTGl0ZXJhbHMvNy44LjVfUmVndWxhcl9FeHByZXNzaW9uX0xpdGVyYWxzL1VUBQADaJj3VHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAFB9ZEaqP3SJmQAAALAAAAB7ABgAAAAAAAEAAACkgUf+
BgByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83Ljhf
TGl0ZXJhbHMvNy44LjVfUmVndWxhcl9FeHByZXNzaW9uX0xpdGVyYWxzL1M3LjguNV9BMy4xX1Q3
LWFjdHVhbC50eHRVVAUAA2iY91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABQfWRGe16VPCYB
AACkAgAAeQAYAAAAAAABAAAApIGV/wYAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xl
eGljYWxfQ29udmVudGlvbnMvNy44X0xpdGVyYWxzLzcuOC41X1JlZ3VsYXJfRXhwcmVzc2lvbl9M
aXRlcmFscy9TNy44LjVfQTMuMV9UNy1kaWZmLnR4dFVUBQADaJj3VHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAFB9ZEb06hnalwAAAK4AAAB9ABgAAAAAAAEAAACkgW4BBwByZXRyaWVzL3NwdXRu
aWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjhfTGl0ZXJhbHMvNy44LjVf
UmVndWxhcl9FeHByZXNzaW9uX0xpdGVyYWxzL1M3LjguNV9BMy4xX1Q3LWV4cGVjdGVkLnR4dFVU
BQADaJj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAFB9ZEYuDd+bFwgAAE0aAACBABgAAAAA
AAEAAACkgbwCBwByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50
aW9ucy83LjhfTGl0ZXJhbHMvNy44LjVfUmVndWxhcl9FeHByZXNzaW9uX0xpdGVyYWxzL1M3Ljgu
NV9BMy4xX1Q3LXByZXR0eS1kaWZmLmh0bWxVVAUAA2iY91R1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACABQfWRG1k9dkpkAAACwAAAAewAYAAAAAAABAAAApIGOCwcAcmV0cmllcy9zcHV0bmlrL0Nv
bmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy44X0xpdGVyYWxzLzcuOC41X1JlZ3Vs
YXJfRXhwcmVzc2lvbl9MaXRlcmFscy9TNy44LjVfQTMuMV9UOC1hY3R1YWwudHh0VVQFAANomPdU
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAUH1kRrjyFZYnAQAApAIAAHkAGAAAAAAAAQAAAKSB
3AwHAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcu
OF9MaXRlcmFscy83LjguNV9SZWd1bGFyX0V4cHJlc3Npb25fTGl0ZXJhbHMvUzcuOC41X0EzLjFf
VDgtZGlmZi50eHRVVAUAA2iY91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABQfWRGiJowwZgA
AACuAAAAfQAYAAAAAAABAAAApIG2DgcAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xl
eGljYWxfQ29udmVudGlvbnMvNy44X0xpdGVyYWxzLzcuOC41X1JlZ3VsYXJfRXhwcmVzc2lvbl9M
aXRlcmFscy9TNy44LjVfQTMuMV9UOC1leHBlY3RlZC50eHRVVAUAA2iY91R1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACABQfWRGwiUWQxcIAABNGgAAgQAYAAAAAAABAAAApIEFEAcAcmV0cmllcy9z
cHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy44X0xpdGVyYWxzLzcu
OC41X1JlZ3VsYXJfRXhwcmVzc2lvbl9MaXRlcmFscy9TNy44LjVfQTMuMV9UOC1wcmV0dHktZGlm
Zi5odG1sVVQFAANomPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAUH1kRpCXTNiZAAAAsAAA
AHsAGAAAAAAAAQAAAKSB1xgHAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2Fs
X0NvbnZlbnRpb25zLzcuOF9MaXRlcmFscy83LjguNV9SZWd1bGFyX0V4cHJlc3Npb25fTGl0ZXJh
bHMvUzcuOC41X0EzLjFfVDktYWN0dWFsLnR4dFVUBQADaJj3VHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAFB9ZEaLUsZyJwEAAKQCAAB5ABgAAAAAAAEAAACkgSUaBwByZXRyaWVzL3NwdXRuaWsv
Q29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjhfTGl0ZXJhbHMvNy44LjVfUmVn
dWxhcl9FeHByZXNzaW9uX0xpdGVyYWxzL1M3LjguNV9BMy4xX1Q5LWRpZmYudHh0VVQFAANomPdU
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAUH1kRs5CIYuYAAAArgAAAH0AGAAAAAAAAQAAAKSB
/xsHAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcu
OF9MaXRlcmFscy83LjguNV9SZWd1bGFyX0V4cHJlc3Npb25fTGl0ZXJhbHMvUzcuOC41X0EzLjFf
VDktZXhwZWN0ZWQudHh0VVQFAANomPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAUH1kRnvu
tSMYCAAATRoAAIEAGAAAAAAAAQAAAKSBTh0HAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8w
N19MZXhpY2FsX0NvbnZlbnRpb25zLzcuOF9MaXRlcmFscy83LjguNV9SZWd1bGFyX0V4cHJlc3Np
b25fTGl0ZXJhbHMvUzcuOC41X0EzLjFfVDktcHJldHR5LWRpZmYuaHRtbFVUBQADaJj3VHV4CwAB
BPUBAAAEFAAAAFBLAQIeAwoAAAAAAFF9ZEYAAAAAAAAAAAAAAAApABgAAAAAAAAAEADtQSEmBwBy
ZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTJfU3RhdGVtZW50L1VUBQADaZj3VHV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAAAAAFF9ZEYAAAAAAAAAAAAAAABEABgAAAAAAAAAEADtQYQmBwByZXRy
aWVzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTJfU3RhdGVtZW50LzEyLjExX1RoZV9zd2l0Y2hfU3Rh
dGVtZW50L1VUBQADaZj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAFB9ZEaVOv4YlAAAAK8A
AABbABgAAAAAAAEAAACkgQInBwByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTJfU3RhdGVt
ZW50LzEyLjExX1RoZV9zd2l0Y2hfU3RhdGVtZW50L1MxMi4xMV9BM19UNS1hY3R1YWwudHh0VVQF
AANomPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAUH1kRsvKINsJAQAAaQIAAFkAGAAAAAAA
AQAAAKSBKygHAHJldHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8xMl9TdGF0ZW1lbnQvMTIuMTFf
VGhlX3N3aXRjaF9TdGF0ZW1lbnQvUzEyLjExX0EzX1Q1LWRpZmYudHh0VVQFAANomPdUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAUH1kRougBvOSAAAArQAAAF0AGAAAAAAAAQAAAKSBxykHAHJl
dHJpZXMvc3B1dG5pay9Db25mb3JtYW5jZS8xMl9TdGF0ZW1lbnQvMTIuMTFfVGhlX3N3aXRjaF9T
dGF0ZW1lbnQvUzEyLjExX0EzX1Q1LWV4cGVjdGVkLnR4dFVUBQADaJj3VHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAFF9ZEbGl6Iy9wcAAEIaAABhABgAAAAAAAEAAACkgfAqBwByZXRyaWVzL3Nw
dXRuaWsvQ29uZm9ybWFuY2UvMTJfU3RhdGVtZW50LzEyLjExX1RoZV9zd2l0Y2hfU3RhdGVtZW50
L1MxMi4xMV9BM19UNS1wcmV0dHktZGlmZi5odG1sVVQFAANpmPdUdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DCgAAAAAAUX1kRgAAAAAAAAAAAAAAAEMAGAAAAAAAAAAQAO1BgjMHAHJldHJpZXMvc3B1dG5p
ay9Db25mb3JtYW5jZS8xMl9TdGF0ZW1lbnQvMTIuNl9JdGVyYXRpb25fU3RhdGVtZW50cy9VVAUA
A2mY91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABRfWRGAAAAAAAAAAAAAAAAXAAYAAAAAAAA
ABAA7UH/MwcAcmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzEyX1N0YXRlbWVudC8xMi42X0l0
ZXJhdGlvbl9TdGF0ZW1lbnRzLzEyLjYuM19UaGVfZm9yX1N0YXRlbWVudC9VVAUAA2mY91R1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACABRfWRGUqUW0pgAAAC5AAAAdgAYAAAAAAABAAAApIGVNAcA
cmV0cmllcy9zcHV0bmlrL0NvbmZvcm1hbmNlLzEyX1N0YXRlbWVudC8xMi42X0l0ZXJhdGlvbl9T
dGF0ZW1lbnRzLzEyLjYuM19UaGVfZm9yX1N0YXRlbWVudC9TMTIuNi4zX0E4LjFfVDMtYWN0dWFs
LnR4dFVUBQADaZj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAFF9ZEY6Lj2OHAEAALACAAB0
ABgAAAAAAAEAAACkgd01BwByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFuY2UvMTJfU3RhdGVtZW50
LzEyLjZfSXRlcmF0aW9uX1N0YXRlbWVudHMvMTIuNi4zX1RoZV9mb3JfU3RhdGVtZW50L1MxMi42
LjNfQTguMV9UMy1kaWZmLnR4dFVUBQADaZj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAFF9
ZEa7IeOZlwAAALcAAAB4ABgAAAAAAAEAAACkgac3BwByZXRyaWVzL3NwdXRuaWsvQ29uZm9ybWFu
Y2UvMTJfU3RhdGVtZW50LzEyLjZfSXRlcmF0aW9uX1N0YXRlbWVudHMvMTIuNi4zX1RoZV9mb3Jf
U3RhdGVtZW50L1MxMi42LjNfQTguMV9UMy1leHBlY3RlZC50eHRVVAUAA2mY91R1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACABRfWRGXTAeawkIAABuGgAAfAAYAAAAAAABAAAApIHwOAcAcmV0cmll
cy9zcHV0bmlrL0NvbmZvcm1hbmNlLzEyX1N0YXRlbWVudC8xMi42X0l0ZXJhdGlvbl9TdGF0ZW1l
bnRzLzEyLjYuM19UaGVfZm9yX1N0YXRlbWVudC9TMTIuNi4zX0E4LjFfVDMtcHJldHR5LWRpZmYu
aHRtbFVUBQADaZj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAALF4ZEYAAAAAAAAAAAAAAAAR
ABgAAAAAAAAAEADtQa9BBwByZXRyaWVzL3dlYmF1ZGlvL1VUBQADvo/3VHV4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAgAAALF4ZEb+JzjgNQAAADUAAAAzABgAAAAAAAEAAACkgfpBBwByZXRyaWVzL3dl
YmF1ZGlvL2F1ZGlvYnVmZmVyc291cmNlLWVuZGVkLWFjdHVhbC50eHRVVAUAA72P91R1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACACxeGRGsj15seAAAACbAQAAMQAYAAAAAAABAAAApIGcQgcAcmV0
cmllcy93ZWJhdWRpby9hdWRpb2J1ZmZlcnNvdXJjZS1lbmRlZC1kaWZmLnR4dFVUBQADvY/3VHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALF4ZEZbNiPZUgAAAF8AAAA1ABgAAAAAAAEAAACkgedD
BwByZXRyaWVzL3dlYmF1ZGlvL2F1ZGlvYnVmZmVyc291cmNlLWVuZGVkLWV4cGVjdGVkLnR4dFVU
BQADvY/3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIALF4ZEbNg8+TuwcAAOIYAAA5ABgAAAAA
AAEAAACkgahEBwByZXRyaWVzL3dlYmF1ZGlvL2F1ZGlvYnVmZmVyc291cmNlLWVuZGVkLXByZXR0
eS1kaWZmLmh0bWxVVAUAA76P91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAACieGRG/ic44DUA
AAA1AAAALAAYAAAAAAABAAAApIHWTAcAcmV0cmllcy93ZWJhdWRpby9vc2NpbGxhdG9yLWVuZGVk
LWFjdHVhbC50eHRVVAUAA5+P91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACieGRGS8lBXdcA
AACDAQAAKgAYAAAAAAABAAAApIFxTQcAcmV0cmllcy93ZWJhdWRpby9vc2NpbGxhdG9yLWVuZGVk
LWRpZmYudHh0VVQFAAOfj/dUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAonhkRqrMHENNAAAA
VQAAAC4AGAAAAAAAAQAAAKSBrE4HAHJldHJpZXMvd2ViYXVkaW8vb3NjaWxsYXRvci1lbmRlZC1l
eHBlY3RlZC50eHRVVAUAA5+P91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACieGRGMo/tCLIH
AADRGAAAMgAYAAAAAAABAAAApIFhTwcAcmV0cmllcy93ZWJhdWRpby9vc2NpbGxhdG9yLWVuZGVk
LXByZXR0eS1kaWZmLmh0bWxVVAUAA5+P91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADqdmRG
AAAAAAAAAAAAAAAACwAYAAAAAAAAABAA7UF/VwcAc2Nyb2xsYmFycy9VVAUAA1eN91R1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAAZfWRGbr0jYTkAAABCAAAAOwAYAAAAAAABAAAApIHEVwcAc2Ny
b2xsYmFycy9zY3JvbGxldmVudC1pZnJhbWUtbm8tc2Nyb2xsaW5nLXdoZWVsLXN0ZGVyci50eHRV
VAUAAwGY91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAYfWRGAAAAAAAAAAAAAAAACAAYAAAA
AAAAABAA7UFyWAcAc3B1dG5pay9VVAUAA/+X91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAd
fWRGAAAAAAAAAAAAAAAAFAAYAAAAAAAAABAA7UG0WAcAc3B1dG5pay9Db25mb3JtYW5jZS9VVAUA
AwmY91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAjfWRGAAAAAAAAAAAAAAAAKwAYAAAAAAAA
ABAA7UECWQcAc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zL1VUBQAD
EZj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAABl9ZEYAAAAAAAAAAAAAAABAABgAAAAAAAAA
EADtQWdZBwBzcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xp
bmVfVGVybWluYXRvcnMvVVQFAAMBmPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAGH1kRpDl
hlpbAAAA4AIAAFcAGAAAAAAAAQAAAKSB4VkHAHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNh
bF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9ycy9TNy4zX0ExLjFfVDEtc3RkZXJyLnR4
dFVUBQAD/5f3VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAgAAABh9ZEal+9blTwAAAE8AAABXABgA
AAAAAAEAAACkgc1aBwBzcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMv
Ny4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4xX1QyLWFjdHVhbC50eHRVVAUAAwCY91R1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAAYfWRGUQ6Qv+AAAADRAQAAVQAYAAAAAAABAAAApIGtWwcA
c3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1p
bmF0b3JzL1M3LjNfQTMuMV9UMi1kaWZmLnR4dFVUBQADAJj3VHV4CwABBPUBAAAEFAAAAFBLAQIe
AwoAAgAAABh9ZEb9DPAlTQAAAE0AAABZABgAAAAAAAEAAACkgRxdBwBzcHV0bmlrL0NvbmZvcm1h
bmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4x
X1QyLWV4cGVjdGVkLnR4dFVUBQADAJj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABh9ZEZ4
tIly5AcAAAsbAABdABgAAAAAAAEAAACkgfxdBwBzcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGlj
YWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4xX1QyLXByZXR0eS1k
aWZmLmh0bWxVVAUAAwCY91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAYfWRGZCYrIXkAAACF
AAAAVwAYAAAAAAABAAAApIF3ZgcAc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZl
bnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMuMV9UMy1hY3R1YWwudHh0VVQFAAMA
mPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAGH1kRkf7UzD3AAAADQIAAFUAGAAAAAAAAQAA
AKSBgWcHAHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjNfTGlu
ZV9UZXJtaW5hdG9ycy9TNy4zX0EzLjFfVDMtZGlmZi50eHRVVAUAAwCY91R1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAAYfWRGCFiScHcAAACDAAAAWQAYAAAAAAABAAAApIEHaQcAc3B1dG5pay9D
b25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3
LjNfQTMuMV9UMy1leHBlY3RlZC50eHRVVAUAAwCY91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAAYfWRGXKnXH+MHAADKGQAAXQAYAAAAAAABAAAApIERagcAc3B1dG5pay9Db25mb3JtYW5jZS8w
N19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMuMV9UMy1w
cmV0dHktZGlmZi5odG1sVVQFAAMAmPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAGH1kRtye
7VBPAAAATwAAAFcAGAAAAAAAAQAAAKSBi3IHAHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNh
bF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9ycy9TNy4zX0EzLjJfVDItYWN0dWFsLnR4
dFVUBQADAJj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABh9ZEY+zL6M4AAAANEBAABVABgA
AAAAAAEAAACkgWtzBwBzcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMv
Ny4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4yX1QyLWRpZmYudHh0VVQFAAMAmPdUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DCgACAAAAGH1kRjiOjoFNAAAATQAAAFkAGAAAAAAAAQAAAKSB2nQHAHNw
dXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJtaW5h
dG9ycy9TNy4zX0EzLjJfVDItZXhwZWN0ZWQudHh0VVQFAAMAmPdUdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAGH1kRpsa5TzkBwAACxsAAF0AGAAAAAAAAQAAAKSBunUHAHNwdXRuaWsvQ29uZm9y
bWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9ycy9TNy4zX0Ez
LjJfVDItcHJldHR5LWRpZmYuaHRtbFVUBQADAJj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
ABh9ZEaQ3mKSeQAAAIUAAABXABgAAAAAAAEAAACkgTV+BwBzcHV0bmlrL0NvbmZvcm1hbmNlLzA3
X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy4yX1QzLWFj
dHVhbC50eHRVVAUAAwCY91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAYfWRGCtMfivcAAAAN
AgAAVQAYAAAAAAABAAAApIE/fwcAc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZl
bnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMuMl9UMy1kaWZmLnR4dFVUBQADAJj3
VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABh9ZEZxD0NwdwAAAIMAAABZABgAAAAAAAEAAACk
gcWABwBzcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVf
VGVybWluYXRvcnMvUzcuM19BMy4yX1QzLWV4cGVjdGVkLnR4dFVUBQADAJj3VHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIABh9ZEZRE2kF4wcAAMoZAABdABgAAAAAAAEAAACkgc+BBwBzcHV0bmlr
L0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMv
UzcuM19BMy4yX1QzLXByZXR0eS1kaWZmLmh0bWxVVAUAAwCY91R1eAsAAQT1AQAABBQAAABQSwEC
HgMKAAIAAAAYfWRGNEDUik8AAABPAAAAVwAYAAAAAAABAAAApIFJigcAc3B1dG5pay9Db25mb3Jt
YW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMu
M19UMi1hY3R1YWwudHh0VVQFAAMAmPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAGH1kRiRw
dCvfAAAA0QEAAFUAGAAAAAAAAQAAAKSBKYsHAHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNh
bF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9ycy9TNy4zX0EzLjNfVDItZGlmZi50eHRV
VAUAAwCY91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAAAYfWRGRPKLVE0AAABNAAAAWQAYAAAA
AAABAAAApIGXjAcAc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcu
M19MaW5lX1Rlcm1pbmF0b3JzL1M3LjNfQTMuM19UMi1leHBlY3RlZC50eHRVVAUAAwCY91R1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAAZfWRGOn/BBuQHAAALGwAAXQAYAAAAAAABAAAApIF3jQcA
c3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuM19MaW5lX1Rlcm1p
bmF0b3JzL1M3LjNfQTMuM19UMi1wcmV0dHktZGlmZi5odG1sVVQFAAMBmPdUdXgLAAEE9QEAAAQU
AAAAUEsBAh4DCgACAAAAGX1kRm9S6uFPAAAATwAAAFcAGAAAAAAAAQAAAKSB8pUHAHNwdXRuaWsv
Q29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjNfTGluZV9UZXJtaW5hdG9ycy9T
Ny4zX0EzLjRfVDItYWN0dWFsLnR4dFVUBQADAZj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
ABl9ZEbgSOPq4AAAANEBAABVABgAAAAAAAEAAACkgdKWBwBzcHV0bmlrL0NvbmZvcm1hbmNlLzA3
X0xleGljYWxfQ29udmVudGlvbnMvNy4zX0xpbmVfVGVybWluYXRvcnMvUzcuM19BMy40X1QyLWRp
ZmYudHh0VVQFAAMBmPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAGX1kRvONAhJNAAAATQAA
AFkAGAAAAAAAAQAAAKSBQZgHAHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50
aW9ucy83LjNfTGluZV9UZXJtaW5hdG9ycy9TNy4zX0EzLjRfVDItZXhwZWN0ZWQudHh0VVQFAAMB
mPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAGX1kRl1HPKDkBwAACxsAAF0AGAAAAAAAAQAA
AKSBIZkHAHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjNfTGlu
ZV9UZXJtaW5hdG9ycy9TNy4zX0EzLjRfVDItcHJldHR5LWRpZmYuaHRtbFVUBQADAZj3VHV4CwAB
BPUBAAAEFAAAAFBLAQIeAwoAAAAAACN9ZEYAAAAAAAAAAAAAAAA4ABgAAAAAAAAAEADtQZyhBwBz
cHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy44X0xpdGVyYWxzL1VU
BQADEZj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAACN9ZEYAAAAAAAAAAAAAAABaABgAAAAA
AAAAEADtQQ6iBwBzcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy44
X0xpdGVyYWxzLzcuOC41X1JlZ3VsYXJfRXhwcmVzc2lvbl9MaXRlcmFscy9VVAUAAxKY91R1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAAjfWRGqj90iZkAAACwAAAAcwAYAAAAAAABAAAApIGiogcA
c3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuOF9MaXRlcmFscy83
LjguNV9SZWd1bGFyX0V4cHJlc3Npb25fTGl0ZXJhbHMvUzcuOC41X0EzLjFfVDctYWN0dWFsLnR4
dFVUBQADEZj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACN9ZEY0JkbtIwEAAJQCAABxABgA
AAAAAAEAAACkgeijBwBzcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMv
Ny44X0xpdGVyYWxzLzcuOC41X1JlZ3VsYXJfRXhwcmVzc2lvbl9MaXRlcmFscy9TNy44LjVfQTMu
MV9UNy1kaWZmLnR4dFVUBQADEZj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACN9ZEb06hna
lwAAAK4AAAB1ABgAAAAAAAEAAACkgbalBwBzcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxf
Q29udmVudGlvbnMvNy44X0xpdGVyYWxzLzcuOC41X1JlZ3VsYXJfRXhwcmVzc2lvbl9MaXRlcmFs
cy9TNy44LjVfQTMuMV9UNy1leHBlY3RlZC50eHRVVAUAAxGY91R1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAAjfWRGF5OJwRIIAABFGgAAeQAYAAAAAAABAAAApIH8pgcAc3B1dG5pay9Db25mb3Jt
YW5jZS8wN19MZXhpY2FsX0NvbnZlbnRpb25zLzcuOF9MaXRlcmFscy83LjguNV9SZWd1bGFyX0V4
cHJlc3Npb25fTGl0ZXJhbHMvUzcuOC41X0EzLjFfVDctcHJldHR5LWRpZmYuaHRtbFVUBQADEZj3
VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACN9ZEbWT12SmQAAALAAAABzABgAAAAAAAEAAACk
gcGvBwBzcHV0bmlrL0NvbmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy44X0xpdGVy
YWxzLzcuOC41X1JlZ3VsYXJfRXhwcmVzc2lvbl9MaXRlcmFscy9TNy44LjVfQTMuMV9UOC1hY3R1
YWwudHh0VVQFAAMRmPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAI31kRnvbbTMjAQAAlAIA
AHEAGAAAAAAAAQAAAKSBB7EHAHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50
aW9ucy83LjhfTGl0ZXJhbHMvNy44LjVfUmVndWxhcl9FeHByZXNzaW9uX0xpdGVyYWxzL1M3Ljgu
NV9BMy4xX1Q4LWRpZmYudHh0VVQFAAMRmPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAI31k
RoiaMMGYAAAArgAAAHUAGAAAAAAAAQAAAKSB1bIHAHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4
aWNhbF9Db252ZW50aW9ucy83LjhfTGl0ZXJhbHMvNy44LjVfUmVndWxhcl9FeHByZXNzaW9uX0xp
dGVyYWxzL1M3LjguNV9BMy4xX1Q4LWV4cGVjdGVkLnR4dFVUBQADEZj3VHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIACN9ZEb7u0AZEggAAEUaAAB5ABgAAAAAAAEAAACkgRy0BwBzcHV0bmlrL0Nv
bmZvcm1hbmNlLzA3X0xleGljYWxfQ29udmVudGlvbnMvNy44X0xpdGVyYWxzLzcuOC41X1JlZ3Vs
YXJfRXhwcmVzc2lvbl9MaXRlcmFscy9TNy44LjVfQTMuMV9UOC1wcmV0dHktZGlmZi5odG1sVVQF
AAMRmPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAI31kRpCXTNiZAAAAsAAAAHMAGAAAAAAA
AQAAAKSB4bwHAHNwdXRuaWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83Ljhf
TGl0ZXJhbHMvNy44LjVfUmVndWxhcl9FeHByZXNzaW9uX0xpdGVyYWxzL1M3LjguNV9BMy4xX1Q5
LWFjdHVhbC50eHRVVAUAAxGY91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAjfWRGbyFl+iMB
AACUAgAAcQAYAAAAAAABAAAApIEnvgcAc3B1dG5pay9Db25mb3JtYW5jZS8wN19MZXhpY2FsX0Nv
bnZlbnRpb25zLzcuOF9MaXRlcmFscy83LjguNV9SZWd1bGFyX0V4cHJlc3Npb25fTGl0ZXJhbHMv
UzcuOC41X0EzLjFfVDktZGlmZi50eHRVVAUAAxGY91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAAjfWRGzkIhi5gAAACuAAAAdQAYAAAAAAABAAAApIH1vwcAc3B1dG5pay9Db25mb3JtYW5jZS8w
N19MZXhpY2FsX0NvbnZlbnRpb25zLzcuOF9MaXRlcmFscy83LjguNV9SZWd1bGFyX0V4cHJlc3Np
b25fTGl0ZXJhbHMvUzcuOC41X0EzLjFfVDktZXhwZWN0ZWQudHh0VVQFAAMRmPdUdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAI31kRkJw43kSCAAARRoAAHkAGAAAAAAAAQAAAKSBPMEHAHNwdXRu
aWsvQ29uZm9ybWFuY2UvMDdfTGV4aWNhbF9Db252ZW50aW9ucy83LjhfTGl0ZXJhbHMvNy44LjVf
UmVndWxhcl9FeHByZXNzaW9uX0xpdGVyYWxzL1M3LjguNV9BMy4xX1Q5LXByZXR0eS1kaWZmLmh0
bWxVVAUAAxKY91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAdfWRGAAAAAAAAAAAAAAAAIQAY
AAAAAAAAABAA7UEBygcAc3B1dG5pay9Db25mb3JtYW5jZS8xMl9TdGF0ZW1lbnQvVVQFAAMKmPdU
dXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAHX1kRgAAAAAAAAAAAAAAADwAGAAAAAAAAAAQAO1B
XMoHAHNwdXRuaWsvQ29uZm9ybWFuY2UvMTJfU3RhdGVtZW50LzEyLjExX1RoZV9zd2l0Y2hfU3Rh
dGVtZW50L1VUBQADCpj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAB19ZEaVOv4YlAAAAK8A
AABTABgAAAAAAAEAAACkgdLKBwBzcHV0bmlrL0NvbmZvcm1hbmNlLzEyX1N0YXRlbWVudC8xMi4x
MV9UaGVfc3dpdGNoX1N0YXRlbWVudC9TMTIuMTFfQTNfVDUtYWN0dWFsLnR4dFVUBQADCZj3VHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAB19ZEbJdI+jBQEAAFkCAABRABgAAAAAAAEAAACkgfPL
BwBzcHV0bmlrL0NvbmZvcm1hbmNlLzEyX1N0YXRlbWVudC8xMi4xMV9UaGVfc3dpdGNoX1N0YXRl
bWVudC9TMTIuMTFfQTNfVDUtZGlmZi50eHRVVAUAAwmY91R1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAAdfWRGi6AG85IAAACtAAAAVQAYAAAAAAABAAAApIGDzQcAc3B1dG5pay9Db25mb3JtYW5j
ZS8xMl9TdGF0ZW1lbnQvMTIuMTFfVGhlX3N3aXRjaF9TdGF0ZW1lbnQvUzEyLjExX0EzX1Q1LWV4
cGVjdGVkLnR4dFVUBQADCZj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAB19ZEYc9S/F8gcA
ADoaAABZABgAAAAAAAEAAACkgaTOBwBzcHV0bmlrL0NvbmZvcm1hbmNlLzEyX1N0YXRlbWVudC8x
Mi4xMV9UaGVfc3dpdGNoX1N0YXRlbWVudC9TMTIuMTFfQTNfVDUtcHJldHR5LWRpZmYuaHRtbFVU
BQADCpj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAB19ZEYAAAAAAAAAAAAAAAA7ABgAAAAA
AAAAEADtQSnXBwBzcHV0bmlrL0NvbmZvcm1hbmNlLzEyX1N0YXRlbWVudC8xMi42X0l0ZXJhdGlv
bl9TdGF0ZW1lbnRzL1VUBQADCpj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAACB9ZEYAAAAA
AAAAAAAAAABUABgAAAAAAAAAEADtQZ7XBwBzcHV0bmlrL0NvbmZvcm1hbmNlLzEyX1N0YXRlbWVu
dC8xMi42X0l0ZXJhdGlvbl9TdGF0ZW1lbnRzLzEyLjYuM19UaGVfZm9yX1N0YXRlbWVudC9VVAUA
AwuY91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAdfWRGUqUW0pgAAAC5AAAAbgAYAAAAAAAB
AAAApIEs2AcAc3B1dG5pay9Db25mb3JtYW5jZS8xMl9TdGF0ZW1lbnQvMTIuNl9JdGVyYXRpb25f
U3RhdGVtZW50cy8xMi42LjNfVGhlX2Zvcl9TdGF0ZW1lbnQvUzEyLjYuM19BOC4xX1QzLWFjdHVh
bC50eHRVVAUAAwqY91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAgfWRG1tAZRhcBAACgAgAA
bAAYAAAAAAABAAAApIFs2QcAc3B1dG5pay9Db25mb3JtYW5jZS8xMl9TdGF0ZW1lbnQvMTIuNl9J
dGVyYXRpb25fU3RhdGVtZW50cy8xMi42LjNfVGhlX2Zvcl9TdGF0ZW1lbnQvUzEyLjYuM19BOC4x
X1QzLWRpZmYudHh0VVQFAAMLmPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAIH1kRrsh45mX
AAAAtwAAAHAAGAAAAAAAAQAAAKSBKdsHAHNwdXRuaWsvQ29uZm9ybWFuY2UvMTJfU3RhdGVtZW50
LzEyLjZfSXRlcmF0aW9uX1N0YXRlbWVudHMvMTIuNi4zX1RoZV9mb3JfU3RhdGVtZW50L1MxMi42
LjNfQTguMV9UMy1leHBlY3RlZC50eHRVVAUAAwuY91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAAgfWRGRMxAMgQIAABmGgAAdAAYAAAAAAABAAAApIFq3AcAc3B1dG5pay9Db25mb3JtYW5jZS8x
Ml9TdGF0ZW1lbnQvMTIuNl9JdGVyYXRpb25fU3RhdGVtZW50cy8xMi42LjNfVGhlX2Zvcl9TdGF0
ZW1lbnQvUzEyLjYuM19BOC4xX1QzLXByZXR0eS1kaWZmLmh0bWxVVAUAAwuY91R1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACABSfWRGP7Ctvsu1BgA1VCYACgAYAAAAAAABAAAApIEc5QcAc3RhdHMu
anNvblVUBQADa5j3VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAAR3ZEYAAAAAAAAAAAAAAAAI
ABgAAAAAAAAAEADtQSubDgBzdG9yYWdlL1VUBQADh433VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoA
AAAAAAR3ZEYAAAAAAAAAAAAAAAASABgAAAAAAAAAEADtQW2bDgBzdG9yYWdlL2luZGV4ZWRkYi9V
VAUAA4eN91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAEd2RGffM2IPoBAABCBAAAMgAYAAAA
AAABAAAApIG5mw4Ac3RvcmFnZS9pbmRleGVkZGIvZGVsZXRlSW5kZXgtYnVnMTEwNzkyLWFjdHVh
bC50eHRVVAUAA4eN91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAEd2RGspdkTicBAABIAgAA
MAAYAAAAAAABAAAApIEfng4Ac3RvcmFnZS9pbmRleGVkZGIvZGVsZXRlSW5kZXgtYnVnMTEwNzky
LWRpZmYudHh0VVQFAAOHjfdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgABHdkRvXrIUrrAQAA
4AMAADQAGAAAAAAAAQAAAKSBsJ8OAHN0b3JhZ2UvaW5kZXhlZGRiL2RlbGV0ZUluZGV4LWJ1ZzEx
MDc5Mi1leHBlY3RlZC50eHRVVAUAA4eN91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAEd2RG
wkiI2RoIAACCGwAAOAAYAAAAAAABAAAApIEJog4Ac3RvcmFnZS9pbmRleGVkZGIvZGVsZXRlSW5k
ZXgtYnVnMTEwNzkyLXByZXR0eS1kaWZmLmh0bWxVVAUAA4eN91R1eAsAAQT1AQAABBQAAABQSwEC
HgMKAAAAAAAEd2RGAAAAAAAAAAAAAAAABAAYAAAAAAAAABAA7UGVqg4Ac3ZnL1VUBQADh433VHV4
CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAP12ZEYAAAAAAAAAAAAAAAANABgAAAAAAAAAEADtQdOq
DgBzdmcvYXMtaW1hZ2UvVVQFAAN9jfdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAK31kRtsI
00I7AAAAPwAAAD8AGAAAAAAAAQAAAKSBGqsOAHN2Zy9hcy1pbWFnZS9zdmctaW1hZ2Utd2l0aC1k
YXRhLXVyaS1pbWFnZXMtZGlzYWJsZWQtc3RkZXJyLnR4dFVUBQADIpj3VHV4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAAAAAA93ZEYAAAAAAAAAAAAAAAALABgAAAAAAAAAEADtQc6rDgBzdmcvY3VzdG9t
L1VUBQADno33VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADB9ZEYnIrM4YwAAAG4AAAAmABgA
AAAAAAEAAACkgROsDgBzdmcvY3VzdG9tL2xpbmtpbmctdXJpLTAxLWItc3RkZXJyLnR4dFVUBQAD
LJj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADx9ZEYh9PbwOgAAAEIAAAAwABgAAAAAAAEA
AACkgdasDgBzdmcvY3VzdG9tL3VzZS1pbnZhbGlkYXRlLWNsaWNrLWNyYXNoLXN0ZGVyci50eHRV
VAUAA0SY91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAACd2RGAAAAAAAAAAAAAAAACwAYAAAA
AAAAABAA7UF6rQ4Ac3ZnL3N0cm9rZS9VVAUAA4ON91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAAwfWRGkpouTpAAAACmAAAAJQAYAAAAAAABAAAApIG/rQ4Ac3ZnL3N0cm9rZS96ZXJvLXdpZHRo
LWhhbmctc3RkZXJyLnR4dFVUBQADK5j3VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAPp2ZEYA
AAAAAAAAAAAAAAATABgAAAAAAAAAEADtQa6uDgBzdmcvVzNDLVNWRy0xLjEtU0UvVVQFAAN3jfdU
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAKH1kRjfVniVmAAAAcQAAADAAGAAAAAAAAQAAAKSB
+64OAHN2Zy9XM0MtU1ZHLTEuMS1TRS9maWx0ZXJzLWltYWdlLTA1LWYtc3RkZXJyLnR4dFVUBQAD
HJj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACh9ZEYnIrM4YwAAAG4AAAAyABgAAAAAAAEA
AACkgcuvDgBzdmcvVzNDLVNWRy0xLjEtU0UvcGFpbnRpbmctbWFya2VyLTA1LWYtc3RkZXJyLnR4
dFVUBQADHJj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACh9ZEYnIrM4YwAAAG4AAAAyABgA
AAAAAAEAAACkgZqwDgBzdmcvVzNDLVNWRy0xLjEtU0UvcGFpbnRpbmctbWFya2VyLTA2LWYtc3Rk
ZXJyLnR4dFVUBQADHJj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACh9ZEYnIrM4YwAAAG4A
AAAtABgAAAAAAAEAAACkgWmxDgBzdmcvVzNDLVNWRy0xLjEtU0Uvc3RydWN0LWRvbS0xMS1mLXN0
ZGVyci50eHRVVAUAAxyY91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAofWRGJyKzOGMAAABu
AAAALQAYAAAAAAABAAAApIEzsg4Ac3ZnL1czQy1TVkctMS4xLVNFL3N0cnVjdC11c2UtMTEtZi1z
dGRlcnIudHh0VVQFAAMcmPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAKH1kRj35C1hfAAAA
ZQAAAC8AGAAAAAAAAQAAAKSB/bIOAHN2Zy9XM0MtU1ZHLTEuMS1TRS9zdHlsaW5nLXByZXMtMDIt
Zi1zdGRlcnIudHh0VVQFAAMcmPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAKX1kRgJCt9iC
AAAA3gAAAC0AGAAAAAAAAQAAAKSBxbMOAHN2Zy9XM0MtU1ZHLTEuMS1TRS90ZXh0LWludHJvLTA5
LWItc3RkZXJyLnR4dFVUBQADHZj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAPp2ZEYAAAAA
AAAAAAAAAAAVABgAAAAAAAAAEADtQa60DgBzdmcvVzNDLVNWRy0xLjItVGlueS9VVAUAA3eN91R1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAofWRGpb1vVGMAAABrAAAAOQAYAAAAAAABAAAApIH9
tA4Ac3ZnL1czQy1TVkctMS4yLVRpbnkvc3RydWN0LXVzZS1yZWN1cnNpb24tMDEtdC1zdGRlcnIu
dHh0VVQFAAMcmPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAKX1kRqW9b1RjAAAAawAAADkA
GAAAAAAAAQAAAKSB07UOAHN2Zy9XM0MtU1ZHLTEuMi1UaW55L3N0cnVjdC11c2UtcmVjdXJzaW9u
LTAyLXQtc3RkZXJyLnR4dFVUBQADHZj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIACl9ZEal
vW9UYwAAAGsAAAA5ABgAAAAAAAEAAACkgam2DgBzdmcvVzNDLVNWRy0xLjItVGlueS9zdHJ1Y3Qt
dXNlLXJlY3Vyc2lvbi0wMy10LXN0ZGVyci50eHRVVAUAAx2Y91R1eAsAAQT1AQAABBQAAABQSwEC
HgMKAAAAAAAEd2RGAAAAAAAAAAAAAAAABwAYAAAAAAAAABAA7UF/tw4AdGFibGVzL1VUBQADiI33
VHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAAN3ZEYAAAAAAAAAAAAAAAAPABgAAAAAAAAAEADt
QcC3DgB0YWJsZXMvbW96aWxsYS9VVAUAA4aN91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAI
d2RGAAAAAAAAAAAAAAAAFAAYAAAAAAAAABAA7UEJuA4AdGFibGVzL21vemlsbGEvYnVncy9VVAUA
A5CN91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAA3fWRG60Tu6GcAAABzAAAAKAAYAAAAAAAB
AAAApIFXuA4AdGFibGVzL21vemlsbGEvYnVncy9idWcxMzEwMjAtc3RkZXJyLnR4dFVUBQADOpj3
VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADd9ZEbrRO7oZwAAAHMAAAAvABgAAAAAAAEAAACk
gSC5DgB0YWJsZXMvbW96aWxsYS9idWdzL2J1ZzEzMTAyMF9pZnJhbWUtc3RkZXJyLnR4dFVUBQAD
Opj3VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADR9ZEZI20MDaQAAAHUAAAAnABgAAAAAAAEA
AACkgfC5DgB0YWJsZXMvbW96aWxsYS9idWdzL2J1ZzE3NTg3LXN0ZGVyci50eHRVVAUAAzOY91R1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAyfWRG6VLOEVsAAABjAAAAKAAYAAAAAAABAAAApIG6
ug4AdGFibGVzL21vemlsbGEvYnVncy9idWcyNDc5LTEtc3RkZXJyLnR4dFVUBQADL5j3VHV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIADJ9ZEYmP8KmUwAAAOQAAAAmABgAAAAAAAEAAACkgXe7DgB0
YWJsZXMvbW96aWxsYS9idWdzL2J1ZzM5Nzctc3RkZXJyLnR4dFVUBQADMJj3VHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIADJ9ZEYu4H5zbAAAAH0AAAAmABgAAAAAAAEAAACkgSq8DgB0YWJsZXMv
bW96aWxsYS9idWdzL2J1ZzU1Mzgtc3RkZXJyLnR4dFVUBQADMJj3VHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIADN9ZEbucaf2gwAAAHYBAAAoABgAAAAAAAEAAACkgfa8DgB0YWJsZXMvbW96aWxs
YS9idWdzL2J1ZzkxMjMtMS1zdGRlcnIudHh0VVQFAAMxmPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4D
CgAAAAAAA3dkRgAAAAAAAAAAAAAAACIAGAAAAAAAAAAQAO1B270OAHRhYmxlcy9tb3ppbGxhL2Nv
bGxhcHNpbmdfYm9yZGVycy9VVAUAA4WN91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAxfWRG
1OgbqnoAAACRAAAANwAYAAAAAAABAAAApIE3vg4AdGFibGVzL21vemlsbGEvY29sbGFwc2luZ19i
b3JkZXJzL2J1ZzQxMjYyLTMtc3RkZXJyLnR4dFVUBQADLZj3VHV4CwABBPUBAAAEFAAAAFBLAQIe
AwoAAAAAAAV3ZEYAAAAAAAAAAAAAAAAhABgAAAAAAAAAEADtQSK/DgB0YWJsZXMvbW96aWxsYV9l
eHBlY3RlZF9mYWlsdXJlcy9VVAUAA4qN91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAFd2RG
AAAAAAAAAAAAAAAAJgAYAAAAAAAAABAA7UF9vw4AdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFp
bHVyZXMvYnVncy9VVAUAA4qN91R1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAyfWRG6VLOEVsA
AABjAAAAOQAYAAAAAAABAAAApIHdvw4AdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMv
YnVncy9idWcxMDE0MC1zdGRlcnIudHh0VVQFAAMwmPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAM31kRlfPKPyPAAAAHAIAADkAGAAAAAAAAQAAAKSBq8AOAHRhYmxlcy9tb3ppbGxhX2V4cGVj
dGVkX2ZhaWx1cmVzL2J1Z3MvYnVnMjM4NDctc3RkZXJyLnR4dFVUBQADMZj3VHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIADN9ZEaOfpqWdQAAAIcAAAA5ABgAAAAAAAEAAACkga3BDgB0YWJsZXMv
bW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9idWdzL2J1Zzg5MzE1LXN0ZGVyci50eHRVVAUAAzKY
91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAFd2RGAAAAAAAAAAAAAAAAKAAYAAAAAAAAABAA
7UGVwg4AdGFibGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvbWFydmluL1VUBQADio33VHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADN9ZEZsvEsIcAAAAIEAAABFABgAAAAAAAEAAACkgffC
DgB0YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9tYXJ2aW4vYmFja2dyX2xheWVycy1o
aWRlLXN0ZGVyci50eHRVVAUAAzGY91R1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAId2RGAAAA
AAAAAAAAAAAACwAYAAAAAAAAABAA7UHmww4Ad2ViYXJjaGl2ZS9VVAUAA5CN91R1eAsAAQT1AQAA
BBQAAABQSwECHgMKAAAAAAAId2RGAAAAAAAAAAAAAAAAEwAYAAAAAAAAABAA7UErxA4Ad2ViYXJj
aGl2ZS9sb2FkaW5nL1VUBQADkI33VHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADZ9ZEZZGvy2
4wAAAE4DAAAxABgAAAAAAAEAAACkgXjEDgB3ZWJhcmNoaXZlL2xvYWRpbmcvdmlkZW8taW4td2Vi
YXJjaGl2ZS1zdGRlcnIudHh0VVQFAAM3mPdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAKHdk
RgAAAAAAAAAAAAAAAAkAGAAAAAAAAAAQAO1BxsUOAHdlYmF1ZGlvL1VUBQADzI33VHV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAgAAABZ3ZEb+JzjgNQAAADUAAAArABgAAAAAAAEAAACkgQnGDgB3ZWJh
dWRpby9hdWRpb2J1ZmZlcnNvdXJjZS1lbmRlZC1hY3R1YWwudHh0VVQFAAOrjfdUdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgAFndkRgLjESbcAAAAiwEAACkAGAAAAAAAAQAAAKSBo8YOAHdlYmF1
ZGlvL2F1ZGlvYnVmZmVyc291cmNlLWVuZGVkLWRpZmYudHh0VVQFAAOrjfdUdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAFndkRls2I9lSAAAAXwAAAC0AGAAAAAAAAQAAAKSB4scOAHdlYmF1ZGlv
L2F1ZGlvYnVmZmVyc291cmNlLWVuZGVkLWV4cGVjdGVkLnR4dFVUBQADq433VHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIABZ3ZEbvFhg3tgcAANoYAAAxABgAAAAAAAEAAACkgZvIDgB3ZWJhdWRp
by9hdWRpb2J1ZmZlcnNvdXJjZS1lbmRlZC1wcmV0dHktZGlmZi5odG1sVVQFAAOrjfdUdXgLAAEE
9QEAAAQUAAAAUEsBAh4DCgACAAAAKHdkRv4nOOA1AAAANQAAACQAGAAAAAAAAQAAAKSBvNAOAHdl
YmF1ZGlvL29zY2lsbGF0b3ItZW5kZWQtYWN0dWFsLnR4dFVUBQADzI33VHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIACh3ZEY7AYpq0wAAAHMBAAAiABgAAAAAAAEAAACkgU/RDgB3ZWJhdWRpby9v
c2NpbGxhdG9yLWVuZGVkLWRpZmYudHh0VVQFAAPMjfdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgAKHdkRqrMHENNAAAAVQAAACYAGAAAAAAAAQAAAKSBftIOAHdlYmF1ZGlvL29zY2lsbGF0b3It
ZW5kZWQtZXhwZWN0ZWQudHh0VVQFAAPMjfdUdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAKHdk
RvwIecqtBwAAyRgAACoAGAAAAAAAAQAAAKSBK9MOAHdlYmF1ZGlvL29zY2lsbGF0b3ItZW5kZWQt
cHJldHR5LWRpZmYuaHRtbFVUBQADzI33VHV4CwABBPUBAAAEFAAAAFBLBQYAAAAAIwMjAxV/AQA8
2w4AAAA=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247934</attachid>
            <date>2015-03-04 23:44:01 -0800</date>
            <delta_ts>2015-03-10 15:03:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150305094340.patch</filename>
            <type>text/plain</type>
            <size>80464</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwODE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
MmE2NGQxNDFjNmU5YjcyMjI4MjZlNmEzNDE3YTM3OGY5NTAzZWNjLi5jNWZjYTA4NjM2YWI5ODQx
NDU2OTM5MTZmZWY3MmEwMDViNmMyYjY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3NyBAQAorMjAxNS0wMi0yNyAgQWxleGFuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21h
aWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3lu
dGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4
NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRl
ZCBzdXBwb3J0IG9mIEVTNiBhcnJvdyBmdW5jdGlvbi4gSW4gcGF0Y2ggd2VyZSBpbXBsZW1lbnRl
ZCB0aGUgc2ltcGxlc3QgY2FzZXM6CisgICAgICAgIDEgbm8gcGFyYW10ZXJzICAgICAgICgpID0+
IDEwICsgMjAKKyAgICAgICAgMiBvbmUgcGFyYW1ldGVyICAgICAgIHggPT4geCArIDIwCisgICAg
ICAgIDMgbXVsdGlwbGUgcGFyYW10ZXJzICh4LCB5KSA9PiB4ICsgeQorICAgICAgICA0IGZhdCBh
cnJvdyBmdW5jdGlvbiB4ID0+IHsgcmV0dXJuIHgqMTA7fQorCisgICAgICAgICogQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxh
ZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgorCisg
ICAgICAgICogcGFyc2VyL0FTVEJ1aWxkZXIuaDoKKyAgICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6
Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIpOgorICAgICAgICBBZGRlZCBmdW5jdGlvbiB0aGF0IGNy
ZWF0ZSBleHByZXNpb24gZm9yIGFycm93IGZ1bmN0aW9uCisgICAgICAgICogcGFyc2VyL0xleGVy
LmNwcDoKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24pOgorICAgICAg
ICBNZXRob2QgdGhhdCBhbGxvdyB0byBzZXQgY3VycmVjdCBwb3NpdGlvbiBmb3IgdGhlIHRvY2tl
biBvdXRzaWRlIHRoZSBMZXhlciBjbGFzCisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpsZXgpOgor
ICAgICAgICBNZXRob2QgY2hhbmdlZCB0byBzdXBwb3J0IG9mIHRoZSBhcnJvdyBmdW5jdGlvbgor
ICAgICAgICAqIHBhcnNlci9MZXhlci5oOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6c2V0VG9r
ZW5Qb3NpdGlvbik6CisgICAgICAgIERlY2xhcmF0aW9uIG9mIHRoZSBtZXRob2QgdGhhdCBhbGxv
dyB0byBzZXQgY3VycmVjdCBwb3NpdGlvbiBmb3IgdGhlIHRvY2tlbiBvdXRzaWRlIHRoZSBMZXhl
ciBjbGFzcyAKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFy
c2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMpOgorICAgICAgICBNb2RpZmllZCBt
ZXRob2QgdG8gc3VwcG9ydCB0d28gbWV0aG9kcyBvZiB0aGUgcGFyc2UganMgZnVuY3Rpb24uIFRo
ZSBmaXJzdCB0eXBlIGlzIHN0YW5kYXJkIGZ1bmN0aW9uIGFuZCBuZXcgdHlwZSBpcyBhcnJvdyBm
dW5jdGlvbi4KKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4
cHJlc3Npb24pOgorICAgICAgICBNb2RpZmllZCBtZXRob2QgdG8gc3VwcG9ydCB0d28gbWV0aG9k
cyBvZiB0aGUgcGFyc2UganMgZnVuY3Rpb24uIFRoZSBmaXJzdCB0eXBlIGlzIHN0YW5kYXJkIGZ1
bmN0aW9uIGFuZCBuZXcgdHlwZSBpcyBhcnJvdyBmdW5jdGlvbi4KKyAgICAgICAgKEpTQzo6UGFy
c2VyOjopOkFkZGVkIG5ldyBzdHJ1Y3R1cmUgdG8gc3VwcG9yZCBkaWZmZXJlbnQgdHlwZSBvZiBw
YXJzaW5nIHRoZSBmdW5jdGlvbgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU291cmNlRWxl
bWVudCk6IEFkZGVkIEZ1bmN0aW9uUGFyc2VUeXBlIGFzIHBhcmFtdGVyIGluIG1ldGhvZAorICAg
ICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KTogQWRkZWQgRnVuY3Rpb25QYXJzZVR5
cGUgYXMgcGFyYW10ZXIgaW4gbWV0aG9kLiBBZGRlZCBzZXBhcmF0ZWQgbG9naWMgZm9yIGVuZGlu
ZyAKKyAgICAgICAgdGhlIHN0YXRlbWVudCBpbiBjYXNlIG9mIHRoZSBwYXJzaW5nIGluIGFycm93
IGZ1bmN0aW9uIHR5cGUuIEFkZGVkIGxvZ2ljIHRvIHN1cHBvcnQgcGFyc2luZyB0aGUgc291cmNl
IGNvZGUgdGhhdCBmb2xsb3cgYWZ0ZSA9PiBzeW1ib2wKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpw
YXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKSBNb2RpZmllZCBtZXRob2QgdG8gc3VwcG9ydCBwYXJz
aW5nIHRoZSBhcnJvdyBmdW5jdGlvbgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlUHJpbWFy
eUV4cHJlc3Npb24pIE1vZGlmaWVkIG1ldGhvZCB0byBzdXBwb3J0IGNhc2Ugd2hlbiBhZnRlciBJ
REVOVCBpcyBnb2luZyB0aGUgYXJyb3cgZnVuY3Rpb24KKyAgICAgICAgKEpTQzo6UGFyc2VyOjpw
YXJzZUFycm93RXhwcmVzc2lvbik6IEFkZGVkIG1ldGhvZCBkZWNsYXJhdGlvbiB0aGF0IGlzIHJl
c3BvbnNpYmxlIHRvIHBhcnNlIGFycm93IGV4cHJlc3Npb24uCisgICAgICAgIChKU0M6OlBhcnNl
cjo6c2V0RW5kT2ZTdGF0ZW1lbnQpOiBBZGRlZCBtZXRob2QgdGhhdCB1c2VkIHRvIHNldCBjb3Jy
ZWN0IHBvc2l0aW9uIG9mIHRoZSBsZXhlcgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJy
b3dGdW5jdGlvbldyYXBwZXIpOiBBZGRlZCBtZXRob2QgdGhhdCBpcyBzdGFydGluZyBwb2ludCBp
biBwYXJzaW5nIG9mIHRoZSBhcnJvdyBmdW5jdGlvbgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBh
cnNlQXJyb3dGdW5jdGlvbkluZm8pOiBBZGRlZCBtZXRob2QgdGhhdCBpcyB1c2VkIHRvIHBhcnNl
IGZ1bmN0aW9uIHBhcmFtdGVycy4gQ2xvc2UgdG8gcGFyc2VGdW5jdGlvbkluZm8uIAorICAgICAg
ICBXYXMgbWFkZSBhcyB0aGUgc2VwYXJldGUgbWV0aG9kIHRvIHByZXZlbnQgcG9sbHV0aW9uIG9m
IHRoZSBsb2dpYyBwYXJzaW5nIHRoZSBzdGFuZGVyIGZ1bmN0aW9uLiAgCisgICAgICAgIENhbiBi
ZSBtZXJnZSB3aXRoIHBhcnNlRnVuY3Rpb25JbmZvIGFmdGVyIGFwcHJvdmluZyB0aGUgYXJyb3cg
ZnVuY3Rpb24gcGF0Y2gKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25C
b2R5KTpBZGRlZCBtZXRob2QgdGhhdCBpcyB1c2VkIHRvIHBhcnNlIGZ1bmN0aW9uIGJvZHkuIENs
b3NlIHRvIHBhcnNlRnVuY3Rpb25JbmZvLiAgICAgCisgICAgICAgIFdhcyBtYWRlIGFzIHRoZSBz
ZXBhcmV0ZSBtZXRob2QgdG8gcHJldmVudCBwb2xsdXRpb24gb2YgdGhlIGxvZ2ljIHBhcnNpbmcg
dGhlIHN0YW5kZXIgZnVuY3Rpb24uCisgICAgICAgIENhbiBiZSBtZXJnZSB3aXRoIHBhcnNlRnVu
Y3Rpb25JbmZvIGFmdGVyIGFwcHJvdmluZyB0aGUgYXJyb3cgZnVuY3Rpb24gcGF0Y2ggICAgICAg
IAorICAgICAgICAqIHBhcnNlci9QYXJzZXIuaDoKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpGdW5j
dGlvblBhcnNlVHlwZSk6QWRkZWQgbmV3IHN0cnVjdHVyZSB0byBzdXBwb3JkIGRpZmZlcmVudCB0
eXBlIG9mIHBhcnNpbmcgdGhlIGZ1bmN0aW9uCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VT
b3VyY2VFbGVtZW50KTogQWRkZWQgRnVuY3Rpb25QYXJzZVR5cGUgYXMgcGFyYW10ZXIgaW4gbWV0
aG9kCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VTdGF0ZW1lbnQpOiBBZGRlZCBGdW5jdGlv
blBhcnNlVHlwZSBhcyBwYXJhbXRlciBpbiBtZXRob2QKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpw
YXJzZUFycm93RXhwcmVzc2lvbik6IEFkZGVkIG1ldGhvZCBkZWNsYXJhdGlvbiB0aGF0IGlzIHJl
c3BvbnNpYmxlIHRvIHBhcnNlIGFycm93IGV4cHJlc3Npb24KKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpzZXRFbmRPZlN0YXRlbWVudCk6IEFkZGVkIG1ldGhvZCB0aGF0IHVzZWQgdG8gc2V0IGNvcnJl
Y3QgcG9zaXRpb24gb2YgdGhlIGxleGVyCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJv
d0Z1bmN0aW9uV3JhcHBlcik6IEFkZGVkIG1ldGhvZCB0aGF0IGlzIHN0YXJ0aW5nIHBvaW50IGlu
IHBhcnNpbmcgb2YgdGhlIGFycm93IGZ1bmN0aW9uCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFy
c2VBcnJvd0Z1bmN0aW9uSW5mbyk6IEFkZGVkIG1ldGhvZCB0aGF0IGlzIHVzZWQgdG8gcGFyc2Ug
ZnVuY3Rpb24gcGFyYW10ZXJzLiBDbG9zZSB0byBwYXJzZUZ1bmN0aW9uSW5mby4KKyAgICAgICAg
V2FzIG1hZGUgYXMgdGhlIHNlcGFyZXRlIG1ldGhvZCB0byBwcmV2ZW50IHBvbGx1dGlvbiBvZiB0
aGUgbG9naWMgcGFyc2luZyB0aGUgc3RhbmRlciBmdW5jdGlvbi4gCisgICAgICAgIENhbiBiZSBt
ZXJnZSB3aXRoIHBhcnNlRnVuY3Rpb25JbmZvIGFmdGVyIGFwcHJvdmluZyB0aGUgYXJyb3cgZnVu
Y3Rpb24gcGF0Y2ggCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uQm9k
eSk6QWRkZWQgbWV0aG9kIHRoYXQgaXMgdXNlZCB0byBwYXJzZSBmdW5jdGlvbiBib2R5LiBDbG9z
ZSB0byBwYXJzZUZ1bmN0aW9uSW5mby4gCisgICAgICAgIFdhcyBtYWRlIGFzIHRoZSBzZXBhcmV0
ZSBtZXRob2QgdG8gcHJldmVudCBwb2xsdXRpb24gb2YgdGhlIGxvZ2ljIHBhcnNpbmcgdGhlIHN0
YW5kZXIgZnVuY3Rpb24uICAKKyAgICAgICAgQ2FuIGJlIG1lcmdlIHdpdGggcGFyc2VGdW5jdGlv
bkluZm8gYWZ0ZXIgYXBwcm92aW5nIHRoZSBhcnJvdyBmdW5jdGlvbiBwYXRjaAorICAgICAgICAq
IHBhcnNlci9QYXJzZXJUb2tlbnMuaDoKKyAgICAgICAgQWRkZWQgbmV3IEFSUk9XRlVOQ1RJT04g
dG9ja2VuCisgICAgICAgICogcGFyc2VyL1NvdXJjZUNvZGUuaDoKKyAgICAgICAgKEpTQzo6U291
cmNlQ29kZTo6c3ViQXJyb3dFeHByZXNzaW9uKTpBZGRlZCBmdW5jdGlvbiB0aGF0IGlzIHVzZWQg
Zm9yIGNyZWF0aW5nIHNvdXJjZSBjb2RlIG9iamVjdC4gTG9naWMgdGhlIHNhbWUKKyAgICAgICAg
YXMgaW4gc3ViRXhwcmVzaW9uIGZ1bmN0aW9uIGV4Y2VwdCBkaWZmZXJlbnQgY2hlY2sgZm9yIHN0
YXJ0IGFuZCBlbmRpbmcgb2YgdGhlIGV4cHJlc3Npb24KKyAgICAgICAgKiBwYXJzZXIvU3ludGF4
Q2hlY2tlci5oOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVhdGVBcnJvd0Z1bmN0
aW9uRXhwcik6IEFkZGVkIGRlZmVuaXRpb24gb2YgdGhlIGNyZWF0ZUFycm93RnVuY3Rpb25FeHBy
IGNsb3NlIHRvIHRoZSBjcmVhdGVGdW5jdGlvbkV4cHIKKyAgICAgICAgKiBwYXJzZXIvU291cmNl
UHJvdmlkZXJDYWNoZUl0ZW06CisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVt
Q3JlYXRpb25QYXJhbWV0ZXJzKTogQWRkZWQgYWRkaXRpb25hbCBwcm9wZXJ0aWVzIHRvIGNvcnJl
Y3QgY2FjaGUgdGhlIGFycm93IGZ1bmN0aW9uCisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVy
Q2FjaGVJdGVtKTogQWRkZWQgYWRkaXRpb25hbCBwcm9wZXJ0aWVzIHRvIGNvcnJlY3QgY2FjaGUg
dGhlIGFycm93IGZ1bmN0aW9uCisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVt
OjplbmRBcnJvd0Z1bmN0aW9uVG9rZW4pOiBBZGRlZCBmdW5jdGlvbiB0byBzZXQgY29ycmVjdCB0
b2NrZW4gYXQgdGhlIGVuZCBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gaW4gY2FzZSBvZiBjYWNoZQor
CisKKwogMjAxNS0wMi0yNyAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4K
IAogICAgICAgICBbSlNDXSBVc2UgdGhlIHdheSBudW1iZXIgY29uc3RhbnRzIGFyZSB3cml0dGVu
IHRvIGhlbHAgdHlwZSBzcGVjdWxhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGRiZmY2NjJiYWYxNWM2NDgx
OGMzYzE5ODhiYmE4MDUyN2VmMTM3NjMuLjhlZmQxYTczNmRiZmQ0ZWNmYTZhOTJkNjgyYjcxMzAy
NmQwOGMzN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxNS0wMi0yNyAgU2thY2hr
b3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxl
bWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmZWF0dXJlIGZsYWcgRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rpb24KKyAgICAgICAgQWRkZWQgdGVzdCBm
b3IgYXJyb3cgZnVuY3Rpb24KKworICAgICAgICBUZXN0OiBqcy9hcnJvd2Z1bmN0aW9uLmh0bWwK
KyAgICAgICAgICAgICAganMvc2NyaXB0LXRlc3RzL2Fycm93ZnVuY3Rpb24uanMKKyAgICAgICAg
ICAgICAganMvYXJyb3dmdW5jdGlvbi1leHBlY3RlZC50eHQKKworICAgICAgICAqIENvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1LTAyLTI3ICBIdW5zZW9wIEpl
b25nICA8aHM4NS5qZW9uZ0BzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXVtHVEtdIEZpeCBi
dWlsZCBicmVhayBhZnRlciByMTgwNzkwLDE4MDc5OApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDE3NmQw
ZjM5ZGZkYzZlYzk4N2YzOWU1NThkOWQxNGRjMjdiNjU5N2IuLjY0MTU1YjZiZWYwZWJhYjZiNDBk
YzMzMmY0MzIxYWY3YWU1NjBmZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAxNS0wMi0yNyAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisg
ICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmZWF0dXJlIGZs
YWcgRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rpb24KKwor
ICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1
LTAyLTI2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1l
IERhdGFiYXNlTWFuYWdlcjo6bWFuYWdlcigpIHRvIERhdGFiYXNlTWFuYWdlcjo6c2luZ2xldG9u
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwppbmRleCAzNWU4NGZjNzhjYTg5ZmExZTAwZGRkMWNjYWE3MzRhM2M2ZDg4ZDNl
Li41NzUwOWRkZDViZTRkM2IwN2E5NTdkN2FmMjNjZDA4ZTEyNWRmNTk5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTUtMDItMjcgIFNrYWNoa292IEFsZXhhbmRyICA8Z3NrYWNoa292
QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9u
IHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTQwODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggZm9yIGFy
cm93IGZ1bmN0aW9uCisKKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnOgorCiAyMDE1LTAyLTI3ICBIdW5zZW9wIEplb25nICA8aHM4NS5qZW9uZ0BzYW1z
dW5nLmNvbT4KIAogICAgICAgICBbRUZMXVtHVEtdIEZpeCBidWlsZCBicmVhayBhZnRlciByMTgw
NzkwLDE4MDc5OCAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA4ZmMyNDg3ZjZhZWUwZjcz
OWNmZDNjMGE4NGFiYzc5MTU5NGE1ZWUzLi5hMmU3M2ExZjAzODc3MmZiMjIwZjMyNGZkYzliNTUy
NGI4ZmE1MTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00NSw2ICs0NSw3IEBAIEVO
QUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJP
WFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
Tkc7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhU
ID0gOwogRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSyA9IEVOQUJMRV9DU1NfQk9YX0RF
Q09SQVRJT05fQlJFQUs7CkBAIC0yMTAsNCArMjExLDQgQEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9
IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFU
RURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JF
TkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVf
QVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxF
X0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRF
UklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJ
T04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMp
ICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVO
QUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9D
VVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVf
REFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFC
TEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNB
VEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVS
X1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05U
Uk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gp
ICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVS
X0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQo
RU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05D
VVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikg
JChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElN
SVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkg
JChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NP
TVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01F
RElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9T
TkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChF
TkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RG
X0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxF
X1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJ
TElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5B
QkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01P
REVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJM
RV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpF
UykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxF
X1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9M
TElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFC
TEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVf
M0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVO
QUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChF
TkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19D
T01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
R1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VM
RUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAk
KEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkp
ICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBP
UlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRF
TVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxf
MikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQo
RU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVO
QUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChF
TkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9U
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NT
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5B
QkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwp
ICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAk
KEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
TE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5B
QkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1Rf
QU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVf
UkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFC
TEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQ
VE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5B
QkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5U
KSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFC
TEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykg
JChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChF
TkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChF
TkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9U
SU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChF
TkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVO
QUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRB
VElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNU
QnVpbGRlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKaW5k
ZXggZmE2NDk1MWE5ZGYyYjZiNjQ1MDVmYTFlYTM3YTEwMDRiOWE4ZDk5Ni4uNGYzMmNiMjNmYTIz
ZTM0ZDk1YWYxMDcwY2IxZjY5MzY3NjUwY2NmOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9BU1RCdWlsZGVyLmgKQEAgLTMwMyw2ICszMDMsMjAgQEAgcHVibGljOgogICAgICAgICBy
ZXR1cm4gbmV3IChtX3BhcnNlckFyZW5hKSBGdW5jdGlvbkJvZHlOb2RlKG1fcGFyc2VyQXJlbmEs
IHN0YXJ0TG9jYXRpb24sIGVuZExvY2F0aW9uLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBpblN0
cmljdENvbnRleHQpOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCisgICAgRXhwcmVzc2lvbk5vZGUqIGNyZWF0ZUFycm93RnVuY3Rpb25FeHByKGNvbnN0IEpT
VG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RCdWls
ZGVyPiYgaW5mbywgdW5zaWduZWQgYXJyb3dGdW5jdGlvbktleXdvcmRTdGFydCkKKyAgICB7Cisg
ICAgICAgIFNvdXJjZUNvZGUgc291cmNlID0gaW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUgPT0g
QXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uCisgICAgICAgID8gbV9zb3VyY2VDb2RlLT5zdWJB
cnJvd0V4cHJlc3Npb24oaW5mby5hcnJvd0Z1bmN0aW9uT2Zmc2V0LCBpbmZvLmNsb3NlQnJhY2VP
ZmZzZXQsIGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1bW4pCisgICAgICAg
IDogbV9zb3VyY2VDb2RlLT5zdWJFeHByZXNzaW9uKGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBpbmZv
LmNsb3NlQnJhY2VPZmZzZXQsIGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1
bW4pOworICAgICAgICAKKyAgICAgICAgRnVuY0V4cHJOb2RlKiByZXN1bHQgPSBuZXcgKG1fcGFy
c2VyQXJlbmEpIEZ1bmNFeHByTm9kZShsb2NhdGlvbiwgKmluZm8ubmFtZSwgaW5mby5ib2R5LCBz
b3VyY2UsIGluZm8ucGFyYW1ldGVycyk7CisgICAgICAgIGluZm8uYm9keS0+c2V0TG9jKGluZm8u
Ym9keVN0YXJ0TGluZSwgaW5mby5ib2R5RW5kTGluZSwgbG9jYXRpb24uc3RhcnRPZmZzZXQsIGxv
Y2F0aW9uLmxpbmVTdGFydE9mZnNldCk7CisgICAgICAgIGluZm8uYm9keS0+c2V0RnVuY3Rpb25L
ZXl3b3JkU3RhcnQoYXJyb3dGdW5jdGlvbktleXdvcmRTdGFydCk7CisgICAgICAgIHJldHVybiBy
ZXN1bHQ7CisgICAgfQorI2VuZGlmCisKICAgICB2b2lkIHNldEZ1bmN0aW9uTmFtZVN0YXJ0KEZ1
bmN0aW9uQm9keU5vZGUqIGJvZHksIGludCBmdW5jdGlvbk5hbWVTdGFydCkKICAgICB7CiAgICAg
ICAgIGJvZHktPnNldEZ1bmN0aW9uTmFtZVN0YXJ0KGZ1bmN0aW9uTmFtZVN0YXJ0KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKaW5kZXggMWVjNjdkZjFiOGU4YzBkNzMxOTQ5
YjEyNzJhOWJjNzVmZmY4MDE2Zi4uOGMzZWExYmY3MDk3MzNlYTgxMTg3MjA0YjQ3YjQwNjkwZTAz
YjFjMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKQEAgLTEzOTMsNiAr
MTM5MywxOCBAQCBib29sIExleGVyPFQ+OjpuZXh0VG9rZW5Jc0NvbG9uKCkKICAgICByZXR1cm4g
Y29kZSA8IG1fY29kZUVuZCAmJiAqY29kZSA9PSAnOic7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIFQ+Cit2b2lkIExleGVyPFQ+
OjpzZXRUb2tlblBvc2l0aW9uKEpTVG9rZW4qIHRva2VuUmVjb3JkKQoreworICAgIEpTVG9rZW5E
YXRhKiB0b2tlbkRhdGEgPSAmdG9rZW5SZWNvcmQtPm1fZGF0YTsKKyAgICB0b2tlbkRhdGEtPmxp
bmUgPSBsaW5lTnVtYmVyKCk7CisgICAgdG9rZW5EYXRhLT5vZmZzZXQgPSBjdXJyZW50T2Zmc2V0
KCk7CisgICAgdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zm
c2V0KCk7CisgICAgQVNTRVJUKHRva2VuRGF0YS0+b2Zmc2V0ID49IHRva2VuRGF0YS0+bGluZVN0
YXJ0T2Zmc2V0KTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KIEpTVG9rZW5U
eXBlIExleGVyPFQ+OjpsZXgoSlNUb2tlbiogdG9rZW5SZWNvcmQsIHVuc2lnbmVkIGxleGVyRmxh
Z3MsIGJvb2wgc3RyaWN0TW9kZSkKIHsKQEAgLTE0NTYsNyArMTQ2OCwxMiBAQCBzdGFydDoKICAg
ICAgICAgfQogICAgICAgICB0b2tlbiA9IEdUOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIENo
YXJhY3RlckVxdWFsOgorICAgIGNhc2UgQ2hhcmFjdGVyRXF1YWw6IHsKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB1aW50MzJfdCBzYXZlZGxpbmVOdW1iZXIg
PSB0b2tlbkRhdGEtPmxpbmU7CisgICAgICAgIHVpbnQzMl90IHNhdmVkT2Zmc2V0ID0gY3VycmVu
dE9mZnNldCgpOworICAgICAgICB1aW50MzJfdCBzYXZlZExpbmVTdGFydE9mZnNldCA9IGN1cnJl
bnRMaW5lU3RhcnRPZmZzZXQoKTsKKyNlbmRpZgogICAgICAgICBzaGlmdCgpOwogICAgICAgICBp
ZiAobV9jdXJyZW50ID09ICc9JykgewogICAgICAgICAgICAgc2hpZnQoKTsKQEAgLTE0NjgsOCAr
MTQ4NSwyMyBAQCBzdGFydDoKICAgICAgICAgICAgIHRva2VuID0gRVFFUTsKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICB9CisgICAgICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJz4nKSB7CisgICAgICAgICAgICBz
aGlmdCgpOworICAgICAgICAgICAgdG9rZW4gPSBBUlJPV0ZVTkNUSU9OOworICAgICAgICAgICAg
CisgICAgICAgICAgICB0b2tlbkRhdGEtPmxpbmUgPSBzYXZlZGxpbmVOdW1iZXI7CisgICAgICAg
ICAgICB0b2tlbkRhdGEtPm9mZnNldCA9IHNhdmVkT2Zmc2V0OworICAgICAgICAgICAgdG9rZW5E
YXRhLT5saW5lU3RhcnRPZmZzZXQgPSBzYXZlZExpbmVTdGFydE9mZnNldDsKKyAgICAgICAgICAg
IAorICAgICAgICAgICAgQVNTRVJUKHRva2VuRGF0YS0+b2Zmc2V0ID49IHRva2VuRGF0YS0+bGlu
ZVN0YXJ0T2Zmc2V0KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAg
ICAgICAgdG9rZW4gPSBFUVVBTDsKICAgICAgICAgYnJlYWs7CisgICAgfQogICAgIGNhc2UgQ2hh
cmFjdGVyTGVzczoKICAgICAgICAgc2hpZnQoKTsKICAgICAgICAgaWYgKG1fY3VycmVudCA9PSAn
IScgJiYgcGVlaygxKSA9PSAnLScgJiYgcGVlaygyKSA9PSAnLScpIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTGV4ZXIuaAppbmRleCA4MWI0MzM0ZDg0OWQ4M2U3NWZhZGFmZWY1NDIwODQxNmE4
ZDE2ZDY2Li5lNjFmM2IyNDRiMzFkMmFmMjZhMTNjYTUyOWE2MmU3NTZiOWM4NGMwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCkBAIC04NSw2ICs4NSw5IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldElzUmVwYXJzaW5nKCkgeyBtX2lzUmVwYXJzaW5nID0gdHJ1ZTsgfQogICAgIGJv
b2wgaXNSZXBhcnNpbmcoKSBjb25zdCB7IHJldHVybiBtX2lzUmVwYXJzaW5nOyB9CiAKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHZvaWQgc2V0VG9rZW5Qb3NpdGlv
bihKU1Rva2VuKiB0b2tlblJlY29yZCk7CisjZW5kaWYKICAgICBKU1Rva2VuVHlwZSBsZXgoSlNU
b2tlbiosIHVuc2lnbmVkLCBib29sIHN0cmljdE1vZGUpOwogICAgIGJvb2wgbmV4dFRva2VuSXND
b2xvbigpOwogICAgIGludCBsaW5lTnVtYmVyKCkgY29uc3QgeyByZXR1cm4gbV9saW5lTnVtYmVy
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKaW5kZXggNjMxOGZkNjM2
YmViM2U3YjkxZDI4ZjY0OTZhZWQ5YWY3YmQ4NzE4Yy4uMmZkZmUwMTQ5YzZjMWNlOTdkZmY4OGVi
YTk5ZDI5ZDE4MjI1NmNmMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNw
cApAQCAtMzIyLDkgKzMyMiwxMyBAQCBib29sIFBhcnNlcjxMZXhlclR5cGU+OjphbGxvd0F1dG9t
YXRpY1NlbWljb2xvbigpCiB7CiAgICAgcmV0dXJuIG1hdGNoKENMT1NFQlJBQ0UpIHx8IG1hdGNo
KEVPRlRPSykgfHwgbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKTsKIH0KLQorI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgor
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJj
ZUVsZW1lbnRzTW9kZSBtb2RlLCBGdW5jdGlvblBhcnNlVHlwZSB0eXBlKQorI2Vsc2UKIHRlbXBs
YXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3VyY2VFbGVtZW50cyhU
cmVlQnVpbGRlciYgY29udGV4dCwgU291cmNlRWxlbWVudHNNb2RlIG1vZGUpCisjZW5kaWYKIHsK
ICAgICBjb25zdCB1bnNpZ25lZCBsZW5ndGhPZlVzZVN0cmljdExpdGVyYWwgPSAxMjsgLy8gInVz
ZSBzdHJpY3QiLmxlbmd0aAogICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzb3VyY2VFbGVtZW50cyA9
IGNvbnRleHQuY3JlYXRlU291cmNlRWxlbWVudHMoKTsKQEAgLTMzMyw3ICszMzcsMTEgQEAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlU291cmNlRWwKICAgICB1bnNpZ25lZCBkaXJlY3RpdmVMaXRlcmFsTGVuZ3Ro
ID0gMDsKICAgICBhdXRvIHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwogICAgIGJvb2wg
aGFzU2V0U3RyaWN0ID0gZmFsc2U7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICB3aGlsZSAoVHJlZVN0YXRlbWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVudChj
b250ZXh0LCBkaXJlY3RpdmUsICZkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoLCB0eXBlKSkgeworI2Vs
c2UKICAgICB3aGlsZSAoVHJlZVN0YXRlbWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVudChj
b250ZXh0LCBkaXJlY3RpdmUsICZkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoKSkgeworI2VuZGlmICAg
ICAgCiAgICAgICAgIGlmIChtb2RlID09IENoZWNrRm9yU3RyaWN0TW9kZSAmJiAhc2Vlbk5vbkRp
cmVjdGl2ZSkgewogICAgICAgICAgICAgaWYgKGRpcmVjdGl2ZSkgewogICAgICAgICAgICAgICAg
IC8vICJ1c2Ugc3RyaWN0IiBtdXN0IGJlIHRoZSBleGFjdCBsaXRlcmFsIHdpdGhvdXQgZXNjYXBl
IHNlcXVlbmNlcyBvciBsaW5lIGNvbnRpbnVhdGlvbi4KQEAgLTU3MSw2ICs1NzksMzIgQEAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIFBhcnNl
cjxMZXhlclR5cGU+Ojp0cnlQYXIKICAgICByZXR1cm4gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRl
cm4oY29udGV4dCwgRGVjb25zdHJ1Y3RUb0V4cHJlc3Npb25zKTsKIH0KIAorI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgor
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7
CisgICAgQVNTRVJUKG1hdGNoKEFSUk9XRlVOQ1RJT04pKTsKKworICAgIEpTVG9rZW5Mb2NhdGlv
biBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgIHNlbWFudGljRmFpbElmRmFsc2UoY3Vy
cmVudFNjb3BlKCktPmlzRnVuY3Rpb24oKSwgIlJldHVybiBzdGF0ZW1lbnRzIGFyZSBvbmx5IHZh
bGlkIGluc2lkZSBhcnJvdyBmdW5jdGlvbnMiKTsKKyAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9
IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgIEpTVGV4dFBvc2l0aW9uIGVuZCA9IHRva2VuRW5k
UG9zaXRpb24oKTsKKworICAgIG5leHQoKTsKKyAgICBUcmVlRXhwcmVzc2lvbiBleHByID0gcGFy
c2VBcnJvd0V4cHJlc3Npb24oY29udGV4dCk7CisgICAgZmFpbElmRmFsc2UoZXhwciwgIkNhbm5v
dCBwYXJzZSB0aGUgYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgIGVuZCA9IGxhc3RU
b2tlbkVuZFBvc2l0aW9uKCk7CisKKyAgICBib29sIGNvcnJlY0Fycm93RmluaXNoID0gbWF0Y2go
U0VNSUNPTE9OKSB8fCBtYXRjaChDT01NQSkgfHwgbWF0Y2goQ0xPU0VQQVJFTikgfHwgbWF0Y2go
Q0xPU0VCUkFDRSkgfHwgbWF0Y2goQ0xPU0VCUkFDS0VUKSB8fCBtYXRjaChFT0ZUT0spOworICAg
IGZhaWxJZkZhbHNlKGNvcnJlY0Fycm93RmluaXNoLCAiRXhwZWN0ZWQgYSAnOycsICddJywgJ30n
LCAnKScsIG9yICcsJyBmb2xsb3dpbmcgYSBhcnJvdyBmdW5jdGlvbiBzdGF0ZW1lbnQiKTsKKwor
ICAgIGVuZCA9IHRva2VuRW5kUG9zaXRpb24oKTsKKyAgICBzZXRFbmRPZlN0YXRlbWVudCgpOwor
CisgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUmV0dXJuU3RhdGVtZW50KGxvY2F0aW9uLCBleHBy
LCBzdGFydCwgZW5kKTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBl
PgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJu
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZURlY29uc3RydWN0aW9uUGF0dGVybihUcmVlQnVpbGRl
ciYgY29udGV4dCwgRGVjb25zdHJ1Y3Rpb25LaW5kIGtpbmQsIGludCBkZXB0aCkKIHsKQEAgLTEx
MzgsOCArMTE3MiwxMyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1l
bnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQmxvY2tTdGF0ZW1lbgogICAgIHJldHVybiByZXN1
bHQ7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUg
PHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0
YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNv
bnRleHQsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVM
aXRlcmFsTGVuZ3RoLCBGdW5jdGlvblBhcnNlVHlwZSB0eXBlKQorI2Vsc2UKIHRlbXBsYXRlIDx0
eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0
ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250
ZXh0LCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0
ZXJhbExlbmd0aCkKKyNlbmRpZgogewogICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgm
bV9zdGF0ZW1lbnREZXB0aCk7CiAgICAgbV9zdGF0ZW1lbnREZXB0aCsrOwpAQCAtMTE0OCw2ICsx
MTg3LDI4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgZmFpbElmU3RhY2tPdmVyZmxv
dygpOwogICAgIFRyZWVTdGF0ZW1lbnQgcmVzdWx0ID0gMDsKICAgICBib29sIHNob3VsZFNldEVu
ZE9mZnNldCA9IHRydWU7CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIGJvb2wgaGFuZGxlZCA9IGZhbHNlOworICAgIGlmICh0eXBlID09IEFycm93RnVuY3Rpb25Q
YXJzZVR5cGUpIHsKKyAgICAgICAgc3dpdGNoIChtX3Rva2VuLm1fdHlwZSkgeworICAgICAgICBj
YXNlIENMT1NFUEFSRU46CisgICAgICAgIGNhc2UgQ0xPU0VCUkFDS0VUOgorICAgICAgICBjYXNl
IENPTU1BOgorICAgICAgICBjYXNlIFNFTUlDT0xPTjogeworICAgICAgICAgICAgcmVzdWx0ID0g
MDsKKyAgICAgICAgICAgIGhhbmRsZWQgPSB0cnVlOworICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIH0KKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisK
KyAgICAgICAgaWYgKGhhbmRsZWQpCisgICAgICAgICAgICBnb3RvIGVuZFN0YXRlbWVuZXQ7Cit9
CisjZW5kaWYKKwogICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKICAgICBjYXNlIE9QRU5C
UkFDRToKICAgICAgICAgcmVzdWx0ID0gcGFyc2VCbG9ja1N0YXRlbWVudChjb250ZXh0KTsKQEAg
LTExOTMsNiArMTI1NCwxMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0
ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAgIGNhc2UgQlJF
QUs6CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlQnJlYWtTdGF0ZW1lbnQoY29udGV4dCk7CiAgICAg
ICAgIGJyZWFrOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2Fz
ZSBBUlJPV0ZVTkNUSU9OOgorICAgICAgICByZXN1bHQgPSBwYXJzZUFycm93RnVuY3Rpb25TdGF0
ZW1lbnQoY29udGV4dCk7CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgY2FzZSBSRVRVUk46
CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlUmV0dXJuU3RhdGVtZW50KGNvbnRleHQpOwogICAgICAg
ICBicmVhazsKQEAgLTEyMzQsNiArMTMwMCw4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAg
ICAgICAgIGJyZWFrOwogICAgIH0KIAorZW5kU3RhdGVtZW5ldDoKKwogICAgIGlmIChyZXN1bHQg
JiYgc2hvdWxkU2V0RW5kT2Zmc2V0KQogICAgICAgICBjb250ZXh0LnNldEVuZE9mZnNldChyZXN1
bHQsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ub2Zmc2V0KTsKICAgICByZXR1cm4gcmVzdWx0OwpA
QCAtMTI1NCw2ICsxMzIyLDIzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUZv
cm1hbFBhcmFtZXRlckxpc3QgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRm9yCiAgICAgcmV0dXJu
IGxpc3Q7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxh
dGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZUZ1bmN0aW9uQm9keSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uQm9keShU
cmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBKU1Rva2VuTG9jYXRpb24gc3RhcnRMb2NhdGlv
bih0b2tlbkxvY2F0aW9uKCkpOworICAgIHVuc2lnbmVkIHN0YXJ0Q29sdW1uID0gdG9rZW5Db2x1
bW4oKTsKKworICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0
aCk7CisgICAgbV9zdGF0ZW1lbnREZXB0aCA9IDA7CisgICAgdHlwZW5hbWUgVHJlZUJ1aWxkZXI6
OkZ1bmN0aW9uQm9keUJ1aWxkZXIgYm9keUJ1aWxkZXIoY29uc3RfY2FzdDxWTSo+KG1fdm0pLCBt
X2xleGVyLmdldCgpKTsKKworICAgIGZhaWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMoYm9k
eUJ1aWxkZXIsIENoZWNrRm9yU3RyaWN0TW9kZSwgQXJyb3dGdW5jdGlvblBhcnNlVHlwZSksICJD
YW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGFycm93IGZ1bmN0aW9uIik7CisgICAgdW5zaWduZWQg
ZW5kQ29sdW1uID0gdG9rZW5Db2x1bW4oKTsKKyAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5j
dGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5k
Q29sdW1uLCBzdHJpY3RNb2RlKCkpOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBM
ZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGdW5jdGlvbkJvZHkg
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVyJiBjb250ZXh0
KQogewpAQCAtMTQwOSw2ICsxNDk0LDE2MCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAg
IHJldHVybiB0cnVlOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
K3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbkluZm8oVHJlZUJ1
aWxkZXImIGNvbnRleHQsIEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUsIFBhcnNlckZ1bmN0aW9uSW5m
bzxUcmVlQnVpbGRlcj4mIGluZm8pCit7CisgICAgQXV0b1BvcFNjb3BlUmVmIGZ1bmN0aW9uU2Nv
cGUodGhpcywgcHVzaFNjb3BlKCkpOworICAgIGZ1bmN0aW9uU2NvcGUtPnNldElzRnVuY3Rpb24o
KTsKKyAgICBpbnQgZnVuY3Rpb25OYW1lU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRP
ZmZzZXQ7CisgICAgY29uc3QgSWRlbnRpZmllciogbGFzdEZ1bmN0aW9uTmFtZSA9IG1fbGFzdEZ1
bmN0aW9uTmFtZTsKKyAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBudWxscHRyOworCisgICAgaWYg
KCFtYXRjaChJREVOVCkgJiYgIW1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgc2VtYW50aWNG
YWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7
CisgICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgYW4gYXJyb3cgZnVuY3Rpb24gaW5w
dXQgcGFyYW1ldGVyIik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKG1hdGNoKE9QRU5QQVJF
TikpIHsKKyAgICAgICAgICAgIGNvbnN1bWUoT1BFTlBBUkVOKTsKKworICAgICAgICAgICAgaWYg
KCFtYXRjaChDTE9TRVBBUkVOKSkgeworICAgICAgICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9
IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhjb250ZXh0KTsKKyAgICAgICAgICAgICAgICBmYWlsSWZG
YWxzZShpbmZvLnBhcmFtZXRlcnMsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAi
LCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOworICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICBjb25zdW1lT3JGYWlsKENMT1NFUEFSRU4sICJFeHBlY3RlZCBhICcpJyBvciBhICcsJyBh
ZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgaW5mby5wYXJhbWV0ZXJzID0gcGFyc2VGb3JtYWxQYXJhbWV0ZXJzKGNvbnRleHQpOwor
ICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBh
cmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAg
ICAgfQorICAgIH0KKworICAgIG1hdGNoT3JGYWlsKEFSUk9XRlVOQ1RJT04sICJFeHBlY3RlZCBh
ICc9PicgYWZ0ZXIgYXJyb3cgZnVuY3Rpb24gcGFyYW1ldGVyIGRlY2xhcmF0aW9uIik7CisKKyAg
ICBpbmZvLmFycm93RnVuY3Rpb25PZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CisgICAg
aW5mby5vcGVuQnJhY2VPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CisgICAgaW5mby5i
b2R5U3RhcnRMaW5lID0gdG9rZW5MaW5lKCk7CisgICAgaW5mby5ib2R5U3RhcnRDb2x1bW4gPSBt
X3Rva2VuLm1fZGF0YS5vZmZzZXQgLSBtX3Rva2VuLm1fZGF0YS5saW5lU3RhcnRPZmZzZXQ7CisK
KyAgICBKU1Rva2VuTG9jYXRpb24gc3RhcnRMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworCisg
ICAgLy8gSWYgd2Uga25vdyBhYm91dCB0aGlzIGZ1bmN0aW9uIGFscmVhZHksIHdlIGNhbiB1c2Ug
dGhlIGNhY2hlZCBpbmZvIGFuZCBza2lwIHRoZSBwYXJzZXIgdG8gdGhlIGVuZCBvZiB0aGUgZnVu
Y3Rpb24uCisgICAgaWYgKGNvbnN0IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKiBjYWNoZWRJbmZv
ID0gVHJlZUJ1aWxkZXI6OkNhblVzZUZ1bmN0aW9uQ2FjaGUgPyBmaW5kQ2FjaGVkRnVuY3Rpb25J
bmZvKGluZm8ub3BlbkJyYWNlT2Zmc2V0KSA6IDApIHsKKyAgICAgICAgLy8gSWYgd2UncmUgaW4g
YSBzdHJpY3QgY29udGV4dCwgdGhlIGNhY2hlZCBmdW5jdGlvbiBpbmZvIG11c3Qgc2F5IGl0IHdh
cyBzdHJpY3QgdG9vLgorICAgICAgICBBU1NFUlQoIXN0cmljdE1vZGUoKSB8fCBjYWNoZWRJbmZv
LT5zdHJpY3RNb2RlKTsKKyAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGVuZExvY2F0aW9uOworCisg
ICAgICAgIGVuZExvY2F0aW9uLmxpbmUgPSBjYWNoZWRJbmZvLT5jbG9zZUJyYWNlTGluZTsKKyAg
ICAgICAgZW5kTG9jYXRpb24uc3RhcnRPZmZzZXQgPSBjYWNoZWRJbmZvLT5jbG9zZUJyYWNlT2Zm
c2V0OworICAgICAgICBlbmRMb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQgPSBjYWNoZWRJbmZvLT5j
bG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0OworCisgICAgICAgIGJvb2wgZW5kQ29sdW1uSXNPblN0
YXJ0TGluZSA9IChlbmRMb2NhdGlvbi5saW5lID09IGluZm8uYm9keVN0YXJ0TGluZSk7CisgICAg
ICAgIEFTU0VSVChlbmRMb2NhdGlvbi5zdGFydE9mZnNldCA+PSBlbmRMb2NhdGlvbi5saW5lU3Rh
cnRPZmZzZXQpOworICAgICAgICB1bnNpZ25lZCBib2R5RW5kQ29sdW1uID0gZW5kQ29sdW1uSXNP
blN0YXJ0TGluZSA/CisgICAgICAgIGVuZExvY2F0aW9uLnN0YXJ0T2Zmc2V0IC0gbV90b2tlbi5t
X2RhdGEubGluZVN0YXJ0T2Zmc2V0IDoKKyAgICAgICAgZW5kTG9jYXRpb24uc3RhcnRPZmZzZXQg
LSBlbmRMb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQ7CisgICAgICAgIHVuc2lnbmVkIGN1cnJlbnRM
aW5lU3RhcnRPZmZzZXQgPSBtX3Rva2VuLm1fbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0OworCisg
ICAgICAgIGluZm8uYm9keSA9IGNvbnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0YXJ0TG9jYXRp
b24sIGVuZExvY2F0aW9uLCBpbmZvLmJvZHlTdGFydENvbHVtbiwgYm9keUVuZENvbHVtbiwgY2Fj
aGVkSW5mby0+c3RyaWN0TW9kZSk7CisKKyAgICAgICAgZnVuY3Rpb25TY29wZS0+cmVzdG9yZUZy
b21Tb3VyY2VQcm92aWRlckNhY2hlKGNhY2hlZEluZm8pOworICAgICAgICBmYWlsSWZGYWxzZShw
b3BTY29wZShmdW5jdGlvblNjb3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFibGVJbmZv
KSwgIlBhcnNlciBlcnJvciIpOworCisgICAgICAgIGluZm8uY2xvc2VCcmFjZU9mZnNldCA9IGNh
Y2hlZEluZm8tPmNsb3NlQnJhY2VPZmZzZXQ7CisgICAgICAgIGluZm8uYXJyb3dGdW5jdGlvbkJv
ZHlUeXBlID0gY2FjaGVkSW5mby0+aXNCb2R5QXJyb3dGdW5jdGlvbkJsb2NrID8gQXJyb3dGdW5j
dGlvbkJvZHlCbG9jayA6IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbjsKKworICAgICAgICBj
b250ZXh0LnNldEZ1bmN0aW9uTmFtZVN0YXJ0KGluZm8uYm9keSwgZnVuY3Rpb25OYW1lU3RhcnQp
OworICAgICAgICAKKyAgICAgICAgbV90b2tlbiA9IGluZm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBl
ID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2sgPyBjYWNoZWRJbmZvLT5jbG9zZUJyYWNlVG9rZW4o
KSA6IGNhY2hlZEluZm8tPmVuZEFycm93RnVuY3Rpb25Ub2tlbigpOworICAgICAgICAKKyAgICAg
ICAgaWYgKGVuZENvbHVtbklzT25TdGFydExpbmUpCisgICAgICAgICAgICBtX3Rva2VuLm1fbG9j
YXRpb24ubGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVTdGFydE9mZnNldDsKKworICAgICAg
ICBtX2xleGVyLT5zZXRPZmZzZXQobV90b2tlbi5tX2xvY2F0aW9uLmVuZE9mZnNldCwgbV90b2tl
bi5tX2xvY2F0aW9uLmxpbmVTdGFydE9mZnNldCk7CisgICAgICAgIG1fbGV4ZXItPnNldExpbmVO
dW1iZXIobV90b2tlbi5tX2xvY2F0aW9uLmxpbmUpOworCisgICAgICAgIGNvbnRleHQuc2V0RW5k
T2Zmc2V0KGluZm8uYm9keSwgbV9sZXhlci0+Y3VycmVudE9mZnNldCgpKTsKKyAgICAgICAgCisg
ICAgICAgIGlmIChpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9k
eUJsb2NrKQorICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAKKyAgICAgICAgaW5mby5ib2R5
RW5kTGluZSA9IG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZTsKKyAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgfQorICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IGxhc3RGdW5jdGlvbk5hbWU7Cisg
ICAgUGFyc2VyU3RhdGUgb2xkU3RhdGUgPSBzYXZlU3RhdGUoKTsKKworICAgIFNhdmVQb2ludCBz
YXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICBuZXh0KCk7CisgICAgLy8gQ2hlY2sg
aWYgYXJyb3cgYm9keSBzdGFydCB3aXRoIHsuIElmIGl0IHRydWUgaXQgbWVhbiB0aGF0IGFycm93
IGZ1bmN0aW9uIGlzIEZhdCBhcnJvdyBmdW5jdGlvbgorICAgIC8vIGFuZCB3ZSBuZWVkIHVzZSBj
b21tb24gYXBwcm9hY2ggdG8gcGFyc2UgZnVuY3Rpb24gYm9keQorICAgIAorICAgIGluZm8uYXJy
b3dGdW5jdGlvbkJvZHlUeXBlID0gbWF0Y2goT1BFTkJSQUNFKSA/IEFycm93RnVuY3Rpb25Cb2R5
QmxvY2sgOiBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb247CisgICAgCisgICAgaWYgKGluZm8u
YXJyb3dGdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHsKKyAgICAg
ICAgaW5mby5vcGVuQnJhY2VPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CisgICAgICAg
IGluZm8uYm9keVN0YXJ0TGluZSA9IHRva2VuTGluZSgpOworICAgICAgICBpbmZvLmJvZHlTdGFy
dENvbHVtbiA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldCAtIG1fdG9rZW4ubV9kYXRhLmxpbmVTdGFy
dE9mZnNldDsKKyAgICAgICAgCisgICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5
KGNvbnRleHQpOworICAgIH0gZWxzZSB7CisgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBv
aW50KTsKKyAgICAgICAgaW5mby5ib2R5ID0gcGFyc2VBcnJvd0Z1bmN0aW9uQm9keShjb250ZXh0
KTsKKyAgICB9CisKKyAgICByZXN0b3JlU3RhdGUob2xkU3RhdGUpOworICAgIGZhaWxJZkZhbHNl
KGluZm8uYm9keSwgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiB0aGlzICIsIHN0cmluZ0ZvckZ1
bmN0aW9uTW9kZShtb2RlKSk7CisgICAgY29udGV4dC5zZXRFbmRPZmZzZXQoaW5mby5ib2R5LCBt
X2xleGVyLT5jdXJyZW50T2Zmc2V0KCkpOworICAgIGlmIChmdW5jdGlvblNjb3BlLT5zdHJpY3RN
b2RlKCkgJiYgaW5mby5uYW1lKSB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKG1vZGUgPT0gRnVu
Y3Rpb25Nb2RlKTsKKyAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKG1fdm0tPnByb3BlcnR5TmFt
ZXMtPmFyZ3VtZW50cyA9PSAqaW5mby5uYW1lLCAiJyIsIGluZm8ubmFtZS0+aW1wbCgpLCAiJyBp
cyBub3QgYSB2YWxpZCBmdW5jdGlvbiBuYW1lIGluIHN0cmljdCBtb2RlIik7CisgICAgICAgIHNl
bWFudGljRmFpbElmVHJ1ZShtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09ICppbmZvLm5hbWUs
ICInIiwgaW5mby5uYW1lLT5pbXBsKCksICInIGlzIG5vdCBhIHZhbGlkIGZ1bmN0aW9uIG5hbWUg
aW4gc3RyaWN0IG1vZGUiKTsKKyAgICB9CisgICAgCisgICAgaW5mby5jbG9zZUJyYWNlT2Zmc2V0
ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgIAorICAgIHVuc2lnbmVkIGNsb3NlQnJhY2VM
aW5lID0gbV90b2tlbi5tX2RhdGEubGluZTsKKyAgICB1bnNpZ25lZCBjbG9zZUJyYWNlTGluZVN0
YXJ0T2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEubGluZVN0YXJ0T2Zmc2V0OworICAgIGJvb2wgaXNC
b2R5QXJyb3dGdW5jdGlvbkJsb2NrID0gaW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUgPT0gQXJy
b3dGdW5jdGlvbkJvZHlCbG9jazsKKworICAgIC8vIENhY2hlIHRoZSB0b2tlbml6ZXIgc3RhdGUg
YW5kIHRoZSBmdW5jdGlvbiBzY29wZSB0aGUgZmlyc3QgdGltZSB0aGUgZnVuY3Rpb24gaXMgcGFy
c2VkLgorICAgIC8vIEFueSBmdXR1cmUgcmVwYXJzaW5nIGNhbiB0aGVuIHNraXAgdGhlIGZ1bmN0
aW9uLgorICAgIHN0YXRpYyBjb25zdCBpbnQgbWluaW11bUZ1bmN0aW9uTGVuZ3RoVG9DYWNoZSA9
IDE2OworICAgIHN0ZDo6dW5pcXVlX3B0cjxTb3VyY2VQcm92aWRlckNhY2hlSXRlbT4gbmV3SW5m
bzsKKyAgICBpbnQgZnVuY3Rpb25MZW5ndGggPSBpbmZvLmNsb3NlQnJhY2VPZmZzZXQgLSBpbmZv
Lm9wZW5CcmFjZU9mZnNldDsKKyAgICBpZiAoVHJlZUJ1aWxkZXI6OkNhblVzZUZ1bmN0aW9uQ2Fj
aGUgJiYgbV9mdW5jdGlvbkNhY2hlICYmIGZ1bmN0aW9uTGVuZ3RoID4gbWluaW11bUZ1bmN0aW9u
TGVuZ3RoVG9DYWNoZSkgeworICAgICAgICBTb3VyY2VQcm92aWRlckNhY2hlSXRlbUNyZWF0aW9u
UGFyYW1ldGVycyBwYXJhbWV0ZXJzOworICAgICAgICBwYXJhbWV0ZXJzLmZ1bmN0aW9uTmFtZVN0
YXJ0ID0gZnVuY3Rpb25OYW1lU3RhcnQ7CisgICAgICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxp
bmUgPSBjbG9zZUJyYWNlTGluZTsKKyAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJyYWNlT2Zmc2V0
ID0gaW5mby5jbG9zZUJyYWNlT2Zmc2V0OworICAgICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VM
aW5lU3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0OworICAgICAgICBwYXJh
bWV0ZXJzLmlzQm9keUFycm93RnVuY3Rpb25CbG9jayA9IGlzQm9keUFycm93RnVuY3Rpb25CbG9j
azsKKyAgICAgICAgcGFyYW1ldGVycy50b2tlblR5cGUgPSBtX3Rva2VuLm1fdHlwZTsKKyAgICAg
ICAgCisgICAgICAgIGZ1bmN0aW9uU2NvcGUtPmZpbGxQYXJhbWV0ZXJzRm9yU291cmNlUHJvdmlk
ZXJDYWNoZShwYXJhbWV0ZXJzKTsKKyAgICAgICAgbmV3SW5mbyA9IFNvdXJjZVByb3ZpZGVyQ2Fj
aGVJdGVtOjpjcmVhdGUocGFyYW1ldGVycyk7CisgICAgfQorICAgIGNvbnRleHQuc2V0RnVuY3Rp
b25OYW1lU3RhcnQoaW5mby5ib2R5LCBmdW5jdGlvbk5hbWVTdGFydCk7CisKKyAgICBmYWlsSWZG
YWxzZShwb3BTY29wZShmdW5jdGlvblNjb3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFi
bGVJbmZvKSwgIlBhcnNlciBlcnJvciIpOworCisgICAgaWYgKGluZm8uYXJyb3dGdW5jdGlvbkJv
ZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHsKKyAgICAgICAgbWF0Y2hPckZhaWwo
Q0xPU0VCUkFDRSwgIkV4cGVjdGVkIGEgY2xvc2luZyAnfScgYWZ0ZXIgYSAiLCBzdHJpbmdGb3JG
dW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOworICAgICAgICBuZXh0KCk7CisgICAgfSBlbHNl
IHsKKyAgICAgICAgYm9vbCBpc0VuZE9mQXJyb3dGdW5jdGlvbiA9IG1hdGNoKFNFTUlDT0xPTikg
fHwgbWF0Y2goQ09NTUEpIHx8IG1hdGNoKENMT1NFUEFSRU4pIHx8IG1hdGNoKENMT1NFQlJBQ0Up
IHx8IG1hdGNoKENMT1NFQlJBQ0tFVCk7CisgICAgICAgIGZhaWxJZkZhbHNlKGlzRW5kT2ZBcnJv
d0Z1bmN0aW9uLCAiRXhwZWN0ZWQgdGhlIGNsb3NpbmcgJzsnICcsJyAnXScgJyknICd9JyBhZnRl
ciBhcnJvdyBmdW5jdGlvbiIpOworICAgIH0KKworICAgIGlmIChuZXdJbmZvKQorICAgICAgICBt
X2Z1bmN0aW9uQ2FjaGUtPmFkZChpbmZvLm9wZW5CcmFjZU9mZnNldCwgV1RGOjptb3ZlKG5ld0lu
Zm8pKTsKKyAgICAKKyAgICBpbmZvLmJvZHlFbmRMaW5lID0gbV9sYXN0VG9rZW5FbmRQb3NpdGlv
bi5saW5lOworICAgIHJldHVybiB0cnVlOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFt
ZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQg
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbihUcmVlQnVpbGRlciYg
Y29udGV4dCkKIHsKQEAgLTE3MjIsNiArMTk2MSwxOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSWZTdGF0ZW1lbnQo
VAogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUlmU3RhdGVtZW50KGlmTG9jYXRpb24sIGNvbmRp
dGlvbiwgdHJ1ZUJsb2NrLCBzdGF0ZW1lbnRTdGFjay5sYXN0KCksIHN0YXJ0LCBlbmQpOwogfQog
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFt
ZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9u
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29u
dGV4dCkKK3sKKyAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7CisgICAgVHJlZUV4cHJlc3Npb24g
bm9kZSA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24oY29udGV4dCk7CisgICAgZmFpbElmRmFs
c2Uobm9kZSwgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9uIik7CisgICAgY29udGV4dC5zZXRFbmRP
ZmZzZXQobm9kZSwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5vZmZzZXQpOworICAgIHJldHVybiBu
b2RlOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7CkBAIC0xNzY5LDYgKzIwMjAs
NDQgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KICAgICAgICAgfQogICAgICAgICByZXN0b3Jl
U2F2ZVBvaW50KHNhdmVQb2ludCk7CiAgICAgfQorCisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIFNhdmVQb2ludCBzYXZlQXJyb3dGdW5jdGlvblBvaW50ID0gY3Jl
YXRlU2F2ZVBvaW50KCk7CisgICAgYm9vbCBhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0ID0gZmFsc2U7
CisgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgbmV4dCgpOworICAgICAgICBp
ZiAobWF0Y2goQ0xPU0VQQVJFTikpIHsKKyAgICAgICAgICAgIG5leHQoKTsKKworICAgICAgICAg
ICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJT04pKQorICAgICAgICAgICAgICAgIGFycm93RnVuY3Rp
b25FbXB0eUxpc3QgPSB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCFhcnJvd0Z1bmN0
aW9uRW1wdHlMaXN0KQorICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5j
dGlvblBvaW50KTsKKyAgICB9CisjZW5kaWYKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgVHJlZUV4cHJlc3Npb24gbGhzOworICAgIGlmICghYXJyb3dGdW5jdGlv
bkVtcHR5TGlzdCkgeworICAgICAgICBsaHMgPSBwYXJzZUNvbmRpdGlvbmFsRXhwcmVzc2lvbihj
b250ZXh0KTsKKyAgICAgICAgZmFpbElmRmFsc2UobGhzLCAiQ2FuGW5vdCBwYXJzZSBleHByZXNz
aW9uIik7CisgICAgICAgIGlmIChpbml0aWFsTm9uTEhTQ291bnQgIT0gbV9ub25MSFNDb3VudCkg
eworICAgICAgICAgICAgaWYgKG1fdG9rZW4ubV90eXBlID49IEVRVUFMICYmIG1fdG9rZW4ubV90
eXBlIDw9IE9SRVFVQUwpCisgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsKCJMZWZ0IGhhbmQg
c2lkZSBvZiBvcGVyYXRvciAnIiwgZ2V0VG9rZW4oKSwgIicgbXVzdCBiZSBhIHJlZmVyZW5jZSIp
OworCisgICAgICAgICAgICByZXR1cm4gbGhzOworICAgICAgICB9CisgICAgfQorICAgIAorICAg
IGlmIChtYXRjaChBUlJPV0ZVTkNUSU9OKSkgeworICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNh
dmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICBsaHMgPSBwYXJzZUFycm93RnVuY3Rpb25X
cmFwcGVyKGNvbnRleHQpOworICAgICAgICByZXR1cm4gbGhzOworICAgIH0KKyNlbHNlCiAgICAg
VHJlZUV4cHJlc3Npb24gbGhzID0gcGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24oY29udGV4dCk7
CiAgICAgZmFpbElmRmFsc2UobGhzLCAiQ2Fubm90IHBhcnNlIGV4cHJlc3Npb24iKTsKICAgICBp
ZiAoaW5pdGlhbE5vbkxIU0NvdW50ICE9IG1fbm9uTEhTQ291bnQpIHsKQEAgLTE3NzcsNiArMjA2
Niw3IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlQXNzaWdubWVuCiAKICAgICAgICAgcmV0dXJuIGxoczsKICAg
ICB9CisjZW5kaWYKICAgICAKICAgICBpbnQgYXNzaWdubWVudFN0YWNrID0gMDsKICAgICBPcGVy
YXRvciBvcDsKQEAgLTIyMDksNiArMjQ5OSwyMyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHByZQog
ICAgICAgICByZXR1cm4gY29udGV4dC50aGlzRXhwcihsb2NhdGlvbik7CiAgICAgfQogICAgIGNh
c2UgSURFTlQ6IHsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAg
ICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwor
ICAgICAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAg
ICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OworICAg
ICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICAgICAg
bmV4dCgpOworCisgICAgICAgIGlmICghbWF0Y2goQVJST1dGVU5DVElPTikpIHsKKyAgICAgICAg
ICAgIGN1cnJlbnRTY29wZSgpLT51c2VWYXJpYWJsZShpZGVudCwgbV92bS0+cHJvcGVydHlOYW1l
cy0+ZXZhbCA9PSAqaWRlbnQpOworICAgICAgICAgICAgbV9sYXN0SWRlbnRpZmllciA9IGlkZW50
OworICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUmVzb2x2ZShsb2NhdGlvbiwgaWRl
bnQsIHN0YXJ0KTsKKyAgICAgICAgfQorCisgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFy
cm93RnVuY3Rpb25Qb2ludCk7CisgICAgICAgIFRyZWVFeHByZXNzaW9uIGxocyA9IHBhcnNlQXJy
b3dGdW5jdGlvbldyYXBwZXIoY29udGV4dCk7CisgICAgICAgIHJldHVybiBsaHM7CisjZWxzZQog
ICAgICAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOwogICAg
ICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAg
ICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKQEAgLTIyMTYs
NiArMjUyMyw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24g
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAgICAgIGN1cnJlbnRTY29w
ZSgpLT51c2VWYXJpYWJsZShpZGVudCwgbV92bS0+cHJvcGVydHlOYW1lcy0+ZXZhbCA9PSAqaWRl
bnQpOwogICAgICAgICBtX2xhc3RJZGVudGlmaWVyID0gaWRlbnQ7CiAgICAgICAgIHJldHVybiBj
b250ZXh0LmNyZWF0ZVJlc29sdmUobG9jYXRpb24sIGlkZW50LCBzdGFydCk7CisjZW5kaWYKICAg
ICB9CiAgICAgY2FzZSBTVFJJTkc6IHsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQg
PSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKQEAgLTIzODgsNiArMjY5NiwzMiBAQCBlbmRNZW1iZXJF
eHByZXNzaW9uOgogICAgIHJldHVybiBiYXNlOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUFycm93RnVuY3Rpb25XcmFwcGVyKFRyZWVCdWlsZGVyJiBjb250ZXh0KQoreworICAgIFRyZWVF
eHByZXNzaW9uIGJhc2UgPSAwOworICAgIEpTVGV4dFBvc2l0aW9uIGV4cHJlc3Npb25TdGFydCA9
IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgIGludCBuZXdDb3VudCA9IDA7CisgICAgSlNUb2tl
bkxvY2F0aW9uIGxvY2F0aW9uOworCisgICAgaWYgKG1hdGNoKElERU5UKSB8fCBtYXRjaChPUEVO
UEFSRU4pKSB7CisgICAgICAgIHVuc2lnbmVkIGZ1bmN0aW9uS2V5d29yZFN0YXJ0ID0gdG9rZW5T
dGFydCgpOworICAgICAgICBsb2NhdGlvbiA9IHRva2VuTG9jYXRpb24oKTsKKyAgICAgICAgUGFy
c2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOworICAgICAgICBpbmZvLm5hbWUgPSAm
bV92bS0+cHJvcGVydHlOYW1lcy0+bnVsbElkZW50aWZpZXI7CisgICAgICAgIGZhaWxJZkZhbHNl
KChwYXJzZUFycm93RnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTW9kZSwgaW5mbykpLCAi
Q2Fubm90IHBhcnNlIGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsKKyAgICAgICAgYmFzZSA9IGNvbnRl
eHQuY3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIobG9jYXRpb24sIGluZm8sIGZ1bmN0aW9uS2V5d29y
ZFN0YXJ0KTsKKyAgICB9IGVsc2UKKyAgICAgICAgYmFzZSA9IHBhcnNlUHJpbWFyeUV4cHJlc3Np
b24oY29udGV4dCk7CisKKyAgICBmYWlsSWZGYWxzZShiYXNlLCAiQ2Fubm90IHBhcnNlIGJhc2Ug
ZXhwcmVzc2lvbiIpOworICAgIHdoaWxlIChuZXdDb3VudC0tKQorICAgICAgICBiYXNlID0gY29u
dGV4dC5jcmVhdGVOZXdFeHByKGxvY2F0aW9uLCBiYXNlLCBleHByZXNzaW9uU3RhcnQsIGxhc3RU
b2tlbkVuZFBvc2l0aW9uKCkpOworICAgIHJldHVybiBiYXNlOworfQorI2VuZGlmCisKIHN0YXRp
YyBjb25zdCBjaGFyKiBvcGVyYXRvclN0cmluZyhib29sIHByZWZpeCwgdW5zaWduZWQgdG9rKQog
ewogICAgIHN3aXRjaCAodG9rKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1BhcnNlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaApp
bmRleCA1MDFjMDM2NDRkNTU5N2I4YTFhMWFmM2U5ZjljODJlMTg0ZWQyZDhjLi40ZjM3N2NmMTU3
ZjdiZjkyNDIyMzMyOWQ3ZDBmM2Q4NDE5ODE3MzY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvUGFyc2VyLmgKQEAgLTgwLDYgKzgwLDkgQEAgY2xhc3MgU291cmNlQ29kZTsKIENPTVBJTEVf
QVNTRVJUKExhc3RVbnRhZ2dlZFRva2VuIDwgNjQsIExlc3NUaGFuNjRVbnRhZ2dlZFRva2Vucyk7
CiAKIGVudW0gU291cmNlRWxlbWVudHNNb2RlIHsgQ2hlY2tGb3JTdHJpY3RNb2RlLCBEb250Q2hl
Y2tGb3JTdHJpY3RNb2RlIH07CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
K2VudW0gRnVuY3Rpb25QYXJzZVR5cGUgeyBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlLCBBcnJv
d0Z1bmN0aW9uUGFyc2VUeXBlIH07CisjZW5kaWYKIGVudW0gRnVuY3Rpb25SZXF1aXJlbWVudHMg
eyBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlvbk5lZWRzTmFtZSB9OwogZW51bSBGdW5j
dGlvblBhcnNlTW9kZSB7CiAgICAgRnVuY3Rpb25Nb2RlLApAQCAtNzAwLDkgKzcwMywxNSBAQCBw
cml2YXRlOgogICAgICAgICB9CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIAor
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJzZVNvdXJjZUVsZW1lbnRzKFRy
ZWVCdWlsZGVyJiwgU291cmNlRWxlbWVudHNNb2RlLCBGdW5jdGlvblBhcnNlVHlwZSB0eXBlID0g
U3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiwgY29uc3QgSWRl
bnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAw
LCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSA9IFN0YW5kYXJkRnVuY3Rpb25Q
YXJzZVR5cGUpOworI2Vsc2UKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
b3VyY2VFbGVtZW50cyBwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxl
bWVudHNNb2RlKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1l
bnQgcGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0
aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDApOworI2VuZGlmCisKICNp
ZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VDbGFzc0RlY2xhcmF0aW9uKFRyZWVCdWlsZGVyJik7CiAj
ZW5kaWYKQEAgLTcyNyw2ICs3MzYsOSBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZUlmU3RhdGVtZW50KFRyZWVCdWlsZGVyJik7
CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQmxv
Y2tTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOworI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFycm93RXhwcmVzc2lvbihUcmVlQnVpbGRlciYp
OworI2VuZGlmCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lv
biBwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNlQ29u
ZGl0aW9uYWxFeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVFeHByZXNzaW9uIHBhcnNlQmluYXJ5RXhwcmVz
c2lvbihUcmVlQnVpbGRlciYpOwpAQCAtNzQ2LDYgKzc1OCwxMyBAQCBwcml2YXRlOgogICAgIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VWYXJEZWNsYXJh
dGlvbkxpc3QoVHJlZUJ1aWxkZXImLCBpbnQmIGRlY2xhcmF0aW9ucywgVHJlZURlY29uc3RydWN0
aW9uUGF0dGVybiYgbGFzdFBhdHRlcm4sIFRyZWVFeHByZXNzaW9uJiBsYXN0SW5pdGlhbGl6ZXIs
IEpTVGV4dFBvc2l0aW9uJiBpZGVudFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdFN0YXJ0LCBK
U1RleHRQb3NpdGlvbiYgaW5pdEVuZCwgVmFyRGVjbGFyYXRpb25MaXN0Q29udGV4dCk7CiAgICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZUNvbnN0RGVjbExp
c3QgcGFyc2VDb25zdERlY2xhcmF0aW9uTGlzdChUcmVlQnVpbGRlciYpOwogCisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVy
Jik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJz
ZUFycm93RnVuY3Rpb25XcmFwcGVyKFRyZWVCdWlsZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgYm9vbCBwYXJzZUFycm93RnVuY3Rpb25JbmZvKFRy
ZWVCdWlsZGVyJiwgRnVuY3Rpb25QYXJzZU1vZGUsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVp
bGRlcj4mKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUg
VHJlZUZ1bmN0aW9uQm9keSBwYXJzZUFycm93RnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVyJik7Cisj
ZW5kaWYKKwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRy
ZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gY3JlYXRlQmluZGluZ1BhdHRlcm4oVHJlZUJ1aWxkZXIm
LCBEZWNvbnN0cnVjdGlvbktpbmQsIGNvbnN0IElkZW50aWZpZXImLCBpbnQgZGVwdGgsIEpTVG9r
ZW4pOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVE
ZWNvbnN0cnVjdGlvblBhdHRlcm4gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oVHJlZUJ1aWxk
ZXImLCBEZWNvbnN0cnVjdGlvbktpbmQsIGludCBkZXB0aCA9IDApOwogICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4g
dHJ5UGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm5FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CkBA
IC03NjYsNiArNzg1LDEzIEBAIHByaXZhdGU6CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIGFs
bG93QXV0b21hdGljU2VtaWNvbG9uKCk7CiAgICAgfQorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICB2b2lkIHNldEVuZE9mU3RhdGVtZW50KCkKKyAgICB7CisgICAg
ICAgIG1fbGV4ZXItPnNldFRva2VuUG9zaXRpb24oJm1fdG9rZW4pOworICAgIH0KKyNlbmRpZgog
ICAgIAogICAgIGJvb2wgY2FuUmVjdXJzZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKaW5kZXggZTIwODI0NTQxYTMwNjE2
ZGY1YjllMmIxNjc3ZGEwNzllOWJlNzdhNS4uNjIwYWI3ZTVlYTM1ZDA0NTU5NzRiNzlkNTc1ZTBj
OGEzOWMyYzZiNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJz
ZXJGdW5jdGlvbkluZm8uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNl
ckZ1bmN0aW9uSW5mby5oCkBAIC0yOCw2ICsyOCwxMCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitlbnVtIEFycm93RnVuY3Rpb25C
b2R5VHlwZSB7IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiwgQXJyb3dGdW5jdGlvbkJvZHlC
bG9ja307CisjZW5kaWYKKyAgICAKIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4KIHN0cnVj
dCBQYXJzZXJGdW5jdGlvbkluZm8gewogICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUgPSAwOwpA
QCAtMzgsNiArNDIsMTAgQEAgc3RydWN0IFBhcnNlckZ1bmN0aW9uSW5mbyB7CiAgICAgaW50IGJv
ZHlTdGFydExpbmUgPSAwOwogICAgIGludCBib2R5RW5kTGluZSA9IDA7CiAgICAgdW5zaWduZWQg
Ym9keVN0YXJ0Q29sdW1uID0gMDsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgIHVuc2lnbmVkIGFycm93RnVuY3Rpb25PZmZzZXQgPSAwOworICAgIEFycm93RnVuY3Rp
b25Cb2R5VHlwZSBhcnJvd0Z1bmN0aW9uQm9keVR5cGUgPSBBcnJvd0Z1bmN0aW9uQm9keUV4cHJl
c3Npb247CisjZW5kaWYKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlclRva2Vucy5oCmluZGV4IDNmZjI3OTg2NmFmNmUyODY5MGJjMDdjNWY3MjFiYzdhMzgwNTZl
YTIuLjRjNjNkYzEyMDAwNzQyMWU5MTNjMTM5NGQzYTkxOGE5YWEyYjBiZTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaApAQCAtNzUsNiArNzUsOSBAQCBl
bnVtIEpTVG9rZW5UeXBlIHsKICAgICBGSU5BTExZLAogICAgIERFQlVHR0VSLAogICAgIEVMU0Us
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBBUlJPV0ZVTkNUSU9O
LAorI2VuZGlmCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAgICAgQ0xBU1NUT0tFTiwK
ICAgICBFWFRFTkRTLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9T
b3VyY2VDb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaApp
bmRleCA3M2QyM2RiODJhZjI1ZWE0NmMwZjg5Nzg1Y2U0MjRiYjYwZWI2MWE3Li5lMjFkOTgyZWEy
MjNiYmRjOWQ1ODA5Y2YzNDExNzdiYjJmZWU1YmU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1NvdXJjZUNvZGUuaApAQCAtMTA0LDYgKzEwNCw5IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICBpbnQgbGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9lbmRDaGFyIC0gbV9zdGFydENo
YXI7IH0KICAgICAgICAgCiAgICAgICAgIFNvdXJjZUNvZGUgc3ViRXhwcmVzc2lvbih1bnNpZ25l
ZCBvcGVuQnJhY2UsIHVuc2lnbmVkIGNsb3NlQnJhY2UsIGludCBmaXJzdExpbmUsIGludCBzdGFy
dENvbHVtbik7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAg
U291cmNlQ29kZSBzdWJBcnJvd0V4cHJlc3Npb24odW5zaWduZWQgc3RhcnRBcnJvd0Z1bmN0aW9u
LCB1bnNpZ25lZCBlbmRBcnJvd0Z1bmN0aW9uLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1
bW4pOworI2VuZGlmCiAKICAgICBwcml2YXRlOgogICAgICAgICBSZWZQdHI8U291cmNlUHJvdmlk
ZXI+IG1fcHJvdmlkZXI7CkBAIC0xMTgsNiArMTIxLDE3IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
ICAgICByZXR1cm4gU291cmNlQ29kZShTdHJpbmdTb3VyY2VQcm92aWRlcjo6Y3JlYXRlKHNvdXJj
ZSwgdXJsLCBzdGFydFBvc2l0aW9uKSwgc3RhcnRQb3NpdGlvbi5tX2xpbmUub25lQmFzZWRJbnQo
KSwgc3RhcnRQb3NpdGlvbi5tX2NvbHVtbi5vbmVCYXNlZEludCgpKTsKICAgICB9CiAKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlubGluZSBTb3VyY2VDb2RlIFNv
dXJjZUNvZGU6OnN1YkFycm93RXhwcmVzc2lvbih1bnNpZ25lZCBzdGFydEFycm93RnVuY3Rpb24s
IHVuc2lnbmVkIGVuZEFycm93RnVuY3Rpb24sIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVt
bikKKyAgICB7CisgICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFycm93
RnVuY3Rpb25dID09ICc9JyAmJiBwcm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFycm93RnVuY3Rp
b24gKyAxXSA9PSAnPicpOworICAgICAgICAvLyBGaXhtZTogVXNlIGJldHRlciBhcHByb2FjaCB0
byBjaGVjayBzeW1ib2wKKyAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFy
cm93RnVuY3Rpb24gLSAxXSA9PSAnLCcgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dG
dW5jdGlvbiAtIDFdID09ICc7JyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0
aW9uIC0gMV0gPT0gJyknIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24g
LSAxXSA9PSAnXScgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFd
ID09ICd9Jyk7CisgICAgICAgIHN0YXJ0Q29sdW1uICs9IDE7IC8vIENvbnZlcnQgdG8gYmFzZSAx
LgorICAgICAgICByZXR1cm4gU291cmNlQ29kZShwcm92aWRlcigpLCBzdGFydEFycm93RnVuY3Rp
b24sIGVuZEFycm93RnVuY3Rpb24gLSAxLCBmaXJzdExpbmUsIHN0YXJ0Q29sdW1uKTsKKyAgICB9
CisjZW5kaWYKKwogICAgIGlubGluZSBTb3VyY2VDb2RlIFNvdXJjZUNvZGU6OnN1YkV4cHJlc3Np
b24odW5zaWduZWQgb3BlbkJyYWNlLCB1bnNpZ25lZCBjbG9zZUJyYWNlLCBpbnQgZmlyc3RMaW5l
LCBpbnQgc3RhcnRDb2x1bW4pCiAgICAgewogICAgICAgICBBU1NFUlQocHJvdmlkZXIoKS0+c291
cmNlKClbb3BlbkJyYWNlXSA9PSAneycpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCmluZGV4IDYzNTM3OWUzZjQ0NTY2
OGM1MmI4NzJmNzYxNmRjYjU5MjFhODI5NDQuLjc3ZDlmODJiYWEwZGI2YzZkMzAxZjNhOGQ1Nzcy
YmU4MTY1NmE0NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291
cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKQEAgLTQwLDYgKzQwLDEwIEBAIHN0cnVjdCBTb3Vy
Y2VQcm92aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgYm9vbCBuZWVkc0Z1
bGxBY3RpdmF0aW9uOwogICAgIGJvb2wgdXNlc0V2YWw7CiAgICAgYm9vbCBzdHJpY3RNb2RlOwor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgYm9vbCBpc0JvZHlBcnJv
d0Z1bmN0aW9uQmxvY2s7CisgICAgSlNUb2tlblR5cGUgdG9rZW5UeXBlOworI2VuZGlmCiAgICAg
VmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4gdXNlZFZhcmlhYmxlczsKICAgICBWZWN0b3I8UmVm
UHRyPFN0cmluZ0ltcGw+PiB3cml0dGVuVmFyaWFibGVzOwogfTsKQEAgLTY4LDYgKzcyLDIxIEBA
IHB1YmxpYzoKICAgICAgICAgLy8gd2UgZG8gbm90IG5lZWQgdG8gc2V0IGl0IGhlcmUuCiAgICAg
ICAgIHJldHVybiB0b2tlbjsKICAgICB9CisgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICBKU1Rva2VuIGVuZEFycm93RnVuY3Rpb25Ub2tlbigpIGNvbnN0Cisg
ICAgeworICAgICAgICBKU1Rva2VuIHRva2VuOworICAgICAgICB0b2tlbi5tX3R5cGUgPSB0b2tl
blR5cGU7CisgICAgICAgIHRva2VuLm1fZGF0YS5vZmZzZXQgPSBjbG9zZUJyYWNlT2Zmc2V0Owor
ICAgICAgICB0b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0ID0gY2xvc2VCcmFjZU9mZnNldDsK
KyAgICAgICAgdG9rZW4ubV9sb2NhdGlvbi5lbmRPZmZzZXQgPSBjbG9zZUJyYWNlT2Zmc2V0ICsg
MTsKKyAgICAgICAgdG9rZW4ubV9sb2NhdGlvbi5saW5lID0gY2xvc2VCcmFjZUxpbmU7CisgICAg
ICAgIHRva2VuLm1fbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0ID0gY2xvc2VCcmFjZUxpbmVTdGFy
dE9mZnNldDsKKyAgICAgICAgCisgICAgICAgIHJldHVybiB0b2tlbjsKKyAgICB9CisjZW5kaWYK
IAogICAgIHVuc2lnbmVkIGZ1bmN0aW9uTmFtZVN0YXJ0IDogMzE7CiAgICAgYm9vbCBuZWVkc0Z1
bGxBY3RpdmF0aW9uIDogMTsKQEAgLTgxLDYgKzEwMCwxMSBAQCBwdWJsaWM6CiAgICAgdW5zaWdu
ZWQgY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldDsKICAgICB1bnNpZ25lZCB1c2VkVmFyaWFibGVz
Q291bnQ7CiAgICAgdW5zaWduZWQgd3JpdHRlblZhcmlhYmxlc0NvdW50OworI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgYm9vbCBpc0JvZHlBcnJvd0Z1bmN0aW9uQmxv
Y2s7CisgICAgSlNUb2tlblR5cGUgdG9rZW5UeXBlOworI2VuZGlmCisgICAgCiAKICAgICBTdHJp
bmdJbXBsKiogdXNlZFZhcmlhYmxlcygpIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8U3RyaW5n
SW1wbCoqPihtX3ZhcmlhYmxlcyk7IH0KICAgICBTdHJpbmdJbXBsKiogd3JpdHRlblZhcmlhYmxl
cygpIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8U3RyaW5nSW1wbCoqPigmbV92YXJpYWJsZXNb
dXNlZFZhcmlhYmxlc0NvdW50XSk7IH0KQEAgLTExNSw2ICsxMzksMTAgQEAgaW5saW5lIFNvdXJj
ZVByb3ZpZGVyQ2FjaGVJdGVtOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbShjb25zdCBTb3VyY2VQ
cm92aWRlckNhY2gKICAgICAsIGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQocGFyYW1ldGVycy5j
bG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0KQogICAgICwgdXNlZFZhcmlhYmxlc0NvdW50KHBhcmFt
ZXRlcnMudXNlZFZhcmlhYmxlcy5zaXplKCkpCiAgICAgLCB3cml0dGVuVmFyaWFibGVzQ291bnQo
cGFyYW1ldGVycy53cml0dGVuVmFyaWFibGVzLnNpemUoKSkKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgICwgaXNCb2R5QXJyb3dGdW5jdGlvbkJsb2NrKHBhcmFtZXRl
cnMuaXNCb2R5QXJyb3dGdW5jdGlvbkJsb2NrKQorICAgICwgdG9rZW5UeXBlKHBhcmFtZXRlcnMu
dG9rZW5UeXBlKQorI2VuZGlmCiB7CiAgICAgdW5zaWduZWQgaiA9IDA7CiAgICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IHVzZWRWYXJpYWJsZXNDb3VudDsgKytpLCArK2opIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKaW5kZXggNTg4NGZiMjgyZTc1
NjFhNjU4NmQwZjZlMWRhNTkxNTFiOGQ1NGE0Ny4uODMyYmU3NTY2ZjM4YjA2MmQzMmU0OWQzOTBi
YWQ0NWViZmZkMWQ0NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9T
eW50YXhDaGVja2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhD
aGVja2VyLmgKQEAgLTE2OSw2ICsxNjksOSBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICBFeHByZXNz
aW9uVHlwZSBjcmVhdGVGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3Qg
UGFyc2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JiwgaW50KSB7IHJldHVybiBGdW5jdGlv
bkV4cHI7IH0KICAgICBpbnQgY3JlYXRlRnVuY3Rpb25Cb2R5KGNvbnN0IEpTVG9rZW5Mb2NhdGlv
biYsIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGludCwgaW50LCBib29sKSB7IHJldHVybiBGdW5j
dGlvbkJvZHlSZXN1bHQ7IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUFycm93RnVuY3Rpb25FeHByKGNvbnN0IEpTVG9rZW5M
b2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50YXhDaGVja2VyPiYsIGludCkg
eyByZXR1cm4gRnVuY3Rpb25FeHByOyB9CisjZW5kaWYKICAgICB2b2lkIHNldEZ1bmN0aW9uTmFt
ZVN0YXJ0KGludCwgaW50KSB7IH0KICAgICBpbnQgY3JlYXRlQXJndW1lbnRzKCkgeyByZXR1cm4g
QXJndW1lbnRzUmVzdWx0OyB9CiAgICAgaW50IGNyZWF0ZUFyZ3VtZW50cyhpbnQpIHsgcmV0dXJu
IEFyZ3VtZW50c1Jlc3VsdDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA4ZmMyNDg3ZjZhZWUwZjczOWNmZDNj
MGE4NGFiYzc5MTU5NGE1ZWUzLi5hMmU3M2ExZjAzODc3MmZiMjIwZjMyNGZkYzliNTUyNGI4ZmE1
MTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBF
TkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFT
U19TWU5UQVggPSA7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQk9Y
X0RFQ09SQVRJT05fQlJFQUsgPSBFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLOwpAQCAt
MjEwLDQgKzIxMSw0IEBAIEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7CiAKIEVOQUJMRV9TQVRVUkFU
RURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElD
OwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkg
JChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFC
TEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2
X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9O
RVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01Q
T1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJ
RF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lN
QUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNU
T1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVO
QUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQo
RU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQp
ICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMp
ICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikg
JChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5B
QkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9D
QVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJM
RV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFC
TEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVM
T0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1F
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RB
UkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRP
U0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xF
R0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxF
X0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQo
RU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVO
QUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9N
SFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09O
VEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9D
SykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxF
X1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5J
TUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVN
T1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVf
UlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNI
X1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8p
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxF
X1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAk
KEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
VE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVf
VVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChF
TkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFC
TEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFC
TEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1J
TkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFC
TEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJM
RV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElP
Tl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19T
Q1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVN
RU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAk
KEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQo
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NT
X0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxF
X0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJM
RV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAk
KEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5B
QkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJ
TkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NI
RU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxT
X0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVO
VFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9B
RF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVO
QUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9I
SURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAk
KEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9J
TkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lO
UFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lP
U19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
SU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJ
WEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChF
TkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05U
Uk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElT
VElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01P
VVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5B
QkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01J
U0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJ
U1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChF
TkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQo
RU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAk
KEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5B
QkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9O
VFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVS
X0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRP
U0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElO
RykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAk
KEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFM
VUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJM
RV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAk
KEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJW
VFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxF
X0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9V
VF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCmluZGV4IDhmYzI0ODdmNmFlZTBmNzM5Y2ZkM2MwYTg0YWJjNzkxNTk0YTVlZTMuLmEy
ZTczYTFmMDM4NzcyZmIyMjBmMzI0ZmRjOWI1NTI0YjhmYTUxMWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CkBAIC00NSw2ICs0NSw3IEBAIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFU
SDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IDsKK0VO
QUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVS
SU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SyA9IEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUs7CkBAIC0yMTAsNCArMjExLDQgQEAg
RU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhN
RVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVG
SU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FO
VkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FW
Rl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkp
ICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAk
KEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NT
U19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJM
RV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFC
TEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikg
JChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVO
QUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9M
SU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1ND
SEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJ
U1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlM
U19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZF
TlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZ
UFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xP
QURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChF
TkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVf
SElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkg
JChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVS
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVf
SU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9J
T1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVG
SVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQo
RU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09O
VFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9N
T1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVO
QUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChF
TkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9N
SVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9M
SVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQo
RU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAk
KEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykg
JChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVO
QUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZP
TlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJF
Ul9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJ
TkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkg
JChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZB
TFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFC
TEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykg
JChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VC
VlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJM
RV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlP
VVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVS
RV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFC
TEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NB
Q0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19Q
Uk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5U
QVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05f
QlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQ
VEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklF
TlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJ
T05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykg
JChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFC
TEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChF
TkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5B
QkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFC
TEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikg
JChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQo
RU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQ
UkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9U
SU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0Vf
Q09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5B
QkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xF
R0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZF
VENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChF
TkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9N
RVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxF
KSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hX
Q09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVH
SU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BS
T1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVP
VEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FV
VE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElP
Tl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JP
TExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkp
ICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZH
X09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVO
QUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1Nf
VFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAk
KEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklF
V19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChF
TkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVf
U0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVO
QUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFC
TEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQo
RU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktp
dDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOGZjMjQ4N2Y2
YWVlMGY3MzljZmQzYzBhODRhYmM3OTE1OTRhNWVlMy4uYTJlNzNhMWYwMzg3NzJmYjIyMGYzMjRm
ZGM5YjU1MjRiOGZhNTExYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NB
TlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsK
IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVO
QUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCA9IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxU
RVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ1NQX05FWFQgPSA7CiBF
TkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLID0gRU5BQkxFX0NTU19CT1hfREVDT1JBVElP
Tl9CUkVBSzsKQEAgLTIxMCw0ICsyMTEsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBF
TkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlP
VVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5H
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09W
RVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hN
RU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFT
X1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAk
KEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVO
QUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChF
TkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFC
TEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NT
UzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9W
SVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hC
T0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RS
QU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9P
UklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxU
RVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JF
RU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQo
RU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RU
TElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dP
UktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lO
UFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVT
U19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
SU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
TEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FV
RElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElB
X1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVO
VCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVf
TkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZ
KSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJM
RV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZF
TlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJM
RV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUp
ICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVF
UlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQo
RU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9T
VUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVS
VEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExB
VEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dP
UkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklE
RU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1Nf
TUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9S
RVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVO
QUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJ
TUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0Nf
TE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURF
T19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5E
RVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFU
RURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FU
VEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9D
QU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NB
R0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQp
ICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lU
SU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xB
WU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
UkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNf
TEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxF
X0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFC
TEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChF
TkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChF
TkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5B
QkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQo
RU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVO
QUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVf
R0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElP
TikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lD
T05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9J
TkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FM
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
KSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9S
X1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZ
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVU
VEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFC
TEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxF
X01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1M
KSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5U
X1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAk
KEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVC
TElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJ
T05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVf
SU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJC
RVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lO
VEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChF
TkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVM
RVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5B
QkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VD
SF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VS
U0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJM
RV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9X
RUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9X
RUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykg
JChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9Y
U0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NB
VFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01P
REUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlIGIvU291
cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCmluZGV4IDg4NzI2MTcyNjQwODM0NGFiMDI1
MmM5YzBlZjFmYzk3N2QwNjNmYmEuLjA1MDAzNzJjYjg0NTRkODQ4NjdlNjQyZTY5NzcwMWNkZDA5
ZjI4YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQorKysg
Yi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKQEAgLTI4LDYgKzI4LDcgQEAgbWFj
cm8oV0VCS0lUX09QVElPTl9CRUdJTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVf
Q0FOVkFTX1BST1hZICJUb2dnbGUgQ2FudmFzUHJveHkgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJ
VF9PUFRJT05fREVGSU5FKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyAiVG9nZ2xlIE1lc3NhZ2VD
aGFubmVsIGFuZCBNZXNzYWdlUG9ydCBzdXBwb3J0IiBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RF
RklORShFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCAiVG9nZ2xlIEVTNiBjbGFzcyBzeW50YXggc3Vw
cG9ydCIgT0ZGKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9FUzZfQVJST1dGVU5D
VElPTl9TWU5UQVggIlRvZ2dsZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1cHBvcnQiIE9O
KQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyAiVG9n
Z2xlIGNvbnRlbnQgZmlsdGVyaW5nIHN1cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RF
RklORShFTkFCTEVfQ09OVEVYVF9NRU5VUyAiVG9nZ2xlIENvbnRleHQgTWVudSBzdXBwb3J0IiBP
TikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ1NQX05FWFQgIlRvZ2dsZSBDb250
ZW50IFNlY3VyaXR5IFBvbGljeSAxLjEgc3VwcG9ydCIgT0ZGKQpkaWZmIC0tZ2l0IGEvU291cmNl
L2NtYWtlY29uZmlnLmguY21ha2UgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQppbmRleCAx
YTc0NWNhNWNkODlmYjIwMDgyZjc3YmMwMjY4OGE5YjBiNGJkNGI5Li4zMTA2YjVlYTA4NGIzODQz
MWQ5NTk5NDRjNmNhMTgxZjJmY2UyMWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2Vjb25maWcu
aC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQpAQCAtMTMsNiArMTMsNyBA
QAogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NBTlZBU19QUk9YWQogI2NtYWtlZGVmaW5lMDEgRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfRVM2X0NMQVNTX1NZ
TlRBWAorI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWAogI2Nt
YWtlZGVmaW5lMDEgRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HCiAjY21ha2VkZWZpbmUwMSBFTkFC
TEVfQ09OVEVYVF9NRU5VUwogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NSRURFTlRJQUxfU1RPUkFH
RQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGE2
YmJlMjVjMmE2ZGQ5MjMwOTUwNmJmNzFjYjhlMjZmYmQ0NzJkOTEuLjY0YmY4MDc3OGZkNmE4NjA0
ODRkODgwZWJjMjIwODAzZGI1MTdiOTYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysg
Yi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNS0wMi0yNyAgU2thY2hrb3Yg
QWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxlbWVu
dCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmZWF0dXJlIGZsYWcgRU5BQkxFX0VTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rpb24KKworICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cGVybC9GZWF0dXJlTGlzdC5wbToKKwogMjAxNS0wMi0yNyAgU2FtIFdlaW5pZyAgPHNhbUB3
ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCBXZWJLaXQyIFNQSSB0byBjcmVhdGUgYSBET00gRmls
ZSBvYmplY3QKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlz
dC5wbSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQppbmRleCAzNTQy
NWY1ZTRiNTU1YWYzMDAzMmQyMWVlM2NhZWM2ODU0Zjc5YTRiLi5hNmJjOWE4ZmViZDFhZTRiMmM3
NTYyY2Q1MWE5MmMzOGM2MzlmOTFmIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBl
cmwvRmVhdHVyZUxpc3QucG0KKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVM
aXN0LnBtCkBAIC00NCw2ICs0NCw3IEBAIEJFR0lOIHsKIG15ICgKICAgICAkdGhyZWVEUmVuZGVy
aW5nU3VwcG9ydCwKICAgICAkYWNjZWxlcmF0ZWQyRENhbnZhc1N1cHBvcnQsCisgICAgJGFycm93
ZnVuY3Rpb25TeW50YXgsCiAgICAgJGJhdHRlcnlTdGF0dXNTdXBwb3J0LAogICAgICRjYW52YXNQ
YXRoU3VwcG9ydCwKICAgICAkY2FudmFzUHJveHlTdXBwb3J0LApAQCAtMTY5LDYgKzE3MCw5IEBA
IG15IEBmZWF0dXJlcyA9ICgKICAgICB7IG9wdGlvbiA9PiAiY2xhc3Mtc3ludGF4IiwgZGVzYyA9
PiAiVG9nZ2xlIEVTNiBjbGFzcyBzeW50YXggc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVO
QUJMRV9FUzZfQ0xBU1NfU1lOVEFYIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBcJGNsYXNzU3lu
dGF4IH0sCiAKKyAgICB7IG9wdGlvbiA9PiAiYXJyb3dmdW5jdGlvbi1zeW50YXgiLCBkZXNjID0+
ICJUb2dnbGUgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheCBzdXBwb3J0IiwKKyAgICAgIGRlZmlu
ZSA9PiAiRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCIsIGRlZmF1bHQgPT4gMSwgdmFs
dWUgPT4gXCRhcnJvd2Z1bmN0aW9uU3ludGF4IH0sCisKICAgICB7IG9wdGlvbiA9PiAiY3NwLW5l
eHQiLCBkZXNjID0+ICJUb2dnbGUgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgMS4xIHN1cHBvcnQi
LAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQ1NQX05FWFQiLCBkZWZhdWx0ID0+IGlzR3RrKCks
IHZhbHVlID0+IFwkY3NwTmV4dFN1cHBvcnQgfSwKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDQxMGE4NTIyMWUzMjViYWI2
NTQ0ZWFkNGFkMjBmMTQwMzY0ZjY5NDguLmE3NGU3ZjZlMTkwZWVlYWEyMDFlYWI4Zjk3MGY1OTE3
MmUwNDY4NzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNS0wMi0yNyAgU2thY2hrb3YgQWxl
eGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxlbWVudCBF
UzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIGpzL2Fycm93ZnVuY3Rpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBqcy9hcnJvd2Z1bmN0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGpzL3Nj
cmlwdC10ZXN0cy9hcnJvd2Z1bmN0aW9uLmpzOiBBZGRlZC4KKyAgICAgICAgKGFycm93RnVuY3Rp
b25XcmFwcGVyKToKKyAgICAgICAgKGFycm93RnVuY3Rpb25XcmFwcGVyMik6CisKIDIwMTUtMDIt
MjcgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBTdWJwaXhlbC1s
YXlvdXQ6IHdpZHRoOiBtYXgtY29udGVudDsgcHJvcGVydHkgbWlnaHQgY2F1c2UgdW5uZWNlc3Nh
cnkgc2Nyb2xsYmFyLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvYXJyb3dmdW5jdGlvbi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9hcnJvd2Z1bmN0aW9uLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mODVhZTkyYTE1ODlhMTI1ZDBiNzdhNzcyOGI2MzdiYjUzMDNhNDY2Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvYXJyb3dmdW5jdGlvbi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw0MyBAQAorVGhpcyB0ZXN0IGNoZWNrIHRoZSBiZWhhdmlvciBvZiB0aGUgb2Yg
YXJyb3cgZnVuY3Rpb24odGhpbiBjYXNlKQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyBhcnJvd0Z1bmN0aW9uMCgxMCkgaXMgMTEKK1BBU1MgYXJyb3dGdW5jdGlvbjEoMTAp
IGlzIDExCitQQVNTIGFycm93RnVuY3Rpb24yKCkgaXMgMTAwMAorUEFTUyBhcnJvd0Z1bmN0aW9u
MygxMCwgMikgaXMgMTIKK1BBU1MgYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMCkgaXMgMTAK
K1BBU1MgYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMCwgMjApIGlzIDEwCitQQVNTIGFycm93
RnVuY3Rpb25XcmFwcGVyKHggPT4gMTAgKyAzMCkgaXMgNDAKK1BBU1MgYXJyb3dGdW5jdGlvbldy
YXBwZXIoeCA9PiAxMCArIDMwLCAxMDAwKSBpcyA0MAorUEFTUyBhcnJvd0Z1bmN0aW9uV3JhcHBl
cih4ID0+IHggKyAxLCAyMSkgaXMgMjIKK1BBU1MgYXJyb3dGdW5jdGlvbldyYXBwZXIoKHgpID0+
IHggKyAxLCAyMSkgaXMgMjIKK1BBU1MgYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwKSBp
cyAxMDAKK1BBU1MgYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gZXh0X3ZhbHVlKSBpcyAxMTEK
K1BBU1MgYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gZXh0X3ZhbHVlICogMTApIGlzIDExMTAK
K1BBU1MgYXJyb3dGdW5jdGlvbldyYXBwZXIoKHgpID0+IGV4dF92YWx1ZSAqIHgsIDMwKSBpcyAz
MzMwCitQQVNTIGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCwgMTEpIGlzIDEwMAorUEFT
UyBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiAxMDAgKyAxMCkgaXMgMTEwCitQQVNTIGFycm93
RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCArIDEwLCAxMikgaXMgMTEwCitQQVNTIGFycm93RnVu
Y3Rpb25XcmFwcGVyMigoeCwgIHkpID0+IHggKyB5LCAyMSwgNSkgaXMgMjYKK1BBU1MgYXJyb3dG
dW5jdGlvbjQoMTAxKSBpcyAxMDIKK1BBU1MgeHl6MSBpcyAxMDEwMQorUEFTUyBhcnJvd0Z1bmN0
aW9BcnJheTBbMF0oMTApIGlzIDEwMAorUEFTUyBhcnJvd0Z1bmN0aW9BcnJheTFbMF0oMTApIGlz
IDExCitQQVNTIGFycm93RnVuY3Rpb0FycmF5MVsxXSgxMSkgaXMgMTMKK1BBU1MgYXJyb3dGdW5j
dGlvQXJyYXkyWzBdKDExKSBpcyAxMgorUEFTUyBhcnJvd0Z1bmN0aW9BcnJheTJbMV0oMTEpIGlz
IDEzCitQQVNTIGFycm93RnVuY3Rpb0FycmF5M1swXSgxMSkgaXMgMTAxCitQQVNTIGFycm93RnVu
Y3Rpb0FycmF5M1sxXSgxMSkgaXMgMTIzMjMKK1BBU1MgYXJyb3dGdW5jdGlvbk9iai5mdW5jKDEx
KSBpcyAyMworUEFTUyBhcnJvd0ZhdEZ1bmN0aW9uMCgxMSkgaXMgMTAwMAorUEFTUyBhcnJvd0Zh
dEZ1bmN0aW9uMSgxMSkgaXMgMTEwMAorUEFTUyBhcnJvd0ZhdEZ1bmN0aW9uMigxMSkgaXMgMjIw
MAorUEFTUyBhcnJvd0ZhdEZ1bmN0aW9uMygxMSwgMTIyMjIpIGlzIDEzNDQ0MgorUEFTUyBhcnJv
d0Z1bmN0aW9uV3JhcHBlcih4PT57cmV0dXJuIHggKiAyNTt9LCAxMjEpIGlzIDMwMjUKK1BBU1Mg
YXJyb3dGdW5jdGlvbldyYXBwZXIyKCh4LCB5KT0+e3JldHVybiB4ICogeTt9LCAxNCwgMTIpIGlz
IDE2OAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2Fycm93ZnVuY3Rpb24uaHRtbCBiL0xheW91dFRl
c3RzL2pzL2Fycm93ZnVuY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MzcyZjBmNzJhMDA0YWNlYTcx
NzgxZTZmZTQ0ZDgyMzY5ZmY2MDA0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMv
YXJyb3dmdW5jdGlvbi5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQgc3JjPSJzY3JpcHQtdGVzdHMvYXJyb3dmdW5jdGlvbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvYXJyb3dmdW5j
dGlvbi5qcyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9hcnJvd2Z1bmN0aW9uLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmNlNGYzMWVlOWNmZDc5MDgwY2UyODY1YzFkNWVlZGJlMTRlZTc1ZjUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvYXJyb3dmdW5jdGlvbi5q
cwpAQCAtMCwwICsxLDU5IEBACitkZXNjcmlwdGlvbigKKyJUaGlzIHRlc3QgY2hlY2sgdGhlIGJl
aGF2aW9yIG9mIHRoZSAgb2YgYXJyb3cgZnVuY3Rpb24odGhpbiBjYXNlKSIKKyk7CisKK3ZhciBh
cnJvd0Z1bmN0aW9uMCA9IHYgPT4gdiArIDE7Cit2YXIgYXJyb3dGdW5jdGlvbjEgPSAodikgPT4g
diArIDE7Cit2YXIgYXJyb3dGdW5jdGlvbjIgPSAoKSA9PiAxMDAwOwordmFyIGFycm93RnVuY3Rp
b24zID0gKHYsIHgpID0+IHYgKyB4OwordmFyIGFycm93RnVuY3Rpb25XcmFwcGVyID0gZnVuY3Rp
b24gKGNsLCBwYXJhbXRlcikgeyByZXR1cm4gY2wocGFyYW10ZXIpOyB9OwordmFyIGFycm93RnVu
Y3Rpb25XcmFwcGVyMiA9IGZ1bmN0aW9uIChjbCwgcGFyYW10ZXIxLCBwYXJhbXRlcjIpIHsgcmV0
dXJuIGNsKHBhcmFtdGVyMSwgcGFyYW10ZXIyKTsgfTsKK3ZhciBhcnJvd0Z1bmN0aW9uNCA9IHYg
PT4gdiArIDEsIHh5ejEgPSAxMDEwMTsKK3ZhciBhcnJvd0Z1bmN0aW9BcnJheTAgPSBbdiA9PiB2
ICogMTBdOwordmFyIGFycm93RnVuY3Rpb0FycmF5MSA9IFt2ID0+IHYgKyAxLCB2ID0+IHYgKyAy
XTsKK3ZhciBhcnJvd0Z1bmN0aW9BcnJheTIgPSBbKHYpID0+IHYgKyAxLCAodikgPT4gdiArIDJd
OwordmFyIGFycm93RnVuY3Rpb0FycmF5MyA9IFsoKSA9PiAxMDEsICgpID0+IDEyMzIzXTsKK3Zh
ciBhcnJvd0Z1bmN0aW9uT2JqID0ge2Z1bmMgOiB5ID0+IHkgKyAxMiB9OwordmFyIGV4dF92YWx1
ZSA9IDExMTsKKworc2hvdWxkQmUoImFycm93RnVuY3Rpb24wKDEwKSIsICIxMSIpOworc2hvdWxk
QmUoImFycm93RnVuY3Rpb24xKDEwKSIsICIxMSIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb24y
KCkiLCAiMTAwMCIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb24zKDEwLCAyKSIsICIxMiIpOwor
c2hvdWxkQmUoImFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4gMTApIiwgIjEwIik7CitzaG91bGRC
ZSgiYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMCwgMjApIiwgIjEwIik7CitzaG91bGRCZSgi
YXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMCArIDMwKSIsICI0MCIpOworc2hvdWxkQmUoImFy
cm93RnVuY3Rpb25XcmFwcGVyKHggPT4gMTAgKyAzMCwgMTAwMCkiLCAiNDAiKTsKK3Nob3VsZEJl
KCJhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IHggKyAxLCAyMSkiLCAiMjIiKTsKK3Nob3VsZEJl
KCJhcnJvd0Z1bmN0aW9uV3JhcHBlcigoeCkgPT4geCArIDEsIDIxKSIsICIyMiIpOworc2hvdWxk
QmUoImFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCkiLCAiMTAwIik7CitzaG91bGRCZSgi
YXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gZXh0X3ZhbHVlKSIsICIxMTEiKTsKK3Nob3VsZEJl
KCJhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiBleHRfdmFsdWUgKiAxMCkiLCAiMTExMCIpOwor
c2hvdWxkQmUoImFycm93RnVuY3Rpb25XcmFwcGVyKCh4KSA9PiBleHRfdmFsdWUgKiB4LCAzMCki
LCAiMzMzMCIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCwgMTEp
IiwgIjEwMCIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCArIDEw
KSIsICIxMTAiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiAxMDAgKyAx
MCwgMTIpIiwgIjExMCIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb25XcmFwcGVyMigoeCwgIHkp
ID0+IHggKyB5LCAyMSwgNSkiLCAiMjYiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uNCgxMDEp
IiwgIjEwMiIpOworc2hvdWxkQmUoInh5ejEiLCAiMTAxMDEiKTsKKworc2hvdWxkQmUoImFycm93
RnVuY3Rpb0FycmF5MFswXSgxMCkiLCAiMTAwIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlvQXJy
YXkxWzBdKDEwKSIsICIxMSIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb0FycmF5MVsxXSgxMSki
LCAiMTMiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9BcnJheTJbMF0oMTEpIiwgIjEyIik7Citz
aG91bGRCZSgiYXJyb3dGdW5jdGlvQXJyYXkyWzFdKDExKSIsICIxMyIpOworc2hvdWxkQmUoImFy
cm93RnVuY3Rpb0FycmF5M1swXSgxMSkiLCAiMTAxIik7CitzaG91bGRCZSgiYXJyb3dGdW5jdGlv
QXJyYXkzWzFdKDExKSIsICIxMjMyMyIpOworc2hvdWxkQmUoImFycm93RnVuY3Rpb25PYmouZnVu
YygxMSkiLCAiMjMiKTsKKwordmFyIGFycm93RmF0RnVuY3Rpb24wID0gKCkgPT4geyByZXR1cm4g
MTAwMDsgfTsKK3ZhciBhcnJvd0ZhdEZ1bmN0aW9uMSA9IHYgPT4geyB2YXIgaW50dmFsID0gMTAw
OyByZXR1cm4gdiAqIGludHZhbDsgfTsKK3ZhciBhcnJvd0ZhdEZ1bmN0aW9uMiA9ICh2KSA9PiB7
IHZhciBpbnQgPSAyMDA7IHJldHVybiB2ICogaW50OyB9OwordmFyIGFycm93RmF0RnVuY3Rpb24z
ID0gKHYsIHgpID0+IHsgdmFyIHJlc3VsdCA9IHggKiB2OyByZXR1cm4gcmVzdWx0OyB9OworCitz
aG91bGRCZSgiYXJyb3dGYXRGdW5jdGlvbjAoMTEpIiwgIjEwMDAiKTsKK3Nob3VsZEJlKCJhcnJv
d0ZhdEZ1bmN0aW9uMSgxMSkiLCAiMTEwMCIpOworc2hvdWxkQmUoImFycm93RmF0RnVuY3Rpb24y
KDExKSIsICIyMjAwIik7CitzaG91bGRCZSgiYXJyb3dGYXRGdW5jdGlvbjMoMTEsIDEyMjIyKSIs
ICIxMzQ0NDIiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uV3JhcHBlcih4PT57cmV0dXJuIHgg
KiAyNTt9LCAxMjEpIiwgIjMwMjUiKTsKK3Nob3VsZEJlKCJhcnJvd0Z1bmN0aW9uV3JhcHBlcjIo
KHgsIHkpPT57cmV0dXJuIHggKiB5O30sIDE0LCAxMikiLCAiMTY4Iik7CmRpZmYgLS1naXQgYS9D
aGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggOGQ3ZGNiMmQ1NWRmZDI4YzVlNjI0MzFiY2ZkOTcx
YTk1NWRkNmE2NC4uNWY2YTM3ZjAzZTU1ODg3NzY0OTQ5NWFmNDQ5MTg5ZmZkMzQyMTc3MiAxMDA2
NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE1
LTAyLTI3ICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAg
ICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyB0
byBzd2l0Y2ggb24vb2ZmIGVzNiBhcnJvdyBmdW5jdGlvbiBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYCisKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2U6
CisgICAgICAgICogU291cmNlL2NtYWtlY29uZmlnLmguY21ha2U6CisKIDIwMTUtMDItMjYgIENz
YWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBbRUZMXSBSZW1v
dmUgdW5uZWNlc3NhcnkgY29tbWVudCBhZnRlciByMTc5MTEwCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>248363</attachid>
            <date>2015-03-10 15:04:10 -0700</date>
            <delta_ts>2015-03-11 05:46:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150311000344.patch</filename>
            <type>text/plain</type>
            <size>81766</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwODE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
MmE2NGQxNDFjNmU5YjcyMjI4MjZlNmEzNDE3YTM3OGY5NTAzZWNjLi5jMzA3MzIwN2QyMWE1MzIw
NDI1MGQ0MWJjNTNiNDk0MTE3MzQyOWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3OSBAQAorMjAxNS0wMi0yNyAgQWxleGFuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21h
aWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3lu
dGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4
NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRl
ZCBzdXBwb3J0IG9mIEVTNiBhcnJvdyBmdW5jdGlvbi4gSW4gcGF0Y2ggd2VyZSBpbXBsZW1lbnRl
ZCB0aGUgc2ltcGxlc3QgY2FzZXM6CisgICAgICAgIDEgbm8gcGFyYW10ZXJzICAgICAgICgpID0+
IDEwICsgMjAKKyAgICAgICAgMiBvbmUgcGFyYW1ldGVyICAgICAgIHggPT4geCArIDIwCisgICAg
ICAgIDMgbXVsdGlwbGUgcGFyYW10ZXJzICh4LCB5KSA9PiB4ICsgeQorICAgICAgICA0IGZhdCBh
cnJvdyBmdW5jdGlvbiB4ID0+IHsgcmV0dXJuIHgqMTA7fQorCisgICAgICAgICogQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxh
ZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgorCisg
ICAgICAgICogcGFyc2VyL0FTVEJ1aWxkZXIuaDoKKyAgICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6
Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIpOgorICAgICAgICBBZGRlZCBmdW5jdGlvbiB0aGF0IGNy
ZWF0ZSBleHByZXNpb24gZm9yIGFycm93IGZ1bmN0aW9uCisgICAgICAgICogcGFyc2VyL0xleGVy
LmNwcDoKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24pOgorICAgICAg
ICBNZXRob2QgdGhhdCBhbGxvdyB0byBzZXQgY3VycmVjdCBwb3NpdGlvbiBmb3IgdGhlIHRvY2tl
biBvdXRzaWRlIHRoZSBMZXhlciBjbGFzCisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpsZXgpOgor
ICAgICAgICBNZXRob2QgY2hhbmdlZCB0byBzdXBwb3J0IG9mIHRoZSBhcnJvdyBmdW5jdGlvbgor
ICAgICAgICAqIHBhcnNlci9MZXhlci5oOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6c2V0VG9r
ZW5Qb3NpdGlvbik6CisgICAgICAgIERlY2xhcmF0aW9uIG9mIHRoZSBtZXRob2QgdGhhdCBhbGxv
dyB0byBzZXQgY3VycmVjdCBwb3NpdGlvbiBmb3IgdGhlIHRvY2tlbiBvdXRzaWRlIHRoZSBMZXhl
ciBjbGFzcyAKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFy
c2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMpOgorICAgICAgICBNb2RpZmllZCBt
ZXRob2QgdG8gc3VwcG9ydCB0d28gbWV0aG9kcyBvZiB0aGUgcGFyc2UganMgZnVuY3Rpb24uIFRo
ZSBmaXJzdCB0eXBlIGlzIHN0YW5kYXJkIGZ1bmN0aW9uIGFuZCBuZXcgdHlwZSBpcyBhcnJvdyBm
dW5jdGlvbi4KKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4
cHJlc3Npb24pOgorICAgICAgICBNb2RpZmllZCBtZXRob2QgdG8gc3VwcG9ydCB0d28gbWV0aG9k
cyBvZiB0aGUgcGFyc2UganMgZnVuY3Rpb24uIFRoZSBmaXJzdCB0eXBlIGlzIHN0YW5kYXJkIGZ1
bmN0aW9uIGFuZCBuZXcgdHlwZSBpcyBhcnJvdyBmdW5jdGlvbi4KKyAgICAgICAgKEpTQzo6UGFy
c2VyOjopOkFkZGVkIG5ldyBzdHJ1Y3R1cmUgdG8gc3VwcG9yZCBkaWZmZXJlbnQgdHlwZSBvZiBw
YXJzaW5nIHRoZSBmdW5jdGlvbgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU291cmNlRWxl
bWVudCk6IEFkZGVkIEZ1bmN0aW9uUGFyc2VUeXBlIGFzIHBhcmFtdGVyIGluIG1ldGhvZAorICAg
ICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KTogQWRkZWQgRnVuY3Rpb25QYXJzZVR5
cGUgYXMgcGFyYW10ZXIgaW4gbWV0aG9kLiBBZGRlZCBzZXBhcmF0ZWQgbG9naWMgZm9yIGVuZGlu
ZyAKKyAgICAgICAgdGhlIHN0YXRlbWVudCBpbiBjYXNlIG9mIHRoZSBwYXJzaW5nIGluIGFycm93
IGZ1bmN0aW9uIHR5cGUuIEFkZGVkIGxvZ2ljIHRvIHN1cHBvcnQgcGFyc2luZyB0aGUgc291cmNl
IGNvZGUgdGhhdCBmb2xsb3cgYWZ0ZSA9PiBzeW1ib2wKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpw
YXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKSBNb2RpZmllZCBtZXRob2QgdG8gc3VwcG9ydCBwYXJz
aW5nIHRoZSBhcnJvdyBmdW5jdGlvbgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlUHJpbWFy
eUV4cHJlc3Npb24pIE1vZGlmaWVkIG1ldGhvZCB0byBzdXBwb3J0IGNhc2Ugd2hlbiBhZnRlciBJ
REVOVCBpcyBnb2luZyB0aGUgYXJyb3cgZnVuY3Rpb24KKyAgICAgICAgKEpTQzo6UGFyc2VyOjpw
YXJzZUFycm93RXhwcmVzc2lvbik6IEFkZGVkIG1ldGhvZCBkZWNsYXJhdGlvbiB0aGF0IGlzIHJl
c3BvbnNpYmxlIHRvIHBhcnNlIGFycm93IGV4cHJlc3Npb24uCisgICAgICAgIChKU0M6OlBhcnNl
cjo6c2V0RW5kT2ZTdGF0ZW1lbnQpOiBBZGRlZCBtZXRob2QgdGhhdCB1c2VkIHRvIHNldCBjb3Jy
ZWN0IHBvc2l0aW9uIG9mIHRoZSBsZXhlcgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJy
b3dGdW5jdGlvbldyYXBwZXIpOiBBZGRlZCBtZXRob2QgdGhhdCBpcyBzdGFydGluZyBwb2ludCBp
biBwYXJzaW5nIG9mIHRoZSBhcnJvdyBmdW5jdGlvbgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBh
cnNlQXJyb3dGdW5jdGlvbkluZm8pOiBBZGRlZCBtZXRob2QgdGhhdCBpcyB1c2VkIHRvIHBhcnNl
IGZ1bmN0aW9uIHBhcmFtdGVycy4gQ2xvc2UgdG8gcGFyc2VGdW5jdGlvbkluZm8uIAorICAgICAg
ICBXYXMgbWFkZSBhcyB0aGUgc2VwYXJldGUgbWV0aG9kIHRvIHByZXZlbnQgcG9sbHV0aW9uIG9m
IHRoZSBsb2dpYyBwYXJzaW5nIHRoZSBzdGFuZGVyIGZ1bmN0aW9uLiAgCisgICAgICAgIENhbiBi
ZSBtZXJnZSB3aXRoIHBhcnNlRnVuY3Rpb25JbmZvIGFmdGVyIGFwcHJvdmluZyB0aGUgYXJyb3cg
ZnVuY3Rpb24gcGF0Y2gKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25C
b2R5KTpBZGRlZCBtZXRob2QgdGhhdCBpcyB1c2VkIHRvIHBhcnNlIGZ1bmN0aW9uIGJvZHkuIENs
b3NlIHRvIHBhcnNlRnVuY3Rpb25JbmZvLiAgICAgCisgICAgICAgIFdhcyBtYWRlIGFzIHRoZSBz
ZXBhcmV0ZSBtZXRob2QgdG8gcHJldmVudCBwb2xsdXRpb24gb2YgdGhlIGxvZ2ljIHBhcnNpbmcg
dGhlIHN0YW5kZXIgZnVuY3Rpb24uCisgICAgICAgIENhbiBiZSBtZXJnZSB3aXRoIHBhcnNlRnVu
Y3Rpb25JbmZvIGFmdGVyIGFwcHJvdmluZyB0aGUgYXJyb3cgZnVuY3Rpb24gcGF0Y2ggICAgICAg
IAorICAgICAgICAqIHBhcnNlci9QYXJzZXIuaDoKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpGdW5j
dGlvblBhcnNlVHlwZSk6QWRkZWQgbmV3IHN0cnVjdHVyZSB0byBzdXBwb3JkIGRpZmZlcmVudCB0
eXBlIG9mIHBhcnNpbmcgdGhlIGZ1bmN0aW9uCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VT
b3VyY2VFbGVtZW50KTogQWRkZWQgRnVuY3Rpb25QYXJzZVR5cGUgYXMgcGFyYW10ZXIgaW4gbWV0
aG9kCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VTdGF0ZW1lbnQpOiBBZGRlZCBGdW5jdGlv
blBhcnNlVHlwZSBhcyBwYXJhbXRlciBpbiBtZXRob2QKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpw
YXJzZUFycm93RXhwcmVzc2lvbik6IEFkZGVkIG1ldGhvZCBkZWNsYXJhdGlvbiB0aGF0IGlzIHJl
c3BvbnNpYmxlIHRvIHBhcnNlIGFycm93IGV4cHJlc3Npb24KKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpzZXRFbmRPZlN0YXRlbWVudCk6IEFkZGVkIG1ldGhvZCB0aGF0IHVzZWQgdG8gc2V0IGNvcnJl
Y3QgcG9zaXRpb24gb2YgdGhlIGxleGVyCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJv
d0Z1bmN0aW9uV3JhcHBlcik6IEFkZGVkIG1ldGhvZCB0aGF0IGlzIHN0YXJ0aW5nIHBvaW50IGlu
IHBhcnNpbmcgb2YgdGhlIGFycm93IGZ1bmN0aW9uCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFy
c2VBcnJvd0Z1bmN0aW9uSW5mbyk6IEFkZGVkIG1ldGhvZCB0aGF0IGlzIHVzZWQgdG8gcGFyc2Ug
ZnVuY3Rpb24gcGFyYW10ZXJzLiBDbG9zZSB0byBwYXJzZUZ1bmN0aW9uSW5mby4KKyAgICAgICAg
V2FzIG1hZGUgYXMgdGhlIHNlcGFyZXRlIG1ldGhvZCB0byBwcmV2ZW50IHBvbGx1dGlvbiBvZiB0
aGUgbG9naWMgcGFyc2luZyB0aGUgc3RhbmRlciBmdW5jdGlvbi4gCisgICAgICAgIENhbiBiZSBt
ZXJnZSB3aXRoIHBhcnNlRnVuY3Rpb25JbmZvIGFmdGVyIGFwcHJvdmluZyB0aGUgYXJyb3cgZnVu
Y3Rpb24gcGF0Y2ggCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uQm9k
eSk6QWRkZWQgbWV0aG9kIHRoYXQgaXMgdXNlZCB0byBwYXJzZSBmdW5jdGlvbiBib2R5LiBDbG9z
ZSB0byBwYXJzZUZ1bmN0aW9uSW5mby4gCisgICAgICAgIFdhcyBtYWRlIGFzIHRoZSBzZXBhcmV0
ZSBtZXRob2QgdG8gcHJldmVudCBwb2xsdXRpb24gb2YgdGhlIGxvZ2ljIHBhcnNpbmcgdGhlIHN0
YW5kZXIgZnVuY3Rpb24uICAKKyAgICAgICAgQ2FuIGJlIG1lcmdlIHdpdGggcGFyc2VGdW5jdGlv
bkluZm8gYWZ0ZXIgYXBwcm92aW5nIHRoZSBhcnJvdyBmdW5jdGlvbiBwYXRjaAorICAgICAgICAq
IHBhcnNlci9QYXJzZXJUb2tlbnMuaDoKKyAgICAgICAgQWRkZWQgbmV3IEFSUk9XRlVOQ1RJT04g
dG9ja2VuCisgICAgICAgICogcGFyc2VyL1NvdXJjZUNvZGUuaDoKKyAgICAgICAgKEpTQzo6U291
cmNlQ29kZTo6c3ViQXJyb3dFeHByZXNzaW9uKTpBZGRlZCBmdW5jdGlvbiB0aGF0IGlzIHVzZWQg
Zm9yIGNyZWF0aW5nIHNvdXJjZSBjb2RlIG9iamVjdC4gTG9naWMgdGhlIHNhbWUKKyAgICAgICAg
YXMgaW4gc3ViRXhwcmVzaW9uIGZ1bmN0aW9uIGV4Y2VwdCBkaWZmZXJlbnQgY2hlY2sgZm9yIHN0
YXJ0IGFuZCBlbmRpbmcgb2YgdGhlIGV4cHJlc3Npb24KKyAgICAgICAgKiBwYXJzZXIvU3ludGF4
Q2hlY2tlci5oOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVhdGVBcnJvd0Z1bmN0
aW9uRXhwcik6IEFkZGVkIGRlZmVuaXRpb24gb2YgdGhlIGNyZWF0ZUFycm93RnVuY3Rpb25FeHBy
IGNsb3NlIHRvIHRoZSBjcmVhdGVGdW5jdGlvbkV4cHIKKyAgICAgICAgKiBwYXJzZXIvU291cmNl
UHJvdmlkZXJDYWNoZUl0ZW06CisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVt
Q3JlYXRpb25QYXJhbWV0ZXJzKTogQWRkZWQgYWRkaXRpb25hbCBwcm9wZXJ0aWVzIHRvIGNvcnJl
Y3QgY2FjaGUgdGhlIGFycm93IGZ1bmN0aW9uCisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVy
Q2FjaGVJdGVtKTogQWRkZWQgYWRkaXRpb25hbCBwcm9wZXJ0aWVzIHRvIGNvcnJlY3QgY2FjaGUg
dGhlIGFycm93IGZ1bmN0aW9uCisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVt
OjplbmRBcnJvd0Z1bmN0aW9uVG9rZW4pOiBBZGRlZCBmdW5jdGlvbiB0byBzZXQgY29ycmVjdCB0
b2NrZW4gYXQgdGhlIGVuZCBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gaW4gY2FzZSBvZiBjYWNoZQor
ICAgICAgICAqIHRlc3RzL3N0cmVzcy9qcy9hcnJvd2Z1bmN0aW9uLmpzOgorICAgICAgICBBZGRl
ZCB0ZXN0cyBvZiB0aGUgYXJyb3cgZnVuY3Rpb24KKworCisKIDIwMTUtMDItMjcgIEJlbmphbWlu
IFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0pTQ10gVXNlIHRoZSB3
YXkgbnVtYmVyIGNvbnN0YW50cyBhcmUgd3JpdHRlbiB0byBoZWxwIHR5cGUgc3BlY3VsYXRpb24K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBkYmZmNjYyYmFmMTVjNjQ4MThjM2MxOTg4YmJhODA1MjdlZjEzNzYzLi43
YjcyMDVjNDJlMzExOTA2MTE0OTIwYzAzYjg4ODdhMGJkYzFmNmU4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTQgQEAKKzIwMTUtMDItMjcgIFNrYWNoa292IEFsZXhhbmRyICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5
bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQw
ODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
ZWQgZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggZm9yIGFycm93
IGZ1bmN0aW9uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZzoKKwogMjAxNS0wMi0yNyAgSHVuc2VvcCBKZW9uZyAgPGhzODUuamVvbmdAc2Ftc3VuZy5j
b20+CiAKICAgICAgICAgW0VGTF1bR1RLXSBGaXggYnVpbGQgYnJlYWsgYWZ0ZXIgcjE4MDc5MCwx
ODA3OTgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCAxNzZkMGYzOWRmZGM2ZWM5ODdmMzllNTU4ZDlkMTRk
YzI3YjY1OTdiLi42NDE1NWI2YmVmMGViYWI2YjQwZGMzMzJmNDMyMWFmN2FlNTYwZmU3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDItMjcgIFNrYWNoa292IEFsZXhh
bmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2
IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVggZm9yIGFycm93IGZ1bmN0aW9uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxNS0wMi0yNiAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbmFtZSBEYXRhYmFzZU1hbmFnZXI6Om1hbmFnZXIo
KSB0byBEYXRhYmFzZU1hbmFnZXI6OnNpbmdsZXRvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMzVlODRmYzc4
Y2E4OWZhMWUwMGRkZDFjY2FhNzM0YTNjNmQ4OGQzZS4uNTc1MDlkZGQ1YmU0ZDNiMDdhOTU3ZDdh
ZjIzY2QwOGUxMjVkZjU5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE1LTAyLTI3
ICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgW0VT
Nl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyBFTkFCTEVf
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgorCisKKyAgICAgICAg
KiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxNS0wMi0yNyAg
SHVuc2VvcCBKZW9uZyAgPGhzODUuamVvbmdAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF1b
R1RLXSBGaXggYnVpbGQgYnJlYWsgYWZ0ZXIgcjE4MDc5MCwxODA3OTggCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKaW5kZXggOGZjMjQ4N2Y2YWVlMGY3MzljZmQzYzBhODRhYmM3OTE1OTRhNWVlMy4u
YTJlNzNhMWYwMzg3NzJmYjIyMGYzMjRmZGM5YjU1MjRiOGZhNTExYyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVf
Q0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5U
QVggPSA7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQk9YX0RFQ09S
QVRJT05fQlJFQUsgPSBFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLOwpAQCAtMjEwLDQg
KzIxMSw0IEBAIEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZ
T1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1G
RUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAk
KEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFC
TEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FO
VkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNT
X1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAk
KEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElO
RykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlP
VVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JF
U09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xF
VkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9D
U1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxF
X0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5B
QkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5B
QkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFC
TEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dB
TUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09O
REFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5E
SUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkg
JChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9W
RU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRF
UlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxF
X01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9N
RURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkg
JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChF
TkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJ
Q19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9O
X0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lO
U1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVS
X0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRI
RVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5B
QkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJM
RV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hf
SUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNF
TEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVf
REFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VC
R0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VC
X1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQo
RU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNM
VCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRV
UkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RF
KTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUND
RUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJ
TkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAk
KEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJM
RV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZf
Q0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxF
X0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9E
RUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19E
RVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJM
RV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NT
U19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJF
QUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hB
TkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVN
RU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1F
TlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09O
U1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVO
VFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9H
QU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5f
UEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBM
RVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9X
RUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxF
X0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVf
TElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19T
Q1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykg
JChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NV
UlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05B
VklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
REZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAk
KEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQo
RU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVf
UkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxF
X1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJM
RV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NU
UkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQo
RU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVD
VElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChF
TkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQo
RU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJf
QVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJM
RV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVH
SU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9K
SVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklU
SE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCmluZGV4IGZhNjQ5NTFhOWRmMmI2YjY0NTA1ZmEx
ZWEzN2ExMDA0YjlhOGQ5OTYuLjRmMzJjYjIzZmEyM2UzNGQ5NWFmMTA3MGNiMWY2OTM2NzY1MGNj
ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCkBAIC0zMDMs
NiArMzAzLDIwIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG5ldyAobV9wYXJzZXJBcmVuYSkg
RnVuY3Rpb25Cb2R5Tm9kZShtX3BhcnNlckFyZW5hLCBzdGFydExvY2F0aW9uLCBlbmRMb2NhdGlv
biwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgaW5TdHJpY3RDb250ZXh0KTsKICAgICB9CiAKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEV4cHJlc3Npb25Ob2RlKiBj
cmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBj
b25zdCBQYXJzZXJGdW5jdGlvbkluZm88QVNUQnVpbGRlcj4mIGluZm8sIHVuc2lnbmVkIGFycm93
RnVuY3Rpb25LZXl3b3JkU3RhcnQpCisgICAgeworICAgICAgICBTb3VyY2VDb2RlIHNvdXJjZSA9
IGluZm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lv
bgorICAgICAgICA/IG1fc291cmNlQ29kZS0+c3ViQXJyb3dFeHByZXNzaW9uKGluZm8uYXJyb3dG
dW5jdGlvbk9mZnNldCwgaW5mby5jbG9zZUJyYWNlT2Zmc2V0LCBpbmZvLmJvZHlTdGFydExpbmUs
IGluZm8uYm9keVN0YXJ0Q29sdW1uKQorICAgICAgICA6IG1fc291cmNlQ29kZS0+c3ViRXhwcmVz
c2lvbihpbmZvLm9wZW5CcmFjZU9mZnNldCwgaW5mby5jbG9zZUJyYWNlT2Zmc2V0LCBpbmZvLmJv
ZHlTdGFydExpbmUsIGluZm8uYm9keVN0YXJ0Q29sdW1uKTsKKyAgICAgICAgCisgICAgICAgIEZ1
bmNFeHByTm9kZSogcmVzdWx0ID0gbmV3IChtX3BhcnNlckFyZW5hKSBGdW5jRXhwck5vZGUobG9j
YXRpb24sICppbmZvLm5hbWUsIGluZm8uYm9keSwgc291cmNlLCBpbmZvLnBhcmFtZXRlcnMpOwor
ICAgICAgICBpbmZvLmJvZHktPnNldExvYyhpbmZvLmJvZHlTdGFydExpbmUsIGluZm8uYm9keUVu
ZExpbmUsIGxvY2F0aW9uLnN0YXJ0T2Zmc2V0LCBsb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQpOwor
ICAgICAgICBpbmZvLmJvZHktPnNldEZ1bmN0aW9uS2V5d29yZFN0YXJ0KGFycm93RnVuY3Rpb25L
ZXl3b3JkU3RhcnQpOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKyNlbmRpZgorCiAg
ICAgdm9pZCBzZXRGdW5jdGlvbk5hbWVTdGFydChGdW5jdGlvbkJvZHlOb2RlKiBib2R5LCBpbnQg
ZnVuY3Rpb25OYW1lU3RhcnQpCiAgICAgewogICAgICAgICBib2R5LT5zZXRGdW5jdGlvbk5hbWVT
dGFydChmdW5jdGlvbk5hbWVTdGFydCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL0xleGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIu
Y3BwCmluZGV4IDFlYzY3ZGYxYjhlOGMwZDczMTk0OWIxMjcyYTliYzc1ZmZmODAxNmYuLjhjM2Vh
MWJmNzA5NzMzZWE4MTE4NzIwNGI0N2I0MDY5MGUwM2IxYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTGV4ZXIuY3BwCkBAIC0xMzkzLDYgKzEzOTMsMTggQEAgYm9vbCBMZXhlcjxUPjo6
bmV4dFRva2VuSXNDb2xvbigpCiAgICAgcmV0dXJuIGNvZGUgPCBtX2NvZGVFbmQgJiYgKmNvZGUg
PT0gJzonOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBs
YXRlIDx0eXBlbmFtZSBUPgordm9pZCBMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlvbihKU1Rva2Vu
KiB0b2tlblJlY29yZCkKK3sKKyAgICBKU1Rva2VuRGF0YSogdG9rZW5EYXRhID0gJnRva2VuUmVj
b3JkLT5tX2RhdGE7CisgICAgdG9rZW5EYXRhLT5saW5lID0gbGluZU51bWJlcigpOworICAgIHRv
a2VuRGF0YS0+b2Zmc2V0ID0gY3VycmVudE9mZnNldCgpOworICAgIHRva2VuRGF0YS0+bGluZVN0
YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVTdGFydE9mZnNldCgpOworICAgIEFTU0VSVCh0b2tlbkRh
dGEtPm9mZnNldCA+PSB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCk7Cit9CisjZW5kaWYKKwog
dGVtcGxhdGUgPHR5cGVuYW1lIFQ+CiBKU1Rva2VuVHlwZSBMZXhlcjxUPjo6bGV4KEpTVG9rZW4q
IHRva2VuUmVjb3JkLCB1bnNpZ25lZCBsZXhlckZsYWdzLCBib29sIHN0cmljdE1vZGUpCiB7CkBA
IC0xNDU2LDcgKzE0NjgsMTIgQEAgc3RhcnQ6CiAgICAgICAgIH0KICAgICAgICAgdG9rZW4gPSBH
VDsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBDaGFyYWN0ZXJFcXVhbDoKKyAgICBjYXNlIENo
YXJhY3RlckVxdWFsOiB7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICAgICAgdWludDMyX3Qgc2F2ZWRsaW5lTnVtYmVyID0gdG9rZW5EYXRhLT5saW5lOworICAgICAg
ICB1aW50MzJfdCBzYXZlZE9mZnNldCA9IGN1cnJlbnRPZmZzZXQoKTsKKyAgICAgICAgdWludDMy
X3Qgc2F2ZWRMaW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0KCk7CisjZW5k
aWYKICAgICAgICAgc2hpZnQoKTsKICAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnPScpIHsKICAg
ICAgICAgICAgIHNoaWZ0KCk7CkBAIC0xNDY4LDggKzE0ODUsMjMgQEAgc3RhcnQ6CiAgICAgICAg
ICAgICB0b2tlbiA9IEVRRVE7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorICAgICAg
ICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAobV9j
dXJyZW50ID09ICc+JykgeworICAgICAgICAgICAgc2hpZnQoKTsKKyAgICAgICAgICAgIHRva2Vu
ID0gQVJST1dGVU5DVElPTjsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgdG9rZW5EYXRhLT5s
aW5lID0gc2F2ZWRsaW5lTnVtYmVyOworICAgICAgICAgICAgdG9rZW5EYXRhLT5vZmZzZXQgPSBz
YXZlZE9mZnNldDsKKyAgICAgICAgICAgIHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0ID0gc2F2
ZWRMaW5lU3RhcnRPZmZzZXQ7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIEFTU0VSVCh0b2tl
bkRhdGEtPm9mZnNldCA+PSB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCk7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIHRva2VuID0gRVFVQUw7CiAgICAg
ICAgIGJyZWFrOworICAgIH0KICAgICBjYXNlIENoYXJhY3Rlckxlc3M6CiAgICAgICAgIHNoaWZ0
KCk7CiAgICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJyEnICYmIHBlZWsoMSkgPT0gJy0nICYmIHBl
ZWsoMikgPT0gJy0nKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L0xleGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKaW5kZXggODFi
NDMzNGQ4NDlkODNlNzVmYWRhZmVmNTQyMDg0MTZhOGQxNmQ2Ni4uZTYxZjNiMjQ0YjMxZDJhZjI2
YTEzY2E1MjlhNjJlNzU2YjljODRjMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9MZXhlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIu
aApAQCAtODUsNiArODUsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRJc1JlcGFyc2luZygpIHsg
bV9pc1JlcGFyc2luZyA9IHRydWU7IH0KICAgICBib29sIGlzUmVwYXJzaW5nKCkgY29uc3QgeyBy
ZXR1cm4gbV9pc1JlcGFyc2luZzsgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICB2b2lkIHNldFRva2VuUG9zaXRpb24oSlNUb2tlbiogdG9rZW5SZWNvcmQpOwor
I2VuZGlmCiAgICAgSlNUb2tlblR5cGUgbGV4KEpTVG9rZW4qLCB1bnNpZ25lZCwgYm9vbCBzdHJp
Y3RNb2RlKTsKICAgICBib29sIG5leHRUb2tlbklzQ29sb24oKTsKICAgICBpbnQgbGluZU51bWJl
cigpIGNvbnN0IHsgcmV0dXJuIG1fbGluZU51bWJlcjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9QYXJzZXIuY3BwCmluZGV4IDYzMThmZDYzNmJlYjNlN2I5MWQyOGY2NDk2YWVkOWFmN2Jk
ODcxOGMuLjJmZGZlMDE0OWM2YzFjZTk3ZGZmODhlYmE5OWQyOWQxODIyNTZjZjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKQEAgLTMyMiw5ICszMjIsMTMgQEAgYm9v
bCBQYXJzZXI8TGV4ZXJUeXBlPjo6YWxsb3dBdXRvbWF0aWNTZW1pY29sb24oKQogewogICAgIHJl
dHVybiBtYXRjaChDTE9TRUJSQUNFKSB8fCBtYXRjaChFT0ZUT0spIHx8IG1fbGV4ZXItPnByZXZU
ZXJtaW5hdG9yKCk7CiB9Ci0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
dGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsZW1l
bnRzKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBTb3VyY2VFbGVtZW50c01vZGUgbW9kZSwgRnVuY3Rp
b25QYXJzZVR5cGUgdHlwZSkKKyNlbHNlCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgog
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJj
ZUVsZW1lbnRzTW9kZSBtb2RlKQorI2VuZGlmCiB7CiAgICAgY29uc3QgdW5zaWduZWQgbGVuZ3Ro
T2ZVc2VTdHJpY3RMaXRlcmFsID0gMTI7IC8vICJ1c2Ugc3RyaWN0Ii5sZW5ndGgKICAgICBUcmVl
U291cmNlRWxlbWVudHMgc291cmNlRWxlbWVudHMgPSBjb250ZXh0LmNyZWF0ZVNvdXJjZUVsZW1l
bnRzKCk7CkBAIC0zMzMsNyArMzM3LDExIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsCiAgICAg
dW5zaWduZWQgZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDA7CiAgICAgYXV0byBzYXZlUG9pbnQg
PSBjcmVhdGVTYXZlUG9pbnQoKTsKICAgICBib29sIGhhc1NldFN0cmljdCA9IGZhbHNlOworI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgd2hpbGUgKFRyZWVTdGF0ZW1l
bnQgc3RhdGVtZW50ID0gcGFyc2VTdGF0ZW1lbnQoY29udGV4dCwgZGlyZWN0aXZlLCAmZGlyZWN0
aXZlTGl0ZXJhbExlbmd0aCwgdHlwZSkpIHsKKyNlbHNlCiAgICAgd2hpbGUgKFRyZWVTdGF0ZW1l
bnQgc3RhdGVtZW50ID0gcGFyc2VTdGF0ZW1lbnQoY29udGV4dCwgZGlyZWN0aXZlLCAmZGlyZWN0
aXZlTGl0ZXJhbExlbmd0aCkpIHsKKyNlbmRpZiAgICAgIAogICAgICAgICBpZiAobW9kZSA9PSBD
aGVja0ZvclN0cmljdE1vZGUgJiYgIXNlZW5Ob25EaXJlY3RpdmUpIHsKICAgICAgICAgICAgIGlm
IChkaXJlY3RpdmUpIHsKICAgICAgICAgICAgICAgICAvLyAidXNlIHN0cmljdCIgbXVzdCBiZSB0
aGUgZXhhY3QgbGl0ZXJhbCB3aXRob3V0IGVzY2FwZSBzZXF1ZW5jZXMgb3IgbGluZSBjb250aW51
YXRpb24uCkBAIC01NzEsNiArNTc5LDMyIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6dHJ5UGFyCiAgICAg
cmV0dXJuIHBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuKGNvbnRleHQsIERlY29uc3RydWN0VG9F
eHByZXNzaW9ucyk7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
dGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uU3Rh
dGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0KQoreworICAgIEFTU0VSVChtYXRjaChBUlJPV0ZV
TkNUSU9OKSk7CisKKyAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigp
KTsKKyAgICBzZW1hbnRpY0ZhaWxJZkZhbHNlKGN1cnJlbnRTY29wZSgpLT5pc0Z1bmN0aW9uKCks
ICJSZXR1cm4gc3RhdGVtZW50cyBhcmUgb25seSB2YWxpZCBpbnNpZGUgYXJyb3cgZnVuY3Rpb25z
Iik7CisgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAg
ICBKU1RleHRQb3NpdGlvbiBlbmQgPSB0b2tlbkVuZFBvc2l0aW9uKCk7CisKKyAgICBuZXh0KCk7
CisgICAgVHJlZUV4cHJlc3Npb24gZXhwciA9IHBhcnNlQXJyb3dFeHByZXNzaW9uKGNvbnRleHQp
OworICAgIGZhaWxJZkZhbHNlKGV4cHIsICJDYW5ub3QgcGFyc2UgdGhlIGFycm93IGZ1bmN0aW9u
IGV4cHJlc3Npb24iKTsKKyAgICBlbmQgPSBsYXN0VG9rZW5FbmRQb3NpdGlvbigpOworCisgICAg
Ym9vbCBjb3JyZWNBcnJvd0ZpbmlzaCA9IG1hdGNoKFNFTUlDT0xPTikgfHwgbWF0Y2goQ09NTUEp
IHx8IG1hdGNoKENMT1NFUEFSRU4pIHx8IG1hdGNoKENMT1NFQlJBQ0UpIHx8IG1hdGNoKENMT1NF
QlJBQ0tFVCkgfHwgbWF0Y2goRU9GVE9LKTsKKyAgICBmYWlsSWZGYWxzZShjb3JyZWNBcnJvd0Zp
bmlzaCwgIkV4cGVjdGVkIGEgJzsnLCAnXScsICd9JywgJyknLCBvciAnLCcgZm9sbG93aW5nIGEg
YXJyb3cgZnVuY3Rpb24gc3RhdGVtZW50Iik7CisKKyAgICBlbmQgPSB0b2tlbkVuZFBvc2l0aW9u
KCk7CisgICAgc2V0RW5kT2ZTdGF0ZW1lbnQoKTsKKworICAgIHJldHVybiBjb250ZXh0LmNyZWF0
ZVJldHVyblN0YXRlbWVudChsb2NhdGlvbiwgZXhwciwgc3RhcnQsIGVuZCk7Cit9CisjZW5kaWYK
KwogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VE
ZWNvbnN0cnVjdGlvblBhdHRlcm4oVHJlZUJ1aWxkZXImIGNvbnRleHQsIERlY29uc3RydWN0aW9u
S2luZCBraW5kLCBpbnQgZGVwdGgpCiB7CkBAIC0xMTM4LDggKzExNzIsMTMgQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUJsb2NrU3RhdGVtZW4KICAgICByZXR1cm4gcmVzdWx0OwogfQogCisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiYg
ZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCwgRnVuY3Rpb25QYXJz
ZVR5cGUgdHlwZSkKKyNlbHNlCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciomIGRp
cmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgpCisjZW5kaWYKIHsKICAg
ICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50RGVwdGgpOwogICAgIG1f
c3RhdGVtZW50RGVwdGgrKzsKQEAgLTExNDgsNiArMTE4NywyOCBAQCB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVt
ZW50KFRyZQogICAgIGZhaWxJZlN0YWNrT3ZlcmZsb3coKTsKICAgICBUcmVlU3RhdGVtZW50IHJl
c3VsdCA9IDA7CiAgICAgYm9vbCBzaG91bGRTZXRFbmRPZmZzZXQgPSB0cnVlOworCisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBib29sIGhhbmRsZWQgPSBmYWxzZTsK
KyAgICBpZiAodHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIHN3aXRj
aCAobV90b2tlbi5tX3R5cGUpIHsKKyAgICAgICAgY2FzZSBDTE9TRVBBUkVOOgorICAgICAgICBj
YXNlIENMT1NFQlJBQ0tFVDoKKyAgICAgICAgY2FzZSBDT01NQToKKyAgICAgICAgY2FzZSBTRU1J
Q09MT046IHsKKyAgICAgICAgICAgIHJlc3VsdCA9IDA7CisgICAgICAgICAgICBoYW5kbGVkID0g
dHJ1ZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGRlZmF1bHQ6Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChoYW5kbGVkKQorICAg
ICAgICAgICAgZ290byBlbmRTdGF0ZW1lbmV0OworfQorI2VuZGlmCisKICAgICBzd2l0Y2ggKG1f
dG9rZW4ubV90eXBlKSB7CiAgICAgY2FzZSBPUEVOQlJBQ0U6CiAgICAgICAgIHJlc3VsdCA9IHBh
cnNlQmxvY2tTdGF0ZW1lbnQoY29udGV4dCk7CkBAIC0xMTkzLDYgKzEyNTQsMTEgQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZVN0YXRlbWVudChUcmUKICAgICBjYXNlIEJSRUFLOgogICAgICAgICByZXN1bHQgPSBwYXJz
ZUJyZWFrU3RhdGVtZW50KGNvbnRleHQpOwogICAgICAgICBicmVhazsKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2UgQVJST1dGVU5DVElPTjoKKyAgICAgICAg
cmVzdWx0ID0gcGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KGNvbnRleHQpOworICAgICAgICBi
cmVhazsKKyNlbmRpZgogICAgIGNhc2UgUkVUVVJOOgogICAgICAgICByZXN1bHQgPSBwYXJzZVJl
dHVyblN0YXRlbWVudChjb250ZXh0KTsKICAgICAgICAgYnJlYWs7CkBAIC0xMjM0LDYgKzEzMDAs
OCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAgICAgICBicmVhazsKICAgICB9CiAKK2Vu
ZFN0YXRlbWVuZXQ6CisKICAgICBpZiAocmVzdWx0ICYmIHNob3VsZFNldEVuZE9mZnNldCkKICAg
ICAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQocmVzdWx0LCBtX2xhc3RUb2tlbkVuZFBvc2l0aW9u
Lm9mZnNldCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTEyNTQsNiArMTMyMiwyMyBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0IFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUZvcgogICAgIHJldHVybiBsaXN0OwogfQogCisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGdW5jdGlvbkJvZHkgUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7Cisg
ICAgSlNUb2tlbkxvY2F0aW9uIHN0YXJ0TG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICB1
bnNpZ25lZCBzdGFydENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CisKKyAgICBEZXB0aE1hbmFnZXIg
c3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50RGVwdGgpOworICAgIG1fc3RhdGVtZW50RGVwdGgg
PSAwOworICAgIHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpGdW5jdGlvbkJvZHlCdWlsZGVyIGJvZHlC
dWlsZGVyKGNvbnN0X2Nhc3Q8Vk0qPihtX3ZtKSwgbV9sZXhlci5nZXQoKSk7CisKKyAgICBmYWls
SWZGYWxzZShwYXJzZVNvdXJjZUVsZW1lbnRzKGJvZHlCdWlsZGVyLCBDaGVja0ZvclN0cmljdE1v
ZGUsIEFycm93RnVuY3Rpb25QYXJzZVR5cGUpLCAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBh
cnJvdyBmdW5jdGlvbiIpOworICAgIHVuc2lnbmVkIGVuZENvbHVtbiA9IHRva2VuQ29sdW1uKCk7
CisgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0YXJ0TG9jYXRpb24sIHRv
a2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgc3RyaWN0TW9kZSgpKTsKK30K
KyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlRnVuY3Rpb25Cb2R5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1
bmN0aW9uQm9keShUcmVlQnVpbGRlciYgY29udGV4dCkKIHsKQEAgLTE0MDksNiArMTQ5NCwxNjAg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJU
eXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZUFycm93RnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblBh
cnNlTW9kZSBtb2RlLCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvKQorewor
ICAgIEF1dG9Qb3BTY29wZVJlZiBmdW5jdGlvblNjb3BlKHRoaXMsIHB1c2hTY29wZSgpKTsKKyAg
ICBmdW5jdGlvblNjb3BlLT5zZXRJc0Z1bmN0aW9uKCk7CisgICAgaW50IGZ1bmN0aW9uTmFtZVN0
YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OworICAgIGNvbnN0IElkZW50aWZp
ZXIqIGxhc3RGdW5jdGlvbk5hbWUgPSBtX2xhc3RGdW5jdGlvbk5hbWU7CisgICAgbV9sYXN0RnVu
Y3Rpb25OYW1lID0gbnVsbHB0cjsKKworICAgIGlmICghbWF0Y2goSURFTlQpICYmICFtYXRjaChP
UEVOUEFSRU4pKSB7CisgICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdG
b3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSIpOworICAgICAgICBmYWlsV2l0aE1lc3NhZ2Uo
IkV4cGVjdGVkIGFuIGFycm93IGZ1bmN0aW9uIGlucHV0IHBhcmFtZXRlciIpOworICAgIH0gZWxz
ZSB7CisgICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgICAgICBjb25zdW1l
KE9QRU5QQVJFTik7CisKKyAgICAgICAgICAgIGlmICghbWF0Y2goQ0xPU0VQQVJFTikpIHsKKyAg
ICAgICAgICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoY29u
dGV4dCk7CisgICAgICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJzLCAiQ2Fu
bm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1v
ZGUpKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBB
UkVOLCAiRXhwZWN0ZWQgYSAnKScgb3IgYSAnLCcgYWZ0ZXIgYSBwYXJhbWV0ZXIgZGVjbGFyYXRp
b24iKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9IHBh
cnNlRm9ybWFsUGFyYW1ldGVycyhjb250ZXh0KTsKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKGlu
Zm8ucGFyYW1ldGVycywgIkNhbm5vdCBwYXJzZSBwYXJhbWV0ZXJzIGZvciB0aGlzICIsIHN0cmlu
Z0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBtYXRjaE9y
RmFpbChBUlJPV0ZVTkNUSU9OLCAiRXhwZWN0ZWQgYSAnPT4nIGFmdGVyIGFycm93IGZ1bmN0aW9u
IHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOworCisgICAgaW5mby5hcnJvd0Z1bmN0aW9uT2Zmc2V0
ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgIGluZm8ub3BlbkJyYWNlT2Zmc2V0ID0gbV90
b2tlbi5tX2RhdGEub2Zmc2V0OworICAgIGluZm8uYm9keVN0YXJ0TGluZSA9IHRva2VuTGluZSgp
OworICAgIGluZm8uYm9keVN0YXJ0Q29sdW1uID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0IC0gbV90
b2tlbi5tX2RhdGEubGluZVN0YXJ0T2Zmc2V0OworCisgICAgSlNUb2tlbkxvY2F0aW9uIHN0YXJ0
TG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKworICAgIC8vIElmIHdlIGtub3cgYWJvdXQgdGhp
cyBmdW5jdGlvbiBhbHJlYWR5LCB3ZSBjYW4gdXNlIHRoZSBjYWNoZWQgaW5mbyBhbmQgc2tpcCB0
aGUgcGFyc2VyIHRvIHRoZSBlbmQgb2YgdGhlIGZ1bmN0aW9uLgorICAgIGlmIChjb25zdCBTb3Vy
Y2VQcm92aWRlckNhY2hlSXRlbSogY2FjaGVkSW5mbyA9IFRyZWVCdWlsZGVyOjpDYW5Vc2VGdW5j
dGlvbkNhY2hlID8gZmluZENhY2hlZEZ1bmN0aW9uSW5mbyhpbmZvLm9wZW5CcmFjZU9mZnNldCkg
OiAwKSB7CisgICAgICAgIC8vIElmIHdlJ3JlIGluIGEgc3RyaWN0IGNvbnRleHQsIHRoZSBjYWNo
ZWQgZnVuY3Rpb24gaW5mbyBtdXN0IHNheSBpdCB3YXMgc3RyaWN0IHRvby4KKyAgICAgICAgQVNT
RVJUKCFzdHJpY3RNb2RlKCkgfHwgY2FjaGVkSW5mby0+c3RyaWN0TW9kZSk7CisgICAgICAgIEpT
VG9rZW5Mb2NhdGlvbiBlbmRMb2NhdGlvbjsKKworICAgICAgICBlbmRMb2NhdGlvbi5saW5lID0g
Y2FjaGVkSW5mby0+Y2xvc2VCcmFjZUxpbmU7CisgICAgICAgIGVuZExvY2F0aW9uLnN0YXJ0T2Zm
c2V0ID0gY2FjaGVkSW5mby0+Y2xvc2VCcmFjZU9mZnNldDsKKyAgICAgICAgZW5kTG9jYXRpb24u
bGluZVN0YXJ0T2Zmc2V0ID0gY2FjaGVkSW5mby0+Y2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldDsK
KworICAgICAgICBib29sIGVuZENvbHVtbklzT25TdGFydExpbmUgPSAoZW5kTG9jYXRpb24ubGlu
ZSA9PSBpbmZvLmJvZHlTdGFydExpbmUpOworICAgICAgICBBU1NFUlQoZW5kTG9jYXRpb24uc3Rh
cnRPZmZzZXQgPj0gZW5kTG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0KTsKKyAgICAgICAgdW5zaWdu
ZWQgYm9keUVuZENvbHVtbiA9IGVuZENvbHVtbklzT25TdGFydExpbmUgPworICAgICAgICBlbmRM
b2NhdGlvbi5zdGFydE9mZnNldCAtIG1fdG9rZW4ubV9kYXRhLmxpbmVTdGFydE9mZnNldCA6Cisg
ICAgICAgIGVuZExvY2F0aW9uLnN0YXJ0T2Zmc2V0IC0gZW5kTG9jYXRpb24ubGluZVN0YXJ0T2Zm
c2V0OworICAgICAgICB1bnNpZ25lZCBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0ID0gbV90b2tlbi5t
X2xvY2F0aW9uLmxpbmVTdGFydE9mZnNldDsKKworICAgICAgICBpbmZvLmJvZHkgPSBjb250ZXh0
LmNyZWF0ZUZ1bmN0aW9uQm9keShzdGFydExvY2F0aW9uLCBlbmRMb2NhdGlvbiwgaW5mby5ib2R5
U3RhcnRDb2x1bW4sIGJvZHlFbmRDb2x1bW4sIGNhY2hlZEluZm8tPnN0cmljdE1vZGUpOworCisg
ICAgICAgIGZ1bmN0aW9uU2NvcGUtPnJlc3RvcmVGcm9tU291cmNlUHJvdmlkZXJDYWNoZShjYWNo
ZWRJbmZvKTsKKyAgICAgICAgZmFpbElmRmFsc2UocG9wU2NvcGUoZnVuY3Rpb25TY29wZSwgVHJl
ZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQYXJzZXIgZXJyb3IiKTsKKworICAg
ICAgICBpbmZvLmNsb3NlQnJhY2VPZmZzZXQgPSBjYWNoZWRJbmZvLT5jbG9zZUJyYWNlT2Zmc2V0
OworICAgICAgICBpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlwZSA9IGNhY2hlZEluZm8tPmlzQm9k
eUFycm93RnVuY3Rpb25CbG9jayA/IEFycm93RnVuY3Rpb25Cb2R5QmxvY2sgOiBBcnJvd0Z1bmN0
aW9uQm9keUV4cHJlc3Npb247CisKKyAgICAgICAgY29udGV4dC5zZXRGdW5jdGlvbk5hbWVTdGFy
dChpbmZvLmJvZHksIGZ1bmN0aW9uTmFtZVN0YXJ0KTsKKyAgICAgICAgCisgICAgICAgIG1fdG9r
ZW4gPSBpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUJsb2Nr
ID8gY2FjaGVkSW5mby0+Y2xvc2VCcmFjZVRva2VuKCkgOiBjYWNoZWRJbmZvLT5lbmRBcnJvd0Z1
bmN0aW9uVG9rZW4oKTsKKyAgICAgICAgCisgICAgICAgIGlmIChlbmRDb2x1bW5Jc09uU3RhcnRM
aW5lKQorICAgICAgICAgICAgbV90b2tlbi5tX2xvY2F0aW9uLmxpbmVTdGFydE9mZnNldCA9IGN1
cnJlbnRMaW5lU3RhcnRPZmZzZXQ7CisKKyAgICAgICAgbV9sZXhlci0+c2V0T2Zmc2V0KG1fdG9r
ZW4ubV9sb2NhdGlvbi5lbmRPZmZzZXQsIG1fdG9rZW4ubV9sb2NhdGlvbi5saW5lU3RhcnRPZmZz
ZXQpOworICAgICAgICBtX2xleGVyLT5zZXRMaW5lTnVtYmVyKG1fdG9rZW4ubV9sb2NhdGlvbi5s
aW5lKTsKKworICAgICAgICBjb250ZXh0LnNldEVuZE9mZnNldChpbmZvLmJvZHksIG1fbGV4ZXIt
PmN1cnJlbnRPZmZzZXQoKSk7CisgICAgICAgIAorICAgICAgICBpZiAoaW5mby5hcnJvd0Z1bmN0
aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jaykKKyAgICAgICAgICAgIG5leHQo
KTsKKyAgICAgICAgCisgICAgICAgIGluZm8uYm9keUVuZExpbmUgPSBtX2xhc3RUb2tlbkVuZFBv
c2l0aW9uLmxpbmU7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICBtX2xhc3RGdW5j
dGlvbk5hbWUgPSBsYXN0RnVuY3Rpb25OYW1lOworICAgIFBhcnNlclN0YXRlIG9sZFN0YXRlID0g
c2F2ZVN0YXRlKCk7CisKKyAgICBTYXZlUG9pbnQgc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50
KCk7CisgICAgbmV4dCgpOworICAgIC8vIENoZWNrIGlmIGFycm93IGJvZHkgc3RhcnQgd2l0aCB7
LiBJZiBpdCB0cnVlIGl0IG1lYW4gdGhhdCBhcnJvdyBmdW5jdGlvbiBpcyBGYXQgYXJyb3cgZnVu
Y3Rpb24KKyAgICAvLyBhbmQgd2UgbmVlZCB1c2UgY29tbW9uIGFwcHJvYWNoIHRvIHBhcnNlIGZ1
bmN0aW9uIGJvZHkKKyAgICAKKyAgICBpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlwZSA9IG1hdGNo
KE9QRU5CUkFDRSkgPyBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrIDogQXJyb3dGdW5jdGlvbkJvZHlF
eHByZXNzaW9uOworICAgIAorICAgIGlmIChpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlwZSA9PSBB
cnJvd0Z1bmN0aW9uQm9keUJsb2NrKSB7CisgICAgICAgIGluZm8ub3BlbkJyYWNlT2Zmc2V0ID0g
bV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgICAgICBpbmZvLmJvZHlTdGFydExpbmUgPSB0b2tl
bkxpbmUoKTsKKyAgICAgICAgaW5mby5ib2R5U3RhcnRDb2x1bW4gPSBtX3Rva2VuLm1fZGF0YS5v
ZmZzZXQgLSBtX3Rva2VuLm1fZGF0YS5saW5lU3RhcnRPZmZzZXQ7CisgICAgICAgIAorICAgICAg
ICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0KTsKKyAgICB9IGVsc2Ugewor
ICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CisgICAgICAgIGluZm8uYm9keSA9
IHBhcnNlQXJyb3dGdW5jdGlvbkJvZHkoY29udGV4dCk7CisgICAgfQorCisgICAgcmVzdG9yZVN0
YXRlKG9sZFN0YXRlKTsKKyAgICBmYWlsSWZGYWxzZShpbmZvLmJvZHksICJDYW5ub3QgcGFyc2Ug
dGhlIGJvZHkgb2YgdGhpcyAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOworICAgIGNv
bnRleHQuc2V0RW5kT2Zmc2V0KGluZm8uYm9keSwgbV9sZXhlci0+Y3VycmVudE9mZnNldCgpKTsK
KyAgICBpZiAoZnVuY3Rpb25TY29wZS0+c3RyaWN0TW9kZSgpICYmIGluZm8ubmFtZSkgeworICAg
ICAgICBSRUxFQVNFX0FTU0VSVChtb2RlID09IEZ1bmN0aW9uTW9kZSk7CisgICAgICAgIHNlbWFu
dGljRmFpbElmVHJ1ZShtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5hcmd1bWVudHMgPT0gKmluZm8ubmFt
ZSwgIiciLCBpbmZvLm5hbWUtPmltcGwoKSwgIicgaXMgbm90IGEgdmFsaWQgZnVuY3Rpb24gbmFt
ZSBpbiBzdHJpY3QgbW9kZSIpOworICAgICAgICBzZW1hbnRpY0ZhaWxJZlRydWUobV92bS0+cHJv
cGVydHlOYW1lcy0+ZXZhbCA9PSAqaW5mby5uYW1lLCAiJyIsIGluZm8ubmFtZS0+aW1wbCgpLCAi
JyBpcyBub3QgYSB2YWxpZCBmdW5jdGlvbiBuYW1lIGluIHN0cmljdCBtb2RlIik7CisgICAgfQor
ICAgIAorICAgIGluZm8uY2xvc2VCcmFjZU9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsK
KyAgICAKKyAgICB1bnNpZ25lZCBjbG9zZUJyYWNlTGluZSA9IG1fdG9rZW4ubV9kYXRhLmxpbmU7
CisgICAgdW5zaWduZWQgY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldCA9IG1fdG9rZW4ubV9kYXRh
LmxpbmVTdGFydE9mZnNldDsKKyAgICBib29sIGlzQm9keUFycm93RnVuY3Rpb25CbG9jayA9IGlu
Zm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2s7CisKKyAg
ICAvLyBDYWNoZSB0aGUgdG9rZW5pemVyIHN0YXRlIGFuZCB0aGUgZnVuY3Rpb24gc2NvcGUgdGhl
IGZpcnN0IHRpbWUgdGhlIGZ1bmN0aW9uIGlzIHBhcnNlZC4KKyAgICAvLyBBbnkgZnV0dXJlIHJl
cGFyc2luZyBjYW4gdGhlbiBza2lwIHRoZSBmdW5jdGlvbi4KKyAgICBzdGF0aWMgY29uc3QgaW50
IG1pbmltdW1GdW5jdGlvbkxlbmd0aFRvQ2FjaGUgPSAxNjsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8
U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0+IG5ld0luZm87CisgICAgaW50IGZ1bmN0aW9uTGVuZ3Ro
ID0gaW5mby5jbG9zZUJyYWNlT2Zmc2V0IC0gaW5mby5vcGVuQnJhY2VPZmZzZXQ7CisgICAgaWYg
KFRyZWVCdWlsZGVyOjpDYW5Vc2VGdW5jdGlvbkNhY2hlICYmIG1fZnVuY3Rpb25DYWNoZSAmJiBm
dW5jdGlvbkxlbmd0aCA+IG1pbmltdW1GdW5jdGlvbkxlbmd0aFRvQ2FjaGUpIHsKKyAgICAgICAg
U291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMgcGFyYW1ldGVyczsKKyAg
ICAgICAgcGFyYW1ldGVycy5mdW5jdGlvbk5hbWVTdGFydCA9IGZ1bmN0aW9uTmFtZVN0YXJ0Owor
ICAgICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VMaW5lID0gY2xvc2VCcmFjZUxpbmU7CisgICAg
ICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFjZU9mZnNldCA9IGluZm8uY2xvc2VCcmFjZU9mZnNldDsK
KyAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0ID0gY2xvc2VCcmFj
ZUxpbmVTdGFydE9mZnNldDsKKyAgICAgICAgcGFyYW1ldGVycy5pc0JvZHlBcnJvd0Z1bmN0aW9u
QmxvY2sgPSBpc0JvZHlBcnJvd0Z1bmN0aW9uQmxvY2s7CisgICAgICAgIHBhcmFtZXRlcnMudG9r
ZW5UeXBlID0gbV90b2tlbi5tX3R5cGU7CisgICAgICAgIAorICAgICAgICBmdW5jdGlvblNjb3Bl
LT5maWxsUGFyYW1ldGVyc0ZvclNvdXJjZVByb3ZpZGVyQ2FjaGUocGFyYW1ldGVycyk7CisgICAg
ICAgIG5ld0luZm8gPSBTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6Y3JlYXRlKHBhcmFtZXRlcnMp
OworICAgIH0KKyAgICBjb250ZXh0LnNldEZ1bmN0aW9uTmFtZVN0YXJ0KGluZm8uYm9keSwgZnVu
Y3Rpb25OYW1lU3RhcnQpOworCisgICAgZmFpbElmRmFsc2UocG9wU2NvcGUoZnVuY3Rpb25TY29w
ZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQYXJzZXIgZXJyb3IiKTsK
KworICAgIGlmIChpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9k
eUJsb2NrKSB7CisgICAgICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0UsICJFeHBlY3RlZCBhIGNs
b3NpbmcgJ30nIGFmdGVyIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHki
KTsKKyAgICAgICAgbmV4dCgpOworICAgIH0gZWxzZSB7CisgICAgICAgIGJvb2wgaXNFbmRPZkFy
cm93RnVuY3Rpb24gPSBtYXRjaChTRU1JQ09MT04pIHx8IG1hdGNoKENPTU1BKSB8fCBtYXRjaChD
TE9TRVBBUkVOKSB8fCBtYXRjaChDTE9TRUJSQUNFKSB8fCBtYXRjaChDTE9TRUJSQUNLRVQpOwor
ICAgICAgICBmYWlsSWZGYWxzZShpc0VuZE9mQXJyb3dGdW5jdGlvbiwgIkV4cGVjdGVkIHRoZSBj
bG9zaW5nICc7JyAnLCcgJ10nICcpJyAnfScgYWZ0ZXIgYXJyb3cgZnVuY3Rpb24iKTsKKyAgICB9
CisKKyAgICBpZiAobmV3SW5mbykKKyAgICAgICAgbV9mdW5jdGlvbkNhY2hlLT5hZGQoaW5mby5v
cGVuQnJhY2VPZmZzZXQsIFdURjo6bW92ZShuZXdJbmZvKSk7CisgICAgCisgICAgaW5mby5ib2R5
RW5kTGluZSA9IG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZTsKKyAgICByZXR1cm4gdHJ1ZTsK
K30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1
bmN0aW9uRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7CkBAIC0xNzIyLDYgKzE5
NjEsMTggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUlmU3RhdGVtZW50KFQKICAgICByZXR1cm4gY29udGV4dC5jcmVh
dGVJZlN0YXRlbWVudChpZkxvY2F0aW9uLCBjb25kaXRpb24sIHRydWVCbG9jaywgc3RhdGVtZW50
U3RhY2subGFzdCgpLCBzdGFydCwgZW5kKTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VB
cnJvd0V4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAgZmFpbElmU3RhY2tP
dmVyZmxvdygpOworICAgIFRyZWVFeHByZXNzaW9uIG5vZGUgPSBwYXJzZUFzc2lnbm1lbnRFeHBy
ZXNzaW9uKGNvbnRleHQpOworICAgIGZhaWxJZkZhbHNlKG5vZGUsICJDYW5ub3QgcGFyc2UgZXhw
cmVzc2lvbiIpOworICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KG5vZGUsIG1fbGFzdFRva2VuRW5k
UG9zaXRpb24ub2Zmc2V0KTsKKyAgICByZXR1cm4gbm9kZTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0
ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
RXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHByZXNzaW9uKFRyZWVCdWlsZGVy
JiBjb250ZXh0KQogewpAQCAtMTc2OSw2ICsyMDIwLDQ0IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBU
cmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXNzaWdu
bWVuCiAgICAgICAgIH0KICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlUG9pbnQpOwogICAg
IH0KKworCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBTYXZlUG9p
bnQgc2F2ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgIGJvb2wg
YXJyb3dGdW5jdGlvbkVtcHR5TGlzdCA9IGZhbHNlOworICAgIGlmIChtYXRjaChPUEVOUEFSRU4p
KSB7CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgaWYgKG1hdGNoKENMT1NFUEFSRU4pKSB7Cisg
ICAgICAgICAgICBuZXh0KCk7CisKKyAgICAgICAgICAgIGlmIChtYXRjaChBUlJPV0ZVTkNUSU9O
KSkKKyAgICAgICAgICAgICAgICBhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0ID0gdHJ1ZTsKKyAgICAg
ICAgfQorCisgICAgICAgIGlmICghYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCkKKyAgICAgICAgICAg
IHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAgfQorI2VuZGlm
CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFRyZWVFeHByZXNz
aW9uIGxoczsKKyAgICBpZiAoIWFycm93RnVuY3Rpb25FbXB0eUxpc3QpIHsKKyAgICAgICAgbGhz
ID0gcGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24oY29udGV4dCk7CisgICAgICAgIGZhaWxJZkZh
bHNlKGxocywgIkNhbhlub3QgcGFyc2UgZXhwcmVzc2lvbiIpOworICAgICAgICBpZiAoaW5pdGlh
bE5vbkxIU0NvdW50ICE9IG1fbm9uTEhTQ291bnQpIHsKKyAgICAgICAgICAgIGlmIChtX3Rva2Vu
Lm1fdHlwZSA+PSBFUVVBTCAmJiBtX3Rva2VuLm1fdHlwZSA8PSBPUkVRVUFMKQorICAgICAgICAg
ICAgICAgIHNlbWFudGljRmFpbCgiTGVmdCBoYW5kIHNpZGUgb2Ygb3BlcmF0b3IgJyIsIGdldFRv
a2VuKCksICInIG11c3QgYmUgYSByZWZlcmVuY2UiKTsKKworICAgICAgICAgICAgcmV0dXJuIGxo
czsKKyAgICAgICAgfQorICAgIH0KKyAgICAKKyAgICBpZiAobWF0Y2goQVJST1dGVU5DVElPTikp
IHsKKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAg
ICAgICAgbGhzID0gcGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihjb250ZXh0KTsKKyAgICAgICAg
cmV0dXJuIGxoczsKKyAgICB9CisjZWxzZQogICAgIFRyZWVFeHByZXNzaW9uIGxocyA9IHBhcnNl
Q29uZGl0aW9uYWxFeHByZXNzaW9uKGNvbnRleHQpOwogICAgIGZhaWxJZkZhbHNlKGxocywgIkNh
bm5vdCBwYXJzZSBleHByZXNzaW9uIik7CiAgICAgaWYgKGluaXRpYWxOb25MSFNDb3VudCAhPSBt
X25vbkxIU0NvdW50KSB7CkBAIC0xNzc3LDYgKzIwNjYsNyBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUg
VHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzc2ln
bm1lbgogCiAgICAgICAgIHJldHVybiBsaHM7CiAgICAgfQorI2VuZGlmCiAgICAgCiAgICAgaW50
IGFzc2lnbm1lbnRTdGFjayA9IDA7CiAgICAgT3BlcmF0b3Igb3A7CkBAIC0yMjA5LDYgKzI0OTks
MjMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAgcmV0dXJuIGNvbnRleHQudGhp
c0V4cHIobG9jYXRpb24pOwogICAgIH0KICAgICBjYXNlIElERU5UOiB7CisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0
aW9uUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICAgICAgSlNUZXh0UG9zaXRpb24gc3Rh
cnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRl
bnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKKyAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0
aW9uKHRva2VuTG9jYXRpb24oKSk7CisgICAgICAgIG5leHQoKTsKKworICAgICAgICBpZiAoIW1h
dGNoKEFSUk9XRlVOQ1RJT04pKSB7CisgICAgICAgICAgICBjdXJyZW50U2NvcGUoKS0+dXNlVmFy
aWFibGUoaWRlbnQsIG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmlkZW50KTsKKyAgICAg
ICAgICAgIG1fbGFzdElkZW50aWZpZXIgPSBpZGVudDsKKyAgICAgICAgICAgIHJldHVybiBjb250
ZXh0LmNyZWF0ZVJlc29sdmUobG9jYXRpb24sIGlkZW50LCBzdGFydCk7CisgICAgICAgIH0KKwor
ICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAg
ICBUcmVlRXhwcmVzc2lvbiBsaHMgPSBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKGNvbnRleHQp
OworICAgICAgICByZXR1cm4gbGhzOworI2Vsc2UKICAgICAgICAgSlNUZXh0UG9zaXRpb24gc3Rh
cnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRl
bnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0
aW9uKHRva2VuTG9jYXRpb24oKSk7CkBAIC0yMjE2LDYgKzI1MjMsNyBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVBy
aW1hcnlFeHByZQogICAgICAgICBjdXJyZW50U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRlbnQsIG1f
dm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmlkZW50KTsKICAgICAgICAgbV9sYXN0SWRlbnRp
ZmllciA9IGlkZW50OwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVSZXNvbHZlKGxvY2F0
aW9uLCBpZGVudCwgc3RhcnQpOworI2VuZGlmCiAgICAgfQogICAgIGNhc2UgU1RSSU5HOiB7CiAg
ICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CkBA
IC0yMzg4LDYgKzI2OTYsMzIgQEAgZW5kTWVtYmVyRXhwcmVzc2lvbjoKICAgICByZXR1cm4gYmFz
ZTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8
dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhw
cmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihUcmVl
QnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBUcmVlRXhwcmVzc2lvbiBiYXNlID0gMDsKKyAgICBK
U1RleHRQb3NpdGlvbiBleHByZXNzaW9uU3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAg
ICBpbnQgbmV3Q291bnQgPSAwOworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbjsKKworICAg
IGlmIChtYXRjaChJREVOVCkgfHwgbWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICB1bnNpZ25l
ZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2VuU3RhcnQoKTsKKyAgICAgICAgbG9jYXRpb24g
PSB0b2tlbkxvY2F0aW9uKCk7CisgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRl
cj4gaW5mbzsKKyAgICAgICAgaW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJ
ZGVudGlmaWVyOworICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VBcnJvd0Z1bmN0aW9uSW5mbyhj
b250ZXh0LCBGdW5jdGlvbk1vZGUsIGluZm8pKSwgIkNhbm5vdCBwYXJzZSBmdW5jdGlvbiBleHBy
ZXNzaW9uIik7CisgICAgICAgIGJhc2UgPSBjb250ZXh0LmNyZWF0ZUFycm93RnVuY3Rpb25FeHBy
KGxvY2F0aW9uLCBpbmZvLCBmdW5jdGlvbktleXdvcmRTdGFydCk7CisgICAgfSBlbHNlCisgICAg
ICAgIGJhc2UgPSBwYXJzZVByaW1hcnlFeHByZXNzaW9uKGNvbnRleHQpOworCisgICAgZmFpbElm
RmFsc2UoYmFzZSwgIkNhbm5vdCBwYXJzZSBiYXNlIGV4cHJlc3Npb24iKTsKKyAgICB3aGlsZSAo
bmV3Q291bnQtLSkKKyAgICAgICAgYmFzZSA9IGNvbnRleHQuY3JlYXRlTmV3RXhwcihsb2NhdGlv
biwgYmFzZSwgZXhwcmVzc2lvblN0YXJ0LCBsYXN0VG9rZW5FbmRQb3NpdGlvbigpKTsKKyAgICBy
ZXR1cm4gYmFzZTsKK30KKyNlbmRpZgorCiBzdGF0aWMgY29uc3QgY2hhciogb3BlcmF0b3JTdHJp
bmcoYm9vbCBwcmVmaXgsIHVuc2lnbmVkIHRvaykKIHsKICAgICBzd2l0Y2ggKHRvaykgewpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKaW5kZXggNTAxYzAzNjQ0ZDU1OTdiOGExYTFh
ZjNlOWY5YzgyZTE4NGVkMmQ4Yy4uNGYzNzdjZjE1N2Y3YmY5MjQyMjMzMjlkN2QwZjNkODQxOTgx
NzM2OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC04MCw2ICs4MCw5
IEBAIGNsYXNzIFNvdXJjZUNvZGU7CiBDT01QSUxFX0FTU0VSVChMYXN0VW50YWdnZWRUb2tlbiA8
IDY0LCBMZXNzVGhhbjY0VW50YWdnZWRUb2tlbnMpOwogCiBlbnVtIFNvdXJjZUVsZW1lbnRzTW9k
ZSB7IENoZWNrRm9yU3RyaWN0TW9kZSwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSB9OworI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitlbnVtIEZ1bmN0aW9uUGFyc2VUeXBlIHsg
U3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSwgQXJyb3dGdW5jdGlvblBhcnNlVHlwZSB9OworI2Vu
ZGlmCiBlbnVtIEZ1bmN0aW9uUmVxdWlyZW1lbnRzIHsgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywg
RnVuY3Rpb25OZWVkc05hbWUgfTsKIGVudW0gRnVuY3Rpb25QYXJzZU1vZGUgewogICAgIEZ1bmN0
aW9uTW9kZSwKQEAgLTcwMCw5ICs3MDMsMTUgQEAgcHJpdmF0ZToKICAgICAgICAgfQogICAgICAg
ICByZXR1cm4gcmVzdWx0OwogICAgIH0KLSAgICAKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNl
RWxlbWVudHMgcGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYsIFNvdXJjZUVsZW1lbnRz
TW9kZSwgRnVuY3Rpb25QYXJzZVR5cGUgdHlwZSA9IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUp
OworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0
YXRlbWVudChUcmVlQnVpbGRlciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2ln
bmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMCwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rp
b25QYXJzZVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNlbHNlCiAgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgcGFyc2VTb3VyY2VF
bGVtZW50cyhUcmVlQnVpbGRlciYsIFNvdXJjZUVsZW1lbnRzTW9kZSk7CiAgICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3RhdGVtZW50KFRyZWVCdWls
ZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxp
dGVyYWxMZW5ndGggPSAwKTsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgp
CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQ2xh
c3NEZWNsYXJhdGlvbihUcmVlQnVpbGRlciYpOwogI2VuZGlmCkBAIC03MjcsNiArNzM2LDkgQEAg
cHJpdmF0ZToKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQg
cGFyc2VJZlN0YXRlbWVudChUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZUJsb2NrU3RhdGVtZW50KFRyZWVCdWlsZGVyJik7
CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUV4
cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFy
c2VBcnJvd0V4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKKyNlbmRpZgogICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VBc3NpZ25tZW50RXhwcmVzc2lv
bihUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlT
X0lOTElORSBUcmVlRXhwcmVzc2lvbiBwYXJzZUNvbmRpdGlvbmFsRXhwcmVzc2lvbihUcmVlQnVp
bGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBU
cmVlRXhwcmVzc2lvbiBwYXJzZUJpbmFyeUV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKQEAgLTc0
Niw2ICs3NTgsMTMgQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVFeHByZXNzaW9uIHBhcnNlVmFyRGVjbGFyYXRpb25MaXN0KFRyZWVCdWlsZGVyJiwgaW50
JiBkZWNsYXJhdGlvbnMsIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4mIGxhc3RQYXR0ZXJuLCBU
cmVlRXhwcmVzc2lvbiYgbGFzdEluaXRpYWxpemVyLCBKU1RleHRQb3NpdGlvbiYgaWRlbnRTdGFy
dCwgSlNUZXh0UG9zaXRpb24mIGluaXRTdGFydCwgSlNUZXh0UG9zaXRpb24mIGluaXRFbmQsIFZh
ckRlY2xhcmF0aW9uTGlzdENvbnRleHQpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gTkVWRVJfSU5MSU5FIFRyZWVDb25zdERlY2xMaXN0IHBhcnNlQ29uc3REZWNsYXJhdGlvbkxp
c3QoVHJlZUJ1aWxkZXImKTsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQXJy
b3dGdW5jdGlvblN0YXRlbWVudChUcmVlQnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihUcmVl
QnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5F
IGJvb2wgcGFyc2VBcnJvd0Z1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUGFyc2VN
b2RlLCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+Jik7CisgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VBcnJv
d0Z1bmN0aW9uQm9keShUcmVlQnVpbGRlciYpOworI2VuZGlmCisKICAgICB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIGNy
ZWF0ZUJpbmRpbmdQYXR0ZXJuKFRyZWVCdWlsZGVyJiwgRGVjb25zdHJ1Y3Rpb25LaW5kLCBjb25z
dCBJZGVudGlmaWVyJiwgaW50IGRlcHRoLCBKU1Rva2VuKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIHBhcnNl
RGVjb25zdHJ1Y3Rpb25QYXR0ZXJuKFRyZWVCdWlsZGVyJiwgRGVjb25zdHJ1Y3Rpb25LaW5kLCBp
bnQgZGVwdGggPSAwKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lO
TElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIHRyeVBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0
ZXJuRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOwpAQCAtNzY2LDYgKzc4NSwxMyBAQCBwcml2YXRl
OgogICAgICAgICB9CiAgICAgICAgIHJldHVybiBhbGxvd0F1dG9tYXRpY1NlbWljb2xvbigpOwog
ICAgIH0KKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdm9pZCBz
ZXRFbmRPZlN0YXRlbWVudCgpCisgICAgeworICAgICAgICBtX2xleGVyLT5zZXRUb2tlblBvc2l0
aW9uKCZtX3Rva2VuKTsKKyAgICB9CisjZW5kaWYKICAgICAKICAgICBib29sIGNhblJlY3Vyc2Uo
KQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2Vy
RnVuY3Rpb25JbmZvLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0
aW9uSW5mby5oCmluZGV4IGUyMDgyNDU0MWEzMDYxNmRmNWI5ZTJiMTY3N2RhMDc5ZTliZTc3YTUu
LjYyMGFiN2U1ZWEzNWQwNDU1OTc0Yjc5ZDU3NWUwYzhhMzljMmM2YjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaApAQCAtMjgsNiAr
MjgsMTAgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorZW51bSBBcnJvd0Z1bmN0aW9uQm9keVR5cGUgeyBBcnJvd0Z1bmN0aW9uQm9k
eUV4cHJlc3Npb24sIEFycm93RnVuY3Rpb25Cb2R5QmxvY2t9OworI2VuZGlmCisgICAgCiB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+CiBzdHJ1Y3QgUGFyc2VyRnVuY3Rpb25JbmZvIHsKICAg
ICBjb25zdCBJZGVudGlmaWVyKiBuYW1lID0gMDsKQEAgLTM4LDYgKzQyLDEwIEBAIHN0cnVjdCBQ
YXJzZXJGdW5jdGlvbkluZm8gewogICAgIGludCBib2R5U3RhcnRMaW5lID0gMDsKICAgICBpbnQg
Ym9keUVuZExpbmUgPSAwOwogICAgIHVuc2lnbmVkIGJvZHlTdGFydENvbHVtbiA9IDA7CisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB1bnNpZ25lZCBhcnJvd0Z1bmN0
aW9uT2Zmc2V0ID0gMDsKKyAgICBBcnJvd0Z1bmN0aW9uQm9keVR5cGUgYXJyb3dGdW5jdGlvbkJv
ZHlUeXBlID0gQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOworI2VuZGlmCiB9OwogCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAppbmRleCAzZmYyNzk4
NjZhZjZlMjg2OTBiYzA3YzVmNzIxYmM3YTM4MDU2ZWEyLi40YzYzZGMxMjAwMDc0MjFlOTEzYzEz
OTRkM2E5MThhOWFhMmIwYmUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlclRva2Vucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFy
c2VyVG9rZW5zLmgKQEAgLTc1LDYgKzc1LDkgQEAgZW51bSBKU1Rva2VuVHlwZSB7CiAgICAgRklO
QUxMWSwKICAgICBERUJVR0dFUiwKICAgICBFTFNFLAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgQVJST1dGVU5DVElPTiwKKyNlbmRpZgogI2lmIEVOQUJMRShFUzZf
Q0xBU1NfU1lOVEFYKQogICAgIENMQVNTVE9LRU4sCiAgICAgRVhURU5EUywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmgKaW5kZXggNzNkMjNkYjgyYWYyNWVhNDZjMGY4
OTc4NWNlNDI0YmI2MGViNjFhNy4uZTIxZDk4MmVhMjIzYmJkYzlkNTgwOWNmMzQxMTc3YmIyZmVl
NWJlNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2Rl
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmgKQEAgLTEw
NCw2ICsxMDQsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgaW50IGxlbmd0aCgpIGNvbnN0
IHsgcmV0dXJuIG1fZW5kQ2hhciAtIG1fc3RhcnRDaGFyOyB9CiAgICAgICAgIAogICAgICAgICBT
b3VyY2VDb2RlIHN1YkV4cHJlc3Npb24odW5zaWduZWQgb3BlbkJyYWNlLCB1bnNpZ25lZCBjbG9z
ZUJyYWNlLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOworI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIFNvdXJjZUNvZGUgc3ViQXJyb3dFeHByZXNz
aW9uKHVuc2lnbmVkIHN0YXJ0QXJyb3dGdW5jdGlvbiwgdW5zaWduZWQgZW5kQXJyb3dGdW5jdGlv
biwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKTsKKyNlbmRpZgogCiAgICAgcHJpdmF0
ZToKICAgICAgICAgUmVmUHRyPFNvdXJjZVByb3ZpZGVyPiBtX3Byb3ZpZGVyOwpAQCAtMTE4LDYg
KzEyMSwxNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgcmV0dXJuIFNvdXJjZUNvZGUoU3Ry
aW5nU291cmNlUHJvdmlkZXI6OmNyZWF0ZShzb3VyY2UsIHVybCwgc3RhcnRQb3NpdGlvbiksIHN0
YXJ0UG9zaXRpb24ubV9saW5lLm9uZUJhc2VkSW50KCksIHN0YXJ0UG9zaXRpb24ubV9jb2x1bW4u
b25lQmFzZWRJbnQoKSk7CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICBpbmxpbmUgU291cmNlQ29kZSBTb3VyY2VDb2RlOjpzdWJBcnJvd0V4cHJlc3Np
b24odW5zaWduZWQgc3RhcnRBcnJvd0Z1bmN0aW9uLCB1bnNpZ25lZCBlbmRBcnJvd0Z1bmN0aW9u
LCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pCisgICAgeworICAgICAgICBBU1NFUlQo
cHJvdmlkZXIoKS0+c291cmNlKClbc3RhcnRBcnJvd0Z1bmN0aW9uXSA9PSAnPScgJiYgcHJvdmlk
ZXIoKS0+c291cmNlKClbc3RhcnRBcnJvd0Z1bmN0aW9uICsgMV0gPT0gJz4nKTsKKyAgICAgICAg
Ly8gRml4bWU6IFVzZSBiZXR0ZXIgYXBwcm9hY2ggdG8gY2hlY2sgc3ltYm9sCisgICAgICAgIEFT
U0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJywnIHx8
IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnOycgfHwgcHJv
dmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICcpJyB8fCBwcm92aWRl
cigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJ10nIHx8IHByb3ZpZGVyKCkt
PnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnfScpOworICAgICAgICBzdGFydENv
bHVtbiArPSAxOyAvLyBDb252ZXJ0IHRvIGJhc2UgMS4KKyAgICAgICAgcmV0dXJuIFNvdXJjZUNv
ZGUocHJvdmlkZXIoKSwgc3RhcnRBcnJvd0Z1bmN0aW9uLCBlbmRBcnJvd0Z1bmN0aW9uIC0gMSwg
Zmlyc3RMaW5lLCBzdGFydENvbHVtbik7CisgICAgfQorI2VuZGlmCisKICAgICBpbmxpbmUgU291
cmNlQ29kZSBTb3VyY2VDb2RlOjpzdWJFeHByZXNzaW9uKHVuc2lnbmVkIG9wZW5CcmFjZSwgdW5z
aWduZWQgY2xvc2VCcmFjZSwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKQogICAgIHsK
ICAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW29wZW5CcmFjZV0gPT0gJ3snKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJD
YWNoZUl0ZW0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJD
YWNoZUl0ZW0uaAppbmRleCA2MzUzNzllM2Y0NDU2NjhjNTJiODcyZjc2MTZkY2I1OTIxYTgyOTQ0
Li43N2Q5ZjgyYmFhMGRiNmM2ZDMwMWYzYThkNTc3MmJlODE2NTZhNDc1IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5o
CkBAIC00MCw2ICs0MCwxMCBAQCBzdHJ1Y3QgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlv
blBhcmFtZXRlcnMgewogICAgIGJvb2wgbmVlZHNGdWxsQWN0aXZhdGlvbjsKICAgICBib29sIHVz
ZXNFdmFsOwogICAgIGJvb2wgc3RyaWN0TW9kZTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIGJvb2wgaXNCb2R5QXJyb3dGdW5jdGlvbkJsb2NrOworICAgIEpTVG9r
ZW5UeXBlIHRva2VuVHlwZTsKKyNlbmRpZgogICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+
IHVzZWRWYXJpYWJsZXM7CiAgICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4gd3JpdHRlblZh
cmlhYmxlczsKIH07CkBAIC02OCw2ICs3MiwyMSBAQCBwdWJsaWM6CiAgICAgICAgIC8vIHdlIGRv
IG5vdCBuZWVkIHRvIHNldCBpdCBoZXJlLgogICAgICAgICByZXR1cm4gdG9rZW47CiAgICAgfQor
ICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgSlNUb2tlbiBl
bmRBcnJvd0Z1bmN0aW9uVG9rZW4oKSBjb25zdAorICAgIHsKKyAgICAgICAgSlNUb2tlbiB0b2tl
bjsKKyAgICAgICAgdG9rZW4ubV90eXBlID0gdG9rZW5UeXBlOworICAgICAgICB0b2tlbi5tX2Rh
dGEub2Zmc2V0ID0gY2xvc2VCcmFjZU9mZnNldDsKKyAgICAgICAgdG9rZW4ubV9sb2NhdGlvbi5z
dGFydE9mZnNldCA9IGNsb3NlQnJhY2VPZmZzZXQ7CisgICAgICAgIHRva2VuLm1fbG9jYXRpb24u
ZW5kT2Zmc2V0ID0gY2xvc2VCcmFjZU9mZnNldCArIDE7CisgICAgICAgIHRva2VuLm1fbG9jYXRp
b24ubGluZSA9IGNsb3NlQnJhY2VMaW5lOworICAgICAgICB0b2tlbi5tX2xvY2F0aW9uLmxpbmVT
dGFydE9mZnNldCA9IGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQ7CisgICAgICAgIAorICAgICAg
ICByZXR1cm4gdG9rZW47CisgICAgfQorI2VuZGlmCiAKICAgICB1bnNpZ25lZCBmdW5jdGlvbk5h
bWVTdGFydCA6IDMxOwogICAgIGJvb2wgbmVlZHNGdWxsQWN0aXZhdGlvbiA6IDE7CkBAIC04MSw2
ICsxMDAsMTEgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZz
ZXQ7CiAgICAgdW5zaWduZWQgdXNlZFZhcmlhYmxlc0NvdW50OwogICAgIHVuc2lnbmVkIHdyaXR0
ZW5WYXJpYWJsZXNDb3VudDsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIGJvb2wgaXNCb2R5QXJyb3dGdW5jdGlvbkJsb2NrOworICAgIEpTVG9rZW5UeXBlIHRva2Vu
VHlwZTsKKyNlbmRpZgorICAgIAogCiAgICAgU3RyaW5nSW1wbCoqIHVzZWRWYXJpYWJsZXMoKSBj
b25zdCB7IHJldHVybiBjb25zdF9jYXN0PFN0cmluZ0ltcGwqKj4obV92YXJpYWJsZXMpOyB9CiAg
ICAgU3RyaW5nSW1wbCoqIHdyaXR0ZW5WYXJpYWJsZXMoKSBjb25zdCB7IHJldHVybiBjb25zdF9j
YXN0PFN0cmluZ0ltcGwqKj4oJm1fdmFyaWFibGVzW3VzZWRWYXJpYWJsZXNDb3VudF0pOyB9CkBA
IC0xMTUsNiArMTM5LDEwIEBAIGlubGluZSBTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6U291cmNl
UHJvdmlkZXJDYWNoZUl0ZW0oY29uc3QgU291cmNlUHJvdmlkZXJDYWNoCiAgICAgLCBjbG9zZUJy
YWNlTGluZVN0YXJ0T2Zmc2V0KHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldCkK
ICAgICAsIHVzZWRWYXJpYWJsZXNDb3VudChwYXJhbWV0ZXJzLnVzZWRWYXJpYWJsZXMuc2l6ZSgp
KQogICAgICwgd3JpdHRlblZhcmlhYmxlc0NvdW50KHBhcmFtZXRlcnMud3JpdHRlblZhcmlhYmxl
cy5zaXplKCkpCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAsIGlz
Qm9keUFycm93RnVuY3Rpb25CbG9jayhwYXJhbWV0ZXJzLmlzQm9keUFycm93RnVuY3Rpb25CbG9j
aykKKyAgICAsIHRva2VuVHlwZShwYXJhbWV0ZXJzLnRva2VuVHlwZSkKKyNlbmRpZgogewogICAg
IHVuc2lnbmVkIGogPSAwOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB1c2VkVmFyaWFi
bGVzQ291bnQ7ICsraSwgKytqKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1N5bnRheENoZWNrZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3lu
dGF4Q2hlY2tlci5oCmluZGV4IDU4ODRmYjI4MmU3NTYxYTY1ODZkMGY2ZTFkYTU5MTUxYjhkNTRh
NDcuLjgzMmJlNzU2NmYzOGIwNjJkMzJlNDlkMzkwYmFkNDVlYmZmZDFkNDUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCkBAIC0xNjksNiArMTY5LDkg
QEAgcHVibGljOgogI2VuZGlmCiAgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlRnVuY3Rpb25FeHBy
KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50YXhD
aGVja2VyPiYsIGludCkgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9CiAgICAgaW50IGNyZWF0ZUZ1
bmN0aW9uQm9keShjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBKU1Rva2VuTG9jYXRpb24m
LCBpbnQsIGludCwgYm9vbCkgeyByZXR1cm4gRnVuY3Rpb25Cb2R5UmVzdWx0OyB9CisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVB
cnJvd0Z1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5j
dGlvbkluZm88U3ludGF4Q2hlY2tlcj4mLCBpbnQpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQor
I2VuZGlmCiAgICAgdm9pZCBzZXRGdW5jdGlvbk5hbWVTdGFydChpbnQsIGludCkgeyB9CiAgICAg
aW50IGNyZWF0ZUFyZ3VtZW50cygpIHsgcmV0dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQogICAgIGlu
dCBjcmVhdGVBcmd1bWVudHMoaW50KSB7IHJldHVybiBBcmd1bWVudHNSZXN1bHQ7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi5q
cyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43ODMzNjA4YzgzOTkzZTc0MjcxOTFhYzcwMmM2YzdlZDIwZmFjNTIxCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1
bmN0aW9uLmpzCkBAIC0wLDAgKzEsMTI3IEBACit2YXIgcmVzdWx0OworCit2YXIgdGVzdENhc2Ug
PSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9
PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVj
dGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBhcnJv
d0Z1bmN0aW9uMCA9IHYgPT4gdiArIDE7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMCgxMCk7Cit0
ZXN0Q2FzZShyZXN1bHQsIDExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUg
YXJyb3cgZnVuY3Rpb246IHYgPT4gdiArIDEiKTsKKwordmFyIGFycm93RnVuY3Rpb24xID0gKHYp
ID0+IHYgKiAyOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjEoMTApOwordGVzdENhc2UocmVzdWx0
LCAyMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9u
OiAodikgPT4gdiArIDEiKTsKKwordmFyIGFycm93RnVuY3Rpb24yID0gKCkgPT4gMTAwMDsKK3Jl
c3VsdCA9IGFycm93RnVuY3Rpb24yKDEyMTIpOwordGVzdENhc2UocmVzdWx0LCAxMDAwICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICgpID0+IDEw
MDAiKTsKKwordmFyIHRtcFZhcmlhbHZlMl8xID0gMTUxOwordmFyIGFycm93RnVuY3Rpb24yXzEg
PSAoKSA9PiB0bXBWYXJpYWx2ZTJfMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24yXzEoMTIxKTsK
K3Rlc3RDYXNlKHJlc3VsdCwgdG1wVmFyaWFsdmUyXzEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhl
Y3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKCkgPT4gdmFyaWFibGUiKTsKKwordmFyIGFy
cm93RnVuY3Rpb24zID0gKHYsIHgpID0+IHYgKyB4OworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjMo
MTEsMTIpOwordGVzdENhc2UocmVzdWx0LCAyMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAoeCwgeSkgPT4geCArIHkiKTsKKwordmFyIGFycm93
RnVuY3Rpb25XcmFwcGVyID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRlcikgeyByZXR1cm4gY2wocGFy
YW10ZXIpOyB9OworCityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEyMzQpOwor
dGVzdENhc2UocmVzdWx0LCAxMjM0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0
aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjKSIpOworCityZXN1bHQgPSBh
cnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEyMzQsIDIzNDUpOwordGVzdENhc2UocmVzdWx0LCAx
MjM0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24g
YXMgcGFyYW10ZXI6IGYoeCA9PiBjLCB5KSIpOworCityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3Jh
cHBlcih4ID0+IDEyMSArIDIzMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDM1MyAsIkVycm9yOiBOb3Qg
Y29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHgg
PT4gYzEgKyBjMikiKTsKKworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMjMg
KyAzMjEsIDk5OTkpOwordGVzdENhc2UocmVzdWx0LCA0NDQgLCJFcnJvcjogTm90IGNvcnJlY3Qg
ZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMxICsg
YzIsIHkpIik7CisKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4geCArIDEyLCAy
MSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDMzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiB4ICsgYzEsIHkpIik7CisK
K3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCh4KSA9PiB4ICsgMjEsIDMyKTsKK3Rlc3RD
YXNlKHJlc3VsdCwgNTMsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoeCkgPT4gYzEgKyBjMiwgeSkiKTsKKworcmVzdWx0
ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAw
LCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMg
cGFyYW10ZXI6IGYoKCkgPT4gYykiKTsKKwordmFyIGV4dF92YWx1ZSA9IDEyMTsKK3Jlc3VsdCA9
IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IGV4dF92YWx1ZSk7Cit0ZXN0Q2FzZShyZXN1bHQs
IDEyMSwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9u
IGFzIHBhcmFtdGVyOiBmKCgpID0+IHYpIik7CisKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFw
cGVyKCgpID0+IGV4dF92YWx1ZSAqIDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIxMCAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVy
OiBmKCgpID0+IHYqeCkiKTsKKworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKHgpID0+
IGV4dF92YWx1ZSAqIHgsIDMwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzAqZXh0X3ZhbHVlICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10
ZXI6IGYoKHgpID0+IHYqeCwgeSkiKTsKKworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIo
KCkgPT4gMTAwLCAxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMCAsIkVycm9yOiBOb3QgY29ycmVj
dCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMx
LCB5KSIpOworCityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiAxMDAgKyAxMCk7
Cit0ZXN0Q2FzZShyZXN1bHQsIDExMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMxICsgYzIpIik7CisKK3Jl
c3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCArIDExLCAxMik7Cit0ZXN0Q2Fz
ZShyZXN1bHQsIDExMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMxICsgYzIsIHkpIik7CisKK3ZhciBhcnJv
d0Z1bmN0aW9uNCA9IHYgPT4gdiArIDEsIHh5ejEgPSAxMDEwMTsKK3Jlc3VsdCA9IGFycm93RnVu
Y3Rpb240KDEwMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDEyICwiRXJyb3I6IE5vdCBjb3JyZWN0
IHBhcnNpbmcgb2YgdGggYXJyb3cgZnVuY3Rpb24gaW5zaWRlIG9mIHRoZSBsaXN0IG9mIHZhcnM6
IHZhciBhZiA9IHY9PiB2ICsgMTsgenhjPWM7Iik7Cit0ZXN0Q2FzZSh4eXoxLCAxMDEwMSAsIkVy
cm9yOiBOb3QgY29ycmVjdCBwYXJzaW5nIG9mIHRoIGFycm93IGZ1bmN0aW9uIGluc2lkZSBvZiB0
aGUgbGlzdCBvZiB2YXJzOiB2YXIgYWYgPSB2PT4gdiArIDE7IHp4Yz1jOyIpOworCit2YXIgYXJy
b3dGdW5jdGlvbldyYXBwZXIyID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRlcjEsIHBhcmFtdGVyMikg
eyByZXR1cm4gY2wocGFyYW10ZXIxLCBwYXJhbXRlcjIpOyB9OworcmVzdWx0ID0gYXJyb3dGdW5j
dGlvbldyYXBwZXIyKCh4LCB5KSA9PiB4ICsgeSwgMTIgLDQzKTsKK3Rlc3RDYXNlKHJlc3VsdCwg
NTUgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBh
cyBwYXJhbWV0ZXI6IGYoKHgsIHkpID0+IHggKyB5LCBjMSwgYzIpIik7CisKK3ZhciBhcnJvd0Z1
bmN0aW9BcnJheTAgPSBbdiA9PiB2ICogMTBdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkw
WzBdKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1
dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogW3Y9PnYqMTBdIik7
CisKK3ZhciBhcnJvd0Z1bmN0aW9BcnJheTEgPSBbdiA9PiB2ICsgMSwgdiA9PiB2ICsgMl07City
ZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTFbMF0oMTApOwordGVzdENhc2UocmVzdWx0LCAxMSAs
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0
ZW0gaW4gYXJyYXk6IFt2ID0+IHYgKyAxLCAgdiA9PiB2ICsgMl0iKTsKK3Jlc3VsdCA9IGFycm93
RnVuY3Rpb0FycmF5MVsxXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEzICwiRXJyb3I6IE5vdCBj
b3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTog
W3YgPT4gdiArIDEsICB2ID0+IHYgKyAyXSIpOworCit2YXIgYXJyb3dGdW5jdGlvQXJyYXkyID0g
Wyh2KSA9PiB2ICsgMSwgKHYpID0+IHYgKyAyXTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5
MlswXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1
dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogWyh2KSA9PiB2ICsg
MSwgICh2KSA9PiB2ICsgMl0iKTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5MlsxXSgxMSk7
Cit0ZXN0Q2FzZShyZXN1bHQsIDEzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0
aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogWyh2KSA9PiB2ICsgMSwgICh2KSA9
PiB2ICsgMl0iKTsKKwordmFyIGFycm93RnVuY3Rpb0FycmF5MyA9IFsoKSA9PiAxMDEsICgpID0+
IDEyMzIzXTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5M1swXSgxMSk7Cit0ZXN0Q2FzZShy
ZXN1bHQsIDEwMSwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1
bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsoKSA9PiBjMSwgICgpID0+IGMyXSIpOworcmVzdWx0
ID0gYXJyb3dGdW5jdGlvQXJyYXkzWzFdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIzMjMsICJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVt
IGluIGFycmF5OiBbKCkgPT4gYzEsICAoKSA9PiBjMl0iKTsKKwordmFyIGFycm93RnVuY3Rpb25P
YmogPSB7ZnVuYyA6IHkgPT4geSArIDEyIH07CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uT2JqLmZ1
bmMoMTEpOwordGVzdENhc2UocmVzdWx0LCAyMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHByb3BlcnR5OiB7ZnVuYyA6IHkgPT4geSArIDEy
IH0iKTsKKwordmFyIGFycm93RmF0RnVuY3Rpb24wID0gKCkgPT4geyByZXR1cm4gMTAwMDsgfTsK
K3Jlc3VsdCA9IGFycm93RmF0RnVuY3Rpb24wKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwMCAs
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGgg
Ym9keSBhcyBibG9jazogKCkgPT4geyByZXR1cm4gMTAwMDsgfSIpOworCit2YXIgYXJyb3dGYXRG
dW5jdGlvbjEgPSB2ID0+IHsgdmFyIGludHZhbCA9IDEwMDsgcmV0dXJuIHYgKiBpbnR2YWw7IH07
CityZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0aW9uMSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDExMDAg
LCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRo
IGJvZHkgYXMgYmxvY2s6IHggPT4geyB2YXIgdj0xMDAwOyByZXR1cm4gdip4OyB9Iik7CisKK3Zh
ciBhcnJvd0ZhdEZ1bmN0aW9uMiA9ICh2KSA9PiB7IHZhciBpbnQgPSAyMDA7IHJldHVybiB2ICog
aW50OyB9OworcmVzdWx0ID0gYXJyb3dGYXRGdW5jdGlvbjIoMTEpOwordGVzdENhc2UocmVzdWx0
LCAyMjAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gd2l0aCBib2R5IGFzIGJsb2NrOiAoeCkgPT4geyB2YXIgdj0xMDAwOyByZXR1cm4gdip4OyB9
Iik7CisKK3ZhciBhcnJvd0ZhdEZ1bmN0aW9uMyA9ICh2LCB4KSA9PiB7IHZhciByZXN1bHQgPSB4
ICogdjsgcmV0dXJuIHJlc3VsdDsgfTsKK3Jlc3VsdCA9IGFycm93RmF0RnVuY3Rpb24zKDExLCAx
MjIyMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDEzNDQ0MiAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVj
dXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogKHYsIHgpID0+
IHsgdmFyIHJlc3VsdCA9IHggKiB2OyByZXR1cm4gcmVzdWx0OyB9Iik7CisKK3Jlc3VsdCA9IGFy
cm93RnVuY3Rpb25XcmFwcGVyKHg9PntyZXR1cm4geCAqIDI1O30sIDEyMSk7Cit0ZXN0Q2FzZShy
ZXN1bHQsIDI1KjEyMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogZih4ID0+IHtyZXR1cm4geCAqIDI1O30sIDEy
MSkiKTsKKworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIyKCh4LCB5KT0+e3JldHVybiB4
ICogeTt9LCAxNCwgMTIpOwordGVzdENhc2UocmVzdWx0LCAxNCoxMiAsIkVycm9yOiBOb3QgY29y
cmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazog
ZigoeCwgeSk9PntyZXR1cm4geCAqIHk7fSwgMTQsIDEyMSkpIik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJj
ZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDhm
YzI0ODdmNmFlZTBmNzM5Y2ZkM2MwYTg0YWJjNzkxNTk0YTVlZTMuLmEyZTczYTFmMDM4NzcyZmIy
MjBmMzI0ZmRjOWI1NTI0YjhmYTUxMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00NSw2ICs0NSw3IEBAIEVO
QUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJP
WFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
Tkc7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhU
ID0gOwogRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSyA9IEVOQUJMRV9DU1NfQk9YX0RF
Q09SQVRJT05fQlJFQUs7CkBAIC0yMTAsNCArMjExLDQgQEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9
IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFU
RURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JF
TkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVf
QVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxF
X0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRF
UklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJ
T04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMp
ICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVO
QUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9D
VVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVf
REFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFC
TEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNB
VEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVS
X1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05U
Uk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gp
ICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVS
X0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQo
RU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05D
VVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikg
JChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElN
SVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkg
JChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NP
TVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01F
RElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9T
TkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChF
TkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RG
X0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxF
X1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJ
TElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5B
QkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01P
REVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJM
RV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpF
UykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxF
X1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9M
TElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFC
TEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVf
M0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVO
QUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChF
TkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19D
T01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
R1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VM
RUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAk
KEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkp
ICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBP
UlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRF
TVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxf
MikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQo
RU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVO
QUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChF
TkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9U
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NT
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5B
QkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwp
ICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAk
KEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
TE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5B
QkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1Rf
QU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVf
UkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFC
TEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQ
VE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5B
QkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5U
KSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFC
TEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykg
JChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChF
TkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChF
TkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9U
SU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChF
TkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVO
QUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRB
VElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOGZjMjQ4N2Y2YWVlMGY3MzljZmQzYzBh
ODRhYmM3OTE1OTRhNWVlMy4uYTJlNzNhMWYwMzg3NzJmYjIyMGYzMjRmZGM5YjU1MjRiOGZhNTEx
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRI
ID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZf
Q0xBU1NfU1lOVEFYID0gOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJM
RV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ1NQX05FWFQgPSA7CiBFTkFCTEVfQ1NT
X0JPWF9ERUNPUkFUSU9OX0JSRUFLID0gRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSzsK
QEAgLTIxMCw0ICsyMTEsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FU
VVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhN
RVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1ND
Uk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1F
TlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQo
RU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxF
X0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9D
U1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1Nf
Q09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NT
X0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NT
U19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NF
TEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkg
JChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZ
KSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQ
T1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lU
RU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElP
TikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVM
XzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAk
KEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dF
T0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChF
TkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQo
RU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVf
VElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NT
U19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVO
QUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1M
KSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFC
TEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9S
X0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJM
RV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVS
X0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVO
QUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNU
X0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxF
X1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5B
QkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQ
RUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZ
UFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVO
QUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVO
VCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5B
QkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0sp
ICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQo
RU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQo
RU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJf
VElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQo
RU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChF
TkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5U
QVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZM
T1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRf
RUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFU
SCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChF
TkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElP
TikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAk
KEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVY
VF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9N
X1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFU
QUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVU
QUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRf
RVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05U
X0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkg
JChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFT
RSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BP
VkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJM
RV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVT
KSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1Mp
ICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFf
Q09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJM
RV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAk
KEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9Q
Uk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJ
WF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUp
ICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9S
KSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElO
RykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAk
KEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05V
TUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xP
QURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VF
X1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChF
TkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VU
UykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVf
V0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVO
QUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9M
QVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwppbmRleCA4ZmMyNDg3ZjZhZWUwZjczOWNmZDNjMGE4NGFiYzc5MTU5NGE1ZWUzLi5hMmU3
M2ExZjAzODc3MmZiMjIwZjMyNGZkYzliNTUyNGI4ZmE1MTFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUs
NiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFC
TEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSA7CitFTkFCTEVfRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsK
IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVO
QUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsgPSBFTkFC
TEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLOwpAQCAtMjEwLDQgKzIxMSw0IEBAIEVOQUJMRV9M
TElOVF9DX0xPT1AgPSA7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBF
TkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAk
KEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChF
TkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElP
TlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9O
SU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RF
Q09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RF
VklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19J
TUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxF
X0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NT
X1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVB
SykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFO
RExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1F
TlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVO
VCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05T
VFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5U
UykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dB
TUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9Q
QUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxF
X1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lO
UFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExF
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dF
RUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RV
UkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVf
TEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9M
SU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1ND
UklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VS
U09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFW
SUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BE
RktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQo
RU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChF
TkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9S
RVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVf
UkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxF
X0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RS
RUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChF
TkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNU
SU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVO
QUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxF
X1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChF
TkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9B
VURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxF
X1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJ
T05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJ
VCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRI
TUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5F
UyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFT
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9D
QVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJU
SVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQo
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVO
QUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
KSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikg
JChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChF
TkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxF
X0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNP
Ul9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRB
X1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklD
RV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxF
X0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9G
SUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExT
Q1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQp
ICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhS
T1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xT
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lO
X1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxF
X0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJF
TEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJ
T05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VC
X0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChF
TkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01F
RElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxF
TUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFC
TEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJF
TkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlf
RVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVO
QUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExF
VEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFf
UVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVAp
ICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJM
RV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09O
VkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVN
UExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5H
X1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9D
U1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dF
Ql9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAk
KEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhS
X1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5U
X0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9W
SURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvV2ViS2l0
RmVhdHVyZXMuY21ha2UgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKaW5kZXgg
ODg3MjYxNzI2NDA4MzQ0YWIwMjUyYzljMGVmMWZjOTc3ZDA2M2ZiYS4uMDUwMDM3MmNiODQ1NGQ4
NDg2N2U2NDJlNjk3NzAxY2RkMDlmMjhhZiAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL1dlYktp
dEZlYXR1cmVzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQpA
QCAtMjgsNiArMjgsNyBAQCBtYWNybyhXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAgIFdFQktJVF9P
UFRJT05fREVGSU5FKEVOQUJMRV9DQU5WQVNfUFJPWFkgIlRvZ2dsZSBDYW52YXNQcm94eSBzdXBw
b3J0IiBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HICJUb2dnbGUgTWVzc2FnZUNoYW5uZWwgYW5kIE1lc3NhZ2VQb3J0IHN1cHBvcnQiIE9OKQog
ICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYICJUb2dnbGUg
RVM2IGNsYXNzIHN5bnRheCBzdXBwb3J0IiBPRkYpCisgICAgV0VCS0lUX09QVElPTl9ERUZJTkUo
RU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCAiVG9nZ2xlIEVTNiBhcnJvdyBmdW5jdGlv
biBzeW50YXggc3VwcG9ydCIgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HICJUb2dnbGUgY29udGVudCBmaWx0ZXJpbmcgc3VwcG9ydCIgT0ZGKQog
ICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DT05URVhUX01FTlVTICJUb2dnbGUgQ29u
dGV4dCBNZW51IHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9D
U1BfTkVYVCAiVG9nZ2xlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IDEuMSBzdXBwb3J0IiBPRkYp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZSBiL1NvdXJjZS9jbWFrZWNv
bmZpZy5oLmNtYWtlCmluZGV4IDFhNzQ1Y2E1Y2Q4OWZiMjAwODJmNzdiYzAyNjg4YTliMGI0YmQ0
YjkuLjMxMDZiNWVhMDg0YjM4NDMxZDk1OTk0NGM2Y2ExODFmMmZjZTIxZmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNt
YWtlCkBAIC0xMyw2ICsxMyw3IEBACiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ0FOVkFTX1BST1hZ
CiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcKICNjbWFrZWRlZmluZTAx
IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYCisjY21ha2VkZWZpbmUwMSBFTkFCTEVfRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcK
ICNjbWFrZWRlZmluZTAxIEVOQUJMRV9DT05URVhUX01FTlVTCiAjY21ha2VkZWZpbmUwMSBFTkFC
TEVfQ1JFREVOVElBTF9TVE9SQUdFCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29s
cy9DaGFuZ2VMb2cKaW5kZXggYTZiYmUyNWMyYTZkZDkyMzA5NTA2YmY3MWNiOGUyNmZiZDQ3MmQ5
MS4uNjRiZjgwNzc4ZmQ2YTg2MDQ4NGQ4ODBlYmMyMjA4MDNkYjUxN2I5NiAxMDA2NDQKLS0tIGEv
VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDE1LTAyLTI3ICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAg
ICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxh
ZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgorCisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtOgorCiAyMDE1LTAyLTI3
ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIFdlYktpdDIgU1BJ
IHRvIGNyZWF0ZSBhIERPTSBGaWxlIG9iamVjdApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1
cmVMaXN0LnBtCmluZGV4IDM1NDI1ZjVlNGI1NTVhZjMwMDMyZDIxZWUzY2FlYzY4NTRmNzlhNGIu
LmE2YmM5YThmZWJkMWFlNGIyYzc1NjJjZDUxYTkyYzM4YzYzOWY5MWYgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KQEAgLTQ0LDYgKzQ0LDcgQEAgQkVHSU4gewogbXkg
KAogICAgICR0aHJlZURSZW5kZXJpbmdTdXBwb3J0LAogICAgICRhY2NlbGVyYXRlZDJEQ2FudmFz
U3VwcG9ydCwKKyAgICAkYXJyb3dmdW5jdGlvblN5bnRheCwKICAgICAkYmF0dGVyeVN0YXR1c1N1
cHBvcnQsCiAgICAgJGNhbnZhc1BhdGhTdXBwb3J0LAogICAgICRjYW52YXNQcm94eVN1cHBvcnQs
CkBAIC0xNjksNiArMTcwLDkgQEAgbXkgQGZlYXR1cmVzID0gKAogICAgIHsgb3B0aW9uID0+ICJj
bGFzcy1zeW50YXgiLCBkZXNjID0+ICJUb2dnbGUgRVM2IGNsYXNzIHN5bnRheCBzdXBwb3J0IiwK
ICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgiLCBkZWZhdWx0ID0+IDAs
IHZhbHVlID0+IFwkY2xhc3NTeW50YXggfSwKIAorICAgIHsgb3B0aW9uID0+ICJhcnJvd2Z1bmN0
aW9uLXN5bnRheCIsIGRlc2MgPT4gIlRvZ2dsZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1
cHBvcnQiLAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
IiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGFycm93ZnVuY3Rpb25TeW50YXggfSwKKwogICAg
IHsgb3B0aW9uID0+ICJjc3AtbmV4dCIsIGRlc2MgPT4gIlRvZ2dsZSBDb250ZW50IFNlY3VyaXR5
IFBvbGljeSAxLjEgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9DU1BfTkVYVCIs
IGRlZmF1bHQgPT4gaXNHdGsoKSwgdmFsdWUgPT4gXCRjc3BOZXh0U3VwcG9ydCB9LAogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggNDEwYTg1MjIxZTMyNWJhYjY1NDRlYWQ0YWQyMGYxNDAzNjRmNjk0OC4uYTc0ZTdmNmUxOTBl
ZWVhYTIwMWVhYjhmOTcwZjU5MTcyZTA0Njg3NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE1
LTAyLTI3ICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAg
ICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICoganMvYXJyb3dmdW5jdGlvbi1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL2Fycm93ZnVuY3Rpb24uaHRtbDogQWRk
ZWQuCisgICAgICAgICoganMvc2NyaXB0LXRlc3RzL2Fycm93ZnVuY3Rpb24uanM6IEFkZGVkLgor
ICAgICAgICAoYXJyb3dGdW5jdGlvbldyYXBwZXIpOgorICAgICAgICAoYXJyb3dGdW5jdGlvbldy
YXBwZXIyKToKKwogMjAxNS0wMi0yNyAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgog
CiAgICAgICAgIFN1YnBpeGVsLWxheW91dDogd2lkdGg6IG1heC1jb250ZW50OyBwcm9wZXJ0eSBt
aWdodCBjYXVzZSB1bm5lY2Vzc2FyeSBzY3JvbGxiYXIuCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cg
Yi9DaGFuZ2VMb2cKaW5kZXggOGQ3ZGNiMmQ1NWRmZDI4YzVlNjI0MzFiY2ZkOTcxYTk1NWRkNmE2
NC4uNWY2YTM3ZjAzZTU1ODg3NzY0OTQ5NWFmNDQ5MTg5ZmZkMzQyMTc3MiAxMDA2NDQKLS0tIGEv
Q2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE1LTAyLTI3ICBT
a2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgW0VTNl0g
SW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyB0byBzd2l0Y2gg
b24vb2ZmIGVzNiBhcnJvdyBmdW5jdGlvbiBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
CisKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2U6CisgICAgICAg
ICogU291cmNlL2NtYWtlY29uZmlnLmguY21ha2U6CisKIDIwMTUtMDItMjYgIENzYWJhIE9zenRy
b2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBbRUZMXSBSZW1vdmUgdW5uZWNl
c3NhcnkgY29tbWVudCBhZnRlciByMTc5MTEwCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>248414</attachid>
            <date>2015-03-11 05:46:55 -0700</date>
            <delta_ts>2015-03-26 01:56:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150311144628.patch</filename>
            <type>text/plain</type>
            <size>83096</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgxMzY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
NTRiNTA0ZDczOTRiNzlhNGI4Y2Y2NDE1NzMwMjg0ODMxMWI4ZjNiLi4yOGRhYTZjZWFiMDQ4NGM5
MzFmZTliZjRjNmUzMGIwYjE5NzliYTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3NyBAQAorMjAxNS0wMy0xMSAgQWxleGFuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21h
aWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3lu
dGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4
NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRl
ZCBzdXBwb3J0IG9mIEVTNiBhcnJvdyBmdW5jdGlvbi4gSW4gcGF0Y2ggd2VyZSBpbXBsZW1lbnRl
ZCB0aGUgc2ltcGxlc3QgY2FzZXM6CisgICAgICAgIDEgbm8gcGFyYW10ZXJzICAgICAgICgpID0+
IDEwICsgMjAKKyAgICAgICAgMiBvbmUgcGFyYW1ldGVyICAgICAgIHggPT4geCArIDIwCisgICAg
ICAgIDMgbXVsdGlwbGUgcGFyYW10ZXJzICh4LCB5KSA9PiB4ICsgeQorICAgICAgICA0IGZhdCBh
cnJvdyBmdW5jdGlvbiB4ID0+IHsgcmV0dXJuIHgqMTA7fQorCisgICAgICAgICogQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxh
ZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgorCisg
ICAgICAgICAqIHBhcnNlci9BU1RCdWlsZGVyLmg6CisgICAgICAgIChKU0M6OkFTVEJ1aWxkZXI6
OmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAgICAgQWRkZWQgZnVuY3Rpb24gdGhhdCBj
cmVhdGUgZXhwcmVzaW9uIGZvciBhcnJvdyBmdW5jdGlvbgorICAgICAgICAqIHBhcnNlci9MZXhl
ci5jcHA6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9uKToKKyAgICAg
ICAgTWV0aG9kIHRoYXQgYWxsb3cgdG8gc2V0IGN1cnJlY3QgcG9zaXRpb24gZm9yIHRoZSB0b2Nr
ZW4gb3V0c2lkZSB0aGUgTGV4ZXIgY2xhcworICAgICAgICAoSlNDOjpMZXhlcjxUPjo6bGV4KToK
KyAgICAgICAgTWV0aG9kIGNoYW5nZWQgdG8gc3VwcG9ydCBvZiB0aGUgYXJyb3cgZnVuY3Rpb24K
KyAgICAgICAgKiBwYXJzZXIvTGV4ZXIuaDoKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OnNldFRv
a2VuUG9zaXRpb24pOgorICAgICAgICBEZWNsYXJhdGlvbiBvZiB0aGUgbWV0aG9kIHRoYXQgYWxs
b3cgdG8gc2V0IGN1cnJlY3QgcG9zaXRpb24gZm9yIHRoZSB0b2NrZW4gb3V0c2lkZSB0aGUgTGV4
ZXIgY2xhc3MKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFy
c2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMpOgorICAgICAgICBNb2RpZmllZCBt
ZXRob2QgdG8gc3VwcG9ydCB0d28gbWV0aG9kcyBvZiB0aGUgcGFyc2UganMgZnVuY3Rpb24uIFRo
ZSBmaXJzdCB0eXBlIGlzIHN0YW5kYXJkIGZ1bmN0aW9uIGFuZCBuZXcgdHlwZSBpcyBhcnJvdyBm
dW5jdGlvbi4KKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4
cHJlc3Npb24pOgorICAgICAgICBNb2RpZmllZCBtZXRob2QgdG8gc3VwcG9ydCB0d28gbWV0aG9k
cyBvZiB0aGUgcGFyc2UganMgZnVuY3Rpb24uIFRoZSBmaXJzdCB0eXBlIGlzIHN0YW5kYXJkIGZ1
bmN0aW9uIGFuZCBuZXcgdHlwZSBpcyBhcnJvdyBmdW5jdGlvbi4KKyAgICAgICAgKEpTQzo6UGFy
c2VyOjopOkFkZGVkIG5ldyBzdHJ1Y3R1cmUgdG8gc3VwcG9yZCBkaWZmZXJlbnQgdHlwZSBvZiBw
YXJzaW5nIHRoZSBmdW5jdGlvbgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU291cmNlRWxl
bWVudCk6IEFkZGVkIEZ1bmN0aW9uUGFyc2VUeXBlIGFzIHBhcmFtdGVyIGluIG1ldGhvZAorICAg
ICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KTogQWRkZWQgRnVuY3Rpb25QYXJzZVR5
cGUgYXMgcGFyYW10ZXIgaW4gbWV0aG9kLiBBZGRlZCBzZXBhcmF0ZWQgbG9naWMgZm9yIGVuZGlu
ZworICAgICAgICB0aGUgc3RhdGVtZW50IGluIGNhc2Ugb2YgdGhlIHBhcnNpbmcgaW4gYXJyb3cg
ZnVuY3Rpb24gdHlwZS4gQWRkZWQgbG9naWMgdG8gc3VwcG9ydCBwYXJzaW5nIHRoZSBzb3VyY2Ug
Y29kZSB0aGF0IGZvbGxvdyBhZnRlID0+IHN5bWJvbAorICAgICAgICAoSlNDOjpQYXJzZXI6OnBh
cnNlQXNzaWdubWVudEV4cHJlc3Npb24pIE1vZGlmaWVkIG1ldGhvZCB0byBzdXBwb3J0IHBhcnNp
bmcgdGhlIGFycm93IGZ1bmN0aW9uCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VQcmltYXJ5
RXhwcmVzc2lvbikgTW9kaWZpZWQgbWV0aG9kIHRvIHN1cHBvcnQgY2FzZSB3aGVuIGFmdGVyIElE
RU5UIGlzIGdvaW5nIHRoZSBhcnJvdyBmdW5jdGlvbgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBh
cnNlQXJyb3dFeHByZXNzaW9uKTogQWRkZWQgbWV0aG9kIGRlY2xhcmF0aW9uIHRoYXQgaXMgcmVz
cG9uc2libGUgdG8gcGFyc2UgYXJyb3cgZXhwcmVzc2lvbi4KKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpzZXRFbmRPZlN0YXRlbWVudCk6IEFkZGVkIG1ldGhvZCB0aGF0IHVzZWQgdG8gc2V0IGNvcnJl
Y3QgcG9zaXRpb24gb2YgdGhlIGxleGVyCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJv
d0Z1bmN0aW9uV3JhcHBlcik6IEFkZGVkIG1ldGhvZCB0aGF0IGlzIHN0YXJ0aW5nIHBvaW50IGlu
IHBhcnNpbmcgb2YgdGhlIGFycm93IGZ1bmN0aW9uCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFy
c2VBcnJvd0Z1bmN0aW9uSW5mbyk6IEFkZGVkIG1ldGhvZCB0aGF0IGlzIHVzZWQgdG8gcGFyc2Ug
ZnVuY3Rpb24gcGFyYW10ZXJzLiBDbG9zZSB0byBwYXJzZUZ1bmN0aW9uSW5mby4KKyAgICAgICAg
V2FzIG1hZGUgYXMgdGhlIHNlcGFyZXRlIG1ldGhvZCB0byBwcmV2ZW50IHBvbGx1dGlvbiBvZiB0
aGUgbG9naWMgcGFyc2luZyB0aGUgc3RhbmRlciBmdW5jdGlvbi4KKyAgICAgICAgQ2FuIGJlIG1l
cmdlIHdpdGggcGFyc2VGdW5jdGlvbkluZm8gYWZ0ZXIgYXBwcm92aW5nIHRoZSBhcnJvdyBmdW5j
dGlvbiBwYXRjaAorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkJvZHkp
OkFkZGVkIG1ldGhvZCB0aGF0IGlzIHVzZWQgdG8gcGFyc2UgZnVuY3Rpb24gYm9keS4gQ2xvc2Ug
dG8gcGFyc2VGdW5jdGlvbkluZm8uCisgICAgICAgIFdhcyBtYWRlIGFzIHRoZSBzZXBhcmV0ZSBt
ZXRob2QgdG8gcHJldmVudCBwb2xsdXRpb24gb2YgdGhlIGxvZ2ljIHBhcnNpbmcgdGhlIHN0YW5k
ZXIgZnVuY3Rpb24uCisgICAgICAgIENhbiBiZSBtZXJnZSB3aXRoIHBhcnNlRnVuY3Rpb25JbmZv
IGFmdGVyIGFwcHJvdmluZyB0aGUgYXJyb3cgZnVuY3Rpb24gcGF0Y2gKKyAgICAgICAgKiBwYXJz
ZXIvUGFyc2VyLmg6CisgICAgICAgIChKU0M6OlBhcnNlcjo6RnVuY3Rpb25QYXJzZVR5cGUpOkFk
ZGVkIG5ldyBzdHJ1Y3R1cmUgdG8gc3VwcG9yZCBkaWZmZXJlbnQgdHlwZSBvZiBwYXJzaW5nIHRo
ZSBmdW5jdGlvbgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU291cmNlRWxlbWVudCk6IEFk
ZGVkIEZ1bmN0aW9uUGFyc2VUeXBlIGFzIHBhcmFtdGVyIGluIG1ldGhvZAorICAgICAgICAoSlND
OjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KTogQWRkZWQgRnVuY3Rpb25QYXJzZVR5cGUgYXMgcGFy
YW10ZXIgaW4gbWV0aG9kCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0V4cHJlc3Np
b24pOiBBZGRlZCBtZXRob2QgZGVjbGFyYXRpb24gdGhhdCBpcyByZXNwb25zaWJsZSB0byBwYXJz
ZSBhcnJvdyBleHByZXNzaW9uCisgICAgICAgIChKU0M6OlBhcnNlcjo6c2V0RW5kT2ZTdGF0ZW1l
bnQpOiBBZGRlZCBtZXRob2QgdGhhdCB1c2VkIHRvIHNldCBjb3JyZWN0IHBvc2l0aW9uIG9mIHRo
ZSBsZXhlcgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIp
OiBBZGRlZCBtZXRob2QgdGhhdCBpcyBzdGFydGluZyBwb2ludCBpbiBwYXJzaW5nIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbklu
Zm8pOiBBZGRlZCBtZXRob2QgdGhhdCBpcyB1c2VkIHRvIHBhcnNlIGZ1bmN0aW9uIHBhcmFtdGVy
cy4gQ2xvc2UgdG8gcGFyc2VGdW5jdGlvbkluZm8uCisgICAgICAgIFdhcyBtYWRlIGFzIHRoZSBz
ZXBhcmV0ZSBtZXRob2QgdG8gcHJldmVudCBwb2xsdXRpb24gb2YgdGhlIGxvZ2ljIHBhcnNpbmcg
dGhlIHN0YW5kZXIgZnVuY3Rpb24uCisgICAgICAgIENhbiBiZSBtZXJnZSB3aXRoIHBhcnNlRnVu
Y3Rpb25JbmZvIGFmdGVyIGFwcHJvdmluZyB0aGUgYXJyb3cgZnVuY3Rpb24gcGF0Y2gKKyAgICAg
ICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25Cb2R5KTpBZGRlZCBtZXRob2QgdGhh
dCBpcyB1c2VkIHRvIHBhcnNlIGZ1bmN0aW9uIGJvZHkuIENsb3NlIHRvIHBhcnNlRnVuY3Rpb25J
bmZvLgorICAgICAgICBXYXMgbWFkZSBhcyB0aGUgc2VwYXJldGUgbWV0aG9kIHRvIHByZXZlbnQg
cG9sbHV0aW9uIG9mIHRoZSBsb2dpYyBwYXJzaW5nIHRoZSBzdGFuZGVyIGZ1bmN0aW9uLgorICAg
ICAgICBDYW4gYmUgbWVyZ2Ugd2l0aCBwYXJzZUZ1bmN0aW9uSW5mbyBhZnRlciBhcHByb3Zpbmcg
dGhlIGFycm93IGZ1bmN0aW9uIHBhdGNoCisgICAgICAgICogcGFyc2VyL1BhcnNlclRva2Vucy5o
OgorICAgICAgICBBZGRlZCBuZXcgQVJST1dGVU5DVElPTiB0b2NrZW4KKyAgICAgICAgKiBwYXJz
ZXIvU291cmNlQ29kZS5oOgorICAgICAgICAoSlNDOjpTb3VyY2VDb2RlOjpzdWJBcnJvd0V4cHJl
c3Npb24pOkFkZGVkIGZ1bmN0aW9uIHRoYXQgaXMgdXNlZCBmb3IgY3JlYXRpbmcgc291cmNlIGNv
ZGUgb2JqZWN0LiBMb2dpYyB0aGUgc2FtZQorICAgICAgICBhcyBpbiBzdWJFeHByZXNpb24gZnVu
Y3Rpb24gZXhjZXB0IGRpZmZlcmVudCBjaGVjayBmb3Igc3RhcnQgYW5kIGVuZGluZyBvZiB0aGUg
ZXhwcmVzc2lvbgorICAgICAgICAqIHBhcnNlci9TeW50YXhDaGVja2VyLmg6CisgICAgICAgIChK
U0M6OlN5bnRheENoZWNrZXI6OmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKTogQWRkZWQgZGVmZW5p
dGlvbiBvZiB0aGUgY3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIgY2xvc2UgdG8gdGhlIGNyZWF0ZUZ1
bmN0aW9uRXhwcgorICAgICAgICAqIHBhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbToKKyAg
ICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMpOiBB
ZGRlZCBhZGRpdGlvbmFsIHByb3BlcnRpZXMgdG8gY29ycmVjdCBjYWNoZSB0aGUgYXJyb3cgZnVu
Y3Rpb24KKyAgICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0pOiBBZGRlZCBhZGRp
dGlvbmFsIHByb3BlcnRpZXMgdG8gY29ycmVjdCBjYWNoZSB0aGUgYXJyb3cgZnVuY3Rpb24KKyAg
ICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW06OmVuZEFycm93RnVuY3Rpb25Ub2tl
bik6IEFkZGVkIGZ1bmN0aW9uIHRvIHNldCBjb3JyZWN0IHRvY2tlbiBhdCB0aGUgZW5kIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiBpbiBjYXNlIG9mIGNhY2hlCisgICAgICAgICogdGVzdHMvc3RyZXNz
L2pzL2Fycm93ZnVuY3Rpb24uanM6CisgICAgICAgIEFkZGVkIHRlc3RzIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbgorCiAyMDE1LTAzLTEwICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAog
ICAgICAgICBTb21lIGV2ZW50IGhhbmRsZXIgZml4ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkMGI1NTkzNTMz
OGJhMGNlN2NjZGRkZTM3MzE5YmRlZDgwZjk2YTg4Li5lMzJlNWNkZjgwMTg4ODBkY2U0MTk3ZTFi
NmQ5ZDg0ZDRkODI1M2FhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDMtMTAg
IFNrYWNoa292IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICAgW0VT
Nl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQorCisgICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJM
RV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggZm9yIGFycm93IGZ1bmN0aW9uCisKKyAgICAgICAg
ICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTUtMDMtMTAg
IERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFNvbWUgZXZlbnQgaGFu
ZGxlciBmaXhlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDhlY2IwYmFkMzRlODU4Y2IzMzNhNTk2YjI3
MDZhN2MyZTNkYzM4M2YuLmJmMzkyMThmMTdjYmQ3MGFhNTQwYmUxY2JhMzI1YmU4ODBlNDhlODIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNS0wMy0xMSAgU2thY2hrb3Yg
QWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisgICAgICAgICBbRVM2XSBJbXBsZW1l
bnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICBBZGRlZCBmZWF0dXJlIGZsYWcgRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rpb24KKworICAgICAgICAgKiBDb25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKIDIwMTUtMDMtMTAgIFRpbW90aHkgSG9y
dG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCB0aGUgYnVpbGQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA1YTg1ZmQxZDMwYjJhYjhmMGJlOTUyNjJhNGM3YjUzODRhNWNmZTg5Li4y
NjA1OTkzMTIxNGVjZWFkY2FlMTU2NzU2YzIzOWEyZTZlNjNkMWRjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTQgQEAKKzIwMTUtMDMtMTEgIFNrYWNoa292IEFsZXhhbmRyICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MDg1NQorCisgICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAg
QWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggZm9yIGFy
cm93IGZ1bmN0aW9uCisKKyAgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWc6CisKIDIwMTUtMDMtMTAgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29t
PgogCiAgICAgICAgIEFkZCBpbnRlcmZhY2UgdG8gZGVsZXRlIGRpc2sgY2FjaGUgZW50cmllcwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGFkMGI4ZThjNGM2ZmY4MGUxMzJjMjlhYTgwNjQw
MDBjM2Q2ZGQ3YTkuLjZkZDA5NDMwODE4ZmVmOTAwNjFmZGNmM2EwMTI4MmY5Y2NkZDI3ZGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZBU19Q
QVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9F
UzZfQ0xBU1NfU1lOVEFYID0gOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVO
QUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcg
PSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ1NQX05FWFQgPSA7CiBFTkFCTEVf
Q1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLID0gRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SzsKQEAgLTIwOSw0ICsyMTAsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVf
U0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJ
VEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9X
X1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VM
RU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgp
ICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5B
QkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJM
RV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVf
Q1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NT
X1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVY
VCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklM
SVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9T
VVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVS
X0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xF
VkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykg
JChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMp
ICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAk
KEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFU
SE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJD
RSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChF
TkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdB
VE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lO
VEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAk
KEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFV
RVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQo
RU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxF
X1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVf
Q1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAk
KEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxF
TUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJB
Q0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkp
ICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9X
RUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQp
ICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkg
JChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVT
RU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1F
TlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNf
UEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykg
JChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5B
QkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAk
KEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkg
JChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xV
VElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0
KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNf
VEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VT
VE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVf
REFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVf
REVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RP
TTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9G
T05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBB
RCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChF
TkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRB
QkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9V
SSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9Q
T1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVO
QUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJ
WEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJF
U1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVE
SUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElB
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVO
QUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxT
KSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJM
RV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NV
RkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJB
TUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVD
VE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFO
RElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lT
KSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVf
U1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05F
X05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09O
X0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNU
X0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRB
Q1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkg
JChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09D
S0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFC
TEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAk
KEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRF
RF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAppbmRleCBkZjNiZTFlOTQx
MGZkY2Y1ZWJlYWNjZDg1MTU4NzYwZTVhZjg2ZjM5Li4zN2MwOGQ3NmZhMGY0ZDgwNzA1ZjI0OGU4
OTYxZWZlOWM5MmEwNTllIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L0FTVEJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxk
ZXIuaApAQCAtMzA3LDExICszMDcsMjUgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbmV3ICht
X3BhcnNlckFyZW5hKSBGdW5jdGlvbkJvZHlOb2RlKG1fcGFyc2VyQXJlbmEsIHN0YXJ0TG9jYXRp
b24sIGVuZExvY2F0aW9uLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBpblN0cmljdENvbnRleHQs
IGNvbnN0cnVjdG9yS2luZCk7CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICBFeHByZXNzaW9uTm9kZSogY3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIoY29u
c3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPEFT
VEJ1aWxkZXI+JiBpbmZvLCB1bnNpZ25lZCBhcnJvd0Z1bmN0aW9uS2V5d29yZFN0YXJ0KQorICAg
IHsKKyAgICAgICAgU291cmNlQ29kZSBzb3VyY2UgPSBpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlw
ZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24KKyAgICAgICAgPyBtX3NvdXJjZUNvZGUt
PnN1YkFycm93RXhwcmVzc2lvbihpbmZvLmFycm93RnVuY3Rpb25PZmZzZXQsIGluZm8uY2xvc2VC
cmFjZU9mZnNldCwgaW5mby5ib2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlTdGFydENvbHVtbikKKyAg
ICAgICAgOiBtX3NvdXJjZUNvZGUtPnN1YkV4cHJlc3Npb24oaW5mby5vcGVuQnJhY2VPZmZzZXQs
IGluZm8uY2xvc2VCcmFjZU9mZnNldCwgaW5mby5ib2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlTdGFy
dENvbHVtbik7CisKKyAgICAgICAgRnVuY0V4cHJOb2RlKiByZXN1bHQgPSBuZXcgKG1fcGFyc2Vy
QXJlbmEpIEZ1bmNFeHByTm9kZShsb2NhdGlvbiwgKmluZm8ubmFtZSwgaW5mby5ib2R5LCBzb3Vy
Y2UsIGluZm8ucGFyYW1ldGVycyk7CisgICAgICAgIGluZm8uYm9keS0+c2V0TG9jKGluZm8uYm9k
eVN0YXJ0TGluZSwgaW5mby5ib2R5RW5kTGluZSwgbG9jYXRpb24uc3RhcnRPZmZzZXQsIGxvY2F0
aW9uLmxpbmVTdGFydE9mZnNldCk7CisgICAgICAgIGluZm8uYm9keS0+c2V0RnVuY3Rpb25LZXl3
b3JkU3RhcnQoYXJyb3dGdW5jdGlvbktleXdvcmRTdGFydCk7CisgICAgICAgIHJldHVybiByZXN1
bHQ7CisgICAgfQorI2VuZGlmCisKICAgICB2b2lkIHNldEZ1bmN0aW9uTmFtZVN0YXJ0KEZ1bmN0
aW9uQm9keU5vZGUqIGJvZHksIGludCBmdW5jdGlvbk5hbWVTdGFydCkKICAgICB7CiAgICAgICAg
IGJvZHktPnNldEZ1bmN0aW9uTmFtZVN0YXJ0KGZ1bmN0aW9uTmFtZVN0YXJ0KTsKICAgICB9Ci0g
ICAgCisKICAgICBORVZFUl9JTkxJTkUgUHJvcGVydHlOb2RlKiBjcmVhdGVHZXR0ZXJPclNldHRl
clByb3BlcnR5KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIFByb3BlcnR5Tm9kZTo6
VHlwZSB0eXBlLCBib29sLAogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBuYW1lLCBjb25zdCBQ
YXJzZXJGdW5jdGlvbkluZm88QVNUQnVpbGRlcj4mIGluZm8sIHVuc2lnbmVkIGdldE9yU2V0U3Rh
cnRPZmZzZXQsIFN1cGVyQmluZGluZyBzdXBlckJpbmRpbmcpCiAgICAgewpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL0xleGVyLmNwcAppbmRleCAxZWM2N2RmMWI4ZThjMGQ3MzE5NDliMTI3MmE5
YmM3NWZmZjgwMTZmLi5iMWQ5MWUzOGZmODNjZDE5M2NiOGNjZDY3Mzk3MGE4ZTE3NzQ4YzhhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcApAQCAtMTM4OSwxMCArMTM4OSwy
MiBAQCBib29sIExleGVyPFQ+OjpuZXh0VG9rZW5Jc0NvbG9uKCkKICAgICBjb25zdCBUKiBjb2Rl
ID0gbV9jb2RlOwogICAgIHdoaWxlIChjb2RlIDwgbV9jb2RlRW5kICYmIChpc1doaXRlU3BhY2Uo
KmNvZGUpIHx8IGlzTGluZVRlcm1pbmF0b3IoKmNvZGUpKSkKICAgICAgICAgY29kZSsrOwotICAg
IAorCiAgICAgcmV0dXJuIGNvZGUgPCBtX2NvZGVFbmQgJiYgKmNvZGUgPT0gJzonOwogfQogCisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBU
Pgordm9pZCBMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlvbihKU1Rva2VuKiB0b2tlblJlY29yZCkK
K3sKKyAgICBKU1Rva2VuRGF0YSogdG9rZW5EYXRhID0gJnRva2VuUmVjb3JkLT5tX2RhdGE7Cisg
ICAgdG9rZW5EYXRhLT5saW5lID0gbGluZU51bWJlcigpOworICAgIHRva2VuRGF0YS0+b2Zmc2V0
ID0gY3VycmVudE9mZnNldCgpOworICAgIHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0ID0gY3Vy
cmVudExpbmVTdGFydE9mZnNldCgpOworICAgIEFTU0VSVCh0b2tlbkRhdGEtPm9mZnNldCA+PSB0
b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCk7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVu
YW1lIFQ+CiBKU1Rva2VuVHlwZSBMZXhlcjxUPjo6bGV4KEpTVG9rZW4qIHRva2VuUmVjb3JkLCB1
bnNpZ25lZCBsZXhlckZsYWdzLCBib29sIHN0cmljdE1vZGUpCiB7CkBAIC0xNDU2LDcgKzE0Njgs
MTIgQEAgc3RhcnQ6CiAgICAgICAgIH0KICAgICAgICAgdG9rZW4gPSBHVDsKICAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBDaGFyYWN0ZXJFcXVhbDoKKyAgICBjYXNlIENoYXJhY3RlckVxdWFsOiB7
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdWludDMyX3Qg
c2F2ZWRsaW5lTnVtYmVyID0gdG9rZW5EYXRhLT5saW5lOworICAgICAgICB1aW50MzJfdCBzYXZl
ZE9mZnNldCA9IGN1cnJlbnRPZmZzZXQoKTsKKyAgICAgICAgdWludDMyX3Qgc2F2ZWRMaW5lU3Rh
cnRPZmZzZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0KCk7CisjZW5kaWYKICAgICAgICAgc2hp
ZnQoKTsKICAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnPScpIHsKICAgICAgICAgICAgIHNoaWZ0
KCk7CkBAIC0xNDY4LDggKzE0ODUsMjIgQEAgc3RhcnQ6CiAgICAgICAgICAgICB0b2tlbiA9IEVR
RVE7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJz4nKSB7CisgICAgICAg
ICAgICBzaGlmdCgpOworICAgICAgICAgICAgdG9rZW4gPSBBUlJPV0ZVTkNUSU9OOworCisgICAg
ICAgICAgICB0b2tlbkRhdGEtPmxpbmUgPSBzYXZlZGxpbmVOdW1iZXI7CisgICAgICAgICAgICB0
b2tlbkRhdGEtPm9mZnNldCA9IHNhdmVkT2Zmc2V0OworICAgICAgICAgICAgdG9rZW5EYXRhLT5s
aW5lU3RhcnRPZmZzZXQgPSBzYXZlZExpbmVTdGFydE9mZnNldDsKKworICAgICAgICAgICAgQVNT
RVJUKHRva2VuRGF0YS0+b2Zmc2V0ID49IHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0KTsKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgdG9rZW4gPSBFUVVB
TDsKICAgICAgICAgYnJlYWs7CisgICAgfQogICAgIGNhc2UgQ2hhcmFjdGVyTGVzczoKICAgICAg
ICAgc2hpZnQoKTsKICAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnIScgJiYgcGVlaygxKSA9PSAn
LScgJiYgcGVlaygyKSA9PSAnLScpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTGV4ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaApp
bmRleCA4MWI0MzM0ZDg0OWQ4M2U3NWZhZGFmZWY1NDIwODQxNmE4ZDE2ZDY2Li5jOWQzYWM4Y2Jh
MGZjNjIxYjk5YjU4MTEyMTBhODJlMDk4N2MyYmIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL0xleGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9MZXhlci5oCkBAIC01MSwxNiArNTEsMTYgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgbV9r
ZXl3b3JkVGFibGUuZGVsZXRlVGFibGUoKTsKICAgICB9Ci0gICAgCisKIHByaXZhdGU6CiAgICAg
ZnJpZW5kIGNsYXNzIFZNOwotICAgIAorCiAgICAgVk0mIG1fdm07CiAgICAgY29uc3QgSGFzaFRh
YmxlIG1fa2V5d29yZFRhYmxlOwogfTsKIAogZW51bSBMZXhlckZsYWdzIHsKLSAgICBMZXhlckZs
YWdzSWdub3JlUmVzZXJ2ZWRXb3JkcyA9IDEsIAorICAgIExleGVyRmxhZ3NJZ25vcmVSZXNlcnZl
ZFdvcmRzID0gMSwKICAgICBMZXhlckZsYWdzRG9udEJ1aWxkU3RyaW5ncyA9IDIsCiAgICAgTGV4
ZXhGbGFnc0RvbnRCdWlsZEtleXdvcmRzID0gNAogfTsKQEAgLTg0LDcgKzg0LDkgQEAgcHVibGlj
OgogICAgIHZvaWQgc2V0Q29kZShjb25zdCBTb3VyY2VDb2RlJiwgUGFyc2VyQXJlbmEqKTsKICAg
ICB2b2lkIHNldElzUmVwYXJzaW5nKCkgeyBtX2lzUmVwYXJzaW5nID0gdHJ1ZTsgfQogICAgIGJv
b2wgaXNSZXBhcnNpbmcoKSBjb25zdCB7IHJldHVybiBtX2lzUmVwYXJzaW5nOyB9Ci0KKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHZvaWQgc2V0VG9rZW5Qb3NpdGlv
bihKU1Rva2VuKiB0b2tlblJlY29yZCk7CisjZW5kaWYKICAgICBKU1Rva2VuVHlwZSBsZXgoSlNU
b2tlbiosIHVuc2lnbmVkLCBib29sIHN0cmljdE1vZGUpOwogICAgIGJvb2wgbmV4dFRva2VuSXND
b2xvbigpOwogICAgIGludCBsaW5lTnVtYmVyKCkgY29uc3QgeyByZXR1cm4gbV9saW5lTnVtYmVy
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKaW5kZXggMTZlMTQzYzVm
YTQ5YTMxNjhmNzcxMDYxZmNiMjYyZDkyNjc2YWE4ZC4uYzE3ZjgzOGZiZGQ5M2Q4MzQ4MzM4YmUx
MTQyYjIxY2E5MzA0NzhmNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNw
cApAQCAtMzA1LDcgKzMwNSw3IEBAIFN0cmluZyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbm5l
cigpCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Ci12b2lkIFBhcnNlcjxMZXhl
clR5cGU+OjpkaWRGaW5pc2hQYXJzaW5nKFNvdXJjZUVsZW1lbnRzKiBzb3VyY2VFbGVtZW50cywg
RGVjbGFyYXRpb25TdGFja3M6OlZhclN0YWNrJiB2YXJTdGFjaywgCit2b2lkIFBhcnNlcjxMZXhl
clR5cGU+OjpkaWRGaW5pc2hQYXJzaW5nKFNvdXJjZUVsZW1lbnRzKiBzb3VyY2VFbGVtZW50cywg
RGVjbGFyYXRpb25TdGFja3M6OlZhclN0YWNrJiB2YXJTdGFjaywKICAgICBEZWNsYXJhdGlvblN0
YWNrczo6RnVuY3Rpb25TdGFjayYgZnVuY1N0YWNrLCBDb2RlRmVhdHVyZXMgZmVhdHVyZXMsIGlu
dCBudW1Db25zdGFudHMsIElkZW50aWZpZXJTZXQmIGNhcHR1cmVkVmFycywgY29uc3QgVmVjdG9y
PFJlZlB0cjxTdHJpbmdJbXBsPj4mJiBjbG9zZWRWYXJpYWJsZXMpCiB7CiAgICAgbV9zb3VyY2VF
bGVtZW50cyA9IHNvdXJjZUVsZW1lbnRzOwpAQCAtMzIzLDggKzMyMywxMyBAQCBib29sIFBhcnNl
cjxMZXhlclR5cGU+OjphbGxvd0F1dG9tYXRpY1NlbWljb2xvbigpCiAgICAgcmV0dXJuIG1hdGNo
KENMT1NFQlJBQ0UpIHx8IG1hdGNoKEVPRlRPSykgfHwgbV9sZXhlci0+cHJldlRlcm1pbmF0b3Io
KTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8
dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291
cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1
aWxkZXImIGNvbnRleHQsIFNvdXJjZUVsZW1lbnRzTW9kZSBtb2RlLCBGdW5jdGlvblBhcnNlVHlw
ZSBmdW5jdGlvblBhcnNlVHlwZSkKKyNlbHNlCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBl
PgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNv
dXJjZUVsZW1lbnRzTW9kZSBtb2RlKQorI2VuZGlmCiB7CiAgICAgY29uc3QgdW5zaWduZWQgbGVu
Z3RoT2ZVc2VTdHJpY3RMaXRlcmFsID0gMTI7IC8vICJ1c2Ugc3RyaWN0Ii5sZW5ndGgKICAgICBU
cmVlU291cmNlRWxlbWVudHMgc291cmNlRWxlbWVudHMgPSBjb250ZXh0LmNyZWF0ZVNvdXJjZUVs
ZW1lbnRzKCk7CkBAIC0zMzMsNyArMzM4LDExIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsCiAg
ICAgdW5zaWduZWQgZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDA7CiAgICAgYXV0byBzYXZlUG9p
bnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKICAgICBib29sIGhhc1NldFN0cmljdCA9IGZhbHNlOwor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgd2hpbGUgKFRyZWVTdGF0
ZW1lbnQgc3RhdGVtZW50ID0gcGFyc2VTdGF0ZW1lbnQoY29udGV4dCwgZGlyZWN0aXZlLCAmZGly
ZWN0aXZlTGl0ZXJhbExlbmd0aCwgZnVuY3Rpb25QYXJzZVR5cGUpKSB7CisjZWxzZQogICAgIHdo
aWxlIChUcmVlU3RhdGVtZW50IHN0YXRlbWVudCA9IHBhcnNlU3RhdGVtZW50KGNvbnRleHQsIGRp
cmVjdGl2ZSwgJmRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgpKSB7CisjZW5kaWYKICAgICAgICAgaWYg
KG1vZGUgPT0gQ2hlY2tGb3JTdHJpY3RNb2RlICYmICFzZWVuTm9uRGlyZWN0aXZlKSB7CiAgICAg
ICAgICAgICBpZiAoZGlyZWN0aXZlKSB7CiAgICAgICAgICAgICAgICAgLy8gInVzZSBzdHJpY3Qi
IG11c3QgYmUgdGhlIGV4YWN0IGxpdGVyYWwgd2l0aG91dCBlc2NhcGUgc2VxdWVuY2VzIG9yIGxp
bmUgY29udGludWF0aW9uLgpAQCAtNDUyLDcgKzQ2MSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlVmFyRGVjbGFy
YXRpCiAgICAgVHJlZUV4cHJlc3Npb24gaGVhZCA9IDA7CiAgICAgVHJlZUV4cHJlc3Npb24gdGFp
bCA9IDA7CiAgICAgY29uc3QgSWRlbnRpZmllciogbGFzdElkZW50OwotICAgIEpTVG9rZW4gbGFz
dElkZW50VG9rZW47IAorICAgIEpTVG9rZW4gbGFzdElkZW50VG9rZW47CiAgICAgZG8gewogICAg
ICAgICBsYXN0SWRlbnQgPSAwOwogICAgICAgICBsYXN0UGF0dGVybiA9IDA7CkBAIC01NjUsNiAr
NTc0LDMyIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlY29uc3RydWN0aW9u
UGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6Y3JlYXRlCiAgICAgcmV0dXJuIGNvbnRleHQuY3Jl
YXRlQmluZGluZ0xvY2F0aW9uKHRva2VuLm1fbG9jYXRpb24sIG5hbWUsIHRva2VuLm1fc3RhcnRQ
b3NpdGlvbiwgdG9rZW4ubV9lbmRQb3NpdGlvbik7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0KQoreworICAgIEFT
U0VSVChtYXRjaChBUlJPV0ZVTkNUSU9OKSk7CisKKyAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRp
b24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICBzZW1hbnRpY0ZhaWxJZkZhbHNlKGN1cnJlbnRTY29w
ZSgpLT5pc0Z1bmN0aW9uKCksICJSZXR1cm4gc3RhdGVtZW50cyBhcmUgb25seSB2YWxpZCBpbnNp
ZGUgYXJyb3cgZnVuY3Rpb25zIik7CisgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0
YXJ0UG9zaXRpb24oKTsKKyAgICBKU1RleHRQb3NpdGlvbiBlbmQgPSB0b2tlbkVuZFBvc2l0aW9u
KCk7CisKKyAgICBuZXh0KCk7CisgICAgVHJlZUV4cHJlc3Npb24gZXhwciA9IHBhcnNlQXJyb3dG
dW5jdGlvbkV4cHJlc3Npb24oY29udGV4dCk7CisgICAgZmFpbElmRmFsc2UoZXhwciwgIkNhbm5v
dCBwYXJzZSB0aGUgYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgIGVuZCA9IGxhc3RU
b2tlbkVuZFBvc2l0aW9uKCk7CisKKyAgICBib29sIGNvcnJlY0Fycm93RmluaXNoID0gbWF0Y2go
U0VNSUNPTE9OKSB8fCBtYXRjaChDT01NQSkgfHwgbWF0Y2goQ0xPU0VQQVJFTikgfHwgbWF0Y2go
Q0xPU0VCUkFDRSkgfHwgbWF0Y2goQ0xPU0VCUkFDS0VUKSB8fCBtYXRjaChFT0ZUT0spOworICAg
IGZhaWxJZkZhbHNlKGNvcnJlY0Fycm93RmluaXNoLCAiRXhwZWN0ZWQgYSAnOycsICddJywgJ30n
LCAnKScsIG9yICcsJyBmb2xsb3dpbmcgYSBhcnJvdyBmdW5jdGlvbiBzdGF0ZW1lbnQiKTsKKwor
ICAgIGVuZCA9IHRva2VuRW5kUG9zaXRpb24oKTsKKyAgICBzZXRFbmRPZlN0YXRlbWVudCgpOwor
CisgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUmV0dXJuU3RhdGVtZW50KGxvY2F0aW9uLCBleHBy
LCBzdGFydCwgZW5kKTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBl
PgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJu
IFBhcnNlcjxMZXhlclR5cGU+Ojp0cnlQYXJzZURlY29uc3RydWN0aW9uUGF0dGVybkV4cHJlc3Np
b24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7CkBAIC0xMTM4LDggKzExNzMsMTMgQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUJsb2NrU3RhdGVtZW4KICAgICByZXR1cm4gcmVzdWx0OwogfQogCisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVy
KiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCwgRnVuY3Rpb25Q
YXJzZVR5cGUgdHlwZSkKKyNlbHNlCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciom
IGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgpCisjZW5kaWYKIHsK
ICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50RGVwdGgpOwogICAg
IG1fc3RhdGVtZW50RGVwdGgrKzsKQEAgLTExNDgsNiArMTE4OCwyNyBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3Rh
dGVtZW50KFRyZQogICAgIGZhaWxJZlN0YWNrT3ZlcmZsb3coKTsKICAgICBUcmVlU3RhdGVtZW50
IHJlc3VsdCA9IDA7CiAgICAgYm9vbCBzaG91bGRTZXRFbmRPZmZzZXQgPSB0cnVlOworCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBib29sIGhhbmRsZWQgPSBmYWxz
ZTsKKyAgICBpZiAodHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIHN3
aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKKyAgICAgICAgY2FzZSBDTE9TRVBBUkVOOgorICAgICAg
ICBjYXNlIENMT1NFQlJBQ0tFVDoKKyAgICAgICAgY2FzZSBDT01NQToKKyAgICAgICAgY2FzZSBT
RU1JQ09MT046IHsKKyAgICAgICAgICAgIHJlc3VsdCA9IDA7CisgICAgICAgICAgICBoYW5kbGVk
ID0gdHJ1ZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGRlZmF1bHQ6
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChoYW5kbGVkKQor
ICAgICAgICAgICAgZ290byBlbmRTdGF0ZW1lbmV0OworICAgIH0KKyNlbmRpZgogICAgIHN3aXRj
aCAobV90b2tlbi5tX3R5cGUpIHsKICAgICBjYXNlIE9QRU5CUkFDRToKICAgICAgICAgcmVzdWx0
ID0gcGFyc2VCbG9ja1N0YXRlbWVudChjb250ZXh0KTsKQEAgLTExOTMsNiArMTI1NCwxMSBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAgIGNhc2UgQlJFQUs6CiAgICAgICAgIHJlc3VsdCA9
IHBhcnNlQnJlYWtTdGF0ZW1lbnQoY29udGV4dCk7CiAgICAgICAgIGJyZWFrOworI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2FzZSBBUlJPV0ZVTkNUSU9OOgorICAg
ICAgICByZXN1bHQgPSBwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoY29udGV4dCk7CisgICAg
ICAgIGJyZWFrOworI2VuZGlmCiAgICAgY2FzZSBSRVRVUk46CiAgICAgICAgIHJlc3VsdCA9IHBh
cnNlUmV0dXJuU3RhdGVtZW50KGNvbnRleHQpOwogICAgICAgICBicmVhazsKQEAgLTEyMzQsNiAr
MTMwMCw4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgICAgIGJyZWFrOwogICAgIH0K
IAorZW5kU3RhdGVtZW5ldDoKKwogICAgIGlmIChyZXN1bHQgJiYgc2hvdWxkU2V0RW5kT2Zmc2V0
KQogICAgICAgICBjb250ZXh0LnNldEVuZE9mZnNldChyZXN1bHQsIG1fbGFzdFRva2VuRW5kUG9z
aXRpb24ub2Zmc2V0KTsKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTI1NCw2ICsxMzIyLDIzIEBA
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUZvcm1hbFBhcmFtZXRlckxpc3QgUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlRm9yCiAgICAgcmV0dXJuIGxpc3Q7CiB9CiAKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlw
ZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUZ1bmN0aW9uQm9keSBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uQm9keShUcmVlQnVpbGRlciYgY29udGV4dCwg
Q29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCkKK3sKKyAgICBKU1Rva2VuTG9jYXRpb24g
c3RhcnRMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgIHVuc2lnbmVkIHN0YXJ0Q29sdW1u
ID0gdG9rZW5Db2x1bW4oKTsKKworICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9z
dGF0ZW1lbnREZXB0aCk7CisgICAgbV9zdGF0ZW1lbnREZXB0aCA9IDA7CisgICAgdHlwZW5hbWUg
VHJlZUJ1aWxkZXI6OkZ1bmN0aW9uQm9keUJ1aWxkZXIgYm9keUJ1aWxkZXIoY29uc3RfY2FzdDxW
TSo+KG1fdm0pLCBtX2xleGVyLmdldCgpKTsKKworICAgIGZhaWxJZkZhbHNlKHBhcnNlU291cmNl
RWxlbWVudHMoYm9keUJ1aWxkZXIsIENoZWNrRm9yU3RyaWN0TW9kZSwgQXJyb3dGdW5jdGlvblBh
cnNlVHlwZSksICJDYW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGFycm93IGZ1bmN0aW9uIik7Cisg
ICAgdW5zaWduZWQgZW5kQ29sdW1uID0gdG9rZW5Db2x1bW4oKTsKKyAgICByZXR1cm4gY29udGV4
dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFy
dENvbHVtbiwgZW5kQ29sdW1uLCBzdHJpY3RNb2RlKCksIGNvbnN0cnVjdG9yS2luZCk7Cit9Cisj
ZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZUZ1bmN0aW9uQm9keSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5j
dGlvbkJvZHkoVHJlZUJ1aWxkZXImIGNvbnRleHQsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3Rv
cktpbmQpCiB7CkBAIC0xNDEyLDYgKzE0OTcsMTYwIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxk
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uSW5mbyhU
cmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25QYXJzZU1vZGUgbW9kZSwgQ29uc3RydWN0b3JL
aW5kIGNvbnN0cnVjdG9yS2luZCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYgaW5m
bykKK3sKKyAgICBBdXRvUG9wU2NvcGVSZWYgZnVuY3Rpb25TY29wZSh0aGlzLCBwdXNoU2NvcGUo
KSk7CisgICAgZnVuY3Rpb25TY29wZS0+c2V0SXNGdW5jdGlvbigpOworICAgIGludCBmdW5jdGlv
bk5hbWVTdGFydCA9IG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKKyAgICBjb25zdCBJ
ZGVudGlmaWVyKiBsYXN0RnVuY3Rpb25OYW1lID0gbV9sYXN0RnVuY3Rpb25OYW1lOworICAgIG1f
bGFzdEZ1bmN0aW9uTmFtZSA9IG51bGxwdHI7CisKKyAgICBpZiAoIW1hdGNoKElERU5UKSAmJiAh
bWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVUb0tleXdvcmQo
c3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUiKTsKKyAgICAgICAgZmFpbFdpdGhN
ZXNzYWdlKCJFeHBlY3RlZCBhbiBhcnJvdyBmdW5jdGlvbiBpbnB1dCBwYXJhbWV0ZXIiKTsKKyAg
ICB9IGVsc2UgeworICAgICAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICAgICAg
Y29uc3VtZShPUEVOUEFSRU4pOworCisgICAgICAgICAgICBpZiAoIW1hdGNoKENMT1NFUEFSRU4p
KSB7CisgICAgICAgICAgICAgICAgaW5mby5wYXJhbWV0ZXJzID0gcGFyc2VGb3JtYWxQYXJhbWV0
ZXJzKGNvbnRleHQpOworICAgICAgICAgICAgICAgIGZhaWxJZkZhbHNlKGluZm8ucGFyYW1ldGVy
cywgIkNhbm5vdCBwYXJzZSBwYXJhbWV0ZXJzIGZvciB0aGlzICIsIHN0cmluZ0ZvckZ1bmN0aW9u
TW9kZShtb2RlKSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGNvbnN1bWVPckZhaWwo
Q0xPU0VQQVJFTiwgIkV4cGVjdGVkIGEgJyknIG9yIGEgJywnIGFmdGVyIGEgcGFyYW1ldGVyIGRl
Y2xhcmF0aW9uIik7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpbmZvLnBhcmFtZXRl
cnMgPSBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoY29udGV4dCk7CisgICAgICAgICAgICBmYWlsSWZG
YWxzZShpbmZvLnBhcmFtZXRlcnMsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAi
LCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOworICAgICAgICB9CisgICAgfQorCisgICAg
bWF0Y2hPckZhaWwoQVJST1dGVU5DVElPTiwgIkV4cGVjdGVkIGEgJz0+JyBhZnRlciBhcnJvdyBm
dW5jdGlvbiBwYXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsKKworICAgIGluZm8uYXJyb3dGdW5jdGlv
bk9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKKyAgICBpbmZvLm9wZW5CcmFjZU9mZnNl
dCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKKyAgICBpbmZvLmJvZHlTdGFydExpbmUgPSB0b2tl
bkxpbmUoKTsKKyAgICBpbmZvLmJvZHlTdGFydENvbHVtbiA9IG1fdG9rZW4ubV9kYXRhLm9mZnNl
dCAtIG1fdG9rZW4ubV9kYXRhLmxpbmVTdGFydE9mZnNldDsKKworICAgIEpTVG9rZW5Mb2NhdGlv
biBzdGFydExvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CisKKyAgICAvLyBJZiB3ZSBrbm93IGFi
b3V0IHRoaXMgZnVuY3Rpb24gYWxyZWFkeSwgd2UgY2FuIHVzZSB0aGUgY2FjaGVkIGluZm8gYW5k
IHNraXAgdGhlIHBhcnNlciB0byB0aGUgZW5kIG9mIHRoZSBmdW5jdGlvbi4KKyAgICBpZiAoY29u
c3QgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0qIGNhY2hlZEluZm8gPSBUcmVlQnVpbGRlcjo6Q2Fu
VXNlRnVuY3Rpb25DYWNoZSA/IGZpbmRDYWNoZWRGdW5jdGlvbkluZm8oaW5mby5vcGVuQnJhY2VP
ZmZzZXQpIDogMCkgeworICAgICAgICAvLyBJZiB3ZSdyZSBpbiBhIHN0cmljdCBjb250ZXh0LCB0
aGUgY2FjaGVkIGZ1bmN0aW9uIGluZm8gbXVzdCBzYXkgaXQgd2FzIHN0cmljdCB0b28uCisgICAg
ICAgIEFTU0VSVCghc3RyaWN0TW9kZSgpIHx8IGNhY2hlZEluZm8tPnN0cmljdE1vZGUpOworICAg
ICAgICBKU1Rva2VuTG9jYXRpb24gZW5kTG9jYXRpb247CisKKyAgICAgICAgZW5kTG9jYXRpb24u
bGluZSA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VMaW5lOworICAgICAgICBlbmRMb2NhdGlvbi5z
dGFydE9mZnNldCA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VPZmZzZXQ7CisgICAgICAgIGVuZExv
Y2F0aW9uLmxpbmVTdGFydE9mZnNldCA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VMaW5lU3RhcnRP
ZmZzZXQ7CisKKyAgICAgICAgYm9vbCBlbmRDb2x1bW5Jc09uU3RhcnRMaW5lID0gKGVuZExvY2F0
aW9uLmxpbmUgPT0gaW5mby5ib2R5U3RhcnRMaW5lKTsKKyAgICAgICAgQVNTRVJUKGVuZExvY2F0
aW9uLnN0YXJ0T2Zmc2V0ID49IGVuZExvY2F0aW9uLmxpbmVTdGFydE9mZnNldCk7CisgICAgICAg
IHVuc2lnbmVkIGJvZHlFbmRDb2x1bW4gPSBlbmRDb2x1bW5Jc09uU3RhcnRMaW5lID8KKyAgICAg
ICAgZW5kTG9jYXRpb24uc3RhcnRPZmZzZXQgLSBtX3Rva2VuLm1fZGF0YS5saW5lU3RhcnRPZmZz
ZXQgOgorICAgICAgICBlbmRMb2NhdGlvbi5zdGFydE9mZnNldCAtIGVuZExvY2F0aW9uLmxpbmVT
dGFydE9mZnNldDsKKyAgICAgICAgdW5zaWduZWQgY3VycmVudExpbmVTdGFydE9mZnNldCA9IG1f
dG9rZW4ubV9sb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQ7CisKKyAgICAgICAgaW5mby5ib2R5ID0g
Y29udGV4dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgZW5kTG9jYXRpb24sIGlu
Zm8uYm9keVN0YXJ0Q29sdW1uLCBib2R5RW5kQ29sdW1uLCBjYWNoZWRJbmZvLT5zdHJpY3RNb2Rl
LCBjb25zdHJ1Y3RvcktpbmQpOworCisgICAgICAgIGZ1bmN0aW9uU2NvcGUtPnJlc3RvcmVGcm9t
U291cmNlUHJvdmlkZXJDYWNoZShjYWNoZWRJbmZvKTsKKyAgICAgICAgZmFpbElmRmFsc2UocG9w
U2NvcGUoZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyks
ICJQYXJzZXIgZXJyb3IiKTsKKworICAgICAgICBpbmZvLmNsb3NlQnJhY2VPZmZzZXQgPSBjYWNo
ZWRJbmZvLT5jbG9zZUJyYWNlT2Zmc2V0OworICAgICAgICBpbmZvLmFycm93RnVuY3Rpb25Cb2R5
VHlwZSA9IGNhY2hlZEluZm8tPmlzQm9keUFycm93RnVuY3Rpb25CbG9jayA/IEFycm93RnVuY3Rp
b25Cb2R5QmxvY2sgOiBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb247CisKKyAgICAgICAgY29u
dGV4dC5zZXRGdW5jdGlvbk5hbWVTdGFydChpbmZvLmJvZHksIGZ1bmN0aW9uTmFtZVN0YXJ0KTsK
KworICAgICAgICBtX3Rva2VuID0gaW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dG
dW5jdGlvbkJvZHlCbG9jayA/IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VUb2tlbigpIDogY2FjaGVk
SW5mby0+ZW5kQXJyb3dGdW5jdGlvblRva2VuKCk7CisKKyAgICAgICAgaWYgKGVuZENvbHVtbklz
T25TdGFydExpbmUpCisgICAgICAgICAgICBtX3Rva2VuLm1fbG9jYXRpb24ubGluZVN0YXJ0T2Zm
c2V0ID0gY3VycmVudExpbmVTdGFydE9mZnNldDsKKworICAgICAgICBtX2xleGVyLT5zZXRPZmZz
ZXQobV90b2tlbi5tX2xvY2F0aW9uLmVuZE9mZnNldCwgbV90b2tlbi5tX2xvY2F0aW9uLmxpbmVT
dGFydE9mZnNldCk7CisgICAgICAgIG1fbGV4ZXItPnNldExpbmVOdW1iZXIobV90b2tlbi5tX2xv
Y2F0aW9uLmxpbmUpOworCisgICAgICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KGluZm8uYm9keSwg
bV9sZXhlci0+Y3VycmVudE9mZnNldCgpKTsKKworICAgICAgICBpZiAoaW5mby5hcnJvd0Z1bmN0
aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jaykKKyAgICAgICAgICAgIG5leHQo
KTsKKworICAgICAgICBpbmZvLmJvZHlFbmRMaW5lID0gbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5s
aW5lOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgbV9sYXN0RnVuY3Rpb25OYW1l
ID0gbGFzdEZ1bmN0aW9uTmFtZTsKKyAgICBQYXJzZXJTdGF0ZSBvbGRTdGF0ZSA9IHNhdmVTdGF0
ZSgpOworCisgICAgU2F2ZVBvaW50IHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAg
IG5leHQoKTsKKyAgICAvLyBDaGVjayBpZiBhcnJvdyBib2R5IHN0YXJ0IHdpdGggey4gSWYgaXQg
dHJ1ZSBpdCBtZWFuIHRoYXQgYXJyb3cgZnVuY3Rpb24gaXMgRmF0IGFycm93IGZ1bmN0aW9uCisg
ICAgLy8gYW5kIHdlIG5lZWQgdXNlIGNvbW1vbiBhcHByb2FjaCB0byBwYXJzZSBmdW5jdGlvbiBi
b2R5CisKKyAgICBpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlwZSA9IG1hdGNoKE9QRU5CUkFDRSkg
PyBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrIDogQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOwor
CisgICAgaWYgKGluZm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5
QmxvY2spIHsKKyAgICAgICAgaW5mby5vcGVuQnJhY2VPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5v
ZmZzZXQ7CisgICAgICAgIGluZm8uYm9keVN0YXJ0TGluZSA9IHRva2VuTGluZSgpOworICAgICAg
ICBpbmZvLmJvZHlTdGFydENvbHVtbiA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldCAtIG1fdG9rZW4u
bV9kYXRhLmxpbmVTdGFydE9mZnNldDsKKworICAgICAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0
aW9uQm9keShjb250ZXh0LCBjb25zdHJ1Y3RvcktpbmQpOworICAgIH0gZWxzZSB7CisgICAgICAg
IHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKKyAgICAgICAgaW5mby5ib2R5ID0gcGFyc2VB
cnJvd0Z1bmN0aW9uQm9keShjb250ZXh0LCBjb25zdHJ1Y3RvcktpbmQpOworICAgIH0KKworICAg
IHJlc3RvcmVTdGF0ZShvbGRTdGF0ZSk7CisgICAgZmFpbElmRmFsc2UoaW5mby5ib2R5LCAiQ2Fu
bm90IHBhcnNlIHRoZSBib2R5IG9mIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUp
KTsKKyAgICBjb250ZXh0LnNldEVuZE9mZnNldChpbmZvLmJvZHksIG1fbGV4ZXItPmN1cnJlbnRP
ZmZzZXQoKSk7CisgICAgaWYgKGZ1bmN0aW9uU2NvcGUtPnN0cmljdE1vZGUoKSAmJiBpbmZvLm5h
bWUpIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQobW9kZSA9PSBGdW5jdGlvbk1vZGUpOworICAg
ICAgICBzZW1hbnRpY0ZhaWxJZlRydWUobV92bS0+cHJvcGVydHlOYW1lcy0+YXJndW1lbnRzID09
ICppbmZvLm5hbWUsICInIiwgaW5mby5uYW1lLT5pbXBsKCksICInIGlzIG5vdCBhIHZhbGlkIGZ1
bmN0aW9uIG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsKKyAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVl
KG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmluZm8ubmFtZSwgIiciLCBpbmZvLm5hbWUt
PmltcGwoKSwgIicgaXMgbm90IGEgdmFsaWQgZnVuY3Rpb24gbmFtZSBpbiBzdHJpY3QgbW9kZSIp
OworICAgIH0KKworICAgIGluZm8uY2xvc2VCcmFjZU9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9m
ZnNldDsKKworICAgIHVuc2lnbmVkIGNsb3NlQnJhY2VMaW5lID0gbV90b2tlbi5tX2RhdGEubGlu
ZTsKKyAgICB1bnNpZ25lZCBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0ID0gbV90b2tlbi5tX2Rh
dGEubGluZVN0YXJ0T2Zmc2V0OworICAgIGJvb2wgaXNCb2R5QXJyb3dGdW5jdGlvbkJsb2NrID0g
aW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jazsKKwor
ICAgIC8vIENhY2hlIHRoZSB0b2tlbml6ZXIgc3RhdGUgYW5kIHRoZSBmdW5jdGlvbiBzY29wZSB0
aGUgZmlyc3QgdGltZSB0aGUgZnVuY3Rpb24gaXMgcGFyc2VkLgorICAgIC8vIEFueSBmdXR1cmUg
cmVwYXJzaW5nIGNhbiB0aGVuIHNraXAgdGhlIGZ1bmN0aW9uLgorICAgIHN0YXRpYyBjb25zdCBp
bnQgbWluaW11bUZ1bmN0aW9uTGVuZ3RoVG9DYWNoZSA9IDE2OworICAgIHN0ZDo6dW5pcXVlX3B0
cjxTb3VyY2VQcm92aWRlckNhY2hlSXRlbT4gbmV3SW5mbzsKKyAgICBpbnQgZnVuY3Rpb25MZW5n
dGggPSBpbmZvLmNsb3NlQnJhY2VPZmZzZXQgLSBpbmZvLm9wZW5CcmFjZU9mZnNldDsKKyAgICBp
ZiAoVHJlZUJ1aWxkZXI6OkNhblVzZUZ1bmN0aW9uQ2FjaGUgJiYgbV9mdW5jdGlvbkNhY2hlICYm
IGZ1bmN0aW9uTGVuZ3RoID4gbWluaW11bUZ1bmN0aW9uTGVuZ3RoVG9DYWNoZSkgeworICAgICAg
ICBTb3VyY2VQcm92aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFyYW1ldGVycyBwYXJhbWV0ZXJzOwor
ICAgICAgICBwYXJhbWV0ZXJzLmZ1bmN0aW9uTmFtZVN0YXJ0ID0gZnVuY3Rpb25OYW1lU3RhcnQ7
CisgICAgICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmUgPSBjbG9zZUJyYWNlTGluZTsKKyAg
ICAgICAgcGFyYW1ldGVycy5jbG9zZUJyYWNlT2Zmc2V0ID0gaW5mby5jbG9zZUJyYWNlT2Zmc2V0
OworICAgICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQgPSBjbG9zZUJy
YWNlTGluZVN0YXJ0T2Zmc2V0OworICAgICAgICBwYXJhbWV0ZXJzLmlzQm9keUFycm93RnVuY3Rp
b25CbG9jayA9IGlzQm9keUFycm93RnVuY3Rpb25CbG9jazsKKyAgICAgICAgcGFyYW1ldGVycy50
b2tlblR5cGUgPSBtX3Rva2VuLm1fdHlwZTsKKworICAgICAgICBmdW5jdGlvblNjb3BlLT5maWxs
UGFyYW1ldGVyc0ZvclNvdXJjZVByb3ZpZGVyQ2FjaGUocGFyYW1ldGVycyk7CisgICAgICAgIG5l
d0luZm8gPSBTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6Y3JlYXRlKHBhcmFtZXRlcnMpOworICAg
IH0KKyAgICBjb250ZXh0LnNldEZ1bmN0aW9uTmFtZVN0YXJ0KGluZm8uYm9keSwgZnVuY3Rpb25O
YW1lU3RhcnQpOworCisgICAgZmFpbElmRmFsc2UocG9wU2NvcGUoZnVuY3Rpb25TY29wZSwgVHJl
ZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQYXJzZXIgZXJyb3IiKTsKKworICAg
IGlmIChpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUJsb2Nr
KSB7CisgICAgICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0UsICJFeHBlY3RlZCBhIGNsb3Npbmcg
J30nIGFmdGVyIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAg
ICAgICAgbmV4dCgpOworICAgIH0gZWxzZSB7CisgICAgICAgIGJvb2wgaXNFbmRPZkFycm93RnVu
Y3Rpb24gPSBtYXRjaChTRU1JQ09MT04pIHx8IG1hdGNoKENPTU1BKSB8fCBtYXRjaChDTE9TRVBB
UkVOKSB8fCBtYXRjaChDTE9TRUJSQUNFKSB8fCBtYXRjaChDTE9TRUJSQUNLRVQpOworICAgICAg
ICBmYWlsSWZGYWxzZShpc0VuZE9mQXJyb3dGdW5jdGlvbiwgIkV4cGVjdGVkIHRoZSBjbG9zaW5n
ICc7JyAnLCcgJ10nICcpJyAnfScgYWZ0ZXIgYXJyb3cgZnVuY3Rpb24iKTsKKyAgICB9CisKKyAg
ICBpZiAobmV3SW5mbykKKyAgICAgICAgbV9mdW5jdGlvbkNhY2hlLT5hZGQoaW5mby5vcGVuQnJh
Y2VPZmZzZXQsIFdURjo6bW92ZShuZXdJbmZvKSk7CisKKyAgICBpbmZvLmJvZHlFbmRMaW5lID0g
bV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lOworICAgIHJldHVybiB0cnVlOworfQorI2VuZGlm
CisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25EZWNs
YXJhdGlvbihUcmVlQnVpbGRlciYgY29udGV4dCkKIHsKQEAgLTE3MjUsNiArMTk2NCwxOCBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlSWZTdGF0ZW1lbnQoVAogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUlmU3RhdGVt
ZW50KGlmTG9jYXRpb24sIGNvbmRpdGlvbiwgdHJ1ZUJsb2NrLCBzdGF0ZW1lbnRTdGFjay5sYXN0
KCksIHN0YXJ0LCBlbmQpOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rp
b25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQoreworICAgIGZhaWxJZlN0YWNrT3Zl
cmZsb3coKTsKKyAgICBUcmVlRXhwcmVzc2lvbiBub2RlID0gcGFyc2VBc3NpZ25tZW50RXhwcmVz
c2lvbihjb250ZXh0KTsKKyAgICBmYWlsSWZGYWxzZShub2RlLCAiQ2Fubm90IHBhcnNlIGV4cHJl
c3Npb24iKTsKKyAgICBjb250ZXh0LnNldEVuZE9mZnNldChub2RlLCBtX2xhc3RUb2tlbkVuZFBv
c2l0aW9uLm9mZnNldCk7CisgICAgcmV0dXJuIG5vZGU7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUg
PHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4
cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwcmVzc2lvbihUcmVlQnVpbGRlciYg
Y29udGV4dCkKIHsKQEAgLTE3NzIsNiArMjAyMyw0MyBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJl
ZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1l
bgogICAgICAgICB9CiAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKICAgICB9
CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFNhdmVQb2ludCBz
YXZlQXJyb3dGdW5jdGlvblBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgYm9vbCBhcnJv
d0Z1bmN0aW9uRW1wdHlMaXN0ID0gZmFsc2U7CisgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsK
KyAgICAgICAgbmV4dCgpOworICAgICAgICBpZiAobWF0Y2goQ0xPU0VQQVJFTikpIHsKKyAgICAg
ICAgICAgIG5leHQoKTsKKworICAgICAgICAgICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJT04pKQor
ICAgICAgICAgICAgICAgIGFycm93RnVuY3Rpb25FbXB0eUxpc3QgPSB0cnVlOworICAgICAgICB9
CisKKyAgICAgICAgaWYgKCFhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0KQorICAgICAgICAgICAgcmVz
dG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICB9CisjZW5kaWYKKwor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgVHJlZUV4cHJlc3Npb24g
bGhzOworICAgIGlmICghYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCkgeworICAgICAgICBsaHMgPSBw
YXJzZUNvbmRpdGlvbmFsRXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICAgICAgZmFpbElmRmFsc2Uo
bGhzLCAiQ2FuGW5vdCBwYXJzZSBleHByZXNzaW9uIik7CisgICAgICAgIGlmIChpbml0aWFsTm9u
TEhTQ291bnQgIT0gbV9ub25MSFNDb3VudCkgeworICAgICAgICAgICAgaWYgKG1fdG9rZW4ubV90
eXBlID49IEVRVUFMICYmIG1fdG9rZW4ubV90eXBlIDw9IE9SRVFVQUwpCisgICAgICAgICAgICAg
ICAgc2VtYW50aWNGYWlsKCJMZWZ0IGhhbmQgc2lkZSBvZiBvcGVyYXRvciAnIiwgZ2V0VG9rZW4o
KSwgIicgbXVzdCBiZSBhIHJlZmVyZW5jZSIpOworCisgICAgICAgICAgICByZXR1cm4gbGhzOwor
ICAgICAgICB9CisgICAgfQorCisgICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJT04pKSB7CisgICAg
ICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAgICAgIGxo
cyA9IHBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoY29udGV4dCk7CisgICAgICAgIHJldHVybiBs
aHM7CisgICAgfQorI2Vsc2UKICAgICBUcmVlRXhwcmVzc2lvbiBsaHMgPSBwYXJzZUNvbmRpdGlv
bmFsRXhwcmVzc2lvbihjb250ZXh0KTsKICAgICBmYWlsSWZGYWxzZShsaHMsICJDYW5ub3QgcGFy
c2UgZXhwcmVzc2lvbiIpOwogICAgIGlmIChpbml0aWFsTm9uTEhTQ291bnQgIT0gbV9ub25MSFND
b3VudCkgewpAQCAtMTc4MCw3ICsyMDY4LDggQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWls
ZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KIAog
ICAgICAgICByZXR1cm4gbGhzOwogICAgIH0KLSAgICAKKyNlbmRpZgorCiAgICAgaW50IGFzc2ln
bm1lbnRTdGFjayA9IDA7CiAgICAgT3BlcmF0b3Igb3A7CiAgICAgYm9vbCBoYWRBc3NpZ25tZW50
ID0gZmFsc2U7CkBAIC0yMjUyLDYgKzI1NDEsMjMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUK
ICAgICAgICAgcmV0dXJuIGNvbnRleHQudGhpc0V4cHIobG9jYXRpb24pOwogICAgIH0KICAgICBj
YXNlIElERU5UOiB7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAg
ICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsK
KyAgICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAg
ICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKKyAg
ICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CisgICAgICAg
IG5leHQoKTsKKworICAgICAgICBpZiAoIW1hdGNoKEFSUk9XRlVOQ1RJT04pKSB7CisgICAgICAg
ICAgICBjdXJyZW50U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRlbnQsIG1fdm0tPnByb3BlcnR5TmFt
ZXMtPmV2YWwgPT0gKmlkZW50KTsKKyAgICAgICAgICAgIG1fbGFzdElkZW50aWZpZXIgPSBpZGVu
dDsKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJlc29sdmUobG9jYXRpb24sIGlk
ZW50LCBzdGFydCk7CisgICAgICAgIH0KKworICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVB
cnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICBUcmVlRXhwcmVzc2lvbiBsaHMgPSBwYXJzZUFy
cm93RnVuY3Rpb25XcmFwcGVyKGNvbnRleHQpOworICAgICAgICByZXR1cm4gbGhzOworI2Vsc2UK
ICAgICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKICAg
ICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAg
ICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CkBAIC0yMjU5
LDYgKzI1NjUsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9u
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHByZQogICAgICAgICBjdXJyZW50U2Nv
cGUoKS0+dXNlVmFyaWFibGUoaWRlbnQsIG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmlk
ZW50KTsKICAgICAgICAgbV9sYXN0SWRlbnRpZmllciA9IGlkZW50OwogICAgICAgICByZXR1cm4g
Y29udGV4dC5jcmVhdGVSZXNvbHZlKGxvY2F0aW9uLCBpZGVudCwgc3RhcnQpOworI2VuZGlmCiAg
ICAgfQogICAgIGNhc2UgU1RSSU5HOiB7CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50
ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CkBAIC0yNDQ1LDYgKzI3NTIsMzIgQEAgZW5kTWVtYmVy
RXhwcmVzc2lvbjoKICAgICByZXR1cm4gYmFzZTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBUcmVl
RXhwcmVzc2lvbiBiYXNlID0gMDsKKyAgICBKU1RleHRQb3NpdGlvbiBleHByZXNzaW9uU3RhcnQg
PSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICBpbnQgbmV3Q291bnQgPSAwOworICAgIEpTVG9r
ZW5Mb2NhdGlvbiBsb2NhdGlvbjsKKworICAgIGlmIChtYXRjaChJREVOVCkgfHwgbWF0Y2goT1BF
TlBBUkVOKSkgeworICAgICAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2Vu
U3RhcnQoKTsKKyAgICAgICAgbG9jYXRpb24gPSB0b2tlbkxvY2F0aW9uKCk7CisgICAgICAgIFBh
cnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gaW5mbzsKKyAgICAgICAgaW5mby5uYW1lID0g
Jm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyOworICAgICAgICBmYWlsSWZGYWxz
ZSgocGFyc2VBcnJvd0Z1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk1vZGUsIENvbnN0cnVj
dG9yS2luZDo6QmFzZSwgaW5mbykpLCAiQ2Fubm90IHBhcnNlIGZ1bmN0aW9uIGV4cHJlc3Npb24i
KTsKKyAgICAgICAgYmFzZSA9IGNvbnRleHQuY3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIobG9jYXRp
b24sIGluZm8sIGZ1bmN0aW9uS2V5d29yZFN0YXJ0KTsKKyAgICB9IGVsc2UKKyAgICAgICAgYmFz
ZSA9IHBhcnNlUHJpbWFyeUV4cHJlc3Npb24oY29udGV4dCk7CisKKyAgICBmYWlsSWZGYWxzZShi
YXNlLCAiQ2Fubm90IHBhcnNlIGJhc2UgZXhwcmVzc2lvbiIpOworICAgIHdoaWxlIChuZXdDb3Vu
dC0tKQorICAgICAgICBiYXNlID0gY29udGV4dC5jcmVhdGVOZXdFeHByKGxvY2F0aW9uLCBiYXNl
LCBleHByZXNzaW9uU3RhcnQsIGxhc3RUb2tlbkVuZFBvc2l0aW9uKCkpOworICAgIHJldHVybiBi
YXNlOworfQorI2VuZGlmCisKIHN0YXRpYyBjb25zdCBjaGFyKiBvcGVyYXRvclN0cmluZyhib29s
IHByZWZpeCwgdW5zaWduZWQgdG9rKQogewogICAgIHN3aXRjaCAodG9rKSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCBhMWNiMjk1MDEyM2FlZjNmODUwOThkYWE1NTc3
OTVhOWVjZmVmZDVmLi45MGIyMjM0YmViMDllOTNlM2VhNDNlOTMzNTg4Y2JlYThiYTk3Mjg3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKQEAgLTgwLDYgKzgwLDkgQEAgY2xh
c3MgU291cmNlQ29kZTsKIENPTVBJTEVfQVNTRVJUKExhc3RVbnRhZ2dlZFRva2VuIDwgNjQsIExl
c3NUaGFuNjRVbnRhZ2dlZFRva2Vucyk7CiAKIGVudW0gU291cmNlRWxlbWVudHNNb2RlIHsgQ2hl
Y2tGb3JTdHJpY3RNb2RlLCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlIH07CisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK2VudW0gRnVuY3Rpb25QYXJzZVR5cGUgeyBTdGFuZGFy
ZEZ1bmN0aW9uUGFyc2VUeXBlLCBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlIH07CisjZW5kaWYKIGVu
dW0gRnVuY3Rpb25SZXF1aXJlbWVudHMgeyBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlv
bk5lZWRzTmFtZSB9OwogZW51bSBGdW5jdGlvblBhcnNlTW9kZSB7CiAgICAgRnVuY3Rpb25Nb2Rl
LApAQCAtNTQwLDggKzU0Myw4IEBAIHByaXZhdGU6CiAgICAgfQogICAgIAogICAgIFNjb3BlU3Rh
Y2sgbV9zY29wZVN0YWNrOwotICAgIAotICAgIGNvbnN0IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVt
KiBmaW5kQ2FjaGVkRnVuY3Rpb25JbmZvKGludCBvcGVuQnJhY2VQb3MpIAorCisgICAgY29uc3Qg
U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0qIGZpbmRDYWNoZWRGdW5jdGlvbkluZm8oaW50IG9wZW5C
cmFjZVBvcykKICAgICB7CiAgICAgICAgIHJldHVybiBtX2Z1bmN0aW9uQ2FjaGUgPyBtX2Z1bmN0
aW9uQ2FjaGUtPmdldChvcGVuQnJhY2VQb3MpIDogMDsKICAgICB9CkBAIC01NDksNyArNTUyLDcg
QEAgcHJpdmF0ZToKICAgICBQYXJzZXIoKTsKICAgICBTdHJpbmcgcGFyc2VJbm5lcigpOwogCi0g
ICAgdm9pZCBkaWRGaW5pc2hQYXJzaW5nKFNvdXJjZUVsZW1lbnRzKiwgRGVjbGFyYXRpb25TdGFj
a3M6OlZhclN0YWNrJiwgCisgICAgdm9pZCBkaWRGaW5pc2hQYXJzaW5nKFNvdXJjZUVsZW1lbnRz
KiwgRGVjbGFyYXRpb25TdGFja3M6OlZhclN0YWNrJiwKICAgICAgICAgRGVjbGFyYXRpb25TdGFj
a3M6OkZ1bmN0aW9uU3RhY2smLCBDb2RlRmVhdHVyZXMsIGludCwgSWRlbnRpZmllclNldCYsIGNv
bnN0IFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+JiYpOwogCiAgICAgLy8gVXNlZCB0byBkZXRl
cm1pbmUgdHlwZSBvZiBlcnJvciB0byByZXBvcnQuCkBAIC03MDgsOSArNzExLDE0IEBAIHByaXZh
dGU6CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0gICAgCisKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1
aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0aW9uUGFy
c2VUeXBlID0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CisgICAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiwg
Y29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxM
ZW5ndGggPSAwLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSA9IFN0YW5kYXJk
RnVuY3Rpb25QYXJzZVR5cGUpOworI2Vsc2UKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwg
U291cmNlRWxlbWVudHNNb2RlKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVTdGF0ZW1lbnQgcGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVy
KiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDApOworI2Vu
ZGlmCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQ2xhc3NEZWNsYXJhdGlvbihUcmVlQnVpbGRl
ciYpOwogI2VuZGlmCkBAIC03NTUsNiArNzYzLDE0IEBAIHByaXZhdGU6CiAgICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZVZhckRlY2xhcmF0aW9uTGlz
dChUcmVlQnVpbGRlciYsIGludCYgZGVjbGFyYXRpb25zLCBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0
ZXJuJiBsYXN0UGF0dGVybiwgVHJlZUV4cHJlc3Npb24mIGxhc3RJbml0aWFsaXplciwgSlNUZXh0
UG9zaXRpb24mIGlkZW50U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0U3RhcnQsIEpTVGV4dFBv
c2l0aW9uJiBpbml0RW5kLCBWYXJEZWNsYXJhdGlvbkxpc3RDb250ZXh0KTsKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlQ29uc3REZWNsTGlzdCBwYXJz
ZUNvbnN0RGVjbGFyYXRpb25MaXN0KFRyZWVCdWlsZGVyJik7CiAKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZUV4cHJlc3Npb24gcGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOwor
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZUFycm93
RnVuY3Rpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoVHJlZUJ1
aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBi
b29sIHBhcnNlQXJyb3dGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImLCBGdW5jdGlvblBhcnNlTW9k
ZSwgQ29uc3RydWN0b3JLaW5kLCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+Jik7Cisg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlv
bkJvZHkgcGFyc2VBcnJvd0Z1bmN0aW9uQm9keShUcmVlQnVpbGRlciYsIENvbnN0cnVjdG9yS2lu
ZCk7CisjZW5kaWYKKwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5M
SU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gY3JlYXRlQmluZGluZ1BhdHRlcm4oVHJlZUJ1
aWxkZXImLCBEZWNvbnN0cnVjdGlvbktpbmQsIGNvbnN0IElkZW50aWZpZXImLCBpbnQgZGVwdGgs
IEpTVG9rZW4pOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5F
IFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oVHJl
ZUJ1aWxkZXImLCBEZWNvbnN0cnVjdGlvbktpbmQsIGludCBkZXB0aCA9IDApOwogICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBh
dHRlcm4gdHJ5UGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm5FeHByZXNzaW9uKFRyZWVCdWlsZGVy
Jik7CkBAIC03NzUsNyArNzkxLDE0IEBAIHByaXZhdGU6CiAgICAgICAgIH0KICAgICAgICAgcmV0
dXJuIGFsbG93QXV0b21hdGljU2VtaWNvbG9uKCk7CiAgICAgfQotICAgIAorCisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2b2lkIHNldEVuZE9mU3RhdGVtZW50KCkK
KyAgICB7CisgICAgICAgIG1fbGV4ZXItPnNldFRva2VuUG9zaXRpb24oJm1fdG9rZW4pOworICAg
IH0KKyNlbmRpZgorCiAgICAgYm9vbCBjYW5SZWN1cnNlKCkKICAgICB7CiAgICAgICAgIHJldHVy
biBtX3ZtLT5pc1NhZmVUb1JlY3Vyc2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oCmluZGV4IGUyMDgyNDU0MWEzMDYxNmRmNWI5ZTJi
MTY3N2RhMDc5ZTliZTc3YTUuLmExYTVhMDAxZWE5ODk4MDA5NWNkNjdiNjlkNTVmMDI1YWYxNzk3
ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rp
b25JbmZvLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlv
bkluZm8uaApAQCAtMjgsNiArMjgsMTAgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorZW51bSBBcnJvd0Z1bmN0aW9uQm9keVR5cGUg
eyBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24sIEFycm93RnVuY3Rpb25Cb2R5QmxvY2t9Owor
I2VuZGlmCisKIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4KIHN0cnVjdCBQYXJzZXJGdW5j
dGlvbkluZm8gewogICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUgPSAwOwpAQCAtMzgsNiArNDIs
MTAgQEAgc3RydWN0IFBhcnNlckZ1bmN0aW9uSW5mbyB7CiAgICAgaW50IGJvZHlTdGFydExpbmUg
PSAwOwogICAgIGludCBib2R5RW5kTGluZSA9IDA7CiAgICAgdW5zaWduZWQgYm9keVN0YXJ0Q29s
dW1uID0gMDsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHVuc2ln
bmVkIGFycm93RnVuY3Rpb25PZmZzZXQgPSAwOworICAgIEFycm93RnVuY3Rpb25Cb2R5VHlwZSBh
cnJvd0Z1bmN0aW9uQm9keVR5cGUgPSBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb247CisjZW5k
aWYKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFy
c2VyVG9rZW5zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5o
CmluZGV4IDNmZjI3OTg2NmFmNmUyODY5MGJjMDdjNWY3MjFiYzdhMzgwNTZlYTIuLjRjNjNkYzEy
MDAwNzQyMWU5MTNjMTM5NGQzYTkxOGE5YWEyYjBiZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaApAQCAtNzUsNiArNzUsOSBAQCBlbnVtIEpTVG9rZW5U
eXBlIHsKICAgICBGSU5BTExZLAogICAgIERFQlVHR0VSLAogICAgIEVMU0UsCisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBBUlJPV0ZVTkNUSU9OLAorI2VuZGlmCiAj
aWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAgICAgQ0xBU1NUT0tFTiwKICAgICBFWFRFTkRT
LApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaAppbmRleCA3M2QyM2Ri
ODJhZjI1ZWE0NmMwZjg5Nzg1Y2U0MjRiYjYwZWI2MWE3Li45MjhlNzEyYTkwZTM0ODk4OGJjMzU1
NDg5ODc1YjA5MDc3Njc1NTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1NvdXJjZUNvZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJj
ZUNvZGUuaApAQCAtMTA1LDYgKzEwNSw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAKICAg
ICAgICAgU291cmNlQ29kZSBzdWJFeHByZXNzaW9uKHVuc2lnbmVkIG9wZW5CcmFjZSwgdW5zaWdu
ZWQgY2xvc2VCcmFjZSwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKTsKIAorI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIFNvdXJjZUNvZGUgc3ViQXJy
b3dFeHByZXNzaW9uKHVuc2lnbmVkIHN0YXJ0QXJyb3dGdW5jdGlvbiwgdW5zaWduZWQgZW5kQXJy
b3dGdW5jdGlvbiwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKTsKKyNlbmRpZgogICAg
IHByaXZhdGU6CiAgICAgICAgIFJlZlB0cjxTb3VyY2VQcm92aWRlcj4gbV9wcm92aWRlcjsKICAg
ICAgICAgaW50IG1fc3RhcnRDaGFyOwpAQCAtMTE4LDYgKzEyMSwxNyBAQCBuYW1lc3BhY2UgSlND
IHsKICAgICAgICAgcmV0dXJuIFNvdXJjZUNvZGUoU3RyaW5nU291cmNlUHJvdmlkZXI6OmNyZWF0
ZShzb3VyY2UsIHVybCwgc3RhcnRQb3NpdGlvbiksIHN0YXJ0UG9zaXRpb24ubV9saW5lLm9uZUJh
c2VkSW50KCksIHN0YXJ0UG9zaXRpb24ubV9jb2x1bW4ub25lQmFzZWRJbnQoKSk7CiAgICAgfQog
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpbmxpbmUgU291cmNl
Q29kZSBTb3VyY2VDb2RlOjpzdWJBcnJvd0V4cHJlc3Npb24odW5zaWduZWQgc3RhcnRBcnJvd0Z1
bmN0aW9uLCB1bnNpZ25lZCBlbmRBcnJvd0Z1bmN0aW9uLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3Rh
cnRDb2x1bW4pCisgICAgeworICAgICAgICBBU1NFUlQocHJvdmlkZXIoKS0+c291cmNlKClbc3Rh
cnRBcnJvd0Z1bmN0aW9uXSA9PSAnPScgJiYgcHJvdmlkZXIoKS0+c291cmNlKClbc3RhcnRBcnJv
d0Z1bmN0aW9uICsgMV0gPT0gJz4nKTsKKyAgICAgICAgLy8gRml4bWU6IFVzZSBiZXR0ZXIgYXBw
cm9hY2ggdG8gY2hlY2sgc3ltYm9sCisgICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2Uo
KVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJywnIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2Vu
ZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnOycgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJy
b3dGdW5jdGlvbiAtIDFdID09ICcpJyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1
bmN0aW9uIC0gMV0gPT0gJ10nIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rp
b24gLSAxXSA9PSAnfScpOworICAgICAgICBzdGFydENvbHVtbiArPSAxOyAvLyBDb252ZXJ0IHRv
IGJhc2UgMS4KKyAgICAgICAgcmV0dXJuIFNvdXJjZUNvZGUocHJvdmlkZXIoKSwgc3RhcnRBcnJv
d0Z1bmN0aW9uLCBlbmRBcnJvd0Z1bmN0aW9uIC0gMSwgZmlyc3RMaW5lLCBzdGFydENvbHVtbik7
CisgICAgfQorI2VuZGlmCisKICAgICBpbmxpbmUgU291cmNlQ29kZSBTb3VyY2VDb2RlOjpzdWJF
eHByZXNzaW9uKHVuc2lnbmVkIG9wZW5CcmFjZSwgdW5zaWduZWQgY2xvc2VCcmFjZSwgaW50IGZp
cnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKQogICAgIHsKICAgICAgICAgQVNTRVJUKHByb3ZpZGVy
KCktPnNvdXJjZSgpW29wZW5CcmFjZV0gPT0gJ3snKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaAppbmRleCA2MzUzNzll
M2Y0NDU2NjhjNTJiODcyZjc2MTZkY2I1OTIxYTgyOTQ0Li44NTA3N2E0NjBjNjM2YzI2M2RhZDA5
NzUyN2NiN2E4ZWNiZDBiNDY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCkBAIC00MCw2ICs0MCwxMCBAQCBzdHJ1
Y3QgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMgewogICAgIGJvb2wg
bmVlZHNGdWxsQWN0aXZhdGlvbjsKICAgICBib29sIHVzZXNFdmFsOwogICAgIGJvb2wgc3RyaWN0
TW9kZTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGJvb2wgaXNC
b2R5QXJyb3dGdW5jdGlvbkJsb2NrOworICAgIEpTVG9rZW5UeXBlIHRva2VuVHlwZTsKKyNlbmRp
ZgogICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+IHVzZWRWYXJpYWJsZXM7CiAgICAgVmVj
dG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4gd3JpdHRlblZhcmlhYmxlczsKIH07CkBAIC02OSw5ICs3
MywyNCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiB0b2tlbjsKICAgICB9CiAKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEpTVG9rZW4gZW5kQXJyb3dGdW5jdGlv
blRva2VuKCkgY29uc3QKKyAgICB7CisgICAgICAgIEpTVG9rZW4gdG9rZW47CisgICAgICAgIHRv
a2VuLm1fdHlwZSA9IHRva2VuVHlwZTsKKyAgICAgICAgdG9rZW4ubV9kYXRhLm9mZnNldCA9IGNs
b3NlQnJhY2VPZmZzZXQ7CisgICAgICAgIHRva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQgPSBj
bG9zZUJyYWNlT2Zmc2V0OworICAgICAgICB0b2tlbi5tX2xvY2F0aW9uLmVuZE9mZnNldCA9IGNs
b3NlQnJhY2VPZmZzZXQgKyAxOworICAgICAgICB0b2tlbi5tX2xvY2F0aW9uLmxpbmUgPSBjbG9z
ZUJyYWNlTGluZTsKKyAgICAgICAgdG9rZW4ubV9sb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQgPSBj
bG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0OworCisgICAgICAgIHJldHVybiB0b2tlbjsKKyAgICB9
CisjZW5kaWYKKwogICAgIHVuc2lnbmVkIGZ1bmN0aW9uTmFtZVN0YXJ0IDogMzE7CiAgICAgYm9v
bCBuZWVkc0Z1bGxBY3RpdmF0aW9uIDogMTsKLSAgICAKKwogICAgIHVuc2lnbmVkIGNsb3NlQnJh
Y2VMaW5lIDogMzE7CiAgICAgYm9vbCB1c2VzRXZhbCA6IDE7CiAKQEAgLTgyLDYgKzEwMSwxMSBA
QCBwdWJsaWM6CiAgICAgdW5zaWduZWQgdXNlZFZhcmlhYmxlc0NvdW50OwogICAgIHVuc2lnbmVk
IHdyaXR0ZW5WYXJpYWJsZXNDb3VudDsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgYm9vbCBpc0JvZHlBcnJvd0Z1bmN0aW9uQmxvY2s7CisgICAgSlNUb2tlblR5
cGUgdG9rZW5UeXBlOworI2VuZGlmCisKICAgICBTdHJpbmdJbXBsKiogdXNlZFZhcmlhYmxlcygp
IGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8U3RyaW5nSW1wbCoqPihtX3ZhcmlhYmxlcyk7IH0K
ICAgICBTdHJpbmdJbXBsKiogd3JpdHRlblZhcmlhYmxlcygpIGNvbnN0IHsgcmV0dXJuIGNvbnN0
X2Nhc3Q8U3RyaW5nSW1wbCoqPigmbV92YXJpYWJsZXNbdXNlZFZhcmlhYmxlc0NvdW50XSk7IH0K
IApAQCAtMTE1LDYgKzEzOSwxMCBAQCBpbmxpbmUgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW06OlNv
dXJjZVByb3ZpZGVyQ2FjaGVJdGVtKGNvbnN0IFNvdXJjZVByb3ZpZGVyQ2FjaAogICAgICwgY2xv
c2VCcmFjZUxpbmVTdGFydE9mZnNldChwYXJhbWV0ZXJzLmNsb3NlQnJhY2VMaW5lU3RhcnRPZmZz
ZXQpCiAgICAgLCB1c2VkVmFyaWFibGVzQ291bnQocGFyYW1ldGVycy51c2VkVmFyaWFibGVzLnNp
emUoKSkKICAgICAsIHdyaXR0ZW5WYXJpYWJsZXNDb3VudChwYXJhbWV0ZXJzLndyaXR0ZW5WYXJp
YWJsZXMuc2l6ZSgpKQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAg
LCBpc0JvZHlBcnJvd0Z1bmN0aW9uQmxvY2socGFyYW1ldGVycy5pc0JvZHlBcnJvd0Z1bmN0aW9u
QmxvY2spCisgICAgLCB0b2tlblR5cGUocGFyYW1ldGVycy50b2tlblR5cGUpCisjZW5kaWYKIHsK
ICAgICB1bnNpZ25lZCBqID0gMDsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdXNlZFZh
cmlhYmxlc0NvdW50OyArK2ksICsraikgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1N5bnRheENoZWNrZXIuaAppbmRleCBhYTM4ZTMyZGIxNjZhNDIwMDFjYTIzMjY4MDg3MzhlZDIw
MGI4YjVhLi45OTg1NTQ4MGEwYzQ5ZWU2YjMyM2NhMTkyZjlmYzlhMzVmY2M1MGVlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaApAQCAtMTY5LDYgKzE2
OSw5IEBAIHB1YmxpYzoKICAgICBDbGFzc0V4cHJlc3Npb24gY3JlYXRlQ2xhc3NFeHByKGNvbnN0
IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IElkZW50aWZpZXImLCBFeHByZXNzaW9uVHlwZSwgRXhw
cmVzc2lvblR5cGUsIFByb3BlcnR5TGlzdCwgUHJvcGVydHlMaXN0KSB7IHJldHVybiBDbGFzc0V4
cHI7IH0KICNlbmRpZgogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUZ1bmN0aW9uRXhwcihjb25z
dCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tl
cj4mLCBpbnQpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQorI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlQXJyb3dGdW5jdGlvbkV4
cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5bnRh
eENoZWNrZXI+JiwgaW50KSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KKyNlbmRpZiAgICAKICAg
ICBpbnQgY3JlYXRlRnVuY3Rpb25Cb2R5KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IEpT
VG9rZW5Mb2NhdGlvbiYsIGludCwgaW50LCBib29sLCBDb25zdHJ1Y3RvcktpbmQpIHsgcmV0dXJu
IEZ1bmN0aW9uQm9keVJlc3VsdDsgfQogICAgIHZvaWQgc2V0RnVuY3Rpb25OYW1lU3RhcnQoaW50
LCBpbnQpIHsgfQogICAgIGludCBjcmVhdGVBcmd1bWVudHMoKSB7IHJldHVybiBBcmd1bWVudHNS
ZXN1bHQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YXJyb3dmdW5jdGlvbi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJy
b3dmdW5jdGlvbi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZDNiOTBhOGQ0YjFlZjkyOGUyMzk5YWI2YWI0MmNm
N2UxYTQ5Mjc2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLmpzCkBAIC0wLDAgKzEsMTI3IEBACit2YXIgcmVzdWx0Owor
CisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsK
KyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhw
ZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9
Cit9OworCisgdmFyIGFycm93RnVuY3Rpb24wID0gdiA9PiB2ICsgMTsKK3Jlc3VsdCA9IGFycm93
RnVuY3Rpb24wKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEgLCJFcnJvcjogTm90IGNvcnJlY3Qg
ZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogdiA9PiB2ICsgMSIpOworCisgdmFyIGFy
cm93RnVuY3Rpb24xID0gKHYpID0+IHYgKiAyOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjEoMTAp
OwordGVzdENhc2UocmVzdWx0LCAyMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uOiAodikgPT4gdiArIDEiKTsKKworIHZhciBhcnJvd0Z1bmN0aW9u
MiA9ICgpID0+IDEwMDA7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMigxMjEyKTsKK3Rlc3RDYXNl
KHJlc3VsdCwgMTAwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uOiAoKSA9PiAxMDAwIik7CisKKyB2YXIgdG1wVmFyaWFsdmUyXzEgPSAxNTE7Cit2
YXIgYXJyb3dGdW5jdGlvbjJfMSA9ICgpID0+IHRtcFZhcmlhbHZlMl8xOworcmVzdWx0ID0gYXJy
b3dGdW5jdGlvbjJfMSgxMjEpOwordGVzdENhc2UocmVzdWx0LCB0bXBWYXJpYWx2ZTJfMSAsIkVy
cm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAoKSA9PiB2
YXJpYWJsZSIpOworCisgdmFyIGFycm93RnVuY3Rpb24zID0gKHYsIHgpID0+IHYgKyB4OworcmVz
dWx0ID0gYXJyb3dGdW5jdGlvbjMoMTEsMTIpOwordGVzdENhc2UocmVzdWx0LCAyMyAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAoeCwgeSkgPT4g
eCArIHkiKTsKKworIHZhciBhcnJvd0Z1bmN0aW9uV3JhcHBlciA9IGZ1bmN0aW9uIChjbCwgcGFy
YW10ZXIpIHsgcmV0dXJuIGNsKHBhcmFtdGVyKTsgfTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rp
b25XcmFwcGVyKHggPT4gMTIzNCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMzQgLCJFcnJvcjogTm90
IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4
ID0+IGMpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEyMzQsIDIz
NDUpOwordGVzdENhc2UocmVzdWx0LCAxMjM0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjLCB5KSIpOworCisg
cmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMjEgKyAyMzIpOwordGVzdENhc2Uo
cmVzdWx0LCAzNTMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMxICsgYzIpIik7CisKKyByZXN1bHQgPSBhcnJv
d0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEyMyArIDMyMSwgOTk5OSk7Cit0ZXN0Q2FzZShyZXN1bHQs
IDQ0NCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9u
IGFzIHBhcmFtdGVyOiBmKHggPT4gYzEgKyBjMiwgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVu
Y3Rpb25XcmFwcGVyKHggPT4geCArIDEyLCAyMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDMzICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10
ZXI6IGYoeCA9PiB4ICsgYzEsIHkpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBl
cigoeCkgPT4geCArIDIxLCAzMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDUzLCAiRXJyb3I6IE5vdCBj
b3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKHgp
ID0+IGMxICsgYzIsIHkpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9
PiAxMDApOwordGVzdENhc2UocmVzdWx0LCAxMDAsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjKSIpOworCisg
dmFyIGV4dF92YWx1ZSA9IDEyMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+
IGV4dF92YWx1ZSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMSwgIkVycm9yOiBOb3QgY29ycmVjdCBl
eGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IHYpIik7
CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiBleHRfdmFsdWUgKiAxMCk7
Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMTAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiB2KngpIik7CisKKyByZXN1
bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoeCkgPT4gZXh0X3ZhbHVlICogeCwgMzApOwordGVz
dENhc2UocmVzdWx0LCAzMCpleHRfdmFsdWUgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoeCkgPT4gdip4LCB5KSIpOwor
CisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwLCAxMSk7Cit0ZXN0Q2Fz
ZShyZXN1bHQsIDEwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMxLCB5KSIpOworCisgcmVzdWx0ID0gYXJy
b3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwICsgMTApOwordGVzdENhc2UocmVzdWx0LCAxMTAg
LCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBw
YXJhbXRlcjogZigoKSA9PiBjMSArIGMyKSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldy
YXBwZXIoKCkgPT4gMTAwICsgMTEsIDEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTExICwiRXJyb3I6
IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6
IGYoKCkgPT4gYzEgKyBjMiwgeSkiKTsKKworIHZhciBhcnJvd0Z1bmN0aW9uNCA9IHYgPT4gdiAr
IDEsIHh5ejEgPSAxMDEwMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb240KDEwMTEpOwordGVzdENh
c2UocmVzdWx0LCAxMDEyICwiRXJyb3I6IE5vdCBjb3JyZWN0IHBhcnNpbmcgb2YgdGggYXJyb3cg
ZnVuY3Rpb24gaW5zaWRlIG9mIHRoZSBsaXN0IG9mIHZhcnM6IHZhciBhZiA9IHY9PiB2ICsgMTsg
enhjPWM7Iik7Cit0ZXN0Q2FzZSh4eXoxLCAxMDEwMSAsIkVycm9yOiBOb3QgY29ycmVjdCBwYXJz
aW5nIG9mIHRoIGFycm93IGZ1bmN0aW9uIGluc2lkZSBvZiB0aGUgbGlzdCBvZiB2YXJzOiB2YXIg
YWYgPSB2PT4gdiArIDE7IHp4Yz1jOyIpOworCisgdmFyIGFycm93RnVuY3Rpb25XcmFwcGVyMiA9
IGZ1bmN0aW9uIChjbCwgcGFyYW10ZXIxLCBwYXJhbXRlcjIpIHsgcmV0dXJuIGNsKHBhcmFtdGVy
MSwgcGFyYW10ZXIyKTsgfTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyMigoeCwgeSkg
PT4geCArIHksIDEyICw0Myk7Cit0ZXN0Q2FzZShyZXN1bHQsIDU1ICwiRXJyb3I6IE5vdCBjb3Jy
ZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW1ldGVyOiBmKCh4LCB5
KSA9PiB4ICsgeSwgYzEsIGMyKSIpOworCisgdmFyIGFycm93RnVuY3Rpb0FycmF5MCA9IFt2ID0+
IHYgKiAxMF07CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTBbMF0oMTApOwordGVzdENhc2Uo
cmVzdWx0LCAxMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbdj0+dioxMF0iKTsKKworIHZhciBhcnJvd0Z1bmN0
aW9BcnJheTEgPSBbdiA9PiB2ICsgMSwgdiA9PiB2ICsgMl07CityZXN1bHQgPSBhcnJvd0Z1bmN0
aW9BcnJheTFbMF0oMTApOwordGVzdENhc2UocmVzdWx0LCAxMSAsIkVycm9yOiBOb3QgY29ycmVj
dCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFt2ID0+
IHYgKyAxLCAgdiA9PiB2ICsgMl0iKTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5MVsxXSgx
MSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogW3YgPT4gdiArIDEsICB2ID0+
IHYgKyAyXSIpOworCisgdmFyIGFycm93RnVuY3Rpb0FycmF5MiA9IFsodikgPT4gdiArIDEsICh2
KSA9PiB2ICsgMl07CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTJbMF0oMTEpOwordGVzdENh
c2UocmVzdWx0LCAxMiAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsodikgPT4gdiArIDEsICAodikgPT4gdiArIDJd
Iik7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTJbMV0oMTEpOwordGVzdENhc2UocmVzdWx0
LCAxMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9u
IGFzIGl0ZW0gaW4gYXJyYXk6IFsodikgPT4gdiArIDEsICAodikgPT4gdiArIDJdIik7CisKKyB2
YXIgYXJyb3dGdW5jdGlvQXJyYXkzID0gWygpID0+IDEwMSwgKCkgPT4gMTIzMjNdOworcmVzdWx0
ID0gYXJyb3dGdW5jdGlvQXJyYXkzWzBdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAxLCAiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBp
biBhcnJheTogWygpID0+IGMxLCAgKCkgPT4gYzJdIik7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9B
cnJheTNbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMjMyMywgIkVycm9yOiBOb3QgY29ycmVj
dCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsoKSA9
PiBjMSwgICgpID0+IGMyXSIpOworCisgdmFyIGFycm93RnVuY3Rpb25PYmogPSB7ZnVuYyA6IHkg
PT4geSArIDEyIH07CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uT2JqLmZ1bmMoMTEpOwordGVzdENh
c2UocmVzdWx0LCAyMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIHByb3BlcnR5OiB7ZnVuYyA6IHkgPT4geSArIDEyIH0iKTsKKworIHZhciBh
cnJvd0ZhdEZ1bmN0aW9uMCA9ICgpID0+IHsgcmV0dXJuIDEwMDA7IH07CityZXN1bHQgPSBhcnJv
d0ZhdEZ1bmN0aW9uMCgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMDAgLCJFcnJvcjogTm90IGNv
cnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6
ICgpID0+IHsgcmV0dXJuIDEwMDA7IH0iKTsKKworIHZhciBhcnJvd0ZhdEZ1bmN0aW9uMSA9IHYg
PT4geyB2YXIgaW50dmFsID0gMTAwOyByZXR1cm4gdiAqIGludHZhbDsgfTsKK3Jlc3VsdCA9IGFy
cm93RmF0RnVuY3Rpb24xKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEwMCAsIkVycm9yOiBOb3Qg
Y29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9j
azogeCA9PiB7IHZhciB2PTEwMDA7IHJldHVybiB2Kng7IH0iKTsKKworIHZhciBhcnJvd0ZhdEZ1
bmN0aW9uMiA9ICh2KSA9PiB7IHZhciBpbnQgPSAyMDA7IHJldHVybiB2ICogaW50OyB9OworcmVz
dWx0ID0gYXJyb3dGYXRGdW5jdGlvbjIoMTEpOwordGVzdENhc2UocmVzdWx0LCAyMjAwICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5
IGFzIGJsb2NrOiAoeCkgPT4geyB2YXIgdj0xMDAwOyByZXR1cm4gdip4OyB9Iik7CisKKyB2YXIg
YXJyb3dGYXRGdW5jdGlvbjMgPSAodiwgeCkgPT4geyB2YXIgcmVzdWx0ID0geCAqIHY7IHJldHVy
biByZXN1bHQ7IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0aW9uMygxMSwgMTIyMjIpOwordGVz
dENhc2UocmVzdWx0LCAxMzQ0NDIgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICh2LCB4KSA9PiB7IHZhciByZXN1
bHQgPSB4ICogdjsgcmV0dXJuIHJlc3VsdDsgfSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlv
bldyYXBwZXIoeD0+e3JldHVybiB4ICogMjU7fSwgMTIxKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjUq
MTIxICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24g
d2l0aCBib2R5IGFzIGJsb2NrOiBmKHggPT4ge3JldHVybiB4ICogMjU7fSwgMTIxKSIpOworCisg
cmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIyKCh4LCB5KT0+e3JldHVybiB4ICogeTt9LCAx
NCwgMTIpOwordGVzdENhc2UocmVzdWx0LCAxNCoxMiAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVj
dXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogZigoeCwgeSk9
PntyZXR1cm4geCAqIHk7fSwgMTQsIDEyMSkpIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3Jl
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGFkMGI4ZThjNGM2
ZmY4MGUxMzJjMjlhYTgwNjQwMDBjM2Q2ZGQ3YTkuLjZkZDA5NDMwODE4ZmVmOTAwNjFmZGNmM2Ew
MTI4MmY5Y2NkZDI3ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00NSw2ICs0NSw3IEBAIEVOQUJMRV9DQU5W
QVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7CiBFTkFC
TEVfRVM2X0NMQVNTX1NZTlRBWCA9IDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgg
PSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklMVEVS
SU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwogRU5B
QkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSyA9IEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05f
QlJFQUs7CkBAIC0yMDksNCArMjEwLDQgQEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5B
QkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VU
X0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykg
JChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVS
RkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVO
VF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19Q
QVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAk
KEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChF
TkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFC
TEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5B
QkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxF
X0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1Mz
X1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklT
SUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9B
UkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFO
U0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVS
U19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVO
QUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJ
TkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JL
RVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lP
U19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xF
R0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJ
TykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxF
X01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9T
T1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQp
ICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05B
VklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkg
JChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVf
UE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5U
UykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVf
UkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAk
KEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZ
KSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVO
QUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VC
VExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRF
UikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRF
X0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JE
KSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVP
X1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01F
RElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQ
TEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFC
TEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1F
T1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xP
T1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9f
UFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVS
SU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRB
Q0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FO
VkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAk
KEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElO
RykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlP
VVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JF
U09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xF
VkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9D
U1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxF
X0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5B
QkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5B
QkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFC
TEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dB
TUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09O
REFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5E
SUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkg
JChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9W
RU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRF
UlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxF
X01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9N
RURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkg
JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChF
TkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJ
Q19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9O
X0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lO
U1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVS
X0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRI
RVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5B
QkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJM
RV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hf
SUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNF
TEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVf
REFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VC
R0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VC
X1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQo
RU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNM
VCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRV
UkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RF
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcKaW5kZXggYWQwYjhlOGM0YzZmZjgwZTEzMmMyOWFhODA2NDAwMGMz
ZDZkZDdhOS4uNmRkMDk0MzA4MThmZWY5MDA2MWZkY2YzYTAxMjgyZjljY2RkMjdkYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxF
X0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lO
VEFYID0gOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBFTkFCTEVfQ09O
VEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ1NQX05FWFQgPSA7CiBFTkFCTEVfQ1NTX0JPWF9ERUNP
UkFUSU9OX0JSRUFLID0gRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSzsKQEAgLTIwOSw0
ICsyMTAsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJBVEVEX0xB
WU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsKIAot
RkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykg
JChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5B
QkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NB
TlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFT
U19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkg
JChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJ
TkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZ
T1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9S
RVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19M
RVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVf
Q1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJM
RV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVO
QUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVO
QUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFC
TEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5B
QkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9H
QU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNP
TkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lO
RElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQp
ICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRU
RVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVf
TUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwp
ICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRf
VVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQo
RU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJM
SUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElP
Tl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9J
TlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJF
Ul9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5U
SEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVO
QUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxF
UEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFC
TEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNI
X0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJT
RUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxF
X0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dF
QkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dF
Ql9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAk
KEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hT
TFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FU
VVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9E
RSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkg
JChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFC
TEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2
X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hf
REVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1Nf
REVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NT
X0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFC
TEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9D
U1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JS
RUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9I
QU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxF
TUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVN
RU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NP
TlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZF
TlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVf
R0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVO
X1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFC
TEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01Q
TEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
V0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VT
VFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxF
X0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNf
U0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1Mp
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9O
QVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
UERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykg
JChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAk
KEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxF
X1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJM
RV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFC
TEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9T
VFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAk
KEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRF
Q1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQo
RU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAk
KEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VC
X0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFC
TEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JF
R0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExf
SklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJ
VEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9T
b3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRl
eCBhZDBiOGU4YzRjNmZmODBlMTMyYzI5YWE4MDY0MDAwYzNkNmRkN2E5Li42ZGQwOTQzMDgxOGZl
ZjkwMDYxZmRjZjNhMDEyODJmOWNjZGQyN2RjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0
Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBA
QCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFT
X1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSA7CitFTkFCTEVfRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9D
T05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1Bf
TkVYVCA9IDsKIEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsgPSBFTkFCTEVfQ1NTX0JP
WF9ERUNPUkFUSU9OX0JSRUFLOwpAQCAtMjA5LDQgKzIxMCw0IEBAIEVOQUJMRV9MTElOVF9DX0xP
T1AgPSA7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FU
VVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8z
RF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUND
RUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5B
QkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVO
QUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05f
QlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQ
VEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklF
TlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJ
T05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykg
JChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFC
TEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChF
TkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5B
QkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFC
TEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikg
JChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQo
RU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQ
UkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9U
SU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0Vf
Q09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5B
QkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xF
R0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZF
VENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChF
TkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9N
RVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxF
KSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hX
Q09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVH
SU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BS
T1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVP
VEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FV
VE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElP
Tl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JP
TExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkp
ICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZH
X09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVO
QUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1Nf
VFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAk
KEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklF
V19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChF
TkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVf
U0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVO
QUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFC
TEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQo
RU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5B
QkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykg
JChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcp
ICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJM
RV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVf
Q1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NT
X1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVY
VCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklM
SVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9T
VVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVS
X0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xF
VkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykg
JChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMp
ICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAk
KEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFU
SE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJD
RSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChF
TkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdB
VE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lO
VEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAk
KEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFV
RVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQo
RU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxF
X1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVf
Q1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAk
KEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxF
TUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJB
Q0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkp
ICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9X
RUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQp
ICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkg
JChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVT
RU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMu
Y21ha2UgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKaW5kZXggODg3MjYxNzI2
NDA4MzQ0YWIwMjUyYzljMGVmMWZjOTc3ZDA2M2ZiYS4uMDUwMDM3MmNiODQ1NGQ4NDg2N2U2NDJl
Njk3NzAxY2RkMDlmMjhhZiAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVz
LmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQpAQCAtMjgsNiAr
MjgsNyBAQCBtYWNybyhXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAgIFdFQktJVF9PUFRJT05fREVG
SU5FKEVOQUJMRV9DQU5WQVNfUFJPWFkgIlRvZ2dsZSBDYW52YXNQcm94eSBzdXBwb3J0IiBPRkYp
CiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HICJUb2dn
bGUgTWVzc2FnZUNoYW5uZWwgYW5kIE1lc3NhZ2VQb3J0IHN1cHBvcnQiIE9OKQogICAgIFdFQktJ
VF9PUFRJT05fREVGSU5FKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYICJUb2dnbGUgRVM2IGNsYXNz
IHN5bnRheCBzdXBwb3J0IiBPRkYpCisgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0VT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCAiVG9nZ2xlIEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgg
c3VwcG9ydCIgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NPTlRFTlRfRklM
VEVSSU5HICJUb2dnbGUgY29udGVudCBmaWx0ZXJpbmcgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJ
VF9PUFRJT05fREVGSU5FKEVOQUJMRV9DT05URVhUX01FTlVTICJUb2dnbGUgQ29udGV4dCBNZW51
IHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DU1BfTkVYVCAi
VG9nZ2xlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IDEuMSBzdXBwb3J0IiBPRkYpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZSBiL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNt
YWtlCmluZGV4IDFhNzQ1Y2E1Y2Q4OWZiMjAwODJmNzdiYzAyNjg4YTliMGI0YmQ0YjkuLjMxMDZi
NWVhMDg0YjM4NDMxZDk1OTk0NGM2Y2ExODFmMmZjZTIxZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9j
bWFrZWNvbmZpZy5oLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCkBAIC0x
Myw2ICsxMyw3IEBACiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ0FOVkFTX1BST1hZCiAjY21ha2Vk
ZWZpbmUwMSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9F
UzZfQ0xBU1NfU1lOVEFYCisjY21ha2VkZWZpbmUwMSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcKICNjbWFrZWRl
ZmluZTAxIEVOQUJMRV9DT05URVhUX01FTlVTCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ1JFREVO
VElBTF9TVE9SQUdFCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggODViZmZkMmEyNDVlNDYwZjM3ZWEyYmMyZTdhMWNlMGUxOGViNzExNC4uYmNmMTQ1
OWMzYTllZGJkZjkwMmMxZTdlODU2Y2U5NTJiMzU0YmU5OCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTAzLTEx
ICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgIFtF
UzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyBFTkFC
TEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgorCisgICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbToKKwogMjAxNS0wMy0xMCAgQnJl
bnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBSZWdyZXNzaW9uKHIx
ODEyNTcpOiBXVEZfV29ya1F1ZXVlLlNpbXBsZSBpcyBmbGFreQpkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
ZXJsL0ZlYXR1cmVMaXN0LnBtCmluZGV4IDM1NDI1ZjVlNGI1NTVhZjMwMDMyZDIxZWUzY2FlYzY4
NTRmNzlhNGIuLjlhMmE3MzJlZmRmZTk1YTYxMDc0YzJlMjA4MjJmZmU1MWFkYzBiYWYgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KQEAgLTQ0LDYgKzQ0LDcgQEAgQkVH
SU4gewogbXkgKAogICAgICR0aHJlZURSZW5kZXJpbmdTdXBwb3J0LAogICAgICRhY2NlbGVyYXRl
ZDJEQ2FudmFzU3VwcG9ydCwKKyAgICAkYXJyb3dmdW5jdGlvblN5bnRheCwKICAgICAkYmF0dGVy
eVN0YXR1c1N1cHBvcnQsCiAgICAgJGNhbnZhc1BhdGhTdXBwb3J0LAogICAgICRjYW52YXNQcm94
eVN1cHBvcnQsCkBAIC0xNTQsNiArMTU1LDkgQEAgbXkgQGZlYXR1cmVzID0gKAogICAgIHsgb3B0
aW9uID0+ICJhY2NlbGVyYXRlZC0yZC1jYW52YXMiLCBkZXNjID0+ICJUb2dnbGUgQWNjZWxlcmF0
ZWQgMkQgQ2FudmFzIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQUNDRUxFUkFU
RURfMkRfQ0FOVkFTIiwgZGVmYXVsdCA9PiBpc0d0aygpLCB2YWx1ZSA9PiBcJGFjY2VsZXJhdGVk
MkRDYW52YXNTdXBwb3J0IH0sCiAKKyAgICB7IG9wdGlvbiA9PiAiYXJyb3dmdW5jdGlvbi1zeW50
YXgiLCBkZXNjID0+ICJUb2dnbGUgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheCBzdXBwb3J0IiwK
KyAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCIsIGRlZmF1
bHQgPT4gMSwgdmFsdWUgPT4gXCRhcnJvd2Z1bmN0aW9uU3ludGF4IH0sCisKICAgICB7IG9wdGlv
biA9PiAiYmF0dGVyeS1zdGF0dXMiLCBkZXNjID0+ICJUb2dnbGUgQmF0dGVyeSBTdGF0dXMgc3Vw
cG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9CQVRURVJZX1NUQVRVUyIsIGRlZmF1bHQg
PT4gaXNFZmwoKSwgdmFsdWUgPT4gXCRiYXR0ZXJ5U3RhdHVzU3VwcG9ydCB9LAogCmRpZmYgLS1n
aXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggM2M0OTE2ZjQ4YTJmNjRjMzVkMWZkY2Y4
YmZkYTc5OWE2NzM3YTBlZC4uMzg0NDFmMzAyZTllYjg5MGYyOTM3MjIzNTk4YWI1OTI1ZDc1MDg0
NCAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDE1LTAzLTExICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisK
KyAgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1
cmUgZmxhZyB0byBzd2l0Y2ggb24vb2ZmIGVzNiBhcnJvdyBmdW5jdGlvbiBFTkFCTEVfRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYCisKKyAgICAgICAgICogU291cmNlL2NtYWtlL1dlYktpdEZlYXR1
cmVzLmNtYWtlOgorICAgICAgICAgKiBTb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZToKKwogMjAx
NS0wMy0xMCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+IGFuZCBK
b3PDqSBEYXBlbmEgUGF6ICA8amRhcGVuYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIEFk
ZCBhIGNvbmZpZ3VyZSBvcHRpb24gdG8gYnVpbGQgd2l0aCBPcGVuR0wgRVMgMgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249479</attachid>
            <date>2015-03-26 01:56:46 -0700</date>
            <delta_ts>2015-03-26 15:58:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150326105606.patch</filename>
            <type>text/plain</type>
            <size>125224</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgxMzY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
NTRiNTA0ZDczOTRiNzlhNGI4Y2Y2NDE1NzMwMjg0ODMxMWI4ZjNiLi4yOGRhYTZjZWFiMDQ4NGM5
MzFmZTliZjRjNmUzMGIwYjE5NzliYTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw3NyBAQAorMjAxNS0wMy0xMSAgQWxleGFuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21h
aWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3lu
dGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4
NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRl
ZCBzdXBwb3J0IG9mIEVTNiBhcnJvdyBmdW5jdGlvbi4gSW4gcGF0Y2ggd2VyZSBpbXBsZW1lbnRl
ZCB0aGUgc2ltcGxlc3QgY2FzZXM6CisgICAgICAgIDEgbm8gcGFyYW10ZXJzICAgICAgICgpID0+
IDEwICsgMjAKKyAgICAgICAgMiBvbmUgcGFyYW1ldGVyICAgICAgIHggPT4geCArIDIwCisgICAg
ICAgIDMgbXVsdGlwbGUgcGFyYW10ZXJzICh4LCB5KSA9PiB4ICsgeQorICAgICAgICA0IGZhdCBh
cnJvdyBmdW5jdGlvbiB4ID0+IHsgcmV0dXJuIHgqMTA7fQorCisgICAgICAgICogQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxh
ZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgorCisg
ICAgICAgICAqIHBhcnNlci9BU1RCdWlsZGVyLmg6CisgICAgICAgIChKU0M6OkFTVEJ1aWxkZXI6
OmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAgICAgQWRkZWQgZnVuY3Rpb24gdGhhdCBj
cmVhdGUgZXhwcmVzaW9uIGZvciBhcnJvdyBmdW5jdGlvbgorICAgICAgICAqIHBhcnNlci9MZXhl
ci5jcHA6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9uKToKKyAgICAg
ICAgTWV0aG9kIHRoYXQgYWxsb3cgdG8gc2V0IGN1cnJlY3QgcG9zaXRpb24gZm9yIHRoZSB0b2Nr
ZW4gb3V0c2lkZSB0aGUgTGV4ZXIgY2xhcworICAgICAgICAoSlNDOjpMZXhlcjxUPjo6bGV4KToK
KyAgICAgICAgTWV0aG9kIGNoYW5nZWQgdG8gc3VwcG9ydCBvZiB0aGUgYXJyb3cgZnVuY3Rpb24K
KyAgICAgICAgKiBwYXJzZXIvTGV4ZXIuaDoKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OnNldFRv
a2VuUG9zaXRpb24pOgorICAgICAgICBEZWNsYXJhdGlvbiBvZiB0aGUgbWV0aG9kIHRoYXQgYWxs
b3cgdG8gc2V0IGN1cnJlY3QgcG9zaXRpb24gZm9yIHRoZSB0b2NrZW4gb3V0c2lkZSB0aGUgTGV4
ZXIgY2xhc3MKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFy
c2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMpOgorICAgICAgICBNb2RpZmllZCBt
ZXRob2QgdG8gc3VwcG9ydCB0d28gbWV0aG9kcyBvZiB0aGUgcGFyc2UganMgZnVuY3Rpb24uIFRo
ZSBmaXJzdCB0eXBlIGlzIHN0YW5kYXJkIGZ1bmN0aW9uIGFuZCBuZXcgdHlwZSBpcyBhcnJvdyBm
dW5jdGlvbi4KKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4
cHJlc3Npb24pOgorICAgICAgICBNb2RpZmllZCBtZXRob2QgdG8gc3VwcG9ydCB0d28gbWV0aG9k
cyBvZiB0aGUgcGFyc2UganMgZnVuY3Rpb24uIFRoZSBmaXJzdCB0eXBlIGlzIHN0YW5kYXJkIGZ1
bmN0aW9uIGFuZCBuZXcgdHlwZSBpcyBhcnJvdyBmdW5jdGlvbi4KKyAgICAgICAgKEpTQzo6UGFy
c2VyOjopOkFkZGVkIG5ldyBzdHJ1Y3R1cmUgdG8gc3VwcG9yZCBkaWZmZXJlbnQgdHlwZSBvZiBw
YXJzaW5nIHRoZSBmdW5jdGlvbgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU291cmNlRWxl
bWVudCk6IEFkZGVkIEZ1bmN0aW9uUGFyc2VUeXBlIGFzIHBhcmFtdGVyIGluIG1ldGhvZAorICAg
ICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KTogQWRkZWQgRnVuY3Rpb25QYXJzZVR5
cGUgYXMgcGFyYW10ZXIgaW4gbWV0aG9kLiBBZGRlZCBzZXBhcmF0ZWQgbG9naWMgZm9yIGVuZGlu
ZworICAgICAgICB0aGUgc3RhdGVtZW50IGluIGNhc2Ugb2YgdGhlIHBhcnNpbmcgaW4gYXJyb3cg
ZnVuY3Rpb24gdHlwZS4gQWRkZWQgbG9naWMgdG8gc3VwcG9ydCBwYXJzaW5nIHRoZSBzb3VyY2Ug
Y29kZSB0aGF0IGZvbGxvdyBhZnRlID0+IHN5bWJvbAorICAgICAgICAoSlNDOjpQYXJzZXI6OnBh
cnNlQXNzaWdubWVudEV4cHJlc3Npb24pIE1vZGlmaWVkIG1ldGhvZCB0byBzdXBwb3J0IHBhcnNp
bmcgdGhlIGFycm93IGZ1bmN0aW9uCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VQcmltYXJ5
RXhwcmVzc2lvbikgTW9kaWZpZWQgbWV0aG9kIHRvIHN1cHBvcnQgY2FzZSB3aGVuIGFmdGVyIElE
RU5UIGlzIGdvaW5nIHRoZSBhcnJvdyBmdW5jdGlvbgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBh
cnNlQXJyb3dFeHByZXNzaW9uKTogQWRkZWQgbWV0aG9kIGRlY2xhcmF0aW9uIHRoYXQgaXMgcmVz
cG9uc2libGUgdG8gcGFyc2UgYXJyb3cgZXhwcmVzc2lvbi4KKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpzZXRFbmRPZlN0YXRlbWVudCk6IEFkZGVkIG1ldGhvZCB0aGF0IHVzZWQgdG8gc2V0IGNvcnJl
Y3QgcG9zaXRpb24gb2YgdGhlIGxleGVyCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJv
d0Z1bmN0aW9uV3JhcHBlcik6IEFkZGVkIG1ldGhvZCB0aGF0IGlzIHN0YXJ0aW5nIHBvaW50IGlu
IHBhcnNpbmcgb2YgdGhlIGFycm93IGZ1bmN0aW9uCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFy
c2VBcnJvd0Z1bmN0aW9uSW5mbyk6IEFkZGVkIG1ldGhvZCB0aGF0IGlzIHVzZWQgdG8gcGFyc2Ug
ZnVuY3Rpb24gcGFyYW10ZXJzLiBDbG9zZSB0byBwYXJzZUZ1bmN0aW9uSW5mby4KKyAgICAgICAg
V2FzIG1hZGUgYXMgdGhlIHNlcGFyZXRlIG1ldGhvZCB0byBwcmV2ZW50IHBvbGx1dGlvbiBvZiB0
aGUgbG9naWMgcGFyc2luZyB0aGUgc3RhbmRlciBmdW5jdGlvbi4KKyAgICAgICAgQ2FuIGJlIG1l
cmdlIHdpdGggcGFyc2VGdW5jdGlvbkluZm8gYWZ0ZXIgYXBwcm92aW5nIHRoZSBhcnJvdyBmdW5j
dGlvbiBwYXRjaAorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkJvZHkp
OkFkZGVkIG1ldGhvZCB0aGF0IGlzIHVzZWQgdG8gcGFyc2UgZnVuY3Rpb24gYm9keS4gQ2xvc2Ug
dG8gcGFyc2VGdW5jdGlvbkluZm8uCisgICAgICAgIFdhcyBtYWRlIGFzIHRoZSBzZXBhcmV0ZSBt
ZXRob2QgdG8gcHJldmVudCBwb2xsdXRpb24gb2YgdGhlIGxvZ2ljIHBhcnNpbmcgdGhlIHN0YW5k
ZXIgZnVuY3Rpb24uCisgICAgICAgIENhbiBiZSBtZXJnZSB3aXRoIHBhcnNlRnVuY3Rpb25JbmZv
IGFmdGVyIGFwcHJvdmluZyB0aGUgYXJyb3cgZnVuY3Rpb24gcGF0Y2gKKyAgICAgICAgKiBwYXJz
ZXIvUGFyc2VyLmg6CisgICAgICAgIChKU0M6OlBhcnNlcjo6RnVuY3Rpb25QYXJzZVR5cGUpOkFk
ZGVkIG5ldyBzdHJ1Y3R1cmUgdG8gc3VwcG9yZCBkaWZmZXJlbnQgdHlwZSBvZiBwYXJzaW5nIHRo
ZSBmdW5jdGlvbgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU291cmNlRWxlbWVudCk6IEFk
ZGVkIEZ1bmN0aW9uUGFyc2VUeXBlIGFzIHBhcmFtdGVyIGluIG1ldGhvZAorICAgICAgICAoSlND
OjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KTogQWRkZWQgRnVuY3Rpb25QYXJzZVR5cGUgYXMgcGFy
YW10ZXIgaW4gbWV0aG9kCisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0V4cHJlc3Np
b24pOiBBZGRlZCBtZXRob2QgZGVjbGFyYXRpb24gdGhhdCBpcyByZXNwb25zaWJsZSB0byBwYXJz
ZSBhcnJvdyBleHByZXNzaW9uCisgICAgICAgIChKU0M6OlBhcnNlcjo6c2V0RW5kT2ZTdGF0ZW1l
bnQpOiBBZGRlZCBtZXRob2QgdGhhdCB1c2VkIHRvIHNldCBjb3JyZWN0IHBvc2l0aW9uIG9mIHRo
ZSBsZXhlcgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIp
OiBBZGRlZCBtZXRob2QgdGhhdCBpcyBzdGFydGluZyBwb2ludCBpbiBwYXJzaW5nIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbklu
Zm8pOiBBZGRlZCBtZXRob2QgdGhhdCBpcyB1c2VkIHRvIHBhcnNlIGZ1bmN0aW9uIHBhcmFtdGVy
cy4gQ2xvc2UgdG8gcGFyc2VGdW5jdGlvbkluZm8uCisgICAgICAgIFdhcyBtYWRlIGFzIHRoZSBz
ZXBhcmV0ZSBtZXRob2QgdG8gcHJldmVudCBwb2xsdXRpb24gb2YgdGhlIGxvZ2ljIHBhcnNpbmcg
dGhlIHN0YW5kZXIgZnVuY3Rpb24uCisgICAgICAgIENhbiBiZSBtZXJnZSB3aXRoIHBhcnNlRnVu
Y3Rpb25JbmZvIGFmdGVyIGFwcHJvdmluZyB0aGUgYXJyb3cgZnVuY3Rpb24gcGF0Y2gKKyAgICAg
ICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25Cb2R5KTpBZGRlZCBtZXRob2QgdGhh
dCBpcyB1c2VkIHRvIHBhcnNlIGZ1bmN0aW9uIGJvZHkuIENsb3NlIHRvIHBhcnNlRnVuY3Rpb25J
bmZvLgorICAgICAgICBXYXMgbWFkZSBhcyB0aGUgc2VwYXJldGUgbWV0aG9kIHRvIHByZXZlbnQg
cG9sbHV0aW9uIG9mIHRoZSBsb2dpYyBwYXJzaW5nIHRoZSBzdGFuZGVyIGZ1bmN0aW9uLgorICAg
ICAgICBDYW4gYmUgbWVyZ2Ugd2l0aCBwYXJzZUZ1bmN0aW9uSW5mbyBhZnRlciBhcHByb3Zpbmcg
dGhlIGFycm93IGZ1bmN0aW9uIHBhdGNoCisgICAgICAgICogcGFyc2VyL1BhcnNlclRva2Vucy5o
OgorICAgICAgICBBZGRlZCBuZXcgQVJST1dGVU5DVElPTiB0b2NrZW4KKyAgICAgICAgKiBwYXJz
ZXIvU291cmNlQ29kZS5oOgorICAgICAgICAoSlNDOjpTb3VyY2VDb2RlOjpzdWJBcnJvd0V4cHJl
c3Npb24pOkFkZGVkIGZ1bmN0aW9uIHRoYXQgaXMgdXNlZCBmb3IgY3JlYXRpbmcgc291cmNlIGNv
ZGUgb2JqZWN0LiBMb2dpYyB0aGUgc2FtZQorICAgICAgICBhcyBpbiBzdWJFeHByZXNpb24gZnVu
Y3Rpb24gZXhjZXB0IGRpZmZlcmVudCBjaGVjayBmb3Igc3RhcnQgYW5kIGVuZGluZyBvZiB0aGUg
ZXhwcmVzc2lvbgorICAgICAgICAqIHBhcnNlci9TeW50YXhDaGVja2VyLmg6CisgICAgICAgIChK
U0M6OlN5bnRheENoZWNrZXI6OmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKTogQWRkZWQgZGVmZW5p
dGlvbiBvZiB0aGUgY3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIgY2xvc2UgdG8gdGhlIGNyZWF0ZUZ1
bmN0aW9uRXhwcgorICAgICAgICAqIHBhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbToKKyAg
ICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMpOiBB
ZGRlZCBhZGRpdGlvbmFsIHByb3BlcnRpZXMgdG8gY29ycmVjdCBjYWNoZSB0aGUgYXJyb3cgZnVu
Y3Rpb24KKyAgICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0pOiBBZGRlZCBhZGRp
dGlvbmFsIHByb3BlcnRpZXMgdG8gY29ycmVjdCBjYWNoZSB0aGUgYXJyb3cgZnVuY3Rpb24KKyAg
ICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW06OmVuZEFycm93RnVuY3Rpb25Ub2tl
bik6IEFkZGVkIGZ1bmN0aW9uIHRvIHNldCBjb3JyZWN0IHRvY2tlbiBhdCB0aGUgZW5kIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiBpbiBjYXNlIG9mIGNhY2hlCisgICAgICAgICogdGVzdHMvc3RyZXNz
L2pzL2Fycm93ZnVuY3Rpb24uanM6CisgICAgICAgIEFkZGVkIHRlc3RzIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbgorCiAyMDE1LTAzLTEwICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAog
ICAgICAgICBTb21lIGV2ZW50IGhhbmRsZXIgZml4ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkMGI1NTkzNTMz
OGJhMGNlN2NjZGRkZTM3MzE5YmRlZDgwZjk2YTg4Li5lMzJlNWNkZjgwMTg4ODBkY2U0MTk3ZTFi
NmQ5ZDg0ZDRkODI1M2FhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDMtMTAg
IFNrYWNoa292IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICAgW0VT
Nl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQorCisgICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJM
RV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggZm9yIGFycm93IGZ1bmN0aW9uCisKKyAgICAgICAg
ICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTUtMDMtMTAg
IERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFNvbWUgZXZlbnQgaGFu
ZGxlciBmaXhlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDhlY2IwYmFkMzRlODU4Y2IzMzNhNTk2YjI3
MDZhN2MyZTNkYzM4M2YuLmJmMzkyMThmMTdjYmQ3MGFhNTQwYmUxY2JhMzI1YmU4ODBlNDhlODIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNS0wMy0xMSAgU2thY2hrb3Yg
QWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisgICAgICAgICBbRVM2XSBJbXBsZW1l
bnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICBBZGRlZCBmZWF0dXJlIGZsYWcgRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rpb24KKworICAgICAgICAgKiBDb25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKIDIwMTUtMDMtMTAgIFRpbW90aHkgSG9y
dG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCB0aGUgYnVpbGQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA1YTg1ZmQxZDMwYjJhYjhmMGJlOTUyNjJhNGM3YjUzODRhNWNmZTg5Li4y
NjA1OTkzMTIxNGVjZWFkY2FlMTU2NzU2YzIzOWEyZTZlNjNkMWRjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTQgQEAKKzIwMTUtMDMtMTEgIFNrYWNoa292IEFsZXhhbmRyICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MDg1NQorCisgICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAg
QWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggZm9yIGFy
cm93IGZ1bmN0aW9uCisKKyAgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWc6CisKIDIwMTUtMDMtMTAgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29t
PgogCiAgICAgICAgIEFkZCBpbnRlcmZhY2UgdG8gZGVsZXRlIGRpc2sgY2FjaGUgZW50cmllcwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGFkMGI4ZThjNGM2ZmY4MGUxMzJjMjlhYTgwNjQw
MDBjM2Q2ZGQ3YTkuLjZkZDA5NDMwODE4ZmVmOTAwNjFmZGNmM2EwMTI4MmY5Y2NkZDI3ZGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZBU19Q
QVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9F
UzZfQ0xBU1NfU1lOVEFYID0gOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVO
QUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcg
PSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ1NQX05FWFQgPSA7CiBFTkFCTEVf
Q1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLID0gRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SzsKQEAgLTIwOSw0ICsyMTAsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVf
U0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJ
VEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9X
X1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VM
RU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgp
ICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5B
QkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJM
RV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVf
Q1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NT
X1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVY
VCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklM
SVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9T
VVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVS
X0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xF
VkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykg
JChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMp
ICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAk
KEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFU
SE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJD
RSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChF
TkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdB
VE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lO
VEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAk
KEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFV
RVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQo
RU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxF
X1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVf
Q1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAk
KEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxF
TUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJB
Q0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkp
ICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9X
RUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQp
ICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkg
JChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVT
RU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1F
TlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNf
UEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykg
JChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5B
QkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAk
KEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkg
JChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xV
VElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0
KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNf
VEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VT
VE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVf
REFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVf
REVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RP
TTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9G
T05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBB
RCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChF
TkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRB
QkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9V
SSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9Q
T1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVO
QUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJ
WEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJF
U1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVE
SUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElB
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVO
QUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxT
KSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJM
RV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NV
RkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJB
TUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVD
VE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFO
RElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lT
KSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVf
U1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05F
X05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09O
X0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNU
X0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRB
Q1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkg
JChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09D
S0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFC
TEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAk
KEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRF
RF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1OWExOTZmNjYwOTVmY2QxMWEzMGJkZjUy
N2EwOGE0Y2Q5ZGZmMmI2Li5jYmFlMDg1MmFiMjU3ODAzMTE4MGFhNmJmNjNiMzQ0OGY1ODAyMWVm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTA2Myw2ICsxMDYzLDcgQEAKIAkJ
ODZGM0VFQkYxNjhDREU5MzAwNzdCOTJBIC8qIE9iamNSdW50aW1lRXh0cmFzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkYzRUVCNjE2ODU1QTVCMDA3
N0I5MkEgLyogT2JqY1J1bnRpbWVFeHRyYXMuaCAqLzsgfTsKIAkJODZGQTlFOTExNDJCQkIyRTAw
MTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4NkZBOUU4RjE0MkJCQjJEMDAxNzczQjcgLyogSlNCb3VuZEZ1
bmN0aW9uLmNwcCAqLzsgfTsKIAkJODZGQTlFOTIxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRG
dW5jdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICovOyB9OworCQk4
QjBGNDI0QzFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhCMEY0MjRCMUFCRDZERTIwMDM5
MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uY3BwICovOyB9OwogCQk5MDIxM0UzRDEyM0E0MEMyMDBE
NDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIxM0UzQjEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3Rh
dGlzdGljcy5jcHAgKi87IH07CiAJCTkwMjEzRTNFMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlT
dGF0aXN0aWNzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5MDIxM0UzQzEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkzMDUyQzM0MEZCNzky
MTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA5MzA1MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJl
bmEuY3BwICovOyB9OwpAQCAtMjc2NSw2ICsyNzY2LDggQEAKIAkJODZGNzVFRkQxNTFDMDYyRjAw
N0M5QkEzIC8qIFJlZ0V4cE1hdGNoZXNBcnJheS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBSZWdFeHBNYXRjaGVzQXJyYXkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk4NkZBOUU4RjE0MkJCQjJEMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQm91bmRGdW5jdGlvbi5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNC
NyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNCb3VuZEZ1bmN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRB
MUFCRDZEMkYwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNB
cnJvd0Z1bmN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRCMUFC
RDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNBcnJvd0Z1bmN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJOTAyMTNFM0IxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3Mu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVtb3J5U3RhdGlzdGlj
cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkwMjEzRTNDMTIzQTQwQzIwMEQ0
MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE1lbW9yeVN0YXRpc3RpY3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMw
NTJDMzIwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhcnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTQzNjMsNiArNDM2Niw4IEBACiAJCQkJQTdCREFFQzUxN0Y0RUExNDAwRjYx
NDBDIC8qIEpTQXJyYXlJdGVyYXRvci5oICovLAogCQkJCTg2RkE5RThGMTQyQkJCMkQwMDE3NzNC
NyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwICovLAogCQkJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNC
NyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLywKKwkJCQk4QjBGNDI0QTFBQkQ2RDJGMDAzOTE3RUEg
LyogSlNBcnJvd0Z1bmN0aW9uLmggKi8sCisJCQkJOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8q
IEpTQXJyb3dGdW5jdGlvbi5jcHAgKi8sCiAJCQkJNjU3Q0Y0NTYxOUJGNjY2MjAwNEFDQkYyIC8q
IEpTQ2FsbGVlLmNwcCAqLywKIAkJCQk2NTdDRjQ1NzE5QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxs
ZWUuaCAqLywKIAkJCQkwRkQ5NDk3RTFBOTdEQjk2MDBFMjg5NjYgLyogSlNDYXRjaFNjb3BlLmNw
cCAqLywKQEAgLTcwNTEsNiArNzA1Niw3IEBACiAJCQkJMEZEOEEzMUIxN0Q1MUYyMjAwQ0EyQzQw
IC8qIEZUTE9TUkVudHJ5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjM1QkRDMTcxNzhFMUMw
MDY5MEM3RiAvKiBGVExPU1JFeGl0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjM1QkRGMTcx
NzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0Q29tcGlsZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJOEIwRjQyNEMxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkwRkVBMEEyQTE3MDk2Mjk2MDBCQjcyMkMgLyogRlRMT3V0cHV0LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTBGNDg1MzI5MTg3REZERUMwMDgzQjY4NyAvKiBGVExSZWNvdmVy
eU9wY29kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjZCMUNDMzE4NjJDNDc4MDA4NDVEOTcg
LyogRlRMUmVnaXN0ZXJBdE9mZnNldC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxpc3QuanNvbiBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxpc3QuanNvbgppbmRleCA1NTQ5MTE5YjQw
MGQxZWRiMTkzZTM3Y2M5MTU0NDU5NGY3NzgyNWY2Li4zOWZiZjBiZWVkMGUxNGZjMjIzN2U5ZDFk
YjA4Mjg5ZDliMDhjNmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQnl0ZWNvZGVMaXN0Lmpzb24KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0J5dGVjb2RlTGlzdC5qc29uCkBAIC05NSw2ICs5NSw3IEBACiAgICAgICAgICAgICB7ICJuYW1l
IiA6ICJvcF9zd2l0Y2hfc3RyaW5nIiwgImxlbmd0aCIgOiA0IH0sCiAgICAgICAgICAgICB7ICJu
YW1lIiA6ICJvcF9uZXdfZnVuYyIsICJsZW5ndGgiIDogNSB9LAogICAgICAgICAgICAgeyAibmFt
ZSIgOiAib3BfbmV3X2Z1bmNfZXhwIiwgImxlbmd0aCIgOiA0IH0sCisgICAgICAgICAgICB7ICJu
YW1lIiA6ICJvcF9uZXdfYXJyb3dfZnVuY19leHAiLCAibGVuZ3RoIiA6IDUgfSwKICAgICAgICAg
ICAgIHsgIm5hbWUiIDogIm9wX2NhbGwiLCAibGVuZ3RoIiA6IDkgfSwKICAgICAgICAgICAgIHsg
Im5hbWUiIDogIm9wX2NhbGxfZXZhbCIsICJsZW5ndGgiIDogOSB9LAogICAgICAgICAgICAgeyAi
bmFtZSIgOiAib3BfY2FsbF92YXJhcmdzIiwgImxlbmd0aCIgOiA5IH0sCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCmluZGV4IDhkMjFjZWJhNjgy
YzgyMGIxZmM1ZjRkZGVlYTQyNmY1ZjZhMjc1MTMuLjc3MGZkZWEyYmQxNWM5NTQ1ZTNiMTZiZjdj
MDkyYTI4YzFiMThjYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9CeXRlY29kZVVzZURlZi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9C
eXRlY29kZVVzZURlZi5oCkBAIC0xMTQsNiArMTE0LDkgQEAgdm9pZCBjb21wdXRlVXNlc0ZvckJ5
dGVjb2RlT2Zmc2V0KAogICAgIGNhc2Ugb3BfY3JlYXRlX2xleGljYWxfZW52aXJvbm1lbnQ6CiAg
ICAgY2FzZSBvcF9nZXRfZW51bWVyYWJsZV9sZW5ndGg6CiAgICAgY2FzZSBvcF9uZXdfZnVuY19l
eHA6CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25l
d19hcnJvd19mdW5jX2V4cDoKKyNlbmRpZgogICAgIGNhc2Ugb3BfdG9faW5kZXhfc3RyaW5nOgog
ICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29uc3Rfbm9wOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9i
YWxfY29uc3Q6CkBAIC0zMTIsNiArMzE1LDkgQEAgdm9pZCBjb21wdXRlRGVmc0ZvckJ5dGVjb2Rl
T2Zmc2V0KENvZGVCbG9jayogY29kZUJsb2NrLCB1bnNpZ25lZCBieXRlY29kZU9mZnNldCwKICAg
ICBjYXNlIG9wX25ld19yZWdleHA6CiAgICAgY2FzZSBvcF9uZXdfZnVuYzoKICAgICBjYXNlIG9w
X25ld19mdW5jX2V4cDoKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
IGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorI2VuZGlmCiAgICAgY2FzZSBvcF9jYWxsX3Zh
cmFyZ3M6CiAgICAgY2FzZSBvcF9jb25zdHJ1Y3RfdmFyYXJnczoKICAgICBjYXNlIG9wX2dldF9m
cm9tX3Njb3BlOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0Nv
ZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNw
cAppbmRleCBkMjZlZTJiOGNlMjYwMTk3YzJjMzdkNDg1MDBjOGM0ZTJkYzdjZGFiLi4zNDc0ZWEx
MjczZjY0MmFmZjI3NDk1N2ViYTk1ZDlmYzY0MTY1ZDg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcApAQCAtMTI5MCw2ICsxMjkwLDE3IEBAIHZvaWQg
Q29kZUJsb2NrOjpkdW1wQnl0ZWNvZGUoCiAgICAgICAgICAgICBvdXQucHJpbnRmKCIlcywgJXMs
IGYlZCwgJXMiLCByZWdpc3Rlck5hbWUocjApLmRhdGEoKSwgcmVnaXN0ZXJOYW1lKHIxKS5kYXRh
KCksIGYwLCBzaG91bGRDaGVjayA/ICI8Q2hlY2tlZD4iIDogIjxVbmNoZWNrZWQ+Iik7CiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOiB7CisgICAgICAgICAg
ICBpbnQgcjAgPSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAgICAgICAgIGludCByMSA9ICgrK2l0
KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgaW50IGYwID0gKCsraXQpLT51Lm9wZXJhbmQ7Cisg
ICAgICAgICAgICBpbnQgcjIgPSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAgICAgICAgIHByaW50
TG9jYXRpb25BbmRPcChvdXQsIGV4ZWMsIGxvY2F0aW9uLCBpdCwgIm9wX25ld19hcnJvd19mdW5j
X2V4cCIpOworICAgICAgICAgICAgb3V0LnByaW50ZigiJXMsICVzLCBmJWQsICVzIiwgcmVnaXN0
ZXJOYW1lKHIwKS5kYXRhKCksIHJlZ2lzdGVyTmFtZShyMSkuZGF0YSgpLCBmMCwgcmVnaXN0ZXJO
YW1lKHIyKS5kYXRhKCkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyNlbmRpZgog
ICAgICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDogewogICAgICAgICAgICAgaW50IHIwID0gKCsr
aXQpLT51Lm9wZXJhbmQ7CiAgICAgICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUub3BlcmFuZDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVH
ZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29k
ZUdlbmVyYXRvci5jcHAKaW5kZXggMmRiMjVjY2ViZDhkY2Q1YjBhYjQxMzVhMzJmM2NhOWNkZDVj
YjJhNS4uYmViYjE0MzQ3ZGI1ODQxMjZlYWJkMDE3MmQ2NTRjYmE5YWQ5YWIyMSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVy
YXRvci5jcHAKQEAgLTE2ODEsNiArMTY4MSwzNiBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVy
YXRvcjo6ZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVuY0V4cAog
ICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChpbmRleCk7CiAgICAgcmV0dXJuIHIwOwogfQorICAg
IAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitSZWdpc3RlcklEKiBCeXRl
Y29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQq
IHIwLCBGdW5jRXhwck5vZGUqIG4pCit7CisgICAgRnVuY3Rpb25Cb2R5Tm9kZSogZnVuY3Rpb24g
PSBuLT5ib2R5KCk7CisgICAgdW5zaWduZWQgaW5kZXggPSBtX2NvZGVCbG9jay0+YWRkRnVuY3Rp
b25FeHByKG1ha2VGdW5jdGlvbihmdW5jdGlvbikpOworICAgIAorICAgIFJlZ2lzdGVySUQqIHZh
bHVlID0gZW1pdFRoaXNOb2RlQnl0ZWNvZGUocjAsIG4tPnBvc2l0aW9uKCkpOworICAgIAorICAg
IGVtaXRPcGNvZGUob3BfbmV3X2Fycm93X2Z1bmNfZXhwKTsKKyAgICBpbnN0cnVjdGlvbnMoKS5h
cHBlbmQocjAtPmluZGV4KCkpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChzY29wZVJlZ2lz
dGVyKCktPmluZGV4KCkpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChpbmRleCk7CisgICAg
aW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHZhbHVlLT5pbmRleCgpKTsKKyAgICByZXR1cm4gcjA7Cit9
CisgICAgCitSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFRoaXNOb2RlQnl0ZWNv
ZGUoUmVnaXN0ZXJJRCogZHN0LCBKU1RleHRQb3NpdGlvbiBwb3NpdGlvbikKK3sKKyAgICBpZiAo
ZHN0ID09IGlnbm9yZWRSZXN1bHQoKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgUmVnaXN0ZXJJ
RCogcmVzdWx0ID0gbW92ZVRvRGVzdGluYXRpb25JZk5lZWRlZChkc3QsIHRoaXNSZWdpc3Rlcigp
KTsKKyAgICBpZiAodm0oKS0+dHlwZVByb2ZpbGVyKCkpIHsKKyAgICAgICAgZW1pdFByb2ZpbGVU
eXBlKHRoaXNSZWdpc3RlcigpLCBQcm9maWxlVHlwZUJ5dGVjb2RlRG9lc05vdEhhdmVHbG9iYWxJ
RCwgbnVsbHB0cik7CisgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCB0aGlzTGVuZ3RoID0g
NDsKKyAgICAgICAgZW1pdFR5cGVQcm9maWxlckV4cHJlc3Npb25JbmZvKHBvc2l0aW9uLCBKU1Rl
eHRQb3NpdGlvbigtMSwgcG9zaXRpb24ub2Zmc2V0ICsgdGhpc0xlbmd0aCwgLTEpKTsKKyAgICB9
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKyNlbmRpZgogCiBSZWdpc3RlcklEKiBCeXRlY29kZUdl
bmVyYXRvcjo6ZW1pdENhbGwoUmVnaXN0ZXJJRCogZHN0LCBSZWdpc3RlcklEKiBmdW5jLCBFeHBl
Y3RlZEZ1bmN0aW9uIGV4cGVjdGVkRnVuY3Rpb24sIENhbGxBcmd1bWVudHMmIGNhbGxBcmd1bWVu
dHMsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZvdCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGRp
dm90U3RhcnQsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZvdEVuZCkKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaApp
bmRleCBjOWI4ODc1NWM5MmQ2YTk3OThhZmI2YjZhZDhhNmRmMWRiMzQ5Yjc5Li4wODY3N2I5ZjVm
NzY3YWJmMjQ4MzcyYjMyNzBhZDQzMzZkNjNjYTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCkBAIC00NjUsNiAr
NDY1LDEwIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TGF6eU5l
d0Z1bmN0aW9uKFJlZ2lzdGVySUQqIGRzdCwgRnVuY3Rpb25Cb2R5Tm9kZSogYm9keSk7CiAgICAg
ICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5jdGlvbkludGVybmFsKFJlZ2lzdGVySUQqIGRzdCwg
dW5zaWduZWQgaW5kZXgsIGJvb2wgc2hvdWxkTnVsbENoZWNrKTsKICAgICAgICAgUmVnaXN0ZXJJ
RCogZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiBkc3QsIEZ1bmNFeHByTm9k
ZSogZnVuYyk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAg
UmVnaXN0ZXJJRCogZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqLCBG
dW5jRXhwck5vZGUqKTsKKyAgICAgICAgUmVnaXN0ZXJJRCogZW1pdFRoaXNOb2RlQnl0ZWNvZGUo
UmVnaXN0ZXJJRCosIEpTVGV4dFBvc2l0aW9uKTsKKyNlbmRpZgogICAgICAgICBSZWdpc3RlcklE
KiBlbWl0TmV3UmVnRXhwKFJlZ2lzdGVySUQqIGRzdCwgUmVnRXhwKik7CiAKICAgICAgICAgUmVn
aXN0ZXJJRCogZW1pdE1vdmUoUmVnaXN0ZXJJRCogZHN0LCBSZWdpc3RlcklEKiBzcmMpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4u
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3Bw
CmluZGV4IDU1ODFkMTVhZjQ2ZTI5YmNiODQzNDgzMjFlYjhhYzE5ZGFhM2IxZjIuLmYxOWMyMzlj
ZDAwYWRhZWIyOTEyMjc4NmJiY2UxZmQ2YTY0MzhlNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKQEAgLTE0Niw3ICsxNDYs
OSBAQCBSZWdpc3RlcklEKiBUaGlzTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9y
JiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdAogewogICAgIGlmIChkc3QgPT0gZ2VuZXJhdG9y
Lmlnbm9yZWRSZXN1bHQoKSkKICAgICAgICAgcmV0dXJuIDA7Ci0KKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdFRoaXNOb2RlQnl0
ZWNvZGUoZHN0LCBwb3NpdGlvbigpKTsKKyNlbHNlCiAgICAgUmVnaXN0ZXJJRCogcmVzdWx0ID0g
Z2VuZXJhdG9yLm1vdmVUb0Rlc3RpbmF0aW9uSWZOZWVkZWQoZHN0LCBnZW5lcmF0b3IudGhpc1Jl
Z2lzdGVyKCkpOwogICAgIGlmIChnZW5lcmF0b3Iudm0oKS0+dHlwZVByb2ZpbGVyKCkpIHsKICAg
ICAgICAgZ2VuZXJhdG9yLmVtaXRQcm9maWxlVHlwZShnZW5lcmF0b3IudGhpc1JlZ2lzdGVyKCks
IFByb2ZpbGVUeXBlQnl0ZWNvZGVEb2VzTm90SGF2ZUdsb2JhbElELCBudWxscHRyKTsKQEAgLTE1
NCw2ICsxNTYsNyBAQCBSZWdpc3RlcklEKiBUaGlzTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2Rl
R2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdAogICAgICAgICBnZW5lcmF0b3Iu
ZW1pdFR5cGVQcm9maWxlckV4cHJlc3Npb25JbmZvKHBvc2l0aW9uKCksIEpTVGV4dFBvc2l0aW9u
KC0xLCBwb3NpdGlvbigpLm9mZnNldCArIHRoaXNMZW5ndGgsIC0xKSk7CiAgICAgfQogICAgIHJl
dHVybiByZXN1bHQ7CisjZW5kaWYKIH0KIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tIFN1cGVyTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC0y
ODYzLDYgKzI4NjYsMTQgQEAgUmVnaXN0ZXJJRCogRnVuY0V4cHJOb2RlOjplbWl0Qnl0ZWNvZGUo
Qnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCoKICAgICByZXR1cm4gZ2Vu
ZXJhdG9yLmVtaXROZXdGdW5jdGlvbkV4cHJlc3Npb24oZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRp
b24oZHN0KSwgdGhpcyk7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KSAgICAKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBBcnJvd0Z1bmNFeHByTm9k
ZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1JlZ2lzdGVySUQqIEFycm93RnVu
Y0V4cHJOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVn
aXN0ZXJJRCogZHN0KQoreworICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdE5ld0Fycm93RnVuY3Rp
b25FeHByZXNzaW9uKGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHRoaXMpOworfQor
I2VuZGlmCisgICAgCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAvLyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0gQ2xhc3NEZWNsTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdC
eXRlQ29kZVBhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2Rl
UGFyc2VyLmNwcAppbmRleCAyODc0Y2MzN2FhMWVlZDg5ZjM4YjNjODk0ZTg0MTQ5MTZkYjEzNGNl
Li4wZWJiOGQ3YjNhNjllMDc5M2U0NDM2ZmQ0M2U4MGU4NTZkMmZhN2Q3IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcApAQCAtMzY5NCw2ICsz
Njk0LDE0IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQgbGltaXQp
CiAgICAgICAgICAgICBORVhUX09QQ09ERShvcF9uZXdfZnVuY19leHApOwogICAgICAgICB9CiAK
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBjYXNlIG9wX25l
d19hcnJvd19mdW5jX2V4cDogeworICAgICAgICAgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBleHBy
ID0gbV9pbmxpbmVTdGFja1RvcC0+bV9wcm9maWxlZEJsb2NrLT5mdW5jdGlvbkV4cHIoY3VycmVu
dEluc3RydWN0aW9uWzNdLnUub3BlcmFuZCk7CisgICAgICAgICAgICBGcm96ZW5WYWx1ZSogZnJv
emVuID0gbV9ncmFwaC5mcmVlemVTdHJvbmcoZXhwcik7CisgICAgICAgICAgICBzZXQoVmlydHVh
bFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLCBhZGRUb0dyYXBoKE5l
d0Z1bmN0aW9uRXhwcmVzc2lvbiwgT3BJbmZvKGZyb3plbiksIGdldChWaXJ0dWFsUmVnaXN0ZXIo
Y3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCkpKSk7CisgICAgICAgICAgICBORVhUX09Q
Q09ERShvcF9uZXdfYXJyb3dfZnVuY19leHApOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAg
Y2FzZSBvcF90eXBlb2Y6IHsKICAgICAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVu
dEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCksCiAgICAgICAgICAgICAgICAgYWRkVG9HcmFwaChU
eXBlT2YsIGdldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFu
ZCkpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxp
dGllcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAK
aW5kZXggYTE5YzMwNjg2MDUzZjYyOTQ4OGYyZTU4NmNhYjllOTVkYjA1MzUzNS4uZWQ0ODgzY2Y0
NTI3ZWYyNzljNzhjMDc2OTdkYjY0MDc2YjIxMzc5MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcApAQCAtMjA3LDYgKzIwNyw5IEBAIENhcGFiaWxp
dHlMZXZlbCBjYXBhYmlsaXR5TGV2ZWwoT3Bjb2RlSUQgb3Bjb2RlSUQsIENvZGVCbG9jayogY29k
ZUJsb2NrLCBJbnN0cnVjCiAgICAgY2FzZSBvcF90b19pbmRleF9zdHJpbmc6CiAgICAgY2FzZSBv
cF9uZXdfZnVuYzoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorI2Vu
ZGlmCiAgICAgICAgIHJldHVybiBDYW5Db21waWxlQW5kSW5saW5lOwogCiAgICAgY2FzZSBvcF9w
dXRfdG9fc2NvcGU6IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnBy
ZXRlci9JbnRlcnByZXRlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIv
SW50ZXJwcmV0ZXIuY3BwCmluZGV4IGVlOWQwNjQ2ODAwYzE4ODc3MDYyNDAwZDAyZGY5MzgwOWZj
MjQ2YjEuLmQwZDZmNDllMGY3Y2Y5YzMwYjZkMzMwMDhmOWQ2ZjliOTI5NjJkN2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcApAQCAt
NDQsNiArNDQsOSBAQAogI2luY2x1ZGUgIkdldHRlclNldHRlci5oIgogI2luY2x1ZGUgIkpTQXJy
YXkuaCIKICNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorI2VuZGlmCiAj
aW5jbHVkZSAiSlNMZXhpY2FsRW52aXJvbm1lbnQuaCIKICNpbmNsdWRlICJKU05hbWVTY29wZS5o
IgogI2luY2x1ZGUgIkpTTm90QW5PYmplY3QuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklULmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcApp
bmRleCAyYzgxMjY3NzJkODc0MDE3OWIxZGM1ZTNiNzg3NWM1ZGFiOGNiNjc4Li43NGU4YTBlMTJl
YTE2Y2IzNmI0Yzc4NTkwNDllOWUyOTc5ZTM4NmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQu
Y3BwCkBAIC0yNTIsNiArMjUyLDkgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3Mo
KQogICAgICAgICBERUZJTkVfT1Aob3BfbmV3X2FycmF5X2J1ZmZlcikKICAgICAgICAgREVGSU5F
X09QKG9wX25ld19mdW5jKQogICAgICAgICBERUZJTkVfT1Aob3BfbmV3X2Z1bmNfZXhwKQorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIERFRklORV9PUChvcF9u
ZXdfYXJyb3dfZnVuY19leHApCisjZW5kaWYgIAogICAgICAgICBERUZJTkVfT1Aob3BfbmV3X29i
amVjdCkKICAgICAgICAgREVGSU5FX09QKG9wX25ld19yZWdleHApCiAgICAgICAgIERFRklORV9P
UChvcF9ub3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAppbmRleCAxNjFiODQ3NjI4NGYyZGUxODI2
MzVkYTM2MTA2ZmVkZjA1ZWE2NGRhLi5iZmUzYTVmMGZiNGY4YTQ4MThkNjAyOWI1NTkyNmJkOTAz
Yzc1NTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKQEAgLTUxNyw2ICs1MTcsOSBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBlbWl0X29wX25ld19hcnJheV9idWZmZXIoSW5zdHJ1
Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX25ld19mdW5jKEluc3RydWN0aW9uKik7CiAg
ICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfZnVuY19leHAoSW5zdHJ1Y3Rpb24qKTsKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2Fy
cm93X2Z1bmNfZXhwKEluc3RydWN0aW9uKik7CisjZW5kaWYKICAgICAgICAgdm9pZCBlbWl0X29w
X25ld19vYmplY3QoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX25ld19yZWdl
eHAoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX25vdChJbnN0cnVjdGlvbiop
OwpAQCAtNjk2LDYgKzY5OSw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKSWRjLCBpbnQsIEdQUlJl
ZywgY29uc3QgSWRlbnRpZmllciopOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxs
T3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKSiwgaW50LCBHUFJSZWcsIEdQUlJlZyk7CiAgICAg
ICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpz
Y0MsIGludCwgR1BSUmVnLCBKU0NlbGwqKTsKKyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwg
Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0osIGludCwgR1BSUmVnLCBKU0NlbGwq
LCBHUFJSZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENf
SklUT3BlcmF0aW9uX0VKc2NaLCBHUFJSZWcsIGludDMyX3QpOwogICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2NaLCBpbnQsIEdQUlJl
ZywgaW50MzJfdCk7CiAjaWYgVVNFKEpTVkFMVUU2NCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRJbmxpbmVzLmgKaW5kZXggYTBmMGI0MzhiMzVhY2ZiOGNiNDE4NmJmMGFkMDhlZmM4MDgwNGVh
Mi4uMjU2NWEwZDE5NzFkNzMwYjRhMDlhNmViMmI1ODlkYjMyODQzNmM1MyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKQEAgLTI2NSw2ICsyNjUsMTIgQEAgQUxXQVlTX0lO
TElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRp
b25fRUpzY0Mgb3BlcmEKICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1Nl
dEpTVmFsdWVSZXN1bHQob3BlcmF0aW9uLCBkc3QpOwogfQogCitBTFdBWVNfSU5MSU5FIE1hY3Jv
QXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0og
b3BlcmF0aW9uLCBpbnQgZHN0LCBHUFJSZWcgYXJnMSwgSlNDZWxsKiBjZWxsLCBHUFJSZWcgYXJn
MikKK3sKKyAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0
cihjZWxsKSwgYXJnMik7CisgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tT
ZXRKU1ZhbHVlUmVzdWx0KG9wZXJhdGlvbiwgZHN0KTsKK30KKyAgICAKIEFMV0FZU19JTkxJTkUg
TWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VQ
IG9wZXJhdGlvbiwgaW50IGRzdCwgdm9pZCogcG9pbnRlcikKIHsKICAgICBzZXR1cEFyZ3VtZW50
c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihwb2ludGVyKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRPcGNvZGVzLmNwcAppbmRleCA2YzFhZTRiODZmYTdhZDY0NDVkMDViZjhjMDZh
MDQyODlmYzliYjZjLi44N2I5YTk2OTcyNmY4MTAxNmQ0NDhiYzgyODcwYjU0NWVhZDNjZjAwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKQEAgLTEwNzAsNiArMTA3
MCwzMiBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9uZXdfZnVuY19leHAoSW5zdHJ1Y3Rpb24qIGN1cnJl
bnRJbnN0cnVjdGlvbikKICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbk5ld0Z1bmN0aW9uLCBk
c3QsIHJlZ1QwLCBmdW5jRXhwcik7CiAgICAgZG9uZS5saW5rKHRoaXMpOwogfQorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit2b2lkIEpJVDo6ZW1pdF9vcF9uZXdfYXJyb3df
ZnVuY19leHAoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKK3sKKyAgICBKdW1wIG5v
dFVuZGVmaW5lZFNjb3BlOworICAgIGludCBkc3QgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5v
cGVyYW5kOworI2lmIFVTRShKU1ZBTFVFNjQpCisgICAgZW1pdEdldFZpcnR1YWxSZWdpc3Rlcihj
dXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kLCByZWdUMCk7CisgICAgbm90VW5kZWZpbmVk
U2NvcGUgPSBicmFuY2g2NChOb3RFcXVhbCwgcmVnVDAsIFRydXN0ZWRJbW02NChKU1ZhbHVlOjpl
bmNvZGUoanNVbmRlZmluZWQoKSkpKTsKKyAgICBzdG9yZTY0KFRydXN0ZWRJbW02NChKU1ZhbHVl
OjplbmNvZGUoanNVbmRlZmluZWQoKSkpLCBBZGRyZXNzKGNhbGxGcmFtZVJlZ2lzdGVyLCBzaXpl
b2YoUmVnaXN0ZXIpICogZHN0KSk7CisjZWxzZQorICAgIGVtaXRMb2FkUGF5bG9hZChjdXJyZW50
SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kLCByZWdUMCk7CisgICAgbm90VW5kZWZpbmVkU2NvcGUg
PSBicmFuY2gzMihOb3RFcXVhbCwgdGFnRm9yKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJh
bmQpLCBUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6VW5kZWZpbmVkVGFnKSk7CisgICAgZW1pdFN0b3Jl
KGRzdCwganNVbmRlZmluZWQoKSk7CisjZW5kaWYKKyAgICBKdW1wIGRvbmUgPSBqdW1wKCk7Cisg
ICAgbm90VW5kZWZpbmVkU2NvcGUubGluayh0aGlzKTsKKyAgICAKKy8vIEZpeG1lOiBpcyB0aGVy
ZSBuZWNlc3NhcnkgdG8gZG8gc29tZSBjaGVjayBmb3IgNjQvMzIgYml0IGFuZCBtYWtlIHNvbWUg
YWRkaXRpb25hbCBjaGVja3M/CisgICAgaW50IHZhbHVlVG9Qcm9maWxlID0gY3VycmVudEluc3Ry
dWN0aW9uWzRdLnUub3BlcmFuZDsKKyAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKHZhbHVlVG9Q
cm9maWxlLCByZWdUMSk7CisgICAgCisgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5jRXhwciA9
IG1fY29kZUJsb2NrLT5mdW5jdGlvbkV4cHIoY3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFu
ZCk7CisgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uLCBkc3QsIHJl
Z1QwLCBmdW5jRXhwciwgcmVnVDEpOworICAgIGRvbmUubGluayh0aGlzKTsKK30KKyNlbmRpZgog
CiB2b2lkIEpJVDo6ZW1pdF9vcF9uZXdfYXJyYXkoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVj
dGlvbikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0
aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCmlu
ZGV4IDQ2MTE2N2FlNjU0MTBmNDI2ZDdlODc4NDIwNzhlMDIwMDhhNzE1NTUuLjc3YThlMDVkNzFl
YWE5MDhmNzkyNWE0NjgzN2ZiYTE0ZjZjZTEzYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRPcGVyYXRpb25zLmNwcApAQCAtNDMsNiArNDMsOCBAQAogI2luY2x1ZGUgIkhvc3RD
YWxsUmV0dXJuVmFsdWUuaCIKICNpbmNsdWRlICJKSVQuaCIKICNpbmNsdWRlICJKSVRUb0RGR0Rl
ZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjay5oIgorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5o
IgorI2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIK
ICNpbmNsdWRlICJKU0NhdGNoU2NvcGUuaCIKICNpbmNsdWRlICJKU0Z1bmN0aW9uTmFtZVNjb3Bl
LmgiCkBAIC05MzEsNyArOTMzLDIyIEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uTmV3RnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBKU1Njb3BlKiBzY29wCiAgICAgTmF0
aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOwogICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBzdGF0aWNfY2FzdDxGdW5jdGlvbkV4ZWN1
dGFibGUqPihmdW5jdGlvbkV4ZWN1dGFibGUpLCBzY29wZSkpOwogfQotCisgICAgCisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTU2NvcGUqIHNj
b3BlLCBKU0NlbGwqIGZ1bmN0aW9uRXhlY3V0YWJsZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVl
KQoreworICAgIEFTU0VSVChmdW5jdGlvbkV4ZWN1dGFibGUtPmluaGVyaXRzKEZ1bmN0aW9uRXhl
Y3V0YWJsZTo6aW5mbygpKSk7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBOYXRpdmVD
YWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CisgICAgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCA9IGV4ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKKyAgICBKU0Z1bmN0
aW9uKiBmdW5jID0gSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUodm0sIHNjb3BlLCBzdGF0aWNfY2Fz
dDxGdW5jdGlvbkV4ZWN1dGFibGUqPihmdW5jdGlvbkV4ZWN1dGFibGUpLCBnbG9iYWxPYmplY3Qp
OworICAgIAorICAgIEpTQXJyYXkqIGJvdW5kQXJncyA9IEpTQXJyYXk6OnRyeUNyZWF0ZVVuaW5p
dGlhbGl6ZWQodm0sIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5cGVE
dXJpbmdBbGxvY2F0aW9uKEFycmF5V2l0aFVuZGVjaWRlZCksIDApOworICAgIAorICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoSlNCb3VuZEZ1bmN0aW9uOjpjcmVhdGUodm0sIGdsb2JhbE9iamVj
dCwgZnVuYywgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSksIGJvdW5kQXJncywgMCwgIiIpKTsK
K30KKyNlbmRpZgorICAgIAogSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVj
dChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogewogICAgIFZNKiB2bSA9
ICZleGVjLT52bSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRP
cGVyYXRpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaApp
bmRleCBjYTIzYmRkMjM1ODNlNjVjYjkxZmMzZDVmMWU1MTU5ODQ5MjA0YzhhLi4zMDJiNGNhMmIy
NDczZWQ2MDAwOWY1NDg4ZTJhODdkNTU5NTQxMDQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wZXJhdGlvbnMuaApAQCAtMTE1LDYgKzExNSw3IEBAIHR5cGVkZWYgRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQUCkoRXhlY1N0YXRlKiwgdm9p
ZCosIHZvCiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJh
dGlvbl9FUFMpKEV4ZWNTdGF0ZSosIHZvaWQqLCBzaXplX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNW
YWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVBjKShFeGVjU3RhdGUqLCBJbnN0
cnVjdGlvbiopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRP
cGVyYXRpb25fRUpzY0MpKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKTsKK3R5cGVkZWYg
RW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VKc2NDSikoRXhl
Y1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlKTsKIHR5cGVkZWYgRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTUykoRXhlY1N0YXRl
Kiwgc2l6ZV90LCBzaXplX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
ICgqSl9KSVRPcGVyYXRpb25fRVNzaUNJKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyos
IEpTQ2VsbCosIFN0cmluZ0ltcGwqKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJB
VElPTiAoKkpfSklUT3BlcmF0aW9uX0VTc2lKSSkoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1Yklu
Zm8qLCBFbmNvZGVkSlNWYWx1ZSwgU3RyaW5nSW1wbCopOwpAQCAtMjcxLDYgKzI3MiwxMCBAQCBF
bmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5V2l0aFByb2ZpbGUo
RXhlY1N0YXRlKiwgQXJyYXlBbGxvYwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVy
YXRpb25OZXdBcnJheUJ1ZmZlcldpdGhQcm9maWxlKEV4ZWNTdGF0ZSosIEFycmF5QWxsb2NhdGlv
blByb2ZpbGUqLCBjb25zdCBKU1ZhbHVlKiB2YWx1ZXMsIGludDMyX3Qgc2l6ZSkgV1RGX0lOVEVS
TkFMOwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJheVdpdGhT
aXplQW5kUHJvZmlsZShFeGVjU3RhdGUqLCBBcnJheUFsbG9jYXRpb25Qcm9maWxlKiwgRW5jb2Rl
ZEpTVmFsdWUgc2l6ZSkgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElP
TiBvcGVyYXRpb25OZXdGdW5jdGlvbihFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKikgV1RG
X0lOVEVSTkFMOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitFbmNvZGVk
SlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24oRXhlY1N0YXRl
KiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlKSBXVEZfSU5URVJOQUw7CisjZW5k
aWYKKyAgICAKIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdPYmplY3QoRXhlY1N0
YXRlKiwgU3RydWN0dXJlKikgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJB
VElPTiBvcGVyYXRpb25OZXdSZWdleHAoRXhlY1N0YXRlKiwgdm9pZCopIFdURl9JTlRFUk5BTDsK
IHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25IYW5kbGVXYXRjaGRvZ1RpbWVyKEV4ZWNTdGF0
ZSopIFdURl9JTlRFUk5BTDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9MTEludFNsb3dQYXRocy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRT
bG93UGF0aHMuY3BwCmluZGV4IDI3ODc2MTQ5YjA0ZjUzNmU0ODU1ZGI2MDYzOGE5ODkxNDM3Nzk1
YTUuLjE2MGQ0ZDU3MWJmZjUwYjQ4YjZjNzIzY2YxZWMyMzI0YzQ4MDBmYWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcApAQCAtMzgsNiArMzgs
MTAgQEAKICNpbmNsdWRlICJJbnRlcnByZXRlci5oIgogI2luY2x1ZGUgIkpJVC5oIgogI2luY2x1
ZGUgIkpJVEV4Y2VwdGlvbnMuaCIKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTQm91bmRGdW5jdGlv
bi5oIgorI2VuZGlmCiAjaW5jbHVkZSAiSlNMZXhpY2FsRW52aXJvbm1lbnQuaCIKICNpbmNsdWRl
ICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDSlNWYWx1ZS5oIgpAQCAtMTAxMiw2ICsxMDE2
LDI0IEBAIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuY19leHApCiAgICAg
TExJTlRfUkVUVVJOKGZ1bmMpOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKK0xMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHAp
Cit7CisgICAgTExJTlRfQkVHSU4oKTsKKyAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMt
PmNvZGVCbG9jaygpOworICAgIEpTU2NvcGUqIHNjb3BlID0gZXhlYy0+dW5jaGVja2VkUihwY1sy
XS51Lm9wZXJhbmQpLlJlZ2lzdGVyOjpzY29wZSgpOworICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSog
ZnVuY3Rpb24gPSBjb2RlQmxvY2stPmZ1bmN0aW9uRXhwcihwY1szXS51Lm9wZXJhbmQpOworICAg
IEpTVmFsdWUgdGhpc1ZhbHVlID0gTExJTlRfT1BfQyg0KS5qc1ZhbHVlKCk7CisgICAgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGV4ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsK
KyAgICAKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUodm0s
IHNjb3BlLCBmdW5jdGlvbiwgZ2xvYmFsT2JqZWN0KTsKKyAgICAKKyAgICBKU0FycmF5KiBib3Vu
ZEFyZ3MgPSBKU0FycmF5Ojp0cnlDcmVhdGVVbmluaXRpYWxpemVkKHZtLCBnbG9iYWxPYmplY3Qt
PmFycmF5U3RydWN0dXJlRm9ySW5kZXhpbmdUeXBlRHVyaW5nQWxsb2NhdGlvbihBcnJheVdpdGhV
bmRlY2lkZWQpLCAwKTsKKyAgICAKKyAgICBMTElOVF9SRVRVUk4oSlNCb3VuZEZ1bmN0aW9uOjpj
cmVhdGUodm0sIGdsb2JhbE9iamVjdCwgZnVuYywgdGhpc1ZhbHVlLCBib3VuZEFyZ3MsIDAsICIi
KSk7Cit9CisjZW5kaWYKKwogc3RhdGljIFNsb3dQYXRoUmV0dXJuVHlwZSBoYW5kbGVIb3N0Q2Fs
bChFeGVjU3RhdGUqIGV4ZWNDYWxsZWUsIEluc3RydWN0aW9uKiBwYywgSlNWYWx1ZSBjYWxsZWUs
IENvZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCkKIHsKICAgICBVTlVTRURfUEFSQU0ocGMpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaAppbmRleCA0YmY3
ZGViMGZhMGI2YzY0MzhlMzZmOTYzMjBlMmY2Njk3MzlhZjY0Li5jN2ZhYjk2OTFjMThiOTM5NTZk
MGVhMjlmMzM5NTYxMThjNWU3MWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTExJbnRTbG93UGF0aHMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TExJbnRTbG93UGF0aHMuaApAQCAtOTYsNiArOTYsNyBAQCBMTElOVF9TTE9XX1BBVEhfSElEREVO
X0RFQ0woc2xvd19wYXRoX3N3aXRjaF9jaGFyKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVD
TChzbG93X3BhdGhfc3dpdGNoX3N0cmluZyk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0wo
c2xvd19wYXRoX25ld19mdW5jKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3Bh
dGhfbmV3X2Z1bmNfZXhwKTsKK0xMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhf
bmV3X2Fycm93X2Z1bmNfZXhwKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3Bh
dGhfY2FsbCk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX2NvbnN0cnVj
dCk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3NpemVfZnJhbWVfZm9y
X3ZhcmFyZ3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtCmluZGV4IGQ3MWEzZWZlNzY4OWRmOWRmNWU4NzllNjNlODI0N2FjODA0
ODM5NTcuLjBkYjViYWRiOTljNmQ5NjdiODFlMTMzYTJmODA3N2I0MjlkNTk3ZGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20K
QEAgLTExNDIsNiArMTE0MiwxMCBAQCBfbGxpbnRfb3BfbmV3X2Z1bmNfZXhwOgogICAgIGNhbGxT
bG93UGF0aChfbGxpbnRfc2xvd19wYXRoX25ld19mdW5jX2V4cCkKICAgICBkaXNwYXRjaCg0KQog
CitfbGxpbnRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAg
ICBjYWxsU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApCisgICAg
ZGlzcGF0Y2goNSkKIAogX2xsaW50X29wX2NhbGw6CiAgICAgdHJhY2VFeGVjdXRpb24oKQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAppbmRleCBkZjNiZTFlOTQxMGZk
Y2Y1ZWJlYWNjZDg1MTU4NzYwZTVhZjg2ZjM5Li5iNTk5MzkwZjRjZjJjNDA1ZDZmNTg5ODU1Mzhh
OThhODVlMjRiMmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FT
VEJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIu
aApAQCAtMzA3LDExICszMDcsMjUgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbmV3IChtX3Bh
cnNlckFyZW5hKSBGdW5jdGlvbkJvZHlOb2RlKG1fcGFyc2VyQXJlbmEsIHN0YXJ0TG9jYXRpb24s
IGVuZExvY2F0aW9uLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBpblN0cmljdENvbnRleHQsIGNv
bnN0cnVjdG9yS2luZCk7CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICBFeHByZXNzaW9uTm9kZSogY3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIoY29uc3Qg
SlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPEFTVEJ1
aWxkZXI+JiBpbmZvLCB1bnNpZ25lZCBhcnJvd0Z1bmN0aW9uS2V5d29yZFN0YXJ0KQorICAgIHsK
KyAgICAgICAgU291cmNlQ29kZSBzb3VyY2UgPSBpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlwZSA9
PSBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24KKyAgICAgICAgPyBtX3NvdXJjZUNvZGUtPnN1
YkFycm93RXhwcmVzc2lvbihpbmZvLmFycm93RnVuY3Rpb25PZmZzZXQsIGluZm8uY2xvc2VCcmFj
ZU9mZnNldCwgaW5mby5ib2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlTdGFydENvbHVtbikKKyAgICAg
ICAgOiBtX3NvdXJjZUNvZGUtPnN1YkV4cHJlc3Npb24oaW5mby5vcGVuQnJhY2VPZmZzZXQsIGlu
Zm8uY2xvc2VCcmFjZU9mZnNldCwgaW5mby5ib2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlTdGFydENv
bHVtbik7CisKKyAgICAgICAgQXJyb3dGdW5jRXhwck5vZGUqIHJlc3VsdCA9IG5ldyAobV9wYXJz
ZXJBcmVuYSkgQXJyb3dGdW5jRXhwck5vZGUobG9jYXRpb24sICppbmZvLm5hbWUsIGluZm8uYm9k
eSwgc291cmNlLCBpbmZvLnBhcmFtZXRlcnMpOworICAgICAgICBpbmZvLmJvZHktPnNldExvYyhp
bmZvLmJvZHlTdGFydExpbmUsIGluZm8uYm9keUVuZExpbmUsIGxvY2F0aW9uLnN0YXJ0T2Zmc2V0
LCBsb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQpOworICAgICAgICBpbmZvLmJvZHktPnNldEZ1bmN0
aW9uS2V5d29yZFN0YXJ0KGFycm93RnVuY3Rpb25LZXl3b3JkU3RhcnQpOworICAgICAgICByZXR1
cm4gcmVzdWx0OworICAgIH0KKyNlbmRpZgorCiAgICAgdm9pZCBzZXRGdW5jdGlvbk5hbWVTdGFy
dChGdW5jdGlvbkJvZHlOb2RlKiBib2R5LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQpCiAgICAgewog
ICAgICAgICBib2R5LT5zZXRGdW5jdGlvbk5hbWVTdGFydChmdW5jdGlvbk5hbWVTdGFydCk7CiAg
ICAgfQotICAgIAorCiAgICAgTkVWRVJfSU5MSU5FIFByb3BlcnR5Tm9kZSogY3JlYXRlR2V0dGVy
T3JTZXR0ZXJQcm9wZXJ0eShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBQcm9wZXJ0
eU5vZGU6OlR5cGUgdHlwZSwgYm9vbCwKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogbmFtZSwg
Y29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPEFTVEJ1aWxkZXI+JiBpbmZvLCB1bnNpZ25lZCBnZXRP
clNldFN0YXJ0T2Zmc2V0LCBTdXBlckJpbmRpbmcgc3VwZXJCaW5kaW5nKQogICAgIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKaW5kZXggMWVjNjdkZjFiOGU4YzBkNzMxOTQ5
YjEyNzJhOWJjNzVmZmY4MDE2Zi4uYjFkOTFlMzhmZjgzY2QxOTNjYjhjY2Q2NzM5NzBhOGUxNzc0
OGM4YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKQEAgLTEzODksMTAg
KzEzODksMjIgQEAgYm9vbCBMZXhlcjxUPjo6bmV4dFRva2VuSXNDb2xvbigpCiAgICAgY29uc3Qg
VCogY29kZSA9IG1fY29kZTsKICAgICB3aGlsZSAoY29kZSA8IG1fY29kZUVuZCAmJiAoaXNXaGl0
ZVNwYWNlKCpjb2RlKSB8fCBpc0xpbmVUZXJtaW5hdG9yKCpjb2RlKSkpCiAgICAgICAgIGNvZGUr
KzsKLSAgICAKKwogICAgIHJldHVybiBjb2RlIDwgbV9jb2RlRW5kICYmICpjb2RlID09ICc6JzsK
IH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlw
ZW5hbWUgVD4KK3ZvaWQgTGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24oSlNUb2tlbiogdG9rZW5S
ZWNvcmQpCit7CisgICAgSlNUb2tlbkRhdGEqIHRva2VuRGF0YSA9ICZ0b2tlblJlY29yZC0+bV9k
YXRhOworICAgIHRva2VuRGF0YS0+bGluZSA9IGxpbmVOdW1iZXIoKTsKKyAgICB0b2tlbkRhdGEt
Pm9mZnNldCA9IGN1cnJlbnRPZmZzZXQoKTsKKyAgICB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNl
dCA9IGN1cnJlbnRMaW5lU3RhcnRPZmZzZXQoKTsKKyAgICBBU1NFUlQodG9rZW5EYXRhLT5vZmZz
ZXQgPj0gdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQpOworfQorI2VuZGlmCisKIHRlbXBsYXRl
IDx0eXBlbmFtZSBUPgogSlNUb2tlblR5cGUgTGV4ZXI8VD46OmxleChKU1Rva2VuKiB0b2tlblJl
Y29yZCwgdW5zaWduZWQgbGV4ZXJGbGFncywgYm9vbCBzdHJpY3RNb2RlKQogewpAQCAtMTQ1Niw3
ICsxNDY4LDEyIEBAIHN0YXJ0OgogICAgICAgICB9CiAgICAgICAgIHRva2VuID0gR1Q7CiAgICAg
ICAgIGJyZWFrOwotICAgIGNhc2UgQ2hhcmFjdGVyRXF1YWw6CisgICAgY2FzZSBDaGFyYWN0ZXJF
cXVhbDogeworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIHVp
bnQzMl90IHNhdmVkbGluZU51bWJlciA9IHRva2VuRGF0YS0+bGluZTsKKyAgICAgICAgdWludDMy
X3Qgc2F2ZWRPZmZzZXQgPSBjdXJyZW50T2Zmc2V0KCk7CisgICAgICAgIHVpbnQzMl90IHNhdmVk
TGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVTdGFydE9mZnNldCgpOworI2VuZGlmCiAgICAg
ICAgIHNoaWZ0KCk7CiAgICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJz0nKSB7CiAgICAgICAgICAg
ICBzaGlmdCgpOwpAQCAtMTQ2OCw4ICsxNDg1LDIyIEBAIHN0YXJ0OgogICAgICAgICAgICAgdG9r
ZW4gPSBFUUVROwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAobV9jdXJyZW50ID09ICc+Jykgewor
ICAgICAgICAgICAgc2hpZnQoKTsKKyAgICAgICAgICAgIHRva2VuID0gQVJST1dGVU5DVElPTjsK
KworICAgICAgICAgICAgdG9rZW5EYXRhLT5saW5lID0gc2F2ZWRsaW5lTnVtYmVyOworICAgICAg
ICAgICAgdG9rZW5EYXRhLT5vZmZzZXQgPSBzYXZlZE9mZnNldDsKKyAgICAgICAgICAgIHRva2Vu
RGF0YS0+bGluZVN0YXJ0T2Zmc2V0ID0gc2F2ZWRMaW5lU3RhcnRPZmZzZXQ7CisKKyAgICAgICAg
ICAgIEFTU0VSVCh0b2tlbkRhdGEtPm9mZnNldCA+PSB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNl
dCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIHRva2Vu
ID0gRVFVQUw7CiAgICAgICAgIGJyZWFrOworICAgIH0KICAgICBjYXNlIENoYXJhY3Rlckxlc3M6
CiAgICAgICAgIHNoaWZ0KCk7CiAgICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJyEnICYmIHBlZWso
MSkgPT0gJy0nICYmIHBlZWsoMikgPT0gJy0nKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL0xleGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xl
eGVyLmgKaW5kZXggODFiNDMzNGQ4NDlkODNlNzVmYWRhZmVmNTQyMDg0MTZhOGQxNmQ2Ni4uYzlk
M2FjOGNiYTBmYzYyMWI5OWI1ODExMjEwYTgyZTA5ODdjMmJiMyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTGV4ZXIuaApAQCAtNTEsMTYgKzUxLDE2IEBAIHB1YmxpYzoKICAgICB7CiAgICAg
ICAgIG1fa2V5d29yZFRhYmxlLmRlbGV0ZVRhYmxlKCk7CiAgICAgfQotICAgIAorCiBwcml2YXRl
OgogICAgIGZyaWVuZCBjbGFzcyBWTTsKLSAgICAKKwogICAgIFZNJiBtX3ZtOwogICAgIGNvbnN0
IEhhc2hUYWJsZSBtX2tleXdvcmRUYWJsZTsKIH07CiAKIGVudW0gTGV4ZXJGbGFncyB7Ci0gICAg
TGV4ZXJGbGFnc0lnbm9yZVJlc2VydmVkV29yZHMgPSAxLCAKKyAgICBMZXhlckZsYWdzSWdub3Jl
UmVzZXJ2ZWRXb3JkcyA9IDEsCiAgICAgTGV4ZXJGbGFnc0RvbnRCdWlsZFN0cmluZ3MgPSAyLAog
ICAgIExleGV4RmxhZ3NEb250QnVpbGRLZXl3b3JkcyA9IDQKIH07CkBAIC04NCw3ICs4NCw5IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldENvZGUoY29uc3QgU291cmNlQ29kZSYsIFBhcnNlckFyZW5h
Kik7CiAgICAgdm9pZCBzZXRJc1JlcGFyc2luZygpIHsgbV9pc1JlcGFyc2luZyA9IHRydWU7IH0K
ICAgICBib29sIGlzUmVwYXJzaW5nKCkgY29uc3QgeyByZXR1cm4gbV9pc1JlcGFyc2luZzsgfQot
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2b2lkIHNldFRva2Vu
UG9zaXRpb24oSlNUb2tlbiogdG9rZW5SZWNvcmQpOworI2VuZGlmCiAgICAgSlNUb2tlblR5cGUg
bGV4KEpTVG9rZW4qLCB1bnNpZ25lZCwgYm9vbCBzdHJpY3RNb2RlKTsKICAgICBib29sIG5leHRU
b2tlbklzQ29sb24oKTsKICAgICBpbnQgbGluZU51bWJlcigpIGNvbnN0IHsgcmV0dXJuIG1fbGlu
ZU51bWJlcjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rl
Q29uc3RydWN0b3JzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1
Y3RvcnMuaAppbmRleCAwNTdiYzNkOTI4MDlmNDZiMDYyNzFhYzAxMmFiZWNkNmM4OGE2ODRhLi45
ZWUxZjlkYjhiMTNiMmJiMGQ0NGEyMjljZTgyN2NlMTNmNDRmNzM1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaApAQCAtNzgwLDYgKzc4MCwx
MyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgbV9ib2R5LT5maW5pc2hQYXJzaW5nKHNvdXJj
ZSwgcGFyYW1ldGVyLCBpZGVudCwgRnVuY3Rpb25FeHByZXNzaW9uKTsKICAgICB9CiAKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlubGluZSBBcnJvd0Z1bmNFeHBy
Tm9kZTo6QXJyb3dGdW5jRXhwck5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwg
Y29uc3QgSWRlbnRpZmllciYgaWRlbnQsIEZ1bmN0aW9uQm9keU5vZGUqIGJvZHksIGNvbnN0IFNv
dXJjZUNvZGUmIHNvdXJjZSwgUGFyYW1ldGVyTm9kZSogcGFyYW1ldGVyKQorICAgICAgICA6IEZ1
bmNFeHByTm9kZShsb2NhdGlvbiwgaWRlbnQsIGJvZHksIHNvdXJjZSwgcGFyYW1ldGVyKQorICAg
IHsKKyAgICB9CisjZW5kaWYKKyAgICAKICAgICBpbmxpbmUgRnVuY0RlY2xOb2RlOjpGdW5jRGVj
bE5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29uc3QgSWRlbnRpZmllciYg
aWRlbnQsIEZ1bmN0aW9uQm9keU5vZGUqIGJvZHksIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwg
UGFyYW1ldGVyTm9kZSogcGFyYW1ldGVyKQogICAgICAgICA6IFN0YXRlbWVudE5vZGUobG9jYXRp
b24pCiAgICAgICAgICwgbV9ib2R5KGJvZHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL05vZGVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVz
LmgKaW5kZXggNDBiYzFiZWQ4YzFjNmFmZWU4MjYyOTU0ZDQzZTU2ZjQwNTkzOGNiZC4uNTA3MDI0
NzBjZDUxNjQ1OTFjODQzMzk4MWQ1MTk1NmQ4ODM5YWZiMSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvTm9kZXMuaApAQCAtMTU4LDYgKzE1OCw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICB2aXJ0dWFsIGJvb2wgaXNEb3RBY2Nlc3Nvck5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNEZWNvbnN0cnVjdGlvbk5vZGUoKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNGdW5jRXhwck5vZGUoKSBjb25z
dCB7IHJldHVybiBmYWxzZTsgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Fycm93RnVuY0V4cHJOb2RlKCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KKyNlbmRpZgogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNDb21tYU5vZGUoKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNTaW1wbGVBcnJh
eSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0FkZCgp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CkBAIC0xNjQ1LDYgKzE2NDgsMTkgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgIEZ1bmN0aW9uQm9keU5vZGUqIG1fYm9keTsKICAgICB9OwogCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjbGFzcyBBcnJvd0Z1bmNFeHBy
Tm9kZSA6IHB1YmxpYyBGdW5jRXhwck5vZGUgeworICAgIHB1YmxpYzoKKyAgICAgICAgQXJyb3dG
dW5jRXhwck5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgSWRlbnRpZmllciYsIEZ1
bmN0aW9uQm9keU5vZGUqLCBjb25zdCBTb3VyY2VDb2RlJiwgUGFyYW1ldGVyTm9kZSogPSAwKTsK
KyAgICBwcml2YXRlOgorICAgICAgICB2aXJ0dWFsIFJlZ2lzdGVySUQqIGVtaXRCeXRlY29kZShC
eXRlY29kZUdlbmVyYXRvciYsIFJlZ2lzdGVySUQqID0gMCkgb3ZlcnJpZGU7CisgICAgICAgIAor
ICAgICAgICB2aXJ0dWFsIGJvb2wgaXNGdW5jRXhwck5vZGUoKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiBmYWxzZTsgfQorICAgICAgICAKKyAgICAgICAgdmlydHVhbCBib29sIGlzQXJyb3dGdW5j
RXhwck5vZGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CisgICAgfTsKKyNlbmRp
ZgorCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAgICAgY2xhc3MgQ2xhc3NFeHByTm9k
ZSBmaW5hbCA6IHB1YmxpYyBFeHByZXNzaW9uTm9kZSB7CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCmluZGV4IDE2ZTE0M2M1ZmE0OWEzMTY4Zjc3MTA2
MWZjYjI2MmQ5MjY3NmFhOGQuLmMxN2Y4MzhmYmRkOTNkODM0ODMzOGJlMTE0MmIyMWNhOTMwNDc4
ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKQEAgLTMwNSw3ICsz
MDUsNyBAQCBTdHJpbmcgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW5uZXIoKQogfQogCiB0ZW1w
bGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgotdm9pZCBQYXJzZXI8TGV4ZXJUeXBlPjo6ZGlkRmlu
aXNoUGFyc2luZyhTb3VyY2VFbGVtZW50cyogc291cmNlRWxlbWVudHMsIERlY2xhcmF0aW9uU3Rh
Y2tzOjpWYXJTdGFjayYgdmFyU3RhY2ssIAordm9pZCBQYXJzZXI8TGV4ZXJUeXBlPjo6ZGlkRmlu
aXNoUGFyc2luZyhTb3VyY2VFbGVtZW50cyogc291cmNlRWxlbWVudHMsIERlY2xhcmF0aW9uU3Rh
Y2tzOjpWYXJTdGFjayYgdmFyU3RhY2ssCiAgICAgRGVjbGFyYXRpb25TdGFja3M6OkZ1bmN0aW9u
U3RhY2smIGZ1bmNTdGFjaywgQ29kZUZlYXR1cmVzIGZlYXR1cmVzLCBpbnQgbnVtQ29uc3RhbnRz
LCBJZGVudGlmaWVyU2V0JiBjYXB0dXJlZFZhcnMsIGNvbnN0IFZlY3RvcjxSZWZQdHI8U3RyaW5n
SW1wbD4+JiYgY2xvc2VkVmFyaWFibGVzKQogewogICAgIG1fc291cmNlRWxlbWVudHMgPSBzb3Vy
Y2VFbGVtZW50czsKQEAgLTMyMyw4ICszMjMsMTMgQEAgYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6
YWxsb3dBdXRvbWF0aWNTZW1pY29sb24oKQogICAgIHJldHVybiBtYXRjaChDTE9TRUJSQUNFKSB8
fCBtYXRjaChFT0ZUT0spIHx8IG1fbGV4ZXItPnByZXZUZXJtaW5hdG9yKCk7CiB9CiAKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVy
VHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiBjb250ZXh0
LCBTb3VyY2VFbGVtZW50c01vZGUgbW9kZSwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25QYXJz
ZVR5cGUpCisjZWxzZQogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBTb3VyY2VFbGVtZW50c01v
ZGUgbW9kZSkKKyNlbmRpZgogewogICAgIGNvbnN0IHVuc2lnbmVkIGxlbmd0aE9mVXNlU3RyaWN0
TGl0ZXJhbCA9IDEyOyAvLyAidXNlIHN0cmljdCIubGVuZ3RoCiAgICAgVHJlZVNvdXJjZUVsZW1l
bnRzIHNvdXJjZUVsZW1lbnRzID0gY29udGV4dC5jcmVhdGVTb3VyY2VFbGVtZW50cygpOwpAQCAt
MzMzLDcgKzMzOCwxMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VF
bGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3VyY2VFbAogICAgIHVuc2lnbmVkIGRp
cmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwOwogICAgIGF1dG8gc2F2ZVBvaW50ID0gY3JlYXRlU2F2
ZVBvaW50KCk7CiAgICAgYm9vbCBoYXNTZXRTdHJpY3QgPSBmYWxzZTsKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHdoaWxlIChUcmVlU3RhdGVtZW50IHN0YXRlbWVu
dCA9IHBhcnNlU3RhdGVtZW50KGNvbnRleHQsIGRpcmVjdGl2ZSwgJmRpcmVjdGl2ZUxpdGVyYWxM
ZW5ndGgsIGZ1bmN0aW9uUGFyc2VUeXBlKSkgeworI2Vsc2UKICAgICB3aGlsZSAoVHJlZVN0YXRl
bWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVudChjb250ZXh0LCBkaXJlY3RpdmUsICZkaXJl
Y3RpdmVMaXRlcmFsTGVuZ3RoKSkgeworI2VuZGlmCiAgICAgICAgIGlmIChtb2RlID09IENoZWNr
Rm9yU3RyaWN0TW9kZSAmJiAhc2Vlbk5vbkRpcmVjdGl2ZSkgewogICAgICAgICAgICAgaWYgKGRp
cmVjdGl2ZSkgewogICAgICAgICAgICAgICAgIC8vICJ1c2Ugc3RyaWN0IiBtdXN0IGJlIHRoZSBl
eGFjdCBsaXRlcmFsIHdpdGhvdXQgZXNjYXBlIHNlcXVlbmNlcyBvciBsaW5lIGNvbnRpbnVhdGlv
bi4KQEAgLTQ1Miw3ICs0NjEsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVF
eHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVZhckRlY2xhcmF0aQogICAgIFRyZWVF
eHByZXNzaW9uIGhlYWQgPSAwOwogICAgIFRyZWVFeHByZXNzaW9uIHRhaWwgPSAwOwogICAgIGNv
bnN0IElkZW50aWZpZXIqIGxhc3RJZGVudDsKLSAgICBKU1Rva2VuIGxhc3RJZGVudFRva2VuOyAK
KyAgICBKU1Rva2VuIGxhc3RJZGVudFRva2VuOwogICAgIGRvIHsKICAgICAgICAgbGFzdElkZW50
ID0gMDsKICAgICAgICAgbGFzdFBhdHRlcm4gPSAwOwpAQCAtNTY1LDYgKzU3NCwzMiBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gUGFyc2Vy
PExleGVyVHlwZT46OmNyZWF0ZQogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUJpbmRpbmdMb2Nh
dGlvbih0b2tlbi5tX2xvY2F0aW9uLCBuYW1lLCB0b2tlbi5tX3N0YXJ0UG9zaXRpb24sIHRva2Vu
Lm1fZW5kUG9zaXRpb24pOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlv
blN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBBU1NFUlQobWF0Y2goQVJS
T1dGVU5DVElPTikpOworCisgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRp
b24oKSk7CisgICAgc2VtYW50aWNGYWlsSWZGYWxzZShjdXJyZW50U2NvcGUoKS0+aXNGdW5jdGlv
bigpLCAiUmV0dXJuIHN0YXRlbWVudHMgYXJlIG9ubHkgdmFsaWQgaW5zaWRlIGFycm93IGZ1bmN0
aW9ucyIpOworICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7
CisgICAgSlNUZXh0UG9zaXRpb24gZW5kID0gdG9rZW5FbmRQb3NpdGlvbigpOworCisgICAgbmV4
dCgpOworICAgIFRyZWVFeHByZXNzaW9uIGV4cHIgPSBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNz
aW9uKGNvbnRleHQpOworICAgIGZhaWxJZkZhbHNlKGV4cHIsICJDYW5ub3QgcGFyc2UgdGhlIGFy
cm93IGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsKKyAgICBlbmQgPSBsYXN0VG9rZW5FbmRQb3NpdGlv
bigpOworCisgICAgYm9vbCBjb3JyZWNBcnJvd0ZpbmlzaCA9IG1hdGNoKFNFTUlDT0xPTikgfHwg
bWF0Y2goQ09NTUEpIHx8IG1hdGNoKENMT1NFUEFSRU4pIHx8IG1hdGNoKENMT1NFQlJBQ0UpIHx8
IG1hdGNoKENMT1NFQlJBQ0tFVCkgfHwgbWF0Y2goRU9GVE9LKTsKKyAgICBmYWlsSWZGYWxzZShj
b3JyZWNBcnJvd0ZpbmlzaCwgIkV4cGVjdGVkIGEgJzsnLCAnXScsICd9JywgJyknLCBvciAnLCcg
Zm9sbG93aW5nIGEgYXJyb3cgZnVuY3Rpb24gc3RhdGVtZW50Iik7CisKKyAgICBlbmQgPSB0b2tl
bkVuZFBvc2l0aW9uKCk7CisgICAgc2V0RW5kT2ZTdGF0ZW1lbnQoKTsKKworICAgIHJldHVybiBj
b250ZXh0LmNyZWF0ZVJldHVyblN0YXRlbWVudChsb2NhdGlvbiwgZXhwciwgc3RhcnQsIGVuZCk7
Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBQYXJzZXI8TGV4ZXJU
eXBlPjo6dHJ5UGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm5FeHByZXNzaW9uKFRyZWVCdWlsZGVy
JiBjb250ZXh0KQogewpAQCAtMTEzOCw4ICsxMTczLDEzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VCbG9ja1N0YXRl
bWVuCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRl
bWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwg
dW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgsIEZ1bmN0aW9uUGFyc2VUeXBlIHR5cGUp
CisjZWxzZQogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1l
bnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVu
c2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoKQorI2VuZGlmCiB7CiAgICAgRGVwdGhNYW5h
Z2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKICAgICBtX3N0YXRlbWVudERl
cHRoKys7CkBAIC0xMTQ4LDYgKzExODgsMjcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmUKICAg
ICBmYWlsSWZTdGFja092ZXJmbG93KCk7CiAgICAgVHJlZVN0YXRlbWVudCByZXN1bHQgPSAwOwog
ICAgIGJvb2wgc2hvdWxkU2V0RW5kT2Zmc2V0ID0gdHJ1ZTsKKworI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisgICAgYm9vbCBoYW5kbGVkID0gZmFsc2U7CisgICAgaWYgKHR5
cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICBzd2l0Y2ggKG1fdG9rZW4u
bV90eXBlKSB7CisgICAgICAgIGNhc2UgQ0xPU0VQQVJFTjoKKyAgICAgICAgY2FzZSBDTE9TRUJS
QUNLRVQ6CisgICAgICAgIGNhc2UgQ09NTUE6CisgICAgICAgIGNhc2UgU0VNSUNPTE9OOiB7Cisg
ICAgICAgICAgICByZXN1bHQgPSAwOworICAgICAgICAgICAgaGFuZGxlZCA9IHRydWU7CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBpZiAoaGFuZGxlZCkKKyAgICAgICAgICAgIGdv
dG8gZW5kU3RhdGVtZW5ldDsKKyAgICB9CisjZW5kaWYKICAgICBzd2l0Y2ggKG1fdG9rZW4ubV90
eXBlKSB7CiAgICAgY2FzZSBPUEVOQlJBQ0U6CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlQmxvY2tT
dGF0ZW1lbnQoY29udGV4dCk7CkBAIC0xMTkzLDYgKzEyNTQsMTEgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRl
bWVudChUcmUKICAgICBjYXNlIEJSRUFLOgogICAgICAgICByZXN1bHQgPSBwYXJzZUJyZWFrU3Rh
dGVtZW50KGNvbnRleHQpOwogICAgICAgICBicmVhazsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIGNhc2UgQVJST1dGVU5DVElPTjoKKyAgICAgICAgcmVzdWx0ID0g
cGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KGNvbnRleHQpOworICAgICAgICBicmVhazsKKyNl
bmRpZgogICAgIGNhc2UgUkVUVVJOOgogICAgICAgICByZXN1bHQgPSBwYXJzZVJldHVyblN0YXRl
bWVudChjb250ZXh0KTsKICAgICAgICAgYnJlYWs7CkBAIC0xMjM0LDYgKzEzMDAsOCBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlU3RhdGVtZW50KFRyZQogICAgICAgICBicmVhazsKICAgICB9CiAKK2VuZFN0YXRlbWVu
ZXQ6CisKICAgICBpZiAocmVzdWx0ICYmIHNob3VsZFNldEVuZE9mZnNldCkKICAgICAgICAgY29u
dGV4dC5zZXRFbmRPZmZzZXQocmVzdWx0LCBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLm9mZnNldCk7
CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTEyNTQsNiArMTMyMiwyMyBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0IFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZUZvcgogICAgIHJldHVybiBsaXN0OwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGdW5jdGlvbkJvZHkgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlQXJyb3dGdW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImIGNvbnRleHQsIENvbnN0cnVjdG9yS2lu
ZCBjb25zdHJ1Y3RvcktpbmQpCit7CisgICAgSlNUb2tlbkxvY2F0aW9uIHN0YXJ0TG9jYXRpb24o
dG9rZW5Mb2NhdGlvbigpKTsKKyAgICB1bnNpZ25lZCBzdGFydENvbHVtbiA9IHRva2VuQ29sdW1u
KCk7CisKKyAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50RGVwdGgp
OworICAgIG1fc3RhdGVtZW50RGVwdGggPSAwOworICAgIHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpG
dW5jdGlvbkJvZHlCdWlsZGVyIGJvZHlCdWlsZGVyKGNvbnN0X2Nhc3Q8Vk0qPihtX3ZtKSwgbV9s
ZXhlci5nZXQoKSk7CisKKyAgICBmYWlsSWZGYWxzZShwYXJzZVNvdXJjZUVsZW1lbnRzKGJvZHlC
dWlsZGVyLCBDaGVja0ZvclN0cmljdE1vZGUsIEFycm93RnVuY3Rpb25QYXJzZVR5cGUpLCAiQ2Fu
bm90IHBhcnNlIGJvZHkgb2YgdGhpcyBhcnJvdyBmdW5jdGlvbiIpOworICAgIHVuc2lnbmVkIGVu
ZENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CisgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rp
b25Cb2R5KHN0YXJ0TG9jYXRpb24sIHRva2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1bW4sIGVuZENv
bHVtbiwgc3RyaWN0TW9kZSgpLCBjb25zdHJ1Y3RvcktpbmQpOworfQorI2VuZGlmCisKIHRlbXBs
YXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVGdW5jdGlvbkJvZHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25Cb2R5KFRyZWVC
dWlsZGVyJiBjb250ZXh0LCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kKQogewpAQCAt
MTQxMiw2ICsxNDk3LDE2MCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgIHJldHVybiB0
cnVlOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRl
IDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wg
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImIGNv
bnRleHQsIEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3Rv
cktpbmQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mIGluZm8pCit7CisgICAgQXV0
b1BvcFNjb3BlUmVmIGZ1bmN0aW9uU2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOworICAgIGZ1bmN0
aW9uU2NvcGUtPnNldElzRnVuY3Rpb24oKTsKKyAgICBpbnQgZnVuY3Rpb25OYW1lU3RhcnQgPSBt
X3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CisgICAgY29uc3QgSWRlbnRpZmllciogbGFz
dEZ1bmN0aW9uTmFtZSA9IG1fbGFzdEZ1bmN0aW9uTmFtZTsKKyAgICBtX2xhc3RGdW5jdGlvbk5h
bWUgPSBudWxscHRyOworCisgICAgaWYgKCFtYXRjaChJREVOVCkgJiYgIW1hdGNoKE9QRU5QQVJF
TikpIHsKKyAgICAgICAgc2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0
aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7CisgICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0
ZWQgYW4gYXJyb3cgZnVuY3Rpb24gaW5wdXQgcGFyYW1ldGVyIik7CisgICAgfSBlbHNlIHsKKyAg
ICAgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgICAgIGNvbnN1bWUoT1BFTlBB
UkVOKTsKKworICAgICAgICAgICAgaWYgKCFtYXRjaChDTE9TRVBBUkVOKSkgeworICAgICAgICAg
ICAgICAgIGluZm8ucGFyYW1ldGVycyA9IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhjb250ZXh0KTsK
KyAgICAgICAgICAgICAgICBmYWlsSWZGYWxzZShpbmZvLnBhcmFtZXRlcnMsICJDYW5ub3QgcGFy
c2UgcGFyYW1ldGVycyBmb3IgdGhpcyAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOwor
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICBjb25zdW1lT3JGYWlsKENMT1NFUEFSRU4sICJF
eHBlY3RlZCBhICcpJyBvciBhICcsJyBhZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOwor
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaW5mby5wYXJhbWV0ZXJzID0gcGFyc2VGb3Jt
YWxQYXJhbWV0ZXJzKGNvbnRleHQpOworICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5wYXJh
bWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVu
Y3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIG1hdGNoT3JGYWlsKEFS
Uk9XRlVOQ1RJT04sICJFeHBlY3RlZCBhICc9PicgYWZ0ZXIgYXJyb3cgZnVuY3Rpb24gcGFyYW1l
dGVyIGRlY2xhcmF0aW9uIik7CisKKyAgICBpbmZvLmFycm93RnVuY3Rpb25PZmZzZXQgPSBtX3Rv
a2VuLm1fZGF0YS5vZmZzZXQ7CisgICAgaW5mby5vcGVuQnJhY2VPZmZzZXQgPSBtX3Rva2VuLm1f
ZGF0YS5vZmZzZXQ7CisgICAgaW5mby5ib2R5U3RhcnRMaW5lID0gdG9rZW5MaW5lKCk7CisgICAg
aW5mby5ib2R5U3RhcnRDb2x1bW4gPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQgLSBtX3Rva2VuLm1f
ZGF0YS5saW5lU3RhcnRPZmZzZXQ7CisKKyAgICBKU1Rva2VuTG9jYXRpb24gc3RhcnRMb2NhdGlv
bih0b2tlbkxvY2F0aW9uKCkpOworCisgICAgLy8gSWYgd2Uga25vdyBhYm91dCB0aGlzIGZ1bmN0
aW9uIGFscmVhZHksIHdlIGNhbiB1c2UgdGhlIGNhY2hlZCBpbmZvIGFuZCBza2lwIHRoZSBwYXJz
ZXIgdG8gdGhlIGVuZCBvZiB0aGUgZnVuY3Rpb24uCisgICAgaWYgKGNvbnN0IFNvdXJjZVByb3Zp
ZGVyQ2FjaGVJdGVtKiBjYWNoZWRJbmZvID0gVHJlZUJ1aWxkZXI6OkNhblVzZUZ1bmN0aW9uQ2Fj
aGUgPyBmaW5kQ2FjaGVkRnVuY3Rpb25JbmZvKGluZm8ub3BlbkJyYWNlT2Zmc2V0KSA6IDApIHsK
KyAgICAgICAgLy8gSWYgd2UncmUgaW4gYSBzdHJpY3QgY29udGV4dCwgdGhlIGNhY2hlZCBmdW5j
dGlvbiBpbmZvIG11c3Qgc2F5IGl0IHdhcyBzdHJpY3QgdG9vLgorICAgICAgICBBU1NFUlQoIXN0
cmljdE1vZGUoKSB8fCBjYWNoZWRJbmZvLT5zdHJpY3RNb2RlKTsKKyAgICAgICAgSlNUb2tlbkxv
Y2F0aW9uIGVuZExvY2F0aW9uOworCisgICAgICAgIGVuZExvY2F0aW9uLmxpbmUgPSBjYWNoZWRJ
bmZvLT5jbG9zZUJyYWNlTGluZTsKKyAgICAgICAgZW5kTG9jYXRpb24uc3RhcnRPZmZzZXQgPSBj
YWNoZWRJbmZvLT5jbG9zZUJyYWNlT2Zmc2V0OworICAgICAgICBlbmRMb2NhdGlvbi5saW5lU3Rh
cnRPZmZzZXQgPSBjYWNoZWRJbmZvLT5jbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0OworCisgICAg
ICAgIGJvb2wgZW5kQ29sdW1uSXNPblN0YXJ0TGluZSA9IChlbmRMb2NhdGlvbi5saW5lID09IGlu
Zm8uYm9keVN0YXJ0TGluZSk7CisgICAgICAgIEFTU0VSVChlbmRMb2NhdGlvbi5zdGFydE9mZnNl
dCA+PSBlbmRMb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQpOworICAgICAgICB1bnNpZ25lZCBib2R5
RW5kQ29sdW1uID0gZW5kQ29sdW1uSXNPblN0YXJ0TGluZSA/CisgICAgICAgIGVuZExvY2F0aW9u
LnN0YXJ0T2Zmc2V0IC0gbV90b2tlbi5tX2RhdGEubGluZVN0YXJ0T2Zmc2V0IDoKKyAgICAgICAg
ZW5kTG9jYXRpb24uc3RhcnRPZmZzZXQgLSBlbmRMb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQ7Cisg
ICAgICAgIHVuc2lnbmVkIGN1cnJlbnRMaW5lU3RhcnRPZmZzZXQgPSBtX3Rva2VuLm1fbG9jYXRp
b24ubGluZVN0YXJ0T2Zmc2V0OworCisgICAgICAgIGluZm8uYm9keSA9IGNvbnRleHQuY3JlYXRl
RnVuY3Rpb25Cb2R5KHN0YXJ0TG9jYXRpb24sIGVuZExvY2F0aW9uLCBpbmZvLmJvZHlTdGFydENv
bHVtbiwgYm9keUVuZENvbHVtbiwgY2FjaGVkSW5mby0+c3RyaWN0TW9kZSwgY29uc3RydWN0b3JL
aW5kKTsKKworICAgICAgICBmdW5jdGlvblNjb3BlLT5yZXN0b3JlRnJvbVNvdXJjZVByb3ZpZGVy
Q2FjaGUoY2FjaGVkSW5mbyk7CisgICAgICAgIGZhaWxJZkZhbHNlKHBvcFNjb3BlKGZ1bmN0aW9u
U2NvcGUsIFRyZWVCdWlsZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUluZm8pLCAiUGFyc2VyIGVycm9y
Iik7CisKKyAgICAgICAgaW5mby5jbG9zZUJyYWNlT2Zmc2V0ID0gY2FjaGVkSW5mby0+Y2xvc2VC
cmFjZU9mZnNldDsKKyAgICAgICAgaW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUgPSBjYWNoZWRJ
bmZvLT5pc0JvZHlBcnJvd0Z1bmN0aW9uQmxvY2sgPyBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrIDog
QXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOworCisgICAgICAgIGNvbnRleHQuc2V0RnVuY3Rp
b25OYW1lU3RhcnQoaW5mby5ib2R5LCBmdW5jdGlvbk5hbWVTdGFydCk7CisKKyAgICAgICAgbV90
b2tlbiA9IGluZm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5Qmxv
Y2sgPyBjYWNoZWRJbmZvLT5jbG9zZUJyYWNlVG9rZW4oKSA6IGNhY2hlZEluZm8tPmVuZEFycm93
RnVuY3Rpb25Ub2tlbigpOworCisgICAgICAgIGlmIChlbmRDb2x1bW5Jc09uU3RhcnRMaW5lKQor
ICAgICAgICAgICAgbV90b2tlbi5tX2xvY2F0aW9uLmxpbmVTdGFydE9mZnNldCA9IGN1cnJlbnRM
aW5lU3RhcnRPZmZzZXQ7CisKKyAgICAgICAgbV9sZXhlci0+c2V0T2Zmc2V0KG1fdG9rZW4ubV9s
b2NhdGlvbi5lbmRPZmZzZXQsIG1fdG9rZW4ubV9sb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQpOwor
ICAgICAgICBtX2xleGVyLT5zZXRMaW5lTnVtYmVyKG1fdG9rZW4ubV9sb2NhdGlvbi5saW5lKTsK
KworICAgICAgICBjb250ZXh0LnNldEVuZE9mZnNldChpbmZvLmJvZHksIG1fbGV4ZXItPmN1cnJl
bnRPZmZzZXQoKSk7CisKKyAgICAgICAgaWYgKGluZm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBlID09
IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spCisgICAgICAgICAgICBuZXh0KCk7CisKKyAgICAgICAg
aW5mby5ib2R5RW5kTGluZSA9IG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZTsKKyAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgfQorICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IGxhc3RGdW5jdGlv
bk5hbWU7CisgICAgUGFyc2VyU3RhdGUgb2xkU3RhdGUgPSBzYXZlU3RhdGUoKTsKKworICAgIFNh
dmVQb2ludCBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICBuZXh0KCk7CisgICAg
Ly8gQ2hlY2sgaWYgYXJyb3cgYm9keSBzdGFydCB3aXRoIHsuIElmIGl0IHRydWUgaXQgbWVhbiB0
aGF0IGFycm93IGZ1bmN0aW9uIGlzIEZhdCBhcnJvdyBmdW5jdGlvbgorICAgIC8vIGFuZCB3ZSBu
ZWVkIHVzZSBjb21tb24gYXBwcm9hY2ggdG8gcGFyc2UgZnVuY3Rpb24gYm9keQorCisgICAgaW5m
by5hcnJvd0Z1bmN0aW9uQm9keVR5cGUgPSBtYXRjaChPUEVOQlJBQ0UpID8gQXJyb3dGdW5jdGlv
bkJvZHlCbG9jayA6IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbjsKKworICAgIGlmIChpbmZv
LmFycm93RnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrKSB7CisgICAg
ICAgIGluZm8ub3BlbkJyYWNlT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgICAg
ICBpbmZvLmJvZHlTdGFydExpbmUgPSB0b2tlbkxpbmUoKTsKKyAgICAgICAgaW5mby5ib2R5U3Rh
cnRDb2x1bW4gPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQgLSBtX3Rva2VuLm1fZGF0YS5saW5lU3Rh
cnRPZmZzZXQ7CisKKyAgICAgICAgaW5mby5ib2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4
dCwgY29uc3RydWN0b3JLaW5kKTsKKyAgICB9IGVsc2UgeworICAgICAgICByZXN0b3JlU2F2ZVBv
aW50KHNhdmVQb2ludCk7CisgICAgICAgIGluZm8uYm9keSA9IHBhcnNlQXJyb3dGdW5jdGlvbkJv
ZHkoY29udGV4dCwgY29uc3RydWN0b3JLaW5kKTsKKyAgICB9CisKKyAgICByZXN0b3JlU3RhdGUo
b2xkU3RhdGUpOworICAgIGZhaWxJZkZhbHNlKGluZm8uYm9keSwgIkNhbm5vdCBwYXJzZSB0aGUg
Ym9keSBvZiB0aGlzICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7CisgICAgY29udGV4
dC5zZXRFbmRPZmZzZXQoaW5mby5ib2R5LCBtX2xleGVyLT5jdXJyZW50T2Zmc2V0KCkpOworICAg
IGlmIChmdW5jdGlvblNjb3BlLT5zdHJpY3RNb2RlKCkgJiYgaW5mby5uYW1lKSB7CisgICAgICAg
IFJFTEVBU0VfQVNTRVJUKG1vZGUgPT0gRnVuY3Rpb25Nb2RlKTsKKyAgICAgICAgc2VtYW50aWNG
YWlsSWZUcnVlKG1fdm0tPnByb3BlcnR5TmFtZXMtPmFyZ3VtZW50cyA9PSAqaW5mby5uYW1lLCAi
JyIsIGluZm8ubmFtZS0+aW1wbCgpLCAiJyBpcyBub3QgYSB2YWxpZCBmdW5jdGlvbiBuYW1lIGlu
IHN0cmljdCBtb2RlIik7CisgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShtX3ZtLT5wcm9wZXJ0
eU5hbWVzLT5ldmFsID09ICppbmZvLm5hbWUsICInIiwgaW5mby5uYW1lLT5pbXBsKCksICInIGlz
IG5vdCBhIHZhbGlkIGZ1bmN0aW9uIG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsKKyAgICB9CisKKyAg
ICBpbmZvLmNsb3NlQnJhY2VPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CisKKyAgICB1
bnNpZ25lZCBjbG9zZUJyYWNlTGluZSA9IG1fdG9rZW4ubV9kYXRhLmxpbmU7CisgICAgdW5zaWdu
ZWQgY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLmxpbmVTdGFydE9m
ZnNldDsKKyAgICBib29sIGlzQm9keUFycm93RnVuY3Rpb25CbG9jayA9IGluZm8uYXJyb3dGdW5j
dGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2s7CisKKyAgICAvLyBDYWNoZSB0
aGUgdG9rZW5pemVyIHN0YXRlIGFuZCB0aGUgZnVuY3Rpb24gc2NvcGUgdGhlIGZpcnN0IHRpbWUg
dGhlIGZ1bmN0aW9uIGlzIHBhcnNlZC4KKyAgICAvLyBBbnkgZnV0dXJlIHJlcGFyc2luZyBjYW4g
dGhlbiBza2lwIHRoZSBmdW5jdGlvbi4KKyAgICBzdGF0aWMgY29uc3QgaW50IG1pbmltdW1GdW5j
dGlvbkxlbmd0aFRvQ2FjaGUgPSAxNjsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8U291cmNlUHJvdmlk
ZXJDYWNoZUl0ZW0+IG5ld0luZm87CisgICAgaW50IGZ1bmN0aW9uTGVuZ3RoID0gaW5mby5jbG9z
ZUJyYWNlT2Zmc2V0IC0gaW5mby5vcGVuQnJhY2VPZmZzZXQ7CisgICAgaWYgKFRyZWVCdWlsZGVy
OjpDYW5Vc2VGdW5jdGlvbkNhY2hlICYmIG1fZnVuY3Rpb25DYWNoZSAmJiBmdW5jdGlvbkxlbmd0
aCA+IG1pbmltdW1GdW5jdGlvbkxlbmd0aFRvQ2FjaGUpIHsKKyAgICAgICAgU291cmNlUHJvdmlk
ZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMgcGFyYW1ldGVyczsKKyAgICAgICAgcGFyYW1l
dGVycy5mdW5jdGlvbk5hbWVTdGFydCA9IGZ1bmN0aW9uTmFtZVN0YXJ0OworICAgICAgICBwYXJh
bWV0ZXJzLmNsb3NlQnJhY2VMaW5lID0gY2xvc2VCcmFjZUxpbmU7CisgICAgICAgIHBhcmFtZXRl
cnMuY2xvc2VCcmFjZU9mZnNldCA9IGluZm8uY2xvc2VCcmFjZU9mZnNldDsKKyAgICAgICAgcGFy
YW1ldGVycy5jbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0ID0gY2xvc2VCcmFjZUxpbmVTdGFydE9m
ZnNldDsKKyAgICAgICAgcGFyYW1ldGVycy5pc0JvZHlBcnJvd0Z1bmN0aW9uQmxvY2sgPSBpc0Jv
ZHlBcnJvd0Z1bmN0aW9uQmxvY2s7CisgICAgICAgIHBhcmFtZXRlcnMudG9rZW5UeXBlID0gbV90
b2tlbi5tX3R5cGU7CisKKyAgICAgICAgZnVuY3Rpb25TY29wZS0+ZmlsbFBhcmFtZXRlcnNGb3JT
b3VyY2VQcm92aWRlckNhY2hlKHBhcmFtZXRlcnMpOworICAgICAgICBuZXdJbmZvID0gU291cmNl
UHJvdmlkZXJDYWNoZUl0ZW06OmNyZWF0ZShwYXJhbWV0ZXJzKTsKKyAgICB9CisgICAgY29udGV4
dC5zZXRGdW5jdGlvbk5hbWVTdGFydChpbmZvLmJvZHksIGZ1bmN0aW9uTmFtZVN0YXJ0KTsKKwor
ICAgIGZhaWxJZkZhbHNlKHBvcFNjb3BlKGZ1bmN0aW9uU2NvcGUsIFRyZWVCdWlsZGVyOjpOZWVk
c0ZyZWVWYXJpYWJsZUluZm8pLCAiUGFyc2VyIGVycm9yIik7CisKKyAgICBpZiAoaW5mby5hcnJv
d0Z1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jaykgeworICAgICAgICBt
YXRjaE9yRmFpbChDTE9TRUJSQUNFLCAiRXhwZWN0ZWQgYSBjbG9zaW5nICd9JyBhZnRlciBhICIs
IHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7CisgICAgICAgIG5leHQoKTsK
KyAgICB9IGVsc2UgeworICAgICAgICBib29sIGlzRW5kT2ZBcnJvd0Z1bmN0aW9uID0gbWF0Y2go
U0VNSUNPTE9OKSB8fCBtYXRjaChDT01NQSkgfHwgbWF0Y2goQ0xPU0VQQVJFTikgfHwgbWF0Y2go
Q0xPU0VCUkFDRSkgfHwgbWF0Y2goQ0xPU0VCUkFDS0VUKTsKKyAgICAgICAgZmFpbElmRmFsc2Uo
aXNFbmRPZkFycm93RnVuY3Rpb24sICJFeHBlY3RlZCB0aGUgY2xvc2luZyAnOycgJywnICddJyAn
KScgJ30nIGFmdGVyIGFycm93IGZ1bmN0aW9uIik7CisgICAgfQorCisgICAgaWYgKG5ld0luZm8p
CisgICAgICAgIG1fZnVuY3Rpb25DYWNoZS0+YWRkKGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBXVEY6
Om1vdmUobmV3SW5mbykpOworCisgICAgaW5mby5ib2R5RW5kTGluZSA9IG1fbGFzdFRva2VuRW5k
UG9zaXRpb24ubGluZTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8
dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3Rh
dGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb24oVHJlZUJ1
aWxkZXImIGNvbnRleHQpCiB7CkBAIC0xNzI1LDYgKzE5NjQsMTggQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlmU3Rh
dGVtZW50KFQKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVJZlN0YXRlbWVudChpZkxvY2F0aW9u
LCBjb25kaXRpb24sIHRydWVCbG9jaywgc3RhdGVtZW50U3RhY2subGFzdCgpLCBzdGFydCwgZW5k
KTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8
dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhw
cmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihU
cmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7CisgICAg
VHJlZUV4cHJlc3Npb24gbm9kZSA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24oY29udGV4dCk7
CisgICAgZmFpbElmRmFsc2Uobm9kZSwgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9uIik7CisgICAg
Y29udGV4dC5zZXRFbmRPZmZzZXQobm9kZSwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5vZmZzZXQp
OworICAgIHJldHVybiBub2RlOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhl
clR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7CkBA
IC0xNzcyLDYgKzIwMjMsNDMgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBUcmVl
RXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KICAgICAgICAgfQog
ICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CiAgICAgfQorCisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rp
b25Qb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgIGJvb2wgYXJyb3dGdW5jdGlvbkVtcHR5
TGlzdCA9IGZhbHNlOworICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgIG5leHQo
KTsKKyAgICAgICAgaWYgKG1hdGNoKENMT1NFUEFSRU4pKSB7CisgICAgICAgICAgICBuZXh0KCk7
CisKKyAgICAgICAgICAgIGlmIChtYXRjaChBUlJPV0ZVTkNUSU9OKSkKKyAgICAgICAgICAgICAg
ICBhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0ID0gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIGlm
ICghYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCkKKyAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQo
c2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAgfQorI2VuZGlmCisKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFRyZWVFeHByZXNzaW9uIGxoczsKKyAgICBpZiAo
IWFycm93RnVuY3Rpb25FbXB0eUxpc3QpIHsKKyAgICAgICAgbGhzID0gcGFyc2VDb25kaXRpb25h
bEV4cHJlc3Npb24oY29udGV4dCk7CisgICAgICAgIGZhaWxJZkZhbHNlKGxocywgIkNhbhlub3Qg
cGFyc2UgZXhwcmVzc2lvbiIpOworICAgICAgICBpZiAoaW5pdGlhbE5vbkxIU0NvdW50ICE9IG1f
bm9uTEhTQ291bnQpIHsKKyAgICAgICAgICAgIGlmIChtX3Rva2VuLm1fdHlwZSA+PSBFUVVBTCAm
JiBtX3Rva2VuLm1fdHlwZSA8PSBPUkVRVUFMKQorICAgICAgICAgICAgICAgIHNlbWFudGljRmFp
bCgiTGVmdCBoYW5kIHNpZGUgb2Ygb3BlcmF0b3IgJyIsIGdldFRva2VuKCksICInIG11c3QgYmUg
YSByZWZlcmVuY2UiKTsKKworICAgICAgICAgICAgcmV0dXJuIGxoczsKKyAgICAgICAgfQorICAg
IH0KKworICAgIGlmIChtYXRjaChBUlJPV0ZVTkNUSU9OKSkgeworICAgICAgICByZXN0b3JlU2F2
ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICBsaHMgPSBwYXJzZUFycm93
RnVuY3Rpb25XcmFwcGVyKGNvbnRleHQpOworICAgICAgICByZXR1cm4gbGhzOworICAgIH0KKyNl
bHNlCiAgICAgVHJlZUV4cHJlc3Npb24gbGhzID0gcGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24o
Y29udGV4dCk7CiAgICAgZmFpbElmRmFsc2UobGhzLCAiQ2Fubm90IHBhcnNlIGV4cHJlc3Npb24i
KTsKICAgICBpZiAoaW5pdGlhbE5vbkxIU0NvdW50ICE9IG1fbm9uTEhTQ291bnQpIHsKQEAgLTE3
ODAsNyArMjA2OCw4IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBUcmVlQnVpbGRlcj4gVHJlZUV4cHJl
c3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXNzaWdubWVuCiAKICAgICAgICAgcmV0dXJu
IGxoczsKICAgICB9Ci0gICAgCisjZW5kaWYKKwogICAgIGludCBhc3NpZ25tZW50U3RhY2sgPSAw
OwogICAgIE9wZXJhdG9yIG9wOwogICAgIGJvb2wgaGFkQXNzaWdubWVudCA9IGZhbHNlOwpAQCAt
MjI1Miw2ICsyNTQxLDIzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJl
c3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAgICAgIHJldHVy
biBjb250ZXh0LnRoaXNFeHByKGxvY2F0aW9uKTsKICAgICB9CiAgICAgY2FzZSBJREVOVDogewor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIFNhdmVQb2ludCBz
YXZlQXJyb3dGdW5jdGlvblBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgICAgIEpTVGV4
dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgICAgIGNvbnN0IElk
ZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CisgICAgICAgIEpTVG9rZW5M
b2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgICAgICBuZXh0KCk7CisKKyAg
ICAgICAgaWYgKCFtYXRjaChBUlJPV0ZVTkNUSU9OKSkgeworICAgICAgICAgICAgY3VycmVudFNj
b3BlKCktPnVzZVZhcmlhYmxlKGlkZW50LCBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09ICpp
ZGVudCk7CisgICAgICAgICAgICBtX2xhc3RJZGVudGlmaWVyID0gaWRlbnQ7CisgICAgICAgICAg
ICByZXR1cm4gY29udGV4dC5jcmVhdGVSZXNvbHZlKGxvY2F0aW9uLCBpZGVudCwgc3RhcnQpOwor
ICAgICAgICB9CisKKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBv
aW50KTsKKyAgICAgICAgVHJlZUV4cHJlc3Npb24gbGhzID0gcGFyc2VBcnJvd0Z1bmN0aW9uV3Jh
cHBlcihjb250ZXh0KTsKKyAgICAgICAgcmV0dXJuIGxoczsKKyNlbHNlCiAgICAgICAgIEpTVGV4
dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CiAgICAgICAgIGNvbnN0IElk
ZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgIEpTVG9rZW5M
b2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwpAQCAtMjI1OSw2ICsyNTY1LDcgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAgY3VycmVudFNjb3BlKCktPnVzZVZhcmlh
YmxlKGlkZW50LCBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09ICppZGVudCk7CiAgICAgICAg
IG1fbGFzdElkZW50aWZpZXIgPSBpZGVudDsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRl
UmVzb2x2ZShsb2NhdGlvbiwgaWRlbnQsIHN0YXJ0KTsKKyNlbmRpZgogICAgIH0KICAgICBjYXNl
IFNUUklORzogewogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9k
YXRhLmlkZW50OwpAQCAtMjQ0NSw2ICsyNzUyLDMyIEBAIGVuZE1lbWJlckV4cHJlc3Npb246CiAg
ICAgcmV0dXJuIGJhc2U7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlv
bldyYXBwZXIoVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAgVHJlZUV4cHJlc3Npb24gYmFz
ZSA9IDA7CisgICAgSlNUZXh0UG9zaXRpb24gZXhwcmVzc2lvblN0YXJ0ID0gdG9rZW5TdGFydFBv
c2l0aW9uKCk7CisgICAgaW50IG5ld0NvdW50ID0gMDsKKyAgICBKU1Rva2VuTG9jYXRpb24gbG9j
YXRpb247CisKKyAgICBpZiAobWF0Y2goSURFTlQpIHx8IG1hdGNoKE9QRU5QQVJFTikpIHsKKyAg
ICAgICAgdW5zaWduZWQgZnVuY3Rpb25LZXl3b3JkU3RhcnQgPSB0b2tlblN0YXJ0KCk7CisgICAg
ICAgIGxvY2F0aW9uID0gdG9rZW5Mb2NhdGlvbigpOworICAgICAgICBQYXJzZXJGdW5jdGlvbklu
Zm88VHJlZUJ1aWxkZXI+IGluZm87CisgICAgICAgIGluZm8ubmFtZSA9ICZtX3ZtLT5wcm9wZXJ0
eU5hbWVzLT5udWxsSWRlbnRpZmllcjsKKyAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlQXJyb3dG
dW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Nb2RlLCBDb25zdHJ1Y3RvcktpbmQ6OkJhc2Us
IGluZm8pKSwgIkNhbm5vdCBwYXJzZSBmdW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgICAgIGJh
c2UgPSBjb250ZXh0LmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKGxvY2F0aW9uLCBpbmZvLCBmdW5j
dGlvbktleXdvcmRTdGFydCk7CisgICAgfSBlbHNlCisgICAgICAgIGJhc2UgPSBwYXJzZVByaW1h
cnlFeHByZXNzaW9uKGNvbnRleHQpOworCisgICAgZmFpbElmRmFsc2UoYmFzZSwgIkNhbm5vdCBw
YXJzZSBiYXNlIGV4cHJlc3Npb24iKTsKKyAgICB3aGlsZSAobmV3Q291bnQtLSkKKyAgICAgICAg
YmFzZSA9IGNvbnRleHQuY3JlYXRlTmV3RXhwcihsb2NhdGlvbiwgYmFzZSwgZXhwcmVzc2lvblN0
YXJ0LCBsYXN0VG9rZW5FbmRQb3NpdGlvbigpKTsKKyAgICByZXR1cm4gYmFzZTsKK30KKyNlbmRp
ZgorCiBzdGF0aWMgY29uc3QgY2hhciogb3BlcmF0b3JTdHJpbmcoYm9vbCBwcmVmaXgsIHVuc2ln
bmVkIHRvaykKIHsKICAgICBzd2l0Y2ggKHRvaykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyLmgKaW5kZXggYTFjYjI5NTAxMjNhZWYzZjg1MDk4ZGFhNTU3Nzk1YTllY2ZlZmQ1Zi4u
OTBiMjIzNGJlYjA5ZTkzZTNlYTQzZTkzMzU4OGNiZWE4YmE5NzI4NyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC04MCw2ICs4MCw5IEBAIGNsYXNzIFNvdXJjZUNvZGU7
CiBDT01QSUxFX0FTU0VSVChMYXN0VW50YWdnZWRUb2tlbiA8IDY0LCBMZXNzVGhhbjY0VW50YWdn
ZWRUb2tlbnMpOwogCiBlbnVtIFNvdXJjZUVsZW1lbnRzTW9kZSB7IENoZWNrRm9yU3RyaWN0TW9k
ZSwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSB9OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCitlbnVtIEZ1bmN0aW9uUGFyc2VUeXBlIHsgU3RhbmRhcmRGdW5jdGlvblBhcnNl
VHlwZSwgQXJyb3dGdW5jdGlvblBhcnNlVHlwZSB9OworI2VuZGlmCiBlbnVtIEZ1bmN0aW9uUmVx
dWlyZW1lbnRzIHsgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgRnVuY3Rpb25OZWVkc05hbWUgfTsK
IGVudW0gRnVuY3Rpb25QYXJzZU1vZGUgewogICAgIEZ1bmN0aW9uTW9kZSwKQEAgLTU0MCw4ICs1
NDMsOCBAQCBwcml2YXRlOgogICAgIH0KICAgICAKICAgICBTY29wZVN0YWNrIG1fc2NvcGVTdGFj
azsKLSAgICAKLSAgICBjb25zdCBTb3VyY2VQcm92aWRlckNhY2hlSXRlbSogZmluZENhY2hlZEZ1
bmN0aW9uSW5mbyhpbnQgb3BlbkJyYWNlUG9zKSAKKworICAgIGNvbnN0IFNvdXJjZVByb3ZpZGVy
Q2FjaGVJdGVtKiBmaW5kQ2FjaGVkRnVuY3Rpb25JbmZvKGludCBvcGVuQnJhY2VQb3MpCiAgICAg
ewogICAgICAgICByZXR1cm4gbV9mdW5jdGlvbkNhY2hlID8gbV9mdW5jdGlvbkNhY2hlLT5nZXQo
b3BlbkJyYWNlUG9zKSA6IDA7CiAgICAgfQpAQCAtNTQ5LDcgKzU1Miw3IEBAIHByaXZhdGU6CiAg
ICAgUGFyc2VyKCk7CiAgICAgU3RyaW5nIHBhcnNlSW5uZXIoKTsKIAotICAgIHZvaWQgZGlkRmlu
aXNoUGFyc2luZyhTb3VyY2VFbGVtZW50cyosIERlY2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayYs
IAorICAgIHZvaWQgZGlkRmluaXNoUGFyc2luZyhTb3VyY2VFbGVtZW50cyosIERlY2xhcmF0aW9u
U3RhY2tzOjpWYXJTdGFjayYsCiAgICAgICAgIERlY2xhcmF0aW9uU3RhY2tzOjpGdW5jdGlvblN0
YWNrJiwgQ29kZUZlYXR1cmVzLCBpbnQsIElkZW50aWZpZXJTZXQmLCBjb25zdCBWZWN0b3I8UmVm
UHRyPFN0cmluZ0ltcGw+PiYmKTsKIAogICAgIC8vIFVzZWQgdG8gZGV0ZXJtaW5lIHR5cGUgb2Yg
ZXJyb3IgdG8gcmVwb3J0LgpAQCAtNzA4LDkgKzcxMSwxNCBAQCBwcml2YXRlOgogICAgICAgICB9
CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIAorCisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVTb3VyY2VFbGVtZW50cyBwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNl
RWxlbWVudHNNb2RlLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSA9IFN0YW5k
YXJkRnVuY3Rpb25QYXJzZVR5cGUpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVN0YXRlbWVudCBwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYsIGNvbnN0IElkZW50aWZp
ZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMCwgRnVu
Y3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25QYXJzZVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VU
eXBlKTsKKyNlbHNlCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNl
RWxlbWVudHMgcGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYsIFNvdXJjZUVsZW1lbnRz
TW9kZSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBh
cnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwg
dW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwKTsKKyNlbmRpZgogI2lmIEVOQUJM
RShFUzZfQ0xBU1NfU1lOVEFYKQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZVN0YXRlbWVudCBwYXJzZUNsYXNzRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImKTsKICNlbmRpZgpA
QCAtNzU1LDYgKzc2MywxNCBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VWYXJEZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXIm
LCBpbnQmIGRlY2xhcmF0aW9ucywgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiYgbGFzdFBhdHRl
cm4sIFRyZWVFeHByZXNzaW9uJiBsYXN0SW5pdGlhbGl6ZXIsIEpTVGV4dFBvc2l0aW9uJiBpZGVu
dFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdEVu
ZCwgVmFyRGVjbGFyYXRpb25MaXN0Q29udGV4dCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZUNvbnN0RGVjbExpc3QgcGFyc2VDb25zdERlY2xhcmF0
aW9uTGlzdChUcmVlQnVpbGRlciYpOwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBh
cnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVt
ZW50KFRyZWVCdWlsZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
RXhwcmVzc2lvbiBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKFRyZWVCdWlsZGVyJik7CisgICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgYm9vbCBwYXJzZUFycm93
RnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25QYXJzZU1vZGUsIENvbnN0cnVjdG9y
S2luZCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYpOworICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRnVuY3Rpb25Cb2R5IHBhcnNlQXJy
b3dGdW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImLCBDb25zdHJ1Y3RvcktpbmQpOworI2VuZGlmCisK
ICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25z
dHJ1Y3Rpb25QYXR0ZXJuIGNyZWF0ZUJpbmRpbmdQYXR0ZXJuKFRyZWVCdWlsZGVyJiwgRGVjb25z
dHJ1Y3Rpb25LaW5kLCBjb25zdCBJZGVudGlmaWVyJiwgaW50IGRlcHRoLCBKU1Rva2VuKTsKICAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1
Y3Rpb25QYXR0ZXJuIHBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuKFRyZWVCdWlsZGVyJiwgRGVj
b25zdHJ1Y3Rpb25LaW5kLCBpbnQgZGVwdGggPSAwKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIHRyeVBhcnNl
RGVjb25zdHJ1Y3Rpb25QYXR0ZXJuRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOwpAQCAtNzc1LDcg
Kzc5MSwxNCBAQCBwcml2YXRlOgogICAgICAgICB9CiAgICAgICAgIHJldHVybiBhbGxvd0F1dG9t
YXRpY1NlbWljb2xvbigpOwogICAgIH0KLSAgICAKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgdm9pZCBzZXRFbmRPZlN0YXRlbWVudCgpCisgICAgeworICAgICAg
ICBtX2xleGVyLT5zZXRUb2tlblBvc2l0aW9uKCZtX3Rva2VuKTsKKyAgICB9CisjZW5kaWYKKwog
ICAgIGJvb2wgY2FuUmVjdXJzZSgpCiAgICAgewogICAgICAgICByZXR1cm4gbV92bS0+aXNTYWZl
VG9SZWN1cnNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlckZ1bmN0aW9uSW5mby5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJG
dW5jdGlvbkluZm8uaAppbmRleCBlMjA4MjQ1NDFhMzA2MTZkZjViOWUyYjE2NzdkYTA3OWU5YmU3
N2E1Li40YTYzNjEwZmY5ODMyMTcwMTg4MWY4MmM2YmU0NjQxYTM5Yzc1YWVjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKQEAgLTI4
LDYgKzI4LDEwIEBACiAKIG5hbWVzcGFjZSBKU0MgewogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKK2VudW0gQXJyb3dGdW5jdGlvbkJvZHlUeXBlIHsgQXJyb3dGdW5jdGlv
bkJvZHlFeHByZXNzaW9uLCBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrfTsKKyNlbmRpZgorCiB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+CiBzdHJ1Y3QgUGFyc2VyRnVuY3Rpb25JbmZvIHsKICAg
ICBjb25zdCBJZGVudGlmaWVyKiBuYW1lID0gMDsKQEAgLTM4LDYgKzQyLDExIEBAIHN0cnVjdCBQ
YXJzZXJGdW5jdGlvbkluZm8gewogICAgIGludCBib2R5U3RhcnRMaW5lID0gMDsKICAgICBpbnQg
Ym9keUVuZExpbmUgPSAwOwogICAgIHVuc2lnbmVkIGJvZHlTdGFydENvbHVtbiA9IDA7CisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB1bnNpZ25lZCBhcnJvd0Z1bmN0
aW9uT2Zmc2V0ID0gMDsKKyAgICBib29sIGlzQXJyb3dGdW5jdGlvbiA9IGZhbHNlOworICAgIEFy
cm93RnVuY3Rpb25Cb2R5VHlwZSBhcnJvd0Z1bmN0aW9uQm9keVR5cGUgPSBBcnJvd0Z1bmN0aW9u
Qm9keUV4cHJlc3Npb247CisjZW5kaWYKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1BhcnNlclRva2Vucy5oCmluZGV4IDNmZjI3OTg2NmFmNmUyODY5MGJjMDdjNWY3MjFi
YzdhMzgwNTZlYTIuLjRjNjNkYzEyMDAwNzQyMWU5MTNjMTM5NGQzYTkxOGE5YWEyYjBiZTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaApAQCAtNzUsNiAr
NzUsOSBAQCBlbnVtIEpTVG9rZW5UeXBlIHsKICAgICBGSU5BTExZLAogICAgIERFQlVHR0VSLAog
ICAgIEVMU0UsCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBBUlJP
V0ZVTkNUSU9OLAorI2VuZGlmCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAgICAgQ0xB
U1NUT0tFTiwKICAgICBFWFRFTkRTLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9Tb3VyY2VDb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJj
ZUNvZGUuaAppbmRleCA3M2QyM2RiODJhZjI1ZWE0NmMwZjg5Nzg1Y2U0MjRiYjYwZWI2MWE3Li45
MjhlNzEyYTkwZTM0ODk4OGJjMzU1NDg5ODc1YjA5MDc3Njc1NTIzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaApAQCAtMTA1LDYgKzEwNSw5IEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgICAgICAKICAgICAgICAgU291cmNlQ29kZSBzdWJFeHByZXNzaW9uKHVuc2ln
bmVkIG9wZW5CcmFjZSwgdW5zaWduZWQgY2xvc2VCcmFjZSwgaW50IGZpcnN0TGluZSwgaW50IHN0
YXJ0Q29sdW1uKTsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAg
ICAgIFNvdXJjZUNvZGUgc3ViQXJyb3dFeHByZXNzaW9uKHVuc2lnbmVkIHN0YXJ0QXJyb3dGdW5j
dGlvbiwgdW5zaWduZWQgZW5kQXJyb3dGdW5jdGlvbiwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0
Q29sdW1uKTsKKyNlbmRpZgogICAgIHByaXZhdGU6CiAgICAgICAgIFJlZlB0cjxTb3VyY2VQcm92
aWRlcj4gbV9wcm92aWRlcjsKICAgICAgICAgaW50IG1fc3RhcnRDaGFyOwpAQCAtMTE4LDYgKzEy
MSwxNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgcmV0dXJuIFNvdXJjZUNvZGUoU3RyaW5n
U291cmNlUHJvdmlkZXI6OmNyZWF0ZShzb3VyY2UsIHVybCwgc3RhcnRQb3NpdGlvbiksIHN0YXJ0
UG9zaXRpb24ubV9saW5lLm9uZUJhc2VkSW50KCksIHN0YXJ0UG9zaXRpb24ubV9jb2x1bW4ub25l
QmFzZWRJbnQoKSk7CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICBpbmxpbmUgU291cmNlQ29kZSBTb3VyY2VDb2RlOjpzdWJBcnJvd0V4cHJlc3Npb24o
dW5zaWduZWQgc3RhcnRBcnJvd0Z1bmN0aW9uLCB1bnNpZ25lZCBlbmRBcnJvd0Z1bmN0aW9uLCBp
bnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pCisgICAgeworICAgICAgICBBU1NFUlQocHJv
dmlkZXIoKS0+c291cmNlKClbc3RhcnRBcnJvd0Z1bmN0aW9uXSA9PSAnPScgJiYgcHJvdmlkZXIo
KS0+c291cmNlKClbc3RhcnRBcnJvd0Z1bmN0aW9uICsgMV0gPT0gJz4nKTsKKyAgICAgICAgLy8g
Rml4bWU6IFVzZSBiZXR0ZXIgYXBwcm9hY2ggdG8gY2hlY2sgc3ltYm9sCisgICAgICAgIEFTU0VS
VChwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJywnIHx8IHBy
b3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnOycgfHwgcHJvdmlk
ZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICcpJyB8fCBwcm92aWRlcigp
LT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJ10nIHx8IHByb3ZpZGVyKCktPnNv
dXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnfScpOworICAgICAgICBzdGFydENvbHVt
biArPSAxOyAvLyBDb252ZXJ0IHRvIGJhc2UgMS4KKyAgICAgICAgcmV0dXJuIFNvdXJjZUNvZGUo
cHJvdmlkZXIoKSwgc3RhcnRBcnJvd0Z1bmN0aW9uLCBlbmRBcnJvd0Z1bmN0aW9uIC0gMSwgZmly
c3RMaW5lLCBzdGFydENvbHVtbik7CisgICAgfQorI2VuZGlmCisKICAgICBpbmxpbmUgU291cmNl
Q29kZSBTb3VyY2VDb2RlOjpzdWJFeHByZXNzaW9uKHVuc2lnbmVkIG9wZW5CcmFjZSwgdW5zaWdu
ZWQgY2xvc2VCcmFjZSwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKQogICAgIHsKICAg
ICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW29wZW5CcmFjZV0gPT0gJ3snKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNo
ZUl0ZW0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNo
ZUl0ZW0uaAppbmRleCA2MzUzNzllM2Y0NDU2NjhjNTJiODcyZjc2MTZkY2I1OTIxYTgyOTQ0Li44
NTA3N2E0NjBjNjM2YzI2M2RhZDA5NzUyN2NiN2E4ZWNiZDBiNDY4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCkBA
IC00MCw2ICs0MCwxMCBAQCBzdHJ1Y3QgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBh
cmFtZXRlcnMgewogICAgIGJvb2wgbmVlZHNGdWxsQWN0aXZhdGlvbjsKICAgICBib29sIHVzZXNF
dmFsOwogICAgIGJvb2wgc3RyaWN0TW9kZTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgIGJvb2wgaXNCb2R5QXJyb3dGdW5jdGlvbkJsb2NrOworICAgIEpTVG9rZW5U
eXBlIHRva2VuVHlwZTsKKyNlbmRpZgogICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+IHVz
ZWRWYXJpYWJsZXM7CiAgICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4gd3JpdHRlblZhcmlh
YmxlczsKIH07CkBAIC02OSw5ICs3MywyNCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiB0b2tl
bjsKICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEpT
VG9rZW4gZW5kQXJyb3dGdW5jdGlvblRva2VuKCkgY29uc3QKKyAgICB7CisgICAgICAgIEpTVG9r
ZW4gdG9rZW47CisgICAgICAgIHRva2VuLm1fdHlwZSA9IHRva2VuVHlwZTsKKyAgICAgICAgdG9r
ZW4ubV9kYXRhLm9mZnNldCA9IGNsb3NlQnJhY2VPZmZzZXQ7CisgICAgICAgIHRva2VuLm1fbG9j
YXRpb24uc3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNlT2Zmc2V0OworICAgICAgICB0b2tlbi5tX2xv
Y2F0aW9uLmVuZE9mZnNldCA9IGNsb3NlQnJhY2VPZmZzZXQgKyAxOworICAgICAgICB0b2tlbi5t
X2xvY2F0aW9uLmxpbmUgPSBjbG9zZUJyYWNlTGluZTsKKyAgICAgICAgdG9rZW4ubV9sb2NhdGlv
bi5saW5lU3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0OworCisgICAgICAg
IHJldHVybiB0b2tlbjsKKyAgICB9CisjZW5kaWYKKwogICAgIHVuc2lnbmVkIGZ1bmN0aW9uTmFt
ZVN0YXJ0IDogMzE7CiAgICAgYm9vbCBuZWVkc0Z1bGxBY3RpdmF0aW9uIDogMTsKLSAgICAKKwog
ICAgIHVuc2lnbmVkIGNsb3NlQnJhY2VMaW5lIDogMzE7CiAgICAgYm9vbCB1c2VzRXZhbCA6IDE7
CiAKQEAgLTgyLDYgKzEwMSwxMSBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgdXNlZFZhcmlhYmxl
c0NvdW50OwogICAgIHVuc2lnbmVkIHdyaXR0ZW5WYXJpYWJsZXNDb3VudDsKIAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgYm9vbCBpc0JvZHlBcnJvd0Z1bmN0aW9u
QmxvY2s7CisgICAgSlNUb2tlblR5cGUgdG9rZW5UeXBlOworI2VuZGlmCisKICAgICBTdHJpbmdJ
bXBsKiogdXNlZFZhcmlhYmxlcygpIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8U3RyaW5nSW1w
bCoqPihtX3ZhcmlhYmxlcyk7IH0KICAgICBTdHJpbmdJbXBsKiogd3JpdHRlblZhcmlhYmxlcygp
IGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8U3RyaW5nSW1wbCoqPigmbV92YXJpYWJsZXNbdXNl
ZFZhcmlhYmxlc0NvdW50XSk7IH0KIApAQCAtMTE1LDYgKzEzOSwxMCBAQCBpbmxpbmUgU291cmNl
UHJvdmlkZXJDYWNoZUl0ZW06OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKGNvbnN0IFNvdXJjZVBy
b3ZpZGVyQ2FjaAogICAgICwgY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldChwYXJhbWV0ZXJzLmNs
b3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQpCiAgICAgLCB1c2VkVmFyaWFibGVzQ291bnQocGFyYW1l
dGVycy51c2VkVmFyaWFibGVzLnNpemUoKSkKICAgICAsIHdyaXR0ZW5WYXJpYWJsZXNDb3VudChw
YXJhbWV0ZXJzLndyaXR0ZW5WYXJpYWJsZXMuc2l6ZSgpKQorI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgLCBpc0JvZHlBcnJvd0Z1bmN0aW9uQmxvY2socGFyYW1ldGVy
cy5pc0JvZHlBcnJvd0Z1bmN0aW9uQmxvY2spCisgICAgLCB0b2tlblR5cGUocGFyYW1ldGVycy50
b2tlblR5cGUpCisjZW5kaWYKIHsKICAgICB1bnNpZ25lZCBqID0gMDsKICAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgdXNlZFZhcmlhYmxlc0NvdW50OyArK2ksICsraikgewpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaAppbmRleCBhYTM4ZTMyZGIxNjZh
NDIwMDFjYTIzMjY4MDg3MzhlZDIwMGI4YjVhLi45OTg1NTQ4MGEwYzQ5ZWU2YjMyM2NhMTkyZjlm
YzlhMzVmY2M1MGVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5
bnRheENoZWNrZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENo
ZWNrZXIuaApAQCAtMTY5LDYgKzE2OSw5IEBAIHB1YmxpYzoKICAgICBDbGFzc0V4cHJlc3Npb24g
Y3JlYXRlQ2xhc3NFeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IElkZW50aWZpZXIm
LCBFeHByZXNzaW9uVHlwZSwgRXhwcmVzc2lvblR5cGUsIFByb3BlcnR5TGlzdCwgUHJvcGVydHlM
aXN0KSB7IHJldHVybiBDbGFzc0V4cHI7IH0KICNlbmRpZgogICAgIEV4cHJlc3Npb25UeXBlIGNy
ZWF0ZUZ1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5j
dGlvbkluZm88U3ludGF4Q2hlY2tlcj4mLCBpbnQpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgRXhwcmVzc2lvblR5cGUg
Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFy
c2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JiwgaW50KSB7IHJldHVybiBGdW5jdGlvbkV4
cHI7IH0KKyNlbmRpZiAgICAKICAgICBpbnQgY3JlYXRlRnVuY3Rpb25Cb2R5KGNvbnN0IEpTVG9r
ZW5Mb2NhdGlvbiYsIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGludCwgaW50LCBib29sLCBDb25z
dHJ1Y3RvcktpbmQpIHsgcmV0dXJuIEZ1bmN0aW9uQm9keVJlc3VsdDsgfQogICAgIHZvaWQgc2V0
RnVuY3Rpb25OYW1lU3RhcnQoaW50LCBpbnQpIHsgfQogICAgIGludCBjcmVhdGVBcmd1bWVudHMo
KSB7IHJldHVybiBBcmd1bWVudHNSZXN1bHQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0NvZGVDYWNoZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Db2RlQ2FjaGUuY3BwCmluZGV4IDUwNTIzMTEyMmRiYWU2OWIyZjBiODBmYTJhZmIyNDEx
MzRiN2EyNDkuLjVkNjVhOGZhZjhjZGRlY2Q3OTY4NWJhY2Y1ZjNlYzAyMTI0YWJmZTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvZGVDYWNoZS5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29kZUNhY2hlLmNwcApAQCAtMTU0LDcgKzE1
NCwxMSBAQCBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSogQ29kZUNhY2hlOjpnZXRGdW5jdGlv
bkV4ZWN1dGFibGVGcm9tR2xvYmFsQ29kZShWTSYgdgogICAgIFJFTEVBU0VfQVNTRVJUKGV4cHJT
dGF0ZW1lbnQtPmlzRXhwclN0YXRlbWVudCgpKTsKICAgICBFeHByZXNzaW9uTm9kZSogZnVuY0V4
cHIgPSBzdGF0aWNfY2FzdDxFeHByU3RhdGVtZW50Tm9kZSo+KGV4cHJTdGF0ZW1lbnQpLT5leHBy
KCk7CiAgICAgUkVMRUFTRV9BU1NFUlQoZnVuY0V4cHIpOworI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgUkVMRUFTRV9BU1NFUlQoZnVuY0V4cHItPmlzRnVuY0V4cHJO
b2RlKCkgfHwgZnVuY0V4cHItPmlzQXJyb3dGdW5jRXhwck5vZGUoKSk7CisjZWxzZSAKICAgICBS
RUxFQVNFX0FTU0VSVChmdW5jRXhwci0+aXNGdW5jRXhwck5vZGUoKSk7CisjZW5kaWYKICAgICBG
dW5jdGlvbkJvZHlOb2RlKiBib2R5ID0gc3RhdGljX2Nhc3Q8RnVuY0V4cHJOb2RlKj4oZnVuY0V4
cHIpLT5ib2R5KCk7CiAgICAgUkVMRUFTRV9BU1NFUlQoIXByb2dyYW0tPmhhc0NhcHR1cmVkVmFy
aWFibGVzKCkpOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNBcnJvd0Z1bmN0aW9uLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QXJyb3dGdW5jdGlvbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWQwNWRkMmJkZjg2MWVhMjgyMDRjMDU3YjU0
YmFhM2Y0OTFlYjEwMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKworI2luY2x1ZGUgIkVycm9yLmgiCisjaW5jbHVk
ZSAiRXhjZXB0aW9uSGVscGVycy5oIgorI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKKyNpbmNsdWRl
ICJKU0NKU1ZhbHVlLmgiCisjaW5jbHVkZSAiSlNGdW5jdGlvbklubGluZXMuaCIKKyNpbmNsdWRl
ICJKU09iamVjdC5oIgorI2luY2x1ZGUgIlByb3BlcnR5U2xvdC5oIgorI2luY2x1ZGUgIlZNLmgi
CisKK25hbWVzcGFjZSBKU0MgeworICAgIAorY29uc3QgQ2xhc3NJbmZvIEpTQXJyb3dGdW5jdGlv
bjo6c19pbmZvID0geyAiQXJyb3dGdW5jdGlvbiIsICZCYXNlOjpzX2luZm8sIDAsIENSRUFURV9N
RVRIT0RfVEFCTEUoSlNBcnJvd0Z1bmN0aW9uKSB9OworCit2b2lkIEpTQXJyb3dGdW5jdGlvbjo6
ZGVzdHJveShKU0NlbGwqIGNlbGwpCit7CisgICAgc3RhdGljX2Nhc3Q8SlNBcnJvd0Z1bmN0aW9u
Kj4oY2VsbCktPkpTQXJyb3dGdW5jdGlvbjo6fkpTQXJyb3dGdW5jdGlvbigpOworfQorCitKU0Fy
cm93RnVuY3Rpb246OkpTQXJyb3dGdW5jdGlvbihWTSYgdm0sIEpTU2NvcGUqIHNjb3BlLCBGdW5j
dGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIFN0cnVjdHVyZSogc3RydWN0dXJlKQorICAgIDog
QmFzZSh2bSwgZXhlY3V0YWJsZSwgc2NvcGUsIHN0cnVjdHVyZSkKK3sKK30KKyAgICAKK3ZvaWQg
SlNBcnJvd0Z1bmN0aW9uOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCit7CisgICAgQmFzZTo6Zmlu
aXNoQ3JlYXRpb24odm0pOworLy8gUHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9uIGlzIHVuZGVm
aW5lZAorICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBqc1Vu
ZGVmaW5lZCgpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51bSk7Cit9CisgICAgCit2
b2lkIEpTQXJyb3dGdW5jdGlvbjo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNp
dG9yJiB2aXNpdG9yKQoreworICAgIEpTQXJyb3dGdW5jdGlvbiogdGhpc09iamVjdCA9IGpzQ2Fz
dDxKU0Fycm93RnVuY3Rpb24qPihjZWxsKTsKKyAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRT
KHRoaXNPYmplY3QsIGluZm8oKSk7CisgICAgQmFzZTo6dmlzaXRDaGlsZHJlbih0aGlzT2JqZWN0
LCB2aXNpdG9yKTsKK30KKyAgICAKK0NvbnN0cnVjdFR5cGUgSlNBcnJvd0Z1bmN0aW9uOjpnZXRD
b25zdHJ1Y3REYXRhKEpTQ2VsbCogY2VsbCwgQ29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0YSkK
K3sKKyAgICBKU0Z1bmN0aW9uKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTRnVuY3Rpb24qPihjZWxs
KTsKKyAgICAgICAgCisgICAgY29uc3RydWN0RGF0YS5qcy5mdW5jdGlvbkV4ZWN1dGFibGUgPSB0
aGlzT2JqZWN0LT5qc0V4ZWN1dGFibGUoKTsKKyAgICBjb25zdHJ1Y3REYXRhLmpzLnNjb3BlID0g
dGhpc09iamVjdC0+c2NvcGUoKTsKKyAgICByZXR1cm4gQ29uc3RydWN0VHlwZU5vbmU7Cit9Cit9
IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXJyb3dGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNB
cnJvd0Z1bmN0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2U1ODVlZDFlY2QxMjJjNGQzYjljZGYyMTQxNjcx
NzYxMTM3ZmViNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXJyb3dGdW5jdGlvbi5oCkBAIC0wLDAgKzEsNzAgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEpTQXJyb3dGdW5jdGlvbl9oCisj
ZGVmaW5lIEpTQXJyb3dGdW5jdGlvbl9oCisKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCisKK25h
bWVzcGFjZSBKU0MgeworCitjbGFzcyBKU0Fycm93RnVuY3Rpb24gOiBwdWJsaWMgSlNGdW5jdGlv
biB7CitwdWJsaWM6CisgICAgdHlwZWRlZiBKU0Z1bmN0aW9uIEJhc2U7CisgICAgICAgIAorICAg
IHN0YXRpYyBKU0Fycm93RnVuY3Rpb24qIGNyZWF0ZShWTSYgdm0sIEpTU2NvcGUqIHNjb3BlLCBG
dW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QpCisgICAgeworICAgICAgICBKU0Fycm93RnVuY3Rpb24qIGZ1bmN0aW9uID0gbmV3IChOb3RO
dWxsLCBhbGxvY2F0ZUNlbGw8SlNBcnJvd0Z1bmN0aW9uPih2bS5oZWFwKSkgSlNBcnJvd0Z1bmN0
aW9uKHZtLCBzY29wZSwgZXhlY3V0YWJsZSwgZ2xvYmFsT2JqZWN0LT5hcnJvd0Z1bmN0aW9uU3Ry
dWN0dXJlKCkpOworICAgICAgICBBU1NFUlQoZnVuY3Rpb24tPnN0cnVjdHVyZSgpLT5nbG9iYWxP
YmplY3QoKSk7CisgICAgICAgIGZ1bmN0aW9uLT5maW5pc2hDcmVhdGlvbih2bSk7CisgICAgICAg
IHJldHVybiBmdW5jdGlvbjsKKyAgICB9CisgICAgCisgICAgc3RhdGljIHZvaWQgZGVzdHJveShK
U0NlbGwqKTsKKyAgICAgICAgCisgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJl
KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUp
CisgICAgeworICAgICAgICBBU1NFUlQoZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgcmV0dXJuIFN0
cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oSlNG
dW5jdGlvblR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKKyAgICB9CisgICAgICAgIAor
ICAgIHN0YXRpYyBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3Ry
dWN0RGF0YSYpOworICAgICAgICAKKyAgICBERUNMQVJFX0lORk87CisKK3Byb3RlY3RlZDoKKyAg
ICBjb25zdCBzdGF0aWMgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNIYXNJbnN0
YW5jZSB8IEJhc2U6OlN0cnVjdHVyZUZsYWdzOworICAgICAgICAKKyAgICBzdGF0aWMgdm9pZCB2
aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CisgICAgICAgIAorcHJpdmF0ZToK
KyAgICBKU0Fycm93RnVuY3Rpb24oVk0mLCBKU1Njb3BlKiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwg
U3RydWN0dXJlKik7CisKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7Cit9OworICAgIAor
fSAvLyBuYW1lc3BhY2UgSlNDCisKKyNlbmRpZiAvLyBKU0Fycm93RnVuY3Rpb25faApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCmluZGV4IGJlMGJkYzc4NDJmOTcz
M2M3NmIwNjQ0M2JkYTM2NjE0MThlYTU5OTcuLjYwNjBiZTdiZjM1OWIwMDE1ZjMzMmI3MDcwNzMz
YzQ2NTYzNzA4NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
RnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9u
LmgKQEAgLTEzMSw2ICsxMzEsOSBAQCBwcm90ZWN0ZWQ6CiAKICAgICBKU19FWFBPUlRfUFJJVkFU
RSBKU0Z1bmN0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKICAgICBKU0Z1
bmN0aW9uKFZNJiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgSlNTY29wZSopOworI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgSlNGdW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhl
Y3V0YWJsZSosIEpTU2NvcGUqLCBTdHJ1Y3R1cmUqKTsKKyNlbmRpZgogCiAgICAgdm9pZCBmaW5p
c2hDcmVhdGlvbihWTSYsIE5hdGl2ZUV4ZWN1dGFibGUqLCBpbnQgbGVuZ3RoLCBjb25zdCBTdHJp
bmcmIG5hbWUpOwogICAgIHVzaW5nIEJhc2U6OmZpbmlzaENyZWF0aW9uOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgKaW5kZXggYTVkZTkx
N2MxN2U0ODRkY2FhNjU1MDVhZjcxMTc4NzU0Mjk1ZTI0Zi4uN2RiODA0MDZlNzFkYjJiN2JiNjM1
NDU4MjM1NmI1ZTFmNWM4MmI3MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oCkBAIC0zOCw2ICszOCwxNSBAQCBpbmxpbmUgSlNGdW5j
dGlvbjo6SlNGdW5jdGlvbihWTSYgdm0sIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwg
SlNTY29wZSogcwogewogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
K2lubGluZSBKU0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKFZNJiB2bSwgRnVuY3Rpb25FeGVjdXRhYmxl
KiBleGVjdXRhYmxlLCBKU1Njb3BlKiBzY29wZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCisgICAg
OiBCYXNlKHZtLCBzY29wZSwgc3RydWN0dXJlKQorICAgICwgbV9leGVjdXRhYmxlKHZtLCB0aGlz
LCBleGVjdXRhYmxlKQorICAgICwgbV9hbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnQoQ2xlYXJX
YXRjaHBvaW50KQoreworfQorI2VuZGlmCisgICAgCiBpbmxpbmUgRnVuY3Rpb25FeGVjdXRhYmxl
KiBKU0Z1bmN0aW9uOjpqc0V4ZWN1dGFibGUoKSBjb25zdAogewogICAgIEFTU0VSVCghaXNIb3N0
RnVuY3Rpb25Ob25JbmxpbmUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggN2EwYjc1OTQyOWE5N2M0MTU1MTRmMzhlMzg5OGRj
ZjhjYjY4OGEzNi4uNTY1NDZhNmRlOGU3NzE3MGYyOTVkZWM0NjFkNzk0NDc4Y2NmMzcyNSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApA
QCAtNjEsNiArNjEsOSBAQAogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXJQcm90b3R5cGUuaCIKICNp
bmNsdWRlICJKU0FycmF5SXRlcmF0b3IuaCIKICNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIK
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorI2luY2x1ZGUgIkpTQXJyb3dG
dW5jdGlvbi5oIgorI2VuZGlmCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpT
Q2FsbGJhY2tDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIkpTQ2FsbGJhY2tGdW5jdGlvbi5oIgpA
QCAtMjMxLDYgKzIzNCw5IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OmluaXQoVk0mIHZtKQogICAg
IGV4ZWMtPnNldENhbGxlZShtX2dsb2JhbENhbGxlZS5nZXQoKSk7CiAKICAgICBtX2Z1bmN0aW9u
U3RydWN0dXJlLnNldCh2bSwgdGhpcywgSlNGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0
aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICBtX2Fycm93RnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlz
LCBKU0Fycm93RnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblBy
b3RvdHlwZS5nZXQoKSkpOworI2VuZGlmCiAgICAgbV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlLnNl
dCh2bSwgdGhpcywgSlNCb3VuZEZ1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1f
ZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKICAgICBtX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUu
c2V0KHZtLCB0aGlzLCBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdGlvbih2bSwgbV9mdW5j
dGlvblN0cnVjdHVyZS5nZXQoKSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgRG9udERlbGV0ZSB8
IFJlYWRPbmx5IHwgRG9udEVudW0sIG1fZnVuY3Rpb25OYW1lT2Zmc2V0KSk7CiAgICAgbV9pbnRl
cm5hbEZ1bmN0aW9uU3RydWN0dXJlLnNldCh2bSwgdGhpcywgSW50ZXJuYWxGdW5jdGlvbjo6Y3Jl
YXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7CkBAIC03
MDksNiArNzE1LDkgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6dmlzaXRDaGlsZHJlbihKU0NlbGwq
IGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2Jq
ZWN0LT5tX2NhbGxlZVN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3Qt
Pm1fZnVuY3Rpb25TdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5t
X2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYXJyb3dGdW5jdGlvblN0
cnVjdHVyZSk7CisjZW5kaWYKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9uYW1l
ZEZ1bmN0aW9uU3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9z
eW1ib2xPYmplY3RTdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5t
X3JlZ0V4cE1hdGNoZXNBcnJheVN0cnVjdHVyZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCA5MDM1NDZiMDc0YTFjMTI3YzdlOTlhYjQx
OWQ3NzJmODMxZWIyMWM1Li44MmM1OWQ5ZTkxMjhmNDU1NjMyZjRhNzUxYjQ4ODg0NmRmOTA3Njgx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVj
dC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgK
QEAgLTIyMiw2ICsyMjIsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVy
ZT4gbV9jYWxsZWVTdHJ1Y3R1cmU7CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9mdW5j
dGlvblN0cnVjdHVyZTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2JvdW5kRnVuY3Rp
b25TdHJ1Y3R1cmU7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBX
cml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2Fycm93RnVuY3Rpb25TdHJ1Y3R1cmU7CisjZW5kaWYK
ICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmU7CiAg
ICAgUHJvcGVydHlPZmZzZXQgbV9mdW5jdGlvbk5hbWVPZmZzZXQ7CiAgICAgV3JpdGVCYXJyaWVy
PFN0cnVjdHVyZT4gbV9wcml2YXRlTmFtZVN0cnVjdHVyZTsKQEAgLTQ1MSw2ICs0NTQsOSBAQCBw
dWJsaWM6CiAgICAgU3RydWN0dXJlKiBjYWxsZWVTdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBt
X2NhbGxlZVN0cnVjdHVyZS5nZXQoKTsgfQogICAgIFN0cnVjdHVyZSogZnVuY3Rpb25TdHJ1Y3R1
cmUoKSBjb25zdCB7IHJldHVybiBtX2Z1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CiAgICAgU3Ry
dWN0dXJlKiBib3VuZEZ1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9ib3VuZEZ1
bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICBTdHJ1Y3R1cmUqIGFycm93RnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJl
dHVybiBtX2Fycm93RnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KKyNlbmRpZgogICAgIFN0cnVj
dHVyZSogbmFtZWRGdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZWRGdW5j
dGlvblN0cnVjdHVyZS5nZXQoKTsgfQogICAgIFByb3BlcnR5T2Zmc2V0IGZ1bmN0aW9uTmFtZU9m
ZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fZnVuY3Rpb25OYW1lT2Zmc2V0OyB9CiAgICAgU3RydWN0
dXJlKiBudW1iZXJPYmplY3RTdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX251bWJlck9iamVj
dFN0cnVjdHVyZS5nZXQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rl
c3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWV4Y2VwdGlvbi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1leGNlcHRpb24uanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjdiZGNmYWRmNjIwNDU3NGY3ODhlYjFlY2UzZDNmMmUwMWIzZDU2NgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1leGNl
cHRpb24uanMKQEAgLTAsMCArMSwxMSBAQAordmFyIHJlc3VsdDsKKworIHZhciB0ZXN0Q2FzZSA9
IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09
IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0
ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordGVzdENhc2Uo
dHlwZW9mICgpID0+IHt9LCAiZnVuY3Rpb24iLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHR5cGUgb2Yg
dGhlIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKE9iamVjdC5nZXRQcm90b3R5cGVPZigo
KSA9PiB7fSksIEZ1bmN0aW9uLnByb3RvdHlwZSwgIkVycm9yOiBOb3QgY29ycmVjdCBnZXRQcm90
b3R5cGVPZiB2YWx1ZSBmb3IgYXJyb3cgZnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi10aGlzYmluZC5qcyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi10aGlzYmluZC5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44NDM4YzQ5ZDI4NzcyNTdmMzJmNDk3MmFlN2E3YmMzODc1M2I2MmU2Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJv
d2Z1bmN0aW9uLXRoaXNiaW5kLmpzCkBAIC0wLDAgKzEsMTEgQEAKK3ZhciByZXN1bHQ7CisKKyB2
YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBp
ZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3Rl
ZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307
CisKKy8vdGVzdENhc2UodHlwZW9mICgpID0+IHt9LCAiZnVuY3Rpb24iLCAiRXJyb3I6IE5vdCBj
b3JyZWN0IHR5cGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uIik7CisKKy8vdGVzdENhc2UoT2JqZWN0
LmdldFByb3RvdHlwZU9mKCgpID0+IHt9KSwgRnVuY3Rpb24ucHJvdG90eXBlLCAiRXJyb3I6IE5v
dCBjb3JyZWN0IGdldFByb3RvdHlwZU9mIHZhbHVlIGZvciBhcnJvdyBmdW5jdGlvbiIpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmI2MWY5NGU1NzViZDAwNjRlMmE1MGQ3MjAzYjY4ODQ4N2I1ZDRiOTIKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93
ZnVuY3Rpb24uanMKQEAgLTAsMCArMSwxNTAgQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVzdENh
c2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFs
ICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4
cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBh
cnJvd0Z1bmN0aW9uMCA9IHYgPT4gdiArIDE7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMCgxMCk7
Cit0ZXN0Q2FzZShyZXN1bHQsIDExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0
aGUgYXJyb3cgZnVuY3Rpb246IHYgPT4gdiArIDEiKTsKKwordmFyIGFycm93RnVuY3Rpb24xID0g
KHYpID0+IHYgKiAyOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjEoMTApOwordGVzdENhc2UocmVz
dWx0LCAyMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0
aW9uOiAodikgPT4gdiArIDEiKTsKKwordmFyIGFycm93RnVuY3Rpb24yID0gKCkgPT4gMTAwMDsK
K3Jlc3VsdCA9IGFycm93RnVuY3Rpb24yKDEyMTIpOwordGVzdENhc2UocmVzdWx0LCAxMDAwICwi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICgpID0+
IDEwMDAiKTsKKwordmFyIHRtcFZhcmlhbHZlMl8xID0gMTUxOwordmFyIGFycm93RnVuY3Rpb24y
XzEgPSAoKSA9PiB0bXBWYXJpYWx2ZTJfMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24yXzEoMTIx
KTsKK3Rlc3RDYXNlKHJlc3VsdCwgdG1wVmFyaWFsdmUyXzEgLCJFcnJvcjogTm90IGNvcnJlY3Qg
ZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKCkgPT4gdmFyaWFibGUiKTsKKwordmFy
IGFycm93RnVuY3Rpb24zID0gKHYsIHgpID0+IHYgKyB4OworcmVzdWx0ID0gYXJyb3dGdW5jdGlv
bjMoMTEsMTIpOwordGVzdENhc2UocmVzdWx0LCAyMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVj
dXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAoeCwgeSkgPT4geCArIHkiKTsKKwordmFyIGFy
cm93RnVuY3Rpb25XcmFwcGVyID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRlcikgeyByZXR1cm4gY2wo
cGFyYW10ZXIpOyB9OworCityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEyMzQp
OwordGVzdENhc2UocmVzdWx0LCAxMjM0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjKSIpOworCisgcmVzdWx0
ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMjM0LCAyMzQ1KTsKK3Rlc3RDYXNlKHJlc3Vs
dCwgMTIzNCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0
aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYywgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rp
b25XcmFwcGVyKHggPT4gMTIxICsgMjMyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzUzICwiRXJyb3I6
IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6
IGYoeCA9PiBjMSArIGMyKSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9
PiAxMjMgKyAzMjEsIDk5OTkpOwordGVzdENhc2UocmVzdWx0LCA0NDQgLCJFcnJvcjogTm90IGNv
cnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+
IGMxICsgYzIsIHkpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IHgg
KyAxMiwgMjEpOwordGVzdENhc2UocmVzdWx0LCAzMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVj
dXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4geCArIGMxLCB5
KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKHgpID0+IHggKyAyMSwgMzIp
OwordGVzdENhc2UocmVzdWx0LCA1MywgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCh4KSA9PiBjMSArIGMyLCB5KSIpOwor
CisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwKTsKK3Rlc3RDYXNlKHJl
c3VsdCwgMTAwLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYykiKTsKKworIHZhciBleHRfdmFsdWUgPSAxMjE7
CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiBleHRfdmFsdWUpOwordGVzdENh
c2UocmVzdWx0LCAxMjEsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiB2KSIpOworCisgcmVzdWx0ID0gYXJyb3dG
dW5jdGlvbldyYXBwZXIoKCkgPT4gZXh0X3ZhbHVlICogMTApOwordGVzdENhc2UocmVzdWx0LCAx
MjEwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24g
YXMgcGFyYW10ZXI6IGYoKCkgPT4gdip4KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldy
YXBwZXIoKHgpID0+IGV4dF92YWx1ZSAqIHgsIDMwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzAqZXh0
X3ZhbHVlICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gYXMgcGFyYW10ZXI6IGYoKHgpID0+IHYqeCwgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVu
Y3Rpb25XcmFwcGVyKCgpID0+IDEwMCwgMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDAgLCJFcnJv
cjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRl
cjogZigoKSA9PiBjMSwgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgp
ID0+IDEwMCArIDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEwICwiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYzEg
KyBjMikiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCArIDEx
LCAxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDExMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMxICsgYzIsIHkp
Iik7CisKKyB2YXIgYXJyb3dGdW5jdGlvbjQgPSB2ID0+IHYgKyAxLCB4eXoxID0gMTAxMDE7City
ZXN1bHQgPSBhcnJvd0Z1bmN0aW9uNCgxMDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAxMiAsIkVy
cm9yOiBOb3QgY29ycmVjdCBwYXJzaW5nIG9mIHRoIGFycm93IGZ1bmN0aW9uIGluc2lkZSBvZiB0
aGUgbGlzdCBvZiB2YXJzOiB2YXIgYWYgPSB2PT4gdiArIDE7IHp4Yz1jOyIpOwordGVzdENhc2Uo
eHl6MSwgMTAxMDEgLCJFcnJvcjogTm90IGNvcnJlY3QgcGFyc2luZyBvZiB0aCBhcnJvdyBmdW5j
dGlvbiBpbnNpZGUgb2YgdGhlIGxpc3Qgb2YgdmFyczogdmFyIGFmID0gdj0+IHYgKyAxOyB6eGM9
YzsiKTsKKworIHZhciBhcnJvd0Z1bmN0aW9uV3JhcHBlcjIgPSBmdW5jdGlvbiAoY2wsIHBhcmFt
dGVyMSwgcGFyYW10ZXIyKSB7IHJldHVybiBjbChwYXJhbXRlcjEsIHBhcmFtdGVyMik7IH07City
ZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcjIoKHgsIHkpID0+IHggKyB5LCAxMiAsNDMpOwor
dGVzdENhc2UocmVzdWx0LCA1NSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhl
IGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtZXRlcjogZigoeCwgeSkgPT4geCArIHksIGMxLCBjMiki
KTsKKworIHZhciBhcnJvd0Z1bmN0aW9BcnJheTAgPSBbdiA9PiB2ICogMTBdOworcmVzdWx0ID0g
YXJyb3dGdW5jdGlvQXJyYXkwWzBdKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwICwiRXJyb3I6
IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBh
cnJheTogW3Y9PnYqMTBdIik7CisKKyB2YXIgYXJyb3dGdW5jdGlvQXJyYXkxID0gW3YgPT4gdiAr
IDEsIHYgPT4gdiArIDJdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkxWzBdKDEwKTsKK3Rl
c3RDYXNlKHJlc3VsdCwgMTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbdiA9PiB2ICsgMSwgIHYgPT4gdiArIDJd
Iik7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTFbMV0oMTEpOwordGVzdENhc2UocmVzdWx0
LCAxMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9u
IGFzIGl0ZW0gaW4gYXJyYXk6IFt2ID0+IHYgKyAxLCAgdiA9PiB2ICsgMl0iKTsKKworIHZhciBh
cnJvd0Z1bmN0aW9BcnJheTIgPSBbKHYpID0+IHYgKyAxLCAodikgPT4gdiArIDJdOworcmVzdWx0
ID0gYXJyb3dGdW5jdGlvQXJyYXkyWzBdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIgLCJFcnJv
cjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGlu
IGFycmF5OiBbKHYpID0+IHYgKyAxLCAgKHYpID0+IHYgKyAyXSIpOworcmVzdWx0ID0gYXJyb3dG
dW5jdGlvQXJyYXkyWzFdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTMgLCJFcnJvcjogTm90IGNv
cnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBb
KHYpID0+IHYgKyAxLCAgKHYpID0+IHYgKyAyXSIpOworCisgdmFyIGFycm93RnVuY3Rpb0FycmF5
MyA9IFsoKSA9PiAxMDEsICgpID0+IDEyMzIzXTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5
M1swXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMSwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVj
dXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsoKSA9PiBjMSwg
ICgpID0+IGMyXSIpOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkzWzFdKDExKTsKK3Rlc3RD
YXNlKHJlc3VsdCwgMTIzMjMsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKCkgPT4gYzEsICAoKSA9PiBjMl0iKTsK
KworIHZhciBhcnJvd0Z1bmN0aW9uT2JqID0ge2Z1bmMgOiB5ID0+IHkgKyAxMiB9OworcmVzdWx0
ID0gYXJyb3dGdW5jdGlvbk9iai5mdW5jKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjMgLCJFcnJv
cjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwcm9wZXJ0
eToge2Z1bmMgOiB5ID0+IHkgKyAxMiB9Iik7CisKKyB2YXIgYXJyb3dGYXRGdW5jdGlvbjAgPSAo
KSA9PiB7IHJldHVybiAxMDAwOyB9OworcmVzdWx0ID0gYXJyb3dGYXRGdW5jdGlvbjAoMTEpOwor
dGVzdENhc2UocmVzdWx0LCAxMDAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0
aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiAoKSA9PiB7IHJldHVybiAxMDAw
OyB9Iik7CisKK3ZhciBhcnJvd0ZhdEZ1bmN0aW9uMSA9IHYgPT4geyB2YXIgaW50dmFsID0gMTAw
OyByZXR1cm4gdiAqIGludHZhbDsgfTsKK3Jlc3VsdCA9IGFycm93RmF0RnVuY3Rpb24xKDExKTsK
K3Rlc3RDYXNlKHJlc3VsdCwgMTEwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogeCA9PiB7IHZhciB2PTEwMDA7
IHJldHVybiB2Kng7IH0iKTsKKwordmFyIGFycm93RmF0RnVuY3Rpb24yID0gKHYpID0+IHsgdmFy
IGludCA9IDIwMDsgcmV0dXJuIHYgKiBpbnQ7IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0aW9u
MigxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIyMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICh4KSA9PiB7IHZh
ciB2PTEwMDA7IHJldHVybiB2Kng7IH0iKTsKKwordmFyIGFycm93RmF0RnVuY3Rpb24zID0gKHYs
IHgpID0+IHsgdmFyIHJlc3VsdCA9IHggKiB2OyByZXR1cm4gcmVzdWx0OyB9OworcmVzdWx0ID0g
YXJyb3dGYXRGdW5jdGlvbjMoMTEsIDEyMjIyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTM0NDQyICwi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBi
b2R5IGFzIGJsb2NrOiAodiwgeCkgPT4geyB2YXIgcmVzdWx0ID0geCAqIHY7IHJldHVybiByZXN1
bHQ7IH0iKTsKKworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeD0+e3JldHVybiB4ICog
MjU7fSwgMTIxKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjUqMTIxICwiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiBmKHgg
PT4ge3JldHVybiB4ICogMjU7fSwgMTIxKSIpOworCityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3Jh
cHBlcjIoKHgsIHkpPT57cmV0dXJuIHggKiB5O30sIDE0LCAxMik7Cit0ZXN0Q2FzZShyZXN1bHQs
IDE0KjEyICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gd2l0aCBib2R5IGFzIGJsb2NrOiBmKCh4LCB5KT0+e3JldHVybiB4ICogeTt9LCAxNCwgMTIx
KSkiKTsKKwordmFyIHNpbXBsZUFycm93RnVuY3Rpb24gPSAoKSA9PiB7fTsKKwordGVzdENhc2Uo
dHlwZW9mIHNpbXBsZUFycm93RnVuY3Rpb24sICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNvcnJl
Y3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2UoT2JqZWN0LmdldFBy
b3RvdHlwZU9mKHNpbXBsZUFycm93RnVuY3Rpb24pLCBGdW5jdGlvbi5wcm90b3R5cGUsICJFcnJv
cjogTm90IGNvcnJlY3QgZ2V0UHJvdG90eXBlT2YgdmFsdWUgZm9yIGFycm93IGZ1bmN0aW9uIik7
CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93RnVuY3Rpb24gaW5zdGFuY2VvZiBGdW5jdGlvbiwgdHJ1
ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIGluc3RhbmNlb2YgbWV0aG9kIGZvciBh
cnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uLmNvbnN0cnVj
dG9yID09IEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgY29u
c3RydWN0b3IgbWV0aG9kIG9mIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHR5cGVvZiBz
aW1wbGVBcnJvd0Z1bmN0aW9uLnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJFcnJv
cjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBwcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24iKTsK
KwordmFyIGVycm9yT25DcmVhdGUgPSBmYWxzZTsKKwordHJ5IHsKKyAgdmFyIGZjID0gbmV3IHNp
bXBsZUFycm93RnVuY3Rpb24oKTsKK30KK2NhdGNoIChlKSB7CisgIGVycm9yT25DcmVhdGUgPSB0
cnVlOworfQorCit0ZXN0Q2FzZShlcnJvck9uQ3JlYXRlLCB0cnVlLCAiRXJyb3I6IE5vIGVycm9y
IG9uIGR1cmluZyBydW4gbmV3IEFycm93RnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dl
YkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggYWQwYjhl
OGM0YzZmZjgwZTEzMmMyOWFhODA2NDAwMGMzZDZkZDdhOS4uNmRkMDk0MzA4MThmZWY5MDA2MWZk
Y2YzYTAxMjgyZjljY2RkMjdkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxF
X0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9
IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsK
IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCA9IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ1NQX05FWFQgPSA7
CiBFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLID0gRU5BQkxFX0NTU19CT1hfREVDT1JB
VElPTl9CUkVBSzsKQEAgLTIwOSw0ICsyMTAsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwog
CiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9M
QVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVS
SU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRB
Q0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FO
VkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
KSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikg
JChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChF
TkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxF
X0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNP
Ul9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRB
X1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklD
RV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxF
X0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9G
SUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExT
Q1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQp
ICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhS
T1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xT
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lO
X1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxF
X0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJF
TEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJ
T05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VC
X0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChF
TkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01F
RElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxF
TUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFC
TEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJF
TkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlf
RVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVO
QUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExF
VEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFf
UVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVAp
ICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJM
RV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09O
VkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVN
UExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5H
X1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9D
U1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dF
Ql9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAk
KEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhS
X1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5U
X0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9W
SURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9S
RU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxF
UkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxF
X0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJM
RV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05F
WFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBP
U0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklE
X0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1B
R0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RP
UlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5B
QkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChF
TkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkg
JChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykg
JChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEp
ICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAk
KEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFC
TEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NB
VElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxF
X0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJM
RV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxP
Q0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFS
R0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9T
SVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVO
RE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVH
QUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVf
TEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChF
TkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5B
QkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01I
VE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05U
RU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NL
KSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVf
UFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklN
QVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1P
VEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9S
VUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hf
U1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykg
JChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVf
VEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQo
RU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9U
T1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9V
U0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVO
QUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJM
RV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJM
RV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlO
RykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJM
RV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxF
X1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9O
X01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBhZDBiOGU4YzRjNmZmODBlMTMyYzI5YWE4MDY0
MDAwYzNkNmRkN2E5Li42ZGQwOTQzMDgxOGZlZjkwMDYxZmRjZjNhMDEyODJmOWNjZGQyN2RjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBF
TkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFT
U19TWU5UQVggPSA7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQk9Y
X0RFQ09SQVRJT05fQlJFQUsgPSBFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLOwpAQCAt
MjA5LDQgKzIxMCw0IEBAIEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7CiAKIEVOQUJMRV9TQVRVUkFU
RURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElD
OwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkg
JChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFC
TEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2
X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9O
RVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01Q
T1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJ
RF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lN
QUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNU
T1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVO
QUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQo
RU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQp
ICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMp
ICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikg
JChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5B
QkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9D
QVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJM
RV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFC
TEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVM
T0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1F
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RB
UkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRP
U0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xF
R0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxF
X0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQo
RU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVO
QUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9N
SFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09O
VEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9D
SykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxF
X1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5J
TUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVN
T1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVf
UlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNI
X1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8p
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxF
X1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAk
KEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
VE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVf
VVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChF
TkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFC
TEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFC
TEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1J
TkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFC
TEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJM
RV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElP
Tl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19T
Q1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVN
RU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAk
KEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQo
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NT
X0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxF
X0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJM
RV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAk
KEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5B
QkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJ
TkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NI
RU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxT
X0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVO
VFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9B
RF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVO
QUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9I
SURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAk
KEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9J
TkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lO
UFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lP
U19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
SU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJ
WEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChF
TkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05U
Uk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElT
VElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01P
VVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5B
QkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01J
U0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJ
U1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChF
TkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQo
RU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAk
KEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5B
QkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9O
VFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVS
X0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRP
U0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElO
RykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAk
KEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFM
VUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJM
RV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAk
KEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJW
VFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxF
X0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9V
VF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZyBiL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CmluZGV4IGFkMGI4ZThjNGM2ZmY4MGUxMzJjMjlhYTgwNjQwMDBjM2Q2ZGQ3YTkuLjZkZDA5NDMw
ODE4ZmVmOTAwNjFmZGNmM2EwMTI4MmY5Y2NkZDI3ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00NSw2ICs0
NSw3IEBAIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9D
QU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkc7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IDsKK0VOQUJMRV9FUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5B
QkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxF
X0NTUF9ORVhUID0gOwogRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSyA9IEVOQUJMRV9D
U1NfQk9YX0RFQ09SQVRJT05fQlJFQUs7CkBAIC0yMDksNCArMjEwLDQgQEAgRU5BQkxFX0xMSU5U
X0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJM
RV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5B
QkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykg
JChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcp
ICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JB
VElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNF
X0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdF
X09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NT
X1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hB
UEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAk
KEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVS
KSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkg
JChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAk
KEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVD
VE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9W
MikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAk
KEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBB
RF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0Vf
RE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VS
VklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01P
TlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykg
JChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdB
Q1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFC
TEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktf
UFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBU
KSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5B
QkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1Jf
U0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FU
T1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lU
X1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFC
TEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJM
RV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVF
U1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNP
TFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NT
X1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1T
X0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJM
RV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04p
ICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChF
TkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxF
X0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklE
RU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJM
RV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElP
KSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElD
VFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMp
ICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAk
KEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJ
QykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0g
JChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJ
T05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElP
TklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFC
TEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxF
X0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQo
RU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5B
QkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVO
QUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChF
TkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJM
RV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NT
M19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJ
U0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJP
QVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJB
TlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRF
UlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChF
TkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRM
SU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09S
S0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNT
X1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9J
T1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9M
RUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVE
SU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJM
RV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFf
U09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kp
ICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxF
X1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVO
VFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxF
X1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkg
JChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVS
WSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChF
TkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NV
QlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJU
RVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFU
RV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09S
RCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURF
T19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19N
RURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JF
UExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5B
QkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElN
RU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19M
T09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVP
X1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0
dXJlcy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQppbmRleCA4ODcy
NjE3MjY0MDgzNDRhYjAyNTJjOWMwZWYxZmM5NzdkMDYzZmJhLi4wNTAwMzcyY2I4NDU0ZDg0ODY3
ZTY0MmU2OTc3MDFjZGQwOWYyOGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVh
dHVyZXMuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCkBAIC0y
OCw2ICsyOCw3IEBAIG1hY3JvKFdFQktJVF9PUFRJT05fQkVHSU4pCiAgICAgV0VCS0lUX09QVElP
Tl9ERUZJTkUoRU5BQkxFX0NBTlZBU19QUk9YWSAiVG9nZ2xlIENhbnZhc1Byb3h5IHN1cHBvcnQi
IE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcg
IlRvZ2dsZSBNZXNzYWdlQ2hhbm5lbCBhbmQgTWVzc2FnZVBvcnQgc3VwcG9ydCIgT04pCiAgICAg
V0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggIlRvZ2dsZSBFUzYg
Y2xhc3Mgc3ludGF4IHN1cHBvcnQiIE9GRikKKyAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFC
TEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYICJUb2dnbGUgRVM2IGFycm93IGZ1bmN0aW9uIHN5
bnRheCBzdXBwb3J0IiBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcgIlRvZ2dsZSBjb250ZW50IGZpbHRlcmluZyBzdXBwb3J0IiBPRkYpCiAgICAg
V0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NPTlRFWFRfTUVOVVMgIlRvZ2dsZSBDb250ZXh0
IE1lbnUgc3VwcG9ydCIgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NTUF9O
RVhUICJUb2dnbGUgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgMS4xIHN1cHBvcnQiIE9GRikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlIGIvU291cmNlL2NtYWtlY29uZmln
LmguY21ha2UKaW5kZXggMWE3NDVjYTVjZDg5ZmIyMDA4MmY3N2JjMDI2ODhhOWIwYjRiZDRiOS4u
MzEwNmI1ZWEwODRiMzg0MzFkOTU5OTQ0YzZjYTE4MWYyZmNlMjFmZiAxMDA2NDQKLS0tIGEvU291
cmNlL2NtYWtlY29uZmlnLmguY21ha2UKKysrIGIvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UK
QEAgLTEzLDYgKzEzLDcgQEAKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9DQU5WQVNfUFJPWFkKICNj
bWFrZWRlZmluZTAxIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORwogI2NtYWtlZGVmaW5lMDEgRU5B
QkxFX0VTNl9DTEFTU19TWU5UQVgKKyNjbWFrZWRlZmluZTAxIEVOQUJMRV9FUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORwogI2Nt
YWtlZGVmaW5lMDEgRU5BQkxFX0NPTlRFWFRfTUVOVVMKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9D
UkVERU5USUFMX1NUT1JBR0UKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0No
YW5nZUxvZwppbmRleCA4NWJmZmQyYTI0NWU0NjBmMzdlYTJiYzJlN2ExY2UwZTE4ZWI3MTE0Li5i
Y2YxNDU5YzNhOWVkYmRmOTAyYzFlN2U4NTZjZTk1MmIzNTRiZTk4IDEwMDY0NAotLS0gYS9Ub29s
cy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUt
MDMtMTEgIFNrYWNoa292IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAg
ICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQorCisgICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFn
IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggZm9yIGFycm93IGZ1bmN0aW9uCisKKyAg
ICAgICAgICogU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtOgorCiAyMDE1LTAzLTEw
ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFJlZ3Jlc3Np
b24ocjE4MTI1Nyk6IFdURl9Xb3JrUXVldWUuU2ltcGxlIGlzIGZsYWt5CmRpZmYgLS1naXQgYS9U
b29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0gYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KaW5kZXggMzU0MjVmNWU0YjU1NWFmMzAwMzJkMjFlZTNj
YWVjNjg1NGY3OWE0Yi4uOWEyYTczMmVmZGZlOTVhNjEwNzRjMmUyMDgyMmZmZTUxYWRjMGJhZiAx
MDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQpAQCAtNDQsNiArNDQsNyBA
QCBCRUdJTiB7CiBteSAoCiAgICAgJHRocmVlRFJlbmRlcmluZ1N1cHBvcnQsCiAgICAgJGFjY2Vs
ZXJhdGVkMkRDYW52YXNTdXBwb3J0LAorICAgICRhcnJvd2Z1bmN0aW9uU3ludGF4LAogICAgICRi
YXR0ZXJ5U3RhdHVzU3VwcG9ydCwKICAgICAkY2FudmFzUGF0aFN1cHBvcnQsCiAgICAgJGNhbnZh
c1Byb3h5U3VwcG9ydCwKQEAgLTE1NCw2ICsxNTUsOSBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAg
eyBvcHRpb24gPT4gImFjY2VsZXJhdGVkLTJkLWNhbnZhcyIsIGRlc2MgPT4gIlRvZ2dsZSBBY2Nl
bGVyYXRlZCAyRCBDYW52YXMgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9BQ0NF
TEVSQVRFRF8yRF9DQU5WQVMiLCBkZWZhdWx0ID0+IGlzR3RrKCksIHZhbHVlID0+IFwkYWNjZWxl
cmF0ZWQyRENhbnZhc1N1cHBvcnQgfSwKIAorICAgIHsgb3B0aW9uID0+ICJhcnJvd2Z1bmN0aW9u
LXN5bnRheCIsIGRlc2MgPT4gIlRvZ2dsZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1cHBv
cnQiLAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIiwg
ZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGFycm93ZnVuY3Rpb25TeW50YXggfSwKKwogICAgIHsg
b3B0aW9uID0+ICJiYXR0ZXJ5LXN0YXR1cyIsIGRlc2MgPT4gIlRvZ2dsZSBCYXR0ZXJ5IFN0YXR1
cyBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0JBVFRFUllfU1RBVFVTIiwgZGVm
YXVsdCA9PiBpc0VmbCgpLCB2YWx1ZSA9PiBcJGJhdHRlcnlTdGF0dXNTdXBwb3J0IH0sCiAKZGlm
ZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAzYzQ5MTZmNDhhMmY2NGMzNWQx
ZmRjZjhiZmRhNzk5YTY3MzdhMGVkLi4zODQ0MWYzMDJlOWViODkwZjI5MzcyMjM1OThhYjU5MjVk
NzUwODQ0IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTUgQEAKKzIwMTUtMDMtMTEgIFNrYWNoa292IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNv
bT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQor
CisgICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAgQWRkZWQg
ZmVhdHVyZSBmbGFnIHRvIHN3aXRjaCBvbi9vZmYgZXM2IGFycm93IGZ1bmN0aW9uIEVOQUJMRV9F
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgKKworICAgICAgICAgKiBTb3VyY2UvY21ha2UvV2ViS2l0
RmVhdHVyZXMuY21ha2U6CisgICAgICAgICAqIFNvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlOgor
CiAyMDE1LTAzLTEwICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4g
YW5kIEpvc8OpIERhcGVuYSBQYXogIDxqZGFwZW5hQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dU
S10gQWRkIGEgY29uZmlndXJlIG9wdGlvbiB0byBidWlsZCB3aXRoIE9wZW5HTCBFUyAyCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249529</attachid>
            <date>2015-03-26 15:59:07 -0700</date>
            <delta_ts>2015-03-27 06:28:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150327005826.patch</filename>
            <type>text/plain</type>
            <size>141608</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyMDExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjk4MTc2ZmZlMGMzMjBk
ODdhM2FjZTMxMjY3ODQzNTcyYjdiYTQzNi4uNjI3NTYzZTEyNWY1ZjkyNjkyOTFjNjNmMGQzZmM1
NzY4MjViMzQ0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTAzLTI3ICBTa2Fj
aGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgIFtFUzZdIElt
cGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyBFTkFCTEVfRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgorCisgICAgICAgICAqIENv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1LTAzLTI1ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBDU1MgYmxlbmQgbW9kZXMgZG8g
bm90IHBhcnNlIHdoZW4gaW4gdGhlIHNoYWRvdyB0cmVlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggMjYy
MzZlZjk2MDVlZWM3ZTQ4Y2NjMjE3MzAwNGIwNTk4Yzg0ODg0NC4uOTQ0MDUzY2U4NTk2NzA4YmRh
ZWRkOWI1ZTkyMzAyMTIxOWM3OTVmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDE1LTAzLTI3ICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisK
KyAgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1
cmUgZmxhZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlv
bgorCisgICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisK
IDIwMTUtMDMtMjQgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAg
ICAgICBGaXggZGVzaWduYXRlZCBpbml0aWFsaXplciB2aW9sYXRpb25zCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKaW5kZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4u
MTE0OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVf
Q0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5U
QVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9T
WU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0g
OwogRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNf
TEVWRUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBF
TkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlP
VVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5H
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09W
RVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hN
RU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFT
X1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAk
KEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFC
TEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQo
RU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAk
KEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVU
SU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQp
ICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19U
RVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNU
T01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9E
RVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9N
NF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZP
TlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFE
KSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVO
QUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJ
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BP
UE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5B
QkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5B
QkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChF
TkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9S
X1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVT
UykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJ
QV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFf
U1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5B
QkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMp
ICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxF
X1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VG
RklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFN
RSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNU
T1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5E
SU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMp
ICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9T
VkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVf
TlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVY
VF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05f
TE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1Rf
QUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFD
VUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAk
KEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NL
RVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJM
RV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQo
RU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVE
X0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitG
RUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAk
KEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFC
TEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FO
VkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNT
X1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05T
X0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NT
X0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NT
U19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9D
U1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19T
RUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQp
ICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElU
WSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9J
VEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZF
TF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkg
JChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9H
RU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAk
KEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9D
U1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFC
TEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChF
TkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhN
TCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0Up
ICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5B
QkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRP
Ul9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFC
TEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRF
Ul9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChF
TkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVT
VF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJM
RV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9T
UEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NS
WVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChF
TkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1F
TlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVO
QUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNL
KSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAk
KEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAk
KEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VC
X1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAk
KEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQo
RU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VO
VEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBiYTJkMTM2ZWI5
NWI1YTlmZDM1NGFiMzBhOGYzNjkxYmY3OGNlYjg2Li4yYTYxZDI1OGE1M2UzMWRlYzc3YjY3ZDIx
YzU2YzI3NThlYzc3ZjVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTA5Miw2
ICsxMDkyLDcgQEAKIAkJODZGM0VFQkYxNjhDREU5MzAwNzdCOTJBIC8qIE9iamNSdW50aW1lRXh0
cmFzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkYz
RUVCNjE2ODU1QTVCMDA3N0I5MkEgLyogT2JqY1J1bnRpbWVFeHRyYXMuaCAqLzsgfTsKIAkJODZG
QTlFOTExNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkZBOUU4RjE0MkJCQjJEMDAxNzcz
QjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAqLzsgfTsKIAkJODZGQTlFOTIxNDJCQkIyRTAwMTc3
M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlv
bi5oICovOyB9OworCQk4QjBGNDI0QzFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9u
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhCMEY0
MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uY3BwICovOyB9OwogCQk5MDIx
M0UzRDEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIxM0UzQjEyM0E0MEMyMDBENDIy
RjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi87IH07CiAJCTkwMjEzRTNFMTIzQTQwQzIwMEQ0
MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5MDIxM0UzQzEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlz
dGljcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTkzMDUyQzM0MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzA1MkMzMjBGQjc5MjE5MDA0OEZE
QzMgLyogUGFyc2VyQXJlbmEuY3BwICovOyB9OwpAQCAtMjgyNCw2ICsyODI1LDggQEAKIAkJODZG
NzVFRkQxNTFDMDYyRjAwN0M5QkEzIC8qIFJlZ0V4cE1hdGNoZXNBcnJheS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWdFeHBNYXRjaGVzQXJyYXkuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkZBOUU4RjE0MkJCQjJEMDAxNzczQjcgLyogSlNC
b3VuZEZ1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
Qm91bmRGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2RkE5RTkw
MTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNBcnJvd0Z1bmN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCThCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcnJvd0Z1bmN0aW9uLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTAyMTNFM0IxMjNBNDBDMjAwRDQyMkYzIC8qIE1l
bW9yeVN0YXRpc3RpY3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
TWVtb3J5U3RhdGlzdGljcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkwMjEz
RTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IE1lbW9yeVN0YXRpc3RpY3MuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhcnNlckFyZW5hLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ0MzgsNiArNDQ0MSw4IEBACiAJCQkJQTdCREFF
QzUxN0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJyYXlJdGVyYXRvci5oICovLAogCQkJCTg2RkE5RThG
MTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwICovLAogCQkJCTg2RkE5RTkw
MTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLywKKwkJCQk4QjBGNDI0QTFB
QkQ2RDJGMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggKi8sCisJCQkJOEIwRjQyNEIxQUJE
NkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgKi8sCiAJCQkJNjU3Q0Y0NTYxOUJG
NjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmNwcCAqLywKIAkJCQk2NTdDRjQ1NzE5QkY2NjYyMDA0
QUNCRjIgLyogSlNDYWxsZWUuaCAqLywKIAkJCQkwRkQ5NDk3RTFBOTdEQjk2MDBFMjg5NjYgLyog
SlNDYXRjaFNjb3BlLmNwcCAqLywKQEAgLTcxNjYsNiArNzE3MSw3IEBACiAJCQkJMEZEOEEzMUIx
N0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTE9TUkVudHJ5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBG
MjM1QkRDMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTBGMjM1QkRGMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0Q29tcGlsZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJOEIwRjQyNEMxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5j
dGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkVBMEEyQTE3MDk2Mjk2MDBCQjcyMkMgLyog
RlRMT3V0cHV0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNDg1MzI5MTg3REZERUMwMDgzQjY4
NyAvKiBGVExSZWNvdmVyeU9wY29kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjZCMUNDMzE4
NjJDNDc4MDA4NDVEOTcgLyogRlRMUmVnaXN0ZXJBdE9mZnNldC5jcHAgaW4gU291cmNlcyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxpc3Qu
anNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxpc3QuanNvbgpp
bmRleCA2YjI0MzkxNTZhYjNhZmFlNmI1NThhYjkwNjZkMjIyNTE1ZDU5ZTQ1Li40MzYwNzA5ZDhm
N2U0MTgyMTVhYjJhZjk1OWJmNjQ0OGFmMDM4MDI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24KKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCkBAIC05NSw2ICs5NSw3IEBACiAgICAg
ICAgICAgICB7ICJuYW1lIiA6ICJvcF9zd2l0Y2hfc3RyaW5nIiwgImxlbmd0aCIgOiA0IH0sCiAg
ICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfZnVuYyIsICJsZW5ndGgiIDogNCB9LAogICAg
ICAgICAgICAgeyAibmFtZSIgOiAib3BfbmV3X2Z1bmNfZXhwIiwgImxlbmd0aCIgOiA0IH0sCisg
ICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfYXJyb3dfZnVuY19leHAiLCAibGVuZ3RoIiA6
IDUgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGwiLCAibGVuZ3RoIiA6IDkgfSwK
ICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGxfZXZhbCIsICJsZW5ndGgiIDogOSB9LAog
ICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbF92YXJhcmdzIiwgImxlbmd0aCIgOiA5IH0s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVVc2VE
ZWYuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCmlu
ZGV4IDg1ZjI5MTVjN2U4ZjYwMWFkM2VjMTc4YmY2OWUzNTQ0Zjc1NGMyY2YuLjE3YjZiZWQ4MWZl
MjViNjIzMzBiYWEzZmQwMzFjNzE2YWI4OGY5YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCkBAIC0xMTYsNiArMTE2LDkgQEAgdm9pZCBj
b21wdXRlVXNlc0ZvckJ5dGVjb2RlT2Zmc2V0KAogICAgIGNhc2Ugb3BfZ2V0X3Byb3BlcnR5X2Vu
dW1lcmF0b3I6CiAgICAgY2FzZSBvcF9nZXRfZW51bWVyYWJsZV9sZW5ndGg6CiAgICAgY2FzZSBv
cF9uZXdfZnVuY19leHA6CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRpZgogICAgIGNhc2Ugb3BfdG9faW5k
ZXhfc3RyaW5nOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29uc3Rfbm9wOgogICAgIGNhc2Ug
b3BfaW5pdF9nbG9iYWxfY29uc3Q6CkBAIC0zMDgsNiArMzExLDkgQEAgdm9pZCBjb21wdXRlRGVm
c0ZvckJ5dGVjb2RlT2Zmc2V0KENvZGVCbG9jayogY29kZUJsb2NrLCB1bnNpZ25lZCBieXRlY29k
ZU9mZnNldCwKICAgICBjYXNlIG9wX25ld19yZWdleHA6CiAgICAgY2FzZSBvcF9uZXdfZnVuYzoK
ICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorI2VuZGlmCiAgICAgY2Fz
ZSBvcF9jYWxsX3ZhcmFyZ3M6CiAgICAgY2FzZSBvcF9jb25zdHJ1Y3RfdmFyYXJnczoKICAgICBj
YXNlIG9wX2dldF9mcm9tX3Njb3BlOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Q29kZUJsb2NrLmNwcAppbmRleCA4YWQ3MWVjNzFmYTZmZjUzYTcxMDM4ZjQ5Nzk0ODA5OGI5YTlh
M2U1Li42YTFkNDIyODU2OWY4MTliOTBmN2E5ODc2NjNmODcwYWM0YmIzOGZiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcApAQCAtMTI3NCw2ICsxMjc0
LDE3IEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wQnl0ZWNvZGUoCiAgICAgICAgICAgICBvdXQucHJp
bnRmKCIlcywgJXMsIGYlZCIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0YSgpLCByZWdpc3Rlck5hbWUo
cjEpLmRhdGEoKSwgZjApOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBjYXNlIG9wX25ld19hcnJvd19m
dW5jX2V4cDogeworICAgICAgICAgICAgaW50IHIwID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAg
ICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAgICAgICAgIGludCBmMCA9
ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgaW50IHIyID0gKCsraXQpLT51Lm9wZXJh
bmQ7CisgICAgICAgICAgICBwcmludExvY2F0aW9uQW5kT3Aob3V0LCBleGVjLCBsb2NhdGlvbiwg
aXQsICJvcF9uZXdfYXJyb3dfZnVuY19leHAiKTsKKyAgICAgICAgICAgIG91dC5wcmludGYoIiVz
LCAlcywgZiVkLCAlcyIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0YSgpLCByZWdpc3Rlck5hbWUocjEp
LmRhdGEoKSwgZjAsIHJlZ2lzdGVyTmFtZShyMikuZGF0YSgpKTsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6IHsKICAg
ICAgICAgICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVyYW5kOwogICAgICAgICAgICAgaW50IHIx
ID0gKCsraXQpLT51Lm9wZXJhbmQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCmluZGV4IGFjNWUzN2U0ZDg4ZWFh
MzdhMjRjYWRkN2FmYzRjODE2YWRlZDQyZTIuLjNhY2Q3OTIxZmJmOWFiYWI0NWI5ZGY5NDY5ZmY2
ZGRkMzBlNWY2OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0xNzQyLDYgKzE3NDIsMzYgQEAgUmVn
aXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdGdW5jdGlvbkV4cHJlc3Npb24oUmVn
aXN0ZXJJRCogcjAsIEZ1bmNFeHAKICAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQoaW5kZXgpOwog
ICAgIHJldHVybiByMDsKIH0KKyAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdBcnJvd0Z1bmN0aW9u
RXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVuY0V4cHJOb2RlKiBuKQoreworICAgIEZ1bmN0
aW9uQm9keU5vZGUqIGZ1bmN0aW9uID0gbi0+Ym9keSgpOworICAgIHVuc2lnbmVkIGluZGV4ID0g
bV9jb2RlQmxvY2stPmFkZEZ1bmN0aW9uRXhwcihtYWtlRnVuY3Rpb24oZnVuY3Rpb24pKTsKKyAg
ICAKKyAgICBSZWdpc3RlcklEKiB2YWx1ZSA9IGVtaXRUaGlzTm9kZUJ5dGVjb2RlKHIwLCBuLT5w
b3NpdGlvbigpKTsKKyAgICAKKyAgICBlbWl0T3Bjb2RlKG9wX25ld19hcnJvd19mdW5jX2V4cCk7
CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHIwLT5pbmRleCgpKTsKKyAgICBpbnN0cnVjdGlv
bnMoKS5hcHBlbmQoc2NvcGVSZWdpc3RlcigpLT5pbmRleCgpKTsKKyAgICBpbnN0cnVjdGlvbnMo
KS5hcHBlbmQoaW5kZXgpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZCh2YWx1ZS0+aW5kZXgo
KSk7CisgICAgcmV0dXJuIHIwOworfQorICAgIAorUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0
b3I6OmVtaXRUaGlzTm9kZUJ5dGVjb2RlKFJlZ2lzdGVySUQqIGRzdCwgSlNUZXh0UG9zaXRpb24g
cG9zaXRpb24pCit7CisgICAgaWYgKGRzdCA9PSBpZ25vcmVkUmVzdWx0KCkpCisgICAgICAgIHJl
dHVybiAwOworICAgIFJlZ2lzdGVySUQqIHJlc3VsdCA9IG1vdmVUb0Rlc3RpbmF0aW9uSWZOZWVk
ZWQoZHN0LCB0aGlzUmVnaXN0ZXIoKSk7CisgICAgaWYgKHZtKCktPnR5cGVQcm9maWxlcigpKSB7
CisgICAgICAgIGVtaXRQcm9maWxlVHlwZSh0aGlzUmVnaXN0ZXIoKSwgUHJvZmlsZVR5cGVCeXRl
Y29kZURvZXNOb3RIYXZlR2xvYmFsSUQsIG51bGxwdHIpOworICAgICAgICBzdGF0aWMgY29uc3Qg
dW5zaWduZWQgdGhpc0xlbmd0aCA9IDQ7CisgICAgICAgIGVtaXRUeXBlUHJvZmlsZXJFeHByZXNz
aW9uSW5mbyhwb3NpdGlvbiwgSlNUZXh0UG9zaXRpb24oLTEsIHBvc2l0aW9uLm9mZnNldCArIHRo
aXNMZW5ndGgsIC0xKSk7CisgICAgfQorICAgIHJldHVybiByZXN1bHQ7Cit9CisjZW5kaWYKIAog
UmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdEZWZhdWx0Q29uc3RydWN0b3Io
UmVnaXN0ZXJJRCogZHN0LCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kLCBjb25zdCBJ
ZGVudGlmaWVyJiBuYW1lKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmluZGV4IDFjOTlhY2EwODQ4ODhhMWI4NDhl
NzRlMDU1MjkxMjJlNTU3ZTdhOGQuLmM3MDFjYzUwMzI2NTUxYWUzNWE1N2U3MjdhOGZhZTUyNzM0
OGZkOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0
ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVy
L0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTE4OSw3ICsxODksNyBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICAgICAgICAgICwgbV9raW5kKE5vcm1hbFZhcmlhYmxlKQogICAgICAgICB7CiAgICAgICAg
IH0KLSAgICAgICAgCisKICAgICAgICAgVmFyaWFibGUoY29uc3QgSWRlbnRpZmllciYgaWRlbnQp
CiAgICAgICAgICAgICA6IG1faWRlbnQoaWRlbnQpCiAgICAgICAgICAgICAsIG1fbG9jYWwobnVs
bHB0cikKQEAgLTIxMSw5ICsyMTEsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgLy8gYSBz
dGFjayB2YXJpYWJsZSwgYSBzY29wZWQgdmFyaWFibGUgaW4gdGhlIGxvY2FsIHNjb3BlLCBvciBh
IHZhcmlhYmxlIGNhcHR1cmVkIGluIHRoZQogICAgICAgICAvLyBkaXJlY3QgYXJndW1lbnRzIG9i
amVjdC4KICAgICAgICAgYm9vbCBpc1Jlc29sdmVkKCkgY29uc3QgeyByZXR1cm4gISFtX29mZnNl
dDsgfQotICAgICAgICAKKwogICAgICAgICBjb25zdCBJZGVudGlmaWVyJiBpZGVudCgpIGNvbnN0
IHsgcmV0dXJuIG1faWRlbnQ7IH0KLSAgICAgICAgCisKICAgICAgICAgVmFyT2Zmc2V0IG9mZnNl
dCgpIGNvbnN0IHsgcmV0dXJuIG1fb2Zmc2V0OyB9CiAgICAgICAgIGJvb2wgaXNMb2NhbCgpIGNv
bnN0IHsgcmV0dXJuIG1fb2Zmc2V0LmlzU3RhY2soKTsgfQogICAgICAgICBSZWdpc3RlcklEKiBs
b2NhbCgpIGNvbnN0IHsgcmV0dXJuIG1fbG9jYWw7IH0KQEAgLTI1OCw3ICsyNTgsNyBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgQnl0ZWNvZGVHZW5lcmF0b3IoVk0mLCBFdmFsTm9kZSosIFVu
bGlua2VkRXZhbENvZGVCbG9jayosIERlYnVnZ2VyTW9kZSwgUHJvZmlsZXJNb2RlKTsKIAogICAg
ICAgICB+Qnl0ZWNvZGVHZW5lcmF0b3IoKTsKLSAgICAgICAgCisKICAgICAgICAgVk0qIHZtKCkg
Y29uc3QgeyByZXR1cm4gbV92bTsgfQogICAgICAgICBQYXJzZXJBcmVuYSYgcGFyc2VyQXJlbmEo
KSBjb25zdCB7IHJldHVybiBtX3Njb3BlTm9kZS0+cGFyc2VyQXJlbmEoKTsgfQogICAgICAgICBj
b25zdCBDb21tb25JZGVudGlmaWVycyYgcHJvcGVydHlOYW1lcygpIGNvbnN0IHsgcmV0dXJuICpt
X3ZtLT5wcm9wZXJ0eU5hbWVzOyB9CkBAIC0yNzcsMTMgKzI3NywxMyBAQCBuYW1lc3BhY2UgSlND
IHsKICAgICAgICAgdm9pZCBzZXRJc051bWVyaWNDb21wYXJlRnVuY3Rpb24oYm9vbCBpc051bWVy
aWNDb21wYXJlRnVuY3Rpb24pOwogCiAgICAgICAgIFZhcmlhYmxlIHZhcmlhYmxlKGNvbnN0IElk
ZW50aWZpZXImKTsKLSAgICAgICAgCisKICAgICAgICAgLy8gSWdub3JlcyB0aGUgcG9zc2liaWxp
dHkgb2YgaW50ZXJ2ZW5pbmcgc2NvcGVzLgogICAgICAgICBWYXJpYWJsZSB2YXJpYWJsZVBlclN5
bWJvbFRhYmxlKGNvbnN0IElkZW50aWZpZXImKTsKLSAgICAgICAgCisKICAgICAgICAgZW51bSBF
eGlzdGluZ1ZhcmlhYmxlTW9kZSB7IFZlcmlmeUV4aXN0aW5nLCBJZ25vcmVFeGlzdGluZyB9Owog
ICAgICAgICB2b2lkIGNyZWF0ZVZhcmlhYmxlKGNvbnN0IElkZW50aWZpZXImLCBWYXJLaW5kLCBD
b25zdGFudE1vZGUsIEV4aXN0aW5nVmFyaWFibGVNb2RlID0gVmVyaWZ5RXhpc3RpbmcpOyAvLyBD
cmVhdGVzIHRoZSB2YXJpYWJsZSwgb3IgYXNzZXJ0cyB0aGF0IHRoZSBhbHJlYWR5LWNyZWF0ZWQg
dmFyaWFibGUgaXMgc3VmZmljaWVudGx5IGNvbXBhdGlibGUuCi0gICAgICAgIAorCiAgICAgICAg
IC8vIFJldHVybnMgdGhlIHJlZ2lzdGVyIHN0b3JpbmcgInRoaXMiCiAgICAgICAgIFJlZ2lzdGVy
SUQqIHRoaXNSZWdpc3RlcigpIHsgcmV0dXJuICZtX3RoaXNSZWdpc3RlcjsgfQogICAgICAgICBS
ZWdpc3RlcklEKiBhcmd1bWVudHNSZWdpc3RlcigpIHsgcmV0dXJuIG1fYXJndW1lbnRzUmVnaXN0
ZXI7IH0KQEAgLTM4Miw3ICszODIsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgfQogCiAg
ICAgICAgIHZvaWQgZW1pdEV4cHJlc3Npb25JbmZvKGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZv
dCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGRpdm90U3RhcnQsIGNvbnN0IEpTVGV4dFBvc2l0aW9u
JiBkaXZvdEVuZCkKLSAgICAgICAgeyAgICAgICAgICAgIAorICAgICAgICB7CiAgICAgICAgICAg
ICBBU1NFUlQoZGl2b3Qub2Zmc2V0ID49IGRpdm90U3RhcnQub2Zmc2V0KTsKICAgICAgICAgICAg
IEFTU0VSVChkaXZvdEVuZC5vZmZzZXQgPj0gZGl2b3Qub2Zmc2V0KTsKIApAQCAtNDU0LDYgKzQ1
NCwxMCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0Z1bmN0
aW9uSW50ZXJuYWwoUmVnaXN0ZXJJRCogZHN0LCB1bnNpZ25lZCBpbmRleCk7CiAgICAgICAgIFJl
Z2lzdGVySUQqIGVtaXROZXdGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogZHN0LCBGdW5j
RXhwck5vZGUqIGZ1bmMpOwogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3RGVmYXVsdENvbnN0
cnVjdG9yKFJlZ2lzdGVySUQqIGRzdCwgQ29uc3RydWN0b3JLaW5kLCBjb25zdCBJZGVudGlmaWVy
JiBuYW1lKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBS
ZWdpc3RlcklEKiBlbWl0TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCosIEZ1
bmNFeHByTm9kZSopOworICAgICAgICBSZWdpc3RlcklEKiBlbWl0VGhpc05vZGVCeXRlY29kZShS
ZWdpc3RlcklEKiwgSlNUZXh0UG9zaXRpb24pOworI2VuZGlmCiAgICAgICAgIFJlZ2lzdGVySUQq
IGVtaXROZXdSZWdFeHAoUmVnaXN0ZXJJRCogZHN0LCBSZWdFeHAqKTsKIAogICAgICAgICBSZWdp
c3RlcklEKiBlbWl0TW92ZShSZWdpc3RlcklEKiBkc3QsIFJlZ2lzdGVySUQqIHNyYyk7CkBAIC00
ODAsMTQgKzQ4NCwxNCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1p
dERlbGV0ZUJ5VmFsKFJlZ2lzdGVySUQqIGRzdCwgUmVnaXN0ZXJJRCogYmFzZSwgUmVnaXN0ZXJJ
RCogcHJvcGVydHkpOwogICAgICAgICBSZWdpc3RlcklEKiBlbWl0UHV0QnlJbmRleChSZWdpc3Rl
cklEKiBiYXNlLCB1bnNpZ25lZCBpbmRleCwgUmVnaXN0ZXJJRCogdmFsdWUpOwogICAgICAgICB2
b2lkIGVtaXRQdXRHZXR0ZXJTZXR0ZXIoUmVnaXN0ZXJJRCogYmFzZSwgY29uc3QgSWRlbnRpZmll
ciYgcHJvcGVydHksIFJlZ2lzdGVySUQqIGdldHRlciwgUmVnaXN0ZXJJRCogc2V0dGVyKTsKLSAg
ICAgICAgCisKICAgICAgICAgRXhwZWN0ZWRGdW5jdGlvbiBleHBlY3RlZEZ1bmN0aW9uRm9ySWRl
bnRpZmllcihjb25zdCBJZGVudGlmaWVyJik7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRDYWxs
KFJlZ2lzdGVySUQqIGRzdCwgUmVnaXN0ZXJJRCogZnVuYywgRXhwZWN0ZWRGdW5jdGlvbiwgQ2Fs
bEFyZ3VtZW50cyYsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZvdCwgY29uc3QgSlNUZXh0UG9z
aXRpb24mIGRpdm90U3RhcnQsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZvdEVuZCk7CiAgICAg
ICAgIFJlZ2lzdGVySUQqIGVtaXRDYWxsRXZhbChSZWdpc3RlcklEKiBkc3QsIFJlZ2lzdGVySUQq
IGZ1bmMsIENhbGxBcmd1bWVudHMmLCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZGl2b3QsIGNvbnN0
IEpTVGV4dFBvc2l0aW9uJiBkaXZvdFN0YXJ0LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZGl2b3RF
bmQpOwogICAgICAgICBSZWdpc3RlcklEKiBlbWl0Q2FsbFZhcmFyZ3MoUmVnaXN0ZXJJRCogZHN0
LCBSZWdpc3RlcklEKiBmdW5jLCBSZWdpc3RlcklEKiB0aGlzUmVnaXN0ZXIsIFJlZ2lzdGVySUQq
IGFyZ3VtZW50cywgUmVnaXN0ZXJJRCogZmlyc3RGcmVlUmVnaXN0ZXIsIGludDMyX3QgZmlyc3RW
YXJBcmdPZmZzZXQsIFJlZ2lzdGVySUQqIHByb2ZpbGVIb29rUmVnaXN0ZXIsIGNvbnN0IEpTVGV4
dFBvc2l0aW9uJiBkaXZvdCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGRpdm90U3RhcnQsIGNvbnN0
IEpTVGV4dFBvc2l0aW9uJiBkaXZvdEVuZCk7CiAKICAgICAgICAgdm9pZCBlbWl0RW51bWVyYXRp
b24oVGhyb3dhYmxlRXhwcmVzc2lvbkRhdGEqIGVudW1lcmF0aW9uTm9kZSwgRXhwcmVzc2lvbk5v
ZGUqIHN1YmplY3ROb2RlLCBjb25zdCBzdGQ6OmZ1bmN0aW9uPHZvaWQoQnl0ZWNvZGVHZW5lcmF0
b3ImLCBSZWdpc3RlcklEKik+JiBjYWxsQmFjayk7Ci0gICAgICAgIAorCiAgICAgICAgIFJlZ2lz
dGVySUQqIGVtaXRSZXR1cm4oUmVnaXN0ZXJJRCogc3JjKTsKICAgICAgICAgUmVnaXN0ZXJJRCog
ZW1pdEVuZChSZWdpc3RlcklEKiBzcmMpIHsgcmV0dXJuIGVtaXRVbmFyeU5vRHN0T3Aob3BfZW5k
LCBzcmMpOyB9CiAKQEAgLTUzMyw3ICs1MzcsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAg
UmVnaXN0ZXJJRCogcG9wVHJ5QW5kRW1pdENhdGNoKFRyeURhdGEqLCBSZWdpc3RlcklEKiB0YXJn
ZXRSZWdpc3RlciwgTGFiZWwqIGVuZCk7CiAKICAgICAgICAgdm9pZCBlbWl0VGhyb3coUmVnaXN0
ZXJJRCogZXhjKQotICAgICAgICB7IAorICAgICAgICB7CiAgICAgICAgICAgICBtX3VzZXNFeGNl
cHRpb25zID0gdHJ1ZTsKICAgICAgICAgICAgIGVtaXRVbmFyeU5vRHN0T3Aob3BfdGhyb3csIGV4
Yyk7CiAgICAgICAgIH0KQEAgLTU3Miw5ICs1NzYsOSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAg
ICAgICBib29sIHNob3VsZEVtaXRQcm9maWxlSG9va3MoKSB7IHJldHVybiBtX3Nob3VsZEVtaXRQ
cm9maWxlSG9va3M7IH0KICAgICAgICAgYm9vbCBzaG91bGRFbWl0RGVidWdIb29rcygpIHsgcmV0
dXJuIG1fc2hvdWxkRW1pdERlYnVnSG9va3M7IH0KLSAgICAgICAgCisKICAgICAgICAgYm9vbCBp
c1N0cmljdE1vZGUoKSBjb25zdCB7IHJldHVybiBtX2NvZGVCbG9jay0+aXNTdHJpY3RNb2RlKCk7
IH0KLSAgICAgICAgCisKICAgICAgICAgYm9vbCBpc0J1aWx0aW5GdW5jdGlvbigpIGNvbnN0IHsg
cmV0dXJuIG1faXNCdWlsdGluRnVuY3Rpb247IH0KIAogICAgICAgICBPcGNvZGVJRCBsYXN0T3Bj
b2RlSUQoKSBjb25zdCB7IHJldHVybiBtX2xhc3RPcGNvZGVJRDsgfQpAQCAtNjA0LDEyICs2MDgs
MTIgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgdHlwZWRlZiBIYXNoTWFwPGRvdWJsZSwg
SlNWYWx1ZT4gTnVtYmVyTWFwOwogICAgICAgICB0eXBlZGVmIEhhc2hNYXA8U3RyaW5nSW1wbCos
IEpTU3RyaW5nKiwgSWRlbnRpZmllclJlcEhhc2g+IElkZW50aWZpZXJTdHJpbmdNYXA7Ci0gICAg
ICAgIAorCiAgICAgICAgIC8vIEhlbHBlciBmb3IgZW1pdENhbGwoKSBhbmQgZW1pdENvbnN0cnVj
dCgpLiBUaGlzIHdvcmtzIGJlY2F1c2UgdGhlIHNldCBvZgogICAgICAgICAvLyBleHBlY3RlZCBm
dW5jdGlvbnMgaGF2ZSBpZGVudGljYWwgYmVoYXZpb3IgZm9yIGJvdGggY2FsbCBhbmQgY29uc3Ry
dWN0CiAgICAgICAgIC8vIChpLmUuICJPYmplY3QoKSIgaXMgaWRlbnRpY2FsIHRvICJuZXcgT2Jq
ZWN0KCkiKS4KICAgICAgICAgRXhwZWN0ZWRGdW5jdGlvbiBlbWl0RXhwZWN0ZWRGdW5jdGlvblNu
aXBwZXQoUmVnaXN0ZXJJRCogZHN0LCBSZWdpc3RlcklEKiBmdW5jLCBFeHBlY3RlZEZ1bmN0aW9u
LCBDYWxsQXJndW1lbnRzJiwgTGFiZWwqIGRvbmUpOwotICAgICAgICAKKwogICAgICAgICBSZWdp
c3RlcklEKiBlbWl0Q2FsbChPcGNvZGVJRCwgUmVnaXN0ZXJJRCogZHN0LCBSZWdpc3RlcklEKiBm
dW5jLCBFeHBlY3RlZEZ1bmN0aW9uLCBDYWxsQXJndW1lbnRzJiwgY29uc3QgSlNUZXh0UG9zaXRp
b24mIGRpdm90LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZGl2b3RTdGFydCwgY29uc3QgSlNUZXh0
UG9zaXRpb24mIGRpdm90RW5kKTsKIAogICAgICAgICBSZWdpc3RlcklEKiBuZXdSZWdpc3Rlcigp
OwpAQCAtNjI3LDcgKzYzMSw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAvLyBJbml0aWFs
aXplcyB0aGUgc3RhY2sgZm9ybSB0aGUgcGFyYW1ldGVyOyBkb2VzIG5vdGhpbmcgZm9yIHRoZSBz
eW1ib2wgdGFibGUuCiAgICAgICAgIFJlZ2lzdGVySUQqIGluaXRpYWxpemVOZXh0UGFyYW1ldGVy
KCk7CiAgICAgICAgIFN0cmluZ0ltcGwqIHZpc2libGVOYW1lRm9yUGFyYW1ldGVyKERlY29uc3Ry
dWN0aW9uUGF0dGVybk5vZGUqKTsKLSAgICAgICAgCisKICAgICAgICAgUmVnaXN0ZXJJRCYgcmVn
aXN0ZXJGb3IoVmlydHVhbFJlZ2lzdGVyIHJlZykKICAgICAgICAgewogICAgICAgICAgICAgaWYg
KHJlZy5pc0xvY2FsKCkpCkBAIC02NDcsNyArNjUxLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAg
ICAgIHVuc2lnbmVkIGFkZFJlZ0V4cChSZWdFeHAqKTsKIAogICAgICAgICB1bnNpZ25lZCBhZGRD
b25zdGFudEJ1ZmZlcih1bnNpZ25lZCBsZW5ndGgpOwotICAgICAgICAKKwogICAgICAgICBVbmxp
bmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSogbWFrZUZ1bmN0aW9uKEZ1bmN0aW9uQm9keU5vZGUqIGJv
ZHkpCiAgICAgICAgIHsKICAgICAgICAgICAgIHJldHVybiBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0
YWJsZTo6Y3JlYXRlKG1fdm0sIG1fc2NvcGVOb2RlLT5zb3VyY2UoKSwgYm9keSwgaXNCdWlsdGlu
RnVuY3Rpb24oKSA/IFVubGlua2VkQnVpbHRpbkZ1bmN0aW9uIDogVW5saW5rZWROb3JtYWxGdW5j
dGlvbik7CkBAIC03MzAsNyArNzM0LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFZlY3Rv
cjxzdGQ6OnBhaXI8UmVmUHRyPFJlZ2lzdGVySUQ+LCBjb25zdCBEZWNvbnN0cnVjdGlvblBhdHRl
cm5Ob2RlKj4+IG1fZGVjb25zdHJ1Y3RlZFBhcmFtZXRlcnM7CiAgICAgICAgIFZlY3RvcjxGdW5j
dGlvbkJvZHlOb2RlKj4gbV9mdW5jdGlvbnNUb0luaXRpYWxpemU7CiAgICAgICAgIGJvb2wgbV9u
ZWVkVG9Jbml0aWFsaXplQXJndW1lbnRzIHsgZmFsc2UgfTsKLSAgICAgICAgCisKICAgICAgICAg
VmVjdG9yPFRyeVJhbmdlPiBtX3RyeVJhbmdlczsKICAgICAgICAgU2VnbWVudGVkVmVjdG9yPFRy
eURhdGEsIDg+IG1fdHJ5RGF0YTsKIApAQCAtNzM4LDcgKzc0Miw3IEBAIG5hbWVzcGFjZSBKU0Mg
ewogCiAgICAgICAgIHR5cGVkZWYgSGFzaE1hcDxGdW5jdGlvbkJvZHlOb2RlKiwgdW5zaWduZWQ+
IEZ1bmN0aW9uT2Zmc2V0TWFwOwogICAgICAgICBGdW5jdGlvbk9mZnNldE1hcCBtX2Z1bmN0aW9u
T2Zmc2V0czsKLSAgICAgICAgCisKICAgICAgICAgLy8gQ29uc3RhbnQgcG9vbAogICAgICAgICBJ
ZGVudGlmaWVyTWFwIG1faWRlbnRpZmllck1hcDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCmluZGV4IDFjNzU3M2FkNGUzMjhi
MmE3NGE5NWZiOTNiYjIwNzY4ODJiMmY3YjkuLjY5ZmQwODMwZmI0MTkxYjEwOTUyYWM5NThjOTA0
NDA5ZTVhNWQ5ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGls
ZXIvTm9kZXNDb2RlZ2VuLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL05vZGVzQ29kZWdlbi5jcHAKQEAgLTE0OSw3ICsxNDksOSBAQCBSZWdpc3RlcklEKiBUaGlz
Tm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVy
SUQqIGRzdAogCiAgICAgaWYgKGRzdCA9PSBnZW5lcmF0b3IuaWdub3JlZFJlc3VsdCgpKQogICAg
ICAgICByZXR1cm4gMDsKLQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0VGhpc05vZGVCeXRlY29kZShkc3QsIHBvc2l0aW9uKCkp
OworI2Vsc2UKICAgICBSZWdpc3RlcklEKiByZXN1bHQgPSBnZW5lcmF0b3IubW92ZVRvRGVzdGlu
YXRpb25JZk5lZWRlZChkc3QsIGdlbmVyYXRvci50aGlzUmVnaXN0ZXIoKSk7CiAgICAgaWYgKGdl
bmVyYXRvci52bSgpLT50eXBlUHJvZmlsZXIoKSkgewogICAgICAgICBnZW5lcmF0b3IuZW1pdFBy
b2ZpbGVUeXBlKGdlbmVyYXRvci50aGlzUmVnaXN0ZXIoKSwgUHJvZmlsZVR5cGVCeXRlY29kZURv
ZXNOb3RIYXZlR2xvYmFsSUQsIG51bGxwdHIpOwpAQCAtMTU3LDYgKzE1OSw3IEBAIFJlZ2lzdGVy
SUQqIFRoaXNOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwg
UmVnaXN0ZXJJRCogZHN0CiAgICAgICAgIGdlbmVyYXRvci5lbWl0VHlwZVByb2ZpbGVyRXhwcmVz
c2lvbkluZm8ocG9zaXRpb24oKSwgSlNUZXh0UG9zaXRpb24oLTEsIHBvc2l0aW9uKCkub2Zmc2V0
ICsgdGhpc0xlbmd0aCwgLTEpKTsKICAgICB9CiAgICAgcmV0dXJuIHJlc3VsdDsKKyNlbmRpZgog
fQogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gU3VwZXJOb2RlIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTI4MzMsNiArMjgzNiwxNCBAQCBSZWdp
c3RlcklEKiBGdW5jRXhwck5vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2Vu
ZXJhdG9yLCBSZWdpc3RlcklEKgogICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdE5ld0Z1bmN0aW9u
RXhwcmVzc2lvbihnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QpLCB0aGlzKTsKIH0KIAor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICAgIAorLy8gLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tIEFycm93RnVuY0V4cHJOb2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQorUmVnaXN0ZXJJRCogQXJyb3dGdW5jRXhwck5vZGU6OmVtaXRCeXRlY29k
ZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3RlcklEKiBkc3QpCit7CisgICAg
cmV0dXJuIGdlbmVyYXRvci5lbWl0TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oZ2VuZXJhdG9y
LmZpbmFsRGVzdGluYXRpb24oZHN0KSwgdGhpcyk7Cit9CisjZW5kaWYKKyAgICAKICNpZiBFTkFC
TEUoRVM2X0NMQVNTX1NZTlRBWCkKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBD
bGFzc0RlY2xOb2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCmluZGV4IDY5ZmQ0
YWQxNTk1NGI1NzBlMGM5NDA3MDQxNjNlYTYwYjgxNGY5OWMuLjUxZWQ2MDg2NTNkNDg5MTk4Zjhh
NjlkYjAxMzgzNDYzOGRkMGVhMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQnl0ZUNvZGVQYXJzZXIuY3BwCkBAIC0zNjYyLDYgKzM2NjIsMTUgQEAgYm9vbCBCeXRlQ29k
ZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZCBsaW1pdCkKICAgICAgICAgICAgIE5FWFRfT1BD
T0RFKG9wX25ld19mdW5jX2V4cCk7CiAgICAgICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOiB7Cisg
ICAgICAgICAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4cHIgPSBtX2lubGluZVN0YWNrVG9wLT5t
X3Byb2ZpbGVkQmxvY2stPmZ1bmN0aW9uRXhwcihjdXJyZW50SW5zdHJ1Y3Rpb25bM10udS5vcGVy
YW5kKTsKKyAgICAgICAgICAgIEZyb3plblZhbHVlKiBmcm96ZW4gPSBtX2dyYXBoLmZyZWV6ZVN0
cm9uZyhleHByKTsKKyAgICAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3Ry
dWN0aW9uWzFdLnUub3BlcmFuZCksCisgICAgICAgICAgICAgICAgYWRkVG9HcmFwaChOZXdGdW5j
dGlvbiwgT3BJbmZvKGZyb3plbiksIGdldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0
aW9uWzJdLnUub3BlcmFuZCkpKSk7CisgICAgICAgICAgICBORVhUX09QQ09ERShvcF9uZXdfYXJy
b3dfZnVuY19leHApOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgY2FzZSBvcF90eXBlb2Y6
IHsKICAgICAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFd
LnUub3BlcmFuZCksCiAgICAgICAgICAgICAgICAgYWRkVG9HcmFwaChUeXBlT2YsIGdldChWaXJ0
dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCkpKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKaW5kZXggOGVmNGRjZjE1
NjhiZDVlZGE0Yjg5N2U3Njg0YThjYmI5MWJmNmUwOC4uYWFiNTE2MjJmNmQ4ZGMxYjcyNGFjNTYx
ODQwNTg4NjQ2M2ZiYmRhOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdDYXBhYmlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2Fw
YWJpbGl0aWVzLmNwcApAQCAtMjAsNyArMjAsNyBAQAogICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQogICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCiAj
aW5jbHVkZSAiY29uZmlnLmgiCkBAIC05Myw3ICs5Myw3IEBAIGlubGluZSB2b2lkIGRlYnVnRmFp
bChDb2RlQmxvY2sqIGNvZGVCbG9jaywgT3Bjb2RlSUQgb3Bjb2RlSUQsIENhcGFiaWxpdHlMZXZl
bCByCiBDYXBhYmlsaXR5TGV2ZWwgY2FwYWJpbGl0eUxldmVsKE9wY29kZUlEIG9wY29kZUlELCBD
b2RlQmxvY2sqIGNvZGVCbG9jaywgSW5zdHJ1Y3Rpb24qIHBjKQogewogICAgIFVOVVNFRF9QQVJB
TShjb2RlQmxvY2spOyAvLyBUaGlzIGZ1bmN0aW9uIGRvZXMgc29tZSBieXRlY29kZSBwYXJzaW5n
LiBPcmRpbmFyaWx5IGJ5dGVjb2RlIHBhcnNpbmcgcmVxdWlyZXMgdGhlIG93bmluZyBDb2RlQmxv
Y2suIEl0J3Mgc29ydCBvZiBzdHJhbmdlIHRoYXQgd2UgZG9uJ3QgdXNlIGl0IGhlcmUgcmlnaHQg
bm93LgotICAgIAorCiAgICAgc3dpdGNoIChvcGNvZGVJRCkgewogICAgIGNhc2Ugb3BfZW50ZXI6
CiAgICAgY2FzZSBvcF90b3VjaF9lbnRyeToKQEAgLTIwOCw2ICsyMDgsOSBAQCBDYXBhYmlsaXR5
TGV2ZWwgY2FwYWJpbGl0eUxldmVsKE9wY29kZUlEIG9wY29kZUlELCBDb2RlQmxvY2sqIGNvZGVC
bG9jaywgSW5zdHJ1YwogICAgIGNhc2Ugb3BfbmV3X2Z1bmM6CiAgICAgY2FzZSBvcF9uZXdfZnVu
Y19leHA6CiAgICAgY2FzZSBvcF9jcmVhdGVfbGV4aWNhbF9lbnZpcm9ubWVudDoKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNf
ZXhwOgorI2VuZGlmCiAgICAgICAgIHJldHVybiBDYW5Db21waWxlQW5kSW5saW5lOwogCiAgICAg
Y2FzZSBvcF9wdXRfdG9fc2NvcGU6IHsKQEAgLTI0Miw3ICsyNDUsNyBAQCBDYXBhYmlsaXR5TGV2
ZWwgY2FwYWJpbGl0eUxldmVsKENvZGVCbG9jayogY29kZUJsb2NrKQogICAgIEluc3RydWN0aW9u
KiBpbnN0cnVjdGlvbnNCZWdpbiA9IGNvZGVCbG9jay0+aW5zdHJ1Y3Rpb25zKCkuYmVnaW4oKTsK
ICAgICB1bnNpZ25lZCBpbnN0cnVjdGlvbkNvdW50ID0gY29kZUJsb2NrLT5pbnN0cnVjdGlvbnMo
KS5zaXplKCk7CiAgICAgQ2FwYWJpbGl0eUxldmVsIHJlc3VsdCA9IENhbkNvbXBpbGVBbmRJbmxp
bmU7Ci0gICAgCisKICAgICBmb3IgKHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0ID0gMDsgYnl0ZWNv
ZGVPZmZzZXQgPCBpbnN0cnVjdGlvbkNvdW50OyApIHsKICAgICAgICAgc3dpdGNoIChpbnRlcnBy
ZXRlci0+Z2V0T3Bjb2RlSUQoaW5zdHJ1Y3Rpb25zQmVnaW5bYnl0ZWNvZGVPZmZzZXRdLnUub3Bj
b2RlKSkgewogI2RlZmluZSBERUZJTkVfT1Aob3Bjb2RlLCBsZW5ndGgpIFwKQEAgLTI2Miw3ICsy
NjUsNyBAQCBDYXBhYmlsaXR5TGV2ZWwgY2FwYWJpbGl0eUxldmVsKENvZGVCbG9jayogY29kZUJs
b2NrKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICB9Ci0gICAgCisKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50
ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL0ludGVycHJldGVyLmNwcAppbmRleCBiYzg4NWE2NDQ1MmZhMjQyZGMyNzcxMzk1ZDM0MGRl
NTNjMGQ5NDMzLi5mNzY3MjFhMWFhZWIwMzI2ZDAzMTlhNzQzOTQ3MTZhMmQzNWNkMDIxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAK
QEAgLTQ1LDYgKzQ1LDkgQEAKICNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJK
U0FycmF5LmgiCiAjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNlbmRp
ZgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVu
dC5oIgogI2luY2x1ZGUgIkpTTmFtZVNjb3BlLmgiCkBAIC05NywxMiArMTAwLDEyIEBAIEpTVmFs
dWUgZXZhbChDYWxsRnJhbWUqIGNhbGxGcmFtZSkKICAgICBKU1ZhbHVlIHByb2dyYW0gPSBjYWxs
RnJhbWUtPmFyZ3VtZW50KDApOwogICAgIGlmICghcHJvZ3JhbS5pc1N0cmluZygpKQogICAgICAg
ICByZXR1cm4gcHJvZ3JhbTsKLSAgICAKKwogICAgIFRvcENhbGxGcmFtZVNldHRlciB0b3BDYWxs
RnJhbWUoY2FsbEZyYW1lLT52bSgpLCBjYWxsRnJhbWUpOwogICAgIFN0cmluZyBwcm9ncmFtU291
cmNlID0gYXNTdHJpbmcocHJvZ3JhbSktPnZhbHVlKGNhbGxGcmFtZSk7CiAgICAgaWYgKGNhbGxG
cmFtZS0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlKCk7Ci0gICAgCisK
ICAgICBDYWxsRnJhbWUqIGNhbGxlckZyYW1lID0gY2FsbEZyYW1lLT5jYWxsZXJGcmFtZSgpOwog
ICAgIENvZGVCbG9jayogY2FsbGVyQ29kZUJsb2NrID0gY2FsbGVyRnJhbWUtPmNvZGVCbG9jaygp
OwogICAgIEpTU2NvcGUqIGNhbGxlclNjb3BlQ2hhaW4gPSBjYWxsZXJGcmFtZS0+dW5jaGVja2Vk
UihjYWxsZXJDb2RlQmxvY2stPnNjb3BlUmVnaXN0ZXIoKS5vZmZzZXQoKSkuUmVnaXN0ZXI6OnNj
b3BlKCk7CkBAIC0xMTksMTAgKzEyMiwxMCBAQCBKU1ZhbHVlIGV2YWwoQ2FsbEZyYW1lKiBjYWxs
RnJhbWUpCiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIExpdGVyYWxQYXJz
ZXI8VUNoYXI+IHByZXBhcnNlcihjYWxsRnJhbWUsIHByb2dyYW1Tb3VyY2UuY2hhcmFjdGVyczE2
KCksIHByb2dyYW1Tb3VyY2UubGVuZ3RoKCksIE5vblN0cmljdEpTT04pOwogICAgICAgICAgICAg
ICAgIGlmIChKU1ZhbHVlIHBhcnNlZE9iamVjdCA9IHByZXBhcnNlci50cnlMaXRlcmFsUGFyc2Uo
KSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNlZE9iamVjdDsgICAgICAgICAgICAg
ICAgCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBwYXJzZWRPYmplY3Q7CiAgICAgICAgICAg
ICB9CiAgICAgICAgIH0KLSAgICAgICAgCisKICAgICAgICAgLy8gSWYgdGhlIGxpdGVyYWwgcGFy
c2VyIGJhaWxlZCwgaXQgc2hvdWxkIG5vdCBoYXZlIHRocm93biBleGNlcHRpb25zLgogICAgICAg
ICBBU1NFUlQoIWNhbGxGcmFtZS0+dm0oKS5leGNlcHRpb24oKSk7CiAKQEAgLTE0MSwxMSArMTQ0
LDExIEBAIHVuc2lnbmVkIHNpemVPZlZhcmFyZ3MoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTVmFs
dWUgYXJndW1lbnRzLCB1aW50MzJfdCBmaXJzdFZhCiAgICAgaWYgKFVOTElLRUxZKCFhcmd1bWVu
dHMuaXNDZWxsKCkpKSB7CiAgICAgICAgIGlmIChhcmd1bWVudHMuaXNVbmRlZmluZWRPck51bGwo
KSkKICAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICAKKwogICAgICAgICBjYWxsRnJhbWUt
PnZtKCkudGhyb3dFeGNlcHRpb24oY2FsbEZyYW1lLCBjcmVhdGVJbnZhbGlkRnVuY3Rpb25BcHBs
eVBhcmFtZXRlckVycm9yKGNhbGxGcmFtZSwgYXJndW1lbnRzKSk7CiAgICAgICAgIHJldHVybiAw
OwogICAgIH0KLSAgICAKKwogICAgIEpTQ2VsbCogY2VsbCA9IGFyZ3VtZW50cy5hc0NlbGwoKTsK
ICAgICB1bnNpZ25lZCBsZW5ndGg7CiAgICAgc3dpdGNoIChjZWxsLT50eXBlKCkpIHsKQEAgLTE2
NiwyNSArMTY5LDI1IEBAIHVuc2lnbmVkIHNpemVPZlZhcmFyZ3MoQ2FsbEZyYW1lKiBjYWxsRnJh
bWUsIEpTVmFsdWUgYXJndW1lbnRzLCB1aW50MzJfdCBmaXJzdFZhCiAgICAgICAgICAgICBsZW5n
dGggPSBqc0Nhc3Q8SlNPYmplY3QqPihjZWxsKS0+Z2V0KGNhbGxGcmFtZSwgY2FsbEZyYW1lLT5w
cm9wZXJ0eU5hbWVzKCkubGVuZ3RoKS50b1VJbnQzMihjYWxsRnJhbWUpOwogICAgICAgICBicmVh
azsKICAgICB9Ci0gICAgCisKICAgICBpZiAobGVuZ3RoID49IGZpcnN0VmFyQXJnT2Zmc2V0KQog
ICAgICAgICBsZW5ndGggLT0gZmlyc3RWYXJBcmdPZmZzZXQ7CiAgICAgZWxzZQogICAgICAgICBs
ZW5ndGggPSAwOwotICAgIAorCiAgICAgcmV0dXJuIGxlbmd0aDsKIH0KIAogdW5zaWduZWQgc2l6
ZUZyYW1lRm9yVmFyYXJncyhDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNTdGFjayogc3RhY2ssIEpT
VmFsdWUgYXJndW1lbnRzLCB1bnNpZ25lZCBudW1Vc2VkU3RhY2tTbG90cywgdWludDMyX3QgZmly
c3RWYXJBcmdPZmZzZXQpCiB7CiAgICAgdW5zaWduZWQgbGVuZ3RoID0gc2l6ZU9mVmFyYXJncyhj
YWxsRnJhbWUsIGFyZ3VtZW50cywgZmlyc3RWYXJBcmdPZmZzZXQpOwotICAgIAorCiAgICAgQ2Fs
bEZyYW1lKiBjYWxsZWVGcmFtZSA9IGNhbGxlZUZyYW1lRm9yVmFyYXJncyhjYWxsRnJhbWUsIG51
bVVzZWRTdGFja1Nsb3RzLCBsZW5ndGggKyAxKTsKICAgICBpZiAobGVuZ3RoID4gbWF4QXJndW1l
bnRzIHx8ICFzdGFjay0+ZW5zdXJlQ2FwYWNpdHlGb3IoY2FsbGVlRnJhbWUtPnJlZ2lzdGVycygp
KSkgewogICAgICAgICB0aHJvd1N0YWNrT3ZlcmZsb3dFcnJvcihjYWxsRnJhbWUpOwogICAgICAg
ICByZXR1cm4gMDsKICAgICB9Ci0gICAgCisKICAgICByZXR1cm4gbGVuZ3RoOwogfQogCkBAIC0x
OTIsNyArMTk1LDcgQEAgdm9pZCBsb2FkVmFyYXJncyhDYWxsRnJhbWUqIGNhbGxGcmFtZSwgVmly
dHVhbFJlZ2lzdGVyIGZpcnN0RWxlbWVudERlc3QsIEpTVmFsdWUKIHsKICAgICBpZiAoVU5MSUtF
TFkoIWFyZ3VtZW50cy5pc0NlbGwoKSkpCiAgICAgICAgIHJldHVybjsKLSAgICAKKwogICAgIEpT
Q2VsbCogY2VsbCA9IGFyZ3VtZW50cy5hc0NlbGwoKTsKICAgICBzd2l0Y2ggKGNlbGwtPnR5cGUo
KSkgewogICAgIGNhc2UgRGlyZWN0QXJndW1lbnRzVHlwZToKQEAgLTIyMCwxMiArMjIzLDEyIEBA
IHZvaWQgbG9hZFZhcmFyZ3MoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIFZpcnR1YWxSZWdpc3RlciBm
aXJzdEVsZW1lbnREZXN0LCBKU1ZhbHVlCiB2b2lkIHNldHVwVmFyYXJnc0ZyYW1lKENhbGxGcmFt
ZSogY2FsbEZyYW1lLCBDYWxsRnJhbWUqIG5ld0NhbGxGcmFtZSwgSlNWYWx1ZSBhcmd1bWVudHMs
IHVpbnQzMl90IG9mZnNldCwgdWludDMyX3QgbGVuZ3RoKQogewogICAgIFZpcnR1YWxSZWdpc3Rl
ciBjYWxsZWVGcmFtZU9mZnNldChuZXdDYWxsRnJhbWUgLSBjYWxsRnJhbWUpOwotICAgIAorCiAg
ICAgbG9hZFZhcmFyZ3MoCiAgICAgICAgIGNhbGxGcmFtZSwKICAgICAgICAgY2FsbGVlRnJhbWVP
ZmZzZXQgKyBDYWxsRnJhbWU6OmFyZ3VtZW50T2Zmc2V0KDApLAogICAgICAgICBhcmd1bWVudHMs
IG9mZnNldCwgbGVuZ3RoKTsKLSAgICAKKwogICAgIG5ld0NhbGxGcmFtZS0+c2V0QXJndW1lbnRD
b3VudEluY2x1ZGluZ1RoaXMobGVuZ3RoICsgMSk7CiB9CiAKQEAgLTMzMSw3ICszMzQsNyBAQCB2
b2lkIEludGVycHJldGVyOjpkdW1wUmVnaXN0ZXJzKENhbGxGcmFtZSogY2FsbEZyYW1lKQogICAg
ICAgICBkYXRhTG9nRigiW3IlIDNkICUxNHNdICAgICAgfCAlMTBwIHwgJS0xNnMgMHglbGxkIFxu
IiwgcmVnaXN0ZXJOdW1iZXIsIG5hbWUuYXNjaWkoKS5kYXRhKCksIGl0LCB0b0NTdHJpbmcodiku
ZGF0YSgpLCAobG9uZyBsb25nKUpTVmFsdWU6OmVuY29kZSh2KSk7CiAgICAgICAgIC0taXQ7CiAg
ICAgfQotICAgIAorCiAgICAgZGF0YUxvZ0YoIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iKTsKICAg
ICBkYXRhTG9nRigiW0FyZ3VtZW50Q291bnRdICAgICAgICAgICAgfCAlMTBwIHwgJWx1IFxuIiwg
aXQsICh1bnNpZ25lZCBsb25nKSBjYWxsRnJhbWUtPmFyZ3VtZW50Q291bnQoKSk7CiAgICAgLS1p
dDsKQEAgLTUwNCw3ICs1MDcsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgU3RhY2tGcmFt
ZSBzID0geyBTdHJvbmc8SlNPYmplY3Q+KHZtLCB2aXNpdG9yLT5jYWxsZWUoKSksIFN0YWNrRnJh
bWVOYXRpdmVDb2RlLCBTdHJvbmc8RXhlY3V0YWJsZUJhc2U+KCksIFN0cm9uZzxVbmxpbmtlZENv
ZGVCbG9jaz4oKSwgMCwgMCwgMCwgMCwgMCwgU3RyaW5nKCl9OwogICAgICAgICAgICAgICAgIG1f
cmVzdWx0cy5hcHBlbmQocyk7CiAgICAgICAgICAgICB9Ci0gICAgCisKICAgICAgICAgICAgIG1f
cmVtYWluaW5nQ2FwYWNpdHlGb3JGcmFtZUNhcHR1cmUtLTsKICAgICAgICAgICAgIHJldHVybiBT
dGFja1Zpc2l0b3I6OkNvbnRpbnVlOwogICAgICAgICB9CkBAIC0xMDA3LDcgKzEwMTAsNyBAQCBD
YWxsRnJhbWVDbG9zdXJlIEludGVycHJldGVyOjpwcmVwYXJlRm9yUmVwZWF0Q2FsbChGdW5jdGlv
bkV4ZWN1dGFibGUqIGZ1bmN0aW9uRQogewogICAgIFZNJiB2bSA9ICpzY29wZS0+dm0oKTsKICAg
ICBBU1NFUlQoIXZtLmV4Y2VwdGlvbigpKTsKLSAgICAKKwogICAgIGlmICh2bS5pc0NvbGxlY3Rv
ckJ1c3koKSkKICAgICAgICAgcmV0dXJuIENhbGxGcmFtZUNsb3N1cmUoKTsKIApAQCAtMTAyOCwx
MSArMTAzMSwxMSBAQCBDYWxsRnJhbWVDbG9zdXJlIEludGVycHJldGVyOjpwcmVwYXJlRm9yUmVw
ZWF0Q2FsbChGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmN0aW9uRQogICAgIHJldHVybiByZXN1bHQ7
CiB9CiAKLUpTVmFsdWUgSW50ZXJwcmV0ZXI6OmV4ZWN1dGUoQ2FsbEZyYW1lQ2xvc3VyZSYgY2xv
c3VyZSkgCitKU1ZhbHVlIEludGVycHJldGVyOjpleGVjdXRlKENhbGxGcmFtZUNsb3N1cmUmIGNs
b3N1cmUpCiB7CiAgICAgVk0mIHZtID0gKmNsb3N1cmUudm07CiAgICAgU2FtcGxpbmdTY29wZSBz
YW1wbGluZ1Njb3BlKHRoaXMpOwotICAgIAorCiAgICAgQVNTRVJUKCF2bS5pc0NvbGxlY3RvckJ1
c3koKSk7CiAgICAgUkVMRUFTRV9BU1NFUlQodm0uY3VycmVudFRocmVhZElzSG9sZGluZ0FQSUxv
Y2soKSk7CiAgICAgaWYgKHZtLmlzQ29sbGVjdG9yQnVzeSgpKQpAQCAtMTA2NSw3ICsxMDY4LDcg
QEAgSlNWYWx1ZSBJbnRlcnByZXRlcjo6ZXhlY3V0ZShFdmFsRXhlY3V0YWJsZSogZXZhbCwgQ2Fs
bEZyYW1lKiBjYWxsRnJhbWUsIEpTVmFsdWUKIHsKICAgICBWTSYgdm0gPSAqc2NvcGUtPnZtKCk7
CiAgICAgU2FtcGxpbmdTY29wZSBzYW1wbGluZ1Njb3BlKHRoaXMpOwotICAgIAorCiAgICAgQVNT
RVJUKHNjb3BlLT52bSgpID09ICZjYWxsRnJhbWUtPnZtKCkpOwogICAgIEFTU0VSVCghdm0uZXhj
ZXB0aW9uKCkpOwogICAgIEFTU0VSVCghdm0uaXNDb2xsZWN0b3JCdXN5KCkpOwpAQCAtMTA3NSw3
ICsxMDc4LDcgQEAgSlNWYWx1ZSBJbnRlcnByZXRlcjo6ZXhlY3V0ZShFdmFsRXhlY3V0YWJsZSog
ZXZhbCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTVmFsdWUKIAogICAgIFZNRW50cnlTY29wZSBl
bnRyeVNjb3BlKHZtLCBzY29wZS0+Z2xvYmFsT2JqZWN0KCkpOwogICAgIGlmICghdm0uaXNTYWZl
VG9SZWN1cnNlKCkpCi0gICAgICAgIHJldHVybiBjaGVja2VkUmV0dXJuKHRocm93U3RhY2tPdmVy
Zmxvd0Vycm9yKGNhbGxGcmFtZSkpOyAgICAgICAgCisgICAgICAgIHJldHVybiBjaGVja2VkUmV0
dXJuKHRocm93U3RhY2tPdmVyZmxvd0Vycm9yKGNhbGxGcmFtZSkpOwogCiAgICAgdW5zaWduZWQg
bnVtVmFyaWFibGVzID0gZXZhbC0+bnVtVmFyaWFibGVzKCk7CiAgICAgaW50IG51bUZ1bmN0aW9u
cyA9IGV2YWwtPm51bWJlck9mRnVuY3Rpb25EZWNscygpOwpAQCAtMTE3Niw3ICsxMTc5LDcgQEAg
TkVWRVJfSU5MSU5FIHZvaWQgSW50ZXJwcmV0ZXI6OmRlYnVnKENhbGxGcmFtZSogY2FsbEZyYW1l
LCBEZWJ1Z0hvb2tJRCBkZWJ1Z0hvb2sKICAgICAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBB
U1NFUlQoIWNhbGxGcmFtZS0+aGFkRXhjZXB0aW9uKCkpOwotfSAgICAKK30KIAogdm9pZCBJbnRl
cnByZXRlcjo6ZW5hYmxlU2FtcGxlcigpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKaW5k
ZXggNDJhODJkNDM5NDYxNjJmOTVmYTQ3NDY3NTY3MTM5ZDRhYWYyMzg2Yi4uMTg2MGEwYWEzM2Iw
ODE5YzRmODU1MDg1ZjVlOGI3MGZhMjMyYTQzMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNw
cApAQCAtMjUzLDYgKzI1Myw5IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkK
ICAgICAgICAgREVGSU5FX09QKG9wX25ld19hcnJheV9idWZmZXIpCiAgICAgICAgIERFRklORV9P
UChvcF9uZXdfZnVuYykKICAgICAgICAgREVGSU5FX09QKG9wX25ld19mdW5jX2V4cCkKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBERUZJTkVfT1Aob3BfbmV3
X2Fycm93X2Z1bmNfZXhwKQorI2VuZGlmICAKICAgICAgICAgREVGSU5FX09QKG9wX25ld19vYmpl
Y3QpCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfcmVnZXhwKQogICAgICAgICBERUZJTkVfT1Ao
b3Bfbm90KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKaW5kZXggZWU0ODU1ZGMyZTc4YjU1YWNjNDU5
OWViZGI5OWEwZDhlMDhiZTdjYy4uNTYzOGQ1YzdjNzRhZWM3YzBhYjE5NWY5N2JiMzIxYmVlMDNj
NzM3YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCkBAIC01MjIsNiArNTIyLDkgQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfYXJyYXlfYnVmZmVyKEluc3RydWN0
aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfZnVuYyhJbnN0cnVjdGlvbiopOwogICAg
ICAgICB2b2lkIGVtaXRfb3BfbmV3X2Z1bmNfZXhwKEluc3RydWN0aW9uKik7CisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdm9pZCBlbWl0X29wX25ld19hcnJv
d19mdW5jX2V4cChJbnN0cnVjdGlvbiopOworI2VuZGlmCiAgICAgICAgIHZvaWQgZW1pdF9vcF9u
ZXdfb2JqZWN0KEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfcmVnZXhw
KEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9ub3QoSW5zdHJ1Y3Rpb24qKTsK
QEAgLTcwNSw2ICs3MDgsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgTWFjcm9Bc3NlbWJs
ZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSkosIGludCwgR1BSUmVnLCBH
UFJSZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklU
T3BlcmF0aW9uX0VKc2MsIEdQUlJlZyk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNh
bGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0MsIGludCwgR1BSUmVnLCBKU0NlbGwqKTsK
KyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlv
bl9FSnNjQ0osIGludCwgR1BSUmVnLCBKU0NlbGwqLCBHUFJSZWcpOwogICAgICAgICBNYWNyb0Fz
c2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2NaLCBHUFJSZWcs
IGludDMyX3QpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENf
SklUT3BlcmF0aW9uX0VKc2NaLCBpbnQsIEdQUlJlZywgaW50MzJfdCk7CiAjaWYgVVNFKEpTVkFM
VUU2NCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKaW5kZXggOWVlMjRkMDky
MjhhOTg4MmVhNzY5NjI5ZDFhODdiNmMzNGE4NjMzNC4uYTBlNDBjNWM2MWZlNjNlOTg2M2VkMjIz
ZWRmNWQ0NTFmMzE4YTc3NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgK
QEAgLTI3MSw2ICsyNzEsMTIgQEAgQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBK
SVQ6OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0Mgb3BlcmEKICAgICByZXR1cm4g
YXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldEpTVmFsdWVSZXN1bHQob3BlcmF0aW9uLCBk
c3QpOwogfQogCitBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9w
ZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0ogb3BlcmF0aW9uLCBpbnQgZHN0LCBHUFJSZWcg
YXJnMSwgSlNDZWxsKiBjZWxsLCBHUFJSZWcgYXJnMikKK3sKKyAgICBzZXR1cEFyZ3VtZW50c1dp
dGhFeGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSwgYXJnMik7CisgICAgcmV0dXJu
IGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRKU1ZhbHVlUmVzdWx0KG9wZXJhdGlvbiwg
ZHN0KTsKK30KKyAgICAKIEFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpj
YWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VQIG9wZXJhdGlvbiwgaW50IGRzdCwgdm9pZCog
cG9pbnRlcikKIHsKICAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0
cihwb2ludGVyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9w
Y29kZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAppbmRl
eCBkM2Q1ODBlOWUyNjAwODUzYjY2NDllMjg1OTE4Zjg1MzhiZTY5NDRjLi44OGUzYzA1MjM3NzFj
MWMxMTBiNGY2OWE4OTJiYjgwZmU0OWRmOGIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVE9wY29kZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUT3Bjb2Rlcy5jcHAKQEAgLTk3Miw2ICs5NzIsMzIgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfbmV3
X2Z1bmNfZXhwKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgY2FsbE9wZXJh
dGlvbihvcGVyYXRpb25OZXdGdW5jdGlvbiwgZHN0LCByZWdUMCwgZnVuY0V4cHIpOwogICAgIGRv
bmUubGluayh0aGlzKTsKIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
dm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwKEluc3RydWN0aW9uKiBjdXJyZW50
SW5zdHJ1Y3Rpb24pCit7CisgICAgSnVtcCBub3RVbmRlZmluZWRTY29wZTsKKyAgICBpbnQgZHN0
ID0gY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZDsKKyNpZiBVU0UoSlNWQUxVRTY0KQor
ICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFu
ZCwgcmVnVDApOworICAgIG5vdFVuZGVmaW5lZFNjb3BlID0gYnJhbmNoNjQoTm90RXF1YWwsIHJl
Z1QwLCBUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpKSk7CisgICAg
c3RvcmU2NChUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpKSwgQWRk
cmVzcyhjYWxsRnJhbWVSZWdpc3Rlciwgc2l6ZW9mKFJlZ2lzdGVyKSAqIGRzdCkpOworI2Vsc2UK
KyAgICBlbWl0TG9hZFBheWxvYWQoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCwgcmVn
VDApOworICAgIG5vdFVuZGVmaW5lZFNjb3BlID0gYnJhbmNoMzIoTm90RXF1YWwsIHRhZ0Zvcihj
dXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSwgVHJ1c3RlZEltbTMyKEpTVmFsdWU6OlVu
ZGVmaW5lZFRhZykpOworICAgIGVtaXRTdG9yZShkc3QsIGpzVW5kZWZpbmVkKCkpOworI2VuZGlm
CisgICAgSnVtcCBkb25lID0ganVtcCgpOworICAgIG5vdFVuZGVmaW5lZFNjb3BlLmxpbmsodGhp
cyk7CisgICAgCisvLyBGaXhtZTogaXMgdGhlcmUgbmVjZXNzYXJ5IHRvIGRvIHNvbWUgY2hlY2sg
Zm9yIDY0LzMyIGJpdCBhbmQgbWFrZSBzb21lIGFkZGl0aW9uYWwgY2hlY2tzPworICAgIGludCB2
YWx1ZVRvUHJvZmlsZSA9IGN1cnJlbnRJbnN0cnVjdGlvbls0XS51Lm9wZXJhbmQ7CisgICAgZW1p
dEdldFZpcnR1YWxSZWdpc3Rlcih2YWx1ZVRvUHJvZmlsZSwgcmVnVDEpOworICAgIAorICAgIEZ1
bmN0aW9uRXhlY3V0YWJsZSogZnVuY0V4cHIgPSBtX2NvZGVCbG9jay0+ZnVuY3Rpb25FeHByKGN1
cnJlbnRJbnN0cnVjdGlvblszXS51Lm9wZXJhbmQpOworICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0
aW9uTmV3QXJyb3dGdW5jdGlvbiwgZHN0LCByZWdUMCwgZnVuY0V4cHIsIHJlZ1QxKTsKKyAgICBk
b25lLmxpbmsodGhpcyk7Cit9CisjZW5kaWYKIAogdm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2FycmF5
KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAppbmRleCBjNjUxZWFjNzZmYzllNzhhZmY4Y2JiNDQ1
OGMyMTc0M2E5NTVkYTUwLi42YmIzNWQwZjQxZWIyODkyOTFhYWM2ZjNiNzAxNTYxYjE2NmQ4MDIz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTQy
LDYgKzQyLDggQEAKICNpbmNsdWRlICJIb3N0Q2FsbFJldHVyblZhbHVlLmgiCiAjaW5jbHVkZSAi
SklULmgiCiAjaW5jbHVkZSAiSklUVG9ERkdEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suaCIK
KyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24u
aCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDYXRjaFNjb3BlLmgiCiAj
aW5jbHVkZSAiSlNGdW5jdGlvbk5hbWVTY29wZS5oIgpAQCAtOTMyLDcgKzkzNCwyMiBAQCBFbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Z1bmN0aW9uKEV4ZWNTdGF0ZSog
ZXhlYywgSlNTY29wZSogc2NvcAogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZt
LCBleGVjKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTRnVuY3Rpb246OmNyZWF0ZSh2
bSwgc3RhdGljX2Nhc3Q8RnVuY3Rpb25FeGVjdXRhYmxlKj4oZnVuY3Rpb25FeGVjdXRhYmxlKSwg
c2NvcGUpKTsKIH0KLQorICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24o
RXhlY1N0YXRlKiBleGVjLCBKU1Njb3BlKiBzY29wZSwgSlNDZWxsKiBmdW5jdGlvbkV4ZWN1dGFi
bGUsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSkKK3sKKyAgICBBU1NFUlQoZnVuY3Rpb25FeGVj
dXRhYmxlLT5pbmhlcml0cyhGdW5jdGlvbkV4ZWN1dGFibGU6OmluZm8oKSkpOworICAgIFZNJiB2
bSA9IGV4ZWMtPnZtKCk7CisgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4
ZWMpOworICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBleGVjLT5jYWxsZWUoKS0+
Z2xvYmFsT2JqZWN0KCk7CisgICAgSlNGdW5jdGlvbiogZnVuYyA9IEpTQXJyb3dGdW5jdGlvbjo6
Y3JlYXRlKHZtLCBzY29wZSwgc3RhdGljX2Nhc3Q8RnVuY3Rpb25FeGVjdXRhYmxlKj4oZnVuY3Rp
b25FeGVjdXRhYmxlKSwgZ2xvYmFsT2JqZWN0KTsKKyAgICAKKyAgICBKU0FycmF5KiBib3VuZEFy
Z3MgPSBKU0FycmF5Ojp0cnlDcmVhdGVVbmluaXRpYWxpemVkKHZtLCBnbG9iYWxPYmplY3QtPmFy
cmF5U3RydWN0dXJlRm9ySW5kZXhpbmdUeXBlRHVyaW5nQWxsb2NhdGlvbihBcnJheVdpdGhVbmRl
Y2lkZWQpLCAwKTsKKyAgICAKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTQm91bmRGdW5j
dGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIGZ1bmMsIEpTVmFsdWU6OmRlY29kZSh0aGlz
VmFsdWUpLCBib3VuZEFyZ3MsIDAsICIiKSk7Cit9CisjZW5kaWYKKyAgICAKIEpTQ2VsbCogSklU
X09QRVJBVElPTiBvcGVyYXRpb25OZXdPYmplY3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSkKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKaW5kZXggNGRlY2VmNGViOGI0OGJiOTM3ZDU0ZDBi
NjA0YjliNzc2N2E0ZWE2MS4uZDcxN2Y2ZmU5NGRjYTFkY2YzM2JkODY2ZTYyMjg1OGI1Njk3MTUw
MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKQEAgLTExNiw2
ICsxMTYsNyBAQCB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9w
ZXJhdGlvbl9FUFApKEV4ZWNTdGF0ZSosIHZvaWQqLCB2bwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1
ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVBTKShFeGVjU3RhdGUqLCB2b2lkKiwg
c2l6ZV90KTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3Bl
cmF0aW9uX0VQYykoRXhlY1N0YXRlKiwgSW5zdHJ1Y3Rpb24qKTsKIHR5cGVkZWYgRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VKc2NDKShFeGVjU3RhdGUqLCBK
U1Njb3BlKiwgSlNDZWxsKik7Cit0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04g
KCpKX0pJVE9wZXJhdGlvbl9FSnNjQ0opKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqLCBF
bmNvZGVkSlNWYWx1ZSk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpK
X0pJVE9wZXJhdGlvbl9FU1MpKEV4ZWNTdGF0ZSosIHNpemVfdCwgc2l6ZV90KTsKIHR5cGVkZWYg
RW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTc2lDSSkoRXhl
Y1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBKU0NlbGwqLCBTdHJpbmdJbXBsKik7CiB0eXBl
ZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FU3NpSkkp
KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUsIFN0cmluZ0lt
cGwqKTsKQEAgLTI3OCw2ICsyNzksMTAgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBv
cGVyYXRpb25OZXdBcnJheVdpdGhQcm9maWxlKEV4ZWNTdGF0ZSosIEFycmF5QWxsb2MKIEVuY29k
ZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXlCdWZmZXJXaXRoUHJvZmls
ZShFeGVjU3RhdGUqLCBBcnJheUFsbG9jYXRpb25Qcm9maWxlKiwgY29uc3QgSlNWYWx1ZSogdmFs
dWVzLCBpbnQzMl90IHNpemUpIFdURl9JTlRFUk5BTDsKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uTmV3QXJyYXlXaXRoU2l6ZUFuZFByb2ZpbGUoRXhlY1N0YXRlKiwgQXJy
YXlBbGxvY2F0aW9uUHJvZmlsZSosIEVuY29kZWRKU1ZhbHVlIHNpemUpIFdURl9JTlRFUk5BTDsK
IEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3RnVuY3Rpb24oRXhlY1N0
YXRlKiwgSlNTY29wZSosIEpTQ2VsbCopIFdURl9JTlRFUk5BTDsKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRp
b25OZXdBcnJvd0Z1bmN0aW9uKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqLCBFbmNvZGVk
SlNWYWx1ZSkgV1RGX0lOVEVSTkFMOworI2VuZGlmCisgICAgCiBKU0NlbGwqIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uTmV3T2JqZWN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSopIFdURl9JTlRFUk5B
TDsKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3UmVnZXhwKEV4ZWNT
dGF0ZSosIHZvaWQqKSBXVEZfSU5URVJOQUw7CiB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
SGFuZGxlV2F0Y2hkb2dUaW1lcihFeGVjU3RhdGUqKSBXVEZfSU5URVJOQUw7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAppbmRleCBkYjQzMTBlYzU2
OTllZjllZGM5OGM1MzNjMjk5NGNmYmM1YjM5MzFkLi4wZjVmNTYwZDkzMTI4YWYyODQ3YzA3MjEz
YmEzNDRiOWU4NjhiMjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TExJbnRTbG93UGF0aHMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTElu
dFNsb3dQYXRocy5jcHAKQEAgLTM4LDYgKzM4LDEwIEBACiAjaW5jbHVkZSAiSW50ZXJwcmV0ZXIu
aCIKICNpbmNsdWRlICJKSVQuaCIKICNpbmNsdWRlICJKSVRFeGNlcHRpb25zLmgiCisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24u
aCIKKyNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKKyNlbmRpZgogI2luY2x1ZGUgIkpTTGV4
aWNhbEVudmlyb25tZW50LmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpT
Q0pTVmFsdWUuaCIKQEAgLTk5Miw2ICs5OTYsMjQgQEAgTExJTlRfU0xPV19QQVRIX0RFQ0woc2xv
d19wYXRoX25ld19mdW5jX2V4cCkKICAgICBMTElOVF9SRVRVUk4oZnVuYyk7CiB9CiAKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorTExJTlRfU0xPV19QQVRIX0RFQ0woc2xv
d19wYXRoX25ld19hcnJvd19mdW5jX2V4cCkKK3sKKyAgICBMTElOVF9CRUdJTigpOworICAgIENv
ZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+Y29kZUJsb2NrKCk7CisgICAgSlNTY29wZSogc2Nv
cGUgPSBleGVjLT51bmNoZWNrZWRSKHBjWzJdLnUub3BlcmFuZCkuUmVnaXN0ZXI6OnNjb3BlKCk7
CisgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlvbiA9IGNvZGVCbG9jay0+ZnVuY3Rpb25F
eHByKHBjWzNdLnUub3BlcmFuZCk7CisgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBMTElOVF9PUF9D
KDQpLmpzVmFsdWUoKTsKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZXhlYy0+
Y2FsbGVlKCktPmdsb2JhbE9iamVjdCgpOworICAgIAorICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBK
U0Fycm93RnVuY3Rpb246OmNyZWF0ZSh2bSwgc2NvcGUsIGZ1bmN0aW9uLCBnbG9iYWxPYmplY3Qp
OworICAgIAorICAgIEpTQXJyYXkqIGJvdW5kQXJncyA9IEpTQXJyYXk6OnRyeUNyZWF0ZVVuaW5p
dGlhbGl6ZWQodm0sIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5cGVE
dXJpbmdBbGxvY2F0aW9uKEFycmF5V2l0aFVuZGVjaWRlZCksIDApOworICAgIAorICAgIExMSU5U
X1JFVFVSTihKU0JvdW5kRnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBmdW5jLCB0
aGlzVmFsdWUsIGJvdW5kQXJncywgMCwgIiIpKTsKK30KKyNlbmRpZgorCiBzdGF0aWMgU2xvd1Bh
dGhSZXR1cm5UeXBlIGhhbmRsZUhvc3RDYWxsKEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSwgSW5zdHJ1
Y3Rpb24qIHBjLCBKU1ZhbHVlIGNhbGxlZSwgQ29kZVNwZWNpYWxpemF0aW9uS2luZCBraW5kKQog
ewogICAgIFVOVVNFRF9QQVJBTShwYyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
TEludFNsb3dQYXRocy5oCmluZGV4IDRiZjdkZWIwZmEwYjZjNjQzOGUzNmY5NjMyMGUyZjY2OTcz
OWFmNjQuLmM3ZmFiOTY5MWMxOGI5Mzk1NmQwZWEyOWYzMzk1NjExOGM1ZTcxZWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCkBAIC05Niw2ICs5Niw3
IEBAIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfc3dpdGNoX2NoYXIpOwog
TExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9zd2l0Y2hfc3RyaW5nKTsKIExM
SU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfbmV3X2Z1bmMpOwogTExJTlRfU0xP
V19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuY19leHApOworTExJTlRfU0xPV19Q
QVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApOwogTExJTlRfU0xP
V19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9jYWxsKTsKIExMSU5UX1NMT1dfUEFUSF9ISURE
RU5fREVDTChzbG93X3BhdGhfY29uc3RydWN0KTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVD
TChzbG93X3BhdGhfc2l6ZV9mcmFtZV9mb3JfdmFyYXJncyk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20gYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KaW5kZXggNDNlZDdlOGYy
ZTE4NzQ5MmVmMGIwODU1ZWNmYjcyNjc5ODU5MTc3YS4uZThhY2MyMDdkZWIxOGRjODQ5ZDk5YTMw
YmI0YmQ0MjkyZTg3MWE0NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQpAQCAtMTE3MSw2ICsxMTcxLDEwIEBAIF9sbGludF9v
cF9uZXdfZnVuY19leHA6CiAgICAgY2FsbFNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfbmV3X2Z1
bmNfZXhwKQogICAgIGRpc3BhdGNoKDQpCiAKK19sbGludF9vcF9uZXdfYXJyb3dfZnVuY19leHA6
CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxTbG93UGF0aChfbGxpbnRfc2xvd19wYXRo
X25ld19hcnJvd19mdW5jX2V4cCkKKyAgICBkaXNwYXRjaCg1KQogCiBfbGxpbnRfb3BfY2FsbDoK
ICAgICB0cmFjZUV4ZWN1dGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL0FTVEJ1aWxkZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVp
bGRlci5oCmluZGV4IGM0OGU0MWM1ODY1ZGZkNTAwNzRmNDlkYmExM2RjNzQ2Mjk2NjNlZDEuLmI4
YTA2ZmJlMzBjNThmMDBkYzIyZTI3MGM3NzI1NGJiOGVmOWMwMGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCkBAIC01NSw4ICs1NSw4IEBAIGNsYXNzIEFTVEJ1
aWxkZXIgewogICAgICAgICBKU1RleHRQb3NpdGlvbiBlbmQ7CiAgICAgICAgIGJvb2wgaGFzQXNz
aWdubWVudDsKICAgICB9OwotICAgIAotICAgIAorCisKICAgICBzdHJ1Y3QgQXNzaWdubWVudElu
Zm8gewogICAgICAgICBBc3NpZ25tZW50SW5mbygpIHt9CiAgICAgICAgIEFzc2lnbm1lbnRJbmZv
KEV4cHJlc3Npb25Ob2RlKiBub2RlLCBjb25zdCBKU1RleHRQb3NpdGlvbiYgc3RhcnQsIGNvbnN0
IEpTVGV4dFBvc2l0aW9uJiBkaXZvdCwgaW50IGluaXRBc3NpZ25tZW50cywgT3BlcmF0b3Igb3Ap
CkBAIC04Myw3ICs4Myw3IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX2V2YWxDb3VudCgwKQogICAg
IHsKICAgICB9Ci0gICAgCisKICAgICBzdHJ1Y3QgQmluYXJ5RXhwckNvbnRleHQgewogICAgICAg
ICBCaW5hcnlFeHByQ29udGV4dChBU1RCdWlsZGVyJikge30KICAgICB9OwpAQCAtMzAyLDE3ICsz
MDIsMzAgQEAgcHVibGljOgogICAgIH0KIAogICAgIEZ1bmN0aW9uQm9keU5vZGUqIGNyZWF0ZUZ1
bmN0aW9uQm9keSgKLSAgICAgICAgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBzdGFydExvY2F0aW9u
LCBjb25zdCBKU1Rva2VuTG9jYXRpb24mIGVuZExvY2F0aW9uLCAKLSAgICAgICAgdW5zaWduZWQg
c3RhcnRDb2x1bW4sIHVuc2lnbmVkIGVuZENvbHVtbiwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0
LCAKLSAgICAgICAgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBi
b29sIGluU3RyaWN0Q29udGV4dCwgCisgICAgICAgIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgc3Rh
cnRMb2NhdGlvbiwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBlbmRMb2NhdGlvbiwKKyAgICAgICAg
dW5zaWduZWQgc3RhcnRDb2x1bW4sIHVuc2lnbmVkIGVuZENvbHVtbiwgaW50IGZ1bmN0aW9uS2V5
d29yZFN0YXJ0LAorICAgICAgICBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIGludCBwYXJhbWV0ZXJz
U3RhcnQsIGJvb2wgaW5TdHJpY3RDb250ZXh0LAogICAgICAgICBDb25zdHJ1Y3RvcktpbmQgY29u
c3RydWN0b3JLaW5kKQogICAgIHsKICAgICAgICAgcmV0dXJuIG5ldyAobV9wYXJzZXJBcmVuYSkg
RnVuY3Rpb25Cb2R5Tm9kZSgKLSAgICAgICAgICAgIG1fcGFyc2VyQXJlbmEsIHN0YXJ0TG9jYXRp
b24sIGVuZExvY2F0aW9uLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCAKLSAgICAgICAgICAgIGZ1
bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCAK
KyAgICAgICAgICAgIG1fcGFyc2VyQXJlbmEsIHN0YXJ0TG9jYXRpb24sIGVuZExvY2F0aW9uLCBz
dGFydENvbHVtbiwgZW5kQ29sdW1uLAorICAgICAgICAgICAgZnVuY3Rpb25LZXl3b3JkU3RhcnQs
IGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsCiAgICAgICAgICAgICBpblN0cmlj
dENvbnRleHQsIGNvbnN0cnVjdG9yS2luZCk7CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBFeHByZXNzaW9uTm9kZSogY3JlYXRlQXJyb3dGdW5jdGlv
bkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29uc3QgUGFyc2VyRnVuY3Rp
b25JbmZvPEFTVEJ1aWxkZXI+JiBpbmZvKQorICAgIHsKKyAgICAgICAgU291cmNlQ29kZSBzb3Vy
Y2UgPSBpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUV4cHJl
c3Npb24KKyAgICAgICAgPyBtX3NvdXJjZUNvZGUtPnN1YkFycm93RXhwcmVzc2lvbihpbmZvLmFy
cm93RnVuY3Rpb25PZmZzZXQsIGluZm8uY2xvc2VCcmFjZU9mZnNldCwgaW5mby5ib2R5U3RhcnRM
aW5lLCBpbmZvLmJvZHlTdGFydENvbHVtbikKKyAgICAgICAgOiBtX3NvdXJjZUNvZGUtPnN1YkV4
cHJlc3Npb24oaW5mby5vcGVuQnJhY2VPZmZzZXQsIGluZm8uY2xvc2VCcmFjZU9mZnNldCwgaW5m
by5ib2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlTdGFydENvbHVtbik7CisKKyAgICAgICAgQXJyb3dG
dW5jRXhwck5vZGUqIHJlc3VsdCA9IG5ldyAobV9wYXJzZXJBcmVuYSkgQXJyb3dGdW5jRXhwck5v
ZGUobG9jYXRpb24sICppbmZvLm5hbWUsIGluZm8uYm9keSwgc291cmNlLCBpbmZvLnBhcmFtZXRl
cnMpOworICAgICAgICBpbmZvLmJvZHktPnNldExvYyhpbmZvLmJvZHlTdGFydExpbmUsIGluZm8u
Ym9keUVuZExpbmUsIGxvY2F0aW9uLnN0YXJ0T2Zmc2V0LCBsb2NhdGlvbi5saW5lU3RhcnRPZmZz
ZXQpOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKyNlbmRpZgorCiAgICAgTkVWRVJf
SU5MSU5FIFByb3BlcnR5Tm9kZSogY3JlYXRlR2V0dGVyT3JTZXR0ZXJQcm9wZXJ0eShjb25zdCBK
U1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBQcm9wZXJ0eU5vZGU6OlR5cGUgdHlwZSwgYm9vbCwK
ICAgICAgICAgY29uc3QgSWRlbnRpZmllciogbmFtZSwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZv
PEFTVEJ1aWxkZXI+JiBpbmZvLCBTdXBlckJpbmRpbmcgc3VwZXJCaW5kaW5nKQogICAgIHsKQEAg
LTMyMyw3ICszMzYsNyBAQCBwdWJsaWM6CiAgICAgICAgIEZ1bmNFeHByTm9kZSogZnVuY0V4cHIg
PSBuZXcgKG1fcGFyc2VyQXJlbmEpIEZ1bmNFeHByTm9kZShsb2NhdGlvbiwgbV92bS0+cHJvcGVy
dHlOYW1lcy0+bnVsbElkZW50aWZpZXIsIGluZm8uYm9keSwgc291cmNlLCBpbmZvLnBhcmFtZXRl
cnMpOwogICAgICAgICByZXR1cm4gbmV3IChtX3BhcnNlckFyZW5hKSBQcm9wZXJ0eU5vZGUoKm5h
bWUsIGZ1bmNFeHByLCB0eXBlLCBQcm9wZXJ0eU5vZGU6OlVua25vd24sIHN1cGVyQmluZGluZyk7
CiAgICAgfQotICAgIAorCiAgICAgTkVWRVJfSU5MSU5FIFByb3BlcnR5Tm9kZSogY3JlYXRlR2V0
dGVyT3JTZXR0ZXJQcm9wZXJ0eShWTSogdm0sIFBhcnNlckFyZW5hJiBwYXJzZXJBcmVuYSwgY29u
c3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgUHJvcGVydHlOb2RlOjpUeXBlIHR5cGUsIGJv
b2wsCiAgICAgICAgIGRvdWJsZSBuYW1lLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88QVNUQnVp
bGRlcj4mIGluZm8sIFN1cGVyQmluZGluZyBzdXBlckJpbmRpbmcpCiAgICAgewpAQCAtNDIxLDEz
ICs0MzQsMTMgQEAgcHVibGljOgogICAgICAgICBzZXRFeGNlcHRpb25Mb2NhdGlvbihyZXN1bHQs
IGVTdGFydCwgZURpdm90LCBlRW5kKTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0g
ICAgCisKICAgICBTdGF0ZW1lbnROb2RlKiBjcmVhdGVGb3JJbkxvb3AoY29uc3QgSlNUb2tlbkxv
Y2F0aW9uJiBsb2NhdGlvbiwgUGFzc1JlZlB0cjxEZWNvbnN0cnVjdGlvblBhdHRlcm5Ob2RlPiBw
YXR0ZXJuLCBFeHByZXNzaW9uTm9kZSogaXRlciwgU3RhdGVtZW50Tm9kZSogc3RhdGVtZW50cywg
Y29uc3QgSlNUZXh0UG9zaXRpb24mIGVTdGFydCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGVEaXZv
dCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGVFbmQsIGludCBzdGFydCwgaW50IGVuZCkKICAgICB7
CiAgICAgICAgIGF1dG8gbGV4cHIgPSBuZXcgKG1fcGFyc2VyQXJlbmEpIERlY29uc3RydWN0aW5n
QXNzaWdubWVudE5vZGUobG9jYXRpb24sIHBhdHRlcm4uZ2V0KCksIDApOwogICAgICAgICByZXR1
cm4gY3JlYXRlRm9ySW5Mb29wKGxvY2F0aW9uLCBsZXhwciwgaXRlciwgc3RhdGVtZW50cywgZVN0
YXJ0LCBlRGl2b3QsIGVFbmQsIHN0YXJ0LCBlbmQpOwogICAgIH0KLSAgICAKKwogICAgIFN0YXRl
bWVudE5vZGUqIGNyZWF0ZUZvck9mTG9vcChjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9u
LCBFeHByZXNzaW9uTm9kZSogbGhzLCBFeHByZXNzaW9uTm9kZSogaXRlciwgU3RhdGVtZW50Tm9k
ZSogc3RhdGVtZW50cywgY29uc3QgSlNUZXh0UG9zaXRpb24mIGVTdGFydCwgY29uc3QgSlNUZXh0
UG9zaXRpb24mIGVEaXZvdCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGVFbmQsIGludCBzdGFydCwg
aW50IGVuZCkKICAgICB7CiAgICAgICAgIEZvck9mTm9kZSogcmVzdWx0ID0gbmV3IChtX3BhcnNl
ckFyZW5hKSBGb3JPZk5vZGUobG9jYXRpb24sIGxocywgaXRlciwgc3RhdGVtZW50cyk7CkBAIC00
MzUsNyArNDQ4LDcgQEAgcHVibGljOgogICAgICAgICBzZXRFeGNlcHRpb25Mb2NhdGlvbihyZXN1
bHQsIGVTdGFydCwgZURpdm90LCBlRW5kKTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9
Ci0gICAgCisKICAgICBTdGF0ZW1lbnROb2RlKiBjcmVhdGVGb3JPZkxvb3AoY29uc3QgSlNUb2tl
bkxvY2F0aW9uJiBsb2NhdGlvbiwgUGFzc1JlZlB0cjxEZWNvbnN0cnVjdGlvblBhdHRlcm5Ob2Rl
PiBwYXR0ZXJuLCBFeHByZXNzaW9uTm9kZSogaXRlciwgU3RhdGVtZW50Tm9kZSogc3RhdGVtZW50
cywgY29uc3QgSlNUZXh0UG9zaXRpb24mIGVTdGFydCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGVE
aXZvdCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGVFbmQsIGludCBzdGFydCwgaW50IGVuZCkKICAg
ICB7CiAgICAgICAgIGF1dG8gbGV4cHIgPSBuZXcgKG1fcGFyc2VyQXJlbmEpIERlY29uc3RydWN0
aW5nQXNzaWdubWVudE5vZGUobG9jYXRpb24sIHBhdHRlcm4uZ2V0KCksIDApOwpAQCAtNTMwLDgg
KzU0Myw4IEBAIHB1YmxpYzoKICAgICAgICAgV2l0aE5vZGUqIHJlc3VsdCA9IG5ldyAobV9wYXJz
ZXJBcmVuYSkgV2l0aE5vZGUobG9jYXRpb24sIGV4cHIsIHN0YXRlbWVudCwgZW5kLCBlbmQgLSBz
dGFydCk7CiAgICAgICAgIHJlc3VsdC0+c2V0TG9jKHN0YXJ0TGluZSwgZW5kTGluZSwgbG9jYXRp
b24uc3RhcnRPZmZzZXQsIGxvY2F0aW9uLmxpbmVTdGFydE9mZnNldCk7CiAgICAgICAgIHJldHVy
biByZXN1bHQ7Ci0gICAgfSAgICAKLSAgICAKKyAgICB9CisKICAgICBTdGF0ZW1lbnROb2RlKiBj
cmVhdGVUaHJvd1N0YXRlbWVudChjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBFeHBy
ZXNzaW9uTm9kZSogZXhwciwgY29uc3QgSlNUZXh0UG9zaXRpb24mIHN0YXJ0LCBjb25zdCBKU1Rl
eHRQb3NpdGlvbiYgZW5kKQogICAgIHsKICAgICAgICAgVGhyb3dOb2RlKiByZXN1bHQgPSBuZXcg
KG1fcGFyc2VyQXJlbmEpIFRocm93Tm9kZShsb2NhdGlvbiwgZXhwcik7CkBAIC01MzksMTQgKzU1
MiwxNCBAQCBwdWJsaWM6CiAgICAgICAgIHNldEV4Y2VwdGlvbkxvY2F0aW9uKHJlc3VsdCwgc3Rh
cnQsIGVuZCwgZW5kKTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0gICAgCisKICAg
ICBTdGF0ZW1lbnROb2RlKiBjcmVhdGVEZWJ1Z2dlcihjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxv
Y2F0aW9uLCBpbnQgc3RhcnRMaW5lLCBpbnQgZW5kTGluZSkKICAgICB7CiAgICAgICAgIERlYnVn
Z2VyU3RhdGVtZW50Tm9kZSogcmVzdWx0ID0gbmV3IChtX3BhcnNlckFyZW5hKSBEZWJ1Z2dlclN0
YXRlbWVudE5vZGUobG9jYXRpb24pOwogICAgICAgICByZXN1bHQtPnNldExvYyhzdGFydExpbmUs
IGVuZExpbmUsIGxvY2F0aW9uLnN0YXJ0T2Zmc2V0LCBsb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQp
OwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KLSAgICAKKwogICAgIFN0YXRlbWVudE5v
ZGUqIGNyZWF0ZUNvbnN0U3RhdGVtZW50KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24s
IENvbnN0RGVjbE5vZGUqIGRlY2xzLCBpbnQgc3RhcnRMaW5lLCBpbnQgZW5kTGluZSkKICAgICB7
CiAgICAgICAgIENvbnN0U3RhdGVtZW50Tm9kZSogcmVzdWx0ID0gbmV3IChtX3BhcnNlckFyZW5h
KSBDb25zdFN0YXRlbWVudE5vZGUobG9jYXRpb24sIGRlY2xzKTsKQEAgLTYyOSw3ICs2NDIsNyBA
QCBwdWJsaWM6CiAgICAgICAgIG1fYmluYXJ5T3BlcmFuZFN0YWNrLnJlbW92ZUxhc3QoKTsKICAg
ICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0gICAgCisKICAgICB2b2lkIGFwcGVuZFVuYXJ5
VG9rZW4oaW50JiB0b2tlblN0YWNrRGVwdGgsIGludCB0eXBlLCBjb25zdCBKU1RleHRQb3NpdGlv
biYgc3RhcnQpCiAgICAgewogICAgICAgICB0b2tlblN0YWNrRGVwdGgrKzsKQEAgLTY0MCwxOCAr
NjUzLDE4IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiBtX3VuYXJ5VG9rZW5TdGFj
ay5sYXN0KCkuZmlyc3Q7CiAgICAgfQotICAgIAorCiAgICAgY29uc3QgSlNUZXh0UG9zaXRpb24m
IHVuYXJ5VG9rZW5TdGFja0xhc3RTdGFydChpbnQmKQogICAgIHsKICAgICAgICAgcmV0dXJuIG1f
dW5hcnlUb2tlblN0YWNrLmxhc3QoKS5zZWNvbmQ7CiAgICAgfQotICAgIAorCiAgICAgdm9pZCB1
bmFyeVRva2VuU3RhY2tSZW1vdmVMYXN0KGludCYgdG9rZW5TdGFja0RlcHRoKQogICAgIHsKICAg
ICAgICAgdG9rZW5TdGFja0RlcHRoLS07CiAgICAgICAgIG1fdW5hcnlUb2tlblN0YWNrLnJlbW92
ZUxhc3QoKTsKICAgICB9Ci0gICAgCisKICAgICB2b2lkIGFzc2lnbm1lbnRTdGFja0FwcGVuZChp
bnQmIGFzc2lnbm1lbnRTdGFja0RlcHRoLCBFeHByZXNzaW9uTm9kZSogbm9kZSwgY29uc3QgSlNU
ZXh0UG9zaXRpb24mIHN0YXJ0LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZGl2b3QsIGludCBhc3Np
Z25tZW50Q291bnQsIE9wZXJhdG9yIG9wKQogICAgIHsKICAgICAgICAgYXNzaWdubWVudFN0YWNr
RGVwdGgrKzsKQEAgLTY2OCw3ICs2ODEsNyBAQCBwdWJsaWM6CiAgICAgICAgIGFzc2lnbm1lbnRT
dGFja0RlcHRoLS07CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIAorCiAgICAg
Y29uc3QgSWRlbnRpZmllciogZ2V0TmFtZShQcm9wZXJ0eSBwcm9wZXJ0eSkgY29uc3QgeyByZXR1
cm4gcHJvcGVydHktPm5hbWUoKTsgfQogICAgIFByb3BlcnR5Tm9kZTo6VHlwZSBnZXRUeXBlKFBy
b3BlcnR5IHByb3BlcnR5KSBjb25zdCB7IHJldHVybiBwcm9wZXJ0eS0+dHlwZSgpOyB9CiAKQEAg
LTY3OCwxMiArNjkxLDEyIEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiBuZXcgKG1f
cGFyc2VyQXJlbmEpIERlY29uc3RydWN0aW5nQXNzaWdubWVudE5vZGUobG9jYXRpb24sIHBhdHRl
cm4uZ2V0KCksIGluaXRpYWxpemVyKTsKICAgICB9Ci0gICAgCisKICAgICBBcnJheVBhdHRlcm4g
Y3JlYXRlQXJyYXlQYXR0ZXJuKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYpCiAgICAgewogICAgICAg
ICByZXR1cm4gQXJyYXlQYXR0ZXJuTm9kZTo6Y3JlYXRlKCk7CiAgICAgfQotICAgIAorCiAgICAg
dm9pZCBhcHBlbmRBcnJheVBhdHRlcm5Ta2lwRW50cnkoQXJyYXlQYXR0ZXJuIG5vZGUsIGNvbnN0
IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24pCiAgICAgewogICAgICAgICBub2RlLT5hcHBlbmRJ
bmRleChsb2NhdGlvbiwgMCk7CkBAIC02OTMsMTcgKzcwNiwxNyBAQCBwdWJsaWM6CiAgICAgewog
ICAgICAgICBub2RlLT5hcHBlbmRJbmRleChsb2NhdGlvbiwgcGF0dGVybi5nZXQoKSk7CiAgICAg
fQotICAgIAorCiAgICAgT2JqZWN0UGF0dGVybiBjcmVhdGVPYmplY3RQYXR0ZXJuKGNvbnN0IEpT
VG9rZW5Mb2NhdGlvbiYpCiAgICAgewogICAgICAgICByZXR1cm4gT2JqZWN0UGF0dGVybk5vZGU6
OmNyZWF0ZSgpOwogICAgIH0KLSAgICAKKwogICAgIHZvaWQgYXBwZW5kT2JqZWN0UGF0dGVybkVu
dHJ5KE9iamVjdFBhdHRlcm4gbm9kZSwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwg
Ym9vbCB3YXNTdHJpbmcsIGNvbnN0IElkZW50aWZpZXImIGlkZW50aWZpZXIsIERlY29uc3RydWN0
aW9uUGF0dGVybiBwYXR0ZXJuKQogICAgIHsKICAgICAgICAgbm9kZS0+YXBwZW5kRW50cnkobG9j
YXRpb24sIGlkZW50aWZpZXIsIHdhc1N0cmluZywgcGF0dGVybi5nZXQoKSk7CiAgICAgfQotICAg
IAorCiAgICAgQmluZGluZ1BhdHRlcm4gY3JlYXRlQmluZGluZ0xvY2F0aW9uKGNvbnN0IEpTVG9r
ZW5Mb2NhdGlvbiYsIGNvbnN0IElkZW50aWZpZXImIGJvdW5kUHJvcGVydHksIGNvbnN0IEpTVGV4
dFBvc2l0aW9uJiBzdGFydCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGVuZCkKICAgICB7CiAgICAg
ICAgIHJldHVybiBCaW5kaW5nTm9kZTo6Y3JlYXRlKGJvdW5kUHJvcGVydHksIHN0YXJ0LCBlbmQp
OwpAQCAtNzI4LDcgKzc0MSw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIG5vZGUtPnNldFN0
YXJ0T2Zmc2V0KG9mZnNldCk7CiAgICAgfQotICAgIAorCiBwcml2YXRlOgogICAgIHN0cnVjdCBT
Y29wZSB7CiAgICAgICAgIFNjb3BlKCkKQEAgLTc1Myw3ICs3NjYsNyBAQCBwcml2YXRlOgogICAg
IHZvaWQgdXNlc0NhdGNoKCkgeyBtX3Njb3BlLm1fZmVhdHVyZXMgfD0gQ2F0Y2hGZWF0dXJlOyB9
CiAgICAgdm9pZCB1c2VzQXJndW1lbnRzKCkgeyBtX3Njb3BlLm1fZmVhdHVyZXMgfD0gQXJndW1l
bnRzRmVhdHVyZTsgfQogICAgIHZvaWQgdXNlc1dpdGgoKSB7IG1fc2NvcGUubV9mZWF0dXJlcyB8
PSBXaXRoRmVhdHVyZTsgfQotICAgIHZvaWQgdXNlc0V2YWwoKSAKKyAgICB2b2lkIHVzZXNFdmFs
KCkKICAgICB7CiAgICAgICAgIG1fZXZhbENvdW50Kys7CiAgICAgICAgIG1fc2NvcGUubV9mZWF0
dXJlcyB8PSBFdmFsRmVhdHVyZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvTGV4ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAK
aW5kZXggN2RlMTQyMjBiYmRhNzI3MzhiNTczYTRiOTc4OGNlMGIzMmNjN2NlMy4uMGQ3OGY2ZTgz
ZTYzMjE2NzM3NjI2Nzk0OTUyZjYwZWMwYmNmMTJmOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9MZXhlci5jcHAKQEAgLTE0MjYsMTAgKzE0MjYsMjIgQEAgYm9vbCBMZXhlcjxUPjo6bmV4
dFRva2VuSXNDb2xvbigpCiAgICAgY29uc3QgVCogY29kZSA9IG1fY29kZTsKICAgICB3aGlsZSAo
Y29kZSA8IG1fY29kZUVuZCAmJiAoaXNXaGl0ZVNwYWNlKCpjb2RlKSB8fCBpc0xpbmVUZXJtaW5h
dG9yKCpjb2RlKSkpCiAgICAgICAgIGNvZGUrKzsKLSAgICAKKwogICAgIHJldHVybiBjb2RlIDwg
bV9jb2RlRW5kICYmICpjb2RlID09ICc6JzsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK3ZvaWQgTGV4ZXI8VD46OnNldFRv
a2VuUG9zaXRpb24oSlNUb2tlbiogdG9rZW5SZWNvcmQpCit7CisgICAgSlNUb2tlbkRhdGEqIHRv
a2VuRGF0YSA9ICZ0b2tlblJlY29yZC0+bV9kYXRhOworICAgIHRva2VuRGF0YS0+bGluZSA9IGxp
bmVOdW1iZXIoKTsKKyAgICB0b2tlbkRhdGEtPm9mZnNldCA9IGN1cnJlbnRPZmZzZXQoKTsKKyAg
ICB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCA9IGN1cnJlbnRMaW5lU3RhcnRPZmZzZXQoKTsK
KyAgICBBU1NFUlQodG9rZW5EYXRhLT5vZmZzZXQgPj0gdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZz
ZXQpOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgogSlNUb2tlblR5cGUgTGV4
ZXI8VD46OmxleChKU1Rva2VuKiB0b2tlblJlY29yZCwgdW5zaWduZWQgbGV4ZXJGbGFncywgYm9v
bCBzdHJpY3RNb2RlKQogewpAQCAtMTQ5Myw3ICsxNTA1LDEyIEBAIHN0YXJ0OgogICAgICAgICB9
CiAgICAgICAgIHRva2VuID0gR1Q7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ2hhcmFjdGVy
RXF1YWw6CisgICAgY2FzZSBDaGFyYWN0ZXJFcXVhbDogeworI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgICAgIHVpbnQzMl90IHNhdmVkbGluZU51bWJlciA9IHRva2Vu
RGF0YS0+bGluZTsKKyAgICAgICAgdWludDMyX3Qgc2F2ZWRPZmZzZXQgPSBjdXJyZW50T2Zmc2V0
KCk7CisgICAgICAgIHVpbnQzMl90IHNhdmVkTGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVT
dGFydE9mZnNldCgpOworI2VuZGlmCiAgICAgICAgIHNoaWZ0KCk7CiAgICAgICAgIGlmIChtX2N1
cnJlbnQgPT0gJz0nKSB7CiAgICAgICAgICAgICBzaGlmdCgpOwpAQCAtMTUwNSw4ICsxNTIyLDIy
IEBAIHN0YXJ0OgogICAgICAgICAgICAgdG9rZW4gPSBFUUVROwogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAg
ICBpZiAobV9jdXJyZW50ID09ICc+JykgeworICAgICAgICAgICAgc2hpZnQoKTsKKyAgICAgICAg
ICAgIHRva2VuID0gQVJST1dGVU5DVElPTjsKKworICAgICAgICAgICAgdG9rZW5EYXRhLT5saW5l
ID0gc2F2ZWRsaW5lTnVtYmVyOworICAgICAgICAgICAgdG9rZW5EYXRhLT5vZmZzZXQgPSBzYXZl
ZE9mZnNldDsKKyAgICAgICAgICAgIHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0ID0gc2F2ZWRM
aW5lU3RhcnRPZmZzZXQ7CisKKyAgICAgICAgICAgIEFTU0VSVCh0b2tlbkRhdGEtPm9mZnNldCA+
PSB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgfQorI2VuZGlmCiAgICAgICAgIHRva2VuID0gRVFVQUw7CiAgICAgICAgIGJyZWFrOworICAg
IH0KICAgICBjYXNlIENoYXJhY3Rlckxlc3M6CiAgICAgICAgIHNoaWZ0KCk7CiAgICAgICAgIGlm
IChtX2N1cnJlbnQgPT0gJyEnICYmIHBlZWsoMSkgPT0gJy0nICYmIHBlZWsoMikgPT0gJy0nKSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKaW5kZXggMmRmNTIxMzk5NTc4MjAwNzg1
YTE2NmUyMmE3MzI3NWUwZWE2MzA0ZC4uYTcwZjhkMmQ0Yjc0YjAwMzU1YzUyNDdkNjIyNDI0MGVl
YWJiYTc1MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaApAQCAtNTEsMTYgKzUx
LDE2IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIG1fa2V5d29yZFRhYmxlLmRlbGV0ZVRhYmxl
KCk7CiAgICAgfQotICAgIAorCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBWTTsKLSAgICAK
KwogICAgIFZNJiBtX3ZtOwogICAgIGNvbnN0IEhhc2hUYWJsZSBtX2tleXdvcmRUYWJsZTsKIH07
CiAKIGVudW0gTGV4ZXJGbGFncyB7Ci0gICAgTGV4ZXJGbGFnc0lnbm9yZVJlc2VydmVkV29yZHMg
PSAxLCAKKyAgICBMZXhlckZsYWdzSWdub3JlUmVzZXJ2ZWRXb3JkcyA9IDEsCiAgICAgTGV4ZXJG
bGFnc0RvbnRCdWlsZFN0cmluZ3MgPSAyLAogICAgIExleGV4RmxhZ3NEb250QnVpbGRLZXl3b3Jk
cyA9IDQKIH07CkBAIC04NCw3ICs4NCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldENvZGUoY29u
c3QgU291cmNlQ29kZSYsIFBhcnNlckFyZW5hKik7CiAgICAgdm9pZCBzZXRJc1JlcGFyc2luZygp
IHsgbV9pc1JlcGFyc2luZyA9IHRydWU7IH0KICAgICBib29sIGlzUmVwYXJzaW5nKCkgY29uc3Qg
eyByZXR1cm4gbV9pc1JlcGFyc2luZzsgfQotCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICB2b2lkIHNldFRva2VuUG9zaXRpb24oSlNUb2tlbiogdG9rZW5SZWNvcmQp
OworI2VuZGlmCiAgICAgSlNUb2tlblR5cGUgbGV4KEpTVG9rZW4qLCB1bnNpZ25lZCwgYm9vbCBz
dHJpY3RNb2RlKTsKICAgICBib29sIG5leHRUb2tlbklzQ29sb24oKTsKICAgICBpbnQgbGluZU51
bWJlcigpIGNvbnN0IHsgcmV0dXJuIG1fbGluZU51bWJlcjsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaAppbmRleCAwNTdiYzNkOTI4MDlmNDZi
MDYyNzFhYzAxMmFiZWNkNmM4OGE2ODRhLi45ZWUxZjlkYjhiMTNiMmJiMGQ0NGEyMjljZTgyN2Nl
MTNmNDRmNzM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVD
b25zdHJ1Y3RvcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25z
dHJ1Y3RvcnMuaApAQCAtNzgwLDYgKzc4MCwxMyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAg
bV9ib2R5LT5maW5pc2hQYXJzaW5nKHNvdXJjZSwgcGFyYW1ldGVyLCBpZGVudCwgRnVuY3Rpb25F
eHByZXNzaW9uKTsKICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgIGlubGluZSBBcnJvd0Z1bmNFeHByTm9kZTo6QXJyb3dGdW5jRXhwck5vZGUoY29uc3Qg
SlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIEZ1bmN0
aW9uQm9keU5vZGUqIGJvZHksIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgUGFyYW1ldGVyTm9k
ZSogcGFyYW1ldGVyKQorICAgICAgICA6IEZ1bmNFeHByTm9kZShsb2NhdGlvbiwgaWRlbnQsIGJv
ZHksIHNvdXJjZSwgcGFyYW1ldGVyKQorICAgIHsKKyAgICB9CisjZW5kaWYKKyAgICAKICAgICBp
bmxpbmUgRnVuY0RlY2xOb2RlOjpGdW5jRGVjbE5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBs
b2NhdGlvbiwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIEZ1bmN0aW9uQm9keU5vZGUqIGJvZHks
IGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgUGFyYW1ldGVyTm9kZSogcGFyYW1ldGVyKQogICAg
ICAgICA6IFN0YXRlbWVudE5vZGUobG9jYXRpb24pCiAgICAgICAgICwgbV9ib2R5KGJvZHkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKaW5kZXggMzY5NDEyMGIwNjhmN2M5MmY2OThl
YTdkNWVhMjNjMDI5NzY3OWJlZS4uMTY4YzM0ZDcxMzI0NGFiZTI2YzkzNjIxOWJiZDNmZTgwNjMy
M2Y5NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaApAQCAtMTU4LDYgKzE1OCw5
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNEb3RBY2Nlc3Nvck5v
ZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNEZWNv
bnN0cnVjdGlvbk5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFs
IGJvb2wgaXNGdW5jRXhwck5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Fycm93
RnVuY0V4cHJOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyNlbmRpZgogICAgICAgICB2
aXJ0dWFsIGJvb2wgaXNDb21tYU5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAg
ICB2aXJ0dWFsIGJvb2wgaXNTaW1wbGVBcnJheSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAg
ICAgICAgIHZpcnR1YWwgYm9vbCBpc0FkZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CkBAIC0x
NjUxLDYgKzE2NTQsMTkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIEZ1bmN0aW9uQm9keU5v
ZGUqIG1fYm9keTsKICAgICB9OwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICBjbGFzcyBBcnJvd0Z1bmNFeHByTm9kZSA6IHB1YmxpYyBGdW5jRXhwck5vZGUgewor
ICAgIHB1YmxpYzoKKyAgICAgICAgQXJyb3dGdW5jRXhwck5vZGUoY29uc3QgSlNUb2tlbkxvY2F0
aW9uJiwgY29uc3QgSWRlbnRpZmllciYsIEZ1bmN0aW9uQm9keU5vZGUqLCBjb25zdCBTb3VyY2VD
b2RlJiwgUGFyYW1ldGVyTm9kZSogPSAwKTsKKyAgICBwcml2YXRlOgorICAgICAgICB2aXJ0dWFs
IFJlZ2lzdGVySUQqIGVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYsIFJlZ2lzdGVySUQq
ID0gMCkgb3ZlcnJpZGU7CisgICAgICAgIAorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNGdW5jRXhw
ck5vZGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQorICAgICAgICAKKyAgICAg
ICAgdmlydHVhbCBib29sIGlzQXJyb3dGdW5jRXhwck5vZGUoKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiB0cnVlOyB9CisgICAgfTsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5U
QVgpCiAgICAgY2xhc3MgQ2xhc3NFeHByTm9kZSBmaW5hbCA6IHB1YmxpYyBFeHByZXNzaW9uTm9k
ZSB7CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCmlu
ZGV4IDVmNTFkYTI0YjQzODUzOWI3ZDViMGY0OTU0MTQ5MDk1NDYyNzI3MjYuLjZiNDI2OTRjYTMx
NTM2OWU1OGY2MzcyMmQ0NzM2MTU0OTQ0OWU3M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlci5jcHAKQEAgLTMxMCw3ICszMTAsNyBAQCBTdHJpbmcgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlSW5uZXIoKQogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgotdm9p
ZCBQYXJzZXI8TGV4ZXJUeXBlPjo6ZGlkRmluaXNoUGFyc2luZyhTb3VyY2VFbGVtZW50cyogc291
cmNlRWxlbWVudHMsIERlY2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayYgdmFyU3RhY2ssIAordm9p
ZCBQYXJzZXI8TGV4ZXJUeXBlPjo6ZGlkRmluaXNoUGFyc2luZyhTb3VyY2VFbGVtZW50cyogc291
cmNlRWxlbWVudHMsIERlY2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayYgdmFyU3RhY2ssCiAgICAg
RGVjbGFyYXRpb25TdGFja3M6OkZ1bmN0aW9uU3RhY2smIGZ1bmNTdGFjaywgQ29kZUZlYXR1cmVz
IGZlYXR1cmVzLCBpbnQgbnVtQ29uc3RhbnRzLCBJZGVudGlmaWVyU2V0JiBjYXB0dXJlZFZhcnMs
IGNvbnN0IFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+JiYgY2xvc2VkVmFyaWFibGVzKQogewog
ICAgIG1fc291cmNlRWxlbWVudHMgPSBzb3VyY2VFbGVtZW50czsKQEAgLTMyOCw4ICszMjgsMTMg
QEAgYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6YWxsb3dBdXRvbWF0aWNTZW1pY29sb24oKQogICAg
IHJldHVybiBtYXRjaChDTE9TRUJSQUNFKSB8fCBtYXRjaChFT0ZUT0spIHx8IG1fbGV4ZXItPnBy
ZXZUZXJtaW5hdG9yKCk7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVs
ZW1lbnRzKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBTb3VyY2VFbGVtZW50c01vZGUgbW9kZSwgRnVu
Y3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25QYXJzZVR5cGUpCisjZWxzZQogdGVtcGxhdGUgPHR5cGVu
YW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVs
ZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVy
JiBjb250ZXh0LCBTb3VyY2VFbGVtZW50c01vZGUgbW9kZSkKKyNlbmRpZgogewogICAgIGNvbnN0
IHVuc2lnbmVkIGxlbmd0aE9mVXNlU3RyaWN0TGl0ZXJhbCA9IDEyOyAvLyAidXNlIHN0cmljdCIu
bGVuZ3RoCiAgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHNvdXJjZUVsZW1lbnRzID0gY29udGV4dC5j
cmVhdGVTb3VyY2VFbGVtZW50cygpOwpAQCAtMzM4LDcgKzM0MywxMSBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VTb3VyY2VFbAogICAgIHVuc2lnbmVkIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwOwogICAg
IGF1dG8gc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CiAgICAgYm9vbCBoYXNTZXRTdHJp
Y3QgPSBmYWxzZTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHdo
aWxlIChUcmVlU3RhdGVtZW50IHN0YXRlbWVudCA9IHBhcnNlU3RhdGVtZW50KGNvbnRleHQsIGRp
cmVjdGl2ZSwgJmRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgsIGZ1bmN0aW9uUGFyc2VUeXBlKSkgewor
I2Vsc2UKICAgICB3aGlsZSAoVHJlZVN0YXRlbWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVu
dChjb250ZXh0LCBkaXJlY3RpdmUsICZkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoKSkgeworI2VuZGlm
CiAgICAgICAgIGlmIChtb2RlID09IENoZWNrRm9yU3RyaWN0TW9kZSAmJiAhc2Vlbk5vbkRpcmVj
dGl2ZSkgewogICAgICAgICAgICAgaWYgKGRpcmVjdGl2ZSkgewogICAgICAgICAgICAgICAgIC8v
ICJ1c2Ugc3RyaWN0IiBtdXN0IGJlIHRoZSBleGFjdCBsaXRlcmFsIHdpdGhvdXQgZXNjYXBlIHNl
cXVlbmNlcyBvciBsaW5lIGNvbnRpbnVhdGlvbi4KQEAgLTQ1Nyw3ICs0NjYsNyBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZVZhckRlY2xhcmF0aQogICAgIFRyZWVFeHByZXNzaW9uIGhlYWQgPSAwOwogICAgIFRyZWVF
eHByZXNzaW9uIHRhaWwgPSAwOwogICAgIGNvbnN0IElkZW50aWZpZXIqIGxhc3RJZGVudDsKLSAg
ICBKU1Rva2VuIGxhc3RJZGVudFRva2VuOyAKKyAgICBKU1Rva2VuIGxhc3RJZGVudFRva2VuOwog
ICAgIGRvIHsKICAgICAgICAgbGFzdElkZW50ID0gMDsKICAgICAgICAgbGFzdFBhdHRlcm4gPSAw
OwpAQCAtNTcwLDYgKzU3OSwzMiBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVE
ZWNvbnN0cnVjdGlvblBhdHRlcm4gUGFyc2VyPExleGVyVHlwZT46OmNyZWF0ZQogICAgIHJldHVy
biBjb250ZXh0LmNyZWF0ZUJpbmRpbmdMb2NhdGlvbih0b2tlbi5tX2xvY2F0aW9uLCBuYW1lLCB0
b2tlbi5tX3N0YXJ0UG9zaXRpb24sIHRva2VuLm1fZW5kUG9zaXRpb24pOwogfQogCisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5
cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvblN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4
dCkKK3sKKyAgICBBU1NFUlQobWF0Y2goQVJST1dGVU5DVElPTikpOworCisgICAgSlNUb2tlbkxv
Y2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CisgICAgc2VtYW50aWNGYWlsSWZGYWxz
ZShjdXJyZW50U2NvcGUoKS0+aXNGdW5jdGlvbigpLCAiUmV0dXJuIHN0YXRlbWVudHMgYXJlIG9u
bHkgdmFsaWQgaW5zaWRlIGFycm93IGZ1bmN0aW9ucyIpOworICAgIEpTVGV4dFBvc2l0aW9uIHN0
YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgSlNUZXh0UG9zaXRpb24gZW5kID0gdG9r
ZW5FbmRQb3NpdGlvbigpOworCisgICAgbmV4dCgpOworICAgIFRyZWVFeHByZXNzaW9uIGV4cHIg
PSBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKGNvbnRleHQpOworICAgIGZhaWxJZkZhbHNl
KGV4cHIsICJDYW5ub3QgcGFyc2UgdGhlIGFycm93IGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsKKyAg
ICBlbmQgPSBsYXN0VG9rZW5FbmRQb3NpdGlvbigpOworCisgICAgYm9vbCBjb3JyZWNBcnJvd0Zp
bmlzaCA9IG1hdGNoKFNFTUlDT0xPTikgfHwgbWF0Y2goQ09NTUEpIHx8IG1hdGNoKENMT1NFUEFS
RU4pIHx8IG1hdGNoKENMT1NFQlJBQ0UpIHx8IG1hdGNoKENMT1NFQlJBQ0tFVCkgfHwgbWF0Y2go
RU9GVE9LKTsKKyAgICBmYWlsSWZGYWxzZShjb3JyZWNBcnJvd0ZpbmlzaCwgIkV4cGVjdGVkIGEg
JzsnLCAnXScsICd9JywgJyknLCBvciAnLCcgZm9sbG93aW5nIGEgYXJyb3cgZnVuY3Rpb24gc3Rh
dGVtZW50Iik7CisKKyAgICBlbmQgPSB0b2tlbkVuZFBvc2l0aW9uKCk7CisgICAgc2V0RW5kT2ZT
dGF0ZW1lbnQoKTsKKworICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJldHVyblN0YXRlbWVudChs
b2NhdGlvbiwgZXhwciwgc3RhcnQsIGVuZCk7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVu
YW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlY29uc3Ry
dWN0aW9uUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6dHJ5UGFyc2VEZWNvbnN0cnVjdGlvblBh
dHRlcm5FeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewpAQCAtMTE0Myw4ICsxMTc4
LDEzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VCbG9ja1N0YXRlbWVuCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUg
TGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgY29u
c3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5n
dGgsIEZ1bmN0aW9uUGFyc2VUeXBlIHR5cGUpCisjZWxzZQogdGVtcGxhdGUgPHR5cGVuYW1lIExl
eGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0
IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3Ro
KQorI2VuZGlmCiB7CiAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVu
dERlcHRoKTsKICAgICBtX3N0YXRlbWVudERlcHRoKys7CkBAIC0xMTUzLDYgKzExOTMsMjcgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZVN0YXRlbWVudChUcmUKICAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7CiAgICAg
VHJlZVN0YXRlbWVudCByZXN1bHQgPSAwOwogICAgIGJvb2wgc2hvdWxkU2V0RW5kT2Zmc2V0ID0g
dHJ1ZTsKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgYm9vbCBo
YW5kbGVkID0gZmFsc2U7CisgICAgaWYgKHR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkg
eworICAgICAgICBzd2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7CisgICAgICAgIGNhc2UgQ0xPU0VQ
QVJFTjoKKyAgICAgICAgY2FzZSBDTE9TRUJSQUNLRVQ6CisgICAgICAgIGNhc2UgQ09NTUE6Cisg
ICAgICAgIGNhc2UgU0VNSUNPTE9OOiB7CisgICAgICAgICAgICByZXN1bHQgPSAwOworICAgICAg
ICAgICAgaGFuZGxlZCA9IHRydWU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAg
ICAgICBkZWZhdWx0OgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBp
ZiAoaGFuZGxlZCkKKyAgICAgICAgICAgIGdvdG8gZW5kU3RhdGVtZW5ldDsKKyAgICB9CisjZW5k
aWYKICAgICBzd2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7CiAgICAgY2FzZSBPUEVOQlJBQ0U6CiAg
ICAgICAgIHJlc3VsdCA9IHBhcnNlQmxvY2tTdGF0ZW1lbnQoY29udGV4dCk7CkBAIC0xMTk4LDYg
KzEyNTksMTEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmUKICAgICBjYXNlIEJSRUFLOgogICAg
ICAgICByZXN1bHQgPSBwYXJzZUJyZWFrU3RhdGVtZW50KGNvbnRleHQpOwogICAgICAgICBicmVh
azsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2UgQVJST1dG
VU5DVElPTjoKKyAgICAgICAgcmVzdWx0ID0gcGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KGNv
bnRleHQpOworICAgICAgICBicmVhazsKKyNlbmRpZgogICAgIGNhc2UgUkVUVVJOOgogICAgICAg
ICByZXN1bHQgPSBwYXJzZVJldHVyblN0YXRlbWVudChjb250ZXh0KTsKICAgICAgICAgYnJlYWs7
CkBAIC0xMjM5LDYgKzEzMDUsOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
dGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAgICAgICBi
cmVhazsKICAgICB9CiAKK2VuZFN0YXRlbWVuZXQ6CisKICAgICBpZiAocmVzdWx0ICYmIHNob3Vs
ZFNldEVuZE9mZnNldCkKICAgICAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQocmVzdWx0LCBtX2xh
c3RUb2tlbkVuZFBvc2l0aW9uLm9mZnNldCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTEyNTks
NiArMTMyNywyNCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGb3JtYWxQYXJh
bWV0ZXJMaXN0IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZvcgogICAgIHJldHVybiBsaXN0Owog
fQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBl
bmFtZSBMZXhlclR5cGU+CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRnVu
Y3Rpb25Cb2R5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25Cb2R5KFRyZWVC
dWlsZGVyJiBjb250ZXh0LCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5h
bWVTdGFydCwgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9y
S2luZCkKK3sKKyAgICBKU1Rva2VuTG9jYXRpb24gc3RhcnRMb2NhdGlvbih0b2tlbkxvY2F0aW9u
KCkpOworICAgIHVuc2lnbmVkIHN0YXJ0Q29sdW1uID0gdG9rZW5Db2x1bW4oKTsKKworICAgIERl
cHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7CisgICAgbV9zdGF0
ZW1lbnREZXB0aCA9IDA7CisgICAgdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkZ1bmN0aW9uQm9keUJ1
aWxkZXIgYm9keUJ1aWxkZXIoY29uc3RfY2FzdDxWTSo+KG1fdm0pLCBtX2xleGVyLmdldCgpKTsK
KworICAgIGZhaWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMoYm9keUJ1aWxkZXIsIENoZWNr
Rm9yU3RyaWN0TW9kZSwgQXJyb3dGdW5jdGlvblBhcnNlVHlwZSksICJDYW5ub3QgcGFyc2UgYm9k
eSBvZiB0aGlzIGFycm93IGZ1bmN0aW9uIik7CisgICAgdW5zaWduZWQgZW5kQ29sdW1uID0gdG9r
ZW5Db2x1bW4oKTsKKyAgICAKKyAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkJvZHko
c3RhcnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBm
dW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwg
c3RyaWN0TW9kZSgpLCBjb25zdHJ1Y3RvcktpbmQpOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0
eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGdW5j
dGlvbkJvZHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25Cb2R5KAogICAgIFRyZWVC
dWlsZGVyJiBjb250ZXh0LCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5h
bWVTdGFydCwgCkBAIC0xNDQ2LDYgKzE1MzIsMTU2IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxk
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uSW5mbyhU
cmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25QYXJzZU1vZGUgbW9kZSwgQ29uc3RydWN0b3JL
aW5kIGNvbnN0cnVjdG9yS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5j
dGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvKQoreworICAgIEF1dG9Qb3BTY29wZVJlZiBmdW5j
dGlvblNjb3BlKHRoaXMsIHB1c2hTY29wZSgpKTsKKyAgICBmdW5jdGlvblNjb3BlLT5zZXRJc0Z1
bmN0aW9uKCk7CisgICAgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9u
LnN0YXJ0T2Zmc2V0OworICAgIGNvbnN0IElkZW50aWZpZXIqIGxhc3RGdW5jdGlvbk5hbWUgPSBt
X2xhc3RGdW5jdGlvbk5hbWU7CisgICAgbV9sYXN0RnVuY3Rpb25OYW1lID0gbnVsbHB0cjsKKyAg
ICBpbnQgcGFyYW1ldGVyc1N0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0Owor
ICAgIGlmICghbWF0Y2goSURFTlQpICYmICFtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgIHNl
bWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIg
bmFtZSIpOworICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVkIGFuIGFycm93IGZ1bmN0
aW9uIGlucHV0IHBhcmFtZXRlciIpOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChtYXRjaChP
UEVOUEFSRU4pKSB7CisgICAgICAgICAgICBjb25zdW1lKE9QRU5QQVJFTik7CisKKyAgICAgICAg
ICAgIGlmICghbWF0Y2goQ0xPU0VQQVJFTikpIHsKKyAgICAgICAgICAgICAgICBpbmZvLnBhcmFt
ZXRlcnMgPSBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoY29udGV4dCk7CisgICAgICAgICAgICAgICAg
ZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9y
IHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiRXhwZWN0ZWQgYSAnKScgb3Ig
YSAnLCcgYWZ0ZXIgYSBwYXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsKKyAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhjb250
ZXh0KTsKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKGluZm8ucGFyYW1ldGVycywgIkNhbm5vdCBw
YXJzZSBwYXJhbWV0ZXJzIGZvciB0aGlzICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7
CisgICAgICAgIH0KKyAgICB9CisKKyAgICBtYXRjaE9yRmFpbChBUlJPV0ZVTkNUSU9OLCAiRXhw
ZWN0ZWQgYSAnPT4nIGFmdGVyIGFycm93IGZ1bmN0aW9uIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIp
OworICAgIAorICAgIGluZm8uYXJyb3dGdW5jdGlvbk9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9m
ZnNldDsKKyAgICBpbmZvLm9wZW5CcmFjZU9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsK
KyAgICBpbmZvLmJvZHlTdGFydExpbmUgPSB0b2tlbkxpbmUoKTsKKyAgICBpbmZvLmJvZHlTdGFy
dENvbHVtbiA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldCAtIG1fdG9rZW4ubV9kYXRhLmxpbmVTdGFy
dE9mZnNldDsKKworICAgIEpTVG9rZW5Mb2NhdGlvbiBzdGFydExvY2F0aW9uKHRva2VuTG9jYXRp
b24oKSk7CisKKyAgICAvLyBJZiB3ZSBrbm93IGFib3V0IHRoaXMgZnVuY3Rpb24gYWxyZWFkeSwg
d2UgY2FuIHVzZSB0aGUgY2FjaGVkIGluZm8gYW5kIHNraXAgdGhlIHBhcnNlciB0byB0aGUgZW5k
IG9mIHRoZSBmdW5jdGlvbi4KKyAgICBpZiAoY29uc3QgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0q
IGNhY2hlZEluZm8gPSBUcmVlQnVpbGRlcjo6Q2FuVXNlRnVuY3Rpb25DYWNoZSA/IGZpbmRDYWNo
ZWRGdW5jdGlvbkluZm8oaW5mby5vcGVuQnJhY2VPZmZzZXQpIDogMCkgeworICAgICAgICAvLyBJ
ZiB3ZSdyZSBpbiBhIHN0cmljdCBjb250ZXh0LCB0aGUgY2FjaGVkIGZ1bmN0aW9uIGluZm8gbXVz
dCBzYXkgaXQgd2FzIHN0cmljdCB0b28uCisgICAgICAgIEFTU0VSVCghc3RyaWN0TW9kZSgpIHx8
IGNhY2hlZEluZm8tPnN0cmljdE1vZGUpOworICAgICAgICBKU1Rva2VuTG9jYXRpb24gZW5kTG9j
YXRpb247CisKKyAgICAgICAgZW5kTG9jYXRpb24ubGluZSA9IGNhY2hlZEluZm8tPmNsb3NlQnJh
Y2VMaW5lOworICAgICAgICBlbmRMb2NhdGlvbi5zdGFydE9mZnNldCA9IGNhY2hlZEluZm8tPmNs
b3NlQnJhY2VPZmZzZXQ7CisgICAgICAgIGVuZExvY2F0aW9uLmxpbmVTdGFydE9mZnNldCA9IGNh
Y2hlZEluZm8tPmNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQ7CisKKyAgICAgICAgYm9vbCBlbmRD
b2x1bW5Jc09uU3RhcnRMaW5lID0gKGVuZExvY2F0aW9uLmxpbmUgPT0gaW5mby5ib2R5U3RhcnRM
aW5lKTsKKyAgICAgICAgQVNTRVJUKGVuZExvY2F0aW9uLnN0YXJ0T2Zmc2V0ID49IGVuZExvY2F0
aW9uLmxpbmVTdGFydE9mZnNldCk7CisgICAgICAgIHVuc2lnbmVkIGJvZHlFbmRDb2x1bW4gPSBl
bmRDb2x1bW5Jc09uU3RhcnRMaW5lID8KKyAgICAgICAgZW5kTG9jYXRpb24uc3RhcnRPZmZzZXQg
LSBtX3Rva2VuLm1fZGF0YS5saW5lU3RhcnRPZmZzZXQgOgorICAgICAgICBlbmRMb2NhdGlvbi5z
dGFydE9mZnNldCAtIGVuZExvY2F0aW9uLmxpbmVTdGFydE9mZnNldDsKKyAgICAgICAgdW5zaWdu
ZWQgY3VycmVudExpbmVTdGFydE9mZnNldCA9IG1fdG9rZW4ubV9sb2NhdGlvbi5saW5lU3RhcnRP
ZmZzZXQ7CisKKyAgICAgICAgaW5mby5ib2R5ID0gY29udGV4dC5jcmVhdGVGdW5jdGlvbkJvZHko
c3RhcnRMb2NhdGlvbiwgZW5kTG9jYXRpb24sIGluZm8uYm9keVN0YXJ0Q29sdW1uLCBib2R5RW5k
Q29sdW1uLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRl
cnNTdGFydCwgY2FjaGVkSW5mby0+c3RyaWN0TW9kZSwgY29uc3RydWN0b3JLaW5kKTsKKyAgICAg
ICAgZnVuY3Rpb25TY29wZS0+cmVzdG9yZUZyb21Tb3VyY2VQcm92aWRlckNhY2hlKGNhY2hlZElu
Zm8pOworICAgICAgICBmYWlsSWZGYWxzZShwb3BTY29wZShmdW5jdGlvblNjb3BlLCBUcmVlQnVp
bGRlcjo6TmVlZHNGcmVlVmFyaWFibGVJbmZvKSwgIlBhcnNlciBlcnJvciIpOworCisgICAgICAg
IGluZm8uY2xvc2VCcmFjZU9mZnNldCA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VPZmZzZXQ7Cisg
ICAgICAgIGluZm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBlID0gY2FjaGVkSW5mby0+aXNCb2R5QXJy
b3dGdW5jdGlvbkJsb2NrID8gQXJyb3dGdW5jdGlvbkJvZHlCbG9jayA6IEFycm93RnVuY3Rpb25C
b2R5RXhwcmVzc2lvbjsKKworICAgICAgICBtX3Rva2VuID0gaW5mby5hcnJvd0Z1bmN0aW9uQm9k
eVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jayA/IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VU
b2tlbigpIDogY2FjaGVkSW5mby0+ZW5kQXJyb3dGdW5jdGlvblRva2VuKCk7CisKKyAgICAgICAg
aWYgKGVuZENvbHVtbklzT25TdGFydExpbmUpCisgICAgICAgICAgICBtX3Rva2VuLm1fbG9jYXRp
b24ubGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVTdGFydE9mZnNldDsKKworICAgICAgICBt
X2xleGVyLT5zZXRPZmZzZXQobV90b2tlbi5tX2xvY2F0aW9uLmVuZE9mZnNldCwgbV90b2tlbi5t
X2xvY2F0aW9uLmxpbmVTdGFydE9mZnNldCk7CisgICAgICAgIG1fbGV4ZXItPnNldExpbmVOdW1i
ZXIobV90b2tlbi5tX2xvY2F0aW9uLmxpbmUpOworCisgICAgICAgIGNvbnRleHQuc2V0RW5kT2Zm
c2V0KGluZm8uYm9keSwgbV9sZXhlci0+Y3VycmVudE9mZnNldCgpKTsKKworICAgICAgICBpZiAo
aW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jaykKKyAg
ICAgICAgICAgIG5leHQoKTsKKworICAgICAgICBpbmZvLmJvZHlFbmRMaW5lID0gbV9sYXN0VG9r
ZW5FbmRQb3NpdGlvbi5saW5lOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgbV9s
YXN0RnVuY3Rpb25OYW1lID0gbGFzdEZ1bmN0aW9uTmFtZTsKKyAgICBQYXJzZXJTdGF0ZSBvbGRT
dGF0ZSA9IHNhdmVTdGF0ZSgpOworCisgICAgU2F2ZVBvaW50IHNhdmVQb2ludCA9IGNyZWF0ZVNh
dmVQb2ludCgpOworICAgIG5leHQoKTsKKyAgICAvLyBDaGVjayBpZiBhcnJvdyBib2R5IHN0YXJ0
IHdpdGggey4gSWYgaXQgdHJ1ZSBpdCBtZWFuIHRoYXQgYXJyb3cgZnVuY3Rpb24gaXMgRmF0IGFy
cm93IGZ1bmN0aW9uCisgICAgLy8gYW5kIHdlIG5lZWQgdXNlIGNvbW1vbiBhcHByb2FjaCB0byBw
YXJzZSBmdW5jdGlvbiBib2R5CisKKyAgICBpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlwZSA9IG1h
dGNoKE9QRU5CUkFDRSkgPyBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrIDogQXJyb3dGdW5jdGlvbkJv
ZHlFeHByZXNzaW9uOworCisgICAgaWYgKGluZm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBlID09IEFy
cm93RnVuY3Rpb25Cb2R5QmxvY2spIHsKKyAgICAgICAgaW5mby5vcGVuQnJhY2VPZmZzZXQgPSBt
X3Rva2VuLm1fZGF0YS5vZmZzZXQ7CisgICAgICAgIGluZm8uYm9keVN0YXJ0TGluZSA9IHRva2Vu
TGluZSgpOworICAgICAgICBpbmZvLmJvZHlTdGFydENvbHVtbiA9IG1fdG9rZW4ubV9kYXRhLm9m
ZnNldCAtIG1fdG9rZW4ubV9kYXRhLmxpbmVTdGFydE9mZnNldDsKKworICAgICAgICBpbmZvLmJv
ZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVu
Y3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kKTsKKyAgICB9
IGVsc2UgeworICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CisgICAgICAgIGlu
Zm8uYm9keSA9IHBhcnNlQXJyb3dGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3Jk
U3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2lu
ZCk7CisgICAgfQorCisgICAgcmVzdG9yZVN0YXRlKG9sZFN0YXRlKTsKKyAgICBmYWlsSWZGYWxz
ZShpbmZvLmJvZHksICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgdGhpcyAiLCBzdHJpbmdGb3JG
dW5jdGlvbk1vZGUobW9kZSkpOworICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KGluZm8uYm9keSwg
bV9sZXhlci0+Y3VycmVudE9mZnNldCgpKTsKKyAgICBpZiAoZnVuY3Rpb25TY29wZS0+c3RyaWN0
TW9kZSgpICYmIGluZm8ubmFtZSkgeworICAgICAgICBSRUxFQVNFX0FTU0VSVChtb2RlID09IEZ1
bmN0aW9uTW9kZSk7CisgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShtX3ZtLT5wcm9wZXJ0eU5h
bWVzLT5hcmd1bWVudHMgPT0gKmluZm8ubmFtZSwgIiciLCBpbmZvLm5hbWUtPmltcGwoKSwgIicg
aXMgbm90IGEgdmFsaWQgZnVuY3Rpb24gbmFtZSBpbiBzdHJpY3QgbW9kZSIpOworICAgICAgICBz
ZW1hbnRpY0ZhaWxJZlRydWUobV92bS0+cHJvcGVydHlOYW1lcy0+ZXZhbCA9PSAqaW5mby5uYW1l
LCAiJyIsIGluZm8ubmFtZS0+aW1wbCgpLCAiJyBpcyBub3QgYSB2YWxpZCBmdW5jdGlvbiBuYW1l
IGluIHN0cmljdCBtb2RlIik7CisgICAgfQorCisgICAgaW5mby5jbG9zZUJyYWNlT2Zmc2V0ID0g
bV90b2tlbi5tX2RhdGEub2Zmc2V0OworCisgICAgdW5zaWduZWQgY2xvc2VCcmFjZUxpbmUgPSBt
X3Rva2VuLm1fZGF0YS5saW5lOworICAgIHVuc2lnbmVkIGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZz
ZXQgPSBtX3Rva2VuLm1fZGF0YS5saW5lU3RhcnRPZmZzZXQ7CisgICAgYm9vbCBpc0JvZHlBcnJv
d0Z1bmN0aW9uQmxvY2sgPSBpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0
aW9uQm9keUJsb2NrOworCisgICAgLy8gQ2FjaGUgdGhlIHRva2VuaXplciBzdGF0ZSBhbmQgdGhl
IGZ1bmN0aW9uIHNjb3BlIHRoZSBmaXJzdCB0aW1lIHRoZSBmdW5jdGlvbiBpcyBwYXJzZWQuCisg
ICAgLy8gQW55IGZ1dHVyZSByZXBhcnNpbmcgY2FuIHRoZW4gc2tpcCB0aGUgZnVuY3Rpb24uCisg
ICAgc3RhdGljIGNvbnN0IGludCBtaW5pbXVtRnVuY3Rpb25MZW5ndGhUb0NhY2hlID0gMTY7Cisg
ICAgc3RkOjp1bmlxdWVfcHRyPFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtPiBuZXdJbmZvOworICAg
IGludCBmdW5jdGlvbkxlbmd0aCA9IGluZm8uY2xvc2VCcmFjZU9mZnNldCAtIGluZm8ub3BlbkJy
YWNlT2Zmc2V0OworICAgIGlmIChUcmVlQnVpbGRlcjo6Q2FuVXNlRnVuY3Rpb25DYWNoZSAmJiBt
X2Z1bmN0aW9uQ2FjaGUgJiYgZnVuY3Rpb25MZW5ndGggPiBtaW5pbXVtRnVuY3Rpb25MZW5ndGhU
b0NhY2hlKSB7CisgICAgICAgIFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJhbWV0
ZXJzIHBhcmFtZXRlcnM7CisgICAgICAgIHBhcmFtZXRlcnMuZnVuY3Rpb25OYW1lU3RhcnQgPSBm
dW5jdGlvbk5hbWVTdGFydDsKKyAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJyYWNlTGluZSA9IGNs
b3NlQnJhY2VMaW5lOworICAgICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VPZmZzZXQgPSBpbmZv
LmNsb3NlQnJhY2VPZmZzZXQ7CisgICAgICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmVTdGFy
dE9mZnNldCA9IGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQ7CisgICAgICAgIHBhcmFtZXRlcnMu
aXNCb2R5QXJyb3dGdW5jdGlvbkJsb2NrID0gaXNCb2R5QXJyb3dGdW5jdGlvbkJsb2NrOworICAg
ICAgICBwYXJhbWV0ZXJzLnRva2VuVHlwZSA9IG1fdG9rZW4ubV90eXBlOworCisgICAgICAgIGZ1
bmN0aW9uU2NvcGUtPmZpbGxQYXJhbWV0ZXJzRm9yU291cmNlUHJvdmlkZXJDYWNoZShwYXJhbWV0
ZXJzKTsKKyAgICAgICAgbmV3SW5mbyA9IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjpjcmVhdGUo
cGFyYW1ldGVycyk7CisgICAgfQorCisgICAgZmFpbElmRmFsc2UocG9wU2NvcGUoZnVuY3Rpb25T
Y29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQYXJzZXIgZXJyb3Ii
KTsKKworICAgIGlmIChpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9u
Qm9keUJsb2NrKSB7CisgICAgICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0UsICJFeHBlY3RlZCBh
IGNsb3NpbmcgJ30nIGFmdGVyIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJv
ZHkiKTsKKyAgICAgICAgbmV4dCgpOworICAgIH0gZWxzZSB7CisgICAgICAgIGJvb2wgaXNFbmRP
ZkFycm93RnVuY3Rpb24gPSBtYXRjaChTRU1JQ09MT04pIHx8IG1hdGNoKENPTU1BKSB8fCBtYXRj
aChDTE9TRVBBUkVOKSB8fCBtYXRjaChDTE9TRUJSQUNFKSB8fCBtYXRjaChDTE9TRUJSQUNLRVQp
OworICAgICAgICBmYWlsSWZGYWxzZShpc0VuZE9mQXJyb3dGdW5jdGlvbiwgIkV4cGVjdGVkIHRo
ZSBjbG9zaW5nICc7JyAnLCcgJ10nICcpJyAnfScgYWZ0ZXIgYXJyb3cgZnVuY3Rpb24iKTsKKyAg
ICB9CisKKyAgICBpZiAobmV3SW5mbykKKyAgICAgICAgbV9mdW5jdGlvbkNhY2hlLT5hZGQoaW5m
by5vcGVuQnJhY2VPZmZzZXQsIFdURjo6bW92ZShuZXdJbmZvKSk7CisKKyAgICBpbmZvLmJvZHlF
bmRMaW5lID0gbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lOworICAgIHJldHVybiB0cnVlOwor
fQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVu
Y3Rpb25EZWNsYXJhdGlvbihUcmVlQnVpbGRlciYgY29udGV4dCkKIHsKQEAgLTE3NjYsNiArMjAw
MiwxOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlSWZTdGF0ZW1lbnQoVAogICAgIHJldHVybiBjb250ZXh0LmNyZWF0
ZUlmU3RhdGVtZW50KGlmTG9jYXRpb24sIGNvbmRpdGlvbiwgdHJ1ZUJsb2NrLCBzdGF0ZW1lbnRT
dGFjay5sYXN0KCksIHN0YXJ0LCBlbmQpOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFy
cm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQoreworICAgIGZhaWxJ
ZlN0YWNrT3ZlcmZsb3coKTsKKyAgICBUcmVlRXhwcmVzc2lvbiBub2RlID0gcGFyc2VBc3NpZ25t
ZW50RXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICBmYWlsSWZGYWxzZShub2RlLCAiQ2Fubm90IHBh
cnNlIGV4cHJlc3Npb24iKTsKKyAgICBjb250ZXh0LnNldEVuZE9mZnNldChub2RlLCBtX2xhc3RU
b2tlbkVuZFBvc2l0aW9uLm9mZnNldCk7CisgICAgcmV0dXJuIG5vZGU7Cit9CisjZW5kaWYKKwog
dGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwcmVzc2lvbihUcmVl
QnVpbGRlciYgY29udGV4dCkKIHsKQEAgLTE4MTMsNiArMjA2MSw0MyBAQCB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUFzc2lnbm1lbgogICAgICAgICB9CiAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50
KTsKICAgICB9CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFNh
dmVQb2ludCBzYXZlQXJyb3dGdW5jdGlvblBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAg
Ym9vbCBhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0ID0gZmFsc2U7CisgICAgaWYgKG1hdGNoKE9QRU5Q
QVJFTikpIHsKKyAgICAgICAgbmV4dCgpOworICAgICAgICBpZiAobWF0Y2goQ0xPU0VQQVJFTikp
IHsKKyAgICAgICAgICAgIG5leHQoKTsKKworICAgICAgICAgICAgaWYgKG1hdGNoKEFSUk9XRlVO
Q1RJT04pKQorICAgICAgICAgICAgICAgIGFycm93RnVuY3Rpb25FbXB0eUxpc3QgPSB0cnVlOwor
ICAgICAgICB9CisKKyAgICAgICAgaWYgKCFhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0KQorICAgICAg
ICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICB9Cisj
ZW5kaWYKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgVHJlZUV4
cHJlc3Npb24gbGhzOworICAgIGlmICghYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCkgeworICAgICAg
ICBsaHMgPSBwYXJzZUNvbmRpdGlvbmFsRXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICAgICAgZmFp
bElmRmFsc2UobGhzLCAiQ2FuGW5vdCBwYXJzZSBleHByZXNzaW9uIik7CisgICAgICAgIGlmIChp
bml0aWFsTm9uTEhTQ291bnQgIT0gbV9ub25MSFNDb3VudCkgeworICAgICAgICAgICAgaWYgKG1f
dG9rZW4ubV90eXBlID49IEVRVUFMICYmIG1fdG9rZW4ubV90eXBlIDw9IE9SRVFVQUwpCisgICAg
ICAgICAgICAgICAgc2VtYW50aWNGYWlsKCJMZWZ0IGhhbmQgc2lkZSBvZiBvcGVyYXRvciAnIiwg
Z2V0VG9rZW4oKSwgIicgbXVzdCBiZSBhIHJlZmVyZW5jZSIpOworCisgICAgICAgICAgICByZXR1
cm4gbGhzOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJT04p
KSB7CisgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7Cisg
ICAgICAgIGxocyA9IHBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoY29udGV4dCk7CisgICAgICAg
IHJldHVybiBsaHM7CisgICAgfQorI2Vsc2UKICAgICBUcmVlRXhwcmVzc2lvbiBsaHMgPSBwYXJz
ZUNvbmRpdGlvbmFsRXhwcmVzc2lvbihjb250ZXh0KTsKICAgICBmYWlsSWZGYWxzZShsaHMsICJD
YW5ub3QgcGFyc2UgZXhwcmVzc2lvbiIpOwogICAgIGlmIChpbml0aWFsTm9uTEhTQ291bnQgIT0g
bV9ub25MSFNDb3VudCkgewpAQCAtMTgyMSw3ICsyMTA2LDggQEAgdGVtcGxhdGUgPHR5cGVuYW1l
IFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3Np
Z25tZW4KIAogICAgICAgICByZXR1cm4gbGhzOwogICAgIH0KLSAgICAKKyNlbmRpZgorCiAgICAg
aW50IGFzc2lnbm1lbnRTdGFjayA9IDA7CiAgICAgT3BlcmF0b3Igb3A7CiAgICAgYm9vbCBoYWRB
c3NpZ25tZW50ID0gZmFsc2U7CkBAIC0yMjk2LDYgKzI1ODIsMjMgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmlt
YXJ5RXhwcmUKICAgICAgICAgcmV0dXJuIGNvbnRleHQudGhpc0V4cHIobG9jYXRpb24pOwogICAg
IH0KICAgICBjYXNlIElERU5UOiB7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVTYXZl
UG9pbnQoKTsKKyAgICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRp
b24oKTsKKyAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5p
ZGVudDsKKyAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7
CisgICAgICAgIG5leHQoKTsKKworICAgICAgICBpZiAoIW1hdGNoKEFSUk9XRlVOQ1RJT04pKSB7
CisgICAgICAgICAgICBjdXJyZW50U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRlbnQsIG1fdm0tPnBy
b3BlcnR5TmFtZXMtPmV2YWwgPT0gKmlkZW50KTsKKyAgICAgICAgICAgIG1fbGFzdElkZW50aWZp
ZXIgPSBpZGVudDsKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJlc29sdmUobG9j
YXRpb24sIGlkZW50LCBzdGFydCk7CisgICAgICAgIH0KKworICAgICAgICByZXN0b3JlU2F2ZVBv
aW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICBUcmVlRXhwcmVzc2lvbiBsaHMg
PSBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKGNvbnRleHQpOworICAgICAgICByZXR1cm4gbGhz
OworI2Vsc2UKICAgICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRp
b24oKTsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5p
ZGVudDsKICAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7
CkBAIC0yMzAzLDYgKzI2MDYsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVF
eHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHByZQogICAgICAgICBj
dXJyZW50U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRlbnQsIG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2
YWwgPT0gKmlkZW50KTsKICAgICAgICAgbV9sYXN0SWRlbnRpZmllciA9IGlkZW50OwogICAgICAg
ICByZXR1cm4gY29udGV4dC5jcmVhdGVSZXNvbHZlKGxvY2F0aW9uLCBpZGVudCwgc3RhcnQpOwor
I2VuZGlmCiAgICAgfQogICAgIGNhc2UgU1RSSU5HOiB7CiAgICAgICAgIGNvbnN0IElkZW50aWZp
ZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CkBAIC0yNDkwLDYgKzI3OTQsMzIgQEAg
ZW5kTWVtYmVyRXhwcmVzc2lvbjoKICAgICByZXR1cm4gYmFzZTsKIH0KIAorI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgor
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sK
KyAgICBUcmVlRXhwcmVzc2lvbiBiYXNlID0gMDsKKyAgICBKU1RleHRQb3NpdGlvbiBleHByZXNz
aW9uU3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICBpbnQgbmV3Q291bnQgPSAwOwor
ICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbjsKKworICAgIGlmIChtYXRjaChJREVOVCkgfHwg
bWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFy
dCA9IHRva2VuU3RhcnQoKTsKKyAgICAgICAgbG9jYXRpb24gPSB0b2tlbkxvY2F0aW9uKCk7Cisg
ICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gaW5mbzsKKyAgICAgICAgaW5m
by5uYW1lID0gJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyOworICAgICAgICBm
YWlsSWZGYWxzZSgocGFyc2VBcnJvd0Z1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk1vZGUs
IENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8pKSwgIkNh
bm5vdCBwYXJzZSBmdW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgICAgIGJhc2UgPSBjb250ZXh0
LmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKGxvY2F0aW9uLCBpbmZvKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgYmFzZSA9IHBhcnNlUHJpbWFyeUV4cHJlc3Npb24oY29udGV4dCk7CisKKyAgICBmYWls
SWZGYWxzZShiYXNlLCAiQ2Fubm90IHBhcnNlIGJhc2UgZXhwcmVzc2lvbiIpOworICAgIHdoaWxl
IChuZXdDb3VudC0tKQorICAgICAgICBiYXNlID0gY29udGV4dC5jcmVhdGVOZXdFeHByKGxvY2F0
aW9uLCBiYXNlLCBleHByZXNzaW9uU3RhcnQsIGxhc3RUb2tlbkVuZFBvc2l0aW9uKCkpOworICAg
IHJldHVybiBiYXNlOworfQorI2VuZGlmCisKIHN0YXRpYyBjb25zdCBjaGFyKiBvcGVyYXRvclN0
cmluZyhib29sIHByZWZpeCwgdW5zaWduZWQgdG9rKQogewogICAgIHN3aXRjaCAodG9rKSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCA4NjNmOWMxNTYwODQyYTk4NTZk
OGU5Nzc1MWNkOGJlZGM4YWJkODdhLi42MjMzMDMxMWRhNTAyOTE0NGYxOWQ4MWM5NjQyYWMyZDk2
NmNiNWE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKQEAgLTgwLDYgKzgw
LDkgQEAgY2xhc3MgU291cmNlQ29kZTsKIENPTVBJTEVfQVNTRVJUKExhc3RVbnRhZ2dlZFRva2Vu
IDwgNjQsIExlc3NUaGFuNjRVbnRhZ2dlZFRva2Vucyk7CiAKIGVudW0gU291cmNlRWxlbWVudHNN
b2RlIHsgQ2hlY2tGb3JTdHJpY3RNb2RlLCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlIH07CisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK2VudW0gRnVuY3Rpb25QYXJzZVR5cGUg
eyBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlLCBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlIH07Cisj
ZW5kaWYKIGVudW0gRnVuY3Rpb25SZXF1aXJlbWVudHMgeyBGdW5jdGlvbk5vUmVxdWlyZW1lbnRz
LCBGdW5jdGlvbk5lZWRzTmFtZSB9OwogZW51bSBGdW5jdGlvblBhcnNlTW9kZSB7CiAgICAgRnVu
Y3Rpb25Nb2RlLApAQCAtNTUzLDggKzU1Niw4IEBAIHByaXZhdGU6CiAgICAgfQogICAgIAogICAg
IFNjb3BlU3RhY2sgbV9zY29wZVN0YWNrOwotICAgIAotICAgIGNvbnN0IFNvdXJjZVByb3ZpZGVy
Q2FjaGVJdGVtKiBmaW5kQ2FjaGVkRnVuY3Rpb25JbmZvKGludCBvcGVuQnJhY2VQb3MpIAorCisg
ICAgY29uc3QgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0qIGZpbmRDYWNoZWRGdW5jdGlvbkluZm8o
aW50IG9wZW5CcmFjZVBvcykKICAgICB7CiAgICAgICAgIHJldHVybiBtX2Z1bmN0aW9uQ2FjaGUg
PyBtX2Z1bmN0aW9uQ2FjaGUtPmdldChvcGVuQnJhY2VQb3MpIDogMDsKICAgICB9CkBAIC01NjIs
NyArNTY1LDcgQEAgcHJpdmF0ZToKICAgICBQYXJzZXIoKTsKICAgICBTdHJpbmcgcGFyc2VJbm5l
cigpOwogCi0gICAgdm9pZCBkaWRGaW5pc2hQYXJzaW5nKFNvdXJjZUVsZW1lbnRzKiwgRGVjbGFy
YXRpb25TdGFja3M6OlZhclN0YWNrJiwgCisgICAgdm9pZCBkaWRGaW5pc2hQYXJzaW5nKFNvdXJj
ZUVsZW1lbnRzKiwgRGVjbGFyYXRpb25TdGFja3M6OlZhclN0YWNrJiwKICAgICAgICAgRGVjbGFy
YXRpb25TdGFja3M6OkZ1bmN0aW9uU3RhY2smLCBDb2RlRmVhdHVyZXMsIGludCwgSWRlbnRpZmll
clNldCYsIGNvbnN0IFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+JiYpOwogCiAgICAgLy8gVXNl
ZCB0byBkZXRlcm1pbmUgdHlwZSBvZiBlcnJvciB0byByZXBvcnQuCkBAIC03MjEsOSArNzI0LDE0
IEBAIHByaXZhdGU6CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0g
ICAgCisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNlU291cmNlRWxlbWVu
dHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1
bmN0aW9uUGFyc2VUeXBlID0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CisgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3RhdGVtZW50KFRyZWVC
dWlsZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2
ZUxpdGVyYWxMZW5ndGggPSAwLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSA9
IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOworI2Vsc2UKICAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVC
dWlsZGVyJiwgU291cmNlRWxlbWVudHNNb2RlKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImLCBjb25zdCBJ
ZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9
IDApOworI2VuZGlmCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAgICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQ2xhc3NEZWNsYXJhdGlvbihU
cmVlQnVpbGRlciYpOwogI2VuZGlmCkBAIC03NjgsNiArNzc2LDE0IEBAIHByaXZhdGU6CiAgICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZVZhckRlY2xh
cmF0aW9uTGlzdChUcmVlQnVpbGRlciYsIGludCYgZGVjbGFyYXRpb25zLCBUcmVlRGVjb25zdHJ1
Y3Rpb25QYXR0ZXJuJiBsYXN0UGF0dGVybiwgVHJlZUV4cHJlc3Npb24mIGxhc3RJbml0aWFsaXpl
ciwgSlNUZXh0UG9zaXRpb24mIGlkZW50U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0U3RhcnQs
IEpTVGV4dFBvc2l0aW9uJiBpbml0RW5kLCBWYXJEZWNsYXJhdGlvbkxpc3RDb250ZXh0KTsKICAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlQ29uc3REZWNs
TGlzdCBwYXJzZUNvbnN0RGVjbGFyYXRpb25MaXN0KFRyZWVCdWlsZGVyJik7CiAKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVp
bGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBw
YXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlQXJyb3dGdW5jdGlvbldyYXBw
ZXIoVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVS
X0lOTElORSBib29sIHBhcnNlQXJyb3dGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImLCBGdW5jdGlv
blBhcnNlTW9kZSwgQ29uc3RydWN0b3JLaW5kLCBpbnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVl
QnVpbGRlcj4mKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJ
TkUgVHJlZUZ1bmN0aW9uQm9keSBwYXJzZUFycm93RnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVyJiwg
aW50LCBpbnQsIGludCwgQ29uc3RydWN0b3JLaW5kKTsKKyNlbmRpZgorCiAgICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVy
biBjcmVhdGVCaW5kaW5nUGF0dGVybihUcmVlQnVpbGRlciYsIERlY29uc3RydWN0aW9uS2luZCwg
Y29uc3QgSWRlbnRpZmllciYsIGludCBkZXB0aCwgSlNUb2tlbik7CiAgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBw
YXJzZURlY29uc3RydWN0aW9uUGF0dGVybihUcmVlQnVpbGRlciYsIERlY29uc3RydWN0aW9uS2lu
ZCwgaW50IGRlcHRoID0gMCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZF
Ul9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiB0cnlQYXJzZURlY29uc3RydWN0aW9u
UGF0dGVybkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKQEAgLTc4OCw3ICs4MDQsMTQgQEAgcHJp
dmF0ZToKICAgICAgICAgfQogICAgICAgICByZXR1cm4gYWxsb3dBdXRvbWF0aWNTZW1pY29sb24o
KTsKICAgICB9Ci0gICAgCisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIHZvaWQgc2V0RW5kT2ZTdGF0ZW1lbnQoKQorICAgIHsKKyAgICAgICAgbV9sZXhlci0+c2V0
VG9rZW5Qb3NpdGlvbigmbV90b2tlbik7CisgICAgfQorI2VuZGlmCisKICAgICBib29sIGNhblJl
Y3Vyc2UoKQogICAgIHsKICAgICAgICAgcmV0dXJuIG1fdm0tPmlzU2FmZVRvUmVjdXJzZSgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbklu
Zm8uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgK
aW5kZXggNmI3MzYyODJlMmQyYTgxYmM2M2RjMmYzYzBlNWFlOGM4NThjZDFmOC4uZDc1MmE2MTBh
OWI2ZWIwYzZhMTE0OTU0NjVjYTdkYmQ3NjhjZDUyMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oCkBAIC0yOCw2ICsyOCwxMCBAQAog
CiBuYW1lc3BhY2UgSlNDIHsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CitlbnVtIEFycm93RnVuY3Rpb25Cb2R5VHlwZSB7IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lv
biwgQXJyb3dGdW5jdGlvbkJvZHlCbG9ja307CisjZW5kaWYKKwogdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPgogc3RydWN0IFBhcnNlckZ1bmN0aW9uSW5mbyB7CiAgICAgY29uc3QgSWRlbnRp
ZmllciogbmFtZSA9IDA7CkBAIC0zOCw2ICs0MiwxMSBAQCBzdHJ1Y3QgUGFyc2VyRnVuY3Rpb25J
bmZvIHsKICAgICBpbnQgYm9keVN0YXJ0TGluZSA9IDA7CiAgICAgaW50IGJvZHlFbmRMaW5lID0g
MDsKICAgICB1bnNpZ25lZCBib2R5U3RhcnRDb2x1bW4gPSAwOworI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisgICAgdW5zaWduZWQgYXJyb3dGdW5jdGlvbk9mZnNldCA9IDA7
CisgICAgYm9vbCBpc0Fycm93RnVuY3Rpb24gPSBmYWxzZTsKKyAgICBBcnJvd0Z1bmN0aW9uQm9k
eVR5cGUgYXJyb3dGdW5jdGlvbkJvZHlUeXBlID0gQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9u
OworI2VuZGlmCiB9OwogCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAppbmRleCA4MzI5ZjgyYTliMmZmOTE1
ZDFmMjQxYzFmOGJmZmFkNDI0N2E1ZjBiLi5jOGIxNjZlMGVhZDdkMmRhNzE5ZTc2YzRhMmYwOWFm
ZjFkNzRkN2FjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNl
clRva2Vucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5z
LmgKQEAgLTc1LDYgKzc1LDkgQEAgZW51bSBKU1Rva2VuVHlwZSB7CiAgICAgRklOQUxMWSwKICAg
ICBERUJVR0dFUiwKICAgICBFTFNFLAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCisgICAgQVJST1dGVU5DVElPTiwKKyNlbmRpZgogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lO
VEFYKQogICAgIENMQVNTVE9LRU4sCiAgICAgRVhURU5EUywKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9Tb3VyY2VDb2RlLmgKaW5kZXggNzkyYzE5ZTk0YTgwNWI1YjRkNGJkZDYyMDhlNmQw
NmZkODk5ZjM1OS4uYmYyNjc0NWQwNmYxOGI2NWIxMGUxYjc1Zjk3NmZiODkwN2UyZDEyYyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmgKQEAgLTEwNSw2ICsxMDUs
OSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgCiAgICAgICAgIFNvdXJjZUNvZGUgc3ViRXhw
cmVzc2lvbih1bnNpZ25lZCBvcGVuQnJhY2UsIHVuc2lnbmVkIGNsb3NlQnJhY2UsIGludCBmaXJz
dExpbmUsIGludCBzdGFydENvbHVtbik7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgICAgICBTb3VyY2VDb2RlIHN1YkFycm93RXhwcmVzc2lvbih1bnNpZ25lZCBz
dGFydEFycm93RnVuY3Rpb24sIHVuc2lnbmVkIGVuZEFycm93RnVuY3Rpb24sIGludCBmaXJzdExp
bmUsIGludCBzdGFydENvbHVtbik7CisjZW5kaWYKICAgICBwcml2YXRlOgogICAgICAgICBSZWZQ
dHI8U291cmNlUHJvdmlkZXI+IG1fcHJvdmlkZXI7CiAgICAgICAgIGludCBtX3N0YXJ0Q2hhcjsK
QEAgLTExOCw2ICsxMjEsMTcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBTb3Vy
Y2VDb2RlKFN0cmluZ1NvdXJjZVByb3ZpZGVyOjpjcmVhdGUoc291cmNlLCB1cmwsIHN0YXJ0UG9z
aXRpb24pLCBzdGFydFBvc2l0aW9uLm1fbGluZS5vbmVCYXNlZEludCgpLCBzdGFydFBvc2l0aW9u
Lm1fY29sdW1uLm9uZUJhc2VkSW50KCkpOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgaW5saW5lIFNvdXJjZUNvZGUgU291cmNlQ29kZTo6c3ViQXJy
b3dFeHByZXNzaW9uKHVuc2lnbmVkIHN0YXJ0QXJyb3dGdW5jdGlvbiwgdW5zaWduZWQgZW5kQXJy
b3dGdW5jdGlvbiwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKQorICAgIHsKKyAgICAg
ICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW3N0YXJ0QXJyb3dGdW5jdGlvbl0gPT0gJz0n
ICYmIHByb3ZpZGVyKCktPnNvdXJjZSgpW3N0YXJ0QXJyb3dGdW5jdGlvbiArIDFdID09ICc+Jyk7
CisgICAgICAgIC8vIEZpeG1lOiBVc2UgYmV0dGVyIGFwcHJvYWNoIHRvIGNoZWNrIHN5bWJvbAor
ICAgICAgICBBU1NFUlQocHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFd
ID09ICcsJyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0g
JzsnIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnKScg
fHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICddJyB8fCBw
cm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJ30nKTsKKyAgICAg
ICAgc3RhcnRDb2x1bW4gKz0gMTsgLy8gQ29udmVydCB0byBiYXNlIDEuCisgICAgICAgIHJldHVy
biBTb3VyY2VDb2RlKHByb3ZpZGVyKCksIHN0YXJ0QXJyb3dGdW5jdGlvbiwgZW5kQXJyb3dGdW5j
dGlvbiAtIDEsIGZpcnN0TGluZSwgc3RhcnRDb2x1bW4pOworICAgIH0KKyNlbmRpZgorCiAgICAg
aW5saW5lIFNvdXJjZUNvZGUgU291cmNlQ29kZTo6c3ViRXhwcmVzc2lvbih1bnNpZ25lZCBvcGVu
QnJhY2UsIHVuc2lnbmVkIGNsb3NlQnJhY2UsIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVt
bikKICAgICB7CiAgICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtvcGVuQnJhY2Vd
ID09ICd7Jyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJj
ZVByb3ZpZGVyQ2FjaGVJdGVtLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJj
ZVByb3ZpZGVyQ2FjaGVJdGVtLmgKaW5kZXggNjM1Mzc5ZTNmNDQ1NjY4YzUyYjg3MmY3NjE2ZGNi
NTkyMWE4Mjk0NC4uODUwNzdhNDYwYzYzNmMyNjNkYWQwOTc1MjdjYjdhOGVjYmQwYjQ2OCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hl
SXRlbS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJD
YWNoZUl0ZW0uaApAQCAtNDAsNiArNDAsMTAgQEAgc3RydWN0IFNvdXJjZVByb3ZpZGVyQ2FjaGVJ
dGVtQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBib29sIG5lZWRzRnVsbEFjdGl2YXRpb247CiAg
ICAgYm9vbCB1c2VzRXZhbDsKICAgICBib29sIHN0cmljdE1vZGU7CisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBib29sIGlzQm9keUFycm93RnVuY3Rpb25CbG9jazsK
KyAgICBKU1Rva2VuVHlwZSB0b2tlblR5cGU7CisjZW5kaWYKICAgICBWZWN0b3I8UmVmUHRyPFN0
cmluZ0ltcGw+PiB1c2VkVmFyaWFibGVzOwogICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+
IHdyaXR0ZW5WYXJpYWJsZXM7CiB9OwpAQCAtNjksOSArNzMsMjQgQEAgcHVibGljOgogICAgICAg
ICByZXR1cm4gdG9rZW47CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICBKU1Rva2VuIGVuZEFycm93RnVuY3Rpb25Ub2tlbigpIGNvbnN0CisgICAgewor
ICAgICAgICBKU1Rva2VuIHRva2VuOworICAgICAgICB0b2tlbi5tX3R5cGUgPSB0b2tlblR5cGU7
CisgICAgICAgIHRva2VuLm1fZGF0YS5vZmZzZXQgPSBjbG9zZUJyYWNlT2Zmc2V0OworICAgICAg
ICB0b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0ID0gY2xvc2VCcmFjZU9mZnNldDsKKyAgICAg
ICAgdG9rZW4ubV9sb2NhdGlvbi5lbmRPZmZzZXQgPSBjbG9zZUJyYWNlT2Zmc2V0ICsgMTsKKyAg
ICAgICAgdG9rZW4ubV9sb2NhdGlvbi5saW5lID0gY2xvc2VCcmFjZUxpbmU7CisgICAgICAgIHRv
a2VuLm1fbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0ID0gY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNl
dDsKKworICAgICAgICByZXR1cm4gdG9rZW47CisgICAgfQorI2VuZGlmCisKICAgICB1bnNpZ25l
ZCBmdW5jdGlvbk5hbWVTdGFydCA6IDMxOwogICAgIGJvb2wgbmVlZHNGdWxsQWN0aXZhdGlvbiA6
IDE7Ci0gICAgCisKICAgICB1bnNpZ25lZCBjbG9zZUJyYWNlTGluZSA6IDMxOwogICAgIGJvb2wg
dXNlc0V2YWwgOiAxOwogCkBAIC04Miw2ICsxMDEsMTEgQEAgcHVibGljOgogICAgIHVuc2lnbmVk
IHVzZWRWYXJpYWJsZXNDb3VudDsKICAgICB1bnNpZ25lZCB3cml0dGVuVmFyaWFibGVzQ291bnQ7
CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGJvb2wgaXNCb2R5
QXJyb3dGdW5jdGlvbkJsb2NrOworICAgIEpTVG9rZW5UeXBlIHRva2VuVHlwZTsKKyNlbmRpZgor
CiAgICAgU3RyaW5nSW1wbCoqIHVzZWRWYXJpYWJsZXMoKSBjb25zdCB7IHJldHVybiBjb25zdF9j
YXN0PFN0cmluZ0ltcGwqKj4obV92YXJpYWJsZXMpOyB9CiAgICAgU3RyaW5nSW1wbCoqIHdyaXR0
ZW5WYXJpYWJsZXMoKSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0PFN0cmluZ0ltcGwqKj4oJm1f
dmFyaWFibGVzW3VzZWRWYXJpYWJsZXNDb3VudF0pOyB9CiAKQEAgLTExNSw2ICsxMzksMTAgQEAg
aW5saW5lIFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbShj
b25zdCBTb3VyY2VQcm92aWRlckNhY2gKICAgICAsIGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQo
cGFyYW1ldGVycy5jbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0KQogICAgICwgdXNlZFZhcmlhYmxl
c0NvdW50KHBhcmFtZXRlcnMudXNlZFZhcmlhYmxlcy5zaXplKCkpCiAgICAgLCB3cml0dGVuVmFy
aWFibGVzQ291bnQocGFyYW1ldGVycy53cml0dGVuVmFyaWFibGVzLnNpemUoKSkKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICwgaXNCb2R5QXJyb3dGdW5jdGlvbkJs
b2NrKHBhcmFtZXRlcnMuaXNCb2R5QXJyb3dGdW5jdGlvbkJsb2NrKQorICAgICwgdG9rZW5UeXBl
KHBhcmFtZXRlcnMudG9rZW5UeXBlKQorI2VuZGlmCiB7CiAgICAgdW5zaWduZWQgaiA9IDA7CiAg
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHVzZWRWYXJpYWJsZXNDb3VudDsgKytpLCArK2op
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tl
ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKaW5kZXgg
OGI0NzU4NGJhN2I3YTRmMjljMGYwZTBlYWQ1N2UwNzM0ZmFiZmUyZi4uYzE0YmM4ZjU3MTkwMTA4
NjU3ZjAzMjAxMzAzYzQzZWI4MWI2MTRhMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9TeW50YXhDaGVja2VyLmgKQEAgLTMxLDcgKzMxLDcgQEAKICNpbmNsdWRlICJZYXJyU3lu
dGF4Q2hlY2tlci5oIgogCiBuYW1lc3BhY2UgSlNDIHsKLSAgICAKKwogY2xhc3MgU3ludGF4Q2hl
Y2tlciB7CiBwdWJsaWM6CiAgICAgc3RydWN0IEJpbmFyeUV4cHJDb250ZXh0IHsKQEAgLTY0LDcg
KzY0LDcgQEAgcHVibGljOgogICAgIHByaXZhdGU6CiAgICAgICAgIFN5bnRheENoZWNrZXIqIG1f
Y29udGV4dDsKICAgICB9OwotICAgIAorCiAgICAgU3ludGF4Q2hlY2tlcihWTSogLCB2b2lkKikK
ICAgICB7CiAgICAgfQpAQCAtMTcwLDYgKzE3MCwxMCBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICBF
eHByZXNzaW9uVHlwZSBjcmVhdGVGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwg
Y29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JikgeyByZXR1cm4gRnVuY3Rp
b25FeHByOyB9CiAgICAgaW50IGNyZWF0ZUZ1bmN0aW9uQm9keShjb25zdCBKU1Rva2VuTG9jYXRp
b24mLCBjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBpbnQsIGludCwgYm9vbCwgaW50LCBpbnQsIGlu
dCwgQ29uc3RydWN0b3JLaW5kKSB7IHJldHVybiBGdW5jdGlvbkJvZHlSZXN1bHQ7IH0KKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0
ZUFycm93RnVuY3Rpb25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1
bmN0aW9uSW5mbzxTeW50YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQorI2Vu
ZGlmIAorICAgIHZvaWQgc2V0RnVuY3Rpb25OYW1lU3RhcnQoaW50LCBpbnQpIHsgfQogICAgIGlu
dCBjcmVhdGVBcmd1bWVudHMoKSB7IHJldHVybiBBcmd1bWVudHNSZXN1bHQ7IH0KICAgICBpbnQg
Y3JlYXRlQXJndW1lbnRzKGludCkgeyByZXR1cm4gQXJndW1lbnRzUmVzdWx0OyB9CiAgICAgRXhw
cmVzc2lvblR5cGUgY3JlYXRlU3ByZWFkRXhwcmVzc2lvbihjb25zdCBKU1Rva2VuTG9jYXRpb24m
LCBFeHByZXNzaW9uVHlwZSwgaW50LCBpbnQsIGludCkgeyByZXR1cm4gU3ByZWFkRXhwcjsgfQpA
QCAtMjU2LDcgKzI2MCw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIG1fdG9wQmluYXJ5RXhwciA9
IEJpbmFyeUV4cHI7CiAgICAgICAgIG9wZXJhbmRTdGFja0RlcHRoKys7CiAgICAgfQotICAgIAor
CiAgICAgLy8gTG9naWMgdG8gaGFuZGxlIGRhdGFzdHJ1Y3R1cmVzIHVzZWQgZHVyaW5nIHBhcnNp
bmcgb2YgYmluYXJ5IGV4cHJlc3Npb25zCiAgICAgdm9pZCBvcGVyYXRvclN0YWNrUG9wKGludCYg
b3BlcmF0b3JTdGFja0RlcHRoKSB7IG9wZXJhdG9yU3RhY2tEZXB0aC0tOyB9CiAgICAgYm9vbCBv
cGVyYXRvclN0YWNrSGFzSGlnaGVyUHJlY2VkZW5jZShpbnQmLCBpbnQpIHsgcmV0dXJuIHRydWU7
IH0KQEAgLTI2NSwxMiArMjY5LDEyIEBAIHB1YmxpYzoKICAgICB2b2lkIGFwcGVuZEJpbmFyeU9w
ZXJhdGlvbihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBpbnQmIG9wZXJhbmRTdGFja0RlcHRoLCBp
bnQmLCBCaW5hcnlPcGVyYW5kLCBCaW5hcnlPcGVyYW5kKSB7IG9wZXJhbmRTdGFja0RlcHRoKys7
IH0KICAgICB2b2lkIG9wZXJhdG9yU3RhY2tBcHBlbmQoaW50JiBvcGVyYXRvclN0YWNrRGVwdGgs
IGludCwgaW50KSB7IG9wZXJhdG9yU3RhY2tEZXB0aCsrOyB9CiAgICAgaW50IHBvcE9wZXJhbmRT
dGFjayhpbnQmKSB7IGludCByZXMgPSBtX3RvcEJpbmFyeUV4cHI7IG1fdG9wQmluYXJ5RXhwciA9
IDA7IHJldHVybiByZXM7IH0KLSAgICAKKwogICAgIHZvaWQgYXBwZW5kVW5hcnlUb2tlbihpbnQm
IHN0YWNrRGVwdGgsIGludCB0b2ssIGludCkgeyBzdGFja0RlcHRoID0gMTsgbV90b3BVbmFyeVRv
a2VuID0gdG9rOyB9CiAgICAgaW50IHVuYXJ5VG9rZW5TdGFja0xhc3RUeXBlKGludCYpIHsgcmV0
dXJuIG1fdG9wVW5hcnlUb2tlbjsgfQogICAgIEpTVGV4dFBvc2l0aW9uIHVuYXJ5VG9rZW5TdGFj
a0xhc3RTdGFydChpbnQmKSB7IHJldHVybiBKU1RleHRQb3NpdGlvbigwLCAwLCAwKTsgfQogICAg
IHZvaWQgdW5hcnlUb2tlblN0YWNrUmVtb3ZlTGFzdChpbnQmIHN0YWNrRGVwdGgpIHsgc3RhY2tE
ZXB0aCA9IDA7IH0KLSAgICAKKwogICAgIHZvaWQgYXNzaWdubWVudFN0YWNrQXBwZW5kKGludCwg
aW50LCBpbnQsIGludCwgaW50LCBPcGVyYXRvcikgeyB9CiAgICAgaW50IGNyZWF0ZUFzc2lnbm1l
bnQoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgaW50LCBpbnQsIGludCwgaW50LCBpbnQpIHsgUkVM
RUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsgcmV0dXJuIEFzc2lnbm1lbnRFeHByOyB9CiAgICAg
Y29uc3QgSWRlbnRpZmllciogZ2V0TmFtZShjb25zdCBQcm9wZXJ0eSYgcHJvcGVydHkpIGNvbnN0
IHsgcmV0dXJuIHByb3BlcnR5Lm5hbWU7IH0KQEAgLTI4MCw3ICsyODQsNyBAQCBwdWJsaWM6CiAg
ICAgewogICAgICAgICByZXR1cm4gRGVjb25zdHJ1Y3RpbmdBc3NpZ25tZW50OwogICAgIH0KLSAg
ICAKKwogICAgIEFycmF5UGF0dGVybiBjcmVhdGVBcnJheVBhdHRlcm4oY29uc3QgSlNUb2tlbkxv
Y2F0aW9uJikKICAgICB7CiAgICAgICAgIHJldHVybiBBcnJheURlY29uc3RydWN0aW9uOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29kZUNhY2hlLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvZGVDYWNoZS5jcHAKaW5kZXggM2U2N2EyN2Qw
ZmJiZmYxYWEzZGE0MmM4NjI0YTA2MjIyN2VkMTg1Yy4uODUxNWNiYmVhMmQ2OTk3NzZiM2Y4ZmVm
YjRjM2MzY2M5ZWZiMWJjZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQ29kZUNhY2hlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2Rl
Q2FjaGUuY3BwCkBAIC05Myw3ICs5Myw3IEBAIFVubGlua2VkQ29kZUJsb2NrVHlwZSogQ29kZUNh
Y2hlOjpnZXRHbG9iYWxDb2RlQmxvY2soVk0mIHZtLCBFeGVjdXRhYmxlVHlwZSogZXhlCiAKICAg
ICB0eXBlZGVmIHR5cGVuYW1lIENhY2hlVHlwZXM8VW5saW5rZWRDb2RlQmxvY2tUeXBlPjo6Um9v
dE5vZGUgUm9vdE5vZGU7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJvb3ROb2RlPiByb290Tm9kZSA9
IHBhcnNlPFJvb3ROb2RlPigKLSAgICAgICAgJnZtLCBzb3VyY2UsIDAsIElkZW50aWZpZXIoKSwg
YnVpbHRpbk1vZGUsIHN0cmljdE1vZGUsIAorICAgICAgICAmdm0sIHNvdXJjZSwgMCwgSWRlbnRp
ZmllcigpLCBidWlsdGluTW9kZSwgc3RyaWN0TW9kZSwKICAgICAgICAgSlNQYXJzZXJDb2RlVHlw
ZTo6UHJvZ3JhbSwgZXJyb3IpOwogICAgIGlmICghcm9vdE5vZGUpCiAgICAgICAgIHJldHVybiBu
dWxscHRyOwpAQCAtMTM0LDggKzEzNCw4IEBAIFVubGlua2VkRXZhbENvZGVCbG9jayogQ29kZUNh
Y2hlOjpnZXRFdmFsQ29kZUJsb2NrKFZNJiB2bSwgRXZhbEV4ZWN1dGFibGUqIGV4ZWN1CiBVbmxp
bmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSogQ29kZUNhY2hlOjpnZXRGdW5jdGlvbkV4ZWN1dGFibGVG
cm9tR2xvYmFsQ29kZShWTSYgdm0sIGNvbnN0IElkZW50aWZpZXImIG5hbWUsIGNvbnN0IFNvdXJj
ZUNvZGUmIHNvdXJjZSwgUGFyc2VyRXJyb3ImIGVycm9yKQogewogICAgIFNvdXJjZUNvZGVLZXkg
a2V5ID0gU291cmNlQ29kZUtleSgKLSAgICAgICAgc291cmNlLCBuYW1lLnN0cmluZygpLCBTb3Vy
Y2VDb2RlS2V5OjpGdW5jdGlvblR5cGUsIAotICAgICAgICBKU1BhcnNlckJ1aWx0aW5Nb2RlOjpO
b3RCdWlsdGluLCAKKyAgICAgICAgc291cmNlLCBuYW1lLnN0cmluZygpLCBTb3VyY2VDb2RlS2V5
OjpGdW5jdGlvblR5cGUsCisgICAgICAgIEpTUGFyc2VyQnVpbHRpbk1vZGU6Ok5vdEJ1aWx0aW4s
CiAgICAgICAgIEpTUGFyc2VyU3RyaWN0TW9kZTo6Tm90U3RyaWN0KTsKICAgICBTb3VyY2VDb2Rl
VmFsdWUqIGNhY2hlID0gbV9zb3VyY2VDb2RlLmZpbmRDYWNoZUFuZFVwZGF0ZUFnZShrZXkpOwog
ICAgIGlmIChjYWNoZSkKQEAgLTE0Myw4ICsxNDMsOCBAQCBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0
YWJsZSogQ29kZUNhY2hlOjpnZXRGdW5jdGlvbkV4ZWN1dGFibGVGcm9tR2xvYmFsQ29kZShWTSYg
dgogCiAgICAgSlNUZXh0UG9zaXRpb24gcG9zaXRpb25CZWZvcmVMYXN0TmV3bGluZTsKICAgICBz
dGQ6OnVuaXF1ZV9wdHI8UHJvZ3JhbU5vZGU+IHByb2dyYW0gPSBwYXJzZTxQcm9ncmFtTm9kZT4o
Ci0gICAgICAgICZ2bSwgc291cmNlLCAwLCBJZGVudGlmaWVyKCksIEpTUGFyc2VyQnVpbHRpbk1v
ZGU6Ok5vdEJ1aWx0aW4sIAotICAgICAgICBKU1BhcnNlclN0cmljdE1vZGU6Ok5vdFN0cmljdCwg
SlNQYXJzZXJDb2RlVHlwZTo6UHJvZ3JhbSwgCisgICAgICAgICZ2bSwgc291cmNlLCAwLCBJZGVu
dGlmaWVyKCksIEpTUGFyc2VyQnVpbHRpbk1vZGU6Ok5vdEJ1aWx0aW4sCisgICAgICAgIEpTUGFy
c2VyU3RyaWN0TW9kZTo6Tm90U3RyaWN0LCBKU1BhcnNlckNvZGVUeXBlOjpQcm9ncmFtLAogICAg
ICAgICBlcnJvciwgJnBvc2l0aW9uQmVmb3JlTGFzdE5ld2xpbmUpOwogICAgIGlmICghcHJvZ3Jh
bSkgewogICAgICAgICBSRUxFQVNFX0FTU0VSVChlcnJvci5pc1ZhbGlkKCkpOwpAQCAtMTYwLDE1
ICsxNjAsMjAgQEAgVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUqIENvZGVDYWNoZTo6Z2V0RnVu
Y3Rpb25FeGVjdXRhYmxlRnJvbUdsb2JhbENvZGUoVk0mIHYKIAogICAgIFN0YXRlbWVudE5vZGUq
IGZ1bmNEZWNsID0gc3RhdGljX2Nhc3Q8QmxvY2tOb2RlKj4oc3RhdGVtZW50KS0+c2luZ2xlU3Rh
dGVtZW50KCk7CiAgICAgQVNTRVJUKGZ1bmNEZWNsKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIEFTU0VSVChmdW5jRGVjbC0+aXNGdW5jRGVjbE5vZGUoKSAvKnx8
IGZ1bmNEZWNsLT5pc0Fycm93RnVuY0V4cHJOb2RlKCkqLyk7CisgICAgaWYgKCFmdW5jRGVjbCB8
fCAoIWZ1bmNEZWNsLT5pc0Z1bmNEZWNsTm9kZSgpIC8qJiYgIWZ1bmNEZWNsLT5pc0Fycm93RnVu
Y0V4cHJOb2RlKCkqLykpCisgICAgICAgIHJldHVybiBudWxscHRyOworI2Vsc2UKICAgICBBU1NF
UlQoZnVuY0RlY2wtPmlzRnVuY0RlY2xOb2RlKCkpOwogICAgIGlmICghZnVuY0RlY2wgfHwgIWZ1
bmNEZWNsLT5pc0Z1bmNEZWNsTm9kZSgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKLQorI2Vu
ZGlmCiAgICAgRnVuY3Rpb25Cb2R5Tm9kZSogYm9keSA9IHN0YXRpY19jYXN0PEZ1bmNEZWNsTm9k
ZSo+KGZ1bmNEZWNsKS0+Ym9keSgpOwogICAgIEFTU0VSVChib2R5KTsKICAgICBpZiAoIWJvZHkp
CiAgICAgICAgIHJldHVybiBudWxscHRyOwotICAgIAorCiAgICAgYm9keS0+c2V0RW5kUG9zaXRp
b24ocG9zaXRpb25CZWZvcmVMYXN0TmV3bGluZSk7CiAgICAgVW5saW5rZWRGdW5jdGlvbkV4ZWN1
dGFibGUqIGZ1bmN0aW9uRXhlY3V0YWJsZSA9IFVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlOjpj
cmVhdGUoJnZtLCBzb3VyY2UsIGJvZHksIFVubGlua2VkTm9ybWFsRnVuY3Rpb24pOwogICAgIGZ1
bmN0aW9uRXhlY3V0YWJsZS0+bV9uYW1lVmFsdWUuc2V0KHZtLCBmdW5jdGlvbkV4ZWN1dGFibGUs
IGpzU3RyaW5nKCZ2bSwgbmFtZS5zdHJpbmcoKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWQwNWRkMmJkZjg2
MWVhMjgyMDRjMDU3YjU0YmFhM2Y0OTFlYjEwMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAKQEAgLTAsMCArMSw3NCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKworI2luY2x1ZGUgIkVy
cm9yLmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uSGVscGVycy5oIgorI2luY2x1ZGUgIkpTQ0lubGlu
ZXMuaCIKKyNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCisjaW5jbHVkZSAiSlNGdW5jdGlvbklubGlu
ZXMuaCIKKyNpbmNsdWRlICJKU09iamVjdC5oIgorI2luY2x1ZGUgIlByb3BlcnR5U2xvdC5oIgor
I2luY2x1ZGUgIlZNLmgiCisKK25hbWVzcGFjZSBKU0MgeworICAgIAorY29uc3QgQ2xhc3NJbmZv
IEpTQXJyb3dGdW5jdGlvbjo6c19pbmZvID0geyAiQXJyb3dGdW5jdGlvbiIsICZCYXNlOjpzX2lu
Zm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNBcnJvd0Z1bmN0aW9uKSB9OworCit2b2lkIEpT
QXJyb3dGdW5jdGlvbjo6ZGVzdHJveShKU0NlbGwqIGNlbGwpCit7CisgICAgc3RhdGljX2Nhc3Q8
SlNBcnJvd0Z1bmN0aW9uKj4oY2VsbCktPkpTQXJyb3dGdW5jdGlvbjo6fkpTQXJyb3dGdW5jdGlv
bigpOworfQorCitKU0Fycm93RnVuY3Rpb246OkpTQXJyb3dGdW5jdGlvbihWTSYgdm0sIEpTU2Nv
cGUqIHNjb3BlLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIFN0cnVjdHVyZSogc3Ry
dWN0dXJlKQorICAgIDogQmFzZSh2bSwgZXhlY3V0YWJsZSwgc2NvcGUsIHN0cnVjdHVyZSkKK3sK
K30KKyAgICAKK3ZvaWQgSlNBcnJvd0Z1bmN0aW9uOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCit7
CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOworLy8gUHJvdG90eXBlIG9mIGFycm93IGZ1
bmN0aW9uIGlzIHVuZGVmaW5lZAorICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+
cHJvdG90eXBlLCBqc1VuZGVmaW5lZCgpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51
bSk7Cit9CisgICAgCit2b2lkIEpTQXJyb3dGdW5jdGlvbjo6dmlzaXRDaGlsZHJlbihKU0NlbGwq
IGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQoreworICAgIEpTQXJyb3dGdW5jdGlvbiogdGhp
c09iamVjdCA9IGpzQ2FzdDxKU0Fycm93RnVuY3Rpb24qPihjZWxsKTsKKyAgICBBU1NFUlRfR0Nf
T0JKRUNUX0lOSEVSSVRTKHRoaXNPYmplY3QsIGluZm8oKSk7CisgICAgQmFzZTo6dmlzaXRDaGls
ZHJlbih0aGlzT2JqZWN0LCB2aXNpdG9yKTsKK30KKyAgICAKK0NvbnN0cnVjdFR5cGUgSlNBcnJv
d0Z1bmN0aW9uOjpnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCogY2VsbCwgQ29uc3RydWN0RGF0YSYg
Y29uc3RydWN0RGF0YSkKK3sKKyAgICBKU0Z1bmN0aW9uKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpT
RnVuY3Rpb24qPihjZWxsKTsKKyAgICAgICAgCisgICAgY29uc3RydWN0RGF0YS5qcy5mdW5jdGlv
bkV4ZWN1dGFibGUgPSB0aGlzT2JqZWN0LT5qc0V4ZWN1dGFibGUoKTsKKyAgICBjb25zdHJ1Y3RE
YXRhLmpzLnNjb3BlID0gdGhpc09iamVjdC0+c2NvcGUoKTsKKyAgICByZXR1cm4gQ29uc3RydWN0
VHlwZU5vbmU7Cit9Cit9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2U1ODVlZDFlY2QxMjJj
NGQzYjljZGYyMTQxNjcxNzYxMTM3ZmViNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oCkBAIC0wLDAgKzEsNzAgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEpTQXJy
b3dGdW5jdGlvbl9oCisjZGVmaW5lIEpTQXJyb3dGdW5jdGlvbl9oCisKKyNpbmNsdWRlICJKU0Z1
bmN0aW9uLmgiCisKK25hbWVzcGFjZSBKU0MgeworCitjbGFzcyBKU0Fycm93RnVuY3Rpb24gOiBw
dWJsaWMgSlNGdW5jdGlvbiB7CitwdWJsaWM6CisgICAgdHlwZWRlZiBKU0Z1bmN0aW9uIEJhc2U7
CisgICAgICAgIAorICAgIHN0YXRpYyBKU0Fycm93RnVuY3Rpb24qIGNyZWF0ZShWTSYgdm0sIEpT
U2NvcGUqIHNjb3BlLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QpCisgICAgeworICAgICAgICBKU0Fycm93RnVuY3Rpb24qIGZ1bmN0
aW9uID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8SlNBcnJvd0Z1bmN0aW9uPih2bS5oZWFw
KSkgSlNBcnJvd0Z1bmN0aW9uKHZtLCBzY29wZSwgZXhlY3V0YWJsZSwgZ2xvYmFsT2JqZWN0LT5h
cnJvd0Z1bmN0aW9uU3RydWN0dXJlKCkpOworICAgICAgICBBU1NFUlQoZnVuY3Rpb24tPnN0cnVj
dHVyZSgpLT5nbG9iYWxPYmplY3QoKSk7CisgICAgICAgIGZ1bmN0aW9uLT5maW5pc2hDcmVhdGlv
bih2bSk7CisgICAgICAgIHJldHVybiBmdW5jdGlvbjsKKyAgICB9CisgICAgCisgICAgc3RhdGlj
IHZvaWQgZGVzdHJveShKU0NlbGwqKTsKKyAgICAgICAgCisgICAgc3RhdGljIFN0cnVjdHVyZSog
Y3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNW
YWx1ZSBwcm90b3R5cGUpCisgICAgeworICAgICAgICBBU1NFUlQoZ2xvYmFsT2JqZWN0KTsKKyAg
ICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlw
ZSwgVHlwZUluZm8oSlNGdW5jdGlvblR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKKyAg
ICB9CisgICAgICAgIAorICAgIHN0YXRpYyBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEo
SlNDZWxsKiwgQ29uc3RydWN0RGF0YSYpOworICAgICAgICAKKyAgICBERUNMQVJFX0lORk87CisK
K3Byb3RlY3RlZDoKKyAgICBjb25zdCBzdGF0aWMgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBP
dmVycmlkZXNIYXNJbnN0YW5jZSB8IEJhc2U6OlN0cnVjdHVyZUZsYWdzOworICAgICAgICAKKyAg
ICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CisgICAg
ICAgIAorcHJpdmF0ZToKKyAgICBKU0Fycm93RnVuY3Rpb24oVk0mLCBKU1Njb3BlKiwgRnVuY3Rp
b25FeGVjdXRhYmxlKiwgU3RydWN0dXJlKik7CisKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZN
Jik7Cit9OworICAgIAorfSAvLyBuYW1lc3BhY2UgSlNDCisKKyNlbmRpZiAvLyBKU0Fycm93RnVu
Y3Rpb25faApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5j
dGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCmluZGV4
IGJlMGJkYzc4NDJmOTczM2M3NmIwNjQ0M2JkYTM2NjE0MThlYTU5OTcuLjYwNjBiZTdiZjM1OWIw
MDE1ZjMzMmI3MDcwNzMzYzQ2NTYzNzA4NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0Z1bmN0aW9uLmgKQEAgLTEzMSw2ICsxMzEsOSBAQCBwcm90ZWN0ZWQ6CiAKICAgICBK
U19FWFBPUlRfUFJJVkFURSBKU0Z1bmN0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1
cmUqKTsKICAgICBKU0Z1bmN0aW9uKFZNJiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgSlNTY29wZSop
OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgSlNGdW5jdGlvbihW
TSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSosIEpTU2NvcGUqLCBTdHJ1Y3R1cmUqKTsKKyNlbmRpZgog
CiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIE5hdGl2ZUV4ZWN1dGFibGUqLCBpbnQgbGVu
Z3RoLCBjb25zdCBTdHJpbmcmIG5hbWUpOwogICAgIHVzaW5nIEJhc2U6OmZpbmlzaENyZWF0aW9u
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklu
bGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVz
LmgKaW5kZXggYTVkZTkxN2MxN2U0ODRkY2FhNjU1MDVhZjcxMTc4NzU0Mjk1ZTI0Zi4uN2RiODA0
MDZlNzFkYjJiN2JiNjM1NDU4MjM1NmI1ZTFmNWM4MmI3MSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oCkBAIC0zOCw2ICszOCwxNSBA
QCBpbmxpbmUgSlNGdW5jdGlvbjo6SlNGdW5jdGlvbihWTSYgdm0sIEZ1bmN0aW9uRXhlY3V0YWJs
ZSogZXhlY3V0YWJsZSwgSlNTY29wZSogcwogewogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKK2lubGluZSBKU0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKFZNJiB2bSwgRnVu
Y3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBKU1Njb3BlKiBzY29wZSwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUpCisgICAgOiBCYXNlKHZtLCBzY29wZSwgc3RydWN0dXJlKQorICAgICwgbV9leGVj
dXRhYmxlKHZtLCB0aGlzLCBleGVjdXRhYmxlKQorICAgICwgbV9hbGxvY2F0aW9uUHJvZmlsZVdh
dGNocG9pbnQoQ2xlYXJXYXRjaHBvaW50KQoreworfQorI2VuZGlmCisgICAgCiBpbmxpbmUgRnVu
Y3Rpb25FeGVjdXRhYmxlKiBKU0Z1bmN0aW9uOjpqc0V4ZWN1dGFibGUoKSBjb25zdAogewogICAg
IEFTU0VSVCghaXNIb3N0RnVuY3Rpb25Ob25JbmxpbmUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggYTVlYWFmYjFiZTdjY2Rm
YjJkZmJmMThjYWEzMmNkZTIyODI0YTBmNC4uM2MzNDFhOWRhOWM5OGY3MWM1OTA5NGU0OWM5NmRj
ZWMwZTJjYjEzMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNH
bG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xv
YmFsT2JqZWN0LmNwcApAQCAtNjIsNiArNjIsOSBAQAogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXJQ
cm90b3R5cGUuaCIKICNpbmNsdWRlICJKU0FycmF5SXRlcmF0b3IuaCIKICNpbmNsdWRlICJKU0Jv
dW5kRnVuY3Rpb24uaCIKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorI2lu
Y2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorI2VuZGlmCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5o
IgogI2luY2x1ZGUgIkpTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIkpTQ2FsbGJh
Y2tGdW5jdGlvbi5oIgpAQCAtMjMzLDYgKzIzNiw5IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6Omlu
aXQoVk0mIHZtKQogICAgIGV4ZWMtPnNldENhbGxlZShtX2dsb2JhbENhbGxlZS5nZXQoKSk7CiAK
ICAgICBtX2Z1bmN0aW9uU3RydWN0dXJlLnNldCh2bSwgdGhpcywgSlNGdW5jdGlvbjo6Y3JlYXRl
U3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7CisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBtX2Fycm93RnVuY3Rpb25TdHJ1Y3R1
cmUuc2V0KHZtLCB0aGlzLCBKU0Fycm93RnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhp
cywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOworI2VuZGlmCiAgICAgbV9ib3VuZEZ1bmN0
aW9uU3RydWN0dXJlLnNldCh2bSwgdGhpcywgSlNCb3VuZEZ1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1
cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKICAgICBtX25hbWVkRnVu
Y3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNp
dGlvbih2bSwgbV9mdW5jdGlvblN0cnVjdHVyZS5nZXQoKSwgdm0ucHJvcGVydHlOYW1lcy0+bmFt
ZSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgRG9udEVudW0sIG1fZnVuY3Rpb25OYW1lT2Zmc2V0
KSk7CiAgICAgbV9pbnRlcm5hbEZ1bmN0aW9uU3RydWN0dXJlLnNldCh2bSwgdGhpcywgSW50ZXJu
YWxGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBl
LmdldCgpKSk7CkBAIC03MjUsNiArNzMxLDkgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6dmlzaXRD
aGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogICAgIHZpc2l0b3Iu
YXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2NhbGxlZVN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBl
bmQoJnRoaXNPYmplY3QtPm1fZnVuY3Rpb25TdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5k
KCZ0aGlzT2JqZWN0LT5tX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUpOworI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1f
YXJyb3dGdW5jdGlvblN0cnVjdHVyZSk7CisjZW5kaWYKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhp
c09iamVjdC0+bV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgm
dGhpc09iamVjdC0+bV9zeW1ib2xPYmplY3RTdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5k
KCZ0aGlzT2JqZWN0LT5tX3JlZ0V4cE1hdGNoZXNBcnJheVN0cnVjdHVyZSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCA1ZjA4ZmU0OGE4
ZmFjZjU1N2FlZmQxNWZjNjAzNTcxZGMwMGQyYTQ4Li4yMmRjOTNhZjQwYjVhODc4MjUzMDllN2I4
MzBiZDdhMzZkODJmYzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0dsb2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmgKQEAgLTIyNCw2ICsyMjQsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgV3JpdGVC
YXJyaWVyPFN0cnVjdHVyZT4gbV9jYWxsZWVTdHJ1Y3R1cmU7CiAgICAgV3JpdGVCYXJyaWVyPFN0
cnVjdHVyZT4gbV9mdW5jdGlvblN0cnVjdHVyZTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJl
PiBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmU7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2Fycm93RnVuY3Rpb25TdHJ1
Y3R1cmU7CisjZW5kaWYKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX25hbWVkRnVuY3Rp
b25TdHJ1Y3R1cmU7CiAgICAgUHJvcGVydHlPZmZzZXQgbV9mdW5jdGlvbk5hbWVPZmZzZXQ7CiAg
ICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9wcml2YXRlTmFtZVN0cnVjdHVyZTsKQEAgLTQ1
NSw2ICs0NTgsOSBAQCBwdWJsaWM6CiAgICAgU3RydWN0dXJlKiBjYWxsZWVTdHJ1Y3R1cmUoKSBj
b25zdCB7IHJldHVybiBtX2NhbGxlZVN0cnVjdHVyZS5nZXQoKTsgfQogICAgIFN0cnVjdHVyZSog
ZnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2Z1bmN0aW9uU3RydWN0dXJlLmdl
dCgpOyB9CiAgICAgU3RydWN0dXJlKiBib3VuZEZ1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyBy
ZXR1cm4gbV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBTdHJ1Y3R1cmUqIGFycm93RnVuY3Rpb25TdHJ1Y3R1
cmUoKSBjb25zdCB7IHJldHVybiBtX2Fycm93RnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KKyNl
bmRpZgogICAgIFN0cnVjdHVyZSogbmFtZWRGdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0
dXJuIG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQogICAgIFByb3BlcnR5T2Zmc2V0
IGZ1bmN0aW9uTmFtZU9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fZnVuY3Rpb25OYW1lT2Zmc2V0
OyB9CiAgICAgU3RydWN0dXJlKiBudW1iZXJPYmplY3RTdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVy
biBtX251bWJlck9iamVjdFN0cnVjdHVyZS5nZXQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLmpzIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI2MWY5
NGU1NzViZDAwNjRlMmE1MGQ3MjAzYjY4ODQ4N2I1ZDRiOTIKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24uanMKQEAgLTAs
MCArMSwxNTAgQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0
dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgewor
ICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3
YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBhcnJvd0Z1bmN0aW9uMCA9IHYg
PT4gdiArIDE7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMCgxMCk7Cit0ZXN0Q2FzZShyZXN1bHQs
IDExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246
IHYgPT4gdiArIDEiKTsKKwordmFyIGFycm93RnVuY3Rpb24xID0gKHYpID0+IHYgKiAyOworcmVz
dWx0ID0gYXJyb3dGdW5jdGlvbjEoMTApOwordGVzdENhc2UocmVzdWx0LCAyMCAsIkVycm9yOiBO
b3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAodikgPT4gdiArIDEi
KTsKKwordmFyIGFycm93RnVuY3Rpb24yID0gKCkgPT4gMTAwMDsKK3Jlc3VsdCA9IGFycm93RnVu
Y3Rpb24yKDEyMTIpOwordGVzdENhc2UocmVzdWx0LCAxMDAwICwiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICgpID0+IDEwMDAiKTsKKwordmFyIHRt
cFZhcmlhbHZlMl8xID0gMTUxOwordmFyIGFycm93RnVuY3Rpb24yXzEgPSAoKSA9PiB0bXBWYXJp
YWx2ZTJfMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24yXzEoMTIxKTsKK3Rlc3RDYXNlKHJlc3Vs
dCwgdG1wVmFyaWFsdmUyXzEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbjogKCkgPT4gdmFyaWFibGUiKTsKKwordmFyIGFycm93RnVuY3Rpb24zID0g
KHYsIHgpID0+IHYgKyB4OworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjMoMTEsMTIpOwordGVzdENh
c2UocmVzdWx0LCAyMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uOiAoeCwgeSkgPT4geCArIHkiKTsKKwordmFyIGFycm93RnVuY3Rpb25XcmFwcGVy
ID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRlcikgeyByZXR1cm4gY2wocGFyYW10ZXIpOyB9OworCity
ZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEyMzQpOwordGVzdENhc2UocmVzdWx0
LCAxMjM0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjKSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldy
YXBwZXIoeCA9PiAxMjM0LCAyMzQ1KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIzNCAsIkVycm9yOiBO
b3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBm
KHggPT4gYywgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4gMTIx
ICsgMjMyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzUzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1
dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjMSArIGMyKSIp
OworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMjMgKyAzMjEsIDk5OTkp
OwordGVzdENhc2UocmVzdWx0LCA0NDQgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMxICsgYzIsIHkpIik7CisK
KyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IHggKyAxMiwgMjEpOwordGVzdENh
c2UocmVzdWx0LCAzMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4geCArIGMxLCB5KSIpOworCisgcmVzdWx0ID0g
YXJyb3dGdW5jdGlvbldyYXBwZXIoKHgpID0+IHggKyAyMSwgMzIpOwordGVzdENhc2UocmVzdWx0
LCA1MywgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9u
IGFzIHBhcmFtdGVyOiBmKCh4KSA9PiBjMSArIGMyLCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dG
dW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwLCAiRXJyb3I6
IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6
IGYoKCkgPT4gYykiKTsKKworIHZhciBleHRfdmFsdWUgPSAxMjE7CityZXN1bHQgPSBhcnJvd0Z1
bmN0aW9uV3JhcHBlcigoKSA9PiBleHRfdmFsdWUpOwordGVzdENhc2UocmVzdWx0LCAxMjEsICJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJh
bXRlcjogZigoKSA9PiB2KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkg
PT4gZXh0X3ZhbHVlICogMTApOwordGVzdENhc2UocmVzdWx0LCAxMjEwICwiRXJyb3I6IE5vdCBj
b3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkg
PT4gdip4KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKHgpID0+IGV4dF92
YWx1ZSAqIHgsIDMwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzAqZXh0X3ZhbHVlICwiRXJyb3I6IE5v
dCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYo
KHgpID0+IHYqeCwgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+
IDEwMCwgMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhl
Y3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjMSwgeSki
KTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCArIDEwKTsKK3Rl
c3RDYXNlKHJlc3VsdCwgMTEwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYzEgKyBjMikiKTsKKworIHJlc3Vs
dCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCArIDExLCAxMik7Cit0ZXN0Q2FzZShy
ZXN1bHQsIDExMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1
bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMxICsgYzIsIHkpIik7CisKKyB2YXIgYXJyb3dG
dW5jdGlvbjQgPSB2ID0+IHYgKyAxLCB4eXoxID0gMTAxMDE7CityZXN1bHQgPSBhcnJvd0Z1bmN0
aW9uNCgxMDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAxMiAsIkVycm9yOiBOb3QgY29ycmVjdCBw
YXJzaW5nIG9mIHRoIGFycm93IGZ1bmN0aW9uIGluc2lkZSBvZiB0aGUgbGlzdCBvZiB2YXJzOiB2
YXIgYWYgPSB2PT4gdiArIDE7IHp4Yz1jOyIpOwordGVzdENhc2UoeHl6MSwgMTAxMDEgLCJFcnJv
cjogTm90IGNvcnJlY3QgcGFyc2luZyBvZiB0aCBhcnJvdyBmdW5jdGlvbiBpbnNpZGUgb2YgdGhl
IGxpc3Qgb2YgdmFyczogdmFyIGFmID0gdj0+IHYgKyAxOyB6eGM9YzsiKTsKKworIHZhciBhcnJv
d0Z1bmN0aW9uV3JhcHBlcjIgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVyMSwgcGFyYW10ZXIyKSB7
IHJldHVybiBjbChwYXJhbXRlcjEsIHBhcmFtdGVyMik7IH07CityZXN1bHQgPSBhcnJvd0Z1bmN0
aW9uV3JhcHBlcjIoKHgsIHkpID0+IHggKyB5LCAxMiAsNDMpOwordGVzdENhc2UocmVzdWx0LCA1
NSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFz
IHBhcmFtZXRlcjogZigoeCwgeSkgPT4geCArIHksIGMxLCBjMikiKTsKKworIHZhciBhcnJvd0Z1
bmN0aW9BcnJheTAgPSBbdiA9PiB2ICogMTBdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkw
WzBdKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1
dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogW3Y9PnYqMTBdIik7
CisKKyB2YXIgYXJyb3dGdW5jdGlvQXJyYXkxID0gW3YgPT4gdiArIDEsIHYgPT4gdiArIDJdOwor
cmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkxWzBdKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEg
LCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBp
dGVtIGluIGFycmF5OiBbdiA9PiB2ICsgMSwgIHYgPT4gdiArIDJdIik7CityZXN1bHQgPSBhcnJv
d0Z1bmN0aW9BcnJheTFbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMyAsIkVycm9yOiBOb3Qg
Y29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6
IFt2ID0+IHYgKyAxLCAgdiA9PiB2ICsgMl0iKTsKKworIHZhciBhcnJvd0Z1bmN0aW9BcnJheTIg
PSBbKHYpID0+IHYgKyAxLCAodikgPT4gdiArIDJdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJy
YXkyWzBdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhl
Y3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKHYpID0+IHYg
KyAxLCAgKHYpID0+IHYgKyAyXSIpOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkyWzFdKDEx
KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKHYpID0+IHYgKyAxLCAgKHYp
ID0+IHYgKyAyXSIpOworCisgdmFyIGFycm93RnVuY3Rpb0FycmF5MyA9IFsoKSA9PiAxMDEsICgp
ID0+IDEyMzIzXTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5M1swXSgxMSk7Cit0ZXN0Q2Fz
ZShyZXN1bHQsIDEwMSwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsoKSA9PiBjMSwgICgpID0+IGMyXSIpOworcmVz
dWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkzWzFdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIzMjMs
ICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBp
dGVtIGluIGFycmF5OiBbKCkgPT4gYzEsICAoKSA9PiBjMl0iKTsKKworIHZhciBhcnJvd0Z1bmN0
aW9uT2JqID0ge2Z1bmMgOiB5ID0+IHkgKyAxMiB9OworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbk9i
ai5mdW5jKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhl
Y3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwcm9wZXJ0eToge2Z1bmMgOiB5ID0+IHkg
KyAxMiB9Iik7CisKKyB2YXIgYXJyb3dGYXRGdW5jdGlvbjAgPSAoKSA9PiB7IHJldHVybiAxMDAw
OyB9OworcmVzdWx0ID0gYXJyb3dGYXRGdW5jdGlvbjAoMTEpOwordGVzdENhc2UocmVzdWx0LCAx
MDAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24g
d2l0aCBib2R5IGFzIGJsb2NrOiAoKSA9PiB7IHJldHVybiAxMDAwOyB9Iik7CisKK3ZhciBhcnJv
d0ZhdEZ1bmN0aW9uMSA9IHYgPT4geyB2YXIgaW50dmFsID0gMTAwOyByZXR1cm4gdiAqIGludHZh
bDsgfTsKK3Jlc3VsdCA9IGFycm93RmF0RnVuY3Rpb24xKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwg
MTEwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9u
IHdpdGggYm9keSBhcyBibG9jazogeCA9PiB7IHZhciB2PTEwMDA7IHJldHVybiB2Kng7IH0iKTsK
KwordmFyIGFycm93RmF0RnVuY3Rpb24yID0gKHYpID0+IHsgdmFyIGludCA9IDIwMDsgcmV0dXJu
IHYgKiBpbnQ7IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0aW9uMigxMSk7Cit0ZXN0Q2FzZShy
ZXN1bHQsIDIyMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICh4KSA9PiB7IHZhciB2PTEwMDA7IHJldHVybiB2
Kng7IH0iKTsKKwordmFyIGFycm93RmF0RnVuY3Rpb24zID0gKHYsIHgpID0+IHsgdmFyIHJlc3Vs
dCA9IHggKiB2OyByZXR1cm4gcmVzdWx0OyB9OworcmVzdWx0ID0gYXJyb3dGYXRGdW5jdGlvbjMo
MTEsIDEyMjIyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTM0NDQyICwiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiAodiwg
eCkgPT4geyB2YXIgcmVzdWx0ID0geCAqIHY7IHJldHVybiByZXN1bHQ7IH0iKTsKKworcmVzdWx0
ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeD0+e3JldHVybiB4ICogMjU7fSwgMTIxKTsKK3Rlc3RD
YXNlKHJlc3VsdCwgMjUqMTIxICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiBmKHggPT4ge3JldHVybiB4ICogMjU7
fSwgMTIxKSIpOworCityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcjIoKHgsIHkpPT57cmV0
dXJuIHggKiB5O30sIDE0LCAxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDE0KjEyICwiRXJyb3I6IE5v
dCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJs
b2NrOiBmKCh4LCB5KT0+e3JldHVybiB4ICogeTt9LCAxNCwgMTIxKSkiKTsKKwordmFyIHNpbXBs
ZUFycm93RnVuY3Rpb24gPSAoKSA9PiB7fTsKKwordGVzdENhc2UodHlwZW9mIHNpbXBsZUFycm93
RnVuY3Rpb24sICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNvcnJlY3QgdHlwZSBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2UoT2JqZWN0LmdldFByb3RvdHlwZU9mKHNpbXBsZUFy
cm93RnVuY3Rpb24pLCBGdW5jdGlvbi5wcm90b3R5cGUsICJFcnJvcjogTm90IGNvcnJlY3QgZ2V0
UHJvdG90eXBlT2YgdmFsdWUgZm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHNpbXBs
ZUFycm93RnVuY3Rpb24gaW5zdGFuY2VvZiBGdW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3QgY29y
cmVjdCByZXN1bHQgZm9yIGluc3RhbmNlb2YgbWV0aG9kIGZvciBhcnJvdyBmdW5jdGlvbiIpOwor
Cit0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uLmNvbnN0cnVjdG9yID09IEZ1bmN0aW9uLCB0
cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgY29uc3RydWN0b3IgbWV0aG9kIG9m
IGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHR5cGVvZiBzaW1wbGVBcnJvd0Z1bmN0aW9u
LnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVz
dWx0IGZvciBwcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24iKTsKKwordmFyIGVycm9yT25DcmVh
dGUgPSBmYWxzZTsKKwordHJ5IHsKKyAgdmFyIGZjID0gbmV3IHNpbXBsZUFycm93RnVuY3Rpb24o
KTsKK30KK2NhdGNoIChlKSB7CisgIGVycm9yT25DcmVhdGUgPSB0cnVlOworfQorCit0ZXN0Q2Fz
ZShlcnJvck9uQ3JlYXRlLCB0cnVlLCAiRXJyb3I6IE5vIGVycm9yIG9uIGR1cmluZyBydW4gbmV3
IEFycm93RnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2
ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5B
QkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xBU1Nf
U1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVY
VCA9IDsKIEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yID0gRU5BQkxFX0NTU19BTklNQVRJ
T05TX0xFVkVMXzI7CkBAIC0yMTQsNCArMjE1LDQgQEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsK
IAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURf
TEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRF
UklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRF
RF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRU
QUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NB
TlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklO
RykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQo
RU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5H
KSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9V
VCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVT
T0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVW
RUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NT
UzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVf
Q1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFC
TEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFC
TEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJM
RV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FN
RVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikg
JChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05E
QVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJ
RV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
Ul9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAk
KEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVS
UFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVf
TUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAk
KEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VU
SUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElD
X1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05f
RlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5T
UEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJf
QkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhF
U0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFC
TEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBI
T05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxF
X1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9J
Q09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VM
RUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9E
QVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJH
TCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJf
U09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChF
TkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xU
KSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVS
QVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUp
OworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElO
RykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQo
RU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxF
X0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9D
TEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFU
SU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxF
X0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJM
RV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFC
TEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9D
U1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19U
RVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lC
SUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJE
X1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNG
RVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNf
TEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9B
UEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFC
TEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5H
KSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VS
UykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BM
QVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1Nf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdB
Q1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8p
ICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9N
QVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09V
UkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAk
KEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJ
R0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BP
SU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMp
ICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JF
UVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChF
TkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkg
JChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRM
RV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIp
ICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9F
TEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkg
JChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19U
UkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJ
QSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExB
WSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxF
X1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9V
VCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09Q
KSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BS
RVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOGIxMTJmYWU0NWI5NTdkZDI2
NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkzYzY4
NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZB
U19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVO
QUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJM
RV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CitFTkFCTEVfRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsK
IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVO
QUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yID0gRU5BQkxF
X0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBAIC0yMTQsNCArMjE1LDQgQEAgRU5BQkxFX0xMSU5U
X0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJM
RV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5B
QkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykg
JChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcp
ICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05T
X0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NT
X0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NT
U19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9D
U1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19T
RUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQp
ICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElU
WSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9J
VEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZF
TF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkg
JChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9H
RU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAk
KEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9D
U1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFC
TEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChF
TkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhN
TCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0Up
ICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5B
QkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRP
Ul9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFC
TEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRF
Ul9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChF
TkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVT
VF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJM
RV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9T
UEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NS
WVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChF
TkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1F
TlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVO
QUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNL
KSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAk
KEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAk
KEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VC
X1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAk
KEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQo
RU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VO
VEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BB
VEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJM
RV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJF
QUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFU
SU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRB
VElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05T
KSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChF
TkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVf
Q1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFC
TEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxF
X0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVf
REVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChF
TkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5B
QkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVf
RlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVD
QVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1F
Ul9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09O
VFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxF
X1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENI
KSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFC
TEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRF
Ul9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAk
KEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09O
Q1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4p
ICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJ
TUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEp
ICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9D
T01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9N
RURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExf
U05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQo
RU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09U
Rl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJM
RV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJB
SUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVO
QUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19N
T0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFC
TEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0la
RVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJM
RV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVf
TExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5B
QkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdDIv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOGIxMTJmYWU0NWI5
NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFm
MDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZB
U19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVO
QUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJM
RV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CitFTkFCTEVfRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsK
IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVO
QUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yID0gRU5BQkxF
X0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBAIC0yMTQsNCArMjE1LDQgQEAgRU5BQkxFX0xMSU5U
X0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJM
RV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5B
QkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykg
JChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcp
ICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05T
X0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NT
X0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NT
U19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9D
U1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19T
RUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQp
ICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElU
WSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9J
VEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZF
TF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkg
JChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9H
RU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAk
KEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9D
U1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFC
TEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChF
TkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhN
TCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0Up
ICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5B
QkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRP
Ul9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFC
TEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRF
Ul9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChF
TkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVT
VF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJM
RV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9T
UEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NS
WVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChF
TkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1F
TlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVO
QUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNL
KSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAk
KEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAk
KEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VC
X1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAk
KEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQo
RU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VO
VEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BB
VEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJM
RV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJF
QUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFU
SU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRB
VElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05T
KSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChF
TkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVf
Q1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFC
TEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxF
X0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVf
REVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChF
TkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5B
QkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVf
RlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVD
QVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1F
Ul9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09O
VFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxF
X1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENI
KSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFC
TEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRF
Ul9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAk
KEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09O
Q1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4p
ICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJ
TUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEp
ICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9D
T01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9N
RURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExf
U05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQo
RU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09U
Rl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJM
RV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJB
SUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVO
QUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19N
T0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFC
TEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0la
RVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJM
RV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVf
TExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5B
QkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9X
ZWJLaXRGZWF0dXJlcy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQpp
bmRleCAzMmMyMzVkOThiNWE0MjBlYmUzMzQ4MzRjN2I2YTQxODJiMjIyMjBhLi5hNjc1MzcxNDU2
MjdjZDM4YTI3MDc5Y2Q1ZGZlOTg2ODJjOTFmNDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2Uv
V2ViS2l0RmVhdHVyZXMuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNt
YWtlCkBAIC0yOCw2ICsyOCw3IEBAIG1hY3JvKFdFQktJVF9PUFRJT05fQkVHSU4pCiAgICAgV0VC
S0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NBTlZBU19QUk9YWSAiVG9nZ2xlIENhbnZhc1Byb3h5
IHN1cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ0hBTk5FTF9N
RVNTQUdJTkcgIlRvZ2dsZSBNZXNzYWdlQ2hhbm5lbCBhbmQgTWVzc2FnZVBvcnQgc3VwcG9ydCIg
T04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggIlRv
Z2dsZSBFUzYgY2xhc3Mgc3ludGF4IHN1cHBvcnQiIE9OKQorICAgIFdFQktJVF9PUFRJT05fREVG
SU5FKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggIlRvZ2dsZSBFUzYgYXJyb3cgZnVu
Y3Rpb24gc3ludGF4IHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORyAiVG9nZ2xlIGNvbnRlbnQgZmlsdGVyaW5nIHN1cHBvcnQiIE9G
RikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ09OVEVYVF9NRU5VUyAiVG9nZ2xl
IENvbnRleHQgTWVudSBzdXBwb3J0IiBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFC
TEVfQ1NQX05FWFQgIlRvZ2dsZSBDb250ZW50IFNlY3VyaXR5IFBvbGljeSAxLjEgc3VwcG9ydCIg
T0ZGKQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UgYi9Tb3VyY2UvY21h
a2Vjb25maWcuaC5jbWFrZQppbmRleCAyMWQzZmNjNWQ5ODNmOTU5NWRlZjM1MTA1NjhjZGM5ODk2
NTI0NmVkLi5jZjFhZmU1NmM1ZjBmMjYwOTkwOTBlNTFiN2IyYTY2MDNlYTA3MzIxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2Vjb25maWcu
aC5jbWFrZQpAQCAtMTMsNiArMTMsNyBAQAogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NBTlZBU19Q
Uk9YWQogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HCiAjY21ha2VkZWZp
bmUwMSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWAorI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0VTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWAogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NPTlRFTlRfRklMVEVS
SU5HCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ09OVEVYVF9NRU5VUwogI2NtYWtlZGVmaW5lMDEg
RU5BQkxFX0NSRURFTlRJQUxfU1RPUkFHRQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRwZXJsL0ZlYXR1cmVMaXN0LnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVM
aXN0LnBtCmluZGV4IDE2ZmQ2NDljNjhkNmIzZDQzZDBiMzFlMzM1NzkwNGZjODcyNGE3ZWIuLjIy
M2IzMTFiY2ZiYWIyYzI2OGE3ZjI2NTJkMTRlZDE5NjM3ZmRmY2UgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KQEAgLTQ0LDYgKzQ0LDcgQEAgQkVHSU4gewogbXkgKAog
ICAgICR0aHJlZURSZW5kZXJpbmdTdXBwb3J0LAogICAgICRhY2NlbGVyYXRlZDJEQ2FudmFzU3Vw
cG9ydCwKKyAgICAkYXJyb3dmdW5jdGlvblN5bnRheCwKICAgICAkYmF0dGVyeVN0YXR1c1N1cHBv
cnQsCiAgICAgJGNhbnZhc1BhdGhTdXBwb3J0LAogICAgICRjYW52YXNQcm94eVN1cHBvcnQsCkBA
IC0xNTQsNiArMTU1LDkgQEAgbXkgQGZlYXR1cmVzID0gKAogICAgIHsgb3B0aW9uID0+ICJhY2Nl
bGVyYXRlZC0yZC1jYW52YXMiLCBkZXNjID0+ICJUb2dnbGUgQWNjZWxlcmF0ZWQgMkQgQ2FudmFz
IHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFT
IiwgZGVmYXVsdCA9PiBpc0d0aygpLCB2YWx1ZSA9PiBcJGFjY2VsZXJhdGVkMkRDYW52YXNTdXBw
b3J0IH0sCiAKKyAgICB7IG9wdGlvbiA9PiAiYXJyb3dmdW5jdGlvbi1zeW50YXgiLCBkZXNjID0+
ICJUb2dnbGUgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheCBzdXBwb3J0IiwKKyAgICAgIGRlZmlu
ZSA9PiAiRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCIsIGRlZmF1bHQgPT4gMSwgdmFs
dWUgPT4gXCRhcnJvd2Z1bmN0aW9uU3ludGF4IH0sCisKICAgICB7IG9wdGlvbiA9PiAiYmF0dGVy
eS1zdGF0dXMiLCBkZXNjID0+ICJUb2dnbGUgQmF0dGVyeSBTdGF0dXMgc3VwcG9ydCIsCiAgICAg
ICBkZWZpbmUgPT4gIkVOQUJMRV9CQVRURVJZX1NUQVRVUyIsIGRlZmF1bHQgPT4gaXNFZmwoKSwg
dmFsdWUgPT4gXCRiYXR0ZXJ5U3RhdHVzU3VwcG9ydCB9LAogCmRpZmYgLS1naXQgYS9DaGFuZ2VM
b2cgYi9DaGFuZ2VMb2cKaW5kZXggZTZmMDBhZDNlYmY1MGRjYzFiYjc3YjdjZDYwZjY3ZTRkNTUw
M2JhZS4uMmZlYmU5OTFjN2RhNDdhNzRkM2RiMTY2MzEyMjUwNTNiOGU3MWMxMSAxMDA2NDQKLS0t
IGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE1LTAzLTI3
ICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgW0VT
Nl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQorCisgICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIHRvIHN3
aXRjaCBvbi9vZmYgZXM2IGFycm93IGZ1bmN0aW9uIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgKKworICAgICAgICAgKiBTb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2U6Cisg
ICAgICAgICAqIFNvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlOgorCiAyMDE1LTAzLTI0ICBDc2Fi
YSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW0VGTF0gQWRkIE9w
ZW5XZWJSVEMgaW4gamhidWlsZAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249563</attachid>
            <date>2015-03-27 06:28:27 -0700</date>
            <delta_ts>2015-03-27 07:14:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150327152747.patch</filename>
            <type>text/plain</type>
            <size>141804</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyMDExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjk4MTc2ZmZlMGMzMjBk
ODdhM2FjZTMxMjY3ODQzNTcyYjdiYTQzNi4uNjI3NTYzZTEyNWY1ZjkyNjkyOTFjNjNmMGQzZmM1
NzY4MjViMzQ0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTAzLTI3ICBTa2Fj
aGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgIFtFUzZdIElt
cGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyBFTkFCTEVfRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgorCisgICAgICAgICAqIENv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1LTAzLTI1ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBDU1MgYmxlbmQgbW9kZXMgZG8g
bm90IHBhcnNlIHdoZW4gaW4gdGhlIHNoYWRvdyB0cmVlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggMjYy
MzZlZjk2MDVlZWM3ZTQ4Y2NjMjE3MzAwNGIwNTk4Yzg0ODg0NC4uOTQ0MDUzY2U4NTk2NzA4YmRh
ZWRkOWI1ZTkyMzAyMTIxOWM3OTVmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDE1LTAzLTI3ICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisK
KyAgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1
cmUgZmxhZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlv
bgorCisgICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisK
IDIwMTUtMDMtMjQgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAg
ICAgICBGaXggZGVzaWduYXRlZCBpbml0aWFsaXplciB2aW9sYXRpb25zCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKaW5kZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4u
MTE0OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVf
Q0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5U
QVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9T
WU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0g
OwogRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNf
TEVWRUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBF
TkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlP
VVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5H
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09W
RVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hN
RU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFT
X1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAk
KEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFC
TEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQo
RU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAk
KEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVU
SU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQp
ICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19U
RVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNU
T01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9E
RVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9N
NF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZP
TlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFE
KSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVO
QUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJ
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BP
UE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5B
QkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5B
QkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChF
TkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9S
X1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVT
UykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJ
QV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFf
U1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5B
QkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMp
ICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxF
X1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VG
RklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFN
RSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNU
T1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5E
SU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMp
ICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9T
VkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVf
TlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVY
VF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05f
TE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1Rf
QUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFD
VUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAk
KEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NL
RVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJM
RV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQo
RU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVE
X0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitG
RUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAk
KEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFC
TEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FO
VkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNT
X1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05T
X0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NT
X0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NT
U19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9D
U1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19T
RUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQp
ICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElU
WSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9J
VEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZF
TF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkg
JChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9H
RU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAk
KEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9D
U1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFC
TEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChF
TkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhN
TCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0Up
ICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5B
QkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRP
Ul9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFC
TEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRF
Ul9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChF
TkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVT
VF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJM
RV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9T
UEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NS
WVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChF
TkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1F
TlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVO
QUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNL
KSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAk
KEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAk
KEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VC
X1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAk
KEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQo
RU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VO
VEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBiYTJkMTM2ZWI5
NWI1YTlmZDM1NGFiMzBhOGYzNjkxYmY3OGNlYjg2Li5lOWQ2ZjI0NjVlMzM4NTVkMzY4YjRkMjA0
ZTBkNzY0NmM1NmU5ODlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTA5Miw2
ICsxMDkyLDggQEAKIAkJODZGM0VFQkYxNjhDREU5MzAwNzdCOTJBIC8qIE9iamNSdW50aW1lRXh0
cmFzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkYz
RUVCNjE2ODU1QTVCMDA3N0I5MkEgLyogT2JqY1J1bnRpbWVFeHRyYXMuaCAqLzsgfTsKIAkJODZG
QTlFOTExNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkZBOUU4RjE0MkJCQjJEMDAxNzcz
QjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAqLzsgfTsKIAkJODZGQTlFOTIxNDJCQkIyRTAwMTc3
M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlv
bi5oICovOyB9OworCQk4QjBGNDI0QzFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9u
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhCMEY0
MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uY3BwICovOyB9OworCQk4QjBG
NDI0QzFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEg
LyogSlNBcnJvd0Z1bmN0aW9uLmggKi87IH07CiAJCTkwMjEzRTNEMTIzQTQwQzIwMEQ0MjJGMyAv
KiBNZW1vcnlTdGF0aXN0aWNzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDkwMjEzRTNCMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNz
LmNwcCAqLzsgfTsKIAkJOTAyMTNFM0UxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3Rp
Y3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkwMjEz
RTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTMwNTJDMzQwRkI3OTIxOTAwNDhG
REMzIC8qIFBhcnNlckFyZW5hLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDkzMDUyQzMyMEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5jcHAg
Ki87IH07CkBAIC0yODI0LDYgKzI4MjYsOCBAQAogCQk4NkY3NUVGRDE1MUMwNjJGMDA3QzlCQTMg
LyogUmVnRXhwTWF0Y2hlc0FycmF5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFJlZ0V4cE1hdGNoZXNBcnJheS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpT
Qm91bmRGdW5jdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0JvdW5k
RnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOEIwRjQyNEExQUJENkQy
RjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Fycm93RnVu
Y3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOEIwRjQyNEIxQUJENkRFMjAw
MzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKU0Fycm93RnVuY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk5MDIxM0UzQjEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZW1vcnlTdGF0aXN0aWNzLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTAyMTNFM0MxMjNBNDBDMjAwRDQyMkYzIC8q
IE1lbW9yeVN0YXRpc3RpY3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVt
b3J5U3RhdGlzdGljcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzA1MkMzMjBG
Qjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gUGFyc2VyQXJlbmEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtNDQzOCw2ICs0NDQyLDggQEAKIAkJCQlBN0JEQUVDNTE3RjRFQTE0MDBGNjE0MEMgLyog
SlNBcnJheUl0ZXJhdG9yLmggKi8sCiAJCQkJODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpT
Qm91bmRGdW5jdGlvbi5jcHAgKi8sCiAJCQkJODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpT
Qm91bmRGdW5jdGlvbi5oICovLAorCQkJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdFQSAvKiBKU0Fy
cm93RnVuY3Rpb24uaCAqLywKKwkJCQk4QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJv
d0Z1bmN0aW9uLmNwcCAqLywKIAkJCQk2NTdDRjQ1NjE5QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxs
ZWUuY3BwICovLAogCQkJCTY1N0NGNDU3MTlCRjY2NjIwMDRBQ0JGMiAvKiBKU0NhbGxlZS5oICov
LAogCQkJCTBGRDk0OTdFMUE5N0RCOTYwMEUyODk2NiAvKiBKU0NhdGNoU2NvcGUuY3BwICovLApA
QCAtNzE2Niw2ICs3MTcyLDcgQEAKIAkJCQkwRkQ4QTMxQjE3RDUxRjIyMDBDQTJDNDAgLyogRlRM
T1NSRW50cnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyMzVCREMxNzE3OEUxQzAwNjkwQzdG
IC8qIEZUTE9TUkV4aXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyMzVCREYxNzE3OEUxQzAw
NjkwQzdGIC8qIEZUTE9TUkV4aXRDb21waWxlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4QjBG
NDI0QzFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTBGRUEwQTJBMTcwOTYyOTYwMEJCNzIyQyAvKiBGVExPdXRwdXQuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMEY0ODUzMjkxODdERkRFQzAwODNCNjg3IC8qIEZUTFJlY292ZXJ5T3Bjb2Rl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNkIxQ0MzMTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExS
ZWdpc3RlckF0T2Zmc2V0LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCmluZGV4IDZiMjQzOTE1NmFiM2FmYWU2
YjU1OGFiOTA2NmQyMjI1MTVkNTllNDUuLjQzNjA3MDlkOGY3ZTQxODIxNWFiMmFmOTU5YmY2NDQ4
YWYwMzgwMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRl
Y29kZUxpc3QuanNvbgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNv
ZGVMaXN0Lmpzb24KQEAgLTk1LDYgKzk1LDcgQEAKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9w
X3N3aXRjaF9zdHJpbmciLCAibGVuZ3RoIiA6IDQgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDog
Im9wX25ld19mdW5jIiwgImxlbmd0aCIgOiA0IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJv
cF9uZXdfZnVuY19leHAiLCAibGVuZ3RoIiA6IDQgfSwKKyAgICAgICAgICAgIHsgIm5hbWUiIDog
Im9wX25ld19hcnJvd19mdW5jX2V4cCIsICJsZW5ndGgiIDogNSB9LAogICAgICAgICAgICAgeyAi
bmFtZSIgOiAib3BfY2FsbCIsICJsZW5ndGgiIDogOSB9LAogICAgICAgICAgICAgeyAibmFtZSIg
OiAib3BfY2FsbF9ldmFsIiwgImxlbmd0aCIgOiA5IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6
ICJvcF9jYWxsX3ZhcmFyZ3MiLCAibGVuZ3RoIiA6IDkgfSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgKaW5kZXggODVmMjkxNWM3ZThmNjAxYWQz
ZWMxNzhiZjY5ZTM1NDRmNzU0YzJjZi4uMTdiNmJlZDgxZmUyNWI2MjMzMGJhYTNmZDAzMWM3MTZh
Yjg4ZjliZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVj
b2RlVXNlRGVmLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2Rl
VXNlRGVmLmgKQEAgLTExNiw2ICsxMTYsOSBAQCB2b2lkIGNvbXB1dGVVc2VzRm9yQnl0ZWNvZGVP
ZmZzZXQoCiAgICAgY2FzZSBvcF9nZXRfcHJvcGVydHlfZW51bWVyYXRvcjoKICAgICBjYXNlIG9w
X2dldF9lbnVtZXJhYmxlX2xlbmd0aDoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1
bmNfZXhwOgorI2VuZGlmCiAgICAgY2FzZSBvcF90b19pbmRleF9zdHJpbmc6CiAgICAgY2FzZSBv
cF9pbml0X2dsb2JhbF9jb25zdF9ub3A6CiAgICAgY2FzZSBvcF9pbml0X2dsb2JhbF9jb25zdDoK
QEAgLTMwOCw2ICszMTEsOSBAQCB2b2lkIGNvbXB1dGVEZWZzRm9yQnl0ZWNvZGVPZmZzZXQoQ29k
ZUJsb2NrKiBjb2RlQmxvY2ssIHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0LAogICAgIGNhc2Ugb3Bf
bmV3X3JlZ2V4cDoKICAgICBjYXNlIG9wX25ld19mdW5jOgogICAgIGNhc2Ugb3BfbmV3X2Z1bmNf
ZXhwOgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2FzZSBvcF9u
ZXdfYXJyb3dfZnVuY19leHA6CisjZW5kaWYKICAgICBjYXNlIG9wX2NhbGxfdmFyYXJnczoKICAg
ICBjYXNlIG9wX2NvbnN0cnVjdF92YXJhcmdzOgogICAgIGNhc2Ugb3BfZ2V0X2Zyb21fc2NvcGU6
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCmluZGV4IDhh
ZDcxZWM3MWZhNmZmNTNhNzEwMzhmNDk3OTQ4MDk4YjlhOWEzZTUuLjZhMWQ0MjI4NTY5ZjgxOWI5
MGY3YTk4NzY2M2Y4NzBhYzRiYjM4ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9Db2RlQmxvY2suY3BwCkBAIC0xMjc0LDYgKzEyNzQsMTcgQEAgdm9pZCBDb2RlQmxvY2s6
OmR1bXBCeXRlY29kZSgKICAgICAgICAgICAgIG91dC5wcmludGYoIiVzLCAlcywgZiVkIiwgcmVn
aXN0ZXJOYW1lKHIwKS5kYXRhKCksIHJlZ2lzdGVyTmFtZShyMSkuZGF0YSgpLCBmMCk7CiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOiB7CisgICAgICAgICAg
ICBpbnQgcjAgPSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAgICAgICAgIGludCByMSA9ICgrK2l0
KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgaW50IGYwID0gKCsraXQpLT51Lm9wZXJhbmQ7Cisg
ICAgICAgICAgICBpbnQgcjIgPSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAgICAgICAgIHByaW50
TG9jYXRpb25BbmRPcChvdXQsIGV4ZWMsIGxvY2F0aW9uLCBpdCwgIm9wX25ld19hcnJvd19mdW5j
X2V4cCIpOworICAgICAgICAgICAgb3V0LnByaW50ZigiJXMsICVzLCBmJWQsICVzIiwgcmVnaXN0
ZXJOYW1lKHIwKS5kYXRhKCksIHJlZ2lzdGVyTmFtZShyMSkuZGF0YSgpLCBmMCwgcmVnaXN0ZXJO
YW1lKHIyKS5kYXRhKCkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyNlbmRpZgog
ICAgICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDogewogICAgICAgICAgICAgaW50IHIwID0gKCsr
aXQpLT51Lm9wZXJhbmQ7CiAgICAgICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUub3BlcmFuZDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVH
ZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29k
ZUdlbmVyYXRvci5jcHAKaW5kZXggYWM1ZTM3ZTRkODhlYWEzN2EyNGNhZGQ3YWZjNGM4MTZhZGVk
NDJlMi4uM2FjZDc5MjFmYmY5YWJhYjQ1YjlkZjk0NjlmZjZkZGQzMGU1ZjY5MSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVy
YXRvci5jcHAKQEAgLTE3NDIsNiArMTc0MiwzNiBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVy
YXRvcjo6ZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVuY0V4cAog
ICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChpbmRleCk7CiAgICAgcmV0dXJuIHIwOwogfQorICAg
IAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitSZWdpc3RlcklEKiBCeXRl
Y29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQq
IHIwLCBGdW5jRXhwck5vZGUqIG4pCit7CisgICAgRnVuY3Rpb25Cb2R5Tm9kZSogZnVuY3Rpb24g
PSBuLT5ib2R5KCk7CisgICAgdW5zaWduZWQgaW5kZXggPSBtX2NvZGVCbG9jay0+YWRkRnVuY3Rp
b25FeHByKG1ha2VGdW5jdGlvbihmdW5jdGlvbikpOworICAgIAorICAgIFJlZ2lzdGVySUQqIHZh
bHVlID0gZW1pdFRoaXNOb2RlQnl0ZWNvZGUocjAsIG4tPnBvc2l0aW9uKCkpOworICAgIAorICAg
IGVtaXRPcGNvZGUob3BfbmV3X2Fycm93X2Z1bmNfZXhwKTsKKyAgICBpbnN0cnVjdGlvbnMoKS5h
cHBlbmQocjAtPmluZGV4KCkpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChzY29wZVJlZ2lz
dGVyKCktPmluZGV4KCkpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChpbmRleCk7CisgICAg
aW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHZhbHVlLT5pbmRleCgpKTsKKyAgICByZXR1cm4gcjA7Cit9
CisgICAgCitSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFRoaXNOb2RlQnl0ZWNv
ZGUoUmVnaXN0ZXJJRCogZHN0LCBKU1RleHRQb3NpdGlvbiBwb3NpdGlvbikKK3sKKyAgICBpZiAo
ZHN0ID09IGlnbm9yZWRSZXN1bHQoKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgUmVnaXN0ZXJJ
RCogcmVzdWx0ID0gbW92ZVRvRGVzdGluYXRpb25JZk5lZWRlZChkc3QsIHRoaXNSZWdpc3Rlcigp
KTsKKyAgICBpZiAodm0oKS0+dHlwZVByb2ZpbGVyKCkpIHsKKyAgICAgICAgZW1pdFByb2ZpbGVU
eXBlKHRoaXNSZWdpc3RlcigpLCBQcm9maWxlVHlwZUJ5dGVjb2RlRG9lc05vdEhhdmVHbG9iYWxJ
RCwgbnVsbHB0cik7CisgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCB0aGlzTGVuZ3RoID0g
NDsKKyAgICAgICAgZW1pdFR5cGVQcm9maWxlckV4cHJlc3Npb25JbmZvKHBvc2l0aW9uLCBKU1Rl
eHRQb3NpdGlvbigtMSwgcG9zaXRpb24ub2Zmc2V0ICsgdGhpc0xlbmd0aCwgLTEpKTsKKyAgICB9
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKyNlbmRpZgogCiBSZWdpc3RlcklEKiBCeXRlY29kZUdl
bmVyYXRvcjo6ZW1pdE5ld0RlZmF1bHRDb25zdHJ1Y3RvcihSZWdpc3RlcklEKiBkc3QsIENvbnN0
cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQsIGNvbnN0IElkZW50aWZpZXImIG5hbWUpCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmgKaW5kZXggMWM5OWFjYTA4NDg4OGExYjg0OGU3NGUwNTUyOTEyMmU1NTdlN2E4ZC4u
YzcwMWNjNTAzMjY1NTFhZTM1YTU3ZTcyN2E4ZmFlNTI3MzQ4ZmQ5NSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaApA
QCAtMTg5LDcgKzE4OSw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgLCBtX2tpbmQo
Tm9ybWFsVmFyaWFibGUpCiAgICAgICAgIHsKICAgICAgICAgfQotICAgICAgICAKKwogICAgICAg
ICBWYXJpYWJsZShjb25zdCBJZGVudGlmaWVyJiBpZGVudCkKICAgICAgICAgICAgIDogbV9pZGVu
dChpZGVudCkKICAgICAgICAgICAgICwgbV9sb2NhbChudWxscHRyKQpAQCAtMjExLDkgKzIxMSw5
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAvLyBhIHN0YWNrIHZhcmlhYmxlLCBhIHNjb3Bl
ZCB2YXJpYWJsZSBpbiB0aGUgbG9jYWwgc2NvcGUsIG9yIGEgdmFyaWFibGUgY2FwdHVyZWQgaW4g
dGhlCiAgICAgICAgIC8vIGRpcmVjdCBhcmd1bWVudHMgb2JqZWN0LgogICAgICAgICBib29sIGlz
UmVzb2x2ZWQoKSBjb25zdCB7IHJldHVybiAhIW1fb2Zmc2V0OyB9Ci0gICAgICAgIAorCiAgICAg
ICAgIGNvbnN0IElkZW50aWZpZXImIGlkZW50KCkgY29uc3QgeyByZXR1cm4gbV9pZGVudDsgfQot
ICAgICAgICAKKwogICAgICAgICBWYXJPZmZzZXQgb2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9v
ZmZzZXQ7IH0KICAgICAgICAgYm9vbCBpc0xvY2FsKCkgY29uc3QgeyByZXR1cm4gbV9vZmZzZXQu
aXNTdGFjaygpOyB9CiAgICAgICAgIFJlZ2lzdGVySUQqIGxvY2FsKCkgY29uc3QgeyByZXR1cm4g
bV9sb2NhbDsgfQpAQCAtMjU4LDcgKzI1OCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBC
eXRlY29kZUdlbmVyYXRvcihWTSYsIEV2YWxOb2RlKiwgVW5saW5rZWRFdmFsQ29kZUJsb2NrKiwg
RGVidWdnZXJNb2RlLCBQcm9maWxlck1vZGUpOwogCiAgICAgICAgIH5CeXRlY29kZUdlbmVyYXRv
cigpOwotICAgICAgICAKKwogICAgICAgICBWTSogdm0oKSBjb25zdCB7IHJldHVybiBtX3ZtOyB9
CiAgICAgICAgIFBhcnNlckFyZW5hJiBwYXJzZXJBcmVuYSgpIGNvbnN0IHsgcmV0dXJuIG1fc2Nv
cGVOb2RlLT5wYXJzZXJBcmVuYSgpOyB9CiAgICAgICAgIGNvbnN0IENvbW1vbklkZW50aWZpZXJz
JiBwcm9wZXJ0eU5hbWVzKCkgY29uc3QgeyByZXR1cm4gKm1fdm0tPnByb3BlcnR5TmFtZXM7IH0K
QEAgLTI3NywxMyArMjc3LDEzIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2b2lkIHNldElz
TnVtZXJpY0NvbXBhcmVGdW5jdGlvbihib29sIGlzTnVtZXJpY0NvbXBhcmVGdW5jdGlvbik7CiAK
ICAgICAgICAgVmFyaWFibGUgdmFyaWFibGUoY29uc3QgSWRlbnRpZmllciYpOwotICAgICAgICAK
KwogICAgICAgICAvLyBJZ25vcmVzIHRoZSBwb3NzaWJpbGl0eSBvZiBpbnRlcnZlbmluZyBzY29w
ZXMuCiAgICAgICAgIFZhcmlhYmxlIHZhcmlhYmxlUGVyU3ltYm9sVGFibGUoY29uc3QgSWRlbnRp
ZmllciYpOwotICAgICAgICAKKwogICAgICAgICBlbnVtIEV4aXN0aW5nVmFyaWFibGVNb2RlIHsg
VmVyaWZ5RXhpc3RpbmcsIElnbm9yZUV4aXN0aW5nIH07CiAgICAgICAgIHZvaWQgY3JlYXRlVmFy
aWFibGUoY29uc3QgSWRlbnRpZmllciYsIFZhcktpbmQsIENvbnN0YW50TW9kZSwgRXhpc3RpbmdW
YXJpYWJsZU1vZGUgPSBWZXJpZnlFeGlzdGluZyk7IC8vIENyZWF0ZXMgdGhlIHZhcmlhYmxlLCBv
ciBhc3NlcnRzIHRoYXQgdGhlIGFscmVhZHktY3JlYXRlZCB2YXJpYWJsZSBpcyBzdWZmaWNpZW50
bHkgY29tcGF0aWJsZS4KLSAgICAgICAgCisKICAgICAgICAgLy8gUmV0dXJucyB0aGUgcmVnaXN0
ZXIgc3RvcmluZyAidGhpcyIKICAgICAgICAgUmVnaXN0ZXJJRCogdGhpc1JlZ2lzdGVyKCkgeyBy
ZXR1cm4gJm1fdGhpc1JlZ2lzdGVyOyB9CiAgICAgICAgIFJlZ2lzdGVySUQqIGFyZ3VtZW50c1Jl
Z2lzdGVyKCkgeyByZXR1cm4gbV9hcmd1bWVudHNSZWdpc3RlcjsgfQpAQCAtMzgyLDcgKzM4Miw3
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB9CiAKICAgICAgICAgdm9pZCBlbWl0RXhwcmVz
c2lvbkluZm8oY29uc3QgSlNUZXh0UG9zaXRpb24mIGRpdm90LCBjb25zdCBKU1RleHRQb3NpdGlv
biYgZGl2b3RTdGFydCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGRpdm90RW5kKQotICAgICAgICB7
ICAgICAgICAgICAgCisgICAgICAgIHsKICAgICAgICAgICAgIEFTU0VSVChkaXZvdC5vZmZzZXQg
Pj0gZGl2b3RTdGFydC5vZmZzZXQpOwogICAgICAgICAgICAgQVNTRVJUKGRpdm90RW5kLm9mZnNl
dCA+PSBkaXZvdC5vZmZzZXQpOwogCkBAIC00NTQsNiArNDU0LDEwIEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3RnVuY3Rpb25JbnRlcm5hbChSZWdpc3RlcklE
KiBkc3QsIHVuc2lnbmVkIGluZGV4KTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0Z1bmN0
aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiBkc3QsIEZ1bmNFeHByTm9kZSogZnVuYyk7CiAgICAg
ICAgIFJlZ2lzdGVySUQqIGVtaXROZXdEZWZhdWx0Q29uc3RydWN0b3IoUmVnaXN0ZXJJRCogZHN0
LCBDb25zdHJ1Y3RvcktpbmQsIGNvbnN0IElkZW50aWZpZXImIG5hbWUpOworI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdBcnJv
d0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiwgRnVuY0V4cHJOb2RlKik7CisgICAgICAg
IFJlZ2lzdGVySUQqIGVtaXRUaGlzTm9kZUJ5dGVjb2RlKFJlZ2lzdGVySUQqLCBKU1RleHRQb3Np
dGlvbik7CisjZW5kaWYKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld1JlZ0V4cChSZWdpc3Rl
cklEKiBkc3QsIFJlZ0V4cCopOwogCiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRNb3ZlKFJlZ2lz
dGVySUQqIGRzdCwgUmVnaXN0ZXJJRCogc3JjKTsKQEAgLTQ4MCwxNCArNDg0LDE0IEBAIG5hbWVz
cGFjZSBKU0MgewogICAgICAgICBSZWdpc3RlcklEKiBlbWl0RGVsZXRlQnlWYWwoUmVnaXN0ZXJJ
RCogZHN0LCBSZWdpc3RlcklEKiBiYXNlLCBSZWdpc3RlcklEKiBwcm9wZXJ0eSk7CiAgICAgICAg
IFJlZ2lzdGVySUQqIGVtaXRQdXRCeUluZGV4KFJlZ2lzdGVySUQqIGJhc2UsIHVuc2lnbmVkIGlu
ZGV4LCBSZWdpc3RlcklEKiB2YWx1ZSk7CiAgICAgICAgIHZvaWQgZW1pdFB1dEdldHRlclNldHRl
cihSZWdpc3RlcklEKiBiYXNlLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eSwgUmVnaXN0ZXJJ
RCogZ2V0dGVyLCBSZWdpc3RlcklEKiBzZXR0ZXIpOwotICAgICAgICAKKwogICAgICAgICBFeHBl
Y3RlZEZ1bmN0aW9uIGV4cGVjdGVkRnVuY3Rpb25Gb3JJZGVudGlmaWVyKGNvbnN0IElkZW50aWZp
ZXImKTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdENhbGwoUmVnaXN0ZXJJRCogZHN0LCBSZWdp
c3RlcklEKiBmdW5jLCBFeHBlY3RlZEZ1bmN0aW9uLCBDYWxsQXJndW1lbnRzJiwgY29uc3QgSlNU
ZXh0UG9zaXRpb24mIGRpdm90LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZGl2b3RTdGFydCwgY29u
c3QgSlNUZXh0UG9zaXRpb24mIGRpdm90RW5kKTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdENh
bGxFdmFsKFJlZ2lzdGVySUQqIGRzdCwgUmVnaXN0ZXJJRCogZnVuYywgQ2FsbEFyZ3VtZW50cyYs
IGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZvdCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGRpdm90
U3RhcnQsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZvdEVuZCk7CiAgICAgICAgIFJlZ2lzdGVy
SUQqIGVtaXRDYWxsVmFyYXJncyhSZWdpc3RlcklEKiBkc3QsIFJlZ2lzdGVySUQqIGZ1bmMsIFJl
Z2lzdGVySUQqIHRoaXNSZWdpc3RlciwgUmVnaXN0ZXJJRCogYXJndW1lbnRzLCBSZWdpc3RlcklE
KiBmaXJzdEZyZWVSZWdpc3RlciwgaW50MzJfdCBmaXJzdFZhckFyZ09mZnNldCwgUmVnaXN0ZXJJ
RCogcHJvZmlsZUhvb2tSZWdpc3RlciwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGRpdm90LCBjb25z
dCBKU1RleHRQb3NpdGlvbiYgZGl2b3RTdGFydCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGRpdm90
RW5kKTsKIAogICAgICAgICB2b2lkIGVtaXRFbnVtZXJhdGlvbihUaHJvd2FibGVFeHByZXNzaW9u
RGF0YSogZW51bWVyYXRpb25Ob2RlLCBFeHByZXNzaW9uTm9kZSogc3ViamVjdE5vZGUsIGNvbnN0
IHN0ZDo6ZnVuY3Rpb248dm9pZChCeXRlY29kZUdlbmVyYXRvciYsIFJlZ2lzdGVySUQqKT4mIGNh
bGxCYWNrKTsKLSAgICAgICAgCisKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdFJldHVybihSZWdp
c3RlcklEKiBzcmMpOwogICAgICAgICBSZWdpc3RlcklEKiBlbWl0RW5kKFJlZ2lzdGVySUQqIHNy
YykgeyByZXR1cm4gZW1pdFVuYXJ5Tm9Ec3RPcChvcF9lbmQsIHNyYyk7IH0KIApAQCAtNTMzLDcg
KzUzNyw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBSZWdpc3RlcklEKiBwb3BUcnlBbmRF
bWl0Q2F0Y2goVHJ5RGF0YSosIFJlZ2lzdGVySUQqIHRhcmdldFJlZ2lzdGVyLCBMYWJlbCogZW5k
KTsKIAogICAgICAgICB2b2lkIGVtaXRUaHJvdyhSZWdpc3RlcklEKiBleGMpCi0gICAgICAgIHsg
CisgICAgICAgIHsKICAgICAgICAgICAgIG1fdXNlc0V4Y2VwdGlvbnMgPSB0cnVlOwogICAgICAg
ICAgICAgZW1pdFVuYXJ5Tm9Ec3RPcChvcF90aHJvdywgZXhjKTsKICAgICAgICAgfQpAQCAtNTcy
LDkgKzU3Niw5IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIGJvb2wgc2hvdWxkRW1pdFBy
b2ZpbGVIb29rcygpIHsgcmV0dXJuIG1fc2hvdWxkRW1pdFByb2ZpbGVIb29rczsgfQogICAgICAg
ICBib29sIHNob3VsZEVtaXREZWJ1Z0hvb2tzKCkgeyByZXR1cm4gbV9zaG91bGRFbWl0RGVidWdI
b29rczsgfQotICAgICAgICAKKwogICAgICAgICBib29sIGlzU3RyaWN0TW9kZSgpIGNvbnN0IHsg
cmV0dXJuIG1fY29kZUJsb2NrLT5pc1N0cmljdE1vZGUoKTsgfQotICAgICAgICAKKwogICAgICAg
ICBib29sIGlzQnVpbHRpbkZ1bmN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9pc0J1aWx0aW5GdW5j
dGlvbjsgfQogCiAgICAgICAgIE9wY29kZUlEIGxhc3RPcGNvZGVJRCgpIGNvbnN0IHsgcmV0dXJu
IG1fbGFzdE9wY29kZUlEOyB9CkBAIC02MDQsMTIgKzYwOCwxMiBAQCBuYW1lc3BhY2UgSlNDIHsK
IAogICAgICAgICB0eXBlZGVmIEhhc2hNYXA8ZG91YmxlLCBKU1ZhbHVlPiBOdW1iZXJNYXA7CiAg
ICAgICAgIHR5cGVkZWYgSGFzaE1hcDxTdHJpbmdJbXBsKiwgSlNTdHJpbmcqLCBJZGVudGlmaWVy
UmVwSGFzaD4gSWRlbnRpZmllclN0cmluZ01hcDsKLSAgICAgICAgCisKICAgICAgICAgLy8gSGVs
cGVyIGZvciBlbWl0Q2FsbCgpIGFuZCBlbWl0Q29uc3RydWN0KCkuIFRoaXMgd29ya3MgYmVjYXVz
ZSB0aGUgc2V0IG9mCiAgICAgICAgIC8vIGV4cGVjdGVkIGZ1bmN0aW9ucyBoYXZlIGlkZW50aWNh
bCBiZWhhdmlvciBmb3IgYm90aCBjYWxsIGFuZCBjb25zdHJ1Y3QKICAgICAgICAgLy8gKGkuZS4g
Ik9iamVjdCgpIiBpcyBpZGVudGljYWwgdG8gIm5ldyBPYmplY3QoKSIpLgogICAgICAgICBFeHBl
Y3RlZEZ1bmN0aW9uIGVtaXRFeHBlY3RlZEZ1bmN0aW9uU25pcHBldChSZWdpc3RlcklEKiBkc3Qs
IFJlZ2lzdGVySUQqIGZ1bmMsIEV4cGVjdGVkRnVuY3Rpb24sIENhbGxBcmd1bWVudHMmLCBMYWJl
bCogZG9uZSk7Ci0gICAgICAgIAorCiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRDYWxsKE9wY29k
ZUlELCBSZWdpc3RlcklEKiBkc3QsIFJlZ2lzdGVySUQqIGZ1bmMsIEV4cGVjdGVkRnVuY3Rpb24s
IENhbGxBcmd1bWVudHMmLCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZGl2b3QsIGNvbnN0IEpTVGV4
dFBvc2l0aW9uJiBkaXZvdFN0YXJ0LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZGl2b3RFbmQpOwog
CiAgICAgICAgIFJlZ2lzdGVySUQqIG5ld1JlZ2lzdGVyKCk7CkBAIC02MjcsNyArNjMxLDcgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIC8vIEluaXRpYWxpemVzIHRoZSBzdGFjayBmb3JtIHRo
ZSBwYXJhbWV0ZXI7IGRvZXMgbm90aGluZyBmb3IgdGhlIHN5bWJvbCB0YWJsZS4KICAgICAgICAg
UmVnaXN0ZXJJRCogaW5pdGlhbGl6ZU5leHRQYXJhbWV0ZXIoKTsKICAgICAgICAgU3RyaW5nSW1w
bCogdmlzaWJsZU5hbWVGb3JQYXJhbWV0ZXIoRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuTm9kZSopOwot
ICAgICAgICAKKwogICAgICAgICBSZWdpc3RlcklEJiByZWdpc3RlckZvcihWaXJ0dWFsUmVnaXN0
ZXIgcmVnKQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAocmVnLmlzTG9jYWwoKSkKQEAgLTY0
Nyw3ICs2NTEsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdW5zaWduZWQgYWRkUmVnRXhw
KFJlZ0V4cCopOwogCiAgICAgICAgIHVuc2lnbmVkIGFkZENvbnN0YW50QnVmZmVyKHVuc2lnbmVk
IGxlbmd0aCk7Ci0gICAgICAgIAorCiAgICAgICAgIFVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxl
KiBtYWtlRnVuY3Rpb24oRnVuY3Rpb25Cb2R5Tm9kZSogYm9keSkKICAgICAgICAgewogICAgICAg
ICAgICAgcmV0dXJuIFVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlOjpjcmVhdGUobV92bSwgbV9z
Y29wZU5vZGUtPnNvdXJjZSgpLCBib2R5LCBpc0J1aWx0aW5GdW5jdGlvbigpID8gVW5saW5rZWRC
dWlsdGluRnVuY3Rpb24gOiBVbmxpbmtlZE5vcm1hbEZ1bmN0aW9uKTsKQEAgLTczMCw3ICs3MzQs
NyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgVmVjdG9yPHN0ZDo6cGFpcjxSZWZQdHI8UmVn
aXN0ZXJJRD4sIGNvbnN0IERlY29uc3RydWN0aW9uUGF0dGVybk5vZGUqPj4gbV9kZWNvbnN0cnVj
dGVkUGFyYW1ldGVyczsKICAgICAgICAgVmVjdG9yPEZ1bmN0aW9uQm9keU5vZGUqPiBtX2Z1bmN0
aW9uc1RvSW5pdGlhbGl6ZTsKICAgICAgICAgYm9vbCBtX25lZWRUb0luaXRpYWxpemVBcmd1bWVu
dHMgeyBmYWxzZSB9OwotICAgICAgICAKKwogICAgICAgICBWZWN0b3I8VHJ5UmFuZ2U+IG1fdHJ5
UmFuZ2VzOwogICAgICAgICBTZWdtZW50ZWRWZWN0b3I8VHJ5RGF0YSwgOD4gbV90cnlEYXRhOwog
CkBAIC03MzgsNyArNzQyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgdHlwZWRlZiBI
YXNoTWFwPEZ1bmN0aW9uQm9keU5vZGUqLCB1bnNpZ25lZD4gRnVuY3Rpb25PZmZzZXRNYXA7CiAg
ICAgICAgIEZ1bmN0aW9uT2Zmc2V0TWFwIG1fZnVuY3Rpb25PZmZzZXRzOwotICAgICAgICAKKwog
ICAgICAgICAvLyBDb25zdGFudCBwb29sCiAgICAgICAgIElkZW50aWZpZXJNYXAgbV9pZGVudGlm
aWVyTWFwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVy
L05vZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05v
ZGVzQ29kZWdlbi5jcHAKaW5kZXggMWM3NTczYWQ0ZTMyOGIyYTc0YTk1ZmI5M2JiMjA3Njg4MmIy
ZjdiOS4uNjlmZDA4MzBmYjQxOTFiMTA5NTJhYzk1OGM5MDQ0MDllNWE1ZDllMiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApA
QCAtMTQ5LDcgKzE0OSw5IEBAIFJlZ2lzdGVySUQqIFRoaXNOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0
ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0CiAKICAgICBpZiAoZHN0
ID09IGdlbmVyYXRvci5pZ25vcmVkUmVzdWx0KCkpCiAgICAgICAgIHJldHVybiAwOwotCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICByZXR1cm4gZ2VuZXJhdG9yLmVt
aXRUaGlzTm9kZUJ5dGVjb2RlKGRzdCwgcG9zaXRpb24oKSk7CisjZWxzZQogICAgIFJlZ2lzdGVy
SUQqIHJlc3VsdCA9IGdlbmVyYXRvci5tb3ZlVG9EZXN0aW5hdGlvbklmTmVlZGVkKGRzdCwgZ2Vu
ZXJhdG9yLnRoaXNSZWdpc3RlcigpKTsKICAgICBpZiAoZ2VuZXJhdG9yLnZtKCktPnR5cGVQcm9m
aWxlcigpKSB7CiAgICAgICAgIGdlbmVyYXRvci5lbWl0UHJvZmlsZVR5cGUoZ2VuZXJhdG9yLnRo
aXNSZWdpc3RlcigpLCBQcm9maWxlVHlwZUJ5dGVjb2RlRG9lc05vdEhhdmVHbG9iYWxJRCwgbnVs
bHB0cik7CkBAIC0xNTcsNiArMTU5LDcgQEAgUmVnaXN0ZXJJRCogVGhpc05vZGU6OmVtaXRCeXRl
Y29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3RlcklEKiBkc3QKICAgICAg
ICAgZ2VuZXJhdG9yLmVtaXRUeXBlUHJvZmlsZXJFeHByZXNzaW9uSW5mbyhwb3NpdGlvbigpLCBK
U1RleHRQb3NpdGlvbigtMSwgcG9zaXRpb24oKS5vZmZzZXQgKyB0aGlzTGVuZ3RoLCAtMSkpOwog
ICAgIH0KICAgICByZXR1cm4gcmVzdWx0OworI2VuZGlmCiB9CiAKIC8vIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLSBTdXBlck5vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQpAQCAtMjgzMyw2ICsyODM2LDE0IEBAIFJlZ2lzdGVySUQqIEZ1bmNFeHByTm9kZTo6
ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqCiAg
ICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uKGdlbmVyYXRvci5m
aW5hbERlc3RpbmF0aW9uKGRzdCksIHRoaXMpOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkgICAgCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQXJy
b3dGdW5jRXhwck5vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitSZWdpc3Rl
cklEKiBBcnJvd0Z1bmNFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBn
ZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKK3sKKyAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXRO
ZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3Qp
LCB0aGlzKTsKK30KKyNlbmRpZgorICAgIAogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQog
Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIENsYXNzRGVjbE5vZGUgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKaW5kZXggNjlmZDRhZDE1OTU0YjU3MGUwYzk0MDcwNDE2
M2VhNjBiODE0Zjk5Yy4uNTFlZDYwODY1M2Q0ODkxOThmOGE2OWRiMDEzODM0NjM4ZGQwZWEyNyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAK
QEAgLTM2NjIsNiArMzY2MiwxNSBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVu
c2lnbmVkIGxpbWl0KQogICAgICAgICAgICAgTkVYVF9PUENPREUob3BfbmV3X2Z1bmNfZXhwKTsK
ICAgICAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAg
ICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6IHsKKyAgICAgICAgICAgIEZ1bmN0aW9uRXhl
Y3V0YWJsZSogZXhwciA9IG1faW5saW5lU3RhY2tUb3AtPm1fcHJvZmlsZWRCbG9jay0+ZnVuY3Rp
b25FeHByKGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9wZXJhbmQpOworICAgICAgICAgICAgRnJv
emVuVmFsdWUqIGZyb3plbiA9IG1fZ3JhcGguZnJlZXplU3Ryb25nKGV4cHIpOworICAgICAgICAg
ICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwK
KyAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKE5ld0Z1bmN0aW9uLCBPcEluZm8oZnJvemVuKSwg
Z2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSkpKTsK
KyAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX25ld19hcnJvd19mdW5jX2V4cCk7CisgICAgICAg
IH0KKyNlbmRpZgogICAgICAgICBjYXNlIG9wX3R5cGVvZjogewogICAgICAgICAgICAgc2V0KFZp
cnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwKICAgICAgICAg
ICAgICAgICBhZGRUb0dyYXBoKFR5cGVPZiwgZ2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5z
dHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQ2FwYWJpbGl0aWVzLmNwcAppbmRleCA4ZWY0ZGNmMTU2OGJkNWVkYTRiODk3ZTc2ODRhOGNi
YjkxYmY2ZTA4Li5hYWI1MTYyMmY2ZDhkYzFiNzI0YWM1NjE4NDA1ODg2NDYzZmJiZGE4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCkBAIC0yMCw3
ICsyMCw3IEBACiAgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCiAgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKICAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKQEAg
LTkzLDcgKzkzLDcgQEAgaW5saW5lIHZvaWQgZGVidWdGYWlsKENvZGVCbG9jayogY29kZUJsb2Nr
LCBPcGNvZGVJRCBvcGNvZGVJRCwgQ2FwYWJpbGl0eUxldmVsIHIKIENhcGFiaWxpdHlMZXZlbCBj
YXBhYmlsaXR5TGV2ZWwoT3Bjb2RlSUQgb3Bjb2RlSUQsIENvZGVCbG9jayogY29kZUJsb2NrLCBJ
bnN0cnVjdGlvbiogcGMpCiB7CiAgICAgVU5VU0VEX1BBUkFNKGNvZGVCbG9jayk7IC8vIFRoaXMg
ZnVuY3Rpb24gZG9lcyBzb21lIGJ5dGVjb2RlIHBhcnNpbmcuIE9yZGluYXJpbHkgYnl0ZWNvZGUg
cGFyc2luZyByZXF1aXJlcyB0aGUgb3duaW5nIENvZGVCbG9jay4gSXQncyBzb3J0IG9mIHN0cmFu
Z2UgdGhhdCB3ZSBkb24ndCB1c2UgaXQgaGVyZSByaWdodCBub3cuCi0gICAgCisKICAgICBzd2l0
Y2ggKG9wY29kZUlEKSB7CiAgICAgY2FzZSBvcF9lbnRlcjoKICAgICBjYXNlIG9wX3RvdWNoX2Vu
dHJ5OgpAQCAtMjA4LDYgKzIwOCw5IEBAIENhcGFiaWxpdHlMZXZlbCBjYXBhYmlsaXR5TGV2ZWwo
T3Bjb2RlSUQgb3Bjb2RlSUQsIENvZGVCbG9jayogY29kZUJsb2NrLCBJbnN0cnVjCiAgICAgY2Fz
ZSBvcF9uZXdfZnVuYzoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKICAgICBjYXNlIG9wX2Ny
ZWF0ZV9sZXhpY2FsX2Vudmlyb25tZW50OgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6CisjZW5kaWYKICAgICAgICAg
cmV0dXJuIENhbkNvbXBpbGVBbmRJbmxpbmU7CiAKICAgICBjYXNlIG9wX3B1dF90b19zY29wZTog
ewpAQCAtMjQyLDcgKzI0NSw3IEBAIENhcGFiaWxpdHlMZXZlbCBjYXBhYmlsaXR5TGV2ZWwoQ29k
ZUJsb2NrKiBjb2RlQmxvY2spCiAgICAgSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uc0JlZ2luID0g
Y29kZUJsb2NrLT5pbnN0cnVjdGlvbnMoKS5iZWdpbigpOwogICAgIHVuc2lnbmVkIGluc3RydWN0
aW9uQ291bnQgPSBjb2RlQmxvY2stPmluc3RydWN0aW9ucygpLnNpemUoKTsKICAgICBDYXBhYmls
aXR5TGV2ZWwgcmVzdWx0ID0gQ2FuQ29tcGlsZUFuZElubGluZTsKLSAgICAKKwogICAgIGZvciAo
dW5zaWduZWQgYnl0ZWNvZGVPZmZzZXQgPSAwOyBieXRlY29kZU9mZnNldCA8IGluc3RydWN0aW9u
Q291bnQ7ICkgewogICAgICAgICBzd2l0Y2ggKGludGVycHJldGVyLT5nZXRPcGNvZGVJRChpbnN0
cnVjdGlvbnNCZWdpbltieXRlY29kZU9mZnNldF0udS5vcGNvZGUpKSB7CiAjZGVmaW5lIERFRklO
RV9PUChvcGNvZGUsIGxlbmd0aCkgXApAQCAtMjYyLDcgKzI2NSw3IEBAIENhcGFiaWxpdHlMZXZl
bCBjYXBhYmlsaXR5TGV2ZWwoQ29kZUJsb2NrKiBjb2RlQmxvY2spCiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgfQogICAgIH0KLSAgICAKKwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCmlu
ZGV4IGJjODg1YTY0NDUyZmEyNDJkYzI3NzEzOTVkMzQwZGU1M2MwZDk0MzMuLmY3NjcyMWExYWFl
YjAzMjZkMDMxOWE3NDM5NDcxNmEyZDM1Y2QwMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcApAQCAtNDUsNiArNDUsOSBAQAogI2lu
Y2x1ZGUgIkdldHRlclNldHRlci5oIgogI2luY2x1ZGUgIkpTQXJyYXkuaCIKICNpbmNsdWRlICJK
U0JvdW5kRnVuY3Rpb24uaCIKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
I2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorI2VuZGlmCiAjaW5jbHVkZSAiSlNDSW5saW5l
cy5oIgogI2luY2x1ZGUgIkpTTGV4aWNhbEVudmlyb25tZW50LmgiCiAjaW5jbHVkZSAiSlNOYW1l
U2NvcGUuaCIKQEAgLTk3LDEyICsxMDAsMTIgQEAgSlNWYWx1ZSBldmFsKENhbGxGcmFtZSogY2Fs
bEZyYW1lKQogICAgIEpTVmFsdWUgcHJvZ3JhbSA9IGNhbGxGcmFtZS0+YXJndW1lbnQoMCk7CiAg
ICAgaWYgKCFwcm9ncmFtLmlzU3RyaW5nKCkpCiAgICAgICAgIHJldHVybiBwcm9ncmFtOwotICAg
IAorCiAgICAgVG9wQ2FsbEZyYW1lU2V0dGVyIHRvcENhbGxGcmFtZShjYWxsRnJhbWUtPnZtKCks
IGNhbGxGcmFtZSk7CiAgICAgU3RyaW5nIHByb2dyYW1Tb3VyY2UgPSBhc1N0cmluZyhwcm9ncmFt
KS0+dmFsdWUoY2FsbEZyYW1lKTsKICAgICBpZiAoY2FsbEZyYW1lLT5oYWRFeGNlcHRpb24oKSkK
ICAgICAgICAgcmV0dXJuIEpTVmFsdWUoKTsKLSAgICAKKwogICAgIENhbGxGcmFtZSogY2FsbGVy
RnJhbWUgPSBjYWxsRnJhbWUtPmNhbGxlckZyYW1lKCk7CiAgICAgQ29kZUJsb2NrKiBjYWxsZXJD
b2RlQmxvY2sgPSBjYWxsZXJGcmFtZS0+Y29kZUJsb2NrKCk7CiAgICAgSlNTY29wZSogY2FsbGVy
U2NvcGVDaGFpbiA9IGNhbGxlckZyYW1lLT51bmNoZWNrZWRSKGNhbGxlckNvZGVCbG9jay0+c2Nv
cGVSZWdpc3RlcigpLm9mZnNldCgpKS5SZWdpc3Rlcjo6c2NvcGUoKTsKQEAgLTExOSwxMCArMTIy
LDEwIEBAIEpTVmFsdWUgZXZhbChDYWxsRnJhbWUqIGNhbGxGcmFtZSkKICAgICAgICAgICAgIH0g
ZWxzZSB7CiAgICAgICAgICAgICAgICAgTGl0ZXJhbFBhcnNlcjxVQ2hhcj4gcHJlcGFyc2VyKGNh
bGxGcmFtZSwgcHJvZ3JhbVNvdXJjZS5jaGFyYWN0ZXJzMTYoKSwgcHJvZ3JhbVNvdXJjZS5sZW5n
dGgoKSwgTm9uU3RyaWN0SlNPTik7CiAgICAgICAgICAgICAgICAgaWYgKEpTVmFsdWUgcGFyc2Vk
T2JqZWN0ID0gcHJlcGFyc2VyLnRyeUxpdGVyYWxQYXJzZSgpKQotICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gcGFyc2VkT2JqZWN0OyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIHBhcnNlZE9iamVjdDsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAg
ICAKKwogICAgICAgICAvLyBJZiB0aGUgbGl0ZXJhbCBwYXJzZXIgYmFpbGVkLCBpdCBzaG91bGQg
bm90IGhhdmUgdGhyb3duIGV4Y2VwdGlvbnMuCiAgICAgICAgIEFTU0VSVCghY2FsbEZyYW1lLT52
bSgpLmV4Y2VwdGlvbigpKTsKIApAQCAtMTQxLDExICsxNDQsMTEgQEAgdW5zaWduZWQgc2l6ZU9m
VmFyYXJncyhDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNWYWx1ZSBhcmd1bWVudHMsIHVpbnQzMl90
IGZpcnN0VmEKICAgICBpZiAoVU5MSUtFTFkoIWFyZ3VtZW50cy5pc0NlbGwoKSkpIHsKICAgICAg
ICAgaWYgKGFyZ3VtZW50cy5pc1VuZGVmaW5lZE9yTnVsbCgpKQogICAgICAgICAgICAgcmV0dXJu
IDA7Ci0gICAgICAgIAorCiAgICAgICAgIGNhbGxGcmFtZS0+dm0oKS50aHJvd0V4Y2VwdGlvbihj
YWxsRnJhbWUsIGNyZWF0ZUludmFsaWRGdW5jdGlvbkFwcGx5UGFyYW1ldGVyRXJyb3IoY2FsbEZy
YW1lLCBhcmd1bWVudHMpKTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQotICAgIAorCiAgICAg
SlNDZWxsKiBjZWxsID0gYXJndW1lbnRzLmFzQ2VsbCgpOwogICAgIHVuc2lnbmVkIGxlbmd0aDsK
ICAgICBzd2l0Y2ggKGNlbGwtPnR5cGUoKSkgewpAQCAtMTY2LDI1ICsxNjksMjUgQEAgdW5zaWdu
ZWQgc2l6ZU9mVmFyYXJncyhDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNWYWx1ZSBhcmd1bWVudHMs
IHVpbnQzMl90IGZpcnN0VmEKICAgICAgICAgICAgIGxlbmd0aCA9IGpzQ2FzdDxKU09iamVjdCo+
KGNlbGwpLT5nZXQoY2FsbEZyYW1lLCBjYWxsRnJhbWUtPnByb3BlcnR5TmFtZXMoKS5sZW5ndGgp
LnRvVUludDMyKGNhbGxGcmFtZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KLSAgICAKKwogICAg
IGlmIChsZW5ndGggPj0gZmlyc3RWYXJBcmdPZmZzZXQpCiAgICAgICAgIGxlbmd0aCAtPSBmaXJz
dFZhckFyZ09mZnNldDsKICAgICBlbHNlCiAgICAgICAgIGxlbmd0aCA9IDA7Ci0gICAgCisKICAg
ICByZXR1cm4gbGVuZ3RoOwogfQogCiB1bnNpZ25lZCBzaXplRnJhbWVGb3JWYXJhcmdzKENhbGxG
cmFtZSogY2FsbEZyYW1lLCBKU1N0YWNrKiBzdGFjaywgSlNWYWx1ZSBhcmd1bWVudHMsIHVuc2ln
bmVkIG51bVVzZWRTdGFja1Nsb3RzLCB1aW50MzJfdCBmaXJzdFZhckFyZ09mZnNldCkKIHsKICAg
ICB1bnNpZ25lZCBsZW5ndGggPSBzaXplT2ZWYXJhcmdzKGNhbGxGcmFtZSwgYXJndW1lbnRzLCBm
aXJzdFZhckFyZ09mZnNldCk7Ci0gICAgCisKICAgICBDYWxsRnJhbWUqIGNhbGxlZUZyYW1lID0g
Y2FsbGVlRnJhbWVGb3JWYXJhcmdzKGNhbGxGcmFtZSwgbnVtVXNlZFN0YWNrU2xvdHMsIGxlbmd0
aCArIDEpOwogICAgIGlmIChsZW5ndGggPiBtYXhBcmd1bWVudHMgfHwgIXN0YWNrLT5lbnN1cmVD
YXBhY2l0eUZvcihjYWxsZWVGcmFtZS0+cmVnaXN0ZXJzKCkpKSB7CiAgICAgICAgIHRocm93U3Rh
Y2tPdmVyZmxvd0Vycm9yKGNhbGxGcmFtZSk7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KLSAg
ICAKKwogICAgIHJldHVybiBsZW5ndGg7CiB9CiAKQEAgLTE5Miw3ICsxOTUsNyBAQCB2b2lkIGxv
YWRWYXJhcmdzKENhbGxGcmFtZSogY2FsbEZyYW1lLCBWaXJ0dWFsUmVnaXN0ZXIgZmlyc3RFbGVt
ZW50RGVzdCwgSlNWYWx1ZQogewogICAgIGlmIChVTkxJS0VMWSghYXJndW1lbnRzLmlzQ2VsbCgp
KSkKICAgICAgICAgcmV0dXJuOwotICAgIAorCiAgICAgSlNDZWxsKiBjZWxsID0gYXJndW1lbnRz
LmFzQ2VsbCgpOwogICAgIHN3aXRjaCAoY2VsbC0+dHlwZSgpKSB7CiAgICAgY2FzZSBEaXJlY3RB
cmd1bWVudHNUeXBlOgpAQCAtMjIwLDEyICsyMjMsMTIgQEAgdm9pZCBsb2FkVmFyYXJncyhDYWxs
RnJhbWUqIGNhbGxGcmFtZSwgVmlydHVhbFJlZ2lzdGVyIGZpcnN0RWxlbWVudERlc3QsIEpTVmFs
dWUKIHZvaWQgc2V0dXBWYXJhcmdzRnJhbWUoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIENhbGxGcmFt
ZSogbmV3Q2FsbEZyYW1lLCBKU1ZhbHVlIGFyZ3VtZW50cywgdWludDMyX3Qgb2Zmc2V0LCB1aW50
MzJfdCBsZW5ndGgpCiB7CiAgICAgVmlydHVhbFJlZ2lzdGVyIGNhbGxlZUZyYW1lT2Zmc2V0KG5l
d0NhbGxGcmFtZSAtIGNhbGxGcmFtZSk7Ci0gICAgCisKICAgICBsb2FkVmFyYXJncygKICAgICAg
ICAgY2FsbEZyYW1lLAogICAgICAgICBjYWxsZWVGcmFtZU9mZnNldCArIENhbGxGcmFtZTo6YXJn
dW1lbnRPZmZzZXQoMCksCiAgICAgICAgIGFyZ3VtZW50cywgb2Zmc2V0LCBsZW5ndGgpOwotICAg
IAorCiAgICAgbmV3Q2FsbEZyYW1lLT5zZXRBcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcyhsZW5n
dGggKyAxKTsKIH0KIApAQCAtMzMxLDcgKzMzNCw3IEBAIHZvaWQgSW50ZXJwcmV0ZXI6OmR1bXBS
ZWdpc3RlcnMoQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCiAgICAgICAgIGRhdGFMb2dGKCJbciUgM2Qg
JTE0c10gICAgICB8ICUxMHAgfCAlLTE2cyAweCVsbGQgXG4iLCByZWdpc3Rlck51bWJlciwgbmFt
ZS5hc2NpaSgpLmRhdGEoKSwgaXQsIHRvQ1N0cmluZyh2KS5kYXRhKCksIChsb25nIGxvbmcpSlNW
YWx1ZTo6ZW5jb2RlKHYpKTsKICAgICAgICAgLS1pdDsKICAgICB9Ci0gICAgCisKICAgICBkYXRh
TG9nRigiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIpOwogICAgIGRhdGFMb2dGKCJbQXJndW1lbnRD
b3VudF0gICAgICAgICAgICB8ICUxMHAgfCAlbHUgXG4iLCBpdCwgKHVuc2lnbmVkIGxvbmcpIGNh
bGxGcmFtZS0+YXJndW1lbnRDb3VudCgpKTsKICAgICAtLWl0OwpAQCAtNTA0LDcgKzUwNyw3IEBA
IHB1YmxpYzoKICAgICAgICAgICAgICAgICBTdGFja0ZyYW1lIHMgPSB7IFN0cm9uZzxKU09iamVj
dD4odm0sIHZpc2l0b3ItPmNhbGxlZSgpKSwgU3RhY2tGcmFtZU5hdGl2ZUNvZGUsIFN0cm9uZzxF
eGVjdXRhYmxlQmFzZT4oKSwgU3Ryb25nPFVubGlua2VkQ29kZUJsb2NrPigpLCAwLCAwLCAwLCAw
LCAwLCBTdHJpbmcoKX07CiAgICAgICAgICAgICAgICAgbV9yZXN1bHRzLmFwcGVuZChzKTsKICAg
ICAgICAgICAgIH0KLSAgICAKKwogICAgICAgICAgICAgbV9yZW1haW5pbmdDYXBhY2l0eUZvckZy
YW1lQ2FwdHVyZS0tOwogICAgICAgICAgICAgcmV0dXJuIFN0YWNrVmlzaXRvcjo6Q29udGludWU7
CiAgICAgICAgIH0KQEAgLTEwMDcsNyArMTAxMCw3IEBAIENhbGxGcmFtZUNsb3N1cmUgSW50ZXJw
cmV0ZXI6OnByZXBhcmVGb3JSZXBlYXRDYWxsKEZ1bmN0aW9uRXhlY3V0YWJsZSogZnVuY3Rpb25F
CiB7CiAgICAgVk0mIHZtID0gKnNjb3BlLT52bSgpOwogICAgIEFTU0VSVCghdm0uZXhjZXB0aW9u
KCkpOwotICAgIAorCiAgICAgaWYgKHZtLmlzQ29sbGVjdG9yQnVzeSgpKQogICAgICAgICByZXR1
cm4gQ2FsbEZyYW1lQ2xvc3VyZSgpOwogCkBAIC0xMDI4LDExICsxMDMxLDExIEBAIENhbGxGcmFt
ZUNsb3N1cmUgSW50ZXJwcmV0ZXI6OnByZXBhcmVGb3JSZXBlYXRDYWxsKEZ1bmN0aW9uRXhlY3V0
YWJsZSogZnVuY3Rpb25FCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotSlNWYWx1ZSBJbnRlcnBy
ZXRlcjo6ZXhlY3V0ZShDYWxsRnJhbWVDbG9zdXJlJiBjbG9zdXJlKSAKK0pTVmFsdWUgSW50ZXJw
cmV0ZXI6OmV4ZWN1dGUoQ2FsbEZyYW1lQ2xvc3VyZSYgY2xvc3VyZSkKIHsKICAgICBWTSYgdm0g
PSAqY2xvc3VyZS52bTsKICAgICBTYW1wbGluZ1Njb3BlIHNhbXBsaW5nU2NvcGUodGhpcyk7Ci0g
ICAgCisKICAgICBBU1NFUlQoIXZtLmlzQ29sbGVjdG9yQnVzeSgpKTsKICAgICBSRUxFQVNFX0FT
U0VSVCh2bS5jdXJyZW50VGhyZWFkSXNIb2xkaW5nQVBJTG9jaygpKTsKICAgICBpZiAodm0uaXND
b2xsZWN0b3JCdXN5KCkpCkBAIC0xMDY1LDcgKzEwNjgsNyBAQCBKU1ZhbHVlIEludGVycHJldGVy
OjpleGVjdXRlKEV2YWxFeGVjdXRhYmxlKiBldmFsLCBDYWxsRnJhbWUqIGNhbGxGcmFtZSwgSlNW
YWx1ZQogewogICAgIFZNJiB2bSA9ICpzY29wZS0+dm0oKTsKICAgICBTYW1wbGluZ1Njb3BlIHNh
bXBsaW5nU2NvcGUodGhpcyk7Ci0gICAgCisKICAgICBBU1NFUlQoc2NvcGUtPnZtKCkgPT0gJmNh
bGxGcmFtZS0+dm0oKSk7CiAgICAgQVNTRVJUKCF2bS5leGNlcHRpb24oKSk7CiAgICAgQVNTRVJU
KCF2bS5pc0NvbGxlY3RvckJ1c3koKSk7CkBAIC0xMDc1LDcgKzEwNzgsNyBAQCBKU1ZhbHVlIElu
dGVycHJldGVyOjpleGVjdXRlKEV2YWxFeGVjdXRhYmxlKiBldmFsLCBDYWxsRnJhbWUqIGNhbGxG
cmFtZSwgSlNWYWx1ZQogCiAgICAgVk1FbnRyeVNjb3BlIGVudHJ5U2NvcGUodm0sIHNjb3BlLT5n
bG9iYWxPYmplY3QoKSk7CiAgICAgaWYgKCF2bS5pc1NhZmVUb1JlY3Vyc2UoKSkKLSAgICAgICAg
cmV0dXJuIGNoZWNrZWRSZXR1cm4odGhyb3dTdGFja092ZXJmbG93RXJyb3IoY2FsbEZyYW1lKSk7
ICAgICAgICAKKyAgICAgICAgcmV0dXJuIGNoZWNrZWRSZXR1cm4odGhyb3dTdGFja092ZXJmbG93
RXJyb3IoY2FsbEZyYW1lKSk7CiAKICAgICB1bnNpZ25lZCBudW1WYXJpYWJsZXMgPSBldmFsLT5u
dW1WYXJpYWJsZXMoKTsKICAgICBpbnQgbnVtRnVuY3Rpb25zID0gZXZhbC0+bnVtYmVyT2ZGdW5j
dGlvbkRlY2xzKCk7CkBAIC0xMTc2LDcgKzExNzksNyBAQCBORVZFUl9JTkxJTkUgdm9pZCBJbnRl
cnByZXRlcjo6ZGVidWcoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIERlYnVnSG9va0lEIGRlYnVnSG9v
awogICAgICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIEFTU0VSVCghY2FsbEZyYW1lLT5oYWRF
eGNlcHRpb24oKSk7Ci19ICAgIAorfQogCiB2b2lkIEludGVycHJldGVyOjplbmFibGVTYW1wbGVy
KCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAppbmRleCA0MmE4MmQ0Mzk0NjE2MmY5NWZh
NDc0Njc1NjcxMzlkNGFhZjIzODZiLi4xODYwYTBhYTMzYjA4MTljNGY4NTUwODVmNWU4YjcwZmEy
MzJhNDMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCkBAIC0yNTMsNiArMjUzLDkgQEAg
dm9pZCBKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3MoKQogICAgICAgICBERUZJTkVfT1Aob3Bf
bmV3X2FycmF5X2J1ZmZlcikKICAgICAgICAgREVGSU5FX09QKG9wX25ld19mdW5jKQogICAgICAg
ICBERUZJTkVfT1Aob3BfbmV3X2Z1bmNfZXhwKQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgICAgIERFRklORV9PUChvcF9uZXdfYXJyb3dfZnVuY19leHApCisjZW5k
aWYgIAogICAgICAgICBERUZJTkVfT1Aob3BfbmV3X29iamVjdCkKICAgICAgICAgREVGSU5FX09Q
KG9wX25ld19yZWdleHApCiAgICAgICAgIERFRklORV9PUChvcF9ub3QpCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVQuaAppbmRleCBlZTQ4NTVkYzJlNzhiNTVhY2M0NTk5ZWJkYjk5YTBkOGUwOGJlN2NjLi41
NjM4ZDVjN2M3NGFlYzdjMGFiMTk1Zjk3YmIzMjFiZWUwM2M3MzdhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklULmgKQEAgLTUyMiw2ICs1MjIsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9p
ZCBlbWl0X29wX25ld19hcnJheV9idWZmZXIoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBl
bWl0X29wX25ld19mdW5jKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdf
ZnVuY19leHAoSW5zdHJ1Y3Rpb24qKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwKEluc3RydWN0aW9u
Kik7CisjZW5kaWYKICAgICAgICAgdm9pZCBlbWl0X29wX25ld19vYmplY3QoSW5zdHJ1Y3Rpb24q
KTsKICAgICAgICAgdm9pZCBlbWl0X29wX25ld19yZWdleHAoSW5zdHJ1Y3Rpb24qKTsKICAgICAg
ICAgdm9pZCBlbWl0X29wX25vdChJbnN0cnVjdGlvbiopOwpAQCAtNzA1LDYgKzcwOCw3IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9u
KEpfSklUT3BlcmF0aW9uX0VKSiwgaW50LCBHUFJSZWcsIEdQUlJlZyk7CiAgICAgICAgIE1hY3Jv
QXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUpzYywgR1BSUmVn
KTsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJh
dGlvbl9FSnNjQywgaW50LCBHUFJSZWcsIEpTQ2VsbCopOworICAgICAgICBNYWNyb0Fzc2VtYmxl
cjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKc2NDSiwgaW50LCBHUFJSZWcs
IEpTQ2VsbCosIEdQUlJlZyk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVy
YXRpb24oQ19KSVRPcGVyYXRpb25fRUpzY1osIEdQUlJlZywgaW50MzJfdCk7CiAgICAgICAgIE1h
Y3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUpzY1osIGlu
dCwgR1BSUmVnLCBpbnQzMl90KTsKICNpZiBVU0UoSlNWQUxVRTY0KQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVElubGluZXMuaAppbmRleCA5ZWUyNGQwOTIyOGE5ODgyZWE3Njk2MjlkMWE4N2I2
YzM0YTg2MzM0Li5hMGU0MGM1YzYxZmU2M2U5ODYzZWQyMjNlZGY1ZDQ1MWYzMThhNzc0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaApAQCAtMjcxLDYgKzI3MSwxMiBAQCBB
TFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihKX0pJ
VE9wZXJhdGlvbl9FSnNjQyBvcGVyYQogICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlv
bkNoZWNrU2V0SlNWYWx1ZVJlc3VsdChvcGVyYXRpb24sIGRzdCk7CiB9CiAKK0FMV0FZU19JTkxJ
TkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9u
X0VKc2NDSiBvcGVyYXRpb24sIGludCBkc3QsIEdQUlJlZyBhcmcxLCBKU0NlbGwqIGNlbGwsIEdQ
UlJlZyBhcmcyKQoreworICAgIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBUcnVz
dGVkSW1tUHRyKGNlbGwpLCBhcmcyKTsKKyAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRp
b25DaGVja1NldEpTVmFsdWVSZXN1bHQob3BlcmF0aW9uLCBkc3QpOworfQorICAgIAogQUxXQVlT
X0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVy
YXRpb25fRVAgb3BlcmF0aW9uLCBpbnQgZHN0LCB2b2lkKiBwb2ludGVyKQogewogICAgIHNldHVw
QXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHBvaW50ZXIpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCmluZGV4IGQzZDU4MGU5ZTI2MDA4NTNiNjY0
OWUyODU5MThmODUzOGJlNjk0NGMuLjg4ZTNjMDUyMzc3MWMxYzExMGI0ZjY5YTg5MmJiODBmZTQ5
ZGY4YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcApAQCAtOTcy
LDYgKzk3MiwzMiBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9uZXdfZnVuY19leHAoSW5zdHJ1Y3Rpb24q
IGN1cnJlbnRJbnN0cnVjdGlvbikKICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbk5ld0Z1bmN0
aW9uLCBkc3QsIHJlZ1QwLCBmdW5jRXhwcik7CiAgICAgZG9uZS5saW5rKHRoaXMpOwogfQorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit2b2lkIEpJVDo6ZW1pdF9vcF9uZXdf
YXJyb3dfZnVuY19leHAoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKK3sKKyAgICBK
dW1wIG5vdFVuZGVmaW5lZFNjb3BlOworICAgIGludCBkc3QgPSBjdXJyZW50SW5zdHJ1Y3Rpb25b
MV0udS5vcGVyYW5kOworI2lmIFVTRShKU1ZBTFVFNjQpCisgICAgZW1pdEdldFZpcnR1YWxSZWdp
c3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kLCByZWdUMCk7CisgICAgbm90VW5k
ZWZpbmVkU2NvcGUgPSBicmFuY2g2NChOb3RFcXVhbCwgcmVnVDAsIFRydXN0ZWRJbW02NChKU1Zh
bHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSkpKTsKKyAgICBzdG9yZTY0KFRydXN0ZWRJbW02NChK
U1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSkpLCBBZGRyZXNzKGNhbGxGcmFtZVJlZ2lzdGVy
LCBzaXplb2YoUmVnaXN0ZXIpICogZHN0KSk7CisjZWxzZQorICAgIGVtaXRMb2FkUGF5bG9hZChj
dXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kLCByZWdUMCk7CisgICAgbm90VW5kZWZpbmVk
U2NvcGUgPSBicmFuY2gzMihOb3RFcXVhbCwgdGFnRm9yKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51
Lm9wZXJhbmQpLCBUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6VW5kZWZpbmVkVGFnKSk7CisgICAgZW1p
dFN0b3JlKGRzdCwganNVbmRlZmluZWQoKSk7CisjZW5kaWYKKyAgICBKdW1wIGRvbmUgPSBqdW1w
KCk7CisgICAgbm90VW5kZWZpbmVkU2NvcGUubGluayh0aGlzKTsKKyAgICAKKy8vIEZpeG1lOiBp
cyB0aGVyZSBuZWNlc3NhcnkgdG8gZG8gc29tZSBjaGVjayBmb3IgNjQvMzIgYml0IGFuZCBtYWtl
IHNvbWUgYWRkaXRpb25hbCBjaGVja3M/CisgICAgaW50IHZhbHVlVG9Qcm9maWxlID0gY3VycmVu
dEluc3RydWN0aW9uWzRdLnUub3BlcmFuZDsKKyAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKHZh
bHVlVG9Qcm9maWxlLCByZWdUMSk7CisgICAgCisgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5j
RXhwciA9IG1fY29kZUJsb2NrLT5mdW5jdGlvbkV4cHIoY3VycmVudEluc3RydWN0aW9uWzNdLnUu
b3BlcmFuZCk7CisgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uLCBk
c3QsIHJlZ1QwLCBmdW5jRXhwciwgcmVnVDEpOworICAgIGRvbmUubGluayh0aGlzKTsKK30KKyNl
bmRpZgogCiB2b2lkIEpJVDo6ZW1pdF9vcF9uZXdfYXJyYXkoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJ
bnN0cnVjdGlvbikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMu
Y3BwCmluZGV4IGM2NTFlYWM3NmZjOWU3OGFmZjhjYmI0NDU4YzIxNzQzYTk1NWRhNTAuLmM3Y2Yz
NTE2NDIxMGRhMzY0NWIzYTRmMjI5YmU3YTY5NjJmZmM3NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcApAQCAtNDIsNiArNDIsMTAgQEAKICNpbmNsdWRl
ICJIb3N0Q2FsbFJldHVyblZhbHVlLmgiCiAjaW5jbHVkZSAiSklULmgiCiAjaW5jbHVkZSAiSklU
VG9ERkdEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suaCIKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorI2VuZGlmCisj
aW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2lu
Y2x1ZGUgIkpTQ2F0Y2hTY29wZS5oIgogI2luY2x1ZGUgIkpTRnVuY3Rpb25OYW1lU2NvcGUuaCIK
QEAgLTkzMiw3ICs5MzYsMjIgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRp
b25OZXdGdW5jdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTU2NvcGUqIHNjb3AKICAgICBOYXRpdmVD
YWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIHN0YXRpY19jYXN0PEZ1bmN0aW9uRXhlY3V0YWJs
ZSo+KGZ1bmN0aW9uRXhlY3V0YWJsZSksIHNjb3BlKSk7CiB9Ci0KKyAgICAKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBv
cGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNTY29wZSogc2NvcGUs
IEpTQ2VsbCogZnVuY3Rpb25FeGVjdXRhYmxlLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUpCit7
CisgICAgQVNTRVJUKGZ1bmN0aW9uRXhlY3V0YWJsZS0+aW5oZXJpdHMoRnVuY3Rpb25FeGVjdXRh
YmxlOjppbmZvKCkpKTsKKyAgICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgIE5hdGl2ZUNhbGxG
cmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0ID0gZXhlYy0+Y2FsbGVlKCktPmdsb2JhbE9iamVjdCgpOworICAgIEpTRnVuY3Rpb24q
IGZ1bmMgPSBKU0Fycm93RnVuY3Rpb246OmNyZWF0ZSh2bSwgc2NvcGUsIHN0YXRpY19jYXN0PEZ1
bmN0aW9uRXhlY3V0YWJsZSo+KGZ1bmN0aW9uRXhlY3V0YWJsZSksIGdsb2JhbE9iamVjdCk7Cisg
ICAgCisgICAgSlNBcnJheSogYm91bmRBcmdzID0gSlNBcnJheTo6dHJ5Q3JlYXRlVW5pbml0aWFs
aXplZCh2bSwgZ2xvYmFsT2JqZWN0LT5hcnJheVN0cnVjdHVyZUZvckluZGV4aW5nVHlwZUR1cmlu
Z0FsbG9jYXRpb24oQXJyYXlXaXRoVW5kZWNpZGVkKSwgMCk7CisgICAgCisgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShKU0JvdW5kRnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBm
dW5jLCBKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSwgYm91bmRBcmdzLCAwLCAiIikpOworfQor
I2VuZGlmCisgICAgCiBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3T2JqZWN0KEV4
ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiB7CiAgICAgVk0qIHZtID0gJmV4
ZWMtPnZtKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJh
dGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCmluZGV4
IDRkZWNlZjRlYjhiNDhiYjkzN2Q1NGQwYjYwNGI5Yjc3NjdhNGVhNjEuLmQ3MTdmNmZlOTRkY2Ex
ZGNmMzNiZDg2NmU2MjI4NThiNTY5NzE1MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUT3BlcmF0aW9ucy5oCkBAIC0xMTYsNiArMTE2LDcgQEAgdHlwZWRlZiBFbmNvZGVkSlNWYWx1
ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVBQKShFeGVjU3RhdGUqLCB2b2lkKiwg
dm8KIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9u
X0VQUykoRXhlY1N0YXRlKiwgdm9pZCosIHNpemVfdCk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FUGMpKEV4ZWNTdGF0ZSosIEluc3RydWN0
aW9uKik7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJh
dGlvbl9FSnNjQykoRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCopOwordHlwZWRlZiBFbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUpzY0NKKShFeGVjU3Rh
dGUqLCBKU1Njb3BlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUpOwogdHlwZWRlZiBFbmNvZGVk
SlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNTKShFeGVjU3RhdGUqLCBz
aXplX3QsIHNpemVfdCk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpK
X0pJVE9wZXJhdGlvbl9FU3NpQ0kpKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgSlND
ZWxsKiwgU3RyaW5nSW1wbCopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
ICgqSl9KSVRPcGVyYXRpb25fRVNzaUpJKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyos
IEVuY29kZWRKU1ZhbHVlLCBTdHJpbmdJbXBsKik7CkBAIC0yNzgsNiArMjc5LDEwIEBAIEVuY29k
ZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXlXaXRoUHJvZmlsZShFeGVj
U3RhdGUqLCBBcnJheUFsbG9jCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
bk5ld0FycmF5QnVmZmVyV2l0aFByb2ZpbGUoRXhlY1N0YXRlKiwgQXJyYXlBbGxvY2F0aW9uUHJv
ZmlsZSosIGNvbnN0IEpTVmFsdWUqIHZhbHVlcywgaW50MzJfdCBzaXplKSBXVEZfSU5URVJOQUw7
CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5V2l0aFNpemVB
bmRQcm9maWxlKEV4ZWNTdGF0ZSosIEFycmF5QWxsb2NhdGlvblByb2ZpbGUqLCBFbmNvZGVkSlNW
YWx1ZSBzaXplKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbk5ld0Z1bmN0aW9uKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKSBXVEZfSU5U
RVJOQUw7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK0VuY29kZWRKU1Zh
bHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbihFeGVjU3RhdGUqLCBK
U1Njb3BlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUpIFdURl9JTlRFUk5BTDsKKyNlbmRpZgor
ICAgIAogSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3RhdGUq
LCBTdHJ1Y3R1cmUqKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbk5ld1JlZ2V4cChFeGVjU3RhdGUqLCB2b2lkKikgV1RGX0lOVEVSTkFMOwogdm9p
ZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkhhbmRsZVdhdGNoZG9nVGltZXIoRXhlY1N0YXRlKikg
V1RGX0lOVEVSTkFMOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xM
SW50U2xvd1BhdGhzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQ
YXRocy5jcHAKaW5kZXggZGI0MzEwZWM1Njk5ZWY5ZWRjOThjNTMzYzI5OTRjZmJjNWIzOTMxZC4u
MGY1ZjU2MGQ5MzEyOGFmMjg0N2MwNzIxM2JhMzQ0YjllODY4YjI4NCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCkBAIC0zOCw2ICszOCwxMCBA
QAogI2luY2x1ZGUgIkludGVycHJldGVyLmgiCiAjaW5jbHVkZSAiSklULmgiCiAjaW5jbHVkZSAi
SklURXhjZXB0aW9ucy5oIgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisj
aW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgi
CisjZW5kaWYKICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIkpT
Q0lubGluZXMuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCkBAIC05OTIsNiArOTk2LDI0IEBA
IExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuY19leHApCiAgICAgTExJTlRf
UkVUVVJOKGZ1bmMpOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
K0xMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApCit7Cisg
ICAgTExJTlRfQkVHSU4oKTsKKyAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVC
bG9jaygpOworICAgIEpTU2NvcGUqIHNjb3BlID0gZXhlYy0+dW5jaGVja2VkUihwY1syXS51Lm9w
ZXJhbmQpLlJlZ2lzdGVyOjpzY29wZSgpOworICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZnVuY3Rp
b24gPSBjb2RlQmxvY2stPmZ1bmN0aW9uRXhwcihwY1szXS51Lm9wZXJhbmQpOworICAgIEpTVmFs
dWUgdGhpc1ZhbHVlID0gTExJTlRfT1BfQyg0KS5qc1ZhbHVlKCk7CisgICAgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCA9IGV4ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKKyAgICAK
KyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUodm0sIHNjb3Bl
LCBmdW5jdGlvbiwgZ2xvYmFsT2JqZWN0KTsKKyAgICAKKyAgICBKU0FycmF5KiBib3VuZEFyZ3Mg
PSBKU0FycmF5Ojp0cnlDcmVhdGVVbmluaXRpYWxpemVkKHZtLCBnbG9iYWxPYmplY3QtPmFycmF5
U3RydWN0dXJlRm9ySW5kZXhpbmdUeXBlRHVyaW5nQWxsb2NhdGlvbihBcnJheVdpdGhVbmRlY2lk
ZWQpLCAwKTsKKyAgICAKKyAgICBMTElOVF9SRVRVUk4oSlNCb3VuZEZ1bmN0aW9uOjpjcmVhdGUo
dm0sIGdsb2JhbE9iamVjdCwgZnVuYywgdGhpc1ZhbHVlLCBib3VuZEFyZ3MsIDAsICIiKSk7Cit9
CisjZW5kaWYKKwogc3RhdGljIFNsb3dQYXRoUmV0dXJuVHlwZSBoYW5kbGVIb3N0Q2FsbChFeGVj
U3RhdGUqIGV4ZWNDYWxsZWUsIEluc3RydWN0aW9uKiBwYywgSlNWYWx1ZSBjYWxsZWUsIENvZGVT
cGVjaWFsaXphdGlvbktpbmQga2luZCkKIHsKICAgICBVTlVTRURfUEFSQU0ocGMpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaAppbmRleCA0YmY3ZGViMGZh
MGI2YzY0MzhlMzZmOTYzMjBlMmY2Njk3MzlhZjY0Li5jN2ZhYjk2OTFjMThiOTM5NTZkMGVhMjlm
MzM5NTYxMThjNWU3MWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TExJbnRTbG93UGF0aHMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRT
bG93UGF0aHMuaApAQCAtOTYsNiArOTYsNyBAQCBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0wo
c2xvd19wYXRoX3N3aXRjaF9jaGFyKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93
X3BhdGhfc3dpdGNoX3N0cmluZyk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19w
YXRoX25ld19mdW5jKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfbmV3
X2Z1bmNfZXhwKTsKK0xMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfbmV3X2Fy
cm93X2Z1bmNfZXhwKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfY2Fs
bCk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX2NvbnN0cnVjdCk7CiBM
TElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3NpemVfZnJhbWVfZm9yX3ZhcmFy
Z3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtCmluZGV4IDQzZWQ3ZThmMmUxODc0OTJlZjBiMDg1NWVjZmI3MjY3OTg1OTE3N2Eu
LmU4YWNjMjA3ZGViMThkYzg0OWQ5OWEzMGJiNGJkNDI5MmU4NzFhNDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KQEAgLTEx
NzEsNiArMTE3MSwxMCBAQCBfbGxpbnRfb3BfbmV3X2Z1bmNfZXhwOgogICAgIGNhbGxTbG93UGF0
aChfbGxpbnRfc2xvd19wYXRoX25ld19mdW5jX2V4cCkKICAgICBkaXNwYXRjaCg0KQogCitfbGxp
bnRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjYWxs
U2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApCisgICAgZGlzcGF0
Y2goNSkKIAogX2xsaW50X29wX2NhbGw6CiAgICAgdHJhY2VFeGVjdXRpb24oKQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAppbmRleCBjNDhlNDFjNTg2NWRmZDUwMDc0
ZjQ5ZGJhMTNkYzc0NjI5NjYzZWQxLi5iOGEwNmZiZTMwYzU4ZjAwZGMyMmUyNzBjNzcyNTRiYjhl
ZjljMDBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxk
ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaApAQCAt
NTUsOCArNTUsOCBAQCBjbGFzcyBBU1RCdWlsZGVyIHsKICAgICAgICAgSlNUZXh0UG9zaXRpb24g
ZW5kOwogICAgICAgICBib29sIGhhc0Fzc2lnbm1lbnQ7CiAgICAgfTsKLSAgICAKLSAgICAKKwor
CiAgICAgc3RydWN0IEFzc2lnbm1lbnRJbmZvIHsKICAgICAgICAgQXNzaWdubWVudEluZm8oKSB7
fQogICAgICAgICBBc3NpZ25tZW50SW5mbyhFeHByZXNzaW9uTm9kZSogbm9kZSwgY29uc3QgSlNU
ZXh0UG9zaXRpb24mIHN0YXJ0LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZGl2b3QsIGludCBpbml0
QXNzaWdubWVudHMsIE9wZXJhdG9yIG9wKQpAQCAtODMsNyArODMsNyBAQCBwdWJsaWM6CiAgICAg
ICAgICwgbV9ldmFsQ291bnQoMCkKICAgICB7CiAgICAgfQotICAgIAorCiAgICAgc3RydWN0IEJp
bmFyeUV4cHJDb250ZXh0IHsKICAgICAgICAgQmluYXJ5RXhwckNvbnRleHQoQVNUQnVpbGRlciYp
IHt9CiAgICAgfTsKQEAgLTMwMiwxNyArMzAyLDMwIEBAIHB1YmxpYzoKICAgICB9CiAKICAgICBG
dW5jdGlvbkJvZHlOb2RlKiBjcmVhdGVGdW5jdGlvbkJvZHkoCi0gICAgICAgIGNvbnN0IEpTVG9r
ZW5Mb2NhdGlvbiYgc3RhcnRMb2NhdGlvbiwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBlbmRMb2Nh
dGlvbiwgCi0gICAgICAgIHVuc2lnbmVkIHN0YXJ0Q29sdW1uLCB1bnNpZ25lZCBlbmRDb2x1bW4s
IGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgCi0gICAgICAgIGludCBmdW5jdGlvbk5hbWVTdGFy
dCwgaW50IHBhcmFtZXRlcnNTdGFydCwgYm9vbCBpblN0cmljdENvbnRleHQsIAorICAgICAgICBj
b25zdCBKU1Rva2VuTG9jYXRpb24mIHN0YXJ0TG9jYXRpb24sIGNvbnN0IEpTVG9rZW5Mb2NhdGlv
biYgZW5kTG9jYXRpb24sCisgICAgICAgIHVuc2lnbmVkIHN0YXJ0Q29sdW1uLCB1bnNpZ25lZCBl
bmRDb2x1bW4sIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwKKyAgICAgICAgaW50IGZ1bmN0aW9u
TmFtZVN0YXJ0LCBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBib29sIGluU3RyaWN0Q29udGV4dCwKICAg
ICAgICAgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCkKICAgICB7CiAgICAgICAgIHJl
dHVybiBuZXcgKG1fcGFyc2VyQXJlbmEpIEZ1bmN0aW9uQm9keU5vZGUoCi0gICAgICAgICAgICBt
X3BhcnNlckFyZW5hLCBzdGFydExvY2F0aW9uLCBlbmRMb2NhdGlvbiwgc3RhcnRDb2x1bW4sIGVu
ZENvbHVtbiwgCi0gICAgICAgICAgICBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1l
U3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgCisgICAgICAgICAgICBtX3BhcnNlckFyZW5hLCBzdGFy
dExvY2F0aW9uLCBlbmRMb2NhdGlvbiwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwKKyAgICAgICAg
ICAgIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0
YXJ0LAogICAgICAgICAgICAgaW5TdHJpY3RDb250ZXh0LCBjb25zdHJ1Y3RvcktpbmQpOwogICAg
IH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgRXhwcmVzc2lv
bk5vZGUqIGNyZWF0ZUFycm93RnVuY3Rpb25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9j
YXRpb24sIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RCdWlsZGVyPiYgaW5mbykKKyAgICB7
CisgICAgICAgIFNvdXJjZUNvZGUgc291cmNlID0gaW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUg
PT0gQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uCisgICAgICAgID8gbV9zb3VyY2VDb2RlLT5z
dWJBcnJvd0V4cHJlc3Npb24oaW5mby5hcnJvd0Z1bmN0aW9uT2Zmc2V0LCBpbmZvLmNsb3NlQnJh
Y2VPZmZzZXQsIGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1bW4pCisgICAg
ICAgIDogbV9zb3VyY2VDb2RlLT5zdWJFeHByZXNzaW9uKGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBp
bmZvLmNsb3NlQnJhY2VPZmZzZXQsIGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRD
b2x1bW4pOworCisgICAgICAgIEFycm93RnVuY0V4cHJOb2RlKiByZXN1bHQgPSBuZXcgKG1fcGFy
c2VyQXJlbmEpIEFycm93RnVuY0V4cHJOb2RlKGxvY2F0aW9uLCAqaW5mby5uYW1lLCBpbmZvLmJv
ZHksIHNvdXJjZSwgaW5mby5wYXJhbWV0ZXJzKTsKKyAgICAgICAgaW5mby5ib2R5LT5zZXRMb2Mo
aW5mby5ib2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlFbmRMaW5lLCBsb2NhdGlvbi5zdGFydE9mZnNl
dCwgbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0KTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAg
ICB9CisjZW5kaWYKKwogICAgIE5FVkVSX0lOTElORSBQcm9wZXJ0eU5vZGUqIGNyZWF0ZUdldHRl
ck9yU2V0dGVyUHJvcGVydHkoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgUHJvcGVy
dHlOb2RlOjpUeXBlIHR5cGUsIGJvb2wsCiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUs
IGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RCdWlsZGVyPiYgaW5mbywgU3VwZXJCaW5kaW5n
IHN1cGVyQmluZGluZykKICAgICB7CkBAIC0zMjMsNyArMzM2LDcgQEAgcHVibGljOgogICAgICAg
ICBGdW5jRXhwck5vZGUqIGZ1bmNFeHByID0gbmV3IChtX3BhcnNlckFyZW5hKSBGdW5jRXhwck5v
ZGUobG9jYXRpb24sIG1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyLCBpbmZvLmJv
ZHksIHNvdXJjZSwgaW5mby5wYXJhbWV0ZXJzKTsKICAgICAgICAgcmV0dXJuIG5ldyAobV9wYXJz
ZXJBcmVuYSkgUHJvcGVydHlOb2RlKCpuYW1lLCBmdW5jRXhwciwgdHlwZSwgUHJvcGVydHlOb2Rl
OjpVbmtub3duLCBzdXBlckJpbmRpbmcpOwogICAgIH0KLSAgICAKKwogICAgIE5FVkVSX0lOTElO
RSBQcm9wZXJ0eU5vZGUqIGNyZWF0ZUdldHRlck9yU2V0dGVyUHJvcGVydHkoVk0qIHZtLCBQYXJz
ZXJBcmVuYSYgcGFyc2VyQXJlbmEsIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIFBy
b3BlcnR5Tm9kZTo6VHlwZSB0eXBlLCBib29sLAogICAgICAgICBkb3VibGUgbmFtZSwgY29uc3Qg
UGFyc2VyRnVuY3Rpb25JbmZvPEFTVEJ1aWxkZXI+JiBpbmZvLCBTdXBlckJpbmRpbmcgc3VwZXJC
aW5kaW5nKQogICAgIHsKQEAgLTQyMSwxMyArNDM0LDEzIEBAIHB1YmxpYzoKICAgICAgICAgc2V0
RXhjZXB0aW9uTG9jYXRpb24ocmVzdWx0LCBlU3RhcnQsIGVEaXZvdCwgZUVuZCk7CiAgICAgICAg
IHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIAorCiAgICAgU3RhdGVtZW50Tm9kZSogY3JlYXRl
Rm9ySW5Mb29wKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIFBhc3NSZWZQdHI8RGVj
b25zdHJ1Y3Rpb25QYXR0ZXJuTm9kZT4gcGF0dGVybiwgRXhwcmVzc2lvbk5vZGUqIGl0ZXIsIFN0
YXRlbWVudE5vZGUqIHN0YXRlbWVudHMsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBlU3RhcnQsIGNv
bnN0IEpTVGV4dFBvc2l0aW9uJiBlRGl2b3QsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBlRW5kLCBp
bnQgc3RhcnQsIGludCBlbmQpCiAgICAgewogICAgICAgICBhdXRvIGxleHByID0gbmV3IChtX3Bh
cnNlckFyZW5hKSBEZWNvbnN0cnVjdGluZ0Fzc2lnbm1lbnROb2RlKGxvY2F0aW9uLCBwYXR0ZXJu
LmdldCgpLCAwKTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZUZvckluTG9vcChsb2NhdGlvbiwgbGV4
cHIsIGl0ZXIsIHN0YXRlbWVudHMsIGVTdGFydCwgZURpdm90LCBlRW5kLCBzdGFydCwgZW5kKTsK
ICAgICB9Ci0gICAgCisKICAgICBTdGF0ZW1lbnROb2RlKiBjcmVhdGVGb3JPZkxvb3AoY29uc3Qg
SlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgRXhwcmVzc2lvbk5vZGUqIGxocywgRXhwcmVzc2lv
bk5vZGUqIGl0ZXIsIFN0YXRlbWVudE5vZGUqIHN0YXRlbWVudHMsIGNvbnN0IEpTVGV4dFBvc2l0
aW9uJiBlU3RhcnQsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBlRGl2b3QsIGNvbnN0IEpTVGV4dFBv
c2l0aW9uJiBlRW5kLCBpbnQgc3RhcnQsIGludCBlbmQpCiAgICAgewogICAgICAgICBGb3JPZk5v
ZGUqIHJlc3VsdCA9IG5ldyAobV9wYXJzZXJBcmVuYSkgRm9yT2ZOb2RlKGxvY2F0aW9uLCBsaHMs
IGl0ZXIsIHN0YXRlbWVudHMpOwpAQCAtNDM1LDcgKzQ0OCw3IEBAIHB1YmxpYzoKICAgICAgICAg
c2V0RXhjZXB0aW9uTG9jYXRpb24ocmVzdWx0LCBlU3RhcnQsIGVEaXZvdCwgZUVuZCk7CiAgICAg
ICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIAorCiAgICAgU3RhdGVtZW50Tm9kZSogY3Jl
YXRlRm9yT2ZMb29wKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIFBhc3NSZWZQdHI8
RGVjb25zdHJ1Y3Rpb25QYXR0ZXJuTm9kZT4gcGF0dGVybiwgRXhwcmVzc2lvbk5vZGUqIGl0ZXIs
IFN0YXRlbWVudE5vZGUqIHN0YXRlbWVudHMsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBlU3RhcnQs
IGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBlRGl2b3QsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBlRW5k
LCBpbnQgc3RhcnQsIGludCBlbmQpCiAgICAgewogICAgICAgICBhdXRvIGxleHByID0gbmV3ICht
X3BhcnNlckFyZW5hKSBEZWNvbnN0cnVjdGluZ0Fzc2lnbm1lbnROb2RlKGxvY2F0aW9uLCBwYXR0
ZXJuLmdldCgpLCAwKTsKQEAgLTUzMCw4ICs1NDMsOCBAQCBwdWJsaWM6CiAgICAgICAgIFdpdGhO
b2RlKiByZXN1bHQgPSBuZXcgKG1fcGFyc2VyQXJlbmEpIFdpdGhOb2RlKGxvY2F0aW9uLCBleHBy
LCBzdGF0ZW1lbnQsIGVuZCwgZW5kIC0gc3RhcnQpOwogICAgICAgICByZXN1bHQtPnNldExvYyhz
dGFydExpbmUsIGVuZExpbmUsIGxvY2F0aW9uLnN0YXJ0T2Zmc2V0LCBsb2NhdGlvbi5saW5lU3Rh
cnRPZmZzZXQpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH0gICAgCi0gICAgCisgICAg
fQorCiAgICAgU3RhdGVtZW50Tm9kZSogY3JlYXRlVGhyb3dTdGF0ZW1lbnQoY29uc3QgSlNUb2tl
bkxvY2F0aW9uJiBsb2NhdGlvbiwgRXhwcmVzc2lvbk5vZGUqIGV4cHIsIGNvbnN0IEpTVGV4dFBv
c2l0aW9uJiBzdGFydCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGVuZCkKICAgICB7CiAgICAgICAg
IFRocm93Tm9kZSogcmVzdWx0ID0gbmV3IChtX3BhcnNlckFyZW5hKSBUaHJvd05vZGUobG9jYXRp
b24sIGV4cHIpOwpAQCAtNTM5LDE0ICs1NTIsMTQgQEAgcHVibGljOgogICAgICAgICBzZXRFeGNl
cHRpb25Mb2NhdGlvbihyZXN1bHQsIHN0YXJ0LCBlbmQsIGVuZCk7CiAgICAgICAgIHJldHVybiBy
ZXN1bHQ7CiAgICAgfQotICAgIAorCiAgICAgU3RhdGVtZW50Tm9kZSogY3JlYXRlRGVidWdnZXIo
Y29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgaW50IHN0YXJ0TGluZSwgaW50IGVuZExp
bmUpCiAgICAgewogICAgICAgICBEZWJ1Z2dlclN0YXRlbWVudE5vZGUqIHJlc3VsdCA9IG5ldyAo
bV9wYXJzZXJBcmVuYSkgRGVidWdnZXJTdGF0ZW1lbnROb2RlKGxvY2F0aW9uKTsKICAgICAgICAg
cmVzdWx0LT5zZXRMb2Moc3RhcnRMaW5lLCBlbmRMaW5lLCBsb2NhdGlvbi5zdGFydE9mZnNldCwg
bG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0KTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9
Ci0gICAgCisKICAgICBTdGF0ZW1lbnROb2RlKiBjcmVhdGVDb25zdFN0YXRlbWVudChjb25zdCBK
U1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBDb25zdERlY2xOb2RlKiBkZWNscywgaW50IHN0YXJ0
TGluZSwgaW50IGVuZExpbmUpCiAgICAgewogICAgICAgICBDb25zdFN0YXRlbWVudE5vZGUqIHJl
c3VsdCA9IG5ldyAobV9wYXJzZXJBcmVuYSkgQ29uc3RTdGF0ZW1lbnROb2RlKGxvY2F0aW9uLCBk
ZWNscyk7CkBAIC02MjksNyArNjQyLDcgQEAgcHVibGljOgogICAgICAgICBtX2JpbmFyeU9wZXJh
bmRTdGFjay5yZW1vdmVMYXN0KCk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQotICAg
IAorCiAgICAgdm9pZCBhcHBlbmRVbmFyeVRva2VuKGludCYgdG9rZW5TdGFja0RlcHRoLCBpbnQg
dHlwZSwgY29uc3QgSlNUZXh0UG9zaXRpb24mIHN0YXJ0KQogICAgIHsKICAgICAgICAgdG9rZW5T
dGFja0RlcHRoKys7CkBAIC02NDAsMTggKzY1MywxOCBAQCBwdWJsaWM6CiAgICAgewogICAgICAg
ICByZXR1cm4gbV91bmFyeVRva2VuU3RhY2subGFzdCgpLmZpcnN0OwogICAgIH0KLSAgICAKKwog
ICAgIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiB1bmFyeVRva2VuU3RhY2tMYXN0U3RhcnQoaW50JikK
ICAgICB7CiAgICAgICAgIHJldHVybiBtX3VuYXJ5VG9rZW5TdGFjay5sYXN0KCkuc2Vjb25kOwog
ICAgIH0KLSAgICAKKwogICAgIHZvaWQgdW5hcnlUb2tlblN0YWNrUmVtb3ZlTGFzdChpbnQmIHRv
a2VuU3RhY2tEZXB0aCkKICAgICB7CiAgICAgICAgIHRva2VuU3RhY2tEZXB0aC0tOwogICAgICAg
ICBtX3VuYXJ5VG9rZW5TdGFjay5yZW1vdmVMYXN0KCk7CiAgICAgfQotICAgIAorCiAgICAgdm9p
ZCBhc3NpZ25tZW50U3RhY2tBcHBlbmQoaW50JiBhc3NpZ25tZW50U3RhY2tEZXB0aCwgRXhwcmVz
c2lvbk5vZGUqIG5vZGUsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBzdGFydCwgY29uc3QgSlNUZXh0
UG9zaXRpb24mIGRpdm90LCBpbnQgYXNzaWdubWVudENvdW50LCBPcGVyYXRvciBvcCkKICAgICB7
CiAgICAgICAgIGFzc2lnbm1lbnRTdGFja0RlcHRoKys7CkBAIC02NjgsNyArNjgxLDcgQEAgcHVi
bGljOgogICAgICAgICBhc3NpZ25tZW50U3RhY2tEZXB0aC0tOwogICAgICAgICByZXR1cm4gcmVz
dWx0OwogICAgIH0KLSAgICAKKwogICAgIGNvbnN0IElkZW50aWZpZXIqIGdldE5hbWUoUHJvcGVy
dHkgcHJvcGVydHkpIGNvbnN0IHsgcmV0dXJuIHByb3BlcnR5LT5uYW1lKCk7IH0KICAgICBQcm9w
ZXJ0eU5vZGU6OlR5cGUgZ2V0VHlwZShQcm9wZXJ0eSBwcm9wZXJ0eSkgY29uc3QgeyByZXR1cm4g
cHJvcGVydHktPnR5cGUoKTsgfQogCkBAIC02NzgsMTIgKzY5MSwxMiBAQCBwdWJsaWM6CiAgICAg
ewogICAgICAgICByZXR1cm4gbmV3IChtX3BhcnNlckFyZW5hKSBEZWNvbnN0cnVjdGluZ0Fzc2ln
bm1lbnROb2RlKGxvY2F0aW9uLCBwYXR0ZXJuLmdldCgpLCBpbml0aWFsaXplcik7CiAgICAgfQot
ICAgIAorCiAgICAgQXJyYXlQYXR0ZXJuIGNyZWF0ZUFycmF5UGF0dGVybihjb25zdCBKU1Rva2Vu
TG9jYXRpb24mKQogICAgIHsKICAgICAgICAgcmV0dXJuIEFycmF5UGF0dGVybk5vZGU6OmNyZWF0
ZSgpOwogICAgIH0KLSAgICAKKwogICAgIHZvaWQgYXBwZW5kQXJyYXlQYXR0ZXJuU2tpcEVudHJ5
KEFycmF5UGF0dGVybiBub2RlLCBjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uKQogICAg
IHsKICAgICAgICAgbm9kZS0+YXBwZW5kSW5kZXgobG9jYXRpb24sIDApOwpAQCAtNjkzLDE3ICs3
MDYsMTcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgbm9kZS0+YXBwZW5kSW5kZXgobG9jYXRp
b24sIHBhdHRlcm4uZ2V0KCkpOwogICAgIH0KLSAgICAKKwogICAgIE9iamVjdFBhdHRlcm4gY3Jl
YXRlT2JqZWN0UGF0dGVybihjb25zdCBKU1Rva2VuTG9jYXRpb24mKQogICAgIHsKICAgICAgICAg
cmV0dXJuIE9iamVjdFBhdHRlcm5Ob2RlOjpjcmVhdGUoKTsKICAgICB9Ci0gICAgCisKICAgICB2
b2lkIGFwcGVuZE9iamVjdFBhdHRlcm5FbnRyeShPYmplY3RQYXR0ZXJuIG5vZGUsIGNvbnN0IEpT
VG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGJvb2wgd2FzU3RyaW5nLCBjb25zdCBJZGVudGlmaWVy
JiBpZGVudGlmaWVyLCBEZWNvbnN0cnVjdGlvblBhdHRlcm4gcGF0dGVybikKICAgICB7CiAgICAg
ICAgIG5vZGUtPmFwcGVuZEVudHJ5KGxvY2F0aW9uLCBpZGVudGlmaWVyLCB3YXNTdHJpbmcsIHBh
dHRlcm4uZ2V0KCkpOwogICAgIH0KLSAgICAKKwogICAgIEJpbmRpbmdQYXR0ZXJuIGNyZWF0ZUJp
bmRpbmdMb2NhdGlvbihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBJZGVudGlmaWVyJiBi
b3VuZFByb3BlcnR5LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgc3RhcnQsIGNvbnN0IEpTVGV4dFBv
c2l0aW9uJiBlbmQpCiAgICAgewogICAgICAgICByZXR1cm4gQmluZGluZ05vZGU6OmNyZWF0ZShi
b3VuZFByb3BlcnR5LCBzdGFydCwgZW5kKTsKQEAgLTcyOCw3ICs3NDEsNyBAQCBwdWJsaWM6CiAg
ICAgewogICAgICAgICBub2RlLT5zZXRTdGFydE9mZnNldChvZmZzZXQpOwogICAgIH0KLSAgICAK
KwogcHJpdmF0ZToKICAgICBzdHJ1Y3QgU2NvcGUgewogICAgICAgICBTY29wZSgpCkBAIC03NTMs
NyArNzY2LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVzZXNDYXRjaCgpIHsgbV9zY29wZS5tX2Zl
YXR1cmVzIHw9IENhdGNoRmVhdHVyZTsgfQogICAgIHZvaWQgdXNlc0FyZ3VtZW50cygpIHsgbV9z
Y29wZS5tX2ZlYXR1cmVzIHw9IEFyZ3VtZW50c0ZlYXR1cmU7IH0KICAgICB2b2lkIHVzZXNXaXRo
KCkgeyBtX3Njb3BlLm1fZmVhdHVyZXMgfD0gV2l0aEZlYXR1cmU7IH0KLSAgICB2b2lkIHVzZXNF
dmFsKCkgCisgICAgdm9pZCB1c2VzRXZhbCgpCiAgICAgewogICAgICAgICBtX2V2YWxDb3VudCsr
OwogICAgICAgICBtX3Njb3BlLm1fZmVhdHVyZXMgfD0gRXZhbEZlYXR1cmU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCmluZGV4IDdkZTE0MjIwYmJkYTcyNzM4YjU3M2E0Yjk3
ODhjZTBiMzJjYzdjZTMuLjBkNzhmNmU4M2U2MzIxNjczNzYyNjc5NDk1MmY2MGVjMGJjZjEyZjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCkBAIC0xNDI2LDEwICsxNDI2
LDIyIEBAIGJvb2wgTGV4ZXI8VD46Om5leHRUb2tlbklzQ29sb24oKQogICAgIGNvbnN0IFQqIGNv
ZGUgPSBtX2NvZGU7CiAgICAgd2hpbGUgKGNvZGUgPCBtX2NvZGVFbmQgJiYgKGlzV2hpdGVTcGFj
ZSgqY29kZSkgfHwgaXNMaW5lVGVybWluYXRvcigqY29kZSkpKQogICAgICAgICBjb2RlKys7Ci0g
ICAgCisKICAgICByZXR1cm4gY29kZSA8IG1fY29kZUVuZCAmJiAqY29kZSA9PSAnOic7CiB9CiAK
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1l
IFQ+Cit2b2lkIExleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9uKEpTVG9rZW4qIHRva2VuUmVjb3Jk
KQoreworICAgIEpTVG9rZW5EYXRhKiB0b2tlbkRhdGEgPSAmdG9rZW5SZWNvcmQtPm1fZGF0YTsK
KyAgICB0b2tlbkRhdGEtPmxpbmUgPSBsaW5lTnVtYmVyKCk7CisgICAgdG9rZW5EYXRhLT5vZmZz
ZXQgPSBjdXJyZW50T2Zmc2V0KCk7CisgICAgdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQgPSBj
dXJyZW50TGluZVN0YXJ0T2Zmc2V0KCk7CisgICAgQVNTRVJUKHRva2VuRGF0YS0+b2Zmc2V0ID49
IHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0KTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgVD4KIEpTVG9rZW5UeXBlIExleGVyPFQ+OjpsZXgoSlNUb2tlbiogdG9rZW5SZWNvcmQs
IHVuc2lnbmVkIGxleGVyRmxhZ3MsIGJvb2wgc3RyaWN0TW9kZSkKIHsKQEAgLTE0OTMsNyArMTUw
NSwxMiBAQCBzdGFydDoKICAgICAgICAgfQogICAgICAgICB0b2tlbiA9IEdUOwogICAgICAgICBi
cmVhazsKLSAgICBjYXNlIENoYXJhY3RlckVxdWFsOgorICAgIGNhc2UgQ2hhcmFjdGVyRXF1YWw6
IHsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB1aW50MzJf
dCBzYXZlZGxpbmVOdW1iZXIgPSB0b2tlbkRhdGEtPmxpbmU7CisgICAgICAgIHVpbnQzMl90IHNh
dmVkT2Zmc2V0ID0gY3VycmVudE9mZnNldCgpOworICAgICAgICB1aW50MzJfdCBzYXZlZExpbmVT
dGFydE9mZnNldCA9IGN1cnJlbnRMaW5lU3RhcnRPZmZzZXQoKTsKKyNlbmRpZgogICAgICAgICBz
aGlmdCgpOwogICAgICAgICBpZiAobV9jdXJyZW50ID09ICc9JykgewogICAgICAgICAgICAgc2hp
ZnQoKTsKQEAgLTE1MDUsOCArMTUyMiwyMiBAQCBzdGFydDoKICAgICAgICAgICAgIHRva2VuID0g
RVFFUTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnPicpIHsKKyAgICAg
ICAgICAgIHNoaWZ0KCk7CisgICAgICAgICAgICB0b2tlbiA9IEFSUk9XRlVOQ1RJT047CisKKyAg
ICAgICAgICAgIHRva2VuRGF0YS0+bGluZSA9IHNhdmVkbGluZU51bWJlcjsKKyAgICAgICAgICAg
IHRva2VuRGF0YS0+b2Zmc2V0ID0gc2F2ZWRPZmZzZXQ7CisgICAgICAgICAgICB0b2tlbkRhdGEt
PmxpbmVTdGFydE9mZnNldCA9IHNhdmVkTGluZVN0YXJ0T2Zmc2V0OworCisgICAgICAgICAgICBB
U1NFUlQodG9rZW5EYXRhLT5vZmZzZXQgPj0gdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQpOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICB0b2tlbiA9IEVR
VUFMOwogICAgICAgICBicmVhazsKKyAgICB9CiAgICAgY2FzZSBDaGFyYWN0ZXJMZXNzOgogICAg
ICAgICBzaGlmdCgpOwogICAgICAgICBpZiAobV9jdXJyZW50ID09ICchJyAmJiBwZWVrKDEpID09
ICctJyAmJiBwZWVrKDIpID09ICctJykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9MZXhlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5o
CmluZGV4IDJkZjUyMTM5OTU3ODIwMDc4NWExNjZlMjJhNzMyNzVlMGVhNjMwNGQuLmE3MGY4ZDJk
NGI3NGIwMDM1NWM1MjQ3ZDYyMjQyNDBlZWFiYmE3NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL0xleGVyLmgKQEAgLTUxLDE2ICs1MSwxNiBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBt
X2tleXdvcmRUYWJsZS5kZWxldGVUYWJsZSgpOwogICAgIH0KLSAgICAKKwogcHJpdmF0ZToKICAg
ICBmcmllbmQgY2xhc3MgVk07Ci0gICAgCisKICAgICBWTSYgbV92bTsKICAgICBjb25zdCBIYXNo
VGFibGUgbV9rZXl3b3JkVGFibGU7CiB9OwogCiBlbnVtIExleGVyRmxhZ3MgewotICAgIExleGVy
RmxhZ3NJZ25vcmVSZXNlcnZlZFdvcmRzID0gMSwgCisgICAgTGV4ZXJGbGFnc0lnbm9yZVJlc2Vy
dmVkV29yZHMgPSAxLAogICAgIExleGVyRmxhZ3NEb250QnVpbGRTdHJpbmdzID0gMiwKICAgICBM
ZXhleEZsYWdzRG9udEJ1aWxkS2V5d29yZHMgPSA0CiB9OwpAQCAtODQsNyArODQsOSBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzZXRDb2RlKGNvbnN0IFNvdXJjZUNvZGUmLCBQYXJzZXJBcmVuYSopOwog
ICAgIHZvaWQgc2V0SXNSZXBhcnNpbmcoKSB7IG1faXNSZXBhcnNpbmcgPSB0cnVlOyB9CiAgICAg
Ym9vbCBpc1JlcGFyc2luZygpIGNvbnN0IHsgcmV0dXJuIG1faXNSZXBhcnNpbmc7IH0KLQorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdm9pZCBzZXRUb2tlblBvc2l0
aW9uKEpTVG9rZW4qIHRva2VuUmVjb3JkKTsKKyNlbmRpZgogICAgIEpTVG9rZW5UeXBlIGxleChK
U1Rva2VuKiwgdW5zaWduZWQsIGJvb2wgc3RyaWN0TW9kZSk7CiAgICAgYm9vbCBuZXh0VG9rZW5J
c0NvbG9uKCk7CiAgICAgaW50IGxpbmVOdW1iZXIoKSBjb25zdCB7IHJldHVybiBtX2xpbmVOdW1i
ZXI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0
cnVjdG9ycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3Jz
LmgKaW5kZXggMDU3YmMzZDkyODA5ZjQ2YjA2MjcxYWMwMTJhYmVjZDZjODhhNjg0YS4uOWVlMWY5
ZGI4YjEzYjJiYjBkNDRhMjI5Y2U4MjdjZTEzZjQ0ZjczNSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKQEAgLTc4MCw2ICs3ODAsMTMgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIG1fYm9keS0+ZmluaXNoUGFyc2luZyhzb3VyY2UsIHBh
cmFtZXRlciwgaWRlbnQsIEZ1bmN0aW9uRXhwcmVzc2lvbik7CiAgICAgfQogCisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpbmxpbmUgQXJyb3dGdW5jRXhwck5vZGU6
OkFycm93RnVuY0V4cHJOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0
IElkZW50aWZpZXImIGlkZW50LCBGdW5jdGlvbkJvZHlOb2RlKiBib2R5LCBjb25zdCBTb3VyY2VD
b2RlJiBzb3VyY2UsIFBhcmFtZXRlck5vZGUqIHBhcmFtZXRlcikKKyAgICAgICAgOiBGdW5jRXhw
ck5vZGUobG9jYXRpb24sIGlkZW50LCBib2R5LCBzb3VyY2UsIHBhcmFtZXRlcikKKyAgICB7Cisg
ICAgfQorI2VuZGlmCisgICAgCiAgICAgaW5saW5lIEZ1bmNEZWNsTm9kZTo6RnVuY0RlY2xOb2Rl
KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IElkZW50aWZpZXImIGlkZW50
LCBGdW5jdGlvbkJvZHlOb2RlKiBib2R5LCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIFBhcmFt
ZXRlck5vZGUqIHBhcmFtZXRlcikKICAgICAgICAgOiBTdGF0ZW1lbnROb2RlKGxvY2F0aW9uKQog
ICAgICAgICAsIG1fYm9keShib2R5KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9Ob2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCmlu
ZGV4IDM2OTQxMjBiMDY4ZjdjOTJmNjk4ZWE3ZDVlYTIzYzAyOTc2NzliZWUuLjE2OGMzNGQ3MTMy
NDRhYmUyNmM5MzYyMTliYmQzZmU4MDYzMjNmOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvTm9kZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L05vZGVzLmgKQEAgLTE1OCw2ICsxNTgsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdmly
dHVhbCBib29sIGlzRG90QWNjZXNzb3JOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAg
ICAgICAgdmlydHVhbCBib29sIGlzRGVjb25zdHJ1Y3Rpb25Ob2RlKCkgY29uc3QgeyByZXR1cm4g
ZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzRnVuY0V4cHJOb2RlKCkgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
ICAgICB2aXJ0dWFsIGJvb2wgaXNBcnJvd0Z1bmNFeHByTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CisjZW5kaWYKICAgICAgICAgdmlydHVhbCBib29sIGlzQ29tbWFOb2RlKCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzU2ltcGxlQXJyYXkoKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNBZGQoKSBjb25z
dCB7IHJldHVybiBmYWxzZTsgfQpAQCAtMTY1MSw2ICsxNjU0LDE5IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICBGdW5jdGlvbkJvZHlOb2RlKiBtX2JvZHk7CiAgICAgfTsKIAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2xhc3MgQXJyb3dGdW5jRXhwck5vZGUg
OiBwdWJsaWMgRnVuY0V4cHJOb2RlIHsKKyAgICBwdWJsaWM6CisgICAgICAgIEFycm93RnVuY0V4
cHJOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IElkZW50aWZpZXImLCBGdW5jdGlv
bkJvZHlOb2RlKiwgY29uc3QgU291cmNlQ29kZSYsIFBhcmFtZXRlck5vZGUqID0gMCk7CisgICAg
cHJpdmF0ZToKKyAgICAgICAgdmlydHVhbCBSZWdpc3RlcklEKiBlbWl0Qnl0ZWNvZGUoQnl0ZWNv
ZGVHZW5lcmF0b3ImLCBSZWdpc3RlcklEKiA9IDApIG92ZXJyaWRlOworICAgICAgICAKKyAgICAg
ICAgdmlydHVhbCBib29sIGlzRnVuY0V4cHJOb2RlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
ZmFsc2U7IH0KKyAgICAgICAgCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Fycm93RnVuY0V4cHJO
b2RlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQorICAgIH07CisjZW5kaWYKKwog
I2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogICAgIGNsYXNzIENsYXNzRXhwck5vZGUgZmlu
YWwgOiBwdWJsaWMgRXhwcmVzc2lvbk5vZGUgewogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAppbmRleCA1ZjUxZGEyNGI0Mzg1MzliN2Q1YjBmNDk1NDE0
OTA5NTQ2MjcyNzI2Li42YjQyNjk0Y2EzMTUzNjllNThmNjM3MjJkNDczNjE1NDk0NDllNzNlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCkBAIC0zMTAsNyArMzEwLDcg
QEAgU3RyaW5nIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlubmVyKCkKIH0KIAogdGVtcGxhdGUg
PHR5cGVuYW1lIExleGVyVHlwZT4KLXZvaWQgUGFyc2VyPExleGVyVHlwZT46OmRpZEZpbmlzaFBh
cnNpbmcoU291cmNlRWxlbWVudHMqIHNvdXJjZUVsZW1lbnRzLCBEZWNsYXJhdGlvblN0YWNrczo6
VmFyU3RhY2smIHZhclN0YWNrLCAKK3ZvaWQgUGFyc2VyPExleGVyVHlwZT46OmRpZEZpbmlzaFBh
cnNpbmcoU291cmNlRWxlbWVudHMqIHNvdXJjZUVsZW1lbnRzLCBEZWNsYXJhdGlvblN0YWNrczo6
VmFyU3RhY2smIHZhclN0YWNrLAogICAgIERlY2xhcmF0aW9uU3RhY2tzOjpGdW5jdGlvblN0YWNr
JiBmdW5jU3RhY2ssIENvZGVGZWF0dXJlcyBmZWF0dXJlcywgaW50IG51bUNvbnN0YW50cywgSWRl
bnRpZmllclNldCYgY2FwdHVyZWRWYXJzLCBjb25zdCBWZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+
PiYmIGNsb3NlZFZhcmlhYmxlcykKIHsKICAgICBtX3NvdXJjZUVsZW1lbnRzID0gc291cmNlRWxl
bWVudHM7CkBAIC0zMjgsOCArMzI4LDEzIEBAIGJvb2wgUGFyc2VyPExleGVyVHlwZT46OmFsbG93
QXV0b21hdGljU2VtaWNvbG9uKCkKICAgICByZXR1cm4gbWF0Y2goQ0xPU0VCUkFDRSkgfHwgbWF0
Y2goRU9GVE9LKSB8fCBtX2xleGVyLT5wcmV2VGVybWluYXRvcigpOwogfQogCisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+
Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYgY29udGV4dCwgU291
cmNlRWxlbWVudHNNb2RlIG1vZGUsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBl
KQorI2Vsc2UKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VT
b3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYgY29udGV4dCwgU291cmNlRWxlbWVudHNNb2RlIG1v
ZGUpCisjZW5kaWYKIHsKICAgICBjb25zdCB1bnNpZ25lZCBsZW5ndGhPZlVzZVN0cmljdExpdGVy
YWwgPSAxMjsgLy8gInVzZSBzdHJpY3QiLmxlbmd0aAogICAgIFRyZWVTb3VyY2VFbGVtZW50cyBz
b3VyY2VFbGVtZW50cyA9IGNvbnRleHQuY3JlYXRlU291cmNlRWxlbWVudHMoKTsKQEAgLTMzOCw3
ICszNDMsMTEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVu
dHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWwKICAgICB1bnNpZ25lZCBkaXJlY3Rp
dmVMaXRlcmFsTGVuZ3RoID0gMDsKICAgICBhdXRvIHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2lu
dCgpOwogICAgIGJvb2wgaGFzU2V0U3RyaWN0ID0gZmFsc2U7CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB3aGlsZSAoVHJlZVN0YXRlbWVudCBzdGF0ZW1lbnQgPSBw
YXJzZVN0YXRlbWVudChjb250ZXh0LCBkaXJlY3RpdmUsICZkaXJlY3RpdmVMaXRlcmFsTGVuZ3Ro
LCBmdW5jdGlvblBhcnNlVHlwZSkpIHsKKyNlbHNlCiAgICAgd2hpbGUgKFRyZWVTdGF0ZW1lbnQg
c3RhdGVtZW50ID0gcGFyc2VTdGF0ZW1lbnQoY29udGV4dCwgZGlyZWN0aXZlLCAmZGlyZWN0aXZl
TGl0ZXJhbExlbmd0aCkpIHsKKyNlbmRpZgogICAgICAgICBpZiAobW9kZSA9PSBDaGVja0ZvclN0
cmljdE1vZGUgJiYgIXNlZW5Ob25EaXJlY3RpdmUpIHsKICAgICAgICAgICAgIGlmIChkaXJlY3Rp
dmUpIHsKICAgICAgICAgICAgICAgICAvLyAidXNlIHN0cmljdCIgbXVzdCBiZSB0aGUgZXhhY3Qg
bGl0ZXJhbCB3aXRob3V0IGVzY2FwZSBzZXF1ZW5jZXMgb3IgbGluZSBjb250aW51YXRpb24uCkBA
IC00NTcsNyArNDY2LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVz
c2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VWYXJEZWNsYXJhdGkKICAgICBUcmVlRXhwcmVz
c2lvbiBoZWFkID0gMDsKICAgICBUcmVlRXhwcmVzc2lvbiB0YWlsID0gMDsKICAgICBjb25zdCBJ
ZGVudGlmaWVyKiBsYXN0SWRlbnQ7Ci0gICAgSlNUb2tlbiBsYXN0SWRlbnRUb2tlbjsgCisgICAg
SlNUb2tlbiBsYXN0SWRlbnRUb2tlbjsKICAgICBkbyB7CiAgICAgICAgIGxhc3RJZGVudCA9IDA7
CiAgICAgICAgIGxhc3RQYXR0ZXJuID0gMDsKQEAgLTU3MCw2ICs1NzksMzIgQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIFBhcnNlcjxMZXhl
clR5cGU+OjpjcmVhdGUKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVCaW5kaW5nTG9jYXRpb24o
dG9rZW4ubV9sb2NhdGlvbiwgbmFtZSwgdG9rZW4ubV9zdGFydFBvc2l0aW9uLCB0b2tlbi5tX2Vu
ZFBvc2l0aW9uKTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0
ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25TdGF0
ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAgQVNTRVJUKG1hdGNoKEFSUk9XRlVO
Q1RJT04pKTsKKworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkp
OworICAgIHNlbWFudGljRmFpbElmRmFsc2UoY3VycmVudFNjb3BlKCktPmlzRnVuY3Rpb24oKSwg
IlJldHVybiBzdGF0ZW1lbnRzIGFyZSBvbmx5IHZhbGlkIGluc2lkZSBhcnJvdyBmdW5jdGlvbnMi
KTsKKyAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAg
IEpTVGV4dFBvc2l0aW9uIGVuZCA9IHRva2VuRW5kUG9zaXRpb24oKTsKKworICAgIG5leHQoKTsK
KyAgICBUcmVlRXhwcmVzc2lvbiBleHByID0gcGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihj
b250ZXh0KTsKKyAgICBmYWlsSWZGYWxzZShleHByLCAiQ2Fubm90IHBhcnNlIHRoZSBhcnJvdyBm
dW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgZW5kID0gbGFzdFRva2VuRW5kUG9zaXRpb24oKTsK
KworICAgIGJvb2wgY29ycmVjQXJyb3dGaW5pc2ggPSBtYXRjaChTRU1JQ09MT04pIHx8IG1hdGNo
KENPTU1BKSB8fCBtYXRjaChDTE9TRVBBUkVOKSB8fCBtYXRjaChDTE9TRUJSQUNFKSB8fCBtYXRj
aChDTE9TRUJSQUNLRVQpIHx8IG1hdGNoKEVPRlRPSyk7CisgICAgZmFpbElmRmFsc2UoY29ycmVj
QXJyb3dGaW5pc2gsICJFeHBlY3RlZCBhICc7JywgJ10nLCAnfScsICcpJywgb3IgJywnIGZvbGxv
d2luZyBhIGFycm93IGZ1bmN0aW9uIHN0YXRlbWVudCIpOworCisgICAgZW5kID0gdG9rZW5FbmRQ
b3NpdGlvbigpOworICAgIHNldEVuZE9mU3RhdGVtZW50KCk7CisKKyAgICByZXR1cm4gY29udGV4
dC5jcmVhdGVSZXR1cm5TdGF0ZW1lbnQobG9jYXRpb24sIGV4cHIsIHN0YXJ0LCBlbmQpOworfQor
I2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gUGFyc2VyPExleGVyVHlwZT46
OnRyeVBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29u
dGV4dCkKIHsKQEAgLTExNDMsOCArMTE3OCwxMyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQmxvY2tTdGF0ZW1lbgog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQo
VHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2ln
bmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoLCBGdW5jdGlvblBhcnNlVHlwZSB0eXBlKQorI2Vs
c2UKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRy
ZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25l
ZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCkKKyNlbmRpZgogewogICAgIERlcHRoTWFuYWdlciBz
dGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7CiAgICAgbV9zdGF0ZW1lbnREZXB0aCsr
OwpAQCAtMTE1Myw2ICsxMTkzLDI3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgZmFp
bElmU3RhY2tPdmVyZmxvdygpOwogICAgIFRyZWVTdGF0ZW1lbnQgcmVzdWx0ID0gMDsKICAgICBi
b29sIHNob3VsZFNldEVuZE9mZnNldCA9IHRydWU7CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIGJvb2wgaGFuZGxlZCA9IGZhbHNlOworICAgIGlmICh0eXBlID09
IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgc3dpdGNoIChtX3Rva2VuLm1fdHlw
ZSkgeworICAgICAgICBjYXNlIENMT1NFUEFSRU46CisgICAgICAgIGNhc2UgQ0xPU0VCUkFDS0VU
OgorICAgICAgICBjYXNlIENPTU1BOgorICAgICAgICBjYXNlIFNFTUlDT0xPTjogeworICAgICAg
ICAgICAgcmVzdWx0ID0gMDsKKyAgICAgICAgICAgIGhhbmRsZWQgPSB0cnVlOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICB9CisKKyAgICAgICAgaWYgKGhhbmRsZWQpCisgICAgICAgICAgICBnb3RvIGVu
ZFN0YXRlbWVuZXQ7CisgICAgfQorI2VuZGlmCiAgICAgc3dpdGNoIChtX3Rva2VuLm1fdHlwZSkg
ewogICAgIGNhc2UgT1BFTkJSQUNFOgogICAgICAgICByZXN1bHQgPSBwYXJzZUJsb2NrU3RhdGVt
ZW50KGNvbnRleHQpOwpAQCAtMTE5OCw2ICsxMjU5LDExIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQo
VHJlCiAgICAgY2FzZSBCUkVBSzoKICAgICAgICAgcmVzdWx0ID0gcGFyc2VCcmVha1N0YXRlbWVu
dChjb250ZXh0KTsKICAgICAgICAgYnJlYWs7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICBjYXNlIEFSUk9XRlVOQ1RJT046CisgICAgICAgIHJlc3VsdCA9IHBhcnNl
QXJyb3dGdW5jdGlvblN0YXRlbWVudChjb250ZXh0KTsKKyAgICAgICAgYnJlYWs7CisjZW5kaWYK
ICAgICBjYXNlIFJFVFVSTjoKICAgICAgICAgcmVzdWx0ID0gcGFyc2VSZXR1cm5TdGF0ZW1lbnQo
Y29udGV4dCk7CiAgICAgICAgIGJyZWFrOwpAQCAtMTIzOSw2ICsxMzA1LDggQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZVN0YXRlbWVudChUcmUKICAgICAgICAgYnJlYWs7CiAgICAgfQogCitlbmRTdGF0ZW1lbmV0Ogor
CiAgICAgaWYgKHJlc3VsdCAmJiBzaG91bGRTZXRFbmRPZmZzZXQpCiAgICAgICAgIGNvbnRleHQu
c2V0RW5kT2Zmc2V0KHJlc3VsdCwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5vZmZzZXQpOwogICAg
IHJldHVybiByZXN1bHQ7CkBAIC0xMjU5LDYgKzEzMjcsMjQgQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlRm9ybWFsUGFyYW1ldGVyTGlzdCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VGb3IKICAgICByZXR1cm4gbGlzdDsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgorICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZUZ1bmN0aW9uQm9keSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VBcnJvd0Z1bmN0aW9uQm9keShUcmVlQnVpbGRlciYgY29udGV4dCwgaW50IGZ1bmN0aW9uS2V5
d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIGludCBwYXJhbWV0ZXJzU3RhcnQsIENv
bnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQpCit7CisgICAgSlNUb2tlbkxvY2F0aW9uIHN0
YXJ0TG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICB1bnNpZ25lZCBzdGFydENvbHVtbiA9
IHRva2VuQ29sdW1uKCk7CisKKyAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3Rh
dGVtZW50RGVwdGgpOworICAgIG1fc3RhdGVtZW50RGVwdGggPSAwOworICAgIHR5cGVuYW1lIFRy
ZWVCdWlsZGVyOjpGdW5jdGlvbkJvZHlCdWlsZGVyIGJvZHlCdWlsZGVyKGNvbnN0X2Nhc3Q8Vk0q
PihtX3ZtKSwgbV9sZXhlci5nZXQoKSk7CisKKyAgICBmYWlsSWZGYWxzZShwYXJzZVNvdXJjZUVs
ZW1lbnRzKGJvZHlCdWlsZGVyLCBDaGVja0ZvclN0cmljdE1vZGUsIEFycm93RnVuY3Rpb25QYXJz
ZVR5cGUpLCAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBhcnJvdyBmdW5jdGlvbiIpOworICAg
IHVuc2lnbmVkIGVuZENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CisgICAgCisgICAgcmV0dXJuIGNv
bnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0YXJ0TG9jYXRpb24sIHRva2VuTG9jYXRpb24oKSwg
c3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFt
ZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0cmljdE1vZGUoKSwgY29uc3RydWN0b3JLaW5kKTsK
K30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlRnVuY3Rpb25Cb2R5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUZ1bmN0aW9uQm9keSgKICAgICBUcmVlQnVpbGRlciYgY29udGV4dCwgaW50IGZ1bmN0aW9uS2V5
d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIApAQCAtMTQ0Niw2ICsxNTMyLDE1NiBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgIHJldHVybiB0cnVlOwogfQogCisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5
cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlQXJyb3dGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImIGNvbnRleHQsIEZ1bmN0aW9uUGFy
c2VNb2RlIG1vZGUsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQsIGludCBmdW5jdGlv
bktleXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYgaW5mbykKK3sK
KyAgICBBdXRvUG9wU2NvcGVSZWYgZnVuY3Rpb25TY29wZSh0aGlzLCBwdXNoU2NvcGUoKSk7Cisg
ICAgZnVuY3Rpb25TY29wZS0+c2V0SXNGdW5jdGlvbigpOworICAgIGludCBmdW5jdGlvbk5hbWVT
dGFydCA9IG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKKyAgICBjb25zdCBJZGVudGlm
aWVyKiBsYXN0RnVuY3Rpb25OYW1lID0gbV9sYXN0RnVuY3Rpb25OYW1lOworICAgIG1fbGFzdEZ1
bmN0aW9uTmFtZSA9IG51bGxwdHI7CisgICAgaW50IHBhcmFtZXRlcnNTdGFydCA9IG1fdG9rZW4u
bV9sb2NhdGlvbi5zdGFydE9mZnNldDsKKyAgICBpZiAoIW1hdGNoKElERU5UKSAmJiAhbWF0Y2go
T1BFTlBBUkVOKSkgeworICAgICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVUb0tleXdvcmQoc3RyaW5n
Rm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUiKTsKKyAgICAgICAgZmFpbFdpdGhNZXNzYWdl
KCJFeHBlY3RlZCBhbiBhcnJvdyBmdW5jdGlvbiBpbnB1dCBwYXJhbWV0ZXIiKTsKKyAgICB9IGVs
c2UgeworICAgICAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICAgICAgY29uc3Vt
ZShPUEVOUEFSRU4pOworCisgICAgICAgICAgICBpZiAoIW1hdGNoKENMT1NFUEFSRU4pKSB7Cisg
ICAgICAgICAgICAgICAgaW5mby5wYXJhbWV0ZXJzID0gcGFyc2VGb3JtYWxQYXJhbWV0ZXJzKGNv
bnRleHQpOworICAgICAgICAgICAgICAgIGZhaWxJZkZhbHNlKGluZm8ucGFyYW1ldGVycywgIkNh
bm5vdCBwYXJzZSBwYXJhbWV0ZXJzIGZvciB0aGlzICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZSht
b2RlKSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQ
QVJFTiwgIkV4cGVjdGVkIGEgJyknIG9yIGEgJywnIGFmdGVyIGEgcGFyYW1ldGVyIGRlY2xhcmF0
aW9uIik7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBw
YXJzZUZvcm1hbFBhcmFtZXRlcnMoY29udGV4dCk7CisgICAgICAgICAgICBmYWlsSWZGYWxzZShp
bmZvLnBhcmFtZXRlcnMsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAiLCBzdHJp
bmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOworICAgICAgICB9CisgICAgfQorCisgICAgbWF0Y2hP
ckZhaWwoQVJST1dGVU5DVElPTiwgIkV4cGVjdGVkIGEgJz0+JyBhZnRlciBhcnJvdyBmdW5jdGlv
biBwYXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsKKyAgICAKKyAgICBpbmZvLmFycm93RnVuY3Rpb25P
ZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CisgICAgaW5mby5vcGVuQnJhY2VPZmZzZXQg
PSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CisgICAgaW5mby5ib2R5U3RhcnRMaW5lID0gdG9rZW5M
aW5lKCk7CisgICAgaW5mby5ib2R5U3RhcnRDb2x1bW4gPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQg
LSBtX3Rva2VuLm1fZGF0YS5saW5lU3RhcnRPZmZzZXQ7CisKKyAgICBKU1Rva2VuTG9jYXRpb24g
c3RhcnRMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworCisgICAgLy8gSWYgd2Uga25vdyBhYm91
dCB0aGlzIGZ1bmN0aW9uIGFscmVhZHksIHdlIGNhbiB1c2UgdGhlIGNhY2hlZCBpbmZvIGFuZCBz
a2lwIHRoZSBwYXJzZXIgdG8gdGhlIGVuZCBvZiB0aGUgZnVuY3Rpb24uCisgICAgaWYgKGNvbnN0
IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKiBjYWNoZWRJbmZvID0gVHJlZUJ1aWxkZXI6OkNhblVz
ZUZ1bmN0aW9uQ2FjaGUgPyBmaW5kQ2FjaGVkRnVuY3Rpb25JbmZvKGluZm8ub3BlbkJyYWNlT2Zm
c2V0KSA6IDApIHsKKyAgICAgICAgLy8gSWYgd2UncmUgaW4gYSBzdHJpY3QgY29udGV4dCwgdGhl
IGNhY2hlZCBmdW5jdGlvbiBpbmZvIG11c3Qgc2F5IGl0IHdhcyBzdHJpY3QgdG9vLgorICAgICAg
ICBBU1NFUlQoIXN0cmljdE1vZGUoKSB8fCBjYWNoZWRJbmZvLT5zdHJpY3RNb2RlKTsKKyAgICAg
ICAgSlNUb2tlbkxvY2F0aW9uIGVuZExvY2F0aW9uOworCisgICAgICAgIGVuZExvY2F0aW9uLmxp
bmUgPSBjYWNoZWRJbmZvLT5jbG9zZUJyYWNlTGluZTsKKyAgICAgICAgZW5kTG9jYXRpb24uc3Rh
cnRPZmZzZXQgPSBjYWNoZWRJbmZvLT5jbG9zZUJyYWNlT2Zmc2V0OworICAgICAgICBlbmRMb2Nh
dGlvbi5saW5lU3RhcnRPZmZzZXQgPSBjYWNoZWRJbmZvLT5jbG9zZUJyYWNlTGluZVN0YXJ0T2Zm
c2V0OworCisgICAgICAgIGJvb2wgZW5kQ29sdW1uSXNPblN0YXJ0TGluZSA9IChlbmRMb2NhdGlv
bi5saW5lID09IGluZm8uYm9keVN0YXJ0TGluZSk7CisgICAgICAgIEFTU0VSVChlbmRMb2NhdGlv
bi5zdGFydE9mZnNldCA+PSBlbmRMb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQpOworICAgICAgICB1
bnNpZ25lZCBib2R5RW5kQ29sdW1uID0gZW5kQ29sdW1uSXNPblN0YXJ0TGluZSA/CisgICAgICAg
IGVuZExvY2F0aW9uLnN0YXJ0T2Zmc2V0IC0gbV90b2tlbi5tX2RhdGEubGluZVN0YXJ0T2Zmc2V0
IDoKKyAgICAgICAgZW5kTG9jYXRpb24uc3RhcnRPZmZzZXQgLSBlbmRMb2NhdGlvbi5saW5lU3Rh
cnRPZmZzZXQ7CisgICAgICAgIHVuc2lnbmVkIGN1cnJlbnRMaW5lU3RhcnRPZmZzZXQgPSBtX3Rv
a2VuLm1fbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0OworCisgICAgICAgIGluZm8uYm9keSA9IGNv
bnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0YXJ0TG9jYXRpb24sIGVuZExvY2F0aW9uLCBpbmZv
LmJvZHlTdGFydENvbHVtbiwgYm9keUVuZENvbHVtbiwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1
bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNhY2hlZEluZm8tPnN0cmljdE1vZGUs
IGNvbnN0cnVjdG9yS2luZCk7CisgICAgICAgIGZ1bmN0aW9uU2NvcGUtPnJlc3RvcmVGcm9tU291
cmNlUHJvdmlkZXJDYWNoZShjYWNoZWRJbmZvKTsKKyAgICAgICAgZmFpbElmRmFsc2UocG9wU2Nv
cGUoZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQ
YXJzZXIgZXJyb3IiKTsKKworICAgICAgICBpbmZvLmNsb3NlQnJhY2VPZmZzZXQgPSBjYWNoZWRJ
bmZvLT5jbG9zZUJyYWNlT2Zmc2V0OworICAgICAgICBpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlw
ZSA9IGNhY2hlZEluZm8tPmlzQm9keUFycm93RnVuY3Rpb25CbG9jayA/IEFycm93RnVuY3Rpb25C
b2R5QmxvY2sgOiBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb247CisKKyAgICAgICAgbV90b2tl
biA9IGluZm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2sg
PyBjYWNoZWRJbmZvLT5jbG9zZUJyYWNlVG9rZW4oKSA6IGNhY2hlZEluZm8tPmVuZEFycm93RnVu
Y3Rpb25Ub2tlbigpOworCisgICAgICAgIGlmIChlbmRDb2x1bW5Jc09uU3RhcnRMaW5lKQorICAg
ICAgICAgICAgbV90b2tlbi5tX2xvY2F0aW9uLmxpbmVTdGFydE9mZnNldCA9IGN1cnJlbnRMaW5l
U3RhcnRPZmZzZXQ7CisKKyAgICAgICAgbV9sZXhlci0+c2V0T2Zmc2V0KG1fdG9rZW4ubV9sb2Nh
dGlvbi5lbmRPZmZzZXQsIG1fdG9rZW4ubV9sb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQpOworICAg
ICAgICBtX2xleGVyLT5zZXRMaW5lTnVtYmVyKG1fdG9rZW4ubV9sb2NhdGlvbi5saW5lKTsKKwor
ICAgICAgICBjb250ZXh0LnNldEVuZE9mZnNldChpbmZvLmJvZHksIG1fbGV4ZXItPmN1cnJlbnRP
ZmZzZXQoKSk7CisKKyAgICAgICAgaWYgKGluZm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBlID09IEFy
cm93RnVuY3Rpb25Cb2R5QmxvY2spCisgICAgICAgICAgICBuZXh0KCk7CisKKyAgICAgICAgaW5m
by5ib2R5RW5kTGluZSA9IG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZTsKKyAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgfQorICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IGxhc3RGdW5jdGlvbk5h
bWU7CisgICAgUGFyc2VyU3RhdGUgb2xkU3RhdGUgPSBzYXZlU3RhdGUoKTsKKworICAgIFNhdmVQ
b2ludCBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICBuZXh0KCk7CisgICAgLy8g
Q2hlY2sgaWYgYXJyb3cgYm9keSBzdGFydCB3aXRoIHsuIElmIGl0IHRydWUgaXQgbWVhbiB0aGF0
IGFycm93IGZ1bmN0aW9uIGlzIEZhdCBhcnJvdyBmdW5jdGlvbgorICAgIC8vIGFuZCB3ZSBuZWVk
IHVzZSBjb21tb24gYXBwcm9hY2ggdG8gcGFyc2UgZnVuY3Rpb24gYm9keQorCisgICAgaW5mby5h
cnJvd0Z1bmN0aW9uQm9keVR5cGUgPSBtYXRjaChPUEVOQlJBQ0UpID8gQXJyb3dGdW5jdGlvbkJv
ZHlCbG9jayA6IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbjsKKworICAgIGlmIChpbmZvLmFy
cm93RnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrKSB7CisgICAgICAg
IGluZm8ub3BlbkJyYWNlT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgICAgICBp
bmZvLmJvZHlTdGFydExpbmUgPSB0b2tlbkxpbmUoKTsKKyAgICAgICAgaW5mby5ib2R5U3RhcnRD
b2x1bW4gPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQgLSBtX3Rva2VuLm1fZGF0YS5saW5lU3RhcnRP
ZmZzZXQ7CisKKyAgICAgICAgaW5mby5ib2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwg
ZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQs
IGNvbnN0cnVjdG9yS2luZCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgcmVzdG9yZVNhdmVQb2lu
dChzYXZlUG9pbnQpOworICAgICAgICBpbmZvLmJvZHkgPSBwYXJzZUFycm93RnVuY3Rpb25Cb2R5
KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1l
dGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQpOworICAgIH0KKworICAgIHJlc3RvcmVTdGF0ZShv
bGRTdGF0ZSk7CisgICAgZmFpbElmRmFsc2UoaW5mby5ib2R5LCAiQ2Fubm90IHBhcnNlIHRoZSBi
b2R5IG9mIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICBjb250ZXh0
LnNldEVuZE9mZnNldChpbmZvLmJvZHksIG1fbGV4ZXItPmN1cnJlbnRPZmZzZXQoKSk7CisgICAg
aWYgKGZ1bmN0aW9uU2NvcGUtPnN0cmljdE1vZGUoKSAmJiBpbmZvLm5hbWUpIHsKKyAgICAgICAg
UkVMRUFTRV9BU1NFUlQobW9kZSA9PSBGdW5jdGlvbk1vZGUpOworICAgICAgICBzZW1hbnRpY0Zh
aWxJZlRydWUobV92bS0+cHJvcGVydHlOYW1lcy0+YXJndW1lbnRzID09ICppbmZvLm5hbWUsICIn
IiwgaW5mby5uYW1lLT5pbXBsKCksICInIGlzIG5vdCBhIHZhbGlkIGZ1bmN0aW9uIG5hbWUgaW4g
c3RyaWN0IG1vZGUiKTsKKyAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKG1fdm0tPnByb3BlcnR5
TmFtZXMtPmV2YWwgPT0gKmluZm8ubmFtZSwgIiciLCBpbmZvLm5hbWUtPmltcGwoKSwgIicgaXMg
bm90IGEgdmFsaWQgZnVuY3Rpb24gbmFtZSBpbiBzdHJpY3QgbW9kZSIpOworICAgIH0KKworICAg
IGluZm8uY2xvc2VCcmFjZU9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKKworICAgIHVu
c2lnbmVkIGNsb3NlQnJhY2VMaW5lID0gbV90b2tlbi5tX2RhdGEubGluZTsKKyAgICB1bnNpZ25l
ZCBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEubGluZVN0YXJ0T2Zm
c2V0OworICAgIGJvb2wgaXNCb2R5QXJyb3dGdW5jdGlvbkJsb2NrID0gaW5mby5hcnJvd0Z1bmN0
aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jazsKKworICAgIC8vIENhY2hlIHRo
ZSB0b2tlbml6ZXIgc3RhdGUgYW5kIHRoZSBmdW5jdGlvbiBzY29wZSB0aGUgZmlyc3QgdGltZSB0
aGUgZnVuY3Rpb24gaXMgcGFyc2VkLgorICAgIC8vIEFueSBmdXR1cmUgcmVwYXJzaW5nIGNhbiB0
aGVuIHNraXAgdGhlIGZ1bmN0aW9uLgorICAgIHN0YXRpYyBjb25zdCBpbnQgbWluaW11bUZ1bmN0
aW9uTGVuZ3RoVG9DYWNoZSA9IDE2OworICAgIHN0ZDo6dW5pcXVlX3B0cjxTb3VyY2VQcm92aWRl
ckNhY2hlSXRlbT4gbmV3SW5mbzsKKyAgICBpbnQgZnVuY3Rpb25MZW5ndGggPSBpbmZvLmNsb3Nl
QnJhY2VPZmZzZXQgLSBpbmZvLm9wZW5CcmFjZU9mZnNldDsKKyAgICBpZiAoVHJlZUJ1aWxkZXI6
OkNhblVzZUZ1bmN0aW9uQ2FjaGUgJiYgbV9mdW5jdGlvbkNhY2hlICYmIGZ1bmN0aW9uTGVuZ3Ro
ID4gbWluaW11bUZ1bmN0aW9uTGVuZ3RoVG9DYWNoZSkgeworICAgICAgICBTb3VyY2VQcm92aWRl
ckNhY2hlSXRlbUNyZWF0aW9uUGFyYW1ldGVycyBwYXJhbWV0ZXJzOworICAgICAgICBwYXJhbWV0
ZXJzLmZ1bmN0aW9uTmFtZVN0YXJ0ID0gZnVuY3Rpb25OYW1lU3RhcnQ7CisgICAgICAgIHBhcmFt
ZXRlcnMuY2xvc2VCcmFjZUxpbmUgPSBjbG9zZUJyYWNlTGluZTsKKyAgICAgICAgcGFyYW1ldGVy
cy5jbG9zZUJyYWNlT2Zmc2V0ID0gaW5mby5jbG9zZUJyYWNlT2Zmc2V0OworICAgICAgICBwYXJh
bWV0ZXJzLmNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zm
c2V0OworICAgICAgICBwYXJhbWV0ZXJzLmlzQm9keUFycm93RnVuY3Rpb25CbG9jayA9IGlzQm9k
eUFycm93RnVuY3Rpb25CbG9jazsKKyAgICAgICAgcGFyYW1ldGVycy50b2tlblR5cGUgPSBtX3Rv
a2VuLm1fdHlwZTsKKworICAgICAgICBmdW5jdGlvblNjb3BlLT5maWxsUGFyYW1ldGVyc0ZvclNv
dXJjZVByb3ZpZGVyQ2FjaGUocGFyYW1ldGVycyk7CisgICAgICAgIG5ld0luZm8gPSBTb3VyY2VQ
cm92aWRlckNhY2hlSXRlbTo6Y3JlYXRlKHBhcmFtZXRlcnMpOworICAgIH0KKworICAgIGZhaWxJ
ZkZhbHNlKHBvcFNjb3BlKGZ1bmN0aW9uU2NvcGUsIFRyZWVCdWlsZGVyOjpOZWVkc0ZyZWVWYXJp
YWJsZUluZm8pLCAiUGFyc2VyIGVycm9yIik7CisKKyAgICBpZiAoaW5mby5hcnJvd0Z1bmN0aW9u
Qm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jaykgeworICAgICAgICBtYXRjaE9yRmFp
bChDTE9TRUJSQUNFLCAiRXhwZWN0ZWQgYSBjbG9zaW5nICd9JyBhZnRlciBhICIsIHN0cmluZ0Zv
ckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7CisgICAgICAgIG5leHQoKTsKKyAgICB9IGVs
c2UgeworICAgICAgICBib29sIGlzRW5kT2ZBcnJvd0Z1bmN0aW9uID0gbWF0Y2goU0VNSUNPTE9O
KSB8fCBtYXRjaChDT01NQSkgfHwgbWF0Y2goQ0xPU0VQQVJFTikgfHwgbWF0Y2goQ0xPU0VCUkFD
RSkgfHwgbWF0Y2goQ0xPU0VCUkFDS0VUKTsKKyAgICAgICAgZmFpbElmRmFsc2UoaXNFbmRPZkFy
cm93RnVuY3Rpb24sICJFeHBlY3RlZCB0aGUgY2xvc2luZyAnOycgJywnICddJyAnKScgJ30nIGFm
dGVyIGFycm93IGZ1bmN0aW9uIik7CisgICAgfQorCisgICAgaWYgKG5ld0luZm8pCisgICAgICAg
IG1fZnVuY3Rpb25DYWNoZS0+YWRkKGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBXVEY6Om1vdmUobmV3
SW5mbykpOworCisgICAgaW5mby5ib2R5RW5kTGluZSA9IG1fbGFzdFRva2VuRW5kUG9zaXRpb24u
bGluZTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUg
TGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImIGNv
bnRleHQpCiB7CkBAIC0xNzY2LDYgKzIwMDIsMTggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlmU3RhdGVtZW50KFQK
ICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVJZlN0YXRlbWVudChpZkxvY2F0aW9uLCBjb25kaXRp
b24sIHRydWVCbG9jaywgc3RhdGVtZW50U3RhY2subGFzdCgpLCBzdGFydCwgZW5kKTsKIH0KIAor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUg
TGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRl
ciYgY29udGV4dCkKK3sKKyAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7CisgICAgVHJlZUV4cHJl
c3Npb24gbm9kZSA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24oY29udGV4dCk7CisgICAgZmFp
bElmRmFsc2Uobm9kZSwgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9uIik7CisgICAgY29udGV4dC5z
ZXRFbmRPZmZzZXQobm9kZSwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5vZmZzZXQpOworICAgIHJl
dHVybiBub2RlOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7CkBAIC0xODEzLDYg
KzIwNjEsNDMgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lv
biBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KICAgICAgICAgfQogICAgICAgICBy
ZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CiAgICAgfQorCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2ludCA9
IGNyZWF0ZVNhdmVQb2ludCgpOworICAgIGJvb2wgYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCA9IGZh
bHNlOworICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgIG5leHQoKTsKKyAgICAg
ICAgaWYgKG1hdGNoKENMT1NFUEFSRU4pKSB7CisgICAgICAgICAgICBuZXh0KCk7CisKKyAgICAg
ICAgICAgIGlmIChtYXRjaChBUlJPV0ZVTkNUSU9OKSkKKyAgICAgICAgICAgICAgICBhcnJvd0Z1
bmN0aW9uRW1wdHlMaXN0ID0gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICghYXJyb3dG
dW5jdGlvbkVtcHR5TGlzdCkKKyAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93
RnVuY3Rpb25Qb2ludCk7CisgICAgfQorI2VuZGlmCisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIFRyZWVFeHByZXNzaW9uIGxoczsKKyAgICBpZiAoIWFycm93RnVu
Y3Rpb25FbXB0eUxpc3QpIHsKKyAgICAgICAgbGhzID0gcGFyc2VDb25kaXRpb25hbEV4cHJlc3Np
b24oY29udGV4dCk7CisgICAgICAgIGZhaWxJZkZhbHNlKGxocywgIkNhbhlub3QgcGFyc2UgZXhw
cmVzc2lvbiIpOworICAgICAgICBpZiAoaW5pdGlhbE5vbkxIU0NvdW50ICE9IG1fbm9uTEhTQ291
bnQpIHsKKyAgICAgICAgICAgIGlmIChtX3Rva2VuLm1fdHlwZSA+PSBFUVVBTCAmJiBtX3Rva2Vu
Lm1fdHlwZSA8PSBPUkVRVUFMKQorICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbCgiTGVmdCBo
YW5kIHNpZGUgb2Ygb3BlcmF0b3IgJyIsIGdldFRva2VuKCksICInIG11c3QgYmUgYSByZWZlcmVu
Y2UiKTsKKworICAgICAgICAgICAgcmV0dXJuIGxoczsKKyAgICAgICAgfQorICAgIH0KKworICAg
IGlmIChtYXRjaChBUlJPV0ZVTkNUSU9OKSkgeworICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNh
dmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICBsaHMgPSBwYXJzZUFycm93RnVuY3Rpb25X
cmFwcGVyKGNvbnRleHQpOworICAgICAgICByZXR1cm4gbGhzOworICAgIH0KKyNlbHNlCiAgICAg
VHJlZUV4cHJlc3Npb24gbGhzID0gcGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24oY29udGV4dCk7
CiAgICAgZmFpbElmRmFsc2UobGhzLCAiQ2Fubm90IHBhcnNlIGV4cHJlc3Npb24iKTsKICAgICBp
ZiAoaW5pdGlhbE5vbkxIU0NvdW50ICE9IG1fbm9uTEhTQ291bnQpIHsKQEAgLTE4MjEsNyArMjEw
Niw4IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlQXNzaWdubWVuCiAKICAgICAgICAgcmV0dXJuIGxoczsKICAg
ICB9Ci0gICAgCisjZW5kaWYKKwogICAgIGludCBhc3NpZ25tZW50U3RhY2sgPSAwOwogICAgIE9w
ZXJhdG9yIG9wOwogICAgIGJvb2wgaGFkQXNzaWdubWVudCA9IGZhbHNlOwpAQCAtMjI5Niw2ICsy
NTgyLDIzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAgICAgIHJldHVybiBjb250ZXh0
LnRoaXNFeHByKGxvY2F0aW9uKTsKICAgICB9CiAgICAgY2FzZSBJREVOVDogeworI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIFNhdmVQb2ludCBzYXZlQXJyb3dG
dW5jdGlvblBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgICAgIEpTVGV4dFBvc2l0aW9u
IHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgICAgIGNvbnN0IElkZW50aWZpZXIq
IGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CisgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiBs
b2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgICAgICBuZXh0KCk7CisKKyAgICAgICAgaWYg
KCFtYXRjaChBUlJPV0ZVTkNUSU9OKSkgeworICAgICAgICAgICAgY3VycmVudFNjb3BlKCktPnVz
ZVZhcmlhYmxlKGlkZW50LCBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09ICppZGVudCk7Cisg
ICAgICAgICAgICBtX2xhc3RJZGVudGlmaWVyID0gaWRlbnQ7CisgICAgICAgICAgICByZXR1cm4g
Y29udGV4dC5jcmVhdGVSZXNvbHZlKGxvY2F0aW9uLCBpZGVudCwgc3RhcnQpOworICAgICAgICB9
CisKKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAg
ICAgICAgVHJlZUV4cHJlc3Npb24gbGhzID0gcGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihjb250
ZXh0KTsKKyAgICAgICAgcmV0dXJuIGxoczsKKyNlbHNlCiAgICAgICAgIEpTVGV4dFBvc2l0aW9u
IHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIq
IGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiBs
b2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwpAQCAtMjMwMyw2ICsyNjA2LDcgQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VQcmltYXJ5RXhwcmUKICAgICAgICAgY3VycmVudFNjb3BlKCktPnVzZVZhcmlhYmxlKGlkZW50
LCBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09ICppZGVudCk7CiAgICAgICAgIG1fbGFzdElk
ZW50aWZpZXIgPSBpZGVudDsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUmVzb2x2ZShs
b2NhdGlvbiwgaWRlbnQsIHN0YXJ0KTsKKyNlbmRpZgogICAgIH0KICAgICBjYXNlIFNUUklORzog
ewogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50
OwpAQCAtMjQ5MCw2ICsyNzk0LDMyIEBAIGVuZE1lbWJlckV4cHJlc3Npb246CiAgICAgcmV0dXJu
IGJhc2U7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxh
dGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIo
VHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAgVHJlZUV4cHJlc3Npb24gYmFzZSA9IDA7Cisg
ICAgSlNUZXh0UG9zaXRpb24gZXhwcmVzc2lvblN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7
CisgICAgaW50IG5ld0NvdW50ID0gMDsKKyAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb247CisK
KyAgICBpZiAobWF0Y2goSURFTlQpIHx8IG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgdW5z
aWduZWQgZnVuY3Rpb25LZXl3b3JkU3RhcnQgPSB0b2tlblN0YXJ0KCk7CisgICAgICAgIGxvY2F0
aW9uID0gdG9rZW5Mb2NhdGlvbigpOworICAgICAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1
aWxkZXI+IGluZm87CisgICAgICAgIGluZm8ubmFtZSA9ICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5u
dWxsSWRlbnRpZmllcjsKKyAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlQXJyb3dGdW5jdGlvbklu
Zm8oY29udGV4dCwgRnVuY3Rpb25Nb2RlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9u
S2V5d29yZFN0YXJ0LCBpbmZvKSksICJDYW5ub3QgcGFyc2UgZnVuY3Rpb24gZXhwcmVzc2lvbiIp
OworICAgICAgICBiYXNlID0gY29udGV4dC5jcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihsb2NhdGlv
biwgaW5mbyk7CisgICAgfSBlbHNlCisgICAgICAgIGJhc2UgPSBwYXJzZVByaW1hcnlFeHByZXNz
aW9uKGNvbnRleHQpOworCisgICAgZmFpbElmRmFsc2UoYmFzZSwgIkNhbm5vdCBwYXJzZSBiYXNl
IGV4cHJlc3Npb24iKTsKKyAgICB3aGlsZSAobmV3Q291bnQtLSkKKyAgICAgICAgYmFzZSA9IGNv
bnRleHQuY3JlYXRlTmV3RXhwcihsb2NhdGlvbiwgYmFzZSwgZXhwcmVzc2lvblN0YXJ0LCBsYXN0
VG9rZW5FbmRQb3NpdGlvbigpKTsKKyAgICByZXR1cm4gYmFzZTsKK30KKyNlbmRpZgorCiBzdGF0
aWMgY29uc3QgY2hhciogb3BlcmF0b3JTdHJpbmcoYm9vbCBwcmVmaXgsIHVuc2lnbmVkIHRvaykK
IHsKICAgICBzd2l0Y2ggKHRvaykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgK
aW5kZXggODYzZjljMTU2MDg0MmE5ODU2ZDhlOTc3NTFjZDhiZWRjOGFiZDg3YS4uNjIzMzAzMTFk
YTUwMjkxNDRmMTlkODFjOTY0MmFjMmQ5NjZjYjVhNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlci5oCkBAIC04MCw2ICs4MCw5IEBAIGNsYXNzIFNvdXJjZUNvZGU7CiBDT01QSUxF
X0FTU0VSVChMYXN0VW50YWdnZWRUb2tlbiA8IDY0LCBMZXNzVGhhbjY0VW50YWdnZWRUb2tlbnMp
OwogCiBlbnVtIFNvdXJjZUVsZW1lbnRzTW9kZSB7IENoZWNrRm9yU3RyaWN0TW9kZSwgRG9udENo
ZWNrRm9yU3RyaWN0TW9kZSB9OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CitlbnVtIEZ1bmN0aW9uUGFyc2VUeXBlIHsgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSwgQXJy
b3dGdW5jdGlvblBhcnNlVHlwZSB9OworI2VuZGlmCiBlbnVtIEZ1bmN0aW9uUmVxdWlyZW1lbnRz
IHsgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgRnVuY3Rpb25OZWVkc05hbWUgfTsKIGVudW0gRnVu
Y3Rpb25QYXJzZU1vZGUgewogICAgIEZ1bmN0aW9uTW9kZSwKQEAgLTU1Myw4ICs1NTYsOCBAQCBw
cml2YXRlOgogICAgIH0KICAgICAKICAgICBTY29wZVN0YWNrIG1fc2NvcGVTdGFjazsKLSAgICAK
LSAgICBjb25zdCBTb3VyY2VQcm92aWRlckNhY2hlSXRlbSogZmluZENhY2hlZEZ1bmN0aW9uSW5m
byhpbnQgb3BlbkJyYWNlUG9zKSAKKworICAgIGNvbnN0IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVt
KiBmaW5kQ2FjaGVkRnVuY3Rpb25JbmZvKGludCBvcGVuQnJhY2VQb3MpCiAgICAgewogICAgICAg
ICByZXR1cm4gbV9mdW5jdGlvbkNhY2hlID8gbV9mdW5jdGlvbkNhY2hlLT5nZXQob3BlbkJyYWNl
UG9zKSA6IDA7CiAgICAgfQpAQCAtNTYyLDcgKzU2NSw3IEBAIHByaXZhdGU6CiAgICAgUGFyc2Vy
KCk7CiAgICAgU3RyaW5nIHBhcnNlSW5uZXIoKTsKIAotICAgIHZvaWQgZGlkRmluaXNoUGFyc2lu
ZyhTb3VyY2VFbGVtZW50cyosIERlY2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayYsIAorICAgIHZv
aWQgZGlkRmluaXNoUGFyc2luZyhTb3VyY2VFbGVtZW50cyosIERlY2xhcmF0aW9uU3RhY2tzOjpW
YXJTdGFjayYsCiAgICAgICAgIERlY2xhcmF0aW9uU3RhY2tzOjpGdW5jdGlvblN0YWNrJiwgQ29k
ZUZlYXR1cmVzLCBpbnQsIElkZW50aWZpZXJTZXQmLCBjb25zdCBWZWN0b3I8UmVmUHRyPFN0cmlu
Z0ltcGw+PiYmKTsKIAogICAgIC8vIFVzZWQgdG8gZGV0ZXJtaW5lIHR5cGUgb2YgZXJyb3IgdG8g
cmVwb3J0LgpAQCAtNzIxLDkgKzcyNCwxNCBAQCBwcml2YXRlOgogICAgICAgICB9CiAgICAgICAg
IHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIAorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VF
bGVtZW50cyBwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxlbWVudHNN
b2RlLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSA9IFN0YW5kYXJkRnVuY3Rp
b25QYXJzZVR5cGUpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRl
bWVudCBwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJl
Y3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMCwgRnVuY3Rpb25QYXJz
ZVR5cGUgZnVuY3Rpb25QYXJzZVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNl
bHNlCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMg
cGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYsIFNvdXJjZUVsZW1lbnRzTW9kZSk7CiAg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3RhdGVt
ZW50KFRyZWVCdWlsZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQq
IGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwKTsKKyNlbmRpZgogI2lmIEVOQUJMRShFUzZfQ0xB
U1NfU1lOVEFYKQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVu
dCBwYXJzZUNsYXNzRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImKTsKICNlbmRpZgpAQCAtNzY4LDYg
Kzc3NiwxNCBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZUV4cHJlc3Npb24gcGFyc2VWYXJEZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImLCBpbnQmIGRl
Y2xhcmF0aW9ucywgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiYgbGFzdFBhdHRlcm4sIFRyZWVF
eHByZXNzaW9uJiBsYXN0SW5pdGlhbGl6ZXIsIEpTVGV4dFBvc2l0aW9uJiBpZGVudFN0YXJ0LCBK
U1RleHRQb3NpdGlvbiYgaW5pdFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdEVuZCwgVmFyRGVj
bGFyYXRpb25MaXN0Q29udGV4dCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBO
RVZFUl9JTkxJTkUgVHJlZUNvbnN0RGVjbExpc3QgcGFyc2VDb25zdERlY2xhcmF0aW9uTGlzdChU
cmVlQnVpbGRlciYpOwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlQXJyb3dG
dW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVC
dWlsZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lv
biBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKFRyZWVCdWlsZGVyJik7CisgICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgYm9vbCBwYXJzZUFycm93RnVuY3Rpb25J
bmZvKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25QYXJzZU1vZGUsIENvbnN0cnVjdG9yS2luZCwgaW50
LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+Jik7CisgICAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VBcnJvd0Z1
bmN0aW9uQm9keShUcmVlQnVpbGRlciYsIGludCwgaW50LCBpbnQsIENvbnN0cnVjdG9yS2luZCk7
CisjZW5kaWYKKwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5F
IFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gY3JlYXRlQmluZGluZ1BhdHRlcm4oVHJlZUJ1aWxk
ZXImLCBEZWNvbnN0cnVjdGlvbktpbmQsIGNvbnN0IElkZW50aWZpZXImLCBpbnQgZGVwdGgsIEpT
VG9rZW4pOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRy
ZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oVHJlZUJ1
aWxkZXImLCBEZWNvbnN0cnVjdGlvbktpbmQsIGludCBkZXB0aCA9IDApOwogICAgIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRl
cm4gdHJ5UGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm5FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7
CkBAIC03ODgsNyArODA0LDE0IEBAIHByaXZhdGU6CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJu
IGFsbG93QXV0b21hdGljU2VtaWNvbG9uKCk7CiAgICAgfQotICAgIAorCisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2b2lkIHNldEVuZE9mU3RhdGVtZW50KCkKKyAg
ICB7CisgICAgICAgIG1fbGV4ZXItPnNldFRva2VuUG9zaXRpb24oJm1fdG9rZW4pOworICAgIH0K
KyNlbmRpZgorCiAgICAgYm9vbCBjYW5SZWN1cnNlKCkKICAgICB7CiAgICAgICAgIHJldHVybiBt
X3ZtLT5pc1NhZmVUb1JlY3Vyc2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oCmluZGV4IDZiNzM2MjgyZTJkMmE4MWJjNjNkYzJmM2Mw
ZTVhZThjODU4Y2QxZjguLmQ3NTJhNjEwYTliNmViMGM2YTExNDk1NDY1Y2E3ZGJkNzY4Y2Q1MjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25J
bmZvLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbklu
Zm8uaApAQCAtMjgsNiArMjgsMTAgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorZW51bSBBcnJvd0Z1bmN0aW9uQm9keVR5cGUgeyBB
cnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24sIEFycm93RnVuY3Rpb25Cb2R5QmxvY2t9OworI2Vu
ZGlmCisKIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4KIHN0cnVjdCBQYXJzZXJGdW5jdGlv
bkluZm8gewogICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUgPSAwOwpAQCAtMzgsNiArNDIsMTEg
QEAgc3RydWN0IFBhcnNlckZ1bmN0aW9uSW5mbyB7CiAgICAgaW50IGJvZHlTdGFydExpbmUgPSAw
OwogICAgIGludCBib2R5RW5kTGluZSA9IDA7CiAgICAgdW5zaWduZWQgYm9keVN0YXJ0Q29sdW1u
ID0gMDsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHVuc2lnbmVk
IGFycm93RnVuY3Rpb25PZmZzZXQgPSAwOworICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uID0gZmFs
c2U7CisgICAgQXJyb3dGdW5jdGlvbkJvZHlUeXBlIGFycm93RnVuY3Rpb25Cb2R5VHlwZSA9IEFy
cm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbjsKKyNlbmRpZgogfTsKIAogI2lmIEVOQUJMRShFUzZf
Q0xBU1NfU1lOVEFYKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXJUb2tlbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5z
LmgKaW5kZXggODMyOWY4MmE5YjJmZjkxNWQxZjI0MWMxZjhiZmZhZDQyNDdhNWYwYi4uYzhiMTY2
ZTBlYWQ3ZDJkYTcxOWU3NmM0YTJmMDlhZmYxZDc0ZDdhYyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCkBAIC03NSw2ICs3NSw5IEBAIGVudW0gSlNUb2tl
blR5cGUgewogICAgIEZJTkFMTFksCiAgICAgREVCVUdHRVIsCiAgICAgRUxTRSwKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEFSUk9XRlVOQ1RJT04sCisjZW5kaWYK
ICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICBDTEFTU1RPS0VOLAogICAgIEVYVEVO
RFMsCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCmluZGV4IDc5MmMx
OWU5NGE4MDViNWI0ZDRiZGQ2MjA4ZTZkMDZmZDg5OWYzNTkuLmJmMjY3NDVkMDZmMThiNjViMTBl
MWI3NWY5NzZmYjg5MDdlMmQxMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvU291cmNlQ29kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291
cmNlQ29kZS5oCkBAIC0xMDUsNiArMTA1LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIAog
ICAgICAgICBTb3VyY2VDb2RlIHN1YkV4cHJlc3Npb24odW5zaWduZWQgb3BlbkJyYWNlLCB1bnNp
Z25lZCBjbG9zZUJyYWNlLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOwogCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgU291cmNlQ29kZSBzdWJB
cnJvd0V4cHJlc3Npb24odW5zaWduZWQgc3RhcnRBcnJvd0Z1bmN0aW9uLCB1bnNpZ25lZCBlbmRB
cnJvd0Z1bmN0aW9uLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOworI2VuZGlmCiAg
ICAgcHJpdmF0ZToKICAgICAgICAgUmVmUHRyPFNvdXJjZVByb3ZpZGVyPiBtX3Byb3ZpZGVyOwog
ICAgICAgICBpbnQgbV9zdGFydENoYXI7CkBAIC0xMTgsNiArMTIxLDE3IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICByZXR1cm4gU291cmNlQ29kZShTdHJpbmdTb3VyY2VQcm92aWRlcjo6Y3Jl
YXRlKHNvdXJjZSwgdXJsLCBzdGFydFBvc2l0aW9uKSwgc3RhcnRQb3NpdGlvbi5tX2xpbmUub25l
QmFzZWRJbnQoKSwgc3RhcnRQb3NpdGlvbi5tX2NvbHVtbi5vbmVCYXNlZEludCgpKTsKICAgICB9
CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlubGluZSBTb3Vy
Y2VDb2RlIFNvdXJjZUNvZGU6OnN1YkFycm93RXhwcmVzc2lvbih1bnNpZ25lZCBzdGFydEFycm93
RnVuY3Rpb24sIHVuc2lnbmVkIGVuZEFycm93RnVuY3Rpb24sIGludCBmaXJzdExpbmUsIGludCBz
dGFydENvbHVtbikKKyAgICB7CisgICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtz
dGFydEFycm93RnVuY3Rpb25dID09ICc9JyAmJiBwcm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFy
cm93RnVuY3Rpb24gKyAxXSA9PSAnPicpOworICAgICAgICAvLyBGaXhtZTogVXNlIGJldHRlciBh
cHByb2FjaCB0byBjaGVjayBzeW1ib2wKKyAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJj
ZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnLCcgfHwgcHJvdmlkZXIoKS0+c291cmNlKClb
ZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICc7JyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRB
cnJvd0Z1bmN0aW9uIC0gMV0gPT0gJyknIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93
RnVuY3Rpb24gLSAxXSA9PSAnXScgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5j
dGlvbiAtIDFdID09ICd9Jyk7CisgICAgICAgIHN0YXJ0Q29sdW1uICs9IDE7IC8vIENvbnZlcnQg
dG8gYmFzZSAxLgorICAgICAgICByZXR1cm4gU291cmNlQ29kZShwcm92aWRlcigpLCBzdGFydEFy
cm93RnVuY3Rpb24sIGVuZEFycm93RnVuY3Rpb24gLSAxLCBmaXJzdExpbmUsIHN0YXJ0Q29sdW1u
KTsKKyAgICB9CisjZW5kaWYKKwogICAgIGlubGluZSBTb3VyY2VDb2RlIFNvdXJjZUNvZGU6OnN1
YkV4cHJlc3Npb24odW5zaWduZWQgb3BlbkJyYWNlLCB1bnNpZ25lZCBjbG9zZUJyYWNlLCBpbnQg
Zmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pCiAgICAgewogICAgICAgICBBU1NFUlQocHJvdmlk
ZXIoKS0+c291cmNlKClbb3BlbkJyYWNlXSA9PSAneycpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCmluZGV4IDYzNTM3
OWUzZjQ0NTY2OGM1MmI4NzJmNzYxNmRjYjU5MjFhODI5NDQuLjg1MDc3YTQ2MGM2MzZjMjYzZGFk
MDk3NTI3Y2I3YThlY2JkMGI0NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKQEAgLTQwLDYgKzQwLDEwIEBAIHN0
cnVjdCBTb3VyY2VQcm92aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgYm9v
bCBuZWVkc0Z1bGxBY3RpdmF0aW9uOwogICAgIGJvb2wgdXNlc0V2YWw7CiAgICAgYm9vbCBzdHJp
Y3RNb2RlOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgYm9vbCBp
c0JvZHlBcnJvd0Z1bmN0aW9uQmxvY2s7CisgICAgSlNUb2tlblR5cGUgdG9rZW5UeXBlOworI2Vu
ZGlmCiAgICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4gdXNlZFZhcmlhYmxlczsKICAgICBW
ZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiB3cml0dGVuVmFyaWFibGVzOwogfTsKQEAgLTY5LDkg
KzczLDI0IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIHRva2VuOwogICAgIH0KIAorI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgSlNUb2tlbiBlbmRBcnJvd0Z1bmN0
aW9uVG9rZW4oKSBjb25zdAorICAgIHsKKyAgICAgICAgSlNUb2tlbiB0b2tlbjsKKyAgICAgICAg
dG9rZW4ubV90eXBlID0gdG9rZW5UeXBlOworICAgICAgICB0b2tlbi5tX2RhdGEub2Zmc2V0ID0g
Y2xvc2VCcmFjZU9mZnNldDsKKyAgICAgICAgdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldCA9
IGNsb3NlQnJhY2VPZmZzZXQ7CisgICAgICAgIHRva2VuLm1fbG9jYXRpb24uZW5kT2Zmc2V0ID0g
Y2xvc2VCcmFjZU9mZnNldCArIDE7CisgICAgICAgIHRva2VuLm1fbG9jYXRpb24ubGluZSA9IGNs
b3NlQnJhY2VMaW5lOworICAgICAgICB0b2tlbi5tX2xvY2F0aW9uLmxpbmVTdGFydE9mZnNldCA9
IGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQ7CisKKyAgICAgICAgcmV0dXJuIHRva2VuOworICAg
IH0KKyNlbmRpZgorCiAgICAgdW5zaWduZWQgZnVuY3Rpb25OYW1lU3RhcnQgOiAzMTsKICAgICBi
b29sIG5lZWRzRnVsbEFjdGl2YXRpb24gOiAxOwotICAgIAorCiAgICAgdW5zaWduZWQgY2xvc2VC
cmFjZUxpbmUgOiAzMTsKICAgICBib29sIHVzZXNFdmFsIDogMTsKIApAQCAtODIsNiArMTAxLDEx
IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCB1c2VkVmFyaWFibGVzQ291bnQ7CiAgICAgdW5zaWdu
ZWQgd3JpdHRlblZhcmlhYmxlc0NvdW50OwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICBib29sIGlzQm9keUFycm93RnVuY3Rpb25CbG9jazsKKyAgICBKU1Rva2Vu
VHlwZSB0b2tlblR5cGU7CisjZW5kaWYKKwogICAgIFN0cmluZ0ltcGwqKiB1c2VkVmFyaWFibGVz
KCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxTdHJpbmdJbXBsKio+KG1fdmFyaWFibGVzKTsg
fQogICAgIFN0cmluZ0ltcGwqKiB3cml0dGVuVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gY29u
c3RfY2FzdDxTdHJpbmdJbXBsKio+KCZtX3ZhcmlhYmxlc1t1c2VkVmFyaWFibGVzQ291bnRdKTsg
fQogCkBAIC0xMTUsNiArMTM5LDEwIEBAIGlubGluZSBTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6
U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0oY29uc3QgU291cmNlUHJvdmlkZXJDYWNoCiAgICAgLCBj
bG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0KHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmVTdGFydE9m
ZnNldCkKICAgICAsIHVzZWRWYXJpYWJsZXNDb3VudChwYXJhbWV0ZXJzLnVzZWRWYXJpYWJsZXMu
c2l6ZSgpKQogICAgICwgd3JpdHRlblZhcmlhYmxlc0NvdW50KHBhcmFtZXRlcnMud3JpdHRlblZh
cmlhYmxlcy5zaXplKCkpCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICAsIGlzQm9keUFycm93RnVuY3Rpb25CbG9jayhwYXJhbWV0ZXJzLmlzQm9keUFycm93RnVuY3Rp
b25CbG9jaykKKyAgICAsIHRva2VuVHlwZShwYXJhbWV0ZXJzLnRva2VuVHlwZSkKKyNlbmRpZgog
ewogICAgIHVuc2lnbmVkIGogPSAwOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB1c2Vk
VmFyaWFibGVzQ291bnQ7ICsraSwgKytqKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvU3ludGF4Q2hlY2tlci5oCmluZGV4IDhiNDc1ODRiYTdiN2E0ZjI5YzBmMGUwZWFkNTdlMDcz
NGZhYmZlMmYuLmMxNGJjOGY1NzE5MDEwODY1N2YwMzIwMTMwM2M0M2ViODFiNjE0YTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCkBAIC0zMSw3ICsz
MSw3IEBACiAjaW5jbHVkZSAiWWFyclN5bnRheENoZWNrZXIuaCIKIAogbmFtZXNwYWNlIEpTQyB7
Ci0gICAgCisKIGNsYXNzIFN5bnRheENoZWNrZXIgewogcHVibGljOgogICAgIHN0cnVjdCBCaW5h
cnlFeHByQ29udGV4dCB7CkBAIC02NCw3ICs2NCw3IEBAIHB1YmxpYzoKICAgICBwcml2YXRlOgog
ICAgICAgICBTeW50YXhDaGVja2VyKiBtX2NvbnRleHQ7CiAgICAgfTsKLSAgICAKKwogICAgIFN5
bnRheENoZWNrZXIoVk0qICwgdm9pZCopCiAgICAgewogICAgIH0KQEAgLTE3MCw2ICsxNzAsMTAg
QEAgcHVibGljOgogI2VuZGlmCiAgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlRnVuY3Rpb25FeHBy
KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50YXhD
aGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQogICAgIGludCBjcmVhdGVGdW5jdGlv
bkJvZHkoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgaW50
LCBpbnQsIGJvb2wsIGludCwgaW50LCBpbnQsIENvbnN0cnVjdG9yS2luZCkgeyByZXR1cm4gRnVu
Y3Rpb25Cb2R5UmVzdWx0OyB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihjb25zdCBKU1Rva2Vu
TG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJl
dHVybiBGdW5jdGlvbkV4cHI7IH0KKyNlbmRpZiAKKyAgICB2b2lkIHNldEZ1bmN0aW9uTmFtZVN0
YXJ0KGludCwgaW50KSB7IH0KICAgICBpbnQgY3JlYXRlQXJndW1lbnRzKCkgeyByZXR1cm4gQXJn
dW1lbnRzUmVzdWx0OyB9CiAgICAgaW50IGNyZWF0ZUFyZ3VtZW50cyhpbnQpIHsgcmV0dXJuIEFy
Z3VtZW50c1Jlc3VsdDsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZVNwcmVhZEV4cHJlc3Np
b24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvblR5cGUsIGludCwgaW50LCBpbnQp
IHsgcmV0dXJuIFNwcmVhZEV4cHI7IH0KQEAgLTI1Niw3ICsyNjAsNyBAQCBwdWJsaWM6CiAgICAg
ICAgICAgICBtX3RvcEJpbmFyeUV4cHIgPSBCaW5hcnlFeHByOwogICAgICAgICBvcGVyYW5kU3Rh
Y2tEZXB0aCsrOwogICAgIH0KLSAgICAKKwogICAgIC8vIExvZ2ljIHRvIGhhbmRsZSBkYXRhc3Ry
dWN0dXJlcyB1c2VkIGR1cmluZyBwYXJzaW5nIG9mIGJpbmFyeSBleHByZXNzaW9ucwogICAgIHZv
aWQgb3BlcmF0b3JTdGFja1BvcChpbnQmIG9wZXJhdG9yU3RhY2tEZXB0aCkgeyBvcGVyYXRvclN0
YWNrRGVwdGgtLTsgfQogICAgIGJvb2wgb3BlcmF0b3JTdGFja0hhc0hpZ2hlclByZWNlZGVuY2Uo
aW50JiwgaW50KSB7IHJldHVybiB0cnVlOyB9CkBAIC0yNjUsMTIgKzI2OSwxMiBAQCBwdWJsaWM6
CiAgICAgdm9pZCBhcHBlbmRCaW5hcnlPcGVyYXRpb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwg
aW50JiBvcGVyYW5kU3RhY2tEZXB0aCwgaW50JiwgQmluYXJ5T3BlcmFuZCwgQmluYXJ5T3BlcmFu
ZCkgeyBvcGVyYW5kU3RhY2tEZXB0aCsrOyB9CiAgICAgdm9pZCBvcGVyYXRvclN0YWNrQXBwZW5k
KGludCYgb3BlcmF0b3JTdGFja0RlcHRoLCBpbnQsIGludCkgeyBvcGVyYXRvclN0YWNrRGVwdGgr
KzsgfQogICAgIGludCBwb3BPcGVyYW5kU3RhY2soaW50JikgeyBpbnQgcmVzID0gbV90b3BCaW5h
cnlFeHByOyBtX3RvcEJpbmFyeUV4cHIgPSAwOyByZXR1cm4gcmVzOyB9Ci0gICAgCisKICAgICB2
b2lkIGFwcGVuZFVuYXJ5VG9rZW4oaW50JiBzdGFja0RlcHRoLCBpbnQgdG9rLCBpbnQpIHsgc3Rh
Y2tEZXB0aCA9IDE7IG1fdG9wVW5hcnlUb2tlbiA9IHRvazsgfQogICAgIGludCB1bmFyeVRva2Vu
U3RhY2tMYXN0VHlwZShpbnQmKSB7IHJldHVybiBtX3RvcFVuYXJ5VG9rZW47IH0KICAgICBKU1Rl
eHRQb3NpdGlvbiB1bmFyeVRva2VuU3RhY2tMYXN0U3RhcnQoaW50JikgeyByZXR1cm4gSlNUZXh0
UG9zaXRpb24oMCwgMCwgMCk7IH0KICAgICB2b2lkIHVuYXJ5VG9rZW5TdGFja1JlbW92ZUxhc3Qo
aW50JiBzdGFja0RlcHRoKSB7IHN0YWNrRGVwdGggPSAwOyB9Ci0gICAgCisKICAgICB2b2lkIGFz
c2lnbm1lbnRTdGFja0FwcGVuZChpbnQsIGludCwgaW50LCBpbnQsIGludCwgT3BlcmF0b3IpIHsg
fQogICAgIGludCBjcmVhdGVBc3NpZ25tZW50KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGludCwg
aW50LCBpbnQsIGludCwgaW50KSB7IFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVy
biBBc3NpZ25tZW50RXhwcjsgfQogICAgIGNvbnN0IElkZW50aWZpZXIqIGdldE5hbWUoY29uc3Qg
UHJvcGVydHkmIHByb3BlcnR5KSBjb25zdCB7IHJldHVybiBwcm9wZXJ0eS5uYW1lOyB9CkBAIC0y
ODAsNyArMjg0LDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgcmV0dXJuIERlY29uc3RydWN0
aW5nQXNzaWdubWVudDsKICAgICB9Ci0gICAgCisKICAgICBBcnJheVBhdHRlcm4gY3JlYXRlQXJy
YXlQYXR0ZXJuKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYpCiAgICAgewogICAgICAgICByZXR1cm4g
QXJyYXlEZWNvbnN0cnVjdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0NvZGVDYWNoZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2Rl
Q2FjaGUuY3BwCmluZGV4IDNlNjdhMjdkMGZiYmZmMWFhM2RhNDJjODYyNGEwNjIyMjdlZDE4NWMu
Ljg1MTVjYmJlYTJkNjk5Nzc2YjNmOGZlZmI0YzNjM2NjOWVmYjFiY2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvZGVDYWNoZS5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29kZUNhY2hlLmNwcApAQCAtOTMsNyArOTMsNyBAQCBVbmxp
bmtlZENvZGVCbG9ja1R5cGUqIENvZGVDYWNoZTo6Z2V0R2xvYmFsQ29kZUJsb2NrKFZNJiB2bSwg
RXhlY3V0YWJsZVR5cGUqIGV4ZQogCiAgICAgdHlwZWRlZiB0eXBlbmFtZSBDYWNoZVR5cGVzPFVu
bGlua2VkQ29kZUJsb2NrVHlwZT46OlJvb3ROb2RlIFJvb3ROb2RlOwogICAgIHN0ZDo6dW5pcXVl
X3B0cjxSb290Tm9kZT4gcm9vdE5vZGUgPSBwYXJzZTxSb290Tm9kZT4oCi0gICAgICAgICZ2bSwg
c291cmNlLCAwLCBJZGVudGlmaWVyKCksIGJ1aWx0aW5Nb2RlLCBzdHJpY3RNb2RlLCAKKyAgICAg
ICAgJnZtLCBzb3VyY2UsIDAsIElkZW50aWZpZXIoKSwgYnVpbHRpbk1vZGUsIHN0cmljdE1vZGUs
CiAgICAgICAgIEpTUGFyc2VyQ29kZVR5cGU6OlByb2dyYW0sIGVycm9yKTsKICAgICBpZiAoIXJv
b3ROb2RlKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTEzNCw4ICsxMzQsOCBAQCBVbmxp
bmtlZEV2YWxDb2RlQmxvY2sqIENvZGVDYWNoZTo6Z2V0RXZhbENvZGVCbG9jayhWTSYgdm0sIEV2
YWxFeGVjdXRhYmxlKiBleGVjdQogVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUqIENvZGVDYWNo
ZTo6Z2V0RnVuY3Rpb25FeGVjdXRhYmxlRnJvbUdsb2JhbENvZGUoVk0mIHZtLCBjb25zdCBJZGVu
dGlmaWVyJiBuYW1lLCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIFBhcnNlckVycm9yJiBlcnJv
cikKIHsKICAgICBTb3VyY2VDb2RlS2V5IGtleSA9IFNvdXJjZUNvZGVLZXkoCi0gICAgICAgIHNv
dXJjZSwgbmFtZS5zdHJpbmcoKSwgU291cmNlQ29kZUtleTo6RnVuY3Rpb25UeXBlLCAKLSAgICAg
ICAgSlNQYXJzZXJCdWlsdGluTW9kZTo6Tm90QnVpbHRpbiwgCisgICAgICAgIHNvdXJjZSwgbmFt
ZS5zdHJpbmcoKSwgU291cmNlQ29kZUtleTo6RnVuY3Rpb25UeXBlLAorICAgICAgICBKU1BhcnNl
ckJ1aWx0aW5Nb2RlOjpOb3RCdWlsdGluLAogICAgICAgICBKU1BhcnNlclN0cmljdE1vZGU6Ok5v
dFN0cmljdCk7CiAgICAgU291cmNlQ29kZVZhbHVlKiBjYWNoZSA9IG1fc291cmNlQ29kZS5maW5k
Q2FjaGVBbmRVcGRhdGVBZ2Uoa2V5KTsKICAgICBpZiAoY2FjaGUpCkBAIC0xNDMsOCArMTQzLDgg
QEAgVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUqIENvZGVDYWNoZTo6Z2V0RnVuY3Rpb25FeGVj
dXRhYmxlRnJvbUdsb2JhbENvZGUoVk0mIHYKIAogICAgIEpTVGV4dFBvc2l0aW9uIHBvc2l0aW9u
QmVmb3JlTGFzdE5ld2xpbmU7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFByb2dyYW1Ob2RlPiBwcm9n
cmFtID0gcGFyc2U8UHJvZ3JhbU5vZGU+KAotICAgICAgICAmdm0sIHNvdXJjZSwgMCwgSWRlbnRp
ZmllcigpLCBKU1BhcnNlckJ1aWx0aW5Nb2RlOjpOb3RCdWlsdGluLCAKLSAgICAgICAgSlNQYXJz
ZXJTdHJpY3RNb2RlOjpOb3RTdHJpY3QsIEpTUGFyc2VyQ29kZVR5cGU6OlByb2dyYW0sIAorICAg
ICAgICAmdm0sIHNvdXJjZSwgMCwgSWRlbnRpZmllcigpLCBKU1BhcnNlckJ1aWx0aW5Nb2RlOjpO
b3RCdWlsdGluLAorICAgICAgICBKU1BhcnNlclN0cmljdE1vZGU6Ok5vdFN0cmljdCwgSlNQYXJz
ZXJDb2RlVHlwZTo6UHJvZ3JhbSwKICAgICAgICAgZXJyb3IsICZwb3NpdGlvbkJlZm9yZUxhc3RO
ZXdsaW5lKTsKICAgICBpZiAoIXByb2dyYW0pIHsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoZXJy
b3IuaXNWYWxpZCgpKTsKQEAgLTE2MCwxNSArMTYwLDIwIEBAIFVubGlua2VkRnVuY3Rpb25FeGVj
dXRhYmxlKiBDb2RlQ2FjaGU6OmdldEZ1bmN0aW9uRXhlY3V0YWJsZUZyb21HbG9iYWxDb2RlKFZN
JiB2CiAKICAgICBTdGF0ZW1lbnROb2RlKiBmdW5jRGVjbCA9IHN0YXRpY19jYXN0PEJsb2NrTm9k
ZSo+KHN0YXRlbWVudCktPnNpbmdsZVN0YXRlbWVudCgpOwogICAgIEFTU0VSVChmdW5jRGVjbCk7
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBBU1NFUlQoZnVuY0Rl
Y2wtPmlzRnVuY0RlY2xOb2RlKCkgLyp8fCBmdW5jRGVjbC0+aXNBcnJvd0Z1bmNFeHByTm9kZSgp
Ki8pOworICAgIGlmICghZnVuY0RlY2wgfHwgKCFmdW5jRGVjbC0+aXNGdW5jRGVjbE5vZGUoKSAv
KiYmICFmdW5jRGVjbC0+aXNBcnJvd0Z1bmNFeHByTm9kZSgpKi8pKQorICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKyNlbHNlCiAgICAgQVNTRVJUKGZ1bmNEZWNsLT5pc0Z1bmNEZWNsTm9kZSgpKTsK
ICAgICBpZiAoIWZ1bmNEZWNsIHx8ICFmdW5jRGVjbC0+aXNGdW5jRGVjbE5vZGUoKSkKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7Ci0KKyNlbmRpZgogICAgIEZ1bmN0aW9uQm9keU5vZGUqIGJvZHkg
PSBzdGF0aWNfY2FzdDxGdW5jRGVjbE5vZGUqPihmdW5jRGVjbCktPmJvZHkoKTsKICAgICBBU1NF
UlQoYm9keSk7CiAgICAgaWYgKCFib2R5KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAK
KwogICAgIGJvZHktPnNldEVuZFBvc2l0aW9uKHBvc2l0aW9uQmVmb3JlTGFzdE5ld2xpbmUpOwog
ICAgIFVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlvbkV4ZWN1dGFibGUgPSBVbmxp
bmtlZEZ1bmN0aW9uRXhlY3V0YWJsZTo6Y3JlYXRlKCZ2bSwgc291cmNlLCBib2R5LCBVbmxpbmtl
ZE5vcm1hbEZ1bmN0aW9uKTsKICAgICBmdW5jdGlvbkV4ZWN1dGFibGUtPm1fbmFtZVZhbHVlLnNl
dCh2bSwgZnVuY3Rpb25FeGVjdXRhYmxlLCBqc1N0cmluZygmdm0sIG5hbWUuc3RyaW5nKCkpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlv
bi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmFkMDVkZDJiZGY4NjFlYTI4MjA0YzA1N2I1NGJhYTNmNDkxZWIxMDEKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVu
Y3Rpb24uY3BwCkBAIC0wLDAgKzEsNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSlNBcnJvd0Z1
bmN0aW9uLmgiCisKKyNpbmNsdWRlICJFcnJvci5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbkhlbHBl
cnMuaCIKKyNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCisjaW5jbHVkZSAiSlNDSlNWYWx1ZS5oIgor
I2luY2x1ZGUgIkpTRnVuY3Rpb25JbmxpbmVzLmgiCisjaW5jbHVkZSAiSlNPYmplY3QuaCIKKyNp
bmNsdWRlICJQcm9wZXJ0eVNsb3QuaCIKKyNpbmNsdWRlICJWTS5oIgorCituYW1lc3BhY2UgSlND
IHsKKyAgICAKK2NvbnN0IENsYXNzSW5mbyBKU0Fycm93RnVuY3Rpb246OnNfaW5mbyA9IHsgIkFy
cm93RnVuY3Rpb24iLCAmQmFzZTo6c19pbmZvLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTQXJy
b3dGdW5jdGlvbikgfTsKKwordm9pZCBKU0Fycm93RnVuY3Rpb246OmRlc3Ryb3koSlNDZWxsKiBj
ZWxsKQoreworICAgIHN0YXRpY19jYXN0PEpTQXJyb3dGdW5jdGlvbio+KGNlbGwpLT5KU0Fycm93
RnVuY3Rpb246On5KU0Fycm93RnVuY3Rpb24oKTsKK30KKworSlNBcnJvd0Z1bmN0aW9uOjpKU0Fy
cm93RnVuY3Rpb24oVk0mIHZtLCBKU1Njb3BlKiBzY29wZSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBl
eGVjdXRhYmxlLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICA6IEJhc2Uodm0sIGV4ZWN1dGFi
bGUsIHNjb3BlLCBzdHJ1Y3R1cmUpCit7Cit9CisgICAgCit2b2lkIEpTQXJyb3dGdW5jdGlvbjo6
ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsK
Ky8vIFByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiBpcyB1bmRlZmluZWQKKyAgICBwdXREaXJl
Y3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwganNVbmRlZmluZWQoKSwgRG9udERl
bGV0ZSB8IFJlYWRPbmx5IHwgRG9udEVudW0pOworfQorICAgIAordm9pZCBKU0Fycm93RnVuY3Rp
b246OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKK3sK
KyAgICBKU0Fycm93RnVuY3Rpb24qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNBcnJvd0Z1bmN0aW9u
Kj4oY2VsbCk7CisgICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyh0aGlzT2JqZWN0LCBpbmZv
KCkpOworICAgIEJhc2U6OnZpc2l0Q2hpbGRyZW4odGhpc09iamVjdCwgdmlzaXRvcik7Cit9Cisg
ICAgCitDb25zdHJ1Y3RUeXBlIEpTQXJyb3dGdW5jdGlvbjo6Z2V0Q29uc3RydWN0RGF0YShKU0Nl
bGwqIGNlbGwsIENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCit7CisgICAgSlNGdW5jdGlv
biogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY2VsbCk7CisgICAgICAgIAorICAg
IGNvbnN0cnVjdERhdGEuanMuZnVuY3Rpb25FeGVjdXRhYmxlID0gdGhpc09iamVjdC0+anNFeGVj
dXRhYmxlKCk7CisgICAgY29uc3RydWN0RGF0YS5qcy5zY29wZSA9IHRoaXNPYmplY3QtPnNjb3Bl
KCk7CisgICAgcmV0dXJuIENvbnN0cnVjdFR5cGVOb25lOworfQorfSAvLyBuYW1lc3BhY2UgSlND
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rp
b24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjdlNTg1ZWQxZWNkMTIyYzRkM2I5Y2RmMjE0MTY3MTc2MTEzN2ZlYjYKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rp
b24uaApAQCAtMCwwICsxLDcwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2lmbmRlZiBKU0Fycm93RnVuY3Rpb25faAorI2RlZmluZSBKU0Fycm93RnVu
Y3Rpb25faAorCisjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorCituYW1lc3BhY2UgSlNDIHsKKwor
Y2xhc3MgSlNBcnJvd0Z1bmN0aW9uIDogcHVibGljIEpTRnVuY3Rpb24geworcHVibGljOgorICAg
IHR5cGVkZWYgSlNGdW5jdGlvbiBCYXNlOworICAgICAgICAKKyAgICBzdGF0aWMgSlNBcnJvd0Z1
bmN0aW9uKiBjcmVhdGUoVk0mIHZtLCBKU1Njb3BlKiBzY29wZSwgRnVuY3Rpb25FeGVjdXRhYmxl
KiBleGVjdXRhYmxlLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQorICAgIHsKKyAgICAg
ICAgSlNBcnJvd0Z1bmN0aW9uKiBmdW5jdGlvbiA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxs
PEpTQXJyb3dGdW5jdGlvbj4odm0uaGVhcCkpIEpTQXJyb3dGdW5jdGlvbih2bSwgc2NvcGUsIGV4
ZWN1dGFibGUsIGdsb2JhbE9iamVjdC0+YXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpKTsKKyAgICAg
ICAgQVNTRVJUKGZ1bmN0aW9uLT5zdHJ1Y3R1cmUoKS0+Z2xvYmFsT2JqZWN0KCkpOworICAgICAg
ICBmdW5jdGlvbi0+ZmluaXNoQ3JlYXRpb24odm0pOworICAgICAgICByZXR1cm4gZnVuY3Rpb247
CisgICAgfQorICAgIAorICAgIHN0YXRpYyB2b2lkIGRlc3Ryb3koSlNDZWxsKik7CisgICAgICAg
IAorICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgcHJvdG90eXBlKQorICAgIHsKKyAgICAgICAg
QVNTRVJUKGdsb2JhbE9iamVjdCk7CisgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2
bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKEpTRnVuY3Rpb25UeXBlLCBTdHJ1
Y3R1cmVGbGFncyksIGluZm8oKSk7CisgICAgfQorICAgICAgICAKKyAgICBzdGF0aWMgQ29uc3Ry
dWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmKTsKKyAgICAg
ICAgCisgICAgREVDTEFSRV9JTkZPOworCitwcm90ZWN0ZWQ6CisgICAgY29uc3Qgc3RhdGljIHVu
c2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzSGFzSW5zdGFuY2UgfCBCYXNlOjpTdHJ1
Y3R1cmVGbGFnczsKKyAgICAgICAgCisgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0Nl
bGwqLCBTbG90VmlzaXRvciYpOworICAgICAgICAKK3ByaXZhdGU6CisgICAgSlNBcnJvd0Z1bmN0
aW9uKFZNJiwgSlNTY29wZSosIEZ1bmN0aW9uRXhlY3V0YWJsZSosIFN0cnVjdHVyZSopOworCisg
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOworfTsKKyAgICAKK30gLy8gbmFtZXNwYWNlIEpT
QworCisjZW5kaWYgLy8gSlNBcnJvd0Z1bmN0aW9uX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTRnVuY3Rpb24uaAppbmRleCBiZTBiZGM3ODQyZjk3MzNjNzZiMDY0NDNiZGEzNjYx
NDE4ZWE1OTk3Li42MDYwYmU3YmYzNTliMDAxNWYzMzJiNzA3MDczM2M0NjU2MzcwODY0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCkBAIC0xMzEsNiArMTMx
LDkgQEAgcHJvdGVjdGVkOgogCiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNGdW5jdGlvbihWTSYs
IEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKik7CiAgICAgSlNGdW5jdGlvbihWTSYsIEZ1bmN0
aW9uRXhlY3V0YWJsZSosIEpTU2NvcGUqKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgIEpTRnVuY3Rpb24oVk0mLCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBKU1Njb3Bl
KiwgU3RydWN0dXJlKik7CisjZW5kaWYKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBO
YXRpdmVFeGVjdXRhYmxlKiwgaW50IGxlbmd0aCwgY29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICB1
c2luZyBCYXNlOjpmaW5pc2hDcmVhdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oCmluZGV4IGE1ZGU5MTdjMTdlNDg0ZGNhYTY1NTA1
YWY3MTE3ODc1NDI5NWUyNGYuLjdkYjgwNDA2ZTcxZGIyYjdiYjYzNTQ1ODIzNTZiNWUxZjVjODJi
NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25J
bmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklu
bGluZXMuaApAQCAtMzgsNiArMzgsMTUgQEAgaW5saW5lIEpTRnVuY3Rpb246OkpTRnVuY3Rpb24o
Vk0mIHZtLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpTU2NvcGUqIHMKIHsKIH0K
IAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitpbmxpbmUgSlNGdW5jdGlv
bjo6SlNGdW5jdGlvbihWTSYgdm0sIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgSlNT
Y29wZSogc2NvcGUsIFN0cnVjdHVyZSogc3RydWN0dXJlKQorICAgIDogQmFzZSh2bSwgc2NvcGUs
IHN0cnVjdHVyZSkKKyAgICAsIG1fZXhlY3V0YWJsZSh2bSwgdGhpcywgZXhlY3V0YWJsZSkKKyAg
ICAsIG1fYWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50KENsZWFyV2F0Y2hwb2ludCkKK3sKK30K
KyNlbmRpZgorICAgIAogaW5saW5lIEZ1bmN0aW9uRXhlY3V0YWJsZSogSlNGdW5jdGlvbjo6anNF
eGVjdXRhYmxlKCkgY29uc3QKIHsKICAgICBBU1NFUlQoIWlzSG9zdEZ1bmN0aW9uTm9uSW5saW5l
KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxP
YmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3Qu
Y3BwCmluZGV4IGE1ZWFhZmIxYmU3Y2NkZmIyZGZiZjE4Y2FhMzJjZGUyMjgyNGEwZjQuLjNjMzQx
YTlkYTljOThmNzFjNTkwOTRlNDljOTZkY2VjMGUyY2IxMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKQEAgLTYyLDYgKzYyLDkgQEAK
ICNpbmNsdWRlICJKU0FycmF5QnVmZmVyUHJvdG90eXBlLmgiCiAjaW5jbHVkZSAiSlNBcnJheUl0
ZXJhdG9yLmgiCiAjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNlbmRp
ZgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0NhbGxiYWNrQ29uc3RydWN0
b3IuaCIKICNpbmNsdWRlICJKU0NhbGxiYWNrRnVuY3Rpb24uaCIKQEAgLTIzMyw2ICsyMzYsOSBA
QCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2bSkKICAgICBleGVjLT5zZXRDYWxsZWUo
bV9nbG9iYWxDYWxsZWUuZ2V0KCkpOwogCiAgICAgbV9mdW5jdGlvblN0cnVjdHVyZS5zZXQodm0s
IHRoaXMsIEpTRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblBy
b3RvdHlwZS5nZXQoKSkpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgbV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlLnNldCh2bSwgdGhpcywgSlNBcnJvd0Z1bmN0aW9u
OjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsK
KyNlbmRpZgogICAgIG1fYm91bmRGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpTQm91
bmRGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBl
LmdldCgpKSk7CiAgICAgbV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlLnNldCh2bSwgdGhpcywgU3Ry
dWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb24odm0sIG1fZnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0
KCksIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIERvbnREZWxldGUgfCBSZWFkT25seSB8IERvbnRF
bnVtLCBtX2Z1bmN0aW9uTmFtZU9mZnNldCkpOwogICAgIG1faW50ZXJuYWxGdW5jdGlvblN0cnVj
dHVyZS5zZXQodm0sIHRoaXMsIEludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwg
dGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOwpAQCAtNzI1LDYgKzczMSw5IEBAIHZv
aWQgSlNHbG9iYWxPYmplY3Q6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRv
ciYgdmlzaXRvcikKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9jYWxsZWVTdHJ1
Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2Z1bmN0aW9uU3RydWN0
dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9ib3VuZEZ1bmN0aW9uU3Ry
dWN0dXJlKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHZpc2l0
b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2Fycm93RnVuY3Rpb25TdHJ1Y3R1cmUpOworI2VuZGlm
CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fbmFtZWRGdW5jdGlvblN0cnVjdHVy
ZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fc3ltYm9sT2JqZWN0U3RydWN0
dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9yZWdFeHBNYXRjaGVzQXJy
YXlTdHJ1Y3R1cmUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNHbG9iYWxPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
T2JqZWN0LmgKaW5kZXggNWYwOGZlNDhhOGZhY2Y1NTdhZWZkMTVmYzYwMzU3MWRjMDBkMmE0OC4u
MjJkYzkzYWY0MGI1YTg3ODI1MzA5ZTdiODMwYmQ3YTM2ZDgyZmM4ZCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC0yMjQsNiArMjI0LDkg
QEAgcHJvdGVjdGVkOgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fY2FsbGVlU3RydWN0
dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fZnVuY3Rpb25TdHJ1Y3R1cmU7CiAg
ICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlOworI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgV3JpdGVCYXJyaWVyPFN0cnVj
dHVyZT4gbV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlOworI2VuZGlmCiAgICAgV3JpdGVCYXJyaWVy
PFN0cnVjdHVyZT4gbV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlOwogICAgIFByb3BlcnR5T2Zmc2V0
IG1fZnVuY3Rpb25OYW1lT2Zmc2V0OwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fcHJp
dmF0ZU5hbWVTdHJ1Y3R1cmU7CkBAIC00NTUsNiArNDU4LDkgQEAgcHVibGljOgogICAgIFN0cnVj
dHVyZSogY2FsbGVlU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9jYWxsZWVTdHJ1Y3R1cmUu
Z2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUqIGZ1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1
cm4gbV9mdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQogICAgIFN0cnVjdHVyZSogYm91bmRGdW5j
dGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fYm91bmRGdW5jdGlvblN0cnVjdHVyZS5n
ZXQoKTsgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgU3RydWN0
dXJlKiBhcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9hcnJvd0Z1bmN0
aW9uU3RydWN0dXJlLmdldCgpOyB9CisjZW5kaWYKICAgICBTdHJ1Y3R1cmUqIG5hbWVkRnVuY3Rp
b25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0
KCk7IH0KICAgICBQcm9wZXJ0eU9mZnNldCBmdW5jdGlvbk5hbWVPZmZzZXQoKSBjb25zdCB7IHJl
dHVybiBtX2Z1bmN0aW9uTmFtZU9mZnNldDsgfQogICAgIFN0cnVjdHVyZSogbnVtYmVyT2JqZWN0
U3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9udW1iZXJPYmplY3RTdHJ1Y3R1cmUuZ2V0KCk7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5j
dGlvbi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iNjFmOTRlNTc1YmQwMDY0ZTJhNTBkNzIwM2I2ODg0ODdiNWQ0
YjkyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9hcnJvd2Z1bmN0aW9uLmpzCkBAIC0wLDAgKzEsMTUwIEBACit2YXIgcmVzdWx0OworCisgdmFy
IHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYg
KGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQg
JyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9Owor
Cit2YXIgYXJyb3dGdW5jdGlvbjAgPSB2ID0+IHYgKyAxOworcmVzdWx0ID0gYXJyb3dGdW5jdGlv
bjAoMTApOwordGVzdENhc2UocmVzdWx0LCAxMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiB2ID0+IHYgKyAxIik7CisKK3ZhciBhcnJvd0Z1bmN0
aW9uMSA9ICh2KSA9PiB2ICogMjsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24xKDEwKTsKK3Rlc3RD
YXNlKHJlc3VsdCwgMjAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbjogKHYpID0+IHYgKyAxIik7CisKK3ZhciBhcnJvd0Z1bmN0aW9uMiA9ICgpID0+
IDEwMDA7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMigxMjEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwg
MTAwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9u
OiAoKSA9PiAxMDAwIik7CisKK3ZhciB0bXBWYXJpYWx2ZTJfMSA9IDE1MTsKK3ZhciBhcnJvd0Z1
bmN0aW9uMl8xID0gKCkgPT4gdG1wVmFyaWFsdmUyXzE7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9u
Ml8xKDEyMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIHRtcFZhcmlhbHZlMl8xICwiRXJyb3I6IE5vdCBj
b3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICgpID0+IHZhcmlhYmxlIik7
CisKK3ZhciBhcnJvd0Z1bmN0aW9uMyA9ICh2LCB4KSA9PiB2ICsgeDsKK3Jlc3VsdCA9IGFycm93
RnVuY3Rpb24zKDExLDEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjMgLCJFcnJvcjogTm90IGNvcnJl
Y3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKHgsIHkpID0+IHggKyB5Iik7CisK
K3ZhciBhcnJvd0Z1bmN0aW9uV3JhcHBlciA9IGZ1bmN0aW9uIChjbCwgcGFyYW10ZXIpIHsgcmV0
dXJuIGNsKHBhcmFtdGVyKTsgfTsKKworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9
PiAxMjM0KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIzNCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVj
dXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYykiKTsKKwor
IHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4gMTIzNCwgMjM0NSk7Cit0ZXN0Q2Fz
ZShyZXN1bHQsIDEyMzQgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMsIHkpIik7CisKKyByZXN1bHQgPSBhcnJv
d0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEyMSArIDIzMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDM1MyAs
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBh
cmFtdGVyOiBmKHggPT4gYzEgKyBjMikiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFw
cGVyKHggPT4gMTIzICsgMzIxLCA5OTk5KTsKK3Rlc3RDYXNlKHJlc3VsdCwgNDQ0ICwiRXJyb3I6
IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6
IGYoeCA9PiBjMSArIGMyLCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIo
eCA9PiB4ICsgMTIsIDIxKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzMgLCJFcnJvcjogTm90IGNvcnJl
Y3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IHgg
KyBjMSwgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCh4KSA9PiB4ICsg
MjEsIDMyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgNTMsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoeCkgPT4gYzEgKyBjMiwg
eSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCk7Cit0ZXN0
Q2FzZShyZXN1bHQsIDEwMCwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFy
cm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMpIik7CisKKyB2YXIgZXh0X3ZhbHVl
ID0gMTIxOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gZXh0X3ZhbHVlKTsK
K3Rlc3RDYXNlKHJlc3VsdCwgMTIxLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0
aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gdikiKTsKKworIHJlc3VsdCA9
IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IGV4dF92YWx1ZSAqIDEwKTsKK3Rlc3RDYXNlKHJl
c3VsdCwgMTIxMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1
bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IHYqeCkiKTsKKworIHJlc3VsdCA9IGFycm93RnVu
Y3Rpb25XcmFwcGVyKCh4KSA9PiBleHRfdmFsdWUgKiB4LCAzMCk7Cit0ZXN0Q2FzZShyZXN1bHQs
IDMwKmV4dF92YWx1ZSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCh4KSA9PiB2KngsIHkpIik7CisKKyByZXN1bHQgPSBh
cnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiAxMDAsIDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAw
ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMg
cGFyYW10ZXI6IGYoKCkgPT4gYzEsIHkpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3Jh
cHBlcigoKSA9PiAxMDAgKyAxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDExMCAsIkVycm9yOiBOb3Qg
Y29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgp
ID0+IGMxICsgYzIpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiAx
MDAgKyAxMSwgMTIpOwordGVzdENhc2UocmVzdWx0LCAxMTEgLCJFcnJvcjogTm90IGNvcnJlY3Qg
ZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjMSAr
IGMyLCB5KSIpOworCisgdmFyIGFycm93RnVuY3Rpb240ID0gdiA9PiB2ICsgMSwgeHl6MSA9IDEw
MTAxOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjQoMTAxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEw
MTIgLCJFcnJvcjogTm90IGNvcnJlY3QgcGFyc2luZyBvZiB0aCBhcnJvdyBmdW5jdGlvbiBpbnNp
ZGUgb2YgdGhlIGxpc3Qgb2YgdmFyczogdmFyIGFmID0gdj0+IHYgKyAxOyB6eGM9YzsiKTsKK3Rl
c3RDYXNlKHh5ejEsIDEwMTAxICwiRXJyb3I6IE5vdCBjb3JyZWN0IHBhcnNpbmcgb2YgdGggYXJy
b3cgZnVuY3Rpb24gaW5zaWRlIG9mIHRoZSBsaXN0IG9mIHZhcnM6IHZhciBhZiA9IHY9PiB2ICsg
MTsgenhjPWM7Iik7CisKKyB2YXIgYXJyb3dGdW5jdGlvbldyYXBwZXIyID0gZnVuY3Rpb24gKGNs
LCBwYXJhbXRlcjEsIHBhcmFtdGVyMikgeyByZXR1cm4gY2wocGFyYW10ZXIxLCBwYXJhbXRlcjIp
OyB9OworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIyKCh4LCB5KSA9PiB4ICsgeSwgMTIg
LDQzKTsKK3Rlc3RDYXNlKHJlc3VsdCwgNTUgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbWV0ZXI6IGYoKHgsIHkpID0+IHggKyB5LCBj
MSwgYzIpIik7CisKKyB2YXIgYXJyb3dGdW5jdGlvQXJyYXkwID0gW3YgPT4gdiAqIDEwXTsKK3Jl
c3VsdCA9IGFycm93RnVuY3Rpb0FycmF5MFswXSgxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMCAs
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0
ZW0gaW4gYXJyYXk6IFt2PT52KjEwXSIpOworCisgdmFyIGFycm93RnVuY3Rpb0FycmF5MSA9IFt2
ID0+IHYgKyAxLCB2ID0+IHYgKyAyXTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5MVswXSgx
MCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogW3YgPT4gdiArIDEsICB2ID0+
IHYgKyAyXSIpOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkxWzFdKDExKTsKK3Rlc3RDYXNl
KHJlc3VsdCwgMTMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbdiA9PiB2ICsgMSwgIHYgPT4gdiArIDJdIik7CisK
KyB2YXIgYXJyb3dGdW5jdGlvQXJyYXkyID0gWyh2KSA9PiB2ICsgMSwgKHYpID0+IHYgKyAyXTsK
K3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5MlswXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEy
ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMg
aXRlbSBpbiBhcnJheTogWyh2KSA9PiB2ICsgMSwgICh2KSA9PiB2ICsgMl0iKTsKK3Jlc3VsdCA9
IGFycm93RnVuY3Rpb0FycmF5MlsxXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEzICwiRXJyb3I6
IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBh
cnJheTogWyh2KSA9PiB2ICsgMSwgICh2KSA9PiB2ICsgMl0iKTsKKworIHZhciBhcnJvd0Z1bmN0
aW9BcnJheTMgPSBbKCkgPT4gMTAxLCAoKSA9PiAxMjMyM107CityZXN1bHQgPSBhcnJvd0Z1bmN0
aW9BcnJheTNbMF0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDEsICJFcnJvcjogTm90IGNvcnJl
Y3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKCkg
PT4gYzEsICAoKSA9PiBjMl0iKTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5M1sxXSgxMSk7
Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMzIzLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogWygpID0+IGMxLCAgKCkgPT4g
YzJdIik7CisKKyB2YXIgYXJyb3dGdW5jdGlvbk9iaiA9IHtmdW5jIDogeSA9PiB5ICsgMTIgfTsK
K3Jlc3VsdCA9IGFycm93RnVuY3Rpb25PYmouZnVuYygxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIz
ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMg
cHJvcGVydHk6IHtmdW5jIDogeSA9PiB5ICsgMTIgfSIpOworCisgdmFyIGFycm93RmF0RnVuY3Rp
b24wID0gKCkgPT4geyByZXR1cm4gMTAwMDsgfTsKK3Jlc3VsdCA9IGFycm93RmF0RnVuY3Rpb24w
KDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogKCkgPT4geyByZXR1
cm4gMTAwMDsgfSIpOworCit2YXIgYXJyb3dGYXRGdW5jdGlvbjEgPSB2ID0+IHsgdmFyIGludHZh
bCA9IDEwMDsgcmV0dXJuIHYgKiBpbnR2YWw7IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0aW9u
MSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDExMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6IHggPT4geyB2YXIg
dj0xMDAwOyByZXR1cm4gdip4OyB9Iik7CisKK3ZhciBhcnJvd0ZhdEZ1bmN0aW9uMiA9ICh2KSA9
PiB7IHZhciBpbnQgPSAyMDA7IHJldHVybiB2ICogaW50OyB9OworcmVzdWx0ID0gYXJyb3dGYXRG
dW5jdGlvbjIoMTEpOwordGVzdENhc2UocmVzdWx0LCAyMjAwICwiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiAoeCkg
PT4geyB2YXIgdj0xMDAwOyByZXR1cm4gdip4OyB9Iik7CisKK3ZhciBhcnJvd0ZhdEZ1bmN0aW9u
MyA9ICh2LCB4KSA9PiB7IHZhciByZXN1bHQgPSB4ICogdjsgcmV0dXJuIHJlc3VsdDsgfTsKK3Jl
c3VsdCA9IGFycm93RmF0RnVuY3Rpb24zKDExLCAxMjIyMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDEz
NDQ0MiAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9u
IHdpdGggYm9keSBhcyBibG9jazogKHYsIHgpID0+IHsgdmFyIHJlc3VsdCA9IHggKiB2OyByZXR1
cm4gcmVzdWx0OyB9Iik7CisKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHg9PntyZXR1
cm4geCAqIDI1O30sIDEyMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDI1KjEyMSAsIkVycm9yOiBOb3Qg
Y29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9j
azogZih4ID0+IHtyZXR1cm4geCAqIDI1O30sIDEyMSkiKTsKKworcmVzdWx0ID0gYXJyb3dGdW5j
dGlvbldyYXBwZXIyKCh4LCB5KT0+e3JldHVybiB4ICogeTt9LCAxNCwgMTIpOwordGVzdENhc2Uo
cmVzdWx0LCAxNCoxMiAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogZigoeCwgeSk9PntyZXR1cm4geCAqIHk7fSwg
MTQsIDEyMSkpIik7CisKK3ZhciBzaW1wbGVBcnJvd0Z1bmN0aW9uID0gKCkgPT4ge307CisKK3Rl
c3RDYXNlKHR5cGVvZiBzaW1wbGVBcnJvd0Z1bmN0aW9uLCAiZnVuY3Rpb24iLCAiRXJyb3I6IE5v
dCBjb3JyZWN0IHR5cGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKE9iamVj
dC5nZXRQcm90b3R5cGVPZihzaW1wbGVBcnJvd0Z1bmN0aW9uKSwgRnVuY3Rpb24ucHJvdG90eXBl
LCAiRXJyb3I6IE5vdCBjb3JyZWN0IGdldFByb3RvdHlwZU9mIHZhbHVlIGZvciBhcnJvdyBmdW5j
dGlvbiIpOworCit0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uIGluc3RhbmNlb2YgRnVuY3Rp
b24sIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBpbnN0YW5jZW9mIG1ldGhv
ZCBmb3IgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2Uoc2ltcGxlQXJyb3dGdW5jdGlvbi5j
b25zdHJ1Y3RvciA9PSBGdW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQg
Zm9yIGNvbnN0cnVjdG9yIG1ldGhvZCBvZiBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZSh0
eXBlb2Ygc2ltcGxlQXJyb3dGdW5jdGlvbi5wcm90b3R5cGUgPT09ICd1bmRlZmluZWQnLCB0cnVl
LCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJvdG90eXBlIG9mIGFycm93IGZ1bmN0
aW9uIik7CisKK3ZhciBlcnJvck9uQ3JlYXRlID0gZmFsc2U7CisKK3RyeSB7CisgIHZhciBmYyA9
IG5ldyBzaW1wbGVBcnJvd0Z1bmN0aW9uKCk7Cit9CitjYXRjaCAoZSkgeworICBlcnJvck9uQ3Jl
YXRlID0gdHJ1ZTsKK30KKwordGVzdENhc2UoZXJyb3JPbkNyZWF0ZSwgdHJ1ZSwgIkVycm9yOiBO
byBlcnJvciBvbiBkdXJpbmcgcnVuIG5ldyBBcnJvd0Z1bmN0aW9uIik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1Nv
dXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4
IDhiMTEyZmFlNDViOTU3ZGQyNjQxZmRiNmY0Njg5ODgwNTg5YWY4NjAuLjExNDhhNzY5NzJmMTE0
YzM4M2QzMjYyOWYxZjA5M2M2ODU1MGEwNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00NSw2ICs0NSw3IEBA
IEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNf
UFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkc7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFY
OworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dGVU5D
VElPTl9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkc7CiBFTkFCTEVfQ1NQX05FWFQgPSA7CiBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVW
RUxfMiA9IEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yOwpAQCAtMjE0LDQgKzIxNSw0IEBA
IEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRI
TUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RF
RklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NB
TlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9B
VkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVf
UEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZ
KSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkg
JChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9D
U1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsp
ICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9O
KSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAk
KEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFC
TEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VS
U09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVf
REFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RB
VEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVW
SUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFC
TEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxF
X0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVM
TFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRF
RCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9U
SFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Vf
SU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Ip
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9X
RUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAk
KEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVf
TUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9F
TEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVO
QUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VS
UkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQo
RU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlU
WV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01Q
TEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJ
QV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05B
UCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5B
QkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9D
T05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9U
RU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJ
TkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJM
RV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RF
X0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVf
V0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMp
ICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9Y
SFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJ
TlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxF
X1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNE
X1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFC
TEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5B
QkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1Bf
TkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9E
RUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19E
RVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJM
RV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NT
U19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJF
QUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hB
TkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVN
RU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1F
TlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09O
U1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVO
VFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9H
QU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5f
UEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBM
RVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9X
RUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxF
X0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVf
TElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19T
Q1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykg
JChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NV
UlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05B
VklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
REZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAk
KEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQo
RU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVf
UkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxF
X1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJM
RV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NU
UkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQo
RU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVD
VElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChF
TkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQo
RU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJf
QVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJM
RV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVH
SU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9K
SVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklU
SE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CmluZGV4IDhiMTEyZmFlNDViOTU3ZGQyNjQxZmRiNmY0Njg5ODgwNTg5YWY4NjAuLjExNDhhNzY5
NzJmMTE0YzM4M2QzMjYyOWYxZjA5M2M2ODU1MGEwNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJj
ZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00
NSw2ICs0NSw3IEBAIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVO
QUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkc7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IEVOQUJMRV9FUzZf
Q0xBU1NfU1lOVEFYOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9F
UzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBFTkFC
TEVfQ09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ1NQX05FWFQgPSA7CiBFTkFCTEVfQ1NTX0FO
SU1BVElPTlNfTEVWRUxfMiA9IEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yOwpAQCAtMjE0
LDQgKzIxNSw0IEBAIEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7CiAKIEVOQUJMRV9TQVRVUkFURURf
TEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwog
Ci1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
KSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChF
TkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVf
Q0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NM
QVNTX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhU
KSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09S
QVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklD
RV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFH
RV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NT
U19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NI
QVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykg
JChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExF
UikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQp
ICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkg
JChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJV
Q1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFf
VjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykg
JChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQ
QURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdF
X0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NF
UlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9N
T05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUsp
ICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5L
X1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQ
VCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09S
X1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdB
VE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJ
VF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5B
QkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFC
TEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFV
RVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVT
T0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NT
U19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFN
U19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9O
KSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJM
RV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJ
REVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFC
TEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJ
TykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJ
Q1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05T
KSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkg
JChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVU
SUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9
ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBU
SU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJ
T05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJM
RV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAk
KEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFC
TEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQo
RU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAk
KEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVU
SU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQp
ICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19U
RVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNU
T01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9E
RVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9N
NF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZP
TlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFE
KSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVO
QUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJ
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BP
UE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5B
QkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5B
QkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChF
TkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9S
X1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVT
UykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJ
QV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFf
U1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5B
QkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMp
ICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxF
X1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VG
RklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFN
RSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNU
T1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5E
SU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMp
ICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9T
VkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVf
TlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVY
VF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05f
TE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1Rf
QUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFD
VUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAk
KEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NL
RVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJM
RV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQo
RU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVE
X0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCmluZGV4IDhiMTEyZmFlNDViOTU3ZGQyNjQxZmRiNmY0Njg5ODgwNTg5YWY4NjAuLjEx
NDhhNzY5NzJmMTE0YzM4M2QzMjYyOWYxZjA5M2M2ODU1MGEwNTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00
NSw2ICs0NSw3IEBAIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVO
QUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkc7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IEVOQUJMRV9FUzZf
Q0xBU1NfU1lOVEFYOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9F
UzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBFTkFC
TEVfQ09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ1NQX05FWFQgPSA7CiBFTkFCTEVfQ1NTX0FO
SU1BVElPTlNfTEVWRUxfMiA9IEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yOwpAQCAtMjE0
LDQgKzIxNSw0IEBAIEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7CiAKIEVOQUJMRV9TQVRVUkFURURf
TEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwog
Ci1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
KSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChF
TkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVf
Q0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NM
QVNTX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhU
KSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09S
QVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklD
RV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFH
RV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NT
U19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NI
QVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykg
JChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExF
UikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQp
ICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkg
JChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJV
Q1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFf
VjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykg
JChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQ
QURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdF
X0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NF
UlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9N
T05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUsp
ICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5L
X1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQ
VCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09S
X1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdB
VE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJ
VF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5B
QkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFC
TEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFV
RVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVT
T0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NT
U19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFN
U19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9O
KSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJM
RV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJ
REVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFC
TEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJ
TykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJ
Q1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05T
KSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkg
JChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVU
SUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9
ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBU
SU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJ
T05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJM
RV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAk
KEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFC
TEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQo
RU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAk
KEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVU
SU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQp
ICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19U
RVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNU
T01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9E
RVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9N
NF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZP
TlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFE
KSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVO
QUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJ
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BP
UE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5B
QkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5B
QkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChF
TkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9S
X1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVT
UykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJ
QV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFf
U1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5B
QkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMp
ICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxF
X1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VG
RklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFN
RSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNU
T1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5E
SU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMp
ICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9T
VkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVf
TlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVY
VF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05f
TE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1Rf
QUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFD
VUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAk
KEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NL
RVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJM
RV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQo
RU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVE
X0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UgYi9Tb3VyY2UvY21h
a2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKaW5kZXggMzJjMjM1ZDk4YjVhNDIwZWJlMzM0ODM0Yzdi
NmE0MTgyYjIyMjIwYS4uYTY3NTM3MTQ1NjI3Y2QzOGEyNzA3OWNkNWRmZTk4NjgyYzkxZjQ2NSAx
MDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCisrKyBiL1NvdXJj
ZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQpAQCAtMjgsNiArMjgsNyBAQCBtYWNybyhXRUJL
SVRfT1BUSU9OX0JFR0lOKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DQU5WQVNf
UFJPWFkgIlRvZ2dsZSBDYW52YXNQcm94eSBzdXBwb3J0IiBPRkYpCiAgICAgV0VCS0lUX09QVElP
Tl9ERUZJTkUoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HICJUb2dnbGUgTWVzc2FnZUNoYW5uZWwg
YW5kIE1lc3NhZ2VQb3J0IHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVO
QUJMRV9FUzZfQ0xBU1NfU1lOVEFYICJUb2dnbGUgRVM2IGNsYXNzIHN5bnRheCBzdXBwb3J0IiBP
TikKKyAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYICJUb2dnbGUgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheCBzdXBwb3J0IiBPTikKICAgICBX
RUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgIlRvZ2dsZSBjb250
ZW50IGZpbHRlcmluZyBzdXBwb3J0IiBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5B
QkxFX0NPTlRFWFRfTUVOVVMgIlRvZ2dsZSBDb250ZXh0IE1lbnUgc3VwcG9ydCIgT04pCiAgICAg
V0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NTUF9ORVhUICJUb2dnbGUgQ29udGVudCBTZWN1
cml0eSBQb2xpY3kgMS4xIHN1cHBvcnQiIE9GRikKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZWNv
bmZpZy5oLmNtYWtlIGIvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UKaW5kZXggMjFkM2ZjYzVk
OTgzZjk1OTVkZWYzNTEwNTY4Y2RjOTg5NjUyNDZlZC4uY2YxYWZlNTZjNWYwZjI2MDk5MDkwZTUx
YjdiMmE2NjAzZWEwNzMyMSAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UK
KysrIGIvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UKQEAgLTEzLDYgKzEzLDcgQEAKICNjbWFr
ZWRlZmluZTAxIEVOQUJMRV9DQU5WQVNfUFJPWFkKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORwogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgKKyNj
bWFrZWRlZmluZTAxIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgKICNjbWFrZWRlZmlu
ZTAxIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORwogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NPTlRF
WFRfTUVOVVMKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9DUkVERU5USUFMX1NUT1JBR0UKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQppbmRleCAxNmZkNjQ5YzY4ZDZiM2Q0M2Qw
YjMxZTMzNTc5MDRmYzg3MjRhN2ViLi4yMjNiMzExYmNmYmFiMmMyNjhhN2YyNjUyZDE0ZWQxOTYz
N2ZkZmNlIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3Qu
cG0KKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCkBAIC00NCw2
ICs0NCw3IEBAIEJFR0lOIHsKIG15ICgKICAgICAkdGhyZWVEUmVuZGVyaW5nU3VwcG9ydCwKICAg
ICAkYWNjZWxlcmF0ZWQyRENhbnZhc1N1cHBvcnQsCisgICAgJGFycm93ZnVuY3Rpb25TeW50YXgs
CiAgICAgJGJhdHRlcnlTdGF0dXNTdXBwb3J0LAogICAgICRjYW52YXNQYXRoU3VwcG9ydCwKICAg
ICAkY2FudmFzUHJveHlTdXBwb3J0LApAQCAtMTU0LDYgKzE1NSw5IEBAIG15IEBmZWF0dXJlcyA9
ICgKICAgICB7IG9wdGlvbiA9PiAiYWNjZWxlcmF0ZWQtMmQtY2FudmFzIiwgZGVzYyA9PiAiVG9n
Z2xlIEFjY2VsZXJhdGVkIDJEIENhbnZhcyBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAiRU5B
QkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUyIsIGRlZmF1bHQgPT4gaXNHdGsoKSwgdmFsdWUgPT4g
XCRhY2NlbGVyYXRlZDJEQ2FudmFzU3VwcG9ydCB9LAogCisgICAgeyBvcHRpb24gPT4gImFycm93
ZnVuY3Rpb24tc3ludGF4IiwgZGVzYyA9PiAiVG9nZ2xlIEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50
YXggc3VwcG9ydCIsCisgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgiLCBkZWZhdWx0ID0+IDEsIHZhbHVlID0+IFwkYXJyb3dmdW5jdGlvblN5bnRheCB9LAor
CiAgICAgeyBvcHRpb24gPT4gImJhdHRlcnktc3RhdHVzIiwgZGVzYyA9PiAiVG9nZ2xlIEJhdHRl
cnkgU3RhdHVzIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQkFUVEVSWV9TVEFU
VVMiLCBkZWZhdWx0ID0+IGlzRWZsKCksIHZhbHVlID0+IFwkYmF0dGVyeVN0YXR1c1N1cHBvcnQg
fSwKIApkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IGU2ZjAwYWQzZWJm
NTBkY2MxYmI3N2I3Y2Q2MGY2N2U0ZDU1MDNiYWUuLjJmZWJlOTkxYzdkYTQ3YTc0ZDNkYjE2NjMx
MjI1MDUzYjhlNzFjMTEgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNSBAQAorMjAxNS0wMy0yNyAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZA
Z21haWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24g
c3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
IEFkZGVkIGZlYXR1cmUgZmxhZyB0byBzd2l0Y2ggb24vb2ZmIGVzNiBhcnJvdyBmdW5jdGlvbiBF
TkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYCisKKyAgICAgICAgICogU291cmNlL2NtYWtl
L1dlYktpdEZlYXR1cmVzLmNtYWtlOgorICAgICAgICAgKiBTb3VyY2UvY21ha2Vjb25maWcuaC5j
bWFrZToKKwogMjAxNS0wMy0yNCAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFtFRkxdIEFkZCBPcGVuV2ViUlRDIGluIGpoYnVpbGQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249565</attachid>
            <date>2015-03-27 07:14:22 -0700</date>
            <delta_ts>2015-03-27 11:03:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150327161341.patch</filename>
            <type>text/plain</type>
            <size>143503</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyMDExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjk4MTc2ZmZlMGMzMjBk
ODdhM2FjZTMxMjY3ODQzNTcyYjdiYTQzNi4uNjI3NTYzZTEyNWY1ZjkyNjkyOTFjNjNmMGQzZmM1
NzY4MjViMzQ0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTAzLTI3ICBTa2Fj
aGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgIFtFUzZdIElt
cGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyBFTkFCTEVfRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgorCisgICAgICAgICAqIENv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1LTAzLTI1ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBDU1MgYmxlbmQgbW9kZXMgZG8g
bm90IHBhcnNlIHdoZW4gaW4gdGhlIHNoYWRvdyB0cmVlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggMjYy
MzZlZjk2MDVlZWM3ZTQ4Y2NjMjE3MzAwNGIwNTk4Yzg0ODg0NC4uOTQ0MDUzY2U4NTk2NzA4YmRh
ZWRkOWI1ZTkyMzAyMTIxOWM3OTVmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDE1LTAzLTI3ICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisK
KyAgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1
cmUgZmxhZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlv
bgorCisgICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisK
IDIwMTUtMDMtMjQgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAg
ICAgICBGaXggZGVzaWduYXRlZCBpbml0aWFsaXplciB2aW9sYXRpb25zCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNzIxMTI3NjUyZDg4OGY1MDFhYjZjMjE3YjgzMzQ0MTkw
NDNmNTg2NC4uNTA1M2RjMTdlNmQ1OGIxMTFjNzMwYTk0Y2MwNzRiMGNiZTUwNzhhOSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNDY2LDYgKzQ2Niw3IEBAIHNldChKYXZh
U2NyaXB0Q29yZV9SVU5USU1FX1NPVVJDRVMKICAgICBydW50aW1lL0pTQXJyYXlCdWZmZXJWaWV3
LmNwcAogICAgIHJ1bnRpbWUvSlNBcnJheUl0ZXJhdG9yLmNwcAogICAgIHJ1bnRpbWUvSlNCb3Vu
ZEZ1bmN0aW9uLmNwcAorICAgIHJ1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcAogICAgIHJ1bnRp
bWUvSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxlLmNwcAogICAgIHJ1bnRpbWUvSlNDSlNWYWx1ZS5j
cHAKICAgICBydW50aW1lL0pTQ2FsbGVlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4
IDhiMTEyZmFlNDViOTU3ZGQyNjQxZmRiNmY0Njg5ODgwNTg5YWY4NjAuLjExNDhhNzY5NzJmMTE0
YzM4M2QzMjYyOWYxZjA5M2M2ODU1MGEwNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAg
LTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwog
RU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VT
Nl9DTEFTU19TWU5UQVg7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxF
X0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVO
QUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1Nf
QU5JTUFUSU9OU19MRVZFTF8yID0gRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBAIC0y
MTQsNCArMjE1LDQgQEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRF
RF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7
CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUND
RUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJ
TkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAk
KEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJM
RV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZf
Q0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05F
WFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVD
T1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVW
SUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lN
QUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVf
Q1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1Nf
U0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFL
KSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5E
TEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVO
VCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5U
KSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNU
UlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRT
KSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FN
RVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BB
R0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVf
U0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VF
SykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VD
SF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9M
RUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJ
TktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NS
SVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJT
T1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJ
R0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERG
S0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChF
TkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVO
QUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JF
UVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9S
RVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVf
Q1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJF
QU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVO
QUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJ
T04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5B
QkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVf
VklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVO
QUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FV
RElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVf
UElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lP
TlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklU
KSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhN
RVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVT
ID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NB
UFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJ
VElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5B
QkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVO
QUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykg
JChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQp
ICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09M
VVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVM
NCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1Mz
X1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NV
U1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxF
X0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9E
T000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVf
Rk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQ
QUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFU
QUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVf
VUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Jf
UE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChF
TkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAk
KEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVG
SVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5E
T1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBS
RVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01F
RElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJ
QV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChF
TkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElM
UykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFC
TEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19T
VUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZS
QU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BF
Q1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JB
TkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJ
UykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxF
X1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9O
RV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNP
Tl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVD
VF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFU
QUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wp
ICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NP
Q0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5B
QkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkg
JChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFU
RURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9q
L0phdmFTY3JpcHRDb3JlLnZjeHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCmluZGV4IDc0MzMwZTcwM2RhYzRk
MzYwMGVhYjI3YTBhZDhlYjRhZjAwZTBiMzIuLmM0MDg4YmM3NDIwMDk4NzNkNTk2ODlkYjJjYWY0
MzZkMTExOTU4MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagpAQCAt
MSw0ICsxLDQgQEAKLe+7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8
P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgogPFByb2plY3QgRGVmYXVsdFRh
cmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjEyLjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5t
aWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgogICA8SXRlbUdyb3VwIExhYmVs
PSJQcm9qZWN0Q29uZmlndXJhdGlvbnMiPgogICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNs
dWRlPSJEZWJ1Z1N1ZmZpeHxXaW4zMiI+CkBAIC03MzQsNiArNzM0LDcgQEAKICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHAiIC8+CiAg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJWaWV3LmNwcCIg
Lz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNCb3VuZEZ1bmN0aW9uLmNw
cCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJvd0Z1bmN0aW9u
LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZS5j
cHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ2FsbGVlLmNwcCIg
Lz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDYXRjaFNjb3BlLmNwcCIg
Lz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYmEyZDEzNmViOTViNWE5ZmQzNTRh
YjMwYThmMzY5MWJmNzhjZWI4Ni4uZTlkNmYyNDY1ZTMzODU1ZDM2OGI0ZDIwNGUwZDc2NDZjNTZl
OTg5ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwOTIsNiArMTA5Miw4IEBA
CiAJCTg2RjNFRUJGMTY4Q0RFOTMwMDc3QjkyQSAvKiBPYmpjUnVudGltZUV4dHJhcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGM0VFQjYxNjg1NUE1
QjAwNzdCOTJBIC8qIE9iamNSdW50aW1lRXh0cmFzLmggKi87IH07CiAJCTg2RkE5RTkxMTQyQkJC
MkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91
bmRGdW5jdGlvbi5jcHAgKi87IH07CiAJCTg2RkE5RTkyMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0Jv
dW5kRnVuY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLzsgfTsK
KwkJOEIwRjQyNEMxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUy
MDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCAqLzsgfTsKKwkJOEIwRjQyNEMxQUJENkRF
MjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dG
dW5jdGlvbi5oICovOyB9OwogCQk5MDIxM0UzRDEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3Rh
dGlzdGljcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5MDIxM0UzQjEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi87IH07
CiAJCTkwMjEzRTNFMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIxM0UzQzEyM0E0MEMy
MDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkzMDUyQzM0MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJz
ZXJBcmVuYS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5MzA1MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwICovOyB9OwpAQCAt
MjgyNCw2ICsyODI2LDggQEAKIAkJODZGNzVFRkQxNTFDMDYyRjAwN0M5QkEzIC8qIFJlZ0V4cE1h
dGNoZXNBcnJheS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWdF
eHBNYXRjaGVzQXJyYXkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkZBOUU4
RjE0MkJCQjJEMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQm91bmRGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rp
b24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdFQSAv
KiBKU0Fycm93RnVuY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcnJvd0Z1bmN0aW9uLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBK
U0Fycm93RnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNBcnJvd0Z1bmN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTAyMTNF
M0IxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVtb3J5U3RhdGlzdGljcy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0
aXN0aWNzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lbW9yeVN0YXRpc3Rp
Y3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhG
REMzIC8qIFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFBhcnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ0Mzgs
NiArNDQ0Miw4IEBACiAJCQkJQTdCREFFQzUxN0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJyYXlJdGVy
YXRvci5oICovLAogCQkJCTg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rp
b24uY3BwICovLAogCQkJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rp
b24uaCAqLywKKwkJCQk4QjBGNDI0QTFBQkQ2RDJGMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9u
LmggKi8sCisJCQkJOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5j
cHAgKi8sCiAJCQkJNjU3Q0Y0NTYxOUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmNwcCAqLywK
IAkJCQk2NTdDRjQ1NzE5QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuaCAqLywKIAkJCQkwRkQ5
NDk3RTFBOTdEQjk2MDBFMjg5NjYgLyogSlNDYXRjaFNjb3BlLmNwcCAqLywKQEAgLTcxNjYsNiAr
NzE3Miw3IEBACiAJCQkJMEZEOEEzMUIxN0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTE9TUkVudHJ5LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjM1QkRDMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JF
eGl0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjM1QkRGMTcxNzhFMUMwMDY5MEM3RiAvKiBG
VExPU1JFeGl0Q29tcGlsZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOEIwRjQyNEMxQUJENkRF
MjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkVB
MEEyQTE3MDk2Mjk2MDBCQjcyMkMgLyogRlRMT3V0cHV0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTBGNDg1MzI5MTg3REZERUMwMDgzQjY4NyAvKiBGVExSZWNvdmVyeU9wY29kZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkwRjZCMUNDMzE4NjJDNDc4MDA4NDVEOTcgLyogRlRMUmVnaXN0ZXJBdE9m
ZnNldC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9CeXRlY29kZUxpc3QuanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9CeXRlY29kZUxpc3QuanNvbgppbmRleCA2YjI0MzkxNTZhYjNhZmFlNmI1NThhYjkwNjZk
MjIyNTE1ZDU5ZTQ1Li40MzYwNzA5ZDhmN2U0MTgyMTVhYjJhZjk1OWJmNjQ0OGFmMDM4MDI4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpz
b24KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29u
CkBAIC05NSw2ICs5NSw3IEBACiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9zd2l0Y2hfc3Ry
aW5nIiwgImxlbmd0aCIgOiA0IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfZnVu
YyIsICJsZW5ndGgiIDogNCB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfbmV3X2Z1bmNf
ZXhwIiwgImxlbmd0aCIgOiA0IH0sCisgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfYXJy
b3dfZnVuY19leHAiLCAibGVuZ3RoIiA6IDUgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9w
X2NhbGwiLCAibGVuZ3RoIiA6IDkgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGxf
ZXZhbCIsICJsZW5ndGgiIDogOSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbF92
YXJhcmdzIiwgImxlbmd0aCIgOiA5IH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9CeXRlY29kZVVzZURlZi5oCmluZGV4IDg1ZjI5MTVjN2U4ZjYwMWFkM2VjMTc4YmY2OWUz
NTQ0Zjc1NGMyY2YuLjE3YjZiZWQ4MWZlMjViNjIzMzBiYWEzZmQwMzFjNzE2YWI4OGY5YmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCkBA
IC0xMTYsNiArMTE2LDkgQEAgdm9pZCBjb21wdXRlVXNlc0ZvckJ5dGVjb2RlT2Zmc2V0KAogICAg
IGNhc2Ugb3BfZ2V0X3Byb3BlcnR5X2VudW1lcmF0b3I6CiAgICAgY2FzZSBvcF9nZXRfZW51bWVy
YWJsZV9sZW5ndGg6CiAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNl
bmRpZgogICAgIGNhc2Ugb3BfdG9faW5kZXhfc3RyaW5nOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9i
YWxfY29uc3Rfbm9wOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29uc3Q6CkBAIC0zMDgsNiAr
MzExLDkgQEAgdm9pZCBjb21wdXRlRGVmc0ZvckJ5dGVjb2RlT2Zmc2V0KENvZGVCbG9jayogY29k
ZUJsb2NrLCB1bnNpZ25lZCBieXRlY29kZU9mZnNldCwKICAgICBjYXNlIG9wX25ld19yZWdleHA6
CiAgICAgY2FzZSBvcF9uZXdfZnVuYzoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1
bmNfZXhwOgorI2VuZGlmCiAgICAgY2FzZSBvcF9jYWxsX3ZhcmFyZ3M6CiAgICAgY2FzZSBvcF9j
b25zdHJ1Y3RfdmFyYXJnczoKICAgICBjYXNlIG9wX2dldF9mcm9tX3Njb3BlOgpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAppbmRleCA4YWQ3MWVjNzFmYTZm
ZjUzYTcxMDM4ZjQ5Nzk0ODA5OGI5YTlhM2U1Li42YTFkNDIyODU2OWY4MTliOTBmN2E5ODc2NjNm
ODcwYWM0YmIzOGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Q29kZUJsb2NrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmNwcApAQCAtMTI3NCw2ICsxMjc0LDE3IEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wQnl0ZWNv
ZGUoCiAgICAgICAgICAgICBvdXQucHJpbnRmKCIlcywgJXMsIGYlZCIsIHJlZ2lzdGVyTmFtZShy
MCkuZGF0YSgpLCByZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjApOwogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
ICAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDogeworICAgICAgICAgICAgaW50IHIwID0g
KCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUub3BlcmFu
ZDsKKyAgICAgICAgICAgIGludCBmMCA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAg
aW50IHIyID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBwcmludExvY2F0aW9uQW5k
T3Aob3V0LCBleGVjLCBsb2NhdGlvbiwgaXQsICJvcF9uZXdfYXJyb3dfZnVuY19leHAiKTsKKyAg
ICAgICAgICAgIG91dC5wcmludGYoIiVzLCAlcywgZiVkLCAlcyIsIHJlZ2lzdGVyTmFtZShyMCku
ZGF0YSgpLCByZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjAsIHJlZ2lzdGVyTmFtZShyMikuZGF0
YSgpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgY2Fz
ZSBvcF9uZXdfZnVuY19leHA6IHsKICAgICAgICAgICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVy
YW5kOwogICAgICAgICAgICAgaW50IHIxID0gKCsraXQpLT51Lm9wZXJhbmQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3Iu
Y3BwCmluZGV4IGFjNWUzN2U0ZDg4ZWFhMzdhMjRjYWRkN2FmYzRjODE2YWRlZDQyZTIuLjNhY2Q3
OTIxZmJmOWFiYWI0NWI5ZGY5NDY5ZmY2ZGRkMzBlNWY2OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBA
IC0xNzQyLDYgKzE3NDIsMzYgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRO
ZXdGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogcjAsIEZ1bmNFeHAKICAgICBpbnN0cnVj
dGlvbnMoKS5hcHBlbmQoaW5kZXgpOwogICAgIHJldHVybiByMDsKIH0KKyAgICAKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0
b3I6OmVtaXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVuY0V4
cHJOb2RlKiBuKQoreworICAgIEZ1bmN0aW9uQm9keU5vZGUqIGZ1bmN0aW9uID0gbi0+Ym9keSgp
OworICAgIHVuc2lnbmVkIGluZGV4ID0gbV9jb2RlQmxvY2stPmFkZEZ1bmN0aW9uRXhwcihtYWtl
RnVuY3Rpb24oZnVuY3Rpb24pKTsKKyAgICAKKyAgICBSZWdpc3RlcklEKiB2YWx1ZSA9IGVtaXRU
aGlzTm9kZUJ5dGVjb2RlKHIwLCBuLT5wb3NpdGlvbigpKTsKKyAgICAKKyAgICBlbWl0T3Bjb2Rl
KG9wX25ld19hcnJvd19mdW5jX2V4cCk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHIwLT5p
bmRleCgpKTsKKyAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQoc2NvcGVSZWdpc3RlcigpLT5pbmRl
eCgpKTsKKyAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQoaW5kZXgpOworICAgIGluc3RydWN0aW9u
cygpLmFwcGVuZCh2YWx1ZS0+aW5kZXgoKSk7CisgICAgcmV0dXJuIHIwOworfQorICAgIAorUmVn
aXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRUaGlzTm9kZUJ5dGVjb2RlKFJlZ2lzdGVy
SUQqIGRzdCwgSlNUZXh0UG9zaXRpb24gcG9zaXRpb24pCit7CisgICAgaWYgKGRzdCA9PSBpZ25v
cmVkUmVzdWx0KCkpCisgICAgICAgIHJldHVybiAwOworICAgIFJlZ2lzdGVySUQqIHJlc3VsdCA9
IG1vdmVUb0Rlc3RpbmF0aW9uSWZOZWVkZWQoZHN0LCB0aGlzUmVnaXN0ZXIoKSk7CisgICAgaWYg
KHZtKCktPnR5cGVQcm9maWxlcigpKSB7CisgICAgICAgIGVtaXRQcm9maWxlVHlwZSh0aGlzUmVn
aXN0ZXIoKSwgUHJvZmlsZVR5cGVCeXRlY29kZURvZXNOb3RIYXZlR2xvYmFsSUQsIG51bGxwdHIp
OworICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgdGhpc0xlbmd0aCA9IDQ7CisgICAgICAg
IGVtaXRUeXBlUHJvZmlsZXJFeHByZXNzaW9uSW5mbyhwb3NpdGlvbiwgSlNUZXh0UG9zaXRpb24o
LTEsIHBvc2l0aW9uLm9mZnNldCArIHRoaXNMZW5ndGgsIC0xKSk7CisgICAgfQorICAgIHJldHVy
biByZXN1bHQ7Cit9CisjZW5kaWYKIAogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVt
aXROZXdEZWZhdWx0Q29uc3RydWN0b3IoUmVnaXN0ZXJJRCogZHN0LCBDb25zdHJ1Y3RvcktpbmQg
Y29uc3RydWN0b3JLaW5kLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmlu
ZGV4IDFjOTlhY2EwODQ4ODhhMWI4NDhlNzRlMDU1MjkxMjJlNTU3ZTdhOGQuLmM3MDFjYzUwMzI2
NTUxYWUzNWE1N2U3MjdhOGZhZTUyNzM0OGZkOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTE4OSw3ICsx
ODksNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgICwgbV9raW5kKE5vcm1hbFZhcmlh
YmxlKQogICAgICAgICB7CiAgICAgICAgIH0KLSAgICAgICAgCisKICAgICAgICAgVmFyaWFibGUo
Y29uc3QgSWRlbnRpZmllciYgaWRlbnQpCiAgICAgICAgICAgICA6IG1faWRlbnQoaWRlbnQpCiAg
ICAgICAgICAgICAsIG1fbG9jYWwobnVsbHB0cikKQEAgLTIxMSw5ICsyMTEsOSBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgLy8gYSBzdGFjayB2YXJpYWJsZSwgYSBzY29wZWQgdmFyaWFibGUg
aW4gdGhlIGxvY2FsIHNjb3BlLCBvciBhIHZhcmlhYmxlIGNhcHR1cmVkIGluIHRoZQogICAgICAg
ICAvLyBkaXJlY3QgYXJndW1lbnRzIG9iamVjdC4KICAgICAgICAgYm9vbCBpc1Jlc29sdmVkKCkg
Y29uc3QgeyByZXR1cm4gISFtX29mZnNldDsgfQotICAgICAgICAKKwogICAgICAgICBjb25zdCBJ
ZGVudGlmaWVyJiBpZGVudCgpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnQ7IH0KLSAgICAgICAgCisK
ICAgICAgICAgVmFyT2Zmc2V0IG9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fb2Zmc2V0OyB9CiAg
ICAgICAgIGJvb2wgaXNMb2NhbCgpIGNvbnN0IHsgcmV0dXJuIG1fb2Zmc2V0LmlzU3RhY2soKTsg
fQogICAgICAgICBSZWdpc3RlcklEKiBsb2NhbCgpIGNvbnN0IHsgcmV0dXJuIG1fbG9jYWw7IH0K
QEAgLTI1OCw3ICsyNTgsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgQnl0ZWNvZGVHZW5l
cmF0b3IoVk0mLCBFdmFsTm9kZSosIFVubGlua2VkRXZhbENvZGVCbG9jayosIERlYnVnZ2VyTW9k
ZSwgUHJvZmlsZXJNb2RlKTsKIAogICAgICAgICB+Qnl0ZWNvZGVHZW5lcmF0b3IoKTsKLSAgICAg
ICAgCisKICAgICAgICAgVk0qIHZtKCkgY29uc3QgeyByZXR1cm4gbV92bTsgfQogICAgICAgICBQ
YXJzZXJBcmVuYSYgcGFyc2VyQXJlbmEoKSBjb25zdCB7IHJldHVybiBtX3Njb3BlTm9kZS0+cGFy
c2VyQXJlbmEoKTsgfQogICAgICAgICBjb25zdCBDb21tb25JZGVudGlmaWVycyYgcHJvcGVydHlO
YW1lcygpIGNvbnN0IHsgcmV0dXJuICptX3ZtLT5wcm9wZXJ0eU5hbWVzOyB9CkBAIC0yNzcsMTMg
KzI3NywxMyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBzZXRJc051bWVyaWNDb21w
YXJlRnVuY3Rpb24oYm9vbCBpc051bWVyaWNDb21wYXJlRnVuY3Rpb24pOwogCiAgICAgICAgIFZh
cmlhYmxlIHZhcmlhYmxlKGNvbnN0IElkZW50aWZpZXImKTsKLSAgICAgICAgCisKICAgICAgICAg
Ly8gSWdub3JlcyB0aGUgcG9zc2liaWxpdHkgb2YgaW50ZXJ2ZW5pbmcgc2NvcGVzLgogICAgICAg
ICBWYXJpYWJsZSB2YXJpYWJsZVBlclN5bWJvbFRhYmxlKGNvbnN0IElkZW50aWZpZXImKTsKLSAg
ICAgICAgCisKICAgICAgICAgZW51bSBFeGlzdGluZ1ZhcmlhYmxlTW9kZSB7IFZlcmlmeUV4aXN0
aW5nLCBJZ25vcmVFeGlzdGluZyB9OwogICAgICAgICB2b2lkIGNyZWF0ZVZhcmlhYmxlKGNvbnN0
IElkZW50aWZpZXImLCBWYXJLaW5kLCBDb25zdGFudE1vZGUsIEV4aXN0aW5nVmFyaWFibGVNb2Rl
ID0gVmVyaWZ5RXhpc3RpbmcpOyAvLyBDcmVhdGVzIHRoZSB2YXJpYWJsZSwgb3IgYXNzZXJ0cyB0
aGF0IHRoZSBhbHJlYWR5LWNyZWF0ZWQgdmFyaWFibGUgaXMgc3VmZmljaWVudGx5IGNvbXBhdGli
bGUuCi0gICAgICAgIAorCiAgICAgICAgIC8vIFJldHVybnMgdGhlIHJlZ2lzdGVyIHN0b3Jpbmcg
InRoaXMiCiAgICAgICAgIFJlZ2lzdGVySUQqIHRoaXNSZWdpc3RlcigpIHsgcmV0dXJuICZtX3Ro
aXNSZWdpc3RlcjsgfQogICAgICAgICBSZWdpc3RlcklEKiBhcmd1bWVudHNSZWdpc3RlcigpIHsg
cmV0dXJuIG1fYXJndW1lbnRzUmVnaXN0ZXI7IH0KQEAgLTM4Miw3ICszODIsNyBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgfQogCiAgICAgICAgIHZvaWQgZW1pdEV4cHJlc3Npb25JbmZvKGNv
bnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZvdCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGRpdm90U3Rh
cnQsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZvdEVuZCkKLSAgICAgICAgeyAgICAgICAgICAg
IAorICAgICAgICB7CiAgICAgICAgICAgICBBU1NFUlQoZGl2b3Qub2Zmc2V0ID49IGRpdm90U3Rh
cnQub2Zmc2V0KTsKICAgICAgICAgICAgIEFTU0VSVChkaXZvdEVuZC5vZmZzZXQgPj0gZGl2b3Qu
b2Zmc2V0KTsKIApAQCAtNDU0LDYgKzQ1NCwxMCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAg
UmVnaXN0ZXJJRCogZW1pdE5ld0Z1bmN0aW9uSW50ZXJuYWwoUmVnaXN0ZXJJRCogZHN0LCB1bnNp
Z25lZCBpbmRleCk7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5jdGlvbkV4cHJlc3Np
b24oUmVnaXN0ZXJJRCogZHN0LCBGdW5jRXhwck5vZGUqIGZ1bmMpOwogICAgICAgICBSZWdpc3Rl
cklEKiBlbWl0TmV3RGVmYXVsdENvbnN0cnVjdG9yKFJlZ2lzdGVySUQqIGRzdCwgQ29uc3RydWN0
b3JLaW5kLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3QXJyb3dGdW5jdGlvbkV4
cHJlc3Npb24oUmVnaXN0ZXJJRCosIEZ1bmNFeHByTm9kZSopOworICAgICAgICBSZWdpc3RlcklE
KiBlbWl0VGhpc05vZGVCeXRlY29kZShSZWdpc3RlcklEKiwgSlNUZXh0UG9zaXRpb24pOworI2Vu
ZGlmCiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdSZWdFeHAoUmVnaXN0ZXJJRCogZHN0LCBS
ZWdFeHAqKTsKIAogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TW92ZShSZWdpc3RlcklEKiBkc3Qs
IFJlZ2lzdGVySUQqIHNyYyk7CkBAIC00ODAsMTQgKzQ4NCwxNCBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdERlbGV0ZUJ5VmFsKFJlZ2lzdGVySUQqIGRzdCwgUmVn
aXN0ZXJJRCogYmFzZSwgUmVnaXN0ZXJJRCogcHJvcGVydHkpOwogICAgICAgICBSZWdpc3RlcklE
KiBlbWl0UHV0QnlJbmRleChSZWdpc3RlcklEKiBiYXNlLCB1bnNpZ25lZCBpbmRleCwgUmVnaXN0
ZXJJRCogdmFsdWUpOwogICAgICAgICB2b2lkIGVtaXRQdXRHZXR0ZXJTZXR0ZXIoUmVnaXN0ZXJJ
RCogYmFzZSwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHksIFJlZ2lzdGVySUQqIGdldHRlciwg
UmVnaXN0ZXJJRCogc2V0dGVyKTsKLSAgICAgICAgCisKICAgICAgICAgRXhwZWN0ZWRGdW5jdGlv
biBleHBlY3RlZEZ1bmN0aW9uRm9ySWRlbnRpZmllcihjb25zdCBJZGVudGlmaWVyJik7CiAgICAg
ICAgIFJlZ2lzdGVySUQqIGVtaXRDYWxsKFJlZ2lzdGVySUQqIGRzdCwgUmVnaXN0ZXJJRCogZnVu
YywgRXhwZWN0ZWRGdW5jdGlvbiwgQ2FsbEFyZ3VtZW50cyYsIGNvbnN0IEpTVGV4dFBvc2l0aW9u
JiBkaXZvdCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGRpdm90U3RhcnQsIGNvbnN0IEpTVGV4dFBv
c2l0aW9uJiBkaXZvdEVuZCk7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRDYWxsRXZhbChSZWdp
c3RlcklEKiBkc3QsIFJlZ2lzdGVySUQqIGZ1bmMsIENhbGxBcmd1bWVudHMmLCBjb25zdCBKU1Rl
eHRQb3NpdGlvbiYgZGl2b3QsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZvdFN0YXJ0LCBjb25z
dCBKU1RleHRQb3NpdGlvbiYgZGl2b3RFbmQpOwogICAgICAgICBSZWdpc3RlcklEKiBlbWl0Q2Fs
bFZhcmFyZ3MoUmVnaXN0ZXJJRCogZHN0LCBSZWdpc3RlcklEKiBmdW5jLCBSZWdpc3RlcklEKiB0
aGlzUmVnaXN0ZXIsIFJlZ2lzdGVySUQqIGFyZ3VtZW50cywgUmVnaXN0ZXJJRCogZmlyc3RGcmVl
UmVnaXN0ZXIsIGludDMyX3QgZmlyc3RWYXJBcmdPZmZzZXQsIFJlZ2lzdGVySUQqIHByb2ZpbGVI
b29rUmVnaXN0ZXIsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZvdCwgY29uc3QgSlNUZXh0UG9z
aXRpb24mIGRpdm90U3RhcnQsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZvdEVuZCk7CiAKICAg
ICAgICAgdm9pZCBlbWl0RW51bWVyYXRpb24oVGhyb3dhYmxlRXhwcmVzc2lvbkRhdGEqIGVudW1l
cmF0aW9uTm9kZSwgRXhwcmVzc2lvbk5vZGUqIHN1YmplY3ROb2RlLCBjb25zdCBzdGQ6OmZ1bmN0
aW9uPHZvaWQoQnl0ZWNvZGVHZW5lcmF0b3ImLCBSZWdpc3RlcklEKik+JiBjYWxsQmFjayk7Ci0g
ICAgICAgIAorCiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRSZXR1cm4oUmVnaXN0ZXJJRCogc3Jj
KTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdEVuZChSZWdpc3RlcklEKiBzcmMpIHsgcmV0dXJu
IGVtaXRVbmFyeU5vRHN0T3Aob3BfZW5kLCBzcmMpOyB9CiAKQEAgLTUzMyw3ICs1MzcsNyBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgUmVnaXN0ZXJJRCogcG9wVHJ5QW5kRW1pdENhdGNoKFRy
eURhdGEqLCBSZWdpc3RlcklEKiB0YXJnZXRSZWdpc3RlciwgTGFiZWwqIGVuZCk7CiAKICAgICAg
ICAgdm9pZCBlbWl0VGhyb3coUmVnaXN0ZXJJRCogZXhjKQotICAgICAgICB7IAorICAgICAgICB7
CiAgICAgICAgICAgICBtX3VzZXNFeGNlcHRpb25zID0gdHJ1ZTsKICAgICAgICAgICAgIGVtaXRV
bmFyeU5vRHN0T3Aob3BfdGhyb3csIGV4Yyk7CiAgICAgICAgIH0KQEAgLTU3Miw5ICs1NzYsOSBA
QCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBib29sIHNob3VsZEVtaXRQcm9maWxlSG9va3Mo
KSB7IHJldHVybiBtX3Nob3VsZEVtaXRQcm9maWxlSG9va3M7IH0KICAgICAgICAgYm9vbCBzaG91
bGRFbWl0RGVidWdIb29rcygpIHsgcmV0dXJuIG1fc2hvdWxkRW1pdERlYnVnSG9va3M7IH0KLSAg
ICAgICAgCisKICAgICAgICAgYm9vbCBpc1N0cmljdE1vZGUoKSBjb25zdCB7IHJldHVybiBtX2Nv
ZGVCbG9jay0+aXNTdHJpY3RNb2RlKCk7IH0KLSAgICAgICAgCisKICAgICAgICAgYm9vbCBpc0J1
aWx0aW5GdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1faXNCdWlsdGluRnVuY3Rpb247IH0KIAog
ICAgICAgICBPcGNvZGVJRCBsYXN0T3Bjb2RlSUQoKSBjb25zdCB7IHJldHVybiBtX2xhc3RPcGNv
ZGVJRDsgfQpAQCAtNjA0LDEyICs2MDgsMTIgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAg
dHlwZWRlZiBIYXNoTWFwPGRvdWJsZSwgSlNWYWx1ZT4gTnVtYmVyTWFwOwogICAgICAgICB0eXBl
ZGVmIEhhc2hNYXA8U3RyaW5nSW1wbCosIEpTU3RyaW5nKiwgSWRlbnRpZmllclJlcEhhc2g+IElk
ZW50aWZpZXJTdHJpbmdNYXA7Ci0gICAgICAgIAorCiAgICAgICAgIC8vIEhlbHBlciBmb3IgZW1p
dENhbGwoKSBhbmQgZW1pdENvbnN0cnVjdCgpLiBUaGlzIHdvcmtzIGJlY2F1c2UgdGhlIHNldCBv
ZgogICAgICAgICAvLyBleHBlY3RlZCBmdW5jdGlvbnMgaGF2ZSBpZGVudGljYWwgYmVoYXZpb3Ig
Zm9yIGJvdGggY2FsbCBhbmQgY29uc3RydWN0CiAgICAgICAgIC8vIChpLmUuICJPYmplY3QoKSIg
aXMgaWRlbnRpY2FsIHRvICJuZXcgT2JqZWN0KCkiKS4KICAgICAgICAgRXhwZWN0ZWRGdW5jdGlv
biBlbWl0RXhwZWN0ZWRGdW5jdGlvblNuaXBwZXQoUmVnaXN0ZXJJRCogZHN0LCBSZWdpc3RlcklE
KiBmdW5jLCBFeHBlY3RlZEZ1bmN0aW9uLCBDYWxsQXJndW1lbnRzJiwgTGFiZWwqIGRvbmUpOwot
ICAgICAgICAKKwogICAgICAgICBSZWdpc3RlcklEKiBlbWl0Q2FsbChPcGNvZGVJRCwgUmVnaXN0
ZXJJRCogZHN0LCBSZWdpc3RlcklEKiBmdW5jLCBFeHBlY3RlZEZ1bmN0aW9uLCBDYWxsQXJndW1l
bnRzJiwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGRpdm90LCBjb25zdCBKU1RleHRQb3NpdGlvbiYg
ZGl2b3RTdGFydCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGRpdm90RW5kKTsKIAogICAgICAgICBS
ZWdpc3RlcklEKiBuZXdSZWdpc3RlcigpOwpAQCAtNjI3LDcgKzYzMSw3IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICAvLyBJbml0aWFsaXplcyB0aGUgc3RhY2sgZm9ybSB0aGUgcGFyYW1ldGVy
OyBkb2VzIG5vdGhpbmcgZm9yIHRoZSBzeW1ib2wgdGFibGUuCiAgICAgICAgIFJlZ2lzdGVySUQq
IGluaXRpYWxpemVOZXh0UGFyYW1ldGVyKCk7CiAgICAgICAgIFN0cmluZ0ltcGwqIHZpc2libGVO
YW1lRm9yUGFyYW1ldGVyKERlY29uc3RydWN0aW9uUGF0dGVybk5vZGUqKTsKLSAgICAgICAgCisK
ICAgICAgICAgUmVnaXN0ZXJJRCYgcmVnaXN0ZXJGb3IoVmlydHVhbFJlZ2lzdGVyIHJlZykKICAg
ICAgICAgewogICAgICAgICAgICAgaWYgKHJlZy5pc0xvY2FsKCkpCkBAIC02NDcsNyArNjUxLDcg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHVuc2lnbmVkIGFkZFJlZ0V4cChSZWdFeHAqKTsK
IAogICAgICAgICB1bnNpZ25lZCBhZGRDb25zdGFudEJ1ZmZlcih1bnNpZ25lZCBsZW5ndGgpOwot
ICAgICAgICAKKwogICAgICAgICBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSogbWFrZUZ1bmN0
aW9uKEZ1bmN0aW9uQm9keU5vZGUqIGJvZHkpCiAgICAgICAgIHsKICAgICAgICAgICAgIHJldHVy
biBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZTo6Y3JlYXRlKG1fdm0sIG1fc2NvcGVOb2RlLT5z
b3VyY2UoKSwgYm9keSwgaXNCdWlsdGluRnVuY3Rpb24oKSA/IFVubGlua2VkQnVpbHRpbkZ1bmN0
aW9uIDogVW5saW5rZWROb3JtYWxGdW5jdGlvbik7CkBAIC03MzAsNyArNzM0LDcgQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgICAgIFZlY3RvcjxzdGQ6OnBhaXI8UmVmUHRyPFJlZ2lzdGVySUQ+LCBj
b25zdCBEZWNvbnN0cnVjdGlvblBhdHRlcm5Ob2RlKj4+IG1fZGVjb25zdHJ1Y3RlZFBhcmFtZXRl
cnM7CiAgICAgICAgIFZlY3RvcjxGdW5jdGlvbkJvZHlOb2RlKj4gbV9mdW5jdGlvbnNUb0luaXRp
YWxpemU7CiAgICAgICAgIGJvb2wgbV9uZWVkVG9Jbml0aWFsaXplQXJndW1lbnRzIHsgZmFsc2Ug
fTsKLSAgICAgICAgCisKICAgICAgICAgVmVjdG9yPFRyeVJhbmdlPiBtX3RyeVJhbmdlczsKICAg
ICAgICAgU2VnbWVudGVkVmVjdG9yPFRyeURhdGEsIDg+IG1fdHJ5RGF0YTsKIApAQCAtNzM4LDcg
Kzc0Miw3IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHR5cGVkZWYgSGFzaE1hcDxGdW5j
dGlvbkJvZHlOb2RlKiwgdW5zaWduZWQ+IEZ1bmN0aW9uT2Zmc2V0TWFwOwogICAgICAgICBGdW5j
dGlvbk9mZnNldE1hcCBtX2Z1bmN0aW9uT2Zmc2V0czsKLSAgICAgICAgCisKICAgICAgICAgLy8g
Q29uc3RhbnQgcG9vbAogICAgICAgICBJZGVudGlmaWVyTWFwIG1faWRlbnRpZmllck1hcDsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVn
ZW4uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4u
Y3BwCmluZGV4IDFjNzU3M2FkNGUzMjhiMmE3NGE5NWZiOTNiYjIwNzY4ODJiMmY3YjkuLjY5ZmQw
ODMwZmI0MTkxYjEwOTUyYWM5NThjOTA0NDA5ZTVhNWQ5ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKQEAgLTE0OSw3ICsx
NDksOSBAQCBSZWdpc3RlcklEKiBUaGlzTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJh
dG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdAogCiAgICAgaWYgKGRzdCA9PSBnZW5lcmF0
b3IuaWdub3JlZFJlc3VsdCgpKQogICAgICAgICByZXR1cm4gMDsKLQorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0VGhpc05vZGVC
eXRlY29kZShkc3QsIHBvc2l0aW9uKCkpOworI2Vsc2UKICAgICBSZWdpc3RlcklEKiByZXN1bHQg
PSBnZW5lcmF0b3IubW92ZVRvRGVzdGluYXRpb25JZk5lZWRlZChkc3QsIGdlbmVyYXRvci50aGlz
UmVnaXN0ZXIoKSk7CiAgICAgaWYgKGdlbmVyYXRvci52bSgpLT50eXBlUHJvZmlsZXIoKSkgewog
ICAgICAgICBnZW5lcmF0b3IuZW1pdFByb2ZpbGVUeXBlKGdlbmVyYXRvci50aGlzUmVnaXN0ZXIo
KSwgUHJvZmlsZVR5cGVCeXRlY29kZURvZXNOb3RIYXZlR2xvYmFsSUQsIG51bGxwdHIpOwpAQCAt
MTU3LDYgKzE1OSw3IEBAIFJlZ2lzdGVySUQqIFRoaXNOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNv
ZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0CiAgICAgICAgIGdlbmVyYXRv
ci5lbWl0VHlwZVByb2ZpbGVyRXhwcmVzc2lvbkluZm8ocG9zaXRpb24oKSwgSlNUZXh0UG9zaXRp
b24oLTEsIHBvc2l0aW9uKCkub2Zmc2V0ICsgdGhpc0xlbmd0aCwgLTEpKTsKICAgICB9CiAgICAg
cmV0dXJuIHJlc3VsdDsKKyNlbmRpZgogfQogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0gU3VwZXJOb2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAg
LTI4MzMsNiArMjgzNiwxNCBAQCBSZWdpc3RlcklEKiBGdW5jRXhwck5vZGU6OmVtaXRCeXRlY29k
ZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3RlcklEKgogICAgIHJldHVybiBn
ZW5lcmF0b3IuZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lvbihnZW5lcmF0b3IuZmluYWxEZXN0aW5h
dGlvbihkc3QpLCB0aGlzKTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpICAgIAorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEFycm93RnVuY0V4cHJO
b2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUmVnaXN0ZXJJRCogQXJyb3dG
dW5jRXhwck5vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBS
ZWdpc3RlcklEKiBkc3QpCit7CisgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0TmV3QXJyb3dGdW5j
dGlvbkV4cHJlc3Npb24oZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0KSwgdGhpcyk7Cit9
CisjZW5kaWYKKyAgICAKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKIC8vIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBDbGFzc0RlY2xOb2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0J5dGVDb2RlUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNv
ZGVQYXJzZXIuY3BwCmluZGV4IDY5ZmQ0YWQxNTk1NGI1NzBlMGM5NDA3MDQxNjNlYTYwYjgxNGY5
OWMuLjUxZWQ2MDg2NTNkNDg5MTk4ZjhhNjlkYjAxMzgzNDYzOGRkMGVhMjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCkBAIC0zNjYyLDYg
KzM2NjIsMTUgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZCBsaW1p
dCkKICAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX25ld19mdW5jX2V4cCk7CiAgICAgICAgIH0K
IAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGNhc2Ugb3Bf
bmV3X2Fycm93X2Z1bmNfZXhwOiB7CisgICAgICAgICAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4
cHIgPSBtX2lubGluZVN0YWNrVG9wLT5tX3Byb2ZpbGVkQmxvY2stPmZ1bmN0aW9uRXhwcihjdXJy
ZW50SW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5kKTsKKyAgICAgICAgICAgIEZyb3plblZhbHVlKiBm
cm96ZW4gPSBtX2dyYXBoLmZyZWV6ZVN0cm9uZyhleHByKTsKKyAgICAgICAgICAgIHNldChWaXJ0
dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCksCisgICAgICAgICAg
ICAgICAgYWRkVG9HcmFwaChOZXdGdW5jdGlvbiwgT3BJbmZvKGZyb3plbiksIGdldChWaXJ0dWFs
UmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCkpKSk7CisgICAgICAgICAg
ICBORVhUX09QQ09ERShvcF9uZXdfYXJyb3dfZnVuY19leHApOworICAgICAgICB9CisjZW5kaWYK
ICAgICAgICAgY2FzZSBvcF90eXBlb2Y6IHsKICAgICAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0
ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCksCiAgICAgICAgICAgICAgICAgYWRk
VG9HcmFwaChUeXBlT2YsIGdldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJd
LnUub3BlcmFuZCkpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0NhcGFiaWxpdGllcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxp
dGllcy5jcHAKaW5kZXggOGVmNGRjZjE1NjhiZDVlZGE0Yjg5N2U3Njg0YThjYmI5MWJmNmUwOC4u
YWFiNTE2MjJmNmQ4ZGMxYjcyNGFjNTYxODQwNTg4NjQ2M2ZiYmRhOCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcApAQCAtMjAsNyArMjAsNyBAQAog
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQogICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCiAgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCkBAIC05Myw3ICs5Myw3
IEBAIGlubGluZSB2b2lkIGRlYnVnRmFpbChDb2RlQmxvY2sqIGNvZGVCbG9jaywgT3Bjb2RlSUQg
b3Bjb2RlSUQsIENhcGFiaWxpdHlMZXZlbCByCiBDYXBhYmlsaXR5TGV2ZWwgY2FwYWJpbGl0eUxl
dmVsKE9wY29kZUlEIG9wY29kZUlELCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgSW5zdHJ1Y3Rpb24q
IHBjKQogewogICAgIFVOVVNFRF9QQVJBTShjb2RlQmxvY2spOyAvLyBUaGlzIGZ1bmN0aW9uIGRv
ZXMgc29tZSBieXRlY29kZSBwYXJzaW5nLiBPcmRpbmFyaWx5IGJ5dGVjb2RlIHBhcnNpbmcgcmVx
dWlyZXMgdGhlIG93bmluZyBDb2RlQmxvY2suIEl0J3Mgc29ydCBvZiBzdHJhbmdlIHRoYXQgd2Ug
ZG9uJ3QgdXNlIGl0IGhlcmUgcmlnaHQgbm93LgotICAgIAorCiAgICAgc3dpdGNoIChvcGNvZGVJ
RCkgewogICAgIGNhc2Ugb3BfZW50ZXI6CiAgICAgY2FzZSBvcF90b3VjaF9lbnRyeToKQEAgLTIw
OCw2ICsyMDgsOSBAQCBDYXBhYmlsaXR5TGV2ZWwgY2FwYWJpbGl0eUxldmVsKE9wY29kZUlEIG9w
Y29kZUlELCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgSW5zdHJ1YwogICAgIGNhc2Ugb3BfbmV3X2Z1
bmM6CiAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CiAgICAgY2FzZSBvcF9jcmVhdGVfbGV4aWNh
bF9lbnZpcm9ubWVudDoKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
IGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorI2VuZGlmCiAgICAgICAgIHJldHVybiBDYW5D
b21waWxlQW5kSW5saW5lOwogCiAgICAgY2FzZSBvcF9wdXRfdG9fc2NvcGU6IHsKQEAgLTI0Miw3
ICsyNDUsNyBAQCBDYXBhYmlsaXR5TGV2ZWwgY2FwYWJpbGl0eUxldmVsKENvZGVCbG9jayogY29k
ZUJsb2NrKQogICAgIEluc3RydWN0aW9uKiBpbnN0cnVjdGlvbnNCZWdpbiA9IGNvZGVCbG9jay0+
aW5zdHJ1Y3Rpb25zKCkuYmVnaW4oKTsKICAgICB1bnNpZ25lZCBpbnN0cnVjdGlvbkNvdW50ID0g
Y29kZUJsb2NrLT5pbnN0cnVjdGlvbnMoKS5zaXplKCk7CiAgICAgQ2FwYWJpbGl0eUxldmVsIHJl
c3VsdCA9IENhbkNvbXBpbGVBbmRJbmxpbmU7Ci0gICAgCisKICAgICBmb3IgKHVuc2lnbmVkIGJ5
dGVjb2RlT2Zmc2V0ID0gMDsgYnl0ZWNvZGVPZmZzZXQgPCBpbnN0cnVjdGlvbkNvdW50OyApIHsK
ICAgICAgICAgc3dpdGNoIChpbnRlcnByZXRlci0+Z2V0T3Bjb2RlSUQoaW5zdHJ1Y3Rpb25zQmVn
aW5bYnl0ZWNvZGVPZmZzZXRdLnUub3Bjb2RlKSkgewogI2RlZmluZSBERUZJTkVfT1Aob3Bjb2Rl
LCBsZW5ndGgpIFwKQEAgLTI2Miw3ICsyNjUsNyBAQCBDYXBhYmlsaXR5TGV2ZWwgY2FwYWJpbGl0
eUxldmVsKENvZGVCbG9jayogY29kZUJsb2NrKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IH0KICAgICB9Ci0gICAgCisKICAgICByZXR1cm4gcmVzdWx0OwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAppbmRleCBiYzg4NWE2
NDQ1MmZhMjQyZGMyNzcxMzk1ZDM0MGRlNTNjMGQ5NDMzLi5mNzY3MjFhMWFhZWIwMzI2ZDAzMTlh
NzQzOTQ3MTZhMmQzNWNkMDIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50
ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9JbnRlcnByZXRlci5jcHAKQEAgLTQ1LDYgKzQ1LDkgQEAKICNpbmNsdWRlICJHZXR0
ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJKU0FycmF5LmgiCiAjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0
aW9uLmgiCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyNpbmNsdWRlICJK
U0Fycm93RnVuY3Rpb24uaCIKKyNlbmRpZgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNs
dWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIkpTTmFtZVNjb3BlLmgiCkBA
IC05NywxMiArMTAwLDEyIEBAIEpTVmFsdWUgZXZhbChDYWxsRnJhbWUqIGNhbGxGcmFtZSkKICAg
ICBKU1ZhbHVlIHByb2dyYW0gPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApOwogICAgIGlmICghcHJv
Z3JhbS5pc1N0cmluZygpKQogICAgICAgICByZXR1cm4gcHJvZ3JhbTsKLSAgICAKKwogICAgIFRv
cENhbGxGcmFtZVNldHRlciB0b3BDYWxsRnJhbWUoY2FsbEZyYW1lLT52bSgpLCBjYWxsRnJhbWUp
OwogICAgIFN0cmluZyBwcm9ncmFtU291cmNlID0gYXNTdHJpbmcocHJvZ3JhbSktPnZhbHVlKGNh
bGxGcmFtZSk7CiAgICAgaWYgKGNhbGxGcmFtZS0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgIHJl
dHVybiBKU1ZhbHVlKCk7Ci0gICAgCisKICAgICBDYWxsRnJhbWUqIGNhbGxlckZyYW1lID0gY2Fs
bEZyYW1lLT5jYWxsZXJGcmFtZSgpOwogICAgIENvZGVCbG9jayogY2FsbGVyQ29kZUJsb2NrID0g
Y2FsbGVyRnJhbWUtPmNvZGVCbG9jaygpOwogICAgIEpTU2NvcGUqIGNhbGxlclNjb3BlQ2hhaW4g
PSBjYWxsZXJGcmFtZS0+dW5jaGVja2VkUihjYWxsZXJDb2RlQmxvY2stPnNjb3BlUmVnaXN0ZXIo
KS5vZmZzZXQoKSkuUmVnaXN0ZXI6OnNjb3BlKCk7CkBAIC0xMTksMTAgKzEyMiwxMCBAQCBKU1Zh
bHVlIGV2YWwoQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCiAgICAgICAgICAgICB9IGVsc2UgewogICAg
ICAgICAgICAgICAgIExpdGVyYWxQYXJzZXI8VUNoYXI+IHByZXBhcnNlcihjYWxsRnJhbWUsIHBy
b2dyYW1Tb3VyY2UuY2hhcmFjdGVyczE2KCksIHByb2dyYW1Tb3VyY2UubGVuZ3RoKCksIE5vblN0
cmljdEpTT04pOwogICAgICAgICAgICAgICAgIGlmIChKU1ZhbHVlIHBhcnNlZE9iamVjdCA9IHBy
ZXBhcnNlci50cnlMaXRlcmFsUGFyc2UoKSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBh
cnNlZE9iamVjdDsgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBw
YXJzZWRPYmplY3Q7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICAgICAgCisKICAgICAg
ICAgLy8gSWYgdGhlIGxpdGVyYWwgcGFyc2VyIGJhaWxlZCwgaXQgc2hvdWxkIG5vdCBoYXZlIHRo
cm93biBleGNlcHRpb25zLgogICAgICAgICBBU1NFUlQoIWNhbGxGcmFtZS0+dm0oKS5leGNlcHRp
b24oKSk7CiAKQEAgLTE0MSwxMSArMTQ0LDExIEBAIHVuc2lnbmVkIHNpemVPZlZhcmFyZ3MoQ2Fs
bEZyYW1lKiBjYWxsRnJhbWUsIEpTVmFsdWUgYXJndW1lbnRzLCB1aW50MzJfdCBmaXJzdFZhCiAg
ICAgaWYgKFVOTElLRUxZKCFhcmd1bWVudHMuaXNDZWxsKCkpKSB7CiAgICAgICAgIGlmIChhcmd1
bWVudHMuaXNVbmRlZmluZWRPck51bGwoKSkKICAgICAgICAgICAgIHJldHVybiAwOwotICAgICAg
ICAKKwogICAgICAgICBjYWxsRnJhbWUtPnZtKCkudGhyb3dFeGNlcHRpb24oY2FsbEZyYW1lLCBj
cmVhdGVJbnZhbGlkRnVuY3Rpb25BcHBseVBhcmFtZXRlckVycm9yKGNhbGxGcmFtZSwgYXJndW1l
bnRzKSk7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KLSAgICAKKwogICAgIEpTQ2VsbCogY2Vs
bCA9IGFyZ3VtZW50cy5hc0NlbGwoKTsKICAgICB1bnNpZ25lZCBsZW5ndGg7CiAgICAgc3dpdGNo
IChjZWxsLT50eXBlKCkpIHsKQEAgLTE2NiwyNSArMTY5LDI1IEBAIHVuc2lnbmVkIHNpemVPZlZh
cmFyZ3MoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTVmFsdWUgYXJndW1lbnRzLCB1aW50MzJfdCBm
aXJzdFZhCiAgICAgICAgICAgICBsZW5ndGggPSBqc0Nhc3Q8SlNPYmplY3QqPihjZWxsKS0+Z2V0
KGNhbGxGcmFtZSwgY2FsbEZyYW1lLT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoKS50b1VJbnQzMihj
YWxsRnJhbWUpOwogICAgICAgICBicmVhazsKICAgICB9Ci0gICAgCisKICAgICBpZiAobGVuZ3Ro
ID49IGZpcnN0VmFyQXJnT2Zmc2V0KQogICAgICAgICBsZW5ndGggLT0gZmlyc3RWYXJBcmdPZmZz
ZXQ7CiAgICAgZWxzZQogICAgICAgICBsZW5ndGggPSAwOwotICAgIAorCiAgICAgcmV0dXJuIGxl
bmd0aDsKIH0KIAogdW5zaWduZWQgc2l6ZUZyYW1lRm9yVmFyYXJncyhDYWxsRnJhbWUqIGNhbGxG
cmFtZSwgSlNTdGFjayogc3RhY2ssIEpTVmFsdWUgYXJndW1lbnRzLCB1bnNpZ25lZCBudW1Vc2Vk
U3RhY2tTbG90cywgdWludDMyX3QgZmlyc3RWYXJBcmdPZmZzZXQpCiB7CiAgICAgdW5zaWduZWQg
bGVuZ3RoID0gc2l6ZU9mVmFyYXJncyhjYWxsRnJhbWUsIGFyZ3VtZW50cywgZmlyc3RWYXJBcmdP
ZmZzZXQpOwotICAgIAorCiAgICAgQ2FsbEZyYW1lKiBjYWxsZWVGcmFtZSA9IGNhbGxlZUZyYW1l
Rm9yVmFyYXJncyhjYWxsRnJhbWUsIG51bVVzZWRTdGFja1Nsb3RzLCBsZW5ndGggKyAxKTsKICAg
ICBpZiAobGVuZ3RoID4gbWF4QXJndW1lbnRzIHx8ICFzdGFjay0+ZW5zdXJlQ2FwYWNpdHlGb3Io
Y2FsbGVlRnJhbWUtPnJlZ2lzdGVycygpKSkgewogICAgICAgICB0aHJvd1N0YWNrT3ZlcmZsb3dF
cnJvcihjYWxsRnJhbWUpOwogICAgICAgICByZXR1cm4gMDsKICAgICB9Ci0gICAgCisKICAgICBy
ZXR1cm4gbGVuZ3RoOwogfQogCkBAIC0xOTIsNyArMTk1LDcgQEAgdm9pZCBsb2FkVmFyYXJncyhD
YWxsRnJhbWUqIGNhbGxGcmFtZSwgVmlydHVhbFJlZ2lzdGVyIGZpcnN0RWxlbWVudERlc3QsIEpT
VmFsdWUKIHsKICAgICBpZiAoVU5MSUtFTFkoIWFyZ3VtZW50cy5pc0NlbGwoKSkpCiAgICAgICAg
IHJldHVybjsKLSAgICAKKwogICAgIEpTQ2VsbCogY2VsbCA9IGFyZ3VtZW50cy5hc0NlbGwoKTsK
ICAgICBzd2l0Y2ggKGNlbGwtPnR5cGUoKSkgewogICAgIGNhc2UgRGlyZWN0QXJndW1lbnRzVHlw
ZToKQEAgLTIyMCwxMiArMjIzLDEyIEBAIHZvaWQgbG9hZFZhcmFyZ3MoQ2FsbEZyYW1lKiBjYWxs
RnJhbWUsIFZpcnR1YWxSZWdpc3RlciBmaXJzdEVsZW1lbnREZXN0LCBKU1ZhbHVlCiB2b2lkIHNl
dHVwVmFyYXJnc0ZyYW1lKENhbGxGcmFtZSogY2FsbEZyYW1lLCBDYWxsRnJhbWUqIG5ld0NhbGxG
cmFtZSwgSlNWYWx1ZSBhcmd1bWVudHMsIHVpbnQzMl90IG9mZnNldCwgdWludDMyX3QgbGVuZ3Ro
KQogewogICAgIFZpcnR1YWxSZWdpc3RlciBjYWxsZWVGcmFtZU9mZnNldChuZXdDYWxsRnJhbWUg
LSBjYWxsRnJhbWUpOwotICAgIAorCiAgICAgbG9hZFZhcmFyZ3MoCiAgICAgICAgIGNhbGxGcmFt
ZSwKICAgICAgICAgY2FsbGVlRnJhbWVPZmZzZXQgKyBDYWxsRnJhbWU6OmFyZ3VtZW50T2Zmc2V0
KDApLAogICAgICAgICBhcmd1bWVudHMsIG9mZnNldCwgbGVuZ3RoKTsKLSAgICAKKwogICAgIG5l
d0NhbGxGcmFtZS0+c2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMobGVuZ3RoICsgMSk7CiB9
CiAKQEAgLTMzMSw3ICszMzQsNyBAQCB2b2lkIEludGVycHJldGVyOjpkdW1wUmVnaXN0ZXJzKENh
bGxGcmFtZSogY2FsbEZyYW1lKQogICAgICAgICBkYXRhTG9nRigiW3IlIDNkICUxNHNdICAgICAg
fCAlMTBwIHwgJS0xNnMgMHglbGxkIFxuIiwgcmVnaXN0ZXJOdW1iZXIsIG5hbWUuYXNjaWkoKS5k
YXRhKCksIGl0LCB0b0NTdHJpbmcodikuZGF0YSgpLCAobG9uZyBsb25nKUpTVmFsdWU6OmVuY29k
ZSh2KSk7CiAgICAgICAgIC0taXQ7CiAgICAgfQotICAgIAorCiAgICAgZGF0YUxvZ0YoIi0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tXG4iKTsKICAgICBkYXRhTG9nRigiW0FyZ3VtZW50Q291bnRdICAgICAg
ICAgICAgfCAlMTBwIHwgJWx1IFxuIiwgaXQsICh1bnNpZ25lZCBsb25nKSBjYWxsRnJhbWUtPmFy
Z3VtZW50Q291bnQoKSk7CiAgICAgLS1pdDsKQEAgLTUwNCw3ICs1MDcsNyBAQCBwdWJsaWM6CiAg
ICAgICAgICAgICAgICAgU3RhY2tGcmFtZSBzID0geyBTdHJvbmc8SlNPYmplY3Q+KHZtLCB2aXNp
dG9yLT5jYWxsZWUoKSksIFN0YWNrRnJhbWVOYXRpdmVDb2RlLCBTdHJvbmc8RXhlY3V0YWJsZUJh
c2U+KCksIFN0cm9uZzxVbmxpbmtlZENvZGVCbG9jaz4oKSwgMCwgMCwgMCwgMCwgMCwgU3RyaW5n
KCl9OwogICAgICAgICAgICAgICAgIG1fcmVzdWx0cy5hcHBlbmQocyk7CiAgICAgICAgICAgICB9
Ci0gICAgCisKICAgICAgICAgICAgIG1fcmVtYWluaW5nQ2FwYWNpdHlGb3JGcmFtZUNhcHR1cmUt
LTsKICAgICAgICAgICAgIHJldHVybiBTdGFja1Zpc2l0b3I6OkNvbnRpbnVlOwogICAgICAgICB9
CkBAIC0xMDA3LDcgKzEwMTAsNyBAQCBDYWxsRnJhbWVDbG9zdXJlIEludGVycHJldGVyOjpwcmVw
YXJlRm9yUmVwZWF0Q2FsbChGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmN0aW9uRQogewogICAgIFZN
JiB2bSA9ICpzY29wZS0+dm0oKTsKICAgICBBU1NFUlQoIXZtLmV4Y2VwdGlvbigpKTsKLSAgICAK
KwogICAgIGlmICh2bS5pc0NvbGxlY3RvckJ1c3koKSkKICAgICAgICAgcmV0dXJuIENhbGxGcmFt
ZUNsb3N1cmUoKTsKIApAQCAtMTAyOCwxMSArMTAzMSwxMSBAQCBDYWxsRnJhbWVDbG9zdXJlIElu
dGVycHJldGVyOjpwcmVwYXJlRm9yUmVwZWF0Q2FsbChGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmN0
aW9uRQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLUpTVmFsdWUgSW50ZXJwcmV0ZXI6OmV4ZWN1
dGUoQ2FsbEZyYW1lQ2xvc3VyZSYgY2xvc3VyZSkgCitKU1ZhbHVlIEludGVycHJldGVyOjpleGVj
dXRlKENhbGxGcmFtZUNsb3N1cmUmIGNsb3N1cmUpCiB7CiAgICAgVk0mIHZtID0gKmNsb3N1cmUu
dm07CiAgICAgU2FtcGxpbmdTY29wZSBzYW1wbGluZ1Njb3BlKHRoaXMpOwotICAgIAorCiAgICAg
QVNTRVJUKCF2bS5pc0NvbGxlY3RvckJ1c3koKSk7CiAgICAgUkVMRUFTRV9BU1NFUlQodm0uY3Vy
cmVudFRocmVhZElzSG9sZGluZ0FQSUxvY2soKSk7CiAgICAgaWYgKHZtLmlzQ29sbGVjdG9yQnVz
eSgpKQpAQCAtMTA2NSw3ICsxMDY4LDcgQEAgSlNWYWx1ZSBJbnRlcnByZXRlcjo6ZXhlY3V0ZShF
dmFsRXhlY3V0YWJsZSogZXZhbCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTVmFsdWUKIHsKICAg
ICBWTSYgdm0gPSAqc2NvcGUtPnZtKCk7CiAgICAgU2FtcGxpbmdTY29wZSBzYW1wbGluZ1Njb3Bl
KHRoaXMpOwotICAgIAorCiAgICAgQVNTRVJUKHNjb3BlLT52bSgpID09ICZjYWxsRnJhbWUtPnZt
KCkpOwogICAgIEFTU0VSVCghdm0uZXhjZXB0aW9uKCkpOwogICAgIEFTU0VSVCghdm0uaXNDb2xs
ZWN0b3JCdXN5KCkpOwpAQCAtMTA3NSw3ICsxMDc4LDcgQEAgSlNWYWx1ZSBJbnRlcnByZXRlcjo6
ZXhlY3V0ZShFdmFsRXhlY3V0YWJsZSogZXZhbCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTVmFs
dWUKIAogICAgIFZNRW50cnlTY29wZSBlbnRyeVNjb3BlKHZtLCBzY29wZS0+Z2xvYmFsT2JqZWN0
KCkpOwogICAgIGlmICghdm0uaXNTYWZlVG9SZWN1cnNlKCkpCi0gICAgICAgIHJldHVybiBjaGVj
a2VkUmV0dXJuKHRocm93U3RhY2tPdmVyZmxvd0Vycm9yKGNhbGxGcmFtZSkpOyAgICAgICAgCisg
ICAgICAgIHJldHVybiBjaGVja2VkUmV0dXJuKHRocm93U3RhY2tPdmVyZmxvd0Vycm9yKGNhbGxG
cmFtZSkpOwogCiAgICAgdW5zaWduZWQgbnVtVmFyaWFibGVzID0gZXZhbC0+bnVtVmFyaWFibGVz
KCk7CiAgICAgaW50IG51bUZ1bmN0aW9ucyA9IGV2YWwtPm51bWJlck9mRnVuY3Rpb25EZWNscygp
OwpAQCAtMTE3Niw3ICsxMTc5LDcgQEAgTkVWRVJfSU5MSU5FIHZvaWQgSW50ZXJwcmV0ZXI6OmRl
YnVnKENhbGxGcmFtZSogY2FsbEZyYW1lLCBEZWJ1Z0hvb2tJRCBkZWJ1Z0hvb2sKICAgICAgICAg
ICAgIGJyZWFrOwogICAgIH0KICAgICBBU1NFUlQoIWNhbGxGcmFtZS0+aGFkRXhjZXB0aW9uKCkp
OwotfSAgICAKK30KIAogdm9pZCBJbnRlcnByZXRlcjo6ZW5hYmxlU2FtcGxlcigpCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVC5jcHAKaW5kZXggNDJhODJkNDM5NDYxNjJmOTVmYTQ3NDY3NTY3MTM5
ZDRhYWYyMzg2Yi4uMTg2MGEwYWEzM2IwODE5YzRmODU1MDg1ZjVlOGI3MGZhMjMyYTQzMyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcApAQCAtMjUzLDYgKzI1Myw5IEBAIHZvaWQgSklUOjpw
cml2YXRlQ29tcGlsZU1haW5QYXNzKCkKICAgICAgICAgREVGSU5FX09QKG9wX25ld19hcnJheV9i
dWZmZXIpCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfZnVuYykKICAgICAgICAgREVGSU5FX09Q
KG9wX25ld19mdW5jX2V4cCkKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgICAgICBERUZJTkVfT1Aob3BfbmV3X2Fycm93X2Z1bmNfZXhwKQorI2VuZGlmICAKICAgICAg
ICAgREVGSU5FX09QKG9wX25ld19vYmplY3QpCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfcmVn
ZXhwKQogICAgICAgICBERUZJTkVfT1Aob3Bfbm90KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKaW5k
ZXggZWU0ODU1ZGMyZTc4YjU1YWNjNDU5OWViZGI5OWEwZDhlMDhiZTdjYy4uNTYzOGQ1YzdjNzRh
ZWM3YzBhYjE5NWY5N2JiMzIxYmVlMDNjNzM3YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCkBA
IC01MjIsNiArNTIyLDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9u
ZXdfYXJyYXlfYnVmZmVyKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdf
ZnVuYyhJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2Z1bmNfZXhwKElu
c3RydWN0aW9uKik7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAg
ICAgdm9pZCBlbWl0X29wX25ld19hcnJvd19mdW5jX2V4cChJbnN0cnVjdGlvbiopOworI2VuZGlm
CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfb2JqZWN0KEluc3RydWN0aW9uKik7CiAgICAgICAg
IHZvaWQgZW1pdF9vcF9uZXdfcmVnZXhwKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1p
dF9vcF9ub3QoSW5zdHJ1Y3Rpb24qKTsKQEAgLTcwNSw2ICs3MDgsNyBAQCBuYW1lc3BhY2UgSlND
IHsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJh
dGlvbl9FSkosIGludCwgR1BSUmVnLCBHUFJSZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6
Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2MsIEdQUlJlZyk7CiAgICAgICAg
IE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0Ms
IGludCwgR1BSUmVnLCBKU0NlbGwqKTsKKyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2Fs
bE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0osIGludCwgR1BSUmVnLCBKU0NlbGwqLCBH
UFJSZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklU
T3BlcmF0aW9uX0VKc2NaLCBHUFJSZWcsIGludDMyX3QpOwogICAgICAgICBNYWNyb0Fzc2VtYmxl
cjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2NaLCBpbnQsIEdQUlJlZywg
aW50MzJfdCk7CiAjaWYgVVNFKEpTVkFMVUU2NCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUSW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJ
bmxpbmVzLmgKaW5kZXggOWVlMjRkMDkyMjhhOTg4MmVhNzY5NjI5ZDFhODdiNmMzNGE4NjMzNC4u
YTBlNDBjNWM2MWZlNjNlOTg2M2VkMjIzZWRmNWQ0NTFmMzE4YTc3NCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKQEAgLTI3MSw2ICsyNzEsMTIgQEAgQUxXQVlTX0lOTElO
RSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25f
RUpzY0Mgb3BlcmEKICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldEpT
VmFsdWVSZXN1bHQob3BlcmF0aW9uLCBkc3QpOwogfQogCitBTFdBWVNfSU5MSU5FIE1hY3JvQXNz
ZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0ogb3Bl
cmF0aW9uLCBpbnQgZHN0LCBHUFJSZWcgYXJnMSwgSlNDZWxsKiBjZWxsLCBHUFJSZWcgYXJnMikK
K3sKKyAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihj
ZWxsKSwgYXJnMik7CisgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRK
U1ZhbHVlUmVzdWx0KG9wZXJhdGlvbiwgZHN0KTsKK30KKyAgICAKIEFMV0FZU19JTkxJTkUgTWFj
cm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VQIG9w
ZXJhdGlvbiwgaW50IGRzdCwgdm9pZCogcG9pbnRlcikKIHsKICAgICBzZXR1cEFyZ3VtZW50c1dp
dGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihwb2ludGVyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRPcGNvZGVzLmNwcAppbmRleCBkM2Q1ODBlOWUyNjAwODUzYjY2NDllMjg1OTE4Zjg1
MzhiZTY5NDRjLi44OGUzYzA1MjM3NzFjMWMxMTBiNGY2OWE4OTJiYjgwZmU0OWRmOGIwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKQEAgLTk3Miw2ICs5NzIsMzIg
QEAgdm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2Z1bmNfZXhwKEluc3RydWN0aW9uKiBjdXJyZW50SW5z
dHJ1Y3Rpb24pCiAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25OZXdGdW5jdGlvbiwgZHN0LCBy
ZWdUMCwgZnVuY0V4cHIpOwogICAgIGRvbmUubGluayh0aGlzKTsKIH0KKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2Fycm93X2Z1bmNf
ZXhwKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCit7CisgICAgSnVtcCBub3RVbmRl
ZmluZWRTY29wZTsKKyAgICBpbnQgZHN0ID0gY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFu
ZDsKKyNpZiBVU0UoSlNWQUxVRTY0KQorICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVu
dEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCwgcmVnVDApOworICAgIG5vdFVuZGVmaW5lZFNjb3Bl
ID0gYnJhbmNoNjQoTm90RXF1YWwsIHJlZ1QwLCBUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5jb2Rl
KGpzVW5kZWZpbmVkKCkpKSk7CisgICAgc3RvcmU2NChUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5j
b2RlKGpzVW5kZWZpbmVkKCkpKSwgQWRkcmVzcyhjYWxsRnJhbWVSZWdpc3Rlciwgc2l6ZW9mKFJl
Z2lzdGVyKSAqIGRzdCkpOworI2Vsc2UKKyAgICBlbWl0TG9hZFBheWxvYWQoY3VycmVudEluc3Ry
dWN0aW9uWzJdLnUub3BlcmFuZCwgcmVnVDApOworICAgIG5vdFVuZGVmaW5lZFNjb3BlID0gYnJh
bmNoMzIoTm90RXF1YWwsIHRhZ0ZvcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSwg
VHJ1c3RlZEltbTMyKEpTVmFsdWU6OlVuZGVmaW5lZFRhZykpOworICAgIGVtaXRTdG9yZShkc3Qs
IGpzVW5kZWZpbmVkKCkpOworI2VuZGlmCisgICAgSnVtcCBkb25lID0ganVtcCgpOworICAgIG5v
dFVuZGVmaW5lZFNjb3BlLmxpbmsodGhpcyk7CisgICAgCisvLyBGaXhtZTogaXMgdGhlcmUgbmVj
ZXNzYXJ5IHRvIGRvIHNvbWUgY2hlY2sgZm9yIDY0LzMyIGJpdCBhbmQgbWFrZSBzb21lIGFkZGl0
aW9uYWwgY2hlY2tzPworICAgIGludCB2YWx1ZVRvUHJvZmlsZSA9IGN1cnJlbnRJbnN0cnVjdGlv
bls0XS51Lm9wZXJhbmQ7CisgICAgZW1pdEdldFZpcnR1YWxSZWdpc3Rlcih2YWx1ZVRvUHJvZmls
ZSwgcmVnVDEpOworICAgIAorICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZnVuY0V4cHIgPSBtX2Nv
ZGVCbG9jay0+ZnVuY3Rpb25FeHByKGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9wZXJhbmQpOwor
ICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbiwgZHN0LCByZWdUMCwg
ZnVuY0V4cHIsIHJlZ1QxKTsKKyAgICBkb25lLmxpbmsodGhpcyk7Cit9CisjZW5kaWYKIAogdm9p
ZCBKSVQ6OmVtaXRfb3BfbmV3X2FycmF5KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24p
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAppbmRleCBj
NjUxZWFjNzZmYzllNzhhZmY4Y2JiNDQ1OGMyMTc0M2E5NTVkYTUwLi5jN2NmMzUxNjQyMTBkYTM2
NDViM2E0ZjIyOWJlN2E2OTYyZmZjNzRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUT3BlcmF0aW9ucy5jcHAKQEAgLTQyLDYgKzQyLDEwIEBACiAjaW5jbHVkZSAiSG9zdENhbGxS
ZXR1cm5WYWx1ZS5oIgogI2luY2x1ZGUgIkpJVC5oIgogI2luY2x1ZGUgIkpJVFRvREZHRGVmZXJy
ZWRDb21waWxhdGlvbkNhbGxiYWNrLmgiCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNlbmRpZgorI2luY2x1ZGUgIkpT
Qm91bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0Nh
dGNoU2NvcGUuaCIKICNpbmNsdWRlICJKU0Z1bmN0aW9uTmFtZVNjb3BlLmgiCkBAIC05MzIsNyAr
OTM2LDIyIEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3RnVuY3Rp
b24oRXhlY1N0YXRlKiBleGVjLCBKU1Njb3BlKiBzY29wCiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJh
Y2VyIHRyYWNlcigmdm0sIGV4ZWMpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNGdW5j
dGlvbjo6Y3JlYXRlKHZtLCBzdGF0aWNfY2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihmdW5jdGlv
bkV4ZWN1dGFibGUpLCBzY29wZSkpOwogfQotCisgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3
QXJyb3dGdW5jdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTU2NvcGUqIHNjb3BlLCBKU0NlbGwqIGZ1
bmN0aW9uRXhlY3V0YWJsZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlKQoreworICAgIEFTU0VS
VChmdW5jdGlvbkV4ZWN1dGFibGUtPmluaGVyaXRzKEZ1bmN0aW9uRXhlY3V0YWJsZTo6aW5mbygp
KSk7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIg
dHJhY2VyKCZ2bSwgZXhlYyk7CisgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGV4
ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNB
cnJvd0Z1bmN0aW9uOjpjcmVhdGUodm0sIHNjb3BlLCBzdGF0aWNfY2FzdDxGdW5jdGlvbkV4ZWN1
dGFibGUqPihmdW5jdGlvbkV4ZWN1dGFibGUpLCBnbG9iYWxPYmplY3QpOworICAgIAorICAgIEpT
QXJyYXkqIGJvdW5kQXJncyA9IEpTQXJyYXk6OnRyeUNyZWF0ZVVuaW5pdGlhbGl6ZWQodm0sIGds
b2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5cGVEdXJpbmdBbGxvY2F0aW9u
KEFycmF5V2l0aFVuZGVjaWRlZCksIDApOworICAgIAorICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoSlNCb3VuZEZ1bmN0aW9uOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgZnVuYywgSlNWYWx1
ZTo6ZGVjb2RlKHRoaXNWYWx1ZSksIGJvdW5kQXJncywgMCwgIiIpKTsKK30KKyNlbmRpZgorICAg
IAogSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3RhdGUqIGV4
ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaAppbmRleCA0ZGVjZWY0ZWI4
YjQ4YmI5MzdkNTRkMGI2MDRiOWI3NzY3YTRlYTYxLi5kNzE3ZjZmZTk0ZGNhMWRjZjMzYmQ4NjZl
NjIyODU4YjU2OTcxNTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VE9wZXJhdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlv
bnMuaApAQCAtMTE2LDYgKzExNiw3IEBAIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJB
VElPTiAoKkpfSklUT3BlcmF0aW9uX0VQUCkoRXhlY1N0YXRlKiwgdm9pZCosIHZvCiB0eXBlZGVm
IEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FUFMpKEV4ZWNT
dGF0ZSosIHZvaWQqLCBzaXplX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OICgqSl9KSVRPcGVyYXRpb25fRVBjKShFeGVjU3RhdGUqLCBJbnN0cnVjdGlvbiopOwogdHlw
ZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUpzY0Mp
KEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKTsKK3R5cGVkZWYgRW5jb2RlZEpTVmFsdWUg
SklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VKc2NDSikoRXhlY1N0YXRlKiwgSlNTY29w
ZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklU
X09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTUykoRXhlY1N0YXRlKiwgc2l6ZV90LCBzaXpl
X3QpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRp
b25fRVNzaUNJKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEpTQ2VsbCosIFN0cmlu
Z0ltcGwqKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3Bl
cmF0aW9uX0VTc2lKSSkoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNW
YWx1ZSwgU3RyaW5nSW1wbCopOwpAQCAtMjc4LDYgKzI3OSwxMCBAQCBFbmNvZGVkSlNWYWx1ZSBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5V2l0aFByb2ZpbGUoRXhlY1N0YXRlKiwgQXJy
YXlBbGxvYwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJheUJ1
ZmZlcldpdGhQcm9maWxlKEV4ZWNTdGF0ZSosIEFycmF5QWxsb2NhdGlvblByb2ZpbGUqLCBjb25z
dCBKU1ZhbHVlKiB2YWx1ZXMsIGludDMyX3Qgc2l6ZSkgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJheVdpdGhTaXplQW5kUHJvZmlsZShF
eGVjU3RhdGUqLCBBcnJheUFsbG9jYXRpb25Qcm9maWxlKiwgRW5jb2RlZEpTVmFsdWUgc2l6ZSkg
V1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdG
dW5jdGlvbihFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKikgV1RGX0lOVEVSTkFMOworI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24oRXhlY1N0YXRlKiwgSlNTY29wZSosIEpT
Q2VsbCosIEVuY29kZWRKU1ZhbHVlKSBXVEZfSU5URVJOQUw7CisjZW5kaWYKKyAgICAKIEpTQ2Vs
bCogSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdPYmplY3QoRXhlY1N0YXRlKiwgU3RydWN0dXJl
KikgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25O
ZXdSZWdleHAoRXhlY1N0YXRlKiwgdm9pZCopIFdURl9JTlRFUk5BTDsKIHZvaWQgSklUX09QRVJB
VElPTiBvcGVyYXRpb25IYW5kbGVXYXRjaGRvZ1RpbWVyKEV4ZWNTdGF0ZSopIFdURl9JTlRFUk5B
TDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRo
cy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCmlu
ZGV4IGRiNDMxMGVjNTY5OWVmOWVkYzk4YzUzM2MyOTk0Y2ZiYzViMzkzMWQuLjBmNWY1NjBkOTMx
MjhhZjI4NDdjMDcyMTNiYTM0NGI5ZTg2OGIyODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcApAQCAtMzgsNiArMzgsMTAgQEAKICNpbmNsdWRl
ICJJbnRlcnByZXRlci5oIgogI2luY2x1ZGUgIkpJVC5oIgogI2luY2x1ZGUgIkpJVEV4Y2VwdGlv
bnMuaCIKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorI2luY2x1ZGUgIkpT
QXJyb3dGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgorI2VuZGlmCiAj
aW5jbHVkZSAiSlNMZXhpY2FsRW52aXJvbm1lbnQuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgi
CiAjaW5jbHVkZSAiSlNDSlNWYWx1ZS5oIgpAQCAtOTkyLDYgKzk5NiwyNCBAQCBMTElOVF9TTE9X
X1BBVEhfREVDTChzbG93X3BhdGhfbmV3X2Z1bmNfZXhwKQogICAgIExMSU5UX1JFVFVSTihmdW5j
KTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitMTElOVF9TTE9X
X1BBVEhfREVDTChzbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKQoreworICAgIExMSU5UX0JF
R0lOKCk7CisgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVjLT5jb2RlQmxvY2soKTsKKyAg
ICBKU1Njb3BlKiBzY29wZSA9IGV4ZWMtPnVuY2hlY2tlZFIocGNbMl0udS5vcGVyYW5kKS5SZWdp
c3Rlcjo6c2NvcGUoKTsKKyAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmN0aW9uID0gY29kZUJs
b2NrLT5mdW5jdGlvbkV4cHIocGNbM10udS5vcGVyYW5kKTsKKyAgICBKU1ZhbHVlIHRoaXNWYWx1
ZSA9IExMSU5UX09QX0MoNCkuanNWYWx1ZSgpOworICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QgPSBleGVjLT5jYWxsZWUoKS0+Z2xvYmFsT2JqZWN0KCk7CisgICAgCisgICAgSlNGdW5j
dGlvbiogZnVuYyA9IEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlKHZtLCBzY29wZSwgZnVuY3Rpb24s
IGdsb2JhbE9iamVjdCk7CisgICAgCisgICAgSlNBcnJheSogYm91bmRBcmdzID0gSlNBcnJheTo6
dHJ5Q3JlYXRlVW5pbml0aWFsaXplZCh2bSwgZ2xvYmFsT2JqZWN0LT5hcnJheVN0cnVjdHVyZUZv
ckluZGV4aW5nVHlwZUR1cmluZ0FsbG9jYXRpb24oQXJyYXlXaXRoVW5kZWNpZGVkKSwgMCk7Cisg
ICAgCisgICAgTExJTlRfUkVUVVJOKEpTQm91bmRGdW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxP
YmplY3QsIGZ1bmMsIHRoaXNWYWx1ZSwgYm91bmRBcmdzLCAwLCAiIikpOworfQorI2VuZGlmCisK
IHN0YXRpYyBTbG93UGF0aFJldHVyblR5cGUgaGFuZGxlSG9zdENhbGwoRXhlY1N0YXRlKiBleGVj
Q2FsbGVlLCBJbnN0cnVjdGlvbiogcGMsIEpTVmFsdWUgY2FsbGVlLCBDb2RlU3BlY2lhbGl6YXRp
b25LaW5kIGtpbmQpCiB7CiAgICAgVU5VU0VEX1BBUkFNKHBjKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgKaW5kZXggNGJmN2RlYjBmYTBiNmM2NDM4ZTM2
Zjk2MzIwZTJmNjY5NzM5YWY2NC4uYzdmYWI5NjkxYzE4YjkzOTU2ZDBlYTI5ZjMzOTU2MTE4YzVl
NzFlZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1Bh
dGhzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgK
QEAgLTk2LDYgKzk2LDcgQEAgTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9z
d2l0Y2hfY2hhcik7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3N3aXRj
aF9zdHJpbmcpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdfZnVu
Yyk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX25ld19mdW5jX2V4cCk7
CitMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX25ld19hcnJvd19mdW5jX2V4
cCk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX2NhbGwpOwogTExJTlRf
U0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9jb25zdHJ1Y3QpOwogTExJTlRfU0xPV19Q
QVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9zaXplX2ZyYW1lX2Zvcl92YXJhcmdzKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQpp
bmRleCA0M2VkN2U4ZjJlMTg3NDkyZWYwYjA4NTVlY2ZiNzI2Nzk4NTkxNzdhLi5lOGFjYzIwN2Rl
YjE4ZGM4NDlkOTlhMzBiYjRiZDQyOTJlODcxYTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCkBAIC0xMTcxLDYgKzExNzEs
MTAgQEAgX2xsaW50X29wX25ld19mdW5jX2V4cDoKICAgICBjYWxsU2xvd1BhdGgoX2xsaW50X3Ns
b3dfcGF0aF9uZXdfZnVuY19leHApCiAgICAgZGlzcGF0Y2goNCkKIAorX2xsaW50X29wX25ld19h
cnJvd19mdW5jX2V4cDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2FsbFNsb3dQYXRoKF9s
bGludF9zbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKQorICAgIGRpc3BhdGNoKDUpCiAKIF9s
bGludF9vcF9jYWxsOgogICAgIHRyYWNlRXhlY3V0aW9uKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9BU1RCdWlsZGVyLmgKaW5kZXggYzQ4ZTQxYzU4NjVkZmQ1MDA3NGY0OWRiYTEzZGM3
NDYyOTY2M2VkMS4uYjhhMDZmYmUzMGM1OGYwMGRjMjJlMjcwYzc3MjU0YmI4ZWY5YzAwZCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKQEAgLTU1LDggKzU1LDgg
QEAgY2xhc3MgQVNUQnVpbGRlciB7CiAgICAgICAgIEpTVGV4dFBvc2l0aW9uIGVuZDsKICAgICAg
ICAgYm9vbCBoYXNBc3NpZ25tZW50OwogICAgIH07Ci0gICAgCi0gICAgCisKKwogICAgIHN0cnVj
dCBBc3NpZ25tZW50SW5mbyB7CiAgICAgICAgIEFzc2lnbm1lbnRJbmZvKCkge30KICAgICAgICAg
QXNzaWdubWVudEluZm8oRXhwcmVzc2lvbk5vZGUqIG5vZGUsIGNvbnN0IEpTVGV4dFBvc2l0aW9u
JiBzdGFydCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGRpdm90LCBpbnQgaW5pdEFzc2lnbm1lbnRz
LCBPcGVyYXRvciBvcCkKQEAgLTgzLDcgKzgzLDcgQEAgcHVibGljOgogICAgICAgICAsIG1fZXZh
bENvdW50KDApCiAgICAgewogICAgIH0KLSAgICAKKwogICAgIHN0cnVjdCBCaW5hcnlFeHByQ29u
dGV4dCB7CiAgICAgICAgIEJpbmFyeUV4cHJDb250ZXh0KEFTVEJ1aWxkZXImKSB7fQogICAgIH07
CkBAIC0zMDIsMTcgKzMwMiwzMCBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgRnVuY3Rpb25Cb2R5
Tm9kZSogY3JlYXRlRnVuY3Rpb25Cb2R5KAotICAgICAgICBjb25zdCBKU1Rva2VuTG9jYXRpb24m
IHN0YXJ0TG9jYXRpb24sIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgZW5kTG9jYXRpb24sIAotICAg
ICAgICB1bnNpZ25lZCBzdGFydENvbHVtbiwgdW5zaWduZWQgZW5kQ29sdW1uLCBpbnQgZnVuY3Rp
b25LZXl3b3JkU3RhcnQsIAotICAgICAgICBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIGludCBwYXJh
bWV0ZXJzU3RhcnQsIGJvb2wgaW5TdHJpY3RDb250ZXh0LCAKKyAgICAgICAgY29uc3QgSlNUb2tl
bkxvY2F0aW9uJiBzdGFydExvY2F0aW9uLCBjb25zdCBKU1Rva2VuTG9jYXRpb24mIGVuZExvY2F0
aW9uLAorICAgICAgICB1bnNpZ25lZCBzdGFydENvbHVtbiwgdW5zaWduZWQgZW5kQ29sdW1uLCBp
bnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsCisgICAgICAgIGludCBmdW5jdGlvbk5hbWVTdGFydCwg
aW50IHBhcmFtZXRlcnNTdGFydCwgYm9vbCBpblN0cmljdENvbnRleHQsCiAgICAgICAgIENvbnN0
cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQpCiAgICAgewogICAgICAgICByZXR1cm4gbmV3ICht
X3BhcnNlckFyZW5hKSBGdW5jdGlvbkJvZHlOb2RlKAotICAgICAgICAgICAgbV9wYXJzZXJBcmVu
YSwgc3RhcnRMb2NhdGlvbiwgZW5kTG9jYXRpb24sIHN0YXJ0Q29sdW1uLCBlbmRDb2x1bW4sIAot
ICAgICAgICAgICAgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJh
bWV0ZXJzU3RhcnQsIAorICAgICAgICAgICAgbV9wYXJzZXJBcmVuYSwgc3RhcnRMb2NhdGlvbiwg
ZW5kTG9jYXRpb24sIHN0YXJ0Q29sdW1uLCBlbmRDb2x1bW4sCisgICAgICAgICAgICBmdW5jdGlv
bktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwKICAgICAg
ICAgICAgIGluU3RyaWN0Q29udGV4dCwgY29uc3RydWN0b3JLaW5kKTsKICAgICB9CiAKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEV4cHJlc3Npb25Ob2RlKiBjcmVh
dGVBcnJvd0Z1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25z
dCBQYXJzZXJGdW5jdGlvbkluZm88QVNUQnVpbGRlcj4mIGluZm8pCisgICAgeworICAgICAgICBT
b3VyY2VDb2RlIHNvdXJjZSA9IGluZm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVu
Y3Rpb25Cb2R5RXhwcmVzc2lvbgorICAgICAgICA/IG1fc291cmNlQ29kZS0+c3ViQXJyb3dFeHBy
ZXNzaW9uKGluZm8uYXJyb3dGdW5jdGlvbk9mZnNldCwgaW5mby5jbG9zZUJyYWNlT2Zmc2V0LCBp
bmZvLmJvZHlTdGFydExpbmUsIGluZm8uYm9keVN0YXJ0Q29sdW1uKQorICAgICAgICA6IG1fc291
cmNlQ29kZS0+c3ViRXhwcmVzc2lvbihpbmZvLm9wZW5CcmFjZU9mZnNldCwgaW5mby5jbG9zZUJy
YWNlT2Zmc2V0LCBpbmZvLmJvZHlTdGFydExpbmUsIGluZm8uYm9keVN0YXJ0Q29sdW1uKTsKKwor
ICAgICAgICBBcnJvd0Z1bmNFeHByTm9kZSogcmVzdWx0ID0gbmV3IChtX3BhcnNlckFyZW5hKSBB
cnJvd0Z1bmNFeHByTm9kZShsb2NhdGlvbiwgKmluZm8ubmFtZSwgaW5mby5ib2R5LCBzb3VyY2Us
IGluZm8ucGFyYW1ldGVycyk7CisgICAgICAgIGluZm8uYm9keS0+c2V0TG9jKGluZm8uYm9keVN0
YXJ0TGluZSwgaW5mby5ib2R5RW5kTGluZSwgbG9jYXRpb24uc3RhcnRPZmZzZXQsIGxvY2F0aW9u
LmxpbmVTdGFydE9mZnNldCk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorI2VuZGlm
CisKICAgICBORVZFUl9JTkxJTkUgUHJvcGVydHlOb2RlKiBjcmVhdGVHZXR0ZXJPclNldHRlclBy
b3BlcnR5KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIFByb3BlcnR5Tm9kZTo6VHlw
ZSB0eXBlLCBib29sLAogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBuYW1lLCBjb25zdCBQYXJz
ZXJGdW5jdGlvbkluZm88QVNUQnVpbGRlcj4mIGluZm8sIFN1cGVyQmluZGluZyBzdXBlckJpbmRp
bmcpCiAgICAgewpAQCAtMzIzLDcgKzMzNiw3IEBAIHB1YmxpYzoKICAgICAgICAgRnVuY0V4cHJO
b2RlKiBmdW5jRXhwciA9IG5ldyAobV9wYXJzZXJBcmVuYSkgRnVuY0V4cHJOb2RlKGxvY2F0aW9u
LCBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllciwgaW5mby5ib2R5LCBzb3VyY2Us
IGluZm8ucGFyYW1ldGVycyk7CiAgICAgICAgIHJldHVybiBuZXcgKG1fcGFyc2VyQXJlbmEpIFBy
b3BlcnR5Tm9kZSgqbmFtZSwgZnVuY0V4cHIsIHR5cGUsIFByb3BlcnR5Tm9kZTo6VW5rbm93biwg
c3VwZXJCaW5kaW5nKTsKICAgICB9Ci0gICAgCisKICAgICBORVZFUl9JTkxJTkUgUHJvcGVydHlO
b2RlKiBjcmVhdGVHZXR0ZXJPclNldHRlclByb3BlcnR5KFZNKiB2bSwgUGFyc2VyQXJlbmEmIHBh
cnNlckFyZW5hLCBjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBQcm9wZXJ0eU5vZGU6
OlR5cGUgdHlwZSwgYm9vbCwKICAgICAgICAgZG91YmxlIG5hbWUsIGNvbnN0IFBhcnNlckZ1bmN0
aW9uSW5mbzxBU1RCdWlsZGVyPiYgaW5mbywgU3VwZXJCaW5kaW5nIHN1cGVyQmluZGluZykKICAg
ICB7CkBAIC00MjEsMTMgKzQzNCwxMyBAQCBwdWJsaWM6CiAgICAgICAgIHNldEV4Y2VwdGlvbkxv
Y2F0aW9uKHJlc3VsdCwgZVN0YXJ0LCBlRGl2b3QsIGVFbmQpOwogICAgICAgICByZXR1cm4gcmVz
dWx0OwogICAgIH0KLSAgICAKKwogICAgIFN0YXRlbWVudE5vZGUqIGNyZWF0ZUZvckluTG9vcChj
b25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBQYXNzUmVmUHRyPERlY29uc3RydWN0aW9u
UGF0dGVybk5vZGU+IHBhdHRlcm4sIEV4cHJlc3Npb25Ob2RlKiBpdGVyLCBTdGF0ZW1lbnROb2Rl
KiBzdGF0ZW1lbnRzLCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZVN0YXJ0LCBjb25zdCBKU1RleHRQ
b3NpdGlvbiYgZURpdm90LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZUVuZCwgaW50IHN0YXJ0LCBp
bnQgZW5kKQogICAgIHsKICAgICAgICAgYXV0byBsZXhwciA9IG5ldyAobV9wYXJzZXJBcmVuYSkg
RGVjb25zdHJ1Y3RpbmdBc3NpZ25tZW50Tm9kZShsb2NhdGlvbiwgcGF0dGVybi5nZXQoKSwgMCk7
CiAgICAgICAgIHJldHVybiBjcmVhdGVGb3JJbkxvb3AobG9jYXRpb24sIGxleHByLCBpdGVyLCBz
dGF0ZW1lbnRzLCBlU3RhcnQsIGVEaXZvdCwgZUVuZCwgc3RhcnQsIGVuZCk7CiAgICAgfQotICAg
IAorCiAgICAgU3RhdGVtZW50Tm9kZSogY3JlYXRlRm9yT2ZMb29wKGNvbnN0IEpTVG9rZW5Mb2Nh
dGlvbiYgbG9jYXRpb24sIEV4cHJlc3Npb25Ob2RlKiBsaHMsIEV4cHJlc3Npb25Ob2RlKiBpdGVy
LCBTdGF0ZW1lbnROb2RlKiBzdGF0ZW1lbnRzLCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZVN0YXJ0
LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZURpdm90LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZUVu
ZCwgaW50IHN0YXJ0LCBpbnQgZW5kKQogICAgIHsKICAgICAgICAgRm9yT2ZOb2RlKiByZXN1bHQg
PSBuZXcgKG1fcGFyc2VyQXJlbmEpIEZvck9mTm9kZShsb2NhdGlvbiwgbGhzLCBpdGVyLCBzdGF0
ZW1lbnRzKTsKQEAgLTQzNSw3ICs0NDgsNyBAQCBwdWJsaWM6CiAgICAgICAgIHNldEV4Y2VwdGlv
bkxvY2F0aW9uKHJlc3VsdCwgZVN0YXJ0LCBlRGl2b3QsIGVFbmQpOwogICAgICAgICByZXR1cm4g
cmVzdWx0OwogICAgIH0KLSAgICAKKwogICAgIFN0YXRlbWVudE5vZGUqIGNyZWF0ZUZvck9mTG9v
cChjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBQYXNzUmVmUHRyPERlY29uc3RydWN0
aW9uUGF0dGVybk5vZGU+IHBhdHRlcm4sIEV4cHJlc3Npb25Ob2RlKiBpdGVyLCBTdGF0ZW1lbnRO
b2RlKiBzdGF0ZW1lbnRzLCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZVN0YXJ0LCBjb25zdCBKU1Rl
eHRQb3NpdGlvbiYgZURpdm90LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZUVuZCwgaW50IHN0YXJ0
LCBpbnQgZW5kKQogICAgIHsKICAgICAgICAgYXV0byBsZXhwciA9IG5ldyAobV9wYXJzZXJBcmVu
YSkgRGVjb25zdHJ1Y3RpbmdBc3NpZ25tZW50Tm9kZShsb2NhdGlvbiwgcGF0dGVybi5nZXQoKSwg
MCk7CkBAIC01MzAsOCArNTQzLDggQEAgcHVibGljOgogICAgICAgICBXaXRoTm9kZSogcmVzdWx0
ID0gbmV3IChtX3BhcnNlckFyZW5hKSBXaXRoTm9kZShsb2NhdGlvbiwgZXhwciwgc3RhdGVtZW50
LCBlbmQsIGVuZCAtIHN0YXJ0KTsKICAgICAgICAgcmVzdWx0LT5zZXRMb2Moc3RhcnRMaW5lLCBl
bmRMaW5lLCBsb2NhdGlvbi5zdGFydE9mZnNldCwgbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0KTsK
ICAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSAgICB9ICAgIAotICAgIAorICAgIH0KKwogICAgIFN0
YXRlbWVudE5vZGUqIGNyZWF0ZVRocm93U3RhdGVtZW50KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYg
bG9jYXRpb24sIEV4cHJlc3Npb25Ob2RlKiBleHByLCBjb25zdCBKU1RleHRQb3NpdGlvbiYgc3Rh
cnQsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBlbmQpCiAgICAgewogICAgICAgICBUaHJvd05vZGUq
IHJlc3VsdCA9IG5ldyAobV9wYXJzZXJBcmVuYSkgVGhyb3dOb2RlKGxvY2F0aW9uLCBleHByKTsK
QEAgLTUzOSwxNCArNTUyLDE0IEBAIHB1YmxpYzoKICAgICAgICAgc2V0RXhjZXB0aW9uTG9jYXRp
b24ocmVzdWx0LCBzdGFydCwgZW5kLCBlbmQpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAg
IH0KLSAgICAKKwogICAgIFN0YXRlbWVudE5vZGUqIGNyZWF0ZURlYnVnZ2VyKGNvbnN0IEpTVG9r
ZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGludCBzdGFydExpbmUsIGludCBlbmRMaW5lKQogICAgIHsK
ICAgICAgICAgRGVidWdnZXJTdGF0ZW1lbnROb2RlKiByZXN1bHQgPSBuZXcgKG1fcGFyc2VyQXJl
bmEpIERlYnVnZ2VyU3RhdGVtZW50Tm9kZShsb2NhdGlvbik7CiAgICAgICAgIHJlc3VsdC0+c2V0
TG9jKHN0YXJ0TGluZSwgZW5kTGluZSwgbG9jYXRpb24uc3RhcnRPZmZzZXQsIGxvY2F0aW9uLmxp
bmVTdGFydE9mZnNldCk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIAorCiAg
ICAgU3RhdGVtZW50Tm9kZSogY3JlYXRlQ29uc3RTdGF0ZW1lbnQoY29uc3QgSlNUb2tlbkxvY2F0
aW9uJiBsb2NhdGlvbiwgQ29uc3REZWNsTm9kZSogZGVjbHMsIGludCBzdGFydExpbmUsIGludCBl
bmRMaW5lKQogICAgIHsKICAgICAgICAgQ29uc3RTdGF0ZW1lbnROb2RlKiByZXN1bHQgPSBuZXcg
KG1fcGFyc2VyQXJlbmEpIENvbnN0U3RhdGVtZW50Tm9kZShsb2NhdGlvbiwgZGVjbHMpOwpAQCAt
NjI5LDcgKzY0Miw3IEBAIHB1YmxpYzoKICAgICAgICAgbV9iaW5hcnlPcGVyYW5kU3RhY2sucmVt
b3ZlTGFzdCgpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KLSAgICAKKwogICAgIHZv
aWQgYXBwZW5kVW5hcnlUb2tlbihpbnQmIHRva2VuU3RhY2tEZXB0aCwgaW50IHR5cGUsIGNvbnN0
IEpTVGV4dFBvc2l0aW9uJiBzdGFydCkKICAgICB7CiAgICAgICAgIHRva2VuU3RhY2tEZXB0aCsr
OwpAQCAtNjQwLDE4ICs2NTMsMTggQEAgcHVibGljOgogICAgIHsKICAgICAgICAgcmV0dXJuIG1f
dW5hcnlUb2tlblN0YWNrLmxhc3QoKS5maXJzdDsKICAgICB9Ci0gICAgCisKICAgICBjb25zdCBK
U1RleHRQb3NpdGlvbiYgdW5hcnlUb2tlblN0YWNrTGFzdFN0YXJ0KGludCYpCiAgICAgewogICAg
ICAgICByZXR1cm4gbV91bmFyeVRva2VuU3RhY2subGFzdCgpLnNlY29uZDsKICAgICB9Ci0gICAg
CisKICAgICB2b2lkIHVuYXJ5VG9rZW5TdGFja1JlbW92ZUxhc3QoaW50JiB0b2tlblN0YWNrRGVw
dGgpCiAgICAgewogICAgICAgICB0b2tlblN0YWNrRGVwdGgtLTsKICAgICAgICAgbV91bmFyeVRv
a2VuU3RhY2sucmVtb3ZlTGFzdCgpOwogICAgIH0KLSAgICAKKwogICAgIHZvaWQgYXNzaWdubWVu
dFN0YWNrQXBwZW5kKGludCYgYXNzaWdubWVudFN0YWNrRGVwdGgsIEV4cHJlc3Npb25Ob2RlKiBu
b2RlLCBjb25zdCBKU1RleHRQb3NpdGlvbiYgc3RhcnQsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBk
aXZvdCwgaW50IGFzc2lnbm1lbnRDb3VudCwgT3BlcmF0b3Igb3ApCiAgICAgewogICAgICAgICBh
c3NpZ25tZW50U3RhY2tEZXB0aCsrOwpAQCAtNjY4LDcgKzY4MSw3IEBAIHB1YmxpYzoKICAgICAg
ICAgYXNzaWdubWVudFN0YWNrRGVwdGgtLTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9
Ci0gICAgCisKICAgICBjb25zdCBJZGVudGlmaWVyKiBnZXROYW1lKFByb3BlcnR5IHByb3BlcnR5
KSBjb25zdCB7IHJldHVybiBwcm9wZXJ0eS0+bmFtZSgpOyB9CiAgICAgUHJvcGVydHlOb2RlOjpU
eXBlIGdldFR5cGUoUHJvcGVydHkgcHJvcGVydHkpIGNvbnN0IHsgcmV0dXJuIHByb3BlcnR5LT50
eXBlKCk7IH0KIApAQCAtNjc4LDEyICs2OTEsMTIgQEAgcHVibGljOgogICAgIHsKICAgICAgICAg
cmV0dXJuIG5ldyAobV9wYXJzZXJBcmVuYSkgRGVjb25zdHJ1Y3RpbmdBc3NpZ25tZW50Tm9kZShs
b2NhdGlvbiwgcGF0dGVybi5nZXQoKSwgaW5pdGlhbGl6ZXIpOwogICAgIH0KLSAgICAKKwogICAg
IEFycmF5UGF0dGVybiBjcmVhdGVBcnJheVBhdHRlcm4oY29uc3QgSlNUb2tlbkxvY2F0aW9uJikK
ICAgICB7CiAgICAgICAgIHJldHVybiBBcnJheVBhdHRlcm5Ob2RlOjpjcmVhdGUoKTsKICAgICB9
Ci0gICAgCisKICAgICB2b2lkIGFwcGVuZEFycmF5UGF0dGVyblNraXBFbnRyeShBcnJheVBhdHRl
cm4gbm9kZSwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbikKICAgICB7CiAgICAgICAg
IG5vZGUtPmFwcGVuZEluZGV4KGxvY2F0aW9uLCAwKTsKQEAgLTY5MywxNyArNzA2LDE3IEBAIHB1
YmxpYzoKICAgICB7CiAgICAgICAgIG5vZGUtPmFwcGVuZEluZGV4KGxvY2F0aW9uLCBwYXR0ZXJu
LmdldCgpKTsKICAgICB9Ci0gICAgCisKICAgICBPYmplY3RQYXR0ZXJuIGNyZWF0ZU9iamVjdFBh
dHRlcm4oY29uc3QgSlNUb2tlbkxvY2F0aW9uJikKICAgICB7CiAgICAgICAgIHJldHVybiBPYmpl
Y3RQYXR0ZXJuTm9kZTo6Y3JlYXRlKCk7CiAgICAgfQotICAgIAorCiAgICAgdm9pZCBhcHBlbmRP
YmplY3RQYXR0ZXJuRW50cnkoT2JqZWN0UGF0dGVybiBub2RlLCBjb25zdCBKU1Rva2VuTG9jYXRp
b24mIGxvY2F0aW9uLCBib29sIHdhc1N0cmluZywgY29uc3QgSWRlbnRpZmllciYgaWRlbnRpZmll
ciwgRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIHBhdHRlcm4pCiAgICAgewogICAgICAgICBub2RlLT5h
cHBlbmRFbnRyeShsb2NhdGlvbiwgaWRlbnRpZmllciwgd2FzU3RyaW5nLCBwYXR0ZXJuLmdldCgp
KTsKICAgICB9Ci0gICAgCisKICAgICBCaW5kaW5nUGF0dGVybiBjcmVhdGVCaW5kaW5nTG9jYXRp
b24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgSWRlbnRpZmllciYgYm91bmRQcm9wZXJ0
eSwgY29uc3QgSlNUZXh0UG9zaXRpb24mIHN0YXJ0LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZW5k
KQogICAgIHsKICAgICAgICAgcmV0dXJuIEJpbmRpbmdOb2RlOjpjcmVhdGUoYm91bmRQcm9wZXJ0
eSwgc3RhcnQsIGVuZCk7CkBAIC03MjgsNyArNzQxLDcgQEAgcHVibGljOgogICAgIHsKICAgICAg
ICAgbm9kZS0+c2V0U3RhcnRPZmZzZXQob2Zmc2V0KTsKICAgICB9Ci0gICAgCisKIHByaXZhdGU6
CiAgICAgc3RydWN0IFNjb3BlIHsKICAgICAgICAgU2NvcGUoKQpAQCAtNzUzLDcgKzc2Niw3IEBA
IHByaXZhdGU6CiAgICAgdm9pZCB1c2VzQ2F0Y2goKSB7IG1fc2NvcGUubV9mZWF0dXJlcyB8PSBD
YXRjaEZlYXR1cmU7IH0KICAgICB2b2lkIHVzZXNBcmd1bWVudHMoKSB7IG1fc2NvcGUubV9mZWF0
dXJlcyB8PSBBcmd1bWVudHNGZWF0dXJlOyB9CiAgICAgdm9pZCB1c2VzV2l0aCgpIHsgbV9zY29w
ZS5tX2ZlYXR1cmVzIHw9IFdpdGhGZWF0dXJlOyB9Ci0gICAgdm9pZCB1c2VzRXZhbCgpIAorICAg
IHZvaWQgdXNlc0V2YWwoKQogICAgIHsKICAgICAgICAgbV9ldmFsQ291bnQrKzsKICAgICAgICAg
bV9zY29wZS5tX2ZlYXR1cmVzIHw9IEV2YWxGZWF0dXJlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL0xleGVyLmNwcAppbmRleCA3ZGUxNDIyMGJiZGE3MjczOGI1NzNhNGI5Nzg4Y2UwYjMyY2M3
Y2UzLi4wZDc4ZjZlODNlNjMyMTY3Mzc2MjY3OTQ5NTJmNjBlYzBiY2YxMmY5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcApAQCAtMTQyNiwxMCArMTQyNiwyMiBAQCBib29s
IExleGVyPFQ+OjpuZXh0VG9rZW5Jc0NvbG9uKCkKICAgICBjb25zdCBUKiBjb2RlID0gbV9jb2Rl
OwogICAgIHdoaWxlIChjb2RlIDwgbV9jb2RlRW5kICYmIChpc1doaXRlU3BhY2UoKmNvZGUpIHx8
IGlzTGluZVRlcm1pbmF0b3IoKmNvZGUpKSkKICAgICAgICAgY29kZSsrOwotICAgIAorCiAgICAg
cmV0dXJuIGNvZGUgPCBtX2NvZGVFbmQgJiYgKmNvZGUgPT0gJzonOwogfQogCisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgordm9pZCBM
ZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlvbihKU1Rva2VuKiB0b2tlblJlY29yZCkKK3sKKyAgICBK
U1Rva2VuRGF0YSogdG9rZW5EYXRhID0gJnRva2VuUmVjb3JkLT5tX2RhdGE7CisgICAgdG9rZW5E
YXRhLT5saW5lID0gbGluZU51bWJlcigpOworICAgIHRva2VuRGF0YS0+b2Zmc2V0ID0gY3VycmVu
dE9mZnNldCgpOworICAgIHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVT
dGFydE9mZnNldCgpOworICAgIEFTU0VSVCh0b2tlbkRhdGEtPm9mZnNldCA+PSB0b2tlbkRhdGEt
PmxpbmVTdGFydE9mZnNldCk7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CiBK
U1Rva2VuVHlwZSBMZXhlcjxUPjo6bGV4KEpTVG9rZW4qIHRva2VuUmVjb3JkLCB1bnNpZ25lZCBs
ZXhlckZsYWdzLCBib29sIHN0cmljdE1vZGUpCiB7CkBAIC0xNDkzLDcgKzE1MDUsMTIgQEAgc3Rh
cnQ6CiAgICAgICAgIH0KICAgICAgICAgdG9rZW4gPSBHVDsKICAgICAgICAgYnJlYWs7Ci0gICAg
Y2FzZSBDaGFyYWN0ZXJFcXVhbDoKKyAgICBjYXNlIENoYXJhY3RlckVxdWFsOiB7CisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdWludDMyX3Qgc2F2ZWRsaW5l
TnVtYmVyID0gdG9rZW5EYXRhLT5saW5lOworICAgICAgICB1aW50MzJfdCBzYXZlZE9mZnNldCA9
IGN1cnJlbnRPZmZzZXQoKTsKKyAgICAgICAgdWludDMyX3Qgc2F2ZWRMaW5lU3RhcnRPZmZzZXQg
PSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0KCk7CisjZW5kaWYKICAgICAgICAgc2hpZnQoKTsKICAg
ICAgICAgaWYgKG1fY3VycmVudCA9PSAnPScpIHsKICAgICAgICAgICAgIHNoaWZ0KCk7CkBAIC0x
NTA1LDggKzE1MjIsMjIgQEAgc3RhcnQ6CiAgICAgICAgICAgICB0b2tlbiA9IEVRRVE7CiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJz4nKSB7CisgICAgICAgICAgICBzaGlm
dCgpOworICAgICAgICAgICAgdG9rZW4gPSBBUlJPV0ZVTkNUSU9OOworCisgICAgICAgICAgICB0
b2tlbkRhdGEtPmxpbmUgPSBzYXZlZGxpbmVOdW1iZXI7CisgICAgICAgICAgICB0b2tlbkRhdGEt
Pm9mZnNldCA9IHNhdmVkT2Zmc2V0OworICAgICAgICAgICAgdG9rZW5EYXRhLT5saW5lU3RhcnRP
ZmZzZXQgPSBzYXZlZExpbmVTdGFydE9mZnNldDsKKworICAgICAgICAgICAgQVNTRVJUKHRva2Vu
RGF0YS0+b2Zmc2V0ID49IHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0KTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgdG9rZW4gPSBFUVVBTDsKICAgICAg
ICAgYnJlYWs7CisgICAgfQogICAgIGNhc2UgQ2hhcmFjdGVyTGVzczoKICAgICAgICAgc2hpZnQo
KTsKICAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnIScgJiYgcGVlaygxKSA9PSAnLScgJiYgcGVl
aygyKSA9PSAnLScpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
TGV4ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAppbmRleCAyZGY1
MjEzOTk1NzgyMDA3ODVhMTY2ZTIyYTczMjc1ZTBlYTYzMDRkLi5hNzBmOGQyZDRiNzRiMDAzNTVj
NTI0N2Q2MjI0MjQwZWVhYmJhNzUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL0xleGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5o
CkBAIC01MSwxNiArNTEsMTYgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgbV9rZXl3b3JkVGFi
bGUuZGVsZXRlVGFibGUoKTsKICAgICB9Ci0gICAgCisKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNs
YXNzIFZNOwotICAgIAorCiAgICAgVk0mIG1fdm07CiAgICAgY29uc3QgSGFzaFRhYmxlIG1fa2V5
d29yZFRhYmxlOwogfTsKIAogZW51bSBMZXhlckZsYWdzIHsKLSAgICBMZXhlckZsYWdzSWdub3Jl
UmVzZXJ2ZWRXb3JkcyA9IDEsIAorICAgIExleGVyRmxhZ3NJZ25vcmVSZXNlcnZlZFdvcmRzID0g
MSwKICAgICBMZXhlckZsYWdzRG9udEJ1aWxkU3RyaW5ncyA9IDIsCiAgICAgTGV4ZXhGbGFnc0Rv
bnRCdWlsZEtleXdvcmRzID0gNAogfTsKQEAgLTg0LDcgKzg0LDkgQEAgcHVibGljOgogICAgIHZv
aWQgc2V0Q29kZShjb25zdCBTb3VyY2VDb2RlJiwgUGFyc2VyQXJlbmEqKTsKICAgICB2b2lkIHNl
dElzUmVwYXJzaW5nKCkgeyBtX2lzUmVwYXJzaW5nID0gdHJ1ZTsgfQogICAgIGJvb2wgaXNSZXBh
cnNpbmcoKSBjb25zdCB7IHJldHVybiBtX2lzUmVwYXJzaW5nOyB9Ci0KKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHZvaWQgc2V0VG9rZW5Qb3NpdGlvbihKU1Rva2Vu
KiB0b2tlblJlY29yZCk7CisjZW5kaWYKICAgICBKU1Rva2VuVHlwZSBsZXgoSlNUb2tlbiosIHVu
c2lnbmVkLCBib29sIHN0cmljdE1vZGUpOwogICAgIGJvb2wgbmV4dFRva2VuSXNDb2xvbigpOwog
ICAgIGludCBsaW5lTnVtYmVyKCkgY29uc3QgeyByZXR1cm4gbV9saW5lTnVtYmVyOyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCmluZGV4IDA1
N2JjM2Q5MjgwOWY0NmIwNjI3MWFjMDEyYWJlY2Q2Yzg4YTY4NGEuLjllZTFmOWRiOGIxM2IyYmIw
ZDQ0YTIyOWNlODI3Y2UxM2Y0NGY3MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCkBAIC03ODAsNiArNzgwLDEzIEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICBtX2JvZHktPmZpbmlzaFBhcnNpbmcoc291cmNlLCBwYXJhbWV0ZXIsIGlk
ZW50LCBGdW5jdGlvbkV4cHJlc3Npb24pOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgaW5saW5lIEFycm93RnVuY0V4cHJOb2RlOjpBcnJvd0Z1bmNF
eHByTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBJZGVudGlmaWVy
JiBpZGVudCwgRnVuY3Rpb25Cb2R5Tm9kZSogYm9keSwgY29uc3QgU291cmNlQ29kZSYgc291cmNl
LCBQYXJhbWV0ZXJOb2RlKiBwYXJhbWV0ZXIpCisgICAgICAgIDogRnVuY0V4cHJOb2RlKGxvY2F0
aW9uLCBpZGVudCwgYm9keSwgc291cmNlLCBwYXJhbWV0ZXIpCisgICAgeworICAgIH0KKyNlbmRp
ZgorICAgIAogICAgIGlubGluZSBGdW5jRGVjbE5vZGU6OkZ1bmNEZWNsTm9kZShjb25zdCBKU1Rv
a2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgRnVuY3Rpb25C
b2R5Tm9kZSogYm9keSwgY29uc3QgU291cmNlQ29kZSYgc291cmNlLCBQYXJhbWV0ZXJOb2RlKiBw
YXJhbWV0ZXIpCiAgICAgICAgIDogU3RhdGVtZW50Tm9kZShsb2NhdGlvbikKICAgICAgICAgLCBt
X2JvZHkoYm9keSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9k
ZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAppbmRleCAzNjk0MTIw
YjA2OGY3YzkyZjY5OGVhN2Q1ZWEyM2MwMjk3Njc5YmVlLi4xNjhjMzRkNzEzMjQ0YWJlMjZjOTM2
MjE5YmJkM2ZlODA2MzIzZjk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL05vZGVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCkBA
IC0xNTgsNiArMTU4LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBp
c0RvdEFjY2Vzc29yTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1
YWwgYm9vbCBpc0RlY29uc3RydWN0aW9uTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAg
ICAgICAgIHZpcnR1YWwgYm9vbCBpc0Z1bmNFeHByTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNl
OyB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdmlydHVh
bCBib29sIGlzQXJyb3dGdW5jRXhwck5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorI2Vu
ZGlmCiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0NvbW1hTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc1NpbXBsZUFycmF5KCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzQWRkKCkgY29uc3QgeyByZXR1cm4g
ZmFsc2U7IH0KQEAgLTE2NTEsNiArMTY1NCwxOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAg
RnVuY3Rpb25Cb2R5Tm9kZSogbV9ib2R5OwogICAgIH07CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgIGNsYXNzIEFycm93RnVuY0V4cHJOb2RlIDogcHVibGljIEZ1
bmNFeHByTm9kZSB7CisgICAgcHVibGljOgorICAgICAgICBBcnJvd0Z1bmNFeHByTm9kZShjb25z
dCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBJZGVudGlmaWVyJiwgRnVuY3Rpb25Cb2R5Tm9kZSos
IGNvbnN0IFNvdXJjZUNvZGUmLCBQYXJhbWV0ZXJOb2RlKiA9IDApOworICAgIHByaXZhdGU6Cisg
ICAgICAgIHZpcnR1YWwgUmVnaXN0ZXJJRCogZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9y
JiwgUmVnaXN0ZXJJRCogPSAwKSBvdmVycmlkZTsKKyAgICAgICAgCisgICAgICAgIHZpcnR1YWwg
Ym9vbCBpc0Z1bmNFeHByTm9kZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9Cisg
ICAgICAgIAorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNBcnJvd0Z1bmNFeHByTm9kZSgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KKyAgICB9OworI2VuZGlmCisKICNpZiBFTkFCTEUo
RVM2X0NMQVNTX1NZTlRBWCkKICAgICBjbGFzcyBDbGFzc0V4cHJOb2RlIGZpbmFsIDogcHVibGlj
IEV4cHJlc3Npb25Ob2RlIHsKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1BhcnNlci5jcHAKaW5kZXggNWY1MWRhMjRiNDM4NTM5YjdkNWIwZjQ5NTQxNDkwOTU0NjI3Mjcy
Ni4uNmI0MjY5NGNhMzE1MzY5ZTU4ZjYzNzIyZDQ3MzYxNTQ5NDQ5ZTczZSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcApAQCAtMzEwLDcgKzMxMCw3IEBAIFN0cmluZyBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbm5lcigpCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBM
ZXhlclR5cGU+Ci12b2lkIFBhcnNlcjxMZXhlclR5cGU+OjpkaWRGaW5pc2hQYXJzaW5nKFNvdXJj
ZUVsZW1lbnRzKiBzb3VyY2VFbGVtZW50cywgRGVjbGFyYXRpb25TdGFja3M6OlZhclN0YWNrJiB2
YXJTdGFjaywgCit2b2lkIFBhcnNlcjxMZXhlclR5cGU+OjpkaWRGaW5pc2hQYXJzaW5nKFNvdXJj
ZUVsZW1lbnRzKiBzb3VyY2VFbGVtZW50cywgRGVjbGFyYXRpb25TdGFja3M6OlZhclN0YWNrJiB2
YXJTdGFjaywKICAgICBEZWNsYXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayYgZnVuY1N0YWNr
LCBDb2RlRmVhdHVyZXMgZmVhdHVyZXMsIGludCBudW1Db25zdGFudHMsIElkZW50aWZpZXJTZXQm
IGNhcHR1cmVkVmFycywgY29uc3QgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4mJiBjbG9zZWRW
YXJpYWJsZXMpCiB7CiAgICAgbV9zb3VyY2VFbGVtZW50cyA9IHNvdXJjZUVsZW1lbnRzOwpAQCAt
MzI4LDggKzMyOCwxMyBAQCBib29sIFBhcnNlcjxMZXhlclR5cGU+OjphbGxvd0F1dG9tYXRpY1Nl
bWljb2xvbigpCiAgICAgcmV0dXJuIG1hdGNoKENMT1NFQlJBQ0UpIHx8IG1hdGNoKEVPRlRPSykg
fHwgbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZUVsZW1lbnRz
TW9kZSBtb2RlLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSkKKyNlbHNlCiB0
ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVu
dHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZUVsZW1lbnRzTW9kZSBtb2RlKQorI2VuZGlm
CiB7CiAgICAgY29uc3QgdW5zaWduZWQgbGVuZ3RoT2ZVc2VTdHJpY3RMaXRlcmFsID0gMTI7IC8v
ICJ1c2Ugc3RyaWN0Ii5sZW5ndGgKICAgICBUcmVlU291cmNlRWxlbWVudHMgc291cmNlRWxlbWVu
dHMgPSBjb250ZXh0LmNyZWF0ZVNvdXJjZUVsZW1lbnRzKCk7CkBAIC0zMzgsNyArMzQzLDExIEBA
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsCiAgICAgdW5zaWduZWQgZGlyZWN0aXZlTGl0ZXJhbExl
bmd0aCA9IDA7CiAgICAgYXV0byBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKICAgICBi
b29sIGhhc1NldFN0cmljdCA9IGZhbHNlOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgd2hpbGUgKFRyZWVTdGF0ZW1lbnQgc3RhdGVtZW50ID0gcGFyc2VTdGF0ZW1l
bnQoY29udGV4dCwgZGlyZWN0aXZlLCAmZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCwgZnVuY3Rpb25Q
YXJzZVR5cGUpKSB7CisjZWxzZQogICAgIHdoaWxlIChUcmVlU3RhdGVtZW50IHN0YXRlbWVudCA9
IHBhcnNlU3RhdGVtZW50KGNvbnRleHQsIGRpcmVjdGl2ZSwgJmRpcmVjdGl2ZUxpdGVyYWxMZW5n
dGgpKSB7CisjZW5kaWYKICAgICAgICAgaWYgKG1vZGUgPT0gQ2hlY2tGb3JTdHJpY3RNb2RlICYm
ICFzZWVuTm9uRGlyZWN0aXZlKSB7CiAgICAgICAgICAgICBpZiAoZGlyZWN0aXZlKSB7CiAgICAg
ICAgICAgICAgICAgLy8gInVzZSBzdHJpY3QiIG11c3QgYmUgdGhlIGV4YWN0IGxpdGVyYWwgd2l0
aG91dCBlc2NhcGUgc2VxdWVuY2VzIG9yIGxpbmUgY29udGludWF0aW9uLgpAQCAtNDU3LDcgKzQ2
Niw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlVmFyRGVjbGFyYXRpCiAgICAgVHJlZUV4cHJlc3Npb24gaGVhZCA9
IDA7CiAgICAgVHJlZUV4cHJlc3Npb24gdGFpbCA9IDA7CiAgICAgY29uc3QgSWRlbnRpZmllciog
bGFzdElkZW50OwotICAgIEpTVG9rZW4gbGFzdElkZW50VG9rZW47IAorICAgIEpTVG9rZW4gbGFz
dElkZW50VG9rZW47CiAgICAgZG8gewogICAgICAgICBsYXN0SWRlbnQgPSAwOwogICAgICAgICBs
YXN0UGF0dGVybiA9IDA7CkBAIC01NzAsNiArNTc5LDMyIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6Y3Jl
YXRlCiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlQmluZGluZ0xvY2F0aW9uKHRva2VuLm1fbG9j
YXRpb24sIG5hbWUsIHRva2VuLm1fc3RhcnRQb3NpdGlvbiwgdG9rZW4ubV9lbmRQb3NpdGlvbik7
CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5
cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRl
bWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVC
dWlsZGVyJiBjb250ZXh0KQoreworICAgIEFTU0VSVChtYXRjaChBUlJPV0ZVTkNUSU9OKSk7CisK
KyAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICBzZW1h
bnRpY0ZhaWxJZkZhbHNlKGN1cnJlbnRTY29wZSgpLT5pc0Z1bmN0aW9uKCksICJSZXR1cm4gc3Rh
dGVtZW50cyBhcmUgb25seSB2YWxpZCBpbnNpZGUgYXJyb3cgZnVuY3Rpb25zIik7CisgICAgSlNU
ZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICBKU1RleHRQb3Np
dGlvbiBlbmQgPSB0b2tlbkVuZFBvc2l0aW9uKCk7CisKKyAgICBuZXh0KCk7CisgICAgVHJlZUV4
cHJlc3Npb24gZXhwciA9IHBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oY29udGV4dCk7Cisg
ICAgZmFpbElmRmFsc2UoZXhwciwgIkNhbm5vdCBwYXJzZSB0aGUgYXJyb3cgZnVuY3Rpb24gZXhw
cmVzc2lvbiIpOworICAgIGVuZCA9IGxhc3RUb2tlbkVuZFBvc2l0aW9uKCk7CisKKyAgICBib29s
IGNvcnJlY0Fycm93RmluaXNoID0gbWF0Y2goU0VNSUNPTE9OKSB8fCBtYXRjaChDT01NQSkgfHwg
bWF0Y2goQ0xPU0VQQVJFTikgfHwgbWF0Y2goQ0xPU0VCUkFDRSkgfHwgbWF0Y2goQ0xPU0VCUkFD
S0VUKSB8fCBtYXRjaChFT0ZUT0spOworICAgIGZhaWxJZkZhbHNlKGNvcnJlY0Fycm93RmluaXNo
LCAiRXhwZWN0ZWQgYSAnOycsICddJywgJ30nLCAnKScsIG9yICcsJyBmb2xsb3dpbmcgYSBhcnJv
dyBmdW5jdGlvbiBzdGF0ZW1lbnQiKTsKKworICAgIGVuZCA9IHRva2VuRW5kUG9zaXRpb24oKTsK
KyAgICBzZXRFbmRPZlN0YXRlbWVudCgpOworCisgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUmV0
dXJuU3RhdGVtZW50KGxvY2F0aW9uLCBleHByLCBzdGFydCwgZW5kKTsKK30KKyNlbmRpZgorCiB0
ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIFBhcnNlcjxMZXhlclR5cGU+Ojp0cnlQYXJzZURl
Y29uc3RydWN0aW9uUGF0dGVybkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7CkBA
IC0xMTQzLDggKzExNzgsMTMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3Rh
dGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUJsb2NrU3RhdGVtZW4KICAgICByZXR1cm4g
cmVzdWx0OwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBs
YXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVy
JiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0
aXZlTGl0ZXJhbExlbmd0aCwgRnVuY3Rpb25QYXJzZVR5cGUgdHlwZSkKKyNlbHNlCiB0ZW1wbGF0
ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
U3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYg
Y29udGV4dCwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2
ZUxpdGVyYWxMZW5ndGgpCisjZW5kaWYKIHsKICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVw
dGgoJm1fc3RhdGVtZW50RGVwdGgpOwogICAgIG1fc3RhdGVtZW50RGVwdGgrKzsKQEAgLTExNTMs
NiArMTE5MywyNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQg
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAgIGZhaWxJZlN0YWNrT3Zl
cmZsb3coKTsKICAgICBUcmVlU3RhdGVtZW50IHJlc3VsdCA9IDA7CiAgICAgYm9vbCBzaG91bGRT
ZXRFbmRPZmZzZXQgPSB0cnVlOworCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICBib29sIGhhbmRsZWQgPSBmYWxzZTsKKyAgICBpZiAodHlwZSA9PSBBcnJvd0Z1bmN0
aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKKyAgICAg
ICAgY2FzZSBDTE9TRVBBUkVOOgorICAgICAgICBjYXNlIENMT1NFQlJBQ0tFVDoKKyAgICAgICAg
Y2FzZSBDT01NQToKKyAgICAgICAgY2FzZSBTRU1JQ09MT046IHsKKyAgICAgICAgICAgIHJlc3Vs
dCA9IDA7CisgICAgICAgICAgICBoYW5kbGVkID0gdHJ1ZTsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICB9CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
fQorCisgICAgICAgIGlmIChoYW5kbGVkKQorICAgICAgICAgICAgZ290byBlbmRTdGF0ZW1lbmV0
OworICAgIH0KKyNlbmRpZgogICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKICAgICBjYXNl
IE9QRU5CUkFDRToKICAgICAgICAgcmVzdWx0ID0gcGFyc2VCbG9ja1N0YXRlbWVudChjb250ZXh0
KTsKQEAgLTExOTgsNiArMTI1OSwxMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAgIGNh
c2UgQlJFQUs6CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlQnJlYWtTdGF0ZW1lbnQoY29udGV4dCk7
CiAgICAgICAgIGJyZWFrOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgY2FzZSBBUlJPV0ZVTkNUSU9OOgorICAgICAgICByZXN1bHQgPSBwYXJzZUFycm93RnVuY3Rp
b25TdGF0ZW1lbnQoY29udGV4dCk7CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgY2FzZSBS
RVRVUk46CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlUmV0dXJuU3RhdGVtZW50KGNvbnRleHQpOwog
ICAgICAgICBicmVhazsKQEAgLTEyMzksNiArMTMwNSw4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQo
VHJlCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAorZW5kU3RhdGVtZW5ldDoKKwogICAgIGlmIChy
ZXN1bHQgJiYgc2hvdWxkU2V0RW5kT2Zmc2V0KQogICAgICAgICBjb250ZXh0LnNldEVuZE9mZnNl
dChyZXN1bHQsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ub2Zmc2V0KTsKICAgICByZXR1cm4gcmVz
dWx0OwpAQCAtMTI1OSw2ICsxMzI3LDI0IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZUZvcm1hbFBhcmFtZXRlckxpc3QgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRm9yCiAgICAg
cmV0dXJuIGxpc3Q7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
dGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVGdW5jdGlvbkJvZHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5j
dGlvbkJvZHkoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwg
aW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25zdHJ1Y3Rvcktp
bmQgY29uc3RydWN0b3JLaW5kKQoreworICAgIEpTVG9rZW5Mb2NhdGlvbiBzdGFydExvY2F0aW9u
KHRva2VuTG9jYXRpb24oKSk7CisgICAgdW5zaWduZWQgc3RhcnRDb2x1bW4gPSB0b2tlbkNvbHVt
bigpOworCisgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRo
KTsKKyAgICBtX3N0YXRlbWVudERlcHRoID0gMDsKKyAgICB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6
RnVuY3Rpb25Cb2R5QnVpbGRlciBib2R5QnVpbGRlcihjb25zdF9jYXN0PFZNKj4obV92bSksIG1f
bGV4ZXIuZ2V0KCkpOworCisgICAgZmFpbElmRmFsc2UocGFyc2VTb3VyY2VFbGVtZW50cyhib2R5
QnVpbGRlciwgQ2hlY2tGb3JTdHJpY3RNb2RlLCBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSwgIkNh
bm5vdCBwYXJzZSBib2R5IG9mIHRoaXMgYXJyb3cgZnVuY3Rpb24iKTsKKyAgICB1bnNpZ25lZCBl
bmRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOworICAgIAorICAgIHJldHVybiBjb250ZXh0LmNyZWF0
ZUZ1bmN0aW9uQm9keShzdGFydExvY2F0aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0YXJ0Q29sdW1u
LCBlbmRDb2x1bW4sIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFy
YW1ldGVyc1N0YXJ0LCBzdHJpY3RNb2RlKCksIGNvbnN0cnVjdG9yS2luZCk7Cit9CisjZW5kaWYK
KwogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZUZ1bmN0aW9uQm9keSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkJv
ZHkoCiAgICAgVHJlZUJ1aWxkZXImIGNvbnRleHQsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwg
aW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCAKQEAgLTE0NDYsNiArMTUzMiwxNTYgQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9u
SW5mbyhUcmVlQnVpbGQKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93
RnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblBhcnNlTW9kZSBtb2Rl
LCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3Rh
cnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mIGluZm8pCit7CisgICAgQXV0b1Bv
cFNjb3BlUmVmIGZ1bmN0aW9uU2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOworICAgIGZ1bmN0aW9u
U2NvcGUtPnNldElzRnVuY3Rpb24oKTsKKyAgICBpbnQgZnVuY3Rpb25OYW1lU3RhcnQgPSBtX3Rv
a2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CisgICAgY29uc3QgSWRlbnRpZmllciogbGFzdEZ1
bmN0aW9uTmFtZSA9IG1fbGFzdEZ1bmN0aW9uTmFtZTsKKyAgICBtX2xhc3RGdW5jdGlvbk5hbWUg
PSBudWxscHRyOworICAgIGludCBwYXJhbWV0ZXJzU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24u
c3RhcnRPZmZzZXQ7CisgICAgaWYgKCFtYXRjaChJREVOVCkgJiYgIW1hdGNoKE9QRU5QQVJFTikp
IHsKKyAgICAgICAgc2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9u
TW9kZShtb2RlKSwgIiBuYW1lIik7CisgICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQg
YW4gYXJyb3cgZnVuY3Rpb24gaW5wdXQgcGFyYW1ldGVyIik7CisgICAgfSBlbHNlIHsKKyAgICAg
ICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgICAgIGNvbnN1bWUoT1BFTlBBUkVO
KTsKKworICAgICAgICAgICAgaWYgKCFtYXRjaChDTE9TRVBBUkVOKSkgeworICAgICAgICAgICAg
ICAgIGluZm8ucGFyYW1ldGVycyA9IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhjb250ZXh0KTsKKyAg
ICAgICAgICAgICAgICBmYWlsSWZGYWxzZShpbmZvLnBhcmFtZXRlcnMsICJDYW5ub3QgcGFyc2Ug
cGFyYW1ldGVycyBmb3IgdGhpcyAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOworICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICBjb25zdW1lT3JGYWlsKENMT1NFUEFSRU4sICJFeHBl
Y3RlZCBhICcpJyBvciBhICcsJyBhZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgaW5mby5wYXJhbWV0ZXJzID0gcGFyc2VGb3JtYWxQ
YXJhbWV0ZXJzKGNvbnRleHQpOworICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0
ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rp
b25Nb2RlKG1vZGUpKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIG1hdGNoT3JGYWlsKEFSUk9X
RlVOQ1RJT04sICJFeHBlY3RlZCBhICc9PicgYWZ0ZXIgYXJyb3cgZnVuY3Rpb24gcGFyYW1ldGVy
IGRlY2xhcmF0aW9uIik7CisgICAgCisgICAgaW5mby5hcnJvd0Z1bmN0aW9uT2Zmc2V0ID0gbV90
b2tlbi5tX2RhdGEub2Zmc2V0OworICAgIGluZm8ub3BlbkJyYWNlT2Zmc2V0ID0gbV90b2tlbi5t
X2RhdGEub2Zmc2V0OworICAgIGluZm8uYm9keVN0YXJ0TGluZSA9IHRva2VuTGluZSgpOworICAg
IGluZm8uYm9keVN0YXJ0Q29sdW1uID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0IC0gbV90b2tlbi5t
X2RhdGEubGluZVN0YXJ0T2Zmc2V0OworCisgICAgSlNUb2tlbkxvY2F0aW9uIHN0YXJ0TG9jYXRp
b24odG9rZW5Mb2NhdGlvbigpKTsKKworICAgIC8vIElmIHdlIGtub3cgYWJvdXQgdGhpcyBmdW5j
dGlvbiBhbHJlYWR5LCB3ZSBjYW4gdXNlIHRoZSBjYWNoZWQgaW5mbyBhbmQgc2tpcCB0aGUgcGFy
c2VyIHRvIHRoZSBlbmQgb2YgdGhlIGZ1bmN0aW9uLgorICAgIGlmIChjb25zdCBTb3VyY2VQcm92
aWRlckNhY2hlSXRlbSogY2FjaGVkSW5mbyA9IFRyZWVCdWlsZGVyOjpDYW5Vc2VGdW5jdGlvbkNh
Y2hlID8gZmluZENhY2hlZEZ1bmN0aW9uSW5mbyhpbmZvLm9wZW5CcmFjZU9mZnNldCkgOiAwKSB7
CisgICAgICAgIC8vIElmIHdlJ3JlIGluIGEgc3RyaWN0IGNvbnRleHQsIHRoZSBjYWNoZWQgZnVu
Y3Rpb24gaW5mbyBtdXN0IHNheSBpdCB3YXMgc3RyaWN0IHRvby4KKyAgICAgICAgQVNTRVJUKCFz
dHJpY3RNb2RlKCkgfHwgY2FjaGVkSW5mby0+c3RyaWN0TW9kZSk7CisgICAgICAgIEpTVG9rZW5M
b2NhdGlvbiBlbmRMb2NhdGlvbjsKKworICAgICAgICBlbmRMb2NhdGlvbi5saW5lID0gY2FjaGVk
SW5mby0+Y2xvc2VCcmFjZUxpbmU7CisgICAgICAgIGVuZExvY2F0aW9uLnN0YXJ0T2Zmc2V0ID0g
Y2FjaGVkSW5mby0+Y2xvc2VCcmFjZU9mZnNldDsKKyAgICAgICAgZW5kTG9jYXRpb24ubGluZVN0
YXJ0T2Zmc2V0ID0gY2FjaGVkSW5mby0+Y2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldDsKKworICAg
ICAgICBib29sIGVuZENvbHVtbklzT25TdGFydExpbmUgPSAoZW5kTG9jYXRpb24ubGluZSA9PSBp
bmZvLmJvZHlTdGFydExpbmUpOworICAgICAgICBBU1NFUlQoZW5kTG9jYXRpb24uc3RhcnRPZmZz
ZXQgPj0gZW5kTG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0KTsKKyAgICAgICAgdW5zaWduZWQgYm9k
eUVuZENvbHVtbiA9IGVuZENvbHVtbklzT25TdGFydExpbmUgPworICAgICAgICBlbmRMb2NhdGlv
bi5zdGFydE9mZnNldCAtIG1fdG9rZW4ubV9kYXRhLmxpbmVTdGFydE9mZnNldCA6CisgICAgICAg
IGVuZExvY2F0aW9uLnN0YXJ0T2Zmc2V0IC0gZW5kTG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0Owor
ICAgICAgICB1bnNpZ25lZCBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0ID0gbV90b2tlbi5tX2xvY2F0
aW9uLmxpbmVTdGFydE9mZnNldDsKKworICAgICAgICBpbmZvLmJvZHkgPSBjb250ZXh0LmNyZWF0
ZUZ1bmN0aW9uQm9keShzdGFydExvY2F0aW9uLCBlbmRMb2NhdGlvbiwgaW5mby5ib2R5U3RhcnRD
b2x1bW4sIGJvZHlFbmRDb2x1bW4sIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVT
dGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjYWNoZWRJbmZvLT5zdHJpY3RNb2RlLCBjb25zdHJ1Y3Rv
cktpbmQpOworICAgICAgICBmdW5jdGlvblNjb3BlLT5yZXN0b3JlRnJvbVNvdXJjZVByb3ZpZGVy
Q2FjaGUoY2FjaGVkSW5mbyk7CisgICAgICAgIGZhaWxJZkZhbHNlKHBvcFNjb3BlKGZ1bmN0aW9u
U2NvcGUsIFRyZWVCdWlsZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUluZm8pLCAiUGFyc2VyIGVycm9y
Iik7CisKKyAgICAgICAgaW5mby5jbG9zZUJyYWNlT2Zmc2V0ID0gY2FjaGVkSW5mby0+Y2xvc2VC
cmFjZU9mZnNldDsKKyAgICAgICAgaW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUgPSBjYWNoZWRJ
bmZvLT5pc0JvZHlBcnJvd0Z1bmN0aW9uQmxvY2sgPyBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrIDog
QXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOworCisgICAgICAgIG1fdG9rZW4gPSBpbmZvLmFy
cm93RnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrID8gY2FjaGVkSW5m
by0+Y2xvc2VCcmFjZVRva2VuKCkgOiBjYWNoZWRJbmZvLT5lbmRBcnJvd0Z1bmN0aW9uVG9rZW4o
KTsKKworICAgICAgICBpZiAoZW5kQ29sdW1uSXNPblN0YXJ0TGluZSkKKyAgICAgICAgICAgIG1f
dG9rZW4ubV9sb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0
OworCisgICAgICAgIG1fbGV4ZXItPnNldE9mZnNldChtX3Rva2VuLm1fbG9jYXRpb24uZW5kT2Zm
c2V0LCBtX3Rva2VuLm1fbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0KTsKKyAgICAgICAgbV9sZXhl
ci0+c2V0TGluZU51bWJlcihtX3Rva2VuLm1fbG9jYXRpb24ubGluZSk7CisKKyAgICAgICAgY29u
dGV4dC5zZXRFbmRPZmZzZXQoaW5mby5ib2R5LCBtX2xleGVyLT5jdXJyZW50T2Zmc2V0KCkpOwor
CisgICAgICAgIGlmIChpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9u
Qm9keUJsb2NrKQorICAgICAgICAgICAgbmV4dCgpOworCisgICAgICAgIGluZm8uYm9keUVuZExp
bmUgPSBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmU7CisgICAgICAgIHJldHVybiB0cnVlOwor
ICAgIH0KKyAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBsYXN0RnVuY3Rpb25OYW1lOworICAgIFBh
cnNlclN0YXRlIG9sZFN0YXRlID0gc2F2ZVN0YXRlKCk7CisKKyAgICBTYXZlUG9pbnQgc2F2ZVBv
aW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgbmV4dCgpOworICAgIC8vIENoZWNrIGlmIGFy
cm93IGJvZHkgc3RhcnQgd2l0aCB7LiBJZiBpdCB0cnVlIGl0IG1lYW4gdGhhdCBhcnJvdyBmdW5j
dGlvbiBpcyBGYXQgYXJyb3cgZnVuY3Rpb24KKyAgICAvLyBhbmQgd2UgbmVlZCB1c2UgY29tbW9u
IGFwcHJvYWNoIHRvIHBhcnNlIGZ1bmN0aW9uIGJvZHkKKworICAgIGluZm8uYXJyb3dGdW5jdGlv
bkJvZHlUeXBlID0gbWF0Y2goT1BFTkJSQUNFKSA/IEFycm93RnVuY3Rpb25Cb2R5QmxvY2sgOiBB
cnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb247CisKKyAgICBpZiAoaW5mby5hcnJvd0Z1bmN0aW9u
Qm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jaykgeworICAgICAgICBpbmZvLm9wZW5C
cmFjZU9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKKyAgICAgICAgaW5mby5ib2R5U3Rh
cnRMaW5lID0gdG9rZW5MaW5lKCk7CisgICAgICAgIGluZm8uYm9keVN0YXJ0Q29sdW1uID0gbV90
b2tlbi5tX2RhdGEub2Zmc2V0IC0gbV90b2tlbi5tX2RhdGEubGluZVN0YXJ0T2Zmc2V0OworCisg
ICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5
d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3Rv
cktpbmQpOworICAgIH0gZWxzZSB7CisgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50
KTsKKyAgICAgICAgaW5mby5ib2R5ID0gcGFyc2VBcnJvd0Z1bmN0aW9uQm9keShjb250ZXh0LCBm
dW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwg
Y29uc3RydWN0b3JLaW5kKTsKKyAgICB9CisKKyAgICByZXN0b3JlU3RhdGUob2xkU3RhdGUpOwor
ICAgIGZhaWxJZkZhbHNlKGluZm8uYm9keSwgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiB0aGlz
ICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7CisgICAgY29udGV4dC5zZXRFbmRPZmZz
ZXQoaW5mby5ib2R5LCBtX2xleGVyLT5jdXJyZW50T2Zmc2V0KCkpOworICAgIGlmIChmdW5jdGlv
blNjb3BlLT5zdHJpY3RNb2RlKCkgJiYgaW5mby5uYW1lKSB7CisgICAgICAgIFJFTEVBU0VfQVNT
RVJUKG1vZGUgPT0gRnVuY3Rpb25Nb2RlKTsKKyAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKG1f
dm0tPnByb3BlcnR5TmFtZXMtPmFyZ3VtZW50cyA9PSAqaW5mby5uYW1lLCAiJyIsIGluZm8ubmFt
ZS0+aW1wbCgpLCAiJyBpcyBub3QgYSB2YWxpZCBmdW5jdGlvbiBuYW1lIGluIHN0cmljdCBtb2Rl
Iik7CisgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFs
ID09ICppbmZvLm5hbWUsICInIiwgaW5mby5uYW1lLT5pbXBsKCksICInIGlzIG5vdCBhIHZhbGlk
IGZ1bmN0aW9uIG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsKKyAgICB9CisKKyAgICBpbmZvLmNsb3Nl
QnJhY2VPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CisKKyAgICB1bnNpZ25lZCBjbG9z
ZUJyYWNlTGluZSA9IG1fdG9rZW4ubV9kYXRhLmxpbmU7CisgICAgdW5zaWduZWQgY2xvc2VCcmFj
ZUxpbmVTdGFydE9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLmxpbmVTdGFydE9mZnNldDsKKyAgICBi
b29sIGlzQm9keUFycm93RnVuY3Rpb25CbG9jayA9IGluZm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBl
ID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2s7CisKKyAgICAvLyBDYWNoZSB0aGUgdG9rZW5pemVy
IHN0YXRlIGFuZCB0aGUgZnVuY3Rpb24gc2NvcGUgdGhlIGZpcnN0IHRpbWUgdGhlIGZ1bmN0aW9u
IGlzIHBhcnNlZC4KKyAgICAvLyBBbnkgZnV0dXJlIHJlcGFyc2luZyBjYW4gdGhlbiBza2lwIHRo
ZSBmdW5jdGlvbi4KKyAgICBzdGF0aWMgY29uc3QgaW50IG1pbmltdW1GdW5jdGlvbkxlbmd0aFRv
Q2FjaGUgPSAxNjsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0+
IG5ld0luZm87CisgICAgaW50IGZ1bmN0aW9uTGVuZ3RoID0gaW5mby5jbG9zZUJyYWNlT2Zmc2V0
IC0gaW5mby5vcGVuQnJhY2VPZmZzZXQ7CisgICAgaWYgKFRyZWVCdWlsZGVyOjpDYW5Vc2VGdW5j
dGlvbkNhY2hlICYmIG1fZnVuY3Rpb25DYWNoZSAmJiBmdW5jdGlvbkxlbmd0aCA+IG1pbmltdW1G
dW5jdGlvbkxlbmd0aFRvQ2FjaGUpIHsKKyAgICAgICAgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW1D
cmVhdGlvblBhcmFtZXRlcnMgcGFyYW1ldGVyczsKKyAgICAgICAgcGFyYW1ldGVycy5mdW5jdGlv
bk5hbWVTdGFydCA9IGZ1bmN0aW9uTmFtZVN0YXJ0OworICAgICAgICBwYXJhbWV0ZXJzLmNsb3Nl
QnJhY2VMaW5lID0gY2xvc2VCcmFjZUxpbmU7CisgICAgICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFj
ZU9mZnNldCA9IGluZm8uY2xvc2VCcmFjZU9mZnNldDsKKyAgICAgICAgcGFyYW1ldGVycy5jbG9z
ZUJyYWNlTGluZVN0YXJ0T2Zmc2V0ID0gY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldDsKKyAgICAg
ICAgcGFyYW1ldGVycy5pc0JvZHlBcnJvd0Z1bmN0aW9uQmxvY2sgPSBpc0JvZHlBcnJvd0Z1bmN0
aW9uQmxvY2s7CisgICAgICAgIHBhcmFtZXRlcnMudG9rZW5UeXBlID0gbV90b2tlbi5tX3R5cGU7
CisKKyAgICAgICAgZnVuY3Rpb25TY29wZS0+ZmlsbFBhcmFtZXRlcnNGb3JTb3VyY2VQcm92aWRl
ckNhY2hlKHBhcmFtZXRlcnMpOworICAgICAgICBuZXdJbmZvID0gU291cmNlUHJvdmlkZXJDYWNo
ZUl0ZW06OmNyZWF0ZShwYXJhbWV0ZXJzKTsKKyAgICB9CisKKyAgICBmYWlsSWZGYWxzZShwb3BT
Y29wZShmdW5jdGlvblNjb3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFibGVJbmZvKSwg
IlBhcnNlciBlcnJvciIpOworCisgICAgaWYgKGluZm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBlID09
IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHsKKyAgICAgICAgbWF0Y2hPckZhaWwoQ0xPU0VCUkFD
RSwgIkV4cGVjdGVkIGEgY2xvc2luZyAnfScgYWZ0ZXIgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1v
ZGUobW9kZSksICIgYm9keSIpOworICAgICAgICBuZXh0KCk7CisgICAgfSBlbHNlIHsKKyAgICAg
ICAgYm9vbCBpc0VuZE9mQXJyb3dGdW5jdGlvbiA9IG1hdGNoKFNFTUlDT0xPTikgfHwgbWF0Y2go
Q09NTUEpIHx8IG1hdGNoKENMT1NFUEFSRU4pIHx8IG1hdGNoKENMT1NFQlJBQ0UpIHx8IG1hdGNo
KENMT1NFQlJBQ0tFVCk7CisgICAgICAgIGZhaWxJZkZhbHNlKGlzRW5kT2ZBcnJvd0Z1bmN0aW9u
LCAiRXhwZWN0ZWQgdGhlIGNsb3NpbmcgJzsnICcsJyAnXScgJyknICd9JyBhZnRlciBhcnJvdyBm
dW5jdGlvbiIpOworICAgIH0KKworICAgIGlmIChuZXdJbmZvKQorICAgICAgICBtX2Z1bmN0aW9u
Q2FjaGUtPmFkZChpbmZvLm9wZW5CcmFjZU9mZnNldCwgV1RGOjptb3ZlKG5ld0luZm8pKTsKKwor
ICAgIGluZm8uYm9keUVuZExpbmUgPSBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmU7CisgICAg
cmV0dXJuIHRydWU7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4K
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewpA
QCAtMTc2Niw2ICsyMDAyLDE4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0
YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJZlN0YXRlbWVudChUCiAgICAgcmV0dXJu
IGNvbnRleHQuY3JlYXRlSWZTdGF0ZW1lbnQoaWZMb2NhdGlvbiwgY29uZGl0aW9uLCB0cnVlQmxv
Y2ssIHN0YXRlbWVudFN0YWNrLmxhc3QoKSwgc3RhcnQsIGVuZCk7CiB9CiAKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4K
K3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQp
Cit7CisgICAgZmFpbElmU3RhY2tPdmVyZmxvdygpOworICAgIFRyZWVFeHByZXNzaW9uIG5vZGUg
PSBwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKGNvbnRleHQpOworICAgIGZhaWxJZkZhbHNlKG5v
ZGUsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lvbiIpOworICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0
KG5vZGUsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ub2Zmc2V0KTsKKyAgICByZXR1cm4gbm9kZTsK
K30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VF
eHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewpAQCAtMTgxMyw2ICsyMDYxLDQzIEBA
IHRlbXBsYXRlIDx0eXBlbmFtZSBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlQXNzaWdubWVuCiAgICAgICAgIH0KICAgICAgICAgcmVzdG9yZVNhdmVQ
b2ludChzYXZlUG9pbnQpOwogICAgIH0KKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVTYXZl
UG9pbnQoKTsKKyAgICBib29sIGFycm93RnVuY3Rpb25FbXB0eUxpc3QgPSBmYWxzZTsKKyAgICBp
ZiAobWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICBuZXh0KCk7CisgICAgICAgIGlmIChtYXRj
aChDTE9TRVBBUkVOKSkgeworICAgICAgICAgICAgbmV4dCgpOworCisgICAgICAgICAgICBpZiAo
bWF0Y2goQVJST1dGVU5DVElPTikpCisgICAgICAgICAgICAgICAgYXJyb3dGdW5jdGlvbkVtcHR5
TGlzdCA9IHRydWU7CisgICAgICAgIH0KKworICAgICAgICBpZiAoIWFycm93RnVuY3Rpb25FbXB0
eUxpc3QpCisgICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9p
bnQpOworICAgIH0KKyNlbmRpZgorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICBUcmVlRXhwcmVzc2lvbiBsaHM7CisgICAgaWYgKCFhcnJvd0Z1bmN0aW9uRW1wdHlM
aXN0KSB7CisgICAgICAgIGxocyA9IHBhcnNlQ29uZGl0aW9uYWxFeHByZXNzaW9uKGNvbnRleHQp
OworICAgICAgICBmYWlsSWZGYWxzZShsaHMsICJDYW4Zbm90IHBhcnNlIGV4cHJlc3Npb24iKTsK
KyAgICAgICAgaWYgKGluaXRpYWxOb25MSFNDb3VudCAhPSBtX25vbkxIU0NvdW50KSB7CisgICAg
ICAgICAgICBpZiAobV90b2tlbi5tX3R5cGUgPj0gRVFVQUwgJiYgbV90b2tlbi5tX3R5cGUgPD0g
T1JFUVVBTCkKKyAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWwoIkxlZnQgaGFuZCBzaWRlIG9m
IG9wZXJhdG9yICciLCBnZXRUb2tlbigpLCAiJyBtdXN0IGJlIGEgcmVmZXJlbmNlIik7CisKKyAg
ICAgICAgICAgIHJldHVybiBsaHM7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAobWF0Y2go
QVJST1dGVU5DVElPTikpIHsKKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5j
dGlvblBvaW50KTsKKyAgICAgICAgbGhzID0gcGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihjb250
ZXh0KTsKKyAgICAgICAgcmV0dXJuIGxoczsKKyAgICB9CisjZWxzZQogICAgIFRyZWVFeHByZXNz
aW9uIGxocyA9IHBhcnNlQ29uZGl0aW9uYWxFeHByZXNzaW9uKGNvbnRleHQpOwogICAgIGZhaWxJ
ZkZhbHNlKGxocywgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9uIik7CiAgICAgaWYgKGluaXRpYWxO
b25MSFNDb3VudCAhPSBtX25vbkxIU0NvdW50KSB7CkBAIC0xODIxLDcgKzIxMDYsOCBAQCB0ZW1w
bGF0ZSA8dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUFzc2lnbm1lbgogCiAgICAgICAgIHJldHVybiBsaHM7CiAgICAgfQotICAgIAor
I2VuZGlmCisKICAgICBpbnQgYXNzaWdubWVudFN0YWNrID0gMDsKICAgICBPcGVyYXRvciBvcDsK
ICAgICBib29sIGhhZEFzc2lnbm1lbnQgPSBmYWxzZTsKQEAgLTIyOTYsNiArMjU4MiwyMyBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZVByaW1hcnlFeHByZQogICAgICAgICByZXR1cm4gY29udGV4dC50aGlzRXhwcihs
b2NhdGlvbik7CiAgICAgfQogICAgIGNhc2UgSURFTlQ6IHsKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2lu
dCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgICAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRv
a2VuU3RhcnRQb3NpdGlvbigpOworICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1f
dG9rZW4ubV9kYXRhLmlkZW50OworICAgICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9r
ZW5Mb2NhdGlvbigpKTsKKyAgICAgICAgbmV4dCgpOworCisgICAgICAgIGlmICghbWF0Y2goQVJS
T1dGVU5DVElPTikpIHsKKyAgICAgICAgICAgIGN1cnJlbnRTY29wZSgpLT51c2VWYXJpYWJsZShp
ZGVudCwgbV92bS0+cHJvcGVydHlOYW1lcy0+ZXZhbCA9PSAqaWRlbnQpOworICAgICAgICAgICAg
bV9sYXN0SWRlbnRpZmllciA9IGlkZW50OworICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3Jl
YXRlUmVzb2x2ZShsb2NhdGlvbiwgaWRlbnQsIHN0YXJ0KTsKKyAgICAgICAgfQorCisgICAgICAg
IHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAgICAgIFRyZWVF
eHByZXNzaW9uIGxocyA9IHBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoY29udGV4dCk7CisgICAg
ICAgIHJldHVybiBsaHM7CisjZWxzZQogICAgICAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRv
a2VuU3RhcnRQb3NpdGlvbigpOwogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1f
dG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9r
ZW5Mb2NhdGlvbigpKTsKQEAgLTIzMDMsNiArMjYwNiw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4
cHJlCiAgICAgICAgIGN1cnJlbnRTY29wZSgpLT51c2VWYXJpYWJsZShpZGVudCwgbV92bS0+cHJv
cGVydHlOYW1lcy0+ZXZhbCA9PSAqaWRlbnQpOwogICAgICAgICBtX2xhc3RJZGVudGlmaWVyID0g
aWRlbnQ7CiAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJlc29sdmUobG9jYXRpb24sIGlk
ZW50LCBzdGFydCk7CisjZW5kaWYKICAgICB9CiAgICAgY2FzZSBTVFJJTkc6IHsKICAgICAgICAg
Y29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKQEAgLTI0OTAs
NiArMjc5NCwzMiBAQCBlbmRNZW1iZXJFeHByZXNzaW9uOgogICAgIHJldHVybiBiYXNlOwogfQog
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFt
ZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9u
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKFRyZWVCdWlsZGVy
JiBjb250ZXh0KQoreworICAgIFRyZWVFeHByZXNzaW9uIGJhc2UgPSAwOworICAgIEpTVGV4dFBv
c2l0aW9uIGV4cHJlc3Npb25TdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgIGludCBu
ZXdDb3VudCA9IDA7CisgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uOworCisgICAgaWYgKG1h
dGNoKElERU5UKSB8fCBtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgIHVuc2lnbmVkIGZ1bmN0
aW9uS2V5d29yZFN0YXJ0ID0gdG9rZW5TdGFydCgpOworICAgICAgICBsb2NhdGlvbiA9IHRva2Vu
TG9jYXRpb24oKTsKKyAgICAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZv
OworICAgICAgICBpbmZvLm5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1lcy0+bnVsbElkZW50aWZp
ZXI7CisgICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUFycm93RnVuY3Rpb25JbmZvKGNvbnRleHQs
IEZ1bmN0aW9uTW9kZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBmdW5jdGlvbktleXdvcmRTdGFy
dCwgaW5mbykpLCAiQ2Fubm90IHBhcnNlIGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsKKyAgICAgICAg
YmFzZSA9IGNvbnRleHQuY3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIobG9jYXRpb24sIGluZm8pOwor
ICAgIH0gZWxzZQorICAgICAgICBiYXNlID0gcGFyc2VQcmltYXJ5RXhwcmVzc2lvbihjb250ZXh0
KTsKKworICAgIGZhaWxJZkZhbHNlKGJhc2UsICJDYW5ub3QgcGFyc2UgYmFzZSBleHByZXNzaW9u
Iik7CisgICAgd2hpbGUgKG5ld0NvdW50LS0pCisgICAgICAgIGJhc2UgPSBjb250ZXh0LmNyZWF0
ZU5ld0V4cHIobG9jYXRpb24sIGJhc2UsIGV4cHJlc3Npb25TdGFydCwgbGFzdFRva2VuRW5kUG9z
aXRpb24oKSk7CisgICAgcmV0dXJuIGJhc2U7Cit9CisjZW5kaWYKKwogc3RhdGljIGNvbnN0IGNo
YXIqIG9wZXJhdG9yU3RyaW5nKGJvb2wgcHJlZml4LCB1bnNpZ25lZCB0b2spCiB7CiAgICAgc3dp
dGNoICh0b2spIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFy
c2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCmluZGV4IDg2M2Y5
YzE1NjA4NDJhOTg1NmQ4ZTk3NzUxY2Q4YmVkYzhhYmQ4N2EuLjYyMzMwMzExZGE1MDI5MTQ0ZjE5
ZDgxYzk2NDJhYzJkOTY2Y2I1YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvUGFyc2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIu
aApAQCAtODAsNiArODAsOSBAQCBjbGFzcyBTb3VyY2VDb2RlOwogQ09NUElMRV9BU1NFUlQoTGFz
dFVudGFnZ2VkVG9rZW4gPCA2NCwgTGVzc1RoYW42NFVudGFnZ2VkVG9rZW5zKTsKIAogZW51bSBT
b3VyY2VFbGVtZW50c01vZGUgeyBDaGVja0ZvclN0cmljdE1vZGUsIERvbnRDaGVja0ZvclN0cmlj
dE1vZGUgfTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorZW51bSBGdW5j
dGlvblBhcnNlVHlwZSB7IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUsIEFycm93RnVuY3Rpb25Q
YXJzZVR5cGUgfTsKKyNlbmRpZgogZW51bSBGdW5jdGlvblJlcXVpcmVtZW50cyB7IEZ1bmN0aW9u
Tm9SZXF1aXJlbWVudHMsIEZ1bmN0aW9uTmVlZHNOYW1lIH07CiBlbnVtIEZ1bmN0aW9uUGFyc2VN
b2RlIHsKICAgICBGdW5jdGlvbk1vZGUsCkBAIC01NTMsOCArNTU2LDggQEAgcHJpdmF0ZToKICAg
ICB9CiAgICAgCiAgICAgU2NvcGVTdGFjayBtX3Njb3BlU3RhY2s7Ci0gICAgCi0gICAgY29uc3Qg
U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0qIGZpbmRDYWNoZWRGdW5jdGlvbkluZm8oaW50IG9wZW5C
cmFjZVBvcykgCisKKyAgICBjb25zdCBTb3VyY2VQcm92aWRlckNhY2hlSXRlbSogZmluZENhY2hl
ZEZ1bmN0aW9uSW5mbyhpbnQgb3BlbkJyYWNlUG9zKQogICAgIHsKICAgICAgICAgcmV0dXJuIG1f
ZnVuY3Rpb25DYWNoZSA/IG1fZnVuY3Rpb25DYWNoZS0+Z2V0KG9wZW5CcmFjZVBvcykgOiAwOwog
ICAgIH0KQEAgLTU2Miw3ICs1NjUsNyBAQCBwcml2YXRlOgogICAgIFBhcnNlcigpOwogICAgIFN0
cmluZyBwYXJzZUlubmVyKCk7CiAKLSAgICB2b2lkIGRpZEZpbmlzaFBhcnNpbmcoU291cmNlRWxl
bWVudHMqLCBEZWNsYXJhdGlvblN0YWNrczo6VmFyU3RhY2smLCAKKyAgICB2b2lkIGRpZEZpbmlz
aFBhcnNpbmcoU291cmNlRWxlbWVudHMqLCBEZWNsYXJhdGlvblN0YWNrczo6VmFyU3RhY2smLAog
ICAgICAgICBEZWNsYXJhdGlvblN0YWNrczo6RnVuY3Rpb25TdGFjayYsIENvZGVGZWF0dXJlcywg
aW50LCBJZGVudGlmaWVyU2V0JiwgY29uc3QgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4mJik7
CiAKICAgICAvLyBVc2VkIHRvIGRldGVybWluZSB0eXBlIG9mIGVycm9yIHRvIHJlcG9ydC4KQEAg
LTcyMSw5ICs3MjQsMTQgQEAgcHJpdmF0ZToKICAgICAgICAgfQogICAgICAgICByZXR1cm4gcmVz
dWx0OwogICAgIH0KLSAgICAKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgcGFy
c2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYsIFNvdXJjZUVsZW1lbnRzTW9kZSwgRnVuY3Rp
b25QYXJzZVR5cGUgZnVuY3Rpb25QYXJzZVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBl
KTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VT
dGF0ZW1lbnQoVHJlZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNp
Z25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDAsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0
aW9uUGFyc2VUeXBlID0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CisjZWxzZQogICAgIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNlU291cmNl
RWxlbWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUpOwogICAgIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0YXRlbWVudChUcmVlQnVp
bGRlciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVM
aXRlcmFsTGVuZ3RoID0gMCk7CisjZW5kaWYKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkK
ICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VDbGFz
c0RlY2xhcmF0aW9uKFRyZWVCdWlsZGVyJik7CiAjZW5kaWYKQEAgLTc2OCw2ICs3NzYsMTQgQEAg
cHJpdmF0ZToKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9u
IHBhcnNlVmFyRGVjbGFyYXRpb25MaXN0KFRyZWVCdWlsZGVyJiwgaW50JiBkZWNsYXJhdGlvbnMs
IFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4mIGxhc3RQYXR0ZXJuLCBUcmVlRXhwcmVzc2lvbiYg
bGFzdEluaXRpYWxpemVyLCBKU1RleHRQb3NpdGlvbiYgaWRlbnRTdGFydCwgSlNUZXh0UG9zaXRp
b24mIGluaXRTdGFydCwgSlNUZXh0UG9zaXRpb24mIGluaXRFbmQsIFZhckRlY2xhcmF0aW9uTGlz
dENvbnRleHQpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5F
IFRyZWVDb25zdERlY2xMaXN0IHBhcnNlQ29uc3REZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXIm
KTsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFycm93RnVuY3Rpb25FeHBy
ZXNzaW9uKFRyZWVCdWlsZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlU3RhdGVtZW50IHBhcnNlQXJyb3dGdW5jdGlvblN0YXRlbWVudChUcmVlQnVpbGRlciYpOwor
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VBcnJv
d0Z1bmN0aW9uV3JhcHBlcihUcmVlQnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gTkVWRVJfSU5MSU5FIGJvb2wgcGFyc2VBcnJvd0Z1bmN0aW9uSW5mbyhUcmVlQnVp
bGRlciYsIEZ1bmN0aW9uUGFyc2VNb2RlLCBDb25zdHJ1Y3RvcktpbmQsIGludCwgUGFyc2VyRnVu
Y3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gQUxXQVlTX0lOTElORSBUcmVlRnVuY3Rpb25Cb2R5IHBhcnNlQXJyb3dGdW5jdGlvbkJvZHko
VHJlZUJ1aWxkZXImLCBpbnQsIGludCwgaW50LCBDb25zdHJ1Y3RvcktpbmQpOworI2VuZGlmCisK
ICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25z
dHJ1Y3Rpb25QYXR0ZXJuIGNyZWF0ZUJpbmRpbmdQYXR0ZXJuKFRyZWVCdWlsZGVyJiwgRGVjb25z
dHJ1Y3Rpb25LaW5kLCBjb25zdCBJZGVudGlmaWVyJiwgaW50IGRlcHRoLCBKU1Rva2VuKTsKICAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1
Y3Rpb25QYXR0ZXJuIHBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuKFRyZWVCdWlsZGVyJiwgRGVj
b25zdHJ1Y3Rpb25LaW5kLCBpbnQgZGVwdGggPSAwKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIHRyeVBhcnNl
RGVjb25zdHJ1Y3Rpb25QYXR0ZXJuRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOwpAQCAtNzg4LDcg
KzgwNCwxNCBAQCBwcml2YXRlOgogICAgICAgICB9CiAgICAgICAgIHJldHVybiBhbGxvd0F1dG9t
YXRpY1NlbWljb2xvbigpOwogICAgIH0KLSAgICAKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgdm9pZCBzZXRFbmRPZlN0YXRlbWVudCgpCisgICAgeworICAgICAg
ICBtX2xleGVyLT5zZXRUb2tlblBvc2l0aW9uKCZtX3Rva2VuKTsKKyAgICB9CisjZW5kaWYKKwog
ICAgIGJvb2wgY2FuUmVjdXJzZSgpCiAgICAgewogICAgICAgICByZXR1cm4gbV92bS0+aXNTYWZl
VG9SZWN1cnNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlckZ1bmN0aW9uSW5mby5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJG
dW5jdGlvbkluZm8uaAppbmRleCA2YjczNjI4MmUyZDJhODFiYzYzZGMyZjNjMGU1YWU4Yzg1OGNk
MWY4Li5kNzUyYTYxMGE5YjZlYjBjNmExMTQ5NTQ2NWNhN2RiZDc2OGNkNTIwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKQEAgLTI4
LDYgKzI4LDEwIEBACiAKIG5hbWVzcGFjZSBKU0MgewogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKK2VudW0gQXJyb3dGdW5jdGlvbkJvZHlUeXBlIHsgQXJyb3dGdW5jdGlv
bkJvZHlFeHByZXNzaW9uLCBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrfTsKKyNlbmRpZgorCiB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+CiBzdHJ1Y3QgUGFyc2VyRnVuY3Rpb25JbmZvIHsKICAg
ICBjb25zdCBJZGVudGlmaWVyKiBuYW1lID0gMDsKQEAgLTM4LDYgKzQyLDExIEBAIHN0cnVjdCBQ
YXJzZXJGdW5jdGlvbkluZm8gewogICAgIGludCBib2R5U3RhcnRMaW5lID0gMDsKICAgICBpbnQg
Ym9keUVuZExpbmUgPSAwOwogICAgIHVuc2lnbmVkIGJvZHlTdGFydENvbHVtbiA9IDA7CisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB1bnNpZ25lZCBhcnJvd0Z1bmN0
aW9uT2Zmc2V0ID0gMDsKKyAgICBib29sIGlzQXJyb3dGdW5jdGlvbiA9IGZhbHNlOworICAgIEFy
cm93RnVuY3Rpb25Cb2R5VHlwZSBhcnJvd0Z1bmN0aW9uQm9keVR5cGUgPSBBcnJvd0Z1bmN0aW9u
Qm9keUV4cHJlc3Npb247CisjZW5kaWYKIH07CiAKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRB
WCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5z
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCmluZGV4IDgz
MjlmODJhOWIyZmY5MTVkMWYyNDFjMWY4YmZmYWQ0MjQ3YTVmMGIuLmM4YjE2NmUwZWFkN2QyZGE3
MTllNzZjNGEyZjA5YWZmMWQ3NGQ3YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXJUb2tlbnMuaApAQCAtNzUsNiArNzUsOSBAQCBlbnVtIEpTVG9rZW5UeXBlIHsKICAg
ICBGSU5BTExZLAogICAgIERFQlVHR0VSLAogICAgIEVMU0UsCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBBUlJPV0ZVTkNUSU9OLAorI2VuZGlmCiAjaWYgRU5BQkxF
KEVTNl9DTEFTU19TWU5UQVgpCiAgICAgQ0xBU1NUT0tFTiwKICAgICBFWFRFTkRTLApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaAppbmRleCA3OTJjMTllOTRhODA1YjVi
NGQ0YmRkNjIwOGU2ZDA2ZmQ4OTlmMzU5Li5iZjI2NzQ1ZDA2ZjE4YjY1YjEwZTFiNzVmOTc2ZmI4
OTA3ZTJkMTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJj
ZUNvZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaApA
QCAtMTA1LDYgKzEwNSw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAKICAgICAgICAgU291
cmNlQ29kZSBzdWJFeHByZXNzaW9uKHVuc2lnbmVkIG9wZW5CcmFjZSwgdW5zaWduZWQgY2xvc2VC
cmFjZSwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKTsKIAorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIFNvdXJjZUNvZGUgc3ViQXJyb3dFeHByZXNz
aW9uKHVuc2lnbmVkIHN0YXJ0QXJyb3dGdW5jdGlvbiwgdW5zaWduZWQgZW5kQXJyb3dGdW5jdGlv
biwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKTsKKyNlbmRpZgogICAgIHByaXZhdGU6
CiAgICAgICAgIFJlZlB0cjxTb3VyY2VQcm92aWRlcj4gbV9wcm92aWRlcjsKICAgICAgICAgaW50
IG1fc3RhcnRDaGFyOwpAQCAtMTE4LDYgKzEyMSwxNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAg
ICAgcmV0dXJuIFNvdXJjZUNvZGUoU3RyaW5nU291cmNlUHJvdmlkZXI6OmNyZWF0ZShzb3VyY2Us
IHVybCwgc3RhcnRQb3NpdGlvbiksIHN0YXJ0UG9zaXRpb24ubV9saW5lLm9uZUJhc2VkSW50KCks
IHN0YXJ0UG9zaXRpb24ubV9jb2x1bW4ub25lQmFzZWRJbnQoKSk7CiAgICAgfQogCisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpbmxpbmUgU291cmNlQ29kZSBTb3Vy
Y2VDb2RlOjpzdWJBcnJvd0V4cHJlc3Npb24odW5zaWduZWQgc3RhcnRBcnJvd0Z1bmN0aW9uLCB1
bnNpZ25lZCBlbmRBcnJvd0Z1bmN0aW9uLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4p
CisgICAgeworICAgICAgICBBU1NFUlQocHJvdmlkZXIoKS0+c291cmNlKClbc3RhcnRBcnJvd0Z1
bmN0aW9uXSA9PSAnPScgJiYgcHJvdmlkZXIoKS0+c291cmNlKClbc3RhcnRBcnJvd0Z1bmN0aW9u
ICsgMV0gPT0gJz4nKTsKKyAgICAgICAgLy8gRml4bWU6IFVzZSBiZXR0ZXIgYXBwcm9hY2ggdG8g
Y2hlY2sgc3ltYm9sCisgICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJv
d0Z1bmN0aW9uIC0gMV0gPT0gJywnIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVu
Y3Rpb24gLSAxXSA9PSAnOycgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlv
biAtIDFdID09ICcpJyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0g
MV0gPT0gJ10nIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9
PSAnfScpOworICAgICAgICBzdGFydENvbHVtbiArPSAxOyAvLyBDb252ZXJ0IHRvIGJhc2UgMS4K
KyAgICAgICAgcmV0dXJuIFNvdXJjZUNvZGUocHJvdmlkZXIoKSwgc3RhcnRBcnJvd0Z1bmN0aW9u
LCBlbmRBcnJvd0Z1bmN0aW9uIC0gMSwgZmlyc3RMaW5lLCBzdGFydENvbHVtbik7CisgICAgfQor
I2VuZGlmCisKICAgICBpbmxpbmUgU291cmNlQ29kZSBTb3VyY2VDb2RlOjpzdWJFeHByZXNzaW9u
KHVuc2lnbmVkIG9wZW5CcmFjZSwgdW5zaWduZWQgY2xvc2VCcmFjZSwgaW50IGZpcnN0TGluZSwg
aW50IHN0YXJ0Q29sdW1uKQogICAgIHsKICAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJj
ZSgpW29wZW5CcmFjZV0gPT0gJ3snKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaAppbmRleCA2MzUzNzllM2Y0NDU2Njhj
NTJiODcyZjc2MTZkY2I1OTIxYTgyOTQ0Li44NTA3N2E0NjBjNjM2YzI2M2RhZDA5NzUyN2NiN2E4
ZWNiZDBiNDY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJj
ZVByb3ZpZGVyQ2FjaGVJdGVtLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9T
b3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCkBAIC00MCw2ICs0MCwxMCBAQCBzdHJ1Y3QgU291cmNl
UHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMgewogICAgIGJvb2wgbmVlZHNGdWxs
QWN0aXZhdGlvbjsKICAgICBib29sIHVzZXNFdmFsOwogICAgIGJvb2wgc3RyaWN0TW9kZTsKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGJvb2wgaXNCb2R5QXJyb3dG
dW5jdGlvbkJsb2NrOworICAgIEpTVG9rZW5UeXBlIHRva2VuVHlwZTsKKyNlbmRpZgogICAgIFZl
Y3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+IHVzZWRWYXJpYWJsZXM7CiAgICAgVmVjdG9yPFJlZlB0
cjxTdHJpbmdJbXBsPj4gd3JpdHRlblZhcmlhYmxlczsKIH07CkBAIC02OSw5ICs3MywyNCBAQCBw
dWJsaWM6CiAgICAgICAgIHJldHVybiB0b2tlbjsKICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEpTVG9rZW4gZW5kQXJyb3dGdW5jdGlvblRva2VuKCkg
Y29uc3QKKyAgICB7CisgICAgICAgIEpTVG9rZW4gdG9rZW47CisgICAgICAgIHRva2VuLm1fdHlw
ZSA9IHRva2VuVHlwZTsKKyAgICAgICAgdG9rZW4ubV9kYXRhLm9mZnNldCA9IGNsb3NlQnJhY2VP
ZmZzZXQ7CisgICAgICAgIHRva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNl
T2Zmc2V0OworICAgICAgICB0b2tlbi5tX2xvY2F0aW9uLmVuZE9mZnNldCA9IGNsb3NlQnJhY2VP
ZmZzZXQgKyAxOworICAgICAgICB0b2tlbi5tX2xvY2F0aW9uLmxpbmUgPSBjbG9zZUJyYWNlTGlu
ZTsKKyAgICAgICAgdG9rZW4ubV9sb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNl
TGluZVN0YXJ0T2Zmc2V0OworCisgICAgICAgIHJldHVybiB0b2tlbjsKKyAgICB9CisjZW5kaWYK
KwogICAgIHVuc2lnbmVkIGZ1bmN0aW9uTmFtZVN0YXJ0IDogMzE7CiAgICAgYm9vbCBuZWVkc0Z1
bGxBY3RpdmF0aW9uIDogMTsKLSAgICAKKwogICAgIHVuc2lnbmVkIGNsb3NlQnJhY2VMaW5lIDog
MzE7CiAgICAgYm9vbCB1c2VzRXZhbCA6IDE7CiAKQEAgLTgyLDYgKzEwMSwxMSBAQCBwdWJsaWM6
CiAgICAgdW5zaWduZWQgdXNlZFZhcmlhYmxlc0NvdW50OwogICAgIHVuc2lnbmVkIHdyaXR0ZW5W
YXJpYWJsZXNDb3VudDsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgYm9vbCBpc0JvZHlBcnJvd0Z1bmN0aW9uQmxvY2s7CisgICAgSlNUb2tlblR5cGUgdG9rZW5U
eXBlOworI2VuZGlmCisKICAgICBTdHJpbmdJbXBsKiogdXNlZFZhcmlhYmxlcygpIGNvbnN0IHsg
cmV0dXJuIGNvbnN0X2Nhc3Q8U3RyaW5nSW1wbCoqPihtX3ZhcmlhYmxlcyk7IH0KICAgICBTdHJp
bmdJbXBsKiogd3JpdHRlblZhcmlhYmxlcygpIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8U3Ry
aW5nSW1wbCoqPigmbV92YXJpYWJsZXNbdXNlZFZhcmlhYmxlc0NvdW50XSk7IH0KIApAQCAtMTE1
LDYgKzEzOSwxMCBAQCBpbmxpbmUgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW06OlNvdXJjZVByb3Zp
ZGVyQ2FjaGVJdGVtKGNvbnN0IFNvdXJjZVByb3ZpZGVyQ2FjaAogICAgICwgY2xvc2VCcmFjZUxp
bmVTdGFydE9mZnNldChwYXJhbWV0ZXJzLmNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQpCiAgICAg
LCB1c2VkVmFyaWFibGVzQ291bnQocGFyYW1ldGVycy51c2VkVmFyaWFibGVzLnNpemUoKSkKICAg
ICAsIHdyaXR0ZW5WYXJpYWJsZXNDb3VudChwYXJhbWV0ZXJzLndyaXR0ZW5WYXJpYWJsZXMuc2l6
ZSgpKQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgLCBpc0JvZHlB
cnJvd0Z1bmN0aW9uQmxvY2socGFyYW1ldGVycy5pc0JvZHlBcnJvd0Z1bmN0aW9uQmxvY2spCisg
ICAgLCB0b2tlblR5cGUocGFyYW1ldGVycy50b2tlblR5cGUpCisjZW5kaWYKIHsKICAgICB1bnNp
Z25lZCBqID0gMDsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdXNlZFZhcmlhYmxlc0Nv
dW50OyArK2ksICsraikgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9TeW50YXhDaGVja2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENo
ZWNrZXIuaAppbmRleCA4YjQ3NTg0YmE3YjdhNGYyOWMwZjBlMGVhZDU3ZTA3MzRmYWJmZTJmLi5j
MTRiYzhmNTcxOTAxMDg2NTdmMDMyMDEzMDNjNDNlYjgxYjYxNGEzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaApAQCAtMzEsNyArMzEsNyBAQAogI2lu
Y2x1ZGUgIllhcnJTeW50YXhDaGVja2VyLmgiCiAKIG5hbWVzcGFjZSBKU0MgewotICAgIAorCiBj
bGFzcyBTeW50YXhDaGVja2VyIHsKIHB1YmxpYzoKICAgICBzdHJ1Y3QgQmluYXJ5RXhwckNvbnRl
eHQgewpAQCAtNjQsNyArNjQsNyBAQCBwdWJsaWM6CiAgICAgcHJpdmF0ZToKICAgICAgICAgU3lu
dGF4Q2hlY2tlciogbV9jb250ZXh0OwogICAgIH07Ci0gICAgCisKICAgICBTeW50YXhDaGVja2Vy
KFZNKiAsIHZvaWQqKQogICAgIHsKICAgICB9CkBAIC0xNzAsNiArMTcwLDEwIEBAIHB1YmxpYzoK
ICNlbmRpZgogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUZ1bmN0aW9uRXhwcihjb25zdCBKU1Rv
a2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4mKSB7
IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KICAgICBpbnQgY3JlYXRlRnVuY3Rpb25Cb2R5KGNvbnN0
IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGludCwgaW50LCBib29s
LCBpbnQsIGludCwgaW50LCBDb25zdHJ1Y3RvcktpbmQpIHsgcmV0dXJuIEZ1bmN0aW9uQm9keVJl
c3VsdDsgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgRXhwcmVz
c2lvblR5cGUgY3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwg
Y29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JikgeyByZXR1cm4gRnVuY3Rp
b25FeHByOyB9CisjZW5kaWYgCisgICAgdm9pZCBzZXRGdW5jdGlvbk5hbWVTdGFydChpbnQsIGlu
dCkgeyB9CiAgICAgaW50IGNyZWF0ZUFyZ3VtZW50cygpIHsgcmV0dXJuIEFyZ3VtZW50c1Jlc3Vs
dDsgfQogICAgIGludCBjcmVhdGVBcmd1bWVudHMoaW50KSB7IHJldHVybiBBcmd1bWVudHNSZXN1
bHQ7IH0KICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVTcHJlYWRFeHByZXNzaW9uKGNvbnN0IEpT
VG9rZW5Mb2NhdGlvbiYsIEV4cHJlc3Npb25UeXBlLCBpbnQsIGludCwgaW50KSB7IHJldHVybiBT
cHJlYWRFeHByOyB9CkBAIC0yNTYsNyArMjYwLDcgQEAgcHVibGljOgogICAgICAgICAgICAgbV90
b3BCaW5hcnlFeHByID0gQmluYXJ5RXhwcjsKICAgICAgICAgb3BlcmFuZFN0YWNrRGVwdGgrKzsK
ICAgICB9Ci0gICAgCisKICAgICAvLyBMb2dpYyB0byBoYW5kbGUgZGF0YXN0cnVjdHVyZXMgdXNl
ZCBkdXJpbmcgcGFyc2luZyBvZiBiaW5hcnkgZXhwcmVzc2lvbnMKICAgICB2b2lkIG9wZXJhdG9y
U3RhY2tQb3AoaW50JiBvcGVyYXRvclN0YWNrRGVwdGgpIHsgb3BlcmF0b3JTdGFja0RlcHRoLS07
IH0KICAgICBib29sIG9wZXJhdG9yU3RhY2tIYXNIaWdoZXJQcmVjZWRlbmNlKGludCYsIGludCkg
eyByZXR1cm4gdHJ1ZTsgfQpAQCAtMjY1LDEyICsyNjksMTIgQEAgcHVibGljOgogICAgIHZvaWQg
YXBwZW5kQmluYXJ5T3BlcmF0aW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGludCYgb3BlcmFu
ZFN0YWNrRGVwdGgsIGludCYsIEJpbmFyeU9wZXJhbmQsIEJpbmFyeU9wZXJhbmQpIHsgb3BlcmFu
ZFN0YWNrRGVwdGgrKzsgfQogICAgIHZvaWQgb3BlcmF0b3JTdGFja0FwcGVuZChpbnQmIG9wZXJh
dG9yU3RhY2tEZXB0aCwgaW50LCBpbnQpIHsgb3BlcmF0b3JTdGFja0RlcHRoKys7IH0KICAgICBp
bnQgcG9wT3BlcmFuZFN0YWNrKGludCYpIHsgaW50IHJlcyA9IG1fdG9wQmluYXJ5RXhwcjsgbV90
b3BCaW5hcnlFeHByID0gMDsgcmV0dXJuIHJlczsgfQotICAgIAorCiAgICAgdm9pZCBhcHBlbmRV
bmFyeVRva2VuKGludCYgc3RhY2tEZXB0aCwgaW50IHRvaywgaW50KSB7IHN0YWNrRGVwdGggPSAx
OyBtX3RvcFVuYXJ5VG9rZW4gPSB0b2s7IH0KICAgICBpbnQgdW5hcnlUb2tlblN0YWNrTGFzdFR5
cGUoaW50JikgeyByZXR1cm4gbV90b3BVbmFyeVRva2VuOyB9CiAgICAgSlNUZXh0UG9zaXRpb24g
dW5hcnlUb2tlblN0YWNrTGFzdFN0YXJ0KGludCYpIHsgcmV0dXJuIEpTVGV4dFBvc2l0aW9uKDAs
IDAsIDApOyB9CiAgICAgdm9pZCB1bmFyeVRva2VuU3RhY2tSZW1vdmVMYXN0KGludCYgc3RhY2tE
ZXB0aCkgeyBzdGFja0RlcHRoID0gMDsgfQotICAgIAorCiAgICAgdm9pZCBhc3NpZ25tZW50U3Rh
Y2tBcHBlbmQoaW50LCBpbnQsIGludCwgaW50LCBpbnQsIE9wZXJhdG9yKSB7IH0KICAgICBpbnQg
Y3JlYXRlQXNzaWdubWVudChjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBpbnQsIGludCwgaW50LCBp
bnQsIGludCkgeyBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyByZXR1cm4gQXNzaWdubWVu
dEV4cHI7IH0KICAgICBjb25zdCBJZGVudGlmaWVyKiBnZXROYW1lKGNvbnN0IFByb3BlcnR5JiBw
cm9wZXJ0eSkgY29uc3QgeyByZXR1cm4gcHJvcGVydHkubmFtZTsgfQpAQCAtMjgwLDcgKzI4NCw3
IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiBEZWNvbnN0cnVjdGluZ0Fzc2lnbm1l
bnQ7CiAgICAgfQotICAgIAorCiAgICAgQXJyYXlQYXR0ZXJuIGNyZWF0ZUFycmF5UGF0dGVybihj
b25zdCBKU1Rva2VuTG9jYXRpb24mKQogICAgIHsKICAgICAgICAgcmV0dXJuIEFycmF5RGVjb25z
dHJ1Y3Rpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2Rl
Q2FjaGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29kZUNhY2hlLmNwcApp
bmRleCAzZTY3YTI3ZDBmYmJmZjFhYTNkYTQyYzg2MjRhMDYyMjI3ZWQxODVjLi44NTE1Y2JiZWEy
ZDY5OTc3NmIzZjhmZWZiNGMzYzNjYzllZmIxYmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Db2RlQ2FjaGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0NvZGVDYWNoZS5jcHAKQEAgLTkzLDcgKzkzLDcgQEAgVW5saW5rZWRDb2RlQmxv
Y2tUeXBlKiBDb2RlQ2FjaGU6OmdldEdsb2JhbENvZGVCbG9jayhWTSYgdm0sIEV4ZWN1dGFibGVU
eXBlKiBleGUKIAogICAgIHR5cGVkZWYgdHlwZW5hbWUgQ2FjaGVUeXBlczxVbmxpbmtlZENvZGVC
bG9ja1R5cGU+OjpSb290Tm9kZSBSb290Tm9kZTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Um9vdE5v
ZGU+IHJvb3ROb2RlID0gcGFyc2U8Um9vdE5vZGU+KAotICAgICAgICAmdm0sIHNvdXJjZSwgMCwg
SWRlbnRpZmllcigpLCBidWlsdGluTW9kZSwgc3RyaWN0TW9kZSwgCisgICAgICAgICZ2bSwgc291
cmNlLCAwLCBJZGVudGlmaWVyKCksIGJ1aWx0aW5Nb2RlLCBzdHJpY3RNb2RlLAogICAgICAgICBK
U1BhcnNlckNvZGVUeXBlOjpQcm9ncmFtLCBlcnJvcik7CiAgICAgaWYgKCFyb290Tm9kZSkKICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC0xMzQsOCArMTM0LDggQEAgVW5saW5rZWRFdmFsQ29k
ZUJsb2NrKiBDb2RlQ2FjaGU6OmdldEV2YWxDb2RlQmxvY2soVk0mIHZtLCBFdmFsRXhlY3V0YWJs
ZSogZXhlY3UKIFVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlKiBDb2RlQ2FjaGU6OmdldEZ1bmN0
aW9uRXhlY3V0YWJsZUZyb21HbG9iYWxDb2RlKFZNJiB2bSwgY29uc3QgSWRlbnRpZmllciYgbmFt
ZSwgY29uc3QgU291cmNlQ29kZSYgc291cmNlLCBQYXJzZXJFcnJvciYgZXJyb3IpCiB7CiAgICAg
U291cmNlQ29kZUtleSBrZXkgPSBTb3VyY2VDb2RlS2V5KAotICAgICAgICBzb3VyY2UsIG5hbWUu
c3RyaW5nKCksIFNvdXJjZUNvZGVLZXk6OkZ1bmN0aW9uVHlwZSwgCi0gICAgICAgIEpTUGFyc2Vy
QnVpbHRpbk1vZGU6Ok5vdEJ1aWx0aW4sIAorICAgICAgICBzb3VyY2UsIG5hbWUuc3RyaW5nKCks
IFNvdXJjZUNvZGVLZXk6OkZ1bmN0aW9uVHlwZSwKKyAgICAgICAgSlNQYXJzZXJCdWlsdGluTW9k
ZTo6Tm90QnVpbHRpbiwKICAgICAgICAgSlNQYXJzZXJTdHJpY3RNb2RlOjpOb3RTdHJpY3QpOwog
ICAgIFNvdXJjZUNvZGVWYWx1ZSogY2FjaGUgPSBtX3NvdXJjZUNvZGUuZmluZENhY2hlQW5kVXBk
YXRlQWdlKGtleSk7CiAgICAgaWYgKGNhY2hlKQpAQCAtMTQzLDggKzE0Myw4IEBAIFVubGlua2Vk
RnVuY3Rpb25FeGVjdXRhYmxlKiBDb2RlQ2FjaGU6OmdldEZ1bmN0aW9uRXhlY3V0YWJsZUZyb21H
bG9iYWxDb2RlKFZNJiB2CiAKICAgICBKU1RleHRQb3NpdGlvbiBwb3NpdGlvbkJlZm9yZUxhc3RO
ZXdsaW5lOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm9ncmFtTm9kZT4gcHJvZ3JhbSA9IHBhcnNl
PFByb2dyYW1Ob2RlPigKLSAgICAgICAgJnZtLCBzb3VyY2UsIDAsIElkZW50aWZpZXIoKSwgSlNQ
YXJzZXJCdWlsdGluTW9kZTo6Tm90QnVpbHRpbiwgCi0gICAgICAgIEpTUGFyc2VyU3RyaWN0TW9k
ZTo6Tm90U3RyaWN0LCBKU1BhcnNlckNvZGVUeXBlOjpQcm9ncmFtLCAKKyAgICAgICAgJnZtLCBz
b3VyY2UsIDAsIElkZW50aWZpZXIoKSwgSlNQYXJzZXJCdWlsdGluTW9kZTo6Tm90QnVpbHRpbiwK
KyAgICAgICAgSlNQYXJzZXJTdHJpY3RNb2RlOjpOb3RTdHJpY3QsIEpTUGFyc2VyQ29kZVR5cGU6
OlByb2dyYW0sCiAgICAgICAgIGVycm9yLCAmcG9zaXRpb25CZWZvcmVMYXN0TmV3bGluZSk7CiAg
ICAgaWYgKCFwcm9ncmFtKSB7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGVycm9yLmlzVmFsaWQo
KSk7CkBAIC0xNjAsMTUgKzE2MCwyMCBAQCBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSogQ29k
ZUNhY2hlOjpnZXRGdW5jdGlvbkV4ZWN1dGFibGVGcm9tR2xvYmFsQ29kZShWTSYgdgogCiAgICAg
U3RhdGVtZW50Tm9kZSogZnVuY0RlY2wgPSBzdGF0aWNfY2FzdDxCbG9ja05vZGUqPihzdGF0ZW1l
bnQpLT5zaW5nbGVTdGF0ZW1lbnQoKTsKICAgICBBU1NFUlQoZnVuY0RlY2wpOworI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgQVNTRVJUKGZ1bmNEZWNsLT5pc0Z1bmNE
ZWNsTm9kZSgpIC8qfHwgZnVuY0RlY2wtPmlzQXJyb3dGdW5jRXhwck5vZGUoKSovKTsKKyAgICBp
ZiAoIWZ1bmNEZWNsIHx8ICghZnVuY0RlY2wtPmlzRnVuY0RlY2xOb2RlKCkgLyomJiAhZnVuY0Rl
Y2wtPmlzQXJyb3dGdW5jRXhwck5vZGUoKSovKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7Cisj
ZWxzZQogICAgIEFTU0VSVChmdW5jRGVjbC0+aXNGdW5jRGVjbE5vZGUoKSk7CiAgICAgaWYgKCFm
dW5jRGVjbCB8fCAhZnVuY0RlY2wtPmlzRnVuY0RlY2xOb2RlKCkpCiAgICAgICAgIHJldHVybiBu
dWxscHRyOwotCisjZW5kaWYKICAgICBGdW5jdGlvbkJvZHlOb2RlKiBib2R5ID0gc3RhdGljX2Nh
c3Q8RnVuY0RlY2xOb2RlKj4oZnVuY0RlY2wpLT5ib2R5KCk7CiAgICAgQVNTRVJUKGJvZHkpOwog
ICAgIGlmICghYm9keSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgCisKICAgICBib2R5
LT5zZXRFbmRQb3NpdGlvbihwb3NpdGlvbkJlZm9yZUxhc3ROZXdsaW5lKTsKICAgICBVbmxpbmtl
ZEZ1bmN0aW9uRXhlY3V0YWJsZSogZnVuY3Rpb25FeGVjdXRhYmxlID0gVW5saW5rZWRGdW5jdGlv
bkV4ZWN1dGFibGU6OmNyZWF0ZSgmdm0sIHNvdXJjZSwgYm9keSwgVW5saW5rZWROb3JtYWxGdW5j
dGlvbik7CiAgICAgZnVuY3Rpb25FeGVjdXRhYmxlLT5tX25hbWVWYWx1ZS5zZXQodm0sIGZ1bmN0
aW9uRXhlY3V0YWJsZSwganNTdHJpbmcoJnZtLCBuYW1lLnN0cmluZygpKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hZDA1ZGQyYmRmODYxZWEyODIwNGMwNTdiNTRiYWEzZjQ5MWViMTAxCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcApA
QCAtMCwwICsxLDc0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgor
CisjaW5jbHVkZSAiRXJyb3IuaCIKKyNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCisjaW5j
bHVkZSAiSlNDSW5saW5lcy5oIgorI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKKyNpbmNsdWRlICJK
U0Z1bmN0aW9uSW5saW5lcy5oIgorI2luY2x1ZGUgIkpTT2JqZWN0LmgiCisjaW5jbHVkZSAiUHJv
cGVydHlTbG90LmgiCisjaW5jbHVkZSAiVk0uaCIKKworbmFtZXNwYWNlIEpTQyB7CisgICAgCitj
b25zdCBDbGFzc0luZm8gSlNBcnJvd0Z1bmN0aW9uOjpzX2luZm8gPSB7ICJBcnJvd0Z1bmN0aW9u
IiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0Fycm93RnVuY3Rpb24p
IH07CisKK3ZvaWQgSlNBcnJvd0Z1bmN0aW9uOjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKK3sKKyAg
ICBzdGF0aWNfY2FzdDxKU0Fycm93RnVuY3Rpb24qPihjZWxsKS0+SlNBcnJvd0Z1bmN0aW9uOjp+
SlNBcnJvd0Z1bmN0aW9uKCk7Cit9CisKK0pTQXJyb3dGdW5jdGlvbjo6SlNBcnJvd0Z1bmN0aW9u
KFZNJiB2bSwgSlNTY29wZSogc2NvcGUsIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUpCisgICAgOiBCYXNlKHZtLCBleGVjdXRhYmxlLCBzY29wZSwg
c3RydWN0dXJlKQoreworfQorICAgIAordm9pZCBKU0Fycm93RnVuY3Rpb246OmZpbmlzaENyZWF0
aW9uKFZNJiB2bSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CisvLyBQcm90b3R5
cGUgb2YgYXJyb3cgZnVuY3Rpb24gaXMgdW5kZWZpbmVkCisgICAgcHV0RGlyZWN0KHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIGpzVW5kZWZpbmVkKCksIERvbnREZWxldGUgfCBSZWFk
T25seSB8IERvbnRFbnVtKTsKK30KKyAgICAKK3ZvaWQgSlNBcnJvd0Z1bmN0aW9uOjp2aXNpdENo
aWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCit7CisgICAgSlNBcnJv
d0Z1bmN0aW9uKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTQXJyb3dGdW5jdGlvbio+KGNlbGwpOwor
ICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVjdCwgaW5mbygpKTsKKyAgICBC
YXNlOjp2aXNpdENoaWxkcmVuKHRoaXNPYmplY3QsIHZpc2l0b3IpOworfQorICAgIAorQ29uc3Ry
dWN0VHlwZSBKU0Fycm93RnVuY3Rpb246OmdldENvbnN0cnVjdERhdGEoSlNDZWxsKiBjZWxsLCBD
b25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQoreworICAgIEpTRnVuY3Rpb24qIHRoaXNPYmpl
Y3QgPSBqc0Nhc3Q8SlNGdW5jdGlvbio+KGNlbGwpOworICAgICAgICAKKyAgICBjb25zdHJ1Y3RE
YXRhLmpzLmZ1bmN0aW9uRXhlY3V0YWJsZSA9IHRoaXNPYmplY3QtPmpzRXhlY3V0YWJsZSgpOwor
ICAgIGNvbnN0cnVjdERhdGEuanMuc2NvcGUgPSB0aGlzT2JqZWN0LT5zY29wZSgpOworICAgIHJl
dHVybiBDb25zdHJ1Y3RUeXBlTm9uZTsKK30KK30gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
ZTU4NWVkMWVjZDEyMmM0ZDNiOWNkZjIxNDE2NzE3NjExMzdmZWI2Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmgKQEAgLTAs
MCArMSw3MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgSlNBcnJvd0Z1bmN0aW9uX2gKKyNkZWZpbmUgSlNBcnJvd0Z1bmN0aW9uX2gKKwor
I2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK2NsYXNzIEpTQXJy
b3dGdW5jdGlvbiA6IHB1YmxpYyBKU0Z1bmN0aW9uIHsKK3B1YmxpYzoKKyAgICB0eXBlZGVmIEpT
RnVuY3Rpb24gQmFzZTsKKyAgICAgICAgCisgICAgc3RhdGljIEpTQXJyb3dGdW5jdGlvbiogY3Jl
YXRlKFZNJiB2bSwgSlNTY29wZSogc2NvcGUsIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJs
ZSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKKyAgICB7CisgICAgICAgIEpTQXJyb3dG
dW5jdGlvbiogZnVuY3Rpb24gPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxKU0Fycm93RnVu
Y3Rpb24+KHZtLmhlYXApKSBKU0Fycm93RnVuY3Rpb24odm0sIHNjb3BlLCBleGVjdXRhYmxlLCBn
bG9iYWxPYmplY3QtPmFycm93RnVuY3Rpb25TdHJ1Y3R1cmUoKSk7CisgICAgICAgIEFTU0VSVChm
dW5jdGlvbi0+c3RydWN0dXJlKCktPmdsb2JhbE9iamVjdCgpKTsKKyAgICAgICAgZnVuY3Rpb24t
PmZpbmlzaENyZWF0aW9uKHZtKTsKKyAgICAgICAgcmV0dXJuIGZ1bmN0aW9uOworICAgIH0KKyAg
ICAKKyAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2VsbCopOworICAgICAgICAKKyAgICBzdGF0
aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkKKyAgICB7CisgICAgICAgIEFTU0VSVChnbG9i
YWxPYmplY3QpOworICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9i
amVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhKU0Z1bmN0aW9uVHlwZSwgU3RydWN0dXJlRmxhZ3Mp
LCBpbmZvKCkpOworICAgIH0KKyAgICAgICAgCisgICAgc3RhdGljIENvbnN0cnVjdFR5cGUgZ2V0
Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJik7CisgICAgICAgIAorICAgIERF
Q0xBUkVfSU5GTzsKKworcHJvdGVjdGVkOgorICAgIGNvbnN0IHN0YXRpYyB1bnNpZ25lZCBTdHJ1
Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0hhc0luc3RhbmNlIHwgQmFzZTo6U3RydWN0dXJlRmxhZ3M7
CisgICAgICAgIAorICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZp
c2l0b3ImKTsKKyAgICAgICAgCitwcml2YXRlOgorICAgIEpTQXJyb3dGdW5jdGlvbihWTSYsIEpT
U2NvcGUqLCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBTdHJ1Y3R1cmUqKTsKKworICAgIHZvaWQgZmlu
aXNoQ3JlYXRpb24oVk0mKTsKK307CisgICAgCit9IC8vIG5hbWVzcGFjZSBKU0MKKworI2VuZGlm
IC8vIEpTQXJyb3dGdW5jdGlvbl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0Z1bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1
bmN0aW9uLmgKaW5kZXggYmUwYmRjNzg0MmY5NzMzYzc2YjA2NDQzYmRhMzY2MTQxOGVhNTk5Ny4u
NjA2MGJlN2JmMzU5YjAwMTVmMzMyYjcwNzA3MzNjNDY1NjM3MDg2NCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaApAQCAtMTMxLDYgKzEzMSw5IEBAIHByb3Rl
Y3RlZDoKIAogICAgIEpTX0VYUE9SVF9QUklWQVRFIEpTRnVuY3Rpb24oVk0mLCBKU0dsb2JhbE9i
amVjdCosIFN0cnVjdHVyZSopOwogICAgIEpTRnVuY3Rpb24oVk0mLCBGdW5jdGlvbkV4ZWN1dGFi
bGUqLCBKU1Njb3BlKik7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICBKU0Z1bmN0aW9uKFZNJiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgSlNTY29wZSosIFN0cnVjdHVy
ZSopOworI2VuZGlmCiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgTmF0aXZlRXhlY3V0
YWJsZSosIGludCBsZW5ndGgsIGNvbnN0IFN0cmluZyYgbmFtZSk7CiAgICAgdXNpbmcgQmFzZTo6
ZmluaXNoQ3JlYXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0Z1bmN0aW9uSW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNG
dW5jdGlvbklubGluZXMuaAppbmRleCBhNWRlOTE3YzE3ZTQ4NGRjYWE2NTUwNWFmNzExNzg3NTQy
OTVlMjRmLi43ZGI4MDQwNmU3MWRiMmI3YmI2MzU0NTgyMzU2YjVlMWY1YzgyYjcxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgKQEAg
LTM4LDYgKzM4LDE1IEBAIGlubGluZSBKU0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKFZNJiB2bSwgRnVu
Y3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBKU1Njb3BlKiBzCiB7CiB9CiAKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQoraW5saW5lIEpTRnVuY3Rpb246OkpTRnVuY3Rp
b24oVk0mIHZtLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpTU2NvcGUqIHNjb3Bl
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICA6IEJhc2Uodm0sIHNjb3BlLCBzdHJ1Y3R1cmUp
CisgICAgLCBtX2V4ZWN1dGFibGUodm0sIHRoaXMsIGV4ZWN1dGFibGUpCisgICAgLCBtX2FsbG9j
YXRpb25Qcm9maWxlV2F0Y2hwb2ludChDbGVhcldhdGNocG9pbnQpCit7Cit9CisjZW5kaWYKKyAg
ICAKIGlubGluZSBGdW5jdGlvbkV4ZWN1dGFibGUqIEpTRnVuY3Rpb246OmpzRXhlY3V0YWJsZSgp
IGNvbnN0CiB7CiAgICAgQVNTRVJUKCFpc0hvc3RGdW5jdGlvbk5vbklubGluZSgpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAppbmRleCBh
NWVhYWZiMWJlN2NjZGZiMmRmYmYxOGNhYTMyY2RlMjI4MjRhMGY0Li4zYzM0MWE5ZGE5Yzk4Zjcx
YzU5MDk0ZTQ5Yzk2ZGNlYzBlMmNiMTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCkBAIC02Miw2ICs2Miw5IEBACiAjaW5jbHVkZSAi
SlNBcnJheUJ1ZmZlclByb3RvdHlwZS5oIgogI2luY2x1ZGUgIkpTQXJyYXlJdGVyYXRvci5oIgog
I2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCisjZW5kaWYKICNpbmNsdWRl
ICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgiCiAjaW5j
bHVkZSAiSlNDYWxsYmFja0Z1bmN0aW9uLmgiCkBAIC0yMzMsNiArMjM2LDkgQEAgdm9pZCBKU0ds
b2JhbE9iamVjdDo6aW5pdChWTSYgdm0pCiAgICAgZXhlYy0+c2V0Q2FsbGVlKG1fZ2xvYmFsQ2Fs
bGVlLmdldCgpKTsKIAogICAgIG1fZnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0Z1
bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0
KCkpKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIG1fYXJyb3dG
dW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlU3Ry
dWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7CisjZW5kaWYKICAg
ICBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0JvdW5kRnVuY3Rpb246
OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOwog
ICAgIG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZTo6YWRk
UHJvcGVydHlUcmFuc2l0aW9uKHZtLCBtX2Z1bmN0aW9uU3RydWN0dXJlLmdldCgpLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5uYW1lLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51bSwgbV9mdW5j
dGlvbk5hbWVPZmZzZXQpKTsKICAgICBtX2ludGVybmFsRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZt
LCB0aGlzLCBJbnRlcm5hbEZ1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVu
Y3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKQEAgLTcyNSw2ICs3MzEsOSBAQCB2b2lkIEpTR2xvYmFs
T2JqZWN0Ojp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3Ip
CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fY2FsbGVlU3RydWN0dXJlKTsKICAg
ICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9mdW5jdGlvblN0cnVjdHVyZSk7CiAgICAg
dmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYm91bmRGdW5jdGlvblN0cnVjdHVyZSk7Cisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2aXNpdG9yLmFwcGVuZCgm
dGhpc09iamVjdC0+bV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKTsKKyNlbmRpZgogICAgIHZpc2l0
b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUpOwogICAgIHZp
c2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX3N5bWJvbE9iamVjdFN0cnVjdHVyZSk7CiAgICAg
dmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fcmVnRXhwTWF0Y2hlc0FycmF5U3RydWN0dXJl
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2Jq
ZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCmlu
ZGV4IDVmMDhmZTQ4YThmYWNmNTU3YWVmZDE1ZmM2MDM1NzFkYzAwZDJhNDguLjIyZGM5M2FmNDBi
NWE4NzgyNTMwOWU3YjgzMGJkN2EzNmQ4MmZjOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtMjI0LDYgKzIyNCw5IEBAIHByb3RlY3Rl
ZDoKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2NhbGxlZVN0cnVjdHVyZTsKICAgICBX
cml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2Z1bmN0aW9uU3RydWN0dXJlOwogICAgIFdyaXRlQmFy
cmllcjxTdHJ1Y3R1cmU+IG1fYm91bmRGdW5jdGlvblN0cnVjdHVyZTsKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYXJy
b3dGdW5jdGlvblN0cnVjdHVyZTsKKyNlbmRpZgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+
IG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZTsKICAgICBQcm9wZXJ0eU9mZnNldCBtX2Z1bmN0aW9u
TmFtZU9mZnNldDsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3ByaXZhdGVOYW1lU3Ry
dWN0dXJlOwpAQCAtNDU1LDYgKzQ1OCw5IEBAIHB1YmxpYzoKICAgICBTdHJ1Y3R1cmUqIGNhbGxl
ZVN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbGVlU3RydWN0dXJlLmdldCgpOyB9CiAg
ICAgU3RydWN0dXJlKiBmdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fZnVuY3Rp
b25TdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUqIGJvdW5kRnVuY3Rpb25TdHJ1Y3R1
cmUoKSBjb25zdCB7IHJldHVybiBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFN0cnVjdHVyZSogYXJyb3dG
dW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXJyb3dGdW5jdGlvblN0cnVjdHVy
ZS5nZXQoKTsgfQorI2VuZGlmCiAgICAgU3RydWN0dXJlKiBuYW1lZEZ1bmN0aW9uU3RydWN0dXJl
KCkgY29uc3QgeyByZXR1cm4gbV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CiAgICAg
UHJvcGVydHlPZmZzZXQgZnVuY3Rpb25OYW1lT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9mdW5j
dGlvbk5hbWVPZmZzZXQ7IH0KICAgICBTdHJ1Y3R1cmUqIG51bWJlck9iamVjdFN0cnVjdHVyZSgp
IGNvbnN0IHsgcmV0dXJuIG1fbnVtYmVyT2JqZWN0U3RydWN0dXJlLmdldCgpOyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24uanMg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24uanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYjYxZjk0ZTU3NWJkMDA2NGUyYTUwZDcyMDNiNjg4NDg3YjVkNGI5MgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5j
dGlvbi5qcwpAQCAtMCwwICsxLDE1MCBAQAordmFyIHJlc3VsdDsKKworIHZhciB0ZXN0Q2FzZSA9
IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09
IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0
ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGFycm93
RnVuY3Rpb24wID0gdiA9PiB2ICsgMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24wKDEwKTsKK3Rl
c3RDYXNlKHJlc3VsdCwgMTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbjogdiA9PiB2ICsgMSIpOworCit2YXIgYXJyb3dGdW5jdGlvbjEgPSAodikg
PT4gdiAqIDI7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMSgxMCk7Cit0ZXN0Q2FzZShyZXN1bHQs
IDIwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246
ICh2KSA9PiB2ICsgMSIpOworCit2YXIgYXJyb3dGdW5jdGlvbjIgPSAoKSA9PiAxMDAwOworcmVz
dWx0ID0gYXJyb3dGdW5jdGlvbjIoMTIxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMDAgLCJFcnJv
cjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKCkgPT4gMTAw
MCIpOworCit2YXIgdG1wVmFyaWFsdmUyXzEgPSAxNTE7Cit2YXIgYXJyb3dGdW5jdGlvbjJfMSA9
ICgpID0+IHRtcFZhcmlhbHZlMl8xOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjJfMSgxMjEpOwor
dGVzdENhc2UocmVzdWx0LCB0bXBWYXJpYWx2ZTJfMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVj
dXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAoKSA9PiB2YXJpYWJsZSIpOworCit2YXIgYXJy
b3dGdW5jdGlvbjMgPSAodiwgeCkgPT4gdiArIHg7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMygx
MSwxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDIzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICh4LCB5KSA9PiB4ICsgeSIpOworCit2YXIgYXJyb3dG
dW5jdGlvbldyYXBwZXIgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVyKSB7IHJldHVybiBjbChwYXJh
bXRlcik7IH07CisKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4gMTIzNCk7Cit0
ZXN0Q2FzZShyZXN1bHQsIDEyMzQgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMpIik7CisKKyByZXN1bHQgPSBh
cnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEyMzQsIDIzNDUpOwordGVzdENhc2UocmVzdWx0LCAx
MjM0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24g
YXMgcGFyYW10ZXI6IGYoeCA9PiBjLCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldy
YXBwZXIoeCA9PiAxMjEgKyAyMzIpOwordGVzdENhc2UocmVzdWx0LCAzNTMgLCJFcnJvcjogTm90
IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4
ID0+IGMxICsgYzIpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEy
MyArIDMyMSwgOTk5OSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDQ0NCAsIkVycm9yOiBOb3QgY29ycmVj
dCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYzEg
KyBjMiwgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4geCArIDEy
LCAyMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDMzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiB4ICsgYzEsIHkpIik7
CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoeCkgPT4geCArIDIxLCAzMik7Cit0
ZXN0Q2FzZShyZXN1bHQsIDUzLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKHgpID0+IGMxICsgYzIsIHkpIik7CisKKyBy
ZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiAxMDApOwordGVzdENhc2UocmVzdWx0
LCAxMDAsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlv
biBhcyBwYXJhbXRlcjogZigoKSA9PiBjKSIpOworCisgdmFyIGV4dF92YWx1ZSA9IDEyMTsKK3Jl
c3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IGV4dF92YWx1ZSk7Cit0ZXN0Q2FzZShy
ZXN1bHQsIDEyMSwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1
bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IHYpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0
aW9uV3JhcHBlcigoKSA9PiBleHRfdmFsdWUgKiAxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMTAg
LCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBw
YXJhbXRlcjogZigoKSA9PiB2KngpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBl
cigoeCkgPT4gZXh0X3ZhbHVlICogeCwgMzApOwordGVzdENhc2UocmVzdWx0LCAzMCpleHRfdmFs
dWUgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBh
cyBwYXJhbXRlcjogZigoeCkgPT4gdip4LCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlv
bldyYXBwZXIoKCkgPT4gMTAwLCAxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMCAsIkVycm9yOiBO
b3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBm
KCgpID0+IGMxLCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4g
MTAwICsgMTApOwordGVzdENhc2UocmVzdWx0LCAxMTAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhl
Y3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjMSArIGMy
KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwICsgMTEsIDEy
KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYzEgKyBjMiwgeSkiKTsK
KworIHZhciBhcnJvd0Z1bmN0aW9uNCA9IHYgPT4gdiArIDEsIHh5ejEgPSAxMDEwMTsKK3Jlc3Vs
dCA9IGFycm93RnVuY3Rpb240KDEwMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDEyICwiRXJyb3I6
IE5vdCBjb3JyZWN0IHBhcnNpbmcgb2YgdGggYXJyb3cgZnVuY3Rpb24gaW5zaWRlIG9mIHRoZSBs
aXN0IG9mIHZhcnM6IHZhciBhZiA9IHY9PiB2ICsgMTsgenhjPWM7Iik7Cit0ZXN0Q2FzZSh4eXox
LCAxMDEwMSAsIkVycm9yOiBOb3QgY29ycmVjdCBwYXJzaW5nIG9mIHRoIGFycm93IGZ1bmN0aW9u
IGluc2lkZSBvZiB0aGUgbGlzdCBvZiB2YXJzOiB2YXIgYWYgPSB2PT4gdiArIDE7IHp4Yz1jOyIp
OworCisgdmFyIGFycm93RnVuY3Rpb25XcmFwcGVyMiA9IGZ1bmN0aW9uIChjbCwgcGFyYW10ZXIx
LCBwYXJhbXRlcjIpIHsgcmV0dXJuIGNsKHBhcmFtdGVyMSwgcGFyYW10ZXIyKTsgfTsKK3Jlc3Vs
dCA9IGFycm93RnVuY3Rpb25XcmFwcGVyMigoeCwgeSkgPT4geCArIHksIDEyICw0Myk7Cit0ZXN0
Q2FzZShyZXN1bHQsIDU1ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24gYXMgcGFyYW1ldGVyOiBmKCh4LCB5KSA9PiB4ICsgeSwgYzEsIGMyKSIpOwor
CisgdmFyIGFycm93RnVuY3Rpb0FycmF5MCA9IFt2ID0+IHYgKiAxMF07CityZXN1bHQgPSBhcnJv
d0Z1bmN0aW9BcnJheTBbMF0oMTApOwordGVzdENhc2UocmVzdWx0LCAxMDAgLCJFcnJvcjogTm90
IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5
OiBbdj0+dioxMF0iKTsKKworIHZhciBhcnJvd0Z1bmN0aW9BcnJheTEgPSBbdiA9PiB2ICsgMSwg
diA9PiB2ICsgMl07CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTFbMF0oMTApOwordGVzdENh
c2UocmVzdWx0LCAxMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFt2ID0+IHYgKyAxLCAgdiA9PiB2ICsgMl0iKTsK
K3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5MVsxXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEz
ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMg
aXRlbSBpbiBhcnJheTogW3YgPT4gdiArIDEsICB2ID0+IHYgKyAyXSIpOworCisgdmFyIGFycm93
RnVuY3Rpb0FycmF5MiA9IFsodikgPT4gdiArIDEsICh2KSA9PiB2ICsgMl07CityZXN1bHQgPSBh
cnJvd0Z1bmN0aW9BcnJheTJbMF0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMiAsIkVycm9yOiBO
b3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJy
YXk6IFsodikgPT4gdiArIDEsICAodikgPT4gdiArIDJdIik7CityZXN1bHQgPSBhcnJvd0Z1bmN0
aW9BcnJheTJbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMyAsIkVycm9yOiBOb3QgY29ycmVj
dCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsodikg
PT4gdiArIDEsICAodikgPT4gdiArIDJdIik7CisKKyB2YXIgYXJyb3dGdW5jdGlvQXJyYXkzID0g
WygpID0+IDEwMSwgKCkgPT4gMTIzMjNdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkzWzBd
KDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAxLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogWygpID0+IGMxLCAgKCkg
PT4gYzJdIik7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTNbMV0oMTEpOwordGVzdENhc2Uo
cmVzdWx0LCAxMjMyMywgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsoKSA9PiBjMSwgICgpID0+IGMyXSIpOworCisg
dmFyIGFycm93RnVuY3Rpb25PYmogPSB7ZnVuYyA6IHkgPT4geSArIDEyIH07CityZXN1bHQgPSBh
cnJvd0Z1bmN0aW9uT2JqLmZ1bmMoMTEpOwordGVzdENhc2UocmVzdWx0LCAyMyAsIkVycm9yOiBO
b3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHByb3BlcnR5OiB7
ZnVuYyA6IHkgPT4geSArIDEyIH0iKTsKKworIHZhciBhcnJvd0ZhdEZ1bmN0aW9uMCA9ICgpID0+
IHsgcmV0dXJuIDEwMDA7IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0aW9uMCgxMSk7Cit0ZXN0
Q2FzZShyZXN1bHQsIDEwMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICgpID0+IHsgcmV0dXJuIDEwMDA7IH0i
KTsKKwordmFyIGFycm93RmF0RnVuY3Rpb24xID0gdiA9PiB7IHZhciBpbnR2YWwgPSAxMDA7IHJl
dHVybiB2ICogaW50dmFsOyB9OworcmVzdWx0ID0gYXJyb3dGYXRGdW5jdGlvbjEoMTEpOwordGVz
dENhc2UocmVzdWx0LCAxMTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiB4ID0+IHsgdmFyIHY9MTAwMDsgcmV0
dXJuIHYqeDsgfSIpOworCit2YXIgYXJyb3dGYXRGdW5jdGlvbjIgPSAodikgPT4geyB2YXIgaW50
ID0gMjAwOyByZXR1cm4gdiAqIGludDsgfTsKK3Jlc3VsdCA9IGFycm93RmF0RnVuY3Rpb24yKDEx
KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjIwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24g
b2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogKHgpID0+IHsgdmFyIHY9
MTAwMDsgcmV0dXJuIHYqeDsgfSIpOworCit2YXIgYXJyb3dGYXRGdW5jdGlvbjMgPSAodiwgeCkg
PT4geyB2YXIgcmVzdWx0ID0geCAqIHY7IHJldHVybiByZXN1bHQ7IH07CityZXN1bHQgPSBhcnJv
d0ZhdEZ1bmN0aW9uMygxMSwgMTIyMjIpOwordGVzdENhc2UocmVzdWx0LCAxMzQ0NDIgLCJFcnJv
cjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkg
YXMgYmxvY2s6ICh2LCB4KSA9PiB7IHZhciByZXN1bHQgPSB4ICogdjsgcmV0dXJuIHJlc3VsdDsg
fSIpOworCityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4PT57cmV0dXJuIHggKiAyNTt9
LCAxMjEpOwordGVzdENhc2UocmVzdWx0LCAyNSoxMjEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhl
Y3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6IGYoeCA9PiB7
cmV0dXJuIHggKiAyNTt9LCAxMjEpIik7CisKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVy
MigoeCwgeSk9PntyZXR1cm4geCAqIHk7fSwgMTQsIDEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTQq
MTIgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3
aXRoIGJvZHkgYXMgYmxvY2s6IGYoKHgsIHkpPT57cmV0dXJuIHggKiB5O30sIDE0LCAxMjEpKSIp
OworCit2YXIgc2ltcGxlQXJyb3dGdW5jdGlvbiA9ICgpID0+IHt9OworCit0ZXN0Q2FzZSh0eXBl
b2Ygc2ltcGxlQXJyb3dGdW5jdGlvbiwgImZ1bmN0aW9uIiwgIkVycm9yOiBOb3QgY29ycmVjdCB0
eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShPYmplY3QuZ2V0UHJvdG90
eXBlT2Yoc2ltcGxlQXJyb3dGdW5jdGlvbiksIEZ1bmN0aW9uLnByb3RvdHlwZSwgIkVycm9yOiBO
b3QgY29ycmVjdCBnZXRQcm90b3R5cGVPZiB2YWx1ZSBmb3IgYXJyb3cgZnVuY3Rpb24iKTsKKwor
dGVzdENhc2Uoc2ltcGxlQXJyb3dGdW5jdGlvbiBpbnN0YW5jZW9mIEZ1bmN0aW9uLCB0cnVlLCAi
RXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgaW5zdGFuY2VvZiBtZXRob2QgZm9yIGFycm93
IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93RnVuY3Rpb24uY29uc3RydWN0b3Ig
PT0gRnVuY3Rpb24sIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBjb25zdHJ1
Y3RvciBtZXRob2Qgb2YgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2UodHlwZW9mIHNpbXBs
ZUFycm93RnVuY3Rpb24ucHJvdG90eXBlID09PSAndW5kZWZpbmVkJywgdHJ1ZSwgIkVycm9yOiBO
b3QgY29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiIpOworCit2
YXIgZXJyb3JPbkNyZWF0ZSA9IGZhbHNlOworCit0cnkgeworICB2YXIgZmMgPSBuZXcgc2ltcGxl
QXJyb3dGdW5jdGlvbigpOworfQorY2F0Y2ggKGUpIHsKKyAgZXJyb3JPbkNyZWF0ZSA9IHRydWU7
Cit9CisKK3Rlc3RDYXNlKGVycm9yT25DcmVhdGUsIHRydWUsICJFcnJvcjogTm8gZXJyb3Igb24g
ZHVyaW5nIHJ1biBuZXcgQXJyb3dGdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29y
ZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA4YjExMmZhZTQ1
Yjk1N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2OTcyZjExNGMzODNkMzI2Mjlm
MWYwOTNjNjg1NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FO
VkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwog
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5B
QkxFX0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9F
UzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
OwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwog
RU5BQkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFC
TEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJ
TlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5B
QkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05T
KSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklO
RykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElP
TlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVf
Q1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NT
X1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVY
VCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklM
SVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9T
VVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVS
X0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xF
VkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykg
JChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMp
ICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAk
KEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFU
SE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJD
RSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChF
TkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdB
VE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lO
VEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAk
KEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFV
RVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQo
RU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxF
X1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVf
Q1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAk
KEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxF
TUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJB
Q0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkp
ICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9X
RUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQp
ICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkg
JChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVT
RU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1F
TlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNf
UEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykg
JChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5B
QkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9C
UkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBU
QVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lP
TlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJM
RV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVO
QUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFC
TEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJM
RV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChF
TkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBS
RUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJ
TUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9D
T05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFC
TEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMp
ICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVU
Q0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVO
QUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01F
VEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUp
ICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdD
T05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJ
TikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJP
WElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9U
QSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVU
T0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9O
X01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9M
TF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkg
JChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdf
T1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5B
QkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19U
UkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQo
RU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVX
X01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVO
QUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9T
SVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5B
QkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJM
RV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChF
TkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2Vi
S2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA4YjEx
MmZhZTQ1Yjk1N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2OTcyZjExNGMzODNk
MzI2MjlmMWYwOTNjNjg1NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBA
QCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFT
X1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRB
WDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NTU19BTklNQVRJT05TX0xF
VkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBA
QCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklU
SE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9E
RUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9D
QU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVf
QVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hF
X1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9Y
WSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgp
ICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVf
Q1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFL
KSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElP
TikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykg
JChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5B
QkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NV
UlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxF
X0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9E
QVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RF
VklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJM
RV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZV
TExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FU
RUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJf
VEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRS
T0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
X0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5B
QkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChF
TkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChF
TkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
V0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkg
JChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJf
RUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChF
TkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNV
UlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAk
KEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1J
VFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAk
KEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09N
UExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVE
SUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NO
QVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVO
QUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZf
Q09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVf
VEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VD
SF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlM
SU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFC
TEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9E
RV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxF
X1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVT
KSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVf
WEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xM
SU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJM
RV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8z
RF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUND
RUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5B
QkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVO
QUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQ
X05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hf
REVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1Nf
REVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NT
X0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFC
TEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9D
U1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JS
RUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9I
QU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxF
TUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVN
RU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NP
TlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZF
TlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVf
R0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVO
X1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFC
TEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01Q
TEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
V0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VT
VFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxF
X0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNf
U0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1Mp
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9O
QVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
UERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykg
JChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAk
KEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxF
X1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJM
RV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFC
TEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9T
VFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAk
KEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRF
Q1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQo
RU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAk
KEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VC
X0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFC
TEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JF
R0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExf
SklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJ
VEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9T
b3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRl
eCA4YjExMmZhZTQ1Yjk1N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2OTcyZjEx
NGMzODNkMzI2MjlmMWYwOTNjNjg1NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0
Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBA
QCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFT
X1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRB
WDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NTU19BTklNQVRJT05TX0xF
VkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBA
QCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklU
SE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9E
RUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9D
QU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVf
QVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hF
X1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9Y
WSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgp
ICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVf
Q1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFL
KSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElP
TikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykg
JChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5B
QkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NV
UlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxF
X0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9E
QVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RF
VklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJM
RV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZV
TExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FU
RUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJf
VEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRS
T0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
X0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5B
QkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChF
TkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChF
TkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
V0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkg
JChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJf
RUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChF
TkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNV
UlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAk
KEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1J
VFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAk
KEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09N
UExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVE
SUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NO
QVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVO
QUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZf
Q09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVf
VEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VD
SF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlM
SU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFC
TEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9E
RV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxF
X1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVT
KSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVf
WEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xM
SU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJM
RV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8z
RF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUND
RUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5B
QkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVO
QUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQ
X05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hf
REVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1Nf
REVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NT
X0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFC
TEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9D
U1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JS
RUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9I
QU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxF
TUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVN
RU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NP
TlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZF
TlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVf
R0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVO
X1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFC
TEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01Q
TEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
V0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VT
VFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxF
X0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNf
U0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1Mp
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9O
QVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
UERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykg
JChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAk
KEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxF
X1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJM
RV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFC
TEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9T
VFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAk
KEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRF
Q1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQo
RU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAk
KEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VC
X0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFC
TEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JF
R0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExf
SklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJ
VEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlIGIvU291cmNlL2NtYWtlL1dlYktpdEZl
YXR1cmVzLmNtYWtlCmluZGV4IDMyYzIzNWQ5OGI1YTQyMGViZTMzNDgzNGM3YjZhNDE4MmIyMjIy
MGEuLmE2NzUzNzE0NTYyN2NkMzhhMjcwNzljZDVkZmU5ODY4MmM5MWY0NjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvV2Vi
S2l0RmVhdHVyZXMuY21ha2UKQEAgLTI4LDYgKzI4LDcgQEAgbWFjcm8oV0VCS0lUX09QVElPTl9C
RUdJTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ0FOVkFTX1BST1hZICJUb2dn
bGUgQ2FudmFzUHJveHkgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVO
QUJMRV9DSEFOTkVMX01FU1NBR0lORyAiVG9nZ2xlIE1lc3NhZ2VDaGFubmVsIGFuZCBNZXNzYWdl
UG9ydCBzdXBwb3J0IiBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfRVM2X0NM
QVNTX1NZTlRBWCAiVG9nZ2xlIEVTNiBjbGFzcyBzeW50YXggc3VwcG9ydCIgT04pCisgICAgV0VC
S0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCAiVG9nZ2xl
IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXggc3VwcG9ydCIgT04pCiAgICAgV0VCS0lUX09QVElP
Tl9ERUZJTkUoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HICJUb2dnbGUgY29udGVudCBmaWx0ZXJp
bmcgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DT05URVhU
X01FTlVTICJUb2dnbGUgQ29udGV4dCBNZW51IHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJ
T05fREVGSU5FKEVOQUJMRV9DU1BfTkVYVCAiVG9nZ2xlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5
IDEuMSBzdXBwb3J0IiBPRkYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFr
ZSBiL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCmluZGV4IDIxZDNmY2M1ZDk4M2Y5NTk1ZGVm
MzUxMDU2OGNkYzk4OTY1MjQ2ZWQuLmNmMWFmZTU2YzVmMGYyNjA5OTA5MGU1MWI3YjJhNjYwM2Vh
MDczMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCisrKyBiL1NvdXJj
ZS9jbWFrZWNvbmZpZy5oLmNtYWtlCkBAIC0xMyw2ICsxMyw3IEBACiAjY21ha2VkZWZpbmUwMSBF
TkFCTEVfQ0FOVkFTX1BST1hZCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYCisjY21ha2VkZWZpbmUw
MSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkcKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9DT05URVhUX01FTlVTCiAj
Y21ha2VkZWZpbmUwMSBFTkFCTEVfQ1JFREVOVElBTF9TVE9SQUdFCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0gYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHBlcmwvRmVhdHVyZUxpc3QucG0KaW5kZXggMTZmZDY0OWM2OGQ2YjNkNDNkMGIzMWUzMzU3OTA0
ZmM4NzI0YTdlYi4uMjIzYjMxMWJjZmJhYjJjMjY4YTdmMjY1MmQxNGVkMTk2MzdmZGZjZSAxMDA2
NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQpAQCAtNDQsNiArNDQsNyBAQCBC
RUdJTiB7CiBteSAoCiAgICAgJHRocmVlRFJlbmRlcmluZ1N1cHBvcnQsCiAgICAgJGFjY2VsZXJh
dGVkMkRDYW52YXNTdXBwb3J0LAorICAgICRhcnJvd2Z1bmN0aW9uU3ludGF4LAogICAgICRiYXR0
ZXJ5U3RhdHVzU3VwcG9ydCwKICAgICAkY2FudmFzUGF0aFN1cHBvcnQsCiAgICAgJGNhbnZhc1By
b3h5U3VwcG9ydCwKQEAgLTE1NCw2ICsxNTUsOSBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAgeyBv
cHRpb24gPT4gImFjY2VsZXJhdGVkLTJkLWNhbnZhcyIsIGRlc2MgPT4gIlRvZ2dsZSBBY2NlbGVy
YXRlZCAyRCBDYW52YXMgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMiLCBkZWZhdWx0ID0+IGlzR3RrKCksIHZhbHVlID0+IFwkYWNjZWxlcmF0
ZWQyRENhbnZhc1N1cHBvcnQgfSwKIAorICAgIHsgb3B0aW9uID0+ICJhcnJvd2Z1bmN0aW9uLXN5
bnRheCIsIGRlc2MgPT4gIlRvZ2dsZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1cHBvcnQi
LAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIiwgZGVm
YXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGFycm93ZnVuY3Rpb25TeW50YXggfSwKKwogICAgIHsgb3B0
aW9uID0+ICJiYXR0ZXJ5LXN0YXR1cyIsIGRlc2MgPT4gIlRvZ2dsZSBCYXR0ZXJ5IFN0YXR1cyBz
dXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0JBVFRFUllfU1RBVFVTIiwgZGVmYXVs
dCA9PiBpc0VmbCgpLCB2YWx1ZSA9PiBcJGJhdHRlcnlTdGF0dXNTdXBwb3J0IH0sCiAKZGlmZiAt
LWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBlNmYwMGFkM2ViZjUwZGNjMWJiNzdi
N2NkNjBmNjdlNGQ1NTAzYmFlLi4yZmViZTk5MWM3ZGE0N2E3NGQzZGIxNjYzMTIyNTA1M2I4ZTcx
YzExIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMTUtMDMtMjcgIFNrYWNoa292IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4K
KworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICBBZGRlZCBmZWF0
dXJlIGZsYWcgdG8gc3dpdGNoIG9uL29mZiBlczYgYXJyb3cgZnVuY3Rpb24gRU5BQkxFX0VTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWAorCisgICAgICAgICAqIFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0
dXJlcy5jbWFrZToKKyAgICAgICAgICogU291cmNlL2NtYWtlY29uZmlnLmguY21ha2U6CisKIDIw
MTUtMDMtMjQgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBbRUZMXSBBZGQgT3BlbldlYlJUQyBpbiBqaGJ1aWxkCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249587</attachid>
            <date>2015-03-27 11:04:00 -0700</date>
            <delta_ts>2015-03-28 10:19:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150327200319.patch</filename>
            <type>text/plain</type>
            <size>143448</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyMDExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjk4MTc2ZmZlMGMzMjBk
ODdhM2FjZTMxMjY3ODQzNTcyYjdiYTQzNi4uNjI3NTYzZTEyNWY1ZjkyNjkyOTFjNjNmMGQzZmM1
NzY4MjViMzQ0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTAzLTI3ICBTa2Fj
aGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgIFtFUzZdIElt
cGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyBFTkFCTEVfRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgorCisgICAgICAgICAqIENv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1LTAzLTI1ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBDU1MgYmxlbmQgbW9kZXMgZG8g
bm90IHBhcnNlIHdoZW4gaW4gdGhlIHNoYWRvdyB0cmVlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggMjYy
MzZlZjk2MDVlZWM3ZTQ4Y2NjMjE3MzAwNGIwNTk4Yzg0ODg0NC4uOTQ0MDUzY2U4NTk2NzA4YmRh
ZWRkOWI1ZTkyMzAyMTIxOWM3OTVmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDE1LTAzLTI3ICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisK
KyAgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1
cmUgZmxhZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlv
bgorCisgICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisK
IDIwMTUtMDMtMjQgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAg
ICAgICBGaXggZGVzaWduYXRlZCBpbml0aWFsaXplciB2aW9sYXRpb25zCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNzIxMTI3NjUyZDg4OGY1MDFhYjZjMjE3YjgzMzQ0MTkw
NDNmNTg2NC4uNTA1M2RjMTdlNmQ1OGIxMTFjNzMwYTk0Y2MwNzRiMGNiZTUwNzhhOSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNDY2LDYgKzQ2Niw3IEBAIHNldChKYXZh
U2NyaXB0Q29yZV9SVU5USU1FX1NPVVJDRVMKICAgICBydW50aW1lL0pTQXJyYXlCdWZmZXJWaWV3
LmNwcAogICAgIHJ1bnRpbWUvSlNBcnJheUl0ZXJhdG9yLmNwcAogICAgIHJ1bnRpbWUvSlNCb3Vu
ZEZ1bmN0aW9uLmNwcAorICAgIHJ1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcAogICAgIHJ1bnRp
bWUvSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxlLmNwcAogICAgIHJ1bnRpbWUvSlNDSlNWYWx1ZS5j
cHAKICAgICBydW50aW1lL0pTQ2FsbGVlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4
IDhiMTEyZmFlNDViOTU3ZGQyNjQxZmRiNmY0Njg5ODgwNTg5YWY4NjAuLjExNDhhNzY5NzJmMTE0
YzM4M2QzMjYyOWYxZjA5M2M2ODU1MGEwNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAg
LTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwog
RU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VT
Nl9DTEFTU19TWU5UQVg7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxF
X0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVO
QUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1Nf
QU5JTUFUSU9OU19MRVZFTF8yID0gRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBAIC0y
MTQsNCArMjE1LDQgQEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRF
RF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7
CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUND
RUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJ
TkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAk
KEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJM
RV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZf
Q0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05F
WFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVD
T1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVW
SUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lN
QUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVf
Q1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1Nf
U0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFL
KSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5E
TEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVO
VCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5U
KSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNU
UlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRT
KSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FN
RVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BB
R0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVf
U0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VF
SykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VD
SF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9M
RUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJ
TktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NS
SVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJT
T1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJ
R0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERG
S0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChF
TkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVO
QUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JF
UVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9S
RVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVf
Q1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJF
QU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVO
QUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJ
T04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5B
QkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVf
VklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVO
QUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FV
RElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVf
UElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lP
TlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklU
KSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhN
RVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVT
ID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NB
UFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJ
VElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5B
QkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVO
QUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykg
JChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQp
ICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09M
VVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVM
NCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1Mz
X1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NV
U1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxF
X0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9E
T000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVf
Rk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQ
QUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFU
QUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVf
VUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Jf
UE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChF
TkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAk
KEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVG
SVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5E
T1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBS
RVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01F
RElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJ
QV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChF
TkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElM
UykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFC
TEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19T
VUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZS
QU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BF
Q1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JB
TkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJ
UykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxF
X1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9O
RV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNP
Tl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVD
VF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFU
QUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wp
ICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NP
Q0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5B
QkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkg
JChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFU
RURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9q
L0phdmFTY3JpcHRDb3JlLnZjeHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCmluZGV4IDc0MzMwZTcwM2RhYzRk
MzYwMGVhYjI3YTBhZDhlYjRhZjAwZTBiMzIuLmM0MDg4YmM3NDIwMDk4NzNkNTk2ODlkYjJjYWY0
MzZkMTExOTU4MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagpAQCAt
MSw0ICsxLDQgQEAKLe+7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8
P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgogPFByb2plY3QgRGVmYXVsdFRh
cmdldHM9IkJ1aWxkIiBUb29sc1ZlcnNpb249IjEyLjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5t
aWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgogICA8SXRlbUdyb3VwIExhYmVs
PSJQcm9qZWN0Q29uZmlndXJhdGlvbnMiPgogICAgIDxQcm9qZWN0Q29uZmlndXJhdGlvbiBJbmNs
dWRlPSJEZWJ1Z1N1ZmZpeHxXaW4zMiI+CkBAIC03MzQsNiArNzM0LDcgQEAKICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHAiIC8+CiAg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJWaWV3LmNwcCIg
Lz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNCb3VuZEZ1bmN0aW9uLmNw
cCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJvd0Z1bmN0aW9u
LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZS5j
cHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ2FsbGVlLmNwcCIg
Lz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDYXRjaFNjb3BlLmNwcCIg
Lz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYmEyZDEzNmViOTViNWE5ZmQzNTRh
YjMwYThmMzY5MWJmNzhjZWI4Ni4uZTlkNmYyNDY1ZTMzODU1ZDM2OGI0ZDIwNGUwZDc2NDZjNTZl
OTg5ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwOTIsNiArMTA5Miw4IEBA
CiAJCTg2RjNFRUJGMTY4Q0RFOTMwMDc3QjkyQSAvKiBPYmpjUnVudGltZUV4dHJhcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGM0VFQjYxNjg1NUE1
QjAwNzdCOTJBIC8qIE9iamNSdW50aW1lRXh0cmFzLmggKi87IH07CiAJCTg2RkE5RTkxMTQyQkJC
MkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91
bmRGdW5jdGlvbi5jcHAgKi87IH07CiAJCTg2RkE5RTkyMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0Jv
dW5kRnVuY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLzsgfTsK
KwkJOEIwRjQyNEMxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUy
MDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCAqLzsgfTsKKwkJOEIwRjQyNEMxQUJENkRF
MjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dG
dW5jdGlvbi5oICovOyB9OwogCQk5MDIxM0UzRDEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3Rh
dGlzdGljcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5MDIxM0UzQjEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi87IH07
CiAJCTkwMjEzRTNFMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIxM0UzQzEyM0E0MEMy
MDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkzMDUyQzM0MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJz
ZXJBcmVuYS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5MzA1MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwICovOyB9OwpAQCAt
MjgyNCw2ICsyODI2LDggQEAKIAkJODZGNzVFRkQxNTFDMDYyRjAwN0M5QkEzIC8qIFJlZ0V4cE1h
dGNoZXNBcnJheS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWdF
eHBNYXRjaGVzQXJyYXkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkZBOUU4
RjE0MkJCQjJEMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQm91bmRGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rp
b24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdFQSAv
KiBKU0Fycm93RnVuY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcnJvd0Z1bmN0aW9uLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBK
U0Fycm93RnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNBcnJvd0Z1bmN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTAyMTNF
M0IxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVtb3J5U3RhdGlzdGljcy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0
aXN0aWNzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lbW9yeVN0YXRpc3Rp
Y3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhG
REMzIC8qIFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFBhcnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ0Mzgs
NiArNDQ0Miw4IEBACiAJCQkJQTdCREFFQzUxN0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJyYXlJdGVy
YXRvci5oICovLAogCQkJCTg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rp
b24uY3BwICovLAogCQkJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rp
b24uaCAqLywKKwkJCQk4QjBGNDI0QTFBQkQ2RDJGMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9u
LmggKi8sCisJCQkJOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5j
cHAgKi8sCiAJCQkJNjU3Q0Y0NTYxOUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmNwcCAqLywK
IAkJCQk2NTdDRjQ1NzE5QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuaCAqLywKIAkJCQkwRkQ5
NDk3RTFBOTdEQjk2MDBFMjg5NjYgLyogSlNDYXRjaFNjb3BlLmNwcCAqLywKQEAgLTcxNjYsNiAr
NzE3Miw3IEBACiAJCQkJMEZEOEEzMUIxN0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTE9TUkVudHJ5LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjM1QkRDMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JF
eGl0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjM1QkRGMTcxNzhFMUMwMDY5MEM3RiAvKiBG
VExPU1JFeGl0Q29tcGlsZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOEIwRjQyNEMxQUJENkRF
MjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkVB
MEEyQTE3MDk2Mjk2MDBCQjcyMkMgLyogRlRMT3V0cHV0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTBGNDg1MzI5MTg3REZERUMwMDgzQjY4NyAvKiBGVExSZWNvdmVyeU9wY29kZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkwRjZCMUNDMzE4NjJDNDc4MDA4NDVEOTcgLyogRlRMUmVnaXN0ZXJBdE9m
ZnNldC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9CeXRlY29kZUxpc3QuanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9CeXRlY29kZUxpc3QuanNvbgppbmRleCA2YjI0MzkxNTZhYjNhZmFlNmI1NThhYjkwNjZk
MjIyNTE1ZDU5ZTQ1Li40MzYwNzA5ZDhmN2U0MTgyMTVhYjJhZjk1OWJmNjQ0OGFmMDM4MDI4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpz
b24KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29u
CkBAIC05NSw2ICs5NSw3IEBACiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9zd2l0Y2hfc3Ry
aW5nIiwgImxlbmd0aCIgOiA0IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfZnVu
YyIsICJsZW5ndGgiIDogNCB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfbmV3X2Z1bmNf
ZXhwIiwgImxlbmd0aCIgOiA0IH0sCisgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfYXJy
b3dfZnVuY19leHAiLCAibGVuZ3RoIiA6IDUgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9w
X2NhbGwiLCAibGVuZ3RoIiA6IDkgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGxf
ZXZhbCIsICJsZW5ndGgiIDogOSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbF92
YXJhcmdzIiwgImxlbmd0aCIgOiA5IH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9CeXRlY29kZVVzZURlZi5oCmluZGV4IDg1ZjI5MTVjN2U4ZjYwMWFkM2VjMTc4YmY2OWUz
NTQ0Zjc1NGMyY2YuLjE3YjZiZWQ4MWZlMjViNjIzMzBiYWEzZmQwMzFjNzE2YWI4OGY5YmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCkBA
IC0xMTYsNiArMTE2LDkgQEAgdm9pZCBjb21wdXRlVXNlc0ZvckJ5dGVjb2RlT2Zmc2V0KAogICAg
IGNhc2Ugb3BfZ2V0X3Byb3BlcnR5X2VudW1lcmF0b3I6CiAgICAgY2FzZSBvcF9nZXRfZW51bWVy
YWJsZV9sZW5ndGg6CiAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNl
bmRpZgogICAgIGNhc2Ugb3BfdG9faW5kZXhfc3RyaW5nOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9i
YWxfY29uc3Rfbm9wOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29uc3Q6CkBAIC0zMDgsNiAr
MzExLDkgQEAgdm9pZCBjb21wdXRlRGVmc0ZvckJ5dGVjb2RlT2Zmc2V0KENvZGVCbG9jayogY29k
ZUJsb2NrLCB1bnNpZ25lZCBieXRlY29kZU9mZnNldCwKICAgICBjYXNlIG9wX25ld19yZWdleHA6
CiAgICAgY2FzZSBvcF9uZXdfZnVuYzoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1
bmNfZXhwOgorI2VuZGlmCiAgICAgY2FzZSBvcF9jYWxsX3ZhcmFyZ3M6CiAgICAgY2FzZSBvcF9j
b25zdHJ1Y3RfdmFyYXJnczoKICAgICBjYXNlIG9wX2dldF9mcm9tX3Njb3BlOgpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAppbmRleCA4YWQ3MWVjNzFmYTZm
ZjUzYTcxMDM4ZjQ5Nzk0ODA5OGI5YTlhM2U1Li42YTFkNDIyODU2OWY4MTliOTBmN2E5ODc2NjNm
ODcwYWM0YmIzOGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Q29kZUJsb2NrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmNwcApAQCAtMTI3NCw2ICsxMjc0LDE3IEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wQnl0ZWNv
ZGUoCiAgICAgICAgICAgICBvdXQucHJpbnRmKCIlcywgJXMsIGYlZCIsIHJlZ2lzdGVyTmFtZShy
MCkuZGF0YSgpLCByZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjApOwogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
ICAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDogeworICAgICAgICAgICAgaW50IHIwID0g
KCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUub3BlcmFu
ZDsKKyAgICAgICAgICAgIGludCBmMCA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAg
aW50IHIyID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBwcmludExvY2F0aW9uQW5k
T3Aob3V0LCBleGVjLCBsb2NhdGlvbiwgaXQsICJvcF9uZXdfYXJyb3dfZnVuY19leHAiKTsKKyAg
ICAgICAgICAgIG91dC5wcmludGYoIiVzLCAlcywgZiVkLCAlcyIsIHJlZ2lzdGVyTmFtZShyMCku
ZGF0YSgpLCByZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjAsIHJlZ2lzdGVyTmFtZShyMikuZGF0
YSgpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgY2Fz
ZSBvcF9uZXdfZnVuY19leHA6IHsKICAgICAgICAgICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVy
YW5kOwogICAgICAgICAgICAgaW50IHIxID0gKCsraXQpLT51Lm9wZXJhbmQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3Iu
Y3BwCmluZGV4IGFjNWUzN2U0ZDg4ZWFhMzdhMjRjYWRkN2FmYzRjODE2YWRlZDQyZTIuLjNhY2Q3
OTIxZmJmOWFiYWI0NWI5ZGY5NDY5ZmY2ZGRkMzBlNWY2OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBA
IC0xNzQyLDYgKzE3NDIsMzYgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRO
ZXdGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogcjAsIEZ1bmNFeHAKICAgICBpbnN0cnVj
dGlvbnMoKS5hcHBlbmQoaW5kZXgpOwogICAgIHJldHVybiByMDsKIH0KKyAgICAKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0
b3I6OmVtaXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVuY0V4
cHJOb2RlKiBuKQoreworICAgIEZ1bmN0aW9uQm9keU5vZGUqIGZ1bmN0aW9uID0gbi0+Ym9keSgp
OworICAgIHVuc2lnbmVkIGluZGV4ID0gbV9jb2RlQmxvY2stPmFkZEZ1bmN0aW9uRXhwcihtYWtl
RnVuY3Rpb24oZnVuY3Rpb24pKTsKKyAgICAKKyAgICBSZWdpc3RlcklEKiB2YWx1ZSA9IGVtaXRU
aGlzTm9kZUJ5dGVjb2RlKHIwLCBuLT5wb3NpdGlvbigpKTsKKyAgICAKKyAgICBlbWl0T3Bjb2Rl
KG9wX25ld19hcnJvd19mdW5jX2V4cCk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHIwLT5p
bmRleCgpKTsKKyAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQoc2NvcGVSZWdpc3RlcigpLT5pbmRl
eCgpKTsKKyAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQoaW5kZXgpOworICAgIGluc3RydWN0aW9u
cygpLmFwcGVuZCh2YWx1ZS0+aW5kZXgoKSk7CisgICAgcmV0dXJuIHIwOworfQorICAgIAorUmVn
aXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRUaGlzTm9kZUJ5dGVjb2RlKFJlZ2lzdGVy
SUQqIGRzdCwgSlNUZXh0UG9zaXRpb24gcG9zaXRpb24pCit7CisgICAgaWYgKGRzdCA9PSBpZ25v
cmVkUmVzdWx0KCkpCisgICAgICAgIHJldHVybiAwOworICAgIFJlZ2lzdGVySUQqIHJlc3VsdCA9
IG1vdmVUb0Rlc3RpbmF0aW9uSWZOZWVkZWQoZHN0LCB0aGlzUmVnaXN0ZXIoKSk7CisgICAgaWYg
KHZtKCktPnR5cGVQcm9maWxlcigpKSB7CisgICAgICAgIGVtaXRQcm9maWxlVHlwZSh0aGlzUmVn
aXN0ZXIoKSwgUHJvZmlsZVR5cGVCeXRlY29kZURvZXNOb3RIYXZlR2xvYmFsSUQsIG51bGxwdHIp
OworICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgdGhpc0xlbmd0aCA9IDQ7CisgICAgICAg
IGVtaXRUeXBlUHJvZmlsZXJFeHByZXNzaW9uSW5mbyhwb3NpdGlvbiwgSlNUZXh0UG9zaXRpb24o
LTEsIHBvc2l0aW9uLm9mZnNldCArIHRoaXNMZW5ndGgsIC0xKSk7CisgICAgfQorICAgIHJldHVy
biByZXN1bHQ7Cit9CisjZW5kaWYKIAogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVt
aXROZXdEZWZhdWx0Q29uc3RydWN0b3IoUmVnaXN0ZXJJRCogZHN0LCBDb25zdHJ1Y3RvcktpbmQg
Y29uc3RydWN0b3JLaW5kLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmlu
ZGV4IDFjOTlhY2EwODQ4ODhhMWI4NDhlNzRlMDU1MjkxMjJlNTU3ZTdhOGQuLmM3MDFjYzUwMzI2
NTUxYWUzNWE1N2U3MjdhOGZhZTUyNzM0OGZkOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTE4OSw3ICsx
ODksNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgICwgbV9raW5kKE5vcm1hbFZhcmlh
YmxlKQogICAgICAgICB7CiAgICAgICAgIH0KLSAgICAgICAgCisKICAgICAgICAgVmFyaWFibGUo
Y29uc3QgSWRlbnRpZmllciYgaWRlbnQpCiAgICAgICAgICAgICA6IG1faWRlbnQoaWRlbnQpCiAg
ICAgICAgICAgICAsIG1fbG9jYWwobnVsbHB0cikKQEAgLTIxMSw5ICsyMTEsOSBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgLy8gYSBzdGFjayB2YXJpYWJsZSwgYSBzY29wZWQgdmFyaWFibGUg
aW4gdGhlIGxvY2FsIHNjb3BlLCBvciBhIHZhcmlhYmxlIGNhcHR1cmVkIGluIHRoZQogICAgICAg
ICAvLyBkaXJlY3QgYXJndW1lbnRzIG9iamVjdC4KICAgICAgICAgYm9vbCBpc1Jlc29sdmVkKCkg
Y29uc3QgeyByZXR1cm4gISFtX29mZnNldDsgfQotICAgICAgICAKKwogICAgICAgICBjb25zdCBJ
ZGVudGlmaWVyJiBpZGVudCgpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnQ7IH0KLSAgICAgICAgCisK
ICAgICAgICAgVmFyT2Zmc2V0IG9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fb2Zmc2V0OyB9CiAg
ICAgICAgIGJvb2wgaXNMb2NhbCgpIGNvbnN0IHsgcmV0dXJuIG1fb2Zmc2V0LmlzU3RhY2soKTsg
fQogICAgICAgICBSZWdpc3RlcklEKiBsb2NhbCgpIGNvbnN0IHsgcmV0dXJuIG1fbG9jYWw7IH0K
QEAgLTI1OCw3ICsyNTgsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgQnl0ZWNvZGVHZW5l
cmF0b3IoVk0mLCBFdmFsTm9kZSosIFVubGlua2VkRXZhbENvZGVCbG9jayosIERlYnVnZ2VyTW9k
ZSwgUHJvZmlsZXJNb2RlKTsKIAogICAgICAgICB+Qnl0ZWNvZGVHZW5lcmF0b3IoKTsKLSAgICAg
ICAgCisKICAgICAgICAgVk0qIHZtKCkgY29uc3QgeyByZXR1cm4gbV92bTsgfQogICAgICAgICBQ
YXJzZXJBcmVuYSYgcGFyc2VyQXJlbmEoKSBjb25zdCB7IHJldHVybiBtX3Njb3BlTm9kZS0+cGFy
c2VyQXJlbmEoKTsgfQogICAgICAgICBjb25zdCBDb21tb25JZGVudGlmaWVycyYgcHJvcGVydHlO
YW1lcygpIGNvbnN0IHsgcmV0dXJuICptX3ZtLT5wcm9wZXJ0eU5hbWVzOyB9CkBAIC0yNzcsMTMg
KzI3NywxMyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBzZXRJc051bWVyaWNDb21w
YXJlRnVuY3Rpb24oYm9vbCBpc051bWVyaWNDb21wYXJlRnVuY3Rpb24pOwogCiAgICAgICAgIFZh
cmlhYmxlIHZhcmlhYmxlKGNvbnN0IElkZW50aWZpZXImKTsKLSAgICAgICAgCisKICAgICAgICAg
Ly8gSWdub3JlcyB0aGUgcG9zc2liaWxpdHkgb2YgaW50ZXJ2ZW5pbmcgc2NvcGVzLgogICAgICAg
ICBWYXJpYWJsZSB2YXJpYWJsZVBlclN5bWJvbFRhYmxlKGNvbnN0IElkZW50aWZpZXImKTsKLSAg
ICAgICAgCisKICAgICAgICAgZW51bSBFeGlzdGluZ1ZhcmlhYmxlTW9kZSB7IFZlcmlmeUV4aXN0
aW5nLCBJZ25vcmVFeGlzdGluZyB9OwogICAgICAgICB2b2lkIGNyZWF0ZVZhcmlhYmxlKGNvbnN0
IElkZW50aWZpZXImLCBWYXJLaW5kLCBDb25zdGFudE1vZGUsIEV4aXN0aW5nVmFyaWFibGVNb2Rl
ID0gVmVyaWZ5RXhpc3RpbmcpOyAvLyBDcmVhdGVzIHRoZSB2YXJpYWJsZSwgb3IgYXNzZXJ0cyB0
aGF0IHRoZSBhbHJlYWR5LWNyZWF0ZWQgdmFyaWFibGUgaXMgc3VmZmljaWVudGx5IGNvbXBhdGli
bGUuCi0gICAgICAgIAorCiAgICAgICAgIC8vIFJldHVybnMgdGhlIHJlZ2lzdGVyIHN0b3Jpbmcg
InRoaXMiCiAgICAgICAgIFJlZ2lzdGVySUQqIHRoaXNSZWdpc3RlcigpIHsgcmV0dXJuICZtX3Ro
aXNSZWdpc3RlcjsgfQogICAgICAgICBSZWdpc3RlcklEKiBhcmd1bWVudHNSZWdpc3RlcigpIHsg
cmV0dXJuIG1fYXJndW1lbnRzUmVnaXN0ZXI7IH0KQEAgLTM4Miw3ICszODIsNyBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgfQogCiAgICAgICAgIHZvaWQgZW1pdEV4cHJlc3Npb25JbmZvKGNv
bnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZvdCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGRpdm90U3Rh
cnQsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZvdEVuZCkKLSAgICAgICAgeyAgICAgICAgICAg
IAorICAgICAgICB7CiAgICAgICAgICAgICBBU1NFUlQoZGl2b3Qub2Zmc2V0ID49IGRpdm90U3Rh
cnQub2Zmc2V0KTsKICAgICAgICAgICAgIEFTU0VSVChkaXZvdEVuZC5vZmZzZXQgPj0gZGl2b3Qu
b2Zmc2V0KTsKIApAQCAtNDU0LDYgKzQ1NCwxMCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAg
UmVnaXN0ZXJJRCogZW1pdE5ld0Z1bmN0aW9uSW50ZXJuYWwoUmVnaXN0ZXJJRCogZHN0LCB1bnNp
Z25lZCBpbmRleCk7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5jdGlvbkV4cHJlc3Np
b24oUmVnaXN0ZXJJRCogZHN0LCBGdW5jRXhwck5vZGUqIGZ1bmMpOwogICAgICAgICBSZWdpc3Rl
cklEKiBlbWl0TmV3RGVmYXVsdENvbnN0cnVjdG9yKFJlZ2lzdGVySUQqIGRzdCwgQ29uc3RydWN0
b3JLaW5kLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3QXJyb3dGdW5jdGlvbkV4
cHJlc3Npb24oUmVnaXN0ZXJJRCosIEZ1bmNFeHByTm9kZSopOworICAgICAgICBSZWdpc3RlcklE
KiBlbWl0VGhpc05vZGVCeXRlY29kZShSZWdpc3RlcklEKiwgSlNUZXh0UG9zaXRpb24pOworI2Vu
ZGlmCiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdSZWdFeHAoUmVnaXN0ZXJJRCogZHN0LCBS
ZWdFeHAqKTsKIAogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TW92ZShSZWdpc3RlcklEKiBkc3Qs
IFJlZ2lzdGVySUQqIHNyYyk7CkBAIC00ODAsMTQgKzQ4NCwxNCBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdERlbGV0ZUJ5VmFsKFJlZ2lzdGVySUQqIGRzdCwgUmVn
aXN0ZXJJRCogYmFzZSwgUmVnaXN0ZXJJRCogcHJvcGVydHkpOwogICAgICAgICBSZWdpc3RlcklE
KiBlbWl0UHV0QnlJbmRleChSZWdpc3RlcklEKiBiYXNlLCB1bnNpZ25lZCBpbmRleCwgUmVnaXN0
ZXJJRCogdmFsdWUpOwogICAgICAgICB2b2lkIGVtaXRQdXRHZXR0ZXJTZXR0ZXIoUmVnaXN0ZXJJ
RCogYmFzZSwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHksIFJlZ2lzdGVySUQqIGdldHRlciwg
UmVnaXN0ZXJJRCogc2V0dGVyKTsKLSAgICAgICAgCisKICAgICAgICAgRXhwZWN0ZWRGdW5jdGlv
biBleHBlY3RlZEZ1bmN0aW9uRm9ySWRlbnRpZmllcihjb25zdCBJZGVudGlmaWVyJik7CiAgICAg
ICAgIFJlZ2lzdGVySUQqIGVtaXRDYWxsKFJlZ2lzdGVySUQqIGRzdCwgUmVnaXN0ZXJJRCogZnVu
YywgRXhwZWN0ZWRGdW5jdGlvbiwgQ2FsbEFyZ3VtZW50cyYsIGNvbnN0IEpTVGV4dFBvc2l0aW9u
JiBkaXZvdCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGRpdm90U3RhcnQsIGNvbnN0IEpTVGV4dFBv
c2l0aW9uJiBkaXZvdEVuZCk7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRDYWxsRXZhbChSZWdp
c3RlcklEKiBkc3QsIFJlZ2lzdGVySUQqIGZ1bmMsIENhbGxBcmd1bWVudHMmLCBjb25zdCBKU1Rl
eHRQb3NpdGlvbiYgZGl2b3QsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZvdFN0YXJ0LCBjb25z
dCBKU1RleHRQb3NpdGlvbiYgZGl2b3RFbmQpOwogICAgICAgICBSZWdpc3RlcklEKiBlbWl0Q2Fs
bFZhcmFyZ3MoUmVnaXN0ZXJJRCogZHN0LCBSZWdpc3RlcklEKiBmdW5jLCBSZWdpc3RlcklEKiB0
aGlzUmVnaXN0ZXIsIFJlZ2lzdGVySUQqIGFyZ3VtZW50cywgUmVnaXN0ZXJJRCogZmlyc3RGcmVl
UmVnaXN0ZXIsIGludDMyX3QgZmlyc3RWYXJBcmdPZmZzZXQsIFJlZ2lzdGVySUQqIHByb2ZpbGVI
b29rUmVnaXN0ZXIsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZvdCwgY29uc3QgSlNUZXh0UG9z
aXRpb24mIGRpdm90U3RhcnQsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBkaXZvdEVuZCk7CiAKICAg
ICAgICAgdm9pZCBlbWl0RW51bWVyYXRpb24oVGhyb3dhYmxlRXhwcmVzc2lvbkRhdGEqIGVudW1l
cmF0aW9uTm9kZSwgRXhwcmVzc2lvbk5vZGUqIHN1YmplY3ROb2RlLCBjb25zdCBzdGQ6OmZ1bmN0
aW9uPHZvaWQoQnl0ZWNvZGVHZW5lcmF0b3ImLCBSZWdpc3RlcklEKik+JiBjYWxsQmFjayk7Ci0g
ICAgICAgIAorCiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRSZXR1cm4oUmVnaXN0ZXJJRCogc3Jj
KTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdEVuZChSZWdpc3RlcklEKiBzcmMpIHsgcmV0dXJu
IGVtaXRVbmFyeU5vRHN0T3Aob3BfZW5kLCBzcmMpOyB9CiAKQEAgLTUzMyw3ICs1MzcsNyBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgUmVnaXN0ZXJJRCogcG9wVHJ5QW5kRW1pdENhdGNoKFRy
eURhdGEqLCBSZWdpc3RlcklEKiB0YXJnZXRSZWdpc3RlciwgTGFiZWwqIGVuZCk7CiAKICAgICAg
ICAgdm9pZCBlbWl0VGhyb3coUmVnaXN0ZXJJRCogZXhjKQotICAgICAgICB7IAorICAgICAgICB7
CiAgICAgICAgICAgICBtX3VzZXNFeGNlcHRpb25zID0gdHJ1ZTsKICAgICAgICAgICAgIGVtaXRV
bmFyeU5vRHN0T3Aob3BfdGhyb3csIGV4Yyk7CiAgICAgICAgIH0KQEAgLTU3Miw5ICs1NzYsOSBA
QCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBib29sIHNob3VsZEVtaXRQcm9maWxlSG9va3Mo
KSB7IHJldHVybiBtX3Nob3VsZEVtaXRQcm9maWxlSG9va3M7IH0KICAgICAgICAgYm9vbCBzaG91
bGRFbWl0RGVidWdIb29rcygpIHsgcmV0dXJuIG1fc2hvdWxkRW1pdERlYnVnSG9va3M7IH0KLSAg
ICAgICAgCisKICAgICAgICAgYm9vbCBpc1N0cmljdE1vZGUoKSBjb25zdCB7IHJldHVybiBtX2Nv
ZGVCbG9jay0+aXNTdHJpY3RNb2RlKCk7IH0KLSAgICAgICAgCisKICAgICAgICAgYm9vbCBpc0J1
aWx0aW5GdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1faXNCdWlsdGluRnVuY3Rpb247IH0KIAog
ICAgICAgICBPcGNvZGVJRCBsYXN0T3Bjb2RlSUQoKSBjb25zdCB7IHJldHVybiBtX2xhc3RPcGNv
ZGVJRDsgfQpAQCAtNjA0LDEyICs2MDgsMTIgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAg
dHlwZWRlZiBIYXNoTWFwPGRvdWJsZSwgSlNWYWx1ZT4gTnVtYmVyTWFwOwogICAgICAgICB0eXBl
ZGVmIEhhc2hNYXA8U3RyaW5nSW1wbCosIEpTU3RyaW5nKiwgSWRlbnRpZmllclJlcEhhc2g+IElk
ZW50aWZpZXJTdHJpbmdNYXA7Ci0gICAgICAgIAorCiAgICAgICAgIC8vIEhlbHBlciBmb3IgZW1p
dENhbGwoKSBhbmQgZW1pdENvbnN0cnVjdCgpLiBUaGlzIHdvcmtzIGJlY2F1c2UgdGhlIHNldCBv
ZgogICAgICAgICAvLyBleHBlY3RlZCBmdW5jdGlvbnMgaGF2ZSBpZGVudGljYWwgYmVoYXZpb3Ig
Zm9yIGJvdGggY2FsbCBhbmQgY29uc3RydWN0CiAgICAgICAgIC8vIChpLmUuICJPYmplY3QoKSIg
aXMgaWRlbnRpY2FsIHRvICJuZXcgT2JqZWN0KCkiKS4KICAgICAgICAgRXhwZWN0ZWRGdW5jdGlv
biBlbWl0RXhwZWN0ZWRGdW5jdGlvblNuaXBwZXQoUmVnaXN0ZXJJRCogZHN0LCBSZWdpc3RlcklE
KiBmdW5jLCBFeHBlY3RlZEZ1bmN0aW9uLCBDYWxsQXJndW1lbnRzJiwgTGFiZWwqIGRvbmUpOwot
ICAgICAgICAKKwogICAgICAgICBSZWdpc3RlcklEKiBlbWl0Q2FsbChPcGNvZGVJRCwgUmVnaXN0
ZXJJRCogZHN0LCBSZWdpc3RlcklEKiBmdW5jLCBFeHBlY3RlZEZ1bmN0aW9uLCBDYWxsQXJndW1l
bnRzJiwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGRpdm90LCBjb25zdCBKU1RleHRQb3NpdGlvbiYg
ZGl2b3RTdGFydCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGRpdm90RW5kKTsKIAogICAgICAgICBS
ZWdpc3RlcklEKiBuZXdSZWdpc3RlcigpOwpAQCAtNjI3LDcgKzYzMSw3IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICAvLyBJbml0aWFsaXplcyB0aGUgc3RhY2sgZm9ybSB0aGUgcGFyYW1ldGVy
OyBkb2VzIG5vdGhpbmcgZm9yIHRoZSBzeW1ib2wgdGFibGUuCiAgICAgICAgIFJlZ2lzdGVySUQq
IGluaXRpYWxpemVOZXh0UGFyYW1ldGVyKCk7CiAgICAgICAgIFN0cmluZ0ltcGwqIHZpc2libGVO
YW1lRm9yUGFyYW1ldGVyKERlY29uc3RydWN0aW9uUGF0dGVybk5vZGUqKTsKLSAgICAgICAgCisK
ICAgICAgICAgUmVnaXN0ZXJJRCYgcmVnaXN0ZXJGb3IoVmlydHVhbFJlZ2lzdGVyIHJlZykKICAg
ICAgICAgewogICAgICAgICAgICAgaWYgKHJlZy5pc0xvY2FsKCkpCkBAIC02NDcsNyArNjUxLDcg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHVuc2lnbmVkIGFkZFJlZ0V4cChSZWdFeHAqKTsK
IAogICAgICAgICB1bnNpZ25lZCBhZGRDb25zdGFudEJ1ZmZlcih1bnNpZ25lZCBsZW5ndGgpOwot
ICAgICAgICAKKwogICAgICAgICBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSogbWFrZUZ1bmN0
aW9uKEZ1bmN0aW9uQm9keU5vZGUqIGJvZHkpCiAgICAgICAgIHsKICAgICAgICAgICAgIHJldHVy
biBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZTo6Y3JlYXRlKG1fdm0sIG1fc2NvcGVOb2RlLT5z
b3VyY2UoKSwgYm9keSwgaXNCdWlsdGluRnVuY3Rpb24oKSA/IFVubGlua2VkQnVpbHRpbkZ1bmN0
aW9uIDogVW5saW5rZWROb3JtYWxGdW5jdGlvbik7CkBAIC03MzAsNyArNzM0LDcgQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgICAgIFZlY3RvcjxzdGQ6OnBhaXI8UmVmUHRyPFJlZ2lzdGVySUQ+LCBj
b25zdCBEZWNvbnN0cnVjdGlvblBhdHRlcm5Ob2RlKj4+IG1fZGVjb25zdHJ1Y3RlZFBhcmFtZXRl
cnM7CiAgICAgICAgIFZlY3RvcjxGdW5jdGlvbkJvZHlOb2RlKj4gbV9mdW5jdGlvbnNUb0luaXRp
YWxpemU7CiAgICAgICAgIGJvb2wgbV9uZWVkVG9Jbml0aWFsaXplQXJndW1lbnRzIHsgZmFsc2Ug
fTsKLSAgICAgICAgCisKICAgICAgICAgVmVjdG9yPFRyeVJhbmdlPiBtX3RyeVJhbmdlczsKICAg
ICAgICAgU2VnbWVudGVkVmVjdG9yPFRyeURhdGEsIDg+IG1fdHJ5RGF0YTsKIApAQCAtNzM4LDcg
Kzc0Miw3IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIHR5cGVkZWYgSGFzaE1hcDxGdW5j
dGlvbkJvZHlOb2RlKiwgdW5zaWduZWQ+IEZ1bmN0aW9uT2Zmc2V0TWFwOwogICAgICAgICBGdW5j
dGlvbk9mZnNldE1hcCBtX2Z1bmN0aW9uT2Zmc2V0czsKLSAgICAgICAgCisKICAgICAgICAgLy8g
Q29uc3RhbnQgcG9vbAogICAgICAgICBJZGVudGlmaWVyTWFwIG1faWRlbnRpZmllck1hcDsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVn
ZW4uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4u
Y3BwCmluZGV4IDFjNzU3M2FkNGUzMjhiMmE3NGE5NWZiOTNiYjIwNzY4ODJiMmY3YjkuLjY5ZmQw
ODMwZmI0MTkxYjEwOTUyYWM5NThjOTA0NDA5ZTVhNWQ5ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKQEAgLTE0OSw3ICsx
NDksOSBAQCBSZWdpc3RlcklEKiBUaGlzTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJh
dG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdAogCiAgICAgaWYgKGRzdCA9PSBnZW5lcmF0
b3IuaWdub3JlZFJlc3VsdCgpKQogICAgICAgICByZXR1cm4gMDsKLQorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0VGhpc05vZGVC
eXRlY29kZShkc3QsIHBvc2l0aW9uKCkpOworI2Vsc2UKICAgICBSZWdpc3RlcklEKiByZXN1bHQg
PSBnZW5lcmF0b3IubW92ZVRvRGVzdGluYXRpb25JZk5lZWRlZChkc3QsIGdlbmVyYXRvci50aGlz
UmVnaXN0ZXIoKSk7CiAgICAgaWYgKGdlbmVyYXRvci52bSgpLT50eXBlUHJvZmlsZXIoKSkgewog
ICAgICAgICBnZW5lcmF0b3IuZW1pdFByb2ZpbGVUeXBlKGdlbmVyYXRvci50aGlzUmVnaXN0ZXIo
KSwgUHJvZmlsZVR5cGVCeXRlY29kZURvZXNOb3RIYXZlR2xvYmFsSUQsIG51bGxwdHIpOwpAQCAt
MTU3LDYgKzE1OSw3IEBAIFJlZ2lzdGVySUQqIFRoaXNOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNv
ZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0CiAgICAgICAgIGdlbmVyYXRv
ci5lbWl0VHlwZVByb2ZpbGVyRXhwcmVzc2lvbkluZm8ocG9zaXRpb24oKSwgSlNUZXh0UG9zaXRp
b24oLTEsIHBvc2l0aW9uKCkub2Zmc2V0ICsgdGhpc0xlbmd0aCwgLTEpKTsKICAgICB9CiAgICAg
cmV0dXJuIHJlc3VsdDsKKyNlbmRpZgogfQogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0gU3VwZXJOb2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAg
LTI4MzMsNiArMjgzNiwxNCBAQCBSZWdpc3RlcklEKiBGdW5jRXhwck5vZGU6OmVtaXRCeXRlY29k
ZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3RlcklEKgogICAgIHJldHVybiBn
ZW5lcmF0b3IuZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lvbihnZW5lcmF0b3IuZmluYWxEZXN0aW5h
dGlvbihkc3QpLCB0aGlzKTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpICAgIAorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEFycm93RnVuY0V4cHJO
b2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUmVnaXN0ZXJJRCogQXJyb3dG
dW5jRXhwck5vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBS
ZWdpc3RlcklEKiBkc3QpCit7CisgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0TmV3QXJyb3dGdW5j
dGlvbkV4cHJlc3Npb24oZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0KSwgdGhpcyk7Cit9
CisjZW5kaWYKKyAgICAKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKIC8vIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBDbGFzc0RlY2xOb2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0J5dGVDb2RlUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNv
ZGVQYXJzZXIuY3BwCmluZGV4IDY5ZmQ0YWQxNTk1NGI1NzBlMGM5NDA3MDQxNjNlYTYwYjgxNGY5
OWMuLjUxZWQ2MDg2NTNkNDg5MTk4ZjhhNjlkYjAxMzgzNDYzOGRkMGVhMjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCkBAIC0zNjYyLDYg
KzM2NjIsMTUgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZCBsaW1p
dCkKICAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX25ld19mdW5jX2V4cCk7CiAgICAgICAgIH0K
IAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGNhc2Ugb3Bf
bmV3X2Fycm93X2Z1bmNfZXhwOiB7CisgICAgICAgICAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4
cHIgPSBtX2lubGluZVN0YWNrVG9wLT5tX3Byb2ZpbGVkQmxvY2stPmZ1bmN0aW9uRXhwcihjdXJy
ZW50SW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5kKTsKKyAgICAgICAgICAgIEZyb3plblZhbHVlKiBm
cm96ZW4gPSBtX2dyYXBoLmZyZWV6ZVN0cm9uZyhleHByKTsKKyAgICAgICAgICAgIHNldChWaXJ0
dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCksCisgICAgICAgICAg
ICAgICAgYWRkVG9HcmFwaChOZXdGdW5jdGlvbiwgT3BJbmZvKGZyb3plbiksIGdldChWaXJ0dWFs
UmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCkpKSk7CisgICAgICAgICAg
ICBORVhUX09QQ09ERShvcF9uZXdfYXJyb3dfZnVuY19leHApOworICAgICAgICB9CisjZW5kaWYK
ICAgICAgICAgY2FzZSBvcF90eXBlb2Y6IHsKICAgICAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0
ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCksCiAgICAgICAgICAgICAgICAgYWRk
VG9HcmFwaChUeXBlT2YsIGdldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJd
LnUub3BlcmFuZCkpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0NhcGFiaWxpdGllcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxp
dGllcy5jcHAKaW5kZXggOGVmNGRjZjE1NjhiZDVlZGE0Yjg5N2U3Njg0YThjYmI5MWJmNmUwOC4u
YWFiNTE2MjJmNmQ4ZGMxYjcyNGFjNTYxODQwNTg4NjQ2M2ZiYmRhOCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcApAQCAtMjAsNyArMjAsNyBAQAog
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQogICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCiAgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCkBAIC05Myw3ICs5Myw3
IEBAIGlubGluZSB2b2lkIGRlYnVnRmFpbChDb2RlQmxvY2sqIGNvZGVCbG9jaywgT3Bjb2RlSUQg
b3Bjb2RlSUQsIENhcGFiaWxpdHlMZXZlbCByCiBDYXBhYmlsaXR5TGV2ZWwgY2FwYWJpbGl0eUxl
dmVsKE9wY29kZUlEIG9wY29kZUlELCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgSW5zdHJ1Y3Rpb24q
IHBjKQogewogICAgIFVOVVNFRF9QQVJBTShjb2RlQmxvY2spOyAvLyBUaGlzIGZ1bmN0aW9uIGRv
ZXMgc29tZSBieXRlY29kZSBwYXJzaW5nLiBPcmRpbmFyaWx5IGJ5dGVjb2RlIHBhcnNpbmcgcmVx
dWlyZXMgdGhlIG93bmluZyBDb2RlQmxvY2suIEl0J3Mgc29ydCBvZiBzdHJhbmdlIHRoYXQgd2Ug
ZG9uJ3QgdXNlIGl0IGhlcmUgcmlnaHQgbm93LgotICAgIAorCiAgICAgc3dpdGNoIChvcGNvZGVJ
RCkgewogICAgIGNhc2Ugb3BfZW50ZXI6CiAgICAgY2FzZSBvcF90b3VjaF9lbnRyeToKQEAgLTIw
OCw2ICsyMDgsOSBAQCBDYXBhYmlsaXR5TGV2ZWwgY2FwYWJpbGl0eUxldmVsKE9wY29kZUlEIG9w
Y29kZUlELCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgSW5zdHJ1YwogICAgIGNhc2Ugb3BfbmV3X2Z1
bmM6CiAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CiAgICAgY2FzZSBvcF9jcmVhdGVfbGV4aWNh
bF9lbnZpcm9ubWVudDoKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
IGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorI2VuZGlmCiAgICAgICAgIHJldHVybiBDYW5D
b21waWxlQW5kSW5saW5lOwogCiAgICAgY2FzZSBvcF9wdXRfdG9fc2NvcGU6IHsKQEAgLTI0Miw3
ICsyNDUsNyBAQCBDYXBhYmlsaXR5TGV2ZWwgY2FwYWJpbGl0eUxldmVsKENvZGVCbG9jayogY29k
ZUJsb2NrKQogICAgIEluc3RydWN0aW9uKiBpbnN0cnVjdGlvbnNCZWdpbiA9IGNvZGVCbG9jay0+
aW5zdHJ1Y3Rpb25zKCkuYmVnaW4oKTsKICAgICB1bnNpZ25lZCBpbnN0cnVjdGlvbkNvdW50ID0g
Y29kZUJsb2NrLT5pbnN0cnVjdGlvbnMoKS5zaXplKCk7CiAgICAgQ2FwYWJpbGl0eUxldmVsIHJl
c3VsdCA9IENhbkNvbXBpbGVBbmRJbmxpbmU7Ci0gICAgCisKICAgICBmb3IgKHVuc2lnbmVkIGJ5
dGVjb2RlT2Zmc2V0ID0gMDsgYnl0ZWNvZGVPZmZzZXQgPCBpbnN0cnVjdGlvbkNvdW50OyApIHsK
ICAgICAgICAgc3dpdGNoIChpbnRlcnByZXRlci0+Z2V0T3Bjb2RlSUQoaW5zdHJ1Y3Rpb25zQmVn
aW5bYnl0ZWNvZGVPZmZzZXRdLnUub3Bjb2RlKSkgewogI2RlZmluZSBERUZJTkVfT1Aob3Bjb2Rl
LCBsZW5ndGgpIFwKQEAgLTI2Miw3ICsyNjUsNyBAQCBDYXBhYmlsaXR5TGV2ZWwgY2FwYWJpbGl0
eUxldmVsKENvZGVCbG9jayogY29kZUJsb2NrKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IH0KICAgICB9Ci0gICAgCisKICAgICByZXR1cm4gcmVzdWx0OwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAppbmRleCBiYzg4NWE2
NDQ1MmZhMjQyZGMyNzcxMzk1ZDM0MGRlNTNjMGQ5NDMzLi5mNzY3MjFhMWFhZWIwMzI2ZDAzMTlh
NzQzOTQ3MTZhMmQzNWNkMDIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50
ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9JbnRlcnByZXRlci5jcHAKQEAgLTQ1LDYgKzQ1LDkgQEAKICNpbmNsdWRlICJHZXR0
ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJKU0FycmF5LmgiCiAjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0
aW9uLmgiCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyNpbmNsdWRlICJK
U0Fycm93RnVuY3Rpb24uaCIKKyNlbmRpZgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNs
dWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIkpTTmFtZVNjb3BlLmgiCkBA
IC05NywxMiArMTAwLDEyIEBAIEpTVmFsdWUgZXZhbChDYWxsRnJhbWUqIGNhbGxGcmFtZSkKICAg
ICBKU1ZhbHVlIHByb2dyYW0gPSBjYWxsRnJhbWUtPmFyZ3VtZW50KDApOwogICAgIGlmICghcHJv
Z3JhbS5pc1N0cmluZygpKQogICAgICAgICByZXR1cm4gcHJvZ3JhbTsKLSAgICAKKwogICAgIFRv
cENhbGxGcmFtZVNldHRlciB0b3BDYWxsRnJhbWUoY2FsbEZyYW1lLT52bSgpLCBjYWxsRnJhbWUp
OwogICAgIFN0cmluZyBwcm9ncmFtU291cmNlID0gYXNTdHJpbmcocHJvZ3JhbSktPnZhbHVlKGNh
bGxGcmFtZSk7CiAgICAgaWYgKGNhbGxGcmFtZS0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgIHJl
dHVybiBKU1ZhbHVlKCk7Ci0gICAgCisKICAgICBDYWxsRnJhbWUqIGNhbGxlckZyYW1lID0gY2Fs
bEZyYW1lLT5jYWxsZXJGcmFtZSgpOwogICAgIENvZGVCbG9jayogY2FsbGVyQ29kZUJsb2NrID0g
Y2FsbGVyRnJhbWUtPmNvZGVCbG9jaygpOwogICAgIEpTU2NvcGUqIGNhbGxlclNjb3BlQ2hhaW4g
PSBjYWxsZXJGcmFtZS0+dW5jaGVja2VkUihjYWxsZXJDb2RlQmxvY2stPnNjb3BlUmVnaXN0ZXIo
KS5vZmZzZXQoKSkuUmVnaXN0ZXI6OnNjb3BlKCk7CkBAIC0xMTksMTAgKzEyMiwxMCBAQCBKU1Zh
bHVlIGV2YWwoQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCiAgICAgICAgICAgICB9IGVsc2UgewogICAg
ICAgICAgICAgICAgIExpdGVyYWxQYXJzZXI8VUNoYXI+IHByZXBhcnNlcihjYWxsRnJhbWUsIHBy
b2dyYW1Tb3VyY2UuY2hhcmFjdGVyczE2KCksIHByb2dyYW1Tb3VyY2UubGVuZ3RoKCksIE5vblN0
cmljdEpTT04pOwogICAgICAgICAgICAgICAgIGlmIChKU1ZhbHVlIHBhcnNlZE9iamVjdCA9IHBy
ZXBhcnNlci50cnlMaXRlcmFsUGFyc2UoKSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBh
cnNlZE9iamVjdDsgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBw
YXJzZWRPYmplY3Q7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICAgICAgCisKICAgICAg
ICAgLy8gSWYgdGhlIGxpdGVyYWwgcGFyc2VyIGJhaWxlZCwgaXQgc2hvdWxkIG5vdCBoYXZlIHRo
cm93biBleGNlcHRpb25zLgogICAgICAgICBBU1NFUlQoIWNhbGxGcmFtZS0+dm0oKS5leGNlcHRp
b24oKSk7CiAKQEAgLTE0MSwxMSArMTQ0LDExIEBAIHVuc2lnbmVkIHNpemVPZlZhcmFyZ3MoQ2Fs
bEZyYW1lKiBjYWxsRnJhbWUsIEpTVmFsdWUgYXJndW1lbnRzLCB1aW50MzJfdCBmaXJzdFZhCiAg
ICAgaWYgKFVOTElLRUxZKCFhcmd1bWVudHMuaXNDZWxsKCkpKSB7CiAgICAgICAgIGlmIChhcmd1
bWVudHMuaXNVbmRlZmluZWRPck51bGwoKSkKICAgICAgICAgICAgIHJldHVybiAwOwotICAgICAg
ICAKKwogICAgICAgICBjYWxsRnJhbWUtPnZtKCkudGhyb3dFeGNlcHRpb24oY2FsbEZyYW1lLCBj
cmVhdGVJbnZhbGlkRnVuY3Rpb25BcHBseVBhcmFtZXRlckVycm9yKGNhbGxGcmFtZSwgYXJndW1l
bnRzKSk7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KLSAgICAKKwogICAgIEpTQ2VsbCogY2Vs
bCA9IGFyZ3VtZW50cy5hc0NlbGwoKTsKICAgICB1bnNpZ25lZCBsZW5ndGg7CiAgICAgc3dpdGNo
IChjZWxsLT50eXBlKCkpIHsKQEAgLTE2NiwyNSArMTY5LDI1IEBAIHVuc2lnbmVkIHNpemVPZlZh
cmFyZ3MoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTVmFsdWUgYXJndW1lbnRzLCB1aW50MzJfdCBm
aXJzdFZhCiAgICAgICAgICAgICBsZW5ndGggPSBqc0Nhc3Q8SlNPYmplY3QqPihjZWxsKS0+Z2V0
KGNhbGxGcmFtZSwgY2FsbEZyYW1lLT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoKS50b1VJbnQzMihj
YWxsRnJhbWUpOwogICAgICAgICBicmVhazsKICAgICB9Ci0gICAgCisKICAgICBpZiAobGVuZ3Ro
ID49IGZpcnN0VmFyQXJnT2Zmc2V0KQogICAgICAgICBsZW5ndGggLT0gZmlyc3RWYXJBcmdPZmZz
ZXQ7CiAgICAgZWxzZQogICAgICAgICBsZW5ndGggPSAwOwotICAgIAorCiAgICAgcmV0dXJuIGxl
bmd0aDsKIH0KIAogdW5zaWduZWQgc2l6ZUZyYW1lRm9yVmFyYXJncyhDYWxsRnJhbWUqIGNhbGxG
cmFtZSwgSlNTdGFjayogc3RhY2ssIEpTVmFsdWUgYXJndW1lbnRzLCB1bnNpZ25lZCBudW1Vc2Vk
U3RhY2tTbG90cywgdWludDMyX3QgZmlyc3RWYXJBcmdPZmZzZXQpCiB7CiAgICAgdW5zaWduZWQg
bGVuZ3RoID0gc2l6ZU9mVmFyYXJncyhjYWxsRnJhbWUsIGFyZ3VtZW50cywgZmlyc3RWYXJBcmdP
ZmZzZXQpOwotICAgIAorCiAgICAgQ2FsbEZyYW1lKiBjYWxsZWVGcmFtZSA9IGNhbGxlZUZyYW1l
Rm9yVmFyYXJncyhjYWxsRnJhbWUsIG51bVVzZWRTdGFja1Nsb3RzLCBsZW5ndGggKyAxKTsKICAg
ICBpZiAobGVuZ3RoID4gbWF4QXJndW1lbnRzIHx8ICFzdGFjay0+ZW5zdXJlQ2FwYWNpdHlGb3Io
Y2FsbGVlRnJhbWUtPnJlZ2lzdGVycygpKSkgewogICAgICAgICB0aHJvd1N0YWNrT3ZlcmZsb3dF
cnJvcihjYWxsRnJhbWUpOwogICAgICAgICByZXR1cm4gMDsKICAgICB9Ci0gICAgCisKICAgICBy
ZXR1cm4gbGVuZ3RoOwogfQogCkBAIC0xOTIsNyArMTk1LDcgQEAgdm9pZCBsb2FkVmFyYXJncyhD
YWxsRnJhbWUqIGNhbGxGcmFtZSwgVmlydHVhbFJlZ2lzdGVyIGZpcnN0RWxlbWVudERlc3QsIEpT
VmFsdWUKIHsKICAgICBpZiAoVU5MSUtFTFkoIWFyZ3VtZW50cy5pc0NlbGwoKSkpCiAgICAgICAg
IHJldHVybjsKLSAgICAKKwogICAgIEpTQ2VsbCogY2VsbCA9IGFyZ3VtZW50cy5hc0NlbGwoKTsK
ICAgICBzd2l0Y2ggKGNlbGwtPnR5cGUoKSkgewogICAgIGNhc2UgRGlyZWN0QXJndW1lbnRzVHlw
ZToKQEAgLTIyMCwxMiArMjIzLDEyIEBAIHZvaWQgbG9hZFZhcmFyZ3MoQ2FsbEZyYW1lKiBjYWxs
RnJhbWUsIFZpcnR1YWxSZWdpc3RlciBmaXJzdEVsZW1lbnREZXN0LCBKU1ZhbHVlCiB2b2lkIHNl
dHVwVmFyYXJnc0ZyYW1lKENhbGxGcmFtZSogY2FsbEZyYW1lLCBDYWxsRnJhbWUqIG5ld0NhbGxG
cmFtZSwgSlNWYWx1ZSBhcmd1bWVudHMsIHVpbnQzMl90IG9mZnNldCwgdWludDMyX3QgbGVuZ3Ro
KQogewogICAgIFZpcnR1YWxSZWdpc3RlciBjYWxsZWVGcmFtZU9mZnNldChuZXdDYWxsRnJhbWUg
LSBjYWxsRnJhbWUpOwotICAgIAorCiAgICAgbG9hZFZhcmFyZ3MoCiAgICAgICAgIGNhbGxGcmFt
ZSwKICAgICAgICAgY2FsbGVlRnJhbWVPZmZzZXQgKyBDYWxsRnJhbWU6OmFyZ3VtZW50T2Zmc2V0
KDApLAogICAgICAgICBhcmd1bWVudHMsIG9mZnNldCwgbGVuZ3RoKTsKLSAgICAKKwogICAgIG5l
d0NhbGxGcmFtZS0+c2V0QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMobGVuZ3RoICsgMSk7CiB9
CiAKQEAgLTMzMSw3ICszMzQsNyBAQCB2b2lkIEludGVycHJldGVyOjpkdW1wUmVnaXN0ZXJzKENh
bGxGcmFtZSogY2FsbEZyYW1lKQogICAgICAgICBkYXRhTG9nRigiW3IlIDNkICUxNHNdICAgICAg
fCAlMTBwIHwgJS0xNnMgMHglbGxkIFxuIiwgcmVnaXN0ZXJOdW1iZXIsIG5hbWUuYXNjaWkoKS5k
YXRhKCksIGl0LCB0b0NTdHJpbmcodikuZGF0YSgpLCAobG9uZyBsb25nKUpTVmFsdWU6OmVuY29k
ZSh2KSk7CiAgICAgICAgIC0taXQ7CiAgICAgfQotICAgIAorCiAgICAgZGF0YUxvZ0YoIi0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tXG4iKTsKICAgICBkYXRhTG9nRigiW0FyZ3VtZW50Q291bnRdICAgICAg
ICAgICAgfCAlMTBwIHwgJWx1IFxuIiwgaXQsICh1bnNpZ25lZCBsb25nKSBjYWxsRnJhbWUtPmFy
Z3VtZW50Q291bnQoKSk7CiAgICAgLS1pdDsKQEAgLTUwNCw3ICs1MDcsNyBAQCBwdWJsaWM6CiAg
ICAgICAgICAgICAgICAgU3RhY2tGcmFtZSBzID0geyBTdHJvbmc8SlNPYmplY3Q+KHZtLCB2aXNp
dG9yLT5jYWxsZWUoKSksIFN0YWNrRnJhbWVOYXRpdmVDb2RlLCBTdHJvbmc8RXhlY3V0YWJsZUJh
c2U+KCksIFN0cm9uZzxVbmxpbmtlZENvZGVCbG9jaz4oKSwgMCwgMCwgMCwgMCwgMCwgU3RyaW5n
KCl9OwogICAgICAgICAgICAgICAgIG1fcmVzdWx0cy5hcHBlbmQocyk7CiAgICAgICAgICAgICB9
Ci0gICAgCisKICAgICAgICAgICAgIG1fcmVtYWluaW5nQ2FwYWNpdHlGb3JGcmFtZUNhcHR1cmUt
LTsKICAgICAgICAgICAgIHJldHVybiBTdGFja1Zpc2l0b3I6OkNvbnRpbnVlOwogICAgICAgICB9
CkBAIC0xMDA3LDcgKzEwMTAsNyBAQCBDYWxsRnJhbWVDbG9zdXJlIEludGVycHJldGVyOjpwcmVw
YXJlRm9yUmVwZWF0Q2FsbChGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmN0aW9uRQogewogICAgIFZN
JiB2bSA9ICpzY29wZS0+dm0oKTsKICAgICBBU1NFUlQoIXZtLmV4Y2VwdGlvbigpKTsKLSAgICAK
KwogICAgIGlmICh2bS5pc0NvbGxlY3RvckJ1c3koKSkKICAgICAgICAgcmV0dXJuIENhbGxGcmFt
ZUNsb3N1cmUoKTsKIApAQCAtMTAyOCwxMSArMTAzMSwxMSBAQCBDYWxsRnJhbWVDbG9zdXJlIElu
dGVycHJldGVyOjpwcmVwYXJlRm9yUmVwZWF0Q2FsbChGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmN0
aW9uRQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLUpTVmFsdWUgSW50ZXJwcmV0ZXI6OmV4ZWN1
dGUoQ2FsbEZyYW1lQ2xvc3VyZSYgY2xvc3VyZSkgCitKU1ZhbHVlIEludGVycHJldGVyOjpleGVj
dXRlKENhbGxGcmFtZUNsb3N1cmUmIGNsb3N1cmUpCiB7CiAgICAgVk0mIHZtID0gKmNsb3N1cmUu
dm07CiAgICAgU2FtcGxpbmdTY29wZSBzYW1wbGluZ1Njb3BlKHRoaXMpOwotICAgIAorCiAgICAg
QVNTRVJUKCF2bS5pc0NvbGxlY3RvckJ1c3koKSk7CiAgICAgUkVMRUFTRV9BU1NFUlQodm0uY3Vy
cmVudFRocmVhZElzSG9sZGluZ0FQSUxvY2soKSk7CiAgICAgaWYgKHZtLmlzQ29sbGVjdG9yQnVz
eSgpKQpAQCAtMTA2NSw3ICsxMDY4LDcgQEAgSlNWYWx1ZSBJbnRlcnByZXRlcjo6ZXhlY3V0ZShF
dmFsRXhlY3V0YWJsZSogZXZhbCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTVmFsdWUKIHsKICAg
ICBWTSYgdm0gPSAqc2NvcGUtPnZtKCk7CiAgICAgU2FtcGxpbmdTY29wZSBzYW1wbGluZ1Njb3Bl
KHRoaXMpOwotICAgIAorCiAgICAgQVNTRVJUKHNjb3BlLT52bSgpID09ICZjYWxsRnJhbWUtPnZt
KCkpOwogICAgIEFTU0VSVCghdm0uZXhjZXB0aW9uKCkpOwogICAgIEFTU0VSVCghdm0uaXNDb2xs
ZWN0b3JCdXN5KCkpOwpAQCAtMTA3NSw3ICsxMDc4LDcgQEAgSlNWYWx1ZSBJbnRlcnByZXRlcjo6
ZXhlY3V0ZShFdmFsRXhlY3V0YWJsZSogZXZhbCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTVmFs
dWUKIAogICAgIFZNRW50cnlTY29wZSBlbnRyeVNjb3BlKHZtLCBzY29wZS0+Z2xvYmFsT2JqZWN0
KCkpOwogICAgIGlmICghdm0uaXNTYWZlVG9SZWN1cnNlKCkpCi0gICAgICAgIHJldHVybiBjaGVj
a2VkUmV0dXJuKHRocm93U3RhY2tPdmVyZmxvd0Vycm9yKGNhbGxGcmFtZSkpOyAgICAgICAgCisg
ICAgICAgIHJldHVybiBjaGVja2VkUmV0dXJuKHRocm93U3RhY2tPdmVyZmxvd0Vycm9yKGNhbGxG
cmFtZSkpOwogCiAgICAgdW5zaWduZWQgbnVtVmFyaWFibGVzID0gZXZhbC0+bnVtVmFyaWFibGVz
KCk7CiAgICAgaW50IG51bUZ1bmN0aW9ucyA9IGV2YWwtPm51bWJlck9mRnVuY3Rpb25EZWNscygp
OwpAQCAtMTE3Niw3ICsxMTc5LDcgQEAgTkVWRVJfSU5MSU5FIHZvaWQgSW50ZXJwcmV0ZXI6OmRl
YnVnKENhbGxGcmFtZSogY2FsbEZyYW1lLCBEZWJ1Z0hvb2tJRCBkZWJ1Z0hvb2sKICAgICAgICAg
ICAgIGJyZWFrOwogICAgIH0KICAgICBBU1NFUlQoIWNhbGxGcmFtZS0+aGFkRXhjZXB0aW9uKCkp
OwotfSAgICAKK30KIAogdm9pZCBJbnRlcnByZXRlcjo6ZW5hYmxlU2FtcGxlcigpCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVC5jcHAKaW5kZXggNDJhODJkNDM5NDYxNjJmOTVmYTQ3NDY3NTY3MTM5
ZDRhYWYyMzg2Yi4uMTg2MGEwYWEzM2IwODE5YzRmODU1MDg1ZjVlOGI3MGZhMjMyYTQzMyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcApAQCAtMjUzLDYgKzI1Myw5IEBAIHZvaWQgSklUOjpw
cml2YXRlQ29tcGlsZU1haW5QYXNzKCkKICAgICAgICAgREVGSU5FX09QKG9wX25ld19hcnJheV9i
dWZmZXIpCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfZnVuYykKICAgICAgICAgREVGSU5FX09Q
KG9wX25ld19mdW5jX2V4cCkKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgICAgICBERUZJTkVfT1Aob3BfbmV3X2Fycm93X2Z1bmNfZXhwKQorI2VuZGlmICAKICAgICAg
ICAgREVGSU5FX09QKG9wX25ld19vYmplY3QpCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfcmVn
ZXhwKQogICAgICAgICBERUZJTkVfT1Aob3Bfbm90KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKaW5k
ZXggZWU0ODU1ZGMyZTc4YjU1YWNjNDU5OWViZGI5OWEwZDhlMDhiZTdjYy4uNTYzOGQ1YzdjNzRh
ZWM3YzBhYjE5NWY5N2JiMzIxYmVlMDNjNzM3YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCkBA
IC01MjIsNiArNTIyLDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9u
ZXdfYXJyYXlfYnVmZmVyKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdf
ZnVuYyhJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2Z1bmNfZXhwKElu
c3RydWN0aW9uKik7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAg
ICAgdm9pZCBlbWl0X29wX25ld19hcnJvd19mdW5jX2V4cChJbnN0cnVjdGlvbiopOworI2VuZGlm
CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfb2JqZWN0KEluc3RydWN0aW9uKik7CiAgICAgICAg
IHZvaWQgZW1pdF9vcF9uZXdfcmVnZXhwKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1p
dF9vcF9ub3QoSW5zdHJ1Y3Rpb24qKTsKQEAgLTcwNSw2ICs3MDgsNyBAQCBuYW1lc3BhY2UgSlND
IHsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJh
dGlvbl9FSkosIGludCwgR1BSUmVnLCBHUFJSZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6
Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2MsIEdQUlJlZyk7CiAgICAgICAg
IE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0Ms
IGludCwgR1BSUmVnLCBKU0NlbGwqKTsKKyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2Fs
bE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0osIGludCwgR1BSUmVnLCBKU0NlbGwqLCBH
UFJSZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklU
T3BlcmF0aW9uX0VKc2NaLCBHUFJSZWcsIGludDMyX3QpOwogICAgICAgICBNYWNyb0Fzc2VtYmxl
cjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2NaLCBpbnQsIEdQUlJlZywg
aW50MzJfdCk7CiAjaWYgVVNFKEpTVkFMVUU2NCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUSW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJ
bmxpbmVzLmgKaW5kZXggOWVlMjRkMDkyMjhhOTg4MmVhNzY5NjI5ZDFhODdiNmMzNGE4NjMzNC4u
YTBlNDBjNWM2MWZlNjNlOTg2M2VkMjIzZWRmNWQ0NTFmMzE4YTc3NCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKQEAgLTI3MSw2ICsyNzEsMTIgQEAgQUxXQVlTX0lOTElO
RSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25f
RUpzY0Mgb3BlcmEKICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldEpT
VmFsdWVSZXN1bHQob3BlcmF0aW9uLCBkc3QpOwogfQogCitBTFdBWVNfSU5MSU5FIE1hY3JvQXNz
ZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0ogb3Bl
cmF0aW9uLCBpbnQgZHN0LCBHUFJSZWcgYXJnMSwgSlNDZWxsKiBjZWxsLCBHUFJSZWcgYXJnMikK
K3sKKyAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihj
ZWxsKSwgYXJnMik7CisgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRK
U1ZhbHVlUmVzdWx0KG9wZXJhdGlvbiwgZHN0KTsKK30KKyAgICAKIEFMV0FZU19JTkxJTkUgTWFj
cm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VQIG9w
ZXJhdGlvbiwgaW50IGRzdCwgdm9pZCogcG9pbnRlcikKIHsKICAgICBzZXR1cEFyZ3VtZW50c1dp
dGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihwb2ludGVyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRPcGNvZGVzLmNwcAppbmRleCBkM2Q1ODBlOWUyNjAwODUzYjY2NDllMjg1OTE4Zjg1
MzhiZTY5NDRjLi44OTMzZjM5NzFkYWNmYjk4ZTczOTgzYTA0MmViZmYwZTdjMzM3NjZmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKQEAgLTk3Miw2ICs5NzIsMzEg
QEAgdm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2Z1bmNfZXhwKEluc3RydWN0aW9uKiBjdXJyZW50SW5z
dHJ1Y3Rpb24pCiAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25OZXdGdW5jdGlvbiwgZHN0LCBy
ZWdUMCwgZnVuY0V4cHIpOwogICAgIGRvbmUubGluayh0aGlzKTsKIH0KKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2Fycm93X2Z1bmNf
ZXhwKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCit7CisgICAgSnVtcCBub3RVbmRl
ZmluZWRTY29wZTsKKyAgICBpbnQgZHN0ID0gY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFu
ZDsKKyAgICBpbnQgdmFsdWVUb1Byb2ZpbGUgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bNF0udS5vcGVy
YW5kOworI2lmIFVTRShKU1ZBTFVFNjQpCisgICAgZW1pdEdldFZpcnR1YWxSZWdpc3RlcihjdXJy
ZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kLCByZWdUMCk7CisgICAgbm90VW5kZWZpbmVkU2Nv
cGUgPSBicmFuY2g2NChOb3RFcXVhbCwgcmVnVDAsIFRydXN0ZWRJbW02NChKU1ZhbHVlOjplbmNv
ZGUoanNVbmRlZmluZWQoKSkpKTsKKyAgICBzdG9yZTY0KFRydXN0ZWRJbW02NChKU1ZhbHVlOjpl
bmNvZGUoanNVbmRlZmluZWQoKSkpLCBBZGRyZXNzKGNhbGxGcmFtZVJlZ2lzdGVyLCBzaXplb2Yo
UmVnaXN0ZXIpICogZHN0KSk7CisgICAgZW1pdEdldFZpcnR1YWxSZWdpc3Rlcih2YWx1ZVRvUHJv
ZmlsZSwgcmVnVDEpOworI2Vsc2UKKyAgICBlbWl0TG9hZFBheWxvYWQoY3VycmVudEluc3RydWN0
aW9uWzJdLnUub3BlcmFuZCwgcmVnVDApOworICAgIG5vdFVuZGVmaW5lZFNjb3BlID0gYnJhbmNo
MzIoTm90RXF1YWwsIHRhZ0ZvcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSwgVHJ1
c3RlZEltbTMyKEpTVmFsdWU6OlVuZGVmaW5lZFRhZykpOworICAgIGVtaXRTdG9yZShkc3QsIGpz
VW5kZWZpbmVkKCkpOworICAgIGVtaXRMb2FkUGF5bG9hZCh2YWx1ZVRvUHJvZmlsZSwgcmVnVDEp
OworI2VuZGlmCisgICAgSnVtcCBkb25lID0ganVtcCgpOworICAgIG5vdFVuZGVmaW5lZFNjb3Bl
LmxpbmsodGhpcyk7CisgICAgCisgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5jRXhwciA9IG1f
Y29kZUJsb2NrLT5mdW5jdGlvbkV4cHIoY3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZCk7
CisgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uLCBkc3QsIHJlZ1Qw
LCBmdW5jRXhwciwgcmVnVDEpOworICAgIGRvbmUubGluayh0aGlzKTsKK30KKyNlbmRpZgogCiB2
b2lkIEpJVDo6ZW1pdF9vcF9uZXdfYXJyYXkoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlv
bikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9u
cy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCmluZGV4
IGM2NTFlYWM3NmZjOWU3OGFmZjhjYmI0NDU4YzIxNzQzYTk1NWRhNTAuLmM3Y2YzNTE2NDIxMGRh
MzY0NWIzYTRmMjI5YmU3YTY5NjJmZmM3NGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRPcGVyYXRpb25zLmNwcApAQCAtNDIsNiArNDIsMTAgQEAKICNpbmNsdWRlICJIb3N0Q2Fs
bFJldHVyblZhbHVlLmgiCiAjaW5jbHVkZSAiSklULmgiCiAjaW5jbHVkZSAiSklUVG9ERkdEZWZl
cnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suaCIKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorI2VuZGlmCisjaW5jbHVkZSAi
SlNCb3VuZEZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpT
Q2F0Y2hTY29wZS5oIgogI2luY2x1ZGUgIkpTRnVuY3Rpb25OYW1lU2NvcGUuaCIKQEAgLTkzMiw3
ICs5MzYsMjIgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdGdW5j
dGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTU2NvcGUqIHNjb3AKICAgICBOYXRpdmVDYWxsRnJhbWVU
cmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU0Z1
bmN0aW9uOjpjcmVhdGUodm0sIHN0YXRpY19jYXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KGZ1bmN0
aW9uRXhlY3V0YWJsZSksIHNjb3BlKSk7CiB9Ci0KKyAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25O
ZXdBcnJvd0Z1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNTY29wZSogc2NvcGUsIEpTQ2VsbCog
ZnVuY3Rpb25FeGVjdXRhYmxlLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUpCit7CisgICAgQVNT
RVJUKGZ1bmN0aW9uRXhlY3V0YWJsZS0+aW5oZXJpdHMoRnVuY3Rpb25FeGVjdXRhYmxlOjppbmZv
KCkpKTsKKyAgICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNl
ciB0cmFjZXIoJnZtLCBleGVjKTsKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0g
ZXhlYy0+Y2FsbGVlKCktPmdsb2JhbE9iamVjdCgpOworICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBK
U0Fycm93RnVuY3Rpb246OmNyZWF0ZSh2bSwgc2NvcGUsIHN0YXRpY19jYXN0PEZ1bmN0aW9uRXhl
Y3V0YWJsZSo+KGZ1bmN0aW9uRXhlY3V0YWJsZSksIGdsb2JhbE9iamVjdCk7CisgICAgCisgICAg
SlNBcnJheSogYm91bmRBcmdzID0gSlNBcnJheTo6dHJ5Q3JlYXRlVW5pbml0aWFsaXplZCh2bSwg
Z2xvYmFsT2JqZWN0LT5hcnJheVN0cnVjdHVyZUZvckluZGV4aW5nVHlwZUR1cmluZ0FsbG9jYXRp
b24oQXJyYXlXaXRoVW5kZWNpZGVkKSwgMCk7CisgICAgCisgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShKU0JvdW5kRnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBmdW5jLCBKU1Zh
bHVlOjpkZWNvZGUodGhpc1ZhbHVlKSwgYm91bmRBcmdzLCAwLCAiIikpOworfQorI2VuZGlmCisg
ICAgCiBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3T2JqZWN0KEV4ZWNTdGF0ZSog
ZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCmluZGV4IDRkZWNlZjRl
YjhiNDhiYjkzN2Q1NGQwYjYwNGI5Yjc3NjdhNGVhNjEuLmQ3MTdmNmZlOTRkY2ExZGNmMzNiZDg2
NmU2MjI4NThiNTY5NzE1MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUT3BlcmF0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0
aW9ucy5oCkBAIC0xMTYsNiArMTE2LDcgQEAgdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BF
UkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVBQKShFeGVjU3RhdGUqLCB2b2lkKiwgdm8KIHR5cGVk
ZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQUykoRXhl
Y1N0YXRlKiwgdm9pZCosIHNpemVfdCk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVS
QVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FUGMpKEV4ZWNTdGF0ZSosIEluc3RydWN0aW9uKik7CiB0
eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FSnNj
QykoRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCopOwordHlwZWRlZiBFbmNvZGVkSlNWYWx1
ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUpzY0NKKShFeGVjU3RhdGUqLCBKU1Nj
b3BlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBK
SVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNTKShFeGVjU3RhdGUqLCBzaXplX3QsIHNp
emVfdCk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJh
dGlvbl9FU3NpQ0kpKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgSlNDZWxsKiwgU3Ry
aW5nSW1wbCopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRP
cGVyYXRpb25fRVNzaUpJKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRK
U1ZhbHVlLCBTdHJpbmdJbXBsKik7CkBAIC0yNzgsNiArMjc5LDEwIEBAIEVuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXlXaXRoUHJvZmlsZShFeGVjU3RhdGUqLCBB
cnJheUFsbG9jCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5
QnVmZmVyV2l0aFByb2ZpbGUoRXhlY1N0YXRlKiwgQXJyYXlBbGxvY2F0aW9uUHJvZmlsZSosIGNv
bnN0IEpTVmFsdWUqIHZhbHVlcywgaW50MzJfdCBzaXplKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVk
SlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5V2l0aFNpemVBbmRQcm9maWxl
KEV4ZWNTdGF0ZSosIEFycmF5QWxsb2NhdGlvblByb2ZpbGUqLCBFbmNvZGVkSlNWYWx1ZSBzaXpl
KSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5l
d0Z1bmN0aW9uKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKSBXVEZfSU5URVJOQUw7Cisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK0VuY29kZWRKU1ZhbHVlIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbihFeGVjU3RhdGUqLCBKU1Njb3BlKiwg
SlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUpIFdURl9JTlRFUk5BTDsKKyNlbmRpZgorICAgIAogSlND
ZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3RhdGUqLCBTdHJ1Y3R1
cmUqKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
bk5ld1JlZ2V4cChFeGVjU3RhdGUqLCB2b2lkKikgV1RGX0lOVEVSTkFMOwogdm9pZCBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvbkhhbmRsZVdhdGNoZG9nVGltZXIoRXhlY1N0YXRlKikgV1RGX0lOVEVS
TkFMOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1Bh
dGhzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAK
aW5kZXggZGI0MzEwZWM1Njk5ZWY5ZWRjOThjNTMzYzI5OTRjZmJjNWIzOTMxZC4uMGY1ZjU2MGQ5
MzEyOGFmMjg0N2MwNzIxM2JhMzQ0YjllODY4YjI4NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCkBAIC0zOCw2ICszOCwxMCBAQAogI2luY2x1
ZGUgIkludGVycHJldGVyLmgiCiAjaW5jbHVkZSAiSklULmgiCiAjaW5jbHVkZSAiSklURXhjZXB0
aW9ucy5oIgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisjaW5jbHVkZSAi
SlNBcnJvd0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCisjZW5kaWYK
ICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMu
aCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCkBAIC05OTIsNiArOTk2LDI0IEBAIExMSU5UX1NM
T1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuY19leHApCiAgICAgTExJTlRfUkVUVVJOKGZ1
bmMpOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK0xMSU5UX1NM
T1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApCit7CisgICAgTExJTlRf
QkVHSU4oKTsKKyAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVCbG9jaygpOwor
ICAgIEpTU2NvcGUqIHNjb3BlID0gZXhlYy0+dW5jaGVja2VkUihwY1syXS51Lm9wZXJhbmQpLlJl
Z2lzdGVyOjpzY29wZSgpOworICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZnVuY3Rpb24gPSBjb2Rl
QmxvY2stPmZ1bmN0aW9uRXhwcihwY1szXS51Lm9wZXJhbmQpOworICAgIEpTVmFsdWUgdGhpc1Zh
bHVlID0gTExJTlRfT1BfQyg0KS5qc1ZhbHVlKCk7CisgICAgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCA9IGV4ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKKyAgICAKKyAgICBKU0Z1
bmN0aW9uKiBmdW5jID0gSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUodm0sIHNjb3BlLCBmdW5jdGlv
biwgZ2xvYmFsT2JqZWN0KTsKKyAgICAKKyAgICBKU0FycmF5KiBib3VuZEFyZ3MgPSBKU0FycmF5
Ojp0cnlDcmVhdGVVbmluaXRpYWxpemVkKHZtLCBnbG9iYWxPYmplY3QtPmFycmF5U3RydWN0dXJl
Rm9ySW5kZXhpbmdUeXBlRHVyaW5nQWxsb2NhdGlvbihBcnJheVdpdGhVbmRlY2lkZWQpLCAwKTsK
KyAgICAKKyAgICBMTElOVF9SRVRVUk4oSlNCb3VuZEZ1bmN0aW9uOjpjcmVhdGUodm0sIGdsb2Jh
bE9iamVjdCwgZnVuYywgdGhpc1ZhbHVlLCBib3VuZEFyZ3MsIDAsICIiKSk7Cit9CisjZW5kaWYK
Kwogc3RhdGljIFNsb3dQYXRoUmV0dXJuVHlwZSBoYW5kbGVIb3N0Q2FsbChFeGVjU3RhdGUqIGV4
ZWNDYWxsZWUsIEluc3RydWN0aW9uKiBwYywgSlNWYWx1ZSBjYWxsZWUsIENvZGVTcGVjaWFsaXph
dGlvbktpbmQga2luZCkKIHsKICAgICBVTlVTRURfUEFSQU0ocGMpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaAppbmRleCA0YmY3ZGViMGZhMGI2YzY0Mzhl
MzZmOTYzMjBlMmY2Njk3MzlhZjY0Li5jN2ZhYjk2OTFjMThiOTM5NTZkMGVhMjlmMzM5NTYxMThj
NWU3MWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93
UGF0aHMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMu
aApAQCAtOTYsNiArOTYsNyBAQCBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRo
X3N3aXRjaF9jaGFyKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfc3dp
dGNoX3N0cmluZyk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX25ld19m
dW5jKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfbmV3X2Z1bmNfZXhw
KTsKK0xMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNf
ZXhwKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfY2FsbCk7CiBMTElO
VF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX2NvbnN0cnVjdCk7CiBMTElOVF9TTE9X
X1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3NpemVfZnJhbWVfZm9yX3ZhcmFyZ3MpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
CmluZGV4IDQzZWQ3ZThmMmUxODc0OTJlZjBiMDg1NWVjZmI3MjY3OTg1OTE3N2EuLmU4YWNjMjA3
ZGViMThkYzg0OWQ5OWEzMGJiNGJkNDI5MmU4NzFhNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KQEAgLTExNzEsNiArMTE3
MSwxMCBAQCBfbGxpbnRfb3BfbmV3X2Z1bmNfZXhwOgogICAgIGNhbGxTbG93UGF0aChfbGxpbnRf
c2xvd19wYXRoX25ld19mdW5jX2V4cCkKICAgICBkaXNwYXRjaCg0KQogCitfbGxpbnRfb3BfbmV3
X2Fycm93X2Z1bmNfZXhwOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsU2xvd1BhdGgo
X2xsaW50X3Nsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApCisgICAgZGlzcGF0Y2goNSkKIAog
X2xsaW50X29wX2NhbGw6CiAgICAgdHJhY2VFeGVjdXRpb24oKQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAppbmRleCBjNDhlNDFjNTg2NWRmZDUwMDc0ZjQ5ZGJhMTNk
Yzc0NjI5NjYzZWQxLi5iOGEwNmZiZTMwYzU4ZjAwZGMyMmUyNzBjNzcyNTRiYjhlZjljMDBkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaApAQCAtNTUsOCArNTUs
OCBAQCBjbGFzcyBBU1RCdWlsZGVyIHsKICAgICAgICAgSlNUZXh0UG9zaXRpb24gZW5kOwogICAg
ICAgICBib29sIGhhc0Fzc2lnbm1lbnQ7CiAgICAgfTsKLSAgICAKLSAgICAKKworCiAgICAgc3Ry
dWN0IEFzc2lnbm1lbnRJbmZvIHsKICAgICAgICAgQXNzaWdubWVudEluZm8oKSB7fQogICAgICAg
ICBBc3NpZ25tZW50SW5mbyhFeHByZXNzaW9uTm9kZSogbm9kZSwgY29uc3QgSlNUZXh0UG9zaXRp
b24mIHN0YXJ0LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgZGl2b3QsIGludCBpbml0QXNzaWdubWVu
dHMsIE9wZXJhdG9yIG9wKQpAQCAtODMsNyArODMsNyBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9l
dmFsQ291bnQoMCkKICAgICB7CiAgICAgfQotICAgIAorCiAgICAgc3RydWN0IEJpbmFyeUV4cHJD
b250ZXh0IHsKICAgICAgICAgQmluYXJ5RXhwckNvbnRleHQoQVNUQnVpbGRlciYpIHt9CiAgICAg
fTsKQEAgLTMwMiwxNyArMzAyLDMwIEBAIHB1YmxpYzoKICAgICB9CiAKICAgICBGdW5jdGlvbkJv
ZHlOb2RlKiBjcmVhdGVGdW5jdGlvbkJvZHkoCi0gICAgICAgIGNvbnN0IEpTVG9rZW5Mb2NhdGlv
biYgc3RhcnRMb2NhdGlvbiwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBlbmRMb2NhdGlvbiwgCi0g
ICAgICAgIHVuc2lnbmVkIHN0YXJ0Q29sdW1uLCB1bnNpZ25lZCBlbmRDb2x1bW4sIGludCBmdW5j
dGlvbktleXdvcmRTdGFydCwgCi0gICAgICAgIGludCBmdW5jdGlvbk5hbWVTdGFydCwgaW50IHBh
cmFtZXRlcnNTdGFydCwgYm9vbCBpblN0cmljdENvbnRleHQsIAorICAgICAgICBjb25zdCBKU1Rv
a2VuTG9jYXRpb24mIHN0YXJ0TG9jYXRpb24sIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgZW5kTG9j
YXRpb24sCisgICAgICAgIHVuc2lnbmVkIHN0YXJ0Q29sdW1uLCB1bnNpZ25lZCBlbmRDb2x1bW4s
IGludCBmdW5jdGlvbktleXdvcmRTdGFydCwKKyAgICAgICAgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0
LCBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBib29sIGluU3RyaWN0Q29udGV4dCwKICAgICAgICAgQ29u
c3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCkKICAgICB7CiAgICAgICAgIHJldHVybiBuZXcg
KG1fcGFyc2VyQXJlbmEpIEZ1bmN0aW9uQm9keU5vZGUoCi0gICAgICAgICAgICBtX3BhcnNlckFy
ZW5hLCBzdGFydExvY2F0aW9uLCBlbmRMb2NhdGlvbiwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwg
Ci0gICAgICAgICAgICBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBh
cmFtZXRlcnNTdGFydCwgCisgICAgICAgICAgICBtX3BhcnNlckFyZW5hLCBzdGFydExvY2F0aW9u
LCBlbmRMb2NhdGlvbiwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwKKyAgICAgICAgICAgIGZ1bmN0
aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LAogICAg
ICAgICAgICAgaW5TdHJpY3RDb250ZXh0LCBjb25zdHJ1Y3RvcktpbmQpOwogICAgIH0KIAorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgRXhwcmVzc2lvbk5vZGUqIGNy
ZWF0ZUFycm93RnVuY3Rpb25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNv
bnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RCdWlsZGVyPiYgaW5mbykKKyAgICB7CisgICAgICAg
IFNvdXJjZUNvZGUgc291cmNlID0gaW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dG
dW5jdGlvbkJvZHlFeHByZXNzaW9uCisgICAgICAgID8gbV9zb3VyY2VDb2RlLT5zdWJBcnJvd0V4
cHJlc3Npb24oaW5mby5hcnJvd0Z1bmN0aW9uT2Zmc2V0LCBpbmZvLmNsb3NlQnJhY2VPZmZzZXQs
IGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1bW4pCisgICAgICAgIDogbV9z
b3VyY2VDb2RlLT5zdWJFeHByZXNzaW9uKGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBpbmZvLmNsb3Nl
QnJhY2VPZmZzZXQsIGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1bW4pOwor
CisgICAgICAgIEFycm93RnVuY0V4cHJOb2RlKiByZXN1bHQgPSBuZXcgKG1fcGFyc2VyQXJlbmEp
IEFycm93RnVuY0V4cHJOb2RlKGxvY2F0aW9uLCAqaW5mby5uYW1lLCBpbmZvLmJvZHksIHNvdXJj
ZSwgaW5mby5wYXJhbWV0ZXJzKTsKKyAgICAgICAgaW5mby5ib2R5LT5zZXRMb2MoaW5mby5ib2R5
U3RhcnRMaW5lLCBpbmZvLmJvZHlFbmRMaW5lLCBsb2NhdGlvbi5zdGFydE9mZnNldCwgbG9jYXRp
b24ubGluZVN0YXJ0T2Zmc2V0KTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisjZW5k
aWYKKwogICAgIE5FVkVSX0lOTElORSBQcm9wZXJ0eU5vZGUqIGNyZWF0ZUdldHRlck9yU2V0dGVy
UHJvcGVydHkoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgUHJvcGVydHlOb2RlOjpU
eXBlIHR5cGUsIGJvb2wsCiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUsIGNvbnN0IFBh
cnNlckZ1bmN0aW9uSW5mbzxBU1RCdWlsZGVyPiYgaW5mbywgU3VwZXJCaW5kaW5nIHN1cGVyQmlu
ZGluZykKICAgICB7CkBAIC0zMjMsNyArMzM2LDcgQEAgcHVibGljOgogICAgICAgICBGdW5jRXhw
ck5vZGUqIGZ1bmNFeHByID0gbmV3IChtX3BhcnNlckFyZW5hKSBGdW5jRXhwck5vZGUobG9jYXRp
b24sIG1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyLCBpbmZvLmJvZHksIHNvdXJj
ZSwgaW5mby5wYXJhbWV0ZXJzKTsKICAgICAgICAgcmV0dXJuIG5ldyAobV9wYXJzZXJBcmVuYSkg
UHJvcGVydHlOb2RlKCpuYW1lLCBmdW5jRXhwciwgdHlwZSwgUHJvcGVydHlOb2RlOjpVbmtub3du
LCBzdXBlckJpbmRpbmcpOwogICAgIH0KLSAgICAKKwogICAgIE5FVkVSX0lOTElORSBQcm9wZXJ0
eU5vZGUqIGNyZWF0ZUdldHRlck9yU2V0dGVyUHJvcGVydHkoVk0qIHZtLCBQYXJzZXJBcmVuYSYg
cGFyc2VyQXJlbmEsIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIFByb3BlcnR5Tm9k
ZTo6VHlwZSB0eXBlLCBib29sLAogICAgICAgICBkb3VibGUgbmFtZSwgY29uc3QgUGFyc2VyRnVu
Y3Rpb25JbmZvPEFTVEJ1aWxkZXI+JiBpbmZvLCBTdXBlckJpbmRpbmcgc3VwZXJCaW5kaW5nKQog
ICAgIHsKQEAgLTQyMSwxMyArNDM0LDEzIEBAIHB1YmxpYzoKICAgICAgICAgc2V0RXhjZXB0aW9u
TG9jYXRpb24ocmVzdWx0LCBlU3RhcnQsIGVEaXZvdCwgZUVuZCk7CiAgICAgICAgIHJldHVybiBy
ZXN1bHQ7CiAgICAgfQotICAgIAorCiAgICAgU3RhdGVtZW50Tm9kZSogY3JlYXRlRm9ySW5Mb29w
KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIFBhc3NSZWZQdHI8RGVjb25zdHJ1Y3Rp
b25QYXR0ZXJuTm9kZT4gcGF0dGVybiwgRXhwcmVzc2lvbk5vZGUqIGl0ZXIsIFN0YXRlbWVudE5v
ZGUqIHN0YXRlbWVudHMsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBlU3RhcnQsIGNvbnN0IEpTVGV4
dFBvc2l0aW9uJiBlRGl2b3QsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBlRW5kLCBpbnQgc3RhcnQs
IGludCBlbmQpCiAgICAgewogICAgICAgICBhdXRvIGxleHByID0gbmV3IChtX3BhcnNlckFyZW5h
KSBEZWNvbnN0cnVjdGluZ0Fzc2lnbm1lbnROb2RlKGxvY2F0aW9uLCBwYXR0ZXJuLmdldCgpLCAw
KTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZUZvckluTG9vcChsb2NhdGlvbiwgbGV4cHIsIGl0ZXIs
IHN0YXRlbWVudHMsIGVTdGFydCwgZURpdm90LCBlRW5kLCBzdGFydCwgZW5kKTsKICAgICB9Ci0g
ICAgCisKICAgICBTdGF0ZW1lbnROb2RlKiBjcmVhdGVGb3JPZkxvb3AoY29uc3QgSlNUb2tlbkxv
Y2F0aW9uJiBsb2NhdGlvbiwgRXhwcmVzc2lvbk5vZGUqIGxocywgRXhwcmVzc2lvbk5vZGUqIGl0
ZXIsIFN0YXRlbWVudE5vZGUqIHN0YXRlbWVudHMsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBlU3Rh
cnQsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBlRGl2b3QsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBl
RW5kLCBpbnQgc3RhcnQsIGludCBlbmQpCiAgICAgewogICAgICAgICBGb3JPZk5vZGUqIHJlc3Vs
dCA9IG5ldyAobV9wYXJzZXJBcmVuYSkgRm9yT2ZOb2RlKGxvY2F0aW9uLCBsaHMsIGl0ZXIsIHN0
YXRlbWVudHMpOwpAQCAtNDM1LDcgKzQ0OCw3IEBAIHB1YmxpYzoKICAgICAgICAgc2V0RXhjZXB0
aW9uTG9jYXRpb24ocmVzdWx0LCBlU3RhcnQsIGVEaXZvdCwgZUVuZCk7CiAgICAgICAgIHJldHVy
biByZXN1bHQ7CiAgICAgfQotICAgIAorCiAgICAgU3RhdGVtZW50Tm9kZSogY3JlYXRlRm9yT2ZM
b29wKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIFBhc3NSZWZQdHI8RGVjb25zdHJ1
Y3Rpb25QYXR0ZXJuTm9kZT4gcGF0dGVybiwgRXhwcmVzc2lvbk5vZGUqIGl0ZXIsIFN0YXRlbWVu
dE5vZGUqIHN0YXRlbWVudHMsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBlU3RhcnQsIGNvbnN0IEpT
VGV4dFBvc2l0aW9uJiBlRGl2b3QsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBlRW5kLCBpbnQgc3Rh
cnQsIGludCBlbmQpCiAgICAgewogICAgICAgICBhdXRvIGxleHByID0gbmV3IChtX3BhcnNlckFy
ZW5hKSBEZWNvbnN0cnVjdGluZ0Fzc2lnbm1lbnROb2RlKGxvY2F0aW9uLCBwYXR0ZXJuLmdldCgp
LCAwKTsKQEAgLTUzMCw4ICs1NDMsOCBAQCBwdWJsaWM6CiAgICAgICAgIFdpdGhOb2RlKiByZXN1
bHQgPSBuZXcgKG1fcGFyc2VyQXJlbmEpIFdpdGhOb2RlKGxvY2F0aW9uLCBleHByLCBzdGF0ZW1l
bnQsIGVuZCwgZW5kIC0gc3RhcnQpOwogICAgICAgICByZXN1bHQtPnNldExvYyhzdGFydExpbmUs
IGVuZExpbmUsIGxvY2F0aW9uLnN0YXJ0T2Zmc2V0LCBsb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQp
OwogICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIH0gICAgCi0gICAgCisgICAgfQorCiAgICAg
U3RhdGVtZW50Tm9kZSogY3JlYXRlVGhyb3dTdGF0ZW1lbnQoY29uc3QgSlNUb2tlbkxvY2F0aW9u
JiBsb2NhdGlvbiwgRXhwcmVzc2lvbk5vZGUqIGV4cHIsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBz
dGFydCwgY29uc3QgSlNUZXh0UG9zaXRpb24mIGVuZCkKICAgICB7CiAgICAgICAgIFRocm93Tm9k
ZSogcmVzdWx0ID0gbmV3IChtX3BhcnNlckFyZW5hKSBUaHJvd05vZGUobG9jYXRpb24sIGV4cHIp
OwpAQCAtNTM5LDE0ICs1NTIsMTQgQEAgcHVibGljOgogICAgICAgICBzZXRFeGNlcHRpb25Mb2Nh
dGlvbihyZXN1bHQsIHN0YXJ0LCBlbmQsIGVuZCk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAg
ICAgfQotICAgIAorCiAgICAgU3RhdGVtZW50Tm9kZSogY3JlYXRlRGVidWdnZXIoY29uc3QgSlNU
b2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgaW50IHN0YXJ0TGluZSwgaW50IGVuZExpbmUpCiAgICAg
ewogICAgICAgICBEZWJ1Z2dlclN0YXRlbWVudE5vZGUqIHJlc3VsdCA9IG5ldyAobV9wYXJzZXJB
cmVuYSkgRGVidWdnZXJTdGF0ZW1lbnROb2RlKGxvY2F0aW9uKTsKICAgICAgICAgcmVzdWx0LT5z
ZXRMb2Moc3RhcnRMaW5lLCBlbmRMaW5lLCBsb2NhdGlvbi5zdGFydE9mZnNldCwgbG9jYXRpb24u
bGluZVN0YXJ0T2Zmc2V0KTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0gICAgCisK
ICAgICBTdGF0ZW1lbnROb2RlKiBjcmVhdGVDb25zdFN0YXRlbWVudChjb25zdCBKU1Rva2VuTG9j
YXRpb24mIGxvY2F0aW9uLCBDb25zdERlY2xOb2RlKiBkZWNscywgaW50IHN0YXJ0TGluZSwgaW50
IGVuZExpbmUpCiAgICAgewogICAgICAgICBDb25zdFN0YXRlbWVudE5vZGUqIHJlc3VsdCA9IG5l
dyAobV9wYXJzZXJBcmVuYSkgQ29uc3RTdGF0ZW1lbnROb2RlKGxvY2F0aW9uLCBkZWNscyk7CkBA
IC02MjksNyArNjQyLDcgQEAgcHVibGljOgogICAgICAgICBtX2JpbmFyeU9wZXJhbmRTdGFjay5y
ZW1vdmVMYXN0KCk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIAorCiAgICAg
dm9pZCBhcHBlbmRVbmFyeVRva2VuKGludCYgdG9rZW5TdGFja0RlcHRoLCBpbnQgdHlwZSwgY29u
c3QgSlNUZXh0UG9zaXRpb24mIHN0YXJ0KQogICAgIHsKICAgICAgICAgdG9rZW5TdGFja0RlcHRo
Kys7CkBAIC02NDAsMTggKzY1MywxOCBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4g
bV91bmFyeVRva2VuU3RhY2subGFzdCgpLmZpcnN0OwogICAgIH0KLSAgICAKKwogICAgIGNvbnN0
IEpTVGV4dFBvc2l0aW9uJiB1bmFyeVRva2VuU3RhY2tMYXN0U3RhcnQoaW50JikKICAgICB7CiAg
ICAgICAgIHJldHVybiBtX3VuYXJ5VG9rZW5TdGFjay5sYXN0KCkuc2Vjb25kOwogICAgIH0KLSAg
ICAKKwogICAgIHZvaWQgdW5hcnlUb2tlblN0YWNrUmVtb3ZlTGFzdChpbnQmIHRva2VuU3RhY2tE
ZXB0aCkKICAgICB7CiAgICAgICAgIHRva2VuU3RhY2tEZXB0aC0tOwogICAgICAgICBtX3VuYXJ5
VG9rZW5TdGFjay5yZW1vdmVMYXN0KCk7CiAgICAgfQotICAgIAorCiAgICAgdm9pZCBhc3NpZ25t
ZW50U3RhY2tBcHBlbmQoaW50JiBhc3NpZ25tZW50U3RhY2tEZXB0aCwgRXhwcmVzc2lvbk5vZGUq
IG5vZGUsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBzdGFydCwgY29uc3QgSlNUZXh0UG9zaXRpb24m
IGRpdm90LCBpbnQgYXNzaWdubWVudENvdW50LCBPcGVyYXRvciBvcCkKICAgICB7CiAgICAgICAg
IGFzc2lnbm1lbnRTdGFja0RlcHRoKys7CkBAIC02NjgsNyArNjgxLDcgQEAgcHVibGljOgogICAg
ICAgICBhc3NpZ25tZW50U3RhY2tEZXB0aC0tOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAg
IH0KLSAgICAKKwogICAgIGNvbnN0IElkZW50aWZpZXIqIGdldE5hbWUoUHJvcGVydHkgcHJvcGVy
dHkpIGNvbnN0IHsgcmV0dXJuIHByb3BlcnR5LT5uYW1lKCk7IH0KICAgICBQcm9wZXJ0eU5vZGU6
OlR5cGUgZ2V0VHlwZShQcm9wZXJ0eSBwcm9wZXJ0eSkgY29uc3QgeyByZXR1cm4gcHJvcGVydHkt
PnR5cGUoKTsgfQogCkBAIC02NzgsMTIgKzY5MSwxMiBAQCBwdWJsaWM6CiAgICAgewogICAgICAg
ICByZXR1cm4gbmV3IChtX3BhcnNlckFyZW5hKSBEZWNvbnN0cnVjdGluZ0Fzc2lnbm1lbnROb2Rl
KGxvY2F0aW9uLCBwYXR0ZXJuLmdldCgpLCBpbml0aWFsaXplcik7CiAgICAgfQotICAgIAorCiAg
ICAgQXJyYXlQYXR0ZXJuIGNyZWF0ZUFycmF5UGF0dGVybihjb25zdCBKU1Rva2VuTG9jYXRpb24m
KQogICAgIHsKICAgICAgICAgcmV0dXJuIEFycmF5UGF0dGVybk5vZGU6OmNyZWF0ZSgpOwogICAg
IH0KLSAgICAKKwogICAgIHZvaWQgYXBwZW5kQXJyYXlQYXR0ZXJuU2tpcEVudHJ5KEFycmF5UGF0
dGVybiBub2RlLCBjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uKQogICAgIHsKICAgICAg
ICAgbm9kZS0+YXBwZW5kSW5kZXgobG9jYXRpb24sIDApOwpAQCAtNjkzLDE3ICs3MDYsMTcgQEAg
cHVibGljOgogICAgIHsKICAgICAgICAgbm9kZS0+YXBwZW5kSW5kZXgobG9jYXRpb24sIHBhdHRl
cm4uZ2V0KCkpOwogICAgIH0KLSAgICAKKwogICAgIE9iamVjdFBhdHRlcm4gY3JlYXRlT2JqZWN0
UGF0dGVybihjb25zdCBKU1Rva2VuTG9jYXRpb24mKQogICAgIHsKICAgICAgICAgcmV0dXJuIE9i
amVjdFBhdHRlcm5Ob2RlOjpjcmVhdGUoKTsKICAgICB9Ci0gICAgCisKICAgICB2b2lkIGFwcGVu
ZE9iamVjdFBhdHRlcm5FbnRyeShPYmplY3RQYXR0ZXJuIG5vZGUsIGNvbnN0IEpTVG9rZW5Mb2Nh
dGlvbiYgbG9jYXRpb24sIGJvb2wgd2FzU3RyaW5nLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudGlm
aWVyLCBEZWNvbnN0cnVjdGlvblBhdHRlcm4gcGF0dGVybikKICAgICB7CiAgICAgICAgIG5vZGUt
PmFwcGVuZEVudHJ5KGxvY2F0aW9uLCBpZGVudGlmaWVyLCB3YXNTdHJpbmcsIHBhdHRlcm4uZ2V0
KCkpOwogICAgIH0KLSAgICAKKwogICAgIEJpbmRpbmdQYXR0ZXJuIGNyZWF0ZUJpbmRpbmdMb2Nh
dGlvbihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBJZGVudGlmaWVyJiBib3VuZFByb3Bl
cnR5LCBjb25zdCBKU1RleHRQb3NpdGlvbiYgc3RhcnQsIGNvbnN0IEpTVGV4dFBvc2l0aW9uJiBl
bmQpCiAgICAgewogICAgICAgICByZXR1cm4gQmluZGluZ05vZGU6OmNyZWF0ZShib3VuZFByb3Bl
cnR5LCBzdGFydCwgZW5kKTsKQEAgLTcyOCw3ICs3NDEsNyBAQCBwdWJsaWM6CiAgICAgewogICAg
ICAgICBub2RlLT5zZXRTdGFydE9mZnNldChvZmZzZXQpOwogICAgIH0KLSAgICAKKwogcHJpdmF0
ZToKICAgICBzdHJ1Y3QgU2NvcGUgewogICAgICAgICBTY29wZSgpCkBAIC03NTMsNyArNzY2LDcg
QEAgcHJpdmF0ZToKICAgICB2b2lkIHVzZXNDYXRjaCgpIHsgbV9zY29wZS5tX2ZlYXR1cmVzIHw9
IENhdGNoRmVhdHVyZTsgfQogICAgIHZvaWQgdXNlc0FyZ3VtZW50cygpIHsgbV9zY29wZS5tX2Zl
YXR1cmVzIHw9IEFyZ3VtZW50c0ZlYXR1cmU7IH0KICAgICB2b2lkIHVzZXNXaXRoKCkgeyBtX3Nj
b3BlLm1fZmVhdHVyZXMgfD0gV2l0aEZlYXR1cmU7IH0KLSAgICB2b2lkIHVzZXNFdmFsKCkgCisg
ICAgdm9pZCB1c2VzRXZhbCgpCiAgICAgewogICAgICAgICBtX2V2YWxDb3VudCsrOwogICAgICAg
ICBtX3Njb3BlLm1fZmVhdHVyZXMgfD0gRXZhbEZlYXR1cmU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvTGV4ZXIuY3BwCmluZGV4IDdkZTE0MjIwYmJkYTcyNzM4YjU3M2E0Yjk3ODhjZTBiMzJj
YzdjZTMuLjBkNzhmNmU4M2U2MzIxNjczNzYyNjc5NDk1MmY2MGVjMGJjZjEyZjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCkBAIC0xNDI2LDEwICsxNDI2LDIyIEBAIGJv
b2wgTGV4ZXI8VD46Om5leHRUb2tlbklzQ29sb24oKQogICAgIGNvbnN0IFQqIGNvZGUgPSBtX2Nv
ZGU7CiAgICAgd2hpbGUgKGNvZGUgPCBtX2NvZGVFbmQgJiYgKGlzV2hpdGVTcGFjZSgqY29kZSkg
fHwgaXNMaW5lVGVybWluYXRvcigqY29kZSkpKQogICAgICAgICBjb2RlKys7Ci0gICAgCisKICAg
ICByZXR1cm4gY29kZSA8IG1fY29kZUVuZCAmJiAqY29kZSA9PSAnOic7CiB9CiAKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIFQ+Cit2b2lk
IExleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9uKEpTVG9rZW4qIHRva2VuUmVjb3JkKQoreworICAg
IEpTVG9rZW5EYXRhKiB0b2tlbkRhdGEgPSAmdG9rZW5SZWNvcmQtPm1fZGF0YTsKKyAgICB0b2tl
bkRhdGEtPmxpbmUgPSBsaW5lTnVtYmVyKCk7CisgICAgdG9rZW5EYXRhLT5vZmZzZXQgPSBjdXJy
ZW50T2Zmc2V0KCk7CisgICAgdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50TGlu
ZVN0YXJ0T2Zmc2V0KCk7CisgICAgQVNTRVJUKHRva2VuRGF0YS0+b2Zmc2V0ID49IHRva2VuRGF0
YS0+bGluZVN0YXJ0T2Zmc2V0KTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4K
IEpTVG9rZW5UeXBlIExleGVyPFQ+OjpsZXgoSlNUb2tlbiogdG9rZW5SZWNvcmQsIHVuc2lnbmVk
IGxleGVyRmxhZ3MsIGJvb2wgc3RyaWN0TW9kZSkKIHsKQEAgLTE0OTMsNyArMTUwNSwxMiBAQCBz
dGFydDoKICAgICAgICAgfQogICAgICAgICB0b2tlbiA9IEdUOwogICAgICAgICBicmVhazsKLSAg
ICBjYXNlIENoYXJhY3RlckVxdWFsOgorICAgIGNhc2UgQ2hhcmFjdGVyRXF1YWw6IHsKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB1aW50MzJfdCBzYXZlZGxp
bmVOdW1iZXIgPSB0b2tlbkRhdGEtPmxpbmU7CisgICAgICAgIHVpbnQzMl90IHNhdmVkT2Zmc2V0
ID0gY3VycmVudE9mZnNldCgpOworICAgICAgICB1aW50MzJfdCBzYXZlZExpbmVTdGFydE9mZnNl
dCA9IGN1cnJlbnRMaW5lU3RhcnRPZmZzZXQoKTsKKyNlbmRpZgogICAgICAgICBzaGlmdCgpOwog
ICAgICAgICBpZiAobV9jdXJyZW50ID09ICc9JykgewogICAgICAgICAgICAgc2hpZnQoKTsKQEAg
LTE1MDUsOCArMTUyMiwyMiBAQCBzdGFydDoKICAgICAgICAgICAgIHRva2VuID0gRVFFUTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnPicpIHsKKyAgICAgICAgICAgIHNo
aWZ0KCk7CisgICAgICAgICAgICB0b2tlbiA9IEFSUk9XRlVOQ1RJT047CisKKyAgICAgICAgICAg
IHRva2VuRGF0YS0+bGluZSA9IHNhdmVkbGluZU51bWJlcjsKKyAgICAgICAgICAgIHRva2VuRGF0
YS0+b2Zmc2V0ID0gc2F2ZWRPZmZzZXQ7CisgICAgICAgICAgICB0b2tlbkRhdGEtPmxpbmVTdGFy
dE9mZnNldCA9IHNhdmVkTGluZVN0YXJ0T2Zmc2V0OworCisgICAgICAgICAgICBBU1NFUlQodG9r
ZW5EYXRhLT5vZmZzZXQgPj0gdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQpOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICB0b2tlbiA9IEVRVUFMOwogICAg
ICAgICBicmVhazsKKyAgICB9CiAgICAgY2FzZSBDaGFyYWN0ZXJMZXNzOgogICAgICAgICBzaGlm
dCgpOwogICAgICAgICBpZiAobV9jdXJyZW50ID09ICchJyAmJiBwZWVrKDEpID09ICctJyAmJiBw
ZWVrKDIpID09ICctJykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9MZXhlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCmluZGV4IDJk
ZjUyMTM5OTU3ODIwMDc4NWExNjZlMjJhNzMyNzVlMGVhNjMwNGQuLmE3MGY4ZDJkNGI3NGIwMDM1
NWM1MjQ3ZDYyMjQyNDBlZWFiYmE3NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTGV4ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVy
LmgKQEAgLTUxLDE2ICs1MSwxNiBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBtX2tleXdvcmRU
YWJsZS5kZWxldGVUYWJsZSgpOwogICAgIH0KLSAgICAKKwogcHJpdmF0ZToKICAgICBmcmllbmQg
Y2xhc3MgVk07Ci0gICAgCisKICAgICBWTSYgbV92bTsKICAgICBjb25zdCBIYXNoVGFibGUgbV9r
ZXl3b3JkVGFibGU7CiB9OwogCiBlbnVtIExleGVyRmxhZ3MgewotICAgIExleGVyRmxhZ3NJZ25v
cmVSZXNlcnZlZFdvcmRzID0gMSwgCisgICAgTGV4ZXJGbGFnc0lnbm9yZVJlc2VydmVkV29yZHMg
PSAxLAogICAgIExleGVyRmxhZ3NEb250QnVpbGRTdHJpbmdzID0gMiwKICAgICBMZXhleEZsYWdz
RG9udEJ1aWxkS2V5d29yZHMgPSA0CiB9OwpAQCAtODQsNyArODQsOSBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRDb2RlKGNvbnN0IFNvdXJjZUNvZGUmLCBQYXJzZXJBcmVuYSopOwogICAgIHZvaWQg
c2V0SXNSZXBhcnNpbmcoKSB7IG1faXNSZXBhcnNpbmcgPSB0cnVlOyB9CiAgICAgYm9vbCBpc1Jl
cGFyc2luZygpIGNvbnN0IHsgcmV0dXJuIG1faXNSZXBhcnNpbmc7IH0KLQorI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdm9pZCBzZXRUb2tlblBvc2l0aW9uKEpTVG9r
ZW4qIHRva2VuUmVjb3JkKTsKKyNlbmRpZgogICAgIEpTVG9rZW5UeXBlIGxleChKU1Rva2VuKiwg
dW5zaWduZWQsIGJvb2wgc3RyaWN0TW9kZSk7CiAgICAgYm9vbCBuZXh0VG9rZW5Jc0NvbG9uKCk7
CiAgICAgaW50IGxpbmVOdW1iZXIoKSBjb25zdCB7IHJldHVybiBtX2xpbmVOdW1iZXI7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKaW5kZXgg
MDU3YmMzZDkyODA5ZjQ2YjA2MjcxYWMwMTJhYmVjZDZjODhhNjg0YS4uOWVlMWY5ZGI4YjEzYjJi
YjBkNDRhMjI5Y2U4MjdjZTEzZjQ0ZjczNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKQEAgLTc4MCw2ICs3ODAsMTMgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgIG1fYm9keS0+ZmluaXNoUGFyc2luZyhzb3VyY2UsIHBhcmFtZXRlciwg
aWRlbnQsIEZ1bmN0aW9uRXhwcmVzc2lvbik7CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpbmxpbmUgQXJyb3dGdW5jRXhwck5vZGU6OkFycm93RnVu
Y0V4cHJOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IElkZW50aWZp
ZXImIGlkZW50LCBGdW5jdGlvbkJvZHlOb2RlKiBib2R5LCBjb25zdCBTb3VyY2VDb2RlJiBzb3Vy
Y2UsIFBhcmFtZXRlck5vZGUqIHBhcmFtZXRlcikKKyAgICAgICAgOiBGdW5jRXhwck5vZGUobG9j
YXRpb24sIGlkZW50LCBib2R5LCBzb3VyY2UsIHBhcmFtZXRlcikKKyAgICB7CisgICAgfQorI2Vu
ZGlmCisgICAgCiAgICAgaW5saW5lIEZ1bmNEZWNsTm9kZTo6RnVuY0RlY2xOb2RlKGNvbnN0IEpT
VG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBGdW5jdGlv
bkJvZHlOb2RlKiBib2R5LCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIFBhcmFtZXRlck5vZGUq
IHBhcmFtZXRlcikKICAgICAgICAgOiBTdGF0ZW1lbnROb2RlKGxvY2F0aW9uKQogICAgICAgICAs
IG1fYm9keShib2R5KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9O
b2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCmluZGV4IDM2OTQx
MjBiMDY4ZjdjOTJmNjk4ZWE3ZDVlYTIzYzAyOTc2NzliZWUuLjE2OGMzNGQ3MTMyNDRhYmUyNmM5
MzYyMTliYmQzZmU4MDYzMjNmOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvTm9kZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgK
QEAgLTE1OCw2ICsxNTgsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdmlydHVhbCBib29s
IGlzRG90QWNjZXNzb3JOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmly
dHVhbCBib29sIGlzRGVjb25zdHJ1Y3Rpb25Ob2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
ICAgICAgICAgdmlydHVhbCBib29sIGlzRnVuY0V4cHJOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB2aXJ0
dWFsIGJvb2wgaXNBcnJvd0Z1bmNFeHByTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Cisj
ZW5kaWYKICAgICAgICAgdmlydHVhbCBib29sIGlzQ29tbWFOb2RlKCkgY29uc3QgeyByZXR1cm4g
ZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzU2ltcGxlQXJyYXkoKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNBZGQoKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQpAQCAtMTY1MSw2ICsxNjU0LDE5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICBGdW5jdGlvbkJvZHlOb2RlKiBtX2JvZHk7CiAgICAgfTsKIAorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2xhc3MgQXJyb3dGdW5jRXhwck5vZGUgOiBwdWJsaWMg
RnVuY0V4cHJOb2RlIHsKKyAgICBwdWJsaWM6CisgICAgICAgIEFycm93RnVuY0V4cHJOb2RlKGNv
bnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IElkZW50aWZpZXImLCBGdW5jdGlvbkJvZHlOb2Rl
KiwgY29uc3QgU291cmNlQ29kZSYsIFBhcmFtZXRlck5vZGUqID0gMCk7CisgICAgcHJpdmF0ZToK
KyAgICAgICAgdmlydHVhbCBSZWdpc3RlcklEKiBlbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0
b3ImLCBSZWdpc3RlcklEKiA9IDApIG92ZXJyaWRlOworICAgICAgICAKKyAgICAgICAgdmlydHVh
bCBib29sIGlzRnVuY0V4cHJOb2RlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0K
KyAgICAgICAgCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Fycm93RnVuY0V4cHJOb2RlKCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQorICAgIH07CisjZW5kaWYKKwogI2lmIEVOQUJM
RShFUzZfQ0xBU1NfU1lOVEFYKQogICAgIGNsYXNzIENsYXNzRXhwck5vZGUgZmluYWwgOiBwdWJs
aWMgRXhwcmVzc2lvbk5vZGUgewogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvUGFyc2VyLmNwcAppbmRleCA1ZjUxZGEyNGI0Mzg1MzliN2Q1YjBmNDk1NDE0OTA5NTQ2Mjcy
NzI2Li42YjQyNjk0Y2EzMTUzNjllNThmNjM3MjJkNDczNjE1NDk0NDllNzNlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCkBAIC0zMTAsNyArMzEwLDcgQEAgU3RyaW5n
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlubmVyKCkKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1l
IExleGVyVHlwZT4KLXZvaWQgUGFyc2VyPExleGVyVHlwZT46OmRpZEZpbmlzaFBhcnNpbmcoU291
cmNlRWxlbWVudHMqIHNvdXJjZUVsZW1lbnRzLCBEZWNsYXJhdGlvblN0YWNrczo6VmFyU3RhY2sm
IHZhclN0YWNrLCAKK3ZvaWQgUGFyc2VyPExleGVyVHlwZT46OmRpZEZpbmlzaFBhcnNpbmcoU291
cmNlRWxlbWVudHMqIHNvdXJjZUVsZW1lbnRzLCBEZWNsYXJhdGlvblN0YWNrczo6VmFyU3RhY2sm
IHZhclN0YWNrLAogICAgIERlY2xhcmF0aW9uU3RhY2tzOjpGdW5jdGlvblN0YWNrJiBmdW5jU3Rh
Y2ssIENvZGVGZWF0dXJlcyBmZWF0dXJlcywgaW50IG51bUNvbnN0YW50cywgSWRlbnRpZmllclNl
dCYgY2FwdHVyZWRWYXJzLCBjb25zdCBWZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiYmIGNsb3Nl
ZFZhcmlhYmxlcykKIHsKICAgICBtX3NvdXJjZUVsZW1lbnRzID0gc291cmNlRWxlbWVudHM7CkBA
IC0zMjgsOCArMzI4LDEzIEBAIGJvb2wgUGFyc2VyPExleGVyVHlwZT46OmFsbG93QXV0b21hdGlj
U2VtaWNvbG9uKCkKICAgICByZXR1cm4gbWF0Y2goQ0xPU0VCUkFDRSkgfHwgbWF0Y2goRU9GVE9L
KSB8fCBtX2xleGVyLT5wcmV2VGVybWluYXRvcigpOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYgY29udGV4dCwgU291cmNlRWxlbWVu
dHNNb2RlIG1vZGUsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBlKQorI2Vsc2UK
IHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3VyY2VFbGVt
ZW50cyhUcmVlQnVpbGRlciYgY29udGV4dCwgU291cmNlRWxlbWVudHNNb2RlIG1vZGUpCisjZW5k
aWYKIHsKICAgICBjb25zdCB1bnNpZ25lZCBsZW5ndGhPZlVzZVN0cmljdExpdGVyYWwgPSAxMjsg
Ly8gInVzZSBzdHJpY3QiLmxlbmd0aAogICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzb3VyY2VFbGVt
ZW50cyA9IGNvbnRleHQuY3JlYXRlU291cmNlRWxlbWVudHMoKTsKQEAgLTMzOCw3ICszNDMsMTEg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlU291cmNlRWwKICAgICB1bnNpZ25lZCBkaXJlY3RpdmVMaXRlcmFs
TGVuZ3RoID0gMDsKICAgICBhdXRvIHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwogICAg
IGJvb2wgaGFzU2V0U3RyaWN0ID0gZmFsc2U7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICB3aGlsZSAoVHJlZVN0YXRlbWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRl
bWVudChjb250ZXh0LCBkaXJlY3RpdmUsICZkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoLCBmdW5jdGlv
blBhcnNlVHlwZSkpIHsKKyNlbHNlCiAgICAgd2hpbGUgKFRyZWVTdGF0ZW1lbnQgc3RhdGVtZW50
ID0gcGFyc2VTdGF0ZW1lbnQoY29udGV4dCwgZGlyZWN0aXZlLCAmZGlyZWN0aXZlTGl0ZXJhbExl
bmd0aCkpIHsKKyNlbmRpZgogICAgICAgICBpZiAobW9kZSA9PSBDaGVja0ZvclN0cmljdE1vZGUg
JiYgIXNlZW5Ob25EaXJlY3RpdmUpIHsKICAgICAgICAgICAgIGlmIChkaXJlY3RpdmUpIHsKICAg
ICAgICAgICAgICAgICAvLyAidXNlIHN0cmljdCIgbXVzdCBiZSB0aGUgZXhhY3QgbGl0ZXJhbCB3
aXRob3V0IGVzY2FwZSBzZXF1ZW5jZXMgb3IgbGluZSBjb250aW51YXRpb24uCkBAIC00NTcsNyAr
NDY2LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VWYXJEZWNsYXJhdGkKICAgICBUcmVlRXhwcmVzc2lvbiBoZWFk
ID0gMDsKICAgICBUcmVlRXhwcmVzc2lvbiB0YWlsID0gMDsKICAgICBjb25zdCBJZGVudGlmaWVy
KiBsYXN0SWRlbnQ7Ci0gICAgSlNUb2tlbiBsYXN0SWRlbnRUb2tlbjsgCisgICAgSlNUb2tlbiBs
YXN0SWRlbnRUb2tlbjsKICAgICBkbyB7CiAgICAgICAgIGxhc3RJZGVudCA9IDA7CiAgICAgICAg
IGxhc3RQYXR0ZXJuID0gMDsKQEAgLTU3MCw2ICs1NzksMzIgQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIFBhcnNlcjxMZXhlclR5cGU+Ojpj
cmVhdGUKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVCaW5kaW5nTG9jYXRpb24odG9rZW4ubV9s
b2NhdGlvbiwgbmFtZSwgdG9rZW4ubV9zdGFydFBvc2l0aW9uLCB0b2tlbi5tX2VuZFBvc2l0aW9u
KTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8
dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3Rh
dGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoVHJl
ZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAgQVNTRVJUKG1hdGNoKEFSUk9XRlVOQ1RJT04pKTsK
KworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgIHNl
bWFudGljRmFpbElmRmFsc2UoY3VycmVudFNjb3BlKCktPmlzRnVuY3Rpb24oKSwgIlJldHVybiBz
dGF0ZW1lbnRzIGFyZSBvbmx5IHZhbGlkIGluc2lkZSBhcnJvdyBmdW5jdGlvbnMiKTsKKyAgICBK
U1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgIEpTVGV4dFBv
c2l0aW9uIGVuZCA9IHRva2VuRW5kUG9zaXRpb24oKTsKKworICAgIG5leHQoKTsKKyAgICBUcmVl
RXhwcmVzc2lvbiBleHByID0gcGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihjb250ZXh0KTsK
KyAgICBmYWlsSWZGYWxzZShleHByLCAiQ2Fubm90IHBhcnNlIHRoZSBhcnJvdyBmdW5jdGlvbiBl
eHByZXNzaW9uIik7CisgICAgZW5kID0gbGFzdFRva2VuRW5kUG9zaXRpb24oKTsKKworICAgIGJv
b2wgY29ycmVjQXJyb3dGaW5pc2ggPSBtYXRjaChTRU1JQ09MT04pIHx8IG1hdGNoKENPTU1BKSB8
fCBtYXRjaChDTE9TRVBBUkVOKSB8fCBtYXRjaChDTE9TRUJSQUNFKSB8fCBtYXRjaChDTE9TRUJS
QUNLRVQpIHx8IG1hdGNoKEVPRlRPSyk7CisgICAgZmFpbElmRmFsc2UoY29ycmVjQXJyb3dGaW5p
c2gsICJFeHBlY3RlZCBhICc7JywgJ10nLCAnfScsICcpJywgb3IgJywnIGZvbGxvd2luZyBhIGFy
cm93IGZ1bmN0aW9uIHN0YXRlbWVudCIpOworCisgICAgZW5kID0gdG9rZW5FbmRQb3NpdGlvbigp
OworICAgIHNldEVuZE9mU3RhdGVtZW50KCk7CisKKyAgICByZXR1cm4gY29udGV4dC5jcmVhdGVS
ZXR1cm5TdGF0ZW1lbnQobG9jYXRpb24sIGV4cHIsIHN0YXJ0LCBlbmQpOworfQorI2VuZGlmCisK
IHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gUGFyc2VyPExleGVyVHlwZT46OnRyeVBhcnNl
RGVjb25zdHJ1Y3Rpb25QYXR0ZXJuRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKIHsK
QEAgLTExNDMsOCArMTE3OCwxMyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
dGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQmxvY2tTdGF0ZW1lbgogICAgIHJldHVy
biByZXN1bHQ7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVt
cGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxk
ZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJl
Y3RpdmVMaXRlcmFsTGVuZ3RoLCBGdW5jdGlvblBhcnNlVHlwZSB0eXBlKQorI2Vsc2UKIHRlbXBs
YXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVy
JiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0
aXZlTGl0ZXJhbExlbmd0aCkKKyNlbmRpZgogewogICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnRE
ZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7CiAgICAgbV9zdGF0ZW1lbnREZXB0aCsrOwpAQCAtMTE1
Myw2ICsxMTkzLDI3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVu
dCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgZmFpbElmU3RhY2tP
dmVyZmxvdygpOwogICAgIFRyZWVTdGF0ZW1lbnQgcmVzdWx0ID0gMDsKICAgICBib29sIHNob3Vs
ZFNldEVuZE9mZnNldCA9IHRydWU7CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgIGJvb2wgaGFuZGxlZCA9IGZhbHNlOworICAgIGlmICh0eXBlID09IEFycm93RnVu
Y3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgc3dpdGNoIChtX3Rva2VuLm1fdHlwZSkgeworICAg
ICAgICBjYXNlIENMT1NFUEFSRU46CisgICAgICAgIGNhc2UgQ0xPU0VCUkFDS0VUOgorICAgICAg
ICBjYXNlIENPTU1BOgorICAgICAgICBjYXNlIFNFTUlDT0xPTjogeworICAgICAgICAgICAgcmVz
dWx0ID0gMDsKKyAgICAgICAgICAgIGhhbmRsZWQgPSB0cnVlOworICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIH0KKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICB9CisKKyAgICAgICAgaWYgKGhhbmRsZWQpCisgICAgICAgICAgICBnb3RvIGVuZFN0YXRlbWVu
ZXQ7CisgICAgfQorI2VuZGlmCiAgICAgc3dpdGNoIChtX3Rva2VuLm1fdHlwZSkgewogICAgIGNh
c2UgT1BFTkJSQUNFOgogICAgICAgICByZXN1bHQgPSBwYXJzZUJsb2NrU3RhdGVtZW50KGNvbnRl
eHQpOwpAQCAtMTE5OCw2ICsxMjU5LDExIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAg
Y2FzZSBCUkVBSzoKICAgICAgICAgcmVzdWx0ID0gcGFyc2VCcmVha1N0YXRlbWVudChjb250ZXh0
KTsKICAgICAgICAgYnJlYWs7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICBjYXNlIEFSUk9XRlVOQ1RJT046CisgICAgICAgIHJlc3VsdCA9IHBhcnNlQXJyb3dGdW5j
dGlvblN0YXRlbWVudChjb250ZXh0KTsKKyAgICAgICAgYnJlYWs7CisjZW5kaWYKICAgICBjYXNl
IFJFVFVSTjoKICAgICAgICAgcmVzdWx0ID0gcGFyc2VSZXR1cm5TdGF0ZW1lbnQoY29udGV4dCk7
CiAgICAgICAgIGJyZWFrOwpAQCAtMTIzOSw2ICsxMzA1LDggQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVu
dChUcmUKICAgICAgICAgYnJlYWs7CiAgICAgfQogCitlbmRTdGF0ZW1lbmV0OgorCiAgICAgaWYg
KHJlc3VsdCAmJiBzaG91bGRTZXRFbmRPZmZzZXQpCiAgICAgICAgIGNvbnRleHQuc2V0RW5kT2Zm
c2V0KHJlc3VsdCwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5vZmZzZXQpOwogICAgIHJldHVybiBy
ZXN1bHQ7CkBAIC0xMjU5LDYgKzEzMjcsMjQgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlRm9ybWFsUGFyYW1ldGVyTGlzdCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGb3IKICAg
ICByZXR1cm4gbGlzdDsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZUZ1bmN0aW9uQm9keSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1
bmN0aW9uQm9keShUcmVlQnVpbGRlciYgY29udGV4dCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0
LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIGludCBwYXJhbWV0ZXJzU3RhcnQsIENvbnN0cnVjdG9y
S2luZCBjb25zdHJ1Y3RvcktpbmQpCit7CisgICAgSlNUb2tlbkxvY2F0aW9uIHN0YXJ0TG9jYXRp
b24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICB1bnNpZ25lZCBzdGFydENvbHVtbiA9IHRva2VuQ29s
dW1uKCk7CisKKyAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50RGVw
dGgpOworICAgIG1fc3RhdGVtZW50RGVwdGggPSAwOworICAgIHR5cGVuYW1lIFRyZWVCdWlsZGVy
OjpGdW5jdGlvbkJvZHlCdWlsZGVyIGJvZHlCdWlsZGVyKGNvbnN0X2Nhc3Q8Vk0qPihtX3ZtKSwg
bV9sZXhlci5nZXQoKSk7CisKKyAgICBmYWlsSWZGYWxzZShwYXJzZVNvdXJjZUVsZW1lbnRzKGJv
ZHlCdWlsZGVyLCBDaGVja0ZvclN0cmljdE1vZGUsIEFycm93RnVuY3Rpb25QYXJzZVR5cGUpLCAi
Q2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBhcnJvdyBmdW5jdGlvbiIpOworICAgIHVuc2lnbmVk
IGVuZENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CisgICAgCisgICAgcmV0dXJuIGNvbnRleHQuY3Jl
YXRlRnVuY3Rpb25Cb2R5KHN0YXJ0TG9jYXRpb24sIHRva2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1
bW4sIGVuZENvbHVtbiwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBw
YXJhbWV0ZXJzU3RhcnQsIHN0cmljdE1vZGUoKSwgY29uc3RydWN0b3JLaW5kKTsKK30KKyNlbmRp
ZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlRnVuY3Rpb25Cb2R5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9u
Qm9keSgKICAgICBUcmVlQnVpbGRlciYgY29udGV4dCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0
LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIApAQCAtMTQ0Niw2ICsxNTMyLDE1NiBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rp
b25JbmZvKFRyZWVCdWlsZAogICAgIHJldHVybiB0cnVlOwogfQogCisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJy
b3dGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImIGNvbnRleHQsIEZ1bmN0aW9uUGFyc2VNb2RlIG1v
ZGUsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQsIGludCBmdW5jdGlvbktleXdvcmRT
dGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYgaW5mbykKK3sKKyAgICBBdXRv
UG9wU2NvcGVSZWYgZnVuY3Rpb25TY29wZSh0aGlzLCBwdXNoU2NvcGUoKSk7CisgICAgZnVuY3Rp
b25TY29wZS0+c2V0SXNGdW5jdGlvbigpOworICAgIGludCBmdW5jdGlvbk5hbWVTdGFydCA9IG1f
dG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKKyAgICBjb25zdCBJZGVudGlmaWVyKiBsYXN0
RnVuY3Rpb25OYW1lID0gbV9sYXN0RnVuY3Rpb25OYW1lOworICAgIG1fbGFzdEZ1bmN0aW9uTmFt
ZSA9IG51bGxwdHI7CisgICAgaW50IHBhcmFtZXRlcnNTdGFydCA9IG1fdG9rZW4ubV9sb2NhdGlv
bi5zdGFydE9mZnNldDsKKyAgICBpZiAoIW1hdGNoKElERU5UKSAmJiAhbWF0Y2goT1BFTlBBUkVO
KSkgeworICAgICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVUb0tleXdvcmQoc3RyaW5nRm9yRnVuY3Rp
b25Nb2RlKG1vZGUpLCAiIG5hbWUiKTsKKyAgICAgICAgZmFpbFdpdGhNZXNzYWdlKCJFeHBlY3Rl
ZCBhbiBhcnJvdyBmdW5jdGlvbiBpbnB1dCBwYXJhbWV0ZXIiKTsKKyAgICB9IGVsc2UgeworICAg
ICAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICAgICAgY29uc3VtZShPUEVOUEFS
RU4pOworCisgICAgICAgICAgICBpZiAoIW1hdGNoKENMT1NFUEFSRU4pKSB7CisgICAgICAgICAg
ICAgICAgaW5mby5wYXJhbWV0ZXJzID0gcGFyc2VGb3JtYWxQYXJhbWV0ZXJzKGNvbnRleHQpOwor
ICAgICAgICAgICAgICAgIGZhaWxJZkZhbHNlKGluZm8ucGFyYW1ldGVycywgIkNhbm5vdCBwYXJz
ZSBwYXJhbWV0ZXJzIGZvciB0aGlzICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJFTiwgIkV4
cGVjdGVkIGEgJyknIG9yIGEgJywnIGFmdGVyIGEgcGFyYW1ldGVyIGRlY2xhcmF0aW9uIik7Cisg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBwYXJzZUZvcm1h
bFBhcmFtZXRlcnMoY29udGV4dCk7CisgICAgICAgICAgICBmYWlsSWZGYWxzZShpbmZvLnBhcmFt
ZXRlcnMsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAiLCBzdHJpbmdGb3JGdW5j
dGlvbk1vZGUobW9kZSkpOworICAgICAgICB9CisgICAgfQorCisgICAgbWF0Y2hPckZhaWwoQVJS
T1dGVU5DVElPTiwgIkV4cGVjdGVkIGEgJz0+JyBhZnRlciBhcnJvdyBmdW5jdGlvbiBwYXJhbWV0
ZXIgZGVjbGFyYXRpb24iKTsKKyAgICAKKyAgICBpbmZvLmFycm93RnVuY3Rpb25PZmZzZXQgPSBt
X3Rva2VuLm1fZGF0YS5vZmZzZXQ7CisgICAgaW5mby5vcGVuQnJhY2VPZmZzZXQgPSBtX3Rva2Vu
Lm1fZGF0YS5vZmZzZXQ7CisgICAgaW5mby5ib2R5U3RhcnRMaW5lID0gdG9rZW5MaW5lKCk7Cisg
ICAgaW5mby5ib2R5U3RhcnRDb2x1bW4gPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQgLSBtX3Rva2Vu
Lm1fZGF0YS5saW5lU3RhcnRPZmZzZXQ7CisKKyAgICBKU1Rva2VuTG9jYXRpb24gc3RhcnRMb2Nh
dGlvbih0b2tlbkxvY2F0aW9uKCkpOworCisgICAgLy8gSWYgd2Uga25vdyBhYm91dCB0aGlzIGZ1
bmN0aW9uIGFscmVhZHksIHdlIGNhbiB1c2UgdGhlIGNhY2hlZCBpbmZvIGFuZCBza2lwIHRoZSBw
YXJzZXIgdG8gdGhlIGVuZCBvZiB0aGUgZnVuY3Rpb24uCisgICAgaWYgKGNvbnN0IFNvdXJjZVBy
b3ZpZGVyQ2FjaGVJdGVtKiBjYWNoZWRJbmZvID0gVHJlZUJ1aWxkZXI6OkNhblVzZUZ1bmN0aW9u
Q2FjaGUgPyBmaW5kQ2FjaGVkRnVuY3Rpb25JbmZvKGluZm8ub3BlbkJyYWNlT2Zmc2V0KSA6IDAp
IHsKKyAgICAgICAgLy8gSWYgd2UncmUgaW4gYSBzdHJpY3QgY29udGV4dCwgdGhlIGNhY2hlZCBm
dW5jdGlvbiBpbmZvIG11c3Qgc2F5IGl0IHdhcyBzdHJpY3QgdG9vLgorICAgICAgICBBU1NFUlQo
IXN0cmljdE1vZGUoKSB8fCBjYWNoZWRJbmZvLT5zdHJpY3RNb2RlKTsKKyAgICAgICAgSlNUb2tl
bkxvY2F0aW9uIGVuZExvY2F0aW9uOworCisgICAgICAgIGVuZExvY2F0aW9uLmxpbmUgPSBjYWNo
ZWRJbmZvLT5jbG9zZUJyYWNlTGluZTsKKyAgICAgICAgZW5kTG9jYXRpb24uc3RhcnRPZmZzZXQg
PSBjYWNoZWRJbmZvLT5jbG9zZUJyYWNlT2Zmc2V0OworICAgICAgICBlbmRMb2NhdGlvbi5saW5l
U3RhcnRPZmZzZXQgPSBjYWNoZWRJbmZvLT5jbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0OworCisg
ICAgICAgIGJvb2wgZW5kQ29sdW1uSXNPblN0YXJ0TGluZSA9IChlbmRMb2NhdGlvbi5saW5lID09
IGluZm8uYm9keVN0YXJ0TGluZSk7CisgICAgICAgIEFTU0VSVChlbmRMb2NhdGlvbi5zdGFydE9m
ZnNldCA+PSBlbmRMb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQpOworICAgICAgICB1bnNpZ25lZCBi
b2R5RW5kQ29sdW1uID0gZW5kQ29sdW1uSXNPblN0YXJ0TGluZSA/CisgICAgICAgIGVuZExvY2F0
aW9uLnN0YXJ0T2Zmc2V0IC0gbV90b2tlbi5tX2RhdGEubGluZVN0YXJ0T2Zmc2V0IDoKKyAgICAg
ICAgZW5kTG9jYXRpb24uc3RhcnRPZmZzZXQgLSBlbmRMb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQ7
CisgICAgICAgIHVuc2lnbmVkIGN1cnJlbnRMaW5lU3RhcnRPZmZzZXQgPSBtX3Rva2VuLm1fbG9j
YXRpb24ubGluZVN0YXJ0T2Zmc2V0OworCisgICAgICAgIGluZm8uYm9keSA9IGNvbnRleHQuY3Jl
YXRlRnVuY3Rpb25Cb2R5KHN0YXJ0TG9jYXRpb24sIGVuZExvY2F0aW9uLCBpbmZvLmJvZHlTdGFy
dENvbHVtbiwgYm9keUVuZENvbHVtbiwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFt
ZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNhY2hlZEluZm8tPnN0cmljdE1vZGUsIGNvbnN0cnVj
dG9yS2luZCk7CisgICAgICAgIGZ1bmN0aW9uU2NvcGUtPnJlc3RvcmVGcm9tU291cmNlUHJvdmlk
ZXJDYWNoZShjYWNoZWRJbmZvKTsKKyAgICAgICAgZmFpbElmRmFsc2UocG9wU2NvcGUoZnVuY3Rp
b25TY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQYXJzZXIgZXJy
b3IiKTsKKworICAgICAgICBpbmZvLmNsb3NlQnJhY2VPZmZzZXQgPSBjYWNoZWRJbmZvLT5jbG9z
ZUJyYWNlT2Zmc2V0OworICAgICAgICBpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlwZSA9IGNhY2hl
ZEluZm8tPmlzQm9keUFycm93RnVuY3Rpb25CbG9jayA/IEFycm93RnVuY3Rpb25Cb2R5QmxvY2sg
OiBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb247CisKKyAgICAgICAgbV90b2tlbiA9IGluZm8u
YXJyb3dGdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2sgPyBjYWNoZWRJ
bmZvLT5jbG9zZUJyYWNlVG9rZW4oKSA6IGNhY2hlZEluZm8tPmVuZEFycm93RnVuY3Rpb25Ub2tl
bigpOworCisgICAgICAgIGlmIChlbmRDb2x1bW5Jc09uU3RhcnRMaW5lKQorICAgICAgICAgICAg
bV90b2tlbi5tX2xvY2F0aW9uLmxpbmVTdGFydE9mZnNldCA9IGN1cnJlbnRMaW5lU3RhcnRPZmZz
ZXQ7CisKKyAgICAgICAgbV9sZXhlci0+c2V0T2Zmc2V0KG1fdG9rZW4ubV9sb2NhdGlvbi5lbmRP
ZmZzZXQsIG1fdG9rZW4ubV9sb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQpOworICAgICAgICBtX2xl
eGVyLT5zZXRMaW5lTnVtYmVyKG1fdG9rZW4ubV9sb2NhdGlvbi5saW5lKTsKKworICAgICAgICBj
b250ZXh0LnNldEVuZE9mZnNldChpbmZvLmJvZHksIG1fbGV4ZXItPmN1cnJlbnRPZmZzZXQoKSk7
CisKKyAgICAgICAgaWYgKGluZm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rp
b25Cb2R5QmxvY2spCisgICAgICAgICAgICBuZXh0KCk7CisKKyAgICAgICAgaW5mby5ib2R5RW5k
TGluZSA9IG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZTsKKyAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgfQorICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IGxhc3RGdW5jdGlvbk5hbWU7CisgICAg
UGFyc2VyU3RhdGUgb2xkU3RhdGUgPSBzYXZlU3RhdGUoKTsKKworICAgIFNhdmVQb2ludCBzYXZl
UG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICBuZXh0KCk7CisgICAgLy8gQ2hlY2sgaWYg
YXJyb3cgYm9keSBzdGFydCB3aXRoIHsuIElmIGl0IHRydWUgaXQgbWVhbiB0aGF0IGFycm93IGZ1
bmN0aW9uIGlzIEZhdCBhcnJvdyBmdW5jdGlvbgorICAgIC8vIGFuZCB3ZSBuZWVkIHVzZSBjb21t
b24gYXBwcm9hY2ggdG8gcGFyc2UgZnVuY3Rpb24gYm9keQorCisgICAgaW5mby5hcnJvd0Z1bmN0
aW9uQm9keVR5cGUgPSBtYXRjaChPUEVOQlJBQ0UpID8gQXJyb3dGdW5jdGlvbkJvZHlCbG9jayA6
IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbjsKKworICAgIGlmIChpbmZvLmFycm93RnVuY3Rp
b25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrKSB7CisgICAgICAgIGluZm8ub3Bl
bkJyYWNlT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgICAgICBpbmZvLmJvZHlT
dGFydExpbmUgPSB0b2tlbkxpbmUoKTsKKyAgICAgICAgaW5mby5ib2R5U3RhcnRDb2x1bW4gPSBt
X3Rva2VuLm1fZGF0YS5vZmZzZXQgLSBtX3Rva2VuLm1fZGF0YS5saW5lU3RhcnRPZmZzZXQ7CisK
KyAgICAgICAgaW5mby5ib2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25L
ZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVj
dG9yS2luZCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlUG9p
bnQpOworICAgICAgICBpbmZvLmJvZHkgPSBwYXJzZUFycm93RnVuY3Rpb25Cb2R5KGNvbnRleHQs
IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0
LCBjb25zdHJ1Y3RvcktpbmQpOworICAgIH0KKworICAgIHJlc3RvcmVTdGF0ZShvbGRTdGF0ZSk7
CisgICAgZmFpbElmRmFsc2UoaW5mby5ib2R5LCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIHRo
aXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICBjb250ZXh0LnNldEVuZE9m
ZnNldChpbmZvLmJvZHksIG1fbGV4ZXItPmN1cnJlbnRPZmZzZXQoKSk7CisgICAgaWYgKGZ1bmN0
aW9uU2NvcGUtPnN0cmljdE1vZGUoKSAmJiBpbmZvLm5hbWUpIHsKKyAgICAgICAgUkVMRUFTRV9B
U1NFUlQobW9kZSA9PSBGdW5jdGlvbk1vZGUpOworICAgICAgICBzZW1hbnRpY0ZhaWxJZlRydWUo
bV92bS0+cHJvcGVydHlOYW1lcy0+YXJndW1lbnRzID09ICppbmZvLm5hbWUsICInIiwgaW5mby5u
YW1lLT5pbXBsKCksICInIGlzIG5vdCBhIHZhbGlkIGZ1bmN0aW9uIG5hbWUgaW4gc3RyaWN0IG1v
ZGUiKTsKKyAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2
YWwgPT0gKmluZm8ubmFtZSwgIiciLCBpbmZvLm5hbWUtPmltcGwoKSwgIicgaXMgbm90IGEgdmFs
aWQgZnVuY3Rpb24gbmFtZSBpbiBzdHJpY3QgbW9kZSIpOworICAgIH0KKworICAgIGluZm8uY2xv
c2VCcmFjZU9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKKworICAgIHVuc2lnbmVkIGNs
b3NlQnJhY2VMaW5lID0gbV90b2tlbi5tX2RhdGEubGluZTsKKyAgICB1bnNpZ25lZCBjbG9zZUJy
YWNlTGluZVN0YXJ0T2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEubGluZVN0YXJ0T2Zmc2V0OworICAg
IGJvb2wgaXNCb2R5QXJyb3dGdW5jdGlvbkJsb2NrID0gaW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5
cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jazsKKworICAgIC8vIENhY2hlIHRoZSB0b2tlbml6
ZXIgc3RhdGUgYW5kIHRoZSBmdW5jdGlvbiBzY29wZSB0aGUgZmlyc3QgdGltZSB0aGUgZnVuY3Rp
b24gaXMgcGFyc2VkLgorICAgIC8vIEFueSBmdXR1cmUgcmVwYXJzaW5nIGNhbiB0aGVuIHNraXAg
dGhlIGZ1bmN0aW9uLgorICAgIHN0YXRpYyBjb25zdCBpbnQgbWluaW11bUZ1bmN0aW9uTGVuZ3Ro
VG9DYWNoZSA9IDE2OworICAgIHN0ZDo6dW5pcXVlX3B0cjxTb3VyY2VQcm92aWRlckNhY2hlSXRl
bT4gbmV3SW5mbzsKKyAgICBpbnQgZnVuY3Rpb25MZW5ndGggPSBpbmZvLmNsb3NlQnJhY2VPZmZz
ZXQgLSBpbmZvLm9wZW5CcmFjZU9mZnNldDsKKyAgICBpZiAoVHJlZUJ1aWxkZXI6OkNhblVzZUZ1
bmN0aW9uQ2FjaGUgJiYgbV9mdW5jdGlvbkNhY2hlICYmIGZ1bmN0aW9uTGVuZ3RoID4gbWluaW11
bUZ1bmN0aW9uTGVuZ3RoVG9DYWNoZSkgeworICAgICAgICBTb3VyY2VQcm92aWRlckNhY2hlSXRl
bUNyZWF0aW9uUGFyYW1ldGVycyBwYXJhbWV0ZXJzOworICAgICAgICBwYXJhbWV0ZXJzLmZ1bmN0
aW9uTmFtZVN0YXJ0ID0gZnVuY3Rpb25OYW1lU3RhcnQ7CisgICAgICAgIHBhcmFtZXRlcnMuY2xv
c2VCcmFjZUxpbmUgPSBjbG9zZUJyYWNlTGluZTsKKyAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJy
YWNlT2Zmc2V0ID0gaW5mby5jbG9zZUJyYWNlT2Zmc2V0OworICAgICAgICBwYXJhbWV0ZXJzLmNs
b3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0OworICAg
ICAgICBwYXJhbWV0ZXJzLmlzQm9keUFycm93RnVuY3Rpb25CbG9jayA9IGlzQm9keUFycm93RnVu
Y3Rpb25CbG9jazsKKyAgICAgICAgcGFyYW1ldGVycy50b2tlblR5cGUgPSBtX3Rva2VuLm1fdHlw
ZTsKKworICAgICAgICBmdW5jdGlvblNjb3BlLT5maWxsUGFyYW1ldGVyc0ZvclNvdXJjZVByb3Zp
ZGVyQ2FjaGUocGFyYW1ldGVycyk7CisgICAgICAgIG5ld0luZm8gPSBTb3VyY2VQcm92aWRlckNh
Y2hlSXRlbTo6Y3JlYXRlKHBhcmFtZXRlcnMpOworICAgIH0KKworICAgIGZhaWxJZkZhbHNlKHBv
cFNjb3BlKGZ1bmN0aW9uU2NvcGUsIFRyZWVCdWlsZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUluZm8p
LCAiUGFyc2VyIGVycm9yIik7CisKKyAgICBpZiAoaW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUg
PT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jaykgeworICAgICAgICBtYXRjaE9yRmFpbChDTE9TRUJS
QUNFLCAiRXhwZWN0ZWQgYSBjbG9zaW5nICd9JyBhZnRlciBhICIsIHN0cmluZ0ZvckZ1bmN0aW9u
TW9kZShtb2RlKSwgIiBib2R5Iik7CisgICAgICAgIG5leHQoKTsKKyAgICB9IGVsc2UgeworICAg
ICAgICBib29sIGlzRW5kT2ZBcnJvd0Z1bmN0aW9uID0gbWF0Y2goU0VNSUNPTE9OKSB8fCBtYXRj
aChDT01NQSkgfHwgbWF0Y2goQ0xPU0VQQVJFTikgfHwgbWF0Y2goQ0xPU0VCUkFDRSkgfHwgbWF0
Y2goQ0xPU0VCUkFDS0VUKTsKKyAgICAgICAgZmFpbElmRmFsc2UoaXNFbmRPZkFycm93RnVuY3Rp
b24sICJFeHBlY3RlZCB0aGUgY2xvc2luZyAnOycgJywnICddJyAnKScgJ30nIGFmdGVyIGFycm93
IGZ1bmN0aW9uIik7CisgICAgfQorCisgICAgaWYgKG5ld0luZm8pCisgICAgICAgIG1fZnVuY3Rp
b25DYWNoZS0+YWRkKGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBXVEY6Om1vdmUobmV3SW5mbykpOwor
CisgICAgaW5mby5ib2R5RW5kTGluZSA9IG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZTsKKyAg
ICByZXR1cm4gdHJ1ZTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBl
PgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7
CkBAIC0xNzY2LDYgKzIwMDIsMTggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
U3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlmU3RhdGVtZW50KFQKICAgICByZXR1
cm4gY29udGV4dC5jcmVhdGVJZlN0YXRlbWVudChpZkxvY2F0aW9uLCBjb25kaXRpb24sIHRydWVC
bG9jaywgc3RhdGVtZW50U3RhY2subGFzdCgpLCBzdGFydCwgZW5kKTsKIH0KIAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBl
PgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4
dCkKK3sKKyAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7CisgICAgVHJlZUV4cHJlc3Npb24gbm9k
ZSA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24oY29udGV4dCk7CisgICAgZmFpbElmRmFsc2Uo
bm9kZSwgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9uIik7CisgICAgY29udGV4dC5zZXRFbmRPZmZz
ZXQobm9kZSwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5vZmZzZXQpOworICAgIHJldHVybiBub2Rl
OworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7CkBAIC0xODEzLDYgKzIwNjEsNDMg
QEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KICAgICAgICAgfQogICAgICAgICByZXN0b3JlU2F2
ZVBvaW50KHNhdmVQb2ludCk7CiAgICAgfQorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNh
dmVQb2ludCgpOworICAgIGJvb2wgYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCA9IGZhbHNlOworICAg
IGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgaWYgKG1h
dGNoKENMT1NFUEFSRU4pKSB7CisgICAgICAgICAgICBuZXh0KCk7CisKKyAgICAgICAgICAgIGlm
IChtYXRjaChBUlJPV0ZVTkNUSU9OKSkKKyAgICAgICAgICAgICAgICBhcnJvd0Z1bmN0aW9uRW1w
dHlMaXN0ID0gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICghYXJyb3dGdW5jdGlvbkVt
cHR5TGlzdCkKKyAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Q
b2ludCk7CisgICAgfQorI2VuZGlmCisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgIFRyZWVFeHByZXNzaW9uIGxoczsKKyAgICBpZiAoIWFycm93RnVuY3Rpb25FbXB0
eUxpc3QpIHsKKyAgICAgICAgbGhzID0gcGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24oY29udGV4
dCk7CisgICAgICAgIGZhaWxJZkZhbHNlKGxocywgIkNhbhlub3QgcGFyc2UgZXhwcmVzc2lvbiIp
OworICAgICAgICBpZiAoaW5pdGlhbE5vbkxIU0NvdW50ICE9IG1fbm9uTEhTQ291bnQpIHsKKyAg
ICAgICAgICAgIGlmIChtX3Rva2VuLm1fdHlwZSA+PSBFUVVBTCAmJiBtX3Rva2VuLm1fdHlwZSA8
PSBPUkVRVUFMKQorICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbCgiTGVmdCBoYW5kIHNpZGUg
b2Ygb3BlcmF0b3IgJyIsIGdldFRva2VuKCksICInIG11c3QgYmUgYSByZWZlcmVuY2UiKTsKKwor
ICAgICAgICAgICAgcmV0dXJuIGxoczsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmIChtYXRj
aChBUlJPV0ZVTkNUSU9OKSkgeworICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1
bmN0aW9uUG9pbnQpOworICAgICAgICBsaHMgPSBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKGNv
bnRleHQpOworICAgICAgICByZXR1cm4gbGhzOworICAgIH0KKyNlbHNlCiAgICAgVHJlZUV4cHJl
c3Npb24gbGhzID0gcGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24oY29udGV4dCk7CiAgICAgZmFp
bElmRmFsc2UobGhzLCAiQ2Fubm90IHBhcnNlIGV4cHJlc3Npb24iKTsKICAgICBpZiAoaW5pdGlh
bE5vbkxIU0NvdW50ICE9IG1fbm9uTEhTQ291bnQpIHsKQEAgLTE4MjEsNyArMjEwNiw4IEBAIHRl
bXBsYXRlIDx0eXBlbmFtZSBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlQXNzaWdubWVuCiAKICAgICAgICAgcmV0dXJuIGxoczsKICAgICB9Ci0gICAg
CisjZW5kaWYKKwogICAgIGludCBhc3NpZ25tZW50U3RhY2sgPSAwOwogICAgIE9wZXJhdG9yIG9w
OwogICAgIGJvb2wgaGFkQXNzaWdubWVudCA9IGZhbHNlOwpAQCAtMjI5Niw2ICsyNTgyLDIzIEBA
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAgICAgIHJldHVybiBjb250ZXh0LnRoaXNFeHBy
KGxvY2F0aW9uKTsKICAgICB9CiAgICAgY2FzZSBJREVOVDogeworI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIFNhdmVQb2ludCBzYXZlQXJyb3dGdW5jdGlvblBv
aW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0g
dG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0g
bV90b2tlbi5tX2RhdGEuaWRlbnQ7CisgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0
b2tlbkxvY2F0aW9uKCkpOworICAgICAgICBuZXh0KCk7CisKKyAgICAgICAgaWYgKCFtYXRjaChB
UlJPV0ZVTkNUSU9OKSkgeworICAgICAgICAgICAgY3VycmVudFNjb3BlKCktPnVzZVZhcmlhYmxl
KGlkZW50LCBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09ICppZGVudCk7CisgICAgICAgICAg
ICBtX2xhc3RJZGVudGlmaWVyID0gaWRlbnQ7CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5j
cmVhdGVSZXNvbHZlKGxvY2F0aW9uLCBpZGVudCwgc3RhcnQpOworICAgICAgICB9CisKKyAgICAg
ICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAgVHJl
ZUV4cHJlc3Npb24gbGhzID0gcGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihjb250ZXh0KTsKKyAg
ICAgICAgcmV0dXJuIGxoczsKKyNlbHNlCiAgICAgICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0g
dG9rZW5TdGFydFBvc2l0aW9uKCk7CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0g
bV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0
b2tlbkxvY2F0aW9uKCkpOwpAQCAtMjMwMyw2ICsyNjA2LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5
RXhwcmUKICAgICAgICAgY3VycmVudFNjb3BlKCktPnVzZVZhcmlhYmxlKGlkZW50LCBtX3ZtLT5w
cm9wZXJ0eU5hbWVzLT5ldmFsID09ICppZGVudCk7CiAgICAgICAgIG1fbGFzdElkZW50aWZpZXIg
PSBpZGVudDsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUmVzb2x2ZShsb2NhdGlvbiwg
aWRlbnQsIHN0YXJ0KTsKKyNlbmRpZgogICAgIH0KICAgICBjYXNlIFNUUklORzogewogICAgICAg
ICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwpAQCAtMjQ5
MCw2ICsyNzk0LDMyIEBAIGVuZE1lbWJlckV4cHJlc3Npb246CiAgICAgcmV0dXJuIGJhc2U7CiB9
CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVu
YW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Np
b24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoVHJlZUJ1aWxk
ZXImIGNvbnRleHQpCit7CisgICAgVHJlZUV4cHJlc3Npb24gYmFzZSA9IDA7CisgICAgSlNUZXh0
UG9zaXRpb24gZXhwcmVzc2lvblN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgaW50
IG5ld0NvdW50ID0gMDsKKyAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb247CisKKyAgICBpZiAo
bWF0Y2goSURFTlQpIHx8IG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgdW5zaWduZWQgZnVu
Y3Rpb25LZXl3b3JkU3RhcnQgPSB0b2tlblN0YXJ0KCk7CisgICAgICAgIGxvY2F0aW9uID0gdG9r
ZW5Mb2NhdGlvbigpOworICAgICAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGlu
Zm87CisgICAgICAgIGluZm8ubmFtZSA9ICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRp
ZmllcjsKKyAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlQXJyb3dGdW5jdGlvbkluZm8oY29udGV4
dCwgRnVuY3Rpb25Nb2RlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0
YXJ0LCBpbmZvKSksICJDYW5ub3QgcGFyc2UgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgICAg
ICBiYXNlID0gY29udGV4dC5jcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihsb2NhdGlvbiwgaW5mbyk7
CisgICAgfSBlbHNlCisgICAgICAgIGJhc2UgPSBwYXJzZVByaW1hcnlFeHByZXNzaW9uKGNvbnRl
eHQpOworCisgICAgZmFpbElmRmFsc2UoYmFzZSwgIkNhbm5vdCBwYXJzZSBiYXNlIGV4cHJlc3Np
b24iKTsKKyAgICB3aGlsZSAobmV3Q291bnQtLSkKKyAgICAgICAgYmFzZSA9IGNvbnRleHQuY3Jl
YXRlTmV3RXhwcihsb2NhdGlvbiwgYmFzZSwgZXhwcmVzc2lvblN0YXJ0LCBsYXN0VG9rZW5FbmRQ
b3NpdGlvbigpKTsKKyAgICByZXR1cm4gYmFzZTsKK30KKyNlbmRpZgorCiBzdGF0aWMgY29uc3Qg
Y2hhciogb3BlcmF0b3JTdHJpbmcoYm9vbCBwcmVmaXgsIHVuc2lnbmVkIHRvaykKIHsKICAgICBz
d2l0Y2ggKHRvaykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKaW5kZXggODYz
ZjljMTU2MDg0MmE5ODU2ZDhlOTc3NTFjZDhiZWRjOGFiZDg3YS4uNjIzMzAzMTFkYTUwMjkxNDRm
MTlkODFjOTY0MmFjMmQ5NjZjYjVhNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNl
ci5oCkBAIC04MCw2ICs4MCw5IEBAIGNsYXNzIFNvdXJjZUNvZGU7CiBDT01QSUxFX0FTU0VSVChM
YXN0VW50YWdnZWRUb2tlbiA8IDY0LCBMZXNzVGhhbjY0VW50YWdnZWRUb2tlbnMpOwogCiBlbnVt
IFNvdXJjZUVsZW1lbnRzTW9kZSB7IENoZWNrRm9yU3RyaWN0TW9kZSwgRG9udENoZWNrRm9yU3Ry
aWN0TW9kZSB9OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitlbnVtIEZ1
bmN0aW9uUGFyc2VUeXBlIHsgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSwgQXJyb3dGdW5jdGlv
blBhcnNlVHlwZSB9OworI2VuZGlmCiBlbnVtIEZ1bmN0aW9uUmVxdWlyZW1lbnRzIHsgRnVuY3Rp
b25Ob1JlcXVpcmVtZW50cywgRnVuY3Rpb25OZWVkc05hbWUgfTsKIGVudW0gRnVuY3Rpb25QYXJz
ZU1vZGUgewogICAgIEZ1bmN0aW9uTW9kZSwKQEAgLTU1Myw4ICs1NTYsOCBAQCBwcml2YXRlOgog
ICAgIH0KICAgICAKICAgICBTY29wZVN0YWNrIG1fc2NvcGVTdGFjazsKLSAgICAKLSAgICBjb25z
dCBTb3VyY2VQcm92aWRlckNhY2hlSXRlbSogZmluZENhY2hlZEZ1bmN0aW9uSW5mbyhpbnQgb3Bl
bkJyYWNlUG9zKSAKKworICAgIGNvbnN0IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKiBmaW5kQ2Fj
aGVkRnVuY3Rpb25JbmZvKGludCBvcGVuQnJhY2VQb3MpCiAgICAgewogICAgICAgICByZXR1cm4g
bV9mdW5jdGlvbkNhY2hlID8gbV9mdW5jdGlvbkNhY2hlLT5nZXQob3BlbkJyYWNlUG9zKSA6IDA7
CiAgICAgfQpAQCAtNTYyLDcgKzU2NSw3IEBAIHByaXZhdGU6CiAgICAgUGFyc2VyKCk7CiAgICAg
U3RyaW5nIHBhcnNlSW5uZXIoKTsKIAotICAgIHZvaWQgZGlkRmluaXNoUGFyc2luZyhTb3VyY2VF
bGVtZW50cyosIERlY2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayYsIAorICAgIHZvaWQgZGlkRmlu
aXNoUGFyc2luZyhTb3VyY2VFbGVtZW50cyosIERlY2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayYs
CiAgICAgICAgIERlY2xhcmF0aW9uU3RhY2tzOjpGdW5jdGlvblN0YWNrJiwgQ29kZUZlYXR1cmVz
LCBpbnQsIElkZW50aWZpZXJTZXQmLCBjb25zdCBWZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiYm
KTsKIAogICAgIC8vIFVzZWQgdG8gZGV0ZXJtaW5lIHR5cGUgb2YgZXJyb3IgdG8gcmVwb3J0LgpA
QCAtNzIxLDkgKzcyNCwxNCBAQCBwcml2YXRlOgogICAgICAgICB9CiAgICAgICAgIHJldHVybiBy
ZXN1bHQ7CiAgICAgfQotICAgIAorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBw
YXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxlbWVudHNNb2RlLCBGdW5j
dGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSA9IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5
cGUpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJz
ZVN0YXRlbWVudChUcmVlQnVpbGRlciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVu
c2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMCwgRnVuY3Rpb25QYXJzZVR5cGUgZnVu
Y3Rpb25QYXJzZVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNlbHNlCiAgICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgcGFyc2VTb3Vy
Y2VFbGVtZW50cyhUcmVlQnVpbGRlciYsIFNvdXJjZUVsZW1lbnRzTW9kZSk7CiAgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3RhdGVtZW50KFRyZWVC
dWlsZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2
ZUxpdGVyYWxMZW5ndGggPSAwKTsKKyNlbmRpZgogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFY
KQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZUNs
YXNzRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImKTsKICNlbmRpZgpAQCAtNzY4LDYgKzc3NiwxNCBA
QCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Np
b24gcGFyc2VWYXJEZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImLCBpbnQmIGRlY2xhcmF0aW9u
cywgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiYgbGFzdFBhdHRlcm4sIFRyZWVFeHByZXNzaW9u
JiBsYXN0SW5pdGlhbGl6ZXIsIEpTVGV4dFBvc2l0aW9uJiBpZGVudFN0YXJ0LCBKU1RleHRQb3Np
dGlvbiYgaW5pdFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdEVuZCwgVmFyRGVjbGFyYXRpb25M
aXN0Q29udGV4dCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJ
TkUgVHJlZUNvbnN0RGVjbExpc3QgcGFyc2VDb25zdERlY2xhcmF0aW9uTGlzdChUcmVlQnVpbGRl
ciYpOwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlQXJyb3dGdW5jdGlvbkV4
cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVTdGF0ZW1lbnQgcGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJik7
CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFy
cm93RnVuY3Rpb25XcmFwcGVyKFRyZWVCdWlsZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgYm9vbCBwYXJzZUFycm93RnVuY3Rpb25JbmZvKFRyZWVC
dWlsZGVyJiwgRnVuY3Rpb25QYXJzZU1vZGUsIENvbnN0cnVjdG9yS2luZCwgaW50LCBQYXJzZXJG
dW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+Jik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VBcnJvd0Z1bmN0aW9uQm9k
eShUcmVlQnVpbGRlciYsIGludCwgaW50LCBpbnQsIENvbnN0cnVjdG9yS2luZCk7CisjZW5kaWYK
KwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNv
bnN0cnVjdGlvblBhdHRlcm4gY3JlYXRlQmluZGluZ1BhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZWNv
bnN0cnVjdGlvbktpbmQsIGNvbnN0IElkZW50aWZpZXImLCBpbnQgZGVwdGgsIEpTVG9rZW4pOwog
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0
cnVjdGlvblBhdHRlcm4gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oVHJlZUJ1aWxkZXImLCBE
ZWNvbnN0cnVjdGlvbktpbmQsIGludCBkZXB0aCA9IDApOwogICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gdHJ5UGFy
c2VEZWNvbnN0cnVjdGlvblBhdHRlcm5FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CkBAIC03ODgs
NyArODA0LDE0IEBAIHByaXZhdGU6CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIGFsbG93QXV0
b21hdGljU2VtaWNvbG9uKCk7CiAgICAgfQotICAgIAorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICB2b2lkIHNldEVuZE9mU3RhdGVtZW50KCkKKyAgICB7CisgICAg
ICAgIG1fbGV4ZXItPnNldFRva2VuUG9zaXRpb24oJm1fdG9rZW4pOworICAgIH0KKyNlbmRpZgor
CiAgICAgYm9vbCBjYW5SZWN1cnNlKCkKICAgICB7CiAgICAgICAgIHJldHVybiBtX3ZtLT5pc1Nh
ZmVUb1JlY3Vyc2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyRnVuY3Rpb25JbmZvLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNl
ckZ1bmN0aW9uSW5mby5oCmluZGV4IDZiNzM2MjgyZTJkMmE4MWJjNjNkYzJmM2MwZTVhZThjODU4
Y2QxZjguLmQ3NTJhNjEwYTliNmViMGM2YTExNDk1NDY1Y2E3ZGJkNzY4Y2Q1MjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaApAQCAt
MjgsNiArMjgsMTAgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorZW51bSBBcnJvd0Z1bmN0aW9uQm9keVR5cGUgeyBBcnJvd0Z1bmN0
aW9uQm9keUV4cHJlc3Npb24sIEFycm93RnVuY3Rpb25Cb2R5QmxvY2t9OworI2VuZGlmCisKIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4KIHN0cnVjdCBQYXJzZXJGdW5jdGlvbkluZm8gewog
ICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUgPSAwOwpAQCAtMzgsNiArNDIsMTEgQEAgc3RydWN0
IFBhcnNlckZ1bmN0aW9uSW5mbyB7CiAgICAgaW50IGJvZHlTdGFydExpbmUgPSAwOwogICAgIGlu
dCBib2R5RW5kTGluZSA9IDA7CiAgICAgdW5zaWduZWQgYm9keVN0YXJ0Q29sdW1uID0gMDsKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHVuc2lnbmVkIGFycm93RnVu
Y3Rpb25PZmZzZXQgPSAwOworICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uID0gZmFsc2U7CisgICAg
QXJyb3dGdW5jdGlvbkJvZHlUeXBlIGFycm93RnVuY3Rpb25Cb2R5VHlwZSA9IEFycm93RnVuY3Rp
b25Cb2R5RXhwcmVzc2lvbjsKKyNlbmRpZgogfTsKIAogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lO
VEFYKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tl
bnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKaW5kZXgg
ODMyOWY4MmE5YjJmZjkxNWQxZjI0MWMxZjhiZmZhZDQyNDdhNWYwYi4uYzhiMTY2ZTBlYWQ3ZDJk
YTcxOWU3NmM0YTJmMDlhZmYxZDc0ZDdhYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlclRva2Vucy5oCkBAIC03NSw2ICs3NSw5IEBAIGVudW0gSlNUb2tlblR5cGUgewog
ICAgIEZJTkFMTFksCiAgICAgREVCVUdHRVIsCiAgICAgRUxTRSwKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEFSUk9XRlVOQ1RJT04sCisjZW5kaWYKICNpZiBFTkFC
TEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICBDTEFTU1RPS0VOLAogICAgIEVYVEVORFMsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCmluZGV4IDc5MmMxOWU5NGE4MDVi
NWI0ZDRiZGQ2MjA4ZTZkMDZmZDg5OWYzNTkuLmJmMjY3NDVkMDZmMThiNjViMTBlMWI3NWY5NzZm
Yjg5MDdlMmQxMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291
cmNlQ29kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5o
CkBAIC0xMDUsNiArMTA1LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIAogICAgICAgICBT
b3VyY2VDb2RlIHN1YkV4cHJlc3Npb24odW5zaWduZWQgb3BlbkJyYWNlLCB1bnNpZ25lZCBjbG9z
ZUJyYWNlLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOwogCisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgU291cmNlQ29kZSBzdWJBcnJvd0V4cHJl
c3Npb24odW5zaWduZWQgc3RhcnRBcnJvd0Z1bmN0aW9uLCB1bnNpZ25lZCBlbmRBcnJvd0Z1bmN0
aW9uLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOworI2VuZGlmCiAgICAgcHJpdmF0
ZToKICAgICAgICAgUmVmUHRyPFNvdXJjZVByb3ZpZGVyPiBtX3Byb3ZpZGVyOwogICAgICAgICBp
bnQgbV9zdGFydENoYXI7CkBAIC0xMTgsNiArMTIxLDE3IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
ICAgICByZXR1cm4gU291cmNlQ29kZShTdHJpbmdTb3VyY2VQcm92aWRlcjo6Y3JlYXRlKHNvdXJj
ZSwgdXJsLCBzdGFydFBvc2l0aW9uKSwgc3RhcnRQb3NpdGlvbi5tX2xpbmUub25lQmFzZWRJbnQo
KSwgc3RhcnRQb3NpdGlvbi5tX2NvbHVtbi5vbmVCYXNlZEludCgpKTsKICAgICB9CiAKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlubGluZSBTb3VyY2VDb2RlIFNv
dXJjZUNvZGU6OnN1YkFycm93RXhwcmVzc2lvbih1bnNpZ25lZCBzdGFydEFycm93RnVuY3Rpb24s
IHVuc2lnbmVkIGVuZEFycm93RnVuY3Rpb24sIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVt
bikKKyAgICB7CisgICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFycm93
RnVuY3Rpb25dID09ICc9JyAmJiBwcm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFycm93RnVuY3Rp
b24gKyAxXSA9PSAnPicpOworICAgICAgICAvLyBGaXhtZTogVXNlIGJldHRlciBhcHByb2FjaCB0
byBjaGVjayBzeW1ib2wKKyAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFy
cm93RnVuY3Rpb24gLSAxXSA9PSAnLCcgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dG
dW5jdGlvbiAtIDFdID09ICc7JyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0
aW9uIC0gMV0gPT0gJyknIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24g
LSAxXSA9PSAnXScgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFd
ID09ICd9Jyk7CisgICAgICAgIHN0YXJ0Q29sdW1uICs9IDE7IC8vIENvbnZlcnQgdG8gYmFzZSAx
LgorICAgICAgICByZXR1cm4gU291cmNlQ29kZShwcm92aWRlcigpLCBzdGFydEFycm93RnVuY3Rp
b24sIGVuZEFycm93RnVuY3Rpb24gLSAxLCBmaXJzdExpbmUsIHN0YXJ0Q29sdW1uKTsKKyAgICB9
CisjZW5kaWYKKwogICAgIGlubGluZSBTb3VyY2VDb2RlIFNvdXJjZUNvZGU6OnN1YkV4cHJlc3Np
b24odW5zaWduZWQgb3BlbkJyYWNlLCB1bnNpZ25lZCBjbG9zZUJyYWNlLCBpbnQgZmlyc3RMaW5l
LCBpbnQgc3RhcnRDb2x1bW4pCiAgICAgewogICAgICAgICBBU1NFUlQocHJvdmlkZXIoKS0+c291
cmNlKClbb3BlbkJyYWNlXSA9PSAneycpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCmluZGV4IDYzNTM3OWUzZjQ0NTY2
OGM1MmI4NzJmNzYxNmRjYjU5MjFhODI5NDQuLjg1MDc3YTQ2MGM2MzZjMjYzZGFkMDk3NTI3Y2I3
YThlY2JkMGI0NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291
cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKQEAgLTQwLDYgKzQwLDEwIEBAIHN0cnVjdCBTb3Vy
Y2VQcm92aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgYm9vbCBuZWVkc0Z1
bGxBY3RpdmF0aW9uOwogICAgIGJvb2wgdXNlc0V2YWw7CiAgICAgYm9vbCBzdHJpY3RNb2RlOwor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgYm9vbCBpc0JvZHlBcnJv
d0Z1bmN0aW9uQmxvY2s7CisgICAgSlNUb2tlblR5cGUgdG9rZW5UeXBlOworI2VuZGlmCiAgICAg
VmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4gdXNlZFZhcmlhYmxlczsKICAgICBWZWN0b3I8UmVm
UHRyPFN0cmluZ0ltcGw+PiB3cml0dGVuVmFyaWFibGVzOwogfTsKQEAgLTY5LDkgKzczLDI0IEBA
IHB1YmxpYzoKICAgICAgICAgcmV0dXJuIHRva2VuOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgSlNUb2tlbiBlbmRBcnJvd0Z1bmN0aW9uVG9rZW4o
KSBjb25zdAorICAgIHsKKyAgICAgICAgSlNUb2tlbiB0b2tlbjsKKyAgICAgICAgdG9rZW4ubV90
eXBlID0gdG9rZW5UeXBlOworICAgICAgICB0b2tlbi5tX2RhdGEub2Zmc2V0ID0gY2xvc2VCcmFj
ZU9mZnNldDsKKyAgICAgICAgdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldCA9IGNsb3NlQnJh
Y2VPZmZzZXQ7CisgICAgICAgIHRva2VuLm1fbG9jYXRpb24uZW5kT2Zmc2V0ID0gY2xvc2VCcmFj
ZU9mZnNldCArIDE7CisgICAgICAgIHRva2VuLm1fbG9jYXRpb24ubGluZSA9IGNsb3NlQnJhY2VM
aW5lOworICAgICAgICB0b2tlbi5tX2xvY2F0aW9uLmxpbmVTdGFydE9mZnNldCA9IGNsb3NlQnJh
Y2VMaW5lU3RhcnRPZmZzZXQ7CisKKyAgICAgICAgcmV0dXJuIHRva2VuOworICAgIH0KKyNlbmRp
ZgorCiAgICAgdW5zaWduZWQgZnVuY3Rpb25OYW1lU3RhcnQgOiAzMTsKICAgICBib29sIG5lZWRz
RnVsbEFjdGl2YXRpb24gOiAxOwotICAgIAorCiAgICAgdW5zaWduZWQgY2xvc2VCcmFjZUxpbmUg
OiAzMTsKICAgICBib29sIHVzZXNFdmFsIDogMTsKIApAQCAtODIsNiArMTAxLDExIEBAIHB1Ymxp
YzoKICAgICB1bnNpZ25lZCB1c2VkVmFyaWFibGVzQ291bnQ7CiAgICAgdW5zaWduZWQgd3JpdHRl
blZhcmlhYmxlc0NvdW50OwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICBib29sIGlzQm9keUFycm93RnVuY3Rpb25CbG9jazsKKyAgICBKU1Rva2VuVHlwZSB0b2tl
blR5cGU7CisjZW5kaWYKKwogICAgIFN0cmluZ0ltcGwqKiB1c2VkVmFyaWFibGVzKCkgY29uc3Qg
eyByZXR1cm4gY29uc3RfY2FzdDxTdHJpbmdJbXBsKio+KG1fdmFyaWFibGVzKTsgfQogICAgIFN0
cmluZ0ltcGwqKiB3cml0dGVuVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxT
dHJpbmdJbXBsKio+KCZtX3ZhcmlhYmxlc1t1c2VkVmFyaWFibGVzQ291bnRdKTsgfQogCkBAIC0x
MTUsNiArMTM5LDEwIEBAIGlubGluZSBTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6U291cmNlUHJv
dmlkZXJDYWNoZUl0ZW0oY29uc3QgU291cmNlUHJvdmlkZXJDYWNoCiAgICAgLCBjbG9zZUJyYWNl
TGluZVN0YXJ0T2Zmc2V0KHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldCkKICAg
ICAsIHVzZWRWYXJpYWJsZXNDb3VudChwYXJhbWV0ZXJzLnVzZWRWYXJpYWJsZXMuc2l6ZSgpKQog
ICAgICwgd3JpdHRlblZhcmlhYmxlc0NvdW50KHBhcmFtZXRlcnMud3JpdHRlblZhcmlhYmxlcy5z
aXplKCkpCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAsIGlzQm9k
eUFycm93RnVuY3Rpb25CbG9jayhwYXJhbWV0ZXJzLmlzQm9keUFycm93RnVuY3Rpb25CbG9jaykK
KyAgICAsIHRva2VuVHlwZShwYXJhbWV0ZXJzLnRva2VuVHlwZSkKKyNlbmRpZgogewogICAgIHVu
c2lnbmVkIGogPSAwOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB1c2VkVmFyaWFibGVz
Q291bnQ7ICsraSwgKytqKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1N5bnRheENoZWNrZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4
Q2hlY2tlci5oCmluZGV4IDhiNDc1ODRiYTdiN2E0ZjI5YzBmMGUwZWFkNTdlMDczNGZhYmZlMmYu
LmMxNGJjOGY1NzE5MDEwODY1N2YwMzIwMTMwM2M0M2ViODFiNjE0YTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCkBAIC0zMSw3ICszMSw3IEBACiAj
aW5jbHVkZSAiWWFyclN5bnRheENoZWNrZXIuaCIKIAogbmFtZXNwYWNlIEpTQyB7Ci0gICAgCisK
IGNsYXNzIFN5bnRheENoZWNrZXIgewogcHVibGljOgogICAgIHN0cnVjdCBCaW5hcnlFeHByQ29u
dGV4dCB7CkBAIC02NCw3ICs2NCw3IEBAIHB1YmxpYzoKICAgICBwcml2YXRlOgogICAgICAgICBT
eW50YXhDaGVja2VyKiBtX2NvbnRleHQ7CiAgICAgfTsKLSAgICAKKwogICAgIFN5bnRheENoZWNr
ZXIoVk0qICwgdm9pZCopCiAgICAgewogICAgIH0KQEAgLTE3MCw2ICsxNzAsMTAgQEAgcHVibGlj
OgogI2VuZGlmCiAgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlRnVuY3Rpb25FeHByKGNvbnN0IEpT
VG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50YXhDaGVja2VyPiYp
IHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQogICAgIGludCBjcmVhdGVGdW5jdGlvbkJvZHkoY29u
c3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgaW50LCBpbnQsIGJv
b2wsIGludCwgaW50LCBpbnQsIENvbnN0cnVjdG9yS2luZCkgeyByZXR1cm4gRnVuY3Rpb25Cb2R5
UmVzdWx0OyB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBFeHBy
ZXNzaW9uVHlwZSBjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24m
LCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5j
dGlvbkV4cHI7IH0KKyNlbmRpZiAKKyAgICB2b2lkIHNldEZ1bmN0aW9uTmFtZVN0YXJ0KGludCwg
aW50KSB7IH0KICAgICBpbnQgY3JlYXRlQXJndW1lbnRzKCkgeyByZXR1cm4gQXJndW1lbnRzUmVz
dWx0OyB9CiAgICAgaW50IGNyZWF0ZUFyZ3VtZW50cyhpbnQpIHsgcmV0dXJuIEFyZ3VtZW50c1Jl
c3VsdDsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZVNwcmVhZEV4cHJlc3Npb24oY29uc3Qg
SlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvblR5cGUsIGludCwgaW50LCBpbnQpIHsgcmV0dXJu
IFNwcmVhZEV4cHI7IH0KQEAgLTI1Niw3ICsyNjAsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBt
X3RvcEJpbmFyeUV4cHIgPSBCaW5hcnlFeHByOwogICAgICAgICBvcGVyYW5kU3RhY2tEZXB0aCsr
OwogICAgIH0KLSAgICAKKwogICAgIC8vIExvZ2ljIHRvIGhhbmRsZSBkYXRhc3RydWN0dXJlcyB1
c2VkIGR1cmluZyBwYXJzaW5nIG9mIGJpbmFyeSBleHByZXNzaW9ucwogICAgIHZvaWQgb3BlcmF0
b3JTdGFja1BvcChpbnQmIG9wZXJhdG9yU3RhY2tEZXB0aCkgeyBvcGVyYXRvclN0YWNrRGVwdGgt
LTsgfQogICAgIGJvb2wgb3BlcmF0b3JTdGFja0hhc0hpZ2hlclByZWNlZGVuY2UoaW50JiwgaW50
KSB7IHJldHVybiB0cnVlOyB9CkBAIC0yNjUsMTIgKzI2OSwxMiBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBhcHBlbmRCaW5hcnlPcGVyYXRpb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgaW50JiBvcGVy
YW5kU3RhY2tEZXB0aCwgaW50JiwgQmluYXJ5T3BlcmFuZCwgQmluYXJ5T3BlcmFuZCkgeyBvcGVy
YW5kU3RhY2tEZXB0aCsrOyB9CiAgICAgdm9pZCBvcGVyYXRvclN0YWNrQXBwZW5kKGludCYgb3Bl
cmF0b3JTdGFja0RlcHRoLCBpbnQsIGludCkgeyBvcGVyYXRvclN0YWNrRGVwdGgrKzsgfQogICAg
IGludCBwb3BPcGVyYW5kU3RhY2soaW50JikgeyBpbnQgcmVzID0gbV90b3BCaW5hcnlFeHByOyBt
X3RvcEJpbmFyeUV4cHIgPSAwOyByZXR1cm4gcmVzOyB9Ci0gICAgCisKICAgICB2b2lkIGFwcGVu
ZFVuYXJ5VG9rZW4oaW50JiBzdGFja0RlcHRoLCBpbnQgdG9rLCBpbnQpIHsgc3RhY2tEZXB0aCA9
IDE7IG1fdG9wVW5hcnlUb2tlbiA9IHRvazsgfQogICAgIGludCB1bmFyeVRva2VuU3RhY2tMYXN0
VHlwZShpbnQmKSB7IHJldHVybiBtX3RvcFVuYXJ5VG9rZW47IH0KICAgICBKU1RleHRQb3NpdGlv
biB1bmFyeVRva2VuU3RhY2tMYXN0U3RhcnQoaW50JikgeyByZXR1cm4gSlNUZXh0UG9zaXRpb24o
MCwgMCwgMCk7IH0KICAgICB2b2lkIHVuYXJ5VG9rZW5TdGFja1JlbW92ZUxhc3QoaW50JiBzdGFj
a0RlcHRoKSB7IHN0YWNrRGVwdGggPSAwOyB9Ci0gICAgCisKICAgICB2b2lkIGFzc2lnbm1lbnRT
dGFja0FwcGVuZChpbnQsIGludCwgaW50LCBpbnQsIGludCwgT3BlcmF0b3IpIHsgfQogICAgIGlu
dCBjcmVhdGVBc3NpZ25tZW50KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGludCwgaW50LCBpbnQs
IGludCwgaW50KSB7IFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiBBc3NpZ25t
ZW50RXhwcjsgfQogICAgIGNvbnN0IElkZW50aWZpZXIqIGdldE5hbWUoY29uc3QgUHJvcGVydHkm
IHByb3BlcnR5KSBjb25zdCB7IHJldHVybiBwcm9wZXJ0eS5uYW1lOyB9CkBAIC0yODAsNyArMjg0
LDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgcmV0dXJuIERlY29uc3RydWN0aW5nQXNzaWdu
bWVudDsKICAgICB9Ci0gICAgCisKICAgICBBcnJheVBhdHRlcm4gY3JlYXRlQXJyYXlQYXR0ZXJu
KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYpCiAgICAgewogICAgICAgICByZXR1cm4gQXJyYXlEZWNv
bnN0cnVjdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nv
ZGVDYWNoZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2RlQ2FjaGUuY3Bw
CmluZGV4IDNlNjdhMjdkMGZiYmZmMWFhM2RhNDJjODYyNGEwNjIyMjdlZDE4NWMuLjg1MTVjYmJl
YTJkNjk5Nzc2YjNmOGZlZmI0YzNjM2NjOWVmYjFiY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0NvZGVDYWNoZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQ29kZUNhY2hlLmNwcApAQCAtOTMsNyArOTMsNyBAQCBVbmxpbmtlZENvZGVC
bG9ja1R5cGUqIENvZGVDYWNoZTo6Z2V0R2xvYmFsQ29kZUJsb2NrKFZNJiB2bSwgRXhlY3V0YWJs
ZVR5cGUqIGV4ZQogCiAgICAgdHlwZWRlZiB0eXBlbmFtZSBDYWNoZVR5cGVzPFVubGlua2VkQ29k
ZUJsb2NrVHlwZT46OlJvb3ROb2RlIFJvb3ROb2RlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxSb290
Tm9kZT4gcm9vdE5vZGUgPSBwYXJzZTxSb290Tm9kZT4oCi0gICAgICAgICZ2bSwgc291cmNlLCAw
LCBJZGVudGlmaWVyKCksIGJ1aWx0aW5Nb2RlLCBzdHJpY3RNb2RlLCAKKyAgICAgICAgJnZtLCBz
b3VyY2UsIDAsIElkZW50aWZpZXIoKSwgYnVpbHRpbk1vZGUsIHN0cmljdE1vZGUsCiAgICAgICAg
IEpTUGFyc2VyQ29kZVR5cGU6OlByb2dyYW0sIGVycm9yKTsKICAgICBpZiAoIXJvb3ROb2RlKQog
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTEzNCw4ICsxMzQsOCBAQCBVbmxpbmtlZEV2YWxD
b2RlQmxvY2sqIENvZGVDYWNoZTo6Z2V0RXZhbENvZGVCbG9jayhWTSYgdm0sIEV2YWxFeGVjdXRh
YmxlKiBleGVjdQogVW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFibGUqIENvZGVDYWNoZTo6Z2V0RnVu
Y3Rpb25FeGVjdXRhYmxlRnJvbUdsb2JhbENvZGUoVk0mIHZtLCBjb25zdCBJZGVudGlmaWVyJiBu
YW1lLCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIFBhcnNlckVycm9yJiBlcnJvcikKIHsKICAg
ICBTb3VyY2VDb2RlS2V5IGtleSA9IFNvdXJjZUNvZGVLZXkoCi0gICAgICAgIHNvdXJjZSwgbmFt
ZS5zdHJpbmcoKSwgU291cmNlQ29kZUtleTo6RnVuY3Rpb25UeXBlLCAKLSAgICAgICAgSlNQYXJz
ZXJCdWlsdGluTW9kZTo6Tm90QnVpbHRpbiwgCisgICAgICAgIHNvdXJjZSwgbmFtZS5zdHJpbmco
KSwgU291cmNlQ29kZUtleTo6RnVuY3Rpb25UeXBlLAorICAgICAgICBKU1BhcnNlckJ1aWx0aW5N
b2RlOjpOb3RCdWlsdGluLAogICAgICAgICBKU1BhcnNlclN0cmljdE1vZGU6Ok5vdFN0cmljdCk7
CiAgICAgU291cmNlQ29kZVZhbHVlKiBjYWNoZSA9IG1fc291cmNlQ29kZS5maW5kQ2FjaGVBbmRV
cGRhdGVBZ2Uoa2V5KTsKICAgICBpZiAoY2FjaGUpCkBAIC0xNDMsOCArMTQzLDggQEAgVW5saW5r
ZWRGdW5jdGlvbkV4ZWN1dGFibGUqIENvZGVDYWNoZTo6Z2V0RnVuY3Rpb25FeGVjdXRhYmxlRnJv
bUdsb2JhbENvZGUoVk0mIHYKIAogICAgIEpTVGV4dFBvc2l0aW9uIHBvc2l0aW9uQmVmb3JlTGFz
dE5ld2xpbmU7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFByb2dyYW1Ob2RlPiBwcm9ncmFtID0gcGFy
c2U8UHJvZ3JhbU5vZGU+KAotICAgICAgICAmdm0sIHNvdXJjZSwgMCwgSWRlbnRpZmllcigpLCBK
U1BhcnNlckJ1aWx0aW5Nb2RlOjpOb3RCdWlsdGluLCAKLSAgICAgICAgSlNQYXJzZXJTdHJpY3RN
b2RlOjpOb3RTdHJpY3QsIEpTUGFyc2VyQ29kZVR5cGU6OlByb2dyYW0sIAorICAgICAgICAmdm0s
IHNvdXJjZSwgMCwgSWRlbnRpZmllcigpLCBKU1BhcnNlckJ1aWx0aW5Nb2RlOjpOb3RCdWlsdGlu
LAorICAgICAgICBKU1BhcnNlclN0cmljdE1vZGU6Ok5vdFN0cmljdCwgSlNQYXJzZXJDb2RlVHlw
ZTo6UHJvZ3JhbSwKICAgICAgICAgZXJyb3IsICZwb3NpdGlvbkJlZm9yZUxhc3ROZXdsaW5lKTsK
ICAgICBpZiAoIXByb2dyYW0pIHsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoZXJyb3IuaXNWYWxp
ZCgpKTsKQEAgLTE2MCwxNSArMTYwLDIwIEBAIFVubGlua2VkRnVuY3Rpb25FeGVjdXRhYmxlKiBD
b2RlQ2FjaGU6OmdldEZ1bmN0aW9uRXhlY3V0YWJsZUZyb21HbG9iYWxDb2RlKFZNJiB2CiAKICAg
ICBTdGF0ZW1lbnROb2RlKiBmdW5jRGVjbCA9IHN0YXRpY19jYXN0PEJsb2NrTm9kZSo+KHN0YXRl
bWVudCktPnNpbmdsZVN0YXRlbWVudCgpOwogICAgIEFTU0VSVChmdW5jRGVjbCk7CisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBBU1NFUlQoZnVuY0RlY2wtPmlzRnVu
Y0RlY2xOb2RlKCkgLyp8fCBmdW5jRGVjbC0+aXNBcnJvd0Z1bmNFeHByTm9kZSgpKi8pOworICAg
IGlmICghZnVuY0RlY2wgfHwgKCFmdW5jRGVjbC0+aXNGdW5jRGVjbE5vZGUoKSAvKiYmICFmdW5j
RGVjbC0+aXNBcnJvd0Z1bmNFeHByTm9kZSgpKi8pKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KyNlbHNlCiAgICAgQVNTRVJUKGZ1bmNEZWNsLT5pc0Z1bmNEZWNsTm9kZSgpKTsKICAgICBpZiAo
IWZ1bmNEZWNsIHx8ICFmdW5jRGVjbC0+aXNGdW5jRGVjbE5vZGUoKSkKICAgICAgICAgcmV0dXJu
IG51bGxwdHI7Ci0KKyNlbmRpZgogICAgIEZ1bmN0aW9uQm9keU5vZGUqIGJvZHkgPSBzdGF0aWNf
Y2FzdDxGdW5jRGVjbE5vZGUqPihmdW5jRGVjbCktPmJvZHkoKTsKICAgICBBU1NFUlQoYm9keSk7
CiAgICAgaWYgKCFib2R5KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAKKwogICAgIGJv
ZHktPnNldEVuZFBvc2l0aW9uKHBvc2l0aW9uQmVmb3JlTGFzdE5ld2xpbmUpOwogICAgIFVubGlu
a2VkRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlvbkV4ZWN1dGFibGUgPSBVbmxpbmtlZEZ1bmN0
aW9uRXhlY3V0YWJsZTo6Y3JlYXRlKCZ2bSwgc291cmNlLCBib2R5LCBVbmxpbmtlZE5vcm1hbEZ1
bmN0aW9uKTsKICAgICBmdW5jdGlvbkV4ZWN1dGFibGUtPm1fbmFtZVZhbHVlLnNldCh2bSwgZnVu
Y3Rpb25FeGVjdXRhYmxlLCBqc1N0cmluZygmdm0sIG5hbWUuc3RyaW5nKCkpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmFkMDVkZDJiZGY4NjFlYTI4MjA0YzA1N2I1NGJhYTNmNDkxZWIxMDEKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3Bw
CkBAIC0wLDAgKzEsNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgi
CisKKyNpbmNsdWRlICJFcnJvci5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbkhlbHBlcnMuaCIKKyNp
bmNsdWRlICJKU0NJbmxpbmVzLmgiCisjaW5jbHVkZSAiSlNDSlNWYWx1ZS5oIgorI2luY2x1ZGUg
IkpTRnVuY3Rpb25JbmxpbmVzLmgiCisjaW5jbHVkZSAiSlNPYmplY3QuaCIKKyNpbmNsdWRlICJQ
cm9wZXJ0eVNsb3QuaCIKKyNpbmNsdWRlICJWTS5oIgorCituYW1lc3BhY2UgSlNDIHsKKyAgICAK
K2NvbnN0IENsYXNzSW5mbyBKU0Fycm93RnVuY3Rpb246OnNfaW5mbyA9IHsgIkFycm93RnVuY3Rp
b24iLCAmQmFzZTo6c19pbmZvLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTQXJyb3dGdW5jdGlv
bikgfTsKKwordm9pZCBKU0Fycm93RnVuY3Rpb246OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQorewor
ICAgIHN0YXRpY19jYXN0PEpTQXJyb3dGdW5jdGlvbio+KGNlbGwpLT5KU0Fycm93RnVuY3Rpb246
On5KU0Fycm93RnVuY3Rpb24oKTsKK30KKworSlNBcnJvd0Z1bmN0aW9uOjpKU0Fycm93RnVuY3Rp
b24oVk0mIHZtLCBKU1Njb3BlKiBzY29wZSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxl
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICA6IEJhc2Uodm0sIGV4ZWN1dGFibGUsIHNjb3Bl
LCBzdHJ1Y3R1cmUpCit7Cit9CisgICAgCit2b2lkIEpTQXJyb3dGdW5jdGlvbjo6ZmluaXNoQ3Jl
YXRpb24oVk0mIHZtKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKy8vIFByb3Rv
dHlwZSBvZiBhcnJvdyBmdW5jdGlvbiBpcyB1bmRlZmluZWQKKyAgICBwdXREaXJlY3Qodm0sIHZt
LnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwganNVbmRlZmluZWQoKSwgRG9udERlbGV0ZSB8IFJl
YWRPbmx5IHwgRG9udEVudW0pOworfQorICAgIAordm9pZCBKU0Fycm93RnVuY3Rpb246OnZpc2l0
Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKK3sKKyAgICBKU0Fy
cm93RnVuY3Rpb24qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNBcnJvd0Z1bmN0aW9uKj4oY2VsbCk7
CisgICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyh0aGlzT2JqZWN0LCBpbmZvKCkpOworICAg
IEJhc2U6OnZpc2l0Q2hpbGRyZW4odGhpc09iamVjdCwgdmlzaXRvcik7Cit9CisgICAgCitDb25z
dHJ1Y3RUeXBlIEpTQXJyb3dGdW5jdGlvbjo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwqIGNlbGws
IENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCit7CisgICAgSlNGdW5jdGlvbiogdGhpc09i
amVjdCA9IGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY2VsbCk7CisgICAgICAgIAorICAgIGNvbnN0cnVj
dERhdGEuanMuZnVuY3Rpb25FeGVjdXRhYmxlID0gdGhpc09iamVjdC0+anNFeGVjdXRhYmxlKCk7
CisgICAgY29uc3RydWN0RGF0YS5qcy5zY29wZSA9IHRoaXNPYmplY3QtPnNjb3BlKCk7CisgICAg
cmV0dXJuIENvbnN0cnVjdFR5cGVOb25lOworfQorfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdlNTg1ZWQxZWNkMTIyYzRkM2I5Y2RmMjE0MTY3MTc2MTEzN2ZlYjYKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uaApAQCAt
MCwwICsxLDcwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2lmbmRlZiBKU0Fycm93RnVuY3Rpb25faAorI2RlZmluZSBKU0Fycm93RnVuY3Rpb25faAor
CisjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorCituYW1lc3BhY2UgSlNDIHsKKworY2xhc3MgSlNB
cnJvd0Z1bmN0aW9uIDogcHVibGljIEpTRnVuY3Rpb24geworcHVibGljOgorICAgIHR5cGVkZWYg
SlNGdW5jdGlvbiBCYXNlOworICAgICAgICAKKyAgICBzdGF0aWMgSlNBcnJvd0Z1bmN0aW9uKiBj
cmVhdGUoVk0mIHZtLCBKU1Njb3BlKiBzY29wZSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRh
YmxlLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQorICAgIHsKKyAgICAgICAgSlNBcnJv
d0Z1bmN0aW9uKiBmdW5jdGlvbiA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEpTQXJyb3dG
dW5jdGlvbj4odm0uaGVhcCkpIEpTQXJyb3dGdW5jdGlvbih2bSwgc2NvcGUsIGV4ZWN1dGFibGUs
IGdsb2JhbE9iamVjdC0+YXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpKTsKKyAgICAgICAgQVNTRVJU
KGZ1bmN0aW9uLT5zdHJ1Y3R1cmUoKS0+Z2xvYmFsT2JqZWN0KCkpOworICAgICAgICBmdW5jdGlv
bi0+ZmluaXNoQ3JlYXRpb24odm0pOworICAgICAgICByZXR1cm4gZnVuY3Rpb247CisgICAgfQor
ICAgIAorICAgIHN0YXRpYyB2b2lkIGRlc3Ryb3koSlNDZWxsKik7CisgICAgICAgIAorICAgIHN0
YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIEpTVmFsdWUgcHJvdG90eXBlKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGds
b2JhbE9iamVjdCk7CisgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFs
T2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKEpTRnVuY3Rpb25UeXBlLCBTdHJ1Y3R1cmVGbGFn
cyksIGluZm8oKSk7CisgICAgfQorICAgICAgICAKKyAgICBzdGF0aWMgQ29uc3RydWN0VHlwZSBn
ZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmKTsKKyAgICAgICAgCisgICAg
REVDTEFSRV9JTkZPOworCitwcm90ZWN0ZWQ6CisgICAgY29uc3Qgc3RhdGljIHVuc2lnbmVkIFN0
cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzSGFzSW5zdGFuY2UgfCBCYXNlOjpTdHJ1Y3R1cmVGbGFn
czsKKyAgICAgICAgCisgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90
VmlzaXRvciYpOworICAgICAgICAKK3ByaXZhdGU6CisgICAgSlNBcnJvd0Z1bmN0aW9uKFZNJiwg
SlNTY29wZSosIEZ1bmN0aW9uRXhlY3V0YWJsZSosIFN0cnVjdHVyZSopOworCisgICAgdm9pZCBm
aW5pc2hDcmVhdGlvbihWTSYpOworfTsKKyAgICAKK30gLy8gbmFtZXNwYWNlIEpTQworCisjZW5k
aWYgLy8gSlNBcnJvd0Z1bmN0aW9uX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTRnVuY3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
RnVuY3Rpb24uaAppbmRleCBiZTBiZGM3ODQyZjk3MzNjNzZiMDY0NDNiZGEzNjYxNDE4ZWE1OTk3
Li42MDYwYmU3YmYzNTliMDAxNWYzMzJiNzA3MDczM2M0NjU2MzcwODY0IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCkBAIC0xMzEsNiArMTMxLDkgQEAgcHJv
dGVjdGVkOgogCiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNGdW5jdGlvbihWTSYsIEpTR2xvYmFs
T2JqZWN0KiwgU3RydWN0dXJlKik7CiAgICAgSlNGdW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0
YWJsZSosIEpTU2NvcGUqKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIEpTRnVuY3Rpb24oVk0mLCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBKU1Njb3BlKiwgU3RydWN0
dXJlKik7CisjZW5kaWYKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBOYXRpdmVFeGVj
dXRhYmxlKiwgaW50IGxlbmd0aCwgY29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICB1c2luZyBCYXNl
OjpmaW5pc2hDcmVhdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0Z1bmN0aW9uSW5saW5lcy5oCmluZGV4IGE1ZGU5MTdjMTdlNDg0ZGNhYTY1NTA1YWY3MTE3ODc1
NDI5NWUyNGYuLjdkYjgwNDA2ZTcxZGIyYjdiYjYzNTQ1ODIzNTZiNWUxZjVjODJiNzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaApA
QCAtMzgsNiArMzgsMTUgQEAgaW5saW5lIEpTRnVuY3Rpb246OkpTRnVuY3Rpb24oVk0mIHZtLCBG
dW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpTU2NvcGUqIHMKIHsKIH0KIAorI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitpbmxpbmUgSlNGdW5jdGlvbjo6SlNGdW5j
dGlvbihWTSYgdm0sIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgSlNTY29wZSogc2Nv
cGUsIFN0cnVjdHVyZSogc3RydWN0dXJlKQorICAgIDogQmFzZSh2bSwgc2NvcGUsIHN0cnVjdHVy
ZSkKKyAgICAsIG1fZXhlY3V0YWJsZSh2bSwgdGhpcywgZXhlY3V0YWJsZSkKKyAgICAsIG1fYWxs
b2NhdGlvblByb2ZpbGVXYXRjaHBvaW50KENsZWFyV2F0Y2hwb2ludCkKK3sKK30KKyNlbmRpZgor
ICAgIAogaW5saW5lIEZ1bmN0aW9uRXhlY3V0YWJsZSogSlNGdW5jdGlvbjo6anNFeGVjdXRhYmxl
KCkgY29uc3QKIHsKICAgICBBU1NFUlQoIWlzSG9zdEZ1bmN0aW9uTm9uSW5saW5lKCkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCmluZGV4
IGE1ZWFhZmIxYmU3Y2NkZmIyZGZiZjE4Y2FhMzJjZGUyMjgyNGEwZjQuLjNjMzQxYTlkYTljOThm
NzFjNTkwOTRlNDljOTZkY2VjMGUyY2IxMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKQEAgLTYyLDYgKzYyLDkgQEAKICNpbmNsdWRl
ICJKU0FycmF5QnVmZmVyUHJvdG90eXBlLmgiCiAjaW5jbHVkZSAiSlNBcnJheUl0ZXJhdG9yLmgi
CiAjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNlbmRpZgogI2luY2x1
ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0NhbGxiYWNrQ29uc3RydWN0b3IuaCIKICNp
bmNsdWRlICJKU0NhbGxiYWNrRnVuY3Rpb24uaCIKQEAgLTIzMyw2ICsyMzYsOSBAQCB2b2lkIEpT
R2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2bSkKICAgICBleGVjLT5zZXRDYWxsZWUobV9nbG9iYWxD
YWxsZWUuZ2V0KCkpOwogCiAgICAgbV9mdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpT
RnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5n
ZXQoKSkpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgbV9hcnJv
d0Z1bmN0aW9uU3RydWN0dXJlLnNldCh2bSwgdGhpcywgSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGVT
dHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKKyNlbmRpZgog
ICAgIG1fYm91bmRGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpTQm91bmRGdW5jdGlv
bjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7
CiAgICAgbV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlLnNldCh2bSwgdGhpcywgU3RydWN0dXJlOjph
ZGRQcm9wZXJ0eVRyYW5zaXRpb24odm0sIG1fZnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCksIHZtLnBy
b3BlcnR5TmFtZXMtPm5hbWUsIERvbnREZWxldGUgfCBSZWFkT25seSB8IERvbnRFbnVtLCBtX2Z1
bmN0aW9uTmFtZU9mZnNldCkpOwogICAgIG1faW50ZXJuYWxGdW5jdGlvblN0cnVjdHVyZS5zZXQo
dm0sIHRoaXMsIEludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9m
dW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOwpAQCAtNzI1LDYgKzczMSw5IEBAIHZvaWQgSlNHbG9i
YWxPYmplY3Q6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRv
cikKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9jYWxsZWVTdHJ1Y3R1cmUpOwog
ICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2Z1bmN0aW9uU3RydWN0dXJlKTsKICAg
ICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlKTsK
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHZpc2l0b3IuYXBwZW5k
KCZ0aGlzT2JqZWN0LT5tX2Fycm93RnVuY3Rpb25TdHJ1Y3R1cmUpOworI2VuZGlmCiAgICAgdmlz
aXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZSk7CiAgICAg
dmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fc3ltYm9sT2JqZWN0U3RydWN0dXJlKTsKICAg
ICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9yZWdFeHBNYXRjaGVzQXJyYXlTdHJ1Y3R1
cmUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxP
YmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgK
aW5kZXggNWYwOGZlNDhhOGZhY2Y1NTdhZWZkMTVmYzYwMzU3MWRjMDBkMmE0OC4uMjJkYzkzYWY0
MGI1YTg3ODI1MzA5ZTdiODMwYmQ3YTM2ZDgyZmM4ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC0yMjQsNiArMjI0LDkgQEAgcHJvdGVj
dGVkOgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fY2FsbGVlU3RydWN0dXJlOwogICAg
IFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fZnVuY3Rpb25TdHJ1Y3R1cmU7CiAgICAgV3JpdGVC
YXJyaWVyPFN0cnVjdHVyZT4gbV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlOworI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9h
cnJvd0Z1bmN0aW9uU3RydWN0dXJlOworI2VuZGlmCiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVy
ZT4gbV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlOwogICAgIFByb3BlcnR5T2Zmc2V0IG1fZnVuY3Rp
b25OYW1lT2Zmc2V0OwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fcHJpdmF0ZU5hbWVT
dHJ1Y3R1cmU7CkBAIC00NTUsNiArNDU4LDkgQEAgcHVibGljOgogICAgIFN0cnVjdHVyZSogY2Fs
bGVlU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9jYWxsZWVTdHJ1Y3R1cmUuZ2V0KCk7IH0K
ICAgICBTdHJ1Y3R1cmUqIGZ1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9mdW5j
dGlvblN0cnVjdHVyZS5nZXQoKTsgfQogICAgIFN0cnVjdHVyZSogYm91bmRGdW5jdGlvblN0cnVj
dHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fYm91bmRGdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgU3RydWN0dXJlKiBhcnJv
d0Z1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9hcnJvd0Z1bmN0aW9uU3RydWN0
dXJlLmdldCgpOyB9CisjZW5kaWYKICAgICBTdHJ1Y3R1cmUqIG5hbWVkRnVuY3Rpb25TdHJ1Y3R1
cmUoKSBjb25zdCB7IHJldHVybiBtX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KICAg
ICBQcm9wZXJ0eU9mZnNldCBmdW5jdGlvbk5hbWVPZmZzZXQoKSBjb25zdCB7IHJldHVybiBtX2Z1
bmN0aW9uTmFtZU9mZnNldDsgfQogICAgIFN0cnVjdHVyZSogbnVtYmVyT2JqZWN0U3RydWN0dXJl
KCkgY29uc3QgeyByZXR1cm4gbV9udW1iZXJPYmplY3RTdHJ1Y3R1cmUuZ2V0KCk7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi5q
cyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iNjFmOTRlNTc1YmQwMDY0ZTJhNTBkNzIwM2I2ODg0ODdiNWQ0YjkyCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1
bmN0aW9uLmpzCkBAIC0wLDAgKzEsMTUwIEBACit2YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNl
ID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAh
PT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBl
Y3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgYXJy
b3dGdW5jdGlvbjAgPSB2ID0+IHYgKyAxOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjAoMTApOwor
dGVzdENhc2UocmVzdWx0LCAxMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhl
IGFycm93IGZ1bmN0aW9uOiB2ID0+IHYgKyAxIik7CisKK3ZhciBhcnJvd0Z1bmN0aW9uMSA9ICh2
KSA9PiB2ICogMjsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24xKDEwKTsKK3Rlc3RDYXNlKHJlc3Vs
dCwgMjAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlv
bjogKHYpID0+IHYgKyAxIik7CisKK3ZhciBhcnJvd0Z1bmN0aW9uMiA9ICgpID0+IDEwMDA7City
ZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMigxMjEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwMCAsIkVy
cm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAoKSA9PiAx
MDAwIik7CisKK3ZhciB0bXBWYXJpYWx2ZTJfMSA9IDE1MTsKK3ZhciBhcnJvd0Z1bmN0aW9uMl8x
ID0gKCkgPT4gdG1wVmFyaWFsdmUyXzE7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMl8xKDEyMSk7
Cit0ZXN0Q2FzZShyZXN1bHQsIHRtcFZhcmlhbHZlMl8xICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICgpID0+IHZhcmlhYmxlIik7CisKK3ZhciBh
cnJvd0Z1bmN0aW9uMyA9ICh2LCB4KSA9PiB2ICsgeDsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24z
KDExLDEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKHgsIHkpID0+IHggKyB5Iik7CisKK3ZhciBhcnJv
d0Z1bmN0aW9uV3JhcHBlciA9IGZ1bmN0aW9uIChjbCwgcGFyYW10ZXIpIHsgcmV0dXJuIGNsKHBh
cmFtdGVyKTsgfTsKKworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMjM0KTsK
K3Rlc3RDYXNlKHJlc3VsdCwgMTIzNCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYykiKTsKKworIHJlc3VsdCA9
IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4gMTIzNCwgMjM0NSk7Cit0ZXN0Q2FzZShyZXN1bHQs
IDEyMzQgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlv
biBhcyBwYXJhbXRlcjogZih4ID0+IGMsIHkpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9u
V3JhcHBlcih4ID0+IDEyMSArIDIzMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDM1MyAsIkVycm9yOiBO
b3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBm
KHggPT4gYzEgKyBjMikiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4g
MTIzICsgMzIxLCA5OTk5KTsKK3Rlc3RDYXNlKHJlc3VsdCwgNDQ0ICwiRXJyb3I6IE5vdCBjb3Jy
ZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBj
MSArIGMyLCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiB4ICsg
MTIsIDIxKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IHggKyBjMSwgeSki
KTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCh4KSA9PiB4ICsgMjEsIDMyKTsK
K3Rlc3RDYXNlKHJlc3VsdCwgNTMsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoeCkgPT4gYzEgKyBjMiwgeSkiKTsKKwor
IHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCk7Cit0ZXN0Q2FzZShyZXN1
bHQsIDEwMCwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0
aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMpIik7CisKKyB2YXIgZXh0X3ZhbHVlID0gMTIxOwor
cmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gZXh0X3ZhbHVlKTsKK3Rlc3RDYXNl
KHJlc3VsdCwgMTIxLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gdikiKTsKKworIHJlc3VsdCA9IGFycm93RnVu
Y3Rpb25XcmFwcGVyKCgpID0+IGV4dF92YWx1ZSAqIDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIx
MCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFz
IHBhcmFtdGVyOiBmKCgpID0+IHYqeCkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFw
cGVyKCh4KSA9PiBleHRfdmFsdWUgKiB4LCAzMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDMwKmV4dF92
YWx1ZSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9u
IGFzIHBhcmFtdGVyOiBmKCh4KSA9PiB2KngsIHkpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0
aW9uV3JhcHBlcigoKSA9PiAxMDAsIDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwICwiRXJyb3I6
IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6
IGYoKCkgPT4gYzEsIHkpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9
PiAxMDAgKyAxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDExMCAsIkVycm9yOiBOb3QgY29ycmVjdCBl
eGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMxICsg
YzIpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiAxMDAgKyAxMSwg
MTIpOwordGVzdENhc2UocmVzdWx0LCAxMTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjMSArIGMyLCB5KSIp
OworCisgdmFyIGFycm93RnVuY3Rpb240ID0gdiA9PiB2ICsgMSwgeHl6MSA9IDEwMTAxOworcmVz
dWx0ID0gYXJyb3dGdW5jdGlvbjQoMTAxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMTIgLCJFcnJv
cjogTm90IGNvcnJlY3QgcGFyc2luZyBvZiB0aCBhcnJvdyBmdW5jdGlvbiBpbnNpZGUgb2YgdGhl
IGxpc3Qgb2YgdmFyczogdmFyIGFmID0gdj0+IHYgKyAxOyB6eGM9YzsiKTsKK3Rlc3RDYXNlKHh5
ejEsIDEwMTAxICwiRXJyb3I6IE5vdCBjb3JyZWN0IHBhcnNpbmcgb2YgdGggYXJyb3cgZnVuY3Rp
b24gaW5zaWRlIG9mIHRoZSBsaXN0IG9mIHZhcnM6IHZhciBhZiA9IHY9PiB2ICsgMTsgenhjPWM7
Iik7CisKKyB2YXIgYXJyb3dGdW5jdGlvbldyYXBwZXIyID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRl
cjEsIHBhcmFtdGVyMikgeyByZXR1cm4gY2wocGFyYW10ZXIxLCBwYXJhbXRlcjIpOyB9OworcmVz
dWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIyKCh4LCB5KSA9PiB4ICsgeSwgMTIgLDQzKTsKK3Rl
c3RDYXNlKHJlc3VsdCwgNTUgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbiBhcyBwYXJhbWV0ZXI6IGYoKHgsIHkpID0+IHggKyB5LCBjMSwgYzIpIik7
CisKKyB2YXIgYXJyb3dGdW5jdGlvQXJyYXkwID0gW3YgPT4gdiAqIDEwXTsKK3Jlc3VsdCA9IGFy
cm93RnVuY3Rpb0FycmF5MFswXSgxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMCAsIkVycm9yOiBO
b3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJy
YXk6IFt2PT52KjEwXSIpOworCisgdmFyIGFycm93RnVuY3Rpb0FycmF5MSA9IFt2ID0+IHYgKyAx
LCB2ID0+IHYgKyAyXTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5MVswXSgxMCk7Cit0ZXN0
Q2FzZShyZXN1bHQsIDExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogW3YgPT4gdiArIDEsICB2ID0+IHYgKyAyXSIp
OworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkxWzFdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwg
MTMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBh
cyBpdGVtIGluIGFycmF5OiBbdiA9PiB2ICsgMSwgIHYgPT4gdiArIDJdIik7CisKKyB2YXIgYXJy
b3dGdW5jdGlvQXJyYXkyID0gWyh2KSA9PiB2ICsgMSwgKHYpID0+IHYgKyAyXTsKK3Jlc3VsdCA9
IGFycm93RnVuY3Rpb0FycmF5MlswXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyICwiRXJyb3I6
IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBh
cnJheTogWyh2KSA9PiB2ICsgMSwgICh2KSA9PiB2ICsgMl0iKTsKK3Jlc3VsdCA9IGFycm93RnVu
Y3Rpb0FycmF5MlsxXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEzICwiRXJyb3I6IE5vdCBjb3Jy
ZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogWyh2
KSA9PiB2ICsgMSwgICh2KSA9PiB2ICsgMl0iKTsKKworIHZhciBhcnJvd0Z1bmN0aW9BcnJheTMg
PSBbKCkgPT4gMTAxLCAoKSA9PiAxMjMyM107CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTNb
MF0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDEsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKCkgPT4gYzEsICAo
KSA9PiBjMl0iKTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5M1sxXSgxMSk7Cit0ZXN0Q2Fz
ZShyZXN1bHQsIDEyMzIzLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogWygpID0+IGMxLCAgKCkgPT4gYzJdIik7CisK
KyB2YXIgYXJyb3dGdW5jdGlvbk9iaiA9IHtmdW5jIDogeSA9PiB5ICsgMTIgfTsKK3Jlc3VsdCA9
IGFycm93RnVuY3Rpb25PYmouZnVuYygxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIzICwiRXJyb3I6
IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcHJvcGVydHk6
IHtmdW5jIDogeSA9PiB5ICsgMTIgfSIpOworCisgdmFyIGFycm93RmF0RnVuY3Rpb24wID0gKCkg
PT4geyByZXR1cm4gMTAwMDsgfTsKK3Jlc3VsdCA9IGFycm93RmF0RnVuY3Rpb24wKDExKTsKK3Rl
c3RDYXNlKHJlc3VsdCwgMTAwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhl
IGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogKCkgPT4geyByZXR1cm4gMTAwMDsg
fSIpOworCit2YXIgYXJyb3dGYXRGdW5jdGlvbjEgPSB2ID0+IHsgdmFyIGludHZhbCA9IDEwMDsg
cmV0dXJuIHYgKiBpbnR2YWw7IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0aW9uMSgxMSk7Cit0
ZXN0Q2FzZShyZXN1bHQsIDExMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6IHggPT4geyB2YXIgdj0xMDAwOyBy
ZXR1cm4gdip4OyB9Iik7CisKK3ZhciBhcnJvd0ZhdEZ1bmN0aW9uMiA9ICh2KSA9PiB7IHZhciBp
bnQgPSAyMDA7IHJldHVybiB2ICogaW50OyB9OworcmVzdWx0ID0gYXJyb3dGYXRGdW5jdGlvbjIo
MTEpOwordGVzdENhc2UocmVzdWx0LCAyMjAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiAoeCkgPT4geyB2YXIg
dj0xMDAwOyByZXR1cm4gdip4OyB9Iik7CisKK3ZhciBhcnJvd0ZhdEZ1bmN0aW9uMyA9ICh2LCB4
KSA9PiB7IHZhciByZXN1bHQgPSB4ICogdjsgcmV0dXJuIHJlc3VsdDsgfTsKK3Jlc3VsdCA9IGFy
cm93RmF0RnVuY3Rpb24zKDExLCAxMjIyMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDEzNDQ0MiAsIkVy
cm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9k
eSBhcyBibG9jazogKHYsIHgpID0+IHsgdmFyIHJlc3VsdCA9IHggKiB2OyByZXR1cm4gcmVzdWx0
OyB9Iik7CisKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHg9PntyZXR1cm4geCAqIDI1
O30sIDEyMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDI1KjEyMSAsIkVycm9yOiBOb3QgY29ycmVjdCBl
eGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogZih4ID0+
IHtyZXR1cm4geCAqIDI1O30sIDEyMSkiKTsKKworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBw
ZXIyKCh4LCB5KT0+e3JldHVybiB4ICogeTt9LCAxNCwgMTIpOwordGVzdENhc2UocmVzdWx0LCAx
NCoxMiAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9u
IHdpdGggYm9keSBhcyBibG9jazogZigoeCwgeSk9PntyZXR1cm4geCAqIHk7fSwgMTQsIDEyMSkp
Iik7CisKK3ZhciBzaW1wbGVBcnJvd0Z1bmN0aW9uID0gKCkgPT4ge307CisKK3Rlc3RDYXNlKHR5
cGVvZiBzaW1wbGVBcnJvd0Z1bmN0aW9uLCAiZnVuY3Rpb24iLCAiRXJyb3I6IE5vdCBjb3JyZWN0
IHR5cGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKE9iamVjdC5nZXRQcm90
b3R5cGVPZihzaW1wbGVBcnJvd0Z1bmN0aW9uKSwgRnVuY3Rpb24ucHJvdG90eXBlLCAiRXJyb3I6
IE5vdCBjb3JyZWN0IGdldFByb3RvdHlwZU9mIHZhbHVlIGZvciBhcnJvdyBmdW5jdGlvbiIpOwor
Cit0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uIGluc3RhbmNlb2YgRnVuY3Rpb24sIHRydWUs
ICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBpbnN0YW5jZW9mIG1ldGhvZCBmb3IgYXJy
b3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2Uoc2ltcGxlQXJyb3dGdW5jdGlvbi5jb25zdHJ1Y3Rv
ciA9PSBGdW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIGNvbnN0
cnVjdG9yIG1ldGhvZCBvZiBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZSh0eXBlb2Ygc2lt
cGxlQXJyb3dGdW5jdGlvbi5wcm90b3R5cGUgPT09ICd1bmRlZmluZWQnLCB0cnVlLCAiRXJyb3I6
IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9uIik7CisK
K3ZhciBlcnJvck9uQ3JlYXRlID0gZmFsc2U7CisKK3RyeSB7CisgIHZhciBmYyA9IG5ldyBzaW1w
bGVBcnJvd0Z1bmN0aW9uKCk7Cit9CitjYXRjaCAoZSkgeworICBlcnJvck9uQ3JlYXRlID0gdHJ1
ZTsKK30KKwordGVzdENhc2UoZXJyb3JPbkNyZWF0ZSwgdHJ1ZSwgIkVycm9yOiBObyBlcnJvciBv
biBkdXJpbmcgcnVuIG5ldyBBcnJvd0Z1bmN0aW9uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJD
b3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDhiMTEyZmFl
NDViOTU3ZGQyNjQxZmRiNmY0Njg5ODgwNTg5YWY4NjAuLjExNDhhNzY5NzJmMTE0YzM4M2QzMjYy
OWYxZjA5M2M2ODU1MGEwNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00NSw2ICs0NSw3IEBAIEVOQUJMRV9D
QU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7
CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7CiBF
TkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYOworRU5BQkxF
X0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5U
QVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7
CiBFTkFCTEVfQ1NQX05FWFQgPSA7CiBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMiA9IEVO
QUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yOwpAQCAtMjE0LDQgKzIxNSw0IEBAIEVOQUJMRV9M
TElOVF9DX0xPT1AgPSA7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBF
TkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAk
KEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChF
TkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElP
TlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9O
SU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFU
SU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxF
X0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJM
RV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFC
TEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9D
U1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19U
RVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lC
SUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJE
X1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNG
RVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNf
TEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9B
UEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFC
TEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5H
KSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VS
UykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BM
QVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1Nf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdB
Q1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8p
ICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9N
QVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09V
UkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAk
KEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJ
R0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BP
SU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMp
ICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JF
UVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChF
TkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkg
JChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRM
RV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIp
ICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9F
TEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkg
JChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19U
UkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJ
QSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExB
WSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxF
X1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9V
VCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09Q
KSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BS
RVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklO
RykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9P
VkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNI
TUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZB
U19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
KSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChF
TkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURB
UFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVH
SU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMp
ICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5B
QkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQo
RU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVO
QUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5B
QkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1Ip
ICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAk
KEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RF
UFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01f
VElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNF
X0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVO
QUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5U
UykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9M
RUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVG
RVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQo
RU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVf
TUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FM
RSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9I
V0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExV
R0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9Q
Uk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FV
T1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9B
VVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJ
T05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NS
T0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJ
KSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NW
R19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChF
TkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJM
RV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NT
X1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykg
JChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJ
RVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQo
RU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJF
X1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChF
TkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5B
QkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAk
KEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDhi
MTEyZmFlNDViOTU3ZGQyNjQxZmRiNmY0Njg5ODgwNTg5YWY4NjAuLjExNDhhNzY5NzJmMTE0YzM4
M2QzMjYyOWYxZjA5M2M2ODU1MGEwNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQv
bWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00NSw2ICs0NSw3
IEBAIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5W
QVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9N
RVNTQUdJTkc7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IEVOQUJMRV9FUzZfQ0xBU1NfU1lO
VEFYOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dG
VU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkc7CiBFTkFCTEVfQ1NQX05FWFQgPSA7CiBFTkFCTEVfQ1NTX0FOSU1BVElPTlNf
TEVWRUxfMiA9IEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yOwpAQCAtMjE0LDQgKzIxNSw0
IEBAIEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FS
SVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJE
X0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJM
RV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FD
SEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BS
T1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRB
WCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJM
RV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJF
QUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFU
SU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRB
VElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05T
KSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChF
TkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVf
Q1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFC
TEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxF
X0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVf
REVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChF
TkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5B
QkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVf
RlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVD
QVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1F
Ul9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09O
VFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxF
X1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENI
KSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFC
TEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRF
Ul9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAk
KEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09O
Q1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4p
ICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJ
TUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEp
ICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9D
T01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9N
RURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExf
U05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQo
RU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09U
Rl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJM
RV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJB
SUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVO
QUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19N
T0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFC
TEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0la
RVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJM
RV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVf
TExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5B
QkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
XzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChF
TkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQo
RU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9D
U1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JP
WF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NT
U19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9D
U1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVO
QUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxF
X0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVf
QlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1F
X0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9F
TEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VM
RU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNf
Q09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVE
X01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9F
VkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJM
RV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURE
RU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVO
QUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNP
TVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVU
X1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9T
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVT
KSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFC
TEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9M
U19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElD
UykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNF
X0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxF
X05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VT
KSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1Qp
ICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFC
TEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5B
QkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVO
QUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxF
X1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMp
ICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RF
VEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0la
SU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykg
JChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVO
QUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUp
ICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVO
QUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRf
UkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZU
TF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9B
UklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBi
L1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmlu
ZGV4IDhiMTEyZmFlNDViOTU3ZGQyNjQxZmRiNmY0Njg5ODgwNTg5YWY4NjAuLjExNDhhNzY5NzJm
MTE0YzM4M2QzMjYyOWYxZjA5M2M2ODU1MGEwNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJL
aXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00NSw2ICs0NSw3
IEBAIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5W
QVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9N
RVNTQUdJTkc7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IEVOQUJMRV9FUzZfQ0xBU1NfU1lO
VEFYOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dG
VU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkc7CiBFTkFCTEVfQ1NQX05FWFQgPSA7CiBFTkFCTEVfQ1NTX0FOSU1BVElPTlNf
TEVWRUxfMiA9IEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yOwpAQCAtMjE0LDQgKzIxNSw0
IEBAIEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FS
SVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJE
X0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJM
RV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FD
SEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BS
T1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRB
WCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJM
RV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJF
QUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFU
SU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRB
VElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05T
KSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChF
TkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVf
Q1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFC
TEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxF
X0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVf
REVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChF
TkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5B
QkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVf
RlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVD
QVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1F
Ul9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09O
VFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxF
X1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENI
KSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFC
TEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRF
Ul9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAk
KEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09O
Q1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4p
ICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJ
TUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEp
ICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9D
T01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9N
RURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExf
U05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQo
RU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09U
Rl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJM
RV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJB
SUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVO
QUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19N
T0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFC
TEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0la
RVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJM
RV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVf
TExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5B
QkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
XzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChF
TkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQo
RU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9D
U1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JP
WF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NT
U19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9D
U1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVO
QUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxF
X0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVf
QlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1F
X0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9F
TEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VM
RU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNf
Q09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVE
X01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9F
VkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJM
RV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURE
RU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVO
QUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNP
TVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVU
X1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9T
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVT
KSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFC
TEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9M
U19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElD
UykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNF
X0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxF
X05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VT
KSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1Qp
ICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFC
TEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5B
QkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVO
QUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxF
X1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMp
ICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RF
VEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0la
SU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykg
JChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVO
QUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUp
ICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVO
QUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRf
UkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZU
TF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9B
UklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UgYi9Tb3VyY2UvY21ha2UvV2ViS2l0
RmVhdHVyZXMuY21ha2UKaW5kZXggMzJjMjM1ZDk4YjVhNDIwZWJlMzM0ODM0YzdiNmE0MTgyYjIy
MjIwYS4uYTY3NTM3MTQ1NjI3Y2QzOGEyNzA3OWNkNWRmZTk4NjgyYzkxZjQ2NSAxMDA2NDQKLS0t
IGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9X
ZWJLaXRGZWF0dXJlcy5jbWFrZQpAQCAtMjgsNiArMjgsNyBAQCBtYWNybyhXRUJLSVRfT1BUSU9O
X0JFR0lOKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DQU5WQVNfUFJPWFkgIlRv
Z2dsZSBDYW52YXNQcm94eSBzdXBwb3J0IiBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUo
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HICJUb2dnbGUgTWVzc2FnZUNoYW5uZWwgYW5kIE1lc3Nh
Z2VQb3J0IHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9FUzZf
Q0xBU1NfU1lOVEFYICJUb2dnbGUgRVM2IGNsYXNzIHN5bnRheCBzdXBwb3J0IiBPTikKKyAgICBX
RUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYICJUb2dn
bGUgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheCBzdXBwb3J0IiBPTikKICAgICBXRUJLSVRfT1BU
SU9OX0RFRklORShFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgIlRvZ2dsZSBjb250ZW50IGZpbHRl
cmluZyBzdXBwb3J0IiBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NPTlRF
WFRfTUVOVVMgIlRvZ2dsZSBDb250ZXh0IE1lbnUgc3VwcG9ydCIgT04pCiAgICAgV0VCS0lUX09Q
VElPTl9ERUZJTkUoRU5BQkxFX0NTUF9ORVhUICJUb2dnbGUgQ29udGVudCBTZWN1cml0eSBQb2xp
Y3kgMS4xIHN1cHBvcnQiIE9GRikKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNt
YWtlIGIvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UKaW5kZXggMjFkM2ZjYzVkOTgzZjk1OTVk
ZWYzNTEwNTY4Y2RjOTg5NjUyNDZlZC4uY2YxYWZlNTZjNWYwZjI2MDk5MDkwZTUxYjdiMmE2NjAz
ZWEwNzMyMSAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UKKysrIGIvU291
cmNlL2NtYWtlY29uZmlnLmguY21ha2UKQEAgLTEzLDYgKzEzLDcgQEAKICNjbWFrZWRlZmluZTAx
IEVOQUJMRV9DQU5WQVNfUFJPWFkKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9DSEFOTkVMX01FU1NB
R0lORwogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgKKyNjbWFrZWRlZmlu
ZTAxIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgKICNjbWFrZWRlZmluZTAxIEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORwogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NPTlRFWFRfTUVOVVMK
ICNjbWFrZWRlZmluZTAxIEVOQUJMRV9DUkVERU5USUFMX1NUT1JBR0UKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cGVybC9GZWF0dXJlTGlzdC5wbQppbmRleCAxNmZkNjQ5YzY4ZDZiM2Q0M2QwYjMxZTMzNTc5
MDRmYzg3MjRhN2ViLi4yMjNiMzExYmNmYmFiMmMyNjhhN2YyNjUyZDE0ZWQxOTYzN2ZkZmNlIDEw
MDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCkBAIC00NCw2ICs0NCw3IEBA
IEJFR0lOIHsKIG15ICgKICAgICAkdGhyZWVEUmVuZGVyaW5nU3VwcG9ydCwKICAgICAkYWNjZWxl
cmF0ZWQyRENhbnZhc1N1cHBvcnQsCisgICAgJGFycm93ZnVuY3Rpb25TeW50YXgsCiAgICAgJGJh
dHRlcnlTdGF0dXNTdXBwb3J0LAogICAgICRjYW52YXNQYXRoU3VwcG9ydCwKICAgICAkY2FudmFz
UHJveHlTdXBwb3J0LApAQCAtMTU0LDYgKzE1NSw5IEBAIG15IEBmZWF0dXJlcyA9ICgKICAgICB7
IG9wdGlvbiA9PiAiYWNjZWxlcmF0ZWQtMmQtY2FudmFzIiwgZGVzYyA9PiAiVG9nZ2xlIEFjY2Vs
ZXJhdGVkIDJEIENhbnZhcyBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0FDQ0VM
RVJBVEVEXzJEX0NBTlZBUyIsIGRlZmF1bHQgPT4gaXNHdGsoKSwgdmFsdWUgPT4gXCRhY2NlbGVy
YXRlZDJEQ2FudmFzU3VwcG9ydCB9LAogCisgICAgeyBvcHRpb24gPT4gImFycm93ZnVuY3Rpb24t
c3ludGF4IiwgZGVzYyA9PiAiVG9nZ2xlIEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXggc3VwcG9y
dCIsCisgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgiLCBk
ZWZhdWx0ID0+IDEsIHZhbHVlID0+IFwkYXJyb3dmdW5jdGlvblN5bnRheCB9LAorCiAgICAgeyBv
cHRpb24gPT4gImJhdHRlcnktc3RhdHVzIiwgZGVzYyA9PiAiVG9nZ2xlIEJhdHRlcnkgU3RhdHVz
IHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQkFUVEVSWV9TVEFUVVMiLCBkZWZh
dWx0ID0+IGlzRWZsKCksIHZhbHVlID0+IFwkYmF0dGVyeVN0YXR1c1N1cHBvcnQgfSwKIApkaWZm
IC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IGU2ZjAwYWQzZWJmNTBkY2MxYmI3
N2I3Y2Q2MGY2N2U0ZDU1MDNiYWUuLjJmZWJlOTkxYzdkYTQ3YTc0ZDNkYjE2NjMxMjI1MDUzYjhl
NzFjMTEgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NSBAQAorMjAxNS0wMy0yNyAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29t
PgorCisgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKwor
ICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZl
YXR1cmUgZmxhZyB0byBzd2l0Y2ggb24vb2ZmIGVzNiBhcnJvdyBmdW5jdGlvbiBFTkFCTEVfRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYCisKKyAgICAgICAgICogU291cmNlL2NtYWtlL1dlYktpdEZl
YXR1cmVzLmNtYWtlOgorICAgICAgICAgKiBTb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZToKKwog
MjAxNS0wMy0yNCAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFtFRkxdIEFkZCBPcGVuV2ViUlRDIGluIGpoYnVpbGQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249664</attachid>
            <date>2015-03-28 10:19:56 -0700</date>
            <delta_ts>2015-03-31 15:36:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150328191913.patch</filename>
            <type>text/plain</type>
            <size>121620</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyMDExCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAy
NjA1ODNiZWZmZWNkNzMxNDI0NGNiYzkzMzhhYTljMTI4OTExM2U0Li4wM2U0ZjYwNDg2NDlkNDM0
Y2ZmNGEwNWEyMjhhYTU1NjhmMjE1MzI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMTggQEAKKzIwMTUtMDMtMjggIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MDg1NQorCisgICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGRlZCBzdXBwb3J0IG9mIEVTNiBhcnJvdyBmdW5jdGlvbi4gQ2hhbmdlcyB3ZXJlIG1hZGUgYWNj
b3JkaW5nIGZvbGxvd2luZyBzcGVjIGh0dHA6Ly93aWtpLmVjbWFzY3JpcHQub3JnL2Rva3UucGhw
P2lkPWhhcm1vbnk6YXJyb3dfZnVuY3Rpb25fc3ludGF4CisgICAgICAgIEluIHBhdGNoIHdlcmUg
aW1wbGVtZW50ZWQgdGhlIHNpbXBsZXN0IGNhc2VzOgorICAgICAgICAgIDEgbm8gcGFyYW1ldGVy
cyAgICAgICAgICAgICAgICAoKSA9PiAxMCArIDIwCisgICAgICAgICAgMiBzaW5nbGUgcGFyYW1l
dGVyICAgICAgICAgICAgICB4ID0+IHggKyAyMAorICAgICAgICAgIDMgbXVsdGlwbGUgcGFyYW1l
dGVycyAgICAgICh4LCB5KSA9PiB4ICsgeQorICAgICAgICAgIDQgYXJyb3cgZnVuY3Rpb24gd2l0
aCBibG9jayAgICAgeCA9PiB7IHJldHVybiB4KjEwOyB9CisgICAgICAgICAgNSBsZXhpY2FsIHRo
aXMgLSB2YXJpYWJsZSB0aGlzIGlzIHBvaW50IHRvIHRoZSB0aGlzIG9mIHRoZSBmdW5jdGlvbiB3
aGVyZSBhcnJvdyBmdW5jdGlvbiBpcyBkZWNsYXJlZAorICAgICAgICAgIDYgTm8gY29uc3RydWN0
b3IgLSB0aGUgdXNpbmcgb2YgdGhlIGNvbW1hbmQgbmV3IGZvciBhcnJvdyBmdW5jdGlvbiBsZWFk
cyB0byBydW50aW1lIGVycm9yLiAKKworICAgICAgICAgTm90IHlldCBpbXBsZW1lbnRlZDoKKyAg
ICAgICAgICAxIHRoZSB2YXJpYWJsZSB3aXRoIG5hbWUgYXJndW1lbnRzIGluc2lkZSBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gc2hvdWxkIHBvaW50IHRvIGxpc3Qgb2YgYXJndW1lbnRzIG9mIGZ1bmN0
aW9uIHdoZXJlIGFycm93IGZ1bmN0aW9uIGlzIGRlY2xhcmVkCisgICAgICAgICAgMiBwYXJzZXIg
d2lsbCBwYXJzZSB0aGUgc3RhdGVtZW50IHgsIHkgPT4geCArIHkgaW5zdGVhZCBvZiByYWlzaW5n
IGV4Y2VwdGlvbgorICAgICAgICAgIDMgbWV0aG9kIGNhbGwsIGFwcGx5LCBiaW5kIHNob3VsZCBu
b3Qgb3ZlcnJpZGUgdGhlIHRoaXMgdmFyaWFibGUgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlv
bgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6Cisg
ICAgICAgICogSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qOgor
ICAgICAgICAqIGJ5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uOgorICAgICAgICAqIGJ5dGVjb2Rl
L0J5dGVjb2RlVXNlRGVmLmg6CisgICAgICAgIChKU0M6OkZ1bmN0b3I6OmNvbXB1dGVVc2VzRm9y
Qnl0ZWNvZGVPZmZzZXQpOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAg
ICAgIChKU0M6OkNvZGVCbG9jazo6ZHVtcEJ5dGVjb2RlKToKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVH
ZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Fy
cm93RnVuY3Rpb25FeHByZXNzaW9uKTogYWRkZWQKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5l
cmF0b3I6OmVtaXRUaGlzTm9kZUJ5dGVjb2RlKTogYWRkZWQKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvTm9kZXNDb2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6ZW1pdEJ5dGVjb2RlOjplbWl0Qnl0
ZWNvZGUpOiBhZGRlZAorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHByTm9kZTo6ZW1pdEJ5dGVj
b2RlKTogYWRkZWQKKyAgICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAg
ICAoSlNDOjpCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgICogZGZnL0RGR0Nh
cGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkNhcGFiaWxpdHlMZXZlbDo6Y2FwYWJpbGl0
eUxldmVsKToKKyAgICAgICAgKiBqaXQvSklULmg6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9v
cF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRJbmxpbmVzLmg6
CisgICAgICAgIChKU0M6OkpJVDo6Y2FsbE9wZXJhdGlvbik6IGFkZGVkCisgICAgICAgICogaml0
L0pJVC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcyk6Cisg
ICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3Bf
bmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5j
cHA6CisgICAgICAgIChKU0M6OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5ld0Fycm93RnVuY3Rp
b24pOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmg6CisgICAgICAgIChKU0M6
OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24pOiBhZGRlZAorICAgICAg
ICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAgICAgICAgKExMSU5UX1NMT1dfUEFUSF9E
RUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGxsaW50
L0xMSW50U2xvd1BhdGhzLmg6CisgICAgICAgIChMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3Bh
dGhfbmV3X2Fycm93X2Z1bmNfZXhwKSk6IGFkZGVkCisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206CisgICAgICAgICogcGFyc2VyL0FTVEJ1aWxkZXIuaDoKKyAgICAgICAg
KEpTQzo6QVNUQnVpbGRlcjo6Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIpOgorICAgICAgICAqIHBh
cnNlci9MZXhlci5jcHA6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9u
KToKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OmxleCk6CisgICAgICAgICogcGFyc2VyL0xleGVy
Lmg6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9uKToKKyAgICAgICAg
KiBwYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oOgorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHBy
Tm9kZTo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZAorICAgICAgICAqIHBhcnNlci9Ob2Rlcy5o
OgorICAgICAgICAoSlNDOjpOb2RlOjppc0Fycm93RnVuY0V4cHJOb2RlKTogYWRkZWQKKyAgICAg
ICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZCBjbGFzcworICAgICAgICAqIHBhcnNl
ci9QYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3Vy
Y2VFbGVtZW50cyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1h
cnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjopOgorICAgICAgICAoSlNDOjpQ
YXJzZXI6OnBhcnNlU291cmNlRWxlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VT
dGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXNzaWdubWVudEV4cHJlc3Np
b24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlUHJpbWFyeUV4cHJlc3Npb24pOgorICAg
ICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6
UGFyc2VyOjpzZXRFbmRPZlN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VB
cnJvd0Z1bmN0aW9uV3JhcHBlcik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0Z1
bmN0aW9uSW5mbyk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uQm9k
eSk6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorICAgICAgICAoSlNDOjpQYXJzZXI6OkZ1
bmN0aW9uUGFyc2VUeXBlKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZVNvdXJjZUVsZW1l
bnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KToKKyAgICAgICAgKEpT
Qzo6UGFyc2VyOjpwYXJzZUFycm93RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6
c2V0RW5kT2ZTdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5j
dGlvbldyYXBwZXIpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbklu
Zm8pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkJvZHkpOgorICAg
ICAgICAqIHBhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaDoKKyAgICAgICAgKiBwYXJzZXIvUGFy
c2VyVG9rZW5zLmg6CisgICAgICAgIChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6YXJyb3dGdW5j
dGlvbk9mZnNldCk6IGFkZGVkCisgICAgICAgIChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6IGlz
QXJyb3dGdW5jdGlvbik6IGFkZGVkCisgICAgICAgIChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6
IGFycm93RnVuY3Rpb25Cb2R5VHlwZSk6IGFkZGVkCisgICAgICAgICogcGFyc2VyL1NvdXJjZUNv
ZGUuaDoKKyAgICAgICAgKEpTQzo6U291cmNlQ29kZTo6c3ViQXJyb3dFeHByZXNzaW9uKToKKyAg
ICAgICAgKiBwYXJzZXIvU3ludGF4Q2hlY2tlci5oOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVj
a2VyOjpjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcik6CisgICAgICAgICogcGFyc2VyL1NvdXJjZVBy
b3ZpZGVyQ2FjaGVJdGVtOgorICAgICAgICAoSlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbUNy
ZWF0aW9uUGFyYW1ldGVycyk6CisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVt
KToKKyAgICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW06OmVuZEFycm93RnVuY3Rp
b25Ub2tlbik6CisgICAgICAgICogcnVudGltZS9KU0Fycm93RnVuY3Rpb24uaDogYWRkZWQgY2xh
c3MgZm9yIGhhbmRsZSBhcnJvdyBmdW5jdGlvbiBjcmVhdGlvbiBhbmQgZXhlY3V0aW9uCisgICAg
ICAgICogcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwOgorICAgICAgICAqIHJ1bnRpbWUvSlNG
dW5jdGlvbi5oOgorICAgICAgICAoSlNDOjpKU0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKTogYWRkZWQg
b25lIG1vcmUgY29uc3RydWN0b3IKKyAgICAgICAgKiBydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVz
Lmg6CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OkpTRnVuY3Rpb24pOiBhZGRlZCBjb25zdHJ1
Y3RvciBpbXBsZW1lbnRhdGlvbgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3Bw
OgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6aW5pdCk6CisgICAgICAgIChKU0M6OkpT
R2xvYmFsT2JqZWN0OjptX2Fycm93RnVuY3Rpb25TdHJ1Y3R1cmUpOiBhZGRlZAorICAgICAgICAo
SlNDOjpKU0dsb2JhbE9iamVjdDo6YXJyb3dGdW5jdGlvblN0cnVjdHVyZSk6CisgICAgICAgICog
dGVzdHMvc3RyZXNzL2pzL2Fycm93ZnVuY3Rpb24uanM6CisKIDIwMTUtMDMtMjYgIEZpbGlwIFBp
emxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBGVEwgU2NvcGVkQXJndW1lbnRzIEdl
dEFycmF5TGVuZ3RoIGdlbmVyYXRlcyBpbmNvcnJlY3QgY29kZSBhbmQgY3Jhc2hlcyBpbiBMTFZN
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggMjk4MTc2ZmZlMGMzMjBkODdhM2FjZTMxMjY3ODQzNTcyYjdiYTQzNi4u
NjI3NTYzZTEyNWY1ZjkyNjkyOTFjNjNmMGQzZmM1NzY4MjViMzQ0YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE0IEBACisyMDE1LTAzLTI3ICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBn
bWFpbC5jb20+CisKKyAgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24g
c3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
IEFkZGVkIGZlYXR1cmUgZmxhZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBh
cnJvdyBmdW5jdGlvbgorCisgICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnOgorCiAyMDE1LTAzLTI1ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4K
IAogICAgICAgICBDU1MgYmxlbmQgbW9kZXMgZG8gbm90IHBhcnNlIHdoZW4gaW4gdGhlIHNoYWRv
dyB0cmVlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggMjYyMzZlZjk2MDVlZWM3ZTQ4Y2NjMjE3MzAwNGIw
NTk4Yzg0ODg0NC4uOWY5NTEwMmI2OWE1YjllN2RlZmQ1Y2Q0ZjJlOTIyYmNhNzU5Y2ViNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTAzLTI3ICBTa2FjaGtvdiBBbGV4
YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgIFtFUzZdIEltcGxlbWVudCBF
UzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyBFTkFCTEVfRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgorCisgICAgICAgICAqIENvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1LTAzLTI0ICBBbmRlcnMgQ2FybHNz
b24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IGRlc2lnbmF0ZWQgaW5pdGlh
bGl6ZXIgdmlvbGF0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDcy
MTEyNzY1MmQ4ODhmNTAxYWI2YzIxN2I4MzM0NDE5MDQzZjU4NjQuLjUwNTNkYzE3ZTZkNThiMTEx
YzczMGE5NGNjMDc0YjBjYmU1MDc4YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50
eHQKQEAgLTQ2Niw2ICs0NjYsNyBAQCBzZXQoSmF2YVNjcmlwdENvcmVfUlVOVElNRV9TT1VSQ0VT
CiAgICAgcnVudGltZS9KU0FycmF5QnVmZmVyVmlldy5jcHAKICAgICBydW50aW1lL0pTQXJyYXlJ
dGVyYXRvci5jcHAKICAgICBydW50aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAKKyAgICBydW50aW1l
L0pTQXJyb3dGdW5jdGlvbi5jcHAKICAgICBydW50aW1lL0pTR2xvYmFsT2JqZWN0RGVidWdnYWJs
ZS5jcHAKICAgICBydW50aW1lL0pTQ0pTVmFsdWUuY3BwCiAgICAgcnVudGltZS9KU0NhbGxlZS5j
cHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0MWZkYjZm
NDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2OTcyZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1NTBhMDUx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00NSw2ICs0NSw3IEBAIEVOQUJMRV9DQU5W
QVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7CiBFTkFC
TEVfRVM2X0NMQVNTX1NZTlRBWCA9IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYOworRU5BQkxFX0VT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7
CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CiBF
TkFCTEVfQ1NQX05FWFQgPSA7CiBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMiA9IEVOQUJM
RV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yOwpAQCAtMjE0LDQgKzIxNSw0IEBAIEVOQUJMRV9MTElO
VF9DX0xPT1AgPSA7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFC
TEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVO
QUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFC
TEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMp
ICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5H
KSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfQ09O
VEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9O
U19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NT
U19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9D
U1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVf
Q1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1Nf
U0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhU
KSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJ
VFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NV
UFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJf
SVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVE
X01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVW
RUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkp
ICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVf
R0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAk
KEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykg
JChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lO
UFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlC
QUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVY
VF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lf
Q1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5B
QkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQo
RU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRI
TUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNF
KSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVO
QUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FU
T1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5B
QkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5U
RVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQo
RU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVF
U1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFC
TEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChF
TkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVf
U1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9D
UllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQo
RU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVN
RU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChF
TkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChF
TkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFD
SykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkg
JChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkg
JChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dF
Ql9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkg
JChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAk
KEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNF
TlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykg
JChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVS
RkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVO
VF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19Q
QVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAk
KEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFC
TEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JS
RUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRB
VElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9O
UykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQo
RU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxF
X0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5B
QkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJM
RV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxF
X0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQo
RU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVO
QUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxF
X0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJF
Q0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElN
RVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NP
TlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQo
RU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJM
RV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykg
JChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdB
Q1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRD
SCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5B
QkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVU
RVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkg
JChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NP
TkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lO
KSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9Y
SU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RB
KSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRP
Q09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05f
TUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xM
X1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAk
KEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19P
VEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFC
TEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RS
QUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChF
TkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdf
TU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5B
QkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJ
WkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFC
TEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxF
X0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVO
QUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENv
cmUudmN4cHJvagppbmRleCA3NDMzMGU3MDNkYWM0ZDM2MDBlYWIyN2EwYWQ4ZWI0YWYwMGUwYjMy
Li4xZTMzZDE3NTk4NTRhZDAxY2Q2ZDNlMjAzOWVhZjc3YjY4YzhlOGZmIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29y
ZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hw
cm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKQEAgLTczNCw2ICs3MzQsNyBAQAogICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0FycmF5QnVmZmVyUHJvdG90eXBlLmNwcCIgLz4K
ICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJheUJ1ZmZlclZpZXcuY3Bw
IiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0JvdW5kRnVuY3Rpb24u
Y3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0Fycm93RnVuY3Rp
b24uY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NKU1ZhbHVl
LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDYWxsZWUuY3Bw
IiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NhdGNoU2NvcGUuY3Bw
IiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBiYTJkMTM2ZWI5NWI1YTlmZDM1
NGFiMzBhOGYzNjkxYmY3OGNlYjg2Li5lOWQ2ZjI0NjVlMzM4NTVkMzY4YjRkMjA0ZTBkNzY0NmM1
NmU5ODlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTA5Miw2ICsxMDkyLDgg
QEAKIAkJODZGM0VFQkYxNjhDREU5MzAwNzdCOTJBIC8qIE9iamNSdW50aW1lRXh0cmFzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkYzRUVCNjE2ODU1
QTVCMDA3N0I5MkEgLyogT2JqY1J1bnRpbWVFeHRyYXMuaCAqLzsgfTsKIAkJODZGQTlFOTExNDJC
QkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkZBOUU4RjE0MkJCQjJEMDAxNzczQjcgLyogSlNC
b3VuZEZ1bmN0aW9uLmNwcCAqLzsgfTsKIAkJODZGQTlFOTIxNDJCQkIyRTAwMTc3M0I3IC8qIEpT
Qm91bmRGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICovOyB9
OworCQk4QjBGNDI0QzFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhCMEY0MjRCMUFCRDZE
RTIwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uY3BwICovOyB9OworCQk4QjBGNDI0QzFBQkQ2
REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJv
d0Z1bmN0aW9uLmggKi87IH07CiAJCTkwMjEzRTNEMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlT
dGF0aXN0aWNzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDkwMjEzRTNCMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmNwcCAqLzsg
fTsKIAkJOTAyMTNFM0UxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkwMjEzRTNDMTIzQTQw
QzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTMwNTJDMzQwRkI3OTIxOTAwNDhGREMzIC8qIFBh
cnNlckFyZW5hLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDkzMDUyQzMyMEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5jcHAgKi87IH07CkBA
IC0yODI0LDYgKzI4MjYsOCBAQAogCQk4NkY3NUVGRDE1MUMwNjJGMDA3QzlCQTMgLyogUmVnRXhw
TWF0Y2hlc0FycmF5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJl
Z0V4cE1hdGNoZXNBcnJheS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2RkE5
RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5j
dGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0JvdW5kRnVuY3Rpb24u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOEIwRjQyNEExQUJENkQyRjAwMzkxN0VB
IC8qIEpTQXJyb3dGdW5jdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Fycm93RnVuY3Rpb24uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8q
IEpTQXJyb3dGdW5jdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU0Fycm93RnVuY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MDIx
M0UzQjEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZW1vcnlTdGF0aXN0aWNzLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTAyMTNFM0MxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0
YXRpc3RpY3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVtb3J5U3RhdGlz
dGljcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzA1MkMzMjBGQjc5MjE5MDA0
OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gUGFyc2VyQXJlbmEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDQz
OCw2ICs0NDQyLDggQEAKIAkJCQlBN0JEQUVDNTE3RjRFQTE0MDBGNjE0MEMgLyogSlNBcnJheUl0
ZXJhdG9yLmggKi8sCiAJCQkJODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRGdW5j
dGlvbi5jcHAgKi8sCiAJCQkJODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5j
dGlvbi5oICovLAorCQkJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rp
b24uaCAqLywKKwkJCQk4QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9u
LmNwcCAqLywKIAkJCQk2NTdDRjQ1NjE5QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuY3BwICov
LAogCQkJCTY1N0NGNDU3MTlCRjY2NjIwMDRBQ0JGMiAvKiBKU0NhbGxlZS5oICovLAogCQkJCTBG
RDk0OTdFMUE5N0RCOTYwMEUyODk2NiAvKiBKU0NhdGNoU2NvcGUuY3BwICovLApAQCAtNzE2Niw2
ICs3MTcyLDcgQEAKIAkJCQkwRkQ4QTMxQjE3RDUxRjIyMDBDQTJDNDAgLyogRlRMT1NSRW50cnku
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyMzVCREMxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9T
UkV4aXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyMzVCREYxNzE3OEUxQzAwNjkwQzdGIC8q
IEZUTE9TUkV4aXRDb21waWxlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4QjBGNDI0QzFBQkQ2
REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBG
RUEwQTJBMTcwOTYyOTYwMEJCNzIyQyAvKiBGVExPdXRwdXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMEY0ODUzMjkxODdERkRFQzAwODNCNjg3IC8qIEZUTFJlY292ZXJ5T3Bjb2RlLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGNkIxQ0MzMTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExSZWdpc3RlckF0
T2Zmc2V0LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCmluZGV4IDZiMjQzOTE1NmFiM2FmYWU2YjU1OGFiOTA2
NmQyMjI1MTVkNTllNDUuLjQzNjA3MDlkOGY3ZTQxODIxNWFiMmFmOTU5YmY2NDQ4YWYwMzgwMjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxpc3Qu
anNvbgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpz
b24KQEAgLTk1LDYgKzk1LDcgQEAKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX3N3aXRjaF9z
dHJpbmciLCAibGVuZ3RoIiA6IDQgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX25ld19m
dW5jIiwgImxlbmd0aCIgOiA0IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfZnVu
Y19leHAiLCAibGVuZ3RoIiA6IDQgfSwKKyAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX25ld19h
cnJvd19mdW5jX2V4cCIsICJsZW5ndGgiIDogNSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAi
b3BfY2FsbCIsICJsZW5ndGgiIDogOSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2Fs
bF9ldmFsIiwgImxlbmd0aCIgOiA5IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9jYWxs
X3ZhcmFyZ3MiLCAibGVuZ3RoIiA6IDkgfSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgKaW5kZXggODVmMjkxNWM3ZThmNjAxYWQzZWMxNzhiZjY5
ZTM1NDRmNzU0YzJjZi4uMTdiNmJlZDgxZmUyNWI2MjMzMGJhYTNmZDAzMWM3MTZhYjg4ZjliZiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVm
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgK
QEAgLTExNiw2ICsxMTYsOSBAQCB2b2lkIGNvbXB1dGVVc2VzRm9yQnl0ZWNvZGVPZmZzZXQoCiAg
ICAgY2FzZSBvcF9nZXRfcHJvcGVydHlfZW51bWVyYXRvcjoKICAgICBjYXNlIG9wX2dldF9lbnVt
ZXJhYmxlX2xlbmd0aDoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgor
I2VuZGlmCiAgICAgY2FzZSBvcF90b19pbmRleF9zdHJpbmc6CiAgICAgY2FzZSBvcF9pbml0X2ds
b2JhbF9jb25zdF9ub3A6CiAgICAgY2FzZSBvcF9pbml0X2dsb2JhbF9jb25zdDoKQEAgLTMwOCw2
ICszMTEsOSBAQCB2b2lkIGNvbXB1dGVEZWZzRm9yQnl0ZWNvZGVPZmZzZXQoQ29kZUJsb2NrKiBj
b2RlQmxvY2ssIHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0LAogICAgIGNhc2Ugb3BfbmV3X3JlZ2V4
cDoKICAgICBjYXNlIG9wX25ld19mdW5jOgogICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOgorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2FzZSBvcF9uZXdfYXJyb3df
ZnVuY19leHA6CisjZW5kaWYKICAgICBjYXNlIG9wX2NhbGxfdmFyYXJnczoKICAgICBjYXNlIG9w
X2NvbnN0cnVjdF92YXJhcmdzOgogICAgIGNhc2Ugb3BfZ2V0X2Zyb21fc2NvcGU6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCmluZGV4IDhhZDcxZWM3MWZh
NmZmNTNhNzEwMzhmNDk3OTQ4MDk4YjlhOWEzZTUuLjZhMWQ0MjI4NTY5ZjgxOWI5MGY3YTk4NzY2
M2Y4NzBhYzRiYjM4ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Db2RlQmxvY2suY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2Rl
QmxvY2suY3BwCkBAIC0xMjc0LDYgKzEyNzQsMTcgQEAgdm9pZCBDb2RlQmxvY2s6OmR1bXBCeXRl
Y29kZSgKICAgICAgICAgICAgIG91dC5wcmludGYoIiVzLCAlcywgZiVkIiwgcmVnaXN0ZXJOYW1l
KHIwKS5kYXRhKCksIHJlZ2lzdGVyTmFtZShyMSkuZGF0YSgpLCBmMCk7CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOiB7CisgICAgICAgICAgICBpbnQgcjAg
PSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAgICAgICAgIGludCByMSA9ICgrK2l0KS0+dS5vcGVy
YW5kOworICAgICAgICAgICAgaW50IGYwID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAg
ICBpbnQgcjIgPSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAgICAgICAgIHByaW50TG9jYXRpb25B
bmRPcChvdXQsIGV4ZWMsIGxvY2F0aW9uLCBpdCwgIm9wX25ld19hcnJvd19mdW5jX2V4cCIpOwor
ICAgICAgICAgICAgb3V0LnByaW50ZigiJXMsICVzLCBmJWQsICVzIiwgcmVnaXN0ZXJOYW1lKHIw
KS5kYXRhKCksIHJlZ2lzdGVyTmFtZShyMSkuZGF0YSgpLCBmMCwgcmVnaXN0ZXJOYW1lKHIyKS5k
YXRhKCkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBj
YXNlIG9wX25ld19mdW5jX2V4cDogewogICAgICAgICAgICAgaW50IHIwID0gKCsraXQpLT51Lm9w
ZXJhbmQ7CiAgICAgICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUub3BlcmFuZDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3Iu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRv
ci5jcHAKaW5kZXggYWM1ZTM3ZTRkODhlYWEzN2EyNGNhZGQ3YWZjNGM4MTZhZGVkNDJlMi4uM2Fj
ZDc5MjFmYmY5YWJhYjQ1YjlkZjk0NjlmZjZkZGQzMGU1ZjY5MSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAK
QEAgLTE3NDIsNiArMTc0MiwzNiBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1p
dE5ld0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVuY0V4cAogICAgIGluc3Ry
dWN0aW9ucygpLmFwcGVuZChpbmRleCk7CiAgICAgcmV0dXJuIHIwOwogfQorICAgIAorI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVy
YXRvcjo6ZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIHIwLCBGdW5j
RXhwck5vZGUqIG4pCit7CisgICAgRnVuY3Rpb25Cb2R5Tm9kZSogZnVuY3Rpb24gPSBuLT5ib2R5
KCk7CisgICAgdW5zaWduZWQgaW5kZXggPSBtX2NvZGVCbG9jay0+YWRkRnVuY3Rpb25FeHByKG1h
a2VGdW5jdGlvbihmdW5jdGlvbikpOworICAgIAorICAgIFJlZ2lzdGVySUQqIHZhbHVlID0gZW1p
dFRoaXNOb2RlQnl0ZWNvZGUocjAsIG4tPnBvc2l0aW9uKCkpOworICAgIAorICAgIGVtaXRPcGNv
ZGUob3BfbmV3X2Fycm93X2Z1bmNfZXhwKTsKKyAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQocjAt
PmluZGV4KCkpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChzY29wZVJlZ2lzdGVyKCktPmlu
ZGV4KCkpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChpbmRleCk7CisgICAgaW5zdHJ1Y3Rp
b25zKCkuYXBwZW5kKHZhbHVlLT5pbmRleCgpKTsKKyAgICByZXR1cm4gcjA7Cit9CisgICAgCitS
ZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFRoaXNOb2RlQnl0ZWNvZGUoUmVnaXN0
ZXJJRCogZHN0LCBKU1RleHRQb3NpdGlvbiBwb3NpdGlvbikKK3sKKyAgICBpZiAoZHN0ID09IGln
bm9yZWRSZXN1bHQoKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgUmVnaXN0ZXJJRCogcmVzdWx0
ID0gbW92ZVRvRGVzdGluYXRpb25JZk5lZWRlZChkc3QsIHRoaXNSZWdpc3RlcigpKTsKKyAgICBp
ZiAodm0oKS0+dHlwZVByb2ZpbGVyKCkpIHsKKyAgICAgICAgZW1pdFByb2ZpbGVUeXBlKHRoaXNS
ZWdpc3RlcigpLCBQcm9maWxlVHlwZUJ5dGVjb2RlRG9lc05vdEhhdmVHbG9iYWxJRCwgbnVsbHB0
cik7CisgICAgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCB0aGlzTGVuZ3RoID0gNDsKKyAgICAg
ICAgZW1pdFR5cGVQcm9maWxlckV4cHJlc3Npb25JbmZvKHBvc2l0aW9uLCBKU1RleHRQb3NpdGlv
bigtMSwgcG9zaXRpb24ub2Zmc2V0ICsgdGhpc0xlbmd0aCwgLTEpKTsKKyAgICB9CisgICAgcmV0
dXJuIHJlc3VsdDsKK30KKyNlbmRpZgogCiBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6
ZW1pdE5ld0RlZmF1bHRDb25zdHJ1Y3RvcihSZWdpc3RlcklEKiBkc3QsIENvbnN0cnVjdG9yS2lu
ZCBjb25zdHJ1Y3RvcktpbmQsIGNvbnN0IElkZW50aWZpZXImIG5hbWUpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgK
aW5kZXggMWM5OWFjYTA4NDg4OGExYjg0OGU3NGUwNTUyOTEyMmU1NTdlN2E4ZC4uYzE0ZjljMDg1
MWIzOTkzNjNlYTc4MGRmYWUxYzg5N2UyNjE5ZTAxYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaApAQCAtNDU0LDYg
KzQ1NCwxMCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0Z1
bmN0aW9uSW50ZXJuYWwoUmVnaXN0ZXJJRCogZHN0LCB1bnNpZ25lZCBpbmRleCk7CiAgICAgICAg
IFJlZ2lzdGVySUQqIGVtaXROZXdGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogZHN0LCBG
dW5jRXhwck5vZGUqIGZ1bmMpOwogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3RGVmYXVsdENv
bnN0cnVjdG9yKFJlZ2lzdGVySUQqIGRzdCwgQ29uc3RydWN0b3JLaW5kLCBjb25zdCBJZGVudGlm
aWVyJiBuYW1lKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAg
ICBSZWdpc3RlcklEKiBlbWl0TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCos
IEZ1bmNFeHByTm9kZSopOworICAgICAgICBSZWdpc3RlcklEKiBlbWl0VGhpc05vZGVCeXRlY29k
ZShSZWdpc3RlcklEKiwgSlNUZXh0UG9zaXRpb24pOworI2VuZGlmCiAgICAgICAgIFJlZ2lzdGVy
SUQqIGVtaXROZXdSZWdFeHAoUmVnaXN0ZXJJRCogZHN0LCBSZWdFeHAqKTsKIAogICAgICAgICBS
ZWdpc3RlcklEKiBlbWl0TW92ZShSZWdpc3RlcklEKiBkc3QsIFJlZ2lzdGVySUQqIHNyYyk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdl
bi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5j
cHAKaW5kZXggMWM3NTczYWQ0ZTMyOGIyYTc0YTk1ZmI5M2JiMjA3Njg4MmIyZjdiOS4uNjlmZDA4
MzBmYjQxOTFiMTA5NTJhYzk1OGM5MDQ0MDllNWE1ZDllMiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtMTQ5LDcgKzE0
OSw5IEBAIFJlZ2lzdGVySUQqIFRoaXNOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0
b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0CiAKICAgICBpZiAoZHN0ID09IGdlbmVyYXRv
ci5pZ25vcmVkUmVzdWx0KCkpCiAgICAgICAgIHJldHVybiAwOwotCisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXRUaGlzTm9kZUJ5
dGVjb2RlKGRzdCwgcG9zaXRpb24oKSk7CisjZWxzZQogICAgIFJlZ2lzdGVySUQqIHJlc3VsdCA9
IGdlbmVyYXRvci5tb3ZlVG9EZXN0aW5hdGlvbklmTmVlZGVkKGRzdCwgZ2VuZXJhdG9yLnRoaXNS
ZWdpc3RlcigpKTsKICAgICBpZiAoZ2VuZXJhdG9yLnZtKCktPnR5cGVQcm9maWxlcigpKSB7CiAg
ICAgICAgIGdlbmVyYXRvci5lbWl0UHJvZmlsZVR5cGUoZ2VuZXJhdG9yLnRoaXNSZWdpc3Rlcigp
LCBQcm9maWxlVHlwZUJ5dGVjb2RlRG9lc05vdEhhdmVHbG9iYWxJRCwgbnVsbHB0cik7CkBAIC0x
NTcsNiArMTU5LDcgQEAgUmVnaXN0ZXJJRCogVGhpc05vZGU6OmVtaXRCeXRlY29kZShCeXRlY29k
ZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3RlcklEKiBkc3QKICAgICAgICAgZ2VuZXJhdG9y
LmVtaXRUeXBlUHJvZmlsZXJFeHByZXNzaW9uSW5mbyhwb3NpdGlvbigpLCBKU1RleHRQb3NpdGlv
bigtMSwgcG9zaXRpb24oKS5vZmZzZXQgKyB0aGlzTGVuZ3RoLCAtMSkpOwogICAgIH0KICAgICBy
ZXR1cm4gcmVzdWx0OworI2VuZGlmCiB9CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLSBTdXBlck5vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAt
MjgzMyw2ICsyODM2LDE0IEBAIFJlZ2lzdGVySUQqIEZ1bmNFeHByTm9kZTo6ZW1pdEJ5dGVjb2Rl
KEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqCiAgICAgcmV0dXJuIGdl
bmVyYXRvci5lbWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uKGdlbmVyYXRvci5maW5hbERlc3RpbmF0
aW9uKGRzdCksIHRoaXMpOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkgICAgCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQXJyb3dGdW5jRXhwck5v
ZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitSZWdpc3RlcklEKiBBcnJvd0Z1
bmNFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJl
Z2lzdGVySUQqIGRzdCkKK3sKKyAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXROZXdBcnJvd0Z1bmN0
aW9uRXhwcmVzc2lvbihnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QpLCB0aGlzKTsKK30K
KyNlbmRpZgorICAgIAogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogLy8gLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tIENsYXNzRGVjbE5vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Qnl0ZUNvZGVQYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29k
ZVBhcnNlci5jcHAKaW5kZXggNjlmZDRhZDE1OTU0YjU3MGUwYzk0MDcwNDE2M2VhNjBiODE0Zjk5
Yy4uNTFlZDYwODY1M2Q0ODkxOThmOGE2OWRiMDEzODM0NjM4ZGQwZWEyNyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKQEAgLTM2NjIsNiAr
MzY2MiwxNSBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxpbWl0
KQogICAgICAgICAgICAgTkVYVF9PUENPREUob3BfbmV3X2Z1bmNfZXhwKTsKICAgICAgICAgfQog
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgY2FzZSBvcF9u
ZXdfYXJyb3dfZnVuY19leHA6IHsKKyAgICAgICAgICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhw
ciA9IG1faW5saW5lU3RhY2tUb3AtPm1fcHJvZmlsZWRCbG9jay0+ZnVuY3Rpb25FeHByKGN1cnJl
bnRJbnN0cnVjdGlvblszXS51Lm9wZXJhbmQpOworICAgICAgICAgICAgRnJvemVuVmFsdWUqIGZy
b3plbiA9IG1fZ3JhcGguZnJlZXplU3Ryb25nKGV4cHIpOworICAgICAgICAgICAgc2V0KFZpcnR1
YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwKKyAgICAgICAgICAg
ICAgICBhZGRUb0dyYXBoKE5ld0Z1bmN0aW9uLCBPcEluZm8oZnJvemVuKSwgZ2V0KFZpcnR1YWxS
ZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSkpKTsKKyAgICAgICAgICAg
IE5FWFRfT1BDT0RFKG9wX25ld19hcnJvd19mdW5jX2V4cCk7CisgICAgICAgIH0KKyNlbmRpZgog
ICAgICAgICBjYXNlIG9wX3R5cGVvZjogewogICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3Rl
cihjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwKICAgICAgICAgICAgICAgICBhZGRU
b0dyYXBoKFR5cGVPZiwgZ2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0u
dS5vcGVyYW5kKSkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Q2FwYWJpbGl0aWVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0
aWVzLmNwcAppbmRleCA4ZWY0ZGNmMTU2OGJkNWVkYTRiODk3ZTc2ODRhOGNiYjkxYmY2ZTA4Li43
ZjQ1YTgzMWVhNmU2MjczYmFjZDJlM2Y4MzM2ZGRjNTYyYzhjYzhkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCkBAIC0yMDgsNiArMjA4LDkgQEAg
Q2FwYWJpbGl0eUxldmVsIGNhcGFiaWxpdHlMZXZlbChPcGNvZGVJRCBvcGNvZGVJRCwgQ29kZUJs
b2NrKiBjb2RlQmxvY2ssIEluc3RydWMKICAgICBjYXNlIG9wX25ld19mdW5jOgogICAgIGNhc2Ug
b3BfbmV3X2Z1bmNfZXhwOgogICAgIGNhc2Ugb3BfY3JlYXRlX2xleGljYWxfZW52aXJvbm1lbnQ6
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19h
cnJvd19mdW5jX2V4cDoKKyNlbmRpZgogICAgICAgICByZXR1cm4gQ2FuQ29tcGlsZUFuZElubGlu
ZTsKIAogICAgIGNhc2Ugb3BfcHV0X3RvX3Njb3BlOiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAppbmRleCBiYzg4NWE2NDQ1MmZhMjQy
ZGMyNzcxMzk1ZDM0MGRlNTNjMGQ5NDMzLi4xZTQ2MDJlNDk2OGJhMWEwY2MzYWQwYWQ2NWJiNTgy
NzAyNTkzNDc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIv
SW50ZXJwcmV0ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9J
bnRlcnByZXRlci5jcHAKQEAgLTQ1LDYgKzQ1LDkgQEAKICNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIu
aCIKICNpbmNsdWRlICJKU0FycmF5LmgiCiAjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyNpbmNsdWRlICJKU0Fycm93RnVu
Y3Rpb24uaCIKKyNlbmRpZgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0xl
eGljYWxFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIkpTTmFtZVNjb3BlLmgiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVC5jcHAKaW5kZXggNDJhODJkNDM5NDYxNjJmOTVmYTQ3NDY3NTY3MTM5ZDRhYWYy
Mzg2Yi4uMTg2MGEwYWEzM2IwODE5YzRmODU1MDg1ZjVlOGI3MGZhMjMyYTQzMyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklULmNwcApAQCAtMjUzLDYgKzI1Myw5IEBAIHZvaWQgSklUOjpwcml2YXRl
Q29tcGlsZU1haW5QYXNzKCkKICAgICAgICAgREVGSU5FX09QKG9wX25ld19hcnJheV9idWZmZXIp
CiAgICAgICAgIERFRklORV9PUChvcF9uZXdfZnVuYykKICAgICAgICAgREVGSU5FX09QKG9wX25l
d19mdW5jX2V4cCkKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAg
ICBERUZJTkVfT1Aob3BfbmV3X2Fycm93X2Z1bmNfZXhwKQorI2VuZGlmICAKICAgICAgICAgREVG
SU5FX09QKG9wX25ld19vYmplY3QpCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfcmVnZXhwKQog
ICAgICAgICBERUZJTkVfT1Aob3Bfbm90KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKaW5kZXggZWU0
ODU1ZGMyZTc4YjU1YWNjNDU5OWViZGI5OWEwZDhlMDhiZTdjYy4uNTYzOGQ1YzdjNzRhZWM3YzBh
YjE5NWY5N2JiMzIxYmVlMDNjNzM3YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCkBAIC01MjIs
NiArNTIyLDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfYXJy
YXlfYnVmZmVyKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfZnVuYyhJ
bnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2Z1bmNfZXhwKEluc3RydWN0
aW9uKik7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdm9p
ZCBlbWl0X29wX25ld19hcnJvd19mdW5jX2V4cChJbnN0cnVjdGlvbiopOworI2VuZGlmCiAgICAg
ICAgIHZvaWQgZW1pdF9vcF9uZXdfb2JqZWN0KEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQg
ZW1pdF9vcF9uZXdfcmVnZXhwKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9u
b3QoSW5zdHJ1Y3Rpb24qKTsKQEAgLTcwNSw2ICs3MDgsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9F
SkosIGludCwgR1BSUmVnLCBHUFJSZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBj
YWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2MsIEdQUlJlZyk7CiAgICAgICAgIE1hY3Jv
QXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0MsIGludCwg
R1BSUmVnLCBKU0NlbGwqKTsKKyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJh
dGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0osIGludCwgR1BSUmVnLCBKU0NlbGwqLCBHUFJSZWcp
OwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0
aW9uX0VKc2NaLCBHUFJSZWcsIGludDMyX3QpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2Fs
bCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2NaLCBpbnQsIEdQUlJlZywgaW50MzJf
dCk7CiAjaWYgVVNFKEpTVkFMVUU2NCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUSW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVz
LmgKaW5kZXggOWVlMjRkMDkyMjhhOTg4MmVhNzY5NjI5ZDFhODdiNmMzNGE4NjMzNC4uYTBlNDBj
NWM2MWZlNjNlOTg2M2VkMjIzZWRmNWQ0NTFmMzE4YTc3NCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRJbmxpbmVzLmgKQEAgLTI3MSw2ICsyNzEsMTIgQEAgQUxXQVlTX0lOTElORSBNYWNy
b0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0Mg
b3BlcmEKICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldEpTVmFsdWVS
ZXN1bHQob3BlcmF0aW9uLCBkc3QpOwogfQogCitBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVy
OjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0ogb3BlcmF0aW9u
LCBpbnQgZHN0LCBHUFJSZWcgYXJnMSwgSlNDZWxsKiBjZWxsLCBHUFJSZWcgYXJnMikKK3sKKyAg
ICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSwg
YXJnMik7CisgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRKU1ZhbHVl
UmVzdWx0KG9wZXJhdGlvbiwgZHN0KTsKK30KKyAgICAKIEFMV0FZU19JTkxJTkUgTWFjcm9Bc3Nl
bWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VQIG9wZXJhdGlv
biwgaW50IGRzdCwgdm9pZCogcG9pbnRlcikKIHsKICAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVj
U3RhdGUoVHJ1c3RlZEltbVB0cihwb2ludGVyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRPcGNvZGVzLmNwcAppbmRleCBkM2Q1ODBlOWUyNjAwODUzYjY2NDllMjg1OTE4Zjg1MzhiZTY5
NDRjLi43NDgyOTNhNTE3NGEwOTU5Y2RmNjIwNGRmYjlmMmRhMTc1ZjdhOTYyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKQEAgLTk3Miw2ICs5NzIsMzEgQEAgdm9p
ZCBKSVQ6OmVtaXRfb3BfbmV3X2Z1bmNfZXhwKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rp
b24pCiAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25OZXdGdW5jdGlvbiwgZHN0LCByZWdUMCwg
ZnVuY0V4cHIpOwogICAgIGRvbmUubGluayh0aGlzKTsKIH0KKyAgICAKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2Fycm93X2Z1bmNf
ZXhwKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCit7CisgICAgSnVtcCBub3RVbmRl
ZmluZWRTY29wZTsKKyAgICBpbnQgZHN0ID0gY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFu
ZDsKKyNpZiBVU0UoSlNWQUxVRTY0KQorICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVu
dEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCwgcmVnVDApOworICAgIG5vdFVuZGVmaW5lZFNjb3Bl
ID0gYnJhbmNoNjQoTm90RXF1YWwsIHJlZ1QwLCBUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5jb2Rl
KGpzVW5kZWZpbmVkKCkpKSk7CisgICAgc3RvcmU2NChUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5j
b2RlKGpzVW5kZWZpbmVkKCkpKSwgQWRkcmVzcyhjYWxsRnJhbWVSZWdpc3Rlciwgc2l6ZW9mKFJl
Z2lzdGVyKSAqIGRzdCkpOworICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3Ry
dWN0aW9uWzRdLnUub3BlcmFuZCwgcmVnVDEpOworI2Vsc2UKKyAgICBlbWl0TG9hZFBheWxvYWQo
Y3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCwgcmVnVDApOworICAgIG5vdFVuZGVmaW5l
ZFNjb3BlID0gYnJhbmNoMzIoTm90RXF1YWwsIHRhZ0ZvcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0u
dS5vcGVyYW5kKSwgVHJ1c3RlZEltbTMyKEpTVmFsdWU6OlVuZGVmaW5lZFRhZykpOworICAgIGVt
aXRTdG9yZShkc3QsIGpzVW5kZWZpbmVkKCkpOworICAgIGVtaXRMb2FkUGF5bG9hZChjdXJyZW50
SW5zdHJ1Y3Rpb25bNF0udS5vcGVyYW5kLCByZWdUMSk7CisjZW5kaWYKKyAgICBKdW1wIGRvbmUg
PSBqdW1wKCk7CisgICAgbm90VW5kZWZpbmVkU2NvcGUubGluayh0aGlzKTsKKyAgICAKKyAgICBG
dW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmNFeHByID0gbV9jb2RlQmxvY2stPmZ1bmN0aW9uRXhwcihj
dXJyZW50SW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5kKTsKKyAgICBjYWxsT3BlcmF0aW9uKG9wZXJh
dGlvbk5ld0Fycm93RnVuY3Rpb24sIGRzdCwgcmVnVDAsIGZ1bmNFeHByLCByZWdUMSk7CisgICAg
ZG9uZS5saW5rKHRoaXMpOworfQorI2VuZGlmCiAKIHZvaWQgSklUOjplbWl0X29wX25ld19hcnJh
eShJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKaW5kZXggYzY1MWVhYzc2ZmM5ZTc4YWZmOGNiYjQ0
NThjMjE3NDNhOTU1ZGE1MC4uOGJlZjFlZWJkN2Q1NmUzNmIyZDA2MDBhMzVlODhkODE2OGM4YWIx
NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCkBAIC00
Miw2ICs0MiwxMCBAQAogI2luY2x1ZGUgIkhvc3RDYWxsUmV0dXJuVmFsdWUuaCIKICNpbmNsdWRl
ICJKSVQuaCIKICNpbmNsdWRlICJKSVRUb0RGR0RlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjay5o
IgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisjaW5jbHVkZSAiSlNBcnJv
d0Z1bmN0aW9uLmgiCisjZW5kaWYKKyNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNs
dWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDYXRjaFNjb3BlLmgiCiAjaW5jbHVkZSAi
SlNGdW5jdGlvbk5hbWVTY29wZS5oIgpAQCAtOTMzLDYgKzkzNywyMSBAQCBFbmNvZGVkSlNWYWx1
ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Z1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNT
Y29wZSogc2NvcAogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNGdW5jdGlvbjo6Y3JlYXRl
KHZtLCBzdGF0aWNfY2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihmdW5jdGlvbkV4ZWN1dGFibGUp
LCBzY29wZSkpOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK0Vu
Y29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbihFeGVj
U3RhdGUqIGV4ZWMsIEpTU2NvcGUqIHNjb3BlLCBKU0NlbGwqIGZ1bmN0aW9uRXhlY3V0YWJsZSwg
RW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlKQoreworICAgIEFTU0VSVChmdW5jdGlvbkV4ZWN1dGFi
bGUtPmluaGVyaXRzKEZ1bmN0aW9uRXhlY3V0YWJsZTo6aW5mbygpKSk7CisgICAgVk0mIHZtID0g
ZXhlYy0+dm0oKTsKKyAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7
CisgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGV4ZWMtPmNhbGxlZSgpLT5nbG9i
YWxPYmplY3QoKTsKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNBcnJvd0Z1bmN0aW9uOjpjcmVh
dGUodm0sIHNjb3BlLCBzdGF0aWNfY2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihmdW5jdGlvbkV4
ZWN1dGFibGUpLCBnbG9iYWxPYmplY3QpOworICAgIAorICAgIEpTQXJyYXkqIGJvdW5kQXJncyA9
IEpTQXJyYXk6OnRyeUNyZWF0ZVVuaW5pdGlhbGl6ZWQodm0sIGdsb2JhbE9iamVjdC0+YXJyYXlT
dHJ1Y3R1cmVGb3JJbmRleGluZ1R5cGVEdXJpbmdBbGxvY2F0aW9uKEFycmF5V2l0aFVuZGVjaWRl
ZCksIDApOworICAgIAorICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNCb3VuZEZ1bmN0aW9u
OjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgZnVuYywgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1
ZSksIGJvdW5kQXJncywgMCwgIiIpKTsKK30KKyNlbmRpZgorICAgIAogSlNDZWxsKiBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3Ry
dWN0dXJlKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVE9wZXJhdGlvbnMuaAppbmRleCA0ZGVjZWY0ZWI4YjQ4YmI5MzdkNTRkMGI2MDRi
OWI3NzY3YTRlYTYxLi5kNzE3ZjZmZTk0ZGNhMWRjZjMzYmQ4NjZlNjIyODU4YjU2OTcxNTAyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaApAQCAtMTE2LDYgKzEx
Niw3IEBAIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0
aW9uX0VQUCkoRXhlY1N0YXRlKiwgdm9pZCosIHZvCiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJ
VF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FUFMpKEV4ZWNTdGF0ZSosIHZvaWQqLCBzaXpl
X3QpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRp
b25fRVBjKShFeGVjU3RhdGUqLCBJbnN0cnVjdGlvbiopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1
ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUpzY0MpKEV4ZWNTdGF0ZSosIEpTU2Nv
cGUqLCBKU0NlbGwqKTsKK3R5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpf
SklUT3BlcmF0aW9uX0VKc2NDSikoRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29k
ZWRKU1ZhbHVlKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklU
T3BlcmF0aW9uX0VTUykoRXhlY1N0YXRlKiwgc2l6ZV90LCBzaXplX3QpOwogdHlwZWRlZiBFbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNzaUNJKShFeGVjU3Rh
dGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEpTQ2VsbCosIFN0cmluZ0ltcGwqKTsKIHR5cGVkZWYg
RW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTc2lKSSkoRXhl
Y1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSwgU3RyaW5nSW1wbCop
OwpAQCAtMjc4LDYgKzI3OSwxMCBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbk5ld0FycmF5V2l0aFByb2ZpbGUoRXhlY1N0YXRlKiwgQXJyYXlBbGxvYwogRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJheUJ1ZmZlcldpdGhQcm9maWxlKEV4
ZWNTdGF0ZSosIEFycmF5QWxsb2NhdGlvblByb2ZpbGUqLCBjb25zdCBKU1ZhbHVlKiB2YWx1ZXMs
IGludDMyX3Qgc2l6ZSkgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElP
TiBvcGVyYXRpb25OZXdBcnJheVdpdGhTaXplQW5kUHJvZmlsZShFeGVjU3RhdGUqLCBBcnJheUFs
bG9jYXRpb25Qcm9maWxlKiwgRW5jb2RlZEpTVmFsdWUgc2l6ZSkgV1RGX0lOVEVSTkFMOwogRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdGdW5jdGlvbihFeGVjU3RhdGUq
LCBKU1Njb3BlKiwgSlNDZWxsKikgV1RGX0lOVEVSTkFMOworI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5l
d0Fycm93RnVuY3Rpb24oRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29kZWRKU1Zh
bHVlKSBXVEZfSU5URVJOQUw7CisjZW5kaWYKKyAgICAKIEpTQ2VsbCogSklUX09QRVJBVElPTiBv
cGVyYXRpb25OZXdPYmplY3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlKikgV1RGX0lOVEVSTkFMOwog
RW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdSZWdleHAoRXhlY1N0YXRl
Kiwgdm9pZCopIFdURl9JTlRFUk5BTDsKIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25IYW5k
bGVXYXRjaGRvZ1RpbWVyKEV4ZWNTdGF0ZSopIFdURl9JTlRFUk5BTDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCmluZGV4IGRiNDMxMGVjNTY5OWVm
OWVkYzk4YzUzM2MyOTk0Y2ZiYzViMzkzMWQuLjBmNWY1NjBkOTMxMjhhZjI4NDdjMDcyMTNiYTM0
NGI5ZTg2OGIyODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTElu
dFNsb3dQYXRocy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xv
d1BhdGhzLmNwcApAQCAtMzgsNiArMzgsMTAgQEAKICNpbmNsdWRlICJJbnRlcnByZXRlci5oIgog
I2luY2x1ZGUgIkpJVC5oIgogI2luY2x1ZGUgIkpJVEV4Y2VwdGlvbnMuaCIKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgor
I2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgorI2VuZGlmCiAjaW5jbHVkZSAiSlNMZXhpY2Fs
RW52aXJvbm1lbnQuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDSlNW
YWx1ZS5oIgpAQCAtOTkyLDYgKzk5NiwyNCBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3Bh
dGhfbmV3X2Z1bmNfZXhwKQogICAgIExMSU5UX1JFVFVSTihmdW5jKTsKIH0KIAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3Bh
dGhfbmV3X2Fycm93X2Z1bmNfZXhwKQoreworICAgIExMSU5UX0JFR0lOKCk7CisgICAgQ29kZUJs
b2NrKiBjb2RlQmxvY2sgPSBleGVjLT5jb2RlQmxvY2soKTsKKyAgICBKU1Njb3BlKiBzY29wZSA9
IGV4ZWMtPnVuY2hlY2tlZFIocGNbMl0udS5vcGVyYW5kKS5SZWdpc3Rlcjo6c2NvcGUoKTsKKyAg
ICBGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmN0aW9uID0gY29kZUJsb2NrLT5mdW5jdGlvbkV4cHIo
cGNbM10udS5vcGVyYW5kKTsKKyAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IExMSU5UX09QX0MoNCku
anNWYWx1ZSgpOworICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBleGVjLT5jYWxs
ZWUoKS0+Z2xvYmFsT2JqZWN0KCk7CisgICAgCisgICAgSlNGdW5jdGlvbiogZnVuYyA9IEpTQXJy
b3dGdW5jdGlvbjo6Y3JlYXRlKHZtLCBzY29wZSwgZnVuY3Rpb24sIGdsb2JhbE9iamVjdCk7Cisg
ICAgCisgICAgSlNBcnJheSogYm91bmRBcmdzID0gSlNBcnJheTo6dHJ5Q3JlYXRlVW5pbml0aWFs
aXplZCh2bSwgZ2xvYmFsT2JqZWN0LT5hcnJheVN0cnVjdHVyZUZvckluZGV4aW5nVHlwZUR1cmlu
Z0FsbG9jYXRpb24oQXJyYXlXaXRoVW5kZWNpZGVkKSwgMCk7CisgICAgCisgICAgTExJTlRfUkVU
VVJOKEpTQm91bmRGdW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIGZ1bmMsIHRoaXNW
YWx1ZSwgYm91bmRBcmdzLCAwLCAiIikpOworfQorI2VuZGlmCisKIHN0YXRpYyBTbG93UGF0aFJl
dHVyblR5cGUgaGFuZGxlSG9zdENhbGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBJbnN0cnVjdGlv
biogcGMsIEpTVmFsdWUgY2FsbGVlLCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGtpbmQpCiB7CiAg
ICAgVU5VU0VEX1BBUkFNKHBjKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9MTEludFNsb3dQYXRocy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50
U2xvd1BhdGhzLmgKaW5kZXggNGJmN2RlYjBmYTBiNmM2NDM4ZTM2Zjk2MzIwZTJmNjY5NzM5YWY2
NC4uYzdmYWI5NjkxYzE4YjkzOTU2ZDBlYTI5ZjMzOTU2MTE4YzVlNzFlZSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgKQEAgLTk2LDYgKzk2LDcgQEAg
TExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9zd2l0Y2hfY2hhcik7CiBMTElO
VF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3N3aXRjaF9zdHJpbmcpOwogTExJTlRf
U0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuYyk7CiBMTElOVF9TTE9XX1BB
VEhfSElEREVOX0RFQ0woc2xvd19wYXRoX25ld19mdW5jX2V4cCk7CitMTElOVF9TTE9XX1BBVEhf
SElEREVOX0RFQ0woc2xvd19wYXRoX25ld19hcnJvd19mdW5jX2V4cCk7CiBMTElOVF9TTE9XX1BB
VEhfSElEREVOX0RFQ0woc2xvd19wYXRoX2NhbGwpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9E
RUNMKHNsb3dfcGF0aF9jb25zdHJ1Y3QpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNs
b3dfcGF0aF9zaXplX2ZyYW1lX2Zvcl92YXJhcmdzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbSBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQppbmRleCA0M2VkN2U4ZjJlMTg3
NDkyZWYwYjA4NTVlY2ZiNzI2Nzk4NTkxNzdhLi5lOGFjYzIwN2RlYjE4ZGM4NDlkOTlhMzBiYjRi
ZDQyOTJlODcxYTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc20KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtCkBAIC0xMTcxLDYgKzExNzEsMTAgQEAgX2xsaW50X29wX25l
d19mdW5jX2V4cDoKICAgICBjYWxsU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9uZXdfZnVuY19l
eHApCiAgICAgZGlzcGF0Y2goNCkKIAorX2xsaW50X29wX25ld19hcnJvd19mdW5jX2V4cDoKKyAg
ICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2FsbFNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfbmV3
X2Fycm93X2Z1bmNfZXhwKQorICAgIGRpc3BhdGNoKDUpCiAKIF9sbGludF9vcF9jYWxsOgogICAg
IHRyYWNlRXhlY3V0aW9uKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvQVNUQnVpbGRlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVy
LmgKaW5kZXggYzQ4ZTQxYzU4NjVkZmQ1MDA3NGY0OWRiYTEzZGM3NDYyOTY2M2VkMS4uOGQyODZl
YzVhNDRhMDhmNmIwY2NjZTA0YWJlZGE5Yjk4MDhiY2E1ZiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKQEAgLTMxMyw2ICszMTMsMTkgQEAgcHVibGljOgogICAg
ICAgICAgICAgaW5TdHJpY3RDb250ZXh0LCBjb25zdHJ1Y3RvcktpbmQpOwogICAgIH0KIAorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgRXhwcmVzc2lvbk5vZGUqIGNy
ZWF0ZUFycm93RnVuY3Rpb25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNv
bnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RCdWlsZGVyPiYgaW5mbykKKyAgICB7CisgICAgICAg
IFNvdXJjZUNvZGUgc291cmNlID0gaW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dG
dW5jdGlvbkJvZHlFeHByZXNzaW9uCisgICAgICAgID8gbV9zb3VyY2VDb2RlLT5zdWJBcnJvd0V4
cHJlc3Npb24oaW5mby5hcnJvd0Z1bmN0aW9uT2Zmc2V0LCBpbmZvLmNsb3NlQnJhY2VPZmZzZXQs
IGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1bW4pCisgICAgICAgIDogbV9z
b3VyY2VDb2RlLT5zdWJFeHByZXNzaW9uKGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBpbmZvLmNsb3Nl
QnJhY2VPZmZzZXQsIGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1bW4pOwor
CisgICAgICAgIEFycm93RnVuY0V4cHJOb2RlKiByZXN1bHQgPSBuZXcgKG1fcGFyc2VyQXJlbmEp
IEFycm93RnVuY0V4cHJOb2RlKGxvY2F0aW9uLCAqaW5mby5uYW1lLCBpbmZvLmJvZHksIHNvdXJj
ZSwgaW5mby5wYXJhbWV0ZXJzKTsKKyAgICAgICAgaW5mby5ib2R5LT5zZXRMb2MoaW5mby5ib2R5
U3RhcnRMaW5lLCBpbmZvLmJvZHlFbmRMaW5lLCBsb2NhdGlvbi5zdGFydE9mZnNldCwgbG9jYXRp
b24ubGluZVN0YXJ0T2Zmc2V0KTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisjZW5k
aWYKKwogICAgIE5FVkVSX0lOTElORSBQcm9wZXJ0eU5vZGUqIGNyZWF0ZUdldHRlck9yU2V0dGVy
UHJvcGVydHkoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgUHJvcGVydHlOb2RlOjpU
eXBlIHR5cGUsIGJvb2wsCiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUsIGNvbnN0IFBh
cnNlckZ1bmN0aW9uSW5mbzxBU1RCdWlsZGVyPiYgaW5mbywgU3VwZXJCaW5kaW5nIHN1cGVyQmlu
ZGluZykKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xl
eGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCmluZGV4IDdk
ZTE0MjIwYmJkYTcyNzM4YjU3M2E0Yjk3ODhjZTBiMzJjYzdjZTMuLjU0MGY5ZmZiN2JiNTE4Mjlk
NjdkZWVkZWM1ZTZhOGVkNTFjYzQ0MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTGV4ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4
ZXIuY3BwCkBAIC0xNDMwLDYgKzE0MzAsMTggQEAgYm9vbCBMZXhlcjxUPjo6bmV4dFRva2VuSXND
b2xvbigpCiAgICAgcmV0dXJuIGNvZGUgPCBtX2NvZGVFbmQgJiYgKmNvZGUgPT0gJzonOwogfQog
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFt
ZSBUPgordm9pZCBMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlvbihKU1Rva2VuKiB0b2tlblJlY29y
ZCkKK3sKKyAgICBKU1Rva2VuRGF0YSogdG9rZW5EYXRhID0gJnRva2VuUmVjb3JkLT5tX2RhdGE7
CisgICAgdG9rZW5EYXRhLT5saW5lID0gbGluZU51bWJlcigpOworICAgIHRva2VuRGF0YS0+b2Zm
c2V0ID0gY3VycmVudE9mZnNldCgpOworICAgIHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0ID0g
Y3VycmVudExpbmVTdGFydE9mZnNldCgpOworICAgIEFTU0VSVCh0b2tlbkRhdGEtPm9mZnNldCA+
PSB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCk7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5
cGVuYW1lIFQ+CiBKU1Rva2VuVHlwZSBMZXhlcjxUPjo6bGV4KEpTVG9rZW4qIHRva2VuUmVjb3Jk
LCB1bnNpZ25lZCBsZXhlckZsYWdzLCBib29sIHN0cmljdE1vZGUpCiB7CkBAIC0xNDkzLDcgKzE1
MDUsMTIgQEAgc3RhcnQ6CiAgICAgICAgIH0KICAgICAgICAgdG9rZW4gPSBHVDsKICAgICAgICAg
YnJlYWs7Ci0gICAgY2FzZSBDaGFyYWN0ZXJFcXVhbDoKKyAgICBjYXNlIENoYXJhY3RlckVxdWFs
OiB7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdWludDMy
X3Qgc2F2ZWRsaW5lTnVtYmVyID0gdG9rZW5EYXRhLT5saW5lOworICAgICAgICB1aW50MzJfdCBz
YXZlZE9mZnNldCA9IGN1cnJlbnRPZmZzZXQoKTsKKyAgICAgICAgdWludDMyX3Qgc2F2ZWRMaW5l
U3RhcnRPZmZzZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0KCk7CisjZW5kaWYKICAgICAgICAg
c2hpZnQoKTsKICAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnPScpIHsKICAgICAgICAgICAgIHNo
aWZ0KCk7CkBAIC0xNTA1LDggKzE1MjIsMjIgQEAgc3RhcnQ6CiAgICAgICAgICAgICB0b2tlbiA9
IEVRRVE7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJz4nKSB7CisgICAg
ICAgICAgICBzaGlmdCgpOworICAgICAgICAgICAgdG9rZW4gPSBBUlJPV0ZVTkNUSU9OOworCisg
ICAgICAgICAgICB0b2tlbkRhdGEtPmxpbmUgPSBzYXZlZGxpbmVOdW1iZXI7CisgICAgICAgICAg
ICB0b2tlbkRhdGEtPm9mZnNldCA9IHNhdmVkT2Zmc2V0OworICAgICAgICAgICAgdG9rZW5EYXRh
LT5saW5lU3RhcnRPZmZzZXQgPSBzYXZlZExpbmVTdGFydE9mZnNldDsKKworICAgICAgICAgICAg
QVNTRVJUKHRva2VuRGF0YS0+b2Zmc2V0ID49IHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0KTsK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgdG9rZW4gPSBF
UVVBTDsKICAgICAgICAgYnJlYWs7CisgICAgfQogICAgIGNhc2UgQ2hhcmFjdGVyTGVzczoKICAg
ICAgICAgc2hpZnQoKTsKICAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnIScgJiYgcGVlaygxKSA9
PSAnLScgJiYgcGVlaygyKSA9PSAnLScpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvTGV4ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIu
aAppbmRleCAyZGY1MjEzOTk1NzgyMDA3ODVhMTY2ZTIyYTczMjc1ZTBlYTYzMDRkLi5jYjNmMjVm
N2MwOGY4MjU4MWFmMmNlOGZhOTk5OTdmYWRlMDc2NmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9MZXhlci5oCkBAIC04NSw2ICs4NSw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldElzUmVw
YXJzaW5nKCkgeyBtX2lzUmVwYXJzaW5nID0gdHJ1ZTsgfQogICAgIGJvb2wgaXNSZXBhcnNpbmco
KSBjb25zdCB7IHJldHVybiBtX2lzUmVwYXJzaW5nOyB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgIHZvaWQgc2V0VG9rZW5Qb3NpdGlvbihKU1Rva2VuKiB0b2tl
blJlY29yZCk7CisjZW5kaWYKICAgICBKU1Rva2VuVHlwZSBsZXgoSlNUb2tlbiosIHVuc2lnbmVk
LCBib29sIHN0cmljdE1vZGUpOwogICAgIGJvb2wgbmV4dFRva2VuSXNDb2xvbigpOwogICAgIGlu
dCBsaW5lTnVtYmVyKCkgY29uc3QgeyByZXR1cm4gbV9saW5lTnVtYmVyOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCmluZGV4IDA1N2JjM2Q5
MjgwOWY0NmIwNjI3MWFjMDEyYWJlY2Q2Yzg4YTY4NGEuLjllZTFmOWRiOGIxM2IyYmIwZDQ0YTIy
OWNlODI3Y2UxM2Y0NGY3MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvTm9kZUNvbnN0cnVjdG9ycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
Tm9kZUNvbnN0cnVjdG9ycy5oCkBAIC03ODAsNiArNzgwLDEzIEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICBtX2JvZHktPmZpbmlzaFBhcnNpbmcoc291cmNlLCBwYXJhbWV0ZXIsIGlkZW50LCBG
dW5jdGlvbkV4cHJlc3Npb24pOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgaW5saW5lIEFycm93RnVuY0V4cHJOb2RlOjpBcnJvd0Z1bmNFeHByTm9k
ZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBJZGVudGlmaWVyJiBpZGVu
dCwgRnVuY3Rpb25Cb2R5Tm9kZSogYm9keSwgY29uc3QgU291cmNlQ29kZSYgc291cmNlLCBQYXJh
bWV0ZXJOb2RlKiBwYXJhbWV0ZXIpCisgICAgICAgIDogRnVuY0V4cHJOb2RlKGxvY2F0aW9uLCBp
ZGVudCwgYm9keSwgc291cmNlLCBwYXJhbWV0ZXIpCisgICAgeworICAgIH0KKyNlbmRpZgorICAg
IAogICAgIGlubGluZSBGdW5jRGVjbE5vZGU6OkZ1bmNEZWNsTm9kZShjb25zdCBKU1Rva2VuTG9j
YXRpb24mIGxvY2F0aW9uLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgRnVuY3Rpb25Cb2R5Tm9k
ZSogYm9keSwgY29uc3QgU291cmNlQ29kZSYgc291cmNlLCBQYXJhbWV0ZXJOb2RlKiBwYXJhbWV0
ZXIpCiAgICAgICAgIDogU3RhdGVtZW50Tm9kZShsb2NhdGlvbikKICAgICAgICAgLCBtX2JvZHko
Ym9keSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAppbmRleCAzNjk0MTIwYjA2OGY3
YzkyZjY5OGVhN2Q1ZWEyM2MwMjk3Njc5YmVlLi4xNjhjMzRkNzEzMjQ0YWJlMjZjOTM2MjE5YmJk
M2ZlODA2MzIzZjk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05v
ZGVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCkBAIC0xNTgs
NiArMTU4LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0RvdEFj
Y2Vzc29yTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwgYm9v
bCBpc0RlY29uc3RydWN0aW9uTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAg
IHZpcnR1YWwgYm9vbCBpc0Z1bmNFeHByTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Cisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdmlydHVhbCBib29s
IGlzQXJyb3dGdW5jRXhwck5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorI2VuZGlmCiAg
ICAgICAgIHZpcnR1YWwgYm9vbCBpc0NvbW1hTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc1NpbXBsZUFycmF5KCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzQWRkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KQEAgLTE2NTEsNiArMTY1NCwxOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgRnVuY3Rp
b25Cb2R5Tm9kZSogbV9ib2R5OwogICAgIH07CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIGNsYXNzIEFycm93RnVuY0V4cHJOb2RlIDogcHVibGljIEZ1bmNFeHBy
Tm9kZSB7CisgICAgcHVibGljOgorICAgICAgICBBcnJvd0Z1bmNFeHByTm9kZShjb25zdCBKU1Rv
a2VuTG9jYXRpb24mLCBjb25zdCBJZGVudGlmaWVyJiwgRnVuY3Rpb25Cb2R5Tm9kZSosIGNvbnN0
IFNvdXJjZUNvZGUmLCBQYXJhbWV0ZXJOb2RlKiA9IDApOworICAgIHByaXZhdGU6CisgICAgICAg
IHZpcnR1YWwgUmVnaXN0ZXJJRCogZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiwgUmVn
aXN0ZXJJRCogPSAwKSBvdmVycmlkZTsKKyAgICAgICAgCisgICAgICAgIHZpcnR1YWwgYm9vbCBp
c0Z1bmNFeHByTm9kZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgICAg
IAorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNBcnJvd0Z1bmNFeHByTm9kZSgpIGNvbnN0IG92ZXJy
aWRlIHsgcmV0dXJuIHRydWU7IH0KKyAgICB9OworI2VuZGlmCisKICNpZiBFTkFCTEUoRVM2X0NM
QVNTX1NZTlRBWCkKICAgICBjbGFzcyBDbGFzc0V4cHJOb2RlIGZpbmFsIDogcHVibGljIEV4cHJl
c3Npb25Ob2RlIHsKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1BhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNl
ci5jcHAKaW5kZXggNWY1MWRhMjRiNDM4NTM5YjdkNWIwZjQ5NTQxNDkwOTU0NjI3MjcyNi4uNjQ2
MjQzYjg1NjMxZDM5ZTRlZTI2ZDM2MGRhMjEzYmNjNGQ0MjE5NSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvUGFyc2VyLmNwcApAQCAtMzI4LDggKzMyOCwxMyBAQCBib29sIFBhcnNlcjxM
ZXhlclR5cGU+OjphbGxvd0F1dG9tYXRpY1NlbWljb2xvbigpCiAgICAgcmV0dXJuIG1hdGNoKENM
T1NFQlJBQ0UpIHx8IG1hdGNoKEVPRlRPSykgfHwgbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKTsK
IH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlw
ZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNl
RWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxk
ZXImIGNvbnRleHQsIFNvdXJjZUVsZW1lbnRzTW9kZSBtb2RlLCBGdW5jdGlvblBhcnNlVHlwZSBm
dW5jdGlvblBhcnNlVHlwZSkKKyNlbHNlCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgog
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJj
ZUVsZW1lbnRzTW9kZSBtb2RlKQorI2VuZGlmCiB7CiAgICAgY29uc3QgdW5zaWduZWQgbGVuZ3Ro
T2ZVc2VTdHJpY3RMaXRlcmFsID0gMTI7IC8vICJ1c2Ugc3RyaWN0Ii5sZW5ndGgKICAgICBUcmVl
U291cmNlRWxlbWVudHMgc291cmNlRWxlbWVudHMgPSBjb250ZXh0LmNyZWF0ZVNvdXJjZUVsZW1l
bnRzKCk7CkBAIC0zMzgsNyArMzQzLDExIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsCiAgICAg
dW5zaWduZWQgZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDA7CiAgICAgYXV0byBzYXZlUG9pbnQg
PSBjcmVhdGVTYXZlUG9pbnQoKTsKICAgICBib29sIGhhc1NldFN0cmljdCA9IGZhbHNlOworI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgd2hpbGUgKFRyZWVTdGF0ZW1l
bnQgc3RhdGVtZW50ID0gcGFyc2VTdGF0ZW1lbnQoY29udGV4dCwgZGlyZWN0aXZlLCAmZGlyZWN0
aXZlTGl0ZXJhbExlbmd0aCwgZnVuY3Rpb25QYXJzZVR5cGUpKSB7CisjZWxzZQogICAgIHdoaWxl
IChUcmVlU3RhdGVtZW50IHN0YXRlbWVudCA9IHBhcnNlU3RhdGVtZW50KGNvbnRleHQsIGRpcmVj
dGl2ZSwgJmRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgpKSB7CisjZW5kaWYKICAgICAgICAgaWYgKG1v
ZGUgPT0gQ2hlY2tGb3JTdHJpY3RNb2RlICYmICFzZWVuTm9uRGlyZWN0aXZlKSB7CiAgICAgICAg
ICAgICBpZiAoZGlyZWN0aXZlKSB7CiAgICAgICAgICAgICAgICAgLy8gInVzZSBzdHJpY3QiIG11
c3QgYmUgdGhlIGV4YWN0IGxpdGVyYWwgd2l0aG91dCBlc2NhcGUgc2VxdWVuY2VzIG9yIGxpbmUg
Y29udGludWF0aW9uLgpAQCAtNTcwLDYgKzU3OSwzMiBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gUGFyc2VyPExleGVyVHlwZT46OmNyZWF0
ZQogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUJpbmRpbmdMb2NhdGlvbih0b2tlbi5tX2xvY2F0
aW9uLCBuYW1lLCB0b2tlbi5tX3N0YXJ0UG9zaXRpb24sIHRva2VuLm1fZW5kUG9zaXRpb24pOwog
fQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBl
bmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1l
bnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvblN0YXRlbWVudChUcmVlQnVp
bGRlciYgY29udGV4dCkKK3sKKyAgICBBU1NFUlQobWF0Y2goQVJST1dGVU5DVElPTikpOworCisg
ICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CisgICAgc2VtYW50
aWNGYWlsSWZGYWxzZShjdXJyZW50U2NvcGUoKS0+aXNGdW5jdGlvbigpLCAiUmV0dXJuIHN0YXRl
bWVudHMgYXJlIG9ubHkgdmFsaWQgaW5zaWRlIGFycm93IGZ1bmN0aW9ucyIpOworICAgIEpTVGV4
dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgSlNUZXh0UG9zaXRp
b24gZW5kID0gdG9rZW5FbmRQb3NpdGlvbigpOworCisgICAgbmV4dCgpOworICAgIFRyZWVFeHBy
ZXNzaW9uIGV4cHIgPSBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKGNvbnRleHQpOworICAg
IGZhaWxJZkZhbHNlKGV4cHIsICJDYW5ub3QgcGFyc2UgdGhlIGFycm93IGZ1bmN0aW9uIGV4cHJl
c3Npb24iKTsKKyAgICBlbmQgPSBsYXN0VG9rZW5FbmRQb3NpdGlvbigpOworCisgICAgYm9vbCBj
b3JyZWNBcnJvd0ZpbmlzaCA9IG1hdGNoKFNFTUlDT0xPTikgfHwgbWF0Y2goQ09NTUEpIHx8IG1h
dGNoKENMT1NFUEFSRU4pIHx8IG1hdGNoKENMT1NFQlJBQ0UpIHx8IG1hdGNoKENMT1NFQlJBQ0tF
VCkgfHwgbWF0Y2goRU9GVE9LKTsKKyAgICBmYWlsSWZGYWxzZShjb3JyZWNBcnJvd0ZpbmlzaCwg
IkV4cGVjdGVkIGEgJzsnLCAnXScsICd9JywgJyknLCBvciAnLCcgZm9sbG93aW5nIGEgYXJyb3cg
ZnVuY3Rpb24gc3RhdGVtZW50Iik7CisKKyAgICBlbmQgPSB0b2tlbkVuZFBvc2l0aW9uKCk7Cisg
ICAgc2V0RW5kT2ZTdGF0ZW1lbnQoKTsKKworICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJldHVy
blN0YXRlbWVudChsb2NhdGlvbiwgZXhwciwgc3RhcnQsIGVuZCk7Cit9CisjZW5kaWYKKwogdGVt
cGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6dHJ5UGFyc2VEZWNv
bnN0cnVjdGlvblBhdHRlcm5FeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewpAQCAt
MTE0Myw4ICsxMTc4LDEzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRl
bWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VCbG9ja1N0YXRlbWVuCiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0
ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
U3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYg
Y29udGV4dCwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2
ZUxpdGVyYWxMZW5ndGgsIEZ1bmN0aW9uUGFyc2VUeXBlIHR5cGUpCisjZWxzZQogdGVtcGxhdGUg
PHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0
YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNv
bnRleHQsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVM
aXRlcmFsTGVuZ3RoKQorI2VuZGlmCiB7CiAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRo
KCZtX3N0YXRlbWVudERlcHRoKTsKICAgICBtX3N0YXRlbWVudERlcHRoKys7CkBAIC0xMTUzLDYg
KzExOTMsMjcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmUKICAgICBmYWlsSWZTdGFja092ZXJm
bG93KCk7CiAgICAgVHJlZVN0YXRlbWVudCByZXN1bHQgPSAwOwogICAgIGJvb2wgc2hvdWxkU2V0
RW5kT2Zmc2V0ID0gdHJ1ZTsKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgYm9vbCBoYW5kbGVkID0gZmFsc2U7CisgICAgaWYgKHR5cGUgPT0gQXJyb3dGdW5jdGlv
blBhcnNlVHlwZSkgeworICAgICAgICBzd2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7CisgICAgICAg
IGNhc2UgQ0xPU0VQQVJFTjoKKyAgICAgICAgY2FzZSBDTE9TRUJSQUNLRVQ6CisgICAgICAgIGNh
c2UgQ09NTUE6CisgICAgICAgIGNhc2UgU0VNSUNPTE9OOiB7CisgICAgICAgICAgICByZXN1bHQg
PSAwOworICAgICAgICAgICAgaGFuZGxlZCA9IHRydWU7CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgfQorICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0K
KworICAgICAgICBpZiAoaGFuZGxlZCkKKyAgICAgICAgICAgIGdvdG8gZW5kU3RhdGVtZW5ldDsK
KyAgICB9CisjZW5kaWYKICAgICBzd2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7CiAgICAgY2FzZSBP
UEVOQlJBQ0U6CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlQmxvY2tTdGF0ZW1lbnQoY29udGV4dCk7
CkBAIC0xMTk4LDYgKzEyNTksMTEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
U3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmUKICAgICBjYXNl
IEJSRUFLOgogICAgICAgICByZXN1bHQgPSBwYXJzZUJyZWFrU3RhdGVtZW50KGNvbnRleHQpOwog
ICAgICAgICBicmVhazsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
IGNhc2UgQVJST1dGVU5DVElPTjoKKyAgICAgICAgcmVzdWx0ID0gcGFyc2VBcnJvd0Z1bmN0aW9u
U3RhdGVtZW50KGNvbnRleHQpOworICAgICAgICBicmVhazsKKyNlbmRpZgogICAgIGNhc2UgUkVU
VVJOOgogICAgICAgICByZXN1bHQgPSBwYXJzZVJldHVyblN0YXRlbWVudChjb250ZXh0KTsKICAg
ICAgICAgYnJlYWs7CkBAIC0xMjM5LDYgKzEzMDUsOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRy
ZQogICAgICAgICBicmVhazsKICAgICB9CiAKK2VuZFN0YXRlbWVuZXQ6CisKICAgICBpZiAocmVz
dWx0ICYmIHNob3VsZFNldEVuZE9mZnNldCkKICAgICAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQo
cmVzdWx0LCBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLm9mZnNldCk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKQEAgLTEyNTksNiArMTMyNywyNCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVGb3JtYWxQYXJhbWV0ZXJMaXN0IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZvcgogICAgIHJl
dHVybiBsaXN0OwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3Rl
bXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlRnVuY3Rpb25Cb2R5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rp
b25Cb2R5KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGlu
dCBmdW5jdGlvbk5hbWVTdGFydCwgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5k
IGNvbnN0cnVjdG9yS2luZCkKK3sKKyAgICBKU1Rva2VuTG9jYXRpb24gc3RhcnRMb2NhdGlvbih0
b2tlbkxvY2F0aW9uKCkpOworICAgIHVuc2lnbmVkIHN0YXJ0Q29sdW1uID0gdG9rZW5Db2x1bW4o
KTsKKworICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7
CisgICAgbV9zdGF0ZW1lbnREZXB0aCA9IDA7CisgICAgdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkZ1
bmN0aW9uQm9keUJ1aWxkZXIgYm9keUJ1aWxkZXIoY29uc3RfY2FzdDxWTSo+KG1fdm0pLCBtX2xl
eGVyLmdldCgpKTsKKworICAgIGZhaWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMoYm9keUJ1
aWxkZXIsIENoZWNrRm9yU3RyaWN0TW9kZSwgQXJyb3dGdW5jdGlvblBhcnNlVHlwZSksICJDYW5u
b3QgcGFyc2UgYm9keSBvZiB0aGlzIGFycm93IGZ1bmN0aW9uIik7CisgICAgdW5zaWduZWQgZW5k
Q29sdW1uID0gdG9rZW5Db2x1bW4oKTsKKyAgICAKKyAgICByZXR1cm4gY29udGV4dC5jcmVhdGVG
dW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwg
ZW5kQ29sdW1uLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFt
ZXRlcnNTdGFydCwgc3RyaWN0TW9kZSgpLCBjb25zdHJ1Y3RvcktpbmQpOworfQorI2VuZGlmCisK
IHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVGdW5jdGlvbkJvZHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25Cb2R5
KAogICAgIFRyZWVCdWlsZGVyJiBjb250ZXh0LCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGlu
dCBmdW5jdGlvbk5hbWVTdGFydCwgCkBAIC0xNDQ2LDYgKzE1MzIsMTU2IEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbklu
Zm8oVHJlZUJ1aWxkCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1
bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25QYXJzZU1vZGUgbW9kZSwg
Q29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0
LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvKQoreworICAgIEF1dG9Qb3BT
Y29wZVJlZiBmdW5jdGlvblNjb3BlKHRoaXMsIHB1c2hTY29wZSgpKTsKKyAgICBmdW5jdGlvblNj
b3BlLT5zZXRJc0Z1bmN0aW9uKCk7CisgICAgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0ID0gbV90b2tl
bi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OworICAgIGNvbnN0IElkZW50aWZpZXIqIGxhc3RGdW5j
dGlvbk5hbWUgPSBtX2xhc3RGdW5jdGlvbk5hbWU7CisgICAgbV9sYXN0RnVuY3Rpb25OYW1lID0g
bnVsbHB0cjsKKyAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0
YXJ0T2Zmc2V0OworICAgIGlmICghbWF0Y2goSURFTlQpICYmICFtYXRjaChPUEVOUEFSRU4pKSB7
CisgICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5jdGlvbk1v
ZGUobW9kZSksICIgbmFtZSIpOworICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVkIGFu
IGFycm93IGZ1bmN0aW9uIGlucHV0IHBhcmFtZXRlciIpOworICAgIH0gZWxzZSB7CisgICAgICAg
IGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgICAgICBjb25zdW1lKE9QRU5QQVJFTik7
CisKKyAgICAgICAgICAgIGlmICghbWF0Y2goQ0xPU0VQQVJFTikpIHsKKyAgICAgICAgICAgICAg
ICBpbmZvLnBhcmFtZXRlcnMgPSBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoY29udGV4dCk7CisgICAg
ICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBh
cmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAg
ICAgICAgIH0KKworICAgICAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiRXhwZWN0
ZWQgYSAnKScgb3IgYSAnLCcgYWZ0ZXIgYSBwYXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsKKyAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9IHBhcnNlRm9ybWFsUGFy
YW1ldGVycyhjb250ZXh0KTsKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKGluZm8ucGFyYW1ldGVy
cywgIkNhbm5vdCBwYXJzZSBwYXJhbWV0ZXJzIGZvciB0aGlzICIsIHN0cmluZ0ZvckZ1bmN0aW9u
TW9kZShtb2RlKSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBtYXRjaE9yRmFpbChBUlJPV0ZV
TkNUSU9OLCAiRXhwZWN0ZWQgYSAnPT4nIGFmdGVyIGFycm93IGZ1bmN0aW9uIHBhcmFtZXRlciBk
ZWNsYXJhdGlvbiIpOworICAgIAorICAgIGluZm8uYXJyb3dGdW5jdGlvbk9mZnNldCA9IG1fdG9r
ZW4ubV9kYXRhLm9mZnNldDsKKyAgICBpbmZvLm9wZW5CcmFjZU9mZnNldCA9IG1fdG9rZW4ubV9k
YXRhLm9mZnNldDsKKyAgICBpbmZvLmJvZHlTdGFydExpbmUgPSB0b2tlbkxpbmUoKTsKKyAgICBp
bmZvLmJvZHlTdGFydENvbHVtbiA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldCAtIG1fdG9rZW4ubV9k
YXRhLmxpbmVTdGFydE9mZnNldDsKKworICAgIEpTVG9rZW5Mb2NhdGlvbiBzdGFydExvY2F0aW9u
KHRva2VuTG9jYXRpb24oKSk7CisKKyAgICAvLyBJZiB3ZSBrbm93IGFib3V0IHRoaXMgZnVuY3Rp
b24gYWxyZWFkeSwgd2UgY2FuIHVzZSB0aGUgY2FjaGVkIGluZm8gYW5kIHNraXAgdGhlIHBhcnNl
ciB0byB0aGUgZW5kIG9mIHRoZSBmdW5jdGlvbi4KKyAgICBpZiAoY29uc3QgU291cmNlUHJvdmlk
ZXJDYWNoZUl0ZW0qIGNhY2hlZEluZm8gPSBUcmVlQnVpbGRlcjo6Q2FuVXNlRnVuY3Rpb25DYWNo
ZSA/IGZpbmRDYWNoZWRGdW5jdGlvbkluZm8oaW5mby5vcGVuQnJhY2VPZmZzZXQpIDogMCkgewor
ICAgICAgICAvLyBJZiB3ZSdyZSBpbiBhIHN0cmljdCBjb250ZXh0LCB0aGUgY2FjaGVkIGZ1bmN0
aW9uIGluZm8gbXVzdCBzYXkgaXQgd2FzIHN0cmljdCB0b28uCisgICAgICAgIEFTU0VSVCghc3Ry
aWN0TW9kZSgpIHx8IGNhY2hlZEluZm8tPnN0cmljdE1vZGUpOworICAgICAgICBKU1Rva2VuTG9j
YXRpb24gZW5kTG9jYXRpb247CisKKyAgICAgICAgZW5kTG9jYXRpb24ubGluZSA9IGNhY2hlZElu
Zm8tPmNsb3NlQnJhY2VMaW5lOworICAgICAgICBlbmRMb2NhdGlvbi5zdGFydE9mZnNldCA9IGNh
Y2hlZEluZm8tPmNsb3NlQnJhY2VPZmZzZXQ7CisgICAgICAgIGVuZExvY2F0aW9uLmxpbmVTdGFy
dE9mZnNldCA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQ7CisKKyAgICAg
ICAgYm9vbCBlbmRDb2x1bW5Jc09uU3RhcnRMaW5lID0gKGVuZExvY2F0aW9uLmxpbmUgPT0gaW5m
by5ib2R5U3RhcnRMaW5lKTsKKyAgICAgICAgQVNTRVJUKGVuZExvY2F0aW9uLnN0YXJ0T2Zmc2V0
ID49IGVuZExvY2F0aW9uLmxpbmVTdGFydE9mZnNldCk7CisgICAgICAgIHVuc2lnbmVkIGJvZHlF
bmRDb2x1bW4gPSBlbmRDb2x1bW5Jc09uU3RhcnRMaW5lID8KKyAgICAgICAgZW5kTG9jYXRpb24u
c3RhcnRPZmZzZXQgLSBtX3Rva2VuLm1fZGF0YS5saW5lU3RhcnRPZmZzZXQgOgorICAgICAgICBl
bmRMb2NhdGlvbi5zdGFydE9mZnNldCAtIGVuZExvY2F0aW9uLmxpbmVTdGFydE9mZnNldDsKKyAg
ICAgICAgdW5zaWduZWQgY3VycmVudExpbmVTdGFydE9mZnNldCA9IG1fdG9rZW4ubV9sb2NhdGlv
bi5saW5lU3RhcnRPZmZzZXQ7CisKKyAgICAgICAgaW5mby5ib2R5ID0gY29udGV4dC5jcmVhdGVG
dW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgZW5kTG9jYXRpb24sIGluZm8uYm9keVN0YXJ0Q29s
dW1uLCBib2R5RW5kQ29sdW1uLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3Rh
cnQsIHBhcmFtZXRlcnNTdGFydCwgY2FjaGVkSW5mby0+c3RyaWN0TW9kZSwgY29uc3RydWN0b3JL
aW5kKTsKKyAgICAgICAgZnVuY3Rpb25TY29wZS0+cmVzdG9yZUZyb21Tb3VyY2VQcm92aWRlckNh
Y2hlKGNhY2hlZEluZm8pOworICAgICAgICBmYWlsSWZGYWxzZShwb3BTY29wZShmdW5jdGlvblNj
b3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFibGVJbmZvKSwgIlBhcnNlciBlcnJvciIp
OworCisgICAgICAgIGluZm8uY2xvc2VCcmFjZU9mZnNldCA9IGNhY2hlZEluZm8tPmNsb3NlQnJh
Y2VPZmZzZXQ7CisgICAgICAgIGluZm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBlID0gY2FjaGVkSW5m
by0+aXNCb2R5QXJyb3dGdW5jdGlvbkJsb2NrID8gQXJyb3dGdW5jdGlvbkJvZHlCbG9jayA6IEFy
cm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbjsKKworICAgICAgICBtX3Rva2VuID0gaW5mby5hcnJv
d0Z1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jayA/IGNhY2hlZEluZm8t
PmNsb3NlQnJhY2VUb2tlbigpIDogY2FjaGVkSW5mby0+ZW5kQXJyb3dGdW5jdGlvblRva2VuKCk7
CisKKyAgICAgICAgaWYgKGVuZENvbHVtbklzT25TdGFydExpbmUpCisgICAgICAgICAgICBtX3Rv
a2VuLm1fbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVTdGFydE9mZnNldDsK
KworICAgICAgICBtX2xleGVyLT5zZXRPZmZzZXQobV90b2tlbi5tX2xvY2F0aW9uLmVuZE9mZnNl
dCwgbV90b2tlbi5tX2xvY2F0aW9uLmxpbmVTdGFydE9mZnNldCk7CisgICAgICAgIG1fbGV4ZXIt
PnNldExpbmVOdW1iZXIobV90b2tlbi5tX2xvY2F0aW9uLmxpbmUpOworCisgICAgICAgIGNvbnRl
eHQuc2V0RW5kT2Zmc2V0KGluZm8uYm9keSwgbV9sZXhlci0+Y3VycmVudE9mZnNldCgpKTsKKwor
ICAgICAgICBpZiAoaW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJv
ZHlCbG9jaykKKyAgICAgICAgICAgIG5leHQoKTsKKworICAgICAgICBpbmZvLmJvZHlFbmRMaW5l
ID0gbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICB9CisgICAgbV9sYXN0RnVuY3Rpb25OYW1lID0gbGFzdEZ1bmN0aW9uTmFtZTsKKyAgICBQYXJz
ZXJTdGF0ZSBvbGRTdGF0ZSA9IHNhdmVTdGF0ZSgpOworCisgICAgU2F2ZVBvaW50IHNhdmVQb2lu
dCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgIG5leHQoKTsKKyAgICAvLyBDaGVjayBpZiBhcnJv
dyBib2R5IHN0YXJ0IHdpdGggey4gSWYgaXQgdHJ1ZSBpdCBtZWFuIHRoYXQgYXJyb3cgZnVuY3Rp
b24gaXMgRmF0IGFycm93IGZ1bmN0aW9uCisgICAgLy8gYW5kIHdlIG5lZWQgdXNlIGNvbW1vbiBh
cHByb2FjaCB0byBwYXJzZSBmdW5jdGlvbiBib2R5CisKKyAgICBpbmZvLmFycm93RnVuY3Rpb25C
b2R5VHlwZSA9IG1hdGNoKE9QRU5CUkFDRSkgPyBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrIDogQXJy
b3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOworCisgICAgaWYgKGluZm8uYXJyb3dGdW5jdGlvbkJv
ZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHsKKyAgICAgICAgaW5mby5vcGVuQnJh
Y2VPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CisgICAgICAgIGluZm8uYm9keVN0YXJ0
TGluZSA9IHRva2VuTGluZSgpOworICAgICAgICBpbmZvLmJvZHlTdGFydENvbHVtbiA9IG1fdG9r
ZW4ubV9kYXRhLm9mZnNldCAtIG1fdG9rZW4ubV9kYXRhLmxpbmVTdGFydE9mZnNldDsKKworICAg
ICAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdv
cmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JL
aW5kKTsKKyAgICB9IGVsc2UgeworICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7
CisgICAgICAgIGluZm8uYm9keSA9IHBhcnNlQXJyb3dGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVu
Y3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNv
bnN0cnVjdG9yS2luZCk7CisgICAgfQorCisgICAgcmVzdG9yZVN0YXRlKG9sZFN0YXRlKTsKKyAg
ICBmYWlsSWZGYWxzZShpbmZvLmJvZHksICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgdGhpcyAi
LCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOworICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0
KGluZm8uYm9keSwgbV9sZXhlci0+Y3VycmVudE9mZnNldCgpKTsKKyAgICBpZiAoZnVuY3Rpb25T
Y29wZS0+c3RyaWN0TW9kZSgpICYmIGluZm8ubmFtZSkgeworICAgICAgICBSRUxFQVNFX0FTU0VS
VChtb2RlID09IEZ1bmN0aW9uTW9kZSk7CisgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShtX3Zt
LT5wcm9wZXJ0eU5hbWVzLT5hcmd1bWVudHMgPT0gKmluZm8ubmFtZSwgIiciLCBpbmZvLm5hbWUt
PmltcGwoKSwgIicgaXMgbm90IGEgdmFsaWQgZnVuY3Rpb24gbmFtZSBpbiBzdHJpY3QgbW9kZSIp
OworICAgICAgICBzZW1hbnRpY0ZhaWxJZlRydWUobV92bS0+cHJvcGVydHlOYW1lcy0+ZXZhbCA9
PSAqaW5mby5uYW1lLCAiJyIsIGluZm8ubmFtZS0+aW1wbCgpLCAiJyBpcyBub3QgYSB2YWxpZCBm
dW5jdGlvbiBuYW1lIGluIHN0cmljdCBtb2RlIik7CisgICAgfQorCisgICAgaW5mby5jbG9zZUJy
YWNlT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OworCisgICAgdW5zaWduZWQgY2xvc2VC
cmFjZUxpbmUgPSBtX3Rva2VuLm1fZGF0YS5saW5lOworICAgIHVuc2lnbmVkIGNsb3NlQnJhY2VM
aW5lU3RhcnRPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5saW5lU3RhcnRPZmZzZXQ7CisgICAgYm9v
bCBpc0JvZHlBcnJvd0Z1bmN0aW9uQmxvY2sgPSBpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlwZSA9
PSBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrOworCisgICAgLy8gQ2FjaGUgdGhlIHRva2VuaXplciBz
dGF0ZSBhbmQgdGhlIGZ1bmN0aW9uIHNjb3BlIHRoZSBmaXJzdCB0aW1lIHRoZSBmdW5jdGlvbiBp
cyBwYXJzZWQuCisgICAgLy8gQW55IGZ1dHVyZSByZXBhcnNpbmcgY2FuIHRoZW4gc2tpcCB0aGUg
ZnVuY3Rpb24uCisgICAgc3RhdGljIGNvbnN0IGludCBtaW5pbXVtRnVuY3Rpb25MZW5ndGhUb0Nh
Y2hlID0gMTY7CisgICAgc3RkOjp1bmlxdWVfcHRyPFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtPiBu
ZXdJbmZvOworICAgIGludCBmdW5jdGlvbkxlbmd0aCA9IGluZm8uY2xvc2VCcmFjZU9mZnNldCAt
IGluZm8ub3BlbkJyYWNlT2Zmc2V0OworICAgIGlmIChUcmVlQnVpbGRlcjo6Q2FuVXNlRnVuY3Rp
b25DYWNoZSAmJiBtX2Z1bmN0aW9uQ2FjaGUgJiYgZnVuY3Rpb25MZW5ndGggPiBtaW5pbXVtRnVu
Y3Rpb25MZW5ndGhUb0NhY2hlKSB7CisgICAgICAgIFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtQ3Jl
YXRpb25QYXJhbWV0ZXJzIHBhcmFtZXRlcnM7CisgICAgICAgIHBhcmFtZXRlcnMuZnVuY3Rpb25O
YW1lU3RhcnQgPSBmdW5jdGlvbk5hbWVTdGFydDsKKyAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJy
YWNlTGluZSA9IGNsb3NlQnJhY2VMaW5lOworICAgICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VP
ZmZzZXQgPSBpbmZvLmNsb3NlQnJhY2VPZmZzZXQ7CisgICAgICAgIHBhcmFtZXRlcnMuY2xvc2VC
cmFjZUxpbmVTdGFydE9mZnNldCA9IGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQ7CisgICAgICAg
IHBhcmFtZXRlcnMuaXNCb2R5QXJyb3dGdW5jdGlvbkJsb2NrID0gaXNCb2R5QXJyb3dGdW5jdGlv
bkJsb2NrOworICAgICAgICBwYXJhbWV0ZXJzLnRva2VuVHlwZSA9IG1fdG9rZW4ubV90eXBlOwor
CisgICAgICAgIGZ1bmN0aW9uU2NvcGUtPmZpbGxQYXJhbWV0ZXJzRm9yU291cmNlUHJvdmlkZXJD
YWNoZShwYXJhbWV0ZXJzKTsKKyAgICAgICAgbmV3SW5mbyA9IFNvdXJjZVByb3ZpZGVyQ2FjaGVJ
dGVtOjpjcmVhdGUocGFyYW1ldGVycyk7CisgICAgfQorCisgICAgZmFpbElmRmFsc2UocG9wU2Nv
cGUoZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQ
YXJzZXIgZXJyb3IiKTsKKworICAgIGlmIChpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlwZSA9PSBB
cnJvd0Z1bmN0aW9uQm9keUJsb2NrKSB7CisgICAgICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0Us
ICJFeHBlY3RlZCBhIGNsb3NpbmcgJ30nIGFmdGVyIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2Rl
KG1vZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgbmV4dCgpOworICAgIH0gZWxzZSB7CisgICAgICAg
IGJvb2wgaXNFbmRPZkFycm93RnVuY3Rpb24gPSBtYXRjaChTRU1JQ09MT04pIHx8IG1hdGNoKENP
TU1BKSB8fCBtYXRjaChDTE9TRVBBUkVOKSB8fCBtYXRjaChDTE9TRUJSQUNFKSB8fCBtYXRjaChD
TE9TRUJSQUNLRVQpOworICAgICAgICBmYWlsSWZGYWxzZShpc0VuZE9mQXJyb3dGdW5jdGlvbiwg
IkV4cGVjdGVkIHRoZSBjbG9zaW5nICc7JyAnLCcgJ10nICcpJyAnfScgYWZ0ZXIgYXJyb3cgZnVu
Y3Rpb24iKTsKKyAgICB9CisKKyAgICBpZiAobmV3SW5mbykKKyAgICAgICAgbV9mdW5jdGlvbkNh
Y2hlLT5hZGQoaW5mby5vcGVuQnJhY2VPZmZzZXQsIFdURjo6bW92ZShuZXdJbmZvKSk7CisKKyAg
ICBpbmZvLmJvZHlFbmRMaW5lID0gbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lOworICAgIHJl
dHVybiB0cnVlOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbihUcmVlQnVpbGRlciYgY29udGV4dCkKIHsKQEAg
LTE3NjYsNiArMjAwMiwxOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0
ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSWZTdGF0ZW1lbnQoVAogICAgIHJldHVybiBj
b250ZXh0LmNyZWF0ZUlmU3RhdGVtZW50KGlmTG9jYXRpb24sIGNvbmRpdGlvbiwgdHJ1ZUJsb2Nr
LCBzdGF0ZW1lbnRTdGFjay5sYXN0KCksIHN0YXJ0LCBlbmQpOwogfQogCisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQor
eworICAgIGZhaWxJZlN0YWNrT3ZlcmZsb3coKTsKKyAgICBUcmVlRXhwcmVzc2lvbiBub2RlID0g
cGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICBmYWlsSWZGYWxzZShub2Rl
LCAiQ2Fubm90IHBhcnNlIGV4cHJlc3Npb24iKTsKKyAgICBjb250ZXh0LnNldEVuZE9mZnNldChu
b2RlLCBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLm9mZnNldCk7CisgICAgcmV0dXJuIG5vZGU7Cit9
CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhw
cmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKIHsKQEAgLTE4MTMsNiArMjA2MSw0MyBAQCB0
ZW1wbGF0ZSA8dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZUFzc2lnbm1lbgogICAgICAgICB9CiAgICAgICAgIHJlc3RvcmVTYXZlUG9p
bnQoc2F2ZVBvaW50KTsKICAgICB9CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgIFNhdmVQb2ludCBzYXZlQXJyb3dGdW5jdGlvblBvaW50ID0gY3JlYXRlU2F2ZVBv
aW50KCk7CisgICAgYm9vbCBhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0ID0gZmFsc2U7CisgICAgaWYg
KG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgbmV4dCgpOworICAgICAgICBpZiAobWF0Y2go
Q0xPU0VQQVJFTikpIHsKKyAgICAgICAgICAgIG5leHQoKTsKKworICAgICAgICAgICAgaWYgKG1h
dGNoKEFSUk9XRlVOQ1RJT04pKQorICAgICAgICAgICAgICAgIGFycm93RnVuY3Rpb25FbXB0eUxp
c3QgPSB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCFhcnJvd0Z1bmN0aW9uRW1wdHlM
aXN0KQorICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50
KTsKKyAgICB9CisjZW5kaWYKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgVHJlZUV4cHJlc3Npb24gbGhzOworICAgIGlmICghYXJyb3dGdW5jdGlvbkVtcHR5TGlz
dCkgeworICAgICAgICBsaHMgPSBwYXJzZUNvbmRpdGlvbmFsRXhwcmVzc2lvbihjb250ZXh0KTsK
KyAgICAgICAgZmFpbElmRmFsc2UobGhzLCAiQ2FuGW5vdCBwYXJzZSBleHByZXNzaW9uIik7Cisg
ICAgICAgIGlmIChpbml0aWFsTm9uTEhTQ291bnQgIT0gbV9ub25MSFNDb3VudCkgeworICAgICAg
ICAgICAgaWYgKG1fdG9rZW4ubV90eXBlID49IEVRVUFMICYmIG1fdG9rZW4ubV90eXBlIDw9IE9S
RVFVQUwpCisgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsKCJMZWZ0IGhhbmQgc2lkZSBvZiBv
cGVyYXRvciAnIiwgZ2V0VG9rZW4oKSwgIicgbXVzdCBiZSBhIHJlZmVyZW5jZSIpOworCisgICAg
ICAgICAgICByZXR1cm4gbGhzOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKG1hdGNoKEFS
Uk9XRlVOQ1RJT04pKSB7CisgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rp
b25Qb2ludCk7CisgICAgICAgIGxocyA9IHBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoY29udGV4
dCk7CisgICAgICAgIHJldHVybiBsaHM7CisgICAgfQorI2Vsc2UKICAgICBUcmVlRXhwcmVzc2lv
biBsaHMgPSBwYXJzZUNvbmRpdGlvbmFsRXhwcmVzc2lvbihjb250ZXh0KTsKICAgICBmYWlsSWZG
YWxzZShsaHMsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lvbiIpOwogICAgIGlmIChpbml0aWFsTm9u
TEhTQ291bnQgIT0gbV9ub25MSFNDb3VudCkgewpAQCAtMTgyMiw2ICsyMTA3LDggQEAgdGVtcGxh
dGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VBc3NpZ25tZW4KICAgICAgICAgcmV0dXJuIGxoczsKICAgICB9CiAgICAgCisjZW5k
aWYKKwogICAgIGludCBhc3NpZ25tZW50U3RhY2sgPSAwOwogICAgIE9wZXJhdG9yIG9wOwogICAg
IGJvb2wgaGFkQXNzaWdubWVudCA9IGZhbHNlOwpAQCAtMjI5Niw2ICsyNTgzLDIzIEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAgICAgIHJldHVybiBjb250ZXh0LnRoaXNFeHByKGxvY2F0
aW9uKTsKICAgICB9CiAgICAgY2FzZSBJREVOVDogeworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgICAgIFNhdmVQb2ludCBzYXZlQXJyb3dGdW5jdGlvblBvaW50ID0g
Y3JlYXRlU2F2ZVBvaW50KCk7CisgICAgICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5T
dGFydFBvc2l0aW9uKCk7CisgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tl
bi5tX2RhdGEuaWRlbnQ7CisgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxv
Y2F0aW9uKCkpOworICAgICAgICBuZXh0KCk7CisKKyAgICAgICAgaWYgKCFtYXRjaChBUlJPV0ZV
TkNUSU9OKSkgeworICAgICAgICAgICAgY3VycmVudFNjb3BlKCktPnVzZVZhcmlhYmxlKGlkZW50
LCBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09ICppZGVudCk7CisgICAgICAgICAgICBtX2xh
c3RJZGVudGlmaWVyID0gaWRlbnQ7CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVS
ZXNvbHZlKGxvY2F0aW9uLCBpZGVudCwgc3RhcnQpOworICAgICAgICB9CisKKyAgICAgICAgcmVz
dG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAgVHJlZUV4cHJl
c3Npb24gbGhzID0gcGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihjb250ZXh0KTsKKyAgICAgICAg
cmV0dXJuIGxoczsKKyNlbHNlCiAgICAgICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5T
dGFydFBvc2l0aW9uKCk7CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tl
bi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxv
Y2F0aW9uKCkpOwpAQCAtMjMwMyw2ICsyNjA3LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUK
ICAgICAgICAgY3VycmVudFNjb3BlKCktPnVzZVZhcmlhYmxlKGlkZW50LCBtX3ZtLT5wcm9wZXJ0
eU5hbWVzLT5ldmFsID09ICppZGVudCk7CiAgICAgICAgIG1fbGFzdElkZW50aWZpZXIgPSBpZGVu
dDsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUmVzb2x2ZShsb2NhdGlvbiwgaWRlbnQs
IHN0YXJ0KTsKKyNlbmRpZgogICAgIH0KICAgICBjYXNlIFNUUklORzogewogICAgICAgICBjb25z
dCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwpAQCAtMjQ5MCw2ICsy
Nzk1LDMyIEBAIGVuZE1lbWJlckV4cHJlc3Npb246CiAgICAgcmV0dXJuIGJhc2U7CiB9CiAKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExl
eGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoVHJlZUJ1aWxkZXImIGNv
bnRleHQpCit7CisgICAgVHJlZUV4cHJlc3Npb24gYmFzZSA9IDA7CisgICAgSlNUZXh0UG9zaXRp
b24gZXhwcmVzc2lvblN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgaW50IG5ld0Nv
dW50ID0gMDsKKyAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb247CisKKyAgICBpZiAobWF0Y2go
SURFTlQpIHx8IG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgdW5zaWduZWQgZnVuY3Rpb25L
ZXl3b3JkU3RhcnQgPSB0b2tlblN0YXJ0KCk7CisgICAgICAgIGxvY2F0aW9uID0gdG9rZW5Mb2Nh
dGlvbigpOworICAgICAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87Cisg
ICAgICAgIGluZm8ubmFtZSA9ICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllcjsK
KyAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlQXJyb3dGdW5jdGlvbkluZm8oY29udGV4dCwgRnVu
Y3Rpb25Nb2RlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBp
bmZvKSksICJDYW5ub3QgcGFyc2UgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgICAgICBiYXNl
ID0gY29udGV4dC5jcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihsb2NhdGlvbiwgaW5mbyk7CisgICAg
fSBlbHNlCisgICAgICAgIGJhc2UgPSBwYXJzZVByaW1hcnlFeHByZXNzaW9uKGNvbnRleHQpOwor
CisgICAgZmFpbElmRmFsc2UoYmFzZSwgIkNhbm5vdCBwYXJzZSBiYXNlIGV4cHJlc3Npb24iKTsK
KyAgICB3aGlsZSAobmV3Q291bnQtLSkKKyAgICAgICAgYmFzZSA9IGNvbnRleHQuY3JlYXRlTmV3
RXhwcihsb2NhdGlvbiwgYmFzZSwgZXhwcmVzc2lvblN0YXJ0LCBsYXN0VG9rZW5FbmRQb3NpdGlv
bigpKTsKKyAgICByZXR1cm4gYmFzZTsKK30KKyNlbmRpZgorCiBzdGF0aWMgY29uc3QgY2hhciog
b3BlcmF0b3JTdHJpbmcoYm9vbCBwcmVmaXgsIHVuc2lnbmVkIHRvaykKIHsKICAgICBzd2l0Y2gg
KHRvaykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKaW5kZXggODYzZjljMTU2
MDg0MmE5ODU2ZDhlOTc3NTFjZDhiZWRjOGFiZDg3YS4uYWQwM2YwMGRiZDU3ZjhlNjQzOTNmZjVj
NzBjYTY5MTliMzc1MmUwYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCkBA
IC04MCw2ICs4MCw5IEBAIGNsYXNzIFNvdXJjZUNvZGU7CiBDT01QSUxFX0FTU0VSVChMYXN0VW50
YWdnZWRUb2tlbiA8IDY0LCBMZXNzVGhhbjY0VW50YWdnZWRUb2tlbnMpOwogCiBlbnVtIFNvdXJj
ZUVsZW1lbnRzTW9kZSB7IENoZWNrRm9yU3RyaWN0TW9kZSwgRG9udENoZWNrRm9yU3RyaWN0TW9k
ZSB9OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitlbnVtIEZ1bmN0aW9u
UGFyc2VUeXBlIHsgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSwgQXJyb3dGdW5jdGlvblBhcnNl
VHlwZSB9OworI2VuZGlmCiBlbnVtIEZ1bmN0aW9uUmVxdWlyZW1lbnRzIHsgRnVuY3Rpb25Ob1Jl
cXVpcmVtZW50cywgRnVuY3Rpb25OZWVkc05hbWUgfTsKIGVudW0gRnVuY3Rpb25QYXJzZU1vZGUg
ewogICAgIEZ1bmN0aW9uTW9kZSwKQEAgLTU1Myw4ICs1NTYsOCBAQCBwcml2YXRlOgogICAgIH0K
ICAgICAKICAgICBTY29wZVN0YWNrIG1fc2NvcGVTdGFjazsKLSAgICAKLSAgICBjb25zdCBTb3Vy
Y2VQcm92aWRlckNhY2hlSXRlbSogZmluZENhY2hlZEZ1bmN0aW9uSW5mbyhpbnQgb3BlbkJyYWNl
UG9zKSAKKworICAgIGNvbnN0IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKiBmaW5kQ2FjaGVkRnVu
Y3Rpb25JbmZvKGludCBvcGVuQnJhY2VQb3MpCiAgICAgewogICAgICAgICByZXR1cm4gbV9mdW5j
dGlvbkNhY2hlID8gbV9mdW5jdGlvbkNhY2hlLT5nZXQob3BlbkJyYWNlUG9zKSA6IDA7CiAgICAg
fQpAQCAtNTYyLDcgKzU2NSw3IEBAIHByaXZhdGU6CiAgICAgUGFyc2VyKCk7CiAgICAgU3RyaW5n
IHBhcnNlSW5uZXIoKTsKIAotICAgIHZvaWQgZGlkRmluaXNoUGFyc2luZyhTb3VyY2VFbGVtZW50
cyosIERlY2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayYsIAorICAgIHZvaWQgZGlkRmluaXNoUGFy
c2luZyhTb3VyY2VFbGVtZW50cyosIERlY2xhcmF0aW9uU3RhY2tzOjpWYXJTdGFjayYsCiAgICAg
ICAgIERlY2xhcmF0aW9uU3RhY2tzOjpGdW5jdGlvblN0YWNrJiwgQ29kZUZlYXR1cmVzLCBpbnQs
IElkZW50aWZpZXJTZXQmLCBjb25zdCBWZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiYmKTsKIAog
ICAgIC8vIFVzZWQgdG8gZGV0ZXJtaW5lIHR5cGUgb2YgZXJyb3IgdG8gcmVwb3J0LgpAQCAtNzIx
LDkgKzcyNCwxNCBAQCBwcml2YXRlOgogICAgICAgICB9CiAgICAgICAgIHJldHVybiByZXN1bHQ7
CiAgICAgfQotICAgIAorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJzZVNv
dXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxlbWVudHNNb2RlLCBGdW5jdGlvblBh
cnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSA9IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwor
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0YXRl
bWVudChUcmVlQnVpbGRlciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVk
KiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMCwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25Q
YXJzZVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNlbHNlCiAgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgcGFyc2VTb3VyY2VFbGVt
ZW50cyhUcmVlQnVpbGRlciYsIFNvdXJjZUVsZW1lbnRzTW9kZSk7CiAgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVy
JiwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVy
YWxMZW5ndGggPSAwKTsKKyNlbmRpZgogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogICAg
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZUNsYXNzRGVj
bGFyYXRpb24oVHJlZUJ1aWxkZXImKTsKICNlbmRpZgpAQCAtNzY4LDYgKzc3NiwxNCBAQCBwcml2
YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFy
c2VWYXJEZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImLCBpbnQmIGRlY2xhcmF0aW9ucywgVHJl
ZURlY29uc3RydWN0aW9uUGF0dGVybiYgbGFzdFBhdHRlcm4sIFRyZWVFeHByZXNzaW9uJiBsYXN0
SW5pdGlhbGl6ZXIsIEpTVGV4dFBvc2l0aW9uJiBpZGVudFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYg
aW5pdFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdEVuZCwgVmFyRGVjbGFyYXRpb25MaXN0Q29u
dGV4dCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJl
ZUNvbnN0RGVjbExpc3QgcGFyc2VDb25zdERlY2xhcmF0aW9uTGlzdChUcmVlQnVpbGRlciYpOwog
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Np
b24oVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
dGF0ZW1lbnQgcGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJik7CisgICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFycm93RnVu
Y3Rpb25XcmFwcGVyKFRyZWVCdWlsZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBORVZFUl9JTkxJTkUgYm9vbCBwYXJzZUFycm93RnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVy
JiwgRnVuY3Rpb25QYXJzZU1vZGUsIENvbnN0cnVjdG9yS2luZCwgaW50LCBQYXJzZXJGdW5jdGlv
bkluZm88VHJlZUJ1aWxkZXI+Jik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBB
TFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VBcnJvd0Z1bmN0aW9uQm9keShUcmVl
QnVpbGRlciYsIGludCwgaW50LCBpbnQsIENvbnN0cnVjdG9yS2luZCk7CisjZW5kaWYKKwogICAg
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVj
dGlvblBhdHRlcm4gY3JlYXRlQmluZGluZ1BhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0cnVj
dGlvbktpbmQsIGNvbnN0IElkZW50aWZpZXImLCBpbnQgZGVwdGgsIEpTVG9rZW4pOwogICAgIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlv
blBhdHRlcm4gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0
cnVjdGlvbktpbmQsIGludCBkZXB0aCA9IDApOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gdHJ5UGFyc2VEZWNv
bnN0cnVjdGlvblBhdHRlcm5FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CkBAIC03ODksNiArODA1
LDE0IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBhbGxvd0F1dG9tYXRpY1NlbWljb2xvbigp
OwogICAgIH0KICAgICAKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgdm9pZCBzZXRFbmRPZlN0YXRlbWVudCgpCisgICAgeworICAgICAgICBtX2xleGVyLT5zZXRU
b2tlblBvc2l0aW9uKCZtX3Rva2VuKTsKKyAgICB9CisjZW5kaWYKKwogICAgIGJvb2wgY2FuUmVj
dXJzZSgpCiAgICAgewogICAgICAgICByZXR1cm4gbV92bS0+aXNTYWZlVG9SZWN1cnNlKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5m
by5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaApp
bmRleCA2YjczNjI4MmUyZDJhODFiYzYzZGMyZjNjMGU1YWU4Yzg1OGNkMWY4Li5kNzUyYTYxMGE5
YjZlYjBjNmExMTQ5NTQ2NWNhN2RiZDc2OGNkNTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKQEAgLTI4LDYgKzI4LDEwIEBACiAK
IG5hbWVzcGFjZSBKU0MgewogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
K2VudW0gQXJyb3dGdW5jdGlvbkJvZHlUeXBlIHsgQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9u
LCBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrfTsKKyNlbmRpZgorCiB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+CiBzdHJ1Y3QgUGFyc2VyRnVuY3Rpb25JbmZvIHsKICAgICBjb25zdCBJZGVudGlm
aWVyKiBuYW1lID0gMDsKQEAgLTM4LDYgKzQyLDExIEBAIHN0cnVjdCBQYXJzZXJGdW5jdGlvbklu
Zm8gewogICAgIGludCBib2R5U3RhcnRMaW5lID0gMDsKICAgICBpbnQgYm9keUVuZExpbmUgPSAw
OwogICAgIHVuc2lnbmVkIGJvZHlTdGFydENvbHVtbiA9IDA7CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB1bnNpZ25lZCBhcnJvd0Z1bmN0aW9uT2Zmc2V0ID0gMDsK
KyAgICBib29sIGlzQXJyb3dGdW5jdGlvbiA9IGZhbHNlOworICAgIEFycm93RnVuY3Rpb25Cb2R5
VHlwZSBhcnJvd0Z1bmN0aW9uQm9keVR5cGUgPSBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb247
CisjZW5kaWYKIH07CiAKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCmluZGV4IDgzMjlmODJhOWIyZmY5MTVk
MWYyNDFjMWY4YmZmYWQ0MjQ3YTVmMGIuLmM4YjE2NmUwZWFkN2QyZGE3MTllNzZjNGEyZjA5YWZm
MWQ3NGQ3YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2Vy
VG9rZW5zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMu
aApAQCAtNzUsNiArNzUsOSBAQCBlbnVtIEpTVG9rZW5UeXBlIHsKICAgICBGSU5BTExZLAogICAg
IERFQlVHR0VSLAogICAgIEVMU0UsCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICBBUlJPV0ZVTkNUSU9OLAorI2VuZGlmCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5U
QVgpCiAgICAgQ0xBU1NUT0tFTiwKICAgICBFWFRFTkRTLApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1NvdXJjZUNvZGUuaAppbmRleCA3OTJjMTllOTRhODA1YjViNGQ0YmRkNjIwOGU2ZDA2
ZmQ4OTlmMzU5Li5iZjI2NzQ1ZDA2ZjE4YjY1YjEwZTFiNzVmOTc2ZmI4OTA3ZTJkMTJjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaApAQCAtMTA1LDYgKzEwNSw5
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAKICAgICAgICAgU291cmNlQ29kZSBzdWJFeHBy
ZXNzaW9uKHVuc2lnbmVkIG9wZW5CcmFjZSwgdW5zaWduZWQgY2xvc2VCcmFjZSwgaW50IGZpcnN0
TGluZSwgaW50IHN0YXJ0Q29sdW1uKTsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgICAgIFNvdXJjZUNvZGUgc3ViQXJyb3dFeHByZXNzaW9uKHVuc2lnbmVkIHN0
YXJ0QXJyb3dGdW5jdGlvbiwgdW5zaWduZWQgZW5kQXJyb3dGdW5jdGlvbiwgaW50IGZpcnN0TGlu
ZSwgaW50IHN0YXJ0Q29sdW1uKTsKKyNlbmRpZgogICAgIHByaXZhdGU6CiAgICAgICAgIFJlZlB0
cjxTb3VyY2VQcm92aWRlcj4gbV9wcm92aWRlcjsKICAgICAgICAgaW50IG1fc3RhcnRDaGFyOwpA
QCAtMTE4LDYgKzEyMSwxNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgcmV0dXJuIFNvdXJj
ZUNvZGUoU3RyaW5nU291cmNlUHJvdmlkZXI6OmNyZWF0ZShzb3VyY2UsIHVybCwgc3RhcnRQb3Np
dGlvbiksIHN0YXJ0UG9zaXRpb24ubV9saW5lLm9uZUJhc2VkSW50KCksIHN0YXJ0UG9zaXRpb24u
bV9jb2x1bW4ub25lQmFzZWRJbnQoKSk7CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICBpbmxpbmUgU291cmNlQ29kZSBTb3VyY2VDb2RlOjpzdWJBcnJv
d0V4cHJlc3Npb24odW5zaWduZWQgc3RhcnRBcnJvd0Z1bmN0aW9uLCB1bnNpZ25lZCBlbmRBcnJv
d0Z1bmN0aW9uLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pCisgICAgeworICAgICAg
ICBBU1NFUlQocHJvdmlkZXIoKS0+c291cmNlKClbc3RhcnRBcnJvd0Z1bmN0aW9uXSA9PSAnPScg
JiYgcHJvdmlkZXIoKS0+c291cmNlKClbc3RhcnRBcnJvd0Z1bmN0aW9uICsgMV0gPT0gJz4nKTsK
KyAgICAgICAgLy8gRml4bWU6IFVzZSBiZXR0ZXIgYXBwcm9hY2ggdG8gY2hlY2sgc3ltYm9sCisg
ICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0g
PT0gJywnIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAn
OycgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICcpJyB8
fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJ10nIHx8IHBy
b3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnfScpOworICAgICAg
ICBzdGFydENvbHVtbiArPSAxOyAvLyBDb252ZXJ0IHRvIGJhc2UgMS4KKyAgICAgICAgcmV0dXJu
IFNvdXJjZUNvZGUocHJvdmlkZXIoKSwgc3RhcnRBcnJvd0Z1bmN0aW9uLCBlbmRBcnJvd0Z1bmN0
aW9uIC0gMSwgZmlyc3RMaW5lLCBzdGFydENvbHVtbik7CisgICAgfQorI2VuZGlmCisKICAgICBp
bmxpbmUgU291cmNlQ29kZSBTb3VyY2VDb2RlOjpzdWJFeHByZXNzaW9uKHVuc2lnbmVkIG9wZW5C
cmFjZSwgdW5zaWduZWQgY2xvc2VCcmFjZSwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1u
KQogICAgIHsKICAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW29wZW5CcmFjZV0g
PT0gJ3snKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNl
UHJvdmlkZXJDYWNoZUl0ZW0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNl
UHJvdmlkZXJDYWNoZUl0ZW0uaAppbmRleCA2MzUzNzllM2Y0NDU2NjhjNTJiODcyZjc2MTZkY2I1
OTIxYTgyOTQ0Li44MzQ2NDg1MjE5ZDBhY2Y2YjMyNjk3MmRhMjc5NzIxZDM2NTVkYjAwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJ
dGVtLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNh
Y2hlSXRlbS5oCkBAIC00MCw2ICs0MCwxMCBAQCBzdHJ1Y3QgU291cmNlUHJvdmlkZXJDYWNoZUl0
ZW1DcmVhdGlvblBhcmFtZXRlcnMgewogICAgIGJvb2wgbmVlZHNGdWxsQWN0aXZhdGlvbjsKICAg
ICBib29sIHVzZXNFdmFsOwogICAgIGJvb2wgc3RyaWN0TW9kZTsKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGJvb2wgaXNCb2R5QXJyb3dGdW5jdGlvbkJsb2NrOwor
ICAgIEpTVG9rZW5UeXBlIHRva2VuVHlwZTsKKyNlbmRpZgogICAgIFZlY3RvcjxSZWZQdHI8U3Ry
aW5nSW1wbD4+IHVzZWRWYXJpYWJsZXM7CiAgICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4g
d3JpdHRlblZhcmlhYmxlczsKIH07CkBAIC02OSw2ICs3MywyMSBAQCBwdWJsaWM6CiAgICAgICAg
IHJldHVybiB0b2tlbjsKICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgIEpTVG9rZW4gZW5kQXJyb3dGdW5jdGlvblRva2VuKCkgY29uc3QKKyAgICB7Cisg
ICAgICAgIEpTVG9rZW4gdG9rZW47CisgICAgICAgIHRva2VuLm1fdHlwZSA9IHRva2VuVHlwZTsK
KyAgICAgICAgdG9rZW4ubV9kYXRhLm9mZnNldCA9IGNsb3NlQnJhY2VPZmZzZXQ7CisgICAgICAg
IHRva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNlT2Zmc2V0OworICAgICAg
ICB0b2tlbi5tX2xvY2F0aW9uLmVuZE9mZnNldCA9IGNsb3NlQnJhY2VPZmZzZXQgKyAxOworICAg
ICAgICB0b2tlbi5tX2xvY2F0aW9uLmxpbmUgPSBjbG9zZUJyYWNlTGluZTsKKyAgICAgICAgdG9r
ZW4ubV9sb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0
OworCisgICAgICAgIHJldHVybiB0b2tlbjsKKyAgICB9CisjZW5kaWYKKwogICAgIHVuc2lnbmVk
IGZ1bmN0aW9uTmFtZVN0YXJ0IDogMzE7CiAgICAgYm9vbCBuZWVkc0Z1bGxBY3RpdmF0aW9uIDog
MTsKICAgICAKQEAgLTgyLDYgKzEwMSwxMSBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgdXNlZFZh
cmlhYmxlc0NvdW50OwogICAgIHVuc2lnbmVkIHdyaXR0ZW5WYXJpYWJsZXNDb3VudDsKIAorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgYm9vbCBpc0JvZHlBcnJvd0Z1
bmN0aW9uQmxvY2s7CisgICAgSlNUb2tlblR5cGUgdG9rZW5UeXBlOworI2VuZGlmCisKICAgICBT
dHJpbmdJbXBsKiogdXNlZFZhcmlhYmxlcygpIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8U3Ry
aW5nSW1wbCoqPihtX3ZhcmlhYmxlcyk7IH0KICAgICBTdHJpbmdJbXBsKiogd3JpdHRlblZhcmlh
YmxlcygpIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8U3RyaW5nSW1wbCoqPigmbV92YXJpYWJs
ZXNbdXNlZFZhcmlhYmxlc0NvdW50XSk7IH0KIApAQCAtMTE1LDYgKzEzOSwxMCBAQCBpbmxpbmUg
U291cmNlUHJvdmlkZXJDYWNoZUl0ZW06OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKGNvbnN0IFNv
dXJjZVByb3ZpZGVyQ2FjaAogICAgICwgY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldChwYXJhbWV0
ZXJzLmNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQpCiAgICAgLCB1c2VkVmFyaWFibGVzQ291bnQo
cGFyYW1ldGVycy51c2VkVmFyaWFibGVzLnNpemUoKSkKICAgICAsIHdyaXR0ZW5WYXJpYWJsZXND
b3VudChwYXJhbWV0ZXJzLndyaXR0ZW5WYXJpYWJsZXMuc2l6ZSgpKQorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgLCBpc0JvZHlBcnJvd0Z1bmN0aW9uQmxvY2socGFy
YW1ldGVycy5pc0JvZHlBcnJvd0Z1bmN0aW9uQmxvY2spCisgICAgLCB0b2tlblR5cGUocGFyYW1l
dGVycy50b2tlblR5cGUpCisjZW5kaWYKIHsKICAgICB1bnNpZ25lZCBqID0gMDsKICAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgdXNlZFZhcmlhYmxlc0NvdW50OyArK2ksICsraikgewpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaAppbmRleCA4YjQ3NTg0
YmE3YjdhNGYyOWMwZjBlMGVhZDU3ZTA3MzRmYWJmZTJmLi4zZjhlNDkwOGZmMjk4MGNhMGM0NjM0
YTE5NzJkOTQwYjdiNzlkNDAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1N5bnRheENoZWNrZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5
bnRheENoZWNrZXIuaApAQCAtMTcwLDYgKzE3MCwxMCBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICBF
eHByZXNzaW9uVHlwZSBjcmVhdGVGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwg
Y29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JikgeyByZXR1cm4gRnVuY3Rp
b25FeHByOyB9CiAgICAgaW50IGNyZWF0ZUZ1bmN0aW9uQm9keShjb25zdCBKU1Rva2VuTG9jYXRp
b24mLCBjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBpbnQsIGludCwgYm9vbCwgaW50LCBpbnQsIGlu
dCwgQ29uc3RydWN0b3JLaW5kKSB7IHJldHVybiBGdW5jdGlvbkJvZHlSZXN1bHQ7IH0KKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0
ZUFycm93RnVuY3Rpb25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1
bmN0aW9uSW5mbzxTeW50YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQorI2Vu
ZGlmIAorICAgIHZvaWQgc2V0RnVuY3Rpb25OYW1lU3RhcnQoaW50LCBpbnQpIHsgfQogICAgIGlu
dCBjcmVhdGVBcmd1bWVudHMoKSB7IHJldHVybiBBcmd1bWVudHNSZXN1bHQ7IH0KICAgICBpbnQg
Y3JlYXRlQXJndW1lbnRzKGludCkgeyByZXR1cm4gQXJndW1lbnRzUmVzdWx0OyB9CiAgICAgRXhw
cmVzc2lvblR5cGUgY3JlYXRlU3ByZWFkRXhwcmVzc2lvbihjb25zdCBKU1Rva2VuTG9jYXRpb24m
LCBFeHByZXNzaW9uVHlwZSwgaW50LCBpbnQsIGludCkgeyByZXR1cm4gU3ByZWFkRXhwcjsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9u
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMmNkYjNkZjBkNzA1MmU4OGY5YTBlMDkyNTdmZDllZGNiYzkzMDQzYQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5j
dGlvbi5jcHAKQEAgLTAsMCArMSw3NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJKU0Fycm93RnVu
Y3Rpb24uaCIKKworI2luY2x1ZGUgIkVycm9yLmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uSGVscGVy
cy5oIgorI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKKyNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCisj
aW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTRnVuY3Rpb25JbmxpbmVzLmgiCisj
aW5jbHVkZSAiSlNPYmplY3QuaCIKKyNpbmNsdWRlICJQcm9wZXJ0eVNsb3QuaCIKKyNpbmNsdWRl
ICJWTS5oIgorCituYW1lc3BhY2UgSlNDIHsKKyAgICAKK2NvbnN0IENsYXNzSW5mbyBKU0Fycm93
RnVuY3Rpb246OnNfaW5mbyA9IHsgIkFycm93RnVuY3Rpb24iLCAmQmFzZTo6c19pbmZvLCAwLCBD
UkVBVEVfTUVUSE9EX1RBQkxFKEpTQXJyb3dGdW5jdGlvbikgfTsKKwordm9pZCBKU0Fycm93RnVu
Y3Rpb246OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQoreworICAgIHN0YXRpY19jYXN0PEpTQXJyb3dG
dW5jdGlvbio+KGNlbGwpLT5KU0Fycm93RnVuY3Rpb246On5KU0Fycm93RnVuY3Rpb24oKTsKK30K
KworSlNBcnJvd0Z1bmN0aW9uOjpKU0Fycm93RnVuY3Rpb24oVk0mIHZtLCBKU1Njb3BlKiBzY29w
ZSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkK
KyAgICA6IEJhc2Uodm0sIGV4ZWN1dGFibGUsIHNjb3BlLCBzdHJ1Y3R1cmUpCit7Cit9CisgICAg
Cit2b2lkIEpTQXJyb3dGdW5jdGlvbjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQoreworICAgIEJh
c2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKy8vIFByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiBp
cyB1bmRlZmluZWQKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlw
ZSwganNVbmRlZmluZWQoKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgRG9udEVudW0pOworfQor
ICAgIAordm9pZCBKU0Fycm93RnVuY3Rpb246OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBT
bG90VmlzaXRvciYgdmlzaXRvcikKK3sKKyAgICBKU0Fycm93RnVuY3Rpb24qIHRoaXNPYmplY3Qg
PSBqc0Nhc3Q8SlNBcnJvd0Z1bmN0aW9uKj4oY2VsbCk7CisgICAgQVNTRVJUX0dDX09CSkVDVF9J
TkhFUklUUyh0aGlzT2JqZWN0LCBpbmZvKCkpOworICAgIEJhc2U6OnZpc2l0Q2hpbGRyZW4odGhp
c09iamVjdCwgdmlzaXRvcik7Cit9CisgICAgCitDb25zdHJ1Y3RUeXBlIEpTQXJyb3dGdW5jdGlv
bjo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwqIGNlbGwsIENvbnN0cnVjdERhdGEmIGNvbnN0cnVj
dERhdGEpCit7CisgICAgSlNGdW5jdGlvbiogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0Z1bmN0aW9u
Kj4oY2VsbCk7CisgICAgICAgIAorICAgIGNvbnN0cnVjdERhdGEuanMuZnVuY3Rpb25FeGVjdXRh
YmxlID0gdGhpc09iamVjdC0+anNFeGVjdXRhYmxlKCk7CisgICAgY29uc3RydWN0RGF0YS5qcy5z
Y29wZSA9IHRoaXNPYmplY3QtPnNjb3BlKCk7CisgICAgcmV0dXJuIENvbnN0cnVjdFR5cGVOb25l
OworfQorfSAvLyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXJyb3dGdW5jdGlvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYxMDlhNGEyYjUxOWY1YWJjMjVhZDM2
ZjBmMjVjNDA5MzU4MWRjOTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uaApAQCAtMCwwICsxLDcxIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBKU0Fycm93RnVuY3Rp
b25faAorI2RlZmluZSBKU0Fycm93RnVuY3Rpb25faAorCisjaW5jbHVkZSAiSlNGdW5jdGlvbi5o
IgorI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCisKK25hbWVzcGFjZSBKU0MgeworCitjbGFz
cyBKU0Fycm93RnVuY3Rpb24gOiBwdWJsaWMgSlNGdW5jdGlvbiB7CitwdWJsaWM6CisgICAgdHlw
ZWRlZiBKU0Z1bmN0aW9uIEJhc2U7CisgICAgICAgIAorICAgIHN0YXRpYyBKU0Fycm93RnVuY3Rp
b24qIGNyZWF0ZShWTSYgdm0sIEpTU2NvcGUqIHNjb3BlLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4
ZWN1dGFibGUsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCisgICAgeworICAgICAgICBK
U0Fycm93RnVuY3Rpb24qIGZ1bmN0aW9uID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8SlNB
cnJvd0Z1bmN0aW9uPih2bS5oZWFwKSkgSlNBcnJvd0Z1bmN0aW9uKHZtLCBzY29wZSwgZXhlY3V0
YWJsZSwgZ2xvYmFsT2JqZWN0LT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCkpOworICAgICAgICBB
U1NFUlQoZnVuY3Rpb24tPnN0cnVjdHVyZSgpLT5nbG9iYWxPYmplY3QoKSk7CisgICAgICAgIGZ1
bmN0aW9uLT5maW5pc2hDcmVhdGlvbih2bSk7CisgICAgICAgIHJldHVybiBmdW5jdGlvbjsKKyAg
ICB9CisgICAgCisgICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0NlbGwqKTsKKyAgICAgICAgCisg
ICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUpCisgICAgeworICAgICAgICBBU1NF
UlQoZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBn
bG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oSlNGdW5jdGlvblR5cGUsIFN0cnVjdHVy
ZUZsYWdzKSwgaW5mbygpKTsKKyAgICB9CisgICAgICAgIAorICAgIHN0YXRpYyBDb25zdHJ1Y3RU
eXBlIGdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYpOworICAgICAgICAK
KyAgICBERUNMQVJFX0lORk87CisKK3Byb3RlY3RlZDoKKyAgICBjb25zdCBzdGF0aWMgdW5zaWdu
ZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNIYXNJbnN0YW5jZSB8IEJhc2U6OlN0cnVjdHVy
ZUZsYWdzOworICAgICAgICAKKyAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCos
IFNsb3RWaXNpdG9yJik7CisgICAgICAgIAorcHJpdmF0ZToKKyAgICBKU0Fycm93RnVuY3Rpb24o
Vk0mLCBKU1Njb3BlKiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgU3RydWN0dXJlKik7CisKKyAgICB2
b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7Cit9OworICAgIAorfSAvLyBuYW1lc3BhY2UgSlNDCisK
KyNlbmRpZiAvLyBKU0Fycm93RnVuY3Rpb25faApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNGdW5jdGlvbi5oCmluZGV4IGJlMGJkYzc4NDJmOTczM2M3NmIwNjQ0M2JkYTM2NjE0MThl
YTU5OTcuLjYwNjBiZTdiZjM1OWIwMDE1ZjMzMmI3MDcwNzMzYzQ2NTYzNzA4NjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKQEAgLTEzMSw2ICsxMzEsOSBA
QCBwcm90ZWN0ZWQ6CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBKU0Z1bmN0aW9uKFZNJiwgSlNH
bG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKICAgICBKU0Z1bmN0aW9uKFZNJiwgRnVuY3Rpb25F
eGVjdXRhYmxlKiwgSlNTY29wZSopOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCisgICAgSlNGdW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSosIEpTU2NvcGUqLCBT
dHJ1Y3R1cmUqKTsKKyNlbmRpZgogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIE5hdGl2
ZUV4ZWN1dGFibGUqLCBpbnQgbGVuZ3RoLCBjb25zdCBTdHJpbmcmIG5hbWUpOwogICAgIHVzaW5n
IEJhc2U6OmZpbmlzaENyZWF0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgKaW5kZXggYTVkZTkxN2MxN2U0ODRkY2FhNjU1MDVhZjcx
MTc4NzU0Mjk1ZTI0Zi4uN2RiODA0MDZlNzFkYjJiN2JiNjM1NDU4MjM1NmI1ZTFmNWM4MmI3MSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGlu
ZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5l
cy5oCkBAIC0zOCw2ICszOCwxNSBAQCBpbmxpbmUgSlNGdW5jdGlvbjo6SlNGdW5jdGlvbihWTSYg
dm0sIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgSlNTY29wZSogcwogewogfQogCisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK2lubGluZSBKU0Z1bmN0aW9uOjpK
U0Z1bmN0aW9uKFZNJiB2bSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBKU1Njb3Bl
KiBzY29wZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCisgICAgOiBCYXNlKHZtLCBzY29wZSwgc3Ry
dWN0dXJlKQorICAgICwgbV9leGVjdXRhYmxlKHZtLCB0aGlzLCBleGVjdXRhYmxlKQorICAgICwg
bV9hbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnQoQ2xlYXJXYXRjaHBvaW50KQoreworfQorI2Vu
ZGlmCisgICAgCiBpbmxpbmUgRnVuY3Rpb25FeGVjdXRhYmxlKiBKU0Z1bmN0aW9uOjpqc0V4ZWN1
dGFibGUoKSBjb25zdAogewogICAgIEFTU0VSVCghaXNIb3N0RnVuY3Rpb25Ob25JbmxpbmUoKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVj
dC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAK
aW5kZXggYTVlYWFmYjFiZTdjY2RmYjJkZmJmMThjYWEzMmNkZTIyODI0YTBmNC4uM2MzNDFhOWRh
OWM5OGY3MWM1OTA5NGU0OWM5NmRjZWMwZTJjYjEzMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtNjIsNiArNjIsOSBAQAogI2lu
Y2x1ZGUgIkpTQXJyYXlCdWZmZXJQcm90b3R5cGUuaCIKICNpbmNsdWRlICJKU0FycmF5SXRlcmF0
b3IuaCIKICNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorI2VuZGlmCiAj
aW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5o
IgogI2luY2x1ZGUgIkpTQ2FsbGJhY2tGdW5jdGlvbi5oIgpAQCAtMjMzLDYgKzIzNiw5IEBAIHZv
aWQgSlNHbG9iYWxPYmplY3Q6OmluaXQoVk0mIHZtKQogICAgIGV4ZWMtPnNldENhbGxlZShtX2ds
b2JhbENhbGxlZS5nZXQoKSk7CiAKICAgICBtX2Z1bmN0aW9uU3RydWN0dXJlLnNldCh2bSwgdGhp
cywgSlNGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90
eXBlLmdldCgpKSk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBt
X2Fycm93RnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0Fycm93RnVuY3Rpb246OmNy
ZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOworI2Vu
ZGlmCiAgICAgbV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlLnNldCh2bSwgdGhpcywgSlNCb3VuZEZ1
bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0
KCkpKTsKICAgICBtX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBTdHJ1Y3R1
cmU6OmFkZFByb3BlcnR5VHJhbnNpdGlvbih2bSwgbV9mdW5jdGlvblN0cnVjdHVyZS5nZXQoKSwg
dm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgRG9udEVudW0s
IG1fZnVuY3Rpb25OYW1lT2Zmc2V0KSk7CiAgICAgbV9pbnRlcm5hbEZ1bmN0aW9uU3RydWN0dXJl
LnNldCh2bSwgdGhpcywgSW50ZXJuYWxGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlz
LCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7CkBAIC03MjUsNiArNzMxLDkgQEAgdm9pZCBK
U0dsb2JhbE9iamVjdDo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2
aXNpdG9yKQogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2NhbGxlZVN0cnVjdHVy
ZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fZnVuY3Rpb25TdHJ1Y3R1cmUp
OwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1
cmUpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdmlzaXRvci5h
cHBlbmQoJnRoaXNPYmplY3QtPm1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZSk7CisjZW5kaWYKICAg
ICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlKTsK
ICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9zeW1ib2xPYmplY3RTdHJ1Y3R1cmUp
OwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX3JlZ0V4cE1hdGNoZXNBcnJheVN0
cnVjdHVyZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ds
b2JhbE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmpl
Y3QuaAppbmRleCA1ZjA4ZmU0OGE4ZmFjZjU1N2FlZmQxNWZjNjAzNTcxZGMwMGQyYTQ4Li4yMmRj
OTNhZjQwYjVhODc4MjUzMDllN2I4MzBiZDdhMzZkODJmYzhkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKQEAgLTIyNCw2ICsyMjQsOSBAQCBw
cm90ZWN0ZWQ6CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9jYWxsZWVTdHJ1Y3R1cmU7
CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9mdW5jdGlvblN0cnVjdHVyZTsKICAgICBX
cml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmU7CisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJl
PiBtX2Fycm93RnVuY3Rpb25TdHJ1Y3R1cmU7CisjZW5kaWYKICAgICBXcml0ZUJhcnJpZXI8U3Ry
dWN0dXJlPiBtX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmU7CiAgICAgUHJvcGVydHlPZmZzZXQgbV9m
dW5jdGlvbk5hbWVPZmZzZXQ7CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9wcml2YXRl
TmFtZVN0cnVjdHVyZTsKQEAgLTQ1NSw2ICs0NTgsOSBAQCBwdWJsaWM6CiAgICAgU3RydWN0dXJl
KiBjYWxsZWVTdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2NhbGxlZVN0cnVjdHVyZS5nZXQo
KTsgfQogICAgIFN0cnVjdHVyZSogZnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBt
X2Z1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CiAgICAgU3RydWN0dXJlKiBib3VuZEZ1bmN0aW9u
U3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlLmdldCgp
OyB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBTdHJ1Y3R1cmUq
IGFycm93RnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2Fycm93RnVuY3Rpb25T
dHJ1Y3R1cmUuZ2V0KCk7IH0KKyNlbmRpZgogICAgIFN0cnVjdHVyZSogbmFtZWRGdW5jdGlvblN0
cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsg
fQogICAgIFByb3BlcnR5T2Zmc2V0IGZ1bmN0aW9uTmFtZU9mZnNldCgpIGNvbnN0IHsgcmV0dXJu
IG1fZnVuY3Rpb25OYW1lT2Zmc2V0OyB9CiAgICAgU3RydWN0dXJlKiBudW1iZXJPYmplY3RTdHJ1
Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX251bWJlck9iamVjdFN0cnVjdHVyZS5nZXQoKTsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0
aW9uLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjg3Yjk5OTBkZTc3YWI3NDE5YTQ0ZDY4NDkwYzI1ZmU0YjFiNDIyZmEK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24uanMKQEAgLTAsMCArMSwxNTAgQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVz
dENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0
dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiAr
IGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3Zh
ciBhcnJvd0Z1bmN0aW9uMCA9IHYgPT4gdiArIDE7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMCgx
MCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb246IHYgPT4gdiArIDEiKTsKKwordmFyIGFycm93RnVuY3Rpb24x
ID0gKHYpID0+IHYgKiAyOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjEoMTApOwordGVzdENhc2Uo
cmVzdWx0LCAyMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1
bmN0aW9uOiAodikgPT4gdiArIDEiKTsKKwordmFyIGFycm93RnVuY3Rpb24yID0gKCkgPT4gMTAw
MDsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24yKDEyMTIpOwordGVzdENhc2UocmVzdWx0LCAxMDAw
ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICgp
ID0+IDEwMDAiKTsKKwordmFyIHRtcFZhcmlhbHZlMl8xID0gMTUxOwordmFyIGFycm93RnVuY3Rp
b24yXzEgPSAoKSA9PiB0bXBWYXJpYWx2ZTJfMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24yXzEo
MTIxKTsKK3Rlc3RDYXNlKHJlc3VsdCwgdG1wVmFyaWFsdmUyXzEgLCJFcnJvcjogTm90IGNvcnJl
Y3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKCkgPT4gdmFyaWFibGUiKTsKKwor
dmFyIGFycm93RnVuY3Rpb24zID0gKHYsIHgpID0+IHYgKyB4OworcmVzdWx0ID0gYXJyb3dGdW5j
dGlvbjMoMTEsMTIpOwordGVzdENhc2UocmVzdWx0LCAyMyAsIkVycm9yOiBOb3QgY29ycmVjdCBl
eGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAoeCwgeSkgPT4geCArIHkiKTsKKwordmFy
IGFycm93RnVuY3Rpb25XcmFwcGVyID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRlcikgeyByZXR1cm4g
Y2wocGFyYW10ZXIpOyB9OworCityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEy
MzQpOwordGVzdENhc2UocmVzdWx0LCAxMjM0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjKSIpOworCisgcmVz
dWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMjM0LCAyMzQ1KTsKK3Rlc3RDYXNlKHJl
c3VsdCwgMTIzNCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1
bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYywgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVu
Y3Rpb25XcmFwcGVyKHggPT4gMTIxICsgMjMyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzUzICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10
ZXI6IGYoeCA9PiBjMSArIGMyKSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIo
eCA9PiAxMjMgKyAzMjEsIDk5OTkpOwordGVzdENhc2UocmVzdWx0LCA0NDQgLCJFcnJvcjogTm90
IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4
ID0+IGMxICsgYzIsIHkpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+
IHggKyAxMiwgMjEpOwordGVzdENhc2UocmVzdWx0LCAzMyAsIkVycm9yOiBOb3QgY29ycmVjdCBl
eGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4geCArIGMx
LCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKHgpID0+IHggKyAyMSwg
MzIpOwordGVzdENhc2UocmVzdWx0LCA1MywgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24g
b2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCh4KSA9PiBjMSArIGMyLCB5KSIp
OworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwKTsKK3Rlc3RDYXNl
KHJlc3VsdCwgMTAwLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYykiKTsKKworIHZhciBleHRfdmFsdWUgPSAx
MjE7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiBleHRfdmFsdWUpOwordGVz
dENhc2UocmVzdWx0LCAxMjEsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiB2KSIpOworCisgcmVzdWx0ID0gYXJy
b3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gZXh0X3ZhbHVlICogMTApOwordGVzdENhc2UocmVzdWx0
LCAxMjEwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gdip4KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlv
bldyYXBwZXIoKHgpID0+IGV4dF92YWx1ZSAqIHgsIDMwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzAq
ZXh0X3ZhbHVlICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb24gYXMgcGFyYW10ZXI6IGYoKHgpID0+IHYqeCwgeSkiKTsKKworIHJlc3VsdCA9IGFycm93
RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCwgMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDAgLCJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJh
bXRlcjogZigoKSA9PiBjMSwgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVy
KCgpID0+IDEwMCArIDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEwICwiRXJyb3I6IE5vdCBjb3Jy
ZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4g
YzEgKyBjMikiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCAr
IDExLCAxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDExMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVj
dXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMxICsgYzIs
IHkpIik7CisKKyB2YXIgYXJyb3dGdW5jdGlvbjQgPSB2ID0+IHYgKyAxLCB4eXoxID0gMTAxMDE7
CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uNCgxMDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAxMiAs
IkVycm9yOiBOb3QgY29ycmVjdCBwYXJzaW5nIG9mIHRoIGFycm93IGZ1bmN0aW9uIGluc2lkZSBv
ZiB0aGUgbGlzdCBvZiB2YXJzOiB2YXIgYWYgPSB2PT4gdiArIDE7IHp4Yz1jOyIpOwordGVzdENh
c2UoeHl6MSwgMTAxMDEgLCJFcnJvcjogTm90IGNvcnJlY3QgcGFyc2luZyBvZiB0aCBhcnJvdyBm
dW5jdGlvbiBpbnNpZGUgb2YgdGhlIGxpc3Qgb2YgdmFyczogdmFyIGFmID0gdj0+IHYgKyAxOyB6
eGM9YzsiKTsKKworIHZhciBhcnJvd0Z1bmN0aW9uV3JhcHBlcjIgPSBmdW5jdGlvbiAoY2wsIHBh
cmFtdGVyMSwgcGFyYW10ZXIyKSB7IHJldHVybiBjbChwYXJhbXRlcjEsIHBhcmFtdGVyMik7IH07
CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcjIoKHgsIHkpID0+IHggKyB5LCAxMiAsNDMp
OwordGVzdENhc2UocmVzdWx0LCA1NSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtZXRlcjogZigoeCwgeSkgPT4geCArIHksIGMxLCBj
MikiKTsKKworIHZhciBhcnJvd0Z1bmN0aW9BcnJheTAgPSBbdiA9PiB2ICogMTBdOworcmVzdWx0
ID0gYXJyb3dGdW5jdGlvQXJyYXkwWzBdKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBp
biBhcnJheTogW3Y9PnYqMTBdIik7CisKKyB2YXIgYXJyb3dGdW5jdGlvQXJyYXkxID0gW3YgPT4g
diArIDEsIHYgPT4gdiArIDJdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkxWzBdKDEwKTsK
K3Rlc3RDYXNlKHJlc3VsdCwgMTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbdiA9PiB2ICsgMSwgIHYgPT4gdiAr
IDJdIik7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTFbMV0oMTEpOwordGVzdENhc2UocmVz
dWx0LCAxMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0
aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFt2ID0+IHYgKyAxLCAgdiA9PiB2ICsgMl0iKTsKKworIHZh
ciBhcnJvd0Z1bmN0aW9BcnJheTIgPSBbKHYpID0+IHYgKyAxLCAodikgPT4gdiArIDJdOworcmVz
dWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkyWzBdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIgLCJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVt
IGluIGFycmF5OiBbKHYpID0+IHYgKyAxLCAgKHYpID0+IHYgKyAyXSIpOworcmVzdWx0ID0gYXJy
b3dGdW5jdGlvQXJyYXkyWzFdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTMgLCJFcnJvcjogTm90
IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5
OiBbKHYpID0+IHYgKyAxLCAgKHYpID0+IHYgKyAyXSIpOworCisgdmFyIGFycm93RnVuY3Rpb0Fy
cmF5MyA9IFsoKSA9PiAxMDEsICgpID0+IDEyMzIzXTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0Fy
cmF5M1swXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMSwgIkVycm9yOiBOb3QgY29ycmVjdCBl
eGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsoKSA9PiBj
MSwgICgpID0+IGMyXSIpOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkzWzFdKDExKTsKK3Rl
c3RDYXNlKHJlc3VsdCwgMTIzMjMsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKCkgPT4gYzEsICAoKSA9PiBjMl0i
KTsKKworIHZhciBhcnJvd0Z1bmN0aW9uT2JqID0ge2Z1bmMgOiB5ID0+IHkgKyAxMiB9OworcmVz
dWx0ID0gYXJyb3dGdW5jdGlvbk9iai5mdW5jKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjMgLCJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwcm9w
ZXJ0eToge2Z1bmMgOiB5ID0+IHkgKyAxMiB9Iik7CisKKyB2YXIgYXJyb3dGYXRGdW5jdGlvbjAg
PSAoKSA9PiB7IHJldHVybiAxMDAwOyB9OworcmVzdWx0ID0gYXJyb3dGYXRGdW5jdGlvbjAoMTEp
OwordGVzdENhc2UocmVzdWx0LCAxMDAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiAoKSA9PiB7IHJldHVybiAx
MDAwOyB9Iik7CisKK3ZhciBhcnJvd0ZhdEZ1bmN0aW9uMSA9IHYgPT4geyB2YXIgaW50dmFsID0g
MTAwOyByZXR1cm4gdiAqIGludHZhbDsgfTsKK3Jlc3VsdCA9IGFycm93RmF0RnVuY3Rpb24xKDEx
KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24g
b2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogeCA9PiB7IHZhciB2PTEw
MDA7IHJldHVybiB2Kng7IH0iKTsKKwordmFyIGFycm93RmF0RnVuY3Rpb24yID0gKHYpID0+IHsg
dmFyIGludCA9IDIwMDsgcmV0dXJuIHYgKiBpbnQ7IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0
aW9uMigxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIyMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhl
Y3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICh4KSA9PiB7
IHZhciB2PTEwMDA7IHJldHVybiB2Kng7IH0iKTsKKwordmFyIGFycm93RmF0RnVuY3Rpb24zID0g
KHYsIHgpID0+IHsgdmFyIHJlc3VsdCA9IHggKiB2OyByZXR1cm4gcmVzdWx0OyB9OworcmVzdWx0
ID0gYXJyb3dGYXRGdW5jdGlvbjMoMTEsIDEyMjIyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTM0NDQy
ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0
aCBib2R5IGFzIGJsb2NrOiAodiwgeCkgPT4geyB2YXIgcmVzdWx0ID0geCAqIHY7IHJldHVybiBy
ZXN1bHQ7IH0iKTsKKworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeD0+e3JldHVybiB4
ICogMjU7fSwgMTIxKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjUqMTIxICwiRXJyb3I6IE5vdCBjb3Jy
ZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiBm
KHggPT4ge3JldHVybiB4ICogMjU7fSwgMTIxKSIpOworCityZXN1bHQgPSBhcnJvd0Z1bmN0aW9u
V3JhcHBlcjIoKHgsIHkpPT57cmV0dXJuIHggKiB5O30sIDE0LCAxMik7Cit0ZXN0Q2FzZShyZXN1
bHQsIDE0KjEyICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiBmKCh4LCB5KT0+e3JldHVybiB4ICogeTt9LCAxNCwg
MTIxKSkiKTsKKwordmFyIHNpbXBsZUFycm93RnVuY3Rpb24gPSAoKSA9PiB7fTsKKwordGVzdENh
c2UodHlwZW9mIHNpbXBsZUFycm93RnVuY3Rpb24sICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNv
cnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2UoT2JqZWN0Lmdl
dFByb3RvdHlwZU9mKHNpbXBsZUFycm93RnVuY3Rpb24pLCBGdW5jdGlvbi5wcm90b3R5cGUsICJF
cnJvcjogTm90IGNvcnJlY3QgZ2V0UHJvdG90eXBlT2YgdmFsdWUgZm9yIGFycm93IGZ1bmN0aW9u
Iik7CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93RnVuY3Rpb24gaW5zdGFuY2VvZiBGdW5jdGlvbiwg
dHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIGluc3RhbmNlb2YgbWV0aG9kIGZv
ciBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uLmNvbnN0
cnVjdG9yID09IEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3Ig
Y29uc3RydWN0b3IgbWV0aG9kIG9mIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHR5cGVv
ZiBzaW1wbGVBcnJvd0Z1bmN0aW9uLnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJF
cnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBwcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24i
KTsKKwordmFyIGVycm9yT25DcmVhdGUgPSBmYWxzZTsKKwordHJ5IHsKKyAgdmFyIGZjID0gbmV3
IHNpbXBsZUFycm93RnVuY3Rpb24oKTsKK30KK2NhdGNoIChlKSB7CisgIGVycm9yT25DcmVhdGUg
PSB0cnVlOworfQorCit0ZXN0Q2FzZShlcnJvck9uQ3JlYXRlLCB0cnVlLCAiRXJyb3I6IE5vIGVy
cm9yIGR1cmluZyBydW4gbmV3IEFycm93RnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dl
YkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOGIxMTJm
YWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0OGE3Njk3MmYxMTRjMzgzZDMy
NjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxF
X0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9
IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsK
IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CitFTkFC
TEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklO
RzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yID0g
RU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBAIC0yMTQsNCArMjE1LDQgQEAgRU5BQkxF
X0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9
IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9
ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBU
SU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJ
T05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklN
QVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFC
TEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5B
QkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxF
X0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1Mz
X1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklT
SUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9B
UkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFO
U0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVS
U19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVO
QUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJ
TkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JL
RVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lP
U19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xF
R0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJ
TykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxF
X01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9T
T1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQp
ICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05B
VklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkg
JChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVf
UE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5U
UykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVf
UkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAk
KEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZ
KSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVO
QUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VC
VExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRF
UikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRF
X0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JE
KSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVP
X1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01F
RElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQ
TEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFC
TEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1F
T1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xP
T1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9f
UFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVS
SU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRB
Q0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FO
VkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAk
KEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJ
T05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9B
REFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9P
UklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19S
RUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBF
UykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChF
TkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikg
JChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQo
RU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChF
TkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RP
UikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIp
ICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURf
REVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RP
TV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJ
Q0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05U
SCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQo
RU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZF
TlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxF
X0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BS
RUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkg
JChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1ND
QUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9S
X0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9Q
TFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxF
X1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVf
UVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNU
X0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xV
VElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19T
Q1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19B
UEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVf
U1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAk
KEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9D
U1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVP
KSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVf
VklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykg
JChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RV
UkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAk
KEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChF
TkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMp
ICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNl
L1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXgg
OGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0OGE3Njk3MmYxMTRj
MzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktp
dC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1
LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NB
TlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19T
WU5UQVg7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQU5JTUFUSU9O
U19MRVZFTF8yID0gRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBAIC0yMTQsNCArMjE1
LDQgQEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRf
QVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRV
UkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURf
MkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5B
QkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9D
QUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNf
UFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lO
VEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5B
QkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9C
UkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBU
QVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lP
TlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJM
RV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVO
QUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFC
TEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJM
RV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChF
TkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBS
RUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJ
TUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9D
T05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFC
TEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMp
ICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVU
Q0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVO
QUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01F
VEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUp
ICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdD
T05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJ
TikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJP
WElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9U
QSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVU
T0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9O
X01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9M
TF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkg
JChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdf
T1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5B
QkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19U
UkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQo
RU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVX
X01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVO
QUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9T
SVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5B
QkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJM
RV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChF
TkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFC
TEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAk
KEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykg
JChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hB
Tk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxF
X0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1Nf
Qk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVf
Q1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxF
X0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQo
RU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFC
TEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElO
RV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hF
TUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNU
X0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNf
RUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5U
U19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBU
RURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FE
X0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5B
QkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJ
RERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lO
Q09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9T
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9J
T1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVO
QUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRS
T0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9V
U0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFC
TEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5B
QkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlT
RVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElT
VCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVO
QUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChF
TkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQo
RU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFC
TEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05U
UykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJf
REVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9T
SVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5H
KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQo
RU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxV
RSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxF
X1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQo
RU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZU
VF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVf
RlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VU
X0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
IGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
aW5kZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0OGE3Njk3
MmYxMTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dl
YktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1
LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NB
TlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19T
WU5UQVg7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQU5JTUFUSU9O
U19MRVZFTF8yID0gRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBAIC0yMTQsNCArMjE1
LDQgQEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRf
QVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRV
UkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURf
MkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5B
QkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9D
QUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNf
UFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lO
VEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5B
QkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9C
UkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBU
QVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lP
TlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJM
RV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVO
QUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFC
TEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJM
RV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChF
TkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBS
RUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJ
TUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9D
T05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFC
TEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMp
ICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVU
Q0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVO
QUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01F
VEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUp
ICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdD
T05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJ
TikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJP
WElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9U
QSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVU
T0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9O
X01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9M
TF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkg
JChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdf
T1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5B
QkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19U
UkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQo
RU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVX
X01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVO
QUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9T
SVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5B
QkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJM
RV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChF
TkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFC
TEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAk
KEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykg
JChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hB
Tk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxF
X0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1Nf
Qk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVf
Q1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxF
X0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQo
RU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFC
TEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElO
RV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hF
TUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNU
X0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNf
RUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5U
U19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBU
RURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FE
X0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5B
QkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJ
RERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lO
Q09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9T
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9J
T1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVO
QUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRS
T0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9V
U0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFC
TEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5B
QkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlT
RVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElT
VCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVO
QUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChF
TkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQo
RU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFC
TEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05U
UykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJf
REVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9T
SVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5H
KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQo
RU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxV
RSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxF
X1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQo
RU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZU
VF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVf
RlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VU
X0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9XZWJL
aXRGZWF0dXJlcy5jbWFrZQppbmRleCAzMmMyMzVkOThiNWE0MjBlYmUzMzQ4MzRjN2I2YTQxODJi
MjIyMjBhLi5hNjc1MzcxNDU2MjdjZDM4YTI3MDc5Y2Q1ZGZlOTg2ODJjOTFmNDY1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKKysrIGIvU291cmNlL2NtYWtl
L1dlYktpdEZlYXR1cmVzLmNtYWtlCkBAIC0yOCw2ICsyOCw3IEBAIG1hY3JvKFdFQktJVF9PUFRJ
T05fQkVHSU4pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NBTlZBU19QUk9YWSAi
VG9nZ2xlIENhbnZhc1Byb3h5IHN1cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklO
RShFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgIlRvZ2dsZSBNZXNzYWdlQ2hhbm5lbCBhbmQgTWVz
c2FnZVBvcnQgc3VwcG9ydCIgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0VT
Nl9DTEFTU19TWU5UQVggIlRvZ2dsZSBFUzYgY2xhc3Mgc3ludGF4IHN1cHBvcnQiIE9OKQorICAg
IFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggIlRv
Z2dsZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9P
UFRJT05fREVGSU5FKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyAiVG9nZ2xlIGNvbnRlbnQgZmls
dGVyaW5nIHN1cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ09O
VEVYVF9NRU5VUyAiVG9nZ2xlIENvbnRleHQgTWVudSBzdXBwb3J0IiBPTikKICAgICBXRUJLSVRf
T1BUSU9OX0RFRklORShFTkFCTEVfQ1NQX05FWFQgIlRvZ2dsZSBDb250ZW50IFNlY3VyaXR5IFBv
bGljeSAxLjEgc3VwcG9ydCIgT0ZGKQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlY29uZmlnLmgu
Y21ha2UgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQppbmRleCAyMWQzZmNjNWQ5ODNmOTU5
NWRlZjM1MTA1NjhjZGM5ODk2NTI0NmVkLi5jZjFhZmU1NmM1ZjBmMjYwOTkwOTBlNTFiN2IyYTY2
MDNlYTA3MzIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQorKysgYi9T
b3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQpAQCAtMTMsNiArMTMsNyBAQAogI2NtYWtlZGVmaW5l
MDEgRU5BQkxFX0NBTlZBU19QUk9YWQogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWAorI2NtYWtlZGVm
aW5lMDEgRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWAogI2NtYWtlZGVmaW5lMDEgRU5B
QkxFX0NPTlRFTlRfRklMVEVSSU5HCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ09OVEVYVF9NRU5V
UwogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NSRURFTlRJQUxfU1RPUkFHRQpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCmluZGV4IDE2ZmQ2NDljNjhkNmIzZDQzZDBiMzFlMzM1
NzkwNGZjODcyNGE3ZWIuLjIyM2IzMTFiY2ZiYWIyYzI2OGE3ZjI2NTJkMTRlZDE5NjM3ZmRmY2Ug
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KQEAgLTQ0LDYgKzQ0LDcg
QEAgQkVHSU4gewogbXkgKAogICAgICR0aHJlZURSZW5kZXJpbmdTdXBwb3J0LAogICAgICRhY2Nl
bGVyYXRlZDJEQ2FudmFzU3VwcG9ydCwKKyAgICAkYXJyb3dmdW5jdGlvblN5bnRheCwKICAgICAk
YmF0dGVyeVN0YXR1c1N1cHBvcnQsCiAgICAgJGNhbnZhc1BhdGhTdXBwb3J0LAogICAgICRjYW52
YXNQcm94eVN1cHBvcnQsCkBAIC0xNTQsNiArMTU1LDkgQEAgbXkgQGZlYXR1cmVzID0gKAogICAg
IHsgb3B0aW9uID0+ICJhY2NlbGVyYXRlZC0yZC1jYW52YXMiLCBkZXNjID0+ICJUb2dnbGUgQWNj
ZWxlcmF0ZWQgMkQgQ2FudmFzIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQUND
RUxFUkFURURfMkRfQ0FOVkFTIiwgZGVmYXVsdCA9PiBpc0d0aygpLCB2YWx1ZSA9PiBcJGFjY2Vs
ZXJhdGVkMkRDYW52YXNTdXBwb3J0IH0sCiAKKyAgICB7IG9wdGlvbiA9PiAiYXJyb3dmdW5jdGlv
bi1zeW50YXgiLCBkZXNjID0+ICJUb2dnbGUgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheCBzdXBw
b3J0IiwKKyAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCIs
IGRlZmF1bHQgPT4gMSwgdmFsdWUgPT4gXCRhcnJvd2Z1bmN0aW9uU3ludGF4IH0sCisKICAgICB7
IG9wdGlvbiA9PiAiYmF0dGVyeS1zdGF0dXMiLCBkZXNjID0+ICJUb2dnbGUgQmF0dGVyeSBTdGF0
dXMgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9CQVRURVJZX1NUQVRVUyIsIGRl
ZmF1bHQgPT4gaXNFZmwoKSwgdmFsdWUgPT4gXCRiYXR0ZXJ5U3RhdHVzU3VwcG9ydCB9LAogCmRp
ZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggZTZmMDBhZDNlYmY1MGRjYzFi
Yjc3YjdjZDYwZjY3ZTRkNTUwM2JhZS4uMTkwMjc5YjZlZTY3ZjljYWYyMDM5ZjhiM2EyYWUyMDcw
ODZiMGUyYyAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE1IEBACisyMDE1LTAzLTI4ICAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwu
Y29tPgorCisgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUK
KworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVk
IGZlYXR1cmUgZmxhZyB0byBzd2l0Y2ggb24vb2ZmIGVzNiBhcnJvdyBmdW5jdGlvbiBFTkFCTEVf
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYCisKKyAgICAgICAgICogU291cmNlL2NtYWtlL1dlYktp
dEZlYXR1cmVzLmNtYWtlOgorICAgICAgICAgKiBTb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZToK
KwogMjAxNS0wMy0yNCAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFtFRkxdIEFkZCBPcGVuV2ViUlRDIGluIGpoYnVpbGQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249862</attachid>
            <date>2015-03-31 15:37:13 -0700</date>
            <delta_ts>2015-04-01 13:52:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150401013627.patch</filename>
            <type>text/plain</type>
            <size>132726</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyMDExCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAy
NjA1ODNiZWZmZWNkNzMxNDI0NGNiYzkzMzhhYTljMTI4OTExM2U0Li40NzkwZmFlMDQ4OTE5NWUy
M2YwMDMzMmYxMjlmNjc0ZTFkYTBlZmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMTUgQEAKKzIwMTUtMDQtMDEgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MDg1NQorCisgICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGRlZCBzdXBwb3J0IG9mIEVTNiBhcnJvdyBmdW5jdGlvbi4gQ2hhbmdlcyB3ZXJlIG1hZGUgYWNj
b3JkaW5nIGZvbGxvd2luZyBzcGVjIGh0dHA6Ly93aWtpLmVjbWFzY3JpcHQub3JnL2Rva3UucGhw
P2lkPWhhcm1vbnk6YXJyb3dfZnVuY3Rpb25fc3ludGF4CisgICAgICAgIEluIHBhdGNoIHdlcmUg
aW1wbGVtZW50ZWQgdGhlIHNpbXBsZXN0IGNhc2VzOgorICAgICAgICAgIDEgbm8gcGFyYW1ldGVy
cyAgICAgICAgICAgICAgICAoKSA9PiAxMCArIDIwCisgICAgICAgICAgMiBzaW5nbGUgcGFyYW1l
dGVyICAgICAgICAgICAgICB4ID0+IHggKyAyMAorICAgICAgICAgIDMgbXVsdGlwbGUgcGFyYW1l
dGVycyAgICAgICh4LCB5KSA9PiB4ICsgeQorICAgICAgICAgIDQgYXJyb3cgZnVuY3Rpb24gd2l0
aCBibG9jayAgICAgeCA9PiB7IHJldHVybiB4KjEwOyB9CisgICAgICAgICAgNSBsZXhpY2FsIHRo
aXMgLSB2YXJpYWJsZSB0aGlzIGlzIHBvaW50IHRvIHRoZSB0aGlzIG9mIHRoZSBmdW5jdGlvbiB3
aGVyZSBhcnJvdyBmdW5jdGlvbiBpcyBkZWNsYXJlZAorICAgICAgICAgIDYgTm8gY29uc3RydWN0
b3IgLSB0aGUgdXNpbmcgb2YgdGhlIGNvbW1hbmQgbmV3IGZvciBhcnJvdyBmdW5jdGlvbiBsZWFk
cyB0byBydW50aW1lIGVycm9yLiAKKworICAgICAgICAgTm90IHlldCBpbXBsZW1lbnRlZDoKKyAg
ICAgICAgICAxIHRoZSB2YXJpYWJsZSB3aXRoIG5hbWUgYXJndW1lbnRzIGluc2lkZSBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gc2hvdWxkIHBvaW50IHRvIGxpc3Qgb2YgYXJndW1lbnRzIG9mIGZ1bmN0
aW9uIHdoZXJlIGFycm93IGZ1bmN0aW9uIGlzIGRlY2xhcmVkCisgICAgICAgICAgMiBwYXJzZXIg
d2lsbCBwYXJzZSB0aGUgc3RhdGVtZW50IHgsIHkgPT4geCArIHkgaW5zdGVhZCBvZiByYWlzaW5n
IGV4Y2VwdGlvbgorICAgICAgICAgIDMgbWV0aG9kIGNhbGwsIGFwcGx5LCBiaW5kIHNob3VsZCBu
b3Qgb3ZlcnJpZGUgdGhlIHRoaXMgdmFyaWFibGUgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlv
bgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6Cisg
ICAgICAgICogSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qOgor
ICAgICAgICAqIGJ5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uOgorICAgICAgICAqIGJ5dGVjb2Rl
L0J5dGVjb2RlVXNlRGVmLmg6CisgICAgICAgIChKU0M6OkZ1bmN0b3I6OmNvbXB1dGVVc2VzRm9y
Qnl0ZWNvZGVPZmZzZXQpOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAg
ICAgIChKU0M6OkNvZGVCbG9jazo6ZHVtcEJ5dGVjb2RlKToKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVH
ZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Fy
cm93RnVuY3Rpb25FeHByZXNzaW9uKTogYWRkZWQKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5l
cmF0b3I6OmVtaXRUaGlzTm9kZUJ5dGVjb2RlKTogYWRkZWQKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvTm9kZXNDb2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6ZW1pdEJ5dGVjb2RlOjplbWl0Qnl0
ZWNvZGUpOiBhZGRlZAorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHByTm9kZTo6ZW1pdEJ5dGVj
b2RlKTogYWRkZWQKKyAgICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAg
ICAoSlNDOjpCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgICogZGZnL0RGR0Nh
cGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkNhcGFiaWxpdHlMZXZlbDo6Y2FwYWJpbGl0
eUxldmVsKToKKyAgICAgICAgKiBqaXQvSklULmg6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9v
cF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRJbmxpbmVzLmg6
CisgICAgICAgIChKU0M6OkpJVDo6Y2FsbE9wZXJhdGlvbik6IGFkZGVkCisgICAgICAgICogaml0
L0pJVC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcyk6Cisg
ICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3Bf
bmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5j
cHA6CisgICAgICAgIChKU0M6OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5ld0Fycm93RnVuY3Rp
b24pOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmg6CisgICAgICAgIChKU0M6
OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24pOiBhZGRlZAorICAgICAg
ICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAgICAgICAgKExMSU5UX1NMT1dfUEFUSF9E
RUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGxsaW50
L0xMSW50U2xvd1BhdGhzLmg6CisgICAgICAgIChMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3Bh
dGhfbmV3X2Fycm93X2Z1bmNfZXhwKSk6IGFkZGVkCisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206CisgICAgICAgICogcGFyc2VyL0FTVEJ1aWxkZXIuaDoKKyAgICAgICAg
KEpTQzo6QVNUQnVpbGRlcjo6Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIpOgorICAgICAgICAqIHBh
cnNlci9MZXhlci5jcHA6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9u
KToKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OmxleCk6CisgICAgICAgICogcGFyc2VyL0xleGVy
Lmg6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9uKToKKyAgICAgICAg
KiBwYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oOgorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHBy
Tm9kZTo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZAorICAgICAgICAqIHBhcnNlci9Ob2Rlcy5o
OgorICAgICAgICAoSlNDOjpOb2RlOjppc0Fycm93RnVuY0V4cHJOb2RlKTogYWRkZWQKKyAgICAg
ICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZCBjbGFzcworICAgICAgICAqIHBhcnNl
ci9QYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3Vy
Y2VFbGVtZW50cyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1h
cnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZVNvdXJjZUVsZW1lbnQp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6
UGFyc2VyOjpwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwYXJzZVByaW1hcnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFy
cm93RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6c2V0RW5kT2ZTdGF0ZW1lbnQp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIpOgorICAg
ICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkluZm8pOgorICAgICAgICAoSlND
OjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkJvZHkpOgorICAgICAgICAqIHBhcnNlci9QYXJz
ZXIuaDoKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpGdW5jdGlvblBhcnNlVHlwZSk6CisgICAgICAg
IChKU0M6OlBhcnNlcjo6cGFyc2VTb3VyY2VFbGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0V4cHJl
c3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnNldEVuZE9mU3RhdGVtZW50KToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKToKKyAgICAgICAgKiBw
YXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmg6CisgICAgICAgICogcGFyc2VyL1BhcnNlclRva2Vu
cy5oOgorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmFycm93RnVuY3Rpb25PZmZz
ZXQpOiBhZGRlZAorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmlzQXJyb3dGdW5j
dGlvbik6IGFkZGVkCisgICAgICAgIChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6YXJyb3dGdW5j
dGlvbkJvZHlUeXBlKTogYWRkZWQKKyAgICAgICAgKiBwYXJzZXIvU291cmNlQ29kZS5oOgorICAg
ICAgICAoSlNDOjpTb3VyY2VDb2RlOjpzdWJBcnJvd0V4cHJlc3Npb24pOgorICAgICAgICAqIHBh
cnNlci9TeW50YXhDaGVja2VyLmg6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNyZWF0
ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAgICAgKiBwYXJzZXIvU291cmNlUHJvdmlkZXJDYWNo
ZUl0ZW06CisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJh
bWV0ZXJzKToKKyAgICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0pOgorICAgICAg
ICAoSlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6ZW5kQXJyb3dGdW5jdGlvblRva2VuKToK
KyAgICAgICAgKiBydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oOiBhZGRlZCBjbGFzcyBmb3IgaGFu
ZGxlIGFycm93IGZ1bmN0aW9uIGNyZWF0aW9uIGFuZCBleGVjdXRpb24KKyAgICAgICAgKiBydW50
aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHA6CisgICAgICAgICogcnVudGltZS9KU0Z1bmN0aW9uLmg6
CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OkpTRnVuY3Rpb24pOiBhZGRlZCBvbmUgbW9yZSBj
b25zdHJ1Y3RvcgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaDoKKyAgICAg
ICAgKEpTQzo6SlNGdW5jdGlvbjo6SlNGdW5jdGlvbik6IGFkZGVkIGNvbnN0cnVjdG9yIGltcGxl
bWVudGF0aW9uCisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAg
IChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmpl
Y3Q6Om1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZSk6IGFkZGVkCisgICAgICAgIChKU0M6OkpTR2xv
YmFsT2JqZWN0OjphcnJvd0Z1bmN0aW9uU3RydWN0dXJlKToKKyAgICAgICAgKiB0ZXN0cy9zdHJl
c3MvanMvYXJyb3dmdW5jdGlvbi5qczoKKwogMjAxNS0wMy0yNiAgRmlsaXAgUGl6bG8gIDxmcGl6
bG9AYXBwbGUuY29tPgogCiAgICAgICAgIEZUTCBTY29wZWRBcmd1bWVudHMgR2V0QXJyYXlMZW5n
dGggZ2VuZXJhdGVzIGluY29ycmVjdCBjb2RlIGFuZCBjcmFzaGVzIGluIExMVk0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCAyOTgxNzZmZmUwYzMyMGQ4N2EzYWNlMzEyNjc4NDM1NzJiN2JhNDM2Li5kYjc4M2UxYzg3
NjE5MjM5N2UyYThlZmFiMWU4ZTM4MmFjMjAxZDNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTUtMDQtMDEgIFNrYWNoa292IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4K
KworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQorCisg
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAgQWRkZWQgZmVh
dHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggZm9yIGFycm93IGZ1bmN0
aW9uCisKKyAgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6
CisKIDIwMTUtMDMtMjUgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgogCiAgICAgICAg
IENTUyBibGVuZCBtb2RlcyBkbyBub3QgcGFyc2Ugd2hlbiBpbiB0aGUgc2hhZG93IHRyZWUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZwppbmRleCAyNjIzNmVmOTYwNWVlYzdlNDhjY2MyMTczMDA0YjA1OThjODQ4ODQ0
Li45MzJjMTQ3MzU5YzA4OGQ5MTUwNmRiZDRjM2RmYjkzNjFhZDEyNTU1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDQtMDEgIFNrYWNoa292IEFsZXhhbmRyICA8Z3Nr
YWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBm
dW5jdGlvbiBzeW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE0MDg1NQorCisgICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5U
QVggZm9yIGFycm93IGZ1bmN0aW9uCisKKyAgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWc6CisKIDIwMTUtMDMtMjQgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVy
c2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggZGVzaWduYXRlZCBpbml0aWFsaXplciB2aW9s
YXRpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNzIxMTI3NjUyZDg4
OGY1MDFhYjZjMjE3YjgzMzQ0MTkwNDNmNTg2NC4uNTA1M2RjMTdlNmQ1OGIxMTFjNzMwYTk0Y2Mw
NzRiMGNiZTUwNzhhOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlz
dHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNDY2
LDYgKzQ2Niw3IEBAIHNldChKYXZhU2NyaXB0Q29yZV9SVU5USU1FX1NPVVJDRVMKICAgICBydW50
aW1lL0pTQXJyYXlCdWZmZXJWaWV3LmNwcAogICAgIHJ1bnRpbWUvSlNBcnJheUl0ZXJhdG9yLmNw
cAogICAgIHJ1bnRpbWUvSlNCb3VuZEZ1bmN0aW9uLmNwcAorICAgIHJ1bnRpbWUvSlNBcnJvd0Z1
bmN0aW9uLmNwcAogICAgIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxlLmNwcAogICAg
IHJ1bnRpbWUvSlNDSlNWYWx1ZS5jcHAKICAgICBydW50aW1lL0pTQ2FsbGVlLmNwcApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCmluZGV4IDhiMTEyZmFlNDViOTU3ZGQyNjQxZmRiNmY0Njg5ODgwNTg5
YWY4NjAuLjExNDhhNzY5NzJmMTE0YzM4M2QzMjYyOWYxZjA5M2M2ODU1MGEwNTEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0g
RU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xB
U1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CitFTkFCTEVfRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9D
T05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1Bf
TkVYVCA9IDsKIEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yID0gRU5BQkxFX0NTU19BTklN
QVRJT05TX0xFVkVMXzI7CkBAIC0yMTQsNCArMjE1LDQgQEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9
IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFU
RURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JF
TkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVf
QVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxF
X0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRF
UklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIp
ICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lU
SU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xB
WU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
UkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNf
TEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxF
X0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFC
TEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChF
TkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChF
TkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5B
QkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQo
RU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVO
QUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVf
R0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElP
TikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lD
T05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9J
TkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FM
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
KSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9S
X1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZ
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVU
VEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFC
TEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxF
X01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1M
KSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5U
X1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAk
KEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVC
TElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJ
T05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVf
SU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJC
RVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lO
VEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChF
TkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVM
RVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5B
QkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VD
SF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VS
U0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJM
RV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9X
RUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9X
RUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykg
JChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9Y
U0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NB
VFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01P
REUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9M
TElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQp
ICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5B
QkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VT
Nl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFC
TEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5J
TUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5B
QkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVO
QUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChF
TkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJM
RV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NT
M19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJ
U0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJP
QVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJB
TlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRF
UlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChF
TkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRM
SU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09S
S0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNT
X1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9J
T1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9M
RUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVE
SU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJM
RV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFf
U09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kp
ICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxF
X1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVO
VFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxF
X1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkg
JChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVS
WSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChF
TkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NV
QlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJU
RVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFU
RV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09S
RCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURF
T19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19N
RURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JF
UExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5B
QkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElN
RU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19M
T09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVP
X1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ogYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9q
CmluZGV4IDc0MzMwZTcwM2RhYzRkMzYwMGVhYjI3YTBhZDhlYjRhZjAwZTBiMzIuLjFlMzNkMTc1
OTg1NGFkMDFjZDZkM2UyMDM5ZWFmNzdiNjhjOGU4ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNj
cmlwdENvcmUudmN4cHJvagpAQCAtNzM0LDYgKzczNCw3IEBACiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJQcm90b3R5cGUuY3BwIiAvPgogICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0FycmF5QnVmZmVyVmlldy5jcHAiIC8+CiAgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQm91bmRGdW5jdGlvbi5jcHAiIC8+Cisg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyb3dGdW5jdGlvbi5jcHAiIC8+
CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0pTVmFsdWUuY3BwIiAvPgog
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NhbGxlZS5jcHAiIC8+CiAgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ2F0Y2hTY29wZS5jcHAiIC8+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGJhMmQxMzZlYjk1YjVhOWZkMzU0YWIzMGE4ZjM2
OTFiZjc4Y2ViODYuLmU5ZDZmMjQ2NWUzMzg1NWQzNjhiNGQyMDRlMGQ3NjQ2YzU2ZTk4OWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDkyLDYgKzEwOTIsOCBAQAogCQk4NkYz
RUVCRjE2OENERTkzMDA3N0I5MkEgLyogT2JqY1J1bnRpbWVFeHRyYXMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RjNFRUI2MTY4NTVBNUIwMDc3Qjky
QSAvKiBPYmpjUnVudGltZUV4dHJhcy5oICovOyB9OwogCQk4NkZBOUU5MTE0MkJCQjJFMDAxNzcz
QjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rp
b24uY3BwICovOyB9OwogCQk4NkZBOUU5MjE0MkJCQjJFMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0
aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkZB
OUU5MDE0MkJCQjJFMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmggKi87IH07CisJCThCMEY0
MjRDMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VB
IC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgKi87IH07CisJCThCMEY0MjRDMUFCRDZERTIwMDM5MTdF
QSAvKiBKU0Fycm93RnVuY3Rpb24uaCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDhCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24u
aCAqLzsgfTsKIAkJOTAyMTNFM0QxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3Mu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTAyMTNF
M0IxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwICovOyB9OwogCQk5MDIx
M0UzRTEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTAyMTNFM0MxMjNBNDBDMjAwRDQyMkYz
IC8qIE1lbW9yeVN0YXRpc3RpY3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk5MzA1MkMzNDBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMwNTJD
MzIwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNwcCAqLzsgfTsKQEAgLTI4MjQsNiAr
MjgyNiw4IEBACiAJCTg2Rjc1RUZEMTUxQzA2MkYwMDdDOUJBMyAvKiBSZWdFeHBNYXRjaGVzQXJy
YXkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVnRXhwTWF0Y2hl
c0FycmF5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODZGQTlFOEYxNDJCQkIy
RDAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU0JvdW5kRnVuY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk4NkZBOUU5MDE0MkJCQjJFMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQm91bmRGdW5jdGlvbi5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk4QjBGNDI0QTFBQkQ2RDJGMDAzOTE3RUEgLyogSlNBcnJv
d0Z1bmN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQXJyb3dGdW5jdGlvbi5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk4QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1
bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXJyb3dG
dW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkwMjEzRTNCMTIzQTQw
QzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IE1lbW9yeVN0YXRpc3RpY3MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk5MDIxM0UzQzEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZW1vcnlTdGF0aXN0aWNzLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMDUyQzMyMEZCNzkyMTkwMDQ4RkRDMyAvKiBQ
YXJzZXJBcmVuYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQYXJz
ZXJBcmVuYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00NDM4LDYgKzQ0NDIs
OCBAQAogCQkJCUE3QkRBRUM1MTdGNEVBMTQwMEY2MTQwQyAvKiBKU0FycmF5SXRlcmF0b3IuaCAq
LywKIAkJCQk4NkZBOUU4RjE0MkJCQjJEMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAq
LywKIAkJCQk4NkZBOUU5MDE0MkJCQjJFMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmggKi8s
CisJCQkJOEIwRjQyNEExQUJENkQyRjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oICovLAor
CQkJCThCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uY3BwICovLAog
CQkJCTY1N0NGNDU2MTlCRjY2NjIwMDRBQ0JGMiAvKiBKU0NhbGxlZS5jcHAgKi8sCiAJCQkJNjU3
Q0Y0NTcxOUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmggKi8sCiAJCQkJMEZEOTQ5N0UxQTk3
REI5NjAwRTI4OTY2IC8qIEpTQ2F0Y2hTY29wZS5jcHAgKi8sCkBAIC03MTY2LDYgKzcxNzIsNyBA
QAogCQkJCTBGRDhBMzFCMTdENTFGMjIwMENBMkM0MCAvKiBGVExPU1JFbnRyeS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkwRjIzNUJEQzE3MTc4RTFDMDA2OTBDN0YgLyogRlRMT1NSRXhpdC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkwRjIzNUJERjE3MTc4RTFDMDA2OTBDN0YgLyogRlRMT1NSRXhp
dENvbXBpbGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCThCMEY0MjRDMUFCRDZERTIwMDM5MTdF
QSAvKiBKU0Fycm93RnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZFQTBBMkExNzA5
NjI5NjAwQkI3MjJDIC8qIEZUTE91dHB1dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjQ4NTMy
OTE4N0RGREVDMDA4M0I2ODcgLyogRlRMUmVjb3ZlcnlPcGNvZGUuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMEY2QjFDQzMxODYyQzQ3ODAwODQ1RDk3IC8qIEZUTFJlZ2lzdGVyQXRPZmZzZXQuY3Bw
IGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQnl0ZWNvZGVMaXN0Lmpzb24gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0
ZWNvZGVMaXN0Lmpzb24KaW5kZXggNmIyNDM5MTU2YWIzYWZhZTZiNTU4YWI5MDY2ZDIyMjUxNWQ1
OWU0NS4uNDM2MDcwOWQ4ZjdlNDE4MjE1YWIyYWY5NTliZjY0NDhhZjAzODAyOCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxpc3QuanNvbgpAQCAtOTUs
NiArOTUsNyBAQAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3Bfc3dpdGNoX3N0cmluZyIsICJs
ZW5ndGgiIDogNCB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfbmV3X2Z1bmMiLCAibGVu
Z3RoIiA6IDQgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX25ld19mdW5jX2V4cCIsICJs
ZW5ndGgiIDogNCB9LAorICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfbmV3X2Fycm93X2Z1bmNf
ZXhwIiwgImxlbmd0aCIgOiA1IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9jYWxsIiwg
Imxlbmd0aCIgOiA5IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9jYWxsX2V2YWwiLCAi
bGVuZ3RoIiA6IDkgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGxfdmFyYXJncyIs
ICJsZW5ndGgiIDogOSB9LApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0J5dGVjb2RlVXNlRGVmLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0
ZWNvZGVVc2VEZWYuaAppbmRleCA4NWYyOTE1YzdlOGY2MDFhZDNlYzE3OGJmNjllMzU0NGY3NTRj
MmNmLi4xN2I2YmVkODFmZTI1YjYyMzMwYmFhM2ZkMDMxYzcxNmFiODhmOWJmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaApAQCAtMTE2LDYg
KzExNiw5IEBAIHZvaWQgY29tcHV0ZVVzZXNGb3JCeXRlY29kZU9mZnNldCgKICAgICBjYXNlIG9w
X2dldF9wcm9wZXJ0eV9lbnVtZXJhdG9yOgogICAgIGNhc2Ugb3BfZ2V0X2VudW1lcmFibGVfbGVu
Z3RoOgogICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6CisjZW5kaWYKICAg
ICBjYXNlIG9wX3RvX2luZGV4X3N0cmluZzoKICAgICBjYXNlIG9wX2luaXRfZ2xvYmFsX2NvbnN0
X25vcDoKICAgICBjYXNlIG9wX2luaXRfZ2xvYmFsX2NvbnN0OgpAQCAtMzA4LDYgKzMxMSw5IEBA
IHZvaWQgY29tcHV0ZURlZnNGb3JCeXRlY29kZU9mZnNldChDb2RlQmxvY2sqIGNvZGVCbG9jaywg
dW5zaWduZWQgYnl0ZWNvZGVPZmZzZXQsCiAgICAgY2FzZSBvcF9uZXdfcmVnZXhwOgogICAgIGNh
c2Ugb3BfbmV3X2Z1bmM6CiAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoK
KyNlbmRpZgogICAgIGNhc2Ugb3BfY2FsbF92YXJhcmdzOgogICAgIGNhc2Ugb3BfY29uc3RydWN0
X3ZhcmFyZ3M6CiAgICAgY2FzZSBvcF9nZXRfZnJvbV9zY29wZToKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKaW5kZXggOGFkNzFlYzcxZmE2ZmY1M2E3MTAz
OGY0OTc5NDgwOThiOWE5YTNlNS4uNmExZDQyMjg1NjlmODE5YjkwZjdhOTg3NjYzZjg3MGFjNGJi
MzhmYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9j
ay5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAK
QEAgLTEyNzQsNiArMTI3NCwxNyBAQCB2b2lkIENvZGVCbG9jazo6ZHVtcEJ5dGVjb2RlKAogICAg
ICAgICAgICAgb3V0LnByaW50ZigiJXMsICVzLCBmJWQiLCByZWdpc3Rlck5hbWUocjApLmRhdGEo
KSwgcmVnaXN0ZXJOYW1lKHIxKS5kYXRhKCksIGYwKTsKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgY2Fz
ZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6IHsKKyAgICAgICAgICAgIGludCByMCA9ICgrK2l0KS0+
dS5vcGVyYW5kOworICAgICAgICAgICAgaW50IHIxID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAg
ICAgICAgICBpbnQgZjAgPSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAgICAgICAgIGludCByMiA9
ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgcHJpbnRMb2NhdGlvbkFuZE9wKG91dCwg
ZXhlYywgbG9jYXRpb24sIGl0LCAib3BfbmV3X2Fycm93X2Z1bmNfZXhwIik7CisgICAgICAgICAg
ICBvdXQucHJpbnRmKCIlcywgJXMsIGYlZCwgJXMiLCByZWdpc3Rlck5hbWUocjApLmRhdGEoKSwg
cmVnaXN0ZXJOYW1lKHIxKS5kYXRhKCksIGYwLCByZWdpc3Rlck5hbWUocjIpLmRhdGEoKSk7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIGNhc2Ugb3BfbmV3
X2Z1bmNfZXhwOiB7CiAgICAgICAgICAgICBpbnQgcjAgPSAoKytpdCktPnUub3BlcmFuZDsKICAg
ICAgICAgICAgIGludCByMSA9ICgrK2l0KS0+dS5vcGVyYW5kOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAppbmRl
eCBhYzVlMzdlNGQ4OGVhYTM3YTI0Y2FkZDdhZmM0YzgxNmFkZWQ0MmUyLi44NTk3ZTk1NzkxNmYy
ZTRmZGQ4N2FmYmQwZmVjMzk2YmFhYzU4OWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcApAQCAtMTc0Miw2
ICsxNzQyLDM0IEBAIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3RnVuY3Rp
b25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIHIwLCBGdW5jRXhwCiAgICAgaW5zdHJ1Y3Rpb25zKCku
YXBwZW5kKGluZGV4KTsKICAgICByZXR1cm4gcjA7CiB9CisgICAgCisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKK1JlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0
TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogcjAsIEZ1bmNFeHByTm9kZSog
bikKK3sKKyAgICBGdW5jdGlvbkJvZHlOb2RlKiBmdW5jdGlvbiA9IG4tPmJvZHkoKTsKKyAgICB1
bnNpZ25lZCBpbmRleCA9IG1fY29kZUJsb2NrLT5hZGRGdW5jdGlvbkV4cHIobWFrZUZ1bmN0aW9u
KGZ1bmN0aW9uKSk7CisgICAgCisgICAgZW1pdE9wY29kZShvcF9uZXdfYXJyb3dfZnVuY19leHAp
OworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChyMC0+aW5kZXgoKSk7CisgICAgaW5zdHJ1Y3Rp
b25zKCkuYXBwZW5kKHNjb3BlUmVnaXN0ZXIoKS0+aW5kZXgoKSk7CisgICAgaW5zdHJ1Y3Rpb25z
KCkuYXBwZW5kKGluZGV4KTsKKyAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQodGhpc1JlZ2lzdGVy
KCktPmluZGV4KCkpOworICAgIHJldHVybiByMDsKK30KKyAgICAKK1JlZ2lzdGVySUQqIEJ5dGVj
b2RlR2VuZXJhdG9yOjplbWl0VGhpc05vZGVCeXRlY29kZShSZWdpc3RlcklEKiBkc3QsIEpTVGV4
dFBvc2l0aW9uIHBvc2l0aW9uKQoreworICAgIGlmIChkc3QgPT0gaWdub3JlZFJlc3VsdCgpKQor
ICAgICAgICByZXR1cm4gMDsKKyAgICBSZWdpc3RlcklEKiByZXN1bHQgPSBtb3ZlVG9EZXN0aW5h
dGlvbklmTmVlZGVkKGRzdCwgdGhpc1JlZ2lzdGVyKCkpOworICAgIGlmICh2bSgpLT50eXBlUHJv
ZmlsZXIoKSkgeworICAgICAgICBlbWl0UHJvZmlsZVR5cGUodGhpc1JlZ2lzdGVyKCksIFByb2Zp
bGVUeXBlQnl0ZWNvZGVEb2VzTm90SGF2ZUdsb2JhbElELCBudWxscHRyKTsKKyAgICAgICAgc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIHRoaXNMZW5ndGggPSA0OworICAgICAgICBlbWl0VHlwZVByb2Zp
bGVyRXhwcmVzc2lvbkluZm8ocG9zaXRpb24sIEpTVGV4dFBvc2l0aW9uKC0xLCBwb3NpdGlvbi5v
ZmZzZXQgKyB0aGlzTGVuZ3RoLCAtMSkpOworICAgIH0KKyAgICByZXR1cm4gcmVzdWx0OworfQor
I2VuZGlmCiAKIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3RGVmYXVsdENv
bnN0cnVjdG9yKFJlZ2lzdGVySUQqIGRzdCwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2lu
ZCwgY29uc3QgSWRlbnRpZmllciYgbmFtZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAppbmRleCAxYzk5YWNhMDg0
ODg4YTFiODQ4ZTc0ZTA1NTI5MTIyZTU1N2U3YThkLi5jMTRmOWMwODUxYjM5OTM2M2VhNzgwZGZh
ZTFjODk3ZTI2MTllMDFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
bXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCkBAIC00NTQsNiArNDU0LDEwIEBAIG5hbWVz
cGFjZSBKU0MgewogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3RnVuY3Rpb25JbnRlcm5hbChS
ZWdpc3RlcklEKiBkc3QsIHVuc2lnbmVkIGluZGV4KTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1p
dE5ld0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiBkc3QsIEZ1bmNFeHByTm9kZSogZnVu
Yyk7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdEZWZhdWx0Q29uc3RydWN0b3IoUmVnaXN0
ZXJJRCogZHN0LCBDb25zdHJ1Y3RvcktpbmQsIGNvbnN0IElkZW50aWZpZXImIG5hbWUpOworI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIFJlZ2lzdGVySUQqIGVt
aXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiwgRnVuY0V4cHJOb2RlKik7
CisgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRUaGlzTm9kZUJ5dGVjb2RlKFJlZ2lzdGVySUQqLCBK
U1RleHRQb3NpdGlvbik7CisjZW5kaWYKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld1JlZ0V4
cChSZWdpc3RlcklEKiBkc3QsIFJlZ0V4cCopOwogCiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRN
b3ZlKFJlZ2lzdGVySUQqIGRzdCwgUmVnaXN0ZXJJRCogc3JjKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAppbmRleCAxYzc1NzNh
ZDRlMzI4YjJhNzRhOTVmYjkzYmIyMDc2ODgyYjJmN2I5Li42OWZkMDgzMGZiNDE5MWIxMDk1MmFj
OTU4YzkwNDQwOWU1YTVkOWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCkBAIC0xNDksNyArMTQ5LDkgQEAgUmVnaXN0ZXJJ
RCogVGhpc05vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBS
ZWdpc3RlcklEKiBkc3QKIAogICAgIGlmIChkc3QgPT0gZ2VuZXJhdG9yLmlnbm9yZWRSZXN1bHQo
KSkKICAgICAgICAgcmV0dXJuIDA7Ci0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdFRoaXNOb2RlQnl0ZWNvZGUoZHN0LCBwb3Np
dGlvbigpKTsKKyNlbHNlCiAgICAgUmVnaXN0ZXJJRCogcmVzdWx0ID0gZ2VuZXJhdG9yLm1vdmVU
b0Rlc3RpbmF0aW9uSWZOZWVkZWQoZHN0LCBnZW5lcmF0b3IudGhpc1JlZ2lzdGVyKCkpOwogICAg
IGlmIChnZW5lcmF0b3Iudm0oKS0+dHlwZVByb2ZpbGVyKCkpIHsKICAgICAgICAgZ2VuZXJhdG9y
LmVtaXRQcm9maWxlVHlwZShnZW5lcmF0b3IudGhpc1JlZ2lzdGVyKCksIFByb2ZpbGVUeXBlQnl0
ZWNvZGVEb2VzTm90SGF2ZUdsb2JhbElELCBudWxscHRyKTsKQEAgLTE1Nyw2ICsxNTksNyBAQCBS
ZWdpc3RlcklEKiBUaGlzTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5l
cmF0b3IsIFJlZ2lzdGVySUQqIGRzdAogICAgICAgICBnZW5lcmF0b3IuZW1pdFR5cGVQcm9maWxl
ckV4cHJlc3Npb25JbmZvKHBvc2l0aW9uKCksIEpTVGV4dFBvc2l0aW9uKC0xLCBwb3NpdGlvbigp
Lm9mZnNldCArIHRoaXNMZW5ndGgsIC0xKSk7CiAgICAgfQogICAgIHJldHVybiByZXN1bHQ7Cisj
ZW5kaWYKIH0KIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFN1cGVyTm9kZSAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC0yODMzLDYgKzI4MzYsMTQg
QEAgUmVnaXN0ZXJJRCogRnVuY0V4cHJOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0
b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCoKICAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXROZXdG
dW5jdGlvbkV4cHJlc3Npb24oZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0KSwgdGhpcyk7
CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAgICAKKy8vIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBBcnJvd0Z1bmNFeHByTm9kZSAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KK1JlZ2lzdGVySUQqIEFycm93RnVuY0V4cHJOb2RlOjplbWl0
Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0KQor
eworICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKGdl
bmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHRoaXMpOworfQorI2VuZGlmCisgICAgCiAj
aWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0gQ2xhc3NEZWNsTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAppbmRl
eCA2OWZkNGFkMTU5NTRiNTcwZTBjOTQwNzA0MTYzZWE2MGI4MTRmOTljLi41MWVkNjA4NjUzZDQ4
OTE5OGY4YTY5ZGIwMTM4MzQ2MzhkZDBlYTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcApAQCAtMzY2Miw2ICszNjYyLDE1IEBAIGJvb2wg
Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQgbGltaXQpCiAgICAgICAgICAgICBO
RVhUX09QQ09ERShvcF9uZXdfZnVuY19leHApOwogICAgICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4
cDogeworICAgICAgICAgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBleHByID0gbV9pbmxpbmVTdGFj
a1RvcC0+bV9wcm9maWxlZEJsb2NrLT5mdW5jdGlvbkV4cHIoY3VycmVudEluc3RydWN0aW9uWzNd
LnUub3BlcmFuZCk7CisgICAgICAgICAgICBGcm96ZW5WYWx1ZSogZnJvemVuID0gbV9ncmFwaC5m
cmVlemVTdHJvbmcoZXhwcik7CisgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJl
bnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLAorICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgo
TmV3RnVuY3Rpb24sIE9wSW5mbyhmcm96ZW4pLCBnZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJ
bnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpKSkpOworICAgICAgICAgICAgTkVYVF9PUENPREUob3Bf
bmV3X2Fycm93X2Z1bmNfZXhwKTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIGNhc2Ugb3Bf
dHlwZW9mOiB7CiAgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVj
dGlvblsxXS51Lm9wZXJhbmQpLAogICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgoVHlwZU9mLCBn
ZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpKSkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCmluZGV4IDhl
ZjRkY2YxNTY4YmQ1ZWRhNGI4OTdlNzY4NGE4Y2JiOTFiZjZlMDguLjdmNDVhODMxZWE2ZTYyNzNi
YWNkMmUzZjgzMzZkZGM1NjJjOGNjOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0NhcGFiaWxpdGllcy5jcHAKQEAgLTIwOCw2ICsyMDgsOSBAQCBDYXBhYmlsaXR5TGV2ZWwg
Y2FwYWJpbGl0eUxldmVsKE9wY29kZUlEIG9wY29kZUlELCBDb2RlQmxvY2sqIGNvZGVCbG9jaywg
SW5zdHJ1YwogICAgIGNhc2Ugb3BfbmV3X2Z1bmM6CiAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6
CiAgICAgY2FzZSBvcF9jcmVhdGVfbGV4aWNhbF9lbnZpcm9ubWVudDoKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgor
I2VuZGlmCiAgICAgICAgIHJldHVybiBDYW5Db21waWxlQW5kSW5saW5lOwogCiAgICAgY2FzZSBv
cF9wdXRfdG9fc2NvcGU6IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9JbnRlcnByZXRlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0
ZXIvSW50ZXJwcmV0ZXIuY3BwCmluZGV4IGJjODg1YTY0NDUyZmEyNDJkYzI3NzEzOTVkMzQwZGU1
M2MwZDk0MzMuLjFlNDYwMmU0OTY4YmExYTBjYzNhZDBhZDY1YmI1ODI3MDI1OTM0NzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcApA
QCAtNDUsNiArNDUsOSBAQAogI2luY2x1ZGUgIkdldHRlclNldHRlci5oIgogI2luY2x1ZGUgIkpT
QXJyYXkuaCIKICNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorI2VuZGlm
CiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTTGV4aWNhbEVudmlyb25tZW50
LmgiCiAjaW5jbHVkZSAiSlNOYW1lU2NvcGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklULmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcApp
bmRleCA0MmE4MmQ0Mzk0NjE2MmY5NWZhNDc0Njc1NjcxMzlkNGFhZjIzODZiLi4xODYwYTBhYTMz
YjA4MTljNGY4NTUwODVmNWU4YjcwZmEyMzJhNDMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQu
Y3BwCkBAIC0yNTMsNiArMjUzLDkgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3Mo
KQogICAgICAgICBERUZJTkVfT1Aob3BfbmV3X2FycmF5X2J1ZmZlcikKICAgICAgICAgREVGSU5F
X09QKG9wX25ld19mdW5jKQogICAgICAgICBERUZJTkVfT1Aob3BfbmV3X2Z1bmNfZXhwKQorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIERFRklORV9PUChvcF9u
ZXdfYXJyb3dfZnVuY19leHApCisjZW5kaWYgIAogICAgICAgICBERUZJTkVfT1Aob3BfbmV3X29i
amVjdCkKICAgICAgICAgREVGSU5FX09QKG9wX25ld19yZWdleHApCiAgICAgICAgIERFRklORV9P
UChvcF9ub3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAppbmRleCBlZTQ4NTVkYzJlNzhiNTVhY2M0
NTk5ZWJkYjk5YTBkOGUwOGJlN2NjLi41NjM4ZDVjN2M3NGFlYzdjMGFiMTk1Zjk3YmIzMjFiZWUw
M2M3MzdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKQEAgLTUyMiw2ICs1MjIsOSBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBlbWl0X29wX25ld19hcnJheV9idWZmZXIoSW5zdHJ1
Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX25ld19mdW5jKEluc3RydWN0aW9uKik7CiAg
ICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfZnVuY19leHAoSW5zdHJ1Y3Rpb24qKTsKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2Fy
cm93X2Z1bmNfZXhwKEluc3RydWN0aW9uKik7CisjZW5kaWYKICAgICAgICAgdm9pZCBlbWl0X29w
X25ld19vYmplY3QoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX25ld19yZWdl
eHAoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX25vdChJbnN0cnVjdGlvbiop
OwpAQCAtNzA1LDYgKzcwOCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKSiwgaW50LCBHUFJSZWcs
IEdQUlJlZyk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19K
SVRPcGVyYXRpb25fRUpzYywgR1BSUmVnKTsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwg
Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQywgaW50LCBHUFJSZWcsIEpTQ2VsbCop
OworICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0
aW9uX0VKc2NDSiwgaW50LCBHUFJSZWcsIEpTQ2VsbCosIEdQUlJlZyk7CiAgICAgICAgIE1hY3Jv
QXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUpzY1osIEdQUlJl
ZywgaW50MzJfdCk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24o
Q19KSVRPcGVyYXRpb25fRUpzY1osIGludCwgR1BSUmVnLCBpbnQzMl90KTsKICNpZiBVU0UoSlNW
QUxVRTY0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVz
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaAppbmRleCA5ZWUyNGQw
OTIyOGE5ODgyZWE3Njk2MjlkMWE4N2I2YzM0YTg2MzM0Li5hMGU0MGM1YzYxZmU2M2U5ODYzZWQy
MjNlZGY1ZDQ1MWYzMThhNzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVElubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMu
aApAQCAtMjcxLDYgKzI3MSwxMiBAQCBBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxs
IEpJVDo6Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQyBvcGVyYQogICAgIHJldHVy
biBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0SlNWYWx1ZVJlc3VsdChvcGVyYXRpb24s
IGRzdCk7CiB9CiAKK0FMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxs
T3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKc2NDSiBvcGVyYXRpb24sIGludCBkc3QsIEdQUlJl
ZyBhcmcxLCBKU0NlbGwqIGNlbGwsIEdQUlJlZyBhcmcyKQoreworICAgIHNldHVwQXJndW1lbnRz
V2l0aEV4ZWNTdGF0ZShhcmcxLCBUcnVzdGVkSW1tUHRyKGNlbGwpLCBhcmcyKTsKKyAgICByZXR1
cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldEpTVmFsdWVSZXN1bHQob3BlcmF0aW9u
LCBkc3QpOworfQorICAgIAogQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6
OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRVAgb3BlcmF0aW9uLCBpbnQgZHN0LCB2b2lk
KiBwb2ludGVyKQogewogICAgIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1t
UHRyKHBvaW50ZXIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3Bjb2Rlcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCmlu
ZGV4IGQzZDU4MGU5ZTI2MDA4NTNiNjY0OWUyODU5MThmODUzOGJlNjk0NGMuLjQ4ODNhODNkMTc2
NDhkZGRlOWNhZGEwNzZlMTc2MDNlMzc4MzZhODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRPcGNvZGVzLmNwcApAQCAtOTcyLDYgKzk3MiwzMSBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9u
ZXdfZnVuY19leHAoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKICAgICBjYWxsT3Bl
cmF0aW9uKG9wZXJhdGlvbk5ld0Z1bmN0aW9uLCBkc3QsIHJlZ1QwLCBmdW5jRXhwcik7CiAgICAg
ZG9uZS5saW5rKHRoaXMpOwogfQorICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCit2b2lkIEpJVDo6ZW1pdF9vcF9uZXdfYXJyb3dfZnVuY19leHAoSW5zdHJ1Y3Rpb24q
IGN1cnJlbnRJbnN0cnVjdGlvbikKK3sKKyAgICBKdW1wIG5vdFVuZGVmaW5lZFNjb3BlOworICAg
IGludCBkc3QgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kOworI2lmIFVTRShKU1ZB
TFVFNjQpCisgICAgZW1pdEdldFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0u
dS5vcGVyYW5kLCByZWdUMCk7CisgICAgZW1pdEdldFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5z
dHJ1Y3Rpb25bNF0udS5vcGVyYW5kLCByZWdUMSk7CisgICAgbm90VW5kZWZpbmVkU2NvcGUgPSBi
cmFuY2g2NChOb3RFcXVhbCwgcmVnVDAsIFRydXN0ZWRJbW02NChKU1ZhbHVlOjplbmNvZGUoanNV
bmRlZmluZWQoKSkpKTsKKyAgICBzdG9yZTY0KFRydXN0ZWRJbW02NChKU1ZhbHVlOjplbmNvZGUo
anNVbmRlZmluZWQoKSkpLCBBZGRyZXNzKGNhbGxGcmFtZVJlZ2lzdGVyLCBzaXplb2YoUmVnaXN0
ZXIpICogZHN0KSk7CisjZWxzZQorICAgIGVtaXRMb2FkUGF5bG9hZChjdXJyZW50SW5zdHJ1Y3Rp
b25bMl0udS5vcGVyYW5kLCByZWdUMCk7CisgICAgZW1pdExvYWRQYXlsb2FkKGN1cnJlbnRJbnN0
cnVjdGlvbls0XS51Lm9wZXJhbmQsIHJlZ1QxKTsKKyAgICBub3RVbmRlZmluZWRTY29wZSA9IGJy
YW5jaDMyKE5vdEVxdWFsLCB0YWdGb3IoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCks
IFRydXN0ZWRJbW0zMihKU1ZhbHVlOjpVbmRlZmluZWRUYWcpKTsKKyAgICBlbWl0U3RvcmUoZHN0
LCBqc1VuZGVmaW5lZCgpKTsKKyNlbmRpZgorICAgIEp1bXAgZG9uZSA9IGp1bXAoKTsKKyAgICBu
b3RVbmRlZmluZWRTY29wZS5saW5rKHRoaXMpOworICAgIAorICAgIEZ1bmN0aW9uRXhlY3V0YWJs
ZSogZnVuY3Rpb24gPSBtX2NvZGVCbG9jay0+ZnVuY3Rpb25FeHByKGN1cnJlbnRJbnN0cnVjdGlv
blszXS51Lm9wZXJhbmQpOworICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uTmV3QXJyb3dGdW5j
dGlvbiwgZHN0LCByZWdUMCwgZnVuY3Rpb24sIHJlZ1QxKTsKKyAgICBkb25lLmxpbmsodGhpcyk7
Cit9CisjZW5kaWYKIAogdm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2FycmF5KEluc3RydWN0aW9uKiBj
dXJyZW50SW5zdHJ1Y3Rpb24pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVy
YXRpb25zLmNwcAppbmRleCBjNjUxZWFjNzZmYzllNzhhZmY4Y2JiNDQ1OGMyMTc0M2E5NTVkYTUw
Li44YmVmMWVlYmQ3ZDU2ZTM2YjJkMDYwMGEzNWU4OGQ4MTY4YzhhYjE1IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTQyLDYgKzQyLDEwIEBACiAj
aW5jbHVkZSAiSG9zdENhbGxSZXR1cm5WYWx1ZS5oIgogI2luY2x1ZGUgIkpJVC5oIgogI2luY2x1
ZGUgIkpJVFRvREZHRGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmgiCisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNl
bmRpZgorI2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMu
aCIKICNpbmNsdWRlICJKU0NhdGNoU2NvcGUuaCIKICNpbmNsdWRlICJKU0Z1bmN0aW9uTmFtZVNj
b3BlLmgiCkBAIC05MzMsNiArOTM3LDIxIEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uTmV3RnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBKU1Njb3BlKiBzY29wCiAgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIHN0YXRpY19jYXN0
PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KGZ1bmN0aW9uRXhlY3V0YWJsZSksIHNjb3BlKSk7CiB9CiAK
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorRW5jb2RlZEpTVmFsdWUgSklU
X09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNT
Y29wZSogc2NvcGUsIEpTQ2VsbCogZnVuY3Rpb25FeGVjdXRhYmxlLCBFbmNvZGVkSlNWYWx1ZSB0
aGlzVmFsdWUpCit7CisgICAgQVNTRVJUKGZ1bmN0aW9uRXhlY3V0YWJsZS0+aW5oZXJpdHMoRnVu
Y3Rpb25FeGVjdXRhYmxlOjppbmZvKCkpKTsKKyAgICBWTSYgdm0gPSBleGVjLT52bSgpOworICAg
IE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKKyAgICBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0ID0gZXhlYy0+Y2FsbGVlKCktPmdsb2JhbE9iamVjdCgpOworICAg
IEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Fycm93RnVuY3Rpb246OmNyZWF0ZSh2bSwgc2NvcGUsIHN0
YXRpY19jYXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KGZ1bmN0aW9uRXhlY3V0YWJsZSksIGdsb2Jh
bE9iamVjdCk7CisgICAgCisgICAgSlNBcnJheSogYm91bmRBcmdzID0gSlNBcnJheTo6dHJ5Q3Jl
YXRlVW5pbml0aWFsaXplZCh2bSwgZ2xvYmFsT2JqZWN0LT5hcnJheVN0cnVjdHVyZUZvckluZGV4
aW5nVHlwZUR1cmluZ0FsbG9jYXRpb24oQXJyYXlXaXRoVW5kZWNpZGVkKSwgMCk7CisgICAgCisg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU0JvdW5kRnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xv
YmFsT2JqZWN0LCBmdW5jLCBKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSwgYm91bmRBcmdzLCAw
LCAiIikpOworfQorI2VuZGlmCisgICAgCiBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
TmV3T2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiB7CiAgICAg
Vk0qIHZtID0gJmV4ZWMtPnZtKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wZXJhdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0
aW9ucy5oCmluZGV4IDRkZWNlZjRlYjhiNDhiYjkzN2Q1NGQwYjYwNGI5Yjc3NjdhNGVhNjEuLjg1
ZjRjYWY4Y2VlNGNkYmM1MGM0ZGUzYmM3YzdhYmU0NDBiOGNlZmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCkBAIC0xMTYsNiArMTE2LDcgQEAgdHlwZWRlZiBF
bmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVBQKShFeGVjU3Rh
dGUqLCB2b2lkKiwgdm8KIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpf
SklUT3BlcmF0aW9uX0VQUykoRXhlY1N0YXRlKiwgdm9pZCosIHNpemVfdCk7CiB0eXBlZGVmIEVu
Y29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FUGMpKEV4ZWNTdGF0
ZSosIEluc3RydWN0aW9uKik7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04g
KCpKX0pJVE9wZXJhdGlvbl9FSnNjQykoRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCopOwor
dHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUpz
Y0NKKShFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUpOwogdHlw
ZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNTKShF
eGVjU3RhdGUqLCBzaXplX3QsIHNpemVfdCk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9P
UEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FU3NpQ0kpKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0
dWJJbmZvKiwgSlNDZWxsKiwgU3RyaW5nSW1wbCopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBK
SVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNzaUpJKShFeGVjU3RhdGUqLCBTdHJ1Y3R1
cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlLCBTdHJpbmdJbXBsKik7CkBAIC0yNzgsNiArMjc5
LDkgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJheVdpdGhQ
cm9maWxlKEV4ZWNTdGF0ZSosIEFycmF5QWxsb2MKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uTmV3QXJyYXlCdWZmZXJXaXRoUHJvZmlsZShFeGVjU3RhdGUqLCBBcnJheUFs
bG9jYXRpb25Qcm9maWxlKiwgY29uc3QgSlNWYWx1ZSogdmFsdWVzLCBpbnQzMl90IHNpemUpIFdU
Rl9JTlRFUk5BTDsKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJy
YXlXaXRoU2l6ZUFuZFByb2ZpbGUoRXhlY1N0YXRlKiwgQXJyYXlBbGxvY2F0aW9uUHJvZmlsZSos
IEVuY29kZWRKU1ZhbHVlIHNpemUpIFdURl9JTlRFUk5BTDsKIEVuY29kZWRKU1ZhbHVlIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uTmV3RnVuY3Rpb24oRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2Vs
bCopIFdURl9JTlRFUk5BTDsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
RW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKEV4
ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVSTkFM
OworI2VuZGlmCiBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3T2JqZWN0KEV4ZWNT
dGF0ZSosIFN0cnVjdHVyZSopIFdURl9JTlRFUk5BTDsKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uTmV3UmVnZXhwKEV4ZWNTdGF0ZSosIHZvaWQqKSBXVEZfSU5URVJOQUw7
CiB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFuZGxlV2F0Y2hkb2dUaW1lcihFeGVjU3Rh
dGUqKSBXVEZfSU5URVJOQUw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTExJbnRTbG93UGF0aHMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50
U2xvd1BhdGhzLmNwcAppbmRleCBkYjQzMTBlYzU2OTllZjllZGM5OGM1MzNjMjk5NGNmYmM1YjM5
MzFkLi5hYTAwMGIwMTc3ZGNlMzQ5NDllZjhlOTdkMzcyNTdkZmJkZTQzZGU4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKQEAgLTM4LDYgKzM4
LDEwIEBACiAjaW5jbHVkZSAiSW50ZXJwcmV0ZXIuaCIKICNpbmNsdWRlICJKSVQuaCIKICNpbmNs
dWRlICJKSVRFeGNlcHRpb25zLmgiCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU0JvdW5kRnVuY3Rp
b24uaCIKKyNlbmRpZgogI2luY2x1ZGUgIkpTTGV4aWNhbEVudmlyb25tZW50LmgiCiAjaW5jbHVk
ZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKQEAgLTE3MSw2ICsxNzUs
MTUgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBMTEludCB7CiAgICAgICAgIExMSU5UX1JF
VFVSTl9UV08ocGMsIF9fcmNmX2V4ZWMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CiAgICAgfSB3aGlsZSAoZmFsc2UpCiAKKyAgICAKKyNkZWZpbmUgTExJTlRfQ0FMQ19QUk9QRVJU
WV9GT1JfRlVOQ19FWFBSKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIExMSU5UX0JFR0lOKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVj
LT5jb2RlQmxvY2soKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBK
U1Njb3BlKiBzY29wZSA9IGV4ZWMtPnVuY2hlY2tlZFIocGNbMl0udS5vcGVyYW5kKS5SZWdpc3Rl
cjo6c2NvcGUoKTsgICAgICAgXAorICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9
IGNvZGVCbG9jay0+ZnVuY3Rpb25FeHByKHBjWzNdLnUub3BlcmFuZCk7ICBcCisgICAgCitlbnVt
IEZ1bmN0aW9uRXhwcmVzc2lvblR5cGUgeyBBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblR5cGUsIENv
bW1vbkZ1bmN0aW9uRXhwcmVzc2lvblR5cGV9OworICAgIAogZXh0ZXJuICJDIiBTbG93UGF0aFJl
dHVyblR5cGUgbGxpbnRfdHJhY2Vfb3BlcmFuZChFeGVjU3RhdGUqIGV4ZWMsIEluc3RydWN0aW9u
KiBwYywgaW50IGZyb21XaGVyZSwgaW50IG9wZXJhbmQpCiB7CiAgICAgTExJTlRfQkVHSU4oKTsK
QEAgLTk4MCwxOCArOTkzLDMzIEBAIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdf
ZnVuYykKICNlbmRpZgogICAgIExMSU5UX1JFVFVSTihKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGNv
ZGVCbG9jay0+ZnVuY3Rpb25EZWNsKHBjWzNdLnUub3BlcmFuZCksIHNjb3BlKSk7CiB9Ci0KKyAg
ICAKIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuY19leHApCiB7Ci0gICAg
TExJTlRfQkVHSU4oKTsKLSAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVCbG9j
aygpOwotICAgIEpTU2NvcGUqIHNjb3BlID0gZXhlYy0+dW5jaGVja2VkUihwY1syXS51Lm9wZXJh
bmQpLlJlZ2lzdGVyOjpzY29wZSgpOwotICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZnVuY3Rpb24g
PSBjb2RlQmxvY2stPmZ1bmN0aW9uRXhwcihwY1szXS51Lm9wZXJhbmQpOwotICAgIEpTRnVuY3Rp
b24qIGZ1bmMgPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGZ1bmN0aW9uLCBzY29wZSk7Ci0gICAg
CisgICAgTExJTlRfQ0FMQ19QUk9QRVJUWV9GT1JfRlVOQ19FWFBSKCk7CisKKyAgICBKU0Z1bmN0
aW9uKiBmdW5jID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBleGVjdXRhYmxlLCBzY29wZSk7CiAg
ICAgTExJTlRfUkVUVVJOKGZ1bmMpOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKK0xMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19l
eHApCit7CisgICAgTExJTlRfQ0FMQ19QUk9QRVJUWV9GT1JfRlVOQ19FWFBSKCk7CisgICAgCisg
ICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBMTElOVF9PUF9DKDQpLmpzVmFsdWUoKTsKKyAgICBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZXhlYy0+Y2FsbGVlKCktPmdsb2JhbE9iamVjdCgp
OworICAgIAorICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Fycm93RnVuY3Rpb246OmNyZWF0ZSh2
bSwgc2NvcGUsIGV4ZWN1dGFibGUsIGdsb2JhbE9iamVjdCk7CisgICAgCisgICAgSlNBcnJheSog
Ym91bmRBcmdzID0gSlNBcnJheTo6dHJ5Q3JlYXRlVW5pbml0aWFsaXplZCh2bSwgZ2xvYmFsT2Jq
ZWN0LT5hcnJheVN0cnVjdHVyZUZvckluZGV4aW5nVHlwZUR1cmluZ0FsbG9jYXRpb24oQXJyYXlX
aXRoVW5kZWNpZGVkKSwgMCk7CisgICAgCisgICAgY29uc3QgU3RyaW5nIGZ1bmNXaXRob3V0TmFt
ZSA9ICIiOworICAgIAorICAgIExMSU5UX1JFVFVSTihKU0JvdW5kRnVuY3Rpb246OmNyZWF0ZSh2
bSwgZ2xvYmFsT2JqZWN0LCBmdW5jLCB0aGlzVmFsdWUsIGJvdW5kQXJncywgMCwgZnVuY1dpdGhv
dXROYW1lKSk7Cit9CisjZW5kaWYKKwogc3RhdGljIFNsb3dQYXRoUmV0dXJuVHlwZSBoYW5kbGVI
b3N0Q2FsbChFeGVjU3RhdGUqIGV4ZWNDYWxsZWUsIEluc3RydWN0aW9uKiBwYywgSlNWYWx1ZSBj
YWxsZWUsIENvZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCkKIHsKICAgICBVTlVTRURfUEFSQU0o
cGMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1Bh
dGhzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaAppbmRl
eCA0YmY3ZGViMGZhMGI2YzY0MzhlMzZmOTYzMjBlMmY2Njk3MzlhZjY0Li5jN2ZhYjk2OTFjMThi
OTM5NTZkMGVhMjlmMzM5NTYxMThjNWU3MWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTExJbnRTbG93UGF0aHMuaApAQCAtOTYsNiArOTYsNyBAQCBMTElOVF9TTE9XX1BBVEhf
SElEREVOX0RFQ0woc2xvd19wYXRoX3N3aXRjaF9jaGFyKTsKIExMSU5UX1NMT1dfUEFUSF9ISURE
RU5fREVDTChzbG93X3BhdGhfc3dpdGNoX3N0cmluZyk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVO
X0RFQ0woc2xvd19wYXRoX25ld19mdW5jKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChz
bG93X3BhdGhfbmV3X2Z1bmNfZXhwKTsKK0xMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93
X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChz
bG93X3BhdGhfY2FsbCk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX2Nv
bnN0cnVjdCk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3NpemVfZnJh
bWVfZm9yX3ZhcmFyZ3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtCmluZGV4IDQzZWQ3ZThmMmUxODc0OTJlZjBiMDg1NWVjZmI3
MjY3OTg1OTE3N2EuLmU4YWNjMjA3ZGViMThkYzg0OWQ5OWEzMGJiNGJkNDI5MmU4NzFhNDQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc20KQEAgLTExNzEsNiArMTE3MSwxMCBAQCBfbGxpbnRfb3BfbmV3X2Z1bmNfZXhwOgogICAg
IGNhbGxTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX25ld19mdW5jX2V4cCkKICAgICBkaXNwYXRj
aCg0KQogCitfbGxpbnRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorICAgIHRyYWNlRXhlY3V0aW9u
KCkKKyAgICBjYWxsU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHAp
CisgICAgZGlzcGF0Y2goNSkKIAogX2xsaW50X29wX2NhbGw6CiAgICAgdHJhY2VFeGVjdXRpb24o
KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAppbmRleCBjNDhlNDFj
NTg2NWRmZDUwMDc0ZjQ5ZGJhMTNkYzc0NjI5NjYzZWQxLi44ZDI4NmVjNWE0NGEwOGY2YjBjY2Nl
MDRhYmVkYTliOTgwOGJjYTVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL0FTVEJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1
aWxkZXIuaApAQCAtMzEzLDYgKzMxMywxOSBAQCBwdWJsaWM6CiAgICAgICAgICAgICBpblN0cmlj
dENvbnRleHQsIGNvbnN0cnVjdG9yS2luZCk7CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBFeHByZXNzaW9uTm9kZSogY3JlYXRlQXJyb3dGdW5jdGlv
bkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29uc3QgUGFyc2VyRnVuY3Rp
b25JbmZvPEFTVEJ1aWxkZXI+JiBpbmZvKQorICAgIHsKKyAgICAgICAgU291cmNlQ29kZSBzb3Vy
Y2UgPSBpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUV4cHJl
c3Npb24KKyAgICAgICAgPyBtX3NvdXJjZUNvZGUtPnN1YkFycm93RXhwcmVzc2lvbihpbmZvLmFy
cm93RnVuY3Rpb25PZmZzZXQsIGluZm8uY2xvc2VCcmFjZU9mZnNldCwgaW5mby5ib2R5U3RhcnRM
aW5lLCBpbmZvLmJvZHlTdGFydENvbHVtbikKKyAgICAgICAgOiBtX3NvdXJjZUNvZGUtPnN1YkV4
cHJlc3Npb24oaW5mby5vcGVuQnJhY2VPZmZzZXQsIGluZm8uY2xvc2VCcmFjZU9mZnNldCwgaW5m
by5ib2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlTdGFydENvbHVtbik7CisKKyAgICAgICAgQXJyb3dG
dW5jRXhwck5vZGUqIHJlc3VsdCA9IG5ldyAobV9wYXJzZXJBcmVuYSkgQXJyb3dGdW5jRXhwck5v
ZGUobG9jYXRpb24sICppbmZvLm5hbWUsIGluZm8uYm9keSwgc291cmNlLCBpbmZvLnBhcmFtZXRl
cnMpOworICAgICAgICBpbmZvLmJvZHktPnNldExvYyhpbmZvLmJvZHlTdGFydExpbmUsIGluZm8u
Ym9keUVuZExpbmUsIGxvY2F0aW9uLnN0YXJ0T2Zmc2V0LCBsb2NhdGlvbi5saW5lU3RhcnRPZmZz
ZXQpOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKyNlbmRpZgorCiAgICAgTkVWRVJf
SU5MSU5FIFByb3BlcnR5Tm9kZSogY3JlYXRlR2V0dGVyT3JTZXR0ZXJQcm9wZXJ0eShjb25zdCBK
U1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBQcm9wZXJ0eU5vZGU6OlR5cGUgdHlwZSwgYm9vbCwK
ICAgICAgICAgY29uc3QgSWRlbnRpZmllciogbmFtZSwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZv
PEFTVEJ1aWxkZXI+JiBpbmZvLCBTdXBlckJpbmRpbmcgc3VwZXJCaW5kaW5nKQogICAgIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKaW5kZXggN2RlMTQyMjBiYmRhNzI3Mzhi
NTczYTRiOTc4OGNlMGIzMmNjN2NlMy4uNTQwZjlmZmI3YmI1MTgyOWQ2N2RlZWRlYzVlNmE4ZWQ1
MWNjNDQxNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKQEAgLTE0MzAs
NiArMTQzMCwxOCBAQCBib29sIExleGVyPFQ+OjpuZXh0VG9rZW5Jc0NvbG9uKCkKICAgICByZXR1
cm4gY29kZSA8IG1fY29kZUVuZCAmJiAqY29kZSA9PSAnOic7CiB9CiAKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIFQ+Cit2b2lkIExleGVy
PFQ+OjpzZXRUb2tlblBvc2l0aW9uKEpTVG9rZW4qIHRva2VuUmVjb3JkKQoreworICAgIEpTVG9r
ZW5EYXRhKiB0b2tlbkRhdGEgPSAmdG9rZW5SZWNvcmQtPm1fZGF0YTsKKyAgICB0b2tlbkRhdGEt
PmxpbmUgPSBsaW5lTnVtYmVyKCk7CisgICAgdG9rZW5EYXRhLT5vZmZzZXQgPSBjdXJyZW50T2Zm
c2V0KCk7CisgICAgdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50TGluZVN0YXJ0
T2Zmc2V0KCk7CisgICAgQVNTRVJUKHRva2VuRGF0YS0+b2Zmc2V0ID49IHRva2VuRGF0YS0+bGlu
ZVN0YXJ0T2Zmc2V0KTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KIEpTVG9r
ZW5UeXBlIExleGVyPFQ+OjpsZXgoSlNUb2tlbiogdG9rZW5SZWNvcmQsIHVuc2lnbmVkIGxleGVy
RmxhZ3MsIGJvb2wgc3RyaWN0TW9kZSkKIHsKQEAgLTE0OTMsNyArMTUwNSwxMiBAQCBzdGFydDoK
ICAgICAgICAgfQogICAgICAgICB0b2tlbiA9IEdUOwogICAgICAgICBicmVhazsKLSAgICBjYXNl
IENoYXJhY3RlckVxdWFsOgorICAgIGNhc2UgQ2hhcmFjdGVyRXF1YWw6IHsKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB1aW50MzJfdCBzYXZlZGxpbmVOdW1i
ZXIgPSB0b2tlbkRhdGEtPmxpbmU7CisgICAgICAgIHVpbnQzMl90IHNhdmVkT2Zmc2V0ID0gY3Vy
cmVudE9mZnNldCgpOworICAgICAgICB1aW50MzJfdCBzYXZlZExpbmVTdGFydE9mZnNldCA9IGN1
cnJlbnRMaW5lU3RhcnRPZmZzZXQoKTsKKyNlbmRpZgogICAgICAgICBzaGlmdCgpOwogICAgICAg
ICBpZiAobV9jdXJyZW50ID09ICc9JykgewogICAgICAgICAgICAgc2hpZnQoKTsKQEAgLTE1MDUs
OCArMTUyMiwyMiBAQCBzdGFydDoKICAgICAgICAgICAgIHRva2VuID0gRVFFUTsKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnPicpIHsKKyAgICAgICAgICAgIHNoaWZ0KCk7
CisgICAgICAgICAgICB0b2tlbiA9IEFSUk9XRlVOQ1RJT047CisKKyAgICAgICAgICAgIHRva2Vu
RGF0YS0+bGluZSA9IHNhdmVkbGluZU51bWJlcjsKKyAgICAgICAgICAgIHRva2VuRGF0YS0+b2Zm
c2V0ID0gc2F2ZWRPZmZzZXQ7CisgICAgICAgICAgICB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNl
dCA9IHNhdmVkTGluZVN0YXJ0T2Zmc2V0OworCisgICAgICAgICAgICBBU1NFUlQodG9rZW5EYXRh
LT5vZmZzZXQgPj0gdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQpOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICB0b2tlbiA9IEVRVUFMOwogICAgICAgICBi
cmVhazsKKyAgICB9CiAgICAgY2FzZSBDaGFyYWN0ZXJMZXNzOgogICAgICAgICBzaGlmdCgpOwog
ICAgICAgICBpZiAobV9jdXJyZW50ID09ICchJyAmJiBwZWVrKDEpID09ICctJyAmJiBwZWVrKDIp
ID09ICctJykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhl
ci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCmluZGV4IDJkZjUyMTM5
OTU3ODIwMDc4NWExNjZlMjJhNzMyNzVlMGVhNjMwNGQuLmNiM2YyNWY3YzA4ZjgyNTgxYWYyY2U4
ZmE5OTk5N2ZhZGUwNzY2ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvTGV4ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKQEAg
LTg1LDYgKzg1LDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SXNSZXBhcnNpbmcoKSB7IG1faXNS
ZXBhcnNpbmcgPSB0cnVlOyB9CiAgICAgYm9vbCBpc1JlcGFyc2luZygpIGNvbnN0IHsgcmV0dXJu
IG1faXNSZXBhcnNpbmc7IH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgdm9pZCBzZXRUb2tlblBvc2l0aW9uKEpTVG9rZW4qIHRva2VuUmVjb3JkKTsKKyNlbmRp
ZgogICAgIEpTVG9rZW5UeXBlIGxleChKU1Rva2VuKiwgdW5zaWduZWQsIGJvb2wgc3RyaWN0TW9k
ZSk7CiAgICAgYm9vbCBuZXh0VG9rZW5Jc0NvbG9uKCk7CiAgICAgaW50IGxpbmVOdW1iZXIoKSBj
b25zdCB7IHJldHVybiBtX2xpbmVOdW1iZXI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKaW5kZXggMDU3YmMzZDkyODA5ZjQ2YjA2MjcxYWMw
MTJhYmVjZDZjODhhNjg0YS4uOWVlMWY5ZGI4YjEzYjJiYjBkNDRhMjI5Y2U4MjdjZTEzZjQ0Zjcz
NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0
b3JzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3Jz
LmgKQEAgLTc4MCw2ICs3ODAsMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIG1fYm9keS0+
ZmluaXNoUGFyc2luZyhzb3VyY2UsIHBhcmFtZXRlciwgaWRlbnQsIEZ1bmN0aW9uRXhwcmVzc2lv
bik7CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBp
bmxpbmUgQXJyb3dGdW5jRXhwck5vZGU6OkFycm93RnVuY0V4cHJOb2RlKGNvbnN0IEpTVG9rZW5M
b2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBGdW5jdGlvbkJvZHlO
b2RlKiBib2R5LCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIFBhcmFtZXRlck5vZGUqIHBhcmFt
ZXRlcikKKyAgICAgICAgOiBGdW5jRXhwck5vZGUobG9jYXRpb24sIGlkZW50LCBib2R5LCBzb3Vy
Y2UsIHBhcmFtZXRlcikKKyAgICB7CisgICAgfQorI2VuZGlmCisgICAgCiAgICAgaW5saW5lIEZ1
bmNEZWNsTm9kZTo6RnVuY0RlY2xOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24s
IGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBGdW5jdGlvbkJvZHlOb2RlKiBib2R5LCBjb25zdCBT
b3VyY2VDb2RlJiBzb3VyY2UsIFBhcmFtZXRlck5vZGUqIHBhcmFtZXRlcikKICAgICAgICAgOiBT
dGF0ZW1lbnROb2RlKGxvY2F0aW9uKQogICAgICAgICAsIG1fYm9keShib2R5KQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9Ob2Rlcy5oCmluZGV4IDM2OTQxMjBiMDY4ZjdjOTJmNjk4ZWE3ZDVlYTIz
YzAyOTc2NzliZWUuLjE2OGMzNGQ3MTMyNDRhYmUyNmM5MzYyMTliYmQzZmU4MDYzMjNmOTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKQEAgLTE1OCw2ICsxNTgsOSBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgdmlydHVhbCBib29sIGlzRG90QWNjZXNzb3JOb2RlKCkgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzRGVjb25zdHJ1Y3Rp
b25Ob2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlz
RnVuY0V4cHJOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNBcnJvd0Z1bmNFeHBy
Tm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjZW5kaWYKICAgICAgICAgdmlydHVhbCBi
b29sIGlzQ29tbWFOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVh
bCBib29sIGlzU2ltcGxlQXJyYXkoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2
aXJ0dWFsIGJvb2wgaXNBZGQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpAQCAtMTY1MSw2ICsx
NjU0LDE5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBGdW5jdGlvbkJvZHlOb2RlKiBtX2Jv
ZHk7CiAgICAgfTsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAg
Y2xhc3MgQXJyb3dGdW5jRXhwck5vZGUgOiBwdWJsaWMgRnVuY0V4cHJOb2RlIHsKKyAgICBwdWJs
aWM6CisgICAgICAgIEFycm93RnVuY0V4cHJOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNv
bnN0IElkZW50aWZpZXImLCBGdW5jdGlvbkJvZHlOb2RlKiwgY29uc3QgU291cmNlQ29kZSYsIFBh
cmFtZXRlck5vZGUqID0gMCk7CisgICAgcHJpdmF0ZToKKyAgICAgICAgdmlydHVhbCBSZWdpc3Rl
cklEKiBlbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImLCBSZWdpc3RlcklEKiA9IDApIG92
ZXJyaWRlOworICAgICAgICAKKyAgICAgICAgdmlydHVhbCBib29sIGlzRnVuY0V4cHJOb2RlKCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKyAgICAgICAgCisgICAgICAgIHZpcnR1
YWwgYm9vbCBpc0Fycm93RnVuY0V4cHJOb2RlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1
ZTsgfQorICAgIH07CisjZW5kaWYKKwogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogICAg
IGNsYXNzIENsYXNzRXhwck5vZGUgZmluYWwgOiBwdWJsaWMgRXhwcmVzc2lvbk5vZGUgewogICAg
IHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2Vy
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAppbmRleCA1ZjUx
ZGEyNGI0Mzg1MzliN2Q1YjBmNDk1NDE0OTA5NTQ2MjcyNzI2Li5lNDZmNzk5MjVhYzYzYmNmYjg2
ODRlYzk0Yzk1ZTVjMzU4NDU0YzQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1BhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJz
ZXIuY3BwCkBAIC0zMjgsOCArMzI4LDEzIEBAIGJvb2wgUGFyc2VyPExleGVyVHlwZT46OmFsbG93
QXV0b21hdGljU2VtaWNvbG9uKCkKICAgICByZXR1cm4gbWF0Y2goQ0xPU0VCUkFDRSkgfHwgbWF0
Y2goRU9GVE9LKSB8fCBtX2xleGVyLT5wcmV2VGVybWluYXRvcigpOwogfQogCisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+
Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYgY29udGV4dCwgU291
cmNlRWxlbWVudHNNb2RlIG1vZGUsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBl
KQorI2Vsc2UKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VT
b3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYgY29udGV4dCwgU291cmNlRWxlbWVudHNNb2RlIG1v
ZGUpCisjZW5kaWYKIHsKICAgICBjb25zdCB1bnNpZ25lZCBsZW5ndGhPZlVzZVN0cmljdExpdGVy
YWwgPSAxMjsgLy8gInVzZSBzdHJpY3QiLmxlbmd0aAogICAgIFRyZWVTb3VyY2VFbGVtZW50cyBz
b3VyY2VFbGVtZW50cyA9IGNvbnRleHQuY3JlYXRlU291cmNlRWxlbWVudHMoKTsKQEAgLTMzOCw3
ICszNDMsMTEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVu
dHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWwKICAgICB1bnNpZ25lZCBkaXJlY3Rp
dmVMaXRlcmFsTGVuZ3RoID0gMDsKICAgICBhdXRvIHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2lu
dCgpOwogICAgIGJvb2wgaGFzU2V0U3RyaWN0ID0gZmFsc2U7CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB3aGlsZSAoVHJlZVN0YXRlbWVudCBzdGF0ZW1lbnQgPSBw
YXJzZVN0YXRlbWVudChjb250ZXh0LCBkaXJlY3RpdmUsICZkaXJlY3RpdmVMaXRlcmFsTGVuZ3Ro
LCBmdW5jdGlvblBhcnNlVHlwZSkpIHsKKyNlbHNlCiAgICAgd2hpbGUgKFRyZWVTdGF0ZW1lbnQg
c3RhdGVtZW50ID0gcGFyc2VTdGF0ZW1lbnQoY29udGV4dCwgZGlyZWN0aXZlLCAmZGlyZWN0aXZl
TGl0ZXJhbExlbmd0aCkpIHsKKyNlbmRpZgogICAgICAgICBpZiAobW9kZSA9PSBDaGVja0ZvclN0
cmljdE1vZGUgJiYgIXNlZW5Ob25EaXJlY3RpdmUpIHsKICAgICAgICAgICAgIGlmIChkaXJlY3Rp
dmUpIHsKICAgICAgICAgICAgICAgICAvLyAidXNlIHN0cmljdCIgbXVzdCBiZSB0aGUgZXhhY3Qg
bGl0ZXJhbCB3aXRob3V0IGVzY2FwZSBzZXF1ZW5jZXMgb3IgbGluZSBjb250aW51YXRpb24uCkBA
IC01NzAsNiArNTc5LDMxIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlY29u
c3RydWN0aW9uUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6Y3JlYXRlCiAgICAgcmV0dXJuIGNv
bnRleHQuY3JlYXRlQmluZGluZ0xvY2F0aW9uKHRva2VuLm1fbG9jYXRpb24sIG5hbWUsIHRva2Vu
Lm1fc3RhcnRQb3NpdGlvbiwgdG9rZW4ubV9lbmRQb3NpdGlvbik7CiB9CiAKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4K
K3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0KQor
eworICAgIEFTU0VSVChtYXRjaChBUlJPV0ZVTkNUSU9OKSk7CisKKyAgICBKU1Rva2VuTG9jYXRp
b24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9
IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgIEpTVGV4dFBvc2l0aW9uIGVuZCA9IHRva2VuRW5k
UG9zaXRpb24oKTsKKworICAgIG5leHQoKTsKKyAgICBUcmVlRXhwcmVzc2lvbiBleHByID0gcGFy
c2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICBmYWlsSWZGYWxzZShleHBy
LCAiQ2Fubm90IHBhcnNlIHRoZSBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgZW5k
ID0gbGFzdFRva2VuRW5kUG9zaXRpb24oKTsKKworICAgIGJvb2wgY29ycmVjQXJyb3dGaW5pc2gg
PSBpc0VuZE9mQXJyb3dGdW5jdGlvbigpIHx8IG1hdGNoKEVPRlRPSyk7CisgICAgZmFpbElmRmFs
c2UoY29ycmVjQXJyb3dGaW5pc2gsICJFeHBlY3RlZCBhICc7JywgJ10nLCAnfScsICcpJywgb3Ig
JywnIGZvbGxvd2luZyBhIGFycm93IGZ1bmN0aW9uIHN0YXRlbWVudCIpOworCisgICAgZW5kID0g
dG9rZW5FbmRQb3NpdGlvbigpOworICAgIHNldEVuZE9mU3RhdGVtZW50KCk7CisKKyAgICByZXR1
cm4gY29udGV4dC5jcmVhdGVSZXR1cm5TdGF0ZW1lbnQobG9jYXRpb24sIGV4cHIsIHN0YXJ0LCBl
bmQpOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gUGFyc2VyPExl
eGVyVHlwZT46OnRyeVBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuRXhwcmVzc2lvbihUcmVlQnVp
bGRlciYgY29udGV4dCkKIHsKQEAgLTExNDMsOCArMTE3NywxMyBAQCB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQmxvY2tT
dGF0ZW1lbgogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VT
dGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3Rp
dmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoLCBGdW5jdGlvblBhcnNlVHlwZSB0
eXBlKQorI2Vsc2UKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3Rh
dGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZl
LCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCkKKyNlbmRpZgogewogICAgIERlcHRo
TWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7CiAgICAgbV9zdGF0ZW1l
bnREZXB0aCsrOwpAQCAtMTE1Myw2ICsxMTkyLDI3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJl
CiAgICAgZmFpbElmU3RhY2tPdmVyZmxvdygpOwogICAgIFRyZWVTdGF0ZW1lbnQgcmVzdWx0ID0g
MDsKICAgICBib29sIHNob3VsZFNldEVuZE9mZnNldCA9IHRydWU7CisKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGJvb2wgaGFuZGxlZCA9IGZhbHNlOworICAgIGlm
ICh0eXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgc3dpdGNoIChtX3Rv
a2VuLm1fdHlwZSkgeworICAgICAgICBjYXNlIENMT1NFUEFSRU46CisgICAgICAgIGNhc2UgQ0xP
U0VCUkFDS0VUOgorICAgICAgICBjYXNlIENPTU1BOgorICAgICAgICBjYXNlIFNFTUlDT0xPTjog
eworICAgICAgICAgICAgcmVzdWx0ID0gMDsKKyAgICAgICAgICAgIGhhbmRsZWQgPSB0cnVlOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgaWYgKGhhbmRsZWQpCisgICAgICAgICAg
ICBnb3RvIGVuZFN0YXRlbWVuZXQ7CisgICAgfQorI2VuZGlmCiAgICAgc3dpdGNoIChtX3Rva2Vu
Lm1fdHlwZSkgewogICAgIGNhc2UgT1BFTkJSQUNFOgogICAgICAgICByZXN1bHQgPSBwYXJzZUJs
b2NrU3RhdGVtZW50KGNvbnRleHQpOwpAQCAtMTE5OCw2ICsxMjU4LDExIEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VT
dGF0ZW1lbnQoVHJlCiAgICAgY2FzZSBCUkVBSzoKICAgICAgICAgcmVzdWx0ID0gcGFyc2VCcmVh
a1N0YXRlbWVudChjb250ZXh0KTsKICAgICAgICAgYnJlYWs7CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIEFSUk9XRlVOQ1RJT046CisgICAgICAgIHJlc3Vs
dCA9IHBhcnNlQXJyb3dGdW5jdGlvblN0YXRlbWVudChjb250ZXh0KTsKKyAgICAgICAgYnJlYWs7
CisjZW5kaWYKICAgICBjYXNlIFJFVFVSTjoKICAgICAgICAgcmVzdWx0ID0gcGFyc2VSZXR1cm5T
dGF0ZW1lbnQoY29udGV4dCk7CiAgICAgICAgIGJyZWFrOwpAQCAtMTIzOSw2ICsxMzA0LDggQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZVN0YXRlbWVudChUcmUKICAgICAgICAgYnJlYWs7CiAgICAgfQogCitlbmRTdGF0
ZW1lbmV0OgorCiAgICAgaWYgKHJlc3VsdCAmJiBzaG91bGRTZXRFbmRPZmZzZXQpCiAgICAgICAg
IGNvbnRleHQuc2V0RW5kT2Zmc2V0KHJlc3VsdCwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5vZmZz
ZXQpOwogICAgIHJldHVybiByZXN1bHQ7CkBAIC0xMjU5LDIzICsxMzI2LDQ0IEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUZvcm1hbFBhcmFtZXRlckxpc3QgUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlRm9yCiAgICAgcmV0dXJuIGxpc3Q7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUZ1bmN0aW9uQm9keSBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VGdW5jdGlvbkJvZHkoCiAgICAgVHJlZUJ1aWxkZXImIGNvbnRleHQsIGludCBmdW5j
dGlvbktleXdvcmRTdGFydCwgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCAKKyAgICBpbnQgcGFyYW1l
dGVyc1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kLCBGdW5jdGlvblBhcnNl
VHlwZSBwYXJzZVR5cGUpCisjZWxzZQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3Rl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUZ1bmN0aW9uQm9keSBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VGdW5jdGlvbkJvZHkoCisgICAgVHJlZUJ1aWxkZXImIGNvbnRleHQsIGludCBm
dW5jdGlvbktleXdvcmRTdGFydCwgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0LAogICAgIGludCBwYXJh
bWV0ZXJzU3RhcnQsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQpCisjZW5kaWYKIHsK
ICAgICBKU1Rva2VuTG9jYXRpb24gc3RhcnRMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwogICAg
IHVuc2lnbmVkIHN0YXJ0Q29sdW1uID0gdG9rZW5Db2x1bW4oKTsKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlmIChwYXJzZVR5cGUgPT0gU3RhbmRhcmRGdW5jdGlv
blBhcnNlVHlwZSkgeworICAgICAgICBuZXh0KCk7CisgICAgICAgIGlmIChtYXRjaChDTE9TRUJS
QUNFKSkgeworICAgICAgICAgICAgdW5zaWduZWQgZW5kQ29sdW1uID0gdG9rZW5Db2x1bW4oKTsK
KyAgICAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uQm9keShzdGFydExvY2F0
aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0YXJ0Q29sdW1uLCBlbmRDb2x1bW4sIGZ1bmN0aW9uS2V5
d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBzdHJpY3RNb2Rl
KCksIGNvbnN0cnVjdG9yS2luZCk7CisgICAgICAgIH0KKyAgICB9CisjZWxzZQogICAgIG5leHQo
KTsKLQogICAgIGlmIChtYXRjaChDTE9TRUJSQUNFKSkgewogICAgICAgICB1bnNpZ25lZCBlbmRD
b2x1bW4gPSB0b2tlbkNvbHVtbigpOwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5j
dGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5k
Q29sdW1uLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRl
cnNTdGFydCwgc3RyaWN0TW9kZSgpLCBjb25zdHJ1Y3RvcktpbmQpOwogICAgIH0KKyNlbmRpZgor
CiAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKICAg
ICBtX3N0YXRlbWVudERlcHRoID0gMDsKICAgICB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6RnVuY3Rp
b25Cb2R5QnVpbGRlciBib2R5QnVpbGRlcihjb25zdF9jYXN0PFZNKj4obV92bSksIG1fbGV4ZXIu
Z2V0KCkpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgZmFpbElm
RmFsc2UocGFyc2VTb3VyY2VFbGVtZW50cyhib2R5QnVpbGRlciwgQ2hlY2tGb3JTdHJpY3RNb2Rl
LCBwYXJzZVR5cGUpLCBwYXJzZVR5cGUgPT0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSA/ICJD
YW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGZ1bmN0aW9uIiA6ICJDYW5ub3QgcGFyc2UgYm9keSBv
ZiB0aGlzIGFycm93IGZ1bmN0aW9uIik7CisjZWxzZQogICAgIGZhaWxJZkZhbHNlKHBhcnNlU291
cmNlRWxlbWVudHMoYm9keUJ1aWxkZXIsIENoZWNrRm9yU3RyaWN0TW9kZSksICJDYW5ub3QgcGFy
c2UgYm9keSBvZiB0aGlzIGZ1bmN0aW9uIik7CisjZW5kaWYKICAgICB1bnNpZ25lZCBlbmRDb2x1
bW4gPSB0b2tlbkNvbHVtbigpOwogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uQm9k
eShzdGFydExvY2F0aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0YXJ0Q29sdW1uLCBlbmRDb2x1bW4s
IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0
LCBzdHJpY3RNb2RlKCksIGNvbnN0cnVjdG9yS2luZCk7CiB9CkBAIC0xMjk2LDYwICsxMzg0LDEw
MyBAQCBzdGF0aWMgY29uc3QgY2hhciogc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKEZ1bmN0aW9uUGFy
c2VNb2RlIG1vZGUpCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5j
dGlvbkluZm8oVHJlZUJ1aWxkZXImIGNvbnRleHQsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzIHJlcXVp
cmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUgbW9kZSwKKyAgICBib29sIG5hbWVJc0luQ29udGFp
bmluZ1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQgb3duZXJDbGFzc0tpbmQsIGludCBmdW5jdGlvbktl
eXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYgaW5mbywgRnVuY3Rp
b25QYXJzZVR5cGUgcGFyc2VUeXBlKQorI2Vsc2UKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5
cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblJlcXVpcmVt
ZW50cyByZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUsCiAgICAgYm9vbCBuYW1l
SXNJbkNvbnRhaW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kIG93bmVyQ2xhc3NLaW5kLCBpbnQg
ZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mIGlu
Zm8pCisjZW5kaWYKIHsKICAgICBBdXRvUG9wU2NvcGVSZWYgZnVuY3Rpb25TY29wZSh0aGlzLCBw
dXNoU2NvcGUoKSk7CiAgICAgZnVuY3Rpb25TY29wZS0+c2V0SXNGdW5jdGlvbigpOwogICAgIGlu
dCBmdW5jdGlvbk5hbWVTdGFydCA9IG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKICAg
ICBjb25zdCBJZGVudGlmaWVyKiBsYXN0RnVuY3Rpb25OYW1lID0gbV9sYXN0RnVuY3Rpb25OYW1l
OwogICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IG51bGxwdHI7Ci0gICAgaWYgKG1hdGNoKElERU5U
KSkgewotICAgICAgICBpbmZvLm5hbWUgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKLSAgICAgICAg
bV9sYXN0RnVuY3Rpb25OYW1lID0gaW5mby5uYW1lOwotICAgICAgICBuZXh0KCk7Ci0gICAgICAg
IGlmICghbmFtZUlzSW5Db250YWluaW5nU2NvcGUpCi0gICAgICAgICAgICBmYWlsSWZGYWxzZUlm
U3RyaWN0KGZ1bmN0aW9uU2NvcGUtPmRlY2xhcmVWYXJpYWJsZShpbmZvLm5hbWUpLCAiJyIsIGlu
Zm8ubmFtZS0+aW1wbCgpLCAiJyBpcyBub3QgYSB2YWxpZCAiLCBzdHJpbmdGb3JGdW5jdGlvbk1v
ZGUobW9kZSksICIgbmFtZSBpbiBzdHJpY3QgbW9kZSIpOwotICAgIH0gZWxzZSBpZiAocmVxdWly
ZW1lbnRzID09IEZ1bmN0aW9uTmVlZHNOYW1lKSB7CisgICAgaW50IHBhcmFtZXRlcnNTdGFydDsK
KyAgICBib29sIGlzQ2xhc3NDb25zdHJ1Y3RvcjsKKyAgICAKKyAgICBpZiAocGFyc2VUeXBlID09
IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgaWYgKG1hdGNoKElERU5UKSkg
eworICAgICAgICAgICAgaW5mby5uYW1lID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CisgICAgICAg
ICAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBpbmZvLm5hbWU7CisgICAgICAgICAgICBuZXh0KCk7
CisgICAgICAgICAgICBpZiAoIW5hbWVJc0luQ29udGFpbmluZ1Njb3BlKQorICAgICAgICAgICAg
ICAgIGZhaWxJZkZhbHNlSWZTdHJpY3QoZnVuY3Rpb25TY29wZS0+ZGVjbGFyZVZhcmlhYmxlKGlu
Zm8ubmFtZSksICInIiwgaW5mby5uYW1lLT5pbXBsKCksICInIGlzIG5vdCBhIHZhbGlkICIsIHN0
cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIGluIHN0cmljdCBtb2RlIik7CisgICAg
ICAgIH0gZWxzZSBpZiAocmVxdWlyZW1lbnRzID09IEZ1bmN0aW9uTmVlZHNOYW1lKSB7CiAgICAg
ICAgIGlmIChtYXRjaChPUEVOUEFSRU4pICYmIG1vZGUgPT0gRnVuY3Rpb25Nb2RlKQogICAgICAg
ICAgICAgc2VtYW50aWNGYWlsKCJGdW5jdGlvbiBzdGF0ZW1lbnRzIG11c3QgaGF2ZSBhIG5hbWUi
KTsKLSAgICAgICAgc2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9u
TW9kZShtb2RlKSwgIiBuYW1lIik7Ci0gICAgICAgIGZhaWxEdWVUb1VuZXhwZWN0ZWRUb2tlbigp
OwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIGludCBwYXJhbWV0ZXJzU3RhcnQg
PSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7Ci0gICAgaWYgKCFjb25zdW1lKE9QRU5Q
QVJFTikpIHsKLSAgICAgICAgc2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1
bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7Ci0gICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhw
ZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1v
ZGUpLCAiJ3MgcGFyYW1ldGVyIGxpc3QiKTsKLSAgICB9Ci0KLSAgICBpZiAobW9kZSA9PSBHZXR0
ZXJNb2RlKQotICAgICAgICBjb25zdW1lT3JGYWlsKENMT1NFUEFSRU4sICJnZXR0ZXIgZnVuY3Rp
b25zIG11c3QgaGF2ZSBubyBwYXJhbWV0ZXJzIik7Ci0gICAgZWxzZSBpZiAobW9kZSA9PSBTZXR0
ZXJNb2RlKSB7Ci0gICAgICAgIGZhaWxJZlRydWUobWF0Y2goQ0xPU0VQQVJFTiksICJzZXR0ZXIg
ZnVuY3Rpb25zIG11c3QgaGF2ZSBvbmUgcGFyYW1ldGVyIik7Ci0gICAgICAgIGF1dG8gcGFyYW1l
dGVyID0gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oY29udGV4dCwgRGVjb25zdHJ1Y3RUb1Bh
cmFtZXRlcnMpOwotICAgICAgICBmYWlsSWZGYWxzZShwYXJhbWV0ZXIsICJzZXR0ZXIgZnVuY3Rp
b25zIG11c3QgaGF2ZSBvbmUgcGFyYW1ldGVyIik7Ci0gICAgICAgIGluZm8ucGFyYW1ldGVycyA9
IGNvbnRleHQuY3JlYXRlRm9ybWFsUGFyYW1ldGVyTGlzdChwYXJhbWV0ZXIpOwotICAgICAgICBm
YWlsSWZUcnVlKG1hdGNoKENPTU1BKSwgInNldHRlciBmdW5jdGlvbnMgbXVzdCBoYXZlIG9uZSBw
YXJhbWV0ZXIiKTsKLSAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiRXhwZWN0ZWQg
YSAnKScgYWZ0ZXIgYSBwYXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsKLSAgICB9IGVsc2UgewotICAg
ICAgICBpZiAoIW1hdGNoKENMT1NFUEFSRU4pKSB7Ci0gICAgICAgICAgICBpbmZvLnBhcmFtZXRl
cnMgPSBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoY29udGV4dCk7Ci0gICAgICAgICAgICBmYWlsSWZG
YWxzZShpbmZvLnBhcmFtZXRlcnMsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAi
LCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOworICAgICAgICAgICAgc2VtYW50aWNGYWls
dXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7Cisg
ICAgICAgICAgICBmYWlsRHVlVG9VbmV4cGVjdGVkVG9rZW4oKTsKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICAgICAgfQorICAgICAgICBwYXJhbWV0ZXJzU3RhcnQgPSBtX3Rva2VuLm1f
bG9jYXRpb24uc3RhcnRPZmZzZXQ7CisgICAgICAgIAorICAgICAgICBpZiAoIWNvbnN1bWUoT1BF
TlBBUkVOKSkgeworICAgICAgICAgICAgc2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmlu
Z0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7CisgICAgICAgICAgICBmYWlsV2l0aE1l
c3NhZ2UoIkV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhICIsIHN0cmluZ0ZvckZ1bmN0
aW9uTW9kZShtb2RlKSwgIidzIHBhcmFtZXRlciBsaXN0Iik7CiAgICAgICAgIH0KLSAgICAgICAg
Y29uc3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiRXhwZWN0ZWQgYSAnKScgb3IgYSAnLCcgYWZ0ZXIg
YSBwYXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsKLSAgICB9CiAKLSAgICBtYXRjaE9yRmFpbChPUEVO
QlJBQ0UsICJFeHBlY3RlZCBhbiBvcGVuaW5nICd7JyBhdCB0aGUgc3RhcnQgb2YgYSAiLCBzdHJp
bmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOworICAgICAgICBpZiAobW9kZSA9PSBH
ZXR0ZXJNb2RlKQorICAgICAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiZ2V0dGVy
IGZ1bmN0aW9ucyBtdXN0IGhhdmUgbm8gcGFyYW1ldGVycyIpOworICAgICAgICBlbHNlIGlmICht
b2RlID09IFNldHRlck1vZGUpIHsKKyAgICAgICAgICAgIGZhaWxJZlRydWUobWF0Y2goQ0xPU0VQ
QVJFTiksICJzZXR0ZXIgZnVuY3Rpb25zIG11c3QgaGF2ZSBvbmUgcGFyYW1ldGVyIik7CisgICAg
ICAgICAgICBhdXRvIHBhcmFtZXRlciA9IHBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuKGNvbnRl
eHQsIERlY29uc3RydWN0VG9QYXJhbWV0ZXJzKTsKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKHBh
cmFtZXRlciwgInNldHRlciBmdW5jdGlvbnMgbXVzdCBoYXZlIG9uZSBwYXJhbWV0ZXIiKTsKKyAg
ICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9IGNvbnRleHQuY3JlYXRlRm9ybWFsUGFyYW1ldGVy
TGlzdChwYXJhbWV0ZXIpOworICAgICAgICAgICAgZmFpbElmVHJ1ZShtYXRjaChDT01NQSksICJz
ZXR0ZXIgZnVuY3Rpb25zIG11c3QgaGF2ZSBvbmUgcGFyYW1ldGVyIik7CisgICAgICAgICAgICBj
b25zdW1lT3JGYWlsKENMT1NFUEFSRU4sICJFeHBlY3RlZCBhICcpJyBhZnRlciBhIHBhcmFtZXRl
ciBkZWNsYXJhdGlvbiIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaWYgKCFtYXRj
aChDTE9TRVBBUkVOKSkgeworICAgICAgICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9IHBhcnNl
Rm9ybWFsUGFyYW1ldGVycyhjb250ZXh0KTsKKyAgICAgICAgICAgICAgICBmYWlsSWZGYWxzZShp
bmZvLnBhcmFtZXRlcnMsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAiLCBzdHJp
bmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgY29u
c3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiRXhwZWN0ZWQgYSAnKScgb3IgYSAnLCcgYWZ0ZXIgYSBw
YXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsKKyAgICAgICAgfQogCi0gICAgLy8gQnl0ZWNvZGVHZW5l
cmF0b3IgZW1pdHMgY29kZSB0byB0aHJvdyBUeXBlRXJyb3Igd2hlbiBhIGNsYXNzIGNvbnN0cnVj
dG9yIGlzICJjYWxsImVkLgotICAgIC8vIFNldCBDb25zdHJ1Y3RvcktpbmQgdG8gTm9uZSBmb3Ig
bm9uLWNvbnN0cnVjdG9yIG1ldGhvZHMgb2YgY2xhc3Nlcy4KLSAgICBib29sIGlzQ2xhc3NDb25z
dHJ1Y3RvciA9IG1vZGUgPT0gTWV0aG9kTW9kZSAmJiBpbmZvLm5hbWUgJiYgKmluZm8ubmFtZSA9
PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvcjsKLSAgICBpZiAobV9kZWZhdWx0Q29u
c3RydWN0b3JLaW5kICE9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSkgewotICAgICAgICBvd25lckNs
YXNzS2luZCA9IG1fZGVmYXVsdENvbnN0cnVjdG9yS2luZDsKLSAgICAgICAgaXNDbGFzc0NvbnN0
cnVjdG9yID0gdHJ1ZTsKKyAgICAgICAgbWF0Y2hPckZhaWwoT1BFTkJSQUNFLCAiRXhwZWN0ZWQg
YW4gb3BlbmluZyAneycgYXQgdGhlIHN0YXJ0IG9mIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2Rl
KG1vZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgLy8gQnl0ZWNvZGVHZW5lcmF0b3IgZW1pdHMgY29k
ZSB0byB0aHJvdyBUeXBlRXJyb3Igd2hlbiBhIGNsYXNzIGNvbnN0cnVjdG9yIGlzICJjYWxsImVk
LgorICAgICAgICAvLyBTZXQgQ29uc3RydWN0b3JLaW5kIHRvIE5vbmUgZm9yIG5vbi1jb25zdHJ1
Y3RvciBtZXRob2RzIG9mIGNsYXNzZXMuCisgICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IG1v
ZGUgPT0gTWV0aG9kTW9kZSAmJiBpbmZvLm5hbWUgJiYgKmluZm8ubmFtZSA9PSBtX3ZtLT5wcm9w
ZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvcjsKKyAgICAgICAgaWYgKG1fZGVmYXVsdENvbnN0cnVjdG9y
S2luZCAhPSBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUpIHsKKyAgICAgICAgICAgIG93bmVyQ2xhc3NL
aW5kID0gbV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kOworICAgICAgICAgICAgaXNDbGFzc0NvbnN0
cnVjdG9yID0gdHJ1ZTsKKyAgICAgICAgfQogICAgIH0KKyAgICAKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBh
cnNlVHlwZSkgeworICAgICAgICBwYXJhbWV0ZXJzU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24u
c3RhcnRPZmZzZXQ7CisgICAgICAgIGlmICghbWF0Y2goSURFTlQpICYmICFtYXRjaChPUEVOUEFS
RU4pKSB7CisgICAgICAgICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVUb0tleXdvcmQoc3RyaW5nRm9y
RnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUiKTsKKyAgICAgICAgICAgIGZhaWxXaXRoTWVzc2Fn
ZSgiRXhwZWN0ZWQgYW4gYXJyb3cgZnVuY3Rpb24gaW5wdXQgcGFyYW1ldGVyIik7CisgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICAg
ICAgICAgIGNvbnN1bWUoT1BFTlBBUkVOKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAg
ICAgICBpZiAoIW1hdGNoKENMT1NFUEFSRU4pKSB7CisgICAgICAgICAgICAgICAgICAgIGluZm8u
cGFyYW1ldGVycyA9IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhjb250ZXh0KTsKKyAgICAgICAgICAg
ICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFt
ZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgY29uc3VtZU9yRmFp
bChDTE9TRVBBUkVOLCAiRXhwZWN0ZWQgYSAnKScgb3IgYSAnLCcgYWZ0ZXIgYSBwYXJhbWV0ZXIg
ZGVjbGFyYXRpb24iKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgYXV0
byBwYXJhbWV0ZXIgPSBwYXJzZURlY29uc3RydWN0aW9uUGF0dGVybihjb250ZXh0LCBEZWNvbnN0
cnVjdFRvUGFyYW1ldGVycyk7CisgICAgICAgICAgICAgICAgZmFpbElmRmFsc2UocGFyYW1ldGVy
LCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlciBwYXR0ZXJuIik7CisgICAgICAgICAgICAgICAgaW5m
by5wYXJhbWV0ZXJzID0gY29udGV4dC5jcmVhdGVGb3JtYWxQYXJhbWV0ZXJMaXN0KHBhcmFtZXRl
cik7CisgICAgICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJzLCAiQ2Fubm90
IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUp
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgbWF0Y2hPckZh
aWwoQVJST1dGVU5DVElPTiwgIkV4cGVjdGVkIGEgJz0+JyBhZnRlciBhcnJvdyBmdW5jdGlvbiBw
YXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsKKyAgICAgICAgaXNDbGFzc0NvbnN0cnVjdG9yID0gZmFs
c2U7CisgICAgICAgIAorICAgICAgICBpbmZvLmFycm93RnVuY3Rpb25PZmZzZXQgPSBtX3Rva2Vu
Lm1fZGF0YS5vZmZzZXQ7CisgICAgfQorI2VuZGlmCisgICAgCiAgICAgQ29uc3RydWN0b3JLaW5k
IGNvbnN0cnVjdG9yS2luZCA9IGlzQ2xhc3NDb25zdHJ1Y3RvciA/IG93bmVyQ2xhc3NLaW5kIDog
Q29uc3RydWN0b3JLaW5kOjpOb25lOwogCiAgICAgaW5mby5vcGVuQnJhY2VPZmZzZXQgPSBtX3Rv
a2VuLm1fZGF0YS5vZmZzZXQ7CkBAIC0xMzgzLDggKzE1MTQsMTcgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhU
cmVlQnVpbGQKICAgICAgICAgZmFpbElmRmFsc2UocG9wU2NvcGUoZnVuY3Rpb25TY29wZSwgVHJl
ZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQYXJzZXIgZXJyb3IiKTsKICAgICAg
ICAgCiAgICAgICAgIGluZm8uY2xvc2VCcmFjZU9mZnNldCA9IGNhY2hlZEluZm8tPmNsb3NlQnJh
Y2VPZmZzZXQ7Ci0KKyAgICAgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICAgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7Cisg
ICAgICAgICAgICBpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlwZSA9IGNhY2hlZEluZm8tPmlzQm9k
eUFycm93RnVuY3Rpb25CbG9jayA/IEFycm93RnVuY3Rpb25Cb2R5QmxvY2sgOiBBcnJvd0Z1bmN0
aW9uQm9keUV4cHJlc3Npb247CisgICAgICAgICAgICBtX3Rva2VuID0gaW5mby5hcnJvd0Z1bmN0
aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jayA/IGNhY2hlZEluZm8tPmNsb3Nl
QnJhY2VUb2tlbigpIDogY2FjaGVkSW5mby0+ZW5kQXJyb3dGdW5jdGlvblRva2VuKCk7CisgICAg
ICAgIH0gZWxzZQorICAgICAgICAgICAgbV90b2tlbiA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VU
b2tlbigpOworI2Vsc2UgICAKICAgICAgICAgbV90b2tlbiA9IGNhY2hlZEluZm8tPmNsb3NlQnJh
Y2VUb2tlbigpOworI2VuZGlmCisgICAgICAgIAogICAgICAgICBpZiAoZW5kQ29sdW1uSXNPblN0
YXJ0TGluZSkKICAgICAgICAgICAgIG1fdG9rZW4ubV9sb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQg
PSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0OwogCkBAIC0xMzkzLDEzICsxNTMzLDQ4IEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5j
dGlvbkluZm8oVHJlZUJ1aWxkCiAKICAgICAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQoaW5mby5i
b2R5LCBtX2xleGVyLT5jdXJyZW50T2Zmc2V0KCkpOwogICAgICAgICAKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAocGFyc2VUeXBlID09IEFycm93RnVu
Y3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgICAgIGlmIChpbmZvLmFycm93RnVuY3Rpb25Cb2R5
VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrKQorICAgICAgICAgICAgICAgIG5leHQoKTsK
KyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBuZXh0KCk7CisjZWxzZQogICAgICAgICBuZXh0
KCk7CisjZW5kaWYKICAgICAgICAgaW5mby5ib2R5RW5kTGluZSA9IG1fbGFzdFRva2VuRW5kUG9z
aXRpb24ubGluZTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQorICAgIAorICAgIAogICAg
IG1fbGFzdEZ1bmN0aW9uTmFtZSA9IGxhc3RGdW5jdGlvbk5hbWU7CiAgICAgUGFyc2VyU3RhdGUg
b2xkU3RhdGUgPSBzYXZlU3RhdGUoKTsKKyAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkg
eworICAgICAgICBTYXZlUG9pbnQgc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAg
ICAgIG5leHQoKTsKKyAgICAgICAgLy8gQ2hlY2sgaWYgYXJyb3cgYm9keSBzdGFydCB3aXRoIHsu
IElmIGl0IHRydWUgaXQgbWVhbiB0aGF0IGFycm93IGZ1bmN0aW9uIGlzIEZhdCBhcnJvdyBmdW5j
dGlvbgorICAgICAgICAvLyBhbmQgd2UgbmVlZCB1c2UgY29tbW9uIGFwcHJvYWNoIHRvIHBhcnNl
IGZ1bmN0aW9uIGJvZHkKKyAgICAgICAgaW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUgPSBtYXRj
aChPUEVOQlJBQ0UpID8gQXJyb3dGdW5jdGlvbkJvZHlCbG9jayA6IEFycm93RnVuY3Rpb25Cb2R5
RXhwcmVzc2lvbjsKKyAgICAKKyAgICAgICAgaWYgKGluZm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBl
ID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHsKKyAgICAgICAgICAgIGluZm8ub3BlbkJyYWNl
T2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgICAgICAgICAgaW5mby5ib2R5U3Rh
cnRMaW5lID0gdG9rZW5MaW5lKCk7CisgICAgICAgICAgICBpbmZvLmJvZHlTdGFydENvbHVtbiA9
IG1fdG9rZW4ubV9kYXRhLm9mZnNldCAtIG1fdG9rZW4ubV9kYXRhLmxpbmVTdGFydE9mZnNldDsK
KyAgICAgICAgCisgICAgICAgICAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250
ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNT
dGFydCwgY29uc3RydWN0b3JLaW5kKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHJl
c3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKKyAgICAgICAgICAgIGluZm8uYm9keSA9IHBhcnNl
RnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVT
dGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQsIEFycm93RnVuY3Rpb25QYXJz
ZVR5cGUpOworICAgICAgICB9CisgICAgfSBlbHNlCisgICAgICAgIGluZm8uYm9keSA9IHBhcnNl
RnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVT
dGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQpOworI2Vsc2UKICAgICBpbmZv
LmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFydCwg
ZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kKTsKKyNl
bmRpZgorICAgIAorICAgIAogICAgIHJlc3RvcmVTdGF0ZShvbGRTdGF0ZSk7CiAgICAgZmFpbElm
RmFsc2UoaW5mby5ib2R5LCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIHRoaXMgIiwgc3RyaW5n
Rm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKICAgICBjb250ZXh0LnNldEVuZE9mZnNldChpbmZvLmJv
ZHksIG1fbGV4ZXItPmN1cnJlbnRPZmZzZXQoKSk7CkBAIC0xNDMwLDE4ICsxNjA1LDM4IEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VG
dW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmUg
PSBjbG9zZUJyYWNlTGluZTsKICAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJyYWNlT2Zmc2V0ID0g
aW5mby5jbG9zZUJyYWNlT2Zmc2V0OwogICAgICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VMaW5l
U3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0OworI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5j
dGlvblBhcnNlVHlwZSkgeworICAgICAgICAgICAgcGFyYW1ldGVycy5pc0JvZHlBcnJvd0Z1bmN0
aW9uQmxvY2sgPSBpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9k
eUJsb2NrOworICAgICAgICAgICAgcGFyYW1ldGVycy50b2tlblR5cGUgPSBtX3Rva2VuLm1fdHlw
ZTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIGZ1bmN0aW9uU2NvcGUtPmZpbGxQYXJhbWV0
ZXJzRm9yU291cmNlUHJvdmlkZXJDYWNoZShwYXJhbWV0ZXJzKTsKICAgICAgICAgbmV3SW5mbyA9
IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjpjcmVhdGUocGFyYW1ldGVycyk7CiAKICAgICB9CiAg
ICAgCiAgICAgZmFpbElmRmFsc2UocG9wU2NvcGUoZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6
Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQYXJzZXIgZXJyb3IiKTsKKyAgICAKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dG
dW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICBpZiAoaW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5
cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jaykgeworICAgICAgICAgICAgbWF0Y2hPckZhaWwo
Q0xPU0VCUkFDRSwgIkV4cGVjdGVkIGEgY2xvc2luZyAnfScgYWZ0ZXIgYSAiLCBzdHJpbmdGb3JG
dW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOworICAgICAgICAgICAgbmV4dCgpOworICAgICAg
ICB9IGVsc2UKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKGlzRW5kT2ZBcnJvd0Z1bmN0aW9uKCks
ICJFeHBlY3RlZCB0aGUgY2xvc2luZyAnOycgJywnICddJyAnKScgJ30nIGFmdGVyIGFycm93IGZ1
bmN0aW9uIik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgbWF0Y2hPckZhaWwoQ0xPU0VCUkFDRSwg
IkV4cGVjdGVkIGEgY2xvc2luZyAnfScgYWZ0ZXIgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUo
bW9kZSksICIgYm9keSIpOworICAgICAgICBuZXh0KCk7CisgICAgfQorI2Vsc2UKICAgICBtYXRj
aE9yRmFpbChDTE9TRUJSQUNFLCAiRXhwZWN0ZWQgYSBjbG9zaW5nICd9JyBhZnRlciBhICIsIHN0
cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7CisgICAgbmV4dCgpOworI2VuZGlm
CiAgICAgCiAgICAgaWYgKG5ld0luZm8pCiAgICAgICAgIG1fZnVuY3Rpb25DYWNoZS0+YWRkKGlu
Zm8ub3BlbkJyYWNlT2Zmc2V0LCBXVEY6Om1vdmUobmV3SW5mbykpOwogICAgIAotICAgIG5leHQo
KTsKICAgICBpbmZvLmJvZHlFbmRMaW5lID0gbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lOwog
ICAgIHJldHVybiB0cnVlOwogfQpAQCAtMTc2Niw2ICsxOTYxLDE4IEBAIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJZlN0
YXRlbWVudChUCiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlSWZTdGF0ZW1lbnQoaWZMb2NhdGlv
biwgY29uZGl0aW9uLCB0cnVlQmxvY2ssIHN0YXRlbWVudFN0YWNrLmxhc3QoKSwgc3RhcnQsIGVu
ZCk7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUg
PHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4
cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24o
VHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAgZmFpbElmU3RhY2tPdmVyZmxvdygpOworICAg
IFRyZWVFeHByZXNzaW9uIG5vZGUgPSBwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKGNvbnRleHQp
OworICAgIGZhaWxJZkZhbHNlKG5vZGUsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lvbiIpOworICAg
IGNvbnRleHQuc2V0RW5kT2Zmc2V0KG5vZGUsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ub2Zmc2V0
KTsKKyAgICByZXR1cm4gbm9kZTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4
ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewpA
QCAtMTgxMyw2ICsyMDIwLDQxIEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBUcmVlQnVpbGRlcj4gVHJl
ZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXNzaWdubWVuCiAgICAgICAgIH0K
ICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlUG9pbnQpOwogICAgIH0KKworI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0
aW9uUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICBib29sIGFycm93RnVuY3Rpb25FbXB0
eUxpc3QgPSBmYWxzZTsKKyAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICBuZXh0
KCk7CisgICAgICAgIGlmIChtYXRjaChDTE9TRVBBUkVOKSkgeworICAgICAgICAgICAgbmV4dCgp
OworCisgICAgICAgICAgICBpZiAobWF0Y2goQVJST1dGVU5DVElPTikpCisgICAgICAgICAgICAg
ICAgYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCA9IHRydWU7CisgICAgICAgIH0KKworICAgICAgICBp
ZiAoIWFycm93RnVuY3Rpb25FbXB0eUxpc3QpCisgICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50
KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgIH0KKworICAgIFRyZWVFeHByZXNzaW9uIGxo
czsKKyAgICBpZiAoIWFycm93RnVuY3Rpb25FbXB0eUxpc3QpIHsKKyAgICAgICAgbGhzID0gcGFy
c2VDb25kaXRpb25hbEV4cHJlc3Npb24oY29udGV4dCk7CisgICAgICAgIGZhaWxJZkZhbHNlKGxo
cywgIkNhbhlub3QgcGFyc2UgZXhwcmVzc2lvbiIpOworICAgICAgICBpZiAoaW5pdGlhbE5vbkxI
U0NvdW50ICE9IG1fbm9uTEhTQ291bnQpIHsKKyAgICAgICAgICAgIGlmIChtX3Rva2VuLm1fdHlw
ZSA+PSBFUVVBTCAmJiBtX3Rva2VuLm1fdHlwZSA8PSBPUkVRVUFMKQorICAgICAgICAgICAgICAg
IHNlbWFudGljRmFpbCgiTGVmdCBoYW5kIHNpZGUgb2Ygb3BlcmF0b3IgJyIsIGdldFRva2VuKCks
ICInIG11c3QgYmUgYSByZWZlcmVuY2UiKTsKKworICAgICAgICAgICAgcmV0dXJuIGxoczsKKyAg
ICAgICAgfQorICAgIH0KKworICAgIGlmIChtYXRjaChBUlJPV0ZVTkNUSU9OKSkgeworICAgICAg
ICByZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICBsaHMg
PSBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKGNvbnRleHQpOworICAgICAgICByZXR1cm4gbGhz
OworICAgIH0KKyNlbHNlCiAgICAgVHJlZUV4cHJlc3Npb24gbGhzID0gcGFyc2VDb25kaXRpb25h
bEV4cHJlc3Npb24oY29udGV4dCk7CiAgICAgZmFpbElmRmFsc2UobGhzLCAiQ2Fubm90IHBhcnNl
IGV4cHJlc3Npb24iKTsKICAgICBpZiAoaW5pdGlhbE5vbkxIU0NvdW50ICE9IG1fbm9uTEhTQ291
bnQpIHsKQEAgLTE4MjEsNyArMjA2Myw4IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBUcmVlQnVpbGRl
cj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXNzaWdubWVuCiAKICAg
ICAgICAgcmV0dXJuIGxoczsKICAgICB9Ci0gICAgCisjZW5kaWYKKwogICAgIGludCBhc3NpZ25t
ZW50U3RhY2sgPSAwOwogICAgIE9wZXJhdG9yIG9wOwogICAgIGJvb2wgaGFkQXNzaWdubWVudCA9
IGZhbHNlOwpAQCAtMjI5Niw2ICsyNTM5LDIzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlCiAg
ICAgICAgIHJldHVybiBjb250ZXh0LnRoaXNFeHByKGxvY2F0aW9uKTsKICAgICB9CiAgICAgY2Fz
ZSBJREVOVDogeworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAg
IFNhdmVQb2ludCBzYXZlQXJyb3dGdW5jdGlvblBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7Cisg
ICAgICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAg
ICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CisgICAg
ICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgICAgICBu
ZXh0KCk7CisKKyAgICAgICAgaWYgKCFtYXRjaChBUlJPV0ZVTkNUSU9OKSkgeworICAgICAgICAg
ICAgY3VycmVudFNjb3BlKCktPnVzZVZhcmlhYmxlKGlkZW50LCBtX3ZtLT5wcm9wZXJ0eU5hbWVz
LT5ldmFsID09ICppZGVudCk7CisgICAgICAgICAgICBtX2xhc3RJZGVudGlmaWVyID0gaWRlbnQ7
CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVSZXNvbHZlKGxvY2F0aW9uLCBpZGVu
dCwgc3RhcnQpOworICAgICAgICB9CisKKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJy
b3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAgVHJlZUV4cHJlc3Npb24gbGhzID0gcGFyc2VBcnJv
d0Z1bmN0aW9uV3JhcHBlcihjb250ZXh0KTsKKyAgICAgICAgcmV0dXJuIGxoczsKKyNlbHNlCiAg
ICAgICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CiAgICAg
ICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAg
ICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwpAQCAtMjMwMyw2
ICsyNTYzLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAgY3VycmVudFNjb3Bl
KCktPnVzZVZhcmlhYmxlKGlkZW50LCBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09ICppZGVu
dCk7CiAgICAgICAgIG1fbGFzdElkZW50aWZpZXIgPSBpZGVudDsKICAgICAgICAgcmV0dXJuIGNv
bnRleHQuY3JlYXRlUmVzb2x2ZShsb2NhdGlvbiwgaWRlbnQsIHN0YXJ0KTsKKyNlbmRpZgogICAg
IH0KICAgICBjYXNlIFNUUklORzogewogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9
IG1fdG9rZW4ubV9kYXRhLmlkZW50OwpAQCAtMjQ5MCw2ICsyNzUxLDMyIEBAIGVuZE1lbWJlckV4
cHJlc3Npb246CiAgICAgcmV0dXJuIGJhc2U7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
QXJyb3dGdW5jdGlvbldyYXBwZXIoVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAgVHJlZUV4
cHJlc3Npb24gYmFzZSA9IDA7CisgICAgSlNUZXh0UG9zaXRpb24gZXhwcmVzc2lvblN0YXJ0ID0g
dG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgaW50IG5ld0NvdW50ID0gMDsKKyAgICBKU1Rva2Vu
TG9jYXRpb24gbG9jYXRpb247CisKKyAgICBpZiAobWF0Y2goSURFTlQpIHx8IG1hdGNoKE9QRU5Q
QVJFTikpIHsKKyAgICAgICAgdW5zaWduZWQgZnVuY3Rpb25LZXl3b3JkU3RhcnQgPSB0b2tlblN0
YXJ0KCk7CisgICAgICAgIGxvY2F0aW9uID0gdG9rZW5Mb2NhdGlvbigpOworICAgICAgICBQYXJz
ZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87CisgICAgICAgIGluZm8ubmFtZSA9ICZt
X3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllcjsKKyAgICAgICAgZmFpbElmRmFsc2Uo
KHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEZ1bmN0
aW9uTW9kZSwgdHJ1ZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBmdW5jdGlvbktleXdvcmRTdGFy
dCwgaW5mbywgQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIGFycm93IGZ1
bmN0aW9uIGV4cHJlc3Npb24iKTsKKyAgICAgICAgYmFzZSA9IGNvbnRleHQuY3JlYXRlQXJyb3dG
dW5jdGlvbkV4cHIobG9jYXRpb24sIGluZm8pOworICAgIH0gZWxzZQorICAgICAgICBiYXNlID0g
cGFyc2VQcmltYXJ5RXhwcmVzc2lvbihjb250ZXh0KTsKKworICAgIGZhaWxJZkZhbHNlKGJhc2Us
ICJDYW5ub3QgcGFyc2UgYmFzZSBleHByZXNzaW9uIik7CisgICAgd2hpbGUgKG5ld0NvdW50LS0p
CisgICAgICAgIGJhc2UgPSBjb250ZXh0LmNyZWF0ZU5ld0V4cHIobG9jYXRpb24sIGJhc2UsIGV4
cHJlc3Npb25TdGFydCwgbGFzdFRva2VuRW5kUG9zaXRpb24oKSk7CisgICAgcmV0dXJuIGJhc2U7
Cit9CisjZW5kaWYKKwogc3RhdGljIGNvbnN0IGNoYXIqIG9wZXJhdG9yU3RyaW5nKGJvb2wgcHJl
Zml4LCB1bnNpZ25lZCB0b2spCiB7CiAgICAgc3dpdGNoICh0b2spIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1BhcnNlci5oCmluZGV4IDg2M2Y5YzE1NjA4NDJhOTg1NmQ4ZTk3NzUxY2Q4YmVk
YzhhYmQ4N2EuLmIzOGQ2NzNmYWVhZmMyNjY1MGVkZDkzMGIwYmEzMDE0NWE0OGRlZTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaApAQCAtODAsNiArODAsOSBAQCBjbGFzcyBT
b3VyY2VDb2RlOwogQ09NUElMRV9BU1NFUlQoTGFzdFVudGFnZ2VkVG9rZW4gPCA2NCwgTGVzc1Ro
YW42NFVudGFnZ2VkVG9rZW5zKTsKIAogZW51bSBTb3VyY2VFbGVtZW50c01vZGUgeyBDaGVja0Zv
clN0cmljdE1vZGUsIERvbnRDaGVja0ZvclN0cmljdE1vZGUgfTsKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorZW51bSBGdW5jdGlvblBhcnNlVHlwZSB7IFN0YW5kYXJkRnVu
Y3Rpb25QYXJzZVR5cGUsIEFycm93RnVuY3Rpb25QYXJzZVR5cGUgfTsKKyNlbmRpZgogZW51bSBG
dW5jdGlvblJlcXVpcmVtZW50cyB7IEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEZ1bmN0aW9uTmVl
ZHNOYW1lIH07CiBlbnVtIEZ1bmN0aW9uUGFyc2VNb2RlIHsKICAgICBGdW5jdGlvbk1vZGUsCkBA
IC02MTgsNiArNjIxLDEzIEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBtX3Rva2VuLm1fdHlw
ZSA9PSBJREVOVCAmJiAqbV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1l
cy0+b2Y7CiAgICAgfQogICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgQUxXQVlTX0lOTElORSBib29sIGlzRW5kT2ZBcnJvd0Z1bmN0aW9uKCkKKyAgICB7Cisg
ICAgICAgIHJldHVybiBtYXRjaChTRU1JQ09MT04pIHx8IG1hdGNoKENPTU1BKSB8fCBtYXRjaChD
TE9TRVBBUkVOKSB8fCBtYXRjaChDTE9TRUJSQUNFKSB8fCBtYXRjaChDTE9TRUJSQUNLRVQpOwor
ICAgIH0KKyNlbmRpZgorICAgIAogICAgIEFMV0FZU19JTkxJTkUgdW5zaWduZWQgdG9rZW5TdGFy
dCgpCiAgICAgewogICAgICAgICByZXR1cm4gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0
OwpAQCAtNzIxLDkgKzczMSwxNCBAQCBwcml2YXRlOgogICAgICAgICB9CiAgICAgICAgIHJldHVy
biByZXN1bHQ7CiAgICAgfQotICAgIAorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50
cyBwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxlbWVudHNNb2RlLCBG
dW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSA9IFN0YW5kYXJkRnVuY3Rpb25QYXJz
ZVR5cGUpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBw
YXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUs
IHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMCwgRnVuY3Rpb25QYXJzZVR5cGUg
ZnVuY3Rpb25QYXJzZVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNlbHNlCiAg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgcGFyc2VT
b3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYsIFNvdXJjZUVsZW1lbnRzTW9kZSk7CiAgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3RhdGVtZW50KFRy
ZWVCdWlsZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVj
dGl2ZUxpdGVyYWxMZW5ndGggPSAwKTsKKyNlbmRpZgogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lO
VEFYKQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJz
ZUNsYXNzRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImKTsKICNlbmRpZgpAQCAtNzYyLDE5ICs3Nzcs
MzEgQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9w
ZXJ0eSBwYXJzZVByb3BlcnR5KFRyZWVCdWlsZGVyJiwgYm9vbCBzdHJpY3QpOwogICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VQcm9wZXJ0eU1ldGhv
ZChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciogbWV0aG9kTmFtZSk7CiAg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgcGFyc2VHZXR0ZXJT
ZXR0ZXIoVHJlZUJ1aWxkZXImLCBib29sIHN0cmljdCwgUHJvcGVydHlOb2RlOjpUeXBlLCB1bnNp
Z25lZCBnZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBDb25zdHJ1Y3RvcktpbmQgPSBDb25zdHJ1
Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZyA9IFN1cGVyQmluZGluZzo6Tm90TmVlZGVkKTsK
LSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZ1bmN0
aW9uQm9keSBwYXJzZUZ1bmN0aW9uQm9keShUcmVlQnVpbGRlciYsIGludCBmdW5jdGlvbktleXdv
cmRTdGFydCwgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25z
dHJ1Y3RvcktpbmQpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJv
ZHkgcGFyc2VGdW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3Rh
cnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0
b3JLaW5kLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSA9IFN0YW5kYXJkRnVu
Y3Rpb25QYXJzZVR5cGUpOworI2Vsc2UKKyAgICAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VGdW5jdGlvbkJvZHkoVHJl
ZUJ1aWxkZXImLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFy
dCwgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kKTsKKyNlbmRpZgogICAgIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRm9ybWFsUGFyYW1l
dGVyTGlzdCBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoVHJlZUJ1aWxkZXImKTsKICAgICBlbnVtIFZh
ckRlY2xhcmF0aW9uTGlzdENvbnRleHQgeyBGb3JMb29wQ29udGV4dCwgVmFyRGVjbGFyYXRpb25D
b250ZXh0IH07CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lv
biBwYXJzZVZhckRlY2xhcmF0aW9uTGlzdChUcmVlQnVpbGRlciYsIGludCYgZGVjbGFyYXRpb25z
LCBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuJiBsYXN0UGF0dGVybiwgVHJlZUV4cHJlc3Npb24m
IGxhc3RJbml0aWFsaXplciwgSlNUZXh0UG9zaXRpb24mIGlkZW50U3RhcnQsIEpTVGV4dFBvc2l0
aW9uJiBpbml0U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0RW5kLCBWYXJEZWNsYXJhdGlvbkxp
c3RDb250ZXh0KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElO
RSBUcmVlQ29uc3REZWNsTGlzdCBwYXJzZUNvbnN0RGVjbGFyYXRpb25MaXN0KFRyZWVCdWlsZGVy
Jik7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VBcnJvd0Z1bmN0aW9uRXhw
cmVzc2lvbihUcmVlQnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVN0YXRlbWVudCBwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImKTsK
KyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlQXJy
b3dGdW5jdGlvbldyYXBwZXIoVHJlZUJ1aWxkZXImKTsKKyNlbmRpZgorCiAgICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVy
biBjcmVhdGVCaW5kaW5nUGF0dGVybihUcmVlQnVpbGRlciYsIERlY29uc3RydWN0aW9uS2luZCwg
Y29uc3QgSWRlbnRpZmllciYsIGludCBkZXB0aCwgSlNUb2tlbik7CiAgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBw
YXJzZURlY29uc3RydWN0aW9uUGF0dGVybihUcmVlQnVpbGRlciYsIERlY29uc3RydWN0aW9uS2lu
ZCwgaW50IGRlcHRoID0gMCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZF
Ul9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiB0cnlQYXJzZURlY29uc3RydWN0aW9u
UGF0dGVybkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKIAotICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIGJvb2wgcGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxk
ZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUsIGJvb2wgbmFtZUlz
SW5Db250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0
YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+Jik7CiAjaWYgRU5BQkxFKEVTNl9D
TEFTU19TWU5UQVgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJ
TkUgYm9vbCBwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1l
bnRzLCBGdW5jdGlvblBhcnNlTW9kZSwgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29u
c3RydWN0b3JLaW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5m
bzxUcmVlQnVpbGRlcj4mLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSA9IFN0
YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gTkVWRVJfSU5MSU5FIFRyZWVDbGFzc0V4cHJlc3Npb24gcGFyc2VDbGFzcyhUcmVlQnVpbGRl
ciYsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzLCBQYXJzZXJDbGFzc0luZm88VHJlZUJ1aWxkZXI+Jik7
CisjZWxzZQorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIGJv
b2wgcGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywg
RnVuY3Rpb25QYXJzZU1vZGUsIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENvbnN0cnVj
dG9yS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJl
ZUJ1aWxkZXI+Jik7CiAjZW5kaWYKIAogICAgIEFMV0FZU19JTkxJTkUgaW50IGlzQmluYXJ5T3Bl
cmF0b3IoSlNUb2tlblR5cGUpOwpAQCAtNzg5LDYgKzgxNiwxNCBAQCBwcml2YXRlOgogICAgICAg
ICByZXR1cm4gYWxsb3dBdXRvbWF0aWNTZW1pY29sb24oKTsKICAgICB9CiAgICAgCisKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHZvaWQgc2V0RW5kT2ZTdGF0ZW1l
bnQoKQorICAgIHsKKyAgICAgICAgbV9sZXhlci0+c2V0VG9rZW5Qb3NpdGlvbigmbV90b2tlbik7
CisgICAgfQorI2VuZGlmCisKICAgICBib29sIGNhblJlY3Vyc2UoKQogICAgIHsKICAgICAgICAg
cmV0dXJuIG1fdm0tPmlzU2FmZVRvUmVjdXJzZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKaW5kZXggNmI3MzYyODJlMmQyYTgxYmM2
M2RjMmYzYzBlNWFlOGM4NThjZDFmOC4uZDc1MmE2MTBhOWI2ZWIwYzZhMTE0OTU0NjVjYTdkYmQ3
NjhjZDUyMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJG
dW5jdGlvbkluZm8uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1
bmN0aW9uSW5mby5oCkBAIC0yOCw2ICsyOCwxMCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitlbnVtIEFycm93RnVuY3Rpb25Cb2R5
VHlwZSB7IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiwgQXJyb3dGdW5jdGlvbkJvZHlCbG9j
a307CisjZW5kaWYKKwogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPgogc3RydWN0IFBhcnNl
ckZ1bmN0aW9uSW5mbyB7CiAgICAgY29uc3QgSWRlbnRpZmllciogbmFtZSA9IDA7CkBAIC0zOCw2
ICs0MiwxMSBAQCBzdHJ1Y3QgUGFyc2VyRnVuY3Rpb25JbmZvIHsKICAgICBpbnQgYm9keVN0YXJ0
TGluZSA9IDA7CiAgICAgaW50IGJvZHlFbmRMaW5lID0gMDsKICAgICB1bnNpZ25lZCBib2R5U3Rh
cnRDb2x1bW4gPSAwOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAg
dW5zaWduZWQgYXJyb3dGdW5jdGlvbk9mZnNldCA9IDA7CisgICAgYm9vbCBpc0Fycm93RnVuY3Rp
b24gPSBmYWxzZTsKKyAgICBBcnJvd0Z1bmN0aW9uQm9keVR5cGUgYXJyb3dGdW5jdGlvbkJvZHlU
eXBlID0gQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOworI2VuZGlmCiB9OwogCiAjaWYgRU5B
QkxFKEVTNl9DTEFTU19TWU5UQVgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1BhcnNlclRva2Vucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJz
ZXJUb2tlbnMuaAppbmRleCA4MzI5ZjgyYTliMmZmOTE1ZDFmMjQxYzFmOGJmZmFkNDI0N2E1ZjBi
Li5jOGIxNjZlMGVhZDdkMmRhNzE5ZTc2YzRhMmYwOWFmZjFkNzRkN2FjIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKQEAgLTc1LDYgKzc1LDkgQEAgZW51
bSBKU1Rva2VuVHlwZSB7CiAgICAgRklOQUxMWSwKICAgICBERUJVR0dFUiwKICAgICBFTFNFLAor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgQVJST1dGVU5DVElPTiwK
KyNlbmRpZgogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogICAgIENMQVNTVE9LRU4sCiAg
ICAgRVhURU5EUywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291
cmNlQ29kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmgKaW5k
ZXggNzkyYzE5ZTk0YTgwNWI1YjRkNGJkZDYyMDhlNmQwNmZkODk5ZjM1OS4uYmYyNjc0NWQwNmYx
OGI2NWIxMGUxYjc1Zjk3NmZiODkwN2UyZDEyYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9Tb3VyY2VDb2RlLmgKQEAgLTEwNSw2ICsxMDUsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICAgICAgCiAgICAgICAgIFNvdXJjZUNvZGUgc3ViRXhwcmVzc2lvbih1bnNpZ25lZCBvcGVuQnJh
Y2UsIHVuc2lnbmVkIGNsb3NlQnJhY2UsIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbik7
CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBTb3VyY2VD
b2RlIHN1YkFycm93RXhwcmVzc2lvbih1bnNpZ25lZCBzdGFydEFycm93RnVuY3Rpb24sIHVuc2ln
bmVkIGVuZEFycm93RnVuY3Rpb24sIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbik7Cisj
ZW5kaWYKICAgICBwcml2YXRlOgogICAgICAgICBSZWZQdHI8U291cmNlUHJvdmlkZXI+IG1fcHJv
dmlkZXI7CiAgICAgICAgIGludCBtX3N0YXJ0Q2hhcjsKQEAgLTExOCw2ICsxMjEsMTcgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBTb3VyY2VDb2RlKFN0cmluZ1NvdXJjZVByb3Zp
ZGVyOjpjcmVhdGUoc291cmNlLCB1cmwsIHN0YXJ0UG9zaXRpb24pLCBzdGFydFBvc2l0aW9uLm1f
bGluZS5vbmVCYXNlZEludCgpLCBzdGFydFBvc2l0aW9uLm1fY29sdW1uLm9uZUJhc2VkSW50KCkp
OwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaW5s
aW5lIFNvdXJjZUNvZGUgU291cmNlQ29kZTo6c3ViQXJyb3dFeHByZXNzaW9uKHVuc2lnbmVkIHN0
YXJ0QXJyb3dGdW5jdGlvbiwgdW5zaWduZWQgZW5kQXJyb3dGdW5jdGlvbiwgaW50IGZpcnN0TGlu
ZSwgaW50IHN0YXJ0Q29sdW1uKQorICAgIHsKKyAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNv
dXJjZSgpW3N0YXJ0QXJyb3dGdW5jdGlvbl0gPT0gJz0nICYmIHByb3ZpZGVyKCktPnNvdXJjZSgp
W3N0YXJ0QXJyb3dGdW5jdGlvbiArIDFdID09ICc+Jyk7CisgICAgICAgIC8vIEZpeG1lOiBVc2Ug
YmV0dGVyIGFwcHJvYWNoIHRvIGNoZWNrIHN5bWJvbAorICAgICAgICBBU1NFUlQocHJvdmlkZXIo
KS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICcsJyB8fCBwcm92aWRlcigpLT5z
b3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJzsnIHx8IHByb3ZpZGVyKCktPnNvdXJj
ZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnKScgfHwgcHJvdmlkZXIoKS0+c291cmNlKClb
ZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICddJyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRB
cnJvd0Z1bmN0aW9uIC0gMV0gPT0gJ30nKTsKKyAgICAgICAgc3RhcnRDb2x1bW4gKz0gMTsgLy8g
Q29udmVydCB0byBiYXNlIDEuCisgICAgICAgIHJldHVybiBTb3VyY2VDb2RlKHByb3ZpZGVyKCks
IHN0YXJ0QXJyb3dGdW5jdGlvbiwgZW5kQXJyb3dGdW5jdGlvbiAtIDEsIGZpcnN0TGluZSwgc3Rh
cnRDb2x1bW4pOworICAgIH0KKyNlbmRpZgorCiAgICAgaW5saW5lIFNvdXJjZUNvZGUgU291cmNl
Q29kZTo6c3ViRXhwcmVzc2lvbih1bnNpZ25lZCBvcGVuQnJhY2UsIHVuc2lnbmVkIGNsb3NlQnJh
Y2UsIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbikKICAgICB7CiAgICAgICAgIEFTU0VS
VChwcm92aWRlcigpLT5zb3VyY2UoKVtvcGVuQnJhY2VdID09ICd7Jyk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKaW5k
ZXggNjM1Mzc5ZTNmNDQ1NjY4YzUyYjg3MmY3NjE2ZGNiNTkyMWE4Mjk0NC4uODM0NjQ4NTIxOWQw
YWNmNmIzMjY5NzJkYTI3OTcyMWQzNjU1ZGIwMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaApAQCAtNDAsNiArNDAs
MTAgQEAgc3RydWN0IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJhbWV0ZXJzIHsK
ICAgICBib29sIG5lZWRzRnVsbEFjdGl2YXRpb247CiAgICAgYm9vbCB1c2VzRXZhbDsKICAgICBi
b29sIHN0cmljdE1vZGU7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICBib29sIGlzQm9keUFycm93RnVuY3Rpb25CbG9jazsKKyAgICBKU1Rva2VuVHlwZSB0b2tlblR5
cGU7CisjZW5kaWYKICAgICBWZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiB1c2VkVmFyaWFibGVz
OwogICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+IHdyaXR0ZW5WYXJpYWJsZXM7CiB9OwpA
QCAtNjksNiArNzMsMjEgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gdG9rZW47CiAgICAgfQog
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBKU1Rva2VuIGVuZEFy
cm93RnVuY3Rpb25Ub2tlbigpIGNvbnN0CisgICAgeworICAgICAgICBKU1Rva2VuIHRva2VuOwor
ICAgICAgICB0b2tlbi5tX3R5cGUgPSB0b2tlblR5cGU7CisgICAgICAgIHRva2VuLm1fZGF0YS5v
ZmZzZXQgPSBjbG9zZUJyYWNlT2Zmc2V0OworICAgICAgICB0b2tlbi5tX2xvY2F0aW9uLnN0YXJ0
T2Zmc2V0ID0gY2xvc2VCcmFjZU9mZnNldDsKKyAgICAgICAgdG9rZW4ubV9sb2NhdGlvbi5lbmRP
ZmZzZXQgPSBjbG9zZUJyYWNlT2Zmc2V0ICsgMTsKKyAgICAgICAgdG9rZW4ubV9sb2NhdGlvbi5s
aW5lID0gY2xvc2VCcmFjZUxpbmU7CisgICAgICAgIHRva2VuLm1fbG9jYXRpb24ubGluZVN0YXJ0
T2Zmc2V0ID0gY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldDsKKworICAgICAgICByZXR1cm4gdG9r
ZW47CisgICAgfQorI2VuZGlmCisKICAgICB1bnNpZ25lZCBmdW5jdGlvbk5hbWVTdGFydCA6IDMx
OwogICAgIGJvb2wgbmVlZHNGdWxsQWN0aXZhdGlvbiA6IDE7CiAgICAgCkBAIC04Miw2ICsxMDEs
MTEgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIHVzZWRWYXJpYWJsZXNDb3VudDsKICAgICB1bnNp
Z25lZCB3cml0dGVuVmFyaWFibGVzQ291bnQ7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIGJvb2wgaXNCb2R5QXJyb3dGdW5jdGlvbkJsb2NrOworICAgIEpTVG9r
ZW5UeXBlIHRva2VuVHlwZTsKKyNlbmRpZgorCiAgICAgU3RyaW5nSW1wbCoqIHVzZWRWYXJpYWJs
ZXMoKSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0PFN0cmluZ0ltcGwqKj4obV92YXJpYWJsZXMp
OyB9CiAgICAgU3RyaW5nSW1wbCoqIHdyaXR0ZW5WYXJpYWJsZXMoKSBjb25zdCB7IHJldHVybiBj
b25zdF9jYXN0PFN0cmluZ0ltcGwqKj4oJm1fdmFyaWFibGVzW3VzZWRWYXJpYWJsZXNDb3VudF0p
OyB9CiAKQEAgLTExNSw2ICsxMzksMTAgQEAgaW5saW5lIFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVt
OjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbShjb25zdCBTb3VyY2VQcm92aWRlckNhY2gKICAgICAs
IGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQocGFyYW1ldGVycy5jbG9zZUJyYWNlTGluZVN0YXJ0
T2Zmc2V0KQogICAgICwgdXNlZFZhcmlhYmxlc0NvdW50KHBhcmFtZXRlcnMudXNlZFZhcmlhYmxl
cy5zaXplKCkpCiAgICAgLCB3cml0dGVuVmFyaWFibGVzQ291bnQocGFyYW1ldGVycy53cml0dGVu
VmFyaWFibGVzLnNpemUoKSkKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgICwgaXNCb2R5QXJyb3dGdW5jdGlvbkJsb2NrKHBhcmFtZXRlcnMuaXNCb2R5QXJyb3dGdW5j
dGlvbkJsb2NrKQorICAgICwgdG9rZW5UeXBlKHBhcmFtZXRlcnMudG9rZW5UeXBlKQorI2VuZGlm
CiB7CiAgICAgdW5zaWduZWQgaiA9IDA7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHVz
ZWRWYXJpYWJsZXNDb3VudDsgKytpLCArK2opIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9TeW50YXhDaGVja2VyLmgKaW5kZXggOGI0NzU4NGJhN2I3YTRmMjljMGYwZTBlYWQ1N2Uw
NzM0ZmFiZmUyZi4uM2Y4ZTQ5MDhmZjI5ODBjYTBjNDYzNGExOTcyZDk0MGI3Yjc5ZDQwMCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKQEAgLTE3MCw2
ICsxNzAsMTAgQEAgcHVibGljOgogI2VuZGlmCiAgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlRnVu
Y3Rpb25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5m
bzxTeW50YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQogICAgIGludCBjcmVh
dGVGdW5jdGlvbkJvZHkoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgSlNUb2tlbkxvY2F0
aW9uJiwgaW50LCBpbnQsIGJvb2wsIGludCwgaW50LCBpbnQsIENvbnN0cnVjdG9yS2luZCkgeyBy
ZXR1cm4gRnVuY3Rpb25Cb2R5UmVzdWx0OyB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihjb25z
dCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tl
cj4mKSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KKyNlbmRpZiAKKyAgICB2b2lkIHNldEZ1bmN0
aW9uTmFtZVN0YXJ0KGludCwgaW50KSB7IH0KICAgICBpbnQgY3JlYXRlQXJndW1lbnRzKCkgeyBy
ZXR1cm4gQXJndW1lbnRzUmVzdWx0OyB9CiAgICAgaW50IGNyZWF0ZUFyZ3VtZW50cyhpbnQpIHsg
cmV0dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZVNwcmVh
ZEV4cHJlc3Npb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvblR5cGUsIGludCwg
aW50LCBpbnQpIHsgcmV0dXJuIFNwcmVhZEV4cHI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJjZGIzZGYwZDcw
NTJlODhmOWEwZTA5MjU3ZmQ5ZWRjYmM5MzA0M2EKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwCkBAIC0wLDAgKzEsNzUg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCisKKyNpbmNsdWRlICJF
cnJvci5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbkhlbHBlcnMuaCIKKyNpbmNsdWRlICJKU0NJbmxp
bmVzLmgiCisjaW5jbHVkZSAiSlNDSlNWYWx1ZS5oIgorI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIK
KyNpbmNsdWRlICJKU0Z1bmN0aW9uSW5saW5lcy5oIgorI2luY2x1ZGUgIkpTT2JqZWN0LmgiCisj
aW5jbHVkZSAiUHJvcGVydHlTbG90LmgiCisjaW5jbHVkZSAiVk0uaCIKKworbmFtZXNwYWNlIEpT
QyB7CisgICAgCitjb25zdCBDbGFzc0luZm8gSlNBcnJvd0Z1bmN0aW9uOjpzX2luZm8gPSB7ICJB
cnJvd0Z1bmN0aW9uIiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0Fy
cm93RnVuY3Rpb24pIH07CisKK3ZvaWQgSlNBcnJvd0Z1bmN0aW9uOjpkZXN0cm95KEpTQ2VsbCog
Y2VsbCkKK3sKKyAgICBzdGF0aWNfY2FzdDxKU0Fycm93RnVuY3Rpb24qPihjZWxsKS0+SlNBcnJv
d0Z1bmN0aW9uOjp+SlNBcnJvd0Z1bmN0aW9uKCk7Cit9CisKK0pTQXJyb3dGdW5jdGlvbjo6SlNB
cnJvd0Z1bmN0aW9uKFZNJiB2bSwgSlNTY29wZSogc2NvcGUsIEZ1bmN0aW9uRXhlY3V0YWJsZSog
ZXhlY3V0YWJsZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCisgICAgOiBCYXNlKHZtLCBleGVjdXRh
YmxlLCBzY29wZSwgc3RydWN0dXJlKQoreworfQorICAgIAordm9pZCBKU0Fycm93RnVuY3Rpb246
OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7
CisvLyBQcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24gaXMgdW5kZWZpbmVkCisgICAgcHV0RGly
ZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIGpzVW5kZWZpbmVkKCksIERvbnRE
ZWxldGUgfCBSZWFkT25seSB8IERvbnRFbnVtKTsKK30KKyAgICAKK3ZvaWQgSlNBcnJvd0Z1bmN0
aW9uOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCit7
CisgICAgSlNBcnJvd0Z1bmN0aW9uKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTQXJyb3dGdW5jdGlv
bio+KGNlbGwpOworICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVjdCwgaW5m
bygpKTsKKyAgICBCYXNlOjp2aXNpdENoaWxkcmVuKHRoaXNPYmplY3QsIHZpc2l0b3IpOworfQor
ICAgIAorQ29uc3RydWN0VHlwZSBKU0Fycm93RnVuY3Rpb246OmdldENvbnN0cnVjdERhdGEoSlND
ZWxsKiBjZWxsLCBDb25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQoreworICAgIEpTRnVuY3Rp
b24qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNGdW5jdGlvbio+KGNlbGwpOworICAgICAgICAKKyAg
ICBjb25zdHJ1Y3REYXRhLmpzLmZ1bmN0aW9uRXhlY3V0YWJsZSA9IHRoaXNPYmplY3QtPmpzRXhl
Y3V0YWJsZSgpOworICAgIGNvbnN0cnVjdERhdGEuanMuc2NvcGUgPSB0aGlzT2JqZWN0LT5zY29w
ZSgpOworICAgIHJldHVybiBDb25zdHJ1Y3RUeXBlTm9uZTsKK30KK30gLy8gbmFtZXNwYWNlIEpT
QwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0
aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mMTA5YTRhMmI1MTlmNWFiYzI1YWQzNmYwZjI1YzQwOTM1ODFkYzkxCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0
aW9uLmgKQEAgLTAsMCArMSw3MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZm5kZWYgSlNBcnJvd0Z1bmN0aW9uX2gKKyNkZWZpbmUgSlNBcnJvd0Z1
bmN0aW9uX2gKKworI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU0dsb2JhbE9i
amVjdC5oIgorCituYW1lc3BhY2UgSlNDIHsKKworY2xhc3MgSlNBcnJvd0Z1bmN0aW9uIDogcHVi
bGljIEpTRnVuY3Rpb24geworcHVibGljOgorICAgIHR5cGVkZWYgSlNGdW5jdGlvbiBCYXNlOwor
ICAgICAgICAKKyAgICBzdGF0aWMgSlNBcnJvd0Z1bmN0aW9uKiBjcmVhdGUoVk0mIHZtLCBKU1Nj
b3BlKiBzY29wZSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0KQorICAgIHsKKyAgICAgICAgSlNBcnJvd0Z1bmN0aW9uKiBmdW5jdGlv
biA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEpTQXJyb3dGdW5jdGlvbj4odm0uaGVhcCkp
IEpTQXJyb3dGdW5jdGlvbih2bSwgc2NvcGUsIGV4ZWN1dGFibGUsIGdsb2JhbE9iamVjdC0+YXJy
b3dGdW5jdGlvblN0cnVjdHVyZSgpKTsKKyAgICAgICAgQVNTRVJUKGZ1bmN0aW9uLT5zdHJ1Y3R1
cmUoKS0+Z2xvYmFsT2JqZWN0KCkpOworICAgICAgICBmdW5jdGlvbi0+ZmluaXNoQ3JlYXRpb24o
dm0pOworICAgICAgICByZXR1cm4gZnVuY3Rpb247CisgICAgfQorICAgIAorICAgIHN0YXRpYyB2
b2lkIGRlc3Ryb3koSlNDZWxsKik7CisgICAgICAgIAorICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNy
ZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFs
dWUgcHJvdG90eXBlKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGdsb2JhbE9iamVjdCk7CisgICAg
ICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUs
IFR5cGVJbmZvKEpTRnVuY3Rpb25UeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CisgICAg
fQorICAgICAgICAKKyAgICBzdGF0aWMgQ29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhKEpT
Q2VsbCosIENvbnN0cnVjdERhdGEmKTsKKyAgICAgICAgCisgICAgREVDTEFSRV9JTkZPOworCitw
cm90ZWN0ZWQ6CisgICAgY29uc3Qgc3RhdGljIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3Zl
cnJpZGVzSGFzSW5zdGFuY2UgfCBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsKKyAgICAgICAgCisgICAg
c3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOworICAgICAg
ICAKK3ByaXZhdGU6CisgICAgSlNBcnJvd0Z1bmN0aW9uKFZNJiwgSlNTY29wZSosIEZ1bmN0aW9u
RXhlY3V0YWJsZSosIFN0cnVjdHVyZSopOworCisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYp
OworfTsKKyAgICAKK30gLy8gbmFtZXNwYWNlIEpTQworCisjZW5kaWYgLy8gSlNBcnJvd0Z1bmN0
aW9uX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rp
b24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAppbmRleCBi
ZTBiZGM3ODQyZjk3MzNjNzZiMDY0NDNiZGEzNjYxNDE4ZWE1OTk3Li42MDYwYmU3YmYzNTliMDAx
NWYzMzJiNzA3MDczM2M0NjU2MzcwODY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNGdW5jdGlvbi5oCkBAIC0xMzEsNiArMTMxLDkgQEAgcHJvdGVjdGVkOgogCiAgICAgSlNf
RVhQT1JUX1BSSVZBVEUgSlNGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJl
Kik7CiAgICAgSlNGdW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSosIEpTU2NvcGUqKTsK
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEpTRnVuY3Rpb24oVk0m
LCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBKU1Njb3BlKiwgU3RydWN0dXJlKik7CisjZW5kaWYKIAog
ICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBOYXRpdmVFeGVjdXRhYmxlKiwgaW50IGxlbmd0
aCwgY29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICB1c2luZyBCYXNlOjpmaW5pc2hDcmVhdGlvbjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25Jbmxp
bmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5o
CmluZGV4IGE1ZGU5MTdjMTdlNDg0ZGNhYTY1NTA1YWY3MTE3ODc1NDI5NWUyNGYuLjdkYjgwNDA2
ZTcxZGIyYjdiYjYzNTQ1ODIzNTZiNWUxZjVjODJiNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaApAQCAtMzgsNiArMzgsMTUgQEAg
aW5saW5lIEpTRnVuY3Rpb246OkpTRnVuY3Rpb24oVk0mIHZtLCBGdW5jdGlvbkV4ZWN1dGFibGUq
IGV4ZWN1dGFibGUsIEpTU2NvcGUqIHMKIHsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCitpbmxpbmUgSlNGdW5jdGlvbjo6SlNGdW5jdGlvbihWTSYgdm0sIEZ1bmN0
aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgSlNTY29wZSogc2NvcGUsIFN0cnVjdHVyZSogc3Ry
dWN0dXJlKQorICAgIDogQmFzZSh2bSwgc2NvcGUsIHN0cnVjdHVyZSkKKyAgICAsIG1fZXhlY3V0
YWJsZSh2bSwgdGhpcywgZXhlY3V0YWJsZSkKKyAgICAsIG1fYWxsb2NhdGlvblByb2ZpbGVXYXRj
aHBvaW50KENsZWFyV2F0Y2hwb2ludCkKK3sKK30KKyNlbmRpZgorICAgIAogaW5saW5lIEZ1bmN0
aW9uRXhlY3V0YWJsZSogSlNGdW5jdGlvbjo6anNFeGVjdXRhYmxlKCkgY29uc3QKIHsKICAgICBB
U1NFUlQoIWlzSG9zdEZ1bmN0aW9uTm9uSW5saW5lKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCmluZGV4IGE1ZWFhZmIxYmU3Y2NkZmIy
ZGZiZjE4Y2FhMzJjZGUyMjgyNGEwZjQuLjNjMzQxYTlkYTljOThmNzFjNTkwOTRlNDljOTZkY2Vj
MGUyY2IxMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xv
YmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bE9iamVjdC5jcHAKQEAgLTYyLDYgKzYyLDkgQEAKICNpbmNsdWRlICJKU0FycmF5QnVmZmVyUHJv
dG90eXBlLmgiCiAjaW5jbHVkZSAiSlNBcnJheUl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiSlNCb3Vu
ZEZ1bmN0aW9uLmgiCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyNpbmNs
dWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNlbmRpZgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIK
ICNpbmNsdWRlICJKU0NhbGxiYWNrQ29uc3RydWN0b3IuaCIKICNpbmNsdWRlICJKU0NhbGxiYWNr
RnVuY3Rpb24uaCIKQEAgLTIzMyw2ICsyMzYsOSBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0
KFZNJiB2bSkKICAgICBleGVjLT5zZXRDYWxsZWUobV9nbG9iYWxDYWxsZWUuZ2V0KCkpOwogCiAg
ICAgbV9mdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpTRnVuY3Rpb246OmNyZWF0ZVN0
cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOworI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgbV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJl
LnNldCh2bSwgdGhpcywgSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMs
IG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKKyNlbmRpZgogICAgIG1fYm91bmRGdW5jdGlv
blN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpTQm91bmRGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJl
KHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7CiAgICAgbV9uYW1lZEZ1bmN0
aW9uU3RydWN0dXJlLnNldCh2bSwgdGhpcywgU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRp
b24odm0sIG1fZnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCksIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUs
IERvbnREZWxldGUgfCBSZWFkT25seSB8IERvbnRFbnVtLCBtX2Z1bmN0aW9uTmFtZU9mZnNldCkp
OwogICAgIG1faW50ZXJuYWxGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEludGVybmFs
RnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5n
ZXQoKSkpOwpAQCAtNzI1LDYgKzczMSw5IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OnZpc2l0Q2hp
bGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKICAgICB2aXNpdG9yLmFw
cGVuZCgmdGhpc09iamVjdC0+bV9jYWxsZWVTdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5k
KCZ0aGlzT2JqZWN0LT5tX2Z1bmN0aW9uU3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgm
dGhpc09iamVjdC0+bV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlKTsKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2Fy
cm93RnVuY3Rpb25TdHJ1Y3R1cmUpOworI2VuZGlmCiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNP
YmplY3QtPm1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRo
aXNPYmplY3QtPm1fc3ltYm9sT2JqZWN0U3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgm
dGhpc09iamVjdC0+bV9yZWdFeHBNYXRjaGVzQXJyYXlTdHJ1Y3R1cmUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKaW5kZXggNWYwOGZlNDhhOGZh
Y2Y1NTdhZWZkMTVmYzYwMzU3MWRjMDBkMmE0OC4uMjJkYzkzYWY0MGI1YTg3ODI1MzA5ZTdiODMw
YmQ3YTM2ZDgyZmM4ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNHbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ds
b2JhbE9iamVjdC5oCkBAIC0yMjQsNiArMjI0LDkgQEAgcHJvdGVjdGVkOgogICAgIFdyaXRlQmFy
cmllcjxTdHJ1Y3R1cmU+IG1fY2FsbGVlU3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1
Y3R1cmU+IG1fZnVuY3Rpb25TdHJ1Y3R1cmU7CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4g
bV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9hcnJvd0Z1bmN0aW9uU3RydWN0
dXJlOworI2VuZGlmCiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9uYW1lZEZ1bmN0aW9u
U3RydWN0dXJlOwogICAgIFByb3BlcnR5T2Zmc2V0IG1fZnVuY3Rpb25OYW1lT2Zmc2V0OwogICAg
IFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fcHJpdmF0ZU5hbWVTdHJ1Y3R1cmU7CkBAIC00NTUs
NiArNDU4LDkgQEAgcHVibGljOgogICAgIFN0cnVjdHVyZSogY2FsbGVlU3RydWN0dXJlKCkgY29u
c3QgeyByZXR1cm4gbV9jYWxsZWVTdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUqIGZ1
bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9mdW5jdGlvblN0cnVjdHVyZS5nZXQo
KTsgfQogICAgIFN0cnVjdHVyZSogYm91bmRGdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0
dXJuIG1fYm91bmRGdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisgICAgU3RydWN0dXJlKiBhcnJvd0Z1bmN0aW9uU3RydWN0dXJl
KCkgY29uc3QgeyByZXR1cm4gbV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CisjZW5k
aWYKICAgICBTdHJ1Y3R1cmUqIG5hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVy
biBtX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBQcm9wZXJ0eU9mZnNldCBm
dW5jdGlvbk5hbWVPZmZzZXQoKSBjb25zdCB7IHJldHVybiBtX2Z1bmN0aW9uTmFtZU9mZnNldDsg
fQogICAgIFN0cnVjdHVyZSogbnVtYmVyT2JqZWN0U3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4g
bV9udW1iZXJPYmplY3RTdHJ1Y3R1cmUuZ2V0KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsdGhpcy5qcyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsdGhp
cy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zZTQ4NjNjODU1NGE3MGNkNjg4MTdmYTViODRlYTE5YTQyNzI2NDI1
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9h
cnJvd2Z1bmN0aW9uLWxleGljYWx0aGlzLmpzCkBAIC0wLDAgKzEsMzEgQEAKK3ZhciByZXN1bHQ7
CisKKyB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkg
eworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBF
eHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7Cisg
IH0KK307CisKK3ZhciBhZk9iakxleEJpbmQyID0gZnVuY3Rpb24gKCkgeworICB0aGlzLmZ1bmMg
PSAoKSA9PiB0aGlzOworfTsKKwordmFyIGFmT2JqTGV4QmluZDJJbnN0YW5jZSA9IG5ldyBhZk9i
akxleEJpbmQyKCk7CisKK3Rlc3RDYXNlKGFmT2JqTGV4QmluZDJJbnN0YW5jZS5mdW5jKCkgPT09
IGFmT2JqTGV4QmluZDJJbnN0YW5jZSwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2Fs
bHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzIiKTsKKwordmFyIG9iaiA9
IHsKKyAgbWV0aG9kOiBmdW5jdGlvbiAoKSB7CisgICAgcmV0dXJuICgpID0+IHRoaXM7CisgIH0K
K307CisKK3Rlc3RDYXNlKG9iai5tZXRob2QoKSgpID09PSBvYmosIHRydWUsICJFcnJvcjogdGhp
cyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMz
Iik7CisKK3ZhciBmYWtlID0ge3N0ZWFsOiBvYmoubWV0aG9kKCl9OwordGVzdENhc2UoZmFrZS5z
dGVhbCgpID09PSBvYmosIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRl
ZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM0Iik7CisKKworLy8gRml4bWU6IGZvbGxv
d2luZyB0ZXN0IGZhaWxzIGluIGRmZy1lYWdlci1uby1jaml0LXZhbGlkYXRlICYgZnRsLWVhZ2Vy
LW5vLWNqaXQgbW9kZQorLy92YXIgcmVhbCA9IHtib3Jyb3c6IG9iai5tZXRob2R9OworLy90ZXN0
Q2FzZShyZWFsLmJvcnJvdygpKCkgPT09IHJlYWwsIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3Qg
bGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM1Iik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
b3RoZXJzLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0
aW9uLW90aGVycy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYmJmODU5ZTIwM2ViMWY1NGFjYWUxZDQwODNjYTNk
ZDNkYzk3NjFmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLW90aGVycy5qcwpAQCAtMCwwICsxLDMwIEBACit2YXIgcmVz
dWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3Nh
Z2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsg
Ii4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIici
OworICB9Cit9OworCit2YXIgc2ltcGxlQXJyb3dGdW5jdGlvbiA9ICgpID0+IHt9OworCit0ZXN0
Q2FzZSh0eXBlb2Ygc2ltcGxlQXJyb3dGdW5jdGlvbiwgImZ1bmN0aW9uIiwgIkVycm9yOiBOb3Qg
Y29ycmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShPYmplY3Qu
Z2V0UHJvdG90eXBlT2Yoc2ltcGxlQXJyb3dGdW5jdGlvbiksIEZ1bmN0aW9uLnByb3RvdHlwZSwg
IkVycm9yOiBOb3QgY29ycmVjdCBnZXRQcm90b3R5cGVPZiB2YWx1ZSBmb3IgYXJyb3cgZnVuY3Rp
b24iKTsKKwordGVzdENhc2Uoc2ltcGxlQXJyb3dGdW5jdGlvbiBpbnN0YW5jZW9mIEZ1bmN0aW9u
LCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgaW5zdGFuY2VvZiBtZXRob2Qg
Zm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93RnVuY3Rpb24uY29u
c3RydWN0b3IgPT0gRnVuY3Rpb24sIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZv
ciBjb25zdHJ1Y3RvciBtZXRob2Qgb2YgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2UodHlw
ZW9mIHNpbXBsZUFycm93RnVuY3Rpb24ucHJvdG90eXBlID09PSAndW5kZWZpbmVkJywgdHJ1ZSwg
IkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlv
biIpOworCit2YXIgZXJyb3JPbkNyZWF0ZSA9IGZhbHNlOworCit0cnkgeworICB2YXIgZmMgPSBu
ZXcgc2ltcGxlQXJyb3dGdW5jdGlvbigpOworfQorY2F0Y2ggKGUpIHsKKyAgZXJyb3JPbkNyZWF0
ZSA9IHRydWU7Cit9CisKK3Rlc3RDYXNlKGVycm9yT25DcmVhdGUsIHRydWUsICJFcnJvcjogTm8g
ZXJyb3IgZHVyaW5nIHJ1biBuZXcgQXJyb3dGdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLmpzIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA2
ODdiM2FhYjFkMjdmNDUzZjkwNzYxY2VjMWFkNGQwNWNmMDNiMzUKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24uanMKQEAg
LTAsMCArMSwxNTQgQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAo
YWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkg
eworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1
dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBhcnJvd0Z1bmN0aW9uMCA9
IHYgPT4gdiArIDE7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMCgxMCk7Cit0ZXN0Q2FzZShyZXN1
bHQsIDExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b246IHYgPT4gdiArIDEiKTsKKwordmFyIGFycm93RnVuY3Rpb24xID0gKHYpID0+IHYgKiAyOwor
cmVzdWx0ID0gYXJyb3dGdW5jdGlvbjEoMTApOwordGVzdENhc2UocmVzdWx0LCAyMCAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAodikgPT4gdiAr
IDEiKTsKKwordmFyIGFycm93RnVuY3Rpb24yID0gKCkgPT4gMTAwMDsKK3Jlc3VsdCA9IGFycm93
RnVuY3Rpb24yKDEyMTIpOwordGVzdENhc2UocmVzdWx0LCAxMDAwICwiRXJyb3I6IE5vdCBjb3Jy
ZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICgpID0+IDEwMDAiKTsKKwordmFy
IHRtcFZhcmlhbHZlMl8xID0gMTUxOwordmFyIGFycm93RnVuY3Rpb24yXzEgPSAoKSA9PiB0bXBW
YXJpYWx2ZTJfMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24yXzEoMTIxKTsKK3Rlc3RDYXNlKHJl
c3VsdCwgdG1wVmFyaWFsdmUyXzEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbjogKCkgPT4gdmFyaWFibGUiKTsKKwordmFyIGFycm93RnVuY3Rpb24z
ID0gKHYsIHgpID0+IHYgKyB4OworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjMoMTEsMTIpOwordGVz
dENhc2UocmVzdWx0LCAyMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFy
cm93IGZ1bmN0aW9uOiAoeCwgeSkgPT4geCArIHkiKTsKKwordmFyIGFycm93RnVuY3Rpb25XcmFw
cGVyID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRlcikgeyByZXR1cm4gY2wocGFyYW10ZXIpOyB9Owor
CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEyMzQpOwordGVzdENhc2UocmVz
dWx0LCAxMjM0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjKSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlv
bldyYXBwZXIoeCA9PiAxMjM0LCAyMzQ1KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIzNCAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVy
OiBmKHggPT4gYywgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4g
MTIxICsgMjMyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzUzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjMSArIGMy
KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMjMgKyAzMjEsIDk5
OTkpOwordGVzdENhc2UocmVzdWx0LCA0NDQgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMxICsgYzIsIHkpIik7
CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IHggKyAxMiwgMjEpOwordGVz
dENhc2UocmVzdWx0LCAzMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFy
cm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4geCArIGMxLCB5KSIpOworCisgcmVzdWx0
ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKHgpID0+IHggKyAyMSwgMzIpOwordGVzdENhc2UocmVz
dWx0LCA1MywgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0
aW9uIGFzIHBhcmFtdGVyOiBmKCh4KSA9PiBjMSArIGMyLCB5KSIpOworCisgcmVzdWx0ID0gYXJy
b3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwLCAiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10
ZXI6IGYoKCkgPT4gYykiKTsKKworIHZhciBleHRfdmFsdWUgPSAxMjE7CityZXN1bHQgPSBhcnJv
d0Z1bmN0aW9uV3JhcHBlcigoKSA9PiBleHRfdmFsdWUpOwordGVzdENhc2UocmVzdWx0LCAxMjEs
ICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBw
YXJhbXRlcjogZigoKSA9PiB2KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIo
KCkgPT4gZXh0X3ZhbHVlICogMTApOwordGVzdENhc2UocmVzdWx0LCAxMjEwICwiRXJyb3I6IE5v
dCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYo
KCkgPT4gdip4KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKHgpID0+IGV4
dF92YWx1ZSAqIHgsIDMwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzAqZXh0X3ZhbHVlICwiRXJyb3I6
IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6
IGYoKHgpID0+IHYqeCwgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgp
ID0+IDEwMCwgMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDAgLCJFcnJvcjogTm90IGNvcnJlY3Qg
ZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjMSwg
eSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCArIDEwKTsK
K3Rlc3RDYXNlKHJlc3VsdCwgMTEwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0
aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYzEgKyBjMikiKTsKKworIHJl
c3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCArIDExLCAxMik7Cit0ZXN0Q2Fz
ZShyZXN1bHQsIDExMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMxICsgYzIsIHkpIik7CisKKyB2YXIgYXJy
b3dGdW5jdGlvbjQgPSB2ID0+IHYgKyAxLCB4eXoxID0gMTAxMDE7CityZXN1bHQgPSBhcnJvd0Z1
bmN0aW9uNCgxMDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAxMiAsIkVycm9yOiBOb3QgY29ycmVj
dCBwYXJzaW5nIG9mIHRoIGFycm93IGZ1bmN0aW9uIGluc2lkZSBvZiB0aGUgbGlzdCBvZiB2YXJz
OiB2YXIgYWYgPSB2PT4gdiArIDE7IHp4Yz1jOyIpOwordGVzdENhc2UoeHl6MSwgMTAxMDEgLCJF
cnJvcjogTm90IGNvcnJlY3QgcGFyc2luZyBvZiB0aCBhcnJvdyBmdW5jdGlvbiBpbnNpZGUgb2Yg
dGhlIGxpc3Qgb2YgdmFyczogdmFyIGFmID0gdj0+IHYgKyAxOyB6eGM9YzsiKTsKKworIHZhciBh
cnJvd0Z1bmN0aW9uV3JhcHBlcjIgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVyMSwgcGFyYW10ZXIy
KSB7IHJldHVybiBjbChwYXJhbXRlcjEsIHBhcmFtdGVyMik7IH07CityZXN1bHQgPSBhcnJvd0Z1
bmN0aW9uV3JhcHBlcjIoKHgsIHkpID0+IHggKyB5LCAxMiAsNDMpOwordGVzdENhc2UocmVzdWx0
LCA1NSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9u
IGFzIHBhcmFtZXRlcjogZigoeCwgeSkgPT4geCArIHksIGMxLCBjMikiKTsKKworIHZhciBhcnJv
d0Z1bmN0aW9BcnJheTAgPSBbdiA9PiB2ICogMTBdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJy
YXkwWzBdKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogW3Y9PnYqMTBd
Iik7CisKKyB2YXIgYXJyb3dGdW5jdGlvQXJyYXkxID0gW3YgPT4gdiArIDEsIHYgPT4gdiArIDJd
OworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkxWzBdKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwg
MTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBh
cyBpdGVtIGluIGFycmF5OiBbdiA9PiB2ICsgMSwgIHYgPT4gdiArIDJdIik7CityZXN1bHQgPSBh
cnJvd0Z1bmN0aW9BcnJheTFbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMyAsIkVycm9yOiBO
b3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJy
YXk6IFt2ID0+IHYgKyAxLCAgdiA9PiB2ICsgMl0iKTsKKworIHZhciBhcnJvd0Z1bmN0aW9BcnJh
eTIgPSBbKHYpID0+IHYgKyAxLCAodikgPT4gdiArIDJdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlv
QXJyYXkyWzBdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIgLCJFcnJvcjogTm90IGNvcnJlY3Qg
ZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKHYpID0+
IHYgKyAxLCAgKHYpID0+IHYgKyAyXSIpOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkyWzFd
KDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKHYpID0+IHYgKyAxLCAg
KHYpID0+IHYgKyAyXSIpOworCisgdmFyIGFycm93RnVuY3Rpb0FycmF5MyA9IFsoKSA9PiAxMDEs
ICgpID0+IDEyMzIzXTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5M1swXSgxMSk7Cit0ZXN0
Q2FzZShyZXN1bHQsIDEwMSwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFy
cm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsoKSA9PiBjMSwgICgpID0+IGMyXSIpOwor
cmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkzWzFdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIz
MjMsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBh
cyBpdGVtIGluIGFycmF5OiBbKCkgPT4gYzEsICAoKSA9PiBjMl0iKTsKKwordmFyIGFycm93RnVu
Y3Rpb25PYmogPSB7ZnVuYyA6IHkgPT4geSArIDEyfTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25P
YmouZnVuYygxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIzICwgIkVycm9yOiBOb3QgY29ycmVjdCBl
eGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHByb3BlcnR5OiB7ZnVuYyA6IHkgPT4g
eSArIDEyIH0iKTsKKwordmFyIGFmT2JqTGV4QmluZDIgPSBmdW5jdGlvbiAoKSB7CisgIHRoaXMu
ZnVuYyA9ICgpID0+IHRoaXM7Cit9OworCit2YXIgYXJyb3dGYXRGdW5jdGlvbjAgPSAoKSA9PiB7
IHJldHVybiAxMDAwOyB9OworcmVzdWx0ID0gYXJyb3dGYXRGdW5jdGlvbjAoMTEpOwordGVzdENh
c2UocmVzdWx0LCAxMDAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiAoKSA9PiB7IHJldHVybiAxMDAwOyB9Iik7
CisKK3ZhciBhcnJvd0ZhdEZ1bmN0aW9uMSA9IHYgPT4geyB2YXIgaW50dmFsID0gMTAwOyByZXR1
cm4gdiAqIGludHZhbDsgfTsKK3Jlc3VsdCA9IGFycm93RmF0RnVuY3Rpb24xKDExKTsKK3Rlc3RD
YXNlKHJlc3VsdCwgMTEwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFy
cm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogeCA9PiB7IHZhciB2PTEwMDA7IHJldHVy
biB2Kng7IH0iKTsKKwordmFyIGFycm93RmF0RnVuY3Rpb24yID0gKHYpID0+IHsgdmFyIGludCA9
IDIwMDsgcmV0dXJuIHYgKiBpbnQ7IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0aW9uMigxMSk7
Cit0ZXN0Q2FzZShyZXN1bHQsIDIyMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICh4KSA9PiB7IHZhciB2PTEw
MDA7IHJldHVybiB2Kng7IH0iKTsKKwordmFyIGFycm93RmF0RnVuY3Rpb24zID0gKHYsIHgpID0+
IHsgdmFyIHJlc3VsdCA9IHggKiB2OyByZXR1cm4gcmVzdWx0OyB9OworcmVzdWx0ID0gYXJyb3dG
YXRGdW5jdGlvbjMoMTEsIDEyMjIyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTM0NDQyICwiRXJyb3I6
IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFz
IGJsb2NrOiAodiwgeCkgPT4geyB2YXIgcmVzdWx0ID0geCAqIHY7IHJldHVybiByZXN1bHQ7IH0i
KTsKKworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeD0+e3JldHVybiB4ICogMjU7fSwg
MTIxKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjUqMTIxICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1
dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiBmKHggPT4ge3Jl
dHVybiB4ICogMjU7fSwgMTIxKSIpOworCityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcjIo
KHgsIHkpPT57cmV0dXJuIHggKiB5O30sIDE0LCAxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDE0KjEy
ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0
aCBib2R5IGFzIGJsb2NrOiBmKCh4LCB5KT0+e3JldHVybiB4ICogeTt9LCAxNCwgMTIxKSkiKTsK
KwordmFyIHNpbXBsZUFycm93RnVuY3Rpb24gPSAoKSA9PiB7fTsKKwordGVzdENhc2UodHlwZW9m
IHNpbXBsZUFycm93RnVuY3Rpb24sICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNvcnJlY3QgdHlw
ZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2UoT2JqZWN0LmdldFByb3RvdHlw
ZU9mKHNpbXBsZUFycm93RnVuY3Rpb24pLCBGdW5jdGlvbi5wcm90b3R5cGUsICJFcnJvcjogTm90
IGNvcnJlY3QgZ2V0UHJvdG90eXBlT2YgdmFsdWUgZm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rl
c3RDYXNlKHNpbXBsZUFycm93RnVuY3Rpb24gaW5zdGFuY2VvZiBGdW5jdGlvbiwgdHJ1ZSwgIkVy
cm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIGluc3RhbmNlb2YgbWV0aG9kIGZvciBhcnJvdyBm
dW5jdGlvbiIpOworCit0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uLmNvbnN0cnVjdG9yID09
IEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgY29uc3RydWN0
b3IgbWV0aG9kIG9mIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHR5cGVvZiBzaW1wbGVB
cnJvd0Z1bmN0aW9uLnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJFcnJvcjogTm90
IGNvcnJlY3QgcmVzdWx0IGZvciBwcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24iKTsKKwordmFy
IGVycm9yT25DcmVhdGUgPSBmYWxzZTsKKwordHJ5IHsKKyAgdmFyIGZjID0gbmV3IHNpbXBsZUFy
cm93RnVuY3Rpb24oKTsKK30KK2NhdGNoIChlKSB7CisgIGVycm9yT25DcmVhdGUgPSB0cnVlOwor
fQorCit0ZXN0Q2FzZShlcnJvck9uQ3JlYXRlLCB0cnVlLCAiRXJyb3I6IE5vIGVycm9yIGR1cmlu
ZyBydW4gbmV3IEFycm93RnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOGIxMTJmYWU0NWI5NTdk
ZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkz
YzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZBU19Q
QVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9F
UzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CitFTkFCTEVfRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVO
QUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJM
RV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yID0gRU5BQkxFX0NT
U19BTklNQVRJT05TX0xFVkVMXzI7CkBAIC0yMTQsNCArMjE1LDQgQEAgRU5BQkxFX0xMSU5UX0Nf
TE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9T
QVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
XzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChF
TkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQo
RU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xF
VkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NP
TVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19H
UklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxF
Q1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkg
JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
UykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVO
QUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJ
TUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
TEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9B
TklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQp
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVO
QUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVO
QUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5B
QkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9X
X1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VM
RU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgp
ICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5B
QkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkg
JChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9D
U1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsp
ICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9O
KSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAk
KEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFC
TEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VS
U09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVf
REFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RB
VEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVW
SUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFC
TEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxF
X0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVM
TFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRF
RCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9U
SFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Vf
SU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Ip
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9X
RUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAk
KEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVf
TUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9F
TEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVO
QUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VS
UkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQo
RU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlU
WV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01Q
TEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJ
QV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05B
UCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5B
QkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9D
T05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9U
RU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJ
TkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJM
RV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RF
X0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVf
V0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMp
ICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9Y
SFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJ
TlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxF
X1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9t
YWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOGIxMTJmYWU0
NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0OGE3Njk3MmYxMTRjMzgzZDMyNjI5
ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5B
QkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9Y
WSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CitF
TkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRF
UklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8y
ID0gRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBAIC0yMTQsNCArMjE1LDQgQEAgRU5B
QkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJ
QyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5F
UyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFT
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9D
QVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJU
SVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQo
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVO
QUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19B
TklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChF
TkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQo
RU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5B
QkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9D
U1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1Jf
VklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNI
Qk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9U
UkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9F
TkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklM
VEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NS
RUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAk
KEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9U
VExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9X
T1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxF
U1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxF
X0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9B
VURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5B
QkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1F
TlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxF
X05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5D
WSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFC
TEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VW
RU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFC
TEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRF
KSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FV
RVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAk
KEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVf
U1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZF
UlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBM
QVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19X
T1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJ
REVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NT
X01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJf
UkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChF
TkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9U
SU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9D
X0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklE
RU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVO
REVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9B
VFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVf
Q0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhU
KSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09S
QVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklD
RV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFH
RV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NT
U19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NI
QVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykg
JChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExF
UikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQp
ICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkg
JChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJV
Q1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFf
VjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykg
JChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQ
QURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdF
X0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NF
UlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9N
T05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUsp
ICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5L
X1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQ
VCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09S
X1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdB
VE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJ
VF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5B
QkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFC
TEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFV
RVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVT
T0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NT
U19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFN
U19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9O
KSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJM
RV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJ
REVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFC
TEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJ
TykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJ
Q1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05T
KSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkg
JChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVU
SUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNl
L1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOGIx
MTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0OGE3Njk3MmYxMTRjMzgz
ZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdDIvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5B
QkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9Y
WSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CitF
TkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRF
UklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8y
ID0gRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBAIC0yMTQsNCArMjE1LDQgQEAgRU5B
QkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJ
QyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5F
UyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFT
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9D
QVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJU
SVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQo
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVO
QUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19B
TklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChF
TkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQo
RU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5B
QkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9D
U1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1Jf
VklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNI
Qk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9U
UkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9F
TkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklM
VEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NS
RUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAk
KEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9U
VExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9X
T1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxF
U1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxF
X0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9B
VURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5B
QkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1F
TlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxF
X05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5D
WSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFC
TEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VW
RU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFC
TEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRF
KSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FV
RVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAk
KEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVf
U1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZF
UlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBM
QVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19X
T1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJ
REVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NT
X01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJf
UkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChF
TkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9U
SU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9D
X0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklE
RU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVO
REVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9B
VFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVf
Q0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhU
KSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09S
QVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklD
RV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFH
RV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NT
U19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NI
QVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykg
JChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExF
UikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQp
ICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkg
JChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJV
Q1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFf
VjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykg
JChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQ
QURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdF
X0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NF
UlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9N
T05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUsp
ICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5L
X1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQ
VCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09S
X1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdB
VE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJ
VF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5B
QkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFC
TEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFV
RVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVT
T0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NT
U19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFN
U19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9O
KSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJM
RV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJ
REVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFC
TEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJ
TykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJ
Q1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05T
KSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkg
JChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVU
SUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJl
cy5jbWFrZQppbmRleCAzMmMyMzVkOThiNWE0MjBlYmUzMzQ4MzRjN2I2YTQxODJiMjIyMjBhLi5h
Njc1MzcxNDU2MjdjZDM4YTI3MDc5Y2Q1ZGZlOTg2ODJjOTFmNDY1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL1dlYktpdEZl
YXR1cmVzLmNtYWtlCkBAIC0yOCw2ICsyOCw3IEBAIG1hY3JvKFdFQktJVF9PUFRJT05fQkVHSU4p
CiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NBTlZBU19QUk9YWSAiVG9nZ2xlIENh
bnZhc1Byb3h5IHN1cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcgIlRvZ2dsZSBNZXNzYWdlQ2hhbm5lbCBhbmQgTWVzc2FnZVBvcnQg
c3VwcG9ydCIgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0VTNl9DTEFTU19T
WU5UQVggIlRvZ2dsZSBFUzYgY2xhc3Mgc3ludGF4IHN1cHBvcnQiIE9OKQorICAgIFdFQktJVF9P
UFRJT05fREVGSU5FKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggIlRvZ2dsZSBFUzYg
YXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVG
SU5FKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyAiVG9nZ2xlIGNvbnRlbnQgZmlsdGVyaW5nIHN1
cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ09OVEVYVF9NRU5V
UyAiVG9nZ2xlIENvbnRleHQgTWVudSBzdXBwb3J0IiBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RF
RklORShFTkFCTEVfQ1NQX05FWFQgIlRvZ2dsZSBDb250ZW50IFNlY3VyaXR5IFBvbGljeSAxLjEg
c3VwcG9ydCIgT0ZGKQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UgYi9T
b3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQppbmRleCAyMWQzZmNjNWQ5ODNmOTU5NWRlZjM1MTA1
NjhjZGM5ODk2NTI0NmVkLi5jZjFhZmU1NmM1ZjBmMjYwOTkwOTBlNTFiN2IyYTY2MDNlYTA3MzIx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQorKysgYi9Tb3VyY2UvY21h
a2Vjb25maWcuaC5jbWFrZQpAQCAtMTMsNiArMTMsNyBAQAogI2NtYWtlZGVmaW5lMDEgRU5BQkxF
X0NBTlZBU19QUk9YWQogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HCiAj
Y21ha2VkZWZpbmUwMSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWAorI2NtYWtlZGVmaW5lMDEgRU5B
QkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWAogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ09OVEVYVF9NRU5VUwogI2NtYWtl
ZGVmaW5lMDEgRU5BQkxFX0NSRURFTlRJQUxfU1RPUkFHRQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJs
L0ZlYXR1cmVMaXN0LnBtCmluZGV4IDE2ZmQ2NDljNjhkNmIzZDQzZDBiMzFlMzM1NzkwNGZjODcy
NGE3ZWIuLjIyM2IzMTFiY2ZiYWIyYzI2OGE3ZjI2NTJkMTRlZDE5NjM3ZmRmY2UgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KQEAgLTQ0LDYgKzQ0LDcgQEAgQkVHSU4g
ewogbXkgKAogICAgICR0aHJlZURSZW5kZXJpbmdTdXBwb3J0LAogICAgICRhY2NlbGVyYXRlZDJE
Q2FudmFzU3VwcG9ydCwKKyAgICAkYXJyb3dmdW5jdGlvblN5bnRheCwKICAgICAkYmF0dGVyeVN0
YXR1c1N1cHBvcnQsCiAgICAgJGNhbnZhc1BhdGhTdXBwb3J0LAogICAgICRjYW52YXNQcm94eVN1
cHBvcnQsCkBAIC0xNTQsNiArMTU1LDkgQEAgbXkgQGZlYXR1cmVzID0gKAogICAgIHsgb3B0aW9u
ID0+ICJhY2NlbGVyYXRlZC0yZC1jYW52YXMiLCBkZXNjID0+ICJUb2dnbGUgQWNjZWxlcmF0ZWQg
MkQgQ2FudmFzIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQUNDRUxFUkFURURf
MkRfQ0FOVkFTIiwgZGVmYXVsdCA9PiBpc0d0aygpLCB2YWx1ZSA9PiBcJGFjY2VsZXJhdGVkMkRD
YW52YXNTdXBwb3J0IH0sCiAKKyAgICB7IG9wdGlvbiA9PiAiYXJyb3dmdW5jdGlvbi1zeW50YXgi
LCBkZXNjID0+ICJUb2dnbGUgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheCBzdXBwb3J0IiwKKyAg
ICAgIGRlZmluZSA9PiAiRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCIsIGRlZmF1bHQg
PT4gMSwgdmFsdWUgPT4gXCRhcnJvd2Z1bmN0aW9uU3ludGF4IH0sCisKICAgICB7IG9wdGlvbiA9
PiAiYmF0dGVyeS1zdGF0dXMiLCBkZXNjID0+ICJUb2dnbGUgQmF0dGVyeSBTdGF0dXMgc3VwcG9y
dCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9CQVRURVJZX1NUQVRVUyIsIGRlZmF1bHQgPT4g
aXNFZmwoKSwgdmFsdWUgPT4gXCRiYXR0ZXJ5U3RhdHVzU3VwcG9ydCB9LAogCmRpZmYgLS1naXQg
YS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggZTZmMDBhZDNlYmY1MGRjYzFiYjc3YjdjZDYw
ZjY3ZTRkNTUwM2JhZS4uMWNiNzdjMzdhY2RiYWI3ZWM0MTUxMGE3NGE4ZGJlOTVjZGY3NDdmMyAx
MDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisy
MDE1LTA0LTAxICAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisg
ICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUg
ZmxhZyB0byBzd2l0Y2ggb24vb2ZmIGVzNiBhcnJvdyBmdW5jdGlvbiBFTkFCTEVfRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYCisKKyAgICAgICAgICogU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVz
LmNtYWtlOgorICAgICAgICAgKiBTb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZToKKwogMjAxNS0w
My0yNCAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtF
RkxdIEFkZCBPcGVuV2ViUlRDIGluIGpoYnVpbGQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249940</attachid>
            <date>2015-04-01 13:53:08 -0700</date>
            <delta_ts>2015-04-01 14:38:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150401235222.patch</filename>
            <type>text/plain</type>
            <size>133429</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyMjA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
ZmNjM2QxNTdiYmMyNzhhZGUyOTEyOTc3ZWI5MzAxYTA5YTJjYjA4Li41NTRhYjEzZWJkNmIyOGU4
NWY4OTQ2MzBhYjk1MGY4MDQ1YWJmZTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMTUgQEAKKzIwMTUtMDQtMDEgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MDg1NQorCisgICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGRlZCBzdXBwb3J0IG9mIEVTNiBhcnJvdyBmdW5jdGlvbi4gQ2hhbmdlcyB3ZXJlIG1hZGUgYWNj
b3JkaW5nIGZvbGxvd2luZyBzcGVjIGh0dHA6Ly93aWtpLmVjbWFzY3JpcHQub3JnL2Rva3UucGhw
P2lkPWhhcm1vbnk6YXJyb3dfZnVuY3Rpb25fc3ludGF4CisgICAgICAgIEluIHBhdGNoIHdlcmUg
aW1wbGVtZW50ZWQgdGhlIHNpbXBsZXN0IGNhc2VzOgorICAgICAgICAgIDEgbm8gcGFyYW1ldGVy
cyAgICAgICAgICAgICAgICAoKSA9PiAxMCArIDIwCisgICAgICAgICAgMiBzaW5nbGUgcGFyYW1l
dGVyICAgICAgICAgICAgICB4ID0+IHggKyAyMAorICAgICAgICAgIDMgbXVsdGlwbGUgcGFyYW1l
dGVycyAgICAgICh4LCB5KSA9PiB4ICsgeQorICAgICAgICAgIDQgYXJyb3cgZnVuY3Rpb24gd2l0
aCBibG9jayAgICAgeCA9PiB7IHJldHVybiB4KjEwOyB9CisgICAgICAgICAgNSBsZXhpY2FsIHRo
aXMgLSB2YXJpYWJsZSB0aGlzIGlzIHBvaW50IHRvIHRoZSB0aGlzIG9mIHRoZSBmdW5jdGlvbiB3
aGVyZSBhcnJvdyBmdW5jdGlvbiBpcyBkZWNsYXJlZAorICAgICAgICAgIDYgTm8gY29uc3RydWN0
b3IgLSB0aGUgdXNpbmcgb2YgdGhlIGNvbW1hbmQgbmV3IGZvciBhcnJvdyBmdW5jdGlvbiBsZWFk
cyB0byBydW50aW1lIGVycm9yLiAKKworICAgICAgICAgTm90IHlldCBpbXBsZW1lbnRlZDoKKyAg
ICAgICAgICAxIHRoZSB2YXJpYWJsZSB3aXRoIG5hbWUgYXJndW1lbnRzIGluc2lkZSBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gc2hvdWxkIHBvaW50IHRvIGxpc3Qgb2YgYXJndW1lbnRzIG9mIGZ1bmN0
aW9uIHdoZXJlIGFycm93IGZ1bmN0aW9uIGlzIGRlY2xhcmVkCisgICAgICAgICAgMiBwYXJzZXIg
d2lsbCBwYXJzZSB0aGUgc3RhdGVtZW50IHgsIHkgPT4geCArIHkgaW5zdGVhZCBvZiByYWlzaW5n
IGV4Y2VwdGlvbgorICAgICAgICAgIDMgbWV0aG9kIGNhbGwsIGFwcGx5LCBiaW5kIHNob3VsZCBu
b3Qgb3ZlcnJpZGUgdGhlIHRoaXMgdmFyaWFibGUgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlv
bgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6Cisg
ICAgICAgICogSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qOgor
ICAgICAgICAqIGJ5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uOgorICAgICAgICAqIGJ5dGVjb2Rl
L0J5dGVjb2RlVXNlRGVmLmg6CisgICAgICAgIChKU0M6OkZ1bmN0b3I6OmNvbXB1dGVVc2VzRm9y
Qnl0ZWNvZGVPZmZzZXQpOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAg
ICAgIChKU0M6OkNvZGVCbG9jazo6ZHVtcEJ5dGVjb2RlKToKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVH
ZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Fy
cm93RnVuY3Rpb25FeHByZXNzaW9uKTogYWRkZWQKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5l
cmF0b3I6OmVtaXRUaGlzTm9kZUJ5dGVjb2RlKTogYWRkZWQKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvTm9kZXNDb2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6ZW1pdEJ5dGVjb2RlOjplbWl0Qnl0
ZWNvZGUpOiBhZGRlZAorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHByTm9kZTo6ZW1pdEJ5dGVj
b2RlKTogYWRkZWQKKyAgICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAg
ICAoSlNDOjpCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgICogZGZnL0RGR0Nh
cGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkNhcGFiaWxpdHlMZXZlbDo6Y2FwYWJpbGl0
eUxldmVsKToKKyAgICAgICAgKiBqaXQvSklULmg6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9v
cF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRJbmxpbmVzLmg6
CisgICAgICAgIChKU0M6OkpJVDo6Y2FsbE9wZXJhdGlvbik6IGFkZGVkCisgICAgICAgICogaml0
L0pJVC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcyk6Cisg
ICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3Bf
bmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5j
cHA6CisgICAgICAgIChKU0M6OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5ld0Fycm93RnVuY3Rp
b24pOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmg6CisgICAgICAgIChKU0M6
OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24pOiBhZGRlZAorICAgICAg
ICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAgICAgICAgKExMSU5UX1NMT1dfUEFUSF9E
RUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGxsaW50
L0xMSW50U2xvd1BhdGhzLmg6CisgICAgICAgIChMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3Bh
dGhfbmV3X2Fycm93X2Z1bmNfZXhwKSk6IGFkZGVkCisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206CisgICAgICAgICogcGFyc2VyL0FTVEJ1aWxkZXIuaDoKKyAgICAgICAg
KEpTQzo6QVNUQnVpbGRlcjo6Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIpOgorICAgICAgICAqIHBh
cnNlci9MZXhlci5jcHA6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9u
KToKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OmxleCk6CisgICAgICAgICogcGFyc2VyL0xleGVy
Lmg6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9uKToKKyAgICAgICAg
KiBwYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oOgorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHBy
Tm9kZTo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZAorICAgICAgICAqIHBhcnNlci9Ob2Rlcy5o
OgorICAgICAgICAoSlNDOjpOb2RlOjppc0Fycm93RnVuY0V4cHJOb2RlKTogYWRkZWQKKyAgICAg
ICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZCBjbGFzcworICAgICAgICAqIHBhcnNl
ci9QYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3Vy
Y2VFbGVtZW50cyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1h
cnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZVNvdXJjZUVsZW1lbnQp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6
UGFyc2VyOjpwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwYXJzZVByaW1hcnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFy
cm93RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6c2V0RW5kT2ZTdGF0ZW1lbnQp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIpOgorICAg
ICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkluZm8pOgorICAgICAgICAoSlND
OjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkJvZHkpOgorICAgICAgICAqIHBhcnNlci9QYXJz
ZXIuaDoKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpGdW5jdGlvblBhcnNlVHlwZSk6CisgICAgICAg
IChKU0M6OlBhcnNlcjo6cGFyc2VTb3VyY2VFbGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0V4cHJl
c3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnNldEVuZE9mU3RhdGVtZW50KToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKToKKyAgICAgICAgKiBw
YXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmg6CisgICAgICAgICogcGFyc2VyL1BhcnNlclRva2Vu
cy5oOgorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmFycm93RnVuY3Rpb25PZmZz
ZXQpOiBhZGRlZAorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmlzQXJyb3dGdW5j
dGlvbik6IGFkZGVkCisgICAgICAgIChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6YXJyb3dGdW5j
dGlvbkJvZHlUeXBlKTogYWRkZWQKKyAgICAgICAgKiBwYXJzZXIvU291cmNlQ29kZS5oOgorICAg
ICAgICAoSlNDOjpTb3VyY2VDb2RlOjpzdWJBcnJvd0V4cHJlc3Npb24pOgorICAgICAgICAqIHBh
cnNlci9TeW50YXhDaGVja2VyLmg6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNyZWF0
ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAgICAgKiBwYXJzZXIvU291cmNlUHJvdmlkZXJDYWNo
ZUl0ZW06CisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJh
bWV0ZXJzKToKKyAgICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0pOgorICAgICAg
ICAoSlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6ZW5kQXJyb3dGdW5jdGlvblRva2VuKToK
KyAgICAgICAgKiBydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oOiBhZGRlZCBjbGFzcyBmb3IgaGFu
ZGxlIGFycm93IGZ1bmN0aW9uIGNyZWF0aW9uIGFuZCBleGVjdXRpb24KKyAgICAgICAgKiBydW50
aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHA6CisgICAgICAgICogcnVudGltZS9KU0Z1bmN0aW9uLmg6
CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OkpTRnVuY3Rpb24pOiBhZGRlZCBvbmUgbW9yZSBj
b25zdHJ1Y3RvcgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaDoKKyAgICAg
ICAgKEpTQzo6SlNGdW5jdGlvbjo6SlNGdW5jdGlvbik6IGFkZGVkIGNvbnN0cnVjdG9yIGltcGxl
bWVudGF0aW9uCisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAg
IChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmpl
Y3Q6Om1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZSk6IGFkZGVkCisgICAgICAgIChKU0M6OkpTR2xv
YmFsT2JqZWN0OjphcnJvd0Z1bmN0aW9uU3RydWN0dXJlKToKKyAgICAgICAgKiB0ZXN0cy9zdHJl
c3MvanMvYXJyb3dmdW5jdGlvbi5qczoKKwogMjAxNS0wMy0zMSAgWXVzdWtlIFN1enVraSAgPHV0
YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBDbGVhbiB1cCBJZGVudGlmaWVyIGZhY3Rv
cmllcyB0byBjbGFyaWZ5IHRoZSBtZWFuaW5nIG9mIFN0cmluZ0ltcGwqCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ODczZjY4NTA1NmJiN2U0NzdiNmI2OTVkZmFjYjBhZWJhNThlYTQ0Ny4uMzc0MzhmNDQxMmFkNjM5
YTc0OTY4ZjNmM2VjOTdjM2QzYTNlZmIyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDE1LTA0LTAxICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAg
ICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUg
ZmxhZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgor
CisgICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAy
MDE1LTAzLTMxICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAg
ICAgICAgTW92ZSBFeHBhbnNpb25CZWhhdmlvckZsYWdzIGFuZCBUZXh0RGlyZWN0aW9uIHRvIHRo
ZWlyIG93biBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNzU3ZWE0OWQwYTMwZjk0ZDU2MjJiODM1
MzVjMWJlYmQwNDMxZTk1Ni4uZWY4N2M3NWUwMDQ5YjZjOWQ4NGQxNGNlYTQwMTVmNTBhYWUyZDUy
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTA0LTAxICBTa2FjaGtv
diBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgIFtFUzZdIEltcGxl
bWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyBFTkFCTEVfRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgorCisgICAgICAgICAqIENvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1LTAzLTMxICBZdXN1a2Ug
U3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIENsZWFuIHVwIElkZW50
aWZpZXIgZmFjdG9yaWVzIHRvIGNsYXJpZnkgdGhlIG1lYW5pbmcgb2YgU3RyaW5nSW1wbCoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA3MjExMjc2NTJkODg4ZjUwMWFiNmMy
MTdiODMzNDQxOTA0M2Y1ODY0Li41MDUzZGMxN2U2ZDU4YjExMWM3MzBhOTRjYzA3NGIwY2JlNTA3
OGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC00NjYsNiArNDY2LDcg
QEAgc2V0KEphdmFTY3JpcHRDb3JlX1JVTlRJTUVfU09VUkNFUwogICAgIHJ1bnRpbWUvSlNBcnJh
eUJ1ZmZlclZpZXcuY3BwCiAgICAgcnVudGltZS9KU0FycmF5SXRlcmF0b3IuY3BwCiAgICAgcnVu
dGltZS9KU0JvdW5kRnVuY3Rpb24uY3BwCisgICAgcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3Bw
CiAgICAgcnVudGltZS9KU0dsb2JhbE9iamVjdERlYnVnZ2FibGUuY3BwCiAgICAgcnVudGltZS9K
U0NKU1ZhbHVlLmNwcAogICAgIHJ1bnRpbWUvSlNDYWxsZWUuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKaW5kZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0
OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FO
VkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgg
PSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5U
QVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklM
VEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwog
RU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVW
RUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFC
TEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRf
QVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BB
VEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVO
QUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVf
Q1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5B
QkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVO
QUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9O
KSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQo
RU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhU
X0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01f
U0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRB
TElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRB
SUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9F
VkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRf
TE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAk
KEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNF
KSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9W
RVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxF
X0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxF
X0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFC
TEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykg
JChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9D
T05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RB
VElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxF
X01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQo
RU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAk
KEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BS
T01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklY
X0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkg
JChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1Ip
ICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5H
KSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQo
RU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdf
Rk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVN
QkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9B
RElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxM
KSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVf
VkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVO
QUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRT
KSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9X
RUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5B
QkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xB
WU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFU
VVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVO
QUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFT
X1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZ
TlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xF
VkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NP
TVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19H
UklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxF
Q1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkg
JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
UykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVO
QUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJ
TUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
TEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9B
TklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQp
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVO
QUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVO
QUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5B
QkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKaW5kZXggNzQz
MzBlNzAzZGFjNGQzNjAwZWFiMjdhMGFkOGViNGFmMDBlMGIzMi4uNjIyODczZGQyZjk0NzBhOTEz
MThhY2NjZDQ3MDlkY2VhZTcyNjA4ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52
Y3hwcm9qCkBAIC03MzQsNiArNzM0LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1
bnRpbWVcSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJWaWV3LmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNCb3VuZEZ1bmN0aW9uLmNwcCIgLz4KKyAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJvd0Z1bmN0aW9uLmNwcCIgLz4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZS5jcHAiIC8+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ2FsbGVlLmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDYXRjaFNjb3BlLmNwcCIgLz4KQEAgLTE1MjYsNiArMTUy
Nyw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJW
aWV3SW5saW5lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0Fy
cmF5SXRlcmF0b3IuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNC
b3VuZEZ1bmN0aW9uLmgiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpT
QXJyb3dGdW5jdGlvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxK
U0NJbmxpbmVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0pT
VmFsdWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1
ZUlubGluZXMuaCIgLz4KQEAgLTE4MDAsNCArMTgwMiw0IEBACiAgIDxJbXBvcnRHcm91cCBMYWJl
bD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1Bh
dGgpXEJ1aWxkQ3VzdG9taXphdGlvbnNcbWFzbS50YXJnZXRzIiAvPgogICA8L0ltcG9ydEdyb3Vw
PgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYmEyZDEzNmViOTViNWE5ZmQzNTRhYjMwYThm
MzY5MWJmNzhjZWI4Ni4uZTlkNmYyNDY1ZTMzODU1ZDM2OGI0ZDIwNGUwZDc2NDZjNTZlOTg5ZiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwOTIsNiArMTA5Miw4IEBACiAJCTg2
RjNFRUJGMTY4Q0RFOTMwMDc3QjkyQSAvKiBPYmpjUnVudGltZUV4dHJhcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGM0VFQjYxNjg1NUE1QjAwNzdC
OTJBIC8qIE9iamNSdW50aW1lRXh0cmFzLmggKi87IH07CiAJCTg2RkE5RTkxMTQyQkJCMkUwMDE3
NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRGdW5j
dGlvbi5jcHAgKi87IH07CiAJCTg2RkE5RTkyMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVu
Y3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2
RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLzsgfTsKKwkJOEIw
RjQyNEMxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUyMDAzOTE3
RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCAqLzsgfTsKKwkJOEIwRjQyNEMxQUJENkRFMjAwMzkx
N0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlv
bi5oICovOyB9OwogCQk5MDIxM0UzRDEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGlj
cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIx
M0UzQjEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi87IH07CiAJCTkw
MjEzRTNFMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIxM0UzQzEyM0E0MEMyMDBENDIy
RjMgLyogTWVtb3J5U3RhdGlzdGljcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTkzMDUyQzM0MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVu
YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzA1
MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwICovOyB9OwpAQCAtMjgyNCw2
ICsyODI2LDggQEAKIAkJODZGNzVFRkQxNTFDMDYyRjAwN0M5QkEzIC8qIFJlZ0V4cE1hdGNoZXNB
cnJheS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWdFeHBNYXRj
aGVzQXJyYXkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkZBOUU4RjE0MkJC
QjJEMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTQm91bmRGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdFQSAvKiBKU0Fy
cm93RnVuY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcnJvd0Z1bmN0aW9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93
RnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcnJv
d0Z1bmN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTAyMTNFM0IxMjNB
NDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTWVtb3J5U3RhdGlzdGljcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lbW9yeVN0YXRpc3RpY3MuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8q
IFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBh
cnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ0MzgsNiArNDQ0
Miw4IEBACiAJCQkJQTdCREFFQzUxN0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJyYXlJdGVyYXRvci5o
ICovLAogCQkJCTg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3Bw
ICovLAogCQkJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAq
LywKKwkJCQk4QjBGNDI0QTFBQkQ2RDJGMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggKi8s
CisJCQkJOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgKi8s
CiAJCQkJNjU3Q0Y0NTYxOUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmNwcCAqLywKIAkJCQk2
NTdDRjQ1NzE5QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuaCAqLywKIAkJCQkwRkQ5NDk3RTFB
OTdEQjk2MDBFMjg5NjYgLyogSlNDYXRjaFNjb3BlLmNwcCAqLywKQEAgLTcxNjYsNiArNzE3Miw3
IEBACiAJCQkJMEZEOEEzMUIxN0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTE9TUkVudHJ5LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGMjM1QkRDMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjM1QkRGMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JF
eGl0Q29tcGlsZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOEIwRjQyNEMxQUJENkRFMjAwMzkx
N0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkVBMEEyQTE3
MDk2Mjk2MDBCQjcyMkMgLyogRlRMT3V0cHV0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNDg1
MzI5MTg3REZERUMwMDgzQjY4NyAvKiBGVExSZWNvdmVyeU9wY29kZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwRjZCMUNDMzE4NjJDNDc4MDA4NDVEOTcgLyogRlRMUmVnaXN0ZXJBdE9mZnNldC5j
cHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9CeXRlY29kZUxpc3QuanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9C
eXRlY29kZUxpc3QuanNvbgppbmRleCA2YjI0MzkxNTZhYjNhZmFlNmI1NThhYjkwNjZkMjIyNTE1
ZDU5ZTQ1Li40MzYwNzA5ZDhmN2U0MTgyMTVhYjJhZjk1OWJmNjQ0OGFmMDM4MDI4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24KKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCkBAIC05
NSw2ICs5NSw3IEBACiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9zd2l0Y2hfc3RyaW5nIiwg
Imxlbmd0aCIgOiA0IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfZnVuYyIsICJs
ZW5ndGgiIDogNCB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfbmV3X2Z1bmNfZXhwIiwg
Imxlbmd0aCIgOiA0IH0sCisgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfYXJyb3dfZnVu
Y19leHAiLCAibGVuZ3RoIiA6IDUgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGwi
LCAibGVuZ3RoIiA6IDkgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGxfZXZhbCIs
ICJsZW5ndGgiIDogOSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbF92YXJhcmdz
IiwgImxlbmd0aCIgOiA5IH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9C
eXRlY29kZVVzZURlZi5oCmluZGV4IDg1ZjI5MTVjN2U4ZjYwMWFkM2VjMTc4YmY2OWUzNTQ0Zjc1
NGMyY2YuLjE3YjZiZWQ4MWZlMjViNjIzMzBiYWEzZmQwMzFjNzE2YWI4OGY5YmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCkBAIC0xMTYs
NiArMTE2LDkgQEAgdm9pZCBjb21wdXRlVXNlc0ZvckJ5dGVjb2RlT2Zmc2V0KAogICAgIGNhc2Ug
b3BfZ2V0X3Byb3BlcnR5X2VudW1lcmF0b3I6CiAgICAgY2FzZSBvcF9nZXRfZW51bWVyYWJsZV9s
ZW5ndGg6CiAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRpZgog
ICAgIGNhc2Ugb3BfdG9faW5kZXhfc3RyaW5nOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29u
c3Rfbm9wOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29uc3Q6CkBAIC0zMDgsNiArMzExLDkg
QEAgdm9pZCBjb21wdXRlRGVmc0ZvckJ5dGVjb2RlT2Zmc2V0KENvZGVCbG9jayogY29kZUJsb2Nr
LCB1bnNpZ25lZCBieXRlY29kZU9mZnNldCwKICAgICBjYXNlIG9wX25ld19yZWdleHA6CiAgICAg
Y2FzZSBvcF9uZXdfZnVuYzoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhw
OgorI2VuZGlmCiAgICAgY2FzZSBvcF9jYWxsX3ZhcmFyZ3M6CiAgICAgY2FzZSBvcF9jb25zdHJ1
Y3RfdmFyYXJnczoKICAgICBjYXNlIG9wX2dldF9mcm9tX3Njb3BlOgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAppbmRleCA5ZTk1MTdlNzgxYmU1NTdmMDRm
MTdmOTNkZWM3MWI5MTZjYzlhMmFkLi4xMTU0MjBjZTExYjA4NTlmNmVlMzNhODI5YzQzMGQxOTA3
YmYxZWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNw
cApAQCAtMTI3NCw2ICsxMjc0LDE3IEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wQnl0ZWNvZGUoCiAg
ICAgICAgICAgICBvdXQucHJpbnRmKCIlcywgJXMsIGYlZCIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0
YSgpLCByZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjApOwogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBj
YXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDogeworICAgICAgICAgICAgaW50IHIwID0gKCsraXQp
LT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUub3BlcmFuZDsKKyAg
ICAgICAgICAgIGludCBmMCA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgaW50IHIy
ID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBwcmludExvY2F0aW9uQW5kT3Aob3V0
LCBleGVjLCBsb2NhdGlvbiwgaXQsICJvcF9uZXdfYXJyb3dfZnVuY19leHAiKTsKKyAgICAgICAg
ICAgIG91dC5wcmludGYoIiVzLCAlcywgZiVkLCAlcyIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0YSgp
LCByZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjAsIHJlZ2lzdGVyTmFtZShyMikuZGF0YSgpKTsK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgY2FzZSBvcF9u
ZXdfZnVuY19leHA6IHsKICAgICAgICAgICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVyYW5kOwog
ICAgICAgICAgICAgaW50IHIxID0gKCsraXQpLT51Lm9wZXJhbmQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCmlu
ZGV4IDg4NzJkNzc3ZDNlNTkyMTFjOTE2ZDQ3ODBkMGUwNDI3ZWQzOThmODYuLmE3OTY0YmI1YmMz
MmFlNzVkYTM1MDAzZDZmZGU0NjRhMmM5ZTA2NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0xNzU0
LDYgKzE3NTQsMzQgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdGdW5j
dGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogcjAsIEZ1bmNFeHAKICAgICBpbnN0cnVjdGlvbnMo
KS5hcHBlbmQoaW5kZXgpOwogICAgIHJldHVybiByMDsKIH0KKyAgICAKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVt
aXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVuY0V4cHJOb2Rl
KiBuKQoreworICAgIEZ1bmN0aW9uQm9keU5vZGUqIGZ1bmN0aW9uID0gbi0+Ym9keSgpOworICAg
IHVuc2lnbmVkIGluZGV4ID0gbV9jb2RlQmxvY2stPmFkZEZ1bmN0aW9uRXhwcihtYWtlRnVuY3Rp
b24oZnVuY3Rpb24pKTsKKyAgICAKKyAgICBlbWl0T3Bjb2RlKG9wX25ld19hcnJvd19mdW5jX2V4
cCk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHIwLT5pbmRleCgpKTsKKyAgICBpbnN0cnVj
dGlvbnMoKS5hcHBlbmQoc2NvcGVSZWdpc3RlcigpLT5pbmRleCgpKTsKKyAgICBpbnN0cnVjdGlv
bnMoKS5hcHBlbmQoaW5kZXgpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZCh0aGlzUmVnaXN0
ZXIoKS0+aW5kZXgoKSk7CisgICAgcmV0dXJuIHIwOworfQorICAgIAorUmVnaXN0ZXJJRCogQnl0
ZWNvZGVHZW5lcmF0b3I6OmVtaXRUaGlzTm9kZUJ5dGVjb2RlKFJlZ2lzdGVySUQqIGRzdCwgSlNU
ZXh0UG9zaXRpb24gcG9zaXRpb24pCit7CisgICAgaWYgKGRzdCA9PSBpZ25vcmVkUmVzdWx0KCkp
CisgICAgICAgIHJldHVybiAwOworICAgIFJlZ2lzdGVySUQqIHJlc3VsdCA9IG1vdmVUb0Rlc3Rp
bmF0aW9uSWZOZWVkZWQoZHN0LCB0aGlzUmVnaXN0ZXIoKSk7CisgICAgaWYgKHZtKCktPnR5cGVQ
cm9maWxlcigpKSB7CisgICAgICAgIGVtaXRQcm9maWxlVHlwZSh0aGlzUmVnaXN0ZXIoKSwgUHJv
ZmlsZVR5cGVCeXRlY29kZURvZXNOb3RIYXZlR2xvYmFsSUQsIG51bGxwdHIpOworICAgICAgICBz
dGF0aWMgY29uc3QgdW5zaWduZWQgdGhpc0xlbmd0aCA9IDQ7CisgICAgICAgIGVtaXRUeXBlUHJv
ZmlsZXJFeHByZXNzaW9uSW5mbyhwb3NpdGlvbiwgSlNUZXh0UG9zaXRpb24oLTEsIHBvc2l0aW9u
Lm9mZnNldCArIHRoaXNMZW5ndGgsIC0xKSk7CisgICAgfQorICAgIHJldHVybiByZXN1bHQ7Cit9
CisjZW5kaWYKIAogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdEZWZhdWx0
Q29uc3RydWN0b3IoUmVnaXN0ZXJJRCogZHN0LCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JL
aW5kLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmluZGV4IDRmZmVmNmI0
MDk3ZjAyNDZkYzFiYWU4OWVlOGFhYjhlYzk1YzYwZmEuLjM3OGExOWVhYWVkZGZiZGI0ZjUxMjI4
MGU5MDg5NDM4NTc3YTc0OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTQ1NCw2ICs0NTQsMTAgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5jdGlvbkludGVybmFs
KFJlZ2lzdGVySUQqIGRzdCwgdW5zaWduZWQgaW5kZXgpOwogICAgICAgICBSZWdpc3RlcklEKiBl
bWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIGRzdCwgRnVuY0V4cHJOb2RlKiBm
dW5jKTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0RlZmF1bHRDb25zdHJ1Y3RvcihSZWdp
c3RlcklEKiBkc3QsIENvbnN0cnVjdG9yS2luZCwgY29uc3QgSWRlbnRpZmllciYgbmFtZSk7Cisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgUmVnaXN0ZXJJRCog
ZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqLCBGdW5jRXhwck5vZGUq
KTsKKyAgICAgICAgUmVnaXN0ZXJJRCogZW1pdFRoaXNOb2RlQnl0ZWNvZGUoUmVnaXN0ZXJJRCos
IEpTVGV4dFBvc2l0aW9uKTsKKyNlbmRpZgogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3UmVn
RXhwKFJlZ2lzdGVySUQqIGRzdCwgUmVnRXhwKik7CiAKICAgICAgICAgUmVnaXN0ZXJJRCogZW1p
dE1vdmVFbXB0eVZhbHVlKFJlZ2lzdGVySUQqIGRzdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXggNGY3NDc2Y2EzM2M5
MTMxYmI3M2RmYTg5NmE2MDA1NzU2MjY1ODFiNy4uZGU1NDkxY2M3MDJlNjcxMmVhZWNhNTAxZWU0
OGI1OTA3Nzk2ZjM0NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21w
aWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29t
cGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtMTQ5LDcgKzE0OSw5IEBAIFJlZ2lzdGVySUQqIFRo
aXNOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0
ZXJJRCogZHN0CiAKICAgICBpZiAoZHN0ID09IGdlbmVyYXRvci5pZ25vcmVkUmVzdWx0KCkpCiAg
ICAgICAgIHJldHVybiAwOwotCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXRUaGlzTm9kZUJ5dGVjb2RlKGRzdCwgcG9zaXRpb24o
KSk7CisjZWxzZQogICAgIFJlZ2lzdGVySUQqIHJlc3VsdCA9IGdlbmVyYXRvci5tb3ZlVG9EZXN0
aW5hdGlvbklmTmVlZGVkKGRzdCwgZ2VuZXJhdG9yLnRoaXNSZWdpc3RlcigpKTsKICAgICBpZiAo
Z2VuZXJhdG9yLnZtKCktPnR5cGVQcm9maWxlcigpKSB7CiAgICAgICAgIGdlbmVyYXRvci5lbWl0
UHJvZmlsZVR5cGUoZ2VuZXJhdG9yLnRoaXNSZWdpc3RlcigpLCBQcm9maWxlVHlwZUJ5dGVjb2Rl
RG9lc05vdEhhdmVHbG9iYWxJRCwgbnVsbHB0cik7CkBAIC0xNTcsNiArMTU5LDcgQEAgUmVnaXN0
ZXJJRCogVGhpc05vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9y
LCBSZWdpc3RlcklEKiBkc3QKICAgICAgICAgZ2VuZXJhdG9yLmVtaXRUeXBlUHJvZmlsZXJFeHBy
ZXNzaW9uSW5mbyhwb3NpdGlvbigpLCBKU1RleHRQb3NpdGlvbigtMSwgcG9zaXRpb24oKS5vZmZz
ZXQgKyB0aGlzTGVuZ3RoLCAtMSkpOwogICAgIH0KICAgICByZXR1cm4gcmVzdWx0OworI2VuZGlm
CiB9CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBTdXBlck5vZGUgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMjgzMyw2ICsyODM2LDE0IEBAIFJl
Z2lzdGVySUQqIEZ1bmNFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBn
ZW5lcmF0b3IsIFJlZ2lzdGVySUQqCiAgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0TmV3RnVuY3Rp
b25FeHByZXNzaW9uKGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHRoaXMpOwogfQog
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgICAgCisvLyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0gQXJyb3dGdW5jRXhwck5vZGUgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCitSZWdpc3RlcklEKiBBcnJvd0Z1bmNFeHByTm9kZTo6ZW1pdEJ5dGVj
b2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKK3sKKyAg
ICByZXR1cm4gZ2VuZXJhdG9yLmVtaXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihnZW5lcmF0
b3IuZmluYWxEZXN0aW5hdGlvbihkc3QpLCB0aGlzKTsKK30KKyNlbmRpZgorICAgIAogI2lmIEVO
QUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
IENsYXNzRGVjbE5vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKaW5kZXggNTNh
YzE3NzQ2MTk2OWVlZmI2NmFkZjYwOTA2ODFlNmU1Yjc2YjAzMi4uZmQ3MzdhM2Y3OGU5YzJiOWYx
YTk5MTk3ODhkMTIzZTZiMmQ5MzMwYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKQEAgLTM2NzUsNiArMzY3NSwxNSBAQCBib29sIEJ5dGVD
b2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxpbWl0KQogICAgICAgICAgICAgTkVYVF9P
UENPREUob3BfbmV3X2Z1bmNfZXhwKTsKICAgICAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6IHsK
KyAgICAgICAgICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhwciA9IG1faW5saW5lU3RhY2tUb3At
Pm1fcHJvZmlsZWRCbG9jay0+ZnVuY3Rpb25FeHByKGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9w
ZXJhbmQpOworICAgICAgICAgICAgRnJvemVuVmFsdWUqIGZyb3plbiA9IG1fZ3JhcGguZnJlZXpl
U3Ryb25nKGV4cHIpOworICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5z
dHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwKKyAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKE5ld0Z1
bmN0aW9uLCBPcEluZm8oZnJvemVuKSwgZ2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1
Y3Rpb25bMl0udS5vcGVyYW5kKSkpKTsKKyAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX25ld19h
cnJvd19mdW5jX2V4cCk7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBjYXNlIG9wX3R5cGVv
ZjogewogICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25b
MV0udS5vcGVyYW5kKSwKICAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKFR5cGVPZiwgZ2V0KFZp
cnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSkpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAppbmRleCA4ZWY0ZGNm
MTU2OGJkNWVkYTRiODk3ZTc2ODRhOGNiYjkxYmY2ZTA4Li43ZjQ1YTgzMWVhNmU2MjczYmFjZDJl
M2Y4MzM2ZGRjNTYyYzhjYzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0NhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdD
YXBhYmlsaXRpZXMuY3BwCkBAIC0yMDgsNiArMjA4LDkgQEAgQ2FwYWJpbGl0eUxldmVsIGNhcGFi
aWxpdHlMZXZlbChPcGNvZGVJRCBvcGNvZGVJRCwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIEluc3Ry
dWMKICAgICBjYXNlIG9wX25ld19mdW5jOgogICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOgogICAg
IGNhc2Ugb3BfY3JlYXRlX2xleGljYWxfZW52aXJvbm1lbnQ6CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRp
ZgogICAgICAgICByZXR1cm4gQ2FuQ29tcGlsZUFuZElubGluZTsKIAogICAgIGNhc2Ugb3BfcHV0
X3RvX3Njb3BlOiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0
ZXIvSW50ZXJwcmV0ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0lu
dGVycHJldGVyLmNwcAppbmRleCBlY2ZjZTkxYmQzYzAzMDg1M2EzOTQwMzJiYTVjZDI4MmExYTNj
ZDhlLi4zYWM5M2E5ZmFiMjQ4MjQ4MDc1ZTIxODAzMzI3Mzc0NDM1Yzk5MGNlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKQEAgLTQ1
LDYgKzQ1LDkgQEAKICNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJKU0FycmF5
LmgiCiAjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNlbmRpZgogI2lu
Y2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgog
I2luY2x1ZGUgIkpTTmFtZVNjb3BlLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKaW5kZXgg
NDJhODJkNDM5NDYxNjJmOTVmYTQ3NDY3NTY3MTM5ZDRhYWYyMzg2Yi4uMTg2MGEwYWEzM2IwODE5
YzRmODU1MDg1ZjVlOGI3MGZhMjMyYTQzMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcApA
QCAtMjUzLDYgKzI1Myw5IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkKICAg
ICAgICAgREVGSU5FX09QKG9wX25ld19hcnJheV9idWZmZXIpCiAgICAgICAgIERFRklORV9PUChv
cF9uZXdfZnVuYykKICAgICAgICAgREVGSU5FX09QKG9wX25ld19mdW5jX2V4cCkKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBERUZJTkVfT1Aob3BfbmV3X2Fy
cm93X2Z1bmNfZXhwKQorI2VuZGlmICAKICAgICAgICAgREVGSU5FX09QKG9wX25ld19vYmplY3Qp
CiAgICAgICAgIERFRklORV9PUChvcF9uZXdfcmVnZXhwKQogICAgICAgICBERUZJTkVfT1Aob3Bf
bm90KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKaW5kZXggZWU0ODU1ZGMyZTc4YjU1YWNjNDU5OWVi
ZGI5OWEwZDhlMDhiZTdjYy4uNTYzOGQ1YzdjNzRhZWM3YzBhYjE5NWY5N2JiMzIxYmVlMDNjNzM3
YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCkBAIC01MjIsNiArNTIyLDkgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfYXJyYXlfYnVmZmVyKEluc3RydWN0aW9u
Kik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfZnVuYyhJbnN0cnVjdGlvbiopOwogICAgICAg
ICB2b2lkIGVtaXRfb3BfbmV3X2Z1bmNfZXhwKEluc3RydWN0aW9uKik7CisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdm9pZCBlbWl0X29wX25ld19hcnJvd19m
dW5jX2V4cChJbnN0cnVjdGlvbiopOworI2VuZGlmCiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdf
b2JqZWN0KEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfcmVnZXhwKElu
c3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9ub3QoSW5zdHJ1Y3Rpb24qKTsKQEAg
LTcwNSw2ICs3MDgsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6
OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSkosIGludCwgR1BSUmVnLCBHUFJS
ZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3Bl
cmF0aW9uX0VKc2MsIEdQUlJlZyk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxP
cGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0MsIGludCwgR1BSUmVnLCBKU0NlbGwqKTsKKyAg
ICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9F
SnNjQ0osIGludCwgR1BSUmVnLCBKU0NlbGwqLCBHUFJSZWcpOwogICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2NaLCBHUFJSZWcsIGlu
dDMyX3QpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklU
T3BlcmF0aW9uX0VKc2NaLCBpbnQsIEdQUlJlZywgaW50MzJfdCk7CiAjaWYgVVNFKEpTVkFMVUU2
NCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKaW5kZXggOWVlMjRkMDkyMjhh
OTg4MmVhNzY5NjI5ZDFhODdiNmMzNGE4NjMzNC4uYTBlNDBjNWM2MWZlNjNlOTg2M2VkMjIzZWRm
NWQ0NTFmMzE4YTc3NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJ
bmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKQEAg
LTI3MSw2ICsyNzEsMTIgQEAgQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6
OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0Mgb3BlcmEKICAgICByZXR1cm4gYXBw
ZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldEpTVmFsdWVSZXN1bHQob3BlcmF0aW9uLCBkc3Qp
OwogfQogCitBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJh
dGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0ogb3BlcmF0aW9uLCBpbnQgZHN0LCBHUFJSZWcgYXJn
MSwgSlNDZWxsKiBjZWxsLCBHUFJSZWcgYXJnMikKK3sKKyAgICBzZXR1cEFyZ3VtZW50c1dpdGhF
eGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSwgYXJnMik7CisgICAgcmV0dXJuIGFw
cGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRKU1ZhbHVlUmVzdWx0KG9wZXJhdGlvbiwgZHN0
KTsKK30KKyAgICAKIEFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxs
T3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VQIG9wZXJhdGlvbiwgaW50IGRzdCwgdm9pZCogcG9p
bnRlcikKIHsKICAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihw
b2ludGVyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29k
ZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAppbmRleCBk
M2Q1ODBlOWUyNjAwODUzYjY2NDllMjg1OTE4Zjg1MzhiZTY5NDRjLi40ODgzYTgzZDE3NjQ4ZGRk
ZTljYWRhMDc2ZTE3NjAzZTM3ODM2YTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVE9wY29kZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3Bjb2Rlcy5jcHAKQEAgLTk3Miw2ICs5NzIsMzEgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2Z1
bmNfZXhwKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgY2FsbE9wZXJhdGlv
bihvcGVyYXRpb25OZXdGdW5jdGlvbiwgZHN0LCByZWdUMCwgZnVuY0V4cHIpOwogICAgIGRvbmUu
bGluayh0aGlzKTsKIH0KKyAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQordm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwKEluc3RydWN0aW9uKiBjdXJy
ZW50SW5zdHJ1Y3Rpb24pCit7CisgICAgSnVtcCBub3RVbmRlZmluZWRTY29wZTsKKyAgICBpbnQg
ZHN0ID0gY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZDsKKyNpZiBVU0UoSlNWQUxVRTY0
KQorICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3Bl
cmFuZCwgcmVnVDApOworICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0
aW9uWzRdLnUub3BlcmFuZCwgcmVnVDEpOworICAgIG5vdFVuZGVmaW5lZFNjb3BlID0gYnJhbmNo
NjQoTm90RXF1YWwsIHJlZ1QwLCBUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZp
bmVkKCkpKSk7CisgICAgc3RvcmU2NChUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5jb2RlKGpzVW5k
ZWZpbmVkKCkpKSwgQWRkcmVzcyhjYWxsRnJhbWVSZWdpc3Rlciwgc2l6ZW9mKFJlZ2lzdGVyKSAq
IGRzdCkpOworI2Vsc2UKKyAgICBlbWl0TG9hZFBheWxvYWQoY3VycmVudEluc3RydWN0aW9uWzJd
LnUub3BlcmFuZCwgcmVnVDApOworICAgIGVtaXRMb2FkUGF5bG9hZChjdXJyZW50SW5zdHJ1Y3Rp
b25bNF0udS5vcGVyYW5kLCByZWdUMSk7CisgICAgbm90VW5kZWZpbmVkU2NvcGUgPSBicmFuY2gz
MihOb3RFcXVhbCwgdGFnRm9yKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpLCBUcnVz
dGVkSW1tMzIoSlNWYWx1ZTo6VW5kZWZpbmVkVGFnKSk7CisgICAgZW1pdFN0b3JlKGRzdCwganNV
bmRlZmluZWQoKSk7CisjZW5kaWYKKyAgICBKdW1wIGRvbmUgPSBqdW1wKCk7CisgICAgbm90VW5k
ZWZpbmVkU2NvcGUubGluayh0aGlzKTsKKyAgICAKKyAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1
bmN0aW9uID0gbV9jb2RlQmxvY2stPmZ1bmN0aW9uRXhwcihjdXJyZW50SW5zdHJ1Y3Rpb25bM10u
dS5vcGVyYW5kKTsKKyAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24s
IGRzdCwgcmVnVDAsIGZ1bmN0aW9uLCByZWdUMSk7CisgICAgZG9uZS5saW5rKHRoaXMpOworfQor
I2VuZGlmCiAKIHZvaWQgSklUOjplbWl0X29wX25ld19hcnJheShJbnN0cnVjdGlvbiogY3VycmVu
dEluc3RydWN0aW9uKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRPcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9u
cy5jcHAKaW5kZXggNThiODYzNmQ4ODZkYmIyZTg1MjkxYjI5MzUwZDljZjRlMTQyNDE3MS4uOWY1
MjRjOGJkOTk2ODU3NjEyMGMwMzY1MTc3ODI1NTAyNzY0NmYxYiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCkBAIC00Miw2ICs0MiwxMCBAQAogI2luY2x1
ZGUgIkhvc3RDYWxsUmV0dXJuVmFsdWUuaCIKICNpbmNsdWRlICJKSVQuaCIKICNpbmNsdWRlICJK
SVRUb0RGR0RlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjay5oIgorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCisjZW5kaWYK
KyNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAj
aW5jbHVkZSAiSlNDYXRjaFNjb3BlLmgiCiAjaW5jbHVkZSAiSlNGdW5jdGlvbk5hbWVTY29wZS5o
IgpAQCAtOTMzLDYgKzkzNywyMSBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbk5ld0Z1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNTY29wZSogc2NvcAogICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBzdGF0aWNfY2FzdDxGdW5j
dGlvbkV4ZWN1dGFibGUqPihmdW5jdGlvbkV4ZWN1dGFibGUpLCBzY29wZSkpOwogfQogCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTU2NvcGUq
IHNjb3BlLCBKU0NlbGwqIGZ1bmN0aW9uRXhlY3V0YWJsZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlKQoreworICAgIEFTU0VSVChmdW5jdGlvbkV4ZWN1dGFibGUtPmluaGVyaXRzKEZ1bmN0aW9u
RXhlY3V0YWJsZTo6aW5mbygpKSk7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBOYXRp
dmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CisgICAgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCA9IGV4ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKKyAgICBKU0Z1
bmN0aW9uKiBmdW5jID0gSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUodm0sIHNjb3BlLCBzdGF0aWNf
Y2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihmdW5jdGlvbkV4ZWN1dGFibGUpLCBnbG9iYWxPYmpl
Y3QpOworICAgIAorICAgIEpTQXJyYXkqIGJvdW5kQXJncyA9IEpTQXJyYXk6OnRyeUNyZWF0ZVVu
aW5pdGlhbGl6ZWQodm0sIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5
cGVEdXJpbmdBbGxvY2F0aW9uKEFycmF5V2l0aFVuZGVjaWRlZCksIDApOworICAgIAorICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoSlNCb3VuZEZ1bmN0aW9uOjpjcmVhdGUodm0sIGdsb2JhbE9i
amVjdCwgZnVuYywgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSksIGJvdW5kQXJncywgMCwgIiIp
KTsKK30KKyNlbmRpZgorICAgIAogSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09i
amVjdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogewogICAgIFZNKiB2
bSA9ICZleGVjLT52bSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRPcGVyYXRpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMu
aAppbmRleCA0ZGVjZWY0ZWI4YjQ4YmI5MzdkNTRkMGI2MDRiOWI3NzY3YTRlYTYxLi44NWY0Y2Fm
OGNlZTRjZGJjNTBjNGRlM2JjN2M3YWJlNDQwYjhjZWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVE9wZXJhdGlvbnMuaApAQCAtMTE2LDYgKzExNiw3IEBAIHR5cGVkZWYgRW5jb2Rl
ZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQUCkoRXhlY1N0YXRlKiwg
dm9pZCosIHZvCiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9w
ZXJhdGlvbl9FUFMpKEV4ZWNTdGF0ZSosIHZvaWQqLCBzaXplX3QpOwogdHlwZWRlZiBFbmNvZGVk
SlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVBjKShFeGVjU3RhdGUqLCBJ
bnN0cnVjdGlvbiopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9K
SVRPcGVyYXRpb25fRUpzY0MpKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKTsKK3R5cGVk
ZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VKc2NDSiko
RXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlKTsKIHR5cGVkZWYg
RW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTUykoRXhlY1N0
YXRlKiwgc2l6ZV90LCBzaXplX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OICgqSl9KSVRPcGVyYXRpb25fRVNzaUNJKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5m
byosIEpTQ2VsbCosIFN0cmluZ0ltcGwqKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTc2lKSSkoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1
YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSwgU3RyaW5nSW1wbCopOwpAQCAtMjc4LDYgKzI3OSw5IEBA
IEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXlXaXRoUHJvZmls
ZShFeGVjU3RhdGUqLCBBcnJheUFsbG9jCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbk5ld0FycmF5QnVmZmVyV2l0aFByb2ZpbGUoRXhlY1N0YXRlKiwgQXJyYXlBbGxvY2F0
aW9uUHJvZmlsZSosIGNvbnN0IEpTVmFsdWUqIHZhbHVlcywgaW50MzJfdCBzaXplKSBXVEZfSU5U
RVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5V2l0
aFNpemVBbmRQcm9maWxlKEV4ZWNTdGF0ZSosIEFycmF5QWxsb2NhdGlvblByb2ZpbGUqLCBFbmNv
ZGVkSlNWYWx1ZSBzaXplKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbk5ld0Z1bmN0aW9uKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKSBX
VEZfSU5URVJOQUw7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK0VuY29k
ZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbihFeGVjU3Rh
dGUqLCBKU1Njb3BlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUpIFdURl9JTlRFUk5BTDsKKyNl
bmRpZgogSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3RhdGUq
LCBTdHJ1Y3R1cmUqKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbk5ld1JlZ2V4cChFeGVjU3RhdGUqLCB2b2lkKikgV1RGX0lOVEVSTkFMOwogdm9p
ZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkhhbmRsZVdhdGNoZG9nVGltZXIoRXhlY1N0YXRlKikg
V1RGX0lOVEVSTkFMOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xM
SW50U2xvd1BhdGhzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQ
YXRocy5jcHAKaW5kZXggMjc5Mjg1YTQ2ODA2Y2M2ODlkMDVkMTNjZjQ2MzQyZDA2YjVlZmQ2NC4u
OGNkMWNhY2QzZTU4ZGExOTRkNGJkZGY5ZmY0ZGM3YzdiNTUzNTY5YiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCkBAIC0zOCw2ICszOCwxMCBA
QAogI2luY2x1ZGUgIkludGVycHJldGVyLmgiCiAjaW5jbHVkZSAiSklULmgiCiAjaW5jbHVkZSAi
SklURXhjZXB0aW9ucy5oIgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisj
aW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgi
CisjZW5kaWYKICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIkpT
Q0lubGluZXMuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCkBAIC0xNzEsNiArMTc1LDE1IEBA
IG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgTExJbnQgewogICAgICAgICBMTElOVF9SRVRVUk5f
VFdPKHBjLCBfX3JjZl9leGVjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAg
IH0gd2hpbGUgKGZhbHNlKQogCisgICAgCisjZGVmaW5lIExMSU5UX0NBTENfUFJPUEVSVFlfRk9S
X0ZVTkNfRVhQUigpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBM
TElOVF9CRUdJTigpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+Y29k
ZUJsb2NrKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgSlNTY29w
ZSogc2NvcGUgPSBleGVjLT51bmNoZWNrZWRSKHBjWzJdLnUub3BlcmFuZCkuUmVnaXN0ZXI6OnNj
b3BlKCk7ICAgICAgIFwKKyAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUgPSBjb2Rl
QmxvY2stPmZ1bmN0aW9uRXhwcihwY1szXS51Lm9wZXJhbmQpOyAgXAorICAgIAorZW51bSBGdW5j
dGlvbkV4cHJlc3Npb25UeXBlIHsgQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25UeXBlLCBDb21tb25G
dW5jdGlvbkV4cHJlc3Npb25UeXBlfTsKKyAgICAKIGV4dGVybiAiQyIgU2xvd1BhdGhSZXR1cm5U
eXBlIGxsaW50X3RyYWNlX29wZXJhbmQoRXhlY1N0YXRlKiBleGVjLCBJbnN0cnVjdGlvbiogcGMs
IGludCBmcm9tV2hlcmUsIGludCBvcGVyYW5kKQogewogICAgIExMSU5UX0JFR0lOKCk7CkBAIC05
ODUsMTggKzk5OCwzMyBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfbmV3X2Z1bmMp
CiAjZW5kaWYKICAgICBMTElOVF9SRVRVUk4oSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBjb2RlQmxv
Y2stPmZ1bmN0aW9uRGVjbChwY1szXS51Lm9wZXJhbmQpLCBzY29wZSkpOwogfQotCisgICAgCiBM
TElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfbmV3X2Z1bmNfZXhwKQogewotICAgIExMSU5U
X0JFR0lOKCk7Ci0gICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVjLT5jb2RlQmxvY2soKTsK
LSAgICBKU1Njb3BlKiBzY29wZSA9IGV4ZWMtPnVuY2hlY2tlZFIocGNbMl0udS5vcGVyYW5kKS5S
ZWdpc3Rlcjo6c2NvcGUoKTsKLSAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmN0aW9uID0gY29k
ZUJsb2NrLT5mdW5jdGlvbkV4cHIocGNbM10udS5vcGVyYW5kKTsKLSAgICBKU0Z1bmN0aW9uKiBm
dW5jID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBmdW5jdGlvbiwgc2NvcGUpOwotICAgIAorICAg
IExMSU5UX0NBTENfUFJPUEVSVFlfRk9SX0ZVTkNfRVhQUigpOworCisgICAgSlNGdW5jdGlvbiog
ZnVuYyA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgZXhlY3V0YWJsZSwgc2NvcGUpOwogICAgIExM
SU5UX1JFVFVSTihmdW5jKTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCitMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKQor
eworICAgIExMSU5UX0NBTENfUFJPUEVSVFlfRk9SX0ZVTkNfRVhQUigpOworICAgIAorICAgIEpT
VmFsdWUgdGhpc1ZhbHVlID0gTExJTlRfT1BfQyg0KS5qc1ZhbHVlKCk7CisgICAgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCA9IGV4ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKKyAg
ICAKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUodm0sIHNj
b3BlLCBleGVjdXRhYmxlLCBnbG9iYWxPYmplY3QpOworICAgIAorICAgIEpTQXJyYXkqIGJvdW5k
QXJncyA9IEpTQXJyYXk6OnRyeUNyZWF0ZVVuaW5pdGlhbGl6ZWQodm0sIGdsb2JhbE9iamVjdC0+
YXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5cGVEdXJpbmdBbGxvY2F0aW9uKEFycmF5V2l0aFVu
ZGVjaWRlZCksIDApOworICAgIAorICAgIGNvbnN0IFN0cmluZyBmdW5jV2l0aG91dE5hbWUgPSAi
IjsKKyAgICAKKyAgICBMTElOVF9SRVRVUk4oSlNCb3VuZEZ1bmN0aW9uOjpjcmVhdGUodm0sIGds
b2JhbE9iamVjdCwgZnVuYywgdGhpc1ZhbHVlLCBib3VuZEFyZ3MsIDAsIGZ1bmNXaXRob3V0TmFt
ZSkpOworfQorI2VuZGlmCisKIHN0YXRpYyBTbG93UGF0aFJldHVyblR5cGUgaGFuZGxlSG9zdENh
bGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBJbnN0cnVjdGlvbiogcGMsIEpTVmFsdWUgY2FsbGVl
LCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGtpbmQpCiB7CiAgICAgVU5VU0VEX1BBUkFNKHBjKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgKaW5kZXggNGJm
N2RlYjBmYTBiNmM2NDM4ZTM2Zjk2MzIwZTJmNjY5NzM5YWY2NC4uYzdmYWI5NjkxYzE4YjkzOTU2
ZDBlYTI5ZjMzOTU2MTE4YzVlNzFlZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xMSW50U2xvd1BhdGhzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xMSW50U2xvd1BhdGhzLmgKQEAgLTk2LDYgKzk2LDcgQEAgTExJTlRfU0xPV19QQVRIX0hJRERF
Tl9ERUNMKHNsb3dfcGF0aF9zd2l0Y2hfY2hhcik7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RF
Q0woc2xvd19wYXRoX3N3aXRjaF9zdHJpbmcpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNM
KHNsb3dfcGF0aF9uZXdfZnVuYyk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19w
YXRoX25ld19mdW5jX2V4cCk7CitMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRo
X25ld19hcnJvd19mdW5jX2V4cCk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19w
YXRoX2NhbGwpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9jb25zdHJ1
Y3QpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9zaXplX2ZyYW1lX2Zv
cl92YXJhcmdzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbQppbmRleCBmZGE5MWVkNTk5MGNiNmU0ZjJjYjc4YWE2YTRiMmQ4YzJj
MGM0NzJhLi44MjI3MTM0OTgyZGI3NTgxZGM4YTIyNWNkNDIzMjgyMDA5MmZiNzNlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20K
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
CkBAIC0xMTcxLDYgKzExNzEsMTAgQEAgX2xsaW50X29wX25ld19mdW5jX2V4cDoKICAgICBjYWxs
U2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9uZXdfZnVuY19leHApCiAgICAgZGlzcGF0Y2goNCkK
IAorX2xsaW50X29wX25ld19hcnJvd19mdW5jX2V4cDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisg
ICAgY2FsbFNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKQorICAg
IGRpc3BhdGNoKDUpCiAKIF9sbGludF9vcF9jYWxsOgogICAgIHRyYWNlRXhlY3V0aW9uKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKaW5kZXggYjhmZTRiODQ4NWEw
OTc2ODhmNWM2MzBiZDhjM2M5Njc2NGZjNDY0OS4uY2I4ZTBkYzFkZGJlYzc1ODY2MzVlMWI0MzQy
YzllNTVjNjYxNGUyMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9B
U1RCdWlsZGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVy
LmgKQEAgLTMxMyw2ICszMTMsMTkgQEAgcHVibGljOgogICAgICAgICAgICAgaW5TdHJpY3RDb250
ZXh0LCBjb25zdHJ1Y3RvcktpbmQpOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgRXhwcmVzc2lvbk5vZGUqIGNyZWF0ZUFycm93RnVuY3Rpb25FeHBy
KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5m
bzxBU1RCdWlsZGVyPiYgaW5mbykKKyAgICB7CisgICAgICAgIFNvdXJjZUNvZGUgc291cmNlID0g
aW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9u
CisgICAgICAgID8gbV9zb3VyY2VDb2RlLT5zdWJBcnJvd0V4cHJlc3Npb24oaW5mby5hcnJvd0Z1
bmN0aW9uT2Zmc2V0LCBpbmZvLmNsb3NlQnJhY2VPZmZzZXQsIGluZm8uYm9keVN0YXJ0TGluZSwg
aW5mby5ib2R5U3RhcnRDb2x1bW4pCisgICAgICAgIDogbV9zb3VyY2VDb2RlLT5zdWJFeHByZXNz
aW9uKGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBpbmZvLmNsb3NlQnJhY2VPZmZzZXQsIGluZm8uYm9k
eVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1bW4pOworCisgICAgICAgIEFycm93RnVuY0V4
cHJOb2RlKiByZXN1bHQgPSBuZXcgKG1fcGFyc2VyQXJlbmEpIEFycm93RnVuY0V4cHJOb2RlKGxv
Y2F0aW9uLCAqaW5mby5uYW1lLCBpbmZvLmJvZHksIHNvdXJjZSwgaW5mby5wYXJhbWV0ZXJzKTsK
KyAgICAgICAgaW5mby5ib2R5LT5zZXRMb2MoaW5mby5ib2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlF
bmRMaW5lLCBsb2NhdGlvbi5zdGFydE9mZnNldCwgbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0KTsK
KyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisjZW5kaWYKKwogICAgIE5FVkVSX0lOTElO
RSBQcm9wZXJ0eU5vZGUqIGNyZWF0ZUdldHRlck9yU2V0dGVyUHJvcGVydHkoY29uc3QgSlNUb2tl
bkxvY2F0aW9uJiBsb2NhdGlvbiwgUHJvcGVydHlOb2RlOjpUeXBlIHR5cGUsIGJvb2wsCiAgICAg
ICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RC
dWlsZGVyPiYgaW5mbywgU3VwZXJCaW5kaW5nIHN1cGVyQmluZGluZykKICAgICB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCmluZGV4IDdkZTE0MjIwYmJkYTcyNzM4YjU3M2E0
Yjk3ODhjZTBiMzJjYzdjZTMuLjU0MGY5ZmZiN2JiNTE4MjlkNjdkZWVkZWM1ZTZhOGVkNTFjYzQ0
MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCkBAIC0xNDMwLDYgKzE0
MzAsMTggQEAgYm9vbCBMZXhlcjxUPjo6bmV4dFRva2VuSXNDb2xvbigpCiAgICAgcmV0dXJuIGNv
ZGUgPCBtX2NvZGVFbmQgJiYgKmNvZGUgPT0gJzonOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgordm9pZCBMZXhlcjxUPjo6
c2V0VG9rZW5Qb3NpdGlvbihKU1Rva2VuKiB0b2tlblJlY29yZCkKK3sKKyAgICBKU1Rva2VuRGF0
YSogdG9rZW5EYXRhID0gJnRva2VuUmVjb3JkLT5tX2RhdGE7CisgICAgdG9rZW5EYXRhLT5saW5l
ID0gbGluZU51bWJlcigpOworICAgIHRva2VuRGF0YS0+b2Zmc2V0ID0gY3VycmVudE9mZnNldCgp
OworICAgIHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVTdGFydE9mZnNl
dCgpOworICAgIEFTU0VSVCh0b2tlbkRhdGEtPm9mZnNldCA+PSB0b2tlbkRhdGEtPmxpbmVTdGFy
dE9mZnNldCk7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CiBKU1Rva2VuVHlw
ZSBMZXhlcjxUPjo6bGV4KEpTVG9rZW4qIHRva2VuUmVjb3JkLCB1bnNpZ25lZCBsZXhlckZsYWdz
LCBib29sIHN0cmljdE1vZGUpCiB7CkBAIC0xNDkzLDcgKzE1MDUsMTIgQEAgc3RhcnQ6CiAgICAg
ICAgIH0KICAgICAgICAgdG9rZW4gPSBHVDsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBDaGFy
YWN0ZXJFcXVhbDoKKyAgICBjYXNlIENoYXJhY3RlckVxdWFsOiB7CisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdWludDMyX3Qgc2F2ZWRsaW5lTnVtYmVyID0g
dG9rZW5EYXRhLT5saW5lOworICAgICAgICB1aW50MzJfdCBzYXZlZE9mZnNldCA9IGN1cnJlbnRP
ZmZzZXQoKTsKKyAgICAgICAgdWludDMyX3Qgc2F2ZWRMaW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50
TGluZVN0YXJ0T2Zmc2V0KCk7CisjZW5kaWYKICAgICAgICAgc2hpZnQoKTsKICAgICAgICAgaWYg
KG1fY3VycmVudCA9PSAnPScpIHsKICAgICAgICAgICAgIHNoaWZ0KCk7CkBAIC0xNTA1LDggKzE1
MjIsMjIgQEAgc3RhcnQ6CiAgICAgICAgICAgICB0b2tlbiA9IEVRRVE7CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJz4nKSB7CisgICAgICAgICAgICBzaGlmdCgpOworICAg
ICAgICAgICAgdG9rZW4gPSBBUlJPV0ZVTkNUSU9OOworCisgICAgICAgICAgICB0b2tlbkRhdGEt
PmxpbmUgPSBzYXZlZGxpbmVOdW1iZXI7CisgICAgICAgICAgICB0b2tlbkRhdGEtPm9mZnNldCA9
IHNhdmVkT2Zmc2V0OworICAgICAgICAgICAgdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQgPSBz
YXZlZExpbmVTdGFydE9mZnNldDsKKworICAgICAgICAgICAgQVNTRVJUKHRva2VuRGF0YS0+b2Zm
c2V0ID49IHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0KTsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICB9CisjZW5kaWYKICAgICAgICAgdG9rZW4gPSBFUVVBTDsKICAgICAgICAgYnJlYWs7
CisgICAgfQogICAgIGNhc2UgQ2hhcmFjdGVyTGVzczoKICAgICAgICAgc2hpZnQoKTsKICAgICAg
ICAgaWYgKG1fY3VycmVudCA9PSAnIScgJiYgcGVlaygxKSA9PSAnLScgJiYgcGVlaygyKSA9PSAn
LScpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAppbmRleCAyZGY1MjEzOTk1Nzgy
MDA3ODVhMTY2ZTIyYTczMjc1ZTBlYTYzMDRkLi5jYjNmMjVmN2MwOGY4MjU4MWFmMmNlOGZhOTk5
OTdmYWRlMDc2NmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xl
eGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCkBAIC04NSw2
ICs4NSw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldElzUmVwYXJzaW5nKCkgeyBtX2lzUmVwYXJz
aW5nID0gdHJ1ZTsgfQogICAgIGJvb2wgaXNSZXBhcnNpbmcoKSBjb25zdCB7IHJldHVybiBtX2lz
UmVwYXJzaW5nOyB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
IHZvaWQgc2V0VG9rZW5Qb3NpdGlvbihKU1Rva2VuKiB0b2tlblJlY29yZCk7CisjZW5kaWYKICAg
ICBKU1Rva2VuVHlwZSBsZXgoSlNUb2tlbiosIHVuc2lnbmVkLCBib29sIHN0cmljdE1vZGUpOwog
ICAgIGJvb2wgbmV4dFRva2VuSXNDb2xvbigpOwogICAgIGludCBsaW5lTnVtYmVyKCkgY29uc3Qg
eyByZXR1cm4gbV9saW5lTnVtYmVyOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvTm9kZUNvbnN0cnVjdG9ycy5oCmluZGV4IDNiZGFiNjFhNTIyZTBjZTJjMzM5N2Y4MGY0ZmEx
ODRkMWQ0MjE2MGUuLmI1OGUxZmUxYWY5MGU2NjBiMDg0MmVhN2U5OWYwN2FlNmFjYmI5NWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCkBA
IC03ODEsNiArNzgxLDEzIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBtX2JvZHktPmZpbmlz
aFBhcnNpbmcoc291cmNlLCBwYXJhbWV0ZXIsIGlkZW50LCBGdW5jdGlvbkV4cHJlc3Npb24pOwog
ICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaW5saW5l
IEFycm93RnVuY0V4cHJOb2RlOjpBcnJvd0Z1bmNFeHByTm9kZShjb25zdCBKU1Rva2VuTG9jYXRp
b24mIGxvY2F0aW9uLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgRnVuY3Rpb25Cb2R5Tm9kZSog
Ym9keSwgY29uc3QgU291cmNlQ29kZSYgc291cmNlLCBQYXJhbWV0ZXJOb2RlKiBwYXJhbWV0ZXIp
CisgICAgICAgIDogRnVuY0V4cHJOb2RlKGxvY2F0aW9uLCBpZGVudCwgYm9keSwgc291cmNlLCBw
YXJhbWV0ZXIpCisgICAgeworICAgIH0KKyNlbmRpZgorICAgIAogICAgIGlubGluZSBGdW5jRGVj
bE5vZGU6OkZ1bmNEZWNsTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25z
dCBJZGVudGlmaWVyJiBpZGVudCwgRnVuY3Rpb25Cb2R5Tm9kZSogYm9keSwgY29uc3QgU291cmNl
Q29kZSYgc291cmNlLCBQYXJhbWV0ZXJOb2RlKiBwYXJhbWV0ZXIpCiAgICAgICAgIDogU3RhdGVt
ZW50Tm9kZShsb2NhdGlvbikKICAgICAgICAgLCBtX2JvZHkoYm9keSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTm9kZXMuaAppbmRleCA2YjM3MzI5YzA5YmZjNDJiZWNjYzNjYWE5ODM1OTdjMzU0
MDJiNmM5Li41Yjc3NDFlMWNjYzhkNTE1ZmYxNGMxNTMxNzJkN2JkYTA1M2Y1ODY4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCkBAIC0xNTgsNiArMTU4LDkgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0RvdEFjY2Vzc29yTm9kZSgpIGNvbnN0IHsg
cmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0RlY29uc3RydWN0aW9uTm9k
ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Z1bmNF
eHByTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdmlydHVhbCBib29sIGlzQXJyb3dGdW5jRXhwck5vZGUo
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorI2VuZGlmCiAgICAgICAgIHZpcnR1YWwgYm9vbCBp
c0NvbW1hTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwgYm9v
bCBpc1NpbXBsZUFycmF5KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVh
bCBib29sIGlzQWRkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KQEAgLTE2NTIsNiArMTY1NSwx
OSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgRnVuY3Rpb25Cb2R5Tm9kZSogbV9ib2R5Owog
ICAgIH07CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNsYXNz
IEFycm93RnVuY0V4cHJOb2RlIDogcHVibGljIEZ1bmNFeHByTm9kZSB7CisgICAgcHVibGljOgor
ICAgICAgICBBcnJvd0Z1bmNFeHByTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBJ
ZGVudGlmaWVyJiwgRnVuY3Rpb25Cb2R5Tm9kZSosIGNvbnN0IFNvdXJjZUNvZGUmLCBQYXJhbWV0
ZXJOb2RlKiA9IDApOworICAgIHByaXZhdGU6CisgICAgICAgIHZpcnR1YWwgUmVnaXN0ZXJJRCog
ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiwgUmVnaXN0ZXJJRCogPSAwKSBvdmVycmlk
ZTsKKyAgICAgICAgCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Z1bmNFeHByTm9kZSgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgICAgIAorICAgICAgICB2aXJ0dWFsIGJv
b2wgaXNBcnJvd0Z1bmNFeHByTm9kZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0K
KyAgICB9OworI2VuZGlmCisKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICBjbGFz
cyBDbGFzc0V4cHJOb2RlIGZpbmFsIDogcHVibGljIEV4cHJlc3Npb25Ob2RlIHsKICAgICBwdWJs
aWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKaW5kZXggNWY0NDgwYjQ5
Y2FkNWQ0OTE1NmM2MjVmYTQ4NGFmN2ExZGM4YjNjZi4uYTY5ZDQxYzY4MGVkZjRmM2RlOGYwZDdh
ZDUyYjYxYzFkMDJiY2RhYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNw
cApAQCAtMzI5LDggKzMyOSwxMyBAQCBib29sIFBhcnNlcjxMZXhlclR5cGU+OjphbGxvd0F1dG9t
YXRpY1NlbWljb2xvbigpCiAgICAgcmV0dXJuIG1hdGNoKENMT1NFQlJBQ0UpIHx8IG1hdGNoKEVP
RlRPSykgfHwgbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKTsKIH0KIAorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZUVs
ZW1lbnRzTW9kZSBtb2RlLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSkKKyNl
bHNlCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291cmNl
RWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZUVsZW1lbnRzTW9kZSBtb2RlKQor
I2VuZGlmCiB7CiAgICAgY29uc3QgdW5zaWduZWQgbGVuZ3RoT2ZVc2VTdHJpY3RMaXRlcmFsID0g
MTI7IC8vICJ1c2Ugc3RyaWN0Ii5sZW5ndGgKICAgICBUcmVlU291cmNlRWxlbWVudHMgc291cmNl
RWxlbWVudHMgPSBjb250ZXh0LmNyZWF0ZVNvdXJjZUVsZW1lbnRzKCk7CkBAIC0zMzksNyArMzQ0
LDExIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsCiAgICAgdW5zaWduZWQgZGlyZWN0aXZlTGl0
ZXJhbExlbmd0aCA9IDA7CiAgICAgYXV0byBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsK
ICAgICBib29sIGhhc1NldFN0cmljdCA9IGZhbHNlOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgd2hpbGUgKFRyZWVTdGF0ZW1lbnQgc3RhdGVtZW50ID0gcGFyc2VT
dGF0ZW1lbnQoY29udGV4dCwgZGlyZWN0aXZlLCAmZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCwgZnVu
Y3Rpb25QYXJzZVR5cGUpKSB7CisjZWxzZQogICAgIHdoaWxlIChUcmVlU3RhdGVtZW50IHN0YXRl
bWVudCA9IHBhcnNlU3RhdGVtZW50KGNvbnRleHQsIGRpcmVjdGl2ZSwgJmRpcmVjdGl2ZUxpdGVy
YWxMZW5ndGgpKSB7CisjZW5kaWYKICAgICAgICAgaWYgKG1vZGUgPT0gQ2hlY2tGb3JTdHJpY3RN
b2RlICYmICFzZWVuTm9uRGlyZWN0aXZlKSB7CiAgICAgICAgICAgICBpZiAoZGlyZWN0aXZlKSB7
CiAgICAgICAgICAgICAgICAgLy8gInVzZSBzdHJpY3QiIG11c3QgYmUgdGhlIGV4YWN0IGxpdGVy
YWwgd2l0aG91dCBlc2NhcGUgc2VxdWVuY2VzIG9yIGxpbmUgY29udGludWF0aW9uLgpAQCAtNTcx
LDYgKzU4MCwzMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVEZWNvbnN0cnVj
dGlvblBhdHRlcm4gUGFyc2VyPExleGVyVHlwZT46OmNyZWF0ZQogICAgIHJldHVybiBjb250ZXh0
LmNyZWF0ZUJpbmRpbmdMb2NhdGlvbih0b2tlbi5tX2xvY2F0aW9uLCBuYW1lLCB0b2tlbi5tX3N0
YXJ0UG9zaXRpb24sIHRva2VuLm1fZW5kUG9zaXRpb24pOwogfQogCisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlQXJyb3dGdW5jdGlvblN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAg
ICBBU1NFUlQobWF0Y2goQVJST1dGVU5DVElPTikpOworCisgICAgSlNUb2tlbkxvY2F0aW9uIGxv
Y2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CisgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tl
blN0YXJ0UG9zaXRpb24oKTsKKyAgICBKU1RleHRQb3NpdGlvbiBlbmQgPSB0b2tlbkVuZFBvc2l0
aW9uKCk7CisKKyAgICBuZXh0KCk7CisgICAgVHJlZUV4cHJlc3Npb24gZXhwciA9IHBhcnNlQXJy
b3dGdW5jdGlvbkV4cHJlc3Npb24oY29udGV4dCk7CisgICAgZmFpbElmRmFsc2UoZXhwciwgIkNh
bm5vdCBwYXJzZSB0aGUgYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgIGVuZCA9IGxh
c3RUb2tlbkVuZFBvc2l0aW9uKCk7CisKKyAgICBib29sIGNvcnJlY0Fycm93RmluaXNoID0gaXNF
bmRPZkFycm93RnVuY3Rpb24oKSB8fCBtYXRjaChFT0ZUT0spOworICAgIGZhaWxJZkZhbHNlKGNv
cnJlY0Fycm93RmluaXNoLCAiRXhwZWN0ZWQgYSAnOycsICddJywgJ30nLCAnKScsIG9yICcsJyBm
b2xsb3dpbmcgYSBhcnJvdyBmdW5jdGlvbiBzdGF0ZW1lbnQiKTsKKworICAgIGVuZCA9IHRva2Vu
RW5kUG9zaXRpb24oKTsKKyAgICBzZXRFbmRPZlN0YXRlbWVudCgpOworCisgICAgcmV0dXJuIGNv
bnRleHQuY3JlYXRlUmV0dXJuU3RhdGVtZW50KGxvY2F0aW9uLCBleHByLCBzdGFydCwgZW5kKTsK
K30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIFBhcnNlcjxMZXhlclR5
cGU+Ojp0cnlQYXJzZURlY29uc3RydWN0aW9uUGF0dGVybkV4cHJlc3Npb24oVHJlZUJ1aWxkZXIm
IGNvbnRleHQpCiB7CkBAIC0xMTQ0LDggKzExNzgsMTMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUJsb2NrU3RhdGVt
ZW4KICAgICByZXR1cm4gcmVzdWx0OwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVt
ZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1
bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCwgRnVuY3Rpb25QYXJzZVR5cGUgdHlwZSkK
KyNlbHNlCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVu
dChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5z
aWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgpCisjZW5kaWYKIHsKICAgICBEZXB0aE1hbmFn
ZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50RGVwdGgpOwogICAgIG1fc3RhdGVtZW50RGVw
dGgrKzsKQEAgLTExNTQsNiArMTE5MywyNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAg
IGZhaWxJZlN0YWNrT3ZlcmZsb3coKTsKICAgICBUcmVlU3RhdGVtZW50IHJlc3VsdCA9IDA7CiAg
ICAgYm9vbCBzaG91bGRTZXRFbmRPZmZzZXQgPSB0cnVlOworCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBib29sIGhhbmRsZWQgPSBmYWxzZTsKKyAgICBpZiAodHlw
ZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIHN3aXRjaCAobV90b2tlbi5t
X3R5cGUpIHsKKyAgICAgICAgY2FzZSBDTE9TRVBBUkVOOgorICAgICAgICBjYXNlIENMT1NFQlJB
Q0tFVDoKKyAgICAgICAgY2FzZSBDT01NQToKKyAgICAgICAgY2FzZSBTRU1JQ09MT046IHsKKyAg
ICAgICAgICAgIHJlc3VsdCA9IDA7CisgICAgICAgICAgICBoYW5kbGVkID0gdHJ1ZTsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChoYW5kbGVkKQorICAgICAgICAgICAgZ290
byBlbmRTdGF0ZW1lbmV0OworICAgIH0KKyNlbmRpZgogICAgIHN3aXRjaCAobV90b2tlbi5tX3R5
cGUpIHsKICAgICBjYXNlIE9QRU5CUkFDRToKICAgICAgICAgcmVzdWx0ID0gcGFyc2VCbG9ja1N0
YXRlbWVudChjb250ZXh0KTsKQEAgLTExOTksNiArMTI1OSwxMSBAQCB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVt
ZW50KFRyZQogICAgIGNhc2UgQlJFQUs6CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlQnJlYWtTdGF0
ZW1lbnQoY29udGV4dCk7CiAgICAgICAgIGJyZWFrOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgY2FzZSBBUlJPV0ZVTkNUSU9OOgorICAgICAgICByZXN1bHQgPSBw
YXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoY29udGV4dCk7CisgICAgICAgIGJyZWFrOworI2Vu
ZGlmCiAgICAgY2FzZSBSRVRVUk46CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlUmV0dXJuU3RhdGVt
ZW50KGNvbnRleHQpOwogICAgICAgICBicmVhazsKQEAgLTEyNDAsNiArMTMwNSw4IEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAorZW5kU3RhdGVtZW5l
dDoKKwogICAgIGlmIChyZXN1bHQgJiYgc2hvdWxkU2V0RW5kT2Zmc2V0KQogICAgICAgICBjb250
ZXh0LnNldEVuZE9mZnNldChyZXN1bHQsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ub2Zmc2V0KTsK
ICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTI2MCwyMyArMTMyNyw0NCBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0IFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZUZvcgogICAgIHJldHVybiBsaXN0OwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGdW5jdGlvbkJvZHkgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlRnVuY3Rpb25Cb2R5KAogICAgIFRyZWVCdWlsZGVyJiBjb250ZXh0LCBpbnQgZnVuY3Rpb25L
ZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwgCisgICAgaW50IHBhcmFtZXRlcnNT
dGFydCwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCwgRnVuY3Rpb25QYXJzZVR5cGUg
cGFyc2VUeXBlKQorI2Vsc2UKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGdW5jdGlvbkJvZHkgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlRnVuY3Rpb25Cb2R5KAorICAgIFRyZWVCdWlsZGVyJiBjb250ZXh0LCBpbnQgZnVuY3Rp
b25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwKICAgICBpbnQgcGFyYW1ldGVy
c1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kKQorI2VuZGlmCiB7CiAgICAg
SlNUb2tlbkxvY2F0aW9uIHN0YXJ0TG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKICAgICB1bnNp
Z25lZCBzdGFydENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBlID09IFN0YW5kYXJkRnVuY3Rpb25QYXJz
ZVR5cGUpIHsKKyAgICAgICAgbmV4dCgpOworICAgICAgICBpZiAobWF0Y2goQ0xPU0VCUkFDRSkp
IHsKKyAgICAgICAgICAgIHVuc2lnbmVkIGVuZENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CisgICAg
ICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwg
dG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBmdW5jdGlvbktleXdvcmRT
dGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgc3RyaWN0TW9kZSgpLCBj
b25zdHJ1Y3RvcktpbmQpOworICAgICAgICB9CisgICAgfQorI2Vsc2UKICAgICBuZXh0KCk7Ci0K
ICAgICBpZiAobWF0Y2goQ0xPU0VCUkFDRSkpIHsKICAgICAgICAgdW5zaWduZWQgZW5kQ29sdW1u
ID0gdG9rZW5Db2x1bW4oKTsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25C
b2R5KHN0YXJ0TG9jYXRpb24sIHRva2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1bW4sIGVuZENvbHVt
biwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3Rh
cnQsIHN0cmljdE1vZGUoKSwgY29uc3RydWN0b3JLaW5kKTsKICAgICB9CisjZW5kaWYKKwogICAg
IERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7CiAgICAgbV9z
dGF0ZW1lbnREZXB0aCA9IDA7CiAgICAgdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkZ1bmN0aW9uQm9k
eUJ1aWxkZXIgYm9keUJ1aWxkZXIoY29uc3RfY2FzdDxWTSo+KG1fdm0pLCBtX2xleGVyLmdldCgp
KTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGZhaWxJZkZhbHNl
KHBhcnNlU291cmNlRWxlbWVudHMoYm9keUJ1aWxkZXIsIENoZWNrRm9yU3RyaWN0TW9kZSwgcGFy
c2VUeXBlKSwgcGFyc2VUeXBlID09IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUgPyAiQ2Fubm90
IHBhcnNlIGJvZHkgb2YgdGhpcyBmdW5jdGlvbiIgOiAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhp
cyBhcnJvdyBmdW5jdGlvbiIpOworI2Vsc2UKICAgICBmYWlsSWZGYWxzZShwYXJzZVNvdXJjZUVs
ZW1lbnRzKGJvZHlCdWlsZGVyLCBDaGVja0ZvclN0cmljdE1vZGUpLCAiQ2Fubm90IHBhcnNlIGJv
ZHkgb2YgdGhpcyBmdW5jdGlvbiIpOworI2VuZGlmCiAgICAgdW5zaWduZWQgZW5kQ29sdW1uID0g
dG9rZW5Db2x1bW4oKTsKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3Rh
cnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBmdW5j
dGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgc3Ry
aWN0TW9kZSgpLCBjb25zdHJ1Y3RvcktpbmQpOwogfQpAQCAtMTI5Nyw2MCArMTM4NSwxMDMgQEAg
c3RhdGljIGNvbnN0IGNoYXIqIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShGdW5jdGlvblBhcnNlTW9k
ZSBtb2RlKQogICAgIHJldHVybiBudWxscHRyOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25J
bmZvKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblJlcXVpcmVtZW50cyByZXF1aXJlbWVu
dHMsIEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUsCisgICAgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdT
Y29wZSwgQ29uc3RydWN0b3JLaW5kIG93bmVyQ2xhc3NLaW5kLCBpbnQgZnVuY3Rpb25LZXl3b3Jk
U3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mIGluZm8sIEZ1bmN0aW9uUGFy
c2VUeXBlIHBhcnNlVHlwZSkKKyNlbHNlCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgog
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMg
cmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLAogICAgIGJvb2wgbmFtZUlzSW5D
b250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCBvd25lckNsYXNzS2luZCwgaW50IGZ1bmN0
aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvKQor
I2VuZGlmCiB7CiAgICAgQXV0b1BvcFNjb3BlUmVmIGZ1bmN0aW9uU2NvcGUodGhpcywgcHVzaFNj
b3BlKCkpOwogICAgIGZ1bmN0aW9uU2NvcGUtPnNldElzRnVuY3Rpb24oKTsKICAgICBpbnQgZnVu
Y3Rpb25OYW1lU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CiAgICAgY29u
c3QgSWRlbnRpZmllciogbGFzdEZ1bmN0aW9uTmFtZSA9IG1fbGFzdEZ1bmN0aW9uTmFtZTsKICAg
ICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBudWxscHRyOwotICAgIGlmIChtYXRjaChJREVOVCkpIHsK
LSAgICAgICAgaW5mby5uYW1lID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7Ci0gICAgICAgIG1fbGFz
dEZ1bmN0aW9uTmFtZSA9IGluZm8ubmFtZTsKLSAgICAgICAgbmV4dCgpOwotICAgICAgICBpZiAo
IW5hbWVJc0luQ29udGFpbmluZ1Njb3BlKQotICAgICAgICAgICAgZmFpbElmRmFsc2VJZlN0cmlj
dChmdW5jdGlvblNjb3BlLT5kZWNsYXJlVmFyaWFibGUoaW5mby5uYW1lKSwgIiciLCBpbmZvLm5h
bWUtPmltcGwoKSwgIicgaXMgbm90IGEgdmFsaWQgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1v
ZGUpLCAiIG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsKLSAgICB9IGVsc2UgaWYgKHJlcXVpcmVtZW50
cyA9PSBGdW5jdGlvbk5lZWRzTmFtZSkgeworICAgIGludCBwYXJhbWV0ZXJzU3RhcnQ7CisgICAg
Ym9vbCBpc0NsYXNzQ29uc3RydWN0b3I7CisgICAgCisgICAgaWYgKHBhcnNlVHlwZSA9PSBTdGFu
ZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIGlmIChtYXRjaChJREVOVCkpIHsKKyAg
ICAgICAgICAgIGluZm8ubmFtZSA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OworICAgICAgICAgICAg
bV9sYXN0RnVuY3Rpb25OYW1lID0gaW5mby5uYW1lOworICAgICAgICAgICAgbmV4dCgpOworICAg
ICAgICAgICAgaWYgKCFuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSkKKyAgICAgICAgICAgICAgICBm
YWlsSWZGYWxzZUlmU3RyaWN0KGZ1bmN0aW9uU2NvcGUtPmRlY2xhcmVWYXJpYWJsZShpbmZvLm5h
bWUpLCAiJyIsIGluZm8ubmFtZS0+aW1wbCgpLCAiJyBpcyBub3QgYSB2YWxpZCAiLCBzdHJpbmdG
b3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSBpbiBzdHJpY3QgbW9kZSIpOworICAgICAgICB9
IGVsc2UgaWYgKHJlcXVpcmVtZW50cyA9PSBGdW5jdGlvbk5lZWRzTmFtZSkgewogICAgICAgICBp
ZiAobWF0Y2goT1BFTlBBUkVOKSAmJiBtb2RlID09IEZ1bmN0aW9uTW9kZSkKICAgICAgICAgICAg
IHNlbWFudGljRmFpbCgiRnVuY3Rpb24gc3RhdGVtZW50cyBtdXN0IGhhdmUgYSBuYW1lIik7Ci0g
ICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5jdGlvbk1vZGUo
bW9kZSksICIgbmFtZSIpOwotICAgICAgICBmYWlsRHVlVG9VbmV4cGVjdGVkVG9rZW4oKTsKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0ID0gbV90
b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OwotICAgIGlmICghY29uc3VtZShPUEVOUEFSRU4p
KSB7Ci0gICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5jdGlv
bk1vZGUobW9kZSksICIgbmFtZSIpOwotICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVk
IGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwg
IidzIHBhcmFtZXRlciBsaXN0Iik7Ci0gICAgfQotCi0gICAgaWYgKG1vZGUgPT0gR2V0dGVyTW9k
ZSkKLSAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiZ2V0dGVyIGZ1bmN0aW9ucyBt
dXN0IGhhdmUgbm8gcGFyYW1ldGVycyIpOwotICAgIGVsc2UgaWYgKG1vZGUgPT0gU2V0dGVyTW9k
ZSkgewotICAgICAgICBmYWlsSWZUcnVlKG1hdGNoKENMT1NFUEFSRU4pLCAic2V0dGVyIGZ1bmN0
aW9ucyBtdXN0IGhhdmUgb25lIHBhcmFtZXRlciIpOwotICAgICAgICBhdXRvIHBhcmFtZXRlciA9
IHBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuKGNvbnRleHQsIERlY29uc3RydWN0VG9QYXJhbWV0
ZXJzKTsKLSAgICAgICAgZmFpbElmRmFsc2UocGFyYW1ldGVyLCAic2V0dGVyIGZ1bmN0aW9ucyBt
dXN0IGhhdmUgb25lIHBhcmFtZXRlciIpOwotICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBjb250
ZXh0LmNyZWF0ZUZvcm1hbFBhcmFtZXRlckxpc3QocGFyYW1ldGVyKTsKLSAgICAgICAgZmFpbElm
VHJ1ZShtYXRjaChDT01NQSksICJzZXR0ZXIgZnVuY3Rpb25zIG11c3QgaGF2ZSBvbmUgcGFyYW1l
dGVyIik7Ci0gICAgICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJFTiwgIkV4cGVjdGVkIGEgJykn
IGFmdGVyIGEgcGFyYW1ldGVyIGRlY2xhcmF0aW9uIik7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAg
aWYgKCFtYXRjaChDTE9TRVBBUkVOKSkgewotICAgICAgICAgICAgaW5mby5wYXJhbWV0ZXJzID0g
cGFyc2VGb3JtYWxQYXJhbWV0ZXJzKGNvbnRleHQpOwotICAgICAgICAgICAgZmFpbElmRmFsc2Uo
aW5mby5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3Ry
aW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAgICAgICAgIHNlbWFudGljRmFpbHVyZUR1
ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSIpOworICAgICAg
ICAgICAgZmFpbER1ZVRvVW5leHBlY3RlZFRva2VuKCk7CisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgICAgIH0KKyAgICAgICAgcGFyYW1ldGVyc1N0YXJ0ID0gbV90b2tlbi5tX2xvY2F0
aW9uLnN0YXJ0T2Zmc2V0OworICAgICAgICAKKyAgICAgICAgaWYgKCFjb25zdW1lKE9QRU5QQVJF
TikpIHsKKyAgICAgICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JG
dW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSIpOworICAgICAgICAgICAgZmFpbFdpdGhNZXNzYWdl
KCJFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1v
ZGUobW9kZSksICIncyBwYXJhbWV0ZXIgbGlzdCIpOwogICAgICAgICB9Ci0gICAgICAgIGNvbnN1
bWVPckZhaWwoQ0xPU0VQQVJFTiwgIkV4cGVjdGVkIGEgJyknIG9yIGEgJywnIGFmdGVyIGEgcGFy
YW1ldGVyIGRlY2xhcmF0aW9uIik7Ci0gICAgfQogCi0gICAgbWF0Y2hPckZhaWwoT1BFTkJSQUNF
LCAiRXhwZWN0ZWQgYW4gb3BlbmluZyAneycgYXQgdGhlIHN0YXJ0IG9mIGEgIiwgc3RyaW5nRm9y
RnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgaWYgKG1vZGUgPT0gR2V0dGVy
TW9kZSkKKyAgICAgICAgICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJFTiwgImdldHRlciBmdW5j
dGlvbnMgbXVzdCBoYXZlIG5vIHBhcmFtZXRlcnMiKTsKKyAgICAgICAgZWxzZSBpZiAobW9kZSA9
PSBTZXR0ZXJNb2RlKSB7CisgICAgICAgICAgICBmYWlsSWZUcnVlKG1hdGNoKENMT1NFUEFSRU4p
LCAic2V0dGVyIGZ1bmN0aW9ucyBtdXN0IGhhdmUgb25lIHBhcmFtZXRlciIpOworICAgICAgICAg
ICAgYXV0byBwYXJhbWV0ZXIgPSBwYXJzZURlY29uc3RydWN0aW9uUGF0dGVybihjb250ZXh0LCBE
ZWNvbnN0cnVjdFRvUGFyYW1ldGVycyk7CisgICAgICAgICAgICBmYWlsSWZGYWxzZShwYXJhbWV0
ZXIsICJzZXR0ZXIgZnVuY3Rpb25zIG11c3QgaGF2ZSBvbmUgcGFyYW1ldGVyIik7CisgICAgICAg
ICAgICBpbmZvLnBhcmFtZXRlcnMgPSBjb250ZXh0LmNyZWF0ZUZvcm1hbFBhcmFtZXRlckxpc3Qo
cGFyYW1ldGVyKTsKKyAgICAgICAgICAgIGZhaWxJZlRydWUobWF0Y2goQ09NTUEpLCAic2V0dGVy
IGZ1bmN0aW9ucyBtdXN0IGhhdmUgb25lIHBhcmFtZXRlciIpOworICAgICAgICAgICAgY29uc3Vt
ZU9yRmFpbChDTE9TRVBBUkVOLCAiRXhwZWN0ZWQgYSAnKScgYWZ0ZXIgYSBwYXJhbWV0ZXIgZGVj
bGFyYXRpb24iKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmICghbWF0Y2goQ0xP
U0VQQVJFTikpIHsKKyAgICAgICAgICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBwYXJzZUZvcm1h
bFBhcmFtZXRlcnMoY29udGV4dCk7CisgICAgICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5w
YXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9y
RnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGNvbnN1bWVP
ckZhaWwoQ0xPU0VQQVJFTiwgIkV4cGVjdGVkIGEgJyknIG9yIGEgJywnIGFmdGVyIGEgcGFyYW1l
dGVyIGRlY2xhcmF0aW9uIik7CisgICAgICAgIH0KIAotICAgIC8vIEJ5dGVjb2RlR2VuZXJhdG9y
IGVtaXRzIGNvZGUgdG8gdGhyb3cgVHlwZUVycm9yIHdoZW4gYSBjbGFzcyBjb25zdHJ1Y3RvciBp
cyAiY2FsbCJlZC4KLSAgICAvLyBTZXQgQ29uc3RydWN0b3JLaW5kIHRvIE5vbmUgZm9yIG5vbi1j
b25zdHJ1Y3RvciBtZXRob2RzIG9mIGNsYXNzZXMuCi0gICAgYm9vbCBpc0NsYXNzQ29uc3RydWN0
b3IgPSBtb2RlID09IE1ldGhvZE1vZGUgJiYgaW5mby5uYW1lICYmICppbmZvLm5hbWUgPT0gbV92
bS0+cHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3I7Ci0gICAgaWYgKG1fZGVmYXVsdENvbnN0cnVj
dG9yS2luZCAhPSBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUpIHsKLSAgICAgICAgb3duZXJDbGFzc0tp
bmQgPSBtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQ7Ci0gICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3Rv
ciA9IHRydWU7CisgICAgICAgIG1hdGNoT3JGYWlsKE9QRU5CUkFDRSwgIkV4cGVjdGVkIGFuIG9w
ZW5pbmcgJ3snIGF0IHRoZSBzdGFydCBvZiBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2Rl
KSwgIiBib2R5Iik7CisgICAgICAgIC8vIEJ5dGVjb2RlR2VuZXJhdG9yIGVtaXRzIGNvZGUgdG8g
dGhyb3cgVHlwZUVycm9yIHdoZW4gYSBjbGFzcyBjb25zdHJ1Y3RvciBpcyAiY2FsbCJlZC4KKyAg
ICAgICAgLy8gU2V0IENvbnN0cnVjdG9yS2luZCB0byBOb25lIGZvciBub24tY29uc3RydWN0b3Ig
bWV0aG9kcyBvZiBjbGFzc2VzLgorICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSBtb2RlID09
IE1ldGhvZE1vZGUgJiYgaW5mby5uYW1lICYmICppbmZvLm5hbWUgPT0gbV92bS0+cHJvcGVydHlO
YW1lcy0+Y29uc3RydWN0b3I7CisgICAgICAgIGlmIChtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQg
IT0gQ29uc3RydWN0b3JLaW5kOjpOb25lKSB7CisgICAgICAgICAgICBvd25lckNsYXNzS2luZCA9
IG1fZGVmYXVsdENvbnN0cnVjdG9yS2luZDsKKyAgICAgICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3Rv
ciA9IHRydWU7CisgICAgICAgIH0KICAgICB9CisgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5
cGUpIHsKKyAgICAgICAgcGFyYW1ldGVyc1N0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0
T2Zmc2V0OworICAgICAgICBpZiAoIW1hdGNoKElERU5UKSAmJiAhbWF0Y2goT1BFTlBBUkVOKSkg
eworICAgICAgICAgICAgc2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0
aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7CisgICAgICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4
cGVjdGVkIGFuIGFycm93IGZ1bmN0aW9uIGlucHV0IHBhcmFtZXRlciIpOworICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgICAgICAg
ICBjb25zdW1lKE9QRU5QQVJFTik7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAg
aWYgKCFtYXRjaChDTE9TRVBBUkVOKSkgeworICAgICAgICAgICAgICAgICAgICBpbmZvLnBhcmFt
ZXRlcnMgPSBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoY29udGV4dCk7CisgICAgICAgICAgICAgICAg
ICAgIGZhaWxJZkZhbHNlKGluZm8ucGFyYW1ldGVycywgIkNhbm5vdCBwYXJzZSBwYXJhbWV0ZXJz
IGZvciB0aGlzICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGNvbnN1bWVPckZhaWwoQ0xP
U0VQQVJFTiwgIkV4cGVjdGVkIGEgJyknIG9yIGEgJywnIGFmdGVyIGEgcGFyYW1ldGVyIGRlY2xh
cmF0aW9uIik7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGF1dG8gcGFy
YW1ldGVyID0gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oY29udGV4dCwgRGVjb25zdHJ1Y3RU
b1BhcmFtZXRlcnMpOworICAgICAgICAgICAgICAgIGZhaWxJZkZhbHNlKHBhcmFtZXRlciwgIkNh
bm5vdCBwYXJzZSBwYXJhbWV0ZXIgcGF0dGVybiIpOworICAgICAgICAgICAgICAgIGluZm8ucGFy
YW1ldGVycyA9IGNvbnRleHQuY3JlYXRlRm9ybWFsUGFyYW1ldGVyTGlzdChwYXJhbWV0ZXIpOwor
ICAgICAgICAgICAgICAgIGZhaWxJZkZhbHNlKGluZm8ucGFyYW1ldGVycywgIkNhbm5vdCBwYXJz
ZSBwYXJhbWV0ZXJzIGZvciB0aGlzICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIG1hdGNoT3JGYWlsKEFS
Uk9XRlVOQ1RJT04sICJFeHBlY3RlZCBhICc9PicgYWZ0ZXIgYXJyb3cgZnVuY3Rpb24gcGFyYW1l
dGVyIGRlY2xhcmF0aW9uIik7CisgICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IGZhbHNlOwor
ICAgICAgICAKKyAgICAgICAgaW5mby5hcnJvd0Z1bmN0aW9uT2Zmc2V0ID0gbV90b2tlbi5tX2Rh
dGEub2Zmc2V0OworICAgIH0KKyNlbmRpZgorICAgIAogICAgIENvbnN0cnVjdG9yS2luZCBjb25z
dHJ1Y3RvcktpbmQgPSBpc0NsYXNzQ29uc3RydWN0b3IgPyBvd25lckNsYXNzS2luZCA6IENvbnN0
cnVjdG9yS2luZDo6Tm9uZTsKIAogICAgIGluZm8ub3BlbkJyYWNlT2Zmc2V0ID0gbV90b2tlbi5t
X2RhdGEub2Zmc2V0OwpAQCAtMTM4NCw4ICsxNTE1LDE3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1
aWxkCiAgICAgICAgIGZhaWxJZkZhbHNlKHBvcFNjb3BlKGZ1bmN0aW9uU2NvcGUsIFRyZWVCdWls
ZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUluZm8pLCAiUGFyc2VyIGVycm9yIik7CiAgICAgICAgIAog
ICAgICAgICBpbmZvLmNsb3NlQnJhY2VPZmZzZXQgPSBjYWNoZWRJbmZvLT5jbG9zZUJyYWNlT2Zm
c2V0OwotCisgICAgICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAg
ICAgICAgaW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUgPSBjYWNoZWRJbmZvLT5pc0JvZHlBcnJv
d0Z1bmN0aW9uQmxvY2sgPyBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrIDogQXJyb3dGdW5jdGlvbkJv
ZHlFeHByZXNzaW9uOworICAgICAgICAgICAgbV90b2tlbiA9IGluZm8uYXJyb3dGdW5jdGlvbkJv
ZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2sgPyBjYWNoZWRJbmZvLT5jbG9zZUJyYWNl
VG9rZW4oKSA6IGNhY2hlZEluZm8tPmVuZEFycm93RnVuY3Rpb25Ub2tlbigpOworICAgICAgICB9
IGVsc2UKKyAgICAgICAgICAgIG1fdG9rZW4gPSBjYWNoZWRJbmZvLT5jbG9zZUJyYWNlVG9rZW4o
KTsKKyNlbHNlICAgCiAgICAgICAgIG1fdG9rZW4gPSBjYWNoZWRJbmZvLT5jbG9zZUJyYWNlVG9r
ZW4oKTsKKyNlbmRpZgorICAgICAgICAKICAgICAgICAgaWYgKGVuZENvbHVtbklzT25TdGFydExp
bmUpCiAgICAgICAgICAgICBtX3Rva2VuLm1fbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0ID0gY3Vy
cmVudExpbmVTdGFydE9mZnNldDsKIApAQCAtMTM5NCwxMyArMTUzNCw0OCBAQCB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25J
bmZvKFRyZWVCdWlsZAogCiAgICAgICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KGluZm8uYm9keSwg
bV9sZXhlci0+Y3VycmVudE9mZnNldCgpKTsKICAgICAgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJvd0Z1bmN0aW9u
UGFyc2VUeXBlKSB7CisgICAgICAgICAgICBpZiAoaW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUg
PT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jaykKKyAgICAgICAgICAgICAgICBuZXh0KCk7CisgICAg
ICAgIH0gZWxzZQorICAgICAgICAgICAgbmV4dCgpOworI2Vsc2UKICAgICAgICAgbmV4dCgpOwor
I2VuZGlmCiAgICAgICAgIGluZm8uYm9keUVuZExpbmUgPSBtX2xhc3RUb2tlbkVuZFBvc2l0aW9u
LmxpbmU7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KKyAgICAKKyAgICAKICAgICBtX2xh
c3RGdW5jdGlvbk5hbWUgPSBsYXN0RnVuY3Rpb25OYW1lOwogICAgIFBhcnNlclN0YXRlIG9sZFN0
YXRlID0gc2F2ZVN0YXRlKCk7CisgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAg
ICAgICAgU2F2ZVBvaW50IHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgICAgICBu
ZXh0KCk7CisgICAgICAgIC8vIENoZWNrIGlmIGFycm93IGJvZHkgc3RhcnQgd2l0aCB7LiBJZiBp
dCB0cnVlIGl0IG1lYW4gdGhhdCBhcnJvdyBmdW5jdGlvbiBpcyBGYXQgYXJyb3cgZnVuY3Rpb24K
KyAgICAgICAgLy8gYW5kIHdlIG5lZWQgdXNlIGNvbW1vbiBhcHByb2FjaCB0byBwYXJzZSBmdW5j
dGlvbiBib2R5CisgICAgICAgIGluZm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBlID0gbWF0Y2goT1BF
TkJSQUNFKSA/IEFycm93RnVuY3Rpb25Cb2R5QmxvY2sgOiBBcnJvd0Z1bmN0aW9uQm9keUV4cHJl
c3Npb247CisgICAgCisgICAgICAgIGlmIChpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlwZSA9PSBB
cnJvd0Z1bmN0aW9uQm9keUJsb2NrKSB7CisgICAgICAgICAgICBpbmZvLm9wZW5CcmFjZU9mZnNl
dCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKKyAgICAgICAgICAgIGluZm8uYm9keVN0YXJ0TGlu
ZSA9IHRva2VuTGluZSgpOworICAgICAgICAgICAgaW5mby5ib2R5U3RhcnRDb2x1bW4gPSBtX3Rv
a2VuLm1fZGF0YS5vZmZzZXQgLSBtX3Rva2VuLm1fZGF0YS5saW5lU3RhcnRPZmZzZXQ7CisgICAg
ICAgIAorICAgICAgICAgICAgaW5mby5ib2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwg
ZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQs
IGNvbnN0cnVjdG9yS2luZCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICByZXN0b3Jl
U2F2ZVBvaW50KHNhdmVQb2ludCk7CisgICAgICAgICAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0
aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQs
IHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kLCBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBl
KTsKKyAgICAgICAgfQorICAgIH0gZWxzZQorICAgICAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0
aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQs
IHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kKTsKKyNlbHNlCiAgICAgaW5mby5ib2R5
ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0
aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCk7CisjZW5kaWYK
KyAgICAKKyAgICAKICAgICByZXN0b3JlU3RhdGUob2xkU3RhdGUpOwogICAgIGZhaWxJZkZhbHNl
KGluZm8uYm9keSwgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiB0aGlzICIsIHN0cmluZ0ZvckZ1
bmN0aW9uTW9kZShtb2RlKSk7CiAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQoaW5mby5ib2R5LCBt
X2xleGVyLT5jdXJyZW50T2Zmc2V0KCkpOwpAQCAtMTQzMSwxOCArMTYwNiwzOCBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rp
b25JbmZvKFRyZWVCdWlsZAogICAgICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VMaW5lID0gY2xv
c2VCcmFjZUxpbmU7CiAgICAgICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFjZU9mZnNldCA9IGluZm8u
Y2xvc2VCcmFjZU9mZnNldDsKICAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJyYWNlTGluZVN0YXJ0
T2Zmc2V0ID0gY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldDsKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25Q
YXJzZVR5cGUpIHsKKyAgICAgICAgICAgIHBhcmFtZXRlcnMuaXNCb2R5QXJyb3dGdW5jdGlvbkJs
b2NrID0gaW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9j
azsKKyAgICAgICAgICAgIHBhcmFtZXRlcnMudG9rZW5UeXBlID0gbV90b2tlbi5tX3R5cGU7Cisg
ICAgICAgIH0KKyNlbmRpZgogICAgICAgICBmdW5jdGlvblNjb3BlLT5maWxsUGFyYW1ldGVyc0Zv
clNvdXJjZVByb3ZpZGVyQ2FjaGUocGFyYW1ldGVycyk7CiAgICAgICAgIG5ld0luZm8gPSBTb3Vy
Y2VQcm92aWRlckNhY2hlSXRlbTo6Y3JlYXRlKHBhcmFtZXRlcnMpOwogCiAgICAgfQogICAgIAog
ICAgIGZhaWxJZkZhbHNlKHBvcFNjb3BlKGZ1bmN0aW9uU2NvcGUsIFRyZWVCdWlsZGVyOjpOZWVk
c0ZyZWVWYXJpYWJsZUluZm8pLCAiUGFyc2VyIGVycm9yIik7CisgICAgCisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rp
b25QYXJzZVR5cGUpIHsKKyAgICAgICAgaWYgKGluZm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBlID09
IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHsKKyAgICAgICAgICAgIG1hdGNoT3JGYWlsKENMT1NF
QlJBQ0UsICJFeHBlY3RlZCBhIGNsb3NpbmcgJ30nIGFmdGVyIGEgIiwgc3RyaW5nRm9yRnVuY3Rp
b25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgfSBl
bHNlCisgICAgICAgICAgICBmYWlsSWZGYWxzZShpc0VuZE9mQXJyb3dGdW5jdGlvbigpLCAiRXhw
ZWN0ZWQgdGhlIGNsb3NpbmcgJzsnICcsJyAnXScgJyknICd9JyBhZnRlciBhcnJvdyBmdW5jdGlv
biIpOworICAgIH0gZWxzZSB7CisgICAgICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0UsICJFeHBl
Y3RlZCBhIGNsb3NpbmcgJ30nIGFmdGVyIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUp
LCAiIGJvZHkiKTsKKyAgICAgICAgbmV4dCgpOworICAgIH0KKyNlbHNlCiAgICAgbWF0Y2hPckZh
aWwoQ0xPU0VCUkFDRSwgIkV4cGVjdGVkIGEgY2xvc2luZyAnfScgYWZ0ZXIgYSAiLCBzdHJpbmdG
b3JGdW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOworICAgIG5leHQoKTsKKyNlbmRpZgogICAg
IAogICAgIGlmIChuZXdJbmZvKQogICAgICAgICBtX2Z1bmN0aW9uQ2FjaGUtPmFkZChpbmZvLm9w
ZW5CcmFjZU9mZnNldCwgV1RGOjptb3ZlKG5ld0luZm8pKTsKICAgICAKLSAgICBuZXh0KCk7CiAg
ICAgaW5mby5ib2R5RW5kTGluZSA9IG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZTsKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KQEAgLTE3NjcsNiArMTk2MiwxOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSWZTdGF0ZW1l
bnQoVAogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUlmU3RhdGVtZW50KGlmTG9jYXRpb24sIGNv
bmRpdGlvbiwgdHJ1ZUJsb2NrLCBzdGF0ZW1lbnRTdGFjay5sYXN0KCksIHN0YXJ0LCBlbmQpOwog
fQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBl
bmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNz
aW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVC
dWlsZGVyJiBjb250ZXh0KQoreworICAgIGZhaWxJZlN0YWNrT3ZlcmZsb3coKTsKKyAgICBUcmVl
RXhwcmVzc2lvbiBub2RlID0gcGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbihjb250ZXh0KTsKKyAg
ICBmYWlsSWZGYWxzZShub2RlLCAiQ2Fubm90IHBhcnNlIGV4cHJlc3Npb24iKTsKKyAgICBjb250
ZXh0LnNldEVuZE9mZnNldChub2RlLCBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLm9mZnNldCk7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlw
ZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKIHsKQEAgLTE4
MTQsNiArMjAyMSw0MSBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRyZWVFeHBy
ZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbgogICAgICAgICB9CiAgICAg
ICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKICAgICB9CisKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFNhdmVQb2ludCBzYXZlQXJyb3dGdW5jdGlvblBv
aW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgYm9vbCBhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0
ID0gZmFsc2U7CisgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgbmV4dCgpOwor
ICAgICAgICBpZiAobWF0Y2goQ0xPU0VQQVJFTikpIHsKKyAgICAgICAgICAgIG5leHQoKTsKKwor
ICAgICAgICAgICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJT04pKQorICAgICAgICAgICAgICAgIGFy
cm93RnVuY3Rpb25FbXB0eUxpc3QgPSB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCFh
cnJvd0Z1bmN0aW9uRW1wdHlMaXN0KQorICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZl
QXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICB9CisKKyAgICBUcmVlRXhwcmVzc2lvbiBsaHM7Cisg
ICAgaWYgKCFhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0KSB7CisgICAgICAgIGxocyA9IHBhcnNlQ29u
ZGl0aW9uYWxFeHByZXNzaW9uKGNvbnRleHQpOworICAgICAgICBmYWlsSWZGYWxzZShsaHMsICJD
YW4Zbm90IHBhcnNlIGV4cHJlc3Npb24iKTsKKyAgICAgICAgaWYgKGluaXRpYWxOb25MSFNDb3Vu
dCAhPSBtX25vbkxIU0NvdW50KSB7CisgICAgICAgICAgICBpZiAobV90b2tlbi5tX3R5cGUgPj0g
RVFVQUwgJiYgbV90b2tlbi5tX3R5cGUgPD0gT1JFUVVBTCkKKyAgICAgICAgICAgICAgICBzZW1h
bnRpY0ZhaWwoIkxlZnQgaGFuZCBzaWRlIG9mIG9wZXJhdG9yICciLCBnZXRUb2tlbigpLCAiJyBt
dXN0IGJlIGEgcmVmZXJlbmNlIik7CisKKyAgICAgICAgICAgIHJldHVybiBsaHM7CisgICAgICAg
IH0KKyAgICB9CisKKyAgICBpZiAobWF0Y2goQVJST1dGVU5DVElPTikpIHsKKyAgICAgICAgcmVz
dG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAgbGhzID0gcGFy
c2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihjb250ZXh0KTsKKyAgICAgICAgcmV0dXJuIGxoczsKKyAg
ICB9CisjZWxzZQogICAgIFRyZWVFeHByZXNzaW9uIGxocyA9IHBhcnNlQ29uZGl0aW9uYWxFeHBy
ZXNzaW9uKGNvbnRleHQpOwogICAgIGZhaWxJZkZhbHNlKGxocywgIkNhbm5vdCBwYXJzZSBleHBy
ZXNzaW9uIik7CiAgICAgaWYgKGluaXRpYWxOb25MSFNDb3VudCAhPSBtX25vbkxIU0NvdW50KSB7
CkBAIC0xODIyLDcgKzIwNjQsOCBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRy
ZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbgogCiAgICAgICAg
IHJldHVybiBsaHM7CiAgICAgfQotICAgIAorI2VuZGlmCisKICAgICBpbnQgYXNzaWdubWVudFN0
YWNrID0gMDsKICAgICBPcGVyYXRvciBvcDsKICAgICBib29sIGhhZEFzc2lnbm1lbnQgPSBmYWxz
ZTsKQEAgLTIyOTcsNiArMjU0MCwyMyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHByZQogICAgICAg
ICByZXR1cm4gY29udGV4dC50aGlzRXhwcihsb2NhdGlvbiwgbV90aGlzVERaTW9kZSk7CiAgICAg
fQogICAgIGNhc2UgSURFTlQ6IHsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgICAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNhdmVQ
b2ludCgpOworICAgICAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlv
bigpOworICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlk
ZW50OworICAgICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsK
KyAgICAgICAgbmV4dCgpOworCisgICAgICAgIGlmICghbWF0Y2goQVJST1dGVU5DVElPTikpIHsK
KyAgICAgICAgICAgIGN1cnJlbnRTY29wZSgpLT51c2VWYXJpYWJsZShpZGVudCwgbV92bS0+cHJv
cGVydHlOYW1lcy0+ZXZhbCA9PSAqaWRlbnQpOworICAgICAgICAgICAgbV9sYXN0SWRlbnRpZmll
ciA9IGlkZW50OworICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUmVzb2x2ZShsb2Nh
dGlvbiwgaWRlbnQsIHN0YXJ0KTsKKyAgICAgICAgfQorCisgICAgICAgIHJlc3RvcmVTYXZlUG9p
bnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAgICAgIFRyZWVFeHByZXNzaW9uIGxocyA9
IHBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoY29udGV4dCk7CisgICAgICAgIHJldHVybiBsaHM7
CisjZWxzZQogICAgICAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlv
bigpOwogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlk
ZW50OwogICAgICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsK
QEAgLTIzMDQsNiArMjU2NCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4
cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAgICAgIGN1
cnJlbnRTY29wZSgpLT51c2VWYXJpYWJsZShpZGVudCwgbV92bS0+cHJvcGVydHlOYW1lcy0+ZXZh
bCA9PSAqaWRlbnQpOwogICAgICAgICBtX2xhc3RJZGVudGlmaWVyID0gaWRlbnQ7CiAgICAgICAg
IHJldHVybiBjb250ZXh0LmNyZWF0ZVJlc29sdmUobG9jYXRpb24sIGlkZW50LCBzdGFydCk7Cisj
ZW5kaWYKICAgICB9CiAgICAgY2FzZSBTVFJJTkc6IHsKICAgICAgICAgY29uc3QgSWRlbnRpZmll
ciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKQEAgLTI0OTEsNiArMjc1MiwzMiBAQCBl
bmRNZW1iZXJFeHByZXNzaW9uOgogICAgIHJldHVybiBiYXNlOwogfQogCisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKFRyZWVCdWlsZGVyJiBjb250ZXh0KQorewor
ICAgIFRyZWVFeHByZXNzaW9uIGJhc2UgPSAwOworICAgIEpTVGV4dFBvc2l0aW9uIGV4cHJlc3Np
b25TdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgIGludCBuZXdDb3VudCA9IDA7Cisg
ICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uOworCisgICAgaWYgKG1hdGNoKElERU5UKSB8fCBt
YXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgIHVuc2lnbmVkIGZ1bmN0aW9uS2V5d29yZFN0YXJ0
ID0gdG9rZW5TdGFydCgpOworICAgICAgICBsb2NhdGlvbiA9IHRva2VuTG9jYXRpb24oKTsKKyAg
ICAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOworICAgICAgICBpbmZv
Lm5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1lcy0+bnVsbElkZW50aWZpZXI7CisgICAgICAgIGZh
aWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1l
bnRzLCBGdW5jdGlvbk1vZGUsIHRydWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgZnVuY3Rpb25L
ZXl3b3JkU3RhcnQsIGluZm8sIEFycm93RnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJz
ZSBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgICAgIGJhc2UgPSBjb250ZXh0LmNy
ZWF0ZUFycm93RnVuY3Rpb25FeHByKGxvY2F0aW9uLCBpbmZvKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgYmFzZSA9IHBhcnNlUHJpbWFyeUV4cHJlc3Npb24oY29udGV4dCk7CisKKyAgICBmYWlsSWZG
YWxzZShiYXNlLCAiQ2Fubm90IHBhcnNlIGJhc2UgZXhwcmVzc2lvbiIpOworICAgIHdoaWxlIChu
ZXdDb3VudC0tKQorICAgICAgICBiYXNlID0gY29udGV4dC5jcmVhdGVOZXdFeHByKGxvY2F0aW9u
LCBiYXNlLCBleHByZXNzaW9uU3RhcnQsIGxhc3RUb2tlbkVuZFBvc2l0aW9uKCkpOworICAgIHJl
dHVybiBiYXNlOworfQorI2VuZGlmCisKIHN0YXRpYyBjb25zdCBjaGFyKiBvcGVyYXRvclN0cmlu
Zyhib29sIHByZWZpeCwgdW5zaWduZWQgdG9rKQogewogICAgIHN3aXRjaCAodG9rKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCAwZjI3MjhmODYyMWY4MDEwYzQxMGJm
Nzk4NzYxOWJmMjNlNTBhZjhiLi4xZjdkOGFhNzNiY2I2ZTUyODdhODQ2OTQ0YjMwY2NmN2U0NWJk
YzkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKQEAgLTgwLDYgKzgwLDkg
QEAgY2xhc3MgU291cmNlQ29kZTsKIENPTVBJTEVfQVNTRVJUKExhc3RVbnRhZ2dlZFRva2VuIDwg
NjQsIExlc3NUaGFuNjRVbnRhZ2dlZFRva2Vucyk7CiAKIGVudW0gU291cmNlRWxlbWVudHNNb2Rl
IHsgQ2hlY2tGb3JTdHJpY3RNb2RlLCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlIH07CisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK2VudW0gRnVuY3Rpb25QYXJzZVR5cGUgeyBT
dGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlLCBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlIH07CisjZW5k
aWYKIGVudW0gRnVuY3Rpb25SZXF1aXJlbWVudHMgeyBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBG
dW5jdGlvbk5lZWRzTmFtZSB9OwogZW51bSBGdW5jdGlvblBhcnNlTW9kZSB7CiAgICAgRnVuY3Rp
b25Nb2RlLApAQCAtNjE4LDYgKzYyMSwxMyBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gbV90
b2tlbi5tX3R5cGUgPT0gSURFTlQgJiYgKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnBy
b3BlcnR5TmFtZXMtPm9mOwogICAgIH0KICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIEFMV0FZU19JTkxJTkUgYm9vbCBpc0VuZE9mQXJyb3dGdW5jdGlvbigp
CisgICAgeworICAgICAgICByZXR1cm4gbWF0Y2goU0VNSUNPTE9OKSB8fCBtYXRjaChDT01NQSkg
fHwgbWF0Y2goQ0xPU0VQQVJFTikgfHwgbWF0Y2goQ0xPU0VCUkFDRSkgfHwgbWF0Y2goQ0xPU0VC
UkFDS0VUKTsKKyAgICB9CisjZW5kaWYKKyAgICAKICAgICBBTFdBWVNfSU5MSU5FIHVuc2lnbmVk
IHRva2VuU3RhcnQoKQogICAgIHsKICAgICAgICAgcmV0dXJuIG1fdG9rZW4ubV9sb2NhdGlvbi5z
dGFydE9mZnNldDsKQEAgLTcyMSw5ICs3MzEsMTQgQEAgcHJpdmF0ZToKICAgICAgICAgfQogICAg
ICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KLSAgICAKKworI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291
cmNlRWxlbWVudHMgcGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYsIFNvdXJjZUVsZW1l
bnRzTW9kZSwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25QYXJzZVR5cGUgPSBTdGFuZGFyZEZ1
bmN0aW9uUGFyc2VUeXBlKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
dGF0ZW1lbnQgcGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVyKiYg
ZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDAsIEZ1bmN0aW9u
UGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBlID0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7
CisjZWxzZQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1l
bnRzIHBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUp
OwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0
YXRlbWVudChUcmVlQnVpbGRlciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2ln
bmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMCk7CisjZW5kaWYKICNpZiBFTkFCTEUoRVM2
X0NMQVNTX1NZTlRBWCkKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0
ZW1lbnQgcGFyc2VDbGFzc0RlY2xhcmF0aW9uKFRyZWVCdWlsZGVyJik7CiAjZW5kaWYKQEAgLTc2
MiwxOSArNzc3LDMxIEBAIHByaXZhdGU6CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlUHJvcGVydHkgcGFyc2VQcm9wZXJ0eShUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0KTsK
ICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlUHJv
cGVydHlNZXRob2QoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqIG1ldGhv
ZE5hbWUpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IHBh
cnNlR2V0dGVyU2V0dGVyKFRyZWVCdWlsZGVyJiwgYm9vbCBzdHJpY3QsIFByb3BlcnR5Tm9kZTo6
VHlwZSwgdW5zaWduZWQgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgQ29uc3RydWN0b3JLaW5k
ID0gQ29uc3RydWN0b3JLaW5kOjpOb25lLCBTdXBlckJpbmRpbmcgPSBTdXBlckJpbmRpbmc6Ok5v
dE5lZWRlZCk7Ci0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5F
IFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VGdW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImLCBpbnQgZnVu
Y3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwgaW50IHBhcmFtZXRlcnNT
dGFydCwgQ29uc3RydWN0b3JLaW5kKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVl
RnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVyJiwgaW50IGZ1bmN0aW9u
S2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIGludCBwYXJhbWV0ZXJzU3RhcnQs
IENvbnN0cnVjdG9yS2luZCwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25QYXJzZVR5cGUgPSBT
dGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNlbHNlCisgICAgICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rp
b25Cb2R5KFRyZWVCdWlsZGVyJiwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rp
b25OYW1lU3RhcnQsIGludCBwYXJhbWV0ZXJzU3RhcnQsIENvbnN0cnVjdG9yS2luZCk7CisjZW5k
aWYKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZv
cm1hbFBhcmFtZXRlckxpc3QgcGFyc2VGb3JtYWxQYXJhbWV0ZXJzKFRyZWVCdWlsZGVyJik7CiAg
ICAgZW51bSBWYXJEZWNsYXJhdGlvbkxpc3RDb250ZXh0IHsgRm9yTG9vcENvbnRleHQsIFZhckRl
Y2xhcmF0aW9uQ29udGV4dCB9OwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZUV4cHJlc3Npb24gcGFyc2VWYXJEZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImLCBpbnQmIGRl
Y2xhcmF0aW9ucywgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiYgbGFzdFBhdHRlcm4sIFRyZWVF
eHByZXNzaW9uJiBsYXN0SW5pdGlhbGl6ZXIsIEpTVGV4dFBvc2l0aW9uJiBpZGVudFN0YXJ0LCBK
U1RleHRQb3NpdGlvbiYgaW5pdFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdEVuZCwgVmFyRGVj
bGFyYXRpb25MaXN0Q29udGV4dCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBO
RVZFUl9JTkxJTkUgVHJlZUNvbnN0RGVjbExpc3QgcGFyc2VDb25zdERlY2xhcmF0aW9uTGlzdChU
cmVlQnVpbGRlciYpOwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlQXJyb3dG
dW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVC
dWlsZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lv
biBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKFRyZWVCdWlsZGVyJik7CisjZW5kaWYKKwogICAg
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVj
dGlvblBhdHRlcm4gY3JlYXRlQmluZGluZ1BhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0cnVj
dGlvbktpbmQsIGNvbnN0IElkZW50aWZpZXImLCBpbnQgZGVwdGgsIEpTVG9rZW4pOwogICAgIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlv
blBhdHRlcm4gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0
cnVjdGlvbktpbmQsIGludCBkZXB0aCA9IDApOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gdHJ5UGFyc2VEZWNv
bnN0cnVjdGlvblBhdHRlcm5FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAKLSAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBib29sIHBhcnNlRnVuY3Rpb25JbmZv
KFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlLCBi
b29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQsIGludCBmdW5jdGlv
bktleXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYpOwogI2lmIEVO
QUJMRShFUzZfQ0xBU1NfU1lOVEFYKQorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
TkVWRVJfSU5MSU5FIGJvb2wgcGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImLCBGdW5jdGlv
blJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUsIGJvb2wgbmFtZUlzSW5Db250YWluaW5n
U2NvcGUsIENvbnN0cnVjdG9yS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJG
dW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25QYXJz
ZVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlQ2xhc3NFeHByZXNzaW9uIHBhcnNlQ2xhc3Mo
VHJlZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgUGFyc2VyQ2xhc3NJbmZvPFRyZWVC
dWlsZGVyPiYpOworI2Vsc2UKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVS
X0lOTElORSBib29sIHBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1
aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlLCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3Bl
LCBDb25zdHJ1Y3RvcktpbmQsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rp
b25JbmZvPFRyZWVCdWlsZGVyPiYpOwogI2VuZGlmCiAKICAgICBBTFdBWVNfSU5MSU5FIGludCBp
c0JpbmFyeU9wZXJhdG9yKEpTVG9rZW5UeXBlKTsKQEAgLTc4OSw2ICs4MTYsMTQgQEAgcHJpdmF0
ZToKICAgICAgICAgcmV0dXJuIGFsbG93QXV0b21hdGljU2VtaWNvbG9uKCk7CiAgICAgfQogICAg
IAorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2b2lkIHNldEVu
ZE9mU3RhdGVtZW50KCkKKyAgICB7CisgICAgICAgIG1fbGV4ZXItPnNldFRva2VuUG9zaXRpb24o
Jm1fdG9rZW4pOworICAgIH0KKyNlbmRpZgorCiAgICAgYm9vbCBjYW5SZWN1cnNlKCkKICAgICB7
CiAgICAgICAgIHJldHVybiBtX3ZtLT5pc1NhZmVUb1JlY3Vyc2UoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oCmluZGV4IDZiNzM2Mjgy
ZTJkMmE4MWJjNjNkYzJmM2MwZTVhZThjODU4Y2QxZjguLmQ3NTJhNjEwYTliNmViMGM2YTExNDk1
NDY1Y2E3ZGJkNzY4Y2Q1MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXJGdW5jdGlvbkluZm8uaApAQCAtMjgsNiArMjgsMTAgQEAKIAogbmFtZXNwYWNlIEpT
QyB7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorZW51bSBBcnJvd0Z1
bmN0aW9uQm9keVR5cGUgeyBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24sIEFycm93RnVuY3Rp
b25Cb2R5QmxvY2t9OworI2VuZGlmCisKIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4KIHN0
cnVjdCBQYXJzZXJGdW5jdGlvbkluZm8gewogICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUgPSAw
OwpAQCAtMzgsNiArNDIsMTEgQEAgc3RydWN0IFBhcnNlckZ1bmN0aW9uSW5mbyB7CiAgICAgaW50
IGJvZHlTdGFydExpbmUgPSAwOwogICAgIGludCBib2R5RW5kTGluZSA9IDA7CiAgICAgdW5zaWdu
ZWQgYm9keVN0YXJ0Q29sdW1uID0gMDsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgIHVuc2lnbmVkIGFycm93RnVuY3Rpb25PZmZzZXQgPSAwOworICAgIGJvb2wgaXNB
cnJvd0Z1bmN0aW9uID0gZmFsc2U7CisgICAgQXJyb3dGdW5jdGlvbkJvZHlUeXBlIGFycm93RnVu
Y3Rpb25Cb2R5VHlwZSA9IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbjsKKyNlbmRpZgogfTsK
IAogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvUGFyc2VyVG9rZW5zLmgKaW5kZXggODMyOWY4MmE5YjJmZjkxNWQxZjI0MWMxZjhiZmZh
ZDQyNDdhNWYwYi4uYzhiMTY2ZTBlYWQ3ZDJkYTcxOWU3NmM0YTJmMDlhZmYxZDc0ZDdhYyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCkBAIC03NSw2ICs3
NSw5IEBAIGVudW0gSlNUb2tlblR5cGUgewogICAgIEZJTkFMTFksCiAgICAgREVCVUdHRVIsCiAg
ICAgRUxTRSwKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEFSUk9X
RlVOQ1RJT04sCisjZW5kaWYKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICBDTEFT
U1RPS0VOLAogICAgIEVYVEVORFMsCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1NvdXJjZUNvZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNl
Q29kZS5oCmluZGV4IDczZDIzZGI4MmFmMjVlYTQ2YzBmODk3ODVjZTQyNGJiNjBlYjYxYTcuLjky
OGU3MTJhOTBlMzQ4OTg4YmMzNTU0ODk4NzViMDkwNzc2NzU1MjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCkBAIC0xMDUsNiArMTA1LDkgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgIAogICAgICAgICBTb3VyY2VDb2RlIHN1YkV4cHJlc3Npb24odW5zaWdu
ZWQgb3BlbkJyYWNlLCB1bnNpZ25lZCBjbG9zZUJyYWNlLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3Rh
cnRDb2x1bW4pOwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAg
ICAgU291cmNlQ29kZSBzdWJBcnJvd0V4cHJlc3Npb24odW5zaWduZWQgc3RhcnRBcnJvd0Z1bmN0
aW9uLCB1bnNpZ25lZCBlbmRBcnJvd0Z1bmN0aW9uLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRD
b2x1bW4pOworI2VuZGlmCiAgICAgcHJpdmF0ZToKICAgICAgICAgUmVmUHRyPFNvdXJjZVByb3Zp
ZGVyPiBtX3Byb3ZpZGVyOwogICAgICAgICBpbnQgbV9zdGFydENoYXI7CkBAIC0xMTgsNiArMTIx
LDE3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4gU291cmNlQ29kZShTdHJpbmdT
b3VyY2VQcm92aWRlcjo6Y3JlYXRlKHNvdXJjZSwgdXJsLCBzdGFydFBvc2l0aW9uKSwgc3RhcnRQ
b3NpdGlvbi5tX2xpbmUub25lQmFzZWRJbnQoKSwgc3RhcnRQb3NpdGlvbi5tX2NvbHVtbi5vbmVC
YXNlZEludCgpKTsKICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgIGlubGluZSBTb3VyY2VDb2RlIFNvdXJjZUNvZGU6OnN1YkFycm93RXhwcmVzc2lvbih1
bnNpZ25lZCBzdGFydEFycm93RnVuY3Rpb24sIHVuc2lnbmVkIGVuZEFycm93RnVuY3Rpb24sIGlu
dCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbikKKyAgICB7CisgICAgICAgIEFTU0VSVChwcm92
aWRlcigpLT5zb3VyY2UoKVtzdGFydEFycm93RnVuY3Rpb25dID09ICc9JyAmJiBwcm92aWRlcigp
LT5zb3VyY2UoKVtzdGFydEFycm93RnVuY3Rpb24gKyAxXSA9PSAnPicpOworICAgICAgICAvLyBG
aXhtZTogVXNlIGJldHRlciBhcHByb2FjaCB0byBjaGVjayBzeW1ib2wKKyAgICAgICAgQVNTRVJU
KHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnLCcgfHwgcHJv
dmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICc7JyB8fCBwcm92aWRl
cigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJyknIHx8IHByb3ZpZGVyKCkt
PnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnXScgfHwgcHJvdmlkZXIoKS0+c291
cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICd9Jyk7CisgICAgICAgIHN0YXJ0Q29sdW1u
ICs9IDE7IC8vIENvbnZlcnQgdG8gYmFzZSAxLgorICAgICAgICByZXR1cm4gU291cmNlQ29kZShw
cm92aWRlcigpLCBzdGFydEFycm93RnVuY3Rpb24sIGVuZEFycm93RnVuY3Rpb24gLSAxLCBmaXJz
dExpbmUsIHN0YXJ0Q29sdW1uKTsKKyAgICB9CisjZW5kaWYKKwogICAgIGlubGluZSBTb3VyY2VD
b2RlIFNvdXJjZUNvZGU6OnN1YkV4cHJlc3Npb24odW5zaWduZWQgb3BlbkJyYWNlLCB1bnNpZ25l
ZCBjbG9zZUJyYWNlLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pCiAgICAgewogICAg
ICAgICBBU1NFUlQocHJvdmlkZXIoKS0+c291cmNlKClbb3BlbkJyYWNlXSA9PSAneycpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hl
SXRlbS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hl
SXRlbS5oCmluZGV4IDYzNTM3OWUzZjQ0NTY2OGM1MmI4NzJmNzYxNmRjYjU5MjFhODI5NDQuLjgz
NDY0ODUyMTlkMGFjZjZiMzI2OTcyZGEyNzk3MjFkMzY1NWRiMDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKQEAg
LTQwLDYgKzQwLDEwIEBAIHN0cnVjdCBTb3VyY2VQcm92aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFy
YW1ldGVycyB7CiAgICAgYm9vbCBuZWVkc0Z1bGxBY3RpdmF0aW9uOwogICAgIGJvb2wgdXNlc0V2
YWw7CiAgICAgYm9vbCBzdHJpY3RNb2RlOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgYm9vbCBpc0JvZHlBcnJvd0Z1bmN0aW9uQmxvY2s7CisgICAgSlNUb2tlblR5
cGUgdG9rZW5UeXBlOworI2VuZGlmCiAgICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4gdXNl
ZFZhcmlhYmxlczsKICAgICBWZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiB3cml0dGVuVmFyaWFi
bGVzOwogfTsKQEAgLTY5LDYgKzczLDIxIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIHRva2Vu
OwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgSlNU
b2tlbiBlbmRBcnJvd0Z1bmN0aW9uVG9rZW4oKSBjb25zdAorICAgIHsKKyAgICAgICAgSlNUb2tl
biB0b2tlbjsKKyAgICAgICAgdG9rZW4ubV90eXBlID0gdG9rZW5UeXBlOworICAgICAgICB0b2tl
bi5tX2RhdGEub2Zmc2V0ID0gY2xvc2VCcmFjZU9mZnNldDsKKyAgICAgICAgdG9rZW4ubV9sb2Nh
dGlvbi5zdGFydE9mZnNldCA9IGNsb3NlQnJhY2VPZmZzZXQ7CisgICAgICAgIHRva2VuLm1fbG9j
YXRpb24uZW5kT2Zmc2V0ID0gY2xvc2VCcmFjZU9mZnNldCArIDE7CisgICAgICAgIHRva2VuLm1f
bG9jYXRpb24ubGluZSA9IGNsb3NlQnJhY2VMaW5lOworICAgICAgICB0b2tlbi5tX2xvY2F0aW9u
LmxpbmVTdGFydE9mZnNldCA9IGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQ7CisKKyAgICAgICAg
cmV0dXJuIHRva2VuOworICAgIH0KKyNlbmRpZgorCiAgICAgdW5zaWduZWQgZnVuY3Rpb25OYW1l
U3RhcnQgOiAzMTsKICAgICBib29sIG5lZWRzRnVsbEFjdGl2YXRpb24gOiAxOwogICAgIApAQCAt
ODIsNiArMTAxLDExIEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCB1c2VkVmFyaWFibGVzQ291bnQ7
CiAgICAgdW5zaWduZWQgd3JpdHRlblZhcmlhYmxlc0NvdW50OwogCisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBib29sIGlzQm9keUFycm93RnVuY3Rpb25CbG9jazsK
KyAgICBKU1Rva2VuVHlwZSB0b2tlblR5cGU7CisjZW5kaWYKKwogICAgIFN0cmluZ0ltcGwqKiB1
c2VkVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxTdHJpbmdJbXBsKio+KG1f
dmFyaWFibGVzKTsgfQogICAgIFN0cmluZ0ltcGwqKiB3cml0dGVuVmFyaWFibGVzKCkgY29uc3Qg
eyByZXR1cm4gY29uc3RfY2FzdDxTdHJpbmdJbXBsKio+KCZtX3ZhcmlhYmxlc1t1c2VkVmFyaWFi
bGVzQ291bnRdKTsgfQogCkBAIC0xMTUsNiArMTM5LDEwIEBAIGlubGluZSBTb3VyY2VQcm92aWRl
ckNhY2hlSXRlbTo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0oY29uc3QgU291cmNlUHJvdmlkZXJD
YWNoCiAgICAgLCBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0KHBhcmFtZXRlcnMuY2xvc2VCcmFj
ZUxpbmVTdGFydE9mZnNldCkKICAgICAsIHVzZWRWYXJpYWJsZXNDb3VudChwYXJhbWV0ZXJzLnVz
ZWRWYXJpYWJsZXMuc2l6ZSgpKQogICAgICwgd3JpdHRlblZhcmlhYmxlc0NvdW50KHBhcmFtZXRl
cnMud3JpdHRlblZhcmlhYmxlcy5zaXplKCkpCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICAsIGlzQm9keUFycm93RnVuY3Rpb25CbG9jayhwYXJhbWV0ZXJzLmlzQm9k
eUFycm93RnVuY3Rpb25CbG9jaykKKyAgICAsIHRva2VuVHlwZShwYXJhbWV0ZXJzLnRva2VuVHlw
ZSkKKyNlbmRpZgogewogICAgIHVuc2lnbmVkIGogPSAwOwogICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCB1c2VkVmFyaWFibGVzQ291bnQ7ICsraSwgKytqKSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCmluZGV4IDhlNGY2MWI5NDk4OTBiOWJmNTQw
MjllOTY2NjFlZWY1M2ExN2I1ODQuLjVmOGUyMTFlZTRiNTNiMzk0ZWI1YWUyMTkwYjgzYzhjNGY4
NDRjZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hl
Y2tlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5o
CkBAIC0xNzAsNiArMTcwLDEwIEBAIHB1YmxpYzoKICNlbmRpZgogICAgIEV4cHJlc3Npb25UeXBl
IGNyZWF0ZUZ1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJG
dW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KICAg
ICBpbnQgY3JlYXRlRnVuY3Rpb25Cb2R5KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IEpT
VG9rZW5Mb2NhdGlvbiYsIGludCwgaW50LCBib29sLCBpbnQsIGludCwgaW50LCBDb25zdHJ1Y3Rv
cktpbmQpIHsgcmV0dXJuIEZ1bmN0aW9uQm9keVJlc3VsdDsgfQorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlQXJyb3dGdW5jdGlv
bkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5
bnRheENoZWNrZXI+JikgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9CisjZW5kaWYgCisgICAgdm9p
ZCBzZXRGdW5jdGlvbk5hbWVTdGFydChpbnQsIGludCkgeyB9CiAgICAgaW50IGNyZWF0ZUFyZ3Vt
ZW50cygpIHsgcmV0dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQogICAgIGludCBjcmVhdGVBcmd1bWVu
dHMoaW50KSB7IHJldHVybiBBcmd1bWVudHNSZXN1bHQ7IH0KICAgICBFeHByZXNzaW9uVHlwZSBj
cmVhdGVTcHJlYWRFeHByZXNzaW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIEV4cHJlc3Npb25U
eXBlLCBpbnQsIGludCwgaW50KSB7IHJldHVybiBTcHJlYWRFeHByOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
Y2RiM2RmMGQ3MDUyZTg4ZjlhMGUwOTI1N2ZkOWVkY2JjOTMwNDNhCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcApAQCAt
MCwwICsxLDc1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorCisj
aW5jbHVkZSAiRXJyb3IuaCIKKyNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCisjaW5jbHVk
ZSAiSlNDSW5saW5lcy5oIgorI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKKyNpbmNsdWRlICJKU0Z1
bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNGdW5jdGlvbklubGluZXMuaCIKKyNpbmNsdWRlICJKU09i
amVjdC5oIgorI2luY2x1ZGUgIlByb3BlcnR5U2xvdC5oIgorI2luY2x1ZGUgIlZNLmgiCisKK25h
bWVzcGFjZSBKU0MgeworICAgIAorY29uc3QgQ2xhc3NJbmZvIEpTQXJyb3dGdW5jdGlvbjo6c19p
bmZvID0geyAiQXJyb3dGdW5jdGlvbiIsICZCYXNlOjpzX2luZm8sIDAsIENSRUFURV9NRVRIT0Rf
VEFCTEUoSlNBcnJvd0Z1bmN0aW9uKSB9OworCit2b2lkIEpTQXJyb3dGdW5jdGlvbjo6ZGVzdHJv
eShKU0NlbGwqIGNlbGwpCit7CisgICAgc3RhdGljX2Nhc3Q8SlNBcnJvd0Z1bmN0aW9uKj4oY2Vs
bCktPkpTQXJyb3dGdW5jdGlvbjo6fkpTQXJyb3dGdW5jdGlvbigpOworfQorCitKU0Fycm93RnVu
Y3Rpb246OkpTQXJyb3dGdW5jdGlvbihWTSYgdm0sIEpTU2NvcGUqIHNjb3BlLCBGdW5jdGlvbkV4
ZWN1dGFibGUqIGV4ZWN1dGFibGUsIFN0cnVjdHVyZSogc3RydWN0dXJlKQorICAgIDogQmFzZSh2
bSwgZXhlY3V0YWJsZSwgc2NvcGUsIHN0cnVjdHVyZSkKK3sKK30KKyAgICAKK3ZvaWQgSlNBcnJv
d0Z1bmN0aW9uOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCit7CisgICAgQmFzZTo6ZmluaXNoQ3Jl
YXRpb24odm0pOworLy8gUHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9uIGlzIHVuZGVmaW5lZAor
ICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBqc1VuZGVmaW5l
ZCgpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51bSk7Cit9CisgICAgCit2b2lkIEpT
QXJyb3dGdW5jdGlvbjo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2
aXNpdG9yKQoreworICAgIEpTQXJyb3dGdW5jdGlvbiogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0Fy
cm93RnVuY3Rpb24qPihjZWxsKTsKKyAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKHRoaXNP
YmplY3QsIGluZm8oKSk7CisgICAgQmFzZTo6dmlzaXRDaGlsZHJlbih0aGlzT2JqZWN0LCB2aXNp
dG9yKTsKK30KKyAgICAKK0NvbnN0cnVjdFR5cGUgSlNBcnJvd0Z1bmN0aW9uOjpnZXRDb25zdHJ1
Y3REYXRhKEpTQ2VsbCogY2VsbCwgQ29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0YSkKK3sKKyAg
ICBKU0Z1bmN0aW9uKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTRnVuY3Rpb24qPihjZWxsKTsKKyAg
ICAgICAgCisgICAgY29uc3RydWN0RGF0YS5qcy5mdW5jdGlvbkV4ZWN1dGFibGUgPSB0aGlzT2Jq
ZWN0LT5qc0V4ZWN1dGFibGUoKTsKKyAgICBjb25zdHJ1Y3REYXRhLmpzLnNjb3BlID0gdGhpc09i
amVjdC0+c2NvcGUoKTsKKyAgICByZXR1cm4gQ29uc3RydWN0VHlwZU5vbmU7Cit9Cit9IC8vIG5h
bWVzcGFjZSBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QXJyb3dGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1
bmN0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjEwOWE0YTJiNTE5ZjVhYmMyNWFkMzZmMGYyNWM0MDkzNTgx
ZGM5MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QXJyb3dGdW5jdGlvbi5oCkBAIC0wLDAgKzEsNzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEpTQXJyb3dGdW5jdGlvbl9oCisjZGVmaW5l
IEpTQXJyb3dGdW5jdGlvbl9oCisKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAi
SlNHbG9iYWxPYmplY3QuaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK2NsYXNzIEpTQXJyb3dGdW5j
dGlvbiA6IHB1YmxpYyBKU0Z1bmN0aW9uIHsKK3B1YmxpYzoKKyAgICB0eXBlZGVmIEpTRnVuY3Rp
b24gQmFzZTsKKyAgICAgICAgCisgICAgc3RhdGljIEpTQXJyb3dGdW5jdGlvbiogY3JlYXRlKFZN
JiB2bSwgSlNTY29wZSogc2NvcGUsIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKKyAgICB7CisgICAgICAgIEpTQXJyb3dGdW5jdGlv
biogZnVuY3Rpb24gPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxKU0Fycm93RnVuY3Rpb24+
KHZtLmhlYXApKSBKU0Fycm93RnVuY3Rpb24odm0sIHNjb3BlLCBleGVjdXRhYmxlLCBnbG9iYWxP
YmplY3QtPmFycm93RnVuY3Rpb25TdHJ1Y3R1cmUoKSk7CisgICAgICAgIEFTU0VSVChmdW5jdGlv
bi0+c3RydWN0dXJlKCktPmdsb2JhbE9iamVjdCgpKTsKKyAgICAgICAgZnVuY3Rpb24tPmZpbmlz
aENyZWF0aW9uKHZtKTsKKyAgICAgICAgcmV0dXJuIGZ1bmN0aW9uOworICAgIH0KKyAgICAKKyAg
ICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2VsbCopOworICAgICAgICAKKyAgICBzdGF0aWMgU3Ry
dWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkKKyAgICB7CisgICAgICAgIEFTU0VSVChnbG9iYWxPYmpl
Y3QpOworICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwg
cHJvdG90eXBlLCBUeXBlSW5mbyhKU0Z1bmN0aW9uVHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZv
KCkpOworICAgIH0KKyAgICAgICAgCisgICAgc3RhdGljIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3Ry
dWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJik7CisgICAgICAgIAorICAgIERFQ0xBUkVf
SU5GTzsKKworcHJvdGVjdGVkOgorICAgIGNvbnN0IHN0YXRpYyB1bnNpZ25lZCBTdHJ1Y3R1cmVG
bGFncyA9IE92ZXJyaWRlc0hhc0luc3RhbmNlIHwgQmFzZTo6U3RydWN0dXJlRmxhZ3M7CisgICAg
ICAgIAorICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3Im
KTsKKyAgICAgICAgCitwcml2YXRlOgorICAgIEpTQXJyb3dGdW5jdGlvbihWTSYsIEpTU2NvcGUq
LCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBTdHJ1Y3R1cmUqKTsKKworICAgIHZvaWQgZmluaXNoQ3Jl
YXRpb24oVk0mKTsKK307CisgICAgCit9IC8vIG5hbWVzcGFjZSBKU0MKKworI2VuZGlmIC8vIEpT
QXJyb3dGdW5jdGlvbl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0Z1bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9u
LmgKaW5kZXggOWFiOWRjMjc3N2JhYmY4OTYzODFkY2Y0MDJjMDEzMDkwZjk1ZTMwYy4uM2EwYWUw
MTEzNWJjYjk2NDBiMDUwMmEzMTY1MWFmOGZjYWEyYzRhZCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaApAQCAtMTMyLDYgKzEzMiw5IEBAIHByb3RlY3RlZDoK
IAogICAgIEpTX0VYUE9SVF9QUklWQVRFIEpTRnVuY3Rpb24oVk0mLCBKU0dsb2JhbE9iamVjdCos
IFN0cnVjdHVyZSopOwogICAgIEpTRnVuY3Rpb24oVk0mLCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBK
U1Njb3BlKik7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBKU0Z1
bmN0aW9uKFZNJiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgSlNTY29wZSosIFN0cnVjdHVyZSopOwor
I2VuZGlmCiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgTmF0aXZlRXhlY3V0YWJsZSos
IGludCBsZW5ndGgsIGNvbnN0IFN0cmluZyYgbmFtZSk7CiAgICAgdXNpbmcgQmFzZTo6ZmluaXNo
Q3JlYXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1
bmN0aW9uSW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlv
bklubGluZXMuaAppbmRleCAzN2IyODFhYTVkMGMxYjg2MTY0NTE5ZmQ3YzU2NmUzN2YwZjEzNDAx
Li43YjM0OTBiZWI5NGEzNTkzZWUxN2JjM2IxNmIzMmM3ZGZhZjk1NzNkIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgKQEAgLTM4LDYg
KzM4LDE1IEBAIGlubGluZSBKU0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKFZNJiB2bSwgRnVuY3Rpb25F
eGVjdXRhYmxlKiBleGVjdXRhYmxlLCBKU1Njb3BlKiBzCiB7CiB9CiAKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQoraW5saW5lIEpTRnVuY3Rpb246OkpTRnVuY3Rpb24oVk0m
IHZtLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpTU2NvcGUqIHNjb3BlLCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICA6IEJhc2Uodm0sIHNjb3BlLCBzdHJ1Y3R1cmUpCisgICAg
LCBtX2V4ZWN1dGFibGUodm0sIHRoaXMsIGV4ZWN1dGFibGUpCisgICAgLCBtX2FsbG9jYXRpb25Q
cm9maWxlV2F0Y2hwb2ludChDbGVhcldhdGNocG9pbnQpCit7Cit9CisjZW5kaWYKKyAgICAKIGlu
bGluZSBGdW5jdGlvbkV4ZWN1dGFibGUqIEpTRnVuY3Rpb246OmpzRXhlY3V0YWJsZSgpIGNvbnN0
CiB7CiAgICAgQVNTRVJUKCFpc0hvc3RGdW5jdGlvbk5vbklubGluZSgpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAppbmRleCBkMzk2MThh
YjdlYWY1NTk3NGRhYWMyM2I4MTMzM2ViMDA1MWViZTczLi5mOTQxYWQxODc5NjhiY2Q4N2UyZjQ5
YzhiNzg3NTA1NGRjN2Q2MDQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHbG9iYWxPYmplY3QuY3BwCkBAIC02Miw2ICs2Miw5IEBACiAjaW5jbHVkZSAiSlNBcnJh
eUJ1ZmZlclByb3RvdHlwZS5oIgogI2luY2x1ZGUgIkpTQXJyYXlJdGVyYXRvci5oIgogI2luY2x1
ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCisjZW5kaWYKICNpbmNsdWRlICJKU0NJ
bmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgiCiAjaW5jbHVkZSAi
SlNDYWxsYmFja0Z1bmN0aW9uLmgiCkBAIC0yMzMsNiArMjM2LDkgQEAgdm9pZCBKU0dsb2JhbE9i
amVjdDo6aW5pdChWTSYgdm0pCiAgICAgZXhlYy0+c2V0Q2FsbGVlKG1fZ2xvYmFsQ2FsbGVlLmdl
dCgpKTsKIAogICAgIG1fZnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0Z1bmN0aW9u
OjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsK
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIG1fYXJyb3dGdW5jdGlv
blN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJl
KHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7CisjZW5kaWYKICAgICBtX2Jv
dW5kRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0JvdW5kRnVuY3Rpb246OmNyZWF0
ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOwogICAgIG1f
bmFtZWRGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZTo6YWRkUHJvcGVy
dHlUcmFuc2l0aW9uKHZtLCBtX2Z1bmN0aW9uU3RydWN0dXJlLmdldCgpLCB2bS5wcm9wZXJ0eU5h
bWVzLT5uYW1lLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51bSwgbV9mdW5jdGlvbk5h
bWVPZmZzZXQpKTsKICAgICBtX2ludGVybmFsRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlz
LCBJbnRlcm5hbEZ1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Q
cm90b3R5cGUuZ2V0KCkpKTsKQEAgLTcyNSw2ICs3MzEsOSBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0
Ojp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCiAgICAg
dmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fY2FsbGVlU3RydWN0dXJlKTsKICAgICB2aXNp
dG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9mdW5jdGlvblN0cnVjdHVyZSk7CiAgICAgdmlzaXRv
ci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYm91bmRGdW5jdGlvblN0cnVjdHVyZSk7CisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09i
amVjdC0+bV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKTsKKyNlbmRpZgogICAgIHZpc2l0b3IuYXBw
ZW5kKCZ0aGlzT2JqZWN0LT5tX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3Iu
YXBwZW5kKCZ0aGlzT2JqZWN0LT5tX3N5bWJvbE9iamVjdFN0cnVjdHVyZSk7CiAgICAgdmlzaXRv
ci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fcmVnRXhwTWF0Y2hlc0FycmF5U3RydWN0dXJlKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0Lmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCmluZGV4IDc0
OTY2YjdiZDA2YmFjZDg2NjFjOWJmNGFiZTQ1Y2ViM2I1MTE4YjQuLjgxN2YyNTc2NjA3MDA3OTkw
MTg2MTRhMDI5NmFiYzNjOTUzMDI1OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtMjI1LDYgKzIyNSw5IEBAIHByb3RlY3RlZDoKICAg
ICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2NhbGxlZVN0cnVjdHVyZTsKICAgICBXcml0ZUJh
cnJpZXI8U3RydWN0dXJlPiBtX2Z1bmN0aW9uU3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxT
dHJ1Y3R1cmU+IG1fYm91bmRGdW5jdGlvblN0cnVjdHVyZTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYXJyb3dGdW5j
dGlvblN0cnVjdHVyZTsKKyNlbmRpZgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fbmFt
ZWRGdW5jdGlvblN0cnVjdHVyZTsKICAgICBQcm9wZXJ0eU9mZnNldCBtX2Z1bmN0aW9uTmFtZU9m
ZnNldDsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3ByaXZhdGVOYW1lU3RydWN0dXJl
OwpAQCAtNDU2LDYgKzQ1OSw5IEBAIHB1YmxpYzoKICAgICBTdHJ1Y3R1cmUqIGNhbGxlZVN0cnVj
dHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbGVlU3RydWN0dXJlLmdldCgpOyB9CiAgICAgU3Ry
dWN0dXJlKiBmdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fZnVuY3Rpb25TdHJ1
Y3R1cmUuZ2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUqIGJvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUoKSBj
b25zdCB7IHJldHVybiBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFN0cnVjdHVyZSogYXJyb3dGdW5jdGlv
blN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZS5nZXQo
KTsgfQorI2VuZGlmCiAgICAgU3RydWN0dXJlKiBuYW1lZEZ1bmN0aW9uU3RydWN0dXJlKCkgY29u
c3QgeyByZXR1cm4gbV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CiAgICAgUHJvcGVy
dHlPZmZzZXQgZnVuY3Rpb25OYW1lT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9mdW5jdGlvbk5h
bWVPZmZzZXQ7IH0KICAgICBTdHJ1Y3R1cmUqIG51bWJlck9iamVjdFN0cnVjdHVyZSgpIGNvbnN0
IHsgcmV0dXJuIG1fbnVtYmVyT2JqZWN0U3RydWN0dXJlLmdldCgpOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbHRo
aXMuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
bGV4aWNhbHRoaXMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjEyZmJhZjgwNDQ4MmM3NzYxYzM3ZGQ2OTNhODQ4
NWU1NTExNTczZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsdGhpcy5qcwpAQCAtMCwwICsxLDMxIEBACit2
YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQs
IG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNz
YWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFs
ICsgIiciOworICB9Cit9OworCit2YXIgYWZPYmpMZXhCaW5kMiA9IGZ1bmN0aW9uICgpIHsKKyAg
dGhpcy5mdW5jID0gKCkgPT4gdGhpczsKK307CisKK3ZhciBhZk9iakxleEJpbmQySW5zdGFuY2Ug
PSBuZXcgYWZPYmpMZXhCaW5kMigpOworCit0ZXN0Q2FzZShhZk9iakxleEJpbmQySW5zdGFuY2Uu
ZnVuYygpID09PSBhZk9iakxleEJpbmQySW5zdGFuY2UsIHRydWUsICJFcnJvcjogdGhpcyBpcyBu
b3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMyIik7CisK
K3ZhciBvYmogPSB7CisgIG1ldGhvZDogZnVuY3Rpb24gKCkgeworICAgIHJldHVybiAoKSA9PiB0
aGlzOworICB9Cit9OworCit0ZXN0Q2FzZShvYmoubWV0aG9kKCkoKSA9PT0gb2JqLCB0cnVlLCAi
RXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbiAjMyIpOworCit2YXIgZmFrZSA9IHtzdGVhbDogb2JqLm1ldGhvZCgpfTsKK3Rlc3RD
YXNlKGZha2Uuc3RlYWwoKSA9PT0gb2JqLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGlj
YWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNCIpOworCisKKy8vIEZp
eG1lOiBmb2xsb3dpbmcgdGVzdCBmYWlscyBpbiBkZmctZWFnZXItbm8tY2ppdC12YWxpZGF0ZSAm
IGZ0bC1lYWdlci1uby1jaml0IG1vZGUKK3ZhciByZWFsID0ge2JvcnJvdzogb2JqLm1ldGhvZH07
Cit0ZXN0Q2FzZShyZWFsLmJvcnJvdygpKCkgPT09IHJlYWwsIHRydWUsICJFcnJvcjogdGhpcyBp
cyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM1Iik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tb3RoZXJzLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJv
d2Z1bmN0aW9uLW90aGVycy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYmJmODU5ZTIwM2ViMWY1NGFjYWUxZDQw
ODNjYTNkZDNkYzk3NjFmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLW90aGVycy5qcwpAQCAtMCwwICsxLDMwIEBACit2
YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQs
IG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNz
YWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFs
ICsgIiciOworICB9Cit9OworCit2YXIgc2ltcGxlQXJyb3dGdW5jdGlvbiA9ICgpID0+IHt9Owor
Cit0ZXN0Q2FzZSh0eXBlb2Ygc2ltcGxlQXJyb3dGdW5jdGlvbiwgImZ1bmN0aW9uIiwgIkVycm9y
OiBOb3QgY29ycmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShP
YmplY3QuZ2V0UHJvdG90eXBlT2Yoc2ltcGxlQXJyb3dGdW5jdGlvbiksIEZ1bmN0aW9uLnByb3Rv
dHlwZSwgIkVycm9yOiBOb3QgY29ycmVjdCBnZXRQcm90b3R5cGVPZiB2YWx1ZSBmb3IgYXJyb3cg
ZnVuY3Rpb24iKTsKKwordGVzdENhc2Uoc2ltcGxlQXJyb3dGdW5jdGlvbiBpbnN0YW5jZW9mIEZ1
bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgaW5zdGFuY2VvZiBt
ZXRob2QgZm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93RnVuY3Rp
b24uY29uc3RydWN0b3IgPT0gRnVuY3Rpb24sIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVz
dWx0IGZvciBjb25zdHJ1Y3RvciBtZXRob2Qgb2YgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENh
c2UodHlwZW9mIHNpbXBsZUFycm93RnVuY3Rpb24ucHJvdG90eXBlID09PSAndW5kZWZpbmVkJywg
dHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBm
dW5jdGlvbiIpOworCit2YXIgZXJyb3JPbkNyZWF0ZSA9IGZhbHNlOworCit0cnkgeworICB2YXIg
ZmMgPSBuZXcgc2ltcGxlQXJyb3dGdW5jdGlvbigpOworfQorY2F0Y2ggKGUpIHsKKyAgZXJyb3JP
bkNyZWF0ZSA9IHRydWU7Cit9CisKK3Rlc3RDYXNlKGVycm9yT25DcmVhdGUsIHRydWUsICJFcnJv
cjogTm8gZXJyb3IgZHVyaW5nIHJ1biBuZXcgQXJyb3dGdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLmpzIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjA2ODdiM2FhYjFkMjdmNDUzZjkwNzYxY2VjMWFkNGQwNWNmMDNiMzUKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24u
anMKQEAgLTAsMCArMSwxNTQgQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5j
dGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBl
Y3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsg
IicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBhcnJvd0Z1bmN0
aW9uMCA9IHYgPT4gdiArIDE7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMCgxMCk7Cit0ZXN0Q2Fz
ZShyZXN1bHQsIDExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb246IHYgPT4gdiArIDEiKTsKKwordmFyIGFycm93RnVuY3Rpb24xID0gKHYpID0+IHYg
KiAyOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjEoMTApOwordGVzdENhc2UocmVzdWx0LCAyMCAs
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAodikg
PT4gdiArIDEiKTsKKwordmFyIGFycm93RnVuY3Rpb24yID0gKCkgPT4gMTAwMDsKK3Jlc3VsdCA9
IGFycm93RnVuY3Rpb24yKDEyMTIpOwordGVzdENhc2UocmVzdWx0LCAxMDAwICwiRXJyb3I6IE5v
dCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICgpID0+IDEwMDAiKTsK
KwordmFyIHRtcFZhcmlhbHZlMl8xID0gMTUxOwordmFyIGFycm93RnVuY3Rpb24yXzEgPSAoKSA9
PiB0bXBWYXJpYWx2ZTJfMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24yXzEoMTIxKTsKK3Rlc3RD
YXNlKHJlc3VsdCwgdG1wVmFyaWFsdmUyXzEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKCkgPT4gdmFyaWFibGUiKTsKKwordmFyIGFycm93RnVu
Y3Rpb24zID0gKHYsIHgpID0+IHYgKyB4OworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjMoMTEsMTIp
OwordGVzdENhc2UocmVzdWx0LCAyMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uOiAoeCwgeSkgPT4geCArIHkiKTsKKwordmFyIGFycm93RnVuY3Rp
b25XcmFwcGVyID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRlcikgeyByZXR1cm4gY2wocGFyYW10ZXIp
OyB9OworCityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEyMzQpOwordGVzdENh
c2UocmVzdWx0LCAxMjM0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjKSIpOworCisgcmVzdWx0ID0gYXJyb3dG
dW5jdGlvbldyYXBwZXIoeCA9PiAxMjM0LCAyMzQ1KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIzNCAs
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBh
cmFtdGVyOiBmKHggPT4gYywgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVy
KHggPT4gMTIxICsgMjMyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzUzICwiRXJyb3I6IE5vdCBjb3Jy
ZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBj
MSArIGMyKSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMjMgKyAz
MjEsIDk5OTkpOwordGVzdENhc2UocmVzdWx0LCA0NDQgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhl
Y3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMxICsgYzIs
IHkpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IHggKyAxMiwgMjEp
OwordGVzdENhc2UocmVzdWx0LCAzMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4geCArIGMxLCB5KSIpOworCisg
cmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKHgpID0+IHggKyAyMSwgMzIpOwordGVzdENh
c2UocmVzdWx0LCA1MywgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCh4KSA9PiBjMSArIGMyLCB5KSIpOworCisgcmVzdWx0
ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAw
LCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMg
cGFyYW10ZXI6IGYoKCkgPT4gYykiKTsKKworIHZhciBleHRfdmFsdWUgPSAxMjE7CityZXN1bHQg
PSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiBleHRfdmFsdWUpOwordGVzdENhc2UocmVzdWx0
LCAxMjEsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlv
biBhcyBwYXJhbXRlcjogZigoKSA9PiB2KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldy
YXBwZXIoKCkgPT4gZXh0X3ZhbHVlICogMTApOwordGVzdENhc2UocmVzdWx0LCAxMjEwICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10
ZXI6IGYoKCkgPT4gdip4KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKHgp
ID0+IGV4dF92YWx1ZSAqIHgsIDMwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzAqZXh0X3ZhbHVlICwi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFy
YW10ZXI6IGYoKHgpID0+IHYqeCwgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFw
cGVyKCgpID0+IDEwMCwgMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDAgLCJFcnJvcjogTm90IGNv
cnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9
PiBjMSwgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCAr
IDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYzEgKyBjMikiKTsK
KworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCArIDExLCAxMik7Cit0
ZXN0Q2FzZShyZXN1bHQsIDExMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhl
IGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMxICsgYzIsIHkpIik7CisKKyB2
YXIgYXJyb3dGdW5jdGlvbjQgPSB2ID0+IHYgKyAxLCB4eXoxID0gMTAxMDE7CityZXN1bHQgPSBh
cnJvd0Z1bmN0aW9uNCgxMDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAxMiAsIkVycm9yOiBOb3Qg
Y29ycmVjdCBwYXJzaW5nIG9mIHRoIGFycm93IGZ1bmN0aW9uIGluc2lkZSBvZiB0aGUgbGlzdCBv
ZiB2YXJzOiB2YXIgYWYgPSB2PT4gdiArIDE7IHp4Yz1jOyIpOwordGVzdENhc2UoeHl6MSwgMTAx
MDEgLCJFcnJvcjogTm90IGNvcnJlY3QgcGFyc2luZyBvZiB0aCBhcnJvdyBmdW5jdGlvbiBpbnNp
ZGUgb2YgdGhlIGxpc3Qgb2YgdmFyczogdmFyIGFmID0gdj0+IHYgKyAxOyB6eGM9YzsiKTsKKwor
IHZhciBhcnJvd0Z1bmN0aW9uV3JhcHBlcjIgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVyMSwgcGFy
YW10ZXIyKSB7IHJldHVybiBjbChwYXJhbXRlcjEsIHBhcmFtdGVyMik7IH07CityZXN1bHQgPSBh
cnJvd0Z1bmN0aW9uV3JhcHBlcjIoKHgsIHkpID0+IHggKyB5LCAxMiAsNDMpOwordGVzdENhc2Uo
cmVzdWx0LCA1NSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1
bmN0aW9uIGFzIHBhcmFtZXRlcjogZigoeCwgeSkgPT4geCArIHksIGMxLCBjMikiKTsKKworIHZh
ciBhcnJvd0Z1bmN0aW9BcnJheTAgPSBbdiA9PiB2ICogMTBdOworcmVzdWx0ID0gYXJyb3dGdW5j
dGlvQXJyYXkwWzBdKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwICwiRXJyb3I6IE5vdCBjb3Jy
ZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogW3Y9
PnYqMTBdIik7CisKKyB2YXIgYXJyb3dGdW5jdGlvQXJyYXkxID0gW3YgPT4gdiArIDEsIHYgPT4g
diArIDJdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkxWzBdKDEwKTsKK3Rlc3RDYXNlKHJl
c3VsdCwgMTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbiBhcyBpdGVtIGluIGFycmF5OiBbdiA9PiB2ICsgMSwgIHYgPT4gdiArIDJdIik7CityZXN1
bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTFbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMyAsIkVy
cm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0g
aW4gYXJyYXk6IFt2ID0+IHYgKyAxLCAgdiA9PiB2ICsgMl0iKTsKKworIHZhciBhcnJvd0Z1bmN0
aW9BcnJheTIgPSBbKHYpID0+IHYgKyAxLCAodikgPT4gdiArIDJdOworcmVzdWx0ID0gYXJyb3dG
dW5jdGlvQXJyYXkyWzBdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIgLCJFcnJvcjogTm90IGNv
cnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBb
KHYpID0+IHYgKyAxLCAgKHYpID0+IHYgKyAyXSIpOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJy
YXkyWzFdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhl
Y3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKHYpID0+IHYg
KyAxLCAgKHYpID0+IHYgKyAyXSIpOworCisgdmFyIGFycm93RnVuY3Rpb0FycmF5MyA9IFsoKSA9
PiAxMDEsICgpID0+IDEyMzIzXTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5M1swXSgxMSk7
Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMSwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsoKSA9PiBjMSwgICgpID0+IGMy
XSIpOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkzWzFdKDExKTsKK3Rlc3RDYXNlKHJlc3Vs
dCwgMTIzMjMsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKCkgPT4gYzEsICAoKSA9PiBjMl0iKTsKKwordmFyIGFy
cm93RnVuY3Rpb25PYmogPSB7ZnVuYyA6IHkgPT4geSArIDEyfTsKK3Jlc3VsdCA9IGFycm93RnVu
Y3Rpb25PYmouZnVuYygxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIzICwgIkVycm9yOiBOb3QgY29y
cmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHByb3BlcnR5OiB7ZnVuYyA6
IHkgPT4geSArIDEyIH0iKTsKKwordmFyIGFmT2JqTGV4QmluZDIgPSBmdW5jdGlvbiAoKSB7Cisg
IHRoaXMuZnVuYyA9ICgpID0+IHRoaXM7Cit9OworCit2YXIgYXJyb3dGYXRGdW5jdGlvbjAgPSAo
KSA9PiB7IHJldHVybiAxMDAwOyB9OworcmVzdWx0ID0gYXJyb3dGYXRGdW5jdGlvbjAoMTEpOwor
dGVzdENhc2UocmVzdWx0LCAxMDAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0
aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiAoKSA9PiB7IHJldHVybiAxMDAw
OyB9Iik7CisKK3ZhciBhcnJvd0ZhdEZ1bmN0aW9uMSA9IHYgPT4geyB2YXIgaW50dmFsID0gMTAw
OyByZXR1cm4gdiAqIGludHZhbDsgfTsKK3Jlc3VsdCA9IGFycm93RmF0RnVuY3Rpb24xKDExKTsK
K3Rlc3RDYXNlKHJlc3VsdCwgMTEwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogeCA9PiB7IHZhciB2PTEwMDA7
IHJldHVybiB2Kng7IH0iKTsKKwordmFyIGFycm93RmF0RnVuY3Rpb24yID0gKHYpID0+IHsgdmFy
IGludCA9IDIwMDsgcmV0dXJuIHYgKiBpbnQ7IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0aW9u
MigxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIyMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICh4KSA9PiB7IHZh
ciB2PTEwMDA7IHJldHVybiB2Kng7IH0iKTsKKwordmFyIGFycm93RmF0RnVuY3Rpb24zID0gKHYs
IHgpID0+IHsgdmFyIHJlc3VsdCA9IHggKiB2OyByZXR1cm4gcmVzdWx0OyB9OworcmVzdWx0ID0g
YXJyb3dGYXRGdW5jdGlvbjMoMTEsIDEyMjIyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTM0NDQyICwi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBi
b2R5IGFzIGJsb2NrOiAodiwgeCkgPT4geyB2YXIgcmVzdWx0ID0geCAqIHY7IHJldHVybiByZXN1
bHQ7IH0iKTsKKworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeD0+e3JldHVybiB4ICog
MjU7fSwgMTIxKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjUqMTIxICwiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiBmKHgg
PT4ge3JldHVybiB4ICogMjU7fSwgMTIxKSIpOworCityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3Jh
cHBlcjIoKHgsIHkpPT57cmV0dXJuIHggKiB5O30sIDE0LCAxMik7Cit0ZXN0Q2FzZShyZXN1bHQs
IDE0KjEyICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gd2l0aCBib2R5IGFzIGJsb2NrOiBmKCh4LCB5KT0+e3JldHVybiB4ICogeTt9LCAxNCwgMTIx
KSkiKTsKKwordmFyIHNpbXBsZUFycm93RnVuY3Rpb24gPSAoKSA9PiB7fTsKKwordGVzdENhc2Uo
dHlwZW9mIHNpbXBsZUFycm93RnVuY3Rpb24sICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNvcnJl
Y3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2UoT2JqZWN0LmdldFBy
b3RvdHlwZU9mKHNpbXBsZUFycm93RnVuY3Rpb24pLCBGdW5jdGlvbi5wcm90b3R5cGUsICJFcnJv
cjogTm90IGNvcnJlY3QgZ2V0UHJvdG90eXBlT2YgdmFsdWUgZm9yIGFycm93IGZ1bmN0aW9uIik7
CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93RnVuY3Rpb24gaW5zdGFuY2VvZiBGdW5jdGlvbiwgdHJ1
ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIGluc3RhbmNlb2YgbWV0aG9kIGZvciBh
cnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uLmNvbnN0cnVj
dG9yID09IEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgY29u
c3RydWN0b3IgbWV0aG9kIG9mIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHR5cGVvZiBz
aW1wbGVBcnJvd0Z1bmN0aW9uLnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJFcnJv
cjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBwcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24iKTsK
KwordmFyIGVycm9yT25DcmVhdGUgPSBmYWxzZTsKKwordHJ5IHsKKyAgdmFyIGZjID0gbmV3IHNp
bXBsZUFycm93RnVuY3Rpb24oKTsKK30KK2NhdGNoIChlKSB7CisgIGVycm9yT25DcmVhdGUgPSB0
cnVlOworfQorCit0ZXN0Q2FzZShlcnJvck9uQ3JlYXRlLCB0cnVlLCAiRXJyb3I6IE5vIGVycm9y
IGR1cmluZyBydW4gbmV3IEFycm93RnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYkNv
cmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOGIxMTJmYWU0
NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0OGE3Njk3MmYxMTRjMzgzZDMyNjI5
ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NB
TlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsK
IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVO
QUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CitFTkFCTEVf
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsK
IEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yID0gRU5B
QkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBAIC0yMTQsNCArMjE1LDQgQEAgRU5BQkxFX0xM
SU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVO
QUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQo
RU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9O
UykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05J
TkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9D
T05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJ
T05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVf
Q1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxF
X0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NT
U19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RF
WFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJ
TElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZF
Ul9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBU
RURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19M
RVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQ
SSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJM
RV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcp
ICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJT
KSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FD
WV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChF
TkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykg
JChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01B
VEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VS
Q0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQo
RU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklH
QVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChF
TkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9J
TlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykg
JChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVR
VUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVO
QUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAk
KEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJM
RV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExF
X0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikg
JChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VM
RU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAk
KEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RS
QUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElB
KSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZ
KSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVf
V0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VU
KSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1Ap
ICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJF
U0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5H
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09W
RVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hN
RU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFT
X1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVO
QUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05f
QlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQ
VEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklF
TlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJ
T05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykg
JChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFC
TEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChF
TkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5B
QkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFC
TEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikg
JChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQo
RU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQ
UkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9U
SU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0Vf
Q09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5B
QkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xF
R0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZF
VENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChF
TkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9N
RVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxF
KSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hX
Q09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVH
SU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BS
T1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVP
VEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FV
VE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElP
Tl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JP
TExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkp
ICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZH
X09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVO
QUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1Nf
VFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAk
KEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklF
V19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChF
TkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVf
U0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVO
QUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFC
TEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQo
RU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dl
YktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOGIx
MTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0OGE3Njk3MmYxMTRjMzgz
ZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9t
YWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcg
QEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZB
U19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19TWU5U
QVg7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQU5JTUFUSU9OU19M
RVZFTF8yID0gRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBAIC0yMTQsNCArMjE1LDQg
QEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJ
VEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVf
REVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRf
Q0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxF
X0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNI
RV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJP
WFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFY
KSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxF
X0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJ
T04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMp
ICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVO
QUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9D
VVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVf
REFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFC
TEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNB
VEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVS
X1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05U
Uk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gp
ICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVS
X0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQo
RU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05D
VVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikg
JChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElN
SVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkg
JChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NP
TVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01F
RElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9T
TkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChF
TkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RG
X0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxF
X1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJ
TElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5B
QkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01P
REVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJM
RV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpF
UykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxF
X1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9M
TElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFC
TEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVf
M0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVO
QUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChF
TkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9Y
X0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NT
X0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NT
U19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5B
QkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVf
Q1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9C
UkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVf
SEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxF
TUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19D
T05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VW
RU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERF
Tl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5B
QkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09N
UExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dF
U1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFC
TEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJM
RV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xT
X1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0Vf
Q1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVf
TkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMp
ICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJM
RV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5B
QkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVf
U1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVU
RUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAk
KEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5B
QkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkg
JChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dF
Ql9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5B
QkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9S
RUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRM
X0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FS
SVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIv
U291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5k
ZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0OGE3Njk3MmYx
MTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktp
dDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcg
QEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZB
U19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19TWU5U
QVg7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQU5JTUFUSU9OU19M
RVZFTF8yID0gRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBAIC0yMTQsNCArMjE1LDQg
QEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJ
VEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVf
REVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRf
Q0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxF
X0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNI
RV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJP
WFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFY
KSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxF
X0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJ
T04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMp
ICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVO
QUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9D
VVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVf
REFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFC
TEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNB
VEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVS
X1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05U
Uk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gp
ICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVS
X0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQo
RU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05D
VVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikg
JChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElN
SVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkg
JChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NP
TVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01F
RElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9T
TkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChF
TkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RG
X0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxF
X1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJ
TElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5B
QkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01P
REVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJM
RV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpF
UykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxF
X1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9M
TElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFC
TEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVf
M0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVO
QUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChF
TkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9Y
X0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NT
X0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NT
U19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5B
QkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVf
Q1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9C
UkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVf
SEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxF
TUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19D
T05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VW
RU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERF
Tl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5B
QkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09N
UExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dF
U1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFC
TEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJM
RV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xT
X1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0Vf
Q1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVf
TkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMp
ICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJM
RV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5B
QkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVf
U1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVU
RUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAk
KEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5B
QkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkg
JChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dF
Ql9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5B
QkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9S
RUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRM
X0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FS
SVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9XZWJLaXRG
ZWF0dXJlcy5jbWFrZQppbmRleCAzMmMyMzVkOThiNWE0MjBlYmUzMzQ4MzRjN2I2YTQxODJiMjIy
MjBhLi5hNjc1MzcxNDU2MjdjZDM4YTI3MDc5Y2Q1ZGZlOTg2ODJjOTFmNDY1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL1dl
YktpdEZlYXR1cmVzLmNtYWtlCkBAIC0yOCw2ICsyOCw3IEBAIG1hY3JvKFdFQktJVF9PUFRJT05f
QkVHSU4pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NBTlZBU19QUk9YWSAiVG9n
Z2xlIENhbnZhc1Byb3h5IHN1cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgIlRvZ2dsZSBNZXNzYWdlQ2hhbm5lbCBhbmQgTWVzc2Fn
ZVBvcnQgc3VwcG9ydCIgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0VTNl9D
TEFTU19TWU5UQVggIlRvZ2dsZSBFUzYgY2xhc3Mgc3ludGF4IHN1cHBvcnQiIE9OKQorICAgIFdF
QktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggIlRvZ2ds
ZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJ
T05fREVGSU5FKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyAiVG9nZ2xlIGNvbnRlbnQgZmlsdGVy
aW5nIHN1cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ09OVEVY
VF9NRU5VUyAiVG9nZ2xlIENvbnRleHQgTWVudSBzdXBwb3J0IiBPTikKICAgICBXRUJLSVRfT1BU
SU9OX0RFRklORShFTkFCTEVfQ1NQX05FWFQgIlRvZ2dsZSBDb250ZW50IFNlY3VyaXR5IFBvbGlj
eSAxLjEgc3VwcG9ydCIgT0ZGKQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlY29uZmlnLmguY21h
a2UgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQppbmRleCAyMWQzZmNjNWQ5ODNmOTU5NWRl
ZjM1MTA1NjhjZGM5ODk2NTI0NmVkLi5jZjFhZmU1NmM1ZjBmMjYwOTkwOTBlNTFiN2IyYTY2MDNl
YTA3MzIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQorKysgYi9Tb3Vy
Y2UvY21ha2Vjb25maWcuaC5jbWFrZQpAQCAtMTMsNiArMTMsNyBAQAogI2NtYWtlZGVmaW5lMDEg
RU5BQkxFX0NBTlZBU19QUk9YWQogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWAorI2NtYWtlZGVmaW5l
MDEgRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWAogI2NtYWtlZGVmaW5lMDEgRU5BQkxF
X0NPTlRFTlRfRklMVEVSSU5HCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ09OVEVYVF9NRU5VUwog
I2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NSRURFTlRJQUxfU1RPUkFHRQpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRwZXJsL0ZlYXR1cmVMaXN0LnBtCmluZGV4IDE2ZmQ2NDljNjhkNmIzZDQzZDBiMzFlMzM1Nzkw
NGZjODcyNGE3ZWIuLjIyM2IzMTFiY2ZiYWIyYzI2OGE3ZjI2NTJkMTRlZDE5NjM3ZmRmY2UgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KQEAgLTQ0LDYgKzQ0LDcgQEAg
QkVHSU4gewogbXkgKAogICAgICR0aHJlZURSZW5kZXJpbmdTdXBwb3J0LAogICAgICRhY2NlbGVy
YXRlZDJEQ2FudmFzU3VwcG9ydCwKKyAgICAkYXJyb3dmdW5jdGlvblN5bnRheCwKICAgICAkYmF0
dGVyeVN0YXR1c1N1cHBvcnQsCiAgICAgJGNhbnZhc1BhdGhTdXBwb3J0LAogICAgICRjYW52YXNQ
cm94eVN1cHBvcnQsCkBAIC0xNTQsNiArMTU1LDkgQEAgbXkgQGZlYXR1cmVzID0gKAogICAgIHsg
b3B0aW9uID0+ICJhY2NlbGVyYXRlZC0yZC1jYW52YXMiLCBkZXNjID0+ICJUb2dnbGUgQWNjZWxl
cmF0ZWQgMkQgQ2FudmFzIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTIiwgZGVmYXVsdCA9PiBpc0d0aygpLCB2YWx1ZSA9PiBcJGFjY2VsZXJh
dGVkMkRDYW52YXNTdXBwb3J0IH0sCiAKKyAgICB7IG9wdGlvbiA9PiAiYXJyb3dmdW5jdGlvbi1z
eW50YXgiLCBkZXNjID0+ICJUb2dnbGUgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheCBzdXBwb3J0
IiwKKyAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCIsIGRl
ZmF1bHQgPT4gMSwgdmFsdWUgPT4gXCRhcnJvd2Z1bmN0aW9uU3ludGF4IH0sCisKICAgICB7IG9w
dGlvbiA9PiAiYmF0dGVyeS1zdGF0dXMiLCBkZXNjID0+ICJUb2dnbGUgQmF0dGVyeSBTdGF0dXMg
c3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9CQVRURVJZX1NUQVRVUyIsIGRlZmF1
bHQgPT4gaXNFZmwoKSwgdmFsdWUgPT4gXCRiYXR0ZXJ5U3RhdHVzU3VwcG9ydCB9LAogCmRpZmYg
LS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggNGVkODZhNmY4ODk4ZDMxZTM4MDUw
YjMyYTU0Y2E3NmJlMWQ2MTZkZi4uZTkxYzdjYTIwMGJlNzE0YzY4OTk2NTdlOTZjMjUyYjBkMDll
ZGE0OSAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
IEBACisyMDE1LTA0LTAxICAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29t
PgorCisgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKwor
ICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZl
YXR1cmUgZmxhZyB0byBzd2l0Y2ggb24vb2ZmIGVzNiBhcnJvdyBmdW5jdGlvbiBFTkFCTEVfRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYCisKKyAgICAgICAgICogU291cmNlL2NtYWtlL1dlYktpdEZl
YXR1cmVzLmNtYWtlOgorICAgICAgICAgKiBTb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZToKKwog
MjAxNS0wMy0yOSAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgogCiAg
ICAgICAgIFtDTWFrZV0gVXBkYXRlIG9sZCBDTWFrZUxpc3QudHh0IGluIGd0ZXN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249942</attachid>
            <date>2015-04-01 14:38:59 -0700</date>
            <delta_ts>2015-04-01 15:12:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150402003813.patch</filename>
            <type>text/plain</type>
            <size>133192</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyMjA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
ZmNjM2QxNTdiYmMyNzhhZGUyOTEyOTc3ZWI5MzAxYTA5YTJjYjA4Li41NTRhYjEzZWJkNmIyOGU4
NWY4OTQ2MzBhYjk1MGY4MDQ1YWJmZTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMTUgQEAKKzIwMTUtMDQtMDEgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MDg1NQorCisgICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGRlZCBzdXBwb3J0IG9mIEVTNiBhcnJvdyBmdW5jdGlvbi4gQ2hhbmdlcyB3ZXJlIG1hZGUgYWNj
b3JkaW5nIGZvbGxvd2luZyBzcGVjIGh0dHA6Ly93aWtpLmVjbWFzY3JpcHQub3JnL2Rva3UucGhw
P2lkPWhhcm1vbnk6YXJyb3dfZnVuY3Rpb25fc3ludGF4CisgICAgICAgIEluIHBhdGNoIHdlcmUg
aW1wbGVtZW50ZWQgdGhlIHNpbXBsZXN0IGNhc2VzOgorICAgICAgICAgIDEgbm8gcGFyYW1ldGVy
cyAgICAgICAgICAgICAgICAoKSA9PiAxMCArIDIwCisgICAgICAgICAgMiBzaW5nbGUgcGFyYW1l
dGVyICAgICAgICAgICAgICB4ID0+IHggKyAyMAorICAgICAgICAgIDMgbXVsdGlwbGUgcGFyYW1l
dGVycyAgICAgICh4LCB5KSA9PiB4ICsgeQorICAgICAgICAgIDQgYXJyb3cgZnVuY3Rpb24gd2l0
aCBibG9jayAgICAgeCA9PiB7IHJldHVybiB4KjEwOyB9CisgICAgICAgICAgNSBsZXhpY2FsIHRo
aXMgLSB2YXJpYWJsZSB0aGlzIGlzIHBvaW50IHRvIHRoZSB0aGlzIG9mIHRoZSBmdW5jdGlvbiB3
aGVyZSBhcnJvdyBmdW5jdGlvbiBpcyBkZWNsYXJlZAorICAgICAgICAgIDYgTm8gY29uc3RydWN0
b3IgLSB0aGUgdXNpbmcgb2YgdGhlIGNvbW1hbmQgbmV3IGZvciBhcnJvdyBmdW5jdGlvbiBsZWFk
cyB0byBydW50aW1lIGVycm9yLiAKKworICAgICAgICAgTm90IHlldCBpbXBsZW1lbnRlZDoKKyAg
ICAgICAgICAxIHRoZSB2YXJpYWJsZSB3aXRoIG5hbWUgYXJndW1lbnRzIGluc2lkZSBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gc2hvdWxkIHBvaW50IHRvIGxpc3Qgb2YgYXJndW1lbnRzIG9mIGZ1bmN0
aW9uIHdoZXJlIGFycm93IGZ1bmN0aW9uIGlzIGRlY2xhcmVkCisgICAgICAgICAgMiBwYXJzZXIg
d2lsbCBwYXJzZSB0aGUgc3RhdGVtZW50IHgsIHkgPT4geCArIHkgaW5zdGVhZCBvZiByYWlzaW5n
IGV4Y2VwdGlvbgorICAgICAgICAgIDMgbWV0aG9kIGNhbGwsIGFwcGx5LCBiaW5kIHNob3VsZCBu
b3Qgb3ZlcnJpZGUgdGhlIHRoaXMgdmFyaWFibGUgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlv
bgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6Cisg
ICAgICAgICogSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qOgor
ICAgICAgICAqIGJ5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uOgorICAgICAgICAqIGJ5dGVjb2Rl
L0J5dGVjb2RlVXNlRGVmLmg6CisgICAgICAgIChKU0M6OkZ1bmN0b3I6OmNvbXB1dGVVc2VzRm9y
Qnl0ZWNvZGVPZmZzZXQpOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAg
ICAgIChKU0M6OkNvZGVCbG9jazo6ZHVtcEJ5dGVjb2RlKToKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVH
ZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Fy
cm93RnVuY3Rpb25FeHByZXNzaW9uKTogYWRkZWQKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5l
cmF0b3I6OmVtaXRUaGlzTm9kZUJ5dGVjb2RlKTogYWRkZWQKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvTm9kZXNDb2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6ZW1pdEJ5dGVjb2RlOjplbWl0Qnl0
ZWNvZGUpOiBhZGRlZAorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHByTm9kZTo6ZW1pdEJ5dGVj
b2RlKTogYWRkZWQKKyAgICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAg
ICAoSlNDOjpCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgICogZGZnL0RGR0Nh
cGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkNhcGFiaWxpdHlMZXZlbDo6Y2FwYWJpbGl0
eUxldmVsKToKKyAgICAgICAgKiBqaXQvSklULmg6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9v
cF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRJbmxpbmVzLmg6
CisgICAgICAgIChKU0M6OkpJVDo6Y2FsbE9wZXJhdGlvbik6IGFkZGVkCisgICAgICAgICogaml0
L0pJVC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcyk6Cisg
ICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3Bf
bmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5j
cHA6CisgICAgICAgIChKU0M6OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5ld0Fycm93RnVuY3Rp
b24pOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmg6CisgICAgICAgIChKU0M6
OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24pOiBhZGRlZAorICAgICAg
ICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAgICAgICAgKExMSU5UX1NMT1dfUEFUSF9E
RUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGxsaW50
L0xMSW50U2xvd1BhdGhzLmg6CisgICAgICAgIChMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3Bh
dGhfbmV3X2Fycm93X2Z1bmNfZXhwKSk6IGFkZGVkCisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206CisgICAgICAgICogcGFyc2VyL0FTVEJ1aWxkZXIuaDoKKyAgICAgICAg
KEpTQzo6QVNUQnVpbGRlcjo6Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIpOgorICAgICAgICAqIHBh
cnNlci9MZXhlci5jcHA6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9u
KToKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OmxleCk6CisgICAgICAgICogcGFyc2VyL0xleGVy
Lmg6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9uKToKKyAgICAgICAg
KiBwYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oOgorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHBy
Tm9kZTo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZAorICAgICAgICAqIHBhcnNlci9Ob2Rlcy5o
OgorICAgICAgICAoSlNDOjpOb2RlOjppc0Fycm93RnVuY0V4cHJOb2RlKTogYWRkZWQKKyAgICAg
ICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZCBjbGFzcworICAgICAgICAqIHBhcnNl
ci9QYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3Vy
Y2VFbGVtZW50cyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1h
cnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZVNvdXJjZUVsZW1lbnQp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6
UGFyc2VyOjpwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwYXJzZVByaW1hcnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFy
cm93RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6c2V0RW5kT2ZTdGF0ZW1lbnQp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIpOgorICAg
ICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkluZm8pOgorICAgICAgICAoSlND
OjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkJvZHkpOgorICAgICAgICAqIHBhcnNlci9QYXJz
ZXIuaDoKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpGdW5jdGlvblBhcnNlVHlwZSk6CisgICAgICAg
IChKU0M6OlBhcnNlcjo6cGFyc2VTb3VyY2VFbGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0V4cHJl
c3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnNldEVuZE9mU3RhdGVtZW50KToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKToKKyAgICAgICAgKiBw
YXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmg6CisgICAgICAgICogcGFyc2VyL1BhcnNlclRva2Vu
cy5oOgorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmFycm93RnVuY3Rpb25PZmZz
ZXQpOiBhZGRlZAorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmlzQXJyb3dGdW5j
dGlvbik6IGFkZGVkCisgICAgICAgIChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6YXJyb3dGdW5j
dGlvbkJvZHlUeXBlKTogYWRkZWQKKyAgICAgICAgKiBwYXJzZXIvU291cmNlQ29kZS5oOgorICAg
ICAgICAoSlNDOjpTb3VyY2VDb2RlOjpzdWJBcnJvd0V4cHJlc3Npb24pOgorICAgICAgICAqIHBh
cnNlci9TeW50YXhDaGVja2VyLmg6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNyZWF0
ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAgICAgKiBwYXJzZXIvU291cmNlUHJvdmlkZXJDYWNo
ZUl0ZW06CisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJh
bWV0ZXJzKToKKyAgICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0pOgorICAgICAg
ICAoSlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6ZW5kQXJyb3dGdW5jdGlvblRva2VuKToK
KyAgICAgICAgKiBydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oOiBhZGRlZCBjbGFzcyBmb3IgaGFu
ZGxlIGFycm93IGZ1bmN0aW9uIGNyZWF0aW9uIGFuZCBleGVjdXRpb24KKyAgICAgICAgKiBydW50
aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHA6CisgICAgICAgICogcnVudGltZS9KU0Z1bmN0aW9uLmg6
CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OkpTRnVuY3Rpb24pOiBhZGRlZCBvbmUgbW9yZSBj
b25zdHJ1Y3RvcgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaDoKKyAgICAg
ICAgKEpTQzo6SlNGdW5jdGlvbjo6SlNGdW5jdGlvbik6IGFkZGVkIGNvbnN0cnVjdG9yIGltcGxl
bWVudGF0aW9uCisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAg
IChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmpl
Y3Q6Om1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZSk6IGFkZGVkCisgICAgICAgIChKU0M6OkpTR2xv
YmFsT2JqZWN0OjphcnJvd0Z1bmN0aW9uU3RydWN0dXJlKToKKyAgICAgICAgKiB0ZXN0cy9zdHJl
c3MvanMvYXJyb3dmdW5jdGlvbi5qczoKKwogMjAxNS0wMy0zMSAgWXVzdWtlIFN1enVraSAgPHV0
YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBDbGVhbiB1cCBJZGVudGlmaWVyIGZhY3Rv
cmllcyB0byBjbGFyaWZ5IHRoZSBtZWFuaW5nIG9mIFN0cmluZ0ltcGwqCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ODczZjY4NTA1NmJiN2U0NzdiNmI2OTVkZmFjYjBhZWJhNThlYTQ0Ny4uMzc0MzhmNDQxMmFkNjM5
YTc0OTY4ZjNmM2VjOTdjM2QzYTNlZmIyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDE1LTA0LTAxICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAg
ICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUg
ZmxhZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgor
CisgICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAy
MDE1LTAzLTMxICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAg
ICAgICAgTW92ZSBFeHBhbnNpb25CZWhhdmlvckZsYWdzIGFuZCBUZXh0RGlyZWN0aW9uIHRvIHRo
ZWlyIG93biBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNzU3ZWE0OWQwYTMwZjk0ZDU2MjJiODM1
MzVjMWJlYmQwNDMxZTk1Ni4uZWY4N2M3NWUwMDQ5YjZjOWQ4NGQxNGNlYTQwMTVmNTBhYWUyZDUy
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTA0LTAxICBTa2FjaGtv
diBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgIFtFUzZdIEltcGxl
bWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyBFTkFCTEVfRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgorCisgICAgICAgICAqIENvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1LTAzLTMxICBZdXN1a2Ug
U3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIENsZWFuIHVwIElkZW50
aWZpZXIgZmFjdG9yaWVzIHRvIGNsYXJpZnkgdGhlIG1lYW5pbmcgb2YgU3RyaW5nSW1wbCoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA3MjExMjc2NTJkODg4ZjUwMWFiNmMy
MTdiODMzNDQxOTA0M2Y1ODY0Li41MDUzZGMxN2U2ZDU4YjExMWM3MzBhOTRjYzA3NGIwY2JlNTA3
OGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC00NjYsNiArNDY2LDcg
QEAgc2V0KEphdmFTY3JpcHRDb3JlX1JVTlRJTUVfU09VUkNFUwogICAgIHJ1bnRpbWUvSlNBcnJh
eUJ1ZmZlclZpZXcuY3BwCiAgICAgcnVudGltZS9KU0FycmF5SXRlcmF0b3IuY3BwCiAgICAgcnVu
dGltZS9KU0JvdW5kRnVuY3Rpb24uY3BwCisgICAgcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3Bw
CiAgICAgcnVudGltZS9KU0dsb2JhbE9iamVjdERlYnVnZ2FibGUuY3BwCiAgICAgcnVudGltZS9K
U0NKU1ZhbHVlLmNwcAogICAgIHJ1bnRpbWUvSlNDYWxsZWUuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKaW5kZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0
OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FO
VkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgg
PSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5U
QVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklM
VEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwog
RU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVW
RUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFC
TEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRf
QVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BB
VEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVO
QUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVf
Q1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5B
QkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVO
QUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9O
KSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQo
RU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhU
X0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01f
U0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRB
TElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRB
SUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9F
VkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRf
TE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAk
KEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNF
KSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9W
RVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxF
X0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxF
X0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFC
TEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykg
JChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9D
T05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RB
VElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxF
X01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQo
RU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAk
KEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BS
T01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklY
X0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkg
JChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1Ip
ICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5H
KSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQo
RU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdf
Rk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVN
QkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9B
RElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxM
KSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVf
VkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVO
QUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRT
KSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9X
RUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5B
QkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xB
WU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFU
VVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVO
QUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFT
X1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZ
TlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xF
VkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NP
TVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19H
UklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxF
Q1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkg
JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
UykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVO
QUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJ
TUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
TEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9B
TklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQp
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVO
QUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVO
QUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5B
QkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKaW5kZXggNzQz
MzBlNzAzZGFjNGQzNjAwZWFiMjdhMGFkOGViNGFmMDBlMGIzMi4uNjIyODczZGQyZjk0NzBhOTEz
MThhY2NjZDQ3MDlkY2VhZTcyNjA4ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52
Y3hwcm9qCkBAIC03MzQsNiArNzM0LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1
bnRpbWVcSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJWaWV3LmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNCb3VuZEZ1bmN0aW9uLmNwcCIgLz4KKyAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJvd0Z1bmN0aW9uLmNwcCIgLz4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZS5jcHAiIC8+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ2FsbGVlLmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDYXRjaFNjb3BlLmNwcCIgLz4KQEAgLTE1MjYsNiArMTUy
Nyw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJW
aWV3SW5saW5lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0Fy
cmF5SXRlcmF0b3IuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNC
b3VuZEZ1bmN0aW9uLmgiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpT
QXJyb3dGdW5jdGlvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxK
U0NJbmxpbmVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0pT
VmFsdWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1
ZUlubGluZXMuaCIgLz4KQEAgLTE4MDAsNCArMTgwMiw0IEBACiAgIDxJbXBvcnRHcm91cCBMYWJl
bD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1Bh
dGgpXEJ1aWxkQ3VzdG9taXphdGlvbnNcbWFzbS50YXJnZXRzIiAvPgogICA8L0ltcG9ydEdyb3Vw
PgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYmEyZDEzNmViOTViNWE5ZmQzNTRhYjMwYThm
MzY5MWJmNzhjZWI4Ni4uZTlkNmYyNDY1ZTMzODU1ZDM2OGI0ZDIwNGUwZDc2NDZjNTZlOTg5ZiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwOTIsNiArMTA5Miw4IEBACiAJCTg2
RjNFRUJGMTY4Q0RFOTMwMDc3QjkyQSAvKiBPYmpjUnVudGltZUV4dHJhcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGM0VFQjYxNjg1NUE1QjAwNzdC
OTJBIC8qIE9iamNSdW50aW1lRXh0cmFzLmggKi87IH07CiAJCTg2RkE5RTkxMTQyQkJCMkUwMDE3
NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRGdW5j
dGlvbi5jcHAgKi87IH07CiAJCTg2RkE5RTkyMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVu
Y3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2
RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLzsgfTsKKwkJOEIw
RjQyNEMxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUyMDAzOTE3
RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCAqLzsgfTsKKwkJOEIwRjQyNEMxQUJENkRFMjAwMzkx
N0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlv
bi5oICovOyB9OwogCQk5MDIxM0UzRDEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGlj
cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIx
M0UzQjEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi87IH07CiAJCTkw
MjEzRTNFMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIxM0UzQzEyM0E0MEMyMDBENDIy
RjMgLyogTWVtb3J5U3RhdGlzdGljcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTkzMDUyQzM0MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVu
YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzA1
MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwICovOyB9OwpAQCAtMjgyNCw2
ICsyODI2LDggQEAKIAkJODZGNzVFRkQxNTFDMDYyRjAwN0M5QkEzIC8qIFJlZ0V4cE1hdGNoZXNB
cnJheS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWdFeHBNYXRj
aGVzQXJyYXkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkZBOUU4RjE0MkJC
QjJEMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTQm91bmRGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdFQSAvKiBKU0Fy
cm93RnVuY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcnJvd0Z1bmN0aW9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93
RnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcnJv
d0Z1bmN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTAyMTNFM0IxMjNB
NDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTWVtb3J5U3RhdGlzdGljcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lbW9yeVN0YXRpc3RpY3MuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8q
IFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBh
cnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ0MzgsNiArNDQ0
Miw4IEBACiAJCQkJQTdCREFFQzUxN0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJyYXlJdGVyYXRvci5o
ICovLAogCQkJCTg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3Bw
ICovLAogCQkJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAq
LywKKwkJCQk4QjBGNDI0QTFBQkQ2RDJGMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggKi8s
CisJCQkJOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgKi8s
CiAJCQkJNjU3Q0Y0NTYxOUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmNwcCAqLywKIAkJCQk2
NTdDRjQ1NzE5QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuaCAqLywKIAkJCQkwRkQ5NDk3RTFB
OTdEQjk2MDBFMjg5NjYgLyogSlNDYXRjaFNjb3BlLmNwcCAqLywKQEAgLTcxNjYsNiArNzE3Miw3
IEBACiAJCQkJMEZEOEEzMUIxN0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTE9TUkVudHJ5LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGMjM1QkRDMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjM1QkRGMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JF
eGl0Q29tcGlsZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOEIwRjQyNEMxQUJENkRFMjAwMzkx
N0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkVBMEEyQTE3
MDk2Mjk2MDBCQjcyMkMgLyogRlRMT3V0cHV0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNDg1
MzI5MTg3REZERUMwMDgzQjY4NyAvKiBGVExSZWNvdmVyeU9wY29kZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwRjZCMUNDMzE4NjJDNDc4MDA4NDVEOTcgLyogRlRMUmVnaXN0ZXJBdE9mZnNldC5j
cHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9CeXRlY29kZUxpc3QuanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9C
eXRlY29kZUxpc3QuanNvbgppbmRleCA2YjI0MzkxNTZhYjNhZmFlNmI1NThhYjkwNjZkMjIyNTE1
ZDU5ZTQ1Li40MzYwNzA5ZDhmN2U0MTgyMTVhYjJhZjk1OWJmNjQ0OGFmMDM4MDI4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24KKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCkBAIC05
NSw2ICs5NSw3IEBACiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9zd2l0Y2hfc3RyaW5nIiwg
Imxlbmd0aCIgOiA0IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfZnVuYyIsICJs
ZW5ndGgiIDogNCB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfbmV3X2Z1bmNfZXhwIiwg
Imxlbmd0aCIgOiA0IH0sCisgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfYXJyb3dfZnVu
Y19leHAiLCAibGVuZ3RoIiA6IDUgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGwi
LCAibGVuZ3RoIiA6IDkgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGxfZXZhbCIs
ICJsZW5ndGgiIDogOSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbF92YXJhcmdz
IiwgImxlbmd0aCIgOiA5IH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9C
eXRlY29kZVVzZURlZi5oCmluZGV4IDg1ZjI5MTVjN2U4ZjYwMWFkM2VjMTc4YmY2OWUzNTQ0Zjc1
NGMyY2YuLjE3YjZiZWQ4MWZlMjViNjIzMzBiYWEzZmQwMzFjNzE2YWI4OGY5YmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCkBAIC0xMTYs
NiArMTE2LDkgQEAgdm9pZCBjb21wdXRlVXNlc0ZvckJ5dGVjb2RlT2Zmc2V0KAogICAgIGNhc2Ug
b3BfZ2V0X3Byb3BlcnR5X2VudW1lcmF0b3I6CiAgICAgY2FzZSBvcF9nZXRfZW51bWVyYWJsZV9s
ZW5ndGg6CiAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRpZgog
ICAgIGNhc2Ugb3BfdG9faW5kZXhfc3RyaW5nOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29u
c3Rfbm9wOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29uc3Q6CkBAIC0zMDgsNiArMzExLDkg
QEAgdm9pZCBjb21wdXRlRGVmc0ZvckJ5dGVjb2RlT2Zmc2V0KENvZGVCbG9jayogY29kZUJsb2Nr
LCB1bnNpZ25lZCBieXRlY29kZU9mZnNldCwKICAgICBjYXNlIG9wX25ld19yZWdleHA6CiAgICAg
Y2FzZSBvcF9uZXdfZnVuYzoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhw
OgorI2VuZGlmCiAgICAgY2FzZSBvcF9jYWxsX3ZhcmFyZ3M6CiAgICAgY2FzZSBvcF9jb25zdHJ1
Y3RfdmFyYXJnczoKICAgICBjYXNlIG9wX2dldF9mcm9tX3Njb3BlOgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAppbmRleCA5ZTk1MTdlNzgxYmU1NTdmMDRm
MTdmOTNkZWM3MWI5MTZjYzlhMmFkLi4xMTU0MjBjZTExYjA4NTlmNmVlMzNhODI5YzQzMGQxOTA3
YmYxZWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNw
cApAQCAtMTI3NCw2ICsxMjc0LDE3IEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wQnl0ZWNvZGUoCiAg
ICAgICAgICAgICBvdXQucHJpbnRmKCIlcywgJXMsIGYlZCIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0
YSgpLCByZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjApOwogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBj
YXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDogeworICAgICAgICAgICAgaW50IHIwID0gKCsraXQp
LT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUub3BlcmFuZDsKKyAg
ICAgICAgICAgIGludCBmMCA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgaW50IHIy
ID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBwcmludExvY2F0aW9uQW5kT3Aob3V0
LCBleGVjLCBsb2NhdGlvbiwgaXQsICJvcF9uZXdfYXJyb3dfZnVuY19leHAiKTsKKyAgICAgICAg
ICAgIG91dC5wcmludGYoIiVzLCAlcywgZiVkLCAlcyIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0YSgp
LCByZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjAsIHJlZ2lzdGVyTmFtZShyMikuZGF0YSgpKTsK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgY2FzZSBvcF9u
ZXdfZnVuY19leHA6IHsKICAgICAgICAgICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVyYW5kOwog
ICAgICAgICAgICAgaW50IHIxID0gKCsraXQpLT51Lm9wZXJhbmQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCmlu
ZGV4IDg4NzJkNzc3ZDNlNTkyMTFjOTE2ZDQ3ODBkMGUwNDI3ZWQzOThmODYuLmE3OTY0YmI1YmMz
MmFlNzVkYTM1MDAzZDZmZGU0NjRhMmM5ZTA2NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0xNzU0
LDYgKzE3NTQsMzQgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdGdW5j
dGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogcjAsIEZ1bmNFeHAKICAgICBpbnN0cnVjdGlvbnMo
KS5hcHBlbmQoaW5kZXgpOwogICAgIHJldHVybiByMDsKIH0KKyAgICAKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVt
aXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVuY0V4cHJOb2Rl
KiBuKQoreworICAgIEZ1bmN0aW9uQm9keU5vZGUqIGZ1bmN0aW9uID0gbi0+Ym9keSgpOworICAg
IHVuc2lnbmVkIGluZGV4ID0gbV9jb2RlQmxvY2stPmFkZEZ1bmN0aW9uRXhwcihtYWtlRnVuY3Rp
b24oZnVuY3Rpb24pKTsKKyAgICAKKyAgICBlbWl0T3Bjb2RlKG9wX25ld19hcnJvd19mdW5jX2V4
cCk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHIwLT5pbmRleCgpKTsKKyAgICBpbnN0cnVj
dGlvbnMoKS5hcHBlbmQoc2NvcGVSZWdpc3RlcigpLT5pbmRleCgpKTsKKyAgICBpbnN0cnVjdGlv
bnMoKS5hcHBlbmQoaW5kZXgpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZCh0aGlzUmVnaXN0
ZXIoKS0+aW5kZXgoKSk7CisgICAgcmV0dXJuIHIwOworfQorICAgIAorUmVnaXN0ZXJJRCogQnl0
ZWNvZGVHZW5lcmF0b3I6OmVtaXRUaGlzTm9kZUJ5dGVjb2RlKFJlZ2lzdGVySUQqIGRzdCwgSlNU
ZXh0UG9zaXRpb24gcG9zaXRpb24pCit7CisgICAgaWYgKGRzdCA9PSBpZ25vcmVkUmVzdWx0KCkp
CisgICAgICAgIHJldHVybiAwOworICAgIFJlZ2lzdGVySUQqIHJlc3VsdCA9IG1vdmVUb0Rlc3Rp
bmF0aW9uSWZOZWVkZWQoZHN0LCB0aGlzUmVnaXN0ZXIoKSk7CisgICAgaWYgKHZtKCktPnR5cGVQ
cm9maWxlcigpKSB7CisgICAgICAgIGVtaXRQcm9maWxlVHlwZSh0aGlzUmVnaXN0ZXIoKSwgUHJv
ZmlsZVR5cGVCeXRlY29kZURvZXNOb3RIYXZlR2xvYmFsSUQsIG51bGxwdHIpOworICAgICAgICBz
dGF0aWMgY29uc3QgdW5zaWduZWQgdGhpc0xlbmd0aCA9IDQ7CisgICAgICAgIGVtaXRUeXBlUHJv
ZmlsZXJFeHByZXNzaW9uSW5mbyhwb3NpdGlvbiwgSlNUZXh0UG9zaXRpb24oLTEsIHBvc2l0aW9u
Lm9mZnNldCArIHRoaXNMZW5ndGgsIC0xKSk7CisgICAgfQorICAgIHJldHVybiByZXN1bHQ7Cit9
CisjZW5kaWYKIAogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdEZWZhdWx0
Q29uc3RydWN0b3IoUmVnaXN0ZXJJRCogZHN0LCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JL
aW5kLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmluZGV4IDRmZmVmNmI0
MDk3ZjAyNDZkYzFiYWU4OWVlOGFhYjhlYzk1YzYwZmEuLjM3OGExOWVhYWVkZGZiZGI0ZjUxMjI4
MGU5MDg5NDM4NTc3YTc0OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTQ1NCw2ICs0NTQsMTAgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5jdGlvbkludGVybmFs
KFJlZ2lzdGVySUQqIGRzdCwgdW5zaWduZWQgaW5kZXgpOwogICAgICAgICBSZWdpc3RlcklEKiBl
bWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIGRzdCwgRnVuY0V4cHJOb2RlKiBm
dW5jKTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0RlZmF1bHRDb25zdHJ1Y3RvcihSZWdp
c3RlcklEKiBkc3QsIENvbnN0cnVjdG9yS2luZCwgY29uc3QgSWRlbnRpZmllciYgbmFtZSk7Cisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgUmVnaXN0ZXJJRCog
ZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqLCBGdW5jRXhwck5vZGUq
KTsKKyAgICAgICAgUmVnaXN0ZXJJRCogZW1pdFRoaXNOb2RlQnl0ZWNvZGUoUmVnaXN0ZXJJRCos
IEpTVGV4dFBvc2l0aW9uKTsKKyNlbmRpZgogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3UmVn
RXhwKFJlZ2lzdGVySUQqIGRzdCwgUmVnRXhwKik7CiAKICAgICAgICAgUmVnaXN0ZXJJRCogZW1p
dE1vdmVFbXB0eVZhbHVlKFJlZ2lzdGVySUQqIGRzdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXggNGY3NDc2Y2EzM2M5
MTMxYmI3M2RmYTg5NmE2MDA1NzU2MjY1ODFiNy4uZGU1NDkxY2M3MDJlNjcxMmVhZWNhNTAxZWU0
OGI1OTA3Nzk2ZjM0NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21w
aWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29t
cGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtMTQ5LDcgKzE0OSw5IEBAIFJlZ2lzdGVySUQqIFRo
aXNOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0
ZXJJRCogZHN0CiAKICAgICBpZiAoZHN0ID09IGdlbmVyYXRvci5pZ25vcmVkUmVzdWx0KCkpCiAg
ICAgICAgIHJldHVybiAwOwotCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXRUaGlzTm9kZUJ5dGVjb2RlKGRzdCwgcG9zaXRpb24o
KSk7CisjZWxzZQogICAgIFJlZ2lzdGVySUQqIHJlc3VsdCA9IGdlbmVyYXRvci5tb3ZlVG9EZXN0
aW5hdGlvbklmTmVlZGVkKGRzdCwgZ2VuZXJhdG9yLnRoaXNSZWdpc3RlcigpKTsKICAgICBpZiAo
Z2VuZXJhdG9yLnZtKCktPnR5cGVQcm9maWxlcigpKSB7CiAgICAgICAgIGdlbmVyYXRvci5lbWl0
UHJvZmlsZVR5cGUoZ2VuZXJhdG9yLnRoaXNSZWdpc3RlcigpLCBQcm9maWxlVHlwZUJ5dGVjb2Rl
RG9lc05vdEhhdmVHbG9iYWxJRCwgbnVsbHB0cik7CkBAIC0xNTcsNiArMTU5LDcgQEAgUmVnaXN0
ZXJJRCogVGhpc05vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9y
LCBSZWdpc3RlcklEKiBkc3QKICAgICAgICAgZ2VuZXJhdG9yLmVtaXRUeXBlUHJvZmlsZXJFeHBy
ZXNzaW9uSW5mbyhwb3NpdGlvbigpLCBKU1RleHRQb3NpdGlvbigtMSwgcG9zaXRpb24oKS5vZmZz
ZXQgKyB0aGlzTGVuZ3RoLCAtMSkpOwogICAgIH0KICAgICByZXR1cm4gcmVzdWx0OworI2VuZGlm
CiB9CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBTdXBlck5vZGUgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMjgzMyw2ICsyODM2LDE0IEBAIFJl
Z2lzdGVySUQqIEZ1bmNFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBn
ZW5lcmF0b3IsIFJlZ2lzdGVySUQqCiAgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0TmV3RnVuY3Rp
b25FeHByZXNzaW9uKGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHRoaXMpOwogfQog
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgICAgCisvLyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0gQXJyb3dGdW5jRXhwck5vZGUgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCitSZWdpc3RlcklEKiBBcnJvd0Z1bmNFeHByTm9kZTo6ZW1pdEJ5dGVj
b2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKK3sKKyAg
ICByZXR1cm4gZ2VuZXJhdG9yLmVtaXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihnZW5lcmF0
b3IuZmluYWxEZXN0aW5hdGlvbihkc3QpLCB0aGlzKTsKK30KKyNlbmRpZgorICAgIAogI2lmIEVO
QUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
IENsYXNzRGVjbE5vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKaW5kZXggNTNh
YzE3NzQ2MTk2OWVlZmI2NmFkZjYwOTA2ODFlNmU1Yjc2YjAzMi4uZmQ3MzdhM2Y3OGU5YzJiOWYx
YTk5MTk3ODhkMTIzZTZiMmQ5MzMwYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKQEAgLTM2NzUsNiArMzY3NSwxNSBAQCBib29sIEJ5dGVD
b2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxpbWl0KQogICAgICAgICAgICAgTkVYVF9P
UENPREUob3BfbmV3X2Z1bmNfZXhwKTsKICAgICAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6IHsK
KyAgICAgICAgICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhwciA9IG1faW5saW5lU3RhY2tUb3At
Pm1fcHJvZmlsZWRCbG9jay0+ZnVuY3Rpb25FeHByKGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9w
ZXJhbmQpOworICAgICAgICAgICAgRnJvemVuVmFsdWUqIGZyb3plbiA9IG1fZ3JhcGguZnJlZXpl
U3Ryb25nKGV4cHIpOworICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5z
dHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwKKyAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKE5ld0Z1
bmN0aW9uLCBPcEluZm8oZnJvemVuKSwgZ2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1
Y3Rpb25bMl0udS5vcGVyYW5kKSkpKTsKKyAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX25ld19h
cnJvd19mdW5jX2V4cCk7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBjYXNlIG9wX3R5cGVv
ZjogewogICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25b
MV0udS5vcGVyYW5kKSwKICAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKFR5cGVPZiwgZ2V0KFZp
cnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSkpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAppbmRleCA4ZWY0ZGNm
MTU2OGJkNWVkYTRiODk3ZTc2ODRhOGNiYjkxYmY2ZTA4Li43ZjQ1YTgzMWVhNmU2MjczYmFjZDJl
M2Y4MzM2ZGRjNTYyYzhjYzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0NhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdD
YXBhYmlsaXRpZXMuY3BwCkBAIC0yMDgsNiArMjA4LDkgQEAgQ2FwYWJpbGl0eUxldmVsIGNhcGFi
aWxpdHlMZXZlbChPcGNvZGVJRCBvcGNvZGVJRCwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIEluc3Ry
dWMKICAgICBjYXNlIG9wX25ld19mdW5jOgogICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOgogICAg
IGNhc2Ugb3BfY3JlYXRlX2xleGljYWxfZW52aXJvbm1lbnQ6CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRp
ZgogICAgICAgICByZXR1cm4gQ2FuQ29tcGlsZUFuZElubGluZTsKIAogICAgIGNhc2Ugb3BfcHV0
X3RvX3Njb3BlOiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0
ZXIvSW50ZXJwcmV0ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0lu
dGVycHJldGVyLmNwcAppbmRleCBlY2ZjZTkxYmQzYzAzMDg1M2EzOTQwMzJiYTVjZDI4MmExYTNj
ZDhlLi4zYWM5M2E5ZmFiMjQ4MjQ4MDc1ZTIxODAzMzI3Mzc0NDM1Yzk5MGNlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKQEAgLTQ1
LDYgKzQ1LDkgQEAKICNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJKU0FycmF5
LmgiCiAjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNlbmRpZgogI2lu
Y2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgog
I2luY2x1ZGUgIkpTTmFtZVNjb3BlLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKaW5kZXgg
NDJhODJkNDM5NDYxNjJmOTVmYTQ3NDY3NTY3MTM5ZDRhYWYyMzg2Yi4uMTg2MGEwYWEzM2IwODE5
YzRmODU1MDg1ZjVlOGI3MGZhMjMyYTQzMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcApA
QCAtMjUzLDYgKzI1Myw5IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkKICAg
ICAgICAgREVGSU5FX09QKG9wX25ld19hcnJheV9idWZmZXIpCiAgICAgICAgIERFRklORV9PUChv
cF9uZXdfZnVuYykKICAgICAgICAgREVGSU5FX09QKG9wX25ld19mdW5jX2V4cCkKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBERUZJTkVfT1Aob3BfbmV3X2Fy
cm93X2Z1bmNfZXhwKQorI2VuZGlmICAKICAgICAgICAgREVGSU5FX09QKG9wX25ld19vYmplY3Qp
CiAgICAgICAgIERFRklORV9PUChvcF9uZXdfcmVnZXhwKQogICAgICAgICBERUZJTkVfT1Aob3Bf
bm90KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKaW5kZXggZWU0ODU1ZGMyZTc4YjU1YWNjNDU5OWVi
ZGI5OWEwZDhlMDhiZTdjYy4uNTYzOGQ1YzdjNzRhZWM3YzBhYjE5NWY5N2JiMzIxYmVlMDNjNzM3
YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCkBAIC01MjIsNiArNTIyLDkgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfYXJyYXlfYnVmZmVyKEluc3RydWN0aW9u
Kik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfZnVuYyhJbnN0cnVjdGlvbiopOwogICAgICAg
ICB2b2lkIGVtaXRfb3BfbmV3X2Z1bmNfZXhwKEluc3RydWN0aW9uKik7CisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdm9pZCBlbWl0X29wX25ld19hcnJvd19m
dW5jX2V4cChJbnN0cnVjdGlvbiopOworI2VuZGlmCiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdf
b2JqZWN0KEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfcmVnZXhwKElu
c3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9ub3QoSW5zdHJ1Y3Rpb24qKTsKQEAg
LTcwNSw2ICs3MDgsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6
OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSkosIGludCwgR1BSUmVnLCBHUFJS
ZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3Bl
cmF0aW9uX0VKc2MsIEdQUlJlZyk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxP
cGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0MsIGludCwgR1BSUmVnLCBKU0NlbGwqKTsKKyAg
ICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9F
SnNjQ0osIGludCwgR1BSUmVnLCBKU0NlbGwqLCBHUFJSZWcpOwogICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2NaLCBHUFJSZWcsIGlu
dDMyX3QpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklU
T3BlcmF0aW9uX0VKc2NaLCBpbnQsIEdQUlJlZywgaW50MzJfdCk7CiAjaWYgVVNFKEpTVkFMVUU2
NCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKaW5kZXggOWVlMjRkMDkyMjhh
OTg4MmVhNzY5NjI5ZDFhODdiNmMzNGE4NjMzNC4uYTBlNDBjNWM2MWZlNjNlOTg2M2VkMjIzZWRm
NWQ0NTFmMzE4YTc3NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJ
bmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKQEAg
LTI3MSw2ICsyNzEsMTIgQEAgQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6
OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0Mgb3BlcmEKICAgICByZXR1cm4gYXBw
ZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldEpTVmFsdWVSZXN1bHQob3BlcmF0aW9uLCBkc3Qp
OwogfQogCitBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJh
dGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0ogb3BlcmF0aW9uLCBpbnQgZHN0LCBHUFJSZWcgYXJn
MSwgSlNDZWxsKiBjZWxsLCBHUFJSZWcgYXJnMikKK3sKKyAgICBzZXR1cEFyZ3VtZW50c1dpdGhF
eGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSwgYXJnMik7CisgICAgcmV0dXJuIGFw
cGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRKU1ZhbHVlUmVzdWx0KG9wZXJhdGlvbiwgZHN0
KTsKK30KKyAgICAKIEFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxs
T3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VQIG9wZXJhdGlvbiwgaW50IGRzdCwgdm9pZCogcG9p
bnRlcikKIHsKICAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihw
b2ludGVyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29k
ZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAppbmRleCBk
M2Q1ODBlOWUyNjAwODUzYjY2NDllMjg1OTE4Zjg1MzhiZTY5NDRjLi40ODgzYTgzZDE3NjQ4ZGRk
ZTljYWRhMDc2ZTE3NjAzZTM3ODM2YTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVE9wY29kZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3Bjb2Rlcy5jcHAKQEAgLTk3Miw2ICs5NzIsMzEgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2Z1
bmNfZXhwKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgY2FsbE9wZXJhdGlv
bihvcGVyYXRpb25OZXdGdW5jdGlvbiwgZHN0LCByZWdUMCwgZnVuY0V4cHIpOwogICAgIGRvbmUu
bGluayh0aGlzKTsKIH0KKyAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQordm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwKEluc3RydWN0aW9uKiBjdXJy
ZW50SW5zdHJ1Y3Rpb24pCit7CisgICAgSnVtcCBub3RVbmRlZmluZWRTY29wZTsKKyAgICBpbnQg
ZHN0ID0gY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZDsKKyNpZiBVU0UoSlNWQUxVRTY0
KQorICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3Bl
cmFuZCwgcmVnVDApOworICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0
aW9uWzRdLnUub3BlcmFuZCwgcmVnVDEpOworICAgIG5vdFVuZGVmaW5lZFNjb3BlID0gYnJhbmNo
NjQoTm90RXF1YWwsIHJlZ1QwLCBUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZp
bmVkKCkpKSk7CisgICAgc3RvcmU2NChUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5jb2RlKGpzVW5k
ZWZpbmVkKCkpKSwgQWRkcmVzcyhjYWxsRnJhbWVSZWdpc3Rlciwgc2l6ZW9mKFJlZ2lzdGVyKSAq
IGRzdCkpOworI2Vsc2UKKyAgICBlbWl0TG9hZFBheWxvYWQoY3VycmVudEluc3RydWN0aW9uWzJd
LnUub3BlcmFuZCwgcmVnVDApOworICAgIGVtaXRMb2FkUGF5bG9hZChjdXJyZW50SW5zdHJ1Y3Rp
b25bNF0udS5vcGVyYW5kLCByZWdUMSk7CisgICAgbm90VW5kZWZpbmVkU2NvcGUgPSBicmFuY2gz
MihOb3RFcXVhbCwgdGFnRm9yKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpLCBUcnVz
dGVkSW1tMzIoSlNWYWx1ZTo6VW5kZWZpbmVkVGFnKSk7CisgICAgZW1pdFN0b3JlKGRzdCwganNV
bmRlZmluZWQoKSk7CisjZW5kaWYKKyAgICBKdW1wIGRvbmUgPSBqdW1wKCk7CisgICAgbm90VW5k
ZWZpbmVkU2NvcGUubGluayh0aGlzKTsKKyAgICAKKyAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1
bmN0aW9uID0gbV9jb2RlQmxvY2stPmZ1bmN0aW9uRXhwcihjdXJyZW50SW5zdHJ1Y3Rpb25bM10u
dS5vcGVyYW5kKTsKKyAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24s
IGRzdCwgcmVnVDAsIGZ1bmN0aW9uLCByZWdUMSk7CisgICAgZG9uZS5saW5rKHRoaXMpOworfQor
I2VuZGlmCiAKIHZvaWQgSklUOjplbWl0X29wX25ld19hcnJheShJbnN0cnVjdGlvbiogY3VycmVu
dEluc3RydWN0aW9uKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRPcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9u
cy5jcHAKaW5kZXggNThiODYzNmQ4ODZkYmIyZTg1MjkxYjI5MzUwZDljZjRlMTQyNDE3MS4uOWY1
MjRjOGJkOTk2ODU3NjEyMGMwMzY1MTc3ODI1NTAyNzY0NmYxYiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCkBAIC00Miw2ICs0MiwxMCBAQAogI2luY2x1
ZGUgIkhvc3RDYWxsUmV0dXJuVmFsdWUuaCIKICNpbmNsdWRlICJKSVQuaCIKICNpbmNsdWRlICJK
SVRUb0RGR0RlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjay5oIgorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCisjZW5kaWYK
KyNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAj
aW5jbHVkZSAiSlNDYXRjaFNjb3BlLmgiCiAjaW5jbHVkZSAiSlNGdW5jdGlvbk5hbWVTY29wZS5o
IgpAQCAtOTMzLDYgKzkzNywyMSBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbk5ld0Z1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNTY29wZSogc2NvcAogICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBzdGF0aWNfY2FzdDxGdW5j
dGlvbkV4ZWN1dGFibGUqPihmdW5jdGlvbkV4ZWN1dGFibGUpLCBzY29wZSkpOwogfQogCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTU2NvcGUq
IHNjb3BlLCBKU0NlbGwqIGZ1bmN0aW9uRXhlY3V0YWJsZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlKQoreworICAgIEFTU0VSVChmdW5jdGlvbkV4ZWN1dGFibGUtPmluaGVyaXRzKEZ1bmN0aW9u
RXhlY3V0YWJsZTo6aW5mbygpKSk7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBOYXRp
dmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CisgICAgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCA9IGV4ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKKyAgICBKU0Z1
bmN0aW9uKiBmdW5jID0gSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUodm0sIHNjb3BlLCBzdGF0aWNf
Y2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihmdW5jdGlvbkV4ZWN1dGFibGUpLCBnbG9iYWxPYmpl
Y3QpOworICAgIAorICAgIEpTQXJyYXkqIGJvdW5kQXJncyA9IEpTQXJyYXk6OnRyeUNyZWF0ZVVu
aW5pdGlhbGl6ZWQodm0sIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5
cGVEdXJpbmdBbGxvY2F0aW9uKEFycmF5V2l0aFVuZGVjaWRlZCksIDApOworICAgIAorICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoSlNCb3VuZEZ1bmN0aW9uOjpjcmVhdGUodm0sIGdsb2JhbE9i
amVjdCwgZnVuYywgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSksIGJvdW5kQXJncywgMCwgIiIp
KTsKK30KKyNlbmRpZgorICAgIAogSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09i
amVjdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogewogICAgIFZNKiB2
bSA9ICZleGVjLT52bSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRPcGVyYXRpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMu
aAppbmRleCA0ZGVjZWY0ZWI4YjQ4YmI5MzdkNTRkMGI2MDRiOWI3NzY3YTRlYTYxLi44NWY0Y2Fm
OGNlZTRjZGJjNTBjNGRlM2JjN2M3YWJlNDQwYjhjZWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVE9wZXJhdGlvbnMuaApAQCAtMTE2LDYgKzExNiw3IEBAIHR5cGVkZWYgRW5jb2Rl
ZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQUCkoRXhlY1N0YXRlKiwg
dm9pZCosIHZvCiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9w
ZXJhdGlvbl9FUFMpKEV4ZWNTdGF0ZSosIHZvaWQqLCBzaXplX3QpOwogdHlwZWRlZiBFbmNvZGVk
SlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVBjKShFeGVjU3RhdGUqLCBJ
bnN0cnVjdGlvbiopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9K
SVRPcGVyYXRpb25fRUpzY0MpKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKTsKK3R5cGVk
ZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VKc2NDSiko
RXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlKTsKIHR5cGVkZWYg
RW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTUykoRXhlY1N0
YXRlKiwgc2l6ZV90LCBzaXplX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OICgqSl9KSVRPcGVyYXRpb25fRVNzaUNJKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5m
byosIEpTQ2VsbCosIFN0cmluZ0ltcGwqKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTc2lKSSkoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1
YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSwgU3RyaW5nSW1wbCopOwpAQCAtMjc4LDYgKzI3OSw5IEBA
IEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXlXaXRoUHJvZmls
ZShFeGVjU3RhdGUqLCBBcnJheUFsbG9jCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbk5ld0FycmF5QnVmZmVyV2l0aFByb2ZpbGUoRXhlY1N0YXRlKiwgQXJyYXlBbGxvY2F0
aW9uUHJvZmlsZSosIGNvbnN0IEpTVmFsdWUqIHZhbHVlcywgaW50MzJfdCBzaXplKSBXVEZfSU5U
RVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5V2l0
aFNpemVBbmRQcm9maWxlKEV4ZWNTdGF0ZSosIEFycmF5QWxsb2NhdGlvblByb2ZpbGUqLCBFbmNv
ZGVkSlNWYWx1ZSBzaXplKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbk5ld0Z1bmN0aW9uKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKSBX
VEZfSU5URVJOQUw7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK0VuY29k
ZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbihFeGVjU3Rh
dGUqLCBKU1Njb3BlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUpIFdURl9JTlRFUk5BTDsKKyNl
bmRpZgogSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3RhdGUq
LCBTdHJ1Y3R1cmUqKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbk5ld1JlZ2V4cChFeGVjU3RhdGUqLCB2b2lkKikgV1RGX0lOVEVSTkFMOwogdm9p
ZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkhhbmRsZVdhdGNoZG9nVGltZXIoRXhlY1N0YXRlKikg
V1RGX0lOVEVSTkFMOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xM
SW50U2xvd1BhdGhzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQ
YXRocy5jcHAKaW5kZXggMjc5Mjg1YTQ2ODA2Y2M2ODlkMDVkMTNjZjQ2MzQyZDA2YjVlZmQ2NC4u
OGNkMWNhY2QzZTU4ZGExOTRkNGJkZGY5ZmY0ZGM3YzdiNTUzNTY5YiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCkBAIC0zOCw2ICszOCwxMCBA
QAogI2luY2x1ZGUgIkludGVycHJldGVyLmgiCiAjaW5jbHVkZSAiSklULmgiCiAjaW5jbHVkZSAi
SklURXhjZXB0aW9ucy5oIgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisj
aW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgi
CisjZW5kaWYKICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIkpT
Q0lubGluZXMuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCkBAIC0xNzEsNiArMTc1LDE1IEBA
IG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgTExJbnQgewogICAgICAgICBMTElOVF9SRVRVUk5f
VFdPKHBjLCBfX3JjZl9leGVjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAg
IH0gd2hpbGUgKGZhbHNlKQogCisgICAgCisjZGVmaW5lIExMSU5UX0NBTENfUFJPUEVSVFlfRk9S
X0ZVTkNfRVhQUigpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBM
TElOVF9CRUdJTigpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+Y29k
ZUJsb2NrKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgSlNTY29w
ZSogc2NvcGUgPSBleGVjLT51bmNoZWNrZWRSKHBjWzJdLnUub3BlcmFuZCkuUmVnaXN0ZXI6OnNj
b3BlKCk7ICAgICAgIFwKKyAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUgPSBjb2Rl
QmxvY2stPmZ1bmN0aW9uRXhwcihwY1szXS51Lm9wZXJhbmQpOyAgXAorICAgIAorZW51bSBGdW5j
dGlvbkV4cHJlc3Npb25UeXBlIHsgQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25UeXBlLCBDb21tb25G
dW5jdGlvbkV4cHJlc3Npb25UeXBlfTsKKyAgICAKIGV4dGVybiAiQyIgU2xvd1BhdGhSZXR1cm5U
eXBlIGxsaW50X3RyYWNlX29wZXJhbmQoRXhlY1N0YXRlKiBleGVjLCBJbnN0cnVjdGlvbiogcGMs
IGludCBmcm9tV2hlcmUsIGludCBvcGVyYW5kKQogewogICAgIExMSU5UX0JFR0lOKCk7CkBAIC05
ODUsMTggKzk5OCwzMyBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfbmV3X2Z1bmMp
CiAjZW5kaWYKICAgICBMTElOVF9SRVRVUk4oSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBjb2RlQmxv
Y2stPmZ1bmN0aW9uRGVjbChwY1szXS51Lm9wZXJhbmQpLCBzY29wZSkpOwogfQotCisgICAgCiBM
TElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfbmV3X2Z1bmNfZXhwKQogewotICAgIExMSU5U
X0JFR0lOKCk7Ci0gICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVjLT5jb2RlQmxvY2soKTsK
LSAgICBKU1Njb3BlKiBzY29wZSA9IGV4ZWMtPnVuY2hlY2tlZFIocGNbMl0udS5vcGVyYW5kKS5S
ZWdpc3Rlcjo6c2NvcGUoKTsKLSAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmN0aW9uID0gY29k
ZUJsb2NrLT5mdW5jdGlvbkV4cHIocGNbM10udS5vcGVyYW5kKTsKLSAgICBKU0Z1bmN0aW9uKiBm
dW5jID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBmdW5jdGlvbiwgc2NvcGUpOwotICAgIAorICAg
IExMSU5UX0NBTENfUFJPUEVSVFlfRk9SX0ZVTkNfRVhQUigpOworCisgICAgSlNGdW5jdGlvbiog
ZnVuYyA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgZXhlY3V0YWJsZSwgc2NvcGUpOwogICAgIExM
SU5UX1JFVFVSTihmdW5jKTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCitMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKQor
eworICAgIExMSU5UX0NBTENfUFJPUEVSVFlfRk9SX0ZVTkNfRVhQUigpOworICAgIAorICAgIEpT
VmFsdWUgdGhpc1ZhbHVlID0gTExJTlRfT1BfQyg0KS5qc1ZhbHVlKCk7CisgICAgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCA9IGV4ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKKyAg
ICAKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUodm0sIHNj
b3BlLCBleGVjdXRhYmxlLCBnbG9iYWxPYmplY3QpOworICAgIAorICAgIEpTQXJyYXkqIGJvdW5k
QXJncyA9IEpTQXJyYXk6OnRyeUNyZWF0ZVVuaW5pdGlhbGl6ZWQodm0sIGdsb2JhbE9iamVjdC0+
YXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5cGVEdXJpbmdBbGxvY2F0aW9uKEFycmF5V2l0aFVu
ZGVjaWRlZCksIDApOworICAgIAorICAgIGNvbnN0IFN0cmluZyBmdW5jV2l0aG91dE5hbWUgPSAi
IjsKKyAgICAKKyAgICBMTElOVF9SRVRVUk4oSlNCb3VuZEZ1bmN0aW9uOjpjcmVhdGUodm0sIGds
b2JhbE9iamVjdCwgZnVuYywgdGhpc1ZhbHVlLCBib3VuZEFyZ3MsIDAsIGZ1bmNXaXRob3V0TmFt
ZSkpOworfQorI2VuZGlmCisKIHN0YXRpYyBTbG93UGF0aFJldHVyblR5cGUgaGFuZGxlSG9zdENh
bGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBJbnN0cnVjdGlvbiogcGMsIEpTVmFsdWUgY2FsbGVl
LCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGtpbmQpCiB7CiAgICAgVU5VU0VEX1BBUkFNKHBjKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgKaW5kZXggNGJm
N2RlYjBmYTBiNmM2NDM4ZTM2Zjk2MzIwZTJmNjY5NzM5YWY2NC4uYzdmYWI5NjkxYzE4YjkzOTU2
ZDBlYTI5ZjMzOTU2MTE4YzVlNzFlZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xMSW50U2xvd1BhdGhzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xMSW50U2xvd1BhdGhzLmgKQEAgLTk2LDYgKzk2LDcgQEAgTExJTlRfU0xPV19QQVRIX0hJRERF
Tl9ERUNMKHNsb3dfcGF0aF9zd2l0Y2hfY2hhcik7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RF
Q0woc2xvd19wYXRoX3N3aXRjaF9zdHJpbmcpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNM
KHNsb3dfcGF0aF9uZXdfZnVuYyk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19w
YXRoX25ld19mdW5jX2V4cCk7CitMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRo
X25ld19hcnJvd19mdW5jX2V4cCk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19w
YXRoX2NhbGwpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9jb25zdHJ1
Y3QpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9zaXplX2ZyYW1lX2Zv
cl92YXJhcmdzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbQppbmRleCBmZGE5MWVkNTk5MGNiNmU0ZjJjYjc4YWE2YTRiMmQ4YzJj
MGM0NzJhLi44MjI3MTM0OTgyZGI3NTgxZGM4YTIyNWNkNDIzMjgyMDA5MmZiNzNlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20K
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
CkBAIC0xMTcxLDYgKzExNzEsMTAgQEAgX2xsaW50X29wX25ld19mdW5jX2V4cDoKICAgICBjYWxs
U2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9uZXdfZnVuY19leHApCiAgICAgZGlzcGF0Y2goNCkK
IAorX2xsaW50X29wX25ld19hcnJvd19mdW5jX2V4cDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisg
ICAgY2FsbFNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKQorICAg
IGRpc3BhdGNoKDUpCiAKIF9sbGludF9vcF9jYWxsOgogICAgIHRyYWNlRXhlY3V0aW9uKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKaW5kZXggYjhmZTRiODQ4NWEw
OTc2ODhmNWM2MzBiZDhjM2M5Njc2NGZjNDY0OS4uY2I4ZTBkYzFkZGJlYzc1ODY2MzVlMWI0MzQy
YzllNTVjNjYxNGUyMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9B
U1RCdWlsZGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVy
LmgKQEAgLTMxMyw2ICszMTMsMTkgQEAgcHVibGljOgogICAgICAgICAgICAgaW5TdHJpY3RDb250
ZXh0LCBjb25zdHJ1Y3RvcktpbmQpOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgRXhwcmVzc2lvbk5vZGUqIGNyZWF0ZUFycm93RnVuY3Rpb25FeHBy
KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5m
bzxBU1RCdWlsZGVyPiYgaW5mbykKKyAgICB7CisgICAgICAgIFNvdXJjZUNvZGUgc291cmNlID0g
aW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9u
CisgICAgICAgID8gbV9zb3VyY2VDb2RlLT5zdWJBcnJvd0V4cHJlc3Npb24oaW5mby5hcnJvd0Z1
bmN0aW9uT2Zmc2V0LCBpbmZvLmNsb3NlQnJhY2VPZmZzZXQsIGluZm8uYm9keVN0YXJ0TGluZSwg
aW5mby5ib2R5U3RhcnRDb2x1bW4pCisgICAgICAgIDogbV9zb3VyY2VDb2RlLT5zdWJFeHByZXNz
aW9uKGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBpbmZvLmNsb3NlQnJhY2VPZmZzZXQsIGluZm8uYm9k
eVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1bW4pOworCisgICAgICAgIEFycm93RnVuY0V4
cHJOb2RlKiByZXN1bHQgPSBuZXcgKG1fcGFyc2VyQXJlbmEpIEFycm93RnVuY0V4cHJOb2RlKGxv
Y2F0aW9uLCAqaW5mby5uYW1lLCBpbmZvLmJvZHksIHNvdXJjZSwgaW5mby5wYXJhbWV0ZXJzKTsK
KyAgICAgICAgaW5mby5ib2R5LT5zZXRMb2MoaW5mby5ib2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlF
bmRMaW5lLCBsb2NhdGlvbi5zdGFydE9mZnNldCwgbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0KTsK
KyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisjZW5kaWYKKwogICAgIE5FVkVSX0lOTElO
RSBQcm9wZXJ0eU5vZGUqIGNyZWF0ZUdldHRlck9yU2V0dGVyUHJvcGVydHkoY29uc3QgSlNUb2tl
bkxvY2F0aW9uJiBsb2NhdGlvbiwgUHJvcGVydHlOb2RlOjpUeXBlIHR5cGUsIGJvb2wsCiAgICAg
ICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RC
dWlsZGVyPiYgaW5mbywgU3VwZXJCaW5kaW5nIHN1cGVyQmluZGluZykKICAgICB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCmluZGV4IDdkZTE0MjIwYmJkYTcyNzM4YjU3M2E0
Yjk3ODhjZTBiMzJjYzdjZTMuLjU0MGY5ZmZiN2JiNTE4MjlkNjdkZWVkZWM1ZTZhOGVkNTFjYzQ0
MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCkBAIC0xNDMwLDYgKzE0
MzAsMTggQEAgYm9vbCBMZXhlcjxUPjo6bmV4dFRva2VuSXNDb2xvbigpCiAgICAgcmV0dXJuIGNv
ZGUgPCBtX2NvZGVFbmQgJiYgKmNvZGUgPT0gJzonOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgordm9pZCBMZXhlcjxUPjo6
c2V0VG9rZW5Qb3NpdGlvbihKU1Rva2VuKiB0b2tlblJlY29yZCkKK3sKKyAgICBKU1Rva2VuRGF0
YSogdG9rZW5EYXRhID0gJnRva2VuUmVjb3JkLT5tX2RhdGE7CisgICAgdG9rZW5EYXRhLT5saW5l
ID0gbGluZU51bWJlcigpOworICAgIHRva2VuRGF0YS0+b2Zmc2V0ID0gY3VycmVudE9mZnNldCgp
OworICAgIHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVTdGFydE9mZnNl
dCgpOworICAgIEFTU0VSVCh0b2tlbkRhdGEtPm9mZnNldCA+PSB0b2tlbkRhdGEtPmxpbmVTdGFy
dE9mZnNldCk7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CiBKU1Rva2VuVHlw
ZSBMZXhlcjxUPjo6bGV4KEpTVG9rZW4qIHRva2VuUmVjb3JkLCB1bnNpZ25lZCBsZXhlckZsYWdz
LCBib29sIHN0cmljdE1vZGUpCiB7CkBAIC0xNDkzLDcgKzE1MDUsMTIgQEAgc3RhcnQ6CiAgICAg
ICAgIH0KICAgICAgICAgdG9rZW4gPSBHVDsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBDaGFy
YWN0ZXJFcXVhbDoKKyAgICBjYXNlIENoYXJhY3RlckVxdWFsOiB7CisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdWludDMyX3Qgc2F2ZWRsaW5lTnVtYmVyID0g
dG9rZW5EYXRhLT5saW5lOworICAgICAgICB1aW50MzJfdCBzYXZlZE9mZnNldCA9IGN1cnJlbnRP
ZmZzZXQoKTsKKyAgICAgICAgdWludDMyX3Qgc2F2ZWRMaW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50
TGluZVN0YXJ0T2Zmc2V0KCk7CisjZW5kaWYKICAgICAgICAgc2hpZnQoKTsKICAgICAgICAgaWYg
KG1fY3VycmVudCA9PSAnPScpIHsKICAgICAgICAgICAgIHNoaWZ0KCk7CkBAIC0xNTA1LDggKzE1
MjIsMjIgQEAgc3RhcnQ6CiAgICAgICAgICAgICB0b2tlbiA9IEVRRVE7CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJz4nKSB7CisgICAgICAgICAgICBzaGlmdCgpOworICAg
ICAgICAgICAgdG9rZW4gPSBBUlJPV0ZVTkNUSU9OOworCisgICAgICAgICAgICB0b2tlbkRhdGEt
PmxpbmUgPSBzYXZlZGxpbmVOdW1iZXI7CisgICAgICAgICAgICB0b2tlbkRhdGEtPm9mZnNldCA9
IHNhdmVkT2Zmc2V0OworICAgICAgICAgICAgdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQgPSBz
YXZlZExpbmVTdGFydE9mZnNldDsKKworICAgICAgICAgICAgQVNTRVJUKHRva2VuRGF0YS0+b2Zm
c2V0ID49IHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0KTsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICB9CisjZW5kaWYKICAgICAgICAgdG9rZW4gPSBFUVVBTDsKICAgICAgICAgYnJlYWs7
CisgICAgfQogICAgIGNhc2UgQ2hhcmFjdGVyTGVzczoKICAgICAgICAgc2hpZnQoKTsKICAgICAg
ICAgaWYgKG1fY3VycmVudCA9PSAnIScgJiYgcGVlaygxKSA9PSAnLScgJiYgcGVlaygyKSA9PSAn
LScpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAppbmRleCAyZGY1MjEzOTk1Nzgy
MDA3ODVhMTY2ZTIyYTczMjc1ZTBlYTYzMDRkLi5jYjNmMjVmN2MwOGY4MjU4MWFmMmNlOGZhOTk5
OTdmYWRlMDc2NmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xl
eGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCkBAIC04NSw2
ICs4NSw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldElzUmVwYXJzaW5nKCkgeyBtX2lzUmVwYXJz
aW5nID0gdHJ1ZTsgfQogICAgIGJvb2wgaXNSZXBhcnNpbmcoKSBjb25zdCB7IHJldHVybiBtX2lz
UmVwYXJzaW5nOyB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
IHZvaWQgc2V0VG9rZW5Qb3NpdGlvbihKU1Rva2VuKiB0b2tlblJlY29yZCk7CisjZW5kaWYKICAg
ICBKU1Rva2VuVHlwZSBsZXgoSlNUb2tlbiosIHVuc2lnbmVkLCBib29sIHN0cmljdE1vZGUpOwog
ICAgIGJvb2wgbmV4dFRva2VuSXNDb2xvbigpOwogICAgIGludCBsaW5lTnVtYmVyKCkgY29uc3Qg
eyByZXR1cm4gbV9saW5lTnVtYmVyOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvTm9kZUNvbnN0cnVjdG9ycy5oCmluZGV4IDNiZGFiNjFhNTIyZTBjZTJjMzM5N2Y4MGY0ZmEx
ODRkMWQ0MjE2MGUuLmI1OGUxZmUxYWY5MGU2NjBiMDg0MmVhN2U5OWYwN2FlNmFjYmI5NWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCkBA
IC03ODEsNiArNzgxLDEzIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBtX2JvZHktPmZpbmlz
aFBhcnNpbmcoc291cmNlLCBwYXJhbWV0ZXIsIGlkZW50LCBGdW5jdGlvbkV4cHJlc3Npb24pOwog
ICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaW5saW5l
IEFycm93RnVuY0V4cHJOb2RlOjpBcnJvd0Z1bmNFeHByTm9kZShjb25zdCBKU1Rva2VuTG9jYXRp
b24mIGxvY2F0aW9uLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgRnVuY3Rpb25Cb2R5Tm9kZSog
Ym9keSwgY29uc3QgU291cmNlQ29kZSYgc291cmNlLCBQYXJhbWV0ZXJOb2RlKiBwYXJhbWV0ZXIp
CisgICAgICAgIDogRnVuY0V4cHJOb2RlKGxvY2F0aW9uLCBpZGVudCwgYm9keSwgc291cmNlLCBw
YXJhbWV0ZXIpCisgICAgeworICAgIH0KKyNlbmRpZgorICAgIAogICAgIGlubGluZSBGdW5jRGVj
bE5vZGU6OkZ1bmNEZWNsTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25z
dCBJZGVudGlmaWVyJiBpZGVudCwgRnVuY3Rpb25Cb2R5Tm9kZSogYm9keSwgY29uc3QgU291cmNl
Q29kZSYgc291cmNlLCBQYXJhbWV0ZXJOb2RlKiBwYXJhbWV0ZXIpCiAgICAgICAgIDogU3RhdGVt
ZW50Tm9kZShsb2NhdGlvbikKICAgICAgICAgLCBtX2JvZHkoYm9keSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTm9kZXMuaAppbmRleCA2YjM3MzI5YzA5YmZjNDJiZWNjYzNjYWE5ODM1OTdjMzU0
MDJiNmM5Li41Yjc3NDFlMWNjYzhkNTE1ZmYxNGMxNTMxNzJkN2JkYTA1M2Y1ODY4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCkBAIC0xNTgsNiArMTU4LDkgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0RvdEFjY2Vzc29yTm9kZSgpIGNvbnN0IHsg
cmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0RlY29uc3RydWN0aW9uTm9k
ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Z1bmNF
eHByTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdmlydHVhbCBib29sIGlzQXJyb3dGdW5jRXhwck5vZGUo
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorI2VuZGlmCiAgICAgICAgIHZpcnR1YWwgYm9vbCBp
c0NvbW1hTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwgYm9v
bCBpc1NpbXBsZUFycmF5KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVh
bCBib29sIGlzQWRkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KQEAgLTE2NTIsNiArMTY1NSwx
OSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgRnVuY3Rpb25Cb2R5Tm9kZSogbV9ib2R5Owog
ICAgIH07CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNsYXNz
IEFycm93RnVuY0V4cHJOb2RlIDogcHVibGljIEZ1bmNFeHByTm9kZSB7CisgICAgcHVibGljOgor
ICAgICAgICBBcnJvd0Z1bmNFeHByTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBJ
ZGVudGlmaWVyJiwgRnVuY3Rpb25Cb2R5Tm9kZSosIGNvbnN0IFNvdXJjZUNvZGUmLCBQYXJhbWV0
ZXJOb2RlKiA9IDApOworICAgIHByaXZhdGU6CisgICAgICAgIHZpcnR1YWwgUmVnaXN0ZXJJRCog
ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiwgUmVnaXN0ZXJJRCogPSAwKSBvdmVycmlk
ZTsKKyAgICAgICAgCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Z1bmNFeHByTm9kZSgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgICAgIAorICAgICAgICB2aXJ0dWFsIGJv
b2wgaXNBcnJvd0Z1bmNFeHByTm9kZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0K
KyAgICB9OworI2VuZGlmCisKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICBjbGFz
cyBDbGFzc0V4cHJOb2RlIGZpbmFsIDogcHVibGljIEV4cHJlc3Npb25Ob2RlIHsKICAgICBwdWJs
aWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKaW5kZXggNWY0NDgwYjQ5
Y2FkNWQ0OTE1NmM2MjVmYTQ4NGFmN2ExZGM4YjNjZi4uYTY5ZDQxYzY4MGVkZjRmM2RlOGYwZDdh
ZDUyYjYxYzFkMDJiY2RhYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNw
cApAQCAtMzI5LDggKzMyOSwxMyBAQCBib29sIFBhcnNlcjxMZXhlclR5cGU+OjphbGxvd0F1dG9t
YXRpY1NlbWljb2xvbigpCiAgICAgcmV0dXJuIG1hdGNoKENMT1NFQlJBQ0UpIHx8IG1hdGNoKEVP
RlRPSykgfHwgbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKTsKIH0KIAorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZUVs
ZW1lbnRzTW9kZSBtb2RlLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSkKKyNl
bHNlCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291cmNl
RWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZUVsZW1lbnRzTW9kZSBtb2RlKQor
I2VuZGlmCiB7CiAgICAgY29uc3QgdW5zaWduZWQgbGVuZ3RoT2ZVc2VTdHJpY3RMaXRlcmFsID0g
MTI7IC8vICJ1c2Ugc3RyaWN0Ii5sZW5ndGgKICAgICBUcmVlU291cmNlRWxlbWVudHMgc291cmNl
RWxlbWVudHMgPSBjb250ZXh0LmNyZWF0ZVNvdXJjZUVsZW1lbnRzKCk7CkBAIC0zMzksNyArMzQ0
LDExIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsCiAgICAgdW5zaWduZWQgZGlyZWN0aXZlTGl0
ZXJhbExlbmd0aCA9IDA7CiAgICAgYXV0byBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsK
ICAgICBib29sIGhhc1NldFN0cmljdCA9IGZhbHNlOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgd2hpbGUgKFRyZWVTdGF0ZW1lbnQgc3RhdGVtZW50ID0gcGFyc2VT
dGF0ZW1lbnQoY29udGV4dCwgZGlyZWN0aXZlLCAmZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCwgZnVu
Y3Rpb25QYXJzZVR5cGUpKSB7CisjZWxzZQogICAgIHdoaWxlIChUcmVlU3RhdGVtZW50IHN0YXRl
bWVudCA9IHBhcnNlU3RhdGVtZW50KGNvbnRleHQsIGRpcmVjdGl2ZSwgJmRpcmVjdGl2ZUxpdGVy
YWxMZW5ndGgpKSB7CisjZW5kaWYKICAgICAgICAgaWYgKG1vZGUgPT0gQ2hlY2tGb3JTdHJpY3RN
b2RlICYmICFzZWVuTm9uRGlyZWN0aXZlKSB7CiAgICAgICAgICAgICBpZiAoZGlyZWN0aXZlKSB7
CiAgICAgICAgICAgICAgICAgLy8gInVzZSBzdHJpY3QiIG11c3QgYmUgdGhlIGV4YWN0IGxpdGVy
YWwgd2l0aG91dCBlc2NhcGUgc2VxdWVuY2VzIG9yIGxpbmUgY29udGludWF0aW9uLgpAQCAtNTcx
LDYgKzU4MCwzMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVEZWNvbnN0cnVj
dGlvblBhdHRlcm4gUGFyc2VyPExleGVyVHlwZT46OmNyZWF0ZQogICAgIHJldHVybiBjb250ZXh0
LmNyZWF0ZUJpbmRpbmdMb2NhdGlvbih0b2tlbi5tX2xvY2F0aW9uLCBuYW1lLCB0b2tlbi5tX3N0
YXJ0UG9zaXRpb24sIHRva2VuLm1fZW5kUG9zaXRpb24pOwogfQogCisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlQXJyb3dGdW5jdGlvblN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAg
ICBBU1NFUlQobWF0Y2goQVJST1dGVU5DVElPTikpOworCisgICAgSlNUb2tlbkxvY2F0aW9uIGxv
Y2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CisgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tl
blN0YXJ0UG9zaXRpb24oKTsKKyAgICBKU1RleHRQb3NpdGlvbiBlbmQgPSB0b2tlbkVuZFBvc2l0
aW9uKCk7CisKKyAgICBuZXh0KCk7CisgICAgVHJlZUV4cHJlc3Npb24gZXhwciA9IHBhcnNlQXJy
b3dGdW5jdGlvbkV4cHJlc3Npb24oY29udGV4dCk7CisgICAgZmFpbElmRmFsc2UoZXhwciwgIkNh
bm5vdCBwYXJzZSB0aGUgYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgIGVuZCA9IGxh
c3RUb2tlbkVuZFBvc2l0aW9uKCk7CisKKyAgICBib29sIGNvcnJlY0Fycm93RmluaXNoID0gaXNF
bmRPZkFycm93RnVuY3Rpb24oKSB8fCBtYXRjaChFT0ZUT0spOworICAgIGZhaWxJZkZhbHNlKGNv
cnJlY0Fycm93RmluaXNoLCAiRXhwZWN0ZWQgYSAnOycsICddJywgJ30nLCAnKScsIG9yICcsJyBm
b2xsb3dpbmcgYSBhcnJvdyBmdW5jdGlvbiBzdGF0ZW1lbnQiKTsKKworICAgIGVuZCA9IHRva2Vu
RW5kUG9zaXRpb24oKTsKKyAgICBzZXRFbmRPZlN0YXRlbWVudCgpOworCisgICAgcmV0dXJuIGNv
bnRleHQuY3JlYXRlUmV0dXJuU3RhdGVtZW50KGxvY2F0aW9uLCBleHByLCBzdGFydCwgZW5kKTsK
K30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIFBhcnNlcjxMZXhlclR5
cGU+Ojp0cnlQYXJzZURlY29uc3RydWN0aW9uUGF0dGVybkV4cHJlc3Npb24oVHJlZUJ1aWxkZXIm
IGNvbnRleHQpCiB7CkBAIC0xMTQ0LDggKzExNzgsMTMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUJsb2NrU3RhdGVt
ZW4KICAgICByZXR1cm4gcmVzdWx0OwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVt
ZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1
bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCwgRnVuY3Rpb25QYXJzZVR5cGUgdHlwZSkK
KyNlbHNlCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVu
dChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5z
aWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgpCisjZW5kaWYKIHsKICAgICBEZXB0aE1hbmFn
ZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50RGVwdGgpOwogICAgIG1fc3RhdGVtZW50RGVw
dGgrKzsKQEAgLTExNTQsNiArMTE5MywyNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAg
IGZhaWxJZlN0YWNrT3ZlcmZsb3coKTsKICAgICBUcmVlU3RhdGVtZW50IHJlc3VsdCA9IDA7CiAg
ICAgYm9vbCBzaG91bGRTZXRFbmRPZmZzZXQgPSB0cnVlOworCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBib29sIGhhbmRsZWQgPSBmYWxzZTsKKyAgICBpZiAodHlw
ZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIHN3aXRjaCAobV90b2tlbi5t
X3R5cGUpIHsKKyAgICAgICAgY2FzZSBDTE9TRVBBUkVOOgorICAgICAgICBjYXNlIENMT1NFQlJB
Q0tFVDoKKyAgICAgICAgY2FzZSBDT01NQToKKyAgICAgICAgY2FzZSBTRU1JQ09MT046IHsKKyAg
ICAgICAgICAgIHJlc3VsdCA9IDA7CisgICAgICAgICAgICBoYW5kbGVkID0gdHJ1ZTsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChoYW5kbGVkKQorICAgICAgICAgICAgZ290
byBlbmRTdGF0ZW1lbmV0OworICAgIH0KKyNlbmRpZgogICAgIHN3aXRjaCAobV90b2tlbi5tX3R5
cGUpIHsKICAgICBjYXNlIE9QRU5CUkFDRToKICAgICAgICAgcmVzdWx0ID0gcGFyc2VCbG9ja1N0
YXRlbWVudChjb250ZXh0KTsKQEAgLTExOTksNiArMTI1OSwxMSBAQCB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVt
ZW50KFRyZQogICAgIGNhc2UgQlJFQUs6CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlQnJlYWtTdGF0
ZW1lbnQoY29udGV4dCk7CiAgICAgICAgIGJyZWFrOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgY2FzZSBBUlJPV0ZVTkNUSU9OOgorICAgICAgICByZXN1bHQgPSBw
YXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoY29udGV4dCk7CisgICAgICAgIGJyZWFrOworI2Vu
ZGlmCiAgICAgY2FzZSBSRVRVUk46CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlUmV0dXJuU3RhdGVt
ZW50KGNvbnRleHQpOwogICAgICAgICBicmVhazsKQEAgLTEyNDAsNiArMTMwNSw4IEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAorZW5kU3RhdGVtZW5l
dDoKKwogICAgIGlmIChyZXN1bHQgJiYgc2hvdWxkU2V0RW5kT2Zmc2V0KQogICAgICAgICBjb250
ZXh0LnNldEVuZE9mZnNldChyZXN1bHQsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ub2Zmc2V0KTsK
ICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTI2MCwyMyArMTMyNyw0NCBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0IFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZUZvcgogICAgIHJldHVybiBsaXN0OwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGdW5jdGlvbkJvZHkgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlRnVuY3Rpb25Cb2R5KAogICAgIFRyZWVCdWlsZGVyJiBjb250ZXh0LCBpbnQgZnVuY3Rpb25L
ZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwgCisgICAgaW50IHBhcmFtZXRlcnNT
dGFydCwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCwgRnVuY3Rpb25QYXJzZVR5cGUg
cGFyc2VUeXBlKQorI2Vsc2UKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGdW5jdGlvbkJvZHkgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlRnVuY3Rpb25Cb2R5KAorICAgIFRyZWVCdWlsZGVyJiBjb250ZXh0LCBpbnQgZnVuY3Rp
b25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwKICAgICBpbnQgcGFyYW1ldGVy
c1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kKQorI2VuZGlmCiB7CiAgICAg
SlNUb2tlbkxvY2F0aW9uIHN0YXJ0TG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKICAgICB1bnNp
Z25lZCBzdGFydENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBlID09IFN0YW5kYXJkRnVuY3Rpb25QYXJz
ZVR5cGUpIHsKKyAgICAgICAgbmV4dCgpOworICAgICAgICBpZiAobWF0Y2goQ0xPU0VCUkFDRSkp
IHsKKyAgICAgICAgICAgIHVuc2lnbmVkIGVuZENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CisgICAg
ICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwg
dG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBmdW5jdGlvbktleXdvcmRT
dGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgc3RyaWN0TW9kZSgpLCBj
b25zdHJ1Y3RvcktpbmQpOworICAgICAgICB9CisgICAgfQorI2Vsc2UKICAgICBuZXh0KCk7Ci0K
ICAgICBpZiAobWF0Y2goQ0xPU0VCUkFDRSkpIHsKICAgICAgICAgdW5zaWduZWQgZW5kQ29sdW1u
ID0gdG9rZW5Db2x1bW4oKTsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25C
b2R5KHN0YXJ0TG9jYXRpb24sIHRva2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1bW4sIGVuZENvbHVt
biwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3Rh
cnQsIHN0cmljdE1vZGUoKSwgY29uc3RydWN0b3JLaW5kKTsKICAgICB9CisjZW5kaWYKKwogICAg
IERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7CiAgICAgbV9z
dGF0ZW1lbnREZXB0aCA9IDA7CiAgICAgdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkZ1bmN0aW9uQm9k
eUJ1aWxkZXIgYm9keUJ1aWxkZXIoY29uc3RfY2FzdDxWTSo+KG1fdm0pLCBtX2xleGVyLmdldCgp
KTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGZhaWxJZkZhbHNl
KHBhcnNlU291cmNlRWxlbWVudHMoYm9keUJ1aWxkZXIsIENoZWNrRm9yU3RyaWN0TW9kZSwgcGFy
c2VUeXBlKSwgcGFyc2VUeXBlID09IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUgPyAiQ2Fubm90
IHBhcnNlIGJvZHkgb2YgdGhpcyBmdW5jdGlvbiIgOiAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhp
cyBhcnJvdyBmdW5jdGlvbiIpOworI2Vsc2UKICAgICBmYWlsSWZGYWxzZShwYXJzZVNvdXJjZUVs
ZW1lbnRzKGJvZHlCdWlsZGVyLCBDaGVja0ZvclN0cmljdE1vZGUpLCAiQ2Fubm90IHBhcnNlIGJv
ZHkgb2YgdGhpcyBmdW5jdGlvbiIpOworI2VuZGlmCiAgICAgdW5zaWduZWQgZW5kQ29sdW1uID0g
dG9rZW5Db2x1bW4oKTsKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3Rh
cnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBmdW5j
dGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgc3Ry
aWN0TW9kZSgpLCBjb25zdHJ1Y3RvcktpbmQpOwogfQpAQCAtMTI5Nyw2MCArMTM4NSwxMDMgQEAg
c3RhdGljIGNvbnN0IGNoYXIqIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShGdW5jdGlvblBhcnNlTW9k
ZSBtb2RlKQogICAgIHJldHVybiBudWxscHRyOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25J
bmZvKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblJlcXVpcmVtZW50cyByZXF1aXJlbWVu
dHMsIEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUsCisgICAgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdT
Y29wZSwgQ29uc3RydWN0b3JLaW5kIG93bmVyQ2xhc3NLaW5kLCBpbnQgZnVuY3Rpb25LZXl3b3Jk
U3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mIGluZm8sIEZ1bmN0aW9uUGFy
c2VUeXBlIHBhcnNlVHlwZSkKKyNlbHNlCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgog
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMg
cmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLAogICAgIGJvb2wgbmFtZUlzSW5D
b250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCBvd25lckNsYXNzS2luZCwgaW50IGZ1bmN0
aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvKQor
I2VuZGlmCiB7CiAgICAgQXV0b1BvcFNjb3BlUmVmIGZ1bmN0aW9uU2NvcGUodGhpcywgcHVzaFNj
b3BlKCkpOwogICAgIGZ1bmN0aW9uU2NvcGUtPnNldElzRnVuY3Rpb24oKTsKICAgICBpbnQgZnVu
Y3Rpb25OYW1lU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CiAgICAgY29u
c3QgSWRlbnRpZmllciogbGFzdEZ1bmN0aW9uTmFtZSA9IG1fbGFzdEZ1bmN0aW9uTmFtZTsKICAg
ICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBudWxscHRyOwotICAgIGlmIChtYXRjaChJREVOVCkpIHsK
LSAgICAgICAgaW5mby5uYW1lID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7Ci0gICAgICAgIG1fbGFz
dEZ1bmN0aW9uTmFtZSA9IGluZm8ubmFtZTsKLSAgICAgICAgbmV4dCgpOwotICAgICAgICBpZiAo
IW5hbWVJc0luQ29udGFpbmluZ1Njb3BlKQotICAgICAgICAgICAgZmFpbElmRmFsc2VJZlN0cmlj
dChmdW5jdGlvblNjb3BlLT5kZWNsYXJlVmFyaWFibGUoaW5mby5uYW1lKSwgIiciLCBpbmZvLm5h
bWUtPmltcGwoKSwgIicgaXMgbm90IGEgdmFsaWQgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1v
ZGUpLCAiIG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsKLSAgICB9IGVsc2UgaWYgKHJlcXVpcmVtZW50
cyA9PSBGdW5jdGlvbk5lZWRzTmFtZSkgeworICAgIGludCBwYXJhbWV0ZXJzU3RhcnQ7CisgICAg
Ym9vbCBpc0NsYXNzQ29uc3RydWN0b3I7CisgICAgCisgICAgaWYgKHBhcnNlVHlwZSA9PSBTdGFu
ZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIGlmIChtYXRjaChJREVOVCkpIHsKKyAg
ICAgICAgICAgIGluZm8ubmFtZSA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OworICAgICAgICAgICAg
bV9sYXN0RnVuY3Rpb25OYW1lID0gaW5mby5uYW1lOworICAgICAgICAgICAgbmV4dCgpOworICAg
ICAgICAgICAgaWYgKCFuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSkKKyAgICAgICAgICAgICAgICBm
YWlsSWZGYWxzZUlmU3RyaWN0KGZ1bmN0aW9uU2NvcGUtPmRlY2xhcmVWYXJpYWJsZShpbmZvLm5h
bWUpLCAiJyIsIGluZm8ubmFtZS0+aW1wbCgpLCAiJyBpcyBub3QgYSB2YWxpZCAiLCBzdHJpbmdG
b3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSBpbiBzdHJpY3QgbW9kZSIpOworICAgICAgICB9
IGVsc2UgaWYgKHJlcXVpcmVtZW50cyA9PSBGdW5jdGlvbk5lZWRzTmFtZSkgewogICAgICAgICBp
ZiAobWF0Y2goT1BFTlBBUkVOKSAmJiBtb2RlID09IEZ1bmN0aW9uTW9kZSkKICAgICAgICAgICAg
IHNlbWFudGljRmFpbCgiRnVuY3Rpb24gc3RhdGVtZW50cyBtdXN0IGhhdmUgYSBuYW1lIik7Ci0g
ICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5jdGlvbk1vZGUo
bW9kZSksICIgbmFtZSIpOwotICAgICAgICBmYWlsRHVlVG9VbmV4cGVjdGVkVG9rZW4oKTsKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0ID0gbV90
b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OwotICAgIGlmICghY29uc3VtZShPUEVOUEFSRU4p
KSB7Ci0gICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5jdGlv
bk1vZGUobW9kZSksICIgbmFtZSIpOwotICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVk
IGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwg
IidzIHBhcmFtZXRlciBsaXN0Iik7Ci0gICAgfQotCi0gICAgaWYgKG1vZGUgPT0gR2V0dGVyTW9k
ZSkKLSAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiZ2V0dGVyIGZ1bmN0aW9ucyBt
dXN0IGhhdmUgbm8gcGFyYW1ldGVycyIpOwotICAgIGVsc2UgaWYgKG1vZGUgPT0gU2V0dGVyTW9k
ZSkgewotICAgICAgICBmYWlsSWZUcnVlKG1hdGNoKENMT1NFUEFSRU4pLCAic2V0dGVyIGZ1bmN0
aW9ucyBtdXN0IGhhdmUgb25lIHBhcmFtZXRlciIpOwotICAgICAgICBhdXRvIHBhcmFtZXRlciA9
IHBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuKGNvbnRleHQsIERlY29uc3RydWN0VG9QYXJhbWV0
ZXJzKTsKLSAgICAgICAgZmFpbElmRmFsc2UocGFyYW1ldGVyLCAic2V0dGVyIGZ1bmN0aW9ucyBt
dXN0IGhhdmUgb25lIHBhcmFtZXRlciIpOwotICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBjb250
ZXh0LmNyZWF0ZUZvcm1hbFBhcmFtZXRlckxpc3QocGFyYW1ldGVyKTsKLSAgICAgICAgZmFpbElm
VHJ1ZShtYXRjaChDT01NQSksICJzZXR0ZXIgZnVuY3Rpb25zIG11c3QgaGF2ZSBvbmUgcGFyYW1l
dGVyIik7Ci0gICAgICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJFTiwgIkV4cGVjdGVkIGEgJykn
IGFmdGVyIGEgcGFyYW1ldGVyIGRlY2xhcmF0aW9uIik7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAg
aWYgKCFtYXRjaChDTE9TRVBBUkVOKSkgewotICAgICAgICAgICAgaW5mby5wYXJhbWV0ZXJzID0g
cGFyc2VGb3JtYWxQYXJhbWV0ZXJzKGNvbnRleHQpOwotICAgICAgICAgICAgZmFpbElmRmFsc2Uo
aW5mby5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3Ry
aW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAgICAgICAgIHNlbWFudGljRmFpbHVyZUR1
ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSIpOworICAgICAg
ICAgICAgZmFpbER1ZVRvVW5leHBlY3RlZFRva2VuKCk7CisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgICAgIH0KKyAgICAgICAgcGFyYW1ldGVyc1N0YXJ0ID0gbV90b2tlbi5tX2xvY2F0
aW9uLnN0YXJ0T2Zmc2V0OworICAgICAgICAKKyAgICAgICAgaWYgKCFjb25zdW1lKE9QRU5QQVJF
TikpIHsKKyAgICAgICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JG
dW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSIpOworICAgICAgICAgICAgZmFpbFdpdGhNZXNzYWdl
KCJFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1v
ZGUobW9kZSksICIncyBwYXJhbWV0ZXIgbGlzdCIpOwogICAgICAgICB9Ci0gICAgICAgIGNvbnN1
bWVPckZhaWwoQ0xPU0VQQVJFTiwgIkV4cGVjdGVkIGEgJyknIG9yIGEgJywnIGFmdGVyIGEgcGFy
YW1ldGVyIGRlY2xhcmF0aW9uIik7Ci0gICAgfQogCi0gICAgbWF0Y2hPckZhaWwoT1BFTkJSQUNF
LCAiRXhwZWN0ZWQgYW4gb3BlbmluZyAneycgYXQgdGhlIHN0YXJ0IG9mIGEgIiwgc3RyaW5nRm9y
RnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgaWYgKG1vZGUgPT0gR2V0dGVy
TW9kZSkKKyAgICAgICAgICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJFTiwgImdldHRlciBmdW5j
dGlvbnMgbXVzdCBoYXZlIG5vIHBhcmFtZXRlcnMiKTsKKyAgICAgICAgZWxzZSBpZiAobW9kZSA9
PSBTZXR0ZXJNb2RlKSB7CisgICAgICAgICAgICBmYWlsSWZUcnVlKG1hdGNoKENMT1NFUEFSRU4p
LCAic2V0dGVyIGZ1bmN0aW9ucyBtdXN0IGhhdmUgb25lIHBhcmFtZXRlciIpOworICAgICAgICAg
ICAgYXV0byBwYXJhbWV0ZXIgPSBwYXJzZURlY29uc3RydWN0aW9uUGF0dGVybihjb250ZXh0LCBE
ZWNvbnN0cnVjdFRvUGFyYW1ldGVycyk7CisgICAgICAgICAgICBmYWlsSWZGYWxzZShwYXJhbWV0
ZXIsICJzZXR0ZXIgZnVuY3Rpb25zIG11c3QgaGF2ZSBvbmUgcGFyYW1ldGVyIik7CisgICAgICAg
ICAgICBpbmZvLnBhcmFtZXRlcnMgPSBjb250ZXh0LmNyZWF0ZUZvcm1hbFBhcmFtZXRlckxpc3Qo
cGFyYW1ldGVyKTsKKyAgICAgICAgICAgIGZhaWxJZlRydWUobWF0Y2goQ09NTUEpLCAic2V0dGVy
IGZ1bmN0aW9ucyBtdXN0IGhhdmUgb25lIHBhcmFtZXRlciIpOworICAgICAgICAgICAgY29uc3Vt
ZU9yRmFpbChDTE9TRVBBUkVOLCAiRXhwZWN0ZWQgYSAnKScgYWZ0ZXIgYSBwYXJhbWV0ZXIgZGVj
bGFyYXRpb24iKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmICghbWF0Y2goQ0xP
U0VQQVJFTikpIHsKKyAgICAgICAgICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBwYXJzZUZvcm1h
bFBhcmFtZXRlcnMoY29udGV4dCk7CisgICAgICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5w
YXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9y
RnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGNvbnN1bWVP
ckZhaWwoQ0xPU0VQQVJFTiwgIkV4cGVjdGVkIGEgJyknIG9yIGEgJywnIGFmdGVyIGEgcGFyYW1l
dGVyIGRlY2xhcmF0aW9uIik7CisgICAgICAgIH0KIAotICAgIC8vIEJ5dGVjb2RlR2VuZXJhdG9y
IGVtaXRzIGNvZGUgdG8gdGhyb3cgVHlwZUVycm9yIHdoZW4gYSBjbGFzcyBjb25zdHJ1Y3RvciBp
cyAiY2FsbCJlZC4KLSAgICAvLyBTZXQgQ29uc3RydWN0b3JLaW5kIHRvIE5vbmUgZm9yIG5vbi1j
b25zdHJ1Y3RvciBtZXRob2RzIG9mIGNsYXNzZXMuCi0gICAgYm9vbCBpc0NsYXNzQ29uc3RydWN0
b3IgPSBtb2RlID09IE1ldGhvZE1vZGUgJiYgaW5mby5uYW1lICYmICppbmZvLm5hbWUgPT0gbV92
bS0+cHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3I7Ci0gICAgaWYgKG1fZGVmYXVsdENvbnN0cnVj
dG9yS2luZCAhPSBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUpIHsKLSAgICAgICAgb3duZXJDbGFzc0tp
bmQgPSBtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQ7Ci0gICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3Rv
ciA9IHRydWU7CisgICAgICAgIG1hdGNoT3JGYWlsKE9QRU5CUkFDRSwgIkV4cGVjdGVkIGFuIG9w
ZW5pbmcgJ3snIGF0IHRoZSBzdGFydCBvZiBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2Rl
KSwgIiBib2R5Iik7CisgICAgICAgIC8vIEJ5dGVjb2RlR2VuZXJhdG9yIGVtaXRzIGNvZGUgdG8g
dGhyb3cgVHlwZUVycm9yIHdoZW4gYSBjbGFzcyBjb25zdHJ1Y3RvciBpcyAiY2FsbCJlZC4KKyAg
ICAgICAgLy8gU2V0IENvbnN0cnVjdG9yS2luZCB0byBOb25lIGZvciBub24tY29uc3RydWN0b3Ig
bWV0aG9kcyBvZiBjbGFzc2VzLgorICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSBtb2RlID09
IE1ldGhvZE1vZGUgJiYgaW5mby5uYW1lICYmICppbmZvLm5hbWUgPT0gbV92bS0+cHJvcGVydHlO
YW1lcy0+Y29uc3RydWN0b3I7CisgICAgICAgIGlmIChtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQg
IT0gQ29uc3RydWN0b3JLaW5kOjpOb25lKSB7CisgICAgICAgICAgICBvd25lckNsYXNzS2luZCA9
IG1fZGVmYXVsdENvbnN0cnVjdG9yS2luZDsKKyAgICAgICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3Rv
ciA9IHRydWU7CisgICAgICAgIH0KICAgICB9CisgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5
cGUpIHsKKyAgICAgICAgcGFyYW1ldGVyc1N0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0
T2Zmc2V0OworICAgICAgICBpZiAoIW1hdGNoKElERU5UKSAmJiAhbWF0Y2goT1BFTlBBUkVOKSkg
eworICAgICAgICAgICAgc2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0
aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7CisgICAgICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4
cGVjdGVkIGFuIGFycm93IGZ1bmN0aW9uIGlucHV0IHBhcmFtZXRlciIpOworICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgICAgICAg
ICBjb25zdW1lKE9QRU5QQVJFTik7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAg
aWYgKCFtYXRjaChDTE9TRVBBUkVOKSkgeworICAgICAgICAgICAgICAgICAgICBpbmZvLnBhcmFt
ZXRlcnMgPSBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoY29udGV4dCk7CisgICAgICAgICAgICAgICAg
ICAgIGZhaWxJZkZhbHNlKGluZm8ucGFyYW1ldGVycywgIkNhbm5vdCBwYXJzZSBwYXJhbWV0ZXJz
IGZvciB0aGlzICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGNvbnN1bWVPckZhaWwoQ0xP
U0VQQVJFTiwgIkV4cGVjdGVkIGEgJyknIG9yIGEgJywnIGFmdGVyIGEgcGFyYW1ldGVyIGRlY2xh
cmF0aW9uIik7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGF1dG8gcGFy
YW1ldGVyID0gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oY29udGV4dCwgRGVjb25zdHJ1Y3RU
b1BhcmFtZXRlcnMpOworICAgICAgICAgICAgICAgIGZhaWxJZkZhbHNlKHBhcmFtZXRlciwgIkNh
bm5vdCBwYXJzZSBwYXJhbWV0ZXIgcGF0dGVybiIpOworICAgICAgICAgICAgICAgIGluZm8ucGFy
YW1ldGVycyA9IGNvbnRleHQuY3JlYXRlRm9ybWFsUGFyYW1ldGVyTGlzdChwYXJhbWV0ZXIpOwor
ICAgICAgICAgICAgICAgIGZhaWxJZkZhbHNlKGluZm8ucGFyYW1ldGVycywgIkNhbm5vdCBwYXJz
ZSBwYXJhbWV0ZXJzIGZvciB0aGlzICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIG1hdGNoT3JGYWlsKEFS
Uk9XRlVOQ1RJT04sICJFeHBlY3RlZCBhICc9PicgYWZ0ZXIgYXJyb3cgZnVuY3Rpb24gcGFyYW1l
dGVyIGRlY2xhcmF0aW9uIik7CisgICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IGZhbHNlOwor
ICAgICAgICAKKyAgICAgICAgaW5mby5hcnJvd0Z1bmN0aW9uT2Zmc2V0ID0gbV90b2tlbi5tX2Rh
dGEub2Zmc2V0OworICAgIH0KKyNlbmRpZgorICAgIAogICAgIENvbnN0cnVjdG9yS2luZCBjb25z
dHJ1Y3RvcktpbmQgPSBpc0NsYXNzQ29uc3RydWN0b3IgPyBvd25lckNsYXNzS2luZCA6IENvbnN0
cnVjdG9yS2luZDo6Tm9uZTsKIAogICAgIGluZm8ub3BlbkJyYWNlT2Zmc2V0ID0gbV90b2tlbi5t
X2RhdGEub2Zmc2V0OwpAQCAtMTM4NCw4ICsxNTE1LDE3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1
aWxkCiAgICAgICAgIGZhaWxJZkZhbHNlKHBvcFNjb3BlKGZ1bmN0aW9uU2NvcGUsIFRyZWVCdWls
ZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUluZm8pLCAiUGFyc2VyIGVycm9yIik7CiAgICAgICAgIAog
ICAgICAgICBpbmZvLmNsb3NlQnJhY2VPZmZzZXQgPSBjYWNoZWRJbmZvLT5jbG9zZUJyYWNlT2Zm
c2V0OwotCisgICAgICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAg
ICAgICAgaW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUgPSBjYWNoZWRJbmZvLT5pc0JvZHlBcnJv
d0Z1bmN0aW9uQmxvY2sgPyBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrIDogQXJyb3dGdW5jdGlvbkJv
ZHlFeHByZXNzaW9uOworICAgICAgICAgICAgbV90b2tlbiA9IGluZm8uYXJyb3dGdW5jdGlvbkJv
ZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2sgPyBjYWNoZWRJbmZvLT5jbG9zZUJyYWNl
VG9rZW4oKSA6IGNhY2hlZEluZm8tPmVuZEFycm93RnVuY3Rpb25Ub2tlbigpOworICAgICAgICB9
IGVsc2UKKyAgICAgICAgICAgIG1fdG9rZW4gPSBjYWNoZWRJbmZvLT5jbG9zZUJyYWNlVG9rZW4o
KTsKKyNlbHNlICAgCiAgICAgICAgIG1fdG9rZW4gPSBjYWNoZWRJbmZvLT5jbG9zZUJyYWNlVG9r
ZW4oKTsKKyNlbmRpZgorICAgICAgICAKICAgICAgICAgaWYgKGVuZENvbHVtbklzT25TdGFydExp
bmUpCiAgICAgICAgICAgICBtX3Rva2VuLm1fbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0ID0gY3Vy
cmVudExpbmVTdGFydE9mZnNldDsKIApAQCAtMTM5NCwxMyArMTUzNCw0OCBAQCB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25J
bmZvKFRyZWVCdWlsZAogCiAgICAgICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KGluZm8uYm9keSwg
bV9sZXhlci0+Y3VycmVudE9mZnNldCgpKTsKICAgICAgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJvd0Z1bmN0aW9u
UGFyc2VUeXBlKSB7CisgICAgICAgICAgICBpZiAoaW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUg
PT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jaykKKyAgICAgICAgICAgICAgICBuZXh0KCk7CisgICAg
ICAgIH0gZWxzZQorICAgICAgICAgICAgbmV4dCgpOworI2Vsc2UKICAgICAgICAgbmV4dCgpOwor
I2VuZGlmCiAgICAgICAgIGluZm8uYm9keUVuZExpbmUgPSBtX2xhc3RUb2tlbkVuZFBvc2l0aW9u
LmxpbmU7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KKyAgICAKKyAgICAKICAgICBtX2xh
c3RGdW5jdGlvbk5hbWUgPSBsYXN0RnVuY3Rpb25OYW1lOwogICAgIFBhcnNlclN0YXRlIG9sZFN0
YXRlID0gc2F2ZVN0YXRlKCk7CisgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAg
ICAgICAgU2F2ZVBvaW50IHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgICAgICBu
ZXh0KCk7CisgICAgICAgIC8vIENoZWNrIGlmIGFycm93IGJvZHkgc3RhcnQgd2l0aCB7LiBJZiBp
dCB0cnVlIGl0IG1lYW4gdGhhdCBhcnJvdyBmdW5jdGlvbiBpcyBGYXQgYXJyb3cgZnVuY3Rpb24K
KyAgICAgICAgLy8gYW5kIHdlIG5lZWQgdXNlIGNvbW1vbiBhcHByb2FjaCB0byBwYXJzZSBmdW5j
dGlvbiBib2R5CisgICAgICAgIGluZm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBlID0gbWF0Y2goT1BF
TkJSQUNFKSA/IEFycm93RnVuY3Rpb25Cb2R5QmxvY2sgOiBBcnJvd0Z1bmN0aW9uQm9keUV4cHJl
c3Npb247CisgICAgCisgICAgICAgIGlmIChpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlwZSA9PSBB
cnJvd0Z1bmN0aW9uQm9keUJsb2NrKSB7CisgICAgICAgICAgICBpbmZvLm9wZW5CcmFjZU9mZnNl
dCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKKyAgICAgICAgICAgIGluZm8uYm9keVN0YXJ0TGlu
ZSA9IHRva2VuTGluZSgpOworICAgICAgICAgICAgaW5mby5ib2R5U3RhcnRDb2x1bW4gPSBtX3Rv
a2VuLm1fZGF0YS5vZmZzZXQgLSBtX3Rva2VuLm1fZGF0YS5saW5lU3RhcnRPZmZzZXQ7CisgICAg
ICAgIAorICAgICAgICAgICAgaW5mby5ib2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwg
ZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQs
IGNvbnN0cnVjdG9yS2luZCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICByZXN0b3Jl
U2F2ZVBvaW50KHNhdmVQb2ludCk7CisgICAgICAgICAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0
aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQs
IHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kLCBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBl
KTsKKyAgICAgICAgfQorICAgIH0gZWxzZQorICAgICAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0
aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQs
IHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kKTsKKyNlbHNlCiAgICAgaW5mby5ib2R5
ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0
aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCk7CisjZW5kaWYK
KyAgICAKKyAgICAKICAgICByZXN0b3JlU3RhdGUob2xkU3RhdGUpOwogICAgIGZhaWxJZkZhbHNl
KGluZm8uYm9keSwgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiB0aGlzICIsIHN0cmluZ0ZvckZ1
bmN0aW9uTW9kZShtb2RlKSk7CiAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQoaW5mby5ib2R5LCBt
X2xleGVyLT5jdXJyZW50T2Zmc2V0KCkpOwpAQCAtMTQzMSwxOCArMTYwNiwzOCBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rp
b25JbmZvKFRyZWVCdWlsZAogICAgICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VMaW5lID0gY2xv
c2VCcmFjZUxpbmU7CiAgICAgICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFjZU9mZnNldCA9IGluZm8u
Y2xvc2VCcmFjZU9mZnNldDsKICAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJyYWNlTGluZVN0YXJ0
T2Zmc2V0ID0gY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldDsKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25Q
YXJzZVR5cGUpIHsKKyAgICAgICAgICAgIHBhcmFtZXRlcnMuaXNCb2R5QXJyb3dGdW5jdGlvbkJs
b2NrID0gaW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9j
azsKKyAgICAgICAgICAgIHBhcmFtZXRlcnMudG9rZW5UeXBlID0gbV90b2tlbi5tX3R5cGU7Cisg
ICAgICAgIH0KKyNlbmRpZgogICAgICAgICBmdW5jdGlvblNjb3BlLT5maWxsUGFyYW1ldGVyc0Zv
clNvdXJjZVByb3ZpZGVyQ2FjaGUocGFyYW1ldGVycyk7CiAgICAgICAgIG5ld0luZm8gPSBTb3Vy
Y2VQcm92aWRlckNhY2hlSXRlbTo6Y3JlYXRlKHBhcmFtZXRlcnMpOwogCiAgICAgfQogICAgIAog
ICAgIGZhaWxJZkZhbHNlKHBvcFNjb3BlKGZ1bmN0aW9uU2NvcGUsIFRyZWVCdWlsZGVyOjpOZWVk
c0ZyZWVWYXJpYWJsZUluZm8pLCAiUGFyc2VyIGVycm9yIik7CisgICAgCisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rp
b25QYXJzZVR5cGUpIHsKKyAgICAgICAgaWYgKGluZm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBlID09
IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHsKKyAgICAgICAgICAgIG1hdGNoT3JGYWlsKENMT1NF
QlJBQ0UsICJFeHBlY3RlZCBhIGNsb3NpbmcgJ30nIGFmdGVyIGEgIiwgc3RyaW5nRm9yRnVuY3Rp
b25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgfSBl
bHNlCisgICAgICAgICAgICBmYWlsSWZGYWxzZShpc0VuZE9mQXJyb3dGdW5jdGlvbigpLCAiRXhw
ZWN0ZWQgdGhlIGNsb3NpbmcgJzsnICcsJyAnXScgJyknICd9JyBhZnRlciBhcnJvdyBmdW5jdGlv
biIpOworICAgIH0gZWxzZSB7CisgICAgICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0UsICJFeHBl
Y3RlZCBhIGNsb3NpbmcgJ30nIGFmdGVyIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUp
LCAiIGJvZHkiKTsKKyAgICAgICAgbmV4dCgpOworICAgIH0KKyNlbHNlCiAgICAgbWF0Y2hPckZh
aWwoQ0xPU0VCUkFDRSwgIkV4cGVjdGVkIGEgY2xvc2luZyAnfScgYWZ0ZXIgYSAiLCBzdHJpbmdG
b3JGdW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOworICAgIG5leHQoKTsKKyNlbmRpZgogICAg
IAogICAgIGlmIChuZXdJbmZvKQogICAgICAgICBtX2Z1bmN0aW9uQ2FjaGUtPmFkZChpbmZvLm9w
ZW5CcmFjZU9mZnNldCwgV1RGOjptb3ZlKG5ld0luZm8pKTsKICAgICAKLSAgICBuZXh0KCk7CiAg
ICAgaW5mby5ib2R5RW5kTGluZSA9IG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZTsKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KQEAgLTE3NjcsNiArMTk2MiwxOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSWZTdGF0ZW1l
bnQoVAogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUlmU3RhdGVtZW50KGlmTG9jYXRpb24sIGNv
bmRpdGlvbiwgdHJ1ZUJsb2NrLCBzdGF0ZW1lbnRTdGFjay5sYXN0KCksIHN0YXJ0LCBlbmQpOwog
fQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBl
bmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNz
aW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVC
dWlsZGVyJiBjb250ZXh0KQoreworICAgIGZhaWxJZlN0YWNrT3ZlcmZsb3coKTsKKyAgICBUcmVl
RXhwcmVzc2lvbiBub2RlID0gcGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbihjb250ZXh0KTsKKyAg
ICBmYWlsSWZGYWxzZShub2RlLCAiQ2Fubm90IHBhcnNlIGV4cHJlc3Npb24iKTsKKyAgICBjb250
ZXh0LnNldEVuZE9mZnNldChub2RlLCBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLm9mZnNldCk7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlw
ZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKIHsKQEAgLTE4
MTQsNiArMjAyMSw0MSBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRyZWVFeHBy
ZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbgogICAgICAgICB9CiAgICAg
ICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKICAgICB9CisKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFNhdmVQb2ludCBzYXZlQXJyb3dGdW5jdGlvblBv
aW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgYm9vbCBhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0
ID0gZmFsc2U7CisgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgbmV4dCgpOwor
ICAgICAgICBpZiAobWF0Y2goQ0xPU0VQQVJFTikpIHsKKyAgICAgICAgICAgIG5leHQoKTsKKwor
ICAgICAgICAgICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJT04pKQorICAgICAgICAgICAgICAgIGFy
cm93RnVuY3Rpb25FbXB0eUxpc3QgPSB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCFh
cnJvd0Z1bmN0aW9uRW1wdHlMaXN0KQorICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZl
QXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICB9CisKKyAgICBUcmVlRXhwcmVzc2lvbiBsaHM7Cisg
ICAgaWYgKCFhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0KSB7CisgICAgICAgIGxocyA9IHBhcnNlQ29u
ZGl0aW9uYWxFeHByZXNzaW9uKGNvbnRleHQpOworICAgICAgICBmYWlsSWZGYWxzZShsaHMsICJD
YW4Zbm90IHBhcnNlIGV4cHJlc3Npb24iKTsKKyAgICAgICAgaWYgKGluaXRpYWxOb25MSFNDb3Vu
dCAhPSBtX25vbkxIU0NvdW50KSB7CisgICAgICAgICAgICBpZiAobV90b2tlbi5tX3R5cGUgPj0g
RVFVQUwgJiYgbV90b2tlbi5tX3R5cGUgPD0gT1JFUVVBTCkKKyAgICAgICAgICAgICAgICBzZW1h
bnRpY0ZhaWwoIkxlZnQgaGFuZCBzaWRlIG9mIG9wZXJhdG9yICciLCBnZXRUb2tlbigpLCAiJyBt
dXN0IGJlIGEgcmVmZXJlbmNlIik7CisKKyAgICAgICAgICAgIHJldHVybiBsaHM7CisgICAgICAg
IH0KKyAgICB9CisKKyAgICBpZiAobWF0Y2goQVJST1dGVU5DVElPTikpIHsKKyAgICAgICAgcmVz
dG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAgbGhzID0gcGFy
c2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihjb250ZXh0KTsKKyAgICAgICAgcmV0dXJuIGxoczsKKyAg
ICB9CisjZWxzZQogICAgIFRyZWVFeHByZXNzaW9uIGxocyA9IHBhcnNlQ29uZGl0aW9uYWxFeHBy
ZXNzaW9uKGNvbnRleHQpOwogICAgIGZhaWxJZkZhbHNlKGxocywgIkNhbm5vdCBwYXJzZSBleHBy
ZXNzaW9uIik7CiAgICAgaWYgKGluaXRpYWxOb25MSFNDb3VudCAhPSBtX25vbkxIU0NvdW50KSB7
CkBAIC0xODIyLDcgKzIwNjQsOCBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRy
ZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbgogCiAgICAgICAg
IHJldHVybiBsaHM7CiAgICAgfQotICAgIAorI2VuZGlmCisKICAgICBpbnQgYXNzaWdubWVudFN0
YWNrID0gMDsKICAgICBPcGVyYXRvciBvcDsKICAgICBib29sIGhhZEFzc2lnbm1lbnQgPSBmYWxz
ZTsKQEAgLTIyOTcsNiArMjU0MCwyMyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHByZQogICAgICAg
ICByZXR1cm4gY29udGV4dC50aGlzRXhwcihsb2NhdGlvbiwgbV90aGlzVERaTW9kZSk7CiAgICAg
fQogICAgIGNhc2UgSURFTlQ6IHsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgICAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNhdmVQ
b2ludCgpOworICAgICAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlv
bigpOworICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlk
ZW50OworICAgICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsK
KyAgICAgICAgbmV4dCgpOworCisgICAgICAgIGlmICghbWF0Y2goQVJST1dGVU5DVElPTikpIHsK
KyAgICAgICAgICAgIGN1cnJlbnRTY29wZSgpLT51c2VWYXJpYWJsZShpZGVudCwgbV92bS0+cHJv
cGVydHlOYW1lcy0+ZXZhbCA9PSAqaWRlbnQpOworICAgICAgICAgICAgbV9sYXN0SWRlbnRpZmll
ciA9IGlkZW50OworICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUmVzb2x2ZShsb2Nh
dGlvbiwgaWRlbnQsIHN0YXJ0KTsKKyAgICAgICAgfQorCisgICAgICAgIHJlc3RvcmVTYXZlUG9p
bnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAgICAgIFRyZWVFeHByZXNzaW9uIGxocyA9
IHBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoY29udGV4dCk7CisgICAgICAgIHJldHVybiBsaHM7
CisjZWxzZQogICAgICAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlv
bigpOwogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlk
ZW50OwogICAgICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsK
QEAgLTIzMDQsNiArMjU2NCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4
cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAgICAgIGN1
cnJlbnRTY29wZSgpLT51c2VWYXJpYWJsZShpZGVudCwgbV92bS0+cHJvcGVydHlOYW1lcy0+ZXZh
bCA9PSAqaWRlbnQpOwogICAgICAgICBtX2xhc3RJZGVudGlmaWVyID0gaWRlbnQ7CiAgICAgICAg
IHJldHVybiBjb250ZXh0LmNyZWF0ZVJlc29sdmUobG9jYXRpb24sIGlkZW50LCBzdGFydCk7Cisj
ZW5kaWYKICAgICB9CiAgICAgY2FzZSBTVFJJTkc6IHsKICAgICAgICAgY29uc3QgSWRlbnRpZmll
ciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKQEAgLTI0OTEsNiArMjc1MiwzMiBAQCBl
bmRNZW1iZXJFeHByZXNzaW9uOgogICAgIHJldHVybiBiYXNlOwogfQogCisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKFRyZWVCdWlsZGVyJiBjb250ZXh0KQorewor
ICAgIFRyZWVFeHByZXNzaW9uIGJhc2UgPSAwOworICAgIEpTVGV4dFBvc2l0aW9uIGV4cHJlc3Np
b25TdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgIGludCBuZXdDb3VudCA9IDA7Cisg
ICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uOworCisgICAgaWYgKG1hdGNoKElERU5UKSB8fCBt
YXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgIHVuc2lnbmVkIGZ1bmN0aW9uS2V5d29yZFN0YXJ0
ID0gdG9rZW5TdGFydCgpOworICAgICAgICBsb2NhdGlvbiA9IHRva2VuTG9jYXRpb24oKTsKKyAg
ICAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOworICAgICAgICBpbmZv
Lm5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1lcy0+bnVsbElkZW50aWZpZXI7CisgICAgICAgIGZh
aWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1l
bnRzLCBGdW5jdGlvbk1vZGUsIHRydWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgZnVuY3Rpb25L
ZXl3b3JkU3RhcnQsIGluZm8sIEFycm93RnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJz
ZSBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgICAgIGJhc2UgPSBjb250ZXh0LmNy
ZWF0ZUFycm93RnVuY3Rpb25FeHByKGxvY2F0aW9uLCBpbmZvKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgYmFzZSA9IHBhcnNlUHJpbWFyeUV4cHJlc3Npb24oY29udGV4dCk7CisKKyAgICBmYWlsSWZG
YWxzZShiYXNlLCAiQ2Fubm90IHBhcnNlIGJhc2UgZXhwcmVzc2lvbiIpOworICAgIHdoaWxlIChu
ZXdDb3VudC0tKQorICAgICAgICBiYXNlID0gY29udGV4dC5jcmVhdGVOZXdFeHByKGxvY2F0aW9u
LCBiYXNlLCBleHByZXNzaW9uU3RhcnQsIGxhc3RUb2tlbkVuZFBvc2l0aW9uKCkpOworICAgIHJl
dHVybiBiYXNlOworfQorI2VuZGlmCisKIHN0YXRpYyBjb25zdCBjaGFyKiBvcGVyYXRvclN0cmlu
Zyhib29sIHByZWZpeCwgdW5zaWduZWQgdG9rKQogewogICAgIHN3aXRjaCAodG9rKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCAwZjI3MjhmODYyMWY4MDEwYzQxMGJm
Nzk4NzYxOWJmMjNlNTBhZjhiLi4zNGNkYTk3MmNjM2I4ZTA5ZDYyM2YzOWQ5ZjVhZmMyZTAxYTM3
Zjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKQEAgLTgwLDYgKzgwLDkg
QEAgY2xhc3MgU291cmNlQ29kZTsKIENPTVBJTEVfQVNTRVJUKExhc3RVbnRhZ2dlZFRva2VuIDwg
NjQsIExlc3NUaGFuNjRVbnRhZ2dlZFRva2Vucyk7CiAKIGVudW0gU291cmNlRWxlbWVudHNNb2Rl
IHsgQ2hlY2tGb3JTdHJpY3RNb2RlLCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlIH07CisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK2VudW0gRnVuY3Rpb25QYXJzZVR5cGUgeyBT
dGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlLCBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlIH07CisjZW5k
aWYKIGVudW0gRnVuY3Rpb25SZXF1aXJlbWVudHMgeyBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBG
dW5jdGlvbk5lZWRzTmFtZSB9OwogZW51bSBGdW5jdGlvblBhcnNlTW9kZSB7CiAgICAgRnVuY3Rp
b25Nb2RlLApAQCAtNjE4LDYgKzYyMSwxMyBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gbV90
b2tlbi5tX3R5cGUgPT0gSURFTlQgJiYgKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnBy
b3BlcnR5TmFtZXMtPm9mOwogICAgIH0KICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIEFMV0FZU19JTkxJTkUgYm9vbCBpc0VuZE9mQXJyb3dGdW5jdGlvbigp
CisgICAgeworICAgICAgICByZXR1cm4gbWF0Y2goU0VNSUNPTE9OKSB8fCBtYXRjaChDT01NQSkg
fHwgbWF0Y2goQ0xPU0VQQVJFTikgfHwgbWF0Y2goQ0xPU0VCUkFDRSkgfHwgbWF0Y2goQ0xPU0VC
UkFDS0VUKTsKKyAgICB9CisjZW5kaWYKKyAgICAKICAgICBBTFdBWVNfSU5MSU5FIHVuc2lnbmVk
IHRva2VuU3RhcnQoKQogICAgIHsKICAgICAgICAgcmV0dXJuIG1fdG9rZW4ubV9sb2NhdGlvbi5z
dGFydE9mZnNldDsKQEAgLTcyMSw5ICs3MzEsMTQgQEAgcHJpdmF0ZToKICAgICAgICAgfQogICAg
ICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KLSAgICAKKworI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291
cmNlRWxlbWVudHMgcGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYsIFNvdXJjZUVsZW1l
bnRzTW9kZSwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25QYXJzZVR5cGUgPSBTdGFuZGFyZEZ1
bmN0aW9uUGFyc2VUeXBlKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
dGF0ZW1lbnQgcGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVyKiYg
ZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDAsIEZ1bmN0aW9u
UGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBlID0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7
CisjZWxzZQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1l
bnRzIHBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUp
OwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0
YXRlbWVudChUcmVlQnVpbGRlciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2ln
bmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMCk7CisjZW5kaWYKICNpZiBFTkFCTEUoRVM2
X0NMQVNTX1NZTlRBWCkKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0
ZW1lbnQgcGFyc2VDbGFzc0RlY2xhcmF0aW9uKFRyZWVCdWlsZGVyJik7CiAjZW5kaWYKQEAgLTc2
MiwxNyArNzc3LDMyIEBAIHByaXZhdGU6CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlUHJvcGVydHkgcGFyc2VQcm9wZXJ0eShUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0KTsK
ICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlUHJv
cGVydHlNZXRob2QoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqIG1ldGhv
ZE5hbWUpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IHBh
cnNlR2V0dGVyU2V0dGVyKFRyZWVCdWlsZGVyJiwgYm9vbCBzdHJpY3QsIFByb3BlcnR5Tm9kZTo6
VHlwZSwgdW5zaWduZWQgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgQ29uc3RydWN0b3JLaW5k
ID0gQ29uc3RydWN0b3JLaW5kOjpOb25lLCBTdXBlckJpbmRpbmcgPSBTdXBlckJpbmRpbmc6Ok5v
dE5lZWRlZCk7Ci0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5F
IFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VGdW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImLCBpbnQgZnVu
Y3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwgaW50IHBhcmFtZXRlcnNT
dGFydCwgQ29uc3RydWN0b3JLaW5kKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVl
RnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVyJiwgaW50IGZ1bmN0aW9u
S2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIGludCBwYXJhbWV0ZXJzU3RhcnQs
IENvbnN0cnVjdG9yS2luZCwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25QYXJzZVR5cGUgPSBT
dGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNlbHNlCisgICAgICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rp
b25Cb2R5KFRyZWVCdWlsZGVyJiwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rp
b25OYW1lU3RhcnQsIGludCBwYXJhbWV0ZXJzU3RhcnQsIENvbnN0cnVjdG9yS2luZCk7CisjZW5k
aWYKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZv
cm1hbFBhcmFtZXRlckxpc3QgcGFyc2VGb3JtYWxQYXJhbWV0ZXJzKFRyZWVCdWlsZGVyJik7CiAg
ICAgZW51bSBWYXJEZWNsYXJhdGlvbkxpc3RDb250ZXh0IHsgRm9yTG9vcENvbnRleHQsIFZhckRl
Y2xhcmF0aW9uQ29udGV4dCB9OwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZUV4cHJlc3Npb24gcGFyc2VWYXJEZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImLCBpbnQmIGRl
Y2xhcmF0aW9ucywgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiYgbGFzdFBhdHRlcm4sIFRyZWVF
eHByZXNzaW9uJiBsYXN0SW5pdGlhbGl6ZXIsIEpTVGV4dFBvc2l0aW9uJiBpZGVudFN0YXJ0LCBK
U1RleHRQb3NpdGlvbiYgaW5pdFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdEVuZCwgVmFyRGVj
bGFyYXRpb25MaXN0Q29udGV4dCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBO
RVZFUl9JTkxJTkUgVHJlZUNvbnN0RGVjbExpc3QgcGFyc2VDb25zdERlY2xhcmF0aW9uTGlzdChU
cmVlQnVpbGRlciYpOwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlQXJyb3dG
dW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVC
dWlsZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lv
biBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKFRyZWVCdWlsZGVyJik7CisjZW5kaWYKKwogICAg
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVj
dGlvblBhdHRlcm4gY3JlYXRlQmluZGluZ1BhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0cnVj
dGlvbktpbmQsIGNvbnN0IElkZW50aWZpZXImLCBpbnQgZGVwdGgsIEpTVG9rZW4pOwogICAgIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlv
blBhdHRlcm4gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0
cnVjdGlvbktpbmQsIGludCBkZXB0aCA9IDApOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gdHJ5UGFyc2VEZWNv
bnN0cnVjdGlvblBhdHRlcm5FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gTkVWRVJfSU5MSU5FIGJvb2wgcGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImLCBGdW5j
dGlvblJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUsIGJvb2wgbmFtZUlzSW5Db250YWlu
aW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJz
ZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25Q
YXJzZVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNlbHNlCiAgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgYm9vbCBwYXJzZUZ1bmN0aW9uSW5m
byhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSwg
Ym9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kLCBpbnQgZnVuY3Rp
b25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mKTsKKyNlbmRp
ZgorICAgIAogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVDbGFzc0V4cHJlc3Npb24gcGFyc2VDbGFz
cyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzLCBQYXJzZXJDbGFzc0luZm88VHJl
ZUJ1aWxkZXI+Jik7CiAjZW5kaWYKQEAgLTc4OSw2ICs4MTksMTQgQEAgcHJpdmF0ZToKICAgICAg
ICAgcmV0dXJuIGFsbG93QXV0b21hdGljU2VtaWNvbG9uKCk7CiAgICAgfQogICAgIAorCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2b2lkIHNldEVuZE9mU3RhdGVt
ZW50KCkKKyAgICB7CisgICAgICAgIG1fbGV4ZXItPnNldFRva2VuUG9zaXRpb24oJm1fdG9rZW4p
OworICAgIH0KKyNlbmRpZgorCiAgICAgYm9vbCBjYW5SZWN1cnNlKCkKICAgICB7CiAgICAgICAg
IHJldHVybiBtX3ZtLT5pc1NhZmVUb1JlY3Vyc2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oCmluZGV4IDZiNzM2MjgyZTJkMmE4MWJj
NjNkYzJmM2MwZTVhZThjODU4Y2QxZjguLmQ3NTJhNjEwYTliNmViMGM2YTExNDk1NDY1Y2E3ZGJk
NzY4Y2Q1MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2Vy
RnVuY3Rpb25JbmZvLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJG
dW5jdGlvbkluZm8uaApAQCAtMjgsNiArMjgsMTAgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorZW51bSBBcnJvd0Z1bmN0aW9uQm9k
eVR5cGUgeyBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24sIEFycm93RnVuY3Rpb25Cb2R5Qmxv
Y2t9OworI2VuZGlmCisKIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4KIHN0cnVjdCBQYXJz
ZXJGdW5jdGlvbkluZm8gewogICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUgPSAwOwpAQCAtMzgs
NiArNDIsMTEgQEAgc3RydWN0IFBhcnNlckZ1bmN0aW9uSW5mbyB7CiAgICAgaW50IGJvZHlTdGFy
dExpbmUgPSAwOwogICAgIGludCBib2R5RW5kTGluZSA9IDA7CiAgICAgdW5zaWduZWQgYm9keVN0
YXJ0Q29sdW1uID0gMDsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
IHVuc2lnbmVkIGFycm93RnVuY3Rpb25PZmZzZXQgPSAwOworICAgIGJvb2wgaXNBcnJvd0Z1bmN0
aW9uID0gZmFsc2U7CisgICAgQXJyb3dGdW5jdGlvbkJvZHlUeXBlIGFycm93RnVuY3Rpb25Cb2R5
VHlwZSA9IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbjsKKyNlbmRpZgogfTsKIAogI2lmIEVO
QUJMRShFUzZfQ0xBU1NfU1lOVEFYKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXJUb2tlbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFy
c2VyVG9rZW5zLmgKaW5kZXggODMyOWY4MmE5YjJmZjkxNWQxZjI0MWMxZjhiZmZhZDQyNDdhNWYw
Yi4uYzhiMTY2ZTBlYWQ3ZDJkYTcxOWU3NmM0YTJmMDlhZmYxZDc0ZDdhYyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCkBAIC03NSw2ICs3NSw5IEBAIGVu
dW0gSlNUb2tlblR5cGUgewogICAgIEZJTkFMTFksCiAgICAgREVCVUdHRVIsCiAgICAgRUxTRSwK
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEFSUk9XRlVOQ1RJT04s
CisjZW5kaWYKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICBDTEFTU1RPS0VOLAog
ICAgIEVYVEVORFMsCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Nv
dXJjZUNvZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCmlu
ZGV4IDczZDIzZGI4MmFmMjVlYTQ2YzBmODk3ODVjZTQyNGJiNjBlYjYxYTcuLjkyOGU3MTJhOTBl
MzQ4OTg4YmMzNTU0ODk4NzViMDkwNzc2NzU1MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvU291cmNlQ29kZS5oCkBAIC0xMDUsNiArMTA1LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAg
ICAgICAgIAogICAgICAgICBTb3VyY2VDb2RlIHN1YkV4cHJlc3Npb24odW5zaWduZWQgb3BlbkJy
YWNlLCB1bnNpZ25lZCBjbG9zZUJyYWNlLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4p
OwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgU291cmNl
Q29kZSBzdWJBcnJvd0V4cHJlc3Npb24odW5zaWduZWQgc3RhcnRBcnJvd0Z1bmN0aW9uLCB1bnNp
Z25lZCBlbmRBcnJvd0Z1bmN0aW9uLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOwor
I2VuZGlmCiAgICAgcHJpdmF0ZToKICAgICAgICAgUmVmUHRyPFNvdXJjZVByb3ZpZGVyPiBtX3By
b3ZpZGVyOwogICAgICAgICBpbnQgbV9zdGFydENoYXI7CkBAIC0xMTgsNiArMTIxLDE3IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4gU291cmNlQ29kZShTdHJpbmdTb3VyY2VQcm92
aWRlcjo6Y3JlYXRlKHNvdXJjZSwgdXJsLCBzdGFydFBvc2l0aW9uKSwgc3RhcnRQb3NpdGlvbi5t
X2xpbmUub25lQmFzZWRJbnQoKSwgc3RhcnRQb3NpdGlvbi5tX2NvbHVtbi5vbmVCYXNlZEludCgp
KTsKICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlu
bGluZSBTb3VyY2VDb2RlIFNvdXJjZUNvZGU6OnN1YkFycm93RXhwcmVzc2lvbih1bnNpZ25lZCBz
dGFydEFycm93RnVuY3Rpb24sIHVuc2lnbmVkIGVuZEFycm93RnVuY3Rpb24sIGludCBmaXJzdExp
bmUsIGludCBzdGFydENvbHVtbikKKyAgICB7CisgICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5z
b3VyY2UoKVtzdGFydEFycm93RnVuY3Rpb25dID09ICc9JyAmJiBwcm92aWRlcigpLT5zb3VyY2Uo
KVtzdGFydEFycm93RnVuY3Rpb24gKyAxXSA9PSAnPicpOworICAgICAgICAvLyBGaXhtZTogVXNl
IGJldHRlciBhcHByb2FjaCB0byBjaGVjayBzeW1ib2wKKyAgICAgICAgQVNTRVJUKHByb3ZpZGVy
KCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnLCcgfHwgcHJvdmlkZXIoKS0+
c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICc7JyB8fCBwcm92aWRlcigpLT5zb3Vy
Y2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJyknIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgp
W2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnXScgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5k
QXJyb3dGdW5jdGlvbiAtIDFdID09ICd9Jyk7CisgICAgICAgIHN0YXJ0Q29sdW1uICs9IDE7IC8v
IENvbnZlcnQgdG8gYmFzZSAxLgorICAgICAgICByZXR1cm4gU291cmNlQ29kZShwcm92aWRlcigp
LCBzdGFydEFycm93RnVuY3Rpb24sIGVuZEFycm93RnVuY3Rpb24gLSAxLCBmaXJzdExpbmUsIHN0
YXJ0Q29sdW1uKTsKKyAgICB9CisjZW5kaWYKKwogICAgIGlubGluZSBTb3VyY2VDb2RlIFNvdXJj
ZUNvZGU6OnN1YkV4cHJlc3Npb24odW5zaWduZWQgb3BlbkJyYWNlLCB1bnNpZ25lZCBjbG9zZUJy
YWNlLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pCiAgICAgewogICAgICAgICBBU1NF
UlQocHJvdmlkZXIoKS0+c291cmNlKClbb3BlbkJyYWNlXSA9PSAneycpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCmlu
ZGV4IDYzNTM3OWUzZjQ0NTY2OGM1MmI4NzJmNzYxNmRjYjU5MjFhODI5NDQuLjgzNDY0ODUyMTlk
MGFjZjZiMzI2OTcyZGEyNzk3MjFkMzY1NWRiMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKQEAgLTQwLDYgKzQw
LDEwIEBAIHN0cnVjdCBTb3VyY2VQcm92aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFyYW1ldGVycyB7
CiAgICAgYm9vbCBuZWVkc0Z1bGxBY3RpdmF0aW9uOwogICAgIGJvb2wgdXNlc0V2YWw7CiAgICAg
Ym9vbCBzdHJpY3RNb2RlOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgYm9vbCBpc0JvZHlBcnJvd0Z1bmN0aW9uQmxvY2s7CisgICAgSlNUb2tlblR5cGUgdG9rZW5U
eXBlOworI2VuZGlmCiAgICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4gdXNlZFZhcmlhYmxl
czsKICAgICBWZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiB3cml0dGVuVmFyaWFibGVzOwogfTsK
QEAgLTY5LDYgKzczLDIxIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIHRva2VuOwogICAgIH0K
IAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgSlNUb2tlbiBlbmRB
cnJvd0Z1bmN0aW9uVG9rZW4oKSBjb25zdAorICAgIHsKKyAgICAgICAgSlNUb2tlbiB0b2tlbjsK
KyAgICAgICAgdG9rZW4ubV90eXBlID0gdG9rZW5UeXBlOworICAgICAgICB0b2tlbi5tX2RhdGEu
b2Zmc2V0ID0gY2xvc2VCcmFjZU9mZnNldDsKKyAgICAgICAgdG9rZW4ubV9sb2NhdGlvbi5zdGFy
dE9mZnNldCA9IGNsb3NlQnJhY2VPZmZzZXQ7CisgICAgICAgIHRva2VuLm1fbG9jYXRpb24uZW5k
T2Zmc2V0ID0gY2xvc2VCcmFjZU9mZnNldCArIDE7CisgICAgICAgIHRva2VuLm1fbG9jYXRpb24u
bGluZSA9IGNsb3NlQnJhY2VMaW5lOworICAgICAgICB0b2tlbi5tX2xvY2F0aW9uLmxpbmVTdGFy
dE9mZnNldCA9IGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQ7CisKKyAgICAgICAgcmV0dXJuIHRv
a2VuOworICAgIH0KKyNlbmRpZgorCiAgICAgdW5zaWduZWQgZnVuY3Rpb25OYW1lU3RhcnQgOiAz
MTsKICAgICBib29sIG5lZWRzRnVsbEFjdGl2YXRpb24gOiAxOwogICAgIApAQCAtODIsNiArMTAx
LDExIEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCB1c2VkVmFyaWFibGVzQ291bnQ7CiAgICAgdW5z
aWduZWQgd3JpdHRlblZhcmlhYmxlc0NvdW50OwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICBib29sIGlzQm9keUFycm93RnVuY3Rpb25CbG9jazsKKyAgICBKU1Rv
a2VuVHlwZSB0b2tlblR5cGU7CisjZW5kaWYKKwogICAgIFN0cmluZ0ltcGwqKiB1c2VkVmFyaWFi
bGVzKCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxTdHJpbmdJbXBsKio+KG1fdmFyaWFibGVz
KTsgfQogICAgIFN0cmluZ0ltcGwqKiB3cml0dGVuVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4g
Y29uc3RfY2FzdDxTdHJpbmdJbXBsKio+KCZtX3ZhcmlhYmxlc1t1c2VkVmFyaWFibGVzQ291bnRd
KTsgfQogCkBAIC0xMTUsNiArMTM5LDEwIEBAIGlubGluZSBTb3VyY2VQcm92aWRlckNhY2hlSXRl
bTo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0oY29uc3QgU291cmNlUHJvdmlkZXJDYWNoCiAgICAg
LCBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0KHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmVTdGFy
dE9mZnNldCkKICAgICAsIHVzZWRWYXJpYWJsZXNDb3VudChwYXJhbWV0ZXJzLnVzZWRWYXJpYWJs
ZXMuc2l6ZSgpKQogICAgICwgd3JpdHRlblZhcmlhYmxlc0NvdW50KHBhcmFtZXRlcnMud3JpdHRl
blZhcmlhYmxlcy5zaXplKCkpCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICAsIGlzQm9keUFycm93RnVuY3Rpb25CbG9jayhwYXJhbWV0ZXJzLmlzQm9keUFycm93RnVu
Y3Rpb25CbG9jaykKKyAgICAsIHRva2VuVHlwZShwYXJhbWV0ZXJzLnRva2VuVHlwZSkKKyNlbmRp
ZgogewogICAgIHVuc2lnbmVkIGogPSAwOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB1
c2VkVmFyaWFibGVzQ291bnQ7ICsraSwgKytqKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvU3ludGF4Q2hlY2tlci5oCmluZGV4IDhlNGY2MWI5NDk4OTBiOWJmNTQwMjllOTY2NjFl
ZWY1M2ExN2I1ODQuLjVmOGUyMTFlZTRiNTNiMzk0ZWI1YWUyMTkwYjgzYzhjNGY4NDRjZmQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCkBAIC0xNzAs
NiArMTcwLDEwIEBAIHB1YmxpYzoKICNlbmRpZgogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUZ1
bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbklu
Zm88U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KICAgICBpbnQgY3Jl
YXRlRnVuY3Rpb25Cb2R5KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IEpTVG9rZW5Mb2Nh
dGlvbiYsIGludCwgaW50LCBib29sLCBpbnQsIGludCwgaW50LCBDb25zdHJ1Y3RvcktpbmQpIHsg
cmV0dXJuIEZ1bmN0aW9uQm9keVJlc3VsdDsgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIoY29u
c3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNr
ZXI+JikgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9CisjZW5kaWYgCisgICAgdm9pZCBzZXRGdW5j
dGlvbk5hbWVTdGFydChpbnQsIGludCkgeyB9CiAgICAgaW50IGNyZWF0ZUFyZ3VtZW50cygpIHsg
cmV0dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQogICAgIGludCBjcmVhdGVBcmd1bWVudHMoaW50KSB7
IHJldHVybiBBcmd1bWVudHNSZXN1bHQ7IH0KICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVTcHJl
YWRFeHByZXNzaW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIEV4cHJlc3Npb25UeXBlLCBpbnQs
IGludCwgaW50KSB7IHJldHVybiBTcHJlYWRFeHByOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yY2RiM2RmMGQ3
MDUyZTg4ZjlhMGUwOTI1N2ZkOWVkY2JjOTMwNDNhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcApAQCAtMCwwICsxLDc1
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorCisjaW5jbHVkZSAi
RXJyb3IuaCIKKyNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCisjaW5jbHVkZSAiSlNDSW5s
aW5lcy5oIgorI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgi
CisjaW5jbHVkZSAiSlNGdW5jdGlvbklubGluZXMuaCIKKyNpbmNsdWRlICJKU09iamVjdC5oIgor
I2luY2x1ZGUgIlByb3BlcnR5U2xvdC5oIgorI2luY2x1ZGUgIlZNLmgiCisKK25hbWVzcGFjZSBK
U0MgeworICAgIAorY29uc3QgQ2xhc3NJbmZvIEpTQXJyb3dGdW5jdGlvbjo6c19pbmZvID0geyAi
QXJyb3dGdW5jdGlvbiIsICZCYXNlOjpzX2luZm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNB
cnJvd0Z1bmN0aW9uKSB9OworCit2b2lkIEpTQXJyb3dGdW5jdGlvbjo6ZGVzdHJveShKU0NlbGwq
IGNlbGwpCit7CisgICAgc3RhdGljX2Nhc3Q8SlNBcnJvd0Z1bmN0aW9uKj4oY2VsbCktPkpTQXJy
b3dGdW5jdGlvbjo6fkpTQXJyb3dGdW5jdGlvbigpOworfQorCitKU0Fycm93RnVuY3Rpb246OkpT
QXJyb3dGdW5jdGlvbihWTSYgdm0sIEpTU2NvcGUqIHNjb3BlLCBGdW5jdGlvbkV4ZWN1dGFibGUq
IGV4ZWN1dGFibGUsIFN0cnVjdHVyZSogc3RydWN0dXJlKQorICAgIDogQmFzZSh2bSwgZXhlY3V0
YWJsZSwgc2NvcGUsIHN0cnVjdHVyZSkKK3sKK30KKyAgICAKK3ZvaWQgSlNBcnJvd0Z1bmN0aW9u
OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0p
OworLy8gUHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9uIGlzIHVuZGVmaW5lZAorICAgIHB1dERp
cmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBqc1VuZGVmaW5lZCgpLCBEb250
RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51bSk7Cit9CisgICAgCit2b2lkIEpTQXJyb3dGdW5j
dGlvbjo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQor
eworICAgIEpTQXJyb3dGdW5jdGlvbiogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0Fycm93RnVuY3Rp
b24qPihjZWxsKTsKKyAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKHRoaXNPYmplY3QsIGlu
Zm8oKSk7CisgICAgQmFzZTo6dmlzaXRDaGlsZHJlbih0aGlzT2JqZWN0LCB2aXNpdG9yKTsKK30K
KyAgICAKK0NvbnN0cnVjdFR5cGUgSlNBcnJvd0Z1bmN0aW9uOjpnZXRDb25zdHJ1Y3REYXRhKEpT
Q2VsbCogY2VsbCwgQ29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0YSkKK3sKKyAgICBKU0Z1bmN0
aW9uKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTRnVuY3Rpb24qPihjZWxsKTsKKyAgICAgICAgCisg
ICAgY29uc3RydWN0RGF0YS5qcy5mdW5jdGlvbkV4ZWN1dGFibGUgPSB0aGlzT2JqZWN0LT5qc0V4
ZWN1dGFibGUoKTsKKyAgICBjb25zdHJ1Y3REYXRhLmpzLnNjb3BlID0gdGhpc09iamVjdC0+c2Nv
cGUoKTsKKyAgICByZXR1cm4gQ29uc3RydWN0VHlwZU5vbmU7Cit9Cit9IC8vIG5hbWVzcGFjZSBK
U0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5j
dGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjEwOWE0YTJiNTE5ZjVhYmMyNWFkMzZmMGYyNWM0MDkzNTgxZGM5MQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5j
dGlvbi5oCkBAIC0wLDAgKzEsNzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIEpTQXJyb3dGdW5jdGlvbl9oCisjZGVmaW5lIEpTQXJyb3dG
dW5jdGlvbl9oCisKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNHbG9iYWxP
YmplY3QuaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK2NsYXNzIEpTQXJyb3dGdW5jdGlvbiA6IHB1
YmxpYyBKU0Z1bmN0aW9uIHsKK3B1YmxpYzoKKyAgICB0eXBlZGVmIEpTRnVuY3Rpb24gQmFzZTsK
KyAgICAgICAgCisgICAgc3RhdGljIEpTQXJyb3dGdW5jdGlvbiogY3JlYXRlKFZNJiB2bSwgSlNT
Y29wZSogc2NvcGUsIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCkKKyAgICB7CisgICAgICAgIEpTQXJyb3dGdW5jdGlvbiogZnVuY3Rp
b24gPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxKU0Fycm93RnVuY3Rpb24+KHZtLmhlYXAp
KSBKU0Fycm93RnVuY3Rpb24odm0sIHNjb3BlLCBleGVjdXRhYmxlLCBnbG9iYWxPYmplY3QtPmFy
cm93RnVuY3Rpb25TdHJ1Y3R1cmUoKSk7CisgICAgICAgIEFTU0VSVChmdW5jdGlvbi0+c3RydWN0
dXJlKCktPmdsb2JhbE9iamVjdCgpKTsKKyAgICAgICAgZnVuY3Rpb24tPmZpbmlzaENyZWF0aW9u
KHZtKTsKKyAgICAgICAgcmV0dXJuIGZ1bmN0aW9uOworICAgIH0KKyAgICAKKyAgICBzdGF0aWMg
dm9pZCBkZXN0cm95KEpTQ2VsbCopOworICAgICAgICAKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBj
cmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1Zh
bHVlIHByb3RvdHlwZSkKKyAgICB7CisgICAgICAgIEFTU0VSVChnbG9iYWxPYmplY3QpOworICAg
ICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBl
LCBUeXBlSW5mbyhKU0Z1bmN0aW9uVHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOworICAg
IH0KKyAgICAgICAgCisgICAgc3RhdGljIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShK
U0NlbGwqLCBDb25zdHJ1Y3REYXRhJik7CisgICAgICAgIAorICAgIERFQ0xBUkVfSU5GTzsKKwor
cHJvdGVjdGVkOgorICAgIGNvbnN0IHN0YXRpYyB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92
ZXJyaWRlc0hhc0luc3RhbmNlIHwgQmFzZTo6U3RydWN0dXJlRmxhZ3M7CisgICAgICAgIAorICAg
IHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKKyAgICAg
ICAgCitwcml2YXRlOgorICAgIEpTQXJyb3dGdW5jdGlvbihWTSYsIEpTU2NvcGUqLCBGdW5jdGlv
bkV4ZWN1dGFibGUqLCBTdHJ1Y3R1cmUqKTsKKworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0m
KTsKK307CisgICAgCit9IC8vIG5hbWVzcGFjZSBKU0MKKworI2VuZGlmIC8vIEpTQXJyb3dGdW5j
dGlvbl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0
aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKaW5kZXgg
OWFiOWRjMjc3N2JhYmY4OTYzODFkY2Y0MDJjMDEzMDkwZjk1ZTMwYy4uM2EwYWUwMTEzNWJjYjk2
NDBiMDUwMmEzMTY1MWFmOGZjYWEyYzRhZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTRnVuY3Rpb24uaApAQCAtMTMyLDYgKzEzMiw5IEBAIHByb3RlY3RlZDoKIAogICAgIEpT
X0VYUE9SVF9QUklWQVRFIEpTRnVuY3Rpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVy
ZSopOwogICAgIEpTRnVuY3Rpb24oVk0mLCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBKU1Njb3BlKik7
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBKU0Z1bmN0aW9uKFZN
JiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgSlNTY29wZSosIFN0cnVjdHVyZSopOworI2VuZGlmCiAK
ICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgTmF0aXZlRXhlY3V0YWJsZSosIGludCBsZW5n
dGgsIGNvbnN0IFN0cmluZyYgbmFtZSk7CiAgICAgdXNpbmcgQmFzZTo6ZmluaXNoQ3JlYXRpb247
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5s
aW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMu
aAppbmRleCAzN2IyODFhYTVkMGMxYjg2MTY0NTE5ZmQ3YzU2NmUzN2YwZjEzNDAxLi43YjM0OTBi
ZWI5NGEzNTkzZWUxN2JjM2IxNmIzMmM3ZGZhZjk1NzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgKQEAgLTM4LDYgKzM4LDE1IEBA
IGlubGluZSBKU0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKFZNJiB2bSwgRnVuY3Rpb25FeGVjdXRhYmxl
KiBleGVjdXRhYmxlLCBKU1Njb3BlKiBzCiB7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQoraW5saW5lIEpTRnVuY3Rpb246OkpTRnVuY3Rpb24oVk0mIHZtLCBGdW5j
dGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpTU2NvcGUqIHNjb3BlLCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSkKKyAgICA6IEJhc2Uodm0sIHNjb3BlLCBzdHJ1Y3R1cmUpCisgICAgLCBtX2V4ZWN1
dGFibGUodm0sIHRoaXMsIGV4ZWN1dGFibGUpCisgICAgLCBtX2FsbG9jYXRpb25Qcm9maWxlV2F0
Y2hwb2ludChDbGVhcldhdGNocG9pbnQpCit7Cit9CisjZW5kaWYKKyAgICAKIGlubGluZSBGdW5j
dGlvbkV4ZWN1dGFibGUqIEpTRnVuY3Rpb246OmpzRXhlY3V0YWJsZSgpIGNvbnN0CiB7CiAgICAg
QVNTRVJUKCFpc0hvc3RGdW5jdGlvbk5vbklubGluZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAppbmRleCBkMzk2MThhYjdlYWY1NTk3
NGRhYWMyM2I4MTMzM2ViMDA1MWViZTczLi5mOTQxYWQxODc5NjhiY2Q4N2UyZjQ5YzhiNzg3NTA1
NGRjN2Q2MDQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ds
b2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3QuY3BwCkBAIC02Miw2ICs2Miw5IEBACiAjaW5jbHVkZSAiSlNBcnJheUJ1ZmZlclBy
b3RvdHlwZS5oIgogI2luY2x1ZGUgIkpTQXJyYXlJdGVyYXRvci5oIgogI2luY2x1ZGUgIkpTQm91
bmRGdW5jdGlvbi5oIgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisjaW5j
bHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCisjZW5kaWYKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgi
CiAjaW5jbHVkZSAiSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgiCiAjaW5jbHVkZSAiSlNDYWxsYmFj
a0Z1bmN0aW9uLmgiCkBAIC0yMzMsNiArMjM2LDkgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5p
dChWTSYgdm0pCiAgICAgZXhlYy0+c2V0Q2FsbGVlKG1fZ2xvYmFsQ2FsbGVlLmdldCgpKTsKIAog
ICAgIG1fZnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0Z1bmN0aW9uOjpjcmVhdGVT
dHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIG1fYXJyb3dGdW5jdGlvblN0cnVjdHVy
ZS5zZXQodm0sIHRoaXMsIEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlz
LCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7CisjZW5kaWYKICAgICBtX2JvdW5kRnVuY3Rp
b25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0JvdW5kRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVy
ZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOwogICAgIG1fbmFtZWRGdW5j
dGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0
aW9uKHZtLCBtX2Z1bmN0aW9uU3RydWN0dXJlLmdldCgpLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1l
LCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51bSwgbV9mdW5jdGlvbk5hbWVPZmZzZXQp
KTsKICAgICBtX2ludGVybmFsRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBJbnRlcm5h
bEZ1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUu
Z2V0KCkpKTsKQEAgLTcyNSw2ICs3MzEsOSBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojp2aXNpdENo
aWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCiAgICAgdmlzaXRvci5h
cHBlbmQoJnRoaXNPYmplY3QtPm1fY2FsbGVlU3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVu
ZCgmdGhpc09iamVjdC0+bV9mdW5jdGlvblN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQo
JnRoaXNPYmplY3QtPm1fYm91bmRGdW5jdGlvblN0cnVjdHVyZSk7CisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9h
cnJvd0Z1bmN0aW9uU3RydWN0dXJlKTsKKyNlbmRpZgogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlz
T2JqZWN0LT5tX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0
aGlzT2JqZWN0LT5tX3N5bWJvbE9iamVjdFN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQo
JnRoaXNPYmplY3QtPm1fcmVnRXhwTWF0Y2hlc0FycmF5U3RydWN0dXJlKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCmluZGV4IDc0OTY2YjdiZDA2
YmFjZDg2NjFjOWJmNGFiZTQ1Y2ViM2I1MTE4YjQuLjgxN2YyNTc2NjA3MDA3OTkwMTg2MTRhMDI5
NmFiYzNjOTUzMDI1OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNH
bG9iYWxPYmplY3QuaApAQCAtMjI1LDYgKzIyNSw5IEBAIHByb3RlY3RlZDoKICAgICBXcml0ZUJh
cnJpZXI8U3RydWN0dXJlPiBtX2NhbGxlZVN0cnVjdHVyZTsKICAgICBXcml0ZUJhcnJpZXI8U3Ry
dWN0dXJlPiBtX2Z1bmN0aW9uU3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+
IG1fYm91bmRGdW5jdGlvblN0cnVjdHVyZTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYXJyb3dGdW5jdGlvblN0cnVj
dHVyZTsKKyNlbmRpZgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fbmFtZWRGdW5jdGlv
blN0cnVjdHVyZTsKICAgICBQcm9wZXJ0eU9mZnNldCBtX2Z1bmN0aW9uTmFtZU9mZnNldDsKICAg
ICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3ByaXZhdGVOYW1lU3RydWN0dXJlOwpAQCAtNDU2
LDYgKzQ1OSw5IEBAIHB1YmxpYzoKICAgICBTdHJ1Y3R1cmUqIGNhbGxlZVN0cnVjdHVyZSgpIGNv
bnN0IHsgcmV0dXJuIG1fY2FsbGVlU3RydWN0dXJlLmdldCgpOyB9CiAgICAgU3RydWN0dXJlKiBm
dW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fZnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0
KCk7IH0KICAgICBTdHJ1Y3R1cmUqIGJvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJl
dHVybiBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFN0cnVjdHVyZSogYXJyb3dGdW5jdGlvblN0cnVjdHVy
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQorI2Vu
ZGlmCiAgICAgU3RydWN0dXJlKiBuYW1lZEZ1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1
cm4gbV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CiAgICAgUHJvcGVydHlPZmZzZXQg
ZnVuY3Rpb25OYW1lT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9mdW5jdGlvbk5hbWVPZmZzZXQ7
IH0KICAgICBTdHJ1Y3R1cmUqIG51bWJlck9iamVjdFN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJu
IG1fbnVtYmVyT2JqZWN0U3RydWN0dXJlLmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbHRoaXMuanMgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbHRo
aXMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNjEyZmJhZjgwNDQ4MmM3NzYxYzM3ZGQ2OTNhODQ4NWU1NTExNTcz
ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YXJyb3dmdW5jdGlvbi1sZXhpY2FsdGhpcy5qcwpAQCAtMCwwICsxLDMxIEBACit2YXIgcmVzdWx0
OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2Up
IHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4g
RXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOwor
ICB9Cit9OworCit2YXIgYWZPYmpMZXhCaW5kMiA9IGZ1bmN0aW9uICgpIHsKKyAgdGhpcy5mdW5j
ID0gKCkgPT4gdGhpczsKK307CisKK3ZhciBhZk9iakxleEJpbmQySW5zdGFuY2UgPSBuZXcgYWZP
YmpMZXhCaW5kMigpOworCit0ZXN0Q2FzZShhZk9iakxleEJpbmQySW5zdGFuY2UuZnVuYygpID09
PSBhZk9iakxleEJpbmQySW5zdGFuY2UsIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNh
bGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMyIik7CisKK3ZhciBvYmog
PSB7CisgIG1ldGhvZDogZnVuY3Rpb24gKCkgeworICAgIHJldHVybiAoKSA9PiB0aGlzOworICB9
Cit9OworCit0ZXN0Q2FzZShvYmoubWV0aG9kKCkoKSA9PT0gb2JqLCB0cnVlLCAiRXJyb3I6IHRo
aXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAj
MyIpOworCit2YXIgZmFrZSA9IHtzdGVhbDogb2JqLm1ldGhvZCgpfTsKK3Rlc3RDYXNlKGZha2Uu
c3RlYWwoKSA9PT0gb2JqLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5k
ZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNCIpOworCisKKy8vIEZpeG1lOiBmb2xs
b3dpbmcgdGVzdCBmYWlscyBpbiBkZmctZWFnZXItbm8tY2ppdC12YWxpZGF0ZSAmIGZ0bC1lYWdl
ci1uby1jaml0IG1vZGUKK3ZhciByZWFsID0ge2JvcnJvdzogb2JqLm1ldGhvZH07Cit0ZXN0Q2Fz
ZShyZWFsLmJvcnJvdygpKCkgPT09IHJlYWwsIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4
aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM1Iik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tb3Ro
ZXJzLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LW90aGVycy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYmJmODU5ZTIwM2ViMWY1NGFjYWUxZDQwODNjYTNkZDNk
Yzk3NjFmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9hcnJvd2Z1bmN0aW9uLW90aGVycy5qcwpAQCAtMCwwICsxLDMwIEBACit2YXIgcmVzdWx0
OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2Up
IHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4g
RXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOwor
ICB9Cit9OworCit2YXIgc2ltcGxlQXJyb3dGdW5jdGlvbiA9ICgpID0+IHt9OworCit0ZXN0Q2Fz
ZSh0eXBlb2Ygc2ltcGxlQXJyb3dGdW5jdGlvbiwgImZ1bmN0aW9uIiwgIkVycm9yOiBOb3QgY29y
cmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShPYmplY3QuZ2V0
UHJvdG90eXBlT2Yoc2ltcGxlQXJyb3dGdW5jdGlvbiksIEZ1bmN0aW9uLnByb3RvdHlwZSwgIkVy
cm9yOiBOb3QgY29ycmVjdCBnZXRQcm90b3R5cGVPZiB2YWx1ZSBmb3IgYXJyb3cgZnVuY3Rpb24i
KTsKKwordGVzdENhc2Uoc2ltcGxlQXJyb3dGdW5jdGlvbiBpbnN0YW5jZW9mIEZ1bmN0aW9uLCB0
cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgaW5zdGFuY2VvZiBtZXRob2QgZm9y
IGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93RnVuY3Rpb24uY29uc3Ry
dWN0b3IgPT0gRnVuY3Rpb24sIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBj
b25zdHJ1Y3RvciBtZXRob2Qgb2YgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2UodHlwZW9m
IHNpbXBsZUFycm93RnVuY3Rpb24ucHJvdG90eXBlID09PSAndW5kZWZpbmVkJywgdHJ1ZSwgIkVy
cm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiIp
OworCit2YXIgZXJyb3JPbkNyZWF0ZSA9IGZhbHNlOworCit0cnkgeworICB2YXIgZmMgPSBuZXcg
c2ltcGxlQXJyb3dGdW5jdGlvbigpOworfQorY2F0Y2ggKGUpIHsKKyAgZXJyb3JPbkNyZWF0ZSA9
IHRydWU7Cit9CisKK3Rlc3RDYXNlKGVycm9yT25DcmVhdGUsIHRydWUsICJFcnJvcjogTm8gZXJy
b3IgZHVyaW5nIHJ1biBuZXcgQXJyb3dGdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLmpzIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA2ODdi
M2FhYjFkMjdmNDUzZjkwNzYxY2VjMWFkNGQwNWNmMDNiMzUKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24uanMKQEAgLTAs
MCArMSwxNTQgQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0
dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgewor
ICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3
YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBhcnJvd0Z1bmN0aW9uMCA9IHYg
PT4gdiArIDE7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMCgxMCk7Cit0ZXN0Q2FzZShyZXN1bHQs
IDExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246
IHYgPT4gdiArIDEiKTsKKwordmFyIGFycm93RnVuY3Rpb24xID0gKHYpID0+IHYgKiAyOworcmVz
dWx0ID0gYXJyb3dGdW5jdGlvbjEoMTApOwordGVzdENhc2UocmVzdWx0LCAyMCAsIkVycm9yOiBO
b3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAodikgPT4gdiArIDEi
KTsKKwordmFyIGFycm93RnVuY3Rpb24yID0gKCkgPT4gMTAwMDsKK3Jlc3VsdCA9IGFycm93RnVu
Y3Rpb24yKDEyMTIpOwordGVzdENhc2UocmVzdWx0LCAxMDAwICwiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICgpID0+IDEwMDAiKTsKKwordmFyIHRt
cFZhcmlhbHZlMl8xID0gMTUxOwordmFyIGFycm93RnVuY3Rpb24yXzEgPSAoKSA9PiB0bXBWYXJp
YWx2ZTJfMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24yXzEoMTIxKTsKK3Rlc3RDYXNlKHJlc3Vs
dCwgdG1wVmFyaWFsdmUyXzEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbjogKCkgPT4gdmFyaWFibGUiKTsKKwordmFyIGFycm93RnVuY3Rpb24zID0g
KHYsIHgpID0+IHYgKyB4OworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjMoMTEsMTIpOwordGVzdENh
c2UocmVzdWx0LCAyMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uOiAoeCwgeSkgPT4geCArIHkiKTsKKwordmFyIGFycm93RnVuY3Rpb25XcmFwcGVy
ID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRlcikgeyByZXR1cm4gY2wocGFyYW10ZXIpOyB9OworCity
ZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEyMzQpOwordGVzdENhc2UocmVzdWx0
LCAxMjM0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjKSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldy
YXBwZXIoeCA9PiAxMjM0LCAyMzQ1KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIzNCAsIkVycm9yOiBO
b3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBm
KHggPT4gYywgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4gMTIx
ICsgMjMyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzUzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1
dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjMSArIGMyKSIp
OworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMjMgKyAzMjEsIDk5OTkp
OwordGVzdENhc2UocmVzdWx0LCA0NDQgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMxICsgYzIsIHkpIik7CisK
KyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IHggKyAxMiwgMjEpOwordGVzdENh
c2UocmVzdWx0LCAzMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4geCArIGMxLCB5KSIpOworCisgcmVzdWx0ID0g
YXJyb3dGdW5jdGlvbldyYXBwZXIoKHgpID0+IHggKyAyMSwgMzIpOwordGVzdENhc2UocmVzdWx0
LCA1MywgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9u
IGFzIHBhcmFtdGVyOiBmKCh4KSA9PiBjMSArIGMyLCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dG
dW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwLCAiRXJyb3I6
IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6
IGYoKCkgPT4gYykiKTsKKworIHZhciBleHRfdmFsdWUgPSAxMjE7CityZXN1bHQgPSBhcnJvd0Z1
bmN0aW9uV3JhcHBlcigoKSA9PiBleHRfdmFsdWUpOwordGVzdENhc2UocmVzdWx0LCAxMjEsICJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJh
bXRlcjogZigoKSA9PiB2KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkg
PT4gZXh0X3ZhbHVlICogMTApOwordGVzdENhc2UocmVzdWx0LCAxMjEwICwiRXJyb3I6IE5vdCBj
b3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkg
PT4gdip4KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKHgpID0+IGV4dF92
YWx1ZSAqIHgsIDMwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzAqZXh0X3ZhbHVlICwiRXJyb3I6IE5v
dCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYo
KHgpID0+IHYqeCwgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+
IDEwMCwgMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhl
Y3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjMSwgeSki
KTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCArIDEwKTsKK3Rl
c3RDYXNlKHJlc3VsdCwgMTEwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYzEgKyBjMikiKTsKKworIHJlc3Vs
dCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCArIDExLCAxMik7Cit0ZXN0Q2FzZShy
ZXN1bHQsIDExMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1
bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMxICsgYzIsIHkpIik7CisKKyB2YXIgYXJyb3dG
dW5jdGlvbjQgPSB2ID0+IHYgKyAxLCB4eXoxID0gMTAxMDE7CityZXN1bHQgPSBhcnJvd0Z1bmN0
aW9uNCgxMDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAxMiAsIkVycm9yOiBOb3QgY29ycmVjdCBw
YXJzaW5nIG9mIHRoIGFycm93IGZ1bmN0aW9uIGluc2lkZSBvZiB0aGUgbGlzdCBvZiB2YXJzOiB2
YXIgYWYgPSB2PT4gdiArIDE7IHp4Yz1jOyIpOwordGVzdENhc2UoeHl6MSwgMTAxMDEgLCJFcnJv
cjogTm90IGNvcnJlY3QgcGFyc2luZyBvZiB0aCBhcnJvdyBmdW5jdGlvbiBpbnNpZGUgb2YgdGhl
IGxpc3Qgb2YgdmFyczogdmFyIGFmID0gdj0+IHYgKyAxOyB6eGM9YzsiKTsKKworIHZhciBhcnJv
d0Z1bmN0aW9uV3JhcHBlcjIgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVyMSwgcGFyYW10ZXIyKSB7
IHJldHVybiBjbChwYXJhbXRlcjEsIHBhcmFtdGVyMik7IH07CityZXN1bHQgPSBhcnJvd0Z1bmN0
aW9uV3JhcHBlcjIoKHgsIHkpID0+IHggKyB5LCAxMiAsNDMpOwordGVzdENhc2UocmVzdWx0LCA1
NSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFz
IHBhcmFtZXRlcjogZigoeCwgeSkgPT4geCArIHksIGMxLCBjMikiKTsKKworIHZhciBhcnJvd0Z1
bmN0aW9BcnJheTAgPSBbdiA9PiB2ICogMTBdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkw
WzBdKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1
dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogW3Y9PnYqMTBdIik7
CisKKyB2YXIgYXJyb3dGdW5jdGlvQXJyYXkxID0gW3YgPT4gdiArIDEsIHYgPT4gdiArIDJdOwor
cmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkxWzBdKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEg
LCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBp
dGVtIGluIGFycmF5OiBbdiA9PiB2ICsgMSwgIHYgPT4gdiArIDJdIik7CityZXN1bHQgPSBhcnJv
d0Z1bmN0aW9BcnJheTFbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMyAsIkVycm9yOiBOb3Qg
Y29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6
IFt2ID0+IHYgKyAxLCAgdiA9PiB2ICsgMl0iKTsKKworIHZhciBhcnJvd0Z1bmN0aW9BcnJheTIg
PSBbKHYpID0+IHYgKyAxLCAodikgPT4gdiArIDJdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJy
YXkyWzBdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhl
Y3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKHYpID0+IHYg
KyAxLCAgKHYpID0+IHYgKyAyXSIpOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkyWzFdKDEx
KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKHYpID0+IHYgKyAxLCAgKHYp
ID0+IHYgKyAyXSIpOworCisgdmFyIGFycm93RnVuY3Rpb0FycmF5MyA9IFsoKSA9PiAxMDEsICgp
ID0+IDEyMzIzXTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5M1swXSgxMSk7Cit0ZXN0Q2Fz
ZShyZXN1bHQsIDEwMSwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsoKSA9PiBjMSwgICgpID0+IGMyXSIpOworcmVz
dWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkzWzFdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIzMjMs
ICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBp
dGVtIGluIGFycmF5OiBbKCkgPT4gYzEsICAoKSA9PiBjMl0iKTsKKwordmFyIGFycm93RnVuY3Rp
b25PYmogPSB7ZnVuYyA6IHkgPT4geSArIDEyfTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25PYmou
ZnVuYygxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIzICwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVj
dXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHByb3BlcnR5OiB7ZnVuYyA6IHkgPT4geSAr
IDEyIH0iKTsKKwordmFyIGFmT2JqTGV4QmluZDIgPSBmdW5jdGlvbiAoKSB7CisgIHRoaXMuZnVu
YyA9ICgpID0+IHRoaXM7Cit9OworCit2YXIgYXJyb3dGYXRGdW5jdGlvbjAgPSAoKSA9PiB7IHJl
dHVybiAxMDAwOyB9OworcmVzdWx0ID0gYXJyb3dGYXRGdW5jdGlvbjAoMTEpOwordGVzdENhc2Uo
cmVzdWx0LCAxMDAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiAoKSA9PiB7IHJldHVybiAxMDAwOyB9Iik7CisK
K3ZhciBhcnJvd0ZhdEZ1bmN0aW9uMSA9IHYgPT4geyB2YXIgaW50dmFsID0gMTAwOyByZXR1cm4g
diAqIGludHZhbDsgfTsKK3Jlc3VsdCA9IGFycm93RmF0RnVuY3Rpb24xKDExKTsKK3Rlc3RDYXNl
KHJlc3VsdCwgMTEwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogeCA9PiB7IHZhciB2PTEwMDA7IHJldHVybiB2
Kng7IH0iKTsKKwordmFyIGFycm93RmF0RnVuY3Rpb24yID0gKHYpID0+IHsgdmFyIGludCA9IDIw
MDsgcmV0dXJuIHYgKiBpbnQ7IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0aW9uMigxMSk7Cit0
ZXN0Q2FzZShyZXN1bHQsIDIyMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICh4KSA9PiB7IHZhciB2PTEwMDA7
IHJldHVybiB2Kng7IH0iKTsKKwordmFyIGFycm93RmF0RnVuY3Rpb24zID0gKHYsIHgpID0+IHsg
dmFyIHJlc3VsdCA9IHggKiB2OyByZXR1cm4gcmVzdWx0OyB9OworcmVzdWx0ID0gYXJyb3dGYXRG
dW5jdGlvbjMoMTEsIDEyMjIyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTM0NDQyICwiRXJyb3I6IE5v
dCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJs
b2NrOiAodiwgeCkgPT4geyB2YXIgcmVzdWx0ID0geCAqIHY7IHJldHVybiByZXN1bHQ7IH0iKTsK
KworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeD0+e3JldHVybiB4ICogMjU7fSwgMTIx
KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjUqMTIxICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiBmKHggPT4ge3JldHVy
biB4ICogMjU7fSwgMTIxKSIpOworCityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcjIoKHgs
IHkpPT57cmV0dXJuIHggKiB5O30sIDE0LCAxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDE0KjEyICwi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBi
b2R5IGFzIGJsb2NrOiBmKCh4LCB5KT0+e3JldHVybiB4ICogeTt9LCAxNCwgMTIxKSkiKTsKKwor
dmFyIHNpbXBsZUFycm93RnVuY3Rpb24gPSAoKSA9PiB7fTsKKwordGVzdENhc2UodHlwZW9mIHNp
bXBsZUFycm93RnVuY3Rpb24sICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNvcnJlY3QgdHlwZSBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2UoT2JqZWN0LmdldFByb3RvdHlwZU9m
KHNpbXBsZUFycm93RnVuY3Rpb24pLCBGdW5jdGlvbi5wcm90b3R5cGUsICJFcnJvcjogTm90IGNv
cnJlY3QgZ2V0UHJvdG90eXBlT2YgdmFsdWUgZm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RD
YXNlKHNpbXBsZUFycm93RnVuY3Rpb24gaW5zdGFuY2VvZiBGdW5jdGlvbiwgdHJ1ZSwgIkVycm9y
OiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIGluc3RhbmNlb2YgbWV0aG9kIGZvciBhcnJvdyBmdW5j
dGlvbiIpOworCit0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uLmNvbnN0cnVjdG9yID09IEZ1
bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgY29uc3RydWN0b3Ig
bWV0aG9kIG9mIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHR5cGVvZiBzaW1wbGVBcnJv
d0Z1bmN0aW9uLnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJFcnJvcjogTm90IGNv
cnJlY3QgcmVzdWx0IGZvciBwcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24iKTsKKwordmFyIGVy
cm9yT25DcmVhdGUgPSBmYWxzZTsKKwordHJ5IHsKKyAgdmFyIGZjID0gbmV3IHNpbXBsZUFycm93
RnVuY3Rpb24oKTsKK30KK2NhdGNoIChlKSB7CisgIGVycm9yT25DcmVhdGUgPSB0cnVlOworfQor
Cit0ZXN0Q2FzZShlcnJvck9uQ3JlYXRlLCB0cnVlLCAiRXJyb3I6IE5vIGVycm9yIGR1cmluZyBy
dW4gbmV3IEFycm93RnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOGIxMTJmYWU0NWI5NTdkZDI2
NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkzYzY4
NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRI
ID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZf
Q0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CitFTkFCTEVfRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9D
U1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yID0gRU5BQkxFX0NTU19B
TklNQVRJT05TX0xFVkVMXzI7CkBAIC0yMTQsNCArMjE1LDQgQEAgRU5BQkxFX0xMSU5UX0NfTE9P
UCA9IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRV
UkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNE
X1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFC
TEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5B
QkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJ
TFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVM
XzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBP
U0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklE
X0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1B
R0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RP
UlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5B
QkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChF
TkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkg
JChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykg
JChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEp
ICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAk
KEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFC
TEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NB
VElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxF
X0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJM
RV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxP
Q0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFS
R0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9T
SVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVO
RE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVH
QUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVf
TEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChF
TkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5B
QkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01I
VE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05U
RU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NL
KSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVf
UFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklN
QVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1P
VEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9S
VUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hf
U1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykg
JChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVf
VEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQo
RU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9U
T1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9V
U0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVO
QUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJM
RV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJM
RV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlO
RykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJM
RV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxF
X1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9O
X01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1ND
Uk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1F
TlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQo
RU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxF
X0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1Nf
QU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQo
RU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAk
KEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVO
QUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVf
Q1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09S
X1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFT
SEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFf
VFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNF
X09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJ
TFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFND
UkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkg
JChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJP
VFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMp
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5f
V09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQo
RU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVM
RVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJM
RV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJf
QVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVO
QUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVE
SUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVN
RU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJM
RV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVO
Q1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5B
QkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9F
VkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5B
QkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVU
RSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9R
VUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkg
JChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxF
X1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05W
RVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1Q
TEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdf
V09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9W
SURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NT
U19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VC
X1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQo
RU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJf
VElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRf
Q19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJ
REVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9tYWMv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOGIxMTJmYWU0NWI5
NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFm
MDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxF
X0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9
IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsK
IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CitFTkFC
TEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklO
RzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yID0g
RU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBAIC0yMTQsNCArMjE1LDQgQEAgRU5BQkxF
X0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9
IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9
ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBU
SU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJ
T05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklN
QVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFC
TEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5B
QkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxF
X0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1Mz
X1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklT
SUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9B
UkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFO
U0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVS
U19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVO
QUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJ
TkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JL
RVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lP
U19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xF
R0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJ
TykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxF
X01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9T
T1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQp
ICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05B
VklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkg
JChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVf
UE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5U
UykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVf
UkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAk
KEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZ
KSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVO
QUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VC
VExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRF
UikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRF
X0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JE
KSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVP
X1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01F
RElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQ
TEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFC
TEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1F
T1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xP
T1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9f
UFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVS
SU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRB
Q0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FO
VkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAk
KEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJ
T05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9B
REFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9P
UklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19S
RUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBF
UykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChF
TkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikg
JChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQo
RU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChF
TkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RP
UikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIp
ICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURf
REVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RP
TV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJ
Q0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05U
SCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQo
RU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZF
TlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxF
X0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BS
RUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkg
JChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1ND
QUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9S
X0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9Q
TFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxF
X1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVf
UVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNU
X0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xV
VElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19T
Q1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19B
UEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVf
U1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAk
KEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9D
U1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVP
KSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVf
VklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykg
JChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RV
UkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAk
KEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChF
TkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMp
ICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dl
YktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOGIxMTJm
YWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0OGE3Njk3MmYxMTRjMzgzZDMy
NjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdDIvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxF
X0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9
IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsK
IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CitFTkFC
TEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklO
RzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yID0g
RU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBAIC0yMTQsNCArMjE1LDQgQEAgRU5BQkxF
X0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9
IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9
ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBU
SU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJ
T05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklN
QVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFC
TEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5B
QkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxF
X0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1Mz
X1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklT
SUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9B
UkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFO
U0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVS
U19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVO
QUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJ
TkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JL
RVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lP
U19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xF
R0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJ
TykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxF
X01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9T
T1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQp
ICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05B
VklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkg
JChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVf
UE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5U
UykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVf
UkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAk
KEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZ
KSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVO
QUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VC
VExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRF
UikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRF
X0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JE
KSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVP
X1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01F
RElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQ
TEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFC
TEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1F
T1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xP
T1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9f
UFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVS
SU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRB
Q0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FO
VkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAk
KEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJ
T05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9B
REFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9P
UklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19S
RUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBF
UykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChF
TkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikg
JChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQo
RU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChF
TkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RP
UikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIp
ICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURf
REVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RP
TV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJ
Q0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05U
SCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQo
RU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZF
TlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxF
X0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BS
RUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkg
JChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1ND
QUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9S
X0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9Q
TFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxF
X1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVf
UVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNU
X0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xV
VElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19T
Q1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19B
UEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVf
U1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAk
KEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9D
U1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVP
KSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVf
VklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykg
JChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RV
UkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAk
KEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChF
TkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMp
ICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9j
bWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5j
bWFrZQppbmRleCAzMmMyMzVkOThiNWE0MjBlYmUzMzQ4MzRjN2I2YTQxODJiMjIyMjBhLi5hNjc1
MzcxNDU2MjdjZDM4YTI3MDc5Y2Q1ZGZlOTg2ODJjOTFmNDY1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
Y21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1
cmVzLmNtYWtlCkBAIC0yOCw2ICsyOCw3IEBAIG1hY3JvKFdFQktJVF9PUFRJT05fQkVHSU4pCiAg
ICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NBTlZBU19QUk9YWSAiVG9nZ2xlIENhbnZh
c1Byb3h5IHN1cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ0hB
Tk5FTF9NRVNTQUdJTkcgIlRvZ2dsZSBNZXNzYWdlQ2hhbm5lbCBhbmQgTWVzc2FnZVBvcnQgc3Vw
cG9ydCIgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0VTNl9DTEFTU19TWU5U
QVggIlRvZ2dsZSBFUzYgY2xhc3Mgc3ludGF4IHN1cHBvcnQiIE9OKQorICAgIFdFQktJVF9PUFRJ
T05fREVGSU5FKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggIlRvZ2dsZSBFUzYgYXJy
b3cgZnVuY3Rpb24gc3ludGF4IHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5F
KEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyAiVG9nZ2xlIGNvbnRlbnQgZmlsdGVyaW5nIHN1cHBv
cnQiIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ09OVEVYVF9NRU5VUyAi
VG9nZ2xlIENvbnRleHQgTWVudSBzdXBwb3J0IiBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklO
RShFTkFCTEVfQ1NQX05FWFQgIlRvZ2dsZSBDb250ZW50IFNlY3VyaXR5IFBvbGljeSAxLjEgc3Vw
cG9ydCIgT0ZGKQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UgYi9Tb3Vy
Y2UvY21ha2Vjb25maWcuaC5jbWFrZQppbmRleCAyMWQzZmNjNWQ5ODNmOTU5NWRlZjM1MTA1Njhj
ZGM5ODk2NTI0NmVkLi5jZjFhZmU1NmM1ZjBmMjYwOTkwOTBlNTFiN2IyYTY2MDNlYTA3MzIxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2Vj
b25maWcuaC5jbWFrZQpAQCAtMTMsNiArMTMsNyBAQAogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NB
TlZBU19QUk9YWQogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HCiAjY21h
a2VkZWZpbmUwMSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWAorI2NtYWtlZGVmaW5lMDEgRU5BQkxF
X0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWAogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ09OVEVYVF9NRU5VUwogI2NtYWtlZGVm
aW5lMDEgRU5BQkxFX0NSRURFTlRJQUxfU1RPUkFHRQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0Zl
YXR1cmVMaXN0LnBtCmluZGV4IDE2ZmQ2NDljNjhkNmIzZDQzZDBiMzFlMzM1NzkwNGZjODcyNGE3
ZWIuLjIyM2IzMTFiY2ZiYWIyYzI2OGE3ZjI2NTJkMTRlZDE5NjM3ZmRmY2UgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQorKysgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KQEAgLTQ0LDYgKzQ0LDcgQEAgQkVHSU4gewog
bXkgKAogICAgICR0aHJlZURSZW5kZXJpbmdTdXBwb3J0LAogICAgICRhY2NlbGVyYXRlZDJEQ2Fu
dmFzU3VwcG9ydCwKKyAgICAkYXJyb3dmdW5jdGlvblN5bnRheCwKICAgICAkYmF0dGVyeVN0YXR1
c1N1cHBvcnQsCiAgICAgJGNhbnZhc1BhdGhTdXBwb3J0LAogICAgICRjYW52YXNQcm94eVN1cHBv
cnQsCkBAIC0xNTQsNiArMTU1LDkgQEAgbXkgQGZlYXR1cmVzID0gKAogICAgIHsgb3B0aW9uID0+
ICJhY2NlbGVyYXRlZC0yZC1jYW52YXMiLCBkZXNjID0+ICJUb2dnbGUgQWNjZWxlcmF0ZWQgMkQg
Q2FudmFzIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQUNDRUxFUkFURURfMkRf
Q0FOVkFTIiwgZGVmYXVsdCA9PiBpc0d0aygpLCB2YWx1ZSA9PiBcJGFjY2VsZXJhdGVkMkRDYW52
YXNTdXBwb3J0IH0sCiAKKyAgICB7IG9wdGlvbiA9PiAiYXJyb3dmdW5jdGlvbi1zeW50YXgiLCBk
ZXNjID0+ICJUb2dnbGUgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheCBzdXBwb3J0IiwKKyAgICAg
IGRlZmluZSA9PiAiRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCIsIGRlZmF1bHQgPT4g
MSwgdmFsdWUgPT4gXCRhcnJvd2Z1bmN0aW9uU3ludGF4IH0sCisKICAgICB7IG9wdGlvbiA9PiAi
YmF0dGVyeS1zdGF0dXMiLCBkZXNjID0+ICJUb2dnbGUgQmF0dGVyeSBTdGF0dXMgc3VwcG9ydCIs
CiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9CQVRURVJZX1NUQVRVUyIsIGRlZmF1bHQgPT4gaXNF
ZmwoKSwgdmFsdWUgPT4gXCRiYXR0ZXJ5U3RhdHVzU3VwcG9ydCB9LAogCmRpZmYgLS1naXQgYS9D
aGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggNGVkODZhNmY4ODk4ZDMxZTM4MDUwYjMyYTU0Y2E3
NmJlMWQ2MTZkZi4uZTkxYzdjYTIwMGJlNzE0YzY4OTk2NTdlOTZjMjUyYjBkMDllZGE0OSAxMDA2
NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE1
LTA0LTAxICAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisgICAg
ICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxh
ZyB0byBzd2l0Y2ggb24vb2ZmIGVzNiBhcnJvdyBmdW5jdGlvbiBFTkFCTEVfRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYCisKKyAgICAgICAgICogU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNt
YWtlOgorICAgICAgICAgKiBTb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZToKKwogMjAxNS0wMy0y
OSAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtD
TWFrZV0gVXBkYXRlIG9sZCBDTWFrZUxpc3QudHh0IGluIGd0ZXN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249946</attachid>
            <date>2015-04-01 15:12:33 -0700</date>
            <delta_ts>2015-04-02 02:23:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150402011147.patch</filename>
            <type>text/plain</type>
            <size>133314</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyMjA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
ZmNjM2QxNTdiYmMyNzhhZGUyOTEyOTc3ZWI5MzAxYTA5YTJjYjA4Li41NTRhYjEzZWJkNmIyOGU4
NWY4OTQ2MzBhYjk1MGY4MDQ1YWJmZTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMTUgQEAKKzIwMTUtMDQtMDEgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MDg1NQorCisgICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGRlZCBzdXBwb3J0IG9mIEVTNiBhcnJvdyBmdW5jdGlvbi4gQ2hhbmdlcyB3ZXJlIG1hZGUgYWNj
b3JkaW5nIGZvbGxvd2luZyBzcGVjIGh0dHA6Ly93aWtpLmVjbWFzY3JpcHQub3JnL2Rva3UucGhw
P2lkPWhhcm1vbnk6YXJyb3dfZnVuY3Rpb25fc3ludGF4CisgICAgICAgIEluIHBhdGNoIHdlcmUg
aW1wbGVtZW50ZWQgdGhlIHNpbXBsZXN0IGNhc2VzOgorICAgICAgICAgIDEgbm8gcGFyYW1ldGVy
cyAgICAgICAgICAgICAgICAoKSA9PiAxMCArIDIwCisgICAgICAgICAgMiBzaW5nbGUgcGFyYW1l
dGVyICAgICAgICAgICAgICB4ID0+IHggKyAyMAorICAgICAgICAgIDMgbXVsdGlwbGUgcGFyYW1l
dGVycyAgICAgICh4LCB5KSA9PiB4ICsgeQorICAgICAgICAgIDQgYXJyb3cgZnVuY3Rpb24gd2l0
aCBibG9jayAgICAgeCA9PiB7IHJldHVybiB4KjEwOyB9CisgICAgICAgICAgNSBsZXhpY2FsIHRo
aXMgLSB2YXJpYWJsZSB0aGlzIGlzIHBvaW50IHRvIHRoZSB0aGlzIG9mIHRoZSBmdW5jdGlvbiB3
aGVyZSBhcnJvdyBmdW5jdGlvbiBpcyBkZWNsYXJlZAorICAgICAgICAgIDYgTm8gY29uc3RydWN0
b3IgLSB0aGUgdXNpbmcgb2YgdGhlIGNvbW1hbmQgbmV3IGZvciBhcnJvdyBmdW5jdGlvbiBsZWFk
cyB0byBydW50aW1lIGVycm9yLiAKKworICAgICAgICAgTm90IHlldCBpbXBsZW1lbnRlZDoKKyAg
ICAgICAgICAxIHRoZSB2YXJpYWJsZSB3aXRoIG5hbWUgYXJndW1lbnRzIGluc2lkZSBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gc2hvdWxkIHBvaW50IHRvIGxpc3Qgb2YgYXJndW1lbnRzIG9mIGZ1bmN0
aW9uIHdoZXJlIGFycm93IGZ1bmN0aW9uIGlzIGRlY2xhcmVkCisgICAgICAgICAgMiBwYXJzZXIg
d2lsbCBwYXJzZSB0aGUgc3RhdGVtZW50IHgsIHkgPT4geCArIHkgaW5zdGVhZCBvZiByYWlzaW5n
IGV4Y2VwdGlvbgorICAgICAgICAgIDMgbWV0aG9kIGNhbGwsIGFwcGx5LCBiaW5kIHNob3VsZCBu
b3Qgb3ZlcnJpZGUgdGhlIHRoaXMgdmFyaWFibGUgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlv
bgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6Cisg
ICAgICAgICogSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qOgor
ICAgICAgICAqIGJ5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uOgorICAgICAgICAqIGJ5dGVjb2Rl
L0J5dGVjb2RlVXNlRGVmLmg6CisgICAgICAgIChKU0M6OkZ1bmN0b3I6OmNvbXB1dGVVc2VzRm9y
Qnl0ZWNvZGVPZmZzZXQpOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAg
ICAgIChKU0M6OkNvZGVCbG9jazo6ZHVtcEJ5dGVjb2RlKToKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVH
ZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Fy
cm93RnVuY3Rpb25FeHByZXNzaW9uKTogYWRkZWQKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5l
cmF0b3I6OmVtaXRUaGlzTm9kZUJ5dGVjb2RlKTogYWRkZWQKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvTm9kZXNDb2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6ZW1pdEJ5dGVjb2RlOjplbWl0Qnl0
ZWNvZGUpOiBhZGRlZAorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHByTm9kZTo6ZW1pdEJ5dGVj
b2RlKTogYWRkZWQKKyAgICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAg
ICAoSlNDOjpCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgICogZGZnL0RGR0Nh
cGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkNhcGFiaWxpdHlMZXZlbDo6Y2FwYWJpbGl0
eUxldmVsKToKKyAgICAgICAgKiBqaXQvSklULmg6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9v
cF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRJbmxpbmVzLmg6
CisgICAgICAgIChKU0M6OkpJVDo6Y2FsbE9wZXJhdGlvbik6IGFkZGVkCisgICAgICAgICogaml0
L0pJVC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcyk6Cisg
ICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3Bf
bmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5j
cHA6CisgICAgICAgIChKU0M6OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5ld0Fycm93RnVuY3Rp
b24pOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmg6CisgICAgICAgIChKU0M6
OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24pOiBhZGRlZAorICAgICAg
ICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAgICAgICAgKExMSU5UX1NMT1dfUEFUSF9E
RUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGxsaW50
L0xMSW50U2xvd1BhdGhzLmg6CisgICAgICAgIChMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3Bh
dGhfbmV3X2Fycm93X2Z1bmNfZXhwKSk6IGFkZGVkCisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206CisgICAgICAgICogcGFyc2VyL0FTVEJ1aWxkZXIuaDoKKyAgICAgICAg
KEpTQzo6QVNUQnVpbGRlcjo6Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIpOgorICAgICAgICAqIHBh
cnNlci9MZXhlci5jcHA6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9u
KToKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OmxleCk6CisgICAgICAgICogcGFyc2VyL0xleGVy
Lmg6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9uKToKKyAgICAgICAg
KiBwYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oOgorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHBy
Tm9kZTo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZAorICAgICAgICAqIHBhcnNlci9Ob2Rlcy5o
OgorICAgICAgICAoSlNDOjpOb2RlOjppc0Fycm93RnVuY0V4cHJOb2RlKTogYWRkZWQKKyAgICAg
ICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZCBjbGFzcworICAgICAgICAqIHBhcnNl
ci9QYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3Vy
Y2VFbGVtZW50cyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1h
cnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZVNvdXJjZUVsZW1lbnQp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6
UGFyc2VyOjpwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwYXJzZVByaW1hcnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFy
cm93RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6c2V0RW5kT2ZTdGF0ZW1lbnQp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIpOgorICAg
ICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkluZm8pOgorICAgICAgICAoSlND
OjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkJvZHkpOgorICAgICAgICAqIHBhcnNlci9QYXJz
ZXIuaDoKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpGdW5jdGlvblBhcnNlVHlwZSk6CisgICAgICAg
IChKU0M6OlBhcnNlcjo6cGFyc2VTb3VyY2VFbGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0V4cHJl
c3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnNldEVuZE9mU3RhdGVtZW50KToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKToKKyAgICAgICAgKiBw
YXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmg6CisgICAgICAgICogcGFyc2VyL1BhcnNlclRva2Vu
cy5oOgorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmFycm93RnVuY3Rpb25PZmZz
ZXQpOiBhZGRlZAorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmlzQXJyb3dGdW5j
dGlvbik6IGFkZGVkCisgICAgICAgIChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6YXJyb3dGdW5j
dGlvbkJvZHlUeXBlKTogYWRkZWQKKyAgICAgICAgKiBwYXJzZXIvU291cmNlQ29kZS5oOgorICAg
ICAgICAoSlNDOjpTb3VyY2VDb2RlOjpzdWJBcnJvd0V4cHJlc3Npb24pOgorICAgICAgICAqIHBh
cnNlci9TeW50YXhDaGVja2VyLmg6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNyZWF0
ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAgICAgKiBwYXJzZXIvU291cmNlUHJvdmlkZXJDYWNo
ZUl0ZW06CisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJh
bWV0ZXJzKToKKyAgICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0pOgorICAgICAg
ICAoSlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6ZW5kQXJyb3dGdW5jdGlvblRva2VuKToK
KyAgICAgICAgKiBydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oOiBhZGRlZCBjbGFzcyBmb3IgaGFu
ZGxlIGFycm93IGZ1bmN0aW9uIGNyZWF0aW9uIGFuZCBleGVjdXRpb24KKyAgICAgICAgKiBydW50
aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHA6CisgICAgICAgICogcnVudGltZS9KU0Z1bmN0aW9uLmg6
CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OkpTRnVuY3Rpb24pOiBhZGRlZCBvbmUgbW9yZSBj
b25zdHJ1Y3RvcgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaDoKKyAgICAg
ICAgKEpTQzo6SlNGdW5jdGlvbjo6SlNGdW5jdGlvbik6IGFkZGVkIGNvbnN0cnVjdG9yIGltcGxl
bWVudGF0aW9uCisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAg
IChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmpl
Y3Q6Om1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZSk6IGFkZGVkCisgICAgICAgIChKU0M6OkpTR2xv
YmFsT2JqZWN0OjphcnJvd0Z1bmN0aW9uU3RydWN0dXJlKToKKyAgICAgICAgKiB0ZXN0cy9zdHJl
c3MvanMvYXJyb3dmdW5jdGlvbi5qczoKKwogMjAxNS0wMy0zMSAgWXVzdWtlIFN1enVraSAgPHV0
YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBDbGVhbiB1cCBJZGVudGlmaWVyIGZhY3Rv
cmllcyB0byBjbGFyaWZ5IHRoZSBtZWFuaW5nIG9mIFN0cmluZ0ltcGwqCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ODczZjY4NTA1NmJiN2U0NzdiNmI2OTVkZmFjYjBhZWJhNThlYTQ0Ny4uMzc0MzhmNDQxMmFkNjM5
YTc0OTY4ZjNmM2VjOTdjM2QzYTNlZmIyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDE1LTA0LTAxICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAg
ICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUg
ZmxhZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgor
CisgICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAy
MDE1LTAzLTMxICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAg
ICAgICAgTW92ZSBFeHBhbnNpb25CZWhhdmlvckZsYWdzIGFuZCBUZXh0RGlyZWN0aW9uIHRvIHRo
ZWlyIG93biBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNzU3ZWE0OWQwYTMwZjk0ZDU2MjJiODM1
MzVjMWJlYmQwNDMxZTk1Ni4uZWY4N2M3NWUwMDQ5YjZjOWQ4NGQxNGNlYTQwMTVmNTBhYWUyZDUy
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTA0LTAxICBTa2FjaGtv
diBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgIFtFUzZdIEltcGxl
bWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyBFTkFCTEVfRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgorCisgICAgICAgICAqIENvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1LTAzLTMxICBZdXN1a2Ug
U3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIENsZWFuIHVwIElkZW50
aWZpZXIgZmFjdG9yaWVzIHRvIGNsYXJpZnkgdGhlIG1lYW5pbmcgb2YgU3RyaW5nSW1wbCoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA3MjExMjc2NTJkODg4ZjUwMWFiNmMy
MTdiODMzNDQxOTA0M2Y1ODY0Li41MDUzZGMxN2U2ZDU4YjExMWM3MzBhOTRjYzA3NGIwY2JlNTA3
OGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC00NjYsNiArNDY2LDcg
QEAgc2V0KEphdmFTY3JpcHRDb3JlX1JVTlRJTUVfU09VUkNFUwogICAgIHJ1bnRpbWUvSlNBcnJh
eUJ1ZmZlclZpZXcuY3BwCiAgICAgcnVudGltZS9KU0FycmF5SXRlcmF0b3IuY3BwCiAgICAgcnVu
dGltZS9KU0JvdW5kRnVuY3Rpb24uY3BwCisgICAgcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3Bw
CiAgICAgcnVudGltZS9KU0dsb2JhbE9iamVjdERlYnVnZ2FibGUuY3BwCiAgICAgcnVudGltZS9K
U0NKU1ZhbHVlLmNwcAogICAgIHJ1bnRpbWUvSlNDYWxsZWUuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKaW5kZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0
OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FO
VkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgg
PSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5U
QVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklM
VEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwog
RU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVW
RUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFC
TEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRf
QVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BB
VEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVO
QUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVf
Q1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5B
QkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVO
QUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9O
KSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQo
RU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhU
X0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01f
U0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRB
TElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRB
SUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9F
VkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRf
TE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAk
KEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNF
KSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9W
RVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxF
X0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxF
X0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFC
TEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykg
JChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9D
T05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RB
VElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxF
X01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQo
RU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAk
KEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BS
T01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklY
X0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkg
JChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1Ip
ICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5H
KSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQo
RU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdf
Rk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVN
QkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9B
RElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxM
KSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVf
VkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVO
QUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRT
KSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9X
RUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5B
QkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xB
WU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFU
VVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVO
QUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFT
X1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZ
TlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xF
VkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NP
TVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19H
UklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxF
Q1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkg
JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
UykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVO
QUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJ
TUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
TEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9B
TklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQp
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVO
QUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVO
QUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5B
QkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKaW5kZXggNzQz
MzBlNzAzZGFjNGQzNjAwZWFiMjdhMGFkOGViNGFmMDBlMGIzMi4uNjIyODczZGQyZjk0NzBhOTEz
MThhY2NjZDQ3MDlkY2VhZTcyNjA4ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52
Y3hwcm9qCkBAIC03MzQsNiArNzM0LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1
bnRpbWVcSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJWaWV3LmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNCb3VuZEZ1bmN0aW9uLmNwcCIgLz4KKyAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJvd0Z1bmN0aW9uLmNwcCIgLz4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZS5jcHAiIC8+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ2FsbGVlLmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDYXRjaFNjb3BlLmNwcCIgLz4KQEAgLTE1MjYsNiArMTUy
Nyw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJW
aWV3SW5saW5lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0Fy
cmF5SXRlcmF0b3IuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNC
b3VuZEZ1bmN0aW9uLmgiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpT
QXJyb3dGdW5jdGlvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxK
U0NJbmxpbmVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0pT
VmFsdWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1
ZUlubGluZXMuaCIgLz4KQEAgLTE4MDAsNCArMTgwMiw0IEBACiAgIDxJbXBvcnRHcm91cCBMYWJl
bD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1Bh
dGgpXEJ1aWxkQ3VzdG9taXphdGlvbnNcbWFzbS50YXJnZXRzIiAvPgogICA8L0ltcG9ydEdyb3Vw
PgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYmEyZDEzNmViOTViNWE5ZmQzNTRhYjMwYThm
MzY5MWJmNzhjZWI4Ni4uZTlkNmYyNDY1ZTMzODU1ZDM2OGI0ZDIwNGUwZDc2NDZjNTZlOTg5ZiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwOTIsNiArMTA5Miw4IEBACiAJCTg2
RjNFRUJGMTY4Q0RFOTMwMDc3QjkyQSAvKiBPYmpjUnVudGltZUV4dHJhcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGM0VFQjYxNjg1NUE1QjAwNzdC
OTJBIC8qIE9iamNSdW50aW1lRXh0cmFzLmggKi87IH07CiAJCTg2RkE5RTkxMTQyQkJCMkUwMDE3
NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRGdW5j
dGlvbi5jcHAgKi87IH07CiAJCTg2RkE5RTkyMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVu
Y3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2
RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLzsgfTsKKwkJOEIw
RjQyNEMxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUyMDAzOTE3
RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCAqLzsgfTsKKwkJOEIwRjQyNEMxQUJENkRFMjAwMzkx
N0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlv
bi5oICovOyB9OwogCQk5MDIxM0UzRDEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGlj
cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIx
M0UzQjEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi87IH07CiAJCTkw
MjEzRTNFMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIxM0UzQzEyM0E0MEMyMDBENDIy
RjMgLyogTWVtb3J5U3RhdGlzdGljcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTkzMDUyQzM0MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVu
YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzA1
MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwICovOyB9OwpAQCAtMjgyNCw2
ICsyODI2LDggQEAKIAkJODZGNzVFRkQxNTFDMDYyRjAwN0M5QkEzIC8qIFJlZ0V4cE1hdGNoZXNB
cnJheS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWdFeHBNYXRj
aGVzQXJyYXkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkZBOUU4RjE0MkJC
QjJEMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTQm91bmRGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdFQSAvKiBKU0Fy
cm93RnVuY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcnJvd0Z1bmN0aW9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93
RnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcnJv
d0Z1bmN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTAyMTNFM0IxMjNB
NDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTWVtb3J5U3RhdGlzdGljcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lbW9yeVN0YXRpc3RpY3MuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8q
IFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBh
cnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ0MzgsNiArNDQ0
Miw4IEBACiAJCQkJQTdCREFFQzUxN0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJyYXlJdGVyYXRvci5o
ICovLAogCQkJCTg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3Bw
ICovLAogCQkJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAq
LywKKwkJCQk4QjBGNDI0QTFBQkQ2RDJGMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggKi8s
CisJCQkJOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgKi8s
CiAJCQkJNjU3Q0Y0NTYxOUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmNwcCAqLywKIAkJCQk2
NTdDRjQ1NzE5QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuaCAqLywKIAkJCQkwRkQ5NDk3RTFB
OTdEQjk2MDBFMjg5NjYgLyogSlNDYXRjaFNjb3BlLmNwcCAqLywKQEAgLTcxNjYsNiArNzE3Miw3
IEBACiAJCQkJMEZEOEEzMUIxN0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTE9TUkVudHJ5LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGMjM1QkRDMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjM1QkRGMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JF
eGl0Q29tcGlsZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOEIwRjQyNEMxQUJENkRFMjAwMzkx
N0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkVBMEEyQTE3
MDk2Mjk2MDBCQjcyMkMgLyogRlRMT3V0cHV0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNDg1
MzI5MTg3REZERUMwMDgzQjY4NyAvKiBGVExSZWNvdmVyeU9wY29kZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwRjZCMUNDMzE4NjJDNDc4MDA4NDVEOTcgLyogRlRMUmVnaXN0ZXJBdE9mZnNldC5j
cHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9CeXRlY29kZUxpc3QuanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9C
eXRlY29kZUxpc3QuanNvbgppbmRleCA2YjI0MzkxNTZhYjNhZmFlNmI1NThhYjkwNjZkMjIyNTE1
ZDU5ZTQ1Li40MzYwNzA5ZDhmN2U0MTgyMTVhYjJhZjk1OWJmNjQ0OGFmMDM4MDI4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24KKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCkBAIC05
NSw2ICs5NSw3IEBACiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9zd2l0Y2hfc3RyaW5nIiwg
Imxlbmd0aCIgOiA0IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfZnVuYyIsICJs
ZW5ndGgiIDogNCB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfbmV3X2Z1bmNfZXhwIiwg
Imxlbmd0aCIgOiA0IH0sCisgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfYXJyb3dfZnVu
Y19leHAiLCAibGVuZ3RoIiA6IDUgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGwi
LCAibGVuZ3RoIiA6IDkgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGxfZXZhbCIs
ICJsZW5ndGgiIDogOSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbF92YXJhcmdz
IiwgImxlbmd0aCIgOiA5IH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9C
eXRlY29kZVVzZURlZi5oCmluZGV4IDg1ZjI5MTVjN2U4ZjYwMWFkM2VjMTc4YmY2OWUzNTQ0Zjc1
NGMyY2YuLjE3YjZiZWQ4MWZlMjViNjIzMzBiYWEzZmQwMzFjNzE2YWI4OGY5YmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCkBAIC0xMTYs
NiArMTE2LDkgQEAgdm9pZCBjb21wdXRlVXNlc0ZvckJ5dGVjb2RlT2Zmc2V0KAogICAgIGNhc2Ug
b3BfZ2V0X3Byb3BlcnR5X2VudW1lcmF0b3I6CiAgICAgY2FzZSBvcF9nZXRfZW51bWVyYWJsZV9s
ZW5ndGg6CiAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRpZgog
ICAgIGNhc2Ugb3BfdG9faW5kZXhfc3RyaW5nOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29u
c3Rfbm9wOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29uc3Q6CkBAIC0zMDgsNiArMzExLDkg
QEAgdm9pZCBjb21wdXRlRGVmc0ZvckJ5dGVjb2RlT2Zmc2V0KENvZGVCbG9jayogY29kZUJsb2Nr
LCB1bnNpZ25lZCBieXRlY29kZU9mZnNldCwKICAgICBjYXNlIG9wX25ld19yZWdleHA6CiAgICAg
Y2FzZSBvcF9uZXdfZnVuYzoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhw
OgorI2VuZGlmCiAgICAgY2FzZSBvcF9jYWxsX3ZhcmFyZ3M6CiAgICAgY2FzZSBvcF9jb25zdHJ1
Y3RfdmFyYXJnczoKICAgICBjYXNlIG9wX2dldF9mcm9tX3Njb3BlOgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAppbmRleCA5ZTk1MTdlNzgxYmU1NTdmMDRm
MTdmOTNkZWM3MWI5MTZjYzlhMmFkLi4xMTU0MjBjZTExYjA4NTlmNmVlMzNhODI5YzQzMGQxOTA3
YmYxZWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNw
cApAQCAtMTI3NCw2ICsxMjc0LDE3IEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wQnl0ZWNvZGUoCiAg
ICAgICAgICAgICBvdXQucHJpbnRmKCIlcywgJXMsIGYlZCIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0
YSgpLCByZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjApOwogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBj
YXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDogeworICAgICAgICAgICAgaW50IHIwID0gKCsraXQp
LT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUub3BlcmFuZDsKKyAg
ICAgICAgICAgIGludCBmMCA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgaW50IHIy
ID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBwcmludExvY2F0aW9uQW5kT3Aob3V0
LCBleGVjLCBsb2NhdGlvbiwgaXQsICJvcF9uZXdfYXJyb3dfZnVuY19leHAiKTsKKyAgICAgICAg
ICAgIG91dC5wcmludGYoIiVzLCAlcywgZiVkLCAlcyIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0YSgp
LCByZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjAsIHJlZ2lzdGVyTmFtZShyMikuZGF0YSgpKTsK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgY2FzZSBvcF9u
ZXdfZnVuY19leHA6IHsKICAgICAgICAgICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVyYW5kOwog
ICAgICAgICAgICAgaW50IHIxID0gKCsraXQpLT51Lm9wZXJhbmQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCmlu
ZGV4IDg4NzJkNzc3ZDNlNTkyMTFjOTE2ZDQ3ODBkMGUwNDI3ZWQzOThmODYuLmE3OTY0YmI1YmMz
MmFlNzVkYTM1MDAzZDZmZGU0NjRhMmM5ZTA2NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0xNzU0
LDYgKzE3NTQsMzQgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdGdW5j
dGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogcjAsIEZ1bmNFeHAKICAgICBpbnN0cnVjdGlvbnMo
KS5hcHBlbmQoaW5kZXgpOwogICAgIHJldHVybiByMDsKIH0KKyAgICAKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVt
aXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVuY0V4cHJOb2Rl
KiBuKQoreworICAgIEZ1bmN0aW9uQm9keU5vZGUqIGZ1bmN0aW9uID0gbi0+Ym9keSgpOworICAg
IHVuc2lnbmVkIGluZGV4ID0gbV9jb2RlQmxvY2stPmFkZEZ1bmN0aW9uRXhwcihtYWtlRnVuY3Rp
b24oZnVuY3Rpb24pKTsKKyAgICAKKyAgICBlbWl0T3Bjb2RlKG9wX25ld19hcnJvd19mdW5jX2V4
cCk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHIwLT5pbmRleCgpKTsKKyAgICBpbnN0cnVj
dGlvbnMoKS5hcHBlbmQoc2NvcGVSZWdpc3RlcigpLT5pbmRleCgpKTsKKyAgICBpbnN0cnVjdGlv
bnMoKS5hcHBlbmQoaW5kZXgpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZCh0aGlzUmVnaXN0
ZXIoKS0+aW5kZXgoKSk7CisgICAgcmV0dXJuIHIwOworfQorICAgIAorUmVnaXN0ZXJJRCogQnl0
ZWNvZGVHZW5lcmF0b3I6OmVtaXRUaGlzTm9kZUJ5dGVjb2RlKFJlZ2lzdGVySUQqIGRzdCwgSlNU
ZXh0UG9zaXRpb24gcG9zaXRpb24pCit7CisgICAgaWYgKGRzdCA9PSBpZ25vcmVkUmVzdWx0KCkp
CisgICAgICAgIHJldHVybiAwOworICAgIFJlZ2lzdGVySUQqIHJlc3VsdCA9IG1vdmVUb0Rlc3Rp
bmF0aW9uSWZOZWVkZWQoZHN0LCB0aGlzUmVnaXN0ZXIoKSk7CisgICAgaWYgKHZtKCktPnR5cGVQ
cm9maWxlcigpKSB7CisgICAgICAgIGVtaXRQcm9maWxlVHlwZSh0aGlzUmVnaXN0ZXIoKSwgUHJv
ZmlsZVR5cGVCeXRlY29kZURvZXNOb3RIYXZlR2xvYmFsSUQsIG51bGxwdHIpOworICAgICAgICBz
dGF0aWMgY29uc3QgdW5zaWduZWQgdGhpc0xlbmd0aCA9IDQ7CisgICAgICAgIGVtaXRUeXBlUHJv
ZmlsZXJFeHByZXNzaW9uSW5mbyhwb3NpdGlvbiwgSlNUZXh0UG9zaXRpb24oLTEsIHBvc2l0aW9u
Lm9mZnNldCArIHRoaXNMZW5ndGgsIC0xKSk7CisgICAgfQorICAgIHJldHVybiByZXN1bHQ7Cit9
CisjZW5kaWYKIAogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdEZWZhdWx0
Q29uc3RydWN0b3IoUmVnaXN0ZXJJRCogZHN0LCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JL
aW5kLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmluZGV4IDRmZmVmNmI0
MDk3ZjAyNDZkYzFiYWU4OWVlOGFhYjhlYzk1YzYwZmEuLjM3OGExOWVhYWVkZGZiZGI0ZjUxMjI4
MGU5MDg5NDM4NTc3YTc0OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTQ1NCw2ICs0NTQsMTAgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5jdGlvbkludGVybmFs
KFJlZ2lzdGVySUQqIGRzdCwgdW5zaWduZWQgaW5kZXgpOwogICAgICAgICBSZWdpc3RlcklEKiBl
bWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIGRzdCwgRnVuY0V4cHJOb2RlKiBm
dW5jKTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0RlZmF1bHRDb25zdHJ1Y3RvcihSZWdp
c3RlcklEKiBkc3QsIENvbnN0cnVjdG9yS2luZCwgY29uc3QgSWRlbnRpZmllciYgbmFtZSk7Cisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgUmVnaXN0ZXJJRCog
ZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqLCBGdW5jRXhwck5vZGUq
KTsKKyAgICAgICAgUmVnaXN0ZXJJRCogZW1pdFRoaXNOb2RlQnl0ZWNvZGUoUmVnaXN0ZXJJRCos
IEpTVGV4dFBvc2l0aW9uKTsKKyNlbmRpZgogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3UmVn
RXhwKFJlZ2lzdGVySUQqIGRzdCwgUmVnRXhwKik7CiAKICAgICAgICAgUmVnaXN0ZXJJRCogZW1p
dE1vdmVFbXB0eVZhbHVlKFJlZ2lzdGVySUQqIGRzdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXggNGY3NDc2Y2EzM2M5
MTMxYmI3M2RmYTg5NmE2MDA1NzU2MjY1ODFiNy4uZGU1NDkxY2M3MDJlNjcxMmVhZWNhNTAxZWU0
OGI1OTA3Nzk2ZjM0NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21w
aWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29t
cGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtMTQ5LDcgKzE0OSw5IEBAIFJlZ2lzdGVySUQqIFRo
aXNOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0
ZXJJRCogZHN0CiAKICAgICBpZiAoZHN0ID09IGdlbmVyYXRvci5pZ25vcmVkUmVzdWx0KCkpCiAg
ICAgICAgIHJldHVybiAwOwotCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXRUaGlzTm9kZUJ5dGVjb2RlKGRzdCwgcG9zaXRpb24o
KSk7CisjZWxzZQogICAgIFJlZ2lzdGVySUQqIHJlc3VsdCA9IGdlbmVyYXRvci5tb3ZlVG9EZXN0
aW5hdGlvbklmTmVlZGVkKGRzdCwgZ2VuZXJhdG9yLnRoaXNSZWdpc3RlcigpKTsKICAgICBpZiAo
Z2VuZXJhdG9yLnZtKCktPnR5cGVQcm9maWxlcigpKSB7CiAgICAgICAgIGdlbmVyYXRvci5lbWl0
UHJvZmlsZVR5cGUoZ2VuZXJhdG9yLnRoaXNSZWdpc3RlcigpLCBQcm9maWxlVHlwZUJ5dGVjb2Rl
RG9lc05vdEhhdmVHbG9iYWxJRCwgbnVsbHB0cik7CkBAIC0xNTcsNiArMTU5LDcgQEAgUmVnaXN0
ZXJJRCogVGhpc05vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9y
LCBSZWdpc3RlcklEKiBkc3QKICAgICAgICAgZ2VuZXJhdG9yLmVtaXRUeXBlUHJvZmlsZXJFeHBy
ZXNzaW9uSW5mbyhwb3NpdGlvbigpLCBKU1RleHRQb3NpdGlvbigtMSwgcG9zaXRpb24oKS5vZmZz
ZXQgKyB0aGlzTGVuZ3RoLCAtMSkpOwogICAgIH0KICAgICByZXR1cm4gcmVzdWx0OworI2VuZGlm
CiB9CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBTdXBlck5vZGUgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMjgzMyw2ICsyODM2LDE0IEBAIFJl
Z2lzdGVySUQqIEZ1bmNFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBn
ZW5lcmF0b3IsIFJlZ2lzdGVySUQqCiAgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0TmV3RnVuY3Rp
b25FeHByZXNzaW9uKGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHRoaXMpOwogfQog
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgICAgCisvLyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0gQXJyb3dGdW5jRXhwck5vZGUgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCitSZWdpc3RlcklEKiBBcnJvd0Z1bmNFeHByTm9kZTo6ZW1pdEJ5dGVj
b2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKK3sKKyAg
ICByZXR1cm4gZ2VuZXJhdG9yLmVtaXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihnZW5lcmF0
b3IuZmluYWxEZXN0aW5hdGlvbihkc3QpLCB0aGlzKTsKK30KKyNlbmRpZgorICAgIAogI2lmIEVO
QUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
IENsYXNzRGVjbE5vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKaW5kZXggNTNh
YzE3NzQ2MTk2OWVlZmI2NmFkZjYwOTA2ODFlNmU1Yjc2YjAzMi4uZmQ3MzdhM2Y3OGU5YzJiOWYx
YTk5MTk3ODhkMTIzZTZiMmQ5MzMwYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKQEAgLTM2NzUsNiArMzY3NSwxNSBAQCBib29sIEJ5dGVD
b2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxpbWl0KQogICAgICAgICAgICAgTkVYVF9P
UENPREUob3BfbmV3X2Z1bmNfZXhwKTsKICAgICAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6IHsK
KyAgICAgICAgICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhwciA9IG1faW5saW5lU3RhY2tUb3At
Pm1fcHJvZmlsZWRCbG9jay0+ZnVuY3Rpb25FeHByKGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9w
ZXJhbmQpOworICAgICAgICAgICAgRnJvemVuVmFsdWUqIGZyb3plbiA9IG1fZ3JhcGguZnJlZXpl
U3Ryb25nKGV4cHIpOworICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5z
dHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwKKyAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKE5ld0Z1
bmN0aW9uLCBPcEluZm8oZnJvemVuKSwgZ2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1
Y3Rpb25bMl0udS5vcGVyYW5kKSkpKTsKKyAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX25ld19h
cnJvd19mdW5jX2V4cCk7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBjYXNlIG9wX3R5cGVv
ZjogewogICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25b
MV0udS5vcGVyYW5kKSwKICAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKFR5cGVPZiwgZ2V0KFZp
cnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSkpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAppbmRleCA4ZWY0ZGNm
MTU2OGJkNWVkYTRiODk3ZTc2ODRhOGNiYjkxYmY2ZTA4Li43ZjQ1YTgzMWVhNmU2MjczYmFjZDJl
M2Y4MzM2ZGRjNTYyYzhjYzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0NhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdD
YXBhYmlsaXRpZXMuY3BwCkBAIC0yMDgsNiArMjA4LDkgQEAgQ2FwYWJpbGl0eUxldmVsIGNhcGFi
aWxpdHlMZXZlbChPcGNvZGVJRCBvcGNvZGVJRCwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIEluc3Ry
dWMKICAgICBjYXNlIG9wX25ld19mdW5jOgogICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOgogICAg
IGNhc2Ugb3BfY3JlYXRlX2xleGljYWxfZW52aXJvbm1lbnQ6CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRp
ZgogICAgICAgICByZXR1cm4gQ2FuQ29tcGlsZUFuZElubGluZTsKIAogICAgIGNhc2Ugb3BfcHV0
X3RvX3Njb3BlOiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0
ZXIvSW50ZXJwcmV0ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0lu
dGVycHJldGVyLmNwcAppbmRleCBlY2ZjZTkxYmQzYzAzMDg1M2EzOTQwMzJiYTVjZDI4MmExYTNj
ZDhlLi4zYWM5M2E5ZmFiMjQ4MjQ4MDc1ZTIxODAzMzI3Mzc0NDM1Yzk5MGNlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKQEAgLTQ1
LDYgKzQ1LDkgQEAKICNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJKU0FycmF5
LmgiCiAjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNlbmRpZgogI2lu
Y2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgog
I2luY2x1ZGUgIkpTTmFtZVNjb3BlLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKaW5kZXgg
NDJhODJkNDM5NDYxNjJmOTVmYTQ3NDY3NTY3MTM5ZDRhYWYyMzg2Yi4uMTg2MGEwYWEzM2IwODE5
YzRmODU1MDg1ZjVlOGI3MGZhMjMyYTQzMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcApA
QCAtMjUzLDYgKzI1Myw5IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkKICAg
ICAgICAgREVGSU5FX09QKG9wX25ld19hcnJheV9idWZmZXIpCiAgICAgICAgIERFRklORV9PUChv
cF9uZXdfZnVuYykKICAgICAgICAgREVGSU5FX09QKG9wX25ld19mdW5jX2V4cCkKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBERUZJTkVfT1Aob3BfbmV3X2Fy
cm93X2Z1bmNfZXhwKQorI2VuZGlmICAKICAgICAgICAgREVGSU5FX09QKG9wX25ld19vYmplY3Qp
CiAgICAgICAgIERFRklORV9PUChvcF9uZXdfcmVnZXhwKQogICAgICAgICBERUZJTkVfT1Aob3Bf
bm90KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKaW5kZXggZWU0ODU1ZGMyZTc4YjU1YWNjNDU5OWVi
ZGI5OWEwZDhlMDhiZTdjYy4uNTYzOGQ1YzdjNzRhZWM3YzBhYjE5NWY5N2JiMzIxYmVlMDNjNzM3
YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCkBAIC01MjIsNiArNTIyLDkgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfYXJyYXlfYnVmZmVyKEluc3RydWN0aW9u
Kik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfZnVuYyhJbnN0cnVjdGlvbiopOwogICAgICAg
ICB2b2lkIGVtaXRfb3BfbmV3X2Z1bmNfZXhwKEluc3RydWN0aW9uKik7CisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdm9pZCBlbWl0X29wX25ld19hcnJvd19m
dW5jX2V4cChJbnN0cnVjdGlvbiopOworI2VuZGlmCiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdf
b2JqZWN0KEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfcmVnZXhwKElu
c3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9ub3QoSW5zdHJ1Y3Rpb24qKTsKQEAg
LTcwNSw2ICs3MDgsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6
OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSkosIGludCwgR1BSUmVnLCBHUFJS
ZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3Bl
cmF0aW9uX0VKc2MsIEdQUlJlZyk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxP
cGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0MsIGludCwgR1BSUmVnLCBKU0NlbGwqKTsKKyAg
ICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9F
SnNjQ0osIGludCwgR1BSUmVnLCBKU0NlbGwqLCBHUFJSZWcpOwogICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2NaLCBHUFJSZWcsIGlu
dDMyX3QpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklU
T3BlcmF0aW9uX0VKc2NaLCBpbnQsIEdQUlJlZywgaW50MzJfdCk7CiAjaWYgVVNFKEpTVkFMVUU2
NCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKaW5kZXggOWVlMjRkMDkyMjhh
OTg4MmVhNzY5NjI5ZDFhODdiNmMzNGE4NjMzNC4uYTBlNDBjNWM2MWZlNjNlOTg2M2VkMjIzZWRm
NWQ0NTFmMzE4YTc3NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJ
bmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKQEAg
LTI3MSw2ICsyNzEsMTIgQEAgQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6
OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0Mgb3BlcmEKICAgICByZXR1cm4gYXBw
ZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldEpTVmFsdWVSZXN1bHQob3BlcmF0aW9uLCBkc3Qp
OwogfQogCitBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJh
dGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0ogb3BlcmF0aW9uLCBpbnQgZHN0LCBHUFJSZWcgYXJn
MSwgSlNDZWxsKiBjZWxsLCBHUFJSZWcgYXJnMikKK3sKKyAgICBzZXR1cEFyZ3VtZW50c1dpdGhF
eGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSwgYXJnMik7CisgICAgcmV0dXJuIGFw
cGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRKU1ZhbHVlUmVzdWx0KG9wZXJhdGlvbiwgZHN0
KTsKK30KKyAgICAKIEFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxs
T3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VQIG9wZXJhdGlvbiwgaW50IGRzdCwgdm9pZCogcG9p
bnRlcikKIHsKICAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihw
b2ludGVyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29k
ZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAppbmRleCBk
M2Q1ODBlOWUyNjAwODUzYjY2NDllMjg1OTE4Zjg1MzhiZTY5NDRjLi40ODgzYTgzZDE3NjQ4ZGRk
ZTljYWRhMDc2ZTE3NjAzZTM3ODM2YTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVE9wY29kZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3Bjb2Rlcy5jcHAKQEAgLTk3Miw2ICs5NzIsMzEgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2Z1
bmNfZXhwKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgY2FsbE9wZXJhdGlv
bihvcGVyYXRpb25OZXdGdW5jdGlvbiwgZHN0LCByZWdUMCwgZnVuY0V4cHIpOwogICAgIGRvbmUu
bGluayh0aGlzKTsKIH0KKyAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQordm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwKEluc3RydWN0aW9uKiBjdXJy
ZW50SW5zdHJ1Y3Rpb24pCit7CisgICAgSnVtcCBub3RVbmRlZmluZWRTY29wZTsKKyAgICBpbnQg
ZHN0ID0gY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZDsKKyNpZiBVU0UoSlNWQUxVRTY0
KQorICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3Bl
cmFuZCwgcmVnVDApOworICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0
aW9uWzRdLnUub3BlcmFuZCwgcmVnVDEpOworICAgIG5vdFVuZGVmaW5lZFNjb3BlID0gYnJhbmNo
NjQoTm90RXF1YWwsIHJlZ1QwLCBUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZp
bmVkKCkpKSk7CisgICAgc3RvcmU2NChUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5jb2RlKGpzVW5k
ZWZpbmVkKCkpKSwgQWRkcmVzcyhjYWxsRnJhbWVSZWdpc3Rlciwgc2l6ZW9mKFJlZ2lzdGVyKSAq
IGRzdCkpOworI2Vsc2UKKyAgICBlbWl0TG9hZFBheWxvYWQoY3VycmVudEluc3RydWN0aW9uWzJd
LnUub3BlcmFuZCwgcmVnVDApOworICAgIGVtaXRMb2FkUGF5bG9hZChjdXJyZW50SW5zdHJ1Y3Rp
b25bNF0udS5vcGVyYW5kLCByZWdUMSk7CisgICAgbm90VW5kZWZpbmVkU2NvcGUgPSBicmFuY2gz
MihOb3RFcXVhbCwgdGFnRm9yKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpLCBUcnVz
dGVkSW1tMzIoSlNWYWx1ZTo6VW5kZWZpbmVkVGFnKSk7CisgICAgZW1pdFN0b3JlKGRzdCwganNV
bmRlZmluZWQoKSk7CisjZW5kaWYKKyAgICBKdW1wIGRvbmUgPSBqdW1wKCk7CisgICAgbm90VW5k
ZWZpbmVkU2NvcGUubGluayh0aGlzKTsKKyAgICAKKyAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1
bmN0aW9uID0gbV9jb2RlQmxvY2stPmZ1bmN0aW9uRXhwcihjdXJyZW50SW5zdHJ1Y3Rpb25bM10u
dS5vcGVyYW5kKTsKKyAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24s
IGRzdCwgcmVnVDAsIGZ1bmN0aW9uLCByZWdUMSk7CisgICAgZG9uZS5saW5rKHRoaXMpOworfQor
I2VuZGlmCiAKIHZvaWQgSklUOjplbWl0X29wX25ld19hcnJheShJbnN0cnVjdGlvbiogY3VycmVu
dEluc3RydWN0aW9uKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRPcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9u
cy5jcHAKaW5kZXggNThiODYzNmQ4ODZkYmIyZTg1MjkxYjI5MzUwZDljZjRlMTQyNDE3MS4uOWY1
MjRjOGJkOTk2ODU3NjEyMGMwMzY1MTc3ODI1NTAyNzY0NmYxYiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCkBAIC00Miw2ICs0MiwxMCBAQAogI2luY2x1
ZGUgIkhvc3RDYWxsUmV0dXJuVmFsdWUuaCIKICNpbmNsdWRlICJKSVQuaCIKICNpbmNsdWRlICJK
SVRUb0RGR0RlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjay5oIgorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCisjZW5kaWYK
KyNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAj
aW5jbHVkZSAiSlNDYXRjaFNjb3BlLmgiCiAjaW5jbHVkZSAiSlNGdW5jdGlvbk5hbWVTY29wZS5o
IgpAQCAtOTMzLDYgKzkzNywyMSBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbk5ld0Z1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNTY29wZSogc2NvcAogICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBzdGF0aWNfY2FzdDxGdW5j
dGlvbkV4ZWN1dGFibGUqPihmdW5jdGlvbkV4ZWN1dGFibGUpLCBzY29wZSkpOwogfQogCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTU2NvcGUq
IHNjb3BlLCBKU0NlbGwqIGZ1bmN0aW9uRXhlY3V0YWJsZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlKQoreworICAgIEFTU0VSVChmdW5jdGlvbkV4ZWN1dGFibGUtPmluaGVyaXRzKEZ1bmN0aW9u
RXhlY3V0YWJsZTo6aW5mbygpKSk7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBOYXRp
dmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CisgICAgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCA9IGV4ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKKyAgICBKU0Z1
bmN0aW9uKiBmdW5jID0gSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUodm0sIHNjb3BlLCBzdGF0aWNf
Y2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihmdW5jdGlvbkV4ZWN1dGFibGUpLCBnbG9iYWxPYmpl
Y3QpOworICAgIAorICAgIEpTQXJyYXkqIGJvdW5kQXJncyA9IEpTQXJyYXk6OnRyeUNyZWF0ZVVu
aW5pdGlhbGl6ZWQodm0sIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5
cGVEdXJpbmdBbGxvY2F0aW9uKEFycmF5V2l0aFVuZGVjaWRlZCksIDApOworICAgIAorICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoSlNCb3VuZEZ1bmN0aW9uOjpjcmVhdGUodm0sIGdsb2JhbE9i
amVjdCwgZnVuYywgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSksIGJvdW5kQXJncywgMCwgIiIp
KTsKK30KKyNlbmRpZgorICAgIAogSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09i
amVjdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogewogICAgIFZNKiB2
bSA9ICZleGVjLT52bSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRPcGVyYXRpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMu
aAppbmRleCA0ZGVjZWY0ZWI4YjQ4YmI5MzdkNTRkMGI2MDRiOWI3NzY3YTRlYTYxLi44NWY0Y2Fm
OGNlZTRjZGJjNTBjNGRlM2JjN2M3YWJlNDQwYjhjZWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVE9wZXJhdGlvbnMuaApAQCAtMTE2LDYgKzExNiw3IEBAIHR5cGVkZWYgRW5jb2Rl
ZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQUCkoRXhlY1N0YXRlKiwg
dm9pZCosIHZvCiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9w
ZXJhdGlvbl9FUFMpKEV4ZWNTdGF0ZSosIHZvaWQqLCBzaXplX3QpOwogdHlwZWRlZiBFbmNvZGVk
SlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVBjKShFeGVjU3RhdGUqLCBJ
bnN0cnVjdGlvbiopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9K
SVRPcGVyYXRpb25fRUpzY0MpKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKTsKK3R5cGVk
ZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VKc2NDSiko
RXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlKTsKIHR5cGVkZWYg
RW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTUykoRXhlY1N0
YXRlKiwgc2l6ZV90LCBzaXplX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OICgqSl9KSVRPcGVyYXRpb25fRVNzaUNJKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5m
byosIEpTQ2VsbCosIFN0cmluZ0ltcGwqKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTc2lKSSkoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1
YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSwgU3RyaW5nSW1wbCopOwpAQCAtMjc4LDYgKzI3OSw5IEBA
IEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXlXaXRoUHJvZmls
ZShFeGVjU3RhdGUqLCBBcnJheUFsbG9jCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbk5ld0FycmF5QnVmZmVyV2l0aFByb2ZpbGUoRXhlY1N0YXRlKiwgQXJyYXlBbGxvY2F0
aW9uUHJvZmlsZSosIGNvbnN0IEpTVmFsdWUqIHZhbHVlcywgaW50MzJfdCBzaXplKSBXVEZfSU5U
RVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5V2l0
aFNpemVBbmRQcm9maWxlKEV4ZWNTdGF0ZSosIEFycmF5QWxsb2NhdGlvblByb2ZpbGUqLCBFbmNv
ZGVkSlNWYWx1ZSBzaXplKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbk5ld0Z1bmN0aW9uKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKSBX
VEZfSU5URVJOQUw7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK0VuY29k
ZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbihFeGVjU3Rh
dGUqLCBKU1Njb3BlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUpIFdURl9JTlRFUk5BTDsKKyNl
bmRpZgogSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3RhdGUq
LCBTdHJ1Y3R1cmUqKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbk5ld1JlZ2V4cChFeGVjU3RhdGUqLCB2b2lkKikgV1RGX0lOVEVSTkFMOwogdm9p
ZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkhhbmRsZVdhdGNoZG9nVGltZXIoRXhlY1N0YXRlKikg
V1RGX0lOVEVSTkFMOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xM
SW50U2xvd1BhdGhzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQ
YXRocy5jcHAKaW5kZXggMjc5Mjg1YTQ2ODA2Y2M2ODlkMDVkMTNjZjQ2MzQyZDA2YjVlZmQ2NC4u
OGNkMWNhY2QzZTU4ZGExOTRkNGJkZGY5ZmY0ZGM3YzdiNTUzNTY5YiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCkBAIC0zOCw2ICszOCwxMCBA
QAogI2luY2x1ZGUgIkludGVycHJldGVyLmgiCiAjaW5jbHVkZSAiSklULmgiCiAjaW5jbHVkZSAi
SklURXhjZXB0aW9ucy5oIgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisj
aW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgi
CisjZW5kaWYKICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIkpT
Q0lubGluZXMuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCkBAIC0xNzEsNiArMTc1LDE1IEBA
IG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgTExJbnQgewogICAgICAgICBMTElOVF9SRVRVUk5f
VFdPKHBjLCBfX3JjZl9leGVjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAg
IH0gd2hpbGUgKGZhbHNlKQogCisgICAgCisjZGVmaW5lIExMSU5UX0NBTENfUFJPUEVSVFlfRk9S
X0ZVTkNfRVhQUigpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBM
TElOVF9CRUdJTigpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+Y29k
ZUJsb2NrKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgSlNTY29w
ZSogc2NvcGUgPSBleGVjLT51bmNoZWNrZWRSKHBjWzJdLnUub3BlcmFuZCkuUmVnaXN0ZXI6OnNj
b3BlKCk7ICAgICAgIFwKKyAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUgPSBjb2Rl
QmxvY2stPmZ1bmN0aW9uRXhwcihwY1szXS51Lm9wZXJhbmQpOyAgXAorICAgIAorZW51bSBGdW5j
dGlvbkV4cHJlc3Npb25UeXBlIHsgQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25UeXBlLCBDb21tb25G
dW5jdGlvbkV4cHJlc3Npb25UeXBlfTsKKyAgICAKIGV4dGVybiAiQyIgU2xvd1BhdGhSZXR1cm5U
eXBlIGxsaW50X3RyYWNlX29wZXJhbmQoRXhlY1N0YXRlKiBleGVjLCBJbnN0cnVjdGlvbiogcGMs
IGludCBmcm9tV2hlcmUsIGludCBvcGVyYW5kKQogewogICAgIExMSU5UX0JFR0lOKCk7CkBAIC05
ODUsMTggKzk5OCwzMyBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfbmV3X2Z1bmMp
CiAjZW5kaWYKICAgICBMTElOVF9SRVRVUk4oSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBjb2RlQmxv
Y2stPmZ1bmN0aW9uRGVjbChwY1szXS51Lm9wZXJhbmQpLCBzY29wZSkpOwogfQotCisgICAgCiBM
TElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfbmV3X2Z1bmNfZXhwKQogewotICAgIExMSU5U
X0JFR0lOKCk7Ci0gICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVjLT5jb2RlQmxvY2soKTsK
LSAgICBKU1Njb3BlKiBzY29wZSA9IGV4ZWMtPnVuY2hlY2tlZFIocGNbMl0udS5vcGVyYW5kKS5S
ZWdpc3Rlcjo6c2NvcGUoKTsKLSAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmN0aW9uID0gY29k
ZUJsb2NrLT5mdW5jdGlvbkV4cHIocGNbM10udS5vcGVyYW5kKTsKLSAgICBKU0Z1bmN0aW9uKiBm
dW5jID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBmdW5jdGlvbiwgc2NvcGUpOwotICAgIAorICAg
IExMSU5UX0NBTENfUFJPUEVSVFlfRk9SX0ZVTkNfRVhQUigpOworCisgICAgSlNGdW5jdGlvbiog
ZnVuYyA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgZXhlY3V0YWJsZSwgc2NvcGUpOwogICAgIExM
SU5UX1JFVFVSTihmdW5jKTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCitMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKQor
eworICAgIExMSU5UX0NBTENfUFJPUEVSVFlfRk9SX0ZVTkNfRVhQUigpOworICAgIAorICAgIEpT
VmFsdWUgdGhpc1ZhbHVlID0gTExJTlRfT1BfQyg0KS5qc1ZhbHVlKCk7CisgICAgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCA9IGV4ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKKyAg
ICAKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUodm0sIHNj
b3BlLCBleGVjdXRhYmxlLCBnbG9iYWxPYmplY3QpOworICAgIAorICAgIEpTQXJyYXkqIGJvdW5k
QXJncyA9IEpTQXJyYXk6OnRyeUNyZWF0ZVVuaW5pdGlhbGl6ZWQodm0sIGdsb2JhbE9iamVjdC0+
YXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5cGVEdXJpbmdBbGxvY2F0aW9uKEFycmF5V2l0aFVu
ZGVjaWRlZCksIDApOworICAgIAorICAgIGNvbnN0IFN0cmluZyBmdW5jV2l0aG91dE5hbWUgPSAi
IjsKKyAgICAKKyAgICBMTElOVF9SRVRVUk4oSlNCb3VuZEZ1bmN0aW9uOjpjcmVhdGUodm0sIGds
b2JhbE9iamVjdCwgZnVuYywgdGhpc1ZhbHVlLCBib3VuZEFyZ3MsIDAsIGZ1bmNXaXRob3V0TmFt
ZSkpOworfQorI2VuZGlmCisKIHN0YXRpYyBTbG93UGF0aFJldHVyblR5cGUgaGFuZGxlSG9zdENh
bGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBJbnN0cnVjdGlvbiogcGMsIEpTVmFsdWUgY2FsbGVl
LCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGtpbmQpCiB7CiAgICAgVU5VU0VEX1BBUkFNKHBjKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgKaW5kZXggNGJm
N2RlYjBmYTBiNmM2NDM4ZTM2Zjk2MzIwZTJmNjY5NzM5YWY2NC4uYzdmYWI5NjkxYzE4YjkzOTU2
ZDBlYTI5ZjMzOTU2MTE4YzVlNzFlZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xMSW50U2xvd1BhdGhzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xMSW50U2xvd1BhdGhzLmgKQEAgLTk2LDYgKzk2LDcgQEAgTExJTlRfU0xPV19QQVRIX0hJRERF
Tl9ERUNMKHNsb3dfcGF0aF9zd2l0Y2hfY2hhcik7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RF
Q0woc2xvd19wYXRoX3N3aXRjaF9zdHJpbmcpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNM
KHNsb3dfcGF0aF9uZXdfZnVuYyk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19w
YXRoX25ld19mdW5jX2V4cCk7CitMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRo
X25ld19hcnJvd19mdW5jX2V4cCk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19w
YXRoX2NhbGwpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9jb25zdHJ1
Y3QpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9zaXplX2ZyYW1lX2Zv
cl92YXJhcmdzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbQppbmRleCBmZGE5MWVkNTk5MGNiNmU0ZjJjYjc4YWE2YTRiMmQ4YzJj
MGM0NzJhLi44MjI3MTM0OTgyZGI3NTgxZGM4YTIyNWNkNDIzMjgyMDA5MmZiNzNlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20K
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
CkBAIC0xMTcxLDYgKzExNzEsMTAgQEAgX2xsaW50X29wX25ld19mdW5jX2V4cDoKICAgICBjYWxs
U2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9uZXdfZnVuY19leHApCiAgICAgZGlzcGF0Y2goNCkK
IAorX2xsaW50X29wX25ld19hcnJvd19mdW5jX2V4cDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisg
ICAgY2FsbFNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKQorICAg
IGRpc3BhdGNoKDUpCiAKIF9sbGludF9vcF9jYWxsOgogICAgIHRyYWNlRXhlY3V0aW9uKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKaW5kZXggYjhmZTRiODQ4NWEw
OTc2ODhmNWM2MzBiZDhjM2M5Njc2NGZjNDY0OS4uY2I4ZTBkYzFkZGJlYzc1ODY2MzVlMWI0MzQy
YzllNTVjNjYxNGUyMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9B
U1RCdWlsZGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVy
LmgKQEAgLTMxMyw2ICszMTMsMTkgQEAgcHVibGljOgogICAgICAgICAgICAgaW5TdHJpY3RDb250
ZXh0LCBjb25zdHJ1Y3RvcktpbmQpOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgRXhwcmVzc2lvbk5vZGUqIGNyZWF0ZUFycm93RnVuY3Rpb25FeHBy
KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5m
bzxBU1RCdWlsZGVyPiYgaW5mbykKKyAgICB7CisgICAgICAgIFNvdXJjZUNvZGUgc291cmNlID0g
aW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9u
CisgICAgICAgID8gbV9zb3VyY2VDb2RlLT5zdWJBcnJvd0V4cHJlc3Npb24oaW5mby5hcnJvd0Z1
bmN0aW9uT2Zmc2V0LCBpbmZvLmNsb3NlQnJhY2VPZmZzZXQsIGluZm8uYm9keVN0YXJ0TGluZSwg
aW5mby5ib2R5U3RhcnRDb2x1bW4pCisgICAgICAgIDogbV9zb3VyY2VDb2RlLT5zdWJFeHByZXNz
aW9uKGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBpbmZvLmNsb3NlQnJhY2VPZmZzZXQsIGluZm8uYm9k
eVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1bW4pOworCisgICAgICAgIEFycm93RnVuY0V4
cHJOb2RlKiByZXN1bHQgPSBuZXcgKG1fcGFyc2VyQXJlbmEpIEFycm93RnVuY0V4cHJOb2RlKGxv
Y2F0aW9uLCAqaW5mby5uYW1lLCBpbmZvLmJvZHksIHNvdXJjZSwgaW5mby5wYXJhbWV0ZXJzKTsK
KyAgICAgICAgaW5mby5ib2R5LT5zZXRMb2MoaW5mby5ib2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlF
bmRMaW5lLCBsb2NhdGlvbi5zdGFydE9mZnNldCwgbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0KTsK
KyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisjZW5kaWYKKwogICAgIE5FVkVSX0lOTElO
RSBQcm9wZXJ0eU5vZGUqIGNyZWF0ZUdldHRlck9yU2V0dGVyUHJvcGVydHkoY29uc3QgSlNUb2tl
bkxvY2F0aW9uJiBsb2NhdGlvbiwgUHJvcGVydHlOb2RlOjpUeXBlIHR5cGUsIGJvb2wsCiAgICAg
ICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RC
dWlsZGVyPiYgaW5mbywgU3VwZXJCaW5kaW5nIHN1cGVyQmluZGluZykKICAgICB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCmluZGV4IDdkZTE0MjIwYmJkYTcyNzM4YjU3M2E0
Yjk3ODhjZTBiMzJjYzdjZTMuLjU0MGY5ZmZiN2JiNTE4MjlkNjdkZWVkZWM1ZTZhOGVkNTFjYzQ0
MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCkBAIC0xNDMwLDYgKzE0
MzAsMTggQEAgYm9vbCBMZXhlcjxUPjo6bmV4dFRva2VuSXNDb2xvbigpCiAgICAgcmV0dXJuIGNv
ZGUgPCBtX2NvZGVFbmQgJiYgKmNvZGUgPT0gJzonOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgordm9pZCBMZXhlcjxUPjo6
c2V0VG9rZW5Qb3NpdGlvbihKU1Rva2VuKiB0b2tlblJlY29yZCkKK3sKKyAgICBKU1Rva2VuRGF0
YSogdG9rZW5EYXRhID0gJnRva2VuUmVjb3JkLT5tX2RhdGE7CisgICAgdG9rZW5EYXRhLT5saW5l
ID0gbGluZU51bWJlcigpOworICAgIHRva2VuRGF0YS0+b2Zmc2V0ID0gY3VycmVudE9mZnNldCgp
OworICAgIHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVTdGFydE9mZnNl
dCgpOworICAgIEFTU0VSVCh0b2tlbkRhdGEtPm9mZnNldCA+PSB0b2tlbkRhdGEtPmxpbmVTdGFy
dE9mZnNldCk7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CiBKU1Rva2VuVHlw
ZSBMZXhlcjxUPjo6bGV4KEpTVG9rZW4qIHRva2VuUmVjb3JkLCB1bnNpZ25lZCBsZXhlckZsYWdz
LCBib29sIHN0cmljdE1vZGUpCiB7CkBAIC0xNDkzLDcgKzE1MDUsMTIgQEAgc3RhcnQ6CiAgICAg
ICAgIH0KICAgICAgICAgdG9rZW4gPSBHVDsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBDaGFy
YWN0ZXJFcXVhbDoKKyAgICBjYXNlIENoYXJhY3RlckVxdWFsOiB7CisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdWludDMyX3Qgc2F2ZWRsaW5lTnVtYmVyID0g
dG9rZW5EYXRhLT5saW5lOworICAgICAgICB1aW50MzJfdCBzYXZlZE9mZnNldCA9IGN1cnJlbnRP
ZmZzZXQoKTsKKyAgICAgICAgdWludDMyX3Qgc2F2ZWRMaW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50
TGluZVN0YXJ0T2Zmc2V0KCk7CisjZW5kaWYKICAgICAgICAgc2hpZnQoKTsKICAgICAgICAgaWYg
KG1fY3VycmVudCA9PSAnPScpIHsKICAgICAgICAgICAgIHNoaWZ0KCk7CkBAIC0xNTA1LDggKzE1
MjIsMjIgQEAgc3RhcnQ6CiAgICAgICAgICAgICB0b2tlbiA9IEVRRVE7CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJz4nKSB7CisgICAgICAgICAgICBzaGlmdCgpOworICAg
ICAgICAgICAgdG9rZW4gPSBBUlJPV0ZVTkNUSU9OOworCisgICAgICAgICAgICB0b2tlbkRhdGEt
PmxpbmUgPSBzYXZlZGxpbmVOdW1iZXI7CisgICAgICAgICAgICB0b2tlbkRhdGEtPm9mZnNldCA9
IHNhdmVkT2Zmc2V0OworICAgICAgICAgICAgdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQgPSBz
YXZlZExpbmVTdGFydE9mZnNldDsKKworICAgICAgICAgICAgQVNTRVJUKHRva2VuRGF0YS0+b2Zm
c2V0ID49IHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0KTsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICB9CisjZW5kaWYKICAgICAgICAgdG9rZW4gPSBFUVVBTDsKICAgICAgICAgYnJlYWs7
CisgICAgfQogICAgIGNhc2UgQ2hhcmFjdGVyTGVzczoKICAgICAgICAgc2hpZnQoKTsKICAgICAg
ICAgaWYgKG1fY3VycmVudCA9PSAnIScgJiYgcGVlaygxKSA9PSAnLScgJiYgcGVlaygyKSA9PSAn
LScpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAppbmRleCAyZGY1MjEzOTk1Nzgy
MDA3ODVhMTY2ZTIyYTczMjc1ZTBlYTYzMDRkLi5jYjNmMjVmN2MwOGY4MjU4MWFmMmNlOGZhOTk5
OTdmYWRlMDc2NmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xl
eGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCkBAIC04NSw2
ICs4NSw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldElzUmVwYXJzaW5nKCkgeyBtX2lzUmVwYXJz
aW5nID0gdHJ1ZTsgfQogICAgIGJvb2wgaXNSZXBhcnNpbmcoKSBjb25zdCB7IHJldHVybiBtX2lz
UmVwYXJzaW5nOyB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
IHZvaWQgc2V0VG9rZW5Qb3NpdGlvbihKU1Rva2VuKiB0b2tlblJlY29yZCk7CisjZW5kaWYKICAg
ICBKU1Rva2VuVHlwZSBsZXgoSlNUb2tlbiosIHVuc2lnbmVkLCBib29sIHN0cmljdE1vZGUpOwog
ICAgIGJvb2wgbmV4dFRva2VuSXNDb2xvbigpOwogICAgIGludCBsaW5lTnVtYmVyKCkgY29uc3Qg
eyByZXR1cm4gbV9saW5lTnVtYmVyOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvTm9kZUNvbnN0cnVjdG9ycy5oCmluZGV4IDNiZGFiNjFhNTIyZTBjZTJjMzM5N2Y4MGY0ZmEx
ODRkMWQ0MjE2MGUuLmI1OGUxZmUxYWY5MGU2NjBiMDg0MmVhN2U5OWYwN2FlNmFjYmI5NWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCkBA
IC03ODEsNiArNzgxLDEzIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBtX2JvZHktPmZpbmlz
aFBhcnNpbmcoc291cmNlLCBwYXJhbWV0ZXIsIGlkZW50LCBGdW5jdGlvbkV4cHJlc3Npb24pOwog
ICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaW5saW5l
IEFycm93RnVuY0V4cHJOb2RlOjpBcnJvd0Z1bmNFeHByTm9kZShjb25zdCBKU1Rva2VuTG9jYXRp
b24mIGxvY2F0aW9uLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgRnVuY3Rpb25Cb2R5Tm9kZSog
Ym9keSwgY29uc3QgU291cmNlQ29kZSYgc291cmNlLCBQYXJhbWV0ZXJOb2RlKiBwYXJhbWV0ZXIp
CisgICAgICAgIDogRnVuY0V4cHJOb2RlKGxvY2F0aW9uLCBpZGVudCwgYm9keSwgc291cmNlLCBw
YXJhbWV0ZXIpCisgICAgeworICAgIH0KKyNlbmRpZgorICAgIAogICAgIGlubGluZSBGdW5jRGVj
bE5vZGU6OkZ1bmNEZWNsTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25z
dCBJZGVudGlmaWVyJiBpZGVudCwgRnVuY3Rpb25Cb2R5Tm9kZSogYm9keSwgY29uc3QgU291cmNl
Q29kZSYgc291cmNlLCBQYXJhbWV0ZXJOb2RlKiBwYXJhbWV0ZXIpCiAgICAgICAgIDogU3RhdGVt
ZW50Tm9kZShsb2NhdGlvbikKICAgICAgICAgLCBtX2JvZHkoYm9keSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTm9kZXMuaAppbmRleCA2YjM3MzI5YzA5YmZjNDJiZWNjYzNjYWE5ODM1OTdjMzU0
MDJiNmM5Li41Yjc3NDFlMWNjYzhkNTE1ZmYxNGMxNTMxNzJkN2JkYTA1M2Y1ODY4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCkBAIC0xNTgsNiArMTU4LDkgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0RvdEFjY2Vzc29yTm9kZSgpIGNvbnN0IHsg
cmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0RlY29uc3RydWN0aW9uTm9k
ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Z1bmNF
eHByTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdmlydHVhbCBib29sIGlzQXJyb3dGdW5jRXhwck5vZGUo
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorI2VuZGlmCiAgICAgICAgIHZpcnR1YWwgYm9vbCBp
c0NvbW1hTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwgYm9v
bCBpc1NpbXBsZUFycmF5KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVh
bCBib29sIGlzQWRkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KQEAgLTE2NTIsNiArMTY1NSwx
OSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgRnVuY3Rpb25Cb2R5Tm9kZSogbV9ib2R5Owog
ICAgIH07CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNsYXNz
IEFycm93RnVuY0V4cHJOb2RlIDogcHVibGljIEZ1bmNFeHByTm9kZSB7CisgICAgcHVibGljOgor
ICAgICAgICBBcnJvd0Z1bmNFeHByTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBJ
ZGVudGlmaWVyJiwgRnVuY3Rpb25Cb2R5Tm9kZSosIGNvbnN0IFNvdXJjZUNvZGUmLCBQYXJhbWV0
ZXJOb2RlKiA9IDApOworICAgIHByaXZhdGU6CisgICAgICAgIHZpcnR1YWwgUmVnaXN0ZXJJRCog
ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiwgUmVnaXN0ZXJJRCogPSAwKSBvdmVycmlk
ZTsKKyAgICAgICAgCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Z1bmNFeHByTm9kZSgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgICAgIAorICAgICAgICB2aXJ0dWFsIGJv
b2wgaXNBcnJvd0Z1bmNFeHByTm9kZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0K
KyAgICB9OworI2VuZGlmCisKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICBjbGFz
cyBDbGFzc0V4cHJOb2RlIGZpbmFsIDogcHVibGljIEV4cHJlc3Npb25Ob2RlIHsKICAgICBwdWJs
aWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKaW5kZXggNWY0NDgwYjQ5
Y2FkNWQ0OTE1NmM2MjVmYTQ4NGFmN2ExZGM4YjNjZi4uYTY5ZDQxYzY4MGVkZjRmM2RlOGYwZDdh
ZDUyYjYxYzFkMDJiY2RhYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNw
cApAQCAtMzI5LDggKzMyOSwxMyBAQCBib29sIFBhcnNlcjxMZXhlclR5cGU+OjphbGxvd0F1dG9t
YXRpY1NlbWljb2xvbigpCiAgICAgcmV0dXJuIG1hdGNoKENMT1NFQlJBQ0UpIHx8IG1hdGNoKEVP
RlRPSykgfHwgbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKTsKIH0KIAorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZUVs
ZW1lbnRzTW9kZSBtb2RlLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSkKKyNl
bHNlCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291cmNl
RWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZUVsZW1lbnRzTW9kZSBtb2RlKQor
I2VuZGlmCiB7CiAgICAgY29uc3QgdW5zaWduZWQgbGVuZ3RoT2ZVc2VTdHJpY3RMaXRlcmFsID0g
MTI7IC8vICJ1c2Ugc3RyaWN0Ii5sZW5ndGgKICAgICBUcmVlU291cmNlRWxlbWVudHMgc291cmNl
RWxlbWVudHMgPSBjb250ZXh0LmNyZWF0ZVNvdXJjZUVsZW1lbnRzKCk7CkBAIC0zMzksNyArMzQ0
LDExIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsCiAgICAgdW5zaWduZWQgZGlyZWN0aXZlTGl0
ZXJhbExlbmd0aCA9IDA7CiAgICAgYXV0byBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsK
ICAgICBib29sIGhhc1NldFN0cmljdCA9IGZhbHNlOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgd2hpbGUgKFRyZWVTdGF0ZW1lbnQgc3RhdGVtZW50ID0gcGFyc2VT
dGF0ZW1lbnQoY29udGV4dCwgZGlyZWN0aXZlLCAmZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCwgZnVu
Y3Rpb25QYXJzZVR5cGUpKSB7CisjZWxzZQogICAgIHdoaWxlIChUcmVlU3RhdGVtZW50IHN0YXRl
bWVudCA9IHBhcnNlU3RhdGVtZW50KGNvbnRleHQsIGRpcmVjdGl2ZSwgJmRpcmVjdGl2ZUxpdGVy
YWxMZW5ndGgpKSB7CisjZW5kaWYKICAgICAgICAgaWYgKG1vZGUgPT0gQ2hlY2tGb3JTdHJpY3RN
b2RlICYmICFzZWVuTm9uRGlyZWN0aXZlKSB7CiAgICAgICAgICAgICBpZiAoZGlyZWN0aXZlKSB7
CiAgICAgICAgICAgICAgICAgLy8gInVzZSBzdHJpY3QiIG11c3QgYmUgdGhlIGV4YWN0IGxpdGVy
YWwgd2l0aG91dCBlc2NhcGUgc2VxdWVuY2VzIG9yIGxpbmUgY29udGludWF0aW9uLgpAQCAtNTcx
LDYgKzU4MCwzMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVEZWNvbnN0cnVj
dGlvblBhdHRlcm4gUGFyc2VyPExleGVyVHlwZT46OmNyZWF0ZQogICAgIHJldHVybiBjb250ZXh0
LmNyZWF0ZUJpbmRpbmdMb2NhdGlvbih0b2tlbi5tX2xvY2F0aW9uLCBuYW1lLCB0b2tlbi5tX3N0
YXJ0UG9zaXRpb24sIHRva2VuLm1fZW5kUG9zaXRpb24pOwogfQogCisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlQXJyb3dGdW5jdGlvblN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAg
ICBBU1NFUlQobWF0Y2goQVJST1dGVU5DVElPTikpOworCisgICAgSlNUb2tlbkxvY2F0aW9uIGxv
Y2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CisgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tl
blN0YXJ0UG9zaXRpb24oKTsKKyAgICBKU1RleHRQb3NpdGlvbiBlbmQgPSB0b2tlbkVuZFBvc2l0
aW9uKCk7CisKKyAgICBuZXh0KCk7CisgICAgVHJlZUV4cHJlc3Npb24gZXhwciA9IHBhcnNlQXJy
b3dGdW5jdGlvbkV4cHJlc3Npb24oY29udGV4dCk7CisgICAgZmFpbElmRmFsc2UoZXhwciwgIkNh
bm5vdCBwYXJzZSB0aGUgYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgIGVuZCA9IGxh
c3RUb2tlbkVuZFBvc2l0aW9uKCk7CisKKyAgICBib29sIGNvcnJlY0Fycm93RmluaXNoID0gaXNF
bmRPZkFycm93RnVuY3Rpb24oKSB8fCBtYXRjaChFT0ZUT0spOworICAgIGZhaWxJZkZhbHNlKGNv
cnJlY0Fycm93RmluaXNoLCAiRXhwZWN0ZWQgYSAnOycsICddJywgJ30nLCAnKScsIG9yICcsJyBm
b2xsb3dpbmcgYSBhcnJvdyBmdW5jdGlvbiBzdGF0ZW1lbnQiKTsKKworICAgIGVuZCA9IHRva2Vu
RW5kUG9zaXRpb24oKTsKKyAgICBzZXRFbmRPZlN0YXRlbWVudCgpOworCisgICAgcmV0dXJuIGNv
bnRleHQuY3JlYXRlUmV0dXJuU3RhdGVtZW50KGxvY2F0aW9uLCBleHByLCBzdGFydCwgZW5kKTsK
K30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIFBhcnNlcjxMZXhlclR5
cGU+Ojp0cnlQYXJzZURlY29uc3RydWN0aW9uUGF0dGVybkV4cHJlc3Npb24oVHJlZUJ1aWxkZXIm
IGNvbnRleHQpCiB7CkBAIC0xMTQ0LDggKzExNzgsMTMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUJsb2NrU3RhdGVt
ZW4KICAgICByZXR1cm4gcmVzdWx0OwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVt
ZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1
bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCwgRnVuY3Rpb25QYXJzZVR5cGUgdHlwZSkK
KyNlbHNlCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVu
dChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5z
aWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgpCisjZW5kaWYKIHsKICAgICBEZXB0aE1hbmFn
ZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50RGVwdGgpOwogICAgIG1fc3RhdGVtZW50RGVw
dGgrKzsKQEAgLTExNTQsNiArMTE5MywyNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAg
IGZhaWxJZlN0YWNrT3ZlcmZsb3coKTsKICAgICBUcmVlU3RhdGVtZW50IHJlc3VsdCA9IDA7CiAg
ICAgYm9vbCBzaG91bGRTZXRFbmRPZmZzZXQgPSB0cnVlOworCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBib29sIGhhbmRsZWQgPSBmYWxzZTsKKyAgICBpZiAodHlw
ZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIHN3aXRjaCAobV90b2tlbi5t
X3R5cGUpIHsKKyAgICAgICAgY2FzZSBDTE9TRVBBUkVOOgorICAgICAgICBjYXNlIENMT1NFQlJB
Q0tFVDoKKyAgICAgICAgY2FzZSBDT01NQToKKyAgICAgICAgY2FzZSBTRU1JQ09MT046IHsKKyAg
ICAgICAgICAgIHJlc3VsdCA9IDA7CisgICAgICAgICAgICBoYW5kbGVkID0gdHJ1ZTsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChoYW5kbGVkKQorICAgICAgICAgICAgZ290
byBlbmRTdGF0ZW1lbmV0OworICAgIH0KKyNlbmRpZgogICAgIHN3aXRjaCAobV90b2tlbi5tX3R5
cGUpIHsKICAgICBjYXNlIE9QRU5CUkFDRToKICAgICAgICAgcmVzdWx0ID0gcGFyc2VCbG9ja1N0
YXRlbWVudChjb250ZXh0KTsKQEAgLTExOTksNiArMTI1OSwxMSBAQCB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVt
ZW50KFRyZQogICAgIGNhc2UgQlJFQUs6CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlQnJlYWtTdGF0
ZW1lbnQoY29udGV4dCk7CiAgICAgICAgIGJyZWFrOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgY2FzZSBBUlJPV0ZVTkNUSU9OOgorICAgICAgICByZXN1bHQgPSBw
YXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoY29udGV4dCk7CisgICAgICAgIGJyZWFrOworI2Vu
ZGlmCiAgICAgY2FzZSBSRVRVUk46CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlUmV0dXJuU3RhdGVt
ZW50KGNvbnRleHQpOwogICAgICAgICBicmVhazsKQEAgLTEyNDAsNiArMTMwNSw4IEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAorZW5kU3RhdGVtZW5l
dDoKKwogICAgIGlmIChyZXN1bHQgJiYgc2hvdWxkU2V0RW5kT2Zmc2V0KQogICAgICAgICBjb250
ZXh0LnNldEVuZE9mZnNldChyZXN1bHQsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ub2Zmc2V0KTsK
ICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTI2MCwyMyArMTMyNyw0NCBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0IFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZUZvcgogICAgIHJldHVybiBsaXN0OwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGdW5jdGlvbkJvZHkgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlRnVuY3Rpb25Cb2R5KAogICAgIFRyZWVCdWlsZGVyJiBjb250ZXh0LCBpbnQgZnVuY3Rpb25L
ZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwgCisgICAgaW50IHBhcmFtZXRlcnNT
dGFydCwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCwgRnVuY3Rpb25QYXJzZVR5cGUg
cGFyc2VUeXBlKQorI2Vsc2UKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGdW5jdGlvbkJvZHkgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlRnVuY3Rpb25Cb2R5KAorICAgIFRyZWVCdWlsZGVyJiBjb250ZXh0LCBpbnQgZnVuY3Rp
b25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwKICAgICBpbnQgcGFyYW1ldGVy
c1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kKQorI2VuZGlmCiB7CiAgICAg
SlNUb2tlbkxvY2F0aW9uIHN0YXJ0TG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKICAgICB1bnNp
Z25lZCBzdGFydENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBlID09IFN0YW5kYXJkRnVuY3Rpb25QYXJz
ZVR5cGUpIHsKKyAgICAgICAgbmV4dCgpOworICAgICAgICBpZiAobWF0Y2goQ0xPU0VCUkFDRSkp
IHsKKyAgICAgICAgICAgIHVuc2lnbmVkIGVuZENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CisgICAg
ICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwg
dG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBmdW5jdGlvbktleXdvcmRT
dGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgc3RyaWN0TW9kZSgpLCBj
b25zdHJ1Y3RvcktpbmQpOworICAgICAgICB9CisgICAgfQorI2Vsc2UKICAgICBuZXh0KCk7Ci0K
ICAgICBpZiAobWF0Y2goQ0xPU0VCUkFDRSkpIHsKICAgICAgICAgdW5zaWduZWQgZW5kQ29sdW1u
ID0gdG9rZW5Db2x1bW4oKTsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25C
b2R5KHN0YXJ0TG9jYXRpb24sIHRva2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1bW4sIGVuZENvbHVt
biwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3Rh
cnQsIHN0cmljdE1vZGUoKSwgY29uc3RydWN0b3JLaW5kKTsKICAgICB9CisjZW5kaWYKKwogICAg
IERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7CiAgICAgbV9z
dGF0ZW1lbnREZXB0aCA9IDA7CiAgICAgdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkZ1bmN0aW9uQm9k
eUJ1aWxkZXIgYm9keUJ1aWxkZXIoY29uc3RfY2FzdDxWTSo+KG1fdm0pLCBtX2xleGVyLmdldCgp
KTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGZhaWxJZkZhbHNl
KHBhcnNlU291cmNlRWxlbWVudHMoYm9keUJ1aWxkZXIsIENoZWNrRm9yU3RyaWN0TW9kZSwgcGFy
c2VUeXBlKSwgcGFyc2VUeXBlID09IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUgPyAiQ2Fubm90
IHBhcnNlIGJvZHkgb2YgdGhpcyBmdW5jdGlvbiIgOiAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhp
cyBhcnJvdyBmdW5jdGlvbiIpOworI2Vsc2UKICAgICBmYWlsSWZGYWxzZShwYXJzZVNvdXJjZUVs
ZW1lbnRzKGJvZHlCdWlsZGVyLCBDaGVja0ZvclN0cmljdE1vZGUpLCAiQ2Fubm90IHBhcnNlIGJv
ZHkgb2YgdGhpcyBmdW5jdGlvbiIpOworI2VuZGlmCiAgICAgdW5zaWduZWQgZW5kQ29sdW1uID0g
dG9rZW5Db2x1bW4oKTsKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3Rh
cnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBmdW5j
dGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgc3Ry
aWN0TW9kZSgpLCBjb25zdHJ1Y3RvcktpbmQpOwogfQpAQCAtMTI5Nyw2MCArMTM4NSwxMDMgQEAg
c3RhdGljIGNvbnN0IGNoYXIqIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShGdW5jdGlvblBhcnNlTW9k
ZSBtb2RlKQogICAgIHJldHVybiBudWxscHRyOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25J
bmZvKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblJlcXVpcmVtZW50cyByZXF1aXJlbWVu
dHMsIEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUsCisgICAgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdT
Y29wZSwgQ29uc3RydWN0b3JLaW5kIG93bmVyQ2xhc3NLaW5kLCBpbnQgZnVuY3Rpb25LZXl3b3Jk
U3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mIGluZm8sIEZ1bmN0aW9uUGFy
c2VUeXBlIHBhcnNlVHlwZSkKKyNlbHNlCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgog
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMg
cmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLAogICAgIGJvb2wgbmFtZUlzSW5D
b250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCBvd25lckNsYXNzS2luZCwgaW50IGZ1bmN0
aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvKQor
I2VuZGlmCiB7CiAgICAgQXV0b1BvcFNjb3BlUmVmIGZ1bmN0aW9uU2NvcGUodGhpcywgcHVzaFNj
b3BlKCkpOwogICAgIGZ1bmN0aW9uU2NvcGUtPnNldElzRnVuY3Rpb24oKTsKICAgICBpbnQgZnVu
Y3Rpb25OYW1lU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CiAgICAgY29u
c3QgSWRlbnRpZmllciogbGFzdEZ1bmN0aW9uTmFtZSA9IG1fbGFzdEZ1bmN0aW9uTmFtZTsKICAg
ICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBudWxscHRyOwotICAgIGlmIChtYXRjaChJREVOVCkpIHsK
LSAgICAgICAgaW5mby5uYW1lID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7Ci0gICAgICAgIG1fbGFz
dEZ1bmN0aW9uTmFtZSA9IGluZm8ubmFtZTsKLSAgICAgICAgbmV4dCgpOwotICAgICAgICBpZiAo
IW5hbWVJc0luQ29udGFpbmluZ1Njb3BlKQotICAgICAgICAgICAgZmFpbElmRmFsc2VJZlN0cmlj
dChmdW5jdGlvblNjb3BlLT5kZWNsYXJlVmFyaWFibGUoaW5mby5uYW1lKSwgIiciLCBpbmZvLm5h
bWUtPmltcGwoKSwgIicgaXMgbm90IGEgdmFsaWQgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1v
ZGUpLCAiIG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsKLSAgICB9IGVsc2UgaWYgKHJlcXVpcmVtZW50
cyA9PSBGdW5jdGlvbk5lZWRzTmFtZSkgeworICAgIGludCBwYXJhbWV0ZXJzU3RhcnQ7CisgICAg
Ym9vbCBpc0NsYXNzQ29uc3RydWN0b3I7CisgICAgCisgICAgaWYgKHBhcnNlVHlwZSA9PSBTdGFu
ZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIGlmIChtYXRjaChJREVOVCkpIHsKKyAg
ICAgICAgICAgIGluZm8ubmFtZSA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OworICAgICAgICAgICAg
bV9sYXN0RnVuY3Rpb25OYW1lID0gaW5mby5uYW1lOworICAgICAgICAgICAgbmV4dCgpOworICAg
ICAgICAgICAgaWYgKCFuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSkKKyAgICAgICAgICAgICAgICBm
YWlsSWZGYWxzZUlmU3RyaWN0KGZ1bmN0aW9uU2NvcGUtPmRlY2xhcmVWYXJpYWJsZShpbmZvLm5h
bWUpLCAiJyIsIGluZm8ubmFtZS0+aW1wbCgpLCAiJyBpcyBub3QgYSB2YWxpZCAiLCBzdHJpbmdG
b3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSBpbiBzdHJpY3QgbW9kZSIpOworICAgICAgICB9
IGVsc2UgaWYgKHJlcXVpcmVtZW50cyA9PSBGdW5jdGlvbk5lZWRzTmFtZSkgewogICAgICAgICBp
ZiAobWF0Y2goT1BFTlBBUkVOKSAmJiBtb2RlID09IEZ1bmN0aW9uTW9kZSkKICAgICAgICAgICAg
IHNlbWFudGljRmFpbCgiRnVuY3Rpb24gc3RhdGVtZW50cyBtdXN0IGhhdmUgYSBuYW1lIik7Ci0g
ICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5jdGlvbk1vZGUo
bW9kZSksICIgbmFtZSIpOwotICAgICAgICBmYWlsRHVlVG9VbmV4cGVjdGVkVG9rZW4oKTsKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0ID0gbV90
b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OwotICAgIGlmICghY29uc3VtZShPUEVOUEFSRU4p
KSB7Ci0gICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5jdGlv
bk1vZGUobW9kZSksICIgbmFtZSIpOwotICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVk
IGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwg
IidzIHBhcmFtZXRlciBsaXN0Iik7Ci0gICAgfQotCi0gICAgaWYgKG1vZGUgPT0gR2V0dGVyTW9k
ZSkKLSAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiZ2V0dGVyIGZ1bmN0aW9ucyBt
dXN0IGhhdmUgbm8gcGFyYW1ldGVycyIpOwotICAgIGVsc2UgaWYgKG1vZGUgPT0gU2V0dGVyTW9k
ZSkgewotICAgICAgICBmYWlsSWZUcnVlKG1hdGNoKENMT1NFUEFSRU4pLCAic2V0dGVyIGZ1bmN0
aW9ucyBtdXN0IGhhdmUgb25lIHBhcmFtZXRlciIpOwotICAgICAgICBhdXRvIHBhcmFtZXRlciA9
IHBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuKGNvbnRleHQsIERlY29uc3RydWN0VG9QYXJhbWV0
ZXJzKTsKLSAgICAgICAgZmFpbElmRmFsc2UocGFyYW1ldGVyLCAic2V0dGVyIGZ1bmN0aW9ucyBt
dXN0IGhhdmUgb25lIHBhcmFtZXRlciIpOwotICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBjb250
ZXh0LmNyZWF0ZUZvcm1hbFBhcmFtZXRlckxpc3QocGFyYW1ldGVyKTsKLSAgICAgICAgZmFpbElm
VHJ1ZShtYXRjaChDT01NQSksICJzZXR0ZXIgZnVuY3Rpb25zIG11c3QgaGF2ZSBvbmUgcGFyYW1l
dGVyIik7Ci0gICAgICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJFTiwgIkV4cGVjdGVkIGEgJykn
IGFmdGVyIGEgcGFyYW1ldGVyIGRlY2xhcmF0aW9uIik7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAg
aWYgKCFtYXRjaChDTE9TRVBBUkVOKSkgewotICAgICAgICAgICAgaW5mby5wYXJhbWV0ZXJzID0g
cGFyc2VGb3JtYWxQYXJhbWV0ZXJzKGNvbnRleHQpOwotICAgICAgICAgICAgZmFpbElmRmFsc2Uo
aW5mby5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3Ry
aW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAgICAgICAgIHNlbWFudGljRmFpbHVyZUR1
ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSIpOworICAgICAg
ICAgICAgZmFpbER1ZVRvVW5leHBlY3RlZFRva2VuKCk7CisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgICAgIH0KKyAgICAgICAgcGFyYW1ldGVyc1N0YXJ0ID0gbV90b2tlbi5tX2xvY2F0
aW9uLnN0YXJ0T2Zmc2V0OworICAgICAgICAKKyAgICAgICAgaWYgKCFjb25zdW1lKE9QRU5QQVJF
TikpIHsKKyAgICAgICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JG
dW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSIpOworICAgICAgICAgICAgZmFpbFdpdGhNZXNzYWdl
KCJFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1v
ZGUobW9kZSksICIncyBwYXJhbWV0ZXIgbGlzdCIpOwogICAgICAgICB9Ci0gICAgICAgIGNvbnN1
bWVPckZhaWwoQ0xPU0VQQVJFTiwgIkV4cGVjdGVkIGEgJyknIG9yIGEgJywnIGFmdGVyIGEgcGFy
YW1ldGVyIGRlY2xhcmF0aW9uIik7Ci0gICAgfQogCi0gICAgbWF0Y2hPckZhaWwoT1BFTkJSQUNF
LCAiRXhwZWN0ZWQgYW4gb3BlbmluZyAneycgYXQgdGhlIHN0YXJ0IG9mIGEgIiwgc3RyaW5nRm9y
RnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgaWYgKG1vZGUgPT0gR2V0dGVy
TW9kZSkKKyAgICAgICAgICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJFTiwgImdldHRlciBmdW5j
dGlvbnMgbXVzdCBoYXZlIG5vIHBhcmFtZXRlcnMiKTsKKyAgICAgICAgZWxzZSBpZiAobW9kZSA9
PSBTZXR0ZXJNb2RlKSB7CisgICAgICAgICAgICBmYWlsSWZUcnVlKG1hdGNoKENMT1NFUEFSRU4p
LCAic2V0dGVyIGZ1bmN0aW9ucyBtdXN0IGhhdmUgb25lIHBhcmFtZXRlciIpOworICAgICAgICAg
ICAgYXV0byBwYXJhbWV0ZXIgPSBwYXJzZURlY29uc3RydWN0aW9uUGF0dGVybihjb250ZXh0LCBE
ZWNvbnN0cnVjdFRvUGFyYW1ldGVycyk7CisgICAgICAgICAgICBmYWlsSWZGYWxzZShwYXJhbWV0
ZXIsICJzZXR0ZXIgZnVuY3Rpb25zIG11c3QgaGF2ZSBvbmUgcGFyYW1ldGVyIik7CisgICAgICAg
ICAgICBpbmZvLnBhcmFtZXRlcnMgPSBjb250ZXh0LmNyZWF0ZUZvcm1hbFBhcmFtZXRlckxpc3Qo
cGFyYW1ldGVyKTsKKyAgICAgICAgICAgIGZhaWxJZlRydWUobWF0Y2goQ09NTUEpLCAic2V0dGVy
IGZ1bmN0aW9ucyBtdXN0IGhhdmUgb25lIHBhcmFtZXRlciIpOworICAgICAgICAgICAgY29uc3Vt
ZU9yRmFpbChDTE9TRVBBUkVOLCAiRXhwZWN0ZWQgYSAnKScgYWZ0ZXIgYSBwYXJhbWV0ZXIgZGVj
bGFyYXRpb24iKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmICghbWF0Y2goQ0xP
U0VQQVJFTikpIHsKKyAgICAgICAgICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBwYXJzZUZvcm1h
bFBhcmFtZXRlcnMoY29udGV4dCk7CisgICAgICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5w
YXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9y
RnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGNvbnN1bWVP
ckZhaWwoQ0xPU0VQQVJFTiwgIkV4cGVjdGVkIGEgJyknIG9yIGEgJywnIGFmdGVyIGEgcGFyYW1l
dGVyIGRlY2xhcmF0aW9uIik7CisgICAgICAgIH0KIAotICAgIC8vIEJ5dGVjb2RlR2VuZXJhdG9y
IGVtaXRzIGNvZGUgdG8gdGhyb3cgVHlwZUVycm9yIHdoZW4gYSBjbGFzcyBjb25zdHJ1Y3RvciBp
cyAiY2FsbCJlZC4KLSAgICAvLyBTZXQgQ29uc3RydWN0b3JLaW5kIHRvIE5vbmUgZm9yIG5vbi1j
b25zdHJ1Y3RvciBtZXRob2RzIG9mIGNsYXNzZXMuCi0gICAgYm9vbCBpc0NsYXNzQ29uc3RydWN0
b3IgPSBtb2RlID09IE1ldGhvZE1vZGUgJiYgaW5mby5uYW1lICYmICppbmZvLm5hbWUgPT0gbV92
bS0+cHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3I7Ci0gICAgaWYgKG1fZGVmYXVsdENvbnN0cnVj
dG9yS2luZCAhPSBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUpIHsKLSAgICAgICAgb3duZXJDbGFzc0tp
bmQgPSBtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQ7Ci0gICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3Rv
ciA9IHRydWU7CisgICAgICAgIG1hdGNoT3JGYWlsKE9QRU5CUkFDRSwgIkV4cGVjdGVkIGFuIG9w
ZW5pbmcgJ3snIGF0IHRoZSBzdGFydCBvZiBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2Rl
KSwgIiBib2R5Iik7CisgICAgICAgIC8vIEJ5dGVjb2RlR2VuZXJhdG9yIGVtaXRzIGNvZGUgdG8g
dGhyb3cgVHlwZUVycm9yIHdoZW4gYSBjbGFzcyBjb25zdHJ1Y3RvciBpcyAiY2FsbCJlZC4KKyAg
ICAgICAgLy8gU2V0IENvbnN0cnVjdG9yS2luZCB0byBOb25lIGZvciBub24tY29uc3RydWN0b3Ig
bWV0aG9kcyBvZiBjbGFzc2VzLgorICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSBtb2RlID09
IE1ldGhvZE1vZGUgJiYgaW5mby5uYW1lICYmICppbmZvLm5hbWUgPT0gbV92bS0+cHJvcGVydHlO
YW1lcy0+Y29uc3RydWN0b3I7CisgICAgICAgIGlmIChtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQg
IT0gQ29uc3RydWN0b3JLaW5kOjpOb25lKSB7CisgICAgICAgICAgICBvd25lckNsYXNzS2luZCA9
IG1fZGVmYXVsdENvbnN0cnVjdG9yS2luZDsKKyAgICAgICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3Rv
ciA9IHRydWU7CisgICAgICAgIH0KICAgICB9CisgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5
cGUpIHsKKyAgICAgICAgcGFyYW1ldGVyc1N0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0
T2Zmc2V0OworICAgICAgICBpZiAoIW1hdGNoKElERU5UKSAmJiAhbWF0Y2goT1BFTlBBUkVOKSkg
eworICAgICAgICAgICAgc2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0
aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7CisgICAgICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4
cGVjdGVkIGFuIGFycm93IGZ1bmN0aW9uIGlucHV0IHBhcmFtZXRlciIpOworICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgICAgICAg
ICBjb25zdW1lKE9QRU5QQVJFTik7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAg
aWYgKCFtYXRjaChDTE9TRVBBUkVOKSkgeworICAgICAgICAgICAgICAgICAgICBpbmZvLnBhcmFt
ZXRlcnMgPSBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoY29udGV4dCk7CisgICAgICAgICAgICAgICAg
ICAgIGZhaWxJZkZhbHNlKGluZm8ucGFyYW1ldGVycywgIkNhbm5vdCBwYXJzZSBwYXJhbWV0ZXJz
IGZvciB0aGlzICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGNvbnN1bWVPckZhaWwoQ0xP
U0VQQVJFTiwgIkV4cGVjdGVkIGEgJyknIG9yIGEgJywnIGFmdGVyIGEgcGFyYW1ldGVyIGRlY2xh
cmF0aW9uIik7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGF1dG8gcGFy
YW1ldGVyID0gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oY29udGV4dCwgRGVjb25zdHJ1Y3RU
b1BhcmFtZXRlcnMpOworICAgICAgICAgICAgICAgIGZhaWxJZkZhbHNlKHBhcmFtZXRlciwgIkNh
bm5vdCBwYXJzZSBwYXJhbWV0ZXIgcGF0dGVybiIpOworICAgICAgICAgICAgICAgIGluZm8ucGFy
YW1ldGVycyA9IGNvbnRleHQuY3JlYXRlRm9ybWFsUGFyYW1ldGVyTGlzdChwYXJhbWV0ZXIpOwor
ICAgICAgICAgICAgICAgIGZhaWxJZkZhbHNlKGluZm8ucGFyYW1ldGVycywgIkNhbm5vdCBwYXJz
ZSBwYXJhbWV0ZXJzIGZvciB0aGlzICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIG1hdGNoT3JGYWlsKEFS
Uk9XRlVOQ1RJT04sICJFeHBlY3RlZCBhICc9PicgYWZ0ZXIgYXJyb3cgZnVuY3Rpb24gcGFyYW1l
dGVyIGRlY2xhcmF0aW9uIik7CisgICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IGZhbHNlOwor
ICAgICAgICAKKyAgICAgICAgaW5mby5hcnJvd0Z1bmN0aW9uT2Zmc2V0ID0gbV90b2tlbi5tX2Rh
dGEub2Zmc2V0OworICAgIH0KKyNlbmRpZgorICAgIAogICAgIENvbnN0cnVjdG9yS2luZCBjb25z
dHJ1Y3RvcktpbmQgPSBpc0NsYXNzQ29uc3RydWN0b3IgPyBvd25lckNsYXNzS2luZCA6IENvbnN0
cnVjdG9yS2luZDo6Tm9uZTsKIAogICAgIGluZm8ub3BlbkJyYWNlT2Zmc2V0ID0gbV90b2tlbi5t
X2RhdGEub2Zmc2V0OwpAQCAtMTM4NCw4ICsxNTE1LDE3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1
aWxkCiAgICAgICAgIGZhaWxJZkZhbHNlKHBvcFNjb3BlKGZ1bmN0aW9uU2NvcGUsIFRyZWVCdWls
ZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUluZm8pLCAiUGFyc2VyIGVycm9yIik7CiAgICAgICAgIAog
ICAgICAgICBpbmZvLmNsb3NlQnJhY2VPZmZzZXQgPSBjYWNoZWRJbmZvLT5jbG9zZUJyYWNlT2Zm
c2V0OwotCisgICAgICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAg
ICAgICAgaW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUgPSBjYWNoZWRJbmZvLT5pc0JvZHlBcnJv
d0Z1bmN0aW9uQmxvY2sgPyBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrIDogQXJyb3dGdW5jdGlvbkJv
ZHlFeHByZXNzaW9uOworICAgICAgICAgICAgbV90b2tlbiA9IGluZm8uYXJyb3dGdW5jdGlvbkJv
ZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2sgPyBjYWNoZWRJbmZvLT5jbG9zZUJyYWNl
VG9rZW4oKSA6IGNhY2hlZEluZm8tPmVuZEFycm93RnVuY3Rpb25Ub2tlbigpOworICAgICAgICB9
IGVsc2UKKyAgICAgICAgICAgIG1fdG9rZW4gPSBjYWNoZWRJbmZvLT5jbG9zZUJyYWNlVG9rZW4o
KTsKKyNlbHNlICAgCiAgICAgICAgIG1fdG9rZW4gPSBjYWNoZWRJbmZvLT5jbG9zZUJyYWNlVG9r
ZW4oKTsKKyNlbmRpZgorICAgICAgICAKICAgICAgICAgaWYgKGVuZENvbHVtbklzT25TdGFydExp
bmUpCiAgICAgICAgICAgICBtX3Rva2VuLm1fbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0ID0gY3Vy
cmVudExpbmVTdGFydE9mZnNldDsKIApAQCAtMTM5NCwxMyArMTUzNCw0OCBAQCB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25J
bmZvKFRyZWVCdWlsZAogCiAgICAgICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KGluZm8uYm9keSwg
bV9sZXhlci0+Y3VycmVudE9mZnNldCgpKTsKICAgICAgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJvd0Z1bmN0aW9u
UGFyc2VUeXBlKSB7CisgICAgICAgICAgICBpZiAoaW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUg
PT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jaykKKyAgICAgICAgICAgICAgICBuZXh0KCk7CisgICAg
ICAgIH0gZWxzZQorICAgICAgICAgICAgbmV4dCgpOworI2Vsc2UKICAgICAgICAgbmV4dCgpOwor
I2VuZGlmCiAgICAgICAgIGluZm8uYm9keUVuZExpbmUgPSBtX2xhc3RUb2tlbkVuZFBvc2l0aW9u
LmxpbmU7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KKyAgICAKKyAgICAKICAgICBtX2xh
c3RGdW5jdGlvbk5hbWUgPSBsYXN0RnVuY3Rpb25OYW1lOwogICAgIFBhcnNlclN0YXRlIG9sZFN0
YXRlID0gc2F2ZVN0YXRlKCk7CisgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAg
ICAgICAgU2F2ZVBvaW50IHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgICAgICBu
ZXh0KCk7CisgICAgICAgIC8vIENoZWNrIGlmIGFycm93IGJvZHkgc3RhcnQgd2l0aCB7LiBJZiBp
dCB0cnVlIGl0IG1lYW4gdGhhdCBhcnJvdyBmdW5jdGlvbiBpcyBGYXQgYXJyb3cgZnVuY3Rpb24K
KyAgICAgICAgLy8gYW5kIHdlIG5lZWQgdXNlIGNvbW1vbiBhcHByb2FjaCB0byBwYXJzZSBmdW5j
dGlvbiBib2R5CisgICAgICAgIGluZm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBlID0gbWF0Y2goT1BF
TkJSQUNFKSA/IEFycm93RnVuY3Rpb25Cb2R5QmxvY2sgOiBBcnJvd0Z1bmN0aW9uQm9keUV4cHJl
c3Npb247CisgICAgCisgICAgICAgIGlmIChpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlwZSA9PSBB
cnJvd0Z1bmN0aW9uQm9keUJsb2NrKSB7CisgICAgICAgICAgICBpbmZvLm9wZW5CcmFjZU9mZnNl
dCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKKyAgICAgICAgICAgIGluZm8uYm9keVN0YXJ0TGlu
ZSA9IHRva2VuTGluZSgpOworICAgICAgICAgICAgaW5mby5ib2R5U3RhcnRDb2x1bW4gPSBtX3Rv
a2VuLm1fZGF0YS5vZmZzZXQgLSBtX3Rva2VuLm1fZGF0YS5saW5lU3RhcnRPZmZzZXQ7CisgICAg
ICAgIAorICAgICAgICAgICAgaW5mby5ib2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwg
ZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQs
IGNvbnN0cnVjdG9yS2luZCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICByZXN0b3Jl
U2F2ZVBvaW50KHNhdmVQb2ludCk7CisgICAgICAgICAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0
aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQs
IHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kLCBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBl
KTsKKyAgICAgICAgfQorICAgIH0gZWxzZQorICAgICAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0
aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQs
IHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kKTsKKyNlbHNlCiAgICAgaW5mby5ib2R5
ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0
aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCk7CisjZW5kaWYK
KyAgICAKKyAgICAKICAgICByZXN0b3JlU3RhdGUob2xkU3RhdGUpOwogICAgIGZhaWxJZkZhbHNl
KGluZm8uYm9keSwgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiB0aGlzICIsIHN0cmluZ0ZvckZ1
bmN0aW9uTW9kZShtb2RlKSk7CiAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQoaW5mby5ib2R5LCBt
X2xleGVyLT5jdXJyZW50T2Zmc2V0KCkpOwpAQCAtMTQzMSwxOCArMTYwNiwzOCBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rp
b25JbmZvKFRyZWVCdWlsZAogICAgICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VMaW5lID0gY2xv
c2VCcmFjZUxpbmU7CiAgICAgICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFjZU9mZnNldCA9IGluZm8u
Y2xvc2VCcmFjZU9mZnNldDsKICAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJyYWNlTGluZVN0YXJ0
T2Zmc2V0ID0gY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldDsKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25Q
YXJzZVR5cGUpIHsKKyAgICAgICAgICAgIHBhcmFtZXRlcnMuaXNCb2R5QXJyb3dGdW5jdGlvbkJs
b2NrID0gaW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9j
azsKKyAgICAgICAgICAgIHBhcmFtZXRlcnMudG9rZW5UeXBlID0gbV90b2tlbi5tX3R5cGU7Cisg
ICAgICAgIH0KKyNlbmRpZgogICAgICAgICBmdW5jdGlvblNjb3BlLT5maWxsUGFyYW1ldGVyc0Zv
clNvdXJjZVByb3ZpZGVyQ2FjaGUocGFyYW1ldGVycyk7CiAgICAgICAgIG5ld0luZm8gPSBTb3Vy
Y2VQcm92aWRlckNhY2hlSXRlbTo6Y3JlYXRlKHBhcmFtZXRlcnMpOwogCiAgICAgfQogICAgIAog
ICAgIGZhaWxJZkZhbHNlKHBvcFNjb3BlKGZ1bmN0aW9uU2NvcGUsIFRyZWVCdWlsZGVyOjpOZWVk
c0ZyZWVWYXJpYWJsZUluZm8pLCAiUGFyc2VyIGVycm9yIik7CisgICAgCisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rp
b25QYXJzZVR5cGUpIHsKKyAgICAgICAgaWYgKGluZm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBlID09
IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHsKKyAgICAgICAgICAgIG1hdGNoT3JGYWlsKENMT1NF
QlJBQ0UsICJFeHBlY3RlZCBhIGNsb3NpbmcgJ30nIGFmdGVyIGEgIiwgc3RyaW5nRm9yRnVuY3Rp
b25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgfSBl
bHNlCisgICAgICAgICAgICBmYWlsSWZGYWxzZShpc0VuZE9mQXJyb3dGdW5jdGlvbigpLCAiRXhw
ZWN0ZWQgdGhlIGNsb3NpbmcgJzsnICcsJyAnXScgJyknICd9JyBhZnRlciBhcnJvdyBmdW5jdGlv
biIpOworICAgIH0gZWxzZSB7CisgICAgICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0UsICJFeHBl
Y3RlZCBhIGNsb3NpbmcgJ30nIGFmdGVyIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUp
LCAiIGJvZHkiKTsKKyAgICAgICAgbmV4dCgpOworICAgIH0KKyNlbHNlCiAgICAgbWF0Y2hPckZh
aWwoQ0xPU0VCUkFDRSwgIkV4cGVjdGVkIGEgY2xvc2luZyAnfScgYWZ0ZXIgYSAiLCBzdHJpbmdG
b3JGdW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOworICAgIG5leHQoKTsKKyNlbmRpZgogICAg
IAogICAgIGlmIChuZXdJbmZvKQogICAgICAgICBtX2Z1bmN0aW9uQ2FjaGUtPmFkZChpbmZvLm9w
ZW5CcmFjZU9mZnNldCwgV1RGOjptb3ZlKG5ld0luZm8pKTsKICAgICAKLSAgICBuZXh0KCk7CiAg
ICAgaW5mby5ib2R5RW5kTGluZSA9IG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZTsKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KQEAgLTE3NjcsNiArMTk2MiwxOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSWZTdGF0ZW1l
bnQoVAogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUlmU3RhdGVtZW50KGlmTG9jYXRpb24sIGNv
bmRpdGlvbiwgdHJ1ZUJsb2NrLCBzdGF0ZW1lbnRTdGFjay5sYXN0KCksIHN0YXJ0LCBlbmQpOwog
fQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBl
bmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNz
aW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVC
dWlsZGVyJiBjb250ZXh0KQoreworICAgIGZhaWxJZlN0YWNrT3ZlcmZsb3coKTsKKyAgICBUcmVl
RXhwcmVzc2lvbiBub2RlID0gcGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbihjb250ZXh0KTsKKyAg
ICBmYWlsSWZGYWxzZShub2RlLCAiQ2Fubm90IHBhcnNlIGV4cHJlc3Npb24iKTsKKyAgICBjb250
ZXh0LnNldEVuZE9mZnNldChub2RlLCBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLm9mZnNldCk7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlw
ZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKIHsKQEAgLTE4
MTQsNiArMjAyMSw0MSBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRyZWVFeHBy
ZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbgogICAgICAgICB9CiAgICAg
ICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKICAgICB9CisKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFNhdmVQb2ludCBzYXZlQXJyb3dGdW5jdGlvblBv
aW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgYm9vbCBhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0
ID0gZmFsc2U7CisgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgbmV4dCgpOwor
ICAgICAgICBpZiAobWF0Y2goQ0xPU0VQQVJFTikpIHsKKyAgICAgICAgICAgIG5leHQoKTsKKwor
ICAgICAgICAgICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJT04pKQorICAgICAgICAgICAgICAgIGFy
cm93RnVuY3Rpb25FbXB0eUxpc3QgPSB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCFh
cnJvd0Z1bmN0aW9uRW1wdHlMaXN0KQorICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZl
QXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICB9CisKKyAgICBUcmVlRXhwcmVzc2lvbiBsaHM7Cisg
ICAgaWYgKCFhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0KSB7CisgICAgICAgIGxocyA9IHBhcnNlQ29u
ZGl0aW9uYWxFeHByZXNzaW9uKGNvbnRleHQpOworICAgICAgICBmYWlsSWZGYWxzZShsaHMsICJD
YW4Zbm90IHBhcnNlIGV4cHJlc3Npb24iKTsKKyAgICAgICAgaWYgKGluaXRpYWxOb25MSFNDb3Vu
dCAhPSBtX25vbkxIU0NvdW50KSB7CisgICAgICAgICAgICBpZiAobV90b2tlbi5tX3R5cGUgPj0g
RVFVQUwgJiYgbV90b2tlbi5tX3R5cGUgPD0gT1JFUVVBTCkKKyAgICAgICAgICAgICAgICBzZW1h
bnRpY0ZhaWwoIkxlZnQgaGFuZCBzaWRlIG9mIG9wZXJhdG9yICciLCBnZXRUb2tlbigpLCAiJyBt
dXN0IGJlIGEgcmVmZXJlbmNlIik7CisKKyAgICAgICAgICAgIHJldHVybiBsaHM7CisgICAgICAg
IH0KKyAgICB9CisKKyAgICBpZiAobWF0Y2goQVJST1dGVU5DVElPTikpIHsKKyAgICAgICAgcmVz
dG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAgbGhzID0gcGFy
c2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihjb250ZXh0KTsKKyAgICAgICAgcmV0dXJuIGxoczsKKyAg
ICB9CisjZWxzZQogICAgIFRyZWVFeHByZXNzaW9uIGxocyA9IHBhcnNlQ29uZGl0aW9uYWxFeHBy
ZXNzaW9uKGNvbnRleHQpOwogICAgIGZhaWxJZkZhbHNlKGxocywgIkNhbm5vdCBwYXJzZSBleHBy
ZXNzaW9uIik7CiAgICAgaWYgKGluaXRpYWxOb25MSFNDb3VudCAhPSBtX25vbkxIU0NvdW50KSB7
CkBAIC0xODIyLDcgKzIwNjQsOCBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRy
ZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbgogCiAgICAgICAg
IHJldHVybiBsaHM7CiAgICAgfQotICAgIAorI2VuZGlmCisKICAgICBpbnQgYXNzaWdubWVudFN0
YWNrID0gMDsKICAgICBPcGVyYXRvciBvcDsKICAgICBib29sIGhhZEFzc2lnbm1lbnQgPSBmYWxz
ZTsKQEAgLTIyOTcsNiArMjU0MCwyMyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHByZQogICAgICAg
ICByZXR1cm4gY29udGV4dC50aGlzRXhwcihsb2NhdGlvbiwgbV90aGlzVERaTW9kZSk7CiAgICAg
fQogICAgIGNhc2UgSURFTlQ6IHsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgICAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNhdmVQ
b2ludCgpOworICAgICAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlv
bigpOworICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlk
ZW50OworICAgICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsK
KyAgICAgICAgbmV4dCgpOworCisgICAgICAgIGlmICghbWF0Y2goQVJST1dGVU5DVElPTikpIHsK
KyAgICAgICAgICAgIGN1cnJlbnRTY29wZSgpLT51c2VWYXJpYWJsZShpZGVudCwgbV92bS0+cHJv
cGVydHlOYW1lcy0+ZXZhbCA9PSAqaWRlbnQpOworICAgICAgICAgICAgbV9sYXN0SWRlbnRpZmll
ciA9IGlkZW50OworICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUmVzb2x2ZShsb2Nh
dGlvbiwgaWRlbnQsIHN0YXJ0KTsKKyAgICAgICAgfQorCisgICAgICAgIHJlc3RvcmVTYXZlUG9p
bnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAgICAgIFRyZWVFeHByZXNzaW9uIGxocyA9
IHBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoY29udGV4dCk7CisgICAgICAgIHJldHVybiBsaHM7
CisjZWxzZQogICAgICAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlv
bigpOwogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlk
ZW50OwogICAgICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsK
QEAgLTIzMDQsNiArMjU2NCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4
cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAgICAgIGN1
cnJlbnRTY29wZSgpLT51c2VWYXJpYWJsZShpZGVudCwgbV92bS0+cHJvcGVydHlOYW1lcy0+ZXZh
bCA9PSAqaWRlbnQpOwogICAgICAgICBtX2xhc3RJZGVudGlmaWVyID0gaWRlbnQ7CiAgICAgICAg
IHJldHVybiBjb250ZXh0LmNyZWF0ZVJlc29sdmUobG9jYXRpb24sIGlkZW50LCBzdGFydCk7Cisj
ZW5kaWYKICAgICB9CiAgICAgY2FzZSBTVFJJTkc6IHsKICAgICAgICAgY29uc3QgSWRlbnRpZmll
ciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKQEAgLTI0OTEsNiArMjc1MiwzMiBAQCBl
bmRNZW1iZXJFeHByZXNzaW9uOgogICAgIHJldHVybiBiYXNlOwogfQogCisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKFRyZWVCdWlsZGVyJiBjb250ZXh0KQorewor
ICAgIFRyZWVFeHByZXNzaW9uIGJhc2UgPSAwOworICAgIEpTVGV4dFBvc2l0aW9uIGV4cHJlc3Np
b25TdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgIGludCBuZXdDb3VudCA9IDA7Cisg
ICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uOworCisgICAgaWYgKG1hdGNoKElERU5UKSB8fCBt
YXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgIHVuc2lnbmVkIGZ1bmN0aW9uS2V5d29yZFN0YXJ0
ID0gdG9rZW5TdGFydCgpOworICAgICAgICBsb2NhdGlvbiA9IHRva2VuTG9jYXRpb24oKTsKKyAg
ICAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOworICAgICAgICBpbmZv
Lm5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1lcy0+bnVsbElkZW50aWZpZXI7CisgICAgICAgIGZh
aWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1l
bnRzLCBGdW5jdGlvbk1vZGUsIHRydWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgZnVuY3Rpb25L
ZXl3b3JkU3RhcnQsIGluZm8sIEFycm93RnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJz
ZSBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgICAgIGJhc2UgPSBjb250ZXh0LmNy
ZWF0ZUFycm93RnVuY3Rpb25FeHByKGxvY2F0aW9uLCBpbmZvKTsKKyAgICB9IGVsc2UKKyAgICAg
ICAgYmFzZSA9IHBhcnNlUHJpbWFyeUV4cHJlc3Npb24oY29udGV4dCk7CisKKyAgICBmYWlsSWZG
YWxzZShiYXNlLCAiQ2Fubm90IHBhcnNlIGJhc2UgZXhwcmVzc2lvbiIpOworICAgIHdoaWxlIChu
ZXdDb3VudC0tKQorICAgICAgICBiYXNlID0gY29udGV4dC5jcmVhdGVOZXdFeHByKGxvY2F0aW9u
LCBiYXNlLCBleHByZXNzaW9uU3RhcnQsIGxhc3RUb2tlbkVuZFBvc2l0aW9uKCkpOworICAgIHJl
dHVybiBiYXNlOworfQorI2VuZGlmCisKIHN0YXRpYyBjb25zdCBjaGFyKiBvcGVyYXRvclN0cmlu
Zyhib29sIHByZWZpeCwgdW5zaWduZWQgdG9rKQogewogICAgIHN3aXRjaCAodG9rKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCAwZjI3MjhmODYyMWY4MDEwYzQxMGJm
Nzk4NzYxOWJmMjNlNTBhZjhiLi4zNGNkYTk3MmNjM2I4ZTA5ZDYyM2YzOWQ5ZjVhZmMyZTAxYTM3
Zjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKQEAgLTgwLDYgKzgwLDkg
QEAgY2xhc3MgU291cmNlQ29kZTsKIENPTVBJTEVfQVNTRVJUKExhc3RVbnRhZ2dlZFRva2VuIDwg
NjQsIExlc3NUaGFuNjRVbnRhZ2dlZFRva2Vucyk7CiAKIGVudW0gU291cmNlRWxlbWVudHNNb2Rl
IHsgQ2hlY2tGb3JTdHJpY3RNb2RlLCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlIH07CisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK2VudW0gRnVuY3Rpb25QYXJzZVR5cGUgeyBT
dGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlLCBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlIH07CisjZW5k
aWYKIGVudW0gRnVuY3Rpb25SZXF1aXJlbWVudHMgeyBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBG
dW5jdGlvbk5lZWRzTmFtZSB9OwogZW51bSBGdW5jdGlvblBhcnNlTW9kZSB7CiAgICAgRnVuY3Rp
b25Nb2RlLApAQCAtNjE4LDYgKzYyMSwxMyBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gbV90
b2tlbi5tX3R5cGUgPT0gSURFTlQgJiYgKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnBy
b3BlcnR5TmFtZXMtPm9mOwogICAgIH0KICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIEFMV0FZU19JTkxJTkUgYm9vbCBpc0VuZE9mQXJyb3dGdW5jdGlvbigp
CisgICAgeworICAgICAgICByZXR1cm4gbWF0Y2goU0VNSUNPTE9OKSB8fCBtYXRjaChDT01NQSkg
fHwgbWF0Y2goQ0xPU0VQQVJFTikgfHwgbWF0Y2goQ0xPU0VCUkFDRSkgfHwgbWF0Y2goQ0xPU0VC
UkFDS0VUKTsKKyAgICB9CisjZW5kaWYKKyAgICAKICAgICBBTFdBWVNfSU5MSU5FIHVuc2lnbmVk
IHRva2VuU3RhcnQoKQogICAgIHsKICAgICAgICAgcmV0dXJuIG1fdG9rZW4ubV9sb2NhdGlvbi5z
dGFydE9mZnNldDsKQEAgLTcyMSw5ICs3MzEsMTQgQEAgcHJpdmF0ZToKICAgICAgICAgfQogICAg
ICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KLSAgICAKKworI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291
cmNlRWxlbWVudHMgcGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYsIFNvdXJjZUVsZW1l
bnRzTW9kZSwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25QYXJzZVR5cGUgPSBTdGFuZGFyZEZ1
bmN0aW9uUGFyc2VUeXBlKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
dGF0ZW1lbnQgcGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVyKiYg
ZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDAsIEZ1bmN0aW9u
UGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBlID0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7
CisjZWxzZQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1l
bnRzIHBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUp
OwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0
YXRlbWVudChUcmVlQnVpbGRlciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2ln
bmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMCk7CisjZW5kaWYKICNpZiBFTkFCTEUoRVM2
X0NMQVNTX1NZTlRBWCkKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0
ZW1lbnQgcGFyc2VDbGFzc0RlY2xhcmF0aW9uKFRyZWVCdWlsZGVyJik7CiAjZW5kaWYKQEAgLTc2
MiwxNyArNzc3LDMyIEBAIHByaXZhdGU6CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlUHJvcGVydHkgcGFyc2VQcm9wZXJ0eShUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0KTsK
ICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlUHJv
cGVydHlNZXRob2QoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqIG1ldGhv
ZE5hbWUpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IHBh
cnNlR2V0dGVyU2V0dGVyKFRyZWVCdWlsZGVyJiwgYm9vbCBzdHJpY3QsIFByb3BlcnR5Tm9kZTo6
VHlwZSwgdW5zaWduZWQgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgQ29uc3RydWN0b3JLaW5k
ID0gQ29uc3RydWN0b3JLaW5kOjpOb25lLCBTdXBlckJpbmRpbmcgPSBTdXBlckJpbmRpbmc6Ok5v
dE5lZWRlZCk7Ci0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5F
IFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VGdW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImLCBpbnQgZnVu
Y3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwgaW50IHBhcmFtZXRlcnNT
dGFydCwgQ29uc3RydWN0b3JLaW5kKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVl
RnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVyJiwgaW50IGZ1bmN0aW9u
S2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIGludCBwYXJhbWV0ZXJzU3RhcnQs
IENvbnN0cnVjdG9yS2luZCwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25QYXJzZVR5cGUgPSBT
dGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNlbHNlCisgICAgICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rp
b25Cb2R5KFRyZWVCdWlsZGVyJiwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rp
b25OYW1lU3RhcnQsIGludCBwYXJhbWV0ZXJzU3RhcnQsIENvbnN0cnVjdG9yS2luZCk7CisjZW5k
aWYKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZv
cm1hbFBhcmFtZXRlckxpc3QgcGFyc2VGb3JtYWxQYXJhbWV0ZXJzKFRyZWVCdWlsZGVyJik7CiAg
ICAgZW51bSBWYXJEZWNsYXJhdGlvbkxpc3RDb250ZXh0IHsgRm9yTG9vcENvbnRleHQsIFZhckRl
Y2xhcmF0aW9uQ29udGV4dCB9OwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZUV4cHJlc3Npb24gcGFyc2VWYXJEZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImLCBpbnQmIGRl
Y2xhcmF0aW9ucywgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiYgbGFzdFBhdHRlcm4sIFRyZWVF
eHByZXNzaW9uJiBsYXN0SW5pdGlhbGl6ZXIsIEpTVGV4dFBvc2l0aW9uJiBpZGVudFN0YXJ0LCBK
U1RleHRQb3NpdGlvbiYgaW5pdFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdEVuZCwgVmFyRGVj
bGFyYXRpb25MaXN0Q29udGV4dCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBO
RVZFUl9JTkxJTkUgVHJlZUNvbnN0RGVjbExpc3QgcGFyc2VDb25zdERlY2xhcmF0aW9uTGlzdChU
cmVlQnVpbGRlciYpOwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlQXJyb3dG
dW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVC
dWlsZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lv
biBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKFRyZWVCdWlsZGVyJik7CisjZW5kaWYKKwogICAg
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVj
dGlvblBhdHRlcm4gY3JlYXRlQmluZGluZ1BhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0cnVj
dGlvbktpbmQsIGNvbnN0IElkZW50aWZpZXImLCBpbnQgZGVwdGgsIEpTVG9rZW4pOwogICAgIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlv
blBhdHRlcm4gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0
cnVjdGlvbktpbmQsIGludCBkZXB0aCA9IDApOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gdHJ5UGFyc2VEZWNv
bnN0cnVjdGlvblBhdHRlcm5FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gTkVWRVJfSU5MSU5FIGJvb2wgcGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImLCBGdW5j
dGlvblJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUsIGJvb2wgbmFtZUlzSW5Db250YWlu
aW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJz
ZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25Q
YXJzZVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNlbHNlCiAgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgYm9vbCBwYXJzZUZ1bmN0aW9uSW5m
byhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSwg
Ym9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kLCBpbnQgZnVuY3Rp
b25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mKTsKKyNlbmRp
ZgorICAgIAogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVDbGFzc0V4cHJlc3Npb24gcGFyc2VDbGFz
cyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzLCBQYXJzZXJDbGFzc0luZm88VHJl
ZUJ1aWxkZXI+Jik7CiAjZW5kaWYKQEAgLTc4OSw2ICs4MTksMTQgQEAgcHJpdmF0ZToKICAgICAg
ICAgcmV0dXJuIGFsbG93QXV0b21hdGljU2VtaWNvbG9uKCk7CiAgICAgfQogICAgIAorCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2b2lkIHNldEVuZE9mU3RhdGVt
ZW50KCkKKyAgICB7CisgICAgICAgIG1fbGV4ZXItPnNldFRva2VuUG9zaXRpb24oJm1fdG9rZW4p
OworICAgIH0KKyNlbmRpZgorCiAgICAgYm9vbCBjYW5SZWN1cnNlKCkKICAgICB7CiAgICAgICAg
IHJldHVybiBtX3ZtLT5pc1NhZmVUb1JlY3Vyc2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oCmluZGV4IDZiNzM2MjgyZTJkMmE4MWJj
NjNkYzJmM2MwZTVhZThjODU4Y2QxZjguLmQ3NTJhNjEwYTliNmViMGM2YTExNDk1NDY1Y2E3ZGJk
NzY4Y2Q1MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2Vy
RnVuY3Rpb25JbmZvLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJG
dW5jdGlvbkluZm8uaApAQCAtMjgsNiArMjgsMTAgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorZW51bSBBcnJvd0Z1bmN0aW9uQm9k
eVR5cGUgeyBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24sIEFycm93RnVuY3Rpb25Cb2R5Qmxv
Y2t9OworI2VuZGlmCisKIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4KIHN0cnVjdCBQYXJz
ZXJGdW5jdGlvbkluZm8gewogICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUgPSAwOwpAQCAtMzgs
NiArNDIsMTEgQEAgc3RydWN0IFBhcnNlckZ1bmN0aW9uSW5mbyB7CiAgICAgaW50IGJvZHlTdGFy
dExpbmUgPSAwOwogICAgIGludCBib2R5RW5kTGluZSA9IDA7CiAgICAgdW5zaWduZWQgYm9keVN0
YXJ0Q29sdW1uID0gMDsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
IHVuc2lnbmVkIGFycm93RnVuY3Rpb25PZmZzZXQgPSAwOworICAgIGJvb2wgaXNBcnJvd0Z1bmN0
aW9uID0gZmFsc2U7CisgICAgQXJyb3dGdW5jdGlvbkJvZHlUeXBlIGFycm93RnVuY3Rpb25Cb2R5
VHlwZSA9IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbjsKKyNlbmRpZgogfTsKIAogI2lmIEVO
QUJMRShFUzZfQ0xBU1NfU1lOVEFYKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXJUb2tlbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFy
c2VyVG9rZW5zLmgKaW5kZXggODMyOWY4MmE5YjJmZjkxNWQxZjI0MWMxZjhiZmZhZDQyNDdhNWYw
Yi4uYzhiMTY2ZTBlYWQ3ZDJkYTcxOWU3NmM0YTJmMDlhZmYxZDc0ZDdhYyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCkBAIC03NSw2ICs3NSw5IEBAIGVu
dW0gSlNUb2tlblR5cGUgewogICAgIEZJTkFMTFksCiAgICAgREVCVUdHRVIsCiAgICAgRUxTRSwK
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEFSUk9XRlVOQ1RJT04s
CisjZW5kaWYKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICBDTEFTU1RPS0VOLAog
ICAgIEVYVEVORFMsCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Nv
dXJjZUNvZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCmlu
ZGV4IDczZDIzZGI4MmFmMjVlYTQ2YzBmODk3ODVjZTQyNGJiNjBlYjYxYTcuLjkyOGU3MTJhOTBl
MzQ4OTg4YmMzNTU0ODk4NzViMDkwNzc2NzU1MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvU291cmNlQ29kZS5oCkBAIC0xMDUsNiArMTA1LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAg
ICAgICAgIAogICAgICAgICBTb3VyY2VDb2RlIHN1YkV4cHJlc3Npb24odW5zaWduZWQgb3BlbkJy
YWNlLCB1bnNpZ25lZCBjbG9zZUJyYWNlLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4p
OwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgU291cmNl
Q29kZSBzdWJBcnJvd0V4cHJlc3Npb24odW5zaWduZWQgc3RhcnRBcnJvd0Z1bmN0aW9uLCB1bnNp
Z25lZCBlbmRBcnJvd0Z1bmN0aW9uLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOwor
I2VuZGlmCiAgICAgcHJpdmF0ZToKICAgICAgICAgUmVmUHRyPFNvdXJjZVByb3ZpZGVyPiBtX3By
b3ZpZGVyOwogICAgICAgICBpbnQgbV9zdGFydENoYXI7CkBAIC0xMTgsNiArMTIxLDE3IEBAIG5h
bWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4gU291cmNlQ29kZShTdHJpbmdTb3VyY2VQcm92
aWRlcjo6Y3JlYXRlKHNvdXJjZSwgdXJsLCBzdGFydFBvc2l0aW9uKSwgc3RhcnRQb3NpdGlvbi5t
X2xpbmUub25lQmFzZWRJbnQoKSwgc3RhcnRQb3NpdGlvbi5tX2NvbHVtbi5vbmVCYXNlZEludCgp
KTsKICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlu
bGluZSBTb3VyY2VDb2RlIFNvdXJjZUNvZGU6OnN1YkFycm93RXhwcmVzc2lvbih1bnNpZ25lZCBz
dGFydEFycm93RnVuY3Rpb24sIHVuc2lnbmVkIGVuZEFycm93RnVuY3Rpb24sIGludCBmaXJzdExp
bmUsIGludCBzdGFydENvbHVtbikKKyAgICB7CisgICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5z
b3VyY2UoKVtzdGFydEFycm93RnVuY3Rpb25dID09ICc9JyAmJiBwcm92aWRlcigpLT5zb3VyY2Uo
KVtzdGFydEFycm93RnVuY3Rpb24gKyAxXSA9PSAnPicpOworICAgICAgICAvLyBGaXhtZTogVXNl
IGJldHRlciBhcHByb2FjaCB0byBjaGVjayBzeW1ib2wKKyAgICAgICAgQVNTRVJUKHByb3ZpZGVy
KCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnLCcgfHwgcHJvdmlkZXIoKS0+
c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICc7JyB8fCBwcm92aWRlcigpLT5zb3Vy
Y2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJyknIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgp
W2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnXScgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5k
QXJyb3dGdW5jdGlvbiAtIDFdID09ICd9Jyk7CisgICAgICAgIHN0YXJ0Q29sdW1uICs9IDE7IC8v
IENvbnZlcnQgdG8gYmFzZSAxLgorICAgICAgICByZXR1cm4gU291cmNlQ29kZShwcm92aWRlcigp
LCBzdGFydEFycm93RnVuY3Rpb24sIGVuZEFycm93RnVuY3Rpb24gLSAxLCBmaXJzdExpbmUsIHN0
YXJ0Q29sdW1uKTsKKyAgICB9CisjZW5kaWYKKwogICAgIGlubGluZSBTb3VyY2VDb2RlIFNvdXJj
ZUNvZGU6OnN1YkV4cHJlc3Npb24odW5zaWduZWQgb3BlbkJyYWNlLCB1bnNpZ25lZCBjbG9zZUJy
YWNlLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pCiAgICAgewogICAgICAgICBBU1NF
UlQocHJvdmlkZXIoKS0+c291cmNlKClbb3BlbkJyYWNlXSA9PSAneycpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCmlu
ZGV4IDYzNTM3OWUzZjQ0NTY2OGM1MmI4NzJmNzYxNmRjYjU5MjFhODI5NDQuLjgzNDY0ODUyMTlk
MGFjZjZiMzI2OTcyZGEyNzk3MjFkMzY1NWRiMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKQEAgLTQwLDYgKzQw
LDEwIEBAIHN0cnVjdCBTb3VyY2VQcm92aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFyYW1ldGVycyB7
CiAgICAgYm9vbCBuZWVkc0Z1bGxBY3RpdmF0aW9uOwogICAgIGJvb2wgdXNlc0V2YWw7CiAgICAg
Ym9vbCBzdHJpY3RNb2RlOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgYm9vbCBpc0JvZHlBcnJvd0Z1bmN0aW9uQmxvY2s7CisgICAgSlNUb2tlblR5cGUgdG9rZW5U
eXBlOworI2VuZGlmCiAgICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4gdXNlZFZhcmlhYmxl
czsKICAgICBWZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiB3cml0dGVuVmFyaWFibGVzOwogfTsK
QEAgLTY5LDYgKzczLDIxIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIHRva2VuOwogICAgIH0K
IAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgSlNUb2tlbiBlbmRB
cnJvd0Z1bmN0aW9uVG9rZW4oKSBjb25zdAorICAgIHsKKyAgICAgICAgSlNUb2tlbiB0b2tlbjsK
KyAgICAgICAgdG9rZW4ubV90eXBlID0gdG9rZW5UeXBlOworICAgICAgICB0b2tlbi5tX2RhdGEu
b2Zmc2V0ID0gY2xvc2VCcmFjZU9mZnNldDsKKyAgICAgICAgdG9rZW4ubV9sb2NhdGlvbi5zdGFy
dE9mZnNldCA9IGNsb3NlQnJhY2VPZmZzZXQ7CisgICAgICAgIHRva2VuLm1fbG9jYXRpb24uZW5k
T2Zmc2V0ID0gY2xvc2VCcmFjZU9mZnNldCArIDE7CisgICAgICAgIHRva2VuLm1fbG9jYXRpb24u
bGluZSA9IGNsb3NlQnJhY2VMaW5lOworICAgICAgICB0b2tlbi5tX2xvY2F0aW9uLmxpbmVTdGFy
dE9mZnNldCA9IGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQ7CisKKyAgICAgICAgcmV0dXJuIHRv
a2VuOworICAgIH0KKyNlbmRpZgorCiAgICAgdW5zaWduZWQgZnVuY3Rpb25OYW1lU3RhcnQgOiAz
MTsKICAgICBib29sIG5lZWRzRnVsbEFjdGl2YXRpb24gOiAxOwogICAgIApAQCAtODIsNiArMTAx
LDExIEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCB1c2VkVmFyaWFibGVzQ291bnQ7CiAgICAgdW5z
aWduZWQgd3JpdHRlblZhcmlhYmxlc0NvdW50OwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICBib29sIGlzQm9keUFycm93RnVuY3Rpb25CbG9jazsKKyAgICBKU1Rv
a2VuVHlwZSB0b2tlblR5cGU7CisjZW5kaWYKKwogICAgIFN0cmluZ0ltcGwqKiB1c2VkVmFyaWFi
bGVzKCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxTdHJpbmdJbXBsKio+KG1fdmFyaWFibGVz
KTsgfQogICAgIFN0cmluZ0ltcGwqKiB3cml0dGVuVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4g
Y29uc3RfY2FzdDxTdHJpbmdJbXBsKio+KCZtX3ZhcmlhYmxlc1t1c2VkVmFyaWFibGVzQ291bnRd
KTsgfQogCkBAIC0xMTUsNiArMTM5LDEwIEBAIGlubGluZSBTb3VyY2VQcm92aWRlckNhY2hlSXRl
bTo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0oY29uc3QgU291cmNlUHJvdmlkZXJDYWNoCiAgICAg
LCBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0KHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmVTdGFy
dE9mZnNldCkKICAgICAsIHVzZWRWYXJpYWJsZXNDb3VudChwYXJhbWV0ZXJzLnVzZWRWYXJpYWJs
ZXMuc2l6ZSgpKQogICAgICwgd3JpdHRlblZhcmlhYmxlc0NvdW50KHBhcmFtZXRlcnMud3JpdHRl
blZhcmlhYmxlcy5zaXplKCkpCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICAsIGlzQm9keUFycm93RnVuY3Rpb25CbG9jayhwYXJhbWV0ZXJzLmlzQm9keUFycm93RnVu
Y3Rpb25CbG9jaykKKyAgICAsIHRva2VuVHlwZShwYXJhbWV0ZXJzLnRva2VuVHlwZSkKKyNlbmRp
ZgogewogICAgIHVuc2lnbmVkIGogPSAwOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB1
c2VkVmFyaWFibGVzQ291bnQ7ICsraSwgKytqKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvU3ludGF4Q2hlY2tlci5oCmluZGV4IDhlNGY2MWI5NDk4OTBiOWJmNTQwMjllOTY2NjFl
ZWY1M2ExN2I1ODQuLjVmOGUyMTFlZTRiNTNiMzk0ZWI1YWUyMTkwYjgzYzhjNGY4NDRjZmQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCkBAIC0xNzAs
NiArMTcwLDEwIEBAIHB1YmxpYzoKICNlbmRpZgogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUZ1
bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbklu
Zm88U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KICAgICBpbnQgY3Jl
YXRlRnVuY3Rpb25Cb2R5KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IEpTVG9rZW5Mb2Nh
dGlvbiYsIGludCwgaW50LCBib29sLCBpbnQsIGludCwgaW50LCBDb25zdHJ1Y3RvcktpbmQpIHsg
cmV0dXJuIEZ1bmN0aW9uQm9keVJlc3VsdDsgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIoY29u
c3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNr
ZXI+JikgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9CisjZW5kaWYgCisgICAgdm9pZCBzZXRGdW5j
dGlvbk5hbWVTdGFydChpbnQsIGludCkgeyB9CiAgICAgaW50IGNyZWF0ZUFyZ3VtZW50cygpIHsg
cmV0dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQogICAgIGludCBjcmVhdGVBcmd1bWVudHMoaW50KSB7
IHJldHVybiBBcmd1bWVudHNSZXN1bHQ7IH0KICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVTcHJl
YWRFeHByZXNzaW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIEV4cHJlc3Npb25UeXBlLCBpbnQs
IGludCwgaW50KSB7IHJldHVybiBTcHJlYWRFeHByOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZmMzZWExODAw
Njg5NjQzYWFkZDZjNmE0OTdlZDBhZTZjMjExMTIwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcApAQCAtMCwwICsxLDc3
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisjaW5j
bHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCisKKyNpbmNsdWRlICJFcnJvci5oIgorI2luY2x1ZGUg
IkV4Y2VwdGlvbkhlbHBlcnMuaCIKKyNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCisjaW5jbHVkZSAi
SlNDSlNWYWx1ZS5oIgorI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU0Z1bmN0
aW9uSW5saW5lcy5oIgorI2luY2x1ZGUgIkpTT2JqZWN0LmgiCisjaW5jbHVkZSAiUHJvcGVydHlT
bG90LmgiCisjaW5jbHVkZSAiVk0uaCIKKworbmFtZXNwYWNlIEpTQyB7CisgICAgCitjb25zdCBD
bGFzc0luZm8gSlNBcnJvd0Z1bmN0aW9uOjpzX2luZm8gPSB7ICJBcnJvd0Z1bmN0aW9uIiwgJkJh
c2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0Fycm93RnVuY3Rpb24pIH07CisK
K3ZvaWQgSlNBcnJvd0Z1bmN0aW9uOjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKK3sKKyAgICBzdGF0
aWNfY2FzdDxKU0Fycm93RnVuY3Rpb24qPihjZWxsKS0+SlNBcnJvd0Z1bmN0aW9uOjp+SlNBcnJv
d0Z1bmN0aW9uKCk7Cit9CisKK0pTQXJyb3dGdW5jdGlvbjo6SlNBcnJvd0Z1bmN0aW9uKFZNJiB2
bSwgSlNTY29wZSogc2NvcGUsIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUpCisgICAgOiBCYXNlKHZtLCBleGVjdXRhYmxlLCBzY29wZSwgc3RydWN0
dXJlKQoreworfQorICAgIAordm9pZCBKU0Fycm93RnVuY3Rpb246OmZpbmlzaENyZWF0aW9uKFZN
JiB2bSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CisvLyBQcm90b3R5cGUgb2Yg
YXJyb3cgZnVuY3Rpb24gaXMgdW5kZWZpbmVkCisgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0
eU5hbWVzLT5wcm90b3R5cGUsIGpzVW5kZWZpbmVkKCksIERvbnREZWxldGUgfCBSZWFkT25seSB8
IERvbnRFbnVtKTsKK30KKyAgICAKK3ZvaWQgSlNBcnJvd0Z1bmN0aW9uOjp2aXNpdENoaWxkcmVu
KEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCit7CisgICAgSlNBcnJvd0Z1bmN0
aW9uKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTQXJyb3dGdW5jdGlvbio+KGNlbGwpOworICAgIEFT
U0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVjdCwgaW5mbygpKTsKKyAgICBCYXNlOjp2
aXNpdENoaWxkcmVuKHRoaXNPYmplY3QsIHZpc2l0b3IpOworfQorICAgIAorQ29uc3RydWN0VHlw
ZSBKU0Fycm93RnVuY3Rpb246OmdldENvbnN0cnVjdERhdGEoSlNDZWxsKiBjZWxsLCBDb25zdHJ1
Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQoreworICAgIEpTRnVuY3Rpb24qIHRoaXNPYmplY3QgPSBq
c0Nhc3Q8SlNGdW5jdGlvbio+KGNlbGwpOworICAgICAgICAKKyAgICBjb25zdHJ1Y3REYXRhLmpz
LmZ1bmN0aW9uRXhlY3V0YWJsZSA9IHRoaXNPYmplY3QtPmpzRXhlY3V0YWJsZSgpOworICAgIGNv
bnN0cnVjdERhdGEuanMuc2NvcGUgPSB0aGlzT2JqZWN0LT5zY29wZSgpOworICAgIHJldHVybiBD
b25zdHJ1Y3RUeXBlTm9uZTsKK30KK30gLy8gbmFtZXNwYWNlIEpTQworI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljc4MDE1ZDM4NzIxY2NhNDRhZTJmNjVjYjZkNzdiNmE2NTIyMDk2NWQKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uaApAQCAt
MCwwICsxLDc0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2lmbmRlZiBKU0Fycm93RnVuY3Rpb25faAorI2RlZmluZSBKU0Fycm93RnVuY3Rpb25faAor
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKworI2luY2x1ZGUgIkpTRnVu
Y3Rpb24uaCIKKyNpbmNsdWRlICJKU0dsb2JhbE9iamVjdC5oIgorCituYW1lc3BhY2UgSlNDIHsK
KworY2xhc3MgSlNBcnJvd0Z1bmN0aW9uIDogcHVibGljIEpTRnVuY3Rpb24geworcHVibGljOgor
ICAgIHR5cGVkZWYgSlNGdW5jdGlvbiBCYXNlOworICAgICAgICAKKyAgICBzdGF0aWMgSlNBcnJv
d0Z1bmN0aW9uKiBjcmVhdGUoVk0mIHZtLCBKU1Njb3BlKiBzY29wZSwgRnVuY3Rpb25FeGVjdXRh
YmxlKiBleGVjdXRhYmxlLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQorICAgIHsKKyAg
ICAgICAgSlNBcnJvd0Z1bmN0aW9uKiBmdW5jdGlvbiA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVD
ZWxsPEpTQXJyb3dGdW5jdGlvbj4odm0uaGVhcCkpIEpTQXJyb3dGdW5jdGlvbih2bSwgc2NvcGUs
IGV4ZWN1dGFibGUsIGdsb2JhbE9iamVjdC0+YXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpKTsKKyAg
ICAgICAgQVNTRVJUKGZ1bmN0aW9uLT5zdHJ1Y3R1cmUoKS0+Z2xvYmFsT2JqZWN0KCkpOworICAg
ICAgICBmdW5jdGlvbi0+ZmluaXNoQ3JlYXRpb24odm0pOworICAgICAgICByZXR1cm4gZnVuY3Rp
b247CisgICAgfQorICAgIAorICAgIHN0YXRpYyB2b2lkIGRlc3Ryb3koSlNDZWxsKik7CisgICAg
ICAgIAorICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgcHJvdG90eXBlKQorICAgIHsKKyAgICAg
ICAgQVNTRVJUKGdsb2JhbE9iamVjdCk7CisgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0
ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKEpTRnVuY3Rpb25UeXBlLCBT
dHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CisgICAgfQorICAgICAgICAKKyAgICBzdGF0aWMgQ29u
c3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmKTsKKyAg
ICAgICAgCisgICAgREVDTEFSRV9JTkZPOworCitwcm90ZWN0ZWQ6CisgICAgY29uc3Qgc3RhdGlj
IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzSGFzSW5zdGFuY2UgfCBCYXNlOjpT
dHJ1Y3R1cmVGbGFnczsKKyAgICAgICAgCisgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihK
U0NlbGwqLCBTbG90VmlzaXRvciYpOworICAgICAgICAKK3ByaXZhdGU6CisgICAgSlNBcnJvd0Z1
bmN0aW9uKFZNJiwgSlNTY29wZSosIEZ1bmN0aW9uRXhlY3V0YWJsZSosIFN0cnVjdHVyZSopOwor
CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOworfTsKKyAgICAKK30gLy8gbmFtZXNwYWNl
IEpTQworI2VuZGlmIC8vIEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWAorCisjZW5kaWYgLy8gSlNB
cnJvd0Z1bmN0aW9uX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTRnVuY3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24u
aAppbmRleCA5YWI5ZGMyNzc3YmFiZjg5NjM4MWRjZjQwMmMwMTMwOTBmOTVlMzBjLi4zYTBhZTAx
MTM1YmNiOTY0MGIwNTAyYTMxNjUxYWY4ZmNhYTJjNGFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCkBAIC0xMzIsNiArMTMyLDkgQEAgcHJvdGVjdGVkOgog
CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0Kiwg
U3RydWN0dXJlKik7CiAgICAgSlNGdW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSosIEpT
U2NvcGUqKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEpTRnVu
Y3Rpb24oVk0mLCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBKU1Njb3BlKiwgU3RydWN0dXJlKik7Cisj
ZW5kaWYKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBOYXRpdmVFeGVjdXRhYmxlKiwg
aW50IGxlbmd0aCwgY29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICB1c2luZyBCYXNlOjpmaW5pc2hD
cmVhdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVu
Y3Rpb25JbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9u
SW5saW5lcy5oCmluZGV4IDM3YjI4MWFhNWQwYzFiODYxNjQ1MTlmZDdjNTY2ZTM3ZjBmMTM0MDEu
LjdiMzQ5MGJlYjk0YTM1OTNlZTE3YmMzYjE2YjMyYzdkZmFmOTU3M2QgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaApAQCAtMzgsNiAr
MzgsMTUgQEAgaW5saW5lIEpTRnVuY3Rpb246OkpTRnVuY3Rpb24oVk0mIHZtLCBGdW5jdGlvbkV4
ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpTU2NvcGUqIHMKIHsKIH0KIAorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCitpbmxpbmUgSlNGdW5jdGlvbjo6SlNGdW5jdGlvbihWTSYg
dm0sIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgSlNTY29wZSogc2NvcGUsIFN0cnVj
dHVyZSogc3RydWN0dXJlKQorICAgIDogQmFzZSh2bSwgc2NvcGUsIHN0cnVjdHVyZSkKKyAgICAs
IG1fZXhlY3V0YWJsZSh2bSwgdGhpcywgZXhlY3V0YWJsZSkKKyAgICAsIG1fYWxsb2NhdGlvblBy
b2ZpbGVXYXRjaHBvaW50KENsZWFyV2F0Y2hwb2ludCkKK3sKK30KKyNlbmRpZgorICAgIAogaW5s
aW5lIEZ1bmN0aW9uRXhlY3V0YWJsZSogSlNGdW5jdGlvbjo6anNFeGVjdXRhYmxlKCkgY29uc3QK
IHsKICAgICBBU1NFUlQoIWlzSG9zdEZ1bmN0aW9uTm9uSW5saW5lKCkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCmluZGV4IGQzOTYxOGFi
N2VhZjU1OTc0ZGFhYzIzYjgxMzMzZWIwMDUxZWJlNzMuLmY5NDFhZDE4Nzk2OGJjZDg3ZTJmNDlj
OGI3ODc1MDU0ZGM3ZDYwNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0dsb2JhbE9iamVjdC5jcHAKQEAgLTYyLDYgKzYyLDkgQEAKICNpbmNsdWRlICJKU0FycmF5
QnVmZmVyUHJvdG90eXBlLmgiCiAjaW5jbHVkZSAiSlNBcnJheUl0ZXJhdG9yLmgiCiAjaW5jbHVk
ZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNlbmRpZgogI2luY2x1ZGUgIkpTQ0lu
bGluZXMuaCIKICNpbmNsdWRlICJKU0NhbGxiYWNrQ29uc3RydWN0b3IuaCIKICNpbmNsdWRlICJK
U0NhbGxiYWNrRnVuY3Rpb24uaCIKQEAgLTIzMyw2ICsyMzYsOSBAQCB2b2lkIEpTR2xvYmFsT2Jq
ZWN0Ojppbml0KFZNJiB2bSkKICAgICBleGVjLT5zZXRDYWxsZWUobV9nbG9iYWxDYWxsZWUuZ2V0
KCkpOwogCiAgICAgbV9mdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpTRnVuY3Rpb246
OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOwor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgbV9hcnJvd0Z1bmN0aW9u
U3RydWN0dXJlLnNldCh2bSwgdGhpcywgSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUo
dm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKKyNlbmRpZgogICAgIG1fYm91
bmRGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpTQm91bmRGdW5jdGlvbjo6Y3JlYXRl
U3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7CiAgICAgbV9u
YW1lZEZ1bmN0aW9uU3RydWN0dXJlLnNldCh2bSwgdGhpcywgU3RydWN0dXJlOjphZGRQcm9wZXJ0
eVRyYW5zaXRpb24odm0sIG1fZnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCksIHZtLnByb3BlcnR5TmFt
ZXMtPm5hbWUsIERvbnREZWxldGUgfCBSZWFkT25seSB8IERvbnRFbnVtLCBtX2Z1bmN0aW9uTmFt
ZU9mZnNldCkpOwogICAgIG1faW50ZXJuYWxGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMs
IEludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblBy
b3RvdHlwZS5nZXQoKSkpOwpAQCAtNzI1LDYgKzczMSw5IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6
OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKICAgICB2
aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9jYWxsZWVTdHJ1Y3R1cmUpOwogICAgIHZpc2l0
b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2Z1bmN0aW9uU3RydWN0dXJlKTsKICAgICB2aXNpdG9y
LmFwcGVuZCgmdGhpc09iamVjdC0+bV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlKTsKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2Jq
ZWN0LT5tX2Fycm93RnVuY3Rpb25TdHJ1Y3R1cmUpOworI2VuZGlmCiAgICAgdmlzaXRvci5hcHBl
bmQoJnRoaXNPYmplY3QtPm1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5h
cHBlbmQoJnRoaXNPYmplY3QtPm1fc3ltYm9sT2JqZWN0U3RydWN0dXJlKTsKICAgICB2aXNpdG9y
LmFwcGVuZCgmdGhpc09iamVjdC0+bV9yZWdFeHBNYXRjaGVzQXJyYXlTdHJ1Y3R1cmUpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKaW5kZXggNzQ5
NjZiN2JkMDZiYWNkODY2MWM5YmY0YWJlNDVjZWIzYjUxMThiNC4uODE3ZjI1NzY2MDcwMDc5OTAx
ODYxNGEwMjk2YWJjM2M5NTMwMjU5MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC0yMjUsNiArMjI1LDkgQEAgcHJvdGVjdGVkOgogICAg
IFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fY2FsbGVlU3RydWN0dXJlOwogICAgIFdyaXRlQmFy
cmllcjxTdHJ1Y3R1cmU+IG1fZnVuY3Rpb25TdHJ1Y3R1cmU7CiAgICAgV3JpdGVCYXJyaWVyPFN0
cnVjdHVyZT4gbV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlOworI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9hcnJvd0Z1bmN0
aW9uU3RydWN0dXJlOworI2VuZGlmCiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9uYW1l
ZEZ1bmN0aW9uU3RydWN0dXJlOwogICAgIFByb3BlcnR5T2Zmc2V0IG1fZnVuY3Rpb25OYW1lT2Zm
c2V0OwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fcHJpdmF0ZU5hbWVTdHJ1Y3R1cmU7
CkBAIC00NTYsNiArNDU5LDkgQEAgcHVibGljOgogICAgIFN0cnVjdHVyZSogY2FsbGVlU3RydWN0
dXJlKCkgY29uc3QgeyByZXR1cm4gbV9jYWxsZWVTdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBTdHJ1
Y3R1cmUqIGZ1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9mdW5jdGlvblN0cnVj
dHVyZS5nZXQoKTsgfQogICAgIFN0cnVjdHVyZSogYm91bmRGdW5jdGlvblN0cnVjdHVyZSgpIGNv
bnN0IHsgcmV0dXJuIG1fYm91bmRGdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgU3RydWN0dXJlKiBhcnJvd0Z1bmN0aW9u
U3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlLmdldCgp
OyB9CisjZW5kaWYKICAgICBTdHJ1Y3R1cmUqIG5hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25z
dCB7IHJldHVybiBtX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBQcm9wZXJ0
eU9mZnNldCBmdW5jdGlvbk5hbWVPZmZzZXQoKSBjb25zdCB7IHJldHVybiBtX2Z1bmN0aW9uTmFt
ZU9mZnNldDsgfQogICAgIFN0cnVjdHVyZSogbnVtYmVyT2JqZWN0U3RydWN0dXJlKCkgY29uc3Qg
eyByZXR1cm4gbV9udW1iZXJPYmplY3RTdHJ1Y3R1cmUuZ2V0KCk7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsdGhp
cy5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1s
ZXhpY2FsdGhpcy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MTJmYmFmODA0NDgyYzc3NjFjMzdkZDY5M2E4NDg1
ZTU1MTE1NzNlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWx0aGlzLmpzCkBAIC0wLDAgKzEsMzEgQEAKK3Zh
ciByZXN1bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwg
bWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3Nh
Z2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwg
KyAiJyI7CisgIH0KK307CisKK3ZhciBhZk9iakxleEJpbmQyID0gZnVuY3Rpb24gKCkgeworICB0
aGlzLmZ1bmMgPSAoKSA9PiB0aGlzOworfTsKKwordmFyIGFmT2JqTGV4QmluZDJJbnN0YW5jZSA9
IG5ldyBhZk9iakxleEJpbmQyKCk7CisKK3Rlc3RDYXNlKGFmT2JqTGV4QmluZDJJbnN0YW5jZS5m
dW5jKCkgPT09IGFmT2JqTGV4QmluZDJJbnN0YW5jZSwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5v
dCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzIiKTsKKwor
dmFyIG9iaiA9IHsKKyAgbWV0aG9kOiBmdW5jdGlvbiAoKSB7CisgICAgcmV0dXJuICgpID0+IHRo
aXM7CisgIH0KK307CisKK3Rlc3RDYXNlKG9iai5tZXRob2QoKSgpID09PSBvYmosIHRydWUsICJF
cnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1
bmN0aW9uICMzIik7CisKK3ZhciBmYWtlID0ge3N0ZWFsOiBvYmoubWV0aG9kKCl9OwordGVzdENh
c2UoZmFrZS5zdGVhbCgpID09PSBvYmosIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNh
bGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM0Iik7CisKKworLy8gRml4
bWU6IGZvbGxvd2luZyB0ZXN0IGZhaWxzIGluIGRmZy1lYWdlci1uby1jaml0LXZhbGlkYXRlICYg
ZnRsLWVhZ2VyLW5vLWNqaXQgbW9kZQordmFyIHJlYWwgPSB7Ym9ycm93OiBvYmoubWV0aG9kfTsK
K3Rlc3RDYXNlKHJlYWwuYm9ycm93KCkoKSA9PT0gcmVhbCwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlz
IG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzUiKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5j
dGlvbi1vdGhlcnMuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93
ZnVuY3Rpb24tb3RoZXJzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmViYmY4NTllMjAzZWIxZjU0YWNhZTFkNDA4
M2NhM2RkM2RjOTc2MWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tb3RoZXJzLmpzCkBAIC0wLDAgKzEsMzAgQEAKK3Zh
ciByZXN1bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwg
bWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3Nh
Z2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwg
KyAiJyI7CisgIH0KK307CisKK3ZhciBzaW1wbGVBcnJvd0Z1bmN0aW9uID0gKCkgPT4ge307CisK
K3Rlc3RDYXNlKHR5cGVvZiBzaW1wbGVBcnJvd0Z1bmN0aW9uLCAiZnVuY3Rpb24iLCAiRXJyb3I6
IE5vdCBjb3JyZWN0IHR5cGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKE9i
amVjdC5nZXRQcm90b3R5cGVPZihzaW1wbGVBcnJvd0Z1bmN0aW9uKSwgRnVuY3Rpb24ucHJvdG90
eXBlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGdldFByb3RvdHlwZU9mIHZhbHVlIGZvciBhcnJvdyBm
dW5jdGlvbiIpOworCit0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uIGluc3RhbmNlb2YgRnVu
Y3Rpb24sIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBpbnN0YW5jZW9mIG1l
dGhvZCBmb3IgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2Uoc2ltcGxlQXJyb3dGdW5jdGlv
bi5jb25zdHJ1Y3RvciA9PSBGdW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1
bHQgZm9yIGNvbnN0cnVjdG9yIG1ldGhvZCBvZiBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2Fz
ZSh0eXBlb2Ygc2ltcGxlQXJyb3dGdW5jdGlvbi5wcm90b3R5cGUgPT09ICd1bmRlZmluZWQnLCB0
cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJvdG90eXBlIG9mIGFycm93IGZ1
bmN0aW9uIik7CisKK3ZhciBlcnJvck9uQ3JlYXRlID0gZmFsc2U7CisKK3RyeSB7CisgIHZhciBm
YyA9IG5ldyBzaW1wbGVBcnJvd0Z1bmN0aW9uKCk7Cit9CitjYXRjaCAoZSkgeworICBlcnJvck9u
Q3JlYXRlID0gdHJ1ZTsKK30KKwordGVzdENhc2UoZXJyb3JPbkNyZWF0ZSwgdHJ1ZSwgIkVycm9y
OiBObyBlcnJvciBkdXJpbmcgcnVuIG5ldyBBcnJvd0Z1bmN0aW9uIik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24uanMgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24uanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMDY4N2IzYWFiMWQyN2Y0NTNmOTA3NjFjZWMxYWQ0ZDA1Y2YwM2IzNQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi5q
cwpAQCAtMCwwICsxLDE1NCBAQAordmFyIHJlc3VsdDsKKworIHZhciB0ZXN0Q2FzZSA9IGZ1bmN0
aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVj
dGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAi
JywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGFycm93RnVuY3Rp
b24wID0gdiA9PiB2ICsgMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24wKDEwKTsKK3Rlc3RDYXNl
KHJlc3VsdCwgMTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbjogdiA9PiB2ICsgMSIpOworCit2YXIgYXJyb3dGdW5jdGlvbjEgPSAodikgPT4gdiAq
IDI7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMSgxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIwICwi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICh2KSA9
PiB2ICsgMSIpOworCit2YXIgYXJyb3dGdW5jdGlvbjIgPSAoKSA9PiAxMDAwOworcmVzdWx0ID0g
YXJyb3dGdW5jdGlvbjIoMTIxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMDAgLCJFcnJvcjogTm90
IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKCkgPT4gMTAwMCIpOwor
Cit2YXIgdG1wVmFyaWFsdmUyXzEgPSAxNTE7Cit2YXIgYXJyb3dGdW5jdGlvbjJfMSA9ICgpID0+
IHRtcFZhcmlhbHZlMl8xOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjJfMSgxMjEpOwordGVzdENh
c2UocmVzdWx0LCB0bXBWYXJpYWx2ZTJfMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24g
b2YgdGhlIGFycm93IGZ1bmN0aW9uOiAoKSA9PiB2YXJpYWJsZSIpOworCit2YXIgYXJyb3dGdW5j
dGlvbjMgPSAodiwgeCkgPT4gdiArIHg7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMygxMSwxMik7
Cit0ZXN0Q2FzZShyZXN1bHQsIDIzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0
aGUgYXJyb3cgZnVuY3Rpb246ICh4LCB5KSA9PiB4ICsgeSIpOworCit2YXIgYXJyb3dGdW5jdGlv
bldyYXBwZXIgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVyKSB7IHJldHVybiBjbChwYXJhbXRlcik7
IH07CisKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4gMTIzNCk7Cit0ZXN0Q2Fz
ZShyZXN1bHQsIDEyMzQgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1
bmN0aW9uV3JhcHBlcih4ID0+IDEyMzQsIDIzNDUpOwordGVzdENhc2UocmVzdWx0LCAxMjM0ICwi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFy
YW10ZXI6IGYoeCA9PiBjLCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIo
eCA9PiAxMjEgKyAyMzIpOwordGVzdENhc2UocmVzdWx0LCAzNTMgLCJFcnJvcjogTm90IGNvcnJl
Y3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMx
ICsgYzIpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEyMyArIDMy
MSwgOTk5OSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDQ0NCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVj
dXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYzEgKyBjMiwg
eSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4geCArIDEyLCAyMSk7
Cit0ZXN0Q2FzZShyZXN1bHQsIDMzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0
aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiB4ICsgYzEsIHkpIik7CisKKyBy
ZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoeCkgPT4geCArIDIxLCAzMik7Cit0ZXN0Q2Fz
ZShyZXN1bHQsIDUzLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKHgpID0+IGMxICsgYzIsIHkpIik7CisKKyByZXN1bHQg
PSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiAxMDApOwordGVzdENhc2UocmVzdWx0LCAxMDAs
ICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBw
YXJhbXRlcjogZigoKSA9PiBjKSIpOworCisgdmFyIGV4dF92YWx1ZSA9IDEyMTsKK3Jlc3VsdCA9
IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IGV4dF92YWx1ZSk7Cit0ZXN0Q2FzZShyZXN1bHQs
IDEyMSwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9u
IGFzIHBhcmFtdGVyOiBmKCgpID0+IHYpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3Jh
cHBlcigoKSA9PiBleHRfdmFsdWUgKiAxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMTAgLCJFcnJv
cjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRl
cjogZigoKSA9PiB2KngpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoeCkg
PT4gZXh0X3ZhbHVlICogeCwgMzApOwordGVzdENhc2UocmVzdWx0LCAzMCpleHRfdmFsdWUgLCJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJh
bXRlcjogZigoeCkgPT4gdip4LCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBw
ZXIoKCkgPT4gMTAwLCAxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMCAsIkVycm9yOiBOb3QgY29y
cmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+
IGMxLCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwICsg
MTApOwordGVzdENhc2UocmVzdWx0LCAxMTAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjMSArIGMyKSIpOwor
CisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwICsgMTEsIDEyKTsKK3Rl
c3RDYXNlKHJlc3VsdCwgMTExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYzEgKyBjMiwgeSkiKTsKKworIHZh
ciBhcnJvd0Z1bmN0aW9uNCA9IHYgPT4gdiArIDEsIHh5ejEgPSAxMDEwMTsKK3Jlc3VsdCA9IGFy
cm93RnVuY3Rpb240KDEwMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDEyICwiRXJyb3I6IE5vdCBj
b3JyZWN0IHBhcnNpbmcgb2YgdGggYXJyb3cgZnVuY3Rpb24gaW5zaWRlIG9mIHRoZSBsaXN0IG9m
IHZhcnM6IHZhciBhZiA9IHY9PiB2ICsgMTsgenhjPWM7Iik7Cit0ZXN0Q2FzZSh4eXoxLCAxMDEw
MSAsIkVycm9yOiBOb3QgY29ycmVjdCBwYXJzaW5nIG9mIHRoIGFycm93IGZ1bmN0aW9uIGluc2lk
ZSBvZiB0aGUgbGlzdCBvZiB2YXJzOiB2YXIgYWYgPSB2PT4gdiArIDE7IHp4Yz1jOyIpOworCisg
dmFyIGFycm93RnVuY3Rpb25XcmFwcGVyMiA9IGZ1bmN0aW9uIChjbCwgcGFyYW10ZXIxLCBwYXJh
bXRlcjIpIHsgcmV0dXJuIGNsKHBhcmFtdGVyMSwgcGFyYW10ZXIyKTsgfTsKK3Jlc3VsdCA9IGFy
cm93RnVuY3Rpb25XcmFwcGVyMigoeCwgeSkgPT4geCArIHksIDEyICw0Myk7Cit0ZXN0Q2FzZShy
ZXN1bHQsIDU1ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb24gYXMgcGFyYW1ldGVyOiBmKCh4LCB5KSA9PiB4ICsgeSwgYzEsIGMyKSIpOworCisgdmFy
IGFycm93RnVuY3Rpb0FycmF5MCA9IFt2ID0+IHYgKiAxMF07CityZXN1bHQgPSBhcnJvd0Z1bmN0
aW9BcnJheTBbMF0oMTApOwordGVzdENhc2UocmVzdWx0LCAxMDAgLCJFcnJvcjogTm90IGNvcnJl
Y3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbdj0+
dioxMF0iKTsKKworIHZhciBhcnJvd0Z1bmN0aW9BcnJheTEgPSBbdiA9PiB2ICsgMSwgdiA9PiB2
ICsgMl07CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTFbMF0oMTApOwordGVzdENhc2UocmVz
dWx0LCAxMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0
aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFt2ID0+IHYgKyAxLCAgdiA9PiB2ICsgMl0iKTsKK3Jlc3Vs
dCA9IGFycm93RnVuY3Rpb0FycmF5MVsxXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEzICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBp
biBhcnJheTogW3YgPT4gdiArIDEsICB2ID0+IHYgKyAyXSIpOworCisgdmFyIGFycm93RnVuY3Rp
b0FycmF5MiA9IFsodikgPT4gdiArIDEsICh2KSA9PiB2ICsgMl07CityZXN1bHQgPSBhcnJvd0Z1
bmN0aW9BcnJheTJbMF0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMiAsIkVycm9yOiBOb3QgY29y
cmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFso
dikgPT4gdiArIDEsICAodikgPT4gdiArIDJdIik7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJh
eTJbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVj
dXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsodikgPT4gdiAr
IDEsICAodikgPT4gdiArIDJdIik7CisKKyB2YXIgYXJyb3dGdW5jdGlvQXJyYXkzID0gWygpID0+
IDEwMSwgKCkgPT4gMTIzMjNdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkzWzBdKDExKTsK
K3Rlc3RDYXNlKHJlc3VsdCwgMTAxLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0
aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogWygpID0+IGMxLCAgKCkgPT4gYzJd
Iik7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTNbMV0oMTEpOwordGVzdENhc2UocmVzdWx0
LCAxMjMyMywgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0
aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsoKSA9PiBjMSwgICgpID0+IGMyXSIpOworCit2YXIgYXJy
b3dGdW5jdGlvbk9iaiA9IHtmdW5jIDogeSA9PiB5ICsgMTJ9OworcmVzdWx0ID0gYXJyb3dGdW5j
dGlvbk9iai5mdW5jKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjMgLCAiRXJyb3I6IE5vdCBjb3Jy
ZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcHJvcGVydHk6IHtmdW5jIDog
eSA9PiB5ICsgMTIgfSIpOworCit2YXIgYWZPYmpMZXhCaW5kMiA9IGZ1bmN0aW9uICgpIHsKKyAg
dGhpcy5mdW5jID0gKCkgPT4gdGhpczsKK307CisKK3ZhciBhcnJvd0ZhdEZ1bmN0aW9uMCA9ICgp
ID0+IHsgcmV0dXJuIDEwMDA7IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0aW9uMCgxMSk7Cit0
ZXN0Q2FzZShyZXN1bHQsIDEwMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICgpID0+IHsgcmV0dXJuIDEwMDA7
IH0iKTsKKwordmFyIGFycm93RmF0RnVuY3Rpb24xID0gdiA9PiB7IHZhciBpbnR2YWwgPSAxMDA7
IHJldHVybiB2ICogaW50dmFsOyB9OworcmVzdWx0ID0gYXJyb3dGYXRGdW5jdGlvbjEoMTEpOwor
dGVzdENhc2UocmVzdWx0LCAxMTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0
aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiB4ID0+IHsgdmFyIHY9MTAwMDsg
cmV0dXJuIHYqeDsgfSIpOworCit2YXIgYXJyb3dGYXRGdW5jdGlvbjIgPSAodikgPT4geyB2YXIg
aW50ID0gMjAwOyByZXR1cm4gdiAqIGludDsgfTsKK3Jlc3VsdCA9IGFycm93RmF0RnVuY3Rpb24y
KDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjIwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogKHgpID0+IHsgdmFy
IHY9MTAwMDsgcmV0dXJuIHYqeDsgfSIpOworCit2YXIgYXJyb3dGYXRGdW5jdGlvbjMgPSAodiwg
eCkgPT4geyB2YXIgcmVzdWx0ID0geCAqIHY7IHJldHVybiByZXN1bHQ7IH07CityZXN1bHQgPSBh
cnJvd0ZhdEZ1bmN0aW9uMygxMSwgMTIyMjIpOwordGVzdENhc2UocmVzdWx0LCAxMzQ0NDIgLCJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJv
ZHkgYXMgYmxvY2s6ICh2LCB4KSA9PiB7IHZhciByZXN1bHQgPSB4ICogdjsgcmV0dXJuIHJlc3Vs
dDsgfSIpOworCityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4PT57cmV0dXJuIHggKiAy
NTt9LCAxMjEpOwordGVzdENhc2UocmVzdWx0LCAyNSoxMjEgLCJFcnJvcjogTm90IGNvcnJlY3Qg
ZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6IGYoeCA9
PiB7cmV0dXJuIHggKiAyNTt9LCAxMjEpIik7CisKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFw
cGVyMigoeCwgeSk9PntyZXR1cm4geCAqIHk7fSwgMTQsIDEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwg
MTQqMTIgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlv
biB3aXRoIGJvZHkgYXMgYmxvY2s6IGYoKHgsIHkpPT57cmV0dXJuIHggKiB5O30sIDE0LCAxMjEp
KSIpOworCit2YXIgc2ltcGxlQXJyb3dGdW5jdGlvbiA9ICgpID0+IHt9OworCit0ZXN0Q2FzZSh0
eXBlb2Ygc2ltcGxlQXJyb3dGdW5jdGlvbiwgImZ1bmN0aW9uIiwgIkVycm9yOiBOb3QgY29ycmVj
dCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShPYmplY3QuZ2V0UHJv
dG90eXBlT2Yoc2ltcGxlQXJyb3dGdW5jdGlvbiksIEZ1bmN0aW9uLnByb3RvdHlwZSwgIkVycm9y
OiBOb3QgY29ycmVjdCBnZXRQcm90b3R5cGVPZiB2YWx1ZSBmb3IgYXJyb3cgZnVuY3Rpb24iKTsK
KwordGVzdENhc2Uoc2ltcGxlQXJyb3dGdW5jdGlvbiBpbnN0YW5jZW9mIEZ1bmN0aW9uLCB0cnVl
LCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgaW5zdGFuY2VvZiBtZXRob2QgZm9yIGFy
cm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93RnVuY3Rpb24uY29uc3RydWN0
b3IgPT0gRnVuY3Rpb24sIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBjb25z
dHJ1Y3RvciBtZXRob2Qgb2YgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2UodHlwZW9mIHNp
bXBsZUFycm93RnVuY3Rpb24ucHJvdG90eXBlID09PSAndW5kZWZpbmVkJywgdHJ1ZSwgIkVycm9y
OiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiIpOwor
Cit2YXIgZXJyb3JPbkNyZWF0ZSA9IGZhbHNlOworCit0cnkgeworICB2YXIgZmMgPSBuZXcgc2lt
cGxlQXJyb3dGdW5jdGlvbigpOworfQorY2F0Y2ggKGUpIHsKKyAgZXJyb3JPbkNyZWF0ZSA9IHRy
dWU7Cit9CisKK3Rlc3RDYXNlKGVycm9yT25DcmVhdGUsIHRydWUsICJFcnJvcjogTm8gZXJyb3Ig
ZHVyaW5nIHJ1biBuZXcgQXJyb3dGdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29y
ZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA4YjExMmZhZTQ1
Yjk1N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2OTcyZjExNGMzODNkMzI2Mjlm
MWYwOTNjNjg1NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FO
VkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwog
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5B
QkxFX0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9F
UzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
OwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwog
RU5BQkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFC
TEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJ
TlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5B
QkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05T
KSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklO
RykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElP
TlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVf
Q1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NT
X1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVY
VCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklM
SVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9T
VVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVS
X0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xF
VkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykg
JChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMp
ICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAk
KEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFU
SE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJD
RSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChF
TkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdB
VE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lO
VEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAk
KEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFV
RVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQo
RU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxF
X1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVf
Q1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAk
KEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxF
TUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJB
Q0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkp
ICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9X
RUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQp
ICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkg
JChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVT
RU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1F
TlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNf
UEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykg
JChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5B
QkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9C
UkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBU
QVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lP
TlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJM
RV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVO
QUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFC
TEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJM
RV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChF
TkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBS
RUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJ
TUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9D
T05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFC
TEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMp
ICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVU
Q0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVO
QUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01F
VEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUp
ICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdD
T05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJ
TikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJP
WElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9U
QSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVU
T0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9O
X01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9M
TF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkg
JChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdf
T1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5B
QkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19U
UkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQo
RU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVX
X01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVO
QUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9T
SVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5B
QkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJM
RV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChF
TkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2Vi
S2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA4YjEx
MmZhZTQ1Yjk1N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2OTcyZjExNGMzODNk
MzI2MjlmMWYwOTNjNjg1NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBA
QCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFT
X1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRB
WDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NTU19BTklNQVRJT05TX0xF
VkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBA
QCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklU
SE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9E
RUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9D
QU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVf
QVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hF
X1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9Y
WSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgp
ICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVf
Q1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFL
KSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElP
TikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykg
JChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5B
QkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NV
UlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxF
X0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9E
QVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RF
VklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJM
RV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZV
TExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FU
RUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJf
VEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRS
T0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
X0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5B
QkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChF
TkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChF
TkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
V0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkg
JChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJf
RUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChF
TkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNV
UlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAk
KEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1J
VFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAk
KEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09N
UExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVE
SUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NO
QVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVO
QUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZf
Q09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVf
VEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VD
SF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlM
SU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFC
TEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9E
RV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxF
X1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVT
KSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVf
WEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xM
SU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJM
RV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8z
RF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUND
RUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5B
QkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVO
QUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQ
X05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hf
REVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1Nf
REVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NT
X0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFC
TEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9D
U1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JS
RUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9I
QU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxF
TUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVN
RU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NP
TlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZF
TlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVf
R0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVO
X1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFC
TEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01Q
TEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
V0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VT
VFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxF
X0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNf
U0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1Mp
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9O
QVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
UERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykg
JChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAk
KEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxF
X1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJM
RV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFC
TEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9T
VFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAk
KEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRF
Q1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQo
RU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAk
KEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VC
X0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFC
TEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JF
R0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExf
SklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJ
VEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9T
b3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRl
eCA4YjExMmZhZTQ1Yjk1N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2OTcyZjEx
NGMzODNkMzI2MjlmMWYwOTNjNjg1NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0
Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBA
QCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFT
X1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRB
WDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NTU19BTklNQVRJT05TX0xF
VkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBA
QCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklU
SE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9E
RUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9D
QU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVf
QVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hF
X1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9Y
WSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgp
ICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVf
Q1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFL
KSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElP
TikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykg
JChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5B
QkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NV
UlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxF
X0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9E
QVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RF
VklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJM
RV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZV
TExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FU
RUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJf
VEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRS
T0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
X0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5B
QkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChF
TkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChF
TkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
V0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkg
JChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJf
RUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChF
TkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNV
UlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAk
KEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1J
VFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAk
KEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09N
UExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVE
SUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NO
QVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVO
QUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZf
Q09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVf
VEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VD
SF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlM
SU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFC
TEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9E
RV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxF
X1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVT
KSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVf
WEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xM
SU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJM
RV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8z
RF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUND
RUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5B
QkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVO
QUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQ
X05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hf
REVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1Nf
REVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NT
X0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFC
TEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9D
U1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JS
RUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9I
QU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxF
TUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVN
RU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NP
TlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZF
TlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVf
R0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVO
X1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFC
TEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01Q
TEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
V0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VT
VFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxF
X0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNf
U0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1Mp
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9O
QVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
UERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykg
JChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAk
KEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxF
X1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJM
RV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFC
TEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9T
VFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAk
KEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRF
Q1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQo
RU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAk
KEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VC
X0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFC
TEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JF
R0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExf
SklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJ
VEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlIGIvU291cmNlL2NtYWtlL1dlYktpdEZl
YXR1cmVzLmNtYWtlCmluZGV4IDMyYzIzNWQ5OGI1YTQyMGViZTMzNDgzNGM3YjZhNDE4MmIyMjIy
MGEuLmE2NzUzNzE0NTYyN2NkMzhhMjcwNzljZDVkZmU5ODY4MmM5MWY0NjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvV2Vi
S2l0RmVhdHVyZXMuY21ha2UKQEAgLTI4LDYgKzI4LDcgQEAgbWFjcm8oV0VCS0lUX09QVElPTl9C
RUdJTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ0FOVkFTX1BST1hZICJUb2dn
bGUgQ2FudmFzUHJveHkgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVO
QUJMRV9DSEFOTkVMX01FU1NBR0lORyAiVG9nZ2xlIE1lc3NhZ2VDaGFubmVsIGFuZCBNZXNzYWdl
UG9ydCBzdXBwb3J0IiBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfRVM2X0NM
QVNTX1NZTlRBWCAiVG9nZ2xlIEVTNiBjbGFzcyBzeW50YXggc3VwcG9ydCIgT04pCisgICAgV0VC
S0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCAiVG9nZ2xl
IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXggc3VwcG9ydCIgT04pCiAgICAgV0VCS0lUX09QVElP
Tl9ERUZJTkUoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HICJUb2dnbGUgY29udGVudCBmaWx0ZXJp
bmcgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DT05URVhU
X01FTlVTICJUb2dnbGUgQ29udGV4dCBNZW51IHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJ
T05fREVGSU5FKEVOQUJMRV9DU1BfTkVYVCAiVG9nZ2xlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5
IDEuMSBzdXBwb3J0IiBPRkYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFr
ZSBiL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCmluZGV4IDIxZDNmY2M1ZDk4M2Y5NTk1ZGVm
MzUxMDU2OGNkYzk4OTY1MjQ2ZWQuLmNmMWFmZTU2YzVmMGYyNjA5OTA5MGU1MWI3YjJhNjYwM2Vh
MDczMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCisrKyBiL1NvdXJj
ZS9jbWFrZWNvbmZpZy5oLmNtYWtlCkBAIC0xMyw2ICsxMyw3IEBACiAjY21ha2VkZWZpbmUwMSBF
TkFCTEVfQ0FOVkFTX1BST1hZCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYCisjY21ha2VkZWZpbmUw
MSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkcKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9DT05URVhUX01FTlVTCiAj
Y21ha2VkZWZpbmUwMSBFTkFCTEVfQ1JFREVOVElBTF9TVE9SQUdFCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0gYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHBlcmwvRmVhdHVyZUxpc3QucG0KaW5kZXggMTZmZDY0OWM2OGQ2YjNkNDNkMGIzMWUzMzU3OTA0
ZmM4NzI0YTdlYi4uMjIzYjMxMWJjZmJhYjJjMjY4YTdmMjY1MmQxNGVkMTk2MzdmZGZjZSAxMDA2
NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQpAQCAtNDQsNiArNDQsNyBAQCBC
RUdJTiB7CiBteSAoCiAgICAgJHRocmVlRFJlbmRlcmluZ1N1cHBvcnQsCiAgICAgJGFjY2VsZXJh
dGVkMkRDYW52YXNTdXBwb3J0LAorICAgICRhcnJvd2Z1bmN0aW9uU3ludGF4LAogICAgICRiYXR0
ZXJ5U3RhdHVzU3VwcG9ydCwKICAgICAkY2FudmFzUGF0aFN1cHBvcnQsCiAgICAgJGNhbnZhc1By
b3h5U3VwcG9ydCwKQEAgLTE1NCw2ICsxNTUsOSBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAgeyBv
cHRpb24gPT4gImFjY2VsZXJhdGVkLTJkLWNhbnZhcyIsIGRlc2MgPT4gIlRvZ2dsZSBBY2NlbGVy
YXRlZCAyRCBDYW52YXMgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMiLCBkZWZhdWx0ID0+IGlzR3RrKCksIHZhbHVlID0+IFwkYWNjZWxlcmF0
ZWQyRENhbnZhc1N1cHBvcnQgfSwKIAorICAgIHsgb3B0aW9uID0+ICJhcnJvd2Z1bmN0aW9uLXN5
bnRheCIsIGRlc2MgPT4gIlRvZ2dsZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1cHBvcnQi
LAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIiwgZGVm
YXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGFycm93ZnVuY3Rpb25TeW50YXggfSwKKwogICAgIHsgb3B0
aW9uID0+ICJiYXR0ZXJ5LXN0YXR1cyIsIGRlc2MgPT4gIlRvZ2dsZSBCYXR0ZXJ5IFN0YXR1cyBz
dXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0JBVFRFUllfU1RBVFVTIiwgZGVmYXVs
dCA9PiBpc0VmbCgpLCB2YWx1ZSA9PiBcJGJhdHRlcnlTdGF0dXNTdXBwb3J0IH0sCiAKZGlmZiAt
LWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA0ZWQ4NmE2Zjg4OThkMzFlMzgwNTBi
MzJhNTRjYTc2YmUxZDYxNmRmLi5lOTFjN2NhMjAwYmU3MTRjNjg5OTY1N2U5NmMyNTJiMGQwOWVk
YTQ5IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMTUtMDQtMDEgICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+
CisKKyAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQorCisg
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAgQWRkZWQgZmVh
dHVyZSBmbGFnIHRvIHN3aXRjaCBvbi9vZmYgZXM2IGFycm93IGZ1bmN0aW9uIEVOQUJMRV9FUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgKKworICAgICAgICAgKiBTb3VyY2UvY21ha2UvV2ViS2l0RmVh
dHVyZXMuY21ha2U6CisgICAgICAgICAqIFNvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlOgorCiAy
MDE1LTAzLTI5ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAKICAg
ICAgICAgW0NNYWtlXSBVcGRhdGUgb2xkIENNYWtlTGlzdC50eHQgaW4gZ3Rlc3QK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249965</attachid>
            <date>2015-04-02 02:23:47 -0700</date>
            <delta_ts>2015-04-02 02:39:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150402122301.patch</filename>
            <type>text/plain</type>
            <size>133452</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyMjA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
ZmNjM2QxNTdiYmMyNzhhZGUyOTEyOTc3ZWI5MzAxYTA5YTJjYjA4Li41NTRhYjEzZWJkNmIyOGU4
NWY4OTQ2MzBhYjk1MGY4MDQ1YWJmZTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMTUgQEAKKzIwMTUtMDQtMDEgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MDg1NQorCisgICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGRlZCBzdXBwb3J0IG9mIEVTNiBhcnJvdyBmdW5jdGlvbi4gQ2hhbmdlcyB3ZXJlIG1hZGUgYWNj
b3JkaW5nIGZvbGxvd2luZyBzcGVjIGh0dHA6Ly93aWtpLmVjbWFzY3JpcHQub3JnL2Rva3UucGhw
P2lkPWhhcm1vbnk6YXJyb3dfZnVuY3Rpb25fc3ludGF4CisgICAgICAgIEluIHBhdGNoIHdlcmUg
aW1wbGVtZW50ZWQgdGhlIHNpbXBsZXN0IGNhc2VzOgorICAgICAgICAgIDEgbm8gcGFyYW1ldGVy
cyAgICAgICAgICAgICAgICAoKSA9PiAxMCArIDIwCisgICAgICAgICAgMiBzaW5nbGUgcGFyYW1l
dGVyICAgICAgICAgICAgICB4ID0+IHggKyAyMAorICAgICAgICAgIDMgbXVsdGlwbGUgcGFyYW1l
dGVycyAgICAgICh4LCB5KSA9PiB4ICsgeQorICAgICAgICAgIDQgYXJyb3cgZnVuY3Rpb24gd2l0
aCBibG9jayAgICAgeCA9PiB7IHJldHVybiB4KjEwOyB9CisgICAgICAgICAgNSBsZXhpY2FsIHRo
aXMgLSB2YXJpYWJsZSB0aGlzIGlzIHBvaW50IHRvIHRoZSB0aGlzIG9mIHRoZSBmdW5jdGlvbiB3
aGVyZSBhcnJvdyBmdW5jdGlvbiBpcyBkZWNsYXJlZAorICAgICAgICAgIDYgTm8gY29uc3RydWN0
b3IgLSB0aGUgdXNpbmcgb2YgdGhlIGNvbW1hbmQgbmV3IGZvciBhcnJvdyBmdW5jdGlvbiBsZWFk
cyB0byBydW50aW1lIGVycm9yLiAKKworICAgICAgICAgTm90IHlldCBpbXBsZW1lbnRlZDoKKyAg
ICAgICAgICAxIHRoZSB2YXJpYWJsZSB3aXRoIG5hbWUgYXJndW1lbnRzIGluc2lkZSBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gc2hvdWxkIHBvaW50IHRvIGxpc3Qgb2YgYXJndW1lbnRzIG9mIGZ1bmN0
aW9uIHdoZXJlIGFycm93IGZ1bmN0aW9uIGlzIGRlY2xhcmVkCisgICAgICAgICAgMiBwYXJzZXIg
d2lsbCBwYXJzZSB0aGUgc3RhdGVtZW50IHgsIHkgPT4geCArIHkgaW5zdGVhZCBvZiByYWlzaW5n
IGV4Y2VwdGlvbgorICAgICAgICAgIDMgbWV0aG9kIGNhbGwsIGFwcGx5LCBiaW5kIHNob3VsZCBu
b3Qgb3ZlcnJpZGUgdGhlIHRoaXMgdmFyaWFibGUgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlv
bgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6Cisg
ICAgICAgICogSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qOgor
ICAgICAgICAqIGJ5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uOgorICAgICAgICAqIGJ5dGVjb2Rl
L0J5dGVjb2RlVXNlRGVmLmg6CisgICAgICAgIChKU0M6OkZ1bmN0b3I6OmNvbXB1dGVVc2VzRm9y
Qnl0ZWNvZGVPZmZzZXQpOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAg
ICAgIChKU0M6OkNvZGVCbG9jazo6ZHVtcEJ5dGVjb2RlKToKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVH
ZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Fy
cm93RnVuY3Rpb25FeHByZXNzaW9uKTogYWRkZWQKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5l
cmF0b3I6OmVtaXRUaGlzTm9kZUJ5dGVjb2RlKTogYWRkZWQKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvTm9kZXNDb2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6ZW1pdEJ5dGVjb2RlOjplbWl0Qnl0
ZWNvZGUpOiBhZGRlZAorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHByTm9kZTo6ZW1pdEJ5dGVj
b2RlKTogYWRkZWQKKyAgICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAg
ICAoSlNDOjpCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgICogZGZnL0RGR0Nh
cGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkNhcGFiaWxpdHlMZXZlbDo6Y2FwYWJpbGl0
eUxldmVsKToKKyAgICAgICAgKiBqaXQvSklULmg6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9v
cF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRJbmxpbmVzLmg6
CisgICAgICAgIChKU0M6OkpJVDo6Y2FsbE9wZXJhdGlvbik6IGFkZGVkCisgICAgICAgICogaml0
L0pJVC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcyk6Cisg
ICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3Bf
bmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5j
cHA6CisgICAgICAgIChKU0M6OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5ld0Fycm93RnVuY3Rp
b24pOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmg6CisgICAgICAgIChKU0M6
OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24pOiBhZGRlZAorICAgICAg
ICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAgICAgICAgKExMSU5UX1NMT1dfUEFUSF9E
RUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGxsaW50
L0xMSW50U2xvd1BhdGhzLmg6CisgICAgICAgIChMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3Bh
dGhfbmV3X2Fycm93X2Z1bmNfZXhwKSk6IGFkZGVkCisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206CisgICAgICAgICogcGFyc2VyL0FTVEJ1aWxkZXIuaDoKKyAgICAgICAg
KEpTQzo6QVNUQnVpbGRlcjo6Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIpOgorICAgICAgICAqIHBh
cnNlci9MZXhlci5jcHA6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9u
KToKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OmxleCk6CisgICAgICAgICogcGFyc2VyL0xleGVy
Lmg6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9uKToKKyAgICAgICAg
KiBwYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oOgorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHBy
Tm9kZTo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZAorICAgICAgICAqIHBhcnNlci9Ob2Rlcy5o
OgorICAgICAgICAoSlNDOjpOb2RlOjppc0Fycm93RnVuY0V4cHJOb2RlKTogYWRkZWQKKyAgICAg
ICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZCBjbGFzcworICAgICAgICAqIHBhcnNl
ci9QYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3Vy
Y2VFbGVtZW50cyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1h
cnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZVNvdXJjZUVsZW1lbnQp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6
UGFyc2VyOjpwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwYXJzZVByaW1hcnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFy
cm93RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6c2V0RW5kT2ZTdGF0ZW1lbnQp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIpOgorICAg
ICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkluZm8pOgorICAgICAgICAoSlND
OjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkJvZHkpOgorICAgICAgICAqIHBhcnNlci9QYXJz
ZXIuaDoKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpGdW5jdGlvblBhcnNlVHlwZSk6CisgICAgICAg
IChKU0M6OlBhcnNlcjo6cGFyc2VTb3VyY2VFbGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0V4cHJl
c3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnNldEVuZE9mU3RhdGVtZW50KToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKToKKyAgICAgICAgKiBw
YXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmg6CisgICAgICAgICogcGFyc2VyL1BhcnNlclRva2Vu
cy5oOgorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmFycm93RnVuY3Rpb25PZmZz
ZXQpOiBhZGRlZAorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmlzQXJyb3dGdW5j
dGlvbik6IGFkZGVkCisgICAgICAgIChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6YXJyb3dGdW5j
dGlvbkJvZHlUeXBlKTogYWRkZWQKKyAgICAgICAgKiBwYXJzZXIvU291cmNlQ29kZS5oOgorICAg
ICAgICAoSlNDOjpTb3VyY2VDb2RlOjpzdWJBcnJvd0V4cHJlc3Npb24pOgorICAgICAgICAqIHBh
cnNlci9TeW50YXhDaGVja2VyLmg6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNyZWF0
ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAgICAgKiBwYXJzZXIvU291cmNlUHJvdmlkZXJDYWNo
ZUl0ZW06CisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJh
bWV0ZXJzKToKKyAgICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0pOgorICAgICAg
ICAoSlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6ZW5kQXJyb3dGdW5jdGlvblRva2VuKToK
KyAgICAgICAgKiBydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oOiBhZGRlZCBjbGFzcyBmb3IgaGFu
ZGxlIGFycm93IGZ1bmN0aW9uIGNyZWF0aW9uIGFuZCBleGVjdXRpb24KKyAgICAgICAgKiBydW50
aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHA6CisgICAgICAgICogcnVudGltZS9KU0Z1bmN0aW9uLmg6
CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OkpTRnVuY3Rpb24pOiBhZGRlZCBvbmUgbW9yZSBj
b25zdHJ1Y3RvcgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaDoKKyAgICAg
ICAgKEpTQzo6SlNGdW5jdGlvbjo6SlNGdW5jdGlvbik6IGFkZGVkIGNvbnN0cnVjdG9yIGltcGxl
bWVudGF0aW9uCisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAg
IChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmpl
Y3Q6Om1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZSk6IGFkZGVkCisgICAgICAgIChKU0M6OkpTR2xv
YmFsT2JqZWN0OjphcnJvd0Z1bmN0aW9uU3RydWN0dXJlKToKKyAgICAgICAgKiB0ZXN0cy9zdHJl
c3MvanMvYXJyb3dmdW5jdGlvbi5qczoKKwogMjAxNS0wMy0zMSAgWXVzdWtlIFN1enVraSAgPHV0
YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBDbGVhbiB1cCBJZGVudGlmaWVyIGZhY3Rv
cmllcyB0byBjbGFyaWZ5IHRoZSBtZWFuaW5nIG9mIFN0cmluZ0ltcGwqCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ODczZjY4NTA1NmJiN2U0NzdiNmI2OTVkZmFjYjBhZWJhNThlYTQ0Ny4uMzc0MzhmNDQxMmFkNjM5
YTc0OTY4ZjNmM2VjOTdjM2QzYTNlZmIyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDE1LTA0LTAxICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAg
ICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUg
ZmxhZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgor
CisgICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAy
MDE1LTAzLTMxICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAg
ICAgICAgTW92ZSBFeHBhbnNpb25CZWhhdmlvckZsYWdzIGFuZCBUZXh0RGlyZWN0aW9uIHRvIHRo
ZWlyIG93biBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNzU3ZWE0OWQwYTMwZjk0ZDU2MjJiODM1
MzVjMWJlYmQwNDMxZTk1Ni4uZWY4N2M3NWUwMDQ5YjZjOWQ4NGQxNGNlYTQwMTVmNTBhYWUyZDUy
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTA0LTAxICBTa2FjaGtv
diBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgIFtFUzZdIEltcGxl
bWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyBFTkFCTEVfRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgorCisgICAgICAgICAqIENvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1LTAzLTMxICBZdXN1a2Ug
U3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIENsZWFuIHVwIElkZW50
aWZpZXIgZmFjdG9yaWVzIHRvIGNsYXJpZnkgdGhlIG1lYW5pbmcgb2YgU3RyaW5nSW1wbCoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA3MjExMjc2NTJkODg4ZjUwMWFiNmMy
MTdiODMzNDQxOTA0M2Y1ODY0Li41MDUzZGMxN2U2ZDU4YjExMWM3MzBhOTRjYzA3NGIwY2JlNTA3
OGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC00NjYsNiArNDY2LDcg
QEAgc2V0KEphdmFTY3JpcHRDb3JlX1JVTlRJTUVfU09VUkNFUwogICAgIHJ1bnRpbWUvSlNBcnJh
eUJ1ZmZlclZpZXcuY3BwCiAgICAgcnVudGltZS9KU0FycmF5SXRlcmF0b3IuY3BwCiAgICAgcnVu
dGltZS9KU0JvdW5kRnVuY3Rpb24uY3BwCisgICAgcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3Bw
CiAgICAgcnVudGltZS9KU0dsb2JhbE9iamVjdERlYnVnZ2FibGUuY3BwCiAgICAgcnVudGltZS9K
U0NKU1ZhbHVlLmNwcAogICAgIHJ1bnRpbWUvSlNDYWxsZWUuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKaW5kZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0
OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FO
VkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgg
PSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5U
QVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklM
VEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwog
RU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVW
RUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFC
TEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRf
QVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BB
VEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVO
QUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVf
Q1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5B
QkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVO
QUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9O
KSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQo
RU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhU
X0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01f
U0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRB
TElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRB
SUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9F
VkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRf
TE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAk
KEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNF
KSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9W
RVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxF
X0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxF
X0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFC
TEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykg
JChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9D
T05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RB
VElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxF
X01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQo
RU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAk
KEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BS
T01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklY
X0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkg
JChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1Ip
ICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5H
KSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQo
RU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdf
Rk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVN
QkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9B
RElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxM
KSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVf
VkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVO
QUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRT
KSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9X
RUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5B
QkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xB
WU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFU
VVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVO
QUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFT
X1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZ
TlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xF
VkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NP
TVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19H
UklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxF
Q1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkg
JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
UykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVO
QUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJ
TUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
TEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9B
TklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQp
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVO
QUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVO
QUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5B
QkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKaW5kZXggNzQz
MzBlNzAzZGFjNGQzNjAwZWFiMjdhMGFkOGViNGFmMDBlMGIzMi4uNjIyODczZGQyZjk0NzBhOTEz
MThhY2NjZDQ3MDlkY2VhZTcyNjA4ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52
Y3hwcm9qCkBAIC03MzQsNiArNzM0LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1
bnRpbWVcSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJWaWV3LmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNCb3VuZEZ1bmN0aW9uLmNwcCIgLz4KKyAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJvd0Z1bmN0aW9uLmNwcCIgLz4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZS5jcHAiIC8+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ2FsbGVlLmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDYXRjaFNjb3BlLmNwcCIgLz4KQEAgLTE1MjYsNiArMTUy
Nyw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJW
aWV3SW5saW5lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0Fy
cmF5SXRlcmF0b3IuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNC
b3VuZEZ1bmN0aW9uLmgiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpT
QXJyb3dGdW5jdGlvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxK
U0NJbmxpbmVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0pT
VmFsdWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1
ZUlubGluZXMuaCIgLz4KQEAgLTE4MDAsNCArMTgwMiw0IEBACiAgIDxJbXBvcnRHcm91cCBMYWJl
bD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1Bh
dGgpXEJ1aWxkQ3VzdG9taXphdGlvbnNcbWFzbS50YXJnZXRzIiAvPgogICA8L0ltcG9ydEdyb3Vw
PgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYmEyZDEzNmViOTViNWE5ZmQzNTRhYjMwYThm
MzY5MWJmNzhjZWI4Ni4uZTlkNmYyNDY1ZTMzODU1ZDM2OGI0ZDIwNGUwZDc2NDZjNTZlOTg5ZiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwOTIsNiArMTA5Miw4IEBACiAJCTg2
RjNFRUJGMTY4Q0RFOTMwMDc3QjkyQSAvKiBPYmpjUnVudGltZUV4dHJhcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGM0VFQjYxNjg1NUE1QjAwNzdC
OTJBIC8qIE9iamNSdW50aW1lRXh0cmFzLmggKi87IH07CiAJCTg2RkE5RTkxMTQyQkJCMkUwMDE3
NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRGdW5j
dGlvbi5jcHAgKi87IH07CiAJCTg2RkE5RTkyMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVu
Y3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2
RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLzsgfTsKKwkJOEIw
RjQyNEMxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUyMDAzOTE3
RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCAqLzsgfTsKKwkJOEIwRjQyNEMxQUJENkRFMjAwMzkx
N0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlv
bi5oICovOyB9OwogCQk5MDIxM0UzRDEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGlj
cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIx
M0UzQjEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi87IH07CiAJCTkw
MjEzRTNFMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIxM0UzQzEyM0E0MEMyMDBENDIy
RjMgLyogTWVtb3J5U3RhdGlzdGljcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTkzMDUyQzM0MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVu
YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzA1
MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwICovOyB9OwpAQCAtMjgyNCw2
ICsyODI2LDggQEAKIAkJODZGNzVFRkQxNTFDMDYyRjAwN0M5QkEzIC8qIFJlZ0V4cE1hdGNoZXNB
cnJheS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWdFeHBNYXRj
aGVzQXJyYXkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkZBOUU4RjE0MkJC
QjJEMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTQm91bmRGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdFQSAvKiBKU0Fy
cm93RnVuY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcnJvd0Z1bmN0aW9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93
RnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcnJv
d0Z1bmN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTAyMTNFM0IxMjNB
NDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTWVtb3J5U3RhdGlzdGljcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lbW9yeVN0YXRpc3RpY3MuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8q
IFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBh
cnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ0MzgsNiArNDQ0
Miw4IEBACiAJCQkJQTdCREFFQzUxN0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJyYXlJdGVyYXRvci5o
ICovLAogCQkJCTg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3Bw
ICovLAogCQkJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAq
LywKKwkJCQk4QjBGNDI0QTFBQkQ2RDJGMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggKi8s
CisJCQkJOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgKi8s
CiAJCQkJNjU3Q0Y0NTYxOUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmNwcCAqLywKIAkJCQk2
NTdDRjQ1NzE5QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuaCAqLywKIAkJCQkwRkQ5NDk3RTFB
OTdEQjk2MDBFMjg5NjYgLyogSlNDYXRjaFNjb3BlLmNwcCAqLywKQEAgLTcxNjYsNiArNzE3Miw3
IEBACiAJCQkJMEZEOEEzMUIxN0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTE9TUkVudHJ5LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGMjM1QkRDMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjM1QkRGMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JF
eGl0Q29tcGlsZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOEIwRjQyNEMxQUJENkRFMjAwMzkx
N0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkVBMEEyQTE3
MDk2Mjk2MDBCQjcyMkMgLyogRlRMT3V0cHV0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNDg1
MzI5MTg3REZERUMwMDgzQjY4NyAvKiBGVExSZWNvdmVyeU9wY29kZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwRjZCMUNDMzE4NjJDNDc4MDA4NDVEOTcgLyogRlRMUmVnaXN0ZXJBdE9mZnNldC5j
cHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9CeXRlY29kZUxpc3QuanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9C
eXRlY29kZUxpc3QuanNvbgppbmRleCA2YjI0MzkxNTZhYjNhZmFlNmI1NThhYjkwNjZkMjIyNTE1
ZDU5ZTQ1Li40MzYwNzA5ZDhmN2U0MTgyMTVhYjJhZjk1OWJmNjQ0OGFmMDM4MDI4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24KKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCkBAIC05
NSw2ICs5NSw3IEBACiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9zd2l0Y2hfc3RyaW5nIiwg
Imxlbmd0aCIgOiA0IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfZnVuYyIsICJs
ZW5ndGgiIDogNCB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfbmV3X2Z1bmNfZXhwIiwg
Imxlbmd0aCIgOiA0IH0sCisgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfYXJyb3dfZnVu
Y19leHAiLCAibGVuZ3RoIiA6IDUgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGwi
LCAibGVuZ3RoIiA6IDkgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGxfZXZhbCIs
ICJsZW5ndGgiIDogOSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbF92YXJhcmdz
IiwgImxlbmd0aCIgOiA5IH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9C
eXRlY29kZVVzZURlZi5oCmluZGV4IDg1ZjI5MTVjN2U4ZjYwMWFkM2VjMTc4YmY2OWUzNTQ0Zjc1
NGMyY2YuLjE3YjZiZWQ4MWZlMjViNjIzMzBiYWEzZmQwMzFjNzE2YWI4OGY5YmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCkBAIC0xMTYs
NiArMTE2LDkgQEAgdm9pZCBjb21wdXRlVXNlc0ZvckJ5dGVjb2RlT2Zmc2V0KAogICAgIGNhc2Ug
b3BfZ2V0X3Byb3BlcnR5X2VudW1lcmF0b3I6CiAgICAgY2FzZSBvcF9nZXRfZW51bWVyYWJsZV9s
ZW5ndGg6CiAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRpZgog
ICAgIGNhc2Ugb3BfdG9faW5kZXhfc3RyaW5nOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29u
c3Rfbm9wOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29uc3Q6CkBAIC0zMDgsNiArMzExLDkg
QEAgdm9pZCBjb21wdXRlRGVmc0ZvckJ5dGVjb2RlT2Zmc2V0KENvZGVCbG9jayogY29kZUJsb2Nr
LCB1bnNpZ25lZCBieXRlY29kZU9mZnNldCwKICAgICBjYXNlIG9wX25ld19yZWdleHA6CiAgICAg
Y2FzZSBvcF9uZXdfZnVuYzoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhw
OgorI2VuZGlmCiAgICAgY2FzZSBvcF9jYWxsX3ZhcmFyZ3M6CiAgICAgY2FzZSBvcF9jb25zdHJ1
Y3RfdmFyYXJnczoKICAgICBjYXNlIG9wX2dldF9mcm9tX3Njb3BlOgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAppbmRleCA5ZTk1MTdlNzgxYmU1NTdmMDRm
MTdmOTNkZWM3MWI5MTZjYzlhMmFkLi4xMTU0MjBjZTExYjA4NTlmNmVlMzNhODI5YzQzMGQxOTA3
YmYxZWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNw
cApAQCAtMTI3NCw2ICsxMjc0LDE3IEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wQnl0ZWNvZGUoCiAg
ICAgICAgICAgICBvdXQucHJpbnRmKCIlcywgJXMsIGYlZCIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0
YSgpLCByZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjApOwogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBj
YXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDogeworICAgICAgICAgICAgaW50IHIwID0gKCsraXQp
LT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUub3BlcmFuZDsKKyAg
ICAgICAgICAgIGludCBmMCA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgaW50IHIy
ID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBwcmludExvY2F0aW9uQW5kT3Aob3V0
LCBleGVjLCBsb2NhdGlvbiwgaXQsICJvcF9uZXdfYXJyb3dfZnVuY19leHAiKTsKKyAgICAgICAg
ICAgIG91dC5wcmludGYoIiVzLCAlcywgZiVkLCAlcyIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0YSgp
LCByZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjAsIHJlZ2lzdGVyTmFtZShyMikuZGF0YSgpKTsK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgY2FzZSBvcF9u
ZXdfZnVuY19leHA6IHsKICAgICAgICAgICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVyYW5kOwog
ICAgICAgICAgICAgaW50IHIxID0gKCsraXQpLT51Lm9wZXJhbmQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCmlu
ZGV4IDg4NzJkNzc3ZDNlNTkyMTFjOTE2ZDQ3ODBkMGUwNDI3ZWQzOThmODYuLmE3OTY0YmI1YmMz
MmFlNzVkYTM1MDAzZDZmZGU0NjRhMmM5ZTA2NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0xNzU0
LDYgKzE3NTQsMzQgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdGdW5j
dGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogcjAsIEZ1bmNFeHAKICAgICBpbnN0cnVjdGlvbnMo
KS5hcHBlbmQoaW5kZXgpOwogICAgIHJldHVybiByMDsKIH0KKyAgICAKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVt
aXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVuY0V4cHJOb2Rl
KiBuKQoreworICAgIEZ1bmN0aW9uQm9keU5vZGUqIGZ1bmN0aW9uID0gbi0+Ym9keSgpOworICAg
IHVuc2lnbmVkIGluZGV4ID0gbV9jb2RlQmxvY2stPmFkZEZ1bmN0aW9uRXhwcihtYWtlRnVuY3Rp
b24oZnVuY3Rpb24pKTsKKyAgICAKKyAgICBlbWl0T3Bjb2RlKG9wX25ld19hcnJvd19mdW5jX2V4
cCk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHIwLT5pbmRleCgpKTsKKyAgICBpbnN0cnVj
dGlvbnMoKS5hcHBlbmQoc2NvcGVSZWdpc3RlcigpLT5pbmRleCgpKTsKKyAgICBpbnN0cnVjdGlv
bnMoKS5hcHBlbmQoaW5kZXgpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZCh0aGlzUmVnaXN0
ZXIoKS0+aW5kZXgoKSk7CisgICAgcmV0dXJuIHIwOworfQorICAgIAorUmVnaXN0ZXJJRCogQnl0
ZWNvZGVHZW5lcmF0b3I6OmVtaXRUaGlzTm9kZUJ5dGVjb2RlKFJlZ2lzdGVySUQqIGRzdCwgSlNU
ZXh0UG9zaXRpb24gcG9zaXRpb24pCit7CisgICAgaWYgKGRzdCA9PSBpZ25vcmVkUmVzdWx0KCkp
CisgICAgICAgIHJldHVybiAwOworICAgIFJlZ2lzdGVySUQqIHJlc3VsdCA9IG1vdmVUb0Rlc3Rp
bmF0aW9uSWZOZWVkZWQoZHN0LCB0aGlzUmVnaXN0ZXIoKSk7CisgICAgaWYgKHZtKCktPnR5cGVQ
cm9maWxlcigpKSB7CisgICAgICAgIGVtaXRQcm9maWxlVHlwZSh0aGlzUmVnaXN0ZXIoKSwgUHJv
ZmlsZVR5cGVCeXRlY29kZURvZXNOb3RIYXZlR2xvYmFsSUQsIG51bGxwdHIpOworICAgICAgICBz
dGF0aWMgY29uc3QgdW5zaWduZWQgdGhpc0xlbmd0aCA9IDQ7CisgICAgICAgIGVtaXRUeXBlUHJv
ZmlsZXJFeHByZXNzaW9uSW5mbyhwb3NpdGlvbiwgSlNUZXh0UG9zaXRpb24oLTEsIHBvc2l0aW9u
Lm9mZnNldCArIHRoaXNMZW5ndGgsIC0xKSk7CisgICAgfQorICAgIHJldHVybiByZXN1bHQ7Cit9
CisjZW5kaWYKIAogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdEZWZhdWx0
Q29uc3RydWN0b3IoUmVnaXN0ZXJJRCogZHN0LCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JL
aW5kLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmluZGV4IDRmZmVmNmI0
MDk3ZjAyNDZkYzFiYWU4OWVlOGFhYjhlYzk1YzYwZmEuLjM3OGExOWVhYWVkZGZiZGI0ZjUxMjI4
MGU5MDg5NDM4NTc3YTc0OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTQ1NCw2ICs0NTQsMTAgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5jdGlvbkludGVybmFs
KFJlZ2lzdGVySUQqIGRzdCwgdW5zaWduZWQgaW5kZXgpOwogICAgICAgICBSZWdpc3RlcklEKiBl
bWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIGRzdCwgRnVuY0V4cHJOb2RlKiBm
dW5jKTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0RlZmF1bHRDb25zdHJ1Y3RvcihSZWdp
c3RlcklEKiBkc3QsIENvbnN0cnVjdG9yS2luZCwgY29uc3QgSWRlbnRpZmllciYgbmFtZSk7Cisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgUmVnaXN0ZXJJRCog
ZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqLCBGdW5jRXhwck5vZGUq
KTsKKyAgICAgICAgUmVnaXN0ZXJJRCogZW1pdFRoaXNOb2RlQnl0ZWNvZGUoUmVnaXN0ZXJJRCos
IEpTVGV4dFBvc2l0aW9uKTsKKyNlbmRpZgogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3UmVn
RXhwKFJlZ2lzdGVySUQqIGRzdCwgUmVnRXhwKik7CiAKICAgICAgICAgUmVnaXN0ZXJJRCogZW1p
dE1vdmVFbXB0eVZhbHVlKFJlZ2lzdGVySUQqIGRzdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXggNGY3NDc2Y2EzM2M5
MTMxYmI3M2RmYTg5NmE2MDA1NzU2MjY1ODFiNy4uZGU1NDkxY2M3MDJlNjcxMmVhZWNhNTAxZWU0
OGI1OTA3Nzk2ZjM0NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21w
aWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29t
cGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtMTQ5LDcgKzE0OSw5IEBAIFJlZ2lzdGVySUQqIFRo
aXNOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0
ZXJJRCogZHN0CiAKICAgICBpZiAoZHN0ID09IGdlbmVyYXRvci5pZ25vcmVkUmVzdWx0KCkpCiAg
ICAgICAgIHJldHVybiAwOwotCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXRUaGlzTm9kZUJ5dGVjb2RlKGRzdCwgcG9zaXRpb24o
KSk7CisjZWxzZQogICAgIFJlZ2lzdGVySUQqIHJlc3VsdCA9IGdlbmVyYXRvci5tb3ZlVG9EZXN0
aW5hdGlvbklmTmVlZGVkKGRzdCwgZ2VuZXJhdG9yLnRoaXNSZWdpc3RlcigpKTsKICAgICBpZiAo
Z2VuZXJhdG9yLnZtKCktPnR5cGVQcm9maWxlcigpKSB7CiAgICAgICAgIGdlbmVyYXRvci5lbWl0
UHJvZmlsZVR5cGUoZ2VuZXJhdG9yLnRoaXNSZWdpc3RlcigpLCBQcm9maWxlVHlwZUJ5dGVjb2Rl
RG9lc05vdEhhdmVHbG9iYWxJRCwgbnVsbHB0cik7CkBAIC0xNTcsNiArMTU5LDcgQEAgUmVnaXN0
ZXJJRCogVGhpc05vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9y
LCBSZWdpc3RlcklEKiBkc3QKICAgICAgICAgZ2VuZXJhdG9yLmVtaXRUeXBlUHJvZmlsZXJFeHBy
ZXNzaW9uSW5mbyhwb3NpdGlvbigpLCBKU1RleHRQb3NpdGlvbigtMSwgcG9zaXRpb24oKS5vZmZz
ZXQgKyB0aGlzTGVuZ3RoLCAtMSkpOwogICAgIH0KICAgICByZXR1cm4gcmVzdWx0OworI2VuZGlm
CiB9CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBTdXBlck5vZGUgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMjgzMyw2ICsyODM2LDE0IEBAIFJl
Z2lzdGVySUQqIEZ1bmNFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBn
ZW5lcmF0b3IsIFJlZ2lzdGVySUQqCiAgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0TmV3RnVuY3Rp
b25FeHByZXNzaW9uKGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHRoaXMpOwogfQog
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgICAgCisvLyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0gQXJyb3dGdW5jRXhwck5vZGUgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCitSZWdpc3RlcklEKiBBcnJvd0Z1bmNFeHByTm9kZTo6ZW1pdEJ5dGVj
b2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKK3sKKyAg
ICByZXR1cm4gZ2VuZXJhdG9yLmVtaXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihnZW5lcmF0
b3IuZmluYWxEZXN0aW5hdGlvbihkc3QpLCB0aGlzKTsKK30KKyNlbmRpZgorICAgIAogI2lmIEVO
QUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
IENsYXNzRGVjbE5vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKaW5kZXggNTNh
YzE3NzQ2MTk2OWVlZmI2NmFkZjYwOTA2ODFlNmU1Yjc2YjAzMi4uZmQ3MzdhM2Y3OGU5YzJiOWYx
YTk5MTk3ODhkMTIzZTZiMmQ5MzMwYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKQEAgLTM2NzUsNiArMzY3NSwxNSBAQCBib29sIEJ5dGVD
b2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxpbWl0KQogICAgICAgICAgICAgTkVYVF9P
UENPREUob3BfbmV3X2Z1bmNfZXhwKTsKICAgICAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6IHsK
KyAgICAgICAgICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhwciA9IG1faW5saW5lU3RhY2tUb3At
Pm1fcHJvZmlsZWRCbG9jay0+ZnVuY3Rpb25FeHByKGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9w
ZXJhbmQpOworICAgICAgICAgICAgRnJvemVuVmFsdWUqIGZyb3plbiA9IG1fZ3JhcGguZnJlZXpl
U3Ryb25nKGV4cHIpOworICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5z
dHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwKKyAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKE5ld0Z1
bmN0aW9uLCBPcEluZm8oZnJvemVuKSwgZ2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1
Y3Rpb25bMl0udS5vcGVyYW5kKSkpKTsKKyAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX25ld19h
cnJvd19mdW5jX2V4cCk7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBjYXNlIG9wX3R5cGVv
ZjogewogICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25b
MV0udS5vcGVyYW5kKSwKICAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKFR5cGVPZiwgZ2V0KFZp
cnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSkpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAppbmRleCA4ZWY0ZGNm
MTU2OGJkNWVkYTRiODk3ZTc2ODRhOGNiYjkxYmY2ZTA4Li43ZjQ1YTgzMWVhNmU2MjczYmFjZDJl
M2Y4MzM2ZGRjNTYyYzhjYzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0NhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdD
YXBhYmlsaXRpZXMuY3BwCkBAIC0yMDgsNiArMjA4LDkgQEAgQ2FwYWJpbGl0eUxldmVsIGNhcGFi
aWxpdHlMZXZlbChPcGNvZGVJRCBvcGNvZGVJRCwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIEluc3Ry
dWMKICAgICBjYXNlIG9wX25ld19mdW5jOgogICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOgogICAg
IGNhc2Ugb3BfY3JlYXRlX2xleGljYWxfZW52aXJvbm1lbnQ6CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRp
ZgogICAgICAgICByZXR1cm4gQ2FuQ29tcGlsZUFuZElubGluZTsKIAogICAgIGNhc2Ugb3BfcHV0
X3RvX3Njb3BlOiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0
ZXIvSW50ZXJwcmV0ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0lu
dGVycHJldGVyLmNwcAppbmRleCBlY2ZjZTkxYmQzYzAzMDg1M2EzOTQwMzJiYTVjZDI4MmExYTNj
ZDhlLi4zYWM5M2E5ZmFiMjQ4MjQ4MDc1ZTIxODAzMzI3Mzc0NDM1Yzk5MGNlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKQEAgLTQ1
LDYgKzQ1LDkgQEAKICNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJKU0FycmF5
LmgiCiAjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNlbmRpZgogI2lu
Y2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgog
I2luY2x1ZGUgIkpTTmFtZVNjb3BlLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKaW5kZXgg
NDJhODJkNDM5NDYxNjJmOTVmYTQ3NDY3NTY3MTM5ZDRhYWYyMzg2Yi4uMTg2MGEwYWEzM2IwODE5
YzRmODU1MDg1ZjVlOGI3MGZhMjMyYTQzMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcApA
QCAtMjUzLDYgKzI1Myw5IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkKICAg
ICAgICAgREVGSU5FX09QKG9wX25ld19hcnJheV9idWZmZXIpCiAgICAgICAgIERFRklORV9PUChv
cF9uZXdfZnVuYykKICAgICAgICAgREVGSU5FX09QKG9wX25ld19mdW5jX2V4cCkKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBERUZJTkVfT1Aob3BfbmV3X2Fy
cm93X2Z1bmNfZXhwKQorI2VuZGlmICAKICAgICAgICAgREVGSU5FX09QKG9wX25ld19vYmplY3Qp
CiAgICAgICAgIERFRklORV9PUChvcF9uZXdfcmVnZXhwKQogICAgICAgICBERUZJTkVfT1Aob3Bf
bm90KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKaW5kZXggZWU0ODU1ZGMyZTc4YjU1YWNjNDU5OWVi
ZGI5OWEwZDhlMDhiZTdjYy4uNTYzOGQ1YzdjNzRhZWM3YzBhYjE5NWY5N2JiMzIxYmVlMDNjNzM3
YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCkBAIC01MjIsNiArNTIyLDkgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfYXJyYXlfYnVmZmVyKEluc3RydWN0aW9u
Kik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfZnVuYyhJbnN0cnVjdGlvbiopOwogICAgICAg
ICB2b2lkIGVtaXRfb3BfbmV3X2Z1bmNfZXhwKEluc3RydWN0aW9uKik7CisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdm9pZCBlbWl0X29wX25ld19hcnJvd19m
dW5jX2V4cChJbnN0cnVjdGlvbiopOworI2VuZGlmCiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdf
b2JqZWN0KEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfcmVnZXhwKElu
c3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9ub3QoSW5zdHJ1Y3Rpb24qKTsKQEAg
LTcwNSw2ICs3MDgsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6
OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSkosIGludCwgR1BSUmVnLCBHUFJS
ZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3Bl
cmF0aW9uX0VKc2MsIEdQUlJlZyk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxP
cGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0MsIGludCwgR1BSUmVnLCBKU0NlbGwqKTsKKyAg
ICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9F
SnNjQ0osIGludCwgR1BSUmVnLCBKU0NlbGwqLCBHUFJSZWcpOwogICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2NaLCBHUFJSZWcsIGlu
dDMyX3QpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklU
T3BlcmF0aW9uX0VKc2NaLCBpbnQsIEdQUlJlZywgaW50MzJfdCk7CiAjaWYgVVNFKEpTVkFMVUU2
NCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKaW5kZXggOWVlMjRkMDkyMjhh
OTg4MmVhNzY5NjI5ZDFhODdiNmMzNGE4NjMzNC4uNTQzNGU1ZmIxNjE0ODdjODhhZDFmY2YxYmNm
NjMwNmY2MDNkMWVmNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJ
bmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKQEAg
LTI3MSw2ICsyNzEsMTQgQEAgQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6
OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0Mgb3BlcmEKICAgICByZXR1cm4gYXBw
ZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldEpTVmFsdWVSZXN1bHQob3BlcmF0aW9uLCBkc3Qp
OwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK0FMV0FZU19JTkxJ
TkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9u
X0VKc2NDSiBvcGVyYXRpb24sIGludCBkc3QsIEdQUlJlZyBhcmcxLCBKU0NlbGwqIGNlbGwsIEdQ
UlJlZyBhcmcyKQoreworICAgIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBUcnVz
dGVkSW1tUHRyKGNlbGwpLCBhcmcyKTsKKyAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRp
b25DaGVja1NldEpTVmFsdWVSZXN1bHQob3BlcmF0aW9uLCBkc3QpOworfQorI2VuZGlmCisgICAg
CiBBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihK
X0pJVE9wZXJhdGlvbl9FUCBvcGVyYXRpb24sIGludCBkc3QsIHZvaWQqIHBvaW50ZXIpCiB7CiAg
ICAgc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIocG9pbnRlcikpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKaW5kZXggZDNkNTgwZTllMjYw
MDg1M2I2NjQ5ZTI4NTkxOGY4NTM4YmU2OTQ0Yy4uNDg4M2E4M2QxNzY0OGRkZGU5Y2FkYTA3NmUx
NzYwM2UzNzgzNmE4NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRP
cGNvZGVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3Bw
CkBAIC05NzIsNiArOTcyLDMxIEBAIHZvaWQgSklUOjplbWl0X29wX25ld19mdW5jX2V4cChJbnN0
cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9u
TmV3RnVuY3Rpb24sIGRzdCwgcmVnVDAsIGZ1bmNFeHByKTsKICAgICBkb25lLmxpbmsodGhpcyk7
CiB9CisgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3ZvaWQgSklU
OjplbWl0X29wX25ld19hcnJvd19mdW5jX2V4cChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0
aW9uKQoreworICAgIEp1bXAgbm90VW5kZWZpbmVkU2NvcGU7CisgICAgaW50IGRzdCA9IGN1cnJl
bnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICBlbWl0
R2V0VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQsIHJlZ1Qw
KTsKKyAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvbls0XS51Lm9w
ZXJhbmQsIHJlZ1QxKTsKKyAgICBub3RVbmRlZmluZWRTY29wZSA9IGJyYW5jaDY0KE5vdEVxdWFs
LCByZWdUMCwgVHJ1c3RlZEltbTY0KEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSkpOwor
ICAgIHN0b3JlNjQoVHJ1c3RlZEltbTY0KEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSks
IEFkZHJlc3MoY2FsbEZyYW1lUmVnaXN0ZXIsIHNpemVvZihSZWdpc3RlcikgKiBkc3QpKTsKKyNl
bHNlCisgICAgZW1pdExvYWRQYXlsb2FkKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQs
IHJlZ1QwKTsKKyAgICBlbWl0TG9hZFBheWxvYWQoY3VycmVudEluc3RydWN0aW9uWzRdLnUub3Bl
cmFuZCwgcmVnVDEpOworICAgIG5vdFVuZGVmaW5lZFNjb3BlID0gYnJhbmNoMzIoTm90RXF1YWws
IHRhZ0ZvcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSwgVHJ1c3RlZEltbTMyKEpT
VmFsdWU6OlVuZGVmaW5lZFRhZykpOworICAgIGVtaXRTdG9yZShkc3QsIGpzVW5kZWZpbmVkKCkp
OworI2VuZGlmCisgICAgSnVtcCBkb25lID0ganVtcCgpOworICAgIG5vdFVuZGVmaW5lZFNjb3Bl
LmxpbmsodGhpcyk7CisgICAgCisgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlvbiA9IG1f
Y29kZUJsb2NrLT5mdW5jdGlvbkV4cHIoY3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZCk7
CisgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uLCBkc3QsIHJlZ1Qw
LCBmdW5jdGlvbiwgcmVnVDEpOworICAgIGRvbmUubGluayh0aGlzKTsKK30KKyNlbmRpZgogCiB2
b2lkIEpJVDo6ZW1pdF9vcF9uZXdfYXJyYXkoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlv
bikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9u
cy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCmluZGV4
IDU4Yjg2MzZkODg2ZGJiMmU4NTI5MWIyOTM1MGQ5Y2Y0ZTE0MjQxNzEuLjlmNTI0YzhiZDk5Njg1
NzYxMjBjMDM2NTE3NzgyNTUwMjc2NDZmMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRPcGVyYXRpb25zLmNwcApAQCAtNDIsNiArNDIsMTAgQEAKICNpbmNsdWRlICJIb3N0Q2Fs
bFJldHVyblZhbHVlLmgiCiAjaW5jbHVkZSAiSklULmgiCiAjaW5jbHVkZSAiSklUVG9ERkdEZWZl
cnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suaCIKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorI2VuZGlmCisjaW5jbHVkZSAi
SlNCb3VuZEZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpT
Q2F0Y2hTY29wZS5oIgogI2luY2x1ZGUgIkpTRnVuY3Rpb25OYW1lU2NvcGUuaCIKQEAgLTkzMyw2
ICs5MzcsMjEgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdGdW5j
dGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTU2NvcGUqIHNjb3AKICAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgc3RhdGljX2Nhc3Q8RnVuY3Rpb25FeGVjdXRh
YmxlKj4oZnVuY3Rpb25FeGVjdXRhYmxlKSwgc2NvcGUpKTsKIH0KIAorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbk5ld0Fycm93RnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBKU1Njb3BlKiBzY29wZSwgSlND
ZWxsKiBmdW5jdGlvbkV4ZWN1dGFibGUsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSkKK3sKKyAg
ICBBU1NFUlQoZnVuY3Rpb25FeGVjdXRhYmxlLT5pbmhlcml0cyhGdW5jdGlvbkV4ZWN1dGFibGU6
OmluZm8oKSkpOworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgTmF0aXZlQ2FsbEZyYW1l
VHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOworICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QgPSBleGVjLT5jYWxsZWUoKS0+Z2xvYmFsT2JqZWN0KCk7CisgICAgSlNGdW5jdGlvbiogZnVu
YyA9IEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlKHZtLCBzY29wZSwgc3RhdGljX2Nhc3Q8RnVuY3Rp
b25FeGVjdXRhYmxlKj4oZnVuY3Rpb25FeGVjdXRhYmxlKSwgZ2xvYmFsT2JqZWN0KTsKKyAgICAK
KyAgICBKU0FycmF5KiBib3VuZEFyZ3MgPSBKU0FycmF5Ojp0cnlDcmVhdGVVbmluaXRpYWxpemVk
KHZtLCBnbG9iYWxPYmplY3QtPmFycmF5U3RydWN0dXJlRm9ySW5kZXhpbmdUeXBlRHVyaW5nQWxs
b2NhdGlvbihBcnJheVdpdGhVbmRlY2lkZWQpLCAwKTsKKyAgICAKKyAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKEpTQm91bmRGdW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIGZ1bmMs
IEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpLCBib3VuZEFyZ3MsIDAsICIiKSk7Cit9CisjZW5k
aWYKKyAgICAKIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdPYmplY3QoRXhlY1N0
YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+
dm0oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9u
cy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKaW5kZXggNGRl
Y2VmNGViOGI0OGJiOTM3ZDU0ZDBiNjA0YjliNzc2N2E0ZWE2MS4uNTg0YWE1M2RmMzI1ZTUzMGNk
ZmIyNWMzMTEwOWExYjgxMGI0NDY3OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRPcGVyYXRpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRP
cGVyYXRpb25zLmgKQEAgLTExNiw2ICsxMTYsOSBAQCB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJ
VF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FUFApKEV4ZWNTdGF0ZSosIHZvaWQqLCB2bwog
dHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVBT
KShFeGVjU3RhdGUqLCB2b2lkKiwgc2l6ZV90KTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklU
X09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQYykoRXhlY1N0YXRlKiwgSW5zdHJ1Y3Rpb24q
KTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9u
X0VKc2NDKShFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKik7CisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3R5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElP
TiAoKkpfSklUT3BlcmF0aW9uX0VKc2NDSikoRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCos
IEVuY29kZWRKU1ZhbHVlKTsKKyNlbmRpZgogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BF
UkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNTKShFeGVjU3RhdGUqLCBzaXplX3QsIHNpemVfdCk7
CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9F
U3NpQ0kpKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgSlNDZWxsKiwgU3RyaW5nSW1w
bCopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRp
b25fRVNzaUpJKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVl
LCBTdHJpbmdJbXBsKik7CkBAIC0yNzgsNiArMjgxLDkgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25OZXdBcnJheVdpdGhQcm9maWxlKEV4ZWNTdGF0ZSosIEFycmF5QWxs
b2MKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXlCdWZmZXJX
aXRoUHJvZmlsZShFeGVjU3RhdGUqLCBBcnJheUFsbG9jYXRpb25Qcm9maWxlKiwgY29uc3QgSlNW
YWx1ZSogdmFsdWVzLCBpbnQzMl90IHNpemUpIFdURl9JTlRFUk5BTDsKIEVuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXlXaXRoU2l6ZUFuZFByb2ZpbGUoRXhlY1N0
YXRlKiwgQXJyYXlBbGxvY2F0aW9uUHJvZmlsZSosIEVuY29kZWRKU1ZhbHVlIHNpemUpIFdURl9J
TlRFUk5BTDsKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3RnVuY3Rp
b24oRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCopIFdURl9JTlRFUk5BTDsKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElP
TiBvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwq
LCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVSTkFMOworI2VuZGlmCiBKU0NlbGwqIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uTmV3T2JqZWN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSopIFdURl9JTlRF
Uk5BTDsKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3UmVnZXhwKEV4
ZWNTdGF0ZSosIHZvaWQqKSBXVEZfSU5URVJOQUw7CiB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uSGFuZGxlV2F0Y2hkb2dUaW1lcihFeGVjU3RhdGUqKSBXVEZfSU5URVJOQUw7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAppbmRleCAyNzkyODVh
NDY4MDZjYzY4OWQwNWQxM2NmNDYzNDJkMDZiNWVmZDY0Li44Y2QxY2FjZDNlNThkYTE5NGQ0YmRk
ZjlmZjRkYzdjN2I1NTM1NjliIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTExJbnRTbG93UGF0aHMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
TEludFNsb3dQYXRocy5jcHAKQEAgLTM4LDYgKzM4LDEwIEBACiAjaW5jbHVkZSAiSW50ZXJwcmV0
ZXIuaCIKICNpbmNsdWRlICJKSVQuaCIKICNpbmNsdWRlICJKSVRFeGNlcHRpb25zLmgiCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rp
b24uaCIKKyNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKKyNlbmRpZgogI2luY2x1ZGUgIkpT
TGV4aWNhbEVudmlyb25tZW50LmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUg
IkpTQ0pTVmFsdWUuaCIKQEAgLTE3MSw2ICsxNzUsMTUgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVz
cGFjZSBMTEludCB7CiAgICAgICAgIExMSU5UX1JFVFVSTl9UV08ocGMsIF9fcmNmX2V4ZWMpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgfSB3aGlsZSAoZmFsc2UpCiAKKyAg
ICAKKyNkZWZpbmUgTExJTlRfQ0FMQ19QUk9QRVJUWV9GT1JfRlVOQ19FWFBSKCkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIExMSU5UX0JFR0lOKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVjLT5jb2RlQmxvY2soKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBKU1Njb3BlKiBzY29wZSA9IGV4ZWMtPnVuY2hl
Y2tlZFIocGNbMl0udS5vcGVyYW5kKS5SZWdpc3Rlcjo6c2NvcGUoKTsgICAgICAgXAorICAgIEZ1
bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9IGNvZGVCbG9jay0+ZnVuY3Rpb25FeHByKHBj
WzNdLnUub3BlcmFuZCk7ICBcCisgICAgCitlbnVtIEZ1bmN0aW9uRXhwcmVzc2lvblR5cGUgeyBB
cnJvd0Z1bmN0aW9uRXhwcmVzc2lvblR5cGUsIENvbW1vbkZ1bmN0aW9uRXhwcmVzc2lvblR5cGV9
OworICAgIAogZXh0ZXJuICJDIiBTbG93UGF0aFJldHVyblR5cGUgbGxpbnRfdHJhY2Vfb3BlcmFu
ZChFeGVjU3RhdGUqIGV4ZWMsIEluc3RydWN0aW9uKiBwYywgaW50IGZyb21XaGVyZSwgaW50IG9w
ZXJhbmQpCiB7CiAgICAgTExJTlRfQkVHSU4oKTsKQEAgLTk4NSwxOCArOTk4LDMzIEBAIExMSU5U
X1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuYykKICNlbmRpZgogICAgIExMSU5UX1JF
VFVSTihKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGNvZGVCbG9jay0+ZnVuY3Rpb25EZWNsKHBjWzNd
LnUub3BlcmFuZCksIHNjb3BlKSk7CiB9Ci0KKyAgICAKIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNs
b3dfcGF0aF9uZXdfZnVuY19leHApCiB7Ci0gICAgTExJTlRfQkVHSU4oKTsKLSAgICBDb2RlQmxv
Y2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVCbG9jaygpOwotICAgIEpTU2NvcGUqIHNjb3BlID0g
ZXhlYy0+dW5jaGVja2VkUihwY1syXS51Lm9wZXJhbmQpLlJlZ2lzdGVyOjpzY29wZSgpOwotICAg
IEZ1bmN0aW9uRXhlY3V0YWJsZSogZnVuY3Rpb24gPSBjb2RlQmxvY2stPmZ1bmN0aW9uRXhwcihw
Y1szXS51Lm9wZXJhbmQpOwotICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Z1bmN0aW9uOjpjcmVh
dGUodm0sIGZ1bmN0aW9uLCBzY29wZSk7Ci0gICAgCisgICAgTExJTlRfQ0FMQ19QUk9QRVJUWV9G
T1JfRlVOQ19FWFBSKCk7CisKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNGdW5jdGlvbjo6Y3Jl
YXRlKHZtLCBleGVjdXRhYmxlLCBzY29wZSk7CiAgICAgTExJTlRfUkVUVVJOKGZ1bmMpOwogfQog
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK0xMSU5UX1NMT1dfUEFUSF9E
RUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApCit7CisgICAgTExJTlRfQ0FMQ19QUk9Q
RVJUWV9GT1JfRlVOQ19FWFBSKCk7CisgICAgCisgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBMTElO
VF9PUF9DKDQpLmpzVmFsdWUoKTsKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0g
ZXhlYy0+Y2FsbGVlKCktPmdsb2JhbE9iamVjdCgpOworICAgIAorICAgIEpTRnVuY3Rpb24qIGZ1
bmMgPSBKU0Fycm93RnVuY3Rpb246OmNyZWF0ZSh2bSwgc2NvcGUsIGV4ZWN1dGFibGUsIGdsb2Jh
bE9iamVjdCk7CisgICAgCisgICAgSlNBcnJheSogYm91bmRBcmdzID0gSlNBcnJheTo6dHJ5Q3Jl
YXRlVW5pbml0aWFsaXplZCh2bSwgZ2xvYmFsT2JqZWN0LT5hcnJheVN0cnVjdHVyZUZvckluZGV4
aW5nVHlwZUR1cmluZ0FsbG9jYXRpb24oQXJyYXlXaXRoVW5kZWNpZGVkKSwgMCk7CisgICAgCisg
ICAgY29uc3QgU3RyaW5nIGZ1bmNXaXRob3V0TmFtZSA9ICIiOworICAgIAorICAgIExMSU5UX1JF
VFVSTihKU0JvdW5kRnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBmdW5jLCB0aGlz
VmFsdWUsIGJvdW5kQXJncywgMCwgZnVuY1dpdGhvdXROYW1lKSk7Cit9CisjZW5kaWYKKwogc3Rh
dGljIFNsb3dQYXRoUmV0dXJuVHlwZSBoYW5kbGVIb3N0Q2FsbChFeGVjU3RhdGUqIGV4ZWNDYWxs
ZWUsIEluc3RydWN0aW9uKiBwYywgSlNWYWx1ZSBjYWxsZWUsIENvZGVTcGVjaWFsaXphdGlvbktp
bmQga2luZCkKIHsKICAgICBVTlVTRURfUEFSQU0ocGMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaAppbmRleCA0YmY3ZGViMGZhMGI2YzY0MzhlMzZmOTYz
MjBlMmY2Njk3MzlhZjY0Li40NjdiZmI0ZDgwYTUxMDljMjc5MzA3NDkzZDM5ZDEwMjM4NjhmZjhj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaApAQCAt
OTYsNiArOTYsOSBAQCBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3N3aXRj
aF9jaGFyKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfc3dpdGNoX3N0
cmluZyk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX25ld19mdW5jKTsK
IExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfbmV3X2Z1bmNfZXhwKTsKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorTExJTlRfU0xPV19QQVRIX0hJRERF
Tl9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApOworI2VuZGlmCiBMTElOVF9TTE9X
X1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX2NhbGwpOwogTExJTlRfU0xPV19QQVRIX0hJRERF
Tl9ERUNMKHNsb3dfcGF0aF9jb25zdHJ1Y3QpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNM
KHNsb3dfcGF0aF9zaXplX2ZyYW1lX2Zvcl92YXJhcmdzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbSBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQppbmRleCBmZGE5MWVkNTk5
MGNiNmU0ZjJjYjc4YWE2YTRiMmQ4YzJjMGM0NzJhLi44MjI3MTM0OTgyZGI3NTgxZGM4YTIyNWNk
NDIzMjgyMDA5MmZiNzNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc20KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCkBAIC0xMTcxLDYgKzExNzEsMTAgQEAgX2xsaW50X29w
X25ld19mdW5jX2V4cDoKICAgICBjYWxsU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9uZXdfZnVu
Y19leHApCiAgICAgZGlzcGF0Y2goNCkKIAorX2xsaW50X29wX25ld19hcnJvd19mdW5jX2V4cDoK
KyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2FsbFNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhf
bmV3X2Fycm93X2Z1bmNfZXhwKQorICAgIGRpc3BhdGNoKDUpCiAKIF9sbGludF9vcF9jYWxsOgog
ICAgIHRyYWNlRXhlY3V0aW9uKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvQVNUQnVpbGRlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWls
ZGVyLmgKaW5kZXggYjhmZTRiODQ4NWEwOTc2ODhmNWM2MzBiZDhjM2M5Njc2NGZjNDY0OS4uY2I4
ZTBkYzFkZGJlYzc1ODY2MzVlMWI0MzQyYzllNTVjNjYxNGUyMSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKQEAgLTMxMyw2ICszMTMsMTkgQEAgcHVibGljOgog
ICAgICAgICAgICAgaW5TdHJpY3RDb250ZXh0LCBjb25zdHJ1Y3RvcktpbmQpOwogICAgIH0KIAor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgRXhwcmVzc2lvbk5vZGUq
IGNyZWF0ZUFycm93RnVuY3Rpb25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24s
IGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RCdWlsZGVyPiYgaW5mbykKKyAgICB7CisgICAg
ICAgIFNvdXJjZUNvZGUgc291cmNlID0gaW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUgPT0gQXJy
b3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uCisgICAgICAgID8gbV9zb3VyY2VDb2RlLT5zdWJBcnJv
d0V4cHJlc3Npb24oaW5mby5hcnJvd0Z1bmN0aW9uT2Zmc2V0LCBpbmZvLmNsb3NlQnJhY2VPZmZz
ZXQsIGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1bW4pCisgICAgICAgIDog
bV9zb3VyY2VDb2RlLT5zdWJFeHByZXNzaW9uKGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBpbmZvLmNs
b3NlQnJhY2VPZmZzZXQsIGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1bW4p
OworCisgICAgICAgIEFycm93RnVuY0V4cHJOb2RlKiByZXN1bHQgPSBuZXcgKG1fcGFyc2VyQXJl
bmEpIEFycm93RnVuY0V4cHJOb2RlKGxvY2F0aW9uLCAqaW5mby5uYW1lLCBpbmZvLmJvZHksIHNv
dXJjZSwgaW5mby5wYXJhbWV0ZXJzKTsKKyAgICAgICAgaW5mby5ib2R5LT5zZXRMb2MoaW5mby5i
b2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlFbmRMaW5lLCBsb2NhdGlvbi5zdGFydE9mZnNldCwgbG9j
YXRpb24ubGluZVN0YXJ0T2Zmc2V0KTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9Cisj
ZW5kaWYKKwogICAgIE5FVkVSX0lOTElORSBQcm9wZXJ0eU5vZGUqIGNyZWF0ZUdldHRlck9yU2V0
dGVyUHJvcGVydHkoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgUHJvcGVydHlOb2Rl
OjpUeXBlIHR5cGUsIGJvb2wsCiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUsIGNvbnN0
IFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RCdWlsZGVyPiYgaW5mbywgU3VwZXJCaW5kaW5nIHN1cGVy
QmluZGluZykKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L0xleGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCmluZGV4
IDdkZTE0MjIwYmJkYTcyNzM4YjU3M2E0Yjk3ODhjZTBiMzJjYzdjZTMuLjU0MGY5ZmZiN2JiNTE4
MjlkNjdkZWVkZWM1ZTZhOGVkNTFjYzQ0MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
TGV4ZXIuY3BwCkBAIC0xNDMwLDYgKzE0MzAsMTggQEAgYm9vbCBMZXhlcjxUPjo6bmV4dFRva2Vu
SXNDb2xvbigpCiAgICAgcmV0dXJuIGNvZGUgPCBtX2NvZGVFbmQgJiYgKmNvZGUgPT0gJzonOwog
fQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBl
bmFtZSBUPgordm9pZCBMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlvbihKU1Rva2VuKiB0b2tlblJl
Y29yZCkKK3sKKyAgICBKU1Rva2VuRGF0YSogdG9rZW5EYXRhID0gJnRva2VuUmVjb3JkLT5tX2Rh
dGE7CisgICAgdG9rZW5EYXRhLT5saW5lID0gbGluZU51bWJlcigpOworICAgIHRva2VuRGF0YS0+
b2Zmc2V0ID0gY3VycmVudE9mZnNldCgpOworICAgIHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0
ID0gY3VycmVudExpbmVTdGFydE9mZnNldCgpOworICAgIEFTU0VSVCh0b2tlbkRhdGEtPm9mZnNl
dCA+PSB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCk7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUg
PHR5cGVuYW1lIFQ+CiBKU1Rva2VuVHlwZSBMZXhlcjxUPjo6bGV4KEpTVG9rZW4qIHRva2VuUmVj
b3JkLCB1bnNpZ25lZCBsZXhlckZsYWdzLCBib29sIHN0cmljdE1vZGUpCiB7CkBAIC0xNDkzLDcg
KzE1MDUsMTIgQEAgc3RhcnQ6CiAgICAgICAgIH0KICAgICAgICAgdG9rZW4gPSBHVDsKICAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBDaGFyYWN0ZXJFcXVhbDoKKyAgICBjYXNlIENoYXJhY3RlckVx
dWFsOiB7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdWlu
dDMyX3Qgc2F2ZWRsaW5lTnVtYmVyID0gdG9rZW5EYXRhLT5saW5lOworICAgICAgICB1aW50MzJf
dCBzYXZlZE9mZnNldCA9IGN1cnJlbnRPZmZzZXQoKTsKKyAgICAgICAgdWludDMyX3Qgc2F2ZWRM
aW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0KCk7CisjZW5kaWYKICAgICAg
ICAgc2hpZnQoKTsKICAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnPScpIHsKICAgICAgICAgICAg
IHNoaWZ0KCk7CkBAIC0xNTA1LDggKzE1MjIsMjIgQEAgc3RhcnQ6CiAgICAgICAgICAgICB0b2tl
biA9IEVRRVE7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJz4nKSB7Cisg
ICAgICAgICAgICBzaGlmdCgpOworICAgICAgICAgICAgdG9rZW4gPSBBUlJPV0ZVTkNUSU9OOwor
CisgICAgICAgICAgICB0b2tlbkRhdGEtPmxpbmUgPSBzYXZlZGxpbmVOdW1iZXI7CisgICAgICAg
ICAgICB0b2tlbkRhdGEtPm9mZnNldCA9IHNhdmVkT2Zmc2V0OworICAgICAgICAgICAgdG9rZW5E
YXRhLT5saW5lU3RhcnRPZmZzZXQgPSBzYXZlZExpbmVTdGFydE9mZnNldDsKKworICAgICAgICAg
ICAgQVNTRVJUKHRva2VuRGF0YS0+b2Zmc2V0ID49IHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0
KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgdG9rZW4g
PSBFUVVBTDsKICAgICAgICAgYnJlYWs7CisgICAgfQogICAgIGNhc2UgQ2hhcmFjdGVyTGVzczoK
ICAgICAgICAgc2hpZnQoKTsKICAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnIScgJiYgcGVlaygx
KSA9PSAnLScgJiYgcGVlaygyKSA9PSAnLScpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvTGV4ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4
ZXIuaAppbmRleCAyZGY1MjEzOTk1NzgyMDA3ODVhMTY2ZTIyYTczMjc1ZTBlYTYzMDRkLi5jYjNm
MjVmN2MwOGY4MjU4MWFmMmNlOGZhOTk5OTdmYWRlMDc2NmYyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9MZXhlci5oCkBAIC04NSw2ICs4NSw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldElz
UmVwYXJzaW5nKCkgeyBtX2lzUmVwYXJzaW5nID0gdHJ1ZTsgfQogICAgIGJvb2wgaXNSZXBhcnNp
bmcoKSBjb25zdCB7IHJldHVybiBtX2lzUmVwYXJzaW5nOyB9CiAKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHZvaWQgc2V0VG9rZW5Qb3NpdGlvbihKU1Rva2VuKiB0
b2tlblJlY29yZCk7CisjZW5kaWYKICAgICBKU1Rva2VuVHlwZSBsZXgoSlNUb2tlbiosIHVuc2ln
bmVkLCBib29sIHN0cmljdE1vZGUpOwogICAgIGJvb2wgbmV4dFRva2VuSXNDb2xvbigpOwogICAg
IGludCBsaW5lTnVtYmVyKCkgY29uc3QgeyByZXR1cm4gbV9saW5lTnVtYmVyOyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCmluZGV4IDNiZGFi
NjFhNTIyZTBjZTJjMzM5N2Y4MGY0ZmExODRkMWQ0MjE2MGUuLmI1OGUxZmUxYWY5MGU2NjBiMDg0
MmVhN2U5OWYwN2FlNmFjYmI5NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvTm9kZUNvbnN0cnVjdG9ycy5oCkBAIC03ODEsNiArNzgxLDEzIEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICBtX2JvZHktPmZpbmlzaFBhcnNpbmcoc291cmNlLCBwYXJhbWV0ZXIsIGlkZW50
LCBGdW5jdGlvbkV4cHJlc3Npb24pOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgaW5saW5lIEFycm93RnVuY0V4cHJOb2RlOjpBcnJvd0Z1bmNFeHBy
Tm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBJZGVudGlmaWVyJiBp
ZGVudCwgRnVuY3Rpb25Cb2R5Tm9kZSogYm9keSwgY29uc3QgU291cmNlQ29kZSYgc291cmNlLCBQ
YXJhbWV0ZXJOb2RlKiBwYXJhbWV0ZXIpCisgICAgICAgIDogRnVuY0V4cHJOb2RlKGxvY2F0aW9u
LCBpZGVudCwgYm9keSwgc291cmNlLCBwYXJhbWV0ZXIpCisgICAgeworICAgIH0KKyNlbmRpZgor
ICAgIAogICAgIGlubGluZSBGdW5jRGVjbE5vZGU6OkZ1bmNEZWNsTm9kZShjb25zdCBKU1Rva2Vu
TG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgRnVuY3Rpb25Cb2R5
Tm9kZSogYm9keSwgY29uc3QgU291cmNlQ29kZSYgc291cmNlLCBQYXJhbWV0ZXJOb2RlKiBwYXJh
bWV0ZXIpCiAgICAgICAgIDogU3RhdGVtZW50Tm9kZShsb2NhdGlvbikKICAgICAgICAgLCBtX2Jv
ZHkoYm9keSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAppbmRleCA2YjM3MzI5YzA5
YmZjNDJiZWNjYzNjYWE5ODM1OTdjMzU0MDJiNmM5Li41Yjc3NDFlMWNjYzhkNTE1ZmYxNGMxNTMx
NzJkN2JkYTA1M2Y1ODY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L05vZGVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCkBAIC0x
NTgsNiArMTU4LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Rv
dEFjY2Vzc29yTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwg
Ym9vbCBpc0RlY29uc3RydWN0aW9uTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAg
ICAgIHZpcnR1YWwgYm9vbCBpc0Z1bmNFeHByTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdmlydHVhbCBi
b29sIGlzQXJyb3dGdW5jRXhwck5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorI2VuZGlm
CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0NvbW1hTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNl
OyB9CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc1NpbXBsZUFycmF5KCkgY29uc3QgeyByZXR1cm4g
ZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzQWRkKCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KQEAgLTE2NTIsNiArMTY1NSwxOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgRnVu
Y3Rpb25Cb2R5Tm9kZSogbV9ib2R5OwogICAgIH07CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIGNsYXNzIEFycm93RnVuY0V4cHJOb2RlIDogcHVibGljIEZ1bmNF
eHByTm9kZSB7CisgICAgcHVibGljOgorICAgICAgICBBcnJvd0Z1bmNFeHByTm9kZShjb25zdCBK
U1Rva2VuTG9jYXRpb24mLCBjb25zdCBJZGVudGlmaWVyJiwgRnVuY3Rpb25Cb2R5Tm9kZSosIGNv
bnN0IFNvdXJjZUNvZGUmLCBQYXJhbWV0ZXJOb2RlKiA9IDApOworICAgIHByaXZhdGU6CisgICAg
ICAgIHZpcnR1YWwgUmVnaXN0ZXJJRCogZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiwg
UmVnaXN0ZXJJRCogPSAwKSBvdmVycmlkZTsKKyAgICAgICAgCisgICAgICAgIHZpcnR1YWwgYm9v
bCBpc0Z1bmNFeHByTm9kZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CisgICAg
ICAgIAorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNBcnJvd0Z1bmNFeHByTm9kZSgpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KKyAgICB9OworI2VuZGlmCisKICNpZiBFTkFCTEUoRVM2
X0NMQVNTX1NZTlRBWCkKICAgICBjbGFzcyBDbGFzc0V4cHJOb2RlIGZpbmFsIDogcHVibGljIEV4
cHJlc3Npb25Ob2RlIHsKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlci5jcHAKaW5kZXggNWY0NDgwYjQ5Y2FkNWQ0OTE1NmM2MjVmYTQ4NGFmN2ExZGM4YjNjZi4u
YTY5ZDQxYzY4MGVkZjRmM2RlOGYwZDdhZDUyYjYxYzFkMDJiY2RhYyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcApAQCAtMzI5LDggKzMyOSwxMyBAQCBib29sIFBhcnNl
cjxMZXhlclR5cGU+OjphbGxvd0F1dG9tYXRpY1NlbWljb2xvbigpCiAgICAgcmV0dXJuIG1hdGNo
KENMT1NFQlJBQ0UpIHx8IG1hdGNoKEVPRlRPSykgfHwgbV9sZXhlci0+cHJldlRlcm1pbmF0b3Io
KTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8
dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291
cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1
aWxkZXImIGNvbnRleHQsIFNvdXJjZUVsZW1lbnRzTW9kZSBtb2RlLCBGdW5jdGlvblBhcnNlVHlw
ZSBmdW5jdGlvblBhcnNlVHlwZSkKKyNlbHNlCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBl
PgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNv
dXJjZUVsZW1lbnRzTW9kZSBtb2RlKQorI2VuZGlmCiB7CiAgICAgY29uc3QgdW5zaWduZWQgbGVu
Z3RoT2ZVc2VTdHJpY3RMaXRlcmFsID0gMTI7IC8vICJ1c2Ugc3RyaWN0Ii5sZW5ndGgKICAgICBU
cmVlU291cmNlRWxlbWVudHMgc291cmNlRWxlbWVudHMgPSBjb250ZXh0LmNyZWF0ZVNvdXJjZUVs
ZW1lbnRzKCk7CkBAIC0zMzksNyArMzQ0LDExIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsCiAg
ICAgdW5zaWduZWQgZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDA7CiAgICAgYXV0byBzYXZlUG9p
bnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKICAgICBib29sIGhhc1NldFN0cmljdCA9IGZhbHNlOwor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgd2hpbGUgKFRyZWVTdGF0
ZW1lbnQgc3RhdGVtZW50ID0gcGFyc2VTdGF0ZW1lbnQoY29udGV4dCwgZGlyZWN0aXZlLCAmZGly
ZWN0aXZlTGl0ZXJhbExlbmd0aCwgZnVuY3Rpb25QYXJzZVR5cGUpKSB7CisjZWxzZQogICAgIHdo
aWxlIChUcmVlU3RhdGVtZW50IHN0YXRlbWVudCA9IHBhcnNlU3RhdGVtZW50KGNvbnRleHQsIGRp
cmVjdGl2ZSwgJmRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgpKSB7CisjZW5kaWYKICAgICAgICAgaWYg
KG1vZGUgPT0gQ2hlY2tGb3JTdHJpY3RNb2RlICYmICFzZWVuTm9uRGlyZWN0aXZlKSB7CiAgICAg
ICAgICAgICBpZiAoZGlyZWN0aXZlKSB7CiAgICAgICAgICAgICAgICAgLy8gInVzZSBzdHJpY3Qi
IG11c3QgYmUgdGhlIGV4YWN0IGxpdGVyYWwgd2l0aG91dCBlc2NhcGUgc2VxdWVuY2VzIG9yIGxp
bmUgY29udGludWF0aW9uLgpAQCAtNTcxLDYgKzU4MCwzMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gUGFyc2VyPExleGVyVHlwZT46OmNy
ZWF0ZQogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUJpbmRpbmdMb2NhdGlvbih0b2tlbi5tX2xv
Y2F0aW9uLCBuYW1lLCB0b2tlbi5tX3N0YXJ0UG9zaXRpb24sIHRva2VuLm1fZW5kUG9zaXRpb24p
OwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0
eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0
ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvblN0YXRlbWVudChUcmVl
QnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBBU1NFUlQobWF0Y2goQVJST1dGVU5DVElPTikpOwor
CisgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CisgICAgSlNU
ZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICBKU1RleHRQb3Np
dGlvbiBlbmQgPSB0b2tlbkVuZFBvc2l0aW9uKCk7CisKKyAgICBuZXh0KCk7CisgICAgVHJlZUV4
cHJlc3Npb24gZXhwciA9IHBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oY29udGV4dCk7Cisg
ICAgZmFpbElmRmFsc2UoZXhwciwgIkNhbm5vdCBwYXJzZSB0aGUgYXJyb3cgZnVuY3Rpb24gZXhw
cmVzc2lvbiIpOworICAgIGVuZCA9IGxhc3RUb2tlbkVuZFBvc2l0aW9uKCk7CisKKyAgICBib29s
IGNvcnJlY0Fycm93RmluaXNoID0gaXNFbmRPZkFycm93RnVuY3Rpb24oKSB8fCBtYXRjaChFT0ZU
T0spOworICAgIGZhaWxJZkZhbHNlKGNvcnJlY0Fycm93RmluaXNoLCAiRXhwZWN0ZWQgYSAnOycs
ICddJywgJ30nLCAnKScsIG9yICcsJyBmb2xsb3dpbmcgYSBhcnJvdyBmdW5jdGlvbiBzdGF0ZW1l
bnQiKTsKKworICAgIGVuZCA9IHRva2VuRW5kUG9zaXRpb24oKTsKKyAgICBzZXRFbmRPZlN0YXRl
bWVudCgpOworCisgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUmV0dXJuU3RhdGVtZW50KGxvY2F0
aW9uLCBleHByLCBzdGFydCwgZW5kKTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUg
TGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVjb25zdHJ1Y3Rp
b25QYXR0ZXJuIFBhcnNlcjxMZXhlclR5cGU+Ojp0cnlQYXJzZURlY29uc3RydWN0aW9uUGF0dGVy
bkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7CkBAIC0xMTQ0LDggKzExNzgsMTMg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZUJsb2NrU3RhdGVtZW4KICAgICByZXR1cm4gcmVzdWx0OwogfQogCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhl
clR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJ
ZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCwg
RnVuY3Rpb25QYXJzZVR5cGUgdHlwZSkKKyNlbHNlCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJU
eXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRl
bnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgpCisj
ZW5kaWYKIHsKICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50RGVw
dGgpOwogICAgIG1fc3RhdGVtZW50RGVwdGgrKzsKQEAgLTExNTQsNiArMTE5MywyNyBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlU3RhdGVtZW50KFRyZQogICAgIGZhaWxJZlN0YWNrT3ZlcmZsb3coKTsKICAgICBUcmVl
U3RhdGVtZW50IHJlc3VsdCA9IDA7CiAgICAgYm9vbCBzaG91bGRTZXRFbmRPZmZzZXQgPSB0cnVl
OworCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBib29sIGhhbmRs
ZWQgPSBmYWxzZTsKKyAgICBpZiAodHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7Cisg
ICAgICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKKyAgICAgICAgY2FzZSBDTE9TRVBBUkVO
OgorICAgICAgICBjYXNlIENMT1NFQlJBQ0tFVDoKKyAgICAgICAgY2FzZSBDT01NQToKKyAgICAg
ICAgY2FzZSBTRU1JQ09MT046IHsKKyAgICAgICAgICAgIHJlc3VsdCA9IDA7CisgICAgICAgICAg
ICBoYW5kbGVkID0gdHJ1ZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAg
IGRlZmF1bHQ6CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIGlmICho
YW5kbGVkKQorICAgICAgICAgICAgZ290byBlbmRTdGF0ZW1lbmV0OworICAgIH0KKyNlbmRpZgog
ICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKICAgICBjYXNlIE9QRU5CUkFDRToKICAgICAg
ICAgcmVzdWx0ID0gcGFyc2VCbG9ja1N0YXRlbWVudChjb250ZXh0KTsKQEAgLTExOTksNiArMTI1
OSwxMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAgIGNhc2UgQlJFQUs6CiAgICAgICAg
IHJlc3VsdCA9IHBhcnNlQnJlYWtTdGF0ZW1lbnQoY29udGV4dCk7CiAgICAgICAgIGJyZWFrOwor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2FzZSBBUlJPV0ZVTkNU
SU9OOgorICAgICAgICByZXN1bHQgPSBwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoY29udGV4
dCk7CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgY2FzZSBSRVRVUk46CiAgICAgICAgIHJl
c3VsdCA9IHBhcnNlUmV0dXJuU3RhdGVtZW50KGNvbnRleHQpOwogICAgICAgICBicmVhazsKQEAg
LTEyNDAsNiArMTMwNSw4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRl
bWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgICAgIGJyZWFr
OwogICAgIH0KIAorZW5kU3RhdGVtZW5ldDoKKwogICAgIGlmIChyZXN1bHQgJiYgc2hvdWxkU2V0
RW5kT2Zmc2V0KQogICAgICAgICBjb250ZXh0LnNldEVuZE9mZnNldChyZXN1bHQsIG1fbGFzdFRv
a2VuRW5kUG9zaXRpb24ub2Zmc2V0KTsKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTI2MCwyMyAr
MTMyNyw0NCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGb3JtYWxQYXJhbWV0
ZXJMaXN0IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZvcgogICAgIHJldHVybiBsaXN0OwogfQog
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKIHRlbXBsYXRlIDx0eXBlbmFt
ZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGdW5jdGlvbkJv
ZHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25Cb2R5KAogICAgIFRyZWVCdWlsZGVy
JiBjb250ZXh0LCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFy
dCwgCisgICAgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9y
S2luZCwgRnVuY3Rpb25QYXJzZVR5cGUgcGFyc2VUeXBlKQorI2Vsc2UKK3RlbXBsYXRlIDx0eXBl
bmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGdW5jdGlv
bkJvZHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25Cb2R5KAorICAgIFRyZWVCdWls
ZGVyJiBjb250ZXh0LCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVT
dGFydCwKICAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0
b3JLaW5kKQorI2VuZGlmCiB7CiAgICAgSlNUb2tlbkxvY2F0aW9uIHN0YXJ0TG9jYXRpb24odG9r
ZW5Mb2NhdGlvbigpKTsKICAgICB1bnNpZ25lZCBzdGFydENvbHVtbiA9IHRva2VuQ29sdW1uKCk7
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBl
ID09IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgbmV4dCgpOworICAgICAg
ICBpZiAobWF0Y2goQ0xPU0VCUkFDRSkpIHsKKyAgICAgICAgICAgIHVuc2lnbmVkIGVuZENvbHVt
biA9IHRva2VuQ29sdW1uKCk7CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5j
dGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5k
Q29sdW1uLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRl
cnNTdGFydCwgc3RyaWN0TW9kZSgpLCBjb25zdHJ1Y3RvcktpbmQpOworICAgICAgICB9CisgICAg
fQorI2Vsc2UKICAgICBuZXh0KCk7Ci0KICAgICBpZiAobWF0Y2goQ0xPU0VCUkFDRSkpIHsKICAg
ICAgICAgdW5zaWduZWQgZW5kQ29sdW1uID0gdG9rZW5Db2x1bW4oKTsKICAgICAgICAgcmV0dXJu
IGNvbnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0YXJ0TG9jYXRpb24sIHRva2VuTG9jYXRpb24o
KSwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9u
TmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0cmljdE1vZGUoKSwgY29uc3RydWN0b3JLaW5k
KTsKICAgICB9CisjZW5kaWYKKwogICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9z
dGF0ZW1lbnREZXB0aCk7CiAgICAgbV9zdGF0ZW1lbnREZXB0aCA9IDA7CiAgICAgdHlwZW5hbWUg
VHJlZUJ1aWxkZXI6OkZ1bmN0aW9uQm9keUJ1aWxkZXIgYm9keUJ1aWxkZXIoY29uc3RfY2FzdDxW
TSo+KG1fdm0pLCBtX2xleGVyLmdldCgpKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgIGZhaWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMoYm9keUJ1aWxkZXIs
IENoZWNrRm9yU3RyaWN0TW9kZSwgcGFyc2VUeXBlKSwgcGFyc2VUeXBlID09IFN0YW5kYXJkRnVu
Y3Rpb25QYXJzZVR5cGUgPyAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBmdW5jdGlvbiIgOiAi
Q2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBhcnJvdyBmdW5jdGlvbiIpOworI2Vsc2UKICAgICBm
YWlsSWZGYWxzZShwYXJzZVNvdXJjZUVsZW1lbnRzKGJvZHlCdWlsZGVyLCBDaGVja0ZvclN0cmlj
dE1vZGUpLCAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBmdW5jdGlvbiIpOworI2VuZGlmCiAg
ICAgdW5zaWduZWQgZW5kQ29sdW1uID0gdG9rZW5Db2x1bW4oKTsKICAgICByZXR1cm4gY29udGV4
dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFy
dENvbHVtbiwgZW5kQ29sdW1uLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3Rh
cnQsIHBhcmFtZXRlcnNTdGFydCwgc3RyaWN0TW9kZSgpLCBjb25zdHJ1Y3RvcktpbmQpOwogfQpA
QCAtMTI5Nyw2MCArMTM4NSwxMDMgQEAgc3RhdGljIGNvbnN0IGNoYXIqIHN0cmluZ0ZvckZ1bmN0
aW9uTW9kZShGdW5jdGlvblBhcnNlTW9kZSBtb2RlKQogICAgIHJldHVybiBudWxscHRyOwogfQog
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFt
ZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlv
blJlcXVpcmVtZW50cyByZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUsCisgICAg
Ym9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kIG93bmVyQ2xhc3NL
aW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVp
bGRlcj4mIGluZm8sIEZ1bmN0aW9uUGFyc2VUeXBlIHBhcnNlVHlwZSkKKyNlbHNlCiB0ZW1wbGF0
ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29s
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYgY29udGV4
dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMgcmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSBt
b2RlLAogICAgIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCBv
d25lckNsYXNzS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbklu
Zm88VHJlZUJ1aWxkZXI+JiBpbmZvKQorI2VuZGlmCiB7CiAgICAgQXV0b1BvcFNjb3BlUmVmIGZ1
bmN0aW9uU2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOwogICAgIGZ1bmN0aW9uU2NvcGUtPnNldElz
RnVuY3Rpb24oKTsKICAgICBpbnQgZnVuY3Rpb25OYW1lU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRp
b24uc3RhcnRPZmZzZXQ7CiAgICAgY29uc3QgSWRlbnRpZmllciogbGFzdEZ1bmN0aW9uTmFtZSA9
IG1fbGFzdEZ1bmN0aW9uTmFtZTsKICAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBudWxscHRyOwot
ICAgIGlmIChtYXRjaChJREVOVCkpIHsKLSAgICAgICAgaW5mby5uYW1lID0gbV90b2tlbi5tX2Rh
dGEuaWRlbnQ7Ci0gICAgICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IGluZm8ubmFtZTsKLSAgICAg
ICAgbmV4dCgpOwotICAgICAgICBpZiAoIW5hbWVJc0luQ29udGFpbmluZ1Njb3BlKQotICAgICAg
ICAgICAgZmFpbElmRmFsc2VJZlN0cmljdChmdW5jdGlvblNjb3BlLT5kZWNsYXJlVmFyaWFibGUo
aW5mby5uYW1lKSwgIiciLCBpbmZvLm5hbWUtPmltcGwoKSwgIicgaXMgbm90IGEgdmFsaWQgIiwg
c3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsKLSAg
ICB9IGVsc2UgaWYgKHJlcXVpcmVtZW50cyA9PSBGdW5jdGlvbk5lZWRzTmFtZSkgeworICAgIGlu
dCBwYXJhbWV0ZXJzU3RhcnQ7CisgICAgYm9vbCBpc0NsYXNzQ29uc3RydWN0b3I7CisgICAgCisg
ICAgaWYgKHBhcnNlVHlwZSA9PSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAg
IGlmIChtYXRjaChJREVOVCkpIHsKKyAgICAgICAgICAgIGluZm8ubmFtZSA9IG1fdG9rZW4ubV9k
YXRhLmlkZW50OworICAgICAgICAgICAgbV9sYXN0RnVuY3Rpb25OYW1lID0gaW5mby5uYW1lOwor
ICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgaWYgKCFuYW1lSXNJbkNvbnRhaW5pbmdT
Y29wZSkKKyAgICAgICAgICAgICAgICBmYWlsSWZGYWxzZUlmU3RyaWN0KGZ1bmN0aW9uU2NvcGUt
PmRlY2xhcmVWYXJpYWJsZShpbmZvLm5hbWUpLCAiJyIsIGluZm8ubmFtZS0+aW1wbCgpLCAiJyBp
cyBub3QgYSB2YWxpZCAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSBpbiBz
dHJpY3QgbW9kZSIpOworICAgICAgICB9IGVsc2UgaWYgKHJlcXVpcmVtZW50cyA9PSBGdW5jdGlv
bk5lZWRzTmFtZSkgewogICAgICAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSAmJiBtb2RlID09IEZ1
bmN0aW9uTW9kZSkKICAgICAgICAgICAgIHNlbWFudGljRmFpbCgiRnVuY3Rpb24gc3RhdGVtZW50
cyBtdXN0IGhhdmUgYSBuYW1lIik7Ci0gICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29y
ZChzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSIpOwotICAgICAgICBmYWlsRHVl
VG9VbmV4cGVjdGVkVG9rZW4oKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICBp
bnQgcGFyYW1ldGVyc1N0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OwotICAg
IGlmICghY29uc3VtZShPUEVOUEFSRU4pKSB7Ci0gICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRv
S2V5d29yZChzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSIpOwotICAgICAgICBm
YWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhICIsIHN0cmlu
Z0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIidzIHBhcmFtZXRlciBsaXN0Iik7Ci0gICAgfQotCi0g
ICAgaWYgKG1vZGUgPT0gR2V0dGVyTW9kZSkKLSAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBB
UkVOLCAiZ2V0dGVyIGZ1bmN0aW9ucyBtdXN0IGhhdmUgbm8gcGFyYW1ldGVycyIpOwotICAgIGVs
c2UgaWYgKG1vZGUgPT0gU2V0dGVyTW9kZSkgewotICAgICAgICBmYWlsSWZUcnVlKG1hdGNoKENM
T1NFUEFSRU4pLCAic2V0dGVyIGZ1bmN0aW9ucyBtdXN0IGhhdmUgb25lIHBhcmFtZXRlciIpOwot
ICAgICAgICBhdXRvIHBhcmFtZXRlciA9IHBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuKGNvbnRl
eHQsIERlY29uc3RydWN0VG9QYXJhbWV0ZXJzKTsKLSAgICAgICAgZmFpbElmRmFsc2UocGFyYW1l
dGVyLCAic2V0dGVyIGZ1bmN0aW9ucyBtdXN0IGhhdmUgb25lIHBhcmFtZXRlciIpOwotICAgICAg
ICBpbmZvLnBhcmFtZXRlcnMgPSBjb250ZXh0LmNyZWF0ZUZvcm1hbFBhcmFtZXRlckxpc3QocGFy
YW1ldGVyKTsKLSAgICAgICAgZmFpbElmVHJ1ZShtYXRjaChDT01NQSksICJzZXR0ZXIgZnVuY3Rp
b25zIG11c3QgaGF2ZSBvbmUgcGFyYW1ldGVyIik7Ci0gICAgICAgIGNvbnN1bWVPckZhaWwoQ0xP
U0VQQVJFTiwgIkV4cGVjdGVkIGEgJyknIGFmdGVyIGEgcGFyYW1ldGVyIGRlY2xhcmF0aW9uIik7
Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgaWYgKCFtYXRjaChDTE9TRVBBUkVOKSkgewotICAgICAg
ICAgICAgaW5mby5wYXJhbWV0ZXJzID0gcGFyc2VGb3JtYWxQYXJhbWV0ZXJzKGNvbnRleHQpOwot
ICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBh
cmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAg
ICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5jdGlvbk1vZGUo
bW9kZSksICIgbmFtZSIpOworICAgICAgICAgICAgZmFpbER1ZVRvVW5leHBlY3RlZFRva2VuKCk7
CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICAgICAgcGFyYW1ldGVy
c1N0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OworICAgICAgICAKKyAgICAg
ICAgaWYgKCFjb25zdW1lKE9QRU5QQVJFTikpIHsKKyAgICAgICAgICAgIHNlbWFudGljRmFpbHVy
ZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSIpOworICAg
ICAgICAgICAgZmFpbFdpdGhNZXNzYWdlKCJFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUg
YSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIncyBwYXJhbWV0ZXIgbGlzdCIpOwog
ICAgICAgICB9Ci0gICAgICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJFTiwgIkV4cGVjdGVkIGEg
JyknIG9yIGEgJywnIGFmdGVyIGEgcGFyYW1ldGVyIGRlY2xhcmF0aW9uIik7Ci0gICAgfQogCi0g
ICAgbWF0Y2hPckZhaWwoT1BFTkJSQUNFLCAiRXhwZWN0ZWQgYW4gb3BlbmluZyAneycgYXQgdGhl
IHN0YXJ0IG9mIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAg
ICAgICAgaWYgKG1vZGUgPT0gR2V0dGVyTW9kZSkKKyAgICAgICAgICAgIGNvbnN1bWVPckZhaWwo
Q0xPU0VQQVJFTiwgImdldHRlciBmdW5jdGlvbnMgbXVzdCBoYXZlIG5vIHBhcmFtZXRlcnMiKTsK
KyAgICAgICAgZWxzZSBpZiAobW9kZSA9PSBTZXR0ZXJNb2RlKSB7CisgICAgICAgICAgICBmYWls
SWZUcnVlKG1hdGNoKENMT1NFUEFSRU4pLCAic2V0dGVyIGZ1bmN0aW9ucyBtdXN0IGhhdmUgb25l
IHBhcmFtZXRlciIpOworICAgICAgICAgICAgYXV0byBwYXJhbWV0ZXIgPSBwYXJzZURlY29uc3Ry
dWN0aW9uUGF0dGVybihjb250ZXh0LCBEZWNvbnN0cnVjdFRvUGFyYW1ldGVycyk7CisgICAgICAg
ICAgICBmYWlsSWZGYWxzZShwYXJhbWV0ZXIsICJzZXR0ZXIgZnVuY3Rpb25zIG11c3QgaGF2ZSBv
bmUgcGFyYW1ldGVyIik7CisgICAgICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBjb250ZXh0LmNy
ZWF0ZUZvcm1hbFBhcmFtZXRlckxpc3QocGFyYW1ldGVyKTsKKyAgICAgICAgICAgIGZhaWxJZlRy
dWUobWF0Y2goQ09NTUEpLCAic2V0dGVyIGZ1bmN0aW9ucyBtdXN0IGhhdmUgb25lIHBhcmFtZXRl
ciIpOworICAgICAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiRXhwZWN0ZWQgYSAn
KScgYWZ0ZXIgYSBwYXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsKKyAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgIGlmICghbWF0Y2goQ0xPU0VQQVJFTikpIHsKKyAgICAgICAgICAgICAgICBpbmZv
LnBhcmFtZXRlcnMgPSBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoY29udGV4dCk7CisgICAgICAgICAg
ICAgICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRl
cnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJFTiwgIkV4cGVjdGVkIGEgJykn
IG9yIGEgJywnIGFmdGVyIGEgcGFyYW1ldGVyIGRlY2xhcmF0aW9uIik7CisgICAgICAgIH0KIAot
ICAgIC8vIEJ5dGVjb2RlR2VuZXJhdG9yIGVtaXRzIGNvZGUgdG8gdGhyb3cgVHlwZUVycm9yIHdo
ZW4gYSBjbGFzcyBjb25zdHJ1Y3RvciBpcyAiY2FsbCJlZC4KLSAgICAvLyBTZXQgQ29uc3RydWN0
b3JLaW5kIHRvIE5vbmUgZm9yIG5vbi1jb25zdHJ1Y3RvciBtZXRob2RzIG9mIGNsYXNzZXMuCi0g
ICAgYm9vbCBpc0NsYXNzQ29uc3RydWN0b3IgPSBtb2RlID09IE1ldGhvZE1vZGUgJiYgaW5mby5u
YW1lICYmICppbmZvLm5hbWUgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3I7Ci0g
ICAgaWYgKG1fZGVmYXVsdENvbnN0cnVjdG9yS2luZCAhPSBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUp
IHsKLSAgICAgICAgb3duZXJDbGFzc0tpbmQgPSBtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQ7Ci0g
ICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IHRydWU7CisgICAgICAgIG1hdGNoT3JGYWlsKE9Q
RU5CUkFDRSwgIkV4cGVjdGVkIGFuIG9wZW5pbmcgJ3snIGF0IHRoZSBzdGFydCBvZiBhICIsIHN0
cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7CisgICAgICAgIC8vIEJ5dGVjb2Rl
R2VuZXJhdG9yIGVtaXRzIGNvZGUgdG8gdGhyb3cgVHlwZUVycm9yIHdoZW4gYSBjbGFzcyBjb25z
dHJ1Y3RvciBpcyAiY2FsbCJlZC4KKyAgICAgICAgLy8gU2V0IENvbnN0cnVjdG9yS2luZCB0byBO
b25lIGZvciBub24tY29uc3RydWN0b3IgbWV0aG9kcyBvZiBjbGFzc2VzLgorICAgICAgICBpc0Ns
YXNzQ29uc3RydWN0b3IgPSBtb2RlID09IE1ldGhvZE1vZGUgJiYgaW5mby5uYW1lICYmICppbmZv
Lm5hbWUgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3I7CisgICAgICAgIGlmICht
X2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQgIT0gQ29uc3RydWN0b3JLaW5kOjpOb25lKSB7CisgICAg
ICAgICAgICBvd25lckNsYXNzS2luZCA9IG1fZGVmYXVsdENvbnN0cnVjdG9yS2luZDsKKyAgICAg
ICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IHRydWU7CisgICAgICAgIH0KICAgICB9CisgICAg
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBl
ID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgcGFyYW1ldGVyc1N0YXJ0ID0g
bV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OworICAgICAgICBpZiAoIW1hdGNoKElERU5U
KSAmJiAhbWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICAgICAgc2VtYW50aWNGYWlsdXJlRHVl
VG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7CisgICAgICAg
ICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVkIGFuIGFycm93IGZ1bmN0aW9uIGlucHV0IHBh
cmFtZXRlciIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaWYgKG1hdGNoKE9QRU5Q
QVJFTikpIHsKKyAgICAgICAgICAgICAgICBjb25zdW1lKE9QRU5QQVJFTik7CisgICAgICAgICAg
ICAgICAgCisgICAgICAgICAgICAgICAgaWYgKCFtYXRjaChDTE9TRVBBUkVOKSkgeworICAgICAg
ICAgICAgICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoY29u
dGV4dCk7CisgICAgICAgICAgICAgICAgICAgIGZhaWxJZkZhbHNlKGluZm8ucGFyYW1ldGVycywg
IkNhbm5vdCBwYXJzZSBwYXJhbWV0ZXJzIGZvciB0aGlzICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9k
ZShtb2RlKSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIAorICAgICAgICAg
ICAgICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJFTiwgIkV4cGVjdGVkIGEgJyknIG9yIGEgJywn
IGFmdGVyIGEgcGFyYW1ldGVyIGRlY2xhcmF0aW9uIik7CisgICAgICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgICAgIGF1dG8gcGFyYW1ldGVyID0gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRl
cm4oY29udGV4dCwgRGVjb25zdHJ1Y3RUb1BhcmFtZXRlcnMpOworICAgICAgICAgICAgICAgIGZh
aWxJZkZhbHNlKHBhcmFtZXRlciwgIkNhbm5vdCBwYXJzZSBwYXJhbWV0ZXIgcGF0dGVybiIpOwor
ICAgICAgICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9IGNvbnRleHQuY3JlYXRlRm9ybWFsUGFy
YW1ldGVyTGlzdChwYXJhbWV0ZXIpOworICAgICAgICAgICAgICAgIGZhaWxJZkZhbHNlKGluZm8u
cGFyYW1ldGVycywgIkNhbm5vdCBwYXJzZSBwYXJhbWV0ZXJzIGZvciB0aGlzICIsIHN0cmluZ0Zv
ckZ1bmN0aW9uTW9kZShtb2RlKSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAg
CisgICAgICAgIG1hdGNoT3JGYWlsKEFSUk9XRlVOQ1RJT04sICJFeHBlY3RlZCBhICc9PicgYWZ0
ZXIgYXJyb3cgZnVuY3Rpb24gcGFyYW1ldGVyIGRlY2xhcmF0aW9uIik7CisgICAgICAgIGlzQ2xh
c3NDb25zdHJ1Y3RvciA9IGZhbHNlOworICAgICAgICAKKyAgICAgICAgaW5mby5hcnJvd0Z1bmN0
aW9uT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgIH0KKyNlbmRpZgorICAgIAog
ICAgIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQgPSBpc0NsYXNzQ29uc3RydWN0b3Ig
PyBvd25lckNsYXNzS2luZCA6IENvbnN0cnVjdG9yS2luZDo6Tm9uZTsKIAogICAgIGluZm8ub3Bl
bkJyYWNlT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OwpAQCAtMTM4NCw4ICsxNTE1LDE3
IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIGZhaWxJZkZhbHNlKHBvcFNjb3Bl
KGZ1bmN0aW9uU2NvcGUsIFRyZWVCdWlsZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUluZm8pLCAiUGFy
c2VyIGVycm9yIik7CiAgICAgICAgIAogICAgICAgICBpbmZvLmNsb3NlQnJhY2VPZmZzZXQgPSBj
YWNoZWRJbmZvLT5jbG9zZUJyYWNlT2Zmc2V0OwotCisgICAgICAgIAorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5j
dGlvblBhcnNlVHlwZSkgeworICAgICAgICAgICAgaW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUg
PSBjYWNoZWRJbmZvLT5pc0JvZHlBcnJvd0Z1bmN0aW9uQmxvY2sgPyBBcnJvd0Z1bmN0aW9uQm9k
eUJsb2NrIDogQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOworICAgICAgICAgICAgbV90b2tl
biA9IGluZm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2sg
PyBjYWNoZWRJbmZvLT5jbG9zZUJyYWNlVG9rZW4oKSA6IGNhY2hlZEluZm8tPmVuZEFycm93RnVu
Y3Rpb25Ub2tlbigpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIG1fdG9rZW4gPSBjYWNo
ZWRJbmZvLT5jbG9zZUJyYWNlVG9rZW4oKTsKKyNlbHNlICAgCiAgICAgICAgIG1fdG9rZW4gPSBj
YWNoZWRJbmZvLT5jbG9zZUJyYWNlVG9rZW4oKTsKKyNlbmRpZgorICAgICAgICAKICAgICAgICAg
aWYgKGVuZENvbHVtbklzT25TdGFydExpbmUpCiAgICAgICAgICAgICBtX3Rva2VuLm1fbG9jYXRp
b24ubGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVTdGFydE9mZnNldDsKIApAQCAtMTM5NCwx
MyArMTUzNCw0OCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogCiAgICAgICAgIGNvbnRleHQu
c2V0RW5kT2Zmc2V0KGluZm8uYm9keSwgbV9sZXhlci0+Y3VycmVudE9mZnNldCgpKTsKICAgICAg
ICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKHBh
cnNlVHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgICAgICBpZiAoaW5m
by5hcnJvd0Z1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jaykKKyAgICAg
ICAgICAgICAgICBuZXh0KCk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgbmV4dCgpOwor
I2Vsc2UKICAgICAgICAgbmV4dCgpOworI2VuZGlmCiAgICAgICAgIGluZm8uYm9keUVuZExpbmUg
PSBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmU7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAg
IH0KKyAgICAKKyAgICAKICAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBsYXN0RnVuY3Rpb25OYW1l
OwogICAgIFBhcnNlclN0YXRlIG9sZFN0YXRlID0gc2F2ZVN0YXRlKCk7CisgICAgCisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBlID09IEFycm93
RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVQb2ludCA9IGNyZWF0
ZVNhdmVQb2ludCgpOworICAgICAgICBuZXh0KCk7CisgICAgICAgIC8vIENoZWNrIGlmIGFycm93
IGJvZHkgc3RhcnQgd2l0aCB7LiBJZiBpdCB0cnVlIGl0IG1lYW4gdGhhdCBhcnJvdyBmdW5jdGlv
biBpcyBGYXQgYXJyb3cgZnVuY3Rpb24KKyAgICAgICAgLy8gYW5kIHdlIG5lZWQgdXNlIGNvbW1v
biBhcHByb2FjaCB0byBwYXJzZSBmdW5jdGlvbiBib2R5CisgICAgICAgIGluZm8uYXJyb3dGdW5j
dGlvbkJvZHlUeXBlID0gbWF0Y2goT1BFTkJSQUNFKSA/IEFycm93RnVuY3Rpb25Cb2R5QmxvY2sg
OiBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb247CisgICAgCisgICAgICAgIGlmIChpbmZvLmFy
cm93RnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrKSB7CisgICAgICAg
ICAgICBpbmZvLm9wZW5CcmFjZU9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKKyAgICAg
ICAgICAgIGluZm8uYm9keVN0YXJ0TGluZSA9IHRva2VuTGluZSgpOworICAgICAgICAgICAgaW5m
by5ib2R5U3RhcnRDb2x1bW4gPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQgLSBtX3Rva2VuLm1fZGF0
YS5saW5lU3RhcnRPZmZzZXQ7CisgICAgICAgIAorICAgICAgICAgICAgaW5mby5ib2R5ID0gcGFy
c2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFt
ZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCk7CisgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CisgICAgICAgICAg
ICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRT
dGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5k
LCBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKTsKKyAgICAgICAgfQorICAgIH0gZWxzZQorICAgICAg
ICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRT
dGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5k
KTsKKyNlbHNlCiAgICAgaW5mby5ib2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVu
Y3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNv
bnN0cnVjdG9yS2luZCk7CisjZW5kaWYKKyAgICAKKyAgICAKICAgICByZXN0b3JlU3RhdGUob2xk
U3RhdGUpOwogICAgIGZhaWxJZkZhbHNlKGluZm8uYm9keSwgIkNhbm5vdCBwYXJzZSB0aGUgYm9k
eSBvZiB0aGlzICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7CiAgICAgY29udGV4dC5z
ZXRFbmRPZmZzZXQoaW5mby5ib2R5LCBtX2xleGVyLT5jdXJyZW50T2Zmc2V0KCkpOwpAQCAtMTQz
MSwxOCArMTYwNiwzOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICBwYXJhbWV0
ZXJzLmNsb3NlQnJhY2VMaW5lID0gY2xvc2VCcmFjZUxpbmU7CiAgICAgICAgIHBhcmFtZXRlcnMu
Y2xvc2VCcmFjZU9mZnNldCA9IGluZm8uY2xvc2VCcmFjZU9mZnNldDsKICAgICAgICAgcGFyYW1l
dGVycy5jbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0ID0gY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNl
dDsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAocGFy
c2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgICAgIHBhcmFtZXRl
cnMuaXNCb2R5QXJyb3dGdW5jdGlvbkJsb2NrID0gaW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUg
PT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jazsKKyAgICAgICAgICAgIHBhcmFtZXRlcnMudG9rZW5U
eXBlID0gbV90b2tlbi5tX3R5cGU7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBmdW5jdGlv
blNjb3BlLT5maWxsUGFyYW1ldGVyc0ZvclNvdXJjZVByb3ZpZGVyQ2FjaGUocGFyYW1ldGVycyk7
CiAgICAgICAgIG5ld0luZm8gPSBTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6Y3JlYXRlKHBhcmFt
ZXRlcnMpOwogCiAgICAgfQogICAgIAogICAgIGZhaWxJZkZhbHNlKHBvcFNjb3BlKGZ1bmN0aW9u
U2NvcGUsIFRyZWVCdWlsZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUluZm8pLCAiUGFyc2VyIGVycm9y
Iik7CisgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAo
cGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgaWYgKGluZm8u
YXJyb3dGdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHsKKyAgICAg
ICAgICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0UsICJFeHBlY3RlZCBhIGNsb3NpbmcgJ30nIGFm
dGVyIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICAgICAg
ICAgIG5leHQoKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBmYWlsSWZGYWxzZShpc0Vu
ZE9mQXJyb3dGdW5jdGlvbigpLCAiRXhwZWN0ZWQgdGhlIGNsb3NpbmcgJzsnICcsJyAnXScgJykn
ICd9JyBhZnRlciBhcnJvdyBmdW5jdGlvbiIpOworICAgIH0gZWxzZSB7CisgICAgICAgIG1hdGNo
T3JGYWlsKENMT1NFQlJBQ0UsICJFeHBlY3RlZCBhIGNsb3NpbmcgJ30nIGFmdGVyIGEgIiwgc3Ry
aW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgbmV4dCgpOworICAg
IH0KKyNlbHNlCiAgICAgbWF0Y2hPckZhaWwoQ0xPU0VCUkFDRSwgIkV4cGVjdGVkIGEgY2xvc2lu
ZyAnfScgYWZ0ZXIgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOwor
ICAgIG5leHQoKTsKKyNlbmRpZgogICAgIAogICAgIGlmIChuZXdJbmZvKQogICAgICAgICBtX2Z1
bmN0aW9uQ2FjaGUtPmFkZChpbmZvLm9wZW5CcmFjZU9mZnNldCwgV1RGOjptb3ZlKG5ld0luZm8p
KTsKICAgICAKLSAgICBuZXh0KCk7CiAgICAgaW5mby5ib2R5RW5kTGluZSA9IG1fbGFzdFRva2Vu
RW5kUG9zaXRpb24ubGluZTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KQEAgLTE3NjcsNiArMTk2Miwx
OCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlSWZTdGF0ZW1lbnQoVAogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUlm
U3RhdGVtZW50KGlmTG9jYXRpb24sIGNvbmRpdGlvbiwgdHJ1ZUJsb2NrLCBzdGF0ZW1lbnRTdGFj
ay5sYXN0KCksIHN0YXJ0LCBlbmQpOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93
RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQoreworICAgIGZhaWxJZlN0
YWNrT3ZlcmZsb3coKTsKKyAgICBUcmVlRXhwcmVzc2lvbiBub2RlID0gcGFyc2VBc3NpZ25tZW50
RXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICBmYWlsSWZGYWxzZShub2RlLCAiQ2Fubm90IHBhcnNl
IGV4cHJlc3Npb24iKTsKKyAgICBjb250ZXh0LnNldEVuZE9mZnNldChub2RlLCBtX2xhc3RUb2tl
bkVuZFBvc2l0aW9uLm9mZnNldCk7CisgICAgcmV0dXJuIG5vZGU7Cit9CisjZW5kaWYKKwogdGVt
cGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwcmVzc2lvbihUcmVlQnVp
bGRlciYgY29udGV4dCkKIHsKQEAgLTE4MTQsNiArMjAyMSw0MSBAQCB0ZW1wbGF0ZSA8dHlwZW5h
bWUgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFz
c2lnbm1lbgogICAgICAgICB9CiAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsK
ICAgICB9CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFNhdmVQ
b2ludCBzYXZlQXJyb3dGdW5jdGlvblBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgYm9v
bCBhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0ID0gZmFsc2U7CisgICAgaWYgKG1hdGNoKE9QRU5QQVJF
TikpIHsKKyAgICAgICAgbmV4dCgpOworICAgICAgICBpZiAobWF0Y2goQ0xPU0VQQVJFTikpIHsK
KyAgICAgICAgICAgIG5leHQoKTsKKworICAgICAgICAgICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJ
T04pKQorICAgICAgICAgICAgICAgIGFycm93RnVuY3Rpb25FbXB0eUxpc3QgPSB0cnVlOworICAg
ICAgICB9CisKKyAgICAgICAgaWYgKCFhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0KQorICAgICAgICAg
ICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICB9CisKKyAg
ICBUcmVlRXhwcmVzc2lvbiBsaHM7CisgICAgaWYgKCFhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0KSB7
CisgICAgICAgIGxocyA9IHBhcnNlQ29uZGl0aW9uYWxFeHByZXNzaW9uKGNvbnRleHQpOworICAg
ICAgICBmYWlsSWZGYWxzZShsaHMsICJDYW4Zbm90IHBhcnNlIGV4cHJlc3Npb24iKTsKKyAgICAg
ICAgaWYgKGluaXRpYWxOb25MSFNDb3VudCAhPSBtX25vbkxIU0NvdW50KSB7CisgICAgICAgICAg
ICBpZiAobV90b2tlbi5tX3R5cGUgPj0gRVFVQUwgJiYgbV90b2tlbi5tX3R5cGUgPD0gT1JFUVVB
TCkKKyAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWwoIkxlZnQgaGFuZCBzaWRlIG9mIG9wZXJh
dG9yICciLCBnZXRUb2tlbigpLCAiJyBtdXN0IGJlIGEgcmVmZXJlbmNlIik7CisKKyAgICAgICAg
ICAgIHJldHVybiBsaHM7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAobWF0Y2goQVJST1dG
VU5DVElPTikpIHsKKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBv
aW50KTsKKyAgICAgICAgbGhzID0gcGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihjb250ZXh0KTsK
KyAgICAgICAgcmV0dXJuIGxoczsKKyAgICB9CisjZWxzZQogICAgIFRyZWVFeHByZXNzaW9uIGxo
cyA9IHBhcnNlQ29uZGl0aW9uYWxFeHByZXNzaW9uKGNvbnRleHQpOwogICAgIGZhaWxJZkZhbHNl
KGxocywgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9uIik7CiAgICAgaWYgKGluaXRpYWxOb25MSFND
b3VudCAhPSBtX25vbkxIU0NvdW50KSB7CkBAIC0xODIyLDcgKzIwNjQsOCBAQCB0ZW1wbGF0ZSA8
dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUFzc2lnbm1lbgogCiAgICAgICAgIHJldHVybiBsaHM7CiAgICAgfQotICAgIAorI2VuZGlm
CisKICAgICBpbnQgYXNzaWdubWVudFN0YWNrID0gMDsKICAgICBPcGVyYXRvciBvcDsKICAgICBi
b29sIGhhZEFzc2lnbm1lbnQgPSBmYWxzZTsKQEAgLTIyOTcsNiArMjU0MCwyMyBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZVByaW1hcnlFeHByZQogICAgICAgICByZXR1cm4gY29udGV4dC50aGlzRXhwcihsb2NhdGlv
biwgbV90aGlzVERaTW9kZSk7CiAgICAgfQogICAgIGNhc2UgSURFTlQ6IHsKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVu
Y3Rpb25Qb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgICAgICBKU1RleHRQb3NpdGlvbiBz
dGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBp
ZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OworICAgICAgICBKU1Rva2VuTG9jYXRpb24gbG9j
YXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICAgICAgbmV4dCgpOworCisgICAgICAgIGlmICgh
bWF0Y2goQVJST1dGVU5DVElPTikpIHsKKyAgICAgICAgICAgIGN1cnJlbnRTY29wZSgpLT51c2VW
YXJpYWJsZShpZGVudCwgbV92bS0+cHJvcGVydHlOYW1lcy0+ZXZhbCA9PSAqaWRlbnQpOworICAg
ICAgICAgICAgbV9sYXN0SWRlbnRpZmllciA9IGlkZW50OworICAgICAgICAgICAgcmV0dXJuIGNv
bnRleHQuY3JlYXRlUmVzb2x2ZShsb2NhdGlvbiwgaWRlbnQsIHN0YXJ0KTsKKyAgICAgICAgfQor
CisgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAg
ICAgIFRyZWVFeHByZXNzaW9uIGxocyA9IHBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoY29udGV4
dCk7CisgICAgICAgIHJldHVybiBsaHM7CisjZWxzZQogICAgICAgICBKU1RleHRQb3NpdGlvbiBz
dGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOwogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBp
ZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICBKU1Rva2VuTG9jYXRpb24gbG9j
YXRpb24odG9rZW5Mb2NhdGlvbigpKTsKQEAgLTIzMDQsNiArMjU2NCw3IEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
UHJpbWFyeUV4cHJlCiAgICAgICAgIGN1cnJlbnRTY29wZSgpLT51c2VWYXJpYWJsZShpZGVudCwg
bV92bS0+cHJvcGVydHlOYW1lcy0+ZXZhbCA9PSAqaWRlbnQpOwogICAgICAgICBtX2xhc3RJZGVu
dGlmaWVyID0gaWRlbnQ7CiAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJlc29sdmUobG9j
YXRpb24sIGlkZW50LCBzdGFydCk7CisjZW5kaWYKICAgICB9CiAgICAgY2FzZSBTVFJJTkc6IHsK
ICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsK
QEAgLTI0OTEsNiArMjc1MiwzMiBAQCBlbmRNZW1iZXJFeHByZXNzaW9uOgogICAgIHJldHVybiBi
YXNlOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRl
IDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVF
eHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKFRy
ZWVCdWlsZGVyJiBjb250ZXh0KQoreworICAgIFRyZWVFeHByZXNzaW9uIGJhc2UgPSAwOworICAg
IEpTVGV4dFBvc2l0aW9uIGV4cHJlc3Npb25TdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOwor
ICAgIGludCBuZXdDb3VudCA9IDA7CisgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uOworCisg
ICAgaWYgKG1hdGNoKElERU5UKSB8fCBtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgIHVuc2ln
bmVkIGZ1bmN0aW9uS2V5d29yZFN0YXJ0ID0gdG9rZW5TdGFydCgpOworICAgICAgICBsb2NhdGlv
biA9IHRva2VuTG9jYXRpb24oKTsKKyAgICAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWls
ZGVyPiBpbmZvOworICAgICAgICBpbmZvLm5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1lcy0+bnVs
bElkZW50aWZpZXI7CisgICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250
ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlvbk1vZGUsIHRydWUsIENvbnN0cnVj
dG9yS2luZDo6Tm9uZSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8sIEFycm93RnVuY3Rpb25Q
YXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uIik7Cisg
ICAgICAgIGJhc2UgPSBjb250ZXh0LmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKGxvY2F0aW9uLCBp
bmZvKTsKKyAgICB9IGVsc2UKKyAgICAgICAgYmFzZSA9IHBhcnNlUHJpbWFyeUV4cHJlc3Npb24o
Y29udGV4dCk7CisKKyAgICBmYWlsSWZGYWxzZShiYXNlLCAiQ2Fubm90IHBhcnNlIGJhc2UgZXhw
cmVzc2lvbiIpOworICAgIHdoaWxlIChuZXdDb3VudC0tKQorICAgICAgICBiYXNlID0gY29udGV4
dC5jcmVhdGVOZXdFeHByKGxvY2F0aW9uLCBiYXNlLCBleHByZXNzaW9uU3RhcnQsIGxhc3RUb2tl
bkVuZFBvc2l0aW9uKCkpOworICAgIHJldHVybiBiYXNlOworfQorI2VuZGlmCisKIHN0YXRpYyBj
b25zdCBjaGFyKiBvcGVyYXRvclN0cmluZyhib29sIHByZWZpeCwgdW5zaWduZWQgdG9rKQogewog
ICAgIHN3aXRjaCAodG9rKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRl
eCAwZjI3MjhmODYyMWY4MDEwYzQxMGJmNzk4NzYxOWJmMjNlNTBhZjhiLi4zNGNkYTk3MmNjM2I4
ZTA5ZDYyM2YzOWQ5ZjVhZmMyZTAxYTM3Zjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyLmgKQEAgLTgwLDYgKzgwLDkgQEAgY2xhc3MgU291cmNlQ29kZTsKIENPTVBJTEVfQVNT
RVJUKExhc3RVbnRhZ2dlZFRva2VuIDwgNjQsIExlc3NUaGFuNjRVbnRhZ2dlZFRva2Vucyk7CiAK
IGVudW0gU291cmNlRWxlbWVudHNNb2RlIHsgQ2hlY2tGb3JTdHJpY3RNb2RlLCBEb250Q2hlY2tG
b3JTdHJpY3RNb2RlIH07CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK2Vu
dW0gRnVuY3Rpb25QYXJzZVR5cGUgeyBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlLCBBcnJvd0Z1
bmN0aW9uUGFyc2VUeXBlIH07CisjZW5kaWYKIGVudW0gRnVuY3Rpb25SZXF1aXJlbWVudHMgeyBG
dW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlvbk5lZWRzTmFtZSB9OwogZW51bSBGdW5jdGlv
blBhcnNlTW9kZSB7CiAgICAgRnVuY3Rpb25Nb2RlLApAQCAtNjE4LDYgKzYyMSwxMyBAQCBwcml2
YXRlOgogICAgICAgICByZXR1cm4gbV90b2tlbi5tX3R5cGUgPT0gSURFTlQgJiYgKm1fdG9rZW4u
bV9kYXRhLmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPm9mOwogICAgIH0KICAgICAKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEFMV0FZU19JTkxJTkUgYm9v
bCBpc0VuZE9mQXJyb3dGdW5jdGlvbigpCisgICAgeworICAgICAgICByZXR1cm4gbWF0Y2goU0VN
SUNPTE9OKSB8fCBtYXRjaChDT01NQSkgfHwgbWF0Y2goQ0xPU0VQQVJFTikgfHwgbWF0Y2goQ0xP
U0VCUkFDRSkgfHwgbWF0Y2goQ0xPU0VCUkFDS0VUKTsKKyAgICB9CisjZW5kaWYKKyAgICAKICAg
ICBBTFdBWVNfSU5MSU5FIHVuc2lnbmVkIHRva2VuU3RhcnQoKQogICAgIHsKICAgICAgICAgcmV0
dXJuIG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKQEAgLTcyMSw5ICs3MzEsMTQgQEAg
cHJpdmF0ZToKICAgICAgICAgfQogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KLSAgICAK
KworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgcGFyc2VTb3VyY2VFbGVtZW50cyhU
cmVlQnVpbGRlciYsIFNvdXJjZUVsZW1lbnRzTW9kZSwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rp
b25QYXJzZVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyAgICB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxk
ZXImLCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0
ZXJhbExlbmd0aCA9IDAsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBlID0gU3Rh
bmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CisjZWxzZQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxk
ZXImLCBTb3VyY2VFbGVtZW50c01vZGUpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYsIGNvbnN0IElkZW50
aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMCk7
CisjZW5kaWYKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VDbGFzc0RlY2xhcmF0aW9uKFRyZWVC
dWlsZGVyJik7CiAjZW5kaWYKQEAgLTc2MiwxNyArNzc3LDMyIEBAIHByaXZhdGU6CiAgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgcGFyc2VQcm9wZXJ0eShUcmVl
QnVpbGRlciYsIGJvb2wgc3RyaWN0KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVFeHByZXNzaW9uIHBhcnNlUHJvcGVydHlNZXRob2QoVHJlZUJ1aWxkZXImIGNvbnRleHQs
IGNvbnN0IElkZW50aWZpZXIqIG1ldGhvZE5hbWUpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZVByb3BlcnR5IHBhcnNlR2V0dGVyU2V0dGVyKFRyZWVCdWlsZGVyJiwgYm9v
bCBzdHJpY3QsIFByb3BlcnR5Tm9kZTo6VHlwZSwgdW5zaWduZWQgZ2V0dGVyT3JTZXR0ZXJTdGFy
dE9mZnNldCwgQ29uc3RydWN0b3JLaW5kID0gQ29uc3RydWN0b3JLaW5kOjpOb25lLCBTdXBlckJp
bmRpbmcgPSBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCk7Ci0gICAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VGdW5jdGlvbkJv
ZHkoVHJlZUJ1aWxkZXImLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5h
bWVTdGFydCwgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kKTsKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rpb25Cb2R5KFRy
ZWVCdWlsZGVyJiwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3Rh
cnQsIGludCBwYXJhbWV0ZXJzU3RhcnQsIENvbnN0cnVjdG9yS2luZCwgRnVuY3Rpb25QYXJzZVR5
cGUgZnVuY3Rpb25QYXJzZVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNlbHNl
CisgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVl
RnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVyJiwgaW50IGZ1bmN0aW9u
S2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIGludCBwYXJhbWV0ZXJzU3RhcnQs
IENvbnN0cnVjdG9yS2luZCk7CisjZW5kaWYKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZvcm1hbFBhcmFtZXRlckxpc3QgcGFyc2VGb3JtYWxQYXJh
bWV0ZXJzKFRyZWVCdWlsZGVyJik7CiAgICAgZW51bSBWYXJEZWNsYXJhdGlvbkxpc3RDb250ZXh0
IHsgRm9yTG9vcENvbnRleHQsIFZhckRlY2xhcmF0aW9uQ29udGV4dCB9OwogICAgIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VWYXJEZWNsYXJhdGlvbkxp
c3QoVHJlZUJ1aWxkZXImLCBpbnQmIGRlY2xhcmF0aW9ucywgVHJlZURlY29uc3RydWN0aW9uUGF0
dGVybiYgbGFzdFBhdHRlcm4sIFRyZWVFeHByZXNzaW9uJiBsYXN0SW5pdGlhbGl6ZXIsIEpTVGV4
dFBvc2l0aW9uJiBpZGVudFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdFN0YXJ0LCBKU1RleHRQ
b3NpdGlvbiYgaW5pdEVuZCwgVmFyRGVjbGFyYXRpb25MaXN0Q29udGV4dCk7CiAgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZUNvbnN0RGVjbExpc3QgcGFy
c2VDb25zdERlY2xhcmF0aW9uTGlzdChUcmVlQnVpbGRlciYpOwogCisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVFeHByZXNzaW9uIHBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsK
KyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VBcnJv
d0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKFRyZWVC
dWlsZGVyJik7CisjZW5kaWYKKwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVW
RVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gY3JlYXRlQmluZGluZ1BhdHRlcm4o
VHJlZUJ1aWxkZXImLCBEZWNvbnN0cnVjdGlvbktpbmQsIGNvbnN0IElkZW50aWZpZXImLCBpbnQg
ZGVwdGgsIEpTVG9rZW4pOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJf
SU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRl
cm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0cnVjdGlvbktpbmQsIGludCBkZXB0aCA9IDApOwogICAg
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVj
dGlvblBhdHRlcm4gdHJ5UGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm5FeHByZXNzaW9uKFRyZWVC
dWlsZGVyJik7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIGJvb2wgcGFyc2VGdW5jdGlv
bkluZm8oVHJlZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1v
ZGUsIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCwgaW50IGZ1
bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiwgRnVu
Y3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25QYXJzZVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VU
eXBlKTsKKyNlbHNlCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJ
TkUgYm9vbCBwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1l
bnRzLCBGdW5jdGlvblBhcnNlTW9kZSwgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29u
c3RydWN0b3JLaW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5m
bzxUcmVlQnVpbGRlcj4mKTsKKyNlbmRpZgorICAgIAogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lO
VEFYKQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVD
bGFzc0V4cHJlc3Npb24gcGFyc2VDbGFzcyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1l
bnRzLCBQYXJzZXJDbGFzc0luZm88VHJlZUJ1aWxkZXI+Jik7CiAjZW5kaWYKQEAgLTc4OSw2ICs4
MTksMTQgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIGFsbG93QXV0b21hdGljU2VtaWNvbG9u
KCk7CiAgICAgfQogICAgIAorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICB2b2lkIHNldEVuZE9mU3RhdGVtZW50KCkKKyAgICB7CisgICAgICAgIG1fbGV4ZXItPnNl
dFRva2VuUG9zaXRpb24oJm1fdG9rZW4pOworICAgIH0KKyNlbmRpZgorCiAgICAgYm9vbCBjYW5S
ZWN1cnNlKCkKICAgICB7CiAgICAgICAgIHJldHVybiBtX3ZtLT5pc1NhZmVUb1JlY3Vyc2UoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25J
bmZvLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5o
CmluZGV4IDZiNzM2MjgyZTJkMmE4MWJjNjNkYzJmM2MwZTVhZThjODU4Y2QxZjguLmQ3NTJhNjEw
YTliNmViMGM2YTExNDk1NDY1Y2E3ZGJkNzY4Y2Q1MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaApAQCAtMjgsNiArMjgsMTAgQEAK
IAogbmFtZXNwYWNlIEpTQyB7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorZW51bSBBcnJvd0Z1bmN0aW9uQm9keVR5cGUgeyBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Np
b24sIEFycm93RnVuY3Rpb25Cb2R5QmxvY2t9OworI2VuZGlmCisKIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4KIHN0cnVjdCBQYXJzZXJGdW5jdGlvbkluZm8gewogICAgIGNvbnN0IElkZW50
aWZpZXIqIG5hbWUgPSAwOwpAQCAtMzgsNiArNDIsMTEgQEAgc3RydWN0IFBhcnNlckZ1bmN0aW9u
SW5mbyB7CiAgICAgaW50IGJvZHlTdGFydExpbmUgPSAwOwogICAgIGludCBib2R5RW5kTGluZSA9
IDA7CiAgICAgdW5zaWduZWQgYm9keVN0YXJ0Q29sdW1uID0gMDsKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHVuc2lnbmVkIGFycm93RnVuY3Rpb25PZmZzZXQgPSAw
OworICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uID0gZmFsc2U7CisgICAgQXJyb3dGdW5jdGlvbkJv
ZHlUeXBlIGFycm93RnVuY3Rpb25Cb2R5VHlwZSA9IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lv
bjsKKyNlbmRpZgogfTsKIAogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKaW5kZXggODMyOWY4MmE5YjJmZjkx
NWQxZjI0MWMxZjhiZmZhZDQyNDdhNWYwYi4uYzhiMTY2ZTBlYWQ3ZDJkYTcxOWU3NmM0YTJmMDlh
ZmYxZDc0ZDdhYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJz
ZXJUb2tlbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vu
cy5oCkBAIC03NSw2ICs3NSw5IEBAIGVudW0gSlNUb2tlblR5cGUgewogICAgIEZJTkFMTFksCiAg
ICAgREVCVUdHRVIsCiAgICAgRUxTRSwKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgIEFSUk9XRlVOQ1RJT04sCisjZW5kaWYKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZ
TlRBWCkKICAgICBDTEFTU1RPS0VOLAogICAgIEVYVEVORFMsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvU291cmNlQ29kZS5oCmluZGV4IDczZDIzZGI4MmFmMjVlYTQ2YzBmODk3ODVjZTQy
NGJiNjBlYjYxYTcuLjkyOGU3MTJhOTBlMzQ4OTg4YmMzNTU0ODk4NzViMDkwNzc2NzU1MjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCkBAIC0xMDUsNiArMTA1
LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIAogICAgICAgICBTb3VyY2VDb2RlIHN1YkV4
cHJlc3Npb24odW5zaWduZWQgb3BlbkJyYWNlLCB1bnNpZ25lZCBjbG9zZUJyYWNlLCBpbnQgZmly
c3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICAgICAgU291cmNlQ29kZSBzdWJBcnJvd0V4cHJlc3Npb24odW5zaWduZWQg
c3RhcnRBcnJvd0Z1bmN0aW9uLCB1bnNpZ25lZCBlbmRBcnJvd0Z1bmN0aW9uLCBpbnQgZmlyc3RM
aW5lLCBpbnQgc3RhcnRDb2x1bW4pOworI2VuZGlmCiAgICAgcHJpdmF0ZToKICAgICAgICAgUmVm
UHRyPFNvdXJjZVByb3ZpZGVyPiBtX3Byb3ZpZGVyOwogICAgICAgICBpbnQgbV9zdGFydENoYXI7
CkBAIC0xMTgsNiArMTIxLDE3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4gU291
cmNlQ29kZShTdHJpbmdTb3VyY2VQcm92aWRlcjo6Y3JlYXRlKHNvdXJjZSwgdXJsLCBzdGFydFBv
c2l0aW9uKSwgc3RhcnRQb3NpdGlvbi5tX2xpbmUub25lQmFzZWRJbnQoKSwgc3RhcnRQb3NpdGlv
bi5tX2NvbHVtbi5vbmVCYXNlZEludCgpKTsKICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgIGlubGluZSBTb3VyY2VDb2RlIFNvdXJjZUNvZGU6OnN1YkFy
cm93RXhwcmVzc2lvbih1bnNpZ25lZCBzdGFydEFycm93RnVuY3Rpb24sIHVuc2lnbmVkIGVuZEFy
cm93RnVuY3Rpb24sIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbikKKyAgICB7CisgICAg
ICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFycm93RnVuY3Rpb25dID09ICc9
JyAmJiBwcm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFycm93RnVuY3Rpb24gKyAxXSA9PSAnPicp
OworICAgICAgICAvLyBGaXhtZTogVXNlIGJldHRlciBhcHByb2FjaCB0byBjaGVjayBzeW1ib2wK
KyAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAx
XSA9PSAnLCcgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09
ICc7JyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJykn
IHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnXScgfHwg
cHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICd9Jyk7CisgICAg
ICAgIHN0YXJ0Q29sdW1uICs9IDE7IC8vIENvbnZlcnQgdG8gYmFzZSAxLgorICAgICAgICByZXR1
cm4gU291cmNlQ29kZShwcm92aWRlcigpLCBzdGFydEFycm93RnVuY3Rpb24sIGVuZEFycm93RnVu
Y3Rpb24gLSAxLCBmaXJzdExpbmUsIHN0YXJ0Q29sdW1uKTsKKyAgICB9CisjZW5kaWYKKwogICAg
IGlubGluZSBTb3VyY2VDb2RlIFNvdXJjZUNvZGU6OnN1YkV4cHJlc3Npb24odW5zaWduZWQgb3Bl
bkJyYWNlLCB1bnNpZ25lZCBjbG9zZUJyYWNlLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1
bW4pCiAgICAgewogICAgICAgICBBU1NFUlQocHJvdmlkZXIoKS0+c291cmNlKClbb3BlbkJyYWNl
XSA9PSAneycpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3Vy
Y2VQcm92aWRlckNhY2hlSXRlbS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3Vy
Y2VQcm92aWRlckNhY2hlSXRlbS5oCmluZGV4IDYzNTM3OWUzZjQ0NTY2OGM1MmI4NzJmNzYxNmRj
YjU5MjFhODI5NDQuLjgzNDY0ODUyMTlkMGFjZjZiMzI2OTcyZGEyNzk3MjFkMzY1NWRiMDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNo
ZUl0ZW0uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVy
Q2FjaGVJdGVtLmgKQEAgLTQwLDYgKzQwLDEwIEBAIHN0cnVjdCBTb3VyY2VQcm92aWRlckNhY2hl
SXRlbUNyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgYm9vbCBuZWVkc0Z1bGxBY3RpdmF0aW9uOwog
ICAgIGJvb2wgdXNlc0V2YWw7CiAgICAgYm9vbCBzdHJpY3RNb2RlOworI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgYm9vbCBpc0JvZHlBcnJvd0Z1bmN0aW9uQmxvY2s7
CisgICAgSlNUb2tlblR5cGUgdG9rZW5UeXBlOworI2VuZGlmCiAgICAgVmVjdG9yPFJlZlB0cjxT
dHJpbmdJbXBsPj4gdXNlZFZhcmlhYmxlczsKICAgICBWZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+
PiB3cml0dGVuVmFyaWFibGVzOwogfTsKQEAgLTY5LDYgKzczLDIxIEBAIHB1YmxpYzoKICAgICAg
ICAgcmV0dXJuIHRva2VuOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgSlNUb2tlbiBlbmRBcnJvd0Z1bmN0aW9uVG9rZW4oKSBjb25zdAorICAgIHsK
KyAgICAgICAgSlNUb2tlbiB0b2tlbjsKKyAgICAgICAgdG9rZW4ubV90eXBlID0gdG9rZW5UeXBl
OworICAgICAgICB0b2tlbi5tX2RhdGEub2Zmc2V0ID0gY2xvc2VCcmFjZU9mZnNldDsKKyAgICAg
ICAgdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldCA9IGNsb3NlQnJhY2VPZmZzZXQ7CisgICAg
ICAgIHRva2VuLm1fbG9jYXRpb24uZW5kT2Zmc2V0ID0gY2xvc2VCcmFjZU9mZnNldCArIDE7Cisg
ICAgICAgIHRva2VuLm1fbG9jYXRpb24ubGluZSA9IGNsb3NlQnJhY2VMaW5lOworICAgICAgICB0
b2tlbi5tX2xvY2F0aW9uLmxpbmVTdGFydE9mZnNldCA9IGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZz
ZXQ7CisKKyAgICAgICAgcmV0dXJuIHRva2VuOworICAgIH0KKyNlbmRpZgorCiAgICAgdW5zaWdu
ZWQgZnVuY3Rpb25OYW1lU3RhcnQgOiAzMTsKICAgICBib29sIG5lZWRzRnVsbEFjdGl2YXRpb24g
OiAxOwogICAgIApAQCAtODIsNiArMTAxLDExIEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCB1c2Vk
VmFyaWFibGVzQ291bnQ7CiAgICAgdW5zaWduZWQgd3JpdHRlblZhcmlhYmxlc0NvdW50OwogCisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBib29sIGlzQm9keUFycm93
RnVuY3Rpb25CbG9jazsKKyAgICBKU1Rva2VuVHlwZSB0b2tlblR5cGU7CisjZW5kaWYKKwogICAg
IFN0cmluZ0ltcGwqKiB1c2VkVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxT
dHJpbmdJbXBsKio+KG1fdmFyaWFibGVzKTsgfQogICAgIFN0cmluZ0ltcGwqKiB3cml0dGVuVmFy
aWFibGVzKCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxTdHJpbmdJbXBsKio+KCZtX3Zhcmlh
Ymxlc1t1c2VkVmFyaWFibGVzQ291bnRdKTsgfQogCkBAIC0xMTUsNiArMTM5LDEwIEBAIGlubGlu
ZSBTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0oY29uc3Qg
U291cmNlUHJvdmlkZXJDYWNoCiAgICAgLCBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0KHBhcmFt
ZXRlcnMuY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldCkKICAgICAsIHVzZWRWYXJpYWJsZXNDb3Vu
dChwYXJhbWV0ZXJzLnVzZWRWYXJpYWJsZXMuc2l6ZSgpKQogICAgICwgd3JpdHRlblZhcmlhYmxl
c0NvdW50KHBhcmFtZXRlcnMud3JpdHRlblZhcmlhYmxlcy5zaXplKCkpCisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAsIGlzQm9keUFycm93RnVuY3Rpb25CbG9jayhw
YXJhbWV0ZXJzLmlzQm9keUFycm93RnVuY3Rpb25CbG9jaykKKyAgICAsIHRva2VuVHlwZShwYXJh
bWV0ZXJzLnRva2VuVHlwZSkKKyNlbmRpZgogewogICAgIHVuc2lnbmVkIGogPSAwOwogICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCB1c2VkVmFyaWFibGVzQ291bnQ7ICsraSwgKytqKSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCmluZGV4IDhlNGY2
MWI5NDk4OTBiOWJmNTQwMjllOTY2NjFlZWY1M2ExN2I1ODQuLjVmOGUyMTFlZTRiNTNiMzk0ZWI1
YWUyMTkwYjgzYzhjNGY4NDRjZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvU3ludGF4Q2hlY2tlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
U3ludGF4Q2hlY2tlci5oCkBAIC0xNzAsNiArMTcwLDEwIEBAIHB1YmxpYzoKICNlbmRpZgogICAg
IEV4cHJlc3Npb25UeXBlIGNyZWF0ZUZ1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24m
LCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5j
dGlvbkV4cHI7IH0KICAgICBpbnQgY3JlYXRlRnVuY3Rpb25Cb2R5KGNvbnN0IEpTVG9rZW5Mb2Nh
dGlvbiYsIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGludCwgaW50LCBib29sLCBpbnQsIGludCwg
aW50LCBDb25zdHJ1Y3RvcktpbmQpIHsgcmV0dXJuIEZ1bmN0aW9uQm9keVJlc3VsdDsgfQorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgRXhwcmVzc2lvblR5cGUgY3Jl
YXRlQXJyb3dGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFyc2Vy
RnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JikgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9Cisj
ZW5kaWYgCisgICAgdm9pZCBzZXRGdW5jdGlvbk5hbWVTdGFydChpbnQsIGludCkgeyB9CiAgICAg
aW50IGNyZWF0ZUFyZ3VtZW50cygpIHsgcmV0dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQogICAgIGlu
dCBjcmVhdGVBcmd1bWVudHMoaW50KSB7IHJldHVybiBBcmd1bWVudHNSZXN1bHQ7IH0KICAgICBF
eHByZXNzaW9uVHlwZSBjcmVhdGVTcHJlYWRFeHByZXNzaW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlv
biYsIEV4cHJlc3Npb25UeXBlLCBpbnQsIGludCwgaW50KSB7IHJldHVybiBTcHJlYWRFeHByOyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rp
b24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42ZmMzZWExODAwNjg5NjQzYWFkZDZjNmE0OTdlZDBhZTZjMjExMTIwCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1
bmN0aW9uLmNwcApAQCAtMCwwICsxLDc3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCisKKyNpbmNs
dWRlICJFcnJvci5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbkhlbHBlcnMuaCIKKyNpbmNsdWRlICJK
U0NJbmxpbmVzLmgiCisjaW5jbHVkZSAiSlNDSlNWYWx1ZS5oIgorI2luY2x1ZGUgIkpTRnVuY3Rp
b24uaCIKKyNpbmNsdWRlICJKU0Z1bmN0aW9uSW5saW5lcy5oIgorI2luY2x1ZGUgIkpTT2JqZWN0
LmgiCisjaW5jbHVkZSAiUHJvcGVydHlTbG90LmgiCisjaW5jbHVkZSAiVk0uaCIKKworbmFtZXNw
YWNlIEpTQyB7CisgICAgCitjb25zdCBDbGFzc0luZm8gSlNBcnJvd0Z1bmN0aW9uOjpzX2luZm8g
PSB7ICJBcnJvd0Z1bmN0aW9uIiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhPRF9UQUJM
RShKU0Fycm93RnVuY3Rpb24pIH07CisKK3ZvaWQgSlNBcnJvd0Z1bmN0aW9uOjpkZXN0cm95KEpT
Q2VsbCogY2VsbCkKK3sKKyAgICBzdGF0aWNfY2FzdDxKU0Fycm93RnVuY3Rpb24qPihjZWxsKS0+
SlNBcnJvd0Z1bmN0aW9uOjp+SlNBcnJvd0Z1bmN0aW9uKCk7Cit9CisKK0pTQXJyb3dGdW5jdGlv
bjo6SlNBcnJvd0Z1bmN0aW9uKFZNJiB2bSwgSlNTY29wZSogc2NvcGUsIEZ1bmN0aW9uRXhlY3V0
YWJsZSogZXhlY3V0YWJsZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCisgICAgOiBCYXNlKHZtLCBl
eGVjdXRhYmxlLCBzY29wZSwgc3RydWN0dXJlKQoreworfQorICAgIAordm9pZCBKU0Fycm93RnVu
Y3Rpb246OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlv
bih2bSk7CisvLyBQcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24gaXMgdW5kZWZpbmVkCisgICAg
cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIGpzVW5kZWZpbmVkKCks
IERvbnREZWxldGUgfCBSZWFkT25seSB8IERvbnRFbnVtKTsKK30KKyAgICAKK3ZvaWQgSlNBcnJv
d0Z1bmN0aW9uOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0
b3IpCit7CisgICAgSlNBcnJvd0Z1bmN0aW9uKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTQXJyb3dG
dW5jdGlvbio+KGNlbGwpOworICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVj
dCwgaW5mbygpKTsKKyAgICBCYXNlOjp2aXNpdENoaWxkcmVuKHRoaXNPYmplY3QsIHZpc2l0b3Ip
OworfQorICAgIAorQ29uc3RydWN0VHlwZSBKU0Fycm93RnVuY3Rpb246OmdldENvbnN0cnVjdERh
dGEoSlNDZWxsKiBjZWxsLCBDb25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQoreworICAgIEpT
RnVuY3Rpb24qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNGdW5jdGlvbio+KGNlbGwpOworICAgICAg
ICAKKyAgICBjb25zdHJ1Y3REYXRhLmpzLmZ1bmN0aW9uRXhlY3V0YWJsZSA9IHRoaXNPYmplY3Qt
PmpzRXhlY3V0YWJsZSgpOworICAgIGNvbnN0cnVjdERhdGEuanMuc2NvcGUgPSB0aGlzT2JqZWN0
LT5zY29wZSgpOworICAgIHJldHVybiBDb25zdHJ1Y3RUeXBlTm9uZTsKK30KK30gLy8gbmFtZXNw
YWNlIEpTQworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0Fycm93RnVuY3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJy
b3dGdW5jdGlvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc4MDE1ZDM4NzIxY2NhNDRhZTJmNjVjYjZkNzdiNmE2
NTIyMDk2NWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0Fycm93RnVuY3Rpb24uaApAQCAtMCwwICsxLDc0IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBKU0Fycm93RnVuY3Rpb25faAorI2Rl
ZmluZSBKU0Fycm93RnVuY3Rpb25faAorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKworI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU0dsb2JhbE9iamVj
dC5oIgorCituYW1lc3BhY2UgSlNDIHsKKworY2xhc3MgSlNBcnJvd0Z1bmN0aW9uIDogcHVibGlj
IEpTRnVuY3Rpb24geworcHVibGljOgorICAgIHR5cGVkZWYgSlNGdW5jdGlvbiBCYXNlOworICAg
ICAgICAKKyAgICBzdGF0aWMgSlNBcnJvd0Z1bmN0aW9uKiBjcmVhdGUoVk0mIHZtLCBKU1Njb3Bl
KiBzY29wZSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0KQorICAgIHsKKyAgICAgICAgSlNBcnJvd0Z1bmN0aW9uKiBmdW5jdGlvbiA9
IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEpTQXJyb3dGdW5jdGlvbj4odm0uaGVhcCkpIEpT
QXJyb3dGdW5jdGlvbih2bSwgc2NvcGUsIGV4ZWN1dGFibGUsIGdsb2JhbE9iamVjdC0+YXJyb3dG
dW5jdGlvblN0cnVjdHVyZSgpKTsKKyAgICAgICAgQVNTRVJUKGZ1bmN0aW9uLT5zdHJ1Y3R1cmUo
KS0+Z2xvYmFsT2JqZWN0KCkpOworICAgICAgICBmdW5jdGlvbi0+ZmluaXNoQ3JlYXRpb24odm0p
OworICAgICAgICByZXR1cm4gZnVuY3Rpb247CisgICAgfQorICAgIAorICAgIHN0YXRpYyB2b2lk
IGRlc3Ryb3koSlNDZWxsKik7CisgICAgICAgIAorICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0
ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUg
cHJvdG90eXBlKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGdsb2JhbE9iamVjdCk7CisgICAgICAg
IHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5
cGVJbmZvKEpTRnVuY3Rpb25UeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CisgICAgfQor
ICAgICAgICAKKyAgICBzdGF0aWMgQ29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhKEpTQ2Vs
bCosIENvbnN0cnVjdERhdGEmKTsKKyAgICAgICAgCisgICAgREVDTEFSRV9JTkZPOworCitwcm90
ZWN0ZWQ6CisgICAgY29uc3Qgc3RhdGljIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJp
ZGVzSGFzSW5zdGFuY2UgfCBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsKKyAgICAgICAgCisgICAgc3Rh
dGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOworICAgICAgICAK
K3ByaXZhdGU6CisgICAgSlNBcnJvd0Z1bmN0aW9uKFZNJiwgSlNTY29wZSosIEZ1bmN0aW9uRXhl
Y3V0YWJsZSosIFN0cnVjdHVyZSopOworCisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOwor
fTsKKyAgICAKK30gLy8gbmFtZXNwYWNlIEpTQworI2VuZGlmIC8vIEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWAorCisjZW5kaWYgLy8gSlNBcnJvd0Z1bmN0aW9uX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAppbmRleCA5YWI5ZGMyNzc3YmFiZjg5NjM4MWRjZjQw
MmMwMTMwOTBmOTVlMzBjLi4zYTBhZTAxMTM1YmNiOTY0MGIwNTAyYTMxNjUxYWY4ZmNhYTJjNGFk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCkBAIC0xMzIs
NiArMTMyLDkgQEAgcHJvdGVjdGVkOgogCiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNGdW5jdGlv
bihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKik7CiAgICAgSlNGdW5jdGlvbihWTSYs
IEZ1bmN0aW9uRXhlY3V0YWJsZSosIEpTU2NvcGUqKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIEpTRnVuY3Rpb24oVk0mLCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBK
U1Njb3BlKiwgU3RydWN0dXJlKik7CisjZW5kaWYKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24o
Vk0mLCBOYXRpdmVFeGVjdXRhYmxlKiwgaW50IGxlbmd0aCwgY29uc3QgU3RyaW5nJiBuYW1lKTsK
ICAgICB1c2luZyBCYXNlOjpmaW5pc2hDcmVhdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oCmluZGV4IDM3YjI4MWFhNWQwYzFiODYx
NjQ1MTlmZDdjNTY2ZTM3ZjBmMTM0MDEuLjdiMzQ5MGJlYjk0YTM1OTNlZTE3YmMzYjE2YjMyYzdk
ZmFmOTU3M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVu
Y3Rpb25JbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5j
dGlvbklubGluZXMuaApAQCAtMzgsNiArMzgsMTUgQEAgaW5saW5lIEpTRnVuY3Rpb246OkpTRnVu
Y3Rpb24oVk0mIHZtLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpTU2NvcGUqIHMK
IHsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitpbmxpbmUgSlNG
dW5jdGlvbjo6SlNGdW5jdGlvbihWTSYgdm0sIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJs
ZSwgSlNTY29wZSogc2NvcGUsIFN0cnVjdHVyZSogc3RydWN0dXJlKQorICAgIDogQmFzZSh2bSwg
c2NvcGUsIHN0cnVjdHVyZSkKKyAgICAsIG1fZXhlY3V0YWJsZSh2bSwgdGhpcywgZXhlY3V0YWJs
ZSkKKyAgICAsIG1fYWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50KENsZWFyV2F0Y2hwb2ludCkK
K3sKK30KKyNlbmRpZgorICAgIAogaW5saW5lIEZ1bmN0aW9uRXhlY3V0YWJsZSogSlNGdW5jdGlv
bjo6anNFeGVjdXRhYmxlKCkgY29uc3QKIHsKICAgICBBU1NFUlQoIWlzSG9zdEZ1bmN0aW9uTm9u
SW5saW5lKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNH
bG9iYWxPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxP
YmplY3QuY3BwCmluZGV4IGQzOTYxOGFiN2VhZjU1OTc0ZGFhYzIzYjgxMzMzZWIwMDUxZWJlNzMu
LmY5NDFhZDE4Nzk2OGJjZDg3ZTJmNDljOGI3ODc1MDU0ZGM3ZDYwNDcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKQEAgLTYyLDYgKzYy
LDkgQEAKICNpbmNsdWRlICJKU0FycmF5QnVmZmVyUHJvdG90eXBlLmgiCiAjaW5jbHVkZSAiSlNB
cnJheUl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIK
KyNlbmRpZgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0NhbGxiYWNrQ29u
c3RydWN0b3IuaCIKICNpbmNsdWRlICJKU0NhbGxiYWNrRnVuY3Rpb24uaCIKQEAgLTIzMyw2ICsy
MzYsOSBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2bSkKICAgICBleGVjLT5zZXRD
YWxsZWUobV9nbG9iYWxDYWxsZWUuZ2V0KCkpOwogCiAgICAgbV9mdW5jdGlvblN0cnVjdHVyZS5z
ZXQodm0sIHRoaXMsIEpTRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5j
dGlvblByb3RvdHlwZS5nZXQoKSkpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCisgICAgbV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlLnNldCh2bSwgdGhpcywgSlNBcnJvd0Z1
bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0
KCkpKTsKKyNlbmRpZgogICAgIG1fYm91bmRGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMs
IEpTQm91bmRGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJv
dG90eXBlLmdldCgpKSk7CiAgICAgbV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlLnNldCh2bSwgdGhp
cywgU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb24odm0sIG1fZnVuY3Rpb25TdHJ1Y3R1
cmUuZ2V0KCksIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIERvbnREZWxldGUgfCBSZWFkT25seSB8
IERvbnRFbnVtLCBtX2Z1bmN0aW9uTmFtZU9mZnNldCkpOwogICAgIG1faW50ZXJuYWxGdW5jdGlv
blN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVy
ZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOwpAQCAtNzI1LDYgKzczMSw5
IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90
VmlzaXRvciYgdmlzaXRvcikKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9jYWxs
ZWVTdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2Z1bmN0aW9u
U3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9ib3VuZEZ1bmN0
aW9uU3RydWN0dXJlKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
IHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2Fycm93RnVuY3Rpb25TdHJ1Y3R1cmUpOwor
I2VuZGlmCiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fbmFtZWRGdW5jdGlvblN0
cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fc3ltYm9sT2JqZWN0
U3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9yZWdFeHBNYXRj
aGVzQXJyYXlTdHJ1Y3R1cmUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmgKaW5kZXggNzQ5NjZiN2JkMDZiYWNkODY2MWM5YmY0YWJlNDVjZWIzYjUx
MThiNC4uODE3ZjI1NzY2MDcwMDc5OTAxODYxNGEwMjk2YWJjM2M5NTMwMjU5MSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC0yMjUsNiAr
MjI1LDkgQEAgcHJvdGVjdGVkOgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fY2FsbGVl
U3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fZnVuY3Rpb25TdHJ1Y3R1
cmU7CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJl
OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgV3JpdGVCYXJyaWVy
PFN0cnVjdHVyZT4gbV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlOworI2VuZGlmCiAgICAgV3JpdGVC
YXJyaWVyPFN0cnVjdHVyZT4gbV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlOwogICAgIFByb3BlcnR5
T2Zmc2V0IG1fZnVuY3Rpb25OYW1lT2Zmc2V0OwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+
IG1fcHJpdmF0ZU5hbWVTdHJ1Y3R1cmU7CkBAIC00NTYsNiArNDU5LDkgQEAgcHVibGljOgogICAg
IFN0cnVjdHVyZSogY2FsbGVlU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9jYWxsZWVTdHJ1
Y3R1cmUuZ2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUqIGZ1bmN0aW9uU3RydWN0dXJlKCkgY29uc3Qg
eyByZXR1cm4gbV9mdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQogICAgIFN0cnVjdHVyZSogYm91
bmRGdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fYm91bmRGdW5jdGlvblN0cnVj
dHVyZS5nZXQoKTsgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAg
U3RydWN0dXJlKiBhcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9hcnJv
d0Z1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CisjZW5kaWYKICAgICBTdHJ1Y3R1cmUqIG5hbWVk
RnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX25hbWVkRnVuY3Rpb25TdHJ1Y3R1
cmUuZ2V0KCk7IH0KICAgICBQcm9wZXJ0eU9mZnNldCBmdW5jdGlvbk5hbWVPZmZzZXQoKSBjb25z
dCB7IHJldHVybiBtX2Z1bmN0aW9uTmFtZU9mZnNldDsgfQogICAgIFN0cnVjdHVyZSogbnVtYmVy
T2JqZWN0U3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9udW1iZXJPYmplY3RTdHJ1Y3R1cmUu
Z2V0KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YXJyb3dmdW5jdGlvbi1sZXhpY2FsdGhpcy5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsdGhpcy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MTJmYmFm
ODA0NDgyYzc3NjFjMzdkZDY5M2E4NDg1ZTU1MTE1NzNlCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWx0aGlz
LmpzCkBAIC0wLDAgKzEsMzEgQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5j
dGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBl
Y3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsg
IicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBhZk9iakxleEJp
bmQyID0gZnVuY3Rpb24gKCkgeworICB0aGlzLmZ1bmMgPSAoKSA9PiB0aGlzOworfTsKKwordmFy
IGFmT2JqTGV4QmluZDJJbnN0YW5jZSA9IG5ldyBhZk9iakxleEJpbmQyKCk7CisKK3Rlc3RDYXNl
KGFmT2JqTGV4QmluZDJJbnN0YW5jZS5mdW5jKCkgPT09IGFmT2JqTGV4QmluZDJJbnN0YW5jZSwg
dHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gIzIiKTsKKwordmFyIG9iaiA9IHsKKyAgbWV0aG9kOiBmdW5jdGlvbiAo
KSB7CisgICAgcmV0dXJuICgpID0+IHRoaXM7CisgIH0KK307CisKK3Rlc3RDYXNlKG9iai5tZXRo
b2QoKSgpID09PSBvYmosIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRl
ZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMzIik7CisKK3ZhciBmYWtlID0ge3N0ZWFs
OiBvYmoubWV0aG9kKCl9OwordGVzdENhc2UoZmFrZS5zdGVhbCgpID09PSBvYmosIHRydWUsICJF
cnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1
bmN0aW9uICM0Iik7CisKKworLy8gRml4bWU6IGZvbGxvd2luZyB0ZXN0IGZhaWxzIGluIGRmZy1l
YWdlci1uby1jaml0LXZhbGlkYXRlICYgZnRsLWVhZ2VyLW5vLWNqaXQgbW9kZQordmFyIHJlYWwg
PSB7Ym9ycm93OiBvYmoubWV0aG9kfTsKK3Rlc3RDYXNlKHJlYWwuYm9ycm93KCkoKSA9PT0gcmVh
bCwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0
aGUgYXJyb3cgZnVuY3Rpb24gIzUiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1vdGhlcnMuanMgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tb3RoZXJzLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVi
YmY4NTllMjAzZWIxZjU0YWNhZTFkNDA4M2NhM2RkM2RjOTc2MWYKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tb3RoZXJz
LmpzCkBAIC0wLDAgKzEsMzAgQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5j
dGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBl
Y3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsg
IicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBzaW1wbGVBcnJv
d0Z1bmN0aW9uID0gKCkgPT4ge307CisKK3Rlc3RDYXNlKHR5cGVvZiBzaW1wbGVBcnJvd0Z1bmN0
aW9uLCAiZnVuY3Rpb24iLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHR5cGUgb2YgdGhlIGFycm93IGZ1
bmN0aW9uIik7CisKK3Rlc3RDYXNlKE9iamVjdC5nZXRQcm90b3R5cGVPZihzaW1wbGVBcnJvd0Z1
bmN0aW9uKSwgRnVuY3Rpb24ucHJvdG90eXBlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGdldFByb3Rv
dHlwZU9mIHZhbHVlIGZvciBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShzaW1wbGVBcnJv
d0Z1bmN0aW9uIGluc3RhbmNlb2YgRnVuY3Rpb24sIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3Qg
cmVzdWx0IGZvciBpbnN0YW5jZW9mIG1ldGhvZCBmb3IgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVz
dENhc2Uoc2ltcGxlQXJyb3dGdW5jdGlvbi5jb25zdHJ1Y3RvciA9PSBGdW5jdGlvbiwgdHJ1ZSwg
IkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIGNvbnN0cnVjdG9yIG1ldGhvZCBvZiBhcnJv
dyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZSh0eXBlb2Ygc2ltcGxlQXJyb3dGdW5jdGlvbi5wcm90
b3R5cGUgPT09ICd1bmRlZmluZWQnLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBm
b3IgcHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9uIik7CisKK3ZhciBlcnJvck9uQ3JlYXRlID0g
ZmFsc2U7CisKK3RyeSB7CisgIHZhciBmYyA9IG5ldyBzaW1wbGVBcnJvd0Z1bmN0aW9uKCk7Cit9
CitjYXRjaCAoZSkgeworICBlcnJvck9uQ3JlYXRlID0gdHJ1ZTsKK30KKwordGVzdENhc2UoZXJy
b3JPbkNyZWF0ZSwgdHJ1ZSwgIkVycm9yOiBObyBlcnJvciBkdXJpbmcgcnVuIG5ldyBBcnJvd0Z1
bmN0aW9uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L2Fycm93ZnVuY3Rpb24uanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDY4N2IzYWFiMWQyN2Y0NTNmOTA3NjFjZWMxYWQ0
ZDA1Y2YwM2IzNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi5qcwpAQCAtMCwwICsxLDE1NCBAQAordmFyIHJlc3VsdDsK
KworIHZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7
CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4
cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAg
fQorfTsKKwordmFyIGFycm93RnVuY3Rpb24wID0gdiA9PiB2ICsgMTsKK3Jlc3VsdCA9IGFycm93
RnVuY3Rpb24wKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEgLCJFcnJvcjogTm90IGNvcnJlY3Qg
ZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogdiA9PiB2ICsgMSIpOworCit2YXIgYXJy
b3dGdW5jdGlvbjEgPSAodikgPT4gdiAqIDI7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMSgxMCk7
Cit0ZXN0Q2FzZShyZXN1bHQsIDIwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0
aGUgYXJyb3cgZnVuY3Rpb246ICh2KSA9PiB2ICsgMSIpOworCit2YXIgYXJyb3dGdW5jdGlvbjIg
PSAoKSA9PiAxMDAwOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjIoMTIxMik7Cit0ZXN0Q2FzZShy
ZXN1bHQsIDEwMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbjogKCkgPT4gMTAwMCIpOworCit2YXIgdG1wVmFyaWFsdmUyXzEgPSAxNTE7Cit2YXIg
YXJyb3dGdW5jdGlvbjJfMSA9ICgpID0+IHRtcFZhcmlhbHZlMl8xOworcmVzdWx0ID0gYXJyb3dG
dW5jdGlvbjJfMSgxMjEpOwordGVzdENhc2UocmVzdWx0LCB0bXBWYXJpYWx2ZTJfMSAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAoKSA9PiB2YXJp
YWJsZSIpOworCit2YXIgYXJyb3dGdW5jdGlvbjMgPSAodiwgeCkgPT4gdiArIHg7CityZXN1bHQg
PSBhcnJvd0Z1bmN0aW9uMygxMSwxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDIzICwiRXJyb3I6IE5v
dCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICh4LCB5KSA9PiB4ICsg
eSIpOworCit2YXIgYXJyb3dGdW5jdGlvbldyYXBwZXIgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVy
KSB7IHJldHVybiBjbChwYXJhbXRlcik7IH07CisKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFw
cGVyKHggPT4gMTIzNCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMzQgLCJFcnJvcjogTm90IGNvcnJl
Y3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMp
Iik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEyMzQsIDIzNDUpOwor
dGVzdENhc2UocmVzdWx0LCAxMjM0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0
aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjLCB5KSIpOworCisgcmVzdWx0
ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMjEgKyAyMzIpOwordGVzdENhc2UocmVzdWx0
LCAzNTMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlv
biBhcyBwYXJhbXRlcjogZih4ID0+IGMxICsgYzIpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0
aW9uV3JhcHBlcih4ID0+IDEyMyArIDMyMSwgOTk5OSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDQ0NCAs
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBh
cmFtdGVyOiBmKHggPT4gYzEgKyBjMiwgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25X
cmFwcGVyKHggPT4geCArIDEyLCAyMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDMzICwiRXJyb3I6IE5v
dCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYo
eCA9PiB4ICsgYzEsIHkpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoeCkg
PT4geCArIDIxLCAzMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDUzLCAiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKHgpID0+IGMx
ICsgYzIsIHkpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiAxMDAp
OwordGVzdENhc2UocmVzdWx0LCAxMDAsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjKSIpOworCisgdmFyIGV4
dF92YWx1ZSA9IDEyMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IGV4dF92
YWx1ZSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMSwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IHYpIik7CisKKyBy
ZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiBleHRfdmFsdWUgKiAxMCk7Cit0ZXN0
Q2FzZShyZXN1bHQsIDEyMTAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiB2KngpIik7CisKKyByZXN1bHQgPSBh
cnJvd0Z1bmN0aW9uV3JhcHBlcigoeCkgPT4gZXh0X3ZhbHVlICogeCwgMzApOwordGVzdENhc2Uo
cmVzdWx0LCAzMCpleHRfdmFsdWUgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoeCkgPT4gdip4LCB5KSIpOworCisgcmVz
dWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwLCAxMSk7Cit0ZXN0Q2FzZShyZXN1
bHQsIDEwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0
aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMxLCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5j
dGlvbldyYXBwZXIoKCkgPT4gMTAwICsgMTApOwordGVzdENhc2UocmVzdWx0LCAxMTAgLCJFcnJv
cjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRl
cjogZigoKSA9PiBjMSArIGMyKSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIo
KCkgPT4gMTAwICsgMTEsIDEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTExICwiRXJyb3I6IE5vdCBj
b3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkg
PT4gYzEgKyBjMiwgeSkiKTsKKworIHZhciBhcnJvd0Z1bmN0aW9uNCA9IHYgPT4gdiArIDEsIHh5
ejEgPSAxMDEwMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb240KDEwMTEpOwordGVzdENhc2UocmVz
dWx0LCAxMDEyICwiRXJyb3I6IE5vdCBjb3JyZWN0IHBhcnNpbmcgb2YgdGggYXJyb3cgZnVuY3Rp
b24gaW5zaWRlIG9mIHRoZSBsaXN0IG9mIHZhcnM6IHZhciBhZiA9IHY9PiB2ICsgMTsgenhjPWM7
Iik7Cit0ZXN0Q2FzZSh4eXoxLCAxMDEwMSAsIkVycm9yOiBOb3QgY29ycmVjdCBwYXJzaW5nIG9m
IHRoIGFycm93IGZ1bmN0aW9uIGluc2lkZSBvZiB0aGUgbGlzdCBvZiB2YXJzOiB2YXIgYWYgPSB2
PT4gdiArIDE7IHp4Yz1jOyIpOworCisgdmFyIGFycm93RnVuY3Rpb25XcmFwcGVyMiA9IGZ1bmN0
aW9uIChjbCwgcGFyYW10ZXIxLCBwYXJhbXRlcjIpIHsgcmV0dXJuIGNsKHBhcmFtdGVyMSwgcGFy
YW10ZXIyKTsgfTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyMigoeCwgeSkgPT4geCAr
IHksIDEyICw0Myk7Cit0ZXN0Q2FzZShyZXN1bHQsIDU1ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW1ldGVyOiBmKCh4LCB5KSA9PiB4
ICsgeSwgYzEsIGMyKSIpOworCisgdmFyIGFycm93RnVuY3Rpb0FycmF5MCA9IFt2ID0+IHYgKiAx
MF07CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTBbMF0oMTApOwordGVzdENhc2UocmVzdWx0
LCAxMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlv
biBhcyBpdGVtIGluIGFycmF5OiBbdj0+dioxMF0iKTsKKworIHZhciBhcnJvd0Z1bmN0aW9BcnJh
eTEgPSBbdiA9PiB2ICsgMSwgdiA9PiB2ICsgMl07CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJh
eTFbMF0oMTApOwordGVzdENhc2UocmVzdWx0LCAxMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVj
dXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFt2ID0+IHYgKyAx
LCAgdiA9PiB2ICsgMl0iKTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5MVsxXSgxMSk7Cit0
ZXN0Q2FzZShyZXN1bHQsIDEzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogW3YgPT4gdiArIDEsICB2ID0+IHYgKyAy
XSIpOworCisgdmFyIGFycm93RnVuY3Rpb0FycmF5MiA9IFsodikgPT4gdiArIDEsICh2KSA9PiB2
ICsgMl07CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTJbMF0oMTEpOwordGVzdENhc2UocmVz
dWx0LCAxMiAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0
aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsodikgPT4gdiArIDEsICAodikgPT4gdiArIDJdIik7City
ZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTJbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMyAs
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0
ZW0gaW4gYXJyYXk6IFsodikgPT4gdiArIDEsICAodikgPT4gdiArIDJdIik7CisKKyB2YXIgYXJy
b3dGdW5jdGlvQXJyYXkzID0gWygpID0+IDEwMSwgKCkgPT4gMTIzMjNdOworcmVzdWx0ID0gYXJy
b3dGdW5jdGlvQXJyYXkzWzBdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAxLCAiRXJyb3I6IE5v
dCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJh
eTogWygpID0+IGMxLCAgKCkgPT4gYzJdIik7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTNb
MV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMjMyMywgIkVycm9yOiBOb3QgY29ycmVjdCBleGVj
dXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsoKSA9PiBjMSwg
ICgpID0+IGMyXSIpOworCit2YXIgYXJyb3dGdW5jdGlvbk9iaiA9IHtmdW5jIDogeSA9PiB5ICsg
MTJ9OworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbk9iai5mdW5jKDExKTsKK3Rlc3RDYXNlKHJlc3Vs
dCwgMjMgLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gYXMgcHJvcGVydHk6IHtmdW5jIDogeSA9PiB5ICsgMTIgfSIpOworCit2YXIgYWZPYmpMZXhC
aW5kMiA9IGZ1bmN0aW9uICgpIHsKKyAgdGhpcy5mdW5jID0gKCkgPT4gdGhpczsKK307CisKK3Zh
ciBhcnJvd0ZhdEZ1bmN0aW9uMCA9ICgpID0+IHsgcmV0dXJuIDEwMDA7IH07CityZXN1bHQgPSBh
cnJvd0ZhdEZ1bmN0aW9uMCgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMDAgLCJFcnJvcjogTm90
IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxv
Y2s6ICgpID0+IHsgcmV0dXJuIDEwMDA7IH0iKTsKKwordmFyIGFycm93RmF0RnVuY3Rpb24xID0g
diA9PiB7IHZhciBpbnR2YWwgPSAxMDA7IHJldHVybiB2ICogaW50dmFsOyB9OworcmVzdWx0ID0g
YXJyb3dGYXRGdW5jdGlvbjEoMTEpOwordGVzdENhc2UocmVzdWx0LCAxMTAwICwiRXJyb3I6IE5v
dCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJs
b2NrOiB4ID0+IHsgdmFyIHY9MTAwMDsgcmV0dXJuIHYqeDsgfSIpOworCit2YXIgYXJyb3dGYXRG
dW5jdGlvbjIgPSAodikgPT4geyB2YXIgaW50ID0gMjAwOyByZXR1cm4gdiAqIGludDsgfTsKK3Jl
c3VsdCA9IGFycm93RmF0RnVuY3Rpb24yKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjIwMCAsIkVy
cm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9k
eSBhcyBibG9jazogKHgpID0+IHsgdmFyIHY9MTAwMDsgcmV0dXJuIHYqeDsgfSIpOworCit2YXIg
YXJyb3dGYXRGdW5jdGlvbjMgPSAodiwgeCkgPT4geyB2YXIgcmVzdWx0ID0geCAqIHY7IHJldHVy
biByZXN1bHQ7IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0aW9uMygxMSwgMTIyMjIpOwordGVz
dENhc2UocmVzdWx0LCAxMzQ0NDIgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICh2LCB4KSA9PiB7IHZhciByZXN1
bHQgPSB4ICogdjsgcmV0dXJuIHJlc3VsdDsgfSIpOworCityZXN1bHQgPSBhcnJvd0Z1bmN0aW9u
V3JhcHBlcih4PT57cmV0dXJuIHggKiAyNTt9LCAxMjEpOwordGVzdENhc2UocmVzdWx0LCAyNSox
MjEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3
aXRoIGJvZHkgYXMgYmxvY2s6IGYoeCA9PiB7cmV0dXJuIHggKiAyNTt9LCAxMjEpIik7CisKK3Jl
c3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyMigoeCwgeSk9PntyZXR1cm4geCAqIHk7fSwgMTQs
IDEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTQqMTIgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6IGYoKHgsIHkpPT57
cmV0dXJuIHggKiB5O30sIDE0LCAxMjEpKSIpOworCit2YXIgc2ltcGxlQXJyb3dGdW5jdGlvbiA9
ICgpID0+IHt9OworCit0ZXN0Q2FzZSh0eXBlb2Ygc2ltcGxlQXJyb3dGdW5jdGlvbiwgImZ1bmN0
aW9uIiwgIkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiIpOwor
Cit0ZXN0Q2FzZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yoc2ltcGxlQXJyb3dGdW5jdGlvbiksIEZ1
bmN0aW9uLnByb3RvdHlwZSwgIkVycm9yOiBOb3QgY29ycmVjdCBnZXRQcm90b3R5cGVPZiB2YWx1
ZSBmb3IgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2Uoc2ltcGxlQXJyb3dGdW5jdGlvbiBp
bnN0YW5jZW9mIEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3Ig
aW5zdGFuY2VvZiBtZXRob2QgZm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHNpbXBs
ZUFycm93RnVuY3Rpb24uY29uc3RydWN0b3IgPT0gRnVuY3Rpb24sIHRydWUsICJFcnJvcjogTm90
IGNvcnJlY3QgcmVzdWx0IGZvciBjb25zdHJ1Y3RvciBtZXRob2Qgb2YgYXJyb3cgZnVuY3Rpb24i
KTsKKwordGVzdENhc2UodHlwZW9mIHNpbXBsZUFycm93RnVuY3Rpb24ucHJvdG90eXBlID09PSAn
dW5kZWZpbmVkJywgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlw
ZSBvZiBhcnJvdyBmdW5jdGlvbiIpOworCit2YXIgZXJyb3JPbkNyZWF0ZSA9IGZhbHNlOworCit0
cnkgeworICB2YXIgZmMgPSBuZXcgc2ltcGxlQXJyb3dGdW5jdGlvbigpOworfQorY2F0Y2ggKGUp
IHsKKyAgZXJyb3JPbkNyZWF0ZSA9IHRydWU7Cit9CisKK3Rlc3RDYXNlKGVycm9yT25DcmVhdGUs
IHRydWUsICJFcnJvcjogTm8gZXJyb3IgZHVyaW5nIHJ1biBuZXcgQXJyb3dGdW5jdGlvbiIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwppbmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4x
MTQ4YTc2OTcyZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9T
b3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAt
NDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBF
TkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVfRVM2
X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVf
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5B
QkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NTU19B
TklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMjsKQEAgLTIx
NCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJBVEVE
X0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsK
IAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElO
RykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQo
RU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxF
X0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9D
TEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVY
VCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNP
UkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJ
Q0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1B
R0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9D
U1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19T
SEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUsp
ICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRM
RVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5U
KSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQp
ICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RS
VUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
X1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMp
ICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1F
UEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFH
RV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9T
RVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVf
TU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVL
KSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xF
R0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElO
S19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJ
UFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChF
TkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNP
Ul9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklH
QVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZL
SVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVO
QUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5B
QkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVR
VUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JF
U09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9D
U1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVB
TVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5B
QkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElP
TikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAk
KEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFC
TEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9W
SURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5B
QkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVE
SU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9Q
SUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9O
UykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQp
ICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1F
VElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMg
PSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykg
JChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQ
VElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElU
SU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVO
QUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFC
TEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykg
JChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5B
QkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAk
KEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkg
JChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xV
VElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0
KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNf
VEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VT
VE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVf
REFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVf
REVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RP
TTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9G
T05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBB
RCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChF
TkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRB
QkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9V
SSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9Q
T1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVO
QUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJ
WEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJF
U1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVE
SUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElB
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVO
QUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxT
KSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJM
RV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NV
RkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJB
TUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVD
VE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFO
RElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lT
KSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVf
U1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05F
X05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09O
X0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNU
X0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRB
Q1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkg
JChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09D
S0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFC
TEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAk
KEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRF
RF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwppbmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFm
ODYwLi4xMTQ4YTc2OTcyZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1NTBhMDUxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FO
VkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgg
PSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5U
QVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklM
VEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwog
RU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVW
RUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFC
TEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRf
QVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BB
VEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVO
QUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVf
Q1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5B
QkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVO
QUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9O
KSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQo
RU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhU
X0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01f
U0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRB
TElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRB
SUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9F
VkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRf
TE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAk
KEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNF
KSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9W
RVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxF
X0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxF
X0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFC
TEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykg
JChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9D
T05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RB
VElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxF
X01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQo
RU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAk
KEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BS
T01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklY
X0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkg
JChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1Ip
ICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5H
KSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQo
RU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdf
Rk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVN
QkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9B
RElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxM
KSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVf
VkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVO
QUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRT
KSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9X
RUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5B
QkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xB
WU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFU
VVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVO
QUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFT
X1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZ
TlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xF
VkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NP
TVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19H
UklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxF
Q1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkg
JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
UykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVO
QUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJ
TUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
TEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9B
TklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQp
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVO
QUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVO
QUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5B
QkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0MWZkYjZmNDY4OTg4
MDU4OWFmODYwLi4xMTQ4YTc2OTcyZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1NTBhMDUxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FO
VkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgg
PSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5U
QVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklM
VEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwog
RU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVW
RUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFC
TEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRf
QVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BB
VEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVO
QUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVf
Q1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5B
QkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVO
QUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9O
KSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQo
RU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhU
X0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01f
U0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRB
TElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRB
SUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9F
VkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRf
TE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAk
KEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNF
KSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9W
RVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxF
X0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxF
X0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFC
TEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykg
JChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9D
T05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RB
VElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxF
X01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQo
RU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAk
KEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BS
T01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklY
X0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkg
JChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1Ip
ICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5H
KSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQo
RU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdf
Rk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVN
QkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9B
RElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxM
KSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVf
VkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVO
QUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRT
KSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9X
RUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5B
QkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xB
WU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFU
VVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVO
QUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFT
X1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZ
TlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xF
VkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NP
TVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19H
UklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxF
Q1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkg
JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
UykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVO
QUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJ
TUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
TEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9B
TklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQp
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVO
QUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVO
QUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5B
QkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtl
IGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCmluZGV4IDMyYzIzNWQ5OGI1YTQy
MGViZTMzNDgzNGM3YjZhNDE4MmIyMjIyMGEuLmE2NzUzNzE0NTYyN2NkMzhhMjcwNzljZDVkZmU5
ODY4MmM5MWY0NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFr
ZQorKysgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKQEAgLTI4LDYgKzI4LDcg
QEAgbWFjcm8oV0VCS0lUX09QVElPTl9CRUdJTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShF
TkFCTEVfQ0FOVkFTX1BST1hZICJUb2dnbGUgQ2FudmFzUHJveHkgc3VwcG9ydCIgT0ZGKQogICAg
IFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyAiVG9nZ2xlIE1l
c3NhZ2VDaGFubmVsIGFuZCBNZXNzYWdlUG9ydCBzdXBwb3J0IiBPTikKICAgICBXRUJLSVRfT1BU
SU9OX0RFRklORShFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCAiVG9nZ2xlIEVTNiBjbGFzcyBzeW50
YXggc3VwcG9ydCIgT04pCisgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCAiVG9nZ2xlIEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXggc3VwcG9y
dCIgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
ICJUb2dnbGUgY29udGVudCBmaWx0ZXJpbmcgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJ
T05fREVGSU5FKEVOQUJMRV9DT05URVhUX01FTlVTICJUb2dnbGUgQ29udGV4dCBNZW51IHN1cHBv
cnQiIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DU1BfTkVYVCAiVG9nZ2xl
IENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IDEuMSBzdXBwb3J0IiBPRkYpCmRpZmYgLS1naXQgYS9T
b3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZSBiL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCmlu
ZGV4IDIxZDNmY2M1ZDk4M2Y5NTk1ZGVmMzUxMDU2OGNkYzk4OTY1MjQ2ZWQuLmNmMWFmZTU2YzVm
MGYyNjA5OTA5MGU1MWI3YjJhNjYwM2VhMDczMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZWNv
bmZpZy5oLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCkBAIC0xMyw2ICsx
Myw3IEBACiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ0FOVkFTX1BST1hZCiAjY21ha2VkZWZpbmUw
MSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9FUzZfQ0xB
U1NfU1lOVEFYCisjY21ha2VkZWZpbmUwMSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
CiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcKICNjbWFrZWRlZmluZTAx
IEVOQUJMRV9DT05URVhUX01FTlVTCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ1JFREVOVElBTF9T
VE9SQUdFCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3Qu
cG0gYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KaW5kZXggMTZmZDY0
OWM2OGQ2YjNkNDNkMGIzMWUzMzU3OTA0ZmM4NzI0YTdlYi4uMjIzYjMxMWJjZmJhYjJjMjY4YTdm
MjY1MmQxNGVkMTk2MzdmZGZjZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJs
L0ZlYXR1cmVMaXN0LnBtCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlz
dC5wbQpAQCAtNDQsNiArNDQsNyBAQCBCRUdJTiB7CiBteSAoCiAgICAgJHRocmVlRFJlbmRlcmlu
Z1N1cHBvcnQsCiAgICAgJGFjY2VsZXJhdGVkMkRDYW52YXNTdXBwb3J0LAorICAgICRhcnJvd2Z1
bmN0aW9uU3ludGF4LAogICAgICRiYXR0ZXJ5U3RhdHVzU3VwcG9ydCwKICAgICAkY2FudmFzUGF0
aFN1cHBvcnQsCiAgICAgJGNhbnZhc1Byb3h5U3VwcG9ydCwKQEAgLTE1NCw2ICsxNTUsOSBAQCBt
eSBAZmVhdHVyZXMgPSAoCiAgICAgeyBvcHRpb24gPT4gImFjY2VsZXJhdGVkLTJkLWNhbnZhcyIs
IGRlc2MgPT4gIlRvZ2dsZSBBY2NlbGVyYXRlZCAyRCBDYW52YXMgc3VwcG9ydCIsCiAgICAgICBk
ZWZpbmUgPT4gIkVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMiLCBkZWZhdWx0ID0+IGlzR3Rr
KCksIHZhbHVlID0+IFwkYWNjZWxlcmF0ZWQyRENhbnZhc1N1cHBvcnQgfSwKIAorICAgIHsgb3B0
aW9uID0+ICJhcnJvd2Z1bmN0aW9uLXN5bnRheCIsIGRlc2MgPT4gIlRvZ2dsZSBFUzYgYXJyb3cg
ZnVuY3Rpb24gc3ludGF4IHN1cHBvcnQiLAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVfRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGFycm93ZnVuY3Rp
b25TeW50YXggfSwKKwogICAgIHsgb3B0aW9uID0+ICJiYXR0ZXJ5LXN0YXR1cyIsIGRlc2MgPT4g
IlRvZ2dsZSBCYXR0ZXJ5IFN0YXR1cyBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxF
X0JBVFRFUllfU1RBVFVTIiwgZGVmYXVsdCA9PiBpc0VmbCgpLCB2YWx1ZSA9PiBcJGJhdHRlcnlT
dGF0dXNTdXBwb3J0IH0sCiAKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRl
eCA0ZWQ4NmE2Zjg4OThkMzFlMzgwNTBiMzJhNTRjYTc2YmUxZDYxNmRmLi5lOTFjN2NhMjAwYmU3
MTRjNjg5OTY1N2U5NmMyNTJiMGQwOWVkYTQ5IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTUtMDQtMDEgICBTa2FjaGtvdiBBbGV4YW5k
ciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBh
cnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE0MDg1NQorCisgICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIHRvIHN3aXRjaCBvbi9vZmYgZXM2IGFy
cm93IGZ1bmN0aW9uIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgKKworICAgICAgICAg
KiBTb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2U6CisgICAgICAgICAqIFNvdXJjZS9j
bWFrZWNvbmZpZy5oLmNtYWtlOgorCiAyMDE1LTAzLTI5ICBHeXV5b3VuZyBLaW0gIDxneXV5b3Vu
Zy5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0NNYWtlXSBVcGRhdGUgb2xkIENNYWtlTGlz
dC50eHQgaW4gZ3Rlc3QK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249966</attachid>
            <date>2015-04-02 02:39:52 -0700</date>
            <delta_ts>2015-04-02 03:01:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150402123906.patch</filename>
            <type>text/plain</type>
            <size>133498</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyMjA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
ZmNjM2QxNTdiYmMyNzhhZGUyOTEyOTc3ZWI5MzAxYTA5YTJjYjA4Li41NTRhYjEzZWJkNmIyOGU4
NWY4OTQ2MzBhYjk1MGY4MDQ1YWJmZTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMTUgQEAKKzIwMTUtMDQtMDEgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MDg1NQorCisgICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGRlZCBzdXBwb3J0IG9mIEVTNiBhcnJvdyBmdW5jdGlvbi4gQ2hhbmdlcyB3ZXJlIG1hZGUgYWNj
b3JkaW5nIGZvbGxvd2luZyBzcGVjIGh0dHA6Ly93aWtpLmVjbWFzY3JpcHQub3JnL2Rva3UucGhw
P2lkPWhhcm1vbnk6YXJyb3dfZnVuY3Rpb25fc3ludGF4CisgICAgICAgIEluIHBhdGNoIHdlcmUg
aW1wbGVtZW50ZWQgdGhlIHNpbXBsZXN0IGNhc2VzOgorICAgICAgICAgIDEgbm8gcGFyYW1ldGVy
cyAgICAgICAgICAgICAgICAoKSA9PiAxMCArIDIwCisgICAgICAgICAgMiBzaW5nbGUgcGFyYW1l
dGVyICAgICAgICAgICAgICB4ID0+IHggKyAyMAorICAgICAgICAgIDMgbXVsdGlwbGUgcGFyYW1l
dGVycyAgICAgICh4LCB5KSA9PiB4ICsgeQorICAgICAgICAgIDQgYXJyb3cgZnVuY3Rpb24gd2l0
aCBibG9jayAgICAgeCA9PiB7IHJldHVybiB4KjEwOyB9CisgICAgICAgICAgNSBsZXhpY2FsIHRo
aXMgLSB2YXJpYWJsZSB0aGlzIGlzIHBvaW50IHRvIHRoZSB0aGlzIG9mIHRoZSBmdW5jdGlvbiB3
aGVyZSBhcnJvdyBmdW5jdGlvbiBpcyBkZWNsYXJlZAorICAgICAgICAgIDYgTm8gY29uc3RydWN0
b3IgLSB0aGUgdXNpbmcgb2YgdGhlIGNvbW1hbmQgbmV3IGZvciBhcnJvdyBmdW5jdGlvbiBsZWFk
cyB0byBydW50aW1lIGVycm9yLiAKKworICAgICAgICAgTm90IHlldCBpbXBsZW1lbnRlZDoKKyAg
ICAgICAgICAxIHRoZSB2YXJpYWJsZSB3aXRoIG5hbWUgYXJndW1lbnRzIGluc2lkZSBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gc2hvdWxkIHBvaW50IHRvIGxpc3Qgb2YgYXJndW1lbnRzIG9mIGZ1bmN0
aW9uIHdoZXJlIGFycm93IGZ1bmN0aW9uIGlzIGRlY2xhcmVkCisgICAgICAgICAgMiBwYXJzZXIg
d2lsbCBwYXJzZSB0aGUgc3RhdGVtZW50IHgsIHkgPT4geCArIHkgaW5zdGVhZCBvZiByYWlzaW5n
IGV4Y2VwdGlvbgorICAgICAgICAgIDMgbWV0aG9kIGNhbGwsIGFwcGx5LCBiaW5kIHNob3VsZCBu
b3Qgb3ZlcnJpZGUgdGhlIHRoaXMgdmFyaWFibGUgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlv
bgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6Cisg
ICAgICAgICogSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qOgor
ICAgICAgICAqIGJ5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uOgorICAgICAgICAqIGJ5dGVjb2Rl
L0J5dGVjb2RlVXNlRGVmLmg6CisgICAgICAgIChKU0M6OkZ1bmN0b3I6OmNvbXB1dGVVc2VzRm9y
Qnl0ZWNvZGVPZmZzZXQpOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAg
ICAgIChKU0M6OkNvZGVCbG9jazo6ZHVtcEJ5dGVjb2RlKToKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVH
ZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Fy
cm93RnVuY3Rpb25FeHByZXNzaW9uKTogYWRkZWQKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5l
cmF0b3I6OmVtaXRUaGlzTm9kZUJ5dGVjb2RlKTogYWRkZWQKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvTm9kZXNDb2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6ZW1pdEJ5dGVjb2RlOjplbWl0Qnl0
ZWNvZGUpOiBhZGRlZAorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHByTm9kZTo6ZW1pdEJ5dGVj
b2RlKTogYWRkZWQKKyAgICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAg
ICAoSlNDOjpCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgICogZGZnL0RGR0Nh
cGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkNhcGFiaWxpdHlMZXZlbDo6Y2FwYWJpbGl0
eUxldmVsKToKKyAgICAgICAgKiBqaXQvSklULmg6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9v
cF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRJbmxpbmVzLmg6
CisgICAgICAgIChKU0M6OkpJVDo6Y2FsbE9wZXJhdGlvbik6IGFkZGVkCisgICAgICAgICogaml0
L0pJVC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcyk6Cisg
ICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3Bf
bmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5j
cHA6CisgICAgICAgIChKU0M6OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5ld0Fycm93RnVuY3Rp
b24pOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmg6CisgICAgICAgIChKU0M6
OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24pOiBhZGRlZAorICAgICAg
ICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAgICAgICAgKExMSU5UX1NMT1dfUEFUSF9E
RUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGxsaW50
L0xMSW50U2xvd1BhdGhzLmg6CisgICAgICAgIChMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3Bh
dGhfbmV3X2Fycm93X2Z1bmNfZXhwKSk6IGFkZGVkCisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206CisgICAgICAgICogcGFyc2VyL0FTVEJ1aWxkZXIuaDoKKyAgICAgICAg
KEpTQzo6QVNUQnVpbGRlcjo6Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIpOgorICAgICAgICAqIHBh
cnNlci9MZXhlci5jcHA6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9u
KToKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OmxleCk6CisgICAgICAgICogcGFyc2VyL0xleGVy
Lmg6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9uKToKKyAgICAgICAg
KiBwYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oOgorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHBy
Tm9kZTo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZAorICAgICAgICAqIHBhcnNlci9Ob2Rlcy5o
OgorICAgICAgICAoSlNDOjpOb2RlOjppc0Fycm93RnVuY0V4cHJOb2RlKTogYWRkZWQKKyAgICAg
ICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZCBjbGFzcworICAgICAgICAqIHBhcnNl
ci9QYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3Vy
Y2VFbGVtZW50cyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1h
cnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZVNvdXJjZUVsZW1lbnQp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6
UGFyc2VyOjpwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwYXJzZVByaW1hcnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFy
cm93RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6c2V0RW5kT2ZTdGF0ZW1lbnQp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIpOgorICAg
ICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkluZm8pOgorICAgICAgICAoSlND
OjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkJvZHkpOgorICAgICAgICAqIHBhcnNlci9QYXJz
ZXIuaDoKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpGdW5jdGlvblBhcnNlVHlwZSk6CisgICAgICAg
IChKU0M6OlBhcnNlcjo6cGFyc2VTb3VyY2VFbGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0V4cHJl
c3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnNldEVuZE9mU3RhdGVtZW50KToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKToKKyAgICAgICAgKiBw
YXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmg6CisgICAgICAgICogcGFyc2VyL1BhcnNlclRva2Vu
cy5oOgorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmFycm93RnVuY3Rpb25PZmZz
ZXQpOiBhZGRlZAorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmlzQXJyb3dGdW5j
dGlvbik6IGFkZGVkCisgICAgICAgIChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6YXJyb3dGdW5j
dGlvbkJvZHlUeXBlKTogYWRkZWQKKyAgICAgICAgKiBwYXJzZXIvU291cmNlQ29kZS5oOgorICAg
ICAgICAoSlNDOjpTb3VyY2VDb2RlOjpzdWJBcnJvd0V4cHJlc3Npb24pOgorICAgICAgICAqIHBh
cnNlci9TeW50YXhDaGVja2VyLmg6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNyZWF0
ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAgICAgKiBwYXJzZXIvU291cmNlUHJvdmlkZXJDYWNo
ZUl0ZW06CisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJh
bWV0ZXJzKToKKyAgICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0pOgorICAgICAg
ICAoSlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6ZW5kQXJyb3dGdW5jdGlvblRva2VuKToK
KyAgICAgICAgKiBydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oOiBhZGRlZCBjbGFzcyBmb3IgaGFu
ZGxlIGFycm93IGZ1bmN0aW9uIGNyZWF0aW9uIGFuZCBleGVjdXRpb24KKyAgICAgICAgKiBydW50
aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHA6CisgICAgICAgICogcnVudGltZS9KU0Z1bmN0aW9uLmg6
CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OkpTRnVuY3Rpb24pOiBhZGRlZCBvbmUgbW9yZSBj
b25zdHJ1Y3RvcgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaDoKKyAgICAg
ICAgKEpTQzo6SlNGdW5jdGlvbjo6SlNGdW5jdGlvbik6IGFkZGVkIGNvbnN0cnVjdG9yIGltcGxl
bWVudGF0aW9uCisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAg
IChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmpl
Y3Q6Om1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZSk6IGFkZGVkCisgICAgICAgIChKU0M6OkpTR2xv
YmFsT2JqZWN0OjphcnJvd0Z1bmN0aW9uU3RydWN0dXJlKToKKyAgICAgICAgKiB0ZXN0cy9zdHJl
c3MvanMvYXJyb3dmdW5jdGlvbi5qczoKKwogMjAxNS0wMy0zMSAgWXVzdWtlIFN1enVraSAgPHV0
YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBDbGVhbiB1cCBJZGVudGlmaWVyIGZhY3Rv
cmllcyB0byBjbGFyaWZ5IHRoZSBtZWFuaW5nIG9mIFN0cmluZ0ltcGwqCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ODczZjY4NTA1NmJiN2U0NzdiNmI2OTVkZmFjYjBhZWJhNThlYTQ0Ny4uMzc0MzhmNDQxMmFkNjM5
YTc0OTY4ZjNmM2VjOTdjM2QzYTNlZmIyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDE1LTA0LTAxICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAg
ICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUg
ZmxhZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgor
CisgICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAy
MDE1LTAzLTMxICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAg
ICAgICAgTW92ZSBFeHBhbnNpb25CZWhhdmlvckZsYWdzIGFuZCBUZXh0RGlyZWN0aW9uIHRvIHRo
ZWlyIG93biBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNzU3ZWE0OWQwYTMwZjk0ZDU2MjJiODM1
MzVjMWJlYmQwNDMxZTk1Ni4uZWY4N2M3NWUwMDQ5YjZjOWQ4NGQxNGNlYTQwMTVmNTBhYWUyZDUy
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTA0LTAxICBTa2FjaGtv
diBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgIFtFUzZdIEltcGxl
bWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyBFTkFCTEVfRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgorCisgICAgICAgICAqIENvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1LTAzLTMxICBZdXN1a2Ug
U3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIENsZWFuIHVwIElkZW50
aWZpZXIgZmFjdG9yaWVzIHRvIGNsYXJpZnkgdGhlIG1lYW5pbmcgb2YgU3RyaW5nSW1wbCoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA3MjExMjc2NTJkODg4ZjUwMWFiNmMy
MTdiODMzNDQxOTA0M2Y1ODY0Li41MDUzZGMxN2U2ZDU4YjExMWM3MzBhOTRjYzA3NGIwY2JlNTA3
OGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC00NjYsNiArNDY2LDcg
QEAgc2V0KEphdmFTY3JpcHRDb3JlX1JVTlRJTUVfU09VUkNFUwogICAgIHJ1bnRpbWUvSlNBcnJh
eUJ1ZmZlclZpZXcuY3BwCiAgICAgcnVudGltZS9KU0FycmF5SXRlcmF0b3IuY3BwCiAgICAgcnVu
dGltZS9KU0JvdW5kRnVuY3Rpb24uY3BwCisgICAgcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3Bw
CiAgICAgcnVudGltZS9KU0dsb2JhbE9iamVjdERlYnVnZ2FibGUuY3BwCiAgICAgcnVudGltZS9K
U0NKU1ZhbHVlLmNwcAogICAgIHJ1bnRpbWUvSlNDYWxsZWUuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKaW5kZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0
OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FO
VkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgg
PSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5U
QVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklM
VEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwog
RU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVW
RUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFC
TEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRf
QVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BB
VEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVO
QUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVf
Q1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5B
QkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVO
QUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9O
KSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQo
RU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhU
X0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01f
U0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRB
TElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRB
SUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9F
VkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRf
TE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAk
KEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNF
KSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9W
RVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxF
X0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxF
X0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFC
TEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykg
JChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9D
T05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RB
VElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxF
X01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQo
RU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAk
KEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BS
T01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklY
X0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkg
JChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1Ip
ICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5H
KSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQo
RU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdf
Rk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVN
QkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9B
RElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxM
KSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVf
VkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVO
QUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRT
KSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9X
RUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5B
QkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xB
WU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFU
VVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVO
QUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFT
X1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZ
TlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xF
VkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NP
TVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19H
UklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxF
Q1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkg
JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
UykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVO
QUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJ
TUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
TEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9B
TklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQp
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVO
QUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVO
QUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5B
QkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKaW5kZXggNzQz
MzBlNzAzZGFjNGQzNjAwZWFiMjdhMGFkOGViNGFmMDBlMGIzMi4uNjIyODczZGQyZjk0NzBhOTEz
MThhY2NjZDQ3MDlkY2VhZTcyNjA4ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52
Y3hwcm9qCkBAIC03MzQsNiArNzM0LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1
bnRpbWVcSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJWaWV3LmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNCb3VuZEZ1bmN0aW9uLmNwcCIgLz4KKyAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJvd0Z1bmN0aW9uLmNwcCIgLz4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZS5jcHAiIC8+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ2FsbGVlLmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDYXRjaFNjb3BlLmNwcCIgLz4KQEAgLTE1MjYsNiArMTUy
Nyw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJW
aWV3SW5saW5lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0Fy
cmF5SXRlcmF0b3IuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNC
b3VuZEZ1bmN0aW9uLmgiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpT
QXJyb3dGdW5jdGlvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxK
U0NJbmxpbmVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0pT
VmFsdWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1
ZUlubGluZXMuaCIgLz4KQEAgLTE4MDAsNCArMTgwMiw0IEBACiAgIDxJbXBvcnRHcm91cCBMYWJl
bD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1Bh
dGgpXEJ1aWxkQ3VzdG9taXphdGlvbnNcbWFzbS50YXJnZXRzIiAvPgogICA8L0ltcG9ydEdyb3Vw
PgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYmEyZDEzNmViOTViNWE5ZmQzNTRhYjMwYThm
MzY5MWJmNzhjZWI4Ni4uZTlkNmYyNDY1ZTMzODU1ZDM2OGI0ZDIwNGUwZDc2NDZjNTZlOTg5ZiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwOTIsNiArMTA5Miw4IEBACiAJCTg2
RjNFRUJGMTY4Q0RFOTMwMDc3QjkyQSAvKiBPYmpjUnVudGltZUV4dHJhcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGM0VFQjYxNjg1NUE1QjAwNzdC
OTJBIC8qIE9iamNSdW50aW1lRXh0cmFzLmggKi87IH07CiAJCTg2RkE5RTkxMTQyQkJCMkUwMDE3
NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRGdW5j
dGlvbi5jcHAgKi87IH07CiAJCTg2RkE5RTkyMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVu
Y3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2
RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLzsgfTsKKwkJOEIw
RjQyNEMxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUyMDAzOTE3
RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCAqLzsgfTsKKwkJOEIwRjQyNEMxQUJENkRFMjAwMzkx
N0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlv
bi5oICovOyB9OwogCQk5MDIxM0UzRDEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGlj
cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIx
M0UzQjEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi87IH07CiAJCTkw
MjEzRTNFMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIxM0UzQzEyM0E0MEMyMDBENDIy
RjMgLyogTWVtb3J5U3RhdGlzdGljcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTkzMDUyQzM0MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVu
YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzA1
MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwICovOyB9OwpAQCAtMjgyNCw2
ICsyODI2LDggQEAKIAkJODZGNzVFRkQxNTFDMDYyRjAwN0M5QkEzIC8qIFJlZ0V4cE1hdGNoZXNB
cnJheS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWdFeHBNYXRj
aGVzQXJyYXkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkZBOUU4RjE0MkJC
QjJEMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTQm91bmRGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdFQSAvKiBKU0Fy
cm93RnVuY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcnJvd0Z1bmN0aW9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93
RnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcnJv
d0Z1bmN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTAyMTNFM0IxMjNB
NDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTWVtb3J5U3RhdGlzdGljcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lbW9yeVN0YXRpc3RpY3MuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8q
IFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBh
cnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ0MzgsNiArNDQ0
Miw4IEBACiAJCQkJQTdCREFFQzUxN0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJyYXlJdGVyYXRvci5o
ICovLAogCQkJCTg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3Bw
ICovLAogCQkJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAq
LywKKwkJCQk4QjBGNDI0QTFBQkQ2RDJGMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggKi8s
CisJCQkJOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgKi8s
CiAJCQkJNjU3Q0Y0NTYxOUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmNwcCAqLywKIAkJCQk2
NTdDRjQ1NzE5QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuaCAqLywKIAkJCQkwRkQ5NDk3RTFB
OTdEQjk2MDBFMjg5NjYgLyogSlNDYXRjaFNjb3BlLmNwcCAqLywKQEAgLTcxNjYsNiArNzE3Miw3
IEBACiAJCQkJMEZEOEEzMUIxN0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTE9TUkVudHJ5LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGMjM1QkRDMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjM1QkRGMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JF
eGl0Q29tcGlsZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOEIwRjQyNEMxQUJENkRFMjAwMzkx
N0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkVBMEEyQTE3
MDk2Mjk2MDBCQjcyMkMgLyogRlRMT3V0cHV0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNDg1
MzI5MTg3REZERUMwMDgzQjY4NyAvKiBGVExSZWNvdmVyeU9wY29kZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwRjZCMUNDMzE4NjJDNDc4MDA4NDVEOTcgLyogRlRMUmVnaXN0ZXJBdE9mZnNldC5j
cHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9CeXRlY29kZUxpc3QuanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9C
eXRlY29kZUxpc3QuanNvbgppbmRleCA2YjI0MzkxNTZhYjNhZmFlNmI1NThhYjkwNjZkMjIyNTE1
ZDU5ZTQ1Li40MzYwNzA5ZDhmN2U0MTgyMTVhYjJhZjk1OWJmNjQ0OGFmMDM4MDI4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24KKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCkBAIC05
NSw2ICs5NSw3IEBACiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9zd2l0Y2hfc3RyaW5nIiwg
Imxlbmd0aCIgOiA0IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfZnVuYyIsICJs
ZW5ndGgiIDogNCB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfbmV3X2Z1bmNfZXhwIiwg
Imxlbmd0aCIgOiA0IH0sCisgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfYXJyb3dfZnVu
Y19leHAiLCAibGVuZ3RoIiA6IDUgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGwi
LCAibGVuZ3RoIiA6IDkgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGxfZXZhbCIs
ICJsZW5ndGgiIDogOSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbF92YXJhcmdz
IiwgImxlbmd0aCIgOiA5IH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9C
eXRlY29kZVVzZURlZi5oCmluZGV4IDg1ZjI5MTVjN2U4ZjYwMWFkM2VjMTc4YmY2OWUzNTQ0Zjc1
NGMyY2YuLjE3YjZiZWQ4MWZlMjViNjIzMzBiYWEzZmQwMzFjNzE2YWI4OGY5YmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCkBAIC0xMTYs
NiArMTE2LDkgQEAgdm9pZCBjb21wdXRlVXNlc0ZvckJ5dGVjb2RlT2Zmc2V0KAogICAgIGNhc2Ug
b3BfZ2V0X3Byb3BlcnR5X2VudW1lcmF0b3I6CiAgICAgY2FzZSBvcF9nZXRfZW51bWVyYWJsZV9s
ZW5ndGg6CiAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRpZgog
ICAgIGNhc2Ugb3BfdG9faW5kZXhfc3RyaW5nOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29u
c3Rfbm9wOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29uc3Q6CkBAIC0zMDgsNiArMzExLDkg
QEAgdm9pZCBjb21wdXRlRGVmc0ZvckJ5dGVjb2RlT2Zmc2V0KENvZGVCbG9jayogY29kZUJsb2Nr
LCB1bnNpZ25lZCBieXRlY29kZU9mZnNldCwKICAgICBjYXNlIG9wX25ld19yZWdleHA6CiAgICAg
Y2FzZSBvcF9uZXdfZnVuYzoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhw
OgorI2VuZGlmCiAgICAgY2FzZSBvcF9jYWxsX3ZhcmFyZ3M6CiAgICAgY2FzZSBvcF9jb25zdHJ1
Y3RfdmFyYXJnczoKICAgICBjYXNlIG9wX2dldF9mcm9tX3Njb3BlOgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAppbmRleCA5ZTk1MTdlNzgxYmU1NTdmMDRm
MTdmOTNkZWM3MWI5MTZjYzlhMmFkLi4xMTU0MjBjZTExYjA4NTlmNmVlMzNhODI5YzQzMGQxOTA3
YmYxZWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNw
cApAQCAtMTI3NCw2ICsxMjc0LDE3IEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wQnl0ZWNvZGUoCiAg
ICAgICAgICAgICBvdXQucHJpbnRmKCIlcywgJXMsIGYlZCIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0
YSgpLCByZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjApOwogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBj
YXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDogeworICAgICAgICAgICAgaW50IHIwID0gKCsraXQp
LT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUub3BlcmFuZDsKKyAg
ICAgICAgICAgIGludCBmMCA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgaW50IHIy
ID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBwcmludExvY2F0aW9uQW5kT3Aob3V0
LCBleGVjLCBsb2NhdGlvbiwgaXQsICJvcF9uZXdfYXJyb3dfZnVuY19leHAiKTsKKyAgICAgICAg
ICAgIG91dC5wcmludGYoIiVzLCAlcywgZiVkLCAlcyIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0YSgp
LCByZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjAsIHJlZ2lzdGVyTmFtZShyMikuZGF0YSgpKTsK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgY2FzZSBvcF9u
ZXdfZnVuY19leHA6IHsKICAgICAgICAgICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVyYW5kOwog
ICAgICAgICAgICAgaW50IHIxID0gKCsraXQpLT51Lm9wZXJhbmQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCmlu
ZGV4IDg4NzJkNzc3ZDNlNTkyMTFjOTE2ZDQ3ODBkMGUwNDI3ZWQzOThmODYuLmE3OTY0YmI1YmMz
MmFlNzVkYTM1MDAzZDZmZGU0NjRhMmM5ZTA2NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0xNzU0
LDYgKzE3NTQsMzQgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdGdW5j
dGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogcjAsIEZ1bmNFeHAKICAgICBpbnN0cnVjdGlvbnMo
KS5hcHBlbmQoaW5kZXgpOwogICAgIHJldHVybiByMDsKIH0KKyAgICAKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVt
aXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVuY0V4cHJOb2Rl
KiBuKQoreworICAgIEZ1bmN0aW9uQm9keU5vZGUqIGZ1bmN0aW9uID0gbi0+Ym9keSgpOworICAg
IHVuc2lnbmVkIGluZGV4ID0gbV9jb2RlQmxvY2stPmFkZEZ1bmN0aW9uRXhwcihtYWtlRnVuY3Rp
b24oZnVuY3Rpb24pKTsKKyAgICAKKyAgICBlbWl0T3Bjb2RlKG9wX25ld19hcnJvd19mdW5jX2V4
cCk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHIwLT5pbmRleCgpKTsKKyAgICBpbnN0cnVj
dGlvbnMoKS5hcHBlbmQoc2NvcGVSZWdpc3RlcigpLT5pbmRleCgpKTsKKyAgICBpbnN0cnVjdGlv
bnMoKS5hcHBlbmQoaW5kZXgpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZCh0aGlzUmVnaXN0
ZXIoKS0+aW5kZXgoKSk7CisgICAgcmV0dXJuIHIwOworfQorICAgIAorUmVnaXN0ZXJJRCogQnl0
ZWNvZGVHZW5lcmF0b3I6OmVtaXRUaGlzTm9kZUJ5dGVjb2RlKFJlZ2lzdGVySUQqIGRzdCwgSlNU
ZXh0UG9zaXRpb24gcG9zaXRpb24pCit7CisgICAgaWYgKGRzdCA9PSBpZ25vcmVkUmVzdWx0KCkp
CisgICAgICAgIHJldHVybiAwOworICAgIFJlZ2lzdGVySUQqIHJlc3VsdCA9IG1vdmVUb0Rlc3Rp
bmF0aW9uSWZOZWVkZWQoZHN0LCB0aGlzUmVnaXN0ZXIoKSk7CisgICAgaWYgKHZtKCktPnR5cGVQ
cm9maWxlcigpKSB7CisgICAgICAgIGVtaXRQcm9maWxlVHlwZSh0aGlzUmVnaXN0ZXIoKSwgUHJv
ZmlsZVR5cGVCeXRlY29kZURvZXNOb3RIYXZlR2xvYmFsSUQsIG51bGxwdHIpOworICAgICAgICBz
dGF0aWMgY29uc3QgdW5zaWduZWQgdGhpc0xlbmd0aCA9IDQ7CisgICAgICAgIGVtaXRUeXBlUHJv
ZmlsZXJFeHByZXNzaW9uSW5mbyhwb3NpdGlvbiwgSlNUZXh0UG9zaXRpb24oLTEsIHBvc2l0aW9u
Lm9mZnNldCArIHRoaXNMZW5ndGgsIC0xKSk7CisgICAgfQorICAgIHJldHVybiByZXN1bHQ7Cit9
CisjZW5kaWYKIAogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdEZWZhdWx0
Q29uc3RydWN0b3IoUmVnaXN0ZXJJRCogZHN0LCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JL
aW5kLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmluZGV4IDRmZmVmNmI0
MDk3ZjAyNDZkYzFiYWU4OWVlOGFhYjhlYzk1YzYwZmEuLjM3OGExOWVhYWVkZGZiZGI0ZjUxMjI4
MGU5MDg5NDM4NTc3YTc0OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTQ1NCw2ICs0NTQsMTAgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5jdGlvbkludGVybmFs
KFJlZ2lzdGVySUQqIGRzdCwgdW5zaWduZWQgaW5kZXgpOwogICAgICAgICBSZWdpc3RlcklEKiBl
bWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIGRzdCwgRnVuY0V4cHJOb2RlKiBm
dW5jKTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0RlZmF1bHRDb25zdHJ1Y3RvcihSZWdp
c3RlcklEKiBkc3QsIENvbnN0cnVjdG9yS2luZCwgY29uc3QgSWRlbnRpZmllciYgbmFtZSk7Cisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgUmVnaXN0ZXJJRCog
ZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqLCBGdW5jRXhwck5vZGUq
KTsKKyAgICAgICAgUmVnaXN0ZXJJRCogZW1pdFRoaXNOb2RlQnl0ZWNvZGUoUmVnaXN0ZXJJRCos
IEpTVGV4dFBvc2l0aW9uKTsKKyNlbmRpZgogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3UmVn
RXhwKFJlZ2lzdGVySUQqIGRzdCwgUmVnRXhwKik7CiAKICAgICAgICAgUmVnaXN0ZXJJRCogZW1p
dE1vdmVFbXB0eVZhbHVlKFJlZ2lzdGVySUQqIGRzdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXggNGY3NDc2Y2EzM2M5
MTMxYmI3M2RmYTg5NmE2MDA1NzU2MjY1ODFiNy4uZGU1NDkxY2M3MDJlNjcxMmVhZWNhNTAxZWU0
OGI1OTA3Nzk2ZjM0NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21w
aWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29t
cGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtMTQ5LDcgKzE0OSw5IEBAIFJlZ2lzdGVySUQqIFRo
aXNOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0
ZXJJRCogZHN0CiAKICAgICBpZiAoZHN0ID09IGdlbmVyYXRvci5pZ25vcmVkUmVzdWx0KCkpCiAg
ICAgICAgIHJldHVybiAwOwotCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXRUaGlzTm9kZUJ5dGVjb2RlKGRzdCwgcG9zaXRpb24o
KSk7CisjZWxzZQogICAgIFJlZ2lzdGVySUQqIHJlc3VsdCA9IGdlbmVyYXRvci5tb3ZlVG9EZXN0
aW5hdGlvbklmTmVlZGVkKGRzdCwgZ2VuZXJhdG9yLnRoaXNSZWdpc3RlcigpKTsKICAgICBpZiAo
Z2VuZXJhdG9yLnZtKCktPnR5cGVQcm9maWxlcigpKSB7CiAgICAgICAgIGdlbmVyYXRvci5lbWl0
UHJvZmlsZVR5cGUoZ2VuZXJhdG9yLnRoaXNSZWdpc3RlcigpLCBQcm9maWxlVHlwZUJ5dGVjb2Rl
RG9lc05vdEhhdmVHbG9iYWxJRCwgbnVsbHB0cik7CkBAIC0xNTcsNiArMTU5LDcgQEAgUmVnaXN0
ZXJJRCogVGhpc05vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9y
LCBSZWdpc3RlcklEKiBkc3QKICAgICAgICAgZ2VuZXJhdG9yLmVtaXRUeXBlUHJvZmlsZXJFeHBy
ZXNzaW9uSW5mbyhwb3NpdGlvbigpLCBKU1RleHRQb3NpdGlvbigtMSwgcG9zaXRpb24oKS5vZmZz
ZXQgKyB0aGlzTGVuZ3RoLCAtMSkpOwogICAgIH0KICAgICByZXR1cm4gcmVzdWx0OworI2VuZGlm
CiB9CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBTdXBlck5vZGUgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMjgzMyw2ICsyODM2LDE0IEBAIFJl
Z2lzdGVySUQqIEZ1bmNFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBn
ZW5lcmF0b3IsIFJlZ2lzdGVySUQqCiAgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0TmV3RnVuY3Rp
b25FeHByZXNzaW9uKGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHRoaXMpOwogfQog
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgICAgCisvLyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0gQXJyb3dGdW5jRXhwck5vZGUgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCitSZWdpc3RlcklEKiBBcnJvd0Z1bmNFeHByTm9kZTo6ZW1pdEJ5dGVj
b2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKK3sKKyAg
ICByZXR1cm4gZ2VuZXJhdG9yLmVtaXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihnZW5lcmF0
b3IuZmluYWxEZXN0aW5hdGlvbihkc3QpLCB0aGlzKTsKK30KKyNlbmRpZgorICAgIAogI2lmIEVO
QUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
IENsYXNzRGVjbE5vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKaW5kZXggNTNh
YzE3NzQ2MTk2OWVlZmI2NmFkZjYwOTA2ODFlNmU1Yjc2YjAzMi4uZmQ3MzdhM2Y3OGU5YzJiOWYx
YTk5MTk3ODhkMTIzZTZiMmQ5MzMwYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKQEAgLTM2NzUsNiArMzY3NSwxNSBAQCBib29sIEJ5dGVD
b2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxpbWl0KQogICAgICAgICAgICAgTkVYVF9P
UENPREUob3BfbmV3X2Z1bmNfZXhwKTsKICAgICAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6IHsK
KyAgICAgICAgICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhwciA9IG1faW5saW5lU3RhY2tUb3At
Pm1fcHJvZmlsZWRCbG9jay0+ZnVuY3Rpb25FeHByKGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9w
ZXJhbmQpOworICAgICAgICAgICAgRnJvemVuVmFsdWUqIGZyb3plbiA9IG1fZ3JhcGguZnJlZXpl
U3Ryb25nKGV4cHIpOworICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5z
dHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwKKyAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKE5ld0Z1
bmN0aW9uLCBPcEluZm8oZnJvemVuKSwgZ2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1
Y3Rpb25bMl0udS5vcGVyYW5kKSkpKTsKKyAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX25ld19h
cnJvd19mdW5jX2V4cCk7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBjYXNlIG9wX3R5cGVv
ZjogewogICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25b
MV0udS5vcGVyYW5kKSwKICAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKFR5cGVPZiwgZ2V0KFZp
cnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSkpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAppbmRleCA4ZWY0ZGNm
MTU2OGJkNWVkYTRiODk3ZTc2ODRhOGNiYjkxYmY2ZTA4Li43ZjQ1YTgzMWVhNmU2MjczYmFjZDJl
M2Y4MzM2ZGRjNTYyYzhjYzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0NhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdD
YXBhYmlsaXRpZXMuY3BwCkBAIC0yMDgsNiArMjA4LDkgQEAgQ2FwYWJpbGl0eUxldmVsIGNhcGFi
aWxpdHlMZXZlbChPcGNvZGVJRCBvcGNvZGVJRCwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIEluc3Ry
dWMKICAgICBjYXNlIG9wX25ld19mdW5jOgogICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOgogICAg
IGNhc2Ugb3BfY3JlYXRlX2xleGljYWxfZW52aXJvbm1lbnQ6CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRp
ZgogICAgICAgICByZXR1cm4gQ2FuQ29tcGlsZUFuZElubGluZTsKIAogICAgIGNhc2Ugb3BfcHV0
X3RvX3Njb3BlOiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0
ZXIvSW50ZXJwcmV0ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0lu
dGVycHJldGVyLmNwcAppbmRleCBlY2ZjZTkxYmQzYzAzMDg1M2EzOTQwMzJiYTVjZDI4MmExYTNj
ZDhlLi4zYWM5M2E5ZmFiMjQ4MjQ4MDc1ZTIxODAzMzI3Mzc0NDM1Yzk5MGNlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKQEAgLTQ1
LDYgKzQ1LDkgQEAKICNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJKU0FycmF5
LmgiCiAjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNlbmRpZgogI2lu
Y2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgog
I2luY2x1ZGUgIkpTTmFtZVNjb3BlLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKaW5kZXgg
NDJhODJkNDM5NDYxNjJmOTVmYTQ3NDY3NTY3MTM5ZDRhYWYyMzg2Yi4uMTg2MGEwYWEzM2IwODE5
YzRmODU1MDg1ZjVlOGI3MGZhMjMyYTQzMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcApA
QCAtMjUzLDYgKzI1Myw5IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkKICAg
ICAgICAgREVGSU5FX09QKG9wX25ld19hcnJheV9idWZmZXIpCiAgICAgICAgIERFRklORV9PUChv
cF9uZXdfZnVuYykKICAgICAgICAgREVGSU5FX09QKG9wX25ld19mdW5jX2V4cCkKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBERUZJTkVfT1Aob3BfbmV3X2Fy
cm93X2Z1bmNfZXhwKQorI2VuZGlmICAKICAgICAgICAgREVGSU5FX09QKG9wX25ld19vYmplY3Qp
CiAgICAgICAgIERFRklORV9PUChvcF9uZXdfcmVnZXhwKQogICAgICAgICBERUZJTkVfT1Aob3Bf
bm90KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKaW5kZXggZWU0ODU1ZGMyZTc4YjU1YWNjNDU5OWVi
ZGI5OWEwZDhlMDhiZTdjYy4uYjY3ZDhlNjVmYTQ4ZWVhMjQ2ODYzMzRmMjM1YTExMzYwZGE0NGVk
NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCkBAIC01MjIsNiArNTIyLDkgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfYXJyYXlfYnVmZmVyKEluc3RydWN0aW9u
Kik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfZnVuYyhJbnN0cnVjdGlvbiopOwogICAgICAg
ICB2b2lkIGVtaXRfb3BfbmV3X2Z1bmNfZXhwKEluc3RydWN0aW9uKik7CisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdm9pZCBlbWl0X29wX25ld19hcnJvd19m
dW5jX2V4cChJbnN0cnVjdGlvbiopOworI2VuZGlmCiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdf
b2JqZWN0KEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfcmVnZXhwKElu
c3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9ub3QoSW5zdHJ1Y3Rpb24qKTsKQEAg
LTcwNSw2ICs3MDgsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6
OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSkosIGludCwgR1BSUmVnLCBHUFJS
ZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3Bl
cmF0aW9uX0VKc2MsIEdQUlJlZyk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxP
cGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0MsIGludCwgR1BSUmVnLCBKU0NlbGwqKTsKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBNYWNyb0Fzc2VtYmxl
cjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKc2NDSiwgaW50LCBHUFJSZWcs
IEpTQ2VsbCosIEdQUlJlZyk7CisjZW5kaWYKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwg
Y2FsbE9wZXJhdGlvbihDX0pJVE9wZXJhdGlvbl9FSnNjWiwgR1BSUmVnLCBpbnQzMl90KTsKICAg
ICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihDX0pJVE9wZXJhdGlvbl9F
SnNjWiwgaW50LCBHUFJSZWcsIGludDMyX3QpOwogI2lmIFVTRShKU1ZBTFVFNjQpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oCmluZGV4IDllZTI0ZDA5MjI4YTk4ODJlYTc2OTYy
OWQxYTg3YjZjMzRhODYzMzQuLjU0MzRlNWZiMTYxNDg3Yzg4YWQxZmNmMWJjZjYzMDZmNjAzZDFl
ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oCkBAIC0yNzEsNiArMjcx
LDE0IEBAIEFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0
aW9uKEpfSklUT3BlcmF0aW9uX0VKc2NDIG9wZXJhCiAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRo
RXhjZXB0aW9uQ2hlY2tTZXRKU1ZhbHVlUmVzdWx0KG9wZXJhdGlvbiwgZHN0KTsKIH0KIAorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitBTFdBWVNfSU5MSU5FIE1hY3JvQXNz
ZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0ogb3Bl
cmF0aW9uLCBpbnQgZHN0LCBHUFJSZWcgYXJnMSwgSlNDZWxsKiBjZWxsLCBHUFJSZWcgYXJnMikK
K3sKKyAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihj
ZWxsKSwgYXJnMik7CisgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRK
U1ZhbHVlUmVzdWx0KG9wZXJhdGlvbiwgZHN0KTsKK30KKyNlbmRpZgorICAgIAogQUxXQVlTX0lO
TElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRp
b25fRVAgb3BlcmF0aW9uLCBpbnQgZHN0LCB2b2lkKiBwb2ludGVyKQogewogICAgIHNldHVwQXJn
dW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHBvaW50ZXIpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCmluZGV4IGQzZDU4MGU5ZTI2MDA4NTNiNjY0OWUy
ODU5MThmODUzOGJlNjk0NGMuLjQ4ODNhODNkMTc2NDhkZGRlOWNhZGEwNzZlMTc2MDNlMzc4MzZh
ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcApAQCAtOTcyLDYg
Kzk3MiwzMSBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9uZXdfZnVuY19leHAoSW5zdHJ1Y3Rpb24qIGN1
cnJlbnRJbnN0cnVjdGlvbikKICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbk5ld0Z1bmN0aW9u
LCBkc3QsIHJlZ1QwLCBmdW5jRXhwcik7CiAgICAgZG9uZS5saW5rKHRoaXMpOwogfQorICAgIAor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit2b2lkIEpJVDo6ZW1pdF9vcF9u
ZXdfYXJyb3dfZnVuY19leHAoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKK3sKKyAg
ICBKdW1wIG5vdFVuZGVmaW5lZFNjb3BlOworICAgIGludCBkc3QgPSBjdXJyZW50SW5zdHJ1Y3Rp
b25bMV0udS5vcGVyYW5kOworI2lmIFVTRShKU1ZBTFVFNjQpCisgICAgZW1pdEdldFZpcnR1YWxS
ZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kLCByZWdUMCk7CisgICAgZW1p
dEdldFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bNF0udS5vcGVyYW5kLCByZWdU
MSk7CisgICAgbm90VW5kZWZpbmVkU2NvcGUgPSBicmFuY2g2NChOb3RFcXVhbCwgcmVnVDAsIFRy
dXN0ZWRJbW02NChKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSkpKTsKKyAgICBzdG9yZTY0
KFRydXN0ZWRJbW02NChKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSkpLCBBZGRyZXNzKGNh
bGxGcmFtZVJlZ2lzdGVyLCBzaXplb2YoUmVnaXN0ZXIpICogZHN0KSk7CisjZWxzZQorICAgIGVt
aXRMb2FkUGF5bG9hZChjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kLCByZWdUMCk7Cisg
ICAgZW1pdExvYWRQYXlsb2FkKGN1cnJlbnRJbnN0cnVjdGlvbls0XS51Lm9wZXJhbmQsIHJlZ1Qx
KTsKKyAgICBub3RVbmRlZmluZWRTY29wZSA9IGJyYW5jaDMyKE5vdEVxdWFsLCB0YWdGb3IoY3Vy
cmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCksIFRydXN0ZWRJbW0zMihKU1ZhbHVlOjpVbmRl
ZmluZWRUYWcpKTsKKyAgICBlbWl0U3RvcmUoZHN0LCBqc1VuZGVmaW5lZCgpKTsKKyNlbmRpZgor
ICAgIEp1bXAgZG9uZSA9IGp1bXAoKTsKKyAgICBub3RVbmRlZmluZWRTY29wZS5saW5rKHRoaXMp
OworICAgIAorICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZnVuY3Rpb24gPSBtX2NvZGVCbG9jay0+
ZnVuY3Rpb25FeHByKGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9wZXJhbmQpOworICAgIGNhbGxP
cGVyYXRpb24ob3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbiwgZHN0LCByZWdUMCwgZnVuY3Rpb24s
IHJlZ1QxKTsKKyAgICBkb25lLmxpbmsodGhpcyk7Cit9CisjZW5kaWYKIAogdm9pZCBKSVQ6OmVt
aXRfb3BfbmV3X2FycmF5KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAppbmRleCA1OGI4NjM2ZDg4
NmRiYjJlODUyOTFiMjkzNTBkOWNmNGUxNDI0MTcxLi45ZjUyNGM4YmQ5OTY4NTc2MTIwYzAzNjUx
Nzc4MjU1MDI3NjQ2ZjFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VE9wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0
aW9ucy5jcHAKQEAgLTQyLDYgKzQyLDEwIEBACiAjaW5jbHVkZSAiSG9zdENhbGxSZXR1cm5WYWx1
ZS5oIgogI2luY2x1ZGUgIkpJVC5oIgogI2luY2x1ZGUgIkpJVFRvREZHRGVmZXJyZWRDb21waWxh
dGlvbkNhbGxiYWNrLmgiCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyNp
bmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNlbmRpZgorI2luY2x1ZGUgIkpTQm91bmRGdW5j
dGlvbi5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0NhdGNoU2NvcGUu
aCIKICNpbmNsdWRlICJKU0Z1bmN0aW9uTmFtZVNjb3BlLmgiCkBAIC05MzMsNiArOTM3LDIxIEBA
IEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3RnVuY3Rpb24oRXhlY1N0
YXRlKiBleGVjLCBKU1Njb3BlKiBzY29wCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU0Z1
bmN0aW9uOjpjcmVhdGUodm0sIHN0YXRpY19jYXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KGZ1bmN0
aW9uRXhlY3V0YWJsZSksIHNjb3BlKSk7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJv
d0Z1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNTY29wZSogc2NvcGUsIEpTQ2VsbCogZnVuY3Rp
b25FeGVjdXRhYmxlLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUpCit7CisgICAgQVNTRVJUKGZ1
bmN0aW9uRXhlY3V0YWJsZS0+aW5oZXJpdHMoRnVuY3Rpb25FeGVjdXRhYmxlOjppbmZvKCkpKTsK
KyAgICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFj
ZXIoJnZtLCBleGVjKTsKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZXhlYy0+
Y2FsbGVlKCktPmdsb2JhbE9iamVjdCgpOworICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Fycm93
RnVuY3Rpb246OmNyZWF0ZSh2bSwgc2NvcGUsIHN0YXRpY19jYXN0PEZ1bmN0aW9uRXhlY3V0YWJs
ZSo+KGZ1bmN0aW9uRXhlY3V0YWJsZSksIGdsb2JhbE9iamVjdCk7CisgICAgCisgICAgSlNBcnJh
eSogYm91bmRBcmdzID0gSlNBcnJheTo6dHJ5Q3JlYXRlVW5pbml0aWFsaXplZCh2bSwgZ2xvYmFs
T2JqZWN0LT5hcnJheVN0cnVjdHVyZUZvckluZGV4aW5nVHlwZUR1cmluZ0FsbG9jYXRpb24oQXJy
YXlXaXRoVW5kZWNpZGVkKSwgMCk7CisgICAgCisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShK
U0JvdW5kRnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBmdW5jLCBKU1ZhbHVlOjpk
ZWNvZGUodGhpc1ZhbHVlKSwgYm91bmRBcmdzLCAwLCAiIikpOworfQorI2VuZGlmCisgICAgCiBK
U0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3T2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCmluZGV4IDRkZWNlZjRlYjhiNDhi
YjkzN2Q1NGQwYjYwNGI5Yjc3NjdhNGVhNjEuLjU4NGFhNTNkZjMyNWU1MzBjZGZiMjVjMzExMDlh
MWI4MTBiNDQ2NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bl
cmF0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5o
CkBAIC0xMTYsNiArMTE2LDkgQEAgdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
ICgqSl9KSVRPcGVyYXRpb25fRVBQKShFeGVjU3RhdGUqLCB2b2lkKiwgdm8KIHR5cGVkZWYgRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQUykoRXhlY1N0YXRl
Kiwgdm9pZCosIHNpemVfdCk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04g
KCpKX0pJVE9wZXJhdGlvbl9FUGMpKEV4ZWNTdGF0ZSosIEluc3RydWN0aW9uKik7CiB0eXBlZGVm
IEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FSnNjQykoRXhl
Y1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCopOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCit0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9w
ZXJhdGlvbl9FSnNjQ0opKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNW
YWx1ZSk7CisjZW5kaWYKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpf
SklUT3BlcmF0aW9uX0VTUykoRXhlY1N0YXRlKiwgc2l6ZV90LCBzaXplX3QpOwogdHlwZWRlZiBF
bmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNzaUNJKShFeGVj
U3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEpTQ2VsbCosIFN0cmluZ0ltcGwqKTsKIHR5cGVk
ZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTc2lKSSko
RXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSwgU3RyaW5nSW1w
bCopOwpAQCAtMjc4LDYgKzI4MSw5IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uTmV3QXJyYXlXaXRoUHJvZmlsZShFeGVjU3RhdGUqLCBBcnJheUFsbG9jCiBFbmNvZGVk
SlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5QnVmZmVyV2l0aFByb2ZpbGUo
RXhlY1N0YXRlKiwgQXJyYXlBbGxvY2F0aW9uUHJvZmlsZSosIGNvbnN0IEpTVmFsdWUqIHZhbHVl
cywgaW50MzJfdCBzaXplKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbk5ld0FycmF5V2l0aFNpemVBbmRQcm9maWxlKEV4ZWNTdGF0ZSosIEFycmF5
QWxsb2NhdGlvblByb2ZpbGUqLCBFbmNvZGVkSlNWYWx1ZSBzaXplKSBXVEZfSU5URVJOQUw7CiBF
bmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Z1bmN0aW9uKEV4ZWNTdGF0
ZSosIEpTU2NvcGUqLCBKU0NlbGwqKSBXVEZfSU5URVJOQUw7CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
TmV3QXJyb3dGdW5jdGlvbihFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKiwgRW5jb2RlZEpT
VmFsdWUpIFdURl9JTlRFUk5BTDsKKyNlbmRpZgogSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbk5ld09iamVjdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqKSBXVEZfSU5URVJOQUw7CiBFbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld1JlZ2V4cChFeGVjU3RhdGUqLCB2
b2lkKikgV1RGX0lOVEVSTkFMOwogdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkhhbmRsZVdh
dGNoZG9nVGltZXIoRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFMOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKaW5kZXggMjc5Mjg1YTQ2ODA2Y2M2ODlk
MDVkMTNjZjQ2MzQyZDA2YjVlZmQ2NC4uOGNkMWNhY2QzZTU4ZGExOTRkNGJkZGY5ZmY0ZGM3Yzdi
NTUzNTY5YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xv
d1BhdGhzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0
aHMuY3BwCkBAIC0zOCw2ICszOCwxMCBAQAogI2luY2x1ZGUgIkludGVycHJldGVyLmgiCiAjaW5j
bHVkZSAiSklULmgiCiAjaW5jbHVkZSAiSklURXhjZXB0aW9ucy5oIgorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCisjaW5j
bHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCisjZW5kaWYKICNpbmNsdWRlICJKU0xleGljYWxFbnZp
cm9ubWVudC5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVl
LmgiCkBAIC0xNzEsNiArMTc1LDE1IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgTExJbnQg
ewogICAgICAgICBMTElOVF9SRVRVUk5fVFdPKHBjLCBfX3JjZl9leGVjKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAogICAgIH0gd2hpbGUgKGZhbHNlKQogCisgICAgCisjZGVmaW5l
IExMSU5UX0NBTENfUFJPUEVSVFlfRk9SX0ZVTkNfRVhQUigpICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICBMTElOVF9CRUdJTigpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIENvZGVCbG9j
ayogY29kZUJsb2NrID0gZXhlYy0+Y29kZUJsb2NrKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgSlNTY29wZSogc2NvcGUgPSBleGVjLT51bmNoZWNrZWRSKHBjWzJd
LnUub3BlcmFuZCkuUmVnaXN0ZXI6OnNjb3BlKCk7ICAgICAgIFwKKyAgICBGdW5jdGlvbkV4ZWN1
dGFibGUqIGV4ZWN1dGFibGUgPSBjb2RlQmxvY2stPmZ1bmN0aW9uRXhwcihwY1szXS51Lm9wZXJh
bmQpOyAgXAorICAgIAorZW51bSBGdW5jdGlvbkV4cHJlc3Npb25UeXBlIHsgQXJyb3dGdW5jdGlv
bkV4cHJlc3Npb25UeXBlLCBDb21tb25GdW5jdGlvbkV4cHJlc3Npb25UeXBlfTsKKyAgICAKIGV4
dGVybiAiQyIgU2xvd1BhdGhSZXR1cm5UeXBlIGxsaW50X3RyYWNlX29wZXJhbmQoRXhlY1N0YXRl
KiBleGVjLCBJbnN0cnVjdGlvbiogcGMsIGludCBmcm9tV2hlcmUsIGludCBvcGVyYW5kKQogewog
ICAgIExMSU5UX0JFR0lOKCk7CkBAIC05ODUsMTggKzk5OCwzMyBAQCBMTElOVF9TTE9XX1BBVEhf
REVDTChzbG93X3BhdGhfbmV3X2Z1bmMpCiAjZW5kaWYKICAgICBMTElOVF9SRVRVUk4oSlNGdW5j
dGlvbjo6Y3JlYXRlKHZtLCBjb2RlQmxvY2stPmZ1bmN0aW9uRGVjbChwY1szXS51Lm9wZXJhbmQp
LCBzY29wZSkpOwogfQotCisgICAgCiBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfbmV3
X2Z1bmNfZXhwKQogewotICAgIExMSU5UX0JFR0lOKCk7Ci0gICAgQ29kZUJsb2NrKiBjb2RlQmxv
Y2sgPSBleGVjLT5jb2RlQmxvY2soKTsKLSAgICBKU1Njb3BlKiBzY29wZSA9IGV4ZWMtPnVuY2hl
Y2tlZFIocGNbMl0udS5vcGVyYW5kKS5SZWdpc3Rlcjo6c2NvcGUoKTsKLSAgICBGdW5jdGlvbkV4
ZWN1dGFibGUqIGZ1bmN0aW9uID0gY29kZUJsb2NrLT5mdW5jdGlvbkV4cHIocGNbM10udS5vcGVy
YW5kKTsKLSAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBmdW5j
dGlvbiwgc2NvcGUpOwotICAgIAorICAgIExMSU5UX0NBTENfUFJPUEVSVFlfRk9SX0ZVTkNfRVhQ
UigpOworCisgICAgSlNGdW5jdGlvbiogZnVuYyA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgZXhl
Y3V0YWJsZSwgc2NvcGUpOwogICAgIExMSU5UX1JFVFVSTihmdW5jKTsKIH0KIAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3Bh
dGhfbmV3X2Fycm93X2Z1bmNfZXhwKQoreworICAgIExMSU5UX0NBTENfUFJPUEVSVFlfRk9SX0ZV
TkNfRVhQUigpOworICAgIAorICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gTExJTlRfT1BfQyg0KS5q
c1ZhbHVlKCk7CisgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGV4ZWMtPmNhbGxl
ZSgpLT5nbG9iYWxPYmplY3QoKTsKKyAgICAKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNBcnJv
d0Z1bmN0aW9uOjpjcmVhdGUodm0sIHNjb3BlLCBleGVjdXRhYmxlLCBnbG9iYWxPYmplY3QpOwor
ICAgIAorICAgIEpTQXJyYXkqIGJvdW5kQXJncyA9IEpTQXJyYXk6OnRyeUNyZWF0ZVVuaW5pdGlh
bGl6ZWQodm0sIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5cGVEdXJp
bmdBbGxvY2F0aW9uKEFycmF5V2l0aFVuZGVjaWRlZCksIDApOworICAgIAorICAgIGNvbnN0IFN0
cmluZyBmdW5jV2l0aG91dE5hbWUgPSAiIjsKKyAgICAKKyAgICBMTElOVF9SRVRVUk4oSlNCb3Vu
ZEZ1bmN0aW9uOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgZnVuYywgdGhpc1ZhbHVlLCBib3Vu
ZEFyZ3MsIDAsIGZ1bmNXaXRob3V0TmFtZSkpOworfQorI2VuZGlmCisKIHN0YXRpYyBTbG93UGF0
aFJldHVyblR5cGUgaGFuZGxlSG9zdENhbGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBJbnN0cnVj
dGlvbiogcGMsIEpTVmFsdWUgY2FsbGVlLCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGtpbmQpCiB7
CiAgICAgVU5VU0VEX1BBUkFNKHBjKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9MTEludFNsb3dQYXRocy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xM
SW50U2xvd1BhdGhzLmgKaW5kZXggNGJmN2RlYjBmYTBiNmM2NDM4ZTM2Zjk2MzIwZTJmNjY5NzM5
YWY2NC4uNDY3YmZiNGQ4MGE1MTA5YzI3OTMwNzQ5M2QzOWQxMDIzODY4ZmY4YyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgKQEAgLTk2LDYgKzk2LDkg
QEAgTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9zd2l0Y2hfY2hhcik7CiBM
TElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3N3aXRjaF9zdHJpbmcpOwogTExJ
TlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuYyk7CiBMTElOVF9TTE9X
X1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX25ld19mdW5jX2V4cCk7CisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK0xMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93
X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKTsKKyNlbmRpZgogTExJTlRfU0xPV19QQVRIX0hJRERF
Tl9ERUNMKHNsb3dfcGF0aF9jYWxsKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93
X3BhdGhfY29uc3RydWN0KTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhf
c2l6ZV9mcmFtZV9mb3JfdmFyYXJncyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KaW5kZXggZmRhOTFlZDU5OTBjYjZlNGYyY2I3
OGFhNmE0YjJkOGMyYzBjNDcyYS4uODIyNzEzNDk4MmRiNzU4MWRjOGEyMjVjZDQyMzI4MjAwOTJm
YjczZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbQpAQCAtMTE3MSw2ICsxMTcxLDEwIEBAIF9sbGludF9vcF9uZXdfZnVuY19l
eHA6CiAgICAgY2FsbFNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfbmV3X2Z1bmNfZXhwKQogICAg
IGRpc3BhdGNoKDQpCiAKK19sbGludF9vcF9uZXdfYXJyb3dfZnVuY19leHA6CisgICAgdHJhY2VF
eGVjdXRpb24oKQorICAgIGNhbGxTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX25ld19hcnJvd19m
dW5jX2V4cCkKKyAgICBkaXNwYXRjaCg1KQogCiBfbGxpbnRfb3BfY2FsbDoKICAgICB0cmFjZUV4
ZWN1dGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1
aWxkZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCmluZGV4
IGI4ZmU0Yjg0ODVhMDk3Njg4ZjVjNjMwYmQ4YzNjOTY3NjRmYzQ2NDkuLmNiOGUwZGMxZGRiZWM3
NTg2NjM1ZTFiNDM0MmM5ZTU1YzY2MTRlMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvQVNUQnVpbGRlci5oCkBAIC0zMTMsNiArMzEzLDE5IEBAIHB1YmxpYzoKICAgICAgICAgICAg
IGluU3RyaWN0Q29udGV4dCwgY29uc3RydWN0b3JLaW5kKTsKICAgICB9CiAKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEV4cHJlc3Npb25Ob2RlKiBjcmVhdGVBcnJv
d0Z1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBQYXJz
ZXJGdW5jdGlvbkluZm88QVNUQnVpbGRlcj4mIGluZm8pCisgICAgeworICAgICAgICBTb3VyY2VD
b2RlIHNvdXJjZSA9IGluZm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25C
b2R5RXhwcmVzc2lvbgorICAgICAgICA/IG1fc291cmNlQ29kZS0+c3ViQXJyb3dFeHByZXNzaW9u
KGluZm8uYXJyb3dGdW5jdGlvbk9mZnNldCwgaW5mby5jbG9zZUJyYWNlT2Zmc2V0LCBpbmZvLmJv
ZHlTdGFydExpbmUsIGluZm8uYm9keVN0YXJ0Q29sdW1uKQorICAgICAgICA6IG1fc291cmNlQ29k
ZS0+c3ViRXhwcmVzc2lvbihpbmZvLm9wZW5CcmFjZU9mZnNldCwgaW5mby5jbG9zZUJyYWNlT2Zm
c2V0LCBpbmZvLmJvZHlTdGFydExpbmUsIGluZm8uYm9keVN0YXJ0Q29sdW1uKTsKKworICAgICAg
ICBBcnJvd0Z1bmNFeHByTm9kZSogcmVzdWx0ID0gbmV3IChtX3BhcnNlckFyZW5hKSBBcnJvd0Z1
bmNFeHByTm9kZShsb2NhdGlvbiwgKmluZm8ubmFtZSwgaW5mby5ib2R5LCBzb3VyY2UsIGluZm8u
cGFyYW1ldGVycyk7CisgICAgICAgIGluZm8uYm9keS0+c2V0TG9jKGluZm8uYm9keVN0YXJ0TGlu
ZSwgaW5mby5ib2R5RW5kTGluZSwgbG9jYXRpb24uc3RhcnRPZmZzZXQsIGxvY2F0aW9uLmxpbmVT
dGFydE9mZnNldCk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorI2VuZGlmCisKICAg
ICBORVZFUl9JTkxJTkUgUHJvcGVydHlOb2RlKiBjcmVhdGVHZXR0ZXJPclNldHRlclByb3BlcnR5
KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIFByb3BlcnR5Tm9kZTo6VHlwZSB0eXBl
LCBib29sLAogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBuYW1lLCBjb25zdCBQYXJzZXJGdW5j
dGlvbkluZm88QVNUQnVpbGRlcj4mIGluZm8sIFN1cGVyQmluZGluZyBzdXBlckJpbmRpbmcpCiAg
ICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcAppbmRleCA3ZGUxNDIyMGJi
ZGE3MjczOGI1NzNhNGI5Nzg4Y2UwYjMyY2M3Y2UzLi41NDBmOWZmYjdiYjUxODI5ZDY3ZGVlZGVj
NWU2YThlZDUxY2M0NDE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L0xleGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcApA
QCAtMTQzMCw2ICsxNDMwLDE4IEBAIGJvb2wgTGV4ZXI8VD46Om5leHRUb2tlbklzQ29sb24oKQog
ICAgIHJldHVybiBjb2RlIDwgbV9jb2RlRW5kICYmICpjb2RlID09ICc6JzsKIH0KIAorI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK3Zv
aWQgTGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24oSlNUb2tlbiogdG9rZW5SZWNvcmQpCit7Cisg
ICAgSlNUb2tlbkRhdGEqIHRva2VuRGF0YSA9ICZ0b2tlblJlY29yZC0+bV9kYXRhOworICAgIHRv
a2VuRGF0YS0+bGluZSA9IGxpbmVOdW1iZXIoKTsKKyAgICB0b2tlbkRhdGEtPm9mZnNldCA9IGN1
cnJlbnRPZmZzZXQoKTsKKyAgICB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCA9IGN1cnJlbnRM
aW5lU3RhcnRPZmZzZXQoKTsKKyAgICBBU1NFUlQodG9rZW5EYXRhLT5vZmZzZXQgPj0gdG9rZW5E
YXRhLT5saW5lU3RhcnRPZmZzZXQpOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBU
PgogSlNUb2tlblR5cGUgTGV4ZXI8VD46OmxleChKU1Rva2VuKiB0b2tlblJlY29yZCwgdW5zaWdu
ZWQgbGV4ZXJGbGFncywgYm9vbCBzdHJpY3RNb2RlKQogewpAQCAtMTQ5Myw3ICsxNTA1LDEyIEBA
IHN0YXJ0OgogICAgICAgICB9CiAgICAgICAgIHRva2VuID0gR1Q7CiAgICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgQ2hhcmFjdGVyRXF1YWw6CisgICAgY2FzZSBDaGFyYWN0ZXJFcXVhbDogeworI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIHVpbnQzMl90IHNhdmVk
bGluZU51bWJlciA9IHRva2VuRGF0YS0+bGluZTsKKyAgICAgICAgdWludDMyX3Qgc2F2ZWRPZmZz
ZXQgPSBjdXJyZW50T2Zmc2V0KCk7CisgICAgICAgIHVpbnQzMl90IHNhdmVkTGluZVN0YXJ0T2Zm
c2V0ID0gY3VycmVudExpbmVTdGFydE9mZnNldCgpOworI2VuZGlmCiAgICAgICAgIHNoaWZ0KCk7
CiAgICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJz0nKSB7CiAgICAgICAgICAgICBzaGlmdCgpOwpA
QCAtMTUwNSw4ICsxNTIyLDIyIEBAIHN0YXJ0OgogICAgICAgICAgICAgdG9rZW4gPSBFUUVROwog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgICAgICBpZiAobV9jdXJyZW50ID09ICc+JykgeworICAgICAgICAgICAg
c2hpZnQoKTsKKyAgICAgICAgICAgIHRva2VuID0gQVJST1dGVU5DVElPTjsKKworICAgICAgICAg
ICAgdG9rZW5EYXRhLT5saW5lID0gc2F2ZWRsaW5lTnVtYmVyOworICAgICAgICAgICAgdG9rZW5E
YXRhLT5vZmZzZXQgPSBzYXZlZE9mZnNldDsKKyAgICAgICAgICAgIHRva2VuRGF0YS0+bGluZVN0
YXJ0T2Zmc2V0ID0gc2F2ZWRMaW5lU3RhcnRPZmZzZXQ7CisKKyAgICAgICAgICAgIEFTU0VSVCh0
b2tlbkRhdGEtPm9mZnNldCA+PSB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCk7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIHRva2VuID0gRVFVQUw7CiAg
ICAgICAgIGJyZWFrOworICAgIH0KICAgICBjYXNlIENoYXJhY3Rlckxlc3M6CiAgICAgICAgIHNo
aWZ0KCk7CiAgICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJyEnICYmIHBlZWsoMSkgPT0gJy0nICYm
IHBlZWsoMikgPT0gJy0nKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL0xleGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKaW5kZXgg
MmRmNTIxMzk5NTc4MjAwNzg1YTE2NmUyMmE3MzI3NWUwZWE2MzA0ZC4uY2IzZjI1ZjdjMDhmODI1
ODFhZjJjZThmYTk5OTk3ZmFkZTA3NjZmMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9MZXhlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4
ZXIuaApAQCAtODUsNiArODUsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRJc1JlcGFyc2luZygp
IHsgbV9pc1JlcGFyc2luZyA9IHRydWU7IH0KICAgICBib29sIGlzUmVwYXJzaW5nKCkgY29uc3Qg
eyByZXR1cm4gbV9pc1JlcGFyc2luZzsgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICB2b2lkIHNldFRva2VuUG9zaXRpb24oSlNUb2tlbiogdG9rZW5SZWNvcmQp
OworI2VuZGlmCiAgICAgSlNUb2tlblR5cGUgbGV4KEpTVG9rZW4qLCB1bnNpZ25lZCwgYm9vbCBz
dHJpY3RNb2RlKTsKICAgICBib29sIG5leHRUb2tlbklzQ29sb24oKTsKICAgICBpbnQgbGluZU51
bWJlcigpIGNvbnN0IHsgcmV0dXJuIG1fbGluZU51bWJlcjsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaAppbmRleCAzYmRhYjYxYTUyMmUwY2Uy
YzMzOTdmODBmNGZhMTg0ZDFkNDIxNjBlLi5iNThlMWZlMWFmOTBlNjYwYjA4NDJlYTdlOTlmMDdh
ZTZhY2JiOTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVD
b25zdHJ1Y3RvcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25z
dHJ1Y3RvcnMuaApAQCAtNzgxLDYgKzc4MSwxMyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAg
bV9ib2R5LT5maW5pc2hQYXJzaW5nKHNvdXJjZSwgcGFyYW1ldGVyLCBpZGVudCwgRnVuY3Rpb25F
eHByZXNzaW9uKTsKICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgIGlubGluZSBBcnJvd0Z1bmNFeHByTm9kZTo6QXJyb3dGdW5jRXhwck5vZGUoY29uc3Qg
SlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIEZ1bmN0
aW9uQm9keU5vZGUqIGJvZHksIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgUGFyYW1ldGVyTm9k
ZSogcGFyYW1ldGVyKQorICAgICAgICA6IEZ1bmNFeHByTm9kZShsb2NhdGlvbiwgaWRlbnQsIGJv
ZHksIHNvdXJjZSwgcGFyYW1ldGVyKQorICAgIHsKKyAgICB9CisjZW5kaWYKKyAgICAKICAgICBp
bmxpbmUgRnVuY0RlY2xOb2RlOjpGdW5jRGVjbE5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBs
b2NhdGlvbiwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIEZ1bmN0aW9uQm9keU5vZGUqIGJvZHks
IGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgUGFyYW1ldGVyTm9kZSogcGFyYW1ldGVyKQogICAg
ICAgICA6IFN0YXRlbWVudE5vZGUobG9jYXRpb24pCiAgICAgICAgICwgbV9ib2R5KGJvZHkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKaW5kZXggNmIzNzMyOWMwOWJmYzQyYmVjY2Mz
Y2FhOTgzNTk3YzM1NDAyYjZjOS4uNWI3NzQxZTFjY2M4ZDUxNWZmMTRjMTUzMTcyZDdiZGEwNTNm
NTg2OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaApAQCAtMTU4LDYgKzE1OCw5
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNEb3RBY2Nlc3Nvck5v
ZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNEZWNv
bnN0cnVjdGlvbk5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFs
IGJvb2wgaXNGdW5jRXhwck5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Fycm93
RnVuY0V4cHJOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyNlbmRpZgogICAgICAgICB2
aXJ0dWFsIGJvb2wgaXNDb21tYU5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAg
ICB2aXJ0dWFsIGJvb2wgaXNTaW1wbGVBcnJheSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAg
ICAgICAgIHZpcnR1YWwgYm9vbCBpc0FkZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CkBAIC0x
NjUyLDYgKzE2NTUsMTkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIEZ1bmN0aW9uQm9keU5v
ZGUqIG1fYm9keTsKICAgICB9OwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICBjbGFzcyBBcnJvd0Z1bmNFeHByTm9kZSA6IHB1YmxpYyBGdW5jRXhwck5vZGUgewor
ICAgIHB1YmxpYzoKKyAgICAgICAgQXJyb3dGdW5jRXhwck5vZGUoY29uc3QgSlNUb2tlbkxvY2F0
aW9uJiwgY29uc3QgSWRlbnRpZmllciYsIEZ1bmN0aW9uQm9keU5vZGUqLCBjb25zdCBTb3VyY2VD
b2RlJiwgUGFyYW1ldGVyTm9kZSogPSAwKTsKKyAgICBwcml2YXRlOgorICAgICAgICB2aXJ0dWFs
IFJlZ2lzdGVySUQqIGVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYsIFJlZ2lzdGVySUQq
ID0gMCkgb3ZlcnJpZGU7CisgICAgICAgIAorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNGdW5jRXhw
ck5vZGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQorICAgICAgICAKKyAgICAg
ICAgdmlydHVhbCBib29sIGlzQXJyb3dGdW5jRXhwck5vZGUoKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiB0cnVlOyB9CisgICAgfTsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5U
QVgpCiAgICAgY2xhc3MgQ2xhc3NFeHByTm9kZSBmaW5hbCA6IHB1YmxpYyBFeHByZXNzaW9uTm9k
ZSB7CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCmlu
ZGV4IDVmNDQ4MGI0OWNhZDVkNDkxNTZjNjI1ZmE0ODRhZjdhMWRjOGIzY2YuLmE2OWQ0MWM2ODBl
ZGY0ZjNkZThmMGQ3YWQ1MmI2MWMxZDAyYmNkYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlci5jcHAKQEAgLTMyOSw4ICszMjksMTMgQEAgYm9vbCBQYXJzZXI8TGV4ZXJUeXBl
Pjo6YWxsb3dBdXRvbWF0aWNTZW1pY29sb24oKQogICAgIHJldHVybiBtYXRjaChDTE9TRUJSQUNF
KSB8fCBtYXRjaChFT0ZUT0spIHx8IG1fbGV4ZXItPnByZXZUZXJtaW5hdG9yKCk7CiB9CiAKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExl
eGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRz
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiBjb250
ZXh0LCBTb3VyY2VFbGVtZW50c01vZGUgbW9kZSwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25Q
YXJzZVR5cGUpCisjZWxzZQogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBTb3VyY2VFbGVtZW50
c01vZGUgbW9kZSkKKyNlbmRpZgogewogICAgIGNvbnN0IHVuc2lnbmVkIGxlbmd0aE9mVXNlU3Ry
aWN0TGl0ZXJhbCA9IDEyOyAvLyAidXNlIHN0cmljdCIubGVuZ3RoCiAgICAgVHJlZVNvdXJjZUVs
ZW1lbnRzIHNvdXJjZUVsZW1lbnRzID0gY29udGV4dC5jcmVhdGVTb3VyY2VFbGVtZW50cygpOwpA
QCAtMzM5LDcgKzM0NCwxMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3Vy
Y2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3VyY2VFbAogICAgIHVuc2lnbmVk
IGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwOwogICAgIGF1dG8gc2F2ZVBvaW50ID0gY3JlYXRl
U2F2ZVBvaW50KCk7CiAgICAgYm9vbCBoYXNTZXRTdHJpY3QgPSBmYWxzZTsKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHdoaWxlIChUcmVlU3RhdGVtZW50IHN0YXRl
bWVudCA9IHBhcnNlU3RhdGVtZW50KGNvbnRleHQsIGRpcmVjdGl2ZSwgJmRpcmVjdGl2ZUxpdGVy
YWxMZW5ndGgsIGZ1bmN0aW9uUGFyc2VUeXBlKSkgeworI2Vsc2UKICAgICB3aGlsZSAoVHJlZVN0
YXRlbWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVudChjb250ZXh0LCBkaXJlY3RpdmUsICZk
aXJlY3RpdmVMaXRlcmFsTGVuZ3RoKSkgeworI2VuZGlmCiAgICAgICAgIGlmIChtb2RlID09IENo
ZWNrRm9yU3RyaWN0TW9kZSAmJiAhc2Vlbk5vbkRpcmVjdGl2ZSkgewogICAgICAgICAgICAgaWYg
KGRpcmVjdGl2ZSkgewogICAgICAgICAgICAgICAgIC8vICJ1c2Ugc3RyaWN0IiBtdXN0IGJlIHRo
ZSBleGFjdCBsaXRlcmFsIHdpdGhvdXQgZXNjYXBlIHNlcXVlbmNlcyBvciBsaW5lIGNvbnRpbnVh
dGlvbi4KQEAgLTU3MSw2ICs1ODAsMzEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIFBhcnNlcjxMZXhlclR5cGU+OjpjcmVhdGUKICAgICBy
ZXR1cm4gY29udGV4dC5jcmVhdGVCaW5kaW5nTG9jYXRpb24odG9rZW4ubV9sb2NhdGlvbiwgbmFt
ZSwgdG9rZW4ubV9zdGFydFBvc2l0aW9uLCB0b2tlbi5tX2VuZFBvc2l0aW9uKTsKIH0KIAorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4
ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNv
bnRleHQpCit7CisgICAgQVNTRVJUKG1hdGNoKEFSUk9XRlVOQ1RJT04pKTsKKworICAgIEpTVG9r
ZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgIEpTVGV4dFBvc2l0aW9u
IHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgSlNUZXh0UG9zaXRpb24gZW5kID0g
dG9rZW5FbmRQb3NpdGlvbigpOworCisgICAgbmV4dCgpOworICAgIFRyZWVFeHByZXNzaW9uIGV4
cHIgPSBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKGNvbnRleHQpOworICAgIGZhaWxJZkZh
bHNlKGV4cHIsICJDYW5ub3QgcGFyc2UgdGhlIGFycm93IGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsK
KyAgICBlbmQgPSBsYXN0VG9rZW5FbmRQb3NpdGlvbigpOworCisgICAgYm9vbCBjb3JyZWNBcnJv
d0ZpbmlzaCA9IGlzRW5kT2ZBcnJvd0Z1bmN0aW9uKCkgfHwgbWF0Y2goRU9GVE9LKTsKKyAgICBm
YWlsSWZGYWxzZShjb3JyZWNBcnJvd0ZpbmlzaCwgIkV4cGVjdGVkIGEgJzsnLCAnXScsICd9Jywg
JyknLCBvciAnLCcgZm9sbG93aW5nIGEgYXJyb3cgZnVuY3Rpb24gc3RhdGVtZW50Iik7CisKKyAg
ICBlbmQgPSB0b2tlbkVuZFBvc2l0aW9uKCk7CisgICAgc2V0RW5kT2ZTdGF0ZW1lbnQoKTsKKwor
ICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJldHVyblN0YXRlbWVudChsb2NhdGlvbiwgZXhwciwg
c3RhcnQsIGVuZCk7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4K
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBQ
YXJzZXI8TGV4ZXJUeXBlPjo6dHJ5UGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm5FeHByZXNzaW9u
KFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewpAQCAtMTE0NCw4ICsxMTc4LDEzIEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VCbG9ja1N0YXRlbWVuCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciom
IGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgsIEZ1bmN0aW9uUGFy
c2VUeXBlIHR5cGUpCisjZWxzZQogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqJiBk
aXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoKQorI2VuZGlmCiB7CiAg
ICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKICAgICBt
X3N0YXRlbWVudERlcHRoKys7CkBAIC0xMTU0LDYgKzExOTMsMjcgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRl
bWVudChUcmUKICAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7CiAgICAgVHJlZVN0YXRlbWVudCBy
ZXN1bHQgPSAwOwogICAgIGJvb2wgc2hvdWxkU2V0RW5kT2Zmc2V0ID0gdHJ1ZTsKKworI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgYm9vbCBoYW5kbGVkID0gZmFsc2U7
CisgICAgaWYgKHR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICBzd2l0
Y2ggKG1fdG9rZW4ubV90eXBlKSB7CisgICAgICAgIGNhc2UgQ0xPU0VQQVJFTjoKKyAgICAgICAg
Y2FzZSBDTE9TRUJSQUNLRVQ6CisgICAgICAgIGNhc2UgQ09NTUE6CisgICAgICAgIGNhc2UgU0VN
SUNPTE9OOiB7CisgICAgICAgICAgICByZXN1bHQgPSAwOworICAgICAgICAgICAgaGFuZGxlZCA9
IHRydWU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBkZWZhdWx0Ogor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBpZiAoaGFuZGxlZCkKKyAg
ICAgICAgICAgIGdvdG8gZW5kU3RhdGVtZW5ldDsKKyAgICB9CisjZW5kaWYKICAgICBzd2l0Y2gg
KG1fdG9rZW4ubV90eXBlKSB7CiAgICAgY2FzZSBPUEVOQlJBQ0U6CiAgICAgICAgIHJlc3VsdCA9
IHBhcnNlQmxvY2tTdGF0ZW1lbnQoY29udGV4dCk7CkBAIC0xMTk5LDYgKzEyNTksMTEgQEAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZVN0YXRlbWVudChUcmUKICAgICBjYXNlIEJSRUFLOgogICAgICAgICByZXN1bHQgPSBw
YXJzZUJyZWFrU3RhdGVtZW50KGNvbnRleHQpOwogICAgICAgICBicmVhazsKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2UgQVJST1dGVU5DVElPTjoKKyAgICAg
ICAgcmVzdWx0ID0gcGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KGNvbnRleHQpOworICAgICAg
ICBicmVhazsKKyNlbmRpZgogICAgIGNhc2UgUkVUVVJOOgogICAgICAgICByZXN1bHQgPSBwYXJz
ZVJldHVyblN0YXRlbWVudChjb250ZXh0KTsKICAgICAgICAgYnJlYWs7CkBAIC0xMjQwLDYgKzEz
MDUsOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAgICAgICBicmVhazsKICAgICB9CiAK
K2VuZFN0YXRlbWVuZXQ6CisKICAgICBpZiAocmVzdWx0ICYmIHNob3VsZFNldEVuZE9mZnNldCkK
ICAgICAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQocmVzdWx0LCBtX2xhc3RUb2tlbkVuZFBvc2l0
aW9uLm9mZnNldCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTEyNjAsMjMgKzEzMjcsNDQgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRm9ybWFsUGFyYW1ldGVyTGlzdCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VGb3IKICAgICByZXR1cm4gbGlzdDsKIH0KIAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBl
PgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRnVuY3Rpb25Cb2R5IFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uQm9keSgKICAgICBUcmVlQnVpbGRlciYgY29udGV4dCwg
aW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIAorICAgIGlu
dCBwYXJhbWV0ZXJzU3RhcnQsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQsIEZ1bmN0
aW9uUGFyc2VUeXBlIHBhcnNlVHlwZSkKKyNlbHNlCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJU
eXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRnVuY3Rpb25Cb2R5IFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uQm9keSgKKyAgICBUcmVlQnVpbGRlciYgY29udGV4
dCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsCiAgICAg
aW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCkKKyNl
bmRpZgogewogICAgIEpTVG9rZW5Mb2NhdGlvbiBzdGFydExvY2F0aW9uKHRva2VuTG9jYXRpb24o
KSk7CiAgICAgdW5zaWduZWQgc3RhcnRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOworI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaWYgKHBhcnNlVHlwZSA9PSBTdGFuZGFy
ZEZ1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgaWYgKG1hdGNo
KENMT1NFQlJBQ0UpKSB7CisgICAgICAgICAgICB1bnNpZ25lZCBlbmRDb2x1bW4gPSB0b2tlbkNv
bHVtbigpOworICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0
YXJ0TG9jYXRpb24sIHRva2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgZnVu
Y3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0
cmljdE1vZGUoKSwgY29uc3RydWN0b3JLaW5kKTsKKyAgICAgICAgfQorICAgIH0KKyNlbHNlCiAg
ICAgbmV4dCgpOwotCiAgICAgaWYgKG1hdGNoKENMT1NFQlJBQ0UpKSB7CiAgICAgICAgIHVuc2ln
bmVkIGVuZENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CiAgICAgICAgIHJldHVybiBjb250ZXh0LmNy
ZWF0ZUZ1bmN0aW9uQm9keShzdGFydExvY2F0aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0YXJ0Q29s
dW1uLCBlbmRDb2x1bW4sIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwg
cGFyYW1ldGVyc1N0YXJ0LCBzdHJpY3RNb2RlKCksIGNvbnN0cnVjdG9yS2luZCk7CiAgICAgfQor
I2VuZGlmCisKICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50RGVw
dGgpOwogICAgIG1fc3RhdGVtZW50RGVwdGggPSAwOwogICAgIHR5cGVuYW1lIFRyZWVCdWlsZGVy
OjpGdW5jdGlvbkJvZHlCdWlsZGVyIGJvZHlCdWlsZGVyKGNvbnN0X2Nhc3Q8Vk0qPihtX3ZtKSwg
bV9sZXhlci5nZXQoKSk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICBmYWlsSWZGYWxzZShwYXJzZVNvdXJjZUVsZW1lbnRzKGJvZHlCdWlsZGVyLCBDaGVja0ZvclN0
cmljdE1vZGUsIHBhcnNlVHlwZSksIHBhcnNlVHlwZSA9PSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VU
eXBlID8gIkNhbm5vdCBwYXJzZSBib2R5IG9mIHRoaXMgZnVuY3Rpb24iIDogIkNhbm5vdCBwYXJz
ZSBib2R5IG9mIHRoaXMgYXJyb3cgZnVuY3Rpb24iKTsKKyNlbHNlCiAgICAgZmFpbElmRmFsc2Uo
cGFyc2VTb3VyY2VFbGVtZW50cyhib2R5QnVpbGRlciwgQ2hlY2tGb3JTdHJpY3RNb2RlKSwgIkNh
bm5vdCBwYXJzZSBib2R5IG9mIHRoaXMgZnVuY3Rpb24iKTsKKyNlbmRpZgogICAgIHVuc2lnbmVk
IGVuZENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVu
Y3Rpb25Cb2R5KHN0YXJ0TG9jYXRpb24sIHRva2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1bW4sIGVu
ZENvbHVtbiwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0
ZXJzU3RhcnQsIHN0cmljdE1vZGUoKSwgY29uc3RydWN0b3JLaW5kKTsKIH0KQEAgLTEyOTcsNjAg
KzEzODUsMTAzIEBAIHN0YXRpYyBjb25zdCBjaGFyKiBzdHJpbmdGb3JGdW5jdGlvbk1vZGUoRnVu
Y3Rpb25QYXJzZU1vZGUgbW9kZSkKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBl
PgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVu
dHMgcmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLAorICAgIGJvb2wgbmFtZUlz
SW5Db250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCBvd25lckNsYXNzS2luZCwgaW50IGZ1
bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZv
LCBGdW5jdGlvblBhcnNlVHlwZSBwYXJzZVR5cGUpCisjZWxzZQogdGVtcGxhdGUgPHR5cGVuYW1l
IExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImIGNvbnRleHQsIEZ1bmN0aW9u
UmVxdWlyZW1lbnRzIHJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUgbW9kZSwKICAgICBi
b29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQgb3duZXJDbGFzc0tp
bmQsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWls
ZGVyPiYgaW5mbykKKyNlbmRpZgogewogICAgIEF1dG9Qb3BTY29wZVJlZiBmdW5jdGlvblNjb3Bl
KHRoaXMsIHB1c2hTY29wZSgpKTsKICAgICBmdW5jdGlvblNjb3BlLT5zZXRJc0Z1bmN0aW9uKCk7
CiAgICAgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zm
c2V0OwogICAgIGNvbnN0IElkZW50aWZpZXIqIGxhc3RGdW5jdGlvbk5hbWUgPSBtX2xhc3RGdW5j
dGlvbk5hbWU7CiAgICAgbV9sYXN0RnVuY3Rpb25OYW1lID0gbnVsbHB0cjsKLSAgICBpZiAobWF0
Y2goSURFTlQpKSB7Ci0gICAgICAgIGluZm8ubmFtZSA9IG1fdG9rZW4ubV9kYXRhLmlkZW50Owot
ICAgICAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBpbmZvLm5hbWU7Ci0gICAgICAgIG5leHQoKTsK
LSAgICAgICAgaWYgKCFuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSkKLSAgICAgICAgICAgIGZhaWxJ
ZkZhbHNlSWZTdHJpY3QoZnVuY3Rpb25TY29wZS0+ZGVjbGFyZVZhcmlhYmxlKGluZm8ubmFtZSks
ICInIiwgaW5mby5uYW1lLT5pbXBsKCksICInIGlzIG5vdCBhIHZhbGlkICIsIHN0cmluZ0ZvckZ1
bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIGluIHN0cmljdCBtb2RlIik7Ci0gICAgfSBlbHNlIGlm
IChyZXF1aXJlbWVudHMgPT0gRnVuY3Rpb25OZWVkc05hbWUpIHsKKyAgICBpbnQgcGFyYW1ldGVy
c1N0YXJ0OworICAgIGJvb2wgaXNDbGFzc0NvbnN0cnVjdG9yOworICAgIAorICAgIGlmIChwYXJz
ZVR5cGUgPT0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICBpZiAobWF0Y2go
SURFTlQpKSB7CisgICAgICAgICAgICBpbmZvLm5hbWUgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsK
KyAgICAgICAgICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IGluZm8ubmFtZTsKKyAgICAgICAgICAg
IG5leHQoKTsKKyAgICAgICAgICAgIGlmICghbmFtZUlzSW5Db250YWluaW5nU2NvcGUpCisgICAg
ICAgICAgICAgICAgZmFpbElmRmFsc2VJZlN0cmljdChmdW5jdGlvblNjb3BlLT5kZWNsYXJlVmFy
aWFibGUoaW5mby5uYW1lKSwgIiciLCBpbmZvLm5hbWUtPmltcGwoKSwgIicgaXMgbm90IGEgdmFs
aWQgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUgaW4gc3RyaWN0IG1vZGUi
KTsKKyAgICAgICAgfSBlbHNlIGlmIChyZXF1aXJlbWVudHMgPT0gRnVuY3Rpb25OZWVkc05hbWUp
IHsKICAgICAgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikgJiYgbW9kZSA9PSBGdW5jdGlvbk1vZGUp
CiAgICAgICAgICAgICBzZW1hbnRpY0ZhaWwoIkZ1bmN0aW9uIHN0YXRlbWVudHMgbXVzdCBoYXZl
IGEgbmFtZSIpOwotICAgICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVUb0tleXdvcmQoc3RyaW5nRm9y
RnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUiKTsKLSAgICAgICAgZmFpbER1ZVRvVW5leHBlY3Rl
ZFRva2VuKCk7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gICAgaW50IHBhcmFtZXRl
cnNTdGFydCA9IG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKLSAgICBpZiAoIWNvbnN1
bWUoT1BFTlBBUkVOKSkgewotICAgICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVUb0tleXdvcmQoc3Ry
aW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUiKTsKLSAgICAgICAgZmFpbFdpdGhNZXNz
YWdlKCJFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSAiLCBzdHJpbmdGb3JGdW5jdGlv
bk1vZGUobW9kZSksICIncyBwYXJhbWV0ZXIgbGlzdCIpOwotICAgIH0KLQotICAgIGlmIChtb2Rl
ID09IEdldHRlck1vZGUpCi0gICAgICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJFTiwgImdldHRl
ciBmdW5jdGlvbnMgbXVzdCBoYXZlIG5vIHBhcmFtZXRlcnMiKTsKLSAgICBlbHNlIGlmIChtb2Rl
ID09IFNldHRlck1vZGUpIHsKLSAgICAgICAgZmFpbElmVHJ1ZShtYXRjaChDTE9TRVBBUkVOKSwg
InNldHRlciBmdW5jdGlvbnMgbXVzdCBoYXZlIG9uZSBwYXJhbWV0ZXIiKTsKLSAgICAgICAgYXV0
byBwYXJhbWV0ZXIgPSBwYXJzZURlY29uc3RydWN0aW9uUGF0dGVybihjb250ZXh0LCBEZWNvbnN0
cnVjdFRvUGFyYW1ldGVycyk7Ci0gICAgICAgIGZhaWxJZkZhbHNlKHBhcmFtZXRlciwgInNldHRl
ciBmdW5jdGlvbnMgbXVzdCBoYXZlIG9uZSBwYXJhbWV0ZXIiKTsKLSAgICAgICAgaW5mby5wYXJh
bWV0ZXJzID0gY29udGV4dC5jcmVhdGVGb3JtYWxQYXJhbWV0ZXJMaXN0KHBhcmFtZXRlcik7Ci0g
ICAgICAgIGZhaWxJZlRydWUobWF0Y2goQ09NTUEpLCAic2V0dGVyIGZ1bmN0aW9ucyBtdXN0IGhh
dmUgb25lIHBhcmFtZXRlciIpOwotICAgICAgICBjb25zdW1lT3JGYWlsKENMT1NFUEFSRU4sICJF
eHBlY3RlZCBhICcpJyBhZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOwotICAgIH0gZWxz
ZSB7Ci0gICAgICAgIGlmICghbWF0Y2goQ0xPU0VQQVJFTikpIHsKLSAgICAgICAgICAgIGluZm8u
cGFyYW1ldGVycyA9IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhjb250ZXh0KTsKLSAgICAgICAgICAg
IGZhaWxJZkZhbHNlKGluZm8ucGFyYW1ldGVycywgIkNhbm5vdCBwYXJzZSBwYXJhbWV0ZXJzIGZv
ciB0aGlzICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7CisgICAgICAgICAgICBzZW1h
bnRpY0ZhaWx1cmVEdWVUb0tleXdvcmQoc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5h
bWUiKTsKKyAgICAgICAgICAgIGZhaWxEdWVUb1VuZXhwZWN0ZWRUb2tlbigpOworICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAgICAgIHBhcmFtZXRlcnNTdGFydCA9IG1f
dG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKKyAgICAgICAgCisgICAgICAgIGlmICghY29u
c3VtZShPUEVOUEFSRU4pKSB7CisgICAgICAgICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVUb0tleXdv
cmQoc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUiKTsKKyAgICAgICAgICAgIGZh
aWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgIiwgc3RyaW5n
Rm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiJ3MgcGFyYW1ldGVyIGxpc3QiKTsKICAgICAgICAgfQot
ICAgICAgICBjb25zdW1lT3JGYWlsKENMT1NFUEFSRU4sICJFeHBlY3RlZCBhICcpJyBvciBhICcs
JyBhZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOwotICAgIH0KIAotICAgIG1hdGNoT3JG
YWlsKE9QRU5CUkFDRSwgIkV4cGVjdGVkIGFuIG9wZW5pbmcgJ3snIGF0IHRoZSBzdGFydCBvZiBh
ICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7CisgICAgICAgIGlmICht
b2RlID09IEdldHRlck1vZGUpCisgICAgICAgICAgICBjb25zdW1lT3JGYWlsKENMT1NFUEFSRU4s
ICJnZXR0ZXIgZnVuY3Rpb25zIG11c3QgaGF2ZSBubyBwYXJhbWV0ZXJzIik7CisgICAgICAgIGVs
c2UgaWYgKG1vZGUgPT0gU2V0dGVyTW9kZSkgeworICAgICAgICAgICAgZmFpbElmVHJ1ZShtYXRj
aChDTE9TRVBBUkVOKSwgInNldHRlciBmdW5jdGlvbnMgbXVzdCBoYXZlIG9uZSBwYXJhbWV0ZXIi
KTsKKyAgICAgICAgICAgIGF1dG8gcGFyYW1ldGVyID0gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRl
cm4oY29udGV4dCwgRGVjb25zdHJ1Y3RUb1BhcmFtZXRlcnMpOworICAgICAgICAgICAgZmFpbElm
RmFsc2UocGFyYW1ldGVyLCAic2V0dGVyIGZ1bmN0aW9ucyBtdXN0IGhhdmUgb25lIHBhcmFtZXRl
ciIpOworICAgICAgICAgICAgaW5mby5wYXJhbWV0ZXJzID0gY29udGV4dC5jcmVhdGVGb3JtYWxQ
YXJhbWV0ZXJMaXN0KHBhcmFtZXRlcik7CisgICAgICAgICAgICBmYWlsSWZUcnVlKG1hdGNoKENP
TU1BKSwgInNldHRlciBmdW5jdGlvbnMgbXVzdCBoYXZlIG9uZSBwYXJhbWV0ZXIiKTsKKyAgICAg
ICAgICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJFTiwgIkV4cGVjdGVkIGEgJyknIGFmdGVyIGEg
cGFyYW1ldGVyIGRlY2xhcmF0aW9uIik7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBp
ZiAoIW1hdGNoKENMT1NFUEFSRU4pKSB7CisgICAgICAgICAgICAgICAgaW5mby5wYXJhbWV0ZXJz
ID0gcGFyc2VGb3JtYWxQYXJhbWV0ZXJzKGNvbnRleHQpOworICAgICAgICAgICAgICAgIGZhaWxJ
ZkZhbHNlKGluZm8ucGFyYW1ldGVycywgIkNhbm5vdCBwYXJzZSBwYXJhbWV0ZXJzIGZvciB0aGlz
ICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICBjb25zdW1lT3JGYWlsKENMT1NFUEFSRU4sICJFeHBlY3RlZCBhICcpJyBvciBhICcsJyBh
ZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAgICAgICB9CiAKLSAgICAvLyBCeXRl
Y29kZUdlbmVyYXRvciBlbWl0cyBjb2RlIHRvIHRocm93IFR5cGVFcnJvciB3aGVuIGEgY2xhc3Mg
Y29uc3RydWN0b3IgaXMgImNhbGwiZWQuCi0gICAgLy8gU2V0IENvbnN0cnVjdG9yS2luZCB0byBO
b25lIGZvciBub24tY29uc3RydWN0b3IgbWV0aG9kcyBvZiBjbGFzc2VzLgotICAgIGJvb2wgaXND
bGFzc0NvbnN0cnVjdG9yID0gbW9kZSA9PSBNZXRob2RNb2RlICYmIGluZm8ubmFtZSAmJiAqaW5m
by5uYW1lID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yOwotICAgIGlmIChtX2Rl
ZmF1bHRDb25zdHJ1Y3RvcktpbmQgIT0gQ29uc3RydWN0b3JLaW5kOjpOb25lKSB7Ci0gICAgICAg
IG93bmVyQ2xhc3NLaW5kID0gbV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kOwotICAgICAgICBpc0Ns
YXNzQ29uc3RydWN0b3IgPSB0cnVlOworICAgICAgICBtYXRjaE9yRmFpbChPUEVOQlJBQ0UsICJF
eHBlY3RlZCBhbiBvcGVuaW5nICd7JyBhdCB0aGUgc3RhcnQgb2YgYSAiLCBzdHJpbmdGb3JGdW5j
dGlvbk1vZGUobW9kZSksICIgYm9keSIpOworICAgICAgICAvLyBCeXRlY29kZUdlbmVyYXRvciBl
bWl0cyBjb2RlIHRvIHRocm93IFR5cGVFcnJvciB3aGVuIGEgY2xhc3MgY29uc3RydWN0b3IgaXMg
ImNhbGwiZWQuCisgICAgICAgIC8vIFNldCBDb25zdHJ1Y3RvcktpbmQgdG8gTm9uZSBmb3Igbm9u
LWNvbnN0cnVjdG9yIG1ldGhvZHMgb2YgY2xhc3Nlcy4KKyAgICAgICAgaXNDbGFzc0NvbnN0cnVj
dG9yID0gbW9kZSA9PSBNZXRob2RNb2RlICYmIGluZm8ubmFtZSAmJiAqaW5mby5uYW1lID09IG1f
dm0tPnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yOworICAgICAgICBpZiAobV9kZWZhdWx0Q29u
c3RydWN0b3JLaW5kICE9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSkgeworICAgICAgICAgICAgb3du
ZXJDbGFzc0tpbmQgPSBtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQ7CisgICAgICAgICAgICBpc0Ns
YXNzQ29uc3RydWN0b3IgPSB0cnVlOworICAgICAgICB9CiAgICAgfQorICAgIAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJvd0Z1
bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIHBhcmFtZXRlcnNTdGFydCA9IG1fdG9rZW4ubV9s
b2NhdGlvbi5zdGFydE9mZnNldDsKKyAgICAgICAgaWYgKCFtYXRjaChJREVOVCkgJiYgIW1hdGNo
KE9QRU5QQVJFTikpIHsKKyAgICAgICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChz
dHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSIpOworICAgICAgICAgICAgZmFpbFdp
dGhNZXNzYWdlKCJFeHBlY3RlZCBhbiBhcnJvdyBmdW5jdGlvbiBpbnB1dCBwYXJhbWV0ZXIiKTsK
KyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7Cisg
ICAgICAgICAgICAgICAgY29uc3VtZShPUEVOUEFSRU4pOworICAgICAgICAgICAgICAgIAorICAg
ICAgICAgICAgICAgIGlmICghbWF0Y2goQ0xPU0VQQVJFTikpIHsKKyAgICAgICAgICAgICAgICAg
ICAgaW5mby5wYXJhbWV0ZXJzID0gcGFyc2VGb3JtYWxQYXJhbWV0ZXJzKGNvbnRleHQpOworICAg
ICAgICAgICAgICAgICAgICBmYWlsSWZGYWxzZShpbmZvLnBhcmFtZXRlcnMsICJDYW5ub3QgcGFy
c2UgcGFyYW1ldGVycyBmb3IgdGhpcyAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBjb25z
dW1lT3JGYWlsKENMT1NFUEFSRU4sICJFeHBlY3RlZCBhICcpJyBvciBhICcsJyBhZnRlciBhIHBh
cmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
ICAgICBhdXRvIHBhcmFtZXRlciA9IHBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuKGNvbnRleHQs
IERlY29uc3RydWN0VG9QYXJhbWV0ZXJzKTsKKyAgICAgICAgICAgICAgICBmYWlsSWZGYWxzZShw
YXJhbWV0ZXIsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVyIHBhdHRlcm4iKTsKKyAgICAgICAgICAg
ICAgICBpbmZvLnBhcmFtZXRlcnMgPSBjb250ZXh0LmNyZWF0ZUZvcm1hbFBhcmFtZXRlckxpc3Qo
cGFyYW1ldGVyKTsKKyAgICAgICAgICAgICAgICBmYWlsSWZGYWxzZShpbmZvLnBhcmFtZXRlcnMs
ICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAiLCBzdHJpbmdGb3JGdW5jdGlvbk1v
ZGUobW9kZSkpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIAorICAgICAgICBt
YXRjaE9yRmFpbChBUlJPV0ZVTkNUSU9OLCAiRXhwZWN0ZWQgYSAnPT4nIGFmdGVyIGFycm93IGZ1
bmN0aW9uIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAgICAgICBpc0NsYXNzQ29uc3RydWN0
b3IgPSBmYWxzZTsKKyAgICAgICAgCisgICAgICAgIGluZm8uYXJyb3dGdW5jdGlvbk9mZnNldCA9
IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKKyAgICB9CisjZW5kaWYKKyAgICAKICAgICBDb25zdHJ1
Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kID0gaXNDbGFzc0NvbnN0cnVjdG9yID8gb3duZXJDbGFz
c0tpbmQgOiBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmU7CiAKICAgICBpbmZvLm9wZW5CcmFjZU9mZnNl
dCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKQEAgLTEzODQsOCArMTUxNSwxNyBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rp
b25JbmZvKFRyZWVCdWlsZAogICAgICAgICBmYWlsSWZGYWxzZShwb3BTY29wZShmdW5jdGlvblNj
b3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFibGVJbmZvKSwgIlBhcnNlciBlcnJvciIp
OwogICAgICAgICAKICAgICAgICAgaW5mby5jbG9zZUJyYWNlT2Zmc2V0ID0gY2FjaGVkSW5mby0+
Y2xvc2VCcmFjZU9mZnNldDsKLQorICAgICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgICAgICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5
cGUpIHsKKyAgICAgICAgICAgIGluZm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBlID0gY2FjaGVkSW5m
by0+aXNCb2R5QXJyb3dGdW5jdGlvbkJsb2NrID8gQXJyb3dGdW5jdGlvbkJvZHlCbG9jayA6IEFy
cm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbjsKKyAgICAgICAgICAgIG1fdG9rZW4gPSBpbmZvLmFy
cm93RnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrID8gY2FjaGVkSW5m
by0+Y2xvc2VCcmFjZVRva2VuKCkgOiBjYWNoZWRJbmZvLT5lbmRBcnJvd0Z1bmN0aW9uVG9rZW4o
KTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBtX3Rva2VuID0gY2FjaGVkSW5mby0+Y2xv
c2VCcmFjZVRva2VuKCk7CisjZWxzZSAgIAogICAgICAgICBtX3Rva2VuID0gY2FjaGVkSW5mby0+
Y2xvc2VCcmFjZVRva2VuKCk7CisjZW5kaWYKKyAgICAgICAgCiAgICAgICAgIGlmIChlbmRDb2x1
bW5Jc09uU3RhcnRMaW5lKQogICAgICAgICAgICAgbV90b2tlbi5tX2xvY2F0aW9uLmxpbmVTdGFy
dE9mZnNldCA9IGN1cnJlbnRMaW5lU3RhcnRPZmZzZXQ7CiAKQEAgLTEzOTQsMTMgKzE1MzQsNDgg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKIAogICAgICAgICBjb250ZXh0LnNldEVuZE9mZnNl
dChpbmZvLmJvZHksIG1fbGV4ZXItPmN1cnJlbnRPZmZzZXQoKSk7CiAgICAgICAgIAorI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChwYXJzZVR5cGUgPT0g
QXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICAgICAgaWYgKGluZm8uYXJyb3dGdW5j
dGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spCisgICAgICAgICAgICAgICAg
bmV4dCgpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIG5leHQoKTsKKyNlbHNlCiAgICAg
ICAgIG5leHQoKTsKKyNlbmRpZgogICAgICAgICBpbmZvLmJvZHlFbmRMaW5lID0gbV9sYXN0VG9r
ZW5FbmRQb3NpdGlvbi5saW5lOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CisgICAgCisg
ICAgCiAgICAgbV9sYXN0RnVuY3Rpb25OYW1lID0gbGFzdEZ1bmN0aW9uTmFtZTsKICAgICBQYXJz
ZXJTdGF0ZSBvbGRTdGF0ZSA9IHNhdmVTdGF0ZSgpOworICAgIAorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFy
c2VUeXBlKSB7CisgICAgICAgIFNhdmVQb2ludCBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQo
KTsKKyAgICAgICAgbmV4dCgpOworICAgICAgICAvLyBDaGVjayBpZiBhcnJvdyBib2R5IHN0YXJ0
IHdpdGggey4gSWYgaXQgdHJ1ZSBpdCBtZWFuIHRoYXQgYXJyb3cgZnVuY3Rpb24gaXMgRmF0IGFy
cm93IGZ1bmN0aW9uCisgICAgICAgIC8vIGFuZCB3ZSBuZWVkIHVzZSBjb21tb24gYXBwcm9hY2gg
dG8gcGFyc2UgZnVuY3Rpb24gYm9keQorICAgICAgICBpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlw
ZSA9IG1hdGNoKE9QRU5CUkFDRSkgPyBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrIDogQXJyb3dGdW5j
dGlvbkJvZHlFeHByZXNzaW9uOworICAgIAorICAgICAgICBpZiAoaW5mby5hcnJvd0Z1bmN0aW9u
Qm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jaykgeworICAgICAgICAgICAgaW5mby5v
cGVuQnJhY2VPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CisgICAgICAgICAgICBpbmZv
LmJvZHlTdGFydExpbmUgPSB0b2tlbkxpbmUoKTsKKyAgICAgICAgICAgIGluZm8uYm9keVN0YXJ0
Q29sdW1uID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0IC0gbV90b2tlbi5tX2RhdGEubGluZVN0YXJ0
T2Zmc2V0OworICAgICAgICAKKyAgICAgICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25C
b2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFy
YW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQpOworICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlUG9pbnQpOworICAgICAgICAgICAgaW5mby5ib2R5
ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0
aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCwgQXJyb3dGdW5j
dGlvblBhcnNlVHlwZSk7CisgICAgICAgIH0KKyAgICB9IGVsc2UKKyAgICAgICAgaW5mby5ib2R5
ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0
aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCk7CisjZWxzZQog
ICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29y
ZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3Rvcktp
bmQpOworI2VuZGlmCisgICAgCisgICAgCiAgICAgcmVzdG9yZVN0YXRlKG9sZFN0YXRlKTsKICAg
ICBmYWlsSWZGYWxzZShpbmZvLmJvZHksICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgdGhpcyAi
LCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOwogICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0
KGluZm8uYm9keSwgbV9sZXhlci0+Y3VycmVudE9mZnNldCgpKTsKQEAgLTE0MzEsMTggKzE2MDYs
MzggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJy
YWNlTGluZSA9IGNsb3NlQnJhY2VMaW5lOwogICAgICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VP
ZmZzZXQgPSBpbmZvLmNsb3NlQnJhY2VPZmZzZXQ7CiAgICAgICAgIHBhcmFtZXRlcnMuY2xvc2VC
cmFjZUxpbmVTdGFydE9mZnNldCA9IGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQ7CisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKHBhcnNlVHlwZSA9PSBB
cnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgICAgICBwYXJhbWV0ZXJzLmlzQm9keUFy
cm93RnVuY3Rpb25CbG9jayA9IGluZm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVu
Y3Rpb25Cb2R5QmxvY2s7CisgICAgICAgICAgICBwYXJhbWV0ZXJzLnRva2VuVHlwZSA9IG1fdG9r
ZW4ubV90eXBlOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgZnVuY3Rpb25TY29wZS0+Zmls
bFBhcmFtZXRlcnNGb3JTb3VyY2VQcm92aWRlckNhY2hlKHBhcmFtZXRlcnMpOwogICAgICAgICBu
ZXdJbmZvID0gU291cmNlUHJvdmlkZXJDYWNoZUl0ZW06OmNyZWF0ZShwYXJhbWV0ZXJzKTsKIAog
ICAgIH0KICAgICAKICAgICBmYWlsSWZGYWxzZShwb3BTY29wZShmdW5jdGlvblNjb3BlLCBUcmVl
QnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFibGVJbmZvKSwgIlBhcnNlciBlcnJvciIpOworICAgIAor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaWYgKHBhcnNlVHlwZSA9
PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIGlmIChpbmZvLmFycm93RnVuY3Rp
b25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrKSB7CisgICAgICAgICAgICBtYXRj
aE9yRmFpbChDTE9TRUJSQUNFLCAiRXhwZWN0ZWQgYSBjbG9zaW5nICd9JyBhZnRlciBhICIsIHN0
cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7CisgICAgICAgICAgICBuZXh0KCk7
CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgZmFpbElmRmFsc2UoaXNFbmRPZkFycm93RnVu
Y3Rpb24oKSwgIkV4cGVjdGVkIHRoZSBjbG9zaW5nICc7JyAnLCcgJ10nICcpJyAnfScgYWZ0ZXIg
YXJyb3cgZnVuY3Rpb24iKTsKKyAgICB9IGVsc2UgeworICAgICAgICBtYXRjaE9yRmFpbChDTE9T
RUJSQUNFLCAiRXhwZWN0ZWQgYSBjbG9zaW5nICd9JyBhZnRlciBhICIsIHN0cmluZ0ZvckZ1bmN0
aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7CisgICAgICAgIG5leHQoKTsKKyAgICB9CisjZWxzZQog
ICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0UsICJFeHBlY3RlZCBhIGNsb3NpbmcgJ30nIGFmdGVy
IGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICBuZXh0KCk7
CisjZW5kaWYKICAgICAKICAgICBpZiAobmV3SW5mbykKICAgICAgICAgbV9mdW5jdGlvbkNhY2hl
LT5hZGQoaW5mby5vcGVuQnJhY2VPZmZzZXQsIFdURjo6bW92ZShuZXdJbmZvKSk7CiAgICAgCi0g
ICAgbmV4dCgpOwogICAgIGluZm8uYm9keUVuZExpbmUgPSBtX2xhc3RUb2tlbkVuZFBvc2l0aW9u
LmxpbmU7CiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC0xNzY3LDYgKzE5NjIsMTggQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUlmU3RhdGVtZW50KFQKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVJZlN0YXRlbWVudChp
ZkxvY2F0aW9uLCBjb25kaXRpb24sIHRydWVCbG9jaywgc3RhdGVtZW50U3RhY2subGFzdCgpLCBz
dGFydCwgZW5kKTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0
ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uRXhw
cmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBmYWlsSWZTdGFja092ZXJmbG93
KCk7CisgICAgVHJlZUV4cHJlc3Npb24gbm9kZSA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24o
Y29udGV4dCk7CisgICAgZmFpbElmRmFsc2Uobm9kZSwgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9u
Iik7CisgICAgY29udGV4dC5zZXRFbmRPZmZzZXQobm9kZSwgbV9sYXN0VG9rZW5FbmRQb3NpdGlv
bi5vZmZzZXQpOworICAgIHJldHVybiBub2RlOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBl
bmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNz
aW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRl
eHQpCiB7CkBAIC0xODE0LDYgKzIwMjEsNDEgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWls
ZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KICAg
ICAgICAgfQogICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CiAgICAgfQorCisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBTYXZlUG9pbnQgc2F2ZUFy
cm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgIGJvb2wgYXJyb3dGdW5j
dGlvbkVtcHR5TGlzdCA9IGZhbHNlOworICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAg
ICAgIG5leHQoKTsKKyAgICAgICAgaWYgKG1hdGNoKENMT1NFUEFSRU4pKSB7CisgICAgICAgICAg
ICBuZXh0KCk7CisKKyAgICAgICAgICAgIGlmIChtYXRjaChBUlJPV0ZVTkNUSU9OKSkKKyAgICAg
ICAgICAgICAgICBhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0ID0gdHJ1ZTsKKyAgICAgICAgfQorCisg
ICAgICAgIGlmICghYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCkKKyAgICAgICAgICAgIHJlc3RvcmVT
YXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAgfQorCisgICAgVHJlZUV4cHJl
c3Npb24gbGhzOworICAgIGlmICghYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCkgeworICAgICAgICBs
aHMgPSBwYXJzZUNvbmRpdGlvbmFsRXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICAgICAgZmFpbElm
RmFsc2UobGhzLCAiQ2FuGW5vdCBwYXJzZSBleHByZXNzaW9uIik7CisgICAgICAgIGlmIChpbml0
aWFsTm9uTEhTQ291bnQgIT0gbV9ub25MSFNDb3VudCkgeworICAgICAgICAgICAgaWYgKG1fdG9r
ZW4ubV90eXBlID49IEVRVUFMICYmIG1fdG9rZW4ubV90eXBlIDw9IE9SRVFVQUwpCisgICAgICAg
ICAgICAgICAgc2VtYW50aWNGYWlsKCJMZWZ0IGhhbmQgc2lkZSBvZiBvcGVyYXRvciAnIiwgZ2V0
VG9rZW4oKSwgIicgbXVzdCBiZSBhIHJlZmVyZW5jZSIpOworCisgICAgICAgICAgICByZXR1cm4g
bGhzOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJT04pKSB7
CisgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAg
ICAgIGxocyA9IHBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoY29udGV4dCk7CisgICAgICAgIHJl
dHVybiBsaHM7CisgICAgfQorI2Vsc2UKICAgICBUcmVlRXhwcmVzc2lvbiBsaHMgPSBwYXJzZUNv
bmRpdGlvbmFsRXhwcmVzc2lvbihjb250ZXh0KTsKICAgICBmYWlsSWZGYWxzZShsaHMsICJDYW5u
b3QgcGFyc2UgZXhwcmVzc2lvbiIpOwogICAgIGlmIChpbml0aWFsTm9uTEhTQ291bnQgIT0gbV9u
b25MSFNDb3VudCkgewpAQCAtMTgyMiw3ICsyMDY0LDggQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRy
ZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25t
ZW4KIAogICAgICAgICByZXR1cm4gbGhzOwogICAgIH0KLSAgICAKKyNlbmRpZgorCiAgICAgaW50
IGFzc2lnbm1lbnRTdGFjayA9IDA7CiAgICAgT3BlcmF0b3Igb3A7CiAgICAgYm9vbCBoYWRBc3Np
Z25tZW50ID0gZmFsc2U7CkBAIC0yMjk3LDYgKzI1NDAsMjMgQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5
RXhwcmUKICAgICAgICAgcmV0dXJuIGNvbnRleHQudGhpc0V4cHIobG9jYXRpb24sIG1fdGhpc1RE
Wk1vZGUpOwogICAgIH0KICAgICBjYXNlIElERU5UOiB7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQg
PSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tl
blN0YXJ0UG9zaXRpb24oKTsKKyAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rv
a2VuLm1fZGF0YS5pZGVudDsKKyAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2Vu
TG9jYXRpb24oKSk7CisgICAgICAgIG5leHQoKTsKKworICAgICAgICBpZiAoIW1hdGNoKEFSUk9X
RlVOQ1RJT04pKSB7CisgICAgICAgICAgICBjdXJyZW50U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRl
bnQsIG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmlkZW50KTsKKyAgICAgICAgICAgIG1f
bGFzdElkZW50aWZpZXIgPSBpZGVudDsKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0
ZVJlc29sdmUobG9jYXRpb24sIGlkZW50LCBzdGFydCk7CisgICAgICAgIH0KKworICAgICAgICBy
ZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICBUcmVlRXhw
cmVzc2lvbiBsaHMgPSBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKGNvbnRleHQpOworICAgICAg
ICByZXR1cm4gbGhzOworI2Vsc2UKICAgICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tl
blN0YXJ0UG9zaXRpb24oKTsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rv
a2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2Vu
TG9jYXRpb24oKSk7CkBAIC0yMzA0LDYgKzI1NjQsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHBy
ZQogICAgICAgICBjdXJyZW50U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRlbnQsIG1fdm0tPnByb3Bl
cnR5TmFtZXMtPmV2YWwgPT0gKmlkZW50KTsKICAgICAgICAgbV9sYXN0SWRlbnRpZmllciA9IGlk
ZW50OwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVSZXNvbHZlKGxvY2F0aW9uLCBpZGVu
dCwgc3RhcnQpOworI2VuZGlmCiAgICAgfQogICAgIGNhc2UgU1RSSU5HOiB7CiAgICAgICAgIGNv
bnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CkBAIC0yNDkxLDYg
KzI3NTIsMzIgQEAgZW5kTWVtYmVyRXhwcmVzc2lvbjoKICAgICByZXR1cm4gYmFzZTsKIH0KIAor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUg
TGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihUcmVlQnVpbGRlciYg
Y29udGV4dCkKK3sKKyAgICBUcmVlRXhwcmVzc2lvbiBiYXNlID0gMDsKKyAgICBKU1RleHRQb3Np
dGlvbiBleHByZXNzaW9uU3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICBpbnQgbmV3
Q291bnQgPSAwOworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbjsKKworICAgIGlmIChtYXRj
aChJREVOVCkgfHwgbWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICB1bnNpZ25lZCBmdW5jdGlv
bktleXdvcmRTdGFydCA9IHRva2VuU3RhcnQoKTsKKyAgICAgICAgbG9jYXRpb24gPSB0b2tlbkxv
Y2F0aW9uKCk7CisgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gaW5mbzsK
KyAgICAgICAgaW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVy
OworICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rp
b25Ob1JlcXVpcmVtZW50cywgRnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5v
bmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvLCBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSks
ICJDYW5ub3QgcGFyc2UgYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgICAgICBiYXNl
ID0gY29udGV4dC5jcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihsb2NhdGlvbiwgaW5mbyk7CisgICAg
fSBlbHNlCisgICAgICAgIGJhc2UgPSBwYXJzZVByaW1hcnlFeHByZXNzaW9uKGNvbnRleHQpOwor
CisgICAgZmFpbElmRmFsc2UoYmFzZSwgIkNhbm5vdCBwYXJzZSBiYXNlIGV4cHJlc3Npb24iKTsK
KyAgICB3aGlsZSAobmV3Q291bnQtLSkKKyAgICAgICAgYmFzZSA9IGNvbnRleHQuY3JlYXRlTmV3
RXhwcihsb2NhdGlvbiwgYmFzZSwgZXhwcmVzc2lvblN0YXJ0LCBsYXN0VG9rZW5FbmRQb3NpdGlv
bigpKTsKKyAgICByZXR1cm4gYmFzZTsKK30KKyNlbmRpZgorCiBzdGF0aWMgY29uc3QgY2hhciog
b3BlcmF0b3JTdHJpbmcoYm9vbCBwcmVmaXgsIHVuc2lnbmVkIHRvaykKIHsKICAgICBzd2l0Y2gg
KHRvaykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKaW5kZXggMGYyNzI4Zjg2
MjFmODAxMGM0MTBiZjc5ODc2MTliZjIzZTUwYWY4Yi4uMzRjZGE5NzJjYzNiOGUwOWQ2MjNmMzlk
OWY1YWZjMmUwMWEzN2Y4NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCkBA
IC04MCw2ICs4MCw5IEBAIGNsYXNzIFNvdXJjZUNvZGU7CiBDT01QSUxFX0FTU0VSVChMYXN0VW50
YWdnZWRUb2tlbiA8IDY0LCBMZXNzVGhhbjY0VW50YWdnZWRUb2tlbnMpOwogCiBlbnVtIFNvdXJj
ZUVsZW1lbnRzTW9kZSB7IENoZWNrRm9yU3RyaWN0TW9kZSwgRG9udENoZWNrRm9yU3RyaWN0TW9k
ZSB9OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitlbnVtIEZ1bmN0aW9u
UGFyc2VUeXBlIHsgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSwgQXJyb3dGdW5jdGlvblBhcnNl
VHlwZSB9OworI2VuZGlmCiBlbnVtIEZ1bmN0aW9uUmVxdWlyZW1lbnRzIHsgRnVuY3Rpb25Ob1Jl
cXVpcmVtZW50cywgRnVuY3Rpb25OZWVkc05hbWUgfTsKIGVudW0gRnVuY3Rpb25QYXJzZU1vZGUg
ewogICAgIEZ1bmN0aW9uTW9kZSwKQEAgLTYxOCw2ICs2MjEsMTMgQEAgcHJpdmF0ZToKICAgICAg
ICAgcmV0dXJuIG1fdG9rZW4ubV90eXBlID09IElERU5UICYmICptX3Rva2VuLm1fZGF0YS5pZGVu
dCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5vZjsKICAgICB9CiAgICAgCisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBBTFdBWVNfSU5MSU5FIGJvb2wgaXNFbmRPZkFy
cm93RnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIG1hdGNoKFNFTUlDT0xPTikgfHwg
bWF0Y2goQ09NTUEpIHx8IG1hdGNoKENMT1NFUEFSRU4pIHx8IG1hdGNoKENMT1NFQlJBQ0UpIHx8
IG1hdGNoKENMT1NFQlJBQ0tFVCk7CisgICAgfQorI2VuZGlmCisgICAgCiAgICAgQUxXQVlTX0lO
TElORSB1bnNpZ25lZCB0b2tlblN0YXJ0KCkKICAgICB7CiAgICAgICAgIHJldHVybiBtX3Rva2Vu
Lm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CkBAIC03MjEsOSArNzMxLDE0IEBAIHByaXZhdGU6CiAg
ICAgICAgIH0KICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0gICAgCisKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXIm
LCBTb3VyY2VFbGVtZW50c01vZGUsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBl
ID0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiwgY29uc3Qg
SWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgg
PSAwLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSA9IFN0YW5kYXJkRnVuY3Rp
b25QYXJzZVR5cGUpOworI2Vsc2UKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVTb3VyY2VFbGVtZW50cyBwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNl
RWxlbWVudHNNb2RlKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0
ZW1lbnQgcGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVyKiYgZGly
ZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDApOworI2VuZGlmCiAj
aWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQ2xhc3NEZWNsYXJhdGlvbihUcmVlQnVpbGRlciYpOwog
I2VuZGlmCkBAIC03NjIsMTcgKzc3NywzMiBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IHBhcnNlUHJvcGVydHkoVHJlZUJ1aWxkZXImLCBi
b29sIHN0cmljdCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVz
c2lvbiBwYXJzZVByb3BlcnR5TWV0aG9kKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVu
dGlmaWVyKiBtZXRob2ROYW1lKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVQcm9wZXJ0eSBwYXJzZUdldHRlclNldHRlcihUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0LCBQ
cm9wZXJ0eU5vZGU6OlR5cGUsIHVuc2lnbmVkIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIENv
bnN0cnVjdG9yS2luZCA9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJCaW5kaW5nID0gU3Vw
ZXJCaW5kaW5nOjpOb3ROZWVkZWQpOwotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
QUxXQVlTX0lOTElORSBUcmVlRnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rpb25Cb2R5KFRyZWVCdWls
ZGVyJiwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIGlu
dCBwYXJhbWV0ZXJzU3RhcnQsIENvbnN0cnVjdG9yS2luZCk7CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZ
U19JTkxJTkUgVHJlZUZ1bmN0aW9uQm9keSBwYXJzZUZ1bmN0aW9uQm9keShUcmVlQnVpbGRlciYs
IGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCBpbnQgcGFy
YW1ldGVyc1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0aW9u
UGFyc2VUeXBlID0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CisjZWxzZQorICAgICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZ1bmN0aW9uQm9k
eSBwYXJzZUZ1bmN0aW9uQm9keShUcmVlQnVpbGRlciYsIGludCBmdW5jdGlvbktleXdvcmRTdGFy
dCwgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25zdHJ1Y3Rv
cktpbmQpOworI2VuZGlmCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNf
SU5MSU5FIFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhUcmVl
QnVpbGRlciYpOwogICAgIGVudW0gVmFyRGVjbGFyYXRpb25MaXN0Q29udGV4dCB7IEZvckxvb3BD
b250ZXh0LCBWYXJEZWNsYXJhdGlvbkNvbnRleHQgfTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlVmFyRGVjbGFyYXRpb25MaXN0KFRyZWVCdWls
ZGVyJiwgaW50JiBkZWNsYXJhdGlvbnMsIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4mIGxhc3RQ
YXR0ZXJuLCBUcmVlRXhwcmVzc2lvbiYgbGFzdEluaXRpYWxpemVyLCBKU1RleHRQb3NpdGlvbiYg
aWRlbnRTdGFydCwgSlNUZXh0UG9zaXRpb24mIGluaXRTdGFydCwgSlNUZXh0UG9zaXRpb24mIGlu
aXRFbmQsIFZhckRlY2xhcmF0aW9uTGlzdENvbnRleHQpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVDb25zdERlY2xMaXN0IHBhcnNlQ29uc3REZWNs
YXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImKTsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lv
biBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CisgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQXJyb3dGdW5jdGlvblN0
YXRlbWVudChUcmVlQnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZUV4cHJlc3Npb24gcGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihUcmVlQnVpbGRlciYpOwor
I2VuZGlmCisKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBU
cmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIGNyZWF0ZUJpbmRpbmdQYXR0ZXJuKFRyZWVCdWlsZGVy
JiwgRGVjb25zdHJ1Y3Rpb25LaW5kLCBjb25zdCBJZGVudGlmaWVyJiwgaW50IGRlcHRoLCBKU1Rv
a2VuKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVl
RGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIHBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuKFRyZWVCdWls
ZGVyJiwgRGVjb25zdHJ1Y3Rpb25LaW5kLCBpbnQgZGVwdGggPSAwKTsKICAgICB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJu
IHRyeVBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOwog
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBib29sIHBhcnNlRnVuY3Rpb25JbmZvKFRyZWVC
dWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlLCBib29sIG5h
bWVJc0luQ29udGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQsIGludCBmdW5jdGlvbktleXdv
cmRTdGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYsIEZ1bmN0aW9uUGFyc2VU
eXBlIGZ1bmN0aW9uUGFyc2VUeXBlID0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CisjZWxz
ZQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIGJvb2wgcGFy
c2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgRnVuY3Rp
b25QYXJzZU1vZGUsIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2lu
ZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxk
ZXI+Jik7CisjZW5kaWYKKyAgICAKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlQ2xhc3NFeHByZXNz
aW9uIHBhcnNlQ2xhc3MoVHJlZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgUGFyc2Vy
Q2xhc3NJbmZvPFRyZWVCdWlsZGVyPiYpOwogI2VuZGlmCkBAIC03ODksNiArODE5LDE0IEBAIHBy
aXZhdGU6CiAgICAgICAgIHJldHVybiBhbGxvd0F1dG9tYXRpY1NlbWljb2xvbigpOwogICAgIH0K
ICAgICAKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdm9pZCBz
ZXRFbmRPZlN0YXRlbWVudCgpCisgICAgeworICAgICAgICBtX2xleGVyLT5zZXRUb2tlblBvc2l0
aW9uKCZtX3Rva2VuKTsKKyAgICB9CisjZW5kaWYKKwogICAgIGJvb2wgY2FuUmVjdXJzZSgpCiAg
ICAgewogICAgICAgICByZXR1cm4gbV92bS0+aXNTYWZlVG9SZWN1cnNlKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaAppbmRleCA2Yjcz
NjI4MmUyZDJhODFiYzYzZGMyZjNjMGU1YWU4Yzg1OGNkMWY4Li5kNzUyYTYxMGE5YjZlYjBjNmEx
MTQ5NTQ2NWNhN2RiZDc2OGNkNTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKQEAgLTI4LDYgKzI4LDEwIEBACiAKIG5hbWVzcGFj
ZSBKU0MgewogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK2VudW0gQXJy
b3dGdW5jdGlvbkJvZHlUeXBlIHsgQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uLCBBcnJvd0Z1
bmN0aW9uQm9keUJsb2NrfTsKKyNlbmRpZgorCiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
CiBzdHJ1Y3QgUGFyc2VyRnVuY3Rpb25JbmZvIHsKICAgICBjb25zdCBJZGVudGlmaWVyKiBuYW1l
ID0gMDsKQEAgLTM4LDYgKzQyLDExIEBAIHN0cnVjdCBQYXJzZXJGdW5jdGlvbkluZm8gewogICAg
IGludCBib2R5U3RhcnRMaW5lID0gMDsKICAgICBpbnQgYm9keUVuZExpbmUgPSAwOwogICAgIHVu
c2lnbmVkIGJvZHlTdGFydENvbHVtbiA9IDA7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICB1bnNpZ25lZCBhcnJvd0Z1bmN0aW9uT2Zmc2V0ID0gMDsKKyAgICBib29s
IGlzQXJyb3dGdW5jdGlvbiA9IGZhbHNlOworICAgIEFycm93RnVuY3Rpb25Cb2R5VHlwZSBhcnJv
d0Z1bmN0aW9uQm9keVR5cGUgPSBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb247CisjZW5kaWYK
IH07CiAKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCmluZGV4IDgzMjlmODJhOWIyZmY5MTVkMWYyNDFjMWY4
YmZmYWQ0MjQ3YTVmMGIuLmM4YjE2NmUwZWFkN2QyZGE3MTllNzZjNGEyZjA5YWZmMWQ3NGQ3YWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaApAQCAtNzUs
NiArNzUsOSBAQCBlbnVtIEpTVG9rZW5UeXBlIHsKICAgICBGSU5BTExZLAogICAgIERFQlVHR0VS
LAogICAgIEVMU0UsCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBB
UlJPV0ZVTkNUSU9OLAorI2VuZGlmCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAgICAg
Q0xBU1NUT0tFTiwKICAgICBFWFRFTkRTLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9Tb3VyY2VDb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Nv
dXJjZUNvZGUuaAppbmRleCA3M2QyM2RiODJhZjI1ZWE0NmMwZjg5Nzg1Y2U0MjRiYjYwZWI2MWE3
Li45MjhlNzEyYTkwZTM0ODk4OGJjMzU1NDg5ODc1YjA5MDc3Njc1NTIzIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaApAQCAtMTA1LDYgKzEwNSw5IEBAIG5hbWVz
cGFjZSBKU0MgewogICAgICAgICAKICAgICAgICAgU291cmNlQ29kZSBzdWJFeHByZXNzaW9uKHVu
c2lnbmVkIG9wZW5CcmFjZSwgdW5zaWduZWQgY2xvc2VCcmFjZSwgaW50IGZpcnN0TGluZSwgaW50
IHN0YXJ0Q29sdW1uKTsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgICAgIFNvdXJjZUNvZGUgc3ViQXJyb3dFeHByZXNzaW9uKHVuc2lnbmVkIHN0YXJ0QXJyb3dG
dW5jdGlvbiwgdW5zaWduZWQgZW5kQXJyb3dGdW5jdGlvbiwgaW50IGZpcnN0TGluZSwgaW50IHN0
YXJ0Q29sdW1uKTsKKyNlbmRpZgogICAgIHByaXZhdGU6CiAgICAgICAgIFJlZlB0cjxTb3VyY2VQ
cm92aWRlcj4gbV9wcm92aWRlcjsKICAgICAgICAgaW50IG1fc3RhcnRDaGFyOwpAQCAtMTE4LDYg
KzEyMSwxNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgcmV0dXJuIFNvdXJjZUNvZGUoU3Ry
aW5nU291cmNlUHJvdmlkZXI6OmNyZWF0ZShzb3VyY2UsIHVybCwgc3RhcnRQb3NpdGlvbiksIHN0
YXJ0UG9zaXRpb24ubV9saW5lLm9uZUJhc2VkSW50KCksIHN0YXJ0UG9zaXRpb24ubV9jb2x1bW4u
b25lQmFzZWRJbnQoKSk7CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICBpbmxpbmUgU291cmNlQ29kZSBTb3VyY2VDb2RlOjpzdWJBcnJvd0V4cHJlc3Np
b24odW5zaWduZWQgc3RhcnRBcnJvd0Z1bmN0aW9uLCB1bnNpZ25lZCBlbmRBcnJvd0Z1bmN0aW9u
LCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pCisgICAgeworICAgICAgICBBU1NFUlQo
cHJvdmlkZXIoKS0+c291cmNlKClbc3RhcnRBcnJvd0Z1bmN0aW9uXSA9PSAnPScgJiYgcHJvdmlk
ZXIoKS0+c291cmNlKClbc3RhcnRBcnJvd0Z1bmN0aW9uICsgMV0gPT0gJz4nKTsKKyAgICAgICAg
Ly8gRml4bWU6IFVzZSBiZXR0ZXIgYXBwcm9hY2ggdG8gY2hlY2sgc3ltYm9sCisgICAgICAgIEFT
U0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJywnIHx8
IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnOycgfHwgcHJv
dmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICcpJyB8fCBwcm92aWRl
cigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJ10nIHx8IHByb3ZpZGVyKCkt
PnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnfScpOworICAgICAgICBzdGFydENv
bHVtbiArPSAxOyAvLyBDb252ZXJ0IHRvIGJhc2UgMS4KKyAgICAgICAgcmV0dXJuIFNvdXJjZUNv
ZGUocHJvdmlkZXIoKSwgc3RhcnRBcnJvd0Z1bmN0aW9uLCBlbmRBcnJvd0Z1bmN0aW9uIC0gMSwg
Zmlyc3RMaW5lLCBzdGFydENvbHVtbik7CisgICAgfQorI2VuZGlmCisKICAgICBpbmxpbmUgU291
cmNlQ29kZSBTb3VyY2VDb2RlOjpzdWJFeHByZXNzaW9uKHVuc2lnbmVkIG9wZW5CcmFjZSwgdW5z
aWduZWQgY2xvc2VCcmFjZSwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKQogICAgIHsK
ICAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW29wZW5CcmFjZV0gPT0gJ3snKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJD
YWNoZUl0ZW0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJD
YWNoZUl0ZW0uaAppbmRleCA2MzUzNzllM2Y0NDU2NjhjNTJiODcyZjc2MTZkY2I1OTIxYTgyOTQ0
Li44MzQ2NDg1MjE5ZDBhY2Y2YjMyNjk3MmRhMjc5NzIxZDM2NTVkYjAwIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5o
CkBAIC00MCw2ICs0MCwxMCBAQCBzdHJ1Y3QgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlv
blBhcmFtZXRlcnMgewogICAgIGJvb2wgbmVlZHNGdWxsQWN0aXZhdGlvbjsKICAgICBib29sIHVz
ZXNFdmFsOwogICAgIGJvb2wgc3RyaWN0TW9kZTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIGJvb2wgaXNCb2R5QXJyb3dGdW5jdGlvbkJsb2NrOworICAgIEpTVG9r
ZW5UeXBlIHRva2VuVHlwZTsKKyNlbmRpZgogICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+
IHVzZWRWYXJpYWJsZXM7CiAgICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4gd3JpdHRlblZh
cmlhYmxlczsKIH07CkBAIC02OSw2ICs3MywyMSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiB0
b2tlbjsKICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
IEpTVG9rZW4gZW5kQXJyb3dGdW5jdGlvblRva2VuKCkgY29uc3QKKyAgICB7CisgICAgICAgIEpT
VG9rZW4gdG9rZW47CisgICAgICAgIHRva2VuLm1fdHlwZSA9IHRva2VuVHlwZTsKKyAgICAgICAg
dG9rZW4ubV9kYXRhLm9mZnNldCA9IGNsb3NlQnJhY2VPZmZzZXQ7CisgICAgICAgIHRva2VuLm1f
bG9jYXRpb24uc3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNlT2Zmc2V0OworICAgICAgICB0b2tlbi5t
X2xvY2F0aW9uLmVuZE9mZnNldCA9IGNsb3NlQnJhY2VPZmZzZXQgKyAxOworICAgICAgICB0b2tl
bi5tX2xvY2F0aW9uLmxpbmUgPSBjbG9zZUJyYWNlTGluZTsKKyAgICAgICAgdG9rZW4ubV9sb2Nh
dGlvbi5saW5lU3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0OworCisgICAg
ICAgIHJldHVybiB0b2tlbjsKKyAgICB9CisjZW5kaWYKKwogICAgIHVuc2lnbmVkIGZ1bmN0aW9u
TmFtZVN0YXJ0IDogMzE7CiAgICAgYm9vbCBuZWVkc0Z1bGxBY3RpdmF0aW9uIDogMTsKICAgICAK
QEAgLTgyLDYgKzEwMSwxMSBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgdXNlZFZhcmlhYmxlc0Nv
dW50OwogICAgIHVuc2lnbmVkIHdyaXR0ZW5WYXJpYWJsZXNDb3VudDsKIAorI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgYm9vbCBpc0JvZHlBcnJvd0Z1bmN0aW9uQmxv
Y2s7CisgICAgSlNUb2tlblR5cGUgdG9rZW5UeXBlOworI2VuZGlmCisKICAgICBTdHJpbmdJbXBs
KiogdXNlZFZhcmlhYmxlcygpIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8U3RyaW5nSW1wbCoq
PihtX3ZhcmlhYmxlcyk7IH0KICAgICBTdHJpbmdJbXBsKiogd3JpdHRlblZhcmlhYmxlcygpIGNv
bnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8U3RyaW5nSW1wbCoqPigmbV92YXJpYWJsZXNbdXNlZFZh
cmlhYmxlc0NvdW50XSk7IH0KIApAQCAtMTE1LDYgKzEzOSwxMCBAQCBpbmxpbmUgU291cmNlUHJv
dmlkZXJDYWNoZUl0ZW06OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKGNvbnN0IFNvdXJjZVByb3Zp
ZGVyQ2FjaAogICAgICwgY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldChwYXJhbWV0ZXJzLmNsb3Nl
QnJhY2VMaW5lU3RhcnRPZmZzZXQpCiAgICAgLCB1c2VkVmFyaWFibGVzQ291bnQocGFyYW1ldGVy
cy51c2VkVmFyaWFibGVzLnNpemUoKSkKICAgICAsIHdyaXR0ZW5WYXJpYWJsZXNDb3VudChwYXJh
bWV0ZXJzLndyaXR0ZW5WYXJpYWJsZXMuc2l6ZSgpKQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgLCBpc0JvZHlBcnJvd0Z1bmN0aW9uQmxvY2socGFyYW1ldGVycy5p
c0JvZHlBcnJvd0Z1bmN0aW9uQmxvY2spCisgICAgLCB0b2tlblR5cGUocGFyYW1ldGVycy50b2tl
blR5cGUpCisjZW5kaWYKIHsKICAgICB1bnNpZ25lZCBqID0gMDsKICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgdXNlZFZhcmlhYmxlc0NvdW50OyArK2ksICsraikgewpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaAppbmRleCA4ZTRmNjFiOTQ5ODkwYjli
ZjU0MDI5ZTk2NjYxZWVmNTNhMTdiNTg0Li41ZjhlMjExZWU0YjUzYjM5NGViNWFlMjE5MGI4M2M4
YzRmODQ0Y2ZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRh
eENoZWNrZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNr
ZXIuaApAQCAtMTcwLDYgKzE3MCwxMCBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICBFeHByZXNzaW9u
VHlwZSBjcmVhdGVGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFy
c2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JikgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9
CiAgICAgaW50IGNyZWF0ZUZ1bmN0aW9uQm9keShjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25z
dCBKU1Rva2VuTG9jYXRpb24mLCBpbnQsIGludCwgYm9vbCwgaW50LCBpbnQsIGludCwgQ29uc3Ry
dWN0b3JLaW5kKSB7IHJldHVybiBGdW5jdGlvbkJvZHlSZXN1bHQ7IH0KKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUFycm93RnVu
Y3Rpb25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5m
bzxTeW50YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQorI2VuZGlmIAorICAg
IHZvaWQgc2V0RnVuY3Rpb25OYW1lU3RhcnQoaW50LCBpbnQpIHsgfQogICAgIGludCBjcmVhdGVB
cmd1bWVudHMoKSB7IHJldHVybiBBcmd1bWVudHNSZXN1bHQ7IH0KICAgICBpbnQgY3JlYXRlQXJn
dW1lbnRzKGludCkgeyByZXR1cm4gQXJndW1lbnRzUmVzdWx0OyB9CiAgICAgRXhwcmVzc2lvblR5
cGUgY3JlYXRlU3ByZWFkRXhwcmVzc2lvbihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBFeHByZXNz
aW9uVHlwZSwgaW50LCBpbnQsIGludCkgeyByZXR1cm4gU3ByZWFkRXhwcjsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNmZjM2VhMTgwMDY4OTY0M2FhZGQ2YzZhNDk3ZWQwYWU2YzIxMTEyMAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAK
QEAgLTAsMCArMSw3NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorCisjaW5jbHVkZSAiRXJyb3Iu
aCIKKyNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCisjaW5jbHVkZSAiSlNDSW5saW5lcy5o
IgorI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCisjaW5j
bHVkZSAiSlNGdW5jdGlvbklubGluZXMuaCIKKyNpbmNsdWRlICJKU09iamVjdC5oIgorI2luY2x1
ZGUgIlByb3BlcnR5U2xvdC5oIgorI2luY2x1ZGUgIlZNLmgiCisKK25hbWVzcGFjZSBKU0Mgewor
ICAgIAorY29uc3QgQ2xhc3NJbmZvIEpTQXJyb3dGdW5jdGlvbjo6c19pbmZvID0geyAiQXJyb3dG
dW5jdGlvbiIsICZCYXNlOjpzX2luZm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNBcnJvd0Z1
bmN0aW9uKSB9OworCit2b2lkIEpTQXJyb3dGdW5jdGlvbjo6ZGVzdHJveShKU0NlbGwqIGNlbGwp
Cit7CisgICAgc3RhdGljX2Nhc3Q8SlNBcnJvd0Z1bmN0aW9uKj4oY2VsbCktPkpTQXJyb3dGdW5j
dGlvbjo6fkpTQXJyb3dGdW5jdGlvbigpOworfQorCitKU0Fycm93RnVuY3Rpb246OkpTQXJyb3dG
dW5jdGlvbihWTSYgdm0sIEpTU2NvcGUqIHNjb3BlLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1
dGFibGUsIFN0cnVjdHVyZSogc3RydWN0dXJlKQorICAgIDogQmFzZSh2bSwgZXhlY3V0YWJsZSwg
c2NvcGUsIHN0cnVjdHVyZSkKK3sKK30KKyAgICAKK3ZvaWQgSlNBcnJvd0Z1bmN0aW9uOjpmaW5p
c2hDcmVhdGlvbihWTSYgdm0pCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOworLy8g
UHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9uIGlzIHVuZGVmaW5lZAorICAgIHB1dERpcmVjdCh2
bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBqc1VuZGVmaW5lZCgpLCBEb250RGVsZXRl
IHwgUmVhZE9ubHkgfCBEb250RW51bSk7Cit9CisgICAgCit2b2lkIEpTQXJyb3dGdW5jdGlvbjo6
dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQoreworICAg
IEpTQXJyb3dGdW5jdGlvbiogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0Fycm93RnVuY3Rpb24qPihj
ZWxsKTsKKyAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKHRoaXNPYmplY3QsIGluZm8oKSk7
CisgICAgQmFzZTo6dmlzaXRDaGlsZHJlbih0aGlzT2JqZWN0LCB2aXNpdG9yKTsKK30KKyAgICAK
K0NvbnN0cnVjdFR5cGUgSlNBcnJvd0Z1bmN0aW9uOjpnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCog
Y2VsbCwgQ29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0YSkKK3sKKyAgICBKU0Z1bmN0aW9uKiB0
aGlzT2JqZWN0ID0ganNDYXN0PEpTRnVuY3Rpb24qPihjZWxsKTsKKyAgICAgICAgCisgICAgY29u
c3RydWN0RGF0YS5qcy5mdW5jdGlvbkV4ZWN1dGFibGUgPSB0aGlzT2JqZWN0LT5qc0V4ZWN1dGFi
bGUoKTsKKyAgICBjb25zdHJ1Y3REYXRhLmpzLnNjb3BlID0gdGhpc09iamVjdC0+c2NvcGUoKTsK
KyAgICByZXR1cm4gQ29uc3RydWN0VHlwZU5vbmU7Cit9Cit9IC8vIG5hbWVzcGFjZSBKU0MKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1
bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24u
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43ODAxNWQzODcyMWNjYTQ0YWUyZjY1Y2I2ZDc3YjZhNjUyMjA5NjVkCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1
bmN0aW9uLmgKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpZm5kZWYgSlNBcnJvd0Z1bmN0aW9uX2gKKyNkZWZpbmUgSlNBcnJv
d0Z1bmN0aW9uX2gKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisKKyNp
bmNsdWRlICJKU0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3QuaCIKKworbmFt
ZXNwYWNlIEpTQyB7CisKK2NsYXNzIEpTQXJyb3dGdW5jdGlvbiA6IHB1YmxpYyBKU0Z1bmN0aW9u
IHsKK3B1YmxpYzoKKyAgICB0eXBlZGVmIEpTRnVuY3Rpb24gQmFzZTsKKyAgICAgICAgCisgICAg
c3RhdGljIEpTQXJyb3dGdW5jdGlvbiogY3JlYXRlKFZNJiB2bSwgSlNTY29wZSogc2NvcGUsIEZ1
bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCkKKyAgICB7CisgICAgICAgIEpTQXJyb3dGdW5jdGlvbiogZnVuY3Rpb24gPSBuZXcgKE5vdE51
bGwsIGFsbG9jYXRlQ2VsbDxKU0Fycm93RnVuY3Rpb24+KHZtLmhlYXApKSBKU0Fycm93RnVuY3Rp
b24odm0sIHNjb3BlLCBleGVjdXRhYmxlLCBnbG9iYWxPYmplY3QtPmFycm93RnVuY3Rpb25TdHJ1
Y3R1cmUoKSk7CisgICAgICAgIEFTU0VSVChmdW5jdGlvbi0+c3RydWN0dXJlKCktPmdsb2JhbE9i
amVjdCgpKTsKKyAgICAgICAgZnVuY3Rpb24tPmZpbmlzaENyZWF0aW9uKHZtKTsKKyAgICAgICAg
cmV0dXJuIGZ1bmN0aW9uOworICAgIH0KKyAgICAKKyAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpT
Q2VsbCopOworICAgICAgICAKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUo
Vk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkK
KyAgICB7CisgICAgICAgIEFTU0VSVChnbG9iYWxPYmplY3QpOworICAgICAgICByZXR1cm4gU3Ry
dWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhKU0Z1
bmN0aW9uVHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOworICAgIH0KKyAgICAgICAgCisg
ICAgc3RhdGljIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1
Y3REYXRhJik7CisgICAgICAgIAorICAgIERFQ0xBUkVfSU5GTzsKKworcHJvdGVjdGVkOgorICAg
IGNvbnN0IHN0YXRpYyB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0hhc0luc3Rh
bmNlIHwgQmFzZTo6U3RydWN0dXJlRmxhZ3M7CisgICAgICAgIAorICAgIHN0YXRpYyB2b2lkIHZp
c2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKKyAgICAgICAgCitwcml2YXRlOgor
ICAgIEpTQXJyb3dGdW5jdGlvbihWTSYsIEpTU2NvcGUqLCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBT
dHJ1Y3R1cmUqKTsKKworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKK307CisgICAgCit9
IC8vIG5hbWVzcGFjZSBKU0MKKyNlbmRpZiAvLyBFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgKKwor
I2VuZGlmIC8vIEpTQXJyb3dGdW5jdGlvbl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0Z1bmN0aW9uLmgKaW5kZXggOWFiOWRjMjc3N2JhYmY4OTYzODFkY2Y0MDJjMDEzMDkwZjk1
ZTMwYy4uM2EwYWUwMTEzNWJjYjk2NDBiMDUwMmEzMTY1MWFmOGZjYWEyYzRhZCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaApAQCAtMTMyLDYgKzEzMiw5IEBA
IHByb3RlY3RlZDoKIAogICAgIEpTX0VYUE9SVF9QUklWQVRFIEpTRnVuY3Rpb24oVk0mLCBKU0ds
b2JhbE9iamVjdCosIFN0cnVjdHVyZSopOwogICAgIEpTRnVuY3Rpb24oVk0mLCBGdW5jdGlvbkV4
ZWN1dGFibGUqLCBKU1Njb3BlKik7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICBKU0Z1bmN0aW9uKFZNJiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgSlNTY29wZSosIFN0
cnVjdHVyZSopOworI2VuZGlmCiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgTmF0aXZl
RXhlY3V0YWJsZSosIGludCBsZW5ndGgsIGNvbnN0IFN0cmluZyYgbmFtZSk7CiAgICAgdXNpbmcg
QmFzZTo6ZmluaXNoQ3JlYXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNGdW5jdGlvbklubGluZXMuaAppbmRleCAzN2IyODFhYTVkMGMxYjg2MTY0NTE5ZmQ3YzU2
NmUzN2YwZjEzNDAxLi43YjM0OTBiZWI5NGEzNTkzZWUxN2JjM2IxNmIzMmM3ZGZhZjk1NzNkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5l
cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVz
LmgKQEAgLTM4LDYgKzM4LDE1IEBAIGlubGluZSBKU0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKFZNJiB2
bSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBKU1Njb3BlKiBzCiB7CiB9CiAKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQoraW5saW5lIEpTRnVuY3Rpb246OkpT
RnVuY3Rpb24oVk0mIHZtLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpTU2NvcGUq
IHNjb3BlLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICA6IEJhc2Uodm0sIHNjb3BlLCBzdHJ1
Y3R1cmUpCisgICAgLCBtX2V4ZWN1dGFibGUodm0sIHRoaXMsIGV4ZWN1dGFibGUpCisgICAgLCBt
X2FsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludChDbGVhcldhdGNocG9pbnQpCit7Cit9CisjZW5k
aWYKKyAgICAKIGlubGluZSBGdW5jdGlvbkV4ZWN1dGFibGUqIEpTRnVuY3Rpb246OmpzRXhlY3V0
YWJsZSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKCFpc0hvc3RGdW5jdGlvbk5vbklubGluZSgpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApp
bmRleCBkMzk2MThhYjdlYWY1NTk3NGRhYWMyM2I4MTMzM2ViMDA1MWViZTczLi5mOTQxYWQxODc5
NjhiY2Q4N2UyZjQ5YzhiNzg3NTA1NGRjN2Q2MDQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCkBAIC02Miw2ICs2Miw5IEBACiAjaW5j
bHVkZSAiSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5oIgogI2luY2x1ZGUgIkpTQXJyYXlJdGVyYXRv
ci5oIgogI2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgorI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCisjZW5kaWYKICNp
bmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgi
CiAjaW5jbHVkZSAiSlNDYWxsYmFja0Z1bmN0aW9uLmgiCkBAIC0yMzMsNiArMjM2LDkgQEAgdm9p
ZCBKU0dsb2JhbE9iamVjdDo6aW5pdChWTSYgdm0pCiAgICAgZXhlYy0+c2V0Q2FsbGVlKG1fZ2xv
YmFsQ2FsbGVlLmdldCgpKTsKIAogICAgIG1fZnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlz
LCBKU0Z1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5
cGUuZ2V0KCkpKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIG1f
YXJyb3dGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpTQXJyb3dGdW5jdGlvbjo6Y3Jl
YXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7CisjZW5k
aWYKICAgICBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0JvdW5kRnVu
Y3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQo
KSkpOwogICAgIG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIFN0cnVjdHVy
ZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBtX2Z1bmN0aW9uU3RydWN0dXJlLmdldCgpLCB2
bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51bSwg
bV9mdW5jdGlvbk5hbWVPZmZzZXQpKTsKICAgICBtX2ludGVybmFsRnVuY3Rpb25TdHJ1Y3R1cmUu
c2V0KHZtLCB0aGlzLCBJbnRlcm5hbEZ1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMs
IG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKQEAgLTcyNSw2ICs3MzEsOSBAQCB2b2lkIEpT
R2xvYmFsT2JqZWN0Ojp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZp
c2l0b3IpCiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fY2FsbGVlU3RydWN0dXJl
KTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9mdW5jdGlvblN0cnVjdHVyZSk7
CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYm91bmRGdW5jdGlvblN0cnVjdHVy
ZSk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2aXNpdG9yLmFw
cGVuZCgmdGhpc09iamVjdC0+bV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKTsKKyNlbmRpZgogICAg
IHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUpOwog
ICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX3N5bWJvbE9iamVjdFN0cnVjdHVyZSk7
CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fcmVnRXhwTWF0Y2hlc0FycmF5U3Ry
dWN0dXJlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xv
YmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVj
dC5oCmluZGV4IDc0OTY2YjdiZDA2YmFjZDg2NjFjOWJmNGFiZTQ1Y2ViM2I1MTE4YjQuLjgxN2Yy
NTc2NjA3MDA3OTkwMTg2MTRhMDI5NmFiYzNjOTUzMDI1OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtMjI1LDYgKzIyNSw5IEBAIHBy
b3RlY3RlZDoKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2NhbGxlZVN0cnVjdHVyZTsK
ICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2Z1bmN0aW9uU3RydWN0dXJlOwogICAgIFdy
aXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYm91bmRGdW5jdGlvblN0cnVjdHVyZTsKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+
IG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZTsKKyNlbmRpZgogICAgIFdyaXRlQmFycmllcjxTdHJ1
Y3R1cmU+IG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZTsKICAgICBQcm9wZXJ0eU9mZnNldCBtX2Z1
bmN0aW9uTmFtZU9mZnNldDsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3ByaXZhdGVO
YW1lU3RydWN0dXJlOwpAQCAtNDU2LDYgKzQ1OSw5IEBAIHB1YmxpYzoKICAgICBTdHJ1Y3R1cmUq
IGNhbGxlZVN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbGVlU3RydWN0dXJlLmdldCgp
OyB9CiAgICAgU3RydWN0dXJlKiBmdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1f
ZnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUqIGJvdW5kRnVuY3Rpb25T
dHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7
IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFN0cnVjdHVyZSog
YXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXJyb3dGdW5jdGlvblN0
cnVjdHVyZS5nZXQoKTsgfQorI2VuZGlmCiAgICAgU3RydWN0dXJlKiBuYW1lZEZ1bmN0aW9uU3Ry
dWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9
CiAgICAgUHJvcGVydHlPZmZzZXQgZnVuY3Rpb25OYW1lT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4g
bV9mdW5jdGlvbk5hbWVPZmZzZXQ7IH0KICAgICBTdHJ1Y3R1cmUqIG51bWJlck9iamVjdFN0cnVj
dHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fbnVtYmVyT2JqZWN0U3RydWN0dXJlLmdldCgpOyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tbGV4aWNhbHRoaXMuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tbGV4aWNhbHRoaXMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjEyZmJhZjgwNDQ4MmM3NzYx
YzM3ZGQ2OTNhODQ4NWU1NTExNTczZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsdGhpcy5qcwpAQCAtMCww
ICsxLDMxIEBACit2YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVh
bCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAg
ICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2Fz
ICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgYWZPYmpMZXhCaW5kMiA9IGZ1bmN0
aW9uICgpIHsKKyAgdGhpcy5mdW5jID0gKCkgPT4gdGhpczsKK307CisKK3ZhciBhZk9iakxleEJp
bmQySW5zdGFuY2UgPSBuZXcgYWZPYmpMZXhCaW5kMigpOworCit0ZXN0Q2FzZShhZk9iakxleEJp
bmQySW5zdGFuY2UuZnVuYygpID09PSBhZk9iakxleEJpbmQySW5zdGFuY2UsIHRydWUsICJFcnJv
cjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0
aW9uICMyIik7CisKK3ZhciBvYmogPSB7CisgIG1ldGhvZDogZnVuY3Rpb24gKCkgeworICAgIHJl
dHVybiAoKSA9PiB0aGlzOworICB9Cit9OworCit0ZXN0Q2FzZShvYmoubWV0aG9kKCkoKSA9PT0g
b2JqLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiAjMyIpOworCit2YXIgZmFrZSA9IHtzdGVhbDogb2JqLm1ldGhv
ZCgpfTsKK3Rlc3RDYXNlKGZha2Uuc3RlYWwoKSA9PT0gb2JqLCB0cnVlLCAiRXJyb3I6IHRoaXMg
aXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNCIp
OworCisKKy8vIEZpeG1lOiBmb2xsb3dpbmcgdGVzdCBmYWlscyBpbiBkZmctZWFnZXItbm8tY2pp
dC12YWxpZGF0ZSAmIGZ0bC1lYWdlci1uby1jaml0IG1vZGUKK3ZhciByZWFsID0ge2JvcnJvdzog
b2JqLm1ldGhvZH07Cit0ZXN0Q2FzZShyZWFsLmJvcnJvdygpKCkgPT09IHJlYWwsIHRydWUsICJF
cnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1
bmN0aW9uICM1Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tb3RoZXJzLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLW90aGVycy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYmJmODU5ZTIwM2Vi
MWY1NGFjYWUxZDQwODNjYTNkZDNkYzk3NjFmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLW90aGVycy5qcwpAQCAtMCww
ICsxLDMwIEBACit2YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVh
bCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAg
ICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2Fz
ICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgc2ltcGxlQXJyb3dGdW5jdGlvbiA9
ICgpID0+IHt9OworCit0ZXN0Q2FzZSh0eXBlb2Ygc2ltcGxlQXJyb3dGdW5jdGlvbiwgImZ1bmN0
aW9uIiwgIkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiIpOwor
Cit0ZXN0Q2FzZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yoc2ltcGxlQXJyb3dGdW5jdGlvbiksIEZ1
bmN0aW9uLnByb3RvdHlwZSwgIkVycm9yOiBOb3QgY29ycmVjdCBnZXRQcm90b3R5cGVPZiB2YWx1
ZSBmb3IgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2Uoc2ltcGxlQXJyb3dGdW5jdGlvbiBp
bnN0YW5jZW9mIEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3Ig
aW5zdGFuY2VvZiBtZXRob2QgZm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHNpbXBs
ZUFycm93RnVuY3Rpb24uY29uc3RydWN0b3IgPT0gRnVuY3Rpb24sIHRydWUsICJFcnJvcjogTm90
IGNvcnJlY3QgcmVzdWx0IGZvciBjb25zdHJ1Y3RvciBtZXRob2Qgb2YgYXJyb3cgZnVuY3Rpb24i
KTsKKwordGVzdENhc2UodHlwZW9mIHNpbXBsZUFycm93RnVuY3Rpb24ucHJvdG90eXBlID09PSAn
dW5kZWZpbmVkJywgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlw
ZSBvZiBhcnJvdyBmdW5jdGlvbiIpOworCit2YXIgZXJyb3JPbkNyZWF0ZSA9IGZhbHNlOworCit0
cnkgeworICB2YXIgZmMgPSBuZXcgc2ltcGxlQXJyb3dGdW5jdGlvbigpOworfQorY2F0Y2ggKGUp
IHsKKyAgZXJyb3JPbkNyZWF0ZSA9IHRydWU7Cit9CisKK3Rlc3RDYXNlKGVycm9yT25DcmVhdGUs
IHRydWUsICJFcnJvcjogTm8gZXJyb3IgZHVyaW5nIHJ1biBuZXcgQXJyb3dGdW5jdGlvbiIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0
aW9uLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjA2ODdiM2FhYjFkMjdmNDUzZjkwNzYxY2VjMWFkNGQwNWNmMDNiMzUK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24uanMKQEAgLTAsMCArMSwxNTQgQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVz
dENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0
dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiAr
IGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3Zh
ciBhcnJvd0Z1bmN0aW9uMCA9IHYgPT4gdiArIDE7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMCgx
MCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb246IHYgPT4gdiArIDEiKTsKKwordmFyIGFycm93RnVuY3Rpb24x
ID0gKHYpID0+IHYgKiAyOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjEoMTApOwordGVzdENhc2Uo
cmVzdWx0LCAyMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1
bmN0aW9uOiAodikgPT4gdiArIDEiKTsKKwordmFyIGFycm93RnVuY3Rpb24yID0gKCkgPT4gMTAw
MDsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24yKDEyMTIpOwordGVzdENhc2UocmVzdWx0LCAxMDAw
ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICgp
ID0+IDEwMDAiKTsKKwordmFyIHRtcFZhcmlhbHZlMl8xID0gMTUxOwordmFyIGFycm93RnVuY3Rp
b24yXzEgPSAoKSA9PiB0bXBWYXJpYWx2ZTJfMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24yXzEo
MTIxKTsKK3Rlc3RDYXNlKHJlc3VsdCwgdG1wVmFyaWFsdmUyXzEgLCJFcnJvcjogTm90IGNvcnJl
Y3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKCkgPT4gdmFyaWFibGUiKTsKKwor
dmFyIGFycm93RnVuY3Rpb24zID0gKHYsIHgpID0+IHYgKyB4OworcmVzdWx0ID0gYXJyb3dGdW5j
dGlvbjMoMTEsMTIpOwordGVzdENhc2UocmVzdWx0LCAyMyAsIkVycm9yOiBOb3QgY29ycmVjdCBl
eGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAoeCwgeSkgPT4geCArIHkiKTsKKwordmFy
IGFycm93RnVuY3Rpb25XcmFwcGVyID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRlcikgeyByZXR1cm4g
Y2wocGFyYW10ZXIpOyB9OworCityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEy
MzQpOwordGVzdENhc2UocmVzdWx0LCAxMjM0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjKSIpOworCisgcmVz
dWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMjM0LCAyMzQ1KTsKK3Rlc3RDYXNlKHJl
c3VsdCwgMTIzNCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1
bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYywgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVu
Y3Rpb25XcmFwcGVyKHggPT4gMTIxICsgMjMyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzUzICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10
ZXI6IGYoeCA9PiBjMSArIGMyKSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIo
eCA9PiAxMjMgKyAzMjEsIDk5OTkpOwordGVzdENhc2UocmVzdWx0LCA0NDQgLCJFcnJvcjogTm90
IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4
ID0+IGMxICsgYzIsIHkpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+
IHggKyAxMiwgMjEpOwordGVzdENhc2UocmVzdWx0LCAzMyAsIkVycm9yOiBOb3QgY29ycmVjdCBl
eGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4geCArIGMx
LCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKHgpID0+IHggKyAyMSwg
MzIpOwordGVzdENhc2UocmVzdWx0LCA1MywgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24g
b2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCh4KSA9PiBjMSArIGMyLCB5KSIp
OworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwKTsKK3Rlc3RDYXNl
KHJlc3VsdCwgMTAwLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYykiKTsKKworIHZhciBleHRfdmFsdWUgPSAx
MjE7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiBleHRfdmFsdWUpOwordGVz
dENhc2UocmVzdWx0LCAxMjEsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiB2KSIpOworCisgcmVzdWx0ID0gYXJy
b3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gZXh0X3ZhbHVlICogMTApOwordGVzdENhc2UocmVzdWx0
LCAxMjEwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gdip4KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlv
bldyYXBwZXIoKHgpID0+IGV4dF92YWx1ZSAqIHgsIDMwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzAq
ZXh0X3ZhbHVlICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb24gYXMgcGFyYW10ZXI6IGYoKHgpID0+IHYqeCwgeSkiKTsKKworIHJlc3VsdCA9IGFycm93
RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCwgMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDAgLCJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJh
bXRlcjogZigoKSA9PiBjMSwgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVy
KCgpID0+IDEwMCArIDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEwICwiRXJyb3I6IE5vdCBjb3Jy
ZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4g
YzEgKyBjMikiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCAr
IDExLCAxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDExMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVj
dXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMxICsgYzIs
IHkpIik7CisKKyB2YXIgYXJyb3dGdW5jdGlvbjQgPSB2ID0+IHYgKyAxLCB4eXoxID0gMTAxMDE7
CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uNCgxMDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAxMiAs
IkVycm9yOiBOb3QgY29ycmVjdCBwYXJzaW5nIG9mIHRoIGFycm93IGZ1bmN0aW9uIGluc2lkZSBv
ZiB0aGUgbGlzdCBvZiB2YXJzOiB2YXIgYWYgPSB2PT4gdiArIDE7IHp4Yz1jOyIpOwordGVzdENh
c2UoeHl6MSwgMTAxMDEgLCJFcnJvcjogTm90IGNvcnJlY3QgcGFyc2luZyBvZiB0aCBhcnJvdyBm
dW5jdGlvbiBpbnNpZGUgb2YgdGhlIGxpc3Qgb2YgdmFyczogdmFyIGFmID0gdj0+IHYgKyAxOyB6
eGM9YzsiKTsKKworIHZhciBhcnJvd0Z1bmN0aW9uV3JhcHBlcjIgPSBmdW5jdGlvbiAoY2wsIHBh
cmFtdGVyMSwgcGFyYW10ZXIyKSB7IHJldHVybiBjbChwYXJhbXRlcjEsIHBhcmFtdGVyMik7IH07
CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcjIoKHgsIHkpID0+IHggKyB5LCAxMiAsNDMp
OwordGVzdENhc2UocmVzdWx0LCA1NSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtZXRlcjogZigoeCwgeSkgPT4geCArIHksIGMxLCBj
MikiKTsKKworIHZhciBhcnJvd0Z1bmN0aW9BcnJheTAgPSBbdiA9PiB2ICogMTBdOworcmVzdWx0
ID0gYXJyb3dGdW5jdGlvQXJyYXkwWzBdKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBp
biBhcnJheTogW3Y9PnYqMTBdIik7CisKKyB2YXIgYXJyb3dGdW5jdGlvQXJyYXkxID0gW3YgPT4g
diArIDEsIHYgPT4gdiArIDJdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkxWzBdKDEwKTsK
K3Rlc3RDYXNlKHJlc3VsdCwgMTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbdiA9PiB2ICsgMSwgIHYgPT4gdiAr
IDJdIik7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTFbMV0oMTEpOwordGVzdENhc2UocmVz
dWx0LCAxMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0
aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFt2ID0+IHYgKyAxLCAgdiA9PiB2ICsgMl0iKTsKKworIHZh
ciBhcnJvd0Z1bmN0aW9BcnJheTIgPSBbKHYpID0+IHYgKyAxLCAodikgPT4gdiArIDJdOworcmVz
dWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkyWzBdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIgLCJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVt
IGluIGFycmF5OiBbKHYpID0+IHYgKyAxLCAgKHYpID0+IHYgKyAyXSIpOworcmVzdWx0ID0gYXJy
b3dGdW5jdGlvQXJyYXkyWzFdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTMgLCJFcnJvcjogTm90
IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5
OiBbKHYpID0+IHYgKyAxLCAgKHYpID0+IHYgKyAyXSIpOworCisgdmFyIGFycm93RnVuY3Rpb0Fy
cmF5MyA9IFsoKSA9PiAxMDEsICgpID0+IDEyMzIzXTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0Fy
cmF5M1swXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMSwgIkVycm9yOiBOb3QgY29ycmVjdCBl
eGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsoKSA9PiBj
MSwgICgpID0+IGMyXSIpOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkzWzFdKDExKTsKK3Rl
c3RDYXNlKHJlc3VsdCwgMTIzMjMsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKCkgPT4gYzEsICAoKSA9PiBjMl0i
KTsKKwordmFyIGFycm93RnVuY3Rpb25PYmogPSB7ZnVuYyA6IHkgPT4geSArIDEyfTsKK3Jlc3Vs
dCA9IGFycm93RnVuY3Rpb25PYmouZnVuYygxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIzICwgIkVy
cm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHByb3Bl
cnR5OiB7ZnVuYyA6IHkgPT4geSArIDEyIH0iKTsKKwordmFyIGFmT2JqTGV4QmluZDIgPSBmdW5j
dGlvbiAoKSB7CisgIHRoaXMuZnVuYyA9ICgpID0+IHRoaXM7Cit9OworCit2YXIgYXJyb3dGYXRG
dW5jdGlvbjAgPSAoKSA9PiB7IHJldHVybiAxMDAwOyB9OworcmVzdWx0ID0gYXJyb3dGYXRGdW5j
dGlvbjAoMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiAoKSA9PiB7
IHJldHVybiAxMDAwOyB9Iik7CisKK3ZhciBhcnJvd0ZhdEZ1bmN0aW9uMSA9IHYgPT4geyB2YXIg
aW50dmFsID0gMTAwOyByZXR1cm4gdiAqIGludHZhbDsgfTsKK3Jlc3VsdCA9IGFycm93RmF0RnVu
Y3Rpb24xKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBl
eGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogeCA9PiB7
IHZhciB2PTEwMDA7IHJldHVybiB2Kng7IH0iKTsKKwordmFyIGFycm93RmF0RnVuY3Rpb24yID0g
KHYpID0+IHsgdmFyIGludCA9IDIwMDsgcmV0dXJuIHYgKiBpbnQ7IH07CityZXN1bHQgPSBhcnJv
d0ZhdEZ1bmN0aW9uMigxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIyMDAgLCJFcnJvcjogTm90IGNv
cnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6
ICh4KSA9PiB7IHZhciB2PTEwMDA7IHJldHVybiB2Kng7IH0iKTsKKwordmFyIGFycm93RmF0RnVu
Y3Rpb24zID0gKHYsIHgpID0+IHsgdmFyIHJlc3VsdCA9IHggKiB2OyByZXR1cm4gcmVzdWx0OyB9
OworcmVzdWx0ID0gYXJyb3dGYXRGdW5jdGlvbjMoMTEsIDEyMjIyKTsKK3Rlc3RDYXNlKHJlc3Vs
dCwgMTM0NDQyICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiAodiwgeCkgPT4geyB2YXIgcmVzdWx0ID0geCAqIHY7
IHJldHVybiByZXN1bHQ7IH0iKTsKKworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeD0+
e3JldHVybiB4ICogMjU7fSwgMTIxKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjUqMTIxICwiRXJyb3I6
IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFz
IGJsb2NrOiBmKHggPT4ge3JldHVybiB4ICogMjU7fSwgMTIxKSIpOworCityZXN1bHQgPSBhcnJv
d0Z1bmN0aW9uV3JhcHBlcjIoKHgsIHkpPT57cmV0dXJuIHggKiB5O30sIDE0LCAxMik7Cit0ZXN0
Q2FzZShyZXN1bHQsIDE0KjEyICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiBmKCh4LCB5KT0+e3JldHVybiB4ICog
eTt9LCAxNCwgMTIxKSkiKTsKKwordmFyIHNpbXBsZUFycm93RnVuY3Rpb24gPSAoKSA9PiB7fTsK
KwordGVzdENhc2UodHlwZW9mIHNpbXBsZUFycm93RnVuY3Rpb24sICJmdW5jdGlvbiIsICJFcnJv
cjogTm90IGNvcnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2Uo
T2JqZWN0LmdldFByb3RvdHlwZU9mKHNpbXBsZUFycm93RnVuY3Rpb24pLCBGdW5jdGlvbi5wcm90
b3R5cGUsICJFcnJvcjogTm90IGNvcnJlY3QgZ2V0UHJvdG90eXBlT2YgdmFsdWUgZm9yIGFycm93
IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93RnVuY3Rpb24gaW5zdGFuY2VvZiBG
dW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIGluc3RhbmNlb2Yg
bWV0aG9kIGZvciBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0
aW9uLmNvbnN0cnVjdG9yID09IEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJl
c3VsdCBmb3IgY29uc3RydWN0b3IgbWV0aG9kIG9mIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RD
YXNlKHR5cGVvZiBzaW1wbGVBcnJvd0Z1bmN0aW9uLnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5lZCcs
IHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBwcm90b3R5cGUgb2YgYXJyb3cg
ZnVuY3Rpb24iKTsKKwordmFyIGVycm9yT25DcmVhdGUgPSBmYWxzZTsKKwordHJ5IHsKKyAgdmFy
IGZjID0gbmV3IHNpbXBsZUFycm93RnVuY3Rpb24oKTsKK30KK2NhdGNoIChlKSB7CisgIGVycm9y
T25DcmVhdGUgPSB0cnVlOworfQorCit0ZXN0Q2FzZShlcnJvck9uQ3JlYXRlLCB0cnVlLCAiRXJy
b3I6IE5vIGVycm9yIGR1cmluZyBydW4gbmV3IEFycm93RnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIv
U291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5k
ZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0OGE3Njk3MmYx
MTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNv
cmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcg
QEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZB
U19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19TWU5U
QVg7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQU5JTUFUSU9OU19M
RVZFTF8yID0gRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBAIC0yMTQsNCArMjE1LDQg
QEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJ
VEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVf
REVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRf
Q0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxF
X0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNI
RV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJP
WFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFY
KSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxF
X0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJ
T04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMp
ICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVO
QUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9D
VVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVf
REFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFC
TEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNB
VEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVS
X1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05U
Uk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gp
ICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVS
X0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQo
RU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05D
VVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikg
JChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElN
SVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkg
JChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NP
TVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01F
RElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9T
TkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChF
TkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RG
X0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxF
X1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJ
TElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5B
QkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01P
REVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJM
RV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpF
UykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxF
X1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9M
TElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFC
TEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVf
M0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVO
QUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChF
TkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9Y
X0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NT
X0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NT
U19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5B
QkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVf
Q1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9C
UkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVf
SEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxF
TUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19D
T05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VW
RU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERF
Tl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5B
QkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09N
UExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dF
U1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFC
TEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJM
RV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xT
X1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0Vf
Q1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVf
TkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMp
ICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJM
RV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5B
QkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVf
U1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVU
RUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAk
KEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5B
QkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkg
JChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dF
Ql9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5B
QkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9S
RUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRM
X0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FS
SVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
IGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKaW5kZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0OGE3
Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291
cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAg
LTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwog
RU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VT
Nl9DTEFTU19TWU5UQVg7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxF
X0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVO
QUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1Nf
QU5JTUFUSU9OU19MRVZFTF8yID0gRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBAIC0y
MTQsNCArMjE1LDQgQEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRF
RF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7
CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUND
RUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJ
TkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAk
KEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJM
RV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZf
Q0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05F
WFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVD
T1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVW
SUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lN
QUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVf
Q1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1Nf
U0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFL
KSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5E
TEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVO
VCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5U
KSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNU
UlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRT
KSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FN
RVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BB
R0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVf
U0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VF
SykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VD
SF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9M
RUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJ
TktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NS
SVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJT
T1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJ
R0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERG
S0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChF
TkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVO
QUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JF
UVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9S
RVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVf
Q1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJF
QU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVO
QUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJ
T04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5B
QkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVf
VklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVO
QUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FV
RElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVf
UElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lP
TlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklU
KSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhN
RVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVT
ID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NB
UFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJ
VElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5B
QkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVO
QUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykg
JChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQp
ICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09M
VVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVM
NCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1Mz
X1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NV
U1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxF
X0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9E
T000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVf
Rk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQ
QUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFU
QUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVf
VUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Jf
UE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChF
TkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAk
KEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVG
SVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5E
T1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBS
RVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01F
RElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJ
QV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChF
TkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElM
UykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFC
TEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19T
VUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZS
QU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BF
Q1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JB
TkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJ
UykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxF
X1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9O
RV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNP
Tl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVD
VF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFU
QUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wp
ICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NP
Q0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5B
QkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkg
JChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFU
RURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKaW5kZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4u
MTE0OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIv
U291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAg
LTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwog
RU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VT
Nl9DTEFTU19TWU5UQVg7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxF
X0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVO
QUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1Nf
QU5JTUFUSU9OU19MRVZFTF8yID0gRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBAIC0y
MTQsNCArMjE1LDQgQEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRF
RF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7
CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUND
RUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJ
TkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAk
KEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJM
RV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZf
Q0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05F
WFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVD
T1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVW
SUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lN
QUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVf
Q1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1Nf
U0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFL
KSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5E
TEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVO
VCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5U
KSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNU
UlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRT
KSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FN
RVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BB
R0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVf
U0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VF
SykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VD
SF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9M
RUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJ
TktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NS
SVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJT
T1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJ
R0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERG
S0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChF
TkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVO
QUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JF
UVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9S
RVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVf
Q1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJF
QU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVO
QUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJ
T04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5B
QkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVf
VklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVO
QUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FV
RElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVf
UElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lP
TlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklU
KSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhN
RVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVT
ID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NB
UFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJ
VElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5B
QkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVO
QUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykg
JChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQp
ICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09M
VVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVM
NCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1Mz
X1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NV
U1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxF
X0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9E
T000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVf
Rk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQ
QUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFU
QUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVf
VUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Jf
UE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChF
TkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAk
KEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVG
SVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5E
T1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBS
RVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01F
RElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJ
QV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChF
TkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElM
UykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFC
TEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19T
VUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZS
QU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BF
Q1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JB
TkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJ
UykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxF
X1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9O
RV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNP
Tl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVD
VF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFU
QUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wp
ICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NP
Q0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5B
QkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkg
JChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFU
RURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZSBiL1NvdXJjZS9j
bWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQppbmRleCAzMmMyMzVkOThiNWE0MjBlYmUzMzQ4MzRj
N2I2YTQxODJiMjIyMjBhLi5hNjc1MzcxNDU2MjdjZDM4YTI3MDc5Y2Q1ZGZlOTg2ODJjOTFmNDY1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKKysrIGIvU291
cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCkBAIC0yOCw2ICsyOCw3IEBAIG1hY3JvKFdF
QktJVF9PUFRJT05fQkVHSU4pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NBTlZB
U19QUk9YWSAiVG9nZ2xlIENhbnZhc1Byb3h5IHN1cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BU
SU9OX0RFRklORShFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgIlRvZ2dsZSBNZXNzYWdlQ2hhbm5l
bCBhbmQgTWVzc2FnZVBvcnQgc3VwcG9ydCIgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUo
RU5BQkxFX0VTNl9DTEFTU19TWU5UQVggIlRvZ2dsZSBFUzYgY2xhc3Mgc3ludGF4IHN1cHBvcnQi
IE9OKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9T
WU5UQVggIlRvZ2dsZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1cHBvcnQiIE9OKQogICAg
IFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyAiVG9nZ2xlIGNv
bnRlbnQgZmlsdGVyaW5nIHN1cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShF
TkFCTEVfQ09OVEVYVF9NRU5VUyAiVG9nZ2xlIENvbnRleHQgTWVudSBzdXBwb3J0IiBPTikKICAg
ICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ1NQX05FWFQgIlRvZ2dsZSBDb250ZW50IFNl
Y3VyaXR5IFBvbGljeSAxLjEgc3VwcG9ydCIgT0ZGKQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtl
Y29uZmlnLmguY21ha2UgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQppbmRleCAyMWQzZmNj
NWQ5ODNmOTU5NWRlZjM1MTA1NjhjZGM5ODk2NTI0NmVkLi5jZjFhZmU1NmM1ZjBmMjYwOTkwOTBl
NTFiN2IyYTY2MDNlYTA3MzIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFr
ZQorKysgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQpAQCAtMTMsNiArMTMsNyBAQAogI2Nt
YWtlZGVmaW5lMDEgRU5BQkxFX0NBTlZBU19QUk9YWQogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWAor
I2NtYWtlZGVmaW5lMDEgRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWAogI2NtYWtlZGVm
aW5lMDEgRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ09O
VEVYVF9NRU5VUwogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NSRURFTlRJQUxfU1RPUkFHRQpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCmluZGV4IDE2ZmQ2NDljNjhkNmIzZDQz
ZDBiMzFlMzM1NzkwNGZjODcyNGE3ZWIuLjIyM2IzMTFiY2ZiYWIyYzI2OGE3ZjI2NTJkMTRlZDE5
NjM3ZmRmY2UgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlz
dC5wbQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KQEAgLTQ0
LDYgKzQ0LDcgQEAgQkVHSU4gewogbXkgKAogICAgICR0aHJlZURSZW5kZXJpbmdTdXBwb3J0LAog
ICAgICRhY2NlbGVyYXRlZDJEQ2FudmFzU3VwcG9ydCwKKyAgICAkYXJyb3dmdW5jdGlvblN5bnRh
eCwKICAgICAkYmF0dGVyeVN0YXR1c1N1cHBvcnQsCiAgICAgJGNhbnZhc1BhdGhTdXBwb3J0LAog
ICAgICRjYW52YXNQcm94eVN1cHBvcnQsCkBAIC0xNTQsNiArMTU1LDkgQEAgbXkgQGZlYXR1cmVz
ID0gKAogICAgIHsgb3B0aW9uID0+ICJhY2NlbGVyYXRlZC0yZC1jYW52YXMiLCBkZXNjID0+ICJU
b2dnbGUgQWNjZWxlcmF0ZWQgMkQgQ2FudmFzIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJF
TkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTIiwgZGVmYXVsdCA9PiBpc0d0aygpLCB2YWx1ZSA9
PiBcJGFjY2VsZXJhdGVkMkRDYW52YXNTdXBwb3J0IH0sCiAKKyAgICB7IG9wdGlvbiA9PiAiYXJy
b3dmdW5jdGlvbi1zeW50YXgiLCBkZXNjID0+ICJUb2dnbGUgRVM2IGFycm93IGZ1bmN0aW9uIHN5
bnRheCBzdXBwb3J0IiwKKyAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCIsIGRlZmF1bHQgPT4gMSwgdmFsdWUgPT4gXCRhcnJvd2Z1bmN0aW9uU3ludGF4IH0s
CisKICAgICB7IG9wdGlvbiA9PiAiYmF0dGVyeS1zdGF0dXMiLCBkZXNjID0+ICJUb2dnbGUgQmF0
dGVyeSBTdGF0dXMgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9CQVRURVJZX1NU
QVRVUyIsIGRlZmF1bHQgPT4gaXNFZmwoKSwgdmFsdWUgPT4gXCRiYXR0ZXJ5U3RhdHVzU3VwcG9y
dCB9LAogCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggNGVkODZhNmY4
ODk4ZDMxZTM4MDUwYjMyYTU0Y2E3NmJlMWQ2MTZkZi4uZTkxYzdjYTIwMGJlNzE0YzY4OTk2NTdl
OTZjMjUyYjBkMDllZGE0OSAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE1IEBACisyMDE1LTA0LTAxICAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hr
b3ZAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rp
b24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgIEFkZGVkIGZlYXR1cmUgZmxhZyB0byBzd2l0Y2ggb24vb2ZmIGVzNiBhcnJvdyBmdW5jdGlv
biBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYCisKKyAgICAgICAgICogU291cmNlL2Nt
YWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlOgorICAgICAgICAgKiBTb3VyY2UvY21ha2Vjb25maWcu
aC5jbWFrZToKKwogMjAxNS0wMy0yOSAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1
bmcuY29tPgogCiAgICAgICAgIFtDTWFrZV0gVXBkYXRlIG9sZCBDTWFrZUxpc3QudHh0IGluIGd0
ZXN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249967</attachid>
            <date>2015-04-02 03:02:10 -0700</date>
            <delta_ts>2015-04-02 04:11:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150402130124.patch</filename>
            <type>text/plain</type>
            <size>133544</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyMjA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
ZmNjM2QxNTdiYmMyNzhhZGUyOTEyOTc3ZWI5MzAxYTA5YTJjYjA4Li41NTRhYjEzZWJkNmIyOGU4
NWY4OTQ2MzBhYjk1MGY4MDQ1YWJmZTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMTUgQEAKKzIwMTUtMDQtMDEgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MDg1NQorCisgICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGRlZCBzdXBwb3J0IG9mIEVTNiBhcnJvdyBmdW5jdGlvbi4gQ2hhbmdlcyB3ZXJlIG1hZGUgYWNj
b3JkaW5nIGZvbGxvd2luZyBzcGVjIGh0dHA6Ly93aWtpLmVjbWFzY3JpcHQub3JnL2Rva3UucGhw
P2lkPWhhcm1vbnk6YXJyb3dfZnVuY3Rpb25fc3ludGF4CisgICAgICAgIEluIHBhdGNoIHdlcmUg
aW1wbGVtZW50ZWQgdGhlIHNpbXBsZXN0IGNhc2VzOgorICAgICAgICAgIDEgbm8gcGFyYW1ldGVy
cyAgICAgICAgICAgICAgICAoKSA9PiAxMCArIDIwCisgICAgICAgICAgMiBzaW5nbGUgcGFyYW1l
dGVyICAgICAgICAgICAgICB4ID0+IHggKyAyMAorICAgICAgICAgIDMgbXVsdGlwbGUgcGFyYW1l
dGVycyAgICAgICh4LCB5KSA9PiB4ICsgeQorICAgICAgICAgIDQgYXJyb3cgZnVuY3Rpb24gd2l0
aCBibG9jayAgICAgeCA9PiB7IHJldHVybiB4KjEwOyB9CisgICAgICAgICAgNSBsZXhpY2FsIHRo
aXMgLSB2YXJpYWJsZSB0aGlzIGlzIHBvaW50IHRvIHRoZSB0aGlzIG9mIHRoZSBmdW5jdGlvbiB3
aGVyZSBhcnJvdyBmdW5jdGlvbiBpcyBkZWNsYXJlZAorICAgICAgICAgIDYgTm8gY29uc3RydWN0
b3IgLSB0aGUgdXNpbmcgb2YgdGhlIGNvbW1hbmQgbmV3IGZvciBhcnJvdyBmdW5jdGlvbiBsZWFk
cyB0byBydW50aW1lIGVycm9yLiAKKworICAgICAgICAgTm90IHlldCBpbXBsZW1lbnRlZDoKKyAg
ICAgICAgICAxIHRoZSB2YXJpYWJsZSB3aXRoIG5hbWUgYXJndW1lbnRzIGluc2lkZSBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gc2hvdWxkIHBvaW50IHRvIGxpc3Qgb2YgYXJndW1lbnRzIG9mIGZ1bmN0
aW9uIHdoZXJlIGFycm93IGZ1bmN0aW9uIGlzIGRlY2xhcmVkCisgICAgICAgICAgMiBwYXJzZXIg
d2lsbCBwYXJzZSB0aGUgc3RhdGVtZW50IHgsIHkgPT4geCArIHkgaW5zdGVhZCBvZiByYWlzaW5n
IGV4Y2VwdGlvbgorICAgICAgICAgIDMgbWV0aG9kIGNhbGwsIGFwcGx5LCBiaW5kIHNob3VsZCBu
b3Qgb3ZlcnJpZGUgdGhlIHRoaXMgdmFyaWFibGUgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlv
bgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6Cisg
ICAgICAgICogSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qOgor
ICAgICAgICAqIGJ5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uOgorICAgICAgICAqIGJ5dGVjb2Rl
L0J5dGVjb2RlVXNlRGVmLmg6CisgICAgICAgIChKU0M6OkZ1bmN0b3I6OmNvbXB1dGVVc2VzRm9y
Qnl0ZWNvZGVPZmZzZXQpOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAg
ICAgIChKU0M6OkNvZGVCbG9jazo6ZHVtcEJ5dGVjb2RlKToKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVH
ZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Fy
cm93RnVuY3Rpb25FeHByZXNzaW9uKTogYWRkZWQKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5l
cmF0b3I6OmVtaXRUaGlzTm9kZUJ5dGVjb2RlKTogYWRkZWQKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvTm9kZXNDb2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6ZW1pdEJ5dGVjb2RlOjplbWl0Qnl0
ZWNvZGUpOiBhZGRlZAorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHByTm9kZTo6ZW1pdEJ5dGVj
b2RlKTogYWRkZWQKKyAgICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAg
ICAoSlNDOjpCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgICogZGZnL0RGR0Nh
cGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkNhcGFiaWxpdHlMZXZlbDo6Y2FwYWJpbGl0
eUxldmVsKToKKyAgICAgICAgKiBqaXQvSklULmg6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9v
cF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRJbmxpbmVzLmg6
CisgICAgICAgIChKU0M6OkpJVDo6Y2FsbE9wZXJhdGlvbik6IGFkZGVkCisgICAgICAgICogaml0
L0pJVC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcyk6Cisg
ICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3Bf
bmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5j
cHA6CisgICAgICAgIChKU0M6OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5ld0Fycm93RnVuY3Rp
b24pOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmg6CisgICAgICAgIChKU0M6
OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24pOiBhZGRlZAorICAgICAg
ICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAgICAgICAgKExMSU5UX1NMT1dfUEFUSF9E
RUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGxsaW50
L0xMSW50U2xvd1BhdGhzLmg6CisgICAgICAgIChMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3Bh
dGhfbmV3X2Fycm93X2Z1bmNfZXhwKSk6IGFkZGVkCisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206CisgICAgICAgICogcGFyc2VyL0FTVEJ1aWxkZXIuaDoKKyAgICAgICAg
KEpTQzo6QVNUQnVpbGRlcjo6Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIpOgorICAgICAgICAqIHBh
cnNlci9MZXhlci5jcHA6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9u
KToKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OmxleCk6CisgICAgICAgICogcGFyc2VyL0xleGVy
Lmg6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9uKToKKyAgICAgICAg
KiBwYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oOgorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHBy
Tm9kZTo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZAorICAgICAgICAqIHBhcnNlci9Ob2Rlcy5o
OgorICAgICAgICAoSlNDOjpOb2RlOjppc0Fycm93RnVuY0V4cHJOb2RlKTogYWRkZWQKKyAgICAg
ICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZCBjbGFzcworICAgICAgICAqIHBhcnNl
ci9QYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3Vy
Y2VFbGVtZW50cyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1h
cnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZVNvdXJjZUVsZW1lbnQp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6
UGFyc2VyOjpwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwYXJzZVByaW1hcnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFy
cm93RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6c2V0RW5kT2ZTdGF0ZW1lbnQp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIpOgorICAg
ICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkluZm8pOgorICAgICAgICAoSlND
OjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkJvZHkpOgorICAgICAgICAqIHBhcnNlci9QYXJz
ZXIuaDoKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpGdW5jdGlvblBhcnNlVHlwZSk6CisgICAgICAg
IChKU0M6OlBhcnNlcjo6cGFyc2VTb3VyY2VFbGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0V4cHJl
c3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnNldEVuZE9mU3RhdGVtZW50KToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKToKKyAgICAgICAgKiBw
YXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmg6CisgICAgICAgICogcGFyc2VyL1BhcnNlclRva2Vu
cy5oOgorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmFycm93RnVuY3Rpb25PZmZz
ZXQpOiBhZGRlZAorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmlzQXJyb3dGdW5j
dGlvbik6IGFkZGVkCisgICAgICAgIChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6YXJyb3dGdW5j
dGlvbkJvZHlUeXBlKTogYWRkZWQKKyAgICAgICAgKiBwYXJzZXIvU291cmNlQ29kZS5oOgorICAg
ICAgICAoSlNDOjpTb3VyY2VDb2RlOjpzdWJBcnJvd0V4cHJlc3Npb24pOgorICAgICAgICAqIHBh
cnNlci9TeW50YXhDaGVja2VyLmg6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNyZWF0
ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAgICAgKiBwYXJzZXIvU291cmNlUHJvdmlkZXJDYWNo
ZUl0ZW06CisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJh
bWV0ZXJzKToKKyAgICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0pOgorICAgICAg
ICAoSlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6ZW5kQXJyb3dGdW5jdGlvblRva2VuKToK
KyAgICAgICAgKiBydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oOiBhZGRlZCBjbGFzcyBmb3IgaGFu
ZGxlIGFycm93IGZ1bmN0aW9uIGNyZWF0aW9uIGFuZCBleGVjdXRpb24KKyAgICAgICAgKiBydW50
aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHA6CisgICAgICAgICogcnVudGltZS9KU0Z1bmN0aW9uLmg6
CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OkpTRnVuY3Rpb24pOiBhZGRlZCBvbmUgbW9yZSBj
b25zdHJ1Y3RvcgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaDoKKyAgICAg
ICAgKEpTQzo6SlNGdW5jdGlvbjo6SlNGdW5jdGlvbik6IGFkZGVkIGNvbnN0cnVjdG9yIGltcGxl
bWVudGF0aW9uCisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAg
IChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmpl
Y3Q6Om1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZSk6IGFkZGVkCisgICAgICAgIChKU0M6OkpTR2xv
YmFsT2JqZWN0OjphcnJvd0Z1bmN0aW9uU3RydWN0dXJlKToKKyAgICAgICAgKiB0ZXN0cy9zdHJl
c3MvanMvYXJyb3dmdW5jdGlvbi5qczoKKwogMjAxNS0wMy0zMSAgWXVzdWtlIFN1enVraSAgPHV0
YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBDbGVhbiB1cCBJZGVudGlmaWVyIGZhY3Rv
cmllcyB0byBjbGFyaWZ5IHRoZSBtZWFuaW5nIG9mIFN0cmluZ0ltcGwqCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ODczZjY4NTA1NmJiN2U0NzdiNmI2OTVkZmFjYjBhZWJhNThlYTQ0Ny4uMzc0MzhmNDQxMmFkNjM5
YTc0OTY4ZjNmM2VjOTdjM2QzYTNlZmIyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDE1LTA0LTAxICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAg
ICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUg
ZmxhZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgor
CisgICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAy
MDE1LTAzLTMxICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAg
ICAgICAgTW92ZSBFeHBhbnNpb25CZWhhdmlvckZsYWdzIGFuZCBUZXh0RGlyZWN0aW9uIHRvIHRo
ZWlyIG93biBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNzU3ZWE0OWQwYTMwZjk0ZDU2MjJiODM1
MzVjMWJlYmQwNDMxZTk1Ni4uZWY4N2M3NWUwMDQ5YjZjOWQ4NGQxNGNlYTQwMTVmNTBhYWUyZDUy
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTA0LTAxICBTa2FjaGtv
diBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgIFtFUzZdIEltcGxl
bWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyBFTkFCTEVfRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgorCisgICAgICAgICAqIENvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1LTAzLTMxICBZdXN1a2Ug
U3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIENsZWFuIHVwIElkZW50
aWZpZXIgZmFjdG9yaWVzIHRvIGNsYXJpZnkgdGhlIG1lYW5pbmcgb2YgU3RyaW5nSW1wbCoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA3MjExMjc2NTJkODg4ZjUwMWFiNmMy
MTdiODMzNDQxOTA0M2Y1ODY0Li41MDUzZGMxN2U2ZDU4YjExMWM3MzBhOTRjYzA3NGIwY2JlNTA3
OGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC00NjYsNiArNDY2LDcg
QEAgc2V0KEphdmFTY3JpcHRDb3JlX1JVTlRJTUVfU09VUkNFUwogICAgIHJ1bnRpbWUvSlNBcnJh
eUJ1ZmZlclZpZXcuY3BwCiAgICAgcnVudGltZS9KU0FycmF5SXRlcmF0b3IuY3BwCiAgICAgcnVu
dGltZS9KU0JvdW5kRnVuY3Rpb24uY3BwCisgICAgcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3Bw
CiAgICAgcnVudGltZS9KU0dsb2JhbE9iamVjdERlYnVnZ2FibGUuY3BwCiAgICAgcnVudGltZS9K
U0NKU1ZhbHVlLmNwcAogICAgIHJ1bnRpbWUvSlNDYWxsZWUuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKaW5kZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0
OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FO
VkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgg
PSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5U
QVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklM
VEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwog
RU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVW
RUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFC
TEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRf
QVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BB
VEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVO
QUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVf
Q1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5B
QkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVO
QUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9O
KSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQo
RU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhU
X0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01f
U0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRB
TElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRB
SUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9F
VkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRf
TE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAk
KEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNF
KSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9W
RVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxF
X0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxF
X0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFC
TEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykg
JChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9D
T05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RB
VElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxF
X01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQo
RU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAk
KEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BS
T01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklY
X0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkg
JChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1Ip
ICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5H
KSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQo
RU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdf
Rk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVN
QkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9B
RElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxM
KSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVf
VkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVO
QUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRT
KSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9X
RUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5B
QkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xB
WU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFU
VVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVO
QUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFT
X1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZ
TlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xF
VkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NP
TVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19H
UklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxF
Q1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkg
JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
UykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVO
QUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJ
TUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
TEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9B
TklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQp
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVO
QUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVO
QUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5B
QkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKaW5kZXggNzQz
MzBlNzAzZGFjNGQzNjAwZWFiMjdhMGFkOGViNGFmMDBlMGIzMi4uNjIyODczZGQyZjk0NzBhOTEz
MThhY2NjZDQ3MDlkY2VhZTcyNjA4ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52
Y3hwcm9qCkBAIC03MzQsNiArNzM0LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1
bnRpbWVcSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJWaWV3LmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNCb3VuZEZ1bmN0aW9uLmNwcCIgLz4KKyAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJvd0Z1bmN0aW9uLmNwcCIgLz4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZS5jcHAiIC8+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ2FsbGVlLmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDYXRjaFNjb3BlLmNwcCIgLz4KQEAgLTE1MjYsNiArMTUy
Nyw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJW
aWV3SW5saW5lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0Fy
cmF5SXRlcmF0b3IuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNC
b3VuZEZ1bmN0aW9uLmgiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpT
QXJyb3dGdW5jdGlvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxK
U0NJbmxpbmVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0pT
VmFsdWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1
ZUlubGluZXMuaCIgLz4KQEAgLTE4MDAsNCArMTgwMiw0IEBACiAgIDxJbXBvcnRHcm91cCBMYWJl
bD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1Bh
dGgpXEJ1aWxkQ3VzdG9taXphdGlvbnNcbWFzbS50YXJnZXRzIiAvPgogICA8L0ltcG9ydEdyb3Vw
PgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYmEyZDEzNmViOTViNWE5ZmQzNTRhYjMwYThm
MzY5MWJmNzhjZWI4Ni4uZTlkNmYyNDY1ZTMzODU1ZDM2OGI0ZDIwNGUwZDc2NDZjNTZlOTg5ZiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwOTIsNiArMTA5Miw4IEBACiAJCTg2
RjNFRUJGMTY4Q0RFOTMwMDc3QjkyQSAvKiBPYmpjUnVudGltZUV4dHJhcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGM0VFQjYxNjg1NUE1QjAwNzdC
OTJBIC8qIE9iamNSdW50aW1lRXh0cmFzLmggKi87IH07CiAJCTg2RkE5RTkxMTQyQkJCMkUwMDE3
NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRGdW5j
dGlvbi5jcHAgKi87IH07CiAJCTg2RkE5RTkyMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVu
Y3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2
RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLzsgfTsKKwkJOEIw
RjQyNEMxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUyMDAzOTE3
RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCAqLzsgfTsKKwkJOEIwRjQyNEMxQUJENkRFMjAwMzkx
N0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlv
bi5oICovOyB9OwogCQk5MDIxM0UzRDEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGlj
cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIx
M0UzQjEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi87IH07CiAJCTkw
MjEzRTNFMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIxM0UzQzEyM0E0MEMyMDBENDIy
RjMgLyogTWVtb3J5U3RhdGlzdGljcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTkzMDUyQzM0MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVu
YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzA1
MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwICovOyB9OwpAQCAtMjgyNCw2
ICsyODI2LDggQEAKIAkJODZGNzVFRkQxNTFDMDYyRjAwN0M5QkEzIC8qIFJlZ0V4cE1hdGNoZXNB
cnJheS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWdFeHBNYXRj
aGVzQXJyYXkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkZBOUU4RjE0MkJC
QjJEMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTQm91bmRGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdFQSAvKiBKU0Fy
cm93RnVuY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcnJvd0Z1bmN0aW9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93
RnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcnJv
d0Z1bmN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTAyMTNFM0IxMjNB
NDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTWVtb3J5U3RhdGlzdGljcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lbW9yeVN0YXRpc3RpY3MuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8q
IFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBh
cnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ0MzgsNiArNDQ0
Miw4IEBACiAJCQkJQTdCREFFQzUxN0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJyYXlJdGVyYXRvci5o
ICovLAogCQkJCTg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3Bw
ICovLAogCQkJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAq
LywKKwkJCQk4QjBGNDI0QTFBQkQ2RDJGMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggKi8s
CisJCQkJOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgKi8s
CiAJCQkJNjU3Q0Y0NTYxOUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmNwcCAqLywKIAkJCQk2
NTdDRjQ1NzE5QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuaCAqLywKIAkJCQkwRkQ5NDk3RTFB
OTdEQjk2MDBFMjg5NjYgLyogSlNDYXRjaFNjb3BlLmNwcCAqLywKQEAgLTcxNjYsNiArNzE3Miw3
IEBACiAJCQkJMEZEOEEzMUIxN0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTE9TUkVudHJ5LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGMjM1QkRDMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjM1QkRGMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JF
eGl0Q29tcGlsZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOEIwRjQyNEMxQUJENkRFMjAwMzkx
N0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkVBMEEyQTE3
MDk2Mjk2MDBCQjcyMkMgLyogRlRMT3V0cHV0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNDg1
MzI5MTg3REZERUMwMDgzQjY4NyAvKiBGVExSZWNvdmVyeU9wY29kZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwRjZCMUNDMzE4NjJDNDc4MDA4NDVEOTcgLyogRlRMUmVnaXN0ZXJBdE9mZnNldC5j
cHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9CeXRlY29kZUxpc3QuanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9C
eXRlY29kZUxpc3QuanNvbgppbmRleCA2YjI0MzkxNTZhYjNhZmFlNmI1NThhYjkwNjZkMjIyNTE1
ZDU5ZTQ1Li40MzYwNzA5ZDhmN2U0MTgyMTVhYjJhZjk1OWJmNjQ0OGFmMDM4MDI4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24KKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCkBAIC05
NSw2ICs5NSw3IEBACiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9zd2l0Y2hfc3RyaW5nIiwg
Imxlbmd0aCIgOiA0IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfZnVuYyIsICJs
ZW5ndGgiIDogNCB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfbmV3X2Z1bmNfZXhwIiwg
Imxlbmd0aCIgOiA0IH0sCisgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfYXJyb3dfZnVu
Y19leHAiLCAibGVuZ3RoIiA6IDUgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGwi
LCAibGVuZ3RoIiA6IDkgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGxfZXZhbCIs
ICJsZW5ndGgiIDogOSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbF92YXJhcmdz
IiwgImxlbmd0aCIgOiA5IH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9C
eXRlY29kZVVzZURlZi5oCmluZGV4IDg1ZjI5MTVjN2U4ZjYwMWFkM2VjMTc4YmY2OWUzNTQ0Zjc1
NGMyY2YuLjE3YjZiZWQ4MWZlMjViNjIzMzBiYWEzZmQwMzFjNzE2YWI4OGY5YmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCkBAIC0xMTYs
NiArMTE2LDkgQEAgdm9pZCBjb21wdXRlVXNlc0ZvckJ5dGVjb2RlT2Zmc2V0KAogICAgIGNhc2Ug
b3BfZ2V0X3Byb3BlcnR5X2VudW1lcmF0b3I6CiAgICAgY2FzZSBvcF9nZXRfZW51bWVyYWJsZV9s
ZW5ndGg6CiAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRpZgog
ICAgIGNhc2Ugb3BfdG9faW5kZXhfc3RyaW5nOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29u
c3Rfbm9wOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29uc3Q6CkBAIC0zMDgsNiArMzExLDkg
QEAgdm9pZCBjb21wdXRlRGVmc0ZvckJ5dGVjb2RlT2Zmc2V0KENvZGVCbG9jayogY29kZUJsb2Nr
LCB1bnNpZ25lZCBieXRlY29kZU9mZnNldCwKICAgICBjYXNlIG9wX25ld19yZWdleHA6CiAgICAg
Y2FzZSBvcF9uZXdfZnVuYzoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhw
OgorI2VuZGlmCiAgICAgY2FzZSBvcF9jYWxsX3ZhcmFyZ3M6CiAgICAgY2FzZSBvcF9jb25zdHJ1
Y3RfdmFyYXJnczoKICAgICBjYXNlIG9wX2dldF9mcm9tX3Njb3BlOgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAppbmRleCA5ZTk1MTdlNzgxYmU1NTdmMDRm
MTdmOTNkZWM3MWI5MTZjYzlhMmFkLi4xMTU0MjBjZTExYjA4NTlmNmVlMzNhODI5YzQzMGQxOTA3
YmYxZWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNw
cApAQCAtMTI3NCw2ICsxMjc0LDE3IEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wQnl0ZWNvZGUoCiAg
ICAgICAgICAgICBvdXQucHJpbnRmKCIlcywgJXMsIGYlZCIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0
YSgpLCByZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjApOwogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBj
YXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDogeworICAgICAgICAgICAgaW50IHIwID0gKCsraXQp
LT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUub3BlcmFuZDsKKyAg
ICAgICAgICAgIGludCBmMCA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgaW50IHIy
ID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBwcmludExvY2F0aW9uQW5kT3Aob3V0
LCBleGVjLCBsb2NhdGlvbiwgaXQsICJvcF9uZXdfYXJyb3dfZnVuY19leHAiKTsKKyAgICAgICAg
ICAgIG91dC5wcmludGYoIiVzLCAlcywgZiVkLCAlcyIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0YSgp
LCByZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjAsIHJlZ2lzdGVyTmFtZShyMikuZGF0YSgpKTsK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgY2FzZSBvcF9u
ZXdfZnVuY19leHA6IHsKICAgICAgICAgICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVyYW5kOwog
ICAgICAgICAgICAgaW50IHIxID0gKCsraXQpLT51Lm9wZXJhbmQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCmlu
ZGV4IDg4NzJkNzc3ZDNlNTkyMTFjOTE2ZDQ3ODBkMGUwNDI3ZWQzOThmODYuLmE3OTY0YmI1YmMz
MmFlNzVkYTM1MDAzZDZmZGU0NjRhMmM5ZTA2NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0xNzU0
LDYgKzE3NTQsMzQgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdGdW5j
dGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogcjAsIEZ1bmNFeHAKICAgICBpbnN0cnVjdGlvbnMo
KS5hcHBlbmQoaW5kZXgpOwogICAgIHJldHVybiByMDsKIH0KKyAgICAKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVt
aXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVuY0V4cHJOb2Rl
KiBuKQoreworICAgIEZ1bmN0aW9uQm9keU5vZGUqIGZ1bmN0aW9uID0gbi0+Ym9keSgpOworICAg
IHVuc2lnbmVkIGluZGV4ID0gbV9jb2RlQmxvY2stPmFkZEZ1bmN0aW9uRXhwcihtYWtlRnVuY3Rp
b24oZnVuY3Rpb24pKTsKKyAgICAKKyAgICBlbWl0T3Bjb2RlKG9wX25ld19hcnJvd19mdW5jX2V4
cCk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHIwLT5pbmRleCgpKTsKKyAgICBpbnN0cnVj
dGlvbnMoKS5hcHBlbmQoc2NvcGVSZWdpc3RlcigpLT5pbmRleCgpKTsKKyAgICBpbnN0cnVjdGlv
bnMoKS5hcHBlbmQoaW5kZXgpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZCh0aGlzUmVnaXN0
ZXIoKS0+aW5kZXgoKSk7CisgICAgcmV0dXJuIHIwOworfQorICAgIAorUmVnaXN0ZXJJRCogQnl0
ZWNvZGVHZW5lcmF0b3I6OmVtaXRUaGlzTm9kZUJ5dGVjb2RlKFJlZ2lzdGVySUQqIGRzdCwgSlNU
ZXh0UG9zaXRpb24gcG9zaXRpb24pCit7CisgICAgaWYgKGRzdCA9PSBpZ25vcmVkUmVzdWx0KCkp
CisgICAgICAgIHJldHVybiAwOworICAgIFJlZ2lzdGVySUQqIHJlc3VsdCA9IG1vdmVUb0Rlc3Rp
bmF0aW9uSWZOZWVkZWQoZHN0LCB0aGlzUmVnaXN0ZXIoKSk7CisgICAgaWYgKHZtKCktPnR5cGVQ
cm9maWxlcigpKSB7CisgICAgICAgIGVtaXRQcm9maWxlVHlwZSh0aGlzUmVnaXN0ZXIoKSwgUHJv
ZmlsZVR5cGVCeXRlY29kZURvZXNOb3RIYXZlR2xvYmFsSUQsIG51bGxwdHIpOworICAgICAgICBz
dGF0aWMgY29uc3QgdW5zaWduZWQgdGhpc0xlbmd0aCA9IDQ7CisgICAgICAgIGVtaXRUeXBlUHJv
ZmlsZXJFeHByZXNzaW9uSW5mbyhwb3NpdGlvbiwgSlNUZXh0UG9zaXRpb24oLTEsIHBvc2l0aW9u
Lm9mZnNldCArIHRoaXNMZW5ndGgsIC0xKSk7CisgICAgfQorICAgIHJldHVybiByZXN1bHQ7Cit9
CisjZW5kaWYKIAogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdEZWZhdWx0
Q29uc3RydWN0b3IoUmVnaXN0ZXJJRCogZHN0LCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JL
aW5kLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmluZGV4IDRmZmVmNmI0
MDk3ZjAyNDZkYzFiYWU4OWVlOGFhYjhlYzk1YzYwZmEuLjM3OGExOWVhYWVkZGZiZGI0ZjUxMjI4
MGU5MDg5NDM4NTc3YTc0OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTQ1NCw2ICs0NTQsMTAgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5jdGlvbkludGVybmFs
KFJlZ2lzdGVySUQqIGRzdCwgdW5zaWduZWQgaW5kZXgpOwogICAgICAgICBSZWdpc3RlcklEKiBl
bWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIGRzdCwgRnVuY0V4cHJOb2RlKiBm
dW5jKTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0RlZmF1bHRDb25zdHJ1Y3RvcihSZWdp
c3RlcklEKiBkc3QsIENvbnN0cnVjdG9yS2luZCwgY29uc3QgSWRlbnRpZmllciYgbmFtZSk7Cisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgUmVnaXN0ZXJJRCog
ZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqLCBGdW5jRXhwck5vZGUq
KTsKKyAgICAgICAgUmVnaXN0ZXJJRCogZW1pdFRoaXNOb2RlQnl0ZWNvZGUoUmVnaXN0ZXJJRCos
IEpTVGV4dFBvc2l0aW9uKTsKKyNlbmRpZgogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3UmVn
RXhwKFJlZ2lzdGVySUQqIGRzdCwgUmVnRXhwKik7CiAKICAgICAgICAgUmVnaXN0ZXJJRCogZW1p
dE1vdmVFbXB0eVZhbHVlKFJlZ2lzdGVySUQqIGRzdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXggNGY3NDc2Y2EzM2M5
MTMxYmI3M2RmYTg5NmE2MDA1NzU2MjY1ODFiNy4uZGU1NDkxY2M3MDJlNjcxMmVhZWNhNTAxZWU0
OGI1OTA3Nzk2ZjM0NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21w
aWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29t
cGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtMTQ5LDcgKzE0OSw5IEBAIFJlZ2lzdGVySUQqIFRo
aXNOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0
ZXJJRCogZHN0CiAKICAgICBpZiAoZHN0ID09IGdlbmVyYXRvci5pZ25vcmVkUmVzdWx0KCkpCiAg
ICAgICAgIHJldHVybiAwOwotCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXRUaGlzTm9kZUJ5dGVjb2RlKGRzdCwgcG9zaXRpb24o
KSk7CisjZWxzZQogICAgIFJlZ2lzdGVySUQqIHJlc3VsdCA9IGdlbmVyYXRvci5tb3ZlVG9EZXN0
aW5hdGlvbklmTmVlZGVkKGRzdCwgZ2VuZXJhdG9yLnRoaXNSZWdpc3RlcigpKTsKICAgICBpZiAo
Z2VuZXJhdG9yLnZtKCktPnR5cGVQcm9maWxlcigpKSB7CiAgICAgICAgIGdlbmVyYXRvci5lbWl0
UHJvZmlsZVR5cGUoZ2VuZXJhdG9yLnRoaXNSZWdpc3RlcigpLCBQcm9maWxlVHlwZUJ5dGVjb2Rl
RG9lc05vdEhhdmVHbG9iYWxJRCwgbnVsbHB0cik7CkBAIC0xNTcsNiArMTU5LDcgQEAgUmVnaXN0
ZXJJRCogVGhpc05vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9y
LCBSZWdpc3RlcklEKiBkc3QKICAgICAgICAgZ2VuZXJhdG9yLmVtaXRUeXBlUHJvZmlsZXJFeHBy
ZXNzaW9uSW5mbyhwb3NpdGlvbigpLCBKU1RleHRQb3NpdGlvbigtMSwgcG9zaXRpb24oKS5vZmZz
ZXQgKyB0aGlzTGVuZ3RoLCAtMSkpOwogICAgIH0KICAgICByZXR1cm4gcmVzdWx0OworI2VuZGlm
CiB9CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBTdXBlck5vZGUgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMjgzMyw2ICsyODM2LDE0IEBAIFJl
Z2lzdGVySUQqIEZ1bmNFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBn
ZW5lcmF0b3IsIFJlZ2lzdGVySUQqCiAgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0TmV3RnVuY3Rp
b25FeHByZXNzaW9uKGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHRoaXMpOwogfQog
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgICAgCisvLyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0gQXJyb3dGdW5jRXhwck5vZGUgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCitSZWdpc3RlcklEKiBBcnJvd0Z1bmNFeHByTm9kZTo6ZW1pdEJ5dGVj
b2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKK3sKKyAg
ICByZXR1cm4gZ2VuZXJhdG9yLmVtaXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihnZW5lcmF0
b3IuZmluYWxEZXN0aW5hdGlvbihkc3QpLCB0aGlzKTsKK30KKyNlbmRpZgorICAgIAogI2lmIEVO
QUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
IENsYXNzRGVjbE5vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKaW5kZXggNTNh
YzE3NzQ2MTk2OWVlZmI2NmFkZjYwOTA2ODFlNmU1Yjc2YjAzMi4uZmQ3MzdhM2Y3OGU5YzJiOWYx
YTk5MTk3ODhkMTIzZTZiMmQ5MzMwYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKQEAgLTM2NzUsNiArMzY3NSwxNSBAQCBib29sIEJ5dGVD
b2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxpbWl0KQogICAgICAgICAgICAgTkVYVF9P
UENPREUob3BfbmV3X2Z1bmNfZXhwKTsKICAgICAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6IHsK
KyAgICAgICAgICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhwciA9IG1faW5saW5lU3RhY2tUb3At
Pm1fcHJvZmlsZWRCbG9jay0+ZnVuY3Rpb25FeHByKGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9w
ZXJhbmQpOworICAgICAgICAgICAgRnJvemVuVmFsdWUqIGZyb3plbiA9IG1fZ3JhcGguZnJlZXpl
U3Ryb25nKGV4cHIpOworICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5z
dHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwKKyAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKE5ld0Z1
bmN0aW9uLCBPcEluZm8oZnJvemVuKSwgZ2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1
Y3Rpb25bMl0udS5vcGVyYW5kKSkpKTsKKyAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX25ld19h
cnJvd19mdW5jX2V4cCk7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBjYXNlIG9wX3R5cGVv
ZjogewogICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25b
MV0udS5vcGVyYW5kKSwKICAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKFR5cGVPZiwgZ2V0KFZp
cnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSkpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAppbmRleCA4ZWY0ZGNm
MTU2OGJkNWVkYTRiODk3ZTc2ODRhOGNiYjkxYmY2ZTA4Li43ZjQ1YTgzMWVhNmU2MjczYmFjZDJl
M2Y4MzM2ZGRjNTYyYzhjYzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0NhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdD
YXBhYmlsaXRpZXMuY3BwCkBAIC0yMDgsNiArMjA4LDkgQEAgQ2FwYWJpbGl0eUxldmVsIGNhcGFi
aWxpdHlMZXZlbChPcGNvZGVJRCBvcGNvZGVJRCwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIEluc3Ry
dWMKICAgICBjYXNlIG9wX25ld19mdW5jOgogICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOgogICAg
IGNhc2Ugb3BfY3JlYXRlX2xleGljYWxfZW52aXJvbm1lbnQ6CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRp
ZgogICAgICAgICByZXR1cm4gQ2FuQ29tcGlsZUFuZElubGluZTsKIAogICAgIGNhc2Ugb3BfcHV0
X3RvX3Njb3BlOiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0
ZXIvSW50ZXJwcmV0ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0lu
dGVycHJldGVyLmNwcAppbmRleCBlY2ZjZTkxYmQzYzAzMDg1M2EzOTQwMzJiYTVjZDI4MmExYTNj
ZDhlLi4zYWM5M2E5ZmFiMjQ4MjQ4MDc1ZTIxODAzMzI3Mzc0NDM1Yzk5MGNlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKQEAgLTQ1
LDYgKzQ1LDkgQEAKICNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJKU0FycmF5
LmgiCiAjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNlbmRpZgogI2lu
Y2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgog
I2luY2x1ZGUgIkpTTmFtZVNjb3BlLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKaW5kZXgg
NDJhODJkNDM5NDYxNjJmOTVmYTQ3NDY3NTY3MTM5ZDRhYWYyMzg2Yi4uMTg2MGEwYWEzM2IwODE5
YzRmODU1MDg1ZjVlOGI3MGZhMjMyYTQzMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcApA
QCAtMjUzLDYgKzI1Myw5IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkKICAg
ICAgICAgREVGSU5FX09QKG9wX25ld19hcnJheV9idWZmZXIpCiAgICAgICAgIERFRklORV9PUChv
cF9uZXdfZnVuYykKICAgICAgICAgREVGSU5FX09QKG9wX25ld19mdW5jX2V4cCkKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBERUZJTkVfT1Aob3BfbmV3X2Fy
cm93X2Z1bmNfZXhwKQorI2VuZGlmICAKICAgICAgICAgREVGSU5FX09QKG9wX25ld19vYmplY3Qp
CiAgICAgICAgIERFRklORV9PUChvcF9uZXdfcmVnZXhwKQogICAgICAgICBERUZJTkVfT1Aob3Bf
bm90KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKaW5kZXggZWU0ODU1ZGMyZTc4YjU1YWNjNDU5OWVi
ZGI5OWEwZDhlMDhiZTdjYy4uYjY3ZDhlNjVmYTQ4ZWVhMjQ2ODYzMzRmMjM1YTExMzYwZGE0NGVk
NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCkBAIC01MjIsNiArNTIyLDkgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfYXJyYXlfYnVmZmVyKEluc3RydWN0aW9u
Kik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfZnVuYyhJbnN0cnVjdGlvbiopOwogICAgICAg
ICB2b2lkIGVtaXRfb3BfbmV3X2Z1bmNfZXhwKEluc3RydWN0aW9uKik7CisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdm9pZCBlbWl0X29wX25ld19hcnJvd19m
dW5jX2V4cChJbnN0cnVjdGlvbiopOworI2VuZGlmCiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdf
b2JqZWN0KEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfcmVnZXhwKElu
c3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9ub3QoSW5zdHJ1Y3Rpb24qKTsKQEAg
LTcwNSw2ICs3MDgsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6
OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSkosIGludCwgR1BSUmVnLCBHUFJS
ZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3Bl
cmF0aW9uX0VKc2MsIEdQUlJlZyk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxP
cGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0MsIGludCwgR1BSUmVnLCBKU0NlbGwqKTsKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBNYWNyb0Fzc2VtYmxl
cjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKc2NDSiwgaW50LCBHUFJSZWcs
IEpTQ2VsbCosIEdQUlJlZyk7CisjZW5kaWYKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwg
Y2FsbE9wZXJhdGlvbihDX0pJVE9wZXJhdGlvbl9FSnNjWiwgR1BSUmVnLCBpbnQzMl90KTsKICAg
ICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihDX0pJVE9wZXJhdGlvbl9F
SnNjWiwgaW50LCBHUFJSZWcsIGludDMyX3QpOwogI2lmIFVTRShKU1ZBTFVFNjQpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oCmluZGV4IDllZTI0ZDA5MjI4YTk4ODJlYTc2OTYy
OWQxYTg3YjZjMzRhODYzMzQuLjU0MzRlNWZiMTYxNDg3Yzg4YWQxZmNmMWJjZjYzMDZmNjAzZDFl
ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oCkBAIC0yNzEsNiArMjcx
LDE0IEBAIEFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0
aW9uKEpfSklUT3BlcmF0aW9uX0VKc2NDIG9wZXJhCiAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRo
RXhjZXB0aW9uQ2hlY2tTZXRKU1ZhbHVlUmVzdWx0KG9wZXJhdGlvbiwgZHN0KTsKIH0KIAorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitBTFdBWVNfSU5MSU5FIE1hY3JvQXNz
ZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0ogb3Bl
cmF0aW9uLCBpbnQgZHN0LCBHUFJSZWcgYXJnMSwgSlNDZWxsKiBjZWxsLCBHUFJSZWcgYXJnMikK
K3sKKyAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihj
ZWxsKSwgYXJnMik7CisgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRK
U1ZhbHVlUmVzdWx0KG9wZXJhdGlvbiwgZHN0KTsKK30KKyNlbmRpZgorICAgIAogQUxXQVlTX0lO
TElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRp
b25fRVAgb3BlcmF0aW9uLCBpbnQgZHN0LCB2b2lkKiBwb2ludGVyKQogewogICAgIHNldHVwQXJn
dW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHBvaW50ZXIpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCmluZGV4IGQzZDU4MGU5ZTI2MDA4NTNiNjY0OWUy
ODU5MThmODUzOGJlNjk0NGMuLjQ4ODNhODNkMTc2NDhkZGRlOWNhZGEwNzZlMTc2MDNlMzc4MzZh
ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcApAQCAtOTcyLDYg
Kzk3MiwzMSBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9uZXdfZnVuY19leHAoSW5zdHJ1Y3Rpb24qIGN1
cnJlbnRJbnN0cnVjdGlvbikKICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbk5ld0Z1bmN0aW9u
LCBkc3QsIHJlZ1QwLCBmdW5jRXhwcik7CiAgICAgZG9uZS5saW5rKHRoaXMpOwogfQorICAgIAor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit2b2lkIEpJVDo6ZW1pdF9vcF9u
ZXdfYXJyb3dfZnVuY19leHAoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKK3sKKyAg
ICBKdW1wIG5vdFVuZGVmaW5lZFNjb3BlOworICAgIGludCBkc3QgPSBjdXJyZW50SW5zdHJ1Y3Rp
b25bMV0udS5vcGVyYW5kOworI2lmIFVTRShKU1ZBTFVFNjQpCisgICAgZW1pdEdldFZpcnR1YWxS
ZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kLCByZWdUMCk7CisgICAgZW1p
dEdldFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bNF0udS5vcGVyYW5kLCByZWdU
MSk7CisgICAgbm90VW5kZWZpbmVkU2NvcGUgPSBicmFuY2g2NChOb3RFcXVhbCwgcmVnVDAsIFRy
dXN0ZWRJbW02NChKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSkpKTsKKyAgICBzdG9yZTY0
KFRydXN0ZWRJbW02NChKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSkpLCBBZGRyZXNzKGNh
bGxGcmFtZVJlZ2lzdGVyLCBzaXplb2YoUmVnaXN0ZXIpICogZHN0KSk7CisjZWxzZQorICAgIGVt
aXRMb2FkUGF5bG9hZChjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kLCByZWdUMCk7Cisg
ICAgZW1pdExvYWRQYXlsb2FkKGN1cnJlbnRJbnN0cnVjdGlvbls0XS51Lm9wZXJhbmQsIHJlZ1Qx
KTsKKyAgICBub3RVbmRlZmluZWRTY29wZSA9IGJyYW5jaDMyKE5vdEVxdWFsLCB0YWdGb3IoY3Vy
cmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCksIFRydXN0ZWRJbW0zMihKU1ZhbHVlOjpVbmRl
ZmluZWRUYWcpKTsKKyAgICBlbWl0U3RvcmUoZHN0LCBqc1VuZGVmaW5lZCgpKTsKKyNlbmRpZgor
ICAgIEp1bXAgZG9uZSA9IGp1bXAoKTsKKyAgICBub3RVbmRlZmluZWRTY29wZS5saW5rKHRoaXMp
OworICAgIAorICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZnVuY3Rpb24gPSBtX2NvZGVCbG9jay0+
ZnVuY3Rpb25FeHByKGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9wZXJhbmQpOworICAgIGNhbGxP
cGVyYXRpb24ob3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbiwgZHN0LCByZWdUMCwgZnVuY3Rpb24s
IHJlZ1QxKTsKKyAgICBkb25lLmxpbmsodGhpcyk7Cit9CisjZW5kaWYKIAogdm9pZCBKSVQ6OmVt
aXRfb3BfbmV3X2FycmF5KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAppbmRleCA1OGI4NjM2ZDg4
NmRiYjJlODUyOTFiMjkzNTBkOWNmNGUxNDI0MTcxLi45ZjUyNGM4YmQ5OTY4NTc2MTIwYzAzNjUx
Nzc4MjU1MDI3NjQ2ZjFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VE9wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0
aW9ucy5jcHAKQEAgLTQyLDYgKzQyLDEwIEBACiAjaW5jbHVkZSAiSG9zdENhbGxSZXR1cm5WYWx1
ZS5oIgogI2luY2x1ZGUgIkpJVC5oIgogI2luY2x1ZGUgIkpJVFRvREZHRGVmZXJyZWRDb21waWxh
dGlvbkNhbGxiYWNrLmgiCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyNp
bmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNlbmRpZgorI2luY2x1ZGUgIkpTQm91bmRGdW5j
dGlvbi5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0NhdGNoU2NvcGUu
aCIKICNpbmNsdWRlICJKU0Z1bmN0aW9uTmFtZVNjb3BlLmgiCkBAIC05MzMsNiArOTM3LDIxIEBA
IEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3RnVuY3Rpb24oRXhlY1N0
YXRlKiBleGVjLCBKU1Njb3BlKiBzY29wCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU0Z1
bmN0aW9uOjpjcmVhdGUodm0sIHN0YXRpY19jYXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KGZ1bmN0
aW9uRXhlY3V0YWJsZSksIHNjb3BlKSk7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJv
d0Z1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNTY29wZSogc2NvcGUsIEpTQ2VsbCogZnVuY3Rp
b25FeGVjdXRhYmxlLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUpCit7CisgICAgQVNTRVJUKGZ1
bmN0aW9uRXhlY3V0YWJsZS0+aW5oZXJpdHMoRnVuY3Rpb25FeGVjdXRhYmxlOjppbmZvKCkpKTsK
KyAgICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFj
ZXIoJnZtLCBleGVjKTsKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZXhlYy0+
Y2FsbGVlKCktPmdsb2JhbE9iamVjdCgpOworICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Fycm93
RnVuY3Rpb246OmNyZWF0ZSh2bSwgc2NvcGUsIHN0YXRpY19jYXN0PEZ1bmN0aW9uRXhlY3V0YWJs
ZSo+KGZ1bmN0aW9uRXhlY3V0YWJsZSksIGdsb2JhbE9iamVjdCk7CisgICAgCisgICAgSlNBcnJh
eSogYm91bmRBcmdzID0gSlNBcnJheTo6dHJ5Q3JlYXRlVW5pbml0aWFsaXplZCh2bSwgZ2xvYmFs
T2JqZWN0LT5hcnJheVN0cnVjdHVyZUZvckluZGV4aW5nVHlwZUR1cmluZ0FsbG9jYXRpb24oQXJy
YXlXaXRoVW5kZWNpZGVkKSwgMCk7CisgICAgCisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShK
U0JvdW5kRnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBmdW5jLCBKU1ZhbHVlOjpk
ZWNvZGUodGhpc1ZhbHVlKSwgYm91bmRBcmdzLCAwLCAiIikpOworfQorI2VuZGlmCisgICAgCiBK
U0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3T2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCmluZGV4IDRkZWNlZjRlYjhiNDhi
YjkzN2Q1NGQwYjYwNGI5Yjc3NjdhNGVhNjEuLjU4NGFhNTNkZjMyNWU1MzBjZGZiMjVjMzExMDlh
MWI4MTBiNDQ2NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bl
cmF0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5o
CkBAIC0xMTYsNiArMTE2LDkgQEAgdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
ICgqSl9KSVRPcGVyYXRpb25fRVBQKShFeGVjU3RhdGUqLCB2b2lkKiwgdm8KIHR5cGVkZWYgRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQUykoRXhlY1N0YXRl
Kiwgdm9pZCosIHNpemVfdCk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04g
KCpKX0pJVE9wZXJhdGlvbl9FUGMpKEV4ZWNTdGF0ZSosIEluc3RydWN0aW9uKik7CiB0eXBlZGVm
IEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FSnNjQykoRXhl
Y1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCopOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCit0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9w
ZXJhdGlvbl9FSnNjQ0opKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNW
YWx1ZSk7CisjZW5kaWYKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpf
SklUT3BlcmF0aW9uX0VTUykoRXhlY1N0YXRlKiwgc2l6ZV90LCBzaXplX3QpOwogdHlwZWRlZiBF
bmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNzaUNJKShFeGVj
U3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEpTQ2VsbCosIFN0cmluZ0ltcGwqKTsKIHR5cGVk
ZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTc2lKSSko
RXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSwgU3RyaW5nSW1w
bCopOwpAQCAtMjc4LDYgKzI4MSw5IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uTmV3QXJyYXlXaXRoUHJvZmlsZShFeGVjU3RhdGUqLCBBcnJheUFsbG9jCiBFbmNvZGVk
SlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5QnVmZmVyV2l0aFByb2ZpbGUo
RXhlY1N0YXRlKiwgQXJyYXlBbGxvY2F0aW9uUHJvZmlsZSosIGNvbnN0IEpTVmFsdWUqIHZhbHVl
cywgaW50MzJfdCBzaXplKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbk5ld0FycmF5V2l0aFNpemVBbmRQcm9maWxlKEV4ZWNTdGF0ZSosIEFycmF5
QWxsb2NhdGlvblByb2ZpbGUqLCBFbmNvZGVkSlNWYWx1ZSBzaXplKSBXVEZfSU5URVJOQUw7CiBF
bmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Z1bmN0aW9uKEV4ZWNTdGF0
ZSosIEpTU2NvcGUqLCBKU0NlbGwqKSBXVEZfSU5URVJOQUw7CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
TmV3QXJyb3dGdW5jdGlvbihFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKiwgRW5jb2RlZEpT
VmFsdWUpIFdURl9JTlRFUk5BTDsKKyNlbmRpZgogSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbk5ld09iamVjdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqKSBXVEZfSU5URVJOQUw7CiBFbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld1JlZ2V4cChFeGVjU3RhdGUqLCB2
b2lkKikgV1RGX0lOVEVSTkFMOwogdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkhhbmRsZVdh
dGNoZG9nVGltZXIoRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFMOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKaW5kZXggMjc5Mjg1YTQ2ODA2Y2M2ODlk
MDVkMTNjZjQ2MzQyZDA2YjVlZmQ2NC4uOGNkMWNhY2QzZTU4ZGExOTRkNGJkZGY5ZmY0ZGM3Yzdi
NTUzNTY5YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xv
d1BhdGhzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0
aHMuY3BwCkBAIC0zOCw2ICszOCwxMCBAQAogI2luY2x1ZGUgIkludGVycHJldGVyLmgiCiAjaW5j
bHVkZSAiSklULmgiCiAjaW5jbHVkZSAiSklURXhjZXB0aW9ucy5oIgorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCisjaW5j
bHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCisjZW5kaWYKICNpbmNsdWRlICJKU0xleGljYWxFbnZp
cm9ubWVudC5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVl
LmgiCkBAIC0xNzEsNiArMTc1LDE1IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgTExJbnQg
ewogICAgICAgICBMTElOVF9SRVRVUk5fVFdPKHBjLCBfX3JjZl9leGVjKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAogICAgIH0gd2hpbGUgKGZhbHNlKQogCisgICAgCisjZGVmaW5l
IExMSU5UX0NBTENfUFJPUEVSVFlfRk9SX0ZVTkNfRVhQUigpICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICBMTElOVF9CRUdJTigpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIENvZGVCbG9j
ayogY29kZUJsb2NrID0gZXhlYy0+Y29kZUJsb2NrKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgSlNTY29wZSogc2NvcGUgPSBleGVjLT51bmNoZWNrZWRSKHBjWzJd
LnUub3BlcmFuZCkuUmVnaXN0ZXI6OnNjb3BlKCk7ICAgICAgIFwKKyAgICBGdW5jdGlvbkV4ZWN1
dGFibGUqIGV4ZWN1dGFibGUgPSBjb2RlQmxvY2stPmZ1bmN0aW9uRXhwcihwY1szXS51Lm9wZXJh
bmQpOyAgXAorICAgIAorZW51bSBGdW5jdGlvbkV4cHJlc3Npb25UeXBlIHsgQXJyb3dGdW5jdGlv
bkV4cHJlc3Npb25UeXBlLCBDb21tb25GdW5jdGlvbkV4cHJlc3Npb25UeXBlfTsKKyAgICAKIGV4
dGVybiAiQyIgU2xvd1BhdGhSZXR1cm5UeXBlIGxsaW50X3RyYWNlX29wZXJhbmQoRXhlY1N0YXRl
KiBleGVjLCBJbnN0cnVjdGlvbiogcGMsIGludCBmcm9tV2hlcmUsIGludCBvcGVyYW5kKQogewog
ICAgIExMSU5UX0JFR0lOKCk7CkBAIC05ODUsMTggKzk5OCwzMyBAQCBMTElOVF9TTE9XX1BBVEhf
REVDTChzbG93X3BhdGhfbmV3X2Z1bmMpCiAjZW5kaWYKICAgICBMTElOVF9SRVRVUk4oSlNGdW5j
dGlvbjo6Y3JlYXRlKHZtLCBjb2RlQmxvY2stPmZ1bmN0aW9uRGVjbChwY1szXS51Lm9wZXJhbmQp
LCBzY29wZSkpOwogfQotCisgICAgCiBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfbmV3
X2Z1bmNfZXhwKQogewotICAgIExMSU5UX0JFR0lOKCk7Ci0gICAgQ29kZUJsb2NrKiBjb2RlQmxv
Y2sgPSBleGVjLT5jb2RlQmxvY2soKTsKLSAgICBKU1Njb3BlKiBzY29wZSA9IGV4ZWMtPnVuY2hl
Y2tlZFIocGNbMl0udS5vcGVyYW5kKS5SZWdpc3Rlcjo6c2NvcGUoKTsKLSAgICBGdW5jdGlvbkV4
ZWN1dGFibGUqIGZ1bmN0aW9uID0gY29kZUJsb2NrLT5mdW5jdGlvbkV4cHIocGNbM10udS5vcGVy
YW5kKTsKLSAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBmdW5j
dGlvbiwgc2NvcGUpOwotICAgIAorICAgIExMSU5UX0NBTENfUFJPUEVSVFlfRk9SX0ZVTkNfRVhQ
UigpOworCisgICAgSlNGdW5jdGlvbiogZnVuYyA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgZXhl
Y3V0YWJsZSwgc2NvcGUpOwogICAgIExMSU5UX1JFVFVSTihmdW5jKTsKIH0KIAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3Bh
dGhfbmV3X2Fycm93X2Z1bmNfZXhwKQoreworICAgIExMSU5UX0NBTENfUFJPUEVSVFlfRk9SX0ZV
TkNfRVhQUigpOworICAgIAorICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gTExJTlRfT1BfQyg0KS5q
c1ZhbHVlKCk7CisgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGV4ZWMtPmNhbGxl
ZSgpLT5nbG9iYWxPYmplY3QoKTsKKyAgICAKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNBcnJv
d0Z1bmN0aW9uOjpjcmVhdGUodm0sIHNjb3BlLCBleGVjdXRhYmxlLCBnbG9iYWxPYmplY3QpOwor
ICAgIAorICAgIEpTQXJyYXkqIGJvdW5kQXJncyA9IEpTQXJyYXk6OnRyeUNyZWF0ZVVuaW5pdGlh
bGl6ZWQodm0sIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5cGVEdXJp
bmdBbGxvY2F0aW9uKEFycmF5V2l0aFVuZGVjaWRlZCksIDApOworICAgIAorICAgIGNvbnN0IFN0
cmluZyBmdW5jV2l0aG91dE5hbWUgPSAiIjsKKyAgICAKKyAgICBMTElOVF9SRVRVUk4oSlNCb3Vu
ZEZ1bmN0aW9uOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgZnVuYywgdGhpc1ZhbHVlLCBib3Vu
ZEFyZ3MsIDAsIGZ1bmNXaXRob3V0TmFtZSkpOworfQorI2VuZGlmCisKIHN0YXRpYyBTbG93UGF0
aFJldHVyblR5cGUgaGFuZGxlSG9zdENhbGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBJbnN0cnVj
dGlvbiogcGMsIEpTVmFsdWUgY2FsbGVlLCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGtpbmQpCiB7
CiAgICAgVU5VU0VEX1BBUkFNKHBjKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9MTEludFNsb3dQYXRocy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xM
SW50U2xvd1BhdGhzLmgKaW5kZXggNGJmN2RlYjBmYTBiNmM2NDM4ZTM2Zjk2MzIwZTJmNjY5NzM5
YWY2NC4uNDY3YmZiNGQ4MGE1MTA5YzI3OTMwNzQ5M2QzOWQxMDIzODY4ZmY4YyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgKQEAgLTk2LDYgKzk2LDkg
QEAgTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9zd2l0Y2hfY2hhcik7CiBM
TElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3N3aXRjaF9zdHJpbmcpOwogTExJ
TlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuYyk7CiBMTElOVF9TTE9X
X1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX25ld19mdW5jX2V4cCk7CisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK0xMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93
X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKTsKKyNlbmRpZgogTExJTlRfU0xPV19QQVRIX0hJRERF
Tl9ERUNMKHNsb3dfcGF0aF9jYWxsKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93
X3BhdGhfY29uc3RydWN0KTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhf
c2l6ZV9mcmFtZV9mb3JfdmFyYXJncyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KaW5kZXggZmRhOTFlZDU5OTBjYjZlNGYyY2I3
OGFhNmE0YjJkOGMyYzBjNDcyYS4uODIyNzEzNDk4MmRiNzU4MWRjOGEyMjVjZDQyMzI4MjAwOTJm
YjczZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbQpAQCAtMTE3MSw2ICsxMTcxLDEwIEBAIF9sbGludF9vcF9uZXdfZnVuY19l
eHA6CiAgICAgY2FsbFNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfbmV3X2Z1bmNfZXhwKQogICAg
IGRpc3BhdGNoKDQpCiAKK19sbGludF9vcF9uZXdfYXJyb3dfZnVuY19leHA6CisgICAgdHJhY2VF
eGVjdXRpb24oKQorICAgIGNhbGxTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX25ld19hcnJvd19m
dW5jX2V4cCkKKyAgICBkaXNwYXRjaCg1KQogCiBfbGxpbnRfb3BfY2FsbDoKICAgICB0cmFjZUV4
ZWN1dGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1
aWxkZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCmluZGV4
IGI4ZmU0Yjg0ODVhMDk3Njg4ZjVjNjMwYmQ4YzNjOTY3NjRmYzQ2NDkuLmNiOGUwZGMxZGRiZWM3
NTg2NjM1ZTFiNDM0MmM5ZTU1YzY2MTRlMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvQVNUQnVpbGRlci5oCkBAIC0zMTMsNiArMzEzLDE5IEBAIHB1YmxpYzoKICAgICAgICAgICAg
IGluU3RyaWN0Q29udGV4dCwgY29uc3RydWN0b3JLaW5kKTsKICAgICB9CiAKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEV4cHJlc3Npb25Ob2RlKiBjcmVhdGVBcnJv
d0Z1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBQYXJz
ZXJGdW5jdGlvbkluZm88QVNUQnVpbGRlcj4mIGluZm8pCisgICAgeworICAgICAgICBTb3VyY2VD
b2RlIHNvdXJjZSA9IGluZm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25C
b2R5RXhwcmVzc2lvbgorICAgICAgICA/IG1fc291cmNlQ29kZS0+c3ViQXJyb3dFeHByZXNzaW9u
KGluZm8uYXJyb3dGdW5jdGlvbk9mZnNldCwgaW5mby5jbG9zZUJyYWNlT2Zmc2V0LCBpbmZvLmJv
ZHlTdGFydExpbmUsIGluZm8uYm9keVN0YXJ0Q29sdW1uKQorICAgICAgICA6IG1fc291cmNlQ29k
ZS0+c3ViRXhwcmVzc2lvbihpbmZvLm9wZW5CcmFjZU9mZnNldCwgaW5mby5jbG9zZUJyYWNlT2Zm
c2V0LCBpbmZvLmJvZHlTdGFydExpbmUsIGluZm8uYm9keVN0YXJ0Q29sdW1uKTsKKworICAgICAg
ICBBcnJvd0Z1bmNFeHByTm9kZSogcmVzdWx0ID0gbmV3IChtX3BhcnNlckFyZW5hKSBBcnJvd0Z1
bmNFeHByTm9kZShsb2NhdGlvbiwgKmluZm8ubmFtZSwgaW5mby5ib2R5LCBzb3VyY2UsIGluZm8u
cGFyYW1ldGVycyk7CisgICAgICAgIGluZm8uYm9keS0+c2V0TG9jKGluZm8uYm9keVN0YXJ0TGlu
ZSwgaW5mby5ib2R5RW5kTGluZSwgbG9jYXRpb24uc3RhcnRPZmZzZXQsIGxvY2F0aW9uLmxpbmVT
dGFydE9mZnNldCk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorI2VuZGlmCisKICAg
ICBORVZFUl9JTkxJTkUgUHJvcGVydHlOb2RlKiBjcmVhdGVHZXR0ZXJPclNldHRlclByb3BlcnR5
KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIFByb3BlcnR5Tm9kZTo6VHlwZSB0eXBl
LCBib29sLAogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBuYW1lLCBjb25zdCBQYXJzZXJGdW5j
dGlvbkluZm88QVNUQnVpbGRlcj4mIGluZm8sIFN1cGVyQmluZGluZyBzdXBlckJpbmRpbmcpCiAg
ICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcAppbmRleCA3ZGUxNDIyMGJi
ZGE3MjczOGI1NzNhNGI5Nzg4Y2UwYjMyY2M3Y2UzLi41NDBmOWZmYjdiYjUxODI5ZDY3ZGVlZGVj
NWU2YThlZDUxY2M0NDE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L0xleGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcApA
QCAtMTQzMCw2ICsxNDMwLDE4IEBAIGJvb2wgTGV4ZXI8VD46Om5leHRUb2tlbklzQ29sb24oKQog
ICAgIHJldHVybiBjb2RlIDwgbV9jb2RlRW5kICYmICpjb2RlID09ICc6JzsKIH0KIAorI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK3Zv
aWQgTGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24oSlNUb2tlbiogdG9rZW5SZWNvcmQpCit7Cisg
ICAgSlNUb2tlbkRhdGEqIHRva2VuRGF0YSA9ICZ0b2tlblJlY29yZC0+bV9kYXRhOworICAgIHRv
a2VuRGF0YS0+bGluZSA9IGxpbmVOdW1iZXIoKTsKKyAgICB0b2tlbkRhdGEtPm9mZnNldCA9IGN1
cnJlbnRPZmZzZXQoKTsKKyAgICB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCA9IGN1cnJlbnRM
aW5lU3RhcnRPZmZzZXQoKTsKKyAgICBBU1NFUlQodG9rZW5EYXRhLT5vZmZzZXQgPj0gdG9rZW5E
YXRhLT5saW5lU3RhcnRPZmZzZXQpOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBU
PgogSlNUb2tlblR5cGUgTGV4ZXI8VD46OmxleChKU1Rva2VuKiB0b2tlblJlY29yZCwgdW5zaWdu
ZWQgbGV4ZXJGbGFncywgYm9vbCBzdHJpY3RNb2RlKQogewpAQCAtMTQ5Myw3ICsxNTA1LDEyIEBA
IHN0YXJ0OgogICAgICAgICB9CiAgICAgICAgIHRva2VuID0gR1Q7CiAgICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgQ2hhcmFjdGVyRXF1YWw6CisgICAgY2FzZSBDaGFyYWN0ZXJFcXVhbDogeworI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIHVpbnQzMl90IHNhdmVk
bGluZU51bWJlciA9IHRva2VuRGF0YS0+bGluZTsKKyAgICAgICAgdWludDMyX3Qgc2F2ZWRPZmZz
ZXQgPSBjdXJyZW50T2Zmc2V0KCk7CisgICAgICAgIHVpbnQzMl90IHNhdmVkTGluZVN0YXJ0T2Zm
c2V0ID0gY3VycmVudExpbmVTdGFydE9mZnNldCgpOworI2VuZGlmCiAgICAgICAgIHNoaWZ0KCk7
CiAgICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJz0nKSB7CiAgICAgICAgICAgICBzaGlmdCgpOwpA
QCAtMTUwNSw4ICsxNTIyLDIyIEBAIHN0YXJ0OgogICAgICAgICAgICAgdG9rZW4gPSBFUUVROwog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgICAgICBpZiAobV9jdXJyZW50ID09ICc+JykgeworICAgICAgICAgICAg
c2hpZnQoKTsKKyAgICAgICAgICAgIHRva2VuID0gQVJST1dGVU5DVElPTjsKKworICAgICAgICAg
ICAgdG9rZW5EYXRhLT5saW5lID0gc2F2ZWRsaW5lTnVtYmVyOworICAgICAgICAgICAgdG9rZW5E
YXRhLT5vZmZzZXQgPSBzYXZlZE9mZnNldDsKKyAgICAgICAgICAgIHRva2VuRGF0YS0+bGluZVN0
YXJ0T2Zmc2V0ID0gc2F2ZWRMaW5lU3RhcnRPZmZzZXQ7CisKKyAgICAgICAgICAgIEFTU0VSVCh0
b2tlbkRhdGEtPm9mZnNldCA+PSB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCk7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIHRva2VuID0gRVFVQUw7CiAg
ICAgICAgIGJyZWFrOworICAgIH0KICAgICBjYXNlIENoYXJhY3Rlckxlc3M6CiAgICAgICAgIHNo
aWZ0KCk7CiAgICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJyEnICYmIHBlZWsoMSkgPT0gJy0nICYm
IHBlZWsoMikgPT0gJy0nKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL0xleGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKaW5kZXgg
MmRmNTIxMzk5NTc4MjAwNzg1YTE2NmUyMmE3MzI3NWUwZWE2MzA0ZC4uY2IzZjI1ZjdjMDhmODI1
ODFhZjJjZThmYTk5OTk3ZmFkZTA3NjZmMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9MZXhlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4
ZXIuaApAQCAtODUsNiArODUsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRJc1JlcGFyc2luZygp
IHsgbV9pc1JlcGFyc2luZyA9IHRydWU7IH0KICAgICBib29sIGlzUmVwYXJzaW5nKCkgY29uc3Qg
eyByZXR1cm4gbV9pc1JlcGFyc2luZzsgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICB2b2lkIHNldFRva2VuUG9zaXRpb24oSlNUb2tlbiogdG9rZW5SZWNvcmQp
OworI2VuZGlmCiAgICAgSlNUb2tlblR5cGUgbGV4KEpTVG9rZW4qLCB1bnNpZ25lZCwgYm9vbCBz
dHJpY3RNb2RlKTsKICAgICBib29sIG5leHRUb2tlbklzQ29sb24oKTsKICAgICBpbnQgbGluZU51
bWJlcigpIGNvbnN0IHsgcmV0dXJuIG1fbGluZU51bWJlcjsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaAppbmRleCAzYmRhYjYxYTUyMmUwY2Uy
YzMzOTdmODBmNGZhMTg0ZDFkNDIxNjBlLi5iNThlMWZlMWFmOTBlNjYwYjA4NDJlYTdlOTlmMDdh
ZTZhY2JiOTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVD
b25zdHJ1Y3RvcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25z
dHJ1Y3RvcnMuaApAQCAtNzgxLDYgKzc4MSwxMyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAg
bV9ib2R5LT5maW5pc2hQYXJzaW5nKHNvdXJjZSwgcGFyYW1ldGVyLCBpZGVudCwgRnVuY3Rpb25F
eHByZXNzaW9uKTsKICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgIGlubGluZSBBcnJvd0Z1bmNFeHByTm9kZTo6QXJyb3dGdW5jRXhwck5vZGUoY29uc3Qg
SlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIEZ1bmN0
aW9uQm9keU5vZGUqIGJvZHksIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgUGFyYW1ldGVyTm9k
ZSogcGFyYW1ldGVyKQorICAgICAgICA6IEZ1bmNFeHByTm9kZShsb2NhdGlvbiwgaWRlbnQsIGJv
ZHksIHNvdXJjZSwgcGFyYW1ldGVyKQorICAgIHsKKyAgICB9CisjZW5kaWYKKyAgICAKICAgICBp
bmxpbmUgRnVuY0RlY2xOb2RlOjpGdW5jRGVjbE5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBs
b2NhdGlvbiwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIEZ1bmN0aW9uQm9keU5vZGUqIGJvZHks
IGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgUGFyYW1ldGVyTm9kZSogcGFyYW1ldGVyKQogICAg
ICAgICA6IFN0YXRlbWVudE5vZGUobG9jYXRpb24pCiAgICAgICAgICwgbV9ib2R5KGJvZHkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKaW5kZXggNmIzNzMyOWMwOWJmYzQyYmVjY2Mz
Y2FhOTgzNTk3YzM1NDAyYjZjOS4uNWI3NzQxZTFjY2M4ZDUxNWZmMTRjMTUzMTcyZDdiZGEwNTNm
NTg2OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaApAQCAtMTU4LDYgKzE1OCw5
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNEb3RBY2Nlc3Nvck5v
ZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNEZWNv
bnN0cnVjdGlvbk5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFs
IGJvb2wgaXNGdW5jRXhwck5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Fycm93
RnVuY0V4cHJOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyNlbmRpZgogICAgICAgICB2
aXJ0dWFsIGJvb2wgaXNDb21tYU5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAg
ICB2aXJ0dWFsIGJvb2wgaXNTaW1wbGVBcnJheSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAg
ICAgICAgIHZpcnR1YWwgYm9vbCBpc0FkZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CkBAIC0x
NjUyLDYgKzE2NTUsMTkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIEZ1bmN0aW9uQm9keU5v
ZGUqIG1fYm9keTsKICAgICB9OwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICBjbGFzcyBBcnJvd0Z1bmNFeHByTm9kZSA6IHB1YmxpYyBGdW5jRXhwck5vZGUgewor
ICAgIHB1YmxpYzoKKyAgICAgICAgQXJyb3dGdW5jRXhwck5vZGUoY29uc3QgSlNUb2tlbkxvY2F0
aW9uJiwgY29uc3QgSWRlbnRpZmllciYsIEZ1bmN0aW9uQm9keU5vZGUqLCBjb25zdCBTb3VyY2VD
b2RlJiwgUGFyYW1ldGVyTm9kZSogPSAwKTsKKyAgICBwcml2YXRlOgorICAgICAgICB2aXJ0dWFs
IFJlZ2lzdGVySUQqIGVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYsIFJlZ2lzdGVySUQq
ID0gMCkgb3ZlcnJpZGU7CisgICAgICAgIAorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNGdW5jRXhw
ck5vZGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQorICAgICAgICAKKyAgICAg
ICAgdmlydHVhbCBib29sIGlzQXJyb3dGdW5jRXhwck5vZGUoKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiB0cnVlOyB9CisgICAgfTsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5U
QVgpCiAgICAgY2xhc3MgQ2xhc3NFeHByTm9kZSBmaW5hbCA6IHB1YmxpYyBFeHByZXNzaW9uTm9k
ZSB7CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCmlu
ZGV4IDVmNDQ4MGI0OWNhZDVkNDkxNTZjNjI1ZmE0ODRhZjdhMWRjOGIzY2YuLjhhZjMxMzM5NWJm
ZDQ1MWYxYmYyNDU3MTNhYmJkN2Y0NmQxNDk5NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlci5jcHAKQEAgLTMyOSw4ICszMjksMTMgQEAgYm9vbCBQYXJzZXI8TGV4ZXJUeXBl
Pjo6YWxsb3dBdXRvbWF0aWNTZW1pY29sb24oKQogICAgIHJldHVybiBtYXRjaChDTE9TRUJSQUNF
KSB8fCBtYXRjaChFT0ZUT0spIHx8IG1fbGV4ZXItPnByZXZUZXJtaW5hdG9yKCk7CiB9CiAKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExl
eGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRz
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiBjb250
ZXh0LCBTb3VyY2VFbGVtZW50c01vZGUgbW9kZSwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25Q
YXJzZVR5cGUpCisjZWxzZQogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBTb3VyY2VFbGVtZW50
c01vZGUgbW9kZSkKKyNlbmRpZgogewogICAgIGNvbnN0IHVuc2lnbmVkIGxlbmd0aE9mVXNlU3Ry
aWN0TGl0ZXJhbCA9IDEyOyAvLyAidXNlIHN0cmljdCIubGVuZ3RoCiAgICAgVHJlZVNvdXJjZUVs
ZW1lbnRzIHNvdXJjZUVsZW1lbnRzID0gY29udGV4dC5jcmVhdGVTb3VyY2VFbGVtZW50cygpOwpA
QCAtMzM5LDcgKzM0NCwxMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3Vy
Y2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3VyY2VFbAogICAgIHVuc2lnbmVk
IGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwOwogICAgIGF1dG8gc2F2ZVBvaW50ID0gY3JlYXRl
U2F2ZVBvaW50KCk7CiAgICAgYm9vbCBoYXNTZXRTdHJpY3QgPSBmYWxzZTsKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHdoaWxlIChUcmVlU3RhdGVtZW50IHN0YXRl
bWVudCA9IHBhcnNlU3RhdGVtZW50KGNvbnRleHQsIGRpcmVjdGl2ZSwgJmRpcmVjdGl2ZUxpdGVy
YWxMZW5ndGgsIGZ1bmN0aW9uUGFyc2VUeXBlKSkgeworI2Vsc2UKICAgICB3aGlsZSAoVHJlZVN0
YXRlbWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVudChjb250ZXh0LCBkaXJlY3RpdmUsICZk
aXJlY3RpdmVMaXRlcmFsTGVuZ3RoKSkgeworI2VuZGlmCiAgICAgICAgIGlmIChtb2RlID09IENo
ZWNrRm9yU3RyaWN0TW9kZSAmJiAhc2Vlbk5vbkRpcmVjdGl2ZSkgewogICAgICAgICAgICAgaWYg
KGRpcmVjdGl2ZSkgewogICAgICAgICAgICAgICAgIC8vICJ1c2Ugc3RyaWN0IiBtdXN0IGJlIHRo
ZSBleGFjdCBsaXRlcmFsIHdpdGhvdXQgZXNjYXBlIHNlcXVlbmNlcyBvciBsaW5lIGNvbnRpbnVh
dGlvbi4KQEAgLTU3MSw2ICs1ODAsMzEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIFBhcnNlcjxMZXhlclR5cGU+OjpjcmVhdGUKICAgICBy
ZXR1cm4gY29udGV4dC5jcmVhdGVCaW5kaW5nTG9jYXRpb24odG9rZW4ubV9sb2NhdGlvbiwgbmFt
ZSwgdG9rZW4ubV9zdGFydFBvc2l0aW9uLCB0b2tlbi5tX2VuZFBvc2l0aW9uKTsKIH0KIAorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4
ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNv
bnRleHQpCit7CisgICAgQVNTRVJUKG1hdGNoKEFSUk9XRlVOQ1RJT04pKTsKKworICAgIEpTVG9r
ZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgIEpTVGV4dFBvc2l0aW9u
IHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgSlNUZXh0UG9zaXRpb24gZW5kID0g
dG9rZW5FbmRQb3NpdGlvbigpOworCisgICAgbmV4dCgpOworICAgIFRyZWVFeHByZXNzaW9uIGV4
cHIgPSBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKGNvbnRleHQpOworICAgIGZhaWxJZkZh
bHNlKGV4cHIsICJDYW5ub3QgcGFyc2UgdGhlIGFycm93IGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsK
KyAgICBlbmQgPSBsYXN0VG9rZW5FbmRQb3NpdGlvbigpOworCisgICAgYm9vbCBjb3JyZWNBcnJv
d0ZpbmlzaCA9IGlzRW5kT2ZBcnJvd0Z1bmN0aW9uKCkgfHwgbWF0Y2goRU9GVE9LKTsKKyAgICBm
YWlsSWZGYWxzZShjb3JyZWNBcnJvd0ZpbmlzaCwgIkV4cGVjdGVkIGEgJzsnLCAnXScsICd9Jywg
JyknLCBvciAnLCcgZm9sbG93aW5nIGEgYXJyb3cgZnVuY3Rpb24gc3RhdGVtZW50Iik7CisKKyAg
ICBlbmQgPSB0b2tlbkVuZFBvc2l0aW9uKCk7CisgICAgc2V0RW5kT2ZTdGF0ZW1lbnQoKTsKKwor
ICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJldHVyblN0YXRlbWVudChsb2NhdGlvbiwgZXhwciwg
c3RhcnQsIGVuZCk7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4K
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBQ
YXJzZXI8TGV4ZXJUeXBlPjo6dHJ5UGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm5FeHByZXNzaW9u
KFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewpAQCAtMTE0NCw4ICsxMTc4LDEzIEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VCbG9ja1N0YXRlbWVuCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciom
IGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgsIEZ1bmN0aW9uUGFy
c2VUeXBlIHR5cGUpCisjZWxzZQogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqJiBk
aXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoKQorI2VuZGlmCiB7CiAg
ICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKICAgICBt
X3N0YXRlbWVudERlcHRoKys7CkBAIC0xMTU0LDYgKzExOTMsMjcgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRl
bWVudChUcmUKICAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7CiAgICAgVHJlZVN0YXRlbWVudCBy
ZXN1bHQgPSAwOwogICAgIGJvb2wgc2hvdWxkU2V0RW5kT2Zmc2V0ID0gdHJ1ZTsKKworI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgYm9vbCBoYW5kbGVkID0gZmFsc2U7
CisgICAgaWYgKHR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICBzd2l0
Y2ggKG1fdG9rZW4ubV90eXBlKSB7CisgICAgICAgIGNhc2UgQ0xPU0VQQVJFTjoKKyAgICAgICAg
Y2FzZSBDTE9TRUJSQUNLRVQ6CisgICAgICAgIGNhc2UgQ09NTUE6CisgICAgICAgIGNhc2UgU0VN
SUNPTE9OOiB7CisgICAgICAgICAgICByZXN1bHQgPSAwOworICAgICAgICAgICAgaGFuZGxlZCA9
IHRydWU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBkZWZhdWx0Ogor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBpZiAoaGFuZGxlZCkKKyAg
ICAgICAgICAgIGdvdG8gZW5kU3RhdGVtZW5ldDsKKyAgICB9CisjZW5kaWYKICAgICBzd2l0Y2gg
KG1fdG9rZW4ubV90eXBlKSB7CiAgICAgY2FzZSBPUEVOQlJBQ0U6CiAgICAgICAgIHJlc3VsdCA9
IHBhcnNlQmxvY2tTdGF0ZW1lbnQoY29udGV4dCk7CkBAIC0xMTk5LDYgKzEyNTksMTEgQEAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZVN0YXRlbWVudChUcmUKICAgICBjYXNlIEJSRUFLOgogICAgICAgICByZXN1bHQgPSBw
YXJzZUJyZWFrU3RhdGVtZW50KGNvbnRleHQpOwogICAgICAgICBicmVhazsKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2UgQVJST1dGVU5DVElPTjoKKyAgICAg
ICAgcmVzdWx0ID0gcGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KGNvbnRleHQpOworICAgICAg
ICBicmVhazsKKyNlbmRpZgogICAgIGNhc2UgUkVUVVJOOgogICAgICAgICByZXN1bHQgPSBwYXJz
ZVJldHVyblN0YXRlbWVudChjb250ZXh0KTsKICAgICAgICAgYnJlYWs7CkBAIC0xMjQwLDYgKzEz
MDUsOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAgICAgICBicmVhazsKICAgICB9CiAK
K2VuZFN0YXRlbWVuZXQ6CisKICAgICBpZiAocmVzdWx0ICYmIHNob3VsZFNldEVuZE9mZnNldCkK
ICAgICAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQocmVzdWx0LCBtX2xhc3RUb2tlbkVuZFBvc2l0
aW9uLm9mZnNldCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTEyNjAsMjMgKzEzMjcsNDQgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRm9ybWFsUGFyYW1ldGVyTGlzdCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VGb3IKICAgICByZXR1cm4gbGlzdDsKIH0KIAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBl
PgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRnVuY3Rpb25Cb2R5IFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uQm9keSgKICAgICBUcmVlQnVpbGRlciYgY29udGV4dCwg
aW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIAorICAgIGlu
dCBwYXJhbWV0ZXJzU3RhcnQsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQsIEZ1bmN0
aW9uUGFyc2VUeXBlIHBhcnNlVHlwZSkKKyNlbHNlCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJU
eXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRnVuY3Rpb25Cb2R5IFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uQm9keSgKKyAgICBUcmVlQnVpbGRlciYgY29udGV4
dCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsCiAgICAg
aW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCkKKyNl
bmRpZgogewogICAgIEpTVG9rZW5Mb2NhdGlvbiBzdGFydExvY2F0aW9uKHRva2VuTG9jYXRpb24o
KSk7CiAgICAgdW5zaWduZWQgc3RhcnRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOworI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaWYgKHBhcnNlVHlwZSA9PSBTdGFuZGFy
ZEZ1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgaWYgKG1hdGNo
KENMT1NFQlJBQ0UpKSB7CisgICAgICAgICAgICB1bnNpZ25lZCBlbmRDb2x1bW4gPSB0b2tlbkNv
bHVtbigpOworICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0
YXJ0TG9jYXRpb24sIHRva2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgZnVu
Y3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0
cmljdE1vZGUoKSwgY29uc3RydWN0b3JLaW5kKTsKKyAgICAgICAgfQorICAgIH0KKyNlbHNlCiAg
ICAgbmV4dCgpOwotCiAgICAgaWYgKG1hdGNoKENMT1NFQlJBQ0UpKSB7CiAgICAgICAgIHVuc2ln
bmVkIGVuZENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CiAgICAgICAgIHJldHVybiBjb250ZXh0LmNy
ZWF0ZUZ1bmN0aW9uQm9keShzdGFydExvY2F0aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0YXJ0Q29s
dW1uLCBlbmRDb2x1bW4sIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwg
cGFyYW1ldGVyc1N0YXJ0LCBzdHJpY3RNb2RlKCksIGNvbnN0cnVjdG9yS2luZCk7CiAgICAgfQor
I2VuZGlmCisKICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50RGVw
dGgpOwogICAgIG1fc3RhdGVtZW50RGVwdGggPSAwOwogICAgIHR5cGVuYW1lIFRyZWVCdWlsZGVy
OjpGdW5jdGlvbkJvZHlCdWlsZGVyIGJvZHlCdWlsZGVyKGNvbnN0X2Nhc3Q8Vk0qPihtX3ZtKSwg
bV9sZXhlci5nZXQoKSk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICBmYWlsSWZGYWxzZShwYXJzZVNvdXJjZUVsZW1lbnRzKGJvZHlCdWlsZGVyLCBDaGVja0ZvclN0
cmljdE1vZGUsIHBhcnNlVHlwZSksIHBhcnNlVHlwZSA9PSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VU
eXBlID8gIkNhbm5vdCBwYXJzZSBib2R5IG9mIHRoaXMgZnVuY3Rpb24iIDogIkNhbm5vdCBwYXJz
ZSBib2R5IG9mIHRoaXMgYXJyb3cgZnVuY3Rpb24iKTsKKyNlbHNlCiAgICAgZmFpbElmRmFsc2Uo
cGFyc2VTb3VyY2VFbGVtZW50cyhib2R5QnVpbGRlciwgQ2hlY2tGb3JTdHJpY3RNb2RlKSwgIkNh
bm5vdCBwYXJzZSBib2R5IG9mIHRoaXMgZnVuY3Rpb24iKTsKKyNlbmRpZgogICAgIHVuc2lnbmVk
IGVuZENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVu
Y3Rpb25Cb2R5KHN0YXJ0TG9jYXRpb24sIHRva2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1bW4sIGVu
ZENvbHVtbiwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0
ZXJzU3RhcnQsIHN0cmljdE1vZGUoKSwgY29uc3RydWN0b3JLaW5kKTsKIH0KQEAgLTEyOTcsNjAg
KzEzODUsMTA1IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBzdHJpbmdGb3JGdW5jdGlvbk1vZGUoRnVu
Y3Rpb25QYXJzZU1vZGUgbW9kZSkKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBl
PgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVu
dHMgcmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLAorICAgIGJvb2wgbmFtZUlz
SW5Db250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCBvd25lckNsYXNzS2luZCwgaW50IGZ1
bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZv
LCBGdW5jdGlvblBhcnNlVHlwZSBwYXJzZVR5cGUpCisjZWxzZQogdGVtcGxhdGUgPHR5cGVuYW1l
IExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImIGNvbnRleHQsIEZ1bmN0aW9u
UmVxdWlyZW1lbnRzIHJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUgbW9kZSwKICAgICBi
b29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQgb3duZXJDbGFzc0tp
bmQsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWls
ZGVyPiYgaW5mbykKKyNlbmRpZgogewogICAgIEF1dG9Qb3BTY29wZVJlZiBmdW5jdGlvblNjb3Bl
KHRoaXMsIHB1c2hTY29wZSgpKTsKICAgICBmdW5jdGlvblNjb3BlLT5zZXRJc0Z1bmN0aW9uKCk7
CiAgICAgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zm
c2V0OwogICAgIGNvbnN0IElkZW50aWZpZXIqIGxhc3RGdW5jdGlvbk5hbWUgPSBtX2xhc3RGdW5j
dGlvbk5hbWU7CiAgICAgbV9sYXN0RnVuY3Rpb25OYW1lID0gbnVsbHB0cjsKLSAgICBpZiAobWF0
Y2goSURFTlQpKSB7Ci0gICAgICAgIGluZm8ubmFtZSA9IG1fdG9rZW4ubV9kYXRhLmlkZW50Owot
ICAgICAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBpbmZvLm5hbWU7Ci0gICAgICAgIG5leHQoKTsK
LSAgICAgICAgaWYgKCFuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSkKLSAgICAgICAgICAgIGZhaWxJ
ZkZhbHNlSWZTdHJpY3QoZnVuY3Rpb25TY29wZS0+ZGVjbGFyZVZhcmlhYmxlKGluZm8ubmFtZSks
ICInIiwgaW5mby5uYW1lLT5pbXBsKCksICInIGlzIG5vdCBhIHZhbGlkICIsIHN0cmluZ0ZvckZ1
bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIGluIHN0cmljdCBtb2RlIik7Ci0gICAgfSBlbHNlIGlm
IChyZXF1aXJlbWVudHMgPT0gRnVuY3Rpb25OZWVkc05hbWUpIHsKKyAgICBpbnQgcGFyYW1ldGVy
c1N0YXJ0OworICAgIGJvb2wgaXNDbGFzc0NvbnN0cnVjdG9yOworICAgIAorI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaWYgKHBhcnNlVHlwZSA9PSBTdGFuZGFyZEZ1
bmN0aW9uUGFyc2VUeXBlKSB7CisjZW5kaWYKKyAgICAgICAgaWYgKG1hdGNoKElERU5UKSkgewor
ICAgICAgICAgICAgaW5mby5uYW1lID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CisgICAgICAgICAg
ICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBpbmZvLm5hbWU7CisgICAgICAgICAgICBuZXh0KCk7Cisg
ICAgICAgICAgICBpZiAoIW5hbWVJc0luQ29udGFpbmluZ1Njb3BlKQorICAgICAgICAgICAgICAg
IGZhaWxJZkZhbHNlSWZTdHJpY3QoZnVuY3Rpb25TY29wZS0+ZGVjbGFyZVZhcmlhYmxlKGluZm8u
bmFtZSksICInIiwgaW5mby5uYW1lLT5pbXBsKCksICInIGlzIG5vdCBhIHZhbGlkICIsIHN0cmlu
Z0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIGluIHN0cmljdCBtb2RlIik7CisgICAgICAg
IH0gZWxzZSBpZiAocmVxdWlyZW1lbnRzID09IEZ1bmN0aW9uTmVlZHNOYW1lKSB7CiAgICAgICAg
IGlmIChtYXRjaChPUEVOUEFSRU4pICYmIG1vZGUgPT0gRnVuY3Rpb25Nb2RlKQogICAgICAgICAg
ICAgc2VtYW50aWNGYWlsKCJGdW5jdGlvbiBzdGF0ZW1lbnRzIG11c3QgaGF2ZSBhIG5hbWUiKTsK
LSAgICAgICAgc2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9k
ZShtb2RlKSwgIiBuYW1lIik7Ci0gICAgICAgIGZhaWxEdWVUb1VuZXhwZWN0ZWRUb2tlbigpOwot
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIGludCBwYXJhbWV0ZXJzU3RhcnQgPSBt
X3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7Ci0gICAgaWYgKCFjb25zdW1lKE9QRU5QQVJF
TikpIHsKLSAgICAgICAgc2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0
aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7Ci0gICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0
ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUp
LCAiJ3MgcGFyYW1ldGVyIGxpc3QiKTsKLSAgICB9Ci0KLSAgICBpZiAobW9kZSA9PSBHZXR0ZXJN
b2RlKQotICAgICAgICBjb25zdW1lT3JGYWlsKENMT1NFUEFSRU4sICJnZXR0ZXIgZnVuY3Rpb25z
IG11c3QgaGF2ZSBubyBwYXJhbWV0ZXJzIik7Ci0gICAgZWxzZSBpZiAobW9kZSA9PSBTZXR0ZXJN
b2RlKSB7Ci0gICAgICAgIGZhaWxJZlRydWUobWF0Y2goQ0xPU0VQQVJFTiksICJzZXR0ZXIgZnVu
Y3Rpb25zIG11c3QgaGF2ZSBvbmUgcGFyYW1ldGVyIik7Ci0gICAgICAgIGF1dG8gcGFyYW1ldGVy
ID0gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oY29udGV4dCwgRGVjb25zdHJ1Y3RUb1BhcmFt
ZXRlcnMpOwotICAgICAgICBmYWlsSWZGYWxzZShwYXJhbWV0ZXIsICJzZXR0ZXIgZnVuY3Rpb25z
IG11c3QgaGF2ZSBvbmUgcGFyYW1ldGVyIik7Ci0gICAgICAgIGluZm8ucGFyYW1ldGVycyA9IGNv
bnRleHQuY3JlYXRlRm9ybWFsUGFyYW1ldGVyTGlzdChwYXJhbWV0ZXIpOwotICAgICAgICBmYWls
SWZUcnVlKG1hdGNoKENPTU1BKSwgInNldHRlciBmdW5jdGlvbnMgbXVzdCBoYXZlIG9uZSBwYXJh
bWV0ZXIiKTsKLSAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiRXhwZWN0ZWQgYSAn
KScgYWZ0ZXIgYSBwYXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsKLSAgICB9IGVsc2UgewotICAgICAg
ICBpZiAoIW1hdGNoKENMT1NFUEFSRU4pKSB7Ci0gICAgICAgICAgICBpbmZvLnBhcmFtZXRlcnMg
PSBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoY29udGV4dCk7Ci0gICAgICAgICAgICBmYWlsSWZGYWxz
ZShpbmZvLnBhcmFtZXRlcnMsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAiLCBz
dHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOworICAgICAgICAgICAgc2VtYW50aWNGYWlsdXJl
RHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7CisgICAg
ICAgICAgICBmYWlsRHVlVG9VbmV4cGVjdGVkVG9rZW4oKTsKKyAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAgICAgfQorICAgICAgICBwYXJhbWV0ZXJzU3RhcnQgPSBtX3Rva2VuLm1fbG9j
YXRpb24uc3RhcnRPZmZzZXQ7CisgICAgICAgIAorICAgICAgICBpZiAoIWNvbnN1bWUoT1BFTlBB
UkVOKSkgeworICAgICAgICAgICAgc2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0Zv
ckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7CisgICAgICAgICAgICBmYWlsV2l0aE1lc3Nh
Z2UoIkV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhICIsIHN0cmluZ0ZvckZ1bmN0aW9u
TW9kZShtb2RlKSwgIidzIHBhcmFtZXRlciBsaXN0Iik7CiAgICAgICAgIH0KLSAgICAgICAgY29u
c3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiRXhwZWN0ZWQgYSAnKScgb3IgYSAnLCcgYWZ0ZXIgYSBw
YXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsKLSAgICB9CiAKLSAgICBtYXRjaE9yRmFpbChPUEVOQlJB
Q0UsICJFeHBlY3RlZCBhbiBvcGVuaW5nICd7JyBhdCB0aGUgc3RhcnQgb2YgYSAiLCBzdHJpbmdG
b3JGdW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOworICAgICAgICBpZiAobW9kZSA9PSBHZXR0
ZXJNb2RlKQorICAgICAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiZ2V0dGVyIGZ1
bmN0aW9ucyBtdXN0IGhhdmUgbm8gcGFyYW1ldGVycyIpOworICAgICAgICBlbHNlIGlmIChtb2Rl
ID09IFNldHRlck1vZGUpIHsKKyAgICAgICAgICAgIGZhaWxJZlRydWUobWF0Y2goQ0xPU0VQQVJF
TiksICJzZXR0ZXIgZnVuY3Rpb25zIG11c3QgaGF2ZSBvbmUgcGFyYW1ldGVyIik7CisgICAgICAg
ICAgICBhdXRvIHBhcmFtZXRlciA9IHBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuKGNvbnRleHQs
IERlY29uc3RydWN0VG9QYXJhbWV0ZXJzKTsKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKHBhcmFt
ZXRlciwgInNldHRlciBmdW5jdGlvbnMgbXVzdCBoYXZlIG9uZSBwYXJhbWV0ZXIiKTsKKyAgICAg
ICAgICAgIGluZm8ucGFyYW1ldGVycyA9IGNvbnRleHQuY3JlYXRlRm9ybWFsUGFyYW1ldGVyTGlz
dChwYXJhbWV0ZXIpOworICAgICAgICAgICAgZmFpbElmVHJ1ZShtYXRjaChDT01NQSksICJzZXR0
ZXIgZnVuY3Rpb25zIG11c3QgaGF2ZSBvbmUgcGFyYW1ldGVyIik7CisgICAgICAgICAgICBjb25z
dW1lT3JGYWlsKENMT1NFUEFSRU4sICJFeHBlY3RlZCBhICcpJyBhZnRlciBhIHBhcmFtZXRlciBk
ZWNsYXJhdGlvbiIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaWYgKCFtYXRjaChD
TE9TRVBBUkVOKSkgeworICAgICAgICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9IHBhcnNlRm9y
bWFsUGFyYW1ldGVycyhjb250ZXh0KTsKKyAgICAgICAgICAgICAgICBmYWlsSWZGYWxzZShpbmZv
LnBhcmFtZXRlcnMsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAiLCBzdHJpbmdG
b3JGdW5jdGlvbk1vZGUobW9kZSkpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgY29uc3Vt
ZU9yRmFpbChDTE9TRVBBUkVOLCAiRXhwZWN0ZWQgYSAnKScgb3IgYSAnLCcgYWZ0ZXIgYSBwYXJh
bWV0ZXIgZGVjbGFyYXRpb24iKTsKKyAgICAgICAgfQogCi0gICAgLy8gQnl0ZWNvZGVHZW5lcmF0
b3IgZW1pdHMgY29kZSB0byB0aHJvdyBUeXBlRXJyb3Igd2hlbiBhIGNsYXNzIGNvbnN0cnVjdG9y
IGlzICJjYWxsImVkLgotICAgIC8vIFNldCBDb25zdHJ1Y3RvcktpbmQgdG8gTm9uZSBmb3Igbm9u
LWNvbnN0cnVjdG9yIG1ldGhvZHMgb2YgY2xhc3Nlcy4KLSAgICBib29sIGlzQ2xhc3NDb25zdHJ1
Y3RvciA9IG1vZGUgPT0gTWV0aG9kTW9kZSAmJiBpbmZvLm5hbWUgJiYgKmluZm8ubmFtZSA9PSBt
X3ZtLT5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvcjsKLSAgICBpZiAobV9kZWZhdWx0Q29uc3Ry
dWN0b3JLaW5kICE9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSkgewotICAgICAgICBvd25lckNsYXNz
S2luZCA9IG1fZGVmYXVsdENvbnN0cnVjdG9yS2luZDsKLSAgICAgICAgaXNDbGFzc0NvbnN0cnVj
dG9yID0gdHJ1ZTsKKyAgICAgICAgbWF0Y2hPckZhaWwoT1BFTkJSQUNFLCAiRXhwZWN0ZWQgYW4g
b3BlbmluZyAneycgYXQgdGhlIHN0YXJ0IG9mIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1v
ZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgLy8gQnl0ZWNvZGVHZW5lcmF0b3IgZW1pdHMgY29kZSB0
byB0aHJvdyBUeXBlRXJyb3Igd2hlbiBhIGNsYXNzIGNvbnN0cnVjdG9yIGlzICJjYWxsImVkLgor
ICAgICAgICAvLyBTZXQgQ29uc3RydWN0b3JLaW5kIHRvIE5vbmUgZm9yIG5vbi1jb25zdHJ1Y3Rv
ciBtZXRob2RzIG9mIGNsYXNzZXMuCisgICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IG1vZGUg
PT0gTWV0aG9kTW9kZSAmJiBpbmZvLm5hbWUgJiYgKmluZm8ubmFtZSA9PSBtX3ZtLT5wcm9wZXJ0
eU5hbWVzLT5jb25zdHJ1Y3RvcjsKKyAgICAgICAgaWYgKG1fZGVmYXVsdENvbnN0cnVjdG9yS2lu
ZCAhPSBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUpIHsKKyAgICAgICAgICAgIG93bmVyQ2xhc3NLaW5k
ID0gbV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kOworICAgICAgICAgICAgaXNDbGFzc0NvbnN0cnVj
dG9yID0gdHJ1ZTsKKyAgICAgICAgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCiAgICAgfQorICAgIAorICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNl
VHlwZSkgeworICAgICAgICBwYXJhbWV0ZXJzU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3Rh
cnRPZmZzZXQ7CisgICAgICAgIGlmICghbWF0Y2goSURFTlQpICYmICFtYXRjaChPUEVOUEFSRU4p
KSB7CisgICAgICAgICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVUb0tleXdvcmQoc3RyaW5nRm9yRnVu
Y3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUiKTsKKyAgICAgICAgICAgIGZhaWxXaXRoTWVzc2FnZSgi
RXhwZWN0ZWQgYW4gYXJyb3cgZnVuY3Rpb24gaW5wdXQgcGFyYW1ldGVyIik7CisgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICAgICAg
ICAgIGNvbnN1bWUoT1BFTlBBUkVOKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAg
ICBpZiAoIW1hdGNoKENMT1NFUEFSRU4pKSB7CisgICAgICAgICAgICAgICAgICAgIGluZm8ucGFy
YW1ldGVycyA9IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhjb250ZXh0KTsKKyAgICAgICAgICAgICAg
ICAgICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRl
cnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgY29uc3VtZU9yRmFpbChD
TE9TRVBBUkVOLCAiRXhwZWN0ZWQgYSAnKScgb3IgYSAnLCcgYWZ0ZXIgYSBwYXJhbWV0ZXIgZGVj
bGFyYXRpb24iKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgYXV0byBw
YXJhbWV0ZXIgPSBwYXJzZURlY29uc3RydWN0aW9uUGF0dGVybihjb250ZXh0LCBEZWNvbnN0cnVj
dFRvUGFyYW1ldGVycyk7CisgICAgICAgICAgICAgICAgZmFpbElmRmFsc2UocGFyYW1ldGVyLCAi
Q2Fubm90IHBhcnNlIHBhcmFtZXRlciBwYXR0ZXJuIik7CisgICAgICAgICAgICAgICAgaW5mby5w
YXJhbWV0ZXJzID0gY29udGV4dC5jcmVhdGVGb3JtYWxQYXJhbWV0ZXJMaXN0KHBhcmFtZXRlcik7
CisgICAgICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBh
cnNlIHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgbWF0Y2hPckZhaWwo
QVJST1dGVU5DVElPTiwgIkV4cGVjdGVkIGEgJz0+JyBhZnRlciBhcnJvdyBmdW5jdGlvbiBwYXJh
bWV0ZXIgZGVjbGFyYXRpb24iKTsKKyAgICAgICAgaXNDbGFzc0NvbnN0cnVjdG9yID0gZmFsc2U7
CisgICAgICAgIAorICAgICAgICBpbmZvLmFycm93RnVuY3Rpb25PZmZzZXQgPSBtX3Rva2VuLm1f
ZGF0YS5vZmZzZXQ7CisgICAgfQorI2VuZGlmCisgICAgCiAgICAgQ29uc3RydWN0b3JLaW5kIGNv
bnN0cnVjdG9yS2luZCA9IGlzQ2xhc3NDb25zdHJ1Y3RvciA/IG93bmVyQ2xhc3NLaW5kIDogQ29u
c3RydWN0b3JLaW5kOjpOb25lOwogCiAgICAgaW5mby5vcGVuQnJhY2VPZmZzZXQgPSBtX3Rva2Vu
Lm1fZGF0YS5vZmZzZXQ7CkBAIC0xMzg0LDggKzE1MTcsMTcgQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVl
QnVpbGQKICAgICAgICAgZmFpbElmRmFsc2UocG9wU2NvcGUoZnVuY3Rpb25TY29wZSwgVHJlZUJ1
aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQYXJzZXIgZXJyb3IiKTsKICAgICAgICAg
CiAgICAgICAgIGluZm8uY2xvc2VCcmFjZU9mZnNldCA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VP
ZmZzZXQ7Ci0KKyAgICAgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICAgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAg
ICAgICAgICBpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlwZSA9IGNhY2hlZEluZm8tPmlzQm9keUFy
cm93RnVuY3Rpb25CbG9jayA/IEFycm93RnVuY3Rpb25Cb2R5QmxvY2sgOiBBcnJvd0Z1bmN0aW9u
Qm9keUV4cHJlc3Npb247CisgICAgICAgICAgICBtX3Rva2VuID0gaW5mby5hcnJvd0Z1bmN0aW9u
Qm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jayA/IGNhY2hlZEluZm8tPmNsb3NlQnJh
Y2VUb2tlbigpIDogY2FjaGVkSW5mby0+ZW5kQXJyb3dGdW5jdGlvblRva2VuKCk7CisgICAgICAg
IH0gZWxzZQorICAgICAgICAgICAgbV90b2tlbiA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VUb2tl
bigpOworI2Vsc2UgICAKICAgICAgICAgbV90b2tlbiA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VU
b2tlbigpOworI2VuZGlmCisgICAgICAgIAogICAgICAgICBpZiAoZW5kQ29sdW1uSXNPblN0YXJ0
TGluZSkKICAgICAgICAgICAgIG1fdG9rZW4ubV9sb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQgPSBj
dXJyZW50TGluZVN0YXJ0T2Zmc2V0OwogCkBAIC0xMzk0LDEzICsxNTM2LDQ4IEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlv
bkluZm8oVHJlZUJ1aWxkCiAKICAgICAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQoaW5mby5ib2R5
LCBtX2xleGVyLT5jdXJyZW50T2Zmc2V0KCkpOwogICAgICAgICAKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rp
b25QYXJzZVR5cGUpIHsKKyAgICAgICAgICAgIGlmIChpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlw
ZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrKQorICAgICAgICAgICAgICAgIG5leHQoKTsKKyAg
ICAgICAgfSBlbHNlCisgICAgICAgICAgICBuZXh0KCk7CisjZWxzZQogICAgICAgICBuZXh0KCk7
CisjZW5kaWYKICAgICAgICAgaW5mby5ib2R5RW5kTGluZSA9IG1fbGFzdFRva2VuRW5kUG9zaXRp
b24ubGluZTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQorICAgIAorICAgIAogICAgIG1f
bGFzdEZ1bmN0aW9uTmFtZSA9IGxhc3RGdW5jdGlvbk5hbWU7CiAgICAgUGFyc2VyU3RhdGUgb2xk
U3RhdGUgPSBzYXZlU3RhdGUoKTsKKyAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgewor
ICAgICAgICBTYXZlUG9pbnQgc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgICAg
IG5leHQoKTsKKyAgICAgICAgLy8gQ2hlY2sgaWYgYXJyb3cgYm9keSBzdGFydCB3aXRoIHsuIElm
IGl0IHRydWUgaXQgbWVhbiB0aGF0IGFycm93IGZ1bmN0aW9uIGlzIEZhdCBhcnJvdyBmdW5jdGlv
bgorICAgICAgICAvLyBhbmQgd2UgbmVlZCB1c2UgY29tbW9uIGFwcHJvYWNoIHRvIHBhcnNlIGZ1
bmN0aW9uIGJvZHkKKyAgICAgICAgaW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUgPSBtYXRjaChP
UEVOQlJBQ0UpID8gQXJyb3dGdW5jdGlvbkJvZHlCbG9jayA6IEFycm93RnVuY3Rpb25Cb2R5RXhw
cmVzc2lvbjsKKyAgICAKKyAgICAgICAgaWYgKGluZm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBlID09
IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHsKKyAgICAgICAgICAgIGluZm8ub3BlbkJyYWNlT2Zm
c2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgICAgICAgICAgaW5mby5ib2R5U3RhcnRM
aW5lID0gdG9rZW5MaW5lKCk7CisgICAgICAgICAgICBpbmZvLmJvZHlTdGFydENvbHVtbiA9IG1f
dG9rZW4ubV9kYXRhLm9mZnNldCAtIG1fdG9rZW4ubV9kYXRhLmxpbmVTdGFydE9mZnNldDsKKyAg
ICAgICAgCisgICAgICAgICAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0
LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFy
dCwgY29uc3RydWN0b3JLaW5kKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHJlc3Rv
cmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKKyAgICAgICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVu
Y3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFy
dCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQsIEFycm93RnVuY3Rpb25QYXJzZVR5
cGUpOworICAgICAgICB9CisgICAgfSBlbHNlCisgICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVu
Y3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFy
dCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQpOworI2Vsc2UKICAgICBpbmZvLmJv
ZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVu
Y3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kKTsKKyNlbmRp
ZgorICAgIAorICAgIAogICAgIHJlc3RvcmVTdGF0ZShvbGRTdGF0ZSk7CiAgICAgZmFpbElmRmFs
c2UoaW5mby5ib2R5LCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIHRoaXMgIiwgc3RyaW5nRm9y
RnVuY3Rpb25Nb2RlKG1vZGUpKTsKICAgICBjb250ZXh0LnNldEVuZE9mZnNldChpbmZvLmJvZHks
IG1fbGV4ZXItPmN1cnJlbnRPZmZzZXQoKSk7CkBAIC0xNDMxLDE4ICsxNjA4LDM4IEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5j
dGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmUgPSBj
bG9zZUJyYWNlTGluZTsKICAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJyYWNlT2Zmc2V0ID0gaW5m
by5jbG9zZUJyYWNlT2Zmc2V0OwogICAgICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VMaW5lU3Rh
cnRPZmZzZXQgPSBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0OworI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlv
blBhcnNlVHlwZSkgeworICAgICAgICAgICAgcGFyYW1ldGVycy5pc0JvZHlBcnJvd0Z1bmN0aW9u
QmxvY2sgPSBpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUJs
b2NrOworICAgICAgICAgICAgcGFyYW1ldGVycy50b2tlblR5cGUgPSBtX3Rva2VuLm1fdHlwZTsK
KyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIGZ1bmN0aW9uU2NvcGUtPmZpbGxQYXJhbWV0ZXJz
Rm9yU291cmNlUHJvdmlkZXJDYWNoZShwYXJhbWV0ZXJzKTsKICAgICAgICAgbmV3SW5mbyA9IFNv
dXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjpjcmVhdGUocGFyYW1ldGVycyk7CiAKICAgICB9CiAgICAg
CiAgICAgZmFpbElmRmFsc2UocG9wU2NvcGUoZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6Ok5l
ZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQYXJzZXIgZXJyb3IiKTsKKyAgICAKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5j
dGlvblBhcnNlVHlwZSkgeworICAgICAgICBpZiAoaW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUg
PT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jaykgeworICAgICAgICAgICAgbWF0Y2hPckZhaWwoQ0xP
U0VCUkFDRSwgIkV4cGVjdGVkIGEgY2xvc2luZyAnfScgYWZ0ZXIgYSAiLCBzdHJpbmdGb3JGdW5j
dGlvbk1vZGUobW9kZSksICIgYm9keSIpOworICAgICAgICAgICAgbmV4dCgpOworICAgICAgICB9
IGVsc2UKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKGlzRW5kT2ZBcnJvd0Z1bmN0aW9uKCksICJF
eHBlY3RlZCB0aGUgY2xvc2luZyAnOycgJywnICddJyAnKScgJ30nIGFmdGVyIGFycm93IGZ1bmN0
aW9uIik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgbWF0Y2hPckZhaWwoQ0xPU0VCUkFDRSwgIkV4
cGVjdGVkIGEgY2xvc2luZyAnfScgYWZ0ZXIgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9k
ZSksICIgYm9keSIpOworICAgICAgICBuZXh0KCk7CisgICAgfQorI2Vsc2UKICAgICBtYXRjaE9y
RmFpbChDTE9TRUJSQUNFLCAiRXhwZWN0ZWQgYSBjbG9zaW5nICd9JyBhZnRlciBhICIsIHN0cmlu
Z0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7CisgICAgbmV4dCgpOworI2VuZGlmCiAg
ICAgCiAgICAgaWYgKG5ld0luZm8pCiAgICAgICAgIG1fZnVuY3Rpb25DYWNoZS0+YWRkKGluZm8u
b3BlbkJyYWNlT2Zmc2V0LCBXVEY6Om1vdmUobmV3SW5mbykpOwogICAgIAotICAgIG5leHQoKTsK
ICAgICBpbmZvLmJvZHlFbmRMaW5lID0gbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lOwogICAg
IHJldHVybiB0cnVlOwogfQpAQCAtMTc2Nyw2ICsxOTY0LDE4IEBAIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJZlN0YXRl
bWVudChUCiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlSWZTdGF0ZW1lbnQoaWZMb2NhdGlvbiwg
Y29uZGl0aW9uLCB0cnVlQmxvY2ssIHN0YXRlbWVudFN0YWNrLmxhc3QoKSwgc3RhcnQsIGVuZCk7
CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5
cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJl
c3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oVHJl
ZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAgZmFpbElmU3RhY2tPdmVyZmxvdygpOworICAgIFRy
ZWVFeHByZXNzaW9uIG5vZGUgPSBwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKGNvbnRleHQpOwor
ICAgIGZhaWxJZkZhbHNlKG5vZGUsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lvbiIpOworICAgIGNv
bnRleHQuc2V0RW5kT2Zmc2V0KG5vZGUsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ub2Zmc2V0KTsK
KyAgICByZXR1cm4gbm9kZTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJU
eXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VFeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewpAQCAt
MTgxNCw2ICsyMDIzLDQxIEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBUcmVlQnVpbGRlcj4gVHJlZUV4
cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXNzaWdubWVuCiAgICAgICAgIH0KICAg
ICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlUG9pbnQpOwogICAgIH0KKworI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9u
UG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICBib29sIGFycm93RnVuY3Rpb25FbXB0eUxp
c3QgPSBmYWxzZTsKKyAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICBuZXh0KCk7
CisgICAgICAgIGlmIChtYXRjaChDTE9TRVBBUkVOKSkgeworICAgICAgICAgICAgbmV4dCgpOwor
CisgICAgICAgICAgICBpZiAobWF0Y2goQVJST1dGVU5DVElPTikpCisgICAgICAgICAgICAgICAg
YXJyb3dGdW5jdGlvbkVtcHR5TGlzdCA9IHRydWU7CisgICAgICAgIH0KKworICAgICAgICBpZiAo
IWFycm93RnVuY3Rpb25FbXB0eUxpc3QpCisgICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNh
dmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgIH0KKworICAgIFRyZWVFeHByZXNzaW9uIGxoczsK
KyAgICBpZiAoIWFycm93RnVuY3Rpb25FbXB0eUxpc3QpIHsKKyAgICAgICAgbGhzID0gcGFyc2VD
b25kaXRpb25hbEV4cHJlc3Npb24oY29udGV4dCk7CisgICAgICAgIGZhaWxJZkZhbHNlKGxocywg
IkNhbhlub3QgcGFyc2UgZXhwcmVzc2lvbiIpOworICAgICAgICBpZiAoaW5pdGlhbE5vbkxIU0Nv
dW50ICE9IG1fbm9uTEhTQ291bnQpIHsKKyAgICAgICAgICAgIGlmIChtX3Rva2VuLm1fdHlwZSA+
PSBFUVVBTCAmJiBtX3Rva2VuLm1fdHlwZSA8PSBPUkVRVUFMKQorICAgICAgICAgICAgICAgIHNl
bWFudGljRmFpbCgiTGVmdCBoYW5kIHNpZGUgb2Ygb3BlcmF0b3IgJyIsIGdldFRva2VuKCksICIn
IG11c3QgYmUgYSByZWZlcmVuY2UiKTsKKworICAgICAgICAgICAgcmV0dXJuIGxoczsKKyAgICAg
ICAgfQorICAgIH0KKworICAgIGlmIChtYXRjaChBUlJPV0ZVTkNUSU9OKSkgeworICAgICAgICBy
ZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICBsaHMgPSBw
YXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKGNvbnRleHQpOworICAgICAgICByZXR1cm4gbGhzOwor
ICAgIH0KKyNlbHNlCiAgICAgVHJlZUV4cHJlc3Npb24gbGhzID0gcGFyc2VDb25kaXRpb25hbEV4
cHJlc3Npb24oY29udGV4dCk7CiAgICAgZmFpbElmRmFsc2UobGhzLCAiQ2Fubm90IHBhcnNlIGV4
cHJlc3Npb24iKTsKICAgICBpZiAoaW5pdGlhbE5vbkxIU0NvdW50ICE9IG1fbm9uTEhTQ291bnQp
IHsKQEAgLTE4MjIsNyArMjA2Niw4IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBUcmVlQnVpbGRlcj4g
VHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXNzaWdubWVuCiAKICAgICAg
ICAgcmV0dXJuIGxoczsKICAgICB9Ci0gICAgCisjZW5kaWYKKwogICAgIGludCBhc3NpZ25tZW50
U3RhY2sgPSAwOwogICAgIE9wZXJhdG9yIG9wOwogICAgIGJvb2wgaGFkQXNzaWdubWVudCA9IGZh
bHNlOwpAQCAtMjI5Nyw2ICsyNTQyLDIzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAg
ICAgIHJldHVybiBjb250ZXh0LnRoaXNFeHByKGxvY2F0aW9uLCBtX3RoaXNURFpNb2RlKTsKICAg
ICB9CiAgICAgY2FzZSBJREVOVDogeworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCisgICAgICAgIFNhdmVQb2ludCBzYXZlQXJyb3dGdW5jdGlvblBvaW50ID0gY3JlYXRlU2F2
ZVBvaW50KCk7CisgICAgICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0
aW9uKCk7CisgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEu
aWRlbnQ7CisgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkp
OworICAgICAgICBuZXh0KCk7CisKKyAgICAgICAgaWYgKCFtYXRjaChBUlJPV0ZVTkNUSU9OKSkg
eworICAgICAgICAgICAgY3VycmVudFNjb3BlKCktPnVzZVZhcmlhYmxlKGlkZW50LCBtX3ZtLT5w
cm9wZXJ0eU5hbWVzLT5ldmFsID09ICppZGVudCk7CisgICAgICAgICAgICBtX2xhc3RJZGVudGlm
aWVyID0gaWRlbnQ7CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVSZXNvbHZlKGxv
Y2F0aW9uLCBpZGVudCwgc3RhcnQpOworICAgICAgICB9CisKKyAgICAgICAgcmVzdG9yZVNhdmVQ
b2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAgVHJlZUV4cHJlc3Npb24gbGhz
ID0gcGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihjb250ZXh0KTsKKyAgICAgICAgcmV0dXJuIGxo
czsKKyNlbHNlCiAgICAgICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0
aW9uKCk7CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEu
aWRlbnQ7CiAgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkp
OwpAQCAtMjMwNCw2ICsyNTY2LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
RXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAg
Y3VycmVudFNjb3BlKCktPnVzZVZhcmlhYmxlKGlkZW50LCBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5l
dmFsID09ICppZGVudCk7CiAgICAgICAgIG1fbGFzdElkZW50aWZpZXIgPSBpZGVudDsKICAgICAg
ICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUmVzb2x2ZShsb2NhdGlvbiwgaWRlbnQsIHN0YXJ0KTsK
KyNlbmRpZgogICAgIH0KICAgICBjYXNlIFNUUklORzogewogICAgICAgICBjb25zdCBJZGVudGlm
aWVyKiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwpAQCAtMjQ5MSw2ICsyNzU0LDMyIEBA
IGVuZE1lbWJlckV4cHJlc3Npb246CiAgICAgcmV0dXJuIGJhc2U7CiB9CiAKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4K
K3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7
CisgICAgVHJlZUV4cHJlc3Npb24gYmFzZSA9IDA7CisgICAgSlNUZXh0UG9zaXRpb24gZXhwcmVz
c2lvblN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgaW50IG5ld0NvdW50ID0gMDsK
KyAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb247CisKKyAgICBpZiAobWF0Y2goSURFTlQpIHx8
IG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgdW5zaWduZWQgZnVuY3Rpb25LZXl3b3JkU3Rh
cnQgPSB0b2tlblN0YXJ0KCk7CisgICAgICAgIGxvY2F0aW9uID0gdG9rZW5Mb2NhdGlvbigpOwor
ICAgICAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87CisgICAgICAgIGlu
Zm8ubmFtZSA9ICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllcjsKKyAgICAgICAg
ZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJl
bWVudHMsIEZ1bmN0aW9uTW9kZSwgdHJ1ZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBmdW5jdGlv
bktleXdvcmRTdGFydCwgaW5mbywgQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBh
cnNlIGFycm93IGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsKKyAgICAgICAgYmFzZSA9IGNvbnRleHQu
Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIobG9jYXRpb24sIGluZm8pOworICAgIH0gZWxzZQorICAg
ICAgICBiYXNlID0gcGFyc2VQcmltYXJ5RXhwcmVzc2lvbihjb250ZXh0KTsKKworICAgIGZhaWxJ
ZkZhbHNlKGJhc2UsICJDYW5ub3QgcGFyc2UgYmFzZSBleHByZXNzaW9uIik7CisgICAgd2hpbGUg
KG5ld0NvdW50LS0pCisgICAgICAgIGJhc2UgPSBjb250ZXh0LmNyZWF0ZU5ld0V4cHIobG9jYXRp
b24sIGJhc2UsIGV4cHJlc3Npb25TdGFydCwgbGFzdFRva2VuRW5kUG9zaXRpb24oKSk7CisgICAg
cmV0dXJuIGJhc2U7Cit9CisjZW5kaWYKKwogc3RhdGljIGNvbnN0IGNoYXIqIG9wZXJhdG9yU3Ry
aW5nKGJvb2wgcHJlZml4LCB1bnNpZ25lZCB0b2spCiB7CiAgICAgc3dpdGNoICh0b2spIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCmluZGV4IDBmMjcyOGY4NjIxZjgwMTBjNDEw
YmY3OTg3NjE5YmYyM2U1MGFmOGIuLjM0Y2RhOTcyY2MzYjhlMDlkNjIzZjM5ZDlmNWFmYzJlMDFh
MzdmODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaApAQCAtODAsNiArODAs
OSBAQCBjbGFzcyBTb3VyY2VDb2RlOwogQ09NUElMRV9BU1NFUlQoTGFzdFVudGFnZ2VkVG9rZW4g
PCA2NCwgTGVzc1RoYW42NFVudGFnZ2VkVG9rZW5zKTsKIAogZW51bSBTb3VyY2VFbGVtZW50c01v
ZGUgeyBDaGVja0ZvclN0cmljdE1vZGUsIERvbnRDaGVja0ZvclN0cmljdE1vZGUgfTsKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorZW51bSBGdW5jdGlvblBhcnNlVHlwZSB7
IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUsIEFycm93RnVuY3Rpb25QYXJzZVR5cGUgfTsKKyNl
bmRpZgogZW51bSBGdW5jdGlvblJlcXVpcmVtZW50cyB7IEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMs
IEZ1bmN0aW9uTmVlZHNOYW1lIH07CiBlbnVtIEZ1bmN0aW9uUGFyc2VNb2RlIHsKICAgICBGdW5j
dGlvbk1vZGUsCkBAIC02MTgsNiArNjIxLDEzIEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBt
X3Rva2VuLm1fdHlwZSA9PSBJREVOVCAmJiAqbV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+
cHJvcGVydHlOYW1lcy0+b2Y7CiAgICAgfQogICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgQUxXQVlTX0lOTElORSBib29sIGlzRW5kT2ZBcnJvd0Z1bmN0aW9u
KCkKKyAgICB7CisgICAgICAgIHJldHVybiBtYXRjaChTRU1JQ09MT04pIHx8IG1hdGNoKENPTU1B
KSB8fCBtYXRjaChDTE9TRVBBUkVOKSB8fCBtYXRjaChDTE9TRUJSQUNFKSB8fCBtYXRjaChDTE9T
RUJSQUNLRVQpOworICAgIH0KKyNlbmRpZgorICAgIAogICAgIEFMV0FZU19JTkxJTkUgdW5zaWdu
ZWQgdG9rZW5TdGFydCgpCiAgICAgewogICAgICAgICByZXR1cm4gbV90b2tlbi5tX2xvY2F0aW9u
LnN0YXJ0T2Zmc2V0OwpAQCAtNzIxLDkgKzczMSwxNCBAQCBwcml2YXRlOgogICAgICAgICB9CiAg
ICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIAorCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
b3VyY2VFbGVtZW50cyBwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxl
bWVudHNNb2RlLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSA9IFN0YW5kYXJk
RnVuY3Rpb25QYXJzZVR5cGUpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZVN0YXRlbWVudCBwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYsIGNvbnN0IElkZW50aWZpZXIq
JiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMCwgRnVuY3Rp
b25QYXJzZVR5cGUgZnVuY3Rpb25QYXJzZVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBl
KTsKKyNlbHNlCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxl
bWVudHMgcGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYsIFNvdXJjZUVsZW1lbnRzTW9k
ZSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNl
U3RhdGVtZW50KFRyZWVCdWlsZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5z
aWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwKTsKKyNlbmRpZgogI2lmIEVOQUJMRShF
UzZfQ0xBU1NfU1lOVEFYKQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0
YXRlbWVudCBwYXJzZUNsYXNzRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImKTsKICNlbmRpZgpAQCAt
NzYyLDE3ICs3NzcsMzIgQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVQcm9wZXJ0eSBwYXJzZVByb3BlcnR5KFRyZWVCdWlsZGVyJiwgYm9vbCBzdHJpY3Qp
OwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VQ
cm9wZXJ0eU1ldGhvZChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciogbWV0
aG9kTmFtZSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkg
cGFyc2VHZXR0ZXJTZXR0ZXIoVHJlZUJ1aWxkZXImLCBib29sIHN0cmljdCwgUHJvcGVydHlOb2Rl
OjpUeXBlLCB1bnNpZ25lZCBnZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBDb25zdHJ1Y3Rvcktp
bmQgPSBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZyA9IFN1cGVyQmluZGluZzo6
Tm90TmVlZGVkKTsKLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJ
TkUgVHJlZUZ1bmN0aW9uQm9keSBwYXJzZUZ1bmN0aW9uQm9keShUcmVlQnVpbGRlciYsIGludCBm
dW5jdGlvbktleXdvcmRTdGFydCwgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCBpbnQgcGFyYW1ldGVy
c1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRy
ZWVGdW5jdGlvbkJvZHkgcGFyc2VGdW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImLCBpbnQgZnVuY3Rp
b25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwgaW50IHBhcmFtZXRlcnNTdGFy
dCwgQ29uc3RydWN0b3JLaW5kLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSA9
IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOworI2Vsc2UKKyAgICAgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VGdW5j
dGlvbkJvZHkoVHJlZUJ1aWxkZXImLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5j
dGlvbk5hbWVTdGFydCwgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kKTsKKyNl
bmRpZgogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVl
Rm9ybWFsUGFyYW1ldGVyTGlzdCBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoVHJlZUJ1aWxkZXImKTsK
ICAgICBlbnVtIFZhckRlY2xhcmF0aW9uTGlzdENvbnRleHQgeyBGb3JMb29wQ29udGV4dCwgVmFy
RGVjbGFyYXRpb25Db250ZXh0IH07CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlRXhwcmVzc2lvbiBwYXJzZVZhckRlY2xhcmF0aW9uTGlzdChUcmVlQnVpbGRlciYsIGludCYg
ZGVjbGFyYXRpb25zLCBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuJiBsYXN0UGF0dGVybiwgVHJl
ZUV4cHJlc3Npb24mIGxhc3RJbml0aWFsaXplciwgSlNUZXh0UG9zaXRpb24mIGlkZW50U3RhcnQs
IEpTVGV4dFBvc2l0aW9uJiBpbml0U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0RW5kLCBWYXJE
ZWNsYXJhdGlvbkxpc3RDb250ZXh0KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IE5FVkVSX0lOTElORSBUcmVlQ29uc3REZWNsTGlzdCBwYXJzZUNvbnN0RGVjbGFyYXRpb25MaXN0
KFRyZWVCdWlsZGVyJik7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VBcnJv
d0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoVHJl
ZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNz
aW9uIHBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoVHJlZUJ1aWxkZXImKTsKKyNlbmRpZgorCiAg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3Ry
dWN0aW9uUGF0dGVybiBjcmVhdGVCaW5kaW5nUGF0dGVybihUcmVlQnVpbGRlciYsIERlY29uc3Ry
dWN0aW9uS2luZCwgY29uc3QgSWRlbnRpZmllciYsIGludCBkZXB0aCwgSlNUb2tlbik7CiAgICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0
aW9uUGF0dGVybiBwYXJzZURlY29uc3RydWN0aW9uUGF0dGVybihUcmVlQnVpbGRlciYsIERlY29u
c3RydWN0aW9uS2luZCwgaW50IGRlcHRoID0gMCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiB0cnlQYXJzZURl
Y29uc3RydWN0aW9uUGF0dGVybkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKIAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBORVZFUl9JTkxJTkUgYm9vbCBwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYsIEZ1
bmN0aW9uUmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSwgYm9vbCBuYW1lSXNJbkNvbnRh
aW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBh
cnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlv
blBhcnNlVHlwZSA9IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOworI2Vsc2UKICAgICB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBib29sIHBhcnNlRnVuY3Rpb25J
bmZvKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2Rl
LCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQsIGludCBmdW5j
dGlvbktleXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYpOworI2Vu
ZGlmCisgICAgCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZUNsYXNzRXhwcmVzc2lvbiBwYXJzZUNs
YXNzKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIFBhcnNlckNsYXNzSW5mbzxU
cmVlQnVpbGRlcj4mKTsKICNlbmRpZgpAQCAtNzg5LDYgKzgxOSwxNCBAQCBwcml2YXRlOgogICAg
ICAgICByZXR1cm4gYWxsb3dBdXRvbWF0aWNTZW1pY29sb24oKTsKICAgICB9CiAgICAgCisKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHZvaWQgc2V0RW5kT2ZTdGF0
ZW1lbnQoKQorICAgIHsKKyAgICAgICAgbV9sZXhlci0+c2V0VG9rZW5Qb3NpdGlvbigmbV90b2tl
bik7CisgICAgfQorI2VuZGlmCisKICAgICBib29sIGNhblJlY3Vyc2UoKQogICAgIHsKICAgICAg
ICAgcmV0dXJuIG1fdm0tPmlzU2FmZVRvUmVjdXJzZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKaW5kZXggNmI3MzYyODJlMmQyYTgx
YmM2M2RjMmYzYzBlNWFlOGM4NThjZDFmOC4uZDc1MmE2MTBhOWI2ZWIwYzZhMTE0OTU0NjVjYTdk
YmQ3NjhjZDUyMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJz
ZXJGdW5jdGlvbkluZm8uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNl
ckZ1bmN0aW9uSW5mby5oCkBAIC0yOCw2ICsyOCwxMCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitlbnVtIEFycm93RnVuY3Rpb25C
b2R5VHlwZSB7IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiwgQXJyb3dGdW5jdGlvbkJvZHlC
bG9ja307CisjZW5kaWYKKwogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPgogc3RydWN0IFBh
cnNlckZ1bmN0aW9uSW5mbyB7CiAgICAgY29uc3QgSWRlbnRpZmllciogbmFtZSA9IDA7CkBAIC0z
OCw2ICs0MiwxMSBAQCBzdHJ1Y3QgUGFyc2VyRnVuY3Rpb25JbmZvIHsKICAgICBpbnQgYm9keVN0
YXJ0TGluZSA9IDA7CiAgICAgaW50IGJvZHlFbmRMaW5lID0gMDsKICAgICB1bnNpZ25lZCBib2R5
U3RhcnRDb2x1bW4gPSAwOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgdW5zaWduZWQgYXJyb3dGdW5jdGlvbk9mZnNldCA9IDA7CisgICAgYm9vbCBpc0Fycm93RnVu
Y3Rpb24gPSBmYWxzZTsKKyAgICBBcnJvd0Z1bmN0aW9uQm9keVR5cGUgYXJyb3dGdW5jdGlvbkJv
ZHlUeXBlID0gQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOworI2VuZGlmCiB9OwogCiAjaWYg
RU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1BhcnNlclRva2Vucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXJUb2tlbnMuaAppbmRleCA4MzI5ZjgyYTliMmZmOTE1ZDFmMjQxYzFmOGJmZmFkNDI0N2E1
ZjBiLi5jOGIxNjZlMGVhZDdkMmRhNzE5ZTc2YzRhMmYwOWFmZjFkNzRkN2FjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKQEAgLTc1LDYgKzc1LDkgQEAg
ZW51bSBKU1Rva2VuVHlwZSB7CiAgICAgRklOQUxMWSwKICAgICBERUJVR0dFUiwKICAgICBFTFNF
LAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgQVJST1dGVU5DVElP
TiwKKyNlbmRpZgogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogICAgIENMQVNTVE9LRU4s
CiAgICAgRVhURU5EUywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
U291cmNlQ29kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmgK
aW5kZXggNzNkMjNkYjgyYWYyNWVhNDZjMGY4OTc4NWNlNDI0YmI2MGViNjFhNy4uOTI4ZTcxMmE5
MGUzNDg5ODhiYzM1NTQ4OTg3NWIwOTA3NzY3NTUyMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9Tb3VyY2VDb2RlLmgKQEAgLTEwNSw2ICsxMDUsOSBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICAgICAgCiAgICAgICAgIFNvdXJjZUNvZGUgc3ViRXhwcmVzc2lvbih1bnNpZ25lZCBvcGVu
QnJhY2UsIHVuc2lnbmVkIGNsb3NlQnJhY2UsIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVt
bik7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBTb3Vy
Y2VDb2RlIHN1YkFycm93RXhwcmVzc2lvbih1bnNpZ25lZCBzdGFydEFycm93RnVuY3Rpb24sIHVu
c2lnbmVkIGVuZEFycm93RnVuY3Rpb24sIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbik7
CisjZW5kaWYKICAgICBwcml2YXRlOgogICAgICAgICBSZWZQdHI8U291cmNlUHJvdmlkZXI+IG1f
cHJvdmlkZXI7CiAgICAgICAgIGludCBtX3N0YXJ0Q2hhcjsKQEAgLTExOCw2ICsxMjEsMTcgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBTb3VyY2VDb2RlKFN0cmluZ1NvdXJjZVBy
b3ZpZGVyOjpjcmVhdGUoc291cmNlLCB1cmwsIHN0YXJ0UG9zaXRpb24pLCBzdGFydFBvc2l0aW9u
Lm1fbGluZS5vbmVCYXNlZEludCgpLCBzdGFydFBvc2l0aW9uLm1fY29sdW1uLm9uZUJhc2VkSW50
KCkpOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAg
aW5saW5lIFNvdXJjZUNvZGUgU291cmNlQ29kZTo6c3ViQXJyb3dFeHByZXNzaW9uKHVuc2lnbmVk
IHN0YXJ0QXJyb3dGdW5jdGlvbiwgdW5zaWduZWQgZW5kQXJyb3dGdW5jdGlvbiwgaW50IGZpcnN0
TGluZSwgaW50IHN0YXJ0Q29sdW1uKQorICAgIHsKKyAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCkt
PnNvdXJjZSgpW3N0YXJ0QXJyb3dGdW5jdGlvbl0gPT0gJz0nICYmIHByb3ZpZGVyKCktPnNvdXJj
ZSgpW3N0YXJ0QXJyb3dGdW5jdGlvbiArIDFdID09ICc+Jyk7CisgICAgICAgIC8vIEZpeG1lOiBV
c2UgYmV0dGVyIGFwcHJvYWNoIHRvIGNoZWNrIHN5bWJvbAorICAgICAgICBBU1NFUlQocHJvdmlk
ZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICcsJyB8fCBwcm92aWRlcigp
LT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJzsnIHx8IHByb3ZpZGVyKCktPnNv
dXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnKScgfHwgcHJvdmlkZXIoKS0+c291cmNl
KClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICddJyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtl
bmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJ30nKTsKKyAgICAgICAgc3RhcnRDb2x1bW4gKz0gMTsg
Ly8gQ29udmVydCB0byBiYXNlIDEuCisgICAgICAgIHJldHVybiBTb3VyY2VDb2RlKHByb3ZpZGVy
KCksIHN0YXJ0QXJyb3dGdW5jdGlvbiwgZW5kQXJyb3dGdW5jdGlvbiAtIDEsIGZpcnN0TGluZSwg
c3RhcnRDb2x1bW4pOworICAgIH0KKyNlbmRpZgorCiAgICAgaW5saW5lIFNvdXJjZUNvZGUgU291
cmNlQ29kZTo6c3ViRXhwcmVzc2lvbih1bnNpZ25lZCBvcGVuQnJhY2UsIHVuc2lnbmVkIGNsb3Nl
QnJhY2UsIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbikKICAgICB7CiAgICAgICAgIEFT
U0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtvcGVuQnJhY2VdID09ICd7Jyk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgK
aW5kZXggNjM1Mzc5ZTNmNDQ1NjY4YzUyYjg3MmY3NjE2ZGNiNTkyMWE4Mjk0NC4uODM0NjQ4NTIx
OWQwYWNmNmIzMjY5NzJkYTI3OTcyMWQzNjU1ZGIwMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaApAQCAtNDAsNiAr
NDAsMTAgQEAgc3RydWN0IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJhbWV0ZXJz
IHsKICAgICBib29sIG5lZWRzRnVsbEFjdGl2YXRpb247CiAgICAgYm9vbCB1c2VzRXZhbDsKICAg
ICBib29sIHN0cmljdE1vZGU7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICBib29sIGlzQm9keUFycm93RnVuY3Rpb25CbG9jazsKKyAgICBKU1Rva2VuVHlwZSB0b2tl
blR5cGU7CisjZW5kaWYKICAgICBWZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiB1c2VkVmFyaWFi
bGVzOwogICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+IHdyaXR0ZW5WYXJpYWJsZXM7CiB9
OwpAQCAtNjksNiArNzMsMjEgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gdG9rZW47CiAgICAg
fQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBKU1Rva2VuIGVu
ZEFycm93RnVuY3Rpb25Ub2tlbigpIGNvbnN0CisgICAgeworICAgICAgICBKU1Rva2VuIHRva2Vu
OworICAgICAgICB0b2tlbi5tX3R5cGUgPSB0b2tlblR5cGU7CisgICAgICAgIHRva2VuLm1fZGF0
YS5vZmZzZXQgPSBjbG9zZUJyYWNlT2Zmc2V0OworICAgICAgICB0b2tlbi5tX2xvY2F0aW9uLnN0
YXJ0T2Zmc2V0ID0gY2xvc2VCcmFjZU9mZnNldDsKKyAgICAgICAgdG9rZW4ubV9sb2NhdGlvbi5l
bmRPZmZzZXQgPSBjbG9zZUJyYWNlT2Zmc2V0ICsgMTsKKyAgICAgICAgdG9rZW4ubV9sb2NhdGlv
bi5saW5lID0gY2xvc2VCcmFjZUxpbmU7CisgICAgICAgIHRva2VuLm1fbG9jYXRpb24ubGluZVN0
YXJ0T2Zmc2V0ID0gY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldDsKKworICAgICAgICByZXR1cm4g
dG9rZW47CisgICAgfQorI2VuZGlmCisKICAgICB1bnNpZ25lZCBmdW5jdGlvbk5hbWVTdGFydCA6
IDMxOwogICAgIGJvb2wgbmVlZHNGdWxsQWN0aXZhdGlvbiA6IDE7CiAgICAgCkBAIC04Miw2ICsx
MDEsMTEgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIHVzZWRWYXJpYWJsZXNDb3VudDsKICAgICB1
bnNpZ25lZCB3cml0dGVuVmFyaWFibGVzQ291bnQ7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIGJvb2wgaXNCb2R5QXJyb3dGdW5jdGlvbkJsb2NrOworICAgIEpT
VG9rZW5UeXBlIHRva2VuVHlwZTsKKyNlbmRpZgorCiAgICAgU3RyaW5nSW1wbCoqIHVzZWRWYXJp
YWJsZXMoKSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0PFN0cmluZ0ltcGwqKj4obV92YXJpYWJs
ZXMpOyB9CiAgICAgU3RyaW5nSW1wbCoqIHdyaXR0ZW5WYXJpYWJsZXMoKSBjb25zdCB7IHJldHVy
biBjb25zdF9jYXN0PFN0cmluZ0ltcGwqKj4oJm1fdmFyaWFibGVzW3VzZWRWYXJpYWJsZXNDb3Vu
dF0pOyB9CiAKQEAgLTExNSw2ICsxMzksMTAgQEAgaW5saW5lIFNvdXJjZVByb3ZpZGVyQ2FjaGVJ
dGVtOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbShjb25zdCBTb3VyY2VQcm92aWRlckNhY2gKICAg
ICAsIGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQocGFyYW1ldGVycy5jbG9zZUJyYWNlTGluZVN0
YXJ0T2Zmc2V0KQogICAgICwgdXNlZFZhcmlhYmxlc0NvdW50KHBhcmFtZXRlcnMudXNlZFZhcmlh
Ymxlcy5zaXplKCkpCiAgICAgLCB3cml0dGVuVmFyaWFibGVzQ291bnQocGFyYW1ldGVycy53cml0
dGVuVmFyaWFibGVzLnNpemUoKSkKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgICwgaXNCb2R5QXJyb3dGdW5jdGlvbkJsb2NrKHBhcmFtZXRlcnMuaXNCb2R5QXJyb3dG
dW5jdGlvbkJsb2NrKQorICAgICwgdG9rZW5UeXBlKHBhcmFtZXRlcnMudG9rZW5UeXBlKQorI2Vu
ZGlmCiB7CiAgICAgdW5zaWduZWQgaiA9IDA7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IHVzZWRWYXJpYWJsZXNDb3VudDsgKytpLCArK2opIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9TeW50YXhDaGVja2VyLmgKaW5kZXggOGU0ZjYxYjk0OTg5MGI5YmY1NDAyOWU5NjY2
MWVlZjUzYTE3YjU4NC4uNWY4ZTIxMWVlNGI1M2IzOTRlYjVhZTIxOTBiODNjOGM0Zjg0NGNmZCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKQEAgLTE3
MCw2ICsxNzAsMTAgQEAgcHVibGljOgogI2VuZGlmCiAgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRl
RnVuY3Rpb25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0aW9u
SW5mbzxTeW50YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQogICAgIGludCBj
cmVhdGVGdW5jdGlvbkJvZHkoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgSlNUb2tlbkxv
Y2F0aW9uJiwgaW50LCBpbnQsIGJvb2wsIGludCwgaW50LCBpbnQsIENvbnN0cnVjdG9yS2luZCkg
eyByZXR1cm4gRnVuY3Rpb25Cb2R5UmVzdWx0OyB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihj
b25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hl
Y2tlcj4mKSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KKyNlbmRpZiAKKyAgICB2b2lkIHNldEZ1
bmN0aW9uTmFtZVN0YXJ0KGludCwgaW50KSB7IH0KICAgICBpbnQgY3JlYXRlQXJndW1lbnRzKCkg
eyByZXR1cm4gQXJndW1lbnRzUmVzdWx0OyB9CiAgICAgaW50IGNyZWF0ZUFyZ3VtZW50cyhpbnQp
IHsgcmV0dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZVNw
cmVhZEV4cHJlc3Npb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvblR5cGUsIGlu
dCwgaW50LCBpbnQpIHsgcmV0dXJuIFNwcmVhZEV4cHI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZmYzNlYTE4
MDA2ODk2NDNhYWRkNmM2YTQ5N2VkMGFlNmMyMTExMjAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwCkBAIC0wLDAgKzEs
NzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyNp
bmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKworI2luY2x1ZGUgIkVycm9yLmgiCisjaW5jbHVk
ZSAiRXhjZXB0aW9uSGVscGVycy5oIgorI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKKyNpbmNsdWRl
ICJKU0NKU1ZhbHVlLmgiCisjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTRnVu
Y3Rpb25JbmxpbmVzLmgiCisjaW5jbHVkZSAiSlNPYmplY3QuaCIKKyNpbmNsdWRlICJQcm9wZXJ0
eVNsb3QuaCIKKyNpbmNsdWRlICJWTS5oIgorCituYW1lc3BhY2UgSlNDIHsKKyAgICAKK2NvbnN0
IENsYXNzSW5mbyBKU0Fycm93RnVuY3Rpb246OnNfaW5mbyA9IHsgIkFycm93RnVuY3Rpb24iLCAm
QmFzZTo6c19pbmZvLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTQXJyb3dGdW5jdGlvbikgfTsK
Kwordm9pZCBKU0Fycm93RnVuY3Rpb246OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQoreworICAgIHN0
YXRpY19jYXN0PEpTQXJyb3dGdW5jdGlvbio+KGNlbGwpLT5KU0Fycm93RnVuY3Rpb246On5KU0Fy
cm93RnVuY3Rpb24oKTsKK30KKworSlNBcnJvd0Z1bmN0aW9uOjpKU0Fycm93RnVuY3Rpb24oVk0m
IHZtLCBKU1Njb3BlKiBzY29wZSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICA6IEJhc2Uodm0sIGV4ZWN1dGFibGUsIHNjb3BlLCBzdHJ1
Y3R1cmUpCit7Cit9CisgICAgCit2b2lkIEpTQXJyb3dGdW5jdGlvbjo6ZmluaXNoQ3JlYXRpb24o
Vk0mIHZtKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKy8vIFByb3RvdHlwZSBv
ZiBhcnJvdyBmdW5jdGlvbiBpcyB1bmRlZmluZWQKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3Bl
cnR5TmFtZXMtPnByb3RvdHlwZSwganNVbmRlZmluZWQoKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5
IHwgRG9udEVudW0pOworfQorICAgIAordm9pZCBKU0Fycm93RnVuY3Rpb246OnZpc2l0Q2hpbGRy
ZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKK3sKKyAgICBKU0Fycm93RnVu
Y3Rpb24qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNBcnJvd0Z1bmN0aW9uKj4oY2VsbCk7CisgICAg
QVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyh0aGlzT2JqZWN0LCBpbmZvKCkpOworICAgIEJhc2U6
OnZpc2l0Q2hpbGRyZW4odGhpc09iamVjdCwgdmlzaXRvcik7Cit9CisgICAgCitDb25zdHJ1Y3RU
eXBlIEpTQXJyb3dGdW5jdGlvbjo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwqIGNlbGwsIENvbnN0
cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCit7CisgICAgSlNGdW5jdGlvbiogdGhpc09iamVjdCA9
IGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY2VsbCk7CisgICAgICAgIAorICAgIGNvbnN0cnVjdERhdGEu
anMuZnVuY3Rpb25FeGVjdXRhYmxlID0gdGhpc09iamVjdC0+anNFeGVjdXRhYmxlKCk7CisgICAg
Y29uc3RydWN0RGF0YS5qcy5zY29wZSA9IHRoaXNPYmplY3QtPnNjb3BlKCk7CisgICAgcmV0dXJu
IENvbnN0cnVjdFR5cGVOb25lOworfQorfSAvLyBuYW1lc3BhY2UgSlNDCisjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNzgwMTVkMzg3MjFjY2E0NGFlMmY2NWNiNmQ3N2I2YTY1MjIwOTY1ZAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oCkBA
IC0wLDAgKzEsNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaWZuZGVmIEpTQXJyb3dGdW5jdGlvbl9oCisjZGVmaW5lIEpTQXJyb3dGdW5jdGlvbl9o
CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorCisjaW5jbHVkZSAiSlNG
dW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCisKK25hbWVzcGFjZSBKU0Mg
eworCitjbGFzcyBKU0Fycm93RnVuY3Rpb24gOiBwdWJsaWMgSlNGdW5jdGlvbiB7CitwdWJsaWM6
CisgICAgdHlwZWRlZiBKU0Z1bmN0aW9uIEJhc2U7CisgICAgICAgIAorICAgIHN0YXRpYyBKU0Fy
cm93RnVuY3Rpb24qIGNyZWF0ZShWTSYgdm0sIEpTU2NvcGUqIHNjb3BlLCBGdW5jdGlvbkV4ZWN1
dGFibGUqIGV4ZWN1dGFibGUsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCisgICAgewor
ICAgICAgICBKU0Fycm93RnVuY3Rpb24qIGZ1bmN0aW9uID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0
ZUNlbGw8SlNBcnJvd0Z1bmN0aW9uPih2bS5oZWFwKSkgSlNBcnJvd0Z1bmN0aW9uKHZtLCBzY29w
ZSwgZXhlY3V0YWJsZSwgZ2xvYmFsT2JqZWN0LT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCkpOwor
ICAgICAgICBBU1NFUlQoZnVuY3Rpb24tPnN0cnVjdHVyZSgpLT5nbG9iYWxPYmplY3QoKSk7Cisg
ICAgICAgIGZ1bmN0aW9uLT5maW5pc2hDcmVhdGlvbih2bSk7CisgICAgICAgIHJldHVybiBmdW5j
dGlvbjsKKyAgICB9CisgICAgCisgICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0NlbGwqKTsKKyAg
ICAgICAgCisgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUpCisgICAgeworICAg
ICAgICBBU1NFUlQoZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3Jl
YXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oSlNGdW5jdGlvblR5cGUs
IFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKKyAgICB9CisgICAgICAgIAorICAgIHN0YXRpYyBD
b25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYpOwor
ICAgICAgICAKKyAgICBERUNMQVJFX0lORk87CisKK3Byb3RlY3RlZDoKKyAgICBjb25zdCBzdGF0
aWMgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNIYXNJbnN0YW5jZSB8IEJhc2U6
OlN0cnVjdHVyZUZsYWdzOworICAgICAgICAKKyAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVu
KEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CisgICAgICAgIAorcHJpdmF0ZToKKyAgICBKU0Fycm93
RnVuY3Rpb24oVk0mLCBKU1Njb3BlKiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgU3RydWN0dXJlKik7
CisKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7Cit9OworICAgIAorfSAvLyBuYW1lc3Bh
Y2UgSlNDCisjZW5kaWYgLy8gRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYCisKKyNlbmRpZiAvLyBK
U0Fycm93RnVuY3Rpb25faApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlv
bi5oCmluZGV4IDlhYjlkYzI3NzdiYWJmODk2MzgxZGNmNDAyYzAxMzA5MGY5NWUzMGMuLjNhMGFl
MDExMzViY2I5NjQwYjA1MDJhMzE2NTFhZjhmY2FhMmM0YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKQEAgLTEzMiw2ICsxMzIsOSBAQCBwcm90ZWN0ZWQ6
CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBKU0Z1bmN0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3Qq
LCBTdHJ1Y3R1cmUqKTsKICAgICBKU0Z1bmN0aW9uKFZNJiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwg
SlNTY29wZSopOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgSlNG
dW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSosIEpTU2NvcGUqLCBTdHJ1Y3R1cmUqKTsK
KyNlbmRpZgogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIE5hdGl2ZUV4ZWN1dGFibGUq
LCBpbnQgbGVuZ3RoLCBjb25zdCBTdHJpbmcmIG5hbWUpOwogICAgIHVzaW5nIEJhc2U6OmZpbmlz
aENyZWF0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNG
dW5jdGlvbklubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rp
b25JbmxpbmVzLmgKaW5kZXggMzdiMjgxYWE1ZDBjMWI4NjE2NDUxOWZkN2M1NjZlMzdmMGYxMzQw
MS4uN2IzNDkwYmViOTRhMzU5M2VlMTdiYzNiMTZiMzJjN2RmYWY5NTczZCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oCkBAIC0zOCw2
ICszOCwxNSBAQCBpbmxpbmUgSlNGdW5jdGlvbjo6SlNGdW5jdGlvbihWTSYgdm0sIEZ1bmN0aW9u
RXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgSlNTY29wZSogcwogewogfQogCisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK2lubGluZSBKU0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKFZN
JiB2bSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBKU1Njb3BlKiBzY29wZSwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUpCisgICAgOiBCYXNlKHZtLCBzY29wZSwgc3RydWN0dXJlKQorICAg
ICwgbV9leGVjdXRhYmxlKHZtLCB0aGlzLCBleGVjdXRhYmxlKQorICAgICwgbV9hbGxvY2F0aW9u
UHJvZmlsZVdhdGNocG9pbnQoQ2xlYXJXYXRjaHBvaW50KQoreworfQorI2VuZGlmCisgICAgCiBp
bmxpbmUgRnVuY3Rpb25FeGVjdXRhYmxlKiBKU0Z1bmN0aW9uOjpqc0V4ZWN1dGFibGUoKSBjb25z
dAogewogICAgIEFTU0VSVCghaXNIb3N0RnVuY3Rpb25Ob25JbmxpbmUoKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggZDM5NjE4
YWI3ZWFmNTU5NzRkYWFjMjNiODEzMzNlYjAwNTFlYmU3My4uZjk0MWFkMTg3OTY4YmNkODdlMmY0
OWM4Yjc4NzUwNTRkYzdkNjA0NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtNjIsNiArNjIsOSBAQAogI2luY2x1ZGUgIkpTQXJy
YXlCdWZmZXJQcm90b3R5cGUuaCIKICNpbmNsdWRlICJKU0FycmF5SXRlcmF0b3IuaCIKICNpbmNs
dWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorI2VuZGlmCiAjaW5jbHVkZSAiSlND
SW5saW5lcy5oIgogI2luY2x1ZGUgIkpTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUg
IkpTQ2FsbGJhY2tGdW5jdGlvbi5oIgpAQCAtMjMzLDYgKzIzNiw5IEBAIHZvaWQgSlNHbG9iYWxP
YmplY3Q6OmluaXQoVk0mIHZtKQogICAgIGV4ZWMtPnNldENhbGxlZShtX2dsb2JhbENhbGxlZS5n
ZXQoKSk7CiAKICAgICBtX2Z1bmN0aW9uU3RydWN0dXJlLnNldCh2bSwgdGhpcywgSlNGdW5jdGlv
bjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBtX2Fycm93RnVuY3Rp
b25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0Fycm93RnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVy
ZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOworI2VuZGlmCiAgICAgbV9i
b3VuZEZ1bmN0aW9uU3RydWN0dXJlLnNldCh2bSwgdGhpcywgSlNCb3VuZEZ1bmN0aW9uOjpjcmVh
dGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKICAgICBt
X25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBTdHJ1Y3R1cmU6OmFkZFByb3Bl
cnR5VHJhbnNpdGlvbih2bSwgbV9mdW5jdGlvblN0cnVjdHVyZS5nZXQoKSwgdm0ucHJvcGVydHlO
YW1lcy0+bmFtZSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgRG9udEVudW0sIG1fZnVuY3Rpb25O
YW1lT2Zmc2V0KSk7CiAgICAgbV9pbnRlcm5hbEZ1bmN0aW9uU3RydWN0dXJlLnNldCh2bSwgdGhp
cywgSW50ZXJuYWxGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9u
UHJvdG90eXBlLmdldCgpKSk7CkBAIC03MjUsNiArNzMxLDkgQEAgdm9pZCBKU0dsb2JhbE9iamVj
dDo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogICAg
IHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2NhbGxlZVN0cnVjdHVyZSk7CiAgICAgdmlz
aXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fZnVuY3Rpb25TdHJ1Y3R1cmUpOwogICAgIHZpc2l0
b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUpOworI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNP
YmplY3QtPm1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZSk7CisjZW5kaWYKICAgICB2aXNpdG9yLmFw
cGVuZCgmdGhpc09iamVjdC0+bV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlKTsKICAgICB2aXNpdG9y
LmFwcGVuZCgmdGhpc09iamVjdC0+bV9zeW1ib2xPYmplY3RTdHJ1Y3R1cmUpOwogICAgIHZpc2l0
b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX3JlZ0V4cE1hdGNoZXNBcnJheVN0cnVjdHVyZSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCA3
NDk2NmI3YmQwNmJhY2Q4NjYxYzliZjRhYmU0NWNlYjNiNTExOGI0Li44MTdmMjU3NjYwNzAwNzk5
MDE4NjE0YTAyOTZhYmMzYzk1MzAyNTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKQEAgLTIyNSw2ICsyMjUsOSBAQCBwcm90ZWN0ZWQ6CiAg
ICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9jYWxsZWVTdHJ1Y3R1cmU7CiAgICAgV3JpdGVC
YXJyaWVyPFN0cnVjdHVyZT4gbV9mdW5jdGlvblN0cnVjdHVyZTsKICAgICBXcml0ZUJhcnJpZXI8
U3RydWN0dXJlPiBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmU7CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2Fycm93RnVu
Y3Rpb25TdHJ1Y3R1cmU7CisjZW5kaWYKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX25h
bWVkRnVuY3Rpb25TdHJ1Y3R1cmU7CiAgICAgUHJvcGVydHlPZmZzZXQgbV9mdW5jdGlvbk5hbWVP
ZmZzZXQ7CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9wcml2YXRlTmFtZVN0cnVjdHVy
ZTsKQEAgLTQ1Niw2ICs0NTksOSBAQCBwdWJsaWM6CiAgICAgU3RydWN0dXJlKiBjYWxsZWVTdHJ1
Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2NhbGxlZVN0cnVjdHVyZS5nZXQoKTsgfQogICAgIFN0
cnVjdHVyZSogZnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2Z1bmN0aW9uU3Ry
dWN0dXJlLmdldCgpOyB9CiAgICAgU3RydWN0dXJlKiBib3VuZEZ1bmN0aW9uU3RydWN0dXJlKCkg
Y29uc3QgeyByZXR1cm4gbV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBTdHJ1Y3R1cmUqIGFycm93RnVuY3Rp
b25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2Fycm93RnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0
KCk7IH0KKyNlbmRpZgogICAgIFN0cnVjdHVyZSogbmFtZWRGdW5jdGlvblN0cnVjdHVyZSgpIGNv
bnN0IHsgcmV0dXJuIG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQogICAgIFByb3Bl
cnR5T2Zmc2V0IGZ1bmN0aW9uTmFtZU9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fZnVuY3Rpb25O
YW1lT2Zmc2V0OyB9CiAgICAgU3RydWN0dXJlKiBudW1iZXJPYmplY3RTdHJ1Y3R1cmUoKSBjb25z
dCB7IHJldHVybiBtX251bWJlck9iamVjdFN0cnVjdHVyZS5nZXQoKTsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWx0
aGlzLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LWxleGljYWx0aGlzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxMmZiYWY4MDQ0ODJjNzc2MWMzN2RkNjkzYTg0
ODVlNTUxMTU3M2UKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbHRoaXMuanMKQEAgLTAsMCArMSwzMSBAQAor
dmFyIHJlc3VsdDsKKworIHZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVk
LCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVz
c2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVh
bCArICInIjsKKyAgfQorfTsKKwordmFyIGFmT2JqTGV4QmluZDIgPSBmdW5jdGlvbiAoKSB7Cisg
IHRoaXMuZnVuYyA9ICgpID0+IHRoaXM7Cit9OworCit2YXIgYWZPYmpMZXhCaW5kMkluc3RhbmNl
ID0gbmV3IGFmT2JqTGV4QmluZDIoKTsKKwordGVzdENhc2UoYWZPYmpMZXhCaW5kMkluc3RhbmNl
LmZ1bmMoKSA9PT0gYWZPYmpMZXhCaW5kMkluc3RhbmNlLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMg
bm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMiIpOwor
Cit2YXIgb2JqID0geworICBtZXRob2Q6IGZ1bmN0aW9uICgpIHsKKyAgICByZXR1cm4gKCkgPT4g
dGhpczsKKyAgfQorfTsKKwordGVzdENhc2Uob2JqLm1ldGhvZCgpKCkgPT09IG9iaiwgdHJ1ZSwg
IkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24gIzMiKTsKKwordmFyIGZha2UgPSB7c3RlYWw6IG9iai5tZXRob2QoKX07Cit0ZXN0
Q2FzZShmYWtlLnN0ZWFsKCkgPT09IG9iaiwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhp
Y2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzQiKTsKKworCisvLyBG
aXhtZTogZm9sbG93aW5nIHRlc3QgZmFpbHMgaW4gZGZnLWVhZ2VyLW5vLWNqaXQtdmFsaWRhdGUg
JiBmdGwtZWFnZXItbm8tY2ppdCBtb2RlCit2YXIgcmVhbCA9IHtib3Jyb3c6IG9iai5tZXRob2R9
OwordGVzdENhc2UocmVhbC5ib3Jyb3coKSgpID09PSByZWFsLCB0cnVlLCAiRXJyb3I6IHRoaXMg
aXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNSIp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1
bmN0aW9uLW90aGVycy5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJy
b3dmdW5jdGlvbi1vdGhlcnMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWJiZjg1OWUyMDNlYjFmNTRhY2FlMWQ0
MDgzY2EzZGQzZGM5NzYxZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1vdGhlcnMuanMKQEAgLTAsMCArMSwzMCBAQAor
dmFyIHJlc3VsdDsKKworIHZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVk
LCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVz
c2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVh
bCArICInIjsKKyAgfQorfTsKKwordmFyIHNpbXBsZUFycm93RnVuY3Rpb24gPSAoKSA9PiB7fTsK
KwordGVzdENhc2UodHlwZW9mIHNpbXBsZUFycm93RnVuY3Rpb24sICJmdW5jdGlvbiIsICJFcnJv
cjogTm90IGNvcnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2Uo
T2JqZWN0LmdldFByb3RvdHlwZU9mKHNpbXBsZUFycm93RnVuY3Rpb24pLCBGdW5jdGlvbi5wcm90
b3R5cGUsICJFcnJvcjogTm90IGNvcnJlY3QgZ2V0UHJvdG90eXBlT2YgdmFsdWUgZm9yIGFycm93
IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93RnVuY3Rpb24gaW5zdGFuY2VvZiBG
dW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIGluc3RhbmNlb2Yg
bWV0aG9kIGZvciBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0
aW9uLmNvbnN0cnVjdG9yID09IEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJl
c3VsdCBmb3IgY29uc3RydWN0b3IgbWV0aG9kIG9mIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RD
YXNlKHR5cGVvZiBzaW1wbGVBcnJvd0Z1bmN0aW9uLnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5lZCcs
IHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBwcm90b3R5cGUgb2YgYXJyb3cg
ZnVuY3Rpb24iKTsKKwordmFyIGVycm9yT25DcmVhdGUgPSBmYWxzZTsKKwordHJ5IHsKKyAgdmFy
IGZjID0gbmV3IHNpbXBsZUFycm93RnVuY3Rpb24oKTsKK30KK2NhdGNoIChlKSB7CisgIGVycm9y
T25DcmVhdGUgPSB0cnVlOworfQorCit0ZXN0Q2FzZShlcnJvck9uQ3JlYXRlLCB0cnVlLCAiRXJy
b3I6IE5vIGVycm9yIGR1cmluZyBydW4gbmV3IEFycm93RnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi5qcyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wNjg3YjNhYWIxZDI3ZjQ1M2Y5MDc2MWNlYzFhZDRkMDVjZjAzYjM1Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LmpzCkBAIC0wLDAgKzEsMTU0IEBACit2YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVu
Y3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhw
ZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCAr
ICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgYXJyb3dGdW5j
dGlvbjAgPSB2ID0+IHYgKyAxOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjAoMTApOwordGVzdENh
c2UocmVzdWx0LCAxMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uOiB2ID0+IHYgKyAxIik7CisKK3ZhciBhcnJvd0Z1bmN0aW9uMSA9ICh2KSA9PiB2
ICogMjsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24xKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjAg
LCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKHYp
ID0+IHYgKyAxIik7CisKK3ZhciBhcnJvd0Z1bmN0aW9uMiA9ICgpID0+IDEwMDA7CityZXN1bHQg
PSBhcnJvd0Z1bmN0aW9uMigxMjEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwMCAsIkVycm9yOiBO
b3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAoKSA9PiAxMDAwIik7
CisKK3ZhciB0bXBWYXJpYWx2ZTJfMSA9IDE1MTsKK3ZhciBhcnJvd0Z1bmN0aW9uMl8xID0gKCkg
PT4gdG1wVmFyaWFsdmUyXzE7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMl8xKDEyMSk7Cit0ZXN0
Q2FzZShyZXN1bHQsIHRtcFZhcmlhbHZlMl8xICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICgpID0+IHZhcmlhYmxlIik7CisKK3ZhciBhcnJvd0Z1
bmN0aW9uMyA9ICh2LCB4KSA9PiB2ICsgeDsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24zKDExLDEy
KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbjogKHgsIHkpID0+IHggKyB5Iik7CisKK3ZhciBhcnJvd0Z1bmN0
aW9uV3JhcHBlciA9IGZ1bmN0aW9uIChjbCwgcGFyYW10ZXIpIHsgcmV0dXJuIGNsKHBhcmFtdGVy
KTsgfTsKKworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMjM0KTsKK3Rlc3RD
YXNlKHJlc3VsdCwgMTIzNCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFy
cm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYykiKTsKKworIHJlc3VsdCA9IGFycm93
RnVuY3Rpb25XcmFwcGVyKHggPT4gMTIzNCwgMjM0NSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMzQg
LCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBw
YXJhbXRlcjogZih4ID0+IGMsIHkpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBl
cih4ID0+IDEyMSArIDIzMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDM1MyAsIkVycm9yOiBOb3QgY29y
cmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4g
YzEgKyBjMikiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4gMTIzICsg
MzIxLCA5OTk5KTsKK3Rlc3RDYXNlKHJlc3VsdCwgNDQ0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjMSArIGMy
LCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiB4ICsgMTIsIDIx
KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IHggKyBjMSwgeSkiKTsKKwor
IHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCh4KSA9PiB4ICsgMjEsIDMyKTsKK3Rlc3RD
YXNlKHJlc3VsdCwgNTMsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoeCkgPT4gYzEgKyBjMiwgeSkiKTsKKworIHJlc3Vs
dCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEw
MCwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFz
IHBhcmFtdGVyOiBmKCgpID0+IGMpIik7CisKKyB2YXIgZXh0X3ZhbHVlID0gMTIxOworcmVzdWx0
ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gZXh0X3ZhbHVlKTsKK3Rlc3RDYXNlKHJlc3Vs
dCwgMTIxLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gdikiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25X
cmFwcGVyKCgpID0+IGV4dF92YWx1ZSAqIDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIxMCAsIkVy
cm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFt
dGVyOiBmKCgpID0+IHYqeCkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCh4
KSA9PiBleHRfdmFsdWUgKiB4LCAzMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDMwKmV4dF92YWx1ZSAs
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBh
cmFtdGVyOiBmKCh4KSA9PiB2KngsIHkpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3Jh
cHBlcigoKSA9PiAxMDAsIDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwICwiRXJyb3I6IE5vdCBj
b3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkg
PT4gYzEsIHkpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiAxMDAg
KyAxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDExMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMxICsgYzIpIik7
CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiAxMDAgKyAxMSwgMTIpOwor
dGVzdENhc2UocmVzdWx0LCAxMTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjMSArIGMyLCB5KSIpOworCisg
dmFyIGFycm93RnVuY3Rpb240ID0gdiA9PiB2ICsgMSwgeHl6MSA9IDEwMTAxOworcmVzdWx0ID0g
YXJyb3dGdW5jdGlvbjQoMTAxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMTIgLCJFcnJvcjogTm90
IGNvcnJlY3QgcGFyc2luZyBvZiB0aCBhcnJvdyBmdW5jdGlvbiBpbnNpZGUgb2YgdGhlIGxpc3Qg
b2YgdmFyczogdmFyIGFmID0gdj0+IHYgKyAxOyB6eGM9YzsiKTsKK3Rlc3RDYXNlKHh5ejEsIDEw
MTAxICwiRXJyb3I6IE5vdCBjb3JyZWN0IHBhcnNpbmcgb2YgdGggYXJyb3cgZnVuY3Rpb24gaW5z
aWRlIG9mIHRoZSBsaXN0IG9mIHZhcnM6IHZhciBhZiA9IHY9PiB2ICsgMTsgenhjPWM7Iik7CisK
KyB2YXIgYXJyb3dGdW5jdGlvbldyYXBwZXIyID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRlcjEsIHBh
cmFtdGVyMikgeyByZXR1cm4gY2wocGFyYW10ZXIxLCBwYXJhbXRlcjIpOyB9OworcmVzdWx0ID0g
YXJyb3dGdW5jdGlvbldyYXBwZXIyKCh4LCB5KSA9PiB4ICsgeSwgMTIgLDQzKTsKK3Rlc3RDYXNl
KHJlc3VsdCwgNTUgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbiBhcyBwYXJhbWV0ZXI6IGYoKHgsIHkpID0+IHggKyB5LCBjMSwgYzIpIik7CisKKyB2
YXIgYXJyb3dGdW5jdGlvQXJyYXkwID0gW3YgPT4gdiAqIDEwXTsKK3Jlc3VsdCA9IGFycm93RnVu
Y3Rpb0FycmF5MFswXSgxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMCAsIkVycm9yOiBOb3QgY29y
cmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFt2
PT52KjEwXSIpOworCisgdmFyIGFycm93RnVuY3Rpb0FycmF5MSA9IFt2ID0+IHYgKyAxLCB2ID0+
IHYgKyAyXTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5MVswXSgxMCk7Cit0ZXN0Q2FzZShy
ZXN1bHQsIDExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb24gYXMgaXRlbSBpbiBhcnJheTogW3YgPT4gdiArIDEsICB2ID0+IHYgKyAyXSIpOworcmVz
dWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkxWzFdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTMgLCJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVt
IGluIGFycmF5OiBbdiA9PiB2ICsgMSwgIHYgPT4gdiArIDJdIik7CisKKyB2YXIgYXJyb3dGdW5j
dGlvQXJyYXkyID0gWyh2KSA9PiB2ICsgMSwgKHYpID0+IHYgKyAyXTsKK3Jlc3VsdCA9IGFycm93
RnVuY3Rpb0FycmF5MlswXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyICwiRXJyb3I6IE5vdCBj
b3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTog
Wyh2KSA9PiB2ICsgMSwgICh2KSA9PiB2ICsgMl0iKTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0Fy
cmF5MlsxXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogWyh2KSA9PiB2
ICsgMSwgICh2KSA9PiB2ICsgMl0iKTsKKworIHZhciBhcnJvd0Z1bmN0aW9BcnJheTMgPSBbKCkg
PT4gMTAxLCAoKSA9PiAxMjMyM107CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTNbMF0oMTEp
OwordGVzdENhc2UocmVzdWx0LCAxMDEsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKCkgPT4gYzEsICAoKSA9PiBj
Ml0iKTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5M1sxXSgxMSk7Cit0ZXN0Q2FzZShyZXN1
bHQsIDEyMzIzLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb24gYXMgaXRlbSBpbiBhcnJheTogWygpID0+IGMxLCAgKCkgPT4gYzJdIik7CisKK3ZhciBh
cnJvd0Z1bmN0aW9uT2JqID0ge2Z1bmMgOiB5ID0+IHkgKyAxMn07CityZXN1bHQgPSBhcnJvd0Z1
bmN0aW9uT2JqLmZ1bmMoMTEpOwordGVzdENhc2UocmVzdWx0LCAyMyAsICJFcnJvcjogTm90IGNv
cnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwcm9wZXJ0eToge2Z1bmMg
OiB5ID0+IHkgKyAxMiB9Iik7CisKK3ZhciBhZk9iakxleEJpbmQyID0gZnVuY3Rpb24gKCkgewor
ICB0aGlzLmZ1bmMgPSAoKSA9PiB0aGlzOworfTsKKwordmFyIGFycm93RmF0RnVuY3Rpb24wID0g
KCkgPT4geyByZXR1cm4gMTAwMDsgfTsKK3Jlc3VsdCA9IGFycm93RmF0RnVuY3Rpb24wKDExKTsK
K3Rlc3RDYXNlKHJlc3VsdCwgMTAwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogKCkgPT4geyByZXR1cm4gMTAw
MDsgfSIpOworCit2YXIgYXJyb3dGYXRGdW5jdGlvbjEgPSB2ID0+IHsgdmFyIGludHZhbCA9IDEw
MDsgcmV0dXJuIHYgKiBpbnR2YWw7IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0aW9uMSgxMSk7
Cit0ZXN0Q2FzZShyZXN1bHQsIDExMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6IHggPT4geyB2YXIgdj0xMDAw
OyByZXR1cm4gdip4OyB9Iik7CisKK3ZhciBhcnJvd0ZhdEZ1bmN0aW9uMiA9ICh2KSA9PiB7IHZh
ciBpbnQgPSAyMDA7IHJldHVybiB2ICogaW50OyB9OworcmVzdWx0ID0gYXJyb3dGYXRGdW5jdGlv
bjIoMTEpOwordGVzdENhc2UocmVzdWx0LCAyMjAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1
dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiAoeCkgPT4geyB2
YXIgdj0xMDAwOyByZXR1cm4gdip4OyB9Iik7CisKK3ZhciBhcnJvd0ZhdEZ1bmN0aW9uMyA9ICh2
LCB4KSA9PiB7IHZhciByZXN1bHQgPSB4ICogdjsgcmV0dXJuIHJlc3VsdDsgfTsKK3Jlc3VsdCA9
IGFycm93RmF0RnVuY3Rpb24zKDExLCAxMjIyMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDEzNDQ0MiAs
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGgg
Ym9keSBhcyBibG9jazogKHYsIHgpID0+IHsgdmFyIHJlc3VsdCA9IHggKiB2OyByZXR1cm4gcmVz
dWx0OyB9Iik7CisKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHg9PntyZXR1cm4geCAq
IDI1O30sIDEyMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDI1KjEyMSAsIkVycm9yOiBOb3QgY29ycmVj
dCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogZih4
ID0+IHtyZXR1cm4geCAqIDI1O30sIDEyMSkiKTsKKworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldy
YXBwZXIyKCh4LCB5KT0+e3JldHVybiB4ICogeTt9LCAxNCwgMTIpOwordGVzdENhc2UocmVzdWx0
LCAxNCoxMiAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0
aW9uIHdpdGggYm9keSBhcyBibG9jazogZigoeCwgeSk9PntyZXR1cm4geCAqIHk7fSwgMTQsIDEy
MSkpIik7CisKK3ZhciBzaW1wbGVBcnJvd0Z1bmN0aW9uID0gKCkgPT4ge307CisKK3Rlc3RDYXNl
KHR5cGVvZiBzaW1wbGVBcnJvd0Z1bmN0aW9uLCAiZnVuY3Rpb24iLCAiRXJyb3I6IE5vdCBjb3Jy
ZWN0IHR5cGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKE9iamVjdC5nZXRQ
cm90b3R5cGVPZihzaW1wbGVBcnJvd0Z1bmN0aW9uKSwgRnVuY3Rpb24ucHJvdG90eXBlLCAiRXJy
b3I6IE5vdCBjb3JyZWN0IGdldFByb3RvdHlwZU9mIHZhbHVlIGZvciBhcnJvdyBmdW5jdGlvbiIp
OworCit0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uIGluc3RhbmNlb2YgRnVuY3Rpb24sIHRy
dWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBpbnN0YW5jZW9mIG1ldGhvZCBmb3Ig
YXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2Uoc2ltcGxlQXJyb3dGdW5jdGlvbi5jb25zdHJ1
Y3RvciA9PSBGdW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIGNv
bnN0cnVjdG9yIG1ldGhvZCBvZiBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZSh0eXBlb2Yg
c2ltcGxlQXJyb3dGdW5jdGlvbi5wcm90b3R5cGUgPT09ICd1bmRlZmluZWQnLCB0cnVlLCAiRXJy
b3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9uIik7
CisKK3ZhciBlcnJvck9uQ3JlYXRlID0gZmFsc2U7CisKK3RyeSB7CisgIHZhciBmYyA9IG5ldyBz
aW1wbGVBcnJvd0Z1bmN0aW9uKCk7Cit9CitjYXRjaCAoZSkgeworICBlcnJvck9uQ3JlYXRlID0g
dHJ1ZTsKK30KKwordGVzdENhc2UoZXJyb3JPbkNyZWF0ZSwgdHJ1ZSwgIkVycm9yOiBObyBlcnJv
ciBkdXJpbmcgcnVuIG5ldyBBcnJvd0Z1bmN0aW9uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJD
b3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDhiMTEyZmFl
NDViOTU3ZGQyNjQxZmRiNmY0Njg5ODgwNTg5YWY4NjAuLjExNDhhNzY5NzJmMTE0YzM4M2QzMjYy
OWYxZjA5M2M2ODU1MGEwNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00NSw2ICs0NSw3IEBAIEVOQUJMRV9D
QU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7
CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7CiBF
TkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYOworRU5BQkxF
X0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5U
QVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7
CiBFTkFCTEVfQ1NQX05FWFQgPSA7CiBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMiA9IEVO
QUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yOwpAQCAtMjE0LDQgKzIxNSw0IEBAIEVOQUJMRV9M
TElOVF9DX0xPT1AgPSA7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBF
TkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAk
KEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChF
TkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElP
TlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9O
SU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFU
SU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxF
X0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJM
RV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFC
TEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9D
U1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19U
RVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lC
SUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJE
X1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNG
RVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNf
TEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9B
UEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFC
TEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5H
KSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VS
UykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BM
QVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1Nf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdB
Q1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8p
ICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9N
QVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09V
UkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAk
KEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJ
R0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BP
SU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMp
ICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JF
UVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChF
TkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkg
JChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRM
RV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIp
ICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9F
TEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkg
JChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19U
UkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJ
QSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExB
WSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxF
X1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9V
VCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09Q
KSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BS
RVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklO
RykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9P
VkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNI
TUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZB
U19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
KSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChF
TkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURB
UFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVH
SU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMp
ICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5B
QkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQo
RU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVO
QUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5B
QkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1Ip
ICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAk
KEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RF
UFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01f
VElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNF
X0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVO
QUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5U
UykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9M
RUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVG
RVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQo
RU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVf
TUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FM
RSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9I
V0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExV
R0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9Q
Uk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FV
T1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9B
VVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJ
T05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NS
T0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJ
KSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NW
R19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChF
TkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJM
RV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NT
X1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykg
JChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJ
RVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQo
RU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJF
X1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChF
TkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5B
QkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAk
KEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDhi
MTEyZmFlNDViOTU3ZGQyNjQxZmRiNmY0Njg5ODgwNTg5YWY4NjAuLjExNDhhNzY5NzJmMTE0YzM4
M2QzMjYyOWYxZjA5M2M2ODU1MGEwNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQv
bWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00NSw2ICs0NSw3
IEBAIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5W
QVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9N
RVNTQUdJTkc7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IEVOQUJMRV9FUzZfQ0xBU1NfU1lO
VEFYOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dG
VU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkc7CiBFTkFCTEVfQ1NQX05FWFQgPSA7CiBFTkFCTEVfQ1NTX0FOSU1BVElPTlNf
TEVWRUxfMiA9IEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yOwpAQCAtMjE0LDQgKzIxNSw0
IEBAIEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FS
SVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJE
X0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJM
RV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FD
SEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BS
T1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRB
WCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJM
RV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJF
QUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFU
SU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRB
VElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05T
KSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChF
TkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVf
Q1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFC
TEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxF
X0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVf
REVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChF
TkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5B
QkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVf
RlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVD
QVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1F
Ul9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09O
VFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxF
X1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENI
KSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFC
TEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRF
Ul9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAk
KEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09O
Q1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4p
ICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJ
TUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEp
ICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9D
T01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9N
RURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExf
U05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQo
RU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09U
Rl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJM
RV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJB
SUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVO
QUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19N
T0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFC
TEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0la
RVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJM
RV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVf
TExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5B
QkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
XzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChF
TkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQo
RU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9D
U1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JP
WF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NT
U19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9D
U1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVO
QUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxF
X0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVf
QlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1F
X0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9F
TEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VM
RU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNf
Q09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVE
X01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9F
VkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJM
RV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURE
RU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVO
QUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNP
TVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVU
X1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9T
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVT
KSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFC
TEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9M
U19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElD
UykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNF
X0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxF
X05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VT
KSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1Qp
ICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFC
TEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5B
QkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVO
QUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxF
X1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMp
ICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RF
VEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0la
SU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykg
JChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVO
QUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUp
ICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVO
QUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRf
UkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZU
TF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9B
UklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBi
L1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmlu
ZGV4IDhiMTEyZmFlNDViOTU3ZGQyNjQxZmRiNmY0Njg5ODgwNTg5YWY4NjAuLjExNDhhNzY5NzJm
MTE0YzM4M2QzMjYyOWYxZjA5M2M2ODU1MGEwNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJL
aXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00NSw2ICs0NSw3
IEBAIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5W
QVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9N
RVNTQUdJTkc7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IEVOQUJMRV9FUzZfQ0xBU1NfU1lO
VEFYOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dG
VU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkc7CiBFTkFCTEVfQ1NQX05FWFQgPSA7CiBFTkFCTEVfQ1NTX0FOSU1BVElPTlNf
TEVWRUxfMiA9IEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yOwpAQCAtMjE0LDQgKzIxNSw0
IEBAIEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FS
SVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJE
X0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJM
RV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FD
SEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BS
T1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRB
WCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJM
RV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJF
QUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFU
SU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRB
VElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05T
KSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChF
TkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVf
Q1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFC
TEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxF
X0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVf
REVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChF
TkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5B
QkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVf
RlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVD
QVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1F
Ul9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09O
VFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxF
X1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENI
KSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFC
TEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRF
Ul9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAk
KEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09O
Q1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4p
ICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJ
TUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEp
ICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9D
T01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9N
RURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExf
U05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQo
RU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09U
Rl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJM
RV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJB
SUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVO
QUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19N
T0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFC
TEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0la
RVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJM
RV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVf
TExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5B
QkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
XzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChF
TkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQo
RU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9D
U1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JP
WF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NT
U19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9D
U1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVO
QUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxF
X0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVf
QlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1F
X0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9F
TEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VM
RU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNf
Q09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVE
X01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9F
VkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJM
RV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURE
RU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVO
QUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNP
TVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVU
X1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9T
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVT
KSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFC
TEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9M
U19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElD
UykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNF
X0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxF
X05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VT
KSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1Qp
ICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFC
TEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5B
QkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVO
QUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxF
X1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMp
ICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RF
VEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0la
SU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykg
JChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVO
QUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUp
ICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVO
QUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRf
UkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZU
TF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9B
UklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UgYi9Tb3VyY2UvY21ha2UvV2ViS2l0
RmVhdHVyZXMuY21ha2UKaW5kZXggMzJjMjM1ZDk4YjVhNDIwZWJlMzM0ODM0YzdiNmE0MTgyYjIy
MjIwYS4uYTY3NTM3MTQ1NjI3Y2QzOGEyNzA3OWNkNWRmZTk4NjgyYzkxZjQ2NSAxMDA2NDQKLS0t
IGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9X
ZWJLaXRGZWF0dXJlcy5jbWFrZQpAQCAtMjgsNiArMjgsNyBAQCBtYWNybyhXRUJLSVRfT1BUSU9O
X0JFR0lOKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DQU5WQVNfUFJPWFkgIlRv
Z2dsZSBDYW52YXNQcm94eSBzdXBwb3J0IiBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUo
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HICJUb2dnbGUgTWVzc2FnZUNoYW5uZWwgYW5kIE1lc3Nh
Z2VQb3J0IHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9FUzZf
Q0xBU1NfU1lOVEFYICJUb2dnbGUgRVM2IGNsYXNzIHN5bnRheCBzdXBwb3J0IiBPTikKKyAgICBX
RUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYICJUb2dn
bGUgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheCBzdXBwb3J0IiBPTikKICAgICBXRUJLSVRfT1BU
SU9OX0RFRklORShFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgIlRvZ2dsZSBjb250ZW50IGZpbHRl
cmluZyBzdXBwb3J0IiBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NPTlRF
WFRfTUVOVVMgIlRvZ2dsZSBDb250ZXh0IE1lbnUgc3VwcG9ydCIgT04pCiAgICAgV0VCS0lUX09Q
VElPTl9ERUZJTkUoRU5BQkxFX0NTUF9ORVhUICJUb2dnbGUgQ29udGVudCBTZWN1cml0eSBQb2xp
Y3kgMS4xIHN1cHBvcnQiIE9GRikKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNt
YWtlIGIvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UKaW5kZXggMjFkM2ZjYzVkOTgzZjk1OTVk
ZWYzNTEwNTY4Y2RjOTg5NjUyNDZlZC4uY2YxYWZlNTZjNWYwZjI2MDk5MDkwZTUxYjdiMmE2NjAz
ZWEwNzMyMSAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UKKysrIGIvU291
cmNlL2NtYWtlY29uZmlnLmguY21ha2UKQEAgLTEzLDYgKzEzLDcgQEAKICNjbWFrZWRlZmluZTAx
IEVOQUJMRV9DQU5WQVNfUFJPWFkKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9DSEFOTkVMX01FU1NB
R0lORwogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgKKyNjbWFrZWRlZmlu
ZTAxIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgKICNjbWFrZWRlZmluZTAxIEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORwogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NPTlRFWFRfTUVOVVMK
ICNjbWFrZWRlZmluZTAxIEVOQUJMRV9DUkVERU5USUFMX1NUT1JBR0UKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cGVybC9GZWF0dXJlTGlzdC5wbQppbmRleCAxNmZkNjQ5YzY4ZDZiM2Q0M2QwYjMxZTMzNTc5
MDRmYzg3MjRhN2ViLi4yMjNiMzExYmNmYmFiMmMyNjhhN2YyNjUyZDE0ZWQxOTYzN2ZkZmNlIDEw
MDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCkBAIC00NCw2ICs0NCw3IEBA
IEJFR0lOIHsKIG15ICgKICAgICAkdGhyZWVEUmVuZGVyaW5nU3VwcG9ydCwKICAgICAkYWNjZWxl
cmF0ZWQyRENhbnZhc1N1cHBvcnQsCisgICAgJGFycm93ZnVuY3Rpb25TeW50YXgsCiAgICAgJGJh
dHRlcnlTdGF0dXNTdXBwb3J0LAogICAgICRjYW52YXNQYXRoU3VwcG9ydCwKICAgICAkY2FudmFz
UHJveHlTdXBwb3J0LApAQCAtMTU0LDYgKzE1NSw5IEBAIG15IEBmZWF0dXJlcyA9ICgKICAgICB7
IG9wdGlvbiA9PiAiYWNjZWxlcmF0ZWQtMmQtY2FudmFzIiwgZGVzYyA9PiAiVG9nZ2xlIEFjY2Vs
ZXJhdGVkIDJEIENhbnZhcyBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0FDQ0VM
RVJBVEVEXzJEX0NBTlZBUyIsIGRlZmF1bHQgPT4gaXNHdGsoKSwgdmFsdWUgPT4gXCRhY2NlbGVy
YXRlZDJEQ2FudmFzU3VwcG9ydCB9LAogCisgICAgeyBvcHRpb24gPT4gImFycm93ZnVuY3Rpb24t
c3ludGF4IiwgZGVzYyA9PiAiVG9nZ2xlIEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXggc3VwcG9y
dCIsCisgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgiLCBk
ZWZhdWx0ID0+IDEsIHZhbHVlID0+IFwkYXJyb3dmdW5jdGlvblN5bnRheCB9LAorCiAgICAgeyBv
cHRpb24gPT4gImJhdHRlcnktc3RhdHVzIiwgZGVzYyA9PiAiVG9nZ2xlIEJhdHRlcnkgU3RhdHVz
IHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQkFUVEVSWV9TVEFUVVMiLCBkZWZh
dWx0ID0+IGlzRWZsKCksIHZhbHVlID0+IFwkYmF0dGVyeVN0YXR1c1N1cHBvcnQgfSwKIApkaWZm
IC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDRlZDg2YTZmODg5OGQzMWUzODA1
MGIzMmE1NGNhNzZiZTFkNjE2ZGYuLmU5MWM3Y2EyMDBiZTcxNGM2ODk5NjU3ZTk2YzI1MmIwZDA5
ZWRhNDkgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NSBAQAorMjAxNS0wNC0wMSAgIFNrYWNoa292IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNv
bT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisK
KyAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICBBZGRlZCBm
ZWF0dXJlIGZsYWcgdG8gc3dpdGNoIG9uL29mZiBlczYgYXJyb3cgZnVuY3Rpb24gRU5BQkxFX0VT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWAorCisgICAgICAgICAqIFNvdXJjZS9jbWFrZS9XZWJLaXRG
ZWF0dXJlcy5jbWFrZToKKyAgICAgICAgICogU291cmNlL2NtYWtlY29uZmlnLmguY21ha2U6CisK
IDIwMTUtMDMtMjkgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KIAog
ICAgICAgICBbQ01ha2VdIFVwZGF0ZSBvbGQgQ01ha2VMaXN0LnR4dCBpbiBndGVzdAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249968</attachid>
            <date>2015-04-02 04:11:26 -0700</date>
            <delta_ts>2015-04-09 00:06:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150402141040.patch</filename>
            <type>text/plain</type>
            <size>133470</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyMjA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
ZmNjM2QxNTdiYmMyNzhhZGUyOTEyOTc3ZWI5MzAxYTA5YTJjYjA4Li41NTRhYjEzZWJkNmIyOGU4
NWY4OTQ2MzBhYjk1MGY4MDQ1YWJmZTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMTUgQEAKKzIwMTUtMDQtMDEgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MDg1NQorCisgICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGRlZCBzdXBwb3J0IG9mIEVTNiBhcnJvdyBmdW5jdGlvbi4gQ2hhbmdlcyB3ZXJlIG1hZGUgYWNj
b3JkaW5nIGZvbGxvd2luZyBzcGVjIGh0dHA6Ly93aWtpLmVjbWFzY3JpcHQub3JnL2Rva3UucGhw
P2lkPWhhcm1vbnk6YXJyb3dfZnVuY3Rpb25fc3ludGF4CisgICAgICAgIEluIHBhdGNoIHdlcmUg
aW1wbGVtZW50ZWQgdGhlIHNpbXBsZXN0IGNhc2VzOgorICAgICAgICAgIDEgbm8gcGFyYW1ldGVy
cyAgICAgICAgICAgICAgICAoKSA9PiAxMCArIDIwCisgICAgICAgICAgMiBzaW5nbGUgcGFyYW1l
dGVyICAgICAgICAgICAgICB4ID0+IHggKyAyMAorICAgICAgICAgIDMgbXVsdGlwbGUgcGFyYW1l
dGVycyAgICAgICh4LCB5KSA9PiB4ICsgeQorICAgICAgICAgIDQgYXJyb3cgZnVuY3Rpb24gd2l0
aCBibG9jayAgICAgeCA9PiB7IHJldHVybiB4KjEwOyB9CisgICAgICAgICAgNSBsZXhpY2FsIHRo
aXMgLSB2YXJpYWJsZSB0aGlzIGlzIHBvaW50IHRvIHRoZSB0aGlzIG9mIHRoZSBmdW5jdGlvbiB3
aGVyZSBhcnJvdyBmdW5jdGlvbiBpcyBkZWNsYXJlZAorICAgICAgICAgIDYgTm8gY29uc3RydWN0
b3IgLSB0aGUgdXNpbmcgb2YgdGhlIGNvbW1hbmQgbmV3IGZvciBhcnJvdyBmdW5jdGlvbiBsZWFk
cyB0byBydW50aW1lIGVycm9yLiAKKworICAgICAgICAgTm90IHlldCBpbXBsZW1lbnRlZDoKKyAg
ICAgICAgICAxIHRoZSB2YXJpYWJsZSB3aXRoIG5hbWUgYXJndW1lbnRzIGluc2lkZSBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gc2hvdWxkIHBvaW50IHRvIGxpc3Qgb2YgYXJndW1lbnRzIG9mIGZ1bmN0
aW9uIHdoZXJlIGFycm93IGZ1bmN0aW9uIGlzIGRlY2xhcmVkCisgICAgICAgICAgMiBwYXJzZXIg
d2lsbCBwYXJzZSB0aGUgc3RhdGVtZW50IHgsIHkgPT4geCArIHkgaW5zdGVhZCBvZiByYWlzaW5n
IGV4Y2VwdGlvbgorICAgICAgICAgIDMgbWV0aG9kIGNhbGwsIGFwcGx5LCBiaW5kIHNob3VsZCBu
b3Qgb3ZlcnJpZGUgdGhlIHRoaXMgdmFyaWFibGUgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlv
bgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6Cisg
ICAgICAgICogSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qOgor
ICAgICAgICAqIGJ5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uOgorICAgICAgICAqIGJ5dGVjb2Rl
L0J5dGVjb2RlVXNlRGVmLmg6CisgICAgICAgIChKU0M6OkZ1bmN0b3I6OmNvbXB1dGVVc2VzRm9y
Qnl0ZWNvZGVPZmZzZXQpOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAg
ICAgIChKU0M6OkNvZGVCbG9jazo6ZHVtcEJ5dGVjb2RlKToKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVH
ZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Fy
cm93RnVuY3Rpb25FeHByZXNzaW9uKTogYWRkZWQKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5l
cmF0b3I6OmVtaXRUaGlzTm9kZUJ5dGVjb2RlKTogYWRkZWQKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvTm9kZXNDb2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6ZW1pdEJ5dGVjb2RlOjplbWl0Qnl0
ZWNvZGUpOiBhZGRlZAorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHByTm9kZTo6ZW1pdEJ5dGVj
b2RlKTogYWRkZWQKKyAgICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAg
ICAoSlNDOjpCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgICogZGZnL0RGR0Nh
cGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkNhcGFiaWxpdHlMZXZlbDo6Y2FwYWJpbGl0
eUxldmVsKToKKyAgICAgICAgKiBqaXQvSklULmg6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9v
cF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRJbmxpbmVzLmg6
CisgICAgICAgIChKU0M6OkpJVDo6Y2FsbE9wZXJhdGlvbik6IGFkZGVkCisgICAgICAgICogaml0
L0pJVC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcyk6Cisg
ICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3Bf
bmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5j
cHA6CisgICAgICAgIChKU0M6OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5ld0Fycm93RnVuY3Rp
b24pOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmg6CisgICAgICAgIChKU0M6
OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24pOiBhZGRlZAorICAgICAg
ICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAgICAgICAgKExMSU5UX1NMT1dfUEFUSF9E
RUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGxsaW50
L0xMSW50U2xvd1BhdGhzLmg6CisgICAgICAgIChMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3Bh
dGhfbmV3X2Fycm93X2Z1bmNfZXhwKSk6IGFkZGVkCisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206CisgICAgICAgICogcGFyc2VyL0FTVEJ1aWxkZXIuaDoKKyAgICAgICAg
KEpTQzo6QVNUQnVpbGRlcjo6Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIpOgorICAgICAgICAqIHBh
cnNlci9MZXhlci5jcHA6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9u
KToKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OmxleCk6CisgICAgICAgICogcGFyc2VyL0xleGVy
Lmg6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9uKToKKyAgICAgICAg
KiBwYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oOgorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHBy
Tm9kZTo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZAorICAgICAgICAqIHBhcnNlci9Ob2Rlcy5o
OgorICAgICAgICAoSlNDOjpOb2RlOjppc0Fycm93RnVuY0V4cHJOb2RlKTogYWRkZWQKKyAgICAg
ICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZCBjbGFzcworICAgICAgICAqIHBhcnNl
ci9QYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3Vy
Y2VFbGVtZW50cyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1h
cnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZVNvdXJjZUVsZW1lbnQp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6
UGFyc2VyOjpwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwYXJzZVByaW1hcnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFy
cm93RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6c2V0RW5kT2ZTdGF0ZW1lbnQp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIpOgorICAg
ICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkluZm8pOgorICAgICAgICAoSlND
OjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkJvZHkpOgorICAgICAgICAqIHBhcnNlci9QYXJz
ZXIuaDoKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpGdW5jdGlvblBhcnNlVHlwZSk6CisgICAgICAg
IChKU0M6OlBhcnNlcjo6cGFyc2VTb3VyY2VFbGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0V4cHJl
c3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnNldEVuZE9mU3RhdGVtZW50KToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKToKKyAgICAgICAgKiBw
YXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmg6CisgICAgICAgICogcGFyc2VyL1BhcnNlclRva2Vu
cy5oOgorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmFycm93RnVuY3Rpb25PZmZz
ZXQpOiBhZGRlZAorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmlzQXJyb3dGdW5j
dGlvbik6IGFkZGVkCisgICAgICAgIChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6YXJyb3dGdW5j
dGlvbkJvZHlUeXBlKTogYWRkZWQKKyAgICAgICAgKiBwYXJzZXIvU291cmNlQ29kZS5oOgorICAg
ICAgICAoSlNDOjpTb3VyY2VDb2RlOjpzdWJBcnJvd0V4cHJlc3Npb24pOgorICAgICAgICAqIHBh
cnNlci9TeW50YXhDaGVja2VyLmg6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNyZWF0
ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAgICAgKiBwYXJzZXIvU291cmNlUHJvdmlkZXJDYWNo
ZUl0ZW06CisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJh
bWV0ZXJzKToKKyAgICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0pOgorICAgICAg
ICAoSlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6ZW5kQXJyb3dGdW5jdGlvblRva2VuKToK
KyAgICAgICAgKiBydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oOiBhZGRlZCBjbGFzcyBmb3IgaGFu
ZGxlIGFycm93IGZ1bmN0aW9uIGNyZWF0aW9uIGFuZCBleGVjdXRpb24KKyAgICAgICAgKiBydW50
aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHA6CisgICAgICAgICogcnVudGltZS9KU0Z1bmN0aW9uLmg6
CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OkpTRnVuY3Rpb24pOiBhZGRlZCBvbmUgbW9yZSBj
b25zdHJ1Y3RvcgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaDoKKyAgICAg
ICAgKEpTQzo6SlNGdW5jdGlvbjo6SlNGdW5jdGlvbik6IGFkZGVkIGNvbnN0cnVjdG9yIGltcGxl
bWVudGF0aW9uCisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAg
IChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmpl
Y3Q6Om1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZSk6IGFkZGVkCisgICAgICAgIChKU0M6OkpTR2xv
YmFsT2JqZWN0OjphcnJvd0Z1bmN0aW9uU3RydWN0dXJlKToKKyAgICAgICAgKiB0ZXN0cy9zdHJl
c3MvanMvYXJyb3dmdW5jdGlvbi5qczoKKwogMjAxNS0wMy0zMSAgWXVzdWtlIFN1enVraSAgPHV0
YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBDbGVhbiB1cCBJZGVudGlmaWVyIGZhY3Rv
cmllcyB0byBjbGFyaWZ5IHRoZSBtZWFuaW5nIG9mIFN0cmluZ0ltcGwqCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ODczZjY4NTA1NmJiN2U0NzdiNmI2OTVkZmFjYjBhZWJhNThlYTQ0Ny4uMzc0MzhmNDQxMmFkNjM5
YTc0OTY4ZjNmM2VjOTdjM2QzYTNlZmIyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDE1LTA0LTAxICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAg
ICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUg
ZmxhZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgor
CisgICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAy
MDE1LTAzLTMxICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAg
ICAgICAgTW92ZSBFeHBhbnNpb25CZWhhdmlvckZsYWdzIGFuZCBUZXh0RGlyZWN0aW9uIHRvIHRo
ZWlyIG93biBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNzU3ZWE0OWQwYTMwZjk0ZDU2MjJiODM1
MzVjMWJlYmQwNDMxZTk1Ni4uZWY4N2M3NWUwMDQ5YjZjOWQ4NGQxNGNlYTQwMTVmNTBhYWUyZDUy
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTA0LTAxICBTa2FjaGtv
diBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgIFtFUzZdIEltcGxl
bWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyBFTkFCTEVfRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgorCisgICAgICAgICAqIENvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1LTAzLTMxICBZdXN1a2Ug
U3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIENsZWFuIHVwIElkZW50
aWZpZXIgZmFjdG9yaWVzIHRvIGNsYXJpZnkgdGhlIG1lYW5pbmcgb2YgU3RyaW5nSW1wbCoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA3MjExMjc2NTJkODg4ZjUwMWFiNmMy
MTdiODMzNDQxOTA0M2Y1ODY0Li41MDUzZGMxN2U2ZDU4YjExMWM3MzBhOTRjYzA3NGIwY2JlNTA3
OGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC00NjYsNiArNDY2LDcg
QEAgc2V0KEphdmFTY3JpcHRDb3JlX1JVTlRJTUVfU09VUkNFUwogICAgIHJ1bnRpbWUvSlNBcnJh
eUJ1ZmZlclZpZXcuY3BwCiAgICAgcnVudGltZS9KU0FycmF5SXRlcmF0b3IuY3BwCiAgICAgcnVu
dGltZS9KU0JvdW5kRnVuY3Rpb24uY3BwCisgICAgcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3Bw
CiAgICAgcnVudGltZS9KU0dsb2JhbE9iamVjdERlYnVnZ2FibGUuY3BwCiAgICAgcnVudGltZS9K
U0NKU1ZhbHVlLmNwcAogICAgIHJ1bnRpbWUvSlNDYWxsZWUuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKaW5kZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0
OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FO
VkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgg
PSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5U
QVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklM
VEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwog
RU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVW
RUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFC
TEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRf
QVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BB
VEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVO
QUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVf
Q1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5B
QkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVO
QUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9O
KSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQo
RU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhU
X0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01f
U0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRB
TElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRB
SUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9F
VkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRf
TE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAk
KEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNF
KSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9W
RVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxF
X0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxF
X0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFC
TEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykg
JChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9D
T05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RB
VElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxF
X01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQo
RU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAk
KEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BS
T01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklY
X0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkg
JChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1Ip
ICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5H
KSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQo
RU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdf
Rk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVN
QkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9B
RElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxM
KSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVf
VkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVO
QUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRT
KSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9X
RUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5B
QkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xB
WU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFU
VVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVO
QUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFT
X1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZ
TlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xF
VkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NP
TVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19H
UklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxF
Q1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkg
JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
UykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVO
QUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJ
TUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
TEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9B
TklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQp
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVO
QUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVO
QUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5B
QkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKaW5kZXggNzQz
MzBlNzAzZGFjNGQzNjAwZWFiMjdhMGFkOGViNGFmMDBlMGIzMi4uNjIyODczZGQyZjk0NzBhOTEz
MThhY2NjZDQ3MDlkY2VhZTcyNjA4ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52
Y3hwcm9qCkBAIC03MzQsNiArNzM0LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1
bnRpbWVcSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJWaWV3LmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNCb3VuZEZ1bmN0aW9uLmNwcCIgLz4KKyAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJvd0Z1bmN0aW9uLmNwcCIgLz4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZS5jcHAiIC8+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ2FsbGVlLmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDYXRjaFNjb3BlLmNwcCIgLz4KQEAgLTE1MjYsNiArMTUy
Nyw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJW
aWV3SW5saW5lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0Fy
cmF5SXRlcmF0b3IuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNC
b3VuZEZ1bmN0aW9uLmgiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpT
QXJyb3dGdW5jdGlvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxK
U0NJbmxpbmVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0pT
VmFsdWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1
ZUlubGluZXMuaCIgLz4KQEAgLTE4MDAsNCArMTgwMiw0IEBACiAgIDxJbXBvcnRHcm91cCBMYWJl
bD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1Bh
dGgpXEJ1aWxkQ3VzdG9taXphdGlvbnNcbWFzbS50YXJnZXRzIiAvPgogICA8L0ltcG9ydEdyb3Vw
PgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYmEyZDEzNmViOTViNWE5ZmQzNTRhYjMwYThm
MzY5MWJmNzhjZWI4Ni4uZTlkNmYyNDY1ZTMzODU1ZDM2OGI0ZDIwNGUwZDc2NDZjNTZlOTg5ZiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwOTIsNiArMTA5Miw4IEBACiAJCTg2
RjNFRUJGMTY4Q0RFOTMwMDc3QjkyQSAvKiBPYmpjUnVudGltZUV4dHJhcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGM0VFQjYxNjg1NUE1QjAwNzdC
OTJBIC8qIE9iamNSdW50aW1lRXh0cmFzLmggKi87IH07CiAJCTg2RkE5RTkxMTQyQkJCMkUwMDE3
NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRGdW5j
dGlvbi5jcHAgKi87IH07CiAJCTg2RkE5RTkyMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVu
Y3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2
RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLzsgfTsKKwkJOEIw
RjQyNEMxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUyMDAzOTE3
RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCAqLzsgfTsKKwkJOEIwRjQyNEMxQUJENkRFMjAwMzkx
N0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlv
bi5oICovOyB9OwogCQk5MDIxM0UzRDEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGlj
cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIx
M0UzQjEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi87IH07CiAJCTkw
MjEzRTNFMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIxM0UzQzEyM0E0MEMyMDBENDIy
RjMgLyogTWVtb3J5U3RhdGlzdGljcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTkzMDUyQzM0MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVu
YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzA1
MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwICovOyB9OwpAQCAtMjgyNCw2
ICsyODI2LDggQEAKIAkJODZGNzVFRkQxNTFDMDYyRjAwN0M5QkEzIC8qIFJlZ0V4cE1hdGNoZXNB
cnJheS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWdFeHBNYXRj
aGVzQXJyYXkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkZBOUU4RjE0MkJC
QjJEMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTQm91bmRGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdFQSAvKiBKU0Fy
cm93RnVuY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcnJvd0Z1bmN0aW9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93
RnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcnJv
d0Z1bmN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTAyMTNFM0IxMjNB
NDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTWVtb3J5U3RhdGlzdGljcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lbW9yeVN0YXRpc3RpY3MuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8q
IFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBh
cnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ0MzgsNiArNDQ0
Miw4IEBACiAJCQkJQTdCREFFQzUxN0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJyYXlJdGVyYXRvci5o
ICovLAogCQkJCTg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3Bw
ICovLAogCQkJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAq
LywKKwkJCQk4QjBGNDI0QTFBQkQ2RDJGMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggKi8s
CisJCQkJOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgKi8s
CiAJCQkJNjU3Q0Y0NTYxOUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmNwcCAqLywKIAkJCQk2
NTdDRjQ1NzE5QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuaCAqLywKIAkJCQkwRkQ5NDk3RTFB
OTdEQjk2MDBFMjg5NjYgLyogSlNDYXRjaFNjb3BlLmNwcCAqLywKQEAgLTcxNjYsNiArNzE3Miw3
IEBACiAJCQkJMEZEOEEzMUIxN0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTE9TUkVudHJ5LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGMjM1QkRDMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjM1QkRGMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JF
eGl0Q29tcGlsZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOEIwRjQyNEMxQUJENkRFMjAwMzkx
N0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkVBMEEyQTE3
MDk2Mjk2MDBCQjcyMkMgLyogRlRMT3V0cHV0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNDg1
MzI5MTg3REZERUMwMDgzQjY4NyAvKiBGVExSZWNvdmVyeU9wY29kZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwRjZCMUNDMzE4NjJDNDc4MDA4NDVEOTcgLyogRlRMUmVnaXN0ZXJBdE9mZnNldC5j
cHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9CeXRlY29kZUxpc3QuanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9C
eXRlY29kZUxpc3QuanNvbgppbmRleCA2YjI0MzkxNTZhYjNhZmFlNmI1NThhYjkwNjZkMjIyNTE1
ZDU5ZTQ1Li40MzYwNzA5ZDhmN2U0MTgyMTVhYjJhZjk1OWJmNjQ0OGFmMDM4MDI4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24KKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCkBAIC05
NSw2ICs5NSw3IEBACiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9zd2l0Y2hfc3RyaW5nIiwg
Imxlbmd0aCIgOiA0IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfZnVuYyIsICJs
ZW5ndGgiIDogNCB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfbmV3X2Z1bmNfZXhwIiwg
Imxlbmd0aCIgOiA0IH0sCisgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfYXJyb3dfZnVu
Y19leHAiLCAibGVuZ3RoIiA6IDUgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGwi
LCAibGVuZ3RoIiA6IDkgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGxfZXZhbCIs
ICJsZW5ndGgiIDogOSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbF92YXJhcmdz
IiwgImxlbmd0aCIgOiA5IH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9C
eXRlY29kZVVzZURlZi5oCmluZGV4IDg1ZjI5MTVjN2U4ZjYwMWFkM2VjMTc4YmY2OWUzNTQ0Zjc1
NGMyY2YuLjE3YjZiZWQ4MWZlMjViNjIzMzBiYWEzZmQwMzFjNzE2YWI4OGY5YmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCkBAIC0xMTYs
NiArMTE2LDkgQEAgdm9pZCBjb21wdXRlVXNlc0ZvckJ5dGVjb2RlT2Zmc2V0KAogICAgIGNhc2Ug
b3BfZ2V0X3Byb3BlcnR5X2VudW1lcmF0b3I6CiAgICAgY2FzZSBvcF9nZXRfZW51bWVyYWJsZV9s
ZW5ndGg6CiAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRpZgog
ICAgIGNhc2Ugb3BfdG9faW5kZXhfc3RyaW5nOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29u
c3Rfbm9wOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29uc3Q6CkBAIC0zMDgsNiArMzExLDkg
QEAgdm9pZCBjb21wdXRlRGVmc0ZvckJ5dGVjb2RlT2Zmc2V0KENvZGVCbG9jayogY29kZUJsb2Nr
LCB1bnNpZ25lZCBieXRlY29kZU9mZnNldCwKICAgICBjYXNlIG9wX25ld19yZWdleHA6CiAgICAg
Y2FzZSBvcF9uZXdfZnVuYzoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhw
OgorI2VuZGlmCiAgICAgY2FzZSBvcF9jYWxsX3ZhcmFyZ3M6CiAgICAgY2FzZSBvcF9jb25zdHJ1
Y3RfdmFyYXJnczoKICAgICBjYXNlIG9wX2dldF9mcm9tX3Njb3BlOgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAppbmRleCA5ZTk1MTdlNzgxYmU1NTdmMDRm
MTdmOTNkZWM3MWI5MTZjYzlhMmFkLi4xMTU0MjBjZTExYjA4NTlmNmVlMzNhODI5YzQzMGQxOTA3
YmYxZWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNw
cApAQCAtMTI3NCw2ICsxMjc0LDE3IEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wQnl0ZWNvZGUoCiAg
ICAgICAgICAgICBvdXQucHJpbnRmKCIlcywgJXMsIGYlZCIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0
YSgpLCByZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjApOwogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBj
YXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDogeworICAgICAgICAgICAgaW50IHIwID0gKCsraXQp
LT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUub3BlcmFuZDsKKyAg
ICAgICAgICAgIGludCBmMCA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgaW50IHIy
ID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBwcmludExvY2F0aW9uQW5kT3Aob3V0
LCBleGVjLCBsb2NhdGlvbiwgaXQsICJvcF9uZXdfYXJyb3dfZnVuY19leHAiKTsKKyAgICAgICAg
ICAgIG91dC5wcmludGYoIiVzLCAlcywgZiVkLCAlcyIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0YSgp
LCByZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjAsIHJlZ2lzdGVyTmFtZShyMikuZGF0YSgpKTsK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgY2FzZSBvcF9u
ZXdfZnVuY19leHA6IHsKICAgICAgICAgICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVyYW5kOwog
ICAgICAgICAgICAgaW50IHIxID0gKCsraXQpLT51Lm9wZXJhbmQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCmlu
ZGV4IDg4NzJkNzc3ZDNlNTkyMTFjOTE2ZDQ3ODBkMGUwNDI3ZWQzOThmODYuLmE3OTY0YmI1YmMz
MmFlNzVkYTM1MDAzZDZmZGU0NjRhMmM5ZTA2NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0xNzU0
LDYgKzE3NTQsMzQgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdGdW5j
dGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogcjAsIEZ1bmNFeHAKICAgICBpbnN0cnVjdGlvbnMo
KS5hcHBlbmQoaW5kZXgpOwogICAgIHJldHVybiByMDsKIH0KKyAgICAKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVt
aXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVuY0V4cHJOb2Rl
KiBuKQoreworICAgIEZ1bmN0aW9uQm9keU5vZGUqIGZ1bmN0aW9uID0gbi0+Ym9keSgpOworICAg
IHVuc2lnbmVkIGluZGV4ID0gbV9jb2RlQmxvY2stPmFkZEZ1bmN0aW9uRXhwcihtYWtlRnVuY3Rp
b24oZnVuY3Rpb24pKTsKKyAgICAKKyAgICBlbWl0T3Bjb2RlKG9wX25ld19hcnJvd19mdW5jX2V4
cCk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHIwLT5pbmRleCgpKTsKKyAgICBpbnN0cnVj
dGlvbnMoKS5hcHBlbmQoc2NvcGVSZWdpc3RlcigpLT5pbmRleCgpKTsKKyAgICBpbnN0cnVjdGlv
bnMoKS5hcHBlbmQoaW5kZXgpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZCh0aGlzUmVnaXN0
ZXIoKS0+aW5kZXgoKSk7CisgICAgcmV0dXJuIHIwOworfQorICAgIAorUmVnaXN0ZXJJRCogQnl0
ZWNvZGVHZW5lcmF0b3I6OmVtaXRUaGlzTm9kZUJ5dGVjb2RlKFJlZ2lzdGVySUQqIGRzdCwgSlNU
ZXh0UG9zaXRpb24gcG9zaXRpb24pCit7CisgICAgaWYgKGRzdCA9PSBpZ25vcmVkUmVzdWx0KCkp
CisgICAgICAgIHJldHVybiAwOworICAgIFJlZ2lzdGVySUQqIHJlc3VsdCA9IG1vdmVUb0Rlc3Rp
bmF0aW9uSWZOZWVkZWQoZHN0LCB0aGlzUmVnaXN0ZXIoKSk7CisgICAgaWYgKHZtKCktPnR5cGVQ
cm9maWxlcigpKSB7CisgICAgICAgIGVtaXRQcm9maWxlVHlwZSh0aGlzUmVnaXN0ZXIoKSwgUHJv
ZmlsZVR5cGVCeXRlY29kZURvZXNOb3RIYXZlR2xvYmFsSUQsIG51bGxwdHIpOworICAgICAgICBz
dGF0aWMgY29uc3QgdW5zaWduZWQgdGhpc0xlbmd0aCA9IDQ7CisgICAgICAgIGVtaXRUeXBlUHJv
ZmlsZXJFeHByZXNzaW9uSW5mbyhwb3NpdGlvbiwgSlNUZXh0UG9zaXRpb24oLTEsIHBvc2l0aW9u
Lm9mZnNldCArIHRoaXNMZW5ndGgsIC0xKSk7CisgICAgfQorICAgIHJldHVybiByZXN1bHQ7Cit9
CisjZW5kaWYKIAogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdEZWZhdWx0
Q29uc3RydWN0b3IoUmVnaXN0ZXJJRCogZHN0LCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JL
aW5kLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmluZGV4IDRmZmVmNmI0
MDk3ZjAyNDZkYzFiYWU4OWVlOGFhYjhlYzk1YzYwZmEuLjM3OGExOWVhYWVkZGZiZGI0ZjUxMjI4
MGU5MDg5NDM4NTc3YTc0OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTQ1NCw2ICs0NTQsMTAgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5jdGlvbkludGVybmFs
KFJlZ2lzdGVySUQqIGRzdCwgdW5zaWduZWQgaW5kZXgpOwogICAgICAgICBSZWdpc3RlcklEKiBl
bWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIGRzdCwgRnVuY0V4cHJOb2RlKiBm
dW5jKTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0RlZmF1bHRDb25zdHJ1Y3RvcihSZWdp
c3RlcklEKiBkc3QsIENvbnN0cnVjdG9yS2luZCwgY29uc3QgSWRlbnRpZmllciYgbmFtZSk7Cisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgUmVnaXN0ZXJJRCog
ZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqLCBGdW5jRXhwck5vZGUq
KTsKKyAgICAgICAgUmVnaXN0ZXJJRCogZW1pdFRoaXNOb2RlQnl0ZWNvZGUoUmVnaXN0ZXJJRCos
IEpTVGV4dFBvc2l0aW9uKTsKKyNlbmRpZgogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3UmVn
RXhwKFJlZ2lzdGVySUQqIGRzdCwgUmVnRXhwKik7CiAKICAgICAgICAgUmVnaXN0ZXJJRCogZW1p
dE1vdmVFbXB0eVZhbHVlKFJlZ2lzdGVySUQqIGRzdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXggNGY3NDc2Y2EzM2M5
MTMxYmI3M2RmYTg5NmE2MDA1NzU2MjY1ODFiNy4uZGU1NDkxY2M3MDJlNjcxMmVhZWNhNTAxZWU0
OGI1OTA3Nzk2ZjM0NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21w
aWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29t
cGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtMTQ5LDcgKzE0OSw5IEBAIFJlZ2lzdGVySUQqIFRo
aXNOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0
ZXJJRCogZHN0CiAKICAgICBpZiAoZHN0ID09IGdlbmVyYXRvci5pZ25vcmVkUmVzdWx0KCkpCiAg
ICAgICAgIHJldHVybiAwOwotCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXRUaGlzTm9kZUJ5dGVjb2RlKGRzdCwgcG9zaXRpb24o
KSk7CisjZWxzZQogICAgIFJlZ2lzdGVySUQqIHJlc3VsdCA9IGdlbmVyYXRvci5tb3ZlVG9EZXN0
aW5hdGlvbklmTmVlZGVkKGRzdCwgZ2VuZXJhdG9yLnRoaXNSZWdpc3RlcigpKTsKICAgICBpZiAo
Z2VuZXJhdG9yLnZtKCktPnR5cGVQcm9maWxlcigpKSB7CiAgICAgICAgIGdlbmVyYXRvci5lbWl0
UHJvZmlsZVR5cGUoZ2VuZXJhdG9yLnRoaXNSZWdpc3RlcigpLCBQcm9maWxlVHlwZUJ5dGVjb2Rl
RG9lc05vdEhhdmVHbG9iYWxJRCwgbnVsbHB0cik7CkBAIC0xNTcsNiArMTU5LDcgQEAgUmVnaXN0
ZXJJRCogVGhpc05vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9y
LCBSZWdpc3RlcklEKiBkc3QKICAgICAgICAgZ2VuZXJhdG9yLmVtaXRUeXBlUHJvZmlsZXJFeHBy
ZXNzaW9uSW5mbyhwb3NpdGlvbigpLCBKU1RleHRQb3NpdGlvbigtMSwgcG9zaXRpb24oKS5vZmZz
ZXQgKyB0aGlzTGVuZ3RoLCAtMSkpOwogICAgIH0KICAgICByZXR1cm4gcmVzdWx0OworI2VuZGlm
CiB9CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBTdXBlck5vZGUgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMjgzMyw2ICsyODM2LDE0IEBAIFJl
Z2lzdGVySUQqIEZ1bmNFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBn
ZW5lcmF0b3IsIFJlZ2lzdGVySUQqCiAgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0TmV3RnVuY3Rp
b25FeHByZXNzaW9uKGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHRoaXMpOwogfQog
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgICAgCisvLyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0gQXJyb3dGdW5jRXhwck5vZGUgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCitSZWdpc3RlcklEKiBBcnJvd0Z1bmNFeHByTm9kZTo6ZW1pdEJ5dGVj
b2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKK3sKKyAg
ICByZXR1cm4gZ2VuZXJhdG9yLmVtaXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihnZW5lcmF0
b3IuZmluYWxEZXN0aW5hdGlvbihkc3QpLCB0aGlzKTsKK30KKyNlbmRpZgorICAgIAogI2lmIEVO
QUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
IENsYXNzRGVjbE5vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKaW5kZXggNTNh
YzE3NzQ2MTk2OWVlZmI2NmFkZjYwOTA2ODFlNmU1Yjc2YjAzMi4uZmQ3MzdhM2Y3OGU5YzJiOWYx
YTk5MTk3ODhkMTIzZTZiMmQ5MzMwYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKQEAgLTM2NzUsNiArMzY3NSwxNSBAQCBib29sIEJ5dGVD
b2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxpbWl0KQogICAgICAgICAgICAgTkVYVF9P
UENPREUob3BfbmV3X2Z1bmNfZXhwKTsKICAgICAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6IHsK
KyAgICAgICAgICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhwciA9IG1faW5saW5lU3RhY2tUb3At
Pm1fcHJvZmlsZWRCbG9jay0+ZnVuY3Rpb25FeHByKGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9w
ZXJhbmQpOworICAgICAgICAgICAgRnJvemVuVmFsdWUqIGZyb3plbiA9IG1fZ3JhcGguZnJlZXpl
U3Ryb25nKGV4cHIpOworICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5z
dHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwKKyAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKE5ld0Z1
bmN0aW9uLCBPcEluZm8oZnJvemVuKSwgZ2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1
Y3Rpb25bMl0udS5vcGVyYW5kKSkpKTsKKyAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX25ld19h
cnJvd19mdW5jX2V4cCk7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBjYXNlIG9wX3R5cGVv
ZjogewogICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25b
MV0udS5vcGVyYW5kKSwKICAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKFR5cGVPZiwgZ2V0KFZp
cnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSkpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAppbmRleCA4ZWY0ZGNm
MTU2OGJkNWVkYTRiODk3ZTc2ODRhOGNiYjkxYmY2ZTA4Li43ZjQ1YTgzMWVhNmU2MjczYmFjZDJl
M2Y4MzM2ZGRjNTYyYzhjYzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0NhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdD
YXBhYmlsaXRpZXMuY3BwCkBAIC0yMDgsNiArMjA4LDkgQEAgQ2FwYWJpbGl0eUxldmVsIGNhcGFi
aWxpdHlMZXZlbChPcGNvZGVJRCBvcGNvZGVJRCwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIEluc3Ry
dWMKICAgICBjYXNlIG9wX25ld19mdW5jOgogICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOgogICAg
IGNhc2Ugb3BfY3JlYXRlX2xleGljYWxfZW52aXJvbm1lbnQ6CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRp
ZgogICAgICAgICByZXR1cm4gQ2FuQ29tcGlsZUFuZElubGluZTsKIAogICAgIGNhc2Ugb3BfcHV0
X3RvX3Njb3BlOiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0
ZXIvSW50ZXJwcmV0ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0lu
dGVycHJldGVyLmNwcAppbmRleCBlY2ZjZTkxYmQzYzAzMDg1M2EzOTQwMzJiYTVjZDI4MmExYTNj
ZDhlLi4zYWM5M2E5ZmFiMjQ4MjQ4MDc1ZTIxODAzMzI3Mzc0NDM1Yzk5MGNlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKQEAgLTQ1
LDYgKzQ1LDkgQEAKICNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJKU0FycmF5
LmgiCiAjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNlbmRpZgogI2lu
Y2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgog
I2luY2x1ZGUgIkpTTmFtZVNjb3BlLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKaW5kZXgg
NDJhODJkNDM5NDYxNjJmOTVmYTQ3NDY3NTY3MTM5ZDRhYWYyMzg2Yi4uODNkNTA4Yjg3NjU5ZTNl
ZmY4YmMxODdlMDZkYWQ3MDExZjQ4MmVkMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcApA
QCAtMjUzLDYgKzI1Myw3IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkKICAg
ICAgICAgREVGSU5FX09QKG9wX25ld19hcnJheV9idWZmZXIpCiAgICAgICAgIERFRklORV9PUChv
cF9uZXdfZnVuYykKICAgICAgICAgREVGSU5FX09QKG9wX25ld19mdW5jX2V4cCkKKyAgICAgICAg
REVGSU5FX09QKG9wX25ld19hcnJvd19mdW5jX2V4cCkgCiAgICAgICAgIERFRklORV9PUChvcF9u
ZXdfb2JqZWN0KQogICAgICAgICBERUZJTkVfT1Aob3BfbmV3X3JlZ2V4cCkKICAgICAgICAgREVG
SU5FX09QKG9wX25vdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCmluZGV4IGVlNDg1NWRjMmU3OGI1
NWFjYzQ1OTllYmRiOTlhMGQ4ZTA4YmU3Y2MuLmZiYTVkMmUzMWE1NDFmZWU1ZDQ0YTI4ZjllOGUx
NTljOWNiM2E0NmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaApAQCAtNTIyLDYgKzUyMiw3IEBA
IG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2FycmF5X2J1ZmZlcihJ
bnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2Z1bmMoSW5zdHJ1Y3Rpb24q
KTsKICAgICAgICAgdm9pZCBlbWl0X29wX25ld19mdW5jX2V4cChJbnN0cnVjdGlvbiopOworICAg
ICAgICB2b2lkIGVtaXRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwKEluc3RydWN0aW9uKik7CiAgICAg
ICAgIHZvaWQgZW1pdF9vcF9uZXdfb2JqZWN0KEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQg
ZW1pdF9vcF9uZXdfcmVnZXhwKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9u
b3QoSW5zdHJ1Y3Rpb24qKTsKQEAgLTcwNSw2ICs3MDYsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9F
SkosIGludCwgR1BSUmVnLCBHUFJSZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBj
YWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2MsIEdQUlJlZyk7CiAgICAgICAgIE1hY3Jv
QXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0MsIGludCwg
R1BSUmVnLCBKU0NlbGwqKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9u
X0VKc2NDSiwgaW50LCBHUFJSZWcsIEpTQ2VsbCosIEdQUlJlZyk7CisjZW5kaWYKICAgICAgICAg
TWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihDX0pJVE9wZXJhdGlvbl9FSnNjWiwg
R1BSUmVnLCBpbnQzMl90KTsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJh
dGlvbihDX0pJVE9wZXJhdGlvbl9FSnNjWiwgaW50LCBHUFJSZWcsIGludDMyX3QpOwogI2lmIFVT
RShKU1ZBTFVFNjQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElu
bGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oCmluZGV4IDll
ZTI0ZDA5MjI4YTk4ODJlYTc2OTYyOWQxYTg3YjZjMzRhODYzMzQuLjU0MzRlNWZiMTYxNDg3Yzg4
YWQxZmNmMWJjZjYzMDZmNjAzZDFlZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUSW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5s
aW5lcy5oCkBAIC0yNzEsNiArMjcxLDE0IEBAIEFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6
OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKc2NDIG9wZXJhCiAgICAg
cmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRKU1ZhbHVlUmVzdWx0KG9wZXJh
dGlvbiwgZHN0KTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitB
TFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihKX0pJ
VE9wZXJhdGlvbl9FSnNjQ0ogb3BlcmF0aW9uLCBpbnQgZHN0LCBHUFJSZWcgYXJnMSwgSlNDZWxs
KiBjZWxsLCBHUFJSZWcgYXJnMikKK3sKKyAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUo
YXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSwgYXJnMik7CisgICAgcmV0dXJuIGFwcGVuZENhbGxX
aXRoRXhjZXB0aW9uQ2hlY2tTZXRKU1ZhbHVlUmVzdWx0KG9wZXJhdGlvbiwgZHN0KTsKK30KKyNl
bmRpZgorICAgIAogQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxP
cGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRVAgb3BlcmF0aW9uLCBpbnQgZHN0LCB2b2lkKiBwb2lu
dGVyKQogewogICAgIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHBv
aW50ZXIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rl
cy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCmluZGV4IGQz
ZDU4MGU5ZTI2MDA4NTNiNjY0OWUyODU5MThmODUzOGJlNjk0NGMuLjExMmVjMGM1NDk2ODE2ZmNk
MWMyYzMzMmM5MzIxMTY0NjA5M2FlNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3Bjb2Rlcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRP
cGNvZGVzLmNwcApAQCAtOTcyLDYgKzk3MiwzMSBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9uZXdfZnVu
Y19leHAoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKICAgICBjYWxsT3BlcmF0aW9u
KG9wZXJhdGlvbk5ld0Z1bmN0aW9uLCBkc3QsIHJlZ1QwLCBmdW5jRXhwcik7CiAgICAgZG9uZS5s
aW5rKHRoaXMpOwogfQorICAgIAordm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2Fycm93X2Z1bmNfZXhw
KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCit7CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBKdW1wIG5vdFVuZGVmaW5lZFNjb3BlOworICAgIGludCBk
c3QgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kOworI2lmIFVTRShKU1ZBTFVFNjQp
CisgICAgZW1pdEdldFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVy
YW5kLCByZWdUMCk7CisgICAgZW1pdEdldFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rp
b25bNF0udS5vcGVyYW5kLCByZWdUMSk7CisgICAgbm90VW5kZWZpbmVkU2NvcGUgPSBicmFuY2g2
NChOb3RFcXVhbCwgcmVnVDAsIFRydXN0ZWRJbW02NChKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmlu
ZWQoKSkpKTsKKyAgICBzdG9yZTY0KFRydXN0ZWRJbW02NChKU1ZhbHVlOjplbmNvZGUoanNVbmRl
ZmluZWQoKSkpLCBBZGRyZXNzKGNhbGxGcmFtZVJlZ2lzdGVyLCBzaXplb2YoUmVnaXN0ZXIpICog
ZHN0KSk7CisjZWxzZQorICAgIGVtaXRMb2FkUGF5bG9hZChjdXJyZW50SW5zdHJ1Y3Rpb25bMl0u
dS5vcGVyYW5kLCByZWdUMCk7CisgICAgZW1pdExvYWRQYXlsb2FkKGN1cnJlbnRJbnN0cnVjdGlv
bls0XS51Lm9wZXJhbmQsIHJlZ1QxKTsKKyAgICBub3RVbmRlZmluZWRTY29wZSA9IGJyYW5jaDMy
KE5vdEVxdWFsLCB0YWdGb3IoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCksIFRydXN0
ZWRJbW0zMihKU1ZhbHVlOjpVbmRlZmluZWRUYWcpKTsKKyAgICBlbWl0U3RvcmUoZHN0LCBqc1Vu
ZGVmaW5lZCgpKTsKKyNlbmRpZgorICAgIEp1bXAgZG9uZSA9IGp1bXAoKTsKKyAgICBub3RVbmRl
ZmluZWRTY29wZS5saW5rKHRoaXMpOworICAgIAorICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZnVu
Y3Rpb24gPSBtX2NvZGVCbG9jay0+ZnVuY3Rpb25FeHByKGN1cnJlbnRJbnN0cnVjdGlvblszXS51
Lm9wZXJhbmQpOworICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbiwg
ZHN0LCByZWdUMCwgZnVuY3Rpb24sIHJlZ1QxKTsKKyAgICBkb25lLmxpbmsodGhpcyk7CisjZW5k
aWYKK30KIAogdm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2FycmF5KEluc3RydWN0aW9uKiBjdXJyZW50
SW5zdHJ1Y3Rpb24pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25z
LmNwcAppbmRleCA1OGI4NjM2ZDg4NmRiYjJlODUyOTFiMjkzNTBkOWNmNGUxNDI0MTcxLi45ZjUy
NGM4YmQ5OTY4NTc2MTIwYzAzNjUxNzc4MjU1MDI3NjQ2ZjFiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTQyLDYgKzQyLDEwIEBACiAjaW5jbHVk
ZSAiSG9zdENhbGxSZXR1cm5WYWx1ZS5oIgogI2luY2x1ZGUgIkpJVC5oIgogI2luY2x1ZGUgIkpJ
VFRvREZHRGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmgiCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNlbmRpZgor
I2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNp
bmNsdWRlICJKU0NhdGNoU2NvcGUuaCIKICNpbmNsdWRlICJKU0Z1bmN0aW9uTmFtZVNjb3BlLmgi
CkBAIC05MzMsNiArOTM3LDIxIEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uTmV3RnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBKU1Njb3BlKiBzY29wCiAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIHN0YXRpY19jYXN0PEZ1bmN0
aW9uRXhlY3V0YWJsZSo+KGZ1bmN0aW9uRXhlY3V0YWJsZSksIHNjb3BlKSk7CiB9CiAKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorRW5jb2RlZEpTVmFsdWUgSklUX09QRVJB
VElPTiBvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNTY29wZSog
c2NvcGUsIEpTQ2VsbCogZnVuY3Rpb25FeGVjdXRhYmxlLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFs
dWUpCit7CisgICAgQVNTRVJUKGZ1bmN0aW9uRXhlY3V0YWJsZS0+aW5oZXJpdHMoRnVuY3Rpb25F
eGVjdXRhYmxlOjppbmZvKCkpKTsKKyAgICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgIE5hdGl2
ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKKyAgICBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0ID0gZXhlYy0+Y2FsbGVlKCktPmdsb2JhbE9iamVjdCgpOworICAgIEpTRnVu
Y3Rpb24qIGZ1bmMgPSBKU0Fycm93RnVuY3Rpb246OmNyZWF0ZSh2bSwgc2NvcGUsIHN0YXRpY19j
YXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KGZ1bmN0aW9uRXhlY3V0YWJsZSksIGdsb2JhbE9iamVj
dCk7CisgICAgCisgICAgSlNBcnJheSogYm91bmRBcmdzID0gSlNBcnJheTo6dHJ5Q3JlYXRlVW5p
bml0aWFsaXplZCh2bSwgZ2xvYmFsT2JqZWN0LT5hcnJheVN0cnVjdHVyZUZvckluZGV4aW5nVHlw
ZUR1cmluZ0FsbG9jYXRpb24oQXJyYXlXaXRoVW5kZWNpZGVkKSwgMCk7CisgICAgCisgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShKU0JvdW5kRnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFsT2Jq
ZWN0LCBmdW5jLCBKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSwgYm91bmRBcmdzLCAwLCAiIikp
OworfQorI2VuZGlmCisgICAgCiBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3T2Jq
ZWN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiB7CiAgICAgVk0qIHZt
ID0gJmV4ZWMtPnZtKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VE9wZXJhdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5o
CmluZGV4IDRkZWNlZjRlYjhiNDhiYjkzN2Q1NGQwYjYwNGI5Yjc3NjdhNGVhNjEuLjU4NGFhNTNk
ZjMyNWU1MzBjZGZiMjVjMzExMDlhMWI4MTBiNDQ2NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3BlcmF0aW9ucy5oCkBAIC0xMTYsNiArMTE2LDkgQEAgdHlwZWRlZiBFbmNvZGVk
SlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVBQKShFeGVjU3RhdGUqLCB2
b2lkKiwgdm8KIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3Bl
cmF0aW9uX0VQUykoRXhlY1N0YXRlKiwgdm9pZCosIHNpemVfdCk7CiB0eXBlZGVmIEVuY29kZWRK
U1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FUGMpKEV4ZWNTdGF0ZSosIElu
c3RydWN0aW9uKik7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJ
VE9wZXJhdGlvbl9FSnNjQykoRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCopOworI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJ
VF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FSnNjQ0opKEV4ZWNTdGF0ZSosIEpTU2NvcGUq
LCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSk7CisjZW5kaWYKIHR5cGVkZWYgRW5jb2RlZEpTVmFs
dWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTUykoRXhlY1N0YXRlKiwgc2l6ZV90
LCBzaXplX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRP
cGVyYXRpb25fRVNzaUNJKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEpTQ2VsbCos
IFN0cmluZ0ltcGwqKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpf
SklUT3BlcmF0aW9uX0VTc2lKSSkoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNv
ZGVkSlNWYWx1ZSwgU3RyaW5nSW1wbCopOwpAQCAtMjc4LDYgKzI4MSw5IEBAIEVuY29kZWRKU1Zh
bHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXlXaXRoUHJvZmlsZShFeGVjU3RhdGUq
LCBBcnJheUFsbG9jCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Fy
cmF5QnVmZmVyV2l0aFByb2ZpbGUoRXhlY1N0YXRlKiwgQXJyYXlBbGxvY2F0aW9uUHJvZmlsZSos
IGNvbnN0IEpTVmFsdWUqIHZhbHVlcywgaW50MzJfdCBzaXplKSBXVEZfSU5URVJOQUw7CiBFbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5V2l0aFNpemVBbmRQcm9m
aWxlKEV4ZWNTdGF0ZSosIEFycmF5QWxsb2NhdGlvblByb2ZpbGUqLCBFbmNvZGVkSlNWYWx1ZSBz
aXplKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
bk5ld0Z1bmN0aW9uKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKSBXVEZfSU5URVJOQUw7
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK0VuY29kZWRKU1ZhbHVlIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbihFeGVjU3RhdGUqLCBKU1Njb3Bl
KiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUpIFdURl9JTlRFUk5BTDsKKyNlbmRpZgogSlNDZWxs
KiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUq
KSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5l
d1JlZ2V4cChFeGVjU3RhdGUqLCB2b2lkKikgV1RGX0lOVEVSTkFMOwogdm9pZCBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkhhbmRsZVdhdGNoZG9nVGltZXIoRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFM
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhz
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKaW5k
ZXggMjc5Mjg1YTQ2ODA2Y2M2ODlkMDVkMTNjZjQ2MzQyZDA2YjVlZmQ2NC4uYmU5MTA2MzdmMjM1
MWFhYWM0ZTM2OTNiYTk5YjZlYjgxYTYzNWNiYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCkBAIC0zOCw2ICszOCwxMCBAQAogI2luY2x1ZGUg
IkludGVycHJldGVyLmgiCiAjaW5jbHVkZSAiSklULmgiCiAjaW5jbHVkZSAiSklURXhjZXB0aW9u
cy5oIgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisjaW5jbHVkZSAiSlNB
cnJvd0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCisjZW5kaWYKICNp
bmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIK
ICNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCkBAIC0xNzEsNiArMTc1LDE1IEBAIG5hbWVzcGFjZSBK
U0MgeyBuYW1lc3BhY2UgTExJbnQgewogICAgICAgICBMTElOVF9SRVRVUk5fVFdPKHBjLCBfX3Jj
Zl9leGVjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIH0gd2hpbGUgKGZh
bHNlKQogCisgICAgCisjZGVmaW5lIExMSU5UX0NBTENfUFJPUEVSVFlfRk9SX0ZVTkNfRVhQUigp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBMTElOVF9CRUdJTigp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+Y29kZUJsb2NrKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgSlNTY29wZSogc2NvcGUgPSBl
eGVjLT51bmNoZWNrZWRSKHBjWzJdLnUub3BlcmFuZCkuUmVnaXN0ZXI6OnNjb3BlKCk7ICAgICAg
IFwKKyAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUgPSBjb2RlQmxvY2stPmZ1bmN0
aW9uRXhwcihwY1szXS51Lm9wZXJhbmQpOyAgXAorICAgIAorZW51bSBGdW5jdGlvbkV4cHJlc3Np
b25UeXBlIHsgQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25UeXBlLCBDb21tb25GdW5jdGlvbkV4cHJl
c3Npb25UeXBlfTsKKyAgICAKIGV4dGVybiAiQyIgU2xvd1BhdGhSZXR1cm5UeXBlIGxsaW50X3Ry
YWNlX29wZXJhbmQoRXhlY1N0YXRlKiBleGVjLCBJbnN0cnVjdGlvbiogcGMsIGludCBmcm9tV2hl
cmUsIGludCBvcGVyYW5kKQogewogICAgIExMSU5UX0JFR0lOKCk7CkBAIC05ODUsMTYgKzk5OCwz
NSBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfbmV3X2Z1bmMpCiAjZW5kaWYKICAg
ICBMTElOVF9SRVRVUk4oSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBjb2RlQmxvY2stPmZ1bmN0aW9u
RGVjbChwY1szXS51Lm9wZXJhbmQpLCBzY29wZSkpOwogfQotCisgICAgCiBMTElOVF9TTE9XX1BB
VEhfREVDTChzbG93X3BhdGhfbmV3X2Z1bmNfZXhwKQogewotICAgIExMSU5UX0JFR0lOKCk7Ci0g
ICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVjLT5jb2RlQmxvY2soKTsKLSAgICBKU1Njb3Bl
KiBzY29wZSA9IGV4ZWMtPnVuY2hlY2tlZFIocGNbMl0udS5vcGVyYW5kKS5SZWdpc3Rlcjo6c2Nv
cGUoKTsKLSAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmN0aW9uID0gY29kZUJsb2NrLT5mdW5j
dGlvbkV4cHIocGNbM10udS5vcGVyYW5kKTsKLSAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNGdW5j
dGlvbjo6Y3JlYXRlKHZtLCBmdW5jdGlvbiwgc2NvcGUpOworICAgIExMSU5UX0NBTENfUFJPUEVS
VFlfRk9SX0ZVTkNfRVhQUigpOworCisgICAgSlNGdW5jdGlvbiogZnVuYyA9IEpTRnVuY3Rpb246
OmNyZWF0ZSh2bSwgZXhlY3V0YWJsZSwgc2NvcGUpOworICAgIExMSU5UX1JFVFVSTihmdW5jKTsK
K30KKworCitMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhw
KQoreworICAgIExMSU5UX0NBTENfUFJPUEVSVFlfRk9SX0ZVTkNfRVhQUigpOworCisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IExM
SU5UX09QX0MoNCkuanNWYWx1ZSgpOworICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qg
PSBleGVjLT5jYWxsZWUoKS0+Z2xvYmFsT2JqZWN0KCk7CiAgICAgCisgICAgSlNGdW5jdGlvbiog
ZnVuYyA9IEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlKHZtLCBzY29wZSwgZXhlY3V0YWJsZSwgZ2xv
YmFsT2JqZWN0KTsKKyAgICAKKyAgICBKU0FycmF5KiBib3VuZEFyZ3MgPSBKU0FycmF5Ojp0cnlD
cmVhdGVVbmluaXRpYWxpemVkKHZtLCBnbG9iYWxPYmplY3QtPmFycmF5U3RydWN0dXJlRm9ySW5k
ZXhpbmdUeXBlRHVyaW5nQWxsb2NhdGlvbihBcnJheVdpdGhVbmRlY2lkZWQpLCAwKTsKKyAgICAK
KyAgICBjb25zdCBTdHJpbmcgZnVuY1dpdGhvdXROYW1lID0gIiI7CisgICAgCisgICAgTExJTlRf
UkVUVVJOKEpTQm91bmRGdW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIGZ1bmMsIHRo
aXNWYWx1ZSwgYm91bmRBcmdzLCAwLCBmdW5jV2l0aG91dE5hbWUpKTsKKyNlbHNlCisgICAgSlNG
dW5jdGlvbiogZnVuYyA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgZXhlY3V0YWJsZSwgc2NvcGUp
OwogICAgIExMSU5UX1JFVFVSTihmdW5jKTsKKyNlbmRpZgogfQogCiBzdGF0aWMgU2xvd1BhdGhS
ZXR1cm5UeXBlIGhhbmRsZUhvc3RDYWxsKEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSwgSW5zdHJ1Y3Rp
b24qIHBjLCBKU1ZhbHVlIGNhbGxlZSwgQ29kZVNwZWNpYWxpemF0aW9uS2luZCBraW5kKQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaAppbmRleCA0YmY3ZGVi
MGZhMGI2YzY0MzhlMzZmOTYzMjBlMmY2Njk3MzlhZjY0Li5jN2ZhYjk2OTFjMThiOTM5NTZkMGVh
MjlmMzM5NTYxMThjNWU3MWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTExJbnRTbG93UGF0aHMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJ
bnRTbG93UGF0aHMuaApAQCAtOTYsNiArOTYsNyBAQCBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RF
Q0woc2xvd19wYXRoX3N3aXRjaF9jaGFyKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChz
bG93X3BhdGhfc3dpdGNoX3N0cmluZyk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xv
d19wYXRoX25ld19mdW5jKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhf
bmV3X2Z1bmNfZXhwKTsKK0xMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfbmV3
X2Fycm93X2Z1bmNfZXhwKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhf
Y2FsbCk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX2NvbnN0cnVjdCk7
CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3NpemVfZnJhbWVfZm9yX3Zh
cmFyZ3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtCmluZGV4IGZkYTkxZWQ1OTkwY2I2ZTRmMmNiNzhhYTZhNGIyZDhjMmMwYzQ3
MmEuLjgyMjcxMzQ5ODJkYjc1ODFkYzhhMjI1Y2Q0MjMyODIwMDkyZmI3M2UgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KQEAg
LTExNzEsNiArMTE3MSwxMCBAQCBfbGxpbnRfb3BfbmV3X2Z1bmNfZXhwOgogICAgIGNhbGxTbG93
UGF0aChfbGxpbnRfc2xvd19wYXRoX25ld19mdW5jX2V4cCkKICAgICBkaXNwYXRjaCg0KQogCitf
bGxpbnRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBj
YWxsU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApCisgICAgZGlz
cGF0Y2goNSkKIAogX2xsaW50X29wX2NhbGw6CiAgICAgdHJhY2VFeGVjdXRpb24oKQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAppbmRleCBiOGZlNGI4NDg1YTA5NzY4
OGY1YzYzMGJkOGMzYzk2NzY0ZmM0NjQ5Li5jYjhlMGRjMWRkYmVjNzU4NjYzNWUxYjQzNDJjOWU1
NWM2NjE0ZTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1
aWxkZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaApA
QCAtMzEzLDYgKzMxMywxOSBAQCBwdWJsaWM6CiAgICAgICAgICAgICBpblN0cmljdENvbnRleHQs
IGNvbnN0cnVjdG9yS2luZCk7CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICBFeHByZXNzaW9uTm9kZSogY3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIoY29u
c3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPEFT
VEJ1aWxkZXI+JiBpbmZvKQorICAgIHsKKyAgICAgICAgU291cmNlQ29kZSBzb3VyY2UgPSBpbmZv
LmFycm93RnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24KKyAg
ICAgICAgPyBtX3NvdXJjZUNvZGUtPnN1YkFycm93RXhwcmVzc2lvbihpbmZvLmFycm93RnVuY3Rp
b25PZmZzZXQsIGluZm8uY2xvc2VCcmFjZU9mZnNldCwgaW5mby5ib2R5U3RhcnRMaW5lLCBpbmZv
LmJvZHlTdGFydENvbHVtbikKKyAgICAgICAgOiBtX3NvdXJjZUNvZGUtPnN1YkV4cHJlc3Npb24o
aW5mby5vcGVuQnJhY2VPZmZzZXQsIGluZm8uY2xvc2VCcmFjZU9mZnNldCwgaW5mby5ib2R5U3Rh
cnRMaW5lLCBpbmZvLmJvZHlTdGFydENvbHVtbik7CisKKyAgICAgICAgQXJyb3dGdW5jRXhwck5v
ZGUqIHJlc3VsdCA9IG5ldyAobV9wYXJzZXJBcmVuYSkgQXJyb3dGdW5jRXhwck5vZGUobG9jYXRp
b24sICppbmZvLm5hbWUsIGluZm8uYm9keSwgc291cmNlLCBpbmZvLnBhcmFtZXRlcnMpOworICAg
ICAgICBpbmZvLmJvZHktPnNldExvYyhpbmZvLmJvZHlTdGFydExpbmUsIGluZm8uYm9keUVuZExp
bmUsIGxvY2F0aW9uLnN0YXJ0T2Zmc2V0LCBsb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQpOworICAg
ICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKyNlbmRpZgorCiAgICAgTkVWRVJfSU5MSU5FIFBy
b3BlcnR5Tm9kZSogY3JlYXRlR2V0dGVyT3JTZXR0ZXJQcm9wZXJ0eShjb25zdCBKU1Rva2VuTG9j
YXRpb24mIGxvY2F0aW9uLCBQcm9wZXJ0eU5vZGU6OlR5cGUgdHlwZSwgYm9vbCwKICAgICAgICAg
Y29uc3QgSWRlbnRpZmllciogbmFtZSwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPEFTVEJ1aWxk
ZXI+JiBpbmZvLCBTdXBlckJpbmRpbmcgc3VwZXJCaW5kaW5nKQogICAgIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9MZXhlci5jcHAKaW5kZXggN2RlMTQyMjBiYmRhNzI3MzhiNTczYTRiOTc4
OGNlMGIzMmNjN2NlMy4uNTQwZjlmZmI3YmI1MTgyOWQ2N2RlZWRlYzVlNmE4ZWQ1MWNjNDQxNCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKQEAgLTE0MzAsNiArMTQzMCwx
OCBAQCBib29sIExleGVyPFQ+OjpuZXh0VG9rZW5Jc0NvbG9uKCkKICAgICByZXR1cm4gY29kZSA8
IG1fY29kZUVuZCAmJiAqY29kZSA9PSAnOic7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIFQ+Cit2b2lkIExleGVyPFQ+OjpzZXRU
b2tlblBvc2l0aW9uKEpTVG9rZW4qIHRva2VuUmVjb3JkKQoreworICAgIEpTVG9rZW5EYXRhKiB0
b2tlbkRhdGEgPSAmdG9rZW5SZWNvcmQtPm1fZGF0YTsKKyAgICB0b2tlbkRhdGEtPmxpbmUgPSBs
aW5lTnVtYmVyKCk7CisgICAgdG9rZW5EYXRhLT5vZmZzZXQgPSBjdXJyZW50T2Zmc2V0KCk7Cisg
ICAgdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0KCk7
CisgICAgQVNTRVJUKHRva2VuRGF0YS0+b2Zmc2V0ID49IHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zm
c2V0KTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KIEpTVG9rZW5UeXBlIExl
eGVyPFQ+OjpsZXgoSlNUb2tlbiogdG9rZW5SZWNvcmQsIHVuc2lnbmVkIGxleGVyRmxhZ3MsIGJv
b2wgc3RyaWN0TW9kZSkKIHsKQEAgLTE0OTMsNyArMTUwNSwxMiBAQCBzdGFydDoKICAgICAgICAg
fQogICAgICAgICB0b2tlbiA9IEdUOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIENoYXJhY3Rl
ckVxdWFsOgorICAgIGNhc2UgQ2hhcmFjdGVyRXF1YWw6IHsKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB1aW50MzJfdCBzYXZlZGxpbmVOdW1iZXIgPSB0b2tl
bkRhdGEtPmxpbmU7CisgICAgICAgIHVpbnQzMl90IHNhdmVkT2Zmc2V0ID0gY3VycmVudE9mZnNl
dCgpOworICAgICAgICB1aW50MzJfdCBzYXZlZExpbmVTdGFydE9mZnNldCA9IGN1cnJlbnRMaW5l
U3RhcnRPZmZzZXQoKTsKKyNlbmRpZgogICAgICAgICBzaGlmdCgpOwogICAgICAgICBpZiAobV9j
dXJyZW50ID09ICc9JykgewogICAgICAgICAgICAgc2hpZnQoKTsKQEAgLTE1MDUsOCArMTUyMiwy
MiBAQCBzdGFydDoKICAgICAgICAgICAgIHRva2VuID0gRVFFUTsKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAg
ICAgaWYgKG1fY3VycmVudCA9PSAnPicpIHsKKyAgICAgICAgICAgIHNoaWZ0KCk7CisgICAgICAg
ICAgICB0b2tlbiA9IEFSUk9XRlVOQ1RJT047CisKKyAgICAgICAgICAgIHRva2VuRGF0YS0+bGlu
ZSA9IHNhdmVkbGluZU51bWJlcjsKKyAgICAgICAgICAgIHRva2VuRGF0YS0+b2Zmc2V0ID0gc2F2
ZWRPZmZzZXQ7CisgICAgICAgICAgICB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCA9IHNhdmVk
TGluZVN0YXJ0T2Zmc2V0OworCisgICAgICAgICAgICBBU1NFUlQodG9rZW5EYXRhLT5vZmZzZXQg
Pj0gdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQpOworICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIH0KKyNlbmRpZgogICAgICAgICB0b2tlbiA9IEVRVUFMOwogICAgICAgICBicmVhazsKKyAg
ICB9CiAgICAgY2FzZSBDaGFyYWN0ZXJMZXNzOgogICAgICAgICBzaGlmdCgpOwogICAgICAgICBp
ZiAobV9jdXJyZW50ID09ICchJyAmJiBwZWVrKDEpID09ICctJyAmJiBwZWVrKDIpID09ICctJykg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCmluZGV4IDJkZjUyMTM5OTU3ODIwMDc4
NWExNjZlMjJhNzMyNzVlMGVhNjMwNGQuLmNiM2YyNWY3YzA4ZjgyNTgxYWYyY2U4ZmE5OTk5N2Zh
ZGUwNzY2ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKQEAgLTg1LDYgKzg1
LDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SXNSZXBhcnNpbmcoKSB7IG1faXNSZXBhcnNpbmcg
PSB0cnVlOyB9CiAgICAgYm9vbCBpc1JlcGFyc2luZygpIGNvbnN0IHsgcmV0dXJuIG1faXNSZXBh
cnNpbmc7IH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdm9p
ZCBzZXRUb2tlblBvc2l0aW9uKEpTVG9rZW4qIHRva2VuUmVjb3JkKTsKKyNlbmRpZgogICAgIEpT
VG9rZW5UeXBlIGxleChKU1Rva2VuKiwgdW5zaWduZWQsIGJvb2wgc3RyaWN0TW9kZSk7CiAgICAg
Ym9vbCBuZXh0VG9rZW5Jc0NvbG9uKCk7CiAgICAgaW50IGxpbmVOdW1iZXIoKSBjb25zdCB7IHJl
dHVybiBtX2xpbmVOdW1iZXI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9O
b2RlQ29uc3RydWN0b3JzLmgKaW5kZXggM2JkYWI2MWE1MjJlMGNlMmMzMzk3ZjgwZjRmYTE4NGQx
ZDQyMTYwZS4uYjU4ZTFmZTFhZjkwZTY2MGIwODQyZWE3ZTk5ZjA3YWU2YWNiYjk1ZSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKQEAgLTc4
MSw2ICs3ODEsMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIG1fYm9keS0+ZmluaXNoUGFy
c2luZyhzb3VyY2UsIHBhcmFtZXRlciwgaWRlbnQsIEZ1bmN0aW9uRXhwcmVzc2lvbik7CiAgICAg
fQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpbmxpbmUgQXJy
b3dGdW5jRXhwck5vZGU6OkFycm93RnVuY0V4cHJOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYg
bG9jYXRpb24sIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBGdW5jdGlvbkJvZHlOb2RlKiBib2R5
LCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIFBhcmFtZXRlck5vZGUqIHBhcmFtZXRlcikKKyAg
ICAgICAgOiBGdW5jRXhwck5vZGUobG9jYXRpb24sIGlkZW50LCBib2R5LCBzb3VyY2UsIHBhcmFt
ZXRlcikKKyAgICB7CisgICAgfQorI2VuZGlmCisgICAgCiAgICAgaW5saW5lIEZ1bmNEZWNsTm9k
ZTo6RnVuY0RlY2xOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IElk
ZW50aWZpZXImIGlkZW50LCBGdW5jdGlvbkJvZHlOb2RlKiBib2R5LCBjb25zdCBTb3VyY2VDb2Rl
JiBzb3VyY2UsIFBhcmFtZXRlck5vZGUqIHBhcmFtZXRlcikKICAgICAgICAgOiBTdGF0ZW1lbnRO
b2RlKGxvY2F0aW9uKQogICAgICAgICAsIG1fYm9keShib2R5KQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9Ob2Rlcy5oCmluZGV4IDZiMzczMjljMDliZmM0MmJlY2NjM2NhYTk4MzU5N2MzNTQwMmI2
YzkuLjViNzc0MWUxY2NjOGQ1MTVmZjE0YzE1MzE3MmQ3YmRhMDUzZjU4NjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL05vZGVzLmgKQEAgLTE1OCw2ICsxNTgsOSBAQCBuYW1lc3BhY2UgSlND
IHsKICAgICAgICAgdmlydHVhbCBib29sIGlzRG90QWNjZXNzb3JOb2RlKCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzRGVjb25zdHJ1Y3Rpb25Ob2RlKCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzRnVuY0V4cHJO
b2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNBcnJvd0Z1bmNFeHByTm9kZSgpIGNv
bnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjZW5kaWYKICAgICAgICAgdmlydHVhbCBib29sIGlzQ29t
bWFOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlz
U2ltcGxlQXJyYXkoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJv
b2wgaXNBZGQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpAQCAtMTY1Miw2ICsxNjU1LDE5IEBA
IG5hbWVzcGFjZSBKU0MgewogICAgICAgICBGdW5jdGlvbkJvZHlOb2RlKiBtX2JvZHk7CiAgICAg
fTsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2xhc3MgQXJy
b3dGdW5jRXhwck5vZGUgOiBwdWJsaWMgRnVuY0V4cHJOb2RlIHsKKyAgICBwdWJsaWM6CisgICAg
ICAgIEFycm93RnVuY0V4cHJOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IElkZW50
aWZpZXImLCBGdW5jdGlvbkJvZHlOb2RlKiwgY29uc3QgU291cmNlQ29kZSYsIFBhcmFtZXRlck5v
ZGUqID0gMCk7CisgICAgcHJpdmF0ZToKKyAgICAgICAgdmlydHVhbCBSZWdpc3RlcklEKiBlbWl0
Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImLCBSZWdpc3RlcklEKiA9IDApIG92ZXJyaWRlOwor
ICAgICAgICAKKyAgICAgICAgdmlydHVhbCBib29sIGlzRnVuY0V4cHJOb2RlKCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKyAgICAgICAgCisgICAgICAgIHZpcnR1YWwgYm9vbCBp
c0Fycm93RnVuY0V4cHJOb2RlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQorICAg
IH07CisjZW5kaWYKKwogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogICAgIGNsYXNzIENs
YXNzRXhwck5vZGUgZmluYWwgOiBwdWJsaWMgRXhwcmVzc2lvbk5vZGUgewogICAgIHB1YmxpYzoK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAppbmRleCA1ZjQ0ODBiNDljYWQ1
ZDQ5MTU2YzYyNWZhNDg0YWY3YTFkYzhiM2NmLi44YWYzMTMzOTViZmQ0NTFmMWJmMjQ1NzEzYWJi
ZDdmNDZkMTQ5OTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCkBA
IC0zMjksOCArMzI5LDEzIEBAIGJvb2wgUGFyc2VyPExleGVyVHlwZT46OmFsbG93QXV0b21hdGlj
U2VtaWNvbG9uKCkKICAgICByZXR1cm4gbWF0Y2goQ0xPU0VCUkFDRSkgfHwgbWF0Y2goRU9GVE9L
KSB8fCBtX2xleGVyLT5wcmV2VGVybWluYXRvcigpOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYgY29udGV4dCwgU291cmNlRWxlbWVu
dHNNb2RlIG1vZGUsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBlKQorI2Vsc2UK
IHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3VyY2VFbGVt
ZW50cyhUcmVlQnVpbGRlciYgY29udGV4dCwgU291cmNlRWxlbWVudHNNb2RlIG1vZGUpCisjZW5k
aWYKIHsKICAgICBjb25zdCB1bnNpZ25lZCBsZW5ndGhPZlVzZVN0cmljdExpdGVyYWwgPSAxMjsg
Ly8gInVzZSBzdHJpY3QiLmxlbmd0aAogICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzb3VyY2VFbGVt
ZW50cyA9IGNvbnRleHQuY3JlYXRlU291cmNlRWxlbWVudHMoKTsKQEAgLTMzOSw3ICszNDQsMTEg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlU291cmNlRWwKICAgICB1bnNpZ25lZCBkaXJlY3RpdmVMaXRlcmFs
TGVuZ3RoID0gMDsKICAgICBhdXRvIHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwogICAg
IGJvb2wgaGFzU2V0U3RyaWN0ID0gZmFsc2U7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICB3aGlsZSAoVHJlZVN0YXRlbWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRl
bWVudChjb250ZXh0LCBkaXJlY3RpdmUsICZkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoLCBmdW5jdGlv
blBhcnNlVHlwZSkpIHsKKyNlbHNlCiAgICAgd2hpbGUgKFRyZWVTdGF0ZW1lbnQgc3RhdGVtZW50
ID0gcGFyc2VTdGF0ZW1lbnQoY29udGV4dCwgZGlyZWN0aXZlLCAmZGlyZWN0aXZlTGl0ZXJhbExl
bmd0aCkpIHsKKyNlbmRpZgogICAgICAgICBpZiAobW9kZSA9PSBDaGVja0ZvclN0cmljdE1vZGUg
JiYgIXNlZW5Ob25EaXJlY3RpdmUpIHsKICAgICAgICAgICAgIGlmIChkaXJlY3RpdmUpIHsKICAg
ICAgICAgICAgICAgICAvLyAidXNlIHN0cmljdCIgbXVzdCBiZSB0aGUgZXhhY3QgbGl0ZXJhbCB3
aXRob3V0IGVzY2FwZSBzZXF1ZW5jZXMgb3IgbGluZSBjb250aW51YXRpb24uCkBAIC01NzEsNiAr
NTgwLDMxIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlY29uc3RydWN0aW9u
UGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6Y3JlYXRlCiAgICAgcmV0dXJuIGNvbnRleHQuY3Jl
YXRlQmluZGluZ0xvY2F0aW9uKHRva2VuLm1fbG9jYXRpb24sIG5hbWUsIHRva2VuLm1fc3RhcnRQ
b3NpdGlvbiwgdG9rZW4ubV9lbmRQb3NpdGlvbik7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0KQoreworICAgIEFT
U0VSVChtYXRjaChBUlJPV0ZVTkNUSU9OKSk7CisKKyAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRp
b24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3Rh
cnRQb3NpdGlvbigpOworICAgIEpTVGV4dFBvc2l0aW9uIGVuZCA9IHRva2VuRW5kUG9zaXRpb24o
KTsKKworICAgIG5leHQoKTsKKyAgICBUcmVlRXhwcmVzc2lvbiBleHByID0gcGFyc2VBcnJvd0Z1
bmN0aW9uRXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICBmYWlsSWZGYWxzZShleHByLCAiQ2Fubm90
IHBhcnNlIHRoZSBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgZW5kID0gbGFzdFRv
a2VuRW5kUG9zaXRpb24oKTsKKworICAgIGJvb2wgY29ycmVjQXJyb3dGaW5pc2ggPSBpc0VuZE9m
QXJyb3dGdW5jdGlvbigpIHx8IG1hdGNoKEVPRlRPSyk7CisgICAgZmFpbElmRmFsc2UoY29ycmVj
QXJyb3dGaW5pc2gsICJFeHBlY3RlZCBhICc7JywgJ10nLCAnfScsICcpJywgb3IgJywnIGZvbGxv
d2luZyBhIGFycm93IGZ1bmN0aW9uIHN0YXRlbWVudCIpOworCisgICAgZW5kID0gdG9rZW5FbmRQ
b3NpdGlvbigpOworICAgIHNldEVuZE9mU3RhdGVtZW50KCk7CisKKyAgICByZXR1cm4gY29udGV4
dC5jcmVhdGVSZXR1cm5TdGF0ZW1lbnQobG9jYXRpb24sIGV4cHIsIHN0YXJ0LCBlbmQpOworfQor
I2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gUGFyc2VyPExleGVyVHlwZT46
OnRyeVBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29u
dGV4dCkKIHsKQEAgLTExNDQsOCArMTE3OCwxMyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQmxvY2tTdGF0ZW1lbgog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQo
VHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2ln
bmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoLCBGdW5jdGlvblBhcnNlVHlwZSB0eXBlKQorI2Vs
c2UKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRy
ZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25l
ZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCkKKyNlbmRpZgogewogICAgIERlcHRoTWFuYWdlciBz
dGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7CiAgICAgbV9zdGF0ZW1lbnREZXB0aCsr
OwpAQCAtMTE1NCw2ICsxMTkzLDI3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgZmFp
bElmU3RhY2tPdmVyZmxvdygpOwogICAgIFRyZWVTdGF0ZW1lbnQgcmVzdWx0ID0gMDsKICAgICBi
b29sIHNob3VsZFNldEVuZE9mZnNldCA9IHRydWU7CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIGJvb2wgaGFuZGxlZCA9IGZhbHNlOworICAgIGlmICh0eXBlID09
IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgc3dpdGNoIChtX3Rva2VuLm1fdHlw
ZSkgeworICAgICAgICBjYXNlIENMT1NFUEFSRU46CisgICAgICAgIGNhc2UgQ0xPU0VCUkFDS0VU
OgorICAgICAgICBjYXNlIENPTU1BOgorICAgICAgICBjYXNlIFNFTUlDT0xPTjogeworICAgICAg
ICAgICAgcmVzdWx0ID0gMDsKKyAgICAgICAgICAgIGhhbmRsZWQgPSB0cnVlOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICB9CisKKyAgICAgICAgaWYgKGhhbmRsZWQpCisgICAgICAgICAgICBnb3RvIGVu
ZFN0YXRlbWVuZXQ7CisgICAgfQorI2VuZGlmCiAgICAgc3dpdGNoIChtX3Rva2VuLm1fdHlwZSkg
ewogICAgIGNhc2UgT1BFTkJSQUNFOgogICAgICAgICByZXN1bHQgPSBwYXJzZUJsb2NrU3RhdGVt
ZW50KGNvbnRleHQpOwpAQCAtMTE5OSw2ICsxMjU5LDExIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQo
VHJlCiAgICAgY2FzZSBCUkVBSzoKICAgICAgICAgcmVzdWx0ID0gcGFyc2VCcmVha1N0YXRlbWVu
dChjb250ZXh0KTsKICAgICAgICAgYnJlYWs7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICBjYXNlIEFSUk9XRlVOQ1RJT046CisgICAgICAgIHJlc3VsdCA9IHBhcnNl
QXJyb3dGdW5jdGlvblN0YXRlbWVudChjb250ZXh0KTsKKyAgICAgICAgYnJlYWs7CisjZW5kaWYK
ICAgICBjYXNlIFJFVFVSTjoKICAgICAgICAgcmVzdWx0ID0gcGFyc2VSZXR1cm5TdGF0ZW1lbnQo
Y29udGV4dCk7CiAgICAgICAgIGJyZWFrOwpAQCAtMTI0MCw2ICsxMzA1LDggQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZVN0YXRlbWVudChUcmUKICAgICAgICAgYnJlYWs7CiAgICAgfQogCitlbmRTdGF0ZW1lbmV0Ogor
CiAgICAgaWYgKHJlc3VsdCAmJiBzaG91bGRTZXRFbmRPZmZzZXQpCiAgICAgICAgIGNvbnRleHQu
c2V0RW5kT2Zmc2V0KHJlc3VsdCwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5vZmZzZXQpOwogICAg
IHJldHVybiByZXN1bHQ7CkBAIC0xMjYwLDIzICsxMzI3LDQ0IEBAIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZUZvcm1hbFBhcmFtZXRlckxpc3QgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlRm9yCiAgICAgcmV0dXJuIGxpc3Q7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZUZ1bmN0aW9uQm9keSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VG
dW5jdGlvbkJvZHkoCiAgICAgVHJlZUJ1aWxkZXImIGNvbnRleHQsIGludCBmdW5jdGlvbktleXdv
cmRTdGFydCwgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCAKKyAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0
LCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kLCBGdW5jdGlvblBhcnNlVHlwZSBwYXJz
ZVR5cGUpCisjZWxzZQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZUZ1bmN0aW9uQm9keSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VGdW5jdGlvbkJvZHkoCisgICAgVHJlZUJ1aWxkZXImIGNvbnRleHQsIGludCBmdW5jdGlvbktl
eXdvcmRTdGFydCwgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0LAogICAgIGludCBwYXJhbWV0ZXJzU3Rh
cnQsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQpCisjZW5kaWYKIHsKICAgICBKU1Rv
a2VuTG9jYXRpb24gc3RhcnRMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwogICAgIHVuc2lnbmVk
IHN0YXJ0Q29sdW1uID0gdG9rZW5Db2x1bW4oKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIGlmIChwYXJzZVR5cGUgPT0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlw
ZSkgeworICAgICAgICBuZXh0KCk7CisgICAgICAgIGlmIChtYXRjaChDTE9TRUJSQUNFKSkgewor
ICAgICAgICAgICAgdW5zaWduZWQgZW5kQ29sdW1uID0gdG9rZW5Db2x1bW4oKTsKKyAgICAgICAg
ICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uQm9keShzdGFydExvY2F0aW9uLCB0b2tl
bkxvY2F0aW9uKCksIHN0YXJ0Q29sdW1uLCBlbmRDb2x1bW4sIGZ1bmN0aW9uS2V5d29yZFN0YXJ0
LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBzdHJpY3RNb2RlKCksIGNvbnN0
cnVjdG9yS2luZCk7CisgICAgICAgIH0KKyAgICB9CisjZWxzZQogICAgIG5leHQoKTsKLQogICAg
IGlmIChtYXRjaChDTE9TRUJSQUNFKSkgewogICAgICAgICB1bnNpZ25lZCBlbmRDb2x1bW4gPSB0
b2tlbkNvbHVtbigpOwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkJvZHko
c3RhcnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBm
dW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwg
c3RyaWN0TW9kZSgpLCBjb25zdHJ1Y3RvcktpbmQpOwogICAgIH0KKyNlbmRpZgorCiAgICAgRGVw
dGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKICAgICBtX3N0YXRl
bWVudERlcHRoID0gMDsKICAgICB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6RnVuY3Rpb25Cb2R5QnVp
bGRlciBib2R5QnVpbGRlcihjb25zdF9jYXN0PFZNKj4obV92bSksIG1fbGV4ZXIuZ2V0KCkpOwor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgZmFpbElmRmFsc2UocGFy
c2VTb3VyY2VFbGVtZW50cyhib2R5QnVpbGRlciwgQ2hlY2tGb3JTdHJpY3RNb2RlLCBwYXJzZVR5
cGUpLCBwYXJzZVR5cGUgPT0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSA/ICJDYW5ub3QgcGFy
c2UgYm9keSBvZiB0aGlzIGZ1bmN0aW9uIiA6ICJDYW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGFy
cm93IGZ1bmN0aW9uIik7CisjZWxzZQogICAgIGZhaWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVu
dHMoYm9keUJ1aWxkZXIsIENoZWNrRm9yU3RyaWN0TW9kZSksICJDYW5ub3QgcGFyc2UgYm9keSBv
ZiB0aGlzIGZ1bmN0aW9uIik7CisjZW5kaWYKICAgICB1bnNpZ25lZCBlbmRDb2x1bW4gPSB0b2tl
bkNvbHVtbigpOwogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uQm9keShzdGFydExv
Y2F0aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0YXJ0Q29sdW1uLCBlbmRDb2x1bW4sIGZ1bmN0aW9u
S2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBzdHJpY3RN
b2RlKCksIGNvbnN0cnVjdG9yS2luZCk7CiB9CkBAIC0xMjk3LDYwICsxMzg1LDEwNSBAQCBzdGF0
aWMgY29uc3QgY2hhciogc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKEZ1bmN0aW9uUGFyc2VNb2RlIG1v
ZGUpCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8o
VHJlZUJ1aWxkZXImIGNvbnRleHQsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzIHJlcXVpcmVtZW50cywg
RnVuY3Rpb25QYXJzZU1vZGUgbW9kZSwKKyAgICBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3Bl
LCBDb25zdHJ1Y3RvcktpbmQgb3duZXJDbGFzc0tpbmQsIGludCBmdW5jdGlvbktleXdvcmRTdGFy
dCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYgaW5mbywgRnVuY3Rpb25QYXJzZVR5
cGUgcGFyc2VUeXBlKQorI2Vsc2UKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVu
Y3Rpb25JbmZvKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblJlcXVpcmVtZW50cyByZXF1
aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUsCiAgICAgYm9vbCBuYW1lSXNJbkNvbnRh
aW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kIG93bmVyQ2xhc3NLaW5kLCBpbnQgZnVuY3Rpb25L
ZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mIGluZm8pCisjZW5k
aWYKIHsKICAgICBBdXRvUG9wU2NvcGVSZWYgZnVuY3Rpb25TY29wZSh0aGlzLCBwdXNoU2NvcGUo
KSk7CiAgICAgZnVuY3Rpb25TY29wZS0+c2V0SXNGdW5jdGlvbigpOwogICAgIGludCBmdW5jdGlv
bk5hbWVTdGFydCA9IG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKICAgICBjb25zdCBJ
ZGVudGlmaWVyKiBsYXN0RnVuY3Rpb25OYW1lID0gbV9sYXN0RnVuY3Rpb25OYW1lOwogICAgIG1f
bGFzdEZ1bmN0aW9uTmFtZSA9IG51bGxwdHI7Ci0gICAgaWYgKG1hdGNoKElERU5UKSkgewotICAg
ICAgICBpbmZvLm5hbWUgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKLSAgICAgICAgbV9sYXN0RnVu
Y3Rpb25OYW1lID0gaW5mby5uYW1lOwotICAgICAgICBuZXh0KCk7Ci0gICAgICAgIGlmICghbmFt
ZUlzSW5Db250YWluaW5nU2NvcGUpCi0gICAgICAgICAgICBmYWlsSWZGYWxzZUlmU3RyaWN0KGZ1
bmN0aW9uU2NvcGUtPmRlY2xhcmVWYXJpYWJsZShpbmZvLm5hbWUpLCAiJyIsIGluZm8ubmFtZS0+
aW1wbCgpLCAiJyBpcyBub3QgYSB2YWxpZCAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSks
ICIgbmFtZSBpbiBzdHJpY3QgbW9kZSIpOwotICAgIH0gZWxzZSBpZiAocmVxdWlyZW1lbnRzID09
IEZ1bmN0aW9uTmVlZHNOYW1lKSB7CisgICAgaW50IHBhcmFtZXRlcnNTdGFydDsKKyAgICBib29s
IGlzQ2xhc3NDb25zdHJ1Y3RvcjsKKyAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgIGlmIChwYXJzZVR5cGUgPT0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkg
eworI2VuZGlmCisgICAgICAgIGlmIChtYXRjaChJREVOVCkpIHsKKyAgICAgICAgICAgIGluZm8u
bmFtZSA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OworICAgICAgICAgICAgbV9sYXN0RnVuY3Rpb25O
YW1lID0gaW5mby5uYW1lOworICAgICAgICAgICAgbmV4dCgpOworICAgICAgICAgICAgaWYgKCFu
YW1lSXNJbkNvbnRhaW5pbmdTY29wZSkKKyAgICAgICAgICAgICAgICBmYWlsSWZGYWxzZUlmU3Ry
aWN0KGZ1bmN0aW9uU2NvcGUtPmRlY2xhcmVWYXJpYWJsZShpbmZvLm5hbWUpLCAiJyIsIGluZm8u
bmFtZS0+aW1wbCgpLCAiJyBpcyBub3QgYSB2YWxpZCAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUo
bW9kZSksICIgbmFtZSBpbiBzdHJpY3QgbW9kZSIpOworICAgICAgICB9IGVsc2UgaWYgKHJlcXVp
cmVtZW50cyA9PSBGdW5jdGlvbk5lZWRzTmFtZSkgewogICAgICAgICBpZiAobWF0Y2goT1BFTlBB
UkVOKSAmJiBtb2RlID09IEZ1bmN0aW9uTW9kZSkKICAgICAgICAgICAgIHNlbWFudGljRmFpbCgi
RnVuY3Rpb24gc3RhdGVtZW50cyBtdXN0IGhhdmUgYSBuYW1lIik7Ci0gICAgICAgIHNlbWFudGlj
RmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSIp
OwotICAgICAgICBmYWlsRHVlVG9VbmV4cGVjdGVkVG9rZW4oKTsKLSAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgIH0KLSAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9u
LnN0YXJ0T2Zmc2V0OwotICAgIGlmICghY29uc3VtZShPUEVOUEFSRU4pKSB7Ci0gICAgICAgIHNl
bWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIg
bmFtZSIpOwotICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVkIGFuIG9wZW5pbmcgJygn
IGJlZm9yZSBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIidzIHBhcmFtZXRlciBs
aXN0Iik7Ci0gICAgfQotCi0gICAgaWYgKG1vZGUgPT0gR2V0dGVyTW9kZSkKLSAgICAgICAgY29u
c3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiZ2V0dGVyIGZ1bmN0aW9ucyBtdXN0IGhhdmUgbm8gcGFy
YW1ldGVycyIpOwotICAgIGVsc2UgaWYgKG1vZGUgPT0gU2V0dGVyTW9kZSkgewotICAgICAgICBm
YWlsSWZUcnVlKG1hdGNoKENMT1NFUEFSRU4pLCAic2V0dGVyIGZ1bmN0aW9ucyBtdXN0IGhhdmUg
b25lIHBhcmFtZXRlciIpOwotICAgICAgICBhdXRvIHBhcmFtZXRlciA9IHBhcnNlRGVjb25zdHJ1
Y3Rpb25QYXR0ZXJuKGNvbnRleHQsIERlY29uc3RydWN0VG9QYXJhbWV0ZXJzKTsKLSAgICAgICAg
ZmFpbElmRmFsc2UocGFyYW1ldGVyLCAic2V0dGVyIGZ1bmN0aW9ucyBtdXN0IGhhdmUgb25lIHBh
cmFtZXRlciIpOwotICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBjb250ZXh0LmNyZWF0ZUZvcm1h
bFBhcmFtZXRlckxpc3QocGFyYW1ldGVyKTsKLSAgICAgICAgZmFpbElmVHJ1ZShtYXRjaChDT01N
QSksICJzZXR0ZXIgZnVuY3Rpb25zIG11c3QgaGF2ZSBvbmUgcGFyYW1ldGVyIik7Ci0gICAgICAg
IGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJFTiwgIkV4cGVjdGVkIGEgJyknIGFmdGVyIGEgcGFyYW1l
dGVyIGRlY2xhcmF0aW9uIik7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgaWYgKCFtYXRjaChDTE9T
RVBBUkVOKSkgewotICAgICAgICAgICAgaW5mby5wYXJhbWV0ZXJzID0gcGFyc2VGb3JtYWxQYXJh
bWV0ZXJzKGNvbnRleHQpOwotICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJz
LCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25N
b2RlKG1vZGUpKTsKKyAgICAgICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJp
bmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSIpOworICAgICAgICAgICAgZmFpbER1ZVRv
VW5leHBlY3RlZFRva2VuKCk7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0K
KyAgICAgICAgcGFyYW1ldGVyc1N0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0
OworICAgICAgICAKKyAgICAgICAgaWYgKCFjb25zdW1lKE9QRU5QQVJFTikpIHsKKyAgICAgICAg
ICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9k
ZSksICIgbmFtZSIpOworICAgICAgICAgICAgZmFpbFdpdGhNZXNzYWdlKCJFeHBlY3RlZCBhbiBv
cGVuaW5nICcoJyBiZWZvcmUgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIncyBw
YXJhbWV0ZXIgbGlzdCIpOwogICAgICAgICB9Ci0gICAgICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQ
QVJFTiwgIkV4cGVjdGVkIGEgJyknIG9yIGEgJywnIGFmdGVyIGEgcGFyYW1ldGVyIGRlY2xhcmF0
aW9uIik7Ci0gICAgfQogCi0gICAgbWF0Y2hPckZhaWwoT1BFTkJSQUNFLCAiRXhwZWN0ZWQgYW4g
b3BlbmluZyAneycgYXQgdGhlIHN0YXJ0IG9mIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1v
ZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgaWYgKG1vZGUgPT0gR2V0dGVyTW9kZSkKKyAgICAgICAg
ICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJFTiwgImdldHRlciBmdW5jdGlvbnMgbXVzdCBoYXZl
IG5vIHBhcmFtZXRlcnMiKTsKKyAgICAgICAgZWxzZSBpZiAobW9kZSA9PSBTZXR0ZXJNb2RlKSB7
CisgICAgICAgICAgICBmYWlsSWZUcnVlKG1hdGNoKENMT1NFUEFSRU4pLCAic2V0dGVyIGZ1bmN0
aW9ucyBtdXN0IGhhdmUgb25lIHBhcmFtZXRlciIpOworICAgICAgICAgICAgYXV0byBwYXJhbWV0
ZXIgPSBwYXJzZURlY29uc3RydWN0aW9uUGF0dGVybihjb250ZXh0LCBEZWNvbnN0cnVjdFRvUGFy
YW1ldGVycyk7CisgICAgICAgICAgICBmYWlsSWZGYWxzZShwYXJhbWV0ZXIsICJzZXR0ZXIgZnVu
Y3Rpb25zIG11c3QgaGF2ZSBvbmUgcGFyYW1ldGVyIik7CisgICAgICAgICAgICBpbmZvLnBhcmFt
ZXRlcnMgPSBjb250ZXh0LmNyZWF0ZUZvcm1hbFBhcmFtZXRlckxpc3QocGFyYW1ldGVyKTsKKyAg
ICAgICAgICAgIGZhaWxJZlRydWUobWF0Y2goQ09NTUEpLCAic2V0dGVyIGZ1bmN0aW9ucyBtdXN0
IGhhdmUgb25lIHBhcmFtZXRlciIpOworICAgICAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBB
UkVOLCAiRXhwZWN0ZWQgYSAnKScgYWZ0ZXIgYSBwYXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsKKyAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmICghbWF0Y2goQ0xPU0VQQVJFTikpIHsKKyAg
ICAgICAgICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoY29u
dGV4dCk7CisgICAgICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJzLCAiQ2Fu
bm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1v
ZGUpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJF
TiwgIkV4cGVjdGVkIGEgJyknIG9yIGEgJywnIGFmdGVyIGEgcGFyYW1ldGVyIGRlY2xhcmF0aW9u
Iik7CisgICAgICAgIH0KIAotICAgIC8vIEJ5dGVjb2RlR2VuZXJhdG9yIGVtaXRzIGNvZGUgdG8g
dGhyb3cgVHlwZUVycm9yIHdoZW4gYSBjbGFzcyBjb25zdHJ1Y3RvciBpcyAiY2FsbCJlZC4KLSAg
ICAvLyBTZXQgQ29uc3RydWN0b3JLaW5kIHRvIE5vbmUgZm9yIG5vbi1jb25zdHJ1Y3RvciBtZXRo
b2RzIG9mIGNsYXNzZXMuCi0gICAgYm9vbCBpc0NsYXNzQ29uc3RydWN0b3IgPSBtb2RlID09IE1l
dGhvZE1vZGUgJiYgaW5mby5uYW1lICYmICppbmZvLm5hbWUgPT0gbV92bS0+cHJvcGVydHlOYW1l
cy0+Y29uc3RydWN0b3I7Ci0gICAgaWYgKG1fZGVmYXVsdENvbnN0cnVjdG9yS2luZCAhPSBDb25z
dHJ1Y3RvcktpbmQ6Ok5vbmUpIHsKLSAgICAgICAgb3duZXJDbGFzc0tpbmQgPSBtX2RlZmF1bHRD
b25zdHJ1Y3RvcktpbmQ7Ci0gICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IHRydWU7CisgICAg
ICAgIG1hdGNoT3JGYWlsKE9QRU5CUkFDRSwgIkV4cGVjdGVkIGFuIG9wZW5pbmcgJ3snIGF0IHRo
ZSBzdGFydCBvZiBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7Cisg
ICAgICAgIC8vIEJ5dGVjb2RlR2VuZXJhdG9yIGVtaXRzIGNvZGUgdG8gdGhyb3cgVHlwZUVycm9y
IHdoZW4gYSBjbGFzcyBjb25zdHJ1Y3RvciBpcyAiY2FsbCJlZC4KKyAgICAgICAgLy8gU2V0IENv
bnN0cnVjdG9yS2luZCB0byBOb25lIGZvciBub24tY29uc3RydWN0b3IgbWV0aG9kcyBvZiBjbGFz
c2VzLgorICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSBtb2RlID09IE1ldGhvZE1vZGUgJiYg
aW5mby5uYW1lICYmICppbmZvLm5hbWUgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+Y29uc3RydWN0
b3I7CisgICAgICAgIGlmIChtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQgIT0gQ29uc3RydWN0b3JL
aW5kOjpOb25lKSB7CisgICAgICAgICAgICBvd25lckNsYXNzS2luZCA9IG1fZGVmYXVsdENvbnN0
cnVjdG9yS2luZDsKKyAgICAgICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IHRydWU7CisgICAg
ICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQogICAgIH0KKyAgICAK
KyAgICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAg
cGFyYW1ldGVyc1N0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OworICAgICAg
ICBpZiAoIW1hdGNoKElERU5UKSAmJiAhbWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICAgICAg
c2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwg
IiBuYW1lIik7CisgICAgICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVkIGFuIGFycm93
IGZ1bmN0aW9uIGlucHV0IHBhcmFtZXRlciIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgICAgICAgICBjb25zdW1lKE9QRU5Q
QVJFTik7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgaWYgKCFtYXRjaChDTE9T
RVBBUkVOKSkgeworICAgICAgICAgICAgICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBwYXJzZUZv
cm1hbFBhcmFtZXRlcnMoY29udGV4dCk7CisgICAgICAgICAgICAgICAgICAgIGZhaWxJZkZhbHNl
KGluZm8ucGFyYW1ldGVycywgIkNhbm5vdCBwYXJzZSBwYXJhbWV0ZXJzIGZvciB0aGlzICIsIHN0
cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgIAorICAgICAgICAgICAgICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJFTiwgIkV4cGVj
dGVkIGEgJyknIG9yIGEgJywnIGFmdGVyIGEgcGFyYW1ldGVyIGRlY2xhcmF0aW9uIik7CisgICAg
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGF1dG8gcGFyYW1ldGVyID0gcGFyc2VE
ZWNvbnN0cnVjdGlvblBhdHRlcm4oY29udGV4dCwgRGVjb25zdHJ1Y3RUb1BhcmFtZXRlcnMpOwor
ICAgICAgICAgICAgICAgIGZhaWxJZkZhbHNlKHBhcmFtZXRlciwgIkNhbm5vdCBwYXJzZSBwYXJh
bWV0ZXIgcGF0dGVybiIpOworICAgICAgICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9IGNvbnRl
eHQuY3JlYXRlRm9ybWFsUGFyYW1ldGVyTGlzdChwYXJhbWV0ZXIpOworICAgICAgICAgICAgICAg
IGZhaWxJZkZhbHNlKGluZm8ucGFyYW1ldGVycywgIkNhbm5vdCBwYXJzZSBwYXJhbWV0ZXJzIGZv
ciB0aGlzICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIG1hdGNoT3JGYWlsKEFSUk9XRlVOQ1RJT04sICJF
eHBlY3RlZCBhICc9PicgYWZ0ZXIgYXJyb3cgZnVuY3Rpb24gcGFyYW1ldGVyIGRlY2xhcmF0aW9u
Iik7CisgICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IGZhbHNlOworICAgICAgICAKKyAgICAg
ICAgaW5mby5hcnJvd0Z1bmN0aW9uT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAg
IH0KKyNlbmRpZgorICAgIAogICAgIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQgPSBp
c0NsYXNzQ29uc3RydWN0b3IgPyBvd25lckNsYXNzS2luZCA6IENvbnN0cnVjdG9yS2luZDo6Tm9u
ZTsKIAogICAgIGluZm8ub3BlbkJyYWNlT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OwpA
QCAtMTM4NCw4ICsxNTE3LDE3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIGZh
aWxJZkZhbHNlKHBvcFNjb3BlKGZ1bmN0aW9uU2NvcGUsIFRyZWVCdWlsZGVyOjpOZWVkc0ZyZWVW
YXJpYWJsZUluZm8pLCAiUGFyc2VyIGVycm9yIik7CiAgICAgICAgIAogICAgICAgICBpbmZvLmNs
b3NlQnJhY2VPZmZzZXQgPSBjYWNoZWRJbmZvLT5jbG9zZUJyYWNlT2Zmc2V0OwotCisgICAgICAg
IAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChwYXJz
ZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICAgICAgaW5mby5hcnJv
d0Z1bmN0aW9uQm9keVR5cGUgPSBjYWNoZWRJbmZvLT5pc0JvZHlBcnJvd0Z1bmN0aW9uQmxvY2sg
PyBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrIDogQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOwor
ICAgICAgICAgICAgbV90b2tlbiA9IGluZm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBlID09IEFycm93
RnVuY3Rpb25Cb2R5QmxvY2sgPyBjYWNoZWRJbmZvLT5jbG9zZUJyYWNlVG9rZW4oKSA6IGNhY2hl
ZEluZm8tPmVuZEFycm93RnVuY3Rpb25Ub2tlbigpOworICAgICAgICB9IGVsc2UKKyAgICAgICAg
ICAgIG1fdG9rZW4gPSBjYWNoZWRJbmZvLT5jbG9zZUJyYWNlVG9rZW4oKTsKKyNlbHNlICAgCiAg
ICAgICAgIG1fdG9rZW4gPSBjYWNoZWRJbmZvLT5jbG9zZUJyYWNlVG9rZW4oKTsKKyNlbmRpZgor
ICAgICAgICAKICAgICAgICAgaWYgKGVuZENvbHVtbklzT25TdGFydExpbmUpCiAgICAgICAgICAg
ICBtX3Rva2VuLm1fbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVTdGFydE9m
ZnNldDsKIApAQCAtMTM5NCwxMyArMTUzNiw0OCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAog
CiAgICAgICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KGluZm8uYm9keSwgbV9sZXhlci0+Y3VycmVu
dE9mZnNldCgpKTsKICAgICAgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICAgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7Cisg
ICAgICAgICAgICBpZiAoaW5mby5hcnJvd0Z1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlv
bkJvZHlCbG9jaykKKyAgICAgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgIH0gZWxzZQorICAg
ICAgICAgICAgbmV4dCgpOworI2Vsc2UKICAgICAgICAgbmV4dCgpOworI2VuZGlmCiAgICAgICAg
IGluZm8uYm9keUVuZExpbmUgPSBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmU7CiAgICAgICAg
IHJldHVybiB0cnVlOwogICAgIH0KKyAgICAKKyAgICAKICAgICBtX2xhc3RGdW5jdGlvbk5hbWUg
PSBsYXN0RnVuY3Rpb25OYW1lOwogICAgIFBhcnNlclN0YXRlIG9sZFN0YXRlID0gc2F2ZVN0YXRl
KCk7CisgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAo
cGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgU2F2ZVBvaW50
IHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgICAgICBuZXh0KCk7CisgICAgICAg
IC8vIENoZWNrIGlmIGFycm93IGJvZHkgc3RhcnQgd2l0aCB7LiBJZiBpdCB0cnVlIGl0IG1lYW4g
dGhhdCBhcnJvdyBmdW5jdGlvbiBpcyBGYXQgYXJyb3cgZnVuY3Rpb24KKyAgICAgICAgLy8gYW5k
IHdlIG5lZWQgdXNlIGNvbW1vbiBhcHByb2FjaCB0byBwYXJzZSBmdW5jdGlvbiBib2R5CisgICAg
ICAgIGluZm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBlID0gbWF0Y2goT1BFTkJSQUNFKSA/IEFycm93
RnVuY3Rpb25Cb2R5QmxvY2sgOiBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb247CisgICAgCisg
ICAgICAgIGlmIChpbmZvLmFycm93RnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9k
eUJsb2NrKSB7CisgICAgICAgICAgICBpbmZvLm9wZW5CcmFjZU9mZnNldCA9IG1fdG9rZW4ubV9k
YXRhLm9mZnNldDsKKyAgICAgICAgICAgIGluZm8uYm9keVN0YXJ0TGluZSA9IHRva2VuTGluZSgp
OworICAgICAgICAgICAgaW5mby5ib2R5U3RhcnRDb2x1bW4gPSBtX3Rva2VuLm1fZGF0YS5vZmZz
ZXQgLSBtX3Rva2VuLm1fZGF0YS5saW5lU3RhcnRPZmZzZXQ7CisgICAgICAgIAorICAgICAgICAg
ICAgaW5mby5ib2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3Jk
U3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2lu
ZCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQ
b2ludCk7CisgICAgICAgICAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0
LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFy
dCwgY29uc3RydWN0b3JLaW5kLCBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKTsKKyAgICAgICAgfQor
ICAgIH0gZWxzZQorICAgICAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0
LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFy
dCwgY29uc3RydWN0b3JLaW5kKTsKKyNlbHNlCiAgICAgaW5mby5ib2R5ID0gcGFyc2VGdW5jdGlv
bkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBw
YXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCk7CisjZW5kaWYKKyAgICAKKyAgICAKICAg
ICByZXN0b3JlU3RhdGUob2xkU3RhdGUpOwogICAgIGZhaWxJZkZhbHNlKGluZm8uYm9keSwgIkNh
bm5vdCBwYXJzZSB0aGUgYm9keSBvZiB0aGlzICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2Rl
KSk7CiAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQoaW5mby5ib2R5LCBtX2xleGVyLT5jdXJyZW50
T2Zmc2V0KCkpOwpAQCAtMTQzMSwxOCArMTYwOCwzOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWls
ZAogICAgICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VMaW5lID0gY2xvc2VCcmFjZUxpbmU7CiAg
ICAgICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFjZU9mZnNldCA9IGluZm8uY2xvc2VCcmFjZU9mZnNl
dDsKICAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0ID0gY2xvc2VC
cmFjZUxpbmVTdGFydE9mZnNldDsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgICAgICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAg
ICAgICAgICAgIHBhcmFtZXRlcnMuaXNCb2R5QXJyb3dGdW5jdGlvbkJsb2NrID0gaW5mby5hcnJv
d0Z1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jazsKKyAgICAgICAgICAg
IHBhcmFtZXRlcnMudG9rZW5UeXBlID0gbV90b2tlbi5tX3R5cGU7CisgICAgICAgIH0KKyNlbmRp
ZgogICAgICAgICBmdW5jdGlvblNjb3BlLT5maWxsUGFyYW1ldGVyc0ZvclNvdXJjZVByb3ZpZGVy
Q2FjaGUocGFyYW1ldGVycyk7CiAgICAgICAgIG5ld0luZm8gPSBTb3VyY2VQcm92aWRlckNhY2hl
SXRlbTo6Y3JlYXRlKHBhcmFtZXRlcnMpOwogCiAgICAgfQogICAgIAogICAgIGZhaWxJZkZhbHNl
KHBvcFNjb3BlKGZ1bmN0aW9uU2NvcGUsIFRyZWVCdWlsZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUlu
Zm8pLCAiUGFyc2VyIGVycm9yIik7CisgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsK
KyAgICAgICAgaWYgKGluZm8uYXJyb3dGdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25C
b2R5QmxvY2spIHsKKyAgICAgICAgICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0UsICJFeHBlY3Rl
ZCBhIGNsb3NpbmcgJ30nIGFmdGVyIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAi
IGJvZHkiKTsKKyAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAg
ICBmYWlsSWZGYWxzZShpc0VuZE9mQXJyb3dGdW5jdGlvbigpLCAiRXhwZWN0ZWQgdGhlIGNsb3Np
bmcgJzsnICcsJyAnXScgJyknICd9JyBhZnRlciBhcnJvdyBmdW5jdGlvbiIpOworICAgIH0gZWxz
ZSB7CisgICAgICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0UsICJFeHBlY3RlZCBhIGNsb3Npbmcg
J30nIGFmdGVyIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAg
ICAgICAgbmV4dCgpOworICAgIH0KKyNlbHNlCiAgICAgbWF0Y2hPckZhaWwoQ0xPU0VCUkFDRSwg
IkV4cGVjdGVkIGEgY2xvc2luZyAnfScgYWZ0ZXIgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUo
bW9kZSksICIgYm9keSIpOworICAgIG5leHQoKTsKKyNlbmRpZgogICAgIAogICAgIGlmIChuZXdJ
bmZvKQogICAgICAgICBtX2Z1bmN0aW9uQ2FjaGUtPmFkZChpbmZvLm9wZW5CcmFjZU9mZnNldCwg
V1RGOjptb3ZlKG5ld0luZm8pKTsKICAgICAKLSAgICBuZXh0KCk7CiAgICAgaW5mby5ib2R5RW5k
TGluZSA9IG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZTsKICAgICByZXR1cm4gdHJ1ZTsKIH0K
QEAgLTE3NjcsNiArMTk2NCwxOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
dGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSWZTdGF0ZW1lbnQoVAogICAgIHJldHVy
biBjb250ZXh0LmNyZWF0ZUlmU3RhdGVtZW50KGlmTG9jYXRpb24sIGNvbmRpdGlvbiwgdHJ1ZUJs
b2NrLCBzdGF0ZW1lbnRTdGFjay5sYXN0KCksIHN0YXJ0LCBlbmQpOwogfQogCisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+
Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0
KQoreworICAgIGZhaWxJZlN0YWNrT3ZlcmZsb3coKTsKKyAgICBUcmVlRXhwcmVzc2lvbiBub2Rl
ID0gcGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICBmYWlsSWZGYWxzZShu
b2RlLCAiQ2Fubm90IHBhcnNlIGV4cHJlc3Npb24iKTsKKyAgICBjb250ZXh0LnNldEVuZE9mZnNl
dChub2RlLCBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLm9mZnNldCk7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
RXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKIHsKQEAgLTE4MTQsNiArMjAyMyw0MSBA
QCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbgogICAgICAgICB9CiAgICAgICAgIHJlc3RvcmVTYXZl
UG9pbnQoc2F2ZVBvaW50KTsKICAgICB9CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgIFNhdmVQb2ludCBzYXZlQXJyb3dGdW5jdGlvblBvaW50ID0gY3JlYXRlU2F2
ZVBvaW50KCk7CisgICAgYm9vbCBhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0ID0gZmFsc2U7CisgICAg
aWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgbmV4dCgpOworICAgICAgICBpZiAobWF0
Y2goQ0xPU0VQQVJFTikpIHsKKyAgICAgICAgICAgIG5leHQoKTsKKworICAgICAgICAgICAgaWYg
KG1hdGNoKEFSUk9XRlVOQ1RJT04pKQorICAgICAgICAgICAgICAgIGFycm93RnVuY3Rpb25FbXB0
eUxpc3QgPSB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCFhcnJvd0Z1bmN0aW9uRW1w
dHlMaXN0KQorICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBv
aW50KTsKKyAgICB9CisKKyAgICBUcmVlRXhwcmVzc2lvbiBsaHM7CisgICAgaWYgKCFhcnJvd0Z1
bmN0aW9uRW1wdHlMaXN0KSB7CisgICAgICAgIGxocyA9IHBhcnNlQ29uZGl0aW9uYWxFeHByZXNz
aW9uKGNvbnRleHQpOworICAgICAgICBmYWlsSWZGYWxzZShsaHMsICJDYW4Zbm90IHBhcnNlIGV4
cHJlc3Npb24iKTsKKyAgICAgICAgaWYgKGluaXRpYWxOb25MSFNDb3VudCAhPSBtX25vbkxIU0Nv
dW50KSB7CisgICAgICAgICAgICBpZiAobV90b2tlbi5tX3R5cGUgPj0gRVFVQUwgJiYgbV90b2tl
bi5tX3R5cGUgPD0gT1JFUVVBTCkKKyAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWwoIkxlZnQg
aGFuZCBzaWRlIG9mIG9wZXJhdG9yICciLCBnZXRUb2tlbigpLCAiJyBtdXN0IGJlIGEgcmVmZXJl
bmNlIik7CisKKyAgICAgICAgICAgIHJldHVybiBsaHM7CisgICAgICAgIH0KKyAgICB9CisKKyAg
ICBpZiAobWF0Y2goQVJST1dGVU5DVElPTikpIHsKKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChz
YXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAgbGhzID0gcGFyc2VBcnJvd0Z1bmN0aW9u
V3JhcHBlcihjb250ZXh0KTsKKyAgICAgICAgcmV0dXJuIGxoczsKKyAgICB9CisjZWxzZQogICAg
IFRyZWVFeHByZXNzaW9uIGxocyA9IHBhcnNlQ29uZGl0aW9uYWxFeHByZXNzaW9uKGNvbnRleHQp
OwogICAgIGZhaWxJZkZhbHNlKGxocywgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9uIik7CiAgICAg
aWYgKGluaXRpYWxOb25MSFNDb3VudCAhPSBtX25vbkxIU0NvdW50KSB7CkBAIC0xODIyLDcgKzIw
NjYsOCBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbgogCiAgICAgICAgIHJldHVybiBsaHM7CiAg
ICAgfQotICAgIAorI2VuZGlmCisKICAgICBpbnQgYXNzaWdubWVudFN0YWNrID0gMDsKICAgICBP
cGVyYXRvciBvcDsKICAgICBib29sIGhhZEFzc2lnbm1lbnQgPSBmYWxzZTsKQEAgLTIyOTcsNiAr
MjU0MiwyMyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHByZQogICAgICAgICByZXR1cm4gY29udGV4
dC50aGlzRXhwcihsb2NhdGlvbiwgbV90aGlzVERaTW9kZSk7CiAgICAgfQogICAgIGNhc2UgSURF
TlQ6IHsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBTYXZl
UG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgICAg
ICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgICAgICBj
b25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OworICAgICAgICBK
U1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICAgICAgbmV4dCgp
OworCisgICAgICAgIGlmICghbWF0Y2goQVJST1dGVU5DVElPTikpIHsKKyAgICAgICAgICAgIGN1
cnJlbnRTY29wZSgpLT51c2VWYXJpYWJsZShpZGVudCwgbV92bS0+cHJvcGVydHlOYW1lcy0+ZXZh
bCA9PSAqaWRlbnQpOworICAgICAgICAgICAgbV9sYXN0SWRlbnRpZmllciA9IGlkZW50OworICAg
ICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUmVzb2x2ZShsb2NhdGlvbiwgaWRlbnQsIHN0
YXJ0KTsKKyAgICAgICAgfQorCisgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVu
Y3Rpb25Qb2ludCk7CisgICAgICAgIFRyZWVFeHByZXNzaW9uIGxocyA9IHBhcnNlQXJyb3dGdW5j
dGlvbldyYXBwZXIoY29udGV4dCk7CisgICAgICAgIHJldHVybiBsaHM7CisjZWxzZQogICAgICAg
ICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOwogICAgICAgICBj
b25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICBK
U1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKQEAgLTIzMDQsNiArMjU2
Niw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAgICAgIGN1cnJlbnRTY29wZSgpLT51
c2VWYXJpYWJsZShpZGVudCwgbV92bS0+cHJvcGVydHlOYW1lcy0+ZXZhbCA9PSAqaWRlbnQpOwog
ICAgICAgICBtX2xhc3RJZGVudGlmaWVyID0gaWRlbnQ7CiAgICAgICAgIHJldHVybiBjb250ZXh0
LmNyZWF0ZVJlc29sdmUobG9jYXRpb24sIGlkZW50LCBzdGFydCk7CisjZW5kaWYKICAgICB9CiAg
ICAgY2FzZSBTVFJJTkc6IHsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rv
a2VuLm1fZGF0YS5pZGVudDsKQEAgLTI0OTEsNiArMjc1NCwzMiBAQCBlbmRNZW1iZXJFeHByZXNz
aW9uOgogICAgIHJldHVybiBiYXNlOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93
RnVuY3Rpb25XcmFwcGVyKFRyZWVCdWlsZGVyJiBjb250ZXh0KQoreworICAgIFRyZWVFeHByZXNz
aW9uIGJhc2UgPSAwOworICAgIEpTVGV4dFBvc2l0aW9uIGV4cHJlc3Npb25TdGFydCA9IHRva2Vu
U3RhcnRQb3NpdGlvbigpOworICAgIGludCBuZXdDb3VudCA9IDA7CisgICAgSlNUb2tlbkxvY2F0
aW9uIGxvY2F0aW9uOworCisgICAgaWYgKG1hdGNoKElERU5UKSB8fCBtYXRjaChPUEVOUEFSRU4p
KSB7CisgICAgICAgIHVuc2lnbmVkIGZ1bmN0aW9uS2V5d29yZFN0YXJ0ID0gdG9rZW5TdGFydCgp
OworICAgICAgICBsb2NhdGlvbiA9IHRva2VuTG9jYXRpb24oKTsKKyAgICAgICAgUGFyc2VyRnVu
Y3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOworICAgICAgICBpbmZvLm5hbWUgPSAmbV92bS0+
cHJvcGVydHlOYW1lcy0+bnVsbElkZW50aWZpZXI7CisgICAgICAgIGZhaWxJZkZhbHNlKChwYXJz
ZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlvbk1v
ZGUsIHRydWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGlu
Zm8sIEFycm93RnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSBhcnJvdyBmdW5jdGlv
biBleHByZXNzaW9uIik7CisgICAgICAgIGJhc2UgPSBjb250ZXh0LmNyZWF0ZUFycm93RnVuY3Rp
b25FeHByKGxvY2F0aW9uLCBpbmZvKTsKKyAgICB9IGVsc2UKKyAgICAgICAgYmFzZSA9IHBhcnNl
UHJpbWFyeUV4cHJlc3Npb24oY29udGV4dCk7CisKKyAgICBmYWlsSWZGYWxzZShiYXNlLCAiQ2Fu
bm90IHBhcnNlIGJhc2UgZXhwcmVzc2lvbiIpOworICAgIHdoaWxlIChuZXdDb3VudC0tKQorICAg
ICAgICBiYXNlID0gY29udGV4dC5jcmVhdGVOZXdFeHByKGxvY2F0aW9uLCBiYXNlLCBleHByZXNz
aW9uU3RhcnQsIGxhc3RUb2tlbkVuZFBvc2l0aW9uKCkpOworICAgIHJldHVybiBiYXNlOworfQor
I2VuZGlmCisKIHN0YXRpYyBjb25zdCBjaGFyKiBvcGVyYXRvclN0cmluZyhib29sIHByZWZpeCwg
dW5zaWduZWQgdG9rKQogewogICAgIHN3aXRjaCAodG9rKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9QYXJzZXIuaAppbmRleCAwZjI3MjhmODYyMWY4MDEwYzQxMGJmNzk4NzYxOWJmMjNlNTBh
ZjhiLi4zNGNkYTk3MmNjM2I4ZTA5ZDYyM2YzOWQ5ZjVhZmMyZTAxYTM3Zjg2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKQEAgLTgwLDYgKzgwLDkgQEAgY2xhc3MgU291cmNl
Q29kZTsKIENPTVBJTEVfQVNTRVJUKExhc3RVbnRhZ2dlZFRva2VuIDwgNjQsIExlc3NUaGFuNjRV
bnRhZ2dlZFRva2Vucyk7CiAKIGVudW0gU291cmNlRWxlbWVudHNNb2RlIHsgQ2hlY2tGb3JTdHJp
Y3RNb2RlLCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlIH07CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKK2VudW0gRnVuY3Rpb25QYXJzZVR5cGUgeyBTdGFuZGFyZEZ1bmN0aW9u
UGFyc2VUeXBlLCBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlIH07CisjZW5kaWYKIGVudW0gRnVuY3Rp
b25SZXF1aXJlbWVudHMgeyBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlvbk5lZWRzTmFt
ZSB9OwogZW51bSBGdW5jdGlvblBhcnNlTW9kZSB7CiAgICAgRnVuY3Rpb25Nb2RlLApAQCAtNjE4
LDYgKzYyMSwxMyBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gbV90b2tlbi5tX3R5cGUgPT0g
SURFTlQgJiYgKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPm9m
OwogICAgIH0KICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
IEFMV0FZU19JTkxJTkUgYm9vbCBpc0VuZE9mQXJyb3dGdW5jdGlvbigpCisgICAgeworICAgICAg
ICByZXR1cm4gbWF0Y2goU0VNSUNPTE9OKSB8fCBtYXRjaChDT01NQSkgfHwgbWF0Y2goQ0xPU0VQ
QVJFTikgfHwgbWF0Y2goQ0xPU0VCUkFDRSkgfHwgbWF0Y2goQ0xPU0VCUkFDS0VUKTsKKyAgICB9
CisjZW5kaWYKKyAgICAKICAgICBBTFdBWVNfSU5MSU5FIHVuc2lnbmVkIHRva2VuU3RhcnQoKQog
ICAgIHsKICAgICAgICAgcmV0dXJuIG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKQEAg
LTcyMSw5ICs3MzEsMTQgQEAgcHJpdmF0ZToKICAgICAgICAgfQogICAgICAgICByZXR1cm4gcmVz
dWx0OwogICAgIH0KLSAgICAKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgcGFy
c2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYsIFNvdXJjZUVsZW1lbnRzTW9kZSwgRnVuY3Rp
b25QYXJzZVR5cGUgZnVuY3Rpb25QYXJzZVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBl
KTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VT
dGF0ZW1lbnQoVHJlZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNp
Z25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDAsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0
aW9uUGFyc2VUeXBlID0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CisjZWxzZQogICAgIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNlU291cmNl
RWxlbWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUpOwogICAgIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0YXRlbWVudChUcmVlQnVp
bGRlciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVM
aXRlcmFsTGVuZ3RoID0gMCk7CisjZW5kaWYKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkK
ICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VDbGFz
c0RlY2xhcmF0aW9uKFRyZWVCdWlsZGVyJik7CiAjZW5kaWYKQEAgLTc2MiwxNyArNzc3LDMyIEBA
IHByaXZhdGU6CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkg
cGFyc2VQcm9wZXJ0eShUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0KTsKICAgICB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlUHJvcGVydHlNZXRob2QoVHJl
ZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqIG1ldGhvZE5hbWUpOwogICAgIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IHBhcnNlR2V0dGVyU2V0dGVy
KFRyZWVCdWlsZGVyJiwgYm9vbCBzdHJpY3QsIFByb3BlcnR5Tm9kZTo6VHlwZSwgdW5zaWduZWQg
Z2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgQ29uc3RydWN0b3JLaW5kID0gQ29uc3RydWN0b3JL
aW5kOjpOb25lLCBTdXBlckJpbmRpbmcgPSBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCk7Ci0gICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJv
ZHkgcGFyc2VGdW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3Rh
cnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0
b3JLaW5kKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRnVuY3Rpb25Cb2R5IHBh
cnNlRnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVyJiwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBp
bnQgZnVuY3Rpb25OYW1lU3RhcnQsIGludCBwYXJhbWV0ZXJzU3RhcnQsIENvbnN0cnVjdG9yS2lu
ZCwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25QYXJzZVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9u
UGFyc2VUeXBlKTsKKyNlbHNlCisgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
QUxXQVlTX0lOTElORSBUcmVlRnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rpb25Cb2R5KFRyZWVCdWls
ZGVyJiwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIGlu
dCBwYXJhbWV0ZXJzU3RhcnQsIENvbnN0cnVjdG9yS2luZCk7CisjZW5kaWYKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZvcm1hbFBhcmFtZXRlckxp
c3QgcGFyc2VGb3JtYWxQYXJhbWV0ZXJzKFRyZWVCdWlsZGVyJik7CiAgICAgZW51bSBWYXJEZWNs
YXJhdGlvbkxpc3RDb250ZXh0IHsgRm9yTG9vcENvbnRleHQsIFZhckRlY2xhcmF0aW9uQ29udGV4
dCB9OwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFy
c2VWYXJEZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImLCBpbnQmIGRlY2xhcmF0aW9ucywgVHJl
ZURlY29uc3RydWN0aW9uUGF0dGVybiYgbGFzdFBhdHRlcm4sIFRyZWVFeHByZXNzaW9uJiBsYXN0
SW5pdGlhbGl6ZXIsIEpTVGV4dFBvc2l0aW9uJiBpZGVudFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYg
aW5pdFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdEVuZCwgVmFyRGVjbGFyYXRpb25MaXN0Q29u
dGV4dCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJl
ZUNvbnN0RGVjbExpc3QgcGFyc2VDb25zdERlY2xhcmF0aW9uTGlzdChUcmVlQnVpbGRlciYpOwog
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Np
b24oVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
dGF0ZW1lbnQgcGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJik7CisgICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFycm93RnVu
Y3Rpb25XcmFwcGVyKFRyZWVCdWlsZGVyJik7CisjZW5kaWYKKwogICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gY3Jl
YXRlQmluZGluZ1BhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0cnVjdGlvbktpbmQsIGNvbnN0
IElkZW50aWZpZXImLCBpbnQgZGVwdGgsIEpTVG9rZW4pOwogICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gcGFyc2VE
ZWNvbnN0cnVjdGlvblBhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0cnVjdGlvbktpbmQsIGlu
dCBkZXB0aCA9IDApOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5M
SU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gdHJ5UGFyc2VEZWNvbnN0cnVjdGlvblBhdHRl
cm5FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5F
IGJvb2wgcGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50
cywgRnVuY3Rpb25QYXJzZU1vZGUsIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENvbnN0
cnVjdG9yS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88
VHJlZUJ1aWxkZXI+JiwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25QYXJzZVR5cGUgPSBTdGFu
ZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNlbHNlCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBORVZFUl9JTkxJTkUgYm9vbCBwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYs
IEZ1bmN0aW9uUmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSwgYm9vbCBuYW1lSXNJbkNv
bnRhaW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQs
IFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mKTsKKyNlbmRpZgorICAgIAogI2lmIEVO
QUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
TkVWRVJfSU5MSU5FIFRyZWVDbGFzc0V4cHJlc3Npb24gcGFyc2VDbGFzcyhUcmVlQnVpbGRlciYs
IEZ1bmN0aW9uUmVxdWlyZW1lbnRzLCBQYXJzZXJDbGFzc0luZm88VHJlZUJ1aWxkZXI+Jik7CiAj
ZW5kaWYKQEAgLTc4OSw2ICs4MTksMTQgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIGFsbG93
QXV0b21hdGljU2VtaWNvbG9uKCk7CiAgICAgfQogICAgIAorCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2b2lkIHNldEVuZE9mU3RhdGVtZW50KCkKKyAgICB7Cisg
ICAgICAgIG1fbGV4ZXItPnNldFRva2VuUG9zaXRpb24oJm1fdG9rZW4pOworICAgIH0KKyNlbmRp
ZgorCiAgICAgYm9vbCBjYW5SZWN1cnNlKCkKICAgICB7CiAgICAgICAgIHJldHVybiBtX3ZtLT5p
c1NhZmVUb1JlY3Vyc2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlckZ1bmN0aW9uSW5mby5oCmluZGV4IDZiNzM2MjgyZTJkMmE4MWJjNjNkYzJmM2MwZTVhZThj
ODU4Y2QxZjguLmQ3NTJhNjEwYTliNmViMGM2YTExNDk1NDY1Y2E3ZGJkNzY4Y2Q1MjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaApA
QCAtMjgsNiArMjgsMTAgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorZW51bSBBcnJvd0Z1bmN0aW9uQm9keVR5cGUgeyBBcnJvd0Z1
bmN0aW9uQm9keUV4cHJlc3Npb24sIEFycm93RnVuY3Rpb25Cb2R5QmxvY2t9OworI2VuZGlmCisK
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4KIHN0cnVjdCBQYXJzZXJGdW5jdGlvbkluZm8g
ewogICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUgPSAwOwpAQCAtMzgsNiArNDIsMTEgQEAgc3Ry
dWN0IFBhcnNlckZ1bmN0aW9uSW5mbyB7CiAgICAgaW50IGJvZHlTdGFydExpbmUgPSAwOwogICAg
IGludCBib2R5RW5kTGluZSA9IDA7CiAgICAgdW5zaWduZWQgYm9keVN0YXJ0Q29sdW1uID0gMDsK
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHVuc2lnbmVkIGFycm93
RnVuY3Rpb25PZmZzZXQgPSAwOworICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uID0gZmFsc2U7Cisg
ICAgQXJyb3dGdW5jdGlvbkJvZHlUeXBlIGFycm93RnVuY3Rpb25Cb2R5VHlwZSA9IEFycm93RnVu
Y3Rpb25Cb2R5RXhwcmVzc2lvbjsKKyNlbmRpZgogfTsKIAogI2lmIEVOQUJMRShFUzZfQ0xBU1Nf
U1lOVEFYKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJU
b2tlbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKaW5k
ZXggODMyOWY4MmE5YjJmZjkxNWQxZjI0MWMxZjhiZmZhZDQyNDdhNWYwYi4uYzhiMTY2ZTBlYWQ3
ZDJkYTcxOWU3NmM0YTJmMDlhZmYxZDc0ZDdhYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1BhcnNlclRva2Vucy5oCkBAIC03NSw2ICs3NSw5IEBAIGVudW0gSlNUb2tlblR5cGUg
ewogICAgIEZJTkFMTFksCiAgICAgREVCVUdHRVIsCiAgICAgRUxTRSwKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEFSUk9XRlVOQ1RJT04sCisjZW5kaWYKICNpZiBF
TkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICBDTEFTU1RPS0VOLAogICAgIEVYVEVORFMsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCmluZGV4IDczZDIzZGI4MmFm
MjVlYTQ2YzBmODk3ODVjZTQyNGJiNjBlYjYxYTcuLjkyOGU3MTJhOTBlMzQ4OTg4YmMzNTU0ODk4
NzViMDkwNzc2NzU1MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
U291cmNlQ29kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29k
ZS5oCkBAIC0xMDUsNiArMTA1LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIAogICAgICAg
ICBTb3VyY2VDb2RlIHN1YkV4cHJlc3Npb24odW5zaWduZWQgb3BlbkJyYWNlLCB1bnNpZ25lZCBj
bG9zZUJyYWNlLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOwogCisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgU291cmNlQ29kZSBzdWJBcnJvd0V4
cHJlc3Npb24odW5zaWduZWQgc3RhcnRBcnJvd0Z1bmN0aW9uLCB1bnNpZ25lZCBlbmRBcnJvd0Z1
bmN0aW9uLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOworI2VuZGlmCiAgICAgcHJp
dmF0ZToKICAgICAgICAgUmVmUHRyPFNvdXJjZVByb3ZpZGVyPiBtX3Byb3ZpZGVyOwogICAgICAg
ICBpbnQgbV9zdGFydENoYXI7CkBAIC0xMTgsNiArMTIxLDE3IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICByZXR1cm4gU291cmNlQ29kZShTdHJpbmdTb3VyY2VQcm92aWRlcjo6Y3JlYXRlKHNv
dXJjZSwgdXJsLCBzdGFydFBvc2l0aW9uKSwgc3RhcnRQb3NpdGlvbi5tX2xpbmUub25lQmFzZWRJ
bnQoKSwgc3RhcnRQb3NpdGlvbi5tX2NvbHVtbi5vbmVCYXNlZEludCgpKTsKICAgICB9CiAKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlubGluZSBTb3VyY2VDb2Rl
IFNvdXJjZUNvZGU6OnN1YkFycm93RXhwcmVzc2lvbih1bnNpZ25lZCBzdGFydEFycm93RnVuY3Rp
b24sIHVuc2lnbmVkIGVuZEFycm93RnVuY3Rpb24sIGludCBmaXJzdExpbmUsIGludCBzdGFydENv
bHVtbikKKyAgICB7CisgICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFy
cm93RnVuY3Rpb25dID09ICc9JyAmJiBwcm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFycm93RnVu
Y3Rpb24gKyAxXSA9PSAnPicpOworICAgICAgICAvLyBGaXhtZTogVXNlIGJldHRlciBhcHByb2Fj
aCB0byBjaGVjayBzeW1ib2wKKyAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW2Vu
ZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnLCcgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJy
b3dGdW5jdGlvbiAtIDFdID09ICc7JyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1
bmN0aW9uIC0gMV0gPT0gJyknIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rp
b24gLSAxXSA9PSAnXScgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAt
IDFdID09ICd9Jyk7CisgICAgICAgIHN0YXJ0Q29sdW1uICs9IDE7IC8vIENvbnZlcnQgdG8gYmFz
ZSAxLgorICAgICAgICByZXR1cm4gU291cmNlQ29kZShwcm92aWRlcigpLCBzdGFydEFycm93RnVu
Y3Rpb24sIGVuZEFycm93RnVuY3Rpb24gLSAxLCBmaXJzdExpbmUsIHN0YXJ0Q29sdW1uKTsKKyAg
ICB9CisjZW5kaWYKKwogICAgIGlubGluZSBTb3VyY2VDb2RlIFNvdXJjZUNvZGU6OnN1YkV4cHJl
c3Npb24odW5zaWduZWQgb3BlbkJyYWNlLCB1bnNpZ25lZCBjbG9zZUJyYWNlLCBpbnQgZmlyc3RM
aW5lLCBpbnQgc3RhcnRDb2x1bW4pCiAgICAgewogICAgICAgICBBU1NFUlQocHJvdmlkZXIoKS0+
c291cmNlKClbb3BlbkJyYWNlXSA9PSAneycpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCmluZGV4IDYzNTM3OWUzZjQ0
NTY2OGM1MmI4NzJmNzYxNmRjYjU5MjFhODI5NDQuLjgzNDY0ODUyMTlkMGFjZjZiMzI2OTcyZGEy
Nzk3MjFkMzY1NWRiMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKQEAgLTQwLDYgKzQwLDEwIEBAIHN0cnVjdCBT
b3VyY2VQcm92aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgYm9vbCBuZWVk
c0Z1bGxBY3RpdmF0aW9uOwogICAgIGJvb2wgdXNlc0V2YWw7CiAgICAgYm9vbCBzdHJpY3RNb2Rl
OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgYm9vbCBpc0JvZHlB
cnJvd0Z1bmN0aW9uQmxvY2s7CisgICAgSlNUb2tlblR5cGUgdG9rZW5UeXBlOworI2VuZGlmCiAg
ICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4gdXNlZFZhcmlhYmxlczsKICAgICBWZWN0b3I8
UmVmUHRyPFN0cmluZ0ltcGw+PiB3cml0dGVuVmFyaWFibGVzOwogfTsKQEAgLTY5LDYgKzczLDIx
IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIHRva2VuOwogICAgIH0KIAorI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgSlNUb2tlbiBlbmRBcnJvd0Z1bmN0aW9uVG9r
ZW4oKSBjb25zdAorICAgIHsKKyAgICAgICAgSlNUb2tlbiB0b2tlbjsKKyAgICAgICAgdG9rZW4u
bV90eXBlID0gdG9rZW5UeXBlOworICAgICAgICB0b2tlbi5tX2RhdGEub2Zmc2V0ID0gY2xvc2VC
cmFjZU9mZnNldDsKKyAgICAgICAgdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldCA9IGNsb3Nl
QnJhY2VPZmZzZXQ7CisgICAgICAgIHRva2VuLm1fbG9jYXRpb24uZW5kT2Zmc2V0ID0gY2xvc2VC
cmFjZU9mZnNldCArIDE7CisgICAgICAgIHRva2VuLm1fbG9jYXRpb24ubGluZSA9IGNsb3NlQnJh
Y2VMaW5lOworICAgICAgICB0b2tlbi5tX2xvY2F0aW9uLmxpbmVTdGFydE9mZnNldCA9IGNsb3Nl
QnJhY2VMaW5lU3RhcnRPZmZzZXQ7CisKKyAgICAgICAgcmV0dXJuIHRva2VuOworICAgIH0KKyNl
bmRpZgorCiAgICAgdW5zaWduZWQgZnVuY3Rpb25OYW1lU3RhcnQgOiAzMTsKICAgICBib29sIG5l
ZWRzRnVsbEFjdGl2YXRpb24gOiAxOwogICAgIApAQCAtODIsNiArMTAxLDExIEBAIHB1YmxpYzoK
ICAgICB1bnNpZ25lZCB1c2VkVmFyaWFibGVzQ291bnQ7CiAgICAgdW5zaWduZWQgd3JpdHRlblZh
cmlhYmxlc0NvdW50OwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICBib29sIGlzQm9keUFycm93RnVuY3Rpb25CbG9jazsKKyAgICBKU1Rva2VuVHlwZSB0b2tlblR5
cGU7CisjZW5kaWYKKwogICAgIFN0cmluZ0ltcGwqKiB1c2VkVmFyaWFibGVzKCkgY29uc3QgeyBy
ZXR1cm4gY29uc3RfY2FzdDxTdHJpbmdJbXBsKio+KG1fdmFyaWFibGVzKTsgfQogICAgIFN0cmlu
Z0ltcGwqKiB3cml0dGVuVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxTdHJp
bmdJbXBsKio+KCZtX3ZhcmlhYmxlc1t1c2VkVmFyaWFibGVzQ291bnRdKTsgfQogCkBAIC0xMTUs
NiArMTM5LDEwIEBAIGlubGluZSBTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6U291cmNlUHJvdmlk
ZXJDYWNoZUl0ZW0oY29uc3QgU291cmNlUHJvdmlkZXJDYWNoCiAgICAgLCBjbG9zZUJyYWNlTGlu
ZVN0YXJ0T2Zmc2V0KHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldCkKICAgICAs
IHVzZWRWYXJpYWJsZXNDb3VudChwYXJhbWV0ZXJzLnVzZWRWYXJpYWJsZXMuc2l6ZSgpKQogICAg
ICwgd3JpdHRlblZhcmlhYmxlc0NvdW50KHBhcmFtZXRlcnMud3JpdHRlblZhcmlhYmxlcy5zaXpl
KCkpCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAsIGlzQm9keUFy
cm93RnVuY3Rpb25CbG9jayhwYXJhbWV0ZXJzLmlzQm9keUFycm93RnVuY3Rpb25CbG9jaykKKyAg
ICAsIHRva2VuVHlwZShwYXJhbWV0ZXJzLnRva2VuVHlwZSkKKyNlbmRpZgogewogICAgIHVuc2ln
bmVkIGogPSAwOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB1c2VkVmFyaWFibGVzQ291
bnQ7ICsraSwgKytqKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1N5bnRheENoZWNrZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hl
Y2tlci5oCmluZGV4IDhlNGY2MWI5NDk4OTBiOWJmNTQwMjllOTY2NjFlZWY1M2ExN2I1ODQuLjVm
OGUyMTFlZTRiNTNiMzk0ZWI1YWUyMTkwYjgzYzhjNGY4NDRjZmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCkBAIC0xNzAsNiArMTcwLDEwIEBAIHB1
YmxpYzoKICNlbmRpZgogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUZ1bmN0aW9uRXhwcihjb25z
dCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tl
cj4mKSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KICAgICBpbnQgY3JlYXRlRnVuY3Rpb25Cb2R5
KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGludCwgaW50
LCBib29sLCBpbnQsIGludCwgaW50LCBDb25zdHJ1Y3RvcktpbmQpIHsgcmV0dXJuIEZ1bmN0aW9u
Qm9keVJlc3VsdDsgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAg
RXhwcmVzc2lvblR5cGUgY3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0
aW9uJiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JikgeyByZXR1cm4g
RnVuY3Rpb25FeHByOyB9CisjZW5kaWYgCisgICAgdm9pZCBzZXRGdW5jdGlvbk5hbWVTdGFydChp
bnQsIGludCkgeyB9CiAgICAgaW50IGNyZWF0ZUFyZ3VtZW50cygpIHsgcmV0dXJuIEFyZ3VtZW50
c1Jlc3VsdDsgfQogICAgIGludCBjcmVhdGVBcmd1bWVudHMoaW50KSB7IHJldHVybiBBcmd1bWVu
dHNSZXN1bHQ7IH0KICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVTcHJlYWRFeHByZXNzaW9uKGNv
bnN0IEpTVG9rZW5Mb2NhdGlvbiYsIEV4cHJlc3Npb25UeXBlLCBpbnQsIGludCwgaW50KSB7IHJl
dHVybiBTcHJlYWRFeHByOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0Fycm93RnVuY3Rpb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNBcnJvd0Z1bmN0aW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZmMzZWExODAwNjg5NjQzYWFkZDZjNmE0
OTdlZDBhZTZjMjExMTIwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcApAQCAtMCwwICsxLDc3IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisjaW5jbHVkZSAiSlNBcnJvd0Z1
bmN0aW9uLmgiCisKKyNpbmNsdWRlICJFcnJvci5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbkhlbHBl
cnMuaCIKKyNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCisjaW5jbHVkZSAiSlNDSlNWYWx1ZS5oIgor
I2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU0Z1bmN0aW9uSW5saW5lcy5oIgor
I2luY2x1ZGUgIkpTT2JqZWN0LmgiCisjaW5jbHVkZSAiUHJvcGVydHlTbG90LmgiCisjaW5jbHVk
ZSAiVk0uaCIKKworbmFtZXNwYWNlIEpTQyB7CisgICAgCitjb25zdCBDbGFzc0luZm8gSlNBcnJv
d0Z1bmN0aW9uOjpzX2luZm8gPSB7ICJBcnJvd0Z1bmN0aW9uIiwgJkJhc2U6OnNfaW5mbywgMCwg
Q1JFQVRFX01FVEhPRF9UQUJMRShKU0Fycm93RnVuY3Rpb24pIH07CisKK3ZvaWQgSlNBcnJvd0Z1
bmN0aW9uOjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKK3sKKyAgICBzdGF0aWNfY2FzdDxKU0Fycm93
RnVuY3Rpb24qPihjZWxsKS0+SlNBcnJvd0Z1bmN0aW9uOjp+SlNBcnJvd0Z1bmN0aW9uKCk7Cit9
CisKK0pTQXJyb3dGdW5jdGlvbjo6SlNBcnJvd0Z1bmN0aW9uKFZNJiB2bSwgSlNTY29wZSogc2Nv
cGUsIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUp
CisgICAgOiBCYXNlKHZtLCBleGVjdXRhYmxlLCBzY29wZSwgc3RydWN0dXJlKQoreworfQorICAg
IAordm9pZCBKU0Fycm93RnVuY3Rpb246OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKK3sKKyAgICBC
YXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CisvLyBQcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24g
aXMgdW5kZWZpbmVkCisgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5
cGUsIGpzVW5kZWZpbmVkKCksIERvbnREZWxldGUgfCBSZWFkT25seSB8IERvbnRFbnVtKTsKK30K
KyAgICAKK3ZvaWQgSlNBcnJvd0Z1bmN0aW9uOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwg
U2xvdFZpc2l0b3ImIHZpc2l0b3IpCit7CisgICAgSlNBcnJvd0Z1bmN0aW9uKiB0aGlzT2JqZWN0
ID0ganNDYXN0PEpTQXJyb3dGdW5jdGlvbio+KGNlbGwpOworICAgIEFTU0VSVF9HQ19PQkpFQ1Rf
SU5IRVJJVFModGhpc09iamVjdCwgaW5mbygpKTsKKyAgICBCYXNlOjp2aXNpdENoaWxkcmVuKHRo
aXNPYmplY3QsIHZpc2l0b3IpOworfQorICAgIAorQ29uc3RydWN0VHlwZSBKU0Fycm93RnVuY3Rp
b246OmdldENvbnN0cnVjdERhdGEoSlNDZWxsKiBjZWxsLCBDb25zdHJ1Y3REYXRhJiBjb25zdHJ1
Y3REYXRhKQoreworICAgIEpTRnVuY3Rpb24qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNGdW5jdGlv
bio+KGNlbGwpOworICAgICAgICAKKyAgICBjb25zdHJ1Y3REYXRhLmpzLmZ1bmN0aW9uRXhlY3V0
YWJsZSA9IHRoaXNPYmplY3QtPmpzRXhlY3V0YWJsZSgpOworICAgIGNvbnN0cnVjdERhdGEuanMu
c2NvcGUgPSB0aGlzT2JqZWN0LT5zY29wZSgpOworICAgIHJldHVybiBDb25zdHJ1Y3RUeXBlTm9u
ZTsKK30KK30gLy8gbmFtZXNwYWNlIEpTQworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc4MDE1ZDM4NzIxY2Nh
NDRhZTJmNjVjYjZkNzdiNmE2NTIyMDk2NWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uaApAQCAtMCwwICsxLDc0IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBKU0Fy
cm93RnVuY3Rpb25faAorI2RlZmluZSBKU0Fycm93RnVuY3Rpb25faAorCisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKworI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKKyNpbmNs
dWRlICJKU0dsb2JhbE9iamVjdC5oIgorCituYW1lc3BhY2UgSlNDIHsKKworY2xhc3MgSlNBcnJv
d0Z1bmN0aW9uIDogcHVibGljIEpTRnVuY3Rpb24geworcHVibGljOgorICAgIHR5cGVkZWYgSlNG
dW5jdGlvbiBCYXNlOworICAgICAgICAKKyAgICBzdGF0aWMgSlNBcnJvd0Z1bmN0aW9uKiBjcmVh
dGUoVk0mIHZtLCBKU1Njb3BlKiBzY29wZSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxl
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQorICAgIHsKKyAgICAgICAgSlNBcnJvd0Z1
bmN0aW9uKiBmdW5jdGlvbiA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEpTQXJyb3dGdW5j
dGlvbj4odm0uaGVhcCkpIEpTQXJyb3dGdW5jdGlvbih2bSwgc2NvcGUsIGV4ZWN1dGFibGUsIGds
b2JhbE9iamVjdC0+YXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpKTsKKyAgICAgICAgQVNTRVJUKGZ1
bmN0aW9uLT5zdHJ1Y3R1cmUoKS0+Z2xvYmFsT2JqZWN0KCkpOworICAgICAgICBmdW5jdGlvbi0+
ZmluaXNoQ3JlYXRpb24odm0pOworICAgICAgICByZXR1cm4gZnVuY3Rpb247CisgICAgfQorICAg
IAorICAgIHN0YXRpYyB2b2lkIGRlc3Ryb3koSlNDZWxsKik7CisgICAgICAgIAorICAgIHN0YXRp
YyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIEpTVmFsdWUgcHJvdG90eXBlKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGdsb2Jh
bE9iamVjdCk7CisgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2Jq
ZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKEpTRnVuY3Rpb25UeXBlLCBTdHJ1Y3R1cmVGbGFncyks
IGluZm8oKSk7CisgICAgfQorICAgICAgICAKKyAgICBzdGF0aWMgQ29uc3RydWN0VHlwZSBnZXRD
b25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmKTsKKyAgICAgICAgCisgICAgREVD
TEFSRV9JTkZPOworCitwcm90ZWN0ZWQ6CisgICAgY29uc3Qgc3RhdGljIHVuc2lnbmVkIFN0cnVj
dHVyZUZsYWdzID0gT3ZlcnJpZGVzSGFzSW5zdGFuY2UgfCBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsK
KyAgICAgICAgCisgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90Vmlz
aXRvciYpOworICAgICAgICAKK3ByaXZhdGU6CisgICAgSlNBcnJvd0Z1bmN0aW9uKFZNJiwgSlNT
Y29wZSosIEZ1bmN0aW9uRXhlY3V0YWJsZSosIFN0cnVjdHVyZSopOworCisgICAgdm9pZCBmaW5p
c2hDcmVhdGlvbihWTSYpOworfTsKKyAgICAKK30gLy8gbmFtZXNwYWNlIEpTQworI2VuZGlmIC8v
IEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWAorCisjZW5kaWYgLy8gSlNBcnJvd0Z1bmN0aW9uX2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAppbmRleCA5YWI5ZGMy
Nzc3YmFiZjg5NjM4MWRjZjQwMmMwMTMwOTBmOTVlMzBjLi4zYTBhZTAxMTM1YmNiOTY0MGIwNTAy
YTMxNjUxYWY4ZmNhYTJjNGFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0Z1bmN0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNG
dW5jdGlvbi5oCkBAIC0xMzIsNiArMTMyLDkgQEAgcHJvdGVjdGVkOgogCiAgICAgSlNfRVhQT1JU
X1BSSVZBVEUgSlNGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKik7CiAg
ICAgSlNGdW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSosIEpTU2NvcGUqKTsKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEpTRnVuY3Rpb24oVk0mLCBGdW5j
dGlvbkV4ZWN1dGFibGUqLCBKU1Njb3BlKiwgU3RydWN0dXJlKik7CisjZW5kaWYKIAogICAgIHZv
aWQgZmluaXNoQ3JlYXRpb24oVk0mLCBOYXRpdmVFeGVjdXRhYmxlKiwgaW50IGxlbmd0aCwgY29u
c3QgU3RyaW5nJiBuYW1lKTsKICAgICB1c2luZyBCYXNlOjpmaW5pc2hDcmVhdGlvbjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oCmluZGV4
IDM3YjI4MWFhNWQwYzFiODYxNjQ1MTlmZDdjNTY2ZTM3ZjBmMTM0MDEuLjdiMzQ5MGJlYjk0YTM1
OTNlZTE3YmMzYjE2YjMyYzdkZmFmOTU3M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaApAQCAtMzgsNiArMzgsMTUgQEAgaW5saW5l
IEpTRnVuY3Rpb246OkpTRnVuY3Rpb24oVk0mIHZtLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1
dGFibGUsIEpTU2NvcGUqIHMKIHsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCitpbmxpbmUgSlNGdW5jdGlvbjo6SlNGdW5jdGlvbihWTSYgdm0sIEZ1bmN0aW9uRXhl
Y3V0YWJsZSogZXhlY3V0YWJsZSwgSlNTY29wZSogc2NvcGUsIFN0cnVjdHVyZSogc3RydWN0dXJl
KQorICAgIDogQmFzZSh2bSwgc2NvcGUsIHN0cnVjdHVyZSkKKyAgICAsIG1fZXhlY3V0YWJsZSh2
bSwgdGhpcywgZXhlY3V0YWJsZSkKKyAgICAsIG1fYWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50
KENsZWFyV2F0Y2hwb2ludCkKK3sKK30KKyNlbmRpZgorICAgIAogaW5saW5lIEZ1bmN0aW9uRXhl
Y3V0YWJsZSogSlNGdW5jdGlvbjo6anNFeGVjdXRhYmxlKCkgY29uc3QKIHsKICAgICBBU1NFUlQo
IWlzSG9zdEZ1bmN0aW9uTm9uSW5saW5lKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCmluZGV4IGQzOTYxOGFiN2VhZjU1OTc0ZGFhYzIz
YjgxMzMzZWIwMDUxZWJlNzMuLmY5NDFhZDE4Nzk2OGJjZDg3ZTJmNDljOGI3ODc1MDU0ZGM3ZDYw
NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2Jq
ZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVj
dC5jcHAKQEAgLTYyLDYgKzYyLDkgQEAKICNpbmNsdWRlICJKU0FycmF5QnVmZmVyUHJvdG90eXBl
LmgiCiAjaW5jbHVkZSAiSlNBcnJheUl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0
aW9uLmgiCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyNpbmNsdWRlICJK
U0Fycm93RnVuY3Rpb24uaCIKKyNlbmRpZgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNs
dWRlICJKU0NhbGxiYWNrQ29uc3RydWN0b3IuaCIKICNpbmNsdWRlICJKU0NhbGxiYWNrRnVuY3Rp
b24uaCIKQEAgLTIzMyw2ICsyMzYsOSBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2
bSkKICAgICBleGVjLT5zZXRDYWxsZWUobV9nbG9iYWxDYWxsZWUuZ2V0KCkpOwogCiAgICAgbV9m
dW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpTRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVy
ZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOworI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgbV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlLnNldCh2
bSwgdGhpcywgSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVu
Y3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKKyNlbmRpZgogICAgIG1fYm91bmRGdW5jdGlvblN0cnVj
dHVyZS5zZXQodm0sIHRoaXMsIEpTQm91bmRGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0
aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7CiAgICAgbV9uYW1lZEZ1bmN0aW9uU3Ry
dWN0dXJlLnNldCh2bSwgdGhpcywgU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb24odm0s
IG1fZnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCksIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIERvbnRE
ZWxldGUgfCBSZWFkT25seSB8IERvbnRFbnVtLCBtX2Z1bmN0aW9uTmFtZU9mZnNldCkpOwogICAg
IG1faW50ZXJuYWxGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEludGVybmFsRnVuY3Rp
b246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkp
OwpAQCAtNzI1LDYgKzczMSw5IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OnZpc2l0Q2hpbGRyZW4o
SlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKICAgICB2aXNpdG9yLmFwcGVuZCgm
dGhpc09iamVjdC0+bV9jYWxsZWVTdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlz
T2JqZWN0LT5tX2Z1bmN0aW9uU3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09i
amVjdC0+bV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2Fycm93RnVu
Y3Rpb25TdHJ1Y3R1cmUpOworI2VuZGlmCiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3Qt
Pm1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmpl
Y3QtPm1fc3ltYm9sT2JqZWN0U3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09i
amVjdC0+bV9yZWdFeHBNYXRjaGVzQXJyYXlTdHJ1Y3R1cmUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKaW5kZXggNzQ5NjZiN2JkMDZiYWNkODY2
MWM5YmY0YWJlNDVjZWIzYjUxMThiNC4uODE3ZjI1NzY2MDcwMDc5OTAxODYxNGEwMjk2YWJjM2M5
NTMwMjU5MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9i
amVjdC5oCkBAIC0yMjUsNiArMjI1LDkgQEAgcHJvdGVjdGVkOgogICAgIFdyaXRlQmFycmllcjxT
dHJ1Y3R1cmU+IG1fY2FsbGVlU3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+
IG1fZnVuY3Rpb25TdHJ1Y3R1cmU7CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9ib3Vu
ZEZ1bmN0aW9uU3RydWN0dXJlOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlOwor
I2VuZGlmCiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9uYW1lZEZ1bmN0aW9uU3RydWN0
dXJlOwogICAgIFByb3BlcnR5T2Zmc2V0IG1fZnVuY3Rpb25OYW1lT2Zmc2V0OwogICAgIFdyaXRl
QmFycmllcjxTdHJ1Y3R1cmU+IG1fcHJpdmF0ZU5hbWVTdHJ1Y3R1cmU7CkBAIC00NTYsNiArNDU5
LDkgQEAgcHVibGljOgogICAgIFN0cnVjdHVyZSogY2FsbGVlU3RydWN0dXJlKCkgY29uc3QgeyBy
ZXR1cm4gbV9jYWxsZWVTdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUqIGZ1bmN0aW9u
U3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9mdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQog
ICAgIFN0cnVjdHVyZSogYm91bmRGdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1f
Ym91bmRGdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgU3RydWN0dXJlKiBhcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCkgY29u
c3QgeyByZXR1cm4gbV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CisjZW5kaWYKICAg
ICBTdHJ1Y3R1cmUqIG5hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX25h
bWVkRnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBQcm9wZXJ0eU9mZnNldCBmdW5jdGlv
bk5hbWVPZmZzZXQoKSBjb25zdCB7IHJldHVybiBtX2Z1bmN0aW9uTmFtZU9mZnNldDsgfQogICAg
IFN0cnVjdHVyZSogbnVtYmVyT2JqZWN0U3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9udW1i
ZXJPYmplY3RTdHJ1Y3R1cmUuZ2V0KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsdGhpcy5qcyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsdGhpcy5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42MTJmYmFmODA0NDgyYzc3NjFjMzdkZDY5M2E4NDg1ZTU1MTE1NzNlCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1
bmN0aW9uLWxleGljYWx0aGlzLmpzCkBAIC0wLDAgKzEsMzEgQEAKK3ZhciByZXN1bHQ7CisKKyB2
YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBp
ZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3Rl
ZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307
CisKK3ZhciBhZk9iakxleEJpbmQyID0gZnVuY3Rpb24gKCkgeworICB0aGlzLmZ1bmMgPSAoKSA9
PiB0aGlzOworfTsKKwordmFyIGFmT2JqTGV4QmluZDJJbnN0YW5jZSA9IG5ldyBhZk9iakxleEJp
bmQyKCk7CisKK3Rlc3RDYXNlKGFmT2JqTGV4QmluZDJJbnN0YW5jZS5mdW5jKCkgPT09IGFmT2Jq
TGV4QmluZDJJbnN0YW5jZSwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmlu
ZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzIiKTsKKwordmFyIG9iaiA9IHsKKyAg
bWV0aG9kOiBmdW5jdGlvbiAoKSB7CisgICAgcmV0dXJuICgpID0+IHRoaXM7CisgIH0KK307CisK
K3Rlc3RDYXNlKG9iai5tZXRob2QoKSgpID09PSBvYmosIHRydWUsICJFcnJvcjogdGhpcyBpcyBu
b3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMzIik7CisK
K3ZhciBmYWtlID0ge3N0ZWFsOiBvYmoubWV0aG9kKCl9OwordGVzdENhc2UoZmFrZS5zdGVhbCgp
ID09PSBvYmosIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNp
ZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM0Iik7CisKKworLy8gRml4bWU6IGZvbGxvd2luZyB0
ZXN0IGZhaWxzIGluIGRmZy1lYWdlci1uby1jaml0LXZhbGlkYXRlICYgZnRsLWVhZ2VyLW5vLWNq
aXQgbW9kZQordmFyIHJlYWwgPSB7Ym9ycm93OiBvYmoubWV0aG9kfTsKK3Rlc3RDYXNlKHJlYWwu
Ym9ycm93KCkoKSA9PT0gcmVhbCwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkg
YmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzUiKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1vdGhlcnMuanMg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tb3RoZXJz
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmViYmY4NTllMjAzZWIxZjU0YWNhZTFkNDA4M2NhM2RkM2RjOTc2MWYK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tb3RoZXJzLmpzCkBAIC0wLDAgKzEsMzAgQEAKK3ZhciByZXN1bHQ7CisKKyB2
YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBp
ZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3Rl
ZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307
CisKK3ZhciBzaW1wbGVBcnJvd0Z1bmN0aW9uID0gKCkgPT4ge307CisKK3Rlc3RDYXNlKHR5cGVv
ZiBzaW1wbGVBcnJvd0Z1bmN0aW9uLCAiZnVuY3Rpb24iLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHR5
cGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKE9iamVjdC5nZXRQcm90b3R5
cGVPZihzaW1wbGVBcnJvd0Z1bmN0aW9uKSwgRnVuY3Rpb24ucHJvdG90eXBlLCAiRXJyb3I6IE5v
dCBjb3JyZWN0IGdldFByb3RvdHlwZU9mIHZhbHVlIGZvciBhcnJvdyBmdW5jdGlvbiIpOworCit0
ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uIGluc3RhbmNlb2YgRnVuY3Rpb24sIHRydWUsICJF
cnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBpbnN0YW5jZW9mIG1ldGhvZCBmb3IgYXJyb3cg
ZnVuY3Rpb24iKTsKKwordGVzdENhc2Uoc2ltcGxlQXJyb3dGdW5jdGlvbi5jb25zdHJ1Y3RvciA9
PSBGdW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIGNvbnN0cnVj
dG9yIG1ldGhvZCBvZiBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZSh0eXBlb2Ygc2ltcGxl
QXJyb3dGdW5jdGlvbi5wcm90b3R5cGUgPT09ICd1bmRlZmluZWQnLCB0cnVlLCAiRXJyb3I6IE5v
dCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9uIik7CisKK3Zh
ciBlcnJvck9uQ3JlYXRlID0gZmFsc2U7CisKK3RyeSB7CisgIHZhciBmYyA9IG5ldyBzaW1wbGVB
cnJvd0Z1bmN0aW9uKCk7Cit9CitjYXRjaCAoZSkgeworICBlcnJvck9uQ3JlYXRlID0gdHJ1ZTsK
K30KKwordGVzdENhc2UoZXJyb3JPbkNyZWF0ZSwgdHJ1ZSwgIkVycm9yOiBObyBlcnJvciBkdXJp
bmcgcnVuIG5ldyBBcnJvd0Z1bmN0aW9uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24uanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDY4N2IzYWFiMWQy
N2Y0NTNmOTA3NjFjZWMxYWQ0ZDA1Y2YwM2IzNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi5qcwpAQCAtMCwwICsxLDE1
NCBAQAordmFyIHJlc3VsdDsKKworIHZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4
cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhy
b3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiAr
IGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGFycm93RnVuY3Rpb24wID0gdiA9PiB2ICsg
MTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24wKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEgLCJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogdiA9PiB2
ICsgMSIpOworCit2YXIgYXJyb3dGdW5jdGlvbjEgPSAodikgPT4gdiAqIDI7CityZXN1bHQgPSBh
cnJvd0Z1bmN0aW9uMSgxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIwICwiRXJyb3I6IE5vdCBjb3Jy
ZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICh2KSA9PiB2ICsgMSIpOworCit2
YXIgYXJyb3dGdW5jdGlvbjIgPSAoKSA9PiAxMDAwOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjIo
MTIxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKCkgPT4gMTAwMCIpOworCit2YXIgdG1wVmFyaWFs
dmUyXzEgPSAxNTE7Cit2YXIgYXJyb3dGdW5jdGlvbjJfMSA9ICgpID0+IHRtcFZhcmlhbHZlMl8x
OworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjJfMSgxMjEpOwordGVzdENhc2UocmVzdWx0LCB0bXBW
YXJpYWx2ZTJfMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1
bmN0aW9uOiAoKSA9PiB2YXJpYWJsZSIpOworCit2YXIgYXJyb3dGdW5jdGlvbjMgPSAodiwgeCkg
PT4gdiArIHg7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMygxMSwxMik7Cit0ZXN0Q2FzZShyZXN1
bHQsIDIzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b246ICh4LCB5KSA9PiB4ICsgeSIpOworCit2YXIgYXJyb3dGdW5jdGlvbldyYXBwZXIgPSBmdW5j
dGlvbiAoY2wsIHBhcmFtdGVyKSB7IHJldHVybiBjbChwYXJhbXRlcik7IH07CisKK3Jlc3VsdCA9
IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4gMTIzNCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMzQg
LCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBw
YXJhbXRlcjogZih4ID0+IGMpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4
ID0+IDEyMzQsIDIzNDUpOwordGVzdENhc2UocmVzdWx0LCAxMjM0ICwiRXJyb3I6IE5vdCBjb3Jy
ZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBj
LCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMjEgKyAyMzIp
OwordGVzdENhc2UocmVzdWx0LCAzNTMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMxICsgYzIpIik7CisKKyBy
ZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEyMyArIDMyMSwgOTk5OSk7Cit0ZXN0
Q2FzZShyZXN1bHQsIDQ0NCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFy
cm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYzEgKyBjMiwgeSkiKTsKKworIHJlc3Vs
dCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4geCArIDEyLCAyMSk7Cit0ZXN0Q2FzZShyZXN1
bHQsIDMzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gYXMgcGFyYW10ZXI6IGYoeCA9PiB4ICsgYzEsIHkpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1
bmN0aW9uV3JhcHBlcigoeCkgPT4geCArIDIxLCAzMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDUzLCAi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFy
YW10ZXI6IGYoKHgpID0+IGMxICsgYzIsIHkpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9u
V3JhcHBlcigoKSA9PiAxMDApOwordGVzdENhc2UocmVzdWx0LCAxMDAsICJFcnJvcjogTm90IGNv
cnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9
PiBjKSIpOworCisgdmFyIGV4dF92YWx1ZSA9IDEyMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25X
cmFwcGVyKCgpID0+IGV4dF92YWx1ZSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMSwgIkVycm9yOiBO
b3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBm
KCgpID0+IHYpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiBleHRf
dmFsdWUgKiAxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMTAgLCJFcnJvcjogTm90IGNvcnJlY3Qg
ZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiB2Kngp
Iik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoeCkgPT4gZXh0X3ZhbHVlICog
eCwgMzApOwordGVzdENhc2UocmVzdWx0LCAzMCpleHRfdmFsdWUgLCJFcnJvcjogTm90IGNvcnJl
Y3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoeCkgPT4g
dip4LCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwLCAx
MSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24g
b2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMxLCB5KSIpOworCisg
cmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwICsgMTApOwordGVzdENhc2Uo
cmVzdWx0LCAxMTAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjMSArIGMyKSIpOworCisgcmVzdWx0ID0gYXJy
b3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwICsgMTEsIDEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwg
MTExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24g
YXMgcGFyYW10ZXI6IGYoKCkgPT4gYzEgKyBjMiwgeSkiKTsKKworIHZhciBhcnJvd0Z1bmN0aW9u
NCA9IHYgPT4gdiArIDEsIHh5ejEgPSAxMDEwMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb240KDEw
MTEpOwordGVzdENhc2UocmVzdWx0LCAxMDEyICwiRXJyb3I6IE5vdCBjb3JyZWN0IHBhcnNpbmcg
b2YgdGggYXJyb3cgZnVuY3Rpb24gaW5zaWRlIG9mIHRoZSBsaXN0IG9mIHZhcnM6IHZhciBhZiA9
IHY9PiB2ICsgMTsgenhjPWM7Iik7Cit0ZXN0Q2FzZSh4eXoxLCAxMDEwMSAsIkVycm9yOiBOb3Qg
Y29ycmVjdCBwYXJzaW5nIG9mIHRoIGFycm93IGZ1bmN0aW9uIGluc2lkZSBvZiB0aGUgbGlzdCBv
ZiB2YXJzOiB2YXIgYWYgPSB2PT4gdiArIDE7IHp4Yz1jOyIpOworCisgdmFyIGFycm93RnVuY3Rp
b25XcmFwcGVyMiA9IGZ1bmN0aW9uIChjbCwgcGFyYW10ZXIxLCBwYXJhbXRlcjIpIHsgcmV0dXJu
IGNsKHBhcmFtdGVyMSwgcGFyYW10ZXIyKTsgfTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFw
cGVyMigoeCwgeSkgPT4geCArIHksIDEyICw0Myk7Cit0ZXN0Q2FzZShyZXN1bHQsIDU1ICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW1l
dGVyOiBmKCh4LCB5KSA9PiB4ICsgeSwgYzEsIGMyKSIpOworCisgdmFyIGFycm93RnVuY3Rpb0Fy
cmF5MCA9IFt2ID0+IHYgKiAxMF07CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTBbMF0oMTAp
OwordGVzdENhc2UocmVzdWx0LCAxMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbdj0+dioxMF0iKTsKKworIHZh
ciBhcnJvd0Z1bmN0aW9BcnJheTEgPSBbdiA9PiB2ICsgMSwgdiA9PiB2ICsgMl07CityZXN1bHQg
PSBhcnJvd0Z1bmN0aW9BcnJheTFbMF0oMTApOwordGVzdENhc2UocmVzdWx0LCAxMSAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4g
YXJyYXk6IFt2ID0+IHYgKyAxLCAgdiA9PiB2ICsgMl0iKTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rp
b0FycmF5MVsxXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEzICwiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogW3YgPT4g
diArIDEsICB2ID0+IHYgKyAyXSIpOworCisgdmFyIGFycm93RnVuY3Rpb0FycmF5MiA9IFsodikg
PT4gdiArIDEsICh2KSA9PiB2ICsgMl07CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTJbMF0o
MTEpOwordGVzdENhc2UocmVzdWx0LCAxMiAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24g
b2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsodikgPT4gdiArIDEsICAo
dikgPT4gdiArIDJdIik7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTJbMV0oMTEpOwordGVz
dENhc2UocmVzdWx0LCAxMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFy
cm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsodikgPT4gdiArIDEsICAodikgPT4gdiAr
IDJdIik7CisKKyB2YXIgYXJyb3dGdW5jdGlvQXJyYXkzID0gWygpID0+IDEwMSwgKCkgPT4gMTIz
MjNdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkzWzBdKDExKTsKK3Rlc3RDYXNlKHJlc3Vs
dCwgMTAxLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gYXMgaXRlbSBpbiBhcnJheTogWygpID0+IGMxLCAgKCkgPT4gYzJdIik7CityZXN1bHQgPSBh
cnJvd0Z1bmN0aW9BcnJheTNbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMjMyMywgIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4g
YXJyYXk6IFsoKSA9PiBjMSwgICgpID0+IGMyXSIpOworCit2YXIgYXJyb3dGdW5jdGlvbk9iaiA9
IHtmdW5jIDogeSA9PiB5ICsgMTJ9OworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbk9iai5mdW5jKDEx
KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjMgLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcHJvcGVydHk6IHtmdW5jIDogeSA9PiB5ICsgMTIgfSIp
OworCit2YXIgYWZPYmpMZXhCaW5kMiA9IGZ1bmN0aW9uICgpIHsKKyAgdGhpcy5mdW5jID0gKCkg
PT4gdGhpczsKK307CisKK3ZhciBhcnJvd0ZhdEZ1bmN0aW9uMCA9ICgpID0+IHsgcmV0dXJuIDEw
MDA7IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0aW9uMCgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQs
IDEwMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlv
biB3aXRoIGJvZHkgYXMgYmxvY2s6ICgpID0+IHsgcmV0dXJuIDEwMDA7IH0iKTsKKwordmFyIGFy
cm93RmF0RnVuY3Rpb24xID0gdiA9PiB7IHZhciBpbnR2YWwgPSAxMDA7IHJldHVybiB2ICogaW50
dmFsOyB9OworcmVzdWx0ID0gYXJyb3dGYXRGdW5jdGlvbjEoMTEpOwordGVzdENhc2UocmVzdWx0
LCAxMTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gd2l0aCBib2R5IGFzIGJsb2NrOiB4ID0+IHsgdmFyIHY9MTAwMDsgcmV0dXJuIHYqeDsgfSIp
OworCit2YXIgYXJyb3dGYXRGdW5jdGlvbjIgPSAodikgPT4geyB2YXIgaW50ID0gMjAwOyByZXR1
cm4gdiAqIGludDsgfTsKK3Jlc3VsdCA9IGFycm93RmF0RnVuY3Rpb24yKDExKTsKK3Rlc3RDYXNl
KHJlc3VsdCwgMjIwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogKHgpID0+IHsgdmFyIHY9MTAwMDsgcmV0dXJu
IHYqeDsgfSIpOworCit2YXIgYXJyb3dGYXRGdW5jdGlvbjMgPSAodiwgeCkgPT4geyB2YXIgcmVz
dWx0ID0geCAqIHY7IHJldHVybiByZXN1bHQ7IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0aW9u
MygxMSwgMTIyMjIpOwordGVzdENhc2UocmVzdWx0LCAxMzQ0NDIgLCJFcnJvcjogTm90IGNvcnJl
Y3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICh2
LCB4KSA9PiB7IHZhciByZXN1bHQgPSB4ICogdjsgcmV0dXJuIHJlc3VsdDsgfSIpOworCityZXN1
bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4PT57cmV0dXJuIHggKiAyNTt9LCAxMjEpOwordGVz
dENhc2UocmVzdWx0LCAyNSoxMjEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6IGYoeCA9PiB7cmV0dXJuIHggKiAy
NTt9LCAxMjEpIik7CisKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyMigoeCwgeSk9Pnty
ZXR1cm4geCAqIHk7fSwgMTQsIDEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTQqMTIgLCJFcnJvcjog
Tm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMg
YmxvY2s6IGYoKHgsIHkpPT57cmV0dXJuIHggKiB5O30sIDE0LCAxMjEpKSIpOworCit2YXIgc2lt
cGxlQXJyb3dGdW5jdGlvbiA9ICgpID0+IHt9OworCit0ZXN0Q2FzZSh0eXBlb2Ygc2ltcGxlQXJy
b3dGdW5jdGlvbiwgImZ1bmN0aW9uIiwgIkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yoc2ltcGxl
QXJyb3dGdW5jdGlvbiksIEZ1bmN0aW9uLnByb3RvdHlwZSwgIkVycm9yOiBOb3QgY29ycmVjdCBn
ZXRQcm90b3R5cGVPZiB2YWx1ZSBmb3IgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2Uoc2lt
cGxlQXJyb3dGdW5jdGlvbiBpbnN0YW5jZW9mIEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBj
b3JyZWN0IHJlc3VsdCBmb3IgaW5zdGFuY2VvZiBtZXRob2QgZm9yIGFycm93IGZ1bmN0aW9uIik7
CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93RnVuY3Rpb24uY29uc3RydWN0b3IgPT0gRnVuY3Rpb24s
IHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBjb25zdHJ1Y3RvciBtZXRob2Qg
b2YgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2UodHlwZW9mIHNpbXBsZUFycm93RnVuY3Rp
b24ucHJvdG90eXBlID09PSAndW5kZWZpbmVkJywgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCBy
ZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiIpOworCit2YXIgZXJyb3JPbkNy
ZWF0ZSA9IGZhbHNlOworCit0cnkgeworICB2YXIgZmMgPSBuZXcgc2ltcGxlQXJyb3dGdW5jdGlv
bigpOworfQorY2F0Y2ggKGUpIHsKKyAgZXJyb3JPbkNyZWF0ZSA9IHRydWU7Cit9CisKK3Rlc3RD
YXNlKGVycm9yT25DcmVhdGUsIHRydWUsICJFcnJvcjogTm8gZXJyb3IgZHVyaW5nIHJ1biBuZXcg
QXJyb3dGdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0MWZkYjZm
NDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2OTcyZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1NTBhMDUx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFC
TEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19T
WU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhU
ID0gOwogRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElP
TlNfTEVWRUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwog
CiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9M
QVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVS
SU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRB
Q0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FO
VkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
KSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChF
TkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcp
ICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VU
KSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNP
TFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZF
TDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NT
M19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9D
VVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJM
RV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJM
RV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVf
RE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxF
X0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1F
UEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAk
KEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRB
VEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElF
X1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
X1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQo
RU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQo
RU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJF
RklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVO
RE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQ
UkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9N
RURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVE
SUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQo
RU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJ
TFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJ
T05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5B
QkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNf
U1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9G
UkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQ
RUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9C
QU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVT
SVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJM
RV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhP
TkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lD
T05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxF
Q1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RB
VEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdM
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9T
T0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVO
QUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQp
ICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJB
VEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7
CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
KSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChF
TkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVf
Q0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NM
QVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9D
T05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJ
T05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVf
Q1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxF
X0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NT
U19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RF
WFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJ
TElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZF
Ul9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBU
RURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19M
RVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQ
SSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJM
RV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcp
ICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJT
KSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FD
WV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChF
TkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykg
JChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01B
VEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VS
Q0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQo
RU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklH
QVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChF
TkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9J
TlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykg
JChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVR
VUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVO
QUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAk
KEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJM
RV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExF
X0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikg
JChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VM
RU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAk
KEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RS
QUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElB
KSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZ
KSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVf
V0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VU
KSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1Ap
ICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJF
U0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0
MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2OTcyZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1
NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFT
X1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxF
X0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZf
QVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwog
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5B
QkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVf
Q1NTX0FOSU1BVElPTlNfTEVWRUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRf
Q19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxF
X1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFC
TEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAk
KEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykg
JChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hB
Tk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNf
TEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1Nf
Q09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NT
X0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NT
U19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NF
TEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkg
JChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZ
KSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQ
T1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lU
RU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElP
TikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVM
XzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAk
KEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dF
T0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChF
TkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQo
RU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVf
VElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NT
U19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVO
QUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1M
KSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFC
TEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9S
X0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJM
RV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVS
X0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVO
QUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNU
X0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxF
X1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5B
QkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQ
RUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZ
UFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVO
QUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVO
VCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5B
QkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0sp
ICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQo
RU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQo
RU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJf
VElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQo
RU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChF
TkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5U
QVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZM
T1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRf
RUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFU
SCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxF
X0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJ
T04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMp
ICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVO
QUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9D
VVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVf
REFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFC
TEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNB
VEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVS
X1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05U
Uk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gp
ICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVS
X0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQo
RU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05D
VVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikg
JChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElN
SVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkg
JChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NP
TVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01F
RElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9T
TkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChF
TkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RG
X0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxF
X1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJ
TElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5B
QkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01P
REVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJM
RV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpF
UykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxF
X1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9M
TElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFC
TEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0Mi9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA4YjExMmZhZTQ1Yjk1
N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2OTcyZjExNGMzODNkMzI2MjlmMWYw
OTNjNjg1NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFT
X1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxF
X0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZf
QVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwog
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5B
QkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVf
Q1NTX0FOSU1BVElPTlNfTEVWRUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRf
Q19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxF
X1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFC
TEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAk
KEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykg
JChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hB
Tk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNf
TEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1Nf
Q09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NT
X0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NT
U19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NF
TEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkg
JChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZ
KSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQ
T1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lU
RU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElP
TikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVM
XzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAk
KEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dF
T0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChF
TkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQo
RU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVf
VElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NT
U19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVO
QUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1M
KSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFC
TEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9S
X0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJM
RV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVS
X0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVO
QUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNU
X0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxF
X1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5B
QkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQ
RUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZ
UFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVO
QUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVO
VCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5B
QkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0sp
ICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQo
RU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQo
RU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJf
VElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQo
RU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChF
TkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5U
QVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZM
T1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRf
RUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFU
SCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxF
X0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJ
T04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMp
ICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVO
QUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9D
VVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVf
REFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFC
TEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNB
VEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVS
X1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05U
Uk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gp
ICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVS
X0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQo
RU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05D
VVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikg
JChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElN
SVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkg
JChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NP
TVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01F
RElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9T
TkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChF
TkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RG
X0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxF
X1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJ
TElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5B
QkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01P
REVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJM
RV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpF
UykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxF
X1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9M
TElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFC
TEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL1dl
YktpdEZlYXR1cmVzLmNtYWtlIGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCmlu
ZGV4IDMyYzIzNWQ5OGI1YTQyMGViZTMzNDgzNGM3YjZhNDE4MmIyMjIyMGEuLmE2NzUzNzE0NTYy
N2NkMzhhMjcwNzljZDVkZmU5ODY4MmM5MWY0NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9X
ZWJLaXRGZWF0dXJlcy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21h
a2UKQEAgLTI4LDYgKzI4LDcgQEAgbWFjcm8oV0VCS0lUX09QVElPTl9CRUdJTikKICAgICBXRUJL
SVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ0FOVkFTX1BST1hZICJUb2dnbGUgQ2FudmFzUHJveHkg
c3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORyAiVG9nZ2xlIE1lc3NhZ2VDaGFubmVsIGFuZCBNZXNzYWdlUG9ydCBzdXBwb3J0IiBP
TikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCAiVG9n
Z2xlIEVTNiBjbGFzcyBzeW50YXggc3VwcG9ydCIgT04pCisgICAgV0VCS0lUX09QVElPTl9ERUZJ
TkUoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCAiVG9nZ2xlIEVTNiBhcnJvdyBmdW5j
dGlvbiBzeW50YXggc3VwcG9ydCIgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxF
X0NPTlRFTlRfRklMVEVSSU5HICJUb2dnbGUgY29udGVudCBmaWx0ZXJpbmcgc3VwcG9ydCIgT0ZG
KQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DT05URVhUX01FTlVTICJUb2dnbGUg
Q29udGV4dCBNZW51IHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJM
RV9DU1BfTkVYVCAiVG9nZ2xlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IDEuMSBzdXBwb3J0IiBP
RkYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZSBiL1NvdXJjZS9jbWFr
ZWNvbmZpZy5oLmNtYWtlCmluZGV4IDIxZDNmY2M1ZDk4M2Y5NTk1ZGVmMzUxMDU2OGNkYzk4OTY1
MjQ2ZWQuLmNmMWFmZTU2YzVmMGYyNjA5OTA5MGU1MWI3YjJhNjYwM2VhMDczMjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZWNvbmZpZy5o
LmNtYWtlCkBAIC0xMyw2ICsxMyw3IEBACiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ0FOVkFTX1BS
T1hZCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcKICNjbWFrZWRlZmlu
ZTAxIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYCisjY21ha2VkZWZpbmUwMSBFTkFCTEVfRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
TkcKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9DT05URVhUX01FTlVTCiAjY21ha2VkZWZpbmUwMSBF
TkFCTEVfQ1JFREVOVElBTF9TVE9SQUdFCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHBlcmwvRmVhdHVyZUxpc3QucG0gYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxp
c3QucG0KaW5kZXggMTZmZDY0OWM2OGQ2YjNkNDNkMGIzMWUzMzU3OTA0ZmM4NzI0YTdlYi4uMjIz
YjMxMWJjZmJhYjJjMjY4YTdmMjY1MmQxNGVkMTk2MzdmZGZjZSAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cGVybC9GZWF0dXJlTGlzdC5wbQpAQCAtNDQsNiArNDQsNyBAQCBCRUdJTiB7CiBteSAoCiAg
ICAgJHRocmVlRFJlbmRlcmluZ1N1cHBvcnQsCiAgICAgJGFjY2VsZXJhdGVkMkRDYW52YXNTdXBw
b3J0LAorICAgICRhcnJvd2Z1bmN0aW9uU3ludGF4LAogICAgICRiYXR0ZXJ5U3RhdHVzU3VwcG9y
dCwKICAgICAkY2FudmFzUGF0aFN1cHBvcnQsCiAgICAgJGNhbnZhc1Byb3h5U3VwcG9ydCwKQEAg
LTE1NCw2ICsxNTUsOSBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAgeyBvcHRpb24gPT4gImFjY2Vs
ZXJhdGVkLTJkLWNhbnZhcyIsIGRlc2MgPT4gIlRvZ2dsZSBBY2NlbGVyYXRlZCAyRCBDYW52YXMg
c3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMi
LCBkZWZhdWx0ID0+IGlzR3RrKCksIHZhbHVlID0+IFwkYWNjZWxlcmF0ZWQyRENhbnZhc1N1cHBv
cnQgfSwKIAorICAgIHsgb3B0aW9uID0+ICJhcnJvd2Z1bmN0aW9uLXN5bnRheCIsIGRlc2MgPT4g
IlRvZ2dsZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1cHBvcnQiLAorICAgICAgZGVmaW5l
ID0+ICJFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIiwgZGVmYXVsdCA9PiAxLCB2YWx1
ZSA9PiBcJGFycm93ZnVuY3Rpb25TeW50YXggfSwKKwogICAgIHsgb3B0aW9uID0+ICJiYXR0ZXJ5
LXN0YXR1cyIsIGRlc2MgPT4gIlRvZ2dsZSBCYXR0ZXJ5IFN0YXR1cyBzdXBwb3J0IiwKICAgICAg
IGRlZmluZSA9PiAiRU5BQkxFX0JBVFRFUllfU1RBVFVTIiwgZGVmYXVsdCA9PiBpc0VmbCgpLCB2
YWx1ZSA9PiBcJGJhdHRlcnlTdGF0dXNTdXBwb3J0IH0sCiAKZGlmZiAtLWdpdCBhL0NoYW5nZUxv
ZyBiL0NoYW5nZUxvZwppbmRleCA0ZWQ4NmE2Zjg4OThkMzFlMzgwNTBiMzJhNTRjYTc2YmUxZDYx
NmRmLi5lOTFjN2NhMjAwYmU3MTRjNjg5OTY1N2U5NmMyNTJiMGQwOWVkYTQ5IDEwMDY0NAotLS0g
YS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTUtMDQtMDEg
ICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgW0VT
Nl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQorCisgICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIHRvIHN3
aXRjaCBvbi9vZmYgZXM2IGFycm93IGZ1bmN0aW9uIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgKKworICAgICAgICAgKiBTb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2U6Cisg
ICAgICAgICAqIFNvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlOgorCiAyMDE1LTAzLTI5ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0NNYWtlXSBV
cGRhdGUgb2xkIENNYWtlTGlzdC50eHQgaW4gZ3Rlc3QK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250421</attachid>
            <date>2015-04-09 00:07:02 -0700</date>
            <delta_ts>2015-04-09 01:15:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150409100609.patch</filename>
            <type>text/plain</type>
            <size>131190</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyMjA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
ZmNjM2QxNTdiYmMyNzhhZGUyOTEyOTc3ZWI5MzAxYTA5YTJjYjA4Li41NTRhYjEzZWJkNmIyOGU4
NWY4OTQ2MzBhYjk1MGY4MDQ1YWJmZTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMTUgQEAKKzIwMTUtMDQtMDEgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MDg1NQorCisgICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGRlZCBzdXBwb3J0IG9mIEVTNiBhcnJvdyBmdW5jdGlvbi4gQ2hhbmdlcyB3ZXJlIG1hZGUgYWNj
b3JkaW5nIGZvbGxvd2luZyBzcGVjIGh0dHA6Ly93aWtpLmVjbWFzY3JpcHQub3JnL2Rva3UucGhw
P2lkPWhhcm1vbnk6YXJyb3dfZnVuY3Rpb25fc3ludGF4CisgICAgICAgIEluIHBhdGNoIHdlcmUg
aW1wbGVtZW50ZWQgdGhlIHNpbXBsZXN0IGNhc2VzOgorICAgICAgICAgIDEgbm8gcGFyYW1ldGVy
cyAgICAgICAgICAgICAgICAoKSA9PiAxMCArIDIwCisgICAgICAgICAgMiBzaW5nbGUgcGFyYW1l
dGVyICAgICAgICAgICAgICB4ID0+IHggKyAyMAorICAgICAgICAgIDMgbXVsdGlwbGUgcGFyYW1l
dGVycyAgICAgICh4LCB5KSA9PiB4ICsgeQorICAgICAgICAgIDQgYXJyb3cgZnVuY3Rpb24gd2l0
aCBibG9jayAgICAgeCA9PiB7IHJldHVybiB4KjEwOyB9CisgICAgICAgICAgNSBsZXhpY2FsIHRo
aXMgLSB2YXJpYWJsZSB0aGlzIGlzIHBvaW50IHRvIHRoZSB0aGlzIG9mIHRoZSBmdW5jdGlvbiB3
aGVyZSBhcnJvdyBmdW5jdGlvbiBpcyBkZWNsYXJlZAorICAgICAgICAgIDYgTm8gY29uc3RydWN0
b3IgLSB0aGUgdXNpbmcgb2YgdGhlIGNvbW1hbmQgbmV3IGZvciBhcnJvdyBmdW5jdGlvbiBsZWFk
cyB0byBydW50aW1lIGVycm9yLiAKKworICAgICAgICAgTm90IHlldCBpbXBsZW1lbnRlZDoKKyAg
ICAgICAgICAxIHRoZSB2YXJpYWJsZSB3aXRoIG5hbWUgYXJndW1lbnRzIGluc2lkZSBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gc2hvdWxkIHBvaW50IHRvIGxpc3Qgb2YgYXJndW1lbnRzIG9mIGZ1bmN0
aW9uIHdoZXJlIGFycm93IGZ1bmN0aW9uIGlzIGRlY2xhcmVkCisgICAgICAgICAgMiBwYXJzZXIg
d2lsbCBwYXJzZSB0aGUgc3RhdGVtZW50IHgsIHkgPT4geCArIHkgaW5zdGVhZCBvZiByYWlzaW5n
IGV4Y2VwdGlvbgorICAgICAgICAgIDMgbWV0aG9kIGNhbGwsIGFwcGx5LCBiaW5kIHNob3VsZCBu
b3Qgb3ZlcnJpZGUgdGhlIHRoaXMgdmFyaWFibGUgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlv
bgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6Cisg
ICAgICAgICogSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qOgor
ICAgICAgICAqIGJ5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uOgorICAgICAgICAqIGJ5dGVjb2Rl
L0J5dGVjb2RlVXNlRGVmLmg6CisgICAgICAgIChKU0M6OkZ1bmN0b3I6OmNvbXB1dGVVc2VzRm9y
Qnl0ZWNvZGVPZmZzZXQpOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAg
ICAgIChKU0M6OkNvZGVCbG9jazo6ZHVtcEJ5dGVjb2RlKToKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVH
ZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Fy
cm93RnVuY3Rpb25FeHByZXNzaW9uKTogYWRkZWQKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5l
cmF0b3I6OmVtaXRUaGlzTm9kZUJ5dGVjb2RlKTogYWRkZWQKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvTm9kZXNDb2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6ZW1pdEJ5dGVjb2RlOjplbWl0Qnl0
ZWNvZGUpOiBhZGRlZAorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHByTm9kZTo6ZW1pdEJ5dGVj
b2RlKTogYWRkZWQKKyAgICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAg
ICAoSlNDOjpCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgICogZGZnL0RGR0Nh
cGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkNhcGFiaWxpdHlMZXZlbDo6Y2FwYWJpbGl0
eUxldmVsKToKKyAgICAgICAgKiBqaXQvSklULmg6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9v
cF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRJbmxpbmVzLmg6
CisgICAgICAgIChKU0M6OkpJVDo6Y2FsbE9wZXJhdGlvbik6IGFkZGVkCisgICAgICAgICogaml0
L0pJVC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcyk6Cisg
ICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3Bf
bmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5j
cHA6CisgICAgICAgIChKU0M6OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5ld0Fycm93RnVuY3Rp
b24pOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmg6CisgICAgICAgIChKU0M6
OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24pOiBhZGRlZAorICAgICAg
ICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAgICAgICAgKExMSU5UX1NMT1dfUEFUSF9E
RUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGxsaW50
L0xMSW50U2xvd1BhdGhzLmg6CisgICAgICAgIChMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3Bh
dGhfbmV3X2Fycm93X2Z1bmNfZXhwKSk6IGFkZGVkCisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206CisgICAgICAgICogcGFyc2VyL0FTVEJ1aWxkZXIuaDoKKyAgICAgICAg
KEpTQzo6QVNUQnVpbGRlcjo6Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIpOgorICAgICAgICAqIHBh
cnNlci9MZXhlci5jcHA6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9u
KToKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OmxleCk6CisgICAgICAgICogcGFyc2VyL0xleGVy
Lmg6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9uKToKKyAgICAgICAg
KiBwYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oOgorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHBy
Tm9kZTo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZAorICAgICAgICAqIHBhcnNlci9Ob2Rlcy5o
OgorICAgICAgICAoSlNDOjpOb2RlOjppc0Fycm93RnVuY0V4cHJOb2RlKTogYWRkZWQKKyAgICAg
ICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZCBjbGFzcworICAgICAgICAqIHBhcnNl
ci9QYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3Vy
Y2VFbGVtZW50cyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1h
cnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZVNvdXJjZUVsZW1lbnQp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6
UGFyc2VyOjpwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwYXJzZVByaW1hcnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFy
cm93RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6c2V0RW5kT2ZTdGF0ZW1lbnQp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIpOgorICAg
ICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkluZm8pOgorICAgICAgICAoSlND
OjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkJvZHkpOgorICAgICAgICAqIHBhcnNlci9QYXJz
ZXIuaDoKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpGdW5jdGlvblBhcnNlVHlwZSk6CisgICAgICAg
IChKU0M6OlBhcnNlcjo6cGFyc2VTb3VyY2VFbGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0V4cHJl
c3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnNldEVuZE9mU3RhdGVtZW50KToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKToKKyAgICAgICAgKiBw
YXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmg6CisgICAgICAgICogcGFyc2VyL1BhcnNlclRva2Vu
cy5oOgorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmFycm93RnVuY3Rpb25PZmZz
ZXQpOiBhZGRlZAorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmlzQXJyb3dGdW5j
dGlvbik6IGFkZGVkCisgICAgICAgIChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6YXJyb3dGdW5j
dGlvbkJvZHlUeXBlKTogYWRkZWQKKyAgICAgICAgKiBwYXJzZXIvU291cmNlQ29kZS5oOgorICAg
ICAgICAoSlNDOjpTb3VyY2VDb2RlOjpzdWJBcnJvd0V4cHJlc3Npb24pOgorICAgICAgICAqIHBh
cnNlci9TeW50YXhDaGVja2VyLmg6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNyZWF0
ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAgICAgKiBwYXJzZXIvU291cmNlUHJvdmlkZXJDYWNo
ZUl0ZW06CisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJh
bWV0ZXJzKToKKyAgICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0pOgorICAgICAg
ICAoSlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6ZW5kQXJyb3dGdW5jdGlvblRva2VuKToK
KyAgICAgICAgKiBydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oOiBhZGRlZCBjbGFzcyBmb3IgaGFu
ZGxlIGFycm93IGZ1bmN0aW9uIGNyZWF0aW9uIGFuZCBleGVjdXRpb24KKyAgICAgICAgKiBydW50
aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHA6CisgICAgICAgICogcnVudGltZS9KU0Z1bmN0aW9uLmg6
CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OkpTRnVuY3Rpb24pOiBhZGRlZCBvbmUgbW9yZSBj
b25zdHJ1Y3RvcgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaDoKKyAgICAg
ICAgKEpTQzo6SlNGdW5jdGlvbjo6SlNGdW5jdGlvbik6IGFkZGVkIGNvbnN0cnVjdG9yIGltcGxl
bWVudGF0aW9uCisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAg
IChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmpl
Y3Q6Om1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZSk6IGFkZGVkCisgICAgICAgIChKU0M6OkpTR2xv
YmFsT2JqZWN0OjphcnJvd0Z1bmN0aW9uU3RydWN0dXJlKToKKyAgICAgICAgKiB0ZXN0cy9zdHJl
c3MvanMvYXJyb3dmdW5jdGlvbi5qczoKKwogMjAxNS0wMy0zMSAgWXVzdWtlIFN1enVraSAgPHV0
YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBDbGVhbiB1cCBJZGVudGlmaWVyIGZhY3Rv
cmllcyB0byBjbGFyaWZ5IHRoZSBtZWFuaW5nIG9mIFN0cmluZ0ltcGwqCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ODczZjY4NTA1NmJiN2U0NzdiNmI2OTVkZmFjYjBhZWJhNThlYTQ0Ny4uMzc0MzhmNDQxMmFkNjM5
YTc0OTY4ZjNmM2VjOTdjM2QzYTNlZmIyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDE1LTA0LTAxICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAg
ICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUg
ZmxhZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgor
CisgICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAy
MDE1LTAzLTMxICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAg
ICAgICAgTW92ZSBFeHBhbnNpb25CZWhhdmlvckZsYWdzIGFuZCBUZXh0RGlyZWN0aW9uIHRvIHRo
ZWlyIG93biBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNzU3ZWE0OWQwYTMwZjk0ZDU2MjJiODM1
MzVjMWJlYmQwNDMxZTk1Ni4uZWY4N2M3NWUwMDQ5YjZjOWQ4NGQxNGNlYTQwMTVmNTBhYWUyZDUy
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTA0LTAxICBTa2FjaGtv
diBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgIFtFUzZdIEltcGxl
bWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyBFTkFCTEVfRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgorCisgICAgICAgICAqIENvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1LTAzLTMxICBZdXN1a2Ug
U3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIENsZWFuIHVwIElkZW50
aWZpZXIgZmFjdG9yaWVzIHRvIGNsYXJpZnkgdGhlIG1lYW5pbmcgb2YgU3RyaW5nSW1wbCoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA3MjExMjc2NTJkODg4ZjUwMWFiNmMy
MTdiODMzNDQxOTA0M2Y1ODY0Li41MDUzZGMxN2U2ZDU4YjExMWM3MzBhOTRjYzA3NGIwY2JlNTA3
OGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC00NjYsNiArNDY2LDcg
QEAgc2V0KEphdmFTY3JpcHRDb3JlX1JVTlRJTUVfU09VUkNFUwogICAgIHJ1bnRpbWUvSlNBcnJh
eUJ1ZmZlclZpZXcuY3BwCiAgICAgcnVudGltZS9KU0FycmF5SXRlcmF0b3IuY3BwCiAgICAgcnVu
dGltZS9KU0JvdW5kRnVuY3Rpb24uY3BwCisgICAgcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3Bw
CiAgICAgcnVudGltZS9KU0dsb2JhbE9iamVjdERlYnVnZ2FibGUuY3BwCiAgICAgcnVudGltZS9K
U0NKU1ZhbHVlLmNwcAogICAgIHJ1bnRpbWUvSlNDYWxsZWUuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKaW5kZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0
OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FO
VkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgg
PSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5U
QVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklM
VEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwog
RU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVW
RUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFC
TEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRf
QVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BB
VEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVO
QUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVf
Q1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5B
QkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVO
QUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9O
KSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQo
RU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhU
X0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01f
U0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRB
TElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRB
SUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9F
VkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRf
TE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAk
KEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNF
KSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9W
RVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxF
X0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxF
X0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFC
TEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykg
JChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9D
T05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RB
VElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxF
X01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQo
RU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAk
KEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BS
T01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklY
X0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkg
JChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1Ip
ICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5H
KSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQo
RU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdf
Rk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVN
QkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9B
RElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxM
KSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVf
VkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVO
QUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRT
KSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9X
RUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5B
QkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xB
WU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFU
VVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVO
QUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFT
X1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZ
TlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xF
VkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NP
TVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19H
UklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxF
Q1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkg
JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
UykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVO
QUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJ
TUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
TEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9B
TklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQp
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVO
QUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVO
QUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5B
QkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKaW5kZXggNzQz
MzBlNzAzZGFjNGQzNjAwZWFiMjdhMGFkOGViNGFmMDBlMGIzMi4uNjIyODczZGQyZjk0NzBhOTEz
MThhY2NjZDQ3MDlkY2VhZTcyNjA4ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52
Y3hwcm9qCkBAIC03MzQsNiArNzM0LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1
bnRpbWVcSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJWaWV3LmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNCb3VuZEZ1bmN0aW9uLmNwcCIgLz4KKyAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJvd0Z1bmN0aW9uLmNwcCIgLz4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZS5jcHAiIC8+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ2FsbGVlLmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDYXRjaFNjb3BlLmNwcCIgLz4KQEAgLTE1MjYsNiArMTUy
Nyw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJW
aWV3SW5saW5lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0Fy
cmF5SXRlcmF0b3IuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNC
b3VuZEZ1bmN0aW9uLmgiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpT
QXJyb3dGdW5jdGlvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxK
U0NJbmxpbmVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0pT
VmFsdWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1
ZUlubGluZXMuaCIgLz4KQEAgLTE4MDAsNCArMTgwMiw0IEBACiAgIDxJbXBvcnRHcm91cCBMYWJl
bD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1Bh
dGgpXEJ1aWxkQ3VzdG9taXphdGlvbnNcbWFzbS50YXJnZXRzIiAvPgogICA8L0ltcG9ydEdyb3Vw
PgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYmEyZDEzNmViOTViNWE5ZmQzNTRhYjMwYThm
MzY5MWJmNzhjZWI4Ni4uZTlkNmYyNDY1ZTMzODU1ZDM2OGI0ZDIwNGUwZDc2NDZjNTZlOTg5ZiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwOTIsNiArMTA5Miw4IEBACiAJCTg2
RjNFRUJGMTY4Q0RFOTMwMDc3QjkyQSAvKiBPYmpjUnVudGltZUV4dHJhcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGM0VFQjYxNjg1NUE1QjAwNzdC
OTJBIC8qIE9iamNSdW50aW1lRXh0cmFzLmggKi87IH07CiAJCTg2RkE5RTkxMTQyQkJCMkUwMDE3
NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRGdW5j
dGlvbi5jcHAgKi87IH07CiAJCTg2RkE5RTkyMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVu
Y3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2
RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLzsgfTsKKwkJOEIw
RjQyNEMxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUyMDAzOTE3
RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCAqLzsgfTsKKwkJOEIwRjQyNEMxQUJENkRFMjAwMzkx
N0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlv
bi5oICovOyB9OwogCQk5MDIxM0UzRDEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGlj
cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIx
M0UzQjEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi87IH07CiAJCTkw
MjEzRTNFMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIxM0UzQzEyM0E0MEMyMDBENDIy
RjMgLyogTWVtb3J5U3RhdGlzdGljcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTkzMDUyQzM0MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVu
YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzA1
MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwICovOyB9OwpAQCAtMjgyNCw2
ICsyODI2LDggQEAKIAkJODZGNzVFRkQxNTFDMDYyRjAwN0M5QkEzIC8qIFJlZ0V4cE1hdGNoZXNB
cnJheS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWdFeHBNYXRj
aGVzQXJyYXkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkZBOUU4RjE0MkJC
QjJEMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTQm91bmRGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdFQSAvKiBKU0Fy
cm93RnVuY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcnJvd0Z1bmN0aW9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93
RnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcnJv
d0Z1bmN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTAyMTNFM0IxMjNB
NDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTWVtb3J5U3RhdGlzdGljcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lbW9yeVN0YXRpc3RpY3MuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8q
IFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBh
cnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ0MzgsNiArNDQ0
Miw4IEBACiAJCQkJQTdCREFFQzUxN0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJyYXlJdGVyYXRvci5o
ICovLAogCQkJCTg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3Bw
ICovLAogCQkJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAq
LywKKwkJCQk4QjBGNDI0QTFBQkQ2RDJGMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggKi8s
CisJCQkJOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgKi8s
CiAJCQkJNjU3Q0Y0NTYxOUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmNwcCAqLywKIAkJCQk2
NTdDRjQ1NzE5QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuaCAqLywKIAkJCQkwRkQ5NDk3RTFB
OTdEQjk2MDBFMjg5NjYgLyogSlNDYXRjaFNjb3BlLmNwcCAqLywKQEAgLTcxNjYsNiArNzE3Miw3
IEBACiAJCQkJMEZEOEEzMUIxN0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTE9TUkVudHJ5LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGMjM1QkRDMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjM1QkRGMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JF
eGl0Q29tcGlsZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOEIwRjQyNEMxQUJENkRFMjAwMzkx
N0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkVBMEEyQTE3
MDk2Mjk2MDBCQjcyMkMgLyogRlRMT3V0cHV0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNDg1
MzI5MTg3REZERUMwMDgzQjY4NyAvKiBGVExSZWNvdmVyeU9wY29kZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwRjZCMUNDMzE4NjJDNDc4MDA4NDVEOTcgLyogRlRMUmVnaXN0ZXJBdE9mZnNldC5j
cHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9CeXRlY29kZUxpc3QuanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9C
eXRlY29kZUxpc3QuanNvbgppbmRleCA2YjI0MzkxNTZhYjNhZmFlNmI1NThhYjkwNjZkMjIyNTE1
ZDU5ZTQ1Li40MzYwNzA5ZDhmN2U0MTgyMTVhYjJhZjk1OWJmNjQ0OGFmMDM4MDI4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24KKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCkBAIC05
NSw2ICs5NSw3IEBACiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9zd2l0Y2hfc3RyaW5nIiwg
Imxlbmd0aCIgOiA0IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfZnVuYyIsICJs
ZW5ndGgiIDogNCB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfbmV3X2Z1bmNfZXhwIiwg
Imxlbmd0aCIgOiA0IH0sCisgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfYXJyb3dfZnVu
Y19leHAiLCAibGVuZ3RoIiA6IDUgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGwi
LCAibGVuZ3RoIiA6IDkgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGxfZXZhbCIs
ICJsZW5ndGgiIDogOSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbF92YXJhcmdz
IiwgImxlbmd0aCIgOiA5IH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9C
eXRlY29kZVVzZURlZi5oCmluZGV4IDg1ZjI5MTVjN2U4ZjYwMWFkM2VjMTc4YmY2OWUzNTQ0Zjc1
NGMyY2YuLjE3YjZiZWQ4MWZlMjViNjIzMzBiYWEzZmQwMzFjNzE2YWI4OGY5YmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCkBAIC0xMTYs
NiArMTE2LDkgQEAgdm9pZCBjb21wdXRlVXNlc0ZvckJ5dGVjb2RlT2Zmc2V0KAogICAgIGNhc2Ug
b3BfZ2V0X3Byb3BlcnR5X2VudW1lcmF0b3I6CiAgICAgY2FzZSBvcF9nZXRfZW51bWVyYWJsZV9s
ZW5ndGg6CiAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRpZgog
ICAgIGNhc2Ugb3BfdG9faW5kZXhfc3RyaW5nOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29u
c3Rfbm9wOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29uc3Q6CkBAIC0zMDgsNiArMzExLDkg
QEAgdm9pZCBjb21wdXRlRGVmc0ZvckJ5dGVjb2RlT2Zmc2V0KENvZGVCbG9jayogY29kZUJsb2Nr
LCB1bnNpZ25lZCBieXRlY29kZU9mZnNldCwKICAgICBjYXNlIG9wX25ld19yZWdleHA6CiAgICAg
Y2FzZSBvcF9uZXdfZnVuYzoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhw
OgorI2VuZGlmCiAgICAgY2FzZSBvcF9jYWxsX3ZhcmFyZ3M6CiAgICAgY2FzZSBvcF9jb25zdHJ1
Y3RfdmFyYXJnczoKICAgICBjYXNlIG9wX2dldF9mcm9tX3Njb3BlOgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAppbmRleCA5ZTk1MTdlNzgxYmU1NTdmMDRm
MTdmOTNkZWM3MWI5MTZjYzlhMmFkLi4xMTU0MjBjZTExYjA4NTlmNmVlMzNhODI5YzQzMGQxOTA3
YmYxZWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNw
cApAQCAtMTI3NCw2ICsxMjc0LDE3IEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wQnl0ZWNvZGUoCiAg
ICAgICAgICAgICBvdXQucHJpbnRmKCIlcywgJXMsIGYlZCIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0
YSgpLCByZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjApOwogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBj
YXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDogeworICAgICAgICAgICAgaW50IHIwID0gKCsraXQp
LT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUub3BlcmFuZDsKKyAg
ICAgICAgICAgIGludCBmMCA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgaW50IHIy
ID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBwcmludExvY2F0aW9uQW5kT3Aob3V0
LCBleGVjLCBsb2NhdGlvbiwgaXQsICJvcF9uZXdfYXJyb3dfZnVuY19leHAiKTsKKyAgICAgICAg
ICAgIG91dC5wcmludGYoIiVzLCAlcywgZiVkLCAlcyIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0YSgp
LCByZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjAsIHJlZ2lzdGVyTmFtZShyMikuZGF0YSgpKTsK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgY2FzZSBvcF9u
ZXdfZnVuY19leHA6IHsKICAgICAgICAgICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVyYW5kOwog
ICAgICAgICAgICAgaW50IHIxID0gKCsraXQpLT51Lm9wZXJhbmQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCmlu
ZGV4IDg4NzJkNzc3ZDNlNTkyMTFjOTE2ZDQ3ODBkMGUwNDI3ZWQzOThmODYuLjg1YmZhY2UzMjNl
MDViODdjNDVmOWFlYmY5NzI3MDNhMGM5YWM5MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0xNzU0
LDYgKzE3NTQsMjIgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdGdW5j
dGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogcjAsIEZ1bmNFeHAKICAgICBpbnN0cnVjdGlvbnMo
KS5hcHBlbmQoaW5kZXgpOwogICAgIHJldHVybiByMDsKIH0KKyAgICAKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVt
aXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVuY0V4cHJOb2Rl
KiBuKQoreworICAgIGVtaXRURFpDaGVjayh0aGlzUmVnaXN0ZXIoKSk7CisgICAgRnVuY3Rpb25C
b2R5Tm9kZSogZnVuY3Rpb24gPSBuLT5ib2R5KCk7CisgICAgdW5zaWduZWQgaW5kZXggPSBtX2Nv
ZGVCbG9jay0+YWRkRnVuY3Rpb25FeHByKG1ha2VGdW5jdGlvbihmdW5jdGlvbikpOworICAgIAor
ICAgIGVtaXRPcGNvZGUob3BfbmV3X2Fycm93X2Z1bmNfZXhwKTsKKyAgICBpbnN0cnVjdGlvbnMo
KS5hcHBlbmQocjAtPmluZGV4KCkpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChzY29wZVJl
Z2lzdGVyKCktPmluZGV4KCkpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChpbmRleCk7Cisg
ICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHRoaXNSZWdpc3RlcigpLT5pbmRleCgpKTsKKyAgICBy
ZXR1cm4gcjA7Cit9CisjZW5kaWYKIAogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVt
aXROZXdEZWZhdWx0Q29uc3RydWN0b3IoUmVnaXN0ZXJJRCogZHN0LCBDb25zdHJ1Y3RvcktpbmQg
Y29uc3RydWN0b3JLaW5kLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmlu
ZGV4IDRmZmVmNmI0MDk3ZjAyNDZkYzFiYWU4OWVlOGFhYjhlYzk1YzYwZmEuLjM3OGExOWVhYWVk
ZGZiZGI0ZjUxMjI4MGU5MDg5NDM4NTc3YTc0OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTQ1NCw2ICs0
NTQsMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5j
dGlvbkludGVybmFsKFJlZ2lzdGVySUQqIGRzdCwgdW5zaWduZWQgaW5kZXgpOwogICAgICAgICBS
ZWdpc3RlcklEKiBlbWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIGRzdCwgRnVu
Y0V4cHJOb2RlKiBmdW5jKTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0RlZmF1bHRDb25z
dHJ1Y3RvcihSZWdpc3RlcklEKiBkc3QsIENvbnN0cnVjdG9yS2luZCwgY29uc3QgSWRlbnRpZmll
ciYgbmFtZSk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAg
UmVnaXN0ZXJJRCogZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqLCBG
dW5jRXhwck5vZGUqKTsKKyAgICAgICAgUmVnaXN0ZXJJRCogZW1pdFRoaXNOb2RlQnl0ZWNvZGUo
UmVnaXN0ZXJJRCosIEpTVGV4dFBvc2l0aW9uKTsKKyNlbmRpZgogICAgICAgICBSZWdpc3RlcklE
KiBlbWl0TmV3UmVnRXhwKFJlZ2lzdGVySUQqIGRzdCwgUmVnRXhwKik7CiAKICAgICAgICAgUmVn
aXN0ZXJJRCogZW1pdE1vdmVFbXB0eVZhbHVlKFJlZ2lzdGVySUQqIGRzdCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXgg
NGY3NDc2Y2EzM2M5MTMxYmI3M2RmYTg5NmE2MDA1NzU2MjY1ODFiNy4uYzU2YTJjMzVlMmFmODQx
NjFjNzJmYTlkYTAwNzI5YjcxYjYyMDAwMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtMjgzMyw2ICsyODMzLDE0IEBA
IFJlZ2lzdGVySUQqIEZ1bmNFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9y
JiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqCiAgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0TmV3RnVu
Y3Rpb25FeHByZXNzaW9uKGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHRoaXMpOwog
fQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgICAgCisvLyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQXJyb3dGdW5jRXhwck5vZGUgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCitSZWdpc3RlcklEKiBBcnJvd0Z1bmNFeHByTm9kZTo6ZW1pdEJ5
dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKK3sK
KyAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihnZW5l
cmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QpLCB0aGlzKTsKK30KKyNlbmRpZgorICAgIAogI2lm
IEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tIENsYXNzRGVjbE5vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKaW5kZXgg
NTNhYzE3NzQ2MTk2OWVlZmI2NmFkZjYwOTA2ODFlNmU1Yjc2YjAzMi4uZmQ3MzdhM2Y3OGU5YzJi
OWYxYTk5MTk3ODhkMTIzZTZiMmQ5MzMwYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKQEAgLTM2NzUsNiArMzY3NSwxNSBAQCBib29sIEJ5
dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxpbWl0KQogICAgICAgICAgICAgTkVY
VF9PUENPREUob3BfbmV3X2Z1bmNfZXhwKTsKICAgICAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6
IHsKKyAgICAgICAgICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhwciA9IG1faW5saW5lU3RhY2tU
b3AtPm1fcHJvZmlsZWRCbG9jay0+ZnVuY3Rpb25FeHByKGN1cnJlbnRJbnN0cnVjdGlvblszXS51
Lm9wZXJhbmQpOworICAgICAgICAgICAgRnJvemVuVmFsdWUqIGZyb3plbiA9IG1fZ3JhcGguZnJl
ZXplU3Ryb25nKGV4cHIpOworICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50
SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwKKyAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKE5l
d0Z1bmN0aW9uLCBPcEluZm8oZnJvemVuKSwgZ2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5z
dHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSkpKTsKKyAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX25l
d19hcnJvd19mdW5jX2V4cCk7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBjYXNlIG9wX3R5
cGVvZjogewogICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rp
b25bMV0udS5vcGVyYW5kKSwKICAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKFR5cGVPZiwgZ2V0
KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSkpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAppbmRleCA4ZWY0
ZGNmMTU2OGJkNWVkYTRiODk3ZTc2ODRhOGNiYjkxYmY2ZTA4Li43ZjQ1YTgzMWVhNmU2MjczYmFj
ZDJlM2Y4MzM2ZGRjNTYyYzhjYzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdDYXBhYmlsaXRpZXMuY3BwCkBAIC0yMDgsNiArMjA4LDkgQEAgQ2FwYWJpbGl0eUxldmVsIGNh
cGFiaWxpdHlMZXZlbChPcGNvZGVJRCBvcGNvZGVJRCwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIElu
c3RydWMKICAgICBjYXNlIG9wX25ld19mdW5jOgogICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOgog
ICAgIGNhc2Ugb3BfY3JlYXRlX2xleGljYWxfZW52aXJvbm1lbnQ6CisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNl
bmRpZgogICAgICAgICByZXR1cm4gQ2FuQ29tcGlsZUFuZElubGluZTsKIAogICAgIGNhc2Ugb3Bf
cHV0X3RvX3Njb3BlOiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvSW50ZXJwcmV0ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVy
L0ludGVycHJldGVyLmNwcAppbmRleCBlY2ZjZTkxYmQzYzAzMDg1M2EzOTQwMzJiYTVjZDI4MmEx
YTNjZDhlLi5mMmE1ZWJiNDhmYzkzNmEwMGI5ZjljYzQzZThkZTU4NDMzZjg1NThkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKQEAg
LTQ0LDYgKzQ0LDcgQEAKICNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCiAjaW5jbHVkZSAi
R2V0dGVyU2V0dGVyLmgiCiAjaW5jbHVkZSAiSlNBcnJheS5oIgorI2luY2x1ZGUgIkpTQXJyb3dG
dW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQ0lu
bGluZXMuaCIKICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVQuY3BwCmluZGV4IDQyYTgyZDQzOTQ2MTYyZjk1ZmE0NzQ2NzU2NzEzOWQ0YWFmMjM4
NmIuLjgzZDUwOGI4NzY1OWUzZWZmOGJjMTg3ZTA2ZGFkNzAxMWY0ODJlZDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVC5jcHAKQEAgLTI1Myw2ICsyNTMsNyBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNv
bXBpbGVNYWluUGFzcygpCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfYXJyYXlfYnVmZmVyKQog
ICAgICAgICBERUZJTkVfT1Aob3BfbmV3X2Z1bmMpCiAgICAgICAgIERFRklORV9PUChvcF9uZXdf
ZnVuY19leHApCisgICAgICAgIERFRklORV9PUChvcF9uZXdfYXJyb3dfZnVuY19leHApIAogICAg
ICAgICBERUZJTkVfT1Aob3BfbmV3X29iamVjdCkKICAgICAgICAgREVGSU5FX09QKG9wX25ld19y
ZWdleHApCiAgICAgICAgIERFRklORV9PUChvcF9ub3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaApp
bmRleCBlZTQ4NTVkYzJlNzhiNTVhY2M0NTk5ZWJkYjk5YTBkOGUwOGJlN2NjLi5mYmE1ZDJlMzFh
NTQxZmVlNWQ0NGEyOGY5ZThlMTU5YzljYjNhNDZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgK
QEAgLTUyMiw2ICs1MjIsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBlbWl0X29w
X25ld19hcnJheV9idWZmZXIoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX25l
d19mdW5jKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfZnVuY19leHAo
SW5zdHJ1Y3Rpb24qKTsKKyAgICAgICAgdm9pZCBlbWl0X29wX25ld19hcnJvd19mdW5jX2V4cChJ
bnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X29iamVjdChJbnN0cnVjdGlv
biopOwogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X3JlZ2V4cChJbnN0cnVjdGlvbiopOwogICAg
ICAgICB2b2lkIGVtaXRfb3Bfbm90KEluc3RydWN0aW9uKik7CkBAIC03MDUsNiArNzA2LDkgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRp
b24oSl9KSVRPcGVyYXRpb25fRUpKLCBpbnQsIEdQUlJlZywgR1BSUmVnKTsKICAgICAgICAgTWFj
cm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihDX0pJVE9wZXJhdGlvbl9FSnNjLCBHUFJS
ZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3Bl
cmF0aW9uX0VKc2NDLCBpbnQsIEdQUlJlZywgSlNDZWxsKik7CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJh
dGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0osIGludCwgR1BSUmVnLCBKU0NlbGwqLCBHUFJSZWcp
OworI2VuZGlmCiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19K
SVRPcGVyYXRpb25fRUpzY1osIEdQUlJlZywgaW50MzJfdCk7CiAgICAgICAgIE1hY3JvQXNzZW1i
bGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUpzY1osIGludCwgR1BSUmVn
LCBpbnQzMl90KTsKICNpZiBVU0UoSlNWQUxVRTY0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VElubGluZXMuaAppbmRleCA5ZWUyNGQwOTIyOGE5ODgyZWE3Njk2MjlkMWE4N2I2YzM0YTg2MzM0
Li41NDM0ZTVmYjE2MTQ4N2M4OGFkMWZjZjFiY2Y2MzA2ZjYwM2QxZWY3IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVElubGluZXMuaApAQCAtMjcxLDYgKzI3MSwxNCBAQCBBTFdBWVNfSU5M
SU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlv
bl9FSnNjQyBvcGVyYQogICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0
SlNWYWx1ZVJlc3VsdChvcGVyYXRpb24sIGRzdCk7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6
OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0NKIG9wZXJhdGlvbiwgaW50IGRzdCwg
R1BSUmVnIGFyZzEsIEpTQ2VsbCogY2VsbCwgR1BSUmVnIGFyZzIpCit7CisgICAgc2V0dXBBcmd1
bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIFRydXN0ZWRJbW1QdHIoY2VsbCksIGFyZzIpOworICAg
IHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0SlNWYWx1ZVJlc3VsdChvcGVy
YXRpb24sIGRzdCk7Cit9CisjZW5kaWYKKyAgICAKIEFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJs
ZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VQIG9wZXJhdGlvbiwg
aW50IGRzdCwgdm9pZCogcG9pbnRlcikKIHsKICAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3Rh
dGUoVHJ1c3RlZEltbVB0cihwb2ludGVyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVE9wY29kZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRP
cGNvZGVzLmNwcAppbmRleCBkM2Q1ODBlOWUyNjAwODUzYjY2NDllMjg1OTE4Zjg1MzhiZTY5NDRj
Li42Y2EwMDMwZjhjNGEyMTIyMWFhOTI4M2NjMjc2MTMwZDc5ZTc0NDQ1IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKQEAgLTk3Miw2ICs5NzIsMjkgQEAgdm9pZCBK
SVQ6OmVtaXRfb3BfbmV3X2Z1bmNfZXhwKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24p
CiAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25OZXdGdW5jdGlvbiwgZHN0LCByZWdUMCwgZnVu
Y0V4cHIpOwogICAgIGRvbmUubGluayh0aGlzKTsKIH0KKyAgICAKK3ZvaWQgSklUOjplbWl0X29w
X25ld19hcnJvd19mdW5jX2V4cChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQorewor
ICAgIEp1bXAgbm90VW5kZWZpbmVkU2NvcGU7CisgICAgaW50IGRzdCA9IGN1cnJlbnRJbnN0cnVj
dGlvblsxXS51Lm9wZXJhbmQ7CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICBlbWl0R2V0VmlydHVh
bFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQsIHJlZ1QwKTsKKyAgICBl
bWl0R2V0VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvbls0XS51Lm9wZXJhbmQsIHJl
Z1QxKTsKKyAgICBub3RVbmRlZmluZWRTY29wZSA9IGJyYW5jaDY0KE5vdEVxdWFsLCByZWdUMCwg
VHJ1c3RlZEltbTY0KEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSkpOworICAgIHN0b3Jl
NjQoVHJ1c3RlZEltbTY0KEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSksIEFkZHJlc3Mo
Y2FsbEZyYW1lUmVnaXN0ZXIsIHNpemVvZihSZWdpc3RlcikgKiBkc3QpKTsKKyNlbHNlCisgICAg
ZW1pdExvYWRQYXlsb2FkKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQsIHJlZ1QwKTsK
KyAgICBlbWl0TG9hZFBheWxvYWQoY3VycmVudEluc3RydWN0aW9uWzRdLnUub3BlcmFuZCwgcmVn
VDEpOworICAgIG5vdFVuZGVmaW5lZFNjb3BlID0gYnJhbmNoMzIoTm90RXF1YWwsIHRhZ0Zvcihj
dXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSwgVHJ1c3RlZEltbTMyKEpTVmFsdWU6OlVu
ZGVmaW5lZFRhZykpOworICAgIGVtaXRTdG9yZShkc3QsIGpzVW5kZWZpbmVkKCkpOworI2VuZGlm
CisgICAgSnVtcCBkb25lID0ganVtcCgpOworICAgIG5vdFVuZGVmaW5lZFNjb3BlLmxpbmsodGhp
cyk7CisgICAgCisgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlvbiA9IG1fY29kZUJsb2Nr
LT5mdW5jdGlvbkV4cHIoY3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZCk7CisgICAgY2Fs
bE9wZXJhdGlvbihvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uLCBkc3QsIHJlZ1QwLCBmdW5jdGlv
biwgcmVnVDEpOworICAgIGRvbmUubGluayh0aGlzKTsKK30KIAogdm9pZCBKSVQ6OmVtaXRfb3Bf
bmV3X2FycmF5KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAppbmRleCA1OGI4NjM2ZDg4NmRiYjJl
ODUyOTFiMjkzNTBkOWNmNGUxNDI0MTcxLi4zNWVhNzM0MmVmOWQ5NDgyODQ4OTUzYTAzN2VhOWFj
ZTI5NTI2ZjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJh
dGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5j
cHAKQEAgLTQyLDYgKzQyLDggQEAKICNpbmNsdWRlICJIb3N0Q2FsbFJldHVyblZhbHVlLmgiCiAj
aW5jbHVkZSAiSklULmgiCiAjaW5jbHVkZSAiSklUVG9ERkdEZWZlcnJlZENvbXBpbGF0aW9uQ2Fs
bGJhY2suaCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU0JvdW5k
RnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDYXRjaFNj
b3BlLmgiCiAjaW5jbHVkZSAiSlNGdW5jdGlvbk5hbWVTY29wZS5oIgpAQCAtOTMzLDYgKzkzNSwy
MSBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Z1bmN0aW9uKEV4
ZWNTdGF0ZSogZXhlYywgSlNTY29wZSogc2NvcAogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
SlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBzdGF0aWNfY2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihm
dW5jdGlvbkV4ZWN1dGFibGUpLCBzY29wZSkpOwogfQogCitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBKU1Njb3Bl
KiBzY29wZSwgSlNDZWxsKiBmdW5jdGlvbkV4ZWN1dGFibGUsIEVuY29kZWRKU1ZhbHVlIHRoaXNW
YWx1ZSkKK3sKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEFTU0VS
VChmdW5jdGlvbkV4ZWN1dGFibGUtPmluaGVyaXRzKEZ1bmN0aW9uRXhlY3V0YWJsZTo6aW5mbygp
KSk7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIg
dHJhY2VyKCZ2bSwgZXhlYyk7CisgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGV4
ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNB
cnJvd0Z1bmN0aW9uOjpjcmVhdGUodm0sIHNjb3BlLCBzdGF0aWNfY2FzdDxGdW5jdGlvbkV4ZWN1
dGFibGUqPihmdW5jdGlvbkV4ZWN1dGFibGUpLCBnbG9iYWxPYmplY3QpOworICAgIAorICAgIEpT
QXJyYXkqIGJvdW5kQXJncyA9IEpTQXJyYXk6OnRyeUNyZWF0ZVVuaW5pdGlhbGl6ZWQodm0sIGds
b2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5cGVEdXJpbmdBbGxvY2F0aW9u
KEFycmF5V2l0aFVuZGVjaWRlZCksIDApOworICAgIAorICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoSlNCb3VuZEZ1bmN0aW9uOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgZnVuYywgSlNWYWx1
ZTo6ZGVjb2RlKHRoaXNWYWx1ZSksIGJvdW5kQXJncywgMCwgIiIpKTsKKyNlbmRpZgorfQorICAg
IAogSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3RhdGUqIGV4
ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaAppbmRleCA0ZGVjZWY0ZWI4
YjQ4YmI5MzdkNTRkMGI2MDRiOWI3NzY3YTRlYTYxLi4zYTA3NWExYzRhZTM5ZWYxZTljNWE3MGRj
OTNjZTZiNzAwMjhhN2Q3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VE9wZXJhdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlv
bnMuaApAQCAtMTE2LDYgKzExNiw5IEBAIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJB
VElPTiAoKkpfSklUT3BlcmF0aW9uX0VQUCkoRXhlY1N0YXRlKiwgdm9pZCosIHZvCiB0eXBlZGVm
IEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FUFMpKEV4ZWNT
dGF0ZSosIHZvaWQqLCBzaXplX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OICgqSl9KSVRPcGVyYXRpb25fRVBjKShFeGVjU3RhdGUqLCBJbnN0cnVjdGlvbiopOwogdHlw
ZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUpzY0Mp
KEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQordHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9K
SVRPcGVyYXRpb25fRUpzY0NKKShFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKiwgRW5jb2Rl
ZEpTVmFsdWUpOworI2VuZGlmCiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04g
KCpKX0pJVE9wZXJhdGlvbl9FU1MpKEV4ZWNTdGF0ZSosIHNpemVfdCwgc2l6ZV90KTsKIHR5cGVk
ZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTc2lDSSko
RXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBKU0NlbGwqLCBTdHJpbmdJbXBsKik7CiB0
eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FU3Np
SkkpKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUsIFN0cmlu
Z0ltcGwqKTsKQEAgLTI3OCw2ICsyODEsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbk5ld0FycmF5V2l0aFByb2ZpbGUoRXhlY1N0YXRlKiwgQXJyYXlBbGxvYwogRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJheUJ1ZmZlcldpdGhQcm9m
aWxlKEV4ZWNTdGF0ZSosIEFycmF5QWxsb2NhdGlvblByb2ZpbGUqLCBjb25zdCBKU1ZhbHVlKiB2
YWx1ZXMsIGludDMyX3Qgc2l6ZSkgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25OZXdBcnJheVdpdGhTaXplQW5kUHJvZmlsZShFeGVjU3RhdGUqLCBB
cnJheUFsbG9jYXRpb25Qcm9maWxlKiwgRW5jb2RlZEpTVmFsdWUgc2l6ZSkgV1RGX0lOVEVSTkFM
OwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdGdW5jdGlvbihFeGVj
U3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKikgV1RGX0lOVEVSTkFMOworRW5jb2RlZEpTVmFsdWUg
SklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKEV4ZWNTdGF0ZSosIEpTU2Nv
cGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVSTkFMOwogSlNDZWxsKiBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqKSBXVEZf
SU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld1JlZ2V4
cChFeGVjU3RhdGUqLCB2b2lkKikgV1RGX0lOVEVSTkFMOwogdm9pZCBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbkhhbmRsZVdhdGNoZG9nVGltZXIoRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFMOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKaW5kZXggMjc5
Mjg1YTQ2ODA2Y2M2ODlkMDVkMTNjZjQ2MzQyZDA2YjVlZmQ2NC4uYmYzMzE0MDlkMTA4YzllN2M4
ZTg5MDVjY2NkNTkyZWQwZGNjMDg4MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTExJbnRTbG93UGF0aHMuY3BwCkBAIC0zOCw2ICszOCw4IEBACiAjaW5jbHVkZSAiSW50ZXJw
cmV0ZXIuaCIKICNpbmNsdWRlICJKSVQuaCIKICNpbmNsdWRlICJKSVRFeGNlcHRpb25zLmgiCisj
aW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgi
CiAjaW5jbHVkZSAiSlNMZXhpY2FsRW52aXJvbm1lbnQuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVz
LmgiCiAjaW5jbHVkZSAiSlNDSlNWYWx1ZS5oIgpAQCAtMTcxLDYgKzE3MywxNSBAQCBuYW1lc3Bh
Y2UgSlNDIHsgbmFtZXNwYWNlIExMSW50IHsKICAgICAgICAgTExJTlRfUkVUVVJOX1RXTyhwYywg
X19yY2ZfZXhlYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICB9IHdoaWxl
IChmYWxzZSkKIAorICAgIAorI2RlZmluZSBMTElOVF9DQUxDX1BST1BFUlRZX0ZPUl9GVU5DX0VY
UFIoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgTExJTlRfQkVH
SU4oKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVCbG9jaygp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIEpTU2NvcGUqIHNjb3Bl
ID0gZXhlYy0+dW5jaGVja2VkUihwY1syXS51Lm9wZXJhbmQpLlJlZ2lzdGVyOjpzY29wZSgpOyAg
ICAgICBcCisgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlID0gY29kZUJsb2NrLT5m
dW5jdGlvbkV4cHIocGNbM10udS5vcGVyYW5kKTsgIFwKKyAgICAKK2VudW0gRnVuY3Rpb25FeHBy
ZXNzaW9uVHlwZSB7IEFycm93RnVuY3Rpb25FeHByZXNzaW9uVHlwZSwgQ29tbW9uRnVuY3Rpb25F
eHByZXNzaW9uVHlwZX07CisgICAgCiBleHRlcm4gIkMiIFNsb3dQYXRoUmV0dXJuVHlwZSBsbGlu
dF90cmFjZV9vcGVyYW5kKEV4ZWNTdGF0ZSogZXhlYywgSW5zdHJ1Y3Rpb24qIHBjLCBpbnQgZnJv
bVdoZXJlLCBpbnQgb3BlcmFuZCkKIHsKICAgICBMTElOVF9CRUdJTigpOwpAQCAtOTg1LDE2ICs5
OTYsMzUgQEAgTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX25ld19mdW5jKQogI2VuZGlm
CiAgICAgTExJTlRfUkVUVVJOKEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgY29kZUJsb2NrLT5mdW5j
dGlvbkRlY2wocGNbM10udS5vcGVyYW5kKSwgc2NvcGUpKTsKIH0KLQorICAgIAogTExJTlRfU0xP
V19QQVRIX0RFQ0woc2xvd19wYXRoX25ld19mdW5jX2V4cCkKIHsKLSAgICBMTElOVF9CRUdJTigp
OwotICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+Y29kZUJsb2NrKCk7Ci0gICAgSlNT
Y29wZSogc2NvcGUgPSBleGVjLT51bmNoZWNrZWRSKHBjWzJdLnUub3BlcmFuZCkuUmVnaXN0ZXI6
OnNjb3BlKCk7Ci0gICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlvbiA9IGNvZGVCbG9jay0+
ZnVuY3Rpb25FeHByKHBjWzNdLnUub3BlcmFuZCk7Ci0gICAgSlNGdW5jdGlvbiogZnVuYyA9IEpT
RnVuY3Rpb246OmNyZWF0ZSh2bSwgZnVuY3Rpb24sIHNjb3BlKTsKKyAgICBMTElOVF9DQUxDX1BS
T1BFUlRZX0ZPUl9GVU5DX0VYUFIoKTsKKworICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Z1bmN0
aW9uOjpjcmVhdGUodm0sIGV4ZWN1dGFibGUsIHNjb3BlKTsKKyAgICBMTElOVF9SRVRVUk4oZnVu
Yyk7Cit9CisKKworTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX25ld19hcnJvd19mdW5j
X2V4cCkKK3sKKyAgICBMTElOVF9DQUxDX1BST1BFUlRZX0ZPUl9GVU5DX0VYUFIoKTsKKworI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgSlNWYWx1ZSB0aGlzVmFsdWUg
PSBMTElOVF9PUF9DKDQpLmpzVmFsdWUoKTsKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0ID0gZXhlYy0+Y2FsbGVlKCktPmdsb2JhbE9iamVjdCgpOwogICAgIAorICAgIEpTRnVuY3Rp
b24qIGZ1bmMgPSBKU0Fycm93RnVuY3Rpb246OmNyZWF0ZSh2bSwgc2NvcGUsIGV4ZWN1dGFibGUs
IGdsb2JhbE9iamVjdCk7CisgICAgCisgICAgSlNBcnJheSogYm91bmRBcmdzID0gSlNBcnJheTo6
dHJ5Q3JlYXRlVW5pbml0aWFsaXplZCh2bSwgZ2xvYmFsT2JqZWN0LT5hcnJheVN0cnVjdHVyZUZv
ckluZGV4aW5nVHlwZUR1cmluZ0FsbG9jYXRpb24oQXJyYXlXaXRoVW5kZWNpZGVkKSwgMCk7Cisg
ICAgCisgICAgY29uc3QgU3RyaW5nIGZ1bmNXaXRob3V0TmFtZSA9ICIiOworICAgIAorICAgIExM
SU5UX1JFVFVSTihKU0JvdW5kRnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBmdW5j
LCB0aGlzVmFsdWUsIGJvdW5kQXJncywgMCwgZnVuY1dpdGhvdXROYW1lKSk7CisjZWxzZQorICAg
IEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGV4ZWN1dGFibGUsIHNj
b3BlKTsKICAgICBMTElOVF9SRVRVUk4oZnVuYyk7CisjZW5kaWYKIH0KIAogc3RhdGljIFNsb3dQ
YXRoUmV0dXJuVHlwZSBoYW5kbGVIb3N0Q2FsbChFeGVjU3RhdGUqIGV4ZWNDYWxsZWUsIEluc3Ry
dWN0aW9uKiBwYywgSlNWYWx1ZSBjYWxsZWUsIENvZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgKaW5kZXggNGJm
N2RlYjBmYTBiNmM2NDM4ZTM2Zjk2MzIwZTJmNjY5NzM5YWY2NC4uYzdmYWI5NjkxYzE4YjkzOTU2
ZDBlYTI5ZjMzOTU2MTE4YzVlNzFlZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xMSW50U2xvd1BhdGhzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xMSW50U2xvd1BhdGhzLmgKQEAgLTk2LDYgKzk2LDcgQEAgTExJTlRfU0xPV19QQVRIX0hJRERF
Tl9ERUNMKHNsb3dfcGF0aF9zd2l0Y2hfY2hhcik7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RF
Q0woc2xvd19wYXRoX3N3aXRjaF9zdHJpbmcpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNM
KHNsb3dfcGF0aF9uZXdfZnVuYyk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19w
YXRoX25ld19mdW5jX2V4cCk7CitMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRo
X25ld19hcnJvd19mdW5jX2V4cCk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19w
YXRoX2NhbGwpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9jb25zdHJ1
Y3QpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9zaXplX2ZyYW1lX2Zv
cl92YXJhcmdzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbQppbmRleCBmZGE5MWVkNTk5MGNiNmU0ZjJjYjc4YWE2YTRiMmQ4YzJj
MGM0NzJhLi44MjI3MTM0OTgyZGI3NTgxZGM4YTIyNWNkNDIzMjgyMDA5MmZiNzNlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20K
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
CkBAIC0xMTcxLDYgKzExNzEsMTAgQEAgX2xsaW50X29wX25ld19mdW5jX2V4cDoKICAgICBjYWxs
U2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9uZXdfZnVuY19leHApCiAgICAgZGlzcGF0Y2goNCkK
IAorX2xsaW50X29wX25ld19hcnJvd19mdW5jX2V4cDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisg
ICAgY2FsbFNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKQorICAg
IGRpc3BhdGNoKDUpCiAKIF9sbGludF9vcF9jYWxsOgogICAgIHRyYWNlRXhlY3V0aW9uKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKaW5kZXggYjhmZTRiODQ4NWEw
OTc2ODhmNWM2MzBiZDhjM2M5Njc2NGZjNDY0OS4uZjJmYTNiZDljMTVmNGU0MjJlZWM2YTc5ZDY1
ZjFkNzA4NmM2MmM3MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9B
U1RCdWlsZGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVy
LmgKQEAgLTMxMyw2ICszMTMsMTkgQEAgcHVibGljOgogICAgICAgICAgICAgaW5TdHJpY3RDb250
ZXh0LCBjb25zdHJ1Y3RvcktpbmQpOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgRXhwcmVzc2lvbk5vZGUqIGNyZWF0ZUFycm93RnVuY3Rpb25FeHBy
KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5m
bzxBU1RCdWlsZGVyPiYgaW5mbykKKyAgICB7CisgICAgICAgIFNvdXJjZUNvZGUgc291cmNlID0g
aW5mby5mdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbgorICAg
ICAgICA/IG1fc291cmNlQ29kZS0+c3ViQXJyb3dFeHByZXNzaW9uKGluZm8uYXJyb3dGdW5jdGlv
bk9mZnNldCwgaW5mby5jbG9zZUJyYWNlT2Zmc2V0LCBpbmZvLmJvZHlTdGFydExpbmUsIGluZm8u
Ym9keVN0YXJ0Q29sdW1uKQorICAgICAgICA6IG1fc291cmNlQ29kZS0+c3ViRXhwcmVzc2lvbihp
bmZvLm9wZW5CcmFjZU9mZnNldCwgaW5mby5jbG9zZUJyYWNlT2Zmc2V0LCBpbmZvLmJvZHlTdGFy
dExpbmUsIGluZm8uYm9keVN0YXJ0Q29sdW1uKTsKKworICAgICAgICBBcnJvd0Z1bmNFeHByTm9k
ZSogcmVzdWx0ID0gbmV3IChtX3BhcnNlckFyZW5hKSBBcnJvd0Z1bmNFeHByTm9kZShsb2NhdGlv
biwgKmluZm8ubmFtZSwgaW5mby5ib2R5LCBzb3VyY2UsIGluZm8ucGFyYW1ldGVycyk7CisgICAg
ICAgIGluZm8uYm9keS0+c2V0TG9jKGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5RW5kTGlu
ZSwgbG9jYXRpb24uc3RhcnRPZmZzZXQsIGxvY2F0aW9uLmxpbmVTdGFydE9mZnNldCk7CisgICAg
ICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorI2VuZGlmCisKICAgICBORVZFUl9JTkxJTkUgUHJv
cGVydHlOb2RlKiBjcmVhdGVHZXR0ZXJPclNldHRlclByb3BlcnR5KGNvbnN0IEpTVG9rZW5Mb2Nh
dGlvbiYgbG9jYXRpb24sIFByb3BlcnR5Tm9kZTo6VHlwZSB0eXBlLCBib29sLAogICAgICAgICBj
b25zdCBJZGVudGlmaWVyKiBuYW1lLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88QVNUQnVpbGRl
cj4mIGluZm8sIFN1cGVyQmluZGluZyBzdXBlckJpbmRpbmcpCiAgICAgewpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL0xleGVyLmNwcAppbmRleCA3ZGUxNDIyMGJiZGE3MjczOGI1NzNhNGI5Nzg4
Y2UwYjMyY2M3Y2UzLi41NDBmOWZmYjdiYjUxODI5ZDY3ZGVlZGVjNWU2YThlZDUxY2M0NDE0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcApAQCAtMTQzMCw2ICsxNDMwLDE4
IEBAIGJvb2wgTGV4ZXI8VD46Om5leHRUb2tlbklzQ29sb24oKQogICAgIHJldHVybiBjb2RlIDwg
bV9jb2RlRW5kICYmICpjb2RlID09ICc6JzsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK3ZvaWQgTGV4ZXI8VD46OnNldFRv
a2VuUG9zaXRpb24oSlNUb2tlbiogdG9rZW5SZWNvcmQpCit7CisgICAgSlNUb2tlbkRhdGEqIHRv
a2VuRGF0YSA9ICZ0b2tlblJlY29yZC0+bV9kYXRhOworICAgIHRva2VuRGF0YS0+bGluZSA9IGxp
bmVOdW1iZXIoKTsKKyAgICB0b2tlbkRhdGEtPm9mZnNldCA9IGN1cnJlbnRPZmZzZXQoKTsKKyAg
ICB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCA9IGN1cnJlbnRMaW5lU3RhcnRPZmZzZXQoKTsK
KyAgICBBU1NFUlQodG9rZW5EYXRhLT5vZmZzZXQgPj0gdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZz
ZXQpOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgogSlNUb2tlblR5cGUgTGV4
ZXI8VD46OmxleChKU1Rva2VuKiB0b2tlblJlY29yZCwgdW5zaWduZWQgbGV4ZXJGbGFncywgYm9v
bCBzdHJpY3RNb2RlKQogewpAQCAtMTQ5Myw3ICsxNTA1LDEyIEBAIHN0YXJ0OgogICAgICAgICB9
CiAgICAgICAgIHRva2VuID0gR1Q7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ2hhcmFjdGVy
RXF1YWw6CisgICAgY2FzZSBDaGFyYWN0ZXJFcXVhbDogeworI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgICAgIHVpbnQzMl90IHNhdmVkbGluZU51bWJlciA9IHRva2Vu
RGF0YS0+bGluZTsKKyAgICAgICAgdWludDMyX3Qgc2F2ZWRPZmZzZXQgPSBjdXJyZW50T2Zmc2V0
KCk7CisgICAgICAgIHVpbnQzMl90IHNhdmVkTGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVT
dGFydE9mZnNldCgpOworI2VuZGlmCiAgICAgICAgIHNoaWZ0KCk7CiAgICAgICAgIGlmIChtX2N1
cnJlbnQgPT0gJz0nKSB7CiAgICAgICAgICAgICBzaGlmdCgpOwpAQCAtMTUwNSw4ICsxNTIyLDIy
IEBAIHN0YXJ0OgogICAgICAgICAgICAgdG9rZW4gPSBFUUVROwogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAg
ICBpZiAobV9jdXJyZW50ID09ICc+JykgeworICAgICAgICAgICAgc2hpZnQoKTsKKyAgICAgICAg
ICAgIHRva2VuID0gQVJST1dGVU5DVElPTjsKKworICAgICAgICAgICAgdG9rZW5EYXRhLT5saW5l
ID0gc2F2ZWRsaW5lTnVtYmVyOworICAgICAgICAgICAgdG9rZW5EYXRhLT5vZmZzZXQgPSBzYXZl
ZE9mZnNldDsKKyAgICAgICAgICAgIHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0ID0gc2F2ZWRM
aW5lU3RhcnRPZmZzZXQ7CisKKyAgICAgICAgICAgIEFTU0VSVCh0b2tlbkRhdGEtPm9mZnNldCA+
PSB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgfQorI2VuZGlmCiAgICAgICAgIHRva2VuID0gRVFVQUw7CiAgICAgICAgIGJyZWFrOworICAg
IH0KICAgICBjYXNlIENoYXJhY3Rlckxlc3M6CiAgICAgICAgIHNoaWZ0KCk7CiAgICAgICAgIGlm
IChtX2N1cnJlbnQgPT0gJyEnICYmIHBlZWsoMSkgPT0gJy0nICYmIHBlZWsoMikgPT0gJy0nKSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKaW5kZXggMmRmNTIxMzk5NTc4MjAwNzg1
YTE2NmUyMmE3MzI3NWUwZWE2MzA0ZC4uY2IzZjI1ZjdjMDhmODI1ODFhZjJjZThmYTk5OTk3ZmFk
ZTA3NjZmMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaApAQCAtODUsNiArODUs
OSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRJc1JlcGFyc2luZygpIHsgbV9pc1JlcGFyc2luZyA9
IHRydWU7IH0KICAgICBib29sIGlzUmVwYXJzaW5nKCkgY29uc3QgeyByZXR1cm4gbV9pc1JlcGFy
c2luZzsgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2b2lk
IHNldFRva2VuUG9zaXRpb24oSlNUb2tlbiogdG9rZW5SZWNvcmQpOworI2VuZGlmCiAgICAgSlNU
b2tlblR5cGUgbGV4KEpTVG9rZW4qLCB1bnNpZ25lZCwgYm9vbCBzdHJpY3RNb2RlKTsKICAgICBi
b29sIG5leHRUb2tlbklzQ29sb24oKTsKICAgICBpbnQgbGluZU51bWJlcigpIGNvbnN0IHsgcmV0
dXJuIG1fbGluZU51bWJlcjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9Ob2RlQ29uc3RydWN0b3JzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05v
ZGVDb25zdHJ1Y3RvcnMuaAppbmRleCAzYmRhYjYxYTUyMmUwY2UyYzMzOTdmODBmNGZhMTg0ZDFk
NDIxNjBlLi5iNThlMWZlMWFmOTBlNjYwYjA4NDJlYTdlOTlmMDdhZTZhY2JiOTVlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaApAQCAtNzgx
LDYgKzc4MSwxMyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgbV9ib2R5LT5maW5pc2hQYXJz
aW5nKHNvdXJjZSwgcGFyYW1ldGVyLCBpZGVudCwgRnVuY3Rpb25FeHByZXNzaW9uKTsKICAgICB9
CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlubGluZSBBcnJv
d0Z1bmNFeHByTm9kZTo6QXJyb3dGdW5jRXhwck5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBs
b2NhdGlvbiwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIEZ1bmN0aW9uQm9keU5vZGUqIGJvZHks
IGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgUGFyYW1ldGVyTm9kZSogcGFyYW1ldGVyKQorICAg
ICAgICA6IEZ1bmNFeHByTm9kZShsb2NhdGlvbiwgaWRlbnQsIGJvZHksIHNvdXJjZSwgcGFyYW1l
dGVyKQorICAgIHsKKyAgICB9CisjZW5kaWYKKyAgICAKICAgICBpbmxpbmUgRnVuY0RlY2xOb2Rl
OjpGdW5jRGVjbE5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29uc3QgSWRl
bnRpZmllciYgaWRlbnQsIEZ1bmN0aW9uQm9keU5vZGUqIGJvZHksIGNvbnN0IFNvdXJjZUNvZGUm
IHNvdXJjZSwgUGFyYW1ldGVyTm9kZSogcGFyYW1ldGVyKQogICAgICAgICA6IFN0YXRlbWVudE5v
ZGUobG9jYXRpb24pCiAgICAgICAgICwgbV9ib2R5KGJvZHkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL05vZGVzLmgKaW5kZXggNmIzNzMyOWMwOWJmYzQyYmVjY2MzY2FhOTgzNTk3YzM1NDAyYjZj
OS4uNWI3NzQxZTFjY2M4ZDUxNWZmMTRjMTUzMTcyZDdiZGEwNTNmNTg2OCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvTm9kZXMuaApAQCAtMTU4LDYgKzE1OCw5IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNEb3RBY2Nlc3Nvck5vZGUoKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNEZWNvbnN0cnVjdGlvbk5vZGUoKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNGdW5jRXhwck5v
ZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Fycm93RnVuY0V4cHJOb2RlKCkgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KKyNlbmRpZgogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNDb21t
YU5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNT
aW1wbGVBcnJheSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwgYm9v
bCBpc0FkZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CkBAIC0xNjUyLDYgKzE2NTUsMTkgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIEZ1bmN0aW9uQm9keU5vZGUqIG1fYm9keTsKICAgICB9
OwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjbGFzcyBBcnJv
d0Z1bmNFeHByTm9kZSA6IHB1YmxpYyBGdW5jRXhwck5vZGUgeworICAgIHB1YmxpYzoKKyAgICAg
ICAgQXJyb3dGdW5jRXhwck5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgSWRlbnRp
ZmllciYsIEZ1bmN0aW9uQm9keU5vZGUqLCBjb25zdCBTb3VyY2VDb2RlJiwgUGFyYW1ldGVyTm9k
ZSogPSAwKTsKKyAgICBwcml2YXRlOgorICAgICAgICB2aXJ0dWFsIFJlZ2lzdGVySUQqIGVtaXRC
eXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYsIFJlZ2lzdGVySUQqID0gMCkgb3ZlcnJpZGU7Cisg
ICAgICAgIAorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNGdW5jRXhwck5vZGUoKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiBmYWxzZTsgfQorICAgICAgICAKKyAgICAgICAgdmlydHVhbCBib29sIGlz
QXJyb3dGdW5jRXhwck5vZGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CisgICAg
fTsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAgICAgY2xhc3MgQ2xh
c3NFeHByTm9kZSBmaW5hbCA6IHB1YmxpYyBFeHByZXNzaW9uTm9kZSB7CiAgICAgcHVibGljOgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCmluZGV4IDVmNDQ4MGI0OWNhZDVk
NDkxNTZjNjI1ZmE0ODRhZjdhMWRjOGIzY2YuLjE4ZTIxYjg0NzM0MjFiMTBjOTc1YmNjMDg0ZGJk
YmIwMGJhOGRmZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFy
c2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKQEAg
LTMyOSw4ICszMjksMTMgQEAgYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6YWxsb3dBdXRvbWF0aWNT
ZW1pY29sb24oKQogICAgIHJldHVybiBtYXRjaChDTE9TRUJSQUNFKSB8fCBtYXRjaChFT0ZUT0sp
IHx8IG1fbGV4ZXItPnByZXZUZXJtaW5hdG9yKCk7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBTb3VyY2VFbGVtZW50
c01vZGUgbW9kZSwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25QYXJzZVR5cGUpCisjZWxzZQog
dGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsZW1l
bnRzKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBTb3VyY2VFbGVtZW50c01vZGUgbW9kZSkKKyNlbmRp
ZgogewogICAgIGNvbnN0IHVuc2lnbmVkIGxlbmd0aE9mVXNlU3RyaWN0TGl0ZXJhbCA9IDEyOyAv
LyAidXNlIHN0cmljdCIubGVuZ3RoCiAgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHNvdXJjZUVsZW1l
bnRzID0gY29udGV4dC5jcmVhdGVTb3VyY2VFbGVtZW50cygpOwpAQCAtMzM5LDcgKzM0NCwxMSBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VTb3VyY2VFbAogICAgIHVuc2lnbmVkIGRpcmVjdGl2ZUxpdGVyYWxM
ZW5ndGggPSAwOwogICAgIGF1dG8gc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CiAgICAg
Ym9vbCBoYXNTZXRTdHJpY3QgPSBmYWxzZTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgIHdoaWxlIChUcmVlU3RhdGVtZW50IHN0YXRlbWVudCA9IHBhcnNlU3RhdGVt
ZW50KGNvbnRleHQsIGRpcmVjdGl2ZSwgJmRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgsIGZ1bmN0aW9u
UGFyc2VUeXBlKSkgeworI2Vsc2UKICAgICB3aGlsZSAoVHJlZVN0YXRlbWVudCBzdGF0ZW1lbnQg
PSBwYXJzZVN0YXRlbWVudChjb250ZXh0LCBkaXJlY3RpdmUsICZkaXJlY3RpdmVMaXRlcmFsTGVu
Z3RoKSkgeworI2VuZGlmCiAgICAgICAgIGlmIChtb2RlID09IENoZWNrRm9yU3RyaWN0TW9kZSAm
JiAhc2Vlbk5vbkRpcmVjdGl2ZSkgewogICAgICAgICAgICAgaWYgKGRpcmVjdGl2ZSkgewogICAg
ICAgICAgICAgICAgIC8vICJ1c2Ugc3RyaWN0IiBtdXN0IGJlIHRoZSBleGFjdCBsaXRlcmFsIHdp
dGhvdXQgZXNjYXBlIHNlcXVlbmNlcyBvciBsaW5lIGNvbnRpbnVhdGlvbi4KQEAgLTU3MSw2ICs1
ODAsMzEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVjb25zdHJ1Y3Rpb25Q
YXR0ZXJuIFBhcnNlcjxMZXhlclR5cGU+OjpjcmVhdGUKICAgICByZXR1cm4gY29udGV4dC5jcmVh
dGVCaW5kaW5nTG9jYXRpb24odG9rZW4ubV9sb2NhdGlvbiwgbmFtZSwgdG9rZW4ubV9zdGFydFBv
c2l0aW9uLCB0b2tlbi5tX2VuZFBvc2l0aW9uKTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAgQVNT
RVJUKG1hdGNoKEFSUk9XRlVOQ1RJT04pKTsKKworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlv
bih0b2tlbkxvY2F0aW9uKCkpOworICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFy
dFBvc2l0aW9uKCk7CisgICAgSlNUZXh0UG9zaXRpb24gZW5kID0gdG9rZW5FbmRQb3NpdGlvbigp
OworCisgICAgbmV4dCgpOworICAgIFRyZWVFeHByZXNzaW9uIGV4cHIgPSBwYXJzZUFycm93RnVu
Y3Rpb25FeHByZXNzaW9uKGNvbnRleHQpOworICAgIGZhaWxJZkZhbHNlKGV4cHIsICJDYW5ub3Qg
cGFyc2UgdGhlIGFycm93IGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsKKyAgICBlbmQgPSBsYXN0VG9r
ZW5FbmRQb3NpdGlvbigpOworCisgICAgYm9vbCBjb3JyZWN0QXJyb3dGaW5pc2ggPSBpc0VuZE9m
QXJyb3dGdW5jdGlvbigpIHx8IG1hdGNoKEVPRlRPSyk7CisgICAgZmFpbElmRmFsc2UoY29ycmVj
dEFycm93RmluaXNoLCAiRXhwZWN0ZWQgYSAnOycsICddJywgJ30nLCAnKScsIG9yICcsJyBmb2xs
b3dpbmcgYSBhcnJvdyBmdW5jdGlvbiBzdGF0ZW1lbnQiKTsKKworICAgIGVuZCA9IHRva2VuRW5k
UG9zaXRpb24oKTsKKyAgICBzZXRFbmRPZlN0YXRlbWVudCgpOworCisgICAgcmV0dXJuIGNvbnRl
eHQuY3JlYXRlUmV0dXJuU3RhdGVtZW50KGxvY2F0aW9uLCBleHByLCBzdGFydCwgZW5kKTsKK30K
KyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIFBhcnNlcjxMZXhlclR5cGU+
Ojp0cnlQYXJzZURlY29uc3RydWN0aW9uUGF0dGVybkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNv
bnRleHQpCiB7CkBAIC0xMTQ0LDggKzExNzgsMTMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUJsb2NrU3RhdGVtZW4K
ICAgICByZXR1cm4gcmVzdWx0OwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50
KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNp
Z25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCwgRnVuY3Rpb25QYXJzZVR5cGUgdHlwZSkKKyNl
bHNlCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChU
cmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWdu
ZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgpCisjZW5kaWYKIHsKICAgICBEZXB0aE1hbmFnZXIg
c3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50RGVwdGgpOwogICAgIG1fc3RhdGVtZW50RGVwdGgr
KzsKQEAgLTExNTQsNiArMTE5MywyMyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAgIGZh
aWxJZlN0YWNrT3ZlcmZsb3coKTsKICAgICBUcmVlU3RhdGVtZW50IHJlc3VsdCA9IDA7CiAgICAg
Ym9vbCBzaG91bGRTZXRFbmRPZmZzZXQgPSB0cnVlOworCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICBpZiAodHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7
CisgICAgICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKKyAgICAgICAgY2FzZSBDTE9TRVBB
UkVOOgorICAgICAgICBjYXNlIENMT1NFQlJBQ0tFVDoKKyAgICAgICAgY2FzZSBDT01NQToKKyAg
ICAgICAgY2FzZSBTRU1JQ09MT046IHsKKyAgICAgICAgICAgIHJlc3VsdCA9IDA7CisgICAgICAg
ICAgICBjb250ZXh0LnNldEVuZE9mZnNldChyZXN1bHQsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24u
b2Zmc2V0KTsKKyAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgIH0KKyAgICAgICAg
ZGVmYXVsdDoKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorI2VuZGlmCiAg
ICAgc3dpdGNoIChtX3Rva2VuLm1fdHlwZSkgewogICAgIGNhc2UgT1BFTkJSQUNFOgogICAgICAg
ICByZXN1bHQgPSBwYXJzZUJsb2NrU3RhdGVtZW50KGNvbnRleHQpOwpAQCAtMTE5OSw2ICsxMjU1
LDExIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgY2FzZSBCUkVBSzoKICAgICAgICAg
cmVzdWx0ID0gcGFyc2VCcmVha1N0YXRlbWVudChjb250ZXh0KTsKICAgICAgICAgYnJlYWs7Cisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIEFSUk9XRlVOQ1RJ
T046CisgICAgICAgIHJlc3VsdCA9IHBhcnNlQXJyb3dGdW5jdGlvblN0YXRlbWVudChjb250ZXh0
KTsKKyAgICAgICAgYnJlYWs7CisjZW5kaWYKICAgICBjYXNlIFJFVFVSTjoKICAgICAgICAgcmVz
dWx0ID0gcGFyc2VSZXR1cm5TdGF0ZW1lbnQoY29udGV4dCk7CiAgICAgICAgIGJyZWFrOwpAQCAt
MTI2MCwyMyArMTMyMSw0NCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGb3Jt
YWxQYXJhbWV0ZXJMaXN0IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZvcgogICAgIHJldHVybiBs
aXN0OwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKIHRlbXBsYXRl
IDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVG
dW5jdGlvbkJvZHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25Cb2R5KAogICAgIFRy
ZWVCdWlsZGVyJiBjb250ZXh0LCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlv
bk5hbWVTdGFydCwgCisgICAgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kIGNv
bnN0cnVjdG9yS2luZCwgRnVuY3Rpb25QYXJzZVR5cGUgcGFyc2VUeXBlKQorI2Vsc2UKK3RlbXBs
YXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVGdW5jdGlvbkJvZHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25Cb2R5KAorICAg
IFRyZWVCdWlsZGVyJiBjb250ZXh0LCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5j
dGlvbk5hbWVTdGFydCwKICAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQg
Y29uc3RydWN0b3JLaW5kKQorI2VuZGlmCiB7CiAgICAgSlNUb2tlbkxvY2F0aW9uIHN0YXJ0TG9j
YXRpb24odG9rZW5Mb2NhdGlvbigpKTsKICAgICB1bnNpZ25lZCBzdGFydENvbHVtbiA9IHRva2Vu
Q29sdW1uKCk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAo
cGFyc2VUeXBlID09IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgbmV4dCgp
OworICAgICAgICBpZiAobWF0Y2goQ0xPU0VCUkFDRSkpIHsKKyAgICAgICAgICAgIHVuc2lnbmVk
IGVuZENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5j
cmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFydENv
bHVtbiwgZW5kQ29sdW1uLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQs
IHBhcmFtZXRlcnNTdGFydCwgc3RyaWN0TW9kZSgpLCBjb25zdHJ1Y3RvcktpbmQpOworICAgICAg
ICB9CisgICAgfQorI2Vsc2UKICAgICBuZXh0KCk7Ci0KICAgICBpZiAobWF0Y2goQ0xPU0VCUkFD
RSkpIHsKICAgICAgICAgdW5zaWduZWQgZW5kQ29sdW1uID0gdG9rZW5Db2x1bW4oKTsKICAgICAg
ICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0YXJ0TG9jYXRpb24sIHRva2Vu
TG9jYXRpb24oKSwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgZnVuY3Rpb25LZXl3b3JkU3RhcnQs
IGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0cmljdE1vZGUoKSwgY29uc3Ry
dWN0b3JLaW5kKTsKICAgICB9CisjZW5kaWYKKwogICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnRE
ZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7CiAgICAgbV9zdGF0ZW1lbnREZXB0aCA9IDA7CiAgICAg
dHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkZ1bmN0aW9uQm9keUJ1aWxkZXIgYm9keUJ1aWxkZXIoY29u
c3RfY2FzdDxWTSo+KG1fdm0pLCBtX2xleGVyLmdldCgpKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgIGZhaWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMoYm9k
eUJ1aWxkZXIsIENoZWNrRm9yU3RyaWN0TW9kZSwgcGFyc2VUeXBlKSwgcGFyc2VUeXBlID09IFN0
YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUgPyAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBmdW5j
dGlvbiIgOiAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBhcnJvdyBmdW5jdGlvbiIpOworI2Vs
c2UKICAgICBmYWlsSWZGYWxzZShwYXJzZVNvdXJjZUVsZW1lbnRzKGJvZHlCdWlsZGVyLCBDaGVj
a0ZvclN0cmljdE1vZGUpLCAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBmdW5jdGlvbiIpOwor
I2VuZGlmCiAgICAgdW5zaWduZWQgZW5kQ29sdW1uID0gdG9rZW5Db2x1bW4oKTsKICAgICByZXR1
cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlv
bigpLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rp
b25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgc3RyaWN0TW9kZSgpLCBjb25zdHJ1Y3Rvcktp
bmQpOwogfQpAQCAtMTI5Nyw2MCArMTM3OSwxMDUgQEAgc3RhdGljIGNvbnN0IGNoYXIqIHN0cmlu
Z0ZvckZ1bmN0aW9uTW9kZShGdW5jdGlvblBhcnNlTW9kZSBtb2RlKQogICAgIHJldHVybiBudWxs
cHRyOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRl
IDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wg
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiBjb250ZXh0
LCBGdW5jdGlvblJlcXVpcmVtZW50cyByZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlIG1v
ZGUsCisgICAgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kIG93
bmVyQ2xhc3NLaW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5m
bzxUcmVlQnVpbGRlcj4mIGluZm8sIEZ1bmN0aW9uUGFyc2VUeXBlIHBhcnNlVHlwZSkKKyNlbHNl
CiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRl
ciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMgcmVxdWlyZW1lbnRzLCBGdW5jdGlvblBh
cnNlTW9kZSBtb2RlLAogICAgIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENvbnN0cnVj
dG9yS2luZCBvd25lckNsYXNzS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJG
dW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvKQorI2VuZGlmCiB7CiAgICAgQXV0b1BvcFNj
b3BlUmVmIGZ1bmN0aW9uU2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOwogICAgIGZ1bmN0aW9uU2Nv
cGUtPnNldElzRnVuY3Rpb24oKTsKICAgICBpbnQgZnVuY3Rpb25OYW1lU3RhcnQgPSBtX3Rva2Vu
Lm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CiAgICAgY29uc3QgSWRlbnRpZmllciogbGFzdEZ1bmN0
aW9uTmFtZSA9IG1fbGFzdEZ1bmN0aW9uTmFtZTsKICAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBu
dWxscHRyOwotICAgIGlmIChtYXRjaChJREVOVCkpIHsKLSAgICAgICAgaW5mby5uYW1lID0gbV90
b2tlbi5tX2RhdGEuaWRlbnQ7Ci0gICAgICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IGluZm8ubmFt
ZTsKLSAgICAgICAgbmV4dCgpOwotICAgICAgICBpZiAoIW5hbWVJc0luQ29udGFpbmluZ1Njb3Bl
KQotICAgICAgICAgICAgZmFpbElmRmFsc2VJZlN0cmljdChmdW5jdGlvblNjb3BlLT5kZWNsYXJl
VmFyaWFibGUoaW5mby5uYW1lKSwgIiciLCBpbmZvLm5hbWUtPmltcGwoKSwgIicgaXMgbm90IGEg
dmFsaWQgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUgaW4gc3RyaWN0IG1v
ZGUiKTsKLSAgICB9IGVsc2UgaWYgKHJlcXVpcmVtZW50cyA9PSBGdW5jdGlvbk5lZWRzTmFtZSkg
eworICAgIGludCBwYXJhbWV0ZXJzU3RhcnQ7CisgICAgYm9vbCBpc0NsYXNzQ29uc3RydWN0b3I7
CisgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFy
c2VUeXBlID09IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpIHsKKyNlbmRpZgorICAgICAgICBp
ZiAobWF0Y2goSURFTlQpKSB7CisgICAgICAgICAgICBpbmZvLm5hbWUgPSBtX3Rva2VuLm1fZGF0
YS5pZGVudDsKKyAgICAgICAgICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IGluZm8ubmFtZTsKKyAg
ICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgICAgIGlmICghbmFtZUlzSW5Db250YWluaW5nU2Nv
cGUpCisgICAgICAgICAgICAgICAgZmFpbElmRmFsc2VJZlN0cmljdChmdW5jdGlvblNjb3BlLT5k
ZWNsYXJlVmFyaWFibGUoaW5mby5uYW1lKSwgIiciLCBpbmZvLm5hbWUtPmltcGwoKSwgIicgaXMg
bm90IGEgdmFsaWQgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUgaW4gc3Ry
aWN0IG1vZGUiKTsKKyAgICAgICAgfSBlbHNlIGlmIChyZXF1aXJlbWVudHMgPT0gRnVuY3Rpb25O
ZWVkc05hbWUpIHsKICAgICAgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikgJiYgbW9kZSA9PSBGdW5j
dGlvbk1vZGUpCiAgICAgICAgICAgICBzZW1hbnRpY0ZhaWwoIkZ1bmN0aW9uIHN0YXRlbWVudHMg
bXVzdCBoYXZlIGEgbmFtZSIpOwotICAgICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVUb0tleXdvcmQo
c3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUiKTsKLSAgICAgICAgZmFpbER1ZVRv
VW5leHBlY3RlZFRva2VuKCk7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gICAgaW50
IHBhcmFtZXRlcnNTdGFydCA9IG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKLSAgICBp
ZiAoIWNvbnN1bWUoT1BFTlBBUkVOKSkgewotICAgICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVUb0tl
eXdvcmQoc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUiKTsKLSAgICAgICAgZmFp
bFdpdGhNZXNzYWdlKCJFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSAiLCBzdHJpbmdG
b3JGdW5jdGlvbk1vZGUobW9kZSksICIncyBwYXJhbWV0ZXIgbGlzdCIpOwotICAgIH0KLQotICAg
IGlmIChtb2RlID09IEdldHRlck1vZGUpCi0gICAgICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJF
TiwgImdldHRlciBmdW5jdGlvbnMgbXVzdCBoYXZlIG5vIHBhcmFtZXRlcnMiKTsKLSAgICBlbHNl
IGlmIChtb2RlID09IFNldHRlck1vZGUpIHsKLSAgICAgICAgZmFpbElmVHJ1ZShtYXRjaChDTE9T
RVBBUkVOKSwgInNldHRlciBmdW5jdGlvbnMgbXVzdCBoYXZlIG9uZSBwYXJhbWV0ZXIiKTsKLSAg
ICAgICAgYXV0byBwYXJhbWV0ZXIgPSBwYXJzZURlY29uc3RydWN0aW9uUGF0dGVybihjb250ZXh0
LCBEZWNvbnN0cnVjdFRvUGFyYW1ldGVycyk7Ci0gICAgICAgIGZhaWxJZkZhbHNlKHBhcmFtZXRl
ciwgInNldHRlciBmdW5jdGlvbnMgbXVzdCBoYXZlIG9uZSBwYXJhbWV0ZXIiKTsKLSAgICAgICAg
aW5mby5wYXJhbWV0ZXJzID0gY29udGV4dC5jcmVhdGVGb3JtYWxQYXJhbWV0ZXJMaXN0KHBhcmFt
ZXRlcik7Ci0gICAgICAgIGZhaWxJZlRydWUobWF0Y2goQ09NTUEpLCAic2V0dGVyIGZ1bmN0aW9u
cyBtdXN0IGhhdmUgb25lIHBhcmFtZXRlciIpOwotICAgICAgICBjb25zdW1lT3JGYWlsKENMT1NF
UEFSRU4sICJFeHBlY3RlZCBhICcpJyBhZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOwot
ICAgIH0gZWxzZSB7Ci0gICAgICAgIGlmICghbWF0Y2goQ0xPU0VQQVJFTikpIHsKLSAgICAgICAg
ICAgIGluZm8ucGFyYW1ldGVycyA9IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhjb250ZXh0KTsKLSAg
ICAgICAgICAgIGZhaWxJZkZhbHNlKGluZm8ucGFyYW1ldGVycywgIkNhbm5vdCBwYXJzZSBwYXJh
bWV0ZXJzIGZvciB0aGlzICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7CisgICAgICAg
ICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVUb0tleXdvcmQoc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1v
ZGUpLCAiIG5hbWUiKTsKKyAgICAgICAgICAgIGZhaWxEdWVUb1VuZXhwZWN0ZWRUb2tlbigpOwor
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAgICAgIHBhcmFtZXRlcnNT
dGFydCA9IG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKKyAgICAgICAgCisgICAgICAg
IGlmICghY29uc3VtZShPUEVOUEFSRU4pKSB7CisgICAgICAgICAgICBzZW1hbnRpY0ZhaWx1cmVE
dWVUb0tleXdvcmQoc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUiKTsKKyAgICAg
ICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEg
Iiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiJ3MgcGFyYW1ldGVyIGxpc3QiKTsKICAg
ICAgICAgfQotICAgICAgICBjb25zdW1lT3JGYWlsKENMT1NFUEFSRU4sICJFeHBlY3RlZCBhICcp
JyBvciBhICcsJyBhZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOwotICAgIH0KIAotICAg
IG1hdGNoT3JGYWlsKE9QRU5CUkFDRSwgIkV4cGVjdGVkIGFuIG9wZW5pbmcgJ3snIGF0IHRoZSBz
dGFydCBvZiBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7CisgICAg
ICAgIGlmIChtb2RlID09IEdldHRlck1vZGUpCisgICAgICAgICAgICBjb25zdW1lT3JGYWlsKENM
T1NFUEFSRU4sICJnZXR0ZXIgZnVuY3Rpb25zIG11c3QgaGF2ZSBubyBwYXJhbWV0ZXJzIik7Cisg
ICAgICAgIGVsc2UgaWYgKG1vZGUgPT0gU2V0dGVyTW9kZSkgeworICAgICAgICAgICAgZmFpbElm
VHJ1ZShtYXRjaChDTE9TRVBBUkVOKSwgInNldHRlciBmdW5jdGlvbnMgbXVzdCBoYXZlIG9uZSBw
YXJhbWV0ZXIiKTsKKyAgICAgICAgICAgIGF1dG8gcGFyYW1ldGVyID0gcGFyc2VEZWNvbnN0cnVj
dGlvblBhdHRlcm4oY29udGV4dCwgRGVjb25zdHJ1Y3RUb1BhcmFtZXRlcnMpOworICAgICAgICAg
ICAgZmFpbElmRmFsc2UocGFyYW1ldGVyLCAic2V0dGVyIGZ1bmN0aW9ucyBtdXN0IGhhdmUgb25l
IHBhcmFtZXRlciIpOworICAgICAgICAgICAgaW5mby5wYXJhbWV0ZXJzID0gY29udGV4dC5jcmVh
dGVGb3JtYWxQYXJhbWV0ZXJMaXN0KHBhcmFtZXRlcik7CisgICAgICAgICAgICBmYWlsSWZUcnVl
KG1hdGNoKENPTU1BKSwgInNldHRlciBmdW5jdGlvbnMgbXVzdCBoYXZlIG9uZSBwYXJhbWV0ZXIi
KTsKKyAgICAgICAgICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJFTiwgIkV4cGVjdGVkIGEgJykn
IGFmdGVyIGEgcGFyYW1ldGVyIGRlY2xhcmF0aW9uIik7CisgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICBpZiAoIW1hdGNoKENMT1NFUEFSRU4pKSB7CisgICAgICAgICAgICAgICAgaW5mby5w
YXJhbWV0ZXJzID0gcGFyc2VGb3JtYWxQYXJhbWV0ZXJzKGNvbnRleHQpOworICAgICAgICAgICAg
ICAgIGZhaWxJZkZhbHNlKGluZm8ucGFyYW1ldGVycywgIkNhbm5vdCBwYXJzZSBwYXJhbWV0ZXJz
IGZvciB0aGlzICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7CisgICAgICAgICAgICB9
CisgICAgICAgICAgICBjb25zdW1lT3JGYWlsKENMT1NFUEFSRU4sICJFeHBlY3RlZCBhICcpJyBv
ciBhICcsJyBhZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAgICAgICB9CiAKLSAg
ICAvLyBCeXRlY29kZUdlbmVyYXRvciBlbWl0cyBjb2RlIHRvIHRocm93IFR5cGVFcnJvciB3aGVu
IGEgY2xhc3MgY29uc3RydWN0b3IgaXMgImNhbGwiZWQuCi0gICAgLy8gU2V0IENvbnN0cnVjdG9y
S2luZCB0byBOb25lIGZvciBub24tY29uc3RydWN0b3IgbWV0aG9kcyBvZiBjbGFzc2VzLgotICAg
IGJvb2wgaXNDbGFzc0NvbnN0cnVjdG9yID0gbW9kZSA9PSBNZXRob2RNb2RlICYmIGluZm8ubmFt
ZSAmJiAqaW5mby5uYW1lID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yOwotICAg
IGlmIChtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQgIT0gQ29uc3RydWN0b3JLaW5kOjpOb25lKSB7
Ci0gICAgICAgIG93bmVyQ2xhc3NLaW5kID0gbV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kOwotICAg
ICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSB0cnVlOworICAgICAgICBtYXRjaE9yRmFpbChPUEVO
QlJBQ0UsICJFeHBlY3RlZCBhbiBvcGVuaW5nICd7JyBhdCB0aGUgc3RhcnQgb2YgYSAiLCBzdHJp
bmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOworICAgICAgICAvLyBCeXRlY29kZUdl
bmVyYXRvciBlbWl0cyBjb2RlIHRvIHRocm93IFR5cGVFcnJvciB3aGVuIGEgY2xhc3MgY29uc3Ry
dWN0b3IgaXMgImNhbGwiZWQuCisgICAgICAgIC8vIFNldCBDb25zdHJ1Y3RvcktpbmQgdG8gTm9u
ZSBmb3Igbm9uLWNvbnN0cnVjdG9yIG1ldGhvZHMgb2YgY2xhc3Nlcy4KKyAgICAgICAgaXNDbGFz
c0NvbnN0cnVjdG9yID0gbW9kZSA9PSBNZXRob2RNb2RlICYmIGluZm8ubmFtZSAmJiAqaW5mby5u
YW1lID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yOworICAgICAgICBpZiAobV9k
ZWZhdWx0Q29uc3RydWN0b3JLaW5kICE9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSkgeworICAgICAg
ICAgICAgb3duZXJDbGFzc0tpbmQgPSBtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQ7CisgICAgICAg
ICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSB0cnVlOworICAgICAgICB9CisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKICAgICB9CisgICAgCisgICAgaWYgKHBhcnNlVHlwZSA9
PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIHBhcmFtZXRlcnNTdGFydCA9IG1f
dG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKKyAgICAgICAgaWYgKCFtYXRjaChJREVOVCkg
JiYgIW1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRv
S2V5d29yZChzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSIpOworICAgICAgICAg
ICAgZmFpbFdpdGhNZXNzYWdlKCJFeHBlY3RlZCBhbiBhcnJvdyBmdW5jdGlvbiBpbnB1dCBwYXJh
bWV0ZXIiKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmIChtYXRjaChPUEVOUEFS
RU4pKSB7CisgICAgICAgICAgICAgICAgY29uc3VtZShPUEVOUEFSRU4pOworICAgICAgICAgICAg
ICAgIAorICAgICAgICAgICAgICAgIGlmICghbWF0Y2goQ0xPU0VQQVJFTikpIHsKKyAgICAgICAg
ICAgICAgICAgICAgaW5mby5wYXJhbWV0ZXJzID0gcGFyc2VGb3JtYWxQYXJhbWV0ZXJzKGNvbnRl
eHQpOworICAgICAgICAgICAgICAgICAgICBmYWlsSWZGYWxzZShpbmZvLnBhcmFtZXRlcnMsICJD
YW5ub3QgcGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUo
bW9kZSkpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAg
ICAgICBjb25zdW1lT3JGYWlsKENMT1NFUEFSRU4sICJFeHBlY3RlZCBhICcpJyBvciBhICcsJyBh
ZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgICAgICBhdXRvIHBhcmFtZXRlciA9IHBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJu
KGNvbnRleHQsIERlY29uc3RydWN0VG9QYXJhbWV0ZXJzKTsKKyAgICAgICAgICAgICAgICBmYWls
SWZGYWxzZShwYXJhbWV0ZXIsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVyIHBhdHRlcm4iKTsKKyAg
ICAgICAgICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBjb250ZXh0LmNyZWF0ZUZvcm1hbFBhcmFt
ZXRlckxpc3QocGFyYW1ldGVyKTsKKyAgICAgICAgICAgICAgICBmYWlsSWZGYWxzZShpbmZvLnBh
cmFtZXRlcnMsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAiLCBzdHJpbmdGb3JG
dW5jdGlvbk1vZGUobW9kZSkpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIAor
ICAgICAgICBtYXRjaE9yRmFpbChBUlJPV0ZVTkNUSU9OLCAiRXhwZWN0ZWQgYSAnPT4nIGFmdGVy
IGFycm93IGZ1bmN0aW9uIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAgICAgICBpc0NsYXNz
Q29uc3RydWN0b3IgPSBmYWxzZTsKKyAgICAgICAgCisgICAgICAgIGluZm8uYXJyb3dGdW5jdGlv
bk9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKKyAgICB9CisjZW5kaWYKKyAgICAKICAg
ICBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kID0gaXNDbGFzc0NvbnN0cnVjdG9yID8g
b3duZXJDbGFzc0tpbmQgOiBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmU7CiAKICAgICBpbmZvLm9wZW5C
cmFjZU9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKQEAgLTEzODQsOCArMTUxMSwxNSBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICBmYWlsSWZGYWxzZShwb3BTY29wZShm
dW5jdGlvblNjb3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFibGVJbmZvKSwgIlBhcnNl
ciBlcnJvciIpOwogICAgICAgICAKICAgICAgICAgaW5mby5jbG9zZUJyYWNlT2Zmc2V0ID0gY2Fj
aGVkSW5mby0+Y2xvc2VCcmFjZU9mZnNldDsKLQotICAgICAgICBtX3Rva2VuID0gY2FjaGVkSW5m
by0+Y2xvc2VCcmFjZVRva2VuKCk7CisgICAgICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNl
VHlwZSkKKyAgICAgICAgICAgIGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9IGNhY2hlZEluZm8tPmlz
Qm9keUFycm93RXhwcmVzc2lvbiA/ICBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24gOiBBcnJv
d0Z1bmN0aW9uQm9keUJsb2NrOworICAgICAgICBlbHNlCisgICAgICAgICAgICBpbmZvLmZ1bmN0
aW9uQm9keVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uQm9keUJsb2NrOworI2VuZGlmCisgICAgICAg
IG1fdG9rZW4gPSBjYWNoZWRJbmZvLT5lbmRGdW5jdGlvblRva2VuKCk7CisgICAgICAgIAogICAg
ICAgICBpZiAoZW5kQ29sdW1uSXNPblN0YXJ0TGluZSkKICAgICAgICAgICAgIG1fdG9rZW4ubV9s
b2NhdGlvbi5saW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0OwogCkBAIC0x
Mzk0LDEzICsxNTI4LDQzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAKICAgICAgICAgY29u
dGV4dC5zZXRFbmRPZmZzZXQoaW5mby5ib2R5LCBtX2xleGVyLT5jdXJyZW50T2Zmc2V0KCkpOwog
ICAgICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBp
ZiAocGFyc2VUeXBlICE9IEFycm93RnVuY3Rpb25QYXJzZVR5cGUgfHwgaW5mby5mdW5jdGlvbkJv
ZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spCisgICAgICAgICAgICBuZXh0KCk7Cisj
ZWxzZQogICAgICAgICBuZXh0KCk7CisjZW5kaWYKICAgICAgICAgaW5mby5ib2R5RW5kTGluZSA9
IG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAg
fQorICAgIAogICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IGxhc3RGdW5jdGlvbk5hbWU7CiAgICAg
UGFyc2VyU3RhdGUgb2xkU3RhdGUgPSBzYXZlU3RhdGUoKTsKKyAgICAKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlv
blBhcnNlVHlwZSkgeworICAgICAgICBTYXZlUG9pbnQgc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBv
aW50KCk7CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgLy8gQ2hlY2sgaWYgYXJyb3cgYm9keSBz
dGFydCB3aXRoIHsuIElmIGl0IHRydWUgaXQgbWVhbiB0aGF0IGFycm93IGZ1bmN0aW9uIGlzIEZh
dCBhcnJvdyBmdW5jdGlvbgorICAgICAgICAvLyBhbmQgd2UgbmVlZCB1c2UgY29tbW9uIGFwcHJv
YWNoIHRvIHBhcnNlIGZ1bmN0aW9uIGJvZHkKKyAgICAgICAgaW5mby5mdW5jdGlvbkJvZHlUeXBl
ID0gbWF0Y2goT1BFTkJSQUNFKSA/IEFycm93RnVuY3Rpb25Cb2R5QmxvY2sgOiBBcnJvd0Z1bmN0
aW9uQm9keUV4cHJlc3Npb247CisgICAgCisgICAgICAgIGlmIChpbmZvLmZ1bmN0aW9uQm9keVR5
cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jaykgeworICAgICAgICAgICAgaW5mby5vcGVuQnJh
Y2VPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CisgICAgICAgICAgICBpbmZvLmJvZHlT
dGFydExpbmUgPSB0b2tlbkxpbmUoKTsKKyAgICAgICAgICAgIGluZm8uYm9keVN0YXJ0Q29sdW1u
ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0IC0gbV90b2tlbi5tX2RhdGEubGluZVN0YXJ0T2Zmc2V0
OworICAgICAgICAKKyAgICAgICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNv
bnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVy
c1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
cmVzdG9yZVNhdmVQb2ludChzYXZlUG9pbnQpOworICAgICAgICAgICAgaW5mby5ib2R5ID0gcGFy
c2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFt
ZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCwgQXJyb3dGdW5jdGlvblBh
cnNlVHlwZSk7CisgICAgICAgIH0KKyAgICB9IGVsc2UKKyAgICAgICAgaW5mby5ib2R5ID0gcGFy
c2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFt
ZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCk7CisjZWxzZQogICAgIGlu
Zm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0
LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQpOwor
I2VuZGlmCisgICAgCiAgICAgcmVzdG9yZVN0YXRlKG9sZFN0YXRlKTsKICAgICBmYWlsSWZGYWxz
ZShpbmZvLmJvZHksICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgdGhpcyAiLCBzdHJpbmdGb3JG
dW5jdGlvbk1vZGUobW9kZSkpOwogICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KGluZm8uYm9keSwg
bV9sZXhlci0+Y3VycmVudE9mZnNldCgpKTsKQEAgLTE0MzEsMTggKzE1OTUsMzMgQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0
aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJyYWNlTGluZSA9IGNs
b3NlQnJhY2VMaW5lOwogICAgICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VPZmZzZXQgPSBpbmZv
LmNsb3NlQnJhY2VPZmZzZXQ7CiAgICAgICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmVTdGFy
dE9mZnNldCA9IGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQ7CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJvd0Z1bmN0aW9u
UGFyc2VUeXBlKSB7CisgICAgICAgICAgICBwYXJhbWV0ZXJzLmlzQm9keUFycm93RXhwcmVzc2lv
biA9IGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb247
CisgICAgICAgICAgICBwYXJhbWV0ZXJzLnRva2VuVHlwZSA9IG1fdG9rZW4ubV90eXBlOworICAg
ICAgICB9CisjZW5kaWYKICAgICAgICAgZnVuY3Rpb25TY29wZS0+ZmlsbFBhcmFtZXRlcnNGb3JT
b3VyY2VQcm92aWRlckNhY2hlKHBhcmFtZXRlcnMpOwogICAgICAgICBuZXdJbmZvID0gU291cmNl
UHJvdmlkZXJDYWNoZUl0ZW06OmNyZWF0ZShwYXJhbWV0ZXJzKTsKIAogICAgIH0KICAgICAKICAg
ICBmYWlsSWZGYWxzZShwb3BTY29wZShmdW5jdGlvblNjb3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNG
cmVlVmFyaWFibGVJbmZvKSwgIlBhcnNlciBlcnJvciIpOworICAgIAorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaWYgKChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlv
blBhcnNlVHlwZSAmJiBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlC
bG9jaykgfHwgcGFyc2VUeXBlICE9IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAg
bWF0Y2hPckZhaWwoQ0xPU0VCUkFDRSwgIkV4cGVjdGVkIGEgY2xvc2luZyAnfScgYWZ0ZXIgYSAi
LCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOworICAgICAgICBuZXh0KCk7
CisgICAgfSBlbHNlCisgICAgICAgIGZhaWxJZkZhbHNlKGlzRW5kT2ZBcnJvd0Z1bmN0aW9uKCks
ICJFeHBlY3RlZCB0aGUgY2xvc2luZyAnOycgJywnICddJyAnKScgJ30nIGFmdGVyIGFycm93IGZ1
bmN0aW9uIik7CisjZWxzZQogICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0UsICJFeHBlY3RlZCBh
IGNsb3NpbmcgJ30nIGFmdGVyIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJv
ZHkiKTsKKyAgICBuZXh0KCk7CisjZW5kaWYKICAgICAKICAgICBpZiAobmV3SW5mbykKICAgICAg
ICAgbV9mdW5jdGlvbkNhY2hlLT5hZGQoaW5mby5vcGVuQnJhY2VPZmZzZXQsIFdURjo6bW92ZShu
ZXdJbmZvKSk7CiAgICAgCi0gICAgbmV4dCgpOwogICAgIGluZm8uYm9keUVuZExpbmUgPSBtX2xh
c3RUb2tlbkVuZFBvc2l0aW9uLmxpbmU7CiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC0xNzY3LDYg
KzE5NDYsMTggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUlmU3RhdGVtZW50KFQKICAgICByZXR1cm4gY29udGV4dC5j
cmVhdGVJZlN0YXRlbWVudChpZkxvY2F0aW9uLCBjb25kaXRpb24sIHRydWVCbG9jaywgc3RhdGVt
ZW50U3RhY2subGFzdCgpLCBzdGFydCwgZW5kKTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBm
YWlsSWZTdGFja092ZXJmbG93KCk7CisgICAgVHJlZUV4cHJlc3Npb24gbm9kZSA9IHBhcnNlQXNz
aWdubWVudEV4cHJlc3Npb24oY29udGV4dCk7CisgICAgZmFpbElmRmFsc2Uobm9kZSwgIkNhbm5v
dCBwYXJzZSBleHByZXNzaW9uIik7CisgICAgY29udGV4dC5zZXRFbmRPZmZzZXQobm9kZSwgbV9s
YXN0VG9rZW5FbmRQb3NpdGlvbi5vZmZzZXQpOworICAgIHJldHVybiBub2RlOworfQorI2VuZGlm
CisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cHJlc3Npb24o
VHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7CkBAIC0xODE0LDYgKzIwMDUsNDEgQEAgdGVtcGxhdGUg
PHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VBc3NpZ25tZW4KICAgICAgICAgfQogICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQ
b2ludCk7CiAgICAgfQorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwor
ICAgIGJvb2wgYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCA9IGZhbHNlOworICAgIGlmIChtYXRjaChP
UEVOUEFSRU4pKSB7CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgaWYgKG1hdGNoKENMT1NFUEFS
RU4pKSB7CisgICAgICAgICAgICBuZXh0KCk7CisKKyAgICAgICAgICAgIGlmIChtYXRjaChBUlJP
V0ZVTkNUSU9OKSkKKyAgICAgICAgICAgICAgICBhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0ID0gdHJ1
ZTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICghYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCkKKyAg
ICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAg
fQorCisgICAgVHJlZUV4cHJlc3Npb24gbGhzOworICAgIGlmICghYXJyb3dGdW5jdGlvbkVtcHR5
TGlzdCkgeworICAgICAgICBsaHMgPSBwYXJzZUNvbmRpdGlvbmFsRXhwcmVzc2lvbihjb250ZXh0
KTsKKyAgICAgICAgZmFpbElmRmFsc2UobGhzLCAiQ2FuGW5vdCBwYXJzZSBleHByZXNzaW9uIik7
CisgICAgICAgIGlmIChpbml0aWFsTm9uTEhTQ291bnQgIT0gbV9ub25MSFNDb3VudCkgeworICAg
ICAgICAgICAgaWYgKG1fdG9rZW4ubV90eXBlID49IEVRVUFMICYmIG1fdG9rZW4ubV90eXBlIDw9
IE9SRVFVQUwpCisgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsKCJMZWZ0IGhhbmQgc2lkZSBv
ZiBvcGVyYXRvciAnIiwgZ2V0VG9rZW4oKSwgIicgbXVzdCBiZSBhIHJlZmVyZW5jZSIpOworCisg
ICAgICAgICAgICByZXR1cm4gbGhzOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKG1hdGNo
KEFSUk9XRlVOQ1RJT04pKSB7CisgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVu
Y3Rpb25Qb2ludCk7CisgICAgICAgIGxocyA9IHBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoY29u
dGV4dCk7CisgICAgICAgIHJldHVybiBsaHM7CisgICAgfQorI2Vsc2UKICAgICBUcmVlRXhwcmVz
c2lvbiBsaHMgPSBwYXJzZUNvbmRpdGlvbmFsRXhwcmVzc2lvbihjb250ZXh0KTsKICAgICBmYWls
SWZGYWxzZShsaHMsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lvbiIpOwogICAgIGlmIChpbml0aWFs
Tm9uTEhTQ291bnQgIT0gbV9ub25MSFNDb3VudCkgewpAQCAtMTgyMiw3ICsyMDQ4LDggQEAgdGVt
cGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VBc3NpZ25tZW4KIAogICAgICAgICByZXR1cm4gbGhzOwogICAgIH0KLSAgICAK
KyNlbmRpZgorCiAgICAgaW50IGFzc2lnbm1lbnRTdGFjayA9IDA7CiAgICAgT3BlcmF0b3Igb3A7
CiAgICAgYm9vbCBoYWRBc3NpZ25tZW50ID0gZmFsc2U7CkBAIC0yMjk3LDYgKzI1MjQsMjMgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAgcmV0dXJuIGNvbnRleHQudGhpc0V4cHIo
bG9jYXRpb24sIG1fdGhpc1REWk1vZGUpOwogICAgIH0KICAgICBjYXNlIElERU5UOiB7CisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVB
cnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICAgICAgSlNUZXh0UG9z
aXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICAgICAgY29uc3QgSWRlbnRp
ZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKKyAgICAgICAgSlNUb2tlbkxvY2F0
aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CisgICAgICAgIG5leHQoKTsKKworICAgICAg
ICBpZiAoIW1hdGNoKEFSUk9XRlVOQ1RJT04pKSB7CisgICAgICAgICAgICBjdXJyZW50U2NvcGUo
KS0+dXNlVmFyaWFibGUoaWRlbnQsIG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmlkZW50
KTsKKyAgICAgICAgICAgIG1fbGFzdElkZW50aWZpZXIgPSBpZGVudDsKKyAgICAgICAgICAgIHJl
dHVybiBjb250ZXh0LmNyZWF0ZVJlc29sdmUobG9jYXRpb24sIGlkZW50LCBzdGFydCk7CisgICAg
ICAgIH0KKworICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQp
OworICAgICAgICBUcmVlRXhwcmVzc2lvbiBsaHMgPSBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVy
KGNvbnRleHQpOworICAgICAgICByZXR1cm4gbGhzOworI2Vsc2UKICAgICAgICAgSlNUZXh0UG9z
aXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKICAgICAgICAgY29uc3QgSWRlbnRp
ZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgSlNUb2tlbkxvY2F0
aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CkBAIC0yMzA0LDYgKzI1NDgsNyBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZVByaW1hcnlFeHByZQogICAgICAgICBjdXJyZW50U2NvcGUoKS0+dXNlVmFyaWFibGUo
aWRlbnQsIG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmlkZW50KTsKICAgICAgICAgbV9s
YXN0SWRlbnRpZmllciA9IGlkZW50OwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVSZXNv
bHZlKGxvY2F0aW9uLCBpZGVudCwgc3RhcnQpOworI2VuZGlmCiAgICAgfQogICAgIGNhc2UgU1RS
SU5HOiB7CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEu
aWRlbnQ7CkBAIC0yNDkxLDYgKzI3MzYsMzIgQEAgZW5kTWVtYmVyRXhwcmVzc2lvbjoKICAgICBy
ZXR1cm4gYmFzZTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0
ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uV3Jh
cHBlcihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBUcmVlRXhwcmVzc2lvbiBiYXNlID0g
MDsKKyAgICBKU1RleHRQb3NpdGlvbiBleHByZXNzaW9uU3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRp
b24oKTsKKyAgICBpbnQgbmV3Q291bnQgPSAwOworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlv
bjsKKworICAgIGlmIChtYXRjaChJREVOVCkgfHwgbWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAg
ICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2VuU3RhcnQoKTsKKyAgICAgICAg
bG9jYXRpb24gPSB0b2tlbkxvY2F0aW9uKCk7CisgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxU
cmVlQnVpbGRlcj4gaW5mbzsKKyAgICAgICAgaW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5TmFt
ZXMtPm51bGxJZGVudGlmaWVyOworICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbklu
Zm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgRnVuY3Rpb25Nb2RlLCB0cnVlLCBD
b25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvLCBBcnJvd0Z1
bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2UgYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lv
biIpOworICAgICAgICBiYXNlID0gY29udGV4dC5jcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihsb2Nh
dGlvbiwgaW5mbyk7CisgICAgfSBlbHNlCisgICAgICAgIGJhc2UgPSBwYXJzZVByaW1hcnlFeHBy
ZXNzaW9uKGNvbnRleHQpOworCisgICAgZmFpbElmRmFsc2UoYmFzZSwgIkNhbm5vdCBwYXJzZSBi
YXNlIGV4cHJlc3Npb24iKTsKKyAgICB3aGlsZSAobmV3Q291bnQtLSkKKyAgICAgICAgYmFzZSA9
IGNvbnRleHQuY3JlYXRlTmV3RXhwcihsb2NhdGlvbiwgYmFzZSwgZXhwcmVzc2lvblN0YXJ0LCBs
YXN0VG9rZW5FbmRQb3NpdGlvbigpKTsKKyAgICByZXR1cm4gYmFzZTsKK30KKyNlbmRpZgorCiBz
dGF0aWMgY29uc3QgY2hhciogb3BlcmF0b3JTdHJpbmcoYm9vbCBwcmVmaXgsIHVuc2lnbmVkIHRv
aykKIHsKICAgICBzd2l0Y2ggKHRvaykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9QYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2Vy
LmgKaW5kZXggMGYyNzI4Zjg2MjFmODAxMGM0MTBiZjc5ODc2MTliZjIzZTUwYWY4Yi4uMzRjZGE5
NzJjYzNiOGUwOWQ2MjNmMzlkOWY1YWZjMmUwMWEzN2Y4NiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1BhcnNlci5oCkBAIC04MCw2ICs4MCw5IEBAIGNsYXNzIFNvdXJjZUNvZGU7CiBDT01Q
SUxFX0FTU0VSVChMYXN0VW50YWdnZWRUb2tlbiA8IDY0LCBMZXNzVGhhbjY0VW50YWdnZWRUb2tl
bnMpOwogCiBlbnVtIFNvdXJjZUVsZW1lbnRzTW9kZSB7IENoZWNrRm9yU3RyaWN0TW9kZSwgRG9u
dENoZWNrRm9yU3RyaWN0TW9kZSB9OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCitlbnVtIEZ1bmN0aW9uUGFyc2VUeXBlIHsgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSwg
QXJyb3dGdW5jdGlvblBhcnNlVHlwZSB9OworI2VuZGlmCiBlbnVtIEZ1bmN0aW9uUmVxdWlyZW1l
bnRzIHsgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgRnVuY3Rpb25OZWVkc05hbWUgfTsKIGVudW0g
RnVuY3Rpb25QYXJzZU1vZGUgewogICAgIEZ1bmN0aW9uTW9kZSwKQEAgLTYxOCw2ICs2MjEsMTMg
QEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIG1fdG9rZW4ubV90eXBlID09IElERU5UICYmICpt
X3Rva2VuLm1fZGF0YS5pZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5vZjsKICAgICB9CiAg
ICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBBTFdBWVNfSU5M
SU5FIGJvb2wgaXNFbmRPZkFycm93RnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIG1h
dGNoKFNFTUlDT0xPTikgfHwgbWF0Y2goQ09NTUEpIHx8IG1hdGNoKENMT1NFUEFSRU4pIHx8IG1h
dGNoKENMT1NFQlJBQ0UpIHx8IG1hdGNoKENMT1NFQlJBQ0tFVCk7CisgICAgfQorI2VuZGlmCisg
ICAgCiAgICAgQUxXQVlTX0lOTElORSB1bnNpZ25lZCB0b2tlblN0YXJ0KCkKICAgICB7CiAgICAg
ICAgIHJldHVybiBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CkBAIC03MjEsOSArNzMx
LDE0IEBAIHByaXZhdGU6CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9
Ci0gICAgCisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNlU291cmNlRWxl
bWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUsIEZ1bmN0aW9uUGFyc2VUeXBl
IGZ1bmN0aW9uUGFyc2VUeXBlID0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CisgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3RhdGVtZW50KFRy
ZWVCdWlsZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVj
dGl2ZUxpdGVyYWxMZW5ndGggPSAwLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlw
ZSA9IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOworI2Vsc2UKICAgICB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJzZVNvdXJjZUVsZW1lbnRzKFRy
ZWVCdWlsZGVyJiwgU291cmNlRWxlbWVudHNNb2RlKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImLCBjb25z
dCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0
aCA9IDApOworI2VuZGlmCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQ2xhc3NEZWNsYXJhdGlv
bihUcmVlQnVpbGRlciYpOwogI2VuZGlmCkBAIC03NjIsMTcgKzc3NywzMiBAQCBwcml2YXRlOgog
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IHBhcnNlUHJvcGVy
dHkoVHJlZUJ1aWxkZXImLCBib29sIHN0cmljdCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZVByb3BlcnR5TWV0aG9kKFRyZWVCdWlsZGVyJiBj
b250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiBtZXRob2ROYW1lKTsKICAgICB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBwYXJzZUdldHRlclNldHRlcihUcmVlQnVpbGRl
ciYsIGJvb2wgc3RyaWN0LCBQcm9wZXJ0eU5vZGU6OlR5cGUsIHVuc2lnbmVkIGdldHRlck9yU2V0
dGVyU3RhcnRPZmZzZXQsIENvbnN0cnVjdG9yS2luZCA9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSwg
U3VwZXJCaW5kaW5nID0gU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQpOwotICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRnVuY3Rpb25Cb2R5IHBhcnNlRnVu
Y3Rpb25Cb2R5KFRyZWVCdWlsZGVyJiwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVu
Y3Rpb25OYW1lU3RhcnQsIGludCBwYXJhbWV0ZXJzU3RhcnQsIENvbnN0cnVjdG9yS2luZCk7Cisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZ1bmN0aW9uQm9keSBwYXJzZUZ1bmN0aW9u
Qm9keShUcmVlQnVpbGRlciYsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW50IGZ1bmN0aW9u
TmFtZVN0YXJ0LCBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQsIEZ1bmN0aW9u
UGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBlID0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7
CisjZWxzZQorICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJ
TkUgVHJlZUZ1bmN0aW9uQm9keSBwYXJzZUZ1bmN0aW9uQm9keShUcmVlQnVpbGRlciYsIGludCBm
dW5jdGlvbktleXdvcmRTdGFydCwgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCBpbnQgcGFyYW1ldGVy
c1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQpOworI2VuZGlmCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0IHBhcnNlRm9y
bWFsUGFyYW1ldGVycyhUcmVlQnVpbGRlciYpOwogICAgIGVudW0gVmFyRGVjbGFyYXRpb25MaXN0
Q29udGV4dCB7IEZvckxvb3BDb250ZXh0LCBWYXJEZWNsYXJhdGlvbkNvbnRleHQgfTsKICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlVmFyRGVjbGFy
YXRpb25MaXN0KFRyZWVCdWlsZGVyJiwgaW50JiBkZWNsYXJhdGlvbnMsIFRyZWVEZWNvbnN0cnVj
dGlvblBhdHRlcm4mIGxhc3RQYXR0ZXJuLCBUcmVlRXhwcmVzc2lvbiYgbGFzdEluaXRpYWxpemVy
LCBKU1RleHRQb3NpdGlvbiYgaWRlbnRTdGFydCwgSlNUZXh0UG9zaXRpb24mIGluaXRTdGFydCwg
SlNUZXh0UG9zaXRpb24mIGluaXRFbmQsIFZhckRlY2xhcmF0aW9uTGlzdENvbnRleHQpOwogICAg
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVDb25zdERlY2xM
aXN0IHBhcnNlQ29uc3REZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImKTsKIAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWls
ZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBh
cnNlQXJyb3dGdW5jdGlvblN0YXRlbWVudChUcmVlQnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBl
cihUcmVlQnVpbGRlciYpOworI2VuZGlmCisKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIGNyZWF0ZUJpbmRpbmdQ
YXR0ZXJuKFRyZWVCdWlsZGVyJiwgRGVjb25zdHJ1Y3Rpb25LaW5kLCBjb25zdCBJZGVudGlmaWVy
JiwgaW50IGRlcHRoLCBKU1Rva2VuKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIHBhcnNlRGVjb25zdHJ1Y3Rp
b25QYXR0ZXJuKFRyZWVCdWlsZGVyJiwgRGVjb25zdHJ1Y3Rpb25LaW5kLCBpbnQgZGVwdGggPSAw
KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVj
b25zdHJ1Y3Rpb25QYXR0ZXJuIHRyeVBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuRXhwcmVzc2lv
bihUcmVlQnVpbGRlciYpOwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBib29sIHBhcnNl
RnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIEZ1bmN0aW9u
UGFyc2VNb2RlLCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQs
IGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVy
PiYsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBlID0gU3RhbmRhcmRGdW5jdGlv
blBhcnNlVHlwZSk7CisjZWxzZQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVW
RVJfSU5MSU5FIGJvb2wgcGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImLCBGdW5jdGlvblJl
cXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUsIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2Nv
cGUsIENvbnN0cnVjdG9yS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5j
dGlvbkluZm88VHJlZUJ1aWxkZXI+Jik7CisjZW5kaWYKKyAgICAKICNpZiBFTkFCTEUoRVM2X0NM
QVNTX1NZTlRBWCkKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElO
RSBUcmVlQ2xhc3NFeHByZXNzaW9uIHBhcnNlQ2xhc3MoVHJlZUJ1aWxkZXImLCBGdW5jdGlvblJl
cXVpcmVtZW50cywgUGFyc2VyQ2xhc3NJbmZvPFRyZWVCdWlsZGVyPiYpOwogI2VuZGlmCkBAIC03
ODksNiArODE5LDE0IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBhbGxvd0F1dG9tYXRpY1Nl
bWljb2xvbigpOwogICAgIH0KICAgICAKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgdm9pZCBzZXRFbmRPZlN0YXRlbWVudCgpCisgICAgeworICAgICAgICBtX2xl
eGVyLT5zZXRUb2tlblBvc2l0aW9uKCZtX3Rva2VuKTsKKyAgICB9CisjZW5kaWYKKwogICAgIGJv
b2wgY2FuUmVjdXJzZSgpCiAgICAgewogICAgICAgICByZXR1cm4gbV92bS0+aXNTYWZlVG9SZWN1
cnNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1
bmN0aW9uSW5mby5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlv
bkluZm8uaAppbmRleCA2YjczNjI4MmUyZDJhODFiYzYzZGMyZjNjMGU1YWU4Yzg1OGNkMWY4Li4w
Y2RlMGM2N2E5ZGUwZWRmMzQxNDRlMzI3OTFlNWU5MGI0YTIxNTE0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKQEAgLTI4LDYgKzI4
LDEwIEBACiAKIG5hbWVzcGFjZSBKU0MgewogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKK2VudW0gRnVuY3Rpb25Cb2R5VHlwZSB7IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVz
c2lvbiwgQXJyb3dGdW5jdGlvbkJvZHlCbG9jaywgU3RhbmRhcmRGdW5jdGlvbkJvZHlCbG9jayB9
OworI2VuZGlmCisKIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4KIHN0cnVjdCBQYXJzZXJG
dW5jdGlvbkluZm8gewogICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUgPSAwOwpAQCAtMzgsNiAr
NDIsMTEgQEAgc3RydWN0IFBhcnNlckZ1bmN0aW9uSW5mbyB7CiAgICAgaW50IGJvZHlTdGFydExp
bmUgPSAwOwogICAgIGludCBib2R5RW5kTGluZSA9IDA7CiAgICAgdW5zaWduZWQgYm9keVN0YXJ0
Q29sdW1uID0gMDsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHVu
c2lnbmVkIGFycm93RnVuY3Rpb25PZmZzZXQgPSAwOworICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9u
ID0gZmFsc2U7CisgICAgRnVuY3Rpb25Cb2R5VHlwZSBmdW5jdGlvbkJvZHlUeXBlID0gU3RhbmRh
cmRGdW5jdGlvbkJvZHlCbG9jazsKKyNlbmRpZgogfTsKIAogI2lmIEVOQUJMRShFUzZfQ0xBU1Nf
U1lOVEFYKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJU
b2tlbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKaW5k
ZXggODMyOWY4MmE5YjJmZjkxNWQxZjI0MWMxZjhiZmZhZDQyNDdhNWYwYi4uYzhiMTY2ZTBlYWQ3
ZDJkYTcxOWU3NmM0YTJmMDlhZmYxZDc0ZDdhYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1BhcnNlclRva2Vucy5oCkBAIC03NSw2ICs3NSw5IEBAIGVudW0gSlNUb2tlblR5cGUg
ewogICAgIEZJTkFMTFksCiAgICAgREVCVUdHRVIsCiAgICAgRUxTRSwKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEFSUk9XRlVOQ1RJT04sCisjZW5kaWYKICNpZiBF
TkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICBDTEFTU1RPS0VOLAogICAgIEVYVEVORFMsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCmluZGV4IDczZDIzZGI4MmFm
MjVlYTQ2YzBmODk3ODVjZTQyNGJiNjBlYjYxYTcuLjkyOGU3MTJhOTBlMzQ4OTg4YmMzNTU0ODk4
NzViMDkwNzc2NzU1MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
U291cmNlQ29kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29k
ZS5oCkBAIC0xMDUsNiArMTA1LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIAogICAgICAg
ICBTb3VyY2VDb2RlIHN1YkV4cHJlc3Npb24odW5zaWduZWQgb3BlbkJyYWNlLCB1bnNpZ25lZCBj
bG9zZUJyYWNlLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOwogCisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgU291cmNlQ29kZSBzdWJBcnJvd0V4
cHJlc3Npb24odW5zaWduZWQgc3RhcnRBcnJvd0Z1bmN0aW9uLCB1bnNpZ25lZCBlbmRBcnJvd0Z1
bmN0aW9uLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOworI2VuZGlmCiAgICAgcHJp
dmF0ZToKICAgICAgICAgUmVmUHRyPFNvdXJjZVByb3ZpZGVyPiBtX3Byb3ZpZGVyOwogICAgICAg
ICBpbnQgbV9zdGFydENoYXI7CkBAIC0xMTgsNiArMTIxLDE3IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICByZXR1cm4gU291cmNlQ29kZShTdHJpbmdTb3VyY2VQcm92aWRlcjo6Y3JlYXRlKHNv
dXJjZSwgdXJsLCBzdGFydFBvc2l0aW9uKSwgc3RhcnRQb3NpdGlvbi5tX2xpbmUub25lQmFzZWRJ
bnQoKSwgc3RhcnRQb3NpdGlvbi5tX2NvbHVtbi5vbmVCYXNlZEludCgpKTsKICAgICB9CiAKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlubGluZSBTb3VyY2VDb2Rl
IFNvdXJjZUNvZGU6OnN1YkFycm93RXhwcmVzc2lvbih1bnNpZ25lZCBzdGFydEFycm93RnVuY3Rp
b24sIHVuc2lnbmVkIGVuZEFycm93RnVuY3Rpb24sIGludCBmaXJzdExpbmUsIGludCBzdGFydENv
bHVtbikKKyAgICB7CisgICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFy
cm93RnVuY3Rpb25dID09ICc9JyAmJiBwcm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFycm93RnVu
Y3Rpb24gKyAxXSA9PSAnPicpOworICAgICAgICAvLyBGaXhtZTogVXNlIGJldHRlciBhcHByb2Fj
aCB0byBjaGVjayBzeW1ib2wKKyAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW2Vu
ZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnLCcgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJy
b3dGdW5jdGlvbiAtIDFdID09ICc7JyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1
bmN0aW9uIC0gMV0gPT0gJyknIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rp
b24gLSAxXSA9PSAnXScgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAt
IDFdID09ICd9Jyk7CisgICAgICAgIHN0YXJ0Q29sdW1uICs9IDE7IC8vIENvbnZlcnQgdG8gYmFz
ZSAxLgorICAgICAgICByZXR1cm4gU291cmNlQ29kZShwcm92aWRlcigpLCBzdGFydEFycm93RnVu
Y3Rpb24sIGVuZEFycm93RnVuY3Rpb24gLSAxLCBmaXJzdExpbmUsIHN0YXJ0Q29sdW1uKTsKKyAg
ICB9CisjZW5kaWYKKwogICAgIGlubGluZSBTb3VyY2VDb2RlIFNvdXJjZUNvZGU6OnN1YkV4cHJl
c3Npb24odW5zaWduZWQgb3BlbkJyYWNlLCB1bnNpZ25lZCBjbG9zZUJyYWNlLCBpbnQgZmlyc3RM
aW5lLCBpbnQgc3RhcnRDb2x1bW4pCiAgICAgewogICAgICAgICBBU1NFUlQocHJvdmlkZXIoKS0+
c291cmNlKClbb3BlbkJyYWNlXSA9PSAneycpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCmluZGV4IDYzNTM3OWUzZjQ0
NTY2OGM1MmI4NzJmNzYxNmRjYjU5MjFhODI5NDQuLmY0MjhkYjUwYThkYTdhN2FiNDY4MjRhYjM4
MDgzZGIwNTJkNzM3NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKQEAgLTQwLDYgKzQwLDEwIEBAIHN0cnVjdCBT
b3VyY2VQcm92aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgYm9vbCBuZWVk
c0Z1bGxBY3RpdmF0aW9uOwogICAgIGJvb2wgdXNlc0V2YWw7CiAgICAgYm9vbCBzdHJpY3RNb2Rl
OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgYm9vbCBpc0JvZHlB
cnJvd0V4cHJlc3Npb247CisgICAgSlNUb2tlblR5cGUgdG9rZW5UeXBlOworI2VuZGlmCiAgICAg
VmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4gdXNlZFZhcmlhYmxlczsKICAgICBWZWN0b3I8UmVm
UHRyPFN0cmluZ0ltcGw+PiB3cml0dGVuVmFyaWFibGVzOwogfTsKQEAgLTU1LDEwICs1OSwxNCBA
QCBwdWJsaWM6CiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxTb3VyY2VQcm92aWRlckNhY2hl
SXRlbT4gY3JlYXRlKGNvbnN0IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJhbWV0
ZXJzJik7CiAgICAgflNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKCk7CiAKLSAgICBKU1Rva2VuIGNs
b3NlQnJhY2VUb2tlbigpIGNvbnN0IAorICAgIEpTVG9rZW4gZW5kRnVuY3Rpb25Ub2tlbigpIGNv
bnN0IAogICAgIHsKICAgICAgICAgSlNUb2tlbiB0b2tlbjsKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB0b2tlbi5tX3R5cGUgPSBpc0JvZHlBcnJvd0V4cHJl
c3Npb24gPyB0b2tlblR5cGUgOiBDTE9TRUJSQUNFOworI2Vsc2UKICAgICAgICAgdG9rZW4ubV90
eXBlID0gQ0xPU0VCUkFDRTsKKyNlbmRpZgogICAgICAgICB0b2tlbi5tX2RhdGEub2Zmc2V0ID0g
Y2xvc2VCcmFjZU9mZnNldDsKICAgICAgICAgdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldCA9
IGNsb3NlQnJhY2VPZmZzZXQ7CiAgICAgICAgIHRva2VuLm1fbG9jYXRpb24uZW5kT2Zmc2V0ID0g
Y2xvc2VCcmFjZU9mZnNldCArIDE7CkBAIC04Miw2ICs5MCwxMSBAQCBwdWJsaWM6CiAgICAgdW5z
aWduZWQgdXNlZFZhcmlhYmxlc0NvdW50OwogICAgIHVuc2lnbmVkIHdyaXR0ZW5WYXJpYWJsZXND
b3VudDsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgYm9vbCBp
c0JvZHlBcnJvd0V4cHJlc3Npb247CisgICAgSlNUb2tlblR5cGUgdG9rZW5UeXBlOworI2VuZGlm
CisKICAgICBTdHJpbmdJbXBsKiogdXNlZFZhcmlhYmxlcygpIGNvbnN0IHsgcmV0dXJuIGNvbnN0
X2Nhc3Q8U3RyaW5nSW1wbCoqPihtX3ZhcmlhYmxlcyk7IH0KICAgICBTdHJpbmdJbXBsKiogd3Jp
dHRlblZhcmlhYmxlcygpIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8U3RyaW5nSW1wbCoqPigm
bV92YXJpYWJsZXNbdXNlZFZhcmlhYmxlc0NvdW50XSk7IH0KIApAQCAtMTE1LDYgKzEyOCwxMCBA
QCBpbmxpbmUgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW06OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVt
KGNvbnN0IFNvdXJjZVByb3ZpZGVyQ2FjaAogICAgICwgY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNl
dChwYXJhbWV0ZXJzLmNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQpCiAgICAgLCB1c2VkVmFyaWFi
bGVzQ291bnQocGFyYW1ldGVycy51c2VkVmFyaWFibGVzLnNpemUoKSkKICAgICAsIHdyaXR0ZW5W
YXJpYWJsZXNDb3VudChwYXJhbWV0ZXJzLndyaXR0ZW5WYXJpYWJsZXMuc2l6ZSgpKQorI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgLCBpc0JvZHlBcnJvd0V4cHJlc3Np
b24ocGFyYW1ldGVycy5pc0JvZHlBcnJvd0V4cHJlc3Npb24pCisgICAgLCB0b2tlblR5cGUocGFy
YW1ldGVycy50b2tlblR5cGUpCisjZW5kaWYKIHsKICAgICB1bnNpZ25lZCBqID0gMDsKICAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdXNlZFZhcmlhYmxlc0NvdW50OyArK2ksICsraikgewpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaAppbmRleCA4ZTRm
NjFiOTQ5ODkwYjliZjU0MDI5ZTk2NjYxZWVmNTNhMTdiNTg0Li41ZjhlMjExZWU0YjUzYjM5NGVi
NWFlMjE5MGI4M2M4YzRmODQ0Y2ZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1N5bnRheENoZWNrZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1N5bnRheENoZWNrZXIuaApAQCAtMTcwLDYgKzE3MCwxMCBAQCBwdWJsaWM6CiAjZW5kaWYKICAg
ICBFeHByZXNzaW9uVHlwZSBjcmVhdGVGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9u
JiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JikgeyByZXR1cm4gRnVu
Y3Rpb25FeHByOyB9CiAgICAgaW50IGNyZWF0ZUZ1bmN0aW9uQm9keShjb25zdCBKU1Rva2VuTG9j
YXRpb24mLCBjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBpbnQsIGludCwgYm9vbCwgaW50LCBpbnQs
IGludCwgQ29uc3RydWN0b3JLaW5kKSB7IHJldHVybiBGdW5jdGlvbkJvZHlSZXN1bHQ7IH0KKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEV4cHJlc3Npb25UeXBlIGNy
ZWF0ZUFycm93RnVuY3Rpb25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNl
ckZ1bmN0aW9uSW5mbzxTeW50YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQor
I2VuZGlmIAorICAgIHZvaWQgc2V0RnVuY3Rpb25OYW1lU3RhcnQoaW50LCBpbnQpIHsgfQogICAg
IGludCBjcmVhdGVBcmd1bWVudHMoKSB7IHJldHVybiBBcmd1bWVudHNSZXN1bHQ7IH0KICAgICBp
bnQgY3JlYXRlQXJndW1lbnRzKGludCkgeyByZXR1cm4gQXJndW1lbnRzUmVzdWx0OyB9CiAgICAg
RXhwcmVzc2lvblR5cGUgY3JlYXRlU3ByZWFkRXhwcmVzc2lvbihjb25zdCBKU1Rva2VuTG9jYXRp
b24mLCBFeHByZXNzaW9uVHlwZSwgaW50LCBpbnQsIGludCkgeyByZXR1cm4gU3ByZWFkRXhwcjsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0
aW9uLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNmZjM2VhMTgwMDY4OTY0M2FhZGQ2YzZhNDk3ZWQwYWU2YzIxMTEyMAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dG
dW5jdGlvbi5jcHAKQEAgLTAsMCArMSw3NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorCisjaW5j
bHVkZSAiRXJyb3IuaCIKKyNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCisjaW5jbHVkZSAi
SlNDSW5saW5lcy5oIgorI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKKyNpbmNsdWRlICJKU0Z1bmN0
aW9uLmgiCisjaW5jbHVkZSAiSlNGdW5jdGlvbklubGluZXMuaCIKKyNpbmNsdWRlICJKU09iamVj
dC5oIgorI2luY2x1ZGUgIlByb3BlcnR5U2xvdC5oIgorI2luY2x1ZGUgIlZNLmgiCisKK25hbWVz
cGFjZSBKU0MgeworICAgIAorY29uc3QgQ2xhc3NJbmZvIEpTQXJyb3dGdW5jdGlvbjo6c19pbmZv
ID0geyAiQXJyb3dGdW5jdGlvbiIsICZCYXNlOjpzX2luZm8sIDAsIENSRUFURV9NRVRIT0RfVEFC
TEUoSlNBcnJvd0Z1bmN0aW9uKSB9OworCit2b2lkIEpTQXJyb3dGdW5jdGlvbjo6ZGVzdHJveShK
U0NlbGwqIGNlbGwpCit7CisgICAgc3RhdGljX2Nhc3Q8SlNBcnJvd0Z1bmN0aW9uKj4oY2VsbCkt
PkpTQXJyb3dGdW5jdGlvbjo6fkpTQXJyb3dGdW5jdGlvbigpOworfQorCitKU0Fycm93RnVuY3Rp
b246OkpTQXJyb3dGdW5jdGlvbihWTSYgdm0sIEpTU2NvcGUqIHNjb3BlLCBGdW5jdGlvbkV4ZWN1
dGFibGUqIGV4ZWN1dGFibGUsIFN0cnVjdHVyZSogc3RydWN0dXJlKQorICAgIDogQmFzZSh2bSwg
ZXhlY3V0YWJsZSwgc2NvcGUsIHN0cnVjdHVyZSkKK3sKK30KKyAgICAKK3ZvaWQgSlNBcnJvd0Z1
bmN0aW9uOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRp
b24odm0pOworLy8gUHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9uIGlzIHVuZGVmaW5lZAorICAg
IHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBqc1VuZGVmaW5lZCgp
LCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51bSk7Cit9CisgICAgCit2b2lkIEpTQXJy
b3dGdW5jdGlvbjo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNp
dG9yKQoreworICAgIEpTQXJyb3dGdW5jdGlvbiogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0Fycm93
RnVuY3Rpb24qPihjZWxsKTsKKyAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKHRoaXNPYmpl
Y3QsIGluZm8oKSk7CisgICAgQmFzZTo6dmlzaXRDaGlsZHJlbih0aGlzT2JqZWN0LCB2aXNpdG9y
KTsKK30KKyAgICAKK0NvbnN0cnVjdFR5cGUgSlNBcnJvd0Z1bmN0aW9uOjpnZXRDb25zdHJ1Y3RE
YXRhKEpTQ2VsbCogY2VsbCwgQ29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0YSkKK3sKKyAgICBK
U0Z1bmN0aW9uKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTRnVuY3Rpb24qPihjZWxsKTsKKyAgICAg
ICAgCisgICAgY29uc3RydWN0RGF0YS5qcy5mdW5jdGlvbkV4ZWN1dGFibGUgPSB0aGlzT2JqZWN0
LT5qc0V4ZWN1dGFibGUoKTsKKyAgICBjb25zdHJ1Y3REYXRhLmpzLnNjb3BlID0gdGhpc09iamVj
dC0+c2NvcGUoKTsKKyAgICByZXR1cm4gQ29uc3RydWN0VHlwZU5vbmU7Cit9Cit9IC8vIG5hbWVz
cGFjZSBKU0MKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNBcnJvd0Z1bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fy
cm93RnVuY3Rpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ODAxNWQzODcyMWNjYTQ0YWUyZjY1Y2I2ZDc3YjZh
NjUyMjA5NjVkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNBcnJvd0Z1bmN0aW9uLmgKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSlNBcnJvd0Z1bmN0aW9uX2gKKyNk
ZWZpbmUgSlNBcnJvd0Z1bmN0aW9uX2gKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNHbG9iYWxPYmpl
Y3QuaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK2NsYXNzIEpTQXJyb3dGdW5jdGlvbiA6IHB1Ymxp
YyBKU0Z1bmN0aW9uIHsKK3B1YmxpYzoKKyAgICB0eXBlZGVmIEpTRnVuY3Rpb24gQmFzZTsKKyAg
ICAgICAgCisgICAgc3RhdGljIEpTQXJyb3dGdW5jdGlvbiogY3JlYXRlKFZNJiB2bSwgSlNTY29w
ZSogc2NvcGUsIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCkKKyAgICB7CisgICAgICAgIEpTQXJyb3dGdW5jdGlvbiogZnVuY3Rpb24g
PSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxKU0Fycm93RnVuY3Rpb24+KHZtLmhlYXApKSBK
U0Fycm93RnVuY3Rpb24odm0sIHNjb3BlLCBleGVjdXRhYmxlLCBnbG9iYWxPYmplY3QtPmFycm93
RnVuY3Rpb25TdHJ1Y3R1cmUoKSk7CisgICAgICAgIEFTU0VSVChmdW5jdGlvbi0+c3RydWN0dXJl
KCktPmdsb2JhbE9iamVjdCgpKTsKKyAgICAgICAgZnVuY3Rpb24tPmZpbmlzaENyZWF0aW9uKHZt
KTsKKyAgICAgICAgcmV0dXJuIGZ1bmN0aW9uOworICAgIH0KKyAgICAKKyAgICBzdGF0aWMgdm9p
ZCBkZXN0cm95KEpTQ2VsbCopOworICAgICAgICAKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVh
dGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVl
IHByb3RvdHlwZSkKKyAgICB7CisgICAgICAgIEFTU0VSVChnbG9iYWxPYmplY3QpOworICAgICAg
ICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBU
eXBlSW5mbyhKU0Z1bmN0aW9uVHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOworICAgIH0K
KyAgICAgICAgCisgICAgc3RhdGljIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShKU0Nl
bGwqLCBDb25zdHJ1Y3REYXRhJik7CisgICAgICAgIAorICAgIERFQ0xBUkVfSU5GTzsKKworcHJv
dGVjdGVkOgorICAgIGNvbnN0IHN0YXRpYyB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJy
aWRlc0hhc0luc3RhbmNlIHwgQmFzZTo6U3RydWN0dXJlRmxhZ3M7CisgICAgICAgIAorICAgIHN0
YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKKyAgICAgICAg
Citwcml2YXRlOgorICAgIEpTQXJyb3dGdW5jdGlvbihWTSYsIEpTU2NvcGUqLCBGdW5jdGlvbkV4
ZWN1dGFibGUqLCBTdHJ1Y3R1cmUqKTsKKworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsK
K307CisgICAgCit9IC8vIG5hbWVzcGFjZSBKU0MKKyNlbmRpZiAvLyBFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgKKworI2VuZGlmIC8vIEpTQXJyb3dGdW5jdGlvbl9oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKaW5kZXggOWFiOWRjMjc3N2JhYmY4OTYzODFkY2Y0
MDJjMDEzMDkwZjk1ZTMwYy4uM2EwYWUwMTEzNWJjYjk2NDBiMDUwMmEzMTY1MWFmOGZjYWEyYzRh
ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaApAQCAtMTMy
LDYgKzEzMiw5IEBAIHByb3RlY3RlZDoKIAogICAgIEpTX0VYUE9SVF9QUklWQVRFIEpTRnVuY3Rp
b24oVk0mLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSopOwogICAgIEpTRnVuY3Rpb24oVk0m
LCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBKU1Njb3BlKik7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICBKU0Z1bmN0aW9uKFZNJiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwg
SlNTY29wZSosIFN0cnVjdHVyZSopOworI2VuZGlmCiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KFZNJiwgTmF0aXZlRXhlY3V0YWJsZSosIGludCBsZW5ndGgsIGNvbnN0IFN0cmluZyYgbmFtZSk7
CiAgICAgdXNpbmcgQmFzZTo6ZmluaXNoQ3JlYXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaAppbmRleCAzN2IyODFhYTVkMGMxYjg2
MTY0NTE5ZmQ3YzU2NmUzN2YwZjEzNDAxLi43YjM0OTBiZWI5NGEzNTkzZWUxN2JjM2IxNmIzMmM3
ZGZhZjk1NzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1
bmN0aW9uSW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVu
Y3Rpb25JbmxpbmVzLmgKQEAgLTM4LDYgKzM4LDE1IEBAIGlubGluZSBKU0Z1bmN0aW9uOjpKU0Z1
bmN0aW9uKFZNJiB2bSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBKU1Njb3BlKiBz
CiB7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQoraW5saW5lIEpT
RnVuY3Rpb246OkpTRnVuY3Rpb24oVk0mIHZtLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFi
bGUsIEpTU2NvcGUqIHNjb3BlLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICA6IEJhc2Uodm0s
IHNjb3BlLCBzdHJ1Y3R1cmUpCisgICAgLCBtX2V4ZWN1dGFibGUodm0sIHRoaXMsIGV4ZWN1dGFi
bGUpCisgICAgLCBtX2FsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludChDbGVhcldhdGNocG9pbnQp
Cit7Cit9CisjZW5kaWYKKyAgICAKIGlubGluZSBGdW5jdGlvbkV4ZWN1dGFibGUqIEpTRnVuY3Rp
b246OmpzRXhlY3V0YWJsZSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKCFpc0hvc3RGdW5jdGlvbk5v
bklubGluZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
T2JqZWN0LmNwcAppbmRleCBkMzk2MThhYjdlYWY1NTk3NGRhYWMyM2I4MTMzM2ViMDA1MWViZTcz
Li5hOTkwNmMzMGFkNzM5MzVlMjZjOTNiY2QxMDBjMzE0ZDAxZGU5ZmQzIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCkBAIC02MSw2ICs2
MSw3IEBACiAjaW5jbHVkZSAiSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmgiCiAjaW5jbHVkZSAi
SlNBcnJheUJ1ZmZlclByb3RvdHlwZS5oIgogI2luY2x1ZGUgIkpTQXJyYXlJdGVyYXRvci5oIgor
I2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5o
IgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0NhbGxiYWNrQ29uc3RydWN0
b3IuaCIKQEAgLTIzMyw2ICsyMzQsOSBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2
bSkKICAgICBleGVjLT5zZXRDYWxsZWUobV9nbG9iYWxDYWxsZWUuZ2V0KCkpOwogCiAgICAgbV9m
dW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpTRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVy
ZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOworI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgbV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlLnNldCh2
bSwgdGhpcywgSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVu
Y3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKKyNlbmRpZgogICAgIG1fYm91bmRGdW5jdGlvblN0cnVj
dHVyZS5zZXQodm0sIHRoaXMsIEpTQm91bmRGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0
aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7CiAgICAgbV9uYW1lZEZ1bmN0aW9uU3Ry
dWN0dXJlLnNldCh2bSwgdGhpcywgU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb24odm0s
IG1fZnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCksIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIERvbnRE
ZWxldGUgfCBSZWFkT25seSB8IERvbnRFbnVtLCBtX2Z1bmN0aW9uTmFtZU9mZnNldCkpOwogICAg
IG1faW50ZXJuYWxGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEludGVybmFsRnVuY3Rp
b246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkp
OwpAQCAtNzI1LDYgKzcyOSw5IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OnZpc2l0Q2hpbGRyZW4o
SlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKICAgICB2aXNpdG9yLmFwcGVuZCgm
dGhpc09iamVjdC0+bV9jYWxsZWVTdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlz
T2JqZWN0LT5tX2Z1bmN0aW9uU3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09i
amVjdC0+bV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2Fycm93RnVu
Y3Rpb25TdHJ1Y3R1cmUpOworI2VuZGlmCiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3Qt
Pm1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmpl
Y3QtPm1fc3ltYm9sT2JqZWN0U3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09i
amVjdC0+bV9yZWdFeHBNYXRjaGVzQXJyYXlTdHJ1Y3R1cmUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKaW5kZXggNzQ5NjZiN2JkMDZiYWNkODY2
MWM5YmY0YWJlNDVjZWIzYjUxMThiNC4uODE3ZjI1NzY2MDcwMDc5OTAxODYxNGEwMjk2YWJjM2M5
NTMwMjU5MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9i
amVjdC5oCkBAIC0yMjUsNiArMjI1LDkgQEAgcHJvdGVjdGVkOgogICAgIFdyaXRlQmFycmllcjxT
dHJ1Y3R1cmU+IG1fY2FsbGVlU3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+
IG1fZnVuY3Rpb25TdHJ1Y3R1cmU7CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9ib3Vu
ZEZ1bmN0aW9uU3RydWN0dXJlOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlOwor
I2VuZGlmCiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9uYW1lZEZ1bmN0aW9uU3RydWN0
dXJlOwogICAgIFByb3BlcnR5T2Zmc2V0IG1fZnVuY3Rpb25OYW1lT2Zmc2V0OwogICAgIFdyaXRl
QmFycmllcjxTdHJ1Y3R1cmU+IG1fcHJpdmF0ZU5hbWVTdHJ1Y3R1cmU7CkBAIC00NTYsNiArNDU5
LDkgQEAgcHVibGljOgogICAgIFN0cnVjdHVyZSogY2FsbGVlU3RydWN0dXJlKCkgY29uc3QgeyBy
ZXR1cm4gbV9jYWxsZWVTdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUqIGZ1bmN0aW9u
U3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9mdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQog
ICAgIFN0cnVjdHVyZSogYm91bmRGdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1f
Ym91bmRGdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgU3RydWN0dXJlKiBhcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCkgY29u
c3QgeyByZXR1cm4gbV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CisjZW5kaWYKICAg
ICBTdHJ1Y3R1cmUqIG5hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX25h
bWVkRnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBQcm9wZXJ0eU9mZnNldCBmdW5jdGlv
bk5hbWVPZmZzZXQoKSBjb25zdCB7IHJldHVybiBtX2Z1bmN0aW9uTmFtZU9mZnNldDsgfQogICAg
IFN0cnVjdHVyZSogbnVtYmVyT2JqZWN0U3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9udW1i
ZXJPYmplY3RTdHJ1Y3R1cmUuZ2V0KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsdGhpcy5qcyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsdGhpcy5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42MTJmYmFmODA0NDgyYzc3NjFjMzdkZDY5M2E4NDg1ZTU1MTE1NzNlCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1
bmN0aW9uLWxleGljYWx0aGlzLmpzCkBAIC0wLDAgKzEsMzEgQEAKK3ZhciByZXN1bHQ7CisKKyB2
YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBp
ZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3Rl
ZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307
CisKK3ZhciBhZk9iakxleEJpbmQyID0gZnVuY3Rpb24gKCkgeworICB0aGlzLmZ1bmMgPSAoKSA9
PiB0aGlzOworfTsKKwordmFyIGFmT2JqTGV4QmluZDJJbnN0YW5jZSA9IG5ldyBhZk9iakxleEJp
bmQyKCk7CisKK3Rlc3RDYXNlKGFmT2JqTGV4QmluZDJJbnN0YW5jZS5mdW5jKCkgPT09IGFmT2Jq
TGV4QmluZDJJbnN0YW5jZSwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmlu
ZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzIiKTsKKwordmFyIG9iaiA9IHsKKyAg
bWV0aG9kOiBmdW5jdGlvbiAoKSB7CisgICAgcmV0dXJuICgpID0+IHRoaXM7CisgIH0KK307CisK
K3Rlc3RDYXNlKG9iai5tZXRob2QoKSgpID09PSBvYmosIHRydWUsICJFcnJvcjogdGhpcyBpcyBu
b3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMzIik7CisK
K3ZhciBmYWtlID0ge3N0ZWFsOiBvYmoubWV0aG9kKCl9OwordGVzdENhc2UoZmFrZS5zdGVhbCgp
ID09PSBvYmosIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNp
ZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM0Iik7CisKKworLy8gRml4bWU6IGZvbGxvd2luZyB0
ZXN0IGZhaWxzIGluIGRmZy1lYWdlci1uby1jaml0LXZhbGlkYXRlICYgZnRsLWVhZ2VyLW5vLWNq
aXQgbW9kZQordmFyIHJlYWwgPSB7Ym9ycm93OiBvYmoubWV0aG9kfTsKK3Rlc3RDYXNlKHJlYWwu
Ym9ycm93KCkoKSA9PT0gcmVhbCwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkg
YmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzUiKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1vdGhlcnMuanMg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tb3RoZXJz
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmViYmY4NTllMjAzZWIxZjU0YWNhZTFkNDA4M2NhM2RkM2RjOTc2MWYK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tb3RoZXJzLmpzCkBAIC0wLDAgKzEsMzAgQEAKK3ZhciByZXN1bHQ7CisKKyB2
YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBp
ZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3Rl
ZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307
CisKK3ZhciBzaW1wbGVBcnJvd0Z1bmN0aW9uID0gKCkgPT4ge307CisKK3Rlc3RDYXNlKHR5cGVv
ZiBzaW1wbGVBcnJvd0Z1bmN0aW9uLCAiZnVuY3Rpb24iLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHR5
cGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKE9iamVjdC5nZXRQcm90b3R5
cGVPZihzaW1wbGVBcnJvd0Z1bmN0aW9uKSwgRnVuY3Rpb24ucHJvdG90eXBlLCAiRXJyb3I6IE5v
dCBjb3JyZWN0IGdldFByb3RvdHlwZU9mIHZhbHVlIGZvciBhcnJvdyBmdW5jdGlvbiIpOworCit0
ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uIGluc3RhbmNlb2YgRnVuY3Rpb24sIHRydWUsICJF
cnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBpbnN0YW5jZW9mIG1ldGhvZCBmb3IgYXJyb3cg
ZnVuY3Rpb24iKTsKKwordGVzdENhc2Uoc2ltcGxlQXJyb3dGdW5jdGlvbi5jb25zdHJ1Y3RvciA9
PSBGdW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIGNvbnN0cnVj
dG9yIG1ldGhvZCBvZiBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZSh0eXBlb2Ygc2ltcGxl
QXJyb3dGdW5jdGlvbi5wcm90b3R5cGUgPT09ICd1bmRlZmluZWQnLCB0cnVlLCAiRXJyb3I6IE5v
dCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9uIik7CisKK3Zh
ciBlcnJvck9uQ3JlYXRlID0gZmFsc2U7CisKK3RyeSB7CisgIHZhciBmYyA9IG5ldyBzaW1wbGVB
cnJvd0Z1bmN0aW9uKCk7Cit9CitjYXRjaCAoZSkgeworICBlcnJvck9uQ3JlYXRlID0gdHJ1ZTsK
K30KKwordGVzdENhc2UoZXJyb3JPbkNyZWF0ZSwgdHJ1ZSwgIkVycm9yOiBObyBlcnJvciBkdXJp
bmcgcnVuIG5ldyBBcnJvd0Z1bmN0aW9uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24uanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDY4N2IzYWFiMWQy
N2Y0NTNmOTA3NjFjZWMxYWQ0ZDA1Y2YwM2IzNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi5qcwpAQCAtMCwwICsxLDE1
NCBAQAordmFyIHJlc3VsdDsKKworIHZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4
cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhy
b3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiAr
IGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGFycm93RnVuY3Rpb24wID0gdiA9PiB2ICsg
MTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24wKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEgLCJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogdiA9PiB2
ICsgMSIpOworCit2YXIgYXJyb3dGdW5jdGlvbjEgPSAodikgPT4gdiAqIDI7CityZXN1bHQgPSBh
cnJvd0Z1bmN0aW9uMSgxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIwICwiRXJyb3I6IE5vdCBjb3Jy
ZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICh2KSA9PiB2ICsgMSIpOworCit2
YXIgYXJyb3dGdW5jdGlvbjIgPSAoKSA9PiAxMDAwOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjIo
MTIxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKCkgPT4gMTAwMCIpOworCit2YXIgdG1wVmFyaWFs
dmUyXzEgPSAxNTE7Cit2YXIgYXJyb3dGdW5jdGlvbjJfMSA9ICgpID0+IHRtcFZhcmlhbHZlMl8x
OworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjJfMSgxMjEpOwordGVzdENhc2UocmVzdWx0LCB0bXBW
YXJpYWx2ZTJfMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1
bmN0aW9uOiAoKSA9PiB2YXJpYWJsZSIpOworCit2YXIgYXJyb3dGdW5jdGlvbjMgPSAodiwgeCkg
PT4gdiArIHg7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMygxMSwxMik7Cit0ZXN0Q2FzZShyZXN1
bHQsIDIzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b246ICh4LCB5KSA9PiB4ICsgeSIpOworCit2YXIgYXJyb3dGdW5jdGlvbldyYXBwZXIgPSBmdW5j
dGlvbiAoY2wsIHBhcmFtdGVyKSB7IHJldHVybiBjbChwYXJhbXRlcik7IH07CisKK3Jlc3VsdCA9
IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4gMTIzNCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMzQg
LCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBw
YXJhbXRlcjogZih4ID0+IGMpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4
ID0+IDEyMzQsIDIzNDUpOwordGVzdENhc2UocmVzdWx0LCAxMjM0ICwiRXJyb3I6IE5vdCBjb3Jy
ZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBj
LCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMjEgKyAyMzIp
OwordGVzdENhc2UocmVzdWx0LCAzNTMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMxICsgYzIpIik7CisKKyBy
ZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEyMyArIDMyMSwgOTk5OSk7Cit0ZXN0
Q2FzZShyZXN1bHQsIDQ0NCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFy
cm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYzEgKyBjMiwgeSkiKTsKKworIHJlc3Vs
dCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4geCArIDEyLCAyMSk7Cit0ZXN0Q2FzZShyZXN1
bHQsIDMzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gYXMgcGFyYW10ZXI6IGYoeCA9PiB4ICsgYzEsIHkpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1
bmN0aW9uV3JhcHBlcigoeCkgPT4geCArIDIxLCAzMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDUzLCAi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFy
YW10ZXI6IGYoKHgpID0+IGMxICsgYzIsIHkpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9u
V3JhcHBlcigoKSA9PiAxMDApOwordGVzdENhc2UocmVzdWx0LCAxMDAsICJFcnJvcjogTm90IGNv
cnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9
PiBjKSIpOworCisgdmFyIGV4dF92YWx1ZSA9IDEyMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25X
cmFwcGVyKCgpID0+IGV4dF92YWx1ZSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMSwgIkVycm9yOiBO
b3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBm
KCgpID0+IHYpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiBleHRf
dmFsdWUgKiAxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMTAgLCJFcnJvcjogTm90IGNvcnJlY3Qg
ZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiB2Kngp
Iik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoeCkgPT4gZXh0X3ZhbHVlICog
eCwgMzApOwordGVzdENhc2UocmVzdWx0LCAzMCpleHRfdmFsdWUgLCJFcnJvcjogTm90IGNvcnJl
Y3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoeCkgPT4g
dip4LCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwLCAx
MSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24g
b2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMxLCB5KSIpOworCisg
cmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwICsgMTApOwordGVzdENhc2Uo
cmVzdWx0LCAxMTAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjMSArIGMyKSIpOworCisgcmVzdWx0ID0gYXJy
b3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwICsgMTEsIDEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwg
MTExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24g
YXMgcGFyYW10ZXI6IGYoKCkgPT4gYzEgKyBjMiwgeSkiKTsKKworIHZhciBhcnJvd0Z1bmN0aW9u
NCA9IHYgPT4gdiArIDEsIHh5ejEgPSAxMDEwMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb240KDEw
MTEpOwordGVzdENhc2UocmVzdWx0LCAxMDEyICwiRXJyb3I6IE5vdCBjb3JyZWN0IHBhcnNpbmcg
b2YgdGggYXJyb3cgZnVuY3Rpb24gaW5zaWRlIG9mIHRoZSBsaXN0IG9mIHZhcnM6IHZhciBhZiA9
IHY9PiB2ICsgMTsgenhjPWM7Iik7Cit0ZXN0Q2FzZSh4eXoxLCAxMDEwMSAsIkVycm9yOiBOb3Qg
Y29ycmVjdCBwYXJzaW5nIG9mIHRoIGFycm93IGZ1bmN0aW9uIGluc2lkZSBvZiB0aGUgbGlzdCBv
ZiB2YXJzOiB2YXIgYWYgPSB2PT4gdiArIDE7IHp4Yz1jOyIpOworCisgdmFyIGFycm93RnVuY3Rp
b25XcmFwcGVyMiA9IGZ1bmN0aW9uIChjbCwgcGFyYW10ZXIxLCBwYXJhbXRlcjIpIHsgcmV0dXJu
IGNsKHBhcmFtdGVyMSwgcGFyYW10ZXIyKTsgfTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFw
cGVyMigoeCwgeSkgPT4geCArIHksIDEyICw0Myk7Cit0ZXN0Q2FzZShyZXN1bHQsIDU1ICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW1l
dGVyOiBmKCh4LCB5KSA9PiB4ICsgeSwgYzEsIGMyKSIpOworCisgdmFyIGFycm93RnVuY3Rpb0Fy
cmF5MCA9IFt2ID0+IHYgKiAxMF07CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTBbMF0oMTAp
OwordGVzdENhc2UocmVzdWx0LCAxMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbdj0+dioxMF0iKTsKKworIHZh
ciBhcnJvd0Z1bmN0aW9BcnJheTEgPSBbdiA9PiB2ICsgMSwgdiA9PiB2ICsgMl07CityZXN1bHQg
PSBhcnJvd0Z1bmN0aW9BcnJheTFbMF0oMTApOwordGVzdENhc2UocmVzdWx0LCAxMSAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4g
YXJyYXk6IFt2ID0+IHYgKyAxLCAgdiA9PiB2ICsgMl0iKTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rp
b0FycmF5MVsxXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEzICwiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogW3YgPT4g
diArIDEsICB2ID0+IHYgKyAyXSIpOworCisgdmFyIGFycm93RnVuY3Rpb0FycmF5MiA9IFsodikg
PT4gdiArIDEsICh2KSA9PiB2ICsgMl07CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTJbMF0o
MTEpOwordGVzdENhc2UocmVzdWx0LCAxMiAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24g
b2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsodikgPT4gdiArIDEsICAo
dikgPT4gdiArIDJdIik7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTJbMV0oMTEpOwordGVz
dENhc2UocmVzdWx0LCAxMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFy
cm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsodikgPT4gdiArIDEsICAodikgPT4gdiAr
IDJdIik7CisKKyB2YXIgYXJyb3dGdW5jdGlvQXJyYXkzID0gWygpID0+IDEwMSwgKCkgPT4gMTIz
MjNdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkzWzBdKDExKTsKK3Rlc3RDYXNlKHJlc3Vs
dCwgMTAxLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gYXMgaXRlbSBpbiBhcnJheTogWygpID0+IGMxLCAgKCkgPT4gYzJdIik7CityZXN1bHQgPSBh
cnJvd0Z1bmN0aW9BcnJheTNbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMjMyMywgIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4g
YXJyYXk6IFsoKSA9PiBjMSwgICgpID0+IGMyXSIpOworCit2YXIgYXJyb3dGdW5jdGlvbk9iaiA9
IHtmdW5jIDogeSA9PiB5ICsgMTJ9OworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbk9iai5mdW5jKDEx
KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjMgLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcHJvcGVydHk6IHtmdW5jIDogeSA9PiB5ICsgMTIgfSIp
OworCit2YXIgYWZPYmpMZXhCaW5kMiA9IGZ1bmN0aW9uICgpIHsKKyAgdGhpcy5mdW5jID0gKCkg
PT4gdGhpczsKK307CisKK3ZhciBhcnJvd0ZhdEZ1bmN0aW9uMCA9ICgpID0+IHsgcmV0dXJuIDEw
MDA7IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0aW9uMCgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQs
IDEwMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlv
biB3aXRoIGJvZHkgYXMgYmxvY2s6ICgpID0+IHsgcmV0dXJuIDEwMDA7IH0iKTsKKwordmFyIGFy
cm93RmF0RnVuY3Rpb24xID0gdiA9PiB7IHZhciBpbnR2YWwgPSAxMDA7IHJldHVybiB2ICogaW50
dmFsOyB9OworcmVzdWx0ID0gYXJyb3dGYXRGdW5jdGlvbjEoMTEpOwordGVzdENhc2UocmVzdWx0
LCAxMTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gd2l0aCBib2R5IGFzIGJsb2NrOiB4ID0+IHsgdmFyIHY9MTAwMDsgcmV0dXJuIHYqeDsgfSIp
OworCit2YXIgYXJyb3dGYXRGdW5jdGlvbjIgPSAodikgPT4geyB2YXIgaW50ID0gMjAwOyByZXR1
cm4gdiAqIGludDsgfTsKK3Jlc3VsdCA9IGFycm93RmF0RnVuY3Rpb24yKDExKTsKK3Rlc3RDYXNl
KHJlc3VsdCwgMjIwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogKHgpID0+IHsgdmFyIHY9MTAwMDsgcmV0dXJu
IHYqeDsgfSIpOworCit2YXIgYXJyb3dGYXRGdW5jdGlvbjMgPSAodiwgeCkgPT4geyB2YXIgcmVz
dWx0ID0geCAqIHY7IHJldHVybiByZXN1bHQ7IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0aW9u
MygxMSwgMTIyMjIpOwordGVzdENhc2UocmVzdWx0LCAxMzQ0NDIgLCJFcnJvcjogTm90IGNvcnJl
Y3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICh2
LCB4KSA9PiB7IHZhciByZXN1bHQgPSB4ICogdjsgcmV0dXJuIHJlc3VsdDsgfSIpOworCityZXN1
bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4PT57cmV0dXJuIHggKiAyNTt9LCAxMjEpOwordGVz
dENhc2UocmVzdWx0LCAyNSoxMjEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6IGYoeCA9PiB7cmV0dXJuIHggKiAy
NTt9LCAxMjEpIik7CisKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyMigoeCwgeSk9Pnty
ZXR1cm4geCAqIHk7fSwgMTQsIDEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTQqMTIgLCJFcnJvcjog
Tm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMg
YmxvY2s6IGYoKHgsIHkpPT57cmV0dXJuIHggKiB5O30sIDE0LCAxMjEpKSIpOworCit2YXIgc2lt
cGxlQXJyb3dGdW5jdGlvbiA9ICgpID0+IHt9OworCit0ZXN0Q2FzZSh0eXBlb2Ygc2ltcGxlQXJy
b3dGdW5jdGlvbiwgImZ1bmN0aW9uIiwgIkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yoc2ltcGxl
QXJyb3dGdW5jdGlvbiksIEZ1bmN0aW9uLnByb3RvdHlwZSwgIkVycm9yOiBOb3QgY29ycmVjdCBn
ZXRQcm90b3R5cGVPZiB2YWx1ZSBmb3IgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2Uoc2lt
cGxlQXJyb3dGdW5jdGlvbiBpbnN0YW5jZW9mIEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBj
b3JyZWN0IHJlc3VsdCBmb3IgaW5zdGFuY2VvZiBtZXRob2QgZm9yIGFycm93IGZ1bmN0aW9uIik7
CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93RnVuY3Rpb24uY29uc3RydWN0b3IgPT0gRnVuY3Rpb24s
IHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBjb25zdHJ1Y3RvciBtZXRob2Qg
b2YgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2UodHlwZW9mIHNpbXBsZUFycm93RnVuY3Rp
b24ucHJvdG90eXBlID09PSAndW5kZWZpbmVkJywgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCBy
ZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiIpOworCit2YXIgZXJyb3JPbkNy
ZWF0ZSA9IGZhbHNlOworCit0cnkgeworICB2YXIgZmMgPSBuZXcgc2ltcGxlQXJyb3dGdW5jdGlv
bigpOworfQorY2F0Y2ggKGUpIHsKKyAgZXJyb3JPbkNyZWF0ZSA9IHRydWU7Cit9CisKK3Rlc3RD
YXNlKGVycm9yT25DcmVhdGUsIHRydWUsICJFcnJvcjogTm8gZXJyb3IgZHVyaW5nIHJ1biBuZXcg
QXJyb3dGdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0MWZkYjZm
NDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2OTcyZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1NTBhMDUx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFC
TEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19T
WU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhU
ID0gOwogRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElP
TlNfTEVWRUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwog
CiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9M
QVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVS
SU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRB
Q0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FO
VkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
KSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChF
TkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcp
ICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VU
KSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNP
TFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZF
TDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NT
M19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9D
VVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJM
RV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJM
RV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVf
RE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxF
X0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1F
UEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAk
KEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRB
VEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElF
X1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
X1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQo
RU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQo
RU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJF
RklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVO
RE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQ
UkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9N
RURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVE
SUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQo
RU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJ
TFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJ
T05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5B
QkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNf
U1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9G
UkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQ
RUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9C
QU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVT
SVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJM
RV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhP
TkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lD
T05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxF
Q1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RB
VEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdM
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9T
T0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVO
QUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQp
ICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJB
VEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7
CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
KSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChF
TkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVf
Q0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NM
QVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9D
T05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJ
T05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVf
Q1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxF
X0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NT
U19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RF
WFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJ
TElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZF
Ul9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBU
RURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19M
RVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQ
SSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJM
RV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcp
ICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJT
KSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FD
WV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChF
TkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykg
JChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01B
VEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VS
Q0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQo
RU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklH
QVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChF
TkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9J
TlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykg
JChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVR
VUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVO
QUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAk
KEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJM
RV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExF
X0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikg
JChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VM
RU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAk
KEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RS
QUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElB
KSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZ
KSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVf
V0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VU
KSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1Ap
ICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJF
U0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0
MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2OTcyZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1
NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFT
X1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxF
X0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZf
QVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwog
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5B
QkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVf
Q1NTX0FOSU1BVElPTlNfTEVWRUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRf
Q19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxF
X1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFC
TEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAk
KEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykg
JChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hB
Tk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNf
TEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1Nf
Q09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NT
X0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NT
U19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NF
TEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkg
JChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZ
KSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQ
T1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lU
RU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElP
TikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVM
XzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAk
KEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dF
T0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChF
TkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQo
RU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVf
VElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NT
U19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVO
QUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1M
KSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFC
TEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9S
X0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJM
RV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVS
X0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVO
QUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNU
X0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxF
X1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5B
QkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQ
RUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZ
UFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVO
QUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVO
VCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5B
QkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0sp
ICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQo
RU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQo
RU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJf
VElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQo
RU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChF
TkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5U
QVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZM
T1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRf
RUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFU
SCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxF
X0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJ
T04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMp
ICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVO
QUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9D
VVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVf
REFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFC
TEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNB
VEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVS
X1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05U
Uk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gp
ICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVS
X0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQo
RU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05D
VVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikg
JChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElN
SVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkg
JChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NP
TVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01F
RElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9T
TkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChF
TkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RG
X0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxF
X1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJ
TElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5B
QkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01P
REVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJM
RV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpF
UykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxF
X1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9M
TElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFC
TEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0Mi9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA4YjExMmZhZTQ1Yjk1
N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2OTcyZjExNGMzODNkMzI2MjlmMWYw
OTNjNjg1NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFT
X1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxF
X0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZf
QVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwog
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5B
QkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVf
Q1NTX0FOSU1BVElPTlNfTEVWRUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRf
Q19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxF
X1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFC
TEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAk
KEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykg
JChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hB
Tk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNf
TEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1Nf
Q09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NT
X0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NT
U19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NF
TEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkg
JChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZ
KSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQ
T1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lU
RU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElP
TikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVM
XzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAk
KEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dF
T0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChF
TkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQo
RU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVf
VElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NT
U19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVO
QUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1M
KSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFC
TEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9S
X0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJM
RV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVS
X0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVO
QUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNU
X0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxF
X1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5B
QkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQ
RUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZ
UFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVO
QUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVO
VCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5B
QkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0sp
ICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQo
RU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQo
RU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJf
VElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQo
RU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChF
TkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5U
QVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZM
T1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRf
RUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFU
SCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxF
X0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJ
T04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMp
ICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVO
QUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9D
VVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVf
REFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFC
TEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNB
VEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVS
X1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05U
Uk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gp
ICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVS
X0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQo
RU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05D
VVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikg
JChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElN
SVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkg
JChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NP
TVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01F
RElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9T
TkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChF
TkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RG
X0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxF
X1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJ
TElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5B
QkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01P
REVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJM
RV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpF
UykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxF
X1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9M
TElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFC
TEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL1dl
YktpdEZlYXR1cmVzLmNtYWtlIGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCmlu
ZGV4IDMyYzIzNWQ5OGI1YTQyMGViZTMzNDgzNGM3YjZhNDE4MmIyMjIyMGEuLmE2NzUzNzE0NTYy
N2NkMzhhMjcwNzljZDVkZmU5ODY4MmM5MWY0NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9X
ZWJLaXRGZWF0dXJlcy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21h
a2UKQEAgLTI4LDYgKzI4LDcgQEAgbWFjcm8oV0VCS0lUX09QVElPTl9CRUdJTikKICAgICBXRUJL
SVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ0FOVkFTX1BST1hZICJUb2dnbGUgQ2FudmFzUHJveHkg
c3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORyAiVG9nZ2xlIE1lc3NhZ2VDaGFubmVsIGFuZCBNZXNzYWdlUG9ydCBzdXBwb3J0IiBP
TikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCAiVG9n
Z2xlIEVTNiBjbGFzcyBzeW50YXggc3VwcG9ydCIgT04pCisgICAgV0VCS0lUX09QVElPTl9ERUZJ
TkUoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCAiVG9nZ2xlIEVTNiBhcnJvdyBmdW5j
dGlvbiBzeW50YXggc3VwcG9ydCIgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxF
X0NPTlRFTlRfRklMVEVSSU5HICJUb2dnbGUgY29udGVudCBmaWx0ZXJpbmcgc3VwcG9ydCIgT0ZG
KQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DT05URVhUX01FTlVTICJUb2dnbGUg
Q29udGV4dCBNZW51IHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJM
RV9DU1BfTkVYVCAiVG9nZ2xlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IDEuMSBzdXBwb3J0IiBP
RkYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZSBiL1NvdXJjZS9jbWFr
ZWNvbmZpZy5oLmNtYWtlCmluZGV4IDIxZDNmY2M1ZDk4M2Y5NTk1ZGVmMzUxMDU2OGNkYzk4OTY1
MjQ2ZWQuLmNmMWFmZTU2YzVmMGYyNjA5OTA5MGU1MWI3YjJhNjYwM2VhMDczMjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZWNvbmZpZy5o
LmNtYWtlCkBAIC0xMyw2ICsxMyw3IEBACiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ0FOVkFTX1BS
T1hZCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcKICNjbWFrZWRlZmlu
ZTAxIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYCisjY21ha2VkZWZpbmUwMSBFTkFCTEVfRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
TkcKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9DT05URVhUX01FTlVTCiAjY21ha2VkZWZpbmUwMSBF
TkFCTEVfQ1JFREVOVElBTF9TVE9SQUdFCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHBlcmwvRmVhdHVyZUxpc3QucG0gYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxp
c3QucG0KaW5kZXggMTZmZDY0OWM2OGQ2YjNkNDNkMGIzMWUzMzU3OTA0ZmM4NzI0YTdlYi4uMjIz
YjMxMWJjZmJhYjJjMjY4YTdmMjY1MmQxNGVkMTk2MzdmZGZjZSAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cGVybC9GZWF0dXJlTGlzdC5wbQpAQCAtNDQsNiArNDQsNyBAQCBCRUdJTiB7CiBteSAoCiAg
ICAgJHRocmVlRFJlbmRlcmluZ1N1cHBvcnQsCiAgICAgJGFjY2VsZXJhdGVkMkRDYW52YXNTdXBw
b3J0LAorICAgICRhcnJvd2Z1bmN0aW9uU3ludGF4LAogICAgICRiYXR0ZXJ5U3RhdHVzU3VwcG9y
dCwKICAgICAkY2FudmFzUGF0aFN1cHBvcnQsCiAgICAgJGNhbnZhc1Byb3h5U3VwcG9ydCwKQEAg
LTE1NCw2ICsxNTUsOSBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAgeyBvcHRpb24gPT4gImFjY2Vs
ZXJhdGVkLTJkLWNhbnZhcyIsIGRlc2MgPT4gIlRvZ2dsZSBBY2NlbGVyYXRlZCAyRCBDYW52YXMg
c3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMi
LCBkZWZhdWx0ID0+IGlzR3RrKCksIHZhbHVlID0+IFwkYWNjZWxlcmF0ZWQyRENhbnZhc1N1cHBv
cnQgfSwKIAorICAgIHsgb3B0aW9uID0+ICJhcnJvd2Z1bmN0aW9uLXN5bnRheCIsIGRlc2MgPT4g
IlRvZ2dsZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1cHBvcnQiLAorICAgICAgZGVmaW5l
ID0+ICJFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIiwgZGVmYXVsdCA9PiAxLCB2YWx1
ZSA9PiBcJGFycm93ZnVuY3Rpb25TeW50YXggfSwKKwogICAgIHsgb3B0aW9uID0+ICJiYXR0ZXJ5
LXN0YXR1cyIsIGRlc2MgPT4gIlRvZ2dsZSBCYXR0ZXJ5IFN0YXR1cyBzdXBwb3J0IiwKICAgICAg
IGRlZmluZSA9PiAiRU5BQkxFX0JBVFRFUllfU1RBVFVTIiwgZGVmYXVsdCA9PiBpc0VmbCgpLCB2
YWx1ZSA9PiBcJGJhdHRlcnlTdGF0dXNTdXBwb3J0IH0sCiAKZGlmZiAtLWdpdCBhL0NoYW5nZUxv
ZyBiL0NoYW5nZUxvZwppbmRleCA0ZWQ4NmE2Zjg4OThkMzFlMzgwNTBiMzJhNTRjYTc2YmUxZDYx
NmRmLi5lOTFjN2NhMjAwYmU3MTRjNjg5OTY1N2U5NmMyNTJiMGQwOWVkYTQ5IDEwMDY0NAotLS0g
YS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTUtMDQtMDEg
ICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgW0VT
Nl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQorCisgICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIHRvIHN3
aXRjaCBvbi9vZmYgZXM2IGFycm93IGZ1bmN0aW9uIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgKKworICAgICAgICAgKiBTb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2U6Cisg
ICAgICAgICAqIFNvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlOgorCiAyMDE1LTAzLTI5ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0NNYWtlXSBV
cGRhdGUgb2xkIENNYWtlTGlzdC50eHQgaW4gZ3Rlc3QK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250425</attachid>
            <date>2015-04-09 01:15:34 -0700</date>
            <delta_ts>2015-04-09 02:20:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150409111441.patch</filename>
            <type>text/plain</type>
            <size>132090</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyMjA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
ZmNjM2QxNTdiYmMyNzhhZGUyOTEyOTc3ZWI5MzAxYTA5YTJjYjA4Li41NTRhYjEzZWJkNmIyOGU4
NWY4OTQ2MzBhYjk1MGY4MDQ1YWJmZTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMTUgQEAKKzIwMTUtMDQtMDEgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MDg1NQorCisgICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGRlZCBzdXBwb3J0IG9mIEVTNiBhcnJvdyBmdW5jdGlvbi4gQ2hhbmdlcyB3ZXJlIG1hZGUgYWNj
b3JkaW5nIGZvbGxvd2luZyBzcGVjIGh0dHA6Ly93aWtpLmVjbWFzY3JpcHQub3JnL2Rva3UucGhw
P2lkPWhhcm1vbnk6YXJyb3dfZnVuY3Rpb25fc3ludGF4CisgICAgICAgIEluIHBhdGNoIHdlcmUg
aW1wbGVtZW50ZWQgdGhlIHNpbXBsZXN0IGNhc2VzOgorICAgICAgICAgIDEgbm8gcGFyYW1ldGVy
cyAgICAgICAgICAgICAgICAoKSA9PiAxMCArIDIwCisgICAgICAgICAgMiBzaW5nbGUgcGFyYW1l
dGVyICAgICAgICAgICAgICB4ID0+IHggKyAyMAorICAgICAgICAgIDMgbXVsdGlwbGUgcGFyYW1l
dGVycyAgICAgICh4LCB5KSA9PiB4ICsgeQorICAgICAgICAgIDQgYXJyb3cgZnVuY3Rpb24gd2l0
aCBibG9jayAgICAgeCA9PiB7IHJldHVybiB4KjEwOyB9CisgICAgICAgICAgNSBsZXhpY2FsIHRo
aXMgLSB2YXJpYWJsZSB0aGlzIGlzIHBvaW50IHRvIHRoZSB0aGlzIG9mIHRoZSBmdW5jdGlvbiB3
aGVyZSBhcnJvdyBmdW5jdGlvbiBpcyBkZWNsYXJlZAorICAgICAgICAgIDYgTm8gY29uc3RydWN0
b3IgLSB0aGUgdXNpbmcgb2YgdGhlIGNvbW1hbmQgbmV3IGZvciBhcnJvdyBmdW5jdGlvbiBsZWFk
cyB0byBydW50aW1lIGVycm9yLiAKKworICAgICAgICAgTm90IHlldCBpbXBsZW1lbnRlZDoKKyAg
ICAgICAgICAxIHRoZSB2YXJpYWJsZSB3aXRoIG5hbWUgYXJndW1lbnRzIGluc2lkZSBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gc2hvdWxkIHBvaW50IHRvIGxpc3Qgb2YgYXJndW1lbnRzIG9mIGZ1bmN0
aW9uIHdoZXJlIGFycm93IGZ1bmN0aW9uIGlzIGRlY2xhcmVkCisgICAgICAgICAgMiBwYXJzZXIg
d2lsbCBwYXJzZSB0aGUgc3RhdGVtZW50IHgsIHkgPT4geCArIHkgaW5zdGVhZCBvZiByYWlzaW5n
IGV4Y2VwdGlvbgorICAgICAgICAgIDMgbWV0aG9kIGNhbGwsIGFwcGx5LCBiaW5kIHNob3VsZCBu
b3Qgb3ZlcnJpZGUgdGhlIHRoaXMgdmFyaWFibGUgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlv
bgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6Cisg
ICAgICAgICogSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qOgor
ICAgICAgICAqIGJ5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uOgorICAgICAgICAqIGJ5dGVjb2Rl
L0J5dGVjb2RlVXNlRGVmLmg6CisgICAgICAgIChKU0M6OkZ1bmN0b3I6OmNvbXB1dGVVc2VzRm9y
Qnl0ZWNvZGVPZmZzZXQpOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAg
ICAgIChKU0M6OkNvZGVCbG9jazo6ZHVtcEJ5dGVjb2RlKToKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVH
ZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Fy
cm93RnVuY3Rpb25FeHByZXNzaW9uKTogYWRkZWQKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5l
cmF0b3I6OmVtaXRUaGlzTm9kZUJ5dGVjb2RlKTogYWRkZWQKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvTm9kZXNDb2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6ZW1pdEJ5dGVjb2RlOjplbWl0Qnl0
ZWNvZGUpOiBhZGRlZAorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHByTm9kZTo6ZW1pdEJ5dGVj
b2RlKTogYWRkZWQKKyAgICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAg
ICAoSlNDOjpCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgICogZGZnL0RGR0Nh
cGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkNhcGFiaWxpdHlMZXZlbDo6Y2FwYWJpbGl0
eUxldmVsKToKKyAgICAgICAgKiBqaXQvSklULmg6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9v
cF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRJbmxpbmVzLmg6
CisgICAgICAgIChKU0M6OkpJVDo6Y2FsbE9wZXJhdGlvbik6IGFkZGVkCisgICAgICAgICogaml0
L0pJVC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcyk6Cisg
ICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3Bf
bmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5j
cHA6CisgICAgICAgIChKU0M6OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5ld0Fycm93RnVuY3Rp
b24pOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmg6CisgICAgICAgIChKU0M6
OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24pOiBhZGRlZAorICAgICAg
ICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAgICAgICAgKExMSU5UX1NMT1dfUEFUSF9E
RUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGxsaW50
L0xMSW50U2xvd1BhdGhzLmg6CisgICAgICAgIChMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3Bh
dGhfbmV3X2Fycm93X2Z1bmNfZXhwKSk6IGFkZGVkCisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206CisgICAgICAgICogcGFyc2VyL0FTVEJ1aWxkZXIuaDoKKyAgICAgICAg
KEpTQzo6QVNUQnVpbGRlcjo6Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIpOgorICAgICAgICAqIHBh
cnNlci9MZXhlci5jcHA6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9u
KToKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OmxleCk6CisgICAgICAgICogcGFyc2VyL0xleGVy
Lmg6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9uKToKKyAgICAgICAg
KiBwYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oOgorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHBy
Tm9kZTo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZAorICAgICAgICAqIHBhcnNlci9Ob2Rlcy5o
OgorICAgICAgICAoSlNDOjpOb2RlOjppc0Fycm93RnVuY0V4cHJOb2RlKTogYWRkZWQKKyAgICAg
ICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZCBjbGFzcworICAgICAgICAqIHBhcnNl
ci9QYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3Vy
Y2VFbGVtZW50cyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1h
cnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZVNvdXJjZUVsZW1lbnQp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6
UGFyc2VyOjpwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwYXJzZVByaW1hcnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFy
cm93RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6c2V0RW5kT2ZTdGF0ZW1lbnQp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIpOgorICAg
ICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkluZm8pOgorICAgICAgICAoSlND
OjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkJvZHkpOgorICAgICAgICAqIHBhcnNlci9QYXJz
ZXIuaDoKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpGdW5jdGlvblBhcnNlVHlwZSk6CisgICAgICAg
IChKU0M6OlBhcnNlcjo6cGFyc2VTb3VyY2VFbGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0V4cHJl
c3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnNldEVuZE9mU3RhdGVtZW50KToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKToKKyAgICAgICAgKiBw
YXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmg6CisgICAgICAgICogcGFyc2VyL1BhcnNlclRva2Vu
cy5oOgorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmFycm93RnVuY3Rpb25PZmZz
ZXQpOiBhZGRlZAorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmlzQXJyb3dGdW5j
dGlvbik6IGFkZGVkCisgICAgICAgIChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6YXJyb3dGdW5j
dGlvbkJvZHlUeXBlKTogYWRkZWQKKyAgICAgICAgKiBwYXJzZXIvU291cmNlQ29kZS5oOgorICAg
ICAgICAoSlNDOjpTb3VyY2VDb2RlOjpzdWJBcnJvd0V4cHJlc3Npb24pOgorICAgICAgICAqIHBh
cnNlci9TeW50YXhDaGVja2VyLmg6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNyZWF0
ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAgICAgKiBwYXJzZXIvU291cmNlUHJvdmlkZXJDYWNo
ZUl0ZW06CisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJh
bWV0ZXJzKToKKyAgICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0pOgorICAgICAg
ICAoSlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6ZW5kQXJyb3dGdW5jdGlvblRva2VuKToK
KyAgICAgICAgKiBydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oOiBhZGRlZCBjbGFzcyBmb3IgaGFu
ZGxlIGFycm93IGZ1bmN0aW9uIGNyZWF0aW9uIGFuZCBleGVjdXRpb24KKyAgICAgICAgKiBydW50
aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHA6CisgICAgICAgICogcnVudGltZS9KU0Z1bmN0aW9uLmg6
CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OkpTRnVuY3Rpb24pOiBhZGRlZCBvbmUgbW9yZSBj
b25zdHJ1Y3RvcgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaDoKKyAgICAg
ICAgKEpTQzo6SlNGdW5jdGlvbjo6SlNGdW5jdGlvbik6IGFkZGVkIGNvbnN0cnVjdG9yIGltcGxl
bWVudGF0aW9uCisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAg
IChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmpl
Y3Q6Om1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZSk6IGFkZGVkCisgICAgICAgIChKU0M6OkpTR2xv
YmFsT2JqZWN0OjphcnJvd0Z1bmN0aW9uU3RydWN0dXJlKToKKyAgICAgICAgKiB0ZXN0cy9zdHJl
c3MvanMvYXJyb3dmdW5jdGlvbi5qczoKKwogMjAxNS0wMy0zMSAgWXVzdWtlIFN1enVraSAgPHV0
YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBDbGVhbiB1cCBJZGVudGlmaWVyIGZhY3Rv
cmllcyB0byBjbGFyaWZ5IHRoZSBtZWFuaW5nIG9mIFN0cmluZ0ltcGwqCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ODczZjY4NTA1NmJiN2U0NzdiNmI2OTVkZmFjYjBhZWJhNThlYTQ0Ny4uMzc0MzhmNDQxMmFkNjM5
YTc0OTY4ZjNmM2VjOTdjM2QzYTNlZmIyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDE1LTA0LTAxICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAg
ICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUg
ZmxhZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgor
CisgICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAy
MDE1LTAzLTMxICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAg
ICAgICAgTW92ZSBFeHBhbnNpb25CZWhhdmlvckZsYWdzIGFuZCBUZXh0RGlyZWN0aW9uIHRvIHRo
ZWlyIG93biBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNzU3ZWE0OWQwYTMwZjk0ZDU2MjJiODM1
MzVjMWJlYmQwNDMxZTk1Ni4uZWY4N2M3NWUwMDQ5YjZjOWQ4NGQxNGNlYTQwMTVmNTBhYWUyZDUy
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTA0LTAxICBTa2FjaGtv
diBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgIFtFUzZdIEltcGxl
bWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyBFTkFCTEVfRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgorCisgICAgICAgICAqIENvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1LTAzLTMxICBZdXN1a2Ug
U3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIENsZWFuIHVwIElkZW50
aWZpZXIgZmFjdG9yaWVzIHRvIGNsYXJpZnkgdGhlIG1lYW5pbmcgb2YgU3RyaW5nSW1wbCoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA3MjExMjc2NTJkODg4ZjUwMWFiNmMy
MTdiODMzNDQxOTA0M2Y1ODY0Li41MDUzZGMxN2U2ZDU4YjExMWM3MzBhOTRjYzA3NGIwY2JlNTA3
OGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC00NjYsNiArNDY2LDcg
QEAgc2V0KEphdmFTY3JpcHRDb3JlX1JVTlRJTUVfU09VUkNFUwogICAgIHJ1bnRpbWUvSlNBcnJh
eUJ1ZmZlclZpZXcuY3BwCiAgICAgcnVudGltZS9KU0FycmF5SXRlcmF0b3IuY3BwCiAgICAgcnVu
dGltZS9KU0JvdW5kRnVuY3Rpb24uY3BwCisgICAgcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3Bw
CiAgICAgcnVudGltZS9KU0dsb2JhbE9iamVjdERlYnVnZ2FibGUuY3BwCiAgICAgcnVudGltZS9K
U0NKU1ZhbHVlLmNwcAogICAgIHJ1bnRpbWUvSlNDYWxsZWUuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKaW5kZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0
OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FO
VkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgg
PSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5U
QVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklM
VEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwog
RU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVW
RUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFC
TEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRf
QVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BB
VEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVO
QUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVf
Q1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5B
QkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVO
QUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9O
KSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQo
RU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhU
X0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01f
U0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRB
TElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRB
SUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9F
VkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRf
TE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAk
KEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNF
KSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9W
RVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxF
X0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxF
X0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFC
TEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykg
JChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9D
T05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RB
VElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxF
X01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQo
RU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAk
KEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BS
T01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklY
X0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkg
JChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1Ip
ICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5H
KSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQo
RU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdf
Rk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVN
QkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9B
RElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxM
KSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVf
VkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVO
QUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRT
KSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9X
RUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5B
QkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xB
WU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFU
VVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVO
QUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFT
X1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZ
TlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xF
VkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NP
TVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19H
UklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxF
Q1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkg
JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
UykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVO
QUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJ
TUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
TEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9B
TklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQp
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVO
QUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVO
QUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5B
QkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKaW5kZXggNzQz
MzBlNzAzZGFjNGQzNjAwZWFiMjdhMGFkOGViNGFmMDBlMGIzMi4uNjIyODczZGQyZjk0NzBhOTEz
MThhY2NjZDQ3MDlkY2VhZTcyNjA4ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52
Y3hwcm9qCkBAIC03MzQsNiArNzM0LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1
bnRpbWVcSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJWaWV3LmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNCb3VuZEZ1bmN0aW9uLmNwcCIgLz4KKyAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJvd0Z1bmN0aW9uLmNwcCIgLz4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZS5jcHAiIC8+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ2FsbGVlLmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDYXRjaFNjb3BlLmNwcCIgLz4KQEAgLTE1MjYsNiArMTUy
Nyw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJW
aWV3SW5saW5lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0Fy
cmF5SXRlcmF0b3IuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNC
b3VuZEZ1bmN0aW9uLmgiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpT
QXJyb3dGdW5jdGlvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxK
U0NJbmxpbmVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0pT
VmFsdWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1
ZUlubGluZXMuaCIgLz4KQEAgLTE4MDAsNCArMTgwMiw0IEBACiAgIDxJbXBvcnRHcm91cCBMYWJl
bD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1Bh
dGgpXEJ1aWxkQ3VzdG9taXphdGlvbnNcbWFzbS50YXJnZXRzIiAvPgogICA8L0ltcG9ydEdyb3Vw
PgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYmEyZDEzNmViOTViNWE5ZmQzNTRhYjMwYThm
MzY5MWJmNzhjZWI4Ni4uZTlkNmYyNDY1ZTMzODU1ZDM2OGI0ZDIwNGUwZDc2NDZjNTZlOTg5ZiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwOTIsNiArMTA5Miw4IEBACiAJCTg2
RjNFRUJGMTY4Q0RFOTMwMDc3QjkyQSAvKiBPYmpjUnVudGltZUV4dHJhcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGM0VFQjYxNjg1NUE1QjAwNzdC
OTJBIC8qIE9iamNSdW50aW1lRXh0cmFzLmggKi87IH07CiAJCTg2RkE5RTkxMTQyQkJCMkUwMDE3
NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRGdW5j
dGlvbi5jcHAgKi87IH07CiAJCTg2RkE5RTkyMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVu
Y3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2
RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLzsgfTsKKwkJOEIw
RjQyNEMxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUyMDAzOTE3
RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCAqLzsgfTsKKwkJOEIwRjQyNEMxQUJENkRFMjAwMzkx
N0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlv
bi5oICovOyB9OwogCQk5MDIxM0UzRDEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGlj
cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIx
M0UzQjEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi87IH07CiAJCTkw
MjEzRTNFMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIxM0UzQzEyM0E0MEMyMDBENDIy
RjMgLyogTWVtb3J5U3RhdGlzdGljcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTkzMDUyQzM0MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVu
YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzA1
MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwICovOyB9OwpAQCAtMjgyNCw2
ICsyODI2LDggQEAKIAkJODZGNzVFRkQxNTFDMDYyRjAwN0M5QkEzIC8qIFJlZ0V4cE1hdGNoZXNB
cnJheS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWdFeHBNYXRj
aGVzQXJyYXkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkZBOUU4RjE0MkJC
QjJEMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTQm91bmRGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdFQSAvKiBKU0Fy
cm93RnVuY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcnJvd0Z1bmN0aW9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93
RnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcnJv
d0Z1bmN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTAyMTNFM0IxMjNB
NDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTWVtb3J5U3RhdGlzdGljcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lbW9yeVN0YXRpc3RpY3MuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8q
IFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBh
cnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ0MzgsNiArNDQ0
Miw4IEBACiAJCQkJQTdCREFFQzUxN0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJyYXlJdGVyYXRvci5o
ICovLAogCQkJCTg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3Bw
ICovLAogCQkJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAq
LywKKwkJCQk4QjBGNDI0QTFBQkQ2RDJGMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggKi8s
CisJCQkJOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgKi8s
CiAJCQkJNjU3Q0Y0NTYxOUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmNwcCAqLywKIAkJCQk2
NTdDRjQ1NzE5QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuaCAqLywKIAkJCQkwRkQ5NDk3RTFB
OTdEQjk2MDBFMjg5NjYgLyogSlNDYXRjaFNjb3BlLmNwcCAqLywKQEAgLTcxNjYsNiArNzE3Miw3
IEBACiAJCQkJMEZEOEEzMUIxN0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTE9TUkVudHJ5LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGMjM1QkRDMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjM1QkRGMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JF
eGl0Q29tcGlsZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOEIwRjQyNEMxQUJENkRFMjAwMzkx
N0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkVBMEEyQTE3
MDk2Mjk2MDBCQjcyMkMgLyogRlRMT3V0cHV0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNDg1
MzI5MTg3REZERUMwMDgzQjY4NyAvKiBGVExSZWNvdmVyeU9wY29kZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwRjZCMUNDMzE4NjJDNDc4MDA4NDVEOTcgLyogRlRMUmVnaXN0ZXJBdE9mZnNldC5j
cHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9CeXRlY29kZUxpc3QuanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9C
eXRlY29kZUxpc3QuanNvbgppbmRleCA2YjI0MzkxNTZhYjNhZmFlNmI1NThhYjkwNjZkMjIyNTE1
ZDU5ZTQ1Li40MzYwNzA5ZDhmN2U0MTgyMTVhYjJhZjk1OWJmNjQ0OGFmMDM4MDI4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24KKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCkBAIC05
NSw2ICs5NSw3IEBACiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9zd2l0Y2hfc3RyaW5nIiwg
Imxlbmd0aCIgOiA0IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfZnVuYyIsICJs
ZW5ndGgiIDogNCB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfbmV3X2Z1bmNfZXhwIiwg
Imxlbmd0aCIgOiA0IH0sCisgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfYXJyb3dfZnVu
Y19leHAiLCAibGVuZ3RoIiA6IDUgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGwi
LCAibGVuZ3RoIiA6IDkgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGxfZXZhbCIs
ICJsZW5ndGgiIDogOSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbF92YXJhcmdz
IiwgImxlbmd0aCIgOiA5IH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9C
eXRlY29kZVVzZURlZi5oCmluZGV4IDg1ZjI5MTVjN2U4ZjYwMWFkM2VjMTc4YmY2OWUzNTQ0Zjc1
NGMyY2YuLjE3YjZiZWQ4MWZlMjViNjIzMzBiYWEzZmQwMzFjNzE2YWI4OGY5YmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCkBAIC0xMTYs
NiArMTE2LDkgQEAgdm9pZCBjb21wdXRlVXNlc0ZvckJ5dGVjb2RlT2Zmc2V0KAogICAgIGNhc2Ug
b3BfZ2V0X3Byb3BlcnR5X2VudW1lcmF0b3I6CiAgICAgY2FzZSBvcF9nZXRfZW51bWVyYWJsZV9s
ZW5ndGg6CiAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRpZgog
ICAgIGNhc2Ugb3BfdG9faW5kZXhfc3RyaW5nOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29u
c3Rfbm9wOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29uc3Q6CkBAIC0zMDgsNiArMzExLDkg
QEAgdm9pZCBjb21wdXRlRGVmc0ZvckJ5dGVjb2RlT2Zmc2V0KENvZGVCbG9jayogY29kZUJsb2Nr
LCB1bnNpZ25lZCBieXRlY29kZU9mZnNldCwKICAgICBjYXNlIG9wX25ld19yZWdleHA6CiAgICAg
Y2FzZSBvcF9uZXdfZnVuYzoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhw
OgorI2VuZGlmCiAgICAgY2FzZSBvcF9jYWxsX3ZhcmFyZ3M6CiAgICAgY2FzZSBvcF9jb25zdHJ1
Y3RfdmFyYXJnczoKICAgICBjYXNlIG9wX2dldF9mcm9tX3Njb3BlOgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAppbmRleCA5ZTk1MTdlNzgxYmU1NTdmMDRm
MTdmOTNkZWM3MWI5MTZjYzlhMmFkLi4xMTU0MjBjZTExYjA4NTlmNmVlMzNhODI5YzQzMGQxOTA3
YmYxZWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNw
cApAQCAtMTI3NCw2ICsxMjc0LDE3IEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wQnl0ZWNvZGUoCiAg
ICAgICAgICAgICBvdXQucHJpbnRmKCIlcywgJXMsIGYlZCIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0
YSgpLCByZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjApOwogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBj
YXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDogeworICAgICAgICAgICAgaW50IHIwID0gKCsraXQp
LT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUub3BlcmFuZDsKKyAg
ICAgICAgICAgIGludCBmMCA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgaW50IHIy
ID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBwcmludExvY2F0aW9uQW5kT3Aob3V0
LCBleGVjLCBsb2NhdGlvbiwgaXQsICJvcF9uZXdfYXJyb3dfZnVuY19leHAiKTsKKyAgICAgICAg
ICAgIG91dC5wcmludGYoIiVzLCAlcywgZiVkLCAlcyIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0YSgp
LCByZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjAsIHJlZ2lzdGVyTmFtZShyMikuZGF0YSgpKTsK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgY2FzZSBvcF9u
ZXdfZnVuY19leHA6IHsKICAgICAgICAgICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVyYW5kOwog
ICAgICAgICAgICAgaW50IHIxID0gKCsraXQpLT51Lm9wZXJhbmQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCmlu
ZGV4IDg4NzJkNzc3ZDNlNTkyMTFjOTE2ZDQ3ODBkMGUwNDI3ZWQzOThmODYuLjg1YmZhY2UzMjNl
MDViODdjNDVmOWFlYmY5NzI3MDNhMGM5YWM5MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0xNzU0
LDYgKzE3NTQsMjIgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdGdW5j
dGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogcjAsIEZ1bmNFeHAKICAgICBpbnN0cnVjdGlvbnMo
KS5hcHBlbmQoaW5kZXgpOwogICAgIHJldHVybiByMDsKIH0KKyAgICAKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVt
aXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVuY0V4cHJOb2Rl
KiBuKQoreworICAgIGVtaXRURFpDaGVjayh0aGlzUmVnaXN0ZXIoKSk7CisgICAgRnVuY3Rpb25C
b2R5Tm9kZSogZnVuY3Rpb24gPSBuLT5ib2R5KCk7CisgICAgdW5zaWduZWQgaW5kZXggPSBtX2Nv
ZGVCbG9jay0+YWRkRnVuY3Rpb25FeHByKG1ha2VGdW5jdGlvbihmdW5jdGlvbikpOworICAgIAor
ICAgIGVtaXRPcGNvZGUob3BfbmV3X2Fycm93X2Z1bmNfZXhwKTsKKyAgICBpbnN0cnVjdGlvbnMo
KS5hcHBlbmQocjAtPmluZGV4KCkpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChzY29wZVJl
Z2lzdGVyKCktPmluZGV4KCkpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChpbmRleCk7Cisg
ICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHRoaXNSZWdpc3RlcigpLT5pbmRleCgpKTsKKyAgICBy
ZXR1cm4gcjA7Cit9CisjZW5kaWYKIAogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVt
aXROZXdEZWZhdWx0Q29uc3RydWN0b3IoUmVnaXN0ZXJJRCogZHN0LCBDb25zdHJ1Y3RvcktpbmQg
Y29uc3RydWN0b3JLaW5kLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmlu
ZGV4IDRmZmVmNmI0MDk3ZjAyNDZkYzFiYWU4OWVlOGFhYjhlYzk1YzYwZmEuLjM3OGExOWVhYWVk
ZGZiZGI0ZjUxMjI4MGU5MDg5NDM4NTc3YTc0OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTQ1NCw2ICs0
NTQsMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5j
dGlvbkludGVybmFsKFJlZ2lzdGVySUQqIGRzdCwgdW5zaWduZWQgaW5kZXgpOwogICAgICAgICBS
ZWdpc3RlcklEKiBlbWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIGRzdCwgRnVu
Y0V4cHJOb2RlKiBmdW5jKTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0RlZmF1bHRDb25z
dHJ1Y3RvcihSZWdpc3RlcklEKiBkc3QsIENvbnN0cnVjdG9yS2luZCwgY29uc3QgSWRlbnRpZmll
ciYgbmFtZSk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAg
UmVnaXN0ZXJJRCogZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqLCBG
dW5jRXhwck5vZGUqKTsKKyAgICAgICAgUmVnaXN0ZXJJRCogZW1pdFRoaXNOb2RlQnl0ZWNvZGUo
UmVnaXN0ZXJJRCosIEpTVGV4dFBvc2l0aW9uKTsKKyNlbmRpZgogICAgICAgICBSZWdpc3RlcklE
KiBlbWl0TmV3UmVnRXhwKFJlZ2lzdGVySUQqIGRzdCwgUmVnRXhwKik7CiAKICAgICAgICAgUmVn
aXN0ZXJJRCogZW1pdE1vdmVFbXB0eVZhbHVlKFJlZ2lzdGVySUQqIGRzdCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXgg
NGY3NDc2Y2EzM2M5MTMxYmI3M2RmYTg5NmE2MDA1NzU2MjY1ODFiNy4uYzU2YTJjMzVlMmFmODQx
NjFjNzJmYTlkYTAwNzI5YjcxYjYyMDAwMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtMjgzMyw2ICsyODMzLDE0IEBA
IFJlZ2lzdGVySUQqIEZ1bmNFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9y
JiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqCiAgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0TmV3RnVu
Y3Rpb25FeHByZXNzaW9uKGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHRoaXMpOwog
fQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgICAgCisvLyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQXJyb3dGdW5jRXhwck5vZGUgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCitSZWdpc3RlcklEKiBBcnJvd0Z1bmNFeHByTm9kZTo6ZW1pdEJ5
dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKK3sK
KyAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihnZW5l
cmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QpLCB0aGlzKTsKK30KKyNlbmRpZgorICAgIAogI2lm
IEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tIENsYXNzRGVjbE5vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKaW5kZXgg
NTNhYzE3NzQ2MTk2OWVlZmI2NmFkZjYwOTA2ODFlNmU1Yjc2YjAzMi4uZmQ3MzdhM2Y3OGU5YzJi
OWYxYTk5MTk3ODhkMTIzZTZiMmQ5MzMwYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKQEAgLTM2NzUsNiArMzY3NSwxNSBAQCBib29sIEJ5
dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxpbWl0KQogICAgICAgICAgICAgTkVY
VF9PUENPREUob3BfbmV3X2Z1bmNfZXhwKTsKICAgICAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6
IHsKKyAgICAgICAgICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhwciA9IG1faW5saW5lU3RhY2tU
b3AtPm1fcHJvZmlsZWRCbG9jay0+ZnVuY3Rpb25FeHByKGN1cnJlbnRJbnN0cnVjdGlvblszXS51
Lm9wZXJhbmQpOworICAgICAgICAgICAgRnJvemVuVmFsdWUqIGZyb3plbiA9IG1fZ3JhcGguZnJl
ZXplU3Ryb25nKGV4cHIpOworICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50
SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwKKyAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKE5l
d0Z1bmN0aW9uLCBPcEluZm8oZnJvemVuKSwgZ2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5z
dHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSkpKTsKKyAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX25l
d19hcnJvd19mdW5jX2V4cCk7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBjYXNlIG9wX3R5
cGVvZjogewogICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rp
b25bMV0udS5vcGVyYW5kKSwKICAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKFR5cGVPZiwgZ2V0
KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSkpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAppbmRleCA4ZWY0
ZGNmMTU2OGJkNWVkYTRiODk3ZTc2ODRhOGNiYjkxYmY2ZTA4Li43ZjQ1YTgzMWVhNmU2MjczYmFj
ZDJlM2Y4MzM2ZGRjNTYyYzhjYzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdDYXBhYmlsaXRpZXMuY3BwCkBAIC0yMDgsNiArMjA4LDkgQEAgQ2FwYWJpbGl0eUxldmVsIGNh
cGFiaWxpdHlMZXZlbChPcGNvZGVJRCBvcGNvZGVJRCwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIElu
c3RydWMKICAgICBjYXNlIG9wX25ld19mdW5jOgogICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOgog
ICAgIGNhc2Ugb3BfY3JlYXRlX2xleGljYWxfZW52aXJvbm1lbnQ6CisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNl
bmRpZgogICAgICAgICByZXR1cm4gQ2FuQ29tcGlsZUFuZElubGluZTsKIAogICAgIGNhc2Ugb3Bf
cHV0X3RvX3Njb3BlOiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvSW50ZXJwcmV0ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVy
L0ludGVycHJldGVyLmNwcAppbmRleCBlY2ZjZTkxYmQzYzAzMDg1M2EzOTQwMzJiYTVjZDI4MmEx
YTNjZDhlLi5mMmE1ZWJiNDhmYzkzNmEwMGI5ZjljYzQzZThkZTU4NDMzZjg1NThkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKQEAg
LTQ0LDYgKzQ0LDcgQEAKICNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCiAjaW5jbHVkZSAi
R2V0dGVyU2V0dGVyLmgiCiAjaW5jbHVkZSAiSlNBcnJheS5oIgorI2luY2x1ZGUgIkpTQXJyb3dG
dW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQ0lu
bGluZXMuaCIKICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVQuY3BwCmluZGV4IDQyYTgyZDQzOTQ2MTYyZjk1ZmE0NzQ2NzU2NzEzOWQ0YWFmMjM4
NmIuLjgzZDUwOGI4NzY1OWUzZWZmOGJjMTg3ZTA2ZGFkNzAxMWY0ODJlZDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVC5jcHAKQEAgLTI1Myw2ICsyNTMsNyBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNv
bXBpbGVNYWluUGFzcygpCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfYXJyYXlfYnVmZmVyKQog
ICAgICAgICBERUZJTkVfT1Aob3BfbmV3X2Z1bmMpCiAgICAgICAgIERFRklORV9PUChvcF9uZXdf
ZnVuY19leHApCisgICAgICAgIERFRklORV9PUChvcF9uZXdfYXJyb3dfZnVuY19leHApIAogICAg
ICAgICBERUZJTkVfT1Aob3BfbmV3X29iamVjdCkKICAgICAgICAgREVGSU5FX09QKG9wX25ld19y
ZWdleHApCiAgICAgICAgIERFRklORV9PUChvcF9ub3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaApp
bmRleCBlZTQ4NTVkYzJlNzhiNTVhY2M0NTk5ZWJkYjk5YTBkOGUwOGJlN2NjLi5mYmE1ZDJlMzFh
NTQxZmVlNWQ0NGEyOGY5ZThlMTU5YzljYjNhNDZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgK
QEAgLTUyMiw2ICs1MjIsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBlbWl0X29w
X25ld19hcnJheV9idWZmZXIoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX25l
d19mdW5jKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfZnVuY19leHAo
SW5zdHJ1Y3Rpb24qKTsKKyAgICAgICAgdm9pZCBlbWl0X29wX25ld19hcnJvd19mdW5jX2V4cChJ
bnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X29iamVjdChJbnN0cnVjdGlv
biopOwogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X3JlZ2V4cChJbnN0cnVjdGlvbiopOwogICAg
ICAgICB2b2lkIGVtaXRfb3Bfbm90KEluc3RydWN0aW9uKik7CkBAIC03MDUsNiArNzA2LDkgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRp
b24oSl9KSVRPcGVyYXRpb25fRUpKLCBpbnQsIEdQUlJlZywgR1BSUmVnKTsKICAgICAgICAgTWFj
cm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihDX0pJVE9wZXJhdGlvbl9FSnNjLCBHUFJS
ZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3Bl
cmF0aW9uX0VKc2NDLCBpbnQsIEdQUlJlZywgSlNDZWxsKik7CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJh
dGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0osIGludCwgR1BSUmVnLCBKU0NlbGwqLCBHUFJSZWcp
OworI2VuZGlmCiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19K
SVRPcGVyYXRpb25fRUpzY1osIEdQUlJlZywgaW50MzJfdCk7CiAgICAgICAgIE1hY3JvQXNzZW1i
bGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUpzY1osIGludCwgR1BSUmVn
LCBpbnQzMl90KTsKICNpZiBVU0UoSlNWQUxVRTY0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VElubGluZXMuaAppbmRleCA5ZWUyNGQwOTIyOGE5ODgyZWE3Njk2MjlkMWE4N2I2YzM0YTg2MzM0
Li41NDM0ZTVmYjE2MTQ4N2M4OGFkMWZjZjFiY2Y2MzA2ZjYwM2QxZWY3IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVElubGluZXMuaApAQCAtMjcxLDYgKzI3MSwxNCBAQCBBTFdBWVNfSU5M
SU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlv
bl9FSnNjQyBvcGVyYQogICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0
SlNWYWx1ZVJlc3VsdChvcGVyYXRpb24sIGRzdCk7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6
OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0NKIG9wZXJhdGlvbiwgaW50IGRzdCwg
R1BSUmVnIGFyZzEsIEpTQ2VsbCogY2VsbCwgR1BSUmVnIGFyZzIpCit7CisgICAgc2V0dXBBcmd1
bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIFRydXN0ZWRJbW1QdHIoY2VsbCksIGFyZzIpOworICAg
IHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0SlNWYWx1ZVJlc3VsdChvcGVy
YXRpb24sIGRzdCk7Cit9CisjZW5kaWYKKyAgICAKIEFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJs
ZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VQIG9wZXJhdGlvbiwg
aW50IGRzdCwgdm9pZCogcG9pbnRlcikKIHsKICAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3Rh
dGUoVHJ1c3RlZEltbVB0cihwb2ludGVyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVE9wY29kZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRP
cGNvZGVzLmNwcAppbmRleCBkM2Q1ODBlOWUyNjAwODUzYjY2NDllMjg1OTE4Zjg1MzhiZTY5NDRj
Li42Y2EwMDMwZjhjNGEyMTIyMWFhOTI4M2NjMjc2MTMwZDc5ZTc0NDQ1IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKQEAgLTk3Miw2ICs5NzIsMjkgQEAgdm9pZCBK
SVQ6OmVtaXRfb3BfbmV3X2Z1bmNfZXhwKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24p
CiAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25OZXdGdW5jdGlvbiwgZHN0LCByZWdUMCwgZnVu
Y0V4cHIpOwogICAgIGRvbmUubGluayh0aGlzKTsKIH0KKyAgICAKK3ZvaWQgSklUOjplbWl0X29w
X25ld19hcnJvd19mdW5jX2V4cChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQorewor
ICAgIEp1bXAgbm90VW5kZWZpbmVkU2NvcGU7CisgICAgaW50IGRzdCA9IGN1cnJlbnRJbnN0cnVj
dGlvblsxXS51Lm9wZXJhbmQ7CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICBlbWl0R2V0VmlydHVh
bFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQsIHJlZ1QwKTsKKyAgICBl
bWl0R2V0VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvbls0XS51Lm9wZXJhbmQsIHJl
Z1QxKTsKKyAgICBub3RVbmRlZmluZWRTY29wZSA9IGJyYW5jaDY0KE5vdEVxdWFsLCByZWdUMCwg
VHJ1c3RlZEltbTY0KEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSkpOworICAgIHN0b3Jl
NjQoVHJ1c3RlZEltbTY0KEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSksIEFkZHJlc3Mo
Y2FsbEZyYW1lUmVnaXN0ZXIsIHNpemVvZihSZWdpc3RlcikgKiBkc3QpKTsKKyNlbHNlCisgICAg
ZW1pdExvYWRQYXlsb2FkKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQsIHJlZ1QwKTsK
KyAgICBlbWl0TG9hZFBheWxvYWQoY3VycmVudEluc3RydWN0aW9uWzRdLnUub3BlcmFuZCwgcmVn
VDEpOworICAgIG5vdFVuZGVmaW5lZFNjb3BlID0gYnJhbmNoMzIoTm90RXF1YWwsIHRhZ0Zvcihj
dXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSwgVHJ1c3RlZEltbTMyKEpTVmFsdWU6OlVu
ZGVmaW5lZFRhZykpOworICAgIGVtaXRTdG9yZShkc3QsIGpzVW5kZWZpbmVkKCkpOworI2VuZGlm
CisgICAgSnVtcCBkb25lID0ganVtcCgpOworICAgIG5vdFVuZGVmaW5lZFNjb3BlLmxpbmsodGhp
cyk7CisgICAgCisgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlvbiA9IG1fY29kZUJsb2Nr
LT5mdW5jdGlvbkV4cHIoY3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZCk7CisgICAgY2Fs
bE9wZXJhdGlvbihvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uLCBkc3QsIHJlZ1QwLCBmdW5jdGlv
biwgcmVnVDEpOworICAgIGRvbmUubGluayh0aGlzKTsKK30KIAogdm9pZCBKSVQ6OmVtaXRfb3Bf
bmV3X2FycmF5KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAppbmRleCA1OGI4NjM2ZDg4NmRiYjJl
ODUyOTFiMjkzNTBkOWNmNGUxNDI0MTcxLi5kNTZlZWQyNmI2ZDQ5ZTUzMmU4MGE3NGI0OWVkMjZj
NjE2NTI0NTI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJh
dGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5j
cHAKQEAgLTQyLDYgKzQyLDggQEAKICNpbmNsdWRlICJIb3N0Q2FsbFJldHVyblZhbHVlLmgiCiAj
aW5jbHVkZSAiSklULmgiCiAjaW5jbHVkZSAiSklUVG9ERkdEZWZlcnJlZENvbXBpbGF0aW9uQ2Fs
bGJhY2suaCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU0JvdW5k
RnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDYXRjaFNj
b3BlLmgiCiAjaW5jbHVkZSAiSlNGdW5jdGlvbk5hbWVTY29wZS5oIgpAQCAtOTMzLDYgKzkzNSwy
MyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Z1bmN0aW9uKEV4
ZWNTdGF0ZSogZXhlYywgSlNTY29wZSogc2NvcAogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
SlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBzdGF0aWNfY2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihm
dW5jdGlvbkV4ZWN1dGFibGUpLCBzY29wZSkpOwogfQogCitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBKU1Njb3Bl
KiBzY29wZSwgSlNDZWxsKiBmdW5jdGlvbkV4ZWN1dGFibGUsIEVuY29kZWRKU1ZhbHVlIHRoaXNW
YWx1ZSkKK3sKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEFTU0VS
VChmdW5jdGlvbkV4ZWN1dGFibGUtPmluaGVyaXRzKEZ1bmN0aW9uRXhlY3V0YWJsZTo6aW5mbygp
KSk7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIg
dHJhY2VyKCZ2bSwgZXhlYyk7CisgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGV4
ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNB
cnJvd0Z1bmN0aW9uOjpjcmVhdGUodm0sIHNjb3BlLCBzdGF0aWNfY2FzdDxGdW5jdGlvbkV4ZWN1
dGFibGUqPihmdW5jdGlvbkV4ZWN1dGFibGUpLCBnbG9iYWxPYmplY3QpOworICAgIAorICAgIEpT
QXJyYXkqIGJvdW5kQXJncyA9IEpTQXJyYXk6OnRyeUNyZWF0ZVVuaW5pdGlhbGl6ZWQodm0sIGds
b2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5cGVEdXJpbmdBbGxvY2F0aW9u
KEFycmF5V2l0aFVuZGVjaWRlZCksIDApOworICAgIAorICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoSlNCb3VuZEZ1bmN0aW9uOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgZnVuYywgSlNWYWx1
ZTo6ZGVjb2RlKHRoaXNWYWx1ZSksIGJvdW5kQXJncywgMCwgIiIpKTsKKyNlbHNlCisgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyNlbmRpZgorfQorICAgIAogSlND
ZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3RhdGUqIGV4ZWMsIFN0
cnVjdHVyZSogc3RydWN0dXJlKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaAppbmRleCA0ZGVjZWY0ZWI4YjQ4YmI5
MzdkNTRkMGI2MDRiOWI3NzY3YTRlYTYxLi4zYTA3NWExYzRhZTM5ZWYxZTljNWE3MGRjOTNjZTZi
NzAwMjhhN2Q3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJh
dGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaApA
QCAtMTE2LDYgKzExNiw5IEBAIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAo
KkpfSklUT3BlcmF0aW9uX0VQUCkoRXhlY1N0YXRlKiwgdm9pZCosIHZvCiB0eXBlZGVmIEVuY29k
ZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FUFMpKEV4ZWNTdGF0ZSos
IHZvaWQqLCBzaXplX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgq
Sl9KSVRPcGVyYXRpb25fRVBjKShFeGVjU3RhdGUqLCBJbnN0cnVjdGlvbiopOwogdHlwZWRlZiBF
bmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUpzY0MpKEV4ZWNT
dGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQordHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVy
YXRpb25fRUpzY0NKKShFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFs
dWUpOworI2VuZGlmCiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJ
VE9wZXJhdGlvbl9FU1MpKEV4ZWNTdGF0ZSosIHNpemVfdCwgc2l6ZV90KTsKIHR5cGVkZWYgRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTc2lDSSkoRXhlY1N0
YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBKU0NlbGwqLCBTdHJpbmdJbXBsKik7CiB0eXBlZGVm
IEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FU3NpSkkpKEV4
ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUsIFN0cmluZ0ltcGwq
KTsKQEAgLTI3OCw2ICsyODEsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbk5ld0FycmF5V2l0aFByb2ZpbGUoRXhlY1N0YXRlKiwgQXJyYXlBbGxvYwogRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJheUJ1ZmZlcldpdGhQcm9maWxlKEV4
ZWNTdGF0ZSosIEFycmF5QWxsb2NhdGlvblByb2ZpbGUqLCBjb25zdCBKU1ZhbHVlKiB2YWx1ZXMs
IGludDMyX3Qgc2l6ZSkgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElP
TiBvcGVyYXRpb25OZXdBcnJheVdpdGhTaXplQW5kUHJvZmlsZShFeGVjU3RhdGUqLCBBcnJheUFs
bG9jYXRpb25Qcm9maWxlKiwgRW5jb2RlZEpTVmFsdWUgc2l6ZSkgV1RGX0lOVEVSTkFMOwogRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdGdW5jdGlvbihFeGVjU3RhdGUq
LCBKU1Njb3BlKiwgSlNDZWxsKikgV1RGX0lOVEVSTkFMOworRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBK
U0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVSTkFMOwogSlNDZWxsKiBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqKSBXVEZfSU5URVJO
QUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld1JlZ2V4cChFeGVj
U3RhdGUqLCB2b2lkKikgV1RGX0lOVEVSTkFMOwogdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
bkhhbmRsZVdhdGNoZG9nVGltZXIoRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFMOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKaW5kZXggMjc5Mjg1YTQ2
ODA2Y2M2ODlkMDVkMTNjZjQ2MzQyZDA2YjVlZmQ2NC4uYmYzMzE0MDlkMTA4YzllN2M4ZTg5MDVj
Y2NkNTkyZWQwZGNjMDg4MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xMSW50U2xvd1BhdGhzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJ
bnRTbG93UGF0aHMuY3BwCkBAIC0zOCw2ICszOCw4IEBACiAjaW5jbHVkZSAiSW50ZXJwcmV0ZXIu
aCIKICNpbmNsdWRlICJKSVQuaCIKICNpbmNsdWRlICJKSVRFeGNlcHRpb25zLmgiCisjaW5jbHVk
ZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCiAjaW5j
bHVkZSAiSlNMZXhpY2FsRW52aXJvbm1lbnQuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAj
aW5jbHVkZSAiSlNDSlNWYWx1ZS5oIgpAQCAtMTcxLDYgKzE3MywxNSBAQCBuYW1lc3BhY2UgSlND
IHsgbmFtZXNwYWNlIExMSW50IHsKICAgICAgICAgTExJTlRfUkVUVVJOX1RXTyhwYywgX19yY2Zf
ZXhlYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICB9IHdoaWxlIChmYWxz
ZSkKIAorICAgIAorI2RlZmluZSBMTElOVF9DQUxDX1BST1BFUlRZX0ZPUl9GVU5DX0VYUFIoKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgTExJTlRfQkVHSU4oKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVCbG9jaygpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIEpTU2NvcGUqIHNjb3BlID0gZXhl
Yy0+dW5jaGVja2VkUihwY1syXS51Lm9wZXJhbmQpLlJlZ2lzdGVyOjpzY29wZSgpOyAgICAgICBc
CisgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlID0gY29kZUJsb2NrLT5mdW5jdGlv
bkV4cHIocGNbM10udS5vcGVyYW5kKTsgIFwKKyAgICAKK2VudW0gRnVuY3Rpb25FeHByZXNzaW9u
VHlwZSB7IEFycm93RnVuY3Rpb25FeHByZXNzaW9uVHlwZSwgQ29tbW9uRnVuY3Rpb25FeHByZXNz
aW9uVHlwZX07CisgICAgCiBleHRlcm4gIkMiIFNsb3dQYXRoUmV0dXJuVHlwZSBsbGludF90cmFj
ZV9vcGVyYW5kKEV4ZWNTdGF0ZSogZXhlYywgSW5zdHJ1Y3Rpb24qIHBjLCBpbnQgZnJvbVdoZXJl
LCBpbnQgb3BlcmFuZCkKIHsKICAgICBMTElOVF9CRUdJTigpOwpAQCAtOTg1LDE2ICs5OTYsMzUg
QEAgTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX25ld19mdW5jKQogI2VuZGlmCiAgICAg
TExJTlRfUkVUVVJOKEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgY29kZUJsb2NrLT5mdW5jdGlvbkRl
Y2wocGNbM10udS5vcGVyYW5kKSwgc2NvcGUpKTsKIH0KLQorICAgIAogTExJTlRfU0xPV19QQVRI
X0RFQ0woc2xvd19wYXRoX25ld19mdW5jX2V4cCkKIHsKLSAgICBMTElOVF9CRUdJTigpOwotICAg
IENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+Y29kZUJsb2NrKCk7Ci0gICAgSlNTY29wZSog
c2NvcGUgPSBleGVjLT51bmNoZWNrZWRSKHBjWzJdLnUub3BlcmFuZCkuUmVnaXN0ZXI6OnNjb3Bl
KCk7Ci0gICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlvbiA9IGNvZGVCbG9jay0+ZnVuY3Rp
b25FeHByKHBjWzNdLnUub3BlcmFuZCk7Ci0gICAgSlNGdW5jdGlvbiogZnVuYyA9IEpTRnVuY3Rp
b246OmNyZWF0ZSh2bSwgZnVuY3Rpb24sIHNjb3BlKTsKKyAgICBMTElOVF9DQUxDX1BST1BFUlRZ
X0ZPUl9GVU5DX0VYUFIoKTsKKworICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Z1bmN0aW9uOjpj
cmVhdGUodm0sIGV4ZWN1dGFibGUsIHNjb3BlKTsKKyAgICBMTElOVF9SRVRVUk4oZnVuYyk7Cit9
CisKKworTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX25ld19hcnJvd19mdW5jX2V4cCkK
K3sKKyAgICBMTElOVF9DQUxDX1BST1BFUlRZX0ZPUl9GVU5DX0VYUFIoKTsKKworI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBMTElO
VF9PUF9DKDQpLmpzVmFsdWUoKTsKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0g
ZXhlYy0+Y2FsbGVlKCktPmdsb2JhbE9iamVjdCgpOwogICAgIAorICAgIEpTRnVuY3Rpb24qIGZ1
bmMgPSBKU0Fycm93RnVuY3Rpb246OmNyZWF0ZSh2bSwgc2NvcGUsIGV4ZWN1dGFibGUsIGdsb2Jh
bE9iamVjdCk7CisgICAgCisgICAgSlNBcnJheSogYm91bmRBcmdzID0gSlNBcnJheTo6dHJ5Q3Jl
YXRlVW5pbml0aWFsaXplZCh2bSwgZ2xvYmFsT2JqZWN0LT5hcnJheVN0cnVjdHVyZUZvckluZGV4
aW5nVHlwZUR1cmluZ0FsbG9jYXRpb24oQXJyYXlXaXRoVW5kZWNpZGVkKSwgMCk7CisgICAgCisg
ICAgY29uc3QgU3RyaW5nIGZ1bmNXaXRob3V0TmFtZSA9ICIiOworICAgIAorICAgIExMSU5UX1JF
VFVSTihKU0JvdW5kRnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBmdW5jLCB0aGlz
VmFsdWUsIGJvdW5kQXJncywgMCwgZnVuY1dpdGhvdXROYW1lKSk7CisjZWxzZQorICAgIEpTRnVu
Y3Rpb24qIGZ1bmMgPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGV4ZWN1dGFibGUsIHNjb3BlKTsK
ICAgICBMTElOVF9SRVRVUk4oZnVuYyk7CisjZW5kaWYKIH0KIAogc3RhdGljIFNsb3dQYXRoUmV0
dXJuVHlwZSBoYW5kbGVIb3N0Q2FsbChFeGVjU3RhdGUqIGV4ZWNDYWxsZWUsIEluc3RydWN0aW9u
KiBwYywgSlNWYWx1ZSBjYWxsZWUsIENvZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgKaW5kZXggNGJmN2RlYjBm
YTBiNmM2NDM4ZTM2Zjk2MzIwZTJmNjY5NzM5YWY2NC4uYzdmYWI5NjkxYzE4YjkzOTU2ZDBlYTI5
ZjMzOTU2MTE4YzVlNzFlZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xMSW50U2xvd1BhdGhzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50
U2xvd1BhdGhzLmgKQEAgLTk2LDYgKzk2LDcgQEAgTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNM
KHNsb3dfcGF0aF9zd2l0Y2hfY2hhcik7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xv
d19wYXRoX3N3aXRjaF9zdHJpbmcpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3df
cGF0aF9uZXdfZnVuYyk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX25l
d19mdW5jX2V4cCk7CitMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX25ld19h
cnJvd19mdW5jX2V4cCk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX2Nh
bGwpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9jb25zdHJ1Y3QpOwog
TExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9zaXplX2ZyYW1lX2Zvcl92YXJh
cmdzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbQppbmRleCBmZGE5MWVkNTk5MGNiNmU0ZjJjYjc4YWE2YTRiMmQ4YzJjMGM0NzJh
Li44MjI3MTM0OTgyZGI3NTgxZGM4YTIyNWNkNDIzMjgyMDA5MmZiNzNlIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCkBAIC0x
MTcxLDYgKzExNzEsMTAgQEAgX2xsaW50X29wX25ld19mdW5jX2V4cDoKICAgICBjYWxsU2xvd1Bh
dGgoX2xsaW50X3Nsb3dfcGF0aF9uZXdfZnVuY19leHApCiAgICAgZGlzcGF0Y2goNCkKIAorX2xs
aW50X29wX25ld19hcnJvd19mdW5jX2V4cDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2Fs
bFNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKQorICAgIGRpc3Bh
dGNoKDUpCiAKIF9sbGludF9vcF9jYWxsOgogICAgIHRyYWNlRXhlY3V0aW9uKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKaW5kZXggYjhmZTRiODQ4NWEwOTc2ODhm
NWM2MzBiZDhjM2M5Njc2NGZjNDY0OS4uZjJmYTNiZDljMTVmNGU0MjJlZWM2YTc5ZDY1ZjFkNzA4
NmM2MmM3MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWls
ZGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKQEAg
LTMxMyw2ICszMTMsMTkgQEAgcHVibGljOgogICAgICAgICAgICAgaW5TdHJpY3RDb250ZXh0LCBj
b25zdHJ1Y3RvcktpbmQpOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgRXhwcmVzc2lvbk5vZGUqIGNyZWF0ZUFycm93RnVuY3Rpb25FeHByKGNvbnN0
IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RC
dWlsZGVyPiYgaW5mbykKKyAgICB7CisgICAgICAgIFNvdXJjZUNvZGUgc291cmNlID0gaW5mby5m
dW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbgorICAgICAgICA/
IG1fc291cmNlQ29kZS0+c3ViQXJyb3dFeHByZXNzaW9uKGluZm8uYXJyb3dGdW5jdGlvbk9mZnNl
dCwgaW5mby5jbG9zZUJyYWNlT2Zmc2V0LCBpbmZvLmJvZHlTdGFydExpbmUsIGluZm8uYm9keVN0
YXJ0Q29sdW1uKQorICAgICAgICA6IG1fc291cmNlQ29kZS0+c3ViRXhwcmVzc2lvbihpbmZvLm9w
ZW5CcmFjZU9mZnNldCwgaW5mby5jbG9zZUJyYWNlT2Zmc2V0LCBpbmZvLmJvZHlTdGFydExpbmUs
IGluZm8uYm9keVN0YXJ0Q29sdW1uKTsKKworICAgICAgICBBcnJvd0Z1bmNFeHByTm9kZSogcmVz
dWx0ID0gbmV3IChtX3BhcnNlckFyZW5hKSBBcnJvd0Z1bmNFeHByTm9kZShsb2NhdGlvbiwgKmlu
Zm8ubmFtZSwgaW5mby5ib2R5LCBzb3VyY2UsIGluZm8ucGFyYW1ldGVycyk7CisgICAgICAgIGlu
Zm8uYm9keS0+c2V0TG9jKGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5RW5kTGluZSwgbG9j
YXRpb24uc3RhcnRPZmZzZXQsIGxvY2F0aW9uLmxpbmVTdGFydE9mZnNldCk7CisgICAgICAgIHJl
dHVybiByZXN1bHQ7CisgICAgfQorI2VuZGlmCisKICAgICBORVZFUl9JTkxJTkUgUHJvcGVydHlO
b2RlKiBjcmVhdGVHZXR0ZXJPclNldHRlclByb3BlcnR5KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYg
bG9jYXRpb24sIFByb3BlcnR5Tm9kZTo6VHlwZSB0eXBlLCBib29sLAogICAgICAgICBjb25zdCBJ
ZGVudGlmaWVyKiBuYW1lLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88QVNUQnVpbGRlcj4mIGlu
Zm8sIFN1cGVyQmluZGluZyBzdXBlckJpbmRpbmcpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL0xleGVyLmNwcAppbmRleCA3ZGUxNDIyMGJiZGE3MjczOGI1NzNhNGI5Nzg4Y2UwYjMy
Y2M3Y2UzLi41NDBmOWZmYjdiYjUxODI5ZDY3ZGVlZGVjNWU2YThlZDUxY2M0NDE0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcApAQCAtMTQzMCw2ICsxNDMwLDE4IEBAIGJv
b2wgTGV4ZXI8VD46Om5leHRUb2tlbklzQ29sb24oKQogICAgIHJldHVybiBjb2RlIDwgbV9jb2Rl
RW5kICYmICpjb2RlID09ICc6JzsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK3ZvaWQgTGV4ZXI8VD46OnNldFRva2VuUG9z
aXRpb24oSlNUb2tlbiogdG9rZW5SZWNvcmQpCit7CisgICAgSlNUb2tlbkRhdGEqIHRva2VuRGF0
YSA9ICZ0b2tlblJlY29yZC0+bV9kYXRhOworICAgIHRva2VuRGF0YS0+bGluZSA9IGxpbmVOdW1i
ZXIoKTsKKyAgICB0b2tlbkRhdGEtPm9mZnNldCA9IGN1cnJlbnRPZmZzZXQoKTsKKyAgICB0b2tl
bkRhdGEtPmxpbmVTdGFydE9mZnNldCA9IGN1cnJlbnRMaW5lU3RhcnRPZmZzZXQoKTsKKyAgICBB
U1NFUlQodG9rZW5EYXRhLT5vZmZzZXQgPj0gdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQpOwor
fQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgogSlNUb2tlblR5cGUgTGV4ZXI8VD46
OmxleChKU1Rva2VuKiB0b2tlblJlY29yZCwgdW5zaWduZWQgbGV4ZXJGbGFncywgYm9vbCBzdHJp
Y3RNb2RlKQogewpAQCAtMTQ5Myw3ICsxNTA1LDEyIEBAIHN0YXJ0OgogICAgICAgICB9CiAgICAg
ICAgIHRva2VuID0gR1Q7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ2hhcmFjdGVyRXF1YWw6
CisgICAgY2FzZSBDaGFyYWN0ZXJFcXVhbDogeworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgICAgIHVpbnQzMl90IHNhdmVkbGluZU51bWJlciA9IHRva2VuRGF0YS0+
bGluZTsKKyAgICAgICAgdWludDMyX3Qgc2F2ZWRPZmZzZXQgPSBjdXJyZW50T2Zmc2V0KCk7Cisg
ICAgICAgIHVpbnQzMl90IHNhdmVkTGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVTdGFydE9m
ZnNldCgpOworI2VuZGlmCiAgICAgICAgIHNoaWZ0KCk7CiAgICAgICAgIGlmIChtX2N1cnJlbnQg
PT0gJz0nKSB7CiAgICAgICAgICAgICBzaGlmdCgpOwpAQCAtMTUwNSw4ICsxNTIyLDIyIEBAIHN0
YXJ0OgogICAgICAgICAgICAgdG9rZW4gPSBFUUVROwogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAo
bV9jdXJyZW50ID09ICc+JykgeworICAgICAgICAgICAgc2hpZnQoKTsKKyAgICAgICAgICAgIHRv
a2VuID0gQVJST1dGVU5DVElPTjsKKworICAgICAgICAgICAgdG9rZW5EYXRhLT5saW5lID0gc2F2
ZWRsaW5lTnVtYmVyOworICAgICAgICAgICAgdG9rZW5EYXRhLT5vZmZzZXQgPSBzYXZlZE9mZnNl
dDsKKyAgICAgICAgICAgIHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0ID0gc2F2ZWRMaW5lU3Rh
cnRPZmZzZXQ7CisKKyAgICAgICAgICAgIEFTU0VSVCh0b2tlbkRhdGEtPm9mZnNldCA+PSB0b2tl
bkRhdGEtPmxpbmVTdGFydE9mZnNldCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQor
I2VuZGlmCiAgICAgICAgIHRva2VuID0gRVFVQUw7CiAgICAgICAgIGJyZWFrOworICAgIH0KICAg
ICBjYXNlIENoYXJhY3Rlckxlc3M6CiAgICAgICAgIHNoaWZ0KCk7CiAgICAgICAgIGlmIChtX2N1
cnJlbnQgPT0gJyEnICYmIHBlZWsoMSkgPT0gJy0nICYmIHBlZWsoMikgPT0gJy0nKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKaW5kZXggMmRmNTIxMzk5NTc4MjAwNzg1YTE2NmUy
MmE3MzI3NWUwZWE2MzA0ZC4uY2IzZjI1ZjdjMDhmODI1ODFhZjJjZThmYTk5OTk3ZmFkZTA3NjZm
MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaApAQCAtODUsNiArODUsOSBAQCBw
dWJsaWM6CiAgICAgdm9pZCBzZXRJc1JlcGFyc2luZygpIHsgbV9pc1JlcGFyc2luZyA9IHRydWU7
IH0KICAgICBib29sIGlzUmVwYXJzaW5nKCkgY29uc3QgeyByZXR1cm4gbV9pc1JlcGFyc2luZzsg
fQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2b2lkIHNldFRv
a2VuUG9zaXRpb24oSlNUb2tlbiogdG9rZW5SZWNvcmQpOworI2VuZGlmCiAgICAgSlNUb2tlblR5
cGUgbGV4KEpTVG9rZW4qLCB1bnNpZ25lZCwgYm9vbCBzdHJpY3RNb2RlKTsKICAgICBib29sIG5l
eHRUb2tlbklzQ29sb24oKTsKICAgICBpbnQgbGluZU51bWJlcigpIGNvbnN0IHsgcmV0dXJuIG1f
bGluZU51bWJlcjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9O
b2RlQ29uc3RydWN0b3JzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25z
dHJ1Y3RvcnMuaAppbmRleCAzYmRhYjYxYTUyMmUwY2UyYzMzOTdmODBmNGZhMTg0ZDFkNDIxNjBl
Li5iNThlMWZlMWFmOTBlNjYwYjA4NDJlYTdlOTlmMDdhZTZhY2JiOTVlIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaApAQCAtNzgxLDYgKzc4
MSwxMyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgbV9ib2R5LT5maW5pc2hQYXJzaW5nKHNv
dXJjZSwgcGFyYW1ldGVyLCBpZGVudCwgRnVuY3Rpb25FeHByZXNzaW9uKTsKICAgICB9CiAKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlubGluZSBBcnJvd0Z1bmNF
eHByTm9kZTo6QXJyb3dGdW5jRXhwck5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlv
biwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIEZ1bmN0aW9uQm9keU5vZGUqIGJvZHksIGNvbnN0
IFNvdXJjZUNvZGUmIHNvdXJjZSwgUGFyYW1ldGVyTm9kZSogcGFyYW1ldGVyKQorICAgICAgICA6
IEZ1bmNFeHByTm9kZShsb2NhdGlvbiwgaWRlbnQsIGJvZHksIHNvdXJjZSwgcGFyYW1ldGVyKQor
ICAgIHsKKyAgICB9CisjZW5kaWYKKyAgICAKICAgICBpbmxpbmUgRnVuY0RlY2xOb2RlOjpGdW5j
RGVjbE5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29uc3QgSWRlbnRpZmll
ciYgaWRlbnQsIEZ1bmN0aW9uQm9keU5vZGUqIGJvZHksIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJj
ZSwgUGFyYW1ldGVyTm9kZSogcGFyYW1ldGVyKQogICAgICAgICA6IFN0YXRlbWVudE5vZGUobG9j
YXRpb24pCiAgICAgICAgICwgbV9ib2R5KGJvZHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL05vZGVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05v
ZGVzLmgKaW5kZXggNmIzNzMyOWMwOWJmYzQyYmVjY2MzY2FhOTgzNTk3YzM1NDAyYjZjOS4uNWI3
NzQxZTFjY2M4ZDUxNWZmMTRjMTUzMTcyZDdiZGEwNTNmNTg2OCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTm9kZXMuaApAQCAtMTU4LDYgKzE1OCw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
ICAgICB2aXJ0dWFsIGJvb2wgaXNEb3RBY2Nlc3Nvck5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNEZWNvbnN0cnVjdGlvbk5vZGUoKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNGdW5jRXhwck5vZGUoKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Fycm93RnVuY0V4cHJOb2RlKCkgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KKyNlbmRpZgogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNDb21tYU5vZGUo
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNTaW1wbGVB
cnJheSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Fk
ZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CkBAIC0xNjUyLDYgKzE2NTUsMTkgQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgICAgIEZ1bmN0aW9uQm9keU5vZGUqIG1fYm9keTsKICAgICB9OwogCisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjbGFzcyBBcnJvd0Z1bmNF
eHByTm9kZSA6IHB1YmxpYyBGdW5jRXhwck5vZGUgeworICAgIHB1YmxpYzoKKyAgICAgICAgQXJy
b3dGdW5jRXhwck5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgSWRlbnRpZmllciYs
IEZ1bmN0aW9uQm9keU5vZGUqLCBjb25zdCBTb3VyY2VDb2RlJiwgUGFyYW1ldGVyTm9kZSogPSAw
KTsKKyAgICBwcml2YXRlOgorICAgICAgICB2aXJ0dWFsIFJlZ2lzdGVySUQqIGVtaXRCeXRlY29k
ZShCeXRlY29kZUdlbmVyYXRvciYsIFJlZ2lzdGVySUQqID0gMCkgb3ZlcnJpZGU7CisgICAgICAg
IAorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNGdW5jRXhwck5vZGUoKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiBmYWxzZTsgfQorICAgICAgICAKKyAgICAgICAgdmlydHVhbCBib29sIGlzQXJyb3dG
dW5jRXhwck5vZGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CisgICAgfTsKKyNl
bmRpZgorCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAgICAgY2xhc3MgQ2xhc3NFeHBy
Tm9kZSBmaW5hbCA6IHB1YmxpYyBFeHByZXNzaW9uTm9kZSB7CiAgICAgcHVibGljOgpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCmluZGV4IDVmNDQ4MGI0OWNhZDVkNDkxNTZj
NjI1ZmE0ODRhZjdhMWRjOGIzY2YuLjE4ZTIxYjg0NzM0MjFiMTBjOTc1YmNjMDg0ZGJkYmIwMGJh
OGRmZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKQEAgLTMyOSw4
ICszMjksMTMgQEAgYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6YWxsb3dBdXRvbWF0aWNTZW1pY29s
b24oKQogICAgIHJldHVybiBtYXRjaChDTE9TRUJSQUNFKSB8fCBtYXRjaChFT0ZUT0spIHx8IG1f
bGV4ZXItPnByZXZUZXJtaW5hdG9yKCk7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBTb3VyY2VFbGVtZW50c01vZGUg
bW9kZSwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25QYXJzZVR5cGUpCisjZWxzZQogdGVtcGxh
dGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsZW1lbnRzKFRy
ZWVCdWlsZGVyJiBjb250ZXh0LCBTb3VyY2VFbGVtZW50c01vZGUgbW9kZSkKKyNlbmRpZgogewog
ICAgIGNvbnN0IHVuc2lnbmVkIGxlbmd0aE9mVXNlU3RyaWN0TGl0ZXJhbCA9IDEyOyAvLyAidXNl
IHN0cmljdCIubGVuZ3RoCiAgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHNvdXJjZUVsZW1lbnRzID0g
Y29udGV4dC5jcmVhdGVTb3VyY2VFbGVtZW50cygpOwpAQCAtMzM5LDcgKzM0NCwxMSBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VTb3VyY2VFbAogICAgIHVuc2lnbmVkIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgg
PSAwOwogICAgIGF1dG8gc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CiAgICAgYm9vbCBo
YXNTZXRTdHJpY3QgPSBmYWxzZTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgIHdoaWxlIChUcmVlU3RhdGVtZW50IHN0YXRlbWVudCA9IHBhcnNlU3RhdGVtZW50KGNv
bnRleHQsIGRpcmVjdGl2ZSwgJmRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgsIGZ1bmN0aW9uUGFyc2VU
eXBlKSkgeworI2Vsc2UKICAgICB3aGlsZSAoVHJlZVN0YXRlbWVudCBzdGF0ZW1lbnQgPSBwYXJz
ZVN0YXRlbWVudChjb250ZXh0LCBkaXJlY3RpdmUsICZkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoKSkg
eworI2VuZGlmCiAgICAgICAgIGlmIChtb2RlID09IENoZWNrRm9yU3RyaWN0TW9kZSAmJiAhc2Vl
bk5vbkRpcmVjdGl2ZSkgewogICAgICAgICAgICAgaWYgKGRpcmVjdGl2ZSkgewogICAgICAgICAg
ICAgICAgIC8vICJ1c2Ugc3RyaWN0IiBtdXN0IGJlIHRoZSBleGFjdCBsaXRlcmFsIHdpdGhvdXQg
ZXNjYXBlIHNlcXVlbmNlcyBvciBsaW5lIGNvbnRpbnVhdGlvbi4KQEAgLTU3MSw2ICs1ODAsMzEg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJu
IFBhcnNlcjxMZXhlclR5cGU+OjpjcmVhdGUKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVCaW5k
aW5nTG9jYXRpb24odG9rZW4ubV9sb2NhdGlvbiwgbmFtZSwgdG9rZW4ubV9zdGFydFBvc2l0aW9u
LCB0b2tlbi5tX2VuZFBvc2l0aW9uKTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93
RnVuY3Rpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAgQVNTRVJUKG1h
dGNoKEFSUk9XRlVOQ1RJT04pKTsKKworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tl
bkxvY2F0aW9uKCkpOworICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0
aW9uKCk7CisgICAgSlNUZXh0UG9zaXRpb24gZW5kID0gdG9rZW5FbmRQb3NpdGlvbigpOworCisg
ICAgbmV4dCgpOworICAgIFRyZWVFeHByZXNzaW9uIGV4cHIgPSBwYXJzZUFycm93RnVuY3Rpb25F
eHByZXNzaW9uKGNvbnRleHQpOworICAgIGZhaWxJZkZhbHNlKGV4cHIsICJDYW5ub3QgcGFyc2Ug
dGhlIGFycm93IGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsKKyAgICBlbmQgPSBsYXN0VG9rZW5FbmRQ
b3NpdGlvbigpOworCisgICAgYm9vbCBjb3JyZWN0QXJyb3dGaW5pc2ggPSBpc0VuZE9mQXJyb3dG
dW5jdGlvbigpIHx8IG1hdGNoKEVPRlRPSyk7CisgICAgZmFpbElmRmFsc2UoY29ycmVjdEFycm93
RmluaXNoLCAiRXhwZWN0ZWQgYSAnOycsICddJywgJ30nLCAnKScsIG9yICcsJyBmb2xsb3dpbmcg
YSBhcnJvdyBmdW5jdGlvbiBzdGF0ZW1lbnQiKTsKKworICAgIGVuZCA9IHRva2VuRW5kUG9zaXRp
b24oKTsKKyAgICBzZXRFbmRPZlN0YXRlbWVudCgpOworCisgICAgcmV0dXJuIGNvbnRleHQuY3Jl
YXRlUmV0dXJuU3RhdGVtZW50KGxvY2F0aW9uLCBleHByLCBzdGFydCwgZW5kKTsKK30KKyNlbmRp
ZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIFBhcnNlcjxMZXhlclR5cGU+Ojp0cnlQ
YXJzZURlY29uc3RydWN0aW9uUGF0dGVybkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQp
CiB7CkBAIC0xMTQ0LDggKzExNzgsMTMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUJsb2NrU3RhdGVtZW4KICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
K3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZWVC
dWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCog
ZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCwgRnVuY3Rpb25QYXJzZVR5cGUgdHlwZSkKKyNlbHNlCiB0
ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmVlQnVp
bGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRp
cmVjdGl2ZUxpdGVyYWxMZW5ndGgpCisjZW5kaWYKIHsKICAgICBEZXB0aE1hbmFnZXIgc3RhdGVt
ZW50RGVwdGgoJm1fc3RhdGVtZW50RGVwdGgpOwogICAgIG1fc3RhdGVtZW50RGVwdGgrKzsKQEAg
LTExNTQsNiArMTE5MywyMyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0
ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAgIGZhaWxJZlN0
YWNrT3ZlcmZsb3coKTsKICAgICBUcmVlU3RhdGVtZW50IHJlc3VsdCA9IDA7CiAgICAgYm9vbCBz
aG91bGRTZXRFbmRPZmZzZXQgPSB0cnVlOworCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICBpZiAodHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAg
ICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKKyAgICAgICAgY2FzZSBDTE9TRVBBUkVOOgor
ICAgICAgICBjYXNlIENMT1NFQlJBQ0tFVDoKKyAgICAgICAgY2FzZSBDT01NQToKKyAgICAgICAg
Y2FzZSBTRU1JQ09MT046IHsKKyAgICAgICAgICAgIHJlc3VsdCA9IDA7CisgICAgICAgICAgICBj
b250ZXh0LnNldEVuZE9mZnNldChyZXN1bHQsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ub2Zmc2V0
KTsKKyAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgIH0KKyAgICAgICAgZGVmYXVs
dDoKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorI2VuZGlmCiAgICAgc3dp
dGNoIChtX3Rva2VuLm1fdHlwZSkgewogICAgIGNhc2UgT1BFTkJSQUNFOgogICAgICAgICByZXN1
bHQgPSBwYXJzZUJsb2NrU3RhdGVtZW50KGNvbnRleHQpOwpAQCAtMTE5OSw2ICsxMjU1LDExIEBA
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgY2FzZSBCUkVBSzoKICAgICAgICAgcmVzdWx0
ID0gcGFyc2VCcmVha1N0YXRlbWVudChjb250ZXh0KTsKICAgICAgICAgYnJlYWs7CisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIEFSUk9XRlVOQ1RJT046Cisg
ICAgICAgIHJlc3VsdCA9IHBhcnNlQXJyb3dGdW5jdGlvblN0YXRlbWVudChjb250ZXh0KTsKKyAg
ICAgICAgYnJlYWs7CisjZW5kaWYKICAgICBjYXNlIFJFVFVSTjoKICAgICAgICAgcmVzdWx0ID0g
cGFyc2VSZXR1cm5TdGF0ZW1lbnQoY29udGV4dCk7CiAgICAgICAgIGJyZWFrOwpAQCAtMTI2MCwy
MyArMTMyMSw0NCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGb3JtYWxQYXJh
bWV0ZXJMaXN0IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZvcgogICAgIHJldHVybiBsaXN0Owog
fQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKIHRlbXBsYXRlIDx0eXBl
bmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGdW5jdGlv
bkJvZHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25Cb2R5KAogICAgIFRyZWVCdWls
ZGVyJiBjb250ZXh0LCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVT
dGFydCwgCisgICAgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVj
dG9yS2luZCwgRnVuY3Rpb25QYXJzZVR5cGUgcGFyc2VUeXBlKQorI2Vsc2UKK3RlbXBsYXRlIDx0
eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGdW5j
dGlvbkJvZHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25Cb2R5KAorICAgIFRyZWVC
dWlsZGVyJiBjb250ZXh0LCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5h
bWVTdGFydCwKICAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQgY29uc3Ry
dWN0b3JLaW5kKQorI2VuZGlmCiB7CiAgICAgSlNUb2tlbkxvY2F0aW9uIHN0YXJ0TG9jYXRpb24o
dG9rZW5Mb2NhdGlvbigpKTsKICAgICB1bnNpZ25lZCBzdGFydENvbHVtbiA9IHRva2VuQ29sdW1u
KCk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFyc2VU
eXBlID09IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgbmV4dCgpOworICAg
ICAgICBpZiAobWF0Y2goQ0xPU0VCUkFDRSkpIHsKKyAgICAgICAgICAgIHVuc2lnbmVkIGVuZENv
bHVtbiA9IHRva2VuQ29sdW1uKCk7CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVG
dW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwg
ZW5kQ29sdW1uLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFt
ZXRlcnNTdGFydCwgc3RyaWN0TW9kZSgpLCBjb25zdHJ1Y3RvcktpbmQpOworICAgICAgICB9Cisg
ICAgfQorI2Vsc2UKICAgICBuZXh0KCk7Ci0KICAgICBpZiAobWF0Y2goQ0xPU0VCUkFDRSkpIHsK
ICAgICAgICAgdW5zaWduZWQgZW5kQ29sdW1uID0gdG9rZW5Db2x1bW4oKTsKICAgICAgICAgcmV0
dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0YXJ0TG9jYXRpb24sIHRva2VuTG9jYXRp
b24oKSwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0
aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0cmljdE1vZGUoKSwgY29uc3RydWN0b3JL
aW5kKTsKICAgICB9CisjZW5kaWYKKwogICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgm
bV9zdGF0ZW1lbnREZXB0aCk7CiAgICAgbV9zdGF0ZW1lbnREZXB0aCA9IDA7CiAgICAgdHlwZW5h
bWUgVHJlZUJ1aWxkZXI6OkZ1bmN0aW9uQm9keUJ1aWxkZXIgYm9keUJ1aWxkZXIoY29uc3RfY2Fz
dDxWTSo+KG1fdm0pLCBtX2xleGVyLmdldCgpKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIGZhaWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMoYm9keUJ1aWxk
ZXIsIENoZWNrRm9yU3RyaWN0TW9kZSwgcGFyc2VUeXBlKSwgcGFyc2VUeXBlID09IFN0YW5kYXJk
RnVuY3Rpb25QYXJzZVR5cGUgPyAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBmdW5jdGlvbiIg
OiAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBhcnJvdyBmdW5jdGlvbiIpOworI2Vsc2UKICAg
ICBmYWlsSWZGYWxzZShwYXJzZVNvdXJjZUVsZW1lbnRzKGJvZHlCdWlsZGVyLCBDaGVja0ZvclN0
cmljdE1vZGUpLCAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBmdW5jdGlvbiIpOworI2VuZGlm
CiAgICAgdW5zaWduZWQgZW5kQ29sdW1uID0gdG9rZW5Db2x1bW4oKTsKICAgICByZXR1cm4gY29u
dGV4dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBz
dGFydENvbHVtbiwgZW5kQ29sdW1uLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1l
U3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgc3RyaWN0TW9kZSgpLCBjb25zdHJ1Y3RvcktpbmQpOwog
fQpAQCAtMTI5Nyw2MCArMTM3OSwxMDUgQEAgc3RhdGljIGNvbnN0IGNoYXIqIHN0cmluZ0ZvckZ1
bmN0aW9uTW9kZShGdW5jdGlvblBhcnNlTW9kZSBtb2RlKQogICAgIHJldHVybiBudWxscHRyOwog
fQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBl
bmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5j
dGlvblJlcXVpcmVtZW50cyByZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUsCisg
ICAgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kIG93bmVyQ2xh
c3NLaW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVl
QnVpbGRlcj4mIGluZm8sIEZ1bmN0aW9uUGFyc2VUeXBlIHBhcnNlVHlwZSkKKyNlbHNlCiB0ZW1w
bGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBi
b29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYgY29u
dGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMgcmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9k
ZSBtb2RlLAogICAgIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2lu
ZCBvd25lckNsYXNzS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlv
bkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvKQorI2VuZGlmCiB7CiAgICAgQXV0b1BvcFNjb3BlUmVm
IGZ1bmN0aW9uU2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOwogICAgIGZ1bmN0aW9uU2NvcGUtPnNl
dElzRnVuY3Rpb24oKTsKICAgICBpbnQgZnVuY3Rpb25OYW1lU3RhcnQgPSBtX3Rva2VuLm1fbG9j
YXRpb24uc3RhcnRPZmZzZXQ7CiAgICAgY29uc3QgSWRlbnRpZmllciogbGFzdEZ1bmN0aW9uTmFt
ZSA9IG1fbGFzdEZ1bmN0aW9uTmFtZTsKICAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBudWxscHRy
OwotICAgIGlmIChtYXRjaChJREVOVCkpIHsKLSAgICAgICAgaW5mby5uYW1lID0gbV90b2tlbi5t
X2RhdGEuaWRlbnQ7Ci0gICAgICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IGluZm8ubmFtZTsKLSAg
ICAgICAgbmV4dCgpOwotICAgICAgICBpZiAoIW5hbWVJc0luQ29udGFpbmluZ1Njb3BlKQotICAg
ICAgICAgICAgZmFpbElmRmFsc2VJZlN0cmljdChmdW5jdGlvblNjb3BlLT5kZWNsYXJlVmFyaWFi
bGUoaW5mby5uYW1lKSwgIiciLCBpbmZvLm5hbWUtPmltcGwoKSwgIicgaXMgbm90IGEgdmFsaWQg
Iiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUgaW4gc3RyaWN0IG1vZGUiKTsK
LSAgICB9IGVsc2UgaWYgKHJlcXVpcmVtZW50cyA9PSBGdW5jdGlvbk5lZWRzTmFtZSkgeworICAg
IGludCBwYXJhbWV0ZXJzU3RhcnQ7CisgICAgYm9vbCBpc0NsYXNzQ29uc3RydWN0b3I7CisgICAg
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBl
ID09IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpIHsKKyNlbmRpZgorICAgICAgICBpZiAobWF0
Y2goSURFTlQpKSB7CisgICAgICAgICAgICBpbmZvLm5hbWUgPSBtX3Rva2VuLm1fZGF0YS5pZGVu
dDsKKyAgICAgICAgICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IGluZm8ubmFtZTsKKyAgICAgICAg
ICAgIG5leHQoKTsKKyAgICAgICAgICAgIGlmICghbmFtZUlzSW5Db250YWluaW5nU2NvcGUpCisg
ICAgICAgICAgICAgICAgZmFpbElmRmFsc2VJZlN0cmljdChmdW5jdGlvblNjb3BlLT5kZWNsYXJl
VmFyaWFibGUoaW5mby5uYW1lKSwgIiciLCBpbmZvLm5hbWUtPmltcGwoKSwgIicgaXMgbm90IGEg
dmFsaWQgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUgaW4gc3RyaWN0IG1v
ZGUiKTsKKyAgICAgICAgfSBlbHNlIGlmIChyZXF1aXJlbWVudHMgPT0gRnVuY3Rpb25OZWVkc05h
bWUpIHsKICAgICAgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikgJiYgbW9kZSA9PSBGdW5jdGlvbk1v
ZGUpCiAgICAgICAgICAgICBzZW1hbnRpY0ZhaWwoIkZ1bmN0aW9uIHN0YXRlbWVudHMgbXVzdCBo
YXZlIGEgbmFtZSIpOwotICAgICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVUb0tleXdvcmQoc3RyaW5n
Rm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUiKTsKLSAgICAgICAgZmFpbER1ZVRvVW5leHBl
Y3RlZFRva2VuKCk7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gICAgaW50IHBhcmFt
ZXRlcnNTdGFydCA9IG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKLSAgICBpZiAoIWNv
bnN1bWUoT1BFTlBBUkVOKSkgewotICAgICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVUb0tleXdvcmQo
c3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUiKTsKLSAgICAgICAgZmFpbFdpdGhN
ZXNzYWdlKCJFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSAiLCBzdHJpbmdGb3JGdW5j
dGlvbk1vZGUobW9kZSksICIncyBwYXJhbWV0ZXIgbGlzdCIpOwotICAgIH0KLQotICAgIGlmICht
b2RlID09IEdldHRlck1vZGUpCi0gICAgICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJFTiwgImdl
dHRlciBmdW5jdGlvbnMgbXVzdCBoYXZlIG5vIHBhcmFtZXRlcnMiKTsKLSAgICBlbHNlIGlmICht
b2RlID09IFNldHRlck1vZGUpIHsKLSAgICAgICAgZmFpbElmVHJ1ZShtYXRjaChDTE9TRVBBUkVO
KSwgInNldHRlciBmdW5jdGlvbnMgbXVzdCBoYXZlIG9uZSBwYXJhbWV0ZXIiKTsKLSAgICAgICAg
YXV0byBwYXJhbWV0ZXIgPSBwYXJzZURlY29uc3RydWN0aW9uUGF0dGVybihjb250ZXh0LCBEZWNv
bnN0cnVjdFRvUGFyYW1ldGVycyk7Ci0gICAgICAgIGZhaWxJZkZhbHNlKHBhcmFtZXRlciwgInNl
dHRlciBmdW5jdGlvbnMgbXVzdCBoYXZlIG9uZSBwYXJhbWV0ZXIiKTsKLSAgICAgICAgaW5mby5w
YXJhbWV0ZXJzID0gY29udGV4dC5jcmVhdGVGb3JtYWxQYXJhbWV0ZXJMaXN0KHBhcmFtZXRlcik7
Ci0gICAgICAgIGZhaWxJZlRydWUobWF0Y2goQ09NTUEpLCAic2V0dGVyIGZ1bmN0aW9ucyBtdXN0
IGhhdmUgb25lIHBhcmFtZXRlciIpOwotICAgICAgICBjb25zdW1lT3JGYWlsKENMT1NFUEFSRU4s
ICJFeHBlY3RlZCBhICcpJyBhZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOwotICAgIH0g
ZWxzZSB7Ci0gICAgICAgIGlmICghbWF0Y2goQ0xPU0VQQVJFTikpIHsKLSAgICAgICAgICAgIGlu
Zm8ucGFyYW1ldGVycyA9IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhjb250ZXh0KTsKLSAgICAgICAg
ICAgIGZhaWxJZkZhbHNlKGluZm8ucGFyYW1ldGVycywgIkNhbm5vdCBwYXJzZSBwYXJhbWV0ZXJz
IGZvciB0aGlzICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7CisgICAgICAgICAgICBz
ZW1hbnRpY0ZhaWx1cmVEdWVUb0tleXdvcmQoc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAi
IG5hbWUiKTsKKyAgICAgICAgICAgIGZhaWxEdWVUb1VuZXhwZWN0ZWRUb2tlbigpOworICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAgICAgIHBhcmFtZXRlcnNTdGFydCA9
IG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKKyAgICAgICAgCisgICAgICAgIGlmICgh
Y29uc3VtZShPUEVOUEFSRU4pKSB7CisgICAgICAgICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVUb0tl
eXdvcmQoc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUiKTsKKyAgICAgICAgICAg
IGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVmb3JlIGEgIiwgc3Ry
aW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiJ3MgcGFyYW1ldGVyIGxpc3QiKTsKICAgICAgICAg
fQotICAgICAgICBjb25zdW1lT3JGYWlsKENMT1NFUEFSRU4sICJFeHBlY3RlZCBhICcpJyBvciBh
ICcsJyBhZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOwotICAgIH0KIAotICAgIG1hdGNo
T3JGYWlsKE9QRU5CUkFDRSwgIkV4cGVjdGVkIGFuIG9wZW5pbmcgJ3snIGF0IHRoZSBzdGFydCBv
ZiBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7CisgICAgICAgIGlm
IChtb2RlID09IEdldHRlck1vZGUpCisgICAgICAgICAgICBjb25zdW1lT3JGYWlsKENMT1NFUEFS
RU4sICJnZXR0ZXIgZnVuY3Rpb25zIG11c3QgaGF2ZSBubyBwYXJhbWV0ZXJzIik7CisgICAgICAg
IGVsc2UgaWYgKG1vZGUgPT0gU2V0dGVyTW9kZSkgeworICAgICAgICAgICAgZmFpbElmVHJ1ZSht
YXRjaChDTE9TRVBBUkVOKSwgInNldHRlciBmdW5jdGlvbnMgbXVzdCBoYXZlIG9uZSBwYXJhbWV0
ZXIiKTsKKyAgICAgICAgICAgIGF1dG8gcGFyYW1ldGVyID0gcGFyc2VEZWNvbnN0cnVjdGlvblBh
dHRlcm4oY29udGV4dCwgRGVjb25zdHJ1Y3RUb1BhcmFtZXRlcnMpOworICAgICAgICAgICAgZmFp
bElmRmFsc2UocGFyYW1ldGVyLCAic2V0dGVyIGZ1bmN0aW9ucyBtdXN0IGhhdmUgb25lIHBhcmFt
ZXRlciIpOworICAgICAgICAgICAgaW5mby5wYXJhbWV0ZXJzID0gY29udGV4dC5jcmVhdGVGb3Jt
YWxQYXJhbWV0ZXJMaXN0KHBhcmFtZXRlcik7CisgICAgICAgICAgICBmYWlsSWZUcnVlKG1hdGNo
KENPTU1BKSwgInNldHRlciBmdW5jdGlvbnMgbXVzdCBoYXZlIG9uZSBwYXJhbWV0ZXIiKTsKKyAg
ICAgICAgICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJFTiwgIkV4cGVjdGVkIGEgJyknIGFmdGVy
IGEgcGFyYW1ldGVyIGRlY2xhcmF0aW9uIik7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICBpZiAoIW1hdGNoKENMT1NFUEFSRU4pKSB7CisgICAgICAgICAgICAgICAgaW5mby5wYXJhbWV0
ZXJzID0gcGFyc2VGb3JtYWxQYXJhbWV0ZXJzKGNvbnRleHQpOworICAgICAgICAgICAgICAgIGZh
aWxJZkZhbHNlKGluZm8ucGFyYW1ldGVycywgIkNhbm5vdCBwYXJzZSBwYXJhbWV0ZXJzIGZvciB0
aGlzICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICBjb25zdW1lT3JGYWlsKENMT1NFUEFSRU4sICJFeHBlY3RlZCBhICcpJyBvciBhICcs
JyBhZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAgICAgICB9CiAKLSAgICAvLyBC
eXRlY29kZUdlbmVyYXRvciBlbWl0cyBjb2RlIHRvIHRocm93IFR5cGVFcnJvciB3aGVuIGEgY2xh
c3MgY29uc3RydWN0b3IgaXMgImNhbGwiZWQuCi0gICAgLy8gU2V0IENvbnN0cnVjdG9yS2luZCB0
byBOb25lIGZvciBub24tY29uc3RydWN0b3IgbWV0aG9kcyBvZiBjbGFzc2VzLgotICAgIGJvb2wg
aXNDbGFzc0NvbnN0cnVjdG9yID0gbW9kZSA9PSBNZXRob2RNb2RlICYmIGluZm8ubmFtZSAmJiAq
aW5mby5uYW1lID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yOwotICAgIGlmICht
X2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQgIT0gQ29uc3RydWN0b3JLaW5kOjpOb25lKSB7Ci0gICAg
ICAgIG93bmVyQ2xhc3NLaW5kID0gbV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kOwotICAgICAgICBp
c0NsYXNzQ29uc3RydWN0b3IgPSB0cnVlOworICAgICAgICBtYXRjaE9yRmFpbChPUEVOQlJBQ0Us
ICJFeHBlY3RlZCBhbiBvcGVuaW5nICd7JyBhdCB0aGUgc3RhcnQgb2YgYSAiLCBzdHJpbmdGb3JG
dW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOworICAgICAgICAvLyBCeXRlY29kZUdlbmVyYXRv
ciBlbWl0cyBjb2RlIHRvIHRocm93IFR5cGVFcnJvciB3aGVuIGEgY2xhc3MgY29uc3RydWN0b3Ig
aXMgImNhbGwiZWQuCisgICAgICAgIC8vIFNldCBDb25zdHJ1Y3RvcktpbmQgdG8gTm9uZSBmb3Ig
bm9uLWNvbnN0cnVjdG9yIG1ldGhvZHMgb2YgY2xhc3Nlcy4KKyAgICAgICAgaXNDbGFzc0NvbnN0
cnVjdG9yID0gbW9kZSA9PSBNZXRob2RNb2RlICYmIGluZm8ubmFtZSAmJiAqaW5mby5uYW1lID09
IG1fdm0tPnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yOworICAgICAgICBpZiAobV9kZWZhdWx0
Q29uc3RydWN0b3JLaW5kICE9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSkgeworICAgICAgICAgICAg
b3duZXJDbGFzc0tpbmQgPSBtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQ7CisgICAgICAgICAgICBp
c0NsYXNzQ29uc3RydWN0b3IgPSB0cnVlOworICAgICAgICB9CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKICAgICB9CisgICAgCisgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJv
d0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIHBhcmFtZXRlcnNTdGFydCA9IG1fdG9rZW4u
bV9sb2NhdGlvbi5zdGFydE9mZnNldDsKKyAgICAgICAgaWYgKCFtYXRjaChJREVOVCkgJiYgIW1h
dGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29y
ZChzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSIpOworICAgICAgICAgICAgZmFp
bFdpdGhNZXNzYWdlKCJFeHBlY3RlZCBhbiBhcnJvdyBmdW5jdGlvbiBpbnB1dCBwYXJhbWV0ZXIi
KTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7
CisgICAgICAgICAgICAgICAgY29uc3VtZShPUEVOUEFSRU4pOworICAgICAgICAgICAgICAgIAor
ICAgICAgICAgICAgICAgIGlmICghbWF0Y2goQ0xPU0VQQVJFTikpIHsKKyAgICAgICAgICAgICAg
ICAgICAgaW5mby5wYXJhbWV0ZXJzID0gcGFyc2VGb3JtYWxQYXJhbWV0ZXJzKGNvbnRleHQpOwor
ICAgICAgICAgICAgICAgICAgICBmYWlsSWZGYWxzZShpbmZvLnBhcmFtZXRlcnMsICJDYW5ub3Qg
cGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBj
b25zdW1lT3JGYWlsKENMT1NFUEFSRU4sICJFeHBlY3RlZCBhICcpJyBvciBhICcsJyBhZnRlciBh
IHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgICAgICBhdXRvIHBhcmFtZXRlciA9IHBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuKGNvbnRl
eHQsIERlY29uc3RydWN0VG9QYXJhbWV0ZXJzKTsKKyAgICAgICAgICAgICAgICBmYWlsSWZGYWxz
ZShwYXJhbWV0ZXIsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVyIHBhdHRlcm4iKTsKKyAgICAgICAg
ICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBjb250ZXh0LmNyZWF0ZUZvcm1hbFBhcmFtZXRlckxp
c3QocGFyYW1ldGVyKTsKKyAgICAgICAgICAgICAgICBmYWlsSWZGYWxzZShpbmZvLnBhcmFtZXRl
cnMsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAiLCBzdHJpbmdGb3JGdW5jdGlv
bk1vZGUobW9kZSkpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIAorICAgICAg
ICBtYXRjaE9yRmFpbChBUlJPV0ZVTkNUSU9OLCAiRXhwZWN0ZWQgYSAnPT4nIGFmdGVyIGFycm93
IGZ1bmN0aW9uIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAgICAgICBpc0NsYXNzQ29uc3Ry
dWN0b3IgPSBmYWxzZTsKKyAgICAgICAgCisgICAgICAgIGluZm8uYXJyb3dGdW5jdGlvbk9mZnNl
dCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKKyAgICB9CisjZW5kaWYKKyAgICAKICAgICBDb25z
dHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kID0gaXNDbGFzc0NvbnN0cnVjdG9yID8gb3duZXJD
bGFzc0tpbmQgOiBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmU7CiAKICAgICBpbmZvLm9wZW5CcmFjZU9m
ZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKQEAgLTEzODQsOCArMTUxMSwxNSBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVu
Y3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICBmYWlsSWZGYWxzZShwb3BTY29wZShmdW5jdGlv
blNjb3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFibGVJbmZvKSwgIlBhcnNlciBlcnJv
ciIpOwogICAgICAgICAKICAgICAgICAgaW5mby5jbG9zZUJyYWNlT2Zmc2V0ID0gY2FjaGVkSW5m
by0+Y2xvc2VCcmFjZU9mZnNldDsKLQotICAgICAgICBtX3Rva2VuID0gY2FjaGVkSW5mby0+Y2xv
c2VCcmFjZVRva2VuKCk7CisgICAgICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkK
KyAgICAgICAgICAgIGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9IGNhY2hlZEluZm8tPmlzQm9keUFy
cm93RXhwcmVzc2lvbiA/ICBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24gOiBBcnJvd0Z1bmN0
aW9uQm9keUJsb2NrOworICAgICAgICBlbHNlCisgICAgICAgICAgICBpbmZvLmZ1bmN0aW9uQm9k
eVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uQm9keUJsb2NrOworI2VuZGlmCisgICAgICAgIG1fdG9r
ZW4gPSBjYWNoZWRJbmZvLT5lbmRGdW5jdGlvblRva2VuKCk7CisgICAgICAgIAogICAgICAgICBp
ZiAoZW5kQ29sdW1uSXNPblN0YXJ0TGluZSkKICAgICAgICAgICAgIG1fdG9rZW4ubV9sb2NhdGlv
bi5saW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0OwogCkBAIC0xMzk0LDEz
ICsxNTI4LDQzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAKICAgICAgICAgY29udGV4dC5z
ZXRFbmRPZmZzZXQoaW5mby5ib2R5LCBtX2xleGVyLT5jdXJyZW50T2Zmc2V0KCkpOwogICAgICAg
ICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAocGFy
c2VUeXBlICE9IEFycm93RnVuY3Rpb25QYXJzZVR5cGUgfHwgaW5mby5mdW5jdGlvbkJvZHlUeXBl
ID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spCisgICAgICAgICAgICBuZXh0KCk7CisjZWxzZQog
ICAgICAgICBuZXh0KCk7CisjZW5kaWYKICAgICAgICAgaW5mby5ib2R5RW5kTGluZSA9IG1fbGFz
dFRva2VuRW5kUG9zaXRpb24ubGluZTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQorICAg
IAogICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IGxhc3RGdW5jdGlvbk5hbWU7CiAgICAgUGFyc2Vy
U3RhdGUgb2xkU3RhdGUgPSBzYXZlU3RhdGUoKTsKKyAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNl
VHlwZSkgeworICAgICAgICBTYXZlUG9pbnQgc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7
CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgLy8gQ2hlY2sgaWYgYXJyb3cgYm9keSBzdGFydCB3
aXRoIHsuIElmIGl0IHRydWUgaXQgbWVhbiB0aGF0IGFycm93IGZ1bmN0aW9uIGlzIEZhdCBhcnJv
dyBmdW5jdGlvbgorICAgICAgICAvLyBhbmQgd2UgbmVlZCB1c2UgY29tbW9uIGFwcHJvYWNoIHRv
IHBhcnNlIGZ1bmN0aW9uIGJvZHkKKyAgICAgICAgaW5mby5mdW5jdGlvbkJvZHlUeXBlID0gbWF0
Y2goT1BFTkJSQUNFKSA/IEFycm93RnVuY3Rpb25Cb2R5QmxvY2sgOiBBcnJvd0Z1bmN0aW9uQm9k
eUV4cHJlc3Npb247CisgICAgCisgICAgICAgIGlmIChpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0g
QXJyb3dGdW5jdGlvbkJvZHlCbG9jaykgeworICAgICAgICAgICAgaW5mby5vcGVuQnJhY2VPZmZz
ZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CisgICAgICAgICAgICBpbmZvLmJvZHlTdGFydExp
bmUgPSB0b2tlbkxpbmUoKTsKKyAgICAgICAgICAgIGluZm8uYm9keVN0YXJ0Q29sdW1uID0gbV90
b2tlbi5tX2RhdGEub2Zmc2V0IC0gbV90b2tlbi5tX2RhdGEubGluZVN0YXJ0T2Zmc2V0OworICAg
ICAgICAKKyAgICAgICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQs
IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0
LCBjb25zdHJ1Y3RvcktpbmQpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgcmVzdG9y
ZVNhdmVQb2ludChzYXZlUG9pbnQpOworICAgICAgICAgICAgaW5mby5ib2R5ID0gcGFyc2VGdW5j
dGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0
LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCwgQXJyb3dGdW5jdGlvblBhcnNlVHlw
ZSk7CisgICAgICAgIH0KKyAgICB9IGVsc2UKKyAgICAgICAgaW5mby5ib2R5ID0gcGFyc2VGdW5j
dGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0
LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCk7CisjZWxzZQogICAgIGluZm8uYm9k
eSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5j
dGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQpOworI2VuZGlm
CisgICAgCiAgICAgcmVzdG9yZVN0YXRlKG9sZFN0YXRlKTsKICAgICBmYWlsSWZGYWxzZShpbmZv
LmJvZHksICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgdGhpcyAiLCBzdHJpbmdGb3JGdW5jdGlv
bk1vZGUobW9kZSkpOwogICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KGluZm8uYm9keSwgbV9sZXhl
ci0+Y3VycmVudE9mZnNldCgpKTsKQEAgLTE0MzEsMTggKzE1OTUsMzMgQEAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5m
byhUcmVlQnVpbGQKICAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJyYWNlTGluZSA9IGNsb3NlQnJh
Y2VMaW5lOwogICAgICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VPZmZzZXQgPSBpbmZvLmNsb3Nl
QnJhY2VPZmZzZXQ7CiAgICAgICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNl
dCA9IGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQ7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VU
eXBlKSB7CisgICAgICAgICAgICBwYXJhbWV0ZXJzLmlzQm9keUFycm93RXhwcmVzc2lvbiA9IGlu
Zm8uZnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb247CisgICAg
ICAgICAgICBwYXJhbWV0ZXJzLnRva2VuVHlwZSA9IG1fdG9rZW4ubV90eXBlOworICAgICAgICB9
CisjZW5kaWYKICAgICAgICAgZnVuY3Rpb25TY29wZS0+ZmlsbFBhcmFtZXRlcnNGb3JTb3VyY2VQ
cm92aWRlckNhY2hlKHBhcmFtZXRlcnMpOwogICAgICAgICBuZXdJbmZvID0gU291cmNlUHJvdmlk
ZXJDYWNoZUl0ZW06OmNyZWF0ZShwYXJhbWV0ZXJzKTsKIAogICAgIH0KICAgICAKICAgICBmYWls
SWZGYWxzZShwb3BTY29wZShmdW5jdGlvblNjb3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFy
aWFibGVJbmZvKSwgIlBhcnNlciBlcnJvciIpOworICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgaWYgKChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNl
VHlwZSAmJiBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jaykg
fHwgcGFyc2VUeXBlICE9IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgbWF0Y2hP
ckZhaWwoQ0xPU0VCUkFDRSwgIkV4cGVjdGVkIGEgY2xvc2luZyAnfScgYWZ0ZXIgYSAiLCBzdHJp
bmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOworICAgICAgICBuZXh0KCk7CisgICAg
fSBlbHNlCisgICAgICAgIGZhaWxJZkZhbHNlKGlzRW5kT2ZBcnJvd0Z1bmN0aW9uKCksICJFeHBl
Y3RlZCB0aGUgY2xvc2luZyAnOycgJywnICddJyAnKScgJ30nIGFmdGVyIGFycm93IGZ1bmN0aW9u
Iik7CisjZWxzZQogICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0UsICJFeHBlY3RlZCBhIGNsb3Np
bmcgJ30nIGFmdGVyIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsK
KyAgICBuZXh0KCk7CisjZW5kaWYKICAgICAKICAgICBpZiAobmV3SW5mbykKICAgICAgICAgbV9m
dW5jdGlvbkNhY2hlLT5hZGQoaW5mby5vcGVuQnJhY2VPZmZzZXQsIFdURjo6bW92ZShuZXdJbmZv
KSk7CiAgICAgCi0gICAgbmV4dCgpOwogICAgIGluZm8uYm9keUVuZExpbmUgPSBtX2xhc3RUb2tl
bkVuZFBvc2l0aW9uLmxpbmU7CiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC0xNzY3LDYgKzE5NDYs
MTggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUlmU3RhdGVtZW50KFQKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVJ
ZlN0YXRlbWVudChpZkxvY2F0aW9uLCBjb25kaXRpb24sIHRydWVCbG9jaywgc3RhdGVtZW50U3Rh
Y2subGFzdCgpLCBzdGFydCwgZW5kKTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJv
d0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBmYWlsSWZT
dGFja092ZXJmbG93KCk7CisgICAgVHJlZUV4cHJlc3Npb24gbm9kZSA9IHBhcnNlQXNzaWdubWVu
dEV4cHJlc3Npb24oY29udGV4dCk7CisgICAgZmFpbElmRmFsc2Uobm9kZSwgIkNhbm5vdCBwYXJz
ZSBleHByZXNzaW9uIik7CisgICAgY29udGV4dC5zZXRFbmRPZmZzZXQobm9kZSwgbV9sYXN0VG9r
ZW5FbmRQb3NpdGlvbi5vZmZzZXQpOworICAgIHJldHVybiBub2RlOworfQorI2VuZGlmCisKIHRl
bXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cHJlc3Npb24oVHJlZUJ1
aWxkZXImIGNvbnRleHQpCiB7CkBAIC0xODE0LDYgKzIwMDUsNDEgQEAgdGVtcGxhdGUgPHR5cGVu
YW1lIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VB
c3NpZ25tZW4KICAgICAgICAgfQogICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7
CiAgICAgfQorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBTYXZl
UG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgIGJv
b2wgYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCA9IGZhbHNlOworICAgIGlmIChtYXRjaChPUEVOUEFS
RU4pKSB7CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgaWYgKG1hdGNoKENMT1NFUEFSRU4pKSB7
CisgICAgICAgICAgICBuZXh0KCk7CisKKyAgICAgICAgICAgIGlmIChtYXRjaChBUlJPV0ZVTkNU
SU9OKSkKKyAgICAgICAgICAgICAgICBhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0ID0gdHJ1ZTsKKyAg
ICAgICAgfQorCisgICAgICAgIGlmICghYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCkKKyAgICAgICAg
ICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAgfQorCisg
ICAgVHJlZUV4cHJlc3Npb24gbGhzOworICAgIGlmICghYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCkg
eworICAgICAgICBsaHMgPSBwYXJzZUNvbmRpdGlvbmFsRXhwcmVzc2lvbihjb250ZXh0KTsKKyAg
ICAgICAgZmFpbElmRmFsc2UobGhzLCAiQ2FuGW5vdCBwYXJzZSBleHByZXNzaW9uIik7CisgICAg
ICAgIGlmIChpbml0aWFsTm9uTEhTQ291bnQgIT0gbV9ub25MSFNDb3VudCkgeworICAgICAgICAg
ICAgaWYgKG1fdG9rZW4ubV90eXBlID49IEVRVUFMICYmIG1fdG9rZW4ubV90eXBlIDw9IE9SRVFV
QUwpCisgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsKCJMZWZ0IGhhbmQgc2lkZSBvZiBvcGVy
YXRvciAnIiwgZ2V0VG9rZW4oKSwgIicgbXVzdCBiZSBhIHJlZmVyZW5jZSIpOworCisgICAgICAg
ICAgICByZXR1cm4gbGhzOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKG1hdGNoKEFSUk9X
RlVOQ1RJT04pKSB7CisgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Q
b2ludCk7CisgICAgICAgIGxocyA9IHBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoY29udGV4dCk7
CisgICAgICAgIHJldHVybiBsaHM7CisgICAgfQorI2Vsc2UKICAgICBUcmVlRXhwcmVzc2lvbiBs
aHMgPSBwYXJzZUNvbmRpdGlvbmFsRXhwcmVzc2lvbihjb250ZXh0KTsKICAgICBmYWlsSWZGYWxz
ZShsaHMsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lvbiIpOwogICAgIGlmIChpbml0aWFsTm9uTEhT
Q291bnQgIT0gbV9ub25MSFNDb3VudCkgewpAQCAtMTgyMiw3ICsyMDQ4LDggQEAgdGVtcGxhdGUg
PHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VBc3NpZ25tZW4KIAogICAgICAgICByZXR1cm4gbGhzOwogICAgIH0KLSAgICAKKyNlbmRp
ZgorCiAgICAgaW50IGFzc2lnbm1lbnRTdGFjayA9IDA7CiAgICAgT3BlcmF0b3Igb3A7CiAgICAg
Ym9vbCBoYWRBc3NpZ25tZW50ID0gZmFsc2U7CkBAIC0yMjk3LDYgKzI1MjQsMjMgQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAgcmV0dXJuIGNvbnRleHQudGhpc0V4cHIobG9jYXRp
b24sIG1fdGhpc1REWk1vZGUpOwogICAgIH0KICAgICBjYXNlIElERU5UOiB7CisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1
bmN0aW9uUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICAgICAgSlNUZXh0UG9zaXRpb24g
c3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICAgICAgY29uc3QgSWRlbnRpZmllciog
aWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKKyAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxv
Y2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CisgICAgICAgIG5leHQoKTsKKworICAgICAgICBpZiAo
IW1hdGNoKEFSUk9XRlVOQ1RJT04pKSB7CisgICAgICAgICAgICBjdXJyZW50U2NvcGUoKS0+dXNl
VmFyaWFibGUoaWRlbnQsIG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmlkZW50KTsKKyAg
ICAgICAgICAgIG1fbGFzdElkZW50aWZpZXIgPSBpZGVudDsKKyAgICAgICAgICAgIHJldHVybiBj
b250ZXh0LmNyZWF0ZVJlc29sdmUobG9jYXRpb24sIGlkZW50LCBzdGFydCk7CisgICAgICAgIH0K
KworICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAg
ICAgICBUcmVlRXhwcmVzc2lvbiBsaHMgPSBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKGNvbnRl
eHQpOworICAgICAgICByZXR1cm4gbGhzOworI2Vsc2UKICAgICAgICAgSlNUZXh0UG9zaXRpb24g
c3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciog
aWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxv
Y2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CkBAIC0yMzA0LDYgKzI1NDgsNyBAQCB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZVByaW1hcnlFeHByZQogICAgICAgICBjdXJyZW50U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRlbnQs
IG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmlkZW50KTsKICAgICAgICAgbV9sYXN0SWRl
bnRpZmllciA9IGlkZW50OwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVSZXNvbHZlKGxv
Y2F0aW9uLCBpZGVudCwgc3RhcnQpOworI2VuZGlmCiAgICAgfQogICAgIGNhc2UgU1RSSU5HOiB7
CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7
CkBAIC0yNDkxLDYgKzI3MzYsMzIgQEAgZW5kTWVtYmVyRXhwcmVzc2lvbjoKICAgICByZXR1cm4g
YmFzZTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0
ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
RXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihU
cmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBUcmVlRXhwcmVzc2lvbiBiYXNlID0gMDsKKyAg
ICBKU1RleHRQb3NpdGlvbiBleHByZXNzaW9uU3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsK
KyAgICBpbnQgbmV3Q291bnQgPSAwOworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbjsKKwor
ICAgIGlmIChtYXRjaChJREVOVCkgfHwgbWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICB1bnNp
Z25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2VuU3RhcnQoKTsKKyAgICAgICAgbG9jYXRp
b24gPSB0b2tlbkxvY2F0aW9uKCk7CisgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVp
bGRlcj4gaW5mbzsKKyAgICAgICAgaW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51
bGxJZGVudGlmaWVyOworICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29u
dGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgRnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1
Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvLCBBcnJvd0Z1bmN0aW9u
UGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2UgYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOwor
ICAgICAgICBiYXNlID0gY29udGV4dC5jcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihsb2NhdGlvbiwg
aW5mbyk7CisgICAgfSBlbHNlCisgICAgICAgIGJhc2UgPSBwYXJzZVByaW1hcnlFeHByZXNzaW9u
KGNvbnRleHQpOworCisgICAgZmFpbElmRmFsc2UoYmFzZSwgIkNhbm5vdCBwYXJzZSBiYXNlIGV4
cHJlc3Npb24iKTsKKyAgICB3aGlsZSAobmV3Q291bnQtLSkKKyAgICAgICAgYmFzZSA9IGNvbnRl
eHQuY3JlYXRlTmV3RXhwcihsb2NhdGlvbiwgYmFzZSwgZXhwcmVzc2lvblN0YXJ0LCBsYXN0VG9r
ZW5FbmRQb3NpdGlvbigpKTsKKyAgICByZXR1cm4gYmFzZTsKK30KKyNlbmRpZgorCiBzdGF0aWMg
Y29uc3QgY2hhciogb3BlcmF0b3JTdHJpbmcoYm9vbCBwcmVmaXgsIHVuc2lnbmVkIHRvaykKIHsK
ICAgICBzd2l0Y2ggKHRvaykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9QYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKaW5k
ZXggMGYyNzI4Zjg2MjFmODAxMGM0MTBiZjc5ODc2MTliZjIzZTUwYWY4Yi4uMzRjZGE5NzJjYzNi
OGUwOWQ2MjNmMzlkOWY1YWZjMmUwMWEzN2Y4NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1BhcnNlci5oCkBAIC04MCw2ICs4MCw5IEBAIGNsYXNzIFNvdXJjZUNvZGU7CiBDT01QSUxFX0FT
U0VSVChMYXN0VW50YWdnZWRUb2tlbiA8IDY0LCBMZXNzVGhhbjY0VW50YWdnZWRUb2tlbnMpOwog
CiBlbnVtIFNvdXJjZUVsZW1lbnRzTW9kZSB7IENoZWNrRm9yU3RyaWN0TW9kZSwgRG9udENoZWNr
Rm9yU3RyaWN0TW9kZSB9OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitl
bnVtIEZ1bmN0aW9uUGFyc2VUeXBlIHsgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSwgQXJyb3dG
dW5jdGlvblBhcnNlVHlwZSB9OworI2VuZGlmCiBlbnVtIEZ1bmN0aW9uUmVxdWlyZW1lbnRzIHsg
RnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgRnVuY3Rpb25OZWVkc05hbWUgfTsKIGVudW0gRnVuY3Rp
b25QYXJzZU1vZGUgewogICAgIEZ1bmN0aW9uTW9kZSwKQEAgLTYxOCw2ICs2MjEsMTMgQEAgcHJp
dmF0ZToKICAgICAgICAgcmV0dXJuIG1fdG9rZW4ubV90eXBlID09IElERU5UICYmICptX3Rva2Vu
Lm1fZGF0YS5pZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5vZjsKICAgICB9CiAgICAgCisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBBTFdBWVNfSU5MSU5FIGJv
b2wgaXNFbmRPZkFycm93RnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIG1hdGNoKFNF
TUlDT0xPTikgfHwgbWF0Y2goQ09NTUEpIHx8IG1hdGNoKENMT1NFUEFSRU4pIHx8IG1hdGNoKENM
T1NFQlJBQ0UpIHx8IG1hdGNoKENMT1NFQlJBQ0tFVCk7CisgICAgfQorI2VuZGlmCisgICAgCiAg
ICAgQUxXQVlTX0lOTElORSB1bnNpZ25lZCB0b2tlblN0YXJ0KCkKICAgICB7CiAgICAgICAgIHJl
dHVybiBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CkBAIC03MjEsOSArNzMxLDE0IEBA
IHByaXZhdGU6CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0gICAg
CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNlU291cmNlRWxlbWVudHMo
VHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0
aW9uUGFyc2VUeXBlID0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CisgICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3RhdGVtZW50KFRyZWVCdWls
ZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxp
dGVyYWxMZW5ndGggPSAwLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSA9IFN0
YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOworI2Vsc2UKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWls
ZGVyJiwgU291cmNlRWxlbWVudHNNb2RlKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImLCBjb25zdCBJZGVu
dGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDAp
OworI2VuZGlmCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQ2xhc3NEZWNsYXJhdGlvbihUcmVl
QnVpbGRlciYpOwogI2VuZGlmCkBAIC03NjIsMTcgKzc3NywzMiBAQCBwcml2YXRlOgogICAgIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IHBhcnNlUHJvcGVydHkoVHJl
ZUJ1aWxkZXImLCBib29sIHN0cmljdCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlRXhwcmVzc2lvbiBwYXJzZVByb3BlcnR5TWV0aG9kKFRyZWVCdWlsZGVyJiBjb250ZXh0
LCBjb25zdCBJZGVudGlmaWVyKiBtZXRob2ROYW1lKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBwYXJzZUdldHRlclNldHRlcihUcmVlQnVpbGRlciYsIGJv
b2wgc3RyaWN0LCBQcm9wZXJ0eU5vZGU6OlR5cGUsIHVuc2lnbmVkIGdldHRlck9yU2V0dGVyU3Rh
cnRPZmZzZXQsIENvbnN0cnVjdG9yS2luZCA9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJC
aW5kaW5nID0gU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQpOwotICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rpb25C
b2R5KFRyZWVCdWlsZGVyJiwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25O
YW1lU3RhcnQsIGludCBwYXJhbWV0ZXJzU3RhcnQsIENvbnN0cnVjdG9yS2luZCk7CisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZ1bmN0aW9uQm9keSBwYXJzZUZ1bmN0aW9uQm9keShU
cmVlQnVpbGRlciYsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW50IGZ1bmN0aW9uTmFtZVN0
YXJ0LCBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQsIEZ1bmN0aW9uUGFyc2VU
eXBlIGZ1bmN0aW9uUGFyc2VUeXBlID0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CisjZWxz
ZQorICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJl
ZUZ1bmN0aW9uQm9keSBwYXJzZUZ1bmN0aW9uQm9keShUcmVlQnVpbGRlciYsIGludCBmdW5jdGlv
bktleXdvcmRTdGFydCwgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCBpbnQgcGFyYW1ldGVyc1N0YXJ0
LCBDb25zdHJ1Y3RvcktpbmQpOworI2VuZGlmCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0IHBhcnNlRm9ybWFsUGFy
YW1ldGVycyhUcmVlQnVpbGRlciYpOwogICAgIGVudW0gVmFyRGVjbGFyYXRpb25MaXN0Q29udGV4
dCB7IEZvckxvb3BDb250ZXh0LCBWYXJEZWNsYXJhdGlvbkNvbnRleHQgfTsKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlVmFyRGVjbGFyYXRpb25M
aXN0KFRyZWVCdWlsZGVyJiwgaW50JiBkZWNsYXJhdGlvbnMsIFRyZWVEZWNvbnN0cnVjdGlvblBh
dHRlcm4mIGxhc3RQYXR0ZXJuLCBUcmVlRXhwcmVzc2lvbiYgbGFzdEluaXRpYWxpemVyLCBKU1Rl
eHRQb3NpdGlvbiYgaWRlbnRTdGFydCwgSlNUZXh0UG9zaXRpb24mIGluaXRTdGFydCwgSlNUZXh0
UG9zaXRpb24mIGluaXRFbmQsIFZhckRlY2xhcmF0aW9uTGlzdENvbnRleHQpOwogICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVDb25zdERlY2xMaXN0IHBh
cnNlQ29uc3REZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImKTsKIAorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlRXhwcmVzc2lvbiBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7
CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQXJy
b3dGdW5jdGlvblN0YXRlbWVudChUcmVlQnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihUcmVl
QnVpbGRlciYpOworI2VuZGlmCisKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5F
VkVSX0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIGNyZWF0ZUJpbmRpbmdQYXR0ZXJu
KFRyZWVCdWlsZGVyJiwgRGVjb25zdHJ1Y3Rpb25LaW5kLCBjb25zdCBJZGVudGlmaWVyJiwgaW50
IGRlcHRoLCBKU1Rva2VuKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVS
X0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIHBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0
ZXJuKFRyZWVCdWlsZGVyJiwgRGVjb25zdHJ1Y3Rpb25LaW5kLCBpbnQgZGVwdGggPSAwKTsKICAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1
Y3Rpb25QYXR0ZXJuIHRyeVBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuRXhwcmVzc2lvbihUcmVl
QnVpbGRlciYpOwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBib29sIHBhcnNlRnVuY3Rp
b25JbmZvKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VN
b2RlLCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQsIGludCBm
dW5jdGlvbktleXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYsIEZ1
bmN0aW9uUGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBlID0gU3RhbmRhcmRGdW5jdGlvblBhcnNl
VHlwZSk7CisjZWxzZQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5M
SU5FIGJvb2wgcGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVpcmVt
ZW50cywgRnVuY3Rpb25QYXJzZU1vZGUsIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENv
bnN0cnVjdG9yS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbklu
Zm88VHJlZUJ1aWxkZXI+Jik7CisjZW5kaWYKKyAgICAKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZ
TlRBWCkKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVl
Q2xhc3NFeHByZXNzaW9uIHBhcnNlQ2xhc3MoVHJlZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVpcmVt
ZW50cywgUGFyc2VyQ2xhc3NJbmZvPFRyZWVCdWlsZGVyPiYpOwogI2VuZGlmCkBAIC03ODksNiAr
ODE5LDE0IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBhbGxvd0F1dG9tYXRpY1NlbWljb2xv
bigpOwogICAgIH0KICAgICAKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgdm9pZCBzZXRFbmRPZlN0YXRlbWVudCgpCisgICAgeworICAgICAgICBtX2xleGVyLT5z
ZXRUb2tlblBvc2l0aW9uKCZtX3Rva2VuKTsKKyAgICB9CisjZW5kaWYKKwogICAgIGJvb2wgY2Fu
UmVjdXJzZSgpCiAgICAgewogICAgICAgICByZXR1cm4gbV92bS0+aXNTYWZlVG9SZWN1cnNlKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9u
SW5mby5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8u
aAppbmRleCA2YjczNjI4MmUyZDJhODFiYzYzZGMyZjNjMGU1YWU4Yzg1OGNkMWY4Li4wY2RlMGM2
N2E5ZGUwZWRmMzQxNDRlMzI3OTFlNWU5MGI0YTIxNTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKQEAgLTI4LDYgKzI4LDEwIEBA
CiAKIG5hbWVzcGFjZSBKU0MgewogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKK2VudW0gRnVuY3Rpb25Cb2R5VHlwZSB7IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiwg
QXJyb3dGdW5jdGlvbkJvZHlCbG9jaywgU3RhbmRhcmRGdW5jdGlvbkJvZHlCbG9jayB9OworI2Vu
ZGlmCisKIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4KIHN0cnVjdCBQYXJzZXJGdW5jdGlv
bkluZm8gewogICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUgPSAwOwpAQCAtMzgsNiArNDIsMTEg
QEAgc3RydWN0IFBhcnNlckZ1bmN0aW9uSW5mbyB7CiAgICAgaW50IGJvZHlTdGFydExpbmUgPSAw
OwogICAgIGludCBib2R5RW5kTGluZSA9IDA7CiAgICAgdW5zaWduZWQgYm9keVN0YXJ0Q29sdW1u
ID0gMDsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHVuc2lnbmVk
IGFycm93RnVuY3Rpb25PZmZzZXQgPSAwOworICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uID0gZmFs
c2U7CisgICAgRnVuY3Rpb25Cb2R5VHlwZSBmdW5jdGlvbkJvZHlUeXBlID0gU3RhbmRhcmRGdW5j
dGlvbkJvZHlCbG9jazsKKyNlbmRpZgogfTsKIAogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFY
KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKaW5kZXggODMy
OWY4MmE5YjJmZjkxNWQxZjI0MWMxZjhiZmZhZDQyNDdhNWYwYi4uYzhiMTY2ZTBlYWQ3ZDJkYTcx
OWU3NmM0YTJmMDlhZmYxZDc0ZDdhYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXJUb2tlbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1BhcnNlclRva2Vucy5oCkBAIC03NSw2ICs3NSw5IEBAIGVudW0gSlNUb2tlblR5cGUgewogICAg
IEZJTkFMTFksCiAgICAgREVCVUdHRVIsCiAgICAgRUxTRSwKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgIEFSUk9XRlVOQ1RJT04sCisjZW5kaWYKICNpZiBFTkFCTEUo
RVM2X0NMQVNTX1NZTlRBWCkKICAgICBDTEFTU1RPS0VOLAogICAgIEVYVEVORFMsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCmluZGV4IDczZDIzZGI4MmFmMjVlYTQ2
YzBmODk3ODVjZTQyNGJiNjBlYjYxYTcuLjkyOGU3MTJhOTBlMzQ4OTg4YmMzNTU0ODk4NzViMDkw
Nzc2NzU1MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNl
Q29kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCkBA
IC0xMDUsNiArMTA1LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIAogICAgICAgICBTb3Vy
Y2VDb2RlIHN1YkV4cHJlc3Npb24odW5zaWduZWQgb3BlbkJyYWNlLCB1bnNpZ25lZCBjbG9zZUJy
YWNlLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOwogCisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgU291cmNlQ29kZSBzdWJBcnJvd0V4cHJlc3Np
b24odW5zaWduZWQgc3RhcnRBcnJvd0Z1bmN0aW9uLCB1bnNpZ25lZCBlbmRBcnJvd0Z1bmN0aW9u
LCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOworI2VuZGlmCiAgICAgcHJpdmF0ZToK
ICAgICAgICAgUmVmUHRyPFNvdXJjZVByb3ZpZGVyPiBtX3Byb3ZpZGVyOwogICAgICAgICBpbnQg
bV9zdGFydENoYXI7CkBAIC0xMTgsNiArMTIxLDE3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICByZXR1cm4gU291cmNlQ29kZShTdHJpbmdTb3VyY2VQcm92aWRlcjo6Y3JlYXRlKHNvdXJjZSwg
dXJsLCBzdGFydFBvc2l0aW9uKSwgc3RhcnRQb3NpdGlvbi5tX2xpbmUub25lQmFzZWRJbnQoKSwg
c3RhcnRQb3NpdGlvbi5tX2NvbHVtbi5vbmVCYXNlZEludCgpKTsKICAgICB9CiAKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlubGluZSBTb3VyY2VDb2RlIFNvdXJj
ZUNvZGU6OnN1YkFycm93RXhwcmVzc2lvbih1bnNpZ25lZCBzdGFydEFycm93RnVuY3Rpb24sIHVu
c2lnbmVkIGVuZEFycm93RnVuY3Rpb24sIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbikK
KyAgICB7CisgICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFycm93RnVu
Y3Rpb25dID09ICc9JyAmJiBwcm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFycm93RnVuY3Rpb24g
KyAxXSA9PSAnPicpOworICAgICAgICAvLyBGaXhtZTogVXNlIGJldHRlciBhcHByb2FjaCB0byBj
aGVjayBzeW1ib2wKKyAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93
RnVuY3Rpb24gLSAxXSA9PSAnLCcgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5j
dGlvbiAtIDFdID09ICc7JyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9u
IC0gMV0gPT0gJyknIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAx
XSA9PSAnXScgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09
ICd9Jyk7CisgICAgICAgIHN0YXJ0Q29sdW1uICs9IDE7IC8vIENvbnZlcnQgdG8gYmFzZSAxLgor
ICAgICAgICByZXR1cm4gU291cmNlQ29kZShwcm92aWRlcigpLCBzdGFydEFycm93RnVuY3Rpb24s
IGVuZEFycm93RnVuY3Rpb24gLSAxLCBmaXJzdExpbmUsIHN0YXJ0Q29sdW1uKTsKKyAgICB9Cisj
ZW5kaWYKKwogICAgIGlubGluZSBTb3VyY2VDb2RlIFNvdXJjZUNvZGU6OnN1YkV4cHJlc3Npb24o
dW5zaWduZWQgb3BlbkJyYWNlLCB1bnNpZ25lZCBjbG9zZUJyYWNlLCBpbnQgZmlyc3RMaW5lLCBp
bnQgc3RhcnRDb2x1bW4pCiAgICAgewogICAgICAgICBBU1NFUlQocHJvdmlkZXIoKS0+c291cmNl
KClbb3BlbkJyYWNlXSA9PSAneycpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCmluZGV4IDYzNTM3OWUzZjQ0NTY2OGM1
MmI4NzJmNzYxNmRjYjU5MjFhODI5NDQuLmY0MjhkYjUwYThkYTdhN2FiNDY4MjRhYjM4MDgzZGIw
NTJkNzM3NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNl
UHJvdmlkZXJDYWNoZUl0ZW0uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Nv
dXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKQEAgLTQwLDYgKzQwLDEwIEBAIHN0cnVjdCBTb3VyY2VQ
cm92aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFyYW1ldGVycyB7CiAgICAgYm9vbCBuZWVkc0Z1bGxB
Y3RpdmF0aW9uOwogICAgIGJvb2wgdXNlc0V2YWw7CiAgICAgYm9vbCBzdHJpY3RNb2RlOworI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgYm9vbCBpc0JvZHlBcnJvd0V4
cHJlc3Npb247CisgICAgSlNUb2tlblR5cGUgdG9rZW5UeXBlOworI2VuZGlmCiAgICAgVmVjdG9y
PFJlZlB0cjxTdHJpbmdJbXBsPj4gdXNlZFZhcmlhYmxlczsKICAgICBWZWN0b3I8UmVmUHRyPFN0
cmluZ0ltcGw+PiB3cml0dGVuVmFyaWFibGVzOwogfTsKQEAgLTU1LDEwICs1OSwxNCBAQCBwdWJs
aWM6CiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxTb3VyY2VQcm92aWRlckNhY2hlSXRlbT4g
Y3JlYXRlKGNvbnN0IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJhbWV0ZXJzJik7
CiAgICAgflNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKCk7CiAKLSAgICBKU1Rva2VuIGNsb3NlQnJh
Y2VUb2tlbigpIGNvbnN0IAorICAgIEpTVG9rZW4gZW5kRnVuY3Rpb25Ub2tlbigpIGNvbnN0IAog
ICAgIHsKICAgICAgICAgSlNUb2tlbiB0b2tlbjsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgICAgICB0b2tlbi5tX3R5cGUgPSBpc0JvZHlBcnJvd0V4cHJlc3Npb24g
PyB0b2tlblR5cGUgOiBDTE9TRUJSQUNFOworI2Vsc2UKICAgICAgICAgdG9rZW4ubV90eXBlID0g
Q0xPU0VCUkFDRTsKKyNlbmRpZgogICAgICAgICB0b2tlbi5tX2RhdGEub2Zmc2V0ID0gY2xvc2VC
cmFjZU9mZnNldDsKICAgICAgICAgdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldCA9IGNsb3Nl
QnJhY2VPZmZzZXQ7CiAgICAgICAgIHRva2VuLm1fbG9jYXRpb24uZW5kT2Zmc2V0ID0gY2xvc2VC
cmFjZU9mZnNldCArIDE7CkBAIC04Miw2ICs5MCwxMSBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQg
dXNlZFZhcmlhYmxlc0NvdW50OwogICAgIHVuc2lnbmVkIHdyaXR0ZW5WYXJpYWJsZXNDb3VudDsK
IAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgYm9vbCBpc0JvZHlB
cnJvd0V4cHJlc3Npb247CisgICAgSlNUb2tlblR5cGUgdG9rZW5UeXBlOworI2VuZGlmCisKICAg
ICBTdHJpbmdJbXBsKiogdXNlZFZhcmlhYmxlcygpIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8
U3RyaW5nSW1wbCoqPihtX3ZhcmlhYmxlcyk7IH0KICAgICBTdHJpbmdJbXBsKiogd3JpdHRlblZh
cmlhYmxlcygpIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8U3RyaW5nSW1wbCoqPigmbV92YXJp
YWJsZXNbdXNlZFZhcmlhYmxlc0NvdW50XSk7IH0KIApAQCAtMTE1LDYgKzEyOCwxMCBAQCBpbmxp
bmUgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW06OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKGNvbnN0
IFNvdXJjZVByb3ZpZGVyQ2FjaAogICAgICwgY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldChwYXJh
bWV0ZXJzLmNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQpCiAgICAgLCB1c2VkVmFyaWFibGVzQ291
bnQocGFyYW1ldGVycy51c2VkVmFyaWFibGVzLnNpemUoKSkKICAgICAsIHdyaXR0ZW5WYXJpYWJs
ZXNDb3VudChwYXJhbWV0ZXJzLndyaXR0ZW5WYXJpYWJsZXMuc2l6ZSgpKQorI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgLCBpc0JvZHlBcnJvd0V4cHJlc3Npb24ocGFy
YW1ldGVycy5pc0JvZHlBcnJvd0V4cHJlc3Npb24pCisgICAgLCB0b2tlblR5cGUocGFyYW1ldGVy
cy50b2tlblR5cGUpCisjZW5kaWYKIHsKICAgICB1bnNpZ25lZCBqID0gMDsKICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgdXNlZFZhcmlhYmxlc0NvdW50OyArK2ksICsraikgewpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaAppbmRleCA4ZTRmNjFiOTQ5
ODkwYjliZjU0MDI5ZTk2NjYxZWVmNTNhMTdiNTg0Li41ZjhlMjExZWU0YjUzYjM5NGViNWFlMjE5
MGI4M2M4YzRmODQ0Y2ZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1N5bnRheENoZWNrZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRh
eENoZWNrZXIuaApAQCAtMTcwLDYgKzE3MCwxMCBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICBFeHBy
ZXNzaW9uVHlwZSBjcmVhdGVGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29u
c3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JikgeyByZXR1cm4gRnVuY3Rpb25F
eHByOyB9CiAgICAgaW50IGNyZWF0ZUZ1bmN0aW9uQm9keShjb25zdCBKU1Rva2VuTG9jYXRpb24m
LCBjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBpbnQsIGludCwgYm9vbCwgaW50LCBpbnQsIGludCwg
Q29uc3RydWN0b3JLaW5kKSB7IHJldHVybiBGdW5jdGlvbkJvZHlSZXN1bHQ7IH0KKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUFy
cm93RnVuY3Rpb25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0
aW9uSW5mbzxTeW50YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQorI2VuZGlm
IAorICAgIHZvaWQgc2V0RnVuY3Rpb25OYW1lU3RhcnQoaW50LCBpbnQpIHsgfQogICAgIGludCBj
cmVhdGVBcmd1bWVudHMoKSB7IHJldHVybiBBcmd1bWVudHNSZXN1bHQ7IH0KICAgICBpbnQgY3Jl
YXRlQXJndW1lbnRzKGludCkgeyByZXR1cm4gQXJndW1lbnRzUmVzdWx0OyB9CiAgICAgRXhwcmVz
c2lvblR5cGUgY3JlYXRlU3ByZWFkRXhwcmVzc2lvbihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBF
eHByZXNzaW9uVHlwZSwgaW50LCBpbnQsIGludCkgeyByZXR1cm4gU3ByZWFkRXhwcjsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNmZjM2VhMTgwMDY4OTY0M2FhZGQ2YzZhNDk3ZWQwYWU2YzIxMTEyMAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlv
bi5jcHAKQEAgLTAsMCArMSw3NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorCisjaW5jbHVkZSAi
RXJyb3IuaCIKKyNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCisjaW5jbHVkZSAiSlNDSW5s
aW5lcy5oIgorI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgi
CisjaW5jbHVkZSAiSlNGdW5jdGlvbklubGluZXMuaCIKKyNpbmNsdWRlICJKU09iamVjdC5oIgor
I2luY2x1ZGUgIlByb3BlcnR5U2xvdC5oIgorI2luY2x1ZGUgIlZNLmgiCisKK25hbWVzcGFjZSBK
U0MgeworICAgIAorY29uc3QgQ2xhc3NJbmZvIEpTQXJyb3dGdW5jdGlvbjo6c19pbmZvID0geyAi
QXJyb3dGdW5jdGlvbiIsICZCYXNlOjpzX2luZm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNB
cnJvd0Z1bmN0aW9uKSB9OworCit2b2lkIEpTQXJyb3dGdW5jdGlvbjo6ZGVzdHJveShKU0NlbGwq
IGNlbGwpCit7CisgICAgc3RhdGljX2Nhc3Q8SlNBcnJvd0Z1bmN0aW9uKj4oY2VsbCktPkpTQXJy
b3dGdW5jdGlvbjo6fkpTQXJyb3dGdW5jdGlvbigpOworfQorCitKU0Fycm93RnVuY3Rpb246OkpT
QXJyb3dGdW5jdGlvbihWTSYgdm0sIEpTU2NvcGUqIHNjb3BlLCBGdW5jdGlvbkV4ZWN1dGFibGUq
IGV4ZWN1dGFibGUsIFN0cnVjdHVyZSogc3RydWN0dXJlKQorICAgIDogQmFzZSh2bSwgZXhlY3V0
YWJsZSwgc2NvcGUsIHN0cnVjdHVyZSkKK3sKK30KKyAgICAKK3ZvaWQgSlNBcnJvd0Z1bmN0aW9u
OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0p
OworLy8gUHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9uIGlzIHVuZGVmaW5lZAorICAgIHB1dERp
cmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBqc1VuZGVmaW5lZCgpLCBEb250
RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51bSk7Cit9CisgICAgCit2b2lkIEpTQXJyb3dGdW5j
dGlvbjo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQor
eworICAgIEpTQXJyb3dGdW5jdGlvbiogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0Fycm93RnVuY3Rp
b24qPihjZWxsKTsKKyAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKHRoaXNPYmplY3QsIGlu
Zm8oKSk7CisgICAgQmFzZTo6dmlzaXRDaGlsZHJlbih0aGlzT2JqZWN0LCB2aXNpdG9yKTsKK30K
KyAgICAKK0NvbnN0cnVjdFR5cGUgSlNBcnJvd0Z1bmN0aW9uOjpnZXRDb25zdHJ1Y3REYXRhKEpT
Q2VsbCogY2VsbCwgQ29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0YSkKK3sKKyAgICBKU0Z1bmN0
aW9uKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTRnVuY3Rpb24qPihjZWxsKTsKKyAgICAgICAgCisg
ICAgY29uc3RydWN0RGF0YS5qcy5mdW5jdGlvbkV4ZWN1dGFibGUgPSB0aGlzT2JqZWN0LT5qc0V4
ZWN1dGFibGUoKTsKKyAgICBjb25zdHJ1Y3REYXRhLmpzLnNjb3BlID0gdGhpc09iamVjdC0+c2Nv
cGUoKTsKKyAgICByZXR1cm4gQ29uc3RydWN0VHlwZU5vbmU7Cit9Cit9IC8vIG5hbWVzcGFjZSBK
U0MKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNB
cnJvd0Z1bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVu
Y3Rpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43ODAxNWQzODcyMWNjYTQ0YWUyZjY1Y2I2ZDc3YjZhNjUyMjA5
NjVkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNB
cnJvd0Z1bmN0aW9uLmgKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSlNBcnJvd0Z1bmN0aW9uX2gKKyNkZWZpbmUg
SlNBcnJvd0Z1bmN0aW9uX2gKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3QuaCIK
KworbmFtZXNwYWNlIEpTQyB7CisKK2NsYXNzIEpTQXJyb3dGdW5jdGlvbiA6IHB1YmxpYyBKU0Z1
bmN0aW9uIHsKK3B1YmxpYzoKKyAgICB0eXBlZGVmIEpTRnVuY3Rpb24gQmFzZTsKKyAgICAgICAg
CisgICAgc3RhdGljIEpTQXJyb3dGdW5jdGlvbiogY3JlYXRlKFZNJiB2bSwgSlNTY29wZSogc2Nv
cGUsIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCkKKyAgICB7CisgICAgICAgIEpTQXJyb3dGdW5jdGlvbiogZnVuY3Rpb24gPSBuZXcg
KE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxKU0Fycm93RnVuY3Rpb24+KHZtLmhlYXApKSBKU0Fycm93
RnVuY3Rpb24odm0sIHNjb3BlLCBleGVjdXRhYmxlLCBnbG9iYWxPYmplY3QtPmFycm93RnVuY3Rp
b25TdHJ1Y3R1cmUoKSk7CisgICAgICAgIEFTU0VSVChmdW5jdGlvbi0+c3RydWN0dXJlKCktPmds
b2JhbE9iamVjdCgpKTsKKyAgICAgICAgZnVuY3Rpb24tPmZpbmlzaENyZWF0aW9uKHZtKTsKKyAg
ICAgICAgcmV0dXJuIGZ1bmN0aW9uOworICAgIH0KKyAgICAKKyAgICBzdGF0aWMgdm9pZCBkZXN0
cm95KEpTQ2VsbCopOworICAgICAgICAKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1
Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3Rv
dHlwZSkKKyAgICB7CisgICAgICAgIEFTU0VSVChnbG9iYWxPYmplY3QpOworICAgICAgICByZXR1
cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5m
byhKU0Z1bmN0aW9uVHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOworICAgIH0KKyAgICAg
ICAgCisgICAgc3RhdGljIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBD
b25zdHJ1Y3REYXRhJik7CisgICAgICAgIAorICAgIERFQ0xBUkVfSU5GTzsKKworcHJvdGVjdGVk
OgorICAgIGNvbnN0IHN0YXRpYyB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0hh
c0luc3RhbmNlIHwgQmFzZTo6U3RydWN0dXJlRmxhZ3M7CisgICAgICAgIAorICAgIHN0YXRpYyB2
b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKKyAgICAgICAgCitwcml2
YXRlOgorICAgIEpTQXJyb3dGdW5jdGlvbihWTSYsIEpTU2NvcGUqLCBGdW5jdGlvbkV4ZWN1dGFi
bGUqLCBTdHJ1Y3R1cmUqKTsKKworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKK307Cisg
ICAgCit9IC8vIG5hbWVzcGFjZSBKU0MKKyNlbmRpZiAvLyBFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgKKworI2VuZGlmIC8vIEpTQXJyb3dGdW5jdGlvbl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0Z1bmN0aW9uLmgKaW5kZXggOWFiOWRjMjc3N2JhYmY4OTYzODFkY2Y0MDJjMDEz
MDkwZjk1ZTMwYy4uM2EwYWUwMTEzNWJjYjk2NDBiMDUwMmEzMTY1MWFmOGZjYWEyYzRhZCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaApAQCAtMTMyLDYgKzEz
Miw5IEBAIHByb3RlY3RlZDoKIAogICAgIEpTX0VYUE9SVF9QUklWQVRFIEpTRnVuY3Rpb24oVk0m
LCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSopOwogICAgIEpTRnVuY3Rpb24oVk0mLCBGdW5j
dGlvbkV4ZWN1dGFibGUqLCBKU1Njb3BlKik7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICBKU0Z1bmN0aW9uKFZNJiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgSlNTY29w
ZSosIFN0cnVjdHVyZSopOworI2VuZGlmCiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwg
TmF0aXZlRXhlY3V0YWJsZSosIGludCBsZW5ndGgsIGNvbnN0IFN0cmluZyYgbmFtZSk7CiAgICAg
dXNpbmcgQmFzZTo6ZmluaXNoQ3JlYXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaAppbmRleCAzN2IyODFhYTVkMGMxYjg2MTY0NTE5
ZmQ3YzU2NmUzN2YwZjEzNDAxLi43YjM0OTBiZWI5NGEzNTkzZWUxN2JjM2IxNmIzMmM3ZGZhZjk1
NzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9u
SW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25J
bmxpbmVzLmgKQEAgLTM4LDYgKzM4LDE1IEBAIGlubGluZSBKU0Z1bmN0aW9uOjpKU0Z1bmN0aW9u
KFZNJiB2bSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBKU1Njb3BlKiBzCiB7CiB9
CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQoraW5saW5lIEpTRnVuY3Rp
b246OkpTRnVuY3Rpb24oVk0mIHZtLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpT
U2NvcGUqIHNjb3BlLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICA6IEJhc2Uodm0sIHNjb3Bl
LCBzdHJ1Y3R1cmUpCisgICAgLCBtX2V4ZWN1dGFibGUodm0sIHRoaXMsIGV4ZWN1dGFibGUpCisg
ICAgLCBtX2FsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludChDbGVhcldhdGNocG9pbnQpCit7Cit9
CisjZW5kaWYKKyAgICAKIGlubGluZSBGdW5jdGlvbkV4ZWN1dGFibGUqIEpTRnVuY3Rpb246Ompz
RXhlY3V0YWJsZSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKCFpc0hvc3RGdW5jdGlvbk5vbklubGlu
ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
T2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
LmNwcAppbmRleCBkMzk2MThhYjdlYWY1NTk3NGRhYWMyM2I4MTMzM2ViMDA1MWViZTczLi5hOTkw
NmMzMGFkNzM5MzVlMjZjOTNiY2QxMDBjMzE0ZDAxZGU5ZmQzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCkBAIC02MSw2ICs2MSw3IEBA
CiAjaW5jbHVkZSAiSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmgiCiAjaW5jbHVkZSAiSlNBcnJh
eUJ1ZmZlclByb3RvdHlwZS5oIgogI2luY2x1ZGUgIkpTQXJyYXlJdGVyYXRvci5oIgorI2luY2x1
ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgogI2lu
Y2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0NhbGxiYWNrQ29uc3RydWN0b3IuaCIK
QEAgLTIzMyw2ICsyMzQsOSBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2bSkKICAg
ICBleGVjLT5zZXRDYWxsZWUobV9nbG9iYWxDYWxsZWUuZ2V0KCkpOwogCiAgICAgbV9mdW5jdGlv
blN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpTRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwg
dGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOworI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgbV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlLnNldCh2bSwgdGhp
cywgSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Q
cm90b3R5cGUuZ2V0KCkpKTsKKyNlbmRpZgogICAgIG1fYm91bmRGdW5jdGlvblN0cnVjdHVyZS5z
ZXQodm0sIHRoaXMsIEpTQm91bmRGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBt
X2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7CiAgICAgbV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJl
LnNldCh2bSwgdGhpcywgU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb24odm0sIG1fZnVu
Y3Rpb25TdHJ1Y3R1cmUuZ2V0KCksIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIERvbnREZWxldGUg
fCBSZWFkT25seSB8IERvbnRFbnVtLCBtX2Z1bmN0aW9uTmFtZU9mZnNldCkpOwogICAgIG1faW50
ZXJuYWxGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEludGVybmFsRnVuY3Rpb246OmNy
ZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOwpAQCAt
NzI1LDYgKzcyOSw5IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OnZpc2l0Q2hpbGRyZW4oSlNDZWxs
KiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09i
amVjdC0+bV9jYWxsZWVTdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0
LT5tX2Z1bmN0aW9uU3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+
bV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2Fycm93RnVuY3Rpb25T
dHJ1Y3R1cmUpOworI2VuZGlmCiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fbmFt
ZWRGdW5jdGlvblN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1f
c3ltYm9sT2JqZWN0U3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+
bV9yZWdFeHBNYXRjaGVzQXJyYXlTdHJ1Y3R1cmUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKaW5kZXggNzQ5NjZiN2JkMDZiYWNkODY2MWM5YmY0
YWJlNDVjZWIzYjUxMThiNC4uODE3ZjI1NzY2MDcwMDc5OTAxODYxNGEwMjk2YWJjM2M5NTMwMjU5
MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmpl
Y3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5o
CkBAIC0yMjUsNiArMjI1LDkgQEAgcHJvdGVjdGVkOgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1
cmU+IG1fY2FsbGVlU3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fZnVu
Y3Rpb25TdHJ1Y3R1cmU7CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9ib3VuZEZ1bmN0
aW9uU3RydWN0dXJlOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAg
V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlOworI2VuZGlm
CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlOwog
ICAgIFByb3BlcnR5T2Zmc2V0IG1fZnVuY3Rpb25OYW1lT2Zmc2V0OwogICAgIFdyaXRlQmFycmll
cjxTdHJ1Y3R1cmU+IG1fcHJpdmF0ZU5hbWVTdHJ1Y3R1cmU7CkBAIC00NTYsNiArNDU5LDkgQEAg
cHVibGljOgogICAgIFN0cnVjdHVyZSogY2FsbGVlU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4g
bV9jYWxsZWVTdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUqIGZ1bmN0aW9uU3RydWN0
dXJlKCkgY29uc3QgeyByZXR1cm4gbV9mdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQogICAgIFN0
cnVjdHVyZSogYm91bmRGdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fYm91bmRG
dW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgU3RydWN0dXJlKiBhcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyBy
ZXR1cm4gbV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CisjZW5kaWYKICAgICBTdHJ1
Y3R1cmUqIG5hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX25hbWVkRnVu
Y3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBQcm9wZXJ0eU9mZnNldCBmdW5jdGlvbk5hbWVP
ZmZzZXQoKSBjb25zdCB7IHJldHVybiBtX2Z1bmN0aW9uTmFtZU9mZnNldDsgfQogICAgIFN0cnVj
dHVyZSogbnVtYmVyT2JqZWN0U3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9udW1iZXJPYmpl
Y3RTdHJ1Y3R1cmUuZ2V0KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsdGhpcy5qcyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsdGhpcy5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42MTJmYmFmODA0NDgyYzc3NjFjMzdkZDY5M2E4NDg1ZTU1MTE1NzNlCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LWxleGljYWx0aGlzLmpzCkBAIC0wLDAgKzEsMzEgQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVz
dENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0
dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiAr
IGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3Zh
ciBhZk9iakxleEJpbmQyID0gZnVuY3Rpb24gKCkgeworICB0aGlzLmZ1bmMgPSAoKSA9PiB0aGlz
OworfTsKKwordmFyIGFmT2JqTGV4QmluZDJJbnN0YW5jZSA9IG5ldyBhZk9iakxleEJpbmQyKCk7
CisKK3Rlc3RDYXNlKGFmT2JqTGV4QmluZDJJbnN0YW5jZS5mdW5jKCkgPT09IGFmT2JqTGV4Qmlu
ZDJJbnN0YW5jZSwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGlu
c2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzIiKTsKKwordmFyIG9iaiA9IHsKKyAgbWV0aG9k
OiBmdW5jdGlvbiAoKSB7CisgICAgcmV0dXJuICgpID0+IHRoaXM7CisgIH0KK307CisKK3Rlc3RD
YXNlKG9iai5tZXRob2QoKSgpID09PSBvYmosIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4
aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMzIik7CisKK3ZhciBm
YWtlID0ge3N0ZWFsOiBvYmoubWV0aG9kKCl9OwordGVzdENhc2UoZmFrZS5zdGVhbCgpID09PSBv
YmosIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2Yg
dGhlIGFycm93IGZ1bmN0aW9uICM0Iik7CisKKworLy8gRml4bWU6IGZvbGxvd2luZyB0ZXN0IGZh
aWxzIGluIGRmZy1lYWdlci1uby1jaml0LXZhbGlkYXRlICYgZnRsLWVhZ2VyLW5vLWNqaXQgbW9k
ZQordmFyIHJlYWwgPSB7Ym9ycm93OiBvYmoubWV0aG9kfTsKK3Rlc3RDYXNlKHJlYWwuYm9ycm93
KCkoKSA9PT0gcmVhbCwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVk
IGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzUiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1vdGhlcnMuanMgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tb3RoZXJzLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmViYmY4NTllMjAzZWIxZjU0YWNhZTFkNDA4M2NhM2RkM2RjOTc2MWYKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tb3RoZXJzLmpzCkBAIC0wLDAgKzEsMzAgQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVz
dENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0
dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiAr
IGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3Zh
ciBzaW1wbGVBcnJvd0Z1bmN0aW9uID0gKCkgPT4ge307CisKK3Rlc3RDYXNlKHR5cGVvZiBzaW1w
bGVBcnJvd0Z1bmN0aW9uLCAiZnVuY3Rpb24iLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHR5cGUgb2Yg
dGhlIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKE9iamVjdC5nZXRQcm90b3R5cGVPZihz
aW1wbGVBcnJvd0Z1bmN0aW9uKSwgRnVuY3Rpb24ucHJvdG90eXBlLCAiRXJyb3I6IE5vdCBjb3Jy
ZWN0IGdldFByb3RvdHlwZU9mIHZhbHVlIGZvciBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2Fz
ZShzaW1wbGVBcnJvd0Z1bmN0aW9uIGluc3RhbmNlb2YgRnVuY3Rpb24sIHRydWUsICJFcnJvcjog
Tm90IGNvcnJlY3QgcmVzdWx0IGZvciBpbnN0YW5jZW9mIG1ldGhvZCBmb3IgYXJyb3cgZnVuY3Rp
b24iKTsKKwordGVzdENhc2Uoc2ltcGxlQXJyb3dGdW5jdGlvbi5jb25zdHJ1Y3RvciA9PSBGdW5j
dGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIGNvbnN0cnVjdG9yIG1l
dGhvZCBvZiBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZSh0eXBlb2Ygc2ltcGxlQXJyb3dG
dW5jdGlvbi5wcm90b3R5cGUgPT09ICd1bmRlZmluZWQnLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3Jy
ZWN0IHJlc3VsdCBmb3IgcHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9uIik7CisKK3ZhciBlcnJv
ck9uQ3JlYXRlID0gZmFsc2U7CisKK3RyeSB7CisgIHZhciBmYyA9IG5ldyBzaW1wbGVBcnJvd0Z1
bmN0aW9uKCk7Cit9CitjYXRjaCAoZSkgeworICBlcnJvck9uQ3JlYXRlID0gdHJ1ZTsKK30KKwor
dGVzdENhc2UoZXJyb3JPbkNyZWF0ZSwgdHJ1ZSwgIkVycm9yOiBObyBlcnJvciBkdXJpbmcgcnVu
IG5ldyBBcnJvd0Z1bmN0aW9uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tdGR6LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXRkei5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOWQzNWNkZWE0
YmFmNjY3NDMxYWY4YWJlOGRhZGYyMmQwNGI5MGUxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXRkei5qcwpAQCAtMCww
ICsxLDI0IEBACit2YXIgQSA9IGNsYXNzIEEgeyB9OwordmFyIEIgPSBjbGFzcyBCIGV4dGVuZHMg
QSB7CisgIGNvbnN0cnVjdG9yKGFjY2Vzc1RoaXNCZWZvcmVTdXBlcikgeworICAgIGlmIChhY2Nl
c3NUaGlzQmVmb3JlU3VwZXIpIHsKKyAgICAgIHZhciBmID0gKCkgPT4gdGhpczsKKyAgICAgIHN1
cGVyKCk7CisgICAgfSBlbHNlIHsKKyAgICAgIHN1cGVyKCk7CisgICAgfQorICB9Cit9OworCit2
YXIgZXhjZXB0aW9uID0gbnVsbDsKK3RyeSB7CisgICAgIG5ldyBCKHRydWUpOworfSBjYXRjaCAo
ZSkgeworICAgIGV4Y2VwdGlvbiA9IGU7CisgICAgaWYgKCEoZSBpbnN0YW5jZW9mIFJlZmVyZW5j
ZUVycm9yKSkKKyAgICAgICAgdGhyb3cgIkV4Y2VwdGlvbiB0aHJvd24gd2FzIG5vdCBhIHJlZmVy
ZW5jZSBlcnJvciI7Cit9CitpZiAoIWV4Y2VwdGlvbikKKyAgICB0aHJvdyAiRXhjZXB0aW9uIG5v
dCB0aHJvd24gZm9yIGFuIHVuaXRpYWxpemVkIHRoaXMgYXQgaXRlcmF0aW9uIjsKKwordmFyIGUg
PSBuZXcgQihmYWxzZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24uanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDY4N2IzYWFiMWQyN2Y0NTNmOTA3NjFj
ZWMxYWQ0ZDA1Y2YwM2IzNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi5qcwpAQCAtMCwwICsxLDE1NCBAQAordmFyIHJl
c3VsdDsKKworIHZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNz
YWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSAr
ICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICIn
IjsKKyAgfQorfTsKKwordmFyIGFycm93RnVuY3Rpb24wID0gdiA9PiB2ICsgMTsKK3Jlc3VsdCA9
IGFycm93RnVuY3Rpb24wKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEgLCJFcnJvcjogTm90IGNv
cnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogdiA9PiB2ICsgMSIpOworCit2
YXIgYXJyb3dGdW5jdGlvbjEgPSAodikgPT4gdiAqIDI7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9u
MSgxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICh2KSA9PiB2ICsgMSIpOworCit2YXIgYXJyb3dGdW5j
dGlvbjIgPSAoKSA9PiAxMDAwOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjIoMTIxMik7Cit0ZXN0
Q2FzZShyZXN1bHQsIDEwMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbjogKCkgPT4gMTAwMCIpOworCit2YXIgdG1wVmFyaWFsdmUyXzEgPSAxNTE7
Cit2YXIgYXJyb3dGdW5jdGlvbjJfMSA9ICgpID0+IHRtcFZhcmlhbHZlMl8xOworcmVzdWx0ID0g
YXJyb3dGdW5jdGlvbjJfMSgxMjEpOwordGVzdENhc2UocmVzdWx0LCB0bXBWYXJpYWx2ZTJfMSAs
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAoKSA9
PiB2YXJpYWJsZSIpOworCit2YXIgYXJyb3dGdW5jdGlvbjMgPSAodiwgeCkgPT4gdiArIHg7City
ZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMygxMSwxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDIzICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICh4LCB5KSA9
PiB4ICsgeSIpOworCit2YXIgYXJyb3dGdW5jdGlvbldyYXBwZXIgPSBmdW5jdGlvbiAoY2wsIHBh
cmFtdGVyKSB7IHJldHVybiBjbChwYXJhbXRlcik7IH07CisKK3Jlc3VsdCA9IGFycm93RnVuY3Rp
b25XcmFwcGVyKHggPT4gMTIzNCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMzQgLCJFcnJvcjogTm90
IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4
ID0+IGMpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEyMzQsIDIz
NDUpOwordGVzdENhc2UocmVzdWx0LCAxMjM0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjLCB5KSIpOworCisg
cmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMjEgKyAyMzIpOwordGVzdENhc2Uo
cmVzdWx0LCAzNTMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMxICsgYzIpIik7CisKKyByZXN1bHQgPSBhcnJv
d0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEyMyArIDMyMSwgOTk5OSk7Cit0ZXN0Q2FzZShyZXN1bHQs
IDQ0NCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9u
IGFzIHBhcmFtdGVyOiBmKHggPT4gYzEgKyBjMiwgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVu
Y3Rpb25XcmFwcGVyKHggPT4geCArIDEyLCAyMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDMzICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10
ZXI6IGYoeCA9PiB4ICsgYzEsIHkpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBl
cigoeCkgPT4geCArIDIxLCAzMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDUzLCAiRXJyb3I6IE5vdCBj
b3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKHgp
ID0+IGMxICsgYzIsIHkpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9
PiAxMDApOwordGVzdENhc2UocmVzdWx0LCAxMDAsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjKSIpOworCisg
dmFyIGV4dF92YWx1ZSA9IDEyMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+
IGV4dF92YWx1ZSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMSwgIkVycm9yOiBOb3QgY29ycmVjdCBl
eGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IHYpIik7
CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiBleHRfdmFsdWUgKiAxMCk7
Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMTAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiB2KngpIik7CisKKyByZXN1
bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoeCkgPT4gZXh0X3ZhbHVlICogeCwgMzApOwordGVz
dENhc2UocmVzdWx0LCAzMCpleHRfdmFsdWUgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoeCkgPT4gdip4LCB5KSIpOwor
CisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwLCAxMSk7Cit0ZXN0Q2Fz
ZShyZXN1bHQsIDEwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMxLCB5KSIpOworCisgcmVzdWx0ID0gYXJy
b3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwICsgMTApOwordGVzdENhc2UocmVzdWx0LCAxMTAg
LCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBw
YXJhbXRlcjogZigoKSA9PiBjMSArIGMyKSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldy
YXBwZXIoKCkgPT4gMTAwICsgMTEsIDEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTExICwiRXJyb3I6
IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6
IGYoKCkgPT4gYzEgKyBjMiwgeSkiKTsKKworIHZhciBhcnJvd0Z1bmN0aW9uNCA9IHYgPT4gdiAr
IDEsIHh5ejEgPSAxMDEwMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb240KDEwMTEpOwordGVzdENh
c2UocmVzdWx0LCAxMDEyICwiRXJyb3I6IE5vdCBjb3JyZWN0IHBhcnNpbmcgb2YgdGggYXJyb3cg
ZnVuY3Rpb24gaW5zaWRlIG9mIHRoZSBsaXN0IG9mIHZhcnM6IHZhciBhZiA9IHY9PiB2ICsgMTsg
enhjPWM7Iik7Cit0ZXN0Q2FzZSh4eXoxLCAxMDEwMSAsIkVycm9yOiBOb3QgY29ycmVjdCBwYXJz
aW5nIG9mIHRoIGFycm93IGZ1bmN0aW9uIGluc2lkZSBvZiB0aGUgbGlzdCBvZiB2YXJzOiB2YXIg
YWYgPSB2PT4gdiArIDE7IHp4Yz1jOyIpOworCisgdmFyIGFycm93RnVuY3Rpb25XcmFwcGVyMiA9
IGZ1bmN0aW9uIChjbCwgcGFyYW10ZXIxLCBwYXJhbXRlcjIpIHsgcmV0dXJuIGNsKHBhcmFtdGVy
MSwgcGFyYW10ZXIyKTsgfTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyMigoeCwgeSkg
PT4geCArIHksIDEyICw0Myk7Cit0ZXN0Q2FzZShyZXN1bHQsIDU1ICwiRXJyb3I6IE5vdCBjb3Jy
ZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW1ldGVyOiBmKCh4LCB5
KSA9PiB4ICsgeSwgYzEsIGMyKSIpOworCisgdmFyIGFycm93RnVuY3Rpb0FycmF5MCA9IFt2ID0+
IHYgKiAxMF07CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTBbMF0oMTApOwordGVzdENhc2Uo
cmVzdWx0LCAxMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbdj0+dioxMF0iKTsKKworIHZhciBhcnJvd0Z1bmN0
aW9BcnJheTEgPSBbdiA9PiB2ICsgMSwgdiA9PiB2ICsgMl07CityZXN1bHQgPSBhcnJvd0Z1bmN0
aW9BcnJheTFbMF0oMTApOwordGVzdENhc2UocmVzdWx0LCAxMSAsIkVycm9yOiBOb3QgY29ycmVj
dCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFt2ID0+
IHYgKyAxLCAgdiA9PiB2ICsgMl0iKTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5MVsxXSgx
MSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogW3YgPT4gdiArIDEsICB2ID0+
IHYgKyAyXSIpOworCisgdmFyIGFycm93RnVuY3Rpb0FycmF5MiA9IFsodikgPT4gdiArIDEsICh2
KSA9PiB2ICsgMl07CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTJbMF0oMTEpOwordGVzdENh
c2UocmVzdWx0LCAxMiAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsodikgPT4gdiArIDEsICAodikgPT4gdiArIDJd
Iik7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTJbMV0oMTEpOwordGVzdENhc2UocmVzdWx0
LCAxMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9u
IGFzIGl0ZW0gaW4gYXJyYXk6IFsodikgPT4gdiArIDEsICAodikgPT4gdiArIDJdIik7CisKKyB2
YXIgYXJyb3dGdW5jdGlvQXJyYXkzID0gWygpID0+IDEwMSwgKCkgPT4gMTIzMjNdOworcmVzdWx0
ID0gYXJyb3dGdW5jdGlvQXJyYXkzWzBdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAxLCAiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBp
biBhcnJheTogWygpID0+IGMxLCAgKCkgPT4gYzJdIik7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9B
cnJheTNbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMjMyMywgIkVycm9yOiBOb3QgY29ycmVj
dCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsoKSA9
PiBjMSwgICgpID0+IGMyXSIpOworCit2YXIgYXJyb3dGdW5jdGlvbk9iaiA9IHtmdW5jIDogeSA9
PiB5ICsgMTJ9OworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbk9iai5mdW5jKDExKTsKK3Rlc3RDYXNl
KHJlc3VsdCwgMjMgLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24gYXMgcHJvcGVydHk6IHtmdW5jIDogeSA9PiB5ICsgMTIgfSIpOworCit2YXIgYWZP
YmpMZXhCaW5kMiA9IGZ1bmN0aW9uICgpIHsKKyAgdGhpcy5mdW5jID0gKCkgPT4gdGhpczsKK307
CisKK3ZhciBhcnJvd0ZhdEZ1bmN0aW9uMCA9ICgpID0+IHsgcmV0dXJuIDEwMDA7IH07CityZXN1
bHQgPSBhcnJvd0ZhdEZ1bmN0aW9uMCgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMDAgLCJFcnJv
cjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkg
YXMgYmxvY2s6ICgpID0+IHsgcmV0dXJuIDEwMDA7IH0iKTsKKwordmFyIGFycm93RmF0RnVuY3Rp
b24xID0gdiA9PiB7IHZhciBpbnR2YWwgPSAxMDA7IHJldHVybiB2ICogaW50dmFsOyB9OworcmVz
dWx0ID0gYXJyb3dGYXRGdW5jdGlvbjEoMTEpOwordGVzdENhc2UocmVzdWx0LCAxMTAwICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5
IGFzIGJsb2NrOiB4ID0+IHsgdmFyIHY9MTAwMDsgcmV0dXJuIHYqeDsgfSIpOworCit2YXIgYXJy
b3dGYXRGdW5jdGlvbjIgPSAodikgPT4geyB2YXIgaW50ID0gMjAwOyByZXR1cm4gdiAqIGludDsg
fTsKK3Jlc3VsdCA9IGFycm93RmF0RnVuY3Rpb24yKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjIw
MCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdp
dGggYm9keSBhcyBibG9jazogKHgpID0+IHsgdmFyIHY9MTAwMDsgcmV0dXJuIHYqeDsgfSIpOwor
Cit2YXIgYXJyb3dGYXRGdW5jdGlvbjMgPSAodiwgeCkgPT4geyB2YXIgcmVzdWx0ID0geCAqIHY7
IHJldHVybiByZXN1bHQ7IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0aW9uMygxMSwgMTIyMjIp
OwordGVzdENhc2UocmVzdWx0LCAxMzQ0NDIgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICh2LCB4KSA9PiB7IHZh
ciByZXN1bHQgPSB4ICogdjsgcmV0dXJuIHJlc3VsdDsgfSIpOworCityZXN1bHQgPSBhcnJvd0Z1
bmN0aW9uV3JhcHBlcih4PT57cmV0dXJuIHggKiAyNTt9LCAxMjEpOwordGVzdENhc2UocmVzdWx0
LCAyNSoxMjEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6IGYoeCA9PiB7cmV0dXJuIHggKiAyNTt9LCAxMjEpIik7
CisKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyMigoeCwgeSk9PntyZXR1cm4geCAqIHk7
fSwgMTQsIDEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTQqMTIgLCJFcnJvcjogTm90IGNvcnJlY3Qg
ZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6IGYoKHgs
IHkpPT57cmV0dXJuIHggKiB5O30sIDE0LCAxMjEpKSIpOworCit2YXIgc2ltcGxlQXJyb3dGdW5j
dGlvbiA9ICgpID0+IHt9OworCit0ZXN0Q2FzZSh0eXBlb2Ygc2ltcGxlQXJyb3dGdW5jdGlvbiwg
ImZ1bmN0aW9uIiwgIkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlv
biIpOworCit0ZXN0Q2FzZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yoc2ltcGxlQXJyb3dGdW5jdGlv
biksIEZ1bmN0aW9uLnByb3RvdHlwZSwgIkVycm9yOiBOb3QgY29ycmVjdCBnZXRQcm90b3R5cGVP
ZiB2YWx1ZSBmb3IgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2Uoc2ltcGxlQXJyb3dGdW5j
dGlvbiBpbnN0YW5jZW9mIEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3Vs
dCBmb3IgaW5zdGFuY2VvZiBtZXRob2QgZm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNl
KHNpbXBsZUFycm93RnVuY3Rpb24uY29uc3RydWN0b3IgPT0gRnVuY3Rpb24sIHRydWUsICJFcnJv
cjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBjb25zdHJ1Y3RvciBtZXRob2Qgb2YgYXJyb3cgZnVu
Y3Rpb24iKTsKKwordGVzdENhc2UodHlwZW9mIHNpbXBsZUFycm93RnVuY3Rpb24ucHJvdG90eXBl
ID09PSAndW5kZWZpbmVkJywgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHBy
b3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiIpOworCit2YXIgZXJyb3JPbkNyZWF0ZSA9IGZhbHNl
OworCit0cnkgeworICB2YXIgZmMgPSBuZXcgc2ltcGxlQXJyb3dGdW5jdGlvbigpOworfQorY2F0
Y2ggKGUpIHsKKyAgZXJyb3JPbkNyZWF0ZSA9IHRydWU7Cit9CisKK3Rlc3RDYXNlKGVycm9yT25D
cmVhdGUsIHRydWUsICJFcnJvcjogTm8gZXJyb3IgZHVyaW5nIHJ1biBuZXcgQXJyb3dGdW5jdGlv
biIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwppbmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFm
ODYwLi4xMTQ4YTc2OTcyZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1NTBhMDUxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BB
VEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0g
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSBFTkFC
TEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBF
TkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
ID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwogRU5BQkxF
X0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMjsK
QEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FU
VVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhN
RVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1ND
Uk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1F
TlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQo
RU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxF
X0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9D
U1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JP
WF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NT
U19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9D
U1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVO
QUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxF
X0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVf
QlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1F
X0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9F
TEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VM
RU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNf
Q09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVE
X01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9F
VkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJM
RV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURE
RU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVO
QUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNP
TVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVU
X1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9T
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVT
KSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFC
TEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9M
U19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElD
UykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNF
X0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxF
X05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VT
KSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1Qp
ICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFC
TEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5B
QkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVO
QUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxF
X1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMp
ICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RF
VEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0la
SU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykg
JChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVO
QUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUp
ICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVO
QUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRf
UkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZU
TF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9B
UklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RF
RklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NB
TlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9B
VkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVf
UEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZ
KSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkg
JChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRF
UklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIp
ICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lU
SU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xB
WU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
UkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNf
TEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxF
X0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFC
TEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChF
TkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChF
TkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5B
QkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQo
RU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVO
QUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVf
R0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElP
TikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lD
T05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9J
TkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FM
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
KSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9S
X1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZ
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVU
VEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFC
TEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxF
X01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1M
KSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5U
X1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAk
KEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVC
TElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJ
T05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVf
SU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJC
RVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lO
VEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChF
TkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVM
RVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5B
QkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VD
SF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VS
U0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJM
RV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9X
RUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9X
RUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykg
JChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9Y
U0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NB
VFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01P
REUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0MWZkYjZmNDY4OTg4
MDU4OWFmODYwLi4xMTQ4YTc2OTcyZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1NTBhMDUxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFC
TEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19T
WU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhU
ID0gOwogRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElP
TlNfTEVWRUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwog
CiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9M
QVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVS
SU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRB
Q0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FO
VkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
KSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChF
TkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcp
ICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VU
KSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNP
TFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZF
TDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NT
M19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9D
VVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJM
RV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJM
RV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVf
RE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxF
X0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1F
UEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAk
KEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRB
VEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElF
X1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
X1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQo
RU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQo
RU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJF
RklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVO
RE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQ
UkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9N
RURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVE
SUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQo
RU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJ
TFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJ
T05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5B
QkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNf
U1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9G
UkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQ
RUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9C
QU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVT
SVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJM
RV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhP
TkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lD
T05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxF
Q1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RB
VEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdM
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9T
T0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVO
QUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQp
ICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJB
VEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7
CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
KSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChF
TkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVf
Q0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NM
QVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9D
T05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJ
T05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVf
Q1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxF
X0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NT
U19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RF
WFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJ
TElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZF
Ul9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBU
RURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19M
RVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQ
SSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJM
RV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcp
ICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJT
KSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FD
WV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChF
TkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykg
JChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01B
VEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VS
Q0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQo
RU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklH
QVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChF
TkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9J
TlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykg
JChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVR
VUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVO
QUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAk
KEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJM
RV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExF
X0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikg
JChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VM
RU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAk
KEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RS
QUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElB
KSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZ
KSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVf
V0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VU
KSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1Ap
ICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJF
U0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0MWZkYjZm
NDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2OTcyZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1NTBhMDUx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFC
TEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19T
WU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhU
ID0gOwogRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElP
TlNfTEVWRUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwog
CiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9M
QVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVS
SU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRB
Q0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FO
VkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
KSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChF
TkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcp
ICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VU
KSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNP
TFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZF
TDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NT
M19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9D
VVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJM
RV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJM
RV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVf
RE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxF
X0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1F
UEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAk
KEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRB
VEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElF
X1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
X1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQo
RU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQo
RU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJF
RklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVO
RE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQ
UkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9N
RURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVE
SUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQo
RU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJ
TFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJ
T05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5B
QkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNf
U1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9G
UkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQ
RUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9C
QU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVT
SVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJM
RV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhP
TkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lD
T05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxF
Q1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RB
VEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdM
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9T
T0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVO
QUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQp
ICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJB
VEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7
CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
KSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChF
TkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVf
Q0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NM
QVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9D
T05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJ
T05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVf
Q1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxF
X0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NT
U19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RF
WFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJ
TElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZF
Ul9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBU
RURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19M
RVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQ
SSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJM
RV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcp
ICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJT
KSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FD
WV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChF
TkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykg
JChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01B
VEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VS
Q0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQo
RU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklH
QVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChF
TkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9J
TlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykg
JChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVR
VUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVO
QUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAk
KEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJM
RV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExF
X0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikg
JChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VM
RU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAk
KEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RS
QUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElB
KSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZ
KSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVf
V0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VU
KSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1Ap
ICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJF
U0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVz
LmNtYWtlIGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCmluZGV4IDMyYzIzNWQ5
OGI1YTQyMGViZTMzNDgzNGM3YjZhNDE4MmIyMjIyMGEuLmE2NzUzNzE0NTYyN2NkMzhhMjcwNzlj
ZDVkZmU5ODY4MmM5MWY0NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJl
cy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKQEAgLTI4LDYg
KzI4LDcgQEAgbWFjcm8oV0VCS0lUX09QVElPTl9CRUdJTikKICAgICBXRUJLSVRfT1BUSU9OX0RF
RklORShFTkFCTEVfQ0FOVkFTX1BST1hZICJUb2dnbGUgQ2FudmFzUHJveHkgc3VwcG9ydCIgT0ZG
KQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyAiVG9n
Z2xlIE1lc3NhZ2VDaGFubmVsIGFuZCBNZXNzYWdlUG9ydCBzdXBwb3J0IiBPTikKICAgICBXRUJL
SVRfT1BUSU9OX0RFRklORShFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCAiVG9nZ2xlIEVTNiBjbGFz
cyBzeW50YXggc3VwcG9ydCIgT04pCisgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0VT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCAiVG9nZ2xlIEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgg
c3VwcG9ydCIgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NPTlRFTlRfRklM
VEVSSU5HICJUb2dnbGUgY29udGVudCBmaWx0ZXJpbmcgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJ
VF9PUFRJT05fREVGSU5FKEVOQUJMRV9DT05URVhUX01FTlVTICJUb2dnbGUgQ29udGV4dCBNZW51
IHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DU1BfTkVYVCAi
VG9nZ2xlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IDEuMSBzdXBwb3J0IiBPRkYpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZSBiL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNt
YWtlCmluZGV4IDIxZDNmY2M1ZDk4M2Y5NTk1ZGVmMzUxMDU2OGNkYzk4OTY1MjQ2ZWQuLmNmMWFm
ZTU2YzVmMGYyNjA5OTA5MGU1MWI3YjJhNjYwM2VhMDczMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9j
bWFrZWNvbmZpZy5oLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCkBAIC0x
Myw2ICsxMyw3IEBACiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ0FOVkFTX1BST1hZCiAjY21ha2Vk
ZWZpbmUwMSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9F
UzZfQ0xBU1NfU1lOVEFYCisjY21ha2VkZWZpbmUwMSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcKICNjbWFrZWRl
ZmluZTAxIEVOQUJMRV9DT05URVhUX01FTlVTCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ1JFREVO
VElBTF9TVE9SQUdFCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVy
ZUxpc3QucG0gYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KaW5kZXgg
MTZmZDY0OWM2OGQ2YjNkNDNkMGIzMWUzMzU3OTA0ZmM4NzI0YTdlYi4uMjIzYjMxMWJjZmJhYjJj
MjY4YTdmMjY1MmQxNGVkMTk2MzdmZGZjZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRwZXJsL0ZlYXR1cmVMaXN0LnBtCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0
dXJlTGlzdC5wbQpAQCAtNDQsNiArNDQsNyBAQCBCRUdJTiB7CiBteSAoCiAgICAgJHRocmVlRFJl
bmRlcmluZ1N1cHBvcnQsCiAgICAgJGFjY2VsZXJhdGVkMkRDYW52YXNTdXBwb3J0LAorICAgICRh
cnJvd2Z1bmN0aW9uU3ludGF4LAogICAgICRiYXR0ZXJ5U3RhdHVzU3VwcG9ydCwKICAgICAkY2Fu
dmFzUGF0aFN1cHBvcnQsCiAgICAgJGNhbnZhc1Byb3h5U3VwcG9ydCwKQEAgLTE1NCw2ICsxNTUs
OSBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAgeyBvcHRpb24gPT4gImFjY2VsZXJhdGVkLTJkLWNh
bnZhcyIsIGRlc2MgPT4gIlRvZ2dsZSBBY2NlbGVyYXRlZCAyRCBDYW52YXMgc3VwcG9ydCIsCiAg
ICAgICBkZWZpbmUgPT4gIkVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMiLCBkZWZhdWx0ID0+
IGlzR3RrKCksIHZhbHVlID0+IFwkYWNjZWxlcmF0ZWQyRENhbnZhc1N1cHBvcnQgfSwKIAorICAg
IHsgb3B0aW9uID0+ICJhcnJvd2Z1bmN0aW9uLXN5bnRheCIsIGRlc2MgPT4gIlRvZ2dsZSBFUzYg
YXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1cHBvcnQiLAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVf
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGFycm93
ZnVuY3Rpb25TeW50YXggfSwKKwogICAgIHsgb3B0aW9uID0+ICJiYXR0ZXJ5LXN0YXR1cyIsIGRl
c2MgPT4gIlRvZ2dsZSBCYXR0ZXJ5IFN0YXR1cyBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAi
RU5BQkxFX0JBVFRFUllfU1RBVFVTIiwgZGVmYXVsdCA9PiBpc0VmbCgpLCB2YWx1ZSA9PiBcJGJh
dHRlcnlTdGF0dXNTdXBwb3J0IH0sCiAKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxv
ZwppbmRleCA0ZWQ4NmE2Zjg4OThkMzFlMzgwNTBiMzJhNTRjYTc2YmUxZDYxNmRmLi5lOTFjN2Nh
MjAwYmU3MTRjNjg5OTY1N2U5NmMyNTJiMGQwOWVkYTQ5IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cK
KysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTUtMDQtMDEgICBTa2FjaGtvdiBB
bGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgW0VTNl0gSW1wbGVtZW50
IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQorCisgICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIHRvIHN3aXRjaCBvbi9vZmYg
ZXM2IGFycm93IGZ1bmN0aW9uIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgKKworICAg
ICAgICAgKiBTb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2U6CisgICAgICAgICAqIFNv
dXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlOgorCiAyMDE1LTAzLTI5ICBHeXV5b3VuZyBLaW0gIDxn
eXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0NNYWtlXSBVcGRhdGUgb2xkIENN
YWtlTGlzdC50eHQgaW4gZ3Rlc3QK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250430</attachid>
            <date>2015-04-09 02:21:01 -0700</date>
            <delta_ts>2015-04-09 05:46:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150409122008.patch</filename>
            <type>text/plain</type>
            <size>131998</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyMjA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
ZmNjM2QxNTdiYmMyNzhhZGUyOTEyOTc3ZWI5MzAxYTA5YTJjYjA4Li41NTRhYjEzZWJkNmIyOGU4
NWY4OTQ2MzBhYjk1MGY4MDQ1YWJmZTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMTUgQEAKKzIwMTUtMDQtMDEgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MDg1NQorCisgICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGRlZCBzdXBwb3J0IG9mIEVTNiBhcnJvdyBmdW5jdGlvbi4gQ2hhbmdlcyB3ZXJlIG1hZGUgYWNj
b3JkaW5nIGZvbGxvd2luZyBzcGVjIGh0dHA6Ly93aWtpLmVjbWFzY3JpcHQub3JnL2Rva3UucGhw
P2lkPWhhcm1vbnk6YXJyb3dfZnVuY3Rpb25fc3ludGF4CisgICAgICAgIEluIHBhdGNoIHdlcmUg
aW1wbGVtZW50ZWQgdGhlIHNpbXBsZXN0IGNhc2VzOgorICAgICAgICAgIDEgbm8gcGFyYW1ldGVy
cyAgICAgICAgICAgICAgICAoKSA9PiAxMCArIDIwCisgICAgICAgICAgMiBzaW5nbGUgcGFyYW1l
dGVyICAgICAgICAgICAgICB4ID0+IHggKyAyMAorICAgICAgICAgIDMgbXVsdGlwbGUgcGFyYW1l
dGVycyAgICAgICh4LCB5KSA9PiB4ICsgeQorICAgICAgICAgIDQgYXJyb3cgZnVuY3Rpb24gd2l0
aCBibG9jayAgICAgeCA9PiB7IHJldHVybiB4KjEwOyB9CisgICAgICAgICAgNSBsZXhpY2FsIHRo
aXMgLSB2YXJpYWJsZSB0aGlzIGlzIHBvaW50IHRvIHRoZSB0aGlzIG9mIHRoZSBmdW5jdGlvbiB3
aGVyZSBhcnJvdyBmdW5jdGlvbiBpcyBkZWNsYXJlZAorICAgICAgICAgIDYgTm8gY29uc3RydWN0
b3IgLSB0aGUgdXNpbmcgb2YgdGhlIGNvbW1hbmQgbmV3IGZvciBhcnJvdyBmdW5jdGlvbiBsZWFk
cyB0byBydW50aW1lIGVycm9yLiAKKworICAgICAgICAgTm90IHlldCBpbXBsZW1lbnRlZDoKKyAg
ICAgICAgICAxIHRoZSB2YXJpYWJsZSB3aXRoIG5hbWUgYXJndW1lbnRzIGluc2lkZSBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gc2hvdWxkIHBvaW50IHRvIGxpc3Qgb2YgYXJndW1lbnRzIG9mIGZ1bmN0
aW9uIHdoZXJlIGFycm93IGZ1bmN0aW9uIGlzIGRlY2xhcmVkCisgICAgICAgICAgMiBwYXJzZXIg
d2lsbCBwYXJzZSB0aGUgc3RhdGVtZW50IHgsIHkgPT4geCArIHkgaW5zdGVhZCBvZiByYWlzaW5n
IGV4Y2VwdGlvbgorICAgICAgICAgIDMgbWV0aG9kIGNhbGwsIGFwcGx5LCBiaW5kIHNob3VsZCBu
b3Qgb3ZlcnJpZGUgdGhlIHRoaXMgdmFyaWFibGUgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlv
bgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6Cisg
ICAgICAgICogSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qOgor
ICAgICAgICAqIGJ5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uOgorICAgICAgICAqIGJ5dGVjb2Rl
L0J5dGVjb2RlVXNlRGVmLmg6CisgICAgICAgIChKU0M6OkZ1bmN0b3I6OmNvbXB1dGVVc2VzRm9y
Qnl0ZWNvZGVPZmZzZXQpOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAg
ICAgIChKU0M6OkNvZGVCbG9jazo6ZHVtcEJ5dGVjb2RlKToKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVH
ZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Fy
cm93RnVuY3Rpb25FeHByZXNzaW9uKTogYWRkZWQKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5l
cmF0b3I6OmVtaXRUaGlzTm9kZUJ5dGVjb2RlKTogYWRkZWQKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvTm9kZXNDb2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6ZW1pdEJ5dGVjb2RlOjplbWl0Qnl0
ZWNvZGUpOiBhZGRlZAorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHByTm9kZTo6ZW1pdEJ5dGVj
b2RlKTogYWRkZWQKKyAgICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAg
ICAoSlNDOjpCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgICogZGZnL0RGR0Nh
cGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkNhcGFiaWxpdHlMZXZlbDo6Y2FwYWJpbGl0
eUxldmVsKToKKyAgICAgICAgKiBqaXQvSklULmg6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9v
cF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRJbmxpbmVzLmg6
CisgICAgICAgIChKU0M6OkpJVDo6Y2FsbE9wZXJhdGlvbik6IGFkZGVkCisgICAgICAgICogaml0
L0pJVC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcyk6Cisg
ICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3Bf
bmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5j
cHA6CisgICAgICAgIChKU0M6OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5ld0Fycm93RnVuY3Rp
b24pOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmg6CisgICAgICAgIChKU0M6
OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24pOiBhZGRlZAorICAgICAg
ICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAgICAgICAgKExMSU5UX1NMT1dfUEFUSF9E
RUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGxsaW50
L0xMSW50U2xvd1BhdGhzLmg6CisgICAgICAgIChMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3Bh
dGhfbmV3X2Fycm93X2Z1bmNfZXhwKSk6IGFkZGVkCisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206CisgICAgICAgICogcGFyc2VyL0FTVEJ1aWxkZXIuaDoKKyAgICAgICAg
KEpTQzo6QVNUQnVpbGRlcjo6Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIpOgorICAgICAgICAqIHBh
cnNlci9MZXhlci5jcHA6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9u
KToKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OmxleCk6CisgICAgICAgICogcGFyc2VyL0xleGVy
Lmg6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9uKToKKyAgICAgICAg
KiBwYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oOgorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHBy
Tm9kZTo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZAorICAgICAgICAqIHBhcnNlci9Ob2Rlcy5o
OgorICAgICAgICAoSlNDOjpOb2RlOjppc0Fycm93RnVuY0V4cHJOb2RlKTogYWRkZWQKKyAgICAg
ICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZCBjbGFzcworICAgICAgICAqIHBhcnNl
ci9QYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3Vy
Y2VFbGVtZW50cyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1h
cnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZVNvdXJjZUVsZW1lbnQp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6
UGFyc2VyOjpwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwYXJzZVByaW1hcnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFy
cm93RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6c2V0RW5kT2ZTdGF0ZW1lbnQp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIpOgorICAg
ICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkluZm8pOgorICAgICAgICAoSlND
OjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkJvZHkpOgorICAgICAgICAqIHBhcnNlci9QYXJz
ZXIuaDoKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpGdW5jdGlvblBhcnNlVHlwZSk6CisgICAgICAg
IChKU0M6OlBhcnNlcjo6cGFyc2VTb3VyY2VFbGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0V4cHJl
c3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnNldEVuZE9mU3RhdGVtZW50KToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKToKKyAgICAgICAgKiBw
YXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmg6CisgICAgICAgICogcGFyc2VyL1BhcnNlclRva2Vu
cy5oOgorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmFycm93RnVuY3Rpb25PZmZz
ZXQpOiBhZGRlZAorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmlzQXJyb3dGdW5j
dGlvbik6IGFkZGVkCisgICAgICAgIChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6YXJyb3dGdW5j
dGlvbkJvZHlUeXBlKTogYWRkZWQKKyAgICAgICAgKiBwYXJzZXIvU291cmNlQ29kZS5oOgorICAg
ICAgICAoSlNDOjpTb3VyY2VDb2RlOjpzdWJBcnJvd0V4cHJlc3Npb24pOgorICAgICAgICAqIHBh
cnNlci9TeW50YXhDaGVja2VyLmg6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNyZWF0
ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAgICAgKiBwYXJzZXIvU291cmNlUHJvdmlkZXJDYWNo
ZUl0ZW06CisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJh
bWV0ZXJzKToKKyAgICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0pOgorICAgICAg
ICAoSlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6ZW5kQXJyb3dGdW5jdGlvblRva2VuKToK
KyAgICAgICAgKiBydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oOiBhZGRlZCBjbGFzcyBmb3IgaGFu
ZGxlIGFycm93IGZ1bmN0aW9uIGNyZWF0aW9uIGFuZCBleGVjdXRpb24KKyAgICAgICAgKiBydW50
aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHA6CisgICAgICAgICogcnVudGltZS9KU0Z1bmN0aW9uLmg6
CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OkpTRnVuY3Rpb24pOiBhZGRlZCBvbmUgbW9yZSBj
b25zdHJ1Y3RvcgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaDoKKyAgICAg
ICAgKEpTQzo6SlNGdW5jdGlvbjo6SlNGdW5jdGlvbik6IGFkZGVkIGNvbnN0cnVjdG9yIGltcGxl
bWVudGF0aW9uCisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAg
IChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmpl
Y3Q6Om1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZSk6IGFkZGVkCisgICAgICAgIChKU0M6OkpTR2xv
YmFsT2JqZWN0OjphcnJvd0Z1bmN0aW9uU3RydWN0dXJlKToKKyAgICAgICAgKiB0ZXN0cy9zdHJl
c3MvanMvYXJyb3dmdW5jdGlvbi5qczoKKwogMjAxNS0wMy0zMSAgWXVzdWtlIFN1enVraSAgPHV0
YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBDbGVhbiB1cCBJZGVudGlmaWVyIGZhY3Rv
cmllcyB0byBjbGFyaWZ5IHRoZSBtZWFuaW5nIG9mIFN0cmluZ0ltcGwqCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ODczZjY4NTA1NmJiN2U0NzdiNmI2OTVkZmFjYjBhZWJhNThlYTQ0Ny4uMzc0MzhmNDQxMmFkNjM5
YTc0OTY4ZjNmM2VjOTdjM2QzYTNlZmIyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDE1LTA0LTAxICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAg
ICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUg
ZmxhZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgor
CisgICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAy
MDE1LTAzLTMxICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAg
ICAgICAgTW92ZSBFeHBhbnNpb25CZWhhdmlvckZsYWdzIGFuZCBUZXh0RGlyZWN0aW9uIHRvIHRo
ZWlyIG93biBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNzU3ZWE0OWQwYTMwZjk0ZDU2MjJiODM1
MzVjMWJlYmQwNDMxZTk1Ni4uZWY4N2M3NWUwMDQ5YjZjOWQ4NGQxNGNlYTQwMTVmNTBhYWUyZDUy
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTA0LTAxICBTa2FjaGtv
diBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgIFtFUzZdIEltcGxl
bWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyBFTkFCTEVfRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgorCisgICAgICAgICAqIENvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1LTAzLTMxICBZdXN1a2Ug
U3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIENsZWFuIHVwIElkZW50
aWZpZXIgZmFjdG9yaWVzIHRvIGNsYXJpZnkgdGhlIG1lYW5pbmcgb2YgU3RyaW5nSW1wbCoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA3MjExMjc2NTJkODg4ZjUwMWFiNmMy
MTdiODMzNDQxOTA0M2Y1ODY0Li41MDUzZGMxN2U2ZDU4YjExMWM3MzBhOTRjYzA3NGIwY2JlNTA3
OGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC00NjYsNiArNDY2LDcg
QEAgc2V0KEphdmFTY3JpcHRDb3JlX1JVTlRJTUVfU09VUkNFUwogICAgIHJ1bnRpbWUvSlNBcnJh
eUJ1ZmZlclZpZXcuY3BwCiAgICAgcnVudGltZS9KU0FycmF5SXRlcmF0b3IuY3BwCiAgICAgcnVu
dGltZS9KU0JvdW5kRnVuY3Rpb24uY3BwCisgICAgcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3Bw
CiAgICAgcnVudGltZS9KU0dsb2JhbE9iamVjdERlYnVnZ2FibGUuY3BwCiAgICAgcnVudGltZS9K
U0NKU1ZhbHVlLmNwcAogICAgIHJ1bnRpbWUvSlNDYWxsZWUuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKaW5kZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0
OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FO
VkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgg
PSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5U
QVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklM
VEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwog
RU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVW
RUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFC
TEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRf
QVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BB
VEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVO
QUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVf
Q1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5B
QkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVO
QUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9O
KSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQo
RU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhU
X0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01f
U0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRB
TElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRB
SUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9F
VkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRf
TE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAk
KEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJM
RV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNF
KSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9W
RVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxF
X0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxF
X0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFC
TEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykg
JChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9D
T05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RB
VElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxF
X01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQo
RU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAk
KEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BS
T01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklY
X0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkg
JChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1Ip
ICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5H
KSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQo
RU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdf
Rk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVN
QkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9B
RElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxM
KSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVf
VkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVO
QUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRT
KSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9X
RUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5B
QkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xB
WU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFU
VVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVO
QUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFT
X1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZ
TlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xF
VkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NP
TVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19H
UklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxF
Q1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkg
JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
UykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVO
QUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJ
TUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
TEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9B
TklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQp
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVO
QUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVO
QUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5B
QkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKaW5kZXggNzQz
MzBlNzAzZGFjNGQzNjAwZWFiMjdhMGFkOGViNGFmMDBlMGIzMi4uNjIyODczZGQyZjk0NzBhOTEz
MThhY2NjZDQ3MDlkY2VhZTcyNjA4ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52
Y3hwcm9qCkBAIC03MzQsNiArNzM0LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1
bnRpbWVcSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJWaWV3LmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNCb3VuZEZ1bmN0aW9uLmNwcCIgLz4KKyAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJvd0Z1bmN0aW9uLmNwcCIgLz4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZS5jcHAiIC8+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ2FsbGVlLmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDYXRjaFNjb3BlLmNwcCIgLz4KQEAgLTE1MjYsNiArMTUy
Nyw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJW
aWV3SW5saW5lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0Fy
cmF5SXRlcmF0b3IuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNC
b3VuZEZ1bmN0aW9uLmgiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpT
QXJyb3dGdW5jdGlvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxK
U0NJbmxpbmVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0pT
VmFsdWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1
ZUlubGluZXMuaCIgLz4KQEAgLTE4MDAsNCArMTgwMiw0IEBACiAgIDxJbXBvcnRHcm91cCBMYWJl
bD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1Bh
dGgpXEJ1aWxkQ3VzdG9taXphdGlvbnNcbWFzbS50YXJnZXRzIiAvPgogICA8L0ltcG9ydEdyb3Vw
PgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYmEyZDEzNmViOTViNWE5ZmQzNTRhYjMwYThm
MzY5MWJmNzhjZWI4Ni4uZTlkNmYyNDY1ZTMzODU1ZDM2OGI0ZDIwNGUwZDc2NDZjNTZlOTg5ZiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwOTIsNiArMTA5Miw4IEBACiAJCTg2
RjNFRUJGMTY4Q0RFOTMwMDc3QjkyQSAvKiBPYmpjUnVudGltZUV4dHJhcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGM0VFQjYxNjg1NUE1QjAwNzdC
OTJBIC8qIE9iamNSdW50aW1lRXh0cmFzLmggKi87IH07CiAJCTg2RkE5RTkxMTQyQkJCMkUwMDE3
NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRGdW5j
dGlvbi5jcHAgKi87IH07CiAJCTg2RkE5RTkyMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVu
Y3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2
RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLzsgfTsKKwkJOEIw
RjQyNEMxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUyMDAzOTE3
RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCAqLzsgfTsKKwkJOEIwRjQyNEMxQUJENkRFMjAwMzkx
N0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlv
bi5oICovOyB9OwogCQk5MDIxM0UzRDEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGlj
cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIx
M0UzQjEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi87IH07CiAJCTkw
MjEzRTNFMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIxM0UzQzEyM0E0MEMyMDBENDIy
RjMgLyogTWVtb3J5U3RhdGlzdGljcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTkzMDUyQzM0MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVu
YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzA1
MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwICovOyB9OwpAQCAtMjgyNCw2
ICsyODI2LDggQEAKIAkJODZGNzVFRkQxNTFDMDYyRjAwN0M5QkEzIC8qIFJlZ0V4cE1hdGNoZXNB
cnJheS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWdFeHBNYXRj
aGVzQXJyYXkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkZBOUU4RjE0MkJC
QjJEMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTQm91bmRGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdFQSAvKiBKU0Fy
cm93RnVuY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcnJvd0Z1bmN0aW9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93
RnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcnJv
d0Z1bmN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTAyMTNFM0IxMjNB
NDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTWVtb3J5U3RhdGlzdGljcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lbW9yeVN0YXRpc3RpY3MuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8q
IFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBh
cnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ0MzgsNiArNDQ0
Miw4IEBACiAJCQkJQTdCREFFQzUxN0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJyYXlJdGVyYXRvci5o
ICovLAogCQkJCTg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3Bw
ICovLAogCQkJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAq
LywKKwkJCQk4QjBGNDI0QTFBQkQ2RDJGMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggKi8s
CisJCQkJOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgKi8s
CiAJCQkJNjU3Q0Y0NTYxOUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmNwcCAqLywKIAkJCQk2
NTdDRjQ1NzE5QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuaCAqLywKIAkJCQkwRkQ5NDk3RTFB
OTdEQjk2MDBFMjg5NjYgLyogSlNDYXRjaFNjb3BlLmNwcCAqLywKQEAgLTcxNjYsNiArNzE3Miw3
IEBACiAJCQkJMEZEOEEzMUIxN0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTE9TUkVudHJ5LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGMjM1QkRDMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjM1QkRGMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JF
eGl0Q29tcGlsZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOEIwRjQyNEMxQUJENkRFMjAwMzkx
N0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkVBMEEyQTE3
MDk2Mjk2MDBCQjcyMkMgLyogRlRMT3V0cHV0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNDg1
MzI5MTg3REZERUMwMDgzQjY4NyAvKiBGVExSZWNvdmVyeU9wY29kZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwRjZCMUNDMzE4NjJDNDc4MDA4NDVEOTcgLyogRlRMUmVnaXN0ZXJBdE9mZnNldC5j
cHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9CeXRlY29kZUxpc3QuanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9C
eXRlY29kZUxpc3QuanNvbgppbmRleCA2YjI0MzkxNTZhYjNhZmFlNmI1NThhYjkwNjZkMjIyNTE1
ZDU5ZTQ1Li40MzYwNzA5ZDhmN2U0MTgyMTVhYjJhZjk1OWJmNjQ0OGFmMDM4MDI4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24KKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCkBAIC05
NSw2ICs5NSw3IEBACiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9zd2l0Y2hfc3RyaW5nIiwg
Imxlbmd0aCIgOiA0IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfZnVuYyIsICJs
ZW5ndGgiIDogNCB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfbmV3X2Z1bmNfZXhwIiwg
Imxlbmd0aCIgOiA0IH0sCisgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfYXJyb3dfZnVu
Y19leHAiLCAibGVuZ3RoIiA6IDUgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGwi
LCAibGVuZ3RoIiA6IDkgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGxfZXZhbCIs
ICJsZW5ndGgiIDogOSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbF92YXJhcmdz
IiwgImxlbmd0aCIgOiA5IH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9C
eXRlY29kZVVzZURlZi5oCmluZGV4IDg1ZjI5MTVjN2U4ZjYwMWFkM2VjMTc4YmY2OWUzNTQ0Zjc1
NGMyY2YuLjE3YjZiZWQ4MWZlMjViNjIzMzBiYWEzZmQwMzFjNzE2YWI4OGY5YmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCkBAIC0xMTYs
NiArMTE2LDkgQEAgdm9pZCBjb21wdXRlVXNlc0ZvckJ5dGVjb2RlT2Zmc2V0KAogICAgIGNhc2Ug
b3BfZ2V0X3Byb3BlcnR5X2VudW1lcmF0b3I6CiAgICAgY2FzZSBvcF9nZXRfZW51bWVyYWJsZV9s
ZW5ndGg6CiAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRpZgog
ICAgIGNhc2Ugb3BfdG9faW5kZXhfc3RyaW5nOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29u
c3Rfbm9wOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29uc3Q6CkBAIC0zMDgsNiArMzExLDkg
QEAgdm9pZCBjb21wdXRlRGVmc0ZvckJ5dGVjb2RlT2Zmc2V0KENvZGVCbG9jayogY29kZUJsb2Nr
LCB1bnNpZ25lZCBieXRlY29kZU9mZnNldCwKICAgICBjYXNlIG9wX25ld19yZWdleHA6CiAgICAg
Y2FzZSBvcF9uZXdfZnVuYzoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhw
OgorI2VuZGlmCiAgICAgY2FzZSBvcF9jYWxsX3ZhcmFyZ3M6CiAgICAgY2FzZSBvcF9jb25zdHJ1
Y3RfdmFyYXJnczoKICAgICBjYXNlIG9wX2dldF9mcm9tX3Njb3BlOgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAppbmRleCA5ZTk1MTdlNzgxYmU1NTdmMDRm
MTdmOTNkZWM3MWI5MTZjYzlhMmFkLi4xMTU0MjBjZTExYjA4NTlmNmVlMzNhODI5YzQzMGQxOTA3
YmYxZWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNw
cApAQCAtMTI3NCw2ICsxMjc0LDE3IEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wQnl0ZWNvZGUoCiAg
ICAgICAgICAgICBvdXQucHJpbnRmKCIlcywgJXMsIGYlZCIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0
YSgpLCByZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjApOwogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBj
YXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDogeworICAgICAgICAgICAgaW50IHIwID0gKCsraXQp
LT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUub3BlcmFuZDsKKyAg
ICAgICAgICAgIGludCBmMCA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgaW50IHIy
ID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBwcmludExvY2F0aW9uQW5kT3Aob3V0
LCBleGVjLCBsb2NhdGlvbiwgaXQsICJvcF9uZXdfYXJyb3dfZnVuY19leHAiKTsKKyAgICAgICAg
ICAgIG91dC5wcmludGYoIiVzLCAlcywgZiVkLCAlcyIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0YSgp
LCByZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjAsIHJlZ2lzdGVyTmFtZShyMikuZGF0YSgpKTsK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgY2FzZSBvcF9u
ZXdfZnVuY19leHA6IHsKICAgICAgICAgICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVyYW5kOwog
ICAgICAgICAgICAgaW50IHIxID0gKCsraXQpLT51Lm9wZXJhbmQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCmlu
ZGV4IDg4NzJkNzc3ZDNlNTkyMTFjOTE2ZDQ3ODBkMGUwNDI3ZWQzOThmODYuLjg1YmZhY2UzMjNl
MDViODdjNDVmOWFlYmY5NzI3MDNhMGM5YWM5MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0xNzU0
LDYgKzE3NTQsMjIgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdGdW5j
dGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogcjAsIEZ1bmNFeHAKICAgICBpbnN0cnVjdGlvbnMo
KS5hcHBlbmQoaW5kZXgpOwogICAgIHJldHVybiByMDsKIH0KKyAgICAKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVt
aXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVuY0V4cHJOb2Rl
KiBuKQoreworICAgIGVtaXRURFpDaGVjayh0aGlzUmVnaXN0ZXIoKSk7CisgICAgRnVuY3Rpb25C
b2R5Tm9kZSogZnVuY3Rpb24gPSBuLT5ib2R5KCk7CisgICAgdW5zaWduZWQgaW5kZXggPSBtX2Nv
ZGVCbG9jay0+YWRkRnVuY3Rpb25FeHByKG1ha2VGdW5jdGlvbihmdW5jdGlvbikpOworICAgIAor
ICAgIGVtaXRPcGNvZGUob3BfbmV3X2Fycm93X2Z1bmNfZXhwKTsKKyAgICBpbnN0cnVjdGlvbnMo
KS5hcHBlbmQocjAtPmluZGV4KCkpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChzY29wZVJl
Z2lzdGVyKCktPmluZGV4KCkpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChpbmRleCk7Cisg
ICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHRoaXNSZWdpc3RlcigpLT5pbmRleCgpKTsKKyAgICBy
ZXR1cm4gcjA7Cit9CisjZW5kaWYKIAogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVt
aXROZXdEZWZhdWx0Q29uc3RydWN0b3IoUmVnaXN0ZXJJRCogZHN0LCBDb25zdHJ1Y3RvcktpbmQg
Y29uc3RydWN0b3JLaW5kLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmlu
ZGV4IDRmZmVmNmI0MDk3ZjAyNDZkYzFiYWU4OWVlOGFhYjhlYzk1YzYwZmEuLjM3OGExOWVhYWVk
ZGZiZGI0ZjUxMjI4MGU5MDg5NDM4NTc3YTc0OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTQ1NCw2ICs0
NTQsMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5j
dGlvbkludGVybmFsKFJlZ2lzdGVySUQqIGRzdCwgdW5zaWduZWQgaW5kZXgpOwogICAgICAgICBS
ZWdpc3RlcklEKiBlbWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIGRzdCwgRnVu
Y0V4cHJOb2RlKiBmdW5jKTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0RlZmF1bHRDb25z
dHJ1Y3RvcihSZWdpc3RlcklEKiBkc3QsIENvbnN0cnVjdG9yS2luZCwgY29uc3QgSWRlbnRpZmll
ciYgbmFtZSk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAg
UmVnaXN0ZXJJRCogZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqLCBG
dW5jRXhwck5vZGUqKTsKKyAgICAgICAgUmVnaXN0ZXJJRCogZW1pdFRoaXNOb2RlQnl0ZWNvZGUo
UmVnaXN0ZXJJRCosIEpTVGV4dFBvc2l0aW9uKTsKKyNlbmRpZgogICAgICAgICBSZWdpc3RlcklE
KiBlbWl0TmV3UmVnRXhwKFJlZ2lzdGVySUQqIGRzdCwgUmVnRXhwKik7CiAKICAgICAgICAgUmVn
aXN0ZXJJRCogZW1pdE1vdmVFbXB0eVZhbHVlKFJlZ2lzdGVySUQqIGRzdCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXgg
NGY3NDc2Y2EzM2M5MTMxYmI3M2RmYTg5NmE2MDA1NzU2MjY1ODFiNy4uYzU2YTJjMzVlMmFmODQx
NjFjNzJmYTlkYTAwNzI5YjcxYjYyMDAwMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtMjgzMyw2ICsyODMzLDE0IEBA
IFJlZ2lzdGVySUQqIEZ1bmNFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9y
JiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqCiAgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0TmV3RnVu
Y3Rpb25FeHByZXNzaW9uKGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHRoaXMpOwog
fQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgICAgCisvLyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQXJyb3dGdW5jRXhwck5vZGUgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCitSZWdpc3RlcklEKiBBcnJvd0Z1bmNFeHByTm9kZTo6ZW1pdEJ5
dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKK3sK
KyAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihnZW5l
cmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QpLCB0aGlzKTsKK30KKyNlbmRpZgorICAgIAogI2lm
IEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tIENsYXNzRGVjbE5vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKaW5kZXgg
NTNhYzE3NzQ2MTk2OWVlZmI2NmFkZjYwOTA2ODFlNmU1Yjc2YjAzMi4uZmQ3MzdhM2Y3OGU5YzJi
OWYxYTk5MTk3ODhkMTIzZTZiMmQ5MzMwYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKQEAgLTM2NzUsNiArMzY3NSwxNSBAQCBib29sIEJ5
dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxpbWl0KQogICAgICAgICAgICAgTkVY
VF9PUENPREUob3BfbmV3X2Z1bmNfZXhwKTsKICAgICAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6
IHsKKyAgICAgICAgICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhwciA9IG1faW5saW5lU3RhY2tU
b3AtPm1fcHJvZmlsZWRCbG9jay0+ZnVuY3Rpb25FeHByKGN1cnJlbnRJbnN0cnVjdGlvblszXS51
Lm9wZXJhbmQpOworICAgICAgICAgICAgRnJvemVuVmFsdWUqIGZyb3plbiA9IG1fZ3JhcGguZnJl
ZXplU3Ryb25nKGV4cHIpOworICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50
SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwKKyAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKE5l
d0Z1bmN0aW9uLCBPcEluZm8oZnJvemVuKSwgZ2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5z
dHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSkpKTsKKyAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX25l
d19hcnJvd19mdW5jX2V4cCk7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBjYXNlIG9wX3R5
cGVvZjogewogICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rp
b25bMV0udS5vcGVyYW5kKSwKICAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKFR5cGVPZiwgZ2V0
KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSkpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAppbmRleCA4ZWY0
ZGNmMTU2OGJkNWVkYTRiODk3ZTc2ODRhOGNiYjkxYmY2ZTA4Li43ZjQ1YTgzMWVhNmU2MjczYmFj
ZDJlM2Y4MzM2ZGRjNTYyYzhjYzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdDYXBhYmlsaXRpZXMuY3BwCkBAIC0yMDgsNiArMjA4LDkgQEAgQ2FwYWJpbGl0eUxldmVsIGNh
cGFiaWxpdHlMZXZlbChPcGNvZGVJRCBvcGNvZGVJRCwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIElu
c3RydWMKICAgICBjYXNlIG9wX25ld19mdW5jOgogICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOgog
ICAgIGNhc2Ugb3BfY3JlYXRlX2xleGljYWxfZW52aXJvbm1lbnQ6CisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNl
bmRpZgogICAgICAgICByZXR1cm4gQ2FuQ29tcGlsZUFuZElubGluZTsKIAogICAgIGNhc2Ugb3Bf
cHV0X3RvX3Njb3BlOiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvSW50ZXJwcmV0ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVy
L0ludGVycHJldGVyLmNwcAppbmRleCBlY2ZjZTkxYmQzYzAzMDg1M2EzOTQwMzJiYTVjZDI4MmEx
YTNjZDhlLi5mMmE1ZWJiNDhmYzkzNmEwMGI5ZjljYzQzZThkZTU4NDMzZjg1NThkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKQEAg
LTQ0LDYgKzQ0LDcgQEAKICNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCiAjaW5jbHVkZSAi
R2V0dGVyU2V0dGVyLmgiCiAjaW5jbHVkZSAiSlNBcnJheS5oIgorI2luY2x1ZGUgIkpTQXJyb3dG
dW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQ0lu
bGluZXMuaCIKICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVQuY3BwCmluZGV4IDQyYTgyZDQzOTQ2MTYyZjk1ZmE0NzQ2NzU2NzEzOWQ0YWFmMjM4
NmIuLjgzZDUwOGI4NzY1OWUzZWZmOGJjMTg3ZTA2ZGFkNzAxMWY0ODJlZDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVC5jcHAKQEAgLTI1Myw2ICsyNTMsNyBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNv
bXBpbGVNYWluUGFzcygpCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfYXJyYXlfYnVmZmVyKQog
ICAgICAgICBERUZJTkVfT1Aob3BfbmV3X2Z1bmMpCiAgICAgICAgIERFRklORV9PUChvcF9uZXdf
ZnVuY19leHApCisgICAgICAgIERFRklORV9PUChvcF9uZXdfYXJyb3dfZnVuY19leHApIAogICAg
ICAgICBERUZJTkVfT1Aob3BfbmV3X29iamVjdCkKICAgICAgICAgREVGSU5FX09QKG9wX25ld19y
ZWdleHApCiAgICAgICAgIERFRklORV9PUChvcF9ub3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaApp
bmRleCBlZTQ4NTVkYzJlNzhiNTVhY2M0NTk5ZWJkYjk5YTBkOGUwOGJlN2NjLi5mYmE1ZDJlMzFh
NTQxZmVlNWQ0NGEyOGY5ZThlMTU5YzljYjNhNDZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgK
QEAgLTUyMiw2ICs1MjIsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBlbWl0X29w
X25ld19hcnJheV9idWZmZXIoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX25l
d19mdW5jKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfZnVuY19leHAo
SW5zdHJ1Y3Rpb24qKTsKKyAgICAgICAgdm9pZCBlbWl0X29wX25ld19hcnJvd19mdW5jX2V4cChJ
bnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X29iamVjdChJbnN0cnVjdGlv
biopOwogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X3JlZ2V4cChJbnN0cnVjdGlvbiopOwogICAg
ICAgICB2b2lkIGVtaXRfb3Bfbm90KEluc3RydWN0aW9uKik7CkBAIC03MDUsNiArNzA2LDkgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRp
b24oSl9KSVRPcGVyYXRpb25fRUpKLCBpbnQsIEdQUlJlZywgR1BSUmVnKTsKICAgICAgICAgTWFj
cm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihDX0pJVE9wZXJhdGlvbl9FSnNjLCBHUFJS
ZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3Bl
cmF0aW9uX0VKc2NDLCBpbnQsIEdQUlJlZywgSlNDZWxsKik7CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJh
dGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0osIGludCwgR1BSUmVnLCBKU0NlbGwqLCBHUFJSZWcp
OworI2VuZGlmCiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19K
SVRPcGVyYXRpb25fRUpzY1osIEdQUlJlZywgaW50MzJfdCk7CiAgICAgICAgIE1hY3JvQXNzZW1i
bGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUpzY1osIGludCwgR1BSUmVn
LCBpbnQzMl90KTsKICNpZiBVU0UoSlNWQUxVRTY0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VElubGluZXMuaAppbmRleCA5ZWUyNGQwOTIyOGE5ODgyZWE3Njk2MjlkMWE4N2I2YzM0YTg2MzM0
Li5hMGU0MGM1YzYxZmU2M2U5ODYzZWQyMjNlZGY1ZDQ1MWYzMThhNzc0IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVElubGluZXMuaApAQCAtMjcxLDYgKzI3MSwxMiBAQCBBTFdBWVNfSU5M
SU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlv
bl9FSnNjQyBvcGVyYQogICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0
SlNWYWx1ZVJlc3VsdChvcGVyYXRpb24sIGRzdCk7CiB9CiAKK0FMV0FZU19JTkxJTkUgTWFjcm9B
c3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKc2NDSiBv
cGVyYXRpb24sIGludCBkc3QsIEdQUlJlZyBhcmcxLCBKU0NlbGwqIGNlbGwsIEdQUlJlZyBhcmcy
KQoreworICAgIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBUcnVzdGVkSW1tUHRy
KGNlbGwpLCBhcmcyKTsKKyAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1Nl
dEpTVmFsdWVSZXN1bHQob3BlcmF0aW9uLCBkc3QpOworfQorICAgIAogQUxXQVlTX0lOTElORSBN
YWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRVAg
b3BlcmF0aW9uLCBpbnQgZHN0LCB2b2lkKiBwb2ludGVyKQogewogICAgIHNldHVwQXJndW1lbnRz
V2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHBvaW50ZXIpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVE9wY29kZXMuY3BwCmluZGV4IGQzZDU4MGU5ZTI2MDA4NTNiNjY0OWUyODU5MThm
ODUzOGJlNjk0NGMuLjZjYTAwMzBmOGM0YTIxMjIxYWE5MjgzY2MyNzYxMzBkNzllNzQ0NDUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcApAQCAtOTcyLDYgKzk3Miwy
OSBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9uZXdfZnVuY19leHAoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJ
bnN0cnVjdGlvbikKICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbk5ld0Z1bmN0aW9uLCBkc3Qs
IHJlZ1QwLCBmdW5jRXhwcik7CiAgICAgZG9uZS5saW5rKHRoaXMpOwogfQorICAgIAordm9pZCBK
SVQ6OmVtaXRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1
Y3Rpb24pCit7CisgICAgSnVtcCBub3RVbmRlZmluZWRTY29wZTsKKyAgICBpbnQgZHN0ID0gY3Vy
cmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZDsKKyNpZiBVU0UoSlNWQUxVRTY0KQorICAgIGVt
aXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCwgcmVn
VDApOworICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzRdLnUu
b3BlcmFuZCwgcmVnVDEpOworICAgIG5vdFVuZGVmaW5lZFNjb3BlID0gYnJhbmNoNjQoTm90RXF1
YWwsIHJlZ1QwLCBUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpKSk7
CisgICAgc3RvcmU2NChUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkp
KSwgQWRkcmVzcyhjYWxsRnJhbWVSZWdpc3Rlciwgc2l6ZW9mKFJlZ2lzdGVyKSAqIGRzdCkpOwor
I2Vsc2UKKyAgICBlbWl0TG9hZFBheWxvYWQoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFu
ZCwgcmVnVDApOworICAgIGVtaXRMb2FkUGF5bG9hZChjdXJyZW50SW5zdHJ1Y3Rpb25bNF0udS5v
cGVyYW5kLCByZWdUMSk7CisgICAgbm90VW5kZWZpbmVkU2NvcGUgPSBicmFuY2gzMihOb3RFcXVh
bCwgdGFnRm9yKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpLCBUcnVzdGVkSW1tMzIo
SlNWYWx1ZTo6VW5kZWZpbmVkVGFnKSk7CisgICAgZW1pdFN0b3JlKGRzdCwganNVbmRlZmluZWQo
KSk7CisjZW5kaWYKKyAgICBKdW1wIGRvbmUgPSBqdW1wKCk7CisgICAgbm90VW5kZWZpbmVkU2Nv
cGUubGluayh0aGlzKTsKKyAgICAKKyAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmN0aW9uID0g
bV9jb2RlQmxvY2stPmZ1bmN0aW9uRXhwcihjdXJyZW50SW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5k
KTsKKyAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24sIGRzdCwgcmVn
VDAsIGZ1bmN0aW9uLCByZWdUMSk7CisgICAgZG9uZS5saW5rKHRoaXMpOworfQogCiB2b2lkIEpJ
VDo6ZW1pdF9vcF9uZXdfYXJyYXkoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCmluZGV4IDU4Yjg2
MzZkODg2ZGJiMmU4NTI5MWIyOTM1MGQ5Y2Y0ZTE0MjQxNzEuLmQ1NmVlZDI2YjZkNDllNTMyZTgw
YTc0YjQ5ZWQyNmM2MTY1MjQ1MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRP
cGVyYXRpb25zLmNwcApAQCAtNDIsNiArNDIsOCBAQAogI2luY2x1ZGUgIkhvc3RDYWxsUmV0dXJu
VmFsdWUuaCIKICNpbmNsdWRlICJKSVQuaCIKICNpbmNsdWRlICJKSVRUb0RGR0RlZmVycmVkQ29t
cGlsYXRpb25DYWxsYmFjay5oIgorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorI2luY2x1
ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRl
ICJKU0NhdGNoU2NvcGUuaCIKICNpbmNsdWRlICJKU0Z1bmN0aW9uTmFtZVNjb3BlLmgiCkBAIC05
MzMsNiArOTM1LDIzIEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3
RnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBKU1Njb3BlKiBzY29wCiAgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIHN0YXRpY19jYXN0PEZ1bmN0aW9uRXhl
Y3V0YWJsZSo+KGZ1bmN0aW9uRXhlY3V0YWJsZSksIHNjb3BlKSk7CiB9CiAKK0VuY29kZWRKU1Zh
bHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbihFeGVjU3RhdGUqIGV4
ZWMsIEpTU2NvcGUqIHNjb3BlLCBKU0NlbGwqIGZ1bmN0aW9uRXhlY3V0YWJsZSwgRW5jb2RlZEpT
VmFsdWUgdGhpc1ZhbHVlKQoreworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgQVNTRVJUKGZ1bmN0aW9uRXhlY3V0YWJsZS0+aW5oZXJpdHMoRnVuY3Rpb25FeGVjdXRh
YmxlOjppbmZvKCkpKTsKKyAgICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgIE5hdGl2ZUNhbGxG
cmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0ID0gZXhlYy0+Y2FsbGVlKCktPmdsb2JhbE9iamVjdCgpOworICAgIEpTRnVuY3Rpb24q
IGZ1bmMgPSBKU0Fycm93RnVuY3Rpb246OmNyZWF0ZSh2bSwgc2NvcGUsIHN0YXRpY19jYXN0PEZ1
bmN0aW9uRXhlY3V0YWJsZSo+KGZ1bmN0aW9uRXhlY3V0YWJsZSksIGdsb2JhbE9iamVjdCk7Cisg
ICAgCisgICAgSlNBcnJheSogYm91bmRBcmdzID0gSlNBcnJheTo6dHJ5Q3JlYXRlVW5pbml0aWFs
aXplZCh2bSwgZ2xvYmFsT2JqZWN0LT5hcnJheVN0cnVjdHVyZUZvckluZGV4aW5nVHlwZUR1cmlu
Z0FsbG9jYXRpb24oQXJyYXlXaXRoVW5kZWNpZGVkKSwgMCk7CisgICAgCisgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShKU0JvdW5kRnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBm
dW5jLCBKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSwgYm91bmRBcmdzLCAwLCAiIikpOworI2Vs
c2UKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworI2VuZGlmCit9
CisgICAgCiBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3T2JqZWN0KEV4ZWNTdGF0
ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZt
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCmluZGV4IDRkZWNl
ZjRlYjhiNDhiYjkzN2Q1NGQwYjYwNGI5Yjc3NjdhNGVhNjEuLjIzNjE2ZWUxZGVlMzJmZmRkZGFl
NTE4OTYwNjk5NzA5MjY2ZWJjZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUT3BlcmF0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bl
cmF0aW9ucy5oCkBAIC0xMTYsNiArMTE2LDcgQEAgdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRf
T1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVBQKShFeGVjU3RhdGUqLCB2b2lkKiwgdm8KIHR5
cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQUyko
RXhlY1N0YXRlKiwgdm9pZCosIHNpemVfdCk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9P
UEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FUGMpKEV4ZWNTdGF0ZSosIEluc3RydWN0aW9uKik7
CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9F
SnNjQykoRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCopOwordHlwZWRlZiBFbmNvZGVkSlNW
YWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUpzY0NKKShFeGVjU3RhdGUqLCBK
U1Njb3BlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1
ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNTKShFeGVjU3RhdGUqLCBzaXplX3Qs
IHNpemVfdCk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9w
ZXJhdGlvbl9FU3NpQ0kpKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgSlNDZWxsKiwg
U3RyaW5nSW1wbCopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9K
SVRPcGVyYXRpb25fRVNzaUpJKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29k
ZWRKU1ZhbHVlLCBTdHJpbmdJbXBsKik7CkBAIC0yNzgsNiArMjc5LDcgQEAgRW5jb2RlZEpTVmFs
dWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJheVdpdGhQcm9maWxlKEV4ZWNTdGF0ZSos
IEFycmF5QWxsb2MKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJy
YXlCdWZmZXJXaXRoUHJvZmlsZShFeGVjU3RhdGUqLCBBcnJheUFsbG9jYXRpb25Qcm9maWxlKiwg
Y29uc3QgSlNWYWx1ZSogdmFsdWVzLCBpbnQzMl90IHNpemUpIFdURl9JTlRFUk5BTDsKIEVuY29k
ZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXlXaXRoU2l6ZUFuZFByb2Zp
bGUoRXhlY1N0YXRlKiwgQXJyYXlBbGxvY2F0aW9uUHJvZmlsZSosIEVuY29kZWRKU1ZhbHVlIHNp
emUpIFdURl9JTlRFUk5BTDsKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
TmV3RnVuY3Rpb24oRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCopIFdURl9JTlRFUk5BTDsK
K0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbihF
eGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUpIFdURl9JTlRFUk5B
TDsKIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdPYmplY3QoRXhlY1N0YXRlKiwg
U3RydWN0dXJlKikgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBv
cGVyYXRpb25OZXdSZWdleHAoRXhlY1N0YXRlKiwgdm9pZCopIFdURl9JTlRFUk5BTDsKIHZvaWQg
SklUX09QRVJBVElPTiBvcGVyYXRpb25IYW5kbGVXYXRjaGRvZ1RpbWVyKEV4ZWNTdGF0ZSopIFdU
Rl9JTlRFUk5BTDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTElu
dFNsb3dQYXRocy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0
aHMuY3BwCmluZGV4IDI3OTI4NWE0NjgwNmNjNjg5ZDA1ZDEzY2Y0NjM0MmQwNmI1ZWZkNjQuLmJm
MzMxNDA5ZDEwOGM5ZTdjOGU4OTA1Y2NjZDU5MmVkMGRjYzA4ODAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcApAQCAtMzgsNiArMzgsOCBAQAog
I2luY2x1ZGUgIkludGVycHJldGVyLmgiCiAjaW5jbHVkZSAiSklULmgiCiAjaW5jbHVkZSAiSklU
RXhjZXB0aW9ucy5oIgorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpT
Qm91bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTTGV4aWNhbEVudmlyb25tZW50LmgiCiAjaW5j
bHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKQEAgLTE3MSw2ICsx
NzMsMTUgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBMTEludCB7CiAgICAgICAgIExMSU5U
X1JFVFVSTl9UV08ocGMsIF9fcmNmX2V4ZWMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCiAgICAgfSB3aGlsZSAoZmFsc2UpCiAKKyAgICAKKyNkZWZpbmUgTExJTlRfQ0FMQ19QUk9Q
RVJUWV9GT1JfRlVOQ19FWFBSKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAgIExMSU5UX0JFR0lOKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBl
eGVjLT5jb2RlQmxvY2soKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICBKU1Njb3BlKiBzY29wZSA9IGV4ZWMtPnVuY2hlY2tlZFIocGNbMl0udS5vcGVyYW5kKS5SZWdp
c3Rlcjo6c2NvcGUoKTsgICAgICAgXAorICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJs
ZSA9IGNvZGVCbG9jay0+ZnVuY3Rpb25FeHByKHBjWzNdLnUub3BlcmFuZCk7ICBcCisgICAgCitl
bnVtIEZ1bmN0aW9uRXhwcmVzc2lvblR5cGUgeyBBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblR5cGUs
IENvbW1vbkZ1bmN0aW9uRXhwcmVzc2lvblR5cGV9OworICAgIAogZXh0ZXJuICJDIiBTbG93UGF0
aFJldHVyblR5cGUgbGxpbnRfdHJhY2Vfb3BlcmFuZChFeGVjU3RhdGUqIGV4ZWMsIEluc3RydWN0
aW9uKiBwYywgaW50IGZyb21XaGVyZSwgaW50IG9wZXJhbmQpCiB7CiAgICAgTExJTlRfQkVHSU4o
KTsKQEAgLTk4NSwxNiArOTk2LDM1IEBAIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9u
ZXdfZnVuYykKICNlbmRpZgogICAgIExMSU5UX1JFVFVSTihKU0Z1bmN0aW9uOjpjcmVhdGUodm0s
IGNvZGVCbG9jay0+ZnVuY3Rpb25EZWNsKHBjWzNdLnUub3BlcmFuZCksIHNjb3BlKSk7CiB9Ci0K
KyAgICAKIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuY19leHApCiB7Ci0g
ICAgTExJTlRfQkVHSU4oKTsKLSAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVC
bG9jaygpOwotICAgIEpTU2NvcGUqIHNjb3BlID0gZXhlYy0+dW5jaGVja2VkUihwY1syXS51Lm9w
ZXJhbmQpLlJlZ2lzdGVyOjpzY29wZSgpOwotICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZnVuY3Rp
b24gPSBjb2RlQmxvY2stPmZ1bmN0aW9uRXhwcihwY1szXS51Lm9wZXJhbmQpOwotICAgIEpTRnVu
Y3Rpb24qIGZ1bmMgPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGZ1bmN0aW9uLCBzY29wZSk7Cisg
ICAgTExJTlRfQ0FMQ19QUk9QRVJUWV9GT1JfRlVOQ19FWFBSKCk7CisKKyAgICBKU0Z1bmN0aW9u
KiBmdW5jID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBleGVjdXRhYmxlLCBzY29wZSk7CisgICAg
TExJTlRfUkVUVVJOKGZ1bmMpOworfQorCisKK0xMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0
aF9uZXdfYXJyb3dfZnVuY19leHApCit7CisgICAgTExJTlRfQ0FMQ19QUk9QRVJUWV9GT1JfRlVO
Q19FWFBSKCk7CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEpT
VmFsdWUgdGhpc1ZhbHVlID0gTExJTlRfT1BfQyg0KS5qc1ZhbHVlKCk7CisgICAgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCA9IGV4ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKICAg
ICAKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUodm0sIHNj
b3BlLCBleGVjdXRhYmxlLCBnbG9iYWxPYmplY3QpOworICAgIAorICAgIEpTQXJyYXkqIGJvdW5k
QXJncyA9IEpTQXJyYXk6OnRyeUNyZWF0ZVVuaW5pdGlhbGl6ZWQodm0sIGdsb2JhbE9iamVjdC0+
YXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5cGVEdXJpbmdBbGxvY2F0aW9uKEFycmF5V2l0aFVu
ZGVjaWRlZCksIDApOworICAgIAorICAgIGNvbnN0IFN0cmluZyBmdW5jV2l0aG91dE5hbWUgPSAi
IjsKKyAgICAKKyAgICBMTElOVF9SRVRVUk4oSlNCb3VuZEZ1bmN0aW9uOjpjcmVhdGUodm0sIGds
b2JhbE9iamVjdCwgZnVuYywgdGhpc1ZhbHVlLCBib3VuZEFyZ3MsIDAsIGZ1bmNXaXRob3V0TmFt
ZSkpOworI2Vsc2UKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZt
LCBleGVjdXRhYmxlLCBzY29wZSk7CiAgICAgTExJTlRfUkVUVVJOKGZ1bmMpOworI2VuZGlmCiB9
CiAKIHN0YXRpYyBTbG93UGF0aFJldHVyblR5cGUgaGFuZGxlSG9zdENhbGwoRXhlY1N0YXRlKiBl
eGVjQ2FsbGVlLCBJbnN0cnVjdGlvbiogcGMsIEpTVmFsdWUgY2FsbGVlLCBDb2RlU3BlY2lhbGl6
YXRpb25LaW5kIGtpbmQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TExJbnRTbG93UGF0aHMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQ
YXRocy5oCmluZGV4IDRiZjdkZWIwZmEwYjZjNjQzOGUzNmY5NjMyMGUyZjY2OTczOWFmNjQuLmM3
ZmFiOTY5MWMxOGI5Mzk1NmQwZWEyOWYzMzk1NjExOGM1ZTcxZWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCkBAIC05Niw2ICs5Niw3IEBAIExMSU5U
X1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfc3dpdGNoX2NoYXIpOwogTExJTlRfU0xP
V19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9zd2l0Y2hfc3RyaW5nKTsKIExMSU5UX1NMT1df
UEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfbmV3X2Z1bmMpOwogTExJTlRfU0xPV19QQVRIX0hJ
RERFTl9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuY19leHApOworTExJTlRfU0xPV19QQVRIX0hJRERF
Tl9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApOwogTExJTlRfU0xPV19QQVRIX0hJ
RERFTl9ERUNMKHNsb3dfcGF0aF9jYWxsKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChz
bG93X3BhdGhfY29uc3RydWN0KTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3Bh
dGhfc2l6ZV9mcmFtZV9mb3JfdmFyYXJncyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KaW5kZXggZmRhOTFlZDU5OTBjYjZlNGYy
Y2I3OGFhNmE0YjJkOGMyYzBjNDcyYS4uODIyNzEzNDk4MmRiNzU4MWRjOGEyMjVjZDQyMzI4MjAw
OTJmYjczZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbQpAQCAtMTE3MSw2ICsxMTcxLDEwIEBAIF9sbGludF9vcF9uZXdfZnVu
Y19leHA6CiAgICAgY2FsbFNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfbmV3X2Z1bmNfZXhwKQog
ICAgIGRpc3BhdGNoKDQpCiAKK19sbGludF9vcF9uZXdfYXJyb3dfZnVuY19leHA6CisgICAgdHJh
Y2VFeGVjdXRpb24oKQorICAgIGNhbGxTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX25ld19hcnJv
d19mdW5jX2V4cCkKKyAgICBkaXNwYXRjaCg1KQogCiBfbGxpbnRfb3BfY2FsbDoKICAgICB0cmFj
ZUV4ZWN1dGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FT
VEJ1aWxkZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCmlu
ZGV4IGI4ZmU0Yjg0ODVhMDk3Njg4ZjVjNjMwYmQ4YzNjOTY3NjRmYzQ2NDkuLmYyZmEzYmQ5YzE1
ZjRlNDIyZWVjNmE3OWQ2NWYxZDcwODZjNjJjNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvQVNUQnVpbGRlci5oCkBAIC0zMTMsNiArMzEzLDE5IEBAIHB1YmxpYzoKICAgICAgICAg
ICAgIGluU3RyaWN0Q29udGV4dCwgY29uc3RydWN0b3JLaW5kKTsKICAgICB9CiAKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEV4cHJlc3Npb25Ob2RlKiBjcmVhdGVB
cnJvd0Z1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBQ
YXJzZXJGdW5jdGlvbkluZm88QVNUQnVpbGRlcj4mIGluZm8pCisgICAgeworICAgICAgICBTb3Vy
Y2VDb2RlIHNvdXJjZSA9IGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9k
eUV4cHJlc3Npb24KKyAgICAgICAgPyBtX3NvdXJjZUNvZGUtPnN1YkFycm93RXhwcmVzc2lvbihp
bmZvLmFycm93RnVuY3Rpb25PZmZzZXQsIGluZm8uY2xvc2VCcmFjZU9mZnNldCwgaW5mby5ib2R5
U3RhcnRMaW5lLCBpbmZvLmJvZHlTdGFydENvbHVtbikKKyAgICAgICAgOiBtX3NvdXJjZUNvZGUt
PnN1YkV4cHJlc3Npb24oaW5mby5vcGVuQnJhY2VPZmZzZXQsIGluZm8uY2xvc2VCcmFjZU9mZnNl
dCwgaW5mby5ib2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlTdGFydENvbHVtbik7CisKKyAgICAgICAg
QXJyb3dGdW5jRXhwck5vZGUqIHJlc3VsdCA9IG5ldyAobV9wYXJzZXJBcmVuYSkgQXJyb3dGdW5j
RXhwck5vZGUobG9jYXRpb24sICppbmZvLm5hbWUsIGluZm8uYm9keSwgc291cmNlLCBpbmZvLnBh
cmFtZXRlcnMpOworICAgICAgICBpbmZvLmJvZHktPnNldExvYyhpbmZvLmJvZHlTdGFydExpbmUs
IGluZm8uYm9keUVuZExpbmUsIGxvY2F0aW9uLnN0YXJ0T2Zmc2V0LCBsb2NhdGlvbi5saW5lU3Rh
cnRPZmZzZXQpOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKyNlbmRpZgorCiAgICAg
TkVWRVJfSU5MSU5FIFByb3BlcnR5Tm9kZSogY3JlYXRlR2V0dGVyT3JTZXR0ZXJQcm9wZXJ0eShj
b25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBQcm9wZXJ0eU5vZGU6OlR5cGUgdHlwZSwg
Ym9vbCwKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogbmFtZSwgY29uc3QgUGFyc2VyRnVuY3Rp
b25JbmZvPEFTVEJ1aWxkZXI+JiBpbmZvLCBTdXBlckJpbmRpbmcgc3VwZXJCaW5kaW5nKQogICAg
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKaW5kZXggN2RlMTQyMjBiYmRh
NzI3MzhiNTczYTRiOTc4OGNlMGIzMmNjN2NlMy4uNTQwZjlmZmI3YmI1MTgyOWQ2N2RlZWRlYzVl
NmE4ZWQ1MWNjNDQxNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9M
ZXhlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKQEAg
LTE0MzAsNiArMTQzMCwxOCBAQCBib29sIExleGVyPFQ+OjpuZXh0VG9rZW5Jc0NvbG9uKCkKICAg
ICByZXR1cm4gY29kZSA8IG1fY29kZUVuZCAmJiAqY29kZSA9PSAnOic7CiB9CiAKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIFQ+Cit2b2lk
IExleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9uKEpTVG9rZW4qIHRva2VuUmVjb3JkKQoreworICAg
IEpTVG9rZW5EYXRhKiB0b2tlbkRhdGEgPSAmdG9rZW5SZWNvcmQtPm1fZGF0YTsKKyAgICB0b2tl
bkRhdGEtPmxpbmUgPSBsaW5lTnVtYmVyKCk7CisgICAgdG9rZW5EYXRhLT5vZmZzZXQgPSBjdXJy
ZW50T2Zmc2V0KCk7CisgICAgdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50TGlu
ZVN0YXJ0T2Zmc2V0KCk7CisgICAgQVNTRVJUKHRva2VuRGF0YS0+b2Zmc2V0ID49IHRva2VuRGF0
YS0+bGluZVN0YXJ0T2Zmc2V0KTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4K
IEpTVG9rZW5UeXBlIExleGVyPFQ+OjpsZXgoSlNUb2tlbiogdG9rZW5SZWNvcmQsIHVuc2lnbmVk
IGxleGVyRmxhZ3MsIGJvb2wgc3RyaWN0TW9kZSkKIHsKQEAgLTE0OTMsNyArMTUwNSwxMiBAQCBz
dGFydDoKICAgICAgICAgfQogICAgICAgICB0b2tlbiA9IEdUOwogICAgICAgICBicmVhazsKLSAg
ICBjYXNlIENoYXJhY3RlckVxdWFsOgorICAgIGNhc2UgQ2hhcmFjdGVyRXF1YWw6IHsKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB1aW50MzJfdCBzYXZlZGxp
bmVOdW1iZXIgPSB0b2tlbkRhdGEtPmxpbmU7CisgICAgICAgIHVpbnQzMl90IHNhdmVkT2Zmc2V0
ID0gY3VycmVudE9mZnNldCgpOworICAgICAgICB1aW50MzJfdCBzYXZlZExpbmVTdGFydE9mZnNl
dCA9IGN1cnJlbnRMaW5lU3RhcnRPZmZzZXQoKTsKKyNlbmRpZgogICAgICAgICBzaGlmdCgpOwog
ICAgICAgICBpZiAobV9jdXJyZW50ID09ICc9JykgewogICAgICAgICAgICAgc2hpZnQoKTsKQEAg
LTE1MDUsOCArMTUyMiwyMiBAQCBzdGFydDoKICAgICAgICAgICAgIHRva2VuID0gRVFFUTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnPicpIHsKKyAgICAgICAgICAgIHNo
aWZ0KCk7CisgICAgICAgICAgICB0b2tlbiA9IEFSUk9XRlVOQ1RJT047CisKKyAgICAgICAgICAg
IHRva2VuRGF0YS0+bGluZSA9IHNhdmVkbGluZU51bWJlcjsKKyAgICAgICAgICAgIHRva2VuRGF0
YS0+b2Zmc2V0ID0gc2F2ZWRPZmZzZXQ7CisgICAgICAgICAgICB0b2tlbkRhdGEtPmxpbmVTdGFy
dE9mZnNldCA9IHNhdmVkTGluZVN0YXJ0T2Zmc2V0OworCisgICAgICAgICAgICBBU1NFUlQodG9r
ZW5EYXRhLT5vZmZzZXQgPj0gdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQpOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICB0b2tlbiA9IEVRVUFMOwogICAg
ICAgICBicmVhazsKKyAgICB9CiAgICAgY2FzZSBDaGFyYWN0ZXJMZXNzOgogICAgICAgICBzaGlm
dCgpOwogICAgICAgICBpZiAobV9jdXJyZW50ID09ICchJyAmJiBwZWVrKDEpID09ICctJyAmJiBw
ZWVrKDIpID09ICctJykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9MZXhlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCmluZGV4IDJk
ZjUyMTM5OTU3ODIwMDc4NWExNjZlMjJhNzMyNzVlMGVhNjMwNGQuLmNiM2YyNWY3YzA4ZjgyNTgx
YWYyY2U4ZmE5OTk5N2ZhZGUwNzY2ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTGV4ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVy
LmgKQEAgLTg1LDYgKzg1LDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SXNSZXBhcnNpbmcoKSB7
IG1faXNSZXBhcnNpbmcgPSB0cnVlOyB9CiAgICAgYm9vbCBpc1JlcGFyc2luZygpIGNvbnN0IHsg
cmV0dXJuIG1faXNSZXBhcnNpbmc7IH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgdm9pZCBzZXRUb2tlblBvc2l0aW9uKEpTVG9rZW4qIHRva2VuUmVjb3JkKTsK
KyNlbmRpZgogICAgIEpTVG9rZW5UeXBlIGxleChKU1Rva2VuKiwgdW5zaWduZWQsIGJvb2wgc3Ry
aWN0TW9kZSk7CiAgICAgYm9vbCBuZXh0VG9rZW5Jc0NvbG9uKCk7CiAgICAgaW50IGxpbmVOdW1i
ZXIoKSBjb25zdCB7IHJldHVybiBtX2xpbmVOdW1iZXI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKaW5kZXggM2JkYWI2MWE1MjJlMGNlMmMz
Mzk3ZjgwZjRmYTE4NGQxZDQyMTYwZS4uYjU4ZTFmZTFhZjkwZTY2MGIwODQyZWE3ZTk5ZjA3YWU2
YWNiYjk1ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29u
c3RydWN0b3JzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3Ry
dWN0b3JzLmgKQEAgLTc4MSw2ICs3ODEsMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIG1f
Ym9keS0+ZmluaXNoUGFyc2luZyhzb3VyY2UsIHBhcmFtZXRlciwgaWRlbnQsIEZ1bmN0aW9uRXhw
cmVzc2lvbik7CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICBpbmxpbmUgQXJyb3dGdW5jRXhwck5vZGU6OkFycm93RnVuY0V4cHJOb2RlKGNvbnN0IEpT
VG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBGdW5jdGlv
bkJvZHlOb2RlKiBib2R5LCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIFBhcmFtZXRlck5vZGUq
IHBhcmFtZXRlcikKKyAgICAgICAgOiBGdW5jRXhwck5vZGUobG9jYXRpb24sIGlkZW50LCBib2R5
LCBzb3VyY2UsIHBhcmFtZXRlcikKKyAgICB7CisgICAgfQorI2VuZGlmCisgICAgCiAgICAgaW5s
aW5lIEZ1bmNEZWNsTm9kZTo6RnVuY0RlY2xOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9j
YXRpb24sIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBGdW5jdGlvbkJvZHlOb2RlKiBib2R5LCBj
b25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIFBhcmFtZXRlck5vZGUqIHBhcmFtZXRlcikKICAgICAg
ICAgOiBTdGF0ZW1lbnROb2RlKGxvY2F0aW9uKQogICAgICAgICAsIG1fYm9keShib2R5KQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCmluZGV4IDZiMzczMjljMDliZmM0MmJlY2NjM2Nh
YTk4MzU5N2MzNTQwMmI2YzkuLjViNzc0MWUxY2NjOGQ1MTVmZjE0YzE1MzE3MmQ3YmRhMDUzZjU4
NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKQEAgLTE1OCw2ICsxNTgsOSBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdmlydHVhbCBib29sIGlzRG90QWNjZXNzb3JOb2Rl
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzRGVjb25z
dHJ1Y3Rpb25Ob2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBi
b29sIGlzRnVuY0V4cHJOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNBcnJvd0Z1
bmNFeHByTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjZW5kaWYKICAgICAgICAgdmly
dHVhbCBib29sIGlzQ29tbWFOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAg
dmlydHVhbCBib29sIGlzU2ltcGxlQXJyYXkoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAg
ICAgICB2aXJ0dWFsIGJvb2wgaXNBZGQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpAQCAtMTY1
Miw2ICsxNjU1LDE5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBGdW5jdGlvbkJvZHlOb2Rl
KiBtX2JvZHk7CiAgICAgfTsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgY2xhc3MgQXJyb3dGdW5jRXhwck5vZGUgOiBwdWJsaWMgRnVuY0V4cHJOb2RlIHsKKyAg
ICBwdWJsaWM6CisgICAgICAgIEFycm93RnVuY0V4cHJOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlv
biYsIGNvbnN0IElkZW50aWZpZXImLCBGdW5jdGlvbkJvZHlOb2RlKiwgY29uc3QgU291cmNlQ29k
ZSYsIFBhcmFtZXRlck5vZGUqID0gMCk7CisgICAgcHJpdmF0ZToKKyAgICAgICAgdmlydHVhbCBS
ZWdpc3RlcklEKiBlbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImLCBSZWdpc3RlcklEKiA9
IDApIG92ZXJyaWRlOworICAgICAgICAKKyAgICAgICAgdmlydHVhbCBib29sIGlzRnVuY0V4cHJO
b2RlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKyAgICAgICAgCisgICAgICAg
IHZpcnR1YWwgYm9vbCBpc0Fycm93RnVuY0V4cHJOb2RlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gdHJ1ZTsgfQorICAgIH07CisjZW5kaWYKKwogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFY
KQogICAgIGNsYXNzIENsYXNzRXhwck5vZGUgZmluYWwgOiBwdWJsaWMgRXhwcmVzc2lvbk5vZGUg
ewogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAppbmRl
eCA1ZjQ0ODBiNDljYWQ1ZDQ5MTU2YzYyNWZhNDg0YWY3YTFkYzhiM2NmLi4xOGUyMWI4NDczNDIx
YjEwYzk3NWJjYzA4NGRiZGJiMDBiYThkZmU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXIuY3BwCkBAIC0zMjksOCArMzI5LDEzIEBAIGJvb2wgUGFyc2VyPExleGVyVHlwZT46
OmFsbG93QXV0b21hdGljU2VtaWNvbG9uKCkKICAgICByZXR1cm4gbWF0Y2goQ0xPU0VCUkFDRSkg
fHwgbWF0Y2goRU9GVE9LKSB8fCBtX2xleGVyLT5wcmV2VGVybWluYXRvcigpOwogfQogCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhl
clR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYgY29udGV4
dCwgU291cmNlRWxlbWVudHNNb2RlIG1vZGUsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0aW9uUGFy
c2VUeXBlKQorI2Vsc2UKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYgY29udGV4dCwgU291cmNlRWxlbWVudHNN
b2RlIG1vZGUpCisjZW5kaWYKIHsKICAgICBjb25zdCB1bnNpZ25lZCBsZW5ndGhPZlVzZVN0cmlj
dExpdGVyYWwgPSAxMjsgLy8gInVzZSBzdHJpY3QiLmxlbmd0aAogICAgIFRyZWVTb3VyY2VFbGVt
ZW50cyBzb3VyY2VFbGVtZW50cyA9IGNvbnRleHQuY3JlYXRlU291cmNlRWxlbWVudHMoKTsKQEAg
LTMzOSw3ICszNDQsMTEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNl
RWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWwKICAgICB1bnNpZ25lZCBk
aXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMDsKICAgICBhdXRvIHNhdmVQb2ludCA9IGNyZWF0ZVNh
dmVQb2ludCgpOwogICAgIGJvb2wgaGFzU2V0U3RyaWN0ID0gZmFsc2U7CisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB3aGlsZSAoVHJlZVN0YXRlbWVudCBzdGF0ZW1l
bnQgPSBwYXJzZVN0YXRlbWVudChjb250ZXh0LCBkaXJlY3RpdmUsICZkaXJlY3RpdmVMaXRlcmFs
TGVuZ3RoLCBmdW5jdGlvblBhcnNlVHlwZSkpIHsKKyNlbHNlCiAgICAgd2hpbGUgKFRyZWVTdGF0
ZW1lbnQgc3RhdGVtZW50ID0gcGFyc2VTdGF0ZW1lbnQoY29udGV4dCwgZGlyZWN0aXZlLCAmZGly
ZWN0aXZlTGl0ZXJhbExlbmd0aCkpIHsKKyNlbmRpZgogICAgICAgICBpZiAobW9kZSA9PSBDaGVj
a0ZvclN0cmljdE1vZGUgJiYgIXNlZW5Ob25EaXJlY3RpdmUpIHsKICAgICAgICAgICAgIGlmIChk
aXJlY3RpdmUpIHsKICAgICAgICAgICAgICAgICAvLyAidXNlIHN0cmljdCIgbXVzdCBiZSB0aGUg
ZXhhY3QgbGl0ZXJhbCB3aXRob3V0IGVzY2FwZSBzZXF1ZW5jZXMgb3IgbGluZSBjb250aW51YXRp
b24uCkBAIC01NzEsNiArNTgwLDMxIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZURlY29uc3RydWN0aW9uUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6Y3JlYXRlCiAgICAgcmV0
dXJuIGNvbnRleHQuY3JlYXRlQmluZGluZ0xvY2F0aW9uKHRva2VuLm1fbG9jYXRpb24sIG5hbWUs
IHRva2VuLm1fc3RhcnRQb3NpdGlvbiwgdG9rZW4ubV9lbmRQb3NpdGlvbik7CiB9CiAKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVy
VHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250
ZXh0KQoreworICAgIEFTU0VSVChtYXRjaChBUlJPV0ZVTkNUSU9OKSk7CisKKyAgICBKU1Rva2Vu
TG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICBKU1RleHRQb3NpdGlvbiBz
dGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgIEpTVGV4dFBvc2l0aW9uIGVuZCA9IHRv
a2VuRW5kUG9zaXRpb24oKTsKKworICAgIG5leHQoKTsKKyAgICBUcmVlRXhwcmVzc2lvbiBleHBy
ID0gcGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICBmYWlsSWZGYWxz
ZShleHByLCAiQ2Fubm90IHBhcnNlIHRoZSBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uIik7Cisg
ICAgZW5kID0gbGFzdFRva2VuRW5kUG9zaXRpb24oKTsKKworICAgIGJvb2wgY29ycmVjdEFycm93
RmluaXNoID0gaXNFbmRPZkFycm93RnVuY3Rpb24oKSB8fCBtYXRjaChFT0ZUT0spOworICAgIGZh
aWxJZkZhbHNlKGNvcnJlY3RBcnJvd0ZpbmlzaCwgIkV4cGVjdGVkIGEgJzsnLCAnXScsICd9Jywg
JyknLCBvciAnLCcgZm9sbG93aW5nIGEgYXJyb3cgZnVuY3Rpb24gc3RhdGVtZW50Iik7CisKKyAg
ICBlbmQgPSB0b2tlbkVuZFBvc2l0aW9uKCk7CisgICAgc2V0RW5kT2ZTdGF0ZW1lbnQoKTsKKwor
ICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJldHVyblN0YXRlbWVudChsb2NhdGlvbiwgZXhwciwg
c3RhcnQsIGVuZCk7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4K
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBQ
YXJzZXI8TGV4ZXJUeXBlPjo6dHJ5UGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm5FeHByZXNzaW9u
KFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewpAQCAtMTE0NCw4ICsxMTc4LDEzIEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VCbG9ja1N0YXRlbWVuCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciom
IGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgsIEZ1bmN0aW9uUGFy
c2VUeXBlIHR5cGUpCisjZWxzZQogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqJiBk
aXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoKQorI2VuZGlmCiB7CiAg
ICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKICAgICBt
X3N0YXRlbWVudERlcHRoKys7CkBAIC0xMTU0LDYgKzExOTMsMjMgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRl
bWVudChUcmUKICAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7CiAgICAgVHJlZVN0YXRlbWVudCBy
ZXN1bHQgPSAwOwogICAgIGJvb2wgc2hvdWxkU2V0RW5kT2Zmc2V0ID0gdHJ1ZTsKKworI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaWYgKHR5cGUgPT0gQXJyb3dGdW5j
dGlvblBhcnNlVHlwZSkgeworICAgICAgICBzd2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7CisgICAg
ICAgIGNhc2UgQ0xPU0VQQVJFTjoKKyAgICAgICAgY2FzZSBDTE9TRUJSQUNLRVQ6CisgICAgICAg
IGNhc2UgQ09NTUE6CisgICAgICAgIGNhc2UgU0VNSUNPTE9OOiB7CisgICAgICAgICAgICByZXN1
bHQgPSAwOworICAgICAgICAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQocmVzdWx0LCBtX2xhc3RU
b2tlbkVuZFBvc2l0aW9uLm9mZnNldCk7CisgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAg
ICAgICB9CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQor
ICAgIH0KKyNlbmRpZgogICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKICAgICBjYXNlIE9Q
RU5CUkFDRToKICAgICAgICAgcmVzdWx0ID0gcGFyc2VCbG9ja1N0YXRlbWVudChjb250ZXh0KTsK
QEAgLTExOTksNiArMTI1NSwxMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
dGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAgIGNhc2Ug
QlJFQUs6CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlQnJlYWtTdGF0ZW1lbnQoY29udGV4dCk7CiAg
ICAgICAgIGJyZWFrOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAg
Y2FzZSBBUlJPV0ZVTkNUSU9OOgorICAgICAgICByZXN1bHQgPSBwYXJzZUFycm93RnVuY3Rpb25T
dGF0ZW1lbnQoY29udGV4dCk7CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgY2FzZSBSRVRV
Uk46CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlUmV0dXJuU3RhdGVtZW50KGNvbnRleHQpOwogICAg
ICAgICBicmVhazsKQEAgLTEyNjAsMjMgKzEzMjEsNDQgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlRm9ybWFsUGFyYW1ldGVyTGlzdCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VG
b3IKICAgICByZXR1cm4gbGlzdDsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlRnVuY3Rpb25Cb2R5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0
aW9uQm9keSgKICAgICBUcmVlQnVpbGRlciYgY29udGV4dCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0
YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIAorICAgIGludCBwYXJhbWV0ZXJzU3RhcnQsIENv
bnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQsIEZ1bmN0aW9uUGFyc2VUeXBlIHBhcnNlVHlw
ZSkKKyNlbHNlCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlRnVuY3Rpb25Cb2R5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1
bmN0aW9uQm9keSgKKyAgICBUcmVlQnVpbGRlciYgY29udGV4dCwgaW50IGZ1bmN0aW9uS2V5d29y
ZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsCiAgICAgaW50IHBhcmFtZXRlcnNTdGFydCwg
Q29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCkKKyNlbmRpZgogewogICAgIEpTVG9rZW5M
b2NhdGlvbiBzdGFydExvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CiAgICAgdW5zaWduZWQgc3Rh
cnRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgaWYgKHBhcnNlVHlwZSA9PSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSB7
CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgaWYgKG1hdGNoKENMT1NFQlJBQ0UpKSB7CisgICAg
ICAgICAgICB1bnNpZ25lZCBlbmRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOworICAgICAgICAgICAg
cmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0YXJ0TG9jYXRpb24sIHRva2VuTG9j
YXRpb24oKSwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1
bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0cmljdE1vZGUoKSwgY29uc3RydWN0
b3JLaW5kKTsKKyAgICAgICAgfQorICAgIH0KKyNlbHNlCiAgICAgbmV4dCgpOwotCiAgICAgaWYg
KG1hdGNoKENMT1NFQlJBQ0UpKSB7CiAgICAgICAgIHVuc2lnbmVkIGVuZENvbHVtbiA9IHRva2Vu
Q29sdW1uKCk7CiAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uQm9keShzdGFy
dExvY2F0aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0YXJ0Q29sdW1uLCBlbmRDb2x1bW4sIGZ1bmN0
aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBzdHJp
Y3RNb2RlKCksIGNvbnN0cnVjdG9yS2luZCk7CiAgICAgfQorI2VuZGlmCisKICAgICBEZXB0aE1h
bmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50RGVwdGgpOwogICAgIG1fc3RhdGVtZW50
RGVwdGggPSAwOwogICAgIHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpGdW5jdGlvbkJvZHlCdWlsZGVy
IGJvZHlCdWlsZGVyKGNvbnN0X2Nhc3Q8Vk0qPihtX3ZtKSwgbV9sZXhlci5nZXQoKSk7CisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBmYWlsSWZGYWxzZShwYXJzZVNv
dXJjZUVsZW1lbnRzKGJvZHlCdWlsZGVyLCBDaGVja0ZvclN0cmljdE1vZGUsIHBhcnNlVHlwZSks
IHBhcnNlVHlwZSA9PSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlID8gIkNhbm5vdCBwYXJzZSBi
b2R5IG9mIHRoaXMgZnVuY3Rpb24iIDogIkNhbm5vdCBwYXJzZSBib2R5IG9mIHRoaXMgYXJyb3cg
ZnVuY3Rpb24iKTsKKyNlbHNlCiAgICAgZmFpbElmRmFsc2UocGFyc2VTb3VyY2VFbGVtZW50cyhi
b2R5QnVpbGRlciwgQ2hlY2tGb3JTdHJpY3RNb2RlKSwgIkNhbm5vdCBwYXJzZSBib2R5IG9mIHRo
aXMgZnVuY3Rpb24iKTsKKyNlbmRpZgogICAgIHVuc2lnbmVkIGVuZENvbHVtbiA9IHRva2VuQ29s
dW1uKCk7CiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0YXJ0TG9jYXRp
b24sIHRva2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgZnVuY3Rpb25LZXl3
b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0cmljdE1vZGUo
KSwgY29uc3RydWN0b3JLaW5kKTsKIH0KQEAgLTEyOTcsNjAgKzEzNzksMTA1IEBAIHN0YXRpYyBj
b25zdCBjaGFyKiBzdHJpbmdGb3JGdW5jdGlvbk1vZGUoRnVuY3Rpb25QYXJzZU1vZGUgbW9kZSkK
ICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVl
QnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMgcmVxdWlyZW1lbnRzLCBGdW5j
dGlvblBhcnNlTW9kZSBtb2RlLAorICAgIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENv
bnN0cnVjdG9yS2luZCBvd25lckNsYXNzS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQ
YXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvLCBGdW5jdGlvblBhcnNlVHlwZSBw
YXJzZVR5cGUpCisjZWxzZQogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlv
bkluZm8oVHJlZUJ1aWxkZXImIGNvbnRleHQsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzIHJlcXVpcmVt
ZW50cywgRnVuY3Rpb25QYXJzZU1vZGUgbW9kZSwKICAgICBib29sIG5hbWVJc0luQ29udGFpbmlu
Z1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQgb3duZXJDbGFzc0tpbmQsIGludCBmdW5jdGlvbktleXdv
cmRTdGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYgaW5mbykKKyNlbmRpZgog
ewogICAgIEF1dG9Qb3BTY29wZVJlZiBmdW5jdGlvblNjb3BlKHRoaXMsIHB1c2hTY29wZSgpKTsK
ICAgICBmdW5jdGlvblNjb3BlLT5zZXRJc0Z1bmN0aW9uKCk7CiAgICAgaW50IGZ1bmN0aW9uTmFt
ZVN0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OwogICAgIGNvbnN0IElkZW50
aWZpZXIqIGxhc3RGdW5jdGlvbk5hbWUgPSBtX2xhc3RGdW5jdGlvbk5hbWU7CiAgICAgbV9sYXN0
RnVuY3Rpb25OYW1lID0gbnVsbHB0cjsKLSAgICBpZiAobWF0Y2goSURFTlQpKSB7Ci0gICAgICAg
IGluZm8ubmFtZSA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwotICAgICAgICBtX2xhc3RGdW5jdGlv
bk5hbWUgPSBpbmZvLm5hbWU7Ci0gICAgICAgIG5leHQoKTsKLSAgICAgICAgaWYgKCFuYW1lSXNJ
bkNvbnRhaW5pbmdTY29wZSkKLSAgICAgICAgICAgIGZhaWxJZkZhbHNlSWZTdHJpY3QoZnVuY3Rp
b25TY29wZS0+ZGVjbGFyZVZhcmlhYmxlKGluZm8ubmFtZSksICInIiwgaW5mby5uYW1lLT5pbXBs
KCksICInIGlzIG5vdCBhIHZhbGlkICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBu
YW1lIGluIHN0cmljdCBtb2RlIik7Ci0gICAgfSBlbHNlIGlmIChyZXF1aXJlbWVudHMgPT0gRnVu
Y3Rpb25OZWVkc05hbWUpIHsKKyAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0OworICAgIGJvb2wgaXND
bGFzc0NvbnN0cnVjdG9yOworICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCisgICAgaWYgKHBhcnNlVHlwZSA9PSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSB7Cisj
ZW5kaWYKKyAgICAgICAgaWYgKG1hdGNoKElERU5UKSkgeworICAgICAgICAgICAgaW5mby5uYW1l
ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CisgICAgICAgICAgICBtX2xhc3RGdW5jdGlvbk5hbWUg
PSBpbmZvLm5hbWU7CisgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICBpZiAoIW5hbWVJ
c0luQ29udGFpbmluZ1Njb3BlKQorICAgICAgICAgICAgICAgIGZhaWxJZkZhbHNlSWZTdHJpY3Qo
ZnVuY3Rpb25TY29wZS0+ZGVjbGFyZVZhcmlhYmxlKGluZm8ubmFtZSksICInIiwgaW5mby5uYW1l
LT5pbXBsKCksICInIGlzIG5vdCBhIHZhbGlkICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2Rl
KSwgIiBuYW1lIGluIHN0cmljdCBtb2RlIik7CisgICAgICAgIH0gZWxzZSBpZiAocmVxdWlyZW1l
bnRzID09IEZ1bmN0aW9uTmVlZHNOYW1lKSB7CiAgICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4p
ICYmIG1vZGUgPT0gRnVuY3Rpb25Nb2RlKQogICAgICAgICAgICAgc2VtYW50aWNGYWlsKCJGdW5j
dGlvbiBzdGF0ZW1lbnRzIG11c3QgaGF2ZSBhIG5hbWUiKTsKLSAgICAgICAgc2VtYW50aWNGYWls
dXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7Ci0g
ICAgICAgIGZhaWxEdWVUb1VuZXhwZWN0ZWRUb2tlbigpOwotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgfQotICAgIGludCBwYXJhbWV0ZXJzU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3Rh
cnRPZmZzZXQ7Ci0gICAgaWYgKCFjb25zdW1lKE9QRU5QQVJFTikpIHsKLSAgICAgICAgc2VtYW50
aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1l
Iik7Ci0gICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVm
b3JlIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiJ3MgcGFyYW1ldGVyIGxpc3Qi
KTsKLSAgICB9Ci0KLSAgICBpZiAobW9kZSA9PSBHZXR0ZXJNb2RlKQotICAgICAgICBjb25zdW1l
T3JGYWlsKENMT1NFUEFSRU4sICJnZXR0ZXIgZnVuY3Rpb25zIG11c3QgaGF2ZSBubyBwYXJhbWV0
ZXJzIik7Ci0gICAgZWxzZSBpZiAobW9kZSA9PSBTZXR0ZXJNb2RlKSB7Ci0gICAgICAgIGZhaWxJ
ZlRydWUobWF0Y2goQ0xPU0VQQVJFTiksICJzZXR0ZXIgZnVuY3Rpb25zIG11c3QgaGF2ZSBvbmUg
cGFyYW1ldGVyIik7Ci0gICAgICAgIGF1dG8gcGFyYW1ldGVyID0gcGFyc2VEZWNvbnN0cnVjdGlv
blBhdHRlcm4oY29udGV4dCwgRGVjb25zdHJ1Y3RUb1BhcmFtZXRlcnMpOwotICAgICAgICBmYWls
SWZGYWxzZShwYXJhbWV0ZXIsICJzZXR0ZXIgZnVuY3Rpb25zIG11c3QgaGF2ZSBvbmUgcGFyYW1l
dGVyIik7Ci0gICAgICAgIGluZm8ucGFyYW1ldGVycyA9IGNvbnRleHQuY3JlYXRlRm9ybWFsUGFy
YW1ldGVyTGlzdChwYXJhbWV0ZXIpOwotICAgICAgICBmYWlsSWZUcnVlKG1hdGNoKENPTU1BKSwg
InNldHRlciBmdW5jdGlvbnMgbXVzdCBoYXZlIG9uZSBwYXJhbWV0ZXIiKTsKLSAgICAgICAgY29u
c3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiRXhwZWN0ZWQgYSAnKScgYWZ0ZXIgYSBwYXJhbWV0ZXIg
ZGVjbGFyYXRpb24iKTsKLSAgICB9IGVsc2UgewotICAgICAgICBpZiAoIW1hdGNoKENMT1NFUEFS
RU4pKSB7Ci0gICAgICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBwYXJzZUZvcm1hbFBhcmFtZXRl
cnMoY29udGV4dCk7Ci0gICAgICAgICAgICBmYWlsSWZGYWxzZShpbmZvLnBhcmFtZXRlcnMsICJD
YW5ub3QgcGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUo
bW9kZSkpOworICAgICAgICAgICAgc2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0Zv
ckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7CisgICAgICAgICAgICBmYWlsRHVlVG9VbmV4
cGVjdGVkVG9rZW4oKTsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAg
ICAgICBwYXJhbWV0ZXJzU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7Cisg
ICAgICAgIAorICAgICAgICBpZiAoIWNvbnN1bWUoT1BFTlBBUkVOKSkgeworICAgICAgICAgICAg
c2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwg
IiBuYW1lIik7CisgICAgICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVkIGFuIG9wZW5p
bmcgJygnIGJlZm9yZSBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIidzIHBhcmFt
ZXRlciBsaXN0Iik7CiAgICAgICAgIH0KLSAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBBUkVO
LCAiRXhwZWN0ZWQgYSAnKScgb3IgYSAnLCcgYWZ0ZXIgYSBwYXJhbWV0ZXIgZGVjbGFyYXRpb24i
KTsKLSAgICB9CiAKLSAgICBtYXRjaE9yRmFpbChPUEVOQlJBQ0UsICJFeHBlY3RlZCBhbiBvcGVu
aW5nICd7JyBhdCB0aGUgc3RhcnQgb2YgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSks
ICIgYm9keSIpOworICAgICAgICBpZiAobW9kZSA9PSBHZXR0ZXJNb2RlKQorICAgICAgICAgICAg
Y29uc3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiZ2V0dGVyIGZ1bmN0aW9ucyBtdXN0IGhhdmUgbm8g
cGFyYW1ldGVycyIpOworICAgICAgICBlbHNlIGlmIChtb2RlID09IFNldHRlck1vZGUpIHsKKyAg
ICAgICAgICAgIGZhaWxJZlRydWUobWF0Y2goQ0xPU0VQQVJFTiksICJzZXR0ZXIgZnVuY3Rpb25z
IG11c3QgaGF2ZSBvbmUgcGFyYW1ldGVyIik7CisgICAgICAgICAgICBhdXRvIHBhcmFtZXRlciA9
IHBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuKGNvbnRleHQsIERlY29uc3RydWN0VG9QYXJhbWV0
ZXJzKTsKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKHBhcmFtZXRlciwgInNldHRlciBmdW5jdGlv
bnMgbXVzdCBoYXZlIG9uZSBwYXJhbWV0ZXIiKTsKKyAgICAgICAgICAgIGluZm8ucGFyYW1ldGVy
cyA9IGNvbnRleHQuY3JlYXRlRm9ybWFsUGFyYW1ldGVyTGlzdChwYXJhbWV0ZXIpOworICAgICAg
ICAgICAgZmFpbElmVHJ1ZShtYXRjaChDT01NQSksICJzZXR0ZXIgZnVuY3Rpb25zIG11c3QgaGF2
ZSBvbmUgcGFyYW1ldGVyIik7CisgICAgICAgICAgICBjb25zdW1lT3JGYWlsKENMT1NFUEFSRU4s
ICJFeHBlY3RlZCBhICcpJyBhZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgaWYgKCFtYXRjaChDTE9TRVBBUkVOKSkgeworICAgICAg
ICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhjb250ZXh0
KTsKKyAgICAgICAgICAgICAgICBmYWlsSWZGYWxzZShpbmZvLnBhcmFtZXRlcnMsICJDYW5ub3Qg
cGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkp
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBBUkVOLCAi
RXhwZWN0ZWQgYSAnKScgb3IgYSAnLCcgYWZ0ZXIgYSBwYXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsK
KyAgICAgICAgfQogCi0gICAgLy8gQnl0ZWNvZGVHZW5lcmF0b3IgZW1pdHMgY29kZSB0byB0aHJv
dyBUeXBlRXJyb3Igd2hlbiBhIGNsYXNzIGNvbnN0cnVjdG9yIGlzICJjYWxsImVkLgotICAgIC8v
IFNldCBDb25zdHJ1Y3RvcktpbmQgdG8gTm9uZSBmb3Igbm9uLWNvbnN0cnVjdG9yIG1ldGhvZHMg
b2YgY2xhc3Nlcy4KLSAgICBib29sIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IG1vZGUgPT0gTWV0aG9k
TW9kZSAmJiBpbmZvLm5hbWUgJiYgKmluZm8ubmFtZSA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5j
b25zdHJ1Y3RvcjsKLSAgICBpZiAobV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kICE9IENvbnN0cnVj
dG9yS2luZDo6Tm9uZSkgewotICAgICAgICBvd25lckNsYXNzS2luZCA9IG1fZGVmYXVsdENvbnN0
cnVjdG9yS2luZDsKLSAgICAgICAgaXNDbGFzc0NvbnN0cnVjdG9yID0gdHJ1ZTsKKyAgICAgICAg
bWF0Y2hPckZhaWwoT1BFTkJSQUNFLCAiRXhwZWN0ZWQgYW4gb3BlbmluZyAneycgYXQgdGhlIHN0
YXJ0IG9mIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICAg
ICAgLy8gQnl0ZWNvZGVHZW5lcmF0b3IgZW1pdHMgY29kZSB0byB0aHJvdyBUeXBlRXJyb3Igd2hl
biBhIGNsYXNzIGNvbnN0cnVjdG9yIGlzICJjYWxsImVkLgorICAgICAgICAvLyBTZXQgQ29uc3Ry
dWN0b3JLaW5kIHRvIE5vbmUgZm9yIG5vbi1jb25zdHJ1Y3RvciBtZXRob2RzIG9mIGNsYXNzZXMu
CisgICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IG1vZGUgPT0gTWV0aG9kTW9kZSAmJiBpbmZv
Lm5hbWUgJiYgKmluZm8ubmFtZSA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvcjsK
KyAgICAgICAgaWYgKG1fZGVmYXVsdENvbnN0cnVjdG9yS2luZCAhPSBDb25zdHJ1Y3RvcktpbmQ6
Ok5vbmUpIHsKKyAgICAgICAgICAgIG93bmVyQ2xhc3NLaW5kID0gbV9kZWZhdWx0Q29uc3RydWN0
b3JLaW5kOworICAgICAgICAgICAgaXNDbGFzc0NvbnN0cnVjdG9yID0gdHJ1ZTsKKyAgICAgICAg
fQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCiAgICAgfQorICAgIAorICAg
IGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICBwYXJh
bWV0ZXJzU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CisgICAgICAgIGlm
ICghbWF0Y2goSURFTlQpICYmICFtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgICAgICBzZW1h
bnRpY0ZhaWx1cmVEdWVUb0tleXdvcmQoc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5h
bWUiKTsKKyAgICAgICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgYW4gYXJyb3cgZnVu
Y3Rpb24gaW5wdXQgcGFyYW1ldGVyIik7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBp
ZiAobWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICAgICAgICAgIGNvbnN1bWUoT1BFTlBBUkVO
KTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBpZiAoIW1hdGNoKENMT1NFUEFS
RU4pKSB7CisgICAgICAgICAgICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9IHBhcnNlRm9ybWFs
UGFyYW1ldGVycyhjb250ZXh0KTsKKyAgICAgICAgICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5m
by5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5n
Rm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg
ICAgCisgICAgICAgICAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiRXhwZWN0ZWQg
YSAnKScgb3IgYSAnLCcgYWZ0ZXIgYSBwYXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsKKyAgICAgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgYXV0byBwYXJhbWV0ZXIgPSBwYXJzZURlY29u
c3RydWN0aW9uUGF0dGVybihjb250ZXh0LCBEZWNvbnN0cnVjdFRvUGFyYW1ldGVycyk7CisgICAg
ICAgICAgICAgICAgZmFpbElmRmFsc2UocGFyYW1ldGVyLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRl
ciBwYXR0ZXJuIik7CisgICAgICAgICAgICAgICAgaW5mby5wYXJhbWV0ZXJzID0gY29udGV4dC5j
cmVhdGVGb3JtYWxQYXJhbWV0ZXJMaXN0KHBhcmFtZXRlcik7CisgICAgICAgICAgICAgICAgZmFp
bElmRmFsc2UoaW5mby5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRo
aXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgICAgICAKKyAgICAgICAgbWF0Y2hPckZhaWwoQVJST1dGVU5DVElPTiwgIkV4cGVj
dGVkIGEgJz0+JyBhZnRlciBhcnJvdyBmdW5jdGlvbiBwYXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsK
KyAgICAgICAgaXNDbGFzc0NvbnN0cnVjdG9yID0gZmFsc2U7CisgICAgICAgIAorICAgICAgICBp
bmZvLmFycm93RnVuY3Rpb25PZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CisgICAgfQor
I2VuZGlmCisgICAgCiAgICAgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCA9IGlzQ2xh
c3NDb25zdHJ1Y3RvciA/IG93bmVyQ2xhc3NLaW5kIDogQ29uc3RydWN0b3JLaW5kOjpOb25lOwog
CiAgICAgaW5mby5vcGVuQnJhY2VPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CkBAIC0x
Mzg0LDggKzE1MTEsMTUgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgZmFpbElm
RmFsc2UocG9wU2NvcGUoZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlh
YmxlSW5mbyksICJQYXJzZXIgZXJyb3IiKTsKICAgICAgICAgCiAgICAgICAgIGluZm8uY2xvc2VC
cmFjZU9mZnNldCA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VPZmZzZXQ7Ci0KLSAgICAgICAgbV90
b2tlbiA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VUb2tlbigpOworICAgICAgICAKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAocGFyc2VUeXBlID09IEFy
cm93RnVuY3Rpb25QYXJzZVR5cGUpCisgICAgICAgICAgICBpbmZvLmZ1bmN0aW9uQm9keVR5cGUg
PSBjYWNoZWRJbmZvLT5pc0JvZHlBcnJvd0V4cHJlc3Npb24gPyAgQXJyb3dGdW5jdGlvbkJvZHlF
eHByZXNzaW9uIDogQXJyb3dGdW5jdGlvbkJvZHlCbG9jazsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgaW5mby5mdW5jdGlvbkJvZHlUeXBlID0gU3RhbmRhcmRGdW5jdGlvbkJvZHlCbG9jazsK
KyNlbmRpZgorICAgICAgICBtX3Rva2VuID0gY2FjaGVkSW5mby0+ZW5kRnVuY3Rpb25Ub2tlbigp
OworICAgICAgICAKICAgICAgICAgaWYgKGVuZENvbHVtbklzT25TdGFydExpbmUpCiAgICAgICAg
ICAgICBtX3Rva2VuLm1fbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVTdGFy
dE9mZnNldDsKIApAQCAtMTM5NCwxMyArMTUyOCw0MyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWls
ZAogCiAgICAgICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KGluZm8uYm9keSwgbV9sZXhlci0+Y3Vy
cmVudE9mZnNldCgpKTsKICAgICAgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICAgICAgaWYgKHBhcnNlVHlwZSAhPSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlIHx8
IGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrKQorICAgICAg
ICAgICAgbmV4dCgpOworI2Vsc2UKICAgICAgICAgbmV4dCgpOworI2VuZGlmCiAgICAgICAgIGlu
Zm8uYm9keUVuZExpbmUgPSBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmU7CiAgICAgICAgIHJl
dHVybiB0cnVlOwogICAgIH0KKyAgICAKICAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBsYXN0RnVu
Y3Rpb25OYW1lOwogICAgIFBhcnNlclN0YXRlIG9sZFN0YXRlID0gc2F2ZVN0YXRlKCk7CisgICAg
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBl
ID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVQb2lu
dCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgICAgICBuZXh0KCk7CisgICAgICAgIC8vIENoZWNr
IGlmIGFycm93IGJvZHkgc3RhcnQgd2l0aCB7LiBJZiBpdCB0cnVlIGl0IG1lYW4gdGhhdCBhcnJv
dyBmdW5jdGlvbiBpcyBGYXQgYXJyb3cgZnVuY3Rpb24KKyAgICAgICAgLy8gYW5kIHdlIG5lZWQg
dXNlIGNvbW1vbiBhcHByb2FjaCB0byBwYXJzZSBmdW5jdGlvbiBib2R5CisgICAgICAgIGluZm8u
ZnVuY3Rpb25Cb2R5VHlwZSA9IG1hdGNoKE9QRU5CUkFDRSkgPyBBcnJvd0Z1bmN0aW9uQm9keUJs
b2NrIDogQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOworICAgIAorICAgICAgICBpZiAoaW5m
by5mdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHsKKyAgICAgICAg
ICAgIGluZm8ub3BlbkJyYWNlT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgICAg
ICAgICAgaW5mby5ib2R5U3RhcnRMaW5lID0gdG9rZW5MaW5lKCk7CisgICAgICAgICAgICBpbmZv
LmJvZHlTdGFydENvbHVtbiA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldCAtIG1fdG9rZW4ubV9kYXRh
LmxpbmVTdGFydE9mZnNldDsKKyAgICAgICAgCisgICAgICAgICAgICBpbmZvLmJvZHkgPSBwYXJz
ZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1l
U3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kKTsKKyAgICAgICAgfSBlbHNl
IHsKKyAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKKyAgICAgICAgICAg
IGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0
YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQs
IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpOworICAgICAgICB9CisgICAgfSBlbHNlCisgICAgICAg
IGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0
YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQp
OworI2Vsc2UKICAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5j
dGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29u
c3RydWN0b3JLaW5kKTsKKyNlbmRpZgorICAgIAogICAgIHJlc3RvcmVTdGF0ZShvbGRTdGF0ZSk7
CiAgICAgZmFpbElmRmFsc2UoaW5mby5ib2R5LCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIHRo
aXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKICAgICBjb250ZXh0LnNldEVuZE9m
ZnNldChpbmZvLmJvZHksIG1fbGV4ZXItPmN1cnJlbnRPZmZzZXQoKSk7CkBAIC0xNDMxLDE4ICsx
NTk1LDMzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIHBhcmFtZXRlcnMuY2xv
c2VCcmFjZUxpbmUgPSBjbG9zZUJyYWNlTGluZTsKICAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJy
YWNlT2Zmc2V0ID0gaW5mby5jbG9zZUJyYWNlT2Zmc2V0OwogICAgICAgICBwYXJhbWV0ZXJzLmNs
b3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0OworI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChwYXJzZVR5cGUg
PT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICAgICAgcGFyYW1ldGVycy5pc0Jv
ZHlBcnJvd0V4cHJlc3Npb24gPSBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlv
bkJvZHlFeHByZXNzaW9uOworICAgICAgICAgICAgcGFyYW1ldGVycy50b2tlblR5cGUgPSBtX3Rv
a2VuLm1fdHlwZTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIGZ1bmN0aW9uU2NvcGUtPmZp
bGxQYXJhbWV0ZXJzRm9yU291cmNlUHJvdmlkZXJDYWNoZShwYXJhbWV0ZXJzKTsKICAgICAgICAg
bmV3SW5mbyA9IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjpjcmVhdGUocGFyYW1ldGVycyk7CiAK
ICAgICB9CiAgICAgCiAgICAgZmFpbElmRmFsc2UocG9wU2NvcGUoZnVuY3Rpb25TY29wZSwgVHJl
ZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQYXJzZXIgZXJyb3IiKTsKKyAgICAK
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlmICgocGFyc2VUeXBl
ID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUgJiYgaW5mby5mdW5jdGlvbkJvZHlUeXBlID09IEFy
cm93RnVuY3Rpb25Cb2R5QmxvY2spIHx8IHBhcnNlVHlwZSAhPSBBcnJvd0Z1bmN0aW9uUGFyc2VU
eXBlKSB7CisgICAgICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0UsICJFeHBlY3RlZCBhIGNsb3Np
bmcgJ30nIGFmdGVyIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsK
KyAgICAgICAgbmV4dCgpOworICAgIH0gZWxzZQorICAgICAgICBmYWlsSWZGYWxzZShpc0VuZE9m
QXJyb3dGdW5jdGlvbigpLCAiRXhwZWN0ZWQgdGhlIGNsb3NpbmcgJzsnICcsJyAnXScgJyknICd9
JyBhZnRlciBhcnJvdyBmdW5jdGlvbiIpOworI2Vsc2UKICAgICBtYXRjaE9yRmFpbChDTE9TRUJS
QUNFLCAiRXhwZWN0ZWQgYSBjbG9zaW5nICd9JyBhZnRlciBhICIsIHN0cmluZ0ZvckZ1bmN0aW9u
TW9kZShtb2RlKSwgIiBib2R5Iik7CisgICAgbmV4dCgpOworI2VuZGlmCiAgICAgCiAgICAgaWYg
KG5ld0luZm8pCiAgICAgICAgIG1fZnVuY3Rpb25DYWNoZS0+YWRkKGluZm8ub3BlbkJyYWNlT2Zm
c2V0LCBXVEY6Om1vdmUobmV3SW5mbykpOwogICAgIAotICAgIG5leHQoKTsKICAgICBpbmZvLmJv
ZHlFbmRMaW5lID0gbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lOwogICAgIHJldHVybiB0cnVl
OwogfQpAQCAtMTc2Nyw2ICsxOTQ2LDE4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJZlN0YXRlbWVudChUCiAgICAg
cmV0dXJuIGNvbnRleHQuY3JlYXRlSWZTdGF0ZW1lbnQoaWZMb2NhdGlvbiwgY29uZGl0aW9uLCB0
cnVlQmxvY2ssIHN0YXRlbWVudFN0YWNrLmxhc3QoKSwgc3RhcnQsIGVuZCk7CiB9CiAKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVy
VHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNv
bnRleHQpCit7CisgICAgZmFpbElmU3RhY2tPdmVyZmxvdygpOworICAgIFRyZWVFeHByZXNzaW9u
IG5vZGUgPSBwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKGNvbnRleHQpOworICAgIGZhaWxJZkZh
bHNlKG5vZGUsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lvbiIpOworICAgIGNvbnRleHQuc2V0RW5k
T2Zmc2V0KG5vZGUsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ub2Zmc2V0KTsKKyAgICByZXR1cm4g
bm9kZTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VFeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewpAQCAtMTgxNCw2ICsyMDA1
LDQxIEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlQXNzaWdubWVuCiAgICAgICAgIH0KICAgICAgICAgcmVzdG9y
ZVNhdmVQb2ludChzYXZlUG9pbnQpOwogICAgIH0KKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVh
dGVTYXZlUG9pbnQoKTsKKyAgICBib29sIGFycm93RnVuY3Rpb25FbXB0eUxpc3QgPSBmYWxzZTsK
KyAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICBuZXh0KCk7CisgICAgICAgIGlm
IChtYXRjaChDTE9TRVBBUkVOKSkgeworICAgICAgICAgICAgbmV4dCgpOworCisgICAgICAgICAg
ICBpZiAobWF0Y2goQVJST1dGVU5DVElPTikpCisgICAgICAgICAgICAgICAgYXJyb3dGdW5jdGlv
bkVtcHR5TGlzdCA9IHRydWU7CisgICAgICAgIH0KKworICAgICAgICBpZiAoIWFycm93RnVuY3Rp
b25FbXB0eUxpc3QpCisgICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0
aW9uUG9pbnQpOworICAgIH0KKworICAgIFRyZWVFeHByZXNzaW9uIGxoczsKKyAgICBpZiAoIWFy
cm93RnVuY3Rpb25FbXB0eUxpc3QpIHsKKyAgICAgICAgbGhzID0gcGFyc2VDb25kaXRpb25hbEV4
cHJlc3Npb24oY29udGV4dCk7CisgICAgICAgIGZhaWxJZkZhbHNlKGxocywgIkNhbhlub3QgcGFy
c2UgZXhwcmVzc2lvbiIpOworICAgICAgICBpZiAoaW5pdGlhbE5vbkxIU0NvdW50ICE9IG1fbm9u
TEhTQ291bnQpIHsKKyAgICAgICAgICAgIGlmIChtX3Rva2VuLm1fdHlwZSA+PSBFUVVBTCAmJiBt
X3Rva2VuLm1fdHlwZSA8PSBPUkVRVUFMKQorICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbCgi
TGVmdCBoYW5kIHNpZGUgb2Ygb3BlcmF0b3IgJyIsIGdldFRva2VuKCksICInIG11c3QgYmUgYSBy
ZWZlcmVuY2UiKTsKKworICAgICAgICAgICAgcmV0dXJuIGxoczsKKyAgICAgICAgfQorICAgIH0K
KworICAgIGlmIChtYXRjaChBUlJPV0ZVTkNUSU9OKSkgeworICAgICAgICByZXN0b3JlU2F2ZVBv
aW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICBsaHMgPSBwYXJzZUFycm93RnVu
Y3Rpb25XcmFwcGVyKGNvbnRleHQpOworICAgICAgICByZXR1cm4gbGhzOworICAgIH0KKyNlbHNl
CiAgICAgVHJlZUV4cHJlc3Npb24gbGhzID0gcGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24oY29u
dGV4dCk7CiAgICAgZmFpbElmRmFsc2UobGhzLCAiQ2Fubm90IHBhcnNlIGV4cHJlc3Npb24iKTsK
ICAgICBpZiAoaW5pdGlhbE5vbkxIU0NvdW50ICE9IG1fbm9uTEhTQ291bnQpIHsKQEAgLTE4MjIs
NyArMjA0OCw4IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Np
b24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXNzaWdubWVuCiAKICAgICAgICAgcmV0dXJuIGxo
czsKICAgICB9Ci0gICAgCisjZW5kaWYKKwogICAgIGludCBhc3NpZ25tZW50U3RhY2sgPSAwOwog
ICAgIE9wZXJhdG9yIG9wOwogICAgIGJvb2wgaGFkQXNzaWdubWVudCA9IGZhbHNlOwpAQCAtMjI5
Nyw2ICsyNTI0LDIzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Np
b24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAgICAgIHJldHVybiBj
b250ZXh0LnRoaXNFeHByKGxvY2F0aW9uLCBtX3RoaXNURFpNb2RlKTsKICAgICB9CiAgICAgY2Fz
ZSBJREVOVDogeworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAg
IFNhdmVQb2ludCBzYXZlQXJyb3dGdW5jdGlvblBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7Cisg
ICAgICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAg
ICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CisgICAg
ICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgICAgICBu
ZXh0KCk7CisKKyAgICAgICAgaWYgKCFtYXRjaChBUlJPV0ZVTkNUSU9OKSkgeworICAgICAgICAg
ICAgY3VycmVudFNjb3BlKCktPnVzZVZhcmlhYmxlKGlkZW50LCBtX3ZtLT5wcm9wZXJ0eU5hbWVz
LT5ldmFsID09ICppZGVudCk7CisgICAgICAgICAgICBtX2xhc3RJZGVudGlmaWVyID0gaWRlbnQ7
CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVSZXNvbHZlKGxvY2F0aW9uLCBpZGVu
dCwgc3RhcnQpOworICAgICAgICB9CisKKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJy
b3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAgVHJlZUV4cHJlc3Npb24gbGhzID0gcGFyc2VBcnJv
d0Z1bmN0aW9uV3JhcHBlcihjb250ZXh0KTsKKyAgICAgICAgcmV0dXJuIGxoczsKKyNlbHNlCiAg
ICAgICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CiAgICAg
ICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAg
ICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwpAQCAtMjMwNCw2
ICsyNTQ4LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAgY3VycmVudFNjb3Bl
KCktPnVzZVZhcmlhYmxlKGlkZW50LCBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09ICppZGVu
dCk7CiAgICAgICAgIG1fbGFzdElkZW50aWZpZXIgPSBpZGVudDsKICAgICAgICAgcmV0dXJuIGNv
bnRleHQuY3JlYXRlUmVzb2x2ZShsb2NhdGlvbiwgaWRlbnQsIHN0YXJ0KTsKKyNlbmRpZgogICAg
IH0KICAgICBjYXNlIFNUUklORzogewogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9
IG1fdG9rZW4ubV9kYXRhLmlkZW50OwpAQCAtMjQ5MSw2ICsyNzM2LDMyIEBAIGVuZE1lbWJlckV4
cHJlc3Npb246CiAgICAgcmV0dXJuIGJhc2U7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
QXJyb3dGdW5jdGlvbldyYXBwZXIoVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAgVHJlZUV4
cHJlc3Npb24gYmFzZSA9IDA7CisgICAgSlNUZXh0UG9zaXRpb24gZXhwcmVzc2lvblN0YXJ0ID0g
dG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgaW50IG5ld0NvdW50ID0gMDsKKyAgICBKU1Rva2Vu
TG9jYXRpb24gbG9jYXRpb247CisKKyAgICBpZiAobWF0Y2goSURFTlQpIHx8IG1hdGNoKE9QRU5Q
QVJFTikpIHsKKyAgICAgICAgdW5zaWduZWQgZnVuY3Rpb25LZXl3b3JkU3RhcnQgPSB0b2tlblN0
YXJ0KCk7CisgICAgICAgIGxvY2F0aW9uID0gdG9rZW5Mb2NhdGlvbigpOworICAgICAgICBQYXJz
ZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87CisgICAgICAgIGluZm8ubmFtZSA9ICZt
X3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllcjsKKyAgICAgICAgZmFpbElmRmFsc2Uo
KHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEZ1bmN0
aW9uTW9kZSwgdHJ1ZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBmdW5jdGlvbktleXdvcmRTdGFy
dCwgaW5mbywgQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIGFycm93IGZ1
bmN0aW9uIGV4cHJlc3Npb24iKTsKKyAgICAgICAgYmFzZSA9IGNvbnRleHQuY3JlYXRlQXJyb3dG
dW5jdGlvbkV4cHIobG9jYXRpb24sIGluZm8pOworICAgIH0gZWxzZQorICAgICAgICBiYXNlID0g
cGFyc2VQcmltYXJ5RXhwcmVzc2lvbihjb250ZXh0KTsKKworICAgIGZhaWxJZkZhbHNlKGJhc2Us
ICJDYW5ub3QgcGFyc2UgYmFzZSBleHByZXNzaW9uIik7CisgICAgd2hpbGUgKG5ld0NvdW50LS0p
CisgICAgICAgIGJhc2UgPSBjb250ZXh0LmNyZWF0ZU5ld0V4cHIobG9jYXRpb24sIGJhc2UsIGV4
cHJlc3Npb25TdGFydCwgbGFzdFRva2VuRW5kUG9zaXRpb24oKSk7CisgICAgcmV0dXJuIGJhc2U7
Cit9CisjZW5kaWYKKwogc3RhdGljIGNvbnN0IGNoYXIqIG9wZXJhdG9yU3RyaW5nKGJvb2wgcHJl
Zml4LCB1bnNpZ25lZCB0b2spCiB7CiAgICAgc3dpdGNoICh0b2spIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1BhcnNlci5oCmluZGV4IDBmMjcyOGY4NjIxZjgwMTBjNDEwYmY3OTg3NjE5YmYy
M2U1MGFmOGIuLjM0Y2RhOTcyY2MzYjhlMDlkNjIzZjM5ZDlmNWFmYzJlMDFhMzdmODYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaApAQCAtODAsNiArODAsOSBAQCBjbGFzcyBT
b3VyY2VDb2RlOwogQ09NUElMRV9BU1NFUlQoTGFzdFVudGFnZ2VkVG9rZW4gPCA2NCwgTGVzc1Ro
YW42NFVudGFnZ2VkVG9rZW5zKTsKIAogZW51bSBTb3VyY2VFbGVtZW50c01vZGUgeyBDaGVja0Zv
clN0cmljdE1vZGUsIERvbnRDaGVja0ZvclN0cmljdE1vZGUgfTsKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorZW51bSBGdW5jdGlvblBhcnNlVHlwZSB7IFN0YW5kYXJkRnVu
Y3Rpb25QYXJzZVR5cGUsIEFycm93RnVuY3Rpb25QYXJzZVR5cGUgfTsKKyNlbmRpZgogZW51bSBG
dW5jdGlvblJlcXVpcmVtZW50cyB7IEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEZ1bmN0aW9uTmVl
ZHNOYW1lIH07CiBlbnVtIEZ1bmN0aW9uUGFyc2VNb2RlIHsKICAgICBGdW5jdGlvbk1vZGUsCkBA
IC02MTgsNiArNjIxLDEzIEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBtX3Rva2VuLm1fdHlw
ZSA9PSBJREVOVCAmJiAqbV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1l
cy0+b2Y7CiAgICAgfQogICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgQUxXQVlTX0lOTElORSBib29sIGlzRW5kT2ZBcnJvd0Z1bmN0aW9uKCkKKyAgICB7Cisg
ICAgICAgIHJldHVybiBtYXRjaChTRU1JQ09MT04pIHx8IG1hdGNoKENPTU1BKSB8fCBtYXRjaChD
TE9TRVBBUkVOKSB8fCBtYXRjaChDTE9TRUJSQUNFKSB8fCBtYXRjaChDTE9TRUJSQUNLRVQpOwor
ICAgIH0KKyNlbmRpZgorICAgIAogICAgIEFMV0FZU19JTkxJTkUgdW5zaWduZWQgdG9rZW5TdGFy
dCgpCiAgICAgewogICAgICAgICByZXR1cm4gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0
OwpAQCAtNzIxLDkgKzczMSwxNCBAQCBwcml2YXRlOgogICAgICAgICB9CiAgICAgICAgIHJldHVy
biByZXN1bHQ7CiAgICAgfQotICAgIAorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50
cyBwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxlbWVudHNNb2RlLCBG
dW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSA9IFN0YW5kYXJkRnVuY3Rpb25QYXJz
ZVR5cGUpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBw
YXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUs
IHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMCwgRnVuY3Rpb25QYXJzZVR5cGUg
ZnVuY3Rpb25QYXJzZVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNlbHNlCiAg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgcGFyc2VT
b3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYsIFNvdXJjZUVsZW1lbnRzTW9kZSk7CiAgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3RhdGVtZW50KFRy
ZWVCdWlsZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVj
dGl2ZUxpdGVyYWxMZW5ndGggPSAwKTsKKyNlbmRpZgogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lO
VEFYKQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJz
ZUNsYXNzRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImKTsKICNlbmRpZgpAQCAtNzYyLDE3ICs3Nzcs
MzIgQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9w
ZXJ0eSBwYXJzZVByb3BlcnR5KFRyZWVCdWlsZGVyJiwgYm9vbCBzdHJpY3QpOwogICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VQcm9wZXJ0eU1ldGhv
ZChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciogbWV0aG9kTmFtZSk7CiAg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgcGFyc2VHZXR0ZXJT
ZXR0ZXIoVHJlZUJ1aWxkZXImLCBib29sIHN0cmljdCwgUHJvcGVydHlOb2RlOjpUeXBlLCB1bnNp
Z25lZCBnZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBDb25zdHJ1Y3RvcktpbmQgPSBDb25zdHJ1
Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZyA9IFN1cGVyQmluZGluZzo6Tm90TmVlZGVkKTsK
LSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZ1bmN0
aW9uQm9keSBwYXJzZUZ1bmN0aW9uQm9keShUcmVlQnVpbGRlciYsIGludCBmdW5jdGlvbktleXdv
cmRTdGFydCwgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25z
dHJ1Y3RvcktpbmQpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJv
ZHkgcGFyc2VGdW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3Rh
cnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0
b3JLaW5kLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSA9IFN0YW5kYXJkRnVu
Y3Rpb25QYXJzZVR5cGUpOworI2Vsc2UKKyAgICAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VGdW5jdGlvbkJvZHkoVHJl
ZUJ1aWxkZXImLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFy
dCwgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kKTsKKyNlbmRpZgogICAgIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRm9ybWFsUGFyYW1l
dGVyTGlzdCBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoVHJlZUJ1aWxkZXImKTsKICAgICBlbnVtIFZh
ckRlY2xhcmF0aW9uTGlzdENvbnRleHQgeyBGb3JMb29wQ29udGV4dCwgVmFyRGVjbGFyYXRpb25D
b250ZXh0IH07CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lv
biBwYXJzZVZhckRlY2xhcmF0aW9uTGlzdChUcmVlQnVpbGRlciYsIGludCYgZGVjbGFyYXRpb25z
LCBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuJiBsYXN0UGF0dGVybiwgVHJlZUV4cHJlc3Npb24m
IGxhc3RJbml0aWFsaXplciwgSlNUZXh0UG9zaXRpb24mIGlkZW50U3RhcnQsIEpTVGV4dFBvc2l0
aW9uJiBpbml0U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0RW5kLCBWYXJEZWNsYXJhdGlvbkxp
c3RDb250ZXh0KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElO
RSBUcmVlQ29uc3REZWNsTGlzdCBwYXJzZUNvbnN0RGVjbGFyYXRpb25MaXN0KFRyZWVCdWlsZGVy
Jik7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VBcnJvd0Z1bmN0aW9uRXhw
cmVzc2lvbihUcmVlQnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVN0YXRlbWVudCBwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImKTsK
KyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlQXJy
b3dGdW5jdGlvbldyYXBwZXIoVHJlZUJ1aWxkZXImKTsKKyNlbmRpZgorCiAgICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVy
biBjcmVhdGVCaW5kaW5nUGF0dGVybihUcmVlQnVpbGRlciYsIERlY29uc3RydWN0aW9uS2luZCwg
Y29uc3QgSWRlbnRpZmllciYsIGludCBkZXB0aCwgSlNUb2tlbik7CiAgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBw
YXJzZURlY29uc3RydWN0aW9uUGF0dGVybihUcmVlQnVpbGRlciYsIERlY29uc3RydWN0aW9uS2lu
ZCwgaW50IGRlcHRoID0gMCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZF
Ul9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiB0cnlQYXJzZURlY29uc3RydWN0aW9u
UGF0dGVybkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9J
TkxJTkUgYm9vbCBwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWly
ZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSwgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwg
Q29uc3RydWN0b3JLaW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9u
SW5mbzxUcmVlQnVpbGRlcj4mLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSA9
IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOworI2Vsc2UKICAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBib29sIHBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWls
ZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlLCBib29sIG5hbWVJ
c0luQ29udGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQsIGludCBmdW5jdGlvbktleXdvcmRT
dGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYpOworI2VuZGlmCisgICAgCiAj
aWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBORVZFUl9JTkxJTkUgVHJlZUNsYXNzRXhwcmVzc2lvbiBwYXJzZUNsYXNzKFRyZWVCdWls
ZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIFBhcnNlckNsYXNzSW5mbzxUcmVlQnVpbGRlcj4m
KTsKICNlbmRpZgpAQCAtNzg5LDYgKzgxOSwxNCBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4g
YWxsb3dBdXRvbWF0aWNTZW1pY29sb24oKTsKICAgICB9CiAgICAgCisKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHZvaWQgc2V0RW5kT2ZTdGF0ZW1lbnQoKQorICAg
IHsKKyAgICAgICAgbV9sZXhlci0+c2V0VG9rZW5Qb3NpdGlvbigmbV90b2tlbik7CisgICAgfQor
I2VuZGlmCisKICAgICBib29sIGNhblJlY3Vyc2UoKQogICAgIHsKICAgICAgICAgcmV0dXJuIG1f
dm0tPmlzU2FmZVRvUmVjdXJzZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKaW5kZXggNmI3MzYyODJlMmQyYTgxYmM2M2RjMmYzYzBl
NWFlOGM4NThjZDFmOC4uMGNkZTBjNjdhOWRlMGVkZjM0MTQ0ZTMyNzkxZTVlOTBiNGEyMTUxNCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbklu
Zm8uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5m
by5oCkBAIC0yOCw2ICsyOCwxMCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAorI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitlbnVtIEZ1bmN0aW9uQm9keVR5cGUgeyBBcnJvd0Z1
bmN0aW9uQm9keUV4cHJlc3Npb24sIEFycm93RnVuY3Rpb25Cb2R5QmxvY2ssIFN0YW5kYXJkRnVu
Y3Rpb25Cb2R5QmxvY2sgfTsKKyNlbmRpZgorCiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
CiBzdHJ1Y3QgUGFyc2VyRnVuY3Rpb25JbmZvIHsKICAgICBjb25zdCBJZGVudGlmaWVyKiBuYW1l
ID0gMDsKQEAgLTM4LDYgKzQyLDExIEBAIHN0cnVjdCBQYXJzZXJGdW5jdGlvbkluZm8gewogICAg
IGludCBib2R5U3RhcnRMaW5lID0gMDsKICAgICBpbnQgYm9keUVuZExpbmUgPSAwOwogICAgIHVu
c2lnbmVkIGJvZHlTdGFydENvbHVtbiA9IDA7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICB1bnNpZ25lZCBhcnJvd0Z1bmN0aW9uT2Zmc2V0ID0gMDsKKyAgICBib29s
IGlzQXJyb3dGdW5jdGlvbiA9IGZhbHNlOworICAgIEZ1bmN0aW9uQm9keVR5cGUgZnVuY3Rpb25C
b2R5VHlwZSA9IFN0YW5kYXJkRnVuY3Rpb25Cb2R5QmxvY2s7CisjZW5kaWYKIH07CiAKICNpZiBF
TkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlclRva2Vucy5oCmluZGV4IDgzMjlmODJhOWIyZmY5MTVkMWYyNDFjMWY4YmZmYWQ0MjQ3YTVm
MGIuLmM4YjE2NmUwZWFkN2QyZGE3MTllNzZjNGEyZjA5YWZmMWQ3NGQ3YWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaApAQCAtNzUsNiArNzUsOSBAQCBl
bnVtIEpTVG9rZW5UeXBlIHsKICAgICBGSU5BTExZLAogICAgIERFQlVHR0VSLAogICAgIEVMU0Us
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBBUlJPV0ZVTkNUSU9O
LAorI2VuZGlmCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAgICAgQ0xBU1NUT0tFTiwK
ICAgICBFWFRFTkRTLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9T
b3VyY2VDb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaApp
bmRleCA3M2QyM2RiODJhZjI1ZWE0NmMwZjg5Nzg1Y2U0MjRiYjYwZWI2MWE3Li45MjhlNzEyYTkw
ZTM0ODk4OGJjMzU1NDg5ODc1YjA5MDc3Njc1NTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1NvdXJjZUNvZGUuaApAQCAtMTA1LDYgKzEwNSw5IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICAKICAgICAgICAgU291cmNlQ29kZSBzdWJFeHByZXNzaW9uKHVuc2lnbmVkIG9wZW5C
cmFjZSwgdW5zaWduZWQgY2xvc2VCcmFjZSwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1u
KTsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIFNvdXJj
ZUNvZGUgc3ViQXJyb3dFeHByZXNzaW9uKHVuc2lnbmVkIHN0YXJ0QXJyb3dGdW5jdGlvbiwgdW5z
aWduZWQgZW5kQXJyb3dGdW5jdGlvbiwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKTsK
KyNlbmRpZgogICAgIHByaXZhdGU6CiAgICAgICAgIFJlZlB0cjxTb3VyY2VQcm92aWRlcj4gbV9w
cm92aWRlcjsKICAgICAgICAgaW50IG1fc3RhcnRDaGFyOwpAQCAtMTE4LDYgKzEyMSwxNyBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgcmV0dXJuIFNvdXJjZUNvZGUoU3RyaW5nU291cmNlUHJv
dmlkZXI6OmNyZWF0ZShzb3VyY2UsIHVybCwgc3RhcnRQb3NpdGlvbiksIHN0YXJ0UG9zaXRpb24u
bV9saW5lLm9uZUJhc2VkSW50KCksIHN0YXJ0UG9zaXRpb24ubV9jb2x1bW4ub25lQmFzZWRJbnQo
KSk7CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBp
bmxpbmUgU291cmNlQ29kZSBTb3VyY2VDb2RlOjpzdWJBcnJvd0V4cHJlc3Npb24odW5zaWduZWQg
c3RhcnRBcnJvd0Z1bmN0aW9uLCB1bnNpZ25lZCBlbmRBcnJvd0Z1bmN0aW9uLCBpbnQgZmlyc3RM
aW5lLCBpbnQgc3RhcnRDb2x1bW4pCisgICAgeworICAgICAgICBBU1NFUlQocHJvdmlkZXIoKS0+
c291cmNlKClbc3RhcnRBcnJvd0Z1bmN0aW9uXSA9PSAnPScgJiYgcHJvdmlkZXIoKS0+c291cmNl
KClbc3RhcnRBcnJvd0Z1bmN0aW9uICsgMV0gPT0gJz4nKTsKKyAgICAgICAgLy8gRml4bWU6IFVz
ZSBiZXR0ZXIgYXBwcm9hY2ggdG8gY2hlY2sgc3ltYm9sCisgICAgICAgIEFTU0VSVChwcm92aWRl
cigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJywnIHx8IHByb3ZpZGVyKCkt
PnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnOycgfHwgcHJvdmlkZXIoKS0+c291
cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICcpJyB8fCBwcm92aWRlcigpLT5zb3VyY2Uo
KVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJ10nIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2Vu
ZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnfScpOworICAgICAgICBzdGFydENvbHVtbiArPSAxOyAv
LyBDb252ZXJ0IHRvIGJhc2UgMS4KKyAgICAgICAgcmV0dXJuIFNvdXJjZUNvZGUocHJvdmlkZXIo
KSwgc3RhcnRBcnJvd0Z1bmN0aW9uLCBlbmRBcnJvd0Z1bmN0aW9uIC0gMSwgZmlyc3RMaW5lLCBz
dGFydENvbHVtbik7CisgICAgfQorI2VuZGlmCisKICAgICBpbmxpbmUgU291cmNlQ29kZSBTb3Vy
Y2VDb2RlOjpzdWJFeHByZXNzaW9uKHVuc2lnbmVkIG9wZW5CcmFjZSwgdW5zaWduZWQgY2xvc2VC
cmFjZSwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKQogICAgIHsKICAgICAgICAgQVNT
RVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW29wZW5CcmFjZV0gPT0gJ3snKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaApp
bmRleCA2MzUzNzllM2Y0NDU2NjhjNTJiODcyZjc2MTZkY2I1OTIxYTgyOTQ0Li5mNDI4ZGI1MGE4
ZGE3YTdhYjQ2ODI0YWIzODA4M2RiMDUyZDczNzc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCkBAIC00MCw2ICs0
MCwxMCBAQCBzdHJ1Y3QgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMg
ewogICAgIGJvb2wgbmVlZHNGdWxsQWN0aXZhdGlvbjsKICAgICBib29sIHVzZXNFdmFsOwogICAg
IGJvb2wgc3RyaWN0TW9kZTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIGJvb2wgaXNCb2R5QXJyb3dFeHByZXNzaW9uOworICAgIEpTVG9rZW5UeXBlIHRva2VuVHlw
ZTsKKyNlbmRpZgogICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+IHVzZWRWYXJpYWJsZXM7
CiAgICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4gd3JpdHRlblZhcmlhYmxlczsKIH07CkBA
IC01NSwxMCArNTksMTQgQEAgcHVibGljOgogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8U291
cmNlUHJvdmlkZXJDYWNoZUl0ZW0+IGNyZWF0ZShjb25zdCBTb3VyY2VQcm92aWRlckNhY2hlSXRl
bUNyZWF0aW9uUGFyYW1ldGVycyYpOwogICAgIH5Tb3VyY2VQcm92aWRlckNhY2hlSXRlbSgpOwog
Ci0gICAgSlNUb2tlbiBjbG9zZUJyYWNlVG9rZW4oKSBjb25zdCAKKyAgICBKU1Rva2VuIGVuZEZ1
bmN0aW9uVG9rZW4oKSBjb25zdCAKICAgICB7CiAgICAgICAgIEpTVG9rZW4gdG9rZW47CisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdG9rZW4ubV90eXBlID0g
aXNCb2R5QXJyb3dFeHByZXNzaW9uID8gdG9rZW5UeXBlIDogQ0xPU0VCUkFDRTsKKyNlbHNlCiAg
ICAgICAgIHRva2VuLm1fdHlwZSA9IENMT1NFQlJBQ0U7CisjZW5kaWYKICAgICAgICAgdG9rZW4u
bV9kYXRhLm9mZnNldCA9IGNsb3NlQnJhY2VPZmZzZXQ7CiAgICAgICAgIHRva2VuLm1fbG9jYXRp
b24uc3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNlT2Zmc2V0OwogICAgICAgICB0b2tlbi5tX2xvY2F0
aW9uLmVuZE9mZnNldCA9IGNsb3NlQnJhY2VPZmZzZXQgKyAxOwpAQCAtODIsNiArOTAsMTEgQEAg
cHVibGljOgogICAgIHVuc2lnbmVkIHVzZWRWYXJpYWJsZXNDb3VudDsKICAgICB1bnNpZ25lZCB3
cml0dGVuVmFyaWFibGVzQ291bnQ7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgIGJvb2wgaXNCb2R5QXJyb3dFeHByZXNzaW9uOworICAgIEpTVG9rZW5UeXBlIHRv
a2VuVHlwZTsKKyNlbmRpZgorCiAgICAgU3RyaW5nSW1wbCoqIHVzZWRWYXJpYWJsZXMoKSBjb25z
dCB7IHJldHVybiBjb25zdF9jYXN0PFN0cmluZ0ltcGwqKj4obV92YXJpYWJsZXMpOyB9CiAgICAg
U3RyaW5nSW1wbCoqIHdyaXR0ZW5WYXJpYWJsZXMoKSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0
PFN0cmluZ0ltcGwqKj4oJm1fdmFyaWFibGVzW3VzZWRWYXJpYWJsZXNDb3VudF0pOyB9CiAKQEAg
LTExNSw2ICsxMjgsMTAgQEAgaW5saW5lIFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjpTb3VyY2VQ
cm92aWRlckNhY2hlSXRlbShjb25zdCBTb3VyY2VQcm92aWRlckNhY2gKICAgICAsIGNsb3NlQnJh
Y2VMaW5lU3RhcnRPZmZzZXQocGFyYW1ldGVycy5jbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0KQog
ICAgICwgdXNlZFZhcmlhYmxlc0NvdW50KHBhcmFtZXRlcnMudXNlZFZhcmlhYmxlcy5zaXplKCkp
CiAgICAgLCB3cml0dGVuVmFyaWFibGVzQ291bnQocGFyYW1ldGVycy53cml0dGVuVmFyaWFibGVz
LnNpemUoKSkKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICwgaXNC
b2R5QXJyb3dFeHByZXNzaW9uKHBhcmFtZXRlcnMuaXNCb2R5QXJyb3dFeHByZXNzaW9uKQorICAg
ICwgdG9rZW5UeXBlKHBhcmFtZXRlcnMudG9rZW5UeXBlKQorI2VuZGlmCiB7CiAgICAgdW5zaWdu
ZWQgaiA9IDA7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHVzZWRWYXJpYWJsZXNDb3Vu
dDsgKytpLCArK2opIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
U3ludGF4Q2hlY2tlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVj
a2VyLmgKaW5kZXggOGU0ZjYxYjk0OTg5MGI5YmY1NDAyOWU5NjY2MWVlZjUzYTE3YjU4NC4uNWY4
ZTIxMWVlNGI1M2IzOTRlYjVhZTIxOTBiODNjOGM0Zjg0NGNmZCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKQEAgLTE3MCw2ICsxNzAsMTAgQEAgcHVi
bGljOgogI2VuZGlmCiAgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlRnVuY3Rpb25FeHByKGNvbnN0
IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50YXhDaGVja2Vy
PiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQogICAgIGludCBjcmVhdGVGdW5jdGlvbkJvZHko
Y29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgaW50LCBpbnQs
IGJvb2wsIGludCwgaW50LCBpbnQsIENvbnN0cnVjdG9yS2luZCkgeyByZXR1cm4gRnVuY3Rpb25C
b2R5UmVzdWx0OyB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBF
eHByZXNzaW9uVHlwZSBjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRp
b24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBG
dW5jdGlvbkV4cHI7IH0KKyNlbmRpZiAKKyAgICB2b2lkIHNldEZ1bmN0aW9uTmFtZVN0YXJ0KGlu
dCwgaW50KSB7IH0KICAgICBpbnQgY3JlYXRlQXJndW1lbnRzKCkgeyByZXR1cm4gQXJndW1lbnRz
UmVzdWx0OyB9CiAgICAgaW50IGNyZWF0ZUFyZ3VtZW50cyhpbnQpIHsgcmV0dXJuIEFyZ3VtZW50
c1Jlc3VsdDsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZVNwcmVhZEV4cHJlc3Npb24oY29u
c3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvblR5cGUsIGludCwgaW50LCBpbnQpIHsgcmV0
dXJuIFNwcmVhZEV4cHI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0Fycm93RnVuY3Rpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZmYzNlYTE4MDA2ODk2NDNhYWRkNmM2YTQ5
N2VkMGFlNmMyMTExMjAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwCkBAIC0wLDAgKzEsNzcgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyNpbmNsdWRlICJKU0Fycm93RnVu
Y3Rpb24uaCIKKworI2luY2x1ZGUgIkVycm9yLmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uSGVscGVy
cy5oIgorI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKKyNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCisj
aW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTRnVuY3Rpb25JbmxpbmVzLmgiCisj
aW5jbHVkZSAiSlNPYmplY3QuaCIKKyNpbmNsdWRlICJQcm9wZXJ0eVNsb3QuaCIKKyNpbmNsdWRl
ICJWTS5oIgorCituYW1lc3BhY2UgSlNDIHsKKyAgICAKK2NvbnN0IENsYXNzSW5mbyBKU0Fycm93
RnVuY3Rpb246OnNfaW5mbyA9IHsgIkFycm93RnVuY3Rpb24iLCAmQmFzZTo6c19pbmZvLCAwLCBD
UkVBVEVfTUVUSE9EX1RBQkxFKEpTQXJyb3dGdW5jdGlvbikgfTsKKwordm9pZCBKU0Fycm93RnVu
Y3Rpb246OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQoreworICAgIHN0YXRpY19jYXN0PEpTQXJyb3dG
dW5jdGlvbio+KGNlbGwpLT5KU0Fycm93RnVuY3Rpb246On5KU0Fycm93RnVuY3Rpb24oKTsKK30K
KworSlNBcnJvd0Z1bmN0aW9uOjpKU0Fycm93RnVuY3Rpb24oVk0mIHZtLCBKU1Njb3BlKiBzY29w
ZSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkK
KyAgICA6IEJhc2Uodm0sIGV4ZWN1dGFibGUsIHNjb3BlLCBzdHJ1Y3R1cmUpCit7Cit9CisgICAg
Cit2b2lkIEpTQXJyb3dGdW5jdGlvbjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQoreworICAgIEJh
c2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKy8vIFByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiBp
cyB1bmRlZmluZWQKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlw
ZSwganNVbmRlZmluZWQoKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgRG9udEVudW0pOworfQor
ICAgIAordm9pZCBKU0Fycm93RnVuY3Rpb246OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBT
bG90VmlzaXRvciYgdmlzaXRvcikKK3sKKyAgICBKU0Fycm93RnVuY3Rpb24qIHRoaXNPYmplY3Qg
PSBqc0Nhc3Q8SlNBcnJvd0Z1bmN0aW9uKj4oY2VsbCk7CisgICAgQVNTRVJUX0dDX09CSkVDVF9J
TkhFUklUUyh0aGlzT2JqZWN0LCBpbmZvKCkpOworICAgIEJhc2U6OnZpc2l0Q2hpbGRyZW4odGhp
c09iamVjdCwgdmlzaXRvcik7Cit9CisgICAgCitDb25zdHJ1Y3RUeXBlIEpTQXJyb3dGdW5jdGlv
bjo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwqIGNlbGwsIENvbnN0cnVjdERhdGEmIGNvbnN0cnVj
dERhdGEpCit7CisgICAgSlNGdW5jdGlvbiogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0Z1bmN0aW9u
Kj4oY2VsbCk7CisgICAgICAgIAorICAgIGNvbnN0cnVjdERhdGEuanMuZnVuY3Rpb25FeGVjdXRh
YmxlID0gdGhpc09iamVjdC0+anNFeGVjdXRhYmxlKCk7CisgICAgY29uc3RydWN0RGF0YS5qcy5z
Y29wZSA9IHRoaXNPYmplY3QtPnNjb3BlKCk7CisgICAgcmV0dXJuIENvbnN0cnVjdFR5cGVOb25l
OworfQorfSAvLyBuYW1lc3BhY2UgSlNDCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzgwMTVkMzg3MjFjY2E0
NGFlMmY2NWNiNmQ3N2I2YTY1MjIwOTY1ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oCkBAIC0wLDAgKzEsNzQgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEpTQXJy
b3dGdW5jdGlvbl9oCisjZGVmaW5lIEpTQXJyb3dGdW5jdGlvbl9oCisKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorCisjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1
ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCisKK25hbWVzcGFjZSBKU0MgeworCitjbGFzcyBKU0Fycm93
RnVuY3Rpb24gOiBwdWJsaWMgSlNGdW5jdGlvbiB7CitwdWJsaWM6CisgICAgdHlwZWRlZiBKU0Z1
bmN0aW9uIEJhc2U7CisgICAgICAgIAorICAgIHN0YXRpYyBKU0Fycm93RnVuY3Rpb24qIGNyZWF0
ZShWTSYgdm0sIEpTU2NvcGUqIHNjb3BlLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUs
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCisgICAgeworICAgICAgICBKU0Fycm93RnVu
Y3Rpb24qIGZ1bmN0aW9uID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8SlNBcnJvd0Z1bmN0
aW9uPih2bS5oZWFwKSkgSlNBcnJvd0Z1bmN0aW9uKHZtLCBzY29wZSwgZXhlY3V0YWJsZSwgZ2xv
YmFsT2JqZWN0LT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCkpOworICAgICAgICBBU1NFUlQoZnVu
Y3Rpb24tPnN0cnVjdHVyZSgpLT5nbG9iYWxPYmplY3QoKSk7CisgICAgICAgIGZ1bmN0aW9uLT5m
aW5pc2hDcmVhdGlvbih2bSk7CisgICAgICAgIHJldHVybiBmdW5jdGlvbjsKKyAgICB9CisgICAg
CisgICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0NlbGwqKTsKKyAgICAgICAgCisgICAgc3RhdGlj
IFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUpCisgICAgeworICAgICAgICBBU1NFUlQoZ2xvYmFs
T2JqZWN0KTsKKyAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmpl
Y3QsIHByb3RvdHlwZSwgVHlwZUluZm8oSlNGdW5jdGlvblR5cGUsIFN0cnVjdHVyZUZsYWdzKSwg
aW5mbygpKTsKKyAgICB9CisgICAgICAgIAorICAgIHN0YXRpYyBDb25zdHJ1Y3RUeXBlIGdldENv
bnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYpOworICAgICAgICAKKyAgICBERUNM
QVJFX0lORk87CisKK3Byb3RlY3RlZDoKKyAgICBjb25zdCBzdGF0aWMgdW5zaWduZWQgU3RydWN0
dXJlRmxhZ3MgPSBPdmVycmlkZXNIYXNJbnN0YW5jZSB8IEJhc2U6OlN0cnVjdHVyZUZsYWdzOwor
ICAgICAgICAKKyAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNp
dG9yJik7CisgICAgICAgIAorcHJpdmF0ZToKKyAgICBKU0Fycm93RnVuY3Rpb24oVk0mLCBKU1Nj
b3BlKiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgU3RydWN0dXJlKik7CisKKyAgICB2b2lkIGZpbmlz
aENyZWF0aW9uKFZNJik7Cit9OworICAgIAorfSAvLyBuYW1lc3BhY2UgSlNDCisjZW5kaWYgLy8g
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYCisKKyNlbmRpZiAvLyBKU0Fycm93RnVuY3Rpb25faApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCmluZGV4IDlhYjlkYzI3
NzdiYWJmODk2MzgxZGNmNDAyYzAxMzA5MGY5NWUzMGMuLjNhMGFlMDExMzViY2I5NjQwYjA1MDJh
MzE2NTFhZjhmY2FhMmM0YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1
bmN0aW9uLmgKQEAgLTEzMiw2ICsxMzIsOSBAQCBwcm90ZWN0ZWQ6CiAKICAgICBKU19FWFBPUlRf
UFJJVkFURSBKU0Z1bmN0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKICAg
ICBKU0Z1bmN0aW9uKFZNJiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgSlNTY29wZSopOworI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgSlNGdW5jdGlvbihWTSYsIEZ1bmN0
aW9uRXhlY3V0YWJsZSosIEpTU2NvcGUqLCBTdHJ1Y3R1cmUqKTsKKyNlbmRpZgogCiAgICAgdm9p
ZCBmaW5pc2hDcmVhdGlvbihWTSYsIE5hdGl2ZUV4ZWN1dGFibGUqLCBpbnQgbGVuZ3RoLCBjb25z
dCBTdHJpbmcmIG5hbWUpOwogICAgIHVzaW5nIEJhc2U6OmZpbmlzaENyZWF0aW9uOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgKaW5kZXgg
MzdiMjgxYWE1ZDBjMWI4NjE2NDUxOWZkN2M1NjZlMzdmMGYxMzQwMS4uN2IzNDkwYmViOTRhMzU5
M2VlMTdiYzNiMTZiMzJjN2RmYWY5NTczZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oCkBAIC0zOCw2ICszOCwxNSBAQCBpbmxpbmUg
SlNGdW5jdGlvbjo6SlNGdW5jdGlvbihWTSYgdm0sIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0
YWJsZSwgSlNTY29wZSogcwogewogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKK2lubGluZSBKU0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKFZNJiB2bSwgRnVuY3Rpb25FeGVj
dXRhYmxlKiBleGVjdXRhYmxlLCBKU1Njb3BlKiBzY29wZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUp
CisgICAgOiBCYXNlKHZtLCBzY29wZSwgc3RydWN0dXJlKQorICAgICwgbV9leGVjdXRhYmxlKHZt
LCB0aGlzLCBleGVjdXRhYmxlKQorICAgICwgbV9hbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnQo
Q2xlYXJXYXRjaHBvaW50KQoreworfQorI2VuZGlmCisgICAgCiBpbmxpbmUgRnVuY3Rpb25FeGVj
dXRhYmxlKiBKU0Z1bmN0aW9uOjpqc0V4ZWN1dGFibGUoKSBjb25zdAogewogICAgIEFTU0VSVCgh
aXNIb3N0RnVuY3Rpb25Ob25JbmxpbmUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggZDM5NjE4YWI3ZWFmNTU5NzRkYWFjMjNi
ODEzMzNlYjAwNTFlYmU3My4uYTk5MDZjMzBhZDczOTM1ZTI2YzkzYmNkMTAwYzMxNGQwMWRlOWZk
MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmpl
Y3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
LmNwcApAQCAtNjEsNiArNjEsNyBAQAogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rv
ci5oIgogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXJQcm90b3R5cGUuaCIKICNpbmNsdWRlICJKU0Fy
cmF5SXRlcmF0b3IuaCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKICNpbmNsdWRlICJK
U0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlND
YWxsYmFja0NvbnN0cnVjdG9yLmgiCkBAIC0yMzMsNiArMjM0LDkgQEAgdm9pZCBKU0dsb2JhbE9i
amVjdDo6aW5pdChWTSYgdm0pCiAgICAgZXhlYy0+c2V0Q2FsbGVlKG1fZ2xvYmFsQ2FsbGVlLmdl
dCgpKTsKIAogICAgIG1fZnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0Z1bmN0aW9u
OjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsK
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIG1fYXJyb3dGdW5jdGlv
blN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJl
KHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7CisjZW5kaWYKICAgICBtX2Jv
dW5kRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0JvdW5kRnVuY3Rpb246OmNyZWF0
ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOwogICAgIG1f
bmFtZWRGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZTo6YWRkUHJvcGVy
dHlUcmFuc2l0aW9uKHZtLCBtX2Z1bmN0aW9uU3RydWN0dXJlLmdldCgpLCB2bS5wcm9wZXJ0eU5h
bWVzLT5uYW1lLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51bSwgbV9mdW5jdGlvbk5h
bWVPZmZzZXQpKTsKICAgICBtX2ludGVybmFsRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlz
LCBJbnRlcm5hbEZ1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Q
cm90b3R5cGUuZ2V0KCkpKTsKQEAgLTcyNSw2ICs3MjksOSBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0
Ojp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCiAgICAg
dmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fY2FsbGVlU3RydWN0dXJlKTsKICAgICB2aXNp
dG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9mdW5jdGlvblN0cnVjdHVyZSk7CiAgICAgdmlzaXRv
ci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYm91bmRGdW5jdGlvblN0cnVjdHVyZSk7CisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09i
amVjdC0+bV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKTsKKyNlbmRpZgogICAgIHZpc2l0b3IuYXBw
ZW5kKCZ0aGlzT2JqZWN0LT5tX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3Iu
YXBwZW5kKCZ0aGlzT2JqZWN0LT5tX3N5bWJvbE9iamVjdFN0cnVjdHVyZSk7CiAgICAgdmlzaXRv
ci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fcmVnRXhwTWF0Y2hlc0FycmF5U3RydWN0dXJlKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0Lmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCmluZGV4IDc0
OTY2YjdiZDA2YmFjZDg2NjFjOWJmNGFiZTQ1Y2ViM2I1MTE4YjQuLjgxN2YyNTc2NjA3MDA3OTkw
MTg2MTRhMDI5NmFiYzNjOTUzMDI1OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtMjI1LDYgKzIyNSw5IEBAIHByb3RlY3RlZDoKICAg
ICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2NhbGxlZVN0cnVjdHVyZTsKICAgICBXcml0ZUJh
cnJpZXI8U3RydWN0dXJlPiBtX2Z1bmN0aW9uU3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxT
dHJ1Y3R1cmU+IG1fYm91bmRGdW5jdGlvblN0cnVjdHVyZTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYXJyb3dGdW5j
dGlvblN0cnVjdHVyZTsKKyNlbmRpZgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fbmFt
ZWRGdW5jdGlvblN0cnVjdHVyZTsKICAgICBQcm9wZXJ0eU9mZnNldCBtX2Z1bmN0aW9uTmFtZU9m
ZnNldDsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3ByaXZhdGVOYW1lU3RydWN0dXJl
OwpAQCAtNDU2LDYgKzQ1OSw5IEBAIHB1YmxpYzoKICAgICBTdHJ1Y3R1cmUqIGNhbGxlZVN0cnVj
dHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbGVlU3RydWN0dXJlLmdldCgpOyB9CiAgICAgU3Ry
dWN0dXJlKiBmdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fZnVuY3Rpb25TdHJ1
Y3R1cmUuZ2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUqIGJvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUoKSBj
b25zdCB7IHJldHVybiBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFN0cnVjdHVyZSogYXJyb3dGdW5jdGlv
blN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZS5nZXQo
KTsgfQorI2VuZGlmCiAgICAgU3RydWN0dXJlKiBuYW1lZEZ1bmN0aW9uU3RydWN0dXJlKCkgY29u
c3QgeyByZXR1cm4gbV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CiAgICAgUHJvcGVy
dHlPZmZzZXQgZnVuY3Rpb25OYW1lT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9mdW5jdGlvbk5h
bWVPZmZzZXQ7IH0KICAgICBTdHJ1Y3R1cmUqIG51bWJlck9iamVjdFN0cnVjdHVyZSgpIGNvbnN0
IHsgcmV0dXJuIG1fbnVtYmVyT2JqZWN0U3RydWN0dXJlLmdldCgpOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbHRo
aXMuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
bGV4aWNhbHRoaXMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjEyZmJhZjgwNDQ4MmM3NzYxYzM3ZGQ2OTNhODQ4
NWU1NTExNTczZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsdGhpcy5qcwpAQCAtMCwwICsxLDMxIEBACit2
YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQs
IG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNz
YWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFs
ICsgIiciOworICB9Cit9OworCit2YXIgYWZPYmpMZXhCaW5kMiA9IGZ1bmN0aW9uICgpIHsKKyAg
dGhpcy5mdW5jID0gKCkgPT4gdGhpczsKK307CisKK3ZhciBhZk9iakxleEJpbmQySW5zdGFuY2Ug
PSBuZXcgYWZPYmpMZXhCaW5kMigpOworCit0ZXN0Q2FzZShhZk9iakxleEJpbmQySW5zdGFuY2Uu
ZnVuYygpID09PSBhZk9iakxleEJpbmQySW5zdGFuY2UsIHRydWUsICJFcnJvcjogdGhpcyBpcyBu
b3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMyIik7CisK
K3ZhciBvYmogPSB7CisgIG1ldGhvZDogZnVuY3Rpb24gKCkgeworICAgIHJldHVybiAoKSA9PiB0
aGlzOworICB9Cit9OworCit0ZXN0Q2FzZShvYmoubWV0aG9kKCkoKSA9PT0gb2JqLCB0cnVlLCAi
RXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbiAjMyIpOworCit2YXIgZmFrZSA9IHtzdGVhbDogb2JqLm1ldGhvZCgpfTsKK3Rlc3RD
YXNlKGZha2Uuc3RlYWwoKSA9PT0gb2JqLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGlj
YWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNCIpOworCisKKy8vIEZp
eG1lOiBmb2xsb3dpbmcgdGVzdCBmYWlscyBpbiBkZmctZWFnZXItbm8tY2ppdC12YWxpZGF0ZSAm
IGZ0bC1lYWdlci1uby1jaml0IG1vZGUKK3ZhciByZWFsID0ge2JvcnJvdzogb2JqLm1ldGhvZH07
Cit0ZXN0Q2FzZShyZWFsLmJvcnJvdygpKCkgPT09IHJlYWwsIHRydWUsICJFcnJvcjogdGhpcyBp
cyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM1Iik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tb3RoZXJzLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJv
d2Z1bmN0aW9uLW90aGVycy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYmJmODU5ZTIwM2ViMWY1NGFjYWUxZDQw
ODNjYTNkZDNkYzk3NjFmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLW90aGVycy5qcwpAQCAtMCwwICsxLDMwIEBACit2
YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQs
IG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNz
YWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFs
ICsgIiciOworICB9Cit9OworCit2YXIgc2ltcGxlQXJyb3dGdW5jdGlvbiA9ICgpID0+IHt9Owor
Cit0ZXN0Q2FzZSh0eXBlb2Ygc2ltcGxlQXJyb3dGdW5jdGlvbiwgImZ1bmN0aW9uIiwgIkVycm9y
OiBOb3QgY29ycmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShP
YmplY3QuZ2V0UHJvdG90eXBlT2Yoc2ltcGxlQXJyb3dGdW5jdGlvbiksIEZ1bmN0aW9uLnByb3Rv
dHlwZSwgIkVycm9yOiBOb3QgY29ycmVjdCBnZXRQcm90b3R5cGVPZiB2YWx1ZSBmb3IgYXJyb3cg
ZnVuY3Rpb24iKTsKKwordGVzdENhc2Uoc2ltcGxlQXJyb3dGdW5jdGlvbiBpbnN0YW5jZW9mIEZ1
bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgaW5zdGFuY2VvZiBt
ZXRob2QgZm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93RnVuY3Rp
b24uY29uc3RydWN0b3IgPT0gRnVuY3Rpb24sIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVz
dWx0IGZvciBjb25zdHJ1Y3RvciBtZXRob2Qgb2YgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENh
c2UodHlwZW9mIHNpbXBsZUFycm93RnVuY3Rpb24ucHJvdG90eXBlID09PSAndW5kZWZpbmVkJywg
dHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBm
dW5jdGlvbiIpOworCit2YXIgZXJyb3JPbkNyZWF0ZSA9IGZhbHNlOworCit0cnkgeworICB2YXIg
ZmMgPSBuZXcgc2ltcGxlQXJyb3dGdW5jdGlvbigpOworfQorY2F0Y2ggKGUpIHsKKyAgZXJyb3JP
bkNyZWF0ZSA9IHRydWU7Cit9CisKK3Rlc3RDYXNlKGVycm9yT25DcmVhdGUsIHRydWUsICJFcnJv
cjogTm8gZXJyb3IgZHVyaW5nIHJ1biBuZXcgQXJyb3dGdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXRkei5qcyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi10ZHouanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZTlkMzVjZGVhNGJhZjY2NzQzMWFmOGFiZThkYWRmMjJkMDRiOTBlMQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi10ZHouanMKQEAgLTAsMCArMSwyNCBAQAordmFyIEEgPSBjbGFzcyBBIHsgfTsKK3Zh
ciBCID0gY2xhc3MgQiBleHRlbmRzIEEgeworICBjb25zdHJ1Y3RvcihhY2Nlc3NUaGlzQmVmb3Jl
U3VwZXIpIHsKKyAgICBpZiAoYWNjZXNzVGhpc0JlZm9yZVN1cGVyKSB7CisgICAgICB2YXIgZiA9
ICgpID0+IHRoaXM7CisgICAgICBzdXBlcigpOworICAgIH0gZWxzZSB7CisgICAgICBzdXBlcigp
OworICAgIH0KKyAgfQorfTsKKwordmFyIGV4Y2VwdGlvbiA9IG51bGw7Cit0cnkgeworICAgICBu
ZXcgQih0cnVlKTsKK30gY2F0Y2ggKGUpIHsKKyAgICBleGNlcHRpb24gPSBlOworICAgIGlmICgh
KGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikpCisgICAgICAgIHRocm93ICJFeGNlcHRpb24g
dGhyb3duIHdhcyBub3QgYSByZWZlcmVuY2UgZXJyb3IiOworfQoraWYgKCFleGNlcHRpb24pCisg
ICAgdGhyb3cgIkV4Y2VwdGlvbiBub3QgdGhyb3duIGZvciBhbiB1bml0aWFsaXplZCB0aGlzIGF0
IGl0ZXJhdGlvbiI7CisKK3ZhciBlID0gbmV3IEIoZmFsc2UpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLmpzIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA2
ODdiM2FhYjFkMjdmNDUzZjkwNzYxY2VjMWFkNGQwNWNmMDNiMzUKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24uanMKQEAg
LTAsMCArMSwxNTQgQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAo
YWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkg
eworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1
dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBhcnJvd0Z1bmN0aW9uMCA9
IHYgPT4gdiArIDE7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMCgxMCk7Cit0ZXN0Q2FzZShyZXN1
bHQsIDExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b246IHYgPT4gdiArIDEiKTsKKwordmFyIGFycm93RnVuY3Rpb24xID0gKHYpID0+IHYgKiAyOwor
cmVzdWx0ID0gYXJyb3dGdW5jdGlvbjEoMTApOwordGVzdENhc2UocmVzdWx0LCAyMCAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAodikgPT4gdiAr
IDEiKTsKKwordmFyIGFycm93RnVuY3Rpb24yID0gKCkgPT4gMTAwMDsKK3Jlc3VsdCA9IGFycm93
RnVuY3Rpb24yKDEyMTIpOwordGVzdENhc2UocmVzdWx0LCAxMDAwICwiRXJyb3I6IE5vdCBjb3Jy
ZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICgpID0+IDEwMDAiKTsKKwordmFy
IHRtcFZhcmlhbHZlMl8xID0gMTUxOwordmFyIGFycm93RnVuY3Rpb24yXzEgPSAoKSA9PiB0bXBW
YXJpYWx2ZTJfMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24yXzEoMTIxKTsKK3Rlc3RDYXNlKHJl
c3VsdCwgdG1wVmFyaWFsdmUyXzEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbjogKCkgPT4gdmFyaWFibGUiKTsKKwordmFyIGFycm93RnVuY3Rpb24z
ID0gKHYsIHgpID0+IHYgKyB4OworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjMoMTEsMTIpOwordGVz
dENhc2UocmVzdWx0LCAyMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFy
cm93IGZ1bmN0aW9uOiAoeCwgeSkgPT4geCArIHkiKTsKKwordmFyIGFycm93RnVuY3Rpb25XcmFw
cGVyID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRlcikgeyByZXR1cm4gY2wocGFyYW10ZXIpOyB9Owor
CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEyMzQpOwordGVzdENhc2UocmVz
dWx0LCAxMjM0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjKSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlv
bldyYXBwZXIoeCA9PiAxMjM0LCAyMzQ1KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIzNCAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVy
OiBmKHggPT4gYywgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4g
MTIxICsgMjMyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzUzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjMSArIGMy
KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMjMgKyAzMjEsIDk5
OTkpOwordGVzdENhc2UocmVzdWx0LCA0NDQgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMxICsgYzIsIHkpIik7
CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IHggKyAxMiwgMjEpOwordGVz
dENhc2UocmVzdWx0LCAzMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFy
cm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4geCArIGMxLCB5KSIpOworCisgcmVzdWx0
ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKHgpID0+IHggKyAyMSwgMzIpOwordGVzdENhc2UocmVz
dWx0LCA1MywgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0
aW9uIGFzIHBhcmFtdGVyOiBmKCh4KSA9PiBjMSArIGMyLCB5KSIpOworCisgcmVzdWx0ID0gYXJy
b3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwLCAiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10
ZXI6IGYoKCkgPT4gYykiKTsKKworIHZhciBleHRfdmFsdWUgPSAxMjE7CityZXN1bHQgPSBhcnJv
d0Z1bmN0aW9uV3JhcHBlcigoKSA9PiBleHRfdmFsdWUpOwordGVzdENhc2UocmVzdWx0LCAxMjEs
ICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBw
YXJhbXRlcjogZigoKSA9PiB2KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIo
KCkgPT4gZXh0X3ZhbHVlICogMTApOwordGVzdENhc2UocmVzdWx0LCAxMjEwICwiRXJyb3I6IE5v
dCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYo
KCkgPT4gdip4KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKHgpID0+IGV4
dF92YWx1ZSAqIHgsIDMwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzAqZXh0X3ZhbHVlICwiRXJyb3I6
IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6
IGYoKHgpID0+IHYqeCwgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgp
ID0+IDEwMCwgMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDAgLCJFcnJvcjogTm90IGNvcnJlY3Qg
ZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjMSwg
eSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCArIDEwKTsK
K3Rlc3RDYXNlKHJlc3VsdCwgMTEwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0
aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYzEgKyBjMikiKTsKKworIHJl
c3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCArIDExLCAxMik7Cit0ZXN0Q2Fz
ZShyZXN1bHQsIDExMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMxICsgYzIsIHkpIik7CisKKyB2YXIgYXJy
b3dGdW5jdGlvbjQgPSB2ID0+IHYgKyAxLCB4eXoxID0gMTAxMDE7CityZXN1bHQgPSBhcnJvd0Z1
bmN0aW9uNCgxMDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAxMiAsIkVycm9yOiBOb3QgY29ycmVj
dCBwYXJzaW5nIG9mIHRoIGFycm93IGZ1bmN0aW9uIGluc2lkZSBvZiB0aGUgbGlzdCBvZiB2YXJz
OiB2YXIgYWYgPSB2PT4gdiArIDE7IHp4Yz1jOyIpOwordGVzdENhc2UoeHl6MSwgMTAxMDEgLCJF
cnJvcjogTm90IGNvcnJlY3QgcGFyc2luZyBvZiB0aCBhcnJvdyBmdW5jdGlvbiBpbnNpZGUgb2Yg
dGhlIGxpc3Qgb2YgdmFyczogdmFyIGFmID0gdj0+IHYgKyAxOyB6eGM9YzsiKTsKKworIHZhciBh
cnJvd0Z1bmN0aW9uV3JhcHBlcjIgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVyMSwgcGFyYW10ZXIy
KSB7IHJldHVybiBjbChwYXJhbXRlcjEsIHBhcmFtdGVyMik7IH07CityZXN1bHQgPSBhcnJvd0Z1
bmN0aW9uV3JhcHBlcjIoKHgsIHkpID0+IHggKyB5LCAxMiAsNDMpOwordGVzdENhc2UocmVzdWx0
LCA1NSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9u
IGFzIHBhcmFtZXRlcjogZigoeCwgeSkgPT4geCArIHksIGMxLCBjMikiKTsKKworIHZhciBhcnJv
d0Z1bmN0aW9BcnJheTAgPSBbdiA9PiB2ICogMTBdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJy
YXkwWzBdKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogW3Y9PnYqMTBd
Iik7CisKKyB2YXIgYXJyb3dGdW5jdGlvQXJyYXkxID0gW3YgPT4gdiArIDEsIHYgPT4gdiArIDJd
OworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkxWzBdKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwg
MTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBh
cyBpdGVtIGluIGFycmF5OiBbdiA9PiB2ICsgMSwgIHYgPT4gdiArIDJdIik7CityZXN1bHQgPSBh
cnJvd0Z1bmN0aW9BcnJheTFbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMyAsIkVycm9yOiBO
b3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJy
YXk6IFt2ID0+IHYgKyAxLCAgdiA9PiB2ICsgMl0iKTsKKworIHZhciBhcnJvd0Z1bmN0aW9BcnJh
eTIgPSBbKHYpID0+IHYgKyAxLCAodikgPT4gdiArIDJdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlv
QXJyYXkyWzBdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIgLCJFcnJvcjogTm90IGNvcnJlY3Qg
ZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKHYpID0+
IHYgKyAxLCAgKHYpID0+IHYgKyAyXSIpOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkyWzFd
KDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKHYpID0+IHYgKyAxLCAg
KHYpID0+IHYgKyAyXSIpOworCisgdmFyIGFycm93RnVuY3Rpb0FycmF5MyA9IFsoKSA9PiAxMDEs
ICgpID0+IDEyMzIzXTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5M1swXSgxMSk7Cit0ZXN0
Q2FzZShyZXN1bHQsIDEwMSwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFy
cm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsoKSA9PiBjMSwgICgpID0+IGMyXSIpOwor
cmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkzWzFdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIz
MjMsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBh
cyBpdGVtIGluIGFycmF5OiBbKCkgPT4gYzEsICAoKSA9PiBjMl0iKTsKKwordmFyIGFycm93RnVu
Y3Rpb25PYmogPSB7ZnVuYyA6IHkgPT4geSArIDEyfTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25P
YmouZnVuYygxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIzICwgIkVycm9yOiBOb3QgY29ycmVjdCBl
eGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHByb3BlcnR5OiB7ZnVuYyA6IHkgPT4g
eSArIDEyIH0iKTsKKwordmFyIGFmT2JqTGV4QmluZDIgPSBmdW5jdGlvbiAoKSB7CisgIHRoaXMu
ZnVuYyA9ICgpID0+IHRoaXM7Cit9OworCit2YXIgYXJyb3dGYXRGdW5jdGlvbjAgPSAoKSA9PiB7
IHJldHVybiAxMDAwOyB9OworcmVzdWx0ID0gYXJyb3dGYXRGdW5jdGlvbjAoMTEpOwordGVzdENh
c2UocmVzdWx0LCAxMDAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiAoKSA9PiB7IHJldHVybiAxMDAwOyB9Iik7
CisKK3ZhciBhcnJvd0ZhdEZ1bmN0aW9uMSA9IHYgPT4geyB2YXIgaW50dmFsID0gMTAwOyByZXR1
cm4gdiAqIGludHZhbDsgfTsKK3Jlc3VsdCA9IGFycm93RmF0RnVuY3Rpb24xKDExKTsKK3Rlc3RD
YXNlKHJlc3VsdCwgMTEwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFy
cm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogeCA9PiB7IHZhciB2PTEwMDA7IHJldHVy
biB2Kng7IH0iKTsKKwordmFyIGFycm93RmF0RnVuY3Rpb24yID0gKHYpID0+IHsgdmFyIGludCA9
IDIwMDsgcmV0dXJuIHYgKiBpbnQ7IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0aW9uMigxMSk7
Cit0ZXN0Q2FzZShyZXN1bHQsIDIyMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICh4KSA9PiB7IHZhciB2PTEw
MDA7IHJldHVybiB2Kng7IH0iKTsKKwordmFyIGFycm93RmF0RnVuY3Rpb24zID0gKHYsIHgpID0+
IHsgdmFyIHJlc3VsdCA9IHggKiB2OyByZXR1cm4gcmVzdWx0OyB9OworcmVzdWx0ID0gYXJyb3dG
YXRGdW5jdGlvbjMoMTEsIDEyMjIyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTM0NDQyICwiRXJyb3I6
IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFz
IGJsb2NrOiAodiwgeCkgPT4geyB2YXIgcmVzdWx0ID0geCAqIHY7IHJldHVybiByZXN1bHQ7IH0i
KTsKKworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeD0+e3JldHVybiB4ICogMjU7fSwg
MTIxKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjUqMTIxICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1
dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiBmKHggPT4ge3Jl
dHVybiB4ICogMjU7fSwgMTIxKSIpOworCityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcjIo
KHgsIHkpPT57cmV0dXJuIHggKiB5O30sIDE0LCAxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDE0KjEy
ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0
aCBib2R5IGFzIGJsb2NrOiBmKCh4LCB5KT0+e3JldHVybiB4ICogeTt9LCAxNCwgMTIxKSkiKTsK
KwordmFyIHNpbXBsZUFycm93RnVuY3Rpb24gPSAoKSA9PiB7fTsKKwordGVzdENhc2UodHlwZW9m
IHNpbXBsZUFycm93RnVuY3Rpb24sICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNvcnJlY3QgdHlw
ZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2UoT2JqZWN0LmdldFByb3RvdHlw
ZU9mKHNpbXBsZUFycm93RnVuY3Rpb24pLCBGdW5jdGlvbi5wcm90b3R5cGUsICJFcnJvcjogTm90
IGNvcnJlY3QgZ2V0UHJvdG90eXBlT2YgdmFsdWUgZm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rl
c3RDYXNlKHNpbXBsZUFycm93RnVuY3Rpb24gaW5zdGFuY2VvZiBGdW5jdGlvbiwgdHJ1ZSwgIkVy
cm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIGluc3RhbmNlb2YgbWV0aG9kIGZvciBhcnJvdyBm
dW5jdGlvbiIpOworCit0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uLmNvbnN0cnVjdG9yID09
IEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgY29uc3RydWN0
b3IgbWV0aG9kIG9mIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHR5cGVvZiBzaW1wbGVB
cnJvd0Z1bmN0aW9uLnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJFcnJvcjogTm90
IGNvcnJlY3QgcmVzdWx0IGZvciBwcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24iKTsKKwordmFy
IGVycm9yT25DcmVhdGUgPSBmYWxzZTsKKwordHJ5IHsKKyAgdmFyIGZjID0gbmV3IHNpbXBsZUFy
cm93RnVuY3Rpb24oKTsKK30KK2NhdGNoIChlKSB7CisgIGVycm9yT25DcmVhdGUgPSB0cnVlOwor
fQorCit0ZXN0Q2FzZShlcnJvck9uQ3JlYXRlLCB0cnVlLCAiRXJyb3I6IE5vIGVycm9yIGR1cmlu
ZyBydW4gbmV3IEFycm93RnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOGIxMTJmYWU0NWI5NTdk
ZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkz
YzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZBU19Q
QVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9F
UzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CitFTkFCTEVfRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVO
QUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJM
RV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yID0gRU5BQkxFX0NT
U19BTklNQVRJT05TX0xFVkVMXzI7CkBAIC0yMTQsNCArMjE1LDQgQEAgRU5BQkxFX0xMSU5UX0Nf
TE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9T
QVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
XzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChF
TkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQo
RU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xF
VkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NP
TVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19H
UklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxF
Q1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkg
JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
UykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVO
QUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJ
TUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
TEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9B
TklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQp
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVO
QUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVO
QUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5B
QkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9X
X1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VM
RU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgp
ICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5B
QkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkg
JChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9D
U1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsp
ICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9O
KSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAk
KEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFC
TEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VS
U09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVf
REFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RB
VEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVW
SUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFC
TEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxF
X0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVM
TFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRF
RCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9U
SFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Vf
SU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Ip
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9X
RUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAk
KEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVf
TUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9F
TEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVO
QUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VS
UkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQo
RU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlU
WV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01Q
TEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJ
QV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05B
UCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5B
QkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9D
T05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9U
RU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJ
TkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJM
RV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RF
X0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVf
V0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMp
ICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9Y
SFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJ
TlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxF
X1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9t
YWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOGIxMTJmYWU0
NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0OGE3Njk3MmYxMTRjMzgzZDMyNjI5
ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5B
QkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9Y
WSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CitF
TkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRF
UklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8y
ID0gRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBAIC0yMTQsNCArMjE1LDQgQEAgRU5B
QkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJ
QyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5F
UyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFT
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9D
QVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJU
SVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQo
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVO
QUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19B
TklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChF
TkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQo
RU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5B
QkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9D
U1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1Jf
VklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNI
Qk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9U
UkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9F
TkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklM
VEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NS
RUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAk
KEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9U
VExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9X
T1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxF
U1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxF
X0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9B
VURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5B
QkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1F
TlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxF
X05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5D
WSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFC
TEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VW
RU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFC
TEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRF
KSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FV
RVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAk
KEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVf
U1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZF
UlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBM
QVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19X
T1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJ
REVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NT
X01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJf
UkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChF
TkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9U
SU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9D
X0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklE
RU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVO
REVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9B
VFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVf
Q0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhU
KSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09S
QVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklD
RV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFH
RV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NT
U19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NI
QVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykg
JChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExF
UikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQp
ICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkg
JChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJV
Q1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFf
VjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykg
JChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQ
QURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdF
X0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NF
UlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9N
T05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUsp
ICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5L
X1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQ
VCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09S
X1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdB
VE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJ
VF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5B
QkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFC
TEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFV
RVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVT
T0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NT
U19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFN
U19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9O
KSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJM
RV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJ
REVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFC
TEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJ
TykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJ
Q1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05T
KSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkg
JChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVU
SUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNl
L1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOGIx
MTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0OGE3Njk3MmYxMTRjMzgz
ZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdDIvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5B
QkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9Y
WSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CitF
TkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRF
UklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8y
ID0gRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBAIC0yMTQsNCArMjE1LDQgQEAgRU5B
QkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJ
QyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5F
UyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFT
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9D
QVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJU
SVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQo
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVO
QUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19B
TklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChF
TkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQo
RU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5B
QkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9D
U1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1Jf
VklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNI
Qk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9U
UkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9F
TkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklM
VEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NS
RUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAk
KEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9U
VExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9X
T1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxF
U1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxF
X0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9B
VURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5B
QkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1F
TlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxF
X05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5D
WSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFC
TEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VW
RU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFC
TEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRF
KSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FV
RVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAk
KEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVf
U1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZF
UlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBM
QVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19X
T1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJ
REVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NT
X01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJf
UkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChF
TkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9U
SU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9D
X0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklE
RU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVO
REVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9B
VFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVf
Q0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhU
KSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09S
QVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklD
RV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFH
RV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NT
U19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NI
QVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykg
JChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExF
UikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQp
ICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkg
JChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJV
Q1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFf
VjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykg
JChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQ
QURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdF
X0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NF
UlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9N
T05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUsp
ICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5L
X1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQ
VCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09S
X1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdB
VE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJ
VF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5B
QkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFC
TEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFV
RVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVT
T0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NT
U19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFN
U19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9O
KSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJM
RV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJ
REVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFC
TEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJ
TykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJ
Q1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05T
KSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkg
JChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVU
SUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJl
cy5jbWFrZQppbmRleCAzMmMyMzVkOThiNWE0MjBlYmUzMzQ4MzRjN2I2YTQxODJiMjIyMjBhLi5h
Njc1MzcxNDU2MjdjZDM4YTI3MDc5Y2Q1ZGZlOTg2ODJjOTFmNDY1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL1dlYktpdEZl
YXR1cmVzLmNtYWtlCkBAIC0yOCw2ICsyOCw3IEBAIG1hY3JvKFdFQktJVF9PUFRJT05fQkVHSU4p
CiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NBTlZBU19QUk9YWSAiVG9nZ2xlIENh
bnZhc1Byb3h5IHN1cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcgIlRvZ2dsZSBNZXNzYWdlQ2hhbm5lbCBhbmQgTWVzc2FnZVBvcnQg
c3VwcG9ydCIgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0VTNl9DTEFTU19T
WU5UQVggIlRvZ2dsZSBFUzYgY2xhc3Mgc3ludGF4IHN1cHBvcnQiIE9OKQorICAgIFdFQktJVF9P
UFRJT05fREVGSU5FKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggIlRvZ2dsZSBFUzYg
YXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVG
SU5FKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyAiVG9nZ2xlIGNvbnRlbnQgZmlsdGVyaW5nIHN1
cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ09OVEVYVF9NRU5V
UyAiVG9nZ2xlIENvbnRleHQgTWVudSBzdXBwb3J0IiBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RF
RklORShFTkFCTEVfQ1NQX05FWFQgIlRvZ2dsZSBDb250ZW50IFNlY3VyaXR5IFBvbGljeSAxLjEg
c3VwcG9ydCIgT0ZGKQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UgYi9T
b3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQppbmRleCAyMWQzZmNjNWQ5ODNmOTU5NWRlZjM1MTA1
NjhjZGM5ODk2NTI0NmVkLi5jZjFhZmU1NmM1ZjBmMjYwOTkwOTBlNTFiN2IyYTY2MDNlYTA3MzIx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQorKysgYi9Tb3VyY2UvY21h
a2Vjb25maWcuaC5jbWFrZQpAQCAtMTMsNiArMTMsNyBAQAogI2NtYWtlZGVmaW5lMDEgRU5BQkxF
X0NBTlZBU19QUk9YWQogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HCiAj
Y21ha2VkZWZpbmUwMSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWAorI2NtYWtlZGVmaW5lMDEgRU5B
QkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWAogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ09OVEVYVF9NRU5VUwogI2NtYWtl
ZGVmaW5lMDEgRU5BQkxFX0NSRURFTlRJQUxfU1RPUkFHRQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJs
L0ZlYXR1cmVMaXN0LnBtCmluZGV4IDE2ZmQ2NDljNjhkNmIzZDQzZDBiMzFlMzM1NzkwNGZjODcy
NGE3ZWIuLjIyM2IzMTFiY2ZiYWIyYzI2OGE3ZjI2NTJkMTRlZDE5NjM3ZmRmY2UgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KQEAgLTQ0LDYgKzQ0LDcgQEAgQkVHSU4g
ewogbXkgKAogICAgICR0aHJlZURSZW5kZXJpbmdTdXBwb3J0LAogICAgICRhY2NlbGVyYXRlZDJE
Q2FudmFzU3VwcG9ydCwKKyAgICAkYXJyb3dmdW5jdGlvblN5bnRheCwKICAgICAkYmF0dGVyeVN0
YXR1c1N1cHBvcnQsCiAgICAgJGNhbnZhc1BhdGhTdXBwb3J0LAogICAgICRjYW52YXNQcm94eVN1
cHBvcnQsCkBAIC0xNTQsNiArMTU1LDkgQEAgbXkgQGZlYXR1cmVzID0gKAogICAgIHsgb3B0aW9u
ID0+ICJhY2NlbGVyYXRlZC0yZC1jYW52YXMiLCBkZXNjID0+ICJUb2dnbGUgQWNjZWxlcmF0ZWQg
MkQgQ2FudmFzIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQUNDRUxFUkFURURf
MkRfQ0FOVkFTIiwgZGVmYXVsdCA9PiBpc0d0aygpLCB2YWx1ZSA9PiBcJGFjY2VsZXJhdGVkMkRD
YW52YXNTdXBwb3J0IH0sCiAKKyAgICB7IG9wdGlvbiA9PiAiYXJyb3dmdW5jdGlvbi1zeW50YXgi
LCBkZXNjID0+ICJUb2dnbGUgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheCBzdXBwb3J0IiwKKyAg
ICAgIGRlZmluZSA9PiAiRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCIsIGRlZmF1bHQg
PT4gMSwgdmFsdWUgPT4gXCRhcnJvd2Z1bmN0aW9uU3ludGF4IH0sCisKICAgICB7IG9wdGlvbiA9
PiAiYmF0dGVyeS1zdGF0dXMiLCBkZXNjID0+ICJUb2dnbGUgQmF0dGVyeSBTdGF0dXMgc3VwcG9y
dCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9CQVRURVJZX1NUQVRVUyIsIGRlZmF1bHQgPT4g
aXNFZmwoKSwgdmFsdWUgPT4gXCRiYXR0ZXJ5U3RhdHVzU3VwcG9ydCB9LAogCmRpZmYgLS1naXQg
YS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggNGVkODZhNmY4ODk4ZDMxZTM4MDUwYjMyYTU0
Y2E3NmJlMWQ2MTZkZi4uZTkxYzdjYTIwMGJlNzE0YzY4OTk2NTdlOTZjMjUyYjBkMDllZGE0OSAx
MDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisy
MDE1LTA0LTAxICAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisg
ICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUg
ZmxhZyB0byBzd2l0Y2ggb24vb2ZmIGVzNiBhcnJvdyBmdW5jdGlvbiBFTkFCTEVfRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYCisKKyAgICAgICAgICogU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVz
LmNtYWtlOgorICAgICAgICAgKiBTb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZToKKwogMjAxNS0w
My0yOSAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAg
IFtDTWFrZV0gVXBkYXRlIG9sZCBDTWFrZUxpc3QudHh0IGluIGd0ZXN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250437</attachid>
            <date>2015-04-09 05:46:23 -0700</date>
            <delta_ts>2015-04-09 06:27:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150409154531.patch</filename>
            <type>text/plain</type>
            <size>131934</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyNTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
MDhhYzlhNDAwYmQ0NjFlNTU4ZDBkNzQ1MGFjZWRiNjI4MzRlNDg2Li40YTJjMjI0ZDQ3ZjRlYTJl
MjBiY2E4NzlmN2NmODRhMGQ0YWI4ZTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMTUgQEAKKzIwMTUtMDQtMDEgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MDg1NQorCisgICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGRlZCBzdXBwb3J0IG9mIEVTNiBhcnJvdyBmdW5jdGlvbi4gQ2hhbmdlcyB3ZXJlIG1hZGUgYWNj
b3JkaW5nIGZvbGxvd2luZyBzcGVjIGh0dHA6Ly93aWtpLmVjbWFzY3JpcHQub3JnL2Rva3UucGhw
P2lkPWhhcm1vbnk6YXJyb3dfZnVuY3Rpb25fc3ludGF4CisgICAgICAgIEluIHBhdGNoIHdlcmUg
aW1wbGVtZW50ZWQgdGhlIHNpbXBsZXN0IGNhc2VzOgorICAgICAgICAgIDEgbm8gcGFyYW1ldGVy
cyAgICAgICAgICAgICAgICAoKSA9PiAxMCArIDIwCisgICAgICAgICAgMiBzaW5nbGUgcGFyYW1l
dGVyICAgICAgICAgICAgICB4ID0+IHggKyAyMAorICAgICAgICAgIDMgbXVsdGlwbGUgcGFyYW1l
dGVycyAgICAgICh4LCB5KSA9PiB4ICsgeQorICAgICAgICAgIDQgYXJyb3cgZnVuY3Rpb24gd2l0
aCBibG9jayAgICAgeCA9PiB7IHJldHVybiB4KjEwOyB9CisgICAgICAgICAgNSBsZXhpY2FsIHRo
aXMgLSB2YXJpYWJsZSB0aGlzIGlzIHBvaW50IHRvIHRoZSB0aGlzIG9mIHRoZSBmdW5jdGlvbiB3
aGVyZSBhcnJvdyBmdW5jdGlvbiBpcyBkZWNsYXJlZAorICAgICAgICAgIDYgTm8gY29uc3RydWN0
b3IgLSB0aGUgdXNpbmcgb2YgdGhlIGNvbW1hbmQgbmV3IGZvciBhcnJvdyBmdW5jdGlvbiBsZWFk
cyB0byBydW50aW1lIGVycm9yLiAKKworICAgICAgICAgTm90IHlldCBpbXBsZW1lbnRlZDoKKyAg
ICAgICAgICAxIHRoZSB2YXJpYWJsZSB3aXRoIG5hbWUgYXJndW1lbnRzIGluc2lkZSBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gc2hvdWxkIHBvaW50IHRvIGxpc3Qgb2YgYXJndW1lbnRzIG9mIGZ1bmN0
aW9uIHdoZXJlIGFycm93IGZ1bmN0aW9uIGlzIGRlY2xhcmVkCisgICAgICAgICAgMiBwYXJzZXIg
d2lsbCBwYXJzZSB0aGUgc3RhdGVtZW50IHgsIHkgPT4geCArIHkgaW5zdGVhZCBvZiByYWlzaW5n
IGV4Y2VwdGlvbgorICAgICAgICAgIDMgbWV0aG9kIGNhbGwsIGFwcGx5LCBiaW5kIHNob3VsZCBu
b3Qgb3ZlcnJpZGUgdGhlIHRoaXMgdmFyaWFibGUgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlv
bgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6Cisg
ICAgICAgICogSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qOgor
ICAgICAgICAqIGJ5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uOgorICAgICAgICAqIGJ5dGVjb2Rl
L0J5dGVjb2RlVXNlRGVmLmg6CisgICAgICAgIChKU0M6OkZ1bmN0b3I6OmNvbXB1dGVVc2VzRm9y
Qnl0ZWNvZGVPZmZzZXQpOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAg
ICAgIChKU0M6OkNvZGVCbG9jazo6ZHVtcEJ5dGVjb2RlKToKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVH
ZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Fy
cm93RnVuY3Rpb25FeHByZXNzaW9uKTogYWRkZWQKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5l
cmF0b3I6OmVtaXRUaGlzTm9kZUJ5dGVjb2RlKTogYWRkZWQKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvTm9kZXNDb2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6ZW1pdEJ5dGVjb2RlOjplbWl0Qnl0
ZWNvZGUpOiBhZGRlZAorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHByTm9kZTo6ZW1pdEJ5dGVj
b2RlKTogYWRkZWQKKyAgICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAg
ICAoSlNDOjpCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgICogZGZnL0RGR0Nh
cGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkNhcGFiaWxpdHlMZXZlbDo6Y2FwYWJpbGl0
eUxldmVsKToKKyAgICAgICAgKiBqaXQvSklULmg6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9v
cF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRJbmxpbmVzLmg6
CisgICAgICAgIChKU0M6OkpJVDo6Y2FsbE9wZXJhdGlvbik6IGFkZGVkCisgICAgICAgICogaml0
L0pJVC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcyk6Cisg
ICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3Bf
bmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5j
cHA6CisgICAgICAgIChKU0M6OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5ld0Fycm93RnVuY3Rp
b24pOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmg6CisgICAgICAgIChKU0M6
OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24pOiBhZGRlZAorICAgICAg
ICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAgICAgICAgKExMSU5UX1NMT1dfUEFUSF9E
RUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGxsaW50
L0xMSW50U2xvd1BhdGhzLmg6CisgICAgICAgIChMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3Bh
dGhfbmV3X2Fycm93X2Z1bmNfZXhwKSk6IGFkZGVkCisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206CisgICAgICAgICogcGFyc2VyL0FTVEJ1aWxkZXIuaDoKKyAgICAgICAg
KEpTQzo6QVNUQnVpbGRlcjo6Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIpOgorICAgICAgICAqIHBh
cnNlci9MZXhlci5jcHA6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9u
KToKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OmxleCk6CisgICAgICAgICogcGFyc2VyL0xleGVy
Lmg6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9uKToKKyAgICAgICAg
KiBwYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oOgorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHBy
Tm9kZTo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZAorICAgICAgICAqIHBhcnNlci9Ob2Rlcy5o
OgorICAgICAgICAoSlNDOjpOb2RlOjppc0Fycm93RnVuY0V4cHJOb2RlKTogYWRkZWQKKyAgICAg
ICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZCBjbGFzcworICAgICAgICAqIHBhcnNl
ci9QYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3Vy
Y2VFbGVtZW50cyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1h
cnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZVNvdXJjZUVsZW1lbnQp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6
UGFyc2VyOjpwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwYXJzZVByaW1hcnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFy
cm93RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6c2V0RW5kT2ZTdGF0ZW1lbnQp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIpOgorICAg
ICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkluZm8pOgorICAgICAgICAoSlND
OjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkJvZHkpOgorICAgICAgICAqIHBhcnNlci9QYXJz
ZXIuaDoKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpGdW5jdGlvblBhcnNlVHlwZSk6CisgICAgICAg
IChKU0M6OlBhcnNlcjo6cGFyc2VTb3VyY2VFbGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0V4cHJl
c3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnNldEVuZE9mU3RhdGVtZW50KToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKToKKyAgICAgICAgKiBw
YXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmg6CisgICAgICAgICogcGFyc2VyL1BhcnNlclRva2Vu
cy5oOgorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmFycm93RnVuY3Rpb25PZmZz
ZXQpOiBhZGRlZAorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmlzQXJyb3dGdW5j
dGlvbik6IGFkZGVkCisgICAgICAgIChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6YXJyb3dGdW5j
dGlvbkJvZHlUeXBlKTogYWRkZWQKKyAgICAgICAgKiBwYXJzZXIvU291cmNlQ29kZS5oOgorICAg
ICAgICAoSlNDOjpTb3VyY2VDb2RlOjpzdWJBcnJvd0V4cHJlc3Npb24pOgorICAgICAgICAqIHBh
cnNlci9TeW50YXhDaGVja2VyLmg6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNyZWF0
ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAgICAgKiBwYXJzZXIvU291cmNlUHJvdmlkZXJDYWNo
ZUl0ZW06CisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJh
bWV0ZXJzKToKKyAgICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0pOgorICAgICAg
ICAoSlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6ZW5kQXJyb3dGdW5jdGlvblRva2VuKToK
KyAgICAgICAgKiBydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oOiBhZGRlZCBjbGFzcyBmb3IgaGFu
ZGxlIGFycm93IGZ1bmN0aW9uIGNyZWF0aW9uIGFuZCBleGVjdXRpb24KKyAgICAgICAgKiBydW50
aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHA6CisgICAgICAgICogcnVudGltZS9KU0Z1bmN0aW9uLmg6
CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OkpTRnVuY3Rpb24pOiBhZGRlZCBvbmUgbW9yZSBj
b25zdHJ1Y3RvcgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaDoKKyAgICAg
ICAgKEpTQzo6SlNGdW5jdGlvbjo6SlNGdW5jdGlvbik6IGFkZGVkIGNvbnN0cnVjdG9yIGltcGxl
bWVudGF0aW9uCisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAg
IChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmpl
Y3Q6Om1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZSk6IGFkZGVkCisgICAgICAgIChKU0M6OkpTR2xv
YmFsT2JqZWN0OjphcnJvd0Z1bmN0aW9uU3RydWN0dXJlKToKKyAgICAgICAgKiB0ZXN0cy9zdHJl
c3MvanMvYXJyb3dmdW5jdGlvbi5qczoKKwogMjAxNS0wNC0wOCAgSm9zZXBoIFBlY29yYXJvICA8
cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBqc05vbnRyaXZpYWxTdHJpbmcgaW4g
bW9yZSBwbGFjZXMgaWYgdGhlIHN0cmluZyBpcyBndWFyYW50ZWVkIHRvIGJlIDIgb3IgbW9yZSBj
aGFyYWN0ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTRjODZkMTZkOWY0NjlhYTAyOWNjNzRiMjZmMzA1NWVi
YzRjNmYxYy4uMjhjZjhjMDMwMzQzZTBkMjQyOGUwZjg4YWIzNjk0OTY5MmYwOGFjZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTA0LTAxICBTa2FjaGtvdiBBbGV4YW5kciAgPGdz
a2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cg
ZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYIGZvciBhcnJvdyBmdW5jdGlvbgorCisgICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1LTA0LTA5ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFw
cGxlLmNvbT4KIAogICAgICAgICBUcnkgdG8gZml4IHRoZSBNYWMgYnVpbGQgYWZ0ZXIgcjE4MjU5
Ni4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZwppbmRleCA2NmNmNzIzM2UxMzVkOGYzMDgwNWEyNzQyNGZjNThlYWQx
YWMxMmUyLi5hOTE3YTA3Mzg4OGM4ZGM2OTk4MzgyNWZmZTkzZjNiYjJjNTkyNjUxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDQtMDEgIFNrYWNoa292IEFsZXhhbmRy
ICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBh
cnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE0MDg1NQorCisgICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVggZm9yIGFycm93IGZ1bmN0aW9uCisKKyAgICAgICAgICogQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTUtMDQtMDggIEJyZW50IEZ1bGdoYW0gIDxi
ZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgW01hY10gV2ViS2l0IGlzIG5vdCBob25vcmlu
ZyBPUyBwcmVmZXJlbmNlcyBmb3Igc2Vjb25kYXJ5IGNsaWNrIGJlaGF2aW9ycwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDc5MTk2Mjg0NzYyYjMwMDM0NDE3ZmE0ZjE0ZjFm
YjI4MzgxYzQ1ZTkuLjdiODkyMjNhYTkxZDc3YjdjNmI0NGM1ODBjMzM0ODZhYTNiYTBmNjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQ2Niw2ICs0NjYsNyBAQCBzZXQo
SmF2YVNjcmlwdENvcmVfUlVOVElNRV9TT1VSQ0VTCiAgICAgcnVudGltZS9KU0FycmF5QnVmZmVy
Vmlldy5jcHAKICAgICBydW50aW1lL0pTQXJyYXlJdGVyYXRvci5jcHAKICAgICBydW50aW1lL0pT
Qm91bmRGdW5jdGlvbi5jcHAKKyAgICBydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAKICAgICBy
dW50aW1lL0pTR2xvYmFsT2JqZWN0RGVidWdnYWJsZS5jcHAKICAgICBydW50aW1lL0pTQ0pTVmFs
dWUuY3BwCiAgICAgcnVudGltZS9KU0NhbGxlZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpp
bmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2OTcy
ZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CkBAIC00NSw2ICs0NSw3IEBAIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFU
SDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IEVOQUJM
RV9FUzZfQ0xBU1NfU1lOVEFYOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVO
QUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcg
PSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ1NQX05FWFQgPSA7CiBFTkFCTEVf
Q1NTX0FOSU1BVElPTlNfTEVWRUxfMiA9IEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yOwpA
QCAtMjE0LDQgKzIxNSw0IEBAIEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7CiAKIEVOQUJMRV9TQVRV
UkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1F
VElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NS
T0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVO
VCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChF
TkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
RVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9Y
X0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NT
X0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NT
U19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5B
QkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVf
Q1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9C
UkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVf
SEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxF
TUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19D
T05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VW
RU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERF
Tl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5B
QkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09N
UExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dF
U1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFC
TEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJM
RV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xT
X1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0Vf
Q1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVf
TkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMp
ICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJM
RV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5B
QkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVf
U1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVU
RUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAk
KEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5B
QkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkg
JChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dF
Ql9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5B
QkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9S
RUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRM
X0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FS
SVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVG
SU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FO
VkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FW
Rl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkp
ICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAk
KEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVS
SU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikg
JChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJ
TkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZ
T1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9S
RVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19M
RVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVf
Q1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJM
RV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVO
QUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVO
QUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFC
TEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5B
QkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9H
QU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNP
TkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lO
RElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQp
ICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRU
RVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVf
TUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwp
ICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRf
VVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQo
RU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJM
SUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElP
Tl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9J
TlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJF
Ul9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5U
SEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVO
QUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxF
UEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFC
TEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNI
X0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJT
RUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxF
X0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dF
QkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dF
Ql9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAk
KEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hT
TFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FU
VVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9E
RSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4
cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagppbmRleCA3NDMzMGU3MDNk
YWM0ZDM2MDBlYWIyN2EwYWQ4ZWI0YWYwMGUwYjMyLi42MjI4NzNkZDJmOTQ3MGE5MTMxOGFjY2Nk
NDcwOWRjZWFlNzI2MDhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oK
QEAgLTczNCw2ICs3MzQsNyBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxK
U0FycmF5QnVmZmVyUHJvdG90eXBlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XHJ1bnRpbWVcSlNBcnJheUJ1ZmZlclZpZXcuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5ccnVudGltZVxKU0JvdW5kRnVuY3Rpb24uY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5ccnVudGltZVxKU0Fycm93RnVuY3Rpb24uY3BwIiAvPgogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5ccnVudGltZVxKU0NKU1ZhbHVlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDYWxsZWUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5ccnVudGltZVxKU0NhdGNoU2NvcGUuY3BwIiAvPgpAQCAtMTUyNiw2ICsxNTI3LDcgQEAK
ICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJheUJ1ZmZlclZpZXdJbmxp
bmVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlJdGVy
YXRvci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0JvdW5kRnVu
Y3Rpb24uaCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJvd0Z1
bmN0aW9uLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0lubGlu
ZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZS5o
IiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NKU1ZhbHVlSW5saW5l
cy5oIiAvPgpAQCAtMTgwMCw0ICsxODAyLDQgQEAKICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRl
bnNpb25UYXJnZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcQnVp
bGRDdXN0b21pemF0aW9uc1xtYXNtLnRhcmdldHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+Ci08L1By
b2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCBiYTJkMTM2ZWI5NWI1YTlmZDM1NGFiMzBhOGYzNjkxYmY3
OGNlYjg2Li5lOWQ2ZjI0NjVlMzM4NTVkMzY4YjRkMjA0ZTBkNzY0NmM1NmU5ODlmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTA5Miw2ICsxMDkyLDggQEAKIAkJODZGM0VFQkYx
NjhDREU5MzAwNzdCOTJBIC8qIE9iamNSdW50aW1lRXh0cmFzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkYzRUVCNjE2ODU1QTVCMDA3N0I5MkEgLyog
T2JqY1J1bnRpbWVFeHRyYXMuaCAqLzsgfTsKIAkJODZGQTlFOTExNDJCQkIyRTAwMTc3M0I3IC8q
IEpTQm91bmRGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4NkZBOUU4RjE0MkJCQjJEMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNw
cCAqLzsgfTsKIAkJODZGQTlFOTIxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGQTlFOTAx
NDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICovOyB9OworCQk4QjBGNDI0QzFB
QkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBK
U0Fycm93RnVuY3Rpb24uY3BwICovOyB9OworCQk4QjBGNDI0QzFBQkQ2REUyMDAzOTE3RUEgLyog
SlNBcnJvd0Z1bmN0aW9uLmggaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggKi87
IH07CiAJCTkwMjEzRTNEMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkwMjEzRTNCMTIz
QTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmNwcCAqLzsgfTsKIAkJOTAyMTNFM0Ux
MjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBN
ZW1vcnlTdGF0aXN0aWNzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJOTMwNTJDMzQwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMDUyQzMyMEZC
NzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5jcHAgKi87IH07CkBAIC0yODI0LDYgKzI4MjYs
OCBAQAogCQk4NkY3NUVGRDE1MUMwNjJGMDA3QzlCQTMgLyogUmVnRXhwTWF0Y2hlc0FycmF5LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZ0V4cE1hdGNoZXNBcnJh
eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2RkE5RThGMTQyQkJCMkQwMDE3
NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0JvdW5kRnVuY3Rpb24uaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJOEIwRjQyNEExQUJENkQyRjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5j
dGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Fycm93RnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlv
bi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Fycm93RnVuY3Rp
b24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MDIxM0UzQjEyM0E0MEMyMDBE
NDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBNZW1vcnlTdGF0aXN0aWNzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJOTAyMTNFM0MxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVtb3J5U3RhdGlzdGljcy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk5MzA1MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2Vy
QXJlbmEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFyc2VyQXJl
bmEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDQzOCw2ICs0NDQyLDggQEAK
IAkJCQlBN0JEQUVDNTE3RjRFQTE0MDBGNjE0MEMgLyogSlNBcnJheUl0ZXJhdG9yLmggKi8sCiAJ
CQkJODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5jcHAgKi8sCiAJ
CQkJODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICovLAorCQkJ
CThCMEY0MjRBMUFCRDZEMkYwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uaCAqLywKKwkJCQk4
QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCAqLywKIAkJCQk2
NTdDRjQ1NjE5QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuY3BwICovLAogCQkJCTY1N0NGNDU3
MTlCRjY2NjIwMDRBQ0JGMiAvKiBKU0NhbGxlZS5oICovLAogCQkJCTBGRDk0OTdFMUE5N0RCOTYw
MEUyODk2NiAvKiBKU0NhdGNoU2NvcGUuY3BwICovLApAQCAtNzE2Niw2ICs3MTcyLDcgQEAKIAkJ
CQkwRkQ4QTMxQjE3RDUxRjIyMDBDQTJDNDAgLyogRlRMT1NSRW50cnkuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMEYyMzVCREMxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4aXQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMEYyMzVCREYxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4aXRDb21w
aWxlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4QjBGNDI0QzFBQkQ2REUyMDAzOTE3RUEgLyog
SlNBcnJvd0Z1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRUEwQTJBMTcwOTYyOTYw
MEJCNzIyQyAvKiBGVExPdXRwdXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY0ODUzMjkxODdE
RkRFQzAwODNCNjg3IC8qIEZUTFJlY292ZXJ5T3Bjb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTBGNkIxQ0MzMTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExSZWdpc3RlckF0T2Zmc2V0LmNwcCBpbiBT
b3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5
dGVjb2RlTGlzdC5qc29uIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2Rl
TGlzdC5qc29uCmluZGV4IDZiMjQzOTE1NmFiM2FmYWU2YjU1OGFiOTA2NmQyMjI1MTVkNTllNDUu
LjQzNjA3MDlkOGY3ZTQxODIxNWFiMmFmOTU5YmY2NDQ4YWYwMzgwMjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxpc3QuanNvbgorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24KQEAgLTk1LDYgKzk1
LDcgQEAKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX3N3aXRjaF9zdHJpbmciLCAibGVuZ3Ro
IiA6IDQgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX25ld19mdW5jIiwgImxlbmd0aCIg
OiA0IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfZnVuY19leHAiLCAibGVuZ3Ro
IiA6IDQgfSwKKyAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX25ld19hcnJvd19mdW5jX2V4cCIs
ICJsZW5ndGgiIDogNSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbCIsICJsZW5n
dGgiIDogOSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbF9ldmFsIiwgImxlbmd0
aCIgOiA5IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9jYWxsX3ZhcmFyZ3MiLCAibGVu
Z3RoIiA6IDkgfSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9C
eXRlY29kZVVzZURlZi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2Rl
VXNlRGVmLmgKaW5kZXggODVmMjkxNWM3ZThmNjAxYWQzZWMxNzhiZjY5ZTM1NDRmNzU0YzJjZi4u
MTdiNmJlZDgxZmUyNWI2MjMzMGJhYTNmZDAzMWM3MTZhYjg4ZjliZiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgKQEAgLTExNiw2ICsxMTYs
OSBAQCB2b2lkIGNvbXB1dGVVc2VzRm9yQnl0ZWNvZGVPZmZzZXQoCiAgICAgY2FzZSBvcF9nZXRf
cHJvcGVydHlfZW51bWVyYXRvcjoKICAgICBjYXNlIG9wX2dldF9lbnVtZXJhYmxlX2xlbmd0aDoK
ICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorI2VuZGlmCiAgICAgY2Fz
ZSBvcF90b19pbmRleF9zdHJpbmc6CiAgICAgY2FzZSBvcF9pbml0X2dsb2JhbF9jb25zdF9ub3A6
CiAgICAgY2FzZSBvcF9pbml0X2dsb2JhbF9jb25zdDoKQEAgLTMwOCw2ICszMTEsOSBAQCB2b2lk
IGNvbXB1dGVEZWZzRm9yQnl0ZWNvZGVPZmZzZXQoQ29kZUJsb2NrKiBjb2RlQmxvY2ssIHVuc2ln
bmVkIGJ5dGVjb2RlT2Zmc2V0LAogICAgIGNhc2Ugb3BfbmV3X3JlZ2V4cDoKICAgICBjYXNlIG9w
X25ld19mdW5jOgogICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOgorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6CisjZW5k
aWYKICAgICBjYXNlIG9wX2NhbGxfdmFyYXJnczoKICAgICBjYXNlIG9wX2NvbnN0cnVjdF92YXJh
cmdzOgogICAgIGNhc2Ugb3BfZ2V0X2Zyb21fc2NvcGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCmluZGV4IDA2ZTQ5ZmVkNjVkYWU4NzcwZDdjZGM5ODNi
NzY4ZDRhZGVlOWM4ZjEuLjkxNDU1ZGMyMzhkNTYyM2MyZjQxODYzMzllODQ4ZTljZmYzYWFjNDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCkBAIC0x
Mjk5LDYgKzEyOTksMTcgQEAgdm9pZCBDb2RlQmxvY2s6OmR1bXBCeXRlY29kZSgKICAgICAgICAg
ICAgIG91dC5wcmludGYoIiVzLCAlcywgZiVkIiwgcmVnaXN0ZXJOYW1lKHIwKS5kYXRhKCksIHJl
Z2lzdGVyTmFtZShyMSkuZGF0YSgpLCBmMCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGNhc2Ugb3Bf
bmV3X2Fycm93X2Z1bmNfZXhwOiB7CisgICAgICAgICAgICBpbnQgcjAgPSAoKytpdCktPnUub3Bl
cmFuZDsKKyAgICAgICAgICAgIGludCByMSA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAg
ICAgaW50IGYwID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBpbnQgcjIgPSAoKytp
dCktPnUub3BlcmFuZDsKKyAgICAgICAgICAgIHByaW50TG9jYXRpb25BbmRPcChvdXQsIGV4ZWMs
IGxvY2F0aW9uLCBpdCwgIm9wX25ld19hcnJvd19mdW5jX2V4cCIpOworICAgICAgICAgICAgb3V0
LnByaW50ZigiJXMsICVzLCBmJWQsICVzIiwgcmVnaXN0ZXJOYW1lKHIwKS5kYXRhKCksIHJlZ2lz
dGVyTmFtZShyMSkuZGF0YSgpLCBmMCwgcmVnaXN0ZXJOYW1lKHIyKS5kYXRhKCkpOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBjYXNlIG9wX25ld19mdW5j
X2V4cDogewogICAgICAgICAgICAgaW50IHIwID0gKCsraXQpLT51Lm9wZXJhbmQ7CiAgICAgICAg
ICAgICBpbnQgcjEgPSAoKytpdCktPnUub3BlcmFuZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKaW5kZXggNTkx
OTk4YTI5ZWQyNmNiMGU1MWVmMzA1MDg2NzIxM2RjNDgzM2ZiNi4uNzQwY2EzMjVjNzkxNTkzNzEw
YjI0ZDZhMTRjYzBiZTRlMTQ1YTFlZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKQEAgLTE3NTQsNiArMTc1
NCwyMiBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Z1bmN0aW9uRXhw
cmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVuY0V4cAogICAgIGluc3RydWN0aW9ucygpLmFwcGVu
ZChpbmRleCk7CiAgICAgcmV0dXJuIHIwOwogfQorICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCitSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Fy
cm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIHIwLCBGdW5jRXhwck5vZGUqIG4pCit7
CisgICAgZW1pdFREWkNoZWNrKHRoaXNSZWdpc3RlcigpKTsKKyAgICBGdW5jdGlvbkJvZHlOb2Rl
KiBmdW5jdGlvbiA9IG4tPmJvZHkoKTsKKyAgICB1bnNpZ25lZCBpbmRleCA9IG1fY29kZUJsb2Nr
LT5hZGRGdW5jdGlvbkV4cHIobWFrZUZ1bmN0aW9uKGZ1bmN0aW9uKSk7CisgICAgCisgICAgZW1p
dE9wY29kZShvcF9uZXdfYXJyb3dfZnVuY19leHApOworICAgIGluc3RydWN0aW9ucygpLmFwcGVu
ZChyMC0+aW5kZXgoKSk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHNjb3BlUmVnaXN0ZXIo
KS0+aW5kZXgoKSk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKGluZGV4KTsKKyAgICBpbnN0
cnVjdGlvbnMoKS5hcHBlbmQodGhpc1JlZ2lzdGVyKCktPmluZGV4KCkpOworICAgIHJldHVybiBy
MDsKK30KKyNlbmRpZgogCiBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Rl
ZmF1bHRDb25zdHJ1Y3RvcihSZWdpc3RlcklEKiBkc3QsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1
Y3RvcktpbmQsIGNvbnN0IElkZW50aWZpZXImIG5hbWUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggMmU1
OTAzOWQzYTQ4NGEzNDcyODE0NDBlZWY5YzFiODE5ZjcyNjVkYi4uMTc5MzVkNDhlZjNiZjJiMmQx
NDFkZmRjMWFjOTM3Njc5MzE0NDJhNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaApAQCAtNDU2LDYgKzQ1NiwxMCBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0Z1bmN0aW9uSW50
ZXJuYWwoUmVnaXN0ZXJJRCogZHN0LCB1bnNpZ25lZCBpbmRleCk7CiAgICAgICAgIFJlZ2lzdGVy
SUQqIGVtaXROZXdGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogZHN0LCBGdW5jRXhwck5v
ZGUqIGZ1bmMpOwogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3RGVmYXVsdENvbnN0cnVjdG9y
KFJlZ2lzdGVySUQqIGRzdCwgQ29uc3RydWN0b3JLaW5kLCBjb25zdCBJZGVudGlmaWVyJiBuYW1l
KTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBSZWdpc3Rl
cklEKiBlbWl0TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCosIEZ1bmNFeHBy
Tm9kZSopOworICAgICAgICBSZWdpc3RlcklEKiBlbWl0VGhpc05vZGVCeXRlY29kZShSZWdpc3Rl
cklEKiwgSlNUZXh0UG9zaXRpb24pOworI2VuZGlmCiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRO
ZXdSZWdFeHAoUmVnaXN0ZXJJRCogZHN0LCBSZWdFeHAqKTsKIAogICAgICAgICBSZWdpc3RlcklE
KiBlbWl0TW92ZUVtcHR5VmFsdWUoUmVnaXN0ZXJJRCogZHN0KTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAppbmRleCAxMTQzMmFm
MjNiYmI2MWU4MTU0MjUyM2I3YzExYWE3YmRjYjVmM2JmLi42MWFlZjE0MDhjNDM2ZDc0YWIwOGY3
YTJhMDY4Y2MyYjFmMDhjYzUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCkBAIC0yODMxLDYgKzI4MzEsMTQgQEAgUmVnaXN0
ZXJJRCogRnVuY0V4cHJOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVy
YXRvciwgUmVnaXN0ZXJJRCoKICAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXROZXdGdW5jdGlvbkV4
cHJlc3Npb24oZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0KSwgdGhpcyk7CiB9CiAKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAgICAKKy8vIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLSBBcnJvd0Z1bmNFeHByTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KK1JlZ2lzdGVySUQqIEFycm93RnVuY0V4cHJOb2RlOjplbWl0Qnl0ZWNvZGUo
Qnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0KQoreworICAgIHJl
dHVybiBnZW5lcmF0b3IuZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKGdlbmVyYXRvci5m
aW5hbERlc3RpbmF0aW9uKGRzdCksIHRoaXMpOworfQorI2VuZGlmCisgICAgCiAjaWYgRU5BQkxF
KEVTNl9DTEFTU19TWU5UQVgpCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ2xh
c3NEZWNsTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAppbmRleCA3OTQ1NjZm
Y2FkZjNjNDQ3MGJlMjhmMjFkMDQyZmVmODBiNmI5OGMxLi5kZWFmYjdjM2NhN2IzZTRiY2RlNTI5
YmVjODE1ODY2Y2EzYzNjMTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0J5dGVDb2RlUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0J5dGVDb2RlUGFyc2VyLmNwcApAQCAtMzY3NSw2ICszNjc1LDE1IEBAIGJvb2wgQnl0ZUNvZGVQ
YXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQgbGltaXQpCiAgICAgICAgICAgICBORVhUX09QQ09E
RShvcF9uZXdfZnVuY19leHApOwogICAgICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgICAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDogeworICAg
ICAgICAgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBleHByID0gbV9pbmxpbmVTdGFja1RvcC0+bV9w
cm9maWxlZEJsb2NrLT5mdW5jdGlvbkV4cHIoY3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFu
ZCk7CisgICAgICAgICAgICBGcm96ZW5WYWx1ZSogZnJvemVuID0gbV9ncmFwaC5mcmVlemVTdHJv
bmcoZXhwcik7CisgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVj
dGlvblsxXS51Lm9wZXJhbmQpLAorICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgoTmV3RnVuY3Rp
b24sIE9wSW5mbyhmcm96ZW4pLCBnZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlv
blsyXS51Lm9wZXJhbmQpKSkpOworICAgICAgICAgICAgTkVYVF9PUENPREUob3BfbmV3X2Fycm93
X2Z1bmNfZXhwKTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIGNhc2Ugb3BfdHlwZW9mOiB7
CiAgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51
Lm9wZXJhbmQpLAogICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgoVHlwZU9mLCBnZXQoVmlydHVh
bFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpKSkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCmluZGV4IDhlZjRkY2YxNTY4
YmQ1ZWRhNGI4OTdlNzY4NGE4Y2JiOTFiZjZlMDguLjdmNDVhODMxZWE2ZTYyNzNiYWNkMmUzZjgz
MzZkZGM1NjJjOGNjOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Q2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFi
aWxpdGllcy5jcHAKQEAgLTIwOCw2ICsyMDgsOSBAQCBDYXBhYmlsaXR5TGV2ZWwgY2FwYWJpbGl0
eUxldmVsKE9wY29kZUlEIG9wY29kZUlELCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgSW5zdHJ1Ywog
ICAgIGNhc2Ugb3BfbmV3X2Z1bmM6CiAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CiAgICAgY2Fz
ZSBvcF9jcmVhdGVfbGV4aWNhbF9lbnZpcm9ubWVudDoKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorI2VuZGlmCiAg
ICAgICAgIHJldHVybiBDYW5Db21waWxlQW5kSW5saW5lOwogCiAgICAgY2FzZSBvcF9wdXRfdG9f
c2NvcGU6IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9J
bnRlcnByZXRlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJw
cmV0ZXIuY3BwCmluZGV4IDMwOTJmY2I0MDQzMjQzNWQ1YzhhNjQ2YzYzODE5NDQyMTczNGMyYjAu
Ljc5YzliNDZmNzdiNWZhNzgyNzM2MTljZTY1MmY4ZTI3YTcwNjUxYTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcApAQCAtNDQsNiAr
NDQsNyBAQAogI2luY2x1ZGUgIkV4Y2VwdGlvbkhlbHBlcnMuaCIKICNpbmNsdWRlICJHZXR0ZXJT
ZXR0ZXIuaCIKICNpbmNsdWRlICJKU0FycmF5LmgiCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9u
LmgiCiAjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5o
IgogI2luY2x1ZGUgIkpTTGV4aWNhbEVudmlyb25tZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VC5jcHAKaW5kZXggNDJhODJkNDM5NDYxNjJmOTVmYTQ3NDY3NTY3MTM5ZDRhYWYyMzg2Yi4uODNk
NTA4Yjg3NjU5ZTNlZmY4YmMxODdlMDZkYWQ3MDExZjQ4MmVkMCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklULmNwcApAQCAtMjUzLDYgKzI1Myw3IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZU1h
aW5QYXNzKCkKICAgICAgICAgREVGSU5FX09QKG9wX25ld19hcnJheV9idWZmZXIpCiAgICAgICAg
IERFRklORV9PUChvcF9uZXdfZnVuYykKICAgICAgICAgREVGSU5FX09QKG9wX25ld19mdW5jX2V4
cCkKKyAgICAgICAgREVGSU5FX09QKG9wX25ld19hcnJvd19mdW5jX2V4cCkgCiAgICAgICAgIERF
RklORV9PUChvcF9uZXdfb2JqZWN0KQogICAgICAgICBERUZJTkVfT1Aob3BfbmV3X3JlZ2V4cCkK
ICAgICAgICAgREVGSU5FX09QKG9wX25vdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCmluZGV4IGVl
NDg1NWRjMmU3OGI1NWFjYzQ1OTllYmRiOTlhMGQ4ZTA4YmU3Y2MuLmZhZTJmMjY5MTc3MzVhMmJl
NDMxNGI0ZjE2ZThjMWI4MDRkODk1YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklULmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaApAQCAtNTIy
LDYgKzUyMiw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2Fy
cmF5X2J1ZmZlcihJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2Z1bmMo
SW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX25ld19mdW5jX2V4cChJbnN0cnVj
dGlvbiopOworICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwKEluc3RydWN0
aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfb2JqZWN0KEluc3RydWN0aW9uKik7CiAg
ICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfcmVnZXhwKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZv
aWQgZW1pdF9vcF9ub3QoSW5zdHJ1Y3Rpb24qKTsKQEAgLTcwNSw2ICs3MDYsNyBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJ
VE9wZXJhdGlvbl9FSkosIGludCwgR1BSUmVnLCBHUFJSZWcpOwogICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2MsIEdQUlJlZyk7CiAg
ICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25f
RUpzY0MsIGludCwgR1BSUmVnLCBKU0NlbGwqKTsKKyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNh
bGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0osIGludCwgR1BSUmVnLCBKU0Nl
bGwqLCBHUFJSZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9u
KENfSklUT3BlcmF0aW9uX0VKc2NaLCBHUFJSZWcsIGludDMyX3QpOwogICAgICAgICBNYWNyb0Fz
c2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2NaLCBpbnQsIEdQ
UlJlZywgaW50MzJfdCk7CiAjaWYgVVNFKEpTVkFMVUU2NCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRJbmxpbmVzLmgKaW5kZXggOWVlMjRkMDkyMjhhOTg4MmVhNzY5NjI5ZDFhODdiNmMzNGE4
NjMzNC4uYTBlNDBjNWM2MWZlNjNlOTg2M2VkMjIzZWRmNWQ0NTFmMzE4YTc3NCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKQEAgLTI3MSw2ICsyNzEsMTIgQEAgQUxXQVlT
X0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVy
YXRpb25fRUpzY0Mgb3BlcmEKICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVj
a1NldEpTVmFsdWVSZXN1bHQob3BlcmF0aW9uLCBkc3QpOwogfQogCitBTFdBWVNfSU5MSU5FIE1h
Y3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNj
Q0ogb3BlcmF0aW9uLCBpbnQgZHN0LCBHUFJSZWcgYXJnMSwgSlNDZWxsKiBjZWxsLCBHUFJSZWcg
YXJnMikKK3sKKyAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgVHJ1c3RlZElt
bVB0cihjZWxsKSwgYXJnMik7CisgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hl
Y2tTZXRKU1ZhbHVlUmVzdWx0KG9wZXJhdGlvbiwgZHN0KTsKK30KKyAgICAKIEFMV0FZU19JTkxJ
TkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9u
X0VQIG9wZXJhdGlvbiwgaW50IGRzdCwgdm9pZCogcG9pbnRlcikKIHsKICAgICBzZXR1cEFyZ3Vt
ZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihwb2ludGVyKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAppbmRleCBkM2Q1ODBlOWUyNjAwODUzYjY2NDllMjg1
OTE4Zjg1MzhiZTY5NDRjLi42Y2EwMDMwZjhjNGEyMTIyMWFhOTI4M2NjMjc2MTMwZDc5ZTc0NDQ1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKQEAgLTk3Miw2ICs5
NzIsMjkgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2Z1bmNfZXhwKEluc3RydWN0aW9uKiBjdXJy
ZW50SW5zdHJ1Y3Rpb24pCiAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25OZXdGdW5jdGlvbiwg
ZHN0LCByZWdUMCwgZnVuY0V4cHIpOwogICAgIGRvbmUubGluayh0aGlzKTsKIH0KKyAgICAKK3Zv
aWQgSklUOjplbWl0X29wX25ld19hcnJvd19mdW5jX2V4cChJbnN0cnVjdGlvbiogY3VycmVudElu
c3RydWN0aW9uKQoreworICAgIEp1bXAgbm90VW5kZWZpbmVkU2NvcGU7CisgICAgaW50IGRzdCA9
IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAg
ICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQs
IHJlZ1QwKTsKKyAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvbls0
XS51Lm9wZXJhbmQsIHJlZ1QxKTsKKyAgICBub3RVbmRlZmluZWRTY29wZSA9IGJyYW5jaDY0KE5v
dEVxdWFsLCByZWdUMCwgVHJ1c3RlZEltbTY0KEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgp
KSkpOworICAgIHN0b3JlNjQoVHJ1c3RlZEltbTY0KEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5l
ZCgpKSksIEFkZHJlc3MoY2FsbEZyYW1lUmVnaXN0ZXIsIHNpemVvZihSZWdpc3RlcikgKiBkc3Qp
KTsKKyNlbHNlCisgICAgZW1pdExvYWRQYXlsb2FkKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9w
ZXJhbmQsIHJlZ1QwKTsKKyAgICBlbWl0TG9hZFBheWxvYWQoY3VycmVudEluc3RydWN0aW9uWzRd
LnUub3BlcmFuZCwgcmVnVDEpOworICAgIG5vdFVuZGVmaW5lZFNjb3BlID0gYnJhbmNoMzIoTm90
RXF1YWwsIHRhZ0ZvcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSwgVHJ1c3RlZElt
bTMyKEpTVmFsdWU6OlVuZGVmaW5lZFRhZykpOworICAgIGVtaXRTdG9yZShkc3QsIGpzVW5kZWZp
bmVkKCkpOworI2VuZGlmCisgICAgSnVtcCBkb25lID0ganVtcCgpOworICAgIG5vdFVuZGVmaW5l
ZFNjb3BlLmxpbmsodGhpcyk7CisgICAgCisgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlv
biA9IG1fY29kZUJsb2NrLT5mdW5jdGlvbkV4cHIoY3VycmVudEluc3RydWN0aW9uWzNdLnUub3Bl
cmFuZCk7CisgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uLCBkc3Qs
IHJlZ1QwLCBmdW5jdGlvbiwgcmVnVDEpOworICAgIGRvbmUubGluayh0aGlzKTsKK30KIAogdm9p
ZCBKSVQ6OmVtaXRfb3BfbmV3X2FycmF5KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24p
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAppbmRleCA1
ZTkwZDQ4NmM1M2RiMmZiODdlMDg1Y2M3ODVkY2E0YzJmNmQ0YWQ3Li43MDA1ZTUzZmM1Y2YzZmEx
NDI4ZmEzMzc0OTg0OTJhOWQzYmI2YWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUT3BlcmF0aW9ucy5jcHAKQEAgLTQyLDYgKzQyLDggQEAKICNpbmNsdWRlICJIb3N0Q2FsbFJl
dHVyblZhbHVlLmgiCiAjaW5jbHVkZSAiSklULmgiCiAjaW5jbHVkZSAiSklUVG9ERkdEZWZlcnJl
ZENvbXBpbGF0aW9uQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNp
bmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5j
bHVkZSAiSlNDYXRjaFNjb3BlLmgiCiAjaW5jbHVkZSAiSlNGdW5jdGlvbk5hbWVTY29wZS5oIgpA
QCAtOTUyLDYgKzk1NCwyMyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
bk5ld0Z1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNTY29wZSogc2NvcAogICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBzdGF0aWNfY2FzdDxGdW5jdGlv
bkV4ZWN1dGFibGUqPihmdW5jdGlvbkV4ZWN1dGFibGUpLCBzY29wZSkpOwogfQogCitFbmNvZGVk
SlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24oRXhlY1N0YXRl
KiBleGVjLCBKU1Njb3BlKiBzY29wZSwgSlNDZWxsKiBmdW5jdGlvbkV4ZWN1dGFibGUsIEVuY29k
ZWRKU1ZhbHVlIHRoaXNWYWx1ZSkKK3sKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgIEFTU0VSVChmdW5jdGlvbkV4ZWN1dGFibGUtPmluaGVyaXRzKEZ1bmN0aW9uRXhl
Y3V0YWJsZTo6aW5mbygpKSk7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBOYXRpdmVD
YWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CisgICAgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCA9IGV4ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKKyAgICBKU0Z1bmN0
aW9uKiBmdW5jID0gSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUodm0sIHNjb3BlLCBzdGF0aWNfY2Fz
dDxGdW5jdGlvbkV4ZWN1dGFibGUqPihmdW5jdGlvbkV4ZWN1dGFibGUpLCBnbG9iYWxPYmplY3Qp
OworICAgIAorICAgIEpTQXJyYXkqIGJvdW5kQXJncyA9IEpTQXJyYXk6OnRyeUNyZWF0ZVVuaW5p
dGlhbGl6ZWQodm0sIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5cGVE
dXJpbmdBbGxvY2F0aW9uKEFycmF5V2l0aFVuZGVjaWRlZCksIDApOworICAgIAorICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoSlNCb3VuZEZ1bmN0aW9uOjpjcmVhdGUodm0sIGdsb2JhbE9iamVj
dCwgZnVuYywgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSksIGJvdW5kQXJncywgMCwgIiIpKTsK
KyNlbHNlCisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyNlbmRp
ZgorfQorICAgIAogSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVj
U3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogewogICAgIFZNKiB2bSA9ICZleGVj
LT52bSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRp
b25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaAppbmRleCA0
ZGVjZWY0ZWI4YjQ4YmI5MzdkNTRkMGI2MDRiOWI3NzY3YTRlYTYxLi4yMzYxNmVlMWRlZTMyZmZk
ZGRhZTUxODk2MDY5OTcwOTI2NmViY2VkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVE9wZXJhdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VE9wZXJhdGlvbnMuaApAQCAtMTE2LDYgKzExNiw3IEBAIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUg
SklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQUCkoRXhlY1N0YXRlKiwgdm9pZCosIHZv
CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9F
UFMpKEV4ZWNTdGF0ZSosIHZvaWQqLCBzaXplX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBK
SVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVBjKShFeGVjU3RhdGUqLCBJbnN0cnVjdGlv
biopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRp
b25fRUpzY0MpKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKTsKK3R5cGVkZWYgRW5jb2Rl
ZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VKc2NDSikoRXhlY1N0YXRl
KiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlKTsKIHR5cGVkZWYgRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTUykoRXhlY1N0YXRlKiwgc2l6
ZV90LCBzaXplX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9K
SVRPcGVyYXRpb25fRVNzaUNJKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEpTQ2Vs
bCosIFN0cmluZ0ltcGwqKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAo
KkpfSklUT3BlcmF0aW9uX0VTc2lKSSkoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBF
bmNvZGVkSlNWYWx1ZSwgU3RyaW5nSW1wbCopOwpAQCAtMjc4LDYgKzI3OSw3IEBAIEVuY29kZWRK
U1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXlXaXRoUHJvZmlsZShFeGVjU3Rh
dGUqLCBBcnJheUFsbG9jCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5l
d0FycmF5QnVmZmVyV2l0aFByb2ZpbGUoRXhlY1N0YXRlKiwgQXJyYXlBbGxvY2F0aW9uUHJvZmls
ZSosIGNvbnN0IEpTVmFsdWUqIHZhbHVlcywgaW50MzJfdCBzaXplKSBXVEZfSU5URVJOQUw7CiBF
bmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5V2l0aFNpemVBbmRQ
cm9maWxlKEV4ZWNTdGF0ZSosIEFycmF5QWxsb2NhdGlvblByb2ZpbGUqLCBFbmNvZGVkSlNWYWx1
ZSBzaXplKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbk5ld0Z1bmN0aW9uKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKSBXVEZfSU5URVJO
QUw7CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rp
b24oRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlKSBXVEZfSU5U
RVJOQUw7CiBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3T2JqZWN0KEV4ZWNTdGF0
ZSosIFN0cnVjdHVyZSopIFdURl9JTlRFUk5BTDsKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uTmV3UmVnZXhwKEV4ZWNTdGF0ZSosIHZvaWQqKSBXVEZfSU5URVJOQUw7CiB2
b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFuZGxlV2F0Y2hkb2dUaW1lcihFeGVjU3RhdGUq
KSBXVEZfSU5URVJOQUw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TExJbnRTbG93UGF0aHMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xv
d1BhdGhzLmNwcAppbmRleCAyN2I5ODY5OGZjYWRlOWI5N2JkMjdlNzMzNjM4MGFkZjNiNTczYjM5
Li4xYzYzMDY0M2NhYzdkNmNiNjVjMGViNjhiZDAyMWJhMDAzMGIwODNjIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKQEAgLTM4LDYgKzM4LDgg
QEAKICNpbmNsdWRlICJJbnRlcnByZXRlci5oIgogI2luY2x1ZGUgIkpJVC5oIgogI2luY2x1ZGUg
IkpJVEV4Y2VwdGlvbnMuaCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNpbmNsdWRl
ICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgog
I2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCkBAIC0xNzEs
NiArMTczLDE1IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgTExJbnQgewogICAgICAgICBM
TElOVF9SRVRVUk5fVFdPKHBjLCBfX3JjZl9leGVjKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAogICAgIH0gd2hpbGUgKGZhbHNlKQogCisgICAgCisjZGVmaW5lIExMSU5UX0NBTENf
UFJPUEVSVFlfRk9SX0ZVTkNfRVhQUigpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICBMTElOVF9CRUdJTigpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIENvZGVCbG9jayogY29kZUJsb2Nr
ID0gZXhlYy0+Y29kZUJsb2NrKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgSlNTY29wZSogc2NvcGUgPSBleGVjLT51bmNoZWNrZWRSKHBjWzJdLnUub3BlcmFuZCku
UmVnaXN0ZXI6OnNjb3BlKCk7ICAgICAgIFwKKyAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1
dGFibGUgPSBjb2RlQmxvY2stPmZ1bmN0aW9uRXhwcihwY1szXS51Lm9wZXJhbmQpOyAgXAorICAg
IAorZW51bSBGdW5jdGlvbkV4cHJlc3Npb25UeXBlIHsgQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25U
eXBlLCBDb21tb25GdW5jdGlvbkV4cHJlc3Npb25UeXBlfTsKKyAgICAKIGV4dGVybiAiQyIgU2xv
d1BhdGhSZXR1cm5UeXBlIGxsaW50X3RyYWNlX29wZXJhbmQoRXhlY1N0YXRlKiBleGVjLCBJbnN0
cnVjdGlvbiogcGMsIGludCBmcm9tV2hlcmUsIGludCBvcGVyYW5kKQogewogICAgIExMSU5UX0JF
R0lOKCk7CkBAIC0xMDAzLDE2ICsxMDE0LDM1IEBAIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3df
cGF0aF9uZXdfZnVuYykKICNlbmRpZgogICAgIExMSU5UX1JFVFVSTihKU0Z1bmN0aW9uOjpjcmVh
dGUodm0sIGNvZGVCbG9jay0+ZnVuY3Rpb25EZWNsKHBjWzNdLnUub3BlcmFuZCksIHNjb3BlKSk7
CiB9Ci0KKyAgICAKIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuY19leHAp
CiB7Ci0gICAgTExJTlRfQkVHSU4oKTsKLSAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMt
PmNvZGVCbG9jaygpOwotICAgIEpTU2NvcGUqIHNjb3BlID0gZXhlYy0+dW5jaGVja2VkUihwY1sy
XS51Lm9wZXJhbmQpLlJlZ2lzdGVyOjpzY29wZSgpOwotICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSog
ZnVuY3Rpb24gPSBjb2RlQmxvY2stPmZ1bmN0aW9uRXhwcihwY1szXS51Lm9wZXJhbmQpOwotICAg
IEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGZ1bmN0aW9uLCBzY29w
ZSk7CisgICAgTExJTlRfQ0FMQ19QUk9QRVJUWV9GT1JfRlVOQ19FWFBSKCk7CisKKyAgICBKU0Z1
bmN0aW9uKiBmdW5jID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBleGVjdXRhYmxlLCBzY29wZSk7
CisgICAgTExJTlRfUkVUVVJOKGZ1bmMpOworfQorCisKK0xMSU5UX1NMT1dfUEFUSF9ERUNMKHNs
b3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApCit7CisgICAgTExJTlRfQ0FMQ19QUk9QRVJUWV9G
T1JfRlVOQ19FWFBSKCk7CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gTExJTlRfT1BfQyg0KS5qc1ZhbHVlKCk7CisgICAgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGV4ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3Qo
KTsKICAgICAKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUo
dm0sIHNjb3BlLCBleGVjdXRhYmxlLCBnbG9iYWxPYmplY3QpOworICAgIAorICAgIEpTQXJyYXkq
IGJvdW5kQXJncyA9IEpTQXJyYXk6OnRyeUNyZWF0ZVVuaW5pdGlhbGl6ZWQodm0sIGdsb2JhbE9i
amVjdC0+YXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5cGVEdXJpbmdBbGxvY2F0aW9uKEFycmF5
V2l0aFVuZGVjaWRlZCksIDApOworICAgIAorICAgIGNvbnN0IFN0cmluZyBmdW5jV2l0aG91dE5h
bWUgPSAiIjsKKyAgICAKKyAgICBMTElOVF9SRVRVUk4oSlNCb3VuZEZ1bmN0aW9uOjpjcmVhdGUo
dm0sIGdsb2JhbE9iamVjdCwgZnVuYywgdGhpc1ZhbHVlLCBib3VuZEFyZ3MsIDAsIGZ1bmNXaXRo
b3V0TmFtZSkpOworI2Vsc2UKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNGdW5jdGlvbjo6Y3Jl
YXRlKHZtLCBleGVjdXRhYmxlLCBzY29wZSk7CiAgICAgTExJTlRfUkVUVVJOKGZ1bmMpOworI2Vu
ZGlmCiB9CiAKIHN0YXRpYyBTbG93UGF0aFJldHVyblR5cGUgaGFuZGxlSG9zdENhbGwoRXhlY1N0
YXRlKiBleGVjQ2FsbGVlLCBJbnN0cnVjdGlvbiogcGMsIEpTVmFsdWUgY2FsbGVlLCBDb2RlU3Bl
Y2lhbGl6YXRpb25LaW5kIGtpbmQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTExJbnRTbG93UGF0aHMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTElu
dFNsb3dQYXRocy5oCmluZGV4IDRiZjdkZWIwZmEwYjZjNjQzOGUzNmY5NjMyMGUyZjY2OTczOWFm
NjQuLmM3ZmFiOTY5MWMxOGI5Mzk1NmQwZWEyOWYzMzk1NjExOGM1ZTcxZWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCkBAIC05Niw2ICs5Niw3IEBA
IExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfc3dpdGNoX2NoYXIpOwogTExJ
TlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9zd2l0Y2hfc3RyaW5nKTsKIExMSU5U
X1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfbmV3X2Z1bmMpOwogTExJTlRfU0xPV19Q
QVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuY19leHApOworTExJTlRfU0xPV19QQVRI
X0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApOwogTExJTlRfU0xPV19Q
QVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9jYWxsKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5f
REVDTChzbG93X3BhdGhfY29uc3RydWN0KTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChz
bG93X3BhdGhfc2l6ZV9mcmFtZV9mb3JfdmFyYXJncyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20gYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KaW5kZXggZmRhOTFlZDU5OTBj
YjZlNGYyY2I3OGFhNmE0YjJkOGMyYzBjNDcyYS4uODIyNzEzNDk4MmRiNzU4MWRjOGEyMjVjZDQy
MzI4MjAwOTJmYjczZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbQpAQCAtMTE3MSw2ICsxMTcxLDEwIEBAIF9sbGludF9vcF9u
ZXdfZnVuY19leHA6CiAgICAgY2FsbFNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfbmV3X2Z1bmNf
ZXhwKQogICAgIGRpc3BhdGNoKDQpCiAKK19sbGludF9vcF9uZXdfYXJyb3dfZnVuY19leHA6Cisg
ICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX25l
d19hcnJvd19mdW5jX2V4cCkKKyAgICBkaXNwYXRjaCg1KQogCiBfbGxpbnRfb3BfY2FsbDoKICAg
ICB0cmFjZUV4ZWN1dGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL0FTVEJ1aWxkZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRl
ci5oCmluZGV4IGI4ZmU0Yjg0ODVhMDk3Njg4ZjVjNjMwYmQ4YzNjOTY3NjRmYzQ2NDkuLmYyZmEz
YmQ5YzE1ZjRlNDIyZWVjNmE3OWQ2NWYxZDcwODZjNjJjNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCkBAIC0zMTMsNiArMzEzLDE5IEBAIHB1YmxpYzoKICAg
ICAgICAgICAgIGluU3RyaWN0Q29udGV4dCwgY29uc3RydWN0b3JLaW5kKTsKICAgICB9CiAKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEV4cHJlc3Npb25Ob2RlKiBj
cmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBj
b25zdCBQYXJzZXJGdW5jdGlvbkluZm88QVNUQnVpbGRlcj4mIGluZm8pCisgICAgeworICAgICAg
ICBTb3VyY2VDb2RlIHNvdXJjZSA9IGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0
aW9uQm9keUV4cHJlc3Npb24KKyAgICAgICAgPyBtX3NvdXJjZUNvZGUtPnN1YkFycm93RXhwcmVz
c2lvbihpbmZvLmFycm93RnVuY3Rpb25PZmZzZXQsIGluZm8uY2xvc2VCcmFjZU9mZnNldCwgaW5m
by5ib2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlTdGFydENvbHVtbikKKyAgICAgICAgOiBtX3NvdXJj
ZUNvZGUtPnN1YkV4cHJlc3Npb24oaW5mby5vcGVuQnJhY2VPZmZzZXQsIGluZm8uY2xvc2VCcmFj
ZU9mZnNldCwgaW5mby5ib2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlTdGFydENvbHVtbik7CisKKyAg
ICAgICAgQXJyb3dGdW5jRXhwck5vZGUqIHJlc3VsdCA9IG5ldyAobV9wYXJzZXJBcmVuYSkgQXJy
b3dGdW5jRXhwck5vZGUobG9jYXRpb24sICppbmZvLm5hbWUsIGluZm8uYm9keSwgc291cmNlLCBp
bmZvLnBhcmFtZXRlcnMpOworICAgICAgICBpbmZvLmJvZHktPnNldExvYyhpbmZvLmJvZHlTdGFy
dExpbmUsIGluZm8uYm9keUVuZExpbmUsIGxvY2F0aW9uLnN0YXJ0T2Zmc2V0LCBsb2NhdGlvbi5s
aW5lU3RhcnRPZmZzZXQpOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKyNlbmRpZgor
CiAgICAgTkVWRVJfSU5MSU5FIFByb3BlcnR5Tm9kZSogY3JlYXRlR2V0dGVyT3JTZXR0ZXJQcm9w
ZXJ0eShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBQcm9wZXJ0eU5vZGU6OlR5cGUg
dHlwZSwgYm9vbCwKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogbmFtZSwgY29uc3QgUGFyc2Vy
RnVuY3Rpb25JbmZvPEFTVEJ1aWxkZXI+JiBpbmZvLCBTdXBlckJpbmRpbmcgc3VwZXJCaW5kaW5n
KQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKaW5kZXggN2RlMTQy
MjBiYmRhNzI3MzhiNTczYTRiOTc4OGNlMGIzMmNjN2NlMy4uNTQwZjlmZmI3YmI1MTgyOWQ2N2Rl
ZWRlYzVlNmE4ZWQ1MWNjNDQxNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9MZXhlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5j
cHAKQEAgLTE0MzAsNiArMTQzMCwxOCBAQCBib29sIExleGVyPFQ+OjpuZXh0VG9rZW5Jc0NvbG9u
KCkKICAgICByZXR1cm4gY29kZSA8IG1fY29kZUVuZCAmJiAqY29kZSA9PSAnOic7CiB9CiAKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIFQ+
Cit2b2lkIExleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9uKEpTVG9rZW4qIHRva2VuUmVjb3JkKQor
eworICAgIEpTVG9rZW5EYXRhKiB0b2tlbkRhdGEgPSAmdG9rZW5SZWNvcmQtPm1fZGF0YTsKKyAg
ICB0b2tlbkRhdGEtPmxpbmUgPSBsaW5lTnVtYmVyKCk7CisgICAgdG9rZW5EYXRhLT5vZmZzZXQg
PSBjdXJyZW50T2Zmc2V0KCk7CisgICAgdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQgPSBjdXJy
ZW50TGluZVN0YXJ0T2Zmc2V0KCk7CisgICAgQVNTRVJUKHRva2VuRGF0YS0+b2Zmc2V0ID49IHRv
a2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0KTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5h
bWUgVD4KIEpTVG9rZW5UeXBlIExleGVyPFQ+OjpsZXgoSlNUb2tlbiogdG9rZW5SZWNvcmQsIHVu
c2lnbmVkIGxleGVyRmxhZ3MsIGJvb2wgc3RyaWN0TW9kZSkKIHsKQEAgLTE0OTMsNyArMTUwNSwx
MiBAQCBzdGFydDoKICAgICAgICAgfQogICAgICAgICB0b2tlbiA9IEdUOwogICAgICAgICBicmVh
azsKLSAgICBjYXNlIENoYXJhY3RlckVxdWFsOgorICAgIGNhc2UgQ2hhcmFjdGVyRXF1YWw6IHsK
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB1aW50MzJfdCBz
YXZlZGxpbmVOdW1iZXIgPSB0b2tlbkRhdGEtPmxpbmU7CisgICAgICAgIHVpbnQzMl90IHNhdmVk
T2Zmc2V0ID0gY3VycmVudE9mZnNldCgpOworICAgICAgICB1aW50MzJfdCBzYXZlZExpbmVTdGFy
dE9mZnNldCA9IGN1cnJlbnRMaW5lU3RhcnRPZmZzZXQoKTsKKyNlbmRpZgogICAgICAgICBzaGlm
dCgpOwogICAgICAgICBpZiAobV9jdXJyZW50ID09ICc9JykgewogICAgICAgICAgICAgc2hpZnQo
KTsKQEAgLTE1MDUsOCArMTUyMiwyMiBAQCBzdGFydDoKICAgICAgICAgICAgIHRva2VuID0gRVFF
UTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnPicpIHsKKyAgICAgICAg
ICAgIHNoaWZ0KCk7CisgICAgICAgICAgICB0b2tlbiA9IEFSUk9XRlVOQ1RJT047CisKKyAgICAg
ICAgICAgIHRva2VuRGF0YS0+bGluZSA9IHNhdmVkbGluZU51bWJlcjsKKyAgICAgICAgICAgIHRv
a2VuRGF0YS0+b2Zmc2V0ID0gc2F2ZWRPZmZzZXQ7CisgICAgICAgICAgICB0b2tlbkRhdGEtPmxp
bmVTdGFydE9mZnNldCA9IHNhdmVkTGluZVN0YXJ0T2Zmc2V0OworCisgICAgICAgICAgICBBU1NF
UlQodG9rZW5EYXRhLT5vZmZzZXQgPj0gdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQpOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICB0b2tlbiA9IEVRVUFM
OwogICAgICAgICBicmVhazsKKyAgICB9CiAgICAgY2FzZSBDaGFyYWN0ZXJMZXNzOgogICAgICAg
ICBzaGlmdCgpOwogICAgICAgICBpZiAobV9jdXJyZW50ID09ICchJyAmJiBwZWVrKDEpID09ICct
JyAmJiBwZWVrKDIpID09ICctJykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9MZXhlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCmlu
ZGV4IDJkZjUyMTM5OTU3ODIwMDc4NWExNjZlMjJhNzMyNzVlMGVhNjMwNGQuLmNiM2YyNWY3YzA4
ZjgyNTgxYWYyY2U4ZmE5OTk5N2ZhZGUwNzY2ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L0xleGVyLmgKQEAgLTg1LDYgKzg1LDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SXNSZXBhcnNp
bmcoKSB7IG1faXNSZXBhcnNpbmcgPSB0cnVlOyB9CiAgICAgYm9vbCBpc1JlcGFyc2luZygpIGNv
bnN0IHsgcmV0dXJuIG1faXNSZXBhcnNpbmc7IH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgdm9pZCBzZXRUb2tlblBvc2l0aW9uKEpTVG9rZW4qIHRva2VuUmVj
b3JkKTsKKyNlbmRpZgogICAgIEpTVG9rZW5UeXBlIGxleChKU1Rva2VuKiwgdW5zaWduZWQsIGJv
b2wgc3RyaWN0TW9kZSk7CiAgICAgYm9vbCBuZXh0VG9rZW5Jc0NvbG9uKCk7CiAgICAgaW50IGxp
bmVOdW1iZXIoKSBjb25zdCB7IHJldHVybiBtX2xpbmVOdW1iZXI7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKaW5kZXggM2JkYWI2MWE1MjJl
MGNlMmMzMzk3ZjgwZjRmYTE4NGQxZDQyMTYwZS4uYjU4ZTFmZTFhZjkwZTY2MGIwODQyZWE3ZTk5
ZjA3YWU2YWNiYjk1ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9O
b2RlQ29uc3RydWN0b3JzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rl
Q29uc3RydWN0b3JzLmgKQEAgLTc4MSw2ICs3ODEsMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAg
ICAgIG1fYm9keS0+ZmluaXNoUGFyc2luZyhzb3VyY2UsIHBhcmFtZXRlciwgaWRlbnQsIEZ1bmN0
aW9uRXhwcmVzc2lvbik7CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICBpbmxpbmUgQXJyb3dGdW5jRXhwck5vZGU6OkFycm93RnVuY0V4cHJOb2RlKGNv
bnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBG
dW5jdGlvbkJvZHlOb2RlKiBib2R5LCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIFBhcmFtZXRl
ck5vZGUqIHBhcmFtZXRlcikKKyAgICAgICAgOiBGdW5jRXhwck5vZGUobG9jYXRpb24sIGlkZW50
LCBib2R5LCBzb3VyY2UsIHBhcmFtZXRlcikKKyAgICB7CisgICAgfQorI2VuZGlmCisgICAgCiAg
ICAgaW5saW5lIEZ1bmNEZWNsTm9kZTo6RnVuY0RlY2xOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlv
biYgbG9jYXRpb24sIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBGdW5jdGlvbkJvZHlOb2RlKiBi
b2R5LCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIFBhcmFtZXRlck5vZGUqIHBhcmFtZXRlcikK
ICAgICAgICAgOiBTdGF0ZW1lbnROb2RlKGxvY2F0aW9uKQogICAgICAgICAsIG1fYm9keShib2R5
KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCmluZGV4IDZiMzczMjljMDliZmM0MmJl
Y2NjM2NhYTk4MzU5N2MzNTQwMmI2YzkuLjViNzc0MWUxY2NjOGQ1MTVmZjE0YzE1MzE3MmQ3YmRh
MDUzZjU4NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKQEAgLTE1OCw2ICsx
NTgsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdmlydHVhbCBib29sIGlzRG90QWNjZXNz
b3JOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlz
RGVjb25zdHJ1Y3Rpb25Ob2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmly
dHVhbCBib29sIGlzRnVuY0V4cHJOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNB
cnJvd0Z1bmNFeHByTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjZW5kaWYKICAgICAg
ICAgdmlydHVhbCBib29sIGlzQ29tbWFOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAg
ICAgICAgdmlydHVhbCBib29sIGlzU2ltcGxlQXJyYXkoKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNBZGQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpA
QCAtMTY1Miw2ICsxNjU1LDE5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBGdW5jdGlvbkJv
ZHlOb2RlKiBtX2JvZHk7CiAgICAgfTsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgY2xhc3MgQXJyb3dGdW5jRXhwck5vZGUgOiBwdWJsaWMgRnVuY0V4cHJOb2Rl
IHsKKyAgICBwdWJsaWM6CisgICAgICAgIEFycm93RnVuY0V4cHJOb2RlKGNvbnN0IEpTVG9rZW5M
b2NhdGlvbiYsIGNvbnN0IElkZW50aWZpZXImLCBGdW5jdGlvbkJvZHlOb2RlKiwgY29uc3QgU291
cmNlQ29kZSYsIFBhcmFtZXRlck5vZGUqID0gMCk7CisgICAgcHJpdmF0ZToKKyAgICAgICAgdmly
dHVhbCBSZWdpc3RlcklEKiBlbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImLCBSZWdpc3Rl
cklEKiA9IDApIG92ZXJyaWRlOworICAgICAgICAKKyAgICAgICAgdmlydHVhbCBib29sIGlzRnVu
Y0V4cHJOb2RlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKyAgICAgICAgCisg
ICAgICAgIHZpcnR1YWwgYm9vbCBpc0Fycm93RnVuY0V4cHJOb2RlKCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gdHJ1ZTsgfQorICAgIH07CisjZW5kaWYKKwogI2lmIEVOQUJMRShFUzZfQ0xBU1Nf
U1lOVEFYKQogICAgIGNsYXNzIENsYXNzRXhwck5vZGUgZmluYWwgOiBwdWJsaWMgRXhwcmVzc2lv
bk5vZGUgewogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNw
cAppbmRleCAzMmQyNTBjYTdjYzUzZjRiZWE2MWY2MWI2ZGFiZmU2NGJjYmM2ODQ2Li5lZWQ1NTJh
MzQyYTVjNDg4MjlkYjNmYmVkOWUzNDJlM2YyNWNkOTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXIuY3BwCkBAIC0zMjksOCArMzI5LDEzIEBAIGJvb2wgUGFyc2VyPExleGVy
VHlwZT46OmFsbG93QXV0b21hdGljU2VtaWNvbG9uKCkKICAgICByZXR1cm4gbWF0Y2goQ0xPU0VC
UkFDRSkgfHwgbWF0Y2goRU9GVE9LKSB8fCBtX2xleGVyLT5wcmV2VGVybWluYXRvcigpOwogfQog
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFt
ZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVt
ZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYg
Y29udGV4dCwgU291cmNlRWxlbWVudHNNb2RlIG1vZGUsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0
aW9uUGFyc2VUeXBlKQorI2Vsc2UKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYgY29udGV4dCwgU291cmNlRWxl
bWVudHNNb2RlIG1vZGUpCisjZW5kaWYKIHsKICAgICBjb25zdCB1bnNpZ25lZCBsZW5ndGhPZlVz
ZVN0cmljdExpdGVyYWwgPSAxMjsgLy8gInVzZSBzdHJpY3QiLmxlbmd0aAogICAgIFRyZWVTb3Vy
Y2VFbGVtZW50cyBzb3VyY2VFbGVtZW50cyA9IGNvbnRleHQuY3JlYXRlU291cmNlRWxlbWVudHMo
KTsKQEAgLTMzOSw3ICszNDQsMTEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
U291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWwKICAgICB1bnNp
Z25lZCBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMDsKICAgICBhdXRvIHNhdmVQb2ludCA9IGNy
ZWF0ZVNhdmVQb2ludCgpOwogICAgIGJvb2wgaGFzU2V0U3RyaWN0ID0gZmFsc2U7CisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB3aGlsZSAoVHJlZVN0YXRlbWVudCBz
dGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVudChjb250ZXh0LCBkaXJlY3RpdmUsICZkaXJlY3RpdmVM
aXRlcmFsTGVuZ3RoLCBmdW5jdGlvblBhcnNlVHlwZSkpIHsKKyNlbHNlCiAgICAgd2hpbGUgKFRy
ZWVTdGF0ZW1lbnQgc3RhdGVtZW50ID0gcGFyc2VTdGF0ZW1lbnQoY29udGV4dCwgZGlyZWN0aXZl
LCAmZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCkpIHsKKyNlbmRpZgogICAgICAgICBpZiAobW9kZSA9
PSBDaGVja0ZvclN0cmljdE1vZGUgJiYgIXNlZW5Ob25EaXJlY3RpdmUpIHsKICAgICAgICAgICAg
IGlmIChkaXJlY3RpdmUpIHsKICAgICAgICAgICAgICAgICAvLyAidXNlIHN0cmljdCIgbXVzdCBi
ZSB0aGUgZXhhY3QgbGl0ZXJhbCB3aXRob3V0IGVzY2FwZSBzZXF1ZW5jZXMgb3IgbGluZSBjb250
aW51YXRpb24uCkBAIC01NzEsNiArNTgwLDMxIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6Y3JlYXRlCiAg
ICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlQmluZGluZ0xvY2F0aW9uKHRva2VuLm1fbG9jYXRpb24s
IG5hbWUsIHRva2VuLm1fc3RhcnRQb3NpdGlvbiwgdG9rZW4ubV9lbmRQb3NpdGlvbik7CiB9CiAK
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1l
IExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVy
JiBjb250ZXh0KQoreworICAgIEFTU0VSVChtYXRjaChBUlJPV0ZVTkNUSU9OKSk7CisKKyAgICBK
U1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICBKU1RleHRQb3Np
dGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgIEpTVGV4dFBvc2l0aW9uIGVu
ZCA9IHRva2VuRW5kUG9zaXRpb24oKTsKKworICAgIG5leHQoKTsKKyAgICBUcmVlRXhwcmVzc2lv
biBleHByID0gcGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICBmYWls
SWZGYWxzZShleHByLCAiQ2Fubm90IHBhcnNlIHRoZSBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9u
Iik7CisgICAgZW5kID0gbGFzdFRva2VuRW5kUG9zaXRpb24oKTsKKworICAgIGJvb2wgY29ycmVj
dEFycm93RmluaXNoID0gaXNFbmRPZkFycm93RnVuY3Rpb24oKSB8fCBtYXRjaChFT0ZUT0spOwor
ICAgIGZhaWxJZkZhbHNlKGNvcnJlY3RBcnJvd0ZpbmlzaCwgIkV4cGVjdGVkIGEgJzsnLCAnXScs
ICd9JywgJyknLCBvciAnLCcgZm9sbG93aW5nIGEgYXJyb3cgZnVuY3Rpb24gc3RhdGVtZW50Iik7
CisKKyAgICBlbmQgPSB0b2tlbkVuZFBvc2l0aW9uKCk7CisgICAgc2V0RW5kT2ZTdGF0ZW1lbnQo
KTsKKworICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJldHVyblN0YXRlbWVudChsb2NhdGlvbiwg
ZXhwciwgc3RhcnQsIGVuZCk7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVy
VHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlY29uc3RydWN0aW9uUGF0
dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6dHJ5UGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm5FeHBy
ZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewpAQCAtMTE0NCw4ICsxMTc4LDEzIEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VCbG9ja1N0YXRlbWVuCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBl
PgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRp
ZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgsIEZ1bmN0
aW9uUGFyc2VUeXBlIHR5cGUpCisjZWxzZQogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4K
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZp
ZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoKQorI2VuZGlm
CiB7CiAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsK
ICAgICBtX3N0YXRlbWVudERlcHRoKys7CkBAIC0xMTU0LDYgKzExOTMsMjMgQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZVN0YXRlbWVudChUcmUKICAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7CiAgICAgVHJlZVN0YXRl
bWVudCByZXN1bHQgPSAwOwogICAgIGJvb2wgc2hvdWxkU2V0RW5kT2Zmc2V0ID0gdHJ1ZTsKKwor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaWYgKHR5cGUgPT0gQXJy
b3dGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICBzd2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7
CisgICAgICAgIGNhc2UgQ0xPU0VQQVJFTjoKKyAgICAgICAgY2FzZSBDTE9TRUJSQUNLRVQ6Cisg
ICAgICAgIGNhc2UgQ09NTUE6CisgICAgICAgIGNhc2UgU0VNSUNPTE9OOiB7CisgICAgICAgICAg
ICByZXN1bHQgPSAwOworICAgICAgICAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQocmVzdWx0LCBt
X2xhc3RUb2tlbkVuZFBvc2l0aW9uLm9mZnNldCk7CisgICAgICAgICAgICByZXR1cm4gcmVzdWx0
OworICAgICAgICB9CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgfQorICAgIH0KKyNlbmRpZgogICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKICAgICBj
YXNlIE9QRU5CUkFDRToKICAgICAgICAgcmVzdWx0ID0gcGFyc2VCbG9ja1N0YXRlbWVudChjb250
ZXh0KTsKQEAgLTExOTksNiArMTI1NSwxMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAg
IGNhc2UgQlJFQUs6CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlQnJlYWtTdGF0ZW1lbnQoY29udGV4
dCk7CiAgICAgICAgIGJyZWFrOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgY2FzZSBBUlJPV0ZVTkNUSU9OOgorICAgICAgICByZXN1bHQgPSBwYXJzZUFycm93RnVu
Y3Rpb25TdGF0ZW1lbnQoY29udGV4dCk7CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgY2Fz
ZSBSRVRVUk46CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlUmV0dXJuU3RhdGVtZW50KGNvbnRleHQp
OwogICAgICAgICBicmVhazsKQEAgLTEyNjAsMjMgKzEzMjEsNDQgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlRm9ybWFsUGFyYW1ldGVyTGlzdCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VGb3IKICAgICByZXR1cm4gbGlzdDsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlRnVuY3Rpb25Cb2R5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUZ1bmN0aW9uQm9keSgKICAgICBUcmVlQnVpbGRlciYgY29udGV4dCwgaW50IGZ1bmN0aW9uS2V5
d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIAorICAgIGludCBwYXJhbWV0ZXJzU3Rh
cnQsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQsIEZ1bmN0aW9uUGFyc2VUeXBlIHBh
cnNlVHlwZSkKKyNlbHNlCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRnVuY3Rpb25Cb2R5IFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUZ1bmN0aW9uQm9keSgKKyAgICBUcmVlQnVpbGRlciYgY29udGV4dCwgaW50IGZ1bmN0aW9u
S2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsCiAgICAgaW50IHBhcmFtZXRlcnNT
dGFydCwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCkKKyNlbmRpZgogewogICAgIEpT
VG9rZW5Mb2NhdGlvbiBzdGFydExvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CiAgICAgdW5zaWdu
ZWQgc3RhcnRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgaWYgKHBhcnNlVHlwZSA9PSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VU
eXBlKSB7CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgaWYgKG1hdGNoKENMT1NFQlJBQ0UpKSB7
CisgICAgICAgICAgICB1bnNpZ25lZCBlbmRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOworICAgICAg
ICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0YXJ0TG9jYXRpb24sIHRv
a2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgZnVuY3Rpb25LZXl3b3JkU3Rh
cnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0cmljdE1vZGUoKSwgY29u
c3RydWN0b3JLaW5kKTsKKyAgICAgICAgfQorICAgIH0KKyNlbHNlCiAgICAgbmV4dCgpOwotCiAg
ICAgaWYgKG1hdGNoKENMT1NFQlJBQ0UpKSB7CiAgICAgICAgIHVuc2lnbmVkIGVuZENvbHVtbiA9
IHRva2VuQ29sdW1uKCk7CiAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uQm9k
eShzdGFydExvY2F0aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0YXJ0Q29sdW1uLCBlbmRDb2x1bW4s
IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0
LCBzdHJpY3RNb2RlKCksIGNvbnN0cnVjdG9yS2luZCk7CiAgICAgfQorI2VuZGlmCisKICAgICBE
ZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50RGVwdGgpOwogICAgIG1fc3Rh
dGVtZW50RGVwdGggPSAwOwogICAgIHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpGdW5jdGlvbkJvZHlC
dWlsZGVyIGJvZHlCdWlsZGVyKGNvbnN0X2Nhc3Q8Vk0qPihtX3ZtKSwgbV9sZXhlci5nZXQoKSk7
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBmYWlsSWZGYWxzZShw
YXJzZVNvdXJjZUVsZW1lbnRzKGJvZHlCdWlsZGVyLCBDaGVja0ZvclN0cmljdE1vZGUsIHBhcnNl
VHlwZSksIHBhcnNlVHlwZSA9PSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlID8gIkNhbm5vdCBw
YXJzZSBib2R5IG9mIHRoaXMgZnVuY3Rpb24iIDogIkNhbm5vdCBwYXJzZSBib2R5IG9mIHRoaXMg
YXJyb3cgZnVuY3Rpb24iKTsKKyNlbHNlCiAgICAgZmFpbElmRmFsc2UocGFyc2VTb3VyY2VFbGVt
ZW50cyhib2R5QnVpbGRlciwgQ2hlY2tGb3JTdHJpY3RNb2RlKSwgIkNhbm5vdCBwYXJzZSBib2R5
IG9mIHRoaXMgZnVuY3Rpb24iKTsKKyNlbmRpZgogICAgIHVuc2lnbmVkIGVuZENvbHVtbiA9IHRv
a2VuQ29sdW1uKCk7CiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0YXJ0
TG9jYXRpb24sIHRva2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgZnVuY3Rp
b25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0cmlj
dE1vZGUoKSwgY29uc3RydWN0b3JLaW5kKTsKIH0KQEAgLTEyOTcsNjAgKzEzNzksMTA1IEBAIHN0
YXRpYyBjb25zdCBjaGFyKiBzdHJpbmdGb3JGdW5jdGlvbk1vZGUoRnVuY3Rpb25QYXJzZU1vZGUg
bW9kZSkKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5m
byhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMgcmVxdWlyZW1lbnRz
LCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLAorICAgIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2Nv
cGUsIENvbnN0cnVjdG9yS2luZCBvd25lckNsYXNzS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0
YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvLCBGdW5jdGlvblBhcnNl
VHlwZSBwYXJzZVR5cGUpCisjZWxzZQogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VG
dW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImIGNvbnRleHQsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzIHJl
cXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUgbW9kZSwKICAgICBib29sIG5hbWVJc0luQ29u
dGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQgb3duZXJDbGFzc0tpbmQsIGludCBmdW5jdGlv
bktleXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYgaW5mbykKKyNl
bmRpZgogewogICAgIEF1dG9Qb3BTY29wZVJlZiBmdW5jdGlvblNjb3BlKHRoaXMsIHB1c2hTY29w
ZSgpKTsKICAgICBmdW5jdGlvblNjb3BlLT5zZXRJc0Z1bmN0aW9uKCk7CiAgICAgaW50IGZ1bmN0
aW9uTmFtZVN0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OwogICAgIGNvbnN0
IElkZW50aWZpZXIqIGxhc3RGdW5jdGlvbk5hbWUgPSBtX2xhc3RGdW5jdGlvbk5hbWU7CiAgICAg
bV9sYXN0RnVuY3Rpb25OYW1lID0gbnVsbHB0cjsKLSAgICBpZiAobWF0Y2goSURFTlQpKSB7Ci0g
ICAgICAgIGluZm8ubmFtZSA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwotICAgICAgICBtX2xhc3RG
dW5jdGlvbk5hbWUgPSBpbmZvLm5hbWU7Ci0gICAgICAgIG5leHQoKTsKLSAgICAgICAgaWYgKCFu
YW1lSXNJbkNvbnRhaW5pbmdTY29wZSkKLSAgICAgICAgICAgIGZhaWxJZkZhbHNlSWZTdHJpY3Qo
ZnVuY3Rpb25TY29wZS0+ZGVjbGFyZVZhcmlhYmxlKGluZm8ubmFtZSksICInIiwgaW5mby5uYW1l
LT5pbXBsKCksICInIGlzIG5vdCBhIHZhbGlkICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2Rl
KSwgIiBuYW1lIGluIHN0cmljdCBtb2RlIik7Ci0gICAgfSBlbHNlIGlmIChyZXF1aXJlbWVudHMg
PT0gRnVuY3Rpb25OZWVkc05hbWUpIHsKKyAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0OworICAgIGJv
b2wgaXNDbGFzc0NvbnN0cnVjdG9yOworICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgaWYgKHBhcnNlVHlwZSA9PSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBl
KSB7CisjZW5kaWYKKyAgICAgICAgaWYgKG1hdGNoKElERU5UKSkgeworICAgICAgICAgICAgaW5m
by5uYW1lID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CisgICAgICAgICAgICBtX2xhc3RGdW5jdGlv
bk5hbWUgPSBpbmZvLm5hbWU7CisgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICBpZiAo
IW5hbWVJc0luQ29udGFpbmluZ1Njb3BlKQorICAgICAgICAgICAgICAgIGZhaWxJZkZhbHNlSWZT
dHJpY3QoZnVuY3Rpb25TY29wZS0+ZGVjbGFyZVZhcmlhYmxlKGluZm8ubmFtZSksICInIiwgaW5m
by5uYW1lLT5pbXBsKCksICInIGlzIG5vdCBhIHZhbGlkICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9k
ZShtb2RlKSwgIiBuYW1lIGluIHN0cmljdCBtb2RlIik7CisgICAgICAgIH0gZWxzZSBpZiAocmVx
dWlyZW1lbnRzID09IEZ1bmN0aW9uTmVlZHNOYW1lKSB7CiAgICAgICAgIGlmIChtYXRjaChPUEVO
UEFSRU4pICYmIG1vZGUgPT0gRnVuY3Rpb25Nb2RlKQogICAgICAgICAgICAgc2VtYW50aWNGYWls
KCJGdW5jdGlvbiBzdGF0ZW1lbnRzIG11c3QgaGF2ZSBhIG5hbWUiKTsKLSAgICAgICAgc2VtYW50
aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1l
Iik7Ci0gICAgICAgIGZhaWxEdWVUb1VuZXhwZWN0ZWRUb2tlbigpOwotICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgfQotICAgIGludCBwYXJhbWV0ZXJzU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRp
b24uc3RhcnRPZmZzZXQ7Ci0gICAgaWYgKCFjb25zdW1lKE9QRU5QQVJFTikpIHsKLSAgICAgICAg
c2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwg
IiBuYW1lIik7Ci0gICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgYW4gb3BlbmluZyAn
KCcgYmVmb3JlIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiJ3MgcGFyYW1ldGVy
IGxpc3QiKTsKLSAgICB9Ci0KLSAgICBpZiAobW9kZSA9PSBHZXR0ZXJNb2RlKQotICAgICAgICBj
b25zdW1lT3JGYWlsKENMT1NFUEFSRU4sICJnZXR0ZXIgZnVuY3Rpb25zIG11c3QgaGF2ZSBubyBw
YXJhbWV0ZXJzIik7Ci0gICAgZWxzZSBpZiAobW9kZSA9PSBTZXR0ZXJNb2RlKSB7Ci0gICAgICAg
IGZhaWxJZlRydWUobWF0Y2goQ0xPU0VQQVJFTiksICJzZXR0ZXIgZnVuY3Rpb25zIG11c3QgaGF2
ZSBvbmUgcGFyYW1ldGVyIik7Ci0gICAgICAgIGF1dG8gcGFyYW1ldGVyID0gcGFyc2VEZWNvbnN0
cnVjdGlvblBhdHRlcm4oY29udGV4dCwgRGVjb25zdHJ1Y3RUb1BhcmFtZXRlcnMpOwotICAgICAg
ICBmYWlsSWZGYWxzZShwYXJhbWV0ZXIsICJzZXR0ZXIgZnVuY3Rpb25zIG11c3QgaGF2ZSBvbmUg
cGFyYW1ldGVyIik7Ci0gICAgICAgIGluZm8ucGFyYW1ldGVycyA9IGNvbnRleHQuY3JlYXRlRm9y
bWFsUGFyYW1ldGVyTGlzdChwYXJhbWV0ZXIpOwotICAgICAgICBmYWlsSWZUcnVlKG1hdGNoKENP
TU1BKSwgInNldHRlciBmdW5jdGlvbnMgbXVzdCBoYXZlIG9uZSBwYXJhbWV0ZXIiKTsKLSAgICAg
ICAgY29uc3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiRXhwZWN0ZWQgYSAnKScgYWZ0ZXIgYSBwYXJh
bWV0ZXIgZGVjbGFyYXRpb24iKTsKLSAgICB9IGVsc2UgewotICAgICAgICBpZiAoIW1hdGNoKENM
T1NFUEFSRU4pKSB7Ci0gICAgICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBwYXJzZUZvcm1hbFBh
cmFtZXRlcnMoY29udGV4dCk7Ci0gICAgICAgICAgICBmYWlsSWZGYWxzZShpbmZvLnBhcmFtZXRl
cnMsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAiLCBzdHJpbmdGb3JGdW5jdGlv
bk1vZGUobW9kZSkpOworICAgICAgICAgICAgc2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0
cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7CisgICAgICAgICAgICBmYWlsRHVl
VG9VbmV4cGVjdGVkVG9rZW4oKTsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAg
fQorICAgICAgICBwYXJhbWV0ZXJzU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZz
ZXQ7CisgICAgICAgIAorICAgICAgICBpZiAoIWNvbnN1bWUoT1BFTlBBUkVOKSkgeworICAgICAg
ICAgICAgc2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZSht
b2RlKSwgIiBuYW1lIik7CisgICAgICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVkIGFu
IG9wZW5pbmcgJygnIGJlZm9yZSBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIidz
IHBhcmFtZXRlciBsaXN0Iik7CiAgICAgICAgIH0KLSAgICAgICAgY29uc3VtZU9yRmFpbChDTE9T
RVBBUkVOLCAiRXhwZWN0ZWQgYSAnKScgb3IgYSAnLCcgYWZ0ZXIgYSBwYXJhbWV0ZXIgZGVjbGFy
YXRpb24iKTsKLSAgICB9CiAKLSAgICBtYXRjaE9yRmFpbChPUEVOQlJBQ0UsICJFeHBlY3RlZCBh
biBvcGVuaW5nICd7JyBhdCB0aGUgc3RhcnQgb2YgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUo
bW9kZSksICIgYm9keSIpOworICAgICAgICBpZiAobW9kZSA9PSBHZXR0ZXJNb2RlKQorICAgICAg
ICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiZ2V0dGVyIGZ1bmN0aW9ucyBtdXN0IGhh
dmUgbm8gcGFyYW1ldGVycyIpOworICAgICAgICBlbHNlIGlmIChtb2RlID09IFNldHRlck1vZGUp
IHsKKyAgICAgICAgICAgIGZhaWxJZlRydWUobWF0Y2goQ0xPU0VQQVJFTiksICJzZXR0ZXIgZnVu
Y3Rpb25zIG11c3QgaGF2ZSBvbmUgcGFyYW1ldGVyIik7CisgICAgICAgICAgICBhdXRvIHBhcmFt
ZXRlciA9IHBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuKGNvbnRleHQsIERlY29uc3RydWN0VG9Q
YXJhbWV0ZXJzKTsKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKHBhcmFtZXRlciwgInNldHRlciBm
dW5jdGlvbnMgbXVzdCBoYXZlIG9uZSBwYXJhbWV0ZXIiKTsKKyAgICAgICAgICAgIGluZm8ucGFy
YW1ldGVycyA9IGNvbnRleHQuY3JlYXRlRm9ybWFsUGFyYW1ldGVyTGlzdChwYXJhbWV0ZXIpOwor
ICAgICAgICAgICAgZmFpbElmVHJ1ZShtYXRjaChDT01NQSksICJzZXR0ZXIgZnVuY3Rpb25zIG11
c3QgaGF2ZSBvbmUgcGFyYW1ldGVyIik7CisgICAgICAgICAgICBjb25zdW1lT3JGYWlsKENMT1NF
UEFSRU4sICJFeHBlY3RlZCBhICcpJyBhZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOwor
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaWYgKCFtYXRjaChDTE9TRVBBUkVOKSkgewor
ICAgICAgICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhj
b250ZXh0KTsKKyAgICAgICAgICAgICAgICBmYWlsSWZGYWxzZShpbmZvLnBhcmFtZXRlcnMsICJD
YW5ub3QgcGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUo
bW9kZSkpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBB
UkVOLCAiRXhwZWN0ZWQgYSAnKScgb3IgYSAnLCcgYWZ0ZXIgYSBwYXJhbWV0ZXIgZGVjbGFyYXRp
b24iKTsKKyAgICAgICAgfQogCi0gICAgLy8gQnl0ZWNvZGVHZW5lcmF0b3IgZW1pdHMgY29kZSB0
byB0aHJvdyBUeXBlRXJyb3Igd2hlbiBhIGNsYXNzIGNvbnN0cnVjdG9yIGlzICJjYWxsImVkLgot
ICAgIC8vIFNldCBDb25zdHJ1Y3RvcktpbmQgdG8gTm9uZSBmb3Igbm9uLWNvbnN0cnVjdG9yIG1l
dGhvZHMgb2YgY2xhc3Nlcy4KLSAgICBib29sIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IG1vZGUgPT0g
TWV0aG9kTW9kZSAmJiBpbmZvLm5hbWUgJiYgKmluZm8ubmFtZSA9PSBtX3ZtLT5wcm9wZXJ0eU5h
bWVzLT5jb25zdHJ1Y3RvcjsKLSAgICBpZiAobV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kICE9IENv
bnN0cnVjdG9yS2luZDo6Tm9uZSkgewotICAgICAgICBvd25lckNsYXNzS2luZCA9IG1fZGVmYXVs
dENvbnN0cnVjdG9yS2luZDsKLSAgICAgICAgaXNDbGFzc0NvbnN0cnVjdG9yID0gdHJ1ZTsKKyAg
ICAgICAgbWF0Y2hPckZhaWwoT1BFTkJSQUNFLCAiRXhwZWN0ZWQgYW4gb3BlbmluZyAneycgYXQg
dGhlIHN0YXJ0IG9mIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsK
KyAgICAgICAgLy8gQnl0ZWNvZGVHZW5lcmF0b3IgZW1pdHMgY29kZSB0byB0aHJvdyBUeXBlRXJy
b3Igd2hlbiBhIGNsYXNzIGNvbnN0cnVjdG9yIGlzICJjYWxsImVkLgorICAgICAgICAvLyBTZXQg
Q29uc3RydWN0b3JLaW5kIHRvIE5vbmUgZm9yIG5vbi1jb25zdHJ1Y3RvciBtZXRob2RzIG9mIGNs
YXNzZXMuCisgICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IG1vZGUgPT0gTWV0aG9kTW9kZSAm
JiBpbmZvLm5hbWUgJiYgKmluZm8ubmFtZSA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1
Y3RvcjsKKyAgICAgICAgaWYgKG1fZGVmYXVsdENvbnN0cnVjdG9yS2luZCAhPSBDb25zdHJ1Y3Rv
cktpbmQ6Ok5vbmUpIHsKKyAgICAgICAgICAgIG93bmVyQ2xhc3NLaW5kID0gbV9kZWZhdWx0Q29u
c3RydWN0b3JLaW5kOworICAgICAgICAgICAgaXNDbGFzc0NvbnN0cnVjdG9yID0gdHJ1ZTsKKyAg
ICAgICAgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCiAgICAgfQorICAg
IAorICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAg
ICBwYXJhbWV0ZXJzU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CisgICAg
ICAgIGlmICghbWF0Y2goSURFTlQpICYmICFtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgICAg
ICBzZW1hbnRpY0ZhaWx1cmVEdWVUb0tleXdvcmQoc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUp
LCAiIG5hbWUiKTsKKyAgICAgICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgYW4gYXJy
b3cgZnVuY3Rpb24gaW5wdXQgcGFyYW1ldGVyIik7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICAgICAgICAgIGNvbnN1bWUoT1BF
TlBBUkVOKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBpZiAoIW1hdGNoKENM
T1NFUEFSRU4pKSB7CisgICAgICAgICAgICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9IHBhcnNl
Rm9ybWFsUGFyYW1ldGVycyhjb250ZXh0KTsKKyAgICAgICAgICAgICAgICAgICAgZmFpbElmRmFs
c2UoaW5mby5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwg
c3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgICAgCisgICAgICAgICAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiRXhw
ZWN0ZWQgYSAnKScgb3IgYSAnLCcgYWZ0ZXIgYSBwYXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsKKyAg
ICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgYXV0byBwYXJhbWV0ZXIgPSBwYXJz
ZURlY29uc3RydWN0aW9uUGF0dGVybihjb250ZXh0LCBEZWNvbnN0cnVjdFRvUGFyYW1ldGVycyk7
CisgICAgICAgICAgICAgICAgZmFpbElmRmFsc2UocGFyYW1ldGVyLCAiQ2Fubm90IHBhcnNlIHBh
cmFtZXRlciBwYXR0ZXJuIik7CisgICAgICAgICAgICAgICAgaW5mby5wYXJhbWV0ZXJzID0gY29u
dGV4dC5jcmVhdGVGb3JtYWxQYXJhbWV0ZXJMaXN0KHBhcmFtZXRlcik7CisgICAgICAgICAgICAg
ICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMg
Zm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgbWF0Y2hPckZhaWwoQVJST1dGVU5DVElPTiwg
IkV4cGVjdGVkIGEgJz0+JyBhZnRlciBhcnJvdyBmdW5jdGlvbiBwYXJhbWV0ZXIgZGVjbGFyYXRp
b24iKTsKKyAgICAgICAgaXNDbGFzc0NvbnN0cnVjdG9yID0gZmFsc2U7CisgICAgICAgIAorICAg
ICAgICBpbmZvLmFycm93RnVuY3Rpb25PZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7Cisg
ICAgfQorI2VuZGlmCisgICAgCiAgICAgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCA9
IGlzQ2xhc3NDb25zdHJ1Y3RvciA/IG93bmVyQ2xhc3NLaW5kIDogQ29uc3RydWN0b3JLaW5kOjpO
b25lOwogCiAgICAgaW5mby5vcGVuQnJhY2VPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7
CkBAIC0xMzg0LDggKzE1MTEsMTUgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29s
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAg
ZmFpbElmRmFsc2UocG9wU2NvcGUoZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJl
ZVZhcmlhYmxlSW5mbyksICJQYXJzZXIgZXJyb3IiKTsKICAgICAgICAgCiAgICAgICAgIGluZm8u
Y2xvc2VCcmFjZU9mZnNldCA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VPZmZzZXQ7Ci0KLSAgICAg
ICAgbV90b2tlbiA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VUb2tlbigpOworICAgICAgICAKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAocGFyc2VUeXBl
ID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpCisgICAgICAgICAgICBpbmZvLmZ1bmN0aW9uQm9k
eVR5cGUgPSBjYWNoZWRJbmZvLT5pc0JvZHlBcnJvd0V4cHJlc3Npb24gPyAgQXJyb3dGdW5jdGlv
bkJvZHlFeHByZXNzaW9uIDogQXJyb3dGdW5jdGlvbkJvZHlCbG9jazsKKyAgICAgICAgZWxzZQor
ICAgICAgICAgICAgaW5mby5mdW5jdGlvbkJvZHlUeXBlID0gU3RhbmRhcmRGdW5jdGlvbkJvZHlC
bG9jazsKKyNlbmRpZgorICAgICAgICBtX3Rva2VuID0gY2FjaGVkSW5mby0+ZW5kRnVuY3Rpb25U
b2tlbigpOworICAgICAgICAKICAgICAgICAgaWYgKGVuZENvbHVtbklzT25TdGFydExpbmUpCiAg
ICAgICAgICAgICBtX3Rva2VuLm1fbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExp
bmVTdGFydE9mZnNldDsKIApAQCAtMTM5NCwxMyArMTUyOCw0MyBAQCB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRy
ZWVCdWlsZAogCiAgICAgICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KGluZm8uYm9keSwgbV9sZXhl
ci0+Y3VycmVudE9mZnNldCgpKTsKICAgICAgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKHBhcnNlVHlwZSAhPSBBcnJvd0Z1bmN0aW9uUGFyc2VU
eXBlIHx8IGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrKQor
ICAgICAgICAgICAgbmV4dCgpOworI2Vsc2UKICAgICAgICAgbmV4dCgpOworI2VuZGlmCiAgICAg
ICAgIGluZm8uYm9keUVuZExpbmUgPSBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmU7CiAgICAg
ICAgIHJldHVybiB0cnVlOwogICAgIH0KKyAgICAKICAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBs
YXN0RnVuY3Rpb25OYW1lOwogICAgIFBhcnNlclN0YXRlIG9sZFN0YXRlID0gc2F2ZVN0YXRlKCk7
CisgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFy
c2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgU2F2ZVBvaW50IHNh
dmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgICAgICBuZXh0KCk7CisgICAgICAgIC8v
IENoZWNrIGlmIGFycm93IGJvZHkgc3RhcnQgd2l0aCB7LiBJZiBpdCB0cnVlIGl0IG1lYW4gdGhh
dCBhcnJvdyBmdW5jdGlvbiBpcyBGYXQgYXJyb3cgZnVuY3Rpb24KKyAgICAgICAgLy8gYW5kIHdl
IG5lZWQgdXNlIGNvbW1vbiBhcHByb2FjaCB0byBwYXJzZSBmdW5jdGlvbiBib2R5CisgICAgICAg
IGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9IG1hdGNoKE9QRU5CUkFDRSkgPyBBcnJvd0Z1bmN0aW9u
Qm9keUJsb2NrIDogQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOworICAgIAorICAgICAgICBp
ZiAoaW5mby5mdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHsKKyAg
ICAgICAgICAgIGluZm8ub3BlbkJyYWNlT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0Owor
ICAgICAgICAgICAgaW5mby5ib2R5U3RhcnRMaW5lID0gdG9rZW5MaW5lKCk7CisgICAgICAgICAg
ICBpbmZvLmJvZHlTdGFydENvbHVtbiA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldCAtIG1fdG9rZW4u
bV9kYXRhLmxpbmVTdGFydE9mZnNldDsKKyAgICAgICAgCisgICAgICAgICAgICBpbmZvLmJvZHkg
PSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rp
b25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kKTsKKyAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKKyAgICAg
ICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5
d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3Rv
cktpbmQsIEFycm93RnVuY3Rpb25QYXJzZVR5cGUpOworICAgICAgICB9CisgICAgfSBlbHNlCisg
ICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5
d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3Rv
cktpbmQpOworI2Vsc2UKICAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0
LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFy
dCwgY29uc3RydWN0b3JLaW5kKTsKKyNlbmRpZgorICAgIAogICAgIHJlc3RvcmVTdGF0ZShvbGRT
dGF0ZSk7CiAgICAgZmFpbElmRmFsc2UoaW5mby5ib2R5LCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5
IG9mIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKICAgICBjb250ZXh0LnNl
dEVuZE9mZnNldChpbmZvLmJvZHksIG1fbGV4ZXItPmN1cnJlbnRPZmZzZXQoKSk7CkBAIC0xNDMx
LDE4ICsxNTk1LDMzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIHBhcmFtZXRl
cnMuY2xvc2VCcmFjZUxpbmUgPSBjbG9zZUJyYWNlTGluZTsKICAgICAgICAgcGFyYW1ldGVycy5j
bG9zZUJyYWNlT2Zmc2V0ID0gaW5mby5jbG9zZUJyYWNlT2Zmc2V0OwogICAgICAgICBwYXJhbWV0
ZXJzLmNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0
OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChwYXJz
ZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICAgICAgcGFyYW1ldGVy
cy5pc0JvZHlBcnJvd0V4cHJlc3Npb24gPSBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dG
dW5jdGlvbkJvZHlFeHByZXNzaW9uOworICAgICAgICAgICAgcGFyYW1ldGVycy50b2tlblR5cGUg
PSBtX3Rva2VuLm1fdHlwZTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIGZ1bmN0aW9uU2Nv
cGUtPmZpbGxQYXJhbWV0ZXJzRm9yU291cmNlUHJvdmlkZXJDYWNoZShwYXJhbWV0ZXJzKTsKICAg
ICAgICAgbmV3SW5mbyA9IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjpjcmVhdGUocGFyYW1ldGVy
cyk7CiAKICAgICB9CiAgICAgCiAgICAgZmFpbElmRmFsc2UocG9wU2NvcGUoZnVuY3Rpb25TY29w
ZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQYXJzZXIgZXJyb3IiKTsK
KyAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlmICgocGFy
c2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUgJiYgaW5mby5mdW5jdGlvbkJvZHlUeXBl
ID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHx8IHBhcnNlVHlwZSAhPSBBcnJvd0Z1bmN0aW9u
UGFyc2VUeXBlKSB7CisgICAgICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0UsICJFeHBlY3RlZCBh
IGNsb3NpbmcgJ30nIGFmdGVyIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJv
ZHkiKTsKKyAgICAgICAgbmV4dCgpOworICAgIH0gZWxzZQorICAgICAgICBmYWlsSWZGYWxzZShp
c0VuZE9mQXJyb3dGdW5jdGlvbigpLCAiRXhwZWN0ZWQgdGhlIGNsb3NpbmcgJzsnICcsJyAnXScg
JyknICd9JyBhZnRlciBhcnJvdyBmdW5jdGlvbiIpOworI2Vsc2UKICAgICBtYXRjaE9yRmFpbChD
TE9TRUJSQUNFLCAiRXhwZWN0ZWQgYSBjbG9zaW5nICd9JyBhZnRlciBhICIsIHN0cmluZ0ZvckZ1
bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7CisgICAgbmV4dCgpOworI2VuZGlmCiAgICAgCiAg
ICAgaWYgKG5ld0luZm8pCiAgICAgICAgIG1fZnVuY3Rpb25DYWNoZS0+YWRkKGluZm8ub3BlbkJy
YWNlT2Zmc2V0LCBXVEY6Om1vdmUobmV3SW5mbykpOwogICAgIAotICAgIG5leHQoKTsKICAgICBp
bmZvLmJvZHlFbmRMaW5lID0gbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lOwogICAgIHJldHVy
biB0cnVlOwogfQpAQCAtMTc2Niw2ICsxOTQ1LDE4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJZlN0YXRlbWVudChU
CiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlSWZTdGF0ZW1lbnQoaWZMb2NhdGlvbiwgY29uZGl0
aW9uLCB0cnVlQmxvY2ssIHN0YXRlbWVudFN0YWNrLmxhc3QoKSwgc3RhcnQsIGVuZCk7CiB9CiAK
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1l
IExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24g
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxk
ZXImIGNvbnRleHQpCit7CisgICAgZmFpbElmU3RhY2tPdmVyZmxvdygpOworICAgIFRyZWVFeHBy
ZXNzaW9uIG5vZGUgPSBwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKGNvbnRleHQpOworICAgIGZh
aWxJZkZhbHNlKG5vZGUsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lvbiIpOworICAgIGNvbnRleHQu
c2V0RW5kT2Zmc2V0KG5vZGUsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ub2Zmc2V0KTsKKyAgICBy
ZXR1cm4gbm9kZTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgog
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VFeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewpAQCAtMTgxMyw2
ICsyMDA0LDQxIEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Np
b24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXNzaWdubWVuCiAgICAgICAgIH0KICAgICAgICAg
cmVzdG9yZVNhdmVQb2ludChzYXZlUG9pbnQpOwogICAgIH0KKworI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQg
PSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICBib29sIGFycm93RnVuY3Rpb25FbXB0eUxpc3QgPSBm
YWxzZTsKKyAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICBuZXh0KCk7CisgICAg
ICAgIGlmIChtYXRjaChDTE9TRVBBUkVOKSkgeworICAgICAgICAgICAgbmV4dCgpOworCisgICAg
ICAgICAgICBpZiAobWF0Y2goQVJST1dGVU5DVElPTikpCisgICAgICAgICAgICAgICAgYXJyb3dG
dW5jdGlvbkVtcHR5TGlzdCA9IHRydWU7CisgICAgICAgIH0KKworICAgICAgICBpZiAoIWFycm93
RnVuY3Rpb25FbXB0eUxpc3QpCisgICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJv
d0Z1bmN0aW9uUG9pbnQpOworICAgIH0KKworICAgIFRyZWVFeHByZXNzaW9uIGxoczsKKyAgICBp
ZiAoIWFycm93RnVuY3Rpb25FbXB0eUxpc3QpIHsKKyAgICAgICAgbGhzID0gcGFyc2VDb25kaXRp
b25hbEV4cHJlc3Npb24oY29udGV4dCk7CisgICAgICAgIGZhaWxJZkZhbHNlKGxocywgIkNhbhlu
b3QgcGFyc2UgZXhwcmVzc2lvbiIpOworICAgICAgICBpZiAoaW5pdGlhbE5vbkxIU0NvdW50ICE9
IG1fbm9uTEhTQ291bnQpIHsKKyAgICAgICAgICAgIGlmIChtX3Rva2VuLm1fdHlwZSA+PSBFUVVB
TCAmJiBtX3Rva2VuLm1fdHlwZSA8PSBPUkVRVUFMKQorICAgICAgICAgICAgICAgIHNlbWFudGlj
RmFpbCgiTGVmdCBoYW5kIHNpZGUgb2Ygb3BlcmF0b3IgJyIsIGdldFRva2VuKCksICInIG11c3Qg
YmUgYSByZWZlcmVuY2UiKTsKKworICAgICAgICAgICAgcmV0dXJuIGxoczsKKyAgICAgICAgfQor
ICAgIH0KKworICAgIGlmIChtYXRjaChBUlJPV0ZVTkNUSU9OKSkgeworICAgICAgICByZXN0b3Jl
U2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICBsaHMgPSBwYXJzZUFy
cm93RnVuY3Rpb25XcmFwcGVyKGNvbnRleHQpOworICAgICAgICByZXR1cm4gbGhzOworICAgIH0K
KyNlbHNlCiAgICAgVHJlZUV4cHJlc3Npb24gbGhzID0gcGFyc2VDb25kaXRpb25hbEV4cHJlc3Np
b24oY29udGV4dCk7CiAgICAgZmFpbElmRmFsc2UobGhzLCAiQ2Fubm90IHBhcnNlIGV4cHJlc3Np
b24iKTsKICAgICBpZiAoaW5pdGlhbE5vbkxIU0NvdW50ICE9IG1fbm9uTEhTQ291bnQpIHsKQEAg
LTE4MjEsNyArMjA0Nyw4IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBUcmVlQnVpbGRlcj4gVHJlZUV4
cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXNzaWdubWVuCiAKICAgICAgICAgcmV0
dXJuIGxoczsKICAgICB9Ci0gICAgCisjZW5kaWYKKwogICAgIGludCBhc3NpZ25tZW50U3RhY2sg
PSAwOwogICAgIE9wZXJhdG9yIG9wOwogICAgIGJvb2wgaGFkQXNzaWdubWVudCA9IGZhbHNlOwpA
QCAtMjI5Niw2ICsyNTIzLDIzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4
cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAgICAgIHJl
dHVybiBjb250ZXh0LnRoaXNFeHByKGxvY2F0aW9uLCBtX3RoaXNURFpNb2RlKTsKICAgICB9CiAg
ICAgY2FzZSBJREVOVDogeworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgICAgIFNhdmVQb2ludCBzYXZlQXJyb3dGdW5jdGlvblBvaW50ID0gY3JlYXRlU2F2ZVBvaW50
KCk7CisgICAgICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7
CisgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7
CisgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAg
ICAgICBuZXh0KCk7CisKKyAgICAgICAgaWYgKCFtYXRjaChBUlJPV0ZVTkNUSU9OKSkgeworICAg
ICAgICAgICAgY3VycmVudFNjb3BlKCktPnVzZVZhcmlhYmxlKGlkZW50LCBtX3ZtLT5wcm9wZXJ0
eU5hbWVzLT5ldmFsID09ICppZGVudCk7CisgICAgICAgICAgICBtX2xhc3RJZGVudGlmaWVyID0g
aWRlbnQ7CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVSZXNvbHZlKGxvY2F0aW9u
LCBpZGVudCwgc3RhcnQpOworICAgICAgICB9CisKKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChz
YXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAgVHJlZUV4cHJlc3Npb24gbGhzID0gcGFy
c2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihjb250ZXh0KTsKKyAgICAgICAgcmV0dXJuIGxoczsKKyNl
bHNlCiAgICAgICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7
CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7
CiAgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwpAQCAt
MjMwMyw2ICsyNTQ3LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVz
c2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAgY3VycmVu
dFNjb3BlKCktPnVzZVZhcmlhYmxlKGlkZW50LCBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09
ICppZGVudCk7CiAgICAgICAgIG1fbGFzdElkZW50aWZpZXIgPSBpZGVudDsKICAgICAgICAgcmV0
dXJuIGNvbnRleHQuY3JlYXRlUmVzb2x2ZShsb2NhdGlvbiwgaWRlbnQsIHN0YXJ0KTsKKyNlbmRp
ZgogICAgIH0KICAgICBjYXNlIFNUUklORzogewogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBp
ZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwpAQCAtMjQ5MCw2ICsyNzM1LDMyIEBAIGVuZE1l
bWJlckV4cHJlc3Npb246CiAgICAgcmV0dXJuIGJhc2U7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAg
VHJlZUV4cHJlc3Npb24gYmFzZSA9IDA7CisgICAgSlNUZXh0UG9zaXRpb24gZXhwcmVzc2lvblN0
YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgaW50IG5ld0NvdW50ID0gMDsKKyAgICBK
U1Rva2VuTG9jYXRpb24gbG9jYXRpb247CisKKyAgICBpZiAobWF0Y2goSURFTlQpIHx8IG1hdGNo
KE9QRU5QQVJFTikpIHsKKyAgICAgICAgdW5zaWduZWQgZnVuY3Rpb25LZXl3b3JkU3RhcnQgPSB0
b2tlblN0YXJ0KCk7CisgICAgICAgIGxvY2F0aW9uID0gdG9rZW5Mb2NhdGlvbigpOworICAgICAg
ICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87CisgICAgICAgIGluZm8ubmFt
ZSA9ICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllcjsKKyAgICAgICAgZmFpbElm
RmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMs
IEZ1bmN0aW9uTW9kZSwgdHJ1ZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBmdW5jdGlvbktleXdv
cmRTdGFydCwgaW5mbywgQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIGFy
cm93IGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsKKyAgICAgICAgYmFzZSA9IGNvbnRleHQuY3JlYXRl
QXJyb3dGdW5jdGlvbkV4cHIobG9jYXRpb24sIGluZm8pOworICAgIH0gZWxzZQorICAgICAgICBi
YXNlID0gcGFyc2VQcmltYXJ5RXhwcmVzc2lvbihjb250ZXh0KTsKKworICAgIGZhaWxJZkZhbHNl
KGJhc2UsICJDYW5ub3QgcGFyc2UgYmFzZSBleHByZXNzaW9uIik7CisgICAgd2hpbGUgKG5ld0Nv
dW50LS0pCisgICAgICAgIGJhc2UgPSBjb250ZXh0LmNyZWF0ZU5ld0V4cHIobG9jYXRpb24sIGJh
c2UsIGV4cHJlc3Npb25TdGFydCwgbGFzdFRva2VuRW5kUG9zaXRpb24oKSk7CisgICAgcmV0dXJu
IGJhc2U7Cit9CisjZW5kaWYKKwogc3RhdGljIGNvbnN0IGNoYXIqIG9wZXJhdG9yU3RyaW5nKGJv
b2wgcHJlZml4LCB1bnNpZ25lZCB0b2spCiB7CiAgICAgc3dpdGNoICh0b2spIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCmluZGV4IDBmMjcyOGY4NjIxZjgwMTBjNDEwYmY3OTg3
NjE5YmYyM2U1MGFmOGIuLjM0Y2RhOTcyY2MzYjhlMDlkNjIzZjM5ZDlmNWFmYzJlMDFhMzdmODYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaApAQCAtODAsNiArODAsOSBAQCBj
bGFzcyBTb3VyY2VDb2RlOwogQ09NUElMRV9BU1NFUlQoTGFzdFVudGFnZ2VkVG9rZW4gPCA2NCwg
TGVzc1RoYW42NFVudGFnZ2VkVG9rZW5zKTsKIAogZW51bSBTb3VyY2VFbGVtZW50c01vZGUgeyBD
aGVja0ZvclN0cmljdE1vZGUsIERvbnRDaGVja0ZvclN0cmljdE1vZGUgfTsKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorZW51bSBGdW5jdGlvblBhcnNlVHlwZSB7IFN0YW5k
YXJkRnVuY3Rpb25QYXJzZVR5cGUsIEFycm93RnVuY3Rpb25QYXJzZVR5cGUgfTsKKyNlbmRpZgog
ZW51bSBGdW5jdGlvblJlcXVpcmVtZW50cyB7IEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEZ1bmN0
aW9uTmVlZHNOYW1lIH07CiBlbnVtIEZ1bmN0aW9uUGFyc2VNb2RlIHsKICAgICBGdW5jdGlvbk1v
ZGUsCkBAIC02MTgsNiArNjIxLDEzIEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBtX3Rva2Vu
Lm1fdHlwZSA9PSBJREVOVCAmJiAqbV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVy
dHlOYW1lcy0+b2Y7CiAgICAgfQogICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgQUxXQVlTX0lOTElORSBib29sIGlzRW5kT2ZBcnJvd0Z1bmN0aW9uKCkKKyAg
ICB7CisgICAgICAgIHJldHVybiBtYXRjaChTRU1JQ09MT04pIHx8IG1hdGNoKENPTU1BKSB8fCBt
YXRjaChDTE9TRVBBUkVOKSB8fCBtYXRjaChDTE9TRUJSQUNFKSB8fCBtYXRjaChDTE9TRUJSQUNL
RVQpOworICAgIH0KKyNlbmRpZgorICAgIAogICAgIEFMV0FZU19JTkxJTkUgdW5zaWduZWQgdG9r
ZW5TdGFydCgpCiAgICAgewogICAgICAgICByZXR1cm4gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0
T2Zmc2V0OwpAQCAtNzIxLDkgKzczMSwxNCBAQCBwcml2YXRlOgogICAgICAgICB9CiAgICAgICAg
IHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIAorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VF
bGVtZW50cyBwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxlbWVudHNN
b2RlLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSA9IFN0YW5kYXJkRnVuY3Rp
b25QYXJzZVR5cGUpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRl
bWVudCBwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJl
Y3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMCwgRnVuY3Rpb25QYXJz
ZVR5cGUgZnVuY3Rpb25QYXJzZVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNl
bHNlCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMg
cGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYsIFNvdXJjZUVsZW1lbnRzTW9kZSk7CiAg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3RhdGVt
ZW50KFRyZWVCdWlsZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQq
IGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwKTsKKyNlbmRpZgogI2lmIEVOQUJMRShFUzZfQ0xB
U1NfU1lOVEFYKQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVu
dCBwYXJzZUNsYXNzRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImKTsKICNlbmRpZgpAQCAtNzYyLDE3
ICs3NzcsMzIgQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVQcm9wZXJ0eSBwYXJzZVByb3BlcnR5KFRyZWVCdWlsZGVyJiwgYm9vbCBzdHJpY3QpOwogICAg
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VQcm9wZXJ0
eU1ldGhvZChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciogbWV0aG9kTmFt
ZSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgcGFyc2VH
ZXR0ZXJTZXR0ZXIoVHJlZUJ1aWxkZXImLCBib29sIHN0cmljdCwgUHJvcGVydHlOb2RlOjpUeXBl
LCB1bnNpZ25lZCBnZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBDb25zdHJ1Y3RvcktpbmQgPSBD
b25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZyA9IFN1cGVyQmluZGluZzo6Tm90TmVl
ZGVkKTsKLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJl
ZUZ1bmN0aW9uQm9keSBwYXJzZUZ1bmN0aW9uQm9keShUcmVlQnVpbGRlciYsIGludCBmdW5jdGlv
bktleXdvcmRTdGFydCwgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCBpbnQgcGFyYW1ldGVyc1N0YXJ0
LCBDb25zdHJ1Y3RvcktpbmQpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5j
dGlvbkJvZHkgcGFyc2VGdW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImLCBpbnQgZnVuY3Rpb25LZXl3
b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29u
c3RydWN0b3JLaW5kLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSA9IFN0YW5k
YXJkRnVuY3Rpb25QYXJzZVR5cGUpOworI2Vsc2UKKyAgICAgICAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VGdW5jdGlvbkJv
ZHkoVHJlZUJ1aWxkZXImLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5h
bWVTdGFydCwgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kKTsKKyNlbmRpZgog
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRm9ybWFs
UGFyYW1ldGVyTGlzdCBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoVHJlZUJ1aWxkZXImKTsKICAgICBl
bnVtIFZhckRlY2xhcmF0aW9uTGlzdENvbnRleHQgeyBGb3JMb29wQ29udGV4dCwgVmFyRGVjbGFy
YXRpb25Db250ZXh0IH07CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhw
cmVzc2lvbiBwYXJzZVZhckRlY2xhcmF0aW9uTGlzdChUcmVlQnVpbGRlciYsIGludCYgZGVjbGFy
YXRpb25zLCBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuJiBsYXN0UGF0dGVybiwgVHJlZUV4cHJl
c3Npb24mIGxhc3RJbml0aWFsaXplciwgSlNUZXh0UG9zaXRpb24mIGlkZW50U3RhcnQsIEpTVGV4
dFBvc2l0aW9uJiBpbml0U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0RW5kLCBWYXJEZWNsYXJh
dGlvbkxpc3RDb250ZXh0KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVS
X0lOTElORSBUcmVlQ29uc3REZWNsTGlzdCBwYXJzZUNvbnN0RGVjbGFyYXRpb25MaXN0KFRyZWVC
dWlsZGVyJik7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VBcnJvd0Z1bmN0
aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoVHJlZUJ1aWxk
ZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBh
cnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoVHJlZUJ1aWxkZXImKTsKKyNlbmRpZgorCiAgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9u
UGF0dGVybiBjcmVhdGVCaW5kaW5nUGF0dGVybihUcmVlQnVpbGRlciYsIERlY29uc3RydWN0aW9u
S2luZCwgY29uc3QgSWRlbnRpZmllciYsIGludCBkZXB0aCwgSlNUb2tlbik7CiAgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0
dGVybiBwYXJzZURlY29uc3RydWN0aW9uUGF0dGVybihUcmVlQnVpbGRlciYsIERlY29uc3RydWN0
aW9uS2luZCwgaW50IGRlcHRoID0gMCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiB0cnlQYXJzZURlY29uc3Ry
dWN0aW9uUGF0dGVybkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKIAorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBO
RVZFUl9JTkxJTkUgYm9vbCBwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9u
UmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSwgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdT
Y29wZSwgQ29uc3RydWN0b3JLaW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1
bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNl
VHlwZSA9IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOworI2Vsc2UKICAgICB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBib29sIHBhcnNlRnVuY3Rpb25JbmZvKFRy
ZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlLCBib29s
IG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQsIGludCBmdW5jdGlvbktl
eXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYpOworI2VuZGlmCisg
ICAgCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZUNsYXNzRXhwcmVzc2lvbiBwYXJzZUNsYXNzKFRy
ZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIFBhcnNlckNsYXNzSW5mbzxUcmVlQnVp
bGRlcj4mKTsKICNlbmRpZgpAQCAtNzg5LDYgKzgxOSwxNCBAQCBwcml2YXRlOgogICAgICAgICBy
ZXR1cm4gYWxsb3dBdXRvbWF0aWNTZW1pY29sb24oKTsKICAgICB9CiAgICAgCisKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHZvaWQgc2V0RW5kT2ZTdGF0ZW1lbnQo
KQorICAgIHsKKyAgICAgICAgbV9sZXhlci0+c2V0VG9rZW5Qb3NpdGlvbigmbV90b2tlbik7Cisg
ICAgfQorI2VuZGlmCisKICAgICBib29sIGNhblJlY3Vyc2UoKQogICAgIHsKICAgICAgICAgcmV0
dXJuIG1fdm0tPmlzU2FmZVRvUmVjdXJzZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKaW5kZXggNmI3MzYyODJlMmQyYTgxYmM2M2Rj
MmYzYzBlNWFlOGM4NThjZDFmOC4uMGNkZTBjNjdhOWRlMGVkZjM0MTQ0ZTMyNzkxZTVlOTBiNGEy
MTUxNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5j
dGlvbkluZm8uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0
aW9uSW5mby5oCkBAIC0yOCw2ICsyOCwxMCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAorI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitlbnVtIEZ1bmN0aW9uQm9keVR5cGUgeyBB
cnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24sIEFycm93RnVuY3Rpb25Cb2R5QmxvY2ssIFN0YW5k
YXJkRnVuY3Rpb25Cb2R5QmxvY2sgfTsKKyNlbmRpZgorCiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+CiBzdHJ1Y3QgUGFyc2VyRnVuY3Rpb25JbmZvIHsKICAgICBjb25zdCBJZGVudGlmaWVy
KiBuYW1lID0gMDsKQEAgLTM4LDYgKzQyLDExIEBAIHN0cnVjdCBQYXJzZXJGdW5jdGlvbkluZm8g
ewogICAgIGludCBib2R5U3RhcnRMaW5lID0gMDsKICAgICBpbnQgYm9keUVuZExpbmUgPSAwOwog
ICAgIHVuc2lnbmVkIGJvZHlTdGFydENvbHVtbiA9IDA7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICB1bnNpZ25lZCBhcnJvd0Z1bmN0aW9uT2Zmc2V0ID0gMDsKKyAg
ICBib29sIGlzQXJyb3dGdW5jdGlvbiA9IGZhbHNlOworICAgIEZ1bmN0aW9uQm9keVR5cGUgZnVu
Y3Rpb25Cb2R5VHlwZSA9IFN0YW5kYXJkRnVuY3Rpb25Cb2R5QmxvY2s7CisjZW5kaWYKIH07CiAK
ICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlclRva2Vucy5oCmluZGV4IDgzMjlmODJhOWIyZmY5MTVkMWYyNDFjMWY4YmZmYWQ0
MjQ3YTVmMGIuLmM4YjE2NmUwZWFkN2QyZGE3MTllNzZjNGEyZjA5YWZmMWQ3NGQ3YWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaApAQCAtNzUsNiArNzUs
OSBAQCBlbnVtIEpTVG9rZW5UeXBlIHsKICAgICBGSU5BTExZLAogICAgIERFQlVHR0VSLAogICAg
IEVMU0UsCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBBUlJPV0ZV
TkNUSU9OLAorI2VuZGlmCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAgICAgQ0xBU1NU
T0tFTiwKICAgICBFWFRFTkRTLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9Tb3VyY2VDb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNv
ZGUuaAppbmRleCA3M2QyM2RiODJhZjI1ZWE0NmMwZjg5Nzg1Y2U0MjRiYjYwZWI2MWE3Li45Mjhl
NzEyYTkwZTM0ODk4OGJjMzU1NDg5ODc1YjA5MDc3Njc1NTIzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaApAQCAtMTA1LDYgKzEwNSw5IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICAKICAgICAgICAgU291cmNlQ29kZSBzdWJFeHByZXNzaW9uKHVuc2lnbmVk
IG9wZW5CcmFjZSwgdW5zaWduZWQgY2xvc2VCcmFjZSwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0
Q29sdW1uKTsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAg
IFNvdXJjZUNvZGUgc3ViQXJyb3dFeHByZXNzaW9uKHVuc2lnbmVkIHN0YXJ0QXJyb3dGdW5jdGlv
biwgdW5zaWduZWQgZW5kQXJyb3dGdW5jdGlvbiwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29s
dW1uKTsKKyNlbmRpZgogICAgIHByaXZhdGU6CiAgICAgICAgIFJlZlB0cjxTb3VyY2VQcm92aWRl
cj4gbV9wcm92aWRlcjsKICAgICAgICAgaW50IG1fc3RhcnRDaGFyOwpAQCAtMTE4LDYgKzEyMSwx
NyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgcmV0dXJuIFNvdXJjZUNvZGUoU3RyaW5nU291
cmNlUHJvdmlkZXI6OmNyZWF0ZShzb3VyY2UsIHVybCwgc3RhcnRQb3NpdGlvbiksIHN0YXJ0UG9z
aXRpb24ubV9saW5lLm9uZUJhc2VkSW50KCksIHN0YXJ0UG9zaXRpb24ubV9jb2x1bW4ub25lQmFz
ZWRJbnQoKSk7CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICBpbmxpbmUgU291cmNlQ29kZSBTb3VyY2VDb2RlOjpzdWJBcnJvd0V4cHJlc3Npb24odW5z
aWduZWQgc3RhcnRBcnJvd0Z1bmN0aW9uLCB1bnNpZ25lZCBlbmRBcnJvd0Z1bmN0aW9uLCBpbnQg
Zmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pCisgICAgeworICAgICAgICBBU1NFUlQocHJvdmlk
ZXIoKS0+c291cmNlKClbc3RhcnRBcnJvd0Z1bmN0aW9uXSA9PSAnPScgJiYgcHJvdmlkZXIoKS0+
c291cmNlKClbc3RhcnRBcnJvd0Z1bmN0aW9uICsgMV0gPT0gJz4nKTsKKyAgICAgICAgLy8gRml4
bWU6IFVzZSBiZXR0ZXIgYXBwcm9hY2ggdG8gY2hlY2sgc3ltYm9sCisgICAgICAgIEFTU0VSVChw
cm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJywnIHx8IHByb3Zp
ZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnOycgfHwgcHJvdmlkZXIo
KS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICcpJyB8fCBwcm92aWRlcigpLT5z
b3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJ10nIHx8IHByb3ZpZGVyKCktPnNvdXJj
ZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnfScpOworICAgICAgICBzdGFydENvbHVtbiAr
PSAxOyAvLyBDb252ZXJ0IHRvIGJhc2UgMS4KKyAgICAgICAgcmV0dXJuIFNvdXJjZUNvZGUocHJv
dmlkZXIoKSwgc3RhcnRBcnJvd0Z1bmN0aW9uLCBlbmRBcnJvd0Z1bmN0aW9uIC0gMSwgZmlyc3RM
aW5lLCBzdGFydENvbHVtbik7CisgICAgfQorI2VuZGlmCisKICAgICBpbmxpbmUgU291cmNlQ29k
ZSBTb3VyY2VDb2RlOjpzdWJFeHByZXNzaW9uKHVuc2lnbmVkIG9wZW5CcmFjZSwgdW5zaWduZWQg
Y2xvc2VCcmFjZSwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKQogICAgIHsKICAgICAg
ICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW29wZW5CcmFjZV0gPT0gJ3snKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0
ZW0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0
ZW0uaAppbmRleCA2MzUzNzllM2Y0NDU2NjhjNTJiODcyZjc2MTZkY2I1OTIxYTgyOTQ0Li5mNDI4
ZGI1MGE4ZGE3YTdhYjQ2ODI0YWIzODA4M2RiMDUyZDczNzc2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCkBAIC00
MCw2ICs0MCwxMCBAQCBzdHJ1Y3QgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFt
ZXRlcnMgewogICAgIGJvb2wgbmVlZHNGdWxsQWN0aXZhdGlvbjsKICAgICBib29sIHVzZXNFdmFs
OwogICAgIGJvb2wgc3RyaWN0TW9kZTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgIGJvb2wgaXNCb2R5QXJyb3dFeHByZXNzaW9uOworICAgIEpTVG9rZW5UeXBlIHRv
a2VuVHlwZTsKKyNlbmRpZgogICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+IHVzZWRWYXJp
YWJsZXM7CiAgICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4gd3JpdHRlblZhcmlhYmxlczsK
IH07CkBAIC01NSwxMCArNTksMTQgQEAgcHVibGljOgogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9w
dHI8U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0+IGNyZWF0ZShjb25zdCBTb3VyY2VQcm92aWRlckNh
Y2hlSXRlbUNyZWF0aW9uUGFyYW1ldGVycyYpOwogICAgIH5Tb3VyY2VQcm92aWRlckNhY2hlSXRl
bSgpOwogCi0gICAgSlNUb2tlbiBjbG9zZUJyYWNlVG9rZW4oKSBjb25zdCAKKyAgICBKU1Rva2Vu
IGVuZEZ1bmN0aW9uVG9rZW4oKSBjb25zdCAKICAgICB7CiAgICAgICAgIEpTVG9rZW4gdG9rZW47
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdG9rZW4ubV90
eXBlID0gaXNCb2R5QXJyb3dFeHByZXNzaW9uID8gdG9rZW5UeXBlIDogQ0xPU0VCUkFDRTsKKyNl
bHNlCiAgICAgICAgIHRva2VuLm1fdHlwZSA9IENMT1NFQlJBQ0U7CisjZW5kaWYKICAgICAgICAg
dG9rZW4ubV9kYXRhLm9mZnNldCA9IGNsb3NlQnJhY2VPZmZzZXQ7CiAgICAgICAgIHRva2VuLm1f
bG9jYXRpb24uc3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNlT2Zmc2V0OwogICAgICAgICB0b2tlbi5t
X2xvY2F0aW9uLmVuZE9mZnNldCA9IGNsb3NlQnJhY2VPZmZzZXQgKyAxOwpAQCAtODIsNiArOTAs
MTEgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIHVzZWRWYXJpYWJsZXNDb3VudDsKICAgICB1bnNp
Z25lZCB3cml0dGVuVmFyaWFibGVzQ291bnQ7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIGJvb2wgaXNCb2R5QXJyb3dFeHByZXNzaW9uOworICAgIEpTVG9rZW5U
eXBlIHRva2VuVHlwZTsKKyNlbmRpZgorCiAgICAgU3RyaW5nSW1wbCoqIHVzZWRWYXJpYWJsZXMo
KSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0PFN0cmluZ0ltcGwqKj4obV92YXJpYWJsZXMpOyB9
CiAgICAgU3RyaW5nSW1wbCoqIHdyaXR0ZW5WYXJpYWJsZXMoKSBjb25zdCB7IHJldHVybiBjb25z
dF9jYXN0PFN0cmluZ0ltcGwqKj4oJm1fdmFyaWFibGVzW3VzZWRWYXJpYWJsZXNDb3VudF0pOyB9
CiAKQEAgLTExNSw2ICsxMjgsMTAgQEAgaW5saW5lIFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjpT
b3VyY2VQcm92aWRlckNhY2hlSXRlbShjb25zdCBTb3VyY2VQcm92aWRlckNhY2gKICAgICAsIGNs
b3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQocGFyYW1ldGVycy5jbG9zZUJyYWNlTGluZVN0YXJ0T2Zm
c2V0KQogICAgICwgdXNlZFZhcmlhYmxlc0NvdW50KHBhcmFtZXRlcnMudXNlZFZhcmlhYmxlcy5z
aXplKCkpCiAgICAgLCB3cml0dGVuVmFyaWFibGVzQ291bnQocGFyYW1ldGVycy53cml0dGVuVmFy
aWFibGVzLnNpemUoKSkKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
ICwgaXNCb2R5QXJyb3dFeHByZXNzaW9uKHBhcmFtZXRlcnMuaXNCb2R5QXJyb3dFeHByZXNzaW9u
KQorICAgICwgdG9rZW5UeXBlKHBhcmFtZXRlcnMudG9rZW5UeXBlKQorI2VuZGlmCiB7CiAgICAg
dW5zaWduZWQgaiA9IDA7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHVzZWRWYXJpYWJs
ZXNDb3VudDsgKytpLCArK2opIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvU3ludGF4Q2hlY2tlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50
YXhDaGVja2VyLmgKaW5kZXggOGU0ZjYxYjk0OTg5MGI5YmY1NDAyOWU5NjY2MWVlZjUzYTE3YjU4
NC4uNWY4ZTIxMWVlNGI1M2IzOTRlYjVhZTIxOTBiODNjOGM0Zjg0NGNmZCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKQEAgLTE3MCw2ICsxNzAsMTAg
QEAgcHVibGljOgogI2VuZGlmCiAgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlRnVuY3Rpb25FeHBy
KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50YXhD
aGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQogICAgIGludCBjcmVhdGVGdW5jdGlv
bkJvZHkoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgaW50
LCBpbnQsIGJvb2wsIGludCwgaW50LCBpbnQsIENvbnN0cnVjdG9yS2luZCkgeyByZXR1cm4gRnVu
Y3Rpb25Cb2R5UmVzdWx0OyB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihjb25zdCBKU1Rva2Vu
TG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJl
dHVybiBGdW5jdGlvbkV4cHI7IH0KKyNlbmRpZiAKKyAgICB2b2lkIHNldEZ1bmN0aW9uTmFtZVN0
YXJ0KGludCwgaW50KSB7IH0KICAgICBpbnQgY3JlYXRlQXJndW1lbnRzKCkgeyByZXR1cm4gQXJn
dW1lbnRzUmVzdWx0OyB9CiAgICAgaW50IGNyZWF0ZUFyZ3VtZW50cyhpbnQpIHsgcmV0dXJuIEFy
Z3VtZW50c1Jlc3VsdDsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZVNwcmVhZEV4cHJlc3Np
b24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvblR5cGUsIGludCwgaW50LCBpbnQp
IHsgcmV0dXJuIFNwcmVhZEV4cHI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0Fycm93RnVuY3Rpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZmYzNlYTE4MDA2ODk2NDNhYWRk
NmM2YTQ5N2VkMGFlNmMyMTExMjAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwCkBAIC0wLDAgKzEsNzcgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyNpbmNsdWRlICJKU0Fy
cm93RnVuY3Rpb24uaCIKKworI2luY2x1ZGUgIkVycm9yLmgiCisjaW5jbHVkZSAiRXhjZXB0aW9u
SGVscGVycy5oIgorI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKKyNpbmNsdWRlICJKU0NKU1ZhbHVl
LmgiCisjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTRnVuY3Rpb25JbmxpbmVz
LmgiCisjaW5jbHVkZSAiSlNPYmplY3QuaCIKKyNpbmNsdWRlICJQcm9wZXJ0eVNsb3QuaCIKKyNp
bmNsdWRlICJWTS5oIgorCituYW1lc3BhY2UgSlNDIHsKKyAgICAKK2NvbnN0IENsYXNzSW5mbyBK
U0Fycm93RnVuY3Rpb246OnNfaW5mbyA9IHsgIkFycm93RnVuY3Rpb24iLCAmQmFzZTo6c19pbmZv
LCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTQXJyb3dGdW5jdGlvbikgfTsKKwordm9pZCBKU0Fy
cm93RnVuY3Rpb246OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQoreworICAgIHN0YXRpY19jYXN0PEpT
QXJyb3dGdW5jdGlvbio+KGNlbGwpLT5KU0Fycm93RnVuY3Rpb246On5KU0Fycm93RnVuY3Rpb24o
KTsKK30KKworSlNBcnJvd0Z1bmN0aW9uOjpKU0Fycm93RnVuY3Rpb24oVk0mIHZtLCBKU1Njb3Bl
KiBzY29wZSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSkKKyAgICA6IEJhc2Uodm0sIGV4ZWN1dGFibGUsIHNjb3BlLCBzdHJ1Y3R1cmUpCit7Cit9
CisgICAgCit2b2lkIEpTQXJyb3dGdW5jdGlvbjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQorewor
ICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKy8vIFByb3RvdHlwZSBvZiBhcnJvdyBmdW5j
dGlvbiBpcyB1bmRlZmluZWQKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnBy
b3RvdHlwZSwganNVbmRlZmluZWQoKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgRG9udEVudW0p
OworfQorICAgIAordm9pZCBKU0Fycm93RnVuY3Rpb246OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBj
ZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKK3sKKyAgICBKU0Fycm93RnVuY3Rpb24qIHRoaXNP
YmplY3QgPSBqc0Nhc3Q8SlNBcnJvd0Z1bmN0aW9uKj4oY2VsbCk7CisgICAgQVNTRVJUX0dDX09C
SkVDVF9JTkhFUklUUyh0aGlzT2JqZWN0LCBpbmZvKCkpOworICAgIEJhc2U6OnZpc2l0Q2hpbGRy
ZW4odGhpc09iamVjdCwgdmlzaXRvcik7Cit9CisgICAgCitDb25zdHJ1Y3RUeXBlIEpTQXJyb3dG
dW5jdGlvbjo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwqIGNlbGwsIENvbnN0cnVjdERhdGEmIGNv
bnN0cnVjdERhdGEpCit7CisgICAgSlNGdW5jdGlvbiogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0Z1
bmN0aW9uKj4oY2VsbCk7CisgICAgICAgIAorICAgIGNvbnN0cnVjdERhdGEuanMuZnVuY3Rpb25F
eGVjdXRhYmxlID0gdGhpc09iamVjdC0+anNFeGVjdXRhYmxlKCk7CisgICAgY29uc3RydWN0RGF0
YS5qcy5zY29wZSA9IHRoaXNPYmplY3QtPnNjb3BlKCk7CisgICAgcmV0dXJuIENvbnN0cnVjdFR5
cGVOb25lOworfQorfSAvLyBuYW1lc3BhY2UgSlNDCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzgwMTVkMzg3
MjFjY2E0NGFlMmY2NWNiNmQ3N2I2YTY1MjIwOTY1ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oCkBAIC0wLDAgKzEsNzQg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVm
IEpTQXJyb3dGdW5jdGlvbl9oCisjZGVmaW5lIEpTQXJyb3dGdW5jdGlvbl9oCisKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorCisjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgor
I2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCisKK25hbWVzcGFjZSBKU0MgeworCitjbGFzcyBK
U0Fycm93RnVuY3Rpb24gOiBwdWJsaWMgSlNGdW5jdGlvbiB7CitwdWJsaWM6CisgICAgdHlwZWRl
ZiBKU0Z1bmN0aW9uIEJhc2U7CisgICAgICAgIAorICAgIHN0YXRpYyBKU0Fycm93RnVuY3Rpb24q
IGNyZWF0ZShWTSYgdm0sIEpTU2NvcGUqIHNjb3BlLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1
dGFibGUsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCisgICAgeworICAgICAgICBKU0Fy
cm93RnVuY3Rpb24qIGZ1bmN0aW9uID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8SlNBcnJv
d0Z1bmN0aW9uPih2bS5oZWFwKSkgSlNBcnJvd0Z1bmN0aW9uKHZtLCBzY29wZSwgZXhlY3V0YWJs
ZSwgZ2xvYmFsT2JqZWN0LT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCkpOworICAgICAgICBBU1NF
UlQoZnVuY3Rpb24tPnN0cnVjdHVyZSgpLT5nbG9iYWxPYmplY3QoKSk7CisgICAgICAgIGZ1bmN0
aW9uLT5maW5pc2hDcmVhdGlvbih2bSk7CisgICAgICAgIHJldHVybiBmdW5jdGlvbjsKKyAgICB9
CisgICAgCisgICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0NlbGwqKTsKKyAgICAgICAgCisgICAg
c3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUpCisgICAgeworICAgICAgICBBU1NFUlQo
Z2xvYmFsT2JqZWN0KTsKKyAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9i
YWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oSlNGdW5jdGlvblR5cGUsIFN0cnVjdHVyZUZs
YWdzKSwgaW5mbygpKTsKKyAgICB9CisgICAgICAgIAorICAgIHN0YXRpYyBDb25zdHJ1Y3RUeXBl
IGdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYpOworICAgICAgICAKKyAg
ICBERUNMQVJFX0lORk87CisKK3Byb3RlY3RlZDoKKyAgICBjb25zdCBzdGF0aWMgdW5zaWduZWQg
U3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNIYXNJbnN0YW5jZSB8IEJhc2U6OlN0cnVjdHVyZUZs
YWdzOworICAgICAgICAKKyAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNs
b3RWaXNpdG9yJik7CisgICAgICAgIAorcHJpdmF0ZToKKyAgICBKU0Fycm93RnVuY3Rpb24oVk0m
LCBKU1Njb3BlKiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgU3RydWN0dXJlKik7CisKKyAgICB2b2lk
IGZpbmlzaENyZWF0aW9uKFZNJik7Cit9OworICAgIAorfSAvLyBuYW1lc3BhY2UgSlNDCisjZW5k
aWYgLy8gRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYCisKKyNlbmRpZiAvLyBKU0Fycm93RnVuY3Rp
b25faApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlv
bi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCmluZGV4IDli
ZDNmZTI0MTUwMDYxMWNkOTk3NTZlNzFmZjU5MDBhNGRmZGUwMGMuLjdhMTVjOTg1MTE5OTM1ZTQ0
ZjlkYTU1NmIwYmIxMTJkOWExYzhmNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0Z1bmN0aW9uLmgKQEAgLTEzMiw2ICsxMzIsOSBAQCBwcm90ZWN0ZWQ6CiAKICAgICBKU19F
WFBPUlRfUFJJVkFURSBKU0Z1bmN0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUq
KTsKICAgICBKU0Z1bmN0aW9uKFZNJiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgSlNTY29wZSopOwor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgSlNGdW5jdGlvbihWTSYs
IEZ1bmN0aW9uRXhlY3V0YWJsZSosIEpTU2NvcGUqLCBTdHJ1Y3R1cmUqKTsKKyNlbmRpZgogCiAg
ICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIE5hdGl2ZUV4ZWN1dGFibGUqLCBpbnQgbGVuZ3Ro
LCBjb25zdCBTdHJpbmcmIG5hbWUpOwogICAgIHVzaW5nIEJhc2U6OmZpbmlzaENyZWF0aW9uOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGlu
ZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgK
aW5kZXggMzdiMjgxYWE1ZDBjMWI4NjE2NDUxOWZkN2M1NjZlMzdmMGYxMzQwMS4uN2IzNDkwYmVi
OTRhMzU5M2VlMTdiYzNiMTZiMzJjN2RmYWY5NTczZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oCkBAIC0zOCw2ICszOCwxNSBAQCBp
bmxpbmUgSlNGdW5jdGlvbjo6SlNGdW5jdGlvbihWTSYgdm0sIEZ1bmN0aW9uRXhlY3V0YWJsZSog
ZXhlY3V0YWJsZSwgSlNTY29wZSogcwogewogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKK2lubGluZSBKU0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKFZNJiB2bSwgRnVuY3Rp
b25FeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBKU1Njb3BlKiBzY29wZSwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUpCisgICAgOiBCYXNlKHZtLCBzY29wZSwgc3RydWN0dXJlKQorICAgICwgbV9leGVjdXRh
YmxlKHZtLCB0aGlzLCBleGVjdXRhYmxlKQorICAgICwgbV9hbGxvY2F0aW9uUHJvZmlsZVdhdGNo
cG9pbnQoQ2xlYXJXYXRjaHBvaW50KQoreworfQorI2VuZGlmCisgICAgCiBpbmxpbmUgRnVuY3Rp
b25FeGVjdXRhYmxlKiBKU0Z1bmN0aW9uOjpqc0V4ZWN1dGFibGUoKSBjb25zdAogewogICAgIEFT
U0VSVCghaXNIb3N0RnVuY3Rpb25Ob25JbmxpbmUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggMWQ0YWVkMDAyYzZiYmIzY2Ji
YzllZmI2MGJjODBjN2UzYjc1MmZkOS4uMWM0YWIxNzAxN2ZlZDE5ZThjN2IxNmEyZDBjOTIxZWFj
MTljNzkxNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
T2JqZWN0LmNwcApAQCAtNjEsNiArNjEsNyBAQAogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXJDb25z
dHJ1Y3Rvci5oIgogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXJQcm90b3R5cGUuaCIKICNpbmNsdWRl
ICJKU0FycmF5SXRlcmF0b3IuaCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKICNpbmNs
dWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVk
ZSAiSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgiCkBAIC0yMzMsNiArMjM0LDkgQEAgdm9pZCBKU0ds
b2JhbE9iamVjdDo6aW5pdChWTSYgdm0pCiAgICAgZXhlYy0+c2V0Q2FsbGVlKG1fZ2xvYmFsQ2Fs
bGVlLmdldCgpKTsKIAogICAgIG1fZnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0Z1
bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0
KCkpKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIG1fYXJyb3dG
dW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlU3Ry
dWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7CisjZW5kaWYKICAg
ICBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0JvdW5kRnVuY3Rpb246
OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOwog
ICAgIG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZTo6YWRk
UHJvcGVydHlUcmFuc2l0aW9uKHZtLCBtX2Z1bmN0aW9uU3RydWN0dXJlLmdldCgpLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5uYW1lLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51bSwgbV9mdW5j
dGlvbk5hbWVPZmZzZXQpKTsKICAgICBtX2ludGVybmFsRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZt
LCB0aGlzLCBJbnRlcm5hbEZ1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVu
Y3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKQEAgLTcyNSw2ICs3MjksOSBAQCB2b2lkIEpTR2xvYmFs
T2JqZWN0Ojp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3Ip
CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fY2FsbGVlU3RydWN0dXJlKTsKICAg
ICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9mdW5jdGlvblN0cnVjdHVyZSk7CiAgICAg
dmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYm91bmRGdW5jdGlvblN0cnVjdHVyZSk7Cisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2aXNpdG9yLmFwcGVuZCgm
dGhpc09iamVjdC0+bV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKTsKKyNlbmRpZgogICAgIHZpc2l0
b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUpOwogICAgIHZp
c2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX3N5bWJvbE9iamVjdFN0cnVjdHVyZSk7CiAgICAg
dmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fcmVnRXhwTWF0Y2hlc0FycmF5U3RydWN0dXJl
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2Jq
ZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCmlu
ZGV4IDNlNTc4Mzc4YWU5M2I1YjEzZDhlODFlMTZkYWU2MWZiODFhY2QxNmEuLjQ4OWYyZWYyMGM5
MmExYjQzZDEwZTE4OGRhMzIxZjkzNjA0YjU0YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtMjI1LDYgKzIyNSw5IEBAIHByb3RlY3Rl
ZDoKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2NhbGxlZVN0cnVjdHVyZTsKICAgICBX
cml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2Z1bmN0aW9uU3RydWN0dXJlOwogICAgIFdyaXRlQmFy
cmllcjxTdHJ1Y3R1cmU+IG1fYm91bmRGdW5jdGlvblN0cnVjdHVyZTsKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYXJy
b3dGdW5jdGlvblN0cnVjdHVyZTsKKyNlbmRpZgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+
IG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZTsKICAgICBQcm9wZXJ0eU9mZnNldCBtX2Z1bmN0aW9u
TmFtZU9mZnNldDsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3ByaXZhdGVOYW1lU3Ry
dWN0dXJlOwpAQCAtNDU3LDYgKzQ2MCw5IEBAIHB1YmxpYzoKICAgICBTdHJ1Y3R1cmUqIGNhbGxl
ZVN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbGVlU3RydWN0dXJlLmdldCgpOyB9CiAg
ICAgU3RydWN0dXJlKiBmdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fZnVuY3Rp
b25TdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUqIGJvdW5kRnVuY3Rpb25TdHJ1Y3R1
cmUoKSBjb25zdCB7IHJldHVybiBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFN0cnVjdHVyZSogYXJyb3dG
dW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXJyb3dGdW5jdGlvblN0cnVjdHVy
ZS5nZXQoKTsgfQorI2VuZGlmCiAgICAgU3RydWN0dXJlKiBuYW1lZEZ1bmN0aW9uU3RydWN0dXJl
KCkgY29uc3QgeyByZXR1cm4gbV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CiAgICAg
UHJvcGVydHlPZmZzZXQgZnVuY3Rpb25OYW1lT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9mdW5j
dGlvbk5hbWVPZmZzZXQ7IH0KICAgICBTdHJ1Y3R1cmUqIG51bWJlck9iamVjdFN0cnVjdHVyZSgp
IGNvbnN0IHsgcmV0dXJuIG1fbnVtYmVyT2JqZWN0U3RydWN0dXJlLmdldCgpOyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4
aWNhbHRoaXMuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tbGV4aWNhbHRoaXMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjEyZmJhZjgwNDQ4MmM3NzYxYzM3ZGQ2
OTNhODQ4NWU1NTExNTczZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsdGhpcy5qcwpAQCAtMCwwICsxLDMx
IEBACit2YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhw
ZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJv
dyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsg
YWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgYWZPYmpMZXhCaW5kMiA9IGZ1bmN0aW9uICgp
IHsKKyAgdGhpcy5mdW5jID0gKCkgPT4gdGhpczsKK307CisKK3ZhciBhZk9iakxleEJpbmQySW5z
dGFuY2UgPSBuZXcgYWZPYmpMZXhCaW5kMigpOworCit0ZXN0Q2FzZShhZk9iakxleEJpbmQySW5z
dGFuY2UuZnVuYygpID09PSBhZk9iakxleEJpbmQySW5zdGFuY2UsIHRydWUsICJFcnJvcjogdGhp
cyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMy
Iik7CisKK3ZhciBvYmogPSB7CisgIG1ldGhvZDogZnVuY3Rpb24gKCkgeworICAgIHJldHVybiAo
KSA9PiB0aGlzOworICB9Cit9OworCit0ZXN0Q2FzZShvYmoubWV0aG9kKCkoKSA9PT0gb2JqLCB0
cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbiAjMyIpOworCit2YXIgZmFrZSA9IHtzdGVhbDogb2JqLm1ldGhvZCgpfTsK
K3Rlc3RDYXNlKGZha2Uuc3RlYWwoKSA9PT0gb2JqLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90
IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNCIpOworCisK
Ky8vIEZpeG1lOiBmb2xsb3dpbmcgdGVzdCBmYWlscyBpbiBkZmctZWFnZXItbm8tY2ppdC12YWxp
ZGF0ZSAmIGZ0bC1lYWdlci1uby1jaml0IG1vZGUKK3ZhciByZWFsID0ge2JvcnJvdzogb2JqLm1l
dGhvZH07Cit0ZXN0Q2FzZShyZWFsLmJvcnJvdygpKCkgPT09IHJlYWwsIHRydWUsICJFcnJvcjog
dGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9u
ICM1Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tb3RoZXJzLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9hcnJvd2Z1bmN0aW9uLW90aGVycy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYmJmODU5ZTIwM2ViMWY1NGFj
YWUxZDQwODNjYTNkZDNkYzk3NjFmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLW90aGVycy5qcwpAQCAtMCwwICsxLDMw
IEBACit2YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhw
ZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJv
dyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsg
YWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgc2ltcGxlQXJyb3dGdW5jdGlvbiA9ICgpID0+
IHt9OworCit0ZXN0Q2FzZSh0eXBlb2Ygc2ltcGxlQXJyb3dGdW5jdGlvbiwgImZ1bmN0aW9uIiwg
IkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0
Q2FzZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yoc2ltcGxlQXJyb3dGdW5jdGlvbiksIEZ1bmN0aW9u
LnByb3RvdHlwZSwgIkVycm9yOiBOb3QgY29ycmVjdCBnZXRQcm90b3R5cGVPZiB2YWx1ZSBmb3Ig
YXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2Uoc2ltcGxlQXJyb3dGdW5jdGlvbiBpbnN0YW5j
ZW9mIEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgaW5zdGFu
Y2VvZiBtZXRob2QgZm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93
RnVuY3Rpb24uY29uc3RydWN0b3IgPT0gRnVuY3Rpb24sIHRydWUsICJFcnJvcjogTm90IGNvcnJl
Y3QgcmVzdWx0IGZvciBjb25zdHJ1Y3RvciBtZXRob2Qgb2YgYXJyb3cgZnVuY3Rpb24iKTsKKwor
dGVzdENhc2UodHlwZW9mIHNpbXBsZUFycm93RnVuY3Rpb24ucHJvdG90eXBlID09PSAndW5kZWZp
bmVkJywgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBh
cnJvdyBmdW5jdGlvbiIpOworCit2YXIgZXJyb3JPbkNyZWF0ZSA9IGZhbHNlOworCit0cnkgewor
ICB2YXIgZmMgPSBuZXcgc2ltcGxlQXJyb3dGdW5jdGlvbigpOworfQorY2F0Y2ggKGUpIHsKKyAg
ZXJyb3JPbkNyZWF0ZSA9IHRydWU7Cit9CisKK3Rlc3RDYXNlKGVycm9yT25DcmVhdGUsIHRydWUs
ICJFcnJvcjogTm8gZXJyb3IgZHVyaW5nIHJ1biBuZXcgQXJyb3dGdW5jdGlvbiIpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXRk
ei5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi10
ZHouanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZTlkMzVjZGVhNGJhZjY2NzQzMWFmOGFiZThkYWRmMjJkMDRiOTBl
MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YXJyb3dmdW5jdGlvbi10ZHouanMKQEAgLTAsMCArMSwyNCBAQAordmFyIEEgPSBjbGFzcyBBIHsg
fTsKK3ZhciBCID0gY2xhc3MgQiBleHRlbmRzIEEgeworICBjb25zdHJ1Y3RvcihhY2Nlc3NUaGlz
QmVmb3JlU3VwZXIpIHsKKyAgICBpZiAoYWNjZXNzVGhpc0JlZm9yZVN1cGVyKSB7CisgICAgICB2
YXIgZiA9ICgpID0+IHRoaXM7CisgICAgICBzdXBlcigpOworICAgIH0gZWxzZSB7CisgICAgICBz
dXBlcigpOworICAgIH0KKyAgfQorfTsKKwordmFyIGV4Y2VwdGlvbiA9IG51bGw7Cit0cnkgewor
ICAgICBuZXcgQih0cnVlKTsKK30gY2F0Y2ggKGUpIHsKKyAgICBleGNlcHRpb24gPSBlOworICAg
IGlmICghKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikpCisgICAgICAgIHRocm93ICJFeGNl
cHRpb24gdGhyb3duIHdhcyBub3QgYSByZWZlcmVuY2UgZXJyb3IiOworfQoraWYgKCFleGNlcHRp
b24pCisgICAgdGhyb3cgIkV4Y2VwdGlvbiBub3QgdGhyb3duIGZvciBhbiB1bml0aWFsaXplZCB0
aGlzIGF0IGl0ZXJhdGlvbiI7CisKK3ZhciBlID0gbmV3IEIoZmFsc2UpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLmpzIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjA2ODdiM2FhYjFkMjdmNDUzZjkwNzYxY2VjMWFkNGQwNWNmMDNiMzUKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24u
anMKQEAgLTAsMCArMSwxNTQgQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5j
dGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBl
Y3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsg
IicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBhcnJvd0Z1bmN0
aW9uMCA9IHYgPT4gdiArIDE7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMCgxMCk7Cit0ZXN0Q2Fz
ZShyZXN1bHQsIDExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb246IHYgPT4gdiArIDEiKTsKKwordmFyIGFycm93RnVuY3Rpb24xID0gKHYpID0+IHYg
KiAyOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjEoMTApOwordGVzdENhc2UocmVzdWx0LCAyMCAs
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAodikg
PT4gdiArIDEiKTsKKwordmFyIGFycm93RnVuY3Rpb24yID0gKCkgPT4gMTAwMDsKK3Jlc3VsdCA9
IGFycm93RnVuY3Rpb24yKDEyMTIpOwordGVzdENhc2UocmVzdWx0LCAxMDAwICwiRXJyb3I6IE5v
dCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICgpID0+IDEwMDAiKTsK
KwordmFyIHRtcFZhcmlhbHZlMl8xID0gMTUxOwordmFyIGFycm93RnVuY3Rpb24yXzEgPSAoKSA9
PiB0bXBWYXJpYWx2ZTJfMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24yXzEoMTIxKTsKK3Rlc3RD
YXNlKHJlc3VsdCwgdG1wVmFyaWFsdmUyXzEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKCkgPT4gdmFyaWFibGUiKTsKKwordmFyIGFycm93RnVu
Y3Rpb24zID0gKHYsIHgpID0+IHYgKyB4OworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjMoMTEsMTIp
OwordGVzdENhc2UocmVzdWx0LCAyMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uOiAoeCwgeSkgPT4geCArIHkiKTsKKwordmFyIGFycm93RnVuY3Rp
b25XcmFwcGVyID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRlcikgeyByZXR1cm4gY2wocGFyYW10ZXIp
OyB9OworCityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEyMzQpOwordGVzdENh
c2UocmVzdWx0LCAxMjM0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjKSIpOworCisgcmVzdWx0ID0gYXJyb3dG
dW5jdGlvbldyYXBwZXIoeCA9PiAxMjM0LCAyMzQ1KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIzNCAs
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBh
cmFtdGVyOiBmKHggPT4gYywgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVy
KHggPT4gMTIxICsgMjMyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzUzICwiRXJyb3I6IE5vdCBjb3Jy
ZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBj
MSArIGMyKSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMjMgKyAz
MjEsIDk5OTkpOwordGVzdENhc2UocmVzdWx0LCA0NDQgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhl
Y3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMxICsgYzIs
IHkpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IHggKyAxMiwgMjEp
OwordGVzdENhc2UocmVzdWx0LCAzMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4geCArIGMxLCB5KSIpOworCisg
cmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKHgpID0+IHggKyAyMSwgMzIpOwordGVzdENh
c2UocmVzdWx0LCA1MywgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCh4KSA9PiBjMSArIGMyLCB5KSIpOworCisgcmVzdWx0
ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAw
LCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMg
cGFyYW10ZXI6IGYoKCkgPT4gYykiKTsKKworIHZhciBleHRfdmFsdWUgPSAxMjE7CityZXN1bHQg
PSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiBleHRfdmFsdWUpOwordGVzdENhc2UocmVzdWx0
LCAxMjEsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlv
biBhcyBwYXJhbXRlcjogZigoKSA9PiB2KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldy
YXBwZXIoKCkgPT4gZXh0X3ZhbHVlICogMTApOwordGVzdENhc2UocmVzdWx0LCAxMjEwICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10
ZXI6IGYoKCkgPT4gdip4KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKHgp
ID0+IGV4dF92YWx1ZSAqIHgsIDMwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzAqZXh0X3ZhbHVlICwi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFy
YW10ZXI6IGYoKHgpID0+IHYqeCwgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFw
cGVyKCgpID0+IDEwMCwgMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDAgLCJFcnJvcjogTm90IGNv
cnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9
PiBjMSwgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCAr
IDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYzEgKyBjMikiKTsK
KworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCArIDExLCAxMik7Cit0
ZXN0Q2FzZShyZXN1bHQsIDExMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhl
IGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMxICsgYzIsIHkpIik7CisKKyB2
YXIgYXJyb3dGdW5jdGlvbjQgPSB2ID0+IHYgKyAxLCB4eXoxID0gMTAxMDE7CityZXN1bHQgPSBh
cnJvd0Z1bmN0aW9uNCgxMDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAxMiAsIkVycm9yOiBOb3Qg
Y29ycmVjdCBwYXJzaW5nIG9mIHRoIGFycm93IGZ1bmN0aW9uIGluc2lkZSBvZiB0aGUgbGlzdCBv
ZiB2YXJzOiB2YXIgYWYgPSB2PT4gdiArIDE7IHp4Yz1jOyIpOwordGVzdENhc2UoeHl6MSwgMTAx
MDEgLCJFcnJvcjogTm90IGNvcnJlY3QgcGFyc2luZyBvZiB0aCBhcnJvdyBmdW5jdGlvbiBpbnNp
ZGUgb2YgdGhlIGxpc3Qgb2YgdmFyczogdmFyIGFmID0gdj0+IHYgKyAxOyB6eGM9YzsiKTsKKwor
IHZhciBhcnJvd0Z1bmN0aW9uV3JhcHBlcjIgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVyMSwgcGFy
YW10ZXIyKSB7IHJldHVybiBjbChwYXJhbXRlcjEsIHBhcmFtdGVyMik7IH07CityZXN1bHQgPSBh
cnJvd0Z1bmN0aW9uV3JhcHBlcjIoKHgsIHkpID0+IHggKyB5LCAxMiAsNDMpOwordGVzdENhc2Uo
cmVzdWx0LCA1NSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1
bmN0aW9uIGFzIHBhcmFtZXRlcjogZigoeCwgeSkgPT4geCArIHksIGMxLCBjMikiKTsKKworIHZh
ciBhcnJvd0Z1bmN0aW9BcnJheTAgPSBbdiA9PiB2ICogMTBdOworcmVzdWx0ID0gYXJyb3dGdW5j
dGlvQXJyYXkwWzBdKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwICwiRXJyb3I6IE5vdCBjb3Jy
ZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogW3Y9
PnYqMTBdIik7CisKKyB2YXIgYXJyb3dGdW5jdGlvQXJyYXkxID0gW3YgPT4gdiArIDEsIHYgPT4g
diArIDJdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkxWzBdKDEwKTsKK3Rlc3RDYXNlKHJl
c3VsdCwgMTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbiBhcyBpdGVtIGluIGFycmF5OiBbdiA9PiB2ICsgMSwgIHYgPT4gdiArIDJdIik7CityZXN1
bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTFbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMyAsIkVy
cm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0g
aW4gYXJyYXk6IFt2ID0+IHYgKyAxLCAgdiA9PiB2ICsgMl0iKTsKKworIHZhciBhcnJvd0Z1bmN0
aW9BcnJheTIgPSBbKHYpID0+IHYgKyAxLCAodikgPT4gdiArIDJdOworcmVzdWx0ID0gYXJyb3dG
dW5jdGlvQXJyYXkyWzBdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIgLCJFcnJvcjogTm90IGNv
cnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBb
KHYpID0+IHYgKyAxLCAgKHYpID0+IHYgKyAyXSIpOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJy
YXkyWzFdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhl
Y3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKHYpID0+IHYg
KyAxLCAgKHYpID0+IHYgKyAyXSIpOworCisgdmFyIGFycm93RnVuY3Rpb0FycmF5MyA9IFsoKSA9
PiAxMDEsICgpID0+IDEyMzIzXTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5M1swXSgxMSk7
Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMSwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsoKSA9PiBjMSwgICgpID0+IGMy
XSIpOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkzWzFdKDExKTsKK3Rlc3RDYXNlKHJlc3Vs
dCwgMTIzMjMsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKCkgPT4gYzEsICAoKSA9PiBjMl0iKTsKKwordmFyIGFy
cm93RnVuY3Rpb25PYmogPSB7ZnVuYyA6IHkgPT4geSArIDEyfTsKK3Jlc3VsdCA9IGFycm93RnVu
Y3Rpb25PYmouZnVuYygxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIzICwgIkVycm9yOiBOb3QgY29y
cmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHByb3BlcnR5OiB7ZnVuYyA6
IHkgPT4geSArIDEyIH0iKTsKKwordmFyIGFmT2JqTGV4QmluZDIgPSBmdW5jdGlvbiAoKSB7Cisg
IHRoaXMuZnVuYyA9ICgpID0+IHRoaXM7Cit9OworCit2YXIgYXJyb3dGYXRGdW5jdGlvbjAgPSAo
KSA9PiB7IHJldHVybiAxMDAwOyB9OworcmVzdWx0ID0gYXJyb3dGYXRGdW5jdGlvbjAoMTEpOwor
dGVzdENhc2UocmVzdWx0LCAxMDAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0
aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiAoKSA9PiB7IHJldHVybiAxMDAw
OyB9Iik7CisKK3ZhciBhcnJvd0ZhdEZ1bmN0aW9uMSA9IHYgPT4geyB2YXIgaW50dmFsID0gMTAw
OyByZXR1cm4gdiAqIGludHZhbDsgfTsKK3Jlc3VsdCA9IGFycm93RmF0RnVuY3Rpb24xKDExKTsK
K3Rlc3RDYXNlKHJlc3VsdCwgMTEwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogeCA9PiB7IHZhciB2PTEwMDA7
IHJldHVybiB2Kng7IH0iKTsKKwordmFyIGFycm93RmF0RnVuY3Rpb24yID0gKHYpID0+IHsgdmFy
IGludCA9IDIwMDsgcmV0dXJuIHYgKiBpbnQ7IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0aW9u
MigxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIyMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICh4KSA9PiB7IHZh
ciB2PTEwMDA7IHJldHVybiB2Kng7IH0iKTsKKwordmFyIGFycm93RmF0RnVuY3Rpb24zID0gKHYs
IHgpID0+IHsgdmFyIHJlc3VsdCA9IHggKiB2OyByZXR1cm4gcmVzdWx0OyB9OworcmVzdWx0ID0g
YXJyb3dGYXRGdW5jdGlvbjMoMTEsIDEyMjIyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTM0NDQyICwi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBi
b2R5IGFzIGJsb2NrOiAodiwgeCkgPT4geyB2YXIgcmVzdWx0ID0geCAqIHY7IHJldHVybiByZXN1
bHQ7IH0iKTsKKworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeD0+e3JldHVybiB4ICog
MjU7fSwgMTIxKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjUqMTIxICwiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiBmKHgg
PT4ge3JldHVybiB4ICogMjU7fSwgMTIxKSIpOworCityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3Jh
cHBlcjIoKHgsIHkpPT57cmV0dXJuIHggKiB5O30sIDE0LCAxMik7Cit0ZXN0Q2FzZShyZXN1bHQs
IDE0KjEyICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gd2l0aCBib2R5IGFzIGJsb2NrOiBmKCh4LCB5KT0+e3JldHVybiB4ICogeTt9LCAxNCwgMTIx
KSkiKTsKKwordmFyIHNpbXBsZUFycm93RnVuY3Rpb24gPSAoKSA9PiB7fTsKKwordGVzdENhc2Uo
dHlwZW9mIHNpbXBsZUFycm93RnVuY3Rpb24sICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNvcnJl
Y3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2UoT2JqZWN0LmdldFBy
b3RvdHlwZU9mKHNpbXBsZUFycm93RnVuY3Rpb24pLCBGdW5jdGlvbi5wcm90b3R5cGUsICJFcnJv
cjogTm90IGNvcnJlY3QgZ2V0UHJvdG90eXBlT2YgdmFsdWUgZm9yIGFycm93IGZ1bmN0aW9uIik7
CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93RnVuY3Rpb24gaW5zdGFuY2VvZiBGdW5jdGlvbiwgdHJ1
ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIGluc3RhbmNlb2YgbWV0aG9kIGZvciBh
cnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uLmNvbnN0cnVj
dG9yID09IEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgY29u
c3RydWN0b3IgbWV0aG9kIG9mIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHR5cGVvZiBz
aW1wbGVBcnJvd0Z1bmN0aW9uLnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJFcnJv
cjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBwcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24iKTsK
KwordmFyIGVycm9yT25DcmVhdGUgPSBmYWxzZTsKKwordHJ5IHsKKyAgdmFyIGZjID0gbmV3IHNp
bXBsZUFycm93RnVuY3Rpb24oKTsKK30KK2NhdGNoIChlKSB7CisgIGVycm9yT25DcmVhdGUgPSB0
cnVlOworfQorCit0ZXN0Q2FzZShlcnJvck9uQ3JlYXRlLCB0cnVlLCAiRXJyb3I6IE5vIGVycm9y
IGR1cmluZyBydW4gbmV3IEFycm93RnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYkNv
cmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOGIxMTJmYWU0
NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0OGE3Njk3MmYxMTRjMzgzZDMyNjI5
ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NB
TlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsK
IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVO
QUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CitFTkFCTEVf
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsK
IEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yID0gRU5B
QkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBAIC0yMTQsNCArMjE1LDQgQEAgRU5BQkxFX0xM
SU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVO
QUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQo
RU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9O
UykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05J
TkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9D
T05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJ
T05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVf
Q1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxF
X0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NT
U19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RF
WFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJ
TElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZF
Ul9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBU
RURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19M
RVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQ
SSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJM
RV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcp
ICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJT
KSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FD
WV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChF
TkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykg
JChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01B
VEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VS
Q0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQo
RU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklH
QVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChF
TkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9J
TlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykg
JChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVR
VUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVO
QUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAk
KEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJM
RV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExF
X0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikg
JChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VM
RU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAk
KEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RS
QUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElB
KSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZ
KSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVf
V0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VU
KSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1Ap
ICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJF
U0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5H
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09W
RVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hN
RU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFT
X1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVO
QUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05f
QlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQ
VEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklF
TlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJ
T05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykg
JChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFC
TEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChF
TkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5B
QkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFC
TEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikg
JChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQo
RU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQ
UkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9U
SU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0Vf
Q09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5B
QkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xF
R0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZF
VENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChF
TkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9N
RVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxF
KSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hX
Q09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVH
SU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BS
T1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVP
VEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FV
VE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElP
Tl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JP
TExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkp
ICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZH
X09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVO
QUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1Nf
VFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAk
KEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklF
V19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChF
TkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVf
U0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVO
QUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFC
TEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQo
RU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dl
YktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOGIx
MTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0OGE3Njk3MmYxMTRjMzgz
ZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9t
YWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcg
QEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZB
U19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19TWU5U
QVg7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQU5JTUFUSU9OU19M
RVZFTF8yID0gRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBAIC0yMTQsNCArMjE1LDQg
QEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJ
VEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVf
REVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRf
Q0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxF
X0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNI
RV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJP
WFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFY
KSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxF
X0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJ
T04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMp
ICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVO
QUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9D
VVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVf
REFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFC
TEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNB
VEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVS
X1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05U
Uk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gp
ICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVS
X0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQo
RU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05D
VVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikg
JChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElN
SVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkg
JChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NP
TVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01F
RElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9T
TkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChF
TkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RG
X0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxF
X1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJ
TElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5B
QkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01P
REVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJM
RV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpF
UykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxF
X1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9M
TElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFC
TEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVf
M0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVO
QUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChF
TkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9Y
X0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NT
X0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NT
U19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5B
QkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVf
Q1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9C
UkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVf
SEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxF
TUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19D
T05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VW
RU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERF
Tl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5B
QkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09N
UExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dF
U1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFC
TEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJM
RV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xT
X1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0Vf
Q1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVf
TkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMp
ICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJM
RV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5B
QkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVf
U1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVU
RUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAk
KEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5B
QkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkg
JChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dF
Ql9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5B
QkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9S
RUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRM
X0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FS
SVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIv
U291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5k
ZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0OGE3Njk3MmYx
MTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktp
dDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcg
QEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZB
U19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19TWU5U
QVg7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQU5JTUFUSU9OU19M
RVZFTF8yID0gRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBAIC0yMTQsNCArMjE1LDQg
QEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJ
VEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVf
REVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRf
Q0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxF
X0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNI
RV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJP
WFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFY
KSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxF
X0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJ
T04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMp
ICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVO
QUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9D
VVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVf
REFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFC
TEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNB
VEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVS
X1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05U
Uk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gp
ICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVS
X0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQo
RU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05D
VVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikg
JChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElN
SVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkg
JChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NP
TVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01F
RElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9T
TkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChF
TkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RG
X0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxF
X1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJ
TElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5B
QkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01P
REVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJM
RV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpF
UykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxF
X1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9M
TElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFC
TEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVf
M0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVO
QUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChF
TkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9Y
X0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NT
X0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NT
U19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5B
QkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVf
Q1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9C
UkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVf
SEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxF
TUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19D
T05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VW
RU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERF
Tl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5B
QkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09N
UExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dF
U1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFC
TEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJM
RV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xT
X1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0Vf
Q1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVf
TkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMp
ICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJM
RV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5B
QkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVf
U1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVU
RUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAk
KEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5B
QkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkg
JChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dF
Ql9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5B
QkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9S
RUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRM
X0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FS
SVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9XZWJLaXRG
ZWF0dXJlcy5jbWFrZQppbmRleCAzMmMyMzVkOThiNWE0MjBlYmUzMzQ4MzRjN2I2YTQxODJiMjIy
MjBhLi5hNjc1MzcxNDU2MjdjZDM4YTI3MDc5Y2Q1ZGZlOTg2ODJjOTFmNDY1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL1dl
YktpdEZlYXR1cmVzLmNtYWtlCkBAIC0yOCw2ICsyOCw3IEBAIG1hY3JvKFdFQktJVF9PUFRJT05f
QkVHSU4pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NBTlZBU19QUk9YWSAiVG9n
Z2xlIENhbnZhc1Byb3h5IHN1cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgIlRvZ2dsZSBNZXNzYWdlQ2hhbm5lbCBhbmQgTWVzc2Fn
ZVBvcnQgc3VwcG9ydCIgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0VTNl9D
TEFTU19TWU5UQVggIlRvZ2dsZSBFUzYgY2xhc3Mgc3ludGF4IHN1cHBvcnQiIE9OKQorICAgIFdF
QktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggIlRvZ2ds
ZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJ
T05fREVGSU5FKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyAiVG9nZ2xlIGNvbnRlbnQgZmlsdGVy
aW5nIHN1cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ09OVEVY
VF9NRU5VUyAiVG9nZ2xlIENvbnRleHQgTWVudSBzdXBwb3J0IiBPTikKICAgICBXRUJLSVRfT1BU
SU9OX0RFRklORShFTkFCTEVfQ1NQX05FWFQgIlRvZ2dsZSBDb250ZW50IFNlY3VyaXR5IFBvbGlj
eSAxLjEgc3VwcG9ydCIgT0ZGKQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlY29uZmlnLmguY21h
a2UgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQppbmRleCAyMWQzZmNjNWQ5ODNmOTU5NWRl
ZjM1MTA1NjhjZGM5ODk2NTI0NmVkLi5jZjFhZmU1NmM1ZjBmMjYwOTkwOTBlNTFiN2IyYTY2MDNl
YTA3MzIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQorKysgYi9Tb3Vy
Y2UvY21ha2Vjb25maWcuaC5jbWFrZQpAQCAtMTMsNiArMTMsNyBAQAogI2NtYWtlZGVmaW5lMDEg
RU5BQkxFX0NBTlZBU19QUk9YWQogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWAorI2NtYWtlZGVmaW5l
MDEgRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWAogI2NtYWtlZGVmaW5lMDEgRU5BQkxF
X0NPTlRFTlRfRklMVEVSSU5HCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ09OVEVYVF9NRU5VUwog
I2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NSRURFTlRJQUxfU1RPUkFHRQpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRwZXJsL0ZlYXR1cmVMaXN0LnBtCmluZGV4IDE2ZmQ2NDljNjhkNmIzZDQzZDBiMzFlMzM1Nzkw
NGZjODcyNGE3ZWIuLjIyM2IzMTFiY2ZiYWIyYzI2OGE3ZjI2NTJkMTRlZDE5NjM3ZmRmY2UgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KQEAgLTQ0LDYgKzQ0LDcgQEAg
QkVHSU4gewogbXkgKAogICAgICR0aHJlZURSZW5kZXJpbmdTdXBwb3J0LAogICAgICRhY2NlbGVy
YXRlZDJEQ2FudmFzU3VwcG9ydCwKKyAgICAkYXJyb3dmdW5jdGlvblN5bnRheCwKICAgICAkYmF0
dGVyeVN0YXR1c1N1cHBvcnQsCiAgICAgJGNhbnZhc1BhdGhTdXBwb3J0LAogICAgICRjYW52YXNQ
cm94eVN1cHBvcnQsCkBAIC0xNTQsNiArMTU1LDkgQEAgbXkgQGZlYXR1cmVzID0gKAogICAgIHsg
b3B0aW9uID0+ICJhY2NlbGVyYXRlZC0yZC1jYW52YXMiLCBkZXNjID0+ICJUb2dnbGUgQWNjZWxl
cmF0ZWQgMkQgQ2FudmFzIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTIiwgZGVmYXVsdCA9PiBpc0d0aygpLCB2YWx1ZSA9PiBcJGFjY2VsZXJh
dGVkMkRDYW52YXNTdXBwb3J0IH0sCiAKKyAgICB7IG9wdGlvbiA9PiAiYXJyb3dmdW5jdGlvbi1z
eW50YXgiLCBkZXNjID0+ICJUb2dnbGUgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheCBzdXBwb3J0
IiwKKyAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCIsIGRl
ZmF1bHQgPT4gMSwgdmFsdWUgPT4gXCRhcnJvd2Z1bmN0aW9uU3ludGF4IH0sCisKICAgICB7IG9w
dGlvbiA9PiAiYmF0dGVyeS1zdGF0dXMiLCBkZXNjID0+ICJUb2dnbGUgQmF0dGVyeSBTdGF0dXMg
c3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9CQVRURVJZX1NUQVRVUyIsIGRlZmF1
bHQgPT4gaXNFZmwoKSwgdmFsdWUgPT4gXCRiYXR0ZXJ5U3RhdHVzU3VwcG9ydCB9LAogCmRpZmYg
LS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggZjg3Y2FhYjQzMzQyZTRlYjgyN2U1
MmEzOWNkZmZkOWU2YzQxOGYxMC4uMGZjNDY3OTk4NWMyZmNjOWYzNThjOTQwNjNhOWIwN2ExYTg0
ZDBjMyAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
IEBACisyMDE1LTA0LTAxICAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29t
PgorCisgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKwor
ICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZl
YXR1cmUgZmxhZyB0byBzd2l0Y2ggb24vb2ZmIGVzNiBhcnJvdyBmdW5jdGlvbiBFTkFCTEVfRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYCisKKyAgICAgICAgICogU291cmNlL2NtYWtlL1dlYktpdEZl
YXR1cmVzLmNtYWtlOgorICAgICAgICAgKiBTb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZToKKwog
MjAxNS0wNC0wOCAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQsIHJldmVydCBhY2NpZGVudGFsIGNvbW1pdC4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250438</attachid>
            <date>2015-04-09 06:27:30 -0700</date>
            <delta_ts>2015-04-12 14:08:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150409162637.patch</filename>
            <type>text/plain</type>
            <size>132726</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyNTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
MDhhYzlhNDAwYmQ0NjFlNTU4ZDBkNzQ1MGFjZWRiNjI4MzRlNDg2Li40YTJjMjI0ZDQ3ZjRlYTJl
MjBiY2E4NzlmN2NmODRhMGQ0YWI4ZTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMTUgQEAKKzIwMTUtMDQtMDEgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MDg1NQorCisgICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGRlZCBzdXBwb3J0IG9mIEVTNiBhcnJvdyBmdW5jdGlvbi4gQ2hhbmdlcyB3ZXJlIG1hZGUgYWNj
b3JkaW5nIGZvbGxvd2luZyBzcGVjIGh0dHA6Ly93aWtpLmVjbWFzY3JpcHQub3JnL2Rva3UucGhw
P2lkPWhhcm1vbnk6YXJyb3dfZnVuY3Rpb25fc3ludGF4CisgICAgICAgIEluIHBhdGNoIHdlcmUg
aW1wbGVtZW50ZWQgdGhlIHNpbXBsZXN0IGNhc2VzOgorICAgICAgICAgIDEgbm8gcGFyYW1ldGVy
cyAgICAgICAgICAgICAgICAoKSA9PiAxMCArIDIwCisgICAgICAgICAgMiBzaW5nbGUgcGFyYW1l
dGVyICAgICAgICAgICAgICB4ID0+IHggKyAyMAorICAgICAgICAgIDMgbXVsdGlwbGUgcGFyYW1l
dGVycyAgICAgICh4LCB5KSA9PiB4ICsgeQorICAgICAgICAgIDQgYXJyb3cgZnVuY3Rpb24gd2l0
aCBibG9jayAgICAgeCA9PiB7IHJldHVybiB4KjEwOyB9CisgICAgICAgICAgNSBsZXhpY2FsIHRo
aXMgLSB2YXJpYWJsZSB0aGlzIGlzIHBvaW50IHRvIHRoZSB0aGlzIG9mIHRoZSBmdW5jdGlvbiB3
aGVyZSBhcnJvdyBmdW5jdGlvbiBpcyBkZWNsYXJlZAorICAgICAgICAgIDYgTm8gY29uc3RydWN0
b3IgLSB0aGUgdXNpbmcgb2YgdGhlIGNvbW1hbmQgbmV3IGZvciBhcnJvdyBmdW5jdGlvbiBsZWFk
cyB0byBydW50aW1lIGVycm9yLiAKKworICAgICAgICAgTm90IHlldCBpbXBsZW1lbnRlZDoKKyAg
ICAgICAgICAxIHRoZSB2YXJpYWJsZSB3aXRoIG5hbWUgYXJndW1lbnRzIGluc2lkZSBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gc2hvdWxkIHBvaW50IHRvIGxpc3Qgb2YgYXJndW1lbnRzIG9mIGZ1bmN0
aW9uIHdoZXJlIGFycm93IGZ1bmN0aW9uIGlzIGRlY2xhcmVkCisgICAgICAgICAgMiBwYXJzZXIg
d2lsbCBwYXJzZSB0aGUgc3RhdGVtZW50IHgsIHkgPT4geCArIHkgaW5zdGVhZCBvZiByYWlzaW5n
IGV4Y2VwdGlvbgorICAgICAgICAgIDMgbWV0aG9kIGNhbGwsIGFwcGx5LCBiaW5kIHNob3VsZCBu
b3Qgb3ZlcnJpZGUgdGhlIHRoaXMgdmFyaWFibGUgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlv
bgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6Cisg
ICAgICAgICogSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qOgor
ICAgICAgICAqIGJ5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uOgorICAgICAgICAqIGJ5dGVjb2Rl
L0J5dGVjb2RlVXNlRGVmLmg6CisgICAgICAgIChKU0M6OkZ1bmN0b3I6OmNvbXB1dGVVc2VzRm9y
Qnl0ZWNvZGVPZmZzZXQpOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6CisgICAg
ICAgIChKU0M6OkNvZGVCbG9jazo6ZHVtcEJ5dGVjb2RlKToKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVH
ZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Fy
cm93RnVuY3Rpb25FeHByZXNzaW9uKTogYWRkZWQKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5l
cmF0b3I6OmVtaXRUaGlzTm9kZUJ5dGVjb2RlKTogYWRkZWQKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvTm9kZXNDb2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6ZW1pdEJ5dGVjb2RlOjplbWl0Qnl0
ZWNvZGUpOiBhZGRlZAorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHByTm9kZTo6ZW1pdEJ5dGVj
b2RlKTogYWRkZWQKKyAgICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAg
ICAoSlNDOjpCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgICogZGZnL0RGR0Nh
cGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkNhcGFiaWxpdHlMZXZlbDo6Y2FwYWJpbGl0
eUxldmVsKToKKyAgICAgICAgKiBqaXQvSklULmg6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9v
cF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRJbmxpbmVzLmg6
CisgICAgICAgIChKU0M6OkpJVDo6Y2FsbE9wZXJhdGlvbik6IGFkZGVkCisgICAgICAgICogaml0
L0pJVC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcyk6Cisg
ICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3Bf
bmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5j
cHA6CisgICAgICAgIChKU0M6OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5ld0Fycm93RnVuY3Rp
b24pOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmg6CisgICAgICAgIChKU0M6
OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24pOiBhZGRlZAorICAgICAg
ICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAgICAgICAgKExMSU5UX1NMT1dfUEFUSF9E
RUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGxsaW50
L0xMSW50U2xvd1BhdGhzLmg6CisgICAgICAgIChMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3Bh
dGhfbmV3X2Fycm93X2Z1bmNfZXhwKSk6IGFkZGVkCisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206CisgICAgICAgICogcGFyc2VyL0FTVEJ1aWxkZXIuaDoKKyAgICAgICAg
KEpTQzo6QVNUQnVpbGRlcjo6Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIpOgorICAgICAgICAqIHBh
cnNlci9MZXhlci5jcHA6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9u
KToKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OmxleCk6CisgICAgICAgICogcGFyc2VyL0xleGVy
Lmg6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9uKToKKyAgICAgICAg
KiBwYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oOgorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHBy
Tm9kZTo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZAorICAgICAgICAqIHBhcnNlci9Ob2Rlcy5o
OgorICAgICAgICAoSlNDOjpOb2RlOjppc0Fycm93RnVuY0V4cHJOb2RlKTogYWRkZWQKKyAgICAg
ICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZCBjbGFzcworICAgICAgICAqIHBhcnNl
ci9QYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3Vy
Y2VFbGVtZW50cyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1h
cnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZVNvdXJjZUVsZW1lbnQp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6
UGFyc2VyOjpwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwYXJzZVByaW1hcnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFy
cm93RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6c2V0RW5kT2ZTdGF0ZW1lbnQp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIpOgorICAg
ICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkluZm8pOgorICAgICAgICAoSlND
OjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkJvZHkpOgorICAgICAgICAqIHBhcnNlci9QYXJz
ZXIuaDoKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpGdW5jdGlvblBhcnNlVHlwZSk6CisgICAgICAg
IChKU0M6OlBhcnNlcjo6cGFyc2VTb3VyY2VFbGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0V4cHJl
c3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnNldEVuZE9mU3RhdGVtZW50KToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKToKKyAgICAgICAgKiBw
YXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmg6CisgICAgICAgICogcGFyc2VyL1BhcnNlclRva2Vu
cy5oOgorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmFycm93RnVuY3Rpb25PZmZz
ZXQpOiBhZGRlZAorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmlzQXJyb3dGdW5j
dGlvbik6IGFkZGVkCisgICAgICAgIChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6YXJyb3dGdW5j
dGlvbkJvZHlUeXBlKTogYWRkZWQKKyAgICAgICAgKiBwYXJzZXIvU291cmNlQ29kZS5oOgorICAg
ICAgICAoSlNDOjpTb3VyY2VDb2RlOjpzdWJBcnJvd0V4cHJlc3Npb24pOgorICAgICAgICAqIHBh
cnNlci9TeW50YXhDaGVja2VyLmg6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNrZXI6OmNyZWF0
ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAgICAgKiBwYXJzZXIvU291cmNlUHJvdmlkZXJDYWNo
ZUl0ZW06CisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJh
bWV0ZXJzKToKKyAgICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0pOgorICAgICAg
ICAoSlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6ZW5kQXJyb3dGdW5jdGlvblRva2VuKToK
KyAgICAgICAgKiBydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oOiBhZGRlZCBjbGFzcyBmb3IgaGFu
ZGxlIGFycm93IGZ1bmN0aW9uIGNyZWF0aW9uIGFuZCBleGVjdXRpb24KKyAgICAgICAgKiBydW50
aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHA6CisgICAgICAgICogcnVudGltZS9KU0Z1bmN0aW9uLmg6
CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OkpTRnVuY3Rpb24pOiBhZGRlZCBvbmUgbW9yZSBj
b25zdHJ1Y3RvcgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaDoKKyAgICAg
ICAgKEpTQzo6SlNGdW5jdGlvbjo6SlNGdW5jdGlvbik6IGFkZGVkIGNvbnN0cnVjdG9yIGltcGxl
bWVudGF0aW9uCisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAg
IChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmpl
Y3Q6Om1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZSk6IGFkZGVkCisgICAgICAgIChKU0M6OkpTR2xv
YmFsT2JqZWN0OjphcnJvd0Z1bmN0aW9uU3RydWN0dXJlKToKKyAgICAgICAgKiB0ZXN0cy9zdHJl
c3MvanMvYXJyb3dmdW5jdGlvbi5qczoKKwogMjAxNS0wNC0wOCAgSm9zZXBoIFBlY29yYXJvICA8
cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBqc05vbnRyaXZpYWxTdHJpbmcgaW4g
bW9yZSBwbGFjZXMgaWYgdGhlIHN0cmluZyBpcyBndWFyYW50ZWVkIHRvIGJlIDIgb3IgbW9yZSBj
aGFyYWN0ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTRjODZkMTZkOWY0NjlhYTAyOWNjNzRiMjZmMzA1NWVi
YzRjNmYxYy4uMjhjZjhjMDMwMzQzZTBkMjQyOGUwZjg4YWIzNjk0OTY5MmYwOGFjZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTA0LTAxICBTa2FjaGtvdiBBbGV4YW5kciAgPGdz
a2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cg
ZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYIGZvciBhcnJvdyBmdW5jdGlvbgorCisgICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1LTA0LTA5ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFw
cGxlLmNvbT4KIAogICAgICAgICBUcnkgdG8gZml4IHRoZSBNYWMgYnVpbGQgYWZ0ZXIgcjE4MjU5
Ni4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZwppbmRleCA2NmNmNzIzM2UxMzVkOGYzMDgwNWEyNzQyNGZjNThlYWQx
YWMxMmUyLi5hOTE3YTA3Mzg4OGM4ZGM2OTk4MzgyNWZmZTkzZjNiYjJjNTkyNjUxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDQtMDEgIFNrYWNoa292IEFsZXhhbmRy
ICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBh
cnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE0MDg1NQorCisgICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVggZm9yIGFycm93IGZ1bmN0aW9uCisKKyAgICAgICAgICogQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTUtMDQtMDggIEJyZW50IEZ1bGdoYW0gIDxi
ZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgW01hY10gV2ViS2l0IGlzIG5vdCBob25vcmlu
ZyBPUyBwcmVmZXJlbmNlcyBmb3Igc2Vjb25kYXJ5IGNsaWNrIGJlaGF2aW9ycwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDc5MTk2Mjg0NzYyYjMwMDM0NDE3ZmE0ZjE0ZjFm
YjI4MzgxYzQ1ZTkuLjdiODkyMjNhYTkxZDc3YjdjNmI0NGM1ODBjMzM0ODZhYTNiYTBmNjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQ2Niw2ICs0NjYsNyBAQCBzZXQo
SmF2YVNjcmlwdENvcmVfUlVOVElNRV9TT1VSQ0VTCiAgICAgcnVudGltZS9KU0FycmF5QnVmZmVy
Vmlldy5jcHAKICAgICBydW50aW1lL0pTQXJyYXlJdGVyYXRvci5jcHAKICAgICBydW50aW1lL0pT
Qm91bmRGdW5jdGlvbi5jcHAKKyAgICBydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAKICAgICBy
dW50aW1lL0pTR2xvYmFsT2JqZWN0RGVidWdnYWJsZS5jcHAKICAgICBydW50aW1lL0pTQ0pTVmFs
dWUuY3BwCiAgICAgcnVudGltZS9KU0NhbGxlZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpp
bmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2OTcy
ZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CkBAIC00NSw2ICs0NSw3IEBAIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFU
SDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IEVOQUJM
RV9FUzZfQ0xBU1NfU1lOVEFYOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVO
QUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcg
PSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ1NQX05FWFQgPSA7CiBFTkFCTEVf
Q1NTX0FOSU1BVElPTlNfTEVWRUxfMiA9IEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yOwpA
QCAtMjE0LDQgKzIxNSw0IEBAIEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7CiAKIEVOQUJMRV9TQVRV
UkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1F
VElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NS
T0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVO
VCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChF
TkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
RVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9Y
X0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NT
X0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NT
U19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5B
QkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVf
Q1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9C
UkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVf
SEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxF
TUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19D
T05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VW
RU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERF
Tl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5B
QkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09N
UExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dF
U1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFC
TEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJM
RV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xT
X1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0Vf
Q1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVf
TkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMp
ICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJM
RV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5B
QkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVf
U1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVU
RUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAk
KEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5B
QkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkg
JChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dF
Ql9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5B
QkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9S
RUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRM
X0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FS
SVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVG
SU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FO
VkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FW
Rl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkp
ICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAk
KEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVS
SU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikg
JChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJ
TkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZ
T1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9S
RVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19M
RVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVf
Q1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJM
RV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVO
QUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVO
QUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFC
TEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5B
QkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9H
QU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNP
TkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lO
RElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQp
ICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRU
RVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVf
TUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwp
ICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRf
VVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQo
RU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJM
SUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElP
Tl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9J
TlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJF
Ul9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5U
SEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVO
QUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxF
UEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFC
TEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNI
X0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJT
RUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxF
X0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dF
QkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dF
Ql9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAk
KEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hT
TFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FU
VVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9E
RSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4
cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagppbmRleCA3NDMzMGU3MDNk
YWM0ZDM2MDBlYWIyN2EwYWQ4ZWI0YWYwMGUwYjMyLi42MjI4NzNkZDJmOTQ3MGE5MTMxOGFjY2Nk
NDcwOWRjZWFlNzI2MDhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oK
QEAgLTczNCw2ICs3MzQsNyBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxK
U0FycmF5QnVmZmVyUHJvdG90eXBlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XHJ1bnRpbWVcSlNBcnJheUJ1ZmZlclZpZXcuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5ccnVudGltZVxKU0JvdW5kRnVuY3Rpb24uY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5ccnVudGltZVxKU0Fycm93RnVuY3Rpb24uY3BwIiAvPgogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5ccnVudGltZVxKU0NKU1ZhbHVlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDYWxsZWUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5ccnVudGltZVxKU0NhdGNoU2NvcGUuY3BwIiAvPgpAQCAtMTUyNiw2ICsxNTI3LDcgQEAK
ICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJheUJ1ZmZlclZpZXdJbmxp
bmVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlJdGVy
YXRvci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0JvdW5kRnVu
Y3Rpb24uaCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJvd0Z1
bmN0aW9uLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0lubGlu
ZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZS5o
IiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NKU1ZhbHVlSW5saW5l
cy5oIiAvPgpAQCAtMTgwMCw0ICsxODAyLDQgQEAKICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRl
bnNpb25UYXJnZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcQnVp
bGRDdXN0b21pemF0aW9uc1xtYXNtLnRhcmdldHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+Ci08L1By
b2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCBiYTJkMTM2ZWI5NWI1YTlmZDM1NGFiMzBhOGYzNjkxYmY3
OGNlYjg2Li5lOWQ2ZjI0NjVlMzM4NTVkMzY4YjRkMjA0ZTBkNzY0NmM1NmU5ODlmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTA5Miw2ICsxMDkyLDggQEAKIAkJODZGM0VFQkYx
NjhDREU5MzAwNzdCOTJBIC8qIE9iamNSdW50aW1lRXh0cmFzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkYzRUVCNjE2ODU1QTVCMDA3N0I5MkEgLyog
T2JqY1J1bnRpbWVFeHRyYXMuaCAqLzsgfTsKIAkJODZGQTlFOTExNDJCQkIyRTAwMTc3M0I3IC8q
IEpTQm91bmRGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4NkZBOUU4RjE0MkJCQjJEMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNw
cCAqLzsgfTsKIAkJODZGQTlFOTIxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGQTlFOTAx
NDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICovOyB9OworCQk4QjBGNDI0QzFB
QkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBK
U0Fycm93RnVuY3Rpb24uY3BwICovOyB9OworCQk4QjBGNDI0QzFBQkQ2REUyMDAzOTE3RUEgLyog
SlNBcnJvd0Z1bmN0aW9uLmggaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggKi87
IH07CiAJCTkwMjEzRTNEMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkwMjEzRTNCMTIz
QTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmNwcCAqLzsgfTsKIAkJOTAyMTNFM0Ux
MjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBN
ZW1vcnlTdGF0aXN0aWNzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJOTMwNTJDMzQwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMDUyQzMyMEZC
NzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5jcHAgKi87IH07CkBAIC0yODI0LDYgKzI4MjYs
OCBAQAogCQk4NkY3NUVGRDE1MUMwNjJGMDA3QzlCQTMgLyogUmVnRXhwTWF0Y2hlc0FycmF5LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZ0V4cE1hdGNoZXNBcnJh
eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2RkE5RThGMTQyQkJCMkQwMDE3
NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0JvdW5kRnVuY3Rpb24uaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJOEIwRjQyNEExQUJENkQyRjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5j
dGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Fycm93RnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlv
bi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Fycm93RnVuY3Rp
b24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MDIxM0UzQjEyM0E0MEMyMDBE
NDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBNZW1vcnlTdGF0aXN0aWNzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJOTAyMTNFM0MxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVtb3J5U3RhdGlzdGljcy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk5MzA1MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2Vy
QXJlbmEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFyc2VyQXJl
bmEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDQzOCw2ICs0NDQyLDggQEAK
IAkJCQlBN0JEQUVDNTE3RjRFQTE0MDBGNjE0MEMgLyogSlNBcnJheUl0ZXJhdG9yLmggKi8sCiAJ
CQkJODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5jcHAgKi8sCiAJ
CQkJODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICovLAorCQkJ
CThCMEY0MjRBMUFCRDZEMkYwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uaCAqLywKKwkJCQk4
QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCAqLywKIAkJCQk2
NTdDRjQ1NjE5QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuY3BwICovLAogCQkJCTY1N0NGNDU3
MTlCRjY2NjIwMDRBQ0JGMiAvKiBKU0NhbGxlZS5oICovLAogCQkJCTBGRDk0OTdFMUE5N0RCOTYw
MEUyODk2NiAvKiBKU0NhdGNoU2NvcGUuY3BwICovLApAQCAtNzE2Niw2ICs3MTcyLDcgQEAKIAkJ
CQkwRkQ4QTMxQjE3RDUxRjIyMDBDQTJDNDAgLyogRlRMT1NSRW50cnkuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMEYyMzVCREMxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4aXQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMEYyMzVCREYxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4aXRDb21w
aWxlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4QjBGNDI0QzFBQkQ2REUyMDAzOTE3RUEgLyog
SlNBcnJvd0Z1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRUEwQTJBMTcwOTYyOTYw
MEJCNzIyQyAvKiBGVExPdXRwdXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY0ODUzMjkxODdE
RkRFQzAwODNCNjg3IC8qIEZUTFJlY292ZXJ5T3Bjb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTBGNkIxQ0MzMTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExSZWdpc3RlckF0T2Zmc2V0LmNwcCBpbiBT
b3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5
dGVjb2RlTGlzdC5qc29uIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2Rl
TGlzdC5qc29uCmluZGV4IDZiMjQzOTE1NmFiM2FmYWU2YjU1OGFiOTA2NmQyMjI1MTVkNTllNDUu
LjQzNjA3MDlkOGY3ZTQxODIxNWFiMmFmOTU5YmY2NDQ4YWYwMzgwMjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxpc3QuanNvbgorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24KQEAgLTk1LDYgKzk1
LDcgQEAKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX3N3aXRjaF9zdHJpbmciLCAibGVuZ3Ro
IiA6IDQgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX25ld19mdW5jIiwgImxlbmd0aCIg
OiA0IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfZnVuY19leHAiLCAibGVuZ3Ro
IiA6IDQgfSwKKyAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX25ld19hcnJvd19mdW5jX2V4cCIs
ICJsZW5ndGgiIDogNSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbCIsICJsZW5n
dGgiIDogOSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbF9ldmFsIiwgImxlbmd0
aCIgOiA5IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9jYWxsX3ZhcmFyZ3MiLCAibGVu
Z3RoIiA6IDkgfSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9C
eXRlY29kZVVzZURlZi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2Rl
VXNlRGVmLmgKaW5kZXggODVmMjkxNWM3ZThmNjAxYWQzZWMxNzhiZjY5ZTM1NDRmNzU0YzJjZi4u
MTdiNmJlZDgxZmUyNWI2MjMzMGJhYTNmZDAzMWM3MTZhYjg4ZjliZiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgKQEAgLTExNiw2ICsxMTYs
OSBAQCB2b2lkIGNvbXB1dGVVc2VzRm9yQnl0ZWNvZGVPZmZzZXQoCiAgICAgY2FzZSBvcF9nZXRf
cHJvcGVydHlfZW51bWVyYXRvcjoKICAgICBjYXNlIG9wX2dldF9lbnVtZXJhYmxlX2xlbmd0aDoK
ICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorI2VuZGlmCiAgICAgY2Fz
ZSBvcF90b19pbmRleF9zdHJpbmc6CiAgICAgY2FzZSBvcF9pbml0X2dsb2JhbF9jb25zdF9ub3A6
CiAgICAgY2FzZSBvcF9pbml0X2dsb2JhbF9jb25zdDoKQEAgLTMwOCw2ICszMTEsOSBAQCB2b2lk
IGNvbXB1dGVEZWZzRm9yQnl0ZWNvZGVPZmZzZXQoQ29kZUJsb2NrKiBjb2RlQmxvY2ssIHVuc2ln
bmVkIGJ5dGVjb2RlT2Zmc2V0LAogICAgIGNhc2Ugb3BfbmV3X3JlZ2V4cDoKICAgICBjYXNlIG9w
X25ld19mdW5jOgogICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOgorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6CisjZW5k
aWYKICAgICBjYXNlIG9wX2NhbGxfdmFyYXJnczoKICAgICBjYXNlIG9wX2NvbnN0cnVjdF92YXJh
cmdzOgogICAgIGNhc2Ugb3BfZ2V0X2Zyb21fc2NvcGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCmluZGV4IDA2ZTQ5ZmVkNjVkYWU4NzcwZDdjZGM5ODNi
NzY4ZDRhZGVlOWM4ZjEuLjkxNDU1ZGMyMzhkNTYyM2MyZjQxODYzMzllODQ4ZTljZmYzYWFjNDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCkBAIC0x
Mjk5LDYgKzEyOTksMTcgQEAgdm9pZCBDb2RlQmxvY2s6OmR1bXBCeXRlY29kZSgKICAgICAgICAg
ICAgIG91dC5wcmludGYoIiVzLCAlcywgZiVkIiwgcmVnaXN0ZXJOYW1lKHIwKS5kYXRhKCksIHJl
Z2lzdGVyTmFtZShyMSkuZGF0YSgpLCBmMCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGNhc2Ugb3Bf
bmV3X2Fycm93X2Z1bmNfZXhwOiB7CisgICAgICAgICAgICBpbnQgcjAgPSAoKytpdCktPnUub3Bl
cmFuZDsKKyAgICAgICAgICAgIGludCByMSA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAg
ICAgaW50IGYwID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBpbnQgcjIgPSAoKytp
dCktPnUub3BlcmFuZDsKKyAgICAgICAgICAgIHByaW50TG9jYXRpb25BbmRPcChvdXQsIGV4ZWMs
IGxvY2F0aW9uLCBpdCwgIm9wX25ld19hcnJvd19mdW5jX2V4cCIpOworICAgICAgICAgICAgb3V0
LnByaW50ZigiJXMsICVzLCBmJWQsICVzIiwgcmVnaXN0ZXJOYW1lKHIwKS5kYXRhKCksIHJlZ2lz
dGVyTmFtZShyMSkuZGF0YSgpLCBmMCwgcmVnaXN0ZXJOYW1lKHIyKS5kYXRhKCkpOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBjYXNlIG9wX25ld19mdW5j
X2V4cDogewogICAgICAgICAgICAgaW50IHIwID0gKCsraXQpLT51Lm9wZXJhbmQ7CiAgICAgICAg
ICAgICBpbnQgcjEgPSAoKytpdCktPnUub3BlcmFuZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKaW5kZXggNTkx
OTk4YTI5ZWQyNmNiMGU1MWVmMzA1MDg2NzIxM2RjNDgzM2ZiNi4uNzQwY2EzMjVjNzkxNTkzNzEw
YjI0ZDZhMTRjYzBiZTRlMTQ1YTFlZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKQEAgLTE3NTQsNiArMTc1
NCwyMiBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Z1bmN0aW9uRXhw
cmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVuY0V4cAogICAgIGluc3RydWN0aW9ucygpLmFwcGVu
ZChpbmRleCk7CiAgICAgcmV0dXJuIHIwOwogfQorICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCitSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Fy
cm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIHIwLCBGdW5jRXhwck5vZGUqIG4pCit7
CisgICAgZW1pdFREWkNoZWNrKHRoaXNSZWdpc3RlcigpKTsKKyAgICBGdW5jdGlvbkJvZHlOb2Rl
KiBmdW5jdGlvbiA9IG4tPmJvZHkoKTsKKyAgICB1bnNpZ25lZCBpbmRleCA9IG1fY29kZUJsb2Nr
LT5hZGRGdW5jdGlvbkV4cHIobWFrZUZ1bmN0aW9uKGZ1bmN0aW9uKSk7CisgICAgCisgICAgZW1p
dE9wY29kZShvcF9uZXdfYXJyb3dfZnVuY19leHApOworICAgIGluc3RydWN0aW9ucygpLmFwcGVu
ZChyMC0+aW5kZXgoKSk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHNjb3BlUmVnaXN0ZXIo
KS0+aW5kZXgoKSk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKGluZGV4KTsKKyAgICBpbnN0
cnVjdGlvbnMoKS5hcHBlbmQodGhpc1JlZ2lzdGVyKCktPmluZGV4KCkpOworICAgIHJldHVybiBy
MDsKK30KKyNlbmRpZgogCiBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Rl
ZmF1bHRDb25zdHJ1Y3RvcihSZWdpc3RlcklEKiBkc3QsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1
Y3RvcktpbmQsIGNvbnN0IElkZW50aWZpZXImIG5hbWUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggMmU1
OTAzOWQzYTQ4NGEzNDcyODE0NDBlZWY5YzFiODE5ZjcyNjVkYi4uMTc5MzVkNDhlZjNiZjJiMmQx
NDFkZmRjMWFjOTM3Njc5MzE0NDJhNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaApAQCAtNDU2LDYgKzQ1NiwxMCBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0Z1bmN0aW9uSW50
ZXJuYWwoUmVnaXN0ZXJJRCogZHN0LCB1bnNpZ25lZCBpbmRleCk7CiAgICAgICAgIFJlZ2lzdGVy
SUQqIGVtaXROZXdGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogZHN0LCBGdW5jRXhwck5v
ZGUqIGZ1bmMpOwogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3RGVmYXVsdENvbnN0cnVjdG9y
KFJlZ2lzdGVySUQqIGRzdCwgQ29uc3RydWN0b3JLaW5kLCBjb25zdCBJZGVudGlmaWVyJiBuYW1l
KTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBSZWdpc3Rl
cklEKiBlbWl0TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCosIEZ1bmNFeHBy
Tm9kZSopOworICAgICAgICBSZWdpc3RlcklEKiBlbWl0VGhpc05vZGVCeXRlY29kZShSZWdpc3Rl
cklEKiwgSlNUZXh0UG9zaXRpb24pOworI2VuZGlmCiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRO
ZXdSZWdFeHAoUmVnaXN0ZXJJRCogZHN0LCBSZWdFeHAqKTsKIAogICAgICAgICBSZWdpc3RlcklE
KiBlbWl0TW92ZUVtcHR5VmFsdWUoUmVnaXN0ZXJJRCogZHN0KTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAppbmRleCAxMTQzMmFm
MjNiYmI2MWU4MTU0MjUyM2I3YzExYWE3YmRjYjVmM2JmLi42MWFlZjE0MDhjNDM2ZDc0YWIwOGY3
YTJhMDY4Y2MyYjFmMDhjYzUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCkBAIC0yODMxLDYgKzI4MzEsMTQgQEAgUmVnaXN0
ZXJJRCogRnVuY0V4cHJOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVy
YXRvciwgUmVnaXN0ZXJJRCoKICAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXROZXdGdW5jdGlvbkV4
cHJlc3Npb24oZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0KSwgdGhpcyk7CiB9CiAKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAgICAKKy8vIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLSBBcnJvd0Z1bmNFeHByTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KK1JlZ2lzdGVySUQqIEFycm93RnVuY0V4cHJOb2RlOjplbWl0Qnl0ZWNvZGUo
Qnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0KQoreworICAgIHJl
dHVybiBnZW5lcmF0b3IuZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKGdlbmVyYXRvci5m
aW5hbERlc3RpbmF0aW9uKGRzdCksIHRoaXMpOworfQorI2VuZGlmCisgICAgCiAjaWYgRU5BQkxF
KEVTNl9DTEFTU19TWU5UQVgpCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ2xh
c3NEZWNsTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAppbmRleCA3OTQ1NjZm
Y2FkZjNjNDQ3MGJlMjhmMjFkMDQyZmVmODBiNmI5OGMxLi5kZWFmYjdjM2NhN2IzZTRiY2RlNTI5
YmVjODE1ODY2Y2EzYzNjMTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0J5dGVDb2RlUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0J5dGVDb2RlUGFyc2VyLmNwcApAQCAtMzY3NSw2ICszNjc1LDE1IEBAIGJvb2wgQnl0ZUNvZGVQ
YXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQgbGltaXQpCiAgICAgICAgICAgICBORVhUX09QQ09E
RShvcF9uZXdfZnVuY19leHApOwogICAgICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgICAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDogeworICAg
ICAgICAgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBleHByID0gbV9pbmxpbmVTdGFja1RvcC0+bV9w
cm9maWxlZEJsb2NrLT5mdW5jdGlvbkV4cHIoY3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFu
ZCk7CisgICAgICAgICAgICBGcm96ZW5WYWx1ZSogZnJvemVuID0gbV9ncmFwaC5mcmVlemVTdHJv
bmcoZXhwcik7CisgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVj
dGlvblsxXS51Lm9wZXJhbmQpLAorICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgoTmV3RnVuY3Rp
b24sIE9wSW5mbyhmcm96ZW4pLCBnZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlv
blsyXS51Lm9wZXJhbmQpKSkpOworICAgICAgICAgICAgTkVYVF9PUENPREUob3BfbmV3X2Fycm93
X2Z1bmNfZXhwKTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIGNhc2Ugb3BfdHlwZW9mOiB7
CiAgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51
Lm9wZXJhbmQpLAogICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgoVHlwZU9mLCBnZXQoVmlydHVh
bFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpKSkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCmluZGV4IDhlZjRkY2YxNTY4
YmQ1ZWRhNGI4OTdlNzY4NGE4Y2JiOTFiZjZlMDguLjdmNDVhODMxZWE2ZTYyNzNiYWNkMmUzZjgz
MzZkZGM1NjJjOGNjOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Q2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFi
aWxpdGllcy5jcHAKQEAgLTIwOCw2ICsyMDgsOSBAQCBDYXBhYmlsaXR5TGV2ZWwgY2FwYWJpbGl0
eUxldmVsKE9wY29kZUlEIG9wY29kZUlELCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgSW5zdHJ1Ywog
ICAgIGNhc2Ugb3BfbmV3X2Z1bmM6CiAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CiAgICAgY2Fz
ZSBvcF9jcmVhdGVfbGV4aWNhbF9lbnZpcm9ubWVudDoKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorI2VuZGlmCiAg
ICAgICAgIHJldHVybiBDYW5Db21waWxlQW5kSW5saW5lOwogCiAgICAgY2FzZSBvcF9wdXRfdG9f
c2NvcGU6IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9J
bnRlcnByZXRlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJw
cmV0ZXIuY3BwCmluZGV4IDMwOTJmY2I0MDQzMjQzNWQ1YzhhNjQ2YzYzODE5NDQyMTczNGMyYjAu
Ljc5YzliNDZmNzdiNWZhNzgyNzM2MTljZTY1MmY4ZTI3YTcwNjUxYTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcApAQCAtNDQsNiAr
NDQsNyBAQAogI2luY2x1ZGUgIkV4Y2VwdGlvbkhlbHBlcnMuaCIKICNpbmNsdWRlICJHZXR0ZXJT
ZXR0ZXIuaCIKICNpbmNsdWRlICJKU0FycmF5LmgiCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9u
LmgiCiAjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5o
IgogI2luY2x1ZGUgIkpTTGV4aWNhbEVudmlyb25tZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0NDYWxsSGVscGVycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9DQ2FsbEhlbHBlcnMuaAppbmRleCBmZDM0NGFkYmNhYmIxNWZiZDgxNGVkNmZiZDQ3OGY3
NGI2MTU3NjNjLi4wN2FjZDZkNTMyZDMyOGFmZGI3N2FjZjIwMTMzOTBlZjM5ZGQ5ZDY3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxsSGVscGVycy5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxwZXJzLmgKQEAgLTI3NCw2ICsyNzQsMTUg
QEAgcHVibGljOgogICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMik7CiAgICAgICAgIGFkZENh
bGxBcmd1bWVudChhcmczKTsKICAgICB9CisgICAgCisgICAgQUxXQVlTX0lOTElORSB2b2lkIHNl
dHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShHUFJSZWcgYXJnMSwgVHJ1c3RlZEltbVB0ciBhcmcy
LCBHUFJSZWcgYXJnMykKKyAgICB7CisgICAgICAgIHJlc2V0Q2FsbEFyZ3VtZW50cygpOworICAg
ICAgICBhZGRDYWxsQXJndW1lbnQoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOworICAgICAg
ICBhZGRDYWxsQXJndW1lbnQoYXJnMSk7CisgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmcyKTsK
KyAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzMpOworICAgIH0KIAogICAgIEFMV0FZU19JTkxJ
TkUgdm9pZCBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoR1BSUmVnIGFyZzEsIEdQUlJlZyBh
cmcyLCBUcnVzdGVkSW1tMzIgYXJnMykKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAK
aW5kZXggNDJhODJkNDM5NDYxNjJmOTVmYTQ3NDY3NTY3MTM5ZDRhYWYyMzg2Yi4uODNkNTA4Yjg3
NjU5ZTNlZmY4YmMxODdlMDZkYWQ3MDExZjQ4MmVkMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
LmNwcApAQCAtMjUzLDYgKzI1Myw3IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNz
KCkKICAgICAgICAgREVGSU5FX09QKG9wX25ld19hcnJheV9idWZmZXIpCiAgICAgICAgIERFRklO
RV9PUChvcF9uZXdfZnVuYykKICAgICAgICAgREVGSU5FX09QKG9wX25ld19mdW5jX2V4cCkKKyAg
ICAgICAgREVGSU5FX09QKG9wX25ld19hcnJvd19mdW5jX2V4cCkgCiAgICAgICAgIERFRklORV9P
UChvcF9uZXdfb2JqZWN0KQogICAgICAgICBERUZJTkVfT1Aob3BfbmV3X3JlZ2V4cCkKICAgICAg
ICAgREVGSU5FX09QKG9wX25vdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCmluZGV4IGVlNDg1NWRj
MmU3OGI1NWFjYzQ1OTllYmRiOTlhMGQ4ZTA4YmU3Y2MuLmZhZTJmMjY5MTc3MzVhMmJlNDMxNGI0
ZjE2ZThjMWI4MDRkODk1YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklULmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaApAQCAtNTIyLDYgKzUy
Miw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2FycmF5X2J1
ZmZlcihJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2Z1bmMoSW5zdHJ1
Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX25ld19mdW5jX2V4cChJbnN0cnVjdGlvbiop
OworICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwKEluc3RydWN0aW9uKik7
CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfb2JqZWN0KEluc3RydWN0aW9uKik7CiAgICAgICAg
IHZvaWQgZW1pdF9vcF9uZXdfcmVnZXhwKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1p
dF9vcF9ub3QoSW5zdHJ1Y3Rpb24qKTsKQEAgLTcwNSw2ICs3MDYsNyBAQCBuYW1lc3BhY2UgSlND
IHsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJh
dGlvbl9FSkosIGludCwgR1BSUmVnLCBHUFJSZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6
Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2MsIEdQUlJlZyk7CiAgICAgICAg
IE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0Ms
IGludCwgR1BSUmVnLCBKU0NlbGwqKTsKKyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2Fs
bE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0osIGludCwgR1BSUmVnLCBKU0NlbGwqLCBH
UFJSZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklU
T3BlcmF0aW9uX0VKc2NaLCBHUFJSZWcsIGludDMyX3QpOwogICAgICAgICBNYWNyb0Fzc2VtYmxl
cjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2NaLCBpbnQsIEdQUlJlZywg
aW50MzJfdCk7CiAjaWYgVVNFKEpTVkFMVUU2NCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUSW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJ
bmxpbmVzLmgKaW5kZXggOWVlMjRkMDkyMjhhOTg4MmVhNzY5NjI5ZDFhODdiNmMzNGE4NjMzNC4u
YTBlNDBjNWM2MWZlNjNlOTg2M2VkMjIzZWRmNWQ0NTFmMzE4YTc3NCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKQEAgLTI3MSw2ICsyNzEsMTIgQEAgQUxXQVlTX0lOTElO
RSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25f
RUpzY0Mgb3BlcmEKICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldEpT
VmFsdWVSZXN1bHQob3BlcmF0aW9uLCBkc3QpOwogfQogCitBTFdBWVNfSU5MSU5FIE1hY3JvQXNz
ZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0ogb3Bl
cmF0aW9uLCBpbnQgZHN0LCBHUFJSZWcgYXJnMSwgSlNDZWxsKiBjZWxsLCBHUFJSZWcgYXJnMikK
K3sKKyAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihj
ZWxsKSwgYXJnMik7CisgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRK
U1ZhbHVlUmVzdWx0KG9wZXJhdGlvbiwgZHN0KTsKK30KKyAgICAKIEFMV0FZU19JTkxJTkUgTWFj
cm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VQIG9w
ZXJhdGlvbiwgaW50IGRzdCwgdm9pZCogcG9pbnRlcikKIHsKICAgICBzZXR1cEFyZ3VtZW50c1dp
dGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihwb2ludGVyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRPcGNvZGVzLmNwcAppbmRleCBkM2Q1ODBlOWUyNjAwODUzYjY2NDllMjg1OTE4Zjg1
MzhiZTY5NDRjLi42Y2EwMDMwZjhjNGEyMTIyMWFhOTI4M2NjMjc2MTMwZDc5ZTc0NDQ1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKQEAgLTk3Miw2ICs5NzIsMjkg
QEAgdm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2Z1bmNfZXhwKEluc3RydWN0aW9uKiBjdXJyZW50SW5z
dHJ1Y3Rpb24pCiAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25OZXdGdW5jdGlvbiwgZHN0LCBy
ZWdUMCwgZnVuY0V4cHIpOwogICAgIGRvbmUubGluayh0aGlzKTsKIH0KKyAgICAKK3ZvaWQgSklU
OjplbWl0X29wX25ld19hcnJvd19mdW5jX2V4cChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0
aW9uKQoreworICAgIEp1bXAgbm90VW5kZWZpbmVkU2NvcGU7CisgICAgaW50IGRzdCA9IGN1cnJl
bnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICBlbWl0
R2V0VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQsIHJlZ1Qw
KTsKKyAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvbls0XS51Lm9w
ZXJhbmQsIHJlZ1QxKTsKKyAgICBub3RVbmRlZmluZWRTY29wZSA9IGJyYW5jaDY0KE5vdEVxdWFs
LCByZWdUMCwgVHJ1c3RlZEltbTY0KEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSkpOwor
ICAgIHN0b3JlNjQoVHJ1c3RlZEltbTY0KEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSks
IEFkZHJlc3MoY2FsbEZyYW1lUmVnaXN0ZXIsIHNpemVvZihSZWdpc3RlcikgKiBkc3QpKTsKKyNl
bHNlCisgICAgZW1pdExvYWRQYXlsb2FkKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQs
IHJlZ1QwKTsKKyAgICBlbWl0TG9hZFBheWxvYWQoY3VycmVudEluc3RydWN0aW9uWzRdLnUub3Bl
cmFuZCwgcmVnVDEpOworICAgIG5vdFVuZGVmaW5lZFNjb3BlID0gYnJhbmNoMzIoTm90RXF1YWws
IHRhZ0ZvcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSwgVHJ1c3RlZEltbTMyKEpT
VmFsdWU6OlVuZGVmaW5lZFRhZykpOworICAgIGVtaXRTdG9yZShkc3QsIGpzVW5kZWZpbmVkKCkp
OworI2VuZGlmCisgICAgSnVtcCBkb25lID0ganVtcCgpOworICAgIG5vdFVuZGVmaW5lZFNjb3Bl
LmxpbmsodGhpcyk7CisgICAgCisgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlvbiA9IG1f
Y29kZUJsb2NrLT5mdW5jdGlvbkV4cHIoY3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZCk7
CisgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uLCBkc3QsIHJlZ1Qw
LCBmdW5jdGlvbiwgcmVnVDEpOworICAgIGRvbmUubGluayh0aGlzKTsKK30KIAogdm9pZCBKSVQ6
OmVtaXRfb3BfbmV3X2FycmF5KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAppbmRleCA1ZTkwZDQ4
NmM1M2RiMmZiODdlMDg1Y2M3ODVkY2E0YzJmNmQ0YWQ3Li43MDA1ZTUzZmM1Y2YzZmExNDI4ZmEz
Mzc0OTg0OTJhOWQzYmI2YWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bl
cmF0aW9ucy5jcHAKQEAgLTQyLDYgKzQyLDggQEAKICNpbmNsdWRlICJIb3N0Q2FsbFJldHVyblZh
bHVlLmgiCiAjaW5jbHVkZSAiSklULmgiCiAjaW5jbHVkZSAiSklUVG9ERkdEZWZlcnJlZENvbXBp
bGF0aW9uQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNpbmNsdWRl
ICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAi
SlNDYXRjaFNjb3BlLmgiCiAjaW5jbHVkZSAiSlNGdW5jdGlvbk5hbWVTY29wZS5oIgpAQCAtOTUy
LDYgKzk1NCwyMyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Z1
bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNTY29wZSogc2NvcAogICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBzdGF0aWNfY2FzdDxGdW5jdGlvbkV4ZWN1
dGFibGUqPihmdW5jdGlvbkV4ZWN1dGFibGUpLCBzY29wZSkpOwogfQogCitFbmNvZGVkSlNWYWx1
ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24oRXhlY1N0YXRlKiBleGVj
LCBKU1Njb3BlKiBzY29wZSwgSlNDZWxsKiBmdW5jdGlvbkV4ZWN1dGFibGUsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSkKK3sKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIEFTU0VSVChmdW5jdGlvbkV4ZWN1dGFibGUtPmluaGVyaXRzKEZ1bmN0aW9uRXhlY3V0YWJs
ZTo6aW5mbygpKSk7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBOYXRpdmVDYWxsRnJh
bWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CisgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCA9IGV4ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKKyAgICBKU0Z1bmN0aW9uKiBm
dW5jID0gSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUodm0sIHNjb3BlLCBzdGF0aWNfY2FzdDxGdW5j
dGlvbkV4ZWN1dGFibGUqPihmdW5jdGlvbkV4ZWN1dGFibGUpLCBnbG9iYWxPYmplY3QpOworICAg
IAorICAgIEpTQXJyYXkqIGJvdW5kQXJncyA9IEpTQXJyYXk6OnRyeUNyZWF0ZVVuaW5pdGlhbGl6
ZWQodm0sIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5cGVEdXJpbmdB
bGxvY2F0aW9uKEFycmF5V2l0aFVuZGVjaWRlZCksIDApOworICAgIAorICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoSlNCb3VuZEZ1bmN0aW9uOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgZnVu
YywgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSksIGJvdW5kQXJncywgMCwgIiIpKTsKKyNlbHNl
CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyNlbmRpZgorfQor
ICAgIAogSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3RhdGUq
IGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaAppbmRleCA0ZGVjZWY0
ZWI4YjQ4YmI5MzdkNTRkMGI2MDRiOWI3NzY3YTRlYTYxLi4yMzYxNmVlMWRlZTMyZmZkZGRhZTUx
ODk2MDY5OTcwOTI2NmViY2VkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVE9wZXJhdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJh
dGlvbnMuaApAQCAtMTE2LDYgKzExNiw3IEBAIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQUCkoRXhlY1N0YXRlKiwgdm9pZCosIHZvCiB0eXBl
ZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FUFMpKEV4
ZWNTdGF0ZSosIHZvaWQqLCBzaXplX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BF
UkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVBjKShFeGVjU3RhdGUqLCBJbnN0cnVjdGlvbiopOwog
dHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUpz
Y0MpKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKTsKK3R5cGVkZWYgRW5jb2RlZEpTVmFs
dWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VKc2NDSikoRXhlY1N0YXRlKiwgSlNT
Y29wZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUg
SklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTUykoRXhlY1N0YXRlKiwgc2l6ZV90LCBz
aXplX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVy
YXRpb25fRVNzaUNJKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEpTQ2VsbCosIFN0
cmluZ0ltcGwqKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklU
T3BlcmF0aW9uX0VTc2lKSSkoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVk
SlNWYWx1ZSwgU3RyaW5nSW1wbCopOwpAQCAtMjc4LDYgKzI3OSw3IEBAIEVuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXlXaXRoUHJvZmlsZShFeGVjU3RhdGUqLCBB
cnJheUFsbG9jCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5
QnVmZmVyV2l0aFByb2ZpbGUoRXhlY1N0YXRlKiwgQXJyYXlBbGxvY2F0aW9uUHJvZmlsZSosIGNv
bnN0IEpTVmFsdWUqIHZhbHVlcywgaW50MzJfdCBzaXplKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVk
SlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5V2l0aFNpemVBbmRQcm9maWxl
KEV4ZWNTdGF0ZSosIEFycmF5QWxsb2NhdGlvblByb2ZpbGUqLCBFbmNvZGVkSlNWYWx1ZSBzaXpl
KSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5l
d0Z1bmN0aW9uKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKSBXVEZfSU5URVJOQUw7CitF
bmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24oRXhl
Y1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlKSBXVEZfSU5URVJOQUw7
CiBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3T2JqZWN0KEV4ZWNTdGF0ZSosIFN0
cnVjdHVyZSopIFdURl9JTlRFUk5BTDsKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uTmV3UmVnZXhwKEV4ZWNTdGF0ZSosIHZvaWQqKSBXVEZfSU5URVJOQUw7CiB2b2lkIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uSGFuZGxlV2F0Y2hkb2dUaW1lcihFeGVjU3RhdGUqKSBXVEZf
SU5URVJOQUw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRT
bG93UGF0aHMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhz
LmNwcAppbmRleCAyN2I5ODY5OGZjYWRlOWI5N2JkMjdlNzMzNjM4MGFkZjNiNTczYjM5Li4xYzYz
MDY0M2NhYzdkNmNiNjVjMGViNjhiZDAyMWJhMDAzMGIwODNjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKQEAgLTM4LDYgKzM4LDggQEAKICNp
bmNsdWRlICJJbnRlcnByZXRlci5oIgogI2luY2x1ZGUgIkpJVC5oIgogI2luY2x1ZGUgIkpJVEV4
Y2VwdGlvbnMuaCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU0Jv
dW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgogI2luY2x1
ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCkBAIC0xNzEsNiArMTcz
LDE1IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgTExJbnQgewogICAgICAgICBMTElOVF9S
RVRVUk5fVFdPKHBjLCBfX3JjZl9leGVjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAogICAgIH0gd2hpbGUgKGZhbHNlKQogCisgICAgCisjZGVmaW5lIExMSU5UX0NBTENfUFJPUEVS
VFlfRk9SX0ZVTkNfRVhQUigpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICBMTElOVF9CRUdJTigpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhl
Yy0+Y29kZUJsb2NrKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
SlNTY29wZSogc2NvcGUgPSBleGVjLT51bmNoZWNrZWRSKHBjWzJdLnUub3BlcmFuZCkuUmVnaXN0
ZXI6OnNjb3BlKCk7ICAgICAgIFwKKyAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUg
PSBjb2RlQmxvY2stPmZ1bmN0aW9uRXhwcihwY1szXS51Lm9wZXJhbmQpOyAgXAorICAgIAorZW51
bSBGdW5jdGlvbkV4cHJlc3Npb25UeXBlIHsgQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25UeXBlLCBD
b21tb25GdW5jdGlvbkV4cHJlc3Npb25UeXBlfTsKKyAgICAKIGV4dGVybiAiQyIgU2xvd1BhdGhS
ZXR1cm5UeXBlIGxsaW50X3RyYWNlX29wZXJhbmQoRXhlY1N0YXRlKiBleGVjLCBJbnN0cnVjdGlv
biogcGMsIGludCBmcm9tV2hlcmUsIGludCBvcGVyYW5kKQogewogICAgIExMSU5UX0JFR0lOKCk7
CkBAIC0xMDAzLDE2ICsxMDE0LDM1IEBAIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9u
ZXdfZnVuYykKICNlbmRpZgogICAgIExMSU5UX1JFVFVSTihKU0Z1bmN0aW9uOjpjcmVhdGUodm0s
IGNvZGVCbG9jay0+ZnVuY3Rpb25EZWNsKHBjWzNdLnUub3BlcmFuZCksIHNjb3BlKSk7CiB9Ci0K
KyAgICAKIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuY19leHApCiB7Ci0g
ICAgTExJTlRfQkVHSU4oKTsKLSAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVC
bG9jaygpOwotICAgIEpTU2NvcGUqIHNjb3BlID0gZXhlYy0+dW5jaGVja2VkUihwY1syXS51Lm9w
ZXJhbmQpLlJlZ2lzdGVyOjpzY29wZSgpOwotICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZnVuY3Rp
b24gPSBjb2RlQmxvY2stPmZ1bmN0aW9uRXhwcihwY1szXS51Lm9wZXJhbmQpOwotICAgIEpTRnVu
Y3Rpb24qIGZ1bmMgPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGZ1bmN0aW9uLCBzY29wZSk7Cisg
ICAgTExJTlRfQ0FMQ19QUk9QRVJUWV9GT1JfRlVOQ19FWFBSKCk7CisKKyAgICBKU0Z1bmN0aW9u
KiBmdW5jID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBleGVjdXRhYmxlLCBzY29wZSk7CisgICAg
TExJTlRfUkVUVVJOKGZ1bmMpOworfQorCisKK0xMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0
aF9uZXdfYXJyb3dfZnVuY19leHApCit7CisgICAgTExJTlRfQ0FMQ19QUk9QRVJUWV9GT1JfRlVO
Q19FWFBSKCk7CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEpT
VmFsdWUgdGhpc1ZhbHVlID0gTExJTlRfT1BfQyg0KS5qc1ZhbHVlKCk7CisgICAgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCA9IGV4ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKICAg
ICAKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUodm0sIHNj
b3BlLCBleGVjdXRhYmxlLCBnbG9iYWxPYmplY3QpOworICAgIAorICAgIEpTQXJyYXkqIGJvdW5k
QXJncyA9IEpTQXJyYXk6OnRyeUNyZWF0ZVVuaW5pdGlhbGl6ZWQodm0sIGdsb2JhbE9iamVjdC0+
YXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5cGVEdXJpbmdBbGxvY2F0aW9uKEFycmF5V2l0aFVu
ZGVjaWRlZCksIDApOworICAgIAorICAgIGNvbnN0IFN0cmluZyBmdW5jV2l0aG91dE5hbWUgPSAi
IjsKKyAgICAKKyAgICBMTElOVF9SRVRVUk4oSlNCb3VuZEZ1bmN0aW9uOjpjcmVhdGUodm0sIGds
b2JhbE9iamVjdCwgZnVuYywgdGhpc1ZhbHVlLCBib3VuZEFyZ3MsIDAsIGZ1bmNXaXRob3V0TmFt
ZSkpOworI2Vsc2UKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZt
LCBleGVjdXRhYmxlLCBzY29wZSk7CiAgICAgTExJTlRfUkVUVVJOKGZ1bmMpOworI2VuZGlmCiB9
CiAKIHN0YXRpYyBTbG93UGF0aFJldHVyblR5cGUgaGFuZGxlSG9zdENhbGwoRXhlY1N0YXRlKiBl
eGVjQ2FsbGVlLCBJbnN0cnVjdGlvbiogcGMsIEpTVmFsdWUgY2FsbGVlLCBDb2RlU3BlY2lhbGl6
YXRpb25LaW5kIGtpbmQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TExJbnRTbG93UGF0aHMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQ
YXRocy5oCmluZGV4IDRiZjdkZWIwZmEwYjZjNjQzOGUzNmY5NjMyMGUyZjY2OTczOWFmNjQuLmM3
ZmFiOTY5MWMxOGI5Mzk1NmQwZWEyOWYzMzk1NjExOGM1ZTcxZWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCkBAIC05Niw2ICs5Niw3IEBAIExMSU5U
X1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfc3dpdGNoX2NoYXIpOwogTExJTlRfU0xP
V19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9zd2l0Y2hfc3RyaW5nKTsKIExMSU5UX1NMT1df
UEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfbmV3X2Z1bmMpOwogTExJTlRfU0xPV19QQVRIX0hJ
RERFTl9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuY19leHApOworTExJTlRfU0xPV19QQVRIX0hJRERF
Tl9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApOwogTExJTlRfU0xPV19QQVRIX0hJ
RERFTl9ERUNMKHNsb3dfcGF0aF9jYWxsKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChz
bG93X3BhdGhfY29uc3RydWN0KTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3Bh
dGhfc2l6ZV9mcmFtZV9mb3JfdmFyYXJncyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KaW5kZXggZmRhOTFlZDU5OTBjYjZlNGYy
Y2I3OGFhNmE0YjJkOGMyYzBjNDcyYS4uODIyNzEzNDk4MmRiNzU4MWRjOGEyMjVjZDQyMzI4MjAw
OTJmYjczZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbQpAQCAtMTE3MSw2ICsxMTcxLDEwIEBAIF9sbGludF9vcF9uZXdfZnVu
Y19leHA6CiAgICAgY2FsbFNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfbmV3X2Z1bmNfZXhwKQog
ICAgIGRpc3BhdGNoKDQpCiAKK19sbGludF9vcF9uZXdfYXJyb3dfZnVuY19leHA6CisgICAgdHJh
Y2VFeGVjdXRpb24oKQorICAgIGNhbGxTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX25ld19hcnJv
d19mdW5jX2V4cCkKKyAgICBkaXNwYXRjaCg1KQogCiBfbGxpbnRfb3BfY2FsbDoKICAgICB0cmFj
ZUV4ZWN1dGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FT
VEJ1aWxkZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCmlu
ZGV4IGI4ZmU0Yjg0ODVhMDk3Njg4ZjVjNjMwYmQ4YzNjOTY3NjRmYzQ2NDkuLmYyZmEzYmQ5YzE1
ZjRlNDIyZWVjNmE3OWQ2NWYxZDcwODZjNjJjNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvQVNUQnVpbGRlci5oCkBAIC0zMTMsNiArMzEzLDE5IEBAIHB1YmxpYzoKICAgICAgICAg
ICAgIGluU3RyaWN0Q29udGV4dCwgY29uc3RydWN0b3JLaW5kKTsKICAgICB9CiAKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEV4cHJlc3Npb25Ob2RlKiBjcmVhdGVB
cnJvd0Z1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBQ
YXJzZXJGdW5jdGlvbkluZm88QVNUQnVpbGRlcj4mIGluZm8pCisgICAgeworICAgICAgICBTb3Vy
Y2VDb2RlIHNvdXJjZSA9IGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9k
eUV4cHJlc3Npb24KKyAgICAgICAgPyBtX3NvdXJjZUNvZGUtPnN1YkFycm93RXhwcmVzc2lvbihp
bmZvLmFycm93RnVuY3Rpb25PZmZzZXQsIGluZm8uY2xvc2VCcmFjZU9mZnNldCwgaW5mby5ib2R5
U3RhcnRMaW5lLCBpbmZvLmJvZHlTdGFydENvbHVtbikKKyAgICAgICAgOiBtX3NvdXJjZUNvZGUt
PnN1YkV4cHJlc3Npb24oaW5mby5vcGVuQnJhY2VPZmZzZXQsIGluZm8uY2xvc2VCcmFjZU9mZnNl
dCwgaW5mby5ib2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlTdGFydENvbHVtbik7CisKKyAgICAgICAg
QXJyb3dGdW5jRXhwck5vZGUqIHJlc3VsdCA9IG5ldyAobV9wYXJzZXJBcmVuYSkgQXJyb3dGdW5j
RXhwck5vZGUobG9jYXRpb24sICppbmZvLm5hbWUsIGluZm8uYm9keSwgc291cmNlLCBpbmZvLnBh
cmFtZXRlcnMpOworICAgICAgICBpbmZvLmJvZHktPnNldExvYyhpbmZvLmJvZHlTdGFydExpbmUs
IGluZm8uYm9keUVuZExpbmUsIGxvY2F0aW9uLnN0YXJ0T2Zmc2V0LCBsb2NhdGlvbi5saW5lU3Rh
cnRPZmZzZXQpOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKyNlbmRpZgorCiAgICAg
TkVWRVJfSU5MSU5FIFByb3BlcnR5Tm9kZSogY3JlYXRlR2V0dGVyT3JTZXR0ZXJQcm9wZXJ0eShj
b25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBQcm9wZXJ0eU5vZGU6OlR5cGUgdHlwZSwg
Ym9vbCwKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogbmFtZSwgY29uc3QgUGFyc2VyRnVuY3Rp
b25JbmZvPEFTVEJ1aWxkZXI+JiBpbmZvLCBTdXBlckJpbmRpbmcgc3VwZXJCaW5kaW5nKQogICAg
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKaW5kZXggN2RlMTQyMjBiYmRh
NzI3MzhiNTczYTRiOTc4OGNlMGIzMmNjN2NlMy4uNTQwZjlmZmI3YmI1MTgyOWQ2N2RlZWRlYzVl
NmE4ZWQ1MWNjNDQxNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9M
ZXhlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKQEAg
LTE0MzAsNiArMTQzMCwxOCBAQCBib29sIExleGVyPFQ+OjpuZXh0VG9rZW5Jc0NvbG9uKCkKICAg
ICByZXR1cm4gY29kZSA8IG1fY29kZUVuZCAmJiAqY29kZSA9PSAnOic7CiB9CiAKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIFQ+Cit2b2lk
IExleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9uKEpTVG9rZW4qIHRva2VuUmVjb3JkKQoreworICAg
IEpTVG9rZW5EYXRhKiB0b2tlbkRhdGEgPSAmdG9rZW5SZWNvcmQtPm1fZGF0YTsKKyAgICB0b2tl
bkRhdGEtPmxpbmUgPSBsaW5lTnVtYmVyKCk7CisgICAgdG9rZW5EYXRhLT5vZmZzZXQgPSBjdXJy
ZW50T2Zmc2V0KCk7CisgICAgdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50TGlu
ZVN0YXJ0T2Zmc2V0KCk7CisgICAgQVNTRVJUKHRva2VuRGF0YS0+b2Zmc2V0ID49IHRva2VuRGF0
YS0+bGluZVN0YXJ0T2Zmc2V0KTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4K
IEpTVG9rZW5UeXBlIExleGVyPFQ+OjpsZXgoSlNUb2tlbiogdG9rZW5SZWNvcmQsIHVuc2lnbmVk
IGxleGVyRmxhZ3MsIGJvb2wgc3RyaWN0TW9kZSkKIHsKQEAgLTE0OTMsNyArMTUwNSwxMiBAQCBz
dGFydDoKICAgICAgICAgfQogICAgICAgICB0b2tlbiA9IEdUOwogICAgICAgICBicmVhazsKLSAg
ICBjYXNlIENoYXJhY3RlckVxdWFsOgorICAgIGNhc2UgQ2hhcmFjdGVyRXF1YWw6IHsKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB1aW50MzJfdCBzYXZlZGxp
bmVOdW1iZXIgPSB0b2tlbkRhdGEtPmxpbmU7CisgICAgICAgIHVpbnQzMl90IHNhdmVkT2Zmc2V0
ID0gY3VycmVudE9mZnNldCgpOworICAgICAgICB1aW50MzJfdCBzYXZlZExpbmVTdGFydE9mZnNl
dCA9IGN1cnJlbnRMaW5lU3RhcnRPZmZzZXQoKTsKKyNlbmRpZgogICAgICAgICBzaGlmdCgpOwog
ICAgICAgICBpZiAobV9jdXJyZW50ID09ICc9JykgewogICAgICAgICAgICAgc2hpZnQoKTsKQEAg
LTE1MDUsOCArMTUyMiwyMiBAQCBzdGFydDoKICAgICAgICAgICAgIHRva2VuID0gRVFFUTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnPicpIHsKKyAgICAgICAgICAgIHNo
aWZ0KCk7CisgICAgICAgICAgICB0b2tlbiA9IEFSUk9XRlVOQ1RJT047CisKKyAgICAgICAgICAg
IHRva2VuRGF0YS0+bGluZSA9IHNhdmVkbGluZU51bWJlcjsKKyAgICAgICAgICAgIHRva2VuRGF0
YS0+b2Zmc2V0ID0gc2F2ZWRPZmZzZXQ7CisgICAgICAgICAgICB0b2tlbkRhdGEtPmxpbmVTdGFy
dE9mZnNldCA9IHNhdmVkTGluZVN0YXJ0T2Zmc2V0OworCisgICAgICAgICAgICBBU1NFUlQodG9r
ZW5EYXRhLT5vZmZzZXQgPj0gdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQpOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICB0b2tlbiA9IEVRVUFMOwogICAg
ICAgICBicmVhazsKKyAgICB9CiAgICAgY2FzZSBDaGFyYWN0ZXJMZXNzOgogICAgICAgICBzaGlm
dCgpOwogICAgICAgICBpZiAobV9jdXJyZW50ID09ICchJyAmJiBwZWVrKDEpID09ICctJyAmJiBw
ZWVrKDIpID09ICctJykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9MZXhlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCmluZGV4IDJk
ZjUyMTM5OTU3ODIwMDc4NWExNjZlMjJhNzMyNzVlMGVhNjMwNGQuLmNiM2YyNWY3YzA4ZjgyNTgx
YWYyY2U4ZmE5OTk5N2ZhZGUwNzY2ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTGV4ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVy
LmgKQEAgLTg1LDYgKzg1LDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SXNSZXBhcnNpbmcoKSB7
IG1faXNSZXBhcnNpbmcgPSB0cnVlOyB9CiAgICAgYm9vbCBpc1JlcGFyc2luZygpIGNvbnN0IHsg
cmV0dXJuIG1faXNSZXBhcnNpbmc7IH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgdm9pZCBzZXRUb2tlblBvc2l0aW9uKEpTVG9rZW4qIHRva2VuUmVjb3JkKTsK
KyNlbmRpZgogICAgIEpTVG9rZW5UeXBlIGxleChKU1Rva2VuKiwgdW5zaWduZWQsIGJvb2wgc3Ry
aWN0TW9kZSk7CiAgICAgYm9vbCBuZXh0VG9rZW5Jc0NvbG9uKCk7CiAgICAgaW50IGxpbmVOdW1i
ZXIoKSBjb25zdCB7IHJldHVybiBtX2xpbmVOdW1iZXI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKaW5kZXggM2JkYWI2MWE1MjJlMGNlMmMz
Mzk3ZjgwZjRmYTE4NGQxZDQyMTYwZS4uYjU4ZTFmZTFhZjkwZTY2MGIwODQyZWE3ZTk5ZjA3YWU2
YWNiYjk1ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29u
c3RydWN0b3JzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3Ry
dWN0b3JzLmgKQEAgLTc4MSw2ICs3ODEsMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIG1f
Ym9keS0+ZmluaXNoUGFyc2luZyhzb3VyY2UsIHBhcmFtZXRlciwgaWRlbnQsIEZ1bmN0aW9uRXhw
cmVzc2lvbik7CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICBpbmxpbmUgQXJyb3dGdW5jRXhwck5vZGU6OkFycm93RnVuY0V4cHJOb2RlKGNvbnN0IEpT
VG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBGdW5jdGlv
bkJvZHlOb2RlKiBib2R5LCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIFBhcmFtZXRlck5vZGUq
IHBhcmFtZXRlcikKKyAgICAgICAgOiBGdW5jRXhwck5vZGUobG9jYXRpb24sIGlkZW50LCBib2R5
LCBzb3VyY2UsIHBhcmFtZXRlcikKKyAgICB7CisgICAgfQorI2VuZGlmCisgICAgCiAgICAgaW5s
aW5lIEZ1bmNEZWNsTm9kZTo6RnVuY0RlY2xOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9j
YXRpb24sIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBGdW5jdGlvbkJvZHlOb2RlKiBib2R5LCBj
b25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIFBhcmFtZXRlck5vZGUqIHBhcmFtZXRlcikKICAgICAg
ICAgOiBTdGF0ZW1lbnROb2RlKGxvY2F0aW9uKQogICAgICAgICAsIG1fYm9keShib2R5KQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCmluZGV4IDZiMzczMjljMDliZmM0MmJlY2NjM2Nh
YTk4MzU5N2MzNTQwMmI2YzkuLjViNzc0MWUxY2NjOGQ1MTVmZjE0YzE1MzE3MmQ3YmRhMDUzZjU4
NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKQEAgLTE1OCw2ICsxNTgsOSBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdmlydHVhbCBib29sIGlzRG90QWNjZXNzb3JOb2Rl
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzRGVjb25z
dHJ1Y3Rpb25Ob2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBi
b29sIGlzRnVuY0V4cHJOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNBcnJvd0Z1
bmNFeHByTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjZW5kaWYKICAgICAgICAgdmly
dHVhbCBib29sIGlzQ29tbWFOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAg
dmlydHVhbCBib29sIGlzU2ltcGxlQXJyYXkoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAg
ICAgICB2aXJ0dWFsIGJvb2wgaXNBZGQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpAQCAtMTY1
Miw2ICsxNjU1LDE5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBGdW5jdGlvbkJvZHlOb2Rl
KiBtX2JvZHk7CiAgICAgfTsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgY2xhc3MgQXJyb3dGdW5jRXhwck5vZGUgOiBwdWJsaWMgRnVuY0V4cHJOb2RlIHsKKyAg
ICBwdWJsaWM6CisgICAgICAgIEFycm93RnVuY0V4cHJOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlv
biYsIGNvbnN0IElkZW50aWZpZXImLCBGdW5jdGlvbkJvZHlOb2RlKiwgY29uc3QgU291cmNlQ29k
ZSYsIFBhcmFtZXRlck5vZGUqID0gMCk7CisgICAgcHJpdmF0ZToKKyAgICAgICAgdmlydHVhbCBS
ZWdpc3RlcklEKiBlbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImLCBSZWdpc3RlcklEKiA9
IDApIG92ZXJyaWRlOworICAgICAgICAKKyAgICAgICAgdmlydHVhbCBib29sIGlzRnVuY0V4cHJO
b2RlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKyAgICAgICAgCisgICAgICAg
IHZpcnR1YWwgYm9vbCBpc0Fycm93RnVuY0V4cHJOb2RlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gdHJ1ZTsgfQorICAgIH07CisjZW5kaWYKKwogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFY
KQogICAgIGNsYXNzIENsYXNzRXhwck5vZGUgZmluYWwgOiBwdWJsaWMgRXhwcmVzc2lvbk5vZGUg
ewogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAppbmRl
eCAzMmQyNTBjYTdjYzUzZjRiZWE2MWY2MWI2ZGFiZmU2NGJjYmM2ODQ2Li5lZWQ1NTJhMzQyYTVj
NDg4MjlkYjNmYmVkOWUzNDJlM2YyNWNkOTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXIuY3BwCkBAIC0zMjksOCArMzI5LDEzIEBAIGJvb2wgUGFyc2VyPExleGVyVHlwZT46
OmFsbG93QXV0b21hdGljU2VtaWNvbG9uKCkKICAgICByZXR1cm4gbWF0Y2goQ0xPU0VCUkFDRSkg
fHwgbWF0Y2goRU9GVE9LKSB8fCBtX2xleGVyLT5wcmV2VGVybWluYXRvcigpOwogfQogCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhl
clR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYgY29udGV4
dCwgU291cmNlRWxlbWVudHNNb2RlIG1vZGUsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0aW9uUGFy
c2VUeXBlKQorI2Vsc2UKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYgY29udGV4dCwgU291cmNlRWxlbWVudHNN
b2RlIG1vZGUpCisjZW5kaWYKIHsKICAgICBjb25zdCB1bnNpZ25lZCBsZW5ndGhPZlVzZVN0cmlj
dExpdGVyYWwgPSAxMjsgLy8gInVzZSBzdHJpY3QiLmxlbmd0aAogICAgIFRyZWVTb3VyY2VFbGVt
ZW50cyBzb3VyY2VFbGVtZW50cyA9IGNvbnRleHQuY3JlYXRlU291cmNlRWxlbWVudHMoKTsKQEAg
LTMzOSw3ICszNDQsMTEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNl
RWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWwKICAgICB1bnNpZ25lZCBk
aXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMDsKICAgICBhdXRvIHNhdmVQb2ludCA9IGNyZWF0ZVNh
dmVQb2ludCgpOwogICAgIGJvb2wgaGFzU2V0U3RyaWN0ID0gZmFsc2U7CisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB3aGlsZSAoVHJlZVN0YXRlbWVudCBzdGF0ZW1l
bnQgPSBwYXJzZVN0YXRlbWVudChjb250ZXh0LCBkaXJlY3RpdmUsICZkaXJlY3RpdmVMaXRlcmFs
TGVuZ3RoLCBmdW5jdGlvblBhcnNlVHlwZSkpIHsKKyNlbHNlCiAgICAgd2hpbGUgKFRyZWVTdGF0
ZW1lbnQgc3RhdGVtZW50ID0gcGFyc2VTdGF0ZW1lbnQoY29udGV4dCwgZGlyZWN0aXZlLCAmZGly
ZWN0aXZlTGl0ZXJhbExlbmd0aCkpIHsKKyNlbmRpZgogICAgICAgICBpZiAobW9kZSA9PSBDaGVj
a0ZvclN0cmljdE1vZGUgJiYgIXNlZW5Ob25EaXJlY3RpdmUpIHsKICAgICAgICAgICAgIGlmIChk
aXJlY3RpdmUpIHsKICAgICAgICAgICAgICAgICAvLyAidXNlIHN0cmljdCIgbXVzdCBiZSB0aGUg
ZXhhY3QgbGl0ZXJhbCB3aXRob3V0IGVzY2FwZSBzZXF1ZW5jZXMgb3IgbGluZSBjb250aW51YXRp
b24uCkBAIC01NzEsNiArNTgwLDMxIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZURlY29uc3RydWN0aW9uUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6Y3JlYXRlCiAgICAgcmV0
dXJuIGNvbnRleHQuY3JlYXRlQmluZGluZ0xvY2F0aW9uKHRva2VuLm1fbG9jYXRpb24sIG5hbWUs
IHRva2VuLm1fc3RhcnRQb3NpdGlvbiwgdG9rZW4ubV9lbmRQb3NpdGlvbik7CiB9CiAKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVy
VHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250
ZXh0KQoreworICAgIEFTU0VSVChtYXRjaChBUlJPV0ZVTkNUSU9OKSk7CisKKyAgICBKU1Rva2Vu
TG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICBKU1RleHRQb3NpdGlvbiBz
dGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgIEpTVGV4dFBvc2l0aW9uIGVuZCA9IHRv
a2VuRW5kUG9zaXRpb24oKTsKKworICAgIG5leHQoKTsKKyAgICBUcmVlRXhwcmVzc2lvbiBleHBy
ID0gcGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICBmYWlsSWZGYWxz
ZShleHByLCAiQ2Fubm90IHBhcnNlIHRoZSBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uIik7Cisg
ICAgZW5kID0gbGFzdFRva2VuRW5kUG9zaXRpb24oKTsKKworICAgIGJvb2wgY29ycmVjdEFycm93
RmluaXNoID0gaXNFbmRPZkFycm93RnVuY3Rpb24oKSB8fCBtYXRjaChFT0ZUT0spOworICAgIGZh
aWxJZkZhbHNlKGNvcnJlY3RBcnJvd0ZpbmlzaCwgIkV4cGVjdGVkIGEgJzsnLCAnXScsICd9Jywg
JyknLCBvciAnLCcgZm9sbG93aW5nIGEgYXJyb3cgZnVuY3Rpb24gc3RhdGVtZW50Iik7CisKKyAg
ICBlbmQgPSB0b2tlbkVuZFBvc2l0aW9uKCk7CisgICAgc2V0RW5kT2ZTdGF0ZW1lbnQoKTsKKwor
ICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJldHVyblN0YXRlbWVudChsb2NhdGlvbiwgZXhwciwg
c3RhcnQsIGVuZCk7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4K
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBQ
YXJzZXI8TGV4ZXJUeXBlPjo6dHJ5UGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm5FeHByZXNzaW9u
KFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewpAQCAtMTE0NCw4ICsxMTc4LDEzIEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VCbG9ja1N0YXRlbWVuCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciom
IGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgsIEZ1bmN0aW9uUGFy
c2VUeXBlIHR5cGUpCisjZWxzZQogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqJiBk
aXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoKQorI2VuZGlmCiB7CiAg
ICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKICAgICBt
X3N0YXRlbWVudERlcHRoKys7CkBAIC0xMTU0LDYgKzExOTMsMjMgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRl
bWVudChUcmUKICAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7CiAgICAgVHJlZVN0YXRlbWVudCBy
ZXN1bHQgPSAwOwogICAgIGJvb2wgc2hvdWxkU2V0RW5kT2Zmc2V0ID0gdHJ1ZTsKKworI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaWYgKHR5cGUgPT0gQXJyb3dGdW5j
dGlvblBhcnNlVHlwZSkgeworICAgICAgICBzd2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7CisgICAg
ICAgIGNhc2UgQ0xPU0VQQVJFTjoKKyAgICAgICAgY2FzZSBDTE9TRUJSQUNLRVQ6CisgICAgICAg
IGNhc2UgQ09NTUE6CisgICAgICAgIGNhc2UgU0VNSUNPTE9OOiB7CisgICAgICAgICAgICByZXN1
bHQgPSAwOworICAgICAgICAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQocmVzdWx0LCBtX2xhc3RU
b2tlbkVuZFBvc2l0aW9uLm9mZnNldCk7CisgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAg
ICAgICB9CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQor
ICAgIH0KKyNlbmRpZgogICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKICAgICBjYXNlIE9Q
RU5CUkFDRToKICAgICAgICAgcmVzdWx0ID0gcGFyc2VCbG9ja1N0YXRlbWVudChjb250ZXh0KTsK
QEAgLTExOTksNiArMTI1NSwxMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
dGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAgIGNhc2Ug
QlJFQUs6CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlQnJlYWtTdGF0ZW1lbnQoY29udGV4dCk7CiAg
ICAgICAgIGJyZWFrOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAg
Y2FzZSBBUlJPV0ZVTkNUSU9OOgorICAgICAgICByZXN1bHQgPSBwYXJzZUFycm93RnVuY3Rpb25T
dGF0ZW1lbnQoY29udGV4dCk7CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgY2FzZSBSRVRV
Uk46CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlUmV0dXJuU3RhdGVtZW50KGNvbnRleHQpOwogICAg
ICAgICBicmVhazsKQEAgLTEyNjAsMjMgKzEzMjEsNDQgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlRm9ybWFsUGFyYW1ldGVyTGlzdCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VG
b3IKICAgICByZXR1cm4gbGlzdDsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlRnVuY3Rpb25Cb2R5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0
aW9uQm9keSgKICAgICBUcmVlQnVpbGRlciYgY29udGV4dCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0
YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIAorICAgIGludCBwYXJhbWV0ZXJzU3RhcnQsIENv
bnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQsIEZ1bmN0aW9uUGFyc2VUeXBlIHBhcnNlVHlw
ZSkKKyNlbHNlCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlRnVuY3Rpb25Cb2R5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1
bmN0aW9uQm9keSgKKyAgICBUcmVlQnVpbGRlciYgY29udGV4dCwgaW50IGZ1bmN0aW9uS2V5d29y
ZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsCiAgICAgaW50IHBhcmFtZXRlcnNTdGFydCwg
Q29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCkKKyNlbmRpZgogewogICAgIEpTVG9rZW5M
b2NhdGlvbiBzdGFydExvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CiAgICAgdW5zaWduZWQgc3Rh
cnRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgaWYgKHBhcnNlVHlwZSA9PSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSB7
CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgaWYgKG1hdGNoKENMT1NFQlJBQ0UpKSB7CisgICAg
ICAgICAgICB1bnNpZ25lZCBlbmRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOworICAgICAgICAgICAg
cmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0YXJ0TG9jYXRpb24sIHRva2VuTG9j
YXRpb24oKSwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1
bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0cmljdE1vZGUoKSwgY29uc3RydWN0
b3JLaW5kKTsKKyAgICAgICAgfQorICAgIH0KKyNlbHNlCiAgICAgbmV4dCgpOwotCiAgICAgaWYg
KG1hdGNoKENMT1NFQlJBQ0UpKSB7CiAgICAgICAgIHVuc2lnbmVkIGVuZENvbHVtbiA9IHRva2Vu
Q29sdW1uKCk7CiAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uQm9keShzdGFy
dExvY2F0aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0YXJ0Q29sdW1uLCBlbmRDb2x1bW4sIGZ1bmN0
aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBzdHJp
Y3RNb2RlKCksIGNvbnN0cnVjdG9yS2luZCk7CiAgICAgfQorI2VuZGlmCisKICAgICBEZXB0aE1h
bmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50RGVwdGgpOwogICAgIG1fc3RhdGVtZW50
RGVwdGggPSAwOwogICAgIHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpGdW5jdGlvbkJvZHlCdWlsZGVy
IGJvZHlCdWlsZGVyKGNvbnN0X2Nhc3Q8Vk0qPihtX3ZtKSwgbV9sZXhlci5nZXQoKSk7CisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBmYWlsSWZGYWxzZShwYXJzZVNv
dXJjZUVsZW1lbnRzKGJvZHlCdWlsZGVyLCBDaGVja0ZvclN0cmljdE1vZGUsIHBhcnNlVHlwZSks
IHBhcnNlVHlwZSA9PSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlID8gIkNhbm5vdCBwYXJzZSBi
b2R5IG9mIHRoaXMgZnVuY3Rpb24iIDogIkNhbm5vdCBwYXJzZSBib2R5IG9mIHRoaXMgYXJyb3cg
ZnVuY3Rpb24iKTsKKyNlbHNlCiAgICAgZmFpbElmRmFsc2UocGFyc2VTb3VyY2VFbGVtZW50cyhi
b2R5QnVpbGRlciwgQ2hlY2tGb3JTdHJpY3RNb2RlKSwgIkNhbm5vdCBwYXJzZSBib2R5IG9mIHRo
aXMgZnVuY3Rpb24iKTsKKyNlbmRpZgogICAgIHVuc2lnbmVkIGVuZENvbHVtbiA9IHRva2VuQ29s
dW1uKCk7CiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0YXJ0TG9jYXRp
b24sIHRva2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgZnVuY3Rpb25LZXl3
b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0cmljdE1vZGUo
KSwgY29uc3RydWN0b3JLaW5kKTsKIH0KQEAgLTEyOTcsNjAgKzEzNzksMTA1IEBAIHN0YXRpYyBj
b25zdCBjaGFyKiBzdHJpbmdGb3JGdW5jdGlvbk1vZGUoRnVuY3Rpb25QYXJzZU1vZGUgbW9kZSkK
ICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVl
QnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMgcmVxdWlyZW1lbnRzLCBGdW5j
dGlvblBhcnNlTW9kZSBtb2RlLAorICAgIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENv
bnN0cnVjdG9yS2luZCBvd25lckNsYXNzS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQ
YXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvLCBGdW5jdGlvblBhcnNlVHlwZSBw
YXJzZVR5cGUpCisjZWxzZQogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlv
bkluZm8oVHJlZUJ1aWxkZXImIGNvbnRleHQsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzIHJlcXVpcmVt
ZW50cywgRnVuY3Rpb25QYXJzZU1vZGUgbW9kZSwKICAgICBib29sIG5hbWVJc0luQ29udGFpbmlu
Z1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQgb3duZXJDbGFzc0tpbmQsIGludCBmdW5jdGlvbktleXdv
cmRTdGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYgaW5mbykKKyNlbmRpZgog
ewogICAgIEF1dG9Qb3BTY29wZVJlZiBmdW5jdGlvblNjb3BlKHRoaXMsIHB1c2hTY29wZSgpKTsK
ICAgICBmdW5jdGlvblNjb3BlLT5zZXRJc0Z1bmN0aW9uKCk7CiAgICAgaW50IGZ1bmN0aW9uTmFt
ZVN0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OwogICAgIGNvbnN0IElkZW50
aWZpZXIqIGxhc3RGdW5jdGlvbk5hbWUgPSBtX2xhc3RGdW5jdGlvbk5hbWU7CiAgICAgbV9sYXN0
RnVuY3Rpb25OYW1lID0gbnVsbHB0cjsKLSAgICBpZiAobWF0Y2goSURFTlQpKSB7Ci0gICAgICAg
IGluZm8ubmFtZSA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwotICAgICAgICBtX2xhc3RGdW5jdGlv
bk5hbWUgPSBpbmZvLm5hbWU7Ci0gICAgICAgIG5leHQoKTsKLSAgICAgICAgaWYgKCFuYW1lSXNJ
bkNvbnRhaW5pbmdTY29wZSkKLSAgICAgICAgICAgIGZhaWxJZkZhbHNlSWZTdHJpY3QoZnVuY3Rp
b25TY29wZS0+ZGVjbGFyZVZhcmlhYmxlKGluZm8ubmFtZSksICInIiwgaW5mby5uYW1lLT5pbXBs
KCksICInIGlzIG5vdCBhIHZhbGlkICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBu
YW1lIGluIHN0cmljdCBtb2RlIik7Ci0gICAgfSBlbHNlIGlmIChyZXF1aXJlbWVudHMgPT0gRnVu
Y3Rpb25OZWVkc05hbWUpIHsKKyAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0OworICAgIGJvb2wgaXND
bGFzc0NvbnN0cnVjdG9yOworICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCisgICAgaWYgKHBhcnNlVHlwZSA9PSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSB7Cisj
ZW5kaWYKKyAgICAgICAgaWYgKG1hdGNoKElERU5UKSkgeworICAgICAgICAgICAgaW5mby5uYW1l
ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CisgICAgICAgICAgICBtX2xhc3RGdW5jdGlvbk5hbWUg
PSBpbmZvLm5hbWU7CisgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgICAgICBpZiAoIW5hbWVJ
c0luQ29udGFpbmluZ1Njb3BlKQorICAgICAgICAgICAgICAgIGZhaWxJZkZhbHNlSWZTdHJpY3Qo
ZnVuY3Rpb25TY29wZS0+ZGVjbGFyZVZhcmlhYmxlKGluZm8ubmFtZSksICInIiwgaW5mby5uYW1l
LT5pbXBsKCksICInIGlzIG5vdCBhIHZhbGlkICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2Rl
KSwgIiBuYW1lIGluIHN0cmljdCBtb2RlIik7CisgICAgICAgIH0gZWxzZSBpZiAocmVxdWlyZW1l
bnRzID09IEZ1bmN0aW9uTmVlZHNOYW1lKSB7CiAgICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4p
ICYmIG1vZGUgPT0gRnVuY3Rpb25Nb2RlKQogICAgICAgICAgICAgc2VtYW50aWNGYWlsKCJGdW5j
dGlvbiBzdGF0ZW1lbnRzIG11c3QgaGF2ZSBhIG5hbWUiKTsKLSAgICAgICAgc2VtYW50aWNGYWls
dXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7Ci0g
ICAgICAgIGZhaWxEdWVUb1VuZXhwZWN0ZWRUb2tlbigpOwotICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgfQotICAgIGludCBwYXJhbWV0ZXJzU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3Rh
cnRPZmZzZXQ7Ci0gICAgaWYgKCFjb25zdW1lKE9QRU5QQVJFTikpIHsKLSAgICAgICAgc2VtYW50
aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1l
Iik7Ci0gICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgYW4gb3BlbmluZyAnKCcgYmVm
b3JlIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiJ3MgcGFyYW1ldGVyIGxpc3Qi
KTsKLSAgICB9Ci0KLSAgICBpZiAobW9kZSA9PSBHZXR0ZXJNb2RlKQotICAgICAgICBjb25zdW1l
T3JGYWlsKENMT1NFUEFSRU4sICJnZXR0ZXIgZnVuY3Rpb25zIG11c3QgaGF2ZSBubyBwYXJhbWV0
ZXJzIik7Ci0gICAgZWxzZSBpZiAobW9kZSA9PSBTZXR0ZXJNb2RlKSB7Ci0gICAgICAgIGZhaWxJ
ZlRydWUobWF0Y2goQ0xPU0VQQVJFTiksICJzZXR0ZXIgZnVuY3Rpb25zIG11c3QgaGF2ZSBvbmUg
cGFyYW1ldGVyIik7Ci0gICAgICAgIGF1dG8gcGFyYW1ldGVyID0gcGFyc2VEZWNvbnN0cnVjdGlv
blBhdHRlcm4oY29udGV4dCwgRGVjb25zdHJ1Y3RUb1BhcmFtZXRlcnMpOwotICAgICAgICBmYWls
SWZGYWxzZShwYXJhbWV0ZXIsICJzZXR0ZXIgZnVuY3Rpb25zIG11c3QgaGF2ZSBvbmUgcGFyYW1l
dGVyIik7Ci0gICAgICAgIGluZm8ucGFyYW1ldGVycyA9IGNvbnRleHQuY3JlYXRlRm9ybWFsUGFy
YW1ldGVyTGlzdChwYXJhbWV0ZXIpOwotICAgICAgICBmYWlsSWZUcnVlKG1hdGNoKENPTU1BKSwg
InNldHRlciBmdW5jdGlvbnMgbXVzdCBoYXZlIG9uZSBwYXJhbWV0ZXIiKTsKLSAgICAgICAgY29u
c3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiRXhwZWN0ZWQgYSAnKScgYWZ0ZXIgYSBwYXJhbWV0ZXIg
ZGVjbGFyYXRpb24iKTsKLSAgICB9IGVsc2UgewotICAgICAgICBpZiAoIW1hdGNoKENMT1NFUEFS
RU4pKSB7Ci0gICAgICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBwYXJzZUZvcm1hbFBhcmFtZXRl
cnMoY29udGV4dCk7Ci0gICAgICAgICAgICBmYWlsSWZGYWxzZShpbmZvLnBhcmFtZXRlcnMsICJD
YW5ub3QgcGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUo
bW9kZSkpOworICAgICAgICAgICAgc2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0Zv
ckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7CisgICAgICAgICAgICBmYWlsRHVlVG9VbmV4
cGVjdGVkVG9rZW4oKTsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAg
ICAgICBwYXJhbWV0ZXJzU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7Cisg
ICAgICAgIAorICAgICAgICBpZiAoIWNvbnN1bWUoT1BFTlBBUkVOKSkgeworICAgICAgICAgICAg
c2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwg
IiBuYW1lIik7CisgICAgICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVkIGFuIG9wZW5p
bmcgJygnIGJlZm9yZSBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIidzIHBhcmFt
ZXRlciBsaXN0Iik7CiAgICAgICAgIH0KLSAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBBUkVO
LCAiRXhwZWN0ZWQgYSAnKScgb3IgYSAnLCcgYWZ0ZXIgYSBwYXJhbWV0ZXIgZGVjbGFyYXRpb24i
KTsKLSAgICB9CiAKLSAgICBtYXRjaE9yRmFpbChPUEVOQlJBQ0UsICJFeHBlY3RlZCBhbiBvcGVu
aW5nICd7JyBhdCB0aGUgc3RhcnQgb2YgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSks
ICIgYm9keSIpOworICAgICAgICBpZiAobW9kZSA9PSBHZXR0ZXJNb2RlKQorICAgICAgICAgICAg
Y29uc3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiZ2V0dGVyIGZ1bmN0aW9ucyBtdXN0IGhhdmUgbm8g
cGFyYW1ldGVycyIpOworICAgICAgICBlbHNlIGlmIChtb2RlID09IFNldHRlck1vZGUpIHsKKyAg
ICAgICAgICAgIGZhaWxJZlRydWUobWF0Y2goQ0xPU0VQQVJFTiksICJzZXR0ZXIgZnVuY3Rpb25z
IG11c3QgaGF2ZSBvbmUgcGFyYW1ldGVyIik7CisgICAgICAgICAgICBhdXRvIHBhcmFtZXRlciA9
IHBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuKGNvbnRleHQsIERlY29uc3RydWN0VG9QYXJhbWV0
ZXJzKTsKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKHBhcmFtZXRlciwgInNldHRlciBmdW5jdGlv
bnMgbXVzdCBoYXZlIG9uZSBwYXJhbWV0ZXIiKTsKKyAgICAgICAgICAgIGluZm8ucGFyYW1ldGVy
cyA9IGNvbnRleHQuY3JlYXRlRm9ybWFsUGFyYW1ldGVyTGlzdChwYXJhbWV0ZXIpOworICAgICAg
ICAgICAgZmFpbElmVHJ1ZShtYXRjaChDT01NQSksICJzZXR0ZXIgZnVuY3Rpb25zIG11c3QgaGF2
ZSBvbmUgcGFyYW1ldGVyIik7CisgICAgICAgICAgICBjb25zdW1lT3JGYWlsKENMT1NFUEFSRU4s
ICJFeHBlY3RlZCBhICcpJyBhZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgaWYgKCFtYXRjaChDTE9TRVBBUkVOKSkgeworICAgICAg
ICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhjb250ZXh0
KTsKKyAgICAgICAgICAgICAgICBmYWlsSWZGYWxzZShpbmZvLnBhcmFtZXRlcnMsICJDYW5ub3Qg
cGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkp
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBBUkVOLCAi
RXhwZWN0ZWQgYSAnKScgb3IgYSAnLCcgYWZ0ZXIgYSBwYXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsK
KyAgICAgICAgfQogCi0gICAgLy8gQnl0ZWNvZGVHZW5lcmF0b3IgZW1pdHMgY29kZSB0byB0aHJv
dyBUeXBlRXJyb3Igd2hlbiBhIGNsYXNzIGNvbnN0cnVjdG9yIGlzICJjYWxsImVkLgotICAgIC8v
IFNldCBDb25zdHJ1Y3RvcktpbmQgdG8gTm9uZSBmb3Igbm9uLWNvbnN0cnVjdG9yIG1ldGhvZHMg
b2YgY2xhc3Nlcy4KLSAgICBib29sIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IG1vZGUgPT0gTWV0aG9k
TW9kZSAmJiBpbmZvLm5hbWUgJiYgKmluZm8ubmFtZSA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5j
b25zdHJ1Y3RvcjsKLSAgICBpZiAobV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kICE9IENvbnN0cnVj
dG9yS2luZDo6Tm9uZSkgewotICAgICAgICBvd25lckNsYXNzS2luZCA9IG1fZGVmYXVsdENvbnN0
cnVjdG9yS2luZDsKLSAgICAgICAgaXNDbGFzc0NvbnN0cnVjdG9yID0gdHJ1ZTsKKyAgICAgICAg
bWF0Y2hPckZhaWwoT1BFTkJSQUNFLCAiRXhwZWN0ZWQgYW4gb3BlbmluZyAneycgYXQgdGhlIHN0
YXJ0IG9mIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICAg
ICAgLy8gQnl0ZWNvZGVHZW5lcmF0b3IgZW1pdHMgY29kZSB0byB0aHJvdyBUeXBlRXJyb3Igd2hl
biBhIGNsYXNzIGNvbnN0cnVjdG9yIGlzICJjYWxsImVkLgorICAgICAgICAvLyBTZXQgQ29uc3Ry
dWN0b3JLaW5kIHRvIE5vbmUgZm9yIG5vbi1jb25zdHJ1Y3RvciBtZXRob2RzIG9mIGNsYXNzZXMu
CisgICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IG1vZGUgPT0gTWV0aG9kTW9kZSAmJiBpbmZv
Lm5hbWUgJiYgKmluZm8ubmFtZSA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvcjsK
KyAgICAgICAgaWYgKG1fZGVmYXVsdENvbnN0cnVjdG9yS2luZCAhPSBDb25zdHJ1Y3RvcktpbmQ6
Ok5vbmUpIHsKKyAgICAgICAgICAgIG93bmVyQ2xhc3NLaW5kID0gbV9kZWZhdWx0Q29uc3RydWN0
b3JLaW5kOworICAgICAgICAgICAgaXNDbGFzc0NvbnN0cnVjdG9yID0gdHJ1ZTsKKyAgICAgICAg
fQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCiAgICAgfQorICAgIAorICAg
IGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICBwYXJh
bWV0ZXJzU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CisgICAgICAgIGlm
ICghbWF0Y2goSURFTlQpICYmICFtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgICAgICBzZW1h
bnRpY0ZhaWx1cmVEdWVUb0tleXdvcmQoc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5h
bWUiKTsKKyAgICAgICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgYW4gYXJyb3cgZnVu
Y3Rpb24gaW5wdXQgcGFyYW1ldGVyIik7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBp
ZiAobWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICAgICAgICAgIGNvbnN1bWUoT1BFTlBBUkVO
KTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBpZiAoIW1hdGNoKENMT1NFUEFS
RU4pKSB7CisgICAgICAgICAgICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9IHBhcnNlRm9ybWFs
UGFyYW1ldGVycyhjb250ZXh0KTsKKyAgICAgICAgICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5m
by5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5n
Rm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg
ICAgCisgICAgICAgICAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiRXhwZWN0ZWQg
YSAnKScgb3IgYSAnLCcgYWZ0ZXIgYSBwYXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsKKyAgICAgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgYXV0byBwYXJhbWV0ZXIgPSBwYXJzZURlY29u
c3RydWN0aW9uUGF0dGVybihjb250ZXh0LCBEZWNvbnN0cnVjdFRvUGFyYW1ldGVycyk7CisgICAg
ICAgICAgICAgICAgZmFpbElmRmFsc2UocGFyYW1ldGVyLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRl
ciBwYXR0ZXJuIik7CisgICAgICAgICAgICAgICAgaW5mby5wYXJhbWV0ZXJzID0gY29udGV4dC5j
cmVhdGVGb3JtYWxQYXJhbWV0ZXJMaXN0KHBhcmFtZXRlcik7CisgICAgICAgICAgICAgICAgZmFp
bElmRmFsc2UoaW5mby5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRo
aXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgICAgICAKKyAgICAgICAgbWF0Y2hPckZhaWwoQVJST1dGVU5DVElPTiwgIkV4cGVj
dGVkIGEgJz0+JyBhZnRlciBhcnJvdyBmdW5jdGlvbiBwYXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsK
KyAgICAgICAgaXNDbGFzc0NvbnN0cnVjdG9yID0gZmFsc2U7CisgICAgICAgIAorICAgICAgICBp
bmZvLmFycm93RnVuY3Rpb25PZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CisgICAgfQor
I2VuZGlmCisgICAgCiAgICAgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCA9IGlzQ2xh
c3NDb25zdHJ1Y3RvciA/IG93bmVyQ2xhc3NLaW5kIDogQ29uc3RydWN0b3JLaW5kOjpOb25lOwog
CiAgICAgaW5mby5vcGVuQnJhY2VPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CkBAIC0x
Mzg0LDggKzE1MTEsMTUgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgZmFpbElm
RmFsc2UocG9wU2NvcGUoZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlh
YmxlSW5mbyksICJQYXJzZXIgZXJyb3IiKTsKICAgICAgICAgCiAgICAgICAgIGluZm8uY2xvc2VC
cmFjZU9mZnNldCA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VPZmZzZXQ7Ci0KLSAgICAgICAgbV90
b2tlbiA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VUb2tlbigpOworICAgICAgICAKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAocGFyc2VUeXBlID09IEFy
cm93RnVuY3Rpb25QYXJzZVR5cGUpCisgICAgICAgICAgICBpbmZvLmZ1bmN0aW9uQm9keVR5cGUg
PSBjYWNoZWRJbmZvLT5pc0JvZHlBcnJvd0V4cHJlc3Npb24gPyAgQXJyb3dGdW5jdGlvbkJvZHlF
eHByZXNzaW9uIDogQXJyb3dGdW5jdGlvbkJvZHlCbG9jazsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgaW5mby5mdW5jdGlvbkJvZHlUeXBlID0gU3RhbmRhcmRGdW5jdGlvbkJvZHlCbG9jazsK
KyNlbmRpZgorICAgICAgICBtX3Rva2VuID0gY2FjaGVkSW5mby0+ZW5kRnVuY3Rpb25Ub2tlbigp
OworICAgICAgICAKICAgICAgICAgaWYgKGVuZENvbHVtbklzT25TdGFydExpbmUpCiAgICAgICAg
ICAgICBtX3Rva2VuLm1fbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVTdGFy
dE9mZnNldDsKIApAQCAtMTM5NCwxMyArMTUyOCw0MyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWls
ZAogCiAgICAgICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KGluZm8uYm9keSwgbV9sZXhlci0+Y3Vy
cmVudE9mZnNldCgpKTsKICAgICAgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICAgICAgaWYgKHBhcnNlVHlwZSAhPSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlIHx8
IGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrKQorICAgICAg
ICAgICAgbmV4dCgpOworI2Vsc2UKICAgICAgICAgbmV4dCgpOworI2VuZGlmCiAgICAgICAgIGlu
Zm8uYm9keUVuZExpbmUgPSBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmU7CiAgICAgICAgIHJl
dHVybiB0cnVlOwogICAgIH0KKyAgICAKICAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBsYXN0RnVu
Y3Rpb25OYW1lOwogICAgIFBhcnNlclN0YXRlIG9sZFN0YXRlID0gc2F2ZVN0YXRlKCk7CisgICAg
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBl
ID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVQb2lu
dCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgICAgICBuZXh0KCk7CisgICAgICAgIC8vIENoZWNr
IGlmIGFycm93IGJvZHkgc3RhcnQgd2l0aCB7LiBJZiBpdCB0cnVlIGl0IG1lYW4gdGhhdCBhcnJv
dyBmdW5jdGlvbiBpcyBGYXQgYXJyb3cgZnVuY3Rpb24KKyAgICAgICAgLy8gYW5kIHdlIG5lZWQg
dXNlIGNvbW1vbiBhcHByb2FjaCB0byBwYXJzZSBmdW5jdGlvbiBib2R5CisgICAgICAgIGluZm8u
ZnVuY3Rpb25Cb2R5VHlwZSA9IG1hdGNoKE9QRU5CUkFDRSkgPyBBcnJvd0Z1bmN0aW9uQm9keUJs
b2NrIDogQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOworICAgIAorICAgICAgICBpZiAoaW5m
by5mdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHsKKyAgICAgICAg
ICAgIGluZm8ub3BlbkJyYWNlT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgICAg
ICAgICAgaW5mby5ib2R5U3RhcnRMaW5lID0gdG9rZW5MaW5lKCk7CisgICAgICAgICAgICBpbmZv
LmJvZHlTdGFydENvbHVtbiA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldCAtIG1fdG9rZW4ubV9kYXRh
LmxpbmVTdGFydE9mZnNldDsKKyAgICAgICAgCisgICAgICAgICAgICBpbmZvLmJvZHkgPSBwYXJz
ZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1l
U3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kKTsKKyAgICAgICAgfSBlbHNl
IHsKKyAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKKyAgICAgICAgICAg
IGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0
YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQs
IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpOworICAgICAgICB9CisgICAgfSBlbHNlCisgICAgICAg
IGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0
YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQp
OworI2Vsc2UKICAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5j
dGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29u
c3RydWN0b3JLaW5kKTsKKyNlbmRpZgorICAgIAogICAgIHJlc3RvcmVTdGF0ZShvbGRTdGF0ZSk7
CiAgICAgZmFpbElmRmFsc2UoaW5mby5ib2R5LCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIHRo
aXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKICAgICBjb250ZXh0LnNldEVuZE9m
ZnNldChpbmZvLmJvZHksIG1fbGV4ZXItPmN1cnJlbnRPZmZzZXQoKSk7CkBAIC0xNDMxLDE4ICsx
NTk1LDMzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIHBhcmFtZXRlcnMuY2xv
c2VCcmFjZUxpbmUgPSBjbG9zZUJyYWNlTGluZTsKICAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJy
YWNlT2Zmc2V0ID0gaW5mby5jbG9zZUJyYWNlT2Zmc2V0OwogICAgICAgICBwYXJhbWV0ZXJzLmNs
b3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0OworI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChwYXJzZVR5cGUg
PT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICAgICAgcGFyYW1ldGVycy5pc0Jv
ZHlBcnJvd0V4cHJlc3Npb24gPSBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlv
bkJvZHlFeHByZXNzaW9uOworICAgICAgICAgICAgcGFyYW1ldGVycy50b2tlblR5cGUgPSBtX3Rv
a2VuLm1fdHlwZTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIGZ1bmN0aW9uU2NvcGUtPmZp
bGxQYXJhbWV0ZXJzRm9yU291cmNlUHJvdmlkZXJDYWNoZShwYXJhbWV0ZXJzKTsKICAgICAgICAg
bmV3SW5mbyA9IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjpjcmVhdGUocGFyYW1ldGVycyk7CiAK
ICAgICB9CiAgICAgCiAgICAgZmFpbElmRmFsc2UocG9wU2NvcGUoZnVuY3Rpb25TY29wZSwgVHJl
ZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQYXJzZXIgZXJyb3IiKTsKKyAgICAK
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlmICgocGFyc2VUeXBl
ID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUgJiYgaW5mby5mdW5jdGlvbkJvZHlUeXBlID09IEFy
cm93RnVuY3Rpb25Cb2R5QmxvY2spIHx8IHBhcnNlVHlwZSAhPSBBcnJvd0Z1bmN0aW9uUGFyc2VU
eXBlKSB7CisgICAgICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0UsICJFeHBlY3RlZCBhIGNsb3Np
bmcgJ30nIGFmdGVyIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsK
KyAgICAgICAgbmV4dCgpOworICAgIH0gZWxzZQorICAgICAgICBmYWlsSWZGYWxzZShpc0VuZE9m
QXJyb3dGdW5jdGlvbigpLCAiRXhwZWN0ZWQgdGhlIGNsb3NpbmcgJzsnICcsJyAnXScgJyknICd9
JyBhZnRlciBhcnJvdyBmdW5jdGlvbiIpOworI2Vsc2UKICAgICBtYXRjaE9yRmFpbChDTE9TRUJS
QUNFLCAiRXhwZWN0ZWQgYSBjbG9zaW5nICd9JyBhZnRlciBhICIsIHN0cmluZ0ZvckZ1bmN0aW9u
TW9kZShtb2RlKSwgIiBib2R5Iik7CisgICAgbmV4dCgpOworI2VuZGlmCiAgICAgCiAgICAgaWYg
KG5ld0luZm8pCiAgICAgICAgIG1fZnVuY3Rpb25DYWNoZS0+YWRkKGluZm8ub3BlbkJyYWNlT2Zm
c2V0LCBXVEY6Om1vdmUobmV3SW5mbykpOwogICAgIAotICAgIG5leHQoKTsKICAgICBpbmZvLmJv
ZHlFbmRMaW5lID0gbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lOwogICAgIHJldHVybiB0cnVl
OwogfQpAQCAtMTc2Niw2ICsxOTQ1LDE4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJZlN0YXRlbWVudChUCiAgICAg
cmV0dXJuIGNvbnRleHQuY3JlYXRlSWZTdGF0ZW1lbnQoaWZMb2NhdGlvbiwgY29uZGl0aW9uLCB0
cnVlQmxvY2ssIHN0YXRlbWVudFN0YWNrLmxhc3QoKSwgc3RhcnQsIGVuZCk7CiB9CiAKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVy
VHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNv
bnRleHQpCit7CisgICAgZmFpbElmU3RhY2tPdmVyZmxvdygpOworICAgIFRyZWVFeHByZXNzaW9u
IG5vZGUgPSBwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKGNvbnRleHQpOworICAgIGZhaWxJZkZh
bHNlKG5vZGUsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lvbiIpOworICAgIGNvbnRleHQuc2V0RW5k
T2Zmc2V0KG5vZGUsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ub2Zmc2V0KTsKKyAgICByZXR1cm4g
bm9kZTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VFeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewpAQCAtMTgxMyw2ICsyMDA0
LDQxIEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlQXNzaWdubWVuCiAgICAgICAgIH0KICAgICAgICAgcmVzdG9y
ZVNhdmVQb2ludChzYXZlUG9pbnQpOwogICAgIH0KKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVh
dGVTYXZlUG9pbnQoKTsKKyAgICBib29sIGFycm93RnVuY3Rpb25FbXB0eUxpc3QgPSBmYWxzZTsK
KyAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICBuZXh0KCk7CisgICAgICAgIGlm
IChtYXRjaChDTE9TRVBBUkVOKSkgeworICAgICAgICAgICAgbmV4dCgpOworCisgICAgICAgICAg
ICBpZiAobWF0Y2goQVJST1dGVU5DVElPTikpCisgICAgICAgICAgICAgICAgYXJyb3dGdW5jdGlv
bkVtcHR5TGlzdCA9IHRydWU7CisgICAgICAgIH0KKworICAgICAgICBpZiAoIWFycm93RnVuY3Rp
b25FbXB0eUxpc3QpCisgICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0
aW9uUG9pbnQpOworICAgIH0KKworICAgIFRyZWVFeHByZXNzaW9uIGxoczsKKyAgICBpZiAoIWFy
cm93RnVuY3Rpb25FbXB0eUxpc3QpIHsKKyAgICAgICAgbGhzID0gcGFyc2VDb25kaXRpb25hbEV4
cHJlc3Npb24oY29udGV4dCk7CisgICAgICAgIGZhaWxJZkZhbHNlKGxocywgIkNhbhlub3QgcGFy
c2UgZXhwcmVzc2lvbiIpOworICAgICAgICBpZiAoaW5pdGlhbE5vbkxIU0NvdW50ICE9IG1fbm9u
TEhTQ291bnQpIHsKKyAgICAgICAgICAgIGlmIChtX3Rva2VuLm1fdHlwZSA+PSBFUVVBTCAmJiBt
X3Rva2VuLm1fdHlwZSA8PSBPUkVRVUFMKQorICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbCgi
TGVmdCBoYW5kIHNpZGUgb2Ygb3BlcmF0b3IgJyIsIGdldFRva2VuKCksICInIG11c3QgYmUgYSBy
ZWZlcmVuY2UiKTsKKworICAgICAgICAgICAgcmV0dXJuIGxoczsKKyAgICAgICAgfQorICAgIH0K
KworICAgIGlmIChtYXRjaChBUlJPV0ZVTkNUSU9OKSkgeworICAgICAgICByZXN0b3JlU2F2ZVBv
aW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICBsaHMgPSBwYXJzZUFycm93RnVu
Y3Rpb25XcmFwcGVyKGNvbnRleHQpOworICAgICAgICByZXR1cm4gbGhzOworICAgIH0KKyNlbHNl
CiAgICAgVHJlZUV4cHJlc3Npb24gbGhzID0gcGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24oY29u
dGV4dCk7CiAgICAgZmFpbElmRmFsc2UobGhzLCAiQ2Fubm90IHBhcnNlIGV4cHJlc3Npb24iKTsK
ICAgICBpZiAoaW5pdGlhbE5vbkxIU0NvdW50ICE9IG1fbm9uTEhTQ291bnQpIHsKQEAgLTE4MjEs
NyArMjA0Nyw4IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Np
b24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXNzaWdubWVuCiAKICAgICAgICAgcmV0dXJuIGxo
czsKICAgICB9Ci0gICAgCisjZW5kaWYKKwogICAgIGludCBhc3NpZ25tZW50U3RhY2sgPSAwOwog
ICAgIE9wZXJhdG9yIG9wOwogICAgIGJvb2wgaGFkQXNzaWdubWVudCA9IGZhbHNlOwpAQCAtMjI5
Niw2ICsyNTIzLDIzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Np
b24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAgICAgIHJldHVybiBj
b250ZXh0LnRoaXNFeHByKGxvY2F0aW9uLCBtX3RoaXNURFpNb2RlKTsKICAgICB9CiAgICAgY2Fz
ZSBJREVOVDogeworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAg
IFNhdmVQb2ludCBzYXZlQXJyb3dGdW5jdGlvblBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7Cisg
ICAgICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAg
ICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CisgICAg
ICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgICAgICBu
ZXh0KCk7CisKKyAgICAgICAgaWYgKCFtYXRjaChBUlJPV0ZVTkNUSU9OKSkgeworICAgICAgICAg
ICAgY3VycmVudFNjb3BlKCktPnVzZVZhcmlhYmxlKGlkZW50LCBtX3ZtLT5wcm9wZXJ0eU5hbWVz
LT5ldmFsID09ICppZGVudCk7CisgICAgICAgICAgICBtX2xhc3RJZGVudGlmaWVyID0gaWRlbnQ7
CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVSZXNvbHZlKGxvY2F0aW9uLCBpZGVu
dCwgc3RhcnQpOworICAgICAgICB9CisKKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJy
b3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAgVHJlZUV4cHJlc3Npb24gbGhzID0gcGFyc2VBcnJv
d0Z1bmN0aW9uV3JhcHBlcihjb250ZXh0KTsKKyAgICAgICAgcmV0dXJuIGxoczsKKyNlbHNlCiAg
ICAgICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CiAgICAg
ICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAg
ICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwpAQCAtMjMwMyw2
ICsyNTQ3LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAgY3VycmVudFNjb3Bl
KCktPnVzZVZhcmlhYmxlKGlkZW50LCBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09ICppZGVu
dCk7CiAgICAgICAgIG1fbGFzdElkZW50aWZpZXIgPSBpZGVudDsKICAgICAgICAgcmV0dXJuIGNv
bnRleHQuY3JlYXRlUmVzb2x2ZShsb2NhdGlvbiwgaWRlbnQsIHN0YXJ0KTsKKyNlbmRpZgogICAg
IH0KICAgICBjYXNlIFNUUklORzogewogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9
IG1fdG9rZW4ubV9kYXRhLmlkZW50OwpAQCAtMjQ5MCw2ICsyNzM1LDMyIEBAIGVuZE1lbWJlckV4
cHJlc3Npb246CiAgICAgcmV0dXJuIGJhc2U7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
QXJyb3dGdW5jdGlvbldyYXBwZXIoVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAgVHJlZUV4
cHJlc3Npb24gYmFzZSA9IDA7CisgICAgSlNUZXh0UG9zaXRpb24gZXhwcmVzc2lvblN0YXJ0ID0g
dG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgaW50IG5ld0NvdW50ID0gMDsKKyAgICBKU1Rva2Vu
TG9jYXRpb24gbG9jYXRpb247CisKKyAgICBpZiAobWF0Y2goSURFTlQpIHx8IG1hdGNoKE9QRU5Q
QVJFTikpIHsKKyAgICAgICAgdW5zaWduZWQgZnVuY3Rpb25LZXl3b3JkU3RhcnQgPSB0b2tlblN0
YXJ0KCk7CisgICAgICAgIGxvY2F0aW9uID0gdG9rZW5Mb2NhdGlvbigpOworICAgICAgICBQYXJz
ZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87CisgICAgICAgIGluZm8ubmFtZSA9ICZt
X3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllcjsKKyAgICAgICAgZmFpbElmRmFsc2Uo
KHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEZ1bmN0
aW9uTW9kZSwgdHJ1ZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBmdW5jdGlvbktleXdvcmRTdGFy
dCwgaW5mbywgQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIGFycm93IGZ1
bmN0aW9uIGV4cHJlc3Npb24iKTsKKyAgICAgICAgYmFzZSA9IGNvbnRleHQuY3JlYXRlQXJyb3dG
dW5jdGlvbkV4cHIobG9jYXRpb24sIGluZm8pOworICAgIH0gZWxzZQorICAgICAgICBiYXNlID0g
cGFyc2VQcmltYXJ5RXhwcmVzc2lvbihjb250ZXh0KTsKKworICAgIGZhaWxJZkZhbHNlKGJhc2Us
ICJDYW5ub3QgcGFyc2UgYmFzZSBleHByZXNzaW9uIik7CisgICAgd2hpbGUgKG5ld0NvdW50LS0p
CisgICAgICAgIGJhc2UgPSBjb250ZXh0LmNyZWF0ZU5ld0V4cHIobG9jYXRpb24sIGJhc2UsIGV4
cHJlc3Npb25TdGFydCwgbGFzdFRva2VuRW5kUG9zaXRpb24oKSk7CisgICAgcmV0dXJuIGJhc2U7
Cit9CisjZW5kaWYKKwogc3RhdGljIGNvbnN0IGNoYXIqIG9wZXJhdG9yU3RyaW5nKGJvb2wgcHJl
Zml4LCB1bnNpZ25lZCB0b2spCiB7CiAgICAgc3dpdGNoICh0b2spIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1BhcnNlci5oCmluZGV4IDBmMjcyOGY4NjIxZjgwMTBjNDEwYmY3OTg3NjE5YmYy
M2U1MGFmOGIuLjM0Y2RhOTcyY2MzYjhlMDlkNjIzZjM5ZDlmNWFmYzJlMDFhMzdmODYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaApAQCAtODAsNiArODAsOSBAQCBjbGFzcyBT
b3VyY2VDb2RlOwogQ09NUElMRV9BU1NFUlQoTGFzdFVudGFnZ2VkVG9rZW4gPCA2NCwgTGVzc1Ro
YW42NFVudGFnZ2VkVG9rZW5zKTsKIAogZW51bSBTb3VyY2VFbGVtZW50c01vZGUgeyBDaGVja0Zv
clN0cmljdE1vZGUsIERvbnRDaGVja0ZvclN0cmljdE1vZGUgfTsKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorZW51bSBGdW5jdGlvblBhcnNlVHlwZSB7IFN0YW5kYXJkRnVu
Y3Rpb25QYXJzZVR5cGUsIEFycm93RnVuY3Rpb25QYXJzZVR5cGUgfTsKKyNlbmRpZgogZW51bSBG
dW5jdGlvblJlcXVpcmVtZW50cyB7IEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEZ1bmN0aW9uTmVl
ZHNOYW1lIH07CiBlbnVtIEZ1bmN0aW9uUGFyc2VNb2RlIHsKICAgICBGdW5jdGlvbk1vZGUsCkBA
IC02MTgsNiArNjIxLDEzIEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBtX3Rva2VuLm1fdHlw
ZSA9PSBJREVOVCAmJiAqbV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1l
cy0+b2Y7CiAgICAgfQogICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgQUxXQVlTX0lOTElORSBib29sIGlzRW5kT2ZBcnJvd0Z1bmN0aW9uKCkKKyAgICB7Cisg
ICAgICAgIHJldHVybiBtYXRjaChTRU1JQ09MT04pIHx8IG1hdGNoKENPTU1BKSB8fCBtYXRjaChD
TE9TRVBBUkVOKSB8fCBtYXRjaChDTE9TRUJSQUNFKSB8fCBtYXRjaChDTE9TRUJSQUNLRVQpOwor
ICAgIH0KKyNlbmRpZgorICAgIAogICAgIEFMV0FZU19JTkxJTkUgdW5zaWduZWQgdG9rZW5TdGFy
dCgpCiAgICAgewogICAgICAgICByZXR1cm4gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0
OwpAQCAtNzIxLDkgKzczMSwxNCBAQCBwcml2YXRlOgogICAgICAgICB9CiAgICAgICAgIHJldHVy
biByZXN1bHQ7CiAgICAgfQotICAgIAorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50
cyBwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxlbWVudHNNb2RlLCBG
dW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSA9IFN0YW5kYXJkRnVuY3Rpb25QYXJz
ZVR5cGUpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBw
YXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUs
IHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMCwgRnVuY3Rpb25QYXJzZVR5cGUg
ZnVuY3Rpb25QYXJzZVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNlbHNlCiAg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgcGFyc2VT
b3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYsIFNvdXJjZUVsZW1lbnRzTW9kZSk7CiAgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3RhdGVtZW50KFRy
ZWVCdWlsZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVj
dGl2ZUxpdGVyYWxMZW5ndGggPSAwKTsKKyNlbmRpZgogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lO
VEFYKQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJz
ZUNsYXNzRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImKTsKICNlbmRpZgpAQCAtNzYyLDE3ICs3Nzcs
MzIgQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9w
ZXJ0eSBwYXJzZVByb3BlcnR5KFRyZWVCdWlsZGVyJiwgYm9vbCBzdHJpY3QpOwogICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VQcm9wZXJ0eU1ldGhv
ZChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciogbWV0aG9kTmFtZSk7CiAg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgcGFyc2VHZXR0ZXJT
ZXR0ZXIoVHJlZUJ1aWxkZXImLCBib29sIHN0cmljdCwgUHJvcGVydHlOb2RlOjpUeXBlLCB1bnNp
Z25lZCBnZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBDb25zdHJ1Y3RvcktpbmQgPSBDb25zdHJ1
Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZyA9IFN1cGVyQmluZGluZzo6Tm90TmVlZGVkKTsK
LSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZ1bmN0
aW9uQm9keSBwYXJzZUZ1bmN0aW9uQm9keShUcmVlQnVpbGRlciYsIGludCBmdW5jdGlvbktleXdv
cmRTdGFydCwgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25z
dHJ1Y3RvcktpbmQpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJv
ZHkgcGFyc2VGdW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3Rh
cnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0
b3JLaW5kLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSA9IFN0YW5kYXJkRnVu
Y3Rpb25QYXJzZVR5cGUpOworI2Vsc2UKKyAgICAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VGdW5jdGlvbkJvZHkoVHJl
ZUJ1aWxkZXImLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFy
dCwgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kKTsKKyNlbmRpZgogICAgIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRm9ybWFsUGFyYW1l
dGVyTGlzdCBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoVHJlZUJ1aWxkZXImKTsKICAgICBlbnVtIFZh
ckRlY2xhcmF0aW9uTGlzdENvbnRleHQgeyBGb3JMb29wQ29udGV4dCwgVmFyRGVjbGFyYXRpb25D
b250ZXh0IH07CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lv
biBwYXJzZVZhckRlY2xhcmF0aW9uTGlzdChUcmVlQnVpbGRlciYsIGludCYgZGVjbGFyYXRpb25z
LCBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuJiBsYXN0UGF0dGVybiwgVHJlZUV4cHJlc3Npb24m
IGxhc3RJbml0aWFsaXplciwgSlNUZXh0UG9zaXRpb24mIGlkZW50U3RhcnQsIEpTVGV4dFBvc2l0
aW9uJiBpbml0U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0RW5kLCBWYXJEZWNsYXJhdGlvbkxp
c3RDb250ZXh0KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElO
RSBUcmVlQ29uc3REZWNsTGlzdCBwYXJzZUNvbnN0RGVjbGFyYXRpb25MaXN0KFRyZWVCdWlsZGVy
Jik7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VBcnJvd0Z1bmN0aW9uRXhw
cmVzc2lvbihUcmVlQnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVN0YXRlbWVudCBwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImKTsK
KyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlQXJy
b3dGdW5jdGlvbldyYXBwZXIoVHJlZUJ1aWxkZXImKTsKKyNlbmRpZgorCiAgICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVy
biBjcmVhdGVCaW5kaW5nUGF0dGVybihUcmVlQnVpbGRlciYsIERlY29uc3RydWN0aW9uS2luZCwg
Y29uc3QgSWRlbnRpZmllciYsIGludCBkZXB0aCwgSlNUb2tlbik7CiAgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBw
YXJzZURlY29uc3RydWN0aW9uUGF0dGVybihUcmVlQnVpbGRlciYsIERlY29uc3RydWN0aW9uS2lu
ZCwgaW50IGRlcHRoID0gMCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZF
Ul9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiB0cnlQYXJzZURlY29uc3RydWN0aW9u
UGF0dGVybkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9J
TkxJTkUgYm9vbCBwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWly
ZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSwgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwg
Q29uc3RydWN0b3JLaW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9u
SW5mbzxUcmVlQnVpbGRlcj4mLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSA9
IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOworI2Vsc2UKICAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBib29sIHBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWls
ZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlLCBib29sIG5hbWVJ
c0luQ29udGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQsIGludCBmdW5jdGlvbktleXdvcmRT
dGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYpOworI2VuZGlmCisgICAgCiAj
aWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBORVZFUl9JTkxJTkUgVHJlZUNsYXNzRXhwcmVzc2lvbiBwYXJzZUNsYXNzKFRyZWVCdWls
ZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIFBhcnNlckNsYXNzSW5mbzxUcmVlQnVpbGRlcj4m
KTsKICNlbmRpZgpAQCAtNzg5LDYgKzgxOSwxNCBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4g
YWxsb3dBdXRvbWF0aWNTZW1pY29sb24oKTsKICAgICB9CiAgICAgCisKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHZvaWQgc2V0RW5kT2ZTdGF0ZW1lbnQoKQorICAg
IHsKKyAgICAgICAgbV9sZXhlci0+c2V0VG9rZW5Qb3NpdGlvbigmbV90b2tlbik7CisgICAgfQor
I2VuZGlmCisKICAgICBib29sIGNhblJlY3Vyc2UoKQogICAgIHsKICAgICAgICAgcmV0dXJuIG1f
dm0tPmlzU2FmZVRvUmVjdXJzZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKaW5kZXggNmI3MzYyODJlMmQyYTgxYmM2M2RjMmYzYzBl
NWFlOGM4NThjZDFmOC4uMGNkZTBjNjdhOWRlMGVkZjM0MTQ0ZTMyNzkxZTVlOTBiNGEyMTUxNCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbklu
Zm8uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5m
by5oCkBAIC0yOCw2ICsyOCwxMCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAorI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitlbnVtIEZ1bmN0aW9uQm9keVR5cGUgeyBBcnJvd0Z1
bmN0aW9uQm9keUV4cHJlc3Npb24sIEFycm93RnVuY3Rpb25Cb2R5QmxvY2ssIFN0YW5kYXJkRnVu
Y3Rpb25Cb2R5QmxvY2sgfTsKKyNlbmRpZgorCiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
CiBzdHJ1Y3QgUGFyc2VyRnVuY3Rpb25JbmZvIHsKICAgICBjb25zdCBJZGVudGlmaWVyKiBuYW1l
ID0gMDsKQEAgLTM4LDYgKzQyLDExIEBAIHN0cnVjdCBQYXJzZXJGdW5jdGlvbkluZm8gewogICAg
IGludCBib2R5U3RhcnRMaW5lID0gMDsKICAgICBpbnQgYm9keUVuZExpbmUgPSAwOwogICAgIHVu
c2lnbmVkIGJvZHlTdGFydENvbHVtbiA9IDA7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICB1bnNpZ25lZCBhcnJvd0Z1bmN0aW9uT2Zmc2V0ID0gMDsKKyAgICBib29s
IGlzQXJyb3dGdW5jdGlvbiA9IGZhbHNlOworICAgIEZ1bmN0aW9uQm9keVR5cGUgZnVuY3Rpb25C
b2R5VHlwZSA9IFN0YW5kYXJkRnVuY3Rpb25Cb2R5QmxvY2s7CisjZW5kaWYKIH07CiAKICNpZiBF
TkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlclRva2Vucy5oCmluZGV4IDgzMjlmODJhOWIyZmY5MTVkMWYyNDFjMWY4YmZmYWQ0MjQ3YTVm
MGIuLmM4YjE2NmUwZWFkN2QyZGE3MTllNzZjNGEyZjA5YWZmMWQ3NGQ3YWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaApAQCAtNzUsNiArNzUsOSBAQCBl
bnVtIEpTVG9rZW5UeXBlIHsKICAgICBGSU5BTExZLAogICAgIERFQlVHR0VSLAogICAgIEVMU0Us
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBBUlJPV0ZVTkNUSU9O
LAorI2VuZGlmCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAgICAgQ0xBU1NUT0tFTiwK
ICAgICBFWFRFTkRTLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9T
b3VyY2VDb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaApp
bmRleCA3M2QyM2RiODJhZjI1ZWE0NmMwZjg5Nzg1Y2U0MjRiYjYwZWI2MWE3Li45MjhlNzEyYTkw
ZTM0ODk4OGJjMzU1NDg5ODc1YjA5MDc3Njc1NTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1NvdXJjZUNvZGUuaApAQCAtMTA1LDYgKzEwNSw5IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICAKICAgICAgICAgU291cmNlQ29kZSBzdWJFeHByZXNzaW9uKHVuc2lnbmVkIG9wZW5C
cmFjZSwgdW5zaWduZWQgY2xvc2VCcmFjZSwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1u
KTsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIFNvdXJj
ZUNvZGUgc3ViQXJyb3dFeHByZXNzaW9uKHVuc2lnbmVkIHN0YXJ0QXJyb3dGdW5jdGlvbiwgdW5z
aWduZWQgZW5kQXJyb3dGdW5jdGlvbiwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKTsK
KyNlbmRpZgogICAgIHByaXZhdGU6CiAgICAgICAgIFJlZlB0cjxTb3VyY2VQcm92aWRlcj4gbV9w
cm92aWRlcjsKICAgICAgICAgaW50IG1fc3RhcnRDaGFyOwpAQCAtMTE4LDYgKzEyMSwxNyBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgcmV0dXJuIFNvdXJjZUNvZGUoU3RyaW5nU291cmNlUHJv
dmlkZXI6OmNyZWF0ZShzb3VyY2UsIHVybCwgc3RhcnRQb3NpdGlvbiksIHN0YXJ0UG9zaXRpb24u
bV9saW5lLm9uZUJhc2VkSW50KCksIHN0YXJ0UG9zaXRpb24ubV9jb2x1bW4ub25lQmFzZWRJbnQo
KSk7CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBp
bmxpbmUgU291cmNlQ29kZSBTb3VyY2VDb2RlOjpzdWJBcnJvd0V4cHJlc3Npb24odW5zaWduZWQg
c3RhcnRBcnJvd0Z1bmN0aW9uLCB1bnNpZ25lZCBlbmRBcnJvd0Z1bmN0aW9uLCBpbnQgZmlyc3RM
aW5lLCBpbnQgc3RhcnRDb2x1bW4pCisgICAgeworICAgICAgICBBU1NFUlQocHJvdmlkZXIoKS0+
c291cmNlKClbc3RhcnRBcnJvd0Z1bmN0aW9uXSA9PSAnPScgJiYgcHJvdmlkZXIoKS0+c291cmNl
KClbc3RhcnRBcnJvd0Z1bmN0aW9uICsgMV0gPT0gJz4nKTsKKyAgICAgICAgLy8gRml4bWU6IFVz
ZSBiZXR0ZXIgYXBwcm9hY2ggdG8gY2hlY2sgc3ltYm9sCisgICAgICAgIEFTU0VSVChwcm92aWRl
cigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJywnIHx8IHByb3ZpZGVyKCkt
PnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnOycgfHwgcHJvdmlkZXIoKS0+c291
cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICcpJyB8fCBwcm92aWRlcigpLT5zb3VyY2Uo
KVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJ10nIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2Vu
ZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnfScpOworICAgICAgICBzdGFydENvbHVtbiArPSAxOyAv
LyBDb252ZXJ0IHRvIGJhc2UgMS4KKyAgICAgICAgcmV0dXJuIFNvdXJjZUNvZGUocHJvdmlkZXIo
KSwgc3RhcnRBcnJvd0Z1bmN0aW9uLCBlbmRBcnJvd0Z1bmN0aW9uIC0gMSwgZmlyc3RMaW5lLCBz
dGFydENvbHVtbik7CisgICAgfQorI2VuZGlmCisKICAgICBpbmxpbmUgU291cmNlQ29kZSBTb3Vy
Y2VDb2RlOjpzdWJFeHByZXNzaW9uKHVuc2lnbmVkIG9wZW5CcmFjZSwgdW5zaWduZWQgY2xvc2VC
cmFjZSwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKQogICAgIHsKICAgICAgICAgQVNT
RVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW29wZW5CcmFjZV0gPT0gJ3snKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaApp
bmRleCA2MzUzNzllM2Y0NDU2NjhjNTJiODcyZjc2MTZkY2I1OTIxYTgyOTQ0Li5mNDI4ZGI1MGE4
ZGE3YTdhYjQ2ODI0YWIzODA4M2RiMDUyZDczNzc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCkBAIC00MCw2ICs0
MCwxMCBAQCBzdHJ1Y3QgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMg
ewogICAgIGJvb2wgbmVlZHNGdWxsQWN0aXZhdGlvbjsKICAgICBib29sIHVzZXNFdmFsOwogICAg
IGJvb2wgc3RyaWN0TW9kZTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIGJvb2wgaXNCb2R5QXJyb3dFeHByZXNzaW9uOworICAgIEpTVG9rZW5UeXBlIHRva2VuVHlw
ZTsKKyNlbmRpZgogICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+IHVzZWRWYXJpYWJsZXM7
CiAgICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4gd3JpdHRlblZhcmlhYmxlczsKIH07CkBA
IC01NSwxMCArNTksMTQgQEAgcHVibGljOgogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8U291
cmNlUHJvdmlkZXJDYWNoZUl0ZW0+IGNyZWF0ZShjb25zdCBTb3VyY2VQcm92aWRlckNhY2hlSXRl
bUNyZWF0aW9uUGFyYW1ldGVycyYpOwogICAgIH5Tb3VyY2VQcm92aWRlckNhY2hlSXRlbSgpOwog
Ci0gICAgSlNUb2tlbiBjbG9zZUJyYWNlVG9rZW4oKSBjb25zdCAKKyAgICBKU1Rva2VuIGVuZEZ1
bmN0aW9uVG9rZW4oKSBjb25zdCAKICAgICB7CiAgICAgICAgIEpTVG9rZW4gdG9rZW47CisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdG9rZW4ubV90eXBlID0g
aXNCb2R5QXJyb3dFeHByZXNzaW9uID8gdG9rZW5UeXBlIDogQ0xPU0VCUkFDRTsKKyNlbHNlCiAg
ICAgICAgIHRva2VuLm1fdHlwZSA9IENMT1NFQlJBQ0U7CisjZW5kaWYKICAgICAgICAgdG9rZW4u
bV9kYXRhLm9mZnNldCA9IGNsb3NlQnJhY2VPZmZzZXQ7CiAgICAgICAgIHRva2VuLm1fbG9jYXRp
b24uc3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNlT2Zmc2V0OwogICAgICAgICB0b2tlbi5tX2xvY2F0
aW9uLmVuZE9mZnNldCA9IGNsb3NlQnJhY2VPZmZzZXQgKyAxOwpAQCAtODIsNiArOTAsMTEgQEAg
cHVibGljOgogICAgIHVuc2lnbmVkIHVzZWRWYXJpYWJsZXNDb3VudDsKICAgICB1bnNpZ25lZCB3
cml0dGVuVmFyaWFibGVzQ291bnQ7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgIGJvb2wgaXNCb2R5QXJyb3dFeHByZXNzaW9uOworICAgIEpTVG9rZW5UeXBlIHRv
a2VuVHlwZTsKKyNlbmRpZgorCiAgICAgU3RyaW5nSW1wbCoqIHVzZWRWYXJpYWJsZXMoKSBjb25z
dCB7IHJldHVybiBjb25zdF9jYXN0PFN0cmluZ0ltcGwqKj4obV92YXJpYWJsZXMpOyB9CiAgICAg
U3RyaW5nSW1wbCoqIHdyaXR0ZW5WYXJpYWJsZXMoKSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0
PFN0cmluZ0ltcGwqKj4oJm1fdmFyaWFibGVzW3VzZWRWYXJpYWJsZXNDb3VudF0pOyB9CiAKQEAg
LTExNSw2ICsxMjgsMTAgQEAgaW5saW5lIFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjpTb3VyY2VQ
cm92aWRlckNhY2hlSXRlbShjb25zdCBTb3VyY2VQcm92aWRlckNhY2gKICAgICAsIGNsb3NlQnJh
Y2VMaW5lU3RhcnRPZmZzZXQocGFyYW1ldGVycy5jbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0KQog
ICAgICwgdXNlZFZhcmlhYmxlc0NvdW50KHBhcmFtZXRlcnMudXNlZFZhcmlhYmxlcy5zaXplKCkp
CiAgICAgLCB3cml0dGVuVmFyaWFibGVzQ291bnQocGFyYW1ldGVycy53cml0dGVuVmFyaWFibGVz
LnNpemUoKSkKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICwgaXNC
b2R5QXJyb3dFeHByZXNzaW9uKHBhcmFtZXRlcnMuaXNCb2R5QXJyb3dFeHByZXNzaW9uKQorICAg
ICwgdG9rZW5UeXBlKHBhcmFtZXRlcnMudG9rZW5UeXBlKQorI2VuZGlmCiB7CiAgICAgdW5zaWdu
ZWQgaiA9IDA7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHVzZWRWYXJpYWJsZXNDb3Vu
dDsgKytpLCArK2opIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
U3ludGF4Q2hlY2tlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVj
a2VyLmgKaW5kZXggOGU0ZjYxYjk0OTg5MGI5YmY1NDAyOWU5NjY2MWVlZjUzYTE3YjU4NC4uNWY4
ZTIxMWVlNGI1M2IzOTRlYjVhZTIxOTBiODNjOGM0Zjg0NGNmZCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKQEAgLTE3MCw2ICsxNzAsMTAgQEAgcHVi
bGljOgogI2VuZGlmCiAgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlRnVuY3Rpb25FeHByKGNvbnN0
IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50YXhDaGVja2Vy
PiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQogICAgIGludCBjcmVhdGVGdW5jdGlvbkJvZHko
Y29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgaW50LCBpbnQs
IGJvb2wsIGludCwgaW50LCBpbnQsIENvbnN0cnVjdG9yS2luZCkgeyByZXR1cm4gRnVuY3Rpb25C
b2R5UmVzdWx0OyB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBF
eHByZXNzaW9uVHlwZSBjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRp
b24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBG
dW5jdGlvbkV4cHI7IH0KKyNlbmRpZiAKKyAgICB2b2lkIHNldEZ1bmN0aW9uTmFtZVN0YXJ0KGlu
dCwgaW50KSB7IH0KICAgICBpbnQgY3JlYXRlQXJndW1lbnRzKCkgeyByZXR1cm4gQXJndW1lbnRz
UmVzdWx0OyB9CiAgICAgaW50IGNyZWF0ZUFyZ3VtZW50cyhpbnQpIHsgcmV0dXJuIEFyZ3VtZW50
c1Jlc3VsdDsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZVNwcmVhZEV4cHJlc3Npb24oY29u
c3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvblR5cGUsIGludCwgaW50LCBpbnQpIHsgcmV0
dXJuIFNwcmVhZEV4cHI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0Fycm93RnVuY3Rpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZmYzNlYTE4MDA2ODk2NDNhYWRkNmM2YTQ5
N2VkMGFlNmMyMTExMjAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwCkBAIC0wLDAgKzEsNzcgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyNpbmNsdWRlICJKU0Fycm93RnVu
Y3Rpb24uaCIKKworI2luY2x1ZGUgIkVycm9yLmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uSGVscGVy
cy5oIgorI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKKyNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCisj
aW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTRnVuY3Rpb25JbmxpbmVzLmgiCisj
aW5jbHVkZSAiSlNPYmplY3QuaCIKKyNpbmNsdWRlICJQcm9wZXJ0eVNsb3QuaCIKKyNpbmNsdWRl
ICJWTS5oIgorCituYW1lc3BhY2UgSlNDIHsKKyAgICAKK2NvbnN0IENsYXNzSW5mbyBKU0Fycm93
RnVuY3Rpb246OnNfaW5mbyA9IHsgIkFycm93RnVuY3Rpb24iLCAmQmFzZTo6c19pbmZvLCAwLCBD
UkVBVEVfTUVUSE9EX1RBQkxFKEpTQXJyb3dGdW5jdGlvbikgfTsKKwordm9pZCBKU0Fycm93RnVu
Y3Rpb246OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQoreworICAgIHN0YXRpY19jYXN0PEpTQXJyb3dG
dW5jdGlvbio+KGNlbGwpLT5KU0Fycm93RnVuY3Rpb246On5KU0Fycm93RnVuY3Rpb24oKTsKK30K
KworSlNBcnJvd0Z1bmN0aW9uOjpKU0Fycm93RnVuY3Rpb24oVk0mIHZtLCBKU1Njb3BlKiBzY29w
ZSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkK
KyAgICA6IEJhc2Uodm0sIGV4ZWN1dGFibGUsIHNjb3BlLCBzdHJ1Y3R1cmUpCit7Cit9CisgICAg
Cit2b2lkIEpTQXJyb3dGdW5jdGlvbjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQoreworICAgIEJh
c2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKy8vIFByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiBp
cyB1bmRlZmluZWQKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlw
ZSwganNVbmRlZmluZWQoKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgRG9udEVudW0pOworfQor
ICAgIAordm9pZCBKU0Fycm93RnVuY3Rpb246OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBT
bG90VmlzaXRvciYgdmlzaXRvcikKK3sKKyAgICBKU0Fycm93RnVuY3Rpb24qIHRoaXNPYmplY3Qg
PSBqc0Nhc3Q8SlNBcnJvd0Z1bmN0aW9uKj4oY2VsbCk7CisgICAgQVNTRVJUX0dDX09CSkVDVF9J
TkhFUklUUyh0aGlzT2JqZWN0LCBpbmZvKCkpOworICAgIEJhc2U6OnZpc2l0Q2hpbGRyZW4odGhp
c09iamVjdCwgdmlzaXRvcik7Cit9CisgICAgCitDb25zdHJ1Y3RUeXBlIEpTQXJyb3dGdW5jdGlv
bjo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwqIGNlbGwsIENvbnN0cnVjdERhdGEmIGNvbnN0cnVj
dERhdGEpCit7CisgICAgSlNGdW5jdGlvbiogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0Z1bmN0aW9u
Kj4oY2VsbCk7CisgICAgICAgIAorICAgIGNvbnN0cnVjdERhdGEuanMuZnVuY3Rpb25FeGVjdXRh
YmxlID0gdGhpc09iamVjdC0+anNFeGVjdXRhYmxlKCk7CisgICAgY29uc3RydWN0RGF0YS5qcy5z
Y29wZSA9IHRoaXNPYmplY3QtPnNjb3BlKCk7CisgICAgcmV0dXJuIENvbnN0cnVjdFR5cGVOb25l
OworfQorfSAvLyBuYW1lc3BhY2UgSlNDCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzgwMTVkMzg3MjFjY2E0
NGFlMmY2NWNiNmQ3N2I2YTY1MjIwOTY1ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oCkBAIC0wLDAgKzEsNzQgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEpTQXJy
b3dGdW5jdGlvbl9oCisjZGVmaW5lIEpTQXJyb3dGdW5jdGlvbl9oCisKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorCisjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1
ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCisKK25hbWVzcGFjZSBKU0MgeworCitjbGFzcyBKU0Fycm93
RnVuY3Rpb24gOiBwdWJsaWMgSlNGdW5jdGlvbiB7CitwdWJsaWM6CisgICAgdHlwZWRlZiBKU0Z1
bmN0aW9uIEJhc2U7CisgICAgICAgIAorICAgIHN0YXRpYyBKU0Fycm93RnVuY3Rpb24qIGNyZWF0
ZShWTSYgdm0sIEpTU2NvcGUqIHNjb3BlLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUs
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCisgICAgeworICAgICAgICBKU0Fycm93RnVu
Y3Rpb24qIGZ1bmN0aW9uID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8SlNBcnJvd0Z1bmN0
aW9uPih2bS5oZWFwKSkgSlNBcnJvd0Z1bmN0aW9uKHZtLCBzY29wZSwgZXhlY3V0YWJsZSwgZ2xv
YmFsT2JqZWN0LT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCkpOworICAgICAgICBBU1NFUlQoZnVu
Y3Rpb24tPnN0cnVjdHVyZSgpLT5nbG9iYWxPYmplY3QoKSk7CisgICAgICAgIGZ1bmN0aW9uLT5m
aW5pc2hDcmVhdGlvbih2bSk7CisgICAgICAgIHJldHVybiBmdW5jdGlvbjsKKyAgICB9CisgICAg
CisgICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0NlbGwqKTsKKyAgICAgICAgCisgICAgc3RhdGlj
IFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUpCisgICAgeworICAgICAgICBBU1NFUlQoZ2xvYmFs
T2JqZWN0KTsKKyAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmpl
Y3QsIHByb3RvdHlwZSwgVHlwZUluZm8oSlNGdW5jdGlvblR5cGUsIFN0cnVjdHVyZUZsYWdzKSwg
aW5mbygpKTsKKyAgICB9CisgICAgICAgIAorICAgIHN0YXRpYyBDb25zdHJ1Y3RUeXBlIGdldENv
bnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYpOworICAgICAgICAKKyAgICBERUNM
QVJFX0lORk87CisKK3Byb3RlY3RlZDoKKyAgICBjb25zdCBzdGF0aWMgdW5zaWduZWQgU3RydWN0
dXJlRmxhZ3MgPSBPdmVycmlkZXNIYXNJbnN0YW5jZSB8IEJhc2U6OlN0cnVjdHVyZUZsYWdzOwor
ICAgICAgICAKKyAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNp
dG9yJik7CisgICAgICAgIAorcHJpdmF0ZToKKyAgICBKU0Fycm93RnVuY3Rpb24oVk0mLCBKU1Nj
b3BlKiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgU3RydWN0dXJlKik7CisKKyAgICB2b2lkIGZpbmlz
aENyZWF0aW9uKFZNJik7Cit9OworICAgIAorfSAvLyBuYW1lc3BhY2UgSlNDCisjZW5kaWYgLy8g
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYCisKKyNlbmRpZiAvLyBKU0Fycm93RnVuY3Rpb25faApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCmluZGV4IDliZDNmZTI0
MTUwMDYxMWNkOTk3NTZlNzFmZjU5MDBhNGRmZGUwMGMuLjdhMTVjOTg1MTE5OTM1ZTQ0ZjlkYTU1
NmIwYmIxMTJkOWExYzhmNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1
bmN0aW9uLmgKQEAgLTEzMiw2ICsxMzIsOSBAQCBwcm90ZWN0ZWQ6CiAKICAgICBKU19FWFBPUlRf
UFJJVkFURSBKU0Z1bmN0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKICAg
ICBKU0Z1bmN0aW9uKFZNJiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgSlNTY29wZSopOworI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgSlNGdW5jdGlvbihWTSYsIEZ1bmN0
aW9uRXhlY3V0YWJsZSosIEpTU2NvcGUqLCBTdHJ1Y3R1cmUqKTsKKyNlbmRpZgogCiAgICAgdm9p
ZCBmaW5pc2hDcmVhdGlvbihWTSYsIE5hdGl2ZUV4ZWN1dGFibGUqLCBpbnQgbGVuZ3RoLCBjb25z
dCBTdHJpbmcmIG5hbWUpOwogICAgIHVzaW5nIEJhc2U6OmZpbmlzaENyZWF0aW9uOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgKaW5kZXgg
MzdiMjgxYWE1ZDBjMWI4NjE2NDUxOWZkN2M1NjZlMzdmMGYxMzQwMS4uN2IzNDkwYmViOTRhMzU5
M2VlMTdiYzNiMTZiMzJjN2RmYWY5NTczZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oCkBAIC0zOCw2ICszOCwxNSBAQCBpbmxpbmUg
SlNGdW5jdGlvbjo6SlNGdW5jdGlvbihWTSYgdm0sIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0
YWJsZSwgSlNTY29wZSogcwogewogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKK2lubGluZSBKU0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKFZNJiB2bSwgRnVuY3Rpb25FeGVj
dXRhYmxlKiBleGVjdXRhYmxlLCBKU1Njb3BlKiBzY29wZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUp
CisgICAgOiBCYXNlKHZtLCBzY29wZSwgc3RydWN0dXJlKQorICAgICwgbV9leGVjdXRhYmxlKHZt
LCB0aGlzLCBleGVjdXRhYmxlKQorICAgICwgbV9hbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnQo
Q2xlYXJXYXRjaHBvaW50KQoreworfQorI2VuZGlmCisgICAgCiBpbmxpbmUgRnVuY3Rpb25FeGVj
dXRhYmxlKiBKU0Z1bmN0aW9uOjpqc0V4ZWN1dGFibGUoKSBjb25zdAogewogICAgIEFTU0VSVCgh
aXNIb3N0RnVuY3Rpb25Ob25JbmxpbmUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggMWQ0YWVkMDAyYzZiYmIzY2JiYzllZmI2
MGJjODBjN2UzYjc1MmZkOS4uMWM0YWIxNzAxN2ZlZDE5ZThjN2IxNmEyZDBjOTIxZWFjMTljNzkx
NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmpl
Y3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
LmNwcApAQCAtNjEsNiArNjEsNyBAQAogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rv
ci5oIgogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXJQcm90b3R5cGUuaCIKICNpbmNsdWRlICJKU0Fy
cmF5SXRlcmF0b3IuaCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKICNpbmNsdWRlICJK
U0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlND
YWxsYmFja0NvbnN0cnVjdG9yLmgiCkBAIC0yMzMsNiArMjM0LDkgQEAgdm9pZCBKU0dsb2JhbE9i
amVjdDo6aW5pdChWTSYgdm0pCiAgICAgZXhlYy0+c2V0Q2FsbGVlKG1fZ2xvYmFsQ2FsbGVlLmdl
dCgpKTsKIAogICAgIG1fZnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0Z1bmN0aW9u
OjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsK
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIG1fYXJyb3dGdW5jdGlv
blN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJl
KHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7CisjZW5kaWYKICAgICBtX2Jv
dW5kRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0JvdW5kRnVuY3Rpb246OmNyZWF0
ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOwogICAgIG1f
bmFtZWRGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZTo6YWRkUHJvcGVy
dHlUcmFuc2l0aW9uKHZtLCBtX2Z1bmN0aW9uU3RydWN0dXJlLmdldCgpLCB2bS5wcm9wZXJ0eU5h
bWVzLT5uYW1lLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51bSwgbV9mdW5jdGlvbk5h
bWVPZmZzZXQpKTsKICAgICBtX2ludGVybmFsRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlz
LCBJbnRlcm5hbEZ1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Q
cm90b3R5cGUuZ2V0KCkpKTsKQEAgLTcyNSw2ICs3MjksOSBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0
Ojp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCiAgICAg
dmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fY2FsbGVlU3RydWN0dXJlKTsKICAgICB2aXNp
dG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9mdW5jdGlvblN0cnVjdHVyZSk7CiAgICAgdmlzaXRv
ci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYm91bmRGdW5jdGlvblN0cnVjdHVyZSk7CisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09i
amVjdC0+bV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKTsKKyNlbmRpZgogICAgIHZpc2l0b3IuYXBw
ZW5kKCZ0aGlzT2JqZWN0LT5tX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3Iu
YXBwZW5kKCZ0aGlzT2JqZWN0LT5tX3N5bWJvbE9iamVjdFN0cnVjdHVyZSk7CiAgICAgdmlzaXRv
ci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fcmVnRXhwTWF0Y2hlc0FycmF5U3RydWN0dXJlKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0Lmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCmluZGV4IDNl
NTc4Mzc4YWU5M2I1YjEzZDhlODFlMTZkYWU2MWZiODFhY2QxNmEuLjQ4OWYyZWYyMGM5MmExYjQz
ZDEwZTE4OGRhMzIxZjkzNjA0YjU0YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtMjI1LDYgKzIyNSw5IEBAIHByb3RlY3RlZDoKICAg
ICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2NhbGxlZVN0cnVjdHVyZTsKICAgICBXcml0ZUJh
cnJpZXI8U3RydWN0dXJlPiBtX2Z1bmN0aW9uU3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxT
dHJ1Y3R1cmU+IG1fYm91bmRGdW5jdGlvblN0cnVjdHVyZTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYXJyb3dGdW5j
dGlvblN0cnVjdHVyZTsKKyNlbmRpZgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fbmFt
ZWRGdW5jdGlvblN0cnVjdHVyZTsKICAgICBQcm9wZXJ0eU9mZnNldCBtX2Z1bmN0aW9uTmFtZU9m
ZnNldDsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3ByaXZhdGVOYW1lU3RydWN0dXJl
OwpAQCAtNDU3LDYgKzQ2MCw5IEBAIHB1YmxpYzoKICAgICBTdHJ1Y3R1cmUqIGNhbGxlZVN0cnVj
dHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbGVlU3RydWN0dXJlLmdldCgpOyB9CiAgICAgU3Ry
dWN0dXJlKiBmdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fZnVuY3Rpb25TdHJ1
Y3R1cmUuZ2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUqIGJvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUoKSBj
b25zdCB7IHJldHVybiBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFN0cnVjdHVyZSogYXJyb3dGdW5jdGlv
blN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZS5nZXQo
KTsgfQorI2VuZGlmCiAgICAgU3RydWN0dXJlKiBuYW1lZEZ1bmN0aW9uU3RydWN0dXJlKCkgY29u
c3QgeyByZXR1cm4gbV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CiAgICAgUHJvcGVy
dHlPZmZzZXQgZnVuY3Rpb25OYW1lT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9mdW5jdGlvbk5h
bWVPZmZzZXQ7IH0KICAgICBTdHJ1Y3R1cmUqIG51bWJlck9iamVjdFN0cnVjdHVyZSgpIGNvbnN0
IHsgcmV0dXJuIG1fbnVtYmVyT2JqZWN0U3RydWN0dXJlLmdldCgpOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbHRo
aXMuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
bGV4aWNhbHRoaXMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjEyZmJhZjgwNDQ4MmM3NzYxYzM3ZGQ2OTNhODQ4
NWU1NTExNTczZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsdGhpcy5qcwpAQCAtMCwwICsxLDMxIEBACit2
YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQs
IG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNz
YWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFs
ICsgIiciOworICB9Cit9OworCit2YXIgYWZPYmpMZXhCaW5kMiA9IGZ1bmN0aW9uICgpIHsKKyAg
dGhpcy5mdW5jID0gKCkgPT4gdGhpczsKK307CisKK3ZhciBhZk9iakxleEJpbmQySW5zdGFuY2Ug
PSBuZXcgYWZPYmpMZXhCaW5kMigpOworCit0ZXN0Q2FzZShhZk9iakxleEJpbmQySW5zdGFuY2Uu
ZnVuYygpID09PSBhZk9iakxleEJpbmQySW5zdGFuY2UsIHRydWUsICJFcnJvcjogdGhpcyBpcyBu
b3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMyIik7CisK
K3ZhciBvYmogPSB7CisgIG1ldGhvZDogZnVuY3Rpb24gKCkgeworICAgIHJldHVybiAoKSA9PiB0
aGlzOworICB9Cit9OworCit0ZXN0Q2FzZShvYmoubWV0aG9kKCkoKSA9PT0gb2JqLCB0cnVlLCAi
RXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbiAjMyIpOworCit2YXIgZmFrZSA9IHtzdGVhbDogb2JqLm1ldGhvZCgpfTsKK3Rlc3RD
YXNlKGZha2Uuc3RlYWwoKSA9PT0gb2JqLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGlj
YWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNCIpOworCisKKy8vIEZp
eG1lOiBmb2xsb3dpbmcgdGVzdCBmYWlscyBpbiBkZmctZWFnZXItbm8tY2ppdC12YWxpZGF0ZSAm
IGZ0bC1lYWdlci1uby1jaml0IG1vZGUKK3ZhciByZWFsID0ge2JvcnJvdzogb2JqLm1ldGhvZH07
Cit0ZXN0Q2FzZShyZWFsLmJvcnJvdygpKCkgPT09IHJlYWwsIHRydWUsICJFcnJvcjogdGhpcyBp
cyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM1Iik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tb3RoZXJzLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJv
d2Z1bmN0aW9uLW90aGVycy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYmJmODU5ZTIwM2ViMWY1NGFjYWUxZDQw
ODNjYTNkZDNkYzk3NjFmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLW90aGVycy5qcwpAQCAtMCwwICsxLDMwIEBACit2
YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQs
IG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNz
YWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFs
ICsgIiciOworICB9Cit9OworCit2YXIgc2ltcGxlQXJyb3dGdW5jdGlvbiA9ICgpID0+IHt9Owor
Cit0ZXN0Q2FzZSh0eXBlb2Ygc2ltcGxlQXJyb3dGdW5jdGlvbiwgImZ1bmN0aW9uIiwgIkVycm9y
OiBOb3QgY29ycmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShP
YmplY3QuZ2V0UHJvdG90eXBlT2Yoc2ltcGxlQXJyb3dGdW5jdGlvbiksIEZ1bmN0aW9uLnByb3Rv
dHlwZSwgIkVycm9yOiBOb3QgY29ycmVjdCBnZXRQcm90b3R5cGVPZiB2YWx1ZSBmb3IgYXJyb3cg
ZnVuY3Rpb24iKTsKKwordGVzdENhc2Uoc2ltcGxlQXJyb3dGdW5jdGlvbiBpbnN0YW5jZW9mIEZ1
bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgaW5zdGFuY2VvZiBt
ZXRob2QgZm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93RnVuY3Rp
b24uY29uc3RydWN0b3IgPT0gRnVuY3Rpb24sIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVz
dWx0IGZvciBjb25zdHJ1Y3RvciBtZXRob2Qgb2YgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENh
c2UodHlwZW9mIHNpbXBsZUFycm93RnVuY3Rpb24ucHJvdG90eXBlID09PSAndW5kZWZpbmVkJywg
dHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBm
dW5jdGlvbiIpOworCit2YXIgZXJyb3JPbkNyZWF0ZSA9IGZhbHNlOworCit0cnkgeworICB2YXIg
ZmMgPSBuZXcgc2ltcGxlQXJyb3dGdW5jdGlvbigpOworfQorY2F0Y2ggKGUpIHsKKyAgZXJyb3JP
bkNyZWF0ZSA9IHRydWU7Cit9CisKK3Rlc3RDYXNlKGVycm9yT25DcmVhdGUsIHRydWUsICJFcnJv
cjogTm8gZXJyb3IgZHVyaW5nIHJ1biBuZXcgQXJyb3dGdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXRkei5qcyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi10ZHouanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZTlkMzVjZGVhNGJhZjY2NzQzMWFmOGFiZThkYWRmMjJkMDRiOTBlMQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi10ZHouanMKQEAgLTAsMCArMSwyNCBAQAordmFyIEEgPSBjbGFzcyBBIHsgfTsKK3Zh
ciBCID0gY2xhc3MgQiBleHRlbmRzIEEgeworICBjb25zdHJ1Y3RvcihhY2Nlc3NUaGlzQmVmb3Jl
U3VwZXIpIHsKKyAgICBpZiAoYWNjZXNzVGhpc0JlZm9yZVN1cGVyKSB7CisgICAgICB2YXIgZiA9
ICgpID0+IHRoaXM7CisgICAgICBzdXBlcigpOworICAgIH0gZWxzZSB7CisgICAgICBzdXBlcigp
OworICAgIH0KKyAgfQorfTsKKwordmFyIGV4Y2VwdGlvbiA9IG51bGw7Cit0cnkgeworICAgICBu
ZXcgQih0cnVlKTsKK30gY2F0Y2ggKGUpIHsKKyAgICBleGNlcHRpb24gPSBlOworICAgIGlmICgh
KGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikpCisgICAgICAgIHRocm93ICJFeGNlcHRpb24g
dGhyb3duIHdhcyBub3QgYSByZWZlcmVuY2UgZXJyb3IiOworfQoraWYgKCFleGNlcHRpb24pCisg
ICAgdGhyb3cgIkV4Y2VwdGlvbiBub3QgdGhyb3duIGZvciBhbiB1bml0aWFsaXplZCB0aGlzIGF0
IGl0ZXJhdGlvbiI7CisKK3ZhciBlID0gbmV3IEIoZmFsc2UpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLmpzIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA2
ODdiM2FhYjFkMjdmNDUzZjkwNzYxY2VjMWFkNGQwNWNmMDNiMzUKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24uanMKQEAg
LTAsMCArMSwxNTQgQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAo
YWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkg
eworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1
dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBhcnJvd0Z1bmN0aW9uMCA9
IHYgPT4gdiArIDE7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMCgxMCk7Cit0ZXN0Q2FzZShyZXN1
bHQsIDExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b246IHYgPT4gdiArIDEiKTsKKwordmFyIGFycm93RnVuY3Rpb24xID0gKHYpID0+IHYgKiAyOwor
cmVzdWx0ID0gYXJyb3dGdW5jdGlvbjEoMTApOwordGVzdENhc2UocmVzdWx0LCAyMCAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAodikgPT4gdiAr
IDEiKTsKKwordmFyIGFycm93RnVuY3Rpb24yID0gKCkgPT4gMTAwMDsKK3Jlc3VsdCA9IGFycm93
RnVuY3Rpb24yKDEyMTIpOwordGVzdENhc2UocmVzdWx0LCAxMDAwICwiRXJyb3I6IE5vdCBjb3Jy
ZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICgpID0+IDEwMDAiKTsKKwordmFy
IHRtcFZhcmlhbHZlMl8xID0gMTUxOwordmFyIGFycm93RnVuY3Rpb24yXzEgPSAoKSA9PiB0bXBW
YXJpYWx2ZTJfMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24yXzEoMTIxKTsKK3Rlc3RDYXNlKHJl
c3VsdCwgdG1wVmFyaWFsdmUyXzEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbjogKCkgPT4gdmFyaWFibGUiKTsKKwordmFyIGFycm93RnVuY3Rpb24z
ID0gKHYsIHgpID0+IHYgKyB4OworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjMoMTEsMTIpOwordGVz
dENhc2UocmVzdWx0LCAyMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFy
cm93IGZ1bmN0aW9uOiAoeCwgeSkgPT4geCArIHkiKTsKKwordmFyIGFycm93RnVuY3Rpb25XcmFw
cGVyID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRlcikgeyByZXR1cm4gY2wocGFyYW10ZXIpOyB9Owor
CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEyMzQpOwordGVzdENhc2UocmVz
dWx0LCAxMjM0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjKSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlv
bldyYXBwZXIoeCA9PiAxMjM0LCAyMzQ1KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIzNCAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVy
OiBmKHggPT4gYywgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4g
MTIxICsgMjMyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzUzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjMSArIGMy
KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMjMgKyAzMjEsIDk5
OTkpOwordGVzdENhc2UocmVzdWx0LCA0NDQgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMxICsgYzIsIHkpIik7
CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IHggKyAxMiwgMjEpOwordGVz
dENhc2UocmVzdWx0LCAzMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFy
cm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4geCArIGMxLCB5KSIpOworCisgcmVzdWx0
ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKHgpID0+IHggKyAyMSwgMzIpOwordGVzdENhc2UocmVz
dWx0LCA1MywgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0
aW9uIGFzIHBhcmFtdGVyOiBmKCh4KSA9PiBjMSArIGMyLCB5KSIpOworCisgcmVzdWx0ID0gYXJy
b3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwLCAiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10
ZXI6IGYoKCkgPT4gYykiKTsKKworIHZhciBleHRfdmFsdWUgPSAxMjE7CityZXN1bHQgPSBhcnJv
d0Z1bmN0aW9uV3JhcHBlcigoKSA9PiBleHRfdmFsdWUpOwordGVzdENhc2UocmVzdWx0LCAxMjEs
ICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBw
YXJhbXRlcjogZigoKSA9PiB2KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIo
KCkgPT4gZXh0X3ZhbHVlICogMTApOwordGVzdENhc2UocmVzdWx0LCAxMjEwICwiRXJyb3I6IE5v
dCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYo
KCkgPT4gdip4KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKHgpID0+IGV4
dF92YWx1ZSAqIHgsIDMwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzAqZXh0X3ZhbHVlICwiRXJyb3I6
IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6
IGYoKHgpID0+IHYqeCwgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgp
ID0+IDEwMCwgMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDAgLCJFcnJvcjogTm90IGNvcnJlY3Qg
ZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjMSwg
eSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCArIDEwKTsK
K3Rlc3RDYXNlKHJlc3VsdCwgMTEwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0
aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYzEgKyBjMikiKTsKKworIHJl
c3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCArIDExLCAxMik7Cit0ZXN0Q2Fz
ZShyZXN1bHQsIDExMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMxICsgYzIsIHkpIik7CisKKyB2YXIgYXJy
b3dGdW5jdGlvbjQgPSB2ID0+IHYgKyAxLCB4eXoxID0gMTAxMDE7CityZXN1bHQgPSBhcnJvd0Z1
bmN0aW9uNCgxMDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAxMiAsIkVycm9yOiBOb3QgY29ycmVj
dCBwYXJzaW5nIG9mIHRoIGFycm93IGZ1bmN0aW9uIGluc2lkZSBvZiB0aGUgbGlzdCBvZiB2YXJz
OiB2YXIgYWYgPSB2PT4gdiArIDE7IHp4Yz1jOyIpOwordGVzdENhc2UoeHl6MSwgMTAxMDEgLCJF
cnJvcjogTm90IGNvcnJlY3QgcGFyc2luZyBvZiB0aCBhcnJvdyBmdW5jdGlvbiBpbnNpZGUgb2Yg
dGhlIGxpc3Qgb2YgdmFyczogdmFyIGFmID0gdj0+IHYgKyAxOyB6eGM9YzsiKTsKKworIHZhciBh
cnJvd0Z1bmN0aW9uV3JhcHBlcjIgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVyMSwgcGFyYW10ZXIy
KSB7IHJldHVybiBjbChwYXJhbXRlcjEsIHBhcmFtdGVyMik7IH07CityZXN1bHQgPSBhcnJvd0Z1
bmN0aW9uV3JhcHBlcjIoKHgsIHkpID0+IHggKyB5LCAxMiAsNDMpOwordGVzdENhc2UocmVzdWx0
LCA1NSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9u
IGFzIHBhcmFtZXRlcjogZigoeCwgeSkgPT4geCArIHksIGMxLCBjMikiKTsKKworIHZhciBhcnJv
d0Z1bmN0aW9BcnJheTAgPSBbdiA9PiB2ICogMTBdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJy
YXkwWzBdKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogW3Y9PnYqMTBd
Iik7CisKKyB2YXIgYXJyb3dGdW5jdGlvQXJyYXkxID0gW3YgPT4gdiArIDEsIHYgPT4gdiArIDJd
OworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkxWzBdKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwg
MTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBh
cyBpdGVtIGluIGFycmF5OiBbdiA9PiB2ICsgMSwgIHYgPT4gdiArIDJdIik7CityZXN1bHQgPSBh
cnJvd0Z1bmN0aW9BcnJheTFbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMyAsIkVycm9yOiBO
b3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJy
YXk6IFt2ID0+IHYgKyAxLCAgdiA9PiB2ICsgMl0iKTsKKworIHZhciBhcnJvd0Z1bmN0aW9BcnJh
eTIgPSBbKHYpID0+IHYgKyAxLCAodikgPT4gdiArIDJdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlv
QXJyYXkyWzBdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIgLCJFcnJvcjogTm90IGNvcnJlY3Qg
ZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKHYpID0+
IHYgKyAxLCAgKHYpID0+IHYgKyAyXSIpOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkyWzFd
KDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKHYpID0+IHYgKyAxLCAg
KHYpID0+IHYgKyAyXSIpOworCisgdmFyIGFycm93RnVuY3Rpb0FycmF5MyA9IFsoKSA9PiAxMDEs
ICgpID0+IDEyMzIzXTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5M1swXSgxMSk7Cit0ZXN0
Q2FzZShyZXN1bHQsIDEwMSwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFy
cm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsoKSA9PiBjMSwgICgpID0+IGMyXSIpOwor
cmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkzWzFdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIz
MjMsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBh
cyBpdGVtIGluIGFycmF5OiBbKCkgPT4gYzEsICAoKSA9PiBjMl0iKTsKKwordmFyIGFycm93RnVu
Y3Rpb25PYmogPSB7ZnVuYyA6IHkgPT4geSArIDEyfTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25P
YmouZnVuYygxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIzICwgIkVycm9yOiBOb3QgY29ycmVjdCBl
eGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHByb3BlcnR5OiB7ZnVuYyA6IHkgPT4g
eSArIDEyIH0iKTsKKwordmFyIGFmT2JqTGV4QmluZDIgPSBmdW5jdGlvbiAoKSB7CisgIHRoaXMu
ZnVuYyA9ICgpID0+IHRoaXM7Cit9OworCit2YXIgYXJyb3dGYXRGdW5jdGlvbjAgPSAoKSA9PiB7
IHJldHVybiAxMDAwOyB9OworcmVzdWx0ID0gYXJyb3dGYXRGdW5jdGlvbjAoMTEpOwordGVzdENh
c2UocmVzdWx0LCAxMDAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiAoKSA9PiB7IHJldHVybiAxMDAwOyB9Iik7
CisKK3ZhciBhcnJvd0ZhdEZ1bmN0aW9uMSA9IHYgPT4geyB2YXIgaW50dmFsID0gMTAwOyByZXR1
cm4gdiAqIGludHZhbDsgfTsKK3Jlc3VsdCA9IGFycm93RmF0RnVuY3Rpb24xKDExKTsKK3Rlc3RD
YXNlKHJlc3VsdCwgMTEwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFy
cm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogeCA9PiB7IHZhciB2PTEwMDA7IHJldHVy
biB2Kng7IH0iKTsKKwordmFyIGFycm93RmF0RnVuY3Rpb24yID0gKHYpID0+IHsgdmFyIGludCA9
IDIwMDsgcmV0dXJuIHYgKiBpbnQ7IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0aW9uMigxMSk7
Cit0ZXN0Q2FzZShyZXN1bHQsIDIyMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICh4KSA9PiB7IHZhciB2PTEw
MDA7IHJldHVybiB2Kng7IH0iKTsKKwordmFyIGFycm93RmF0RnVuY3Rpb24zID0gKHYsIHgpID0+
IHsgdmFyIHJlc3VsdCA9IHggKiB2OyByZXR1cm4gcmVzdWx0OyB9OworcmVzdWx0ID0gYXJyb3dG
YXRGdW5jdGlvbjMoMTEsIDEyMjIyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTM0NDQyICwiRXJyb3I6
IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFz
IGJsb2NrOiAodiwgeCkgPT4geyB2YXIgcmVzdWx0ID0geCAqIHY7IHJldHVybiByZXN1bHQ7IH0i
KTsKKworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeD0+e3JldHVybiB4ICogMjU7fSwg
MTIxKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjUqMTIxICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1
dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiBmKHggPT4ge3Jl
dHVybiB4ICogMjU7fSwgMTIxKSIpOworCityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcjIo
KHgsIHkpPT57cmV0dXJuIHggKiB5O30sIDE0LCAxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDE0KjEy
ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0
aCBib2R5IGFzIGJsb2NrOiBmKCh4LCB5KT0+e3JldHVybiB4ICogeTt9LCAxNCwgMTIxKSkiKTsK
KwordmFyIHNpbXBsZUFycm93RnVuY3Rpb24gPSAoKSA9PiB7fTsKKwordGVzdENhc2UodHlwZW9m
IHNpbXBsZUFycm93RnVuY3Rpb24sICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNvcnJlY3QgdHlw
ZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2UoT2JqZWN0LmdldFByb3RvdHlw
ZU9mKHNpbXBsZUFycm93RnVuY3Rpb24pLCBGdW5jdGlvbi5wcm90b3R5cGUsICJFcnJvcjogTm90
IGNvcnJlY3QgZ2V0UHJvdG90eXBlT2YgdmFsdWUgZm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rl
c3RDYXNlKHNpbXBsZUFycm93RnVuY3Rpb24gaW5zdGFuY2VvZiBGdW5jdGlvbiwgdHJ1ZSwgIkVy
cm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIGluc3RhbmNlb2YgbWV0aG9kIGZvciBhcnJvdyBm
dW5jdGlvbiIpOworCit0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uLmNvbnN0cnVjdG9yID09
IEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgY29uc3RydWN0
b3IgbWV0aG9kIG9mIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHR5cGVvZiBzaW1wbGVB
cnJvd0Z1bmN0aW9uLnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJFcnJvcjogTm90
IGNvcnJlY3QgcmVzdWx0IGZvciBwcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24iKTsKKwordmFy
IGVycm9yT25DcmVhdGUgPSBmYWxzZTsKKwordHJ5IHsKKyAgdmFyIGZjID0gbmV3IHNpbXBsZUFy
cm93RnVuY3Rpb24oKTsKK30KK2NhdGNoIChlKSB7CisgIGVycm9yT25DcmVhdGUgPSB0cnVlOwor
fQorCit0ZXN0Q2FzZShlcnJvck9uQ3JlYXRlLCB0cnVlLCAiRXJyb3I6IE5vIGVycm9yIGR1cmlu
ZyBydW4gbmV3IEFycm93RnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOGIxMTJmYWU0NWI5NTdk
ZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkz
YzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZBU19Q
QVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9F
UzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CitFTkFCTEVfRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVO
QUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJM
RV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yID0gRU5BQkxFX0NT
U19BTklNQVRJT05TX0xFVkVMXzI7CkBAIC0yMTQsNCArMjE1LDQgQEAgRU5BQkxFX0xMSU5UX0Nf
TE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9T
QVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
XzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChF
TkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQo
RU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xF
VkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NP
TVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19H
UklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxF
Q1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkg
JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
UykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVO
QUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJ
TUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
TEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9B
TklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQp
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVO
QUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVO
QUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5B
QkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9X
X1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VM
RU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgp
ICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5B
QkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkg
JChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9D
U1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsp
ICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9O
KSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAk
KEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFC
TEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VS
U09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVf
REFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RB
VEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVW
SUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFC
TEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxF
X0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVM
TFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRF
RCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9U
SFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Vf
SU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Ip
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9X
RUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAk
KEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVf
TUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9F
TEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVO
QUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VS
UkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQo
RU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlU
WV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01Q
TEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJ
QV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05B
UCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5B
QkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9D
T05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9U
RU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJ
TkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJM
RV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RF
X0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVf
V0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMp
ICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9Y
SFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJ
TlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxF
X1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9t
YWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOGIxMTJmYWU0
NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0OGE3Njk3MmYxMTRjMzgzZDMyNjI5
ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5B
QkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9Y
WSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CitF
TkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRF
UklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8y
ID0gRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBAIC0yMTQsNCArMjE1LDQgQEAgRU5B
QkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJ
QyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5F
UyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFT
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9D
QVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJU
SVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQo
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVO
QUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19B
TklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChF
TkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQo
RU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5B
QkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9D
U1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1Jf
VklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNI
Qk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9U
UkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9F
TkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklM
VEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NS
RUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAk
KEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9U
VExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9X
T1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxF
U1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxF
X0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9B
VURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5B
QkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1F
TlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxF
X05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5D
WSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFC
TEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VW
RU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFC
TEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRF
KSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FV
RVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAk
KEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVf
U1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZF
UlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBM
QVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19X
T1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJ
REVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NT
X01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJf
UkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChF
TkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9U
SU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9D
X0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklE
RU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVO
REVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9B
VFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVf
Q0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhU
KSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09S
QVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklD
RV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFH
RV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NT
U19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NI
QVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykg
JChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExF
UikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQp
ICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkg
JChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJV
Q1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFf
VjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykg
JChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQ
QURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdF
X0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NF
UlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9N
T05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUsp
ICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5L
X1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQ
VCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09S
X1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdB
VE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJ
VF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5B
QkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFC
TEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFV
RVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVT
T0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NT
U19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFN
U19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9O
KSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJM
RV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJ
REVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFC
TEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJ
TykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJ
Q1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05T
KSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkg
JChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVU
SUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNl
L1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOGIx
MTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0OGE3Njk3MmYxMTRjMzgz
ZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdDIvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5B
QkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9Y
WSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CitF
TkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRF
UklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8y
ID0gRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBAIC0yMTQsNCArMjE1LDQgQEAgRU5B
QkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJ
QyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5F
UyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFT
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9D
QVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJU
SVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQo
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVO
QUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19B
TklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChF
TkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQo
RU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5B
QkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9D
U1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1Jf
VklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNI
Qk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9U
UkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9F
TkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklM
VEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NS
RUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAk
KEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9U
VExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9X
T1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxF
U1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxF
X0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9B
VURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5B
QkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1F
TlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxF
X05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5D
WSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFC
TEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VW
RU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFC
TEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRF
KSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FV
RVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAk
KEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVf
U1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZF
UlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBM
QVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19X
T1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJ
REVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NT
X01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJf
UkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChF
TkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9U
SU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9D
X0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklE
RU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVO
REVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9B
VFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVf
Q0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhU
KSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09S
QVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklD
RV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFH
RV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NT
U19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NI
QVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykg
JChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExF
UikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQp
ICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkg
JChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJV
Q1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFf
VjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykg
JChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQ
QURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdF
X0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NF
UlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9N
T05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUsp
ICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5L
X1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQ
VCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09S
X1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdB
VE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJ
VF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5B
QkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFC
TEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFV
RVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVT
T0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NT
U19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFN
U19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9O
KSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJM
RV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJ
REVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFC
TEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJ
TykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJ
Q1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05T
KSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkg
JChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVU
SUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJl
cy5jbWFrZQppbmRleCAzMmMyMzVkOThiNWE0MjBlYmUzMzQ4MzRjN2I2YTQxODJiMjIyMjBhLi5h
Njc1MzcxNDU2MjdjZDM4YTI3MDc5Y2Q1ZGZlOTg2ODJjOTFmNDY1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL1dlYktpdEZl
YXR1cmVzLmNtYWtlCkBAIC0yOCw2ICsyOCw3IEBAIG1hY3JvKFdFQktJVF9PUFRJT05fQkVHSU4p
CiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NBTlZBU19QUk9YWSAiVG9nZ2xlIENh
bnZhc1Byb3h5IHN1cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcgIlRvZ2dsZSBNZXNzYWdlQ2hhbm5lbCBhbmQgTWVzc2FnZVBvcnQg
c3VwcG9ydCIgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0VTNl9DTEFTU19T
WU5UQVggIlRvZ2dsZSBFUzYgY2xhc3Mgc3ludGF4IHN1cHBvcnQiIE9OKQorICAgIFdFQktJVF9P
UFRJT05fREVGSU5FKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggIlRvZ2dsZSBFUzYg
YXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVG
SU5FKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyAiVG9nZ2xlIGNvbnRlbnQgZmlsdGVyaW5nIHN1
cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ09OVEVYVF9NRU5V
UyAiVG9nZ2xlIENvbnRleHQgTWVudSBzdXBwb3J0IiBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RF
RklORShFTkFCTEVfQ1NQX05FWFQgIlRvZ2dsZSBDb250ZW50IFNlY3VyaXR5IFBvbGljeSAxLjEg
c3VwcG9ydCIgT0ZGKQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UgYi9T
b3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQppbmRleCAyMWQzZmNjNWQ5ODNmOTU5NWRlZjM1MTA1
NjhjZGM5ODk2NTI0NmVkLi5jZjFhZmU1NmM1ZjBmMjYwOTkwOTBlNTFiN2IyYTY2MDNlYTA3MzIx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQorKysgYi9Tb3VyY2UvY21h
a2Vjb25maWcuaC5jbWFrZQpAQCAtMTMsNiArMTMsNyBAQAogI2NtYWtlZGVmaW5lMDEgRU5BQkxF
X0NBTlZBU19QUk9YWQogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HCiAj
Y21ha2VkZWZpbmUwMSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWAorI2NtYWtlZGVmaW5lMDEgRU5B
QkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWAogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ09OVEVYVF9NRU5VUwogI2NtYWtl
ZGVmaW5lMDEgRU5BQkxFX0NSRURFTlRJQUxfU1RPUkFHRQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJs
L0ZlYXR1cmVMaXN0LnBtCmluZGV4IDE2ZmQ2NDljNjhkNmIzZDQzZDBiMzFlMzM1NzkwNGZjODcy
NGE3ZWIuLjIyM2IzMTFiY2ZiYWIyYzI2OGE3ZjI2NTJkMTRlZDE5NjM3ZmRmY2UgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KQEAgLTQ0LDYgKzQ0LDcgQEAgQkVHSU4g
ewogbXkgKAogICAgICR0aHJlZURSZW5kZXJpbmdTdXBwb3J0LAogICAgICRhY2NlbGVyYXRlZDJE
Q2FudmFzU3VwcG9ydCwKKyAgICAkYXJyb3dmdW5jdGlvblN5bnRheCwKICAgICAkYmF0dGVyeVN0
YXR1c1N1cHBvcnQsCiAgICAgJGNhbnZhc1BhdGhTdXBwb3J0LAogICAgICRjYW52YXNQcm94eVN1
cHBvcnQsCkBAIC0xNTQsNiArMTU1LDkgQEAgbXkgQGZlYXR1cmVzID0gKAogICAgIHsgb3B0aW9u
ID0+ICJhY2NlbGVyYXRlZC0yZC1jYW52YXMiLCBkZXNjID0+ICJUb2dnbGUgQWNjZWxlcmF0ZWQg
MkQgQ2FudmFzIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQUNDRUxFUkFURURf
MkRfQ0FOVkFTIiwgZGVmYXVsdCA9PiBpc0d0aygpLCB2YWx1ZSA9PiBcJGFjY2VsZXJhdGVkMkRD
YW52YXNTdXBwb3J0IH0sCiAKKyAgICB7IG9wdGlvbiA9PiAiYXJyb3dmdW5jdGlvbi1zeW50YXgi
LCBkZXNjID0+ICJUb2dnbGUgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheCBzdXBwb3J0IiwKKyAg
ICAgIGRlZmluZSA9PiAiRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCIsIGRlZmF1bHQg
PT4gMSwgdmFsdWUgPT4gXCRhcnJvd2Z1bmN0aW9uU3ludGF4IH0sCisKICAgICB7IG9wdGlvbiA9
PiAiYmF0dGVyeS1zdGF0dXMiLCBkZXNjID0+ICJUb2dnbGUgQmF0dGVyeSBTdGF0dXMgc3VwcG9y
dCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9CQVRURVJZX1NUQVRVUyIsIGRlZmF1bHQgPT4g
aXNFZmwoKSwgdmFsdWUgPT4gXCRiYXR0ZXJ5U3RhdHVzU3VwcG9ydCB9LAogCmRpZmYgLS1naXQg
YS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggZjg3Y2FhYjQzMzQyZTRlYjgyN2U1MmEzOWNk
ZmZkOWU2YzQxOGYxMC4uMGZjNDY3OTk4NWMyZmNjOWYzNThjOTQwNjNhOWIwN2ExYTg0ZDBjMyAx
MDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisy
MDE1LTA0LTAxICAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisg
ICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUg
ZmxhZyB0byBzd2l0Y2ggb24vb2ZmIGVzNiBhcnJvdyBmdW5jdGlvbiBFTkFCTEVfRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYCisKKyAgICAgICAgICogU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVz
LmNtYWtlOgorICAgICAgICAgKiBTb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZToKKwogMjAxNS0w
NC0wOCAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3
ZWQsIHJldmVydCBhY2NpZGVudGFsIGNvbW1pdC4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250618</attachid>
            <date>2015-04-12 14:09:14 -0700</date>
            <delta_ts>2015-04-13 00:22:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150413000818.patch</filename>
            <type>text/plain</type>
            <size>4659</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyNjY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
Nzk1NjMyMmMxN2YwM2Q1ZTgyZGU1MGJmYjRjNzZiMDk0NWNlYTY4Li4wZjg2NGE0YzA2OTk2NTg3
ZjcyYWMyNGM1OGUzOTdmMmZmMjc2OWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMSBAQAorMjAxNS0wNC0xMiAgQWxleGFuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21h
aWwuY29tPgorICAgICAgICBTbWFsbCByZWZhY3RvcmluZyBvZiB0aGUgcGFyY2VyLmNwcCBmaWxl
LiBJdCBpcyBuZWNlc3NhcnkgdG8gaW5jcmVhc2UgcmVhZGFiaWxpdHkgb2YgdGhlIHBhdGNoCisg
ICAgICAgIHdpdGggRVM2IEFycm93IGZ1bmN0aW9uIGltcGxlbWVudGF0aW9uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAq
IHBhcnNlci9QYXJzZXIuaDoKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKwogMjAxNS0w
NC0xMiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBb
RVM2XSBJbXBsZW1lbnQgQXJyYXkucHJvdG90eXBlLnZhbHVlcwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXIuY3BwCmluZGV4IDMyZDI1MGNhN2NjNTNmNGJlYTYxZjYxYjZkYWJmZTY0
YmNiYzY4NDYuLjY0NzgyMGFkODNkZjQ0M2QzMGQwNGNmYWUyMjU0ZmFlYzk3MDdhYjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKQEAgLTEyOTcsMTUgKzEyOTcsOCBA
QCBzdGF0aWMgY29uc3QgY2hhciogc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKEZ1bmN0aW9uUGFyc2VN
b2RlIG1vZGUpCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBM
ZXhlclR5cGU+Ci10ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblJl
cXVpcmVtZW50cyByZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUsCi0gICAgYm9v
bCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kIG93bmVyQ2xhc3NLaW5k
LCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRl
cj4mIGluZm8pCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPiB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IGludCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvblBhcmFtdGVy
cyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMgcmVxdWlyZW1lbnRz
LCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBB
dXRvUG9wU2NvcGVSZWYmIGZ1bmN0aW9uU2NvcGUsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVp
bGRlcj4mIGluZm8pCiB7Ci0gICAgQXV0b1BvcFNjb3BlUmVmIGZ1bmN0aW9uU2NvcGUodGhpcywg
cHVzaFNjb3BlKCkpOwotICAgIGZ1bmN0aW9uU2NvcGUtPnNldElzRnVuY3Rpb24oKTsKLSAgICBp
bnQgZnVuY3Rpb25OYW1lU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7Ci0g
ICAgY29uc3QgSWRlbnRpZmllciogbGFzdEZ1bmN0aW9uTmFtZSA9IG1fbGFzdEZ1bmN0aW9uTmFt
ZTsKLSAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBudWxscHRyOwogICAgIGlmIChtYXRjaChJREVO
VCkpIHsKICAgICAgICAgaW5mby5uYW1lID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAg
IG1fbGFzdEZ1bmN0aW9uTmFtZSA9IGluZm8ubmFtZTsKQEAgLTEzMjQsNyArMTMxNyw3IEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VG
dW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29y
ZChzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSIpOwogICAgICAgICBmYWlsV2l0
aE1lc3NhZ2UoIkV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhICIsIHN0cmluZ0ZvckZ1
bmN0aW9uTW9kZShtb2RlKSwgIidzIHBhcmFtZXRlciBsaXN0Iik7CiAgICAgfQotCisgICAgCiAg
ICAgaWYgKG1vZGUgPT0gR2V0dGVyTW9kZSkKICAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBB
UkVOLCAiZ2V0dGVyIGZ1bmN0aW9ucyBtdXN0IGhhdmUgbm8gcGFyYW1ldGVycyIpOwogICAgIGVs
c2UgaWYgKG1vZGUgPT0gU2V0dGVyTW9kZSkgewpAQCAtMTM0MSw2ICsxMzM0LDIxIEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5j
dGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIH0KICAgICAgICAgY29uc3VtZU9yRmFpbChDTE9T
RVBBUkVOLCAiRXhwZWN0ZWQgYSAnKScgb3IgYSAnLCcgYWZ0ZXIgYSBwYXJhbWV0ZXIgZGVjbGFy
YXRpb24iKTsKICAgICB9CisgICAgCisgICAgcmV0dXJuIHBhcmFtZXRlcnNTdGFydDsKK30KKyAg
ICAKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWls
ZGVyJiBjb250ZXh0LCBGdW5jdGlvblJlcXVpcmVtZW50cyByZXF1aXJlbWVudHMsIEZ1bmN0aW9u
UGFyc2VNb2RlIG1vZGUsCisgICAgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29uc3Ry
dWN0b3JLaW5kIG93bmVyQ2xhc3NLaW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNl
ckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mIGluZm8pCit7CisgICAgQXV0b1BvcFNjb3BlUmVm
IGZ1bmN0aW9uU2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOworICAgIGZ1bmN0aW9uU2NvcGUtPnNl
dElzRnVuY3Rpb24oKTsKKyAgICBpbnQgZnVuY3Rpb25OYW1lU3RhcnQgPSBtX3Rva2VuLm1fbG9j
YXRpb24uc3RhcnRPZmZzZXQ7CisgICAgY29uc3QgSWRlbnRpZmllciogbGFzdEZ1bmN0aW9uTmFt
ZSA9IG1fbGFzdEZ1bmN0aW9uTmFtZTsKKyAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBudWxscHRy
OworICAgIAorICAgIGludCBwYXJhbWV0ZXJzU3RhcnQgPSBwYXJzZUZ1bmN0aW9uUGFyYW10ZXJz
KGNvbnRleHQsIHJlcXVpcmVtZW50cywgbW9kZSwgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIGZ1
bmN0aW9uU2NvcGUsIGluZm8pOwogCiAgICAgbWF0Y2hPckZhaWwoT1BFTkJSQUNFLCAiRXhwZWN0
ZWQgYW4gb3BlbmluZyAneycgYXQgdGhlIHN0YXJ0IG9mIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25N
b2RlKG1vZGUpLCAiIGJvZHkiKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgK
aW5kZXggMGYyNzI4Zjg2MjFmODAxMGM0MTBiZjc5ODc2MTliZjIzZTUwYWY4Yi4uNzhiYWZmYTBl
MTc3M2M4MjA2OThiOTIwM2YwZjZhM2Q3YWQzMmVjNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlci5oCkBAIC03NzMsNiArNzczLDggQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJu
IHRyeVBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOwog
CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgYm9vbCBwYXJz
ZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzLCBGdW5jdGlv
blBhcnNlTW9kZSwgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5k
LCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRl
cj4mKTsKKyAgICAKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElO
RSBpbnQgcGFyc2VGdW5jdGlvblBhcmFtdGVycyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWly
ZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSwgYm9vbCwgQXV0b1BvcFNjb3BlUmVmJiwgUGFyc2Vy
RnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYpOwogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFY
KQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVDbGFz
c0V4cHJlc3Npb24gcGFyc2VDbGFzcyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1lbnRz
LCBQYXJzZXJDbGFzc0luZm88VHJlZUJ1aWxkZXI+Jik7CiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250626</attachid>
            <date>2015-04-13 00:07:52 -0700</date>
            <delta_ts>2015-04-13 00:22:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150413100655.patch</filename>
            <type>text/plain</type>
            <size>29089</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyNjY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
NmVkMzFlZWM5YjY1YzkxYzQ3YWI3ZGI4ZGJlYzIyZjZiMjZiM2Y4Li41YmQxNTY0Nzc4OWQwODE0
OWI3NGNkMmY1NjMyODU1YWE1ZTY3ZTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NyArMSw3IEBACi0yMDE1LTA0LTAxICBBbGV4YW5kciBTa2FjaGtvdiAgPGdza2FjaGtvdkBnbWFp
bC5jb20+CisyMDE1LTA0LTEzICBBbGV4YW5kciBTa2FjaGtvdiAgPGdza2FjaGtvdkBnbWFpbC5j
b20+CiAKICAgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4
Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUK
KyAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUK
IAogICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBm
YjNmNDM1YWY1ODE4OGMwNDk1NDk1MDExYzUzN2IxZjBjYThkY2M2Li42MGZmNTM3MTllN2Y2YWNk
NWQzNjY5ZGZmZDZhNzhjMzFlNzQ5NjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDEzICsxLDEzIEBACi0y
MDE1LTA0LTAxICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisyMDE1
LTA0LTEzICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CiAKLSAgICAg
ICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIFtF
UzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKIAotICAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgogCi0gICAgICAgICBBZGRlZCBmZWF0dXJlIGZsYWcgRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rpb24KKyAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVO
QUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggZm9yIGFycm93IGZ1bmN0aW9uCiAKLSAgICAg
ICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICog
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CiAKIDIwMTUtMDQtMTEgIE1h
dHQgQmFrZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29tPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNDQx
M2NiY2ZkZGVkYjAzZmU4YTBlNzRiMDRkZDllMDc1ZjU0NGYzYi4uNDNhYjZjYTAzNDEyYTA3MmU3
YjBmM2Y4YTQ5ZjA2YWZiZjg3OGRiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwxMyArMSwxMyBA
QAotMjAxNS0wNC0wMSAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgor
MjAxNS0wNC0xMyAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgogCi0g
ICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAg
ICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CiAKLSAgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KIAotICAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dGVU5D
VElPTl9TWU5UQVggZm9yIGFycm93IGZ1bmN0aW9uCisgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxh
ZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgogCi0g
ICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAg
ICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgogCiAyMDE1LTA0LTEx
ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxsSGVscGVycy5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9DQ2FsbEhlbHBlcnMuaAppbmRleCBmZDM0NGFkYmNhYmIxNWZiZDgxNGVkNmZi
ZDQ3OGY3NGI2MTU3NjNjLi4wN2FjZDZkNTMyZDMyOGFmZGI3N2FjZjIwMTMzOTBlZjM5ZGQ5ZDY3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxsSGVscGVycy5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxwZXJzLmgKQEAgLTI3NCw2ICsy
NzQsMTUgQEAgcHVibGljOgogICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMik7CiAgICAgICAg
IGFkZENhbGxBcmd1bWVudChhcmczKTsKICAgICB9CisgICAgCisgICAgQUxXQVlTX0lOTElORSB2
b2lkIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShHUFJSZWcgYXJnMSwgVHJ1c3RlZEltbVB0
ciBhcmcyLCBHUFJSZWcgYXJnMykKKyAgICB7CisgICAgICAgIHJlc2V0Q2FsbEFyZ3VtZW50cygp
OworICAgICAgICBhZGRDYWxsQXJndW1lbnQoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOwor
ICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMSk7CisgICAgICAgIGFkZENhbGxBcmd1bWVudChh
cmcyKTsKKyAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzMpOworICAgIH0KIAogICAgIEFMV0FZ
U19JTkxJTkUgdm9pZCBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoR1BSUmVnIGFyZzEsIEdQ
UlJlZyBhcmcyLCBUcnVzdGVkSW1tMzIgYXJnMykKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUSW5saW5lcy5oCmluZGV4IDU0MzRlNWZiMTYxNDg3Yzg4YWQxZmNmMWJjZjYzMDZmNjAz
ZDFlZjcuLmEwZTQwYzVjNjFmZTYzZTk4NjNlZDIyM2VkZjVkNDUxZjMxOGE3NzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oCkBAIC0yNzEsMTMgKzI3MSwxMSBAQCBBTFdB
WVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihKX0pJVE9w
ZXJhdGlvbl9FSnNjQyBvcGVyYQogICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNo
ZWNrU2V0SlNWYWx1ZVJlc3VsdChvcGVyYXRpb24sIGRzdCk7CiB9CiAKLSNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQogQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2Fs
bCBKSVQ6OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0NKIG9wZXJhdGlvbiwgaW50
IGRzdCwgR1BSUmVnIGFyZzEsIEpTQ2VsbCogY2VsbCwgR1BSUmVnIGFyZzIpCiB7CiAgICAgc2V0
dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIFRydXN0ZWRJbW1QdHIoY2VsbCksIGFyZzIp
OwogICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0SlNWYWx1ZVJlc3Vs
dChvcGVyYXRpb24sIGRzdCk7CiB9Ci0jZW5kaWYKICAgICAKIEFMV0FZU19JTkxJTkUgTWFjcm9B
c3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VQIG9wZXJh
dGlvbiwgaW50IGRzdCwgdm9pZCogcG9pbnRlcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRPcGVyYXRpb25zLmgKaW5kZXggM2EwNzVhMWM0YWUzOWVmMWU5YzVhNzBkYzkzY2U2Yjcw
MDI4YTdkNy4uMjM2MTZlZTFkZWUzMmZmZGRkYWU1MTg5NjA2OTk3MDkyNjZlYmNlZCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKQEAgLTExNiw5ICsxMTYsNyBA
QCB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9F
UFApKEV4ZWNTdGF0ZSosIHZvaWQqLCB2bwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BF
UkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVBTKShFeGVjU3RhdGUqLCB2b2lkKiwgc2l6ZV90KTsK
IHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQ
YykoRXhlY1N0YXRlKiwgSW5zdHJ1Y3Rpb24qKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklU
X09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VKc2NDKShFeGVjU3RhdGUqLCBKU1Njb3BlKiwg
SlNDZWxsKik7Ci0jaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKIHR5cGVkZWYg
RW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VKc2NDSikoRXhl
Y1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlKTsKLSNlbmRpZgogdHlw
ZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNTKShF
eGVjU3RhdGUqLCBzaXplX3QsIHNpemVfdCk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9P
UEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FU3NpQ0kpKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0
dWJJbmZvKiwgSlNDZWxsKiwgU3RyaW5nSW1wbCopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBK
SVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNzaUpJKShFeGVjU3RhdGUqLCBTdHJ1Y3R1
cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlLCBTdHJpbmdJbXBsKik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5jcHAKaW5kZXggZDExNzcyYzIyYjkwYTdjZmRmOGJjNzVjZWNh
MjFkZjFkMGIzYzk0Zi4uZWI2MzRkMDEyOGFiZWMxOGNlNGUzMGUyNmEyZmU4MGIzMjk5ODJlYSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcApAQCAtMjY0LDcgKzI2NCw3
IEBAIFN0cmluZyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbm5lcigpCiAgICAgaWYgKG1fbGV4
ZXItPmlzUmVwYXJzaW5nKCkpCiAgICAgICAgIG1fc3RhdGVtZW50RGVwdGgtLTsKICAgICBTY29w
ZVJlZiBzY29wZSA9IGN1cnJlbnRTY29wZSgpOwotICAgIFNvdXJjZUVsZW1lbnRzKiBzb3VyY2VF
bGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgQ2hlY2tGb3JTdHJpY3RNb2Rl
KTsKKyAgICBTb3VyY2VFbGVtZW50cyogc291cmNlRWxlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1l
bnRzKGNvbnRleHQsIENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlw
ZSk7CiAgICAgaWYgKCFzb3VyY2VFbGVtZW50cyB8fCAhY29uc3VtZShFT0ZUT0spKSB7CiAgICAg
ICAgIGlmIChoYXNFcnJvcigpKQogICAgICAgICAgICAgcGFyc2VFcnJvciA9IG1fZXJyb3JNZXNz
YWdlOwpAQCAtMzI5LDEzICszMjksOCBAQCBib29sIFBhcnNlcjxMZXhlclR5cGU+OjphbGxvd0F1
dG9tYXRpY1NlbWljb2xvbigpCiAgICAgcmV0dXJuIG1hdGNoKENMT1NFQlJBQ0UpIHx8IG1hdGNo
KEVPRlRPSykgfHwgbV9sZXhlci0+cHJldlRlcm1pbmF0b3IoKTsKIH0KIAotI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgog
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJj
ZUVsZW1lbnRzTW9kZSBtb2RlLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSkK
LSNlbHNlCi10ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgotdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291
cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZUVsZW1lbnRzTW9kZSBtb2Rl
KQotI2VuZGlmCiB7CiAgICAgY29uc3QgdW5zaWduZWQgbGVuZ3RoT2ZVc2VTdHJpY3RMaXRlcmFs
ID0gMTI7IC8vICJ1c2Ugc3RyaWN0Ii5sZW5ndGgKICAgICBUcmVlU291cmNlRWxlbWVudHMgc291
cmNlRWxlbWVudHMgPSBjb250ZXh0LmNyZWF0ZVNvdXJjZUVsZW1lbnRzKCk7CkBAIC0zNDQsMTEg
KzMzOSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRz
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsCiAgICAgdW5zaWduZWQgZGlyZWN0aXZl
TGl0ZXJhbExlbmd0aCA9IDA7CiAgICAgYXV0byBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQo
KTsKICAgICBib29sIGhhc1NldFN0cmljdCA9IGZhbHNlOwotI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCiAgICAgd2hpbGUgKFRyZWVTdGF0ZW1lbnQgc3RhdGVtZW50ID0gcGFy
c2VTdGF0ZW1lbnQoY29udGV4dCwgZGlyZWN0aXZlLCAmZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCwg
ZnVuY3Rpb25QYXJzZVR5cGUpKSB7Ci0jZWxzZQotICAgIHdoaWxlIChUcmVlU3RhdGVtZW50IHN0
YXRlbWVudCA9IHBhcnNlU3RhdGVtZW50KGNvbnRleHQsIGRpcmVjdGl2ZSwgJmRpcmVjdGl2ZUxp
dGVyYWxMZW5ndGgpKSB7Ci0jZW5kaWYKICAgICAgICAgaWYgKG1vZGUgPT0gQ2hlY2tGb3JTdHJp
Y3RNb2RlICYmICFzZWVuTm9uRGlyZWN0aXZlKSB7CiAgICAgICAgICAgICBpZiAoZGlyZWN0aXZl
KSB7CiAgICAgICAgICAgICAgICAgLy8gInVzZSBzdHJpY3QiIG11c3QgYmUgdGhlIGV4YWN0IGxp
dGVyYWwgd2l0aG91dCBlc2NhcGUgc2VxdWVuY2VzIG9yIGxpbmUgY29udGludWF0aW9uLgpAQCAt
MTA1Miw3ICsxMDQzLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhdXNl
TGlzdCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTd2l0Y2hDbGF1c2UKICAgICBUcmVlRXhwcmVz
c2lvbiBjb25kaXRpb24gPSBwYXJzZUV4cHJlc3Npb24oY29udGV4dCk7CiAgICAgZmFpbElmRmFs
c2UoY29uZGl0aW9uLCAiQ2Fubm90IHBhcnNlIHN3aXRjaCBjbGF1c2UiKTsKICAgICBjb25zdW1l
T3JGYWlsKENPTE9OLCAiRXhwZWN0ZWQgYSAnOicgYWZ0ZXIgc3dpdGNoIGNsYXVzZSBleHByZXNz
aW9uIik7Ci0gICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVs
ZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUpOworICAgIFRyZWVTb3VyY2VF
bGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hl
Y2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICBmYWlsSWZG
YWxzZShzdGF0ZW1lbnRzLCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIGEgc3dpdGNoIGNsYXVz
ZSIpOwogICAgIFRyZWVDbGF1c2UgY2xhdXNlID0gY29udGV4dC5jcmVhdGVDbGF1c2UoY29uZGl0
aW9uLCBzdGF0ZW1lbnRzKTsKICAgICBjb250ZXh0LnNldFN0YXJ0T2Zmc2V0KGNsYXVzZSwgc3Rh
cnRPZmZzZXQpOwpAQCAtMTA2NSw3ICsxMDU2LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlQ2xhdXNlTGlzdCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTd2l0Y2hDbGF1c2UK
ICAgICAgICAgVHJlZUV4cHJlc3Npb24gY29uZGl0aW9uID0gcGFyc2VFeHByZXNzaW9uKGNvbnRl
eHQpOwogICAgICAgICBmYWlsSWZGYWxzZShjb25kaXRpb24sICJDYW5ub3QgcGFyc2Ugc3dpdGNo
IGNhc2UgZXhwcmVzc2lvbiIpOwogICAgICAgICBjb25zdW1lT3JGYWlsKENPTE9OLCAiRXhwZWN0
ZWQgYSAnOicgYWZ0ZXIgc3dpdGNoIGNsYXVzZSBleHByZXNzaW9uIik7Ci0gICAgICAgIFRyZWVT
b3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBE
b250Q2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICAgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN0YXRl
bWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1v
ZGUsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwogICAgICAgICBmYWlsSWZGYWxzZShzdGF0
ZW1lbnRzLCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIGEgc3dpdGNoIGNsYXVzZSIpOwogICAg
ICAgICBjbGF1c2UgPSBjb250ZXh0LmNyZWF0ZUNsYXVzZShjb25kaXRpb24sIHN0YXRlbWVudHMp
OwogICAgICAgICBjb250ZXh0LnNldFN0YXJ0T2Zmc2V0KGNsYXVzZSwgc3RhcnRPZmZzZXQpOwpA
QCAtMTA4Miw3ICsxMDczLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xh
dXNlIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN3aXRjaERlZmF1bHRDbGEKICAgICB1bnNpZ25l
ZCBzdGFydE9mZnNldCA9IHRva2VuU3RhcnQoKTsKICAgICBuZXh0KCk7CiAgICAgY29uc3VtZU9y
RmFpbChDT0xPTiwgIkV4cGVjdGVkIGEgJzonIGFmdGVyIHN3aXRjaCBkZWZhdWx0IGNsYXVzZSIp
OwotICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50
cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICBUcmVlU291cmNlRWxlbWVu
dHMgc3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgRG9udENoZWNrRm9y
U3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CiAgICAgZmFpbElmRmFsc2Uo
c3RhdGVtZW50cywgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiBhIHN3aXRjaCBkZWZhdWx0IGNs
YXVzZSIpOwogICAgIFRyZWVDbGF1c2UgcmVzdWx0ID0gY29udGV4dC5jcmVhdGVDbGF1c2UoMCwg
c3RhdGVtZW50cyk7CiAgICAgY29udGV4dC5zZXRTdGFydE9mZnNldChyZXN1bHQsIHN0YXJ0T2Zm
c2V0KTsKQEAgLTExNjcsNyArMTE1OCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VCbG9ja1N0YXRlbWVuCiAgICAg
ICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KHJlc3VsdCwgZW5kT2Zmc2V0KTsKICAgICAgICAgcmV0
dXJuIHJlc3VsdDsKICAgICB9Ci0gICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN1YnRyZWUgPSBwYXJz
ZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUpOworICAgIFRy
ZWVTb3VyY2VFbGVtZW50cyBzdWJ0cmVlID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBE
b250Q2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICBm
YWlsSWZGYWxzZShzdWJ0cmVlLCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIHRoZSBibG9jayBz
dGF0ZW1lbnQiKTsKICAgICBtYXRjaE9yRmFpbChDTE9TRUJSQUNFLCAiRXhwZWN0ZWQgYSBjbG9z
aW5nICd9JyBhdCB0aGUgZW5kIG9mIGEgYmxvY2sgc3RhdGVtZW50Iik7CiAgICAgaW50IGVuZE9m
ZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKQEAgLTExNzgsMTMgKzExNjksOCBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlQmxvY2tTdGF0ZW1lbgogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLSNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4K
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZp
ZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoLCBGdW5jdGlv
blBhcnNlVHlwZSB0eXBlKQotI2Vsc2UKLXRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Ci10
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVy
KiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCkKLSNlbmRpZgog
ewogICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7CiAg
ICAgbV9zdGF0ZW1lbnREZXB0aCsrOwpAQCAtMTMyMSwxNyArMTMwNywxMCBAQCB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0IFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUZvcgogICAgIHJldHVybiBsaXN0OwogfQogCi0jaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGdW5jdGlvbkJvZHkgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlRnVuY3Rpb25Cb2R5KAogICAgIFRyZWVCdWlsZGVyJiBjb250ZXh0LCBpbnQgZnVuY3Rp
b25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwgCiAgICAgaW50IHBhcmFtZXRl
cnNTdGFydCwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCwgRnVuY3Rpb25QYXJzZVR5
cGUgcGFyc2VUeXBlKQotI2Vsc2UKLXRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Ci10ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGdW5jdGlvbkJvZHkgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlRnVuY3Rpb25Cb2R5KAotICAgIFRyZWVCdWlsZGVyJiBjb250ZXh0LCBpbnQgZnVu
Y3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwKLSAgICBpbnQgcGFyYW1l
dGVyc1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kKQotI2VuZGlmCiB7CiAg
ICAgSlNUb2tlbkxvY2F0aW9uIHN0YXJ0TG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKICAgICB1
bnNpZ25lZCBzdGFydENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CkBAIC0xMzU3LDcgKzEzMzYsNyBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGdW5jdGlvbkJvZHkgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlRnVuY3Rpb25CbwogI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCiAgICAgZmFpbElmRmFsc2UocGFyc2VTb3VyY2VFbGVtZW50cyhib2R5QnVpbGRlciwg
Q2hlY2tGb3JTdHJpY3RNb2RlLCBwYXJzZVR5cGUpLCBwYXJzZVR5cGUgPT0gU3RhbmRhcmRGdW5j
dGlvblBhcnNlVHlwZSA/ICJDYW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGZ1bmN0aW9uIiA6ICJD
YW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGFycm93IGZ1bmN0aW9uIik7CiAjZWxzZQotICAgIGZh
aWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMoYm9keUJ1aWxkZXIsIENoZWNrRm9yU3RyaWN0
TW9kZSksICJDYW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGZ1bmN0aW9uIik7CisgICAgZmFpbElm
RmFsc2UocGFyc2VTb3VyY2VFbGVtZW50cyhib2R5QnVpbGRlciwgQ2hlY2tGb3JTdHJpY3RNb2Rl
LCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSwgIkNhbm5vdCBwYXJzZSBib2R5IG9mIHRoaXMg
ZnVuY3Rpb24iKTsKICNlbmRpZgogICAgIHVuc2lnbmVkIGVuZENvbHVtbiA9IHRva2VuQ29sdW1u
KCk7CiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0YXJ0TG9jYXRpb24s
IHRva2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgZnVuY3Rpb25LZXl3b3Jk
U3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0cmljdE1vZGUoKSwg
Y29uc3RydWN0b3JLaW5kKTsKQEAgLTE0MTksMTYgKzEzOTgsMzkgQEAgdGVtcGxhdGUgPHR5cGVu
YW1lIExleGVyVHlwZT4gdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBpbnQgUGFyc2VyPExl
eGVyVHlwZT4KICAgICAKICAgICByZXR1cm4gcGFyYW1ldGVyc1N0YXJ0OwogfQotICAgIAorCiAj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBM
ZXhlclR5cGU+IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gaW50IFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUFycm93RnVuY3Rpb25QYXJhbXRlcnMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIEZ1
bmN0aW9uUGFyc2VNb2RlIG1vZGUsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mIGlu
Zm8pCit7CisgICAgaW50IHBhcmFtZXRlcnNTdGFydCA9IG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFy
dE9mZnNldDsKKyAgICBpZiAoIW1hdGNoKElERU5UKSAmJiAhbWF0Y2goT1BFTlBBUkVOKSkgewor
ICAgICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVUb0tleXdvcmQoc3RyaW5nRm9yRnVuY3Rpb25Nb2Rl
KG1vZGUpLCAiIG5hbWUiKTsKKyAgICAgICAgZmFpbFdpdGhNZXNzYWdlKCJFeHBlY3RlZCBhbiBh
cnJvdyBmdW5jdGlvbiBpbnB1dCBwYXJhbWV0ZXIiKTsKKyAgICB9IGVsc2UgeworICAgICAgICBp
ZiAobWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICAgICAgY29uc3VtZShPUEVOUEFSRU4pOwor
ICAgICAgICAgICAgCisgICAgICAgICAgICBpZiAoIW1hdGNoKENMT1NFUEFSRU4pKSB7CisgICAg
ICAgICAgICAgICAgaW5mby5wYXJhbWV0ZXJzID0gcGFyc2VGb3JtYWxQYXJhbWV0ZXJzKGNvbnRl
eHQpOworICAgICAgICAgICAgICAgIGZhaWxJZkZhbHNlKGluZm8ucGFyYW1ldGVycywgIkNhbm5v
dCBwYXJzZSBwYXJhbWV0ZXJzIGZvciB0aGlzICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2Rl
KSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGNvbnN1bWVPckZh
aWwoQ0xPU0VQQVJFTiwgIkV4cGVjdGVkIGEgJyknIG9yIGEgJywnIGFmdGVyIGEgcGFyYW1ldGVy
IGRlY2xhcmF0aW9uIik7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBhdXRvIHBhcmFt
ZXRlciA9IHBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuKGNvbnRleHQsIERlY29uc3RydWN0VG9Q
YXJhbWV0ZXJzKTsKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKHBhcmFtZXRlciwgIkNhbm5vdCBw
YXJzZSBwYXJhbWV0ZXIgcGF0dGVybiIpOworICAgICAgICAgICAgaW5mby5wYXJhbWV0ZXJzID0g
Y29udGV4dC5jcmVhdGVGb3JtYWxQYXJhbWV0ZXJMaXN0KHBhcmFtZXRlcik7CisgICAgICAgICAg
ICBmYWlsSWZGYWxzZShpbmZvLnBhcmFtZXRlcnMsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVycyBm
b3IgdGhpcyAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOworICAgICAgICB9CisgICAg
fQorICAgIAorICAgIHJldHVybiBwYXJhbWV0ZXJzU3RhcnQ7Cit9CisjZW5kaWYKKwogdGVtcGxh
dGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9v
bCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImIGNvbnRl
eHQsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzIHJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUg
bW9kZSwKICAgICBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQg
b3duZXJDbGFzc0tpbmQsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rpb25J
bmZvPFRyZWVCdWlsZGVyPiYgaW5mbywgRnVuY3Rpb25QYXJzZVR5cGUgcGFyc2VUeXBlKQotI2Vs
c2UKLXRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Ci10ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWls
ZGVyJiBjb250ZXh0LCBGdW5jdGlvblJlcXVpcmVtZW50cyByZXF1aXJlbWVudHMsIEZ1bmN0aW9u
UGFyc2VNb2RlIG1vZGUsCi0gICAgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29uc3Ry
dWN0b3JLaW5kIG93bmVyQ2xhc3NLaW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNl
ckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mIGluZm8pCi0jZW5kaWYKIHsKICAgICBBdXRvUG9w
U2NvcGVSZWYgZnVuY3Rpb25TY29wZSh0aGlzLCBwdXNoU2NvcGUoKSk7CiAgICAgZnVuY3Rpb25T
Y29wZS0+c2V0SXNGdW5jdGlvbigpOwpAQCAtMTQzOCwxMSArMTQ0MCwxMiBAQCB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25J
bmZvKFRyZWVCdWlsZAogICAgIGludCBwYXJhbWV0ZXJzU3RhcnQ7CiAgICAgYm9vbCBpc0NsYXNz
Q29uc3RydWN0b3I7CiAgICAgCi0jaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
LSAgICBpZiAocGFyc2VUeXBlID09IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpIHsKLSNlbmRp
ZgorICAgIHN3aXRjaCAocGFyc2VUeXBlKSB7CisgICAgY2FzZSBTdGFuZGFyZEZ1bmN0aW9uUGFy
c2VUeXBlOiB7CiAgICAgICAgIHBhcmFtZXRlcnNTdGFydCA9IHBhcnNlRnVuY3Rpb25QYXJhbXRl
cnMoY29udGV4dCwgcmVxdWlyZW1lbnRzLCBtb2RlLCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwg
ZnVuY3Rpb25TY29wZSwgaW5mbyk7CisgICAgICAgICAgICAKICAgICAgICAgbWF0Y2hPckZhaWwo
T1BFTkJSQUNFLCAiRXhwZWN0ZWQgYW4gb3BlbmluZyAneycgYXQgdGhlIHN0YXJ0IG9mIGEgIiwg
c3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgCiAgICAgICAg
IC8vIEJ5dGVjb2RlR2VuZXJhdG9yIGVtaXRzIGNvZGUgdG8gdGhyb3cgVHlwZUVycm9yIHdoZW4g
YSBjbGFzcyBjb25zdHJ1Y3RvciBpcyAiY2FsbCJlZC4KICAgICAgICAgLy8gU2V0IENvbnN0cnVj
dG9yS2luZCB0byBOb25lIGZvciBub24tY29uc3RydWN0b3IgbWV0aG9kcyBvZiBjbGFzc2VzLgog
ICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSBtb2RlID09IE1ldGhvZE1vZGUgJiYgaW5mby5u
YW1lICYmICppbmZvLm5hbWUgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3I7CkBA
IC0xNDUwLDM5ICsxNDUzLDE5IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgICAg
ICBvd25lckNsYXNzS2luZCA9IG1fZGVmYXVsdENvbnN0cnVjdG9yS2luZDsKICAgICAgICAgICAg
IGlzQ2xhc3NDb25zdHJ1Y3RvciA9IHRydWU7CiAgICAgICAgIH0KLSNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBicmVhazsKICAgICB9Ci0gICAgCi0gICAgaWYg
KHBhcnNlVHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7Ci0gICAgICAgIHBhcmFtZXRl
cnNTdGFydCA9IG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKLSAgICAgICAgaWYgKCFt
YXRjaChJREVOVCkgJiYgIW1hdGNoKE9QRU5QQVJFTikpIHsKLSAgICAgICAgICAgIHNlbWFudGlj
RmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSIp
OwotICAgICAgICAgICAgZmFpbFdpdGhNZXNzYWdlKCJFeHBlY3RlZCBhbiBhcnJvdyBmdW5jdGlv
biBpbnB1dCBwYXJhbWV0ZXIiKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGlmICht
YXRjaChPUEVOUEFSRU4pKSB7Ci0gICAgICAgICAgICAgICAgY29uc3VtZShPUEVOUEFSRU4pOwot
ICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIGlmICghbWF0Y2goQ0xPU0VQQVJFTikp
IHsKLSAgICAgICAgICAgICAgICAgICAgaW5mby5wYXJhbWV0ZXJzID0gcGFyc2VGb3JtYWxQYXJh
bWV0ZXJzKGNvbnRleHQpOwotICAgICAgICAgICAgICAgICAgICBmYWlsSWZGYWxzZShpbmZvLnBh
cmFtZXRlcnMsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAiLCBzdHJpbmdGb3JG
dW5jdGlvbk1vZGUobW9kZSkpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAK
LSAgICAgICAgICAgICAgICBjb25zdW1lT3JGYWlsKENMT1NFUEFSRU4sICJFeHBlY3RlZCBhICcp
JyBvciBhICcsJyBhZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOwotICAgICAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgICAgICBhdXRvIHBhcmFtZXRlciA9IHBhcnNlRGVjb25zdHJ1
Y3Rpb25QYXR0ZXJuKGNvbnRleHQsIERlY29uc3RydWN0VG9QYXJhbWV0ZXJzKTsKLSAgICAgICAg
ICAgICAgICBmYWlsSWZGYWxzZShwYXJhbWV0ZXIsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVyIHBh
dHRlcm4iKTsKLSAgICAgICAgICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBjb250ZXh0LmNyZWF0
ZUZvcm1hbFBhcmFtZXRlckxpc3QocGFyYW1ldGVyKTsKLSAgICAgICAgICAgICAgICBmYWlsSWZG
YWxzZShpbmZvLnBhcmFtZXRlcnMsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAi
LCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOwotICAgICAgICAgICAgfQotICAgICAgICB9
CisgICAgY2FzZSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlOiB7CisgICAgICAgIHBhcmFtZXRlcnNT
dGFydCA9IHBhcnNlQXJyb3dGdW5jdGlvblBhcmFtdGVycyhjb250ZXh0LCBtb2RlLCBpbmZvKTsK
ICAgICAgICAgCiAgICAgICAgIG1hdGNoT3JGYWlsKEFSUk9XRlVOQ1RJT04sICJFeHBlY3RlZCBh
ICc9PicgYWZ0ZXIgYXJyb3cgZnVuY3Rpb24gcGFyYW1ldGVyIGRlY2xhcmF0aW9uIik7CiAgICAg
ICAgIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IGZhbHNlOwogICAgICAgICAKICAgICAgICAgaW5mby5h
cnJvd0Z1bmN0aW9uT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgICAgICBicmVh
azsKICAgICB9Ci0jZW5kaWYKLSAgICAKKyAgICB9CisKICAgICBDb25zdHJ1Y3RvcktpbmQgY29u
c3RydWN0b3JLaW5kID0gaXNDbGFzc0NvbnN0cnVjdG9yID8gb3duZXJDbGFzc0tpbmQgOiBDb25z
dHJ1Y3RvcktpbmQ6Ok5vbmU7CiAKICAgICBpbmZvLm9wZW5CcmFjZU9mZnNldCA9IG1fdG9rZW4u
bV9kYXRhLm9mZnNldDsKQEAgLTE1NTksMTUgKzE1NDIsMTUgQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVl
QnVpbGQKICAgICAgICAgICAgIGluZm8uYm9keVN0YXJ0TGluZSA9IHRva2VuTGluZSgpOwogICAg
ICAgICAgICAgaW5mby5ib2R5U3RhcnRDb2x1bW4gPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQgLSBt
X3Rva2VuLm1fZGF0YS5saW5lU3RhcnRPZmZzZXQ7CiAgICAgICAgIAotICAgICAgICAgICAgaW5m
by5ib2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQs
IGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCk7Cisg
ICAgICAgICAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlv
bktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3Ry
dWN0b3JLaW5kLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICAgICAgfSBlbHNlIHsK
ICAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKICAgICAgICAgICAgIGlu
Zm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0
LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQsIEFy
cm93RnVuY3Rpb25QYXJzZVR5cGUpOwogICAgICAgICB9CiAgICAgfSBlbHNlCi0gICAgICAgIGlu
Zm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0
LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQpOwor
ICAgICAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktl
eXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0
b3JLaW5kLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICNlbHNlCi0gICAgaW5mby5ib2R5
ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0
aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCk7CisgICAgaW5m
by5ib2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQs
IGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCwgU3Rh
bmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CiAjZW5kaWYKICAgICAKICAgICByZXN0b3JlU3RhdGUo
b2xkU3RhdGUpOwpAQCAtMTYzOSw3ICsxNjIyLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGEK
ICAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2VuU3RhcnQoKTsKICAgICBu
ZXh0KCk7CiAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOwotICAgIGZh
aWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5lZWRzTmFtZSwg
RnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29y
ZFN0YXJ0LCBpbmZvKSksICJDYW5ub3QgcGFyc2UgdGhpcyBmdW5jdGlvbiIpOworICAgIGZhaWxJ
ZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5lZWRzTmFtZSwgRnVu
Y3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0
YXJ0LCBpbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2UgdGhp
cyBmdW5jdGlvbiIpOwogICAgIGZhaWxJZkZhbHNlKGluZm8ubmFtZSwgIkZ1bmN0aW9uIHN0YXRl
bWVudHMgbXVzdCBoYXZlIGEgbmFtZSIpOwogICAgIGZhaWxJZkZhbHNlSWZTdHJpY3QoZGVjbGFy
ZVZhcmlhYmxlKGluZm8ubmFtZSksICJDYW5ub3QgZGVjbGFyZSBhIGZ1bmN0aW9uIG5hbWVkICci
LCBpbmZvLm5hbWUtPmltcGwoKSwgIicgaW4gc3RyaWN0IG1vZGUiKTsKICAgICByZXR1cm4gY29u
dGV4dC5jcmVhdGVGdW5jRGVjbFN0YXRlbWVudChsb2NhdGlvbiwgaW5mbyk7CkBAIC0xNzM0LDcg
KzE3MTcsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVDbGFzc0V4cHJlc3Np
b24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3MoVAogICAgICAgICAgICAgZmFpbElmRmFs
c2UocHJvcGVydHksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2QiKTsKICAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gbWV0aG9kSW5m
bzsKLSAgICAgICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBG
dW5jdGlvbk5lZWRzTmFtZSwgaXNTdGF0aWNNZXRob2QgPyBGdW5jdGlvbk1vZGUgOiBNZXRob2RN
b2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBtZXRob2RTdGFydCwgbWV0aG9kSW5mbykpLCAi
Q2Fubm90IHBhcnNlIHRoaXMgbWV0aG9kIik7CisgICAgICAgICAgICBmYWlsSWZGYWxzZSgocGFy
c2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OZWVkc05hbWUsIGlzU3RhdGljTWV0aG9k
ID8gRnVuY3Rpb25Nb2RlIDogTWV0aG9kTW9kZSwgZmFsc2UsIGNvbnN0cnVjdG9yS2luZCwgbWV0
aG9kU3RhcnQsIG1ldGhvZEluZm8sIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5v
dCBwYXJzZSB0aGlzIG1ldGhvZCIpOwogICAgICAgICAgICAgZmFpbElmRmFsc2UobWV0aG9kSW5m
by5uYW1lLCAibWV0aG9kIG11c3QgaGF2ZSBhIG5hbWUiKTsKICAgICAgICAgICAgIGZhaWxJZkZh
bHNlKGRlY2xhcmVWYXJpYWJsZShtZXRob2RJbmZvLm5hbWUpLCAiQ2Fubm90IGRlY2xhcmUgYSBt
ZXRob2QgbmFtZWQgJyIsIG1ldGhvZEluZm8ubmFtZS0+aW1wbCgpLCAiJyIpOwogCkBAIC0yMjg1
LDcgKzIyNjgsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9u
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5TWV0aAogICAgIEpTVG9rZW5Mb2NhdGlv
biBtZXRob2RMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwogICAgIHVuc2lnbmVkIG1ldGhvZFN0
YXJ0ID0gdG9rZW5TdGFydCgpOwogICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4g
bWV0aG9kSW5mbzsKLSAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwg
RnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgTWV0aG9kTW9kZSwgZmFsc2UsIENvbnN0cnVjdG9yS2lu
ZDo6Tm9uZSwgbWV0aG9kU3RhcnQsIG1ldGhvZEluZm8pKSwgIkNhbm5vdCBwYXJzZSB0aGlzIG1l
dGhvZCIpOworICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5j
dGlvbk5vUmVxdWlyZW1lbnRzLCBNZXRob2RNb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpO
b25lLCBtZXRob2RTdGFydCwgbWV0aG9kSW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkp
LCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9kIik7CiAgICAgbWV0aG9kSW5mby5uYW1lID0gbWV0
aG9kTmFtZTsKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkV4cHIobWV0aG9kTG9j
YXRpb24sIG1ldGhvZEluZm8pOwogfQpAQCAtMjMwNywxMCArMjI5MCwxMCBAQCB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VH
ZXR0ZXJTZXR0ZXIoVAogICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gaW5mbzsK
ICAgICBpZiAodHlwZSA9PSBQcm9wZXJ0eU5vZGU6OkdldHRlcikgewogICAgICAgICBmYWlsSWZG
YWxzZShtYXRjaChPUEVOUEFSRU4pLCAiRXhwZWN0ZWQgYSBwYXJhbWV0ZXIgbGlzdCBmb3IgZ2V0
dGVyIGRlZmluaXRpb24iKTsKLSAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZv
KGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEdldHRlck1vZGUsIGZhbHNlLCBjb25z
dHJ1Y3RvcktpbmQsIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIGluZm8pKSwgIkNhbm5vdCBw
YXJzZSBnZXR0ZXIgZGVmaW5pdGlvbiIpOworICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5j
dGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgR2V0dGVyTW9kZSwgZmFs
c2UsIGNvbnN0cnVjdG9yS2luZCwgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgaW5mbywgU3Rh
bmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIGdldHRlciBkZWZpbml0aW9u
Iik7CiAgICAgfSBlbHNlIHsKICAgICAgICAgZmFpbElmRmFsc2UobWF0Y2goT1BFTlBBUkVOKSwg
IkV4cGVjdGVkIGEgcGFyYW1ldGVyIGxpc3QgZm9yIHNldHRlciBkZWZpbml0aW9uIik7Ci0gICAg
ICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVx
dWlyZW1lbnRzLCBTZXR0ZXJNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBnZXR0ZXJPclNl
dHRlclN0YXJ0T2Zmc2V0LCBpbmZvKSksICJDYW5ub3QgcGFyc2Ugc2V0dGVyIGRlZmluaXRpb24i
KTsKKyAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0
aW9uTm9SZXF1aXJlbWVudHMsIFNldHRlck1vZGUsIGZhbHNlLCBjb25zdHJ1Y3RvcktpbmQsIGdl
dHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIGluZm8sIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUp
KSwgIkNhbm5vdCBwYXJzZSBzZXR0ZXIgZGVmaW5pdGlvbiIpOwogICAgIH0KICAgICBpZiAoc3Ry
aW5nUHJvcGVydHlOYW1lKQogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVHZXR0ZXJPclNl
dHRlclByb3BlcnR5KGxvY2F0aW9uLCB0eXBlLCBzdHJpY3QsIHN0cmluZ1Byb3BlcnR5TmFtZSwg
aW5mbywgc3VwZXJCaW5kaW5nKTsKQEAgLTI0OTksNyArMjQ4Miw3IEBAIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJp
bWFyeUV4cHJlCiAgICAgICAgIG5leHQoKTsKICAgICAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRy
ZWVCdWlsZGVyPiBpbmZvOwogICAgICAgICBpbmZvLm5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1l
cy0+bnVsbElkZW50aWZpZXI7Ci0gICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5m
byhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlvbk1vZGUsIGZhbHNlLCBD
b25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvKSksICJDYW5u
b3QgcGFyc2UgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgICAgICBmYWlsSWZGYWxzZSgocGFy
c2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgRnVuY3Rpb25N
b2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBmdW5jdGlvbktleXdvcmRTdGFydCwg
aW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIGZ1bmN0aW9u
IGV4cHJlc3Npb24iKTsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25FeHBy
KGxvY2F0aW9uLCBpbmZvKTsKICAgICB9CiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCA0YmY1NmJmN2U4MWNkYmRkZGE3
N2VhMDExMmZkMzk1NWFmM2ZhZWZhLi43MDcwYmIyYjY4MzRjMDA0ODNjYTVhMmVjZTU5MWJiYzY2
Y2M4YzllIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKQEAgLTgyLDYgKzgy
LDggQEAgQ09NUElMRV9BU1NFUlQoTGFzdFVudGFnZ2VkVG9rZW4gPCA2NCwgTGVzc1RoYW42NFVu
dGFnZ2VkVG9rZW5zKTsKIGVudW0gU291cmNlRWxlbWVudHNNb2RlIHsgQ2hlY2tGb3JTdHJpY3RN
b2RlLCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlIH07CiAjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKIGVudW0gRnVuY3Rpb25QYXJzZVR5cGUgeyBTdGFuZGFyZEZ1bmN0aW9uUGFy
c2VUeXBlLCBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlIH07CisjZWxzZQorZW51bSBGdW5jdGlvblBh
cnNlVHlwZSB7IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGV9OwogI2VuZGlmCiBlbnVtIEZ1bmN0
aW9uUmVxdWlyZW1lbnRzIHsgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgRnVuY3Rpb25OZWVkc05h
bWUgfTsKIGVudW0gRnVuY3Rpb25QYXJzZU1vZGUgewpAQCAtNzMyLDEzICs3MzQsOCBAQCBwcml2
YXRlOgogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAotI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCi0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
U291cmNlRWxlbWVudHMgcGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYsIFNvdXJjZUVs
ZW1lbnRzTW9kZSwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25QYXJzZVR5cGUgPSBTdGFuZGFy
ZEZ1bmN0aW9uUGFyc2VUeXBlKTsKLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVTdGF0ZW1lbnQgcGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVy
KiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDAsIEZ1bmN0
aW9uUGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBlID0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlw
ZSk7Ci0jZWxzZQotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVs
ZW1lbnRzIHBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVtZW50c01v
ZGUpOwotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJz
ZVN0YXRlbWVudChUcmVlQnVpbGRlciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVu
c2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMCk7Ci0jZW5kaWYKKyAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJzZVNvdXJjZUVsZW1l
bnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxlbWVudHNNb2RlLCBGdW5jdGlvblBhcnNlVHlwZSk7
CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3Rh
dGVtZW50KFRyZWVCdWlsZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWdu
ZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwLCBGdW5jdGlvblBhcnNlVHlwZSB0eXBlID0g
U3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgp
CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQ2xh
c3NEZWNsYXJhdGlvbihUcmVlQnVpbGRlciYpOwogI2VuZGlmCkBAIC03NzcsMTEgKzc3NCw3IEBA
IHByaXZhdGU6CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkg
cGFyc2VQcm9wZXJ0eShUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0KTsKICAgICB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlUHJvcGVydHlNZXRob2QoVHJl
ZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqIG1ldGhvZE5hbWUpOwogICAgIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IHBhcnNlR2V0dGVyU2V0dGVy
KFRyZWVCdWlsZGVyJiwgYm9vbCBzdHJpY3QsIFByb3BlcnR5Tm9kZTo6VHlwZSwgdW5zaWduZWQg
Z2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgQ29uc3RydWN0b3JLaW5kID0gQ29uc3RydWN0b3JL
aW5kOjpOb25lLCBTdXBlckJpbmRpbmcgPSBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCk7Ci0jaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZ1bmN0aW9uQm9keSBwYXJzZUZ1bmN0aW9uQm9k
eShUcmVlQnVpbGRlciYsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW50IGZ1bmN0aW9uTmFt
ZVN0YXJ0LCBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQsIEZ1bmN0aW9uUGFy
c2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBlID0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7Ci0j
ZWxzZQotICAgICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUg
VHJlZUZ1bmN0aW9uQm9keSBwYXJzZUZ1bmN0aW9uQm9keShUcmVlQnVpbGRlciYsIGludCBmdW5j
dGlvbktleXdvcmRTdGFydCwgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCBpbnQgcGFyYW1ldGVyc1N0
YXJ0LCBDb25zdHJ1Y3RvcktpbmQpOwotI2VuZGlmCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VGdW5jdGlvbkJvZHko
VHJlZUJ1aWxkZXImLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVT
dGFydCwgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kLCBGdW5jdGlvblBhcnNl
VHlwZSBmdW5jdGlvblBhcnNlVHlwZSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBBTFdBWVNfSU5MSU5FIFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0IHBhcnNlRm9ybWFsUGFyYW1l
dGVycyhUcmVlQnVpbGRlciYpOwogICAgIGVudW0gVmFyRGVjbGFyYXRpb25MaXN0Q29udGV4dCB7
IEZvckxvb3BDb250ZXh0LCBWYXJEZWNsYXJhdGlvbkNvbnRleHQgfTsKICAgICB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlVmFyRGVjbGFyYXRpb25MaXN0
KFRyZWVCdWlsZGVyJiwgaW50JiBkZWNsYXJhdGlvbnMsIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRl
cm4mIGxhc3RQYXR0ZXJuLCBUcmVlRXhwcmVzc2lvbiYgbGFzdEluaXRpYWxpemVyLCBKU1RleHRQ
b3NpdGlvbiYgaWRlbnRTdGFydCwgSlNUZXh0UG9zaXRpb24mIGluaXRTdGFydCwgSlNUZXh0UG9z
aXRpb24mIGluaXRFbmQsIFZhckRlY2xhcmF0aW9uTGlzdENvbnRleHQpOwpAQCAtNzk3LDEyICs3
OTAsMTAgQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVS
X0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIHBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0
ZXJuKFRyZWVCdWlsZGVyJiwgRGVjb25zdHJ1Y3Rpb25LaW5kLCBpbnQgZGVwdGggPSAwKTsKICAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1
Y3Rpb25QYXR0ZXJuIHRyeVBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuRXhwcmVzc2lvbihUcmVl
QnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5F
IGludCBwYXJzZUZ1bmN0aW9uUGFyYW10ZXJzKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJl
bWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlLCBib29sLCBBdXRvUG9wU2NvcGVSZWYmLCBQYXJzZXJG
dW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+Jik7Ci0gICAgCiAjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lO
TElORSBib29sIHBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJl
bWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlLCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBD
b25zdHJ1Y3RvcktpbmQsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rpb25J
bmZvPFRyZWVCdWlsZGVyPiYsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBlID0g
U3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7Ci0jZWxzZQotICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIGJvb2wgcGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxk
ZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUsIGJvb2wgbmFtZUlz
SW5Db250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0
YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+Jik7CisgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgaW50IHBhcnNlQXJyb3dGdW5jdGlvblBhcmFt
dGVycyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUGFyc2VNb2RlLCBQYXJzZXJGdW5jdGlvbkluZm88
VHJlZUJ1aWxkZXI+Jik7CiAjZW5kaWYKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IE5FVkVSX0lOTElORSBib29sIHBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiwgRnVuY3Rp
b25SZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlLCBib29sIG5hbWVJc0luQ29udGFpbmlu
Z1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgUGFyc2Vy
RnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0aW9uUGFy
c2VUeXBlKTsKICAgICAKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlQ2xhc3NFeHByZXNzaW9uIHBh
cnNlQ2xhc3MoVHJlZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgUGFyc2VyQ2xhc3NJ
bmZvPFRyZWVCdWlsZGVyPiYpOwpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmlu
ZGV4IGY4NmYzNTkwNTBkZDEyOTE0MzgzY2FiODQyNzI4MTNmMTE1ZTZjM2QuLmRkODkwZGI3ODlm
ZDYwOWFiNWYyYjA3MTU5NTdjNjk1MmJkNjE1ODcgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysg
Yi9DaGFuZ2VMb2cKQEAgLTEsNCArMSw0IEBACi0yMDE1LTA0LTAxICAgU2thY2hrb3YgQWxleGFu
ZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorMjAxNS0wNC0xMyAgIFNrYWNoa292IEFsZXhhbmRy
ICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KIAogICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFy
cm93IGZ1bmN0aW9uIHN5bnRheAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQwODU1Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250628</attachid>
            <date>2015-04-13 00:22:37 -0700</date>
            <delta_ts>2015-04-13 04:08:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150413102141.patch</filename>
            <type>text/plain</type>
            <size>4659</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyNjY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
Nzk1NjMyMmMxN2YwM2Q1ZTgyZGU1MGJmYjRjNzZiMDk0NWNlYTY4Li4wZjg2NGE0YzA2OTk2NTg3
ZjcyYWMyNGM1OGUzOTdmMmZmMjc2OWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMSBAQAorMjAxNS0wNC0xMiAgQWxleGFuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21h
aWwuY29tPgorICAgICAgICBTbWFsbCByZWZhY3RvcmluZyBvZiB0aGUgcGFyY2VyLmNwcCBmaWxl
LiBJdCBpcyBuZWNlc3NhcnkgdG8gaW5jcmVhc2UgcmVhZGFiaWxpdHkgb2YgdGhlIHBhdGNoCisg
ICAgICAgIHdpdGggRVM2IEFycm93IGZ1bmN0aW9uIGltcGxlbWVudGF0aW9uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAq
IHBhcnNlci9QYXJzZXIuaDoKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKwogMjAxNS0w
NC0xMiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBb
RVM2XSBJbXBsZW1lbnQgQXJyYXkucHJvdG90eXBlLnZhbHVlcwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXIuY3BwCmluZGV4IDMyZDI1MGNhN2NjNTNmNGJlYTYxZjYxYjZkYWJmZTY0
YmNiYzY4NDYuLjY0NzgyMGFkODNkZjQ0M2QzMGQwNGNmYWUyMjU0ZmFlYzk3MDdhYjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKQEAgLTEyOTcsMTUgKzEyOTcsOCBA
QCBzdGF0aWMgY29uc3QgY2hhciogc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKEZ1bmN0aW9uUGFyc2VN
b2RlIG1vZGUpCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBM
ZXhlclR5cGU+Ci10ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblJl
cXVpcmVtZW50cyByZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUsCi0gICAgYm9v
bCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kIG93bmVyQ2xhc3NLaW5k
LCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRl
cj4mIGluZm8pCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPiB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IGludCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvblBhcmFtdGVy
cyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMgcmVxdWlyZW1lbnRz
LCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBB
dXRvUG9wU2NvcGVSZWYmIGZ1bmN0aW9uU2NvcGUsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVp
bGRlcj4mIGluZm8pCiB7Ci0gICAgQXV0b1BvcFNjb3BlUmVmIGZ1bmN0aW9uU2NvcGUodGhpcywg
cHVzaFNjb3BlKCkpOwotICAgIGZ1bmN0aW9uU2NvcGUtPnNldElzRnVuY3Rpb24oKTsKLSAgICBp
bnQgZnVuY3Rpb25OYW1lU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7Ci0g
ICAgY29uc3QgSWRlbnRpZmllciogbGFzdEZ1bmN0aW9uTmFtZSA9IG1fbGFzdEZ1bmN0aW9uTmFt
ZTsKLSAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBudWxscHRyOwogICAgIGlmIChtYXRjaChJREVO
VCkpIHsKICAgICAgICAgaW5mby5uYW1lID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAg
IG1fbGFzdEZ1bmN0aW9uTmFtZSA9IGluZm8ubmFtZTsKQEAgLTEzMjQsNyArMTMxNyw3IEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VG
dW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29y
ZChzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSIpOwogICAgICAgICBmYWlsV2l0
aE1lc3NhZ2UoIkV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhICIsIHN0cmluZ0ZvckZ1
bmN0aW9uTW9kZShtb2RlKSwgIidzIHBhcmFtZXRlciBsaXN0Iik7CiAgICAgfQotCisgICAgCiAg
ICAgaWYgKG1vZGUgPT0gR2V0dGVyTW9kZSkKICAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBB
UkVOLCAiZ2V0dGVyIGZ1bmN0aW9ucyBtdXN0IGhhdmUgbm8gcGFyYW1ldGVycyIpOwogICAgIGVs
c2UgaWYgKG1vZGUgPT0gU2V0dGVyTW9kZSkgewpAQCAtMTM0MSw2ICsxMzM0LDIxIEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5j
dGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIH0KICAgICAgICAgY29uc3VtZU9yRmFpbChDTE9T
RVBBUkVOLCAiRXhwZWN0ZWQgYSAnKScgb3IgYSAnLCcgYWZ0ZXIgYSBwYXJhbWV0ZXIgZGVjbGFy
YXRpb24iKTsKICAgICB9CisgICAgCisgICAgcmV0dXJuIHBhcmFtZXRlcnNTdGFydDsKK30KKyAg
ICAKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWls
ZGVyJiBjb250ZXh0LCBGdW5jdGlvblJlcXVpcmVtZW50cyByZXF1aXJlbWVudHMsIEZ1bmN0aW9u
UGFyc2VNb2RlIG1vZGUsCisgICAgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29uc3Ry
dWN0b3JLaW5kIG93bmVyQ2xhc3NLaW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNl
ckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mIGluZm8pCit7CisgICAgQXV0b1BvcFNjb3BlUmVm
IGZ1bmN0aW9uU2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOworICAgIGZ1bmN0aW9uU2NvcGUtPnNl
dElzRnVuY3Rpb24oKTsKKyAgICBpbnQgZnVuY3Rpb25OYW1lU3RhcnQgPSBtX3Rva2VuLm1fbG9j
YXRpb24uc3RhcnRPZmZzZXQ7CisgICAgY29uc3QgSWRlbnRpZmllciogbGFzdEZ1bmN0aW9uTmFt
ZSA9IG1fbGFzdEZ1bmN0aW9uTmFtZTsKKyAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBudWxscHRy
OworICAgIAorICAgIGludCBwYXJhbWV0ZXJzU3RhcnQgPSBwYXJzZUZ1bmN0aW9uUGFyYW10ZXJz
KGNvbnRleHQsIHJlcXVpcmVtZW50cywgbW9kZSwgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIGZ1
bmN0aW9uU2NvcGUsIGluZm8pOwogCiAgICAgbWF0Y2hPckZhaWwoT1BFTkJSQUNFLCAiRXhwZWN0
ZWQgYW4gb3BlbmluZyAneycgYXQgdGhlIHN0YXJ0IG9mIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25N
b2RlKG1vZGUpLCAiIGJvZHkiKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgK
aW5kZXggMGYyNzI4Zjg2MjFmODAxMGM0MTBiZjc5ODc2MTliZjIzZTUwYWY4Yi4uNzhiYWZmYTBl
MTc3M2M4MjA2OThiOTIwM2YwZjZhM2Q3YWQzMmVjNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlci5oCkBAIC03NzMsNiArNzczLDggQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJu
IHRyeVBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOwog
CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgYm9vbCBwYXJz
ZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzLCBGdW5jdGlv
blBhcnNlTW9kZSwgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5k
LCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRl
cj4mKTsKKyAgICAKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElO
RSBpbnQgcGFyc2VGdW5jdGlvblBhcmFtdGVycyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWly
ZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSwgYm9vbCwgQXV0b1BvcFNjb3BlUmVmJiwgUGFyc2Vy
RnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYpOwogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFY
KQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVDbGFz
c0V4cHJlc3Npb24gcGFyc2VDbGFzcyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1lbnRz
LCBQYXJzZXJDbGFzc0luZm88VHJlZUJ1aWxkZXI+Jik7CiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250629</attachid>
            <date>2015-04-13 01:01:51 -0700</date>
            <delta_ts>2015-04-13 04:08:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150413110054.patch</filename>
            <type>text/plain</type>
            <size>136892</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyNjY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
Zjg2NGE0YzA2OTk2NTg3ZjcyYWMyNGM1OGUzOTdmMmZmMjc2OWRkLi43NzkwNDNhYmE0YTdkZGM5
ZTY4NDAwODU0Y2I4MTM1NDBiMjM3OWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMjMgQEAKKzIwMTUtMDQtMTMgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgc3VwcG9ydCBvZiBFUzYgYXJyb3cgZnVuY3Rpb24uIENoYW5nZXMgd2VyZSBtYWRlIGFj
Y29yZGluZyBmb2xsb3dpbmcgc3BlYyBodHRwOi8vd2lraS5lY21hc2NyaXB0Lm9yZy9kb2t1LnBo
cD9pZD1oYXJtb255OmFycm93X2Z1bmN0aW9uX3N5bnRheAorICAgICAgICBJbiBwYXRjaCB3ZXJl
IGltcGxlbWVudGVkIHRoZSBzaW1wbGVzdCBjYXNlczoKKyAgICAgICAgICAxIG5vIHBhcmFtZXRl
cnMgICAgICAgICAgICAgICAgKCkgPT4gMTAgKyAyMAorICAgICAgICAgIDIgc2luZ2xlIHBhcmFt
ZXRlciAgICAgICAgICAgICAgeCA9PiB4ICsgMjAKKyAgICAgICAgICAzIG11bHRpcGxlIHBhcmFt
ZXRlcnMgICAgICAoeCwgeSkgPT4geCArIHkKKyAgICAgICAgICA0IGFycm93IGZ1bmN0aW9uIHdp
dGggYmxvY2sgICAgIHggPT4geyByZXR1cm4geCoxMDsgfQorICAgICAgICAgIDUgbGV4aWNhbCB0
aGlzIC0gdmFyaWFibGUgdGhpcyBpcyBwb2ludCB0byB0aGUgdGhpcyBvZiB0aGUgZnVuY3Rpb24g
d2hlcmUgYXJyb3cgZnVuY3Rpb24gaXMgZGVjbGFyZWQKKyAgICAgICAgICA2IE5vIGNvbnN0cnVj
dG9yIC0gdGhlIHVzaW5nIG9mIHRoZSBjb21tYW5kIG5ldyBmb3IgYXJyb3cgZnVuY3Rpb24gbGVh
ZHMgdG8gcnVudGltZSBlcnJvci4gCisKKyAgICAgICAgIE5vdCB5ZXQgaW1wbGVtZW50ZWQ6Cisg
ICAgICAgICAgMSB0aGUgdmFyaWFibGUgd2l0aCBuYW1lIGFyZ3VtZW50cyBpbnNpZGUgb2YgdGhl
IGFycm93IGZ1bmN0aW9uIHNob3VsZCBwb2ludCB0byBsaXN0IG9mIGFyZ3VtZW50cyBvZiBmdW5j
dGlvbiB3aGVyZSBhcnJvdyBmdW5jdGlvbiBpcyBkZWNsYXJlZAorICAgICAgICAgIDIgcGFyc2Vy
IHdpbGwgcGFyc2UgdGhlIHN0YXRlbWVudCB4LCB5ID0+IHggKyB5IGluc3RlYWQgb2YgcmFpc2lu
ZyBleGNlcHRpb24KKyAgICAgICAgICAzIG1ldGhvZCBjYWxsLCBhcHBseSwgYmluZCBzaG91bGQg
bm90IG92ZXJyaWRlIHRoZSB0aGlzIHZhcmlhYmxlIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgor
ICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvajoK
KyAgICAgICAgKiBieXRlY29kZS9CeXRlY29kZUxpc3QuanNvbjoKKyAgICAgICAgKiBieXRlY29k
ZS9CeXRlY29kZVVzZURlZi5oOgorICAgICAgICAoSlNDOjpGdW5jdG9yOjpjb21wdXRlVXNlc0Zv
ckJ5dGVjb2RlT2Zmc2V0KToKKyAgICAgICAgKiBieXRlY29kZS9Db2RlQmxvY2suY3BwOgorICAg
ICAgICAoSlNDOjpDb2RlQmxvY2s6OmR1bXBCeXRlY29kZSk6CisgICAgICAgICogYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2Rl
R2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdB
cnJvd0Z1bmN0aW9uRXhwcmVzc2lvbik6IGFkZGVkCisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2Vu
ZXJhdG9yOjplbWl0VGhpc05vZGVCeXRlY29kZSk6IGFkZGVkCisgICAgICAgICogYnl0ZWNvbXBp
bGVyL05vZGVzQ29kZWdlbi5jcHA6CisgICAgICAgIChKU0M6OmVtaXRCeXRlY29kZTo6ZW1pdEJ5
dGVjb2RlKTogYWRkZWQKKyAgICAgICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGU6OmVtaXRCeXRl
Y29kZSk6IGFkZGVkCisgICAgICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAg
ICAgKEpTQzo6Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAqIGRmZy9ERkdD
YXBhYmlsaXRpZXMuY3BwOgorICAgICAgICAoSlNDOjpDYXBhYmlsaXR5TGV2ZWw6OmNhcGFiaWxp
dHlMZXZlbCk6CisgICAgICAgICogaml0L0pJVC5oOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRf
b3BfbmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUSW5saW5lcy5o
OgorICAgICAgICAoSlNDOjpKSVQ6OmNhbGxPcGVyYXRpb24pOiBhZGRlZAorICAgICAgICAqIGpp
dC9KSVQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3MpOgor
ICAgICAgICAqIGppdC9KSVRPcGNvZGVzLmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29w
X25ld19hcnJvd19mdW5jX2V4cCk6IGFkZGVkCisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMu
Y3BwOgorICAgICAgICAoSlNDOjpKSVRfT1BFUkFUSU9OOjpvcGVyYXRpb25OZXdBcnJvd0Z1bmN0
aW9uKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5oOgorICAgICAgICAoSlND
OjpKSVRfT1BFUkFUSU9OOjpvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKTogYWRkZWQKKyAgICAg
ICAgKiBsbGludC9MTEludFNsb3dQYXRocy5jcHA6CisgICAgICAgIChMTElOVF9TTE9XX1BBVEhf
REVDTChzbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBsbGlu
dC9MTEludFNsb3dQYXRocy5oOgorICAgICAgICAoTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19w
YXRoX25ld19hcnJvd19mdW5jX2V4cCkpOiBhZGRlZAorICAgICAgICAqIGxsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOgorICAgICAgICAqIHBhcnNlci9BU1RCdWlsZGVyLmg6CisgICAgICAg
IChKU0M6OkFTVEJ1aWxkZXI6OmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAgICAgKiBw
YXJzZXIvTGV4ZXIuY3BwOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlv
bik6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpsZXgpOgorICAgICAgICAqIHBhcnNlci9MZXhl
ci5oOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlvbik6CisgICAgICAg
ICogcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaDoKKyAgICAgICAgKEpTQzo6QXJyb3dGdW5jRXhw
ck5vZGU6OkFycm93RnVuY0V4cHJOb2RlKTogYWRkZWQKKyAgICAgICAgKiBwYXJzZXIvTm9kZXMu
aDoKKyAgICAgICAgKEpTQzo6Tm9kZTo6aXNBcnJvd0Z1bmNFeHByTm9kZSk6IGFkZGVkCisgICAg
ICAgIChKU0M6OkFycm93RnVuY0V4cHJOb2RlKTogYWRkZWQgY2xhc3MKKyAgICAgICAgKiBwYXJz
ZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291
cmNlRWxlbWVudHMpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmlt
YXJ5RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VTb3VyY2VFbGVtZW50
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6
OlBhcnNlcjo6cGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNl
cjo6cGFyc2VQcmltYXJ5RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VB
cnJvd0V4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnNldEVuZE9mU3RhdGVtZW50
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKToKKyAg
ICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25JbmZvKToKKyAgICAgICAgKEpT
Qzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25Cb2R5KToKKyAgICAgICAgKiBwYXJzZXIvUGFy
c2VyLmg6CisgICAgICAgIChKU0M6OlBhcnNlcjo6RnVuY3Rpb25QYXJzZVR5cGUpOgorICAgICAg
ICAoSlNDOjpQYXJzZXI6OnBhcnNlU291cmNlRWxlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNl
cjo6cGFyc2VTdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dFeHBy
ZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpzZXRFbmRPZlN0YXRlbWVudCk6CisgICAg
ICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcik6CisgICAgICAgICog
cGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oOgorICAgICAgICAqIHBhcnNlci9QYXJzZXJUb2tl
bnMuaDoKKyAgICAgICAgKEpTQzo6UGFyc2VyRnVuY3Rpb25JbmZvOjphcnJvd0Z1bmN0aW9uT2Zm
c2V0KTogYWRkZWQKKyAgICAgICAgKEpTQzo6UGFyc2VyRnVuY3Rpb25JbmZvOjppc0Fycm93RnVu
Y3Rpb24pOiBhZGRlZAorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmFycm93RnVu
Y3Rpb25Cb2R5VHlwZSk6IGFkZGVkCisgICAgICAgICogcGFyc2VyL1NvdXJjZUNvZGUuaDoKKyAg
ICAgICAgKEpTQzo6U291cmNlQ29kZTo6c3ViQXJyb3dFeHByZXNzaW9uKToKKyAgICAgICAgKiBw
YXJzZXIvU3ludGF4Q2hlY2tlci5oOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVh
dGVBcnJvd0Z1bmN0aW9uRXhwcik6CisgICAgICAgICogcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2Fj
aGVJdGVtOgorICAgICAgICAoSlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFy
YW1ldGVycyk6CisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKToKKyAgICAg
ICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW06OmVuZEFycm93RnVuY3Rpb25Ub2tlbik6
CisgICAgICAgICogcnVudGltZS9KU0Fycm93RnVuY3Rpb24uaDogYWRkZWQgY2xhc3MgZm9yIGhh
bmRsZSBhcnJvdyBmdW5jdGlvbiBjcmVhdGlvbiBhbmQgZXhlY3V0aW9uCisgICAgICAgICogcnVu
dGltZS9KU0Fycm93RnVuY3Rpb24uY3BwOgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbi5o
OgorICAgICAgICAoSlNDOjpKU0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKTogYWRkZWQgb25lIG1vcmUg
Y29uc3RydWN0b3IKKyAgICAgICAgKiBydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmg6CisgICAg
ICAgIChKU0M6OkpTRnVuY3Rpb246OkpTRnVuY3Rpb24pOiBhZGRlZCBjb25zdHJ1Y3RvciBpbXBs
ZW1lbnRhdGlvbgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgorICAgICAg
ICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6aW5pdCk6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2Jq
ZWN0OjptX2Fycm93RnVuY3Rpb25TdHJ1Y3R1cmUpOiBhZGRlZAorICAgICAgICAoSlNDOjpKU0ds
b2JhbE9iamVjdDo6YXJyb3dGdW5jdGlvblN0cnVjdHVyZSk6CisgICAgICAgICogdGVzdHMvc3Ry
ZXNzL2pzL2Fycm93ZnVuY3Rpb24uanM6CisKKzIwMTUtMDQtMTIgIEFsZXhhbmRyIFNrYWNoa292
ICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKyAgICAgICAgU21hbGwgcmVmYWN0b3Jpbmcgb2YgdGhl
IHBhcmNlci5jcHAgZmlsZS4gSXQgaXMgbmVjZXNzYXJ5IHRvIGluY3JlYXNlIHJlYWRhYmlsaXR5
IG9mIHRoZSBwYXRjaAorICAgICAgICB3aXRoIEVTNiBBcnJvdyBmdW5jdGlvbiBpbXBsZW1lbnRh
dGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQw
ODU1CisKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmg6CisgICAgICAgICogcGFyc2VyL1BhcnNl
ci5jcHA6CisKIDIwMTUtMDQtMTIgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdtYWls
LmNvbT4KICAgICAgICAgU21hbGwgcmVmYWN0b3Jpbmcgb2YgdGhlIHBhcmNlci5jcHAgZmlsZS4g
SXQgaXMgbmVjZXNzYXJ5IHRvIGluY3JlYXNlIHJlYWRhYmlsaXR5IG9mIHRoZSBwYXRjaAogICAg
ICAgICB3aXRoIEVTNiBBcnJvdyBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IGNiYzEzZjU3ZmQ2ZDE2M2E5OWVkNTdiNmQ4MTk4OGFlY2JjMDZiZWQuLjYwZmY1MzcxOWU3ZjZh
Y2Q1ZDM2NjlkZmZkNmE3OGMzMWU3NDk2NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAxNS0wNC0xMyAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisg
ICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmZWF0dXJlIGZs
YWcgRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rpb24KKwor
ICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1
LTA0LTExICBNYXR0IEJha2VyICA8bWF0dGJha2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIg
SW5zcGVjdG9yOiBjcmVhdGUgY29udGVudCB2aWV3IGFuZCBkZXRhaWxzIHNpZGViYXIgZm9yIEZy
YW1lcyB0aW1lbGluZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGJhNGUwNTc5ZTlkZTk4YjkxYmE2OGY1
N2RjODNlZTlkMmQ5MThlMzcuLjQzYWI2Y2EwMzQxMmEwNzJlN2IwZjNmOGE0OWYwNmFmYmY4Nzhk
YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNS0wNC0xMyAgU2thY2hr
b3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxl
bWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmZWF0dXJlIGZsYWcgRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rpb24KKworICAgICAgICAqIENvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1LTA0LTExICBZdXN1a2UgU3V6
dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIFtFUzZdIEVuYWJsZSBTeW1i
b2wgaW4gd2ViIHBhZ2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VM
aXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNzkx
OTYyODQ3NjJiMzAwMzQ0MTdmYTRmMTRmMWZiMjgzODFjNDVlOS4uN2I4OTIyM2FhOTFkNzdiN2M2
YjQ0YzU4MGMzMzQ4NmFhM2JhMGY2MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4
dApAQCAtNDY2LDYgKzQ2Niw3IEBAIHNldChKYXZhU2NyaXB0Q29yZV9SVU5USU1FX1NPVVJDRVMK
ICAgICBydW50aW1lL0pTQXJyYXlCdWZmZXJWaWV3LmNwcAogICAgIHJ1bnRpbWUvSlNBcnJheUl0
ZXJhdG9yLmNwcAogICAgIHJ1bnRpbWUvSlNCb3VuZEZ1bmN0aW9uLmNwcAorICAgIHJ1bnRpbWUv
SlNBcnJvd0Z1bmN0aW9uLmNwcAogICAgIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxl
LmNwcAogICAgIHJ1bnRpbWUvSlNDSlNWYWx1ZS5jcHAKICAgICBydW50aW1lL0pTQ2FsbGVlLmNw
cApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDhiMTEyZmFlNDViOTU3ZGQyNjQxZmRiNmY0
Njg5ODgwNTg5YWY4NjAuLjExNDhhNzY5NzJmMTE0YzM4M2QzMjYyOWYxZjA5M2M2ODU1MGEwNTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZB
U19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVO
QUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJM
RV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CitFTkFCTEVfRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsK
IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVO
QUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yID0gRU5BQkxF
X0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBAIC0yMTQsNCArMjE1LDQgQEAgRU5BQkxFX0xMSU5U
X0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJM
RV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5B
QkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykg
JChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcp
ICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05T
X0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NT
X0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NT
U19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9D
U1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19T
RUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQp
ICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElU
WSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9J
VEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZF
TF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkg
JChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9H
RU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAk
KEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9D
U1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFC
TEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChF
TkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhN
TCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0Up
ICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5B
QkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRP
Ul9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFC
TEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRF
Ul9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChF
TkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVT
VF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJM
RV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9T
UEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NS
WVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChF
TkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1F
TlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVO
QUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNL
KSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAk
KEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAk
KEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VC
X1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAk
KEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQo
RU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VO
VEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BB
VEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJM
RV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJF
QUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFU
SU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRB
VElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05T
KSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChF
TkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVf
Q1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFC
TEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxF
X0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVf
REVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChF
TkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5B
QkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVf
RlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVD
QVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1F
Ul9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09O
VFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxF
X1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENI
KSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFC
TEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRF
Ul9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAk
KEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09O
Q1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4p
ICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJ
TUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEp
ICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9D
T01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9N
RURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExf
U05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQo
RU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09U
Rl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJM
RV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJB
SUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVO
QUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19N
T0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFC
TEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0la
RVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJM
RV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVf
TExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5B
QkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ogYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29y
ZS52Y3hwcm9qCmluZGV4IDc0MzMwZTcwM2RhYzRkMzYwMGVhYjI3YTBhZDhlYjRhZjAwZTBiMzIu
LjYyMjg3M2RkMmY5NDcwYTkxMzE4YWNjY2Q0NzA5ZGNlYWU3MjYwOGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3Jl
LnZjeHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHBy
b2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagpAQCAtNzM0LDYgKzczNCw3IEBACiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJQcm90b3R5cGUuY3BwIiAvPgog
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0FycmF5QnVmZmVyVmlldy5jcHAi
IC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQm91bmRGdW5jdGlvbi5j
cHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyb3dGdW5jdGlv
bi5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0pTVmFsdWUu
Y3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NhbGxlZS5jcHAi
IC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ2F0Y2hTY29wZS5jcHAi
IC8+CkBAIC0xNTI2LDYgKzE1MjcsNyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVu
dGltZVxKU0FycmF5QnVmZmVyVmlld0lubGluZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJheUl0ZXJhdG9yLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxydW50aW1lXEpTQm91bmRGdW5jdGlvbi5oIiAvPgorICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5ccnVudGltZVxKU0Fycm93RnVuY3Rpb24uaCIgLz4KICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSW5saW5lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5ccnVudGltZVxKU0NKU1ZhbHVlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxydW50aW1lXEpTQ0pTVmFsdWVJbmxpbmVzLmgiIC8+CkBAIC0xODAwLDQgKzE4MDIsNCBAQAog
ICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblRhcmdldHMiPgogICAgIDxJbXBvcnQgUHJv
amVjdD0iJChWQ1RhcmdldHNQYXRoKVxCdWlsZEN1c3RvbWl6YXRpb25zXG1hc20udGFyZ2V0cyIg
Lz4KICAgPC9JbXBvcnRHcm91cD4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGJhMmQxMzZl
Yjk1YjVhOWZkMzU0YWIzMGE4ZjM2OTFiZjc4Y2ViODYuLmU5ZDZmMjQ2NWUzMzg1NWQzNjhiNGQy
MDRlMGQ3NjQ2YzU2ZTk4OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDky
LDYgKzEwOTIsOCBAQAogCQk4NkYzRUVCRjE2OENERTkzMDA3N0I5MkEgLyogT2JqY1J1bnRpbWVF
eHRyYXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2
RjNFRUI2MTY4NTVBNUIwMDc3QjkyQSAvKiBPYmpjUnVudGltZUV4dHJhcy5oICovOyB9OwogCQk4
NkZBOUU5MTE0MkJCQjJFMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RkE5RThGMTQyQkJCMkQwMDE3
NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwICovOyB9OwogCQk4NkZBOUU5MjE0MkJCQjJFMDAx
NzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4NkZBOUU5MDE0MkJCQjJFMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0
aW9uLmggKi87IH07CisJCThCMEY0MjRDMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rp
b24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEIw
RjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgKi87IH07CisJCThC
MEY0MjRDMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uaCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhCMEY0MjRCMUFCRDZERTIwMDM5MTdF
QSAvKiBKU0Fycm93RnVuY3Rpb24uaCAqLzsgfTsKIAkJOTAyMTNFM0QxMjNBNDBDMjAwRDQyMkYz
IC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTAyMTNFM0IxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3Rp
Y3MuY3BwICovOyB9OwogCQk5MDIxM0UzRTEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlz
dGljcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTAy
MTNFM0MxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5MzA1MkMzNDBGQjc5MjE5MDA0
OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNw
cCAqLzsgfTsKQEAgLTI4MjQsNiArMjgyNiw4IEBACiAJCTg2Rjc1RUZEMTUxQzA2MkYwMDdDOUJB
MyAvKiBSZWdFeHBNYXRjaGVzQXJyYXkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gUmVnRXhwTWF0Y2hlc0FycmF5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0JvdW5kRnVuY3Rpb24uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkZBOUU5MDE0MkJCQjJFMDAxNzczQjcgLyog
SlNCb3VuZEZ1bmN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQm91
bmRGdW5jdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4QjBGNDI0QTFBQkQ2
RDJGMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQXJyb3dG
dW5jdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4QjBGNDI0QjFBQkQ2REUy
MDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTQXJyb3dGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTkwMjEzRTNCMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lbW9yeVN0YXRpc3RpY3MuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MDIxM0UzQzEyM0E0MEMyMDBENDIyRjMg
LyogTWVtb3J5U3RhdGlzdGljcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBN
ZW1vcnlTdGF0aXN0aWNzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMDUyQzMy
MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBQYXJzZXJBcmVuYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC00NDM4LDYgKzQ0NDIsOCBAQAogCQkJCUE3QkRBRUM1MTdGNEVBMTQwMEY2MTQwQyAv
KiBKU0FycmF5SXRlcmF0b3IuaCAqLywKIAkJCQk4NkZBOUU4RjE0MkJCQjJEMDAxNzczQjcgLyog
SlNCb3VuZEZ1bmN0aW9uLmNwcCAqLywKIAkJCQk4NkZBOUU5MDE0MkJCQjJFMDAxNzczQjcgLyog
SlNCb3VuZEZ1bmN0aW9uLmggKi8sCisJCQkJOEIwRjQyNEExQUJENkQyRjAwMzkxN0VBIC8qIEpT
QXJyb3dGdW5jdGlvbi5oICovLAorCQkJCThCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fy
cm93RnVuY3Rpb24uY3BwICovLAogCQkJCTY1N0NGNDU2MTlCRjY2NjIwMDRBQ0JGMiAvKiBKU0Nh
bGxlZS5jcHAgKi8sCiAJCQkJNjU3Q0Y0NTcxOUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmgg
Ki8sCiAJCQkJMEZEOTQ5N0UxQTk3REI5NjAwRTI4OTY2IC8qIEpTQ2F0Y2hTY29wZS5jcHAgKi8s
CkBAIC03MTY2LDYgKzcxNzIsNyBAQAogCQkJCTBGRDhBMzFCMTdENTFGMjIwMENBMkM0MCAvKiBG
VExPU1JFbnRyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjIzNUJEQzE3MTc4RTFDMDA2OTBD
N0YgLyogRlRMT1NSRXhpdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjIzNUJERjE3MTc4RTFD
MDA2OTBDN0YgLyogRlRMT1NSRXhpdENvbXBpbGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCThC
MEY0MjRDMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMEZFQTBBMkExNzA5NjI5NjAwQkI3MjJDIC8qIEZUTE91dHB1dC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkwRjQ4NTMyOTE4N0RGREVDMDA4M0I2ODcgLyogRlRMUmVjb3ZlcnlPcGNv
ZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY2QjFDQzMxODYyQzQ3ODAwODQ1RDk3IC8qIEZU
TFJlZ2lzdGVyQXRPZmZzZXQuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24gYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24KaW5kZXggNmIyNDM5MTU2YWIzYWZh
ZTZiNTU4YWI5MDY2ZDIyMjUxNWQ1OWU0NS4uNDM2MDcwOWQ4ZjdlNDE4MjE1YWIyYWY5NTliZjY0
NDhhZjAzODAyOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5
dGVjb2RlTGlzdC5qc29uCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRl
Y29kZUxpc3QuanNvbgpAQCAtOTUsNiArOTUsNyBAQAogICAgICAgICAgICAgeyAibmFtZSIgOiAi
b3Bfc3dpdGNoX3N0cmluZyIsICJsZW5ndGgiIDogNCB9LAogICAgICAgICAgICAgeyAibmFtZSIg
OiAib3BfbmV3X2Z1bmMiLCAibGVuZ3RoIiA6IDQgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDog
Im9wX25ld19mdW5jX2V4cCIsICJsZW5ndGgiIDogNCB9LAorICAgICAgICAgICAgeyAibmFtZSIg
OiAib3BfbmV3X2Fycm93X2Z1bmNfZXhwIiwgImxlbmd0aCIgOiA1IH0sCiAgICAgICAgICAgICB7
ICJuYW1lIiA6ICJvcF9jYWxsIiwgImxlbmd0aCIgOiA5IH0sCiAgICAgICAgICAgICB7ICJuYW1l
IiA6ICJvcF9jYWxsX2V2YWwiLCAibGVuZ3RoIiA6IDkgfSwKICAgICAgICAgICAgIHsgIm5hbWUi
IDogIm9wX2NhbGxfdmFyYXJncyIsICJsZW5ndGgiIDogOSB9LApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaAppbmRleCA4NWYyOTE1YzdlOGY2MDFh
ZDNlYzE3OGJmNjllMzU0NGY3NTRjMmNmLi4xN2I2YmVkODFmZTI1YjYyMzMwYmFhM2ZkMDMxYzcx
NmFiODhmOWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0
ZWNvZGVVc2VEZWYuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNv
ZGVVc2VEZWYuaApAQCAtMTE2LDYgKzExNiw5IEBAIHZvaWQgY29tcHV0ZVVzZXNGb3JCeXRlY29k
ZU9mZnNldCgKICAgICBjYXNlIG9wX2dldF9wcm9wZXJ0eV9lbnVtZXJhdG9yOgogICAgIGNhc2Ug
b3BfZ2V0X2VudW1lcmFibGVfbGVuZ3RoOgogICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOgorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2FzZSBvcF9uZXdfYXJyb3df
ZnVuY19leHA6CisjZW5kaWYKICAgICBjYXNlIG9wX3RvX2luZGV4X3N0cmluZzoKICAgICBjYXNl
IG9wX2luaXRfZ2xvYmFsX2NvbnN0X25vcDoKICAgICBjYXNlIG9wX2luaXRfZ2xvYmFsX2NvbnN0
OgpAQCAtMzA4LDYgKzMxMSw5IEBAIHZvaWQgY29tcHV0ZURlZnNGb3JCeXRlY29kZU9mZnNldChD
b2RlQmxvY2sqIGNvZGVCbG9jaywgdW5zaWduZWQgYnl0ZWNvZGVPZmZzZXQsCiAgICAgY2FzZSBv
cF9uZXdfcmVnZXhwOgogICAgIGNhc2Ugb3BfbmV3X2Z1bmM6CiAgICAgY2FzZSBvcF9uZXdfZnVu
Y19leHA6CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9w
X25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRpZgogICAgIGNhc2Ugb3BfY2FsbF92YXJhcmdzOgog
ICAgIGNhc2Ugb3BfY29uc3RydWN0X3ZhcmFyZ3M6CiAgICAgY2FzZSBvcF9nZXRfZnJvbV9zY29w
ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2su
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKaW5kZXgg
MDZlNDlmZWQ2NWRhZTg3NzBkN2NkYzk4M2I3NjhkNGFkZWU5YzhmMS4uOTE0NTVkYzIzOGQ1NjIz
YzJmNDE4NjMzOWU4NDhlOWNmZjNhYWM0MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0NvZGVCbG9jay5jcHAKQEAgLTEyOTksNiArMTI5OSwxNyBAQCB2b2lkIENvZGVCbG9j
azo6ZHVtcEJ5dGVjb2RlKAogICAgICAgICAgICAgb3V0LnByaW50ZigiJXMsICVzLCBmJWQiLCBy
ZWdpc3Rlck5hbWUocjApLmRhdGEoKSwgcmVnaXN0ZXJOYW1lKHIxKS5kYXRhKCksIGYwKTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICAgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6IHsKKyAgICAgICAg
ICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgaW50IHIxID0gKCsr
aXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBpbnQgZjAgPSAoKytpdCktPnUub3BlcmFuZDsK
KyAgICAgICAgICAgIGludCByMiA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgcHJp
bnRMb2NhdGlvbkFuZE9wKG91dCwgZXhlYywgbG9jYXRpb24sIGl0LCAib3BfbmV3X2Fycm93X2Z1
bmNfZXhwIik7CisgICAgICAgICAgICBvdXQucHJpbnRmKCIlcywgJXMsIGYlZCwgJXMiLCByZWdp
c3Rlck5hbWUocjApLmRhdGEoKSwgcmVnaXN0ZXJOYW1lKHIxKS5kYXRhKCksIGYwLCByZWdpc3Rl
ck5hbWUocjIpLmRhdGEoKSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorI2VuZGlm
CiAgICAgICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOiB7CiAgICAgICAgICAgICBpbnQgcjAgPSAo
KytpdCktPnUub3BlcmFuZDsKICAgICAgICAgICAgIGludCByMSA9ICgrK2l0KS0+dS5vcGVyYW5k
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29k
ZUdlbmVyYXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVj
b2RlR2VuZXJhdG9yLmNwcAppbmRleCA1OTE5OThhMjllZDI2Y2IwZTUxZWYzMDUwODY3MjEzZGM0
ODMzZmI2Li43NDBjYTMyNWM3OTE1OTM3MTBiMjRkNmExNGNjMGJlNGUxNDVhMWVmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9y
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmNwcApAQCAtMTc1NCw2ICsxNzU0LDIyIEBAIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2Vu
ZXJhdG9yOjplbWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIHIwLCBGdW5jRXhw
CiAgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKGluZGV4KTsKICAgICByZXR1cm4gcjA7CiB9Cisg
ICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK1JlZ2lzdGVySUQqIEJ5
dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJ
RCogcjAsIEZ1bmNFeHByTm9kZSogbikKK3sKKyAgICBlbWl0VERaQ2hlY2sodGhpc1JlZ2lzdGVy
KCkpOworICAgIEZ1bmN0aW9uQm9keU5vZGUqIGZ1bmN0aW9uID0gbi0+Ym9keSgpOworICAgIHVu
c2lnbmVkIGluZGV4ID0gbV9jb2RlQmxvY2stPmFkZEZ1bmN0aW9uRXhwcihtYWtlRnVuY3Rpb24o
ZnVuY3Rpb24pKTsKKyAgICAKKyAgICBlbWl0T3Bjb2RlKG9wX25ld19hcnJvd19mdW5jX2V4cCk7
CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHIwLT5pbmRleCgpKTsKKyAgICBpbnN0cnVjdGlv
bnMoKS5hcHBlbmQoc2NvcGVSZWdpc3RlcigpLT5pbmRleCgpKTsKKyAgICBpbnN0cnVjdGlvbnMo
KS5hcHBlbmQoaW5kZXgpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZCh0aGlzUmVnaXN0ZXIo
KS0+aW5kZXgoKSk7CisgICAgcmV0dXJuIHIwOworfQorI2VuZGlmCiAKIFJlZ2lzdGVySUQqIEJ5
dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3RGVmYXVsdENvbnN0cnVjdG9yKFJlZ2lzdGVySUQqIGRz
dCwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCwgY29uc3QgSWRlbnRpZmllciYgbmFt
ZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0
ZWNvZGVHZW5lcmF0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0
ZWNvZGVHZW5lcmF0b3IuaAppbmRleCAyZTU5MDM5ZDNhNDg0YTM0NzI4MTQ0MGVlZjljMWI4MTlm
NzI2NWRiLi4xNzkzNWQ0OGVmM2JmMmIyZDE0MWRmZGMxYWM5Mzc2NzkzMTQ0MmE1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9y
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVy
YXRvci5oCkBAIC00NTYsNiArNDU2LDEwIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBSZWdp
c3RlcklEKiBlbWl0TmV3RnVuY3Rpb25JbnRlcm5hbChSZWdpc3RlcklEKiBkc3QsIHVuc2lnbmVk
IGluZGV4KTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lvbihS
ZWdpc3RlcklEKiBkc3QsIEZ1bmNFeHByTm9kZSogZnVuYyk7CiAgICAgICAgIFJlZ2lzdGVySUQq
IGVtaXROZXdEZWZhdWx0Q29uc3RydWN0b3IoUmVnaXN0ZXJJRCogZHN0LCBDb25zdHJ1Y3Rvcktp
bmQsIGNvbnN0IElkZW50aWZpZXImIG5hbWUpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVz
c2lvbihSZWdpc3RlcklEKiwgRnVuY0V4cHJOb2RlKik7CisgICAgICAgIFJlZ2lzdGVySUQqIGVt
aXRUaGlzTm9kZUJ5dGVjb2RlKFJlZ2lzdGVySUQqLCBKU1RleHRQb3NpdGlvbik7CisjZW5kaWYK
ICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld1JlZ0V4cChSZWdpc3RlcklEKiBkc3QsIFJlZ0V4
cCopOwogCiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRNb3ZlRW1wdHlWYWx1ZShSZWdpc3RlcklE
KiBkc3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9O
b2Rlc0NvZGVnZW4uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rl
c0NvZGVnZW4uY3BwCmluZGV4IDExNDMyYWYyM2JiYjYxZTgxNTQyNTIzYjdjMTFhYTdiZGNiNWYz
YmYuLjYxYWVmMTQwOGM0MzZkNzRhYjA4ZjdhMmEwNjhjYzJiMWYwOGNjNTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKQEAg
LTI4MzEsNiArMjgzMSwxNCBAQCBSZWdpc3RlcklEKiBGdW5jRXhwck5vZGU6OmVtaXRCeXRlY29k
ZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3RlcklEKgogICAgIHJldHVybiBn
ZW5lcmF0b3IuZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lvbihnZW5lcmF0b3IuZmluYWxEZXN0aW5h
dGlvbihkc3QpLCB0aGlzKTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpICAgIAorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEFycm93RnVuY0V4cHJO
b2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUmVnaXN0ZXJJRCogQXJyb3dG
dW5jRXhwck5vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBS
ZWdpc3RlcklEKiBkc3QpCit7CisgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0TmV3QXJyb3dGdW5j
dGlvbkV4cHJlc3Npb24oZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0KSwgdGhpcyk7Cit9
CisjZW5kaWYKKyAgICAKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKIC8vIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBDbGFzc0RlY2xOb2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0J5dGVDb2RlUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNv
ZGVQYXJzZXIuY3BwCmluZGV4IDc5NDU2NmZjYWRmM2M0NDcwYmUyOGYyMWQwNDJmZWY4MGI2Yjk4
YzEuLmRlYWZiN2MzY2E3YjNlNGJjZGU1MjliZWM4MTU4NjZjYTNjM2MxMmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCkBAIC0zNjc1LDYg
KzM2NzUsMTUgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZCBsaW1p
dCkKICAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX25ld19mdW5jX2V4cCk7CiAgICAgICAgIH0K
IAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGNhc2Ugb3Bf
bmV3X2Fycm93X2Z1bmNfZXhwOiB7CisgICAgICAgICAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4
cHIgPSBtX2lubGluZVN0YWNrVG9wLT5tX3Byb2ZpbGVkQmxvY2stPmZ1bmN0aW9uRXhwcihjdXJy
ZW50SW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5kKTsKKyAgICAgICAgICAgIEZyb3plblZhbHVlKiBm
cm96ZW4gPSBtX2dyYXBoLmZyZWV6ZVN0cm9uZyhleHByKTsKKyAgICAgICAgICAgIHNldChWaXJ0
dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCksCisgICAgICAgICAg
ICAgICAgYWRkVG9HcmFwaChOZXdGdW5jdGlvbiwgT3BJbmZvKGZyb3plbiksIGdldChWaXJ0dWFs
UmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCkpKSk7CisgICAgICAgICAg
ICBORVhUX09QQ09ERShvcF9uZXdfYXJyb3dfZnVuY19leHApOworICAgICAgICB9CisjZW5kaWYK
ICAgICAgICAgY2FzZSBvcF90eXBlb2Y6IHsKICAgICAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0
ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCksCiAgICAgICAgICAgICAgICAgYWRk
VG9HcmFwaChUeXBlT2YsIGdldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJd
LnUub3BlcmFuZCkpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0NhcGFiaWxpdGllcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxp
dGllcy5jcHAKaW5kZXggOGVmNGRjZjE1NjhiZDVlZGE0Yjg5N2U3Njg0YThjYmI5MWJmNmUwOC4u
N2Y0NWE4MzFlYTZlNjI3M2JhY2QyZTNmODMzNmRkYzU2MmM4Y2M4ZCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcApAQCAtMjA4LDYgKzIwOCw5IEBA
IENhcGFiaWxpdHlMZXZlbCBjYXBhYmlsaXR5TGV2ZWwoT3Bjb2RlSUQgb3Bjb2RlSUQsIENvZGVC
bG9jayogY29kZUJsb2NrLCBJbnN0cnVjCiAgICAgY2FzZSBvcF9uZXdfZnVuYzoKICAgICBjYXNl
IG9wX25ld19mdW5jX2V4cDoKICAgICBjYXNlIG9wX2NyZWF0ZV9sZXhpY2FsX2Vudmlyb25tZW50
OgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2FzZSBvcF9uZXdf
YXJyb3dfZnVuY19leHA6CisjZW5kaWYKICAgICAgICAgcmV0dXJuIENhbkNvbXBpbGVBbmRJbmxp
bmU7CiAKICAgICBjYXNlIG9wX3B1dF90b19zY29wZTogewpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKaW5kZXggMzA5MmZjYjQwNDMyNDM1
ZDVjOGE2NDZjNjM4MTk0NDIxNzM0YzJiMC4uNzljOWI0NmY3N2I1ZmE3ODI3MzYxOWNlNjUyZjhl
MjdhNzA2NTFhOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVy
L0ludGVycHJldGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIv
SW50ZXJwcmV0ZXIuY3BwCkBAIC00NCw2ICs0NCw3IEBACiAjaW5jbHVkZSAiRXhjZXB0aW9uSGVs
cGVycy5oIgogI2luY2x1ZGUgIkdldHRlclNldHRlci5oIgogI2luY2x1ZGUgIkpTQXJyYXkuaCIK
KyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24u
aCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNMZXhpY2FsRW52aXJvbm1l
bnQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxwZXJz
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxsSGVscGVycy5oCmluZGV4IGZkMzQ0
YWRiY2FiYjE1ZmJkODE0ZWQ2ZmJkNDc4Zjc0YjYxNTc2M2MuLjA3YWNkNmQ1MzJkMzI4YWZkYjc3
YWNmMjAxMzM5MGVmMzlkZDlkNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvQ0NhbGxIZWxwZXJzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhl
bHBlcnMuaApAQCAtMjc0LDYgKzI3NCwxNSBAQCBwdWJsaWM6CiAgICAgICAgIGFkZENhbGxBcmd1
bWVudChhcmcyKTsKICAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzMpOwogICAgIH0KKyAgICAK
KyAgICBBTFdBWVNfSU5MSU5FIHZvaWQgc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKEdQUlJl
ZyBhcmcxLCBUcnVzdGVkSW1tUHRyIGFyZzIsIEdQUlJlZyBhcmczKQorICAgIHsKKyAgICAgICAg
cmVzZXRDYWxsQXJndW1lbnRzKCk7CisgICAgICAgIGFkZENhbGxBcmd1bWVudChHUFJJbmZvOjpj
YWxsRnJhbWVSZWdpc3Rlcik7CisgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmcxKTsKKyAgICAg
ICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzIpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMyk7
CisgICAgfQogCiAgICAgQUxXQVlTX0lOTElORSB2b2lkIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNT
dGF0ZShHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIsIFRydXN0ZWRJbW0zMiBhcmczKQogICAgIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAppbmRleCA0MmE4MmQ0Mzk0NjE2MmY5NWZhNDc0Njc1
NjcxMzlkNGFhZjIzODZiLi44M2Q1MDhiODc2NTllM2VmZjhiYzE4N2UwNmRhZDcwMTFmNDgyZWQw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCkBAIC0yNTMsNiArMjUzLDcgQEAgdm9pZCBK
SVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3MoKQogICAgICAgICBERUZJTkVfT1Aob3BfbmV3X2Fy
cmF5X2J1ZmZlcikKICAgICAgICAgREVGSU5FX09QKG9wX25ld19mdW5jKQogICAgICAgICBERUZJ
TkVfT1Aob3BfbmV3X2Z1bmNfZXhwKQorICAgICAgICBERUZJTkVfT1Aob3BfbmV3X2Fycm93X2Z1
bmNfZXhwKSAKICAgICAgICAgREVGSU5FX09QKG9wX25ld19vYmplY3QpCiAgICAgICAgIERFRklO
RV9PUChvcF9uZXdfcmVnZXhwKQogICAgICAgICBERUZJTkVfT1Aob3Bfbm90KQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklULmgKaW5kZXggZWU0ODU1ZGMyZTc4YjU1YWNjNDU5OWViZGI5OWEwZDhlMDhiZTdj
Yy4uZmFlMmYyNjkxNzczNWEyYmU0MzE0YjRmMTZlOGMxYjgwNGQ4OTVjNCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVC5oCkBAIC01MjIsNiArNTIyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
IHZvaWQgZW1pdF9vcF9uZXdfYXJyYXlfYnVmZmVyKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZv
aWQgZW1pdF9vcF9uZXdfZnVuYyhJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3Bf
bmV3X2Z1bmNfZXhwKEluc3RydWN0aW9uKik7CisgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfYXJy
b3dfZnVuY19leHAoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX25ld19vYmpl
Y3QoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX25ld19yZWdleHAoSW5zdHJ1
Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX25vdChJbnN0cnVjdGlvbiopOwpAQCAtNzA1
LDYgKzcwNiw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2Fs
bCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKSiwgaW50LCBHUFJSZWcsIEdQUlJlZyk7
CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRp
b25fRUpzYywgR1BSUmVnKTsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJh
dGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQywgaW50LCBHUFJSZWcsIEpTQ2VsbCopOworICAgICAg
ICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKc2ND
SiwgaW50LCBHUFJSZWcsIEpTQ2VsbCosIEdQUlJlZyk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVy
OjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUpzY1osIEdQUlJlZywgaW50MzJf
dCk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVy
YXRpb25fRUpzY1osIGludCwgR1BSUmVnLCBpbnQzMl90KTsKICNpZiBVU0UoSlNWQUxVRTY0KQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaAppbmRleCA5ZWUyNGQwOTIyOGE5ODgy
ZWE3Njk2MjlkMWE4N2I2YzM0YTg2MzM0Li5hMGU0MGM1YzYxZmU2M2U5ODYzZWQyMjNlZGY1ZDQ1
MWYzMThhNzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGlu
ZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaApAQCAtMjcx
LDYgKzI3MSwxMiBAQCBBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2Fs
bE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQyBvcGVyYQogICAgIHJldHVybiBhcHBlbmRD
YWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0SlNWYWx1ZVJlc3VsdChvcGVyYXRpb24sIGRzdCk7CiB9
CiAKK0FMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9u
KEpfSklUT3BlcmF0aW9uX0VKc2NDSiBvcGVyYXRpb24sIGludCBkc3QsIEdQUlJlZyBhcmcxLCBK
U0NlbGwqIGNlbGwsIEdQUlJlZyBhcmcyKQoreworICAgIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNT
dGF0ZShhcmcxLCBUcnVzdGVkSW1tUHRyKGNlbGwpLCBhcmcyKTsKKyAgICByZXR1cm4gYXBwZW5k
Q2FsbFdpdGhFeGNlcHRpb25DaGVja1NldEpTVmFsdWVSZXN1bHQob3BlcmF0aW9uLCBkc3QpOwor
fQorICAgIAogQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVy
YXRpb24oSl9KSVRPcGVyYXRpb25fRVAgb3BlcmF0aW9uLCBpbnQgZHN0LCB2b2lkKiBwb2ludGVy
KQogewogICAgIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHBvaW50
ZXIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCmluZGV4IGQzZDU4
MGU5ZTI2MDA4NTNiNjY0OWUyODU5MThmODUzOGJlNjk0NGMuLjZjYTAwMzBmOGM0YTIxMjIxYWE5
MjgzY2MyNzYxMzBkNzllNzQ0NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUT3Bjb2Rlcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNv
ZGVzLmNwcApAQCAtOTcyLDYgKzk3MiwyOSBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9uZXdfZnVuY19l
eHAoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKICAgICBjYWxsT3BlcmF0aW9uKG9w
ZXJhdGlvbk5ld0Z1bmN0aW9uLCBkc3QsIHJlZ1QwLCBmdW5jRXhwcik7CiAgICAgZG9uZS5saW5r
KHRoaXMpOwogfQorICAgIAordm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwKElu
c3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCit7CisgICAgSnVtcCBub3RVbmRlZmluZWRT
Y29wZTsKKyAgICBpbnQgZHN0ID0gY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZDsKKyNp
ZiBVU0UoSlNWQUxVRTY0KQorICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3Ry
dWN0aW9uWzJdLnUub3BlcmFuZCwgcmVnVDApOworICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIo
Y3VycmVudEluc3RydWN0aW9uWzRdLnUub3BlcmFuZCwgcmVnVDEpOworICAgIG5vdFVuZGVmaW5l
ZFNjb3BlID0gYnJhbmNoNjQoTm90RXF1YWwsIHJlZ1QwLCBUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6
ZW5jb2RlKGpzVW5kZWZpbmVkKCkpKSk7CisgICAgc3RvcmU2NChUcnVzdGVkSW1tNjQoSlNWYWx1
ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpKSwgQWRkcmVzcyhjYWxsRnJhbWVSZWdpc3Rlciwgc2l6
ZW9mKFJlZ2lzdGVyKSAqIGRzdCkpOworI2Vsc2UKKyAgICBlbWl0TG9hZFBheWxvYWQoY3VycmVu
dEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCwgcmVnVDApOworICAgIGVtaXRMb2FkUGF5bG9hZChj
dXJyZW50SW5zdHJ1Y3Rpb25bNF0udS5vcGVyYW5kLCByZWdUMSk7CisgICAgbm90VW5kZWZpbmVk
U2NvcGUgPSBicmFuY2gzMihOb3RFcXVhbCwgdGFnRm9yKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51
Lm9wZXJhbmQpLCBUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6VW5kZWZpbmVkVGFnKSk7CisgICAgZW1p
dFN0b3JlKGRzdCwganNVbmRlZmluZWQoKSk7CisjZW5kaWYKKyAgICBKdW1wIGRvbmUgPSBqdW1w
KCk7CisgICAgbm90VW5kZWZpbmVkU2NvcGUubGluayh0aGlzKTsKKyAgICAKKyAgICBGdW5jdGlv
bkV4ZWN1dGFibGUqIGZ1bmN0aW9uID0gbV9jb2RlQmxvY2stPmZ1bmN0aW9uRXhwcihjdXJyZW50
SW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5kKTsKKyAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbk5l
d0Fycm93RnVuY3Rpb24sIGRzdCwgcmVnVDAsIGZ1bmN0aW9uLCByZWdUMSk7CisgICAgZG9uZS5s
aW5rKHRoaXMpOworfQogCiB2b2lkIEpJVDo6ZW1pdF9vcF9uZXdfYXJyYXkoSW5zdHJ1Y3Rpb24q
IGN1cnJlbnRJbnN0cnVjdGlvbikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9w
ZXJhdGlvbnMuY3BwCmluZGV4IDVlOTBkNDg2YzUzZGIyZmI4N2UwODVjYzc4NWRjYTRjMmY2ZDRh
ZDcuLjcwMDVlNTNmYzVjZjNmYTE0MjhmYTMzNzQ5ODQ5MmE5ZDNiYjZhY2MgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcApAQCAtNDIsNiArNDIsOCBAQAog
I2luY2x1ZGUgIkhvc3RDYWxsUmV0dXJuVmFsdWUuaCIKICNpbmNsdWRlICJKSVQuaCIKICNpbmNs
dWRlICJKSVRUb0RGR0RlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjay5oIgorI2luY2x1ZGUgIkpT
QXJyb3dGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUg
IkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0NhdGNoU2NvcGUuaCIKICNpbmNsdWRlICJKU0Z1
bmN0aW9uTmFtZVNjb3BlLmgiCkBAIC05NTIsNiArOTU0LDIzIEBAIEVuY29kZWRKU1ZhbHVlIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3RnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBKU1Njb3Bl
KiBzY29wCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU0Z1bmN0aW9uOjpjcmVhdGUodm0s
IHN0YXRpY19jYXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KGZ1bmN0aW9uRXhlY3V0YWJsZSksIHNj
b3BlKSk7CiB9CiAKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJy
b3dGdW5jdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTU2NvcGUqIHNjb3BlLCBKU0NlbGwqIGZ1bmN0
aW9uRXhlY3V0YWJsZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlKQoreworI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgQVNTRVJUKGZ1bmN0aW9uRXhlY3V0YWJsZS0+
aW5oZXJpdHMoRnVuY3Rpb25FeGVjdXRhYmxlOjppbmZvKCkpKTsKKyAgICBWTSYgdm0gPSBleGVj
LT52bSgpOworICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKKyAg
ICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZXhlYy0+Y2FsbGVlKCktPmdsb2JhbE9i
amVjdCgpOworICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Fycm93RnVuY3Rpb246OmNyZWF0ZSh2
bSwgc2NvcGUsIHN0YXRpY19jYXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KGZ1bmN0aW9uRXhlY3V0
YWJsZSksIGdsb2JhbE9iamVjdCk7CisgICAgCisgICAgSlNBcnJheSogYm91bmRBcmdzID0gSlNB
cnJheTo6dHJ5Q3JlYXRlVW5pbml0aWFsaXplZCh2bSwgZ2xvYmFsT2JqZWN0LT5hcnJheVN0cnVj
dHVyZUZvckluZGV4aW5nVHlwZUR1cmluZ0FsbG9jYXRpb24oQXJyYXlXaXRoVW5kZWNpZGVkKSwg
MCk7CisgICAgCisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU0JvdW5kRnVuY3Rpb246OmNy
ZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBmdW5jLCBKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSwg
Ym91bmRBcmdzLCAwLCAiIikpOworI2Vsc2UKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpz
VW5kZWZpbmVkKCkpOworI2VuZGlmCit9CisgICAgCiBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uTmV3T2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiB7
CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3BlcmF0aW9ucy5oCmluZGV4IDRkZWNlZjRlYjhiNDhiYjkzN2Q1NGQwYjYwNGI5Yjc3NjdhNGVh
NjEuLjIzNjE2ZWUxZGVlMzJmZmRkZGFlNTE4OTYwNjk5NzA5MjY2ZWJjZWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCkBAIC0xMTYsNiArMTE2LDcgQEAgdHlw
ZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVBQKShF
eGVjU3RhdGUqLCB2b2lkKiwgdm8KIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElP
TiAoKkpfSklUT3BlcmF0aW9uX0VQUykoRXhlY1N0YXRlKiwgdm9pZCosIHNpemVfdCk7CiB0eXBl
ZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FUGMpKEV4
ZWNTdGF0ZSosIEluc3RydWN0aW9uKik7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVS
QVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FSnNjQykoRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2Vs
bCopOwordHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRp
b25fRUpzY0NKKShFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUp
OwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25f
RVNTKShFeGVjU3RhdGUqLCBzaXplX3QsIHNpemVfdCk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FU3NpQ0kpKEV4ZWNTdGF0ZSosIFN0cnVj
dHVyZVN0dWJJbmZvKiwgSlNDZWxsKiwgU3RyaW5nSW1wbCopOwogdHlwZWRlZiBFbmNvZGVkSlNW
YWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNzaUpJKShFeGVjU3RhdGUqLCBT
dHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlLCBTdHJpbmdJbXBsKik7CkBAIC0yNzgs
NiArMjc5LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJh
eVdpdGhQcm9maWxlKEV4ZWNTdGF0ZSosIEFycmF5QWxsb2MKIEVuY29kZWRKU1ZhbHVlIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXlCdWZmZXJXaXRoUHJvZmlsZShFeGVjU3RhdGUqLCBB
cnJheUFsbG9jYXRpb25Qcm9maWxlKiwgY29uc3QgSlNWYWx1ZSogdmFsdWVzLCBpbnQzMl90IHNp
emUpIFdURl9JTlRFUk5BTDsKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
TmV3QXJyYXlXaXRoU2l6ZUFuZFByb2ZpbGUoRXhlY1N0YXRlKiwgQXJyYXlBbGxvY2F0aW9uUHJv
ZmlsZSosIEVuY29kZWRKU1ZhbHVlIHNpemUpIFdURl9JTlRFUk5BTDsKIEVuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3RnVuY3Rpb24oRXhlY1N0YXRlKiwgSlNTY29wZSos
IEpTQ2VsbCopIFdURl9JTlRFUk5BTDsKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uTmV3QXJyb3dGdW5jdGlvbihFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKiwgRW5j
b2RlZEpTVmFsdWUpIFdURl9JTlRFUk5BTDsKIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRp
b25OZXdPYmplY3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlKikgV1RGX0lOVEVSTkFMOwogRW5jb2Rl
ZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdSZWdleHAoRXhlY1N0YXRlKiwgdm9p
ZCopIFdURl9JTlRFUk5BTDsKIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25IYW5kbGVXYXRj
aGRvZ1RpbWVyKEV4ZWNTdGF0ZSopIFdURl9JTlRFUk5BTDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCmluZGV4IDI3Yjk4Njk4ZmNhZGU5Yjk3YmQy
N2U3MzM2MzgwYWRmM2I1NzNiMzkuLjFjNjMwNjQzY2FjN2Q2Y2I2NWMwZWI2OGJkMDIxYmEwMDMw
YjA4M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQ
YXRocy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhz
LmNwcApAQCAtMzgsNiArMzgsOCBAQAogI2luY2x1ZGUgIkludGVycHJldGVyLmgiCiAjaW5jbHVk
ZSAiSklULmgiCiAjaW5jbHVkZSAiSklURXhjZXB0aW9ucy5oIgorI2luY2x1ZGUgIkpTQXJyb3dG
dW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTTGV4
aWNhbEVudmlyb25tZW50LmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpT
Q0pTVmFsdWUuaCIKQEAgLTE3MSw2ICsxNzMsMTUgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFj
ZSBMTEludCB7CiAgICAgICAgIExMSU5UX1JFVFVSTl9UV08ocGMsIF9fcmNmX2V4ZWMpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgfSB3aGlsZSAoZmFsc2UpCiAKKyAgICAK
KyNkZWZpbmUgTExJTlRfQ0FMQ19QUk9QRVJUWV9GT1JfRlVOQ19FWFBSKCkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIExMSU5UX0JFR0lOKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
Q29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVjLT5jb2RlQmxvY2soKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICBKU1Njb3BlKiBzY29wZSA9IGV4ZWMtPnVuY2hlY2tl
ZFIocGNbMl0udS5vcGVyYW5kKS5SZWdpc3Rlcjo6c2NvcGUoKTsgICAgICAgXAorICAgIEZ1bmN0
aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9IGNvZGVCbG9jay0+ZnVuY3Rpb25FeHByKHBjWzNd
LnUub3BlcmFuZCk7ICBcCisgICAgCitlbnVtIEZ1bmN0aW9uRXhwcmVzc2lvblR5cGUgeyBBcnJv
d0Z1bmN0aW9uRXhwcmVzc2lvblR5cGUsIENvbW1vbkZ1bmN0aW9uRXhwcmVzc2lvblR5cGV9Owor
ICAgIAogZXh0ZXJuICJDIiBTbG93UGF0aFJldHVyblR5cGUgbGxpbnRfdHJhY2Vfb3BlcmFuZChF
eGVjU3RhdGUqIGV4ZWMsIEluc3RydWN0aW9uKiBwYywgaW50IGZyb21XaGVyZSwgaW50IG9wZXJh
bmQpCiB7CiAgICAgTExJTlRfQkVHSU4oKTsKQEAgLTEwMDMsMTYgKzEwMTQsMzUgQEAgTExJTlRf
U0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX25ld19mdW5jKQogI2VuZGlmCiAgICAgTExJTlRfUkVU
VVJOKEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgY29kZUJsb2NrLT5mdW5jdGlvbkRlY2wocGNbM10u
dS5vcGVyYW5kKSwgc2NvcGUpKTsKIH0KLQorICAgIAogTExJTlRfU0xPV19QQVRIX0RFQ0woc2xv
d19wYXRoX25ld19mdW5jX2V4cCkKIHsKLSAgICBMTElOVF9CRUdJTigpOwotICAgIENvZGVCbG9j
ayogY29kZUJsb2NrID0gZXhlYy0+Y29kZUJsb2NrKCk7Ci0gICAgSlNTY29wZSogc2NvcGUgPSBl
eGVjLT51bmNoZWNrZWRSKHBjWzJdLnUub3BlcmFuZCkuUmVnaXN0ZXI6OnNjb3BlKCk7Ci0gICAg
RnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlvbiA9IGNvZGVCbG9jay0+ZnVuY3Rpb25FeHByKHBj
WzNdLnUub3BlcmFuZCk7Ci0gICAgSlNGdW5jdGlvbiogZnVuYyA9IEpTRnVuY3Rpb246OmNyZWF0
ZSh2bSwgZnVuY3Rpb24sIHNjb3BlKTsKKyAgICBMTElOVF9DQUxDX1BST1BFUlRZX0ZPUl9GVU5D
X0VYUFIoKTsKKworICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0s
IGV4ZWN1dGFibGUsIHNjb3BlKTsKKyAgICBMTElOVF9SRVRVUk4oZnVuYyk7Cit9CisKKworTExJ
TlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX25ld19hcnJvd19mdW5jX2V4cCkKK3sKKyAgICBM
TElOVF9DQUxDX1BST1BFUlRZX0ZPUl9GVU5DX0VYUFIoKTsKKworI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBMTElOVF9PUF9DKDQp
LmpzVmFsdWUoKTsKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZXhlYy0+Y2Fs
bGVlKCktPmdsb2JhbE9iamVjdCgpOwogICAgIAorICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Fy
cm93RnVuY3Rpb246OmNyZWF0ZSh2bSwgc2NvcGUsIGV4ZWN1dGFibGUsIGdsb2JhbE9iamVjdCk7
CisgICAgCisgICAgSlNBcnJheSogYm91bmRBcmdzID0gSlNBcnJheTo6dHJ5Q3JlYXRlVW5pbml0
aWFsaXplZCh2bSwgZ2xvYmFsT2JqZWN0LT5hcnJheVN0cnVjdHVyZUZvckluZGV4aW5nVHlwZUR1
cmluZ0FsbG9jYXRpb24oQXJyYXlXaXRoVW5kZWNpZGVkKSwgMCk7CisgICAgCisgICAgY29uc3Qg
U3RyaW5nIGZ1bmNXaXRob3V0TmFtZSA9ICIiOworICAgIAorICAgIExMSU5UX1JFVFVSTihKU0Jv
dW5kRnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBmdW5jLCB0aGlzVmFsdWUsIGJv
dW5kQXJncywgMCwgZnVuY1dpdGhvdXROYW1lKSk7CisjZWxzZQorICAgIEpTRnVuY3Rpb24qIGZ1
bmMgPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGV4ZWN1dGFibGUsIHNjb3BlKTsKICAgICBMTElO
VF9SRVRVUk4oZnVuYyk7CisjZW5kaWYKIH0KIAogc3RhdGljIFNsb3dQYXRoUmV0dXJuVHlwZSBo
YW5kbGVIb3N0Q2FsbChFeGVjU3RhdGUqIGV4ZWNDYWxsZWUsIEluc3RydWN0aW9uKiBwYywgSlNW
YWx1ZSBjYWxsZWUsIENvZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgKaW5kZXggNGJmN2RlYjBmYTBiNmM2NDM4
ZTM2Zjk2MzIwZTJmNjY5NzM5YWY2NC4uYzdmYWI5NjkxYzE4YjkzOTU2ZDBlYTI5ZjMzOTU2MTE4
YzVlNzFlZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xv
d1BhdGhzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhz
LmgKQEAgLTk2LDYgKzk2LDcgQEAgTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0
aF9zd2l0Y2hfY2hhcik7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3N3
aXRjaF9zdHJpbmcpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdf
ZnVuYyk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX25ld19mdW5jX2V4
cCk7CitMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX25ld19hcnJvd19mdW5j
X2V4cCk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX2NhbGwpOwogTExJ
TlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9jb25zdHJ1Y3QpOwogTExJTlRfU0xP
V19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9zaXplX2ZyYW1lX2Zvcl92YXJhcmdzKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bQppbmRleCBmZGE5MWVkNTk5MGNiNmU0ZjJjYjc4YWE2YTRiMmQ4YzJjMGM0NzJhLi44MjI3MTM0
OTgyZGI3NTgxZGM4YTIyNWNkNDIzMjgyMDA5MmZiNzNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCkBAIC0xMTcxLDYgKzEx
NzEsMTAgQEAgX2xsaW50X29wX25ld19mdW5jX2V4cDoKICAgICBjYWxsU2xvd1BhdGgoX2xsaW50
X3Nsb3dfcGF0aF9uZXdfZnVuY19leHApCiAgICAgZGlzcGF0Y2goNCkKIAorX2xsaW50X29wX25l
d19hcnJvd19mdW5jX2V4cDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2FsbFNsb3dQYXRo
KF9sbGludF9zbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKQorICAgIGRpc3BhdGNoKDUpCiAK
IF9sbGludF9vcF9jYWxsOgogICAgIHRyYWNlRXhlY3V0aW9uKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKaW5kZXggYjhmZTRiODQ4NWEwOTc2ODhmNWM2MzBiZDhj
M2M5Njc2NGZjNDY0OS4uZjJmYTNiZDljMTVmNGU0MjJlZWM2YTc5ZDY1ZjFkNzA4NmM2MmM3MyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKQEAgLTMxMyw2ICsz
MTMsMTkgQEAgcHVibGljOgogICAgICAgICAgICAgaW5TdHJpY3RDb250ZXh0LCBjb25zdHJ1Y3Rv
cktpbmQpOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgRXhwcmVzc2lvbk5vZGUqIGNyZWF0ZUFycm93RnVuY3Rpb25FeHByKGNvbnN0IEpTVG9rZW5M
b2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RCdWlsZGVyPiYg
aW5mbykKKyAgICB7CisgICAgICAgIFNvdXJjZUNvZGUgc291cmNlID0gaW5mby5mdW5jdGlvbkJv
ZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbgorICAgICAgICA/IG1fc291cmNl
Q29kZS0+c3ViQXJyb3dFeHByZXNzaW9uKGluZm8uYXJyb3dGdW5jdGlvbk9mZnNldCwgaW5mby5j
bG9zZUJyYWNlT2Zmc2V0LCBpbmZvLmJvZHlTdGFydExpbmUsIGluZm8uYm9keVN0YXJ0Q29sdW1u
KQorICAgICAgICA6IG1fc291cmNlQ29kZS0+c3ViRXhwcmVzc2lvbihpbmZvLm9wZW5CcmFjZU9m
ZnNldCwgaW5mby5jbG9zZUJyYWNlT2Zmc2V0LCBpbmZvLmJvZHlTdGFydExpbmUsIGluZm8uYm9k
eVN0YXJ0Q29sdW1uKTsKKworICAgICAgICBBcnJvd0Z1bmNFeHByTm9kZSogcmVzdWx0ID0gbmV3
IChtX3BhcnNlckFyZW5hKSBBcnJvd0Z1bmNFeHByTm9kZShsb2NhdGlvbiwgKmluZm8ubmFtZSwg
aW5mby5ib2R5LCBzb3VyY2UsIGluZm8ucGFyYW1ldGVycyk7CisgICAgICAgIGluZm8uYm9keS0+
c2V0TG9jKGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5RW5kTGluZSwgbG9jYXRpb24uc3Rh
cnRPZmZzZXQsIGxvY2F0aW9uLmxpbmVTdGFydE9mZnNldCk7CisgICAgICAgIHJldHVybiByZXN1
bHQ7CisgICAgfQorI2VuZGlmCisKICAgICBORVZFUl9JTkxJTkUgUHJvcGVydHlOb2RlKiBjcmVh
dGVHZXR0ZXJPclNldHRlclByb3BlcnR5KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24s
IFByb3BlcnR5Tm9kZTo6VHlwZSB0eXBlLCBib29sLAogICAgICAgICBjb25zdCBJZGVudGlmaWVy
KiBuYW1lLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88QVNUQnVpbGRlcj4mIGluZm8sIFN1cGVy
QmluZGluZyBzdXBlckJpbmRpbmcpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9MZXhlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xl
eGVyLmNwcAppbmRleCA3ZGUxNDIyMGJiZGE3MjczOGI1NzNhNGI5Nzg4Y2UwYjMyY2M3Y2UzLi41
NDBmOWZmYjdiYjUxODI5ZDY3ZGVlZGVjNWU2YThlZDUxY2M0NDE0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL0xleGVyLmNwcApAQCAtMTQzMCw2ICsxNDMwLDE4IEBAIGJvb2wgTGV4ZXI8
VD46Om5leHRUb2tlbklzQ29sb24oKQogICAgIHJldHVybiBjb2RlIDwgbV9jb2RlRW5kICYmICpj
b2RlID09ICc6JzsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0
ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK3ZvaWQgTGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24oSlNU
b2tlbiogdG9rZW5SZWNvcmQpCit7CisgICAgSlNUb2tlbkRhdGEqIHRva2VuRGF0YSA9ICZ0b2tl
blJlY29yZC0+bV9kYXRhOworICAgIHRva2VuRGF0YS0+bGluZSA9IGxpbmVOdW1iZXIoKTsKKyAg
ICB0b2tlbkRhdGEtPm9mZnNldCA9IGN1cnJlbnRPZmZzZXQoKTsKKyAgICB0b2tlbkRhdGEtPmxp
bmVTdGFydE9mZnNldCA9IGN1cnJlbnRMaW5lU3RhcnRPZmZzZXQoKTsKKyAgICBBU1NFUlQodG9r
ZW5EYXRhLT5vZmZzZXQgPj0gdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQpOworfQorI2VuZGlm
CisKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgogSlNUb2tlblR5cGUgTGV4ZXI8VD46OmxleChKU1Rv
a2VuKiB0b2tlblJlY29yZCwgdW5zaWduZWQgbGV4ZXJGbGFncywgYm9vbCBzdHJpY3RNb2RlKQog
ewpAQCAtMTQ5Myw3ICsxNTA1LDEyIEBAIHN0YXJ0OgogICAgICAgICB9CiAgICAgICAgIHRva2Vu
ID0gR1Q7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ2hhcmFjdGVyRXF1YWw6CisgICAgY2Fz
ZSBDaGFyYWN0ZXJFcXVhbDogeworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgICAgIHVpbnQzMl90IHNhdmVkbGluZU51bWJlciA9IHRva2VuRGF0YS0+bGluZTsKKyAg
ICAgICAgdWludDMyX3Qgc2F2ZWRPZmZzZXQgPSBjdXJyZW50T2Zmc2V0KCk7CisgICAgICAgIHVp
bnQzMl90IHNhdmVkTGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVTdGFydE9mZnNldCgpOwor
I2VuZGlmCiAgICAgICAgIHNoaWZ0KCk7CiAgICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJz0nKSB7
CiAgICAgICAgICAgICBzaGlmdCgpOwpAQCAtMTUwNSw4ICsxNTIyLDIyIEBAIHN0YXJ0OgogICAg
ICAgICAgICAgdG9rZW4gPSBFUUVROwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAobV9jdXJyZW50
ID09ICc+JykgeworICAgICAgICAgICAgc2hpZnQoKTsKKyAgICAgICAgICAgIHRva2VuID0gQVJS
T1dGVU5DVElPTjsKKworICAgICAgICAgICAgdG9rZW5EYXRhLT5saW5lID0gc2F2ZWRsaW5lTnVt
YmVyOworICAgICAgICAgICAgdG9rZW5EYXRhLT5vZmZzZXQgPSBzYXZlZE9mZnNldDsKKyAgICAg
ICAgICAgIHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0ID0gc2F2ZWRMaW5lU3RhcnRPZmZzZXQ7
CisKKyAgICAgICAgICAgIEFTU0VSVCh0b2tlbkRhdGEtPm9mZnNldCA+PSB0b2tlbkRhdGEtPmxp
bmVTdGFydE9mZnNldCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorI2VuZGlmCiAg
ICAgICAgIHRva2VuID0gRVFVQUw7CiAgICAgICAgIGJyZWFrOworICAgIH0KICAgICBjYXNlIENo
YXJhY3Rlckxlc3M6CiAgICAgICAgIHNoaWZ0KCk7CiAgICAgICAgIGlmIChtX2N1cnJlbnQgPT0g
JyEnICYmIHBlZWsoMSkgPT0gJy0nICYmIHBlZWsoMikgPT0gJy0nKSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL0xleGVyLmgKaW5kZXggMmRmNTIxMzk5NTc4MjAwNzg1YTE2NmUyMmE3MzI3NWUw
ZWE2MzA0ZC4uY2IzZjI1ZjdjMDhmODI1ODFhZjJjZThmYTk5OTk3ZmFkZTA3NjZmMiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaApAQCAtODUsNiArODUsOSBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzZXRJc1JlcGFyc2luZygpIHsgbV9pc1JlcGFyc2luZyA9IHRydWU7IH0KICAgICBi
b29sIGlzUmVwYXJzaW5nKCkgY29uc3QgeyByZXR1cm4gbV9pc1JlcGFyc2luZzsgfQogCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2b2lkIHNldFRva2VuUG9zaXRp
b24oSlNUb2tlbiogdG9rZW5SZWNvcmQpOworI2VuZGlmCiAgICAgSlNUb2tlblR5cGUgbGV4KEpT
VG9rZW4qLCB1bnNpZ25lZCwgYm9vbCBzdHJpY3RNb2RlKTsKICAgICBib29sIG5leHRUb2tlbklz
Q29sb24oKTsKICAgICBpbnQgbGluZU51bWJlcigpIGNvbnN0IHsgcmV0dXJuIG1fbGluZU51bWJl
cjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3Ry
dWN0b3JzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMu
aAppbmRleCAzYmRhYjYxYTUyMmUwY2UyYzMzOTdmODBmNGZhMTg0ZDFkNDIxNjBlLi5iNThlMWZl
MWFmOTBlNjYwYjA4NDJlYTdlOTlmMDdhZTZhY2JiOTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaApAQCAtNzgxLDYgKzc4MSwxMyBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgbV9ib2R5LT5maW5pc2hQYXJzaW5nKHNvdXJjZSwgcGFy
YW1ldGVyLCBpZGVudCwgRnVuY3Rpb25FeHByZXNzaW9uKTsKICAgICB9CiAKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlubGluZSBBcnJvd0Z1bmNFeHByTm9kZTo6
QXJyb3dGdW5jRXhwck5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29uc3Qg
SWRlbnRpZmllciYgaWRlbnQsIEZ1bmN0aW9uQm9keU5vZGUqIGJvZHksIGNvbnN0IFNvdXJjZUNv
ZGUmIHNvdXJjZSwgUGFyYW1ldGVyTm9kZSogcGFyYW1ldGVyKQorICAgICAgICA6IEZ1bmNFeHBy
Tm9kZShsb2NhdGlvbiwgaWRlbnQsIGJvZHksIHNvdXJjZSwgcGFyYW1ldGVyKQorICAgIHsKKyAg
ICB9CisjZW5kaWYKKyAgICAKICAgICBpbmxpbmUgRnVuY0RlY2xOb2RlOjpGdW5jRGVjbE5vZGUo
Y29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQs
IEZ1bmN0aW9uQm9keU5vZGUqIGJvZHksIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgUGFyYW1l
dGVyTm9kZSogcGFyYW1ldGVyKQogICAgICAgICA6IFN0YXRlbWVudE5vZGUobG9jYXRpb24pCiAg
ICAgICAgICwgbV9ib2R5KGJvZHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL05vZGVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKaW5k
ZXggNmIzNzMyOWMwOWJmYzQyYmVjY2MzY2FhOTgzNTk3YzM1NDAyYjZjOS4uNWI3NzQxZTFjY2M4
ZDUxNWZmMTRjMTUzMTcyZDdiZGEwNTNmNTg2OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9Ob2Rlcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
Tm9kZXMuaApAQCAtMTU4LDYgKzE1OCw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2aXJ0
dWFsIGJvb2wgaXNEb3RBY2Nlc3Nvck5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAg
ICAgICB2aXJ0dWFsIGJvb2wgaXNEZWNvbnN0cnVjdGlvbk5vZGUoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNGdW5jRXhwck5vZGUoKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAg
ICAgIHZpcnR1YWwgYm9vbCBpc0Fycm93RnVuY0V4cHJOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KKyNlbmRpZgogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNDb21tYU5vZGUoKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNTaW1wbGVBcnJheSgpIGNv
bnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0FkZCgpIGNvbnN0
IHsgcmV0dXJuIGZhbHNlOyB9CkBAIC0xNjUyLDYgKzE2NTUsMTkgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgICAgIEZ1bmN0aW9uQm9keU5vZGUqIG1fYm9keTsKICAgICB9OwogCisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjbGFzcyBBcnJvd0Z1bmNFeHByTm9kZSA6
IHB1YmxpYyBGdW5jRXhwck5vZGUgeworICAgIHB1YmxpYzoKKyAgICAgICAgQXJyb3dGdW5jRXhw
ck5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgSWRlbnRpZmllciYsIEZ1bmN0aW9u
Qm9keU5vZGUqLCBjb25zdCBTb3VyY2VDb2RlJiwgUGFyYW1ldGVyTm9kZSogPSAwKTsKKyAgICBw
cml2YXRlOgorICAgICAgICB2aXJ0dWFsIFJlZ2lzdGVySUQqIGVtaXRCeXRlY29kZShCeXRlY29k
ZUdlbmVyYXRvciYsIFJlZ2lzdGVySUQqID0gMCkgb3ZlcnJpZGU7CisgICAgICAgIAorICAgICAg
ICB2aXJ0dWFsIGJvb2wgaXNGdW5jRXhwck5vZGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBm
YWxzZTsgfQorICAgICAgICAKKyAgICAgICAgdmlydHVhbCBib29sIGlzQXJyb3dGdW5jRXhwck5v
ZGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CisgICAgfTsKKyNlbmRpZgorCiAj
aWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAgICAgY2xhc3MgQ2xhc3NFeHByTm9kZSBmaW5h
bCA6IHB1YmxpYyBFeHByZXNzaW9uTm9kZSB7CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9QYXJzZXIuY3BwCmluZGV4IDY0NzgyMGFkODNkZjQ0M2QzMGQwNGNmYWUyMjU0
ZmFlYzk3MDdhYjUuLmViNjM0ZDAxMjhhYmVjMThjZTRlMzBlMjZhMmZlODBiMzI5OTgyZWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKQEAgLTI2NCw3ICsyNjQsNyBA
QCBTdHJpbmcgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW5uZXIoKQogICAgIGlmIChtX2xleGVy
LT5pc1JlcGFyc2luZygpKQogICAgICAgICBtX3N0YXRlbWVudERlcHRoLS07CiAgICAgU2NvcGVS
ZWYgc2NvcGUgPSBjdXJyZW50U2NvcGUoKTsKLSAgICBTb3VyY2VFbGVtZW50cyogc291cmNlRWxl
bWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIENoZWNrRm9yU3RyaWN0TW9kZSk7
CisgICAgU291cmNlRWxlbWVudHMqIHNvdXJjZUVsZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50
cyhjb250ZXh0LCBDaGVja0ZvclN0cmljdE1vZGUsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUp
OwogICAgIGlmICghc291cmNlRWxlbWVudHMgfHwgIWNvbnN1bWUoRU9GVE9LKSkgewogICAgICAg
ICBpZiAoaGFzRXJyb3IoKSkKICAgICAgICAgICAgIHBhcnNlRXJyb3IgPSBtX2Vycm9yTWVzc2Fn
ZTsKQEAgLTMzMCw3ICszMzAsNyBAQCBib29sIFBhcnNlcjxMZXhlclR5cGU+OjphbGxvd0F1dG9t
YXRpY1NlbWljb2xvbigpCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Ci10ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYgY29udGV4dCwgU291cmNlRWxl
bWVudHNNb2RlIG1vZGUpCit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VF
bGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRl
ciYgY29udGV4dCwgU291cmNlRWxlbWVudHNNb2RlIG1vZGUsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1
bmN0aW9uUGFyc2VUeXBlKQogewogICAgIGNvbnN0IHVuc2lnbmVkIGxlbmd0aE9mVXNlU3RyaWN0
TGl0ZXJhbCA9IDEyOyAvLyAidXNlIHN0cmljdCIubGVuZ3RoCiAgICAgVHJlZVNvdXJjZUVsZW1l
bnRzIHNvdXJjZUVsZW1lbnRzID0gY29udGV4dC5jcmVhdGVTb3VyY2VFbGVtZW50cygpOwpAQCAt
MzM5LDcgKzMzOSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVs
ZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsCiAgICAgdW5zaWduZWQgZGly
ZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDA7CiAgICAgYXV0byBzYXZlUG9pbnQgPSBjcmVhdGVTYXZl
UG9pbnQoKTsKICAgICBib29sIGhhc1NldFN0cmljdCA9IGZhbHNlOwotICAgIHdoaWxlIChUcmVl
U3RhdGVtZW50IHN0YXRlbWVudCA9IHBhcnNlU3RhdGVtZW50KGNvbnRleHQsIGRpcmVjdGl2ZSwg
JmRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgpKSB7CisgICAgd2hpbGUgKFRyZWVTdGF0ZW1lbnQgc3Rh
dGVtZW50ID0gcGFyc2VTdGF0ZW1lbnQoY29udGV4dCwgZGlyZWN0aXZlLCAmZGlyZWN0aXZlTGl0
ZXJhbExlbmd0aCwgZnVuY3Rpb25QYXJzZVR5cGUpKSB7CiAgICAgICAgIGlmIChtb2RlID09IENo
ZWNrRm9yU3RyaWN0TW9kZSAmJiAhc2Vlbk5vbkRpcmVjdGl2ZSkgewogICAgICAgICAgICAgaWYg
KGRpcmVjdGl2ZSkgewogICAgICAgICAgICAgICAgIC8vICJ1c2Ugc3RyaWN0IiBtdXN0IGJlIHRo
ZSBleGFjdCBsaXRlcmFsIHdpdGhvdXQgZXNjYXBlIHNlcXVlbmNlcyBvciBsaW5lIGNvbnRpbnVh
dGlvbi4KQEAgLTU3MSw2ICs1NzEsMzEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIFBhcnNlcjxMZXhlclR5cGU+OjpjcmVhdGUKICAgICBy
ZXR1cm4gY29udGV4dC5jcmVhdGVCaW5kaW5nTG9jYXRpb24odG9rZW4ubV9sb2NhdGlvbiwgbmFt
ZSwgdG9rZW4ubV9zdGFydFBvc2l0aW9uLCB0b2tlbi5tX2VuZFBvc2l0aW9uKTsKIH0KIAorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4
ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNv
bnRleHQpCit7CisgICAgQVNTRVJUKG1hdGNoKEFSUk9XRlVOQ1RJT04pKTsKKworICAgIEpTVG9r
ZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgIEpTVGV4dFBvc2l0aW9u
IHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgSlNUZXh0UG9zaXRpb24gZW5kID0g
dG9rZW5FbmRQb3NpdGlvbigpOworCisgICAgbmV4dCgpOworICAgIFRyZWVFeHByZXNzaW9uIGV4
cHIgPSBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKGNvbnRleHQpOworICAgIGZhaWxJZkZh
bHNlKGV4cHIsICJDYW5ub3QgcGFyc2UgdGhlIGFycm93IGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsK
KyAgICBlbmQgPSBsYXN0VG9rZW5FbmRQb3NpdGlvbigpOworCisgICAgYm9vbCBjb3JyZWN0QXJy
b3dGaW5pc2ggPSBpc0VuZE9mQXJyb3dGdW5jdGlvbigpIHx8IG1hdGNoKEVPRlRPSyk7CisgICAg
ZmFpbElmRmFsc2UoY29ycmVjdEFycm93RmluaXNoLCAiRXhwZWN0ZWQgYSAnOycsICddJywgJ30n
LCAnKScsIG9yICcsJyBmb2xsb3dpbmcgYSBhcnJvdyBmdW5jdGlvbiBzdGF0ZW1lbnQiKTsKKwor
ICAgIGVuZCA9IHRva2VuRW5kUG9zaXRpb24oKTsKKyAgICBzZXRFbmRPZlN0YXRlbWVudCgpOwor
CisgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUmV0dXJuU3RhdGVtZW50KGxvY2F0aW9uLCBleHBy
LCBzdGFydCwgZW5kKTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBl
PgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJu
IFBhcnNlcjxMZXhlclR5cGU+Ojp0cnlQYXJzZURlY29uc3RydWN0aW9uUGF0dGVybkV4cHJlc3Np
b24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7CkBAIC0xMDE4LDcgKzEwNDMsNyBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVDbGF1c2VMaXN0IFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZVN3aXRjaENsYXVzZQogICAgIFRyZWVFeHByZXNzaW9uIGNvbmRpdGlvbiA9IHBhcnNlRXhw
cmVzc2lvbihjb250ZXh0KTsKICAgICBmYWlsSWZGYWxzZShjb25kaXRpb24sICJDYW5ub3QgcGFy
c2Ugc3dpdGNoIGNsYXVzZSIpOwogICAgIGNvbnN1bWVPckZhaWwoQ09MT04sICJFeHBlY3RlZCBh
ICc6JyBhZnRlciBzd2l0Y2ggY2xhdXNlIGV4cHJlc3Npb24iKTsKLSAgICBUcmVlU291cmNlRWxl
bWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgRG9udENoZWNr
Rm9yU3RyaWN0TW9kZSk7CisgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJz
ZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUsIFN0YW5kYXJk
RnVuY3Rpb25QYXJzZVR5cGUpOwogICAgIGZhaWxJZkZhbHNlKHN0YXRlbWVudHMsICJDYW5ub3Qg
cGFyc2UgdGhlIGJvZHkgb2YgYSBzd2l0Y2ggY2xhdXNlIik7CiAgICAgVHJlZUNsYXVzZSBjbGF1
c2UgPSBjb250ZXh0LmNyZWF0ZUNsYXVzZShjb25kaXRpb24sIHN0YXRlbWVudHMpOwogICAgIGNv
bnRleHQuc2V0U3RhcnRPZmZzZXQoY2xhdXNlLCBzdGFydE9mZnNldCk7CkBAIC0xMDMxLDcgKzEw
NTYsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVDbGF1c2VMaXN0IFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZVN3aXRjaENsYXVzZQogICAgICAgICBUcmVlRXhwcmVzc2lvbiBj
b25kaXRpb24gPSBwYXJzZUV4cHJlc3Npb24oY29udGV4dCk7CiAgICAgICAgIGZhaWxJZkZhbHNl
KGNvbmRpdGlvbiwgIkNhbm5vdCBwYXJzZSBzd2l0Y2ggY2FzZSBleHByZXNzaW9uIik7CiAgICAg
ICAgIGNvbnN1bWVPckZhaWwoQ09MT04sICJFeHBlY3RlZCBhICc6JyBhZnRlciBzd2l0Y2ggY2xh
dXNlIGV4cHJlc3Npb24iKTsKLSAgICAgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN0YXRlbWVudHMg
PSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUpOwor
ICAgICAgICBUcmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVu
dHMoY29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNl
VHlwZSk7CiAgICAgICAgIGZhaWxJZkZhbHNlKHN0YXRlbWVudHMsICJDYW5ub3QgcGFyc2UgdGhl
IGJvZHkgb2YgYSBzd2l0Y2ggY2xhdXNlIik7CiAgICAgICAgIGNsYXVzZSA9IGNvbnRleHQuY3Jl
YXRlQ2xhdXNlKGNvbmRpdGlvbiwgc3RhdGVtZW50cyk7CiAgICAgICAgIGNvbnRleHQuc2V0U3Rh
cnRPZmZzZXQoY2xhdXNlLCBzdGFydE9mZnNldCk7CkBAIC0xMDQ4LDcgKzEwNzMsNyBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVDbGF1c2UgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlU3dpdGNoRGVmYXVsdENsYQogICAgIHVuc2lnbmVkIHN0YXJ0T2Zmc2V0ID0gdG9rZW5TdGFy
dCgpOwogICAgIG5leHQoKTsKICAgICBjb25zdW1lT3JGYWlsKENPTE9OLCAiRXhwZWN0ZWQgYSAn
OicgYWZ0ZXIgc3dpdGNoIGRlZmF1bHQgY2xhdXNlIik7Ci0gICAgVHJlZVNvdXJjZUVsZW1lbnRz
IHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0
cmljdE1vZGUpOworICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3Vy
Y2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0
aW9uUGFyc2VUeXBlKTsKICAgICBmYWlsSWZGYWxzZShzdGF0ZW1lbnRzLCAiQ2Fubm90IHBhcnNl
IHRoZSBib2R5IG9mIGEgc3dpdGNoIGRlZmF1bHQgY2xhdXNlIik7CiAgICAgVHJlZUNsYXVzZSBy
ZXN1bHQgPSBjb250ZXh0LmNyZWF0ZUNsYXVzZSgwLCBzdGF0ZW1lbnRzKTsKICAgICBjb250ZXh0
LnNldFN0YXJ0T2Zmc2V0KHJlc3VsdCwgc3RhcnRPZmZzZXQpOwpAQCAtMTEzMyw3ICsxMTU4LDcg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZUJsb2NrU3RhdGVtZW4KICAgICAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQo
cmVzdWx0LCBlbmRPZmZzZXQpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KLSAgICBU
cmVlU291cmNlRWxlbWVudHMgc3VidHJlZSA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwg
RG9udENoZWNrRm9yU3RyaWN0TW9kZSk7CisgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN1YnRyZWUg
PSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUsIFN0
YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwogICAgIGZhaWxJZkZhbHNlKHN1YnRyZWUsICJDYW5u
b3QgcGFyc2UgdGhlIGJvZHkgb2YgdGhlIGJsb2NrIHN0YXRlbWVudCIpOwogICAgIG1hdGNoT3JG
YWlsKENMT1NFQlJBQ0UsICJFeHBlY3RlZCBhIGNsb3NpbmcgJ30nIGF0IHRoZSBlbmQgb2YgYSBi
bG9jayBzdGF0ZW1lbnQiKTsKICAgICBpbnQgZW5kT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zm
c2V0OwpAQCAtMTE0NSw3ICsxMTcwLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUJsb2NrU3RhdGVtZW4KIH0KIAog
dGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KLXRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1
aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBk
aXJlY3RpdmVMaXRlcmFsTGVuZ3RoKQordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
U3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYg
Y29udGV4dCwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2
ZUxpdGVyYWxMZW5ndGgsIEZ1bmN0aW9uUGFyc2VUeXBlIHR5cGUpCiB7CiAgICAgRGVwdGhNYW5h
Z2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKICAgICBtX3N0YXRlbWVudERl
cHRoKys7CkBAIC0xMTU0LDYgKzExNzksMjMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmUKICAg
ICBmYWlsSWZTdGFja092ZXJmbG93KCk7CiAgICAgVHJlZVN0YXRlbWVudCByZXN1bHQgPSAwOwog
ICAgIGJvb2wgc2hvdWxkU2V0RW5kT2Zmc2V0ID0gdHJ1ZTsKKworI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisgICAgaWYgKHR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlw
ZSkgeworICAgICAgICBzd2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7CisgICAgICAgIGNhc2UgQ0xP
U0VQQVJFTjoKKyAgICAgICAgY2FzZSBDTE9TRUJSQUNLRVQ6CisgICAgICAgIGNhc2UgQ09NTUE6
CisgICAgICAgIGNhc2UgU0VNSUNPTE9OOiB7CisgICAgICAgICAgICByZXN1bHQgPSAwOworICAg
ICAgICAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQocmVzdWx0LCBtX2xhc3RUb2tlbkVuZFBvc2l0
aW9uLm9mZnNldCk7CisgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICB9CisgICAg
ICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKyNlbmRp
ZgogICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKICAgICBjYXNlIE9QRU5CUkFDRToKICAg
ICAgICAgcmVzdWx0ID0gcGFyc2VCbG9ja1N0YXRlbWVudChjb250ZXh0KTsKQEAgLTExOTksNiAr
MTI0MSwxMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAgIGNhc2UgQlJFQUs6CiAgICAg
ICAgIHJlc3VsdCA9IHBhcnNlQnJlYWtTdGF0ZW1lbnQoY29udGV4dCk7CiAgICAgICAgIGJyZWFr
OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2FzZSBBUlJPV0ZV
TkNUSU9OOgorICAgICAgICByZXN1bHQgPSBwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoY29u
dGV4dCk7CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgY2FzZSBSRVRVUk46CiAgICAgICAg
IHJlc3VsdCA9IHBhcnNlUmV0dXJuU3RhdGVtZW50KGNvbnRleHQpOwogICAgICAgICBicmVhazsK
QEAgLTEyNjMsMjAgKzEzMTAsMzQgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
Rm9ybWFsUGFyYW1ldGVyTGlzdCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGb3IKIHRlbXBsYXRl
IDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVG
dW5jdGlvbkJvZHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25Cb2R5KAogICAgIFRy
ZWVCdWlsZGVyJiBjb250ZXh0LCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlv
bk5hbWVTdGFydCwgCi0gICAgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kIGNv
bnN0cnVjdG9yS2luZCkKKyAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQg
Y29uc3RydWN0b3JLaW5kLCBGdW5jdGlvblBhcnNlVHlwZSBwYXJzZVR5cGUpCiB7CiAgICAgSlNU
b2tlbkxvY2F0aW9uIHN0YXJ0TG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKICAgICB1bnNpZ25l
ZCBzdGFydENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBlID09IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5
cGUpIHsKKyAgICAgICAgbmV4dCgpOworICAgICAgICBpZiAobWF0Y2goQ0xPU0VCUkFDRSkpIHsK
KyAgICAgICAgICAgIHVuc2lnbmVkIGVuZENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CisgICAgICAg
ICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgdG9r
ZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBmdW5jdGlvbktleXdvcmRTdGFy
dCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgc3RyaWN0TW9kZSgpLCBjb25z
dHJ1Y3RvcktpbmQpOworICAgICAgICB9CisgICAgfQorI2Vsc2UKICAgICBuZXh0KCk7Ci0KICAg
ICBpZiAobWF0Y2goQ0xPU0VCUkFDRSkpIHsKICAgICAgICAgdW5zaWduZWQgZW5kQ29sdW1uID0g
dG9rZW5Db2x1bW4oKTsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5
KHN0YXJ0TG9jYXRpb24sIHRva2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwg
ZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQs
IHN0cmljdE1vZGUoKSwgY29uc3RydWN0b3JLaW5kKTsKICAgICB9CisjZW5kaWYKKwogICAgIERl
cHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7CiAgICAgbV9zdGF0
ZW1lbnREZXB0aCA9IDA7CiAgICAgdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkZ1bmN0aW9uQm9keUJ1
aWxkZXIgYm9keUJ1aWxkZXIoY29uc3RfY2FzdDxWTSo+KG1fdm0pLCBtX2xleGVyLmdldCgpKTsK
LSAgICBmYWlsSWZGYWxzZShwYXJzZVNvdXJjZUVsZW1lbnRzKGJvZHlCdWlsZGVyLCBDaGVja0Zv
clN0cmljdE1vZGUpLCAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBmdW5jdGlvbiIpOworI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgZmFpbElmRmFsc2UocGFyc2VT
b3VyY2VFbGVtZW50cyhib2R5QnVpbGRlciwgQ2hlY2tGb3JTdHJpY3RNb2RlLCBwYXJzZVR5cGUp
LCBwYXJzZVR5cGUgPT0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSA/ICJDYW5ub3QgcGFyc2Ug
Ym9keSBvZiB0aGlzIGZ1bmN0aW9uIiA6ICJDYW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGFycm93
IGZ1bmN0aW9uIik7CisjZWxzZQorICAgIGZhaWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMo
Ym9keUJ1aWxkZXIsIENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlw
ZSksICJDYW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGZ1bmN0aW9uIik7CisjZW5kaWYKICAgICB1
bnNpZ25lZCBlbmRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOwogICAgIHJldHVybiBjb250ZXh0LmNy
ZWF0ZUZ1bmN0aW9uQm9keShzdGFydExvY2F0aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0YXJ0Q29s
dW1uLCBlbmRDb2x1bW4sIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwg
cGFyYW1ldGVyc1N0YXJ0LCBzdHJpY3RNb2RlKCksIGNvbnN0cnVjdG9yS2luZCk7CiB9CkBAIC0x
MzM3LDI4ICsxMzk4LDc0IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+IHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gaW50IFBhcnNlcjxMZXhlclR5cGU+CiAgICAgCiAgICAgcmV0
dXJuIHBhcmFtZXRlcnNTdGFydDsKIH0KKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPiB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IGludCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uUGFyYW10
ZXJzKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLCBQYXJzZXJG
dW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvKQoreworICAgIGludCBwYXJhbWV0ZXJzU3Rh
cnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CisgICAgaWYgKCFtYXRjaChJREVO
VCkgJiYgIW1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgc2VtYW50aWNGYWlsdXJlRHVlVG9L
ZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7CisgICAgICAgIGZh
aWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgYW4gYXJyb3cgZnVuY3Rpb24gaW5wdXQgcGFyYW1ldGVy
Iik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAg
ICAgICAgIGNvbnN1bWUoT1BFTlBBUkVOKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYg
KCFtYXRjaChDTE9TRVBBUkVOKSkgeworICAgICAgICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9
IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhjb250ZXh0KTsKKyAgICAgICAgICAgICAgICBmYWlsSWZG
YWxzZShpbmZvLnBhcmFtZXRlcnMsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAi
LCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOworICAgICAgICAgICAgfQorICAgICAgICAg
ICAgCisgICAgICAgICAgICBjb25zdW1lT3JGYWlsKENMT1NFUEFSRU4sICJFeHBlY3RlZCBhICcp
JyBvciBhICcsJyBhZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgYXV0byBwYXJhbWV0ZXIgPSBwYXJzZURlY29uc3RydWN0aW9uUGF0
dGVybihjb250ZXh0LCBEZWNvbnN0cnVjdFRvUGFyYW1ldGVycyk7CisgICAgICAgICAgICBmYWls
SWZGYWxzZShwYXJhbWV0ZXIsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVyIHBhdHRlcm4iKTsKKyAg
ICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9IGNvbnRleHQuY3JlYXRlRm9ybWFsUGFyYW1ldGVy
TGlzdChwYXJhbWV0ZXIpOworICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJz
LCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25N
b2RlKG1vZGUpKTsKKyAgICAgICAgfQorICAgIH0KICAgICAKKyAgICByZXR1cm4gcGFyYW1ldGVy
c1N0YXJ0OworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVu
Y3Rpb25JbmZvKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblJlcXVpcmVtZW50cyByZXF1
aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUsCi0gICAgYm9vbCBuYW1lSXNJbkNvbnRh
aW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kIG93bmVyQ2xhc3NLaW5kLCBpbnQgZnVuY3Rpb25L
ZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mIGluZm8pCisgICAg
Ym9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kIG93bmVyQ2xhc3NL
aW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVp
bGRlcj4mIGluZm8sIEZ1bmN0aW9uUGFyc2VUeXBlIHBhcnNlVHlwZSkKIHsKICAgICBBdXRvUG9w
U2NvcGVSZWYgZnVuY3Rpb25TY29wZSh0aGlzLCBwdXNoU2NvcGUoKSk7CiAgICAgZnVuY3Rpb25T
Y29wZS0+c2V0SXNGdW5jdGlvbigpOwogICAgIGludCBmdW5jdGlvbk5hbWVTdGFydCA9IG1fdG9r
ZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKICAgICBjb25zdCBJZGVudGlmaWVyKiBsYXN0RnVu
Y3Rpb25OYW1lID0gbV9sYXN0RnVuY3Rpb25OYW1lOwogICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9
IG51bGxwdHI7CisgICAgaW50IHBhcmFtZXRlcnNTdGFydDsKKyAgICBib29sIGlzQ2xhc3NDb25z
dHJ1Y3RvcjsKICAgICAKLSAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0ID0gcGFyc2VGdW5jdGlvblBh
cmFtdGVycyhjb250ZXh0LCByZXF1aXJlbWVudHMsIG1vZGUsIG5hbWVJc0luQ29udGFpbmluZ1Nj
b3BlLCBmdW5jdGlvblNjb3BlLCBpbmZvKTsKLQotICAgIG1hdGNoT3JGYWlsKE9QRU5CUkFDRSwg
IkV4cGVjdGVkIGFuIG9wZW5pbmcgJ3snIGF0IHRoZSBzdGFydCBvZiBhICIsIHN0cmluZ0ZvckZ1
bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7Ci0KLSAgICAvLyBCeXRlY29kZUdlbmVyYXRvciBl
bWl0cyBjb2RlIHRvIHRocm93IFR5cGVFcnJvciB3aGVuIGEgY2xhc3MgY29uc3RydWN0b3IgaXMg
ImNhbGwiZWQuCi0gICAgLy8gU2V0IENvbnN0cnVjdG9yS2luZCB0byBOb25lIGZvciBub24tY29u
c3RydWN0b3IgbWV0aG9kcyBvZiBjbGFzc2VzLgotICAgIGJvb2wgaXNDbGFzc0NvbnN0cnVjdG9y
ID0gbW9kZSA9PSBNZXRob2RNb2RlICYmIGluZm8ubmFtZSAmJiAqaW5mby5uYW1lID09IG1fdm0t
PnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yOwotICAgIGlmIChtX2RlZmF1bHRDb25zdHJ1Y3Rv
cktpbmQgIT0gQ29uc3RydWN0b3JLaW5kOjpOb25lKSB7Ci0gICAgICAgIG93bmVyQ2xhc3NLaW5k
ID0gbV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kOwotICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3Ig
PSB0cnVlOworICAgIHN3aXRjaCAocGFyc2VUeXBlKSB7CisgICAgY2FzZSBTdGFuZGFyZEZ1bmN0
aW9uUGFyc2VUeXBlOiB7CisgICAgICAgIHBhcmFtZXRlcnNTdGFydCA9IHBhcnNlRnVuY3Rpb25Q
YXJhbXRlcnMoY29udGV4dCwgcmVxdWlyZW1lbnRzLCBtb2RlLCBuYW1lSXNJbkNvbnRhaW5pbmdT
Y29wZSwgZnVuY3Rpb25TY29wZSwgaW5mbyk7CisgICAgICAgICAgICAKKyAgICAgICAgbWF0Y2hP
ckZhaWwoT1BFTkJSQUNFLCAiRXhwZWN0ZWQgYW4gb3BlbmluZyAneycgYXQgdGhlIHN0YXJ0IG9m
IGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgCisg
ICAgICAgIC8vIEJ5dGVjb2RlR2VuZXJhdG9yIGVtaXRzIGNvZGUgdG8gdGhyb3cgVHlwZUVycm9y
IHdoZW4gYSBjbGFzcyBjb25zdHJ1Y3RvciBpcyAiY2FsbCJlZC4KKyAgICAgICAgLy8gU2V0IENv
bnN0cnVjdG9yS2luZCB0byBOb25lIGZvciBub24tY29uc3RydWN0b3IgbWV0aG9kcyBvZiBjbGFz
c2VzLgorICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSBtb2RlID09IE1ldGhvZE1vZGUgJiYg
aW5mby5uYW1lICYmICppbmZvLm5hbWUgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+Y29uc3RydWN0
b3I7CisgICAgICAgIGlmIChtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQgIT0gQ29uc3RydWN0b3JL
aW5kOjpOb25lKSB7CisgICAgICAgICAgICBvd25lckNsYXNzS2luZCA9IG1fZGVmYXVsdENvbnN0
cnVjdG9yS2luZDsKKyAgICAgICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IHRydWU7CisgICAg
ICAgIH0KKyAgICAgICAgYnJlYWs7CiAgICAgfQorICAgIGNhc2UgQXJyb3dGdW5jdGlvblBhcnNl
VHlwZTogeworICAgICAgICBwYXJhbWV0ZXJzU3RhcnQgPSBwYXJzZUFycm93RnVuY3Rpb25QYXJh
bXRlcnMoY29udGV4dCwgbW9kZSwgaW5mbyk7CisgICAgICAgIAorICAgICAgICBtYXRjaE9yRmFp
bChBUlJPV0ZVTkNUSU9OLCAiRXhwZWN0ZWQgYSAnPT4nIGFmdGVyIGFycm93IGZ1bmN0aW9uIHBh
cmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSBmYWxz
ZTsKKyAgICAgICAgCisgICAgICAgIGluZm8uYXJyb3dGdW5jdGlvbk9mZnNldCA9IG1fdG9rZW4u
bV9kYXRhLm9mZnNldDsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIH0KKwogICAgIENvbnN0
cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQgPSBpc0NsYXNzQ29uc3RydWN0b3IgPyBvd25lckNs
YXNzS2luZCA6IENvbnN0cnVjdG9yS2luZDo6Tm9uZTsKIAogICAgIGluZm8ub3BlbkJyYWNlT2Zm
c2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OwpAQCAtMTM5Miw4ICsxNDk5LDE1IEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5j
dGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIGZhaWxJZkZhbHNlKHBvcFNjb3BlKGZ1bmN0aW9u
U2NvcGUsIFRyZWVCdWlsZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUluZm8pLCAiUGFyc2VyIGVycm9y
Iik7CiAgICAgICAgIAogICAgICAgICBpbmZvLmNsb3NlQnJhY2VPZmZzZXQgPSBjYWNoZWRJbmZv
LT5jbG9zZUJyYWNlT2Zmc2V0OwotCi0gICAgICAgIG1fdG9rZW4gPSBjYWNoZWRJbmZvLT5jbG9z
ZUJyYWNlVG9rZW4oKTsKKyAgICAgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICAgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKQor
ICAgICAgICAgICAgaW5mby5mdW5jdGlvbkJvZHlUeXBlID0gY2FjaGVkSW5mby0+aXNCb2R5QXJy
b3dFeHByZXNzaW9uID8gIEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiA6IEFycm93RnVuY3Rp
b25Cb2R5QmxvY2s7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGluZm8uZnVuY3Rpb25Cb2R5
VHlwZSA9IFN0YW5kYXJkRnVuY3Rpb25Cb2R5QmxvY2s7CisjZW5kaWYKKyAgICAgICAgbV90b2tl
biA9IGNhY2hlZEluZm8tPmVuZEZ1bmN0aW9uVG9rZW4oKTsKKyAgICAgICAgCiAgICAgICAgIGlm
IChlbmRDb2x1bW5Jc09uU3RhcnRMaW5lKQogICAgICAgICAgICAgbV90b2tlbi5tX2xvY2F0aW9u
LmxpbmVTdGFydE9mZnNldCA9IGN1cnJlbnRMaW5lU3RhcnRPZmZzZXQ7CiAKQEAgLTE0MDIsMTMg
KzE1MTYsNDMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKIAogICAgICAgICBjb250ZXh0LnNl
dEVuZE9mZnNldChpbmZvLmJvZHksIG1fbGV4ZXItPmN1cnJlbnRPZmZzZXQoKSk7CiAgICAgICAg
IAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChwYXJz
ZVR5cGUgIT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSB8fCBpbmZvLmZ1bmN0aW9uQm9keVR5cGUg
PT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jaykKKyAgICAgICAgICAgIG5leHQoKTsKKyNlbHNlCiAg
ICAgICAgIG5leHQoKTsKKyNlbmRpZgogICAgICAgICBpbmZvLmJvZHlFbmRMaW5lID0gbV9sYXN0
VG9rZW5FbmRQb3NpdGlvbi5saW5lOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CisgICAg
CiAgICAgbV9sYXN0RnVuY3Rpb25OYW1lID0gbGFzdEZ1bmN0aW9uTmFtZTsKICAgICBQYXJzZXJT
dGF0ZSBvbGRTdGF0ZSA9IHNhdmVTdGF0ZSgpOwotICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rp
b25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwg
cGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQpOworICAgIAorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJvd0Z1bmN0aW9u
UGFyc2VUeXBlKSB7CisgICAgICAgIFNhdmVQb2ludCBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9p
bnQoKTsKKyAgICAgICAgbmV4dCgpOworICAgICAgICAvLyBDaGVjayBpZiBhcnJvdyBib2R5IHN0
YXJ0IHdpdGggey4gSWYgaXQgdHJ1ZSBpdCBtZWFuIHRoYXQgYXJyb3cgZnVuY3Rpb24gaXMgRmF0
IGFycm93IGZ1bmN0aW9uCisgICAgICAgIC8vIGFuZCB3ZSBuZWVkIHVzZSBjb21tb24gYXBwcm9h
Y2ggdG8gcGFyc2UgZnVuY3Rpb24gYm9keQorICAgICAgICBpbmZvLmZ1bmN0aW9uQm9keVR5cGUg
PSBtYXRjaChPUEVOQlJBQ0UpID8gQXJyb3dGdW5jdGlvbkJvZHlCbG9jayA6IEFycm93RnVuY3Rp
b25Cb2R5RXhwcmVzc2lvbjsKKyAgICAKKyAgICAgICAgaWYgKGluZm8uZnVuY3Rpb25Cb2R5VHlw
ZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrKSB7CisgICAgICAgICAgICBpbmZvLm9wZW5CcmFj
ZU9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKKyAgICAgICAgICAgIGluZm8uYm9keVN0
YXJ0TGluZSA9IHRva2VuTGluZSgpOworICAgICAgICAgICAgaW5mby5ib2R5U3RhcnRDb2x1bW4g
PSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQgLSBtX3Rva2VuLm1fZGF0YS5saW5lU3RhcnRPZmZzZXQ7
CisgICAgICAgIAorICAgICAgICAgICAgaW5mby5ib2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29u
dGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJz
U3RhcnQsIGNvbnN0cnVjdG9yS2luZCwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7Cisg
ICAgICAgICAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlv
bktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3Ry
dWN0b3JLaW5kLCBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKTsKKyAgICAgICAgfQorICAgIH0gZWxz
ZQorICAgICAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlv
bktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3Ry
dWN0b3JLaW5kLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNlbHNlCisgICAgaW5mby5i
b2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1
bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCwgU3RhbmRh
cmRGdW5jdGlvblBhcnNlVHlwZSk7CisjZW5kaWYKKyAgICAKICAgICByZXN0b3JlU3RhdGUob2xk
U3RhdGUpOwogICAgIGZhaWxJZkZhbHNlKGluZm8uYm9keSwgIkNhbm5vdCBwYXJzZSB0aGUgYm9k
eSBvZiB0aGlzICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7CiAgICAgY29udGV4dC5z
ZXRFbmRPZmZzZXQoaW5mby5ib2R5LCBtX2xleGVyLT5jdXJyZW50T2Zmc2V0KCkpOwpAQCAtMTQz
OSwxOCArMTU4MywzMyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICBwYXJhbWV0
ZXJzLmNsb3NlQnJhY2VMaW5lID0gY2xvc2VCcmFjZUxpbmU7CiAgICAgICAgIHBhcmFtZXRlcnMu
Y2xvc2VCcmFjZU9mZnNldCA9IGluZm8uY2xvc2VCcmFjZU9mZnNldDsKICAgICAgICAgcGFyYW1l
dGVycy5jbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0ID0gY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNl
dDsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAocGFy
c2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgICAgIHBhcmFtZXRl
cnMuaXNCb2R5QXJyb3dFeHByZXNzaW9uID0gaW5mby5mdW5jdGlvbkJvZHlUeXBlID09IEFycm93
RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbjsKKyAgICAgICAgICAgIHBhcmFtZXRlcnMudG9rZW5UeXBl
ID0gbV90b2tlbi5tX3R5cGU7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBmdW5jdGlvblNj
b3BlLT5maWxsUGFyYW1ldGVyc0ZvclNvdXJjZVByb3ZpZGVyQ2FjaGUocGFyYW1ldGVycyk7CiAg
ICAgICAgIG5ld0luZm8gPSBTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6Y3JlYXRlKHBhcmFtZXRl
cnMpOwogCiAgICAgfQogICAgIAogICAgIGZhaWxJZkZhbHNlKHBvcFNjb3BlKGZ1bmN0aW9uU2Nv
cGUsIFRyZWVCdWlsZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUluZm8pLCAiUGFyc2VyIGVycm9yIik7
CisgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAoKHBh
cnNlVHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlICYmIGluZm8uZnVuY3Rpb25Cb2R5VHlw
ZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrKSB8fCBwYXJzZVR5cGUgIT0gQXJyb3dGdW5jdGlv
blBhcnNlVHlwZSkgeworICAgICAgICBtYXRjaE9yRmFpbChDTE9TRUJSQUNFLCAiRXhwZWN0ZWQg
YSBjbG9zaW5nICd9JyBhZnRlciBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBi
b2R5Iik7CisgICAgICAgIG5leHQoKTsKKyAgICB9IGVsc2UKKyAgICAgICAgZmFpbElmRmFsc2Uo
aXNFbmRPZkFycm93RnVuY3Rpb24oKSwgIkV4cGVjdGVkIHRoZSBjbG9zaW5nICc7JyAnLCcgJ10n
ICcpJyAnfScgYWZ0ZXIgYXJyb3cgZnVuY3Rpb24iKTsKKyNlbHNlCiAgICAgbWF0Y2hPckZhaWwo
Q0xPU0VCUkFDRSwgIkV4cGVjdGVkIGEgY2xvc2luZyAnfScgYWZ0ZXIgYSAiLCBzdHJpbmdGb3JG
dW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOworICAgIG5leHQoKTsKKyNlbmRpZgogICAgIAog
ICAgIGlmIChuZXdJbmZvKQogICAgICAgICBtX2Z1bmN0aW9uQ2FjaGUtPmFkZChpbmZvLm9wZW5C
cmFjZU9mZnNldCwgV1RGOjptb3ZlKG5ld0luZm8pKTsKICAgICAKLSAgICBuZXh0KCk7CiAgICAg
aW5mby5ib2R5RW5kTGluZSA9IG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZTsKICAgICByZXR1
cm4gdHJ1ZTsKIH0KQEAgLTE0NjMsNyArMTYyMiw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkRlY2xh
CiAgICAgdW5zaWduZWQgZnVuY3Rpb25LZXl3b3JkU3RhcnQgPSB0b2tlblN0YXJ0KCk7CiAgICAg
bmV4dCgpOwogICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gaW5mbzsKLSAgICBm
YWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OZWVkc05hbWUs
IEZ1bmN0aW9uTW9kZSwgdHJ1ZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBmdW5jdGlvbktleXdv
cmRTdGFydCwgaW5mbykpLCAiQ2Fubm90IHBhcnNlIHRoaXMgZnVuY3Rpb24iKTsKKyAgICBmYWls
SWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OZWVkc05hbWUsIEZ1
bmN0aW9uTW9kZSwgdHJ1ZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBmdW5jdGlvbktleXdvcmRT
dGFydCwgaW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIHRo
aXMgZnVuY3Rpb24iKTsKICAgICBmYWlsSWZGYWxzZShpbmZvLm5hbWUsICJGdW5jdGlvbiBzdGF0
ZW1lbnRzIG11c3QgaGF2ZSBhIG5hbWUiKTsKICAgICBmYWlsSWZGYWxzZUlmU3RyaWN0KGRlY2xh
cmVWYXJpYWJsZShpbmZvLm5hbWUpLCAiQ2Fubm90IGRlY2xhcmUgYSBmdW5jdGlvbiBuYW1lZCAn
IiwgaW5mby5uYW1lLT5pbXBsKCksICInIGluIHN0cmljdCBtb2RlIik7CiAgICAgcmV0dXJuIGNv
bnRleHQuY3JlYXRlRnVuY0RlY2xTdGF0ZW1lbnQobG9jYXRpb24sIGluZm8pOwpAQCAtMTU1OCw3
ICsxNzE3LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhc3NFeHByZXNz
aW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUNsYXNzKFQKICAgICAgICAgICAgIGZhaWxJZkZh
bHNlKHByb3BlcnR5LCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9kIik7CiAgICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IG1ldGhvZElu
Zm87Ci0gICAgICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwg
RnVuY3Rpb25OZWVkc05hbWUsIGlzU3RhdGljTWV0aG9kID8gRnVuY3Rpb25Nb2RlIDogTWV0aG9k
TW9kZSwgZmFsc2UsIGNvbnN0cnVjdG9yS2luZCwgbWV0aG9kU3RhcnQsIG1ldGhvZEluZm8pKSwg
IkNhbm5vdCBwYXJzZSB0aGlzIG1ldGhvZCIpOworICAgICAgICAgICAgZmFpbElmRmFsc2UoKHBh
cnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTmVlZHNOYW1lLCBpc1N0YXRpY01ldGhv
ZCA/IEZ1bmN0aW9uTW9kZSA6IE1ldGhvZE1vZGUsIGZhbHNlLCBjb25zdHJ1Y3RvcktpbmQsIG1l
dGhvZFN0YXJ0LCBtZXRob2RJbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5u
b3QgcGFyc2UgdGhpcyBtZXRob2QiKTsKICAgICAgICAgICAgIGZhaWxJZkZhbHNlKG1ldGhvZElu
Zm8ubmFtZSwgIm1ldGhvZCBtdXN0IGhhdmUgYSBuYW1lIik7CiAgICAgICAgICAgICBmYWlsSWZG
YWxzZShkZWNsYXJlVmFyaWFibGUobWV0aG9kSW5mby5uYW1lKSwgIkNhbm5vdCBkZWNsYXJlIGEg
bWV0aG9kIG5hbWVkICciLCBtZXRob2RJbmZvLm5hbWUtPmltcGwoKSwgIiciKTsKIApAQCAtMTc3
NCw2ICsxOTMzLDE4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVu
dCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJZlN0YXRlbWVudChUCiAgICAgcmV0dXJuIGNvbnRl
eHQuY3JlYXRlSWZTdGF0ZW1lbnQoaWZMb2NhdGlvbiwgY29uZGl0aW9uLCB0cnVlQmxvY2ssIHN0
YXRlbWVudFN0YWNrLmxhc3QoKSwgc3RhcnQsIGVuZCk7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7Cisg
ICAgZmFpbElmU3RhY2tPdmVyZmxvdygpOworICAgIFRyZWVFeHByZXNzaW9uIG5vZGUgPSBwYXJz
ZUFzc2lnbm1lbnRFeHByZXNzaW9uKGNvbnRleHQpOworICAgIGZhaWxJZkZhbHNlKG5vZGUsICJD
YW5ub3QgcGFyc2UgZXhwcmVzc2lvbiIpOworICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KG5vZGUs
IG1fbGFzdFRva2VuRW5kUG9zaXRpb24ub2Zmc2V0KTsKKyAgICByZXR1cm4gbm9kZTsKK30KKyNl
bmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHByZXNz
aW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewpAQCAtMTgyMSw2ICsxOTkyLDQxIEBAIHRlbXBs
YXRlIDx0eXBlbmFtZSBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlQXNzaWdubWVuCiAgICAgICAgIH0KICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChz
YXZlUG9pbnQpOwogICAgIH0KKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQo
KTsKKyAgICBib29sIGFycm93RnVuY3Rpb25FbXB0eUxpc3QgPSBmYWxzZTsKKyAgICBpZiAobWF0
Y2goT1BFTlBBUkVOKSkgeworICAgICAgICBuZXh0KCk7CisgICAgICAgIGlmIChtYXRjaChDTE9T
RVBBUkVOKSkgeworICAgICAgICAgICAgbmV4dCgpOworCisgICAgICAgICAgICBpZiAobWF0Y2go
QVJST1dGVU5DVElPTikpCisgICAgICAgICAgICAgICAgYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCA9
IHRydWU7CisgICAgICAgIH0KKworICAgICAgICBpZiAoIWFycm93RnVuY3Rpb25FbXB0eUxpc3Qp
CisgICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOwor
ICAgIH0KKworICAgIFRyZWVFeHByZXNzaW9uIGxoczsKKyAgICBpZiAoIWFycm93RnVuY3Rpb25F
bXB0eUxpc3QpIHsKKyAgICAgICAgbGhzID0gcGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24oY29u
dGV4dCk7CisgICAgICAgIGZhaWxJZkZhbHNlKGxocywgIkNhbhlub3QgcGFyc2UgZXhwcmVzc2lv
biIpOworICAgICAgICBpZiAoaW5pdGlhbE5vbkxIU0NvdW50ICE9IG1fbm9uTEhTQ291bnQpIHsK
KyAgICAgICAgICAgIGlmIChtX3Rva2VuLm1fdHlwZSA+PSBFUVVBTCAmJiBtX3Rva2VuLm1fdHlw
ZSA8PSBPUkVRVUFMKQorICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbCgiTGVmdCBoYW5kIHNp
ZGUgb2Ygb3BlcmF0b3IgJyIsIGdldFRva2VuKCksICInIG11c3QgYmUgYSByZWZlcmVuY2UiKTsK
KworICAgICAgICAgICAgcmV0dXJuIGxoczsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmICht
YXRjaChBUlJPV0ZVTkNUSU9OKSkgeworICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJv
d0Z1bmN0aW9uUG9pbnQpOworICAgICAgICBsaHMgPSBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVy
KGNvbnRleHQpOworICAgICAgICByZXR1cm4gbGhzOworICAgIH0KKyNlbHNlCiAgICAgVHJlZUV4
cHJlc3Npb24gbGhzID0gcGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24oY29udGV4dCk7CiAgICAg
ZmFpbElmRmFsc2UobGhzLCAiQ2Fubm90IHBhcnNlIGV4cHJlc3Npb24iKTsKICAgICBpZiAoaW5p
dGlhbE5vbkxIU0NvdW50ICE9IG1fbm9uTEhTQ291bnQpIHsKQEAgLTE4MjksNyArMjAzNSw4IEBA
IHRlbXBsYXRlIDx0eXBlbmFtZSBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlQXNzaWdubWVuCiAKICAgICAgICAgcmV0dXJuIGxoczsKICAgICB9Ci0g
ICAgCisjZW5kaWYKKwogICAgIGludCBhc3NpZ25tZW50U3RhY2sgPSAwOwogICAgIE9wZXJhdG9y
IG9wOwogICAgIGJvb2wgaGFkQXNzaWdubWVudCA9IGZhbHNlOwpAQCAtMjA2MSw3ICsyMjY4LDcg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0eU1ldGgKICAgICBKU1Rva2VuTG9jYXRpb24gbWV0aG9kTG9j
YXRpb24odG9rZW5Mb2NhdGlvbigpKTsKICAgICB1bnNpZ25lZCBtZXRob2RTdGFydCA9IHRva2Vu
U3RhcnQoKTsKICAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IG1ldGhvZEluZm87
Ci0gICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9S
ZXF1aXJlbWVudHMsIE1ldGhvZE1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIG1l
dGhvZFN0YXJ0LCBtZXRob2RJbmZvKSksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2QiKTsKKyAg
ICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVp
cmVtZW50cywgTWV0aG9kTW9kZSwgZmFsc2UsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgbWV0aG9k
U3RhcnQsIG1ldGhvZEluZm8sIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBw
YXJzZSB0aGlzIG1ldGhvZCIpOwogICAgIG1ldGhvZEluZm8ubmFtZSA9IG1ldGhvZE5hbWU7CiAg
ICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25FeHByKG1ldGhvZExvY2F0aW9uLCBtZXRo
b2RJbmZvKTsKIH0KQEAgLTIwODMsMTAgKzIyOTAsMTAgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlR2V0dGVyU2V0dGVy
KFQKICAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87CiAgICAgaWYgKHR5
cGUgPT0gUHJvcGVydHlOb2RlOjpHZXR0ZXIpIHsKICAgICAgICAgZmFpbElmRmFsc2UobWF0Y2go
T1BFTlBBUkVOKSwgIkV4cGVjdGVkIGEgcGFyYW1ldGVyIGxpc3QgZm9yIGdldHRlciBkZWZpbml0
aW9uIik7Ci0gICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBG
dW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBHZXR0ZXJNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5k
LCBnZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBpbmZvKSksICJDYW5ub3QgcGFyc2UgZ2V0dGVy
IGRlZmluaXRpb24iKTsKKyAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNv
bnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEdldHRlck1vZGUsIGZhbHNlLCBjb25zdHJ1
Y3RvcktpbmQsIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIGluZm8sIFN0YW5kYXJkRnVuY3Rp
b25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSBnZXR0ZXIgZGVmaW5pdGlvbiIpOwogICAgIH0g
ZWxzZSB7CiAgICAgICAgIGZhaWxJZkZhbHNlKG1hdGNoKE9QRU5QQVJFTiksICJFeHBlY3RlZCBh
IHBhcmFtZXRlciBsaXN0IGZvciBzZXR0ZXIgZGVmaW5pdGlvbiIpOwotICAgICAgICBmYWlsSWZG
YWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywg
U2V0dGVyTW9kZSwgZmFsc2UsIGNvbnN0cnVjdG9yS2luZCwgZ2V0dGVyT3JTZXR0ZXJTdGFydE9m
ZnNldCwgaW5mbykpLCAiQ2Fubm90IHBhcnNlIHNldHRlciBkZWZpbml0aW9uIik7CisgICAgICAg
IGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWly
ZW1lbnRzLCBTZXR0ZXJNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBnZXR0ZXJPclNldHRl
clN0YXJ0T2Zmc2V0LCBpbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3Qg
cGFyc2Ugc2V0dGVyIGRlZmluaXRpb24iKTsKICAgICB9CiAgICAgaWYgKHN0cmluZ1Byb3BlcnR5
TmFtZSkKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlR2V0dGVyT3JTZXR0ZXJQcm9wZXJ0
eShsb2NhdGlvbiwgdHlwZSwgc3RyaWN0LCBzdHJpbmdQcm9wZXJ0eU5hbWUsIGluZm8sIHN1cGVy
QmluZGluZyk7CkBAIC0yMjc1LDcgKzI0ODIsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHByZQog
ICAgICAgICBuZXh0KCk7CiAgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4g
aW5mbzsKICAgICAgICAgaW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVu
dGlmaWVyOwotICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwg
RnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgRnVuY3Rpb25Nb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JL
aW5kOjpOb25lLCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW5mbykpLCAiQ2Fubm90IHBhcnNlIGZ1
bmN0aW9uIGV4cHJlc3Npb24iKTsKKyAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25J
bmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEZ1bmN0aW9uTW9kZSwgZmFsc2Us
IENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8sIFN0YW5k
YXJkRnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSBmdW5jdGlvbiBleHByZXNzaW9u
Iik7CiAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uRXhwcihsb2NhdGlvbiwg
aW5mbyk7CiAgICAgfQogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQpAQCAtMjMwNCw2ICsy
NTExLDIzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAgICAgIHJldHVybiBjb250ZXh0
LnRoaXNFeHByKGxvY2F0aW9uLCBtX3RoaXNURFpNb2RlKTsKICAgICB9CiAgICAgY2FzZSBJREVO
VDogeworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIFNhdmVQ
b2ludCBzYXZlQXJyb3dGdW5jdGlvblBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgICAg
IEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgICAgIGNv
bnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CisgICAgICAgIEpT
VG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgICAgICBuZXh0KCk7
CisKKyAgICAgICAgaWYgKCFtYXRjaChBUlJPV0ZVTkNUSU9OKSkgeworICAgICAgICAgICAgY3Vy
cmVudFNjb3BlKCktPnVzZVZhcmlhYmxlKGlkZW50LCBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFs
ID09ICppZGVudCk7CisgICAgICAgICAgICBtX2xhc3RJZGVudGlmaWVyID0gaWRlbnQ7CisgICAg
ICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVSZXNvbHZlKGxvY2F0aW9uLCBpZGVudCwgc3Rh
cnQpOworICAgICAgICB9CisKKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5j
dGlvblBvaW50KTsKKyAgICAgICAgVHJlZUV4cHJlc3Npb24gbGhzID0gcGFyc2VBcnJvd0Z1bmN0
aW9uV3JhcHBlcihjb250ZXh0KTsKKyAgICAgICAgcmV0dXJuIGxoczsKKyNlbHNlCiAgICAgICAg
IEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CiAgICAgICAgIGNv
bnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgIEpT
VG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwpAQCAtMjMxMSw2ICsyNTM1
LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAgY3VycmVudFNjb3BlKCktPnVz
ZVZhcmlhYmxlKGlkZW50LCBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09ICppZGVudCk7CiAg
ICAgICAgIG1fbGFzdElkZW50aWZpZXIgPSBpZGVudDsKICAgICAgICAgcmV0dXJuIGNvbnRleHQu
Y3JlYXRlUmVzb2x2ZShsb2NhdGlvbiwgaWRlbnQsIHN0YXJ0KTsKKyNlbmRpZgogICAgIH0KICAg
ICBjYXNlIFNUUklORzogewogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9r
ZW4ubV9kYXRhLmlkZW50OwpAQCAtMjQ5OCw2ICsyNzIzLDMyIEBAIGVuZE1lbWJlckV4cHJlc3Np
b246CiAgICAgcmV0dXJuIGJhc2U7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dG
dW5jdGlvbldyYXBwZXIoVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAgVHJlZUV4cHJlc3Np
b24gYmFzZSA9IDA7CisgICAgSlNUZXh0UG9zaXRpb24gZXhwcmVzc2lvblN0YXJ0ID0gdG9rZW5T
dGFydFBvc2l0aW9uKCk7CisgICAgaW50IG5ld0NvdW50ID0gMDsKKyAgICBKU1Rva2VuTG9jYXRp
b24gbG9jYXRpb247CisKKyAgICBpZiAobWF0Y2goSURFTlQpIHx8IG1hdGNoKE9QRU5QQVJFTikp
IHsKKyAgICAgICAgdW5zaWduZWQgZnVuY3Rpb25LZXl3b3JkU3RhcnQgPSB0b2tlblN0YXJ0KCk7
CisgICAgICAgIGxvY2F0aW9uID0gdG9rZW5Mb2NhdGlvbigpOworICAgICAgICBQYXJzZXJGdW5j
dGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87CisgICAgICAgIGluZm8ubmFtZSA9ICZtX3ZtLT5w
cm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllcjsKKyAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNl
RnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEZ1bmN0aW9uTW9k
ZSwgdHJ1ZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW5m
bywgQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIGFycm93IGZ1bmN0aW9u
IGV4cHJlc3Npb24iKTsKKyAgICAgICAgYmFzZSA9IGNvbnRleHQuY3JlYXRlQXJyb3dGdW5jdGlv
bkV4cHIobG9jYXRpb24sIGluZm8pOworICAgIH0gZWxzZQorICAgICAgICBiYXNlID0gcGFyc2VQ
cmltYXJ5RXhwcmVzc2lvbihjb250ZXh0KTsKKworICAgIGZhaWxJZkZhbHNlKGJhc2UsICJDYW5u
b3QgcGFyc2UgYmFzZSBleHByZXNzaW9uIik7CisgICAgd2hpbGUgKG5ld0NvdW50LS0pCisgICAg
ICAgIGJhc2UgPSBjb250ZXh0LmNyZWF0ZU5ld0V4cHIobG9jYXRpb24sIGJhc2UsIGV4cHJlc3Np
b25TdGFydCwgbGFzdFRva2VuRW5kUG9zaXRpb24oKSk7CisgICAgcmV0dXJuIGJhc2U7Cit9Cisj
ZW5kaWYKKwogc3RhdGljIGNvbnN0IGNoYXIqIG9wZXJhdG9yU3RyaW5nKGJvb2wgcHJlZml4LCB1
bnNpZ25lZCB0b2spCiB7CiAgICAgc3dpdGNoICh0b2spIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlci5oCmluZGV4IDc4YmFmZmEwZTE3NzNjODIwNjk4YjkyMDNmMGY2YTNkN2FkMzJl
YzQuLmY2MjQ5ODdiMTg3MDdlYmQwOTk1MDBmMzA1YzFhNjY4OTk3OGZmMzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaApAQCAtODAsNiArODAsMTEgQEAgY2xhc3MgU291cmNl
Q29kZTsKIENPTVBJTEVfQVNTRVJUKExhc3RVbnRhZ2dlZFRva2VuIDwgNjQsIExlc3NUaGFuNjRV
bnRhZ2dlZFRva2Vucyk7CiAKIGVudW0gU291cmNlRWxlbWVudHNNb2RlIHsgQ2hlY2tGb3JTdHJp
Y3RNb2RlLCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlIH07CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKK2VudW0gRnVuY3Rpb25QYXJzZVR5cGUgeyBTdGFuZGFyZEZ1bmN0aW9u
UGFyc2VUeXBlLCBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlIH07CisjZWxzZQorZW51bSBGdW5jdGlv
blBhcnNlVHlwZSB7IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGV9OworI2VuZGlmCiBlbnVtIEZ1
bmN0aW9uUmVxdWlyZW1lbnRzIHsgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgRnVuY3Rpb25OZWVk
c05hbWUgfTsKIGVudW0gRnVuY3Rpb25QYXJzZU1vZGUgewogICAgIEZ1bmN0aW9uTW9kZSwKQEAg
LTYxOCw2ICs2MjMsMTMgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIG1fdG9rZW4ubV90eXBl
ID09IElERU5UICYmICptX3Rva2VuLm1fZGF0YS5pZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVz
LT5vZjsKICAgICB9CiAgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICBBTFdBWVNfSU5MSU5FIGJvb2wgaXNFbmRPZkFycm93RnVuY3Rpb24oKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIG1hdGNoKFNFTUlDT0xPTikgfHwgbWF0Y2goQ09NTUEpIHx8IG1hdGNoKENM
T1NFUEFSRU4pIHx8IG1hdGNoKENMT1NFQlJBQ0UpIHx8IG1hdGNoKENMT1NFQlJBQ0tFVCk7Cisg
ICAgfQorI2VuZGlmCisgICAgCiAgICAgQUxXQVlTX0lOTElORSB1bnNpZ25lZCB0b2tlblN0YXJ0
KCkKICAgICB7CiAgICAgICAgIHJldHVybiBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7
CkBAIC03MjEsOSArNzMzLDkgQEAgcHJpdmF0ZToKICAgICAgICAgfQogICAgICAgICByZXR1cm4g
cmVzdWx0OwogICAgIH0KLSAgICAKLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVTb3VyY2VFbGVtZW50cyBwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNl
RWxlbWVudHNNb2RlKTsKLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0
ZW1lbnQgcGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVyKiYgZGly
ZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDApOworCisgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgcGFyc2VTb3VyY2VF
bGVtZW50cyhUcmVlQnVpbGRlciYsIFNvdXJjZUVsZW1lbnRzTW9kZSwgRnVuY3Rpb25QYXJzZVR5
cGUpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJz
ZVN0YXRlbWVudChUcmVlQnVpbGRlciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVu
c2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMCwgRnVuY3Rpb25QYXJzZVR5cGUgdHlw
ZSA9IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lO
VEFYKQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJz
ZUNsYXNzRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImKTsKICNlbmRpZgpAQCAtNzYyLDE5ICs3NzQs
MjggQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9w
ZXJ0eSBwYXJzZVByb3BlcnR5KFRyZWVCdWlsZGVyJiwgYm9vbCBzdHJpY3QpOwogICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VQcm9wZXJ0eU1ldGhv
ZChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciogbWV0aG9kTmFtZSk7CiAg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgcGFyc2VHZXR0ZXJT
ZXR0ZXIoVHJlZUJ1aWxkZXImLCBib29sIHN0cmljdCwgUHJvcGVydHlOb2RlOjpUeXBlLCB1bnNp
Z25lZCBnZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBDb25zdHJ1Y3RvcktpbmQgPSBDb25zdHJ1
Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZyA9IFN1cGVyQmluZGluZzo6Tm90TmVlZGVkKTsK
LSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZ1bmN0
aW9uQm9keSBwYXJzZUZ1bmN0aW9uQm9keShUcmVlQnVpbGRlciYsIGludCBmdW5jdGlvbktleXdv
cmRTdGFydCwgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25z
dHJ1Y3RvcktpbmQpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lO
TElORSBUcmVlRnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVyJiwgaW50
IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIGludCBwYXJhbWV0
ZXJzU3RhcnQsIENvbnN0cnVjdG9yS2luZCwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25QYXJz
ZVR5cGUpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBU
cmVlRm9ybWFsUGFyYW1ldGVyTGlzdCBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoVHJlZUJ1aWxkZXIm
KTsKICAgICBlbnVtIFZhckRlY2xhcmF0aW9uTGlzdENvbnRleHQgeyBGb3JMb29wQ29udGV4dCwg
VmFyRGVjbGFyYXRpb25Db250ZXh0IH07CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlRXhwcmVzc2lvbiBwYXJzZVZhckRlY2xhcmF0aW9uTGlzdChUcmVlQnVpbGRlciYsIGlu
dCYgZGVjbGFyYXRpb25zLCBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuJiBsYXN0UGF0dGVybiwg
VHJlZUV4cHJlc3Npb24mIGxhc3RJbml0aWFsaXplciwgSlNUZXh0UG9zaXRpb24mIGlkZW50U3Rh
cnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0RW5kLCBW
YXJEZWNsYXJhdGlvbkxpc3RDb250ZXh0KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IE5FVkVSX0lOTElORSBUcmVlQ29uc3REZWNsTGlzdCBwYXJzZUNvbnN0RGVjbGFyYXRpb25M
aXN0KFRyZWVCdWlsZGVyJik7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VB
cnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQo
VHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHBy
ZXNzaW9uIHBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoVHJlZUJ1aWxkZXImKTsKKyNlbmRpZgor
CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29u
c3RydWN0aW9uUGF0dGVybiBjcmVhdGVCaW5kaW5nUGF0dGVybihUcmVlQnVpbGRlciYsIERlY29u
c3RydWN0aW9uS2luZCwgY29uc3QgSWRlbnRpZmllciYsIGludCBkZXB0aCwgSlNUb2tlbik7CiAg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3Ry
dWN0aW9uUGF0dGVybiBwYXJzZURlY29uc3RydWN0aW9uUGF0dGVybihUcmVlQnVpbGRlciYsIERl
Y29uc3RydWN0aW9uS2luZCwgaW50IGRlcHRoID0gMCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiB0cnlQYXJz
ZURlY29uc3RydWN0aW9uUGF0dGVybkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKIAotICAgIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIGJvb2wgcGFyc2VGdW5jdGlv
bkluZm8oVHJlZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1v
ZGUsIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCwgaW50IGZ1
bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+Jik7Ci0g
ICAgCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgaW50IHBh
cnNlRnVuY3Rpb25QYXJhbXRlcnMoVHJlZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywg
RnVuY3Rpb25QYXJzZU1vZGUsIGJvb2wsIEF1dG9Qb3BTY29wZVJlZiYsIFBhcnNlckZ1bmN0aW9u
SW5mbzxUcmVlQnVpbGRlcj4mKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIGludCBwYXJz
ZUFycm93RnVuY3Rpb25QYXJhbXRlcnMoVHJlZUJ1aWxkZXImLCBGdW5jdGlvblBhcnNlTW9kZSwg
UGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYpOworI2VuZGlmCisgICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgYm9vbCBwYXJzZUZ1bmN0aW9uSW5mbyhU
cmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSwgYm9v
bCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kLCBpbnQgZnVuY3Rpb25L
ZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mLCBGdW5jdGlvblBh
cnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSk7CisgICAgCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19T
WU5UQVgpCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJl
ZUNsYXNzRXhwcmVzc2lvbiBwYXJzZUNsYXNzKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJl
bWVudHMsIFBhcnNlckNsYXNzSW5mbzxUcmVlQnVpbGRlcj4mKTsKICNlbmRpZgpAQCAtNzkxLDYg
KzgxMiwxNCBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gYWxsb3dBdXRvbWF0aWNTZW1pY29s
b24oKTsKICAgICB9CiAgICAgCisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgIHZvaWQgc2V0RW5kT2ZTdGF0ZW1lbnQoKQorICAgIHsKKyAgICAgICAgbV9sZXhlci0+
c2V0VG9rZW5Qb3NpdGlvbigmbV90b2tlbik7CisgICAgfQorI2VuZGlmCisKICAgICBib29sIGNh
blJlY3Vyc2UoKQogICAgIHsKICAgICAgICAgcmV0dXJuIG1fdm0tPmlzU2FmZVRvUmVjdXJzZSgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlv
bkluZm8uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZv
LmgKaW5kZXggNmI3MzYyODJlMmQyYTgxYmM2M2RjMmYzYzBlNWFlOGM4NThjZDFmOC4uMGNkZTBj
NjdhOWRlMGVkZjM0MTQ0ZTMyNzkxZTVlOTBiNGEyMTUxNCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oCkBAIC0yOCw2ICsyOCwxMCBA
QAogCiBuYW1lc3BhY2UgSlNDIHsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCitlbnVtIEZ1bmN0aW9uQm9keVR5cGUgeyBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24s
IEFycm93RnVuY3Rpb25Cb2R5QmxvY2ssIFN0YW5kYXJkRnVuY3Rpb25Cb2R5QmxvY2sgfTsKKyNl
bmRpZgorCiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+CiBzdHJ1Y3QgUGFyc2VyRnVuY3Rp
b25JbmZvIHsKICAgICBjb25zdCBJZGVudGlmaWVyKiBuYW1lID0gMDsKQEAgLTM4LDYgKzQyLDEx
IEBAIHN0cnVjdCBQYXJzZXJGdW5jdGlvbkluZm8gewogICAgIGludCBib2R5U3RhcnRMaW5lID0g
MDsKICAgICBpbnQgYm9keUVuZExpbmUgPSAwOwogICAgIHVuc2lnbmVkIGJvZHlTdGFydENvbHVt
biA9IDA7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB1bnNpZ25l
ZCBhcnJvd0Z1bmN0aW9uT2Zmc2V0ID0gMDsKKyAgICBib29sIGlzQXJyb3dGdW5jdGlvbiA9IGZh
bHNlOworICAgIEZ1bmN0aW9uQm9keVR5cGUgZnVuY3Rpb25Cb2R5VHlwZSA9IFN0YW5kYXJkRnVu
Y3Rpb25Cb2R5QmxvY2s7CisjZW5kaWYKIH07CiAKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRB
WCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5z
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCmluZGV4IDgz
MjlmODJhOWIyZmY5MTVkMWYyNDFjMWY4YmZmYWQ0MjQ3YTVmMGIuLmM4YjE2NmUwZWFkN2QyZGE3
MTllNzZjNGEyZjA5YWZmMWQ3NGQ3YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXJUb2tlbnMuaApAQCAtNzUsNiArNzUsOSBAQCBlbnVtIEpTVG9rZW5UeXBlIHsKICAg
ICBGSU5BTExZLAogICAgIERFQlVHR0VSLAogICAgIEVMU0UsCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBBUlJPV0ZVTkNUSU9OLAorI2VuZGlmCiAjaWYgRU5BQkxF
KEVTNl9DTEFTU19TWU5UQVgpCiAgICAgQ0xBU1NUT0tFTiwKICAgICBFWFRFTkRTLApkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaAppbmRleCA3M2QyM2RiODJhZjI1ZWE0
NmMwZjg5Nzg1Y2U0MjRiYjYwZWI2MWE3Li45MjhlNzEyYTkwZTM0ODk4OGJjMzU1NDg5ODc1YjA5
MDc3Njc1NTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJj
ZUNvZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaApA
QCAtMTA1LDYgKzEwNSw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAKICAgICAgICAgU291
cmNlQ29kZSBzdWJFeHByZXNzaW9uKHVuc2lnbmVkIG9wZW5CcmFjZSwgdW5zaWduZWQgY2xvc2VC
cmFjZSwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKTsKIAorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIFNvdXJjZUNvZGUgc3ViQXJyb3dFeHByZXNz
aW9uKHVuc2lnbmVkIHN0YXJ0QXJyb3dGdW5jdGlvbiwgdW5zaWduZWQgZW5kQXJyb3dGdW5jdGlv
biwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKTsKKyNlbmRpZgogICAgIHByaXZhdGU6
CiAgICAgICAgIFJlZlB0cjxTb3VyY2VQcm92aWRlcj4gbV9wcm92aWRlcjsKICAgICAgICAgaW50
IG1fc3RhcnRDaGFyOwpAQCAtMTE4LDYgKzEyMSwxNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAg
ICAgcmV0dXJuIFNvdXJjZUNvZGUoU3RyaW5nU291cmNlUHJvdmlkZXI6OmNyZWF0ZShzb3VyY2Us
IHVybCwgc3RhcnRQb3NpdGlvbiksIHN0YXJ0UG9zaXRpb24ubV9saW5lLm9uZUJhc2VkSW50KCks
IHN0YXJ0UG9zaXRpb24ubV9jb2x1bW4ub25lQmFzZWRJbnQoKSk7CiAgICAgfQogCisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpbmxpbmUgU291cmNlQ29kZSBTb3Vy
Y2VDb2RlOjpzdWJBcnJvd0V4cHJlc3Npb24odW5zaWduZWQgc3RhcnRBcnJvd0Z1bmN0aW9uLCB1
bnNpZ25lZCBlbmRBcnJvd0Z1bmN0aW9uLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4p
CisgICAgeworICAgICAgICBBU1NFUlQocHJvdmlkZXIoKS0+c291cmNlKClbc3RhcnRBcnJvd0Z1
bmN0aW9uXSA9PSAnPScgJiYgcHJvdmlkZXIoKS0+c291cmNlKClbc3RhcnRBcnJvd0Z1bmN0aW9u
ICsgMV0gPT0gJz4nKTsKKyAgICAgICAgLy8gRml4bWU6IFVzZSBiZXR0ZXIgYXBwcm9hY2ggdG8g
Y2hlY2sgc3ltYm9sCisgICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJv
d0Z1bmN0aW9uIC0gMV0gPT0gJywnIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVu
Y3Rpb24gLSAxXSA9PSAnOycgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlv
biAtIDFdID09ICcpJyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0g
MV0gPT0gJ10nIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9
PSAnfScpOworICAgICAgICBzdGFydENvbHVtbiArPSAxOyAvLyBDb252ZXJ0IHRvIGJhc2UgMS4K
KyAgICAgICAgcmV0dXJuIFNvdXJjZUNvZGUocHJvdmlkZXIoKSwgc3RhcnRBcnJvd0Z1bmN0aW9u
LCBlbmRBcnJvd0Z1bmN0aW9uIC0gMSwgZmlyc3RMaW5lLCBzdGFydENvbHVtbik7CisgICAgfQor
I2VuZGlmCisKICAgICBpbmxpbmUgU291cmNlQ29kZSBTb3VyY2VDb2RlOjpzdWJFeHByZXNzaW9u
KHVuc2lnbmVkIG9wZW5CcmFjZSwgdW5zaWduZWQgY2xvc2VCcmFjZSwgaW50IGZpcnN0TGluZSwg
aW50IHN0YXJ0Q29sdW1uKQogICAgIHsKICAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJj
ZSgpW29wZW5CcmFjZV0gPT0gJ3snKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaAppbmRleCA2MzUzNzllM2Y0NDU2Njhj
NTJiODcyZjc2MTZkY2I1OTIxYTgyOTQ0Li5mNDI4ZGI1MGE4ZGE3YTdhYjQ2ODI0YWIzODA4M2Ri
MDUyZDczNzc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJj
ZVByb3ZpZGVyQ2FjaGVJdGVtLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9T
b3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCkBAIC00MCw2ICs0MCwxMCBAQCBzdHJ1Y3QgU291cmNl
UHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMgewogICAgIGJvb2wgbmVlZHNGdWxs
QWN0aXZhdGlvbjsKICAgICBib29sIHVzZXNFdmFsOwogICAgIGJvb2wgc3RyaWN0TW9kZTsKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGJvb2wgaXNCb2R5QXJyb3dF
eHByZXNzaW9uOworICAgIEpTVG9rZW5UeXBlIHRva2VuVHlwZTsKKyNlbmRpZgogICAgIFZlY3Rv
cjxSZWZQdHI8U3RyaW5nSW1wbD4+IHVzZWRWYXJpYWJsZXM7CiAgICAgVmVjdG9yPFJlZlB0cjxT
dHJpbmdJbXBsPj4gd3JpdHRlblZhcmlhYmxlczsKIH07CkBAIC01NSwxMCArNTksMTQgQEAgcHVi
bGljOgogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0+
IGNyZWF0ZShjb25zdCBTb3VyY2VQcm92aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFyYW1ldGVycyYp
OwogICAgIH5Tb3VyY2VQcm92aWRlckNhY2hlSXRlbSgpOwogCi0gICAgSlNUb2tlbiBjbG9zZUJy
YWNlVG9rZW4oKSBjb25zdCAKKyAgICBKU1Rva2VuIGVuZEZ1bmN0aW9uVG9rZW4oKSBjb25zdCAK
ICAgICB7CiAgICAgICAgIEpTVG9rZW4gdG9rZW47CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICAgICAgdG9rZW4ubV90eXBlID0gaXNCb2R5QXJyb3dFeHByZXNzaW9u
ID8gdG9rZW5UeXBlIDogQ0xPU0VCUkFDRTsKKyNlbHNlCiAgICAgICAgIHRva2VuLm1fdHlwZSA9
IENMT1NFQlJBQ0U7CisjZW5kaWYKICAgICAgICAgdG9rZW4ubV9kYXRhLm9mZnNldCA9IGNsb3Nl
QnJhY2VPZmZzZXQ7CiAgICAgICAgIHRva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQgPSBjbG9z
ZUJyYWNlT2Zmc2V0OwogICAgICAgICB0b2tlbi5tX2xvY2F0aW9uLmVuZE9mZnNldCA9IGNsb3Nl
QnJhY2VPZmZzZXQgKyAxOwpAQCAtODIsNiArOTAsMTEgQEAgcHVibGljOgogICAgIHVuc2lnbmVk
IHVzZWRWYXJpYWJsZXNDb3VudDsKICAgICB1bnNpZ25lZCB3cml0dGVuVmFyaWFibGVzQ291bnQ7
CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGJvb2wgaXNCb2R5
QXJyb3dFeHByZXNzaW9uOworICAgIEpTVG9rZW5UeXBlIHRva2VuVHlwZTsKKyNlbmRpZgorCiAg
ICAgU3RyaW5nSW1wbCoqIHVzZWRWYXJpYWJsZXMoKSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0
PFN0cmluZ0ltcGwqKj4obV92YXJpYWJsZXMpOyB9CiAgICAgU3RyaW5nSW1wbCoqIHdyaXR0ZW5W
YXJpYWJsZXMoKSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0PFN0cmluZ0ltcGwqKj4oJm1fdmFy
aWFibGVzW3VzZWRWYXJpYWJsZXNDb3VudF0pOyB9CiAKQEAgLTExNSw2ICsxMjgsMTAgQEAgaW5s
aW5lIFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbShjb25z
dCBTb3VyY2VQcm92aWRlckNhY2gKICAgICAsIGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQocGFy
YW1ldGVycy5jbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0KQogICAgICwgdXNlZFZhcmlhYmxlc0Nv
dW50KHBhcmFtZXRlcnMudXNlZFZhcmlhYmxlcy5zaXplKCkpCiAgICAgLCB3cml0dGVuVmFyaWFi
bGVzQ291bnQocGFyYW1ldGVycy53cml0dGVuVmFyaWFibGVzLnNpemUoKSkKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICwgaXNCb2R5QXJyb3dFeHByZXNzaW9uKHBh
cmFtZXRlcnMuaXNCb2R5QXJyb3dFeHByZXNzaW9uKQorICAgICwgdG9rZW5UeXBlKHBhcmFtZXRl
cnMudG9rZW5UeXBlKQorI2VuZGlmCiB7CiAgICAgdW5zaWduZWQgaiA9IDA7CiAgICAgZm9yICh1
bnNpZ25lZCBpID0gMDsgaSA8IHVzZWRWYXJpYWJsZXNDb3VudDsgKytpLCArK2opIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKaW5kZXggOGU0ZjYxYjk0
OTg5MGI5YmY1NDAyOWU5NjY2MWVlZjUzYTE3YjU4NC4uNWY4ZTIxMWVlNGI1M2IzOTRlYjVhZTIx
OTBiODNjOGM0Zjg0NGNmZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9TeW50YXhDaGVja2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50
YXhDaGVja2VyLmgKQEAgLTE3MCw2ICsxNzAsMTAgQEAgcHVibGljOgogI2VuZGlmCiAgICAgRXhw
cmVzc2lvblR5cGUgY3JlYXRlRnVuY3Rpb25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNv
bnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9u
RXhwcjsgfQogICAgIGludCBjcmVhdGVGdW5jdGlvbkJvZHkoY29uc3QgSlNUb2tlbkxvY2F0aW9u
JiwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgaW50LCBpbnQsIGJvb2wsIGludCwgaW50LCBpbnQs
IENvbnN0cnVjdG9yS2luZCkgeyByZXR1cm4gRnVuY3Rpb25Cb2R5UmVzdWx0OyB9CisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVB
cnJvd0Z1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5j
dGlvbkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KKyNlbmRp
ZiAKKyAgICB2b2lkIHNldEZ1bmN0aW9uTmFtZVN0YXJ0KGludCwgaW50KSB7IH0KICAgICBpbnQg
Y3JlYXRlQXJndW1lbnRzKCkgeyByZXR1cm4gQXJndW1lbnRzUmVzdWx0OyB9CiAgICAgaW50IGNy
ZWF0ZUFyZ3VtZW50cyhpbnQpIHsgcmV0dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQogICAgIEV4cHJl
c3Npb25UeXBlIGNyZWF0ZVNwcmVhZEV4cHJlc3Npb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwg
RXhwcmVzc2lvblR5cGUsIGludCwgaW50LCBpbnQpIHsgcmV0dXJuIFNwcmVhZEV4cHI7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjZmYzNlYTE4MDA2ODk2NDNhYWRkNmM2YTQ5N2VkMGFlNmMyMTExMjAKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rp
b24uY3BwCkBAIC0wLDAgKzEsNzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKworI2luY2x1ZGUg
IkVycm9yLmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uSGVscGVycy5oIgorI2luY2x1ZGUgIkpTQ0lu
bGluZXMuaCIKKyNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCisjaW5jbHVkZSAiSlNGdW5jdGlvbi5o
IgorI2luY2x1ZGUgIkpTRnVuY3Rpb25JbmxpbmVzLmgiCisjaW5jbHVkZSAiSlNPYmplY3QuaCIK
KyNpbmNsdWRlICJQcm9wZXJ0eVNsb3QuaCIKKyNpbmNsdWRlICJWTS5oIgorCituYW1lc3BhY2Ug
SlNDIHsKKyAgICAKK2NvbnN0IENsYXNzSW5mbyBKU0Fycm93RnVuY3Rpb246OnNfaW5mbyA9IHsg
IkFycm93RnVuY3Rpb24iLCAmQmFzZTo6c19pbmZvLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpT
QXJyb3dGdW5jdGlvbikgfTsKKwordm9pZCBKU0Fycm93RnVuY3Rpb246OmRlc3Ryb3koSlNDZWxs
KiBjZWxsKQoreworICAgIHN0YXRpY19jYXN0PEpTQXJyb3dGdW5jdGlvbio+KGNlbGwpLT5KU0Fy
cm93RnVuY3Rpb246On5KU0Fycm93RnVuY3Rpb24oKTsKK30KKworSlNBcnJvd0Z1bmN0aW9uOjpK
U0Fycm93RnVuY3Rpb24oVk0mIHZtLCBKU1Njb3BlKiBzY29wZSwgRnVuY3Rpb25FeGVjdXRhYmxl
KiBleGVjdXRhYmxlLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICA6IEJhc2Uodm0sIGV4ZWN1
dGFibGUsIHNjb3BlLCBzdHJ1Y3R1cmUpCit7Cit9CisgICAgCit2b2lkIEpTQXJyb3dGdW5jdGlv
bjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZt
KTsKKy8vIFByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiBpcyB1bmRlZmluZWQKKyAgICBwdXRE
aXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwganNVbmRlZmluZWQoKSwgRG9u
dERlbGV0ZSB8IFJlYWRPbmx5IHwgRG9udEVudW0pOworfQorICAgIAordm9pZCBKU0Fycm93RnVu
Y3Rpb246OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikK
K3sKKyAgICBKU0Fycm93RnVuY3Rpb24qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNBcnJvd0Z1bmN0
aW9uKj4oY2VsbCk7CisgICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyh0aGlzT2JqZWN0LCBp
bmZvKCkpOworICAgIEJhc2U6OnZpc2l0Q2hpbGRyZW4odGhpc09iamVjdCwgdmlzaXRvcik7Cit9
CisgICAgCitDb25zdHJ1Y3RUeXBlIEpTQXJyb3dGdW5jdGlvbjo6Z2V0Q29uc3RydWN0RGF0YShK
U0NlbGwqIGNlbGwsIENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCit7CisgICAgSlNGdW5j
dGlvbiogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY2VsbCk7CisgICAgICAgIAor
ICAgIGNvbnN0cnVjdERhdGEuanMuZnVuY3Rpb25FeGVjdXRhYmxlID0gdGhpc09iamVjdC0+anNF
eGVjdXRhYmxlKCk7CisgICAgY29uc3RydWN0RGF0YS5qcy5zY29wZSA9IHRoaXNPYmplY3QtPnNj
b3BlKCk7CisgICAgcmV0dXJuIENvbnN0cnVjdFR5cGVOb25lOworfQorfSAvLyBuYW1lc3BhY2Ug
SlNDCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QXJyb3dGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1
bmN0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNzgwMTVkMzg3MjFjY2E0NGFlMmY2NWNiNmQ3N2I2YTY1MjIw
OTY1ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QXJyb3dGdW5jdGlvbi5oCkBAIC0wLDAgKzEsNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEpTQXJyb3dGdW5jdGlvbl9oCisjZGVmaW5l
IEpTQXJyb3dGdW5jdGlvbl9oCisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorCisjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0Lmgi
CisKK25hbWVzcGFjZSBKU0MgeworCitjbGFzcyBKU0Fycm93RnVuY3Rpb24gOiBwdWJsaWMgSlNG
dW5jdGlvbiB7CitwdWJsaWM6CisgICAgdHlwZWRlZiBKU0Z1bmN0aW9uIEJhc2U7CisgICAgICAg
IAorICAgIHN0YXRpYyBKU0Fycm93RnVuY3Rpb24qIGNyZWF0ZShWTSYgdm0sIEpTU2NvcGUqIHNj
b3BlLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QpCisgICAgeworICAgICAgICBKU0Fycm93RnVuY3Rpb24qIGZ1bmN0aW9uID0gbmV3
IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8SlNBcnJvd0Z1bmN0aW9uPih2bS5oZWFwKSkgSlNBcnJv
d0Z1bmN0aW9uKHZtLCBzY29wZSwgZXhlY3V0YWJsZSwgZ2xvYmFsT2JqZWN0LT5hcnJvd0Z1bmN0
aW9uU3RydWN0dXJlKCkpOworICAgICAgICBBU1NFUlQoZnVuY3Rpb24tPnN0cnVjdHVyZSgpLT5n
bG9iYWxPYmplY3QoKSk7CisgICAgICAgIGZ1bmN0aW9uLT5maW5pc2hDcmVhdGlvbih2bSk7Cisg
ICAgICAgIHJldHVybiBmdW5jdGlvbjsKKyAgICB9CisgICAgCisgICAgc3RhdGljIHZvaWQgZGVz
dHJveShKU0NlbGwqKTsKKyAgICAgICAgCisgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3Ry
dWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90
b3R5cGUpCisgICAgeworICAgICAgICBBU1NFUlQoZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgcmV0
dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUlu
Zm8oSlNGdW5jdGlvblR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKKyAgICB9CisgICAg
ICAgIAorICAgIHN0YXRpYyBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwg
Q29uc3RydWN0RGF0YSYpOworICAgICAgICAKKyAgICBERUNMQVJFX0lORk87CisKK3Byb3RlY3Rl
ZDoKKyAgICBjb25zdCBzdGF0aWMgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNI
YXNJbnN0YW5jZSB8IEJhc2U6OlN0cnVjdHVyZUZsYWdzOworICAgICAgICAKKyAgICBzdGF0aWMg
dm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CisgICAgICAgIAorcHJp
dmF0ZToKKyAgICBKU0Fycm93RnVuY3Rpb24oVk0mLCBKU1Njb3BlKiwgRnVuY3Rpb25FeGVjdXRh
YmxlKiwgU3RydWN0dXJlKik7CisKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7Cit9Owor
ICAgIAorfSAvLyBuYW1lc3BhY2UgSlNDCisjZW5kaWYgLy8gRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYCisKKyNlbmRpZiAvLyBKU0Fycm93RnVuY3Rpb25faApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNGdW5jdGlvbi5oCmluZGV4IDliZDNmZTI0MTUwMDYxMWNkOTk3NTZlNzFmZjU5
MDBhNGRmZGUwMGMuLjdhMTVjOTg1MTE5OTM1ZTQ0ZjlkYTU1NmIwYmIxMTJkOWExYzhmNWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKQEAgLTEzMiw2ICsx
MzIsOSBAQCBwcm90ZWN0ZWQ6CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBKU0Z1bmN0aW9uKFZN
JiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKICAgICBKU0Z1bmN0aW9uKFZNJiwgRnVu
Y3Rpb25FeGVjdXRhYmxlKiwgSlNTY29wZSopOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgSlNGdW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSosIEpTU2Nv
cGUqLCBTdHJ1Y3R1cmUqKTsKKyNlbmRpZgogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYs
IE5hdGl2ZUV4ZWN1dGFibGUqLCBpbnQgbGVuZ3RoLCBjb25zdCBTdHJpbmcmIG5hbWUpOwogICAg
IHVzaW5nIEJhc2U6OmZpbmlzaENyZWF0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgKaW5kZXggMzdiMjgxYWE1ZDBjMWI4NjE2NDUx
OWZkN2M1NjZlMzdmMGYxMzQwMS4uN2IzNDkwYmViOTRhMzU5M2VlMTdiYzNiMTZiMzJjN2RmYWY5
NTczZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlv
bklubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9u
SW5saW5lcy5oCkBAIC0zOCw2ICszOCwxNSBAQCBpbmxpbmUgSlNGdW5jdGlvbjo6SlNGdW5jdGlv
bihWTSYgdm0sIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgSlNTY29wZSogcwogewog
fQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK2lubGluZSBKU0Z1bmN0
aW9uOjpKU0Z1bmN0aW9uKFZNJiB2bSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBK
U1Njb3BlKiBzY29wZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCisgICAgOiBCYXNlKHZtLCBzY29w
ZSwgc3RydWN0dXJlKQorICAgICwgbV9leGVjdXRhYmxlKHZtLCB0aGlzLCBleGVjdXRhYmxlKQor
ICAgICwgbV9hbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnQoQ2xlYXJXYXRjaHBvaW50KQorewor
fQorI2VuZGlmCisgICAgCiBpbmxpbmUgRnVuY3Rpb25FeGVjdXRhYmxlKiBKU0Z1bmN0aW9uOjpq
c0V4ZWN1dGFibGUoKSBjb25zdAogewogICAgIEFTU0VSVCghaXNIb3N0RnVuY3Rpb25Ob25Jbmxp
bmUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVj
dC5jcHAKaW5kZXggMTc5NDlhMWI1ZWE4MTg5ZWIwNmNhNjFlMTE5YjkzZjc3NDk5MDMzYS4uODNj
ZTEwZDRlY2NiYzgwYWE0ZmVmOGU4NTI2YzUxMDY1MTE4ZTIxOSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtNjEsNiArNjEsNyBA
QAogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIkpTQXJy
YXlCdWZmZXJQcm90b3R5cGUuaCIKICNpbmNsdWRlICJKU0FycmF5SXRlcmF0b3IuaCIKKyNpbmNs
dWRlICJKU0Fycm93RnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNp
bmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgi
CkBAIC0yMzMsNiArMjM0LDkgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChWTSYgdm0pCiAg
ICAgZXhlYy0+c2V0Q2FsbGVlKG1fZ2xvYmFsQ2FsbGVlLmdldCgpKTsKIAogICAgIG1fZnVuY3Rp
b25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0Z1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0s
IHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgIG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRo
aXMsIEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9u
UHJvdG90eXBlLmdldCgpKSk7CisjZW5kaWYKICAgICBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUu
c2V0KHZtLCB0aGlzLCBKU0JvdW5kRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywg
bV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOwogICAgIG1fbmFtZWRGdW5jdGlvblN0cnVjdHVy
ZS5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBtX2Z1
bmN0aW9uU3RydWN0dXJlLmdldCgpLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBEb250RGVsZXRl
IHwgUmVhZE9ubHkgfCBEb250RW51bSwgbV9mdW5jdGlvbk5hbWVPZmZzZXQpKTsKICAgICBtX2lu
dGVybmFsRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBJbnRlcm5hbEZ1bmN0aW9uOjpj
cmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKQEAg
LTcyNSw2ICs3MjksOSBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojp2aXNpdENoaWxkcmVuKEpTQ2Vs
bCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNP
YmplY3QtPm1fY2FsbGVlU3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVj
dC0+bV9mdW5jdGlvblN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3Qt
Pm1fYm91bmRGdW5jdGlvblN0cnVjdHVyZSk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9hcnJvd0Z1bmN0aW9u
U3RydWN0dXJlKTsKKyNlbmRpZgogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX25h
bWVkRnVuY3Rpb25TdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5t
X3N5bWJvbE9iamVjdFN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3Qt
Pm1fcmVnRXhwTWF0Y2hlc0FycmF5U3RydWN0dXJlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCmluZGV4IDNlNTc4Mzc4YWU5M2I1YjEzZDhlODFl
MTZkYWU2MWZiODFhY2QxNmEuLjQ4OWYyZWYyMGM5MmExYjQzZDEwZTE4OGRhMzIxZjkzNjA0YjU0
YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2Jq
ZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3Qu
aApAQCAtMjI1LDYgKzIyNSw5IEBAIHByb3RlY3RlZDoKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0
dXJlPiBtX2NhbGxlZVN0cnVjdHVyZTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2Z1
bmN0aW9uU3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYm91bmRGdW5j
dGlvblN0cnVjdHVyZTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
IFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZTsKKyNlbmRp
ZgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZTsK
ICAgICBQcm9wZXJ0eU9mZnNldCBtX2Z1bmN0aW9uTmFtZU9mZnNldDsKICAgICBXcml0ZUJhcnJp
ZXI8U3RydWN0dXJlPiBtX3ByaXZhdGVOYW1lU3RydWN0dXJlOwpAQCAtNDU3LDYgKzQ2MCw5IEBA
IHB1YmxpYzoKICAgICBTdHJ1Y3R1cmUqIGNhbGxlZVN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJu
IG1fY2FsbGVlU3RydWN0dXJlLmdldCgpOyB9CiAgICAgU3RydWN0dXJlKiBmdW5jdGlvblN0cnVj
dHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fZnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBT
dHJ1Y3R1cmUqIGJvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2JvdW5k
RnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgIFN0cnVjdHVyZSogYXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsg
cmV0dXJuIG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQorI2VuZGlmCiAgICAgU3Ry
dWN0dXJlKiBuYW1lZEZ1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lZEZ1
bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CiAgICAgUHJvcGVydHlPZmZzZXQgZnVuY3Rpb25OYW1l
T2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9mdW5jdGlvbk5hbWVPZmZzZXQ7IH0KICAgICBTdHJ1
Y3R1cmUqIG51bWJlck9iamVjdFN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fbnVtYmVyT2Jq
ZWN0U3RydWN0dXJlLmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbHRoaXMuanMgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbHRoaXMuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNjEyZmJhZjgwNDQ4MmM3NzYxYzM3ZGQ2OTNhODQ4NWU1NTExNTczZQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1sZXhpY2FsdGhpcy5qcwpAQCAtMCwwICsxLDMxIEBACit2YXIgcmVzdWx0OworCisgdmFyIHRl
c3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFj
dHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIg
KyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2
YXIgYWZPYmpMZXhCaW5kMiA9IGZ1bmN0aW9uICgpIHsKKyAgdGhpcy5mdW5jID0gKCkgPT4gdGhp
czsKK307CisKK3ZhciBhZk9iakxleEJpbmQySW5zdGFuY2UgPSBuZXcgYWZPYmpMZXhCaW5kMigp
OworCit0ZXN0Q2FzZShhZk9iakxleEJpbmQySW5zdGFuY2UuZnVuYygpID09PSBhZk9iakxleEJp
bmQySW5zdGFuY2UsIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBp
bnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMyIik7CisKK3ZhciBvYmogPSB7CisgIG1ldGhv
ZDogZnVuY3Rpb24gKCkgeworICAgIHJldHVybiAoKSA9PiB0aGlzOworICB9Cit9OworCit0ZXN0
Q2FzZShvYmoubWV0aG9kKCkoKSA9PT0gb2JqLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxl
eGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMyIpOworCit2YXIg
ZmFrZSA9IHtzdGVhbDogb2JqLm1ldGhvZCgpfTsKK3Rlc3RDYXNlKGZha2Uuc3RlYWwoKSA9PT0g
b2JqLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiAjNCIpOworCisKKy8vIEZpeG1lOiBmb2xsb3dpbmcgdGVzdCBm
YWlscyBpbiBkZmctZWFnZXItbm8tY2ppdC12YWxpZGF0ZSAmIGZ0bC1lYWdlci1uby1jaml0IG1v
ZGUKK3ZhciByZWFsID0ge2JvcnJvdzogb2JqLm1ldGhvZH07Cit0ZXN0Q2FzZShyZWFsLmJvcnJv
dygpKCkgPT09IHJlYWwsIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRl
ZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM1Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tb3RoZXJzLmpzIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLW90aGVycy5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5lYmJmODU5ZTIwM2ViMWY1NGFjYWUxZDQwODNjYTNkZDNkYzk3NjFmCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1
bmN0aW9uLW90aGVycy5qcwpAQCAtMCwwICsxLDMwIEBACit2YXIgcmVzdWx0OworCisgdmFyIHRl
c3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFj
dHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIg
KyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2
YXIgc2ltcGxlQXJyb3dGdW5jdGlvbiA9ICgpID0+IHt9OworCit0ZXN0Q2FzZSh0eXBlb2Ygc2lt
cGxlQXJyb3dGdW5jdGlvbiwgImZ1bmN0aW9uIiwgIkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yo
c2ltcGxlQXJyb3dGdW5jdGlvbiksIEZ1bmN0aW9uLnByb3RvdHlwZSwgIkVycm9yOiBOb3QgY29y
cmVjdCBnZXRQcm90b3R5cGVPZiB2YWx1ZSBmb3IgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENh
c2Uoc2ltcGxlQXJyb3dGdW5jdGlvbiBpbnN0YW5jZW9mIEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6
IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgaW5zdGFuY2VvZiBtZXRob2QgZm9yIGFycm93IGZ1bmN0
aW9uIik7CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93RnVuY3Rpb24uY29uc3RydWN0b3IgPT0gRnVu
Y3Rpb24sIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBjb25zdHJ1Y3RvciBt
ZXRob2Qgb2YgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2UodHlwZW9mIHNpbXBsZUFycm93
RnVuY3Rpb24ucHJvdG90eXBlID09PSAndW5kZWZpbmVkJywgdHJ1ZSwgIkVycm9yOiBOb3QgY29y
cmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiIpOworCit2YXIgZXJy
b3JPbkNyZWF0ZSA9IGZhbHNlOworCit0cnkgeworICB2YXIgZmMgPSBuZXcgc2ltcGxlQXJyb3dG
dW5jdGlvbigpOworfQorY2F0Y2ggKGUpIHsKKyAgZXJyb3JPbkNyZWF0ZSA9IHRydWU7Cit9CisK
K3Rlc3RDYXNlKGVycm9yT25DcmVhdGUsIHRydWUsICJFcnJvcjogTm8gZXJyb3IgZHVyaW5nIHJ1
biBuZXcgQXJyb3dGdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXRkei5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi10ZHouanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTlkMzVjZGVh
NGJhZjY2NzQzMWFmOGFiZThkYWRmMjJkMDRiOTBlMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi10ZHouanMKQEAgLTAs
MCArMSwyNCBAQAordmFyIEEgPSBjbGFzcyBBIHsgfTsKK3ZhciBCID0gY2xhc3MgQiBleHRlbmRz
IEEgeworICBjb25zdHJ1Y3RvcihhY2Nlc3NUaGlzQmVmb3JlU3VwZXIpIHsKKyAgICBpZiAoYWNj
ZXNzVGhpc0JlZm9yZVN1cGVyKSB7CisgICAgICB2YXIgZiA9ICgpID0+IHRoaXM7CisgICAgICBz
dXBlcigpOworICAgIH0gZWxzZSB7CisgICAgICBzdXBlcigpOworICAgIH0KKyAgfQorfTsKKwor
dmFyIGV4Y2VwdGlvbiA9IG51bGw7Cit0cnkgeworICAgICBuZXcgQih0cnVlKTsKK30gY2F0Y2gg
KGUpIHsKKyAgICBleGNlcHRpb24gPSBlOworICAgIGlmICghKGUgaW5zdGFuY2VvZiBSZWZlcmVu
Y2VFcnJvcikpCisgICAgICAgIHRocm93ICJFeGNlcHRpb24gdGhyb3duIHdhcyBub3QgYSByZWZl
cmVuY2UgZXJyb3IiOworfQoraWYgKCFleGNlcHRpb24pCisgICAgdGhyb3cgIkV4Y2VwdGlvbiBu
b3QgdGhyb3duIGZvciBhbiB1bml0aWFsaXplZCB0aGlzIGF0IGl0ZXJhdGlvbiI7CisKK3ZhciBl
ID0gbmV3IEIoZmFsc2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9hcnJvd2Z1bmN0aW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA2ODdiM2FhYjFkMjdmNDUzZjkwNzYx
Y2VjMWFkNGQwNWNmMDNiMzUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24uanMKQEAgLTAsMCArMSwxNTQgQEAKK3ZhciBy
ZXN1bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVz
c2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2Ug
KyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAi
JyI7CisgIH0KK307CisKK3ZhciBhcnJvd0Z1bmN0aW9uMCA9IHYgPT4gdiArIDE7CityZXN1bHQg
PSBhcnJvd0Z1bmN0aW9uMCgxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDExICwiRXJyb3I6IE5vdCBj
b3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246IHYgPT4gdiArIDEiKTsKKwor
dmFyIGFycm93RnVuY3Rpb24xID0gKHYpID0+IHYgKiAyOworcmVzdWx0ID0gYXJyb3dGdW5jdGlv
bjEoMTApOwordGVzdENhc2UocmVzdWx0LCAyMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAodikgPT4gdiArIDEiKTsKKwordmFyIGFycm93RnVu
Y3Rpb24yID0gKCkgPT4gMTAwMDsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24yKDEyMTIpOwordGVz
dENhc2UocmVzdWx0LCAxMDAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUg
YXJyb3cgZnVuY3Rpb246ICgpID0+IDEwMDAiKTsKKwordmFyIHRtcFZhcmlhbHZlMl8xID0gMTUx
OwordmFyIGFycm93RnVuY3Rpb24yXzEgPSAoKSA9PiB0bXBWYXJpYWx2ZTJfMTsKK3Jlc3VsdCA9
IGFycm93RnVuY3Rpb24yXzEoMTIxKTsKK3Rlc3RDYXNlKHJlc3VsdCwgdG1wVmFyaWFsdmUyXzEg
LCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKCkg
PT4gdmFyaWFibGUiKTsKKwordmFyIGFycm93RnVuY3Rpb24zID0gKHYsIHgpID0+IHYgKyB4Owor
cmVzdWx0ID0gYXJyb3dGdW5jdGlvbjMoMTEsMTIpOwordGVzdENhc2UocmVzdWx0LCAyMyAsIkVy
cm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAoeCwgeSkg
PT4geCArIHkiKTsKKwordmFyIGFycm93RnVuY3Rpb25XcmFwcGVyID0gZnVuY3Rpb24gKGNsLCBw
YXJhbXRlcikgeyByZXR1cm4gY2wocGFyYW10ZXIpOyB9OworCityZXN1bHQgPSBhcnJvd0Z1bmN0
aW9uV3JhcHBlcih4ID0+IDEyMzQpOwordGVzdENhc2UocmVzdWx0LCAxMjM0ICwiRXJyb3I6IE5v
dCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYo
eCA9PiBjKSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMjM0LCAy
MzQ1KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIzNCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYywgeSkiKTsKKwor
IHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4gMTIxICsgMjMyKTsKK3Rlc3RDYXNl
KHJlc3VsdCwgMzUzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjMSArIGMyKSIpOworCisgcmVzdWx0ID0gYXJy
b3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMjMgKyAzMjEsIDk5OTkpOwordGVzdENhc2UocmVzdWx0
LCA0NDQgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlv
biBhcyBwYXJhbXRlcjogZih4ID0+IGMxICsgYzIsIHkpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1
bmN0aW9uV3JhcHBlcih4ID0+IHggKyAxMiwgMjEpOwordGVzdENhc2UocmVzdWx0LCAzMyAsIkVy
cm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFt
dGVyOiBmKHggPT4geCArIGMxLCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBw
ZXIoKHgpID0+IHggKyAyMSwgMzIpOwordGVzdENhc2UocmVzdWx0LCA1MywgIkVycm9yOiBOb3Qg
Y29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCh4
KSA9PiBjMSArIGMyLCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkg
PT4gMTAwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1
dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYykiKTsKKwor
IHZhciBleHRfdmFsdWUgPSAxMjE7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9
PiBleHRfdmFsdWUpOwordGVzdENhc2UocmVzdWx0LCAxMjEsICJFcnJvcjogTm90IGNvcnJlY3Qg
ZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiB2KSIp
OworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gZXh0X3ZhbHVlICogMTAp
OwordGVzdENhc2UocmVzdWx0LCAxMjEwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gdip4KSIpOworCisgcmVz
dWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKHgpID0+IGV4dF92YWx1ZSAqIHgsIDMwKTsKK3Rl
c3RDYXNlKHJlc3VsdCwgMzAqZXh0X3ZhbHVlICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKHgpID0+IHYqeCwgeSkiKTsK
KworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCwgMTEpOwordGVzdENh
c2UocmVzdWx0LCAxMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjMSwgeSkiKTsKKworIHJlc3VsdCA9IGFy
cm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCArIDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEw
ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMg
cGFyYW10ZXI6IGYoKCkgPT4gYzEgKyBjMikiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25X
cmFwcGVyKCgpID0+IDEwMCArIDExLCAxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDExMSAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVy
OiBmKCgpID0+IGMxICsgYzIsIHkpIik7CisKKyB2YXIgYXJyb3dGdW5jdGlvbjQgPSB2ID0+IHYg
KyAxLCB4eXoxID0gMTAxMDE7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uNCgxMDExKTsKK3Rlc3RD
YXNlKHJlc3VsdCwgMTAxMiAsIkVycm9yOiBOb3QgY29ycmVjdCBwYXJzaW5nIG9mIHRoIGFycm93
IGZ1bmN0aW9uIGluc2lkZSBvZiB0aGUgbGlzdCBvZiB2YXJzOiB2YXIgYWYgPSB2PT4gdiArIDE7
IHp4Yz1jOyIpOwordGVzdENhc2UoeHl6MSwgMTAxMDEgLCJFcnJvcjogTm90IGNvcnJlY3QgcGFy
c2luZyBvZiB0aCBhcnJvdyBmdW5jdGlvbiBpbnNpZGUgb2YgdGhlIGxpc3Qgb2YgdmFyczogdmFy
IGFmID0gdj0+IHYgKyAxOyB6eGM9YzsiKTsKKworIHZhciBhcnJvd0Z1bmN0aW9uV3JhcHBlcjIg
PSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVyMSwgcGFyYW10ZXIyKSB7IHJldHVybiBjbChwYXJhbXRl
cjEsIHBhcmFtdGVyMik7IH07CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcjIoKHgsIHkp
ID0+IHggKyB5LCAxMiAsNDMpOwordGVzdENhc2UocmVzdWx0LCA1NSAsIkVycm9yOiBOb3QgY29y
cmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtZXRlcjogZigoeCwg
eSkgPT4geCArIHksIGMxLCBjMikiKTsKKworIHZhciBhcnJvd0Z1bmN0aW9BcnJheTAgPSBbdiA9
PiB2ICogMTBdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkwWzBdKDEwKTsKK3Rlc3RDYXNl
KHJlc3VsdCwgMTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogW3Y9PnYqMTBdIik7CisKKyB2YXIgYXJyb3dGdW5j
dGlvQXJyYXkxID0gW3YgPT4gdiArIDEsIHYgPT4gdiArIDJdOworcmVzdWx0ID0gYXJyb3dGdW5j
dGlvQXJyYXkxWzBdKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEgLCJFcnJvcjogTm90IGNvcnJl
Y3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbdiA9
PiB2ICsgMSwgIHYgPT4gdiArIDJdIik7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTFbMV0o
MTEpOwordGVzdENhc2UocmVzdWx0LCAxMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24g
b2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFt2ID0+IHYgKyAxLCAgdiA9
PiB2ICsgMl0iKTsKKworIHZhciBhcnJvd0Z1bmN0aW9BcnJheTIgPSBbKHYpID0+IHYgKyAxLCAo
dikgPT4gdiArIDJdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkyWzBdKDExKTsKK3Rlc3RD
YXNlKHJlc3VsdCwgMTIgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKHYpID0+IHYgKyAxLCAgKHYpID0+IHYgKyAy
XSIpOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkyWzFdKDExKTsKK3Rlc3RDYXNlKHJlc3Vs
dCwgMTMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlv
biBhcyBpdGVtIGluIGFycmF5OiBbKHYpID0+IHYgKyAxLCAgKHYpID0+IHYgKyAyXSIpOworCisg
dmFyIGFycm93RnVuY3Rpb0FycmF5MyA9IFsoKSA9PiAxMDEsICgpID0+IDEyMzIzXTsKK3Jlc3Vs
dCA9IGFycm93RnVuY3Rpb0FycmF5M1swXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMSwgIkVy
cm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0g
aW4gYXJyYXk6IFsoKSA9PiBjMSwgICgpID0+IGMyXSIpOworcmVzdWx0ID0gYXJyb3dGdW5jdGlv
QXJyYXkzWzFdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIzMjMsICJFcnJvcjogTm90IGNvcnJl
Y3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKCkg
PT4gYzEsICAoKSA9PiBjMl0iKTsKKwordmFyIGFycm93RnVuY3Rpb25PYmogPSB7ZnVuYyA6IHkg
PT4geSArIDEyfTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25PYmouZnVuYygxMSk7Cit0ZXN0Q2Fz
ZShyZXN1bHQsIDIzICwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIHByb3BlcnR5OiB7ZnVuYyA6IHkgPT4geSArIDEyIH0iKTsKKwordmFyIGFm
T2JqTGV4QmluZDIgPSBmdW5jdGlvbiAoKSB7CisgIHRoaXMuZnVuYyA9ICgpID0+IHRoaXM7Cit9
OworCit2YXIgYXJyb3dGYXRGdW5jdGlvbjAgPSAoKSA9PiB7IHJldHVybiAxMDAwOyB9OworcmVz
dWx0ID0gYXJyb3dGYXRGdW5jdGlvbjAoMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDAwICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5
IGFzIGJsb2NrOiAoKSA9PiB7IHJldHVybiAxMDAwOyB9Iik7CisKK3ZhciBhcnJvd0ZhdEZ1bmN0
aW9uMSA9IHYgPT4geyB2YXIgaW50dmFsID0gMTAwOyByZXR1cm4gdiAqIGludHZhbDsgfTsKK3Jl
c3VsdCA9IGFycm93RmF0RnVuY3Rpb24xKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEwMCAsIkVy
cm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9k
eSBhcyBibG9jazogeCA9PiB7IHZhciB2PTEwMDA7IHJldHVybiB2Kng7IH0iKTsKKwordmFyIGFy
cm93RmF0RnVuY3Rpb24yID0gKHYpID0+IHsgdmFyIGludCA9IDIwMDsgcmV0dXJuIHYgKiBpbnQ7
IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0aW9uMigxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIy
MDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3
aXRoIGJvZHkgYXMgYmxvY2s6ICh4KSA9PiB7IHZhciB2PTEwMDA7IHJldHVybiB2Kng7IH0iKTsK
KwordmFyIGFycm93RmF0RnVuY3Rpb24zID0gKHYsIHgpID0+IHsgdmFyIHJlc3VsdCA9IHggKiB2
OyByZXR1cm4gcmVzdWx0OyB9OworcmVzdWx0ID0gYXJyb3dGYXRGdW5jdGlvbjMoMTEsIDEyMjIy
KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTM0NDQyICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiAodiwgeCkgPT4geyB2
YXIgcmVzdWx0ID0geCAqIHY7IHJldHVybiByZXN1bHQ7IH0iKTsKKworcmVzdWx0ID0gYXJyb3dG
dW5jdGlvbldyYXBwZXIoeD0+e3JldHVybiB4ICogMjU7fSwgMTIxKTsKK3Rlc3RDYXNlKHJlc3Vs
dCwgMjUqMTIxICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiBmKHggPT4ge3JldHVybiB4ICogMjU7fSwgMTIxKSIp
OworCityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcjIoKHgsIHkpPT57cmV0dXJuIHggKiB5
O30sIDE0LCAxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDE0KjEyICwiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiBmKCh4
LCB5KT0+e3JldHVybiB4ICogeTt9LCAxNCwgMTIxKSkiKTsKKwordmFyIHNpbXBsZUFycm93RnVu
Y3Rpb24gPSAoKSA9PiB7fTsKKwordGVzdENhc2UodHlwZW9mIHNpbXBsZUFycm93RnVuY3Rpb24s
ICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNvcnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24iKTsKKwordGVzdENhc2UoT2JqZWN0LmdldFByb3RvdHlwZU9mKHNpbXBsZUFycm93RnVuY3Rp
b24pLCBGdW5jdGlvbi5wcm90b3R5cGUsICJFcnJvcjogTm90IGNvcnJlY3QgZ2V0UHJvdG90eXBl
T2YgdmFsdWUgZm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93RnVu
Y3Rpb24gaW5zdGFuY2VvZiBGdW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1
bHQgZm9yIGluc3RhbmNlb2YgbWV0aG9kIGZvciBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2Fz
ZShzaW1wbGVBcnJvd0Z1bmN0aW9uLmNvbnN0cnVjdG9yID09IEZ1bmN0aW9uLCB0cnVlLCAiRXJy
b3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgY29uc3RydWN0b3IgbWV0aG9kIG9mIGFycm93IGZ1
bmN0aW9uIik7CisKK3Rlc3RDYXNlKHR5cGVvZiBzaW1wbGVBcnJvd0Z1bmN0aW9uLnByb3RvdHlw
ZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBw
cm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24iKTsKKwordmFyIGVycm9yT25DcmVhdGUgPSBmYWxz
ZTsKKwordHJ5IHsKKyAgdmFyIGZjID0gbmV3IHNpbXBsZUFycm93RnVuY3Rpb24oKTsKK30KK2Nh
dGNoIChlKSB7CisgIGVycm9yT25DcmVhdGUgPSB0cnVlOworfQorCit0ZXN0Q2FzZShlcnJvck9u
Q3JlYXRlLCB0cnVlLCAiRXJyb3I6IE5vIGVycm9yIGR1cmluZyBydW4gbmV3IEFycm93RnVuY3Rp
b24iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKaW5kZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlh
Zjg2MC4uMTE0OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
KysrIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19Q
QVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9
IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5B
QkxFX0VTNl9DTEFTU19TWU5UQVg7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0g
RU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklO
RyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJM
RV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yID0gRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzI7
CkBAIC0yMTQsNCArMjE1LDQgQEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NB
VFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRI
TUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19T
Q1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVN
RU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAk
KEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVf
Q1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19C
T1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9D
U1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVf
Q1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChF
TkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJM
RV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5F
X0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVN
RV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1Rf
RUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19F
TEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRT
X0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURf
RVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFC
TEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElE
REVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChF
TkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5D
T01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1Nf
R0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lP
U19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5B
QkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJP
TFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VT
RV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJM
RV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFC
TEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNF
UykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNU
KSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5B
QkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVO
QUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChF
TkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJM
RV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRT
KSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9E
RVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJ
WklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcp
ICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChF
TkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVF
KSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChF
TkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRU
X1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9G
VExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRf
QVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9E
RUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9D
QU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVf
QVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hF
X1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9Y
WSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgp
ICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxU
RVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8y
KSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJ
VElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9M
QVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdF
X1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JT
X0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJM
RV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5B
QkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQo
RU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQo
RU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChF
TkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxF
X0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJ
T04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9J
Q09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVf
SU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdF
VCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0la
SU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FD
WV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xF
VFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5B
QkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJM
RV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRN
TCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVO
VF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykg
JChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BV
QkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFU
SU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RF
X0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVC
QkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZ
TlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQo
RU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RF
TEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVO
QUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9V
Q0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNF
UlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFC
TEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVf
V0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVf
V0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcp
ICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVf
WFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9T
QVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9N
T0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4
ODA1ODlhZjg2MC4uMTE0OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5B
QkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xBU1Nf
U1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVY
VCA9IDsKIEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yID0gRU5BQkxFX0NTU19BTklNQVRJ
T05TX0xFVkVMXzI7CkBAIC0yMTQsNCArMjE1LDQgQEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsK
IAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURf
TEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRF
UklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRF
RF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRU
QUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NB
TlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklO
RykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQo
RU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5H
KSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9V
VCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVT
T0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVW
RUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NT
UzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVf
Q1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFC
TEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFC
TEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJM
RV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FN
RVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikg
JChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05E
QVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJ
RV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
Ul9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAk
KEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVS
UFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVf
TUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAk
KEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VU
SUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElD
X1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05f
RlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5T
UEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJf
QkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhF
U0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFC
TEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBI
T05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxF
X1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9J
Q09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VM
RUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9E
QVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJH
TCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJf
U09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChF
TkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xU
KSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVS
QVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUp
OworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElO
RykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQo
RU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxF
X0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9D
TEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFU
SU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxF
X0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJM
RV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFC
TEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9D
U1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19U
RVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lC
SUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJE
X1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNG
RVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNf
TEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9B
UEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFC
TEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5H
KSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VS
UykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BM
QVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1Nf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdB
Q1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8p
ICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9N
QVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09V
UkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAk
KEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJ
R0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BP
SU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMp
ICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JF
UVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChF
TkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkg
JChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRM
RV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIp
ICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9F
TEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkg
JChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19U
UkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJ
QSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExB
WSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxF
X1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9V
VCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09Q
KSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BS
RVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2
ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5B
QkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xBU1Nf
U1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVY
VCA9IDsKIEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yID0gRU5BQkxFX0NTU19BTklNQVRJ
T05TX0xFVkVMXzI7CkBAIC0yMTQsNCArMjE1LDQgQEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsK
IAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURf
TEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRF
UklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRF
RF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRU
QUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NB
TlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklO
RykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQo
RU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5H
KSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9V
VCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVT
T0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVW
RUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NT
UzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVf
Q1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFC
TEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFC
TEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJM
RV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FN
RVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikg
JChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05E
QVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJ
RV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
Ul9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAk
KEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVS
UFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVf
TUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAk
KEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VU
SUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElD
X1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05f
RlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5T
UEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJf
QkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhF
U0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFC
TEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBI
T05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxF
X1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9J
Q09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VM
RUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9E
QVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJH
TCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJf
U09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChF
TkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xU
KSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVS
QVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUp
OworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElO
RykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQo
RU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxF
X0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9D
TEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFU
SU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxF
X0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJM
RV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFC
TEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9D
U1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19U
RVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lC
SUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJE
X1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNG
RVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNf
TEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9B
UEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFC
TEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5H
KSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VS
UykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BM
QVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1Nf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdB
Q1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8p
ICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9N
QVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09V
UkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAk
KEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJ
R0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BP
SU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMp
ICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JF
UVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChF
TkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkg
JChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRM
RV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIp
ICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9F
TEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkg
JChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19U
UkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJ
QSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExB
WSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxF
X1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9V
VCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09Q
KSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BS
RVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJl
cy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQppbmRleCAwYzBmNWY3
NWYxYzAxMWE3NTcyMGUxOGU1NjhhOTlkZWVlYjVlNjRlLi5mY2JlYzEwOTM5ODcxODcwMWIyNmUw
Njc1MzQyNWNhZjMxNDNmZDc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVy
ZXMuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCkBAIC0zOCw2
ICszOCw3IEBAIG1hY3JvKFdFQktJVF9PUFRJT05fQkVHSU4pCiAgICAgV0VCS0lUX09QVElPTl9E
RUZJTkUoRU5BQkxFX0NBTlZBU19QUk9YWSAiVG9nZ2xlIENhbnZhc1Byb3h5IHN1cHBvcnQiIE9G
RikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgIlRv
Z2dsZSBNZXNzYWdlQ2hhbm5lbCBhbmQgTWVzc2FnZVBvcnQgc3VwcG9ydCIgT04pCiAgICAgV0VC
S0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggIlRvZ2dsZSBFUzYgY2xh
c3Mgc3ludGF4IHN1cHBvcnQiIE9OKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9F
UzZfQVJST1dGVU5DVElPTl9TWU5UQVggIlRvZ2dsZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4
IHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DT05URU5UX0ZJ
TFRFUklORyAiVG9nZ2xlIGNvbnRlbnQgZmlsdGVyaW5nIHN1cHBvcnQiIE9GRikKICAgICBXRUJL
SVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ09OVEVYVF9NRU5VUyAiVG9nZ2xlIENvbnRleHQgTWVu
dSBzdXBwb3J0IiBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ1NQX05FWFQg
IlRvZ2dsZSBDb250ZW50IFNlY3VyaXR5IFBvbGljeSAxLjEgc3VwcG9ydCIgT0ZGKQpkaWZmIC0t
Z2l0IGEvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5j
bWFrZQppbmRleCAyMWQzZmNjNWQ5ODNmOTU5NWRlZjM1MTA1NjhjZGM5ODk2NTI0NmVkLi5jZjFh
ZmU1NmM1ZjBmMjYwOTkwOTBlNTFiN2IyYTY2MDNlYTA3MzIxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
Y21ha2Vjb25maWcuaC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQpAQCAt
MTMsNiArMTMsNyBAQAogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NBTlZBU19QUk9YWQogI2NtYWtl
ZGVmaW5lMDEgRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVf
RVM2X0NMQVNTX1NZTlRBWAorI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWAogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HCiAjY21ha2Vk
ZWZpbmUwMSBFTkFCTEVfQ09OVEVYVF9NRU5VUwogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NSRURF
TlRJQUxfU1RPUkFHRQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1
cmVMaXN0LnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCmluZGV4
IDE2ZmQ2NDljNjhkNmIzZDQzZDBiMzFlMzM1NzkwNGZjODcyNGE3ZWIuLjIyM2IzMTFiY2ZiYWIy
YzI2OGE3ZjI2NTJkMTRlZDE5NjM3ZmRmY2UgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cGVybC9GZWF0dXJlTGlzdC5wbQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVh
dHVyZUxpc3QucG0KQEAgLTQ0LDYgKzQ0LDcgQEAgQkVHSU4gewogbXkgKAogICAgICR0aHJlZURS
ZW5kZXJpbmdTdXBwb3J0LAogICAgICRhY2NlbGVyYXRlZDJEQ2FudmFzU3VwcG9ydCwKKyAgICAk
YXJyb3dmdW5jdGlvblN5bnRheCwKICAgICAkYmF0dGVyeVN0YXR1c1N1cHBvcnQsCiAgICAgJGNh
bnZhc1BhdGhTdXBwb3J0LAogICAgICRjYW52YXNQcm94eVN1cHBvcnQsCkBAIC0xNTQsNiArMTU1
LDkgQEAgbXkgQGZlYXR1cmVzID0gKAogICAgIHsgb3B0aW9uID0+ICJhY2NlbGVyYXRlZC0yZC1j
YW52YXMiLCBkZXNjID0+ICJUb2dnbGUgQWNjZWxlcmF0ZWQgMkQgQ2FudmFzIHN1cHBvcnQiLAog
ICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTIiwgZGVmYXVsdCA9
PiBpc0d0aygpLCB2YWx1ZSA9PiBcJGFjY2VsZXJhdGVkMkRDYW52YXNTdXBwb3J0IH0sCiAKKyAg
ICB7IG9wdGlvbiA9PiAiYXJyb3dmdW5jdGlvbi1zeW50YXgiLCBkZXNjID0+ICJUb2dnbGUgRVM2
IGFycm93IGZ1bmN0aW9uIHN5bnRheCBzdXBwb3J0IiwKKyAgICAgIGRlZmluZSA9PiAiRU5BQkxF
X0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCIsIGRlZmF1bHQgPT4gMSwgdmFsdWUgPT4gXCRhcnJv
d2Z1bmN0aW9uU3ludGF4IH0sCisKICAgICB7IG9wdGlvbiA9PiAiYmF0dGVyeS1zdGF0dXMiLCBk
ZXNjID0+ICJUb2dnbGUgQmF0dGVyeSBTdGF0dXMgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4g
IkVOQUJMRV9CQVRURVJZX1NUQVRVUyIsIGRlZmF1bHQgPT4gaXNFZmwoKSwgdmFsdWUgPT4gXCRi
YXR0ZXJ5U3RhdHVzU3VwcG9ydCB9LAogCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VM
b2cKaW5kZXggYWY2YWQ4Nzk0NzFjNjIxNGQ3ODQwZTRlOTVjYTNlZmNkYTlkN2I2Ny4uZGQ4OTBk
Yjc4OWZkNjA5YWI1ZjJiMDcxNTk1N2M2OTUyYmQ2MTU4NyAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9n
CisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE1LTA0LTEzICAgU2thY2hrb3Yg
QWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxlbWVu
dCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyB0byBzd2l0Y2ggb24vb2Zm
IGVzNiBhcnJvdyBmdW5jdGlvbiBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYCisKKyAg
ICAgICAgICogU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlOgorICAgICAgICAgKiBT
b3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZToKKwogMjAxNS0wNC0xMSAgTWljaGFlbCBDYXRhbnph
cm8gIDxtY2F0YW56YXJvQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0NNYWtlXSBNaXNjZWxsYW5l
b3VzIGlzc3VlcyBpbiBXZWJLaXRGZWF0dXJlcy5jbWFrZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250633</attachid>
            <date>2015-04-13 04:09:04 -0700</date>
            <delta_ts>2015-04-17 15:19:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150413140807.patch</filename>
            <type>text/plain</type>
            <size>4659</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyNzAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
Nzk1NjMyMmMxN2YwM2Q1ZTgyZGU1MGJmYjRjNzZiMDk0NWNlYTY4Li4wZjg2NGE0YzA2OTk2NTg3
ZjcyYWMyNGM1OGUzOTdmMmZmMjc2OWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMSBAQAorMjAxNS0wNC0xMiAgQWxleGFuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21h
aWwuY29tPgorICAgICAgICBTbWFsbCByZWZhY3RvcmluZyBvZiB0aGUgcGFyY2VyLmNwcCBmaWxl
LiBJdCBpcyBuZWNlc3NhcnkgdG8gaW5jcmVhc2UgcmVhZGFiaWxpdHkgb2YgdGhlIHBhdGNoCisg
ICAgICAgIHdpdGggRVM2IEFycm93IGZ1bmN0aW9uIGltcGxlbWVudGF0aW9uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAq
IHBhcnNlci9QYXJzZXIuaDoKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKwogMjAxNS0w
NC0xMiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBb
RVM2XSBJbXBsZW1lbnQgQXJyYXkucHJvdG90eXBlLnZhbHVlcwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXIuY3BwCmluZGV4IDMyZDI1MGNhN2NjNTNmNGJlYTYxZjYxYjZkYWJmZTY0
YmNiYzY4NDYuLjY0NzgyMGFkODNkZjQ0M2QzMGQwNGNmYWUyMjU0ZmFlYzk3MDdhYjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKQEAgLTEyOTcsMTUgKzEyOTcsOCBA
QCBzdGF0aWMgY29uc3QgY2hhciogc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKEZ1bmN0aW9uUGFyc2VN
b2RlIG1vZGUpCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBM
ZXhlclR5cGU+Ci10ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblJl
cXVpcmVtZW50cyByZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUsCi0gICAgYm9v
bCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kIG93bmVyQ2xhc3NLaW5k
LCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRl
cj4mIGluZm8pCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPiB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IGludCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvblBhcmFtdGVy
cyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMgcmVxdWlyZW1lbnRz
LCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBB
dXRvUG9wU2NvcGVSZWYmIGZ1bmN0aW9uU2NvcGUsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVp
bGRlcj4mIGluZm8pCiB7Ci0gICAgQXV0b1BvcFNjb3BlUmVmIGZ1bmN0aW9uU2NvcGUodGhpcywg
cHVzaFNjb3BlKCkpOwotICAgIGZ1bmN0aW9uU2NvcGUtPnNldElzRnVuY3Rpb24oKTsKLSAgICBp
bnQgZnVuY3Rpb25OYW1lU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7Ci0g
ICAgY29uc3QgSWRlbnRpZmllciogbGFzdEZ1bmN0aW9uTmFtZSA9IG1fbGFzdEZ1bmN0aW9uTmFt
ZTsKLSAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBudWxscHRyOwogICAgIGlmIChtYXRjaChJREVO
VCkpIHsKICAgICAgICAgaW5mby5uYW1lID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAg
IG1fbGFzdEZ1bmN0aW9uTmFtZSA9IGluZm8ubmFtZTsKQEAgLTEzMjQsNyArMTMxNyw3IEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VG
dW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29y
ZChzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSIpOwogICAgICAgICBmYWlsV2l0
aE1lc3NhZ2UoIkV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhICIsIHN0cmluZ0ZvckZ1
bmN0aW9uTW9kZShtb2RlKSwgIidzIHBhcmFtZXRlciBsaXN0Iik7CiAgICAgfQotCisgICAgCiAg
ICAgaWYgKG1vZGUgPT0gR2V0dGVyTW9kZSkKICAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBB
UkVOLCAiZ2V0dGVyIGZ1bmN0aW9ucyBtdXN0IGhhdmUgbm8gcGFyYW1ldGVycyIpOwogICAgIGVs
c2UgaWYgKG1vZGUgPT0gU2V0dGVyTW9kZSkgewpAQCAtMTM0MSw2ICsxMzM0LDIxIEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5j
dGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIH0KICAgICAgICAgY29uc3VtZU9yRmFpbChDTE9T
RVBBUkVOLCAiRXhwZWN0ZWQgYSAnKScgb3IgYSAnLCcgYWZ0ZXIgYSBwYXJhbWV0ZXIgZGVjbGFy
YXRpb24iKTsKICAgICB9CisgICAgCisgICAgcmV0dXJuIHBhcmFtZXRlcnNTdGFydDsKK30KKyAg
ICAKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWls
ZGVyJiBjb250ZXh0LCBGdW5jdGlvblJlcXVpcmVtZW50cyByZXF1aXJlbWVudHMsIEZ1bmN0aW9u
UGFyc2VNb2RlIG1vZGUsCisgICAgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29uc3Ry
dWN0b3JLaW5kIG93bmVyQ2xhc3NLaW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNl
ckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mIGluZm8pCit7CisgICAgQXV0b1BvcFNjb3BlUmVm
IGZ1bmN0aW9uU2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOworICAgIGZ1bmN0aW9uU2NvcGUtPnNl
dElzRnVuY3Rpb24oKTsKKyAgICBpbnQgZnVuY3Rpb25OYW1lU3RhcnQgPSBtX3Rva2VuLm1fbG9j
YXRpb24uc3RhcnRPZmZzZXQ7CisgICAgY29uc3QgSWRlbnRpZmllciogbGFzdEZ1bmN0aW9uTmFt
ZSA9IG1fbGFzdEZ1bmN0aW9uTmFtZTsKKyAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBudWxscHRy
OworICAgIAorICAgIGludCBwYXJhbWV0ZXJzU3RhcnQgPSBwYXJzZUZ1bmN0aW9uUGFyYW10ZXJz
KGNvbnRleHQsIHJlcXVpcmVtZW50cywgbW9kZSwgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIGZ1
bmN0aW9uU2NvcGUsIGluZm8pOwogCiAgICAgbWF0Y2hPckZhaWwoT1BFTkJSQUNFLCAiRXhwZWN0
ZWQgYW4gb3BlbmluZyAneycgYXQgdGhlIHN0YXJ0IG9mIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25N
b2RlKG1vZGUpLCAiIGJvZHkiKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgK
aW5kZXggMGYyNzI4Zjg2MjFmODAxMGM0MTBiZjc5ODc2MTliZjIzZTUwYWY4Yi4uNzhiYWZmYTBl
MTc3M2M4MjA2OThiOTIwM2YwZjZhM2Q3YWQzMmVjNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlci5oCkBAIC03NzMsNiArNzczLDggQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJu
IHRyeVBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOwog
CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgYm9vbCBwYXJz
ZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzLCBGdW5jdGlv
blBhcnNlTW9kZSwgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5k
LCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRl
cj4mKTsKKyAgICAKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElO
RSBpbnQgcGFyc2VGdW5jdGlvblBhcmFtdGVycyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWly
ZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSwgYm9vbCwgQXV0b1BvcFNjb3BlUmVmJiwgUGFyc2Vy
RnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYpOwogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFY
KQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVDbGFz
c0V4cHJlc3Npb24gcGFyc2VDbGFzcyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1lbnRz
LCBQYXJzZXJDbGFzc0luZm88VHJlZUJ1aWxkZXI+Jik7CiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250643</attachid>
            <date>2015-04-13 09:47:49 -0700</date>
            <delta_ts>2015-04-13 10:06:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150413194646.patch</filename>
            <type>text/plain</type>
            <size>138164</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyNzAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
Nzk1NjMyMmMxN2YwM2Q1ZTgyZGU1MGJmYjRjNzZiMDk0NWNlYTY4Li41YmQxNTY0Nzc4OWQwODE0
OWI3NGNkMmY1NjMyODU1YWE1ZTY3ZTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMjMgQEAKKzIwMTUtMDQtMTMgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgc3VwcG9ydCBvZiBFUzYgYXJyb3cgZnVuY3Rpb24uIENoYW5nZXMgd2VyZSBtYWRlIGFj
Y29yZGluZyBmb2xsb3dpbmcgc3BlYyBodHRwOi8vd2lraS5lY21hc2NyaXB0Lm9yZy9kb2t1LnBo
cD9pZD1oYXJtb255OmFycm93X2Z1bmN0aW9uX3N5bnRheAorICAgICAgICBJbiBwYXRjaCB3ZXJl
IGltcGxlbWVudGVkIHRoZSBzaW1wbGVzdCBjYXNlczoKKyAgICAgICAgICAxIG5vIHBhcmFtZXRl
cnMgICAgICAgICAgICAgICAgKCkgPT4gMTAgKyAyMAorICAgICAgICAgIDIgc2luZ2xlIHBhcmFt
ZXRlciAgICAgICAgICAgICAgeCA9PiB4ICsgMjAKKyAgICAgICAgICAzIG11bHRpcGxlIHBhcmFt
ZXRlcnMgICAgICAoeCwgeSkgPT4geCArIHkKKyAgICAgICAgICA0IGFycm93IGZ1bmN0aW9uIHdp
dGggYmxvY2sgICAgIHggPT4geyByZXR1cm4geCoxMDsgfQorICAgICAgICAgIDUgbGV4aWNhbCB0
aGlzIC0gdmFyaWFibGUgdGhpcyBpcyBwb2ludCB0byB0aGUgdGhpcyBvZiB0aGUgZnVuY3Rpb24g
d2hlcmUgYXJyb3cgZnVuY3Rpb24gaXMgZGVjbGFyZWQKKyAgICAgICAgICA2IE5vIGNvbnN0cnVj
dG9yIC0gdGhlIHVzaW5nIG9mIHRoZSBjb21tYW5kIG5ldyBmb3IgYXJyb3cgZnVuY3Rpb24gbGVh
ZHMgdG8gcnVudGltZSBlcnJvci4gCisKKyAgICAgICAgIE5vdCB5ZXQgaW1wbGVtZW50ZWQ6Cisg
ICAgICAgICAgMSB0aGUgdmFyaWFibGUgd2l0aCBuYW1lIGFyZ3VtZW50cyBpbnNpZGUgb2YgdGhl
IGFycm93IGZ1bmN0aW9uIHNob3VsZCBwb2ludCB0byBsaXN0IG9mIGFyZ3VtZW50cyBvZiBmdW5j
dGlvbiB3aGVyZSBhcnJvdyBmdW5jdGlvbiBpcyBkZWNsYXJlZAorICAgICAgICAgIDIgcGFyc2Vy
IHdpbGwgcGFyc2UgdGhlIHN0YXRlbWVudCB4LCB5ID0+IHggKyB5IGluc3RlYWQgb2YgcmFpc2lu
ZyBleGNlcHRpb24KKyAgICAgICAgICAzIG1ldGhvZCBjYWxsLCBhcHBseSwgYmluZCBzaG91bGQg
bm90IG92ZXJyaWRlIHRoZSB0aGlzIHZhcmlhYmxlIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgor
ICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvajoK
KyAgICAgICAgKiBieXRlY29kZS9CeXRlY29kZUxpc3QuanNvbjoKKyAgICAgICAgKiBieXRlY29k
ZS9CeXRlY29kZVVzZURlZi5oOgorICAgICAgICAoSlNDOjpGdW5jdG9yOjpjb21wdXRlVXNlc0Zv
ckJ5dGVjb2RlT2Zmc2V0KToKKyAgICAgICAgKiBieXRlY29kZS9Db2RlQmxvY2suY3BwOgorICAg
ICAgICAoSlNDOjpDb2RlQmxvY2s6OmR1bXBCeXRlY29kZSk6CisgICAgICAgICogYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2Rl
R2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdB
cnJvd0Z1bmN0aW9uRXhwcmVzc2lvbik6IGFkZGVkCisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2Vu
ZXJhdG9yOjplbWl0VGhpc05vZGVCeXRlY29kZSk6IGFkZGVkCisgICAgICAgICogYnl0ZWNvbXBp
bGVyL05vZGVzQ29kZWdlbi5jcHA6CisgICAgICAgIChKU0M6OmVtaXRCeXRlY29kZTo6ZW1pdEJ5
dGVjb2RlKTogYWRkZWQKKyAgICAgICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGU6OmVtaXRCeXRl
Y29kZSk6IGFkZGVkCisgICAgICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAg
ICAgKEpTQzo6Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAqIGRmZy9ERkdD
YXBhYmlsaXRpZXMuY3BwOgorICAgICAgICAoSlNDOjpDYXBhYmlsaXR5TGV2ZWw6OmNhcGFiaWxp
dHlMZXZlbCk6CisgICAgICAgICogaml0L0pJVC5oOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRf
b3BfbmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUSW5saW5lcy5o
OgorICAgICAgICAoSlNDOjpKSVQ6OmNhbGxPcGVyYXRpb24pOiBhZGRlZAorICAgICAgICAqIGpp
dC9KSVQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3MpOgor
ICAgICAgICAqIGppdC9KSVRPcGNvZGVzLmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29w
X25ld19hcnJvd19mdW5jX2V4cCk6IGFkZGVkCisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMu
Y3BwOgorICAgICAgICAoSlNDOjpKSVRfT1BFUkFUSU9OOjpvcGVyYXRpb25OZXdBcnJvd0Z1bmN0
aW9uKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5oOgorICAgICAgICAoSlND
OjpKSVRfT1BFUkFUSU9OOjpvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKTogYWRkZWQKKyAgICAg
ICAgKiBsbGludC9MTEludFNsb3dQYXRocy5jcHA6CisgICAgICAgIChMTElOVF9TTE9XX1BBVEhf
REVDTChzbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBsbGlu
dC9MTEludFNsb3dQYXRocy5oOgorICAgICAgICAoTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19w
YXRoX25ld19hcnJvd19mdW5jX2V4cCkpOiBhZGRlZAorICAgICAgICAqIGxsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOgorICAgICAgICAqIHBhcnNlci9BU1RCdWlsZGVyLmg6CisgICAgICAg
IChKU0M6OkFTVEJ1aWxkZXI6OmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAgICAgKiBw
YXJzZXIvTGV4ZXIuY3BwOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlv
bik6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpsZXgpOgorICAgICAgICAqIHBhcnNlci9MZXhl
ci5oOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlvbik6CisgICAgICAg
ICogcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaDoKKyAgICAgICAgKEpTQzo6QXJyb3dGdW5jRXhw
ck5vZGU6OkFycm93RnVuY0V4cHJOb2RlKTogYWRkZWQKKyAgICAgICAgKiBwYXJzZXIvTm9kZXMu
aDoKKyAgICAgICAgKEpTQzo6Tm9kZTo6aXNBcnJvd0Z1bmNFeHByTm9kZSk6IGFkZGVkCisgICAg
ICAgIChKU0M6OkFycm93RnVuY0V4cHJOb2RlKTogYWRkZWQgY2xhc3MKKyAgICAgICAgKiBwYXJz
ZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291
cmNlRWxlbWVudHMpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmlt
YXJ5RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VTb3VyY2VFbGVtZW50
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6
OlBhcnNlcjo6cGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNl
cjo6cGFyc2VQcmltYXJ5RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VB
cnJvd0V4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnNldEVuZE9mU3RhdGVtZW50
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKToKKyAg
ICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25JbmZvKToKKyAgICAgICAgKEpT
Qzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25Cb2R5KToKKyAgICAgICAgKiBwYXJzZXIvUGFy
c2VyLmg6CisgICAgICAgIChKU0M6OlBhcnNlcjo6RnVuY3Rpb25QYXJzZVR5cGUpOgorICAgICAg
ICAoSlNDOjpQYXJzZXI6OnBhcnNlU291cmNlRWxlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNl
cjo6cGFyc2VTdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dFeHBy
ZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpzZXRFbmRPZlN0YXRlbWVudCk6CisgICAg
ICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcik6CisgICAgICAgICog
cGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oOgorICAgICAgICAqIHBhcnNlci9QYXJzZXJUb2tl
bnMuaDoKKyAgICAgICAgKEpTQzo6UGFyc2VyRnVuY3Rpb25JbmZvOjphcnJvd0Z1bmN0aW9uT2Zm
c2V0KTogYWRkZWQKKyAgICAgICAgKEpTQzo6UGFyc2VyRnVuY3Rpb25JbmZvOjppc0Fycm93RnVu
Y3Rpb24pOiBhZGRlZAorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmFycm93RnVu
Y3Rpb25Cb2R5VHlwZSk6IGFkZGVkCisgICAgICAgICogcGFyc2VyL1NvdXJjZUNvZGUuaDoKKyAg
ICAgICAgKEpTQzo6U291cmNlQ29kZTo6c3ViQXJyb3dFeHByZXNzaW9uKToKKyAgICAgICAgKiBw
YXJzZXIvU3ludGF4Q2hlY2tlci5oOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVh
dGVBcnJvd0Z1bmN0aW9uRXhwcik6CisgICAgICAgICogcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2Fj
aGVJdGVtOgorICAgICAgICAoSlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFy
YW1ldGVycyk6CisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKToKKyAgICAg
ICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW06OmVuZEFycm93RnVuY3Rpb25Ub2tlbik6
CisgICAgICAgICogcnVudGltZS9KU0Fycm93RnVuY3Rpb24uaDogYWRkZWQgY2xhc3MgZm9yIGhh
bmRsZSBhcnJvdyBmdW5jdGlvbiBjcmVhdGlvbiBhbmQgZXhlY3V0aW9uCisgICAgICAgICogcnVu
dGltZS9KU0Fycm93RnVuY3Rpb24uY3BwOgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbi5o
OgorICAgICAgICAoSlNDOjpKU0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKTogYWRkZWQgb25lIG1vcmUg
Y29uc3RydWN0b3IKKyAgICAgICAgKiBydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmg6CisgICAg
ICAgIChKU0M6OkpTRnVuY3Rpb246OkpTRnVuY3Rpb24pOiBhZGRlZCBjb25zdHJ1Y3RvciBpbXBs
ZW1lbnRhdGlvbgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgorICAgICAg
ICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6aW5pdCk6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2Jq
ZWN0OjptX2Fycm93RnVuY3Rpb25TdHJ1Y3R1cmUpOiBhZGRlZAorICAgICAgICAoSlNDOjpKU0ds
b2JhbE9iamVjdDo6YXJyb3dGdW5jdGlvblN0cnVjdHVyZSk6CisgICAgICAgICogdGVzdHMvc3Ry
ZXNzL2pzL2Fycm93ZnVuY3Rpb24uanM6CisKKzIwMTUtMDQtMTIgIEFsZXhhbmRyIFNrYWNoa292
ICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKyAgICAgICAgU21hbGwgcmVmYWN0b3Jpbmcgb2YgdGhl
IHBhcmNlci5jcHAgZmlsZS4gSXQgaXMgbmVjZXNzYXJ5IHRvIGluY3JlYXNlIHJlYWRhYmlsaXR5
IG9mIHRoZSBwYXRjaAorICAgICAgICB3aXRoIEVTNiBBcnJvdyBmdW5jdGlvbiBpbXBsZW1lbnRh
dGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQw
ODU1CisKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmg6CisgICAgICAgICogcGFyc2VyL1BhcnNl
ci5jcHA6CisKIDIwMTUtMDQtMTIgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5j
b20+CiAKICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEFycmF5LnByb3RvdHlwZS52YWx1ZXMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCA3MTQ3ZWQ5MzY2ZTQ0ZDI1ZWUzY2U1MGMwMjc2NjIxMDg2MTNmYjFmLi5iZjFh
NzgzMzI3NzdjOTRkYmM4NjhjNjBlMjMwZTg0ZWM0MDgzYjA2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMTUtMDQtMTMgIFNrYWNoa292IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWls
LmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRh
eAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
ZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggZm9yIGFycm93IGZ1
bmN0aW9uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxNS0wNC0xMiAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgTGVnYWN5IHNjcm9sbCBiZWhhdmlvciBvbiBIVE1MQm9keUVsZW1lbnQgc2hv
dWxkIG9ubHkgYXBwbHkgdG8gdGhlIGZpcnN0IGJvZHkgZWxlbWVudCBvZiBhIGRvY3VtZW50CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKaW5kZXggYmE0ZTA1NzllOWRlOThiOTFiYTY4ZjU3ZGM4M2VlOWQyZDkxOGUz
Ny4uNDNhYjZjYTAzNDEyYTA3MmU3YjBmM2Y4YTQ5ZjA2YWZiZjg3OGRiYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTA0LTEzICBTa2FjaGtvdiBBbGV4YW5kciAgPGdz
a2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBm
dW5jdGlvbiBzeW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE0MDg1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
IGZvciBhcnJvdyBmdW5jdGlvbgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWc6CisKIDIwMTUtMDQtMTEgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRl
YUBnbWFpbC5jb20+CiAKICAgICAgICAgW0VTNl0gRW5hYmxlIFN5bWJvbCBpbiB3ZWIgcGFnZXMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA3OTE5NjI4NDc2MmIzMDAzNDQx
N2ZhNGYxNGYxZmIyODM4MWM0NWU5Li43Yjg5MjIzYWE5MWQ3N2I3YzZiNDRjNTgwYzMzNDg2YWEz
YmEwZjYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC00NjYsNiArNDY2
LDcgQEAgc2V0KEphdmFTY3JpcHRDb3JlX1JVTlRJTUVfU09VUkNFUwogICAgIHJ1bnRpbWUvSlNB
cnJheUJ1ZmZlclZpZXcuY3BwCiAgICAgcnVudGltZS9KU0FycmF5SXRlcmF0b3IuY3BwCiAgICAg
cnVudGltZS9KU0JvdW5kRnVuY3Rpb24uY3BwCisgICAgcnVudGltZS9KU0Fycm93RnVuY3Rpb24u
Y3BwCiAgICAgcnVudGltZS9KU0dsb2JhbE9iamVjdERlYnVnZ2FibGUuY3BwCiAgICAgcnVudGlt
ZS9KU0NKU1ZhbHVlLmNwcAogICAgIHJ1bnRpbWUvSlNDYWxsZWUuY3BwCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKaW5kZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4u
MTE0OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVf
Q0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5U
QVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9T
WU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0g
OwogRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNf
TEVWRUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBF
TkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlP
VVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5H
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09W
RVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hN
RU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFT
X1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAk
KEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFC
TEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQo
RU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAk
KEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVU
SU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQp
ICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19U
RVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNU
T01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9E
RVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9N
NF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZP
TlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFE
KSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVO
QUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJ
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BP
UE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5B
QkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5B
QkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChF
TkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9S
X1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVT
UykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJ
QV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFf
U1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5B
QkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMp
ICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxF
X1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VG
RklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFN
RSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNU
T1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5E
SU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMp
ICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9T
VkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVf
TlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVY
VF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05f
TE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1Rf
QUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFD
VUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAk
KEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NL
RVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJM
RV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQo
RU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVE
X0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitG
RUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAk
KEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFC
TEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FO
VkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNT
X1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05T
X0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NT
X0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NT
U19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9D
U1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19T
RUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQp
ICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElU
WSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9J
VEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZF
TF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkg
JChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9H
RU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAk
KEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9D
U1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFC
TEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChF
TkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhN
TCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0Up
ICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5B
QkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRP
Ul9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFC
TEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRF
Ul9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChF
TkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVT
VF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJM
RV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9T
UEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NS
WVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChF
TkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1F
TlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVO
QUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNL
KSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAk
KEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAk
KEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VC
X1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAk
KEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQo
RU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VO
VEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKaW5kZXgg
NzQzMzBlNzAzZGFjNGQzNjAwZWFiMjdhMGFkOGViNGFmMDBlMGIzMi4uNjIyODczZGQyZjk0NzBh
OTEzMThhY2NjZDQ3MDlkY2VhZTcyNjA4ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29y
ZS52Y3hwcm9qCkBAIC03MzQsNiArNzM0LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XHJ1bnRpbWVcSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJWaWV3LmNwcCIgLz4KICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNCb3VuZEZ1bmN0aW9uLmNwcCIgLz4KKyAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJvd0Z1bmN0aW9uLmNwcCIgLz4KICAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZS5jcHAiIC8+CiAgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ2FsbGVlLmNwcCIgLz4KICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDYXRjaFNjb3BlLmNwcCIgLz4KQEAgLTE1MjYsNiAr
MTUyNyw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZm
ZXJWaWV3SW5saW5lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxK
U0FycmF5SXRlcmF0b3IuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVc
SlNCb3VuZEZ1bmN0aW9uLmgiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1l
XEpTQXJyb3dGdW5jdGlvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGlt
ZVxKU0NJbmxpbmVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpT
Q0pTVmFsdWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNW
YWx1ZUlubGluZXMuaCIgLz4KQEAgLTE4MDAsNCArMTgwMiw0IEBACiAgIDxJbXBvcnRHcm91cCBM
YWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0
c1BhdGgpXEJ1aWxkQ3VzdG9taXphdGlvbnNcbWFzbS50YXJnZXRzIiAvPgogICA8L0ltcG9ydEdy
b3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYmEyZDEzNmViOTViNWE5ZmQzNTRhYjMw
YThmMzY5MWJmNzhjZWI4Ni4uZTlkNmYyNDY1ZTMzODU1ZDM2OGI0ZDIwNGUwZDc2NDZjNTZlOTg5
ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwOTIsNiArMTA5Miw4IEBACiAJ
CTg2RjNFRUJGMTY4Q0RFOTMwMDc3QjkyQSAvKiBPYmpjUnVudGltZUV4dHJhcy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGM0VFQjYxNjg1NUE1QjAw
NzdCOTJBIC8qIE9iamNSdW50aW1lRXh0cmFzLmggKi87IH07CiAJCTg2RkE5RTkxMTQyQkJCMkUw
MDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRG
dW5jdGlvbi5jcHAgKi87IH07CiAJCTg2RkE5RTkyMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5k
RnVuY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLzsgfTsKKwkJ
OEIwRjQyNEMxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUyMDAz
OTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCAqLzsgfTsKKwkJOEIwRjQyNEMxQUJENkRFMjAw
MzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5j
dGlvbi5oICovOyB9OwogCQk5MDIxM0UzRDEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlz
dGljcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
MDIxM0UzQjEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi87IH07CiAJ
CTkwMjEzRTNFMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIxM0UzQzEyM0E0MEMyMDBE
NDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTkzMDUyQzM0MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJB
cmVuYS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
MzA1MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwICovOyB9OwpAQCAtMjgy
NCw2ICsyODI2LDggQEAKIAkJODZGNzVFRkQxNTFDMDYyRjAwN0M5QkEzIC8qIFJlZ0V4cE1hdGNo
ZXNBcnJheS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWdFeHBN
YXRjaGVzQXJyYXkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkZBOUU4RjE0
MkJCQjJEMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTQm91bmRGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24u
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdFQSAvKiBK
U0Fycm93RnVuY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcnJvd0Z1bmN0aW9uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fy
cm93RnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNB
cnJvd0Z1bmN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTAyMTNFM0Ix
MjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gTWVtb3J5U3RhdGlzdGljcy5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0
aWNzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lbW9yeVN0YXRpc3RpY3Mu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMz
IC8qIFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFBhcnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ0MzgsNiAr
NDQ0Miw4IEBACiAJCQkJQTdCREFFQzUxN0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJyYXlJdGVyYXRv
ci5oICovLAogCQkJCTg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24u
Y3BwICovLAogCQkJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24u
aCAqLywKKwkJCQk4QjBGNDI0QTFBQkQ2RDJGMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmgg
Ki8sCisJCQkJOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAg
Ki8sCiAJCQkJNjU3Q0Y0NTYxOUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmNwcCAqLywKIAkJ
CQk2NTdDRjQ1NzE5QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuaCAqLywKIAkJCQkwRkQ5NDk3
RTFBOTdEQjk2MDBFMjg5NjYgLyogSlNDYXRjaFNjb3BlLmNwcCAqLywKQEAgLTcxNjYsNiArNzE3
Miw3IEBACiAJCQkJMEZEOEEzMUIxN0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTE9TUkVudHJ5LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTBGMjM1QkRDMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjM1QkRGMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExP
U1JFeGl0Q29tcGlsZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOEIwRjQyNEMxQUJENkRFMjAw
MzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkVBMEEy
QTE3MDk2Mjk2MDBCQjcyMkMgLyogRlRMT3V0cHV0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBG
NDg1MzI5MTg3REZERUMwMDgzQjY4NyAvKiBGVExSZWNvdmVyeU9wY29kZS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkwRjZCMUNDMzE4NjJDNDc4MDA4NDVEOTcgLyogRlRMUmVnaXN0ZXJBdE9mZnNl
dC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9CeXRlY29kZUxpc3QuanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9CeXRlY29kZUxpc3QuanNvbgppbmRleCA2YjI0MzkxNTZhYjNhZmFlNmI1NThhYjkwNjZkMjIy
NTE1ZDU5ZTQ1Li40MzYwNzA5ZDhmN2U0MTgyMTVhYjJhZjk1OWJmNjQ0OGFmMDM4MDI4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24K
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCkBA
IC05NSw2ICs5NSw3IEBACiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9zd2l0Y2hfc3RyaW5n
IiwgImxlbmd0aCIgOiA0IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfZnVuYyIs
ICJsZW5ndGgiIDogNCB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfbmV3X2Z1bmNfZXhw
IiwgImxlbmd0aCIgOiA0IH0sCisgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfYXJyb3df
ZnVuY19leHAiLCAibGVuZ3RoIiA6IDUgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2Nh
bGwiLCAibGVuZ3RoIiA6IDkgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGxfZXZh
bCIsICJsZW5ndGgiIDogOSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbF92YXJh
cmdzIiwgImxlbmd0aCIgOiA5IH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9CeXRlY29kZVVzZURlZi5oCmluZGV4IDg1ZjI5MTVjN2U4ZjYwMWFkM2VjMTc4YmY2OWUzNTQ0
Zjc1NGMyY2YuLjE3YjZiZWQ4MWZlMjViNjIzMzBiYWEzZmQwMzFjNzE2YWI4OGY5YmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCkBAIC0x
MTYsNiArMTE2LDkgQEAgdm9pZCBjb21wdXRlVXNlc0ZvckJ5dGVjb2RlT2Zmc2V0KAogICAgIGNh
c2Ugb3BfZ2V0X3Byb3BlcnR5X2VudW1lcmF0b3I6CiAgICAgY2FzZSBvcF9nZXRfZW51bWVyYWJs
ZV9sZW5ndGg6CiAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRp
ZgogICAgIGNhc2Ugb3BfdG9faW5kZXhfc3RyaW5nOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxf
Y29uc3Rfbm9wOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29uc3Q6CkBAIC0zMDgsNiArMzEx
LDkgQEAgdm9pZCBjb21wdXRlRGVmc0ZvckJ5dGVjb2RlT2Zmc2V0KENvZGVCbG9jayogY29kZUJs
b2NrLCB1bnNpZ25lZCBieXRlY29kZU9mZnNldCwKICAgICBjYXNlIG9wX25ld19yZWdleHA6CiAg
ICAgY2FzZSBvcF9uZXdfZnVuYzoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNf
ZXhwOgorI2VuZGlmCiAgICAgY2FzZSBvcF9jYWxsX3ZhcmFyZ3M6CiAgICAgY2FzZSBvcF9jb25z
dHJ1Y3RfdmFyYXJnczoKICAgICBjYXNlIG9wX2dldF9mcm9tX3Njb3BlOgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAppbmRleCAwNmU0OWZlZDY1ZGFlODc3
MGQ3Y2RjOTgzYjc2OGQ0YWRlZTljOGYxLi45MTQ1NWRjMjM4ZDU2MjNjMmY0MTg2MzM5ZTg0OGU5
Y2ZmM2FhYzQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29k
ZUJsb2NrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2Nr
LmNwcApAQCAtMTI5OSw2ICsxMjk5LDE3IEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wQnl0ZWNvZGUo
CiAgICAgICAgICAgICBvdXQucHJpbnRmKCIlcywgJXMsIGYlZCIsIHJlZ2lzdGVyTmFtZShyMCku
ZGF0YSgpLCByZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjApOwogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAg
ICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDogeworICAgICAgICAgICAgaW50IHIwID0gKCsr
aXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUub3BlcmFuZDsK
KyAgICAgICAgICAgIGludCBmMCA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgaW50
IHIyID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBwcmludExvY2F0aW9uQW5kT3Ao
b3V0LCBleGVjLCBsb2NhdGlvbiwgaXQsICJvcF9uZXdfYXJyb3dfZnVuY19leHAiKTsKKyAgICAg
ICAgICAgIG91dC5wcmludGYoIiVzLCAlcywgZiVkLCAlcyIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0
YSgpLCByZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjAsIHJlZ2lzdGVyTmFtZShyMikuZGF0YSgp
KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgY2FzZSBv
cF9uZXdfZnVuY19leHA6IHsKICAgICAgICAgICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVyYW5k
OwogICAgICAgICAgICAgaW50IHIxID0gKCsraXQpLT51Lm9wZXJhbmQ7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3Bw
CmluZGV4IDU5MTk5OGEyOWVkMjZjYjBlNTFlZjMwNTA4NjcyMTNkYzQ4MzNmYjYuLjc0MGNhMzI1
Yzc5MTU5MzcxMGIyNGQ2YTE0Y2MwYmU0ZTE0NWExZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0x
NzU0LDYgKzE3NTQsMjIgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdG
dW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogcjAsIEZ1bmNFeHAKICAgICBpbnN0cnVjdGlv
bnMoKS5hcHBlbmQoaW5kZXgpOwogICAgIHJldHVybiByMDsKIH0KKyAgICAKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6
OmVtaXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVuY0V4cHJO
b2RlKiBuKQoreworICAgIGVtaXRURFpDaGVjayh0aGlzUmVnaXN0ZXIoKSk7CisgICAgRnVuY3Rp
b25Cb2R5Tm9kZSogZnVuY3Rpb24gPSBuLT5ib2R5KCk7CisgICAgdW5zaWduZWQgaW5kZXggPSBt
X2NvZGVCbG9jay0+YWRkRnVuY3Rpb25FeHByKG1ha2VGdW5jdGlvbihmdW5jdGlvbikpOworICAg
IAorICAgIGVtaXRPcGNvZGUob3BfbmV3X2Fycm93X2Z1bmNfZXhwKTsKKyAgICBpbnN0cnVjdGlv
bnMoKS5hcHBlbmQocjAtPmluZGV4KCkpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChzY29w
ZVJlZ2lzdGVyKCktPmluZGV4KCkpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChpbmRleCk7
CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHRoaXNSZWdpc3RlcigpLT5pbmRleCgpKTsKKyAg
ICByZXR1cm4gcjA7Cit9CisjZW5kaWYKIAogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6
OmVtaXROZXdEZWZhdWx0Q29uc3RydWN0b3IoUmVnaXN0ZXJJRCogZHN0LCBDb25zdHJ1Y3Rvcktp
bmQgY29uc3RydWN0b3JLaW5kLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5o
CmluZGV4IDJlNTkwMzlkM2E0ODRhMzQ3MjgxNDQwZWVmOWMxYjgxOWY3MjY1ZGIuLjE3OTM1ZDQ4
ZWYzYmYyYjJkMTQxZGZkYzFhYzkzNzY3OTMxNDQyYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTQ1Niw2
ICs0NTYsMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdG
dW5jdGlvbkludGVybmFsKFJlZ2lzdGVySUQqIGRzdCwgdW5zaWduZWQgaW5kZXgpOwogICAgICAg
ICBSZWdpc3RlcklEKiBlbWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIGRzdCwg
RnVuY0V4cHJOb2RlKiBmdW5jKTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0RlZmF1bHRD
b25zdHJ1Y3RvcihSZWdpc3RlcklEKiBkc3QsIENvbnN0cnVjdG9yS2luZCwgY29uc3QgSWRlbnRp
ZmllciYgbmFtZSk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAg
ICAgUmVnaXN0ZXJJRCogZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQq
LCBGdW5jRXhwck5vZGUqKTsKKyAgICAgICAgUmVnaXN0ZXJJRCogZW1pdFRoaXNOb2RlQnl0ZWNv
ZGUoUmVnaXN0ZXJJRCosIEpTVGV4dFBvc2l0aW9uKTsKKyNlbmRpZgogICAgICAgICBSZWdpc3Rl
cklEKiBlbWl0TmV3UmVnRXhwKFJlZ2lzdGVySUQqIGRzdCwgUmVnRXhwKik7CiAKICAgICAgICAg
UmVnaXN0ZXJJRCogZW1pdE1vdmVFbXB0eVZhbHVlKFJlZ2lzdGVySUQqIGRzdCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5k
ZXggMTE0MzJhZjIzYmJiNjFlODE1NDI1MjNiN2MxMWFhN2JkY2I1ZjNiZi4uNjFhZWYxNDA4YzQz
NmQ3NGFiMDhmN2EyYTA2OGNjMmIxZjA4Y2M1MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtMjgzMSw2ICsyODMxLDE0
IEBAIFJlZ2lzdGVySUQqIEZ1bmNFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJh
dG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqCiAgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0TmV3
RnVuY3Rpb25FeHByZXNzaW9uKGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHRoaXMp
OwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgICAgCisvLyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQXJyb3dGdW5jRXhwck5vZGUgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCitSZWdpc3RlcklEKiBBcnJvd0Z1bmNFeHByTm9kZTo6ZW1p
dEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkK
K3sKKyAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihn
ZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QpLCB0aGlzKTsKK30KKyNlbmRpZgorICAgIAog
I2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tIENsYXNzRGVjbE5vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKaW5k
ZXggNzk0NTY2ZmNhZGYzYzQ0NzBiZTI4ZjIxZDA0MmZlZjgwYjZiOThjMS4uZGVhZmI3YzNjYTdi
M2U0YmNkZTUyOWJlYzgxNTg2NmNhM2MzYzEyYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKQEAgLTM2NzUsNiArMzY3NSwxNSBAQCBib29s
IEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxpbWl0KQogICAgICAgICAgICAg
TkVYVF9PUENPREUob3BfbmV3X2Z1bmNfZXhwKTsKICAgICAgICAgfQogCisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19l
eHA6IHsKKyAgICAgICAgICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhwciA9IG1faW5saW5lU3Rh
Y2tUb3AtPm1fcHJvZmlsZWRCbG9jay0+ZnVuY3Rpb25FeHByKGN1cnJlbnRJbnN0cnVjdGlvblsz
XS51Lm9wZXJhbmQpOworICAgICAgICAgICAgRnJvemVuVmFsdWUqIGZyb3plbiA9IG1fZ3JhcGgu
ZnJlZXplU3Ryb25nKGV4cHIpOworICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJy
ZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwKKyAgICAgICAgICAgICAgICBhZGRUb0dyYXBo
KE5ld0Z1bmN0aW9uLCBPcEluZm8oZnJvemVuKSwgZ2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50
SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSkpKTsKKyAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9w
X25ld19hcnJvd19mdW5jX2V4cCk7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBjYXNlIG9w
X3R5cGVvZjogewogICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1
Y3Rpb25bMV0udS5vcGVyYW5kKSwKICAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKFR5cGVPZiwg
Z2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSkpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAppbmRleCA4
ZWY0ZGNmMTU2OGJkNWVkYTRiODk3ZTc2ODRhOGNiYjkxYmY2ZTA4Li43ZjQ1YTgzMWVhNmU2Mjcz
YmFjZDJlM2Y4MzM2ZGRjNTYyYzhjYzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdDYXBhYmlsaXRpZXMuY3BwCkBAIC0yMDgsNiArMjA4LDkgQEAgQ2FwYWJpbGl0eUxldmVs
IGNhcGFiaWxpdHlMZXZlbChPcGNvZGVJRCBvcGNvZGVJRCwgQ29kZUJsb2NrKiBjb2RlQmxvY2ss
IEluc3RydWMKICAgICBjYXNlIG9wX25ld19mdW5jOgogICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhw
OgogICAgIGNhc2Ugb3BfY3JlYXRlX2xleGljYWxfZW52aXJvbm1lbnQ6CisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoK
KyNlbmRpZgogICAgICAgICByZXR1cm4gQ2FuQ29tcGlsZUFuZElubGluZTsKIAogICAgIGNhc2Ug
b3BfcHV0X3RvX3Njb3BlOiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50
ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL0ludGVycHJldGVyLmNwcAppbmRleCAzMDkyZmNiNDA0MzI0MzVkNWM4YTY0NmM2MzgxOTQ0
MjE3MzRjMmIwLi43OWM5YjQ2Zjc3YjVmYTc4MjczNjE5Y2U2NTJmOGUyN2E3MDY1MWE4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAK
QEAgLTQ0LDYgKzQ0LDcgQEAKICNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCiAjaW5jbHVk
ZSAiR2V0dGVyU2V0dGVyLmgiCiAjaW5jbHVkZSAiSlNBcnJheS5oIgorI2luY2x1ZGUgIkpTQXJy
b3dGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpT
Q0lubGluZXMuaCIKICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhlbHBlcnMuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxwZXJzLmgKaW5kZXggZmQzNDRhZGJjYWJiMTVmYmQ4MTRl
ZDZmYmQ0NzhmNzRiNjE1NzYzYy4uMDdhY2Q2ZDUzMmQzMjhhZmRiNzdhY2YyMDEzMzkwZWYzOWRk
OWQ2NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhlbHBlcnMu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxsSGVscGVycy5oCkBAIC0yNzQs
NiArMjc0LDE1IEBAIHB1YmxpYzoKICAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzIpOwogICAg
ICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMyk7CiAgICAgfQorICAgIAorICAgIEFMV0FZU19JTkxJ
TkUgdm9pZCBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoR1BSUmVnIGFyZzEsIFRydXN0ZWRJ
bW1QdHIgYXJnMiwgR1BSUmVnIGFyZzMpCisgICAgeworICAgICAgICByZXNldENhbGxBcmd1bWVu
dHMoKTsKKyAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVy
KTsKKyAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzEpOworICAgICAgICBhZGRDYWxsQXJndW1l
bnQoYXJnMik7CisgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmczKTsKKyAgICB9CiAKICAgICBB
TFdBWVNfSU5MSU5FIHZvaWQgc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKEdQUlJlZyBhcmcx
LCBHUFJSZWcgYXJnMiwgVHJ1c3RlZEltbTMyIGFyZzMpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVQuY3BwCmluZGV4IDQyYTgyZDQzOTQ2MTYyZjk1ZmE0NzQ2NzU2NzEzOWQ0YWFmMjM4NmIu
LjgzZDUwOGI4NzY1OWUzZWZmOGJjMTg3ZTA2ZGFkNzAxMWY0ODJlZDAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVC5jcHAKQEAgLTI1Myw2ICsyNTMsNyBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBp
bGVNYWluUGFzcygpCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfYXJyYXlfYnVmZmVyKQogICAg
ICAgICBERUZJTkVfT1Aob3BfbmV3X2Z1bmMpCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfZnVu
Y19leHApCisgICAgICAgIERFRklORV9PUChvcF9uZXdfYXJyb3dfZnVuY19leHApIAogICAgICAg
ICBERUZJTkVfT1Aob3BfbmV3X29iamVjdCkKICAgICAgICAgREVGSU5FX09QKG9wX25ld19yZWdl
eHApCiAgICAgICAgIERFRklORV9PUChvcF9ub3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAppbmRl
eCBlZTQ4NTVkYzJlNzhiNTVhY2M0NTk5ZWJkYjk5YTBkOGUwOGJlN2NjLi5mYWUyZjI2OTE3NzM1
YTJiZTQzMTRiNGYxNmU4YzFiODA0ZDg5NWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKQEAg
LTUyMiw2ICs1MjIsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBlbWl0X29wX25l
d19hcnJheV9idWZmZXIoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX25ld19m
dW5jKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfZnVuY19leHAoSW5z
dHJ1Y3Rpb24qKTsKKyAgICAgICAgdm9pZCBlbWl0X29wX25ld19hcnJvd19mdW5jX2V4cChJbnN0
cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X29iamVjdChJbnN0cnVjdGlvbiop
OwogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X3JlZ2V4cChJbnN0cnVjdGlvbiopOwogICAgICAg
ICB2b2lkIGVtaXRfb3Bfbm90KEluc3RydWN0aW9uKik7CkBAIC03MDUsNiArNzA2LDcgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24o
Sl9KSVRPcGVyYXRpb25fRUpKLCBpbnQsIEdQUlJlZywgR1BSUmVnKTsKICAgICAgICAgTWFjcm9B
c3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihDX0pJVE9wZXJhdGlvbl9FSnNjLCBHUFJSZWcp
OwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0
aW9uX0VKc2NDLCBpbnQsIEdQUlJlZywgSlNDZWxsKik7CisgICAgICAgIE1hY3JvQXNzZW1ibGVy
OjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0NKLCBpbnQsIEdQUlJlZywg
SlNDZWxsKiwgR1BSUmVnKTsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJh
dGlvbihDX0pJVE9wZXJhdGlvbl9FSnNjWiwgR1BSUmVnLCBpbnQzMl90KTsKICAgICAgICAgTWFj
cm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihDX0pJVE9wZXJhdGlvbl9FSnNjWiwgaW50
LCBHUFJSZWcsIGludDMyX3QpOwogI2lmIFVTRShKU1ZBTFVFNjQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUSW5saW5lcy5oCmluZGV4IDllZTI0ZDA5MjI4YTk4ODJlYTc2OTYyOWQxYTg3YjZj
MzRhODYzMzQuLmEwZTQwYzVjNjFmZTYzZTk4NjNlZDIyM2VkZjVkNDUxZjMxOGE3NzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oCkBAIC0yNzEsNiArMjcxLDEyIEBAIEFM
V0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpfSklU
T3BlcmF0aW9uX0VKc2NDIG9wZXJhCiAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9u
Q2hlY2tTZXRKU1ZhbHVlUmVzdWx0KG9wZXJhdGlvbiwgZHN0KTsKIH0KIAorQUxXQVlTX0lOTElO
RSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25f
RUpzY0NKIG9wZXJhdGlvbiwgaW50IGRzdCwgR1BSUmVnIGFyZzEsIEpTQ2VsbCogY2VsbCwgR1BS
UmVnIGFyZzIpCit7CisgICAgc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIFRydXN0
ZWRJbW1QdHIoY2VsbCksIGFyZzIpOworICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlv
bkNoZWNrU2V0SlNWYWx1ZVJlc3VsdChvcGVyYXRpb24sIGRzdCk7Cit9CisgICAgCiBBTFdBWVNf
SU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJh
dGlvbl9FUCBvcGVyYXRpb24sIGludCBkc3QsIHZvaWQqIHBvaW50ZXIpCiB7CiAgICAgc2V0dXBB
cmd1bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIocG9pbnRlcikpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKaW5kZXggZDNkNTgwZTllMjYwMDg1M2I2NjQ5
ZTI4NTkxOGY4NTM4YmU2OTQ0Yy4uNmNhMDAzMGY4YzRhMjEyMjFhYTkyODNjYzI3NjEzMGQ3OWU3
NDQ0NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCkBAIC05NzIs
NiArOTcyLDI5IEBAIHZvaWQgSklUOjplbWl0X29wX25ld19mdW5jX2V4cChJbnN0cnVjdGlvbiog
Y3VycmVudEluc3RydWN0aW9uKQogICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uTmV3RnVuY3Rp
b24sIGRzdCwgcmVnVDAsIGZ1bmNFeHByKTsKICAgICBkb25lLmxpbmsodGhpcyk7CiB9CisgICAg
Cit2b2lkIEpJVDo6ZW1pdF9vcF9uZXdfYXJyb3dfZnVuY19leHAoSW5zdHJ1Y3Rpb24qIGN1cnJl
bnRJbnN0cnVjdGlvbikKK3sKKyAgICBKdW1wIG5vdFVuZGVmaW5lZFNjb3BlOworICAgIGludCBk
c3QgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kOworI2lmIFVTRShKU1ZBTFVFNjQp
CisgICAgZW1pdEdldFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVy
YW5kLCByZWdUMCk7CisgICAgZW1pdEdldFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rp
b25bNF0udS5vcGVyYW5kLCByZWdUMSk7CisgICAgbm90VW5kZWZpbmVkU2NvcGUgPSBicmFuY2g2
NChOb3RFcXVhbCwgcmVnVDAsIFRydXN0ZWRJbW02NChKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmlu
ZWQoKSkpKTsKKyAgICBzdG9yZTY0KFRydXN0ZWRJbW02NChKU1ZhbHVlOjplbmNvZGUoanNVbmRl
ZmluZWQoKSkpLCBBZGRyZXNzKGNhbGxGcmFtZVJlZ2lzdGVyLCBzaXplb2YoUmVnaXN0ZXIpICog
ZHN0KSk7CisjZWxzZQorICAgIGVtaXRMb2FkUGF5bG9hZChjdXJyZW50SW5zdHJ1Y3Rpb25bMl0u
dS5vcGVyYW5kLCByZWdUMCk7CisgICAgZW1pdExvYWRQYXlsb2FkKGN1cnJlbnRJbnN0cnVjdGlv
bls0XS51Lm9wZXJhbmQsIHJlZ1QxKTsKKyAgICBub3RVbmRlZmluZWRTY29wZSA9IGJyYW5jaDMy
KE5vdEVxdWFsLCB0YWdGb3IoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCksIFRydXN0
ZWRJbW0zMihKU1ZhbHVlOjpVbmRlZmluZWRUYWcpKTsKKyAgICBlbWl0U3RvcmUoZHN0LCBqc1Vu
ZGVmaW5lZCgpKTsKKyNlbmRpZgorICAgIEp1bXAgZG9uZSA9IGp1bXAoKTsKKyAgICBub3RVbmRl
ZmluZWRTY29wZS5saW5rKHRoaXMpOworICAgIAorICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZnVu
Y3Rpb24gPSBtX2NvZGVCbG9jay0+ZnVuY3Rpb25FeHByKGN1cnJlbnRJbnN0cnVjdGlvblszXS51
Lm9wZXJhbmQpOworICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbiwg
ZHN0LCByZWdUMCwgZnVuY3Rpb24sIHJlZ1QxKTsKKyAgICBkb25lLmxpbmsodGhpcyk7Cit9CiAK
IHZvaWQgSklUOjplbWl0X29wX25ld19hcnJheShJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0
aW9uKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRp
b25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKaW5k
ZXggNWU5MGQ0ODZjNTNkYjJmYjg3ZTA4NWNjNzg1ZGNhNGMyZjZkNGFkNy4uNzAwNWU1M2ZjNWNm
M2ZhMTQyOGZhMzM3NDk4NDkyYTlkM2JiNmFjYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wZXJhdGlvbnMuY3BwCkBAIC00Miw2ICs0Miw4IEBACiAjaW5jbHVkZSAiSG9zdENh
bGxSZXR1cm5WYWx1ZS5oIgogI2luY2x1ZGUgIkpJVC5oIgogI2luY2x1ZGUgIkpJVFRvREZHRGVm
ZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmgiCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgi
CisjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgog
I2luY2x1ZGUgIkpTQ2F0Y2hTY29wZS5oIgogI2luY2x1ZGUgIkpTRnVuY3Rpb25OYW1lU2NvcGUu
aCIKQEAgLTk1Miw2ICs5NTQsMjMgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVy
YXRpb25OZXdGdW5jdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTU2NvcGUqIHNjb3AKICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgc3RhdGljX2Nhc3Q8RnVu
Y3Rpb25FeGVjdXRhYmxlKj4oZnVuY3Rpb25FeGVjdXRhYmxlKSwgc2NvcGUpKTsKIH0KIAorRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKEV4ZWNT
dGF0ZSogZXhlYywgSlNTY29wZSogc2NvcGUsIEpTQ2VsbCogZnVuY3Rpb25FeGVjdXRhYmxlLCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUpCit7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICBBU1NFUlQoZnVuY3Rpb25FeGVjdXRhYmxlLT5pbmhlcml0cyhGdW5jdGlv
bkV4ZWN1dGFibGU6OmluZm8oKSkpOworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgTmF0
aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOworICAgIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QgPSBleGVjLT5jYWxsZWUoKS0+Z2xvYmFsT2JqZWN0KCk7CisgICAgSlNG
dW5jdGlvbiogZnVuYyA9IEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlKHZtLCBzY29wZSwgc3RhdGlj
X2Nhc3Q8RnVuY3Rpb25FeGVjdXRhYmxlKj4oZnVuY3Rpb25FeGVjdXRhYmxlKSwgZ2xvYmFsT2Jq
ZWN0KTsKKyAgICAKKyAgICBKU0FycmF5KiBib3VuZEFyZ3MgPSBKU0FycmF5Ojp0cnlDcmVhdGVV
bmluaXRpYWxpemVkKHZtLCBnbG9iYWxPYmplY3QtPmFycmF5U3RydWN0dXJlRm9ySW5kZXhpbmdU
eXBlRHVyaW5nQWxsb2NhdGlvbihBcnJheVdpdGhVbmRlY2lkZWQpLCAwKTsKKyAgICAKKyAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTQm91bmRGdW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxP
YmplY3QsIGZ1bmMsIEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpLCBib3VuZEFyZ3MsIDAsICIi
KSk7CisjZWxzZQorICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7Cisj
ZW5kaWYKK30KKyAgICAKIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdPYmplY3Qo
RXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKIHsKICAgICBWTSogdm0gPSAm
ZXhlYy0+dm0oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bl
cmF0aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKaW5k
ZXggNGRlY2VmNGViOGI0OGJiOTM3ZDU0ZDBiNjA0YjliNzc2N2E0ZWE2MS4uMjM2MTZlZTFkZWUz
MmZmZGRkYWU1MTg5NjA2OTk3MDkyNjZlYmNlZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRPcGVyYXRpb25zLmgKQEAgLTExNiw2ICsxMTYsNyBAQCB0eXBlZGVmIEVuY29kZWRKU1Zh
bHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FUFApKEV4ZWNTdGF0ZSosIHZvaWQq
LCB2bwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRp
b25fRVBTKShFeGVjU3RhdGUqLCB2b2lkKiwgc2l6ZV90KTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFs
dWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQYykoRXhlY1N0YXRlKiwgSW5zdHJ1
Y3Rpb24qKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3Bl
cmF0aW9uX0VKc2NDKShFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKik7Cit0eXBlZGVmIEVu
Y29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FSnNjQ0opKEV4ZWNT
dGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSk7CiB0eXBlZGVmIEVuY29k
ZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FU1MpKEV4ZWNTdGF0ZSos
IHNpemVfdCwgc2l6ZV90KTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAo
KkpfSklUT3BlcmF0aW9uX0VTc2lDSSkoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBK
U0NlbGwqLCBTdHJpbmdJbXBsKik7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJ
T04gKCpKX0pJVE9wZXJhdGlvbl9FU3NpSkkpKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZv
KiwgRW5jb2RlZEpTVmFsdWUsIFN0cmluZ0ltcGwqKTsKQEAgLTI3OCw2ICsyNzksNyBAQCBFbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5V2l0aFByb2ZpbGUoRXhl
Y1N0YXRlKiwgQXJyYXlBbGxvYwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRp
b25OZXdBcnJheUJ1ZmZlcldpdGhQcm9maWxlKEV4ZWNTdGF0ZSosIEFycmF5QWxsb2NhdGlvblBy
b2ZpbGUqLCBjb25zdCBKU1ZhbHVlKiB2YWx1ZXMsIGludDMyX3Qgc2l6ZSkgV1RGX0lOVEVSTkFM
OwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJheVdpdGhTaXpl
QW5kUHJvZmlsZShFeGVjU3RhdGUqLCBBcnJheUFsbG9jYXRpb25Qcm9maWxlKiwgRW5jb2RlZEpT
VmFsdWUgc2l6ZSkgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBv
cGVyYXRpb25OZXdGdW5jdGlvbihFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKikgV1RGX0lO
VEVSTkFMOworRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJvd0Z1
bmN0aW9uKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSkgV1RG
X0lOVEVSTkFMOwogSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVj
U3RhdGUqLCBTdHJ1Y3R1cmUqKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvbk5ld1JlZ2V4cChFeGVjU3RhdGUqLCB2b2lkKikgV1RGX0lOVEVSTkFM
Owogdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkhhbmRsZVdhdGNoZG9nVGltZXIoRXhlY1N0
YXRlKikgV1RGX0lOVEVSTkFMOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xMSW50U2xvd1BhdGhzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTElu
dFNsb3dQYXRocy5jcHAKaW5kZXggMjdiOTg2OThmY2FkZTliOTdiZDI3ZTczMzYzODBhZGYzYjU3
M2IzOS4uMWM2MzA2NDNjYWM3ZDZjYjY1YzBlYjY4YmQwMjFiYTAwMzBiMDgzYyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCkBAIC0zOCw2ICsz
OCw4IEBACiAjaW5jbHVkZSAiSW50ZXJwcmV0ZXIuaCIKICNpbmNsdWRlICJKSVQuaCIKICNpbmNs
dWRlICJKSVRFeGNlcHRpb25zLmgiCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCisjaW5j
bHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNMZXhpY2FsRW52aXJvbm1lbnQu
aCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDSlNWYWx1ZS5oIgpAQCAt
MTcxLDYgKzE3MywxNSBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIExMSW50IHsKICAgICAg
ICAgTExJTlRfUkVUVVJOX1RXTyhwYywgX19yY2ZfZXhlYyk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKICAgICB9IHdoaWxlIChmYWxzZSkKIAorICAgIAorI2RlZmluZSBMTElOVF9D
QUxDX1BST1BFUlRZX0ZPUl9GVU5DX0VYUFIoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgTExJTlRfQkVHSU4oKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBDb2RlQmxvY2sqIGNvZGVC
bG9jayA9IGV4ZWMtPmNvZGVCbG9jaygpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgIEpTU2NvcGUqIHNjb3BlID0gZXhlYy0+dW5jaGVja2VkUihwY1syXS51Lm9wZXJh
bmQpLlJlZ2lzdGVyOjpzY29wZSgpOyAgICAgICBcCisgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBl
eGVjdXRhYmxlID0gY29kZUJsb2NrLT5mdW5jdGlvbkV4cHIocGNbM10udS5vcGVyYW5kKTsgIFwK
KyAgICAKK2VudW0gRnVuY3Rpb25FeHByZXNzaW9uVHlwZSB7IEFycm93RnVuY3Rpb25FeHByZXNz
aW9uVHlwZSwgQ29tbW9uRnVuY3Rpb25FeHByZXNzaW9uVHlwZX07CisgICAgCiBleHRlcm4gIkMi
IFNsb3dQYXRoUmV0dXJuVHlwZSBsbGludF90cmFjZV9vcGVyYW5kKEV4ZWNTdGF0ZSogZXhlYywg
SW5zdHJ1Y3Rpb24qIHBjLCBpbnQgZnJvbVdoZXJlLCBpbnQgb3BlcmFuZCkKIHsKICAgICBMTElO
VF9CRUdJTigpOwpAQCAtMTAwMywxNiArMTAxNCwzNSBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChz
bG93X3BhdGhfbmV3X2Z1bmMpCiAjZW5kaWYKICAgICBMTElOVF9SRVRVUk4oSlNGdW5jdGlvbjo6
Y3JlYXRlKHZtLCBjb2RlQmxvY2stPmZ1bmN0aW9uRGVjbChwY1szXS51Lm9wZXJhbmQpLCBzY29w
ZSkpOwogfQotCisgICAgCiBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfbmV3X2Z1bmNf
ZXhwKQogewotICAgIExMSU5UX0JFR0lOKCk7Ci0gICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBl
eGVjLT5jb2RlQmxvY2soKTsKLSAgICBKU1Njb3BlKiBzY29wZSA9IGV4ZWMtPnVuY2hlY2tlZFIo
cGNbMl0udS5vcGVyYW5kKS5SZWdpc3Rlcjo6c2NvcGUoKTsKLSAgICBGdW5jdGlvbkV4ZWN1dGFi
bGUqIGZ1bmN0aW9uID0gY29kZUJsb2NrLT5mdW5jdGlvbkV4cHIocGNbM10udS5vcGVyYW5kKTsK
LSAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBmdW5jdGlvbiwg
c2NvcGUpOworICAgIExMSU5UX0NBTENfUFJPUEVSVFlfRk9SX0ZVTkNfRVhQUigpOworCisgICAg
SlNGdW5jdGlvbiogZnVuYyA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgZXhlY3V0YWJsZSwgc2Nv
cGUpOworICAgIExMSU5UX1JFVFVSTihmdW5jKTsKK30KKworCitMTElOVF9TTE9XX1BBVEhfREVD
TChzbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKQoreworICAgIExMSU5UX0NBTENfUFJPUEVS
VFlfRk9SX0ZVTkNfRVhQUigpOworCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IExMSU5UX09QX0MoNCkuanNWYWx1ZSgpOworICAg
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBleGVjLT5jYWxsZWUoKS0+Z2xvYmFsT2Jq
ZWN0KCk7CiAgICAgCisgICAgSlNGdW5jdGlvbiogZnVuYyA9IEpTQXJyb3dGdW5jdGlvbjo6Y3Jl
YXRlKHZtLCBzY29wZSwgZXhlY3V0YWJsZSwgZ2xvYmFsT2JqZWN0KTsKKyAgICAKKyAgICBKU0Fy
cmF5KiBib3VuZEFyZ3MgPSBKU0FycmF5Ojp0cnlDcmVhdGVVbmluaXRpYWxpemVkKHZtLCBnbG9i
YWxPYmplY3QtPmFycmF5U3RydWN0dXJlRm9ySW5kZXhpbmdUeXBlRHVyaW5nQWxsb2NhdGlvbihB
cnJheVdpdGhVbmRlY2lkZWQpLCAwKTsKKyAgICAKKyAgICBjb25zdCBTdHJpbmcgZnVuY1dpdGhv
dXROYW1lID0gIiI7CisgICAgCisgICAgTExJTlRfUkVUVVJOKEpTQm91bmRGdW5jdGlvbjo6Y3Jl
YXRlKHZtLCBnbG9iYWxPYmplY3QsIGZ1bmMsIHRoaXNWYWx1ZSwgYm91bmRBcmdzLCAwLCBmdW5j
V2l0aG91dE5hbWUpKTsKKyNlbHNlCisgICAgSlNGdW5jdGlvbiogZnVuYyA9IEpTRnVuY3Rpb246
OmNyZWF0ZSh2bSwgZXhlY3V0YWJsZSwgc2NvcGUpOwogICAgIExMSU5UX1JFVFVSTihmdW5jKTsK
KyNlbmRpZgogfQogCiBzdGF0aWMgU2xvd1BhdGhSZXR1cm5UeXBlIGhhbmRsZUhvc3RDYWxsKEV4
ZWNTdGF0ZSogZXhlY0NhbGxlZSwgSW5zdHJ1Y3Rpb24qIHBjLCBKU1ZhbHVlIGNhbGxlZSwgQ29k
ZVNwZWNpYWxpemF0aW9uS2luZCBraW5kKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TExJbnRTbG93UGF0aHMuaAppbmRleCA0YmY3ZGViMGZhMGI2YzY0MzhlMzZmOTYzMjBlMmY2Njk3
MzlhZjY0Li5jN2ZhYjk2OTFjMThiOTM5NTZkMGVhMjlmMzM5NTYxMThjNWU3MWVlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaApAQCAtOTYsNiArOTYs
NyBAQCBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3N3aXRjaF9jaGFyKTsK
IExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfc3dpdGNoX3N0cmluZyk7CiBM
TElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX25ld19mdW5jKTsKIExMSU5UX1NM
T1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfbmV3X2Z1bmNfZXhwKTsKK0xMSU5UX1NMT1df
UEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKTsKIExMSU5UX1NM
T1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfY2FsbCk7CiBMTElOVF9TTE9XX1BBVEhfSElE
REVOX0RFQ0woc2xvd19wYXRoX2NvbnN0cnVjdCk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RF
Q0woc2xvd19wYXRoX3NpemVfZnJhbWVfZm9yX3ZhcmFyZ3MpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCmluZGV4IGZkYTkxZWQ1
OTkwY2I2ZTRmMmNiNzhhYTZhNGIyZDhjMmMwYzQ3MmEuLjgyMjcxMzQ5ODJkYjc1ODFkYzhhMjI1
Y2Q0MjMyODIwMDkyZmI3M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KQEAgLTExNzEsNiArMTE3MSwxMCBAQCBfbGxpbnRf
b3BfbmV3X2Z1bmNfZXhwOgogICAgIGNhbGxTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX25ld19m
dW5jX2V4cCkKICAgICBkaXNwYXRjaCg0KQogCitfbGxpbnRfb3BfbmV3X2Fycm93X2Z1bmNfZXhw
OgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0
aF9uZXdfYXJyb3dfZnVuY19leHApCisgICAgZGlzcGF0Y2goNSkKIAogX2xsaW50X29wX2NhbGw6
CiAgICAgdHJhY2VFeGVjdXRpb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9BU1RCdWlsZGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1
aWxkZXIuaAppbmRleCBiOGZlNGI4NDg1YTA5NzY4OGY1YzYzMGJkOGMzYzk2NzY0ZmM0NjQ5Li5m
MmZhM2JkOWMxNWY0ZTQyMmVlYzZhNzlkNjVmMWQ3MDg2YzYyYzczIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaApAQCAtMzEzLDYgKzMxMywxOSBAQCBwdWJsaWM6
CiAgICAgICAgICAgICBpblN0cmljdENvbnRleHQsIGNvbnN0cnVjdG9yS2luZCk7CiAgICAgfQog
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBFeHByZXNzaW9uTm9k
ZSogY3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlv
biwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPEFTVEJ1aWxkZXI+JiBpbmZvKQorICAgIHsKKyAg
ICAgICAgU291cmNlQ29kZSBzb3VyY2UgPSBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dG
dW5jdGlvbkJvZHlFeHByZXNzaW9uCisgICAgICAgID8gbV9zb3VyY2VDb2RlLT5zdWJBcnJvd0V4
cHJlc3Npb24oaW5mby5hcnJvd0Z1bmN0aW9uT2Zmc2V0LCBpbmZvLmNsb3NlQnJhY2VPZmZzZXQs
IGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1bW4pCisgICAgICAgIDogbV9z
b3VyY2VDb2RlLT5zdWJFeHByZXNzaW9uKGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBpbmZvLmNsb3Nl
QnJhY2VPZmZzZXQsIGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1bW4pOwor
CisgICAgICAgIEFycm93RnVuY0V4cHJOb2RlKiByZXN1bHQgPSBuZXcgKG1fcGFyc2VyQXJlbmEp
IEFycm93RnVuY0V4cHJOb2RlKGxvY2F0aW9uLCAqaW5mby5uYW1lLCBpbmZvLmJvZHksIHNvdXJj
ZSwgaW5mby5wYXJhbWV0ZXJzKTsKKyAgICAgICAgaW5mby5ib2R5LT5zZXRMb2MoaW5mby5ib2R5
U3RhcnRMaW5lLCBpbmZvLmJvZHlFbmRMaW5lLCBsb2NhdGlvbi5zdGFydE9mZnNldCwgbG9jYXRp
b24ubGluZVN0YXJ0T2Zmc2V0KTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisjZW5k
aWYKKwogICAgIE5FVkVSX0lOTElORSBQcm9wZXJ0eU5vZGUqIGNyZWF0ZUdldHRlck9yU2V0dGVy
UHJvcGVydHkoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgUHJvcGVydHlOb2RlOjpU
eXBlIHR5cGUsIGJvb2wsCiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUsIGNvbnN0IFBh
cnNlckZ1bmN0aW9uSW5mbzxBU1RCdWlsZGVyPiYgaW5mbywgU3VwZXJCaW5kaW5nIHN1cGVyQmlu
ZGluZykKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xl
eGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCmluZGV4IDdk
ZTE0MjIwYmJkYTcyNzM4YjU3M2E0Yjk3ODhjZTBiMzJjYzdjZTMuLjU0MGY5ZmZiN2JiNTE4Mjlk
NjdkZWVkZWM1ZTZhOGVkNTFjYzQ0MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTGV4ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4
ZXIuY3BwCkBAIC0xNDMwLDYgKzE0MzAsMTggQEAgYm9vbCBMZXhlcjxUPjo6bmV4dFRva2VuSXND
b2xvbigpCiAgICAgcmV0dXJuIGNvZGUgPCBtX2NvZGVFbmQgJiYgKmNvZGUgPT0gJzonOwogfQog
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFt
ZSBUPgordm9pZCBMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlvbihKU1Rva2VuKiB0b2tlblJlY29y
ZCkKK3sKKyAgICBKU1Rva2VuRGF0YSogdG9rZW5EYXRhID0gJnRva2VuUmVjb3JkLT5tX2RhdGE7
CisgICAgdG9rZW5EYXRhLT5saW5lID0gbGluZU51bWJlcigpOworICAgIHRva2VuRGF0YS0+b2Zm
c2V0ID0gY3VycmVudE9mZnNldCgpOworICAgIHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0ID0g
Y3VycmVudExpbmVTdGFydE9mZnNldCgpOworICAgIEFTU0VSVCh0b2tlbkRhdGEtPm9mZnNldCA+
PSB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCk7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5
cGVuYW1lIFQ+CiBKU1Rva2VuVHlwZSBMZXhlcjxUPjo6bGV4KEpTVG9rZW4qIHRva2VuUmVjb3Jk
LCB1bnNpZ25lZCBsZXhlckZsYWdzLCBib29sIHN0cmljdE1vZGUpCiB7CkBAIC0xNDkzLDcgKzE1
MDUsMTIgQEAgc3RhcnQ6CiAgICAgICAgIH0KICAgICAgICAgdG9rZW4gPSBHVDsKICAgICAgICAg
YnJlYWs7Ci0gICAgY2FzZSBDaGFyYWN0ZXJFcXVhbDoKKyAgICBjYXNlIENoYXJhY3RlckVxdWFs
OiB7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdWludDMy
X3Qgc2F2ZWRsaW5lTnVtYmVyID0gdG9rZW5EYXRhLT5saW5lOworICAgICAgICB1aW50MzJfdCBz
YXZlZE9mZnNldCA9IGN1cnJlbnRPZmZzZXQoKTsKKyAgICAgICAgdWludDMyX3Qgc2F2ZWRMaW5l
U3RhcnRPZmZzZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0KCk7CisjZW5kaWYKICAgICAgICAg
c2hpZnQoKTsKICAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnPScpIHsKICAgICAgICAgICAgIHNo
aWZ0KCk7CkBAIC0xNTA1LDggKzE1MjIsMjIgQEAgc3RhcnQ6CiAgICAgICAgICAgICB0b2tlbiA9
IEVRRVE7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJz4nKSB7CisgICAg
ICAgICAgICBzaGlmdCgpOworICAgICAgICAgICAgdG9rZW4gPSBBUlJPV0ZVTkNUSU9OOworCisg
ICAgICAgICAgICB0b2tlbkRhdGEtPmxpbmUgPSBzYXZlZGxpbmVOdW1iZXI7CisgICAgICAgICAg
ICB0b2tlbkRhdGEtPm9mZnNldCA9IHNhdmVkT2Zmc2V0OworICAgICAgICAgICAgdG9rZW5EYXRh
LT5saW5lU3RhcnRPZmZzZXQgPSBzYXZlZExpbmVTdGFydE9mZnNldDsKKworICAgICAgICAgICAg
QVNTRVJUKHRva2VuRGF0YS0+b2Zmc2V0ID49IHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0KTsK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgdG9rZW4gPSBF
UVVBTDsKICAgICAgICAgYnJlYWs7CisgICAgfQogICAgIGNhc2UgQ2hhcmFjdGVyTGVzczoKICAg
ICAgICAgc2hpZnQoKTsKICAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnIScgJiYgcGVlaygxKSA9
PSAnLScgJiYgcGVlaygyKSA9PSAnLScpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvTGV4ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIu
aAppbmRleCAyZGY1MjEzOTk1NzgyMDA3ODVhMTY2ZTIyYTczMjc1ZTBlYTYzMDRkLi5jYjNmMjVm
N2MwOGY4MjU4MWFmMmNlOGZhOTk5OTdmYWRlMDc2NmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9MZXhlci5oCkBAIC04NSw2ICs4NSw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldElzUmVw
YXJzaW5nKCkgeyBtX2lzUmVwYXJzaW5nID0gdHJ1ZTsgfQogICAgIGJvb2wgaXNSZXBhcnNpbmco
KSBjb25zdCB7IHJldHVybiBtX2lzUmVwYXJzaW5nOyB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgIHZvaWQgc2V0VG9rZW5Qb3NpdGlvbihKU1Rva2VuKiB0b2tl
blJlY29yZCk7CisjZW5kaWYKICAgICBKU1Rva2VuVHlwZSBsZXgoSlNUb2tlbiosIHVuc2lnbmVk
LCBib29sIHN0cmljdE1vZGUpOwogICAgIGJvb2wgbmV4dFRva2VuSXNDb2xvbigpOwogICAgIGlu
dCBsaW5lTnVtYmVyKCkgY29uc3QgeyByZXR1cm4gbV9saW5lTnVtYmVyOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCmluZGV4IDNiZGFiNjFh
NTIyZTBjZTJjMzM5N2Y4MGY0ZmExODRkMWQ0MjE2MGUuLmI1OGUxZmUxYWY5MGU2NjBiMDg0MmVh
N2U5OWYwN2FlNmFjYmI5NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvTm9kZUNvbnN0cnVjdG9ycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
Tm9kZUNvbnN0cnVjdG9ycy5oCkBAIC03ODEsNiArNzgxLDEzIEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICBtX2JvZHktPmZpbmlzaFBhcnNpbmcoc291cmNlLCBwYXJhbWV0ZXIsIGlkZW50LCBG
dW5jdGlvbkV4cHJlc3Npb24pOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgaW5saW5lIEFycm93RnVuY0V4cHJOb2RlOjpBcnJvd0Z1bmNFeHByTm9k
ZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBJZGVudGlmaWVyJiBpZGVu
dCwgRnVuY3Rpb25Cb2R5Tm9kZSogYm9keSwgY29uc3QgU291cmNlQ29kZSYgc291cmNlLCBQYXJh
bWV0ZXJOb2RlKiBwYXJhbWV0ZXIpCisgICAgICAgIDogRnVuY0V4cHJOb2RlKGxvY2F0aW9uLCBp
ZGVudCwgYm9keSwgc291cmNlLCBwYXJhbWV0ZXIpCisgICAgeworICAgIH0KKyNlbmRpZgorICAg
IAogICAgIGlubGluZSBGdW5jRGVjbE5vZGU6OkZ1bmNEZWNsTm9kZShjb25zdCBKU1Rva2VuTG9j
YXRpb24mIGxvY2F0aW9uLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgRnVuY3Rpb25Cb2R5Tm9k
ZSogYm9keSwgY29uc3QgU291cmNlQ29kZSYgc291cmNlLCBQYXJhbWV0ZXJOb2RlKiBwYXJhbWV0
ZXIpCiAgICAgICAgIDogU3RhdGVtZW50Tm9kZShsb2NhdGlvbikKICAgICAgICAgLCBtX2JvZHko
Ym9keSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAppbmRleCA2YjM3MzI5YzA5YmZj
NDJiZWNjYzNjYWE5ODM1OTdjMzU0MDJiNmM5Li41Yjc3NDFlMWNjYzhkNTE1ZmYxNGMxNTMxNzJk
N2JkYTA1M2Y1ODY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05v
ZGVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCkBAIC0xNTgs
NiArMTU4LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0RvdEFj
Y2Vzc29yTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwgYm9v
bCBpc0RlY29uc3RydWN0aW9uTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAg
IHZpcnR1YWwgYm9vbCBpc0Z1bmNFeHByTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Cisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdmlydHVhbCBib29s
IGlzQXJyb3dGdW5jRXhwck5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorI2VuZGlmCiAg
ICAgICAgIHZpcnR1YWwgYm9vbCBpc0NvbW1hTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc1NpbXBsZUFycmF5KCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzQWRkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KQEAgLTE2NTIsNiArMTY1NSwxOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgRnVuY3Rp
b25Cb2R5Tm9kZSogbV9ib2R5OwogICAgIH07CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIGNsYXNzIEFycm93RnVuY0V4cHJOb2RlIDogcHVibGljIEZ1bmNFeHBy
Tm9kZSB7CisgICAgcHVibGljOgorICAgICAgICBBcnJvd0Z1bmNFeHByTm9kZShjb25zdCBKU1Rv
a2VuTG9jYXRpb24mLCBjb25zdCBJZGVudGlmaWVyJiwgRnVuY3Rpb25Cb2R5Tm9kZSosIGNvbnN0
IFNvdXJjZUNvZGUmLCBQYXJhbWV0ZXJOb2RlKiA9IDApOworICAgIHByaXZhdGU6CisgICAgICAg
IHZpcnR1YWwgUmVnaXN0ZXJJRCogZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiwgUmVn
aXN0ZXJJRCogPSAwKSBvdmVycmlkZTsKKyAgICAgICAgCisgICAgICAgIHZpcnR1YWwgYm9vbCBp
c0Z1bmNFeHByTm9kZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgICAg
IAorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNBcnJvd0Z1bmNFeHByTm9kZSgpIGNvbnN0IG92ZXJy
aWRlIHsgcmV0dXJuIHRydWU7IH0KKyAgICB9OworI2VuZGlmCisKICNpZiBFTkFCTEUoRVM2X0NM
QVNTX1NZTlRBWCkKICAgICBjbGFzcyBDbGFzc0V4cHJOb2RlIGZpbmFsIDogcHVibGljIEV4cHJl
c3Npb25Ob2RlIHsKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1BhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNl
ci5jcHAKaW5kZXggMzJkMjUwY2E3Y2M1M2Y0YmVhNjFmNjFiNmRhYmZlNjRiY2JjNjg0Ni4uZWI2
MzRkMDEyOGFiZWMxOGNlNGUzMGUyNmEyZmU4MGIzMjk5ODJlYSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvUGFyc2VyLmNwcApAQCAtMjY0LDcgKzI2NCw3IEBAIFN0cmluZyBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VJbm5lcigpCiAgICAgaWYgKG1fbGV4ZXItPmlzUmVwYXJzaW5nKCkp
CiAgICAgICAgIG1fc3RhdGVtZW50RGVwdGgtLTsKICAgICBTY29wZVJlZiBzY29wZSA9IGN1cnJl
bnRTY29wZSgpOwotICAgIFNvdXJjZUVsZW1lbnRzKiBzb3VyY2VFbGVtZW50cyA9IHBhcnNlU291
cmNlRWxlbWVudHMoY29udGV4dCwgQ2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICBTb3VyY2VFbGVt
ZW50cyogc291cmNlRWxlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIENoZWNr
Rm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CiAgICAgaWYgKCFzb3Vy
Y2VFbGVtZW50cyB8fCAhY29uc3VtZShFT0ZUT0spKSB7CiAgICAgICAgIGlmIChoYXNFcnJvcigp
KQogICAgICAgICAgICAgcGFyc2VFcnJvciA9IG1fZXJyb3JNZXNzYWdlOwpAQCAtMzMwLDcgKzMz
MCw3IEBAIGJvb2wgUGFyc2VyPExleGVyVHlwZT46OmFsbG93QXV0b21hdGljU2VtaWNvbG9uKCkK
IH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KLXRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJj
ZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBTb3VyY2VFbGVtZW50c01vZGUgbW9kZSkK
K3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBTb3Vy
Y2VFbGVtZW50c01vZGUgbW9kZSwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25QYXJzZVR5cGUp
CiB7CiAgICAgY29uc3QgdW5zaWduZWQgbGVuZ3RoT2ZVc2VTdHJpY3RMaXRlcmFsID0gMTI7IC8v
ICJ1c2Ugc3RyaWN0Ii5sZW5ndGgKICAgICBUcmVlU291cmNlRWxlbWVudHMgc291cmNlRWxlbWVu
dHMgPSBjb250ZXh0LmNyZWF0ZVNvdXJjZUVsZW1lbnRzKCk7CkBAIC0zMzksNyArMzM5LDcgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlU291cmNlRWwKICAgICB1bnNpZ25lZCBkaXJlY3RpdmVMaXRlcmFsTGVu
Z3RoID0gMDsKICAgICBhdXRvIHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwogICAgIGJv
b2wgaGFzU2V0U3RyaWN0ID0gZmFsc2U7Ci0gICAgd2hpbGUgKFRyZWVTdGF0ZW1lbnQgc3RhdGVt
ZW50ID0gcGFyc2VTdGF0ZW1lbnQoY29udGV4dCwgZGlyZWN0aXZlLCAmZGlyZWN0aXZlTGl0ZXJh
bExlbmd0aCkpIHsKKyAgICB3aGlsZSAoVHJlZVN0YXRlbWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0
YXRlbWVudChjb250ZXh0LCBkaXJlY3RpdmUsICZkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoLCBmdW5j
dGlvblBhcnNlVHlwZSkpIHsKICAgICAgICAgaWYgKG1vZGUgPT0gQ2hlY2tGb3JTdHJpY3RNb2Rl
ICYmICFzZWVuTm9uRGlyZWN0aXZlKSB7CiAgICAgICAgICAgICBpZiAoZGlyZWN0aXZlKSB7CiAg
ICAgICAgICAgICAgICAgLy8gInVzZSBzdHJpY3QiIG11c3QgYmUgdGhlIGV4YWN0IGxpdGVyYWwg
d2l0aG91dCBlc2NhcGUgc2VxdWVuY2VzIG9yIGxpbmUgY29udGludWF0aW9uLgpAQCAtNTcxLDYg
KzU3MSwzMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVEZWNvbnN0cnVjdGlv
blBhdHRlcm4gUGFyc2VyPExleGVyVHlwZT46OmNyZWF0ZQogICAgIHJldHVybiBjb250ZXh0LmNy
ZWF0ZUJpbmRpbmdMb2NhdGlvbih0b2tlbi5tX2xvY2F0aW9uLCBuYW1lLCB0b2tlbi5tX3N0YXJ0
UG9zaXRpb24sIHRva2VuLm1fZW5kUG9zaXRpb24pOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlQXJyb3dGdW5jdGlvblN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBB
U1NFUlQobWF0Y2goQVJST1dGVU5DVElPTikpOworCisgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0
aW9uKHRva2VuTG9jYXRpb24oKSk7CisgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0
YXJ0UG9zaXRpb24oKTsKKyAgICBKU1RleHRQb3NpdGlvbiBlbmQgPSB0b2tlbkVuZFBvc2l0aW9u
KCk7CisKKyAgICBuZXh0KCk7CisgICAgVHJlZUV4cHJlc3Npb24gZXhwciA9IHBhcnNlQXJyb3dG
dW5jdGlvbkV4cHJlc3Npb24oY29udGV4dCk7CisgICAgZmFpbElmRmFsc2UoZXhwciwgIkNhbm5v
dCBwYXJzZSB0aGUgYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgIGVuZCA9IGxhc3RU
b2tlbkVuZFBvc2l0aW9uKCk7CisKKyAgICBib29sIGNvcnJlY3RBcnJvd0ZpbmlzaCA9IGlzRW5k
T2ZBcnJvd0Z1bmN0aW9uKCkgfHwgbWF0Y2goRU9GVE9LKTsKKyAgICBmYWlsSWZGYWxzZShjb3Jy
ZWN0QXJyb3dGaW5pc2gsICJFeHBlY3RlZCBhICc7JywgJ10nLCAnfScsICcpJywgb3IgJywnIGZv
bGxvd2luZyBhIGFycm93IGZ1bmN0aW9uIHN0YXRlbWVudCIpOworCisgICAgZW5kID0gdG9rZW5F
bmRQb3NpdGlvbigpOworICAgIHNldEVuZE9mU3RhdGVtZW50KCk7CisKKyAgICByZXR1cm4gY29u
dGV4dC5jcmVhdGVSZXR1cm5TdGF0ZW1lbnQobG9jYXRpb24sIGV4cHIsIHN0YXJ0LCBlbmQpOwor
fQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gUGFyc2VyPExleGVyVHlw
ZT46OnRyeVBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuRXhwcmVzc2lvbihUcmVlQnVpbGRlciYg
Y29udGV4dCkKIHsKQEAgLTEwMTgsNyArMTA0Myw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZUNsYXVzZUxpc3QgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3dpdGNoQ2xhdXNl
CiAgICAgVHJlZUV4cHJlc3Npb24gY29uZGl0aW9uID0gcGFyc2VFeHByZXNzaW9uKGNvbnRleHQp
OwogICAgIGZhaWxJZkZhbHNlKGNvbmRpdGlvbiwgIkNhbm5vdCBwYXJzZSBzd2l0Y2ggY2xhdXNl
Iik7CiAgICAgY29uc3VtZU9yRmFpbChDT0xPTiwgIkV4cGVjdGVkIGEgJzonIGFmdGVyIHN3aXRj
aCBjbGF1c2UgZXhwcmVzc2lvbiIpOwotICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRz
ID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlKTsK
KyAgICBUcmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMo
Y29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlw
ZSk7CiAgICAgZmFpbElmRmFsc2Uoc3RhdGVtZW50cywgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBv
ZiBhIHN3aXRjaCBjbGF1c2UiKTsKICAgICBUcmVlQ2xhdXNlIGNsYXVzZSA9IGNvbnRleHQuY3Jl
YXRlQ2xhdXNlKGNvbmRpdGlvbiwgc3RhdGVtZW50cyk7CiAgICAgY29udGV4dC5zZXRTdGFydE9m
ZnNldChjbGF1c2UsIHN0YXJ0T2Zmc2V0KTsKQEAgLTEwMzEsNyArMTA1Niw3IEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUNsYXVzZUxpc3QgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlU3dpdGNoQ2xhdXNlCiAgICAgICAgIFRyZWVFeHByZXNzaW9uIGNvbmRpdGlvbiA9IHBhcnNl
RXhwcmVzc2lvbihjb250ZXh0KTsKICAgICAgICAgZmFpbElmRmFsc2UoY29uZGl0aW9uLCAiQ2Fu
bm90IHBhcnNlIHN3aXRjaCBjYXNlIGV4cHJlc3Npb24iKTsKICAgICAgICAgY29uc3VtZU9yRmFp
bChDT0xPTiwgIkV4cGVjdGVkIGEgJzonIGFmdGVyIHN3aXRjaCBjbGF1c2UgZXhwcmVzc2lvbiIp
OwotICAgICAgICBUcmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxl
bWVudHMoY29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSk7CisgICAgICAgIFRyZWVTb3Vy
Y2VFbGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250
Q2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICAgICAg
ZmFpbElmRmFsc2Uoc3RhdGVtZW50cywgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiBhIHN3aXRj
aCBjbGF1c2UiKTsKICAgICAgICAgY2xhdXNlID0gY29udGV4dC5jcmVhdGVDbGF1c2UoY29uZGl0
aW9uLCBzdGF0ZW1lbnRzKTsKICAgICAgICAgY29udGV4dC5zZXRTdGFydE9mZnNldChjbGF1c2Us
IHN0YXJ0T2Zmc2V0KTsKQEAgLTEwNDgsNyArMTA3Myw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZUNsYXVzZSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTd2l0Y2hEZWZhdWx0
Q2xhCiAgICAgdW5zaWduZWQgc3RhcnRPZmZzZXQgPSB0b2tlblN0YXJ0KCk7CiAgICAgbmV4dCgp
OwogICAgIGNvbnN1bWVPckZhaWwoQ09MT04sICJFeHBlY3RlZCBhICc6JyBhZnRlciBzd2l0Y2gg
ZGVmYXVsdCBjbGF1c2UiKTsKLSAgICBUcmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBh
cnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSk7CisgICAg
VHJlZVNvdXJjZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRl
eHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwog
ICAgIGZhaWxJZkZhbHNlKHN0YXRlbWVudHMsICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgYSBz
d2l0Y2ggZGVmYXVsdCBjbGF1c2UiKTsKICAgICBUcmVlQ2xhdXNlIHJlc3VsdCA9IGNvbnRleHQu
Y3JlYXRlQ2xhdXNlKDAsIHN0YXRlbWVudHMpOwogICAgIGNvbnRleHQuc2V0U3RhcnRPZmZzZXQo
cmVzdWx0LCBzdGFydE9mZnNldCk7CkBAIC0xMTMzLDcgKzExNTgsNyBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQmxv
Y2tTdGF0ZW1lbgogICAgICAgICBjb250ZXh0LnNldEVuZE9mZnNldChyZXN1bHQsIGVuZE9mZnNl
dCk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIFRyZWVTb3VyY2VFbGVtZW50
cyBzdWJ0cmVlID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJp
Y3RNb2RlKTsKKyAgICBUcmVlU291cmNlRWxlbWVudHMgc3VidHJlZSA9IHBhcnNlU291cmNlRWxl
bWVudHMoY29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBh
cnNlVHlwZSk7CiAgICAgZmFpbElmRmFsc2Uoc3VidHJlZSwgIkNhbm5vdCBwYXJzZSB0aGUgYm9k
eSBvZiB0aGUgYmxvY2sgc3RhdGVtZW50Iik7CiAgICAgbWF0Y2hPckZhaWwoQ0xPU0VCUkFDRSwg
IkV4cGVjdGVkIGEgY2xvc2luZyAnfScgYXQgdGhlIGVuZCBvZiBhIGJsb2NrIHN0YXRlbWVudCIp
OwogICAgIGludCBlbmRPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CkBAIC0xMTQ1LDcg
KzExNzAsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlQmxvY2tTdGF0ZW1lbgogfQogCiB0ZW1wbGF0ZSA8dHlwZW5h
bWUgTGV4ZXJUeXBlPgotdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwg
Y29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxM
ZW5ndGgpCit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJ
ZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCwg
RnVuY3Rpb25QYXJzZVR5cGUgdHlwZSkKIHsKICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVw
dGgoJm1fc3RhdGVtZW50RGVwdGgpOwogICAgIG1fc3RhdGVtZW50RGVwdGgrKzsKQEAgLTExNTQs
NiArMTE3OSwyMyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQg
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAgIGZhaWxJZlN0YWNrT3Zl
cmZsb3coKTsKICAgICBUcmVlU3RhdGVtZW50IHJlc3VsdCA9IDA7CiAgICAgYm9vbCBzaG91bGRT
ZXRFbmRPZmZzZXQgPSB0cnVlOworCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICBpZiAodHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIHN3
aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKKyAgICAgICAgY2FzZSBDTE9TRVBBUkVOOgorICAgICAg
ICBjYXNlIENMT1NFQlJBQ0tFVDoKKyAgICAgICAgY2FzZSBDT01NQToKKyAgICAgICAgY2FzZSBT
RU1JQ09MT046IHsKKyAgICAgICAgICAgIHJlc3VsdCA9IDA7CisgICAgICAgICAgICBjb250ZXh0
LnNldEVuZE9mZnNldChyZXN1bHQsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ub2Zmc2V0KTsKKyAg
ICAgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgIH0KKyAgICAgICAgZGVmYXVsdDoKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorI2VuZGlmCiAgICAgc3dpdGNoICht
X3Rva2VuLm1fdHlwZSkgewogICAgIGNhc2UgT1BFTkJSQUNFOgogICAgICAgICByZXN1bHQgPSBw
YXJzZUJsb2NrU3RhdGVtZW50KGNvbnRleHQpOwpAQCAtMTE5OSw2ICsxMjQxLDExIEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgY2FzZSBCUkVBSzoKICAgICAgICAgcmVzdWx0ID0gcGFy
c2VCcmVha1N0YXRlbWVudChjb250ZXh0KTsKICAgICAgICAgYnJlYWs7CisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIEFSUk9XRlVOQ1RJT046CisgICAgICAg
IHJlc3VsdCA9IHBhcnNlQXJyb3dGdW5jdGlvblN0YXRlbWVudChjb250ZXh0KTsKKyAgICAgICAg
YnJlYWs7CisjZW5kaWYKICAgICBjYXNlIFJFVFVSTjoKICAgICAgICAgcmVzdWx0ID0gcGFyc2VS
ZXR1cm5TdGF0ZW1lbnQoY29udGV4dCk7CiAgICAgICAgIGJyZWFrOwpAQCAtMTI2MywyMCArMTMx
MCwzNCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGb3JtYWxQYXJhbWV0ZXJM
aXN0IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZvcgogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVy
VHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUZ1bmN0aW9uQm9keSBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkJvZHkoCiAgICAgVHJlZUJ1aWxkZXImIGNvbnRl
eHQsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCAKLSAg
ICBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kKQor
ICAgIGludCBwYXJhbWV0ZXJzU3RhcnQsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQs
IEZ1bmN0aW9uUGFyc2VUeXBlIHBhcnNlVHlwZSkKIHsKICAgICBKU1Rva2VuTG9jYXRpb24gc3Rh
cnRMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwogICAgIHVuc2lnbmVkIHN0YXJ0Q29sdW1uID0g
dG9rZW5Db2x1bW4oKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
IGlmIChwYXJzZVR5cGUgPT0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICBu
ZXh0KCk7CisgICAgICAgIGlmIChtYXRjaChDTE9TRUJSQUNFKSkgeworICAgICAgICAgICAgdW5z
aWduZWQgZW5kQ29sdW1uID0gdG9rZW5Db2x1bW4oKTsKKyAgICAgICAgICAgIHJldHVybiBjb250
ZXh0LmNyZWF0ZUZ1bmN0aW9uQm9keShzdGFydExvY2F0aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0
YXJ0Q29sdW1uLCBlbmRDb2x1bW4sIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVT
dGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBzdHJpY3RNb2RlKCksIGNvbnN0cnVjdG9yS2luZCk7Cisg
ICAgICAgIH0KKyAgICB9CisjZWxzZQogICAgIG5leHQoKTsKLQogICAgIGlmIChtYXRjaChDTE9T
RUJSQUNFKSkgewogICAgICAgICB1bnNpZ25lZCBlbmRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOwog
ICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwg
dG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBmdW5jdGlvbktleXdvcmRT
dGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgc3RyaWN0TW9kZSgpLCBj
b25zdHJ1Y3RvcktpbmQpOwogICAgIH0KKyNlbmRpZgorCiAgICAgRGVwdGhNYW5hZ2VyIHN0YXRl
bWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKICAgICBtX3N0YXRlbWVudERlcHRoID0gMDsK
ICAgICB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6RnVuY3Rpb25Cb2R5QnVpbGRlciBib2R5QnVpbGRl
cihjb25zdF9jYXN0PFZNKj4obV92bSksIG1fbGV4ZXIuZ2V0KCkpOwotICAgIGZhaWxJZkZhbHNl
KHBhcnNlU291cmNlRWxlbWVudHMoYm9keUJ1aWxkZXIsIENoZWNrRm9yU3RyaWN0TW9kZSksICJD
YW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGZ1bmN0aW9uIik7CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBmYWlsSWZGYWxzZShwYXJzZVNvdXJjZUVsZW1lbnRzKGJv
ZHlCdWlsZGVyLCBDaGVja0ZvclN0cmljdE1vZGUsIHBhcnNlVHlwZSksIHBhcnNlVHlwZSA9PSBT
dGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlID8gIkNhbm5vdCBwYXJzZSBib2R5IG9mIHRoaXMgZnVu
Y3Rpb24iIDogIkNhbm5vdCBwYXJzZSBib2R5IG9mIHRoaXMgYXJyb3cgZnVuY3Rpb24iKTsKKyNl
bHNlCisgICAgZmFpbElmRmFsc2UocGFyc2VTb3VyY2VFbGVtZW50cyhib2R5QnVpbGRlciwgQ2hl
Y2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSwgIkNhbm5vdCBwYXJz
ZSBib2R5IG9mIHRoaXMgZnVuY3Rpb24iKTsKKyNlbmRpZgogICAgIHVuc2lnbmVkIGVuZENvbHVt
biA9IHRva2VuQ29sdW1uKCk7CiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5
KHN0YXJ0TG9jYXRpb24sIHRva2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwg
ZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQs
IHN0cmljdE1vZGUoKSwgY29uc3RydWN0b3JLaW5kKTsKIH0KQEAgLTEyOTcsMTUgKzEzNTgsOCBA
QCBzdGF0aWMgY29uc3QgY2hhciogc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKEZ1bmN0aW9uUGFyc2VN
b2RlIG1vZGUpCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBM
ZXhlclR5cGU+Ci10ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblJl
cXVpcmVtZW50cyByZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUsCi0gICAgYm9v
bCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kIG93bmVyQ2xhc3NLaW5k
LCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRl
cj4mIGluZm8pCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPiB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IGludCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvblBhcmFtdGVy
cyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMgcmVxdWlyZW1lbnRz
LCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBB
dXRvUG9wU2NvcGVSZWYmIGZ1bmN0aW9uU2NvcGUsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVp
bGRlcj4mIGluZm8pCiB7Ci0gICAgQXV0b1BvcFNjb3BlUmVmIGZ1bmN0aW9uU2NvcGUodGhpcywg
cHVzaFNjb3BlKCkpOwotICAgIGZ1bmN0aW9uU2NvcGUtPnNldElzRnVuY3Rpb24oKTsKLSAgICBp
bnQgZnVuY3Rpb25OYW1lU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7Ci0g
ICAgY29uc3QgSWRlbnRpZmllciogbGFzdEZ1bmN0aW9uTmFtZSA9IG1fbGFzdEZ1bmN0aW9uTmFt
ZTsKLSAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBudWxscHRyOwogICAgIGlmIChtYXRjaChJREVO
VCkpIHsKICAgICAgICAgaW5mby5uYW1lID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAg
IG1fbGFzdEZ1bmN0aW9uTmFtZSA9IGluZm8ubmFtZTsKQEAgLTEzMjQsNyArMTM3OCw3IEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VG
dW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29y
ZChzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSIpOwogICAgICAgICBmYWlsV2l0
aE1lc3NhZ2UoIkV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhICIsIHN0cmluZ0ZvckZ1
bmN0aW9uTW9kZShtb2RlKSwgIidzIHBhcmFtZXRlciBsaXN0Iik7CiAgICAgfQotCisgICAgCiAg
ICAgaWYgKG1vZGUgPT0gR2V0dGVyTW9kZSkKICAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBB
UkVOLCAiZ2V0dGVyIGZ1bmN0aW9ucyBtdXN0IGhhdmUgbm8gcGFyYW1ldGVycyIpOwogICAgIGVs
c2UgaWYgKG1vZGUgPT0gU2V0dGVyTW9kZSkgewpAQCAtMTM0MSwxNiArMTM5NSw3NyBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVu
Y3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICB9CiAgICAgICAgIGNvbnN1bWVPckZhaWwoQ0xP
U0VQQVJFTiwgIkV4cGVjdGVkIGEgJyknIG9yIGEgJywnIGFmdGVyIGEgcGFyYW1ldGVyIGRlY2xh
cmF0aW9uIik7CiAgICAgfQorICAgIAorICAgIHJldHVybiBwYXJhbWV0ZXJzU3RhcnQ7Cit9CiAK
LSAgICBtYXRjaE9yRmFpbChPUEVOQlJBQ0UsICJFeHBlY3RlZCBhbiBvcGVuaW5nICd7JyBhdCB0
aGUgc3RhcnQgb2YgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOwor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUg
TGV4ZXJUeXBlPiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGludCBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uUGFyYW10ZXJzKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBG
dW5jdGlvblBhcnNlTW9kZSBtb2RlLCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBp
bmZvKQoreworICAgIGludCBwYXJhbWV0ZXJzU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3Rh
cnRPZmZzZXQ7CisgICAgaWYgKCFtYXRjaChJREVOVCkgJiYgIW1hdGNoKE9QRU5QQVJFTikpIHsK
KyAgICAgICAgc2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9k
ZShtb2RlKSwgIiBuYW1lIik7CisgICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgYW4g
YXJyb3cgZnVuY3Rpb24gaW5wdXQgcGFyYW1ldGVyIik7CisgICAgfSBlbHNlIHsKKyAgICAgICAg
aWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgICAgIGNvbnN1bWUoT1BFTlBBUkVOKTsK
KyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYgKCFtYXRjaChDTE9TRVBBUkVOKSkgeworICAg
ICAgICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhjb250
ZXh0KTsKKyAgICAgICAgICAgICAgICBmYWlsSWZGYWxzZShpbmZvLnBhcmFtZXRlcnMsICJDYW5u
b3QgcGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9k
ZSkpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICBjb25zdW1lT3JG
YWlsKENMT1NFUEFSRU4sICJFeHBlY3RlZCBhICcpJyBvciBhICcsJyBhZnRlciBhIHBhcmFtZXRl
ciBkZWNsYXJhdGlvbiIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgYXV0byBwYXJh
bWV0ZXIgPSBwYXJzZURlY29uc3RydWN0aW9uUGF0dGVybihjb250ZXh0LCBEZWNvbnN0cnVjdFRv
UGFyYW1ldGVycyk7CisgICAgICAgICAgICBmYWlsSWZGYWxzZShwYXJhbWV0ZXIsICJDYW5ub3Qg
cGFyc2UgcGFyYW1ldGVyIHBhdHRlcm4iKTsKKyAgICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9
IGNvbnRleHQuY3JlYXRlRm9ybWFsUGFyYW1ldGVyTGlzdChwYXJhbWV0ZXIpOworICAgICAgICAg
ICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMg
Zm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAgICAgfQorICAg
IH0KKyAgICAKKyAgICByZXR1cm4gcGFyYW1ldGVyc1N0YXJ0OworfQorI2VuZGlmCiAKLSAgICAv
LyBCeXRlY29kZUdlbmVyYXRvciBlbWl0cyBjb2RlIHRvIHRocm93IFR5cGVFcnJvciB3aGVuIGEg
Y2xhc3MgY29uc3RydWN0b3IgaXMgImNhbGwiZWQuCi0gICAgLy8gU2V0IENvbnN0cnVjdG9yS2lu
ZCB0byBOb25lIGZvciBub24tY29uc3RydWN0b3IgbWV0aG9kcyBvZiBjbGFzc2VzLgotICAgIGJv
b2wgaXNDbGFzc0NvbnN0cnVjdG9yID0gbW9kZSA9PSBNZXRob2RNb2RlICYmIGluZm8ubmFtZSAm
JiAqaW5mby5uYW1lID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yOwotICAgIGlm
IChtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQgIT0gQ29uc3RydWN0b3JLaW5kOjpOb25lKSB7Ci0g
ICAgICAgIG93bmVyQ2xhc3NLaW5kID0gbV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kOwotICAgICAg
ICBpc0NsYXNzQ29uc3RydWN0b3IgPSB0cnVlOwordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlw
ZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImIGNvbnRleHQsIEZ1bmN0aW9uUmVxdWlyZW1l
bnRzIHJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUgbW9kZSwKKyAgICBib29sIG5hbWVJ
c0luQ29udGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQgb3duZXJDbGFzc0tpbmQsIGludCBm
dW5jdGlvbktleXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYgaW5m
bywgRnVuY3Rpb25QYXJzZVR5cGUgcGFyc2VUeXBlKQoreworICAgIEF1dG9Qb3BTY29wZVJlZiBm
dW5jdGlvblNjb3BlKHRoaXMsIHB1c2hTY29wZSgpKTsKKyAgICBmdW5jdGlvblNjb3BlLT5zZXRJ
c0Z1bmN0aW9uKCk7CisgICAgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0ID0gbV90b2tlbi5tX2xvY2F0
aW9uLnN0YXJ0T2Zmc2V0OworICAgIGNvbnN0IElkZW50aWZpZXIqIGxhc3RGdW5jdGlvbk5hbWUg
PSBtX2xhc3RGdW5jdGlvbk5hbWU7CisgICAgbV9sYXN0RnVuY3Rpb25OYW1lID0gbnVsbHB0cjsK
KyAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0OworICAgIGJvb2wgaXNDbGFzc0NvbnN0cnVjdG9yOwor
ICAgIAorICAgIHN3aXRjaCAocGFyc2VUeXBlKSB7CisgICAgY2FzZSBTdGFuZGFyZEZ1bmN0aW9u
UGFyc2VUeXBlOiB7CisgICAgICAgIHBhcmFtZXRlcnNTdGFydCA9IHBhcnNlRnVuY3Rpb25QYXJh
bXRlcnMoY29udGV4dCwgcmVxdWlyZW1lbnRzLCBtb2RlLCBuYW1lSXNJbkNvbnRhaW5pbmdTY29w
ZSwgZnVuY3Rpb25TY29wZSwgaW5mbyk7CisgICAgICAgICAgICAKKyAgICAgICAgbWF0Y2hPckZh
aWwoT1BFTkJSQUNFLCAiRXhwZWN0ZWQgYW4gb3BlbmluZyAneycgYXQgdGhlIHN0YXJ0IG9mIGEg
Iiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgCisgICAg
ICAgIC8vIEJ5dGVjb2RlR2VuZXJhdG9yIGVtaXRzIGNvZGUgdG8gdGhyb3cgVHlwZUVycm9yIHdo
ZW4gYSBjbGFzcyBjb25zdHJ1Y3RvciBpcyAiY2FsbCJlZC4KKyAgICAgICAgLy8gU2V0IENvbnN0
cnVjdG9yS2luZCB0byBOb25lIGZvciBub24tY29uc3RydWN0b3IgbWV0aG9kcyBvZiBjbGFzc2Vz
LgorICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSBtb2RlID09IE1ldGhvZE1vZGUgJiYgaW5m
by5uYW1lICYmICppbmZvLm5hbWUgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3I7
CisgICAgICAgIGlmIChtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQgIT0gQ29uc3RydWN0b3JLaW5k
OjpOb25lKSB7CisgICAgICAgICAgICBvd25lckNsYXNzS2luZCA9IG1fZGVmYXVsdENvbnN0cnVj
dG9yS2luZDsKKyAgICAgICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IHRydWU7CisgICAgICAg
IH0KKyAgICAgICAgYnJlYWs7CiAgICAgfQorICAgIGNhc2UgQXJyb3dGdW5jdGlvblBhcnNlVHlw
ZTogeworICAgICAgICBwYXJhbWV0ZXJzU3RhcnQgPSBwYXJzZUFycm93RnVuY3Rpb25QYXJhbXRl
cnMoY29udGV4dCwgbW9kZSwgaW5mbyk7CisgICAgICAgIAorICAgICAgICBtYXRjaE9yRmFpbChB
UlJPV0ZVTkNUSU9OLCAiRXhwZWN0ZWQgYSAnPT4nIGFmdGVyIGFycm93IGZ1bmN0aW9uIHBhcmFt
ZXRlciBkZWNsYXJhdGlvbiIpOworICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSBmYWxzZTsK
KyAgICAgICAgCisgICAgICAgIGluZm8uYXJyb3dGdW5jdGlvbk9mZnNldCA9IG1fdG9rZW4ubV9k
YXRhLm9mZnNldDsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIH0KKwogICAgIENvbnN0cnVj
dG9yS2luZCBjb25zdHJ1Y3RvcktpbmQgPSBpc0NsYXNzQ29uc3RydWN0b3IgPyBvd25lckNsYXNz
S2luZCA6IENvbnN0cnVjdG9yS2luZDo6Tm9uZTsKIAogICAgIGluZm8ub3BlbkJyYWNlT2Zmc2V0
ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OwpAQCAtMTM4NCw4ICsxNDk5LDE1IEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlv
bkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIGZhaWxJZkZhbHNlKHBvcFNjb3BlKGZ1bmN0aW9uU2Nv
cGUsIFRyZWVCdWlsZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUluZm8pLCAiUGFyc2VyIGVycm9yIik7
CiAgICAgICAgIAogICAgICAgICBpbmZvLmNsb3NlQnJhY2VPZmZzZXQgPSBjYWNoZWRJbmZvLT5j
bG9zZUJyYWNlT2Zmc2V0OwotCi0gICAgICAgIG1fdG9rZW4gPSBjYWNoZWRJbmZvLT5jbG9zZUJy
YWNlVG9rZW4oKTsKKyAgICAgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICAgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKQorICAg
ICAgICAgICAgaW5mby5mdW5jdGlvbkJvZHlUeXBlID0gY2FjaGVkSW5mby0+aXNCb2R5QXJyb3dF
eHByZXNzaW9uID8gIEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiA6IEFycm93RnVuY3Rpb25C
b2R5QmxvY2s7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGluZm8uZnVuY3Rpb25Cb2R5VHlw
ZSA9IFN0YW5kYXJkRnVuY3Rpb25Cb2R5QmxvY2s7CisjZW5kaWYKKyAgICAgICAgbV90b2tlbiA9
IGNhY2hlZEluZm8tPmVuZEZ1bmN0aW9uVG9rZW4oKTsKKyAgICAgICAgCiAgICAgICAgIGlmIChl
bmRDb2x1bW5Jc09uU3RhcnRMaW5lKQogICAgICAgICAgICAgbV90b2tlbi5tX2xvY2F0aW9uLmxp
bmVTdGFydE9mZnNldCA9IGN1cnJlbnRMaW5lU3RhcnRPZmZzZXQ7CiAKQEAgLTEzOTQsMTMgKzE1
MTYsNDMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKIAogICAgICAgICBjb250ZXh0LnNldEVu
ZE9mZnNldChpbmZvLmJvZHksIG1fbGV4ZXItPmN1cnJlbnRPZmZzZXQoKSk7CiAgICAgICAgIAor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChwYXJzZVR5
cGUgIT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSB8fCBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0g
QXJyb3dGdW5jdGlvbkJvZHlCbG9jaykKKyAgICAgICAgICAgIG5leHQoKTsKKyNlbHNlCiAgICAg
ICAgIG5leHQoKTsKKyNlbmRpZgogICAgICAgICBpbmZvLmJvZHlFbmRMaW5lID0gbV9sYXN0VG9r
ZW5FbmRQb3NpdGlvbi5saW5lOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CisgICAgCiAg
ICAgbV9sYXN0RnVuY3Rpb25OYW1lID0gbGFzdEZ1bmN0aW9uTmFtZTsKICAgICBQYXJzZXJTdGF0
ZSBvbGRTdGF0ZSA9IHNhdmVTdGF0ZSgpOwotICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25C
b2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFy
YW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQpOworICAgIAorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFy
c2VUeXBlKSB7CisgICAgICAgIFNhdmVQb2ludCBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQo
KTsKKyAgICAgICAgbmV4dCgpOworICAgICAgICAvLyBDaGVjayBpZiBhcnJvdyBib2R5IHN0YXJ0
IHdpdGggey4gSWYgaXQgdHJ1ZSBpdCBtZWFuIHRoYXQgYXJyb3cgZnVuY3Rpb24gaXMgRmF0IGFy
cm93IGZ1bmN0aW9uCisgICAgICAgIC8vIGFuZCB3ZSBuZWVkIHVzZSBjb21tb24gYXBwcm9hY2gg
dG8gcGFyc2UgZnVuY3Rpb24gYm9keQorICAgICAgICBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPSBt
YXRjaChPUEVOQlJBQ0UpID8gQXJyb3dGdW5jdGlvbkJvZHlCbG9jayA6IEFycm93RnVuY3Rpb25C
b2R5RXhwcmVzc2lvbjsKKyAgICAKKyAgICAgICAgaWYgKGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9
PSBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrKSB7CisgICAgICAgICAgICBpbmZvLm9wZW5CcmFjZU9m
ZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKKyAgICAgICAgICAgIGluZm8uYm9keVN0YXJ0
TGluZSA9IHRva2VuTGluZSgpOworICAgICAgICAgICAgaW5mby5ib2R5U3RhcnRDb2x1bW4gPSBt
X3Rva2VuLm1fZGF0YS5vZmZzZXQgLSBtX3Rva2VuLm1fZGF0YS5saW5lU3RhcnRPZmZzZXQ7Cisg
ICAgICAgIAorICAgICAgICAgICAgaW5mby5ib2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4
dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3Rh
cnQsIGNvbnN0cnVjdG9yS2luZCwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CisgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CisgICAg
ICAgICAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktl
eXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0
b3JLaW5kLCBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKTsKKyAgICAgICAgfQorICAgIH0gZWxzZQor
ICAgICAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktl
eXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0
b3JLaW5kLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNlbHNlCisgICAgaW5mby5ib2R5
ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0
aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCwgU3RhbmRhcmRG
dW5jdGlvblBhcnNlVHlwZSk7CisjZW5kaWYKKyAgICAKICAgICByZXN0b3JlU3RhdGUob2xkU3Rh
dGUpOwogICAgIGZhaWxJZkZhbHNlKGluZm8uYm9keSwgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBv
ZiB0aGlzICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7CiAgICAgY29udGV4dC5zZXRF
bmRPZmZzZXQoaW5mby5ib2R5LCBtX2xleGVyLT5jdXJyZW50T2Zmc2V0KCkpOwpAQCAtMTQzMSwx
OCArMTU4MywzMyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICBwYXJhbWV0ZXJz
LmNsb3NlQnJhY2VMaW5lID0gY2xvc2VCcmFjZUxpbmU7CiAgICAgICAgIHBhcmFtZXRlcnMuY2xv
c2VCcmFjZU9mZnNldCA9IGluZm8uY2xvc2VCcmFjZU9mZnNldDsKICAgICAgICAgcGFyYW1ldGVy
cy5jbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0ID0gY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldDsK
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAocGFyc2VU
eXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgICAgIHBhcmFtZXRlcnMu
aXNCb2R5QXJyb3dFeHByZXNzaW9uID0gaW5mby5mdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVu
Y3Rpb25Cb2R5RXhwcmVzc2lvbjsKKyAgICAgICAgICAgIHBhcmFtZXRlcnMudG9rZW5UeXBlID0g
bV90b2tlbi5tX3R5cGU7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBmdW5jdGlvblNjb3Bl
LT5maWxsUGFyYW1ldGVyc0ZvclNvdXJjZVByb3ZpZGVyQ2FjaGUocGFyYW1ldGVycyk7CiAgICAg
ICAgIG5ld0luZm8gPSBTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6Y3JlYXRlKHBhcmFtZXRlcnMp
OwogCiAgICAgfQogICAgIAogICAgIGZhaWxJZkZhbHNlKHBvcFNjb3BlKGZ1bmN0aW9uU2NvcGUs
IFRyZWVCdWlsZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUluZm8pLCAiUGFyc2VyIGVycm9yIik7Cisg
ICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAoKHBhcnNl
VHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlICYmIGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9
PSBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrKSB8fCBwYXJzZVR5cGUgIT0gQXJyb3dGdW5jdGlvblBh
cnNlVHlwZSkgeworICAgICAgICBtYXRjaE9yRmFpbChDTE9TRUJSQUNFLCAiRXhwZWN0ZWQgYSBj
bG9zaW5nICd9JyBhZnRlciBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5
Iik7CisgICAgICAgIG5leHQoKTsKKyAgICB9IGVsc2UKKyAgICAgICAgZmFpbElmRmFsc2UoaXNF
bmRPZkFycm93RnVuY3Rpb24oKSwgIkV4cGVjdGVkIHRoZSBjbG9zaW5nICc7JyAnLCcgJ10nICcp
JyAnfScgYWZ0ZXIgYXJyb3cgZnVuY3Rpb24iKTsKKyNlbHNlCiAgICAgbWF0Y2hPckZhaWwoQ0xP
U0VCUkFDRSwgIkV4cGVjdGVkIGEgY2xvc2luZyAnfScgYWZ0ZXIgYSAiLCBzdHJpbmdGb3JGdW5j
dGlvbk1vZGUobW9kZSksICIgYm9keSIpOworICAgIG5leHQoKTsKKyNlbmRpZgogICAgIAogICAg
IGlmIChuZXdJbmZvKQogICAgICAgICBtX2Z1bmN0aW9uQ2FjaGUtPmFkZChpbmZvLm9wZW5CcmFj
ZU9mZnNldCwgV1RGOjptb3ZlKG5ld0luZm8pKTsKICAgICAKLSAgICBuZXh0KCk7CiAgICAgaW5m
by5ib2R5RW5kTGluZSA9IG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZTsKICAgICByZXR1cm4g
dHJ1ZTsKIH0KQEAgLTE0NTUsNyArMTYyMiw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkRlY2xhCiAg
ICAgdW5zaWduZWQgZnVuY3Rpb25LZXl3b3JkU3RhcnQgPSB0b2tlblN0YXJ0KCk7CiAgICAgbmV4
dCgpOwogICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gaW5mbzsKLSAgICBmYWls
SWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OZWVkc05hbWUsIEZ1
bmN0aW9uTW9kZSwgdHJ1ZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBmdW5jdGlvbktleXdvcmRT
dGFydCwgaW5mbykpLCAiQ2Fubm90IHBhcnNlIHRoaXMgZnVuY3Rpb24iKTsKKyAgICBmYWlsSWZG
YWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OZWVkc05hbWUsIEZ1bmN0
aW9uTW9kZSwgdHJ1ZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBmdW5jdGlvbktleXdvcmRTdGFy
dCwgaW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIHRoaXMg
ZnVuY3Rpb24iKTsKICAgICBmYWlsSWZGYWxzZShpbmZvLm5hbWUsICJGdW5jdGlvbiBzdGF0ZW1l
bnRzIG11c3QgaGF2ZSBhIG5hbWUiKTsKICAgICBmYWlsSWZGYWxzZUlmU3RyaWN0KGRlY2xhcmVW
YXJpYWJsZShpbmZvLm5hbWUpLCAiQ2Fubm90IGRlY2xhcmUgYSBmdW5jdGlvbiBuYW1lZCAnIiwg
aW5mby5uYW1lLT5pbXBsKCksICInIGluIHN0cmljdCBtb2RlIik7CiAgICAgcmV0dXJuIGNvbnRl
eHQuY3JlYXRlRnVuY0RlY2xTdGF0ZW1lbnQobG9jYXRpb24sIGluZm8pOwpAQCAtMTU1MCw3ICsx
NzE3LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhc3NFeHByZXNzaW9u
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUNsYXNzKFQKICAgICAgICAgICAgIGZhaWxJZkZhbHNl
KHByb3BlcnR5LCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9kIik7CiAgICAgICAgIH0gZWxzZSB7
CiAgICAgICAgICAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IG1ldGhvZEluZm87
Ci0gICAgICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVu
Y3Rpb25OZWVkc05hbWUsIGlzU3RhdGljTWV0aG9kID8gRnVuY3Rpb25Nb2RlIDogTWV0aG9kTW9k
ZSwgZmFsc2UsIGNvbnN0cnVjdG9yS2luZCwgbWV0aG9kU3RhcnQsIG1ldGhvZEluZm8pKSwgIkNh
bm5vdCBwYXJzZSB0aGlzIG1ldGhvZCIpOworICAgICAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNl
RnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTmVlZHNOYW1lLCBpc1N0YXRpY01ldGhvZCA/
IEZ1bmN0aW9uTW9kZSA6IE1ldGhvZE1vZGUsIGZhbHNlLCBjb25zdHJ1Y3RvcktpbmQsIG1ldGhv
ZFN0YXJ0LCBtZXRob2RJbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3Qg
cGFyc2UgdGhpcyBtZXRob2QiKTsKICAgICAgICAgICAgIGZhaWxJZkZhbHNlKG1ldGhvZEluZm8u
bmFtZSwgIm1ldGhvZCBtdXN0IGhhdmUgYSBuYW1lIik7CiAgICAgICAgICAgICBmYWlsSWZGYWxz
ZShkZWNsYXJlVmFyaWFibGUobWV0aG9kSW5mby5uYW1lKSwgIkNhbm5vdCBkZWNsYXJlIGEgbWV0
aG9kIG5hbWVkICciLCBtZXRob2RJbmZvLm5hbWUtPmltcGwoKSwgIiciKTsKIApAQCAtMTc2Niw2
ICsxOTMzLDE4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJZlN0YXRlbWVudChUCiAgICAgcmV0dXJuIGNvbnRleHQu
Y3JlYXRlSWZTdGF0ZW1lbnQoaWZMb2NhdGlvbiwgY29uZGl0aW9uLCB0cnVlQmxvY2ssIHN0YXRl
bWVudFN0YWNrLmxhc3QoKSwgc3RhcnQsIGVuZCk7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAg
ZmFpbElmU3RhY2tPdmVyZmxvdygpOworICAgIFRyZWVFeHByZXNzaW9uIG5vZGUgPSBwYXJzZUFz
c2lnbm1lbnRFeHByZXNzaW9uKGNvbnRleHQpOworICAgIGZhaWxJZkZhbHNlKG5vZGUsICJDYW5u
b3QgcGFyc2UgZXhwcmVzc2lvbiIpOworICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KG5vZGUsIG1f
bGFzdFRva2VuRW5kUG9zaXRpb24ub2Zmc2V0KTsKKyAgICByZXR1cm4gbm9kZTsKK30KKyNlbmRp
ZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHByZXNzaW9u
KFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewpAQCAtMTgxMyw2ICsxOTkyLDQxIEBAIHRlbXBsYXRl
IDx0eXBlbmFtZSBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlQXNzaWdubWVuCiAgICAgICAgIH0KICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZl
UG9pbnQpOwogICAgIH0KKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsK
KyAgICBib29sIGFycm93RnVuY3Rpb25FbXB0eUxpc3QgPSBmYWxzZTsKKyAgICBpZiAobWF0Y2go
T1BFTlBBUkVOKSkgeworICAgICAgICBuZXh0KCk7CisgICAgICAgIGlmIChtYXRjaChDTE9TRVBB
UkVOKSkgeworICAgICAgICAgICAgbmV4dCgpOworCisgICAgICAgICAgICBpZiAobWF0Y2goQVJS
T1dGVU5DVElPTikpCisgICAgICAgICAgICAgICAgYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCA9IHRy
dWU7CisgICAgICAgIH0KKworICAgICAgICBpZiAoIWFycm93RnVuY3Rpb25FbXB0eUxpc3QpCisg
ICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAg
IH0KKworICAgIFRyZWVFeHByZXNzaW9uIGxoczsKKyAgICBpZiAoIWFycm93RnVuY3Rpb25FbXB0
eUxpc3QpIHsKKyAgICAgICAgbGhzID0gcGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24oY29udGV4
dCk7CisgICAgICAgIGZhaWxJZkZhbHNlKGxocywgIkNhbhlub3QgcGFyc2UgZXhwcmVzc2lvbiIp
OworICAgICAgICBpZiAoaW5pdGlhbE5vbkxIU0NvdW50ICE9IG1fbm9uTEhTQ291bnQpIHsKKyAg
ICAgICAgICAgIGlmIChtX3Rva2VuLm1fdHlwZSA+PSBFUVVBTCAmJiBtX3Rva2VuLm1fdHlwZSA8
PSBPUkVRVUFMKQorICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbCgiTGVmdCBoYW5kIHNpZGUg
b2Ygb3BlcmF0b3IgJyIsIGdldFRva2VuKCksICInIG11c3QgYmUgYSByZWZlcmVuY2UiKTsKKwor
ICAgICAgICAgICAgcmV0dXJuIGxoczsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmIChtYXRj
aChBUlJPV0ZVTkNUSU9OKSkgeworICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1
bmN0aW9uUG9pbnQpOworICAgICAgICBsaHMgPSBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKGNv
bnRleHQpOworICAgICAgICByZXR1cm4gbGhzOworICAgIH0KKyNlbHNlCiAgICAgVHJlZUV4cHJl
c3Npb24gbGhzID0gcGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24oY29udGV4dCk7CiAgICAgZmFp
bElmRmFsc2UobGhzLCAiQ2Fubm90IHBhcnNlIGV4cHJlc3Npb24iKTsKICAgICBpZiAoaW5pdGlh
bE5vbkxIU0NvdW50ICE9IG1fbm9uTEhTQ291bnQpIHsKQEAgLTE4MjEsNyArMjAzNSw4IEBAIHRl
bXBsYXRlIDx0eXBlbmFtZSBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlQXNzaWdubWVuCiAKICAgICAgICAgcmV0dXJuIGxoczsKICAgICB9Ci0gICAg
CisjZW5kaWYKKwogICAgIGludCBhc3NpZ25tZW50U3RhY2sgPSAwOwogICAgIE9wZXJhdG9yIG9w
OwogICAgIGJvb2wgaGFkQXNzaWdubWVudCA9IGZhbHNlOwpAQCAtMjA1Myw3ICsyMjY4LDcgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VQcm9wZXJ0eU1ldGgKICAgICBKU1Rva2VuTG9jYXRpb24gbWV0aG9kTG9jYXRp
b24odG9rZW5Mb2NhdGlvbigpKTsKICAgICB1bnNpZ25lZCBtZXRob2RTdGFydCA9IHRva2VuU3Rh
cnQoKTsKICAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IG1ldGhvZEluZm87Ci0g
ICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1
aXJlbWVudHMsIE1ldGhvZE1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIG1ldGhv
ZFN0YXJ0LCBtZXRob2RJbmZvKSksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2QiKTsKKyAgICBm
YWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVt
ZW50cywgTWV0aG9kTW9kZSwgZmFsc2UsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgbWV0aG9kU3Rh
cnQsIG1ldGhvZEluZm8sIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJz
ZSB0aGlzIG1ldGhvZCIpOwogICAgIG1ldGhvZEluZm8ubmFtZSA9IG1ldGhvZE5hbWU7CiAgICAg
cmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25FeHByKG1ldGhvZExvY2F0aW9uLCBtZXRob2RJ
bmZvKTsKIH0KQEAgLTIwNzUsMTAgKzIyOTAsMTAgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlR2V0dGVyU2V0dGVyKFQK
ICAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87CiAgICAgaWYgKHR5cGUg
PT0gUHJvcGVydHlOb2RlOjpHZXR0ZXIpIHsKICAgICAgICAgZmFpbElmRmFsc2UobWF0Y2goT1BF
TlBBUkVOKSwgIkV4cGVjdGVkIGEgcGFyYW1ldGVyIGxpc3QgZm9yIGdldHRlciBkZWZpbml0aW9u
Iik7Ci0gICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5j
dGlvbk5vUmVxdWlyZW1lbnRzLCBHZXR0ZXJNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBn
ZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBpbmZvKSksICJDYW5ub3QgcGFyc2UgZ2V0dGVyIGRl
ZmluaXRpb24iKTsKKyAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRl
eHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEdldHRlck1vZGUsIGZhbHNlLCBjb25zdHJ1Y3Rv
cktpbmQsIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIGluZm8sIFN0YW5kYXJkRnVuY3Rpb25Q
YXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSBnZXR0ZXIgZGVmaW5pdGlvbiIpOwogICAgIH0gZWxz
ZSB7CiAgICAgICAgIGZhaWxJZkZhbHNlKG1hdGNoKE9QRU5QQVJFTiksICJFeHBlY3RlZCBhIHBh
cmFtZXRlciBsaXN0IGZvciBzZXR0ZXIgZGVmaW5pdGlvbiIpOwotICAgICAgICBmYWlsSWZGYWxz
ZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgU2V0
dGVyTW9kZSwgZmFsc2UsIGNvbnN0cnVjdG9yS2luZCwgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNl
dCwgaW5mbykpLCAiQ2Fubm90IHBhcnNlIHNldHRlciBkZWZpbml0aW9uIik7CisgICAgICAgIGZh
aWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1l
bnRzLCBTZXR0ZXJNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBnZXR0ZXJPclNldHRlclN0
YXJ0T2Zmc2V0LCBpbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFy
c2Ugc2V0dGVyIGRlZmluaXRpb24iKTsKICAgICB9CiAgICAgaWYgKHN0cmluZ1Byb3BlcnR5TmFt
ZSkKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlR2V0dGVyT3JTZXR0ZXJQcm9wZXJ0eShs
b2NhdGlvbiwgdHlwZSwgc3RyaWN0LCBzdHJpbmdQcm9wZXJ0eU5hbWUsIGluZm8sIHN1cGVyQmlu
ZGluZyk7CkBAIC0yMjY3LDcgKzI0ODIsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHByZQogICAg
ICAgICBuZXh0KCk7CiAgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gaW5m
bzsKICAgICAgICAgaW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlm
aWVyOwotICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVu
Y3Rpb25Ob1JlcXVpcmVtZW50cywgRnVuY3Rpb25Nb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5k
OjpOb25lLCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW5mbykpLCAiQ2Fubm90IHBhcnNlIGZ1bmN0
aW9uIGV4cHJlc3Npb24iKTsKKyAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZv
KGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEZ1bmN0aW9uTW9kZSwgZmFsc2UsIENv
bnN0cnVjdG9yS2luZDo6Tm9uZSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8sIFN0YW5kYXJk
RnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSBmdW5jdGlvbiBleHByZXNzaW9uIik7
CiAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uRXhwcihsb2NhdGlvbiwgaW5m
byk7CiAgICAgfQogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQpAQCAtMjI5Niw2ICsyNTEx
LDIzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAgICAgIHJldHVybiBjb250ZXh0LnRo
aXNFeHByKGxvY2F0aW9uLCBtX3RoaXNURFpNb2RlKTsKICAgICB9CiAgICAgY2FzZSBJREVOVDog
eworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIFNhdmVQb2lu
dCBzYXZlQXJyb3dGdW5jdGlvblBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgICAgIEpT
VGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgICAgIGNvbnN0
IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CisgICAgICAgIEpTVG9r
ZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgICAgICBuZXh0KCk7CisK
KyAgICAgICAgaWYgKCFtYXRjaChBUlJPV0ZVTkNUSU9OKSkgeworICAgICAgICAgICAgY3VycmVu
dFNjb3BlKCktPnVzZVZhcmlhYmxlKGlkZW50LCBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09
ICppZGVudCk7CisgICAgICAgICAgICBtX2xhc3RJZGVudGlmaWVyID0gaWRlbnQ7CisgICAgICAg
ICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVSZXNvbHZlKGxvY2F0aW9uLCBpZGVudCwgc3RhcnQp
OworICAgICAgICB9CisKKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlv
blBvaW50KTsKKyAgICAgICAgVHJlZUV4cHJlc3Npb24gbGhzID0gcGFyc2VBcnJvd0Z1bmN0aW9u
V3JhcHBlcihjb250ZXh0KTsKKyAgICAgICAgcmV0dXJuIGxoczsKKyNlbHNlCiAgICAgICAgIEpT
VGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CiAgICAgICAgIGNvbnN0
IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgIEpTVG9r
ZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwpAQCAtMjMwMyw2ICsyNTM1LDcg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAgY3VycmVudFNjb3BlKCktPnVzZVZh
cmlhYmxlKGlkZW50LCBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09ICppZGVudCk7CiAgICAg
ICAgIG1fbGFzdElkZW50aWZpZXIgPSBpZGVudDsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3Jl
YXRlUmVzb2x2ZShsb2NhdGlvbiwgaWRlbnQsIHN0YXJ0KTsKKyNlbmRpZgogICAgIH0KICAgICBj
YXNlIFNUUklORzogewogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4u
bV9kYXRhLmlkZW50OwpAQCAtMjQ5MCw2ICsyNzIzLDMyIEBAIGVuZE1lbWJlckV4cHJlc3Npb246
CiAgICAgcmV0dXJuIGJhc2U7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5j
dGlvbldyYXBwZXIoVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAgVHJlZUV4cHJlc3Npb24g
YmFzZSA9IDA7CisgICAgSlNUZXh0UG9zaXRpb24gZXhwcmVzc2lvblN0YXJ0ID0gdG9rZW5TdGFy
dFBvc2l0aW9uKCk7CisgICAgaW50IG5ld0NvdW50ID0gMDsKKyAgICBKU1Rva2VuTG9jYXRpb24g
bG9jYXRpb247CisKKyAgICBpZiAobWF0Y2goSURFTlQpIHx8IG1hdGNoKE9QRU5QQVJFTikpIHsK
KyAgICAgICAgdW5zaWduZWQgZnVuY3Rpb25LZXl3b3JkU3RhcnQgPSB0b2tlblN0YXJ0KCk7Cisg
ICAgICAgIGxvY2F0aW9uID0gdG9rZW5Mb2NhdGlvbigpOworICAgICAgICBQYXJzZXJGdW5jdGlv
bkluZm88VHJlZUJ1aWxkZXI+IGluZm87CisgICAgICAgIGluZm8ubmFtZSA9ICZtX3ZtLT5wcm9w
ZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllcjsKKyAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVu
Y3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEZ1bmN0aW9uTW9kZSwg
dHJ1ZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW5mbywg
QXJyb3dGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIGFycm93IGZ1bmN0aW9uIGV4
cHJlc3Npb24iKTsKKyAgICAgICAgYmFzZSA9IGNvbnRleHQuY3JlYXRlQXJyb3dGdW5jdGlvbkV4
cHIobG9jYXRpb24sIGluZm8pOworICAgIH0gZWxzZQorICAgICAgICBiYXNlID0gcGFyc2VQcmlt
YXJ5RXhwcmVzc2lvbihjb250ZXh0KTsKKworICAgIGZhaWxJZkZhbHNlKGJhc2UsICJDYW5ub3Qg
cGFyc2UgYmFzZSBleHByZXNzaW9uIik7CisgICAgd2hpbGUgKG5ld0NvdW50LS0pCisgICAgICAg
IGJhc2UgPSBjb250ZXh0LmNyZWF0ZU5ld0V4cHIobG9jYXRpb24sIGJhc2UsIGV4cHJlc3Npb25T
dGFydCwgbGFzdFRva2VuRW5kUG9zaXRpb24oKSk7CisgICAgcmV0dXJuIGJhc2U7Cit9CisjZW5k
aWYKKwogc3RhdGljIGNvbnN0IGNoYXIqIG9wZXJhdG9yU3RyaW5nKGJvb2wgcHJlZml4LCB1bnNp
Z25lZCB0b2spCiB7CiAgICAgc3dpdGNoICh0b2spIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1BhcnNlci5oCmluZGV4IDBmMjcyOGY4NjIxZjgwMTBjNDEwYmY3OTg3NjE5YmYyM2U1MGFmOGIu
LjcwNzBiYjJiNjgzNGMwMDQ4M2NhNWEyZWNlNTkxYmJjNjZjYzhjOWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXIuaApAQCAtODAsNiArODAsMTEgQEAgY2xhc3MgU291cmNlQ29k
ZTsKIENPTVBJTEVfQVNTRVJUKExhc3RVbnRhZ2dlZFRva2VuIDwgNjQsIExlc3NUaGFuNjRVbnRh
Z2dlZFRva2Vucyk7CiAKIGVudW0gU291cmNlRWxlbWVudHNNb2RlIHsgQ2hlY2tGb3JTdHJpY3RN
b2RlLCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlIH07CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKK2VudW0gRnVuY3Rpb25QYXJzZVR5cGUgeyBTdGFuZGFyZEZ1bmN0aW9uUGFy
c2VUeXBlLCBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlIH07CisjZWxzZQorZW51bSBGdW5jdGlvblBh
cnNlVHlwZSB7IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGV9OworI2VuZGlmCiBlbnVtIEZ1bmN0
aW9uUmVxdWlyZW1lbnRzIHsgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgRnVuY3Rpb25OZWVkc05h
bWUgfTsKIGVudW0gRnVuY3Rpb25QYXJzZU1vZGUgewogICAgIEZ1bmN0aW9uTW9kZSwKQEAgLTYx
OCw2ICs2MjMsMTMgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIG1fdG9rZW4ubV90eXBlID09
IElERU5UICYmICptX3Rva2VuLm1fZGF0YS5pZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5v
ZjsKICAgICB9CiAgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICBBTFdBWVNfSU5MSU5FIGJvb2wgaXNFbmRPZkFycm93RnVuY3Rpb24oKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIG1hdGNoKFNFTUlDT0xPTikgfHwgbWF0Y2goQ09NTUEpIHx8IG1hdGNoKENMT1NF
UEFSRU4pIHx8IG1hdGNoKENMT1NFQlJBQ0UpIHx8IG1hdGNoKENMT1NFQlJBQ0tFVCk7CisgICAg
fQorI2VuZGlmCisgICAgCiAgICAgQUxXQVlTX0lOTElORSB1bnNpZ25lZCB0b2tlblN0YXJ0KCkK
ICAgICB7CiAgICAgICAgIHJldHVybiBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CkBA
IC03MjEsOSArNzMzLDkgQEAgcHJpdmF0ZToKICAgICAgICAgfQogICAgICAgICByZXR1cm4gcmVz
dWx0OwogICAgIH0KLSAgICAKLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
b3VyY2VFbGVtZW50cyBwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxl
bWVudHNNb2RlKTsKLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1l
bnQgcGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0
aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDApOworCisgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgcGFyc2VTb3VyY2VFbGVt
ZW50cyhUcmVlQnVpbGRlciYsIFNvdXJjZUVsZW1lbnRzTW9kZSwgRnVuY3Rpb25QYXJzZVR5cGUp
OworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0
YXRlbWVudChUcmVlQnVpbGRlciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2ln
bmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMCwgRnVuY3Rpb25QYXJzZVR5cGUgdHlwZSA9
IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFY
KQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZUNs
YXNzRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImKTsKICNlbmRpZgpAQCAtNzYyLDE3ICs3NzQsMjcg
QEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0
eSBwYXJzZVByb3BlcnR5KFRyZWVCdWlsZGVyJiwgYm9vbCBzdHJpY3QpOwogICAgIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VQcm9wZXJ0eU1ldGhvZChU
cmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciogbWV0aG9kTmFtZSk7CiAgICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgcGFyc2VHZXR0ZXJTZXR0
ZXIoVHJlZUJ1aWxkZXImLCBib29sIHN0cmljdCwgUHJvcGVydHlOb2RlOjpUeXBlLCB1bnNpZ25l
ZCBnZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBDb25zdHJ1Y3RvcktpbmQgPSBDb25zdHJ1Y3Rv
cktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZyA9IFN1cGVyQmluZGluZzo6Tm90TmVlZGVkKTsKLSAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZ1bmN0aW9u
Qm9keSBwYXJzZUZ1bmN0aW9uQm9keShUcmVlQnVpbGRlciYsIGludCBmdW5jdGlvbktleXdvcmRT
dGFydCwgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25zdHJ1
Y3RvcktpbmQpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElO
RSBUcmVlRnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVyJiwgaW50IGZ1
bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIGludCBwYXJhbWV0ZXJz
U3RhcnQsIENvbnN0cnVjdG9yS2luZCwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25QYXJzZVR5
cGUpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVl
Rm9ybWFsUGFyYW1ldGVyTGlzdCBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoVHJlZUJ1aWxkZXImKTsK
ICAgICBlbnVtIFZhckRlY2xhcmF0aW9uTGlzdENvbnRleHQgeyBGb3JMb29wQ29udGV4dCwgVmFy
RGVjbGFyYXRpb25Db250ZXh0IH07CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlRXhwcmVzc2lvbiBwYXJzZVZhckRlY2xhcmF0aW9uTGlzdChUcmVlQnVpbGRlciYsIGludCYg
ZGVjbGFyYXRpb25zLCBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuJiBsYXN0UGF0dGVybiwgVHJl
ZUV4cHJlc3Npb24mIGxhc3RJbml0aWFsaXplciwgSlNUZXh0UG9zaXRpb24mIGlkZW50U3RhcnQs
IEpTVGV4dFBvc2l0aW9uJiBpbml0U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0RW5kLCBWYXJE
ZWNsYXJhdGlvbkxpc3RDb250ZXh0KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IE5FVkVSX0lOTElORSBUcmVlQ29uc3REZWNsTGlzdCBwYXJzZUNvbnN0RGVjbGFyYXRpb25MaXN0
KFRyZWVCdWlsZGVyJik7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VBcnJv
d0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoVHJl
ZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNz
aW9uIHBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoVHJlZUJ1aWxkZXImKTsKKyNlbmRpZgorCiAg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3Ry
dWN0aW9uUGF0dGVybiBjcmVhdGVCaW5kaW5nUGF0dGVybihUcmVlQnVpbGRlciYsIERlY29uc3Ry
dWN0aW9uS2luZCwgY29uc3QgSWRlbnRpZmllciYsIGludCBkZXB0aCwgSlNUb2tlbik7CiAgICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0
aW9uUGF0dGVybiBwYXJzZURlY29uc3RydWN0aW9uUGF0dGVybihUcmVlQnVpbGRlciYsIERlY29u
c3RydWN0aW9uS2luZCwgaW50IGRlcHRoID0gMCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiB0cnlQYXJzZURl
Y29uc3RydWN0aW9uUGF0dGVybkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKLQotICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIGJvb2wgcGFyc2VGdW5jdGlvbklu
Zm8oVHJlZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUs
IGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCwgaW50IGZ1bmN0
aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+Jik7CisgICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgaW50IHBhcnNlRnVuY3Rp
b25QYXJhbXRlcnMoVHJlZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgRnVuY3Rpb25Q
YXJzZU1vZGUsIGJvb2wsIEF1dG9Qb3BTY29wZVJlZiYsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVl
QnVpbGRlcj4mKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIGludCBwYXJzZUFycm93RnVu
Y3Rpb25QYXJhbXRlcnMoVHJlZUJ1aWxkZXImLCBGdW5jdGlvblBhcnNlTW9kZSwgUGFyc2VyRnVu
Y3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYpOworI2VuZGlmCisgICAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgYm9vbCBwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRl
ciYsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSwgYm9vbCBuYW1lSXNJ
bkNvbnRhaW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3Rh
cnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mLCBGdW5jdGlvblBhcnNlVHlwZSBm
dW5jdGlvblBhcnNlVHlwZSk7CisgICAgCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZUNsYXNzRXhw
cmVzc2lvbiBwYXJzZUNsYXNzKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIFBh
cnNlckNsYXNzSW5mbzxUcmVlQnVpbGRlcj4mKTsKICNlbmRpZgpAQCAtNzg5LDYgKzgxMSwxNCBA
QCBwcml2YXRlOgogICAgICAgICByZXR1cm4gYWxsb3dBdXRvbWF0aWNTZW1pY29sb24oKTsKICAg
ICB9CiAgICAgCisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHZv
aWQgc2V0RW5kT2ZTdGF0ZW1lbnQoKQorICAgIHsKKyAgICAgICAgbV9sZXhlci0+c2V0VG9rZW5Q
b3NpdGlvbigmbV90b2tlbik7CisgICAgfQorI2VuZGlmCisKICAgICBib29sIGNhblJlY3Vyc2Uo
KQogICAgIHsKICAgICAgICAgcmV0dXJuIG1fdm0tPmlzU2FmZVRvUmVjdXJzZSgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKaW5kZXgg
NmI3MzYyODJlMmQyYTgxYmM2M2RjMmYzYzBlNWFlOGM4NThjZDFmOC4uMGNkZTBjNjdhOWRlMGVk
ZjM0MTQ0ZTMyNzkxZTVlOTBiNGEyMTUxNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oCkBAIC0yOCw2ICsyOCwxMCBAQAogCiBuYW1l
c3BhY2UgSlNDIHsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitlbnVt
IEZ1bmN0aW9uQm9keVR5cGUgeyBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24sIEFycm93RnVu
Y3Rpb25Cb2R5QmxvY2ssIFN0YW5kYXJkRnVuY3Rpb25Cb2R5QmxvY2sgfTsKKyNlbmRpZgorCiB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+CiBzdHJ1Y3QgUGFyc2VyRnVuY3Rpb25JbmZvIHsK
ICAgICBjb25zdCBJZGVudGlmaWVyKiBuYW1lID0gMDsKQEAgLTM4LDYgKzQyLDExIEBAIHN0cnVj
dCBQYXJzZXJGdW5jdGlvbkluZm8gewogICAgIGludCBib2R5U3RhcnRMaW5lID0gMDsKICAgICBp
bnQgYm9keUVuZExpbmUgPSAwOwogICAgIHVuc2lnbmVkIGJvZHlTdGFydENvbHVtbiA9IDA7Cisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB1bnNpZ25lZCBhcnJvd0Z1
bmN0aW9uT2Zmc2V0ID0gMDsKKyAgICBib29sIGlzQXJyb3dGdW5jdGlvbiA9IGZhbHNlOworICAg
IEZ1bmN0aW9uQm9keVR5cGUgZnVuY3Rpb25Cb2R5VHlwZSA9IFN0YW5kYXJkRnVuY3Rpb25Cb2R5
QmxvY2s7CisjZW5kaWYKIH07CiAKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCmluZGV4IDgzMjlmODJhOWIy
ZmY5MTVkMWYyNDFjMWY4YmZmYWQ0MjQ3YTVmMGIuLmM4YjE2NmUwZWFkN2QyZGE3MTllNzZjNGEy
ZjA5YWZmMWQ3NGQ3YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyVG9rZW5zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJU
b2tlbnMuaApAQCAtNzUsNiArNzUsOSBAQCBlbnVtIEpTVG9rZW5UeXBlIHsKICAgICBGSU5BTExZ
LAogICAgIERFQlVHR0VSLAogICAgIEVMU0UsCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICBBUlJPV0ZVTkNUSU9OLAorI2VuZGlmCiAjaWYgRU5BQkxFKEVTNl9DTEFT
U19TWU5UQVgpCiAgICAgQ0xBU1NUT0tFTiwKICAgICBFWFRFTkRTLApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaAppbmRleCA3M2QyM2RiODJhZjI1ZWE0NmMwZjg5Nzg1
Y2U0MjRiYjYwZWI2MWE3Li45MjhlNzEyYTkwZTM0ODk4OGJjMzU1NDg5ODc1YjA5MDc3Njc1NTIz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaApAQCAtMTA1LDYg
KzEwNSw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAKICAgICAgICAgU291cmNlQ29kZSBz
dWJFeHByZXNzaW9uKHVuc2lnbmVkIG9wZW5CcmFjZSwgdW5zaWduZWQgY2xvc2VCcmFjZSwgaW50
IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKTsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgICAgIFNvdXJjZUNvZGUgc3ViQXJyb3dFeHByZXNzaW9uKHVuc2ln
bmVkIHN0YXJ0QXJyb3dGdW5jdGlvbiwgdW5zaWduZWQgZW5kQXJyb3dGdW5jdGlvbiwgaW50IGZp
cnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKTsKKyNlbmRpZgogICAgIHByaXZhdGU6CiAgICAgICAg
IFJlZlB0cjxTb3VyY2VQcm92aWRlcj4gbV9wcm92aWRlcjsKICAgICAgICAgaW50IG1fc3RhcnRD
aGFyOwpAQCAtMTE4LDYgKzEyMSwxNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgcmV0dXJu
IFNvdXJjZUNvZGUoU3RyaW5nU291cmNlUHJvdmlkZXI6OmNyZWF0ZShzb3VyY2UsIHVybCwgc3Rh
cnRQb3NpdGlvbiksIHN0YXJ0UG9zaXRpb24ubV9saW5lLm9uZUJhc2VkSW50KCksIHN0YXJ0UG9z
aXRpb24ubV9jb2x1bW4ub25lQmFzZWRJbnQoKSk7CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpbmxpbmUgU291cmNlQ29kZSBTb3VyY2VDb2RlOjpz
dWJBcnJvd0V4cHJlc3Npb24odW5zaWduZWQgc3RhcnRBcnJvd0Z1bmN0aW9uLCB1bnNpZ25lZCBl
bmRBcnJvd0Z1bmN0aW9uLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pCisgICAgewor
ICAgICAgICBBU1NFUlQocHJvdmlkZXIoKS0+c291cmNlKClbc3RhcnRBcnJvd0Z1bmN0aW9uXSA9
PSAnPScgJiYgcHJvdmlkZXIoKS0+c291cmNlKClbc3RhcnRBcnJvd0Z1bmN0aW9uICsgMV0gPT0g
Jz4nKTsKKyAgICAgICAgLy8gRml4bWU6IFVzZSBiZXR0ZXIgYXBwcm9hY2ggdG8gY2hlY2sgc3lt
Ym9sCisgICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9u
IC0gMV0gPT0gJywnIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAx
XSA9PSAnOycgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09
ICcpJyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJ10n
IHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnfScpOwor
ICAgICAgICBzdGFydENvbHVtbiArPSAxOyAvLyBDb252ZXJ0IHRvIGJhc2UgMS4KKyAgICAgICAg
cmV0dXJuIFNvdXJjZUNvZGUocHJvdmlkZXIoKSwgc3RhcnRBcnJvd0Z1bmN0aW9uLCBlbmRBcnJv
d0Z1bmN0aW9uIC0gMSwgZmlyc3RMaW5lLCBzdGFydENvbHVtbik7CisgICAgfQorI2VuZGlmCisK
ICAgICBpbmxpbmUgU291cmNlQ29kZSBTb3VyY2VDb2RlOjpzdWJFeHByZXNzaW9uKHVuc2lnbmVk
IG9wZW5CcmFjZSwgdW5zaWduZWQgY2xvc2VCcmFjZSwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0
Q29sdW1uKQogICAgIHsKICAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW29wZW5C
cmFjZV0gPT0gJ3snKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaAppbmRleCA2MzUzNzllM2Y0NDU2NjhjNTJiODcyZjc2
MTZkY2I1OTIxYTgyOTQ0Li5mNDI4ZGI1MGE4ZGE3YTdhYjQ2ODI0YWIzODA4M2RiMDUyZDczNzc2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVy
Q2FjaGVJdGVtLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92
aWRlckNhY2hlSXRlbS5oCkBAIC00MCw2ICs0MCwxMCBAQCBzdHJ1Y3QgU291cmNlUHJvdmlkZXJD
YWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMgewogICAgIGJvb2wgbmVlZHNGdWxsQWN0aXZhdGlv
bjsKICAgICBib29sIHVzZXNFdmFsOwogICAgIGJvb2wgc3RyaWN0TW9kZTsKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGJvb2wgaXNCb2R5QXJyb3dFeHByZXNzaW9u
OworICAgIEpTVG9rZW5UeXBlIHRva2VuVHlwZTsKKyNlbmRpZgogICAgIFZlY3RvcjxSZWZQdHI8
U3RyaW5nSW1wbD4+IHVzZWRWYXJpYWJsZXM7CiAgICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBs
Pj4gd3JpdHRlblZhcmlhYmxlczsKIH07CkBAIC01NSwxMCArNTksMTQgQEAgcHVibGljOgogICAg
IHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0+IGNyZWF0ZShj
b25zdCBTb3VyY2VQcm92aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFyYW1ldGVycyYpOwogICAgIH5T
b3VyY2VQcm92aWRlckNhY2hlSXRlbSgpOwogCi0gICAgSlNUb2tlbiBjbG9zZUJyYWNlVG9rZW4o
KSBjb25zdCAKKyAgICBKU1Rva2VuIGVuZEZ1bmN0aW9uVG9rZW4oKSBjb25zdCAKICAgICB7CiAg
ICAgICAgIEpTVG9rZW4gdG9rZW47CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICAgICAgdG9rZW4ubV90eXBlID0gaXNCb2R5QXJyb3dFeHByZXNzaW9uID8gdG9rZW5U
eXBlIDogQ0xPU0VCUkFDRTsKKyNlbHNlCiAgICAgICAgIHRva2VuLm1fdHlwZSA9IENMT1NFQlJB
Q0U7CisjZW5kaWYKICAgICAgICAgdG9rZW4ubV9kYXRhLm9mZnNldCA9IGNsb3NlQnJhY2VPZmZz
ZXQ7CiAgICAgICAgIHRva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNlT2Zm
c2V0OwogICAgICAgICB0b2tlbi5tX2xvY2F0aW9uLmVuZE9mZnNldCA9IGNsb3NlQnJhY2VPZmZz
ZXQgKyAxOwpAQCAtODIsNiArOTAsMTEgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIHVzZWRWYXJp
YWJsZXNDb3VudDsKICAgICB1bnNpZ25lZCB3cml0dGVuVmFyaWFibGVzQ291bnQ7CiAKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGJvb2wgaXNCb2R5QXJyb3dFeHBy
ZXNzaW9uOworICAgIEpTVG9rZW5UeXBlIHRva2VuVHlwZTsKKyNlbmRpZgorCiAgICAgU3RyaW5n
SW1wbCoqIHVzZWRWYXJpYWJsZXMoKSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0PFN0cmluZ0lt
cGwqKj4obV92YXJpYWJsZXMpOyB9CiAgICAgU3RyaW5nSW1wbCoqIHdyaXR0ZW5WYXJpYWJsZXMo
KSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0PFN0cmluZ0ltcGwqKj4oJm1fdmFyaWFibGVzW3Vz
ZWRWYXJpYWJsZXNDb3VudF0pOyB9CiAKQEAgLTExNSw2ICsxMjgsMTAgQEAgaW5saW5lIFNvdXJj
ZVByb3ZpZGVyQ2FjaGVJdGVtOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbShjb25zdCBTb3VyY2VQ
cm92aWRlckNhY2gKICAgICAsIGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQocGFyYW1ldGVycy5j
bG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0KQogICAgICwgdXNlZFZhcmlhYmxlc0NvdW50KHBhcmFt
ZXRlcnMudXNlZFZhcmlhYmxlcy5zaXplKCkpCiAgICAgLCB3cml0dGVuVmFyaWFibGVzQ291bnQo
cGFyYW1ldGVycy53cml0dGVuVmFyaWFibGVzLnNpemUoKSkKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgICwgaXNCb2R5QXJyb3dFeHByZXNzaW9uKHBhcmFtZXRlcnMu
aXNCb2R5QXJyb3dFeHByZXNzaW9uKQorICAgICwgdG9rZW5UeXBlKHBhcmFtZXRlcnMudG9rZW5U
eXBlKQorI2VuZGlmCiB7CiAgICAgdW5zaWduZWQgaiA9IDA7CiAgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IHVzZWRWYXJpYWJsZXNDb3VudDsgKytpLCArK2opIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKaW5kZXggOGU0ZjYxYjk0OTg5MGI5YmY1
NDAyOWU5NjY2MWVlZjUzYTE3YjU4NC4uNWY4ZTIxMWVlNGI1M2IzOTRlYjVhZTIxOTBiODNjOGM0
Zjg0NGNmZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhD
aGVja2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2Vy
LmgKQEAgLTE3MCw2ICsxNzAsMTAgQEAgcHVibGljOgogI2VuZGlmCiAgICAgRXhwcmVzc2lvblR5
cGUgY3JlYXRlRnVuY3Rpb25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNl
ckZ1bmN0aW9uSW5mbzxTeW50YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQog
ICAgIGludCBjcmVhdGVGdW5jdGlvbkJvZHkoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3Qg
SlNUb2tlbkxvY2F0aW9uJiwgaW50LCBpbnQsIGJvb2wsIGludCwgaW50LCBpbnQsIENvbnN0cnVj
dG9yS2luZCkgeyByZXR1cm4gRnVuY3Rpb25Cb2R5UmVzdWx0OyB9CisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVBcnJvd0Z1bmN0
aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88
U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KKyNlbmRpZiAKKyAgICB2
b2lkIHNldEZ1bmN0aW9uTmFtZVN0YXJ0KGludCwgaW50KSB7IH0KICAgICBpbnQgY3JlYXRlQXJn
dW1lbnRzKCkgeyByZXR1cm4gQXJndW1lbnRzUmVzdWx0OyB9CiAgICAgaW50IGNyZWF0ZUFyZ3Vt
ZW50cyhpbnQpIHsgcmV0dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQogICAgIEV4cHJlc3Npb25UeXBl
IGNyZWF0ZVNwcmVhZEV4cHJlc3Npb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lv
blR5cGUsIGludCwgaW50LCBpbnQpIHsgcmV0dXJuIFNwcmVhZEV4cHI7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjZmYzNlYTE4MDA2ODk2NDNhYWRkNmM2YTQ5N2VkMGFlNmMyMTExMjAKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwCkBA
IC0wLDAgKzEsNzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKworI2luY2x1ZGUgIkVycm9yLmgi
CisjaW5jbHVkZSAiRXhjZXB0aW9uSGVscGVycy5oIgorI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIK
KyNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCisjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1
ZGUgIkpTRnVuY3Rpb25JbmxpbmVzLmgiCisjaW5jbHVkZSAiSlNPYmplY3QuaCIKKyNpbmNsdWRl
ICJQcm9wZXJ0eVNsb3QuaCIKKyNpbmNsdWRlICJWTS5oIgorCituYW1lc3BhY2UgSlNDIHsKKyAg
ICAKK2NvbnN0IENsYXNzSW5mbyBKU0Fycm93RnVuY3Rpb246OnNfaW5mbyA9IHsgIkFycm93RnVu
Y3Rpb24iLCAmQmFzZTo6c19pbmZvLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTQXJyb3dGdW5j
dGlvbikgfTsKKwordm9pZCBKU0Fycm93RnVuY3Rpb246OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQor
eworICAgIHN0YXRpY19jYXN0PEpTQXJyb3dGdW5jdGlvbio+KGNlbGwpLT5KU0Fycm93RnVuY3Rp
b246On5KU0Fycm93RnVuY3Rpb24oKTsKK30KKworSlNBcnJvd0Z1bmN0aW9uOjpKU0Fycm93RnVu
Y3Rpb24oVk0mIHZtLCBKU1Njb3BlKiBzY29wZSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRh
YmxlLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICA6IEJhc2Uodm0sIGV4ZWN1dGFibGUsIHNj
b3BlLCBzdHJ1Y3R1cmUpCit7Cit9CisgICAgCit2b2lkIEpTQXJyb3dGdW5jdGlvbjo6ZmluaXNo
Q3JlYXRpb24oVk0mIHZtKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKy8vIFBy
b3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiBpcyB1bmRlZmluZWQKKyAgICBwdXREaXJlY3Qodm0s
IHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwganNVbmRlZmluZWQoKSwgRG9udERlbGV0ZSB8
IFJlYWRPbmx5IHwgRG9udEVudW0pOworfQorICAgIAordm9pZCBKU0Fycm93RnVuY3Rpb246OnZp
c2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKK3sKKyAgICBK
U0Fycm93RnVuY3Rpb24qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNBcnJvd0Z1bmN0aW9uKj4oY2Vs
bCk7CisgICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyh0aGlzT2JqZWN0LCBpbmZvKCkpOwor
ICAgIEJhc2U6OnZpc2l0Q2hpbGRyZW4odGhpc09iamVjdCwgdmlzaXRvcik7Cit9CisgICAgCitD
b25zdHJ1Y3RUeXBlIEpTQXJyb3dGdW5jdGlvbjo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwqIGNl
bGwsIENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCit7CisgICAgSlNGdW5jdGlvbiogdGhp
c09iamVjdCA9IGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY2VsbCk7CisgICAgICAgIAorICAgIGNvbnN0
cnVjdERhdGEuanMuZnVuY3Rpb25FeGVjdXRhYmxlID0gdGhpc09iamVjdC0+anNFeGVjdXRhYmxl
KCk7CisgICAgY29uc3RydWN0RGF0YS5qcy5zY29wZSA9IHRoaXNPYmplY3QtPnNjb3BlKCk7Cisg
ICAgcmV0dXJuIENvbnN0cnVjdFR5cGVOb25lOworfQorfSAvLyBuYW1lc3BhY2UgSlNDCisjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5j
dGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNzgwMTVkMzg3MjFjY2E0NGFlMmY2NWNiNmQ3N2I2YTY1MjIwOTY1ZAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5j
dGlvbi5oCkBAIC0wLDAgKzEsNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIEpTQXJyb3dGdW5jdGlvbl9oCisjZGVmaW5lIEpTQXJyb3dG
dW5jdGlvbl9oCisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorCisjaW5j
bHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCisKK25hbWVz
cGFjZSBKU0MgeworCitjbGFzcyBKU0Fycm93RnVuY3Rpb24gOiBwdWJsaWMgSlNGdW5jdGlvbiB7
CitwdWJsaWM6CisgICAgdHlwZWRlZiBKU0Z1bmN0aW9uIEJhc2U7CisgICAgICAgIAorICAgIHN0
YXRpYyBKU0Fycm93RnVuY3Rpb24qIGNyZWF0ZShWTSYgdm0sIEpTU2NvcGUqIHNjb3BlLCBGdW5j
dGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qp
CisgICAgeworICAgICAgICBKU0Fycm93RnVuY3Rpb24qIGZ1bmN0aW9uID0gbmV3IChOb3ROdWxs
LCBhbGxvY2F0ZUNlbGw8SlNBcnJvd0Z1bmN0aW9uPih2bS5oZWFwKSkgSlNBcnJvd0Z1bmN0aW9u
KHZtLCBzY29wZSwgZXhlY3V0YWJsZSwgZ2xvYmFsT2JqZWN0LT5hcnJvd0Z1bmN0aW9uU3RydWN0
dXJlKCkpOworICAgICAgICBBU1NFUlQoZnVuY3Rpb24tPnN0cnVjdHVyZSgpLT5nbG9iYWxPYmpl
Y3QoKSk7CisgICAgICAgIGZ1bmN0aW9uLT5maW5pc2hDcmVhdGlvbih2bSk7CisgICAgICAgIHJl
dHVybiBmdW5jdGlvbjsKKyAgICB9CisgICAgCisgICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0Nl
bGwqKTsKKyAgICAgICAgCisgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZN
JiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUpCisg
ICAgeworICAgICAgICBBU1NFUlQoZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgcmV0dXJuIFN0cnVj
dHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oSlNGdW5j
dGlvblR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKKyAgICB9CisgICAgICAgIAorICAg
IHN0YXRpYyBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0
RGF0YSYpOworICAgICAgICAKKyAgICBERUNMQVJFX0lORk87CisKK3Byb3RlY3RlZDoKKyAgICBj
b25zdCBzdGF0aWMgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNIYXNJbnN0YW5j
ZSB8IEJhc2U6OlN0cnVjdHVyZUZsYWdzOworICAgICAgICAKKyAgICBzdGF0aWMgdm9pZCB2aXNp
dENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CisgICAgICAgIAorcHJpdmF0ZToKKyAg
ICBKU0Fycm93RnVuY3Rpb24oVk0mLCBKU1Njb3BlKiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgU3Ry
dWN0dXJlKik7CisKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7Cit9OworICAgIAorfSAv
LyBuYW1lc3BhY2UgSlNDCisjZW5kaWYgLy8gRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYCisKKyNl
bmRpZiAvLyBKU0Fycm93RnVuY3Rpb25faApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNGdW5jdGlvbi5oCmluZGV4IDliZDNmZTI0MTUwMDYxMWNkOTk3NTZlNzFmZjU5MDBhNGRmZGUw
MGMuLjdhMTVjOTg1MTE5OTM1ZTQ0ZjlkYTU1NmIwYmIxMTJkOWExYzhmNWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKQEAgLTEzMiw2ICsxMzIsOSBAQCBw
cm90ZWN0ZWQ6CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBKU0Z1bmN0aW9uKFZNJiwgSlNHbG9i
YWxPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKICAgICBKU0Z1bmN0aW9uKFZNJiwgRnVuY3Rpb25FeGVj
dXRhYmxlKiwgSlNTY29wZSopOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgSlNGdW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSosIEpTU2NvcGUqLCBTdHJ1
Y3R1cmUqKTsKKyNlbmRpZgogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIE5hdGl2ZUV4
ZWN1dGFibGUqLCBpbnQgbGVuZ3RoLCBjb25zdCBTdHJpbmcmIG5hbWUpOwogICAgIHVzaW5nIEJh
c2U6OmZpbmlzaENyZWF0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTRnVuY3Rpb25JbmxpbmVzLmgKaW5kZXggMzdiMjgxYWE1ZDBjMWI4NjE2NDUxOWZkN2M1NjZl
MzdmMGYxMzQwMS4uN2IzNDkwYmViOTRhMzU5M2VlMTdiYzNiMTZiMzJjN2RmYWY5NTczZCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5o
CkBAIC0zOCw2ICszOCwxNSBAQCBpbmxpbmUgSlNGdW5jdGlvbjo6SlNGdW5jdGlvbihWTSYgdm0s
IEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgSlNTY29wZSogcwogewogfQogCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK2lubGluZSBKU0Z1bmN0aW9uOjpKU0Z1
bmN0aW9uKFZNJiB2bSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBKU1Njb3BlKiBz
Y29wZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCisgICAgOiBCYXNlKHZtLCBzY29wZSwgc3RydWN0
dXJlKQorICAgICwgbV9leGVjdXRhYmxlKHZtLCB0aGlzLCBleGVjdXRhYmxlKQorICAgICwgbV9h
bGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnQoQ2xlYXJXYXRjaHBvaW50KQoreworfQorI2VuZGlm
CisgICAgCiBpbmxpbmUgRnVuY3Rpb25FeGVjdXRhYmxlKiBKU0Z1bmN0aW9uOjpqc0V4ZWN1dGFi
bGUoKSBjb25zdAogewogICAgIEFTU0VSVCghaXNIb3N0RnVuY3Rpb25Ob25JbmxpbmUoKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5k
ZXggMTc5NDlhMWI1ZWE4MTg5ZWIwNmNhNjFlMTE5YjkzZjc3NDk5MDMzYS4uODNjZTEwZDRlY2Ni
YzgwYWE0ZmVmOGU4NTI2YzUxMDY1MTE4ZTIxOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtNjEsNiArNjEsNyBAQAogI2luY2x1
ZGUgIkpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXJQ
cm90b3R5cGUuaCIKICNpbmNsdWRlICJKU0FycmF5SXRlcmF0b3IuaCIKKyNpbmNsdWRlICJKU0Fy
cm93RnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJK
U0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgiCkBAIC0yMzMs
NiArMjM0LDkgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChWTSYgdm0pCiAgICAgZXhlYy0+
c2V0Q2FsbGVlKG1fZ2xvYmFsQ2FsbGVlLmdldCgpKTsKIAogICAgIG1fZnVuY3Rpb25TdHJ1Y3R1
cmUuc2V0KHZtLCB0aGlzLCBKU0Z1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1f
ZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgIG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpTQXJy
b3dGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBl
LmdldCgpKSk7CisjZW5kaWYKICAgICBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0
aGlzLCBKU0JvdW5kRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlv
blByb3RvdHlwZS5nZXQoKSkpOwogICAgIG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0s
IHRoaXMsIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBtX2Z1bmN0aW9uU3Ry
dWN0dXJlLmdldCgpLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBEb250RGVsZXRlIHwgUmVhZE9u
bHkgfCBEb250RW51bSwgbV9mdW5jdGlvbk5hbWVPZmZzZXQpKTsKICAgICBtX2ludGVybmFsRnVu
Y3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBJbnRlcm5hbEZ1bmN0aW9uOjpjcmVhdGVTdHJ1
Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKQEAgLTcyNSw2ICs3
MjksOSBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwg
U2xvdFZpc2l0b3ImIHZpc2l0b3IpCiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1f
Y2FsbGVlU3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9mdW5j
dGlvblN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYm91bmRG
dW5jdGlvblN0cnVjdHVyZSk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJl
KTsKKyNlbmRpZgogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX25hbWVkRnVuY3Rp
b25TdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX3N5bWJvbE9i
amVjdFN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fcmVnRXhw
TWF0Y2hlc0FycmF5U3RydWN0dXJlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0dsb2JhbE9iamVjdC5oCmluZGV4IDNlNTc4Mzc4YWU5M2I1YjEzZDhlODFlMTZkYWU2MWZi
ODFhY2QxNmEuLjQ4OWYyZWYyMGM5MmExYjQzZDEwZTE4OGRhMzIxZjkzNjA0YjU0YTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtMjI1
LDYgKzIyNSw5IEBAIHByb3RlY3RlZDoKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2Nh
bGxlZVN0cnVjdHVyZTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2Z1bmN0aW9uU3Ry
dWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYm91bmRGdW5jdGlvblN0cnVj
dHVyZTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFdyaXRlQmFy
cmllcjxTdHJ1Y3R1cmU+IG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZTsKKyNlbmRpZgogICAgIFdy
aXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZTsKICAgICBQcm9w
ZXJ0eU9mZnNldCBtX2Z1bmN0aW9uTmFtZU9mZnNldDsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0
dXJlPiBtX3ByaXZhdGVOYW1lU3RydWN0dXJlOwpAQCAtNDU3LDYgKzQ2MCw5IEBAIHB1YmxpYzoK
ICAgICBTdHJ1Y3R1cmUqIGNhbGxlZVN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbGVl
U3RydWN0dXJlLmdldCgpOyB9CiAgICAgU3RydWN0dXJlKiBmdW5jdGlvblN0cnVjdHVyZSgpIGNv
bnN0IHsgcmV0dXJuIG1fZnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUq
IGJvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2JvdW5kRnVuY3Rpb25T
dHJ1Y3R1cmUuZ2V0KCk7IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIFN0cnVjdHVyZSogYXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1f
YXJyb3dGdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQorI2VuZGlmCiAgICAgU3RydWN0dXJlKiBu
YW1lZEZ1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lZEZ1bmN0aW9uU3Ry
dWN0dXJlLmdldCgpOyB9CiAgICAgUHJvcGVydHlPZmZzZXQgZnVuY3Rpb25OYW1lT2Zmc2V0KCkg
Y29uc3QgeyByZXR1cm4gbV9mdW5jdGlvbk5hbWVPZmZzZXQ7IH0KICAgICBTdHJ1Y3R1cmUqIG51
bWJlck9iamVjdFN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fbnVtYmVyT2JqZWN0U3RydWN0
dXJlLmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbHRoaXMuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbHRoaXMuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjEy
ZmJhZjgwNDQ4MmM3NzYxYzM3ZGQ2OTNhODQ4NWU1NTExNTczZQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2Fs
dGhpcy5qcwpAQCAtMCwwICsxLDMxIEBACit2YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0g
ZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0g
ZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3Rl
ZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgYWZPYmpM
ZXhCaW5kMiA9IGZ1bmN0aW9uICgpIHsKKyAgdGhpcy5mdW5jID0gKCkgPT4gdGhpczsKK307CisK
K3ZhciBhZk9iakxleEJpbmQySW5zdGFuY2UgPSBuZXcgYWZPYmpMZXhCaW5kMigpOworCit0ZXN0
Q2FzZShhZk9iakxleEJpbmQySW5zdGFuY2UuZnVuYygpID09PSBhZk9iakxleEJpbmQySW5zdGFu
Y2UsIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2Yg
dGhlIGFycm93IGZ1bmN0aW9uICMyIik7CisKK3ZhciBvYmogPSB7CisgIG1ldGhvZDogZnVuY3Rp
b24gKCkgeworICAgIHJldHVybiAoKSA9PiB0aGlzOworICB9Cit9OworCit0ZXN0Q2FzZShvYmou
bWV0aG9kKCkoKSA9PT0gb2JqLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBi
aW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMyIpOworCit2YXIgZmFrZSA9IHtz
dGVhbDogb2JqLm1ldGhvZCgpfTsKK3Rlc3RDYXNlKGZha2Uuc3RlYWwoKSA9PT0gb2JqLCB0cnVl
LCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbiAjNCIpOworCisKKy8vIEZpeG1lOiBmb2xsb3dpbmcgdGVzdCBmYWlscyBpbiBk
ZmctZWFnZXItbm8tY2ppdC12YWxpZGF0ZSAmIGZ0bC1lYWdlci1uby1jaml0IG1vZGUKK3ZhciBy
ZWFsID0ge2JvcnJvdzogb2JqLm1ldGhvZH07Cit0ZXN0Q2FzZShyZWFsLmJvcnJvdygpKCkgPT09
IHJlYWwsIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUg
b2YgdGhlIGFycm93IGZ1bmN0aW9uICM1Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tb3RoZXJzLmpzIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLW90aGVycy5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lYmJmODU5ZTIwM2ViMWY1NGFjYWUxZDQwODNjYTNkZDNkYzk3NjFmCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLW90
aGVycy5qcwpAQCAtMCwwICsxLDMwIEBACit2YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0g
ZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0g
ZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3Rl
ZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgc2ltcGxl
QXJyb3dGdW5jdGlvbiA9ICgpID0+IHt9OworCit0ZXN0Q2FzZSh0eXBlb2Ygc2ltcGxlQXJyb3dG
dW5jdGlvbiwgImZ1bmN0aW9uIiwgIkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yoc2ltcGxlQXJy
b3dGdW5jdGlvbiksIEZ1bmN0aW9uLnByb3RvdHlwZSwgIkVycm9yOiBOb3QgY29ycmVjdCBnZXRQ
cm90b3R5cGVPZiB2YWx1ZSBmb3IgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2Uoc2ltcGxl
QXJyb3dGdW5jdGlvbiBpbnN0YW5jZW9mIEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3Jy
ZWN0IHJlc3VsdCBmb3IgaW5zdGFuY2VvZiBtZXRob2QgZm9yIGFycm93IGZ1bmN0aW9uIik7CisK
K3Rlc3RDYXNlKHNpbXBsZUFycm93RnVuY3Rpb24uY29uc3RydWN0b3IgPT0gRnVuY3Rpb24sIHRy
dWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBjb25zdHJ1Y3RvciBtZXRob2Qgb2Yg
YXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2UodHlwZW9mIHNpbXBsZUFycm93RnVuY3Rpb24u
cHJvdG90eXBlID09PSAndW5kZWZpbmVkJywgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1
bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiIpOworCit2YXIgZXJyb3JPbkNyZWF0
ZSA9IGZhbHNlOworCit0cnkgeworICB2YXIgZmMgPSBuZXcgc2ltcGxlQXJyb3dGdW5jdGlvbigp
OworfQorY2F0Y2ggKGUpIHsKKyAgZXJyb3JPbkNyZWF0ZSA9IHRydWU7Cit9CisKK3Rlc3RDYXNl
KGVycm9yT25DcmVhdGUsIHRydWUsICJFcnJvcjogTm8gZXJyb3IgZHVyaW5nIHJ1biBuZXcgQXJy
b3dGdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9hcnJvd2Z1bmN0aW9uLXRkei5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvYXJyb3dmdW5jdGlvbi10ZHouanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTlkMzVjZGVhNGJhZjY2NzQz
MWFmOGFiZThkYWRmMjJkMDRiOTBlMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi10ZHouanMKQEAgLTAsMCArMSwyNCBA
QAordmFyIEEgPSBjbGFzcyBBIHsgfTsKK3ZhciBCID0gY2xhc3MgQiBleHRlbmRzIEEgeworICBj
b25zdHJ1Y3RvcihhY2Nlc3NUaGlzQmVmb3JlU3VwZXIpIHsKKyAgICBpZiAoYWNjZXNzVGhpc0Jl
Zm9yZVN1cGVyKSB7CisgICAgICB2YXIgZiA9ICgpID0+IHRoaXM7CisgICAgICBzdXBlcigpOwor
ICAgIH0gZWxzZSB7CisgICAgICBzdXBlcigpOworICAgIH0KKyAgfQorfTsKKwordmFyIGV4Y2Vw
dGlvbiA9IG51bGw7Cit0cnkgeworICAgICBuZXcgQih0cnVlKTsKK30gY2F0Y2ggKGUpIHsKKyAg
ICBleGNlcHRpb24gPSBlOworICAgIGlmICghKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikp
CisgICAgICAgIHRocm93ICJFeGNlcHRpb24gdGhyb3duIHdhcyBub3QgYSByZWZlcmVuY2UgZXJy
b3IiOworfQoraWYgKCFleGNlcHRpb24pCisgICAgdGhyb3cgIkV4Y2VwdGlvbiBub3QgdGhyb3du
IGZvciBhbiB1bml0aWFsaXplZCB0aGlzIGF0IGl0ZXJhdGlvbiI7CisKK3ZhciBlID0gbmV3IEIo
ZmFsc2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9h
cnJvd2Z1bmN0aW9uLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJv
d2Z1bmN0aW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA2ODdiM2FhYjFkMjdmNDUzZjkwNzYxY2VjMWFkNGQw
NWNmMDNiMzUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24uanMKQEAgLTAsMCArMSwxNTQgQEAKK3ZhciByZXN1bHQ7CisK
KyB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgewor
ICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBl
Y3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0K
K307CisKK3ZhciBhcnJvd0Z1bmN0aW9uMCA9IHYgPT4gdiArIDE7CityZXN1bHQgPSBhcnJvd0Z1
bmN0aW9uMCgxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246IHYgPT4gdiArIDEiKTsKKwordmFyIGFycm93
RnVuY3Rpb24xID0gKHYpID0+IHYgKiAyOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjEoMTApOwor
dGVzdENhc2UocmVzdWx0LCAyMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhl
IGFycm93IGZ1bmN0aW9uOiAodikgPT4gdiArIDEiKTsKKwordmFyIGFycm93RnVuY3Rpb24yID0g
KCkgPT4gMTAwMDsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24yKDEyMTIpOwordGVzdENhc2UocmVz
dWx0LCAxMDAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb246ICgpID0+IDEwMDAiKTsKKwordmFyIHRtcFZhcmlhbHZlMl8xID0gMTUxOwordmFyIGFy
cm93RnVuY3Rpb24yXzEgPSAoKSA9PiB0bXBWYXJpYWx2ZTJfMTsKK3Jlc3VsdCA9IGFycm93RnVu
Y3Rpb24yXzEoMTIxKTsKK3Rlc3RDYXNlKHJlc3VsdCwgdG1wVmFyaWFsdmUyXzEgLCJFcnJvcjog
Tm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKCkgPT4gdmFyaWFi
bGUiKTsKKwordmFyIGFycm93RnVuY3Rpb24zID0gKHYsIHgpID0+IHYgKyB4OworcmVzdWx0ID0g
YXJyb3dGdW5jdGlvbjMoMTEsMTIpOwordGVzdENhc2UocmVzdWx0LCAyMyAsIkVycm9yOiBOb3Qg
Y29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAoeCwgeSkgPT4geCArIHki
KTsKKwordmFyIGFycm93RnVuY3Rpb25XcmFwcGVyID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRlcikg
eyByZXR1cm4gY2wocGFyYW10ZXIpOyB9OworCityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBl
cih4ID0+IDEyMzQpOwordGVzdENhc2UocmVzdWx0LCAxMjM0ICwiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjKSIp
OworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMjM0LCAyMzQ1KTsKK3Rl
c3RDYXNlKHJlc3VsdCwgMTIzNCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhl
IGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYywgeSkiKTsKKworIHJlc3VsdCA9
IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4gMTIxICsgMjMyKTsKK3Rlc3RDYXNlKHJlc3VsdCwg
MzUzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24g
YXMgcGFyYW10ZXI6IGYoeCA9PiBjMSArIGMyKSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlv
bldyYXBwZXIoeCA9PiAxMjMgKyAzMjEsIDk5OTkpOwordGVzdENhc2UocmVzdWx0LCA0NDQgLCJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJh
bXRlcjogZih4ID0+IGMxICsgYzIsIHkpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3Jh
cHBlcih4ID0+IHggKyAxMiwgMjEpOwordGVzdENhc2UocmVzdWx0LCAzMyAsIkVycm9yOiBOb3Qg
Y29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHgg
PT4geCArIGMxLCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKHgpID0+
IHggKyAyMSwgMzIpOwordGVzdENhc2UocmVzdWx0LCA1MywgIkVycm9yOiBOb3QgY29ycmVjdCBl
eGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCh4KSA9PiBjMSAr
IGMyLCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwKTsK
K3Rlc3RDYXNlKHJlc3VsdCwgMTAwLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0
aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYykiKTsKKworIHZhciBleHRf
dmFsdWUgPSAxMjE7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiBleHRfdmFs
dWUpOwordGVzdENhc2UocmVzdWx0LCAxMjEsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiB2KSIpOworCisgcmVz
dWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gZXh0X3ZhbHVlICogMTApOwordGVzdENh
c2UocmVzdWx0LCAxMjEwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gdip4KSIpOworCisgcmVzdWx0ID0gYXJy
b3dGdW5jdGlvbldyYXBwZXIoKHgpID0+IGV4dF92YWx1ZSAqIHgsIDMwKTsKK3Rlc3RDYXNlKHJl
c3VsdCwgMzAqZXh0X3ZhbHVlICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKHgpID0+IHYqeCwgeSkiKTsKKworIHJlc3Vs
dCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCwgMTEpOwordGVzdENhc2UocmVzdWx0
LCAxMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlv
biBhcyBwYXJhbXRlcjogZigoKSA9PiBjMSwgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rp
b25XcmFwcGVyKCgpID0+IDEwMCArIDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEwICwiRXJyb3I6
IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6
IGYoKCkgPT4gYzEgKyBjMikiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgp
ID0+IDEwMCArIDExLCAxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDExMSAsIkVycm9yOiBOb3QgY29y
cmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+
IGMxICsgYzIsIHkpIik7CisKKyB2YXIgYXJyb3dGdW5jdGlvbjQgPSB2ID0+IHYgKyAxLCB4eXox
ID0gMTAxMDE7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uNCgxMDExKTsKK3Rlc3RDYXNlKHJlc3Vs
dCwgMTAxMiAsIkVycm9yOiBOb3QgY29ycmVjdCBwYXJzaW5nIG9mIHRoIGFycm93IGZ1bmN0aW9u
IGluc2lkZSBvZiB0aGUgbGlzdCBvZiB2YXJzOiB2YXIgYWYgPSB2PT4gdiArIDE7IHp4Yz1jOyIp
OwordGVzdENhc2UoeHl6MSwgMTAxMDEgLCJFcnJvcjogTm90IGNvcnJlY3QgcGFyc2luZyBvZiB0
aCBhcnJvdyBmdW5jdGlvbiBpbnNpZGUgb2YgdGhlIGxpc3Qgb2YgdmFyczogdmFyIGFmID0gdj0+
IHYgKyAxOyB6eGM9YzsiKTsKKworIHZhciBhcnJvd0Z1bmN0aW9uV3JhcHBlcjIgPSBmdW5jdGlv
biAoY2wsIHBhcmFtdGVyMSwgcGFyYW10ZXIyKSB7IHJldHVybiBjbChwYXJhbXRlcjEsIHBhcmFt
dGVyMik7IH07CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcjIoKHgsIHkpID0+IHggKyB5
LCAxMiAsNDMpOwordGVzdENhc2UocmVzdWx0LCA1NSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVj
dXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtZXRlcjogZigoeCwgeSkgPT4geCAr
IHksIGMxLCBjMikiKTsKKworIHZhciBhcnJvd0Z1bmN0aW9BcnJheTAgPSBbdiA9PiB2ICogMTBd
OworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkwWzBdKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwg
MTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24g
YXMgaXRlbSBpbiBhcnJheTogW3Y9PnYqMTBdIik7CisKKyB2YXIgYXJyb3dGdW5jdGlvQXJyYXkx
ID0gW3YgPT4gdiArIDEsIHYgPT4gdiArIDJdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkx
WzBdKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbdiA9PiB2ICsgMSwg
IHYgPT4gdiArIDJdIik7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTFbMV0oMTEpOwordGVz
dENhc2UocmVzdWx0LCAxMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFy
cm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFt2ID0+IHYgKyAxLCAgdiA9PiB2ICsgMl0i
KTsKKworIHZhciBhcnJvd0Z1bmN0aW9BcnJheTIgPSBbKHYpID0+IHYgKyAxLCAodikgPT4gdiAr
IDJdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkyWzBdKDExKTsKK3Rlc3RDYXNlKHJlc3Vs
dCwgMTIgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlv
biBhcyBpdGVtIGluIGFycmF5OiBbKHYpID0+IHYgKyAxLCAgKHYpID0+IHYgKyAyXSIpOworcmVz
dWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkyWzFdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTMgLCJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVt
IGluIGFycmF5OiBbKHYpID0+IHYgKyAxLCAgKHYpID0+IHYgKyAyXSIpOworCisgdmFyIGFycm93
RnVuY3Rpb0FycmF5MyA9IFsoKSA9PiAxMDEsICgpID0+IDEyMzIzXTsKK3Jlc3VsdCA9IGFycm93
RnVuY3Rpb0FycmF5M1swXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMSwgIkVycm9yOiBOb3Qg
Y29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6
IFsoKSA9PiBjMSwgICgpID0+IGMyXSIpOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkzWzFd
KDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIzMjMsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKCkgPT4gYzEsICAo
KSA9PiBjMl0iKTsKKwordmFyIGFycm93RnVuY3Rpb25PYmogPSB7ZnVuYyA6IHkgPT4geSArIDEy
fTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25PYmouZnVuYygxMSk7Cit0ZXN0Q2FzZShyZXN1bHQs
IDIzICwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9u
IGFzIHByb3BlcnR5OiB7ZnVuYyA6IHkgPT4geSArIDEyIH0iKTsKKwordmFyIGFmT2JqTGV4Qmlu
ZDIgPSBmdW5jdGlvbiAoKSB7CisgIHRoaXMuZnVuYyA9ICgpID0+IHRoaXM7Cit9OworCit2YXIg
YXJyb3dGYXRGdW5jdGlvbjAgPSAoKSA9PiB7IHJldHVybiAxMDAwOyB9OworcmVzdWx0ID0gYXJy
b3dGYXRGdW5jdGlvbjAoMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDAwICwiRXJyb3I6IE5vdCBj
b3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2Nr
OiAoKSA9PiB7IHJldHVybiAxMDAwOyB9Iik7CisKK3ZhciBhcnJvd0ZhdEZ1bmN0aW9uMSA9IHYg
PT4geyB2YXIgaW50dmFsID0gMTAwOyByZXR1cm4gdiAqIGludHZhbDsgfTsKK3Jlc3VsdCA9IGFy
cm93RmF0RnVuY3Rpb24xKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEwMCAsIkVycm9yOiBOb3Qg
Y29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9j
azogeCA9PiB7IHZhciB2PTEwMDA7IHJldHVybiB2Kng7IH0iKTsKKwordmFyIGFycm93RmF0RnVu
Y3Rpb24yID0gKHYpID0+IHsgdmFyIGludCA9IDIwMDsgcmV0dXJuIHYgKiBpbnQ7IH07CityZXN1
bHQgPSBhcnJvd0ZhdEZ1bmN0aW9uMigxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIyMDAgLCJFcnJv
cjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkg
YXMgYmxvY2s6ICh4KSA9PiB7IHZhciB2PTEwMDA7IHJldHVybiB2Kng7IH0iKTsKKwordmFyIGFy
cm93RmF0RnVuY3Rpb24zID0gKHYsIHgpID0+IHsgdmFyIHJlc3VsdCA9IHggKiB2OyByZXR1cm4g
cmVzdWx0OyB9OworcmVzdWx0ID0gYXJyb3dGYXRGdW5jdGlvbjMoMTEsIDEyMjIyKTsKK3Rlc3RD
YXNlKHJlc3VsdCwgMTM0NDQyICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiAodiwgeCkgPT4geyB2YXIgcmVzdWx0
ID0geCAqIHY7IHJldHVybiByZXN1bHQ7IH0iKTsKKworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldy
YXBwZXIoeD0+e3JldHVybiB4ICogMjU7fSwgMTIxKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjUqMTIx
ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0
aCBib2R5IGFzIGJsb2NrOiBmKHggPT4ge3JldHVybiB4ICogMjU7fSwgMTIxKSIpOworCityZXN1
bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcjIoKHgsIHkpPT57cmV0dXJuIHggKiB5O30sIDE0LCAx
Mik7Cit0ZXN0Q2FzZShyZXN1bHQsIDE0KjEyICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiBmKCh4LCB5KT0+e3Jl
dHVybiB4ICogeTt9LCAxNCwgMTIxKSkiKTsKKwordmFyIHNpbXBsZUFycm93RnVuY3Rpb24gPSAo
KSA9PiB7fTsKKwordGVzdENhc2UodHlwZW9mIHNpbXBsZUFycm93RnVuY3Rpb24sICJmdW5jdGlv
biIsICJFcnJvcjogTm90IGNvcnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24iKTsKKwor
dGVzdENhc2UoT2JqZWN0LmdldFByb3RvdHlwZU9mKHNpbXBsZUFycm93RnVuY3Rpb24pLCBGdW5j
dGlvbi5wcm90b3R5cGUsICJFcnJvcjogTm90IGNvcnJlY3QgZ2V0UHJvdG90eXBlT2YgdmFsdWUg
Zm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93RnVuY3Rpb24gaW5z
dGFuY2VvZiBGdW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIGlu
c3RhbmNlb2YgbWV0aG9kIGZvciBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShzaW1wbGVB
cnJvd0Z1bmN0aW9uLmNvbnN0cnVjdG9yID09IEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBj
b3JyZWN0IHJlc3VsdCBmb3IgY29uc3RydWN0b3IgbWV0aG9kIG9mIGFycm93IGZ1bmN0aW9uIik7
CisKK3Rlc3RDYXNlKHR5cGVvZiBzaW1wbGVBcnJvd0Z1bmN0aW9uLnByb3RvdHlwZSA9PT0gJ3Vu
ZGVmaW5lZCcsIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBwcm90b3R5cGUg
b2YgYXJyb3cgZnVuY3Rpb24iKTsKKwordmFyIGVycm9yT25DcmVhdGUgPSBmYWxzZTsKKwordHJ5
IHsKKyAgdmFyIGZjID0gbmV3IHNpbXBsZUFycm93RnVuY3Rpb24oKTsKK30KK2NhdGNoIChlKSB7
CisgIGVycm9yT25DcmVhdGUgPSB0cnVlOworfQorCit0ZXN0Q2FzZShlcnJvck9uQ3JlYXRlLCB0
cnVlLCAiRXJyb3I6IE5vIGVycm9yIGR1cmluZyBydW4gbmV3IEFycm93RnVuY3Rpb24iKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKaW5kZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0
OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291
cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1
LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5B
QkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9D
TEFTU19TWU5UQVg7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQU5J
TUFUSU9OU19MRVZFTF8yID0gRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBAIC0yMTQs
NCArMjE1LDQgQEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9M
QVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAK
LUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcp
ICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVO
QUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9D
QU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xB
U1NfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQp
ICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JB
VElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNF
X0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdF
X09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NT
X1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hB
UEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAk
KEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVS
KSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkg
JChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAk
KEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVD
VE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9W
MikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAk
KEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBB
RF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0Vf
RE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VS
VklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01P
TlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykg
JChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdB
Q1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFC
TEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktf
UFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBU
KSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5B
QkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1Jf
U0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FU
T1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lU
X1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFC
TEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJM
RV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVF
U1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNP
TFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NT
X1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1T
X0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJM
RV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04p
ICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChF
TkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxF
X0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklE
RU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJM
RV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElP
KSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElD
VFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMp
ICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAk
KEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJ
QykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0g
JChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJ
T05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElP
TklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFC
TEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxF
X0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQo
RU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJM
RV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChF
TkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQo
RU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkg
JChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RF
WFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RP
TV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RB
VEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RF
VEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000
X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9F
TkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9O
VF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQp
ICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5B
QkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJB
U0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Up
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9Q
T1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFC
TEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNT
KSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElB
X0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFC
TEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykg
JChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVf
UFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZG
SVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1F
KSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RP
UikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJ
TkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykg
JChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NW
R19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9O
VU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9M
T0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9B
TEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNV
RV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQo
RU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tF
VFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxF
X1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChF
TkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURf
TEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKaW5kZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2
MC4uMTE0OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
KysrIGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZB
U19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0g
RU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
ID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRF
UklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVO
QUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yID0gRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVM
XzI7CkBAIC0yMTQsNCArMjE1LDQgQEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxF
X1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FS
SVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChF
TkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9F
TEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRI
KSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVO
QUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFC
TEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NT
U19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJM
RV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFC
TEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikg
JChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVO
QUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9M
SU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1ND
SEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJ
U1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlM
U19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZF
TlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZ
UFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xP
QURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChF
TkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVf
SElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkg
JChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVS
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVf
SU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9J
T1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVG
SVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQo
RU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09O
VFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9N
T1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVO
QUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChF
TkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9N
SVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9M
SVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQo
RU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAk
KEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykg
JChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVO
QUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZP
TlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJF
Ul9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJ
TkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkg
JChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZB
TFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFC
TEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykg
JChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VC
VlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJM
RV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlP
VVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVS
RV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFC
TEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NB
Q0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19Q
Uk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5U
QVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZF
TF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01Q
T1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJ
RF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lN
QUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNU
T1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVO
QUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQo
RU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQp
ICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMp
ICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikg
JChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5B
QkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9D
QVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJM
RV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFC
TEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVM
T0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1F
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RB
UkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRP
U0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xF
R0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxF
X0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQo
RU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVO
QUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9N
SFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09O
VEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9D
SykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxF
X1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5J
TUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVN
T1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVf
UlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNI
X1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8p
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxF
X1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAk
KEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
VE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVf
VVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChF
TkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFC
TEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFC
TEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1J
TkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFC
TEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJM
RV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElP
Tl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcKaW5kZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1
ODlhZjg2MC4uMTE0OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKKysrIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZB
U19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0g
RU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
ID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRF
UklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVO
QUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yID0gRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVM
XzI7CkBAIC0yMTQsNCArMjE1LDQgQEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxF
X1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FS
SVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChF
TkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9F
TEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRI
KSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVO
QUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFC
TEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NT
U19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJM
RV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFC
TEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikg
JChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVO
QUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9M
SU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1ND
SEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJ
U1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlM
U19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZF
TlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZ
UFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xP
QURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChF
TkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVf
SElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkg
JChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVS
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVf
SU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9J
T1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVG
SVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQo
RU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09O
VFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9N
T1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVO
QUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChF
TkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9N
SVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9M
SVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQo
RU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAk
KEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykg
JChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVO
QUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZP
TlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJF
Ul9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJ
TkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkg
JChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZB
TFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFC
TEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykg
JChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VC
VlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJM
RV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlP
VVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVS
RV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFC
TEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NB
Q0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19Q
Uk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5U
QVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZF
TF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01Q
T1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJ
RF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lN
QUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNU
T1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVO
QUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQo
RU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQp
ICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMp
ICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikg
JChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5B
QkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9D
QVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJM
RV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFC
TEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVM
T0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1F
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RB
UkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRP
U0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xF
R0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxF
X0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQo
RU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVO
QUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9N
SFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09O
VEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9D
SykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxF
X1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5J
TUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVN
T1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVf
UlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNI
X1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8p
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxF
X1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAk
KEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
VE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVf
VVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChF
TkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFC
TEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFC
TEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1J
TkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFC
TEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJM
RV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElP
Tl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZSBi
L1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQppbmRleCAwYzBmNWY3NWYxYzAxMWE3
NTcyMGUxOGU1NjhhOTlkZWVlYjVlNjRlLi5mY2JlYzEwOTM5ODcxODcwMWIyNmUwNjc1MzQyNWNh
ZjMxNDNmZDc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UK
KysrIGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCkBAIC0zOCw2ICszOCw3IEBA
IG1hY3JvKFdFQktJVF9PUFRJT05fQkVHSU4pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5B
QkxFX0NBTlZBU19QUk9YWSAiVG9nZ2xlIENhbnZhc1Byb3h5IHN1cHBvcnQiIE9GRikKICAgICBX
RUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgIlRvZ2dsZSBNZXNz
YWdlQ2hhbm5lbCBhbmQgTWVzc2FnZVBvcnQgc3VwcG9ydCIgT04pCiAgICAgV0VCS0lUX09QVElP
Tl9ERUZJTkUoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggIlRvZ2dsZSBFUzYgY2xhc3Mgc3ludGF4
IHN1cHBvcnQiIE9OKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9FUzZfQVJST1dG
VU5DVElPTl9TWU5UQVggIlRvZ2dsZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1cHBvcnQi
IE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyAi
VG9nZ2xlIGNvbnRlbnQgZmlsdGVyaW5nIHN1cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BUSU9O
X0RFRklORShFTkFCTEVfQ09OVEVYVF9NRU5VUyAiVG9nZ2xlIENvbnRleHQgTWVudSBzdXBwb3J0
IiBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ1NQX05FWFQgIlRvZ2dsZSBD
b250ZW50IFNlY3VyaXR5IFBvbGljeSAxLjEgc3VwcG9ydCIgT0ZGKQpkaWZmIC0tZ2l0IGEvU291
cmNlL2NtYWtlY29uZmlnLmguY21ha2UgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQppbmRl
eCAyMWQzZmNjNWQ5ODNmOTU5NWRlZjM1MTA1NjhjZGM5ODk2NTI0NmVkLi5jZjFhZmU1NmM1ZjBm
MjYwOTkwOTBlNTFiN2IyYTY2MDNlYTA3MzIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2Vjb25m
aWcuaC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQpAQCAtMTMsNiArMTMs
NyBAQAogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NBTlZBU19QUk9YWQogI2NtYWtlZGVmaW5lMDEg
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfRVM2X0NMQVNT
X1NZTlRBWAorI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWAog
I2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HCiAjY21ha2VkZWZpbmUwMSBF
TkFCTEVfQ09OVEVYVF9NRU5VUwogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NSRURFTlRJQUxfU1RP
UkFHRQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBt
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCmluZGV4IDBiMzRkNDlh
ODFhYjk1MDkyYzI3ZDlhYjIyNTM1YTYyYzM1MWQzY2MuLjc0NTk0ZWM4YjE3MmNlMzRjYjgwZDE0
Yzg0MTRhZGY3ZWQ5NWU0ZGYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9G
ZWF0dXJlTGlzdC5wbQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3Qu
cG0KQEAgLTQ0LDYgKzQ0LDcgQEAgQkVHSU4gewogbXkgKAogICAgICR0aHJlZURSZW5kZXJpbmdT
dXBwb3J0LAogICAgICRhY2NlbGVyYXRlZDJEQ2FudmFzU3VwcG9ydCwKKyAgICAkYXJyb3dmdW5j
dGlvblN5bnRheCwKICAgICAkYmF0dGVyeVN0YXR1c1N1cHBvcnQsCiAgICAgJGNhbnZhc1BhdGhT
dXBwb3J0LAogICAgICRjYW52YXNQcm94eVN1cHBvcnQsCkBAIC0xNTQsNiArMTU1LDkgQEAgbXkg
QGZlYXR1cmVzID0gKAogICAgIHsgb3B0aW9uID0+ICJhY2NlbGVyYXRlZC0yZC1jYW52YXMiLCBk
ZXNjID0+ICJUb2dnbGUgQWNjZWxlcmF0ZWQgMkQgQ2FudmFzIHN1cHBvcnQiLAogICAgICAgZGVm
aW5lID0+ICJFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTIiwgZGVmYXVsdCA9PiBpc0d0aygp
LCB2YWx1ZSA9PiBcJGFjY2VsZXJhdGVkMkRDYW52YXNTdXBwb3J0IH0sCiAKKyAgICB7IG9wdGlv
biA9PiAiYXJyb3dmdW5jdGlvbi1zeW50YXgiLCBkZXNjID0+ICJUb2dnbGUgRVM2IGFycm93IGZ1
bmN0aW9uIHN5bnRheCBzdXBwb3J0IiwKKyAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCIsIGRlZmF1bHQgPT4gMSwgdmFsdWUgPT4gXCRhcnJvd2Z1bmN0aW9u
U3ludGF4IH0sCisKICAgICB7IG9wdGlvbiA9PiAiYmF0dGVyeS1zdGF0dXMiLCBkZXNjID0+ICJU
b2dnbGUgQmF0dGVyeSBTdGF0dXMgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9C
QVRURVJZX1NUQVRVUyIsIGRlZmF1bHQgPT4gaXNFZmwoKSwgdmFsdWUgPT4gXCRiYXR0ZXJ5U3Rh
dHVzU3VwcG9ydCB9LAogCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXgg
YjM2OWU1YzczMGFlNDc1YjU5NGI4NmEyNzEzYjAyMzJhMWRlZTc0OC4uMjQwZDdkZWEwN2E0YmI0
YTJmNDUzNTU0M2E1OWRhZjM0OTc4YzZiMSAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE1LTA0LTEzICAgU2thY2hrb3YgQWxleGFuZHIg
IDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJy
b3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyB0byBzd2l0Y2ggb24vb2ZmIGVzNiBhcnJv
dyBmdW5jdGlvbiBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYCisKKyAgICAgICAgICog
U291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlOgorICAgICAgICAgKiBTb3VyY2UvY21h
a2Vjb25maWcuaC5jbWFrZToKKwogMjAxNS0wNC0xMiAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcu
a2ltQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW0VGTF0gRW5hYmxlIE1lZGlhIFNvdXJjZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250647</attachid>
            <date>2015-04-13 09:57:45 -0700</date>
            <delta_ts>2015-04-17 12:19:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150413195644.patch</filename>
            <type>text/plain</type>
            <size>138193</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyNzM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
Nzk1NjMyMmMxN2YwM2Q1ZTgyZGU1MGJmYjRjNzZiMDk0NWNlYTY4Li41YmQxNTY0Nzc4OWQwODE0
OWI3NGNkMmY1NjMyODU1YWE1ZTY3ZTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMjMgQEAKKzIwMTUtMDQtMTMgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgc3VwcG9ydCBvZiBFUzYgYXJyb3cgZnVuY3Rpb24uIENoYW5nZXMgd2VyZSBtYWRlIGFj
Y29yZGluZyBmb2xsb3dpbmcgc3BlYyBodHRwOi8vd2lraS5lY21hc2NyaXB0Lm9yZy9kb2t1LnBo
cD9pZD1oYXJtb255OmFycm93X2Z1bmN0aW9uX3N5bnRheAorICAgICAgICBJbiBwYXRjaCB3ZXJl
IGltcGxlbWVudGVkIHRoZSBzaW1wbGVzdCBjYXNlczoKKyAgICAgICAgICAxIG5vIHBhcmFtZXRl
cnMgICAgICAgICAgICAgICAgKCkgPT4gMTAgKyAyMAorICAgICAgICAgIDIgc2luZ2xlIHBhcmFt
ZXRlciAgICAgICAgICAgICAgeCA9PiB4ICsgMjAKKyAgICAgICAgICAzIG11bHRpcGxlIHBhcmFt
ZXRlcnMgICAgICAoeCwgeSkgPT4geCArIHkKKyAgICAgICAgICA0IGFycm93IGZ1bmN0aW9uIHdp
dGggYmxvY2sgICAgIHggPT4geyByZXR1cm4geCoxMDsgfQorICAgICAgICAgIDUgbGV4aWNhbCB0
aGlzIC0gdmFyaWFibGUgdGhpcyBpcyBwb2ludCB0byB0aGUgdGhpcyBvZiB0aGUgZnVuY3Rpb24g
d2hlcmUgYXJyb3cgZnVuY3Rpb24gaXMgZGVjbGFyZWQKKyAgICAgICAgICA2IE5vIGNvbnN0cnVj
dG9yIC0gdGhlIHVzaW5nIG9mIHRoZSBjb21tYW5kIG5ldyBmb3IgYXJyb3cgZnVuY3Rpb24gbGVh
ZHMgdG8gcnVudGltZSBlcnJvci4gCisKKyAgICAgICAgIE5vdCB5ZXQgaW1wbGVtZW50ZWQ6Cisg
ICAgICAgICAgMSB0aGUgdmFyaWFibGUgd2l0aCBuYW1lIGFyZ3VtZW50cyBpbnNpZGUgb2YgdGhl
IGFycm93IGZ1bmN0aW9uIHNob3VsZCBwb2ludCB0byBsaXN0IG9mIGFyZ3VtZW50cyBvZiBmdW5j
dGlvbiB3aGVyZSBhcnJvdyBmdW5jdGlvbiBpcyBkZWNsYXJlZAorICAgICAgICAgIDIgcGFyc2Vy
IHdpbGwgcGFyc2UgdGhlIHN0YXRlbWVudCB4LCB5ID0+IHggKyB5IGluc3RlYWQgb2YgcmFpc2lu
ZyBleGNlcHRpb24KKyAgICAgICAgICAzIG1ldGhvZCBjYWxsLCBhcHBseSwgYmluZCBzaG91bGQg
bm90IG92ZXJyaWRlIHRoZSB0aGlzIHZhcmlhYmxlIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgor
ICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvajoK
KyAgICAgICAgKiBieXRlY29kZS9CeXRlY29kZUxpc3QuanNvbjoKKyAgICAgICAgKiBieXRlY29k
ZS9CeXRlY29kZVVzZURlZi5oOgorICAgICAgICAoSlNDOjpGdW5jdG9yOjpjb21wdXRlVXNlc0Zv
ckJ5dGVjb2RlT2Zmc2V0KToKKyAgICAgICAgKiBieXRlY29kZS9Db2RlQmxvY2suY3BwOgorICAg
ICAgICAoSlNDOjpDb2RlQmxvY2s6OmR1bXBCeXRlY29kZSk6CisgICAgICAgICogYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2Rl
R2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdB
cnJvd0Z1bmN0aW9uRXhwcmVzc2lvbik6IGFkZGVkCisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2Vu
ZXJhdG9yOjplbWl0VGhpc05vZGVCeXRlY29kZSk6IGFkZGVkCisgICAgICAgICogYnl0ZWNvbXBp
bGVyL05vZGVzQ29kZWdlbi5jcHA6CisgICAgICAgIChKU0M6OmVtaXRCeXRlY29kZTo6ZW1pdEJ5
dGVjb2RlKTogYWRkZWQKKyAgICAgICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGU6OmVtaXRCeXRl
Y29kZSk6IGFkZGVkCisgICAgICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAg
ICAgKEpTQzo6Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAqIGRmZy9ERkdD
YXBhYmlsaXRpZXMuY3BwOgorICAgICAgICAoSlNDOjpDYXBhYmlsaXR5TGV2ZWw6OmNhcGFiaWxp
dHlMZXZlbCk6CisgICAgICAgICogaml0L0pJVC5oOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRf
b3BfbmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUSW5saW5lcy5o
OgorICAgICAgICAoSlNDOjpKSVQ6OmNhbGxPcGVyYXRpb24pOiBhZGRlZAorICAgICAgICAqIGpp
dC9KSVQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3MpOgor
ICAgICAgICAqIGppdC9KSVRPcGNvZGVzLmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29w
X25ld19hcnJvd19mdW5jX2V4cCk6IGFkZGVkCisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMu
Y3BwOgorICAgICAgICAoSlNDOjpKSVRfT1BFUkFUSU9OOjpvcGVyYXRpb25OZXdBcnJvd0Z1bmN0
aW9uKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5oOgorICAgICAgICAoSlND
OjpKSVRfT1BFUkFUSU9OOjpvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKTogYWRkZWQKKyAgICAg
ICAgKiBsbGludC9MTEludFNsb3dQYXRocy5jcHA6CisgICAgICAgIChMTElOVF9TTE9XX1BBVEhf
REVDTChzbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBsbGlu
dC9MTEludFNsb3dQYXRocy5oOgorICAgICAgICAoTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19w
YXRoX25ld19hcnJvd19mdW5jX2V4cCkpOiBhZGRlZAorICAgICAgICAqIGxsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOgorICAgICAgICAqIHBhcnNlci9BU1RCdWlsZGVyLmg6CisgICAgICAg
IChKU0M6OkFTVEJ1aWxkZXI6OmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAgICAgKiBw
YXJzZXIvTGV4ZXIuY3BwOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlv
bik6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpsZXgpOgorICAgICAgICAqIHBhcnNlci9MZXhl
ci5oOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlvbik6CisgICAgICAg
ICogcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaDoKKyAgICAgICAgKEpTQzo6QXJyb3dGdW5jRXhw
ck5vZGU6OkFycm93RnVuY0V4cHJOb2RlKTogYWRkZWQKKyAgICAgICAgKiBwYXJzZXIvTm9kZXMu
aDoKKyAgICAgICAgKEpTQzo6Tm9kZTo6aXNBcnJvd0Z1bmNFeHByTm9kZSk6IGFkZGVkCisgICAg
ICAgIChKU0M6OkFycm93RnVuY0V4cHJOb2RlKTogYWRkZWQgY2xhc3MKKyAgICAgICAgKiBwYXJz
ZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291
cmNlRWxlbWVudHMpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmlt
YXJ5RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VTb3VyY2VFbGVtZW50
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6
OlBhcnNlcjo6cGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNl
cjo6cGFyc2VQcmltYXJ5RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VB
cnJvd0V4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnNldEVuZE9mU3RhdGVtZW50
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKToKKyAg
ICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25JbmZvKToKKyAgICAgICAgKEpT
Qzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25Cb2R5KToKKyAgICAgICAgKiBwYXJzZXIvUGFy
c2VyLmg6CisgICAgICAgIChKU0M6OlBhcnNlcjo6RnVuY3Rpb25QYXJzZVR5cGUpOgorICAgICAg
ICAoSlNDOjpQYXJzZXI6OnBhcnNlU291cmNlRWxlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNl
cjo6cGFyc2VTdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dFeHBy
ZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpzZXRFbmRPZlN0YXRlbWVudCk6CisgICAg
ICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcik6CisgICAgICAgICog
cGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oOgorICAgICAgICAqIHBhcnNlci9QYXJzZXJUb2tl
bnMuaDoKKyAgICAgICAgKEpTQzo6UGFyc2VyRnVuY3Rpb25JbmZvOjphcnJvd0Z1bmN0aW9uT2Zm
c2V0KTogYWRkZWQKKyAgICAgICAgKEpTQzo6UGFyc2VyRnVuY3Rpb25JbmZvOjppc0Fycm93RnVu
Y3Rpb24pOiBhZGRlZAorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmFycm93RnVu
Y3Rpb25Cb2R5VHlwZSk6IGFkZGVkCisgICAgICAgICogcGFyc2VyL1NvdXJjZUNvZGUuaDoKKyAg
ICAgICAgKEpTQzo6U291cmNlQ29kZTo6c3ViQXJyb3dFeHByZXNzaW9uKToKKyAgICAgICAgKiBw
YXJzZXIvU3ludGF4Q2hlY2tlci5oOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVh
dGVBcnJvd0Z1bmN0aW9uRXhwcik6CisgICAgICAgICogcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2Fj
aGVJdGVtOgorICAgICAgICAoSlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFy
YW1ldGVycyk6CisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKToKKyAgICAg
ICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW06OmVuZEFycm93RnVuY3Rpb25Ub2tlbik6
CisgICAgICAgICogcnVudGltZS9KU0Fycm93RnVuY3Rpb24uaDogYWRkZWQgY2xhc3MgZm9yIGhh
bmRsZSBhcnJvdyBmdW5jdGlvbiBjcmVhdGlvbiBhbmQgZXhlY3V0aW9uCisgICAgICAgICogcnVu
dGltZS9KU0Fycm93RnVuY3Rpb24uY3BwOgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbi5o
OgorICAgICAgICAoSlNDOjpKU0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKTogYWRkZWQgb25lIG1vcmUg
Y29uc3RydWN0b3IKKyAgICAgICAgKiBydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmg6CisgICAg
ICAgIChKU0M6OkpTRnVuY3Rpb246OkpTRnVuY3Rpb24pOiBhZGRlZCBjb25zdHJ1Y3RvciBpbXBs
ZW1lbnRhdGlvbgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgorICAgICAg
ICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6aW5pdCk6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2Jq
ZWN0OjptX2Fycm93RnVuY3Rpb25TdHJ1Y3R1cmUpOiBhZGRlZAorICAgICAgICAoSlNDOjpKU0ds
b2JhbE9iamVjdDo6YXJyb3dGdW5jdGlvblN0cnVjdHVyZSk6CisgICAgICAgICogdGVzdHMvc3Ry
ZXNzL2pzL2Fycm93ZnVuY3Rpb24uanM6CisKKzIwMTUtMDQtMTIgIEFsZXhhbmRyIFNrYWNoa292
ICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKyAgICAgICAgU21hbGwgcmVmYWN0b3Jpbmcgb2YgdGhl
IHBhcmNlci5jcHAgZmlsZS4gSXQgaXMgbmVjZXNzYXJ5IHRvIGluY3JlYXNlIHJlYWRhYmlsaXR5
IG9mIHRoZSBwYXRjaAorICAgICAgICB3aXRoIEVTNiBBcnJvdyBmdW5jdGlvbiBpbXBsZW1lbnRh
dGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQw
ODU1CisKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmg6CisgICAgICAgICogcGFyc2VyL1BhcnNl
ci5jcHA6CisKIDIwMTUtMDQtMTIgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5j
b20+CiAKICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEFycmF5LnByb3RvdHlwZS52YWx1ZXMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCA0ZTA0ZGM2ZjU4MDhhM2FmYjVlY2M5YjgzNThlNjFiMmU2ZDI4YTk5Li5lMDM2
ZGM3OWE2YzQxYmY0NGNjNWFkYWM3ZDBmMmQ0N2RmNzMxOTc3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMTUtMDQtMTMgIFNrYWNoa292IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWls
LmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRh
eAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
ZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggZm9yIGFycm93IGZ1
bmN0aW9uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxNS0wNC0xMiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgW0NvY29hXSBMb2NhbGl6YWJsZSBzdHJpbmdzIGFyZSBpbmNvbnNpc3RlbnQgYW5kIG5lZWQg
dG8gYmUgcmVnZW5lcmF0ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCAwMzNlYTNkZGM3NTQ5ZTU2ZDkw
ODQzNzJhYWE4ZWQ5ZTY5YmUzMjI2Li41MTgyOGFmNzdhNzM2YmZmNGRiOWY3MWMxMmFkODAyNjA0
MDgzZGY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDQtMTMgIFNr
YWNoa292IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJ
bXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZf
QVJST1dGVU5DVElPTl9TWU5UQVggZm9yIGFycm93IGZ1bmN0aW9uCisKKyAgICAgICAgKiBDb25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxNS0wNC0xMiAgRGFyaW4g
QWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBMb2NhbGl6YWJsZSBz
dHJpbmdzIGFyZSBpbmNvbnNpc3RlbnQgYW5kIG5lZWQgdG8gYmUgcmVnZW5lcmF0ZWQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA3OTE5NjI4NDc2MmIzMDAzNDQxN2ZhNGYx
NGYxZmIyODM4MWM0NWU5Li43Yjg5MjIzYWE5MWQ3N2I3YzZiNDRjNTgwYzMzNDg2YWEzYmEwZjYx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC00NjYsNiArNDY2LDcgQEAg
c2V0KEphdmFTY3JpcHRDb3JlX1JVTlRJTUVfU09VUkNFUwogICAgIHJ1bnRpbWUvSlNBcnJheUJ1
ZmZlclZpZXcuY3BwCiAgICAgcnVudGltZS9KU0FycmF5SXRlcmF0b3IuY3BwCiAgICAgcnVudGlt
ZS9KU0JvdW5kRnVuY3Rpb24uY3BwCisgICAgcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwCiAg
ICAgcnVudGltZS9KU0dsb2JhbE9iamVjdERlYnVnZ2FibGUuY3BwCiAgICAgcnVudGltZS9KU0NK
U1ZhbHVlLmNwcAogICAgIHJ1bnRpbWUvSlNDYWxsZWUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKaW5kZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0OGE3
Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFT
X1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
ID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSBF
TkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgg
PSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklMVEVS
SU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwogRU5B
QkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxf
MjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVf
U0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJ
VEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVO
QUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9X
X1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VM
RU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgp
ICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5B
QkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJM
RV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NT
X0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxF
X0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJM
RV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAk
KEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5B
QkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJ
TkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NI
RU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxT
X0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVO
VFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9B
RF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVO
QUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9I
SURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAk
KEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9J
TkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lO
UFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lP
U19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
SU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJ
WEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChF
TkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05U
Uk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElT
VElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01P
VVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5B
QkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01J
U0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJ
U1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChF
TkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQo
RU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAk
KEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5B
QkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9O
VFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVS
X0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRP
U0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElO
RykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAk
KEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFM
VUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJM
RV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAk
KEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJW
VFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxF
X0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9V
VF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJE
X0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJM
RV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FD
SEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BS
T1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRB
WCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJ
TFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVM
XzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBP
U0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklE
X0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1B
R0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RP
UlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5B
QkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChF
TkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkg
JChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykg
JChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEp
ICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAk
KEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFC
TEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NB
VElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxF
X0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJM
RV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxP
Q0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFS
R0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9T
SVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVO
RE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVH
QUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVf
TEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChF
TkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5B
QkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01I
VE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05U
RU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NL
KSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVf
UFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklN
QVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1P
VEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9S
VUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hf
U1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykg
JChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVf
VEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQo
RU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9U
T1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9V
U0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVO
QUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJM
RV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJM
RV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlO
RykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJM
RV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxF
X1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9O
X01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9K
YXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKaW5kZXggNzQzMzBl
NzAzZGFjNGQzNjAwZWFiMjdhMGFkOGViNGFmMDBlMGIzMi4uNjIyODczZGQyZjk0NzBhOTEzMThh
Y2NjZDQ3MDlkY2VhZTcyNjA4ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hw
cm9qCkBAIC03MzQsNiArNzM0LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRp
bWVcSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJWaWV3LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXHJ1bnRpbWVcSlNCb3VuZEZ1bmN0aW9uLmNwcCIgLz4KKyAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJvd0Z1bmN0aW9uLmNwcCIgLz4KICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZS5jcHAiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ2FsbGVlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDYXRjaFNjb3BlLmNwcCIgLz4KQEAgLTE1MjYsNiArMTUyNyw3
IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJWaWV3
SW5saW5lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0FycmF5
SXRlcmF0b3IuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNCb3Vu
ZEZ1bmN0aW9uLmgiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJy
b3dGdW5jdGlvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NJ
bmxpbmVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0pTVmFs
dWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZUlu
bGluZXMuaCIgLz4KQEAgLTE4MDAsNCArMTgwMiw0IEBACiAgIDxJbXBvcnRHcm91cCBMYWJlbD0i
RXh0ZW5zaW9uVGFyZ2V0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgp
XEJ1aWxkQ3VzdG9taXphdGlvbnNcbWFzbS50YXJnZXRzIiAvPgogICA8L0ltcG9ydEdyb3VwPgot
PC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYmEyZDEzNmViOTViNWE5ZmQzNTRhYjMwYThmMzY5
MWJmNzhjZWI4Ni4uZTlkNmYyNDY1ZTMzODU1ZDM2OGI0ZDIwNGUwZDc2NDZjNTZlOTg5ZiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwOTIsNiArMTA5Miw4IEBACiAJCTg2RjNF
RUJGMTY4Q0RFOTMwMDc3QjkyQSAvKiBPYmpjUnVudGltZUV4dHJhcy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGM0VFQjYxNjg1NUE1QjAwNzdCOTJB
IC8qIE9iamNSdW50aW1lRXh0cmFzLmggKi87IH07CiAJCTg2RkE5RTkxMTQyQkJCMkUwMDE3NzNC
NyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlv
bi5jcHAgKi87IH07CiAJCTg2RkE5RTkyMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rp
b24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RkE5
RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLzsgfTsKKwkJOEIwRjQy
NEMxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEg
LyogSlNBcnJvd0Z1bmN0aW9uLmNwcCAqLzsgfTsKKwkJOEIwRjQyNEMxQUJENkRFMjAwMzkxN0VB
IC8qIEpTQXJyb3dGdW5jdGlvbi5oIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5o
ICovOyB9OwogCQk5MDIxM0UzRDEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIxM0Uz
QjEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi87IH07CiAJCTkwMjEz
RTNFMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIxM0UzQzEyM0E0MEMyMDBENDIyRjMg
LyogTWVtb3J5U3RhdGlzdGljcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTkzMDUyQzM0MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzA1MkMz
MjBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwICovOyB9OwpAQCAtMjgyNCw2ICsy
ODI2LDggQEAKIAkJODZGNzVFRkQxNTFDMDYyRjAwN0M5QkEzIC8qIFJlZ0V4cE1hdGNoZXNBcnJh
eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWdFeHBNYXRjaGVz
QXJyYXkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkZBOUU4RjE0MkJCQjJE
MDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTQm91bmRGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdFQSAvKiBKU0Fycm93
RnVuY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcnJvd0Z1bmN0aW9uLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVu
Y3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcnJvd0Z1
bmN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTAyMTNFM0IxMjNBNDBD
MjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gTWVtb3J5U3RhdGlzdGljcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lbW9yeVN0YXRpc3RpY3MuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8qIFBh
cnNlckFyZW5hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhcnNl
ckFyZW5hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ0MzgsNiArNDQ0Miw4
IEBACiAJCQkJQTdCREFFQzUxN0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJyYXlJdGVyYXRvci5oICov
LAogCQkJCTg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwICov
LAogCQkJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLywK
KwkJCQk4QjBGNDI0QTFBQkQ2RDJGMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggKi8sCisJ
CQkJOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgKi8sCiAJ
CQkJNjU3Q0Y0NTYxOUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmNwcCAqLywKIAkJCQk2NTdD
RjQ1NzE5QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuaCAqLywKIAkJCQkwRkQ5NDk3RTFBOTdE
Qjk2MDBFMjg5NjYgLyogSlNDYXRjaFNjb3BlLmNwcCAqLywKQEAgLTcxNjYsNiArNzE3Miw3IEBA
CiAJCQkJMEZEOEEzMUIxN0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTE9TUkVudHJ5LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTBGMjM1QkRDMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTBGMjM1QkRGMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0
Q29tcGlsZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOEIwRjQyNEMxQUJENkRFMjAwMzkxN0VB
IC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkVBMEEyQTE3MDk2
Mjk2MDBCQjcyMkMgLyogRlRMT3V0cHV0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNDg1MzI5
MTg3REZERUMwMDgzQjY4NyAvKiBGVExSZWNvdmVyeU9wY29kZS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkwRjZCMUNDMzE4NjJDNDc4MDA4NDVEOTcgLyogRlRMUmVnaXN0ZXJBdE9mZnNldC5jcHAg
aW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9CeXRlY29kZUxpc3QuanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRl
Y29kZUxpc3QuanNvbgppbmRleCA2YjI0MzkxNTZhYjNhZmFlNmI1NThhYjkwNjZkMjIyNTE1ZDU5
ZTQ1Li40MzYwNzA5ZDhmN2U0MTgyMTVhYjJhZjk1OWJmNjQ0OGFmMDM4MDI4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24KKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCkBAIC05NSw2
ICs5NSw3IEBACiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9zd2l0Y2hfc3RyaW5nIiwgImxl
bmd0aCIgOiA0IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfZnVuYyIsICJsZW5n
dGgiIDogNCB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfbmV3X2Z1bmNfZXhwIiwgImxl
bmd0aCIgOiA0IH0sCisgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfYXJyb3dfZnVuY19l
eHAiLCAibGVuZ3RoIiA6IDUgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGwiLCAi
bGVuZ3RoIiA6IDkgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGxfZXZhbCIsICJs
ZW5ndGgiIDogOSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbF92YXJhcmdzIiwg
Imxlbmd0aCIgOiA5IH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQnl0ZWNvZGVVc2VEZWYuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRl
Y29kZVVzZURlZi5oCmluZGV4IDg1ZjI5MTVjN2U4ZjYwMWFkM2VjMTc4YmY2OWUzNTQ0Zjc1NGMy
Y2YuLjE3YjZiZWQ4MWZlMjViNjIzMzBiYWEzZmQwMzFjNzE2YWI4OGY5YmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCkBAIC0xMTYsNiAr
MTE2LDkgQEAgdm9pZCBjb21wdXRlVXNlc0ZvckJ5dGVjb2RlT2Zmc2V0KAogICAgIGNhc2Ugb3Bf
Z2V0X3Byb3BlcnR5X2VudW1lcmF0b3I6CiAgICAgY2FzZSBvcF9nZXRfZW51bWVyYWJsZV9sZW5n
dGg6CiAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRpZgogICAg
IGNhc2Ugb3BfdG9faW5kZXhfc3RyaW5nOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29uc3Rf
bm9wOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29uc3Q6CkBAIC0zMDgsNiArMzExLDkgQEAg
dm9pZCBjb21wdXRlRGVmc0ZvckJ5dGVjb2RlT2Zmc2V0KENvZGVCbG9jayogY29kZUJsb2NrLCB1
bnNpZ25lZCBieXRlY29kZU9mZnNldCwKICAgICBjYXNlIG9wX25ld19yZWdleHA6CiAgICAgY2Fz
ZSBvcF9uZXdfZnVuYzoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgor
I2VuZGlmCiAgICAgY2FzZSBvcF9jYWxsX3ZhcmFyZ3M6CiAgICAgY2FzZSBvcF9jb25zdHJ1Y3Rf
dmFyYXJnczoKICAgICBjYXNlIG9wX2dldF9mcm9tX3Njb3BlOgpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAppbmRleCAwNmU0OWZlZDY1ZGFlODc3MGQ3Y2Rj
OTgzYjc2OGQ0YWRlZTljOGYxLi45MTQ1NWRjMjM4ZDU2MjNjMmY0MTg2MzM5ZTg0OGU5Y2ZmM2Fh
YzQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2Nr
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcApA
QCAtMTI5OSw2ICsxMjk5LDE3IEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wQnl0ZWNvZGUoCiAgICAg
ICAgICAgICBvdXQucHJpbnRmKCIlcywgJXMsIGYlZCIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0YSgp
LCByZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjApOwogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBjYXNl
IG9wX25ld19hcnJvd19mdW5jX2V4cDogeworICAgICAgICAgICAgaW50IHIwID0gKCsraXQpLT51
Lm9wZXJhbmQ7CisgICAgICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAg
ICAgICAgIGludCBmMCA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgaW50IHIyID0g
KCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBwcmludExvY2F0aW9uQW5kT3Aob3V0LCBl
eGVjLCBsb2NhdGlvbiwgaXQsICJvcF9uZXdfYXJyb3dfZnVuY19leHAiKTsKKyAgICAgICAgICAg
IG91dC5wcmludGYoIiVzLCAlcywgZiVkLCAlcyIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0YSgpLCBy
ZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjAsIHJlZ2lzdGVyTmFtZShyMikuZGF0YSgpKTsKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgY2FzZSBvcF9uZXdf
ZnVuY19leHA6IHsKICAgICAgICAgICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVyYW5kOwogICAg
ICAgICAgICAgaW50IHIxID0gKCsraXQpLT51Lm9wZXJhbmQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCmluZGV4
IDU5MTk5OGEyOWVkMjZjYjBlNTFlZjMwNTA4NjcyMTNkYzQ4MzNmYjYuLjc0MGNhMzI1Yzc5MTU5
MzcxMGIyNGQ2YTE0Y2MwYmU0ZTE0NWExZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0xNzU0LDYg
KzE3NTQsMjIgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdGdW5jdGlv
bkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogcjAsIEZ1bmNFeHAKICAgICBpbnN0cnVjdGlvbnMoKS5h
cHBlbmQoaW5kZXgpOwogICAgIHJldHVybiByMDsKIH0KKyAgICAKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRO
ZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVuY0V4cHJOb2RlKiBu
KQoreworICAgIGVtaXRURFpDaGVjayh0aGlzUmVnaXN0ZXIoKSk7CisgICAgRnVuY3Rpb25Cb2R5
Tm9kZSogZnVuY3Rpb24gPSBuLT5ib2R5KCk7CisgICAgdW5zaWduZWQgaW5kZXggPSBtX2NvZGVC
bG9jay0+YWRkRnVuY3Rpb25FeHByKG1ha2VGdW5jdGlvbihmdW5jdGlvbikpOworICAgIAorICAg
IGVtaXRPcGNvZGUob3BfbmV3X2Fycm93X2Z1bmNfZXhwKTsKKyAgICBpbnN0cnVjdGlvbnMoKS5h
cHBlbmQocjAtPmluZGV4KCkpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChzY29wZVJlZ2lz
dGVyKCktPmluZGV4KCkpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChpbmRleCk7CisgICAg
aW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHRoaXNSZWdpc3RlcigpLT5pbmRleCgpKTsKKyAgICByZXR1
cm4gcjA7Cit9CisjZW5kaWYKIAogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRO
ZXdEZWZhdWx0Q29uc3RydWN0b3IoUmVnaXN0ZXJJRCogZHN0LCBDb25zdHJ1Y3RvcktpbmQgY29u
c3RydWN0b3JLaW5kLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKQogewpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmluZGV4
IDJlNTkwMzlkM2E0ODRhMzQ3MjgxNDQwZWVmOWMxYjgxOWY3MjY1ZGIuLjE3OTM1ZDQ4ZWYzYmYy
YjJkMTQxZGZkYzFhYzkzNzY3OTMxNDQyYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTQ1Niw2ICs0NTYs
MTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5jdGlv
bkludGVybmFsKFJlZ2lzdGVySUQqIGRzdCwgdW5zaWduZWQgaW5kZXgpOwogICAgICAgICBSZWdp
c3RlcklEKiBlbWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIGRzdCwgRnVuY0V4
cHJOb2RlKiBmdW5jKTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0RlZmF1bHRDb25zdHJ1
Y3RvcihSZWdpc3RlcklEKiBkc3QsIENvbnN0cnVjdG9yS2luZCwgY29uc3QgSWRlbnRpZmllciYg
bmFtZSk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgUmVn
aXN0ZXJJRCogZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqLCBGdW5j
RXhwck5vZGUqKTsKKyAgICAgICAgUmVnaXN0ZXJJRCogZW1pdFRoaXNOb2RlQnl0ZWNvZGUoUmVn
aXN0ZXJJRCosIEpTVGV4dFBvc2l0aW9uKTsKKyNlbmRpZgogICAgICAgICBSZWdpc3RlcklEKiBl
bWl0TmV3UmVnRXhwKFJlZ2lzdGVySUQqIGRzdCwgUmVnRXhwKik7CiAKICAgICAgICAgUmVnaXN0
ZXJJRCogZW1pdE1vdmVFbXB0eVZhbHVlKFJlZ2lzdGVySUQqIGRzdCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXggMTE0
MzJhZjIzYmJiNjFlODE1NDI1MjNiN2MxMWFhN2JkY2I1ZjNiZi4uNjFhZWYxNDA4YzQzNmQ3NGFi
MDhmN2EyYTA2OGNjMmIxZjA4Y2M1MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtMjgzMSw2ICsyODMxLDE0IEBAIFJl
Z2lzdGVySUQqIEZ1bmNFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBn
ZW5lcmF0b3IsIFJlZ2lzdGVySUQqCiAgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0TmV3RnVuY3Rp
b25FeHByZXNzaW9uKGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHRoaXMpOwogfQog
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgICAgCisvLyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0gQXJyb3dGdW5jRXhwck5vZGUgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCitSZWdpc3RlcklEKiBBcnJvd0Z1bmNFeHByTm9kZTo6ZW1pdEJ5dGVj
b2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKK3sKKyAg
ICByZXR1cm4gZ2VuZXJhdG9yLmVtaXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihnZW5lcmF0
b3IuZmluYWxEZXN0aW5hdGlvbihkc3QpLCB0aGlzKTsKK30KKyNlbmRpZgorICAgIAogI2lmIEVO
QUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
IENsYXNzRGVjbE5vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKaW5kZXggNzk0
NTY2ZmNhZGYzYzQ0NzBiZTI4ZjIxZDA0MmZlZjgwYjZiOThjMS4uZGVhZmI3YzNjYTdiM2U0YmNk
ZTUyOWJlYzgxNTg2NmNhM2MzYzEyYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKQEAgLTM2NzUsNiArMzY3NSwxNSBAQCBib29sIEJ5dGVD
b2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxpbWl0KQogICAgICAgICAgICAgTkVYVF9P
UENPREUob3BfbmV3X2Z1bmNfZXhwKTsKICAgICAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6IHsK
KyAgICAgICAgICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhwciA9IG1faW5saW5lU3RhY2tUb3At
Pm1fcHJvZmlsZWRCbG9jay0+ZnVuY3Rpb25FeHByKGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9w
ZXJhbmQpOworICAgICAgICAgICAgRnJvemVuVmFsdWUqIGZyb3plbiA9IG1fZ3JhcGguZnJlZXpl
U3Ryb25nKGV4cHIpOworICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5z
dHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwKKyAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKE5ld0Z1
bmN0aW9uLCBPcEluZm8oZnJvemVuKSwgZ2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1
Y3Rpb25bMl0udS5vcGVyYW5kKSkpKTsKKyAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX25ld19h
cnJvd19mdW5jX2V4cCk7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBjYXNlIG9wX3R5cGVv
ZjogewogICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25b
MV0udS5vcGVyYW5kKSwKICAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKFR5cGVPZiwgZ2V0KFZp
cnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSkpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAppbmRleCA4ZWY0ZGNm
MTU2OGJkNWVkYTRiODk3ZTc2ODRhOGNiYjkxYmY2ZTA4Li43ZjQ1YTgzMWVhNmU2MjczYmFjZDJl
M2Y4MzM2ZGRjNTYyYzhjYzhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0NhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdD
YXBhYmlsaXRpZXMuY3BwCkBAIC0yMDgsNiArMjA4LDkgQEAgQ2FwYWJpbGl0eUxldmVsIGNhcGFi
aWxpdHlMZXZlbChPcGNvZGVJRCBvcGNvZGVJRCwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIEluc3Ry
dWMKICAgICBjYXNlIG9wX25ld19mdW5jOgogICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOgogICAg
IGNhc2Ugb3BfY3JlYXRlX2xleGljYWxfZW52aXJvbm1lbnQ6CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRp
ZgogICAgICAgICByZXR1cm4gQ2FuQ29tcGlsZUFuZElubGluZTsKIAogICAgIGNhc2Ugb3BfcHV0
X3RvX3Njb3BlOiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0
ZXIvSW50ZXJwcmV0ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0lu
dGVycHJldGVyLmNwcAppbmRleCAzMDkyZmNiNDA0MzI0MzVkNWM4YTY0NmM2MzgxOTQ0MjE3MzRj
MmIwLi43OWM5YjQ2Zjc3YjVmYTc4MjczNjE5Y2U2NTJmOGUyN2E3MDY1MWE4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKQEAgLTQ0
LDYgKzQ0LDcgQEAKICNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCiAjaW5jbHVkZSAiR2V0
dGVyU2V0dGVyLmgiCiAjaW5jbHVkZSAiSlNBcnJheS5oIgorI2luY2x1ZGUgIkpTQXJyb3dGdW5j
dGlvbi5oIgogI2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQ0lubGlu
ZXMuaCIKICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhlbHBlcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvQ0NhbGxIZWxwZXJzLmgKaW5kZXggZmQzNDRhZGJjYWJiMTVmYmQ4MTRlZDZmYmQ0
NzhmNzRiNjE1NzYzYy4uMDdhY2Q2ZDUzMmQzMjhhZmRiNzdhY2YyMDEzMzkwZWYzOWRkOWQ2NyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhlbHBlcnMuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxsSGVscGVycy5oCkBAIC0yNzQsNiArMjc0
LDE1IEBAIHB1YmxpYzoKICAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzIpOwogICAgICAgICBh
ZGRDYWxsQXJndW1lbnQoYXJnMyk7CiAgICAgfQorICAgIAorICAgIEFMV0FZU19JTkxJTkUgdm9p
ZCBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoR1BSUmVnIGFyZzEsIFRydXN0ZWRJbW1QdHIg
YXJnMiwgR1BSUmVnIGFyZzMpCisgICAgeworICAgICAgICByZXNldENhbGxBcmd1bWVudHMoKTsK
KyAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyKTsKKyAg
ICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzEpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJn
Mik7CisgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmczKTsKKyAgICB9CiAKICAgICBBTFdBWVNf
SU5MSU5FIHZvaWQgc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKEdQUlJlZyBhcmcxLCBHUFJS
ZWcgYXJnMiwgVHJ1c3RlZEltbTMyIGFyZzMpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQu
Y3BwCmluZGV4IDQyYTgyZDQzOTQ2MTYyZjk1ZmE0NzQ2NzU2NzEzOWQ0YWFmMjM4NmIuLjgzZDUw
OGI4NzY1OWUzZWZmOGJjMTg3ZTA2ZGFkNzAxMWY0ODJlZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVC5jcHAKQEAgLTI1Myw2ICsyNTMsNyBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVNYWlu
UGFzcygpCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfYXJyYXlfYnVmZmVyKQogICAgICAgICBE
RUZJTkVfT1Aob3BfbmV3X2Z1bmMpCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfZnVuY19leHAp
CisgICAgICAgIERFRklORV9PUChvcF9uZXdfYXJyb3dfZnVuY19leHApIAogICAgICAgICBERUZJ
TkVfT1Aob3BfbmV3X29iamVjdCkKICAgICAgICAgREVGSU5FX09QKG9wX25ld19yZWdleHApCiAg
ICAgICAgIERFRklORV9PUChvcF9ub3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAppbmRleCBlZTQ4
NTVkYzJlNzhiNTVhY2M0NTk5ZWJkYjk5YTBkOGUwOGJlN2NjLi5mYWUyZjI2OTE3NzM1YTJiZTQz
MTRiNGYxNmU4YzFiODA0ZDg5NWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKQEAgLTUyMiw2
ICs1MjIsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBlbWl0X29wX25ld19hcnJh
eV9idWZmZXIoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX25ld19mdW5jKElu
c3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfZnVuY19leHAoSW5zdHJ1Y3Rp
b24qKTsKKyAgICAgICAgdm9pZCBlbWl0X29wX25ld19hcnJvd19mdW5jX2V4cChJbnN0cnVjdGlv
biopOwogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X29iamVjdChJbnN0cnVjdGlvbiopOwogICAg
ICAgICB2b2lkIGVtaXRfb3BfbmV3X3JlZ2V4cChJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lk
IGVtaXRfb3Bfbm90KEluc3RydWN0aW9uKik7CkBAIC03MDUsNiArNzA2LDcgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRP
cGVyYXRpb25fRUpKLCBpbnQsIEdQUlJlZywgR1BSUmVnKTsKICAgICAgICAgTWFjcm9Bc3NlbWJs
ZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihDX0pJVE9wZXJhdGlvbl9FSnNjLCBHUFJSZWcpOwogICAg
ICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VK
c2NDLCBpbnQsIEdQUlJlZywgSlNDZWxsKik7CisgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxs
IGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0NKLCBpbnQsIEdQUlJlZywgSlNDZWxs
KiwgR1BSUmVnKTsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihD
X0pJVE9wZXJhdGlvbl9FSnNjWiwgR1BSUmVnLCBpbnQzMl90KTsKICAgICAgICAgTWFjcm9Bc3Nl
bWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihDX0pJVE9wZXJhdGlvbl9FSnNjWiwgaW50LCBHUFJS
ZWcsIGludDMyX3QpOwogI2lmIFVTRShKU1ZBTFVFNjQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUSW5saW5lcy5oCmluZGV4IDllZTI0ZDA5MjI4YTk4ODJlYTc2OTYyOWQxYTg3YjZjMzRhODYz
MzQuLmEwZTQwYzVjNjFmZTYzZTk4NjNlZDIyM2VkZjVkNDUxZjMxOGE3NzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oCkBAIC0yNzEsNiArMjcxLDEyIEBAIEFMV0FZU19J
TkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0
aW9uX0VKc2NDIG9wZXJhCiAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tT
ZXRKU1ZhbHVlUmVzdWx0KG9wZXJhdGlvbiwgZHN0KTsKIH0KIAorQUxXQVlTX0lOTElORSBNYWNy
b0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0NK
IG9wZXJhdGlvbiwgaW50IGRzdCwgR1BSUmVnIGFyZzEsIEpTQ2VsbCogY2VsbCwgR1BSUmVnIGFy
ZzIpCit7CisgICAgc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIFRydXN0ZWRJbW1Q
dHIoY2VsbCksIGFyZzIpOworICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNr
U2V0SlNWYWx1ZVJlc3VsdChvcGVyYXRpb24sIGRzdCk7Cit9CisgICAgCiBBTFdBWVNfSU5MSU5F
IE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9F
UCBvcGVyYXRpb24sIGludCBkc3QsIHZvaWQqIHBvaW50ZXIpCiB7CiAgICAgc2V0dXBBcmd1bWVu
dHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIocG9pbnRlcikpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKaW5kZXggZDNkNTgwZTllMjYwMDg1M2I2NjQ5ZTI4NTkx
OGY4NTM4YmU2OTQ0Yy4uNmNhMDAzMGY4YzRhMjEyMjFhYTkyODNjYzI3NjEzMGQ3OWU3NDQ0NSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCkBAIC05NzIsNiArOTcy
LDI5IEBAIHZvaWQgSklUOjplbWl0X29wX25ld19mdW5jX2V4cChJbnN0cnVjdGlvbiogY3VycmVu
dEluc3RydWN0aW9uKQogICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uTmV3RnVuY3Rpb24sIGRz
dCwgcmVnVDAsIGZ1bmNFeHByKTsKICAgICBkb25lLmxpbmsodGhpcyk7CiB9CisgICAgCit2b2lk
IEpJVDo6ZW1pdF9vcF9uZXdfYXJyb3dfZnVuY19leHAoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0
cnVjdGlvbikKK3sKKyAgICBKdW1wIG5vdFVuZGVmaW5lZFNjb3BlOworICAgIGludCBkc3QgPSBj
dXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kOworI2lmIFVTRShKU1ZBTFVFNjQpCisgICAg
ZW1pdEdldFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kLCBy
ZWdUMCk7CisgICAgZW1pdEdldFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bNF0u
dS5vcGVyYW5kLCByZWdUMSk7CisgICAgbm90VW5kZWZpbmVkU2NvcGUgPSBicmFuY2g2NChOb3RF
cXVhbCwgcmVnVDAsIFRydXN0ZWRJbW02NChKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSkp
KTsKKyAgICBzdG9yZTY0KFRydXN0ZWRJbW02NChKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQo
KSkpLCBBZGRyZXNzKGNhbGxGcmFtZVJlZ2lzdGVyLCBzaXplb2YoUmVnaXN0ZXIpICogZHN0KSk7
CisjZWxzZQorICAgIGVtaXRMb2FkUGF5bG9hZChjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVy
YW5kLCByZWdUMCk7CisgICAgZW1pdExvYWRQYXlsb2FkKGN1cnJlbnRJbnN0cnVjdGlvbls0XS51
Lm9wZXJhbmQsIHJlZ1QxKTsKKyAgICBub3RVbmRlZmluZWRTY29wZSA9IGJyYW5jaDMyKE5vdEVx
dWFsLCB0YWdGb3IoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCksIFRydXN0ZWRJbW0z
MihKU1ZhbHVlOjpVbmRlZmluZWRUYWcpKTsKKyAgICBlbWl0U3RvcmUoZHN0LCBqc1VuZGVmaW5l
ZCgpKTsKKyNlbmRpZgorICAgIEp1bXAgZG9uZSA9IGp1bXAoKTsKKyAgICBub3RVbmRlZmluZWRT
Y29wZS5saW5rKHRoaXMpOworICAgIAorICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZnVuY3Rpb24g
PSBtX2NvZGVCbG9jay0+ZnVuY3Rpb25FeHByKGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9wZXJh
bmQpOworICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbiwgZHN0LCBy
ZWdUMCwgZnVuY3Rpb24sIHJlZ1QxKTsKKyAgICBkb25lLmxpbmsodGhpcyk7Cit9CiAKIHZvaWQg
SklUOjplbWl0X29wX25ld19hcnJheShJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKaW5kZXggNWU5
MGQ0ODZjNTNkYjJmYjg3ZTA4NWNjNzg1ZGNhNGMyZjZkNGFkNy4uNzAwNWU1M2ZjNWNmM2ZhMTQy
OGZhMzM3NDk4NDkyYTlkM2JiNmFjYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRPcGVyYXRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VE9wZXJhdGlvbnMuY3BwCkBAIC00Miw2ICs0Miw4IEBACiAjaW5jbHVkZSAiSG9zdENhbGxSZXR1
cm5WYWx1ZS5oIgogI2luY2x1ZGUgIkpJVC5oIgogI2luY2x1ZGUgIkpJVFRvREZHRGVmZXJyZWRD
b21waWxhdGlvbkNhbGxiYWNrLmgiCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCisjaW5j
bHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1
ZGUgIkpTQ2F0Y2hTY29wZS5oIgogI2luY2x1ZGUgIkpTRnVuY3Rpb25OYW1lU2NvcGUuaCIKQEAg
LTk1Miw2ICs5NTQsMjMgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25O
ZXdGdW5jdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTU2NvcGUqIHNjb3AKICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgc3RhdGljX2Nhc3Q8RnVuY3Rpb25F
eGVjdXRhYmxlKj4oZnVuY3Rpb25FeGVjdXRhYmxlKSwgc2NvcGUpKTsKIH0KIAorRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKEV4ZWNTdGF0ZSog
ZXhlYywgSlNTY29wZSogc2NvcGUsIEpTQ2VsbCogZnVuY3Rpb25FeGVjdXRhYmxlLCBFbmNvZGVk
SlNWYWx1ZSB0aGlzVmFsdWUpCit7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICBBU1NFUlQoZnVuY3Rpb25FeGVjdXRhYmxlLT5pbmhlcml0cyhGdW5jdGlvbkV4ZWN1
dGFibGU6OmluZm8oKSkpOworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgTmF0aXZlQ2Fs
bEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOworICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QgPSBleGVjLT5jYWxsZWUoKS0+Z2xvYmFsT2JqZWN0KCk7CisgICAgSlNGdW5jdGlv
biogZnVuYyA9IEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlKHZtLCBzY29wZSwgc3RhdGljX2Nhc3Q8
RnVuY3Rpb25FeGVjdXRhYmxlKj4oZnVuY3Rpb25FeGVjdXRhYmxlKSwgZ2xvYmFsT2JqZWN0KTsK
KyAgICAKKyAgICBKU0FycmF5KiBib3VuZEFyZ3MgPSBKU0FycmF5Ojp0cnlDcmVhdGVVbmluaXRp
YWxpemVkKHZtLCBnbG9iYWxPYmplY3QtPmFycmF5U3RydWN0dXJlRm9ySW5kZXhpbmdUeXBlRHVy
aW5nQWxsb2NhdGlvbihBcnJheVdpdGhVbmRlY2lkZWQpLCAwKTsKKyAgICAKKyAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKEpTQm91bmRGdW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3Qs
IGZ1bmMsIEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpLCBib3VuZEFyZ3MsIDAsICIiKSk7Cisj
ZWxzZQorICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisjZW5kaWYK
K30KKyAgICAKIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdPYmplY3QoRXhlY1N0
YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+
dm0oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9u
cy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKaW5kZXggNGRl
Y2VmNGViOGI0OGJiOTM3ZDU0ZDBiNjA0YjliNzc2N2E0ZWE2MS4uMjM2MTZlZTFkZWUzMmZmZGRk
YWU1MTg5NjA2OTk3MDkyNjZlYmNlZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRPcGVyYXRpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRP
cGVyYXRpb25zLmgKQEAgLTExNiw2ICsxMTYsNyBAQCB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJ
VF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FUFApKEV4ZWNTdGF0ZSosIHZvaWQqLCB2bwog
dHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVBT
KShFeGVjU3RhdGUqLCB2b2lkKiwgc2l6ZV90KTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklU
X09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQYykoRXhlY1N0YXRlKiwgSW5zdHJ1Y3Rpb24q
KTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9u
X0VKc2NDKShFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKik7Cit0eXBlZGVmIEVuY29kZWRK
U1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FSnNjQ0opKEV4ZWNTdGF0ZSos
IEpTU2NvcGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSk7CiB0eXBlZGVmIEVuY29kZWRKU1Zh
bHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FU1MpKEV4ZWNTdGF0ZSosIHNpemVf
dCwgc2l6ZV90KTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklU
T3BlcmF0aW9uX0VTc2lDSSkoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBKU0NlbGwq
LCBTdHJpbmdJbXBsKik7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpK
X0pJVE9wZXJhdGlvbl9FU3NpSkkpKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5j
b2RlZEpTVmFsdWUsIFN0cmluZ0ltcGwqKTsKQEAgLTI3OCw2ICsyNzksNyBAQCBFbmNvZGVkSlNW
YWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5V2l0aFByb2ZpbGUoRXhlY1N0YXRl
KiwgQXJyYXlBbGxvYwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdB
cnJheUJ1ZmZlcldpdGhQcm9maWxlKEV4ZWNTdGF0ZSosIEFycmF5QWxsb2NhdGlvblByb2ZpbGUq
LCBjb25zdCBKU1ZhbHVlKiB2YWx1ZXMsIGludDMyX3Qgc2l6ZSkgV1RGX0lOVEVSTkFMOwogRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJheVdpdGhTaXplQW5kUHJv
ZmlsZShFeGVjU3RhdGUqLCBBcnJheUFsbG9jYXRpb25Qcm9maWxlKiwgRW5jb2RlZEpTVmFsdWUg
c2l6ZSkgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRp
b25OZXdGdW5jdGlvbihFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKikgV1RGX0lOVEVSTkFM
OworRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9u
KEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVS
TkFMOwogSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3RhdGUq
LCBTdHJ1Y3R1cmUqKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbk5ld1JlZ2V4cChFeGVjU3RhdGUqLCB2b2lkKikgV1RGX0lOVEVSTkFMOwogdm9p
ZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkhhbmRsZVdhdGNoZG9nVGltZXIoRXhlY1N0YXRlKikg
V1RGX0lOVEVSTkFMOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xM
SW50U2xvd1BhdGhzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQ
YXRocy5jcHAKaW5kZXggMjdiOTg2OThmY2FkZTliOTdiZDI3ZTczMzYzODBhZGYzYjU3M2IzOS4u
MWM2MzA2NDNjYWM3ZDZjYjY1YzBlYjY4YmQwMjFiYTAwMzBiMDgzYyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCkBAIC0zOCw2ICszOCw4IEBA
CiAjaW5jbHVkZSAiSW50ZXJwcmV0ZXIuaCIKICNpbmNsdWRlICJKSVQuaCIKICNpbmNsdWRlICJK
SVRFeGNlcHRpb25zLmgiCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAi
SlNCb3VuZEZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNMZXhpY2FsRW52aXJvbm1lbnQuaCIKICNp
bmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDSlNWYWx1ZS5oIgpAQCAtMTcxLDYg
KzE3MywxNSBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIExMSW50IHsKICAgICAgICAgTExJ
TlRfUkVUVVJOX1RXTyhwYywgX19yY2ZfZXhlYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKICAgICB9IHdoaWxlIChmYWxzZSkKIAorICAgIAorI2RlZmluZSBMTElOVF9DQUxDX1BS
T1BFUlRZX0ZPUl9GVU5DX0VYUFIoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgTExJTlRfQkVHSU4oKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9
IGV4ZWMtPmNvZGVCbG9jaygpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIEpTU2NvcGUqIHNjb3BlID0gZXhlYy0+dW5jaGVja2VkUihwY1syXS51Lm9wZXJhbmQpLlJl
Z2lzdGVyOjpzY29wZSgpOyAgICAgICBcCisgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRh
YmxlID0gY29kZUJsb2NrLT5mdW5jdGlvbkV4cHIocGNbM10udS5vcGVyYW5kKTsgIFwKKyAgICAK
K2VudW0gRnVuY3Rpb25FeHByZXNzaW9uVHlwZSB7IEFycm93RnVuY3Rpb25FeHByZXNzaW9uVHlw
ZSwgQ29tbW9uRnVuY3Rpb25FeHByZXNzaW9uVHlwZX07CisgICAgCiBleHRlcm4gIkMiIFNsb3dQ
YXRoUmV0dXJuVHlwZSBsbGludF90cmFjZV9vcGVyYW5kKEV4ZWNTdGF0ZSogZXhlYywgSW5zdHJ1
Y3Rpb24qIHBjLCBpbnQgZnJvbVdoZXJlLCBpbnQgb3BlcmFuZCkKIHsKICAgICBMTElOVF9CRUdJ
TigpOwpAQCAtMTAwMywxNiArMTAxNCwzNSBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3Bh
dGhfbmV3X2Z1bmMpCiAjZW5kaWYKICAgICBMTElOVF9SRVRVUk4oSlNGdW5jdGlvbjo6Y3JlYXRl
KHZtLCBjb2RlQmxvY2stPmZ1bmN0aW9uRGVjbChwY1szXS51Lm9wZXJhbmQpLCBzY29wZSkpOwog
fQotCisgICAgCiBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfbmV3X2Z1bmNfZXhwKQog
ewotICAgIExMSU5UX0JFR0lOKCk7Ci0gICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVjLT5j
b2RlQmxvY2soKTsKLSAgICBKU1Njb3BlKiBzY29wZSA9IGV4ZWMtPnVuY2hlY2tlZFIocGNbMl0u
dS5vcGVyYW5kKS5SZWdpc3Rlcjo6c2NvcGUoKTsKLSAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1
bmN0aW9uID0gY29kZUJsb2NrLT5mdW5jdGlvbkV4cHIocGNbM10udS5vcGVyYW5kKTsKLSAgICBK
U0Z1bmN0aW9uKiBmdW5jID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBmdW5jdGlvbiwgc2NvcGUp
OworICAgIExMSU5UX0NBTENfUFJPUEVSVFlfRk9SX0ZVTkNfRVhQUigpOworCisgICAgSlNGdW5j
dGlvbiogZnVuYyA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgZXhlY3V0YWJsZSwgc2NvcGUpOwor
ICAgIExMSU5UX1JFVFVSTihmdW5jKTsKK30KKworCitMTElOVF9TTE9XX1BBVEhfREVDTChzbG93
X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKQoreworICAgIExMSU5UX0NBTENfUFJPUEVSVFlfRk9S
X0ZVTkNfRVhQUigpOworCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IExMSU5UX09QX0MoNCkuanNWYWx1ZSgpOworICAgIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBleGVjLT5jYWxsZWUoKS0+Z2xvYmFsT2JqZWN0KCk7
CiAgICAgCisgICAgSlNGdW5jdGlvbiogZnVuYyA9IEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlKHZt
LCBzY29wZSwgZXhlY3V0YWJsZSwgZ2xvYmFsT2JqZWN0KTsKKyAgICAKKyAgICBKU0FycmF5KiBi
b3VuZEFyZ3MgPSBKU0FycmF5Ojp0cnlDcmVhdGVVbmluaXRpYWxpemVkKHZtLCBnbG9iYWxPYmpl
Y3QtPmFycmF5U3RydWN0dXJlRm9ySW5kZXhpbmdUeXBlRHVyaW5nQWxsb2NhdGlvbihBcnJheVdp
dGhVbmRlY2lkZWQpLCAwKTsKKyAgICAKKyAgICBjb25zdCBTdHJpbmcgZnVuY1dpdGhvdXROYW1l
ID0gIiI7CisgICAgCisgICAgTExJTlRfUkVUVVJOKEpTQm91bmRGdW5jdGlvbjo6Y3JlYXRlKHZt
LCBnbG9iYWxPYmplY3QsIGZ1bmMsIHRoaXNWYWx1ZSwgYm91bmRBcmdzLCAwLCBmdW5jV2l0aG91
dE5hbWUpKTsKKyNlbHNlCisgICAgSlNGdW5jdGlvbiogZnVuYyA9IEpTRnVuY3Rpb246OmNyZWF0
ZSh2bSwgZXhlY3V0YWJsZSwgc2NvcGUpOwogICAgIExMSU5UX1JFVFVSTihmdW5jKTsKKyNlbmRp
ZgogfQogCiBzdGF0aWMgU2xvd1BhdGhSZXR1cm5UeXBlIGhhbmRsZUhvc3RDYWxsKEV4ZWNTdGF0
ZSogZXhlY0NhbGxlZSwgSW5zdHJ1Y3Rpb24qIHBjLCBKU1ZhbHVlIGNhbGxlZSwgQ29kZVNwZWNp
YWxpemF0aW9uS2luZCBraW5kKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xMSW50U2xvd1BhdGhzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRT
bG93UGF0aHMuaAppbmRleCA0YmY3ZGViMGZhMGI2YzY0MzhlMzZmOTYzMjBlMmY2Njk3MzlhZjY0
Li5jN2ZhYjk2OTFjMThiOTM5NTZkMGVhMjlmMzM5NTYxMThjNWU3MWVlIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaApAQCAtOTYsNiArOTYsNyBAQCBM
TElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3N3aXRjaF9jaGFyKTsKIExMSU5U
X1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfc3dpdGNoX3N0cmluZyk7CiBMTElOVF9T
TE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX25ld19mdW5jKTsKIExMSU5UX1NMT1dfUEFU
SF9ISURERU5fREVDTChzbG93X3BhdGhfbmV3X2Z1bmNfZXhwKTsKK0xMSU5UX1NMT1dfUEFUSF9I
SURERU5fREVDTChzbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKTsKIExMSU5UX1NMT1dfUEFU
SF9ISURERU5fREVDTChzbG93X3BhdGhfY2FsbCk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RF
Q0woc2xvd19wYXRoX2NvbnN0cnVjdCk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xv
d19wYXRoX3NpemVfZnJhbWVfZm9yX3ZhcmFyZ3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCmluZGV4IGZkYTkxZWQ1OTkwY2I2
ZTRmMmNiNzhhYTZhNGIyZDhjMmMwYzQ3MmEuLjgyMjcxMzQ5ODJkYjc1ODFkYzhhMjI1Y2Q0MjMy
ODIwMDkyZmI3M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc20KQEAgLTExNzEsNiArMTE3MSwxMCBAQCBfbGxpbnRfb3BfbmV3
X2Z1bmNfZXhwOgogICAgIGNhbGxTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX25ld19mdW5jX2V4
cCkKICAgICBkaXNwYXRjaCg0KQogCitfbGxpbnRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorICAg
IHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9uZXdf
YXJyb3dfZnVuY19leHApCisgICAgZGlzcGF0Y2goNSkKIAogX2xsaW50X29wX2NhbGw6CiAgICAg
dHJhY2VFeGVjdXRpb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9BU1RCdWlsZGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIu
aAppbmRleCBiOGZlNGI4NDg1YTA5NzY4OGY1YzYzMGJkOGMzYzk2NzY0ZmM0NjQ5Li5mMmZhM2Jk
OWMxNWY0ZTQyMmVlYzZhNzlkNjVmMWQ3MDg2YzYyYzczIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL0FTVEJ1aWxkZXIuaApAQCAtMzEzLDYgKzMxMywxOSBAQCBwdWJsaWM6CiAgICAg
ICAgICAgICBpblN0cmljdENvbnRleHQsIGNvbnN0cnVjdG9yS2luZCk7CiAgICAgfQogCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBFeHByZXNzaW9uTm9kZSogY3Jl
YXRlQXJyb3dGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29u
c3QgUGFyc2VyRnVuY3Rpb25JbmZvPEFTVEJ1aWxkZXI+JiBpbmZvKQorICAgIHsKKyAgICAgICAg
U291cmNlQ29kZSBzb3VyY2UgPSBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlv
bkJvZHlFeHByZXNzaW9uCisgICAgICAgID8gbV9zb3VyY2VDb2RlLT5zdWJBcnJvd0V4cHJlc3Np
b24oaW5mby5hcnJvd0Z1bmN0aW9uT2Zmc2V0LCBpbmZvLmNsb3NlQnJhY2VPZmZzZXQsIGluZm8u
Ym9keVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1bW4pCisgICAgICAgIDogbV9zb3VyY2VD
b2RlLT5zdWJFeHByZXNzaW9uKGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBpbmZvLmNsb3NlQnJhY2VP
ZmZzZXQsIGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1bW4pOworCisgICAg
ICAgIEFycm93RnVuY0V4cHJOb2RlKiByZXN1bHQgPSBuZXcgKG1fcGFyc2VyQXJlbmEpIEFycm93
RnVuY0V4cHJOb2RlKGxvY2F0aW9uLCAqaW5mby5uYW1lLCBpbmZvLmJvZHksIHNvdXJjZSwgaW5m
by5wYXJhbWV0ZXJzKTsKKyAgICAgICAgaW5mby5ib2R5LT5zZXRMb2MoaW5mby5ib2R5U3RhcnRM
aW5lLCBpbmZvLmJvZHlFbmRMaW5lLCBsb2NhdGlvbi5zdGFydE9mZnNldCwgbG9jYXRpb24ubGlu
ZVN0YXJ0T2Zmc2V0KTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisjZW5kaWYKKwog
ICAgIE5FVkVSX0lOTElORSBQcm9wZXJ0eU5vZGUqIGNyZWF0ZUdldHRlck9yU2V0dGVyUHJvcGVy
dHkoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgUHJvcGVydHlOb2RlOjpUeXBlIHR5
cGUsIGJvb2wsCiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUsIGNvbnN0IFBhcnNlckZ1
bmN0aW9uSW5mbzxBU1RCdWlsZGVyPiYgaW5mbywgU3VwZXJCaW5kaW5nIHN1cGVyQmluZGluZykK
ICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCmluZGV4IDdkZTE0MjIw
YmJkYTcyNzM4YjU3M2E0Yjk3ODhjZTBiMzJjYzdjZTMuLjU0MGY5ZmZiN2JiNTE4MjlkNjdkZWVk
ZWM1ZTZhOGVkNTFjYzQ0MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvTGV4ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3Bw
CkBAIC0xNDMwLDYgKzE0MzAsMTggQEAgYm9vbCBMZXhlcjxUPjo6bmV4dFRva2VuSXNDb2xvbigp
CiAgICAgcmV0dXJuIGNvZGUgPCBtX2NvZGVFbmQgJiYgKmNvZGUgPT0gJzonOwogfQogCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgor
dm9pZCBMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlvbihKU1Rva2VuKiB0b2tlblJlY29yZCkKK3sK
KyAgICBKU1Rva2VuRGF0YSogdG9rZW5EYXRhID0gJnRva2VuUmVjb3JkLT5tX2RhdGE7CisgICAg
dG9rZW5EYXRhLT5saW5lID0gbGluZU51bWJlcigpOworICAgIHRva2VuRGF0YS0+b2Zmc2V0ID0g
Y3VycmVudE9mZnNldCgpOworICAgIHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVu
dExpbmVTdGFydE9mZnNldCgpOworICAgIEFTU0VSVCh0b2tlbkRhdGEtPm9mZnNldCA+PSB0b2tl
bkRhdGEtPmxpbmVTdGFydE9mZnNldCk7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1l
IFQ+CiBKU1Rva2VuVHlwZSBMZXhlcjxUPjo6bGV4KEpTVG9rZW4qIHRva2VuUmVjb3JkLCB1bnNp
Z25lZCBsZXhlckZsYWdzLCBib29sIHN0cmljdE1vZGUpCiB7CkBAIC0xNDkzLDcgKzE1MDUsMTIg
QEAgc3RhcnQ6CiAgICAgICAgIH0KICAgICAgICAgdG9rZW4gPSBHVDsKICAgICAgICAgYnJlYWs7
Ci0gICAgY2FzZSBDaGFyYWN0ZXJFcXVhbDoKKyAgICBjYXNlIENoYXJhY3RlckVxdWFsOiB7Cisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdWludDMyX3Qgc2F2
ZWRsaW5lTnVtYmVyID0gdG9rZW5EYXRhLT5saW5lOworICAgICAgICB1aW50MzJfdCBzYXZlZE9m
ZnNldCA9IGN1cnJlbnRPZmZzZXQoKTsKKyAgICAgICAgdWludDMyX3Qgc2F2ZWRMaW5lU3RhcnRP
ZmZzZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0KCk7CisjZW5kaWYKICAgICAgICAgc2hpZnQo
KTsKICAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnPScpIHsKICAgICAgICAgICAgIHNoaWZ0KCk7
CkBAIC0xNTA1LDggKzE1MjIsMjIgQEAgc3RhcnQ6CiAgICAgICAgICAgICB0b2tlbiA9IEVRRVE7
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJz4nKSB7CisgICAgICAgICAg
ICBzaGlmdCgpOworICAgICAgICAgICAgdG9rZW4gPSBBUlJPV0ZVTkNUSU9OOworCisgICAgICAg
ICAgICB0b2tlbkRhdGEtPmxpbmUgPSBzYXZlZGxpbmVOdW1iZXI7CisgICAgICAgICAgICB0b2tl
bkRhdGEtPm9mZnNldCA9IHNhdmVkT2Zmc2V0OworICAgICAgICAgICAgdG9rZW5EYXRhLT5saW5l
U3RhcnRPZmZzZXQgPSBzYXZlZExpbmVTdGFydE9mZnNldDsKKworICAgICAgICAgICAgQVNTRVJU
KHRva2VuRGF0YS0+b2Zmc2V0ID49IHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0KTsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgdG9rZW4gPSBFUVVBTDsK
ICAgICAgICAgYnJlYWs7CisgICAgfQogICAgIGNhc2UgQ2hhcmFjdGVyTGVzczoKICAgICAgICAg
c2hpZnQoKTsKICAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnIScgJiYgcGVlaygxKSA9PSAnLScg
JiYgcGVlaygyKSA9PSAnLScpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvTGV4ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAppbmRl
eCAyZGY1MjEzOTk1NzgyMDA3ODVhMTY2ZTIyYTczMjc1ZTBlYTYzMDRkLi5jYjNmMjVmN2MwOGY4
MjU4MWFmMmNlOGZhOTk5OTdmYWRlMDc2NmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL0xleGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9M
ZXhlci5oCkBAIC04NSw2ICs4NSw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldElzUmVwYXJzaW5n
KCkgeyBtX2lzUmVwYXJzaW5nID0gdHJ1ZTsgfQogICAgIGJvb2wgaXNSZXBhcnNpbmcoKSBjb25z
dCB7IHJldHVybiBtX2lzUmVwYXJzaW5nOyB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIHZvaWQgc2V0VG9rZW5Qb3NpdGlvbihKU1Rva2VuKiB0b2tlblJlY29y
ZCk7CisjZW5kaWYKICAgICBKU1Rva2VuVHlwZSBsZXgoSlNUb2tlbiosIHVuc2lnbmVkLCBib29s
IHN0cmljdE1vZGUpOwogICAgIGJvb2wgbmV4dFRva2VuSXNDb2xvbigpOwogICAgIGludCBsaW5l
TnVtYmVyKCkgY29uc3QgeyByZXR1cm4gbV9saW5lTnVtYmVyOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCmluZGV4IDNiZGFiNjFhNTIyZTBj
ZTJjMzM5N2Y4MGY0ZmExODRkMWQ0MjE2MGUuLmI1OGUxZmUxYWY5MGU2NjBiMDg0MmVhN2U5OWYw
N2FlNmFjYmI5NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9k
ZUNvbnN0cnVjdG9ycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNv
bnN0cnVjdG9ycy5oCkBAIC03ODEsNiArNzgxLDEzIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICBtX2JvZHktPmZpbmlzaFBhcnNpbmcoc291cmNlLCBwYXJhbWV0ZXIsIGlkZW50LCBGdW5jdGlv
bkV4cHJlc3Npb24pOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCisgICAgaW5saW5lIEFycm93RnVuY0V4cHJOb2RlOjpBcnJvd0Z1bmNFeHByTm9kZShjb25z
dCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgRnVu
Y3Rpb25Cb2R5Tm9kZSogYm9keSwgY29uc3QgU291cmNlQ29kZSYgc291cmNlLCBQYXJhbWV0ZXJO
b2RlKiBwYXJhbWV0ZXIpCisgICAgICAgIDogRnVuY0V4cHJOb2RlKGxvY2F0aW9uLCBpZGVudCwg
Ym9keSwgc291cmNlLCBwYXJhbWV0ZXIpCisgICAgeworICAgIH0KKyNlbmRpZgorICAgIAogICAg
IGlubGluZSBGdW5jRGVjbE5vZGU6OkZ1bmNEZWNsTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24m
IGxvY2F0aW9uLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgRnVuY3Rpb25Cb2R5Tm9kZSogYm9k
eSwgY29uc3QgU291cmNlQ29kZSYgc291cmNlLCBQYXJhbWV0ZXJOb2RlKiBwYXJhbWV0ZXIpCiAg
ICAgICAgIDogU3RhdGVtZW50Tm9kZShsb2NhdGlvbikKICAgICAgICAgLCBtX2JvZHkoYm9keSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAppbmRleCA2YjM3MzI5YzA5YmZjNDJiZWNj
YzNjYWE5ODM1OTdjMzU0MDJiNmM5Li41Yjc3NDFlMWNjYzhkNTE1ZmYxNGMxNTMxNzJkN2JkYTA1
M2Y1ODY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCkBAIC0xNTgsNiArMTU4
LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0RvdEFjY2Vzc29y
Tm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Rl
Y29uc3RydWN0aW9uTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1
YWwgYm9vbCBpc0Z1bmNFeHByTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdmlydHVhbCBib29sIGlzQXJy
b3dGdW5jRXhwck5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorI2VuZGlmCiAgICAgICAg
IHZpcnR1YWwgYm9vbCBpc0NvbW1hTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAg
ICAgIHZpcnR1YWwgYm9vbCBpc1NpbXBsZUFycmF5KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
ICAgICAgICAgdmlydHVhbCBib29sIGlzQWRkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KQEAg
LTE2NTIsNiArMTY1NSwxOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgRnVuY3Rpb25Cb2R5
Tm9kZSogbV9ib2R5OwogICAgIH07CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgIGNsYXNzIEFycm93RnVuY0V4cHJOb2RlIDogcHVibGljIEZ1bmNFeHByTm9kZSB7
CisgICAgcHVibGljOgorICAgICAgICBBcnJvd0Z1bmNFeHByTm9kZShjb25zdCBKU1Rva2VuTG9j
YXRpb24mLCBjb25zdCBJZGVudGlmaWVyJiwgRnVuY3Rpb25Cb2R5Tm9kZSosIGNvbnN0IFNvdXJj
ZUNvZGUmLCBQYXJhbWV0ZXJOb2RlKiA9IDApOworICAgIHByaXZhdGU6CisgICAgICAgIHZpcnR1
YWwgUmVnaXN0ZXJJRCogZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiwgUmVnaXN0ZXJJ
RCogPSAwKSBvdmVycmlkZTsKKyAgICAgICAgCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Z1bmNF
eHByTm9kZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgICAgIAorICAg
ICAgICB2aXJ0dWFsIGJvb2wgaXNBcnJvd0Z1bmNFeHByTm9kZSgpIGNvbnN0IG92ZXJyaWRlIHsg
cmV0dXJuIHRydWU7IH0KKyAgICB9OworI2VuZGlmCisKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZ
TlRBWCkKICAgICBjbGFzcyBDbGFzc0V4cHJOb2RlIGZpbmFsIDogcHVibGljIEV4cHJlc3Npb25O
b2RlIHsKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAK
aW5kZXggMzJkMjUwY2E3Y2M1M2Y0YmVhNjFmNjFiNmRhYmZlNjRiY2JjNjg0Ni4uZWI2MzRkMDEy
OGFiZWMxOGNlNGUzMGUyNmEyZmU4MGIzMjk5ODJlYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvUGFyc2VyLmNwcApAQCAtMjY0LDcgKzI2NCw3IEBAIFN0cmluZyBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VJbm5lcigpCiAgICAgaWYgKG1fbGV4ZXItPmlzUmVwYXJzaW5nKCkpCiAgICAg
ICAgIG1fc3RhdGVtZW50RGVwdGgtLTsKICAgICBTY29wZVJlZiBzY29wZSA9IGN1cnJlbnRTY29w
ZSgpOwotICAgIFNvdXJjZUVsZW1lbnRzKiBzb3VyY2VFbGVtZW50cyA9IHBhcnNlU291cmNlRWxl
bWVudHMoY29udGV4dCwgQ2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICBTb3VyY2VFbGVtZW50cyog
c291cmNlRWxlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIENoZWNrRm9yU3Ry
aWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CiAgICAgaWYgKCFzb3VyY2VFbGVt
ZW50cyB8fCAhY29uc3VtZShFT0ZUT0spKSB7CiAgICAgICAgIGlmIChoYXNFcnJvcigpKQogICAg
ICAgICAgICAgcGFyc2VFcnJvciA9IG1fZXJyb3JNZXNzYWdlOwpAQCAtMzMwLDcgKzMzMCw3IEBA
IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OmFsbG93QXV0b21hdGljU2VtaWNvbG9uKCkKIH0KIAog
dGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KLXRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsZW1l
bnRzKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBTb3VyY2VFbGVtZW50c01vZGUgbW9kZSkKK3RlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBTb3VyY2VFbGVt
ZW50c01vZGUgbW9kZSwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25QYXJzZVR5cGUpCiB7CiAg
ICAgY29uc3QgdW5zaWduZWQgbGVuZ3RoT2ZVc2VTdHJpY3RMaXRlcmFsID0gMTI7IC8vICJ1c2Ug
c3RyaWN0Ii5sZW5ndGgKICAgICBUcmVlU291cmNlRWxlbWVudHMgc291cmNlRWxlbWVudHMgPSBj
b250ZXh0LmNyZWF0ZVNvdXJjZUVsZW1lbnRzKCk7CkBAIC0zMzksNyArMzM5LDcgQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlU291cmNlRWwKICAgICB1bnNpZ25lZCBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0g
MDsKICAgICBhdXRvIHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwogICAgIGJvb2wgaGFz
U2V0U3RyaWN0ID0gZmFsc2U7Ci0gICAgd2hpbGUgKFRyZWVTdGF0ZW1lbnQgc3RhdGVtZW50ID0g
cGFyc2VTdGF0ZW1lbnQoY29udGV4dCwgZGlyZWN0aXZlLCAmZGlyZWN0aXZlTGl0ZXJhbExlbmd0
aCkpIHsKKyAgICB3aGlsZSAoVHJlZVN0YXRlbWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVu
dChjb250ZXh0LCBkaXJlY3RpdmUsICZkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoLCBmdW5jdGlvblBh
cnNlVHlwZSkpIHsKICAgICAgICAgaWYgKG1vZGUgPT0gQ2hlY2tGb3JTdHJpY3RNb2RlICYmICFz
ZWVuTm9uRGlyZWN0aXZlKSB7CiAgICAgICAgICAgICBpZiAoZGlyZWN0aXZlKSB7CiAgICAgICAg
ICAgICAgICAgLy8gInVzZSBzdHJpY3QiIG11c3QgYmUgdGhlIGV4YWN0IGxpdGVyYWwgd2l0aG91
dCBlc2NhcGUgc2VxdWVuY2VzIG9yIGxpbmUgY29udGludWF0aW9uLgpAQCAtNTcxLDYgKzU3MSwz
MSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVEZWNvbnN0cnVjdGlvblBhdHRl
cm4gUGFyc2VyPExleGVyVHlwZT46OmNyZWF0ZQogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUJp
bmRpbmdMb2NhdGlvbih0b2tlbi5tX2xvY2F0aW9uLCBuYW1lLCB0b2tlbi5tX3N0YXJ0UG9zaXRp
b24sIHRva2VuLm1fZW5kUG9zaXRpb24pOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJy
b3dGdW5jdGlvblN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBBU1NFUlQo
bWF0Y2goQVJST1dGVU5DVElPTikpOworCisgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRv
a2VuTG9jYXRpb24oKSk7CisgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9z
aXRpb24oKTsKKyAgICBKU1RleHRQb3NpdGlvbiBlbmQgPSB0b2tlbkVuZFBvc2l0aW9uKCk7CisK
KyAgICBuZXh0KCk7CisgICAgVHJlZUV4cHJlc3Npb24gZXhwciA9IHBhcnNlQXJyb3dGdW5jdGlv
bkV4cHJlc3Npb24oY29udGV4dCk7CisgICAgZmFpbElmRmFsc2UoZXhwciwgIkNhbm5vdCBwYXJz
ZSB0aGUgYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgIGVuZCA9IGxhc3RUb2tlbkVu
ZFBvc2l0aW9uKCk7CisKKyAgICBib29sIGNvcnJlY3RBcnJvd0ZpbmlzaCA9IGlzRW5kT2ZBcnJv
d0Z1bmN0aW9uKCkgfHwgbWF0Y2goRU9GVE9LKTsKKyAgICBmYWlsSWZGYWxzZShjb3JyZWN0QXJy
b3dGaW5pc2gsICJFeHBlY3RlZCBhICc7JywgJ10nLCAnfScsICcpJywgb3IgJywnIGZvbGxvd2lu
ZyBhIGFycm93IGZ1bmN0aW9uIHN0YXRlbWVudCIpOworCisgICAgZW5kID0gdG9rZW5FbmRQb3Np
dGlvbigpOworICAgIHNldEVuZE9mU3RhdGVtZW50KCk7CisKKyAgICByZXR1cm4gY29udGV4dC5j
cmVhdGVSZXR1cm5TdGF0ZW1lbnQobG9jYXRpb24sIGV4cHIsIHN0YXJ0LCBlbmQpOworfQorI2Vu
ZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gUGFyc2VyPExleGVyVHlwZT46OnRy
eVBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4
dCkKIHsKQEAgLTEwMTgsNyArMTA0Myw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZUNsYXVzZUxpc3QgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3dpdGNoQ2xhdXNlCiAgICAg
VHJlZUV4cHJlc3Npb24gY29uZGl0aW9uID0gcGFyc2VFeHByZXNzaW9uKGNvbnRleHQpOwogICAg
IGZhaWxJZkZhbHNlKGNvbmRpdGlvbiwgIkNhbm5vdCBwYXJzZSBzd2l0Y2ggY2xhdXNlIik7CiAg
ICAgY29uc3VtZU9yRmFpbChDT0xPTiwgIkV4cGVjdGVkIGEgJzonIGFmdGVyIHN3aXRjaCBjbGF1
c2UgZXhwcmVzc2lvbiIpOwotICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRzID0gcGFy
c2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICBU
cmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4
dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CiAg
ICAgZmFpbElmRmFsc2Uoc3RhdGVtZW50cywgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiBhIHN3
aXRjaCBjbGF1c2UiKTsKICAgICBUcmVlQ2xhdXNlIGNsYXVzZSA9IGNvbnRleHQuY3JlYXRlQ2xh
dXNlKGNvbmRpdGlvbiwgc3RhdGVtZW50cyk7CiAgICAgY29udGV4dC5zZXRTdGFydE9mZnNldChj
bGF1c2UsIHN0YXJ0T2Zmc2V0KTsKQEAgLTEwMzEsNyArMTA1Niw3IEBAIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZUNsYXVzZUxpc3QgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3dp
dGNoQ2xhdXNlCiAgICAgICAgIFRyZWVFeHByZXNzaW9uIGNvbmRpdGlvbiA9IHBhcnNlRXhwcmVz
c2lvbihjb250ZXh0KTsKICAgICAgICAgZmFpbElmRmFsc2UoY29uZGl0aW9uLCAiQ2Fubm90IHBh
cnNlIHN3aXRjaCBjYXNlIGV4cHJlc3Npb24iKTsKICAgICAgICAgY29uc3VtZU9yRmFpbChDT0xP
TiwgIkV4cGVjdGVkIGEgJzonIGFmdGVyIHN3aXRjaCBjbGF1c2UgZXhwcmVzc2lvbiIpOwotICAg
ICAgICBUcmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMo
Y29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSk7CisgICAgICAgIFRyZWVTb3VyY2VFbGVt
ZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tG
b3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICAgICAgZmFpbElm
RmFsc2Uoc3RhdGVtZW50cywgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiBhIHN3aXRjaCBjbGF1
c2UiKTsKICAgICAgICAgY2xhdXNlID0gY29udGV4dC5jcmVhdGVDbGF1c2UoY29uZGl0aW9uLCBz
dGF0ZW1lbnRzKTsKICAgICAgICAgY29udGV4dC5zZXRTdGFydE9mZnNldChjbGF1c2UsIHN0YXJ0
T2Zmc2V0KTsKQEAgLTEwNDgsNyArMTA3Myw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZUNsYXVzZSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTd2l0Y2hEZWZhdWx0Q2xhCiAg
ICAgdW5zaWduZWQgc3RhcnRPZmZzZXQgPSB0b2tlblN0YXJ0KCk7CiAgICAgbmV4dCgpOwogICAg
IGNvbnN1bWVPckZhaWwoQ09MT04sICJFeHBlY3RlZCBhICc6JyBhZnRlciBzd2l0Y2ggZGVmYXVs
dCBjbGF1c2UiKTsKLSAgICBUcmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291
cmNlRWxlbWVudHMoY29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSk7CisgICAgVHJlZVNv
dXJjZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERv
bnRDaGVja0ZvclN0cmljdE1vZGUsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwogICAgIGZh
aWxJZkZhbHNlKHN0YXRlbWVudHMsICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgYSBzd2l0Y2gg
ZGVmYXVsdCBjbGF1c2UiKTsKICAgICBUcmVlQ2xhdXNlIHJlc3VsdCA9IGNvbnRleHQuY3JlYXRl
Q2xhdXNlKDAsIHN0YXRlbWVudHMpOwogICAgIGNvbnRleHQuc2V0U3RhcnRPZmZzZXQocmVzdWx0
LCBzdGFydE9mZnNldCk7CkBAIC0xMTMzLDcgKzExNTgsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQmxvY2tTdGF0
ZW1lbgogICAgICAgICBjb250ZXh0LnNldEVuZE9mZnNldChyZXN1bHQsIGVuZE9mZnNldCk7CiAg
ICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdWJ0
cmVlID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2Rl
KTsKKyAgICBUcmVlU291cmNlRWxlbWVudHMgc3VidHJlZSA9IHBhcnNlU291cmNlRWxlbWVudHMo
Y29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlw
ZSk7CiAgICAgZmFpbElmRmFsc2Uoc3VidHJlZSwgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiB0
aGUgYmxvY2sgc3RhdGVtZW50Iik7CiAgICAgbWF0Y2hPckZhaWwoQ0xPU0VCUkFDRSwgIkV4cGVj
dGVkIGEgY2xvc2luZyAnfScgYXQgdGhlIGVuZCBvZiBhIGJsb2NrIHN0YXRlbWVudCIpOwogICAg
IGludCBlbmRPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CkBAIC0xMTQ1LDcgKzExNzAs
NyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlQmxvY2tTdGF0ZW1lbgogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4
ZXJUeXBlPgotdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3Qg
SWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgp
Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlm
aWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCwgRnVuY3Rp
b25QYXJzZVR5cGUgdHlwZSkKIHsKICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1f
c3RhdGVtZW50RGVwdGgpOwogICAgIG1fc3RhdGVtZW50RGVwdGgrKzsKQEAgLTExNTQsNiArMTE3
OSwyMyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAgIGZhaWxJZlN0YWNrT3ZlcmZsb3co
KTsKICAgICBUcmVlU3RhdGVtZW50IHJlc3VsdCA9IDA7CiAgICAgYm9vbCBzaG91bGRTZXRFbmRP
ZmZzZXQgPSB0cnVlOworCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICBpZiAodHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIHN3aXRjaCAo
bV90b2tlbi5tX3R5cGUpIHsKKyAgICAgICAgY2FzZSBDTE9TRVBBUkVOOgorICAgICAgICBjYXNl
IENMT1NFQlJBQ0tFVDoKKyAgICAgICAgY2FzZSBDT01NQToKKyAgICAgICAgY2FzZSBTRU1JQ09M
T046IHsKKyAgICAgICAgICAgIHJlc3VsdCA9IDA7CisgICAgICAgICAgICBjb250ZXh0LnNldEVu
ZE9mZnNldChyZXN1bHQsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ub2Zmc2V0KTsKKyAgICAgICAg
ICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgIH0KKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorI2VuZGlmCiAgICAgc3dpdGNoIChtX3Rva2Vu
Lm1fdHlwZSkgewogICAgIGNhc2UgT1BFTkJSQUNFOgogICAgICAgICByZXN1bHQgPSBwYXJzZUJs
b2NrU3RhdGVtZW50KGNvbnRleHQpOwpAQCAtMTE5OSw2ICsxMjQxLDExIEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VT
dGF0ZW1lbnQoVHJlCiAgICAgY2FzZSBCUkVBSzoKICAgICAgICAgcmVzdWx0ID0gcGFyc2VCcmVh
a1N0YXRlbWVudChjb250ZXh0KTsKICAgICAgICAgYnJlYWs7CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIEFSUk9XRlVOQ1RJT046CisgICAgICAgIHJlc3Vs
dCA9IHBhcnNlQXJyb3dGdW5jdGlvblN0YXRlbWVudChjb250ZXh0KTsKKyAgICAgICAgYnJlYWs7
CisjZW5kaWYKICAgICBjYXNlIFJFVFVSTjoKICAgICAgICAgcmVzdWx0ID0gcGFyc2VSZXR1cm5T
dGF0ZW1lbnQoY29udGV4dCk7CiAgICAgICAgIGJyZWFrOwpAQCAtMTI2MywyMCArMTMxMCwzNCBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0IFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUZvcgogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4K
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUZ1bmN0aW9uQm9keSBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkJvZHkoCiAgICAgVHJlZUJ1aWxkZXImIGNvbnRleHQsIGlu
dCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCAKLSAgICBpbnQg
cGFyYW1ldGVyc1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kKQorICAgIGlu
dCBwYXJhbWV0ZXJzU3RhcnQsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQsIEZ1bmN0
aW9uUGFyc2VUeXBlIHBhcnNlVHlwZSkKIHsKICAgICBKU1Rva2VuTG9jYXRpb24gc3RhcnRMb2Nh
dGlvbih0b2tlbkxvY2F0aW9uKCkpOwogICAgIHVuc2lnbmVkIHN0YXJ0Q29sdW1uID0gdG9rZW5D
b2x1bW4oKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlmIChw
YXJzZVR5cGUgPT0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICBuZXh0KCk7
CisgICAgICAgIGlmIChtYXRjaChDTE9TRUJSQUNFKSkgeworICAgICAgICAgICAgdW5zaWduZWQg
ZW5kQ29sdW1uID0gdG9rZW5Db2x1bW4oKTsKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0LmNy
ZWF0ZUZ1bmN0aW9uQm9keShzdGFydExvY2F0aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0YXJ0Q29s
dW1uLCBlbmRDb2x1bW4sIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwg
cGFyYW1ldGVyc1N0YXJ0LCBzdHJpY3RNb2RlKCksIGNvbnN0cnVjdG9yS2luZCk7CisgICAgICAg
IH0KKyAgICB9CisjZWxzZQogICAgIG5leHQoKTsKLQogICAgIGlmIChtYXRjaChDTE9TRUJSQUNF
KSkgewogICAgICAgICB1bnNpZ25lZCBlbmRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOwogICAgICAg
ICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgdG9rZW5M
b2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBmdW5jdGlvbktleXdvcmRTdGFydCwg
ZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgc3RyaWN0TW9kZSgpLCBjb25zdHJ1
Y3RvcktpbmQpOwogICAgIH0KKyNlbmRpZgorCiAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERl
cHRoKCZtX3N0YXRlbWVudERlcHRoKTsKICAgICBtX3N0YXRlbWVudERlcHRoID0gMDsKICAgICB0
eXBlbmFtZSBUcmVlQnVpbGRlcjo6RnVuY3Rpb25Cb2R5QnVpbGRlciBib2R5QnVpbGRlcihjb25z
dF9jYXN0PFZNKj4obV92bSksIG1fbGV4ZXIuZ2V0KCkpOwotICAgIGZhaWxJZkZhbHNlKHBhcnNl
U291cmNlRWxlbWVudHMoYm9keUJ1aWxkZXIsIENoZWNrRm9yU3RyaWN0TW9kZSksICJDYW5ub3Qg
cGFyc2UgYm9keSBvZiB0aGlzIGZ1bmN0aW9uIik7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICBmYWlsSWZGYWxzZShwYXJzZVNvdXJjZUVsZW1lbnRzKGJvZHlCdWls
ZGVyLCBDaGVja0ZvclN0cmljdE1vZGUsIHBhcnNlVHlwZSksIHBhcnNlVHlwZSA9PSBTdGFuZGFy
ZEZ1bmN0aW9uUGFyc2VUeXBlID8gIkNhbm5vdCBwYXJzZSBib2R5IG9mIHRoaXMgZnVuY3Rpb24i
IDogIkNhbm5vdCBwYXJzZSBib2R5IG9mIHRoaXMgYXJyb3cgZnVuY3Rpb24iKTsKKyNlbHNlCisg
ICAgZmFpbElmRmFsc2UocGFyc2VTb3VyY2VFbGVtZW50cyhib2R5QnVpbGRlciwgQ2hlY2tGb3JT
dHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSwgIkNhbm5vdCBwYXJzZSBib2R5
IG9mIHRoaXMgZnVuY3Rpb24iKTsKKyNlbmRpZgogICAgIHVuc2lnbmVkIGVuZENvbHVtbiA9IHRv
a2VuQ29sdW1uKCk7CiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0YXJ0
TG9jYXRpb24sIHRva2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgZnVuY3Rp
b25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0cmlj
dE1vZGUoKSwgY29uc3RydWN0b3JLaW5kKTsKIH0KQEAgLTEyOTcsMTUgKzEzNTgsOCBAQCBzdGF0
aWMgY29uc3QgY2hhciogc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKEZ1bmN0aW9uUGFyc2VNb2RlIG1v
ZGUpCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5
cGU+Ci10ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblJlcXVpcmVt
ZW50cyByZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUsCi0gICAgYm9vbCBuYW1l
SXNJbkNvbnRhaW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kIG93bmVyQ2xhc3NLaW5kLCBpbnQg
ZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mIGlu
Zm8pCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IGludCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvblBhcmFtdGVycyhUcmVl
QnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMgcmVxdWlyZW1lbnRzLCBGdW5j
dGlvblBhcnNlTW9kZSBtb2RlLCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBBdXRvUG9w
U2NvcGVSZWYmIGZ1bmN0aW9uU2NvcGUsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4m
IGluZm8pCiB7Ci0gICAgQXV0b1BvcFNjb3BlUmVmIGZ1bmN0aW9uU2NvcGUodGhpcywgcHVzaFNj
b3BlKCkpOwotICAgIGZ1bmN0aW9uU2NvcGUtPnNldElzRnVuY3Rpb24oKTsKLSAgICBpbnQgZnVu
Y3Rpb25OYW1lU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7Ci0gICAgY29u
c3QgSWRlbnRpZmllciogbGFzdEZ1bmN0aW9uTmFtZSA9IG1fbGFzdEZ1bmN0aW9uTmFtZTsKLSAg
ICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBudWxscHRyOwogICAgIGlmIChtYXRjaChJREVOVCkpIHsK
ICAgICAgICAgaW5mby5uYW1lID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgIG1fbGFz
dEZ1bmN0aW9uTmFtZSA9IGluZm8ubmFtZTsKQEAgLTEzMjQsNyArMTM3OCw3IEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlv
bkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJp
bmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSIpOwogICAgICAgICBmYWlsV2l0aE1lc3Nh
Z2UoIkV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhICIsIHN0cmluZ0ZvckZ1bmN0aW9u
TW9kZShtb2RlKSwgIidzIHBhcmFtZXRlciBsaXN0Iik7CiAgICAgfQotCisgICAgCiAgICAgaWYg
KG1vZGUgPT0gR2V0dGVyTW9kZSkKICAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBBUkVOLCAi
Z2V0dGVyIGZ1bmN0aW9ucyBtdXN0IGhhdmUgbm8gcGFyYW1ldGVycyIpOwogICAgIGVsc2UgaWYg
KG1vZGUgPT0gU2V0dGVyTW9kZSkgewpAQCAtMTM0MSwxNiArMTM5NSw3NyBAQCB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25J
bmZvKFRyZWVCdWlsZAogICAgICAgICB9CiAgICAgICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJF
TiwgIkV4cGVjdGVkIGEgJyknIG9yIGEgJywnIGFmdGVyIGEgcGFyYW1ldGVyIGRlY2xhcmF0aW9u
Iik7CiAgICAgfQorICAgIAorICAgIHJldHVybiBwYXJhbWV0ZXJzU3RhcnQ7Cit9CiAKLSAgICBt
YXRjaE9yRmFpbChPUEVOQlJBQ0UsICJFeHBlY3RlZCBhbiBvcGVuaW5nICd7JyBhdCB0aGUgc3Rh
cnQgb2YgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOworI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJU
eXBlPiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGludCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VBcnJvd0Z1bmN0aW9uUGFyYW10ZXJzKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlv
blBhcnNlTW9kZSBtb2RlLCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvKQor
eworICAgIGludCBwYXJhbWV0ZXJzU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZz
ZXQ7CisgICAgaWYgKCFtYXRjaChJREVOVCkgJiYgIW1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAg
ICAgc2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2Rl
KSwgIiBuYW1lIik7CisgICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgYW4gYXJyb3cg
ZnVuY3Rpb24gaW5wdXQgcGFyYW1ldGVyIik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKG1h
dGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgICAgIGNvbnN1bWUoT1BFTlBBUkVOKTsKKyAgICAg
ICAgICAgIAorICAgICAgICAgICAgaWYgKCFtYXRjaChDTE9TRVBBUkVOKSkgeworICAgICAgICAg
ICAgICAgIGluZm8ucGFyYW1ldGVycyA9IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhjb250ZXh0KTsK
KyAgICAgICAgICAgICAgICBmYWlsSWZGYWxzZShpbmZvLnBhcmFtZXRlcnMsICJDYW5ub3QgcGFy
c2UgcGFyYW1ldGVycyBmb3IgdGhpcyAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOwor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICBjb25zdW1lT3JGYWlsKENM
T1NFUEFSRU4sICJFeHBlY3RlZCBhICcpJyBvciBhICcsJyBhZnRlciBhIHBhcmFtZXRlciBkZWNs
YXJhdGlvbiIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgYXV0byBwYXJhbWV0ZXIg
PSBwYXJzZURlY29uc3RydWN0aW9uUGF0dGVybihjb250ZXh0LCBEZWNvbnN0cnVjdFRvUGFyYW1l
dGVycyk7CisgICAgICAgICAgICBmYWlsSWZGYWxzZShwYXJhbWV0ZXIsICJDYW5ub3QgcGFyc2Ug
cGFyYW1ldGVyIHBhdHRlcm4iKTsKKyAgICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9IGNvbnRl
eHQuY3JlYXRlRm9ybWFsUGFyYW1ldGVyTGlzdChwYXJhbWV0ZXIpOworICAgICAgICAgICAgZmFp
bElmRmFsc2UoaW5mby5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRo
aXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAgICAgfQorICAgIH0KKyAg
ICAKKyAgICByZXR1cm4gcGFyYW1ldGVyc1N0YXJ0OworfQorI2VuZGlmCiAKLSAgICAvLyBCeXRl
Y29kZUdlbmVyYXRvciBlbWl0cyBjb2RlIHRvIHRocm93IFR5cGVFcnJvciB3aGVuIGEgY2xhc3Mg
Y29uc3RydWN0b3IgaXMgImNhbGwiZWQuCi0gICAgLy8gU2V0IENvbnN0cnVjdG9yS2luZCB0byBO
b25lIGZvciBub24tY29uc3RydWN0b3IgbWV0aG9kcyBvZiBjbGFzc2VzLgotICAgIGJvb2wgaXND
bGFzc0NvbnN0cnVjdG9yID0gbW9kZSA9PSBNZXRob2RNb2RlICYmIGluZm8ubmFtZSAmJiAqaW5m
by5uYW1lID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yOwotICAgIGlmIChtX2Rl
ZmF1bHRDb25zdHJ1Y3RvcktpbmQgIT0gQ29uc3RydWN0b3JLaW5kOjpOb25lKSB7Ci0gICAgICAg
IG93bmVyQ2xhc3NLaW5kID0gbV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kOwotICAgICAgICBpc0Ns
YXNzQ29uc3RydWN0b3IgPSB0cnVlOwordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3Rl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VG
dW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImIGNvbnRleHQsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzIHJl
cXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUgbW9kZSwKKyAgICBib29sIG5hbWVJc0luQ29u
dGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQgb3duZXJDbGFzc0tpbmQsIGludCBmdW5jdGlv
bktleXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYgaW5mbywgRnVu
Y3Rpb25QYXJzZVR5cGUgcGFyc2VUeXBlKQoreworICAgIEF1dG9Qb3BTY29wZVJlZiBmdW5jdGlv
blNjb3BlKHRoaXMsIHB1c2hTY29wZSgpKTsKKyAgICBmdW5jdGlvblNjb3BlLT5zZXRJc0Z1bmN0
aW9uKCk7CisgICAgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0
YXJ0T2Zmc2V0OworICAgIGNvbnN0IElkZW50aWZpZXIqIGxhc3RGdW5jdGlvbk5hbWUgPSBtX2xh
c3RGdW5jdGlvbk5hbWU7CisgICAgbV9sYXN0RnVuY3Rpb25OYW1lID0gbnVsbHB0cjsKKyAgICBp
bnQgcGFyYW1ldGVyc1N0YXJ0OworICAgIGJvb2wgaXNDbGFzc0NvbnN0cnVjdG9yOworICAgIAor
ICAgIHN3aXRjaCAocGFyc2VUeXBlKSB7CisgICAgY2FzZSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VU
eXBlOiB7CisgICAgICAgIHBhcmFtZXRlcnNTdGFydCA9IHBhcnNlRnVuY3Rpb25QYXJhbXRlcnMo
Y29udGV4dCwgcmVxdWlyZW1lbnRzLCBtb2RlLCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgZnVu
Y3Rpb25TY29wZSwgaW5mbyk7CisgICAgICAgICAgICAKKyAgICAgICAgbWF0Y2hPckZhaWwoT1BF
TkJSQUNFLCAiRXhwZWN0ZWQgYW4gb3BlbmluZyAneycgYXQgdGhlIHN0YXJ0IG9mIGEgIiwgc3Ry
aW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgCisgICAgICAgIC8v
IEJ5dGVjb2RlR2VuZXJhdG9yIGVtaXRzIGNvZGUgdG8gdGhyb3cgVHlwZUVycm9yIHdoZW4gYSBj
bGFzcyBjb25zdHJ1Y3RvciBpcyAiY2FsbCJlZC4KKyAgICAgICAgLy8gU2V0IENvbnN0cnVjdG9y
S2luZCB0byBOb25lIGZvciBub24tY29uc3RydWN0b3IgbWV0aG9kcyBvZiBjbGFzc2VzLgorICAg
ICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSBtb2RlID09IE1ldGhvZE1vZGUgJiYgaW5mby5uYW1l
ICYmICppbmZvLm5hbWUgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3I7CisgICAg
ICAgIGlmIChtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQgIT0gQ29uc3RydWN0b3JLaW5kOjpOb25l
KSB7CisgICAgICAgICAgICBvd25lckNsYXNzS2luZCA9IG1fZGVmYXVsdENvbnN0cnVjdG9yS2lu
ZDsKKyAgICAgICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IHRydWU7CisgICAgICAgIH0KKyAg
ICAgICAgYnJlYWs7CiAgICAgfQorICAgIGNhc2UgQXJyb3dGdW5jdGlvblBhcnNlVHlwZTogewor
ICAgICAgICBwYXJhbWV0ZXJzU3RhcnQgPSBwYXJzZUFycm93RnVuY3Rpb25QYXJhbXRlcnMoY29u
dGV4dCwgbW9kZSwgaW5mbyk7CisgICAgICAgIAorICAgICAgICBtYXRjaE9yRmFpbChBUlJPV0ZV
TkNUSU9OLCAiRXhwZWN0ZWQgYSAnPT4nIGFmdGVyIGFycm93IGZ1bmN0aW9uIHBhcmFtZXRlciBk
ZWNsYXJhdGlvbiIpOworICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSBmYWxzZTsKKyAgICAg
ICAgCisgICAgICAgIGluZm8uYXJyb3dGdW5jdGlvbk9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9m
ZnNldDsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIH0KKwogICAgIENvbnN0cnVjdG9yS2lu
ZCBjb25zdHJ1Y3RvcktpbmQgPSBpc0NsYXNzQ29uc3RydWN0b3IgPyBvd25lckNsYXNzS2luZCA6
IENvbnN0cnVjdG9yS2luZDo6Tm9uZTsKIAogICAgIGluZm8ub3BlbkJyYWNlT2Zmc2V0ID0gbV90
b2tlbi5tX2RhdGEub2Zmc2V0OwpAQCAtMTM4NCw4ICsxNDk5LDE1IEBAIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8o
VHJlZUJ1aWxkCiAgICAgICAgIGZhaWxJZkZhbHNlKHBvcFNjb3BlKGZ1bmN0aW9uU2NvcGUsIFRy
ZWVCdWlsZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUluZm8pLCAiUGFyc2VyIGVycm9yIik7CiAgICAg
ICAgIAogICAgICAgICBpbmZvLmNsb3NlQnJhY2VPZmZzZXQgPSBjYWNoZWRJbmZvLT5jbG9zZUJy
YWNlT2Zmc2V0OwotCi0gICAgICAgIG1fdG9rZW4gPSBjYWNoZWRJbmZvLT5jbG9zZUJyYWNlVG9r
ZW4oKTsKKyAgICAgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICAgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKQorICAgICAgICAg
ICAgaW5mby5mdW5jdGlvbkJvZHlUeXBlID0gY2FjaGVkSW5mby0+aXNCb2R5QXJyb3dFeHByZXNz
aW9uID8gIEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiA6IEFycm93RnVuY3Rpb25Cb2R5Qmxv
Y2s7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9IFN0
YW5kYXJkRnVuY3Rpb25Cb2R5QmxvY2s7CisjZW5kaWYKKyAgICAgICAgbV90b2tlbiA9IGNhY2hl
ZEluZm8tPmVuZEZ1bmN0aW9uVG9rZW4oKTsKKyAgICAgICAgCiAgICAgICAgIGlmIChlbmRDb2x1
bW5Jc09uU3RhcnRMaW5lKQogICAgICAgICAgICAgbV90b2tlbi5tX2xvY2F0aW9uLmxpbmVTdGFy
dE9mZnNldCA9IGN1cnJlbnRMaW5lU3RhcnRPZmZzZXQ7CiAKQEAgLTEzOTQsMTMgKzE1MTYsNDMg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKIAogICAgICAgICBjb250ZXh0LnNldEVuZE9mZnNl
dChpbmZvLmJvZHksIG1fbGV4ZXItPmN1cnJlbnRPZmZzZXQoKSk7CiAgICAgICAgIAorI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChwYXJzZVR5cGUgIT0g
QXJyb3dGdW5jdGlvblBhcnNlVHlwZSB8fCBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dG
dW5jdGlvbkJvZHlCbG9jaykKKyAgICAgICAgICAgIG5leHQoKTsKKyNlbHNlCiAgICAgICAgIG5l
eHQoKTsKKyNlbmRpZgogICAgICAgICBpbmZvLmJvZHlFbmRMaW5lID0gbV9sYXN0VG9rZW5FbmRQ
b3NpdGlvbi5saW5lOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CisgICAgCiAgICAgbV9s
YXN0RnVuY3Rpb25OYW1lID0gbGFzdEZ1bmN0aW9uTmFtZTsKICAgICBQYXJzZXJTdGF0ZSBvbGRT
dGF0ZSA9IHNhdmVTdGF0ZSgpOwotICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNv
bnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVy
c1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQpOworICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBl
KSB7CisgICAgICAgIFNhdmVQb2ludCBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAg
ICAgICAgbmV4dCgpOworICAgICAgICAvLyBDaGVjayBpZiBhcnJvdyBib2R5IHN0YXJ0IHdpdGgg
ey4gSWYgaXQgdHJ1ZSBpdCBtZWFuIHRoYXQgYXJyb3cgZnVuY3Rpb24gaXMgRmF0IGFycm93IGZ1
bmN0aW9uCisgICAgICAgIC8vIGFuZCB3ZSBuZWVkIHVzZSBjb21tb24gYXBwcm9hY2ggdG8gcGFy
c2UgZnVuY3Rpb24gYm9keQorICAgICAgICBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPSBtYXRjaChP
UEVOQlJBQ0UpID8gQXJyb3dGdW5jdGlvbkJvZHlCbG9jayA6IEFycm93RnVuY3Rpb25Cb2R5RXhw
cmVzc2lvbjsKKyAgICAKKyAgICAgICAgaWYgKGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJv
d0Z1bmN0aW9uQm9keUJsb2NrKSB7CisgICAgICAgICAgICBpbmZvLm9wZW5CcmFjZU9mZnNldCA9
IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKKyAgICAgICAgICAgIGluZm8uYm9keVN0YXJ0TGluZSA9
IHRva2VuTGluZSgpOworICAgICAgICAgICAgaW5mby5ib2R5U3RhcnRDb2x1bW4gPSBtX3Rva2Vu
Lm1fZGF0YS5vZmZzZXQgLSBtX3Rva2VuLm1fZGF0YS5saW5lU3RhcnRPZmZzZXQ7CisgICAgICAg
IAorICAgICAgICAgICAgaW5mby5ib2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVu
Y3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNv
bnN0cnVjdG9yS2luZCwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CisgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CisgICAgICAgICAg
ICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRT
dGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5k
LCBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKTsKKyAgICAgICAgfQorICAgIH0gZWxzZQorICAgICAg
ICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRT
dGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5k
LCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNlbHNlCisgICAgaW5mby5ib2R5ID0gcGFy
c2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFt
ZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCwgU3RhbmRhcmRGdW5jdGlv
blBhcnNlVHlwZSk7CisjZW5kaWYKKyAgICAKICAgICByZXN0b3JlU3RhdGUob2xkU3RhdGUpOwog
ICAgIGZhaWxJZkZhbHNlKGluZm8uYm9keSwgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiB0aGlz
ICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7CiAgICAgY29udGV4dC5zZXRFbmRPZmZz
ZXQoaW5mby5ib2R5LCBtX2xleGVyLT5jdXJyZW50T2Zmc2V0KCkpOwpAQCAtMTQzMSwxOCArMTU4
MywzMyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICBwYXJhbWV0ZXJzLmNsb3Nl
QnJhY2VMaW5lID0gY2xvc2VCcmFjZUxpbmU7CiAgICAgICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFj
ZU9mZnNldCA9IGluZm8uY2xvc2VCcmFjZU9mZnNldDsKICAgICAgICAgcGFyYW1ldGVycy5jbG9z
ZUJyYWNlTGluZVN0YXJ0T2Zmc2V0ID0gY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldDsKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAocGFyc2VUeXBlID09
IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgICAgIHBhcmFtZXRlcnMuaXNCb2R5
QXJyb3dFeHByZXNzaW9uID0gaW5mby5mdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25C
b2R5RXhwcmVzc2lvbjsKKyAgICAgICAgICAgIHBhcmFtZXRlcnMudG9rZW5UeXBlID0gbV90b2tl
bi5tX3R5cGU7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBmdW5jdGlvblNjb3BlLT5maWxs
UGFyYW1ldGVyc0ZvclNvdXJjZVByb3ZpZGVyQ2FjaGUocGFyYW1ldGVycyk7CiAgICAgICAgIG5l
d0luZm8gPSBTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6Y3JlYXRlKHBhcmFtZXRlcnMpOwogCiAg
ICAgfQogICAgIAogICAgIGZhaWxJZkZhbHNlKHBvcFNjb3BlKGZ1bmN0aW9uU2NvcGUsIFRyZWVC
dWlsZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUluZm8pLCAiUGFyc2VyIGVycm9yIik7CisgICAgCisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAoKHBhcnNlVHlwZSA9
PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlICYmIGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJv
d0Z1bmN0aW9uQm9keUJsb2NrKSB8fCBwYXJzZVR5cGUgIT0gQXJyb3dGdW5jdGlvblBhcnNlVHlw
ZSkgeworICAgICAgICBtYXRjaE9yRmFpbChDTE9TRUJSQUNFLCAiRXhwZWN0ZWQgYSBjbG9zaW5n
ICd9JyBhZnRlciBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7Cisg
ICAgICAgIG5leHQoKTsKKyAgICB9IGVsc2UKKyAgICAgICAgZmFpbElmRmFsc2UoaXNFbmRPZkFy
cm93RnVuY3Rpb24oKSwgIkV4cGVjdGVkIHRoZSBjbG9zaW5nICc7JyAnLCcgJ10nICcpJyAnfScg
YWZ0ZXIgYXJyb3cgZnVuY3Rpb24iKTsKKyNlbHNlCiAgICAgbWF0Y2hPckZhaWwoQ0xPU0VCUkFD
RSwgIkV4cGVjdGVkIGEgY2xvc2luZyAnfScgYWZ0ZXIgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1v
ZGUobW9kZSksICIgYm9keSIpOworICAgIG5leHQoKTsKKyNlbmRpZgogICAgIAogICAgIGlmIChu
ZXdJbmZvKQogICAgICAgICBtX2Z1bmN0aW9uQ2FjaGUtPmFkZChpbmZvLm9wZW5CcmFjZU9mZnNl
dCwgV1RGOjptb3ZlKG5ld0luZm8pKTsKICAgICAKLSAgICBuZXh0KCk7CiAgICAgaW5mby5ib2R5
RW5kTGluZSA9IG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZTsKICAgICByZXR1cm4gdHJ1ZTsK
IH0KQEAgLTE0NTUsNyArMTYyMiw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkRlY2xhCiAgICAgdW5z
aWduZWQgZnVuY3Rpb25LZXl3b3JkU3RhcnQgPSB0b2tlblN0YXJ0KCk7CiAgICAgbmV4dCgpOwog
ICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gaW5mbzsKLSAgICBmYWlsSWZGYWxz
ZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OZWVkc05hbWUsIEZ1bmN0aW9u
TW9kZSwgdHJ1ZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBmdW5jdGlvbktleXdvcmRTdGFydCwg
aW5mbykpLCAiQ2Fubm90IHBhcnNlIHRoaXMgZnVuY3Rpb24iKTsKKyAgICBmYWlsSWZGYWxzZSgo
cGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OZWVkc05hbWUsIEZ1bmN0aW9uTW9k
ZSwgdHJ1ZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW5m
bywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIHRoaXMgZnVuY3Rp
b24iKTsKICAgICBmYWlsSWZGYWxzZShpbmZvLm5hbWUsICJGdW5jdGlvbiBzdGF0ZW1lbnRzIG11
c3QgaGF2ZSBhIG5hbWUiKTsKICAgICBmYWlsSWZGYWxzZUlmU3RyaWN0KGRlY2xhcmVWYXJpYWJs
ZShpbmZvLm5hbWUpLCAiQ2Fubm90IGRlY2xhcmUgYSBmdW5jdGlvbiBuYW1lZCAnIiwgaW5mby5u
YW1lLT5pbXBsKCksICInIGluIHN0cmljdCBtb2RlIik7CiAgICAgcmV0dXJuIGNvbnRleHQuY3Jl
YXRlRnVuY0RlY2xTdGF0ZW1lbnQobG9jYXRpb24sIGluZm8pOwpAQCAtMTU1MCw3ICsxNzE3LDcg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhc3NFeHByZXNzaW9uIFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUNsYXNzKFQKICAgICAgICAgICAgIGZhaWxJZkZhbHNlKHByb3Bl
cnR5LCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9kIik7CiAgICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IG1ldGhvZEluZm87Ci0gICAg
ICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25O
ZWVkc05hbWUsIGlzU3RhdGljTWV0aG9kID8gRnVuY3Rpb25Nb2RlIDogTWV0aG9kTW9kZSwgZmFs
c2UsIGNvbnN0cnVjdG9yS2luZCwgbWV0aG9kU3RhcnQsIG1ldGhvZEluZm8pKSwgIkNhbm5vdCBw
YXJzZSB0aGlzIG1ldGhvZCIpOworICAgICAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rp
b25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTmVlZHNOYW1lLCBpc1N0YXRpY01ldGhvZCA/IEZ1bmN0
aW9uTW9kZSA6IE1ldGhvZE1vZGUsIGZhbHNlLCBjb25zdHJ1Y3RvcktpbmQsIG1ldGhvZFN0YXJ0
LCBtZXRob2RJbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2Ug
dGhpcyBtZXRob2QiKTsKICAgICAgICAgICAgIGZhaWxJZkZhbHNlKG1ldGhvZEluZm8ubmFtZSwg
Im1ldGhvZCBtdXN0IGhhdmUgYSBuYW1lIik7CiAgICAgICAgICAgICBmYWlsSWZGYWxzZShkZWNs
YXJlVmFyaWFibGUobWV0aG9kSW5mby5uYW1lKSwgIkNhbm5vdCBkZWNsYXJlIGEgbWV0aG9kIG5h
bWVkICciLCBtZXRob2RJbmZvLm5hbWUtPmltcGwoKSwgIiciKTsKIApAQCAtMTc2Niw2ICsxOTMz
LDE4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VJZlN0YXRlbWVudChUCiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRl
SWZTdGF0ZW1lbnQoaWZMb2NhdGlvbiwgY29uZGl0aW9uLCB0cnVlQmxvY2ssIHN0YXRlbWVudFN0
YWNrLmxhc3QoKSwgc3RhcnQsIGVuZCk7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJy
b3dGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAgZmFpbElm
U3RhY2tPdmVyZmxvdygpOworICAgIFRyZWVFeHByZXNzaW9uIG5vZGUgPSBwYXJzZUFzc2lnbm1l
bnRFeHByZXNzaW9uKGNvbnRleHQpOworICAgIGZhaWxJZkZhbHNlKG5vZGUsICJDYW5ub3QgcGFy
c2UgZXhwcmVzc2lvbiIpOworICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KG5vZGUsIG1fbGFzdFRv
a2VuRW5kUG9zaXRpb24ub2Zmc2V0KTsKKyAgICByZXR1cm4gbm9kZTsKK30KKyNlbmRpZgorCiB0
ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHByZXNzaW9uKFRyZWVC
dWlsZGVyJiBjb250ZXh0KQogewpAQCAtMTgxMyw2ICsxOTkyLDQxIEBAIHRlbXBsYXRlIDx0eXBl
bmFtZSBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
QXNzaWdubWVuCiAgICAgICAgIH0KICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlUG9pbnQp
OwogICAgIH0KKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgU2F2
ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICBi
b29sIGFycm93RnVuY3Rpb25FbXB0eUxpc3QgPSBmYWxzZTsKKyAgICBpZiAobWF0Y2goT1BFTlBB
UkVOKSkgeworICAgICAgICBuZXh0KCk7CisgICAgICAgIGlmIChtYXRjaChDTE9TRVBBUkVOKSkg
eworICAgICAgICAgICAgbmV4dCgpOworCisgICAgICAgICAgICBpZiAobWF0Y2goQVJST1dGVU5D
VElPTikpCisgICAgICAgICAgICAgICAgYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCA9IHRydWU7Cisg
ICAgICAgIH0KKworICAgICAgICBpZiAoIWFycm93RnVuY3Rpb25FbXB0eUxpc3QpCisgICAgICAg
ICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgIH0KKwor
ICAgIFRyZWVFeHByZXNzaW9uIGxoczsKKyAgICBpZiAoIWFycm93RnVuY3Rpb25FbXB0eUxpc3Qp
IHsKKyAgICAgICAgbGhzID0gcGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24oY29udGV4dCk7Cisg
ICAgICAgIGZhaWxJZkZhbHNlKGxocywgIkNhbhlub3QgcGFyc2UgZXhwcmVzc2lvbiIpOworICAg
ICAgICBpZiAoaW5pdGlhbE5vbkxIU0NvdW50ICE9IG1fbm9uTEhTQ291bnQpIHsKKyAgICAgICAg
ICAgIGlmIChtX3Rva2VuLm1fdHlwZSA+PSBFUVVBTCAmJiBtX3Rva2VuLm1fdHlwZSA8PSBPUkVR
VUFMKQorICAgICAgICAgICAgICAgIHNlbWFudGljRmFpbCgiTGVmdCBoYW5kIHNpZGUgb2Ygb3Bl
cmF0b3IgJyIsIGdldFRva2VuKCksICInIG11c3QgYmUgYSByZWZlcmVuY2UiKTsKKworICAgICAg
ICAgICAgcmV0dXJuIGxoczsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmIChtYXRjaChBUlJP
V0ZVTkNUSU9OKSkgeworICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9u
UG9pbnQpOworICAgICAgICBsaHMgPSBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKGNvbnRleHQp
OworICAgICAgICByZXR1cm4gbGhzOworICAgIH0KKyNlbHNlCiAgICAgVHJlZUV4cHJlc3Npb24g
bGhzID0gcGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24oY29udGV4dCk7CiAgICAgZmFpbElmRmFs
c2UobGhzLCAiQ2Fubm90IHBhcnNlIGV4cHJlc3Npb24iKTsKICAgICBpZiAoaW5pdGlhbE5vbkxI
U0NvdW50ICE9IG1fbm9uTEhTQ291bnQpIHsKQEAgLTE4MjEsNyArMjAzNSw4IEBAIHRlbXBsYXRl
IDx0eXBlbmFtZSBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlQXNzaWdubWVuCiAKICAgICAgICAgcmV0dXJuIGxoczsKICAgICB9Ci0gICAgCisjZW5k
aWYKKwogICAgIGludCBhc3NpZ25tZW50U3RhY2sgPSAwOwogICAgIE9wZXJhdG9yIG9wOwogICAg
IGJvb2wgaGFkQXNzaWdubWVudCA9IGZhbHNlOwpAQCAtMjA1Myw3ICsyMjY4LDcgQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VQcm9wZXJ0eU1ldGgKICAgICBKU1Rva2VuTG9jYXRpb24gbWV0aG9kTG9jYXRpb24odG9r
ZW5Mb2NhdGlvbigpKTsKICAgICB1bnNpZ25lZCBtZXRob2RTdGFydCA9IHRva2VuU3RhcnQoKTsK
ICAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IG1ldGhvZEluZm87Ci0gICAgZmFp
bElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVu
dHMsIE1ldGhvZE1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIG1ldGhvZFN0YXJ0
LCBtZXRob2RJbmZvKSksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2QiKTsKKyAgICBmYWlsSWZG
YWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywg
TWV0aG9kTW9kZSwgZmFsc2UsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgbWV0aG9kU3RhcnQsIG1l
dGhvZEluZm8sIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSB0aGlz
IG1ldGhvZCIpOwogICAgIG1ldGhvZEluZm8ubmFtZSA9IG1ldGhvZE5hbWU7CiAgICAgcmV0dXJu
IGNvbnRleHQuY3JlYXRlRnVuY3Rpb25FeHByKG1ldGhvZExvY2F0aW9uLCBtZXRob2RJbmZvKTsK
IH0KQEAgLTIwNzUsMTAgKzIyOTAsMTAgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlR2V0dGVyU2V0dGVyKFQKICAgICBQ
YXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87CiAgICAgaWYgKHR5cGUgPT0gUHJv
cGVydHlOb2RlOjpHZXR0ZXIpIHsKICAgICAgICAgZmFpbElmRmFsc2UobWF0Y2goT1BFTlBBUkVO
KSwgIkV4cGVjdGVkIGEgcGFyYW1ldGVyIGxpc3QgZm9yIGdldHRlciBkZWZpbml0aW9uIik7Ci0g
ICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5v
UmVxdWlyZW1lbnRzLCBHZXR0ZXJNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBnZXR0ZXJP
clNldHRlclN0YXJ0T2Zmc2V0LCBpbmZvKSksICJDYW5ub3QgcGFyc2UgZ2V0dGVyIGRlZmluaXRp
b24iKTsKKyAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1
bmN0aW9uTm9SZXF1aXJlbWVudHMsIEdldHRlck1vZGUsIGZhbHNlLCBjb25zdHJ1Y3RvcktpbmQs
IGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIGluZm8sIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5
cGUpKSwgIkNhbm5vdCBwYXJzZSBnZXR0ZXIgZGVmaW5pdGlvbiIpOwogICAgIH0gZWxzZSB7CiAg
ICAgICAgIGZhaWxJZkZhbHNlKG1hdGNoKE9QRU5QQVJFTiksICJFeHBlY3RlZCBhIHBhcmFtZXRl
ciBsaXN0IGZvciBzZXR0ZXIgZGVmaW5pdGlvbiIpOwotICAgICAgICBmYWlsSWZGYWxzZSgocGFy
c2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgU2V0dGVyTW9k
ZSwgZmFsc2UsIGNvbnN0cnVjdG9yS2luZCwgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgaW5m
bykpLCAiQ2Fubm90IHBhcnNlIHNldHRlciBkZWZpbml0aW9uIik7CisgICAgICAgIGZhaWxJZkZh
bHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBT
ZXR0ZXJNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBnZXR0ZXJPclNldHRlclN0YXJ0T2Zm
c2V0LCBpbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2Ugc2V0
dGVyIGRlZmluaXRpb24iKTsKICAgICB9CiAgICAgaWYgKHN0cmluZ1Byb3BlcnR5TmFtZSkKICAg
ICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlR2V0dGVyT3JTZXR0ZXJQcm9wZXJ0eShsb2NhdGlv
biwgdHlwZSwgc3RyaWN0LCBzdHJpbmdQcm9wZXJ0eU5hbWUsIGluZm8sIHN1cGVyQmluZGluZyk7
CkBAIC0yMjY3LDcgKzI0ODIsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVF
eHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHByZQogICAgICAgICBu
ZXh0KCk7CiAgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gaW5mbzsKICAg
ICAgICAgaW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyOwot
ICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25O
b1JlcXVpcmVtZW50cywgRnVuY3Rpb25Nb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpOb25l
LCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW5mbykpLCAiQ2Fubm90IHBhcnNlIGZ1bmN0aW9uIGV4
cHJlc3Npb24iKTsKKyAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRl
eHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEZ1bmN0aW9uTW9kZSwgZmFsc2UsIENvbnN0cnVj
dG9yS2luZDo6Tm9uZSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8sIFN0YW5kYXJkRnVuY3Rp
b25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSBmdW5jdGlvbiBleHByZXNzaW9uIik7CiAgICAg
ICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uRXhwcihsb2NhdGlvbiwgaW5mbyk7CiAg
ICAgfQogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQpAQCAtMjI5Niw2ICsyNTExLDIzIEBA
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAgICAgIHJldHVybiBjb250ZXh0LnRoaXNFeHBy
KGxvY2F0aW9uLCBtX3RoaXNURFpNb2RlKTsKICAgICB9CiAgICAgY2FzZSBJREVOVDogeworI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIFNhdmVQb2ludCBzYXZl
QXJyb3dGdW5jdGlvblBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgICAgIEpTVGV4dFBv
c2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgICAgIGNvbnN0IElkZW50
aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CisgICAgICAgIEpTVG9rZW5Mb2Nh
dGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgICAgICBuZXh0KCk7CisKKyAgICAg
ICAgaWYgKCFtYXRjaChBUlJPV0ZVTkNUSU9OKSkgeworICAgICAgICAgICAgY3VycmVudFNjb3Bl
KCktPnVzZVZhcmlhYmxlKGlkZW50LCBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09ICppZGVu
dCk7CisgICAgICAgICAgICBtX2xhc3RJZGVudGlmaWVyID0gaWRlbnQ7CisgICAgICAgICAgICBy
ZXR1cm4gY29udGV4dC5jcmVhdGVSZXNvbHZlKGxvY2F0aW9uLCBpZGVudCwgc3RhcnQpOworICAg
ICAgICB9CisKKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50
KTsKKyAgICAgICAgVHJlZUV4cHJlc3Npb24gbGhzID0gcGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBl
cihjb250ZXh0KTsKKyAgICAgICAgcmV0dXJuIGxoczsKKyNlbHNlCiAgICAgICAgIEpTVGV4dFBv
c2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CiAgICAgICAgIGNvbnN0IElkZW50
aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgIEpTVG9rZW5Mb2Nh
dGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwpAQCAtMjMwMyw2ICsyNTM1LDcgQEAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAgY3VycmVudFNjb3BlKCktPnVzZVZhcmlhYmxl
KGlkZW50LCBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09ICppZGVudCk7CiAgICAgICAgIG1f
bGFzdElkZW50aWZpZXIgPSBpZGVudDsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUmVz
b2x2ZShsb2NhdGlvbiwgaWRlbnQsIHN0YXJ0KTsKKyNlbmRpZgogICAgIH0KICAgICBjYXNlIFNU
UklORzogewogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9kYXRh
LmlkZW50OwpAQCAtMjQ5MCw2ICsyNzIzLDMyIEBAIGVuZE1lbWJlckV4cHJlc3Npb246CiAgICAg
cmV0dXJuIGJhc2U7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
dGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbldy
YXBwZXIoVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAgVHJlZUV4cHJlc3Npb24gYmFzZSA9
IDA7CisgICAgSlNUZXh0UG9zaXRpb24gZXhwcmVzc2lvblN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0
aW9uKCk7CisgICAgaW50IG5ld0NvdW50ID0gMDsKKyAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRp
b247CisKKyAgICBpZiAobWF0Y2goSURFTlQpIHx8IG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAg
ICAgdW5zaWduZWQgZnVuY3Rpb25LZXl3b3JkU3RhcnQgPSB0b2tlblN0YXJ0KCk7CisgICAgICAg
IGxvY2F0aW9uID0gdG9rZW5Mb2NhdGlvbigpOworICAgICAgICBQYXJzZXJGdW5jdGlvbkluZm88
VHJlZUJ1aWxkZXI+IGluZm87CisgICAgICAgIGluZm8ubmFtZSA9ICZtX3ZtLT5wcm9wZXJ0eU5h
bWVzLT5udWxsSWRlbnRpZmllcjsKKyAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25J
bmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEZ1bmN0aW9uTW9kZSwgdHJ1ZSwg
Q29uc3RydWN0b3JLaW5kOjpOb25lLCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW5mbywgQXJyb3dG
dW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIGFycm93IGZ1bmN0aW9uIGV4cHJlc3Np
b24iKTsKKyAgICAgICAgYmFzZSA9IGNvbnRleHQuY3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIobG9j
YXRpb24sIGluZm8pOworICAgIH0gZWxzZQorICAgICAgICBiYXNlID0gcGFyc2VQcmltYXJ5RXhw
cmVzc2lvbihjb250ZXh0KTsKKworICAgIGZhaWxJZkZhbHNlKGJhc2UsICJDYW5ub3QgcGFyc2Ug
YmFzZSBleHByZXNzaW9uIik7CisgICAgd2hpbGUgKG5ld0NvdW50LS0pCisgICAgICAgIGJhc2Ug
PSBjb250ZXh0LmNyZWF0ZU5ld0V4cHIobG9jYXRpb24sIGJhc2UsIGV4cHJlc3Npb25TdGFydCwg
bGFzdFRva2VuRW5kUG9zaXRpb24oKSk7CisgICAgcmV0dXJuIGJhc2U7Cit9CisjZW5kaWYKKwog
c3RhdGljIGNvbnN0IGNoYXIqIG9wZXJhdG9yU3RyaW5nKGJvb2wgcHJlZml4LCB1bnNpZ25lZCB0
b2spCiB7CiAgICAgc3dpdGNoICh0b2spIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNl
ci5oCmluZGV4IDBmMjcyOGY4NjIxZjgwMTBjNDEwYmY3OTg3NjE5YmYyM2U1MGFmOGIuLjcwNzBi
YjJiNjgzNGMwMDQ4M2NhNWEyZWNlNTkxYmJjNjZjYzhjOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXIuaApAQCAtODAsNiArODAsMTEgQEAgY2xhc3MgU291cmNlQ29kZTsKIENP
TVBJTEVfQVNTRVJUKExhc3RVbnRhZ2dlZFRva2VuIDwgNjQsIExlc3NUaGFuNjRVbnRhZ2dlZFRv
a2Vucyk7CiAKIGVudW0gU291cmNlRWxlbWVudHNNb2RlIHsgQ2hlY2tGb3JTdHJpY3RNb2RlLCBE
b250Q2hlY2tGb3JTdHJpY3RNb2RlIH07CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKK2VudW0gRnVuY3Rpb25QYXJzZVR5cGUgeyBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBl
LCBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlIH07CisjZWxzZQorZW51bSBGdW5jdGlvblBhcnNlVHlw
ZSB7IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGV9OworI2VuZGlmCiBlbnVtIEZ1bmN0aW9uUmVx
dWlyZW1lbnRzIHsgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgRnVuY3Rpb25OZWVkc05hbWUgfTsK
IGVudW0gRnVuY3Rpb25QYXJzZU1vZGUgewogICAgIEZ1bmN0aW9uTW9kZSwKQEAgLTYxOCw2ICs2
MjMsMTMgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIG1fdG9rZW4ubV90eXBlID09IElERU5U
ICYmICptX3Rva2VuLm1fZGF0YS5pZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5vZjsKICAg
ICB9CiAgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBBTFdB
WVNfSU5MSU5FIGJvb2wgaXNFbmRPZkFycm93RnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIG1hdGNoKFNFTUlDT0xPTikgfHwgbWF0Y2goQ09NTUEpIHx8IG1hdGNoKENMT1NFUEFSRU4p
IHx8IG1hdGNoKENMT1NFQlJBQ0UpIHx8IG1hdGNoKENMT1NFQlJBQ0tFVCk7CisgICAgfQorI2Vu
ZGlmCisgICAgCiAgICAgQUxXQVlTX0lOTElORSB1bnNpZ25lZCB0b2tlblN0YXJ0KCkKICAgICB7
CiAgICAgICAgIHJldHVybiBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CkBAIC03MjEs
OSArNzMzLDkgQEAgcHJpdmF0ZToKICAgICAgICAgfQogICAgICAgICByZXR1cm4gcmVzdWx0Owog
ICAgIH0KLSAgICAKLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VF
bGVtZW50cyBwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxlbWVudHNN
b2RlKTsKLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFy
c2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1
bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDApOworCisgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgcGFyc2VTb3VyY2VFbGVtZW50cyhU
cmVlQnVpbGRlciYsIFNvdXJjZUVsZW1lbnRzTW9kZSwgRnVuY3Rpb25QYXJzZVR5cGUpOworICAg
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0YXRlbWVu
dChUcmVlQnVpbGRlciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBk
aXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMCwgRnVuY3Rpb25QYXJzZVR5cGUgdHlwZSA9IFN0YW5k
YXJkRnVuY3Rpb25QYXJzZVR5cGUpOwogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogICAg
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZUNsYXNzRGVj
bGFyYXRpb24oVHJlZUJ1aWxkZXImKTsKICNlbmRpZgpAQCAtNzYyLDE3ICs3NzQsMjcgQEAgcHJp
dmF0ZToKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBwYXJz
ZVByb3BlcnR5KFRyZWVCdWlsZGVyJiwgYm9vbCBzdHJpY3QpOwogICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VQcm9wZXJ0eU1ldGhvZChUcmVlQnVp
bGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciogbWV0aG9kTmFtZSk7CiAgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgcGFyc2VHZXR0ZXJTZXR0ZXIoVHJl
ZUJ1aWxkZXImLCBib29sIHN0cmljdCwgUHJvcGVydHlOb2RlOjpUeXBlLCB1bnNpZ25lZCBnZXR0
ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBDb25zdHJ1Y3RvcktpbmQgPSBDb25zdHJ1Y3RvcktpbmQ6
Ok5vbmUsIFN1cGVyQmluZGluZyA9IFN1cGVyQmluZGluZzo6Tm90TmVlZGVkKTsKLSAgICB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZ1bmN0aW9uQm9keSBw
YXJzZUZ1bmN0aW9uQm9keShUcmVlQnVpbGRlciYsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwg
aW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25zdHJ1Y3Rvcktp
bmQpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVl
RnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVyJiwgaW50IGZ1bmN0aW9u
S2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIGludCBwYXJhbWV0ZXJzU3RhcnQs
IENvbnN0cnVjdG9yS2luZCwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25QYXJzZVR5cGUpOwog
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRm9ybWFs
UGFyYW1ldGVyTGlzdCBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoVHJlZUJ1aWxkZXImKTsKICAgICBl
bnVtIFZhckRlY2xhcmF0aW9uTGlzdENvbnRleHQgeyBGb3JMb29wQ29udGV4dCwgVmFyRGVjbGFy
YXRpb25Db250ZXh0IH07CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhw
cmVzc2lvbiBwYXJzZVZhckRlY2xhcmF0aW9uTGlzdChUcmVlQnVpbGRlciYsIGludCYgZGVjbGFy
YXRpb25zLCBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuJiBsYXN0UGF0dGVybiwgVHJlZUV4cHJl
c3Npb24mIGxhc3RJbml0aWFsaXplciwgSlNUZXh0UG9zaXRpb24mIGlkZW50U3RhcnQsIEpTVGV4
dFBvc2l0aW9uJiBpbml0U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0RW5kLCBWYXJEZWNsYXJh
dGlvbkxpc3RDb250ZXh0KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVS
X0lOTElORSBUcmVlQ29uc3REZWNsTGlzdCBwYXJzZUNvbnN0RGVjbGFyYXRpb25MaXN0KFRyZWVC
dWlsZGVyJik7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VBcnJvd0Z1bmN0
aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoVHJlZUJ1aWxk
ZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBh
cnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoVHJlZUJ1aWxkZXImKTsKKyNlbmRpZgorCiAgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9u
UGF0dGVybiBjcmVhdGVCaW5kaW5nUGF0dGVybihUcmVlQnVpbGRlciYsIERlY29uc3RydWN0aW9u
S2luZCwgY29uc3QgSWRlbnRpZmllciYsIGludCBkZXB0aCwgSlNUb2tlbik7CiAgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0
dGVybiBwYXJzZURlY29uc3RydWN0aW9uUGF0dGVybihUcmVlQnVpbGRlciYsIERlY29uc3RydWN0
aW9uS2luZCwgaW50IGRlcHRoID0gMCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiB0cnlQYXJzZURlY29uc3Ry
dWN0aW9uUGF0dGVybkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKLQotICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIGJvb2wgcGFyc2VGdW5jdGlvbkluZm8oVHJl
ZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUsIGJvb2wg
bmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCwgaW50IGZ1bmN0aW9uS2V5
d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+Jik7CisgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgaW50IHBhcnNlRnVuY3Rpb25QYXJh
bXRlcnMoVHJlZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1v
ZGUsIGJvb2wsIEF1dG9Qb3BTY29wZVJlZiYsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRl
cj4mKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIGludCBwYXJzZUFycm93RnVuY3Rpb25Q
YXJhbXRlcnMoVHJlZUJ1aWxkZXImLCBGdW5jdGlvblBhcnNlTW9kZSwgUGFyc2VyRnVuY3Rpb25J
bmZvPFRyZWVCdWlsZGVyPiYpOworI2VuZGlmCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBORVZFUl9JTkxJTkUgYm9vbCBwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYsIEZ1
bmN0aW9uUmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSwgYm9vbCBuYW1lSXNJbkNvbnRh
aW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBh
cnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlv
blBhcnNlVHlwZSk7CisgICAgCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZUNsYXNzRXhwcmVzc2lv
biBwYXJzZUNsYXNzKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIFBhcnNlckNs
YXNzSW5mbzxUcmVlQnVpbGRlcj4mKTsKICNlbmRpZgpAQCAtNzg5LDYgKzgxMSwxNCBAQCBwcml2
YXRlOgogICAgICAgICByZXR1cm4gYWxsb3dBdXRvbWF0aWNTZW1pY29sb24oKTsKICAgICB9CiAg
ICAgCisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHZvaWQgc2V0
RW5kT2ZTdGF0ZW1lbnQoKQorICAgIHsKKyAgICAgICAgbV9sZXhlci0+c2V0VG9rZW5Qb3NpdGlv
bigmbV90b2tlbik7CisgICAgfQorI2VuZGlmCisKICAgICBib29sIGNhblJlY3Vyc2UoKQogICAg
IHsKICAgICAgICAgcmV0dXJuIG1fdm0tPmlzU2FmZVRvUmVjdXJzZSgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKaW5kZXggNmI3MzYy
ODJlMmQyYTgxYmM2M2RjMmYzYzBlNWFlOGM4NThjZDFmOC4uMGNkZTBjNjdhOWRlMGVkZjM0MTQ0
ZTMyNzkxZTVlOTBiNGEyMTUxNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oCkBAIC0yOCw2ICsyOCwxMCBAQAogCiBuYW1lc3BhY2Ug
SlNDIHsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitlbnVtIEZ1bmN0
aW9uQm9keVR5cGUgeyBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24sIEFycm93RnVuY3Rpb25C
b2R5QmxvY2ssIFN0YW5kYXJkRnVuY3Rpb25Cb2R5QmxvY2sgfTsKKyNlbmRpZgorCiB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+CiBzdHJ1Y3QgUGFyc2VyRnVuY3Rpb25JbmZvIHsKICAgICBj
b25zdCBJZGVudGlmaWVyKiBuYW1lID0gMDsKQEAgLTM4LDYgKzQyLDExIEBAIHN0cnVjdCBQYXJz
ZXJGdW5jdGlvbkluZm8gewogICAgIGludCBib2R5U3RhcnRMaW5lID0gMDsKICAgICBpbnQgYm9k
eUVuZExpbmUgPSAwOwogICAgIHVuc2lnbmVkIGJvZHlTdGFydENvbHVtbiA9IDA7CisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB1bnNpZ25lZCBhcnJvd0Z1bmN0aW9u
T2Zmc2V0ID0gMDsKKyAgICBib29sIGlzQXJyb3dGdW5jdGlvbiA9IGZhbHNlOworICAgIEZ1bmN0
aW9uQm9keVR5cGUgZnVuY3Rpb25Cb2R5VHlwZSA9IFN0YW5kYXJkRnVuY3Rpb25Cb2R5QmxvY2s7
CisjZW5kaWYKIH07CiAKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCmluZGV4IDgzMjlmODJhOWIyZmY5MTVk
MWYyNDFjMWY4YmZmYWQ0MjQ3YTVmMGIuLmM4YjE2NmUwZWFkN2QyZGE3MTllNzZjNGEyZjA5YWZm
MWQ3NGQ3YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2Vy
VG9rZW5zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMu
aApAQCAtNzUsNiArNzUsOSBAQCBlbnVtIEpTVG9rZW5UeXBlIHsKICAgICBGSU5BTExZLAogICAg
IERFQlVHR0VSLAogICAgIEVMU0UsCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICBBUlJPV0ZVTkNUSU9OLAorI2VuZGlmCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5U
QVgpCiAgICAgQ0xBU1NUT0tFTiwKICAgICBFWFRFTkRTLApkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1NvdXJjZUNvZGUuaAppbmRleCA3M2QyM2RiODJhZjI1ZWE0NmMwZjg5Nzg1Y2U0MjRi
YjYwZWI2MWE3Li45MjhlNzEyYTkwZTM0ODk4OGJjMzU1NDg5ODc1YjA5MDc3Njc1NTIzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaApAQCAtMTA1LDYgKzEwNSw5
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAKICAgICAgICAgU291cmNlQ29kZSBzdWJFeHBy
ZXNzaW9uKHVuc2lnbmVkIG9wZW5CcmFjZSwgdW5zaWduZWQgY2xvc2VCcmFjZSwgaW50IGZpcnN0
TGluZSwgaW50IHN0YXJ0Q29sdW1uKTsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgICAgIFNvdXJjZUNvZGUgc3ViQXJyb3dFeHByZXNzaW9uKHVuc2lnbmVkIHN0
YXJ0QXJyb3dGdW5jdGlvbiwgdW5zaWduZWQgZW5kQXJyb3dGdW5jdGlvbiwgaW50IGZpcnN0TGlu
ZSwgaW50IHN0YXJ0Q29sdW1uKTsKKyNlbmRpZgogICAgIHByaXZhdGU6CiAgICAgICAgIFJlZlB0
cjxTb3VyY2VQcm92aWRlcj4gbV9wcm92aWRlcjsKICAgICAgICAgaW50IG1fc3RhcnRDaGFyOwpA
QCAtMTE4LDYgKzEyMSwxNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgcmV0dXJuIFNvdXJj
ZUNvZGUoU3RyaW5nU291cmNlUHJvdmlkZXI6OmNyZWF0ZShzb3VyY2UsIHVybCwgc3RhcnRQb3Np
dGlvbiksIHN0YXJ0UG9zaXRpb24ubV9saW5lLm9uZUJhc2VkSW50KCksIHN0YXJ0UG9zaXRpb24u
bV9jb2x1bW4ub25lQmFzZWRJbnQoKSk7CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICBpbmxpbmUgU291cmNlQ29kZSBTb3VyY2VDb2RlOjpzdWJBcnJv
d0V4cHJlc3Npb24odW5zaWduZWQgc3RhcnRBcnJvd0Z1bmN0aW9uLCB1bnNpZ25lZCBlbmRBcnJv
d0Z1bmN0aW9uLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pCisgICAgeworICAgICAg
ICBBU1NFUlQocHJvdmlkZXIoKS0+c291cmNlKClbc3RhcnRBcnJvd0Z1bmN0aW9uXSA9PSAnPScg
JiYgcHJvdmlkZXIoKS0+c291cmNlKClbc3RhcnRBcnJvd0Z1bmN0aW9uICsgMV0gPT0gJz4nKTsK
KyAgICAgICAgLy8gRml4bWU6IFVzZSBiZXR0ZXIgYXBwcm9hY2ggdG8gY2hlY2sgc3ltYm9sCisg
ICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0g
PT0gJywnIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAn
OycgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICcpJyB8
fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJ10nIHx8IHBy
b3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnfScpOworICAgICAg
ICBzdGFydENvbHVtbiArPSAxOyAvLyBDb252ZXJ0IHRvIGJhc2UgMS4KKyAgICAgICAgcmV0dXJu
IFNvdXJjZUNvZGUocHJvdmlkZXIoKSwgc3RhcnRBcnJvd0Z1bmN0aW9uLCBlbmRBcnJvd0Z1bmN0
aW9uIC0gMSwgZmlyc3RMaW5lLCBzdGFydENvbHVtbik7CisgICAgfQorI2VuZGlmCisKICAgICBp
bmxpbmUgU291cmNlQ29kZSBTb3VyY2VDb2RlOjpzdWJFeHByZXNzaW9uKHVuc2lnbmVkIG9wZW5C
cmFjZSwgdW5zaWduZWQgY2xvc2VCcmFjZSwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1u
KQogICAgIHsKICAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW29wZW5CcmFjZV0g
PT0gJ3snKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNl
UHJvdmlkZXJDYWNoZUl0ZW0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNl
UHJvdmlkZXJDYWNoZUl0ZW0uaAppbmRleCA2MzUzNzllM2Y0NDU2NjhjNTJiODcyZjc2MTZkY2I1
OTIxYTgyOTQ0Li5mNDI4ZGI1MGE4ZGE3YTdhYjQ2ODI0YWIzODA4M2RiMDUyZDczNzc2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJ
dGVtLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNh
Y2hlSXRlbS5oCkBAIC00MCw2ICs0MCwxMCBAQCBzdHJ1Y3QgU291cmNlUHJvdmlkZXJDYWNoZUl0
ZW1DcmVhdGlvblBhcmFtZXRlcnMgewogICAgIGJvb2wgbmVlZHNGdWxsQWN0aXZhdGlvbjsKICAg
ICBib29sIHVzZXNFdmFsOwogICAgIGJvb2wgc3RyaWN0TW9kZTsKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGJvb2wgaXNCb2R5QXJyb3dFeHByZXNzaW9uOworICAg
IEpTVG9rZW5UeXBlIHRva2VuVHlwZTsKKyNlbmRpZgogICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5n
SW1wbD4+IHVzZWRWYXJpYWJsZXM7CiAgICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4gd3Jp
dHRlblZhcmlhYmxlczsKIH07CkBAIC01NSwxMCArNTksMTQgQEAgcHVibGljOgogICAgIHN0YXRp
YyBzdGQ6OnVuaXF1ZV9wdHI8U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0+IGNyZWF0ZShjb25zdCBT
b3VyY2VQcm92aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFyYW1ldGVycyYpOwogICAgIH5Tb3VyY2VQ
cm92aWRlckNhY2hlSXRlbSgpOwogCi0gICAgSlNUb2tlbiBjbG9zZUJyYWNlVG9rZW4oKSBjb25z
dCAKKyAgICBKU1Rva2VuIGVuZEZ1bmN0aW9uVG9rZW4oKSBjb25zdCAKICAgICB7CiAgICAgICAg
IEpTVG9rZW4gdG9rZW47CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICAgICAgdG9rZW4ubV90eXBlID0gaXNCb2R5QXJyb3dFeHByZXNzaW9uID8gdG9rZW5UeXBlIDog
Q0xPU0VCUkFDRTsKKyNlbHNlCiAgICAgICAgIHRva2VuLm1fdHlwZSA9IENMT1NFQlJBQ0U7Cisj
ZW5kaWYKICAgICAgICAgdG9rZW4ubV9kYXRhLm9mZnNldCA9IGNsb3NlQnJhY2VPZmZzZXQ7CiAg
ICAgICAgIHRva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNlT2Zmc2V0Owog
ICAgICAgICB0b2tlbi5tX2xvY2F0aW9uLmVuZE9mZnNldCA9IGNsb3NlQnJhY2VPZmZzZXQgKyAx
OwpAQCAtODIsNiArOTAsMTEgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIHVzZWRWYXJpYWJsZXND
b3VudDsKICAgICB1bnNpZ25lZCB3cml0dGVuVmFyaWFibGVzQ291bnQ7CiAKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGJvb2wgaXNCb2R5QXJyb3dFeHByZXNzaW9u
OworICAgIEpTVG9rZW5UeXBlIHRva2VuVHlwZTsKKyNlbmRpZgorCiAgICAgU3RyaW5nSW1wbCoq
IHVzZWRWYXJpYWJsZXMoKSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0PFN0cmluZ0ltcGwqKj4o
bV92YXJpYWJsZXMpOyB9CiAgICAgU3RyaW5nSW1wbCoqIHdyaXR0ZW5WYXJpYWJsZXMoKSBjb25z
dCB7IHJldHVybiBjb25zdF9jYXN0PFN0cmluZ0ltcGwqKj4oJm1fdmFyaWFibGVzW3VzZWRWYXJp
YWJsZXNDb3VudF0pOyB9CiAKQEAgLTExNSw2ICsxMjgsMTAgQEAgaW5saW5lIFNvdXJjZVByb3Zp
ZGVyQ2FjaGVJdGVtOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbShjb25zdCBTb3VyY2VQcm92aWRl
ckNhY2gKICAgICAsIGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQocGFyYW1ldGVycy5jbG9zZUJy
YWNlTGluZVN0YXJ0T2Zmc2V0KQogICAgICwgdXNlZFZhcmlhYmxlc0NvdW50KHBhcmFtZXRlcnMu
dXNlZFZhcmlhYmxlcy5zaXplKCkpCiAgICAgLCB3cml0dGVuVmFyaWFibGVzQ291bnQocGFyYW1l
dGVycy53cml0dGVuVmFyaWFibGVzLnNpemUoKSkKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgICwgaXNCb2R5QXJyb3dFeHByZXNzaW9uKHBhcmFtZXRlcnMuaXNCb2R5
QXJyb3dFeHByZXNzaW9uKQorICAgICwgdG9rZW5UeXBlKHBhcmFtZXRlcnMudG9rZW5UeXBlKQor
I2VuZGlmCiB7CiAgICAgdW5zaWduZWQgaiA9IDA7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IHVzZWRWYXJpYWJsZXNDb3VudDsgKytpLCArK2opIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKaW5kZXggOGU0ZjYxYjk0OTg5MGI5YmY1NDAyOWU5
NjY2MWVlZjUzYTE3YjU4NC4uNWY4ZTIxMWVlNGI1M2IzOTRlYjVhZTIxOTBiODNjOGM0Zjg0NGNm
ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2Vy
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKQEAg
LTE3MCw2ICsxNzAsMTAgQEAgcHVibGljOgogI2VuZGlmCiAgICAgRXhwcmVzc2lvblR5cGUgY3Jl
YXRlRnVuY3Rpb25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0
aW9uSW5mbzxTeW50YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQogICAgIGlu
dCBjcmVhdGVGdW5jdGlvbkJvZHkoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgSlNUb2tl
bkxvY2F0aW9uJiwgaW50LCBpbnQsIGJvb2wsIGludCwgaW50LCBpbnQsIENvbnN0cnVjdG9yS2lu
ZCkgeyByZXR1cm4gRnVuY3Rpb25Cb2R5UmVzdWx0OyB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVBcnJvd0Z1bmN0aW9uRXhw
cihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4
Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KKyNlbmRpZiAKKyAgICB2b2lkIHNl
dEZ1bmN0aW9uTmFtZVN0YXJ0KGludCwgaW50KSB7IH0KICAgICBpbnQgY3JlYXRlQXJndW1lbnRz
KCkgeyByZXR1cm4gQXJndW1lbnRzUmVzdWx0OyB9CiAgICAgaW50IGNyZWF0ZUFyZ3VtZW50cyhp
bnQpIHsgcmV0dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0
ZVNwcmVhZEV4cHJlc3Npb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvblR5cGUs
IGludCwgaW50LCBpbnQpIHsgcmV0dXJuIFNwcmVhZEV4cHI7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZmYzNl
YTE4MDA2ODk2NDNhYWRkNmM2YTQ5N2VkMGFlNmMyMTExMjAKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwCkBAIC0wLDAg
KzEsNzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKworI2luY2x1ZGUgIkVycm9yLmgiCisjaW5j
bHVkZSAiRXhjZXB0aW9uSGVscGVycy5oIgorI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKKyNpbmNs
dWRlICJKU0NKU1ZhbHVlLmgiCisjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpT
RnVuY3Rpb25JbmxpbmVzLmgiCisjaW5jbHVkZSAiSlNPYmplY3QuaCIKKyNpbmNsdWRlICJQcm9w
ZXJ0eVNsb3QuaCIKKyNpbmNsdWRlICJWTS5oIgorCituYW1lc3BhY2UgSlNDIHsKKyAgICAKK2Nv
bnN0IENsYXNzSW5mbyBKU0Fycm93RnVuY3Rpb246OnNfaW5mbyA9IHsgIkFycm93RnVuY3Rpb24i
LCAmQmFzZTo6c19pbmZvLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTQXJyb3dGdW5jdGlvbikg
fTsKKwordm9pZCBKU0Fycm93RnVuY3Rpb246OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQoreworICAg
IHN0YXRpY19jYXN0PEpTQXJyb3dGdW5jdGlvbio+KGNlbGwpLT5KU0Fycm93RnVuY3Rpb246On5K
U0Fycm93RnVuY3Rpb24oKTsKK30KKworSlNBcnJvd0Z1bmN0aW9uOjpKU0Fycm93RnVuY3Rpb24o
Vk0mIHZtLCBKU1Njb3BlKiBzY29wZSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICA6IEJhc2Uodm0sIGV4ZWN1dGFibGUsIHNjb3BlLCBz
dHJ1Y3R1cmUpCit7Cit9CisgICAgCit2b2lkIEpTQXJyb3dGdW5jdGlvbjo6ZmluaXNoQ3JlYXRp
b24oVk0mIHZtKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKy8vIFByb3RvdHlw
ZSBvZiBhcnJvdyBmdW5jdGlvbiBpcyB1bmRlZmluZWQKKyAgICBwdXREaXJlY3Qodm0sIHZtLnBy
b3BlcnR5TmFtZXMtPnByb3RvdHlwZSwganNVbmRlZmluZWQoKSwgRG9udERlbGV0ZSB8IFJlYWRP
bmx5IHwgRG9udEVudW0pOworfQorICAgIAordm9pZCBKU0Fycm93RnVuY3Rpb246OnZpc2l0Q2hp
bGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKK3sKKyAgICBKU0Fycm93
RnVuY3Rpb24qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNBcnJvd0Z1bmN0aW9uKj4oY2VsbCk7Cisg
ICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyh0aGlzT2JqZWN0LCBpbmZvKCkpOworICAgIEJh
c2U6OnZpc2l0Q2hpbGRyZW4odGhpc09iamVjdCwgdmlzaXRvcik7Cit9CisgICAgCitDb25zdHJ1
Y3RUeXBlIEpTQXJyb3dGdW5jdGlvbjo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwqIGNlbGwsIENv
bnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCit7CisgICAgSlNGdW5jdGlvbiogdGhpc09iamVj
dCA9IGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY2VsbCk7CisgICAgICAgIAorICAgIGNvbnN0cnVjdERh
dGEuanMuZnVuY3Rpb25FeGVjdXRhYmxlID0gdGhpc09iamVjdC0+anNFeGVjdXRhYmxlKCk7Cisg
ICAgY29uc3RydWN0RGF0YS5qcy5zY29wZSA9IHRoaXNPYmplY3QtPnNjb3BlKCk7CisgICAgcmV0
dXJuIENvbnN0cnVjdFR5cGVOb25lOworfQorfSAvLyBuYW1lc3BhY2UgSlNDCisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNzgwMTVkMzg3MjFjY2E0NGFlMmY2NWNiNmQ3N2I2YTY1MjIwOTY1ZAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5o
CkBAIC0wLDAgKzEsNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIEpTQXJyb3dGdW5jdGlvbl9oCisjZGVmaW5lIEpTQXJyb3dGdW5jdGlv
bl9oCisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorCisjaW5jbHVkZSAi
SlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCisKK25hbWVzcGFjZSBK
U0MgeworCitjbGFzcyBKU0Fycm93RnVuY3Rpb24gOiBwdWJsaWMgSlNGdW5jdGlvbiB7CitwdWJs
aWM6CisgICAgdHlwZWRlZiBKU0Z1bmN0aW9uIEJhc2U7CisgICAgICAgIAorICAgIHN0YXRpYyBK
U0Fycm93RnVuY3Rpb24qIGNyZWF0ZShWTSYgdm0sIEpTU2NvcGUqIHNjb3BlLCBGdW5jdGlvbkV4
ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCisgICAg
eworICAgICAgICBKU0Fycm93RnVuY3Rpb24qIGZ1bmN0aW9uID0gbmV3IChOb3ROdWxsLCBhbGxv
Y2F0ZUNlbGw8SlNBcnJvd0Z1bmN0aW9uPih2bS5oZWFwKSkgSlNBcnJvd0Z1bmN0aW9uKHZtLCBz
Y29wZSwgZXhlY3V0YWJsZSwgZ2xvYmFsT2JqZWN0LT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCkp
OworICAgICAgICBBU1NFUlQoZnVuY3Rpb24tPnN0cnVjdHVyZSgpLT5nbG9iYWxPYmplY3QoKSk7
CisgICAgICAgIGZ1bmN0aW9uLT5maW5pc2hDcmVhdGlvbih2bSk7CisgICAgICAgIHJldHVybiBm
dW5jdGlvbjsKKyAgICB9CisgICAgCisgICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0NlbGwqKTsK
KyAgICAgICAgCisgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiB2bSwg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUpCisgICAgewor
ICAgICAgICBBU1NFUlQoZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6
Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oSlNGdW5jdGlvblR5
cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKKyAgICB9CisgICAgICAgIAorICAgIHN0YXRp
YyBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYp
OworICAgICAgICAKKyAgICBERUNMQVJFX0lORk87CisKK3Byb3RlY3RlZDoKKyAgICBjb25zdCBz
dGF0aWMgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNIYXNJbnN0YW5jZSB8IEJh
c2U6OlN0cnVjdHVyZUZsYWdzOworICAgICAgICAKKyAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxk
cmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CisgICAgICAgIAorcHJpdmF0ZToKKyAgICBKU0Fy
cm93RnVuY3Rpb24oVk0mLCBKU1Njb3BlKiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgU3RydWN0dXJl
Kik7CisKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7Cit9OworICAgIAorfSAvLyBuYW1l
c3BhY2UgSlNDCisjZW5kaWYgLy8gRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYCisKKyNlbmRpZiAv
LyBKU0Fycm93RnVuY3Rpb25faApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5j
dGlvbi5oCmluZGV4IDliZDNmZTI0MTUwMDYxMWNkOTk3NTZlNzFmZjU5MDBhNGRmZGUwMGMuLjdh
MTVjOTg1MTE5OTM1ZTQ0ZjlkYTU1NmIwYmIxMTJkOWExYzhmNWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKQEAgLTEzMiw2ICsxMzIsOSBAQCBwcm90ZWN0
ZWQ6CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBKU0Z1bmN0aW9uKFZNJiwgSlNHbG9iYWxPYmpl
Y3QqLCBTdHJ1Y3R1cmUqKTsKICAgICBKU0Z1bmN0aW9uKFZNJiwgRnVuY3Rpb25FeGVjdXRhYmxl
KiwgSlNTY29wZSopOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAg
SlNGdW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSosIEpTU2NvcGUqLCBTdHJ1Y3R1cmUq
KTsKKyNlbmRpZgogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIE5hdGl2ZUV4ZWN1dGFi
bGUqLCBpbnQgbGVuZ3RoLCBjb25zdCBTdHJpbmcmIG5hbWUpOwogICAgIHVzaW5nIEJhc2U6OmZp
bmlzaENyZWF0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNGdW5jdGlvbklubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVu
Y3Rpb25JbmxpbmVzLmgKaW5kZXggMzdiMjgxYWE1ZDBjMWI4NjE2NDUxOWZkN2M1NjZlMzdmMGYx
MzQwMS4uN2IzNDkwYmViOTRhMzU5M2VlMTdiYzNiMTZiMzJjN2RmYWY5NTczZCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oCkBAIC0z
OCw2ICszOCwxNSBAQCBpbmxpbmUgSlNGdW5jdGlvbjo6SlNGdW5jdGlvbihWTSYgdm0sIEZ1bmN0
aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgSlNTY29wZSogcwogewogfQogCisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK2lubGluZSBKU0Z1bmN0aW9uOjpKU0Z1bmN0aW9u
KFZNJiB2bSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBKU1Njb3BlKiBzY29wZSwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUpCisgICAgOiBCYXNlKHZtLCBzY29wZSwgc3RydWN0dXJlKQor
ICAgICwgbV9leGVjdXRhYmxlKHZtLCB0aGlzLCBleGVjdXRhYmxlKQorICAgICwgbV9hbGxvY2F0
aW9uUHJvZmlsZVdhdGNocG9pbnQoQ2xlYXJXYXRjaHBvaW50KQoreworfQorI2VuZGlmCisgICAg
CiBpbmxpbmUgRnVuY3Rpb25FeGVjdXRhYmxlKiBKU0Z1bmN0aW9uOjpqc0V4ZWN1dGFibGUoKSBj
b25zdAogewogICAgIEFTU0VSVCghaXNIb3N0RnVuY3Rpb25Ob25JbmxpbmUoKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggMTc5
NDlhMWI1ZWE4MTg5ZWIwNmNhNjFlMTE5YjkzZjc3NDk5MDMzYS4uODNjZTEwZDRlY2NiYzgwYWE0
ZmVmOGU4NTI2YzUxMDY1MTE4ZTIxOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtNjEsNiArNjEsNyBAQAogI2luY2x1ZGUgIkpT
QXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXJQcm90b3R5
cGUuaCIKICNpbmNsdWRlICJKU0FycmF5SXRlcmF0b3IuaCIKKyNpbmNsdWRlICJKU0Fycm93RnVu
Y3Rpb24uaCIKICNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxp
bmVzLmgiCiAjaW5jbHVkZSAiSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgiCkBAIC0yMzMsNiArMjM0
LDkgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChWTSYgdm0pCiAgICAgZXhlYy0+c2V0Q2Fs
bGVlKG1fZ2xvYmFsQ2FsbGVlLmdldCgpKTsKIAogICAgIG1fZnVuY3Rpb25TdHJ1Y3R1cmUuc2V0
KHZtLCB0aGlzLCBKU0Z1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rp
b25Qcm90b3R5cGUuZ2V0KCkpKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgIG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpTQXJyb3dGdW5j
dGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgp
KSk7CisjZW5kaWYKICAgICBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBK
U0JvdW5kRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3Rv
dHlwZS5nZXQoKSkpOwogICAgIG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMs
IFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBtX2Z1bmN0aW9uU3RydWN0dXJl
LmdldCgpLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBE
b250RW51bSwgbV9mdW5jdGlvbk5hbWVPZmZzZXQpKTsKICAgICBtX2ludGVybmFsRnVuY3Rpb25T
dHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBJbnRlcm5hbEZ1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUo
dm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKQEAgLTcyNSw2ICs3MjksOSBA
QCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZp
c2l0b3ImIHZpc2l0b3IpCiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fY2FsbGVl
U3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9mdW5jdGlvblN0
cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYm91bmRGdW5jdGlv
blN0cnVjdHVyZSk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2
aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKTsKKyNl
bmRpZgogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX25hbWVkRnVuY3Rpb25TdHJ1
Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX3N5bWJvbE9iamVjdFN0
cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fcmVnRXhwTWF0Y2hl
c0FycmF5U3RydWN0dXJlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ds
b2JhbE9iamVjdC5oCmluZGV4IDNlNTc4Mzc4YWU5M2I1YjEzZDhlODFlMTZkYWU2MWZiODFhY2Qx
NmEuLjQ4OWYyZWYyMGM5MmExYjQzZDEwZTE4OGRhMzIxZjkzNjA0YjU0YTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtMjI1LDYgKzIy
NSw5IEBAIHByb3RlY3RlZDoKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2NhbGxlZVN0
cnVjdHVyZTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2Z1bmN0aW9uU3RydWN0dXJl
OwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYm91bmRGdW5jdGlvblN0cnVjdHVyZTsK
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFdyaXRlQmFycmllcjxT
dHJ1Y3R1cmU+IG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZTsKKyNlbmRpZgogICAgIFdyaXRlQmFy
cmllcjxTdHJ1Y3R1cmU+IG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZTsKICAgICBQcm9wZXJ0eU9m
ZnNldCBtX2Z1bmN0aW9uTmFtZU9mZnNldDsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBt
X3ByaXZhdGVOYW1lU3RydWN0dXJlOwpAQCAtNDU3LDYgKzQ2MCw5IEBAIHB1YmxpYzoKICAgICBT
dHJ1Y3R1cmUqIGNhbGxlZVN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbGVlU3RydWN0
dXJlLmdldCgpOyB9CiAgICAgU3RydWN0dXJlKiBmdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsg
cmV0dXJuIG1fZnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUqIGJvdW5k
RnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1
cmUuZ2V0KCk7IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFN0
cnVjdHVyZSogYXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXJyb3dG
dW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQorI2VuZGlmCiAgICAgU3RydWN0dXJlKiBuYW1lZEZ1
bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJl
LmdldCgpOyB9CiAgICAgUHJvcGVydHlPZmZzZXQgZnVuY3Rpb25OYW1lT2Zmc2V0KCkgY29uc3Qg
eyByZXR1cm4gbV9mdW5jdGlvbk5hbWVPZmZzZXQ7IH0KICAgICBTdHJ1Y3R1cmUqIG51bWJlck9i
amVjdFN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fbnVtYmVyT2JqZWN0U3RydWN0dXJlLmdl
dCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tbGV4aWNhbHRoaXMuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbHRoaXMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjEyZmJhZjgw
NDQ4MmM3NzYxYzM3ZGQ2OTNhODQ4NWU1NTExNTczZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsdGhpcy5q
cwpAQCAtMCwwICsxLDMxIEBACit2YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rp
b24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0
ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICIn
LCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgYWZPYmpMZXhCaW5k
MiA9IGZ1bmN0aW9uICgpIHsKKyAgdGhpcy5mdW5jID0gKCkgPT4gdGhpczsKK307CisKK3ZhciBh
Zk9iakxleEJpbmQySW5zdGFuY2UgPSBuZXcgYWZPYmpMZXhCaW5kMigpOworCit0ZXN0Q2FzZShh
Zk9iakxleEJpbmQySW5zdGFuY2UuZnVuYygpID09PSBhZk9iakxleEJpbmQySW5zdGFuY2UsIHRy
dWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFy
cm93IGZ1bmN0aW9uICMyIik7CisKK3ZhciBvYmogPSB7CisgIG1ldGhvZDogZnVuY3Rpb24gKCkg
eworICAgIHJldHVybiAoKSA9PiB0aGlzOworICB9Cit9OworCit0ZXN0Q2FzZShvYmoubWV0aG9k
KCkoKSA9PT0gb2JqLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQg
aW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMyIpOworCit2YXIgZmFrZSA9IHtzdGVhbDog
b2JqLm1ldGhvZCgpfTsKK3Rlc3RDYXNlKGZha2Uuc3RlYWwoKSA9PT0gb2JqLCB0cnVlLCAiRXJy
b3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbiAjNCIpOworCisKKy8vIEZpeG1lOiBmb2xsb3dpbmcgdGVzdCBmYWlscyBpbiBkZmctZWFn
ZXItbm8tY2ppdC12YWxpZGF0ZSAmIGZ0bC1lYWdlci1uby1jaml0IG1vZGUKK3ZhciByZWFsID0g
e2JvcnJvdzogb2JqLm1ldGhvZH07Cit0ZXN0Q2FzZShyZWFsLmJvcnJvdygpKCkgPT09IHJlYWws
IHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhl
IGFycm93IGZ1bmN0aW9uICM1Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tb3RoZXJzLmpzIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLW90aGVycy5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYmJm
ODU5ZTIwM2ViMWY1NGFjYWUxZDQwODNjYTNkZDNkYzk3NjFmCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLW90aGVycy5q
cwpAQCAtMCwwICsxLDMwIEBACit2YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rp
b24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0
ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICIn
LCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgc2ltcGxlQXJyb3dG
dW5jdGlvbiA9ICgpID0+IHt9OworCit0ZXN0Q2FzZSh0eXBlb2Ygc2ltcGxlQXJyb3dGdW5jdGlv
biwgImZ1bmN0aW9uIiwgIkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbiIpOworCit0ZXN0Q2FzZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yoc2ltcGxlQXJyb3dGdW5j
dGlvbiksIEZ1bmN0aW9uLnByb3RvdHlwZSwgIkVycm9yOiBOb3QgY29ycmVjdCBnZXRQcm90b3R5
cGVPZiB2YWx1ZSBmb3IgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2Uoc2ltcGxlQXJyb3dG
dW5jdGlvbiBpbnN0YW5jZW9mIEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJl
c3VsdCBmb3IgaW5zdGFuY2VvZiBtZXRob2QgZm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RD
YXNlKHNpbXBsZUFycm93RnVuY3Rpb24uY29uc3RydWN0b3IgPT0gRnVuY3Rpb24sIHRydWUsICJF
cnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBjb25zdHJ1Y3RvciBtZXRob2Qgb2YgYXJyb3cg
ZnVuY3Rpb24iKTsKKwordGVzdENhc2UodHlwZW9mIHNpbXBsZUFycm93RnVuY3Rpb24ucHJvdG90
eXBlID09PSAndW5kZWZpbmVkJywgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9y
IHByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiIpOworCit2YXIgZXJyb3JPbkNyZWF0ZSA9IGZh
bHNlOworCit0cnkgeworICB2YXIgZmMgPSBuZXcgc2ltcGxlQXJyb3dGdW5jdGlvbigpOworfQor
Y2F0Y2ggKGUpIHsKKyAgZXJyb3JPbkNyZWF0ZSA9IHRydWU7Cit9CisKK3Rlc3RDYXNlKGVycm9y
T25DcmVhdGUsIHRydWUsICJFcnJvcjogTm8gZXJyb3IgZHVyaW5nIHJ1biBuZXcgQXJyb3dGdW5j
dGlvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9h
cnJvd2Z1bmN0aW9uLXRkei5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YXJyb3dmdW5jdGlvbi10ZHouanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTlkMzVjZGVhNGJhZjY2NzQzMWFmOGFi
ZThkYWRmMjJkMDRiOTBlMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi10ZHouanMKQEAgLTAsMCArMSwyNCBAQAordmFy
IEEgPSBjbGFzcyBBIHsgfTsKK3ZhciBCID0gY2xhc3MgQiBleHRlbmRzIEEgeworICBjb25zdHJ1
Y3RvcihhY2Nlc3NUaGlzQmVmb3JlU3VwZXIpIHsKKyAgICBpZiAoYWNjZXNzVGhpc0JlZm9yZVN1
cGVyKSB7CisgICAgICB2YXIgZiA9ICgpID0+IHRoaXM7CisgICAgICBzdXBlcigpOworICAgIH0g
ZWxzZSB7CisgICAgICBzdXBlcigpOworICAgIH0KKyAgfQorfTsKKwordmFyIGV4Y2VwdGlvbiA9
IG51bGw7Cit0cnkgeworICAgICBuZXcgQih0cnVlKTsKK30gY2F0Y2ggKGUpIHsKKyAgICBleGNl
cHRpb24gPSBlOworICAgIGlmICghKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikpCisgICAg
ICAgIHRocm93ICJFeGNlcHRpb24gdGhyb3duIHdhcyBub3QgYSByZWZlcmVuY2UgZXJyb3IiOwor
fQoraWYgKCFleGNlcHRpb24pCisgICAgdGhyb3cgIkV4Y2VwdGlvbiBub3QgdGhyb3duIGZvciBh
biB1bml0aWFsaXplZCB0aGlzIGF0IGl0ZXJhdGlvbiI7CisKK3ZhciBlID0gbmV3IEIoZmFsc2Up
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1
bmN0aW9uLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0
aW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjA2ODdiM2FhYjFkMjdmNDUzZjkwNzYxY2VjMWFkNGQwNWNmMDNi
MzUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L2Fycm93ZnVuY3Rpb24uanMKQEAgLTAsMCArMSwxNTQgQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIg
dGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAo
YWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAn
IiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisK
K3ZhciBhcnJvd0Z1bmN0aW9uMCA9IHYgPT4gdiArIDE7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9u
MCgxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb246IHYgPT4gdiArIDEiKTsKKwordmFyIGFycm93RnVuY3Rp
b24xID0gKHYpID0+IHYgKiAyOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjEoMTApOwordGVzdENh
c2UocmVzdWx0LCAyMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uOiAodikgPT4gdiArIDEiKTsKKwordmFyIGFycm93RnVuY3Rpb24yID0gKCkgPT4g
MTAwMDsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24yKDEyMTIpOwordGVzdENhc2UocmVzdWx0LCAx
MDAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246
ICgpID0+IDEwMDAiKTsKKwordmFyIHRtcFZhcmlhbHZlMl8xID0gMTUxOwordmFyIGFycm93RnVu
Y3Rpb24yXzEgPSAoKSA9PiB0bXBWYXJpYWx2ZTJfMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24y
XzEoMTIxKTsKK3Rlc3RDYXNlKHJlc3VsdCwgdG1wVmFyaWFsdmUyXzEgLCJFcnJvcjogTm90IGNv
cnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKCkgPT4gdmFyaWFibGUiKTsK
KwordmFyIGFycm93RnVuY3Rpb24zID0gKHYsIHgpID0+IHYgKyB4OworcmVzdWx0ID0gYXJyb3dG
dW5jdGlvbjMoMTEsMTIpOwordGVzdENhc2UocmVzdWx0LCAyMyAsIkVycm9yOiBOb3QgY29ycmVj
dCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAoeCwgeSkgPT4geCArIHkiKTsKKwor
dmFyIGFycm93RnVuY3Rpb25XcmFwcGVyID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRlcikgeyByZXR1
cm4gY2wocGFyYW10ZXIpOyB9OworCityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+
IDEyMzQpOwordGVzdENhc2UocmVzdWx0LCAxMjM0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1
dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjKSIpOworCisg
cmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMjM0LCAyMzQ1KTsKK3Rlc3RDYXNl
KHJlc3VsdCwgMTIzNCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYywgeSkiKTsKKworIHJlc3VsdCA9IGFycm93
RnVuY3Rpb25XcmFwcGVyKHggPT4gMTIxICsgMjMyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzUzICwi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFy
YW10ZXI6IGYoeCA9PiBjMSArIGMyKSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBw
ZXIoeCA9PiAxMjMgKyAzMjEsIDk5OTkpOwordGVzdENhc2UocmVzdWx0LCA0NDQgLCJFcnJvcjog
Tm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjog
Zih4ID0+IGMxICsgYzIsIHkpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4
ID0+IHggKyAxMiwgMjEpOwordGVzdENhc2UocmVzdWx0LCAzMyAsIkVycm9yOiBOb3QgY29ycmVj
dCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4geCAr
IGMxLCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKHgpID0+IHggKyAy
MSwgMzIpOwordGVzdENhc2UocmVzdWx0LCA1MywgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCh4KSA9PiBjMSArIGMyLCB5
KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwKTsKK3Rlc3RD
YXNlKHJlc3VsdCwgMTAwLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYykiKTsKKworIHZhciBleHRfdmFsdWUg
PSAxMjE7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiBleHRfdmFsdWUpOwor
dGVzdENhc2UocmVzdWx0LCAxMjEsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiB2KSIpOworCisgcmVzdWx0ID0g
YXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gZXh0X3ZhbHVlICogMTApOwordGVzdENhc2UocmVz
dWx0LCAxMjEwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gdip4KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5j
dGlvbldyYXBwZXIoKHgpID0+IGV4dF92YWx1ZSAqIHgsIDMwKTsKK3Rlc3RDYXNlKHJlc3VsdCwg
MzAqZXh0X3ZhbHVlICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKHgpID0+IHYqeCwgeSkiKTsKKworIHJlc3VsdCA9IGFy
cm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCwgMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDAg
LCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBw
YXJhbXRlcjogZigoKSA9PiBjMSwgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFw
cGVyKCgpID0+IDEwMCArIDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEwICwiRXJyb3I6IE5vdCBj
b3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkg
PT4gYzEgKyBjMikiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEw
MCArIDExLCAxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDExMSAsIkVycm9yOiBOb3QgY29ycmVjdCBl
eGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMxICsg
YzIsIHkpIik7CisKKyB2YXIgYXJyb3dGdW5jdGlvbjQgPSB2ID0+IHYgKyAxLCB4eXoxID0gMTAx
MDE7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uNCgxMDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAx
MiAsIkVycm9yOiBOb3QgY29ycmVjdCBwYXJzaW5nIG9mIHRoIGFycm93IGZ1bmN0aW9uIGluc2lk
ZSBvZiB0aGUgbGlzdCBvZiB2YXJzOiB2YXIgYWYgPSB2PT4gdiArIDE7IHp4Yz1jOyIpOwordGVz
dENhc2UoeHl6MSwgMTAxMDEgLCJFcnJvcjogTm90IGNvcnJlY3QgcGFyc2luZyBvZiB0aCBhcnJv
dyBmdW5jdGlvbiBpbnNpZGUgb2YgdGhlIGxpc3Qgb2YgdmFyczogdmFyIGFmID0gdj0+IHYgKyAx
OyB6eGM9YzsiKTsKKworIHZhciBhcnJvd0Z1bmN0aW9uV3JhcHBlcjIgPSBmdW5jdGlvbiAoY2ws
IHBhcmFtdGVyMSwgcGFyYW10ZXIyKSB7IHJldHVybiBjbChwYXJhbXRlcjEsIHBhcmFtdGVyMik7
IH07CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcjIoKHgsIHkpID0+IHggKyB5LCAxMiAs
NDMpOwordGVzdENhc2UocmVzdWx0LCA1NSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24g
b2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtZXRlcjogZigoeCwgeSkgPT4geCArIHksIGMx
LCBjMikiKTsKKworIHZhciBhcnJvd0Z1bmN0aW9BcnJheTAgPSBbdiA9PiB2ICogMTBdOworcmVz
dWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkwWzBdKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwICwi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRl
bSBpbiBhcnJheTogW3Y9PnYqMTBdIik7CisKKyB2YXIgYXJyb3dGdW5jdGlvQXJyYXkxID0gW3Yg
PT4gdiArIDEsIHYgPT4gdiArIDJdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkxWzBdKDEw
KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbdiA9PiB2ICsgMSwgIHYgPT4g
diArIDJdIik7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTFbMV0oMTEpOwordGVzdENhc2Uo
cmVzdWx0LCAxMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1
bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFt2ID0+IHYgKyAxLCAgdiA9PiB2ICsgMl0iKTsKKwor
IHZhciBhcnJvd0Z1bmN0aW9BcnJheTIgPSBbKHYpID0+IHYgKyAxLCAodikgPT4gdiArIDJdOwor
cmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkyWzBdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIg
LCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBp
dGVtIGluIGFycmF5OiBbKHYpID0+IHYgKyAxLCAgKHYpID0+IHYgKyAyXSIpOworcmVzdWx0ID0g
YXJyb3dGdW5jdGlvQXJyYXkyWzFdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTMgLCJFcnJvcjog
Tm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFy
cmF5OiBbKHYpID0+IHYgKyAxLCAgKHYpID0+IHYgKyAyXSIpOworCisgdmFyIGFycm93RnVuY3Rp
b0FycmF5MyA9IFsoKSA9PiAxMDEsICgpID0+IDEyMzIzXTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rp
b0FycmF5M1swXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMSwgIkVycm9yOiBOb3QgY29ycmVj
dCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsoKSA9
PiBjMSwgICgpID0+IGMyXSIpOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkzWzFdKDExKTsK
K3Rlc3RDYXNlKHJlc3VsdCwgMTIzMjMsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKCkgPT4gYzEsICAoKSA9PiBj
Ml0iKTsKKwordmFyIGFycm93RnVuY3Rpb25PYmogPSB7ZnVuYyA6IHkgPT4geSArIDEyfTsKK3Jl
c3VsdCA9IGFycm93RnVuY3Rpb25PYmouZnVuYygxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIzICwg
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBy
b3BlcnR5OiB7ZnVuYyA6IHkgPT4geSArIDEyIH0iKTsKKwordmFyIGFmT2JqTGV4QmluZDIgPSBm
dW5jdGlvbiAoKSB7CisgIHRoaXMuZnVuYyA9ICgpID0+IHRoaXM7Cit9OworCit2YXIgYXJyb3dG
YXRGdW5jdGlvbjAgPSAoKSA9PiB7IHJldHVybiAxMDAwOyB9OworcmVzdWx0ID0gYXJyb3dGYXRG
dW5jdGlvbjAoMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDAwICwiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiAoKSA9
PiB7IHJldHVybiAxMDAwOyB9Iik7CisKK3ZhciBhcnJvd0ZhdEZ1bmN0aW9uMSA9IHYgPT4geyB2
YXIgaW50dmFsID0gMTAwOyByZXR1cm4gdiAqIGludHZhbDsgfTsKK3Jlc3VsdCA9IGFycm93RmF0
RnVuY3Rpb24xKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEwMCAsIkVycm9yOiBOb3QgY29ycmVj
dCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogeCA9
PiB7IHZhciB2PTEwMDA7IHJldHVybiB2Kng7IH0iKTsKKwordmFyIGFycm93RmF0RnVuY3Rpb24y
ID0gKHYpID0+IHsgdmFyIGludCA9IDIwMDsgcmV0dXJuIHYgKiBpbnQ7IH07CityZXN1bHQgPSBh
cnJvd0ZhdEZ1bmN0aW9uMigxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIyMDAgLCJFcnJvcjogTm90
IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxv
Y2s6ICh4KSA9PiB7IHZhciB2PTEwMDA7IHJldHVybiB2Kng7IH0iKTsKKwordmFyIGFycm93RmF0
RnVuY3Rpb24zID0gKHYsIHgpID0+IHsgdmFyIHJlc3VsdCA9IHggKiB2OyByZXR1cm4gcmVzdWx0
OyB9OworcmVzdWx0ID0gYXJyb3dGYXRGdW5jdGlvbjMoMTEsIDEyMjIyKTsKK3Rlc3RDYXNlKHJl
c3VsdCwgMTM0NDQyICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiAodiwgeCkgPT4geyB2YXIgcmVzdWx0ID0geCAq
IHY7IHJldHVybiByZXN1bHQ7IH0iKTsKKworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIo
eD0+e3JldHVybiB4ICogMjU7fSwgMTIxKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjUqMTIxICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5
IGFzIGJsb2NrOiBmKHggPT4ge3JldHVybiB4ICogMjU7fSwgMTIxKSIpOworCityZXN1bHQgPSBh
cnJvd0Z1bmN0aW9uV3JhcHBlcjIoKHgsIHkpPT57cmV0dXJuIHggKiB5O30sIDE0LCAxMik7Cit0
ZXN0Q2FzZShyZXN1bHQsIDE0KjEyICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0
aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiBmKCh4LCB5KT0+e3JldHVybiB4
ICogeTt9LCAxNCwgMTIxKSkiKTsKKwordmFyIHNpbXBsZUFycm93RnVuY3Rpb24gPSAoKSA9PiB7
fTsKKwordGVzdENhc2UodHlwZW9mIHNpbXBsZUFycm93RnVuY3Rpb24sICJmdW5jdGlvbiIsICJF
cnJvcjogTm90IGNvcnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENh
c2UoT2JqZWN0LmdldFByb3RvdHlwZU9mKHNpbXBsZUFycm93RnVuY3Rpb24pLCBGdW5jdGlvbi5w
cm90b3R5cGUsICJFcnJvcjogTm90IGNvcnJlY3QgZ2V0UHJvdG90eXBlT2YgdmFsdWUgZm9yIGFy
cm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93RnVuY3Rpb24gaW5zdGFuY2Vv
ZiBGdW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIGluc3RhbmNl
b2YgbWV0aG9kIGZvciBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1
bmN0aW9uLmNvbnN0cnVjdG9yID09IEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0
IHJlc3VsdCBmb3IgY29uc3RydWN0b3IgbWV0aG9kIG9mIGFycm93IGZ1bmN0aW9uIik7CisKK3Rl
c3RDYXNlKHR5cGVvZiBzaW1wbGVBcnJvd0Z1bmN0aW9uLnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5l
ZCcsIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBwcm90b3R5cGUgb2YgYXJy
b3cgZnVuY3Rpb24iKTsKKwordmFyIGVycm9yT25DcmVhdGUgPSBmYWxzZTsKKwordHJ5IHsKKyAg
dmFyIGZjID0gbmV3IHNpbXBsZUFycm93RnVuY3Rpb24oKTsKK30KK2NhdGNoIChlKSB7CisgIGVy
cm9yT25DcmVhdGUgPSB0cnVlOworfQorCit0ZXN0Q2FzZShlcnJvck9uQ3JlYXRlLCB0cnVlLCAi
RXJyb3I6IE5vIGVycm9yIGR1cmluZyBydW4gbmV3IEFycm93RnVuY3Rpb24iKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
IGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
aW5kZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0OGE3Njk3
MmYxMTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dl
YkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ1LDYgKzQ1
LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NB
TlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19T
WU5UQVg7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQU5JTUFUSU9O
U19MRVZFTF8yID0gRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBAIC0yMTQsNCArMjE1
LDQgQEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRf
QVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRV
UkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURf
MkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5B
QkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9D
QUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNf
UFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lO
VEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5B
QkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9C
UkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBU
QVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lP
TlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJM
RV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVO
QUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFC
TEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJM
RV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChF
TkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBS
RUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJ
TUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9D
T05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFC
TEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMp
ICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVU
Q0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVO
QUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01F
VEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUp
ICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdD
T05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJ
TikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJP
WElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9U
QSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVU
T0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9O
X01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9M
TF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkg
JChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdf
T1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5B
QkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19U
UkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQo
RU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVX
X01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVO
QUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9T
SVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5B
QkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJM
RV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChF
TkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFC
TEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAk
KEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykg
JChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hB
Tk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxF
X0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1Nf
Qk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVf
Q1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxF
X0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQo
RU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFC
TEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElO
RV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hF
TUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNU
X0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNf
RUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5U
U19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBU
RURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FE
X0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5B
QkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJ
RERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lO
Q09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9T
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9J
T1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVO
QUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRS
T0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9V
U0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFC
TEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5B
QkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlT
RVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElT
VCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVO
QUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChF
TkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQo
RU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFC
TEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05U
UykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJf
REVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9T
SVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5H
KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQo
RU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxV
RSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxF
X1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQo
RU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZU
VF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVf
RlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VU
X0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnIGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKaW5kZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0
OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIv
U291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
QEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRI
OwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVO
QUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxF
X0VTNl9DTEFTU19TWU5UQVg7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5B
QkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9
IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9D
U1NfQU5JTUFUSU9OU19MRVZFTF8yID0gRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBA
IC0yMTQsNCArMjE1LDQgQEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVS
QVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVU
SUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVf
QUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5U
KSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVO
QUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9F
UzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQ
X05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hf
REVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1Nf
REVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NT
X0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFC
TEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9D
U1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JS
RUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9I
QU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxF
TUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVN
RU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NP
TlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZF
TlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVf
R0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVO
X1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFC
TEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01Q
TEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
V0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VT
VFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxF
X0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNf
U0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1Mp
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9O
QVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
UERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykg
JChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAk
KEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxF
X1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJM
RV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFC
TEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9T
VFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAk
KEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRF
Q1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQo
RU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAk
KEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VC
X0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFC
TEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JF
R0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExf
SklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJ
VEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJ
TkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5W
QVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZG
X0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BB
UlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkg
JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQo
RU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
TkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAk
KEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElO
RykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlP
VVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JF
U09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xF
VkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9D
U1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxF
X0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5B
QkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5B
QkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFC
TEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dB
TUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09O
REFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5E
SUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkg
JChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9W
RU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRF
UlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxF
X01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9N
RURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkg
JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChF
TkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJ
Q19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9O
X0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lO
U1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVS
X0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRI
RVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5B
QkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJM
RV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hf
SUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNF
TEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVf
REFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VC
R0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VC
X1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQo
RU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNM
VCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRV
UkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RF
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKaW5kZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2
MC4uMTE0OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysr
IGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
QEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRI
OwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVO
QUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxF
X0VTNl9DTEFTU19TWU5UQVg7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5B
QkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9
IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9D
U1NfQU5JTUFUSU9OU19MRVZFTF8yID0gRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBA
IC0yMTQsNCArMjE1LDQgQEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVS
QVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVU
SUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVf
QUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5U
KSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVO
QUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9F
UzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQ
X05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hf
REVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1Nf
REVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NT
X0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFC
TEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9D
U1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JS
RUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9I
QU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxF
TUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVN
RU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NP
TlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZF
TlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVf
R0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVO
X1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFC
TEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01Q
TEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
V0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VT
VFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxF
X0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNf
U0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1Mp
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9O
QVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
UERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykg
JChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAk
KEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxF
X1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJM
RV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFC
TEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9T
VFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAk
KEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRF
Q1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQo
RU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAk
KEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VC
X0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFC
TEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JF
R0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExf
SklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJ
VEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJ
TkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5W
QVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZG
X0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BB
UlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkg
JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQo
RU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
TkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAk
KEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElO
RykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlP
VVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JF
U09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xF
VkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9D
U1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxF
X0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5B
QkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5B
QkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFC
TEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dB
TUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09O
REFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5E
SUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkg
JChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9W
RU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRF
UlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxF
X01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9N
RURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkg
JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChF
TkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJ
Q19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9O
X0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lO
U1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVS
X0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRI
RVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5B
QkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJM
RV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hf
SUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNF
TEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVf
REFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VC
R0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VC
X1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQo
RU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNM
VCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRV
UkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RF
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZSBiL1NvdXJj
ZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQppbmRleCA4NGM4ZGNkMzk5YWY5MGMwNzllMTEw
ZWFmODNlYjk3MjkwODk2YzczLi45ZDNhN2Y4MzM3NDg0OTZjM2YxMDgyNzM4NmZhOTZhYThjOTU1
MjRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKKysrIGIv
U291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCkBAIC0zOSw2ICszOSw3IEBAIG1hY3Jv
KFdFQktJVF9PUFRJT05fQkVHSU4pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NB
TlZBU19QUk9YWSAiVG9nZ2xlIENhbnZhc1Byb3h5IHN1cHBvcnQiIE9GRikKICAgICBXRUJLSVRf
T1BUSU9OX0RFRklORShFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgIlRvZ2dsZSBNZXNzYWdlQ2hh
bm5lbCBhbmQgTWVzc2FnZVBvcnQgc3VwcG9ydCIgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJ
TkUoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggIlRvZ2dsZSBFUzYgY2xhc3Mgc3ludGF4IHN1cHBv
cnQiIE9OKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9FUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVggIlRvZ2dsZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1cHBvcnQiIE9OKQog
ICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyAiVG9nZ2xl
IGNvbnRlbnQgZmlsdGVyaW5nIHN1cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklO
RShFTkFCTEVfQ09OVEVYVF9NRU5VUyAiVG9nZ2xlIENvbnRleHQgTWVudSBzdXBwb3J0IiBPTikK
ICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ1NQX05FWFQgIlRvZ2dsZSBDb250ZW50
IFNlY3VyaXR5IFBvbGljeSAxLjEgc3VwcG9ydCIgT0ZGKQpkaWZmIC0tZ2l0IGEvU291cmNlL2Nt
YWtlY29uZmlnLmguY21ha2UgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQppbmRleCA1ZTk4
M2Q1ZTY1YjA3ZWY3ZGM1M2VjOWQzYzZhOGEyOTM5MTc1Y2IyLi4yM2RhZjU5NjYzNTAyMmRmNDIw
ZjI4YWRhNjdkOTM0NzdjYTBlMmQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2Vjb25maWcuaC5j
bWFrZQorKysgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQpAQCAtMTQsNiArMTQsNyBAQAog
I2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NBTlZBU19QUk9YWQogI2NtYWtlZGVmaW5lMDEgRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRB
WAorI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWAogI2NtYWtl
ZGVmaW5lMDEgRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVf
Q09OVEVYVF9NRU5VUwogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NSRURFTlRJQUxfU1RPUkFHRQpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCmluZGV4IDAwMDMyYzFkMDI1NGY0
ZDZhN2EwZmNhNTUzMWIzNDFkMzVkMjk1NzIuLmQ4NjZkZTYxZTNkNGQ1MmYwY2FhNzk3ODM1YWJi
NzQxY2E1MGQzOTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJl
TGlzdC5wbQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KQEAg
LTQ1LDYgKzQ1LDcgQEAgbXkgKAogICAgICR0aHJlZURSZW5kZXJpbmdTdXBwb3J0LAogICAgICRh
Y2NlbGVyYXRlZDJEQ2FudmFzU3VwcG9ydCwKICAgICAkYXR0YWNobWVudEVsZW1lbnRTdXBwb3J0
LAorICAgICRhcnJvd2Z1bmN0aW9uU3ludGF4LAogICAgICRiYXR0ZXJ5U3RhdHVzU3VwcG9ydCwK
ICAgICAkY2FudmFzUGF0aFN1cHBvcnQsCiAgICAgJGNhbnZhc1Byb3h5U3VwcG9ydCwKQEAgLTE1
Nyw2ICsxNTgsOCBAQCBteSBAZmVhdHVyZXMgPSAoCiAKICAgICB7IG9wdGlvbiA9PiAiYXR0YWNo
bWVudC1lbGVtZW50IiwgZGVzYyA9PiAiVG9nZ2xlIEF0dGFjaG1lbnQgRWxlbWVudCBzdXBwb3J0
IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCIsIGRlZmF1bHQg
PT4gMCwgdmFsdWUgPT4gXCRhdHRhY2htZW50RWxlbWVudFN1cHBvcnQgfSwKKyAgICB7IG9wdGlv
biA9PiAiYXJyb3dmdW5jdGlvbi1zeW50YXgiLCBkZXNjID0+ICJUb2dnbGUgRVM2IGFycm93IGZ1
bmN0aW9uIHN5bnRheCBzdXBwb3J0IiwKKyAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCIsIGRlZmF1bHQgPT4gMSwgdmFsdWUgPT4gXCRhcnJvd2Z1bmN0aW9u
U3ludGF4IH0sCiAKICAgICB7IG9wdGlvbiA9PiAiYmF0dGVyeS1zdGF0dXMiLCBkZXNjID0+ICJU
b2dnbGUgQmF0dGVyeSBTdGF0dXMgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9C
QVRURVJZX1NUQVRVUyIsIGRlZmF1bHQgPT4gaXNFZmwoKSwgdmFsdWUgPT4gXCRiYXR0ZXJ5U3Rh
dHVzU3VwcG9ydCB9LApkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDRh
ODUwOWRkMDI3YjJmODg2NWRhY2I1NzE2OTk3ZDcwODE1ZjRjYmYuLjlmMGNjOGE4N2RlZmYwM2M5
ZWQ0ZTIzNGQxMTQ2N2ZhZmVjNDdmNjggMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNS0wNC0xMyAgIFNrYWNoa292IEFsZXhhbmRyICA8
Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93
IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICBBZGRlZCBmZWF0dXJlIGZsYWcgdG8gc3dpdGNoIG9uL29mZiBlczYgYXJyb3cg
ZnVuY3Rpb24gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWAorCisgICAgICAgICAqIFNv
dXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZToKKyAgICAgICAgICogU291cmNlL2NtYWtl
Y29uZmlnLmguY21ha2U6CisKIDIwMTUtMDQtMTMgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lA
d2Via2l0Lm9yZz4KIAogICAgICAgICBbY21ha2VdIEFkZCBFTkFCTEUoQVRUQUNITUVOVF9FTEVN
RU5UKSB0byB0aGUgYnVpbGQgc3lzdGVtCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250649</attachid>
            <date>2015-04-13 10:18:01 -0700</date>
            <delta_ts>2015-04-13 10:33:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150413201702.patch</filename>
            <type>text/plain</type>
            <size>136569</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyNzM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
Zjg2NGE0YzA2OTk2NTg3ZjcyYWMyNGM1OGUzOTdmMmZmMjc2OWRkLi41YmQxNTY0Nzc4OWQwODE0
OWI3NGNkMmY1NjMyODU1YWE1ZTY3ZTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMTUgQEAKKzIwMTUtMDQtMTMgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgc3VwcG9ydCBvZiBFUzYgYXJyb3cgZnVuY3Rpb24uIENoYW5nZXMgd2VyZSBtYWRlIGFj
Y29yZGluZyBmb2xsb3dpbmcgc3BlYyBodHRwOi8vd2lraS5lY21hc2NyaXB0Lm9yZy9kb2t1LnBo
cD9pZD1oYXJtb255OmFycm93X2Z1bmN0aW9uX3N5bnRheAorICAgICAgICBJbiBwYXRjaCB3ZXJl
IGltcGxlbWVudGVkIHRoZSBzaW1wbGVzdCBjYXNlczoKKyAgICAgICAgICAxIG5vIHBhcmFtZXRl
cnMgICAgICAgICAgICAgICAgKCkgPT4gMTAgKyAyMAorICAgICAgICAgIDIgc2luZ2xlIHBhcmFt
ZXRlciAgICAgICAgICAgICAgeCA9PiB4ICsgMjAKKyAgICAgICAgICAzIG11bHRpcGxlIHBhcmFt
ZXRlcnMgICAgICAoeCwgeSkgPT4geCArIHkKKyAgICAgICAgICA0IGFycm93IGZ1bmN0aW9uIHdp
dGggYmxvY2sgICAgIHggPT4geyByZXR1cm4geCoxMDsgfQorICAgICAgICAgIDUgbGV4aWNhbCB0
aGlzIC0gdmFyaWFibGUgdGhpcyBpcyBwb2ludCB0byB0aGUgdGhpcyBvZiB0aGUgZnVuY3Rpb24g
d2hlcmUgYXJyb3cgZnVuY3Rpb24gaXMgZGVjbGFyZWQKKyAgICAgICAgICA2IE5vIGNvbnN0cnVj
dG9yIC0gdGhlIHVzaW5nIG9mIHRoZSBjb21tYW5kIG5ldyBmb3IgYXJyb3cgZnVuY3Rpb24gbGVh
ZHMgdG8gcnVudGltZSBlcnJvci4gCisKKyAgICAgICAgIE5vdCB5ZXQgaW1wbGVtZW50ZWQ6Cisg
ICAgICAgICAgMSB0aGUgdmFyaWFibGUgd2l0aCBuYW1lIGFyZ3VtZW50cyBpbnNpZGUgb2YgdGhl
IGFycm93IGZ1bmN0aW9uIHNob3VsZCBwb2ludCB0byBsaXN0IG9mIGFyZ3VtZW50cyBvZiBmdW5j
dGlvbiB3aGVyZSBhcnJvdyBmdW5jdGlvbiBpcyBkZWNsYXJlZAorICAgICAgICAgIDIgcGFyc2Vy
IHdpbGwgcGFyc2UgdGhlIHN0YXRlbWVudCB4LCB5ID0+IHggKyB5IGluc3RlYWQgb2YgcmFpc2lu
ZyBleGNlcHRpb24KKyAgICAgICAgICAzIG1ldGhvZCBjYWxsLCBhcHBseSwgYmluZCBzaG91bGQg
bm90IG92ZXJyaWRlIHRoZSB0aGlzIHZhcmlhYmxlIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgor
ICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvajoK
KyAgICAgICAgKiBieXRlY29kZS9CeXRlY29kZUxpc3QuanNvbjoKKyAgICAgICAgKiBieXRlY29k
ZS9CeXRlY29kZVVzZURlZi5oOgorICAgICAgICAoSlNDOjpGdW5jdG9yOjpjb21wdXRlVXNlc0Zv
ckJ5dGVjb2RlT2Zmc2V0KToKKyAgICAgICAgKiBieXRlY29kZS9Db2RlQmxvY2suY3BwOgorICAg
ICAgICAoSlNDOjpDb2RlQmxvY2s6OmR1bXBCeXRlY29kZSk6CisgICAgICAgICogYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2Rl
R2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdB
cnJvd0Z1bmN0aW9uRXhwcmVzc2lvbik6IGFkZGVkCisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2Vu
ZXJhdG9yOjplbWl0VGhpc05vZGVCeXRlY29kZSk6IGFkZGVkCisgICAgICAgICogYnl0ZWNvbXBp
bGVyL05vZGVzQ29kZWdlbi5jcHA6CisgICAgICAgIChKU0M6OmVtaXRCeXRlY29kZTo6ZW1pdEJ5
dGVjb2RlKTogYWRkZWQKKyAgICAgICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGU6OmVtaXRCeXRl
Y29kZSk6IGFkZGVkCisgICAgICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAg
ICAgKEpTQzo6Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAqIGRmZy9ERkdD
YXBhYmlsaXRpZXMuY3BwOgorICAgICAgICAoSlNDOjpDYXBhYmlsaXR5TGV2ZWw6OmNhcGFiaWxp
dHlMZXZlbCk6CisgICAgICAgICogaml0L0pJVC5oOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRf
b3BfbmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUSW5saW5lcy5o
OgorICAgICAgICAoSlNDOjpKSVQ6OmNhbGxPcGVyYXRpb24pOiBhZGRlZAorICAgICAgICAqIGpp
dC9KSVQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3MpOgor
ICAgICAgICAqIGppdC9KSVRPcGNvZGVzLmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29w
X25ld19hcnJvd19mdW5jX2V4cCk6IGFkZGVkCisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMu
Y3BwOgorICAgICAgICAoSlNDOjpKSVRfT1BFUkFUSU9OOjpvcGVyYXRpb25OZXdBcnJvd0Z1bmN0
aW9uKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5oOgorICAgICAgICAoSlND
OjpKSVRfT1BFUkFUSU9OOjpvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKTogYWRkZWQKKyAgICAg
ICAgKiBsbGludC9MTEludFNsb3dQYXRocy5jcHA6CisgICAgICAgIChMTElOVF9TTE9XX1BBVEhf
REVDTChzbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBsbGlu
dC9MTEludFNsb3dQYXRocy5oOgorICAgICAgICAoTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19w
YXRoX25ld19hcnJvd19mdW5jX2V4cCkpOiBhZGRlZAorICAgICAgICAqIGxsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOgorICAgICAgICAqIHBhcnNlci9BU1RCdWlsZGVyLmg6CisgICAgICAg
IChKU0M6OkFTVEJ1aWxkZXI6OmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAgICAgKiBw
YXJzZXIvTGV4ZXIuY3BwOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlv
bik6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpsZXgpOgorICAgICAgICAqIHBhcnNlci9MZXhl
ci5oOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlvbik6CisgICAgICAg
ICogcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaDoKKyAgICAgICAgKEpTQzo6QXJyb3dGdW5jRXhw
ck5vZGU6OkFycm93RnVuY0V4cHJOb2RlKTogYWRkZWQKKyAgICAgICAgKiBwYXJzZXIvTm9kZXMu
aDoKKyAgICAgICAgKEpTQzo6Tm9kZTo6aXNBcnJvd0Z1bmNFeHByTm9kZSk6IGFkZGVkCisgICAg
ICAgIChKU0M6OkFycm93RnVuY0V4cHJOb2RlKTogYWRkZWQgY2xhc3MKKyAgICAgICAgKiBwYXJz
ZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291
cmNlRWxlbWVudHMpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmlt
YXJ5RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VTb3VyY2VFbGVtZW50
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6
OlBhcnNlcjo6cGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNl
cjo6cGFyc2VQcmltYXJ5RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VB
cnJvd0V4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnNldEVuZE9mU3RhdGVtZW50
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKToKKyAg
ICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25JbmZvKToKKyAgICAgICAgKEpT
Qzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25Cb2R5KToKKyAgICAgICAgKiBwYXJzZXIvUGFy
c2VyLmg6CisgICAgICAgIChKU0M6OlBhcnNlcjo6RnVuY3Rpb25QYXJzZVR5cGUpOgorICAgICAg
ICAoSlNDOjpQYXJzZXI6OnBhcnNlU291cmNlRWxlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNl
cjo6cGFyc2VTdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dFeHBy
ZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpzZXRFbmRPZlN0YXRlbWVudCk6CisgICAg
ICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcik6CisgICAgICAgICog
cGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oOgorICAgICAgICAqIHBhcnNlci9QYXJzZXJUb2tl
bnMuaDoKKyAgICAgICAgKEpTQzo6UGFyc2VyRnVuY3Rpb25JbmZvOjphcnJvd0Z1bmN0aW9uT2Zm
c2V0KTogYWRkZWQKKyAgICAgICAgKEpTQzo6UGFyc2VyRnVuY3Rpb25JbmZvOjppc0Fycm93RnVu
Y3Rpb24pOiBhZGRlZAorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmFycm93RnVu
Y3Rpb25Cb2R5VHlwZSk6IGFkZGVkCisgICAgICAgICogcGFyc2VyL1NvdXJjZUNvZGUuaDoKKyAg
ICAgICAgKEpTQzo6U291cmNlQ29kZTo6c3ViQXJyb3dFeHByZXNzaW9uKToKKyAgICAgICAgKiBw
YXJzZXIvU3ludGF4Q2hlY2tlci5oOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVh
dGVBcnJvd0Z1bmN0aW9uRXhwcik6CisgICAgICAgICogcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2Fj
aGVJdGVtOgorICAgICAgICAoSlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFy
YW1ldGVycyk6CisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKToKKyAgICAg
ICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW06OmVuZEFycm93RnVuY3Rpb25Ub2tlbik6
CisgICAgICAgICogcnVudGltZS9KU0Fycm93RnVuY3Rpb24uaDogYWRkZWQgY2xhc3MgZm9yIGhh
bmRsZSBhcnJvdyBmdW5jdGlvbiBjcmVhdGlvbiBhbmQgZXhlY3V0aW9uCisgICAgICAgICogcnVu
dGltZS9KU0Fycm93RnVuY3Rpb24uY3BwOgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbi5o
OgorICAgICAgICAoSlNDOjpKU0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKTogYWRkZWQgb25lIG1vcmUg
Y29uc3RydWN0b3IKKyAgICAgICAgKiBydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmg6CisgICAg
ICAgIChKU0M6OkpTRnVuY3Rpb246OkpTRnVuY3Rpb24pOiBhZGRlZCBjb25zdHJ1Y3RvciBpbXBs
ZW1lbnRhdGlvbgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgorICAgICAg
ICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6aW5pdCk6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2Jq
ZWN0OjptX2Fycm93RnVuY3Rpb25TdHJ1Y3R1cmUpOiBhZGRlZAorICAgICAgICAoSlNDOjpKU0ds
b2JhbE9iamVjdDo6YXJyb3dGdW5jdGlvblN0cnVjdHVyZSk6CisgICAgICAgICogdGVzdHMvc3Ry
ZXNzL2pzL2Fycm93ZnVuY3Rpb24uanM6CisKIDIwMTUtMDQtMTIgIEFsZXhhbmRyIFNrYWNoa292
ICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KICAgICAgICAgU21hbGwgcmVmYWN0b3Jpbmcgb2YgdGhl
IHBhcmNlci5jcHAgZmlsZS4gSXQgaXMgbmVjZXNzYXJ5IHRvIGluY3JlYXNlIHJlYWRhYmlsaXR5
IG9mIHRoZSBwYXRjaAogICAgICAgICB3aXRoIEVTNiBBcnJvdyBmdW5jdGlvbiBpbXBsZW1lbnRh
dGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IDcxNDdlZDkzNjZlNDRkMjVlZTNjZTUwYzAyNzY2MjEwODYxM2Zi
MWYuLmJmMWE3ODMzMjc3N2M5NGRiYzg2OGM2MGUyMzBlODRlYzQwODNiMDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNCBAQAorMjAxNS0wNC0xMyAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hr
b3ZAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rp
b24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNDA4NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGRlZCBmZWF0dXJlIGZsYWcgRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCBmb3Ig
YXJyb3cgZnVuY3Rpb24KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnOgorCiAyMDE1LTA0LTEyICBCZW5qYW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBMZWdhY3kgc2Nyb2xsIGJlaGF2aW9yIG9uIEhUTUxCb2R5RWxl
bWVudCBzaG91bGQgb25seSBhcHBseSB0byB0aGUgZmlyc3QgYm9keSBlbGVtZW50IG9mIGEgZG9j
dW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCBiYTRlMDU3OWU5ZGU5OGI5MWJhNjhmNTdkYzgzZWU5
ZDJkOTE4ZTM3Li40M2FiNmNhMDM0MTJhMDcyZTdiMGYzZjhhNDlmMDZhZmJmODc4ZGJhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDQtMTMgIFNrYWNoa292IEFsZXhh
bmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2
IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVggZm9yIGFycm93IGZ1bmN0aW9uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxNS0wNC0xMSAgWXVzdWtlIFN1enVraSAgPHV0
YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBbRVM2XSBFbmFibGUgU3ltYm9sIGluIHdl
YiBwYWdlcwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDc5MTk2Mjg0NzYy
YjMwMDM0NDE3ZmE0ZjE0ZjFmYjI4MzgxYzQ1ZTkuLjdiODkyMjNhYTkxZDc3YjdjNmI0NGM1ODBj
MzM0ODZhYTNiYTBmNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxp
c3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQ2
Niw2ICs0NjYsNyBAQCBzZXQoSmF2YVNjcmlwdENvcmVfUlVOVElNRV9TT1VSQ0VTCiAgICAgcnVu
dGltZS9KU0FycmF5QnVmZmVyVmlldy5jcHAKICAgICBydW50aW1lL0pTQXJyYXlJdGVyYXRvci5j
cHAKICAgICBydW50aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAKKyAgICBydW50aW1lL0pTQXJyb3dG
dW5jdGlvbi5jcHAKICAgICBydW50aW1lL0pTR2xvYmFsT2JqZWN0RGVidWdnYWJsZS5jcHAKICAg
ICBydW50aW1lL0pTQ0pTVmFsdWUuY3BwCiAgICAgcnVudGltZS9KU0NhbGxlZS5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwppbmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0MWZkYjZmNDY4OTg4MDU4
OWFmODYwLi4xMTQ4YTc2OTcyZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1NTBhMDUxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00NSw2ICs0NSw3IEBAIEVOQUJMRV9DQU5WQVNfUEFUSCA9
IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hB
Tk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7CiBFTkFCTEVfRVM2X0NM
QVNTX1NZTlRBWCA9IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYOworRU5BQkxFX0VTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ1NQ
X05FWFQgPSA7CiBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMiA9IEVOQUJMRV9DU1NfQU5J
TUFUSU9OU19MRVZFTF8yOwpAQCAtMjE0LDQgKzIxNSw0IEBAIEVOQUJMRV9MTElOVF9DX0xPT1Ag
PSA7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJB
VEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9S
RU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxF
UkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxF
X0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJM
RV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxU
RVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8y
KSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJ
VElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9M
QVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdF
X1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JT
X0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJM
RV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5B
QkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQo
RU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQo
RU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChF
TkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxF
X0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJ
T04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9J
Q09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVf
SU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdF
VCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0la
SU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FD
WV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xF
VFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5B
QkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJM
RV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRN
TCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVO
VF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykg
JChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BV
QkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFU
SU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RF
X0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVC
QkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZ
TlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQo
RU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RF
TEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVO
QUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9V
Q0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNF
UlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFC
TEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVf
V0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVf
V0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcp
ICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVf
WFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9T
QVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9N
T0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVf
QUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5U
KSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVO
QUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9F
UzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5B
QkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FO
SU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVO
QUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChF
TkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFC
TEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NT
UzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9W
SVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hC
T0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RS
QU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9P
UklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxU
RVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JF
RU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQo
RU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RU
TElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dP
UktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lO
UFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVT
U19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
SU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
TEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FV
RElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElB
X1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVO
VCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVf
TkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZ
KSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJM
RV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZF
TlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJM
RV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUp
ICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVF
UlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQo
RU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9T
VUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVS
VEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExB
VEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dP
UkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklE
RU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1Nf
TUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9S
RVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVO
QUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJ
TUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0Nf
TE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURF
T19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJv
agppbmRleCA3NDMzMGU3MDNkYWM0ZDM2MDBlYWIyN2EwYWQ4ZWI0YWYwMGUwYjMyLi42MjI4NzNk
ZDJmOTQ3MGE5MTMxOGFjY2NkNDcwOWRjZWFlNzI2MDhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9q
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFT
Y3JpcHRDb3JlLnZjeHByb2oKQEAgLTczNCw2ICs3MzQsNyBAQAogICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5ccnVudGltZVxKU0FycmF5QnVmZmVyUHJvdG90eXBlLmNwcCIgLz4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJheUJ1ZmZlclZpZXcuY3BwIiAvPgogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0JvdW5kRnVuY3Rpb24uY3BwIiAvPgor
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0Fycm93RnVuY3Rpb24uY3BwIiAv
PgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NKU1ZhbHVlLmNwcCIgLz4K
ICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDYWxsZWUuY3BwIiAvPgogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NhdGNoU2NvcGUuY3BwIiAvPgpAQCAt
MTUyNiw2ICsxNTI3LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNB
cnJheUJ1ZmZlclZpZXdJbmxpbmVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxy
dW50aW1lXEpTQXJyYXlJdGVyYXRvci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
cnVudGltZVxKU0JvdW5kRnVuY3Rpb24uaCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XHJ1bnRpbWVcSlNBcnJvd0Z1bmN0aW9uLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxydW50aW1lXEpTQ0lubGluZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1
bnRpbWVcSlNDSlNWYWx1ZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGlt
ZVxKU0NKU1ZhbHVlSW5saW5lcy5oIiAvPgpAQCAtMTgwMCw0ICsxODAyLDQgQEAKICAgPEltcG9y
dEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQo
VkNUYXJnZXRzUGF0aClcQnVpbGRDdXN0b21pemF0aW9uc1xtYXNtLnRhcmdldHMiIC8+CiAgIDwv
SW1wb3J0R3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9Q
cm9qZWN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBiYTJkMTM2ZWI5NWI1YTlm
ZDM1NGFiMzBhOGYzNjkxYmY3OGNlYjg2Li5lOWQ2ZjI0NjVlMzM4NTVkMzY4YjRkMjA0ZTBkNzY0
NmM1NmU5ODlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTA5Miw2ICsxMDky
LDggQEAKIAkJODZGM0VFQkYxNjhDREU5MzAwNzdCOTJBIC8qIE9iamNSdW50aW1lRXh0cmFzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkYzRUVCNjE2
ODU1QTVCMDA3N0I5MkEgLyogT2JqY1J1bnRpbWVFeHRyYXMuaCAqLzsgfTsKIAkJODZGQTlFOTEx
NDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkZBOUU4RjE0MkJCQjJEMDAxNzczQjcgLyog
SlNCb3VuZEZ1bmN0aW9uLmNwcCAqLzsgfTsKIAkJODZGQTlFOTIxNDJCQkIyRTAwMTc3M0I3IC8q
IEpTQm91bmRGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICov
OyB9OworCQk4QjBGNDI0QzFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhCMEY0MjRCMUFC
RDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uY3BwICovOyB9OworCQk4QjBGNDI0QzFB
QkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEgLyogSlNB
cnJvd0Z1bmN0aW9uLmggKi87IH07CiAJCTkwMjEzRTNEMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1v
cnlTdGF0aXN0aWNzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDkwMjEzRTNCMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmNwcCAq
LzsgfTsKIAkJOTAyMTNFM0UxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkwMjEzRTNDMTIz
QTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTMwNTJDMzQwRkI3OTIxOTAwNDhGREMzIC8q
IFBhcnNlckFyZW5hLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDkzMDUyQzMyMEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5jcHAgKi87IH07
CkBAIC0yODI0LDYgKzI4MjYsOCBAQAogCQk4NkY3NUVGRDE1MUMwNjJGMDA3QzlCQTMgLyogUmVn
RXhwTWF0Y2hlc0FycmF5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFJlZ0V4cE1hdGNoZXNBcnJheS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2
RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRG
dW5jdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0JvdW5kRnVuY3Rp
b24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOEIwRjQyNEExQUJENkQyRjAwMzkx
N0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Fycm93RnVuY3Rpb24u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VB
IC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0Fycm93RnVuY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
MDIxM0UzQjEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZW1vcnlTdGF0aXN0aWNzLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTAyMTNFM0MxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9y
eVN0YXRpc3RpY3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVtb3J5U3Rh
dGlzdGljcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzA1MkMzMjBGQjc5MjE5
MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gUGFyc2VyQXJlbmEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
NDQzOCw2ICs0NDQyLDggQEAKIAkJCQlBN0JEQUVDNTE3RjRFQTE0MDBGNjE0MEMgLyogSlNBcnJh
eUl0ZXJhdG9yLmggKi8sCiAJCQkJODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRG
dW5jdGlvbi5jcHAgKi8sCiAJCQkJODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRG
dW5jdGlvbi5oICovLAorCQkJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdFQSAvKiBKU0Fycm93RnVu
Y3Rpb24uaCAqLywKKwkJCQk4QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0
aW9uLmNwcCAqLywKIAkJCQk2NTdDRjQ1NjE5QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuY3Bw
ICovLAogCQkJCTY1N0NGNDU3MTlCRjY2NjIwMDRBQ0JGMiAvKiBKU0NhbGxlZS5oICovLAogCQkJ
CTBGRDk0OTdFMUE5N0RCOTYwMEUyODk2NiAvKiBKU0NhdGNoU2NvcGUuY3BwICovLApAQCAtNzE2
Niw2ICs3MTcyLDcgQEAKIAkJCQkwRkQ4QTMxQjE3RDUxRjIyMDBDQTJDNDAgLyogRlRMT1NSRW50
cnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyMzVCREMxNzE3OEUxQzAwNjkwQzdGIC8qIEZU
TE9TUkV4aXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyMzVCREYxNzE3OEUxQzAwNjkwQzdG
IC8qIEZUTE9TUkV4aXRDb21waWxlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4QjBGNDI0QzFB
QkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTBGRUEwQTJBMTcwOTYyOTYwMEJCNzIyQyAvKiBGVExPdXRwdXQuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMEY0ODUzMjkxODdERkRFQzAwODNCNjg3IC8qIEZUTFJlY292ZXJ5T3Bjb2RlLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTBGNkIxQ0MzMTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExSZWdpc3Rl
ckF0T2Zmc2V0LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCmluZGV4IDZiMjQzOTE1NmFiM2FmYWU2YjU1OGFi
OTA2NmQyMjI1MTVkNTllNDUuLjQzNjA3MDlkOGY3ZTQxODIxNWFiMmFmOTU5YmY2NDQ4YWYwMzgw
MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxp
c3QuanNvbgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0
Lmpzb24KQEAgLTk1LDYgKzk1LDcgQEAKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX3N3aXRj
aF9zdHJpbmciLCAibGVuZ3RoIiA6IDQgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX25l
d19mdW5jIiwgImxlbmd0aCIgOiA0IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdf
ZnVuY19leHAiLCAibGVuZ3RoIiA6IDQgfSwKKyAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX25l
d19hcnJvd19mdW5jX2V4cCIsICJsZW5ndGgiIDogNSB9LAogICAgICAgICAgICAgeyAibmFtZSIg
OiAib3BfY2FsbCIsICJsZW5ndGgiIDogOSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3Bf
Y2FsbF9ldmFsIiwgImxlbmd0aCIgOiA5IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9j
YWxsX3ZhcmFyZ3MiLCAibGVuZ3RoIiA6IDkgfSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgKaW5kZXggODVmMjkxNWM3ZThmNjAxYWQzZWMxNzhi
ZjY5ZTM1NDRmNzU0YzJjZi4uMTdiNmJlZDgxZmUyNWI2MjMzMGJhYTNmZDAzMWM3MTZhYjg4Zjli
ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNl
RGVmLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVm
LmgKQEAgLTExNiw2ICsxMTYsOSBAQCB2b2lkIGNvbXB1dGVVc2VzRm9yQnl0ZWNvZGVPZmZzZXQo
CiAgICAgY2FzZSBvcF9nZXRfcHJvcGVydHlfZW51bWVyYXRvcjoKICAgICBjYXNlIG9wX2dldF9l
bnVtZXJhYmxlX2xlbmd0aDoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhw
OgorI2VuZGlmCiAgICAgY2FzZSBvcF90b19pbmRleF9zdHJpbmc6CiAgICAgY2FzZSBvcF9pbml0
X2dsb2JhbF9jb25zdF9ub3A6CiAgICAgY2FzZSBvcF9pbml0X2dsb2JhbF9jb25zdDoKQEAgLTMw
OCw2ICszMTEsOSBAQCB2b2lkIGNvbXB1dGVEZWZzRm9yQnl0ZWNvZGVPZmZzZXQoQ29kZUJsb2Nr
KiBjb2RlQmxvY2ssIHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0LAogICAgIGNhc2Ugb3BfbmV3X3Jl
Z2V4cDoKICAgICBjYXNlIG9wX25ld19mdW5jOgogICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOgor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2FzZSBvcF9uZXdfYXJy
b3dfZnVuY19leHA6CisjZW5kaWYKICAgICBjYXNlIG9wX2NhbGxfdmFyYXJnczoKICAgICBjYXNl
IG9wX2NvbnN0cnVjdF92YXJhcmdzOgogICAgIGNhc2Ugb3BfZ2V0X2Zyb21fc2NvcGU6CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCmluZGV4IDA2ZTQ5ZmVk
NjVkYWU4NzcwZDdjZGM5ODNiNzY4ZDRhZGVlOWM4ZjEuLjkxNDU1ZGMyMzhkNTYyM2MyZjQxODYz
MzllODQ4ZTljZmYzYWFjNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9Db2RlQmxvY2suY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9D
b2RlQmxvY2suY3BwCkBAIC0xMjk5LDYgKzEyOTksMTcgQEAgdm9pZCBDb2RlQmxvY2s6OmR1bXBC
eXRlY29kZSgKICAgICAgICAgICAgIG91dC5wcmludGYoIiVzLCAlcywgZiVkIiwgcmVnaXN0ZXJO
YW1lKHIwKS5kYXRhKCksIHJlZ2lzdGVyTmFtZShyMSkuZGF0YSgpLCBmMCk7CiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOiB7CisgICAgICAgICAgICBpbnQg
cjAgPSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAgICAgICAgIGludCByMSA9ICgrK2l0KS0+dS5v
cGVyYW5kOworICAgICAgICAgICAgaW50IGYwID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAg
ICAgICBpbnQgcjIgPSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAgICAgICAgIHByaW50TG9jYXRp
b25BbmRPcChvdXQsIGV4ZWMsIGxvY2F0aW9uLCBpdCwgIm9wX25ld19hcnJvd19mdW5jX2V4cCIp
OworICAgICAgICAgICAgb3V0LnByaW50ZigiJXMsICVzLCBmJWQsICVzIiwgcmVnaXN0ZXJOYW1l
KHIwKS5kYXRhKCksIHJlZ2lzdGVyTmFtZShyMSkuZGF0YSgpLCBmMCwgcmVnaXN0ZXJOYW1lKHIy
KS5kYXRhKCkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAg
ICBjYXNlIG9wX25ld19mdW5jX2V4cDogewogICAgICAgICAgICAgaW50IHIwID0gKCsraXQpLT51
Lm9wZXJhbmQ7CiAgICAgICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUub3BlcmFuZDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0
b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVy
YXRvci5jcHAKaW5kZXggNTkxOTk4YTI5ZWQyNmNiMGU1MWVmMzA1MDg2NzIxM2RjNDgzM2ZiNi4u
NzQwY2EzMjVjNzkxNTkzNzEwYjI0ZDZhMTRjYzBiZTRlMTQ1YTFlZiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5j
cHAKQEAgLTE3NTQsNiArMTc1NCwyMiBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6
ZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVuY0V4cAogICAgIGlu
c3RydWN0aW9ucygpLmFwcGVuZChpbmRleCk7CiAgICAgcmV0dXJuIHIwOwogfQorICAgIAorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitSZWdpc3RlcklEKiBCeXRlY29kZUdl
bmVyYXRvcjo6ZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIHIwLCBG
dW5jRXhwck5vZGUqIG4pCit7CisgICAgZW1pdFREWkNoZWNrKHRoaXNSZWdpc3RlcigpKTsKKyAg
ICBGdW5jdGlvbkJvZHlOb2RlKiBmdW5jdGlvbiA9IG4tPmJvZHkoKTsKKyAgICB1bnNpZ25lZCBp
bmRleCA9IG1fY29kZUJsb2NrLT5hZGRGdW5jdGlvbkV4cHIobWFrZUZ1bmN0aW9uKGZ1bmN0aW9u
KSk7CisgICAgCisgICAgZW1pdE9wY29kZShvcF9uZXdfYXJyb3dfZnVuY19leHApOworICAgIGlu
c3RydWN0aW9ucygpLmFwcGVuZChyMC0+aW5kZXgoKSk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBw
ZW5kKHNjb3BlUmVnaXN0ZXIoKS0+aW5kZXgoKSk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5k
KGluZGV4KTsKKyAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQodGhpc1JlZ2lzdGVyKCktPmluZGV4
KCkpOworICAgIHJldHVybiByMDsKK30KKyNlbmRpZgogCiBSZWdpc3RlcklEKiBCeXRlY29kZUdl
bmVyYXRvcjo6ZW1pdE5ld0RlZmF1bHRDb25zdHJ1Y3RvcihSZWdpc3RlcklEKiBkc3QsIENvbnN0
cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQsIGNvbnN0IElkZW50aWZpZXImIG5hbWUpCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmgKaW5kZXggMmU1OTAzOWQzYTQ4NGEzNDcyODE0NDBlZWY5YzFiODE5ZjcyNjVkYi4u
MTc5MzVkNDhlZjNiZjJiMmQxNDFkZmRjMWFjOTM3Njc5MzE0NDJhNSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaApA
QCAtNDU2LDYgKzQ1NiwxMCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgUmVnaXN0ZXJJRCog
ZW1pdE5ld0Z1bmN0aW9uSW50ZXJuYWwoUmVnaXN0ZXJJRCogZHN0LCB1bnNpZ25lZCBpbmRleCk7
CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJ
RCogZHN0LCBGdW5jRXhwck5vZGUqIGZ1bmMpOwogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3
RGVmYXVsdENvbnN0cnVjdG9yKFJlZ2lzdGVySUQqIGRzdCwgQ29uc3RydWN0b3JLaW5kLCBjb25z
dCBJZGVudGlmaWVyJiBuYW1lKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oUmVn
aXN0ZXJJRCosIEZ1bmNFeHByTm9kZSopOworICAgICAgICBSZWdpc3RlcklEKiBlbWl0VGhpc05v
ZGVCeXRlY29kZShSZWdpc3RlcklEKiwgSlNUZXh0UG9zaXRpb24pOworI2VuZGlmCiAgICAgICAg
IFJlZ2lzdGVySUQqIGVtaXROZXdSZWdFeHAoUmVnaXN0ZXJJRCogZHN0LCBSZWdFeHAqKTsKIAog
ICAgICAgICBSZWdpc3RlcklEKiBlbWl0TW92ZUVtcHR5VmFsdWUoUmVnaXN0ZXJJRCogZHN0KTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2Rl
Z2VuLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2Vu
LmNwcAppbmRleCAxMTQzMmFmMjNiYmI2MWU4MTU0MjUyM2I3YzExYWE3YmRjYjVmM2JmLi42MWFl
ZjE0MDhjNDM2ZDc0YWIwOGY3YTJhMDY4Y2MyYjFmMDhjYzUwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCkBAIC0yODMxLDYg
KzI4MzEsMTQgQEAgUmVnaXN0ZXJJRCogRnVuY0V4cHJOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNv
ZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCoKICAgICByZXR1cm4gZ2VuZXJhdG9y
LmVtaXROZXdGdW5jdGlvbkV4cHJlc3Npb24oZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0
KSwgdGhpcyk7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAgICAK
Ky8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBBcnJvd0Z1bmNFeHByTm9kZSAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1JlZ2lzdGVySUQqIEFycm93RnVuY0V4cHJO
b2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJ
RCogZHN0KQoreworICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdE5ld0Fycm93RnVuY3Rpb25FeHBy
ZXNzaW9uKGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHRoaXMpOworfQorI2VuZGlm
CisgICAgCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAvLyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0gQ2xhc3NEZWNsTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29k
ZVBhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2Vy
LmNwcAppbmRleCA3OTQ1NjZmY2FkZjNjNDQ3MGJlMjhmMjFkMDQyZmVmODBiNmI5OGMxLi5kZWFm
YjdjM2NhN2IzZTRiY2RlNTI5YmVjODE1ODY2Y2EzYzNjMTJjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcApAQCAtMzY3NSw2ICszNjc1LDE1
IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQgbGltaXQpCiAgICAg
ICAgICAgICBORVhUX09QQ09ERShvcF9uZXdfZnVuY19leHApOwogICAgICAgICB9CiAKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBjYXNlIG9wX25ld19hcnJv
d19mdW5jX2V4cDogeworICAgICAgICAgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBleHByID0gbV9p
bmxpbmVTdGFja1RvcC0+bV9wcm9maWxlZEJsb2NrLT5mdW5jdGlvbkV4cHIoY3VycmVudEluc3Ry
dWN0aW9uWzNdLnUub3BlcmFuZCk7CisgICAgICAgICAgICBGcm96ZW5WYWx1ZSogZnJvemVuID0g
bV9ncmFwaC5mcmVlemVTdHJvbmcoZXhwcik7CisgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lz
dGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLAorICAgICAgICAgICAgICAgIGFk
ZFRvR3JhcGgoTmV3RnVuY3Rpb24sIE9wSW5mbyhmcm96ZW4pLCBnZXQoVmlydHVhbFJlZ2lzdGVy
KGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpKSkpOworICAgICAgICAgICAgTkVYVF9P
UENPREUob3BfbmV3X2Fycm93X2Z1bmNfZXhwKTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAg
IGNhc2Ugb3BfdHlwZW9mOiB7CiAgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJl
bnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLAogICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgo
VHlwZU9mLCBnZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJh
bmQpKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmls
aXRpZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3Bw
CmluZGV4IDhlZjRkY2YxNTY4YmQ1ZWRhNGI4OTdlNzY4NGE4Y2JiOTFiZjZlMDguLjdmNDVhODMx
ZWE2ZTYyNzNiYWNkMmUzZjgzMzZkZGM1NjJjOGNjOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKQEAgLTIwOCw2ICsyMDgsOSBAQCBDYXBhYmls
aXR5TGV2ZWwgY2FwYWJpbGl0eUxldmVsKE9wY29kZUlEIG9wY29kZUlELCBDb2RlQmxvY2sqIGNv
ZGVCbG9jaywgSW5zdHJ1YwogICAgIGNhc2Ugb3BfbmV3X2Z1bmM6CiAgICAgY2FzZSBvcF9uZXdf
ZnVuY19leHA6CiAgICAgY2FzZSBvcF9jcmVhdGVfbGV4aWNhbF9lbnZpcm9ubWVudDoKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1
bmNfZXhwOgorI2VuZGlmCiAgICAgICAgIHJldHVybiBDYW5Db21waWxlQW5kSW5saW5lOwogCiAg
ICAgY2FzZSBvcF9wdXRfdG9fc2NvcGU6IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCmluZGV4IDMwOTJmY2I0MDQzMjQzNWQ1YzhhNjQ2
YzYzODE5NDQyMTczNGMyYjAuLjc5YzliNDZmNzdiNWZhNzgyNzM2MTljZTY1MmY4ZTI3YTcwNjUx
YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnBy
ZXRlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJl
dGVyLmNwcApAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUgIkV4Y2VwdGlvbkhlbHBlcnMuaCIK
ICNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJKU0FycmF5LmgiCisjaW5jbHVk
ZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCiAjaW5j
bHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTTGV4aWNhbEVudmlyb25tZW50LmgiCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxsSGVscGVycy5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhlbHBlcnMuaAppbmRleCBmZDM0NGFkYmNhYmIx
NWZiZDgxNGVkNmZiZDQ3OGY3NGI2MTU3NjNjLi4wN2FjZDZkNTMyZDMyOGFmZGI3N2FjZjIwMTMz
OTBlZjM5ZGQ5ZDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxs
SGVscGVycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxwZXJzLmgK
QEAgLTI3NCw2ICsyNzQsMTUgQEAgcHVibGljOgogICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJn
Mik7CiAgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmczKTsKICAgICB9CisgICAgCisgICAgQUxX
QVlTX0lOTElORSB2b2lkIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShHUFJSZWcgYXJnMSwg
VHJ1c3RlZEltbVB0ciBhcmcyLCBHUFJSZWcgYXJnMykKKyAgICB7CisgICAgICAgIHJlc2V0Q2Fs
bEFyZ3VtZW50cygpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQoR1BSSW5mbzo6Y2FsbEZyYW1l
UmVnaXN0ZXIpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMSk7CisgICAgICAgIGFkZENh
bGxBcmd1bWVudChhcmcyKTsKKyAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzMpOworICAgIH0K
IAogICAgIEFMV0FZU19JTkxJTkUgdm9pZCBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoR1BS
UmVnIGFyZzEsIEdQUlJlZyBhcmcyLCBUcnVzdGVkSW1tMzIgYXJnMykKICAgICB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVC5jcHAKaW5kZXggNDJhODJkNDM5NDYxNjJmOTVmYTQ3NDY3NTY3MTM5ZDRh
YWYyMzg2Yi4uODNkNTA4Yjg3NjU5ZTNlZmY4YmMxODdlMDZkYWQ3MDExZjQ4MmVkMCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklULmNwcApAQCAtMjUzLDYgKzI1Myw3IEBAIHZvaWQgSklUOjpwcml2
YXRlQ29tcGlsZU1haW5QYXNzKCkKICAgICAgICAgREVGSU5FX09QKG9wX25ld19hcnJheV9idWZm
ZXIpCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfZnVuYykKICAgICAgICAgREVGSU5FX09QKG9w
X25ld19mdW5jX2V4cCkKKyAgICAgICAgREVGSU5FX09QKG9wX25ld19hcnJvd19mdW5jX2V4cCkg
CiAgICAgICAgIERFRklORV9PUChvcF9uZXdfb2JqZWN0KQogICAgICAgICBERUZJTkVfT1Aob3Bf
bmV3X3JlZ2V4cCkKICAgICAgICAgREVGSU5FX09QKG9wX25vdCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VC5oCmluZGV4IGVlNDg1NWRjMmU3OGI1NWFjYzQ1OTllYmRiOTlhMGQ4ZTA4YmU3Y2MuLmZhZTJm
MjY5MTc3MzVhMmJlNDMxNGI0ZjE2ZThjMWI4MDRkODk1YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklULmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVQuaApAQCAtNTIyLDYgKzUyMiw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2b2lkIGVt
aXRfb3BfbmV3X2FycmF5X2J1ZmZlcihJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRf
b3BfbmV3X2Z1bmMoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX25ld19mdW5j
X2V4cChJbnN0cnVjdGlvbiopOworICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2Fycm93X2Z1bmNf
ZXhwKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfb2JqZWN0KEluc3Ry
dWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfcmVnZXhwKEluc3RydWN0aW9uKik7
CiAgICAgICAgIHZvaWQgZW1pdF9vcF9ub3QoSW5zdHJ1Y3Rpb24qKTsKQEAgLTcwNSw2ICs3MDYs
NyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9w
ZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSkosIGludCwgR1BSUmVnLCBHUFJSZWcpOwogICAgICAg
ICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2Ms
IEdQUlJlZyk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9K
SVRPcGVyYXRpb25fRUpzY0MsIGludCwgR1BSUmVnLCBKU0NlbGwqKTsKKyAgICAgICAgTWFjcm9B
c3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0osIGludCwg
R1BSUmVnLCBKU0NlbGwqLCBHUFJSZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBj
YWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2NaLCBHUFJSZWcsIGludDMyX3QpOwogICAg
ICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VK
c2NaLCBpbnQsIEdQUlJlZywgaW50MzJfdCk7CiAjaWYgVVNFKEpTVkFMVUU2NCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKaW5kZXggOWVlMjRkMDkyMjhhOTg4MmVhNzY5NjI5
ZDFhODdiNmMzNGE4NjMzNC4uYTBlNDBjNWM2MWZlNjNlOTg2M2VkMjIzZWRmNWQ0NTFmMzE4YTc3
NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKQEAgLTI3MSw2ICsyNzEs
MTIgQEAgQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRp
b24oSl9KSVRPcGVyYXRpb25fRUpzY0Mgb3BlcmEKICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhF
eGNlcHRpb25DaGVja1NldEpTVmFsdWVSZXN1bHQob3BlcmF0aW9uLCBkc3QpOwogfQogCitBTFdB
WVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihKX0pJVE9w
ZXJhdGlvbl9FSnNjQ0ogb3BlcmF0aW9uLCBpbnQgZHN0LCBHUFJSZWcgYXJnMSwgSlNDZWxsKiBj
ZWxsLCBHUFJSZWcgYXJnMikKK3sKKyAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJn
MSwgVHJ1c3RlZEltbVB0cihjZWxsKSwgYXJnMik7CisgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRo
RXhjZXB0aW9uQ2hlY2tTZXRKU1ZhbHVlUmVzdWx0KG9wZXJhdGlvbiwgZHN0KTsKK30KKyAgICAK
IEFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpf
SklUT3BlcmF0aW9uX0VQIG9wZXJhdGlvbiwgaW50IGRzdCwgdm9pZCogcG9pbnRlcikKIHsKICAg
ICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihwb2ludGVyKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAppbmRleCBkM2Q1ODBlOWUyNjAw
ODUzYjY2NDllMjg1OTE4Zjg1MzhiZTY5NDRjLi42Y2EwMDMwZjhjNGEyMTIyMWFhOTI4M2NjMjc2
MTMwZDc5ZTc0NDQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9w
Y29kZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAK
QEAgLTk3Miw2ICs5NzIsMjkgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2Z1bmNfZXhwKEluc3Ry
dWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25O
ZXdGdW5jdGlvbiwgZHN0LCByZWdUMCwgZnVuY0V4cHIpOwogICAgIGRvbmUubGluayh0aGlzKTsK
IH0KKyAgICAKK3ZvaWQgSklUOjplbWl0X29wX25ld19hcnJvd19mdW5jX2V4cChJbnN0cnVjdGlv
biogY3VycmVudEluc3RydWN0aW9uKQoreworICAgIEp1bXAgbm90VW5kZWZpbmVkU2NvcGU7Cisg
ICAgaW50IGRzdCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7CisjaWYgVVNFKEpT
VkFMVUU2NCkKKyAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsy
XS51Lm9wZXJhbmQsIHJlZ1QwKTsKKyAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJ
bnN0cnVjdGlvbls0XS51Lm9wZXJhbmQsIHJlZ1QxKTsKKyAgICBub3RVbmRlZmluZWRTY29wZSA9
IGJyYW5jaDY0KE5vdEVxdWFsLCByZWdUMCwgVHJ1c3RlZEltbTY0KEpTVmFsdWU6OmVuY29kZShq
c1VuZGVmaW5lZCgpKSkpOworICAgIHN0b3JlNjQoVHJ1c3RlZEltbTY0KEpTVmFsdWU6OmVuY29k
ZShqc1VuZGVmaW5lZCgpKSksIEFkZHJlc3MoY2FsbEZyYW1lUmVnaXN0ZXIsIHNpemVvZihSZWdp
c3RlcikgKiBkc3QpKTsKKyNlbHNlCisgICAgZW1pdExvYWRQYXlsb2FkKGN1cnJlbnRJbnN0cnVj
dGlvblsyXS51Lm9wZXJhbmQsIHJlZ1QwKTsKKyAgICBlbWl0TG9hZFBheWxvYWQoY3VycmVudElu
c3RydWN0aW9uWzRdLnUub3BlcmFuZCwgcmVnVDEpOworICAgIG5vdFVuZGVmaW5lZFNjb3BlID0g
YnJhbmNoMzIoTm90RXF1YWwsIHRhZ0ZvcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5k
KSwgVHJ1c3RlZEltbTMyKEpTVmFsdWU6OlVuZGVmaW5lZFRhZykpOworICAgIGVtaXRTdG9yZShk
c3QsIGpzVW5kZWZpbmVkKCkpOworI2VuZGlmCisgICAgSnVtcCBkb25lID0ganVtcCgpOworICAg
IG5vdFVuZGVmaW5lZFNjb3BlLmxpbmsodGhpcyk7CisgICAgCisgICAgRnVuY3Rpb25FeGVjdXRh
YmxlKiBmdW5jdGlvbiA9IG1fY29kZUJsb2NrLT5mdW5jdGlvbkV4cHIoY3VycmVudEluc3RydWN0
aW9uWzNdLnUub3BlcmFuZCk7CisgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25OZXdBcnJvd0Z1
bmN0aW9uLCBkc3QsIHJlZ1QwLCBmdW5jdGlvbiwgcmVnVDEpOworICAgIGRvbmUubGluayh0aGlz
KTsKK30KIAogdm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2FycmF5KEluc3RydWN0aW9uKiBjdXJyZW50
SW5zdHJ1Y3Rpb24pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25z
LmNwcAppbmRleCA1ZTkwZDQ4NmM1M2RiMmZiODdlMDg1Y2M3ODVkY2E0YzJmNmQ0YWQ3Li43MDA1
ZTUzZmM1Y2YzZmExNDI4ZmEzMzc0OTg0OTJhOWQzYmI2YWNjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTQyLDYgKzQyLDggQEAKICNpbmNsdWRl
ICJIb3N0Q2FsbFJldHVyblZhbHVlLmgiCiAjaW5jbHVkZSAiSklULmgiCiAjaW5jbHVkZSAiSklU
VG9ERkdEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJKU0Fycm93RnVu
Y3Rpb24uaCIKKyNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxp
bmVzLmgiCiAjaW5jbHVkZSAiSlNDYXRjaFNjb3BlLmgiCiAjaW5jbHVkZSAiSlNGdW5jdGlvbk5h
bWVTY29wZS5oIgpAQCAtOTUyLDYgKzk1NCwyMyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbk5ld0Z1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNTY29wZSogc2NvcAog
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBzdGF0aWNf
Y2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihmdW5jdGlvbkV4ZWN1dGFibGUpLCBzY29wZSkpOwog
fQogCitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rp
b24oRXhlY1N0YXRlKiBleGVjLCBKU1Njb3BlKiBzY29wZSwgSlNDZWxsKiBmdW5jdGlvbkV4ZWN1
dGFibGUsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSkKK3sKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgIEFTU0VSVChmdW5jdGlvbkV4ZWN1dGFibGUtPmluaGVyaXRz
KEZ1bmN0aW9uRXhlY3V0YWJsZTo6aW5mbygpKSk7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsK
KyAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CisgICAgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGV4ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsK
KyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUodm0sIHNjb3Bl
LCBzdGF0aWNfY2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihmdW5jdGlvbkV4ZWN1dGFibGUpLCBn
bG9iYWxPYmplY3QpOworICAgIAorICAgIEpTQXJyYXkqIGJvdW5kQXJncyA9IEpTQXJyYXk6OnRy
eUNyZWF0ZVVuaW5pdGlhbGl6ZWQodm0sIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmVGb3JJ
bmRleGluZ1R5cGVEdXJpbmdBbGxvY2F0aW9uKEFycmF5V2l0aFVuZGVjaWRlZCksIDApOworICAg
IAorICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNCb3VuZEZ1bmN0aW9uOjpjcmVhdGUodm0s
IGdsb2JhbE9iamVjdCwgZnVuYywgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSksIGJvdW5kQXJn
cywgMCwgIiIpKTsKKyNlbHNlCisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5l
ZCgpKTsKKyNlbmRpZgorfQorICAgIAogSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5l
d09iamVjdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogewogICAgIFZN
KiB2bSA9ICZleGVjLT52bSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRPcGVyYXRpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlv
bnMuaAppbmRleCA0ZGVjZWY0ZWI4YjQ4YmI5MzdkNTRkMGI2MDRiOWI3NzY3YTRlYTYxLi4yMzYx
NmVlMWRlZTMyZmZkZGRhZTUxODk2MDY5OTcwOTI2NmViY2VkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaApAQCAtMTE2LDYgKzExNiw3IEBAIHR5cGVkZWYgRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQUCkoRXhlY1N0YXRl
Kiwgdm9pZCosIHZvCiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJ
VE9wZXJhdGlvbl9FUFMpKEV4ZWNTdGF0ZSosIHZvaWQqLCBzaXplX3QpOwogdHlwZWRlZiBFbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVBjKShFeGVjU3RhdGUq
LCBJbnN0cnVjdGlvbiopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgq
Sl9KSVRPcGVyYXRpb25fRUpzY0MpKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKTsKK3R5
cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VKc2ND
SikoRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlKTsKIHR5cGVk
ZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTUykoRXhl
Y1N0YXRlKiwgc2l6ZV90LCBzaXplX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BF
UkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNzaUNJKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHVi
SW5mbyosIEpTQ2VsbCosIFN0cmluZ0ltcGwqKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklU
X09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTc2lKSSkoRXhlY1N0YXRlKiwgU3RydWN0dXJl
U3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSwgU3RyaW5nSW1wbCopOwpAQCAtMjc4LDYgKzI3OSw3
IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXlXaXRoUHJv
ZmlsZShFeGVjU3RhdGUqLCBBcnJheUFsbG9jCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbk5ld0FycmF5QnVmZmVyV2l0aFByb2ZpbGUoRXhlY1N0YXRlKiwgQXJyYXlBbGxv
Y2F0aW9uUHJvZmlsZSosIGNvbnN0IEpTVmFsdWUqIHZhbHVlcywgaW50MzJfdCBzaXplKSBXVEZf
SU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5
V2l0aFNpemVBbmRQcm9maWxlKEV4ZWNTdGF0ZSosIEFycmF5QWxsb2NhdGlvblByb2ZpbGUqLCBF
bmNvZGVkSlNWYWx1ZSBzaXplKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvbk5ld0Z1bmN0aW9uKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwq
KSBXVEZfSU5URVJOQUw7CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5l
d0Fycm93RnVuY3Rpb24oRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29kZWRKU1Zh
bHVlKSBXVEZfSU5URVJOQUw7CiBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3T2Jq
ZWN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSopIFdURl9JTlRFUk5BTDsKIEVuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3UmVnZXhwKEV4ZWNTdGF0ZSosIHZvaWQqKSBXVEZf
SU5URVJOQUw7CiB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFuZGxlV2F0Y2hkb2dUaW1l
cihFeGVjU3RhdGUqKSBXVEZfSU5URVJOQUw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xMSW50U2xvd1BhdGhzLmNwcAppbmRleCAyN2I5ODY5OGZjYWRlOWI5N2JkMjdlNzMzNjM4
MGFkZjNiNTczYjM5Li4xYzYzMDY0M2NhYzdkNmNiNjVjMGViNjhiZDAyMWJhMDAzMGIwODNjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKQEAg
LTM4LDYgKzM4LDggQEAKICNpbmNsdWRlICJJbnRlcnByZXRlci5oIgogI2luY2x1ZGUgIkpJVC5o
IgogI2luY2x1ZGUgIkpJVEV4Y2VwdGlvbnMuaCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24u
aCIKKyNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0xleGljYWxFbnZp
cm9ubWVudC5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVl
LmgiCkBAIC0xNzEsNiArMTczLDE1IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgTExJbnQg
ewogICAgICAgICBMTElOVF9SRVRVUk5fVFdPKHBjLCBfX3JjZl9leGVjKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAogICAgIH0gd2hpbGUgKGZhbHNlKQogCisgICAgCisjZGVmaW5l
IExMSU5UX0NBTENfUFJPUEVSVFlfRk9SX0ZVTkNfRVhQUigpICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICBMTElOVF9CRUdJTigpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIENvZGVCbG9j
ayogY29kZUJsb2NrID0gZXhlYy0+Y29kZUJsb2NrKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgSlNTY29wZSogc2NvcGUgPSBleGVjLT51bmNoZWNrZWRSKHBjWzJd
LnUub3BlcmFuZCkuUmVnaXN0ZXI6OnNjb3BlKCk7ICAgICAgIFwKKyAgICBGdW5jdGlvbkV4ZWN1
dGFibGUqIGV4ZWN1dGFibGUgPSBjb2RlQmxvY2stPmZ1bmN0aW9uRXhwcihwY1szXS51Lm9wZXJh
bmQpOyAgXAorICAgIAorZW51bSBGdW5jdGlvbkV4cHJlc3Npb25UeXBlIHsgQXJyb3dGdW5jdGlv
bkV4cHJlc3Npb25UeXBlLCBDb21tb25GdW5jdGlvbkV4cHJlc3Npb25UeXBlfTsKKyAgICAKIGV4
dGVybiAiQyIgU2xvd1BhdGhSZXR1cm5UeXBlIGxsaW50X3RyYWNlX29wZXJhbmQoRXhlY1N0YXRl
KiBleGVjLCBJbnN0cnVjdGlvbiogcGMsIGludCBmcm9tV2hlcmUsIGludCBvcGVyYW5kKQogewog
ICAgIExMSU5UX0JFR0lOKCk7CkBAIC0xMDAzLDE2ICsxMDE0LDM1IEBAIExMSU5UX1NMT1dfUEFU
SF9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuYykKICNlbmRpZgogICAgIExMSU5UX1JFVFVSTihKU0Z1
bmN0aW9uOjpjcmVhdGUodm0sIGNvZGVCbG9jay0+ZnVuY3Rpb25EZWNsKHBjWzNdLnUub3BlcmFu
ZCksIHNjb3BlKSk7CiB9Ci0KKyAgICAKIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9u
ZXdfZnVuY19leHApCiB7Ci0gICAgTExJTlRfQkVHSU4oKTsKLSAgICBDb2RlQmxvY2sqIGNvZGVC
bG9jayA9IGV4ZWMtPmNvZGVCbG9jaygpOwotICAgIEpTU2NvcGUqIHNjb3BlID0gZXhlYy0+dW5j
aGVja2VkUihwY1syXS51Lm9wZXJhbmQpLlJlZ2lzdGVyOjpzY29wZSgpOwotICAgIEZ1bmN0aW9u
RXhlY3V0YWJsZSogZnVuY3Rpb24gPSBjb2RlQmxvY2stPmZ1bmN0aW9uRXhwcihwY1szXS51Lm9w
ZXJhbmQpOwotICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGZ1
bmN0aW9uLCBzY29wZSk7CisgICAgTExJTlRfQ0FMQ19QUk9QRVJUWV9GT1JfRlVOQ19FWFBSKCk7
CisKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBleGVjdXRh
YmxlLCBzY29wZSk7CisgICAgTExJTlRfUkVUVVJOKGZ1bmMpOworfQorCisKK0xMSU5UX1NMT1df
UEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApCit7CisgICAgTExJTlRfQ0FM
Q19QUk9QRVJUWV9GT1JfRlVOQ19FWFBSKCk7CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gTExJTlRfT1BfQyg0KS5qc1ZhbHVl
KCk7CisgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGV4ZWMtPmNhbGxlZSgpLT5n
bG9iYWxPYmplY3QoKTsKICAgICAKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNBcnJvd0Z1bmN0
aW9uOjpjcmVhdGUodm0sIHNjb3BlLCBleGVjdXRhYmxlLCBnbG9iYWxPYmplY3QpOworICAgIAor
ICAgIEpTQXJyYXkqIGJvdW5kQXJncyA9IEpTQXJyYXk6OnRyeUNyZWF0ZVVuaW5pdGlhbGl6ZWQo
dm0sIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5cGVEdXJpbmdBbGxv
Y2F0aW9uKEFycmF5V2l0aFVuZGVjaWRlZCksIDApOworICAgIAorICAgIGNvbnN0IFN0cmluZyBm
dW5jV2l0aG91dE5hbWUgPSAiIjsKKyAgICAKKyAgICBMTElOVF9SRVRVUk4oSlNCb3VuZEZ1bmN0
aW9uOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgZnVuYywgdGhpc1ZhbHVlLCBib3VuZEFyZ3Ms
IDAsIGZ1bmNXaXRob3V0TmFtZSkpOworI2Vsc2UKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNG
dW5jdGlvbjo6Y3JlYXRlKHZtLCBleGVjdXRhYmxlLCBzY29wZSk7CiAgICAgTExJTlRfUkVUVVJO
KGZ1bmMpOworI2VuZGlmCiB9CiAKIHN0YXRpYyBTbG93UGF0aFJldHVyblR5cGUgaGFuZGxlSG9z
dENhbGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBJbnN0cnVjdGlvbiogcGMsIEpTVmFsdWUgY2Fs
bGVlLCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGtpbmQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9MTEludFNsb3dQYXRocy5oCmluZGV4IDRiZjdkZWIwZmEwYjZjNjQzOGUzNmY5NjMy
MGUyZjY2OTczOWFmNjQuLmM3ZmFiOTY5MWMxOGI5Mzk1NmQwZWEyOWYzMzk1NjExOGM1ZTcxZWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCkBAIC05
Niw2ICs5Niw3IEBAIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfc3dpdGNo
X2NoYXIpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9zd2l0Y2hfc3Ry
aW5nKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfbmV3X2Z1bmMpOwog
TExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuY19leHApOworTExJ
TlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApOwog
TExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9jYWxsKTsKIExMSU5UX1NMT1df
UEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfY29uc3RydWN0KTsKIExMSU5UX1NMT1dfUEFUSF9I
SURERU5fREVDTChzbG93X3BhdGhfc2l6ZV9mcmFtZV9mb3JfdmFyYXJncyk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20gYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KaW5kZXgg
ZmRhOTFlZDU5OTBjYjZlNGYyY2I3OGFhNmE0YjJkOGMyYzBjNDcyYS4uODIyNzEzNDk4MmRiNzU4
MWRjOGEyMjVjZDQyMzI4MjAwOTJmYjczZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQpAQCAtMTE3MSw2ICsxMTcxLDEwIEBA
IF9sbGludF9vcF9uZXdfZnVuY19leHA6CiAgICAgY2FsbFNsb3dQYXRoKF9sbGludF9zbG93X3Bh
dGhfbmV3X2Z1bmNfZXhwKQogICAgIGRpc3BhdGNoKDQpCiAKK19sbGludF9vcF9uZXdfYXJyb3df
ZnVuY19leHA6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxTbG93UGF0aChfbGxpbnRf
c2xvd19wYXRoX25ld19hcnJvd19mdW5jX2V4cCkKKyAgICBkaXNwYXRjaCg1KQogCiBfbGxpbnRf
b3BfY2FsbDoKICAgICB0cmFjZUV4ZWN1dGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvQVNUQnVpbGRlci5oCmluZGV4IGI4ZmU0Yjg0ODVhMDk3Njg4ZjVjNjMwYmQ4YzNjOTY3NjRm
YzQ2NDkuLmYyZmEzYmQ5YzE1ZjRlNDIyZWVjNmE3OWQ2NWYxZDcwODZjNjJjNzMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCkBAIC0zMTMsNiArMzEzLDE5IEBA
IHB1YmxpYzoKICAgICAgICAgICAgIGluU3RyaWN0Q29udGV4dCwgY29uc3RydWN0b3JLaW5kKTsK
ICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEV4cHJl
c3Npb25Ob2RlKiBjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24m
IGxvY2F0aW9uLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88QVNUQnVpbGRlcj4mIGluZm8pCisg
ICAgeworICAgICAgICBTb3VyY2VDb2RlIHNvdXJjZSA9IGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9
PSBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24KKyAgICAgICAgPyBtX3NvdXJjZUNvZGUtPnN1
YkFycm93RXhwcmVzc2lvbihpbmZvLmFycm93RnVuY3Rpb25PZmZzZXQsIGluZm8uY2xvc2VCcmFj
ZU9mZnNldCwgaW5mby5ib2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlTdGFydENvbHVtbikKKyAgICAg
ICAgOiBtX3NvdXJjZUNvZGUtPnN1YkV4cHJlc3Npb24oaW5mby5vcGVuQnJhY2VPZmZzZXQsIGlu
Zm8uY2xvc2VCcmFjZU9mZnNldCwgaW5mby5ib2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlTdGFydENv
bHVtbik7CisKKyAgICAgICAgQXJyb3dGdW5jRXhwck5vZGUqIHJlc3VsdCA9IG5ldyAobV9wYXJz
ZXJBcmVuYSkgQXJyb3dGdW5jRXhwck5vZGUobG9jYXRpb24sICppbmZvLm5hbWUsIGluZm8uYm9k
eSwgc291cmNlLCBpbmZvLnBhcmFtZXRlcnMpOworICAgICAgICBpbmZvLmJvZHktPnNldExvYyhp
bmZvLmJvZHlTdGFydExpbmUsIGluZm8uYm9keUVuZExpbmUsIGxvY2F0aW9uLnN0YXJ0T2Zmc2V0
LCBsb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQpOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAg
IH0KKyNlbmRpZgorCiAgICAgTkVWRVJfSU5MSU5FIFByb3BlcnR5Tm9kZSogY3JlYXRlR2V0dGVy
T3JTZXR0ZXJQcm9wZXJ0eShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBQcm9wZXJ0
eU5vZGU6OlR5cGUgdHlwZSwgYm9vbCwKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogbmFtZSwg
Y29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPEFTVEJ1aWxkZXI+JiBpbmZvLCBTdXBlckJpbmRpbmcg
c3VwZXJCaW5kaW5nKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvTGV4ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAK
aW5kZXggN2RlMTQyMjBiYmRhNzI3MzhiNTczYTRiOTc4OGNlMGIzMmNjN2NlMy4uNTQwZjlmZmI3
YmI1MTgyOWQ2N2RlZWRlYzVlNmE4ZWQ1MWNjNDQxNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9MZXhlci5jcHAKQEAgLTE0MzAsNiArMTQzMCwxOCBAQCBib29sIExleGVyPFQ+OjpuZXh0
VG9rZW5Jc0NvbG9uKCkKICAgICByZXR1cm4gY29kZSA8IG1fY29kZUVuZCAmJiAqY29kZSA9PSAn
Oic7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUg
PHR5cGVuYW1lIFQ+Cit2b2lkIExleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9uKEpTVG9rZW4qIHRv
a2VuUmVjb3JkKQoreworICAgIEpTVG9rZW5EYXRhKiB0b2tlbkRhdGEgPSAmdG9rZW5SZWNvcmQt
Pm1fZGF0YTsKKyAgICB0b2tlbkRhdGEtPmxpbmUgPSBsaW5lTnVtYmVyKCk7CisgICAgdG9rZW5E
YXRhLT5vZmZzZXQgPSBjdXJyZW50T2Zmc2V0KCk7CisgICAgdG9rZW5EYXRhLT5saW5lU3RhcnRP
ZmZzZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0KCk7CisgICAgQVNTRVJUKHRva2VuRGF0YS0+
b2Zmc2V0ID49IHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0KTsKK30KKyNlbmRpZgorCiB0ZW1w
bGF0ZSA8dHlwZW5hbWUgVD4KIEpTVG9rZW5UeXBlIExleGVyPFQ+OjpsZXgoSlNUb2tlbiogdG9r
ZW5SZWNvcmQsIHVuc2lnbmVkIGxleGVyRmxhZ3MsIGJvb2wgc3RyaWN0TW9kZSkKIHsKQEAgLTE0
OTMsNyArMTUwNSwxMiBAQCBzdGFydDoKICAgICAgICAgfQogICAgICAgICB0b2tlbiA9IEdUOwog
ICAgICAgICBicmVhazsKLSAgICBjYXNlIENoYXJhY3RlckVxdWFsOgorICAgIGNhc2UgQ2hhcmFj
dGVyRXF1YWw6IHsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAg
ICB1aW50MzJfdCBzYXZlZGxpbmVOdW1iZXIgPSB0b2tlbkRhdGEtPmxpbmU7CisgICAgICAgIHVp
bnQzMl90IHNhdmVkT2Zmc2V0ID0gY3VycmVudE9mZnNldCgpOworICAgICAgICB1aW50MzJfdCBz
YXZlZExpbmVTdGFydE9mZnNldCA9IGN1cnJlbnRMaW5lU3RhcnRPZmZzZXQoKTsKKyNlbmRpZgog
ICAgICAgICBzaGlmdCgpOwogICAgICAgICBpZiAobV9jdXJyZW50ID09ICc9JykgewogICAgICAg
ICAgICAgc2hpZnQoKTsKQEAgLTE1MDUsOCArMTUyMiwyMiBAQCBzdGFydDoKICAgICAgICAgICAg
IHRva2VuID0gRVFFUTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnPicp
IHsKKyAgICAgICAgICAgIHNoaWZ0KCk7CisgICAgICAgICAgICB0b2tlbiA9IEFSUk9XRlVOQ1RJ
T047CisKKyAgICAgICAgICAgIHRva2VuRGF0YS0+bGluZSA9IHNhdmVkbGluZU51bWJlcjsKKyAg
ICAgICAgICAgIHRva2VuRGF0YS0+b2Zmc2V0ID0gc2F2ZWRPZmZzZXQ7CisgICAgICAgICAgICB0
b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCA9IHNhdmVkTGluZVN0YXJ0T2Zmc2V0OworCisgICAg
ICAgICAgICBBU1NFUlQodG9rZW5EYXRhLT5vZmZzZXQgPj0gdG9rZW5EYXRhLT5saW5lU3RhcnRP
ZmZzZXQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICB0
b2tlbiA9IEVRVUFMOwogICAgICAgICBicmVhazsKKyAgICB9CiAgICAgY2FzZSBDaGFyYWN0ZXJM
ZXNzOgogICAgICAgICBzaGlmdCgpOwogICAgICAgICBpZiAobV9jdXJyZW50ID09ICchJyAmJiBw
ZWVrKDEpID09ICctJyAmJiBwZWVrKDIpID09ICctJykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9MZXhlci5oCmluZGV4IDJkZjUyMTM5OTU3ODIwMDc4NWExNjZlMjJhNzMyNzVlMGVhNjMwNGQu
LmNiM2YyNWY3YzA4ZjgyNTgxYWYyY2U4ZmE5OTk5N2ZhZGUwNzY2ZjIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL0xleGVyLmgKQEAgLTg1LDYgKzg1LDkgQEAgcHVibGljOgogICAgIHZvaWQg
c2V0SXNSZXBhcnNpbmcoKSB7IG1faXNSZXBhcnNpbmcgPSB0cnVlOyB9CiAgICAgYm9vbCBpc1Jl
cGFyc2luZygpIGNvbnN0IHsgcmV0dXJuIG1faXNSZXBhcnNpbmc7IH0KIAorI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdm9pZCBzZXRUb2tlblBvc2l0aW9uKEpTVG9r
ZW4qIHRva2VuUmVjb3JkKTsKKyNlbmRpZgogICAgIEpTVG9rZW5UeXBlIGxleChKU1Rva2VuKiwg
dW5zaWduZWQsIGJvb2wgc3RyaWN0TW9kZSk7CiAgICAgYm9vbCBuZXh0VG9rZW5Jc0NvbG9uKCk7
CiAgICAgaW50IGxpbmVOdW1iZXIoKSBjb25zdCB7IHJldHVybiBtX2xpbmVOdW1iZXI7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKaW5kZXgg
M2JkYWI2MWE1MjJlMGNlMmMzMzk3ZjgwZjRmYTE4NGQxZDQyMTYwZS4uYjU4ZTFmZTFhZjkwZTY2
MGIwODQyZWE3ZTk5ZjA3YWU2YWNiYjk1ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKQEAgLTc4MSw2ICs3ODEsMTMgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgIG1fYm9keS0+ZmluaXNoUGFyc2luZyhzb3VyY2UsIHBhcmFtZXRlciwg
aWRlbnQsIEZ1bmN0aW9uRXhwcmVzc2lvbik7CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpbmxpbmUgQXJyb3dGdW5jRXhwck5vZGU6OkFycm93RnVu
Y0V4cHJOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IElkZW50aWZp
ZXImIGlkZW50LCBGdW5jdGlvbkJvZHlOb2RlKiBib2R5LCBjb25zdCBTb3VyY2VDb2RlJiBzb3Vy
Y2UsIFBhcmFtZXRlck5vZGUqIHBhcmFtZXRlcikKKyAgICAgICAgOiBGdW5jRXhwck5vZGUobG9j
YXRpb24sIGlkZW50LCBib2R5LCBzb3VyY2UsIHBhcmFtZXRlcikKKyAgICB7CisgICAgfQorI2Vu
ZGlmCisgICAgCiAgICAgaW5saW5lIEZ1bmNEZWNsTm9kZTo6RnVuY0RlY2xOb2RlKGNvbnN0IEpT
VG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBGdW5jdGlv
bkJvZHlOb2RlKiBib2R5LCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIFBhcmFtZXRlck5vZGUq
IHBhcmFtZXRlcikKICAgICAgICAgOiBTdGF0ZW1lbnROb2RlKGxvY2F0aW9uKQogICAgICAgICAs
IG1fYm9keShib2R5KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9O
b2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCmluZGV4IDZiMzcz
MjljMDliZmM0MmJlY2NjM2NhYTk4MzU5N2MzNTQwMmI2YzkuLjViNzc0MWUxY2NjOGQ1MTVmZjE0
YzE1MzE3MmQ3YmRhMDUzZjU4NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvTm9kZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgK
QEAgLTE1OCw2ICsxNTgsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdmlydHVhbCBib29s
IGlzRG90QWNjZXNzb3JOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmly
dHVhbCBib29sIGlzRGVjb25zdHJ1Y3Rpb25Ob2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
ICAgICAgICAgdmlydHVhbCBib29sIGlzRnVuY0V4cHJOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB2aXJ0
dWFsIGJvb2wgaXNBcnJvd0Z1bmNFeHByTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Cisj
ZW5kaWYKICAgICAgICAgdmlydHVhbCBib29sIGlzQ29tbWFOb2RlKCkgY29uc3QgeyByZXR1cm4g
ZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzU2ltcGxlQXJyYXkoKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNBZGQoKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQpAQCAtMTY1Miw2ICsxNjU1LDE5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICBGdW5jdGlvbkJvZHlOb2RlKiBtX2JvZHk7CiAgICAgfTsKIAorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2xhc3MgQXJyb3dGdW5jRXhwck5vZGUgOiBwdWJsaWMg
RnVuY0V4cHJOb2RlIHsKKyAgICBwdWJsaWM6CisgICAgICAgIEFycm93RnVuY0V4cHJOb2RlKGNv
bnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IElkZW50aWZpZXImLCBGdW5jdGlvbkJvZHlOb2Rl
KiwgY29uc3QgU291cmNlQ29kZSYsIFBhcmFtZXRlck5vZGUqID0gMCk7CisgICAgcHJpdmF0ZToK
KyAgICAgICAgdmlydHVhbCBSZWdpc3RlcklEKiBlbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0
b3ImLCBSZWdpc3RlcklEKiA9IDApIG92ZXJyaWRlOworICAgICAgICAKKyAgICAgICAgdmlydHVh
bCBib29sIGlzRnVuY0V4cHJOb2RlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0K
KyAgICAgICAgCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Fycm93RnVuY0V4cHJOb2RlKCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQorICAgIH07CisjZW5kaWYKKwogI2lmIEVOQUJM
RShFUzZfQ0xBU1NfU1lOVEFYKQogICAgIGNsYXNzIENsYXNzRXhwck5vZGUgZmluYWwgOiBwdWJs
aWMgRXhwcmVzc2lvbk5vZGUgewogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvUGFyc2VyLmNwcAppbmRleCA2NDc4MjBhZDgzZGY0NDNkMzBkMDRjZmFlMjI1NGZhZWM5NzA3
YWI1Li5lYjYzNGQwMTI4YWJlYzE4Y2U0ZTMwZTI2YTJmZTgwYjMyOTk4MmVhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCkBAIC0yNjQsNyArMjY0LDcgQEAgU3RyaW5n
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlubmVyKCkKICAgICBpZiAobV9sZXhlci0+aXNSZXBh
cnNpbmcoKSkKICAgICAgICAgbV9zdGF0ZW1lbnREZXB0aC0tOwogICAgIFNjb3BlUmVmIHNjb3Bl
ID0gY3VycmVudFNjb3BlKCk7Ci0gICAgU291cmNlRWxlbWVudHMqIHNvdXJjZUVsZW1lbnRzID0g
cGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBDaGVja0ZvclN0cmljdE1vZGUpOworICAgIFNv
dXJjZUVsZW1lbnRzKiBzb3VyY2VFbGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4
dCwgQ2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICBp
ZiAoIXNvdXJjZUVsZW1lbnRzIHx8ICFjb25zdW1lKEVPRlRPSykpIHsKICAgICAgICAgaWYgKGhh
c0Vycm9yKCkpCiAgICAgICAgICAgICBwYXJzZUVycm9yID0gbV9lcnJvck1lc3NhZ2U7CkBAIC0z
MzAsNyArMzMwLDcgQEAgYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6YWxsb3dBdXRvbWF0aWNTZW1p
Y29sb24oKQogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgotdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZUVsZW1lbnRzTW9k
ZSBtb2RlKQordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMg
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRl
eHQsIFNvdXJjZUVsZW1lbnRzTW9kZSBtb2RlLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBh
cnNlVHlwZSkKIHsKICAgICBjb25zdCB1bnNpZ25lZCBsZW5ndGhPZlVzZVN0cmljdExpdGVyYWwg
PSAxMjsgLy8gInVzZSBzdHJpY3QiLmxlbmd0aAogICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzb3Vy
Y2VFbGVtZW50cyA9IGNvbnRleHQuY3JlYXRlU291cmNlRWxlbWVudHMoKTsKQEAgLTMzOSw3ICsz
MzksNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3VyY2VFbAogICAgIHVuc2lnbmVkIGRpcmVjdGl2ZUxp
dGVyYWxMZW5ndGggPSAwOwogICAgIGF1dG8gc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7
CiAgICAgYm9vbCBoYXNTZXRTdHJpY3QgPSBmYWxzZTsKLSAgICB3aGlsZSAoVHJlZVN0YXRlbWVu
dCBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVudChjb250ZXh0LCBkaXJlY3RpdmUsICZkaXJlY3Rp
dmVMaXRlcmFsTGVuZ3RoKSkgeworICAgIHdoaWxlIChUcmVlU3RhdGVtZW50IHN0YXRlbWVudCA9
IHBhcnNlU3RhdGVtZW50KGNvbnRleHQsIGRpcmVjdGl2ZSwgJmRpcmVjdGl2ZUxpdGVyYWxMZW5n
dGgsIGZ1bmN0aW9uUGFyc2VUeXBlKSkgewogICAgICAgICBpZiAobW9kZSA9PSBDaGVja0ZvclN0
cmljdE1vZGUgJiYgIXNlZW5Ob25EaXJlY3RpdmUpIHsKICAgICAgICAgICAgIGlmIChkaXJlY3Rp
dmUpIHsKICAgICAgICAgICAgICAgICAvLyAidXNlIHN0cmljdCIgbXVzdCBiZSB0aGUgZXhhY3Qg
bGl0ZXJhbCB3aXRob3V0IGVzY2FwZSBzZXF1ZW5jZXMgb3IgbGluZSBjb250aW51YXRpb24uCkBA
IC01NzEsNiArNTcxLDMxIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlY29u
c3RydWN0aW9uUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6Y3JlYXRlCiAgICAgcmV0dXJuIGNv
bnRleHQuY3JlYXRlQmluZGluZ0xvY2F0aW9uKHRva2VuLm1fbG9jYXRpb24sIG5hbWUsIHRva2Vu
Lm1fc3RhcnRQb3NpdGlvbiwgdG9rZW4ubV9lbmRQb3NpdGlvbik7CiB9CiAKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4K
K3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0KQor
eworICAgIEFTU0VSVChtYXRjaChBUlJPV0ZVTkNUSU9OKSk7CisKKyAgICBKU1Rva2VuTG9jYXRp
b24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9
IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgIEpTVGV4dFBvc2l0aW9uIGVuZCA9IHRva2VuRW5k
UG9zaXRpb24oKTsKKworICAgIG5leHQoKTsKKyAgICBUcmVlRXhwcmVzc2lvbiBleHByID0gcGFy
c2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICBmYWlsSWZGYWxzZShleHBy
LCAiQ2Fubm90IHBhcnNlIHRoZSBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgZW5k
ID0gbGFzdFRva2VuRW5kUG9zaXRpb24oKTsKKworICAgIGJvb2wgY29ycmVjdEFycm93RmluaXNo
ID0gaXNFbmRPZkFycm93RnVuY3Rpb24oKSB8fCBtYXRjaChFT0ZUT0spOworICAgIGZhaWxJZkZh
bHNlKGNvcnJlY3RBcnJvd0ZpbmlzaCwgIkV4cGVjdGVkIGEgJzsnLCAnXScsICd9JywgJyknLCBv
ciAnLCcgZm9sbG93aW5nIGEgYXJyb3cgZnVuY3Rpb24gc3RhdGVtZW50Iik7CisKKyAgICBlbmQg
PSB0b2tlbkVuZFBvc2l0aW9uKCk7CisgICAgc2V0RW5kT2ZTdGF0ZW1lbnQoKTsKKworICAgIHJl
dHVybiBjb250ZXh0LmNyZWF0ZVJldHVyblN0YXRlbWVudChsb2NhdGlvbiwgZXhwciwgc3RhcnQs
IGVuZCk7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBQYXJzZXI8
TGV4ZXJUeXBlPjo6dHJ5UGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm5FeHByZXNzaW9uKFRyZWVC
dWlsZGVyJiBjb250ZXh0KQogewpAQCAtMTAxOCw3ICsxMDQzLDcgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlQ2xhdXNlTGlzdCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTd2l0
Y2hDbGF1c2UKICAgICBUcmVlRXhwcmVzc2lvbiBjb25kaXRpb24gPSBwYXJzZUV4cHJlc3Npb24o
Y29udGV4dCk7CiAgICAgZmFpbElmRmFsc2UoY29uZGl0aW9uLCAiQ2Fubm90IHBhcnNlIHN3aXRj
aCBjbGF1c2UiKTsKICAgICBjb25zdW1lT3JGYWlsKENPTE9OLCAiRXhwZWN0ZWQgYSAnOicgYWZ0
ZXIgc3dpdGNoIGNsYXVzZSBleHByZXNzaW9uIik7Ci0gICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN0
YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmlj
dE1vZGUpOworICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VF
bGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9u
UGFyc2VUeXBlKTsKICAgICBmYWlsSWZGYWxzZShzdGF0ZW1lbnRzLCAiQ2Fubm90IHBhcnNlIHRo
ZSBib2R5IG9mIGEgc3dpdGNoIGNsYXVzZSIpOwogICAgIFRyZWVDbGF1c2UgY2xhdXNlID0gY29u
dGV4dC5jcmVhdGVDbGF1c2UoY29uZGl0aW9uLCBzdGF0ZW1lbnRzKTsKICAgICBjb250ZXh0LnNl
dFN0YXJ0T2Zmc2V0KGNsYXVzZSwgc3RhcnRPZmZzZXQpOwpAQCAtMTAzMSw3ICsxMDU2LDcgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhdXNlTGlzdCBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VTd2l0Y2hDbGF1c2UKICAgICAgICAgVHJlZUV4cHJlc3Npb24gY29uZGl0aW9u
ID0gcGFyc2VFeHByZXNzaW9uKGNvbnRleHQpOwogICAgICAgICBmYWlsSWZGYWxzZShjb25kaXRp
b24sICJDYW5ub3QgcGFyc2Ugc3dpdGNoIGNhc2UgZXhwcmVzc2lvbiIpOwogICAgICAgICBjb25z
dW1lT3JGYWlsKENPTE9OLCAiRXhwZWN0ZWQgYSAnOicgYWZ0ZXIgc3dpdGNoIGNsYXVzZSBleHBy
ZXNzaW9uIik7Ci0gICAgICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VT
b3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICAgICAg
VHJlZVNvdXJjZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRl
eHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwog
ICAgICAgICBmYWlsSWZGYWxzZShzdGF0ZW1lbnRzLCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9m
IGEgc3dpdGNoIGNsYXVzZSIpOwogICAgICAgICBjbGF1c2UgPSBjb250ZXh0LmNyZWF0ZUNsYXVz
ZShjb25kaXRpb24sIHN0YXRlbWVudHMpOwogICAgICAgICBjb250ZXh0LnNldFN0YXJ0T2Zmc2V0
KGNsYXVzZSwgc3RhcnRPZmZzZXQpOwpAQCAtMTA0OCw3ICsxMDczLDcgQEAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhdXNlIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN3aXRj
aERlZmF1bHRDbGEKICAgICB1bnNpZ25lZCBzdGFydE9mZnNldCA9IHRva2VuU3RhcnQoKTsKICAg
ICBuZXh0KCk7CiAgICAgY29uc3VtZU9yRmFpbChDT0xPTiwgIkV4cGVjdGVkIGEgJzonIGFmdGVy
IHN3aXRjaCBkZWZhdWx0IGNsYXVzZSIpOwotICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1l
bnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2Rl
KTsKKyAgICBUcmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVu
dHMoY29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNl
VHlwZSk7CiAgICAgZmFpbElmRmFsc2Uoc3RhdGVtZW50cywgIkNhbm5vdCBwYXJzZSB0aGUgYm9k
eSBvZiBhIHN3aXRjaCBkZWZhdWx0IGNsYXVzZSIpOwogICAgIFRyZWVDbGF1c2UgcmVzdWx0ID0g
Y29udGV4dC5jcmVhdGVDbGF1c2UoMCwgc3RhdGVtZW50cyk7CiAgICAgY29udGV4dC5zZXRTdGFy
dE9mZnNldChyZXN1bHQsIHN0YXJ0T2Zmc2V0KTsKQEAgLTExMzMsNyArMTE1OCw3IEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VCbG9ja1N0YXRlbWVuCiAgICAgICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KHJlc3VsdCwg
ZW5kT2Zmc2V0KTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0gICAgVHJlZVNvdXJj
ZUVsZW1lbnRzIHN1YnRyZWUgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVj
a0ZvclN0cmljdE1vZGUpOworICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdWJ0cmVlID0gcGFyc2VT
b3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1
bmN0aW9uUGFyc2VUeXBlKTsKICAgICBmYWlsSWZGYWxzZShzdWJ0cmVlLCAiQ2Fubm90IHBhcnNl
IHRoZSBib2R5IG9mIHRoZSBibG9jayBzdGF0ZW1lbnQiKTsKICAgICBtYXRjaE9yRmFpbChDTE9T
RUJSQUNFLCAiRXhwZWN0ZWQgYSBjbG9zaW5nICd9JyBhdCB0aGUgZW5kIG9mIGEgYmxvY2sgc3Rh
dGVtZW50Iik7CiAgICAgaW50IGVuZE9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKQEAg
LTExNDUsNyArMTE3MCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRl
bWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VCbG9ja1N0YXRlbWVuCiB9CiAKIHRlbXBsYXRl
IDx0eXBlbmFtZSBMZXhlclR5cGU+Ci10ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
dGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBj
b250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZl
TGl0ZXJhbExlbmd0aCkKK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVu
dCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQs
IGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFs
TGVuZ3RoLCBGdW5jdGlvblBhcnNlVHlwZSB0eXBlKQogewogICAgIERlcHRoTWFuYWdlciBzdGF0
ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7CiAgICAgbV9zdGF0ZW1lbnREZXB0aCsrOwpA
QCAtMTE1NCw2ICsxMTc5LDIzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0
YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgZmFpbElm
U3RhY2tPdmVyZmxvdygpOwogICAgIFRyZWVTdGF0ZW1lbnQgcmVzdWx0ID0gMDsKICAgICBib29s
IHNob3VsZFNldEVuZE9mZnNldCA9IHRydWU7CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIGlmICh0eXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAg
ICAgICAgc3dpdGNoIChtX3Rva2VuLm1fdHlwZSkgeworICAgICAgICBjYXNlIENMT1NFUEFSRU46
CisgICAgICAgIGNhc2UgQ0xPU0VCUkFDS0VUOgorICAgICAgICBjYXNlIENPTU1BOgorICAgICAg
ICBjYXNlIFNFTUlDT0xPTjogeworICAgICAgICAgICAgcmVzdWx0ID0gMDsKKyAgICAgICAgICAg
IGNvbnRleHQuc2V0RW5kT2Zmc2V0KHJlc3VsdCwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5vZmZz
ZXQpOworICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAgICAgfQorICAgICAgICBkZWZh
dWx0OgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYKICAgICBz
d2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7CiAgICAgY2FzZSBPUEVOQlJBQ0U6CiAgICAgICAgIHJl
c3VsdCA9IHBhcnNlQmxvY2tTdGF0ZW1lbnQoY29udGV4dCk7CkBAIC0xMTk5LDYgKzEyNDEsMTEg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmUKICAgICBjYXNlIEJSRUFLOgogICAgICAgICByZXN1
bHQgPSBwYXJzZUJyZWFrU3RhdGVtZW50KGNvbnRleHQpOwogICAgICAgICBicmVhazsKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2UgQVJST1dGVU5DVElPTjoK
KyAgICAgICAgcmVzdWx0ID0gcGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KGNvbnRleHQpOwor
ICAgICAgICBicmVhazsKKyNlbmRpZgogICAgIGNhc2UgUkVUVVJOOgogICAgICAgICByZXN1bHQg
PSBwYXJzZVJldHVyblN0YXRlbWVudChjb250ZXh0KTsKICAgICAgICAgYnJlYWs7CkBAIC0xMjYz
LDIwICsxMzEwLDM0IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUZvcm1hbFBh
cmFtZXRlckxpc3QgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRm9yCiB0ZW1wbGF0ZSA8dHlwZW5h
bWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRnVuY3Rpb25C
b2R5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uQm9keSgKICAgICBUcmVlQnVpbGRl
ciYgY29udGV4dCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3Rh
cnQsIAotICAgIGludCBwYXJhbWV0ZXJzU3RhcnQsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3Rv
cktpbmQpCisgICAgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVj
dG9yS2luZCwgRnVuY3Rpb25QYXJzZVR5cGUgcGFyc2VUeXBlKQogewogICAgIEpTVG9rZW5Mb2Nh
dGlvbiBzdGFydExvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CiAgICAgdW5zaWduZWQgc3RhcnRD
b2x1bW4gPSB0b2tlbkNvbHVtbigpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCisgICAgaWYgKHBhcnNlVHlwZSA9PSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSB7Cisg
ICAgICAgIG5leHQoKTsKKyAgICAgICAgaWYgKG1hdGNoKENMT1NFQlJBQ0UpKSB7CisgICAgICAg
ICAgICB1bnNpZ25lZCBlbmRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOworICAgICAgICAgICAgcmV0
dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0YXJ0TG9jYXRpb24sIHRva2VuTG9jYXRp
b24oKSwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0
aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0cmljdE1vZGUoKSwgY29uc3RydWN0b3JL
aW5kKTsKKyAgICAgICAgfQorICAgIH0KKyNlbHNlCiAgICAgbmV4dCgpOwotCiAgICAgaWYgKG1h
dGNoKENMT1NFQlJBQ0UpKSB7CiAgICAgICAgIHVuc2lnbmVkIGVuZENvbHVtbiA9IHRva2VuQ29s
dW1uKCk7CiAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uQm9keShzdGFydExv
Y2F0aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0YXJ0Q29sdW1uLCBlbmRDb2x1bW4sIGZ1bmN0aW9u
S2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBzdHJpY3RN
b2RlKCksIGNvbnN0cnVjdG9yS2luZCk7CiAgICAgfQorI2VuZGlmCisKICAgICBEZXB0aE1hbmFn
ZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50RGVwdGgpOwogICAgIG1fc3RhdGVtZW50RGVw
dGggPSAwOwogICAgIHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpGdW5jdGlvbkJvZHlCdWlsZGVyIGJv
ZHlCdWlsZGVyKGNvbnN0X2Nhc3Q8Vk0qPihtX3ZtKSwgbV9sZXhlci5nZXQoKSk7Ci0gICAgZmFp
bElmRmFsc2UocGFyc2VTb3VyY2VFbGVtZW50cyhib2R5QnVpbGRlciwgQ2hlY2tGb3JTdHJpY3RN
b2RlKSwgIkNhbm5vdCBwYXJzZSBib2R5IG9mIHRoaXMgZnVuY3Rpb24iKTsKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGZhaWxJZkZhbHNlKHBhcnNlU291cmNlRWxl
bWVudHMoYm9keUJ1aWxkZXIsIENoZWNrRm9yU3RyaWN0TW9kZSwgcGFyc2VUeXBlKSwgcGFyc2VU
eXBlID09IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUgPyAiQ2Fubm90IHBhcnNlIGJvZHkgb2Yg
dGhpcyBmdW5jdGlvbiIgOiAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBhcnJvdyBmdW5jdGlv
biIpOworI2Vsc2UKKyAgICBmYWlsSWZGYWxzZShwYXJzZVNvdXJjZUVsZW1lbnRzKGJvZHlCdWls
ZGVyLCBDaGVja0ZvclN0cmljdE1vZGUsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpLCAiQ2Fu
bm90IHBhcnNlIGJvZHkgb2YgdGhpcyBmdW5jdGlvbiIpOworI2VuZGlmCiAgICAgdW5zaWduZWQg
ZW5kQ29sdW1uID0gdG9rZW5Db2x1bW4oKTsKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5j
dGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5k
Q29sdW1uLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRl
cnNTdGFydCwgc3RyaWN0TW9kZSgpLCBjb25zdHJ1Y3RvcktpbmQpOwogfQpAQCAtMTMzNywyOCAr
MTM5OCw3NCBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPiB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IGludCBQYXJzZXI8TGV4ZXJUeXBlPgogICAgIAogICAgIHJldHVybiBwYXJh
bWV0ZXJzU3RhcnQ7CiB9CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
dGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4gdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBpbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvblBhcmFtdGVycyhUcmVl
QnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25QYXJzZU1vZGUgbW9kZSwgUGFyc2VyRnVuY3Rpb25J
bmZvPFRyZWVCdWlsZGVyPiYgaW5mbykKK3sKKyAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0ID0gbV90
b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OworICAgIGlmICghbWF0Y2goSURFTlQpICYmICFt
YXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChz
dHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSIpOworICAgICAgICBmYWlsV2l0aE1l
c3NhZ2UoIkV4cGVjdGVkIGFuIGFycm93IGZ1bmN0aW9uIGlucHV0IHBhcmFtZXRlciIpOworICAg
IH0gZWxzZSB7CisgICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgICAgICBj
b25zdW1lKE9QRU5QQVJFTik7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGlmICghbWF0Y2go
Q0xPU0VQQVJFTikpIHsKKyAgICAgICAgICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBwYXJzZUZv
cm1hbFBhcmFtZXRlcnMoY29udGV4dCk7CisgICAgICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5m
by5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5n
Rm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAg
ICAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiRXhwZWN0ZWQgYSAnKScgb3IgYSAn
LCcgYWZ0ZXIgYSBwYXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsKKyAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgIGF1dG8gcGFyYW1ldGVyID0gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oY29u
dGV4dCwgRGVjb25zdHJ1Y3RUb1BhcmFtZXRlcnMpOworICAgICAgICAgICAgZmFpbElmRmFsc2Uo
cGFyYW1ldGVyLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlciBwYXR0ZXJuIik7CisgICAgICAgICAg
ICBpbmZvLnBhcmFtZXRlcnMgPSBjb250ZXh0LmNyZWF0ZUZvcm1hbFBhcmFtZXRlckxpc3QocGFy
YW1ldGVyKTsKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKGluZm8ucGFyYW1ldGVycywgIkNhbm5v
dCBwYXJzZSBwYXJhbWV0ZXJzIGZvciB0aGlzICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2Rl
KSk7CisgICAgICAgIH0KKyAgICB9CiAgICAgCisgICAgcmV0dXJuIHBhcmFtZXRlcnNTdGFydDsK
K30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5m
byhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMgcmVxdWlyZW1lbnRz
LCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLAotICAgIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2Nv
cGUsIENvbnN0cnVjdG9yS2luZCBvd25lckNsYXNzS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0
YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvKQorICAgIGJvb2wgbmFt
ZUlzSW5Db250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCBvd25lckNsYXNzS2luZCwgaW50
IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBp
bmZvLCBGdW5jdGlvblBhcnNlVHlwZSBwYXJzZVR5cGUpCiB7CiAgICAgQXV0b1BvcFNjb3BlUmVm
IGZ1bmN0aW9uU2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOwogICAgIGZ1bmN0aW9uU2NvcGUtPnNl
dElzRnVuY3Rpb24oKTsKICAgICBpbnQgZnVuY3Rpb25OYW1lU3RhcnQgPSBtX3Rva2VuLm1fbG9j
YXRpb24uc3RhcnRPZmZzZXQ7CiAgICAgY29uc3QgSWRlbnRpZmllciogbGFzdEZ1bmN0aW9uTmFt
ZSA9IG1fbGFzdEZ1bmN0aW9uTmFtZTsKICAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBudWxscHRy
OworICAgIGludCBwYXJhbWV0ZXJzU3RhcnQ7CisgICAgYm9vbCBpc0NsYXNzQ29uc3RydWN0b3I7
CiAgICAgCi0gICAgaW50IHBhcmFtZXRlcnNTdGFydCA9IHBhcnNlRnVuY3Rpb25QYXJhbXRlcnMo
Y29udGV4dCwgcmVxdWlyZW1lbnRzLCBtb2RlLCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgZnVu
Y3Rpb25TY29wZSwgaW5mbyk7Ci0KLSAgICBtYXRjaE9yRmFpbChPUEVOQlJBQ0UsICJFeHBlY3Rl
ZCBhbiBvcGVuaW5nICd7JyBhdCB0aGUgc3RhcnQgb2YgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1v
ZGUobW9kZSksICIgYm9keSIpOwotCi0gICAgLy8gQnl0ZWNvZGVHZW5lcmF0b3IgZW1pdHMgY29k
ZSB0byB0aHJvdyBUeXBlRXJyb3Igd2hlbiBhIGNsYXNzIGNvbnN0cnVjdG9yIGlzICJjYWxsImVk
LgotICAgIC8vIFNldCBDb25zdHJ1Y3RvcktpbmQgdG8gTm9uZSBmb3Igbm9uLWNvbnN0cnVjdG9y
IG1ldGhvZHMgb2YgY2xhc3Nlcy4KLSAgICBib29sIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IG1vZGUg
PT0gTWV0aG9kTW9kZSAmJiBpbmZvLm5hbWUgJiYgKmluZm8ubmFtZSA9PSBtX3ZtLT5wcm9wZXJ0
eU5hbWVzLT5jb25zdHJ1Y3RvcjsKLSAgICBpZiAobV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kICE9
IENvbnN0cnVjdG9yS2luZDo6Tm9uZSkgewotICAgICAgICBvd25lckNsYXNzS2luZCA9IG1fZGVm
YXVsdENvbnN0cnVjdG9yS2luZDsKLSAgICAgICAgaXNDbGFzc0NvbnN0cnVjdG9yID0gdHJ1ZTsK
KyAgICBzd2l0Y2ggKHBhcnNlVHlwZSkgeworICAgIGNhc2UgU3RhbmRhcmRGdW5jdGlvblBhcnNl
VHlwZTogeworICAgICAgICBwYXJhbWV0ZXJzU3RhcnQgPSBwYXJzZUZ1bmN0aW9uUGFyYW10ZXJz
KGNvbnRleHQsIHJlcXVpcmVtZW50cywgbW9kZSwgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIGZ1
bmN0aW9uU2NvcGUsIGluZm8pOworICAgICAgICAgICAgCisgICAgICAgIG1hdGNoT3JGYWlsKE9Q
RU5CUkFDRSwgIkV4cGVjdGVkIGFuIG9wZW5pbmcgJ3snIGF0IHRoZSBzdGFydCBvZiBhICIsIHN0
cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7CisgICAgICAgIAorICAgICAgICAv
LyBCeXRlY29kZUdlbmVyYXRvciBlbWl0cyBjb2RlIHRvIHRocm93IFR5cGVFcnJvciB3aGVuIGEg
Y2xhc3MgY29uc3RydWN0b3IgaXMgImNhbGwiZWQuCisgICAgICAgIC8vIFNldCBDb25zdHJ1Y3Rv
cktpbmQgdG8gTm9uZSBmb3Igbm9uLWNvbnN0cnVjdG9yIG1ldGhvZHMgb2YgY2xhc3Nlcy4KKyAg
ICAgICAgaXNDbGFzc0NvbnN0cnVjdG9yID0gbW9kZSA9PSBNZXRob2RNb2RlICYmIGluZm8ubmFt
ZSAmJiAqaW5mby5uYW1lID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yOworICAg
ICAgICBpZiAobV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kICE9IENvbnN0cnVjdG9yS2luZDo6Tm9u
ZSkgeworICAgICAgICAgICAgb3duZXJDbGFzc0tpbmQgPSBtX2RlZmF1bHRDb25zdHJ1Y3Rvcktp
bmQ7CisgICAgICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSB0cnVlOworICAgICAgICB9Cisg
ICAgICAgIGJyZWFrOwogICAgIH0KKyAgICBjYXNlIEFycm93RnVuY3Rpb25QYXJzZVR5cGU6IHsK
KyAgICAgICAgcGFyYW1ldGVyc1N0YXJ0ID0gcGFyc2VBcnJvd0Z1bmN0aW9uUGFyYW10ZXJzKGNv
bnRleHQsIG1vZGUsIGluZm8pOworICAgICAgICAKKyAgICAgICAgbWF0Y2hPckZhaWwoQVJST1dG
VU5DVElPTiwgIkV4cGVjdGVkIGEgJz0+JyBhZnRlciBhcnJvdyBmdW5jdGlvbiBwYXJhbWV0ZXIg
ZGVjbGFyYXRpb24iKTsKKyAgICAgICAgaXNDbGFzc0NvbnN0cnVjdG9yID0gZmFsc2U7CisgICAg
ICAgIAorICAgICAgICBpbmZvLmFycm93RnVuY3Rpb25PZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5v
ZmZzZXQ7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICB9CisKICAgICBDb25zdHJ1Y3Rvcktp
bmQgY29uc3RydWN0b3JLaW5kID0gaXNDbGFzc0NvbnN0cnVjdG9yID8gb3duZXJDbGFzc0tpbmQg
OiBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmU7CiAKICAgICBpbmZvLm9wZW5CcmFjZU9mZnNldCA9IG1f
dG9rZW4ubV9kYXRhLm9mZnNldDsKQEAgLTEzOTIsOCArMTQ5OSwxNSBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZv
KFRyZWVCdWlsZAogICAgICAgICBmYWlsSWZGYWxzZShwb3BTY29wZShmdW5jdGlvblNjb3BlLCBU
cmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFibGVJbmZvKSwgIlBhcnNlciBlcnJvciIpOwogICAg
ICAgICAKICAgICAgICAgaW5mby5jbG9zZUJyYWNlT2Zmc2V0ID0gY2FjaGVkSW5mby0+Y2xvc2VC
cmFjZU9mZnNldDsKLQotICAgICAgICBtX3Rva2VuID0gY2FjaGVkSW5mby0+Y2xvc2VCcmFjZVRv
a2VuKCk7CisgICAgICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkKKyAgICAgICAg
ICAgIGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9IGNhY2hlZEluZm8tPmlzQm9keUFycm93RXhwcmVz
c2lvbiA/ICBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24gOiBBcnJvd0Z1bmN0aW9uQm9keUJs
b2NrOworICAgICAgICBlbHNlCisgICAgICAgICAgICBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPSBT
dGFuZGFyZEZ1bmN0aW9uQm9keUJsb2NrOworI2VuZGlmCisgICAgICAgIG1fdG9rZW4gPSBjYWNo
ZWRJbmZvLT5lbmRGdW5jdGlvblRva2VuKCk7CisgICAgICAgIAogICAgICAgICBpZiAoZW5kQ29s
dW1uSXNPblN0YXJ0TGluZSkKICAgICAgICAgICAgIG1fdG9rZW4ubV9sb2NhdGlvbi5saW5lU3Rh
cnRPZmZzZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0OwogCkBAIC0xNDAyLDEzICsxNTE2LDQz
IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAKICAgICAgICAgY29udGV4dC5zZXRFbmRPZmZz
ZXQoaW5mby5ib2R5LCBtX2xleGVyLT5jdXJyZW50T2Zmc2V0KCkpOwogICAgICAgICAKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAocGFyc2VUeXBlICE9
IEFycm93RnVuY3Rpb25QYXJzZVR5cGUgfHwgaW5mby5mdW5jdGlvbkJvZHlUeXBlID09IEFycm93
RnVuY3Rpb25Cb2R5QmxvY2spCisgICAgICAgICAgICBuZXh0KCk7CisjZWxzZQogICAgICAgICBu
ZXh0KCk7CisjZW5kaWYKICAgICAgICAgaW5mby5ib2R5RW5kTGluZSA9IG1fbGFzdFRva2VuRW5k
UG9zaXRpb24ubGluZTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQorICAgIAogICAgIG1f
bGFzdEZ1bmN0aW9uTmFtZSA9IGxhc3RGdW5jdGlvbk5hbWU7CiAgICAgUGFyc2VyU3RhdGUgb2xk
U3RhdGUgPSBzYXZlU3RhdGUoKTsKLSAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShj
b250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRl
cnNTdGFydCwgY29uc3RydWN0b3JLaW5kKTsKKyAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlw
ZSkgeworICAgICAgICBTYXZlUG9pbnQgc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7Cisg
ICAgICAgIG5leHQoKTsKKyAgICAgICAgLy8gQ2hlY2sgaWYgYXJyb3cgYm9keSBzdGFydCB3aXRo
IHsuIElmIGl0IHRydWUgaXQgbWVhbiB0aGF0IGFycm93IGZ1bmN0aW9uIGlzIEZhdCBhcnJvdyBm
dW5jdGlvbgorICAgICAgICAvLyBhbmQgd2UgbmVlZCB1c2UgY29tbW9uIGFwcHJvYWNoIHRvIHBh
cnNlIGZ1bmN0aW9uIGJvZHkKKyAgICAgICAgaW5mby5mdW5jdGlvbkJvZHlUeXBlID0gbWF0Y2go
T1BFTkJSQUNFKSA/IEFycm93RnVuY3Rpb25Cb2R5QmxvY2sgOiBBcnJvd0Z1bmN0aW9uQm9keUV4
cHJlc3Npb247CisgICAgCisgICAgICAgIGlmIChpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJy
b3dGdW5jdGlvbkJvZHlCbG9jaykgeworICAgICAgICAgICAgaW5mby5vcGVuQnJhY2VPZmZzZXQg
PSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CisgICAgICAgICAgICBpbmZvLmJvZHlTdGFydExpbmUg
PSB0b2tlbkxpbmUoKTsKKyAgICAgICAgICAgIGluZm8uYm9keVN0YXJ0Q29sdW1uID0gbV90b2tl
bi5tX2RhdGEub2Zmc2V0IC0gbV90b2tlbi5tX2RhdGEubGluZVN0YXJ0T2Zmc2V0OworICAgICAg
ICAKKyAgICAgICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1
bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBj
b25zdHJ1Y3RvcktpbmQsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOworICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlUG9pbnQpOworICAgICAgICAg
ICAgaW5mby5ib2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3Jk
U3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2lu
ZCwgQXJyb3dGdW5jdGlvblBhcnNlVHlwZSk7CisgICAgICAgIH0KKyAgICB9IGVsc2UKKyAgICAg
ICAgaW5mby5ib2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3Jk
U3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2lu
ZCwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CisjZWxzZQorICAgIGluZm8uYm9keSA9IHBh
cnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5h
bWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQsIFN0YW5kYXJkRnVuY3Rp
b25QYXJzZVR5cGUpOworI2VuZGlmCisgICAgCiAgICAgcmVzdG9yZVN0YXRlKG9sZFN0YXRlKTsK
ICAgICBmYWlsSWZGYWxzZShpbmZvLmJvZHksICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgdGhp
cyAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOwogICAgIGNvbnRleHQuc2V0RW5kT2Zm
c2V0KGluZm8uYm9keSwgbV9sZXhlci0+Y3VycmVudE9mZnNldCgpKTsKQEAgLTE0MzksMTggKzE1
ODMsMzMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgcGFyYW1ldGVycy5jbG9z
ZUJyYWNlTGluZSA9IGNsb3NlQnJhY2VMaW5lOwogICAgICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJh
Y2VPZmZzZXQgPSBpbmZvLmNsb3NlQnJhY2VPZmZzZXQ7CiAgICAgICAgIHBhcmFtZXRlcnMuY2xv
c2VCcmFjZUxpbmVTdGFydE9mZnNldCA9IGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQ7CisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKHBhcnNlVHlwZSA9
PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgICAgICBwYXJhbWV0ZXJzLmlzQm9k
eUFycm93RXhwcmVzc2lvbiA9IGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9u
Qm9keUV4cHJlc3Npb247CisgICAgICAgICAgICBwYXJhbWV0ZXJzLnRva2VuVHlwZSA9IG1fdG9r
ZW4ubV90eXBlOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgZnVuY3Rpb25TY29wZS0+Zmls
bFBhcmFtZXRlcnNGb3JTb3VyY2VQcm92aWRlckNhY2hlKHBhcmFtZXRlcnMpOwogICAgICAgICBu
ZXdJbmZvID0gU291cmNlUHJvdmlkZXJDYWNoZUl0ZW06OmNyZWF0ZShwYXJhbWV0ZXJzKTsKIAog
ICAgIH0KICAgICAKICAgICBmYWlsSWZGYWxzZShwb3BTY29wZShmdW5jdGlvblNjb3BlLCBUcmVl
QnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFibGVJbmZvKSwgIlBhcnNlciBlcnJvciIpOworICAgIAor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaWYgKChwYXJzZVR5cGUg
PT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSAmJiBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJy
b3dGdW5jdGlvbkJvZHlCbG9jaykgfHwgcGFyc2VUeXBlICE9IEFycm93RnVuY3Rpb25QYXJzZVR5
cGUpIHsKKyAgICAgICAgbWF0Y2hPckZhaWwoQ0xPU0VCUkFDRSwgIkV4cGVjdGVkIGEgY2xvc2lu
ZyAnfScgYWZ0ZXIgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOwor
ICAgICAgICBuZXh0KCk7CisgICAgfSBlbHNlCisgICAgICAgIGZhaWxJZkZhbHNlKGlzRW5kT2ZB
cnJvd0Z1bmN0aW9uKCksICJFeHBlY3RlZCB0aGUgY2xvc2luZyAnOycgJywnICddJyAnKScgJ30n
IGFmdGVyIGFycm93IGZ1bmN0aW9uIik7CisjZWxzZQogICAgIG1hdGNoT3JGYWlsKENMT1NFQlJB
Q0UsICJFeHBlY3RlZCBhIGNsb3NpbmcgJ30nIGFmdGVyIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25N
b2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICBuZXh0KCk7CisjZW5kaWYKICAgICAKICAgICBpZiAo
bmV3SW5mbykKICAgICAgICAgbV9mdW5jdGlvbkNhY2hlLT5hZGQoaW5mby5vcGVuQnJhY2VPZmZz
ZXQsIFdURjo6bW92ZShuZXdJbmZvKSk7CiAgICAgCi0gICAgbmV4dCgpOwogICAgIGluZm8uYm9k
eUVuZExpbmUgPSBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmU7CiAgICAgcmV0dXJuIHRydWU7
CiB9CkBAIC0xNDYzLDcgKzE2MjIsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25EZWNsYQogICAgIHVu
c2lnbmVkIGZ1bmN0aW9uS2V5d29yZFN0YXJ0ID0gdG9rZW5TdGFydCgpOwogICAgIG5leHQoKTsK
ICAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87Ci0gICAgZmFpbElmRmFs
c2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTmVlZHNOYW1lLCBGdW5jdGlv
bk1vZGUsIHRydWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQs
IGluZm8pKSwgIkNhbm5vdCBwYXJzZSB0aGlzIGZ1bmN0aW9uIik7CisgICAgZmFpbElmRmFsc2Uo
KHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTmVlZHNOYW1lLCBGdW5jdGlvbk1v
ZGUsIHRydWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGlu
Zm8sIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSB0aGlzIGZ1bmN0
aW9uIik7CiAgICAgZmFpbElmRmFsc2UoaW5mby5uYW1lLCAiRnVuY3Rpb24gc3RhdGVtZW50cyBt
dXN0IGhhdmUgYSBuYW1lIik7CiAgICAgZmFpbElmRmFsc2VJZlN0cmljdChkZWNsYXJlVmFyaWFi
bGUoaW5mby5uYW1lKSwgIkNhbm5vdCBkZWNsYXJlIGEgZnVuY3Rpb24gbmFtZWQgJyIsIGluZm8u
bmFtZS0+aW1wbCgpLCAiJyBpbiBzdHJpY3QgbW9kZSIpOwogICAgIHJldHVybiBjb250ZXh0LmNy
ZWF0ZUZ1bmNEZWNsU3RhdGVtZW50KGxvY2F0aW9uLCBpbmZvKTsKQEAgLTE1NTgsNyArMTcxNyw3
IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUNsYXNzRXhwcmVzc2lvbiBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VDbGFzcyhUCiAgICAgICAgICAgICBmYWlsSWZGYWxzZShwcm9w
ZXJ0eSwgIkNhbm5vdCBwYXJzZSB0aGlzIG1ldGhvZCIpOwogICAgICAgICB9IGVsc2UgewogICAg
ICAgICAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBtZXRob2RJbmZvOwotICAg
ICAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9u
TmVlZHNOYW1lLCBpc1N0YXRpY01ldGhvZCA/IEZ1bmN0aW9uTW9kZSA6IE1ldGhvZE1vZGUsIGZh
bHNlLCBjb25zdHJ1Y3RvcktpbmQsIG1ldGhvZFN0YXJ0LCBtZXRob2RJbmZvKSksICJDYW5ub3Qg
cGFyc2UgdGhpcyBtZXRob2QiKTsKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0
aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5lZWRzTmFtZSwgaXNTdGF0aWNNZXRob2QgPyBGdW5j
dGlvbk1vZGUgOiBNZXRob2RNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBtZXRob2RTdGFy
dCwgbWV0aG9kSW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNl
IHRoaXMgbWV0aG9kIik7CiAgICAgICAgICAgICBmYWlsSWZGYWxzZShtZXRob2RJbmZvLm5hbWUs
ICJtZXRob2QgbXVzdCBoYXZlIGEgbmFtZSIpOwogICAgICAgICAgICAgZmFpbElmRmFsc2UoZGVj
bGFyZVZhcmlhYmxlKG1ldGhvZEluZm8ubmFtZSksICJDYW5ub3QgZGVjbGFyZSBhIG1ldGhvZCBu
YW1lZCAnIiwgbWV0aG9kSW5mby5uYW1lLT5pbXBsKCksICInIik7CiAKQEAgLTE3NzQsNiArMTkz
MywxOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlSWZTdGF0ZW1lbnQoVAogICAgIHJldHVybiBjb250ZXh0LmNyZWF0
ZUlmU3RhdGVtZW50KGlmTG9jYXRpb24sIGNvbmRpdGlvbiwgdHJ1ZUJsb2NrLCBzdGF0ZW1lbnRT
dGFjay5sYXN0KCksIHN0YXJ0LCBlbmQpOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFy
cm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQoreworICAgIGZhaWxJ
ZlN0YWNrT3ZlcmZsb3coKTsKKyAgICBUcmVlRXhwcmVzc2lvbiBub2RlID0gcGFyc2VBc3NpZ25t
ZW50RXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICBmYWlsSWZGYWxzZShub2RlLCAiQ2Fubm90IHBh
cnNlIGV4cHJlc3Npb24iKTsKKyAgICBjb250ZXh0LnNldEVuZE9mZnNldChub2RlLCBtX2xhc3RU
b2tlbkVuZFBvc2l0aW9uLm9mZnNldCk7CisgICAgcmV0dXJuIG5vZGU7Cit9CisjZW5kaWYKKwog
dGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwcmVzc2lvbihUcmVl
QnVpbGRlciYgY29udGV4dCkKIHsKQEAgLTE4MjEsNiArMTk5Miw0MSBAQCB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUFzc2lnbm1lbgogICAgICAgICB9CiAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50
KTsKICAgICB9CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFNh
dmVQb2ludCBzYXZlQXJyb3dGdW5jdGlvblBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAg
Ym9vbCBhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0ID0gZmFsc2U7CisgICAgaWYgKG1hdGNoKE9QRU5Q
QVJFTikpIHsKKyAgICAgICAgbmV4dCgpOworICAgICAgICBpZiAobWF0Y2goQ0xPU0VQQVJFTikp
IHsKKyAgICAgICAgICAgIG5leHQoKTsKKworICAgICAgICAgICAgaWYgKG1hdGNoKEFSUk9XRlVO
Q1RJT04pKQorICAgICAgICAgICAgICAgIGFycm93RnVuY3Rpb25FbXB0eUxpc3QgPSB0cnVlOwor
ICAgICAgICB9CisKKyAgICAgICAgaWYgKCFhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0KQorICAgICAg
ICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICB9CisK
KyAgICBUcmVlRXhwcmVzc2lvbiBsaHM7CisgICAgaWYgKCFhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0
KSB7CisgICAgICAgIGxocyA9IHBhcnNlQ29uZGl0aW9uYWxFeHByZXNzaW9uKGNvbnRleHQpOwor
ICAgICAgICBmYWlsSWZGYWxzZShsaHMsICJDYW4Zbm90IHBhcnNlIGV4cHJlc3Npb24iKTsKKyAg
ICAgICAgaWYgKGluaXRpYWxOb25MSFNDb3VudCAhPSBtX25vbkxIU0NvdW50KSB7CisgICAgICAg
ICAgICBpZiAobV90b2tlbi5tX3R5cGUgPj0gRVFVQUwgJiYgbV90b2tlbi5tX3R5cGUgPD0gT1JF
UVVBTCkKKyAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWwoIkxlZnQgaGFuZCBzaWRlIG9mIG9w
ZXJhdG9yICciLCBnZXRUb2tlbigpLCAiJyBtdXN0IGJlIGEgcmVmZXJlbmNlIik7CisKKyAgICAg
ICAgICAgIHJldHVybiBsaHM7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAobWF0Y2goQVJS
T1dGVU5DVElPTikpIHsKKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlv
blBvaW50KTsKKyAgICAgICAgbGhzID0gcGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihjb250ZXh0
KTsKKyAgICAgICAgcmV0dXJuIGxoczsKKyAgICB9CisjZWxzZQogICAgIFRyZWVFeHByZXNzaW9u
IGxocyA9IHBhcnNlQ29uZGl0aW9uYWxFeHByZXNzaW9uKGNvbnRleHQpOwogICAgIGZhaWxJZkZh
bHNlKGxocywgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9uIik7CiAgICAgaWYgKGluaXRpYWxOb25M
SFNDb3VudCAhPSBtX25vbkxIU0NvdW50KSB7CkBAIC0xODI5LDcgKzIwMzUsOCBAQCB0ZW1wbGF0
ZSA8dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZUFzc2lnbm1lbgogCiAgICAgICAgIHJldHVybiBsaHM7CiAgICAgfQotICAgIAorI2Vu
ZGlmCisKICAgICBpbnQgYXNzaWdubWVudFN0YWNrID0gMDsKICAgICBPcGVyYXRvciBvcDsKICAg
ICBib29sIGhhZEFzc2lnbm1lbnQgPSBmYWxzZTsKQEAgLTIwNjEsNyArMjI2OCw3IEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlUHJvcGVydHlNZXRoCiAgICAgSlNUb2tlbkxvY2F0aW9uIG1ldGhvZExvY2F0aW9uKHRv
a2VuTG9jYXRpb24oKSk7CiAgICAgdW5zaWduZWQgbWV0aG9kU3RhcnQgPSB0b2tlblN0YXJ0KCk7
CiAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBtZXRob2RJbmZvOwotICAgIGZh
aWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1l
bnRzLCBNZXRob2RNb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBtZXRob2RTdGFy
dCwgbWV0aG9kSW5mbykpLCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9kIik7CisgICAgZmFpbElm
RmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMs
IE1ldGhvZE1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIG1ldGhvZFN0YXJ0LCBt
ZXRob2RJbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2UgdGhp
cyBtZXRob2QiKTsKICAgICBtZXRob2RJbmZvLm5hbWUgPSBtZXRob2ROYW1lOwogICAgIHJldHVy
biBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uRXhwcihtZXRob2RMb2NhdGlvbiwgbWV0aG9kSW5mbyk7
CiB9CkBAIC0yMDgzLDEwICsyMjkwLDEwIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUdldHRlclNldHRlcihUCiAgICAg
UGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOwogICAgIGlmICh0eXBlID09IFBy
b3BlcnR5Tm9kZTo6R2V0dGVyKSB7CiAgICAgICAgIGZhaWxJZkZhbHNlKG1hdGNoKE9QRU5QQVJF
TiksICJFeHBlY3RlZCBhIHBhcmFtZXRlciBsaXN0IGZvciBnZXR0ZXIgZGVmaW5pdGlvbiIpOwot
ICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25O
b1JlcXVpcmVtZW50cywgR2V0dGVyTW9kZSwgZmFsc2UsIGNvbnN0cnVjdG9yS2luZCwgZ2V0dGVy
T3JTZXR0ZXJTdGFydE9mZnNldCwgaW5mbykpLCAiQ2Fubm90IHBhcnNlIGdldHRlciBkZWZpbml0
aW9uIik7CisgICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBG
dW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBHZXR0ZXJNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5k
LCBnZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBpbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VU
eXBlKSksICJDYW5ub3QgcGFyc2UgZ2V0dGVyIGRlZmluaXRpb24iKTsKICAgICB9IGVsc2Ugewog
ICAgICAgICBmYWlsSWZGYWxzZShtYXRjaChPUEVOUEFSRU4pLCAiRXhwZWN0ZWQgYSBwYXJhbWV0
ZXIgbGlzdCBmb3Igc2V0dGVyIGRlZmluaXRpb24iKTsKLSAgICAgICAgZmFpbElmRmFsc2UoKHBh
cnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIFNldHRlck1v
ZGUsIGZhbHNlLCBjb25zdHJ1Y3RvcktpbmQsIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIGlu
Zm8pKSwgIkNhbm5vdCBwYXJzZSBzZXR0ZXIgZGVmaW5pdGlvbiIpOworICAgICAgICBmYWlsSWZG
YWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywg
U2V0dGVyTW9kZSwgZmFsc2UsIGNvbnN0cnVjdG9yS2luZCwgZ2V0dGVyT3JTZXR0ZXJTdGFydE9m
ZnNldCwgaW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIHNl
dHRlciBkZWZpbml0aW9uIik7CiAgICAgfQogICAgIGlmIChzdHJpbmdQcm9wZXJ0eU5hbWUpCiAg
ICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUdldHRlck9yU2V0dGVyUHJvcGVydHkobG9jYXRp
b24sIHR5cGUsIHN0cmljdCwgc3RyaW5nUHJvcGVydHlOYW1lLCBpbmZvLCBzdXBlckJpbmRpbmcp
OwpAQCAtMjI3NSw3ICsyNDgyLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
RXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAg
bmV4dCgpOwogICAgICAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87CiAg
ICAgICAgIGluZm8ubmFtZSA9ICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllcjsK
LSAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9u
Tm9SZXF1aXJlbWVudHMsIEZ1bmN0aW9uTW9kZSwgZmFsc2UsIENvbnN0cnVjdG9yS2luZDo6Tm9u
ZSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8pKSwgIkNhbm5vdCBwYXJzZSBmdW5jdGlvbiBl
eHByZXNzaW9uIik7CisgICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250
ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlvbk1vZGUsIGZhbHNlLCBDb25zdHJ1
Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvLCBTdGFuZGFyZEZ1bmN0
aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2UgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOwogICAg
ICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkV4cHIobG9jYXRpb24sIGluZm8pOwog
ICAgIH0KICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKQEAgLTIzMDQsNiArMjUxMSwyMyBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZVByaW1hcnlFeHByZQogICAgICAgICByZXR1cm4gY29udGV4dC50aGlzRXhw
cihsb2NhdGlvbiwgbV90aGlzVERaTW9kZSk7CiAgICAgfQogICAgIGNhc2UgSURFTlQ6IHsKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBTYXZlUG9pbnQgc2F2
ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgICAgICBKU1RleHRQ
b3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgICAgICBjb25zdCBJZGVu
dGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OworICAgICAgICBKU1Rva2VuTG9j
YXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICAgICAgbmV4dCgpOworCisgICAg
ICAgIGlmICghbWF0Y2goQVJST1dGVU5DVElPTikpIHsKKyAgICAgICAgICAgIGN1cnJlbnRTY29w
ZSgpLT51c2VWYXJpYWJsZShpZGVudCwgbV92bS0+cHJvcGVydHlOYW1lcy0+ZXZhbCA9PSAqaWRl
bnQpOworICAgICAgICAgICAgbV9sYXN0SWRlbnRpZmllciA9IGlkZW50OworICAgICAgICAgICAg
cmV0dXJuIGNvbnRleHQuY3JlYXRlUmVzb2x2ZShsb2NhdGlvbiwgaWRlbnQsIHN0YXJ0KTsKKyAg
ICAgICAgfQorCisgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Qb2lu
dCk7CisgICAgICAgIFRyZWVFeHByZXNzaW9uIGxocyA9IHBhcnNlQXJyb3dGdW5jdGlvbldyYXBw
ZXIoY29udGV4dCk7CisgICAgICAgIHJldHVybiBsaHM7CisjZWxzZQogICAgICAgICBKU1RleHRQ
b3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOwogICAgICAgICBjb25zdCBJZGVu
dGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICBKU1Rva2VuTG9j
YXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKQEAgLTIzMTEsNiArMjUzNSw3IEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAgICAgIGN1cnJlbnRTY29wZSgpLT51c2VWYXJpYWJs
ZShpZGVudCwgbV92bS0+cHJvcGVydHlOYW1lcy0+ZXZhbCA9PSAqaWRlbnQpOwogICAgICAgICBt
X2xhc3RJZGVudGlmaWVyID0gaWRlbnQ7CiAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJl
c29sdmUobG9jYXRpb24sIGlkZW50LCBzdGFydCk7CisjZW5kaWYKICAgICB9CiAgICAgY2FzZSBT
VFJJTkc6IHsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0
YS5pZGVudDsKQEAgLTI0OTgsNiArMjcyMywzMiBAQCBlbmRNZW1iZXJFeHByZXNzaW9uOgogICAg
IHJldHVybiBiYXNlOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
K3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25X
cmFwcGVyKFRyZWVCdWlsZGVyJiBjb250ZXh0KQoreworICAgIFRyZWVFeHByZXNzaW9uIGJhc2Ug
PSAwOworICAgIEpTVGV4dFBvc2l0aW9uIGV4cHJlc3Npb25TdGFydCA9IHRva2VuU3RhcnRQb3Np
dGlvbigpOworICAgIGludCBuZXdDb3VudCA9IDA7CisgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0
aW9uOworCisgICAgaWYgKG1hdGNoKElERU5UKSB8fCBtYXRjaChPUEVOUEFSRU4pKSB7CisgICAg
ICAgIHVuc2lnbmVkIGZ1bmN0aW9uS2V5d29yZFN0YXJ0ID0gdG9rZW5TdGFydCgpOworICAgICAg
ICBsb2NhdGlvbiA9IHRva2VuTG9jYXRpb24oKTsKKyAgICAgICAgUGFyc2VyRnVuY3Rpb25JbmZv
PFRyZWVCdWlsZGVyPiBpbmZvOworICAgICAgICBpbmZvLm5hbWUgPSAmbV92bS0+cHJvcGVydHlO
YW1lcy0+bnVsbElkZW50aWZpZXI7CisgICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9u
SW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlvbk1vZGUsIHRydWUs
IENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8sIEFycm93
RnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSBhcnJvdyBmdW5jdGlvbiBleHByZXNz
aW9uIik7CisgICAgICAgIGJhc2UgPSBjb250ZXh0LmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKGxv
Y2F0aW9uLCBpbmZvKTsKKyAgICB9IGVsc2UKKyAgICAgICAgYmFzZSA9IHBhcnNlUHJpbWFyeUV4
cHJlc3Npb24oY29udGV4dCk7CisKKyAgICBmYWlsSWZGYWxzZShiYXNlLCAiQ2Fubm90IHBhcnNl
IGJhc2UgZXhwcmVzc2lvbiIpOworICAgIHdoaWxlIChuZXdDb3VudC0tKQorICAgICAgICBiYXNl
ID0gY29udGV4dC5jcmVhdGVOZXdFeHByKGxvY2F0aW9uLCBiYXNlLCBleHByZXNzaW9uU3RhcnQs
IGxhc3RUb2tlbkVuZFBvc2l0aW9uKCkpOworICAgIHJldHVybiBiYXNlOworfQorI2VuZGlmCisK
IHN0YXRpYyBjb25zdCBjaGFyKiBvcGVyYXRvclN0cmluZyhib29sIHByZWZpeCwgdW5zaWduZWQg
dG9rKQogewogICAgIHN3aXRjaCAodG9rKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJz
ZXIuaAppbmRleCA3OGJhZmZhMGUxNzczYzgyMDY5OGI5MjAzZjBmNmEzZDdhZDMyZWM0Li43MDcw
YmIyYjY4MzRjMDA0ODNjYTVhMmVjZTU5MWJiYzY2Y2M4YzllIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyLmgKQEAgLTgwLDYgKzgwLDExIEBAIGNsYXNzIFNvdXJjZUNvZGU7CiBD
T01QSUxFX0FTU0VSVChMYXN0VW50YWdnZWRUb2tlbiA8IDY0LCBMZXNzVGhhbjY0VW50YWdnZWRU
b2tlbnMpOwogCiBlbnVtIFNvdXJjZUVsZW1lbnRzTW9kZSB7IENoZWNrRm9yU3RyaWN0TW9kZSwg
RG9udENoZWNrRm9yU3RyaWN0TW9kZSB9OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCitlbnVtIEZ1bmN0aW9uUGFyc2VUeXBlIHsgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlw
ZSwgQXJyb3dGdW5jdGlvblBhcnNlVHlwZSB9OworI2Vsc2UKK2VudW0gRnVuY3Rpb25QYXJzZVR5
cGUgeyBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlfTsKKyNlbmRpZgogZW51bSBGdW5jdGlvblJl
cXVpcmVtZW50cyB7IEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEZ1bmN0aW9uTmVlZHNOYW1lIH07
CiBlbnVtIEZ1bmN0aW9uUGFyc2VNb2RlIHsKICAgICBGdW5jdGlvbk1vZGUsCkBAIC02MTgsNiAr
NjIzLDEzIEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBtX3Rva2VuLm1fdHlwZSA9PSBJREVO
VCAmJiAqbV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+b2Y7CiAg
ICAgfQogICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgQUxX
QVlTX0lOTElORSBib29sIGlzRW5kT2ZBcnJvd0Z1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJl
dHVybiBtYXRjaChTRU1JQ09MT04pIHx8IG1hdGNoKENPTU1BKSB8fCBtYXRjaChDTE9TRVBBUkVO
KSB8fCBtYXRjaChDTE9TRUJSQUNFKSB8fCBtYXRjaChDTE9TRUJSQUNLRVQpOworICAgIH0KKyNl
bmRpZgorICAgIAogICAgIEFMV0FZU19JTkxJTkUgdW5zaWduZWQgdG9rZW5TdGFydCgpCiAgICAg
ewogICAgICAgICByZXR1cm4gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OwpAQCAtNzIx
LDkgKzczMyw5IEBAIHByaXZhdGU6CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHJlc3VsdDsK
ICAgICB9Ci0gICAgCi0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNl
RWxlbWVudHMgcGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYsIFNvdXJjZUVsZW1lbnRz
TW9kZSk7Ci0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBh
cnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwg
dW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwKTsKKworICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNlU291cmNlRWxlbWVudHMo
VHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUsIEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VTdGF0ZW1l
bnQoVHJlZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCog
ZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDAsIEZ1bmN0aW9uUGFyc2VUeXBlIHR5cGUgPSBTdGFu
ZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VDbGFzc0Rl
Y2xhcmF0aW9uKFRyZWVCdWlsZGVyJik7CiAjZW5kaWYKQEAgLTc2MiwxOSArNzc0LDI3IEBAIHBy
aXZhdGU6CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgcGFy
c2VQcm9wZXJ0eShUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0KTsKICAgICB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlUHJvcGVydHlNZXRob2QoVHJlZUJ1
aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqIG1ldGhvZE5hbWUpOwogICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IHBhcnNlR2V0dGVyU2V0dGVyKFRy
ZWVCdWlsZGVyJiwgYm9vbCBzdHJpY3QsIFByb3BlcnR5Tm9kZTo6VHlwZSwgdW5zaWduZWQgZ2V0
dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgQ29uc3RydWN0b3JLaW5kID0gQ29uc3RydWN0b3JLaW5k
OjpOb25lLCBTdXBlckJpbmRpbmcgPSBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCk7Ci0gICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJvZHkg
cGFyc2VGdW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQs
IGludCBmdW5jdGlvbk5hbWVTdGFydCwgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JL
aW5kKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJl
ZUZ1bmN0aW9uQm9keSBwYXJzZUZ1bmN0aW9uQm9keShUcmVlQnVpbGRlciYsIGludCBmdW5jdGlv
bktleXdvcmRTdGFydCwgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCBpbnQgcGFyYW1ldGVyc1N0YXJ0
LCBDb25zdHJ1Y3RvcktpbmQsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBlKTsK
ICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZvcm1h
bFBhcmFtZXRlckxpc3QgcGFyc2VGb3JtYWxQYXJhbWV0ZXJzKFRyZWVCdWlsZGVyJik7CiAgICAg
ZW51bSBWYXJEZWNsYXJhdGlvbkxpc3RDb250ZXh0IHsgRm9yTG9vcENvbnRleHQsIFZhckRlY2xh
cmF0aW9uQ29udGV4dCB9OwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4
cHJlc3Npb24gcGFyc2VWYXJEZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImLCBpbnQmIGRlY2xh
cmF0aW9ucywgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiYgbGFzdFBhdHRlcm4sIFRyZWVFeHBy
ZXNzaW9uJiBsYXN0SW5pdGlhbGl6ZXIsIEpTVGV4dFBvc2l0aW9uJiBpZGVudFN0YXJ0LCBKU1Rl
eHRQb3NpdGlvbiYgaW5pdFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdEVuZCwgVmFyRGVjbGFy
YXRpb25MaXN0Q29udGV4dCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZF
Ul9JTkxJTkUgVHJlZUNvbnN0RGVjbExpc3QgcGFyc2VDb25zdERlY2xhcmF0aW9uTGlzdChUcmVl
QnVpbGRlciYpOwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlQXJyb3dGdW5j
dGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVCdWls
ZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBw
YXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKFRyZWVCdWlsZGVyJik7CisjZW5kaWYKKwogICAgIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlv
blBhdHRlcm4gY3JlYXRlQmluZGluZ1BhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0cnVjdGlv
bktpbmQsIGNvbnN0IElkZW50aWZpZXImLCBpbnQgZGVwdGgsIEpTVG9rZW4pOwogICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBh
dHRlcm4gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0cnVj
dGlvbktpbmQsIGludCBkZXB0aCA9IDApOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gdHJ5UGFyc2VEZWNvbnN0
cnVjdGlvblBhdHRlcm5FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7Ci0KLSAgICB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBib29sIHBhcnNlRnVuY3Rpb25JbmZvKFRy
ZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlLCBib29s
IG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQsIGludCBmdW5jdGlvbktl
eXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYpOwotICAgIAogICAg
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIGludCBwYXJzZUZ1bmN0
aW9uUGFyYW10ZXJzKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIEZ1bmN0aW9u
UGFyc2VNb2RlLCBib29sLCBBdXRvUG9wU2NvcGVSZWYmLCBQYXJzZXJGdW5jdGlvbkluZm88VHJl
ZUJ1aWxkZXI+Jik7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBpbnQgcGFyc2VBcnJvd0Z1
bmN0aW9uUGFyYW10ZXJzKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25QYXJzZU1vZGUsIFBhcnNlckZ1
bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mKTsKKyNlbmRpZgorICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIGJvb2wgcGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxk
ZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUsIGJvb2wgbmFtZUlz
SW5Db250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0
YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiwgRnVuY3Rpb25QYXJzZVR5cGUg
ZnVuY3Rpb25QYXJzZVR5cGUpOworICAgIAogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQog
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVDbGFzc0V4
cHJlc3Npb24gcGFyc2VDbGFzcyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzLCBQ
YXJzZXJDbGFzc0luZm88VHJlZUJ1aWxkZXI+Jik7CiAjZW5kaWYKQEAgLTc5MSw2ICs4MTEsMTQg
QEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIGFsbG93QXV0b21hdGljU2VtaWNvbG9uKCk7CiAg
ICAgfQogICAgIAorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2
b2lkIHNldEVuZE9mU3RhdGVtZW50KCkKKyAgICB7CisgICAgICAgIG1fbGV4ZXItPnNldFRva2Vu
UG9zaXRpb24oJm1fdG9rZW4pOworICAgIH0KKyNlbmRpZgorCiAgICAgYm9vbCBjYW5SZWN1cnNl
KCkKICAgICB7CiAgICAgICAgIHJldHVybiBtX3ZtLT5pc1NhZmVUb1JlY3Vyc2UoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oCmluZGV4
IDZiNzM2MjgyZTJkMmE4MWJjNjNkYzJmM2MwZTVhZThjODU4Y2QxZjguLjBjZGUwYzY3YTlkZTBl
ZGYzNDE0NGUzMjc5MWU1ZTkwYjRhMjE1MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaApAQCAtMjgsNiArMjgsMTAgQEAKIAogbmFt
ZXNwYWNlIEpTQyB7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorZW51
bSBGdW5jdGlvbkJvZHlUeXBlIHsgQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uLCBBcnJvd0Z1
bmN0aW9uQm9keUJsb2NrLCBTdGFuZGFyZEZ1bmN0aW9uQm9keUJsb2NrIH07CisjZW5kaWYKKwog
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPgogc3RydWN0IFBhcnNlckZ1bmN0aW9uSW5mbyB7
CiAgICAgY29uc3QgSWRlbnRpZmllciogbmFtZSA9IDA7CkBAIC0zOCw2ICs0MiwxMSBAQCBzdHJ1
Y3QgUGFyc2VyRnVuY3Rpb25JbmZvIHsKICAgICBpbnQgYm9keVN0YXJ0TGluZSA9IDA7CiAgICAg
aW50IGJvZHlFbmRMaW5lID0gMDsKICAgICB1bnNpZ25lZCBib2R5U3RhcnRDb2x1bW4gPSAwOwor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdW5zaWduZWQgYXJyb3dG
dW5jdGlvbk9mZnNldCA9IDA7CisgICAgYm9vbCBpc0Fycm93RnVuY3Rpb24gPSBmYWxzZTsKKyAg
ICBGdW5jdGlvbkJvZHlUeXBlIGZ1bmN0aW9uQm9keVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uQm9k
eUJsb2NrOworI2VuZGlmCiB9OwogCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAppbmRleCA4MzI5ZjgyYTli
MmZmOTE1ZDFmMjQxYzFmOGJmZmFkNDI0N2E1ZjBiLi5jOGIxNjZlMGVhZDdkMmRhNzE5ZTc2YzRh
MmYwOWFmZjFkNzRkN2FjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1BhcnNlclRva2Vucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2Vy
VG9rZW5zLmgKQEAgLTc1LDYgKzc1LDkgQEAgZW51bSBKU1Rva2VuVHlwZSB7CiAgICAgRklOQUxM
WSwKICAgICBERUJVR0dFUiwKICAgICBFTFNFLAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgQVJST1dGVU5DVElPTiwKKyNlbmRpZgogI2lmIEVOQUJMRShFUzZfQ0xB
U1NfU1lOVEFYKQogICAgIENMQVNTVE9LRU4sCiAgICAgRVhURU5EUywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmgKaW5kZXggNzNkMjNkYjgyYWYyNWVhNDZjMGY4OTc4
NWNlNDI0YmI2MGViNjFhNy4uOTI4ZTcxMmE5MGUzNDg5ODhiYzM1NTQ4OTg3NWIwOTA3NzY3NTUy
MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmgKQEAgLTEwNSw2
ICsxMDUsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgCiAgICAgICAgIFNvdXJjZUNvZGUg
c3ViRXhwcmVzc2lvbih1bnNpZ25lZCBvcGVuQnJhY2UsIHVuc2lnbmVkIGNsb3NlQnJhY2UsIGlu
dCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbik7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgICAgICBTb3VyY2VDb2RlIHN1YkFycm93RXhwcmVzc2lvbih1bnNp
Z25lZCBzdGFydEFycm93RnVuY3Rpb24sIHVuc2lnbmVkIGVuZEFycm93RnVuY3Rpb24sIGludCBm
aXJzdExpbmUsIGludCBzdGFydENvbHVtbik7CisjZW5kaWYKICAgICBwcml2YXRlOgogICAgICAg
ICBSZWZQdHI8U291cmNlUHJvdmlkZXI+IG1fcHJvdmlkZXI7CiAgICAgICAgIGludCBtX3N0YXJ0
Q2hhcjsKQEAgLTExOCw2ICsxMjEsMTcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVy
biBTb3VyY2VDb2RlKFN0cmluZ1NvdXJjZVByb3ZpZGVyOjpjcmVhdGUoc291cmNlLCB1cmwsIHN0
YXJ0UG9zaXRpb24pLCBzdGFydFBvc2l0aW9uLm1fbGluZS5vbmVCYXNlZEludCgpLCBzdGFydFBv
c2l0aW9uLm1fY29sdW1uLm9uZUJhc2VkSW50KCkpOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaW5saW5lIFNvdXJjZUNvZGUgU291cmNlQ29kZTo6
c3ViQXJyb3dFeHByZXNzaW9uKHVuc2lnbmVkIHN0YXJ0QXJyb3dGdW5jdGlvbiwgdW5zaWduZWQg
ZW5kQXJyb3dGdW5jdGlvbiwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKQorICAgIHsK
KyAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW3N0YXJ0QXJyb3dGdW5jdGlvbl0g
PT0gJz0nICYmIHByb3ZpZGVyKCktPnNvdXJjZSgpW3N0YXJ0QXJyb3dGdW5jdGlvbiArIDFdID09
ICc+Jyk7CisgICAgICAgIC8vIEZpeG1lOiBVc2UgYmV0dGVyIGFwcHJvYWNoIHRvIGNoZWNrIHN5
bWJvbAorICAgICAgICBBU1NFUlQocHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlv
biAtIDFdID09ICcsJyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0g
MV0gPT0gJzsnIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9
PSAnKScgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICdd
JyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJ30nKTsK
KyAgICAgICAgc3RhcnRDb2x1bW4gKz0gMTsgLy8gQ29udmVydCB0byBiYXNlIDEuCisgICAgICAg
IHJldHVybiBTb3VyY2VDb2RlKHByb3ZpZGVyKCksIHN0YXJ0QXJyb3dGdW5jdGlvbiwgZW5kQXJy
b3dGdW5jdGlvbiAtIDEsIGZpcnN0TGluZSwgc3RhcnRDb2x1bW4pOworICAgIH0KKyNlbmRpZgor
CiAgICAgaW5saW5lIFNvdXJjZUNvZGUgU291cmNlQ29kZTo6c3ViRXhwcmVzc2lvbih1bnNpZ25l
ZCBvcGVuQnJhY2UsIHVuc2lnbmVkIGNsb3NlQnJhY2UsIGludCBmaXJzdExpbmUsIGludCBzdGFy
dENvbHVtbikKICAgICB7CiAgICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtvcGVu
QnJhY2VdID09ICd7Jyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKaW5kZXggNjM1Mzc5ZTNmNDQ1NjY4YzUyYjg3MmY3
NjE2ZGNiNTkyMWE4Mjk0NC4uZjQyOGRiNTBhOGRhN2E3YWI0NjgyNGFiMzgwODNkYjA1MmQ3Mzc3
NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRl
ckNhY2hlSXRlbS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJv
dmlkZXJDYWNoZUl0ZW0uaApAQCAtNDAsNiArNDAsMTAgQEAgc3RydWN0IFNvdXJjZVByb3ZpZGVy
Q2FjaGVJdGVtQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBib29sIG5lZWRzRnVsbEFjdGl2YXRp
b247CiAgICAgYm9vbCB1c2VzRXZhbDsKICAgICBib29sIHN0cmljdE1vZGU7CisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBib29sIGlzQm9keUFycm93RXhwcmVzc2lv
bjsKKyAgICBKU1Rva2VuVHlwZSB0b2tlblR5cGU7CisjZW5kaWYKICAgICBWZWN0b3I8UmVmUHRy
PFN0cmluZ0ltcGw+PiB1c2VkVmFyaWFibGVzOwogICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1w
bD4+IHdyaXR0ZW5WYXJpYWJsZXM7CiB9OwpAQCAtNTUsMTAgKzU5LDE0IEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtPiBjcmVhdGUo
Y29uc3QgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMmKTsKICAgICB+
U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0oKTsKIAotICAgIEpTVG9rZW4gY2xvc2VCcmFjZVRva2Vu
KCkgY29uc3QgCisgICAgSlNUb2tlbiBlbmRGdW5jdGlvblRva2VuKCkgY29uc3QgCiAgICAgewog
ICAgICAgICBKU1Rva2VuIHRva2VuOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCisgICAgICAgIHRva2VuLm1fdHlwZSA9IGlzQm9keUFycm93RXhwcmVzc2lvbiA/IHRva2Vu
VHlwZSA6IENMT1NFQlJBQ0U7CisjZWxzZQogICAgICAgICB0b2tlbi5tX3R5cGUgPSBDTE9TRUJS
QUNFOworI2VuZGlmCiAgICAgICAgIHRva2VuLm1fZGF0YS5vZmZzZXQgPSBjbG9zZUJyYWNlT2Zm
c2V0OwogICAgICAgICB0b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0ID0gY2xvc2VCcmFjZU9m
ZnNldDsKICAgICAgICAgdG9rZW4ubV9sb2NhdGlvbi5lbmRPZmZzZXQgPSBjbG9zZUJyYWNlT2Zm
c2V0ICsgMTsKQEAgLTgyLDYgKzkwLDExIEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCB1c2VkVmFy
aWFibGVzQ291bnQ7CiAgICAgdW5zaWduZWQgd3JpdHRlblZhcmlhYmxlc0NvdW50OwogCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBib29sIGlzQm9keUFycm93RXhw
cmVzc2lvbjsKKyAgICBKU1Rva2VuVHlwZSB0b2tlblR5cGU7CisjZW5kaWYKKwogICAgIFN0cmlu
Z0ltcGwqKiB1c2VkVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxTdHJpbmdJ
bXBsKio+KG1fdmFyaWFibGVzKTsgfQogICAgIFN0cmluZ0ltcGwqKiB3cml0dGVuVmFyaWFibGVz
KCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxTdHJpbmdJbXBsKio+KCZtX3ZhcmlhYmxlc1t1
c2VkVmFyaWFibGVzQ291bnRdKTsgfQogCkBAIC0xMTUsNiArMTI4LDEwIEBAIGlubGluZSBTb3Vy
Y2VQcm92aWRlckNhY2hlSXRlbTo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0oY29uc3QgU291cmNl
UHJvdmlkZXJDYWNoCiAgICAgLCBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0KHBhcmFtZXRlcnMu
Y2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldCkKICAgICAsIHVzZWRWYXJpYWJsZXNDb3VudChwYXJh
bWV0ZXJzLnVzZWRWYXJpYWJsZXMuc2l6ZSgpKQogICAgICwgd3JpdHRlblZhcmlhYmxlc0NvdW50
KHBhcmFtZXRlcnMud3JpdHRlblZhcmlhYmxlcy5zaXplKCkpCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAsIGlzQm9keUFycm93RXhwcmVzc2lvbihwYXJhbWV0ZXJz
LmlzQm9keUFycm93RXhwcmVzc2lvbikKKyAgICAsIHRva2VuVHlwZShwYXJhbWV0ZXJzLnRva2Vu
VHlwZSkKKyNlbmRpZgogewogICAgIHVuc2lnbmVkIGogPSAwOwogICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCB1c2VkVmFyaWFibGVzQ291bnQ7ICsraSwgKytqKSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCmluZGV4IDhlNGY2MWI5NDk4OTBiOWJm
NTQwMjllOTY2NjFlZWY1M2ExN2I1ODQuLjVmOGUyMTFlZTRiNTNiMzk0ZWI1YWUyMTkwYjgzYzhj
NGY4NDRjZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4
Q2hlY2tlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tl
ci5oCkBAIC0xNzAsNiArMTcwLDEwIEBAIHB1YmxpYzoKICNlbmRpZgogICAgIEV4cHJlc3Npb25U
eXBlIGNyZWF0ZUZ1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJz
ZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0K
ICAgICBpbnQgY3JlYXRlRnVuY3Rpb25Cb2R5KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0
IEpTVG9rZW5Mb2NhdGlvbiYsIGludCwgaW50LCBib29sLCBpbnQsIGludCwgaW50LCBDb25zdHJ1
Y3RvcktpbmQpIHsgcmV0dXJuIEZ1bmN0aW9uQm9keVJlc3VsdDsgfQorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlQXJyb3dGdW5j
dGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZv
PFN5bnRheENoZWNrZXI+JikgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9CisjZW5kaWYgCisgICAg
dm9pZCBzZXRGdW5jdGlvbk5hbWVTdGFydChpbnQsIGludCkgeyB9CiAgICAgaW50IGNyZWF0ZUFy
Z3VtZW50cygpIHsgcmV0dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQogICAgIGludCBjcmVhdGVBcmd1
bWVudHMoaW50KSB7IHJldHVybiBBcmd1bWVudHNSZXN1bHQ7IH0KICAgICBFeHByZXNzaW9uVHlw
ZSBjcmVhdGVTcHJlYWRFeHByZXNzaW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIEV4cHJlc3Np
b25UeXBlLCBpbnQsIGludCwgaW50KSB7IHJldHVybiBTcHJlYWRFeHByOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42ZmMzZWExODAwNjg5NjQzYWFkZDZjNmE0OTdlZDBhZTZjMjExMTIwCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcApA
QCAtMCwwICsxLDc3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCisKKyNpbmNsdWRlICJFcnJvci5o
IgorI2luY2x1ZGUgIkV4Y2VwdGlvbkhlbHBlcnMuaCIKKyNpbmNsdWRlICJKU0NJbmxpbmVzLmgi
CisjaW5jbHVkZSAiSlNDSlNWYWx1ZS5oIgorI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKKyNpbmNs
dWRlICJKU0Z1bmN0aW9uSW5saW5lcy5oIgorI2luY2x1ZGUgIkpTT2JqZWN0LmgiCisjaW5jbHVk
ZSAiUHJvcGVydHlTbG90LmgiCisjaW5jbHVkZSAiVk0uaCIKKworbmFtZXNwYWNlIEpTQyB7Cisg
ICAgCitjb25zdCBDbGFzc0luZm8gSlNBcnJvd0Z1bmN0aW9uOjpzX2luZm8gPSB7ICJBcnJvd0Z1
bmN0aW9uIiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0Fycm93RnVu
Y3Rpb24pIH07CisKK3ZvaWQgSlNBcnJvd0Z1bmN0aW9uOjpkZXN0cm95KEpTQ2VsbCogY2VsbCkK
K3sKKyAgICBzdGF0aWNfY2FzdDxKU0Fycm93RnVuY3Rpb24qPihjZWxsKS0+SlNBcnJvd0Z1bmN0
aW9uOjp+SlNBcnJvd0Z1bmN0aW9uKCk7Cit9CisKK0pTQXJyb3dGdW5jdGlvbjo6SlNBcnJvd0Z1
bmN0aW9uKFZNJiB2bSwgSlNTY29wZSogc2NvcGUsIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0
YWJsZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCisgICAgOiBCYXNlKHZtLCBleGVjdXRhYmxlLCBz
Y29wZSwgc3RydWN0dXJlKQoreworfQorICAgIAordm9pZCBKU0Fycm93RnVuY3Rpb246OmZpbmlz
aENyZWF0aW9uKFZNJiB2bSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CisvLyBQ
cm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24gaXMgdW5kZWZpbmVkCisgICAgcHV0RGlyZWN0KHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIGpzVW5kZWZpbmVkKCksIERvbnREZWxldGUg
fCBSZWFkT25seSB8IERvbnRFbnVtKTsKK30KKyAgICAKK3ZvaWQgSlNBcnJvd0Z1bmN0aW9uOjp2
aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCit7CisgICAg
SlNBcnJvd0Z1bmN0aW9uKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTQXJyb3dGdW5jdGlvbio+KGNl
bGwpOworICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVjdCwgaW5mbygpKTsK
KyAgICBCYXNlOjp2aXNpdENoaWxkcmVuKHRoaXNPYmplY3QsIHZpc2l0b3IpOworfQorICAgIAor
Q29uc3RydWN0VHlwZSBKU0Fycm93RnVuY3Rpb246OmdldENvbnN0cnVjdERhdGEoSlNDZWxsKiBj
ZWxsLCBDb25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQoreworICAgIEpTRnVuY3Rpb24qIHRo
aXNPYmplY3QgPSBqc0Nhc3Q8SlNGdW5jdGlvbio+KGNlbGwpOworICAgICAgICAKKyAgICBjb25z
dHJ1Y3REYXRhLmpzLmZ1bmN0aW9uRXhlY3V0YWJsZSA9IHRoaXNPYmplY3QtPmpzRXhlY3V0YWJs
ZSgpOworICAgIGNvbnN0cnVjdERhdGEuanMuc2NvcGUgPSB0aGlzT2JqZWN0LT5zY29wZSgpOwor
ICAgIHJldHVybiBDb25zdHJ1Y3RUeXBlTm9uZTsKK30KK30gLy8gbmFtZXNwYWNlIEpTQworI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVu
Y3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjc4MDE1ZDM4NzIxY2NhNDRhZTJmNjVjYjZkNzdiNmE2NTIyMDk2NWQKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVu
Y3Rpb24uaApAQCAtMCwwICsxLDc0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2lmbmRlZiBKU0Fycm93RnVuY3Rpb25faAorI2RlZmluZSBKU0Fycm93
RnVuY3Rpb25faAorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKworI2lu
Y2x1ZGUgIkpTRnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU0dsb2JhbE9iamVjdC5oIgorCituYW1l
c3BhY2UgSlNDIHsKKworY2xhc3MgSlNBcnJvd0Z1bmN0aW9uIDogcHVibGljIEpTRnVuY3Rpb24g
eworcHVibGljOgorICAgIHR5cGVkZWYgSlNGdW5jdGlvbiBCYXNlOworICAgICAgICAKKyAgICBz
dGF0aWMgSlNBcnJvd0Z1bmN0aW9uKiBjcmVhdGUoVk0mIHZtLCBKU1Njb3BlKiBzY29wZSwgRnVu
Y3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
KQorICAgIHsKKyAgICAgICAgSlNBcnJvd0Z1bmN0aW9uKiBmdW5jdGlvbiA9IG5ldyAoTm90TnVs
bCwgYWxsb2NhdGVDZWxsPEpTQXJyb3dGdW5jdGlvbj4odm0uaGVhcCkpIEpTQXJyb3dGdW5jdGlv
bih2bSwgc2NvcGUsIGV4ZWN1dGFibGUsIGdsb2JhbE9iamVjdC0+YXJyb3dGdW5jdGlvblN0cnVj
dHVyZSgpKTsKKyAgICAgICAgQVNTRVJUKGZ1bmN0aW9uLT5zdHJ1Y3R1cmUoKS0+Z2xvYmFsT2Jq
ZWN0KCkpOworICAgICAgICBmdW5jdGlvbi0+ZmluaXNoQ3JlYXRpb24odm0pOworICAgICAgICBy
ZXR1cm4gZnVuY3Rpb247CisgICAgfQorICAgIAorICAgIHN0YXRpYyB2b2lkIGRlc3Ryb3koSlND
ZWxsKik7CisgICAgICAgIAorICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShW
TSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgcHJvdG90eXBlKQor
ICAgIHsKKyAgICAgICAgQVNTRVJUKGdsb2JhbE9iamVjdCk7CisgICAgICAgIHJldHVybiBTdHJ1
Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKEpTRnVu
Y3Rpb25UeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CisgICAgfQorICAgICAgICAKKyAg
ICBzdGF0aWMgQ29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVj
dERhdGEmKTsKKyAgICAgICAgCisgICAgREVDTEFSRV9JTkZPOworCitwcm90ZWN0ZWQ6CisgICAg
Y29uc3Qgc3RhdGljIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzSGFzSW5zdGFu
Y2UgfCBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsKKyAgICAgICAgCisgICAgc3RhdGljIHZvaWQgdmlz
aXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOworICAgICAgICAKK3ByaXZhdGU6Cisg
ICAgSlNBcnJvd0Z1bmN0aW9uKFZNJiwgSlNTY29wZSosIEZ1bmN0aW9uRXhlY3V0YWJsZSosIFN0
cnVjdHVyZSopOworCisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOworfTsKKyAgICAKK30g
Ly8gbmFtZXNwYWNlIEpTQworI2VuZGlmIC8vIEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWAorCisj
ZW5kaWYgLy8gSlNBcnJvd0Z1bmN0aW9uX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTRnVuY3Rpb24uaAppbmRleCA5YmQzZmUyNDE1MDA2MTFjZDk5NzU2ZTcxZmY1OTAwYTRkZmRl
MDBjLi43YTE1Yzk4NTExOTkzNWU0NGY5ZGE1NTZiMGJiMTEyZDlhMWM4ZjVhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCkBAIC0xMzIsNiArMTMyLDkgQEAg
cHJvdGVjdGVkOgogCiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNGdW5jdGlvbihWTSYsIEpTR2xv
YmFsT2JqZWN0KiwgU3RydWN0dXJlKik7CiAgICAgSlNGdW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhl
Y3V0YWJsZSosIEpTU2NvcGUqKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgIEpTRnVuY3Rpb24oVk0mLCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBKU1Njb3BlKiwgU3Ry
dWN0dXJlKik7CisjZW5kaWYKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBOYXRpdmVF
eGVjdXRhYmxlKiwgaW50IGxlbmd0aCwgY29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICB1c2luZyBC
YXNlOjpmaW5pc2hDcmVhdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0Z1bmN0aW9uSW5saW5lcy5oCmluZGV4IDM3YjI4MWFhNWQwYzFiODYxNjQ1MTlmZDdjNTY2
ZTM3ZjBmMTM0MDEuLjdiMzQ5MGJlYjk0YTM1OTNlZTE3YmMzYjE2YjMyYzdkZmFmOTU3M2QgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVz
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMu
aApAQCAtMzgsNiArMzgsMTUgQEAgaW5saW5lIEpTRnVuY3Rpb246OkpTRnVuY3Rpb24oVk0mIHZt
LCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpTU2NvcGUqIHMKIHsKIH0KIAorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitpbmxpbmUgSlNGdW5jdGlvbjo6SlNG
dW5jdGlvbihWTSYgdm0sIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgSlNTY29wZSog
c2NvcGUsIFN0cnVjdHVyZSogc3RydWN0dXJlKQorICAgIDogQmFzZSh2bSwgc2NvcGUsIHN0cnVj
dHVyZSkKKyAgICAsIG1fZXhlY3V0YWJsZSh2bSwgdGhpcywgZXhlY3V0YWJsZSkKKyAgICAsIG1f
YWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50KENsZWFyV2F0Y2hwb2ludCkKK3sKK30KKyNlbmRp
ZgorICAgIAogaW5saW5lIEZ1bmN0aW9uRXhlY3V0YWJsZSogSlNGdW5jdGlvbjo6anNFeGVjdXRh
YmxlKCkgY29uc3QKIHsKICAgICBBU1NFUlQoIWlzSG9zdEZ1bmN0aW9uTm9uSW5saW5lKCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3Qu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCmlu
ZGV4IDE3OTQ5YTFiNWVhODE4OWViMDZjYTYxZTExOWI5M2Y3NzQ5OTAzM2EuLjgzY2UxMGQ0ZWNj
YmM4MGFhNGZlZjhlODUyNmM1MTA2NTExOGUyMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKQEAgLTYxLDYgKzYxLDcgQEAKICNpbmNs
dWRlICJKU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuaCIKICNpbmNsdWRlICJKU0FycmF5QnVmZmVy
UHJvdG90eXBlLmgiCiAjaW5jbHVkZSAiSlNBcnJheUl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiSlNB
cnJvd0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAi
SlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5oIgpAQCAtMjMz
LDYgKzIzNCw5IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OmluaXQoVk0mIHZtKQogICAgIGV4ZWMt
PnNldENhbGxlZShtX2dsb2JhbENhbGxlZS5nZXQoKSk7CiAKICAgICBtX2Z1bmN0aW9uU3RydWN0
dXJlLnNldCh2bSwgdGhpcywgSlNGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBt
X2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICBtX2Fycm93RnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0Fy
cm93RnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlw
ZS5nZXQoKSkpOworI2VuZGlmCiAgICAgbV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlLnNldCh2bSwg
dGhpcywgSlNCb3VuZEZ1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rp
b25Qcm90b3R5cGUuZ2V0KCkpKTsKICAgICBtX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZt
LCB0aGlzLCBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdGlvbih2bSwgbV9mdW5jdGlvblN0
cnVjdHVyZS5nZXQoKSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwgRG9udERlbGV0ZSB8IFJlYWRP
bmx5IHwgRG9udEVudW0sIG1fZnVuY3Rpb25OYW1lT2Zmc2V0KSk7CiAgICAgbV9pbnRlcm5hbEZ1
bmN0aW9uU3RydWN0dXJlLnNldCh2bSwgdGhpcywgSW50ZXJuYWxGdW5jdGlvbjo6Y3JlYXRlU3Ry
dWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7CkBAIC03MjUsNiAr
NzI5LDkgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGws
IFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5t
X2NhbGxlZVN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fZnVu
Y3Rpb25TdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2JvdW5k
RnVuY3Rpb25TdHJ1Y3R1cmUpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYXJyb3dGdW5jdGlvblN0cnVjdHVy
ZSk7CisjZW5kaWYKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9uYW1lZEZ1bmN0
aW9uU3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9zeW1ib2xP
YmplY3RTdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX3JlZ0V4
cE1hdGNoZXNBcnJheVN0cnVjdHVyZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCAzZTU3ODM3OGFlOTNiNWIxM2Q4ZTgxZTE2ZGFlNjFm
YjgxYWNkMTZhLi40ODlmMmVmMjBjOTJhMWI0M2QxMGUxODhkYTMyMWY5MzYwNGI1NGE1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKQEAgLTIy
NSw2ICsyMjUsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9j
YWxsZWVTdHJ1Y3R1cmU7CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9mdW5jdGlvblN0
cnVjdHVyZTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2JvdW5kRnVuY3Rpb25TdHJ1
Y3R1cmU7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBXcml0ZUJh
cnJpZXI8U3RydWN0dXJlPiBtX2Fycm93RnVuY3Rpb25TdHJ1Y3R1cmU7CisjZW5kaWYKICAgICBX
cml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmU7CiAgICAgUHJv
cGVydHlPZmZzZXQgbV9mdW5jdGlvbk5hbWVPZmZzZXQ7CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVj
dHVyZT4gbV9wcml2YXRlTmFtZVN0cnVjdHVyZTsKQEAgLTQ1Nyw2ICs0NjAsOSBAQCBwdWJsaWM6
CiAgICAgU3RydWN0dXJlKiBjYWxsZWVTdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2NhbGxl
ZVN0cnVjdHVyZS5nZXQoKTsgfQogICAgIFN0cnVjdHVyZSogZnVuY3Rpb25TdHJ1Y3R1cmUoKSBj
b25zdCB7IHJldHVybiBtX2Z1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CiAgICAgU3RydWN0dXJl
KiBib3VuZEZ1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9ib3VuZEZ1bmN0aW9u
U3RydWN0dXJlLmdldCgpOyB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICBTdHJ1Y3R1cmUqIGFycm93RnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBt
X2Fycm93RnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KKyNlbmRpZgogICAgIFN0cnVjdHVyZSog
bmFtZWRGdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZWRGdW5jdGlvblN0
cnVjdHVyZS5nZXQoKTsgfQogICAgIFByb3BlcnR5T2Zmc2V0IGZ1bmN0aW9uTmFtZU9mZnNldCgp
IGNvbnN0IHsgcmV0dXJuIG1fZnVuY3Rpb25OYW1lT2Zmc2V0OyB9CiAgICAgU3RydWN0dXJlKiBu
dW1iZXJPYmplY3RTdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX251bWJlck9iamVjdFN0cnVj
dHVyZS5nZXQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWx0aGlzLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWx0aGlzLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYx
MmZiYWY4MDQ0ODJjNzc2MWMzN2RkNjkzYTg0ODVlNTUxMTU3M2UKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNh
bHRoaXMuanMKQEAgLTAsMCArMSwzMSBAQAordmFyIHJlc3VsdDsKKworIHZhciB0ZXN0Q2FzZSA9
IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09
IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0
ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGFmT2Jq
TGV4QmluZDIgPSBmdW5jdGlvbiAoKSB7CisgIHRoaXMuZnVuYyA9ICgpID0+IHRoaXM7Cit9Owor
Cit2YXIgYWZPYmpMZXhCaW5kMkluc3RhbmNlID0gbmV3IGFmT2JqTGV4QmluZDIoKTsKKwordGVz
dENhc2UoYWZPYmpMZXhCaW5kMkluc3RhbmNlLmZ1bmMoKSA9PT0gYWZPYmpMZXhCaW5kMkluc3Rh
bmNlLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiAjMiIpOworCit2YXIgb2JqID0geworICBtZXRob2Q6IGZ1bmN0
aW9uICgpIHsKKyAgICByZXR1cm4gKCkgPT4gdGhpczsKKyAgfQorfTsKKwordGVzdENhc2Uob2Jq
Lm1ldGhvZCgpKCkgPT09IG9iaiwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkg
YmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzMiKTsKKwordmFyIGZha2UgPSB7
c3RlYWw6IG9iai5tZXRob2QoKX07Cit0ZXN0Q2FzZShmYWtlLnN0ZWFsKCkgPT09IG9iaiwgdHJ1
ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24gIzQiKTsKKworCisvLyBGaXhtZTogZm9sbG93aW5nIHRlc3QgZmFpbHMgaW4g
ZGZnLWVhZ2VyLW5vLWNqaXQtdmFsaWRhdGUgJiBmdGwtZWFnZXItbm8tY2ppdCBtb2RlCit2YXIg
cmVhbCA9IHtib3Jyb3c6IG9iai5tZXRob2R9OwordGVzdENhc2UocmVhbC5ib3Jyb3coKSgpID09
PSByZWFsLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRl
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNSIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLW90aGVycy5qcyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1vdGhlcnMuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZWJiZjg1OWUyMDNlYjFmNTRhY2FlMWQ0MDgzY2EzZGQzZGM5NzYxZgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1v
dGhlcnMuanMKQEAgLTAsMCArMSwzMCBAQAordmFyIHJlc3VsdDsKKworIHZhciB0ZXN0Q2FzZSA9
IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09
IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0
ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIHNpbXBs
ZUFycm93RnVuY3Rpb24gPSAoKSA9PiB7fTsKKwordGVzdENhc2UodHlwZW9mIHNpbXBsZUFycm93
RnVuY3Rpb24sICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNvcnJlY3QgdHlwZSBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2UoT2JqZWN0LmdldFByb3RvdHlwZU9mKHNpbXBsZUFy
cm93RnVuY3Rpb24pLCBGdW5jdGlvbi5wcm90b3R5cGUsICJFcnJvcjogTm90IGNvcnJlY3QgZ2V0
UHJvdG90eXBlT2YgdmFsdWUgZm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHNpbXBs
ZUFycm93RnVuY3Rpb24gaW5zdGFuY2VvZiBGdW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3QgY29y
cmVjdCByZXN1bHQgZm9yIGluc3RhbmNlb2YgbWV0aG9kIGZvciBhcnJvdyBmdW5jdGlvbiIpOwor
Cit0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uLmNvbnN0cnVjdG9yID09IEZ1bmN0aW9uLCB0
cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgY29uc3RydWN0b3IgbWV0aG9kIG9m
IGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHR5cGVvZiBzaW1wbGVBcnJvd0Z1bmN0aW9u
LnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVz
dWx0IGZvciBwcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24iKTsKKwordmFyIGVycm9yT25DcmVh
dGUgPSBmYWxzZTsKKwordHJ5IHsKKyAgdmFyIGZjID0gbmV3IHNpbXBsZUFycm93RnVuY3Rpb24o
KTsKK30KK2NhdGNoIChlKSB7CisgIGVycm9yT25DcmVhdGUgPSB0cnVlOworfQorCit0ZXN0Q2Fz
ZShlcnJvck9uQ3JlYXRlLCB0cnVlLCAiRXJyb3I6IE5vIGVycm9yIGR1cmluZyBydW4gbmV3IEFy
cm93RnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvYXJyb3dmdW5jdGlvbi10ZHouanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tdGR6LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU5ZDM1Y2RlYTRiYWY2Njc0
MzFhZjhhYmU4ZGFkZjIyZDA0YjkwZTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tdGR6LmpzCkBAIC0wLDAgKzEsMjQg
QEAKK3ZhciBBID0gY2xhc3MgQSB7IH07Cit2YXIgQiA9IGNsYXNzIEIgZXh0ZW5kcyBBIHsKKyAg
Y29uc3RydWN0b3IoYWNjZXNzVGhpc0JlZm9yZVN1cGVyKSB7CisgICAgaWYgKGFjY2Vzc1RoaXNC
ZWZvcmVTdXBlcikgeworICAgICAgdmFyIGYgPSAoKSA9PiB0aGlzOworICAgICAgc3VwZXIoKTsK
KyAgICB9IGVsc2UgeworICAgICAgc3VwZXIoKTsKKyAgICB9CisgIH0KK307CisKK3ZhciBleGNl
cHRpb24gPSBudWxsOwordHJ5IHsKKyAgICAgbmV3IEIodHJ1ZSk7Cit9IGNhdGNoIChlKSB7Cisg
ICAgZXhjZXB0aW9uID0gZTsKKyAgICBpZiAoIShlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3Ip
KQorICAgICAgICB0aHJvdyAiRXhjZXB0aW9uIHRocm93biB3YXMgbm90IGEgcmVmZXJlbmNlIGVy
cm9yIjsKK30KK2lmICghZXhjZXB0aW9uKQorICAgIHRocm93ICJFeGNlcHRpb24gbm90IHRocm93
biBmb3IgYW4gdW5pdGlhbGl6ZWQgdGhpcyBhdCBpdGVyYXRpb24iOworCit2YXIgZSA9IG5ldyBC
KGZhbHNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YXJyb3dmdW5jdGlvbi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJy
b3dmdW5jdGlvbi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNjg3YjNhYWIxZDI3ZjQ1M2Y5MDc2MWNlYzFhZDRk
MDVjZjAzYjM1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLmpzCkBAIC0wLDAgKzEsMTU0IEBACit2YXIgcmVzdWx0Owor
CisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsK
KyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhw
ZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9
Cit9OworCit2YXIgYXJyb3dGdW5jdGlvbjAgPSB2ID0+IHYgKyAxOworcmVzdWx0ID0gYXJyb3dG
dW5jdGlvbjAoMTApOwordGVzdENhc2UocmVzdWx0LCAxMSAsIkVycm9yOiBOb3QgY29ycmVjdCBl
eGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiB2ID0+IHYgKyAxIik7CisKK3ZhciBhcnJv
d0Z1bmN0aW9uMSA9ICh2KSA9PiB2ICogMjsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24xKDEwKTsK
K3Rlc3RDYXNlKHJlc3VsdCwgMjAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbjogKHYpID0+IHYgKyAxIik7CisKK3ZhciBhcnJvd0Z1bmN0aW9uMiA9
ICgpID0+IDEwMDA7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMigxMjEyKTsKK3Rlc3RDYXNlKHJl
c3VsdCwgMTAwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1
bmN0aW9uOiAoKSA9PiAxMDAwIik7CisKK3ZhciB0bXBWYXJpYWx2ZTJfMSA9IDE1MTsKK3ZhciBh
cnJvd0Z1bmN0aW9uMl8xID0gKCkgPT4gdG1wVmFyaWFsdmUyXzE7CityZXN1bHQgPSBhcnJvd0Z1
bmN0aW9uMl8xKDEyMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIHRtcFZhcmlhbHZlMl8xICwiRXJyb3I6
IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICgpID0+IHZhcmlh
YmxlIik7CisKK3ZhciBhcnJvd0Z1bmN0aW9uMyA9ICh2LCB4KSA9PiB2ICsgeDsKK3Jlc3VsdCA9
IGFycm93RnVuY3Rpb24zKDExLDEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjMgLCJFcnJvcjogTm90
IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKHgsIHkpID0+IHggKyB5
Iik7CisKK3ZhciBhcnJvd0Z1bmN0aW9uV3JhcHBlciA9IGZ1bmN0aW9uIChjbCwgcGFyYW10ZXIp
IHsgcmV0dXJuIGNsKHBhcmFtdGVyKTsgfTsKKworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBw
ZXIoeCA9PiAxMjM0KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIzNCAsIkVycm9yOiBOb3QgY29ycmVj
dCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYyki
KTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4gMTIzNCwgMjM0NSk7Cit0
ZXN0Q2FzZShyZXN1bHQsIDEyMzQgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMsIHkpIik7CisKKyByZXN1bHQg
PSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEyMSArIDIzMik7Cit0ZXN0Q2FzZShyZXN1bHQs
IDM1MyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9u
IGFzIHBhcmFtdGVyOiBmKHggPT4gYzEgKyBjMikiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rp
b25XcmFwcGVyKHggPT4gMTIzICsgMzIxLCA5OTk5KTsKK3Rlc3RDYXNlKHJlc3VsdCwgNDQ0ICwi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFy
YW10ZXI6IGYoeCA9PiBjMSArIGMyLCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldy
YXBwZXIoeCA9PiB4ICsgMTIsIDIxKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzMgLCJFcnJvcjogTm90
IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4
ID0+IHggKyBjMSwgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCh4KSA9
PiB4ICsgMjEsIDMyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgNTMsICJFcnJvcjogTm90IGNvcnJlY3Qg
ZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoeCkgPT4gYzEg
KyBjMiwgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCk7
Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMCwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMpIik7CisKKyB2YXIgZXh0
X3ZhbHVlID0gMTIxOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gZXh0X3Zh
bHVlKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIxLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gdikiKTsKKworIHJl
c3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IGV4dF92YWx1ZSAqIDEwKTsKK3Rlc3RD
YXNlKHJlc3VsdCwgMTIxMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFy
cm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IHYqeCkiKTsKKworIHJlc3VsdCA9IGFy
cm93RnVuY3Rpb25XcmFwcGVyKCh4KSA9PiBleHRfdmFsdWUgKiB4LCAzMCk7Cit0ZXN0Q2FzZShy
ZXN1bHQsIDMwKmV4dF92YWx1ZSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhl
IGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCh4KSA9PiB2KngsIHkpIik7CisKKyByZXN1
bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiAxMDAsIDExKTsKK3Rlc3RDYXNlKHJlc3Vs
dCwgMTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYzEsIHkpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0
aW9uV3JhcHBlcigoKSA9PiAxMDAgKyAxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDExMCAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVy
OiBmKCgpID0+IGMxICsgYzIpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigo
KSA9PiAxMDAgKyAxMSwgMTIpOwordGVzdENhc2UocmVzdWx0LCAxMTEgLCJFcnJvcjogTm90IGNv
cnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9
PiBjMSArIGMyLCB5KSIpOworCisgdmFyIGFycm93RnVuY3Rpb240ID0gdiA9PiB2ICsgMSwgeHl6
MSA9IDEwMTAxOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjQoMTAxMSk7Cit0ZXN0Q2FzZShyZXN1
bHQsIDEwMTIgLCJFcnJvcjogTm90IGNvcnJlY3QgcGFyc2luZyBvZiB0aCBhcnJvdyBmdW5jdGlv
biBpbnNpZGUgb2YgdGhlIGxpc3Qgb2YgdmFyczogdmFyIGFmID0gdj0+IHYgKyAxOyB6eGM9Yzsi
KTsKK3Rlc3RDYXNlKHh5ejEsIDEwMTAxICwiRXJyb3I6IE5vdCBjb3JyZWN0IHBhcnNpbmcgb2Yg
dGggYXJyb3cgZnVuY3Rpb24gaW5zaWRlIG9mIHRoZSBsaXN0IG9mIHZhcnM6IHZhciBhZiA9IHY9
PiB2ICsgMTsgenhjPWM7Iik7CisKKyB2YXIgYXJyb3dGdW5jdGlvbldyYXBwZXIyID0gZnVuY3Rp
b24gKGNsLCBwYXJhbXRlcjEsIHBhcmFtdGVyMikgeyByZXR1cm4gY2wocGFyYW10ZXIxLCBwYXJh
bXRlcjIpOyB9OworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIyKCh4LCB5KSA9PiB4ICsg
eSwgMTIgLDQzKTsKK3Rlc3RDYXNlKHJlc3VsdCwgNTUgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhl
Y3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbWV0ZXI6IGYoKHgsIHkpID0+IHgg
KyB5LCBjMSwgYzIpIik7CisKKyB2YXIgYXJyb3dGdW5jdGlvQXJyYXkwID0gW3YgPT4gdiAqIDEw
XTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5MFswXSgxMCk7Cit0ZXN0Q2FzZShyZXN1bHQs
IDEwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9u
IGFzIGl0ZW0gaW4gYXJyYXk6IFt2PT52KjEwXSIpOworCisgdmFyIGFycm93RnVuY3Rpb0FycmF5
MSA9IFt2ID0+IHYgKyAxLCB2ID0+IHYgKyAyXTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5
MVswXSgxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1
dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogW3YgPT4gdiArIDEs
ICB2ID0+IHYgKyAyXSIpOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkxWzFdKDExKTsKK3Rl
c3RDYXNlKHJlc3VsdCwgMTMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbdiA9PiB2ICsgMSwgIHYgPT4gdiArIDJd
Iik7CisKKyB2YXIgYXJyb3dGdW5jdGlvQXJyYXkyID0gWyh2KSA9PiB2ICsgMSwgKHYpID0+IHYg
KyAyXTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5MlswXSgxMSk7Cit0ZXN0Q2FzZShyZXN1
bHQsIDEyICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gYXMgaXRlbSBpbiBhcnJheTogWyh2KSA9PiB2ICsgMSwgICh2KSA9PiB2ICsgMl0iKTsKK3Jl
c3VsdCA9IGFycm93RnVuY3Rpb0FycmF5MlsxXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEzICwi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRl
bSBpbiBhcnJheTogWyh2KSA9PiB2ICsgMSwgICh2KSA9PiB2ICsgMl0iKTsKKworIHZhciBhcnJv
d0Z1bmN0aW9BcnJheTMgPSBbKCkgPT4gMTAxLCAoKSA9PiAxMjMyM107CityZXN1bHQgPSBhcnJv
d0Z1bmN0aW9BcnJheTNbMF0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDEsICJFcnJvcjogTm90
IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5
OiBbKCkgPT4gYzEsICAoKSA9PiBjMl0iKTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5M1sx
XSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMzIzLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1
dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogWygpID0+IGMxLCAg
KCkgPT4gYzJdIik7CisKK3ZhciBhcnJvd0Z1bmN0aW9uT2JqID0ge2Z1bmMgOiB5ID0+IHkgKyAx
Mn07CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uT2JqLmZ1bmMoMTEpOwordGVzdENhc2UocmVzdWx0
LCAyMyAsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlv
biBhcyBwcm9wZXJ0eToge2Z1bmMgOiB5ID0+IHkgKyAxMiB9Iik7CisKK3ZhciBhZk9iakxleEJp
bmQyID0gZnVuY3Rpb24gKCkgeworICB0aGlzLmZ1bmMgPSAoKSA9PiB0aGlzOworfTsKKwordmFy
IGFycm93RmF0RnVuY3Rpb24wID0gKCkgPT4geyByZXR1cm4gMTAwMDsgfTsKK3Jlc3VsdCA9IGFy
cm93RmF0RnVuY3Rpb24wKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwMCAsIkVycm9yOiBOb3Qg
Y29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9j
azogKCkgPT4geyByZXR1cm4gMTAwMDsgfSIpOworCit2YXIgYXJyb3dGYXRGdW5jdGlvbjEgPSB2
ID0+IHsgdmFyIGludHZhbCA9IDEwMDsgcmV0dXJuIHYgKiBpbnR2YWw7IH07CityZXN1bHQgPSBh
cnJvd0ZhdEZ1bmN0aW9uMSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDExMDAgLCJFcnJvcjogTm90
IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxv
Y2s6IHggPT4geyB2YXIgdj0xMDAwOyByZXR1cm4gdip4OyB9Iik7CisKK3ZhciBhcnJvd0ZhdEZ1
bmN0aW9uMiA9ICh2KSA9PiB7IHZhciBpbnQgPSAyMDA7IHJldHVybiB2ICogaW50OyB9OworcmVz
dWx0ID0gYXJyb3dGYXRGdW5jdGlvbjIoMTEpOwordGVzdENhc2UocmVzdWx0LCAyMjAwICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5
IGFzIGJsb2NrOiAoeCkgPT4geyB2YXIgdj0xMDAwOyByZXR1cm4gdip4OyB9Iik7CisKK3ZhciBh
cnJvd0ZhdEZ1bmN0aW9uMyA9ICh2LCB4KSA9PiB7IHZhciByZXN1bHQgPSB4ICogdjsgcmV0dXJu
IHJlc3VsdDsgfTsKK3Jlc3VsdCA9IGFycm93RmF0RnVuY3Rpb24zKDExLCAxMjIyMik7Cit0ZXN0
Q2FzZShyZXN1bHQsIDEzNDQ0MiAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhl
IGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogKHYsIHgpID0+IHsgdmFyIHJlc3Vs
dCA9IHggKiB2OyByZXR1cm4gcmVzdWx0OyB9Iik7CisKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25X
cmFwcGVyKHg9PntyZXR1cm4geCAqIDI1O30sIDEyMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDI1KjEy
MSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdp
dGggYm9keSBhcyBibG9jazogZih4ID0+IHtyZXR1cm4geCAqIDI1O30sIDEyMSkiKTsKKworcmVz
dWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIyKCh4LCB5KT0+e3JldHVybiB4ICogeTt9LCAxNCwg
MTIpOwordGVzdENhc2UocmVzdWx0LCAxNCoxMiAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogZigoeCwgeSk9Pnty
ZXR1cm4geCAqIHk7fSwgMTQsIDEyMSkpIik7CisKK3ZhciBzaW1wbGVBcnJvd0Z1bmN0aW9uID0g
KCkgPT4ge307CisKK3Rlc3RDYXNlKHR5cGVvZiBzaW1wbGVBcnJvd0Z1bmN0aW9uLCAiZnVuY3Rp
b24iLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHR5cGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uIik7CisK
K3Rlc3RDYXNlKE9iamVjdC5nZXRQcm90b3R5cGVPZihzaW1wbGVBcnJvd0Z1bmN0aW9uKSwgRnVu
Y3Rpb24ucHJvdG90eXBlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGdldFByb3RvdHlwZU9mIHZhbHVl
IGZvciBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uIGlu
c3RhbmNlb2YgRnVuY3Rpb24sIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBp
bnN0YW5jZW9mIG1ldGhvZCBmb3IgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2Uoc2ltcGxl
QXJyb3dGdW5jdGlvbi5jb25zdHJ1Y3RvciA9PSBGdW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3Qg
Y29ycmVjdCByZXN1bHQgZm9yIGNvbnN0cnVjdG9yIG1ldGhvZCBvZiBhcnJvdyBmdW5jdGlvbiIp
OworCit0ZXN0Q2FzZSh0eXBlb2Ygc2ltcGxlQXJyb3dGdW5jdGlvbi5wcm90b3R5cGUgPT09ICd1
bmRlZmluZWQnLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJvdG90eXBl
IG9mIGFycm93IGZ1bmN0aW9uIik7CisKK3ZhciBlcnJvck9uQ3JlYXRlID0gZmFsc2U7CisKK3Ry
eSB7CisgIHZhciBmYyA9IG5ldyBzaW1wbGVBcnJvd0Z1bmN0aW9uKCk7Cit9CitjYXRjaCAoZSkg
eworICBlcnJvck9uQ3JlYXRlID0gdHJ1ZTsKK30KKwordGVzdENhc2UoZXJyb3JPbkNyZWF0ZSwg
dHJ1ZSwgIkVycm9yOiBObyBlcnJvciBkdXJpbmcgcnVuIG5ldyBBcnJvd0Z1bmN0aW9uIik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCmluZGV4IDhiMTEyZmFlNDViOTU3ZGQyNjQxZmRiNmY0Njg5ODgwNTg5YWY4NjAuLjEx
NDhhNzY5NzJmMTE0YzM4M2QzMjYyOWYxZjA5M2M2ODU1MGEwNTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00
NSw2ICs0NSw3IEBAIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVO
QUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkc7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IEVOQUJMRV9FUzZf
Q0xBU1NfU1lOVEFYOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9F
UzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBFTkFC
TEVfQ09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ1NQX05FWFQgPSA7CiBFTkFCTEVfQ1NTX0FO
SU1BVElPTlNfTEVWRUxfMiA9IEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yOwpAQCAtMjE0
LDQgKzIxNSw0IEBAIEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7CiAKIEVOQUJMRV9TQVRVUkFURURf
TEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwog
Ci1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
KSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChF
TkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVf
Q0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NM
QVNTX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhU
KSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09S
QVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklD
RV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFH
RV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NT
U19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NI
QVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykg
JChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExF
UikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQp
ICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkg
JChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJV
Q1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFf
VjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykg
JChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQ
QURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdF
X0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NF
UlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9N
T05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUsp
ICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5L
X1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQ
VCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09S
X1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdB
VE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJ
VF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5B
QkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFC
TEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFV
RVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVT
T0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NT
U19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFN
U19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9O
KSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJM
RV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJ
REVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFC
TEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJ
TykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJ
Q1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05T
KSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkg
JChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVU
SUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9
ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBU
SU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJ
T05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJM
RV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAk
KEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFC
TEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQo
RU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAk
KEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVU
SU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQp
ICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19U
RVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNU
T01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9E
RVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9N
NF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZP
TlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFE
KSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVO
QUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFC
QVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJ
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BP
UE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5B
QkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5B
QkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChF
TkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9S
X1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVT
UykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJ
QV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFf
U1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5B
QkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMp
ICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxF
X1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VG
RklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFN
RSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNU
T1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5E
SU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMp
ICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9T
VkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVf
TlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVY
VF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05f
TE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1Rf
QUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFD
VUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAk
KEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NL
RVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJM
RV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQo
RU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVE
X0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCmluZGV4IDhiMTEyZmFlNDViOTU3ZGQyNjQxZmRiNmY0Njg5ODgwNTg5YWY4
NjAuLjExNDhhNzY5NzJmMTE0YzM4M2QzMjYyOWYxZjA5M2M2ODU1MGEwNTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCkBAIC00NSw2ICs0NSw3IEBAIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5W
QVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9
IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCA9IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxU
RVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ1NQX05FWFQgPSA7CiBF
TkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMiA9IEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZF
TF8yOwpAQCAtMjE0LDQgKzIxNSw0IEBAIEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7CiAKIEVOQUJM
RV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9B
UklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZM
T1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRf
RUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFU
SCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5B
QkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9D
U1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFC
TEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5B
QkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04p
ICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChF
TkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRf
TElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9T
Q0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFM
SVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJ
TFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VW
RU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNS
WVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9M
T0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQo
RU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxF
X0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0Up
ICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQo
RU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZF
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
X0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVf
SU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJM
RV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJF
RklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAk
KEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NP
TlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVf
TU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChF
TkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJP
TUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhf
TElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAk
KEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikg
JChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcp
ICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChF
TkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19G
T05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FE
SU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwp
ICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9W
QUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5B
QkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMp
ICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dF
QlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFC
TEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZ
T1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRV
UkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURf
MkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5B
QkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9D
QUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNf
UFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lO
VEFYKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVW
RUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09N
UE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dS
SURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVD
VE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChF
TkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAk
KEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JU
KSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1T
KSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikg
JChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIp
ICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVO
QUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xP
Q0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFC
TEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5B
QkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
TE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElN
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19W
RU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9M
RUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJM
RV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAk
KEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChF
TkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVf
TUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NP
TlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xP
Q0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJM
RV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FO
SU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JF
TU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxF
X1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVD
SF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRP
KSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJM
RV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkg
JChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxF
X1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQo
RU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5B
QkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5B
QkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElN
SU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5B
QkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFC
TEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJ
T05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDhiMTEyZmFlNDViOTU3ZGQyNjQxZmRiNmY0Njg5ODgw
NTg5YWY4NjAuLjExNDhhNzY5NzJmMTE0YzM4M2QzMjYyOWYxZjA5M2M2ODU1MGEwNTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCkBAIC00NSw2ICs0NSw3IEBAIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5W
QVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9
IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCA9IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxU
RVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ1NQX05FWFQgPSA7CiBF
TkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMiA9IEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZF
TF8yOwpAQCAtMjE0LDQgKzIxNSw0IEBAIEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7CiAKIEVOQUJM
RV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9B
UklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZM
T1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRf
RUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFU
SCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5B
QkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9D
U1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFC
TEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5B
QkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04p
ICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChF
TkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRf
TElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9T
Q0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFM
SVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJ
TFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VW
RU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNS
WVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9M
T0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQo
RU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxF
X0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0Up
ICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQo
RU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZF
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
X0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVf
SU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJM
RV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJF
RklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAk
KEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NP
TlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVf
TU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChF
TkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJP
TUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhf
TElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAk
KEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikg
JChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcp
ICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChF
TkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19G
T05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FE
SU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwp
ICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9W
QUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5B
QkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMp
ICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dF
QlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFC
TEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZ
T1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRV
UkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURf
MkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5B
QkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9D
QUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNf
UFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lO
VEFYKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVW
RUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09N
UE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dS
SURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVD
VE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChF
TkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAk
KEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JU
KSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1T
KSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikg
JChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIp
ICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVO
QUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xP
Q0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFC
TEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5B
QkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
TE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElN
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19W
RU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9M
RUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJM
RV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAk
KEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChF
TkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVf
TUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NP
TlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xP
Q0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJM
RV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FO
SU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JF
TU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxF
X1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVD
SF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRP
KSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJM
RV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkg
JChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxF
X1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQo
RU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5B
QkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5B
QkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElN
SU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5B
QkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFC
TEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJ
T05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2Ug
Yi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKaW5kZXggMGMwZjVmNzVmMWMwMTFh
NzU3MjBlMThlNTY4YTk5ZGVlZWI1ZTY0ZS4uZmNiZWMxMDkzOTg3MTg3MDFiMjZlMDY3NTM0MjVj
YWYzMTQzZmQ3NyAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtl
CisrKyBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQpAQCAtMzgsNiArMzgsNyBA
QCBtYWNybyhXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVO
QUJMRV9DQU5WQVNfUFJPWFkgIlRvZ2dsZSBDYW52YXNQcm94eSBzdXBwb3J0IiBPRkYpCiAgICAg
V0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HICJUb2dnbGUgTWVz
c2FnZUNoYW5uZWwgYW5kIE1lc3NhZ2VQb3J0IHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJ
T05fREVGSU5FKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYICJUb2dnbGUgRVM2IGNsYXNzIHN5bnRh
eCBzdXBwb3J0IiBPTikKKyAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYICJUb2dnbGUgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheCBzdXBwb3J0
IiBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcg
IlRvZ2dsZSBjb250ZW50IGZpbHRlcmluZyBzdXBwb3J0IiBPRkYpCiAgICAgV0VCS0lUX09QVElP
Tl9ERUZJTkUoRU5BQkxFX0NPTlRFWFRfTUVOVVMgIlRvZ2dsZSBDb250ZXh0IE1lbnUgc3VwcG9y
dCIgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NTUF9ORVhUICJUb2dnbGUg
Q29udGVudCBTZWN1cml0eSBQb2xpY3kgMS4xIHN1cHBvcnQiIE9GRikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlIGIvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UKaW5k
ZXggMjFkM2ZjYzVkOTgzZjk1OTVkZWYzNTEwNTY4Y2RjOTg5NjUyNDZlZC4uY2YxYWZlNTZjNWYw
ZjI2MDk5MDkwZTUxYjdiMmE2NjAzZWEwNzMyMSAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlY29u
ZmlnLmguY21ha2UKKysrIGIvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UKQEAgLTEzLDYgKzEz
LDcgQEAKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9DQU5WQVNfUFJPWFkKICNjbWFrZWRlZmluZTAx
IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORwogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0VTNl9DTEFT
U19TWU5UQVgKKyNjbWFrZWRlZmluZTAxIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgK
ICNjbWFrZWRlZmluZTAxIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORwogI2NtYWtlZGVmaW5lMDEg
RU5BQkxFX0NPTlRFWFRfTUVOVVMKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9DUkVERU5USUFMX1NU
T1JBR0UKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5w
bSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQppbmRleCAwYjM0ZDQ5
YTgxYWI5NTA5MmMyN2Q5YWIyMjUzNWE2MmMzNTFkM2NjLi43NDU5NGVjOGIxNzJjZTM0Y2I4MGQx
NGM4NDE0YWRmN2VkOTVlNGRmIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwv
RmVhdHVyZUxpc3QucG0KKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0
LnBtCkBAIC00NCw2ICs0NCw3IEBAIEJFR0lOIHsKIG15ICgKICAgICAkdGhyZWVEUmVuZGVyaW5n
U3VwcG9ydCwKICAgICAkYWNjZWxlcmF0ZWQyRENhbnZhc1N1cHBvcnQsCisgICAgJGFycm93ZnVu
Y3Rpb25TeW50YXgsCiAgICAgJGJhdHRlcnlTdGF0dXNTdXBwb3J0LAogICAgICRjYW52YXNQYXRo
U3VwcG9ydCwKICAgICAkY2FudmFzUHJveHlTdXBwb3J0LApAQCAtMTU0LDYgKzE1NSw5IEBAIG15
IEBmZWF0dXJlcyA9ICgKICAgICB7IG9wdGlvbiA9PiAiYWNjZWxlcmF0ZWQtMmQtY2FudmFzIiwg
ZGVzYyA9PiAiVG9nZ2xlIEFjY2VsZXJhdGVkIDJEIENhbnZhcyBzdXBwb3J0IiwKICAgICAgIGRl
ZmluZSA9PiAiRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUyIsIGRlZmF1bHQgPT4gaXNHdGso
KSwgdmFsdWUgPT4gXCRhY2NlbGVyYXRlZDJEQ2FudmFzU3VwcG9ydCB9LAogCisgICAgeyBvcHRp
b24gPT4gImFycm93ZnVuY3Rpb24tc3ludGF4IiwgZGVzYyA9PiAiVG9nZ2xlIEVTNiBhcnJvdyBm
dW5jdGlvbiBzeW50YXggc3VwcG9ydCIsCisgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9FUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgiLCBkZWZhdWx0ID0+IDEsIHZhbHVlID0+IFwkYXJyb3dmdW5jdGlv
blN5bnRheCB9LAorCiAgICAgeyBvcHRpb24gPT4gImJhdHRlcnktc3RhdHVzIiwgZGVzYyA9PiAi
VG9nZ2xlIEJhdHRlcnkgU3RhdHVzIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVf
QkFUVEVSWV9TVEFUVVMiLCBkZWZhdWx0ID0+IGlzRWZsKCksIHZhbHVlID0+IFwkYmF0dGVyeVN0
YXR1c1N1cHBvcnQgfSwKIApkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4
IGIzNjllNWM3MzBhZTQ3NWI1OTRiODZhMjcxM2IwMjMyYTFkZWU3NDguLjI0MGQ3ZGVhMDdhNGJi
NGEyZjQ1MzU1NDNhNTlkYWYzNDk3OGM2YjEgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNS0wNC0xMyAgIFNrYWNoa292IEFsZXhhbmRy
ICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFy
cm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICBBZGRlZCBmZWF0dXJlIGZsYWcgdG8gc3dpdGNoIG9uL29mZiBlczYgYXJy
b3cgZnVuY3Rpb24gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWAorCisgICAgICAgICAq
IFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZToKKyAgICAgICAgICogU291cmNlL2Nt
YWtlY29uZmlnLmguY21ha2U6CisKIDIwMTUtMDQtMTIgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5n
LmtpbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtFRkxdIEVuYWJsZSBNZWRpYSBTb3VyY2UK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250651</attachid>
            <date>2015-04-13 10:26:46 -0700</date>
            <delta_ts>2015-04-13 10:34:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150413202547.patch</filename>
            <type>text/plain</type>
            <size>911</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyNzM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlci5jcHAKaW5kZXggZWI2MzRkMDEyOGFiZWMxOGNlNGUzMGUyNmEyZmU4MGIzMjk5ODJlYS4u
YjgyNGRlM2VkZTc0MjJlOTg0YjBmMTk1NDE4Y2Y5OWYxOTU4Mzk5OSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcApAQCAtMTQ1NSw2ICsxNDU1LDcgQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9u
SW5mbyhUcmVlQnVpbGQKICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICB9CisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKICAgICBjYXNlIEFycm93RnVuY3Rpb25QYXJz
ZVR5cGU6IHsKICAgICAgICAgcGFyYW1ldGVyc1N0YXJ0ID0gcGFyc2VBcnJvd0Z1bmN0aW9uUGFy
YW10ZXJzKGNvbnRleHQsIG1vZGUsIGluZm8pOwogICAgICAgICAKQEAgLTE0NjQsNiArMTQ2NSw3
IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIGluZm8uYXJyb3dGdW5jdGlvbk9m
ZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKICAgICAgICAgYnJlYWs7CiAgICAgfQorI2Vu
ZGlmCiAgICAgfQogCiAgICAgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCA9IGlzQ2xh
c3NDb25zdHJ1Y3RvciA/IG93bmVyQ2xhc3NLaW5kIDogQ29uc3RydWN0b3JLaW5kOjpOb25lOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250656</attachid>
            <date>2015-04-13 10:42:02 -0700</date>
            <delta_ts>2015-04-13 10:53:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150413204103.patch</filename>
            <type>text/plain</type>
            <size>136644</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyNzM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
Zjg2NGE0YzA2OTk2NTg3ZjcyYWMyNGM1OGUzOTdmMmZmMjc2OWRkLi41YmQxNTY0Nzc4OWQwODE0
OWI3NGNkMmY1NjMyODU1YWE1ZTY3ZTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMTUgQEAKKzIwMTUtMDQtMTMgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgc3VwcG9ydCBvZiBFUzYgYXJyb3cgZnVuY3Rpb24uIENoYW5nZXMgd2VyZSBtYWRlIGFj
Y29yZGluZyBmb2xsb3dpbmcgc3BlYyBodHRwOi8vd2lraS5lY21hc2NyaXB0Lm9yZy9kb2t1LnBo
cD9pZD1oYXJtb255OmFycm93X2Z1bmN0aW9uX3N5bnRheAorICAgICAgICBJbiBwYXRjaCB3ZXJl
IGltcGxlbWVudGVkIHRoZSBzaW1wbGVzdCBjYXNlczoKKyAgICAgICAgICAxIG5vIHBhcmFtZXRl
cnMgICAgICAgICAgICAgICAgKCkgPT4gMTAgKyAyMAorICAgICAgICAgIDIgc2luZ2xlIHBhcmFt
ZXRlciAgICAgICAgICAgICAgeCA9PiB4ICsgMjAKKyAgICAgICAgICAzIG11bHRpcGxlIHBhcmFt
ZXRlcnMgICAgICAoeCwgeSkgPT4geCArIHkKKyAgICAgICAgICA0IGFycm93IGZ1bmN0aW9uIHdp
dGggYmxvY2sgICAgIHggPT4geyByZXR1cm4geCoxMDsgfQorICAgICAgICAgIDUgbGV4aWNhbCB0
aGlzIC0gdmFyaWFibGUgdGhpcyBpcyBwb2ludCB0byB0aGUgdGhpcyBvZiB0aGUgZnVuY3Rpb24g
d2hlcmUgYXJyb3cgZnVuY3Rpb24gaXMgZGVjbGFyZWQKKyAgICAgICAgICA2IE5vIGNvbnN0cnVj
dG9yIC0gdGhlIHVzaW5nIG9mIHRoZSBjb21tYW5kIG5ldyBmb3IgYXJyb3cgZnVuY3Rpb24gbGVh
ZHMgdG8gcnVudGltZSBlcnJvci4gCisKKyAgICAgICAgIE5vdCB5ZXQgaW1wbGVtZW50ZWQ6Cisg
ICAgICAgICAgMSB0aGUgdmFyaWFibGUgd2l0aCBuYW1lIGFyZ3VtZW50cyBpbnNpZGUgb2YgdGhl
IGFycm93IGZ1bmN0aW9uIHNob3VsZCBwb2ludCB0byBsaXN0IG9mIGFyZ3VtZW50cyBvZiBmdW5j
dGlvbiB3aGVyZSBhcnJvdyBmdW5jdGlvbiBpcyBkZWNsYXJlZAorICAgICAgICAgIDIgcGFyc2Vy
IHdpbGwgcGFyc2UgdGhlIHN0YXRlbWVudCB4LCB5ID0+IHggKyB5IGluc3RlYWQgb2YgcmFpc2lu
ZyBleGNlcHRpb24KKyAgICAgICAgICAzIG1ldGhvZCBjYWxsLCBhcHBseSwgYmluZCBzaG91bGQg
bm90IG92ZXJyaWRlIHRoZSB0aGlzIHZhcmlhYmxlIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgor
ICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvajoK
KyAgICAgICAgKiBieXRlY29kZS9CeXRlY29kZUxpc3QuanNvbjoKKyAgICAgICAgKiBieXRlY29k
ZS9CeXRlY29kZVVzZURlZi5oOgorICAgICAgICAoSlNDOjpGdW5jdG9yOjpjb21wdXRlVXNlc0Zv
ckJ5dGVjb2RlT2Zmc2V0KToKKyAgICAgICAgKiBieXRlY29kZS9Db2RlQmxvY2suY3BwOgorICAg
ICAgICAoSlNDOjpDb2RlQmxvY2s6OmR1bXBCeXRlY29kZSk6CisgICAgICAgICogYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2Rl
R2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdB
cnJvd0Z1bmN0aW9uRXhwcmVzc2lvbik6IGFkZGVkCisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2Vu
ZXJhdG9yOjplbWl0VGhpc05vZGVCeXRlY29kZSk6IGFkZGVkCisgICAgICAgICogYnl0ZWNvbXBp
bGVyL05vZGVzQ29kZWdlbi5jcHA6CisgICAgICAgIChKU0M6OmVtaXRCeXRlY29kZTo6ZW1pdEJ5
dGVjb2RlKTogYWRkZWQKKyAgICAgICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGU6OmVtaXRCeXRl
Y29kZSk6IGFkZGVkCisgICAgICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAg
ICAgKEpTQzo6Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAqIGRmZy9ERkdD
YXBhYmlsaXRpZXMuY3BwOgorICAgICAgICAoSlNDOjpDYXBhYmlsaXR5TGV2ZWw6OmNhcGFiaWxp
dHlMZXZlbCk6CisgICAgICAgICogaml0L0pJVC5oOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRf
b3BfbmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUSW5saW5lcy5o
OgorICAgICAgICAoSlNDOjpKSVQ6OmNhbGxPcGVyYXRpb24pOiBhZGRlZAorICAgICAgICAqIGpp
dC9KSVQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3MpOgor
ICAgICAgICAqIGppdC9KSVRPcGNvZGVzLmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29w
X25ld19hcnJvd19mdW5jX2V4cCk6IGFkZGVkCisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMu
Y3BwOgorICAgICAgICAoSlNDOjpKSVRfT1BFUkFUSU9OOjpvcGVyYXRpb25OZXdBcnJvd0Z1bmN0
aW9uKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5oOgorICAgICAgICAoSlND
OjpKSVRfT1BFUkFUSU9OOjpvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKTogYWRkZWQKKyAgICAg
ICAgKiBsbGludC9MTEludFNsb3dQYXRocy5jcHA6CisgICAgICAgIChMTElOVF9TTE9XX1BBVEhf
REVDTChzbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBsbGlu
dC9MTEludFNsb3dQYXRocy5oOgorICAgICAgICAoTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19w
YXRoX25ld19hcnJvd19mdW5jX2V4cCkpOiBhZGRlZAorICAgICAgICAqIGxsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOgorICAgICAgICAqIHBhcnNlci9BU1RCdWlsZGVyLmg6CisgICAgICAg
IChKU0M6OkFTVEJ1aWxkZXI6OmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAgICAgKiBw
YXJzZXIvTGV4ZXIuY3BwOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlv
bik6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpsZXgpOgorICAgICAgICAqIHBhcnNlci9MZXhl
ci5oOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlvbik6CisgICAgICAg
ICogcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaDoKKyAgICAgICAgKEpTQzo6QXJyb3dGdW5jRXhw
ck5vZGU6OkFycm93RnVuY0V4cHJOb2RlKTogYWRkZWQKKyAgICAgICAgKiBwYXJzZXIvTm9kZXMu
aDoKKyAgICAgICAgKEpTQzo6Tm9kZTo6aXNBcnJvd0Z1bmNFeHByTm9kZSk6IGFkZGVkCisgICAg
ICAgIChKU0M6OkFycm93RnVuY0V4cHJOb2RlKTogYWRkZWQgY2xhc3MKKyAgICAgICAgKiBwYXJz
ZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291
cmNlRWxlbWVudHMpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmlt
YXJ5RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VTb3VyY2VFbGVtZW50
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6
OlBhcnNlcjo6cGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNl
cjo6cGFyc2VQcmltYXJ5RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VB
cnJvd0V4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnNldEVuZE9mU3RhdGVtZW50
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKToKKyAg
ICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25JbmZvKToKKyAgICAgICAgKEpT
Qzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25Cb2R5KToKKyAgICAgICAgKiBwYXJzZXIvUGFy
c2VyLmg6CisgICAgICAgIChKU0M6OlBhcnNlcjo6RnVuY3Rpb25QYXJzZVR5cGUpOgorICAgICAg
ICAoSlNDOjpQYXJzZXI6OnBhcnNlU291cmNlRWxlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNl
cjo6cGFyc2VTdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dFeHBy
ZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpzZXRFbmRPZlN0YXRlbWVudCk6CisgICAg
ICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcik6CisgICAgICAgICog
cGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oOgorICAgICAgICAqIHBhcnNlci9QYXJzZXJUb2tl
bnMuaDoKKyAgICAgICAgKEpTQzo6UGFyc2VyRnVuY3Rpb25JbmZvOjphcnJvd0Z1bmN0aW9uT2Zm
c2V0KTogYWRkZWQKKyAgICAgICAgKEpTQzo6UGFyc2VyRnVuY3Rpb25JbmZvOjppc0Fycm93RnVu
Y3Rpb24pOiBhZGRlZAorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmFycm93RnVu
Y3Rpb25Cb2R5VHlwZSk6IGFkZGVkCisgICAgICAgICogcGFyc2VyL1NvdXJjZUNvZGUuaDoKKyAg
ICAgICAgKEpTQzo6U291cmNlQ29kZTo6c3ViQXJyb3dFeHByZXNzaW9uKToKKyAgICAgICAgKiBw
YXJzZXIvU3ludGF4Q2hlY2tlci5oOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVh
dGVBcnJvd0Z1bmN0aW9uRXhwcik6CisgICAgICAgICogcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2Fj
aGVJdGVtOgorICAgICAgICAoSlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFy
YW1ldGVycyk6CisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKToKKyAgICAg
ICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW06OmVuZEFycm93RnVuY3Rpb25Ub2tlbik6
CisgICAgICAgICogcnVudGltZS9KU0Fycm93RnVuY3Rpb24uaDogYWRkZWQgY2xhc3MgZm9yIGhh
bmRsZSBhcnJvdyBmdW5jdGlvbiBjcmVhdGlvbiBhbmQgZXhlY3V0aW9uCisgICAgICAgICogcnVu
dGltZS9KU0Fycm93RnVuY3Rpb24uY3BwOgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbi5o
OgorICAgICAgICAoSlNDOjpKU0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKTogYWRkZWQgb25lIG1vcmUg
Y29uc3RydWN0b3IKKyAgICAgICAgKiBydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmg6CisgICAg
ICAgIChKU0M6OkpTRnVuY3Rpb246OkpTRnVuY3Rpb24pOiBhZGRlZCBjb25zdHJ1Y3RvciBpbXBs
ZW1lbnRhdGlvbgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgorICAgICAg
ICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6aW5pdCk6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2Jq
ZWN0OjptX2Fycm93RnVuY3Rpb25TdHJ1Y3R1cmUpOiBhZGRlZAorICAgICAgICAoSlNDOjpKU0ds
b2JhbE9iamVjdDo6YXJyb3dGdW5jdGlvblN0cnVjdHVyZSk6CisgICAgICAgICogdGVzdHMvc3Ry
ZXNzL2pzL2Fycm93ZnVuY3Rpb24uanM6CisKIDIwMTUtMDQtMTIgIEFsZXhhbmRyIFNrYWNoa292
ICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KICAgICAgICAgU21hbGwgcmVmYWN0b3Jpbmcgb2YgdGhl
IHBhcmNlci5jcHAgZmlsZS4gSXQgaXMgbmVjZXNzYXJ5IHRvIGluY3JlYXNlIHJlYWRhYmlsaXR5
IG9mIHRoZSBwYXRjaAogICAgICAgICB3aXRoIEVTNiBBcnJvdyBmdW5jdGlvbiBpbXBsZW1lbnRh
dGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IDRlMDRkYzZmNTgwOGEzYWZiNWVjYzliODM1OGU2MWIyZTZkMjhh
OTkuLmUwMzZkYzc5YTZjNDFiZjQ0Y2M1YWRhYzdkMGYyZDQ3ZGY3MzE5NzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNCBAQAorMjAxNS0wNC0xMyAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hr
b3ZAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rp
b24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNDA4NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGRlZCBmZWF0dXJlIGZsYWcgRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCBmb3Ig
YXJyb3cgZnVuY3Rpb24KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnOgorCiAyMDE1LTA0LTEyICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4K
IAogICAgICAgICBbQ29jb2FdIExvY2FsaXphYmxlIHN0cmluZ3MgYXJlIGluY29uc2lzdGVudCBh
bmQgbmVlZCB0byBiZSByZWdlbmVyYXRlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDAzM2VhM2RkYzc1
NDllNTZkOTA4NDM3MmFhYThlZDllNjliZTMyMjYuLjUxODI4YWY3N2E3MzZiZmY0ZGI5ZjcxYzEy
YWQ4MDI2MDQwODNkZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNS0w
NC0xMyAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisgICAgICAg
IFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmZWF0dXJlIGZsYWcgRU5B
QkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rpb24KKworICAgICAg
ICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1LTA0LTEy
ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIExvY2Fs
aXphYmxlIHN0cmluZ3MgYXJlIGluY29uc2lzdGVudCBhbmQgbmVlZCB0byBiZSByZWdlbmVyYXRl
ZApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDc5MTk2Mjg0NzYyYjMwMDM0
NDE3ZmE0ZjE0ZjFmYjI4MzgxYzQ1ZTkuLjdiODkyMjNhYTkxZDc3YjdjNmI0NGM1ODBjMzM0ODZh
YTNiYTBmNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4
dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQ2Niw2ICs0
NjYsNyBAQCBzZXQoSmF2YVNjcmlwdENvcmVfUlVOVElNRV9TT1VSQ0VTCiAgICAgcnVudGltZS9K
U0FycmF5QnVmZmVyVmlldy5jcHAKICAgICBydW50aW1lL0pTQXJyYXlJdGVyYXRvci5jcHAKICAg
ICBydW50aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAKKyAgICBydW50aW1lL0pTQXJyb3dGdW5jdGlv
bi5jcHAKICAgICBydW50aW1lL0pTR2xvYmFsT2JqZWN0RGVidWdnYWJsZS5jcHAKICAgICBydW50
aW1lL0pTQ0pTVmFsdWUuY3BwCiAgICAgcnVudGltZS9KU0NhbGxlZS5jcHAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwppbmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFmODYw
Li4xMTQ4YTc2OTcyZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1NTBhMDUxIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCkBAIC00NSw2ICs0NSw3IEBAIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJM
RV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9N
RVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7CiBFTkFCTEVfRVM2X0NMQVNTX1NZ
TlRBWCA9IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ1NQX05FWFQg
PSA7CiBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMiA9IEVOQUJMRV9DU1NfQU5JTUFUSU9O
U19MRVZFTF8yOwpAQCAtMjE0LDQgKzIxNSw0IEBAIEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7CiAK
IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xB
WU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJ
TkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURf
T1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFD
SE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5W
QVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVO
QUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykg
JChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQp
ICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09M
VVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVM
NCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1Mz
X1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NV
U1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxF
X0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9E
T000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVf
Rk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQ
QUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFU
QUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVf
VUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Jf
UE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChF
TkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAk
KEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVG
SVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5E
T1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBS
RVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01F
RElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJ
QV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChF
TkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElM
UykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFC
TEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19T
VUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZS
QU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BF
Q1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JB
TkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJ
UykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxF
X1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9O
RV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNP
Tl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVD
VF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFU
QUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wp
ICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NP
Q0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5B
QkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkg
JChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFU
RURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsK
K0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcp
ICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVO
QUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9D
QU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xB
U1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElP
TlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVf
Q1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NT
X1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVY
VCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklM
SVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9T
VVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVS
X0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xF
VkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykg
JChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMp
ICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAk
KEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFU
SE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJD
RSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChF
TkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdB
VE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lO
VEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAk
KEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFV
RVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQo
RU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxF
X1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVf
Q1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAk
KEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxF
TUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJB
Q0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkp
ICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9X
RUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQp
ICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkg
JChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVT
RU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagppbmRl
eCA3NDMzMGU3MDNkYWM0ZDM2MDBlYWIyN2EwYWQ4ZWI0YWYwMGUwYjMyLi42MjI4NzNkZDJmOTQ3
MGE5MTMxOGFjY2NkNDcwOWRjZWFlNzI2MDhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRD
b3JlLnZjeHByb2oKQEAgLTczNCw2ICs3MzQsNyBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5ccnVudGltZVxKU0FycmF5QnVmZmVyUHJvdG90eXBlLmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJheUJ1ZmZlclZpZXcuY3BwIiAvPgogICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0JvdW5kRnVuY3Rpb24uY3BwIiAvPgorICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0Fycm93RnVuY3Rpb24uY3BwIiAvPgogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NKU1ZhbHVlLmNwcCIgLz4KICAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDYWxsZWUuY3BwIiAvPgogICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NhdGNoU2NvcGUuY3BwIiAvPgpAQCAtMTUyNiw2
ICsxNTI3LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJheUJ1
ZmZlclZpZXdJbmxpbmVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1l
XEpTQXJyYXlJdGVyYXRvci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGlt
ZVxKU0JvdW5kRnVuY3Rpb24uaCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRp
bWVcSlNBcnJvd0Z1bmN0aW9uLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50
aW1lXEpTQ0lubGluZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVc
SlNDSlNWYWx1ZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NK
U1ZhbHVlSW5saW5lcy5oIiAvPgpAQCAtMTgwMCw0ICsxODAyLDQgQEAKICAgPEltcG9ydEdyb3Vw
IExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJn
ZXRzUGF0aClcQnVpbGRDdXN0b21pemF0aW9uc1xtYXNtLnRhcmdldHMiIC8+CiAgIDwvSW1wb3J0
R3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9Qcm9qZWN0
PgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBiYTJkMTM2ZWI5NWI1YTlmZDM1NGFi
MzBhOGYzNjkxYmY3OGNlYjg2Li5lOWQ2ZjI0NjVlMzM4NTVkMzY4YjRkMjA0ZTBkNzY0NmM1NmU5
ODlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTA5Miw2ICsxMDkyLDggQEAK
IAkJODZGM0VFQkYxNjhDREU5MzAwNzdCOTJBIC8qIE9iamNSdW50aW1lRXh0cmFzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkYzRUVCNjE2ODU1QTVC
MDA3N0I5MkEgLyogT2JqY1J1bnRpbWVFeHRyYXMuaCAqLzsgfTsKIAkJODZGQTlFOTExNDJCQkIy
RTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkZBOUU4RjE0MkJCQjJEMDAxNzczQjcgLyogSlNCb3Vu
ZEZ1bmN0aW9uLmNwcCAqLzsgfTsKIAkJODZGQTlFOTIxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91
bmRGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICovOyB9Owor
CQk4QjBGNDI0QzFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhCMEY0MjRCMUFCRDZERTIw
MDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uY3BwICovOyB9OworCQk4QjBGNDI0QzFBQkQ2REUy
MDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1
bmN0aW9uLmggKi87IH07CiAJCTkwMjEzRTNEMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0
aXN0aWNzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDkwMjEzRTNCMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmNwcCAqLzsgfTsK
IAkJOTAyMTNFM0UxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkwMjEzRTNDMTIzQTQwQzIw
MEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTMwNTJDMzQwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNl
ckFyZW5hLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDkzMDUyQzMyMEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5jcHAgKi87IH07CkBAIC0y
ODI0LDYgKzI4MjYsOCBAQAogCQk4NkY3NUVGRDE1MUMwNjJGMDA3QzlCQTMgLyogUmVnRXhwTWF0
Y2hlc0FycmF5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZ0V4
cE1hdGNoZXNBcnJheS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2RkE5RThG
MTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlv
bi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0JvdW5kRnVuY3Rpb24uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOEIwRjQyNEExQUJENkQyRjAwMzkxN0VBIC8q
IEpTQXJyb3dGdW5jdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Fycm93RnVuY3Rpb24uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpT
QXJyb3dGdW5jdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U0Fycm93RnVuY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MDIxM0Uz
QjEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZW1vcnlTdGF0aXN0aWNzLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJOTAyMTNFM0MxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRp
c3RpY3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVtb3J5U3RhdGlzdGlj
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzA1MkMzMjBGQjc5MjE5MDA0OEZE
QzMgLyogUGFyc2VyQXJlbmEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gUGFyc2VyQXJlbmEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDQzOCw2
ICs0NDQyLDggQEAKIAkJCQlBN0JEQUVDNTE3RjRFQTE0MDBGNjE0MEMgLyogSlNBcnJheUl0ZXJh
dG9yLmggKi8sCiAJCQkJODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlv
bi5jcHAgKi8sCiAJCQkJODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlv
bi5oICovLAorCQkJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24u
aCAqLywKKwkJCQk4QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNw
cCAqLywKIAkJCQk2NTdDRjQ1NjE5QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuY3BwICovLAog
CQkJCTY1N0NGNDU3MTlCRjY2NjIwMDRBQ0JGMiAvKiBKU0NhbGxlZS5oICovLAogCQkJCTBGRDk0
OTdFMUE5N0RCOTYwMEUyODk2NiAvKiBKU0NhdGNoU2NvcGUuY3BwICovLApAQCAtNzE2Niw2ICs3
MTcyLDcgQEAKIAkJCQkwRkQ4QTMxQjE3RDUxRjIyMDBDQTJDNDAgLyogRlRMT1NSRW50cnkuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyMzVCREMxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4
aXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyMzVCREYxNzE3OEUxQzAwNjkwQzdGIC8qIEZU
TE9TUkV4aXRDb21waWxlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4QjBGNDI0QzFBQkQ2REUy
MDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRUEw
QTJBMTcwOTYyOTYwMEJCNzIyQyAvKiBGVExPdXRwdXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MEY0ODUzMjkxODdERkRFQzAwODNCNjg3IC8qIEZUTFJlY292ZXJ5T3Bjb2RlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTBGNkIxQ0MzMTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExSZWdpc3RlckF0T2Zm
c2V0LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0J5dGVjb2RlTGlzdC5qc29uCmluZGV4IDZiMjQzOTE1NmFiM2FmYWU2YjU1OGFiOTA2NmQy
MjI1MTVkNTllNDUuLjQzNjA3MDlkOGY3ZTQxODIxNWFiMmFmOTU5YmY2NDQ4YWYwMzgwMjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxpc3QuanNv
bgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24K
QEAgLTk1LDYgKzk1LDcgQEAKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX3N3aXRjaF9zdHJp
bmciLCAibGVuZ3RoIiA6IDQgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX25ld19mdW5j
IiwgImxlbmd0aCIgOiA0IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfZnVuY19l
eHAiLCAibGVuZ3RoIiA6IDQgfSwKKyAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX25ld19hcnJv
d19mdW5jX2V4cCIsICJsZW5ndGgiIDogNSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3Bf
Y2FsbCIsICJsZW5ndGgiIDogOSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbF9l
dmFsIiwgImxlbmd0aCIgOiA5IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9jYWxsX3Zh
cmFyZ3MiLCAibGVuZ3RoIiA6IDkgfSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0J5dGVjb2RlVXNlRGVmLmgKaW5kZXggODVmMjkxNWM3ZThmNjAxYWQzZWMxNzhiZjY5ZTM1
NDRmNzU0YzJjZi4uMTdiNmJlZDgxZmUyNWI2MjMzMGJhYTNmZDAzMWM3MTZhYjg4ZjliZiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgKQEAg
LTExNiw2ICsxMTYsOSBAQCB2b2lkIGNvbXB1dGVVc2VzRm9yQnl0ZWNvZGVPZmZzZXQoCiAgICAg
Y2FzZSBvcF9nZXRfcHJvcGVydHlfZW51bWVyYXRvcjoKICAgICBjYXNlIG9wX2dldF9lbnVtZXJh
YmxlX2xlbmd0aDoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorI2Vu
ZGlmCiAgICAgY2FzZSBvcF90b19pbmRleF9zdHJpbmc6CiAgICAgY2FzZSBvcF9pbml0X2dsb2Jh
bF9jb25zdF9ub3A6CiAgICAgY2FzZSBvcF9pbml0X2dsb2JhbF9jb25zdDoKQEAgLTMwOCw2ICsz
MTEsOSBAQCB2b2lkIGNvbXB1dGVEZWZzRm9yQnl0ZWNvZGVPZmZzZXQoQ29kZUJsb2NrKiBjb2Rl
QmxvY2ssIHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0LAogICAgIGNhc2Ugb3BfbmV3X3JlZ2V4cDoK
ICAgICBjYXNlIG9wX25ld19mdW5jOgogICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOgorI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVu
Y19leHA6CisjZW5kaWYKICAgICBjYXNlIG9wX2NhbGxfdmFyYXJnczoKICAgICBjYXNlIG9wX2Nv
bnN0cnVjdF92YXJhcmdzOgogICAgIGNhc2Ugb3BfZ2V0X2Zyb21fc2NvcGU6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCmluZGV4IDA2ZTQ5ZmVkNjVkYWU4
NzcwZDdjZGM5ODNiNzY4ZDRhZGVlOWM4ZjEuLjkxNDU1ZGMyMzhkNTYyM2MyZjQxODYzMzllODQ4
ZTljZmYzYWFjNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9D
b2RlQmxvY2suY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxv
Y2suY3BwCkBAIC0xMjk5LDYgKzEyOTksMTcgQEAgdm9pZCBDb2RlQmxvY2s6OmR1bXBCeXRlY29k
ZSgKICAgICAgICAgICAgIG91dC5wcmludGYoIiVzLCAlcywgZiVkIiwgcmVnaXN0ZXJOYW1lKHIw
KS5kYXRhKCksIHJlZ2lzdGVyTmFtZShyMSkuZGF0YSgpLCBmMCk7CiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAg
ICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOiB7CisgICAgICAgICAgICBpbnQgcjAgPSAo
KytpdCktPnUub3BlcmFuZDsKKyAgICAgICAgICAgIGludCByMSA9ICgrK2l0KS0+dS5vcGVyYW5k
OworICAgICAgICAgICAgaW50IGYwID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBp
bnQgcjIgPSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAgICAgICAgIHByaW50TG9jYXRpb25BbmRP
cChvdXQsIGV4ZWMsIGxvY2F0aW9uLCBpdCwgIm9wX25ld19hcnJvd19mdW5jX2V4cCIpOworICAg
ICAgICAgICAgb3V0LnByaW50ZigiJXMsICVzLCBmJWQsICVzIiwgcmVnaXN0ZXJOYW1lKHIwKS5k
YXRhKCksIHJlZ2lzdGVyTmFtZShyMSkuZGF0YSgpLCBmMCwgcmVnaXN0ZXJOYW1lKHIyKS5kYXRh
KCkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBjYXNl
IG9wX25ld19mdW5jX2V4cDogewogICAgICAgICAgICAgaW50IHIwID0gKCsraXQpLT51Lm9wZXJh
bmQ7CiAgICAgICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUub3BlcmFuZDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5j
cHAKaW5kZXggNTkxOTk4YTI5ZWQyNmNiMGU1MWVmMzA1MDg2NzIxM2RjNDgzM2ZiNi4uNzQwY2Ez
MjVjNzkxNTkzNzEwYjI0ZDZhMTRjYzBiZTRlMTQ1YTFlZiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKQEAg
LTE3NTQsNiArMTc1NCwyMiBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5l
d0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVuY0V4cAogICAgIGluc3RydWN0
aW9ucygpLmFwcGVuZChpbmRleCk7CiAgICAgcmV0dXJuIHIwOwogfQorICAgIAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRv
cjo6ZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIHIwLCBGdW5jRXhw
ck5vZGUqIG4pCit7CisgICAgZW1pdFREWkNoZWNrKHRoaXNSZWdpc3RlcigpKTsKKyAgICBGdW5j
dGlvbkJvZHlOb2RlKiBmdW5jdGlvbiA9IG4tPmJvZHkoKTsKKyAgICB1bnNpZ25lZCBpbmRleCA9
IG1fY29kZUJsb2NrLT5hZGRGdW5jdGlvbkV4cHIobWFrZUZ1bmN0aW9uKGZ1bmN0aW9uKSk7Cisg
ICAgCisgICAgZW1pdE9wY29kZShvcF9uZXdfYXJyb3dfZnVuY19leHApOworICAgIGluc3RydWN0
aW9ucygpLmFwcGVuZChyMC0+aW5kZXgoKSk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHNj
b3BlUmVnaXN0ZXIoKS0+aW5kZXgoKSk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKGluZGV4
KTsKKyAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQodGhpc1JlZ2lzdGVyKCktPmluZGV4KCkpOwor
ICAgIHJldHVybiByMDsKK30KKyNlbmRpZgogCiBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRv
cjo6ZW1pdE5ld0RlZmF1bHRDb25zdHJ1Y3RvcihSZWdpc3RlcklEKiBkc3QsIENvbnN0cnVjdG9y
S2luZCBjb25zdHJ1Y3RvcktpbmQsIGNvbnN0IElkZW50aWZpZXImIG5hbWUpCiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9y
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9y
LmgKaW5kZXggMmU1OTAzOWQzYTQ4NGEzNDcyODE0NDBlZWY5YzFiODE5ZjcyNjVkYi4uMTc5MzVk
NDhlZjNiZjJiMmQxNDFkZmRjMWFjOTM3Njc5MzE0NDJhNSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaApAQCAtNDU2
LDYgKzQ1NiwxMCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5l
d0Z1bmN0aW9uSW50ZXJuYWwoUmVnaXN0ZXJJRCogZHN0LCB1bnNpZ25lZCBpbmRleCk7CiAgICAg
ICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogZHN0
LCBGdW5jRXhwck5vZGUqIGZ1bmMpOwogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3RGVmYXVs
dENvbnN0cnVjdG9yKFJlZ2lzdGVySUQqIGRzdCwgQ29uc3RydWN0b3JLaW5kLCBjb25zdCBJZGVu
dGlmaWVyJiBuYW1lKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
ICAgICBSZWdpc3RlcklEKiBlbWl0TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJ
RCosIEZ1bmNFeHByTm9kZSopOworICAgICAgICBSZWdpc3RlcklEKiBlbWl0VGhpc05vZGVCeXRl
Y29kZShSZWdpc3RlcklEKiwgSlNUZXh0UG9zaXRpb24pOworI2VuZGlmCiAgICAgICAgIFJlZ2lz
dGVySUQqIGVtaXROZXdSZWdFeHAoUmVnaXN0ZXJJRCogZHN0LCBSZWdFeHAqKTsKIAogICAgICAg
ICBSZWdpc3RlcklEKiBlbWl0TW92ZUVtcHR5VmFsdWUoUmVnaXN0ZXJJRCogZHN0KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApp
bmRleCAxMTQzMmFmMjNiYmI2MWU4MTU0MjUyM2I3YzExYWE3YmRjYjVmM2JmLi42MWFlZjE0MDhj
NDM2ZDc0YWIwOGY3YTJhMDY4Y2MyYjFmMDhjYzUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCkBAIC0yODMxLDYgKzI4MzEs
MTQgQEAgUmVnaXN0ZXJJRCogRnVuY0V4cHJOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5l
cmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCoKICAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXRO
ZXdGdW5jdGlvbkV4cHJlc3Npb24oZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0KSwgdGhp
cyk7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAgICAKKy8vIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBBcnJvd0Z1bmNFeHByTm9kZSAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1JlZ2lzdGVySUQqIEFycm93RnVuY0V4cHJOb2RlOjpl
bWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0
KQoreworICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9u
KGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHRoaXMpOworfQorI2VuZGlmCisgICAg
CiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0gQ2xhc3NEZWNsTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNl
ci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcApp
bmRleCA3OTQ1NjZmY2FkZjNjNDQ3MGJlMjhmMjFkMDQyZmVmODBiNmI5OGMxLi5kZWFmYjdjM2Nh
N2IzZTRiY2RlNTI5YmVjODE1ODY2Y2EzYzNjMTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcApAQCAtMzY3NSw2ICszNjc1LDE1IEBAIGJv
b2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQgbGltaXQpCiAgICAgICAgICAg
ICBORVhUX09QQ09ERShvcF9uZXdfZnVuY19leHApOwogICAgICAgICB9CiAKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBjYXNlIG9wX25ld19hcnJvd19mdW5j
X2V4cDogeworICAgICAgICAgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBleHByID0gbV9pbmxpbmVT
dGFja1RvcC0+bV9wcm9maWxlZEJsb2NrLT5mdW5jdGlvbkV4cHIoY3VycmVudEluc3RydWN0aW9u
WzNdLnUub3BlcmFuZCk7CisgICAgICAgICAgICBGcm96ZW5WYWx1ZSogZnJvemVuID0gbV9ncmFw
aC5mcmVlemVTdHJvbmcoZXhwcik7CisgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1
cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLAorICAgICAgICAgICAgICAgIGFkZFRvR3Jh
cGgoTmV3RnVuY3Rpb24sIE9wSW5mbyhmcm96ZW4pLCBnZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJl
bnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpKSkpOworICAgICAgICAgICAgTkVYVF9PUENPREUo
b3BfbmV3X2Fycm93X2Z1bmNfZXhwKTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIGNhc2Ug
b3BfdHlwZW9mOiB7CiAgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0
cnVjdGlvblsxXS51Lm9wZXJhbmQpLAogICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgoVHlwZU9m
LCBnZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpKSkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCmluZGV4
IDhlZjRkY2YxNTY4YmQ1ZWRhNGI4OTdlNzY4NGE4Y2JiOTFiZjZlMDguLjdmNDVhODMxZWE2ZTYy
NzNiYWNkMmUzZjgzMzZkZGM1NjJjOGNjOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKQEAgLTIwOCw2ICsyMDgsOSBAQCBDYXBhYmlsaXR5TGV2
ZWwgY2FwYWJpbGl0eUxldmVsKE9wY29kZUlEIG9wY29kZUlELCBDb2RlQmxvY2sqIGNvZGVCbG9j
aywgSW5zdHJ1YwogICAgIGNhc2Ugb3BfbmV3X2Z1bmM6CiAgICAgY2FzZSBvcF9uZXdfZnVuY19l
eHA6CiAgICAgY2FzZSBvcF9jcmVhdGVfbGV4aWNhbF9lbnZpcm9ubWVudDoKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhw
OgorI2VuZGlmCiAgICAgICAgIHJldHVybiBDYW5Db21waWxlQW5kSW5saW5lOwogCiAgICAgY2Fz
ZSBvcF9wdXRfdG9fc2NvcGU6IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCmluZGV4IDMwOTJmY2I0MDQzMjQzNWQ1YzhhNjQ2YzYzODE5
NDQyMTczNGMyYjAuLjc5YzliNDZmNzdiNWZhNzgyNzM2MTljZTY1MmY4ZTI3YTcwNjUxYTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNw
cApAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUgIkV4Y2VwdGlvbkhlbHBlcnMuaCIKICNpbmNs
dWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJKU0FycmF5LmgiCisjaW5jbHVkZSAiSlNB
cnJvd0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAi
SlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTTGV4aWNhbEVudmlyb25tZW50LmgiCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxsSGVscGVycy5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhlbHBlcnMuaAppbmRleCBmZDM0NGFkYmNhYmIxNWZiZDgx
NGVkNmZiZDQ3OGY3NGI2MTU3NjNjLi4wN2FjZDZkNTMyZDMyOGFmZGI3N2FjZjIwMTMzOTBlZjM5
ZGQ5ZDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxsSGVscGVy
cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxwZXJzLmgKQEAgLTI3
NCw2ICsyNzQsMTUgQEAgcHVibGljOgogICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMik7CiAg
ICAgICAgIGFkZENhbGxBcmd1bWVudChhcmczKTsKICAgICB9CisgICAgCisgICAgQUxXQVlTX0lO
TElORSB2b2lkIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShHUFJSZWcgYXJnMSwgVHJ1c3Rl
ZEltbVB0ciBhcmcyLCBHUFJSZWcgYXJnMykKKyAgICB7CisgICAgICAgIHJlc2V0Q2FsbEFyZ3Vt
ZW50cygpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0
ZXIpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMSk7CisgICAgICAgIGFkZENhbGxBcmd1
bWVudChhcmcyKTsKKyAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzMpOworICAgIH0KIAogICAg
IEFMV0FZU19JTkxJTkUgdm9pZCBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoR1BSUmVnIGFy
ZzEsIEdQUlJlZyBhcmcyLCBUcnVzdGVkSW1tMzIgYXJnMykKICAgICB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVC5jcHAKaW5kZXggNDJhODJkNDM5NDYxNjJmOTVmYTQ3NDY3NTY3MTM5ZDRhYWYyMzg2
Yi4uODNkNTA4Yjg3NjU5ZTNlZmY4YmMxODdlMDZkYWQ3MDExZjQ4MmVkMCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklULmNwcApAQCAtMjUzLDYgKzI1Myw3IEBAIHZvaWQgSklUOjpwcml2YXRlQ29t
cGlsZU1haW5QYXNzKCkKICAgICAgICAgREVGSU5FX09QKG9wX25ld19hcnJheV9idWZmZXIpCiAg
ICAgICAgIERFRklORV9PUChvcF9uZXdfZnVuYykKICAgICAgICAgREVGSU5FX09QKG9wX25ld19m
dW5jX2V4cCkKKyAgICAgICAgREVGSU5FX09QKG9wX25ld19hcnJvd19mdW5jX2V4cCkgCiAgICAg
ICAgIERFRklORV9PUChvcF9uZXdfb2JqZWN0KQogICAgICAgICBERUZJTkVfT1Aob3BfbmV3X3Jl
Z2V4cCkKICAgICAgICAgREVGSU5FX09QKG9wX25vdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCmlu
ZGV4IGVlNDg1NWRjMmU3OGI1NWFjYzQ1OTllYmRiOTlhMGQ4ZTA4YmU3Y2MuLmZhZTJmMjY5MTc3
MzVhMmJlNDMxNGI0ZjE2ZThjMWI4MDRkODk1YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklULmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaApA
QCAtNTIyLDYgKzUyMiw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2b2lkIGVtaXRfb3Bf
bmV3X2FycmF5X2J1ZmZlcihJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3
X2Z1bmMoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX25ld19mdW5jX2V4cChJ
bnN0cnVjdGlvbiopOworICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwKElu
c3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfb2JqZWN0KEluc3RydWN0aW9u
Kik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfcmVnZXhwKEluc3RydWN0aW9uKik7CiAgICAg
ICAgIHZvaWQgZW1pdF9vcF9ub3QoSW5zdHJ1Y3Rpb24qKTsKQEAgLTcwNSw2ICs3MDYsNyBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlv
bihKX0pJVE9wZXJhdGlvbl9FSkosIGludCwgR1BSUmVnLCBHUFJSZWcpOwogICAgICAgICBNYWNy
b0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2MsIEdQUlJl
Zyk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVy
YXRpb25fRUpzY0MsIGludCwgR1BSUmVnLCBKU0NlbGwqKTsKKyAgICAgICAgTWFjcm9Bc3NlbWJs
ZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0osIGludCwgR1BSUmVn
LCBKU0NlbGwqLCBHUFJSZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3Bl
cmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2NaLCBHUFJSZWcsIGludDMyX3QpOwogICAgICAgICBN
YWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2NaLCBp
bnQsIEdQUlJlZywgaW50MzJfdCk7CiAjaWYgVVNFKEpTVkFMVUU2NCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRJbmxpbmVzLmgKaW5kZXggOWVlMjRkMDkyMjhhOTg4MmVhNzY5NjI5ZDFhODdi
NmMzNGE4NjMzNC4uYTBlNDBjNWM2MWZlNjNlOTg2M2VkMjIzZWRmNWQ0NTFmMzE4YTc3NCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKQEAgLTI3MSw2ICsyNzEsMTIgQEAg
QUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oSl9K
SVRPcGVyYXRpb25fRUpzY0Mgb3BlcmEKICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRp
b25DaGVja1NldEpTVmFsdWVSZXN1bHQob3BlcmF0aW9uLCBkc3QpOwogfQogCitBTFdBWVNfSU5M
SU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlv
bl9FSnNjQ0ogb3BlcmF0aW9uLCBpbnQgZHN0LCBHUFJSZWcgYXJnMSwgSlNDZWxsKiBjZWxsLCBH
UFJSZWcgYXJnMikKK3sKKyAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgVHJ1
c3RlZEltbVB0cihjZWxsKSwgYXJnMik7CisgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0
aW9uQ2hlY2tTZXRKU1ZhbHVlUmVzdWx0KG9wZXJhdGlvbiwgZHN0KTsKK30KKyAgICAKIEFMV0FZ
U19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpfSklUT3Bl
cmF0aW9uX0VQIG9wZXJhdGlvbiwgaW50IGRzdCwgdm9pZCogcG9pbnRlcikKIHsKICAgICBzZXR1
cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihwb2ludGVyKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAppbmRleCBkM2Q1ODBlOWUyNjAwODUzYjY2
NDllMjg1OTE4Zjg1MzhiZTY5NDRjLi42Y2EwMDMwZjhjNGEyMTIyMWFhOTI4M2NjMjc2MTMwZDc5
ZTc0NDQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKQEAgLTk3
Miw2ICs5NzIsMjkgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2Z1bmNfZXhwKEluc3RydWN0aW9u
KiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25OZXdGdW5j
dGlvbiwgZHN0LCByZWdUMCwgZnVuY0V4cHIpOwogICAgIGRvbmUubGluayh0aGlzKTsKIH0KKyAg
ICAKK3ZvaWQgSklUOjplbWl0X29wX25ld19hcnJvd19mdW5jX2V4cChJbnN0cnVjdGlvbiogY3Vy
cmVudEluc3RydWN0aW9uKQoreworICAgIEp1bXAgbm90VW5kZWZpbmVkU2NvcGU7CisgICAgaW50
IGRzdCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7CisjaWYgVVNFKEpTVkFMVUU2
NCkKKyAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9w
ZXJhbmQsIHJlZ1QwKTsKKyAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVj
dGlvbls0XS51Lm9wZXJhbmQsIHJlZ1QxKTsKKyAgICBub3RVbmRlZmluZWRTY29wZSA9IGJyYW5j
aDY0KE5vdEVxdWFsLCByZWdUMCwgVHJ1c3RlZEltbTY0KEpTVmFsdWU6OmVuY29kZShqc1VuZGVm
aW5lZCgpKSkpOworICAgIHN0b3JlNjQoVHJ1c3RlZEltbTY0KEpTVmFsdWU6OmVuY29kZShqc1Vu
ZGVmaW5lZCgpKSksIEFkZHJlc3MoY2FsbEZyYW1lUmVnaXN0ZXIsIHNpemVvZihSZWdpc3Rlcikg
KiBkc3QpKTsKKyNlbHNlCisgICAgZW1pdExvYWRQYXlsb2FkKGN1cnJlbnRJbnN0cnVjdGlvblsy
XS51Lm9wZXJhbmQsIHJlZ1QwKTsKKyAgICBlbWl0TG9hZFBheWxvYWQoY3VycmVudEluc3RydWN0
aW9uWzRdLnUub3BlcmFuZCwgcmVnVDEpOworICAgIG5vdFVuZGVmaW5lZFNjb3BlID0gYnJhbmNo
MzIoTm90RXF1YWwsIHRhZ0ZvcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSwgVHJ1
c3RlZEltbTMyKEpTVmFsdWU6OlVuZGVmaW5lZFRhZykpOworICAgIGVtaXRTdG9yZShkc3QsIGpz
VW5kZWZpbmVkKCkpOworI2VuZGlmCisgICAgSnVtcCBkb25lID0ganVtcCgpOworICAgIG5vdFVu
ZGVmaW5lZFNjb3BlLmxpbmsodGhpcyk7CisgICAgCisgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBm
dW5jdGlvbiA9IG1fY29kZUJsb2NrLT5mdW5jdGlvbkV4cHIoY3VycmVudEluc3RydWN0aW9uWzNd
LnUub3BlcmFuZCk7CisgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9u
LCBkc3QsIHJlZ1QwLCBmdW5jdGlvbiwgcmVnVDEpOworICAgIGRvbmUubGluayh0aGlzKTsKK30K
IAogdm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2FycmF5KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1
Y3Rpb24pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJh
dGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcApp
bmRleCA1ZTkwZDQ4NmM1M2RiMmZiODdlMDg1Y2M3ODVkY2E0YzJmNmQ0YWQ3Li43MDA1ZTUzZmM1
Y2YzZmExNDI4ZmEzMzc0OTg0OTJhOWQzYmI2YWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTQyLDYgKzQyLDggQEAKICNpbmNsdWRlICJIb3N0
Q2FsbFJldHVyblZhbHVlLmgiCiAjaW5jbHVkZSAiSklULmgiCiAjaW5jbHVkZSAiSklUVG9ERkdE
ZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24u
aCIKKyNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgi
CiAjaW5jbHVkZSAiSlNDYXRjaFNjb3BlLmgiCiAjaW5jbHVkZSAiSlNGdW5jdGlvbk5hbWVTY29w
ZS5oIgpAQCAtOTUyLDYgKzk1NCwyMyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbk5ld0Z1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNTY29wZSogc2NvcAogICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBzdGF0aWNfY2FzdDxG
dW5jdGlvbkV4ZWN1dGFibGUqPihmdW5jdGlvbkV4ZWN1dGFibGUpLCBzY29wZSkpOwogfQogCitF
bmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24oRXhl
Y1N0YXRlKiBleGVjLCBKU1Njb3BlKiBzY29wZSwgSlNDZWxsKiBmdW5jdGlvbkV4ZWN1dGFibGUs
IEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSkKK3sKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIEFTU0VSVChmdW5jdGlvbkV4ZWN1dGFibGUtPmluaGVyaXRzKEZ1bmN0
aW9uRXhlY3V0YWJsZTo6aW5mbygpKSk7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBO
YXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CisgICAgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCA9IGV4ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKKyAgICBK
U0Z1bmN0aW9uKiBmdW5jID0gSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUodm0sIHNjb3BlLCBzdGF0
aWNfY2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihmdW5jdGlvbkV4ZWN1dGFibGUpLCBnbG9iYWxP
YmplY3QpOworICAgIAorICAgIEpTQXJyYXkqIGJvdW5kQXJncyA9IEpTQXJyYXk6OnRyeUNyZWF0
ZVVuaW5pdGlhbGl6ZWQodm0sIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGlu
Z1R5cGVEdXJpbmdBbGxvY2F0aW9uKEFycmF5V2l0aFVuZGVjaWRlZCksIDApOworICAgIAorICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNCb3VuZEZ1bmN0aW9uOjpjcmVhdGUodm0sIGdsb2Jh
bE9iamVjdCwgZnVuYywgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSksIGJvdW5kQXJncywgMCwg
IiIpKTsKKyNlbHNlCisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsK
KyNlbmRpZgorfQorICAgIAogSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVj
dChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogewogICAgIFZNKiB2bSA9
ICZleGVjLT52bSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRP
cGVyYXRpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaApp
bmRleCA0ZGVjZWY0ZWI4YjQ4YmI5MzdkNTRkMGI2MDRiOWI3NzY3YTRlYTYxLi4yMzYxNmVlMWRl
ZTMyZmZkZGRhZTUxODk2MDY5OTcwOTI2NmViY2VkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wZXJhdGlvbnMuaApAQCAtMTE2LDYgKzExNiw3IEBAIHR5cGVkZWYgRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQUCkoRXhlY1N0YXRlKiwgdm9p
ZCosIHZvCiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJh
dGlvbl9FUFMpKEV4ZWNTdGF0ZSosIHZvaWQqLCBzaXplX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNW
YWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVBjKShFeGVjU3RhdGUqLCBJbnN0
cnVjdGlvbiopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRP
cGVyYXRpb25fRUpzY0MpKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKTsKK3R5cGVkZWYg
RW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VKc2NDSikoRXhl
Y1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlKTsKIHR5cGVkZWYgRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTUykoRXhlY1N0YXRl
Kiwgc2l6ZV90LCBzaXplX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
ICgqSl9KSVRPcGVyYXRpb25fRVNzaUNJKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyos
IEpTQ2VsbCosIFN0cmluZ0ltcGwqKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJB
VElPTiAoKkpfSklUT3BlcmF0aW9uX0VTc2lKSSkoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1Yklu
Zm8qLCBFbmNvZGVkSlNWYWx1ZSwgU3RyaW5nSW1wbCopOwpAQCAtMjc4LDYgKzI3OSw3IEBAIEVu
Y29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXlXaXRoUHJvZmlsZShF
eGVjU3RhdGUqLCBBcnJheUFsbG9jCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbk5ld0FycmF5QnVmZmVyV2l0aFByb2ZpbGUoRXhlY1N0YXRlKiwgQXJyYXlBbGxvY2F0aW9u
UHJvZmlsZSosIGNvbnN0IEpTVmFsdWUqIHZhbHVlcywgaW50MzJfdCBzaXplKSBXVEZfSU5URVJO
QUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5V2l0aFNp
emVBbmRQcm9maWxlKEV4ZWNTdGF0ZSosIEFycmF5QWxsb2NhdGlvblByb2ZpbGUqLCBFbmNvZGVk
SlNWYWx1ZSBzaXplKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbk5ld0Z1bmN0aW9uKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKSBXVEZf
SU5URVJOQUw7CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Fycm93
RnVuY3Rpb24oRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlKSBX
VEZfSU5URVJOQUw7CiBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3T2JqZWN0KEV4
ZWNTdGF0ZSosIFN0cnVjdHVyZSopIFdURl9JTlRFUk5BTDsKIEVuY29kZWRKU1ZhbHVlIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uTmV3UmVnZXhwKEV4ZWNTdGF0ZSosIHZvaWQqKSBXVEZfSU5URVJO
QUw7CiB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFuZGxlV2F0Y2hkb2dUaW1lcihFeGVj
U3RhdGUqKSBXVEZfSU5URVJOQUw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTExJbnRTbG93UGF0aHMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xM
SW50U2xvd1BhdGhzLmNwcAppbmRleCAyN2I5ODY5OGZjYWRlOWI5N2JkMjdlNzMzNjM4MGFkZjNi
NTczYjM5Li4xYzYzMDY0M2NhYzdkNmNiNjVjMGViNjhiZDAyMWJhMDAzMGIwODNjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKQEAgLTM4LDYg
KzM4LDggQEAKICNpbmNsdWRlICJJbnRlcnByZXRlci5oIgogI2luY2x1ZGUgIkpJVC5oIgogI2lu
Y2x1ZGUgIkpJVEV4Y2VwdGlvbnMuaCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNp
bmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVu
dC5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCkBA
IC0xNzEsNiArMTczLDE1IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgTExJbnQgewogICAg
ICAgICBMTElOVF9SRVRVUk5fVFdPKHBjLCBfX3JjZl9leGVjKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAogICAgIH0gd2hpbGUgKGZhbHNlKQogCisgICAgCisjZGVmaW5lIExMSU5U
X0NBTENfUFJPUEVSVFlfRk9SX0ZVTkNfRVhQUigpICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICBMTElOVF9CRUdJTigpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIENvZGVCbG9jayogY29k
ZUJsb2NrID0gZXhlYy0+Y29kZUJsb2NrKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgSlNTY29wZSogc2NvcGUgPSBleGVjLT51bmNoZWNrZWRSKHBjWzJdLnUub3Bl
cmFuZCkuUmVnaXN0ZXI6OnNjb3BlKCk7ICAgICAgIFwKKyAgICBGdW5jdGlvbkV4ZWN1dGFibGUq
IGV4ZWN1dGFibGUgPSBjb2RlQmxvY2stPmZ1bmN0aW9uRXhwcihwY1szXS51Lm9wZXJhbmQpOyAg
XAorICAgIAorZW51bSBGdW5jdGlvbkV4cHJlc3Npb25UeXBlIHsgQXJyb3dGdW5jdGlvbkV4cHJl
c3Npb25UeXBlLCBDb21tb25GdW5jdGlvbkV4cHJlc3Npb25UeXBlfTsKKyAgICAKIGV4dGVybiAi
QyIgU2xvd1BhdGhSZXR1cm5UeXBlIGxsaW50X3RyYWNlX29wZXJhbmQoRXhlY1N0YXRlKiBleGVj
LCBJbnN0cnVjdGlvbiogcGMsIGludCBmcm9tV2hlcmUsIGludCBvcGVyYW5kKQogewogICAgIExM
SU5UX0JFR0lOKCk7CkBAIC0xMDAzLDE2ICsxMDE0LDM1IEBAIExMSU5UX1NMT1dfUEFUSF9ERUNM
KHNsb3dfcGF0aF9uZXdfZnVuYykKICNlbmRpZgogICAgIExMSU5UX1JFVFVSTihKU0Z1bmN0aW9u
OjpjcmVhdGUodm0sIGNvZGVCbG9jay0+ZnVuY3Rpb25EZWNsKHBjWzNdLnUub3BlcmFuZCksIHNj
b3BlKSk7CiB9Ci0KKyAgICAKIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfZnVu
Y19leHApCiB7Ci0gICAgTExJTlRfQkVHSU4oKTsKLSAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9
IGV4ZWMtPmNvZGVCbG9jaygpOwotICAgIEpTU2NvcGUqIHNjb3BlID0gZXhlYy0+dW5jaGVja2Vk
UihwY1syXS51Lm9wZXJhbmQpLlJlZ2lzdGVyOjpzY29wZSgpOwotICAgIEZ1bmN0aW9uRXhlY3V0
YWJsZSogZnVuY3Rpb24gPSBjb2RlQmxvY2stPmZ1bmN0aW9uRXhwcihwY1szXS51Lm9wZXJhbmQp
OwotICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGZ1bmN0aW9u
LCBzY29wZSk7CisgICAgTExJTlRfQ0FMQ19QUk9QRVJUWV9GT1JfRlVOQ19FWFBSKCk7CisKKyAg
ICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBleGVjdXRhYmxlLCBz
Y29wZSk7CisgICAgTExJTlRfUkVUVVJOKGZ1bmMpOworfQorCisKK0xMSU5UX1NMT1dfUEFUSF9E
RUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApCit7CisgICAgTExJTlRfQ0FMQ19QUk9Q
RVJUWV9GT1JfRlVOQ19FWFBSKCk7CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gTExJTlRfT1BfQyg0KS5qc1ZhbHVlKCk7Cisg
ICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGV4ZWMtPmNhbGxlZSgpLT5nbG9iYWxP
YmplY3QoKTsKICAgICAKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNBcnJvd0Z1bmN0aW9uOjpj
cmVhdGUodm0sIHNjb3BlLCBleGVjdXRhYmxlLCBnbG9iYWxPYmplY3QpOworICAgIAorICAgIEpT
QXJyYXkqIGJvdW5kQXJncyA9IEpTQXJyYXk6OnRyeUNyZWF0ZVVuaW5pdGlhbGl6ZWQodm0sIGds
b2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5cGVEdXJpbmdBbGxvY2F0aW9u
KEFycmF5V2l0aFVuZGVjaWRlZCksIDApOworICAgIAorICAgIGNvbnN0IFN0cmluZyBmdW5jV2l0
aG91dE5hbWUgPSAiIjsKKyAgICAKKyAgICBMTElOVF9SRVRVUk4oSlNCb3VuZEZ1bmN0aW9uOjpj
cmVhdGUodm0sIGdsb2JhbE9iamVjdCwgZnVuYywgdGhpc1ZhbHVlLCBib3VuZEFyZ3MsIDAsIGZ1
bmNXaXRob3V0TmFtZSkpOworI2Vsc2UKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNGdW5jdGlv
bjo6Y3JlYXRlKHZtLCBleGVjdXRhYmxlLCBzY29wZSk7CiAgICAgTExJTlRfUkVUVVJOKGZ1bmMp
OworI2VuZGlmCiB9CiAKIHN0YXRpYyBTbG93UGF0aFJldHVyblR5cGUgaGFuZGxlSG9zdENhbGwo
RXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBJbnN0cnVjdGlvbiogcGMsIEpTVmFsdWUgY2FsbGVlLCBD
b2RlU3BlY2lhbGl6YXRpb25LaW5kIGtpbmQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9MTEludFNsb3dQYXRocy5oCmluZGV4IDRiZjdkZWIwZmEwYjZjNjQzOGUzNmY5NjMyMGUyZjY2
OTczOWFmNjQuLmM3ZmFiOTY5MWMxOGI5Mzk1NmQwZWEyOWYzMzk1NjExOGM1ZTcxZWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCkBAIC05Niw2ICs5
Niw3IEBAIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfc3dpdGNoX2NoYXIp
OwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9zd2l0Y2hfc3RyaW5nKTsK
IExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfbmV3X2Z1bmMpOwogTExJTlRf
U0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuY19leHApOworTExJTlRfU0xP
V19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApOwogTExJTlRf
U0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9jYWxsKTsKIExMSU5UX1NMT1dfUEFUSF9I
SURERU5fREVDTChzbG93X3BhdGhfY29uc3RydWN0KTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5f
REVDTChzbG93X3BhdGhfc2l6ZV9mcmFtZV9mb3JfdmFyYXJncyk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20gYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KaW5kZXggZmRhOTFl
ZDU5OTBjYjZlNGYyY2I3OGFhNmE0YjJkOGMyYzBjNDcyYS4uODIyNzEzNDk4MmRiNzU4MWRjOGEy
MjVjZDQyMzI4MjAwOTJmYjczZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQpAQCAtMTE3MSw2ICsxMTcxLDEwIEBAIF9sbGlu
dF9vcF9uZXdfZnVuY19leHA6CiAgICAgY2FsbFNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfbmV3
X2Z1bmNfZXhwKQogICAgIGRpc3BhdGNoKDQpCiAKK19sbGludF9vcF9uZXdfYXJyb3dfZnVuY19l
eHA6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxTbG93UGF0aChfbGxpbnRfc2xvd19w
YXRoX25ld19hcnJvd19mdW5jX2V4cCkKKyAgICBkaXNwYXRjaCg1KQogCiBfbGxpbnRfb3BfY2Fs
bDoKICAgICB0cmFjZUV4ZWN1dGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL0FTVEJ1aWxkZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNU
QnVpbGRlci5oCmluZGV4IGI4ZmU0Yjg0ODVhMDk3Njg4ZjVjNjMwYmQ4YzNjOTY3NjRmYzQ2NDku
LmYyZmEzYmQ5YzE1ZjRlNDIyZWVjNmE3OWQ2NWYxZDcwODZjNjJjNzMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCkBAIC0zMTMsNiArMzEzLDE5IEBAIHB1Ymxp
YzoKICAgICAgICAgICAgIGluU3RyaWN0Q29udGV4dCwgY29uc3RydWN0b3JLaW5kKTsKICAgICB9
CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEV4cHJlc3Npb25O
b2RlKiBjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0
aW9uLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88QVNUQnVpbGRlcj4mIGluZm8pCisgICAgewor
ICAgICAgICBTb3VyY2VDb2RlIHNvdXJjZSA9IGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJv
d0Z1bmN0aW9uQm9keUV4cHJlc3Npb24KKyAgICAgICAgPyBtX3NvdXJjZUNvZGUtPnN1YkFycm93
RXhwcmVzc2lvbihpbmZvLmFycm93RnVuY3Rpb25PZmZzZXQsIGluZm8uY2xvc2VCcmFjZU9mZnNl
dCwgaW5mby5ib2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlTdGFydENvbHVtbikKKyAgICAgICAgOiBt
X3NvdXJjZUNvZGUtPnN1YkV4cHJlc3Npb24oaW5mby5vcGVuQnJhY2VPZmZzZXQsIGluZm8uY2xv
c2VCcmFjZU9mZnNldCwgaW5mby5ib2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlTdGFydENvbHVtbik7
CisKKyAgICAgICAgQXJyb3dGdW5jRXhwck5vZGUqIHJlc3VsdCA9IG5ldyAobV9wYXJzZXJBcmVu
YSkgQXJyb3dGdW5jRXhwck5vZGUobG9jYXRpb24sICppbmZvLm5hbWUsIGluZm8uYm9keSwgc291
cmNlLCBpbmZvLnBhcmFtZXRlcnMpOworICAgICAgICBpbmZvLmJvZHktPnNldExvYyhpbmZvLmJv
ZHlTdGFydExpbmUsIGluZm8uYm9keUVuZExpbmUsIGxvY2F0aW9uLnN0YXJ0T2Zmc2V0LCBsb2Nh
dGlvbi5saW5lU3RhcnRPZmZzZXQpOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKyNl
bmRpZgorCiAgICAgTkVWRVJfSU5MSU5FIFByb3BlcnR5Tm9kZSogY3JlYXRlR2V0dGVyT3JTZXR0
ZXJQcm9wZXJ0eShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBQcm9wZXJ0eU5vZGU6
OlR5cGUgdHlwZSwgYm9vbCwKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogbmFtZSwgY29uc3Qg
UGFyc2VyRnVuY3Rpb25JbmZvPEFTVEJ1aWxkZXI+JiBpbmZvLCBTdXBlckJpbmRpbmcgc3VwZXJC
aW5kaW5nKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
TGV4ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKaW5kZXgg
N2RlMTQyMjBiYmRhNzI3MzhiNTczYTRiOTc4OGNlMGIzMmNjN2NlMy4uNTQwZjlmZmI3YmI1MTgy
OWQ2N2RlZWRlYzVlNmE4ZWQ1MWNjNDQxNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9MZXhlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9M
ZXhlci5jcHAKQEAgLTE0MzAsNiArMTQzMCwxOCBAQCBib29sIExleGVyPFQ+OjpuZXh0VG9rZW5J
c0NvbG9uKCkKICAgICByZXR1cm4gY29kZSA8IG1fY29kZUVuZCAmJiAqY29kZSA9PSAnOic7CiB9
CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVu
YW1lIFQ+Cit2b2lkIExleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9uKEpTVG9rZW4qIHRva2VuUmVj
b3JkKQoreworICAgIEpTVG9rZW5EYXRhKiB0b2tlbkRhdGEgPSAmdG9rZW5SZWNvcmQtPm1fZGF0
YTsKKyAgICB0b2tlbkRhdGEtPmxpbmUgPSBsaW5lTnVtYmVyKCk7CisgICAgdG9rZW5EYXRhLT5v
ZmZzZXQgPSBjdXJyZW50T2Zmc2V0KCk7CisgICAgdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQg
PSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0KCk7CisgICAgQVNTRVJUKHRva2VuRGF0YS0+b2Zmc2V0
ID49IHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0KTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8
dHlwZW5hbWUgVD4KIEpTVG9rZW5UeXBlIExleGVyPFQ+OjpsZXgoSlNUb2tlbiogdG9rZW5SZWNv
cmQsIHVuc2lnbmVkIGxleGVyRmxhZ3MsIGJvb2wgc3RyaWN0TW9kZSkKIHsKQEAgLTE0OTMsNyAr
MTUwNSwxMiBAQCBzdGFydDoKICAgICAgICAgfQogICAgICAgICB0b2tlbiA9IEdUOwogICAgICAg
ICBicmVhazsKLSAgICBjYXNlIENoYXJhY3RlckVxdWFsOgorICAgIGNhc2UgQ2hhcmFjdGVyRXF1
YWw6IHsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB1aW50
MzJfdCBzYXZlZGxpbmVOdW1iZXIgPSB0b2tlbkRhdGEtPmxpbmU7CisgICAgICAgIHVpbnQzMl90
IHNhdmVkT2Zmc2V0ID0gY3VycmVudE9mZnNldCgpOworICAgICAgICB1aW50MzJfdCBzYXZlZExp
bmVTdGFydE9mZnNldCA9IGN1cnJlbnRMaW5lU3RhcnRPZmZzZXQoKTsKKyNlbmRpZgogICAgICAg
ICBzaGlmdCgpOwogICAgICAgICBpZiAobV9jdXJyZW50ID09ICc9JykgewogICAgICAgICAgICAg
c2hpZnQoKTsKQEAgLTE1MDUsOCArMTUyMiwyMiBAQCBzdGFydDoKICAgICAgICAgICAgIHRva2Vu
ID0gRVFFUTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnPicpIHsKKyAg
ICAgICAgICAgIHNoaWZ0KCk7CisgICAgICAgICAgICB0b2tlbiA9IEFSUk9XRlVOQ1RJT047CisK
KyAgICAgICAgICAgIHRva2VuRGF0YS0+bGluZSA9IHNhdmVkbGluZU51bWJlcjsKKyAgICAgICAg
ICAgIHRva2VuRGF0YS0+b2Zmc2V0ID0gc2F2ZWRPZmZzZXQ7CisgICAgICAgICAgICB0b2tlbkRh
dGEtPmxpbmVTdGFydE9mZnNldCA9IHNhdmVkTGluZVN0YXJ0T2Zmc2V0OworCisgICAgICAgICAg
ICBBU1NFUlQodG9rZW5EYXRhLT5vZmZzZXQgPj0gdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQp
OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICB0b2tlbiA9
IEVRVUFMOwogICAgICAgICBicmVhazsKKyAgICB9CiAgICAgY2FzZSBDaGFyYWN0ZXJMZXNzOgog
ICAgICAgICBzaGlmdCgpOwogICAgICAgICBpZiAobV9jdXJyZW50ID09ICchJyAmJiBwZWVrKDEp
ID09ICctJyAmJiBwZWVrKDIpID09ICctJykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9MZXhlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhl
ci5oCmluZGV4IDJkZjUyMTM5OTU3ODIwMDc4NWExNjZlMjJhNzMyNzVlMGVhNjMwNGQuLmNiM2Yy
NWY3YzA4ZjgyNTgxYWYyY2U4ZmE5OTk5N2ZhZGUwNzY2ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL0xleGVyLmgKQEAgLTg1LDYgKzg1LDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SXNS
ZXBhcnNpbmcoKSB7IG1faXNSZXBhcnNpbmcgPSB0cnVlOyB9CiAgICAgYm9vbCBpc1JlcGFyc2lu
ZygpIGNvbnN0IHsgcmV0dXJuIG1faXNSZXBhcnNpbmc7IH0KIAorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisgICAgdm9pZCBzZXRUb2tlblBvc2l0aW9uKEpTVG9rZW4qIHRv
a2VuUmVjb3JkKTsKKyNlbmRpZgogICAgIEpTVG9rZW5UeXBlIGxleChKU1Rva2VuKiwgdW5zaWdu
ZWQsIGJvb2wgc3RyaWN0TW9kZSk7CiAgICAgYm9vbCBuZXh0VG9rZW5Jc0NvbG9uKCk7CiAgICAg
aW50IGxpbmVOdW1iZXIoKSBjb25zdCB7IHJldHVybiBtX2xpbmVOdW1iZXI7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKaW5kZXggM2JkYWI2
MWE1MjJlMGNlMmMzMzk3ZjgwZjRmYTE4NGQxZDQyMTYwZS4uYjU4ZTFmZTFhZjkwZTY2MGIwODQy
ZWE3ZTk5ZjA3YWU2YWNiYjk1ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9Ob2RlQ29uc3RydWN0b3JzLmgKQEAgLTc4MSw2ICs3ODEsMTMgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgICAgIG1fYm9keS0+ZmluaXNoUGFyc2luZyhzb3VyY2UsIHBhcmFtZXRlciwgaWRlbnQs
IEZ1bmN0aW9uRXhwcmVzc2lvbik7CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICBpbmxpbmUgQXJyb3dGdW5jRXhwck5vZGU6OkFycm93RnVuY0V4cHJO
b2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IElkZW50aWZpZXImIGlk
ZW50LCBGdW5jdGlvbkJvZHlOb2RlKiBib2R5LCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIFBh
cmFtZXRlck5vZGUqIHBhcmFtZXRlcikKKyAgICAgICAgOiBGdW5jRXhwck5vZGUobG9jYXRpb24s
IGlkZW50LCBib2R5LCBzb3VyY2UsIHBhcmFtZXRlcikKKyAgICB7CisgICAgfQorI2VuZGlmCisg
ICAgCiAgICAgaW5saW5lIEZ1bmNEZWNsTm9kZTo6RnVuY0RlY2xOb2RlKGNvbnN0IEpTVG9rZW5M
b2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBGdW5jdGlvbkJvZHlO
b2RlKiBib2R5LCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIFBhcmFtZXRlck5vZGUqIHBhcmFt
ZXRlcikKICAgICAgICAgOiBTdGF0ZW1lbnROb2RlKGxvY2F0aW9uKQogICAgICAgICAsIG1fYm9k
eShib2R5KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCmluZGV4IDZiMzczMjljMDli
ZmM0MmJlY2NjM2NhYTk4MzU5N2MzNTQwMmI2YzkuLjViNzc0MWUxY2NjOGQ1MTVmZjE0YzE1MzE3
MmQ3YmRhMDUzZjU4NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
Tm9kZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKQEAgLTE1
OCw2ICsxNTgsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdmlydHVhbCBib29sIGlzRG90
QWNjZXNzb3JOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBi
b29sIGlzRGVjb25zdHJ1Y3Rpb25Ob2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAg
ICAgdmlydHVhbCBib29sIGlzRnVuY0V4cHJOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB2aXJ0dWFsIGJv
b2wgaXNBcnJvd0Z1bmNFeHByTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjZW5kaWYK
ICAgICAgICAgdmlydHVhbCBib29sIGlzQ29tbWFOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzU2ltcGxlQXJyYXkoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNBZGQoKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQpAQCAtMTY1Miw2ICsxNjU1LDE5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBGdW5j
dGlvbkJvZHlOb2RlKiBtX2JvZHk7CiAgICAgfTsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgY2xhc3MgQXJyb3dGdW5jRXhwck5vZGUgOiBwdWJsaWMgRnVuY0V4
cHJOb2RlIHsKKyAgICBwdWJsaWM6CisgICAgICAgIEFycm93RnVuY0V4cHJOb2RlKGNvbnN0IEpT
VG9rZW5Mb2NhdGlvbiYsIGNvbnN0IElkZW50aWZpZXImLCBGdW5jdGlvbkJvZHlOb2RlKiwgY29u
c3QgU291cmNlQ29kZSYsIFBhcmFtZXRlck5vZGUqID0gMCk7CisgICAgcHJpdmF0ZToKKyAgICAg
ICAgdmlydHVhbCBSZWdpc3RlcklEKiBlbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImLCBS
ZWdpc3RlcklEKiA9IDApIG92ZXJyaWRlOworICAgICAgICAKKyAgICAgICAgdmlydHVhbCBib29s
IGlzRnVuY0V4cHJOb2RlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKyAgICAg
ICAgCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Fycm93RnVuY0V4cHJOb2RlKCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQorICAgIH07CisjZW5kaWYKKwogI2lmIEVOQUJMRShFUzZf
Q0xBU1NfU1lOVEFYKQogICAgIGNsYXNzIENsYXNzRXhwck5vZGUgZmluYWwgOiBwdWJsaWMgRXhw
cmVzc2lvbk5vZGUgewogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFy
c2VyLmNwcAppbmRleCA2NDc4MjBhZDgzZGY0NDNkMzBkMDRjZmFlMjI1NGZhZWM5NzA3YWI1Li5i
ODI0ZGUzZWRlNzQyMmU5ODRiMGYxOTU0MThjZjk5ZjE5NTgzOTk5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCkBAIC0yNjQsNyArMjY0LDcgQEAgU3RyaW5nIFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUlubmVyKCkKICAgICBpZiAobV9sZXhlci0+aXNSZXBhcnNpbmco
KSkKICAgICAgICAgbV9zdGF0ZW1lbnREZXB0aC0tOwogICAgIFNjb3BlUmVmIHNjb3BlID0gY3Vy
cmVudFNjb3BlKCk7Ci0gICAgU291cmNlRWxlbWVudHMqIHNvdXJjZUVsZW1lbnRzID0gcGFyc2VT
b3VyY2VFbGVtZW50cyhjb250ZXh0LCBDaGVja0ZvclN0cmljdE1vZGUpOworICAgIFNvdXJjZUVs
ZW1lbnRzKiBzb3VyY2VFbGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgQ2hl
Y2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICBpZiAoIXNv
dXJjZUVsZW1lbnRzIHx8ICFjb25zdW1lKEVPRlRPSykpIHsKICAgICAgICAgaWYgKGhhc0Vycm9y
KCkpCiAgICAgICAgICAgICBwYXJzZUVycm9yID0gbV9lcnJvck1lc3NhZ2U7CkBAIC0zMzAsNyAr
MzMwLDcgQEAgYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6YWxsb3dBdXRvbWF0aWNTZW1pY29sb24o
KQogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgotdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291
cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZUVsZW1lbnRzTW9kZSBtb2Rl
KQordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNv
dXJjZUVsZW1lbnRzTW9kZSBtb2RlLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlw
ZSkKIHsKICAgICBjb25zdCB1bnNpZ25lZCBsZW5ndGhPZlVzZVN0cmljdExpdGVyYWwgPSAxMjsg
Ly8gInVzZSBzdHJpY3QiLmxlbmd0aAogICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzb3VyY2VFbGVt
ZW50cyA9IGNvbnRleHQuY3JlYXRlU291cmNlRWxlbWVudHMoKTsKQEAgLTMzOSw3ICszMzksNyBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VTb3VyY2VFbAogICAgIHVuc2lnbmVkIGRpcmVjdGl2ZUxpdGVyYWxM
ZW5ndGggPSAwOwogICAgIGF1dG8gc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CiAgICAg
Ym9vbCBoYXNTZXRTdHJpY3QgPSBmYWxzZTsKLSAgICB3aGlsZSAoVHJlZVN0YXRlbWVudCBzdGF0
ZW1lbnQgPSBwYXJzZVN0YXRlbWVudChjb250ZXh0LCBkaXJlY3RpdmUsICZkaXJlY3RpdmVMaXRl
cmFsTGVuZ3RoKSkgeworICAgIHdoaWxlIChUcmVlU3RhdGVtZW50IHN0YXRlbWVudCA9IHBhcnNl
U3RhdGVtZW50KGNvbnRleHQsIGRpcmVjdGl2ZSwgJmRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgsIGZ1
bmN0aW9uUGFyc2VUeXBlKSkgewogICAgICAgICBpZiAobW9kZSA9PSBDaGVja0ZvclN0cmljdE1v
ZGUgJiYgIXNlZW5Ob25EaXJlY3RpdmUpIHsKICAgICAgICAgICAgIGlmIChkaXJlY3RpdmUpIHsK
ICAgICAgICAgICAgICAgICAvLyAidXNlIHN0cmljdCIgbXVzdCBiZSB0aGUgZXhhY3QgbGl0ZXJh
bCB3aXRob3V0IGVzY2FwZSBzZXF1ZW5jZXMgb3IgbGluZSBjb250aW51YXRpb24uCkBAIC01NzEs
NiArNTcxLDMxIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlY29uc3RydWN0
aW9uUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6Y3JlYXRlCiAgICAgcmV0dXJuIGNvbnRleHQu
Y3JlYXRlQmluZGluZ0xvY2F0aW9uKHRva2VuLm1fbG9jYXRpb24sIG5hbWUsIHRva2VuLm1fc3Rh
cnRQb3NpdGlvbiwgdG9rZW4ubV9lbmRQb3NpdGlvbik7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0KQoreworICAg
IEFTU0VSVChtYXRjaChBUlJPV0ZVTkNUSU9OKSk7CisKKyAgICBKU1Rva2VuTG9jYXRpb24gbG9j
YXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2Vu
U3RhcnRQb3NpdGlvbigpOworICAgIEpTVGV4dFBvc2l0aW9uIGVuZCA9IHRva2VuRW5kUG9zaXRp
b24oKTsKKworICAgIG5leHQoKTsKKyAgICBUcmVlRXhwcmVzc2lvbiBleHByID0gcGFyc2VBcnJv
d0Z1bmN0aW9uRXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICBmYWlsSWZGYWxzZShleHByLCAiQ2Fu
bm90IHBhcnNlIHRoZSBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgZW5kID0gbGFz
dFRva2VuRW5kUG9zaXRpb24oKTsKKworICAgIGJvb2wgY29ycmVjdEFycm93RmluaXNoID0gaXNF
bmRPZkFycm93RnVuY3Rpb24oKSB8fCBtYXRjaChFT0ZUT0spOworICAgIGZhaWxJZkZhbHNlKGNv
cnJlY3RBcnJvd0ZpbmlzaCwgIkV4cGVjdGVkIGEgJzsnLCAnXScsICd9JywgJyknLCBvciAnLCcg
Zm9sbG93aW5nIGEgYXJyb3cgZnVuY3Rpb24gc3RhdGVtZW50Iik7CisKKyAgICBlbmQgPSB0b2tl
bkVuZFBvc2l0aW9uKCk7CisgICAgc2V0RW5kT2ZTdGF0ZW1lbnQoKTsKKworICAgIHJldHVybiBj
b250ZXh0LmNyZWF0ZVJldHVyblN0YXRlbWVudChsb2NhdGlvbiwgZXhwciwgc3RhcnQsIGVuZCk7
Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBQYXJzZXI8TGV4ZXJU
eXBlPjo6dHJ5UGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm5FeHByZXNzaW9uKFRyZWVCdWlsZGVy
JiBjb250ZXh0KQogewpAQCAtMTAxOCw3ICsxMDQzLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlQ2xhdXNlTGlzdCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTd2l0Y2hDbGF1
c2UKICAgICBUcmVlRXhwcmVzc2lvbiBjb25kaXRpb24gPSBwYXJzZUV4cHJlc3Npb24oY29udGV4
dCk7CiAgICAgZmFpbElmRmFsc2UoY29uZGl0aW9uLCAiQ2Fubm90IHBhcnNlIHN3aXRjaCBjbGF1
c2UiKTsKICAgICBjb25zdW1lT3JGYWlsKENPTE9OLCAiRXhwZWN0ZWQgYSAnOicgYWZ0ZXIgc3dp
dGNoIGNsYXVzZSBleHByZXNzaW9uIik7Ci0gICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN0YXRlbWVu
dHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUp
OworICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50
cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VU
eXBlKTsKICAgICBmYWlsSWZGYWxzZShzdGF0ZW1lbnRzLCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5
IG9mIGEgc3dpdGNoIGNsYXVzZSIpOwogICAgIFRyZWVDbGF1c2UgY2xhdXNlID0gY29udGV4dC5j
cmVhdGVDbGF1c2UoY29uZGl0aW9uLCBzdGF0ZW1lbnRzKTsKICAgICBjb250ZXh0LnNldFN0YXJ0
T2Zmc2V0KGNsYXVzZSwgc3RhcnRPZmZzZXQpOwpAQCAtMTAzMSw3ICsxMDU2LDcgQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhdXNlTGlzdCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VTd2l0Y2hDbGF1c2UKICAgICAgICAgVHJlZUV4cHJlc3Npb24gY29uZGl0aW9uID0gcGFy
c2VFeHByZXNzaW9uKGNvbnRleHQpOwogICAgICAgICBmYWlsSWZGYWxzZShjb25kaXRpb24sICJD
YW5ub3QgcGFyc2Ugc3dpdGNoIGNhc2UgZXhwcmVzc2lvbiIpOwogICAgICAgICBjb25zdW1lT3JG
YWlsKENPTE9OLCAiRXhwZWN0ZWQgYSAnOicgYWZ0ZXIgc3dpdGNoIGNsYXVzZSBleHByZXNzaW9u
Iik7Ci0gICAgICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VF
bGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICAgICAgVHJlZVNv
dXJjZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERv
bnRDaGVja0ZvclN0cmljdE1vZGUsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwogICAgICAg
ICBmYWlsSWZGYWxzZShzdGF0ZW1lbnRzLCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIGEgc3dp
dGNoIGNsYXVzZSIpOwogICAgICAgICBjbGF1c2UgPSBjb250ZXh0LmNyZWF0ZUNsYXVzZShjb25k
aXRpb24sIHN0YXRlbWVudHMpOwogICAgICAgICBjb250ZXh0LnNldFN0YXJ0T2Zmc2V0KGNsYXVz
ZSwgc3RhcnRPZmZzZXQpOwpAQCAtMTA0OCw3ICsxMDczLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlQ2xhdXNlIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN3aXRjaERlZmF1
bHRDbGEKICAgICB1bnNpZ25lZCBzdGFydE9mZnNldCA9IHRva2VuU3RhcnQoKTsKICAgICBuZXh0
KCk7CiAgICAgY29uc3VtZU9yRmFpbChDT0xPTiwgIkV4cGVjdGVkIGEgJzonIGFmdGVyIHN3aXRj
aCBkZWZhdWx0IGNsYXVzZSIpOwotICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRzID0g
cGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAg
ICBUcmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29u
dGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7
CiAgICAgZmFpbElmRmFsc2Uoc3RhdGVtZW50cywgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiBh
IHN3aXRjaCBkZWZhdWx0IGNsYXVzZSIpOwogICAgIFRyZWVDbGF1c2UgcmVzdWx0ID0gY29udGV4
dC5jcmVhdGVDbGF1c2UoMCwgc3RhdGVtZW50cyk7CiAgICAgY29udGV4dC5zZXRTdGFydE9mZnNl
dChyZXN1bHQsIHN0YXJ0T2Zmc2V0KTsKQEAgLTExMzMsNyArMTE1OCw3IEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VC
bG9ja1N0YXRlbWVuCiAgICAgICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KHJlc3VsdCwgZW5kT2Zm
c2V0KTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0gICAgVHJlZVNvdXJjZUVsZW1l
bnRzIHN1YnRyZWUgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0
cmljdE1vZGUpOworICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdWJ0cmVlID0gcGFyc2VTb3VyY2VF
bGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9u
UGFyc2VUeXBlKTsKICAgICBmYWlsSWZGYWxzZShzdWJ0cmVlLCAiQ2Fubm90IHBhcnNlIHRoZSBi
b2R5IG9mIHRoZSBibG9jayBzdGF0ZW1lbnQiKTsKICAgICBtYXRjaE9yRmFpbChDTE9TRUJSQUNF
LCAiRXhwZWN0ZWQgYSBjbG9zaW5nICd9JyBhdCB0aGUgZW5kIG9mIGEgYmxvY2sgc3RhdGVtZW50
Iik7CiAgICAgaW50IGVuZE9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKQEAgLTExNDUs
NyArMTE3MCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VCbG9ja1N0YXRlbWVuCiB9CiAKIHRlbXBsYXRlIDx0eXBl
bmFtZSBMZXhlclR5cGU+Ci10ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1l
bnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0
LCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJh
bExlbmd0aCkKK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0
IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3Ro
LCBGdW5jdGlvblBhcnNlVHlwZSB0eXBlKQogewogICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnRE
ZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7CiAgICAgbV9zdGF0ZW1lbnREZXB0aCsrOwpAQCAtMTE1
NCw2ICsxMTc5LDIzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVu
dCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgZmFpbElmU3RhY2tP
dmVyZmxvdygpOwogICAgIFRyZWVTdGF0ZW1lbnQgcmVzdWx0ID0gMDsKICAgICBib29sIHNob3Vs
ZFNldEVuZE9mZnNldCA9IHRydWU7CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgIGlmICh0eXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAg
c3dpdGNoIChtX3Rva2VuLm1fdHlwZSkgeworICAgICAgICBjYXNlIENMT1NFUEFSRU46CisgICAg
ICAgIGNhc2UgQ0xPU0VCUkFDS0VUOgorICAgICAgICBjYXNlIENPTU1BOgorICAgICAgICBjYXNl
IFNFTUlDT0xPTjogeworICAgICAgICAgICAgcmVzdWx0ID0gMDsKKyAgICAgICAgICAgIGNvbnRl
eHQuc2V0RW5kT2Zmc2V0KHJlc3VsdCwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5vZmZzZXQpOwor
ICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAgICAgfQorICAgICAgICBkZWZhdWx0Ogor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYKICAgICBzd2l0Y2gg
KG1fdG9rZW4ubV90eXBlKSB7CiAgICAgY2FzZSBPUEVOQlJBQ0U6CiAgICAgICAgIHJlc3VsdCA9
IHBhcnNlQmxvY2tTdGF0ZW1lbnQoY29udGV4dCk7CkBAIC0xMTk5LDYgKzEyNDEsMTEgQEAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZVN0YXRlbWVudChUcmUKICAgICBjYXNlIEJSRUFLOgogICAgICAgICByZXN1bHQgPSBw
YXJzZUJyZWFrU3RhdGVtZW50KGNvbnRleHQpOwogICAgICAgICBicmVhazsKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2UgQVJST1dGVU5DVElPTjoKKyAgICAg
ICAgcmVzdWx0ID0gcGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KGNvbnRleHQpOworICAgICAg
ICBicmVhazsKKyNlbmRpZgogICAgIGNhc2UgUkVUVVJOOgogICAgICAgICByZXN1bHQgPSBwYXJz
ZVJldHVyblN0YXRlbWVudChjb250ZXh0KTsKICAgICAgICAgYnJlYWs7CkBAIC0xMjYzLDIwICsx
MzEwLDM0IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUZvcm1hbFBhcmFtZXRl
ckxpc3QgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRm9yCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4
ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRnVuY3Rpb25Cb2R5IFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uQm9keSgKICAgICBUcmVlQnVpbGRlciYgY29u
dGV4dCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIAot
ICAgIGludCBwYXJhbWV0ZXJzU3RhcnQsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQp
CisgICAgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2lu
ZCwgRnVuY3Rpb25QYXJzZVR5cGUgcGFyc2VUeXBlKQogewogICAgIEpTVG9rZW5Mb2NhdGlvbiBz
dGFydExvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CiAgICAgdW5zaWduZWQgc3RhcnRDb2x1bW4g
PSB0b2tlbkNvbHVtbigpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgaWYgKHBhcnNlVHlwZSA9PSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAg
IG5leHQoKTsKKyAgICAgICAgaWYgKG1hdGNoKENMT1NFQlJBQ0UpKSB7CisgICAgICAgICAgICB1
bnNpZ25lZCBlbmRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOworICAgICAgICAgICAgcmV0dXJuIGNv
bnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0YXJ0TG9jYXRpb24sIHRva2VuTG9jYXRpb24oKSwg
c3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFt
ZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0cmljdE1vZGUoKSwgY29uc3RydWN0b3JLaW5kKTsK
KyAgICAgICAgfQorICAgIH0KKyNlbHNlCiAgICAgbmV4dCgpOwotCiAgICAgaWYgKG1hdGNoKENM
T1NFQlJBQ0UpKSB7CiAgICAgICAgIHVuc2lnbmVkIGVuZENvbHVtbiA9IHRva2VuQ29sdW1uKCk7
CiAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uQm9keShzdGFydExvY2F0aW9u
LCB0b2tlbkxvY2F0aW9uKCksIHN0YXJ0Q29sdW1uLCBlbmRDb2x1bW4sIGZ1bmN0aW9uS2V5d29y
ZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBzdHJpY3RNb2RlKCks
IGNvbnN0cnVjdG9yS2luZCk7CiAgICAgfQorI2VuZGlmCisKICAgICBEZXB0aE1hbmFnZXIgc3Rh
dGVtZW50RGVwdGgoJm1fc3RhdGVtZW50RGVwdGgpOwogICAgIG1fc3RhdGVtZW50RGVwdGggPSAw
OwogICAgIHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpGdW5jdGlvbkJvZHlCdWlsZGVyIGJvZHlCdWls
ZGVyKGNvbnN0X2Nhc3Q8Vk0qPihtX3ZtKSwgbV9sZXhlci5nZXQoKSk7Ci0gICAgZmFpbElmRmFs
c2UocGFyc2VTb3VyY2VFbGVtZW50cyhib2R5QnVpbGRlciwgQ2hlY2tGb3JTdHJpY3RNb2RlKSwg
IkNhbm5vdCBwYXJzZSBib2R5IG9mIHRoaXMgZnVuY3Rpb24iKTsKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGZhaWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMo
Ym9keUJ1aWxkZXIsIENoZWNrRm9yU3RyaWN0TW9kZSwgcGFyc2VUeXBlKSwgcGFyc2VUeXBlID09
IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUgPyAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBm
dW5jdGlvbiIgOiAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBhcnJvdyBmdW5jdGlvbiIpOwor
I2Vsc2UKKyAgICBmYWlsSWZGYWxzZShwYXJzZVNvdXJjZUVsZW1lbnRzKGJvZHlCdWlsZGVyLCBD
aGVja0ZvclN0cmljdE1vZGUsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpLCAiQ2Fubm90IHBh
cnNlIGJvZHkgb2YgdGhpcyBmdW5jdGlvbiIpOworI2VuZGlmCiAgICAgdW5zaWduZWQgZW5kQ29s
dW1uID0gdG9rZW5Db2x1bW4oKTsKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkJv
ZHkoc3RhcnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5kQ29sdW1u
LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFy
dCwgc3RyaWN0TW9kZSgpLCBjb25zdHJ1Y3RvcktpbmQpOwogfQpAQCAtMTMzNywyOCArMTM5OCw3
NiBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IGludCBQYXJzZXI8TGV4ZXJUeXBlPgogICAgIAogICAgIHJldHVybiBwYXJhbWV0ZXJz
U3RhcnQ7CiB9CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxh
dGUgPHR5cGVuYW1lIExleGVyVHlwZT4gdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBpbnQg
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvblBhcmFtdGVycyhUcmVlQnVpbGRl
ciYgY29udGV4dCwgRnVuY3Rpb25QYXJzZU1vZGUgbW9kZSwgUGFyc2VyRnVuY3Rpb25JbmZvPFRy
ZWVCdWlsZGVyPiYgaW5mbykKK3sKKyAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0ID0gbV90b2tlbi5t
X2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OworICAgIGlmICghbWF0Y2goSURFTlQpICYmICFtYXRjaChP
UEVOUEFSRU4pKSB7CisgICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdG
b3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSIpOworICAgICAgICBmYWlsV2l0aE1lc3NhZ2Uo
IkV4cGVjdGVkIGFuIGFycm93IGZ1bmN0aW9uIGlucHV0IHBhcmFtZXRlciIpOworICAgIH0gZWxz
ZSB7CisgICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgICAgICBjb25zdW1l
KE9QRU5QQVJFTik7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGlmICghbWF0Y2goQ0xPU0VQ
QVJFTikpIHsKKyAgICAgICAgICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBwYXJzZUZvcm1hbFBh
cmFtZXRlcnMoY29udGV4dCk7CisgICAgICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5wYXJh
bWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVu
Y3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAg
ICAgY29uc3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiRXhwZWN0ZWQgYSAnKScgb3IgYSAnLCcgYWZ0
ZXIgYSBwYXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgIGF1dG8gcGFyYW1ldGVyID0gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oY29udGV4dCwg
RGVjb25zdHJ1Y3RUb1BhcmFtZXRlcnMpOworICAgICAgICAgICAgZmFpbElmRmFsc2UocGFyYW1l
dGVyLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlciBwYXR0ZXJuIik7CisgICAgICAgICAgICBpbmZv
LnBhcmFtZXRlcnMgPSBjb250ZXh0LmNyZWF0ZUZvcm1hbFBhcmFtZXRlckxpc3QocGFyYW1ldGVy
KTsKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKGluZm8ucGFyYW1ldGVycywgIkNhbm5vdCBwYXJz
ZSBwYXJhbWV0ZXJzIGZvciB0aGlzICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7Cisg
ICAgICAgIH0KKyAgICB9CiAgICAgCisgICAgcmV0dXJuIHBhcmFtZXRlcnNTdGFydDsKK30KKyNl
bmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVl
QnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMgcmVxdWlyZW1lbnRzLCBGdW5j
dGlvblBhcnNlTW9kZSBtb2RlLAotICAgIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENv
bnN0cnVjdG9yS2luZCBvd25lckNsYXNzS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQ
YXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvKQorICAgIGJvb2wgbmFtZUlzSW5D
b250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCBvd25lckNsYXNzS2luZCwgaW50IGZ1bmN0
aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvLCBG
dW5jdGlvblBhcnNlVHlwZSBwYXJzZVR5cGUpCiB7CiAgICAgQXV0b1BvcFNjb3BlUmVmIGZ1bmN0
aW9uU2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOwogICAgIGZ1bmN0aW9uU2NvcGUtPnNldElzRnVu
Y3Rpb24oKTsKICAgICBpbnQgZnVuY3Rpb25OYW1lU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24u
c3RhcnRPZmZzZXQ7CiAgICAgY29uc3QgSWRlbnRpZmllciogbGFzdEZ1bmN0aW9uTmFtZSA9IG1f
bGFzdEZ1bmN0aW9uTmFtZTsKICAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBudWxscHRyOworICAg
IGludCBwYXJhbWV0ZXJzU3RhcnQ7CisgICAgYm9vbCBpc0NsYXNzQ29uc3RydWN0b3I7CiAgICAg
Ci0gICAgaW50IHBhcmFtZXRlcnNTdGFydCA9IHBhcnNlRnVuY3Rpb25QYXJhbXRlcnMoY29udGV4
dCwgcmVxdWlyZW1lbnRzLCBtb2RlLCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgZnVuY3Rpb25T
Y29wZSwgaW5mbyk7Ci0KLSAgICBtYXRjaE9yRmFpbChPUEVOQlJBQ0UsICJFeHBlY3RlZCBhbiBv
cGVuaW5nICd7JyBhdCB0aGUgc3RhcnQgb2YgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9k
ZSksICIgYm9keSIpOwotCi0gICAgLy8gQnl0ZWNvZGVHZW5lcmF0b3IgZW1pdHMgY29kZSB0byB0
aHJvdyBUeXBlRXJyb3Igd2hlbiBhIGNsYXNzIGNvbnN0cnVjdG9yIGlzICJjYWxsImVkLgotICAg
IC8vIFNldCBDb25zdHJ1Y3RvcktpbmQgdG8gTm9uZSBmb3Igbm9uLWNvbnN0cnVjdG9yIG1ldGhv
ZHMgb2YgY2xhc3Nlcy4KLSAgICBib29sIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IG1vZGUgPT0gTWV0
aG9kTW9kZSAmJiBpbmZvLm5hbWUgJiYgKmluZm8ubmFtZSA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVz
LT5jb25zdHJ1Y3RvcjsKLSAgICBpZiAobV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kICE9IENvbnN0
cnVjdG9yS2luZDo6Tm9uZSkgewotICAgICAgICBvd25lckNsYXNzS2luZCA9IG1fZGVmYXVsdENv
bnN0cnVjdG9yS2luZDsKLSAgICAgICAgaXNDbGFzc0NvbnN0cnVjdG9yID0gdHJ1ZTsKKyAgICBz
d2l0Y2ggKHBhcnNlVHlwZSkgeworICAgIGNhc2UgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZTog
eworICAgICAgICBwYXJhbWV0ZXJzU3RhcnQgPSBwYXJzZUZ1bmN0aW9uUGFyYW10ZXJzKGNvbnRl
eHQsIHJlcXVpcmVtZW50cywgbW9kZSwgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIGZ1bmN0aW9u
U2NvcGUsIGluZm8pOworICAgICAgICAgICAgCisgICAgICAgIG1hdGNoT3JGYWlsKE9QRU5CUkFD
RSwgIkV4cGVjdGVkIGFuIG9wZW5pbmcgJ3snIGF0IHRoZSBzdGFydCBvZiBhICIsIHN0cmluZ0Zv
ckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7CisgICAgICAgIAorICAgICAgICAvLyBCeXRl
Y29kZUdlbmVyYXRvciBlbWl0cyBjb2RlIHRvIHRocm93IFR5cGVFcnJvciB3aGVuIGEgY2xhc3Mg
Y29uc3RydWN0b3IgaXMgImNhbGwiZWQuCisgICAgICAgIC8vIFNldCBDb25zdHJ1Y3RvcktpbmQg
dG8gTm9uZSBmb3Igbm9uLWNvbnN0cnVjdG9yIG1ldGhvZHMgb2YgY2xhc3Nlcy4KKyAgICAgICAg
aXNDbGFzc0NvbnN0cnVjdG9yID0gbW9kZSA9PSBNZXRob2RNb2RlICYmIGluZm8ubmFtZSAmJiAq
aW5mby5uYW1lID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yOworICAgICAgICBp
ZiAobV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kICE9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSkgewor
ICAgICAgICAgICAgb3duZXJDbGFzc0tpbmQgPSBtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQ7Cisg
ICAgICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSB0cnVlOworICAgICAgICB9CisgICAgICAg
IGJyZWFrOwogICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
IGNhc2UgQXJyb3dGdW5jdGlvblBhcnNlVHlwZTogeworICAgICAgICBwYXJhbWV0ZXJzU3RhcnQg
PSBwYXJzZUFycm93RnVuY3Rpb25QYXJhbXRlcnMoY29udGV4dCwgbW9kZSwgaW5mbyk7CisgICAg
ICAgIAorICAgICAgICBtYXRjaE9yRmFpbChBUlJPV0ZVTkNUSU9OLCAiRXhwZWN0ZWQgYSAnPT4n
IGFmdGVyIGFycm93IGZ1bmN0aW9uIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAgICAgICBp
c0NsYXNzQ29uc3RydWN0b3IgPSBmYWxzZTsKKyAgICAgICAgCisgICAgICAgIGluZm8uYXJyb3dG
dW5jdGlvbk9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKKyAgICAgICAgYnJlYWs7Cisg
ICAgfQorI2VuZGlmCisgICAgfQorCiAgICAgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2lu
ZCA9IGlzQ2xhc3NDb25zdHJ1Y3RvciA/IG93bmVyQ2xhc3NLaW5kIDogQ29uc3RydWN0b3JLaW5k
OjpOb25lOwogCiAgICAgaW5mby5vcGVuQnJhY2VPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZz
ZXQ7CkBAIC0xMzkyLDggKzE1MDEsMTUgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBi
b29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAg
ICAgZmFpbElmRmFsc2UocG9wU2NvcGUoZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRz
RnJlZVZhcmlhYmxlSW5mbyksICJQYXJzZXIgZXJyb3IiKTsKICAgICAgICAgCiAgICAgICAgIGlu
Zm8uY2xvc2VCcmFjZU9mZnNldCA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VPZmZzZXQ7Ci0KLSAg
ICAgICAgbV90b2tlbiA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VUb2tlbigpOworICAgICAgICAK
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAocGFyc2VU
eXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpCisgICAgICAgICAgICBpbmZvLmZ1bmN0aW9u
Qm9keVR5cGUgPSBjYWNoZWRJbmZvLT5pc0JvZHlBcnJvd0V4cHJlc3Npb24gPyAgQXJyb3dGdW5j
dGlvbkJvZHlFeHByZXNzaW9uIDogQXJyb3dGdW5jdGlvbkJvZHlCbG9jazsKKyAgICAgICAgZWxz
ZQorICAgICAgICAgICAgaW5mby5mdW5jdGlvbkJvZHlUeXBlID0gU3RhbmRhcmRGdW5jdGlvbkJv
ZHlCbG9jazsKKyNlbmRpZgorICAgICAgICBtX3Rva2VuID0gY2FjaGVkSW5mby0+ZW5kRnVuY3Rp
b25Ub2tlbigpOworICAgICAgICAKICAgICAgICAgaWYgKGVuZENvbHVtbklzT25TdGFydExpbmUp
CiAgICAgICAgICAgICBtX3Rva2VuLm1fbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVu
dExpbmVTdGFydE9mZnNldDsKIApAQCAtMTQwMiwxMyArMTUxOCw0MyBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZv
KFRyZWVCdWlsZAogCiAgICAgICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KGluZm8uYm9keSwgbV9s
ZXhlci0+Y3VycmVudE9mZnNldCgpKTsKICAgICAgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKHBhcnNlVHlwZSAhPSBBcnJvd0Z1bmN0aW9uUGFy
c2VUeXBlIHx8IGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUJsb2Nr
KQorICAgICAgICAgICAgbmV4dCgpOworI2Vsc2UKICAgICAgICAgbmV4dCgpOworI2VuZGlmCiAg
ICAgICAgIGluZm8uYm9keUVuZExpbmUgPSBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmU7CiAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KKyAgICAKICAgICBtX2xhc3RGdW5jdGlvbk5hbWUg
PSBsYXN0RnVuY3Rpb25OYW1lOwogICAgIFBhcnNlclN0YXRlIG9sZFN0YXRlID0gc2F2ZVN0YXRl
KCk7Ci0gICAgaW5mby5ib2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25L
ZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVj
dG9yS2luZCk7CisgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgU2F2
ZVBvaW50IHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgICAgICBuZXh0KCk7Cisg
ICAgICAgIC8vIENoZWNrIGlmIGFycm93IGJvZHkgc3RhcnQgd2l0aCB7LiBJZiBpdCB0cnVlIGl0
IG1lYW4gdGhhdCBhcnJvdyBmdW5jdGlvbiBpcyBGYXQgYXJyb3cgZnVuY3Rpb24KKyAgICAgICAg
Ly8gYW5kIHdlIG5lZWQgdXNlIGNvbW1vbiBhcHByb2FjaCB0byBwYXJzZSBmdW5jdGlvbiBib2R5
CisgICAgICAgIGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9IG1hdGNoKE9QRU5CUkFDRSkgPyBBcnJv
d0Z1bmN0aW9uQm9keUJsb2NrIDogQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOworICAgIAor
ICAgICAgICBpZiAoaW5mby5mdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5Qmxv
Y2spIHsKKyAgICAgICAgICAgIGluZm8ub3BlbkJyYWNlT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEu
b2Zmc2V0OworICAgICAgICAgICAgaW5mby5ib2R5U3RhcnRMaW5lID0gdG9rZW5MaW5lKCk7Cisg
ICAgICAgICAgICBpbmZvLmJvZHlTdGFydENvbHVtbiA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldCAt
IG1fdG9rZW4ubV9kYXRhLmxpbmVTdGFydE9mZnNldDsKKyAgICAgICAgCisgICAgICAgICAgICBp
bmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFy
dCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kLCBT
dGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
IHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKKyAgICAgICAgICAgIGluZm8uYm9keSA9IHBh
cnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5h
bWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQsIEFycm93RnVuY3Rpb25Q
YXJzZVR5cGUpOworICAgICAgICB9CisgICAgfSBlbHNlCisgICAgICAgIGluZm8uYm9keSA9IHBh
cnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5h
bWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQsIFN0YW5kYXJkRnVuY3Rp
b25QYXJzZVR5cGUpOworI2Vsc2UKKyAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShj
b250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRl
cnNTdGFydCwgY29uc3RydWN0b3JLaW5kLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNl
bmRpZgorICAgIAogICAgIHJlc3RvcmVTdGF0ZShvbGRTdGF0ZSk7CiAgICAgZmFpbElmRmFsc2Uo
aW5mby5ib2R5LCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIHRoaXMgIiwgc3RyaW5nRm9yRnVu
Y3Rpb25Nb2RlKG1vZGUpKTsKICAgICBjb250ZXh0LnNldEVuZE9mZnNldChpbmZvLmJvZHksIG1f
bGV4ZXItPmN1cnJlbnRPZmZzZXQoKSk7CkBAIC0xNDM5LDE4ICsxNTg1LDMzIEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlv
bkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmUgPSBjbG9z
ZUJyYWNlTGluZTsKICAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJyYWNlT2Zmc2V0ID0gaW5mby5j
bG9zZUJyYWNlT2Zmc2V0OwogICAgICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VMaW5lU3RhcnRP
ZmZzZXQgPSBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0OworI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBh
cnNlVHlwZSkgeworICAgICAgICAgICAgcGFyYW1ldGVycy5pc0JvZHlBcnJvd0V4cHJlc3Npb24g
PSBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOwor
ICAgICAgICAgICAgcGFyYW1ldGVycy50b2tlblR5cGUgPSBtX3Rva2VuLm1fdHlwZTsKKyAgICAg
ICAgfQorI2VuZGlmCiAgICAgICAgIGZ1bmN0aW9uU2NvcGUtPmZpbGxQYXJhbWV0ZXJzRm9yU291
cmNlUHJvdmlkZXJDYWNoZShwYXJhbWV0ZXJzKTsKICAgICAgICAgbmV3SW5mbyA9IFNvdXJjZVBy
b3ZpZGVyQ2FjaGVJdGVtOjpjcmVhdGUocGFyYW1ldGVycyk7CiAKICAgICB9CiAgICAgCiAgICAg
ZmFpbElmRmFsc2UocG9wU2NvcGUoZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJl
ZVZhcmlhYmxlSW5mbyksICJQYXJzZXIgZXJyb3IiKTsKKyAgICAKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlmICgocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25Q
YXJzZVR5cGUgJiYgaW5mby5mdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5Qmxv
Y2spIHx8IHBhcnNlVHlwZSAhPSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIG1h
dGNoT3JGYWlsKENMT1NFQlJBQ0UsICJFeHBlY3RlZCBhIGNsb3NpbmcgJ30nIGFmdGVyIGEgIiwg
c3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgbmV4dCgpOwor
ICAgIH0gZWxzZQorICAgICAgICBmYWlsSWZGYWxzZShpc0VuZE9mQXJyb3dGdW5jdGlvbigpLCAi
RXhwZWN0ZWQgdGhlIGNsb3NpbmcgJzsnICcsJyAnXScgJyknICd9JyBhZnRlciBhcnJvdyBmdW5j
dGlvbiIpOworI2Vsc2UKICAgICBtYXRjaE9yRmFpbChDTE9TRUJSQUNFLCAiRXhwZWN0ZWQgYSBj
bG9zaW5nICd9JyBhZnRlciBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5
Iik7CisgICAgbmV4dCgpOworI2VuZGlmCiAgICAgCiAgICAgaWYgKG5ld0luZm8pCiAgICAgICAg
IG1fZnVuY3Rpb25DYWNoZS0+YWRkKGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBXVEY6Om1vdmUobmV3
SW5mbykpOwogICAgIAotICAgIG5leHQoKTsKICAgICBpbmZvLmJvZHlFbmRMaW5lID0gbV9sYXN0
VG9rZW5FbmRQb3NpdGlvbi5saW5lOwogICAgIHJldHVybiB0cnVlOwogfQpAQCAtMTQ2Myw3ICsx
NjI0LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGEKICAgICB1bnNpZ25lZCBmdW5jdGlvbktl
eXdvcmRTdGFydCA9IHRva2VuU3RhcnQoKTsKICAgICBuZXh0KCk7CiAgICAgUGFyc2VyRnVuY3Rp
b25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOwotICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9u
SW5mbyhjb250ZXh0LCBGdW5jdGlvbk5lZWRzTmFtZSwgRnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25z
dHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvKSksICJDYW5ub3Qg
cGFyc2UgdGhpcyBmdW5jdGlvbiIpOworICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5m
byhjb250ZXh0LCBGdW5jdGlvbk5lZWRzTmFtZSwgRnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1
Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvLCBTdGFuZGFyZEZ1bmN0
aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2UgdGhpcyBmdW5jdGlvbiIpOwogICAgIGZhaWxJ
ZkZhbHNlKGluZm8ubmFtZSwgIkZ1bmN0aW9uIHN0YXRlbWVudHMgbXVzdCBoYXZlIGEgbmFtZSIp
OwogICAgIGZhaWxJZkZhbHNlSWZTdHJpY3QoZGVjbGFyZVZhcmlhYmxlKGluZm8ubmFtZSksICJD
YW5ub3QgZGVjbGFyZSBhIGZ1bmN0aW9uIG5hbWVkICciLCBpbmZvLm5hbWUtPmltcGwoKSwgIicg
aW4gc3RyaWN0IG1vZGUiKTsKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jRGVjbFN0YXRl
bWVudChsb2NhdGlvbiwgaW5mbyk7CkBAIC0xNTU4LDcgKzE3MTksNyBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVDbGFzc0V4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlQ2xhc3MoVAogICAgICAgICAgICAgZmFpbElmRmFsc2UocHJvcGVydHksICJDYW5ub3QgcGFy
c2UgdGhpcyBtZXRob2QiKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIFBhcnNlckZ1
bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gbWV0aG9kSW5mbzsKLSAgICAgICAgICAgIGZhaWxJZkZh
bHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5lZWRzTmFtZSwgaXNTdGF0
aWNNZXRob2QgPyBGdW5jdGlvbk1vZGUgOiBNZXRob2RNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JL
aW5kLCBtZXRob2RTdGFydCwgbWV0aG9kSW5mbykpLCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9k
Iik7CisgICAgICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwg
RnVuY3Rpb25OZWVkc05hbWUsIGlzU3RhdGljTWV0aG9kID8gRnVuY3Rpb25Nb2RlIDogTWV0aG9k
TW9kZSwgZmFsc2UsIGNvbnN0cnVjdG9yS2luZCwgbWV0aG9kU3RhcnQsIG1ldGhvZEluZm8sIFN0
YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSB0aGlzIG1ldGhvZCIpOwog
ICAgICAgICAgICAgZmFpbElmRmFsc2UobWV0aG9kSW5mby5uYW1lLCAibWV0aG9kIG11c3QgaGF2
ZSBhIG5hbWUiKTsKICAgICAgICAgICAgIGZhaWxJZkZhbHNlKGRlY2xhcmVWYXJpYWJsZShtZXRo
b2RJbmZvLm5hbWUpLCAiQ2Fubm90IGRlY2xhcmUgYSBtZXRob2QgbmFtZWQgJyIsIG1ldGhvZElu
Zm8ubmFtZS0+aW1wbCgpLCAiJyIpOwogCkBAIC0xNzc0LDYgKzE5MzUsMTggQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUlmU3RhdGVtZW50KFQKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVJZlN0YXRlbWVudChpZkxv
Y2F0aW9uLCBjb25kaXRpb24sIHRydWVCbG9jaywgc3RhdGVtZW50U3RhY2subGFzdCgpLCBzdGFy
dCwgZW5kKTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1w
bGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVz
c2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7
CisgICAgVHJlZUV4cHJlc3Npb24gbm9kZSA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24oY29u
dGV4dCk7CisgICAgZmFpbElmRmFsc2Uobm9kZSwgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9uIik7
CisgICAgY29udGV4dC5zZXRFbmRPZmZzZXQobm9kZSwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5v
ZmZzZXQpOworICAgIHJldHVybiBub2RlOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFt
ZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9u
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQp
CiB7CkBAIC0xODIxLDYgKzE5OTQsNDEgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVy
PiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KICAgICAg
ICAgfQogICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CiAgICAgfQorCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBTYXZlUG9pbnQgc2F2ZUFycm93
RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgIGJvb2wgYXJyb3dGdW5jdGlv
bkVtcHR5TGlzdCA9IGZhbHNlOworICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAg
IG5leHQoKTsKKyAgICAgICAgaWYgKG1hdGNoKENMT1NFUEFSRU4pKSB7CisgICAgICAgICAgICBu
ZXh0KCk7CisKKyAgICAgICAgICAgIGlmIChtYXRjaChBUlJPV0ZVTkNUSU9OKSkKKyAgICAgICAg
ICAgICAgICBhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0ID0gdHJ1ZTsKKyAgICAgICAgfQorCisgICAg
ICAgIGlmICghYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCkKKyAgICAgICAgICAgIHJlc3RvcmVTYXZl
UG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAgfQorCisgICAgVHJlZUV4cHJlc3Np
b24gbGhzOworICAgIGlmICghYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCkgeworICAgICAgICBsaHMg
PSBwYXJzZUNvbmRpdGlvbmFsRXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICAgICAgZmFpbElmRmFs
c2UobGhzLCAiQ2FuGW5vdCBwYXJzZSBleHByZXNzaW9uIik7CisgICAgICAgIGlmIChpbml0aWFs
Tm9uTEhTQ291bnQgIT0gbV9ub25MSFNDb3VudCkgeworICAgICAgICAgICAgaWYgKG1fdG9rZW4u
bV90eXBlID49IEVRVUFMICYmIG1fdG9rZW4ubV90eXBlIDw9IE9SRVFVQUwpCisgICAgICAgICAg
ICAgICAgc2VtYW50aWNGYWlsKCJMZWZ0IGhhbmQgc2lkZSBvZiBvcGVyYXRvciAnIiwgZ2V0VG9r
ZW4oKSwgIicgbXVzdCBiZSBhIHJlZmVyZW5jZSIpOworCisgICAgICAgICAgICByZXR1cm4gbGhz
OworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJT04pKSB7Cisg
ICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAgICAg
IGxocyA9IHBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoY29udGV4dCk7CisgICAgICAgIHJldHVy
biBsaHM7CisgICAgfQorI2Vsc2UKICAgICBUcmVlRXhwcmVzc2lvbiBsaHMgPSBwYXJzZUNvbmRp
dGlvbmFsRXhwcmVzc2lvbihjb250ZXh0KTsKICAgICBmYWlsSWZGYWxzZShsaHMsICJDYW5ub3Qg
cGFyc2UgZXhwcmVzc2lvbiIpOwogICAgIGlmIChpbml0aWFsTm9uTEhTQ291bnQgIT0gbV9ub25M
SFNDb3VudCkgewpAQCAtMTgyOSw3ICsyMDM3LDggQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVC
dWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4K
IAogICAgICAgICByZXR1cm4gbGhzOwogICAgIH0KLSAgICAKKyNlbmRpZgorCiAgICAgaW50IGFz
c2lnbm1lbnRTdGFjayA9IDA7CiAgICAgT3BlcmF0b3Igb3A7CiAgICAgYm9vbCBoYWRBc3NpZ25t
ZW50ID0gZmFsc2U7CkBAIC0yMDYxLDcgKzIyNzAsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5TWV0
aAogICAgIEpTVG9rZW5Mb2NhdGlvbiBtZXRob2RMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwog
ICAgIHVuc2lnbmVkIG1ldGhvZFN0YXJ0ID0gdG9rZW5TdGFydCgpOwogICAgIFBhcnNlckZ1bmN0
aW9uSW5mbzxUcmVlQnVpbGRlcj4gbWV0aG9kSW5mbzsKLSAgICBmYWlsSWZGYWxzZSgocGFyc2VG
dW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgTWV0aG9kTW9kZSwg
ZmFsc2UsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgbWV0aG9kU3RhcnQsIG1ldGhvZEluZm8pKSwg
IkNhbm5vdCBwYXJzZSB0aGlzIG1ldGhvZCIpOworICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0
aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBNZXRob2RNb2RlLCBmYWxz
ZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBtZXRob2RTdGFydCwgbWV0aG9kSW5mbywgU3RhbmRh
cmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9kIik7CiAgICAg
bWV0aG9kSW5mby5uYW1lID0gbWV0aG9kTmFtZTsKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVG
dW5jdGlvbkV4cHIobWV0aG9kTG9jYXRpb24sIG1ldGhvZEluZm8pOwogfQpAQCAtMjA4MywxMCAr
MjI5MiwxMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VHZXR0ZXJTZXR0ZXIoVAogICAgIFBhcnNlckZ1bmN0aW9uSW5m
bzxUcmVlQnVpbGRlcj4gaW5mbzsKICAgICBpZiAodHlwZSA9PSBQcm9wZXJ0eU5vZGU6OkdldHRl
cikgewogICAgICAgICBmYWlsSWZGYWxzZShtYXRjaChPUEVOUEFSRU4pLCAiRXhwZWN0ZWQgYSBw
YXJhbWV0ZXIgbGlzdCBmb3IgZ2V0dGVyIGRlZmluaXRpb24iKTsKLSAgICAgICAgZmFpbElmRmFs
c2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEdl
dHRlck1vZGUsIGZhbHNlLCBjb25zdHJ1Y3RvcktpbmQsIGdldHRlck9yU2V0dGVyU3RhcnRPZmZz
ZXQsIGluZm8pKSwgIkNhbm5vdCBwYXJzZSBnZXR0ZXIgZGVmaW5pdGlvbiIpOworICAgICAgICBm
YWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVt
ZW50cywgR2V0dGVyTW9kZSwgZmFsc2UsIGNvbnN0cnVjdG9yS2luZCwgZ2V0dGVyT3JTZXR0ZXJT
dGFydE9mZnNldCwgaW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBh
cnNlIGdldHRlciBkZWZpbml0aW9uIik7CiAgICAgfSBlbHNlIHsKICAgICAgICAgZmFpbElmRmFs
c2UobWF0Y2goT1BFTlBBUkVOKSwgIkV4cGVjdGVkIGEgcGFyYW1ldGVyIGxpc3QgZm9yIHNldHRl
ciBkZWZpbml0aW9uIik7Ci0gICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhj
b250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBTZXR0ZXJNb2RlLCBmYWxzZSwgY29uc3Ry
dWN0b3JLaW5kLCBnZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBpbmZvKSksICJDYW5ub3QgcGFy
c2Ugc2V0dGVyIGRlZmluaXRpb24iKTsKKyAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rp
b25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIFNldHRlck1vZGUsIGZhbHNl
LCBjb25zdHJ1Y3RvcktpbmQsIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIGluZm8sIFN0YW5k
YXJkRnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSBzZXR0ZXIgZGVmaW5pdGlvbiIp
OwogICAgIH0KICAgICBpZiAoc3RyaW5nUHJvcGVydHlOYW1lKQogICAgICAgICByZXR1cm4gY29u
dGV4dC5jcmVhdGVHZXR0ZXJPclNldHRlclByb3BlcnR5KGxvY2F0aW9uLCB0eXBlLCBzdHJpY3Qs
IHN0cmluZ1Byb3BlcnR5TmFtZSwgaW5mbywgc3VwZXJCaW5kaW5nKTsKQEAgLTIyNzUsNyArMjQ4
NCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAgICAgIG5leHQoKTsKICAgICAgICAg
UGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOwogICAgICAgICBpbmZvLm5hbWUg
PSAmbV92bS0+cHJvcGVydHlOYW1lcy0+bnVsbElkZW50aWZpZXI7Ci0gICAgICAgIGZhaWxJZkZh
bHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBG
dW5jdGlvbk1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29y
ZFN0YXJ0LCBpbmZvKSksICJDYW5ub3QgcGFyc2UgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAg
ICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1Jl
cXVpcmVtZW50cywgRnVuY3Rpb25Nb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBm
dW5jdGlvbktleXdvcmRTdGFydCwgaW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAi
Q2Fubm90IHBhcnNlIGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsKICAgICAgICAgcmV0dXJuIGNvbnRl
eHQuY3JlYXRlRnVuY3Rpb25FeHByKGxvY2F0aW9uLCBpbmZvKTsKICAgICB9CiAjaWYgRU5BQkxF
KEVTNl9DTEFTU19TWU5UQVgpCkBAIC0yMzA0LDYgKzI1MTMsMjMgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmlt
YXJ5RXhwcmUKICAgICAgICAgcmV0dXJuIGNvbnRleHQudGhpc0V4cHIobG9jYXRpb24sIG1fdGhp
c1REWk1vZGUpOwogICAgIH0KICAgICBjYXNlIElERU5UOiB7CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9p
bnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0
b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBt
X3Rva2VuLm1fZGF0YS5pZGVudDsKKyAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRv
a2VuTG9jYXRpb24oKSk7CisgICAgICAgIG5leHQoKTsKKworICAgICAgICBpZiAoIW1hdGNoKEFS
Uk9XRlVOQ1RJT04pKSB7CisgICAgICAgICAgICBjdXJyZW50U2NvcGUoKS0+dXNlVmFyaWFibGUo
aWRlbnQsIG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmlkZW50KTsKKyAgICAgICAgICAg
IG1fbGFzdElkZW50aWZpZXIgPSBpZGVudDsKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0LmNy
ZWF0ZVJlc29sdmUobG9jYXRpb24sIGlkZW50LCBzdGFydCk7CisgICAgICAgIH0KKworICAgICAg
ICByZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICBUcmVl
RXhwcmVzc2lvbiBsaHMgPSBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKGNvbnRleHQpOworICAg
ICAgICByZXR1cm4gbGhzOworI2Vsc2UKICAgICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0
b2tlblN0YXJ0UG9zaXRpb24oKTsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBt
X3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRv
a2VuTG9jYXRpb24oKSk7CkBAIC0yMzExLDYgKzI1MzcsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlF
eHByZQogICAgICAgICBjdXJyZW50U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRlbnQsIG1fdm0tPnBy
b3BlcnR5TmFtZXMtPmV2YWwgPT0gKmlkZW50KTsKICAgICAgICAgbV9sYXN0SWRlbnRpZmllciA9
IGlkZW50OwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVSZXNvbHZlKGxvY2F0aW9uLCBp
ZGVudCwgc3RhcnQpOworI2VuZGlmCiAgICAgfQogICAgIGNhc2UgU1RSSU5HOiB7CiAgICAgICAg
IGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CkBAIC0yNDk4
LDYgKzI3MjUsMzIgQEAgZW5kTWVtYmVyRXhwcmVzc2lvbjoKICAgICByZXR1cm4gYmFzZTsKIH0K
IAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5h
bWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lv
biBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihUcmVlQnVpbGRl
ciYgY29udGV4dCkKK3sKKyAgICBUcmVlRXhwcmVzc2lvbiBiYXNlID0gMDsKKyAgICBKU1RleHRQ
b3NpdGlvbiBleHByZXNzaW9uU3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICBpbnQg
bmV3Q291bnQgPSAwOworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbjsKKworICAgIGlmICht
YXRjaChJREVOVCkgfHwgbWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICB1bnNpZ25lZCBmdW5j
dGlvbktleXdvcmRTdGFydCA9IHRva2VuU3RhcnQoKTsKKyAgICAgICAgbG9jYXRpb24gPSB0b2tl
bkxvY2F0aW9uKCk7CisgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gaW5m
bzsKKyAgICAgICAgaW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlm
aWVyOworICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVu
Y3Rpb25Ob1JlcXVpcmVtZW50cywgRnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6
Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvLCBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBl
KSksICJDYW5ub3QgcGFyc2UgYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgICAgICBi
YXNlID0gY29udGV4dC5jcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihsb2NhdGlvbiwgaW5mbyk7Cisg
ICAgfSBlbHNlCisgICAgICAgIGJhc2UgPSBwYXJzZVByaW1hcnlFeHByZXNzaW9uKGNvbnRleHQp
OworCisgICAgZmFpbElmRmFsc2UoYmFzZSwgIkNhbm5vdCBwYXJzZSBiYXNlIGV4cHJlc3Npb24i
KTsKKyAgICB3aGlsZSAobmV3Q291bnQtLSkKKyAgICAgICAgYmFzZSA9IGNvbnRleHQuY3JlYXRl
TmV3RXhwcihsb2NhdGlvbiwgYmFzZSwgZXhwcmVzc2lvblN0YXJ0LCBsYXN0VG9rZW5FbmRQb3Np
dGlvbigpKTsKKyAgICByZXR1cm4gYmFzZTsKK30KKyNlbmRpZgorCiBzdGF0aWMgY29uc3QgY2hh
ciogb3BlcmF0b3JTdHJpbmcoYm9vbCBwcmVmaXgsIHVuc2lnbmVkIHRvaykKIHsKICAgICBzd2l0
Y2ggKHRvaykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJz
ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKaW5kZXggNzhiYWZm
YTBlMTc3M2M4MjA2OThiOTIwM2YwZjZhM2Q3YWQzMmVjNC4uNzA3MGJiMmI2ODM0YzAwNDgzY2E1
YTJlY2U1OTFiYmM2NmNjOGM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9QYXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5o
CkBAIC04MCw2ICs4MCwxMSBAQCBjbGFzcyBTb3VyY2VDb2RlOwogQ09NUElMRV9BU1NFUlQoTGFz
dFVudGFnZ2VkVG9rZW4gPCA2NCwgTGVzc1RoYW42NFVudGFnZ2VkVG9rZW5zKTsKIAogZW51bSBT
b3VyY2VFbGVtZW50c01vZGUgeyBDaGVja0ZvclN0cmljdE1vZGUsIERvbnRDaGVja0ZvclN0cmlj
dE1vZGUgfTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorZW51bSBGdW5j
dGlvblBhcnNlVHlwZSB7IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUsIEFycm93RnVuY3Rpb25Q
YXJzZVR5cGUgfTsKKyNlbHNlCitlbnVtIEZ1bmN0aW9uUGFyc2VUeXBlIHsgU3RhbmRhcmRGdW5j
dGlvblBhcnNlVHlwZX07CisjZW5kaWYKIGVudW0gRnVuY3Rpb25SZXF1aXJlbWVudHMgeyBGdW5j
dGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlvbk5lZWRzTmFtZSB9OwogZW51bSBGdW5jdGlvblBh
cnNlTW9kZSB7CiAgICAgRnVuY3Rpb25Nb2RlLApAQCAtNjE4LDYgKzYyMywxMyBAQCBwcml2YXRl
OgogICAgICAgICByZXR1cm4gbV90b2tlbi5tX3R5cGUgPT0gSURFTlQgJiYgKm1fdG9rZW4ubV9k
YXRhLmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPm9mOwogICAgIH0KICAgICAKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEFMV0FZU19JTkxJTkUgYm9vbCBp
c0VuZE9mQXJyb3dGdW5jdGlvbigpCisgICAgeworICAgICAgICByZXR1cm4gbWF0Y2goU0VNSUNP
TE9OKSB8fCBtYXRjaChDT01NQSkgfHwgbWF0Y2goQ0xPU0VQQVJFTikgfHwgbWF0Y2goQ0xPU0VC
UkFDRSkgfHwgbWF0Y2goQ0xPU0VCUkFDS0VUKTsKKyAgICB9CisjZW5kaWYKKyAgICAKICAgICBB
TFdBWVNfSU5MSU5FIHVuc2lnbmVkIHRva2VuU3RhcnQoKQogICAgIHsKICAgICAgICAgcmV0dXJu
IG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKQEAgLTcyMSw5ICs3MzMsOSBAQCBwcml2
YXRlOgogICAgICAgICB9CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIAotICAg
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNlU291
cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUpOwotICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0YXRlbWVudChUcmVl
QnVpbGRlciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3Rp
dmVMaXRlcmFsTGVuZ3RoID0gMCk7CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291
cmNlRWxlbWVudHNNb2RlLCBGdW5jdGlvblBhcnNlVHlwZSk7CisgICAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiwg
Y29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxM
ZW5ndGggPSAwLCBGdW5jdGlvblBhcnNlVHlwZSB0eXBlID0gU3RhbmRhcmRGdW5jdGlvblBhcnNl
VHlwZSk7CiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAgICAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQ2xhc3NEZWNsYXJhdGlvbihUcmVlQnVp
bGRlciYpOwogI2VuZGlmCkBAIC03NjIsMTkgKzc3NCwyNyBAQCBwcml2YXRlOgogICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IHBhcnNlUHJvcGVydHkoVHJlZUJ1
aWxkZXImLCBib29sIHN0cmljdCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlRXhwcmVzc2lvbiBwYXJzZVByb3BlcnR5TWV0aG9kKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBj
b25zdCBJZGVudGlmaWVyKiBtZXRob2ROYW1lKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVQcm9wZXJ0eSBwYXJzZUdldHRlclNldHRlcihUcmVlQnVpbGRlciYsIGJvb2wg
c3RyaWN0LCBQcm9wZXJ0eU5vZGU6OlR5cGUsIHVuc2lnbmVkIGdldHRlck9yU2V0dGVyU3RhcnRP
ZmZzZXQsIENvbnN0cnVjdG9yS2luZCA9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJCaW5k
aW5nID0gU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQpOwotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rpb25Cb2R5
KFRyZWVCdWlsZGVyJiwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1l
U3RhcnQsIGludCBwYXJhbWV0ZXJzU3RhcnQsIENvbnN0cnVjdG9yS2luZCk7CisgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJvZHkgcGFy
c2VGdW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGlu
dCBmdW5jdGlvbk5hbWVTdGFydCwgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5k
LCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSk7CiAgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0IHBh
cnNlRm9ybWFsUGFyYW1ldGVycyhUcmVlQnVpbGRlciYpOwogICAgIGVudW0gVmFyRGVjbGFyYXRp
b25MaXN0Q29udGV4dCB7IEZvckxvb3BDb250ZXh0LCBWYXJEZWNsYXJhdGlvbkNvbnRleHQgfTsK
ICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlVmFy
RGVjbGFyYXRpb25MaXN0KFRyZWVCdWlsZGVyJiwgaW50JiBkZWNsYXJhdGlvbnMsIFRyZWVEZWNv
bnN0cnVjdGlvblBhdHRlcm4mIGxhc3RQYXR0ZXJuLCBUcmVlRXhwcmVzc2lvbiYgbGFzdEluaXRp
YWxpemVyLCBKU1RleHRQb3NpdGlvbiYgaWRlbnRTdGFydCwgSlNUZXh0UG9zaXRpb24mIGluaXRT
dGFydCwgSlNUZXh0UG9zaXRpb24mIGluaXRFbmQsIFZhckRlY2xhcmF0aW9uTGlzdENvbnRleHQp
OwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVDb25z
dERlY2xMaXN0IHBhcnNlQ29uc3REZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImKTsKIAorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRy
ZWVCdWlsZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVt
ZW50IHBhcnNlQXJyb3dGdW5jdGlvblN0YXRlbWVudChUcmVlQnVpbGRlciYpOworICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VBcnJvd0Z1bmN0aW9u
V3JhcHBlcihUcmVlQnVpbGRlciYpOworI2VuZGlmCisKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIGNyZWF0ZUJp
bmRpbmdQYXR0ZXJuKFRyZWVCdWlsZGVyJiwgRGVjb25zdHJ1Y3Rpb25LaW5kLCBjb25zdCBJZGVu
dGlmaWVyJiwgaW50IGRlcHRoLCBKU1Rva2VuKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIHBhcnNlRGVjb25z
dHJ1Y3Rpb25QYXR0ZXJuKFRyZWVCdWlsZGVyJiwgRGVjb25zdHJ1Y3Rpb25LaW5kLCBpbnQgZGVw
dGggPSAwKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBU
cmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIHRyeVBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuRXhw
cmVzc2lvbihUcmVlQnVpbGRlciYpOwotCi0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBORVZFUl9JTkxJTkUgYm9vbCBwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYsIEZ1bmN0
aW9uUmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSwgYm9vbCBuYW1lSXNJbkNvbnRhaW5p
bmdTY29wZSwgQ29uc3RydWN0b3JLaW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNl
ckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mKTsKLSAgICAKICAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBpbnQgcGFyc2VGdW5jdGlvblBhcmFtdGVycyhUcmVl
QnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSwgYm9vbCwg
QXV0b1BvcFNjb3BlUmVmJiwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYpOworI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgaW50IHBhcnNlQXJyb3dGdW5jdGlvblBhcmFtdGVycyhU
cmVlQnVpbGRlciYsIEZ1bmN0aW9uUGFyc2VNb2RlLCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1
aWxkZXI+Jik7CisjZW5kaWYKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVS
X0lOTElORSBib29sIHBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1
aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlLCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3Bl
LCBDb25zdHJ1Y3RvcktpbmQsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rp
b25JbmZvPFRyZWVCdWlsZGVyPiYsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBl
KTsKKyAgICAKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlQ2xhc3NFeHByZXNzaW9uIHBhcnNlQ2xh
c3MoVHJlZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgUGFyc2VyQ2xhc3NJbmZvPFRy
ZWVCdWlsZGVyPiYpOwogI2VuZGlmCkBAIC03OTEsNiArODExLDE0IEBAIHByaXZhdGU6CiAgICAg
ICAgIHJldHVybiBhbGxvd0F1dG9tYXRpY1NlbWljb2xvbigpOwogICAgIH0KICAgICAKKworI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdm9pZCBzZXRFbmRPZlN0YXRl
bWVudCgpCisgICAgeworICAgICAgICBtX2xleGVyLT5zZXRUb2tlblBvc2l0aW9uKCZtX3Rva2Vu
KTsKKyAgICB9CisjZW5kaWYKKwogICAgIGJvb2wgY2FuUmVjdXJzZSgpCiAgICAgewogICAgICAg
ICByZXR1cm4gbV92bS0+aXNTYWZlVG9SZWN1cnNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaAppbmRleCA2YjczNjI4MmUyZDJhODFi
YzYzZGMyZjNjMGU1YWU4Yzg1OGNkMWY4Li4wY2RlMGM2N2E5ZGUwZWRmMzQxNDRlMzI3OTFlNWU5
MGI0YTIxNTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNl
ckZ1bmN0aW9uSW5mby5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2Vy
RnVuY3Rpb25JbmZvLmgKQEAgLTI4LDYgKzI4LDEwIEBACiAKIG5hbWVzcGFjZSBKU0MgewogCisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK2VudW0gRnVuY3Rpb25Cb2R5VHlw
ZSB7IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiwgQXJyb3dGdW5jdGlvbkJvZHlCbG9jaywg
U3RhbmRhcmRGdW5jdGlvbkJvZHlCbG9jayB9OworI2VuZGlmCisKIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4KIHN0cnVjdCBQYXJzZXJGdW5jdGlvbkluZm8gewogICAgIGNvbnN0IElkZW50
aWZpZXIqIG5hbWUgPSAwOwpAQCAtMzgsNiArNDIsMTEgQEAgc3RydWN0IFBhcnNlckZ1bmN0aW9u
SW5mbyB7CiAgICAgaW50IGJvZHlTdGFydExpbmUgPSAwOwogICAgIGludCBib2R5RW5kTGluZSA9
IDA7CiAgICAgdW5zaWduZWQgYm9keVN0YXJ0Q29sdW1uID0gMDsKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHVuc2lnbmVkIGFycm93RnVuY3Rpb25PZmZzZXQgPSAw
OworICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uID0gZmFsc2U7CisgICAgRnVuY3Rpb25Cb2R5VHlw
ZSBmdW5jdGlvbkJvZHlUeXBlID0gU3RhbmRhcmRGdW5jdGlvbkJvZHlCbG9jazsKKyNlbmRpZgog
fTsKIAogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKaW5kZXggODMyOWY4MmE5YjJmZjkxNWQxZjI0MWMxZjhi
ZmZhZDQyNDdhNWYwYi4uYzhiMTY2ZTBlYWQ3ZDJkYTcxOWU3NmM0YTJmMDlhZmYxZDc0ZDdhYyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCkBAIC03NSw2
ICs3NSw5IEBAIGVudW0gSlNUb2tlblR5cGUgewogICAgIEZJTkFMTFksCiAgICAgREVCVUdHRVIs
CiAgICAgRUxTRSwKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEFS
Uk9XRlVOQ1RJT04sCisjZW5kaWYKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICBD
TEFTU1RPS0VOLAogICAgIEVYVEVORFMsCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1NvdXJjZUNvZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291
cmNlQ29kZS5oCmluZGV4IDczZDIzZGI4MmFmMjVlYTQ2YzBmODk3ODVjZTQyNGJiNjBlYjYxYTcu
LjkyOGU3MTJhOTBlMzQ4OTg4YmMzNTU0ODk4NzViMDkwNzc2NzU1MjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCkBAIC0xMDUsNiArMTA1LDkgQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgICAgIAogICAgICAgICBTb3VyY2VDb2RlIHN1YkV4cHJlc3Npb24odW5z
aWduZWQgb3BlbkJyYWNlLCB1bnNpZ25lZCBjbG9zZUJyYWNlLCBpbnQgZmlyc3RMaW5lLCBpbnQg
c3RhcnRDb2x1bW4pOwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICAgICAgU291cmNlQ29kZSBzdWJBcnJvd0V4cHJlc3Npb24odW5zaWduZWQgc3RhcnRBcnJvd0Z1
bmN0aW9uLCB1bnNpZ25lZCBlbmRBcnJvd0Z1bmN0aW9uLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3Rh
cnRDb2x1bW4pOworI2VuZGlmCiAgICAgcHJpdmF0ZToKICAgICAgICAgUmVmUHRyPFNvdXJjZVBy
b3ZpZGVyPiBtX3Byb3ZpZGVyOwogICAgICAgICBpbnQgbV9zdGFydENoYXI7CkBAIC0xMTgsNiAr
MTIxLDE3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4gU291cmNlQ29kZShTdHJp
bmdTb3VyY2VQcm92aWRlcjo6Y3JlYXRlKHNvdXJjZSwgdXJsLCBzdGFydFBvc2l0aW9uKSwgc3Rh
cnRQb3NpdGlvbi5tX2xpbmUub25lQmFzZWRJbnQoKSwgc3RhcnRQb3NpdGlvbi5tX2NvbHVtbi5v
bmVCYXNlZEludCgpKTsKICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgIGlubGluZSBTb3VyY2VDb2RlIFNvdXJjZUNvZGU6OnN1YkFycm93RXhwcmVzc2lv
bih1bnNpZ25lZCBzdGFydEFycm93RnVuY3Rpb24sIHVuc2lnbmVkIGVuZEFycm93RnVuY3Rpb24s
IGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbikKKyAgICB7CisgICAgICAgIEFTU0VSVChw
cm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFycm93RnVuY3Rpb25dID09ICc9JyAmJiBwcm92aWRl
cigpLT5zb3VyY2UoKVtzdGFydEFycm93RnVuY3Rpb24gKyAxXSA9PSAnPicpOworICAgICAgICAv
LyBGaXhtZTogVXNlIGJldHRlciBhcHByb2FjaCB0byBjaGVjayBzeW1ib2wKKyAgICAgICAgQVNT
RVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnLCcgfHwg
cHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICc7JyB8fCBwcm92
aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJyknIHx8IHByb3ZpZGVy
KCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnXScgfHwgcHJvdmlkZXIoKS0+
c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICd9Jyk7CisgICAgICAgIHN0YXJ0Q29s
dW1uICs9IDE7IC8vIENvbnZlcnQgdG8gYmFzZSAxLgorICAgICAgICByZXR1cm4gU291cmNlQ29k
ZShwcm92aWRlcigpLCBzdGFydEFycm93RnVuY3Rpb24sIGVuZEFycm93RnVuY3Rpb24gLSAxLCBm
aXJzdExpbmUsIHN0YXJ0Q29sdW1uKTsKKyAgICB9CisjZW5kaWYKKwogICAgIGlubGluZSBTb3Vy
Y2VDb2RlIFNvdXJjZUNvZGU6OnN1YkV4cHJlc3Npb24odW5zaWduZWQgb3BlbkJyYWNlLCB1bnNp
Z25lZCBjbG9zZUJyYWNlLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pCiAgICAgewog
ICAgICAgICBBU1NFUlQocHJvdmlkZXIoKS0+c291cmNlKClbb3BlbkJyYWNlXSA9PSAneycpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNh
Y2hlSXRlbS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNh
Y2hlSXRlbS5oCmluZGV4IDYzNTM3OWUzZjQ0NTY2OGM1MmI4NzJmNzYxNmRjYjU5MjFhODI5NDQu
LmY0MjhkYjUwYThkYTdhN2FiNDY4MjRhYjM4MDgzZGIwNTJkNzM3NzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgK
QEAgLTQwLDYgKzQwLDEwIEBAIHN0cnVjdCBTb3VyY2VQcm92aWRlckNhY2hlSXRlbUNyZWF0aW9u
UGFyYW1ldGVycyB7CiAgICAgYm9vbCBuZWVkc0Z1bGxBY3RpdmF0aW9uOwogICAgIGJvb2wgdXNl
c0V2YWw7CiAgICAgYm9vbCBzdHJpY3RNb2RlOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgYm9vbCBpc0JvZHlBcnJvd0V4cHJlc3Npb247CisgICAgSlNUb2tlblR5
cGUgdG9rZW5UeXBlOworI2VuZGlmCiAgICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4gdXNl
ZFZhcmlhYmxlczsKICAgICBWZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiB3cml0dGVuVmFyaWFi
bGVzOwogfTsKQEAgLTU1LDEwICs1OSwxNCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHN0ZDo6dW5p
cXVlX3B0cjxTb3VyY2VQcm92aWRlckNhY2hlSXRlbT4gY3JlYXRlKGNvbnN0IFNvdXJjZVByb3Zp
ZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJhbWV0ZXJzJik7CiAgICAgflNvdXJjZVByb3ZpZGVyQ2Fj
aGVJdGVtKCk7CiAKLSAgICBKU1Rva2VuIGNsb3NlQnJhY2VUb2tlbigpIGNvbnN0IAorICAgIEpT
VG9rZW4gZW5kRnVuY3Rpb25Ub2tlbigpIGNvbnN0IAogICAgIHsKICAgICAgICAgSlNUb2tlbiB0
b2tlbjsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB0b2tl
bi5tX3R5cGUgPSBpc0JvZHlBcnJvd0V4cHJlc3Npb24gPyB0b2tlblR5cGUgOiBDTE9TRUJSQUNF
OworI2Vsc2UKICAgICAgICAgdG9rZW4ubV90eXBlID0gQ0xPU0VCUkFDRTsKKyNlbmRpZgogICAg
ICAgICB0b2tlbi5tX2RhdGEub2Zmc2V0ID0gY2xvc2VCcmFjZU9mZnNldDsKICAgICAgICAgdG9r
ZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldCA9IGNsb3NlQnJhY2VPZmZzZXQ7CiAgICAgICAgIHRv
a2VuLm1fbG9jYXRpb24uZW5kT2Zmc2V0ID0gY2xvc2VCcmFjZU9mZnNldCArIDE7CkBAIC04Miw2
ICs5MCwxMSBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgdXNlZFZhcmlhYmxlc0NvdW50OwogICAg
IHVuc2lnbmVkIHdyaXR0ZW5WYXJpYWJsZXNDb3VudDsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgYm9vbCBpc0JvZHlBcnJvd0V4cHJlc3Npb247CisgICAgSlNU
b2tlblR5cGUgdG9rZW5UeXBlOworI2VuZGlmCisKICAgICBTdHJpbmdJbXBsKiogdXNlZFZhcmlh
YmxlcygpIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8U3RyaW5nSW1wbCoqPihtX3ZhcmlhYmxl
cyk7IH0KICAgICBTdHJpbmdJbXBsKiogd3JpdHRlblZhcmlhYmxlcygpIGNvbnN0IHsgcmV0dXJu
IGNvbnN0X2Nhc3Q8U3RyaW5nSW1wbCoqPigmbV92YXJpYWJsZXNbdXNlZFZhcmlhYmxlc0NvdW50
XSk7IH0KIApAQCAtMTE1LDYgKzEyOCwxMCBAQCBpbmxpbmUgU291cmNlUHJvdmlkZXJDYWNoZUl0
ZW06OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKGNvbnN0IFNvdXJjZVByb3ZpZGVyQ2FjaAogICAg
ICwgY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldChwYXJhbWV0ZXJzLmNsb3NlQnJhY2VMaW5lU3Rh
cnRPZmZzZXQpCiAgICAgLCB1c2VkVmFyaWFibGVzQ291bnQocGFyYW1ldGVycy51c2VkVmFyaWFi
bGVzLnNpemUoKSkKICAgICAsIHdyaXR0ZW5WYXJpYWJsZXNDb3VudChwYXJhbWV0ZXJzLndyaXR0
ZW5WYXJpYWJsZXMuc2l6ZSgpKQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgLCBpc0JvZHlBcnJvd0V4cHJlc3Npb24ocGFyYW1ldGVycy5pc0JvZHlBcnJvd0V4cHJl
c3Npb24pCisgICAgLCB0b2tlblR5cGUocGFyYW1ldGVycy50b2tlblR5cGUpCisjZW5kaWYKIHsK
ICAgICB1bnNpZ25lZCBqID0gMDsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdXNlZFZh
cmlhYmxlc0NvdW50OyArK2ksICsraikgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1N5bnRheENoZWNrZXIuaAppbmRleCA4ZTRmNjFiOTQ5ODkwYjliZjU0MDI5ZTk2NjYxZWVmNTNh
MTdiNTg0Li41ZjhlMjExZWU0YjUzYjM5NGViNWFlMjE5MGI4M2M4YzRmODQ0Y2ZkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaApAQCAtMTcwLDYgKzE3
MCwxMCBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVGdW5jdGlv
bkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5
bnRheENoZWNrZXI+JikgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9CiAgICAgaW50IGNyZWF0ZUZ1
bmN0aW9uQm9keShjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBKU1Rva2VuTG9jYXRpb24m
LCBpbnQsIGludCwgYm9vbCwgaW50LCBpbnQsIGludCwgQ29uc3RydWN0b3JLaW5kKSB7IHJldHVy
biBGdW5jdGlvbkJvZHlSZXN1bHQ7IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUFycm93RnVuY3Rpb25FeHByKGNvbnN0IEpT
VG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50YXhDaGVja2VyPiYp
IHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQorI2VuZGlmIAorICAgIHZvaWQgc2V0RnVuY3Rpb25O
YW1lU3RhcnQoaW50LCBpbnQpIHsgfQogICAgIGludCBjcmVhdGVBcmd1bWVudHMoKSB7IHJldHVy
biBBcmd1bWVudHNSZXN1bHQ7IH0KICAgICBpbnQgY3JlYXRlQXJndW1lbnRzKGludCkgeyByZXR1
cm4gQXJndW1lbnRzUmVzdWx0OyB9CiAgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlU3ByZWFkRXhw
cmVzc2lvbihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBFeHByZXNzaW9uVHlwZSwgaW50LCBpbnQs
IGludCkgeyByZXR1cm4gU3ByZWFkRXhwcjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmZjM2VhMTgwMDY4OTY0
M2FhZGQ2YzZhNDk3ZWQwYWU2YzIxMTEyMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAKQEAgLTAsMCArMSw3NyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorI2luY2x1ZGUg
IkpTQXJyb3dGdW5jdGlvbi5oIgorCisjaW5jbHVkZSAiRXJyb3IuaCIKKyNpbmNsdWRlICJFeGNl
cHRpb25IZWxwZXJzLmgiCisjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgorI2luY2x1ZGUgIkpTQ0pT
VmFsdWUuaCIKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNGdW5jdGlvbklu
bGluZXMuaCIKKyNpbmNsdWRlICJKU09iamVjdC5oIgorI2luY2x1ZGUgIlByb3BlcnR5U2xvdC5o
IgorI2luY2x1ZGUgIlZNLmgiCisKK25hbWVzcGFjZSBKU0MgeworICAgIAorY29uc3QgQ2xhc3NJ
bmZvIEpTQXJyb3dGdW5jdGlvbjo6c19pbmZvID0geyAiQXJyb3dGdW5jdGlvbiIsICZCYXNlOjpz
X2luZm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNBcnJvd0Z1bmN0aW9uKSB9OworCit2b2lk
IEpTQXJyb3dGdW5jdGlvbjo6ZGVzdHJveShKU0NlbGwqIGNlbGwpCit7CisgICAgc3RhdGljX2Nh
c3Q8SlNBcnJvd0Z1bmN0aW9uKj4oY2VsbCktPkpTQXJyb3dGdW5jdGlvbjo6fkpTQXJyb3dGdW5j
dGlvbigpOworfQorCitKU0Fycm93RnVuY3Rpb246OkpTQXJyb3dGdW5jdGlvbihWTSYgdm0sIEpT
U2NvcGUqIHNjb3BlLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIFN0cnVjdHVyZSog
c3RydWN0dXJlKQorICAgIDogQmFzZSh2bSwgZXhlY3V0YWJsZSwgc2NvcGUsIHN0cnVjdHVyZSkK
K3sKK30KKyAgICAKK3ZvaWQgSlNBcnJvd0Z1bmN0aW9uOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0p
Cit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOworLy8gUHJvdG90eXBlIG9mIGFycm93
IGZ1bmN0aW9uIGlzIHVuZGVmaW5lZAorICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1l
cy0+cHJvdG90eXBlLCBqc1VuZGVmaW5lZCgpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250
RW51bSk7Cit9CisgICAgCit2b2lkIEpTQXJyb3dGdW5jdGlvbjo6dmlzaXRDaGlsZHJlbihKU0Nl
bGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQoreworICAgIEpTQXJyb3dGdW5jdGlvbiog
dGhpc09iamVjdCA9IGpzQ2FzdDxKU0Fycm93RnVuY3Rpb24qPihjZWxsKTsKKyAgICBBU1NFUlRf
R0NfT0JKRUNUX0lOSEVSSVRTKHRoaXNPYmplY3QsIGluZm8oKSk7CisgICAgQmFzZTo6dmlzaXRD
aGlsZHJlbih0aGlzT2JqZWN0LCB2aXNpdG9yKTsKK30KKyAgICAKK0NvbnN0cnVjdFR5cGUgSlNB
cnJvd0Z1bmN0aW9uOjpnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCogY2VsbCwgQ29uc3RydWN0RGF0
YSYgY29uc3RydWN0RGF0YSkKK3sKKyAgICBKU0Z1bmN0aW9uKiB0aGlzT2JqZWN0ID0ganNDYXN0
PEpTRnVuY3Rpb24qPihjZWxsKTsKKyAgICAgICAgCisgICAgY29uc3RydWN0RGF0YS5qcy5mdW5j
dGlvbkV4ZWN1dGFibGUgPSB0aGlzT2JqZWN0LT5qc0V4ZWN1dGFibGUoKTsKKyAgICBjb25zdHJ1
Y3REYXRhLmpzLnNjb3BlID0gdGhpc09iamVjdC0+c2NvcGUoKTsKKyAgICByZXR1cm4gQ29uc3Ry
dWN0VHlwZU5vbmU7Cit9Cit9IC8vIG5hbWVzcGFjZSBKU0MKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ODAx
NWQzODcyMWNjYTQ0YWUyZjY1Y2I2ZDc3YjZhNjUyMjA5NjVkCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmgKQEAgLTAsMCAr
MSw3NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgSlNBcnJvd0Z1bmN0aW9uX2gKKyNkZWZpbmUgSlNBcnJvd0Z1bmN0aW9uX2gKKworI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisKKyNpbmNsdWRlICJKU0Z1bmN0aW9u
LmgiCisjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3QuaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK2Ns
YXNzIEpTQXJyb3dGdW5jdGlvbiA6IHB1YmxpYyBKU0Z1bmN0aW9uIHsKK3B1YmxpYzoKKyAgICB0
eXBlZGVmIEpTRnVuY3Rpb24gQmFzZTsKKyAgICAgICAgCisgICAgc3RhdGljIEpTQXJyb3dGdW5j
dGlvbiogY3JlYXRlKFZNJiB2bSwgSlNTY29wZSogc2NvcGUsIEZ1bmN0aW9uRXhlY3V0YWJsZSog
ZXhlY3V0YWJsZSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKKyAgICB7CisgICAgICAg
IEpTQXJyb3dGdW5jdGlvbiogZnVuY3Rpb24gPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxK
U0Fycm93RnVuY3Rpb24+KHZtLmhlYXApKSBKU0Fycm93RnVuY3Rpb24odm0sIHNjb3BlLCBleGVj
dXRhYmxlLCBnbG9iYWxPYmplY3QtPmFycm93RnVuY3Rpb25TdHJ1Y3R1cmUoKSk7CisgICAgICAg
IEFTU0VSVChmdW5jdGlvbi0+c3RydWN0dXJlKCktPmdsb2JhbE9iamVjdCgpKTsKKyAgICAgICAg
ZnVuY3Rpb24tPmZpbmlzaENyZWF0aW9uKHZtKTsKKyAgICAgICAgcmV0dXJuIGZ1bmN0aW9uOwor
ICAgIH0KKyAgICAKKyAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2VsbCopOworICAgICAgICAK
KyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkKKyAgICB7CisgICAgICAgIEFT
U0VSVChnbG9iYWxPYmplY3QpOworICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0s
IGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhKU0Z1bmN0aW9uVHlwZSwgU3RydWN0
dXJlRmxhZ3MpLCBpbmZvKCkpOworICAgIH0KKyAgICAgICAgCisgICAgc3RhdGljIENvbnN0cnVj
dFR5cGUgZ2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJik7CisgICAgICAg
IAorICAgIERFQ0xBUkVfSU5GTzsKKworcHJvdGVjdGVkOgorICAgIGNvbnN0IHN0YXRpYyB1bnNp
Z25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0hhc0luc3RhbmNlIHwgQmFzZTo6U3RydWN0
dXJlRmxhZ3M7CisgICAgICAgIAorICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxs
KiwgU2xvdFZpc2l0b3ImKTsKKyAgICAgICAgCitwcml2YXRlOgorICAgIEpTQXJyb3dGdW5jdGlv
bihWTSYsIEpTU2NvcGUqLCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBTdHJ1Y3R1cmUqKTsKKworICAg
IHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKK307CisgICAgCit9IC8vIG5hbWVzcGFjZSBKU0MK
KyNlbmRpZiAvLyBFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgKKworI2VuZGlmIC8vIEpTQXJyb3dG
dW5jdGlvbl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1
bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKaW5k
ZXggOWJkM2ZlMjQxNTAwNjExY2Q5OTc1NmU3MWZmNTkwMGE0ZGZkZTAwYy4uN2ExNWM5ODUxMTk5
MzVlNDRmOWRhNTU2YjBiYjExMmQ5YTFjOGY1YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTRnVuY3Rpb24uaApAQCAtMTMyLDYgKzEzMiw5IEBAIHByb3RlY3RlZDoKIAogICAg
IEpTX0VYUE9SVF9QUklWQVRFIEpTRnVuY3Rpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIFN0cnVj
dHVyZSopOwogICAgIEpTRnVuY3Rpb24oVk0mLCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBKU1Njb3Bl
Kik7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBKU0Z1bmN0aW9u
KFZNJiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgSlNTY29wZSosIFN0cnVjdHVyZSopOworI2VuZGlm
CiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgTmF0aXZlRXhlY3V0YWJsZSosIGludCBs
ZW5ndGgsIGNvbnN0IFN0cmluZyYgbmFtZSk7CiAgICAgdXNpbmcgQmFzZTo6ZmluaXNoQ3JlYXRp
b247CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9u
SW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGlu
ZXMuaAppbmRleCAzN2IyODFhYTVkMGMxYjg2MTY0NTE5ZmQ3YzU2NmUzN2YwZjEzNDAxLi43YjM0
OTBiZWI5NGEzNTkzZWUxN2JjM2IxNmIzMmM3ZGZhZjk1NzNkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgKQEAgLTM4LDYgKzM4LDE1
IEBAIGlubGluZSBKU0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKFZNJiB2bSwgRnVuY3Rpb25FeGVjdXRh
YmxlKiBleGVjdXRhYmxlLCBKU1Njb3BlKiBzCiB7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQoraW5saW5lIEpTRnVuY3Rpb246OkpTRnVuY3Rpb24oVk0mIHZtLCBG
dW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpTU2NvcGUqIHNjb3BlLCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSkKKyAgICA6IEJhc2Uodm0sIHNjb3BlLCBzdHJ1Y3R1cmUpCisgICAgLCBtX2V4
ZWN1dGFibGUodm0sIHRoaXMsIGV4ZWN1dGFibGUpCisgICAgLCBtX2FsbG9jYXRpb25Qcm9maWxl
V2F0Y2hwb2ludChDbGVhcldhdGNocG9pbnQpCit7Cit9CisjZW5kaWYKKyAgICAKIGlubGluZSBG
dW5jdGlvbkV4ZWN1dGFibGUqIEpTRnVuY3Rpb246OmpzRXhlY3V0YWJsZSgpIGNvbnN0CiB7CiAg
ICAgQVNTRVJUKCFpc0hvc3RGdW5jdGlvbk5vbklubGluZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAppbmRleCAxNzk0OWExYjVlYTgx
ODllYjA2Y2E2MWUxMTliOTNmNzc0OTkwMzNhLi44M2NlMTBkNGVjY2JjODBhYTRmZWY4ZTg1MjZj
NTEwNjUxMThlMjE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNH
bG9iYWxPYmplY3QuY3BwCkBAIC02MSw2ICs2MSw3IEBACiAjaW5jbHVkZSAiSlNBcnJheUJ1ZmZl
ckNvbnN0cnVjdG9yLmgiCiAjaW5jbHVkZSAiSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5oIgogI2lu
Y2x1ZGUgIkpTQXJyYXlJdGVyYXRvci5oIgorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgog
I2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNp
bmNsdWRlICJKU0NhbGxiYWNrQ29uc3RydWN0b3IuaCIKQEAgLTIzMyw2ICsyMzQsOSBAQCB2b2lk
IEpTR2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2bSkKICAgICBleGVjLT5zZXRDYWxsZWUobV9nbG9i
YWxDYWxsZWUuZ2V0KCkpOwogCiAgICAgbV9mdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMs
IEpTRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlw
ZS5nZXQoKSkpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgbV9h
cnJvd0Z1bmN0aW9uU3RydWN0dXJlLnNldCh2bSwgdGhpcywgSlNBcnJvd0Z1bmN0aW9uOjpjcmVh
dGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKKyNlbmRp
ZgogICAgIG1fYm91bmRGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpTQm91bmRGdW5j
dGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgp
KSk7CiAgICAgbV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlLnNldCh2bSwgdGhpcywgU3RydWN0dXJl
OjphZGRQcm9wZXJ0eVRyYW5zaXRpb24odm0sIG1fZnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCksIHZt
LnByb3BlcnR5TmFtZXMtPm5hbWUsIERvbnREZWxldGUgfCBSZWFkT25seSB8IERvbnRFbnVtLCBt
X2Z1bmN0aW9uTmFtZU9mZnNldCkpOwogICAgIG1faW50ZXJuYWxGdW5jdGlvblN0cnVjdHVyZS5z
ZXQodm0sIHRoaXMsIEludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywg
bV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOwpAQCAtNzI1LDYgKzcyOSw5IEBAIHZvaWQgSlNH
bG9iYWxPYmplY3Q6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlz
aXRvcikKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9jYWxsZWVTdHJ1Y3R1cmUp
OwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2Z1bmN0aW9uU3RydWN0dXJlKTsK
ICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJl
KTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHZpc2l0b3IuYXBw
ZW5kKCZ0aGlzT2JqZWN0LT5tX2Fycm93RnVuY3Rpb25TdHJ1Y3R1cmUpOworI2VuZGlmCiAgICAg
dmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZSk7CiAg
ICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fc3ltYm9sT2JqZWN0U3RydWN0dXJlKTsK
ICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9yZWdFeHBNYXRjaGVzQXJyYXlTdHJ1
Y3R1cmUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
LmgKaW5kZXggM2U1NzgzNzhhZTkzYjViMTNkOGU4MWUxNmRhZTYxZmI4MWFjZDE2YS4uNDg5ZjJl
ZjIwYzkyYTFiNDNkMTBlMTg4ZGEzMjFmOTM2MDRiNTRhNSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC0yMjUsNiArMjI1LDkgQEAgcHJv
dGVjdGVkOgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fY2FsbGVlU3RydWN0dXJlOwog
ICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fZnVuY3Rpb25TdHJ1Y3R1cmU7CiAgICAgV3Jp
dGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlOworI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4g
bV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlOworI2VuZGlmCiAgICAgV3JpdGVCYXJyaWVyPFN0cnVj
dHVyZT4gbV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlOwogICAgIFByb3BlcnR5T2Zmc2V0IG1fZnVu
Y3Rpb25OYW1lT2Zmc2V0OwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fcHJpdmF0ZU5h
bWVTdHJ1Y3R1cmU7CkBAIC00NTcsNiArNDYwLDkgQEAgcHVibGljOgogICAgIFN0cnVjdHVyZSog
Y2FsbGVlU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9jYWxsZWVTdHJ1Y3R1cmUuZ2V0KCk7
IH0KICAgICBTdHJ1Y3R1cmUqIGZ1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9m
dW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQogICAgIFN0cnVjdHVyZSogYm91bmRGdW5jdGlvblN0
cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fYm91bmRGdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsg
fQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgU3RydWN0dXJlKiBh
cnJvd0Z1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9hcnJvd0Z1bmN0aW9uU3Ry
dWN0dXJlLmdldCgpOyB9CisjZW5kaWYKICAgICBTdHJ1Y3R1cmUqIG5hbWVkRnVuY3Rpb25TdHJ1
Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0K
ICAgICBQcm9wZXJ0eU9mZnNldCBmdW5jdGlvbk5hbWVPZmZzZXQoKSBjb25zdCB7IHJldHVybiBt
X2Z1bmN0aW9uTmFtZU9mZnNldDsgfQogICAgIFN0cnVjdHVyZSogbnVtYmVyT2JqZWN0U3RydWN0
dXJlKCkgY29uc3QgeyByZXR1cm4gbV9udW1iZXJPYmplY3RTdHJ1Y3R1cmUuZ2V0KCk7IH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1sZXhpY2FsdGhpcy5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJy
b3dmdW5jdGlvbi1sZXhpY2FsdGhpcy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MTJmYmFmODA0NDgyYzc3NjFj
MzdkZDY5M2E4NDg1ZTU1MTE1NzNlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWx0aGlzLmpzCkBAIC0wLDAg
KzEsMzEgQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFs
LCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAg
IHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMg
JyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBhZk9iakxleEJpbmQyID0gZnVuY3Rp
b24gKCkgeworICB0aGlzLmZ1bmMgPSAoKSA9PiB0aGlzOworfTsKKwordmFyIGFmT2JqTGV4Qmlu
ZDJJbnN0YW5jZSA9IG5ldyBhZk9iakxleEJpbmQyKCk7CisKK3Rlc3RDYXNlKGFmT2JqTGV4Qmlu
ZDJJbnN0YW5jZS5mdW5jKCkgPT09IGFmT2JqTGV4QmluZDJJbnN0YW5jZSwgdHJ1ZSwgIkVycm9y
OiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gIzIiKTsKKwordmFyIG9iaiA9IHsKKyAgbWV0aG9kOiBmdW5jdGlvbiAoKSB7CisgICAgcmV0
dXJuICgpID0+IHRoaXM7CisgIH0KK307CisKK3Rlc3RDYXNlKG9iai5tZXRob2QoKSgpID09PSBv
YmosIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2Yg
dGhlIGFycm93IGZ1bmN0aW9uICMzIik7CisKK3ZhciBmYWtlID0ge3N0ZWFsOiBvYmoubWV0aG9k
KCl9OwordGVzdENhc2UoZmFrZS5zdGVhbCgpID09PSBvYmosIHRydWUsICJFcnJvcjogdGhpcyBp
cyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM0Iik7
CisKKworLy8gRml4bWU6IGZvbGxvd2luZyB0ZXN0IGZhaWxzIGluIGRmZy1lYWdlci1uby1jaml0
LXZhbGlkYXRlICYgZnRsLWVhZ2VyLW5vLWNqaXQgbW9kZQordmFyIHJlYWwgPSB7Ym9ycm93OiBv
YmoubWV0aG9kfTsKK3Rlc3RDYXNlKHJlYWwuYm9ycm93KCkoKSA9PT0gcmVhbCwgdHJ1ZSwgIkVy
cm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb24gIzUiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi1vdGhlcnMuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tb3RoZXJzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmViYmY4NTllMjAzZWIx
ZjU0YWNhZTFkNDA4M2NhM2RkM2RjOTc2MWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tb3RoZXJzLmpzCkBAIC0wLDAg
KzEsMzAgQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFs
LCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAg
IHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMg
JyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBzaW1wbGVBcnJvd0Z1bmN0aW9uID0g
KCkgPT4ge307CisKK3Rlc3RDYXNlKHR5cGVvZiBzaW1wbGVBcnJvd0Z1bmN0aW9uLCAiZnVuY3Rp
b24iLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHR5cGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uIik7CisK
K3Rlc3RDYXNlKE9iamVjdC5nZXRQcm90b3R5cGVPZihzaW1wbGVBcnJvd0Z1bmN0aW9uKSwgRnVu
Y3Rpb24ucHJvdG90eXBlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGdldFByb3RvdHlwZU9mIHZhbHVl
IGZvciBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uIGlu
c3RhbmNlb2YgRnVuY3Rpb24sIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBp
bnN0YW5jZW9mIG1ldGhvZCBmb3IgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2Uoc2ltcGxl
QXJyb3dGdW5jdGlvbi5jb25zdHJ1Y3RvciA9PSBGdW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3Qg
Y29ycmVjdCByZXN1bHQgZm9yIGNvbnN0cnVjdG9yIG1ldGhvZCBvZiBhcnJvdyBmdW5jdGlvbiIp
OworCit0ZXN0Q2FzZSh0eXBlb2Ygc2ltcGxlQXJyb3dGdW5jdGlvbi5wcm90b3R5cGUgPT09ICd1
bmRlZmluZWQnLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJvdG90eXBl
IG9mIGFycm93IGZ1bmN0aW9uIik7CisKK3ZhciBlcnJvck9uQ3JlYXRlID0gZmFsc2U7CisKK3Ry
eSB7CisgIHZhciBmYyA9IG5ldyBzaW1wbGVBcnJvd0Z1bmN0aW9uKCk7Cit9CitjYXRjaCAoZSkg
eworICBlcnJvck9uQ3JlYXRlID0gdHJ1ZTsKK30KKwordGVzdENhc2UoZXJyb3JPbkNyZWF0ZSwg
dHJ1ZSwgIkVycm9yOiBObyBlcnJvciBkdXJpbmcgcnVuIG5ldyBBcnJvd0Z1bmN0aW9uIik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tdGR6LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0
aW9uLXRkei5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOWQzNWNkZWE0YmFmNjY3NDMxYWY4YWJlOGRhZGYyMmQw
NGI5MGUxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9hcnJvd2Z1bmN0aW9uLXRkei5qcwpAQCAtMCwwICsxLDI0IEBACit2YXIgQSA9IGNsYXNz
IEEgeyB9OwordmFyIEIgPSBjbGFzcyBCIGV4dGVuZHMgQSB7CisgIGNvbnN0cnVjdG9yKGFjY2Vz
c1RoaXNCZWZvcmVTdXBlcikgeworICAgIGlmIChhY2Nlc3NUaGlzQmVmb3JlU3VwZXIpIHsKKyAg
ICAgIHZhciBmID0gKCkgPT4gdGhpczsKKyAgICAgIHN1cGVyKCk7CisgICAgfSBlbHNlIHsKKyAg
ICAgIHN1cGVyKCk7CisgICAgfQorICB9Cit9OworCit2YXIgZXhjZXB0aW9uID0gbnVsbDsKK3Ry
eSB7CisgICAgIG5ldyBCKHRydWUpOworfSBjYXRjaCAoZSkgeworICAgIGV4Y2VwdGlvbiA9IGU7
CisgICAgaWYgKCEoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSkKKyAgICAgICAgdGhyb3cg
IkV4Y2VwdGlvbiB0aHJvd24gd2FzIG5vdCBhIHJlZmVyZW5jZSBlcnJvciI7Cit9CitpZiAoIWV4
Y2VwdGlvbikKKyAgICB0aHJvdyAiRXhjZXB0aW9uIG5vdCB0aHJvd24gZm9yIGFuIHVuaXRpYWxp
emVkIHRoaXMgYXQgaXRlcmF0aW9uIjsKKwordmFyIGUgPSBuZXcgQihmYWxzZSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24uanMg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24uanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMDY4N2IzYWFiMWQyN2Y0NTNmOTA3NjFjZWMxYWQ0ZDA1Y2YwM2IzNQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5j
dGlvbi5qcwpAQCAtMCwwICsxLDE1NCBAQAordmFyIHJlc3VsdDsKKworIHZhciB0ZXN0Q2FzZSA9
IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09
IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0
ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGFycm93
RnVuY3Rpb24wID0gdiA9PiB2ICsgMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24wKDEwKTsKK3Rl
c3RDYXNlKHJlc3VsdCwgMTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbjogdiA9PiB2ICsgMSIpOworCit2YXIgYXJyb3dGdW5jdGlvbjEgPSAodikg
PT4gdiAqIDI7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMSgxMCk7Cit0ZXN0Q2FzZShyZXN1bHQs
IDIwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246
ICh2KSA9PiB2ICsgMSIpOworCit2YXIgYXJyb3dGdW5jdGlvbjIgPSAoKSA9PiAxMDAwOworcmVz
dWx0ID0gYXJyb3dGdW5jdGlvbjIoMTIxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMDAgLCJFcnJv
cjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKCkgPT4gMTAw
MCIpOworCit2YXIgdG1wVmFyaWFsdmUyXzEgPSAxNTE7Cit2YXIgYXJyb3dGdW5jdGlvbjJfMSA9
ICgpID0+IHRtcFZhcmlhbHZlMl8xOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjJfMSgxMjEpOwor
dGVzdENhc2UocmVzdWx0LCB0bXBWYXJpYWx2ZTJfMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVj
dXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAoKSA9PiB2YXJpYWJsZSIpOworCit2YXIgYXJy
b3dGdW5jdGlvbjMgPSAodiwgeCkgPT4gdiArIHg7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMygx
MSwxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDIzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICh4LCB5KSA9PiB4ICsgeSIpOworCit2YXIgYXJyb3dG
dW5jdGlvbldyYXBwZXIgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVyKSB7IHJldHVybiBjbChwYXJh
bXRlcik7IH07CisKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4gMTIzNCk7Cit0
ZXN0Q2FzZShyZXN1bHQsIDEyMzQgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMpIik7CisKKyByZXN1bHQgPSBh
cnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEyMzQsIDIzNDUpOwordGVzdENhc2UocmVzdWx0LCAx
MjM0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24g
YXMgcGFyYW10ZXI6IGYoeCA9PiBjLCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldy
YXBwZXIoeCA9PiAxMjEgKyAyMzIpOwordGVzdENhc2UocmVzdWx0LCAzNTMgLCJFcnJvcjogTm90
IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4
ID0+IGMxICsgYzIpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEy
MyArIDMyMSwgOTk5OSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDQ0NCAsIkVycm9yOiBOb3QgY29ycmVj
dCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYzEg
KyBjMiwgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4geCArIDEy
LCAyMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDMzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiB4ICsgYzEsIHkpIik7
CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoeCkgPT4geCArIDIxLCAzMik7Cit0
ZXN0Q2FzZShyZXN1bHQsIDUzLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKHgpID0+IGMxICsgYzIsIHkpIik7CisKKyBy
ZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiAxMDApOwordGVzdENhc2UocmVzdWx0
LCAxMDAsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlv
biBhcyBwYXJhbXRlcjogZigoKSA9PiBjKSIpOworCisgdmFyIGV4dF92YWx1ZSA9IDEyMTsKK3Jl
c3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IGV4dF92YWx1ZSk7Cit0ZXN0Q2FzZShy
ZXN1bHQsIDEyMSwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1
bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IHYpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0
aW9uV3JhcHBlcigoKSA9PiBleHRfdmFsdWUgKiAxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMTAg
LCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBw
YXJhbXRlcjogZigoKSA9PiB2KngpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBl
cigoeCkgPT4gZXh0X3ZhbHVlICogeCwgMzApOwordGVzdENhc2UocmVzdWx0LCAzMCpleHRfdmFs
dWUgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBh
cyBwYXJhbXRlcjogZigoeCkgPT4gdip4LCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlv
bldyYXBwZXIoKCkgPT4gMTAwLCAxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMCAsIkVycm9yOiBO
b3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBm
KCgpID0+IGMxLCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4g
MTAwICsgMTApOwordGVzdENhc2UocmVzdWx0LCAxMTAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhl
Y3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjMSArIGMy
KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwICsgMTEsIDEy
KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYzEgKyBjMiwgeSkiKTsK
KworIHZhciBhcnJvd0Z1bmN0aW9uNCA9IHYgPT4gdiArIDEsIHh5ejEgPSAxMDEwMTsKK3Jlc3Vs
dCA9IGFycm93RnVuY3Rpb240KDEwMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDEyICwiRXJyb3I6
IE5vdCBjb3JyZWN0IHBhcnNpbmcgb2YgdGggYXJyb3cgZnVuY3Rpb24gaW5zaWRlIG9mIHRoZSBs
aXN0IG9mIHZhcnM6IHZhciBhZiA9IHY9PiB2ICsgMTsgenhjPWM7Iik7Cit0ZXN0Q2FzZSh4eXox
LCAxMDEwMSAsIkVycm9yOiBOb3QgY29ycmVjdCBwYXJzaW5nIG9mIHRoIGFycm93IGZ1bmN0aW9u
IGluc2lkZSBvZiB0aGUgbGlzdCBvZiB2YXJzOiB2YXIgYWYgPSB2PT4gdiArIDE7IHp4Yz1jOyIp
OworCisgdmFyIGFycm93RnVuY3Rpb25XcmFwcGVyMiA9IGZ1bmN0aW9uIChjbCwgcGFyYW10ZXIx
LCBwYXJhbXRlcjIpIHsgcmV0dXJuIGNsKHBhcmFtdGVyMSwgcGFyYW10ZXIyKTsgfTsKK3Jlc3Vs
dCA9IGFycm93RnVuY3Rpb25XcmFwcGVyMigoeCwgeSkgPT4geCArIHksIDEyICw0Myk7Cit0ZXN0
Q2FzZShyZXN1bHQsIDU1ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24gYXMgcGFyYW1ldGVyOiBmKCh4LCB5KSA9PiB4ICsgeSwgYzEsIGMyKSIpOwor
CisgdmFyIGFycm93RnVuY3Rpb0FycmF5MCA9IFt2ID0+IHYgKiAxMF07CityZXN1bHQgPSBhcnJv
d0Z1bmN0aW9BcnJheTBbMF0oMTApOwordGVzdENhc2UocmVzdWx0LCAxMDAgLCJFcnJvcjogTm90
IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5
OiBbdj0+dioxMF0iKTsKKworIHZhciBhcnJvd0Z1bmN0aW9BcnJheTEgPSBbdiA9PiB2ICsgMSwg
diA9PiB2ICsgMl07CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTFbMF0oMTApOwordGVzdENh
c2UocmVzdWx0LCAxMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFt2ID0+IHYgKyAxLCAgdiA9PiB2ICsgMl0iKTsK
K3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5MVsxXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEz
ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMg
aXRlbSBpbiBhcnJheTogW3YgPT4gdiArIDEsICB2ID0+IHYgKyAyXSIpOworCisgdmFyIGFycm93
RnVuY3Rpb0FycmF5MiA9IFsodikgPT4gdiArIDEsICh2KSA9PiB2ICsgMl07CityZXN1bHQgPSBh
cnJvd0Z1bmN0aW9BcnJheTJbMF0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMiAsIkVycm9yOiBO
b3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJy
YXk6IFsodikgPT4gdiArIDEsICAodikgPT4gdiArIDJdIik7CityZXN1bHQgPSBhcnJvd0Z1bmN0
aW9BcnJheTJbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMyAsIkVycm9yOiBOb3QgY29ycmVj
dCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsodikg
PT4gdiArIDEsICAodikgPT4gdiArIDJdIik7CisKKyB2YXIgYXJyb3dGdW5jdGlvQXJyYXkzID0g
WygpID0+IDEwMSwgKCkgPT4gMTIzMjNdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkzWzBd
KDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAxLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogWygpID0+IGMxLCAgKCkg
PT4gYzJdIik7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTNbMV0oMTEpOwordGVzdENhc2Uo
cmVzdWx0LCAxMjMyMywgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsoKSA9PiBjMSwgICgpID0+IGMyXSIpOworCit2
YXIgYXJyb3dGdW5jdGlvbk9iaiA9IHtmdW5jIDogeSA9PiB5ICsgMTJ9OworcmVzdWx0ID0gYXJy
b3dGdW5jdGlvbk9iai5mdW5jKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjMgLCAiRXJyb3I6IE5v
dCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcHJvcGVydHk6IHtm
dW5jIDogeSA9PiB5ICsgMTIgfSIpOworCit2YXIgYWZPYmpMZXhCaW5kMiA9IGZ1bmN0aW9uICgp
IHsKKyAgdGhpcy5mdW5jID0gKCkgPT4gdGhpczsKK307CisKK3ZhciBhcnJvd0ZhdEZ1bmN0aW9u
MCA9ICgpID0+IHsgcmV0dXJuIDEwMDA7IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0aW9uMCgx
MSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICgpID0+IHsgcmV0dXJu
IDEwMDA7IH0iKTsKKwordmFyIGFycm93RmF0RnVuY3Rpb24xID0gdiA9PiB7IHZhciBpbnR2YWwg
PSAxMDA7IHJldHVybiB2ICogaW50dmFsOyB9OworcmVzdWx0ID0gYXJyb3dGYXRGdW5jdGlvbjEo
MTEpOwordGVzdENhc2UocmVzdWx0LCAxMTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiB4ID0+IHsgdmFyIHY9
MTAwMDsgcmV0dXJuIHYqeDsgfSIpOworCit2YXIgYXJyb3dGYXRGdW5jdGlvbjIgPSAodikgPT4g
eyB2YXIgaW50ID0gMjAwOyByZXR1cm4gdiAqIGludDsgfTsKK3Jlc3VsdCA9IGFycm93RmF0RnVu
Y3Rpb24yKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjIwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBl
eGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogKHgpID0+
IHsgdmFyIHY9MTAwMDsgcmV0dXJuIHYqeDsgfSIpOworCit2YXIgYXJyb3dGYXRGdW5jdGlvbjMg
PSAodiwgeCkgPT4geyB2YXIgcmVzdWx0ID0geCAqIHY7IHJldHVybiByZXN1bHQ7IH07CityZXN1
bHQgPSBhcnJvd0ZhdEZ1bmN0aW9uMygxMSwgMTIyMjIpOwordGVzdENhc2UocmVzdWx0LCAxMzQ0
NDIgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3
aXRoIGJvZHkgYXMgYmxvY2s6ICh2LCB4KSA9PiB7IHZhciByZXN1bHQgPSB4ICogdjsgcmV0dXJu
IHJlc3VsdDsgfSIpOworCityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4PT57cmV0dXJu
IHggKiAyNTt9LCAxMjEpOwordGVzdENhc2UocmVzdWx0LCAyNSoxMjEgLCJFcnJvcjogTm90IGNv
cnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6
IGYoeCA9PiB7cmV0dXJuIHggKiAyNTt9LCAxMjEpIik7CisKK3Jlc3VsdCA9IGFycm93RnVuY3Rp
b25XcmFwcGVyMigoeCwgeSk9PntyZXR1cm4geCAqIHk7fSwgMTQsIDEyKTsKK3Rlc3RDYXNlKHJl
c3VsdCwgMTQqMTIgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6IGYoKHgsIHkpPT57cmV0dXJuIHggKiB5O30sIDE0
LCAxMjEpKSIpOworCit2YXIgc2ltcGxlQXJyb3dGdW5jdGlvbiA9ICgpID0+IHt9OworCit0ZXN0
Q2FzZSh0eXBlb2Ygc2ltcGxlQXJyb3dGdW5jdGlvbiwgImZ1bmN0aW9uIiwgIkVycm9yOiBOb3Qg
Y29ycmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShPYmplY3Qu
Z2V0UHJvdG90eXBlT2Yoc2ltcGxlQXJyb3dGdW5jdGlvbiksIEZ1bmN0aW9uLnByb3RvdHlwZSwg
IkVycm9yOiBOb3QgY29ycmVjdCBnZXRQcm90b3R5cGVPZiB2YWx1ZSBmb3IgYXJyb3cgZnVuY3Rp
b24iKTsKKwordGVzdENhc2Uoc2ltcGxlQXJyb3dGdW5jdGlvbiBpbnN0YW5jZW9mIEZ1bmN0aW9u
LCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgaW5zdGFuY2VvZiBtZXRob2Qg
Zm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93RnVuY3Rpb24uY29u
c3RydWN0b3IgPT0gRnVuY3Rpb24sIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZv
ciBjb25zdHJ1Y3RvciBtZXRob2Qgb2YgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2UodHlw
ZW9mIHNpbXBsZUFycm93RnVuY3Rpb24ucHJvdG90eXBlID09PSAndW5kZWZpbmVkJywgdHJ1ZSwg
IkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlv
biIpOworCit2YXIgZXJyb3JPbkNyZWF0ZSA9IGZhbHNlOworCit0cnkgeworICB2YXIgZmMgPSBu
ZXcgc2ltcGxlQXJyb3dGdW5jdGlvbigpOworfQorY2F0Y2ggKGUpIHsKKyAgZXJyb3JPbkNyZWF0
ZSA9IHRydWU7Cit9CisKK3Rlc3RDYXNlKGVycm9yT25DcmVhdGUsIHRydWUsICJFcnJvcjogTm8g
ZXJyb3IgZHVyaW5nIHJ1biBuZXcgQXJyb3dGdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2Uv
V2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA4YjEx
MmZhZTQ1Yjk1N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2OTcyZjExNGMzODNk
MzI2MjlmMWYwOTNjNjg1NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFC
TEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZ
ID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
OwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VO
QUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVS
SU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIg
PSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFC
TEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElD
ID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVT
ID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NB
UFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJ
VElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5B
QkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FO
SU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVO
QUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChF
TkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFC
TEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NT
UzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9W
SVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hC
T0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RS
QU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9P
UklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxU
RVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JF
RU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQo
RU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RU
TElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dP
UktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lO
UFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVT
U19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
SU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
TEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FV
RElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElB
X1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVO
VCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVf
TkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZ
KSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJM
RV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZF
TlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJM
RV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUp
ICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVF
UlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQo
RU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9T
VUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVS
VEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExB
VEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dP
UkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklE
RU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1Nf
TUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9S
RVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVO
QUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJ
TUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0Nf
TE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURF
T19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5E
RVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFU
RURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FU
VEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9D
QU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NB
R0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQp
ICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JB
VElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNF
X0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdF
X09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NT
X1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hB
UEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAk
KEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVS
KSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkg
JChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAk
KEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVD
VE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9W
MikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAk
KEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBB
RF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0Vf
RE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VS
VklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01P
TlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykg
JChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9F
VkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdB
Q1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFC
TEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktf
UFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBU
KSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5B
QkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1Jf
U0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FU
T1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lU
X1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFC
TEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJM
RV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVF
U1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNP
TFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NT
X1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1T
X0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJM
RV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04p
ICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChF
TkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxF
X0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklE
RU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJM
RV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElP
KSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElD
VFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMp
ICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAk
KEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJ
QykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRl
eCA4YjExMmZhZTQ1Yjk1N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2OTcyZjEx
NGMzODNkMzI2MjlmMWYwOTNjNjg1NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2Vi
S2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiAr
NDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVf
Q0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVfRVM2X0NMQVNT
X1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVfRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NTU19BTklNQVRJ
T05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMjsKQEAgLTIxNCw0ICsy
MTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9V
VF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsKIAotRkVB
VFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRF
RF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChF
TkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxF
X0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZB
U19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19T
WU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChF
TkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURB
UFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVH
SU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMp
ICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5B
QkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQo
RU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVO
QUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5B
QkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1Ip
ICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAk
KEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RF
UFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01f
VElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNF
X0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVO
QUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5U
UykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9M
RUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVG
RVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQo
RU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVf
TUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FM
RSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9I
V0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExV
R0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9Q
Uk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FV
T1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9B
VVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJ
T05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NS
T0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJ
KSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NW
R19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChF
TkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJM
RV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NT
X1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykg
JChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJ
RVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQo
RU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJF
X1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChF
TkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5B
QkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAk
KEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVO
QUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFC
TEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMp
ICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5H
KSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFC
TEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NT
U19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJM
RV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFC
TEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikg
JChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVO
QUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9M
SU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1ND
SEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJ
U1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlM
U19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZF
TlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZ
UFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xP
QURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChF
TkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVf
SElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkg
JChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVS
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVf
SU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9J
T1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVG
SVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQo
RU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09O
VFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9N
T1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVO
QUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChF
TkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9N
SVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9M
SVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQo
RU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAk
KEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykg
JChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVO
QUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZP
TlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJF
Ul9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJ
TkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkg
JChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZB
TFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFC
TEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykg
JChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VC
VlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJM
RV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlP
VVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZwppbmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2
OTcyZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiAr
NDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVf
Q0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVfRVM2X0NMQVNT
X1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVfRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NTU19BTklNQVRJ
T05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMjsKQEAgLTIxNCw0ICsy
MTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9V
VF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsKIAotRkVB
VFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRF
RF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChF
TkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxF
X0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZB
U19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19T
WU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChF
TkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURB
UFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVH
SU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMp
ICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5B
QkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQo
RU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVO
QUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5B
QkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1Ip
ICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAk
KEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RF
UFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01f
VElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNF
X0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVO
QUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5U
UykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9M
RUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVG
RVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQo
RU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVf
TUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FM
RSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9I
V0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExV
R0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9Q
Uk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FV
T1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9B
VVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJ
T05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NS
T0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJ
KSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NW
R19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChF
TkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJM
RV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NT
X1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykg
JChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJ
RVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQo
RU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJF
X1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChF
TkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5B
QkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAk
KEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVO
QUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFC
TEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMp
ICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5H
KSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFC
TEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NT
U19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJM
RV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFC
TEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikg
JChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVO
QUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9M
SU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1ND
SEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJ
U1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlM
U19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZF
TlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZ
UFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xP
QURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChF
TkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVf
SElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkg
JChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVS
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVf
SU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9J
T1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVG
SVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQo
RU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09O
VFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9N
T1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVO
QUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChF
TkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9N
SVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9M
SVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQo
RU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAk
KEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykg
JChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVO
QUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZP
TlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJF
Ul9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJ
TkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkg
JChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZB
TFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFC
TEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykg
JChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VC
VlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJM
RV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlP
VVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlIGIvU291cmNlL2NtYWtlL1dl
YktpdEZlYXR1cmVzLmNtYWtlCmluZGV4IDg0YzhkY2QzOTlhZjkwYzA3OWUxMTBlYWY4M2ViOTcy
OTA4OTZjNzMuLjlkM2E3ZjgzMzc0ODQ5NmMzZjEwODI3Mzg2ZmE5NmFhOGM5NTUyNGYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQorKysgYi9Tb3VyY2UvY21h
a2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKQEAgLTM5LDYgKzM5LDcgQEAgbWFjcm8oV0VCS0lUX09Q
VElPTl9CRUdJTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ0FOVkFTX1BST1hZ
ICJUb2dnbGUgQ2FudmFzUHJveHkgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVG
SU5FKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyAiVG9nZ2xlIE1lc3NhZ2VDaGFubmVsIGFuZCBN
ZXNzYWdlUG9ydCBzdXBwb3J0IiBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVf
RVM2X0NMQVNTX1NZTlRBWCAiVG9nZ2xlIEVTNiBjbGFzcyBzeW50YXggc3VwcG9ydCIgT04pCisg
ICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCAi
VG9nZ2xlIEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXggc3VwcG9ydCIgT04pCiAgICAgV0VCS0lU
X09QVElPTl9ERUZJTkUoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HICJUb2dnbGUgY29udGVudCBm
aWx0ZXJpbmcgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9D
T05URVhUX01FTlVTICJUb2dnbGUgQ29udGV4dCBNZW51IHN1cHBvcnQiIE9OKQogICAgIFdFQktJ
VF9PUFRJT05fREVGSU5FKEVOQUJMRV9DU1BfTkVYVCAiVG9nZ2xlIENvbnRlbnQgU2VjdXJpdHkg
UG9saWN5IDEuMSBzdXBwb3J0IiBPRkYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2Vjb25maWcu
aC5jbWFrZSBiL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCmluZGV4IDVlOTgzZDVlNjViMDdl
ZjdkYzUzZWM5ZDNjNmE4YTI5MzkxNzVjYjIuLjIzZGFmNTk2NjM1MDIyZGY0MjBmMjhhZGE2N2Q5
MzQ3N2NhMGUyZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCisrKyBi
L1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCkBAIC0xNCw2ICsxNCw3IEBACiAjY21ha2VkZWZp
bmUwMSBFTkFCTEVfQ0FOVkFTX1BST1hZCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ0hBTk5FTF9N
RVNTQUdJTkcKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYCisjY21ha2Vk
ZWZpbmUwMSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYCiAjY21ha2VkZWZpbmUwMSBF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkcKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9DT05URVhUX01F
TlVTCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ1JFREVOVElBTF9TVE9SQUdFCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0gYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KaW5kZXggMDAwMzJjMWQwMjU0ZjRkNmE3YTBmY2E1
NTMxYjM0MWQzNWQyOTU3Mi4uZDg2NmRlNjFlM2Q0ZDUyZjBjYWE3OTc4MzVhYmI3NDFjYTUwZDM5
NyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQpAQCAtNDUsNiArNDUs
NyBAQCBteSAoCiAgICAgJHRocmVlRFJlbmRlcmluZ1N1cHBvcnQsCiAgICAgJGFjY2VsZXJhdGVk
MkRDYW52YXNTdXBwb3J0LAogICAgICRhdHRhY2htZW50RWxlbWVudFN1cHBvcnQsCisgICAgJGFy
cm93ZnVuY3Rpb25TeW50YXgsCiAgICAgJGJhdHRlcnlTdGF0dXNTdXBwb3J0LAogICAgICRjYW52
YXNQYXRoU3VwcG9ydCwKICAgICAkY2FudmFzUHJveHlTdXBwb3J0LApAQCAtMTU3LDYgKzE1OCw4
IEBAIG15IEBmZWF0dXJlcyA9ICgKIAogICAgIHsgb3B0aW9uID0+ICJhdHRhY2htZW50LWVsZW1l
bnQiLCBkZXNjID0+ICJUb2dnbGUgQXR0YWNobWVudCBFbGVtZW50IHN1cHBvcnQiLAogICAgICAg
ZGVmaW5lID0+ICJFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UIiwgZGVmYXVsdCA9PiAwLCB2YWx1
ZSA9PiBcJGF0dGFjaG1lbnRFbGVtZW50U3VwcG9ydCB9LAorICAgIHsgb3B0aW9uID0+ICJhcnJv
d2Z1bmN0aW9uLXN5bnRheCIsIGRlc2MgPT4gIlRvZ2dsZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3lu
dGF4IHN1cHBvcnQiLAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGFycm93ZnVuY3Rpb25TeW50YXggfSwK
IAogICAgIHsgb3B0aW9uID0+ICJiYXR0ZXJ5LXN0YXR1cyIsIGRlc2MgPT4gIlRvZ2dsZSBCYXR0
ZXJ5IFN0YXR1cyBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0JBVFRFUllfU1RB
VFVTIiwgZGVmYXVsdCA9PiBpc0VmbCgpLCB2YWx1ZSA9PiBcJGJhdHRlcnlTdGF0dXNTdXBwb3J0
IH0sCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggNGE4NTA5ZGQwMjdi
MmY4ODY1ZGFjYjU3MTY5OTdkNzA4MTVmNGNiZi4uOWYwY2M4YTg3ZGVmZjAzYzllZDRlMjM0ZDEx
NDY3ZmFmZWM0N2Y2OCAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDE1LTA0LTEzICAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZA
Z21haWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24g
c3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
IEFkZGVkIGZlYXR1cmUgZmxhZyB0byBzd2l0Y2ggb24vb2ZmIGVzNiBhcnJvdyBmdW5jdGlvbiBF
TkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYCisKKyAgICAgICAgICogU291cmNlL2NtYWtl
L1dlYktpdEZlYXR1cmVzLmNtYWtlOgorICAgICAgICAgKiBTb3VyY2UvY21ha2Vjb25maWcuaC5j
bWFrZToKKwogMjAxNS0wNC0xMyAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFtjbWFrZV0gQWRkIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpIHRvIHRo
ZSBidWlsZCBzeXN0ZW0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250911</attachid>
            <date>2015-04-16 04:54:09 -0700</date>
            <delta_ts>2015-04-16 05:03:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150416145310.patch</filename>
            <type>text/plain</type>
            <size>14777</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyNzkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
NWQwN2Q4NTE4NWM2NmZlMzU3ZmViZDYxNDYwZjY4YjY5OTNlOTM1Li42MThlN2E4MWQzZjQ4ZDIy
ZWUzZGJjMzdkNzRmMWU2MDc0OGMxZjkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxNS0wNC0xNiAgU2thY2hrb3YgT2xla3NhbmRyICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5
bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQw
ODU1CisgICAgICAgIFNtYWxsIHJlZmFjdG9yaW5nIGFuZCBhZGRpbmcgbmV3IHRlc3RzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBqaXQvSklUT3Bl
cmF0aW9ucy5jcHA6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisgICAgICAgICogcGFy
c2VyL1NvdXJjZUNvZGUuaDoKKyAgICAgICAgKiBydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oOgor
ICAgICAgICAKKwogMjAxNS0wNC0xMiAgQWxleGFuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21h
aWwuY29tPgogICAgICAgICBTbWFsbCByZWZhY3RvcmluZyBvZiB0aGUgcGFyY2VyLmNwcCBmaWxl
LiBJdCBpcyBuZWNlc3NhcnkgdG8gaW5jcmVhc2UgcmVhZGFiaWxpdHkgb2YgdGhlIHBhdGNoCiAg
ICAgICAgIHdpdGggRVM2IEFycm93IGZ1bmN0aW9uIGltcGxlbWVudGF0aW9uCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAppbmRleCA5MGMyMmVhNmEwMjQzNTUx
NmFlN2FmMjJlYmU5ODk0NWNjZDhmNTY4Li4wOTM3ZGQ4NTVmYzI1ZmY3MzNlOTI1ZmNmZDQ1NWFk
MGQwZDcyNjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJh
dGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5j
cHAKQEAgLTk1NCw3ICs5NTQsNiBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbk5ld0Z1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNTY29wZSogc2NvcAogICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBzdGF0aWNfY2FzdDxGdW5j
dGlvbkV4ZWN1dGFibGUqPihmdW5jdGlvbkV4ZWN1dGFibGUpLCBzY29wZSkpOwogfQogCi08PDw8
PDw8IEhFQUQKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3RnVuY3Rp
b25XaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRjaHBvaW50KEV4ZWNTdGF0ZSogZXhlYywg
SlNTY29wZSogc2NvcGUsIEpTQ2VsbCogZnVuY3Rpb25FeGVjdXRhYmxlKQogewogICAgIEFTU0VS
VChmdW5jdGlvbkV4ZWN1dGFibGUtPmluaGVyaXRzKEZ1bmN0aW9uRXhlY3V0YWJsZTo6aW5mbygp
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKaW5kZXggZWI2MzRkMDEy
OGFiZWMxOGNlNGUzMGUyNmEyZmU4MGIzMjk5ODJlYS4uOWY4MTI4MmE5NTZjMTIzMjA4ZWM0NTQ2
YzdhYTJiMThlZTU4ZTMwOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNw
cApAQCAtMTE3MCw3ICsxMTcwLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
U3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUJsb2NrU3RhdGVtZW4KIH0KIAogdGVt
cGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KLXRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxk
ZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJl
Y3RpdmVMaXRlcmFsTGVuZ3RoLCBGdW5jdGlvblBhcnNlVHlwZSB0eXBlKQordGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0
YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2
ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgsIEZ1bmN0aW9uUGFyc2VUeXBlIHBh
cnNlVHlwZSkKIHsKICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50
RGVwdGgpOwogICAgIG1fc3RhdGVtZW50RGVwdGgrKzsKQEAgLTExODEsNyArMTE4MSw3IEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgYm9vbCBzaG91bGRTZXRFbmRPZmZzZXQgPSB0cnVl
OwogCiAjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKLSAgICBpZiAodHlwZSA9
PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJvd0Z1
bmN0aW9uUGFyc2VUeXBlKSB7CiAgICAgICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKICAg
ICAgICAgY2FzZSBDTE9TRVBBUkVOOgogICAgICAgICBjYXNlIENMT1NFQlJBQ0tFVDoKQEAgLTEy
NDQsNiArMTI0NCwxMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1l
bnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCiAgICAgY2FzZSBBUlJPV0ZVTkNUSU9OOgogICAgICAgICBy
ZXN1bHQgPSBwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoY29udGV4dCk7CisgICAgICAgIC8v
IENvbnN1bWUgdGhlIGVuZCBvZiBhcnJvdyBmdW5jdGlvbiAsO10pIGFuZCBwcmV2ZW50CisgICAg
ICAgIC8vIHBhcnNlIHRoaXMgc3ltYm9scyBieSBwYXJzZVN0YXRlbWVudCBhcyBzZXBhcmF0ZSBz
dGF0ZW1lbnQKKyAgICAgICAgaWYgKHBhcnNlVHlwZSA9PSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VU
eXBlKQorICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICBicmVhazsKICNlbmRpZgogICAgIGNh
c2UgUkVUVVJOOgpAQCAtMTU5MSw3ICsxNTk1LDYgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQK
ICNlbmRpZgogICAgICAgICBmdW5jdGlvblNjb3BlLT5maWxsUGFyYW1ldGVyc0ZvclNvdXJjZVBy
b3ZpZGVyQ2FjaGUocGFyYW1ldGVycyk7CiAgICAgICAgIG5ld0luZm8gPSBTb3VyY2VQcm92aWRl
ckNhY2hlSXRlbTo6Y3JlYXRlKHBhcmFtZXRlcnMpOwotCiAgICAgfQogICAgIAogICAgIGZhaWxJ
ZkZhbHNlKHBvcFNjb3BlKGZ1bmN0aW9uU2NvcGUsIFRyZWVCdWlsZGVyOjpOZWVkc0ZyZWVWYXJp
YWJsZUluZm8pLCAiUGFyc2VyIGVycm9yIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
U291cmNlQ29kZS5oCmluZGV4IDkyOGU3MTJhOTBlMzQ4OTg4YmMzNTU0ODk4NzViMDkwNzc2NzU1
MjMuLjUwZDUyNjM5Nzk0M2UzODFkMzgwZWM0M2Q4MmQ1YjYzZjdmMDhkYzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCkBAIC0xMjgsNyArMTI4LDcgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgIC8vIEZpeG1lOiBVc2UgYmV0dGVyIGFwcHJvYWNoIHRvIGNo
ZWNrIHN5bWJvbAogICAgICAgICBBU1NFUlQocHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dG
dW5jdGlvbiAtIDFdID09ICcsJyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0
aW9uIC0gMV0gPT0gJzsnIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24g
LSAxXSA9PSAnKScgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFd
ID09ICddJyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0g
J30nKTsKICAgICAgICAgc3RhcnRDb2x1bW4gKz0gMTsgLy8gQ29udmVydCB0byBiYXNlIDEuCi0g
ICAgICAgIHJldHVybiBTb3VyY2VDb2RlKHByb3ZpZGVyKCksIHN0YXJ0QXJyb3dGdW5jdGlvbiwg
ZW5kQXJyb3dGdW5jdGlvbiAtIDEsIGZpcnN0TGluZSwgc3RhcnRDb2x1bW4pOworICAgICAgICBy
ZXR1cm4gU291cmNlQ29kZShwcm92aWRlcigpLCBzdGFydEFycm93RnVuY3Rpb24sIGVuZEFycm93
RnVuY3Rpb24sIGZpcnN0TGluZSwgc3RhcnRDb2x1bW4pOwogICAgIH0KICNlbmRpZgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oCmluZGV4IDc4
MDE1ZDM4NzIxY2NhNDRhZTJmNjVjYjZkNzdiNmE2NTIyMDk2NWQuLmYxMzE0M2MzMTEzZWNhMTBh
ZGRlMThiYzUxOTg5Y2M1NWQ3YzFjNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oCkBAIC0zNiw3ICszNiw5IEBAIG5hbWVzcGFjZSBKU0Mg
ewogY2xhc3MgSlNBcnJvd0Z1bmN0aW9uIDogcHVibGljIEpTRnVuY3Rpb24gewogcHVibGljOgog
ICAgIHR5cGVkZWYgSlNGdW5jdGlvbiBCYXNlOwotICAgICAgICAKKyAgICAKKyAgICBjb25zdCBz
dGF0aWMgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNIYXNJbnN0YW5jZSB8IEJh
c2U6OlN0cnVjdHVyZUZsYWdzOworICAgIAogICAgIHN0YXRpYyBKU0Fycm93RnVuY3Rpb24qIGNy
ZWF0ZShWTSYgdm0sIEpTU2NvcGUqIHNjb3BlLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFi
bGUsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgewogICAgICAgICBKU0Fycm93
RnVuY3Rpb24qIGZ1bmN0aW9uID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8SlNBcnJvd0Z1
bmN0aW9uPih2bS5oZWFwKSkgSlNBcnJvd0Z1bmN0aW9uKHZtLCBzY29wZSwgZXhlY3V0YWJsZSwg
Z2xvYmFsT2JqZWN0LT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCkpOwpAQCAtNTgsOCArNjAsNyBA
QCBwdWJsaWM6CiAgICAgREVDTEFSRV9JTkZPOwogCiBwcm90ZWN0ZWQ6Ci0gICAgY29uc3Qgc3Rh
dGljIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzSGFzSW5zdGFuY2UgfCBCYXNl
OjpTdHJ1Y3R1cmVGbGFnczsKLSAgICAgICAgCisKICAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxk
cmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CiAgICAgICAgIAogcHJpdmF0ZToKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3Bh
cmFtdGVyLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0
aW9uLWFzcGFyYW10ZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjM2MWI4ZGIwMjI4Mjc5NmQxYmIwNGY1ZGJk
NDAxOWI3Mjg5ZjJjYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3BhcmFtdGVyLmpzCkBAIC0wLDAgKzEsOCBAQAor
Ly8gSW5zcGlyZWQgYnkgbW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFj
dHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsK
KyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQg
d2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit0ZXN0Q2FzZSgiIiArIFsxLCAyLCAz
LCA0XS5tYXAoeCA9PiB4LCAzMiksICIxLDIsMyw0IiwgIkVycm9yOiBhcnJvdyBmdW5jdGlvbiBh
cyB0aGUgcGFyYW10ZXJzLiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rl
c3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHktMS5qcyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTEuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZmQxZDQ3YTQ4MDc1ZWM1OThjNmJlMWUwN2Q3OGEzNTI2MzUzYTkxMgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1hc3NvY2lhdGl2aXR5LTEuanMKQEAgLTAsMCArMSwxMyBAQAorLy8gSW5zcGlyZWQg
YnkgbW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0
ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBt
ZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0
dWFsICsgIiciOworICB9Cit9OworCit2YXIgYWYxLCBhZjIsIGFmMzsKK2FmMSA9IGFmMiA9IGFm
MyA9PiBhZjEgPSBhZjIgPSBhZjM7Cit0ZXN0Q2FzZShhZjEsIGFmMiwgIkVycm9yOiB3cm9uZyBh
c3NvY2lhdGl2aXR5ICMxLiIpOworYWYxKDEzKTsKK3Rlc3RDYXNlKGFmMiwgMTMsICJFcnJvcjog
d3JvbmcgYXNzb2NpYXRpdml0eSAjMi4iKTsKK3Rlc3RDYXNlKGFmMSwgMTMsICJFcnJvcjogd3Jv
bmcgYXNzb2NpYXRpdml0eSAjMy4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTIuanMgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0y
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjJlZGQ4MzljNmJjN2VkNmE0MGVmZmJiYzg3NTRlZDFiZmQ4MDZiNDMK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0yLmpzCkBAIC0wLDAgKzEsMTQgQEAKKy8vIEluc3Bp
cmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4
cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhy
b3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiAr
IGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIHM9IiI7CitzICs9IHggPT4geC5uYW1lOwor
CisvLyBGaXggbWUuIFBvc3NpYmxlIHdlIGhhdmUgbm90IHVzZSB0aGUgSlNCb3VudEZ1bmN0aW9u
IHdyYXBwZXIgZm9yIHRoZSBsZXhpY2FsCisvLyBiaW5kaW5nIG9mIHRoZSB0aGlzIGFuZCB1c2Ug
ZGlyZWN0IGluamVjdGlvbiBvZiB0aGUgJ3RoaXMnIHZhbHVlCisvLyBpbnRvIGFycnJvdyBmdW5j
dGlvbgorLy8gdGVzdENhc2UocywgInggPT4geC5uYW1lIiAsICJFcnJvcjogd3JvbmcgdG9TdHJp
bmcgY29udmVyc2lvbi4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LmpzIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHkuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNjdlZDE1M2NlZWJhNTI2MjI4ZWNhODIxMzA0NjlhOTI0NGIxNGMwNQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1hc3NvY2lhdGl2aXR5LmpzCkBAIC0wLDAgKzEsMTAgQEAKKy8vIEluc3BpcmVkIGJ5IG1vemls
bGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNz
YWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSAr
ICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICIn
IjsKKyAgfQorfTsKKwordmFyIGFmID0gYSA9PiBiID0+IGE7CisKK3Rlc3RDYXNlKGFmKCdBQkMn
KSgnREVGJyksICdBQkMnLCAiRXJyb3I6IHdyb25nIG5lc3RlZCBhcnJvdyBmdW5jdGlvbnMuIik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tYmxvY2stMS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJy
b3dmdW5jdGlvbi1ibG9jay0xLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBjNTcxYmI3MmZjZmVmNTMwYzU5ZGI0
Yjg2MGNhNGYwYTk2YTQxMTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2stMS5qcwpAQCAtMCwwICsxLDExIEBA
CisvLyBJbnNwaXJlZCBieSBtb3ppbGxhIHRlc3RzCit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAo
YWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkg
eworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1
dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBmID0gKCkgPT4ge307Cit0
ZXN0Q2FzZSh0eXBlb2YgZigpLCAndW5kZWZpbmVkJywgIkVycm9yOiB3cm9uZyBhcnJvdyBmdW5j
dGlvbiBibG9jay4iKTsKK3ZhciBnID0gKCkgPT4gKHt9KTsKK3Rlc3RDYXNlKHR5cGVvZiBnKCks
ICdvYmplY3QnLCAiRXJyb3I6IHdyb25nIGFycm93IGZ1bmN0aW9uIGJsb2NrLiIpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJs
b2NrLTIuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tYmxvY2stMi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40N2VlMzUyY2YwMWQxMzZlMzAyOTIyNzM2YzVjODBl
ZjUzYzAzZjZlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJsb2NrLTIuanMKQEAgLTAsMCArMSwxMCBAQAorLy8gSW5z
cGlyZWQgYnkgbW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwg
ZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0
aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICci
ICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgYWYgPSBhID0+IHsgYSArIDE7IH07CisK
K3Rlc3RDYXNlKHR5cGVvZiBhZigwKSwgJ3VuZGVmaW5lZCcsICJFcnJvcjogd3JvbmcgYXJyb3cg
ZnVuY3Rpb24gYmxvY2sgIzIuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY29uc3RydWN0b3IuanMgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY29uc3RydWN0b3IuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOTUwN2I1MzY0ZjA0MTEzNTg1ZWFiYThjMjRhNDdhNGExMGQxNmI3YgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDE4IEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlv
biAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3Rl
ZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIics
IGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBzaW1wbGVBcnJvd0Z1
bmN0aW9uID0gKCkgPT4ge307CisKK3ZhciBlcnJvck9uQ3JlYXRlID0gZmFsc2U7CisKK3RyeSB7
CisgIHZhciBmYyA9IG5ldyBzaW1wbGVBcnJvd0Z1bmN0aW9uKCk7Cit9CitjYXRjaCAoZSkgewor
ICBlcnJvck9uQ3JlYXRlID0gdHJ1ZTsKK30KKwordGVzdENhc2UoZXJyb3JPbkNyZWF0ZSwgdHJ1
ZSwgIkVycm9yOiBObyBlcnJvciBkdXJpbmcgcnVuIG5ldyBBcnJvd0Z1bmN0aW9uIik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
bGV4aWNhbHRoaXMtMS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJy
b3dmdW5jdGlvbi1sZXhpY2FsdGhpcy0xLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1NTMxZjU3NTYyZjI4Njhl
ZWFkMzlmY2Q2NmVlNTA3OGJhY2VkMWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbHRoaXMtMS5qcwpAQCAt
MCwwICsxLDE3IEBACit2YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFj
dHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsK
KyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQg
d2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCitmdW5jdGlvbiBEb2cobmFtZSkgewor
ICB0aGlzLm5hbWUgPSBuYW1lOworICB0aGlzLmdldE5hbWUgPSAoKSA9PiBldmFsKCJ0aGlzLm5h
bWUiKTsKKyAgdGhpcy5nZXROYW1lSGFyZCA9ICgpID0+IGV2YWwoIigoKSA9PiB0aGlzLm5hbWUp
KCkiKTsKK30KKwordmFyIGQgPSBuZXcgRG9nKCJNYXgiKTsKK3Rlc3RDYXNlKGQuZ2V0TmFtZSgp
LCBkLm5hbWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2Yg
dGhlIGFycm93IGZ1bmN0aW9uICMxIik7Cit0ZXN0Q2FzZShkLmdldE5hbWVIYXJkKCksIGQubmFt
ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24gIzIiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1vdGhlcnMuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tb3RoZXJzLmpzCmluZGV4IGViYmY4NTllMjAzZWIx
ZjU0YWNhZTFkNDA4M2NhM2RkM2RjOTc2MWYuLmZlYmExMWYzMDIyZTM0YTgwMDBhNTcwMDc2ZGIx
YTU1YTRhMzJiMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi1vdGhlcnMuanMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rl
c3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLW90aGVycy5qcwpAQCAtMSw2ICsxLDQgQEAKLXZhciBy
ZXN1bHQ7Ci0KLSB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVz
c2FnZSkgewordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3Nh
Z2UpIHsKICAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKICAgICB0aHJvdyBtZXNzYWdlICsg
Ii4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIici
OwogICB9CkBAIC04LDIzICs2LDggQEAgdmFyIHJlc3VsdDsKIAogdmFyIHNpbXBsZUFycm93RnVu
Y3Rpb24gPSAoKSA9PiB7fTsKIAotdGVzdENhc2UodHlwZW9mIHNpbXBsZUFycm93RnVuY3Rpb24s
ICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNvcnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24iKTsKLQogdGVzdENhc2UoT2JqZWN0LmdldFByb3RvdHlwZU9mKHNpbXBsZUFycm93RnVuY3Rp
b24pLCBGdW5jdGlvbi5wcm90b3R5cGUsICJFcnJvcjogTm90IGNvcnJlY3QgZ2V0UHJvdG90eXBl
T2YgdmFsdWUgZm9yIGFycm93IGZ1bmN0aW9uIik7CiAKIHRlc3RDYXNlKHNpbXBsZUFycm93RnVu
Y3Rpb24gaW5zdGFuY2VvZiBGdW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1
bHQgZm9yIGluc3RhbmNlb2YgbWV0aG9kIGZvciBhcnJvdyBmdW5jdGlvbiIpOwogCiB0ZXN0Q2Fz
ZShzaW1wbGVBcnJvd0Z1bmN0aW9uLmNvbnN0cnVjdG9yID09IEZ1bmN0aW9uLCB0cnVlLCAiRXJy
b3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgY29uc3RydWN0b3IgbWV0aG9kIG9mIGFycm93IGZ1
bmN0aW9uIik7Ci0KLXRlc3RDYXNlKHR5cGVvZiBzaW1wbGVBcnJvd0Z1bmN0aW9uLnByb3RvdHlw
ZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBw
cm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24iKTsKLQotdmFyIGVycm9yT25DcmVhdGUgPSBmYWxz
ZTsKLQotdHJ5IHsKLSAgdmFyIGZjID0gbmV3IHNpbXBsZUFycm93RnVuY3Rpb24oKTsKLX0KLWNh
dGNoIChlKSB7Ci0gIGVycm9yT25DcmVhdGUgPSB0cnVlOwotfQotCi10ZXN0Q2FzZShlcnJvck9u
Q3JlYXRlLCB0cnVlLCAiRXJyb3I6IE5vIGVycm9yIGR1cmluZyBydW4gbmV3IEFycm93RnVuY3Rp
b24iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJy
b3dmdW5jdGlvbi10eXBlb2YuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L2Fycm93ZnVuY3Rpb24tdHlwZW9mLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVmMmE3ZjU0NDc2YWJhOWMyODky
M2MzNWYxZGIzYzQzMjdhYzk0NjkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tdHlwZW9mLmpzCkBAIC0wLDAgKzEsMjEg
QEAKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7
CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4
cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAg
fQorfTsKKwordmFyIGFmMSA9ICgpID0+IHt9OwordmFyIGFmMiA9IChhKSA9PiB7YSArIDF9Owor
Cit0ZXN0Q2FzZSh0eXBlb2YgYWYxLCAiZnVuY3Rpb24iLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHR5
cGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMxIik7Cit0ZXN0Q2FzZSh0eXBlb2YgYWYxLnByb3Rv
dHlwZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZv
ciBwcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24gIzEiKTsKKwordGVzdENhc2UodHlwZW9mIGFm
MiwgImZ1bmN0aW9uIiwgIkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbiAjMiIpOwordGVzdENhc2UodHlwZW9mIGFmMi5wcm90b3R5cGUgPT09ICd1bmRlZmluZWQn
LCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJvdG90eXBlIG9mIGFycm93
IGZ1bmN0aW9uICMyIik7CisKK3Rlc3RDYXNlKHR5cGVvZiAoKCk9Pnt9KSwgImZ1bmN0aW9uIiwg
IkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMyIpOwordGVz
dENhc2UodHlwZW9mICgoKT0+e30pLnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJF
cnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBwcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24g
IzMiKTsKKworCit0ZXN0Q2FzZSh0eXBlb2YgKChiKSA9PiB7YiArIDF9KSwgImZ1bmN0aW9uIiwg
IkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNCIpOwordGVz
dENhc2UodHlwZW9mICgoYikgPT4ge2IgKyAxfSkucHJvdG90eXBlID09PSAndW5kZWZpbmVkJywg
dHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBm
dW5jdGlvbiAjNCIpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250912</attachid>
            <date>2015-04-16 05:02:28 -0700</date>
            <delta_ts>2015-04-17 10:11:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150416150130.patch</filename>
            <type>text/plain</type>
            <size>15377</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyODgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
Mzc3NmYzOTU4MjhhYmEwZTM5OTczMTRkNjBlZjAzYzRkMWY4Y2FlLi44ZTZkODEzNDMyMTU4MzA4
MWE2ZTQ3NjRhNDY5ZjUyNmNmMDhjYjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxNS0wNC0xNiAgU2thY2hrb3YgT2xla3NhbmRyICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5
bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQw
ODU1CisgICAgICAgIFNtYWxsIHJlZmFjdG9yaW5nIGFuZCBhZGRpbmcgbmV3IHRlc3RzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBqaXQvSklUT3Bl
cmF0aW9ucy5jcHA6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisgICAgICAgICogcGFy
c2VyL1NvdXJjZUNvZGUuaDoKKyAgICAgICAgKiBydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oOgor
ICAgICAgICAKKwogMjAxNS0wNC0xMiAgQWxleGFuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21h
aWwuY29tPgogICAgICAgICBTbWFsbCByZWZhY3RvcmluZyBvZiB0aGUgcGFyY2VyLmNwcCBmaWxl
LiBJdCBpcyBuZWNlc3NhcnkgdG8gaW5jcmVhc2UgcmVhZGFiaWxpdHkgb2YgdGhlIHBhdGNoCiAg
ICAgICAgIHdpdGggRVM2IEFycm93IGZ1bmN0aW9uIGltcGxlbWVudGF0aW9uCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAppbmRleCA5MGMyMmVhNmEwMjQzNTUx
NmFlN2FmMjJlYmU5ODk0NWNjZDhmNTY4Li4wOTM3ZGQ4NTVmYzI1ZmY3MzNlOTI1ZmNmZDQ1NWFk
MGQwZDcyNjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJh
dGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5j
cHAKQEAgLTk1NCw3ICs5NTQsNiBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbk5ld0Z1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNTY29wZSogc2NvcAogICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBzdGF0aWNfY2FzdDxGdW5j
dGlvbkV4ZWN1dGFibGUqPihmdW5jdGlvbkV4ZWN1dGFibGUpLCBzY29wZSkpOwogfQogCi08PDw8
PDw8IEhFQUQKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3RnVuY3Rp
b25XaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRjaHBvaW50KEV4ZWNTdGF0ZSogZXhlYywg
SlNTY29wZSogc2NvcGUsIEpTQ2VsbCogZnVuY3Rpb25FeGVjdXRhYmxlKQogewogICAgIEFTU0VS
VChmdW5jdGlvbkV4ZWN1dGFibGUtPmluaGVyaXRzKEZ1bmN0aW9uRXhlY3V0YWJsZTo6aW5mbygp
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKaW5kZXggZWI2MzRkMDEy
OGFiZWMxOGNlNGUzMGUyNmEyZmU4MGIzMjk5ODJlYS4uOTViMzY1MmYxODY3MzZjYzlkZDk3ZDZk
NGJjZjA2MDJkN2FlNDlmNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNw
cApAQCAtMTE3MCw3ICsxMTcwLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
U3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUJsb2NrU3RhdGVtZW4KIH0KIAogdGVt
cGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KLXRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxk
ZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJl
Y3RpdmVMaXRlcmFsTGVuZ3RoLCBGdW5jdGlvblBhcnNlVHlwZSB0eXBlKQordGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0
YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2
ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgsIEZ1bmN0aW9uUGFyc2VUeXBlIHBh
cnNlVHlwZSkKIHsKICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50
RGVwdGgpOwogICAgIG1fc3RhdGVtZW50RGVwdGgrKzsKQEAgLTExODEsNyArMTE4MSw3IEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgYm9vbCBzaG91bGRTZXRFbmRPZmZzZXQgPSB0cnVl
OwogCiAjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKLSAgICBpZiAodHlwZSA9
PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJvd0Z1
bmN0aW9uUGFyc2VUeXBlKSB7CiAgICAgICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKICAg
ICAgICAgY2FzZSBDTE9TRVBBUkVOOgogICAgICAgICBjYXNlIENMT1NFQlJBQ0tFVDoKQEAgLTEy
NDQsNiArMTI0NCwxMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1l
bnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCiAgICAgY2FzZSBBUlJPV0ZVTkNUSU9OOgogICAgICAgICBy
ZXN1bHQgPSBwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoY29udGV4dCk7CisgICAgICAgIC8v
IENvbnN1bWUgdGhlIGVuZCBvZiBhcnJvdyBmdW5jdGlvbiAsO10pIGFuZCBwcmV2ZW50CisgICAg
ICAgIC8vIHBhcnNlIHRoaXMgc3ltYm9scyBieSBwYXJzZVN0YXRlbWVudCBhcyBzZXBhcmF0ZSBz
dGF0ZW1lbnQKKyAgICAgICAgaWYgKHBhcnNlVHlwZSA9PSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VU
eXBlKQorICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICBicmVhazsKICNlbmRpZgogICAgIGNh
c2UgUkVUVVJOOgpAQCAtMTQ1NSw2ICsxNDU5LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQK
ICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKICAgICBjYXNlIEFycm93RnVuY3Rpb25QYXJzZVR5cGU6IHsKICAgICAg
ICAgcGFyYW1ldGVyc1N0YXJ0ID0gcGFyc2VBcnJvd0Z1bmN0aW9uUGFyYW10ZXJzKGNvbnRleHQs
IG1vZGUsIGluZm8pOwogICAgICAgICAKQEAgLTE0NjQsNiArMTQ2OSw3IEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbklu
Zm8oVHJlZUJ1aWxkCiAgICAgICAgIGluZm8uYXJyb3dGdW5jdGlvbk9mZnNldCA9IG1fdG9rZW4u
bV9kYXRhLm9mZnNldDsKICAgICAgICAgYnJlYWs7CiAgICAgfQorI2VuZGlmCiAgICAgfQogCiAg
ICAgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCA9IGlzQ2xhc3NDb25zdHJ1Y3RvciA/
IG93bmVyQ2xhc3NLaW5kIDogQ29uc3RydWN0b3JLaW5kOjpOb25lOwpAQCAtMTU5MSw3ICsxNTk3
LDYgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICNlbmRpZgogICAgICAgICBmdW5jdGlvblNj
b3BlLT5maWxsUGFyYW1ldGVyc0ZvclNvdXJjZVByb3ZpZGVyQ2FjaGUocGFyYW1ldGVycyk7CiAg
ICAgICAgIG5ld0luZm8gPSBTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6Y3JlYXRlKHBhcmFtZXRl
cnMpOwotCiAgICAgfQogICAgIAogICAgIGZhaWxJZkZhbHNlKHBvcFNjb3BlKGZ1bmN0aW9uU2Nv
cGUsIFRyZWVCdWlsZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUluZm8pLCAiUGFyc2VyIGVycm9yIik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCmluZGV4IDkyOGU3MTJh
OTBlMzQ4OTg4YmMzNTU0ODk4NzViMDkwNzc2NzU1MjMuLjUwZDUyNjM5Nzk0M2UzODFkMzgwZWM0
M2Q4MmQ1YjYzZjdmMDhkYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvU291cmNlQ29kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNl
Q29kZS5oCkBAIC0xMjgsNyArMTI4LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIC8vIEZp
eG1lOiBVc2UgYmV0dGVyIGFwcHJvYWNoIHRvIGNoZWNrIHN5bWJvbAogICAgICAgICBBU1NFUlQo
cHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICcsJyB8fCBwcm92
aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJzsnIHx8IHByb3ZpZGVy
KCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnKScgfHwgcHJvdmlkZXIoKS0+
c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICddJyB8fCBwcm92aWRlcigpLT5zb3Vy
Y2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJ30nKTsKICAgICAgICAgc3RhcnRDb2x1bW4g
Kz0gMTsgLy8gQ29udmVydCB0byBiYXNlIDEuCi0gICAgICAgIHJldHVybiBTb3VyY2VDb2RlKHBy
b3ZpZGVyKCksIHN0YXJ0QXJyb3dGdW5jdGlvbiwgZW5kQXJyb3dGdW5jdGlvbiAtIDEsIGZpcnN0
TGluZSwgc3RhcnRDb2x1bW4pOworICAgICAgICByZXR1cm4gU291cmNlQ29kZShwcm92aWRlcigp
LCBzdGFydEFycm93RnVuY3Rpb24sIGVuZEFycm93RnVuY3Rpb24sIGZpcnN0TGluZSwgc3RhcnRD
b2x1bW4pOwogICAgIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXJyb3dGdW5jdGlvbi5oCmluZGV4IDc4MDE1ZDM4NzIxY2NhNDRhZTJmNjVjYjZkNzdi
NmE2NTIyMDk2NWQuLmYxMzE0M2MzMTEzZWNhMTBhZGRlMThiYzUxOTg5Y2M1NWQ3YzFjNDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oCkBA
IC0zNiw3ICszNiw5IEBAIG5hbWVzcGFjZSBKU0MgewogY2xhc3MgSlNBcnJvd0Z1bmN0aW9uIDog
cHVibGljIEpTRnVuY3Rpb24gewogcHVibGljOgogICAgIHR5cGVkZWYgSlNGdW5jdGlvbiBCYXNl
OwotICAgICAgICAKKyAgICAKKyAgICBjb25zdCBzdGF0aWMgdW5zaWduZWQgU3RydWN0dXJlRmxh
Z3MgPSBPdmVycmlkZXNIYXNJbnN0YW5jZSB8IEJhc2U6OlN0cnVjdHVyZUZsYWdzOworICAgIAog
ICAgIHN0YXRpYyBKU0Fycm93RnVuY3Rpb24qIGNyZWF0ZShWTSYgdm0sIEpTU2NvcGUqIHNjb3Bl
LCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QpCiAgICAgewogICAgICAgICBKU0Fycm93RnVuY3Rpb24qIGZ1bmN0aW9uID0gbmV3IChO
b3ROdWxsLCBhbGxvY2F0ZUNlbGw8SlNBcnJvd0Z1bmN0aW9uPih2bS5oZWFwKSkgSlNBcnJvd0Z1
bmN0aW9uKHZtLCBzY29wZSwgZXhlY3V0YWJsZSwgZ2xvYmFsT2JqZWN0LT5hcnJvd0Z1bmN0aW9u
U3RydWN0dXJlKCkpOwpAQCAtNTgsOCArNjAsNyBAQCBwdWJsaWM6CiAgICAgREVDTEFSRV9JTkZP
OwogCiBwcm90ZWN0ZWQ6Ci0gICAgY29uc3Qgc3RhdGljIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdz
ID0gT3ZlcnJpZGVzSGFzSW5zdGFuY2UgfCBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsKLSAgICAgICAg
CisKICAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7
CiAgICAgICAgIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3BhcmFtdGVyLmpzIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzcGFyYW10ZXIuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNjM2MWI4ZGIwMjI4Mjc5NmQxYmIwNGY1ZGJkNDAxOWI3Mjg5ZjJjYwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1h
c3BhcmFtdGVyLmpzCkBAIC0wLDAgKzEsOCBAQAorLy8gSW5zcGlyZWQgYnkgbW96aWxsYSB0ZXN0
cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsK
KyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhw
ZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9
Cit9OworCit0ZXN0Q2FzZSgiIiArIFsxLCAyLCAzLCA0XS5tYXAoeCA9PiB4LCAzMiksICIxLDIs
Myw0IiwgIkVycm9yOiBhcnJvdyBmdW5jdGlvbiBhcyB0aGUgcGFyYW10ZXJzLiIpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFz
c29jaWF0aXZpdHktMS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJy
b3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmQxZDQ3YTQ4MDc1ZWM1
OThjNmJlMWUwN2Q3OGEzNTI2MzUzYTkxMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTEuanMK
QEAgLTAsMCArMSwxMyBAQAorLy8gSW5zcGlyZWQgYnkgbW96aWxsYSB0ZXN0cwordmFyIHRlc3RD
YXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVh
bCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBl
eHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIg
YWYxLCBhZjIsIGFmMzsKK2FmMSA9IGFmMiA9IGFmMyA9PiBhZjEgPSBhZjIgPSBhZjM7Cit0ZXN0
Q2FzZShhZjEsIGFmMiwgIkVycm9yOiB3cm9uZyBhc3NvY2lhdGl2aXR5ICMxLiIpOworYWYxKDEz
KTsKK3Rlc3RDYXNlKGFmMiwgMTMsICJFcnJvcjogd3JvbmcgYXNzb2NpYXRpdml0eSAjMi4iKTsK
K3Rlc3RDYXNlKGFmMSwgMTMsICJFcnJvcjogd3JvbmcgYXNzb2NpYXRpdml0eSAjMy4iKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1hc3NvY2lhdGl2aXR5LTIuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJlZGQ4MzljNmJj
N2VkNmE0MGVmZmJiYzg3NTRlZDFiZmQ4MDZiNDMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0y
LmpzCkBAIC0wLDAgKzEsMTQgQEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0
ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChh
Y3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICci
ICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwor
dmFyIHM9IiI7CitzICs9IHggPT4geC5uYW1lOworCisvLyBGaXggbWUuIFBvc3NpYmxlIHdlIGhh
dmUgbm90IHVzZSB0aGUgSlNCb3VudEZ1bmN0aW9uIHdyYXBwZXIgZm9yIHRoZSBsZXhpY2FsCisv
LyBiaW5kaW5nIG9mIHRoZSB0aGlzIGFuZCB1c2UgZGlyZWN0IGluamVjdGlvbiBvZiB0aGUgJ3Ro
aXMnIHZhbHVlCisvLyBpbnRvIGFycnJvdyBmdW5jdGlvbgorLy8gdGVzdENhc2UocywgInggPT4g
eC5uYW1lIiAsICJFcnJvcjogd3JvbmcgdG9TdHJpbmcgY29udmVyc2lvbi4iKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3Nv
Y2lhdGl2aXR5LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1
bmN0aW9uLWFzc29jaWF0aXZpdHkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjdlZDE1M2NlZWJhNTI2MjI4ZWNh
ODIxMzA0NjlhOTI0NGIxNGMwNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LmpzCkBAIC0wLDAg
KzEsMTAgQEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1
bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4
cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQg
KyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGFmID0gYSA9
PiBiID0+IGE7CisKK3Rlc3RDYXNlKGFmKCdBQkMnKSgnREVGJyksICdBQkMnLCAiRXJyb3I6IHdy
b25nIG5lc3RlZCBhcnJvdyBmdW5jdGlvbnMuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2stMS5qcyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ibG9jay0xLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjBjNTcxYmI3MmZjZmVmNTMwYzU5ZGI0Yjg2MGNhNGYwYTk2YTQxMTYKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tYmxvY2stMS5qcwpAQCAtMCwwICsxLDExIEBACisvLyBJbnNwaXJlZCBieSBtb3ppbGxhIHRl
c3RzCit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkg
eworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBF
eHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7Cisg
IH0KK307CisKK3ZhciBmID0gKCkgPT4ge307Cit0ZXN0Q2FzZSh0eXBlb2YgZigpLCAndW5kZWZp
bmVkJywgIkVycm9yOiB3cm9uZyBhcnJvdyBmdW5jdGlvbiBibG9jay4iKTsKK3ZhciBnID0gKCkg
PT4gKHt9KTsKK3Rlc3RDYXNlKHR5cGVvZiBnKCksICdvYmplY3QnLCAiRXJyb3I6IHdyb25nIGFy
cm93IGZ1bmN0aW9uIGJsb2NrLiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJsb2NrLTIuanMgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2stMi5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
N2VlMzUyY2YwMWQxMzZlMzAyOTIyNzM2YzVjODBlZjUzYzAzZjZlCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJsb2Nr
LTIuanMKQEAgLTAsMCArMSwxMCBAQAorLy8gSW5zcGlyZWQgYnkgbW96aWxsYSB0ZXN0cwordmFy
IHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYg
KGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQg
JyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9Owor
Cit2YXIgYWYgPSBhID0+IHsgYSArIDE7IH07CisKK3Rlc3RDYXNlKHR5cGVvZiBhZigwKSwgJ3Vu
ZGVmaW5lZCcsICJFcnJvcjogd3JvbmcgYXJyb3cgZnVuY3Rpb24gYmxvY2sgIzIuIik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
Y29uc3RydWN0b3IuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93
ZnVuY3Rpb24tY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTUwN2I1MzY0ZjA0MTEzNTg1ZWFi
YThjMjRhNDdhNGExMGQxNmI3YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsx
LDE4IEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2Fn
ZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAi
LiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7
CisgIH0KK307CisKK3ZhciBzaW1wbGVBcnJvd0Z1bmN0aW9uID0gKCkgPT4ge307CisKK3ZhciBl
cnJvck9uQ3JlYXRlID0gZmFsc2U7CisKK3RyeSB7CisgIHZhciBmYyA9IG5ldyBzaW1wbGVBcnJv
d0Z1bmN0aW9uKCk7Cit9CitjYXRjaCAoZSkgeworICBlcnJvck9uQ3JlYXRlID0gdHJ1ZTsKK30K
KwordGVzdENhc2UoZXJyb3JPbkNyZWF0ZSwgdHJ1ZSwgIkVycm9yOiBObyBlcnJvciBkdXJpbmcg
cnVuIG5ldyBBcnJvd0Z1bmN0aW9uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbHRoaXMtMS5qcyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsdGhpcy0xLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmY1NTMxZjU3NTYyZjI4NjhlZWFkMzlmY2Q2NmVlNTA3OGJhY2VkMWIKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93
ZnVuY3Rpb24tbGV4aWNhbHRoaXMtMS5qcwpAQCAtMCwwICsxLDE3IEBACit2YXIgcmVzdWx0Owor
CisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsK
KyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhw
ZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9
Cit9OworCitmdW5jdGlvbiBEb2cobmFtZSkgeworICB0aGlzLm5hbWUgPSBuYW1lOworICB0aGlz
LmdldE5hbWUgPSAoKSA9PiBldmFsKCJ0aGlzLm5hbWUiKTsKKyAgdGhpcy5nZXROYW1lSGFyZCA9
ICgpID0+IGV2YWwoIigoKSA9PiB0aGlzLm5hbWUpKCkiKTsKK30KKwordmFyIGQgPSBuZXcgRG9n
KCJNYXgiKTsKK3Rlc3RDYXNlKGQuZ2V0TmFtZSgpLCBkLm5hbWUsICJFcnJvcjogdGhpcyBpcyBu
b3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMxIik7Cit0
ZXN0Q2FzZShkLmdldE5hbWVIYXJkKCksIGQubmFtZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhp
Y2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzIiKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1vdGhl
cnMuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
b3RoZXJzLmpzCmluZGV4IGViYmY4NTllMjAzZWIxZjU0YWNhZTFkNDA4M2NhM2RkM2RjOTc2MWYu
LmZlYmExMWYzMDIyZTM0YTgwMDBhNTcwMDc2ZGIxYTU1YTRhMzJiMjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1vdGhlcnMuanMK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLW90
aGVycy5qcwpAQCAtMSw2ICsxLDQgQEAKLXZhciByZXN1bHQ7Ci0KLSB2YXIgdGVzdENhc2UgPSBm
dW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgewordmFyIHRlc3RDYXNlID0gZnVu
Y3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKICAgaWYgKGFjdHVhbCAhPT0gZXhw
ZWN0ZWQpIHsKICAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCAr
ICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOwogICB9CkBAIC04LDIzICs2LDggQEAgdmFy
IHJlc3VsdDsKIAogdmFyIHNpbXBsZUFycm93RnVuY3Rpb24gPSAoKSA9PiB7fTsKIAotdGVzdENh
c2UodHlwZW9mIHNpbXBsZUFycm93RnVuY3Rpb24sICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNv
cnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24iKTsKLQogdGVzdENhc2UoT2JqZWN0Lmdl
dFByb3RvdHlwZU9mKHNpbXBsZUFycm93RnVuY3Rpb24pLCBGdW5jdGlvbi5wcm90b3R5cGUsICJF
cnJvcjogTm90IGNvcnJlY3QgZ2V0UHJvdG90eXBlT2YgdmFsdWUgZm9yIGFycm93IGZ1bmN0aW9u
Iik7CiAKIHRlc3RDYXNlKHNpbXBsZUFycm93RnVuY3Rpb24gaW5zdGFuY2VvZiBGdW5jdGlvbiwg
dHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIGluc3RhbmNlb2YgbWV0aG9kIGZv
ciBhcnJvdyBmdW5jdGlvbiIpOwogCiB0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uLmNvbnN0
cnVjdG9yID09IEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3Ig
Y29uc3RydWN0b3IgbWV0aG9kIG9mIGFycm93IGZ1bmN0aW9uIik7Ci0KLXRlc3RDYXNlKHR5cGVv
ZiBzaW1wbGVBcnJvd0Z1bmN0aW9uLnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJF
cnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBwcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24i
KTsKLQotdmFyIGVycm9yT25DcmVhdGUgPSBmYWxzZTsKLQotdHJ5IHsKLSAgdmFyIGZjID0gbmV3
IHNpbXBsZUFycm93RnVuY3Rpb24oKTsKLX0KLWNhdGNoIChlKSB7Ci0gIGVycm9yT25DcmVhdGUg
PSB0cnVlOwotfQotCi10ZXN0Q2FzZShlcnJvck9uQ3JlYXRlLCB0cnVlLCAiRXJyb3I6IE5vIGVy
cm9yIGR1cmluZyBydW4gbmV3IEFycm93RnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi10eXBlb2YuanMgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tdHlwZW9mLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmVmMmE3ZjU0NDc2YWJhOWMyODkyM2MzNWYxZGIzYzQzMjdhYzk0NjkKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tdHlwZW9mLmpzCkBAIC0wLDAgKzEsMjEgQEAKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9u
IChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVk
KSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywg
YnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGFmMSA9ICgpID0+IHt9
OwordmFyIGFmMiA9IChhKSA9PiB7YSArIDF9OworCit0ZXN0Q2FzZSh0eXBlb2YgYWYxLCAiZnVu
Y3Rpb24iLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHR5cGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMx
Iik7Cit0ZXN0Q2FzZSh0eXBlb2YgYWYxLnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUs
ICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBwcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rp
b24gIzEiKTsKKwordGVzdENhc2UodHlwZW9mIGFmMiwgImZ1bmN0aW9uIiwgIkVycm9yOiBOb3Qg
Y29ycmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMiIpOwordGVzdENhc2UodHlwZW9m
IGFmMi5wcm90b3R5cGUgPT09ICd1bmRlZmluZWQnLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0
IHJlc3VsdCBmb3IgcHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9uICMyIik7CisKK3Rlc3RDYXNl
KHR5cGVvZiAoKCk9Pnt9KSwgImZ1bmN0aW9uIiwgIkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiAjMyIpOwordGVzdENhc2UodHlwZW9mICgoKT0+e30pLnByb3Rv
dHlwZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZv
ciBwcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24gIzMiKTsKKworCit0ZXN0Q2FzZSh0eXBlb2Yg
KChiKSA9PiB7YiArIDF9KSwgImZ1bmN0aW9uIiwgIkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiAjNCIpOwordGVzdENhc2UodHlwZW9mICgoYikgPT4ge2IgKyAx
fSkucHJvdG90eXBlID09PSAndW5kZWZpbmVkJywgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCBy
ZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiAjNCIpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251029</attachid>
            <date>2015-04-17 11:03:39 -0700</date>
            <delta_ts>2015-04-17 12:10:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150417210238.patch</filename>
            <type>text/plain</type>
            <size>15228</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyODg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
Mzc3NmYzOTU4MjhhYmEwZTM5OTczMTRkNjBlZjAzYzRkMWY4Y2FlLi40OGIxMjNlMDM5MzUxNzg1
N2Q2ZjA3OTlhMzI1NzU0MjgwYzkwMWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzOSBAQAorMjAxNS0wNC0xNyAgU2thY2hrb3YgT2xla3NhbmRyICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5
bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQw
ODU1CisgICAgICAgIEZpeCBidWlsZCBzbWFsbCBmaXhlcyBhbmQgYWRkZWQgbmV3IHRlc3RzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBqaXQvSklU
T3BlcmF0aW9ucy5jcHA6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisgICAgICAgIChK
U0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyk6CisgICAgICAgICogcGFyc2VyL1Nv
dXJjZUNvZGUuaDoKKyAgICAgICAgKEpTQzo6U291cmNlQ29kZTo6c3ViQXJyb3dFeHByZXNzaW9u
KToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3BhcmFtdGVyLmpzOiBB
ZGRlZC4KKyAgICAgICAgKHRlc3RDYXNlKToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1hc3NvY2lhdGl2aXR5LTEuanM6IEFkZGVkLgorICAgICAgICAodGVzdENhc2UpOgor
ICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHktMi5qczog
QWRkZWQuCisgICAgICAgICh0ZXN0Q2FzZSk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93
ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS5qczogQWRkZWQuCisgICAgICAgICh0ZXN0Q2FzZSk6Cisg
ICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2stMS5qczogQWRkZWQuCisg
ICAgICAgICh0ZXN0Q2FzZSk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
YmxvY2stMi5qczogQWRkZWQuCisgICAgICAgICh0ZXN0Q2FzZSk6CisgICAgICAgICogdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tY29uc3RydWN0b3IuanM6IEFkZGVkLgorICAgICAgICAodGVz
dENhc2UpOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWx0aGlz
LTEuanM6IEFkZGVkLgorICAgICAgICAodGVzdENhc2UpOgorICAgICAgICAoRG9nKToKKyAgICAg
ICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1vdGhlcnMuanM6CisgICAgICAgICh0ZXN0
Q2FzZSk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tdHlwZW9mLmpzOiBB
ZGRlZC4KKyAgICAgICAgKHRlc3RDYXNlKToKKwogMjAxNS0wNC0xMiAgQWxleGFuZHIgU2thY2hr
b3YgIDxnc2thY2hrb3ZAZ21haWwuY29tPgogICAgICAgICBTbWFsbCByZWZhY3RvcmluZyBvZiB0
aGUgcGFyY2VyLmNwcCBmaWxlLiBJdCBpcyBuZWNlc3NhcnkgdG8gaW5jcmVhc2UgcmVhZGFiaWxp
dHkgb2YgdGhlIHBhdGNoCiAgICAgICAgIHdpdGggRVM2IEFycm93IGZ1bmN0aW9uIGltcGxlbWVu
dGF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlv
bnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAppbmRl
eCA5MGMyMmVhNmEwMjQzNTUxNmFlN2FmMjJlYmU5ODk0NWNjZDhmNTY4Li4wOTM3ZGQ4NTVmYzI1
ZmY3MzNlOTI1ZmNmZDQ1NWFkMGQwZDcyNjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTk1NCw3ICs5NTQsNiBAQCBFbmNvZGVkSlNWYWx1ZSBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Z1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNTY29w
ZSogc2NvcAogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNGdW5jdGlvbjo6Y3JlYXRlKHZt
LCBzdGF0aWNfY2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihmdW5jdGlvbkV4ZWN1dGFibGUpLCBz
Y29wZSkpOwogfQogCi08PDw8PDw8IEhFQUQKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uTmV3RnVuY3Rpb25XaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRjaHBvaW50
KEV4ZWNTdGF0ZSogZXhlYywgSlNTY29wZSogc2NvcGUsIEpTQ2VsbCogZnVuY3Rpb25FeGVjdXRh
YmxlKQogewogICAgIEFTU0VSVChmdW5jdGlvbkV4ZWN1dGFibGUtPmluaGVyaXRzKEZ1bmN0aW9u
RXhlY3V0YWJsZTo6aW5mbygpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1BhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5j
cHAKaW5kZXggZWI2MzRkMDEyOGFiZWMxOGNlNGUzMGUyNmEyZmU4MGIzMjk5ODJlYS4uOTViMzY1
MmYxODY3MzZjYzlkZDk3ZDZkNGJjZjA2MDJkN2FlNDlmNyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyLmNwcApAQCAtMTE3MCw3ICsxMTcwLDcgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUJsb2Nr
U3RhdGVtZW4KIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KLXRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VT
dGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3Rp
dmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoLCBGdW5jdGlvblBhcnNlVHlwZSB0
eXBlKQordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRl
bnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgsIEZ1
bmN0aW9uUGFyc2VUeXBlIHBhcnNlVHlwZSkKIHsKICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50
RGVwdGgoJm1fc3RhdGVtZW50RGVwdGgpOwogICAgIG1fc3RhdGVtZW50RGVwdGgrKzsKQEAgLTEx
ODEsNyArMTE4MSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVu
dCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgYm9vbCBzaG91bGRT
ZXRFbmRPZmZzZXQgPSB0cnVlOwogCiAjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKLSAgICBpZiAodHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgaWYgKHBh
cnNlVHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CiAgICAgICAgIHN3aXRjaCAobV90
b2tlbi5tX3R5cGUpIHsKICAgICAgICAgY2FzZSBDTE9TRVBBUkVOOgogICAgICAgICBjYXNlIENM
T1NFQlJBQ0tFVDoKQEAgLTEyNDQsNiArMTI0NCwxMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRy
ZQogI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCiAgICAgY2FzZSBBUlJPV0ZV
TkNUSU9OOgogICAgICAgICByZXN1bHQgPSBwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoY29u
dGV4dCk7CisgICAgICAgIC8vIENvbnN1bWUgdGhlIGVuZCBvZiBhcnJvdyBmdW5jdGlvbiAsO10p
IGFuZCBwcmV2ZW50CisgICAgICAgIC8vIHBhcnNlIHRoaXMgc3ltYm9scyBieSBwYXJzZVN0YXRl
bWVudCBhcyBzZXBhcmF0ZSBzdGF0ZW1lbnQKKyAgICAgICAgaWYgKHBhcnNlVHlwZSA9PSBTdGFu
ZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKQorICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICBicmVh
azsKICNlbmRpZgogICAgIGNhc2UgUkVUVVJOOgpAQCAtMTQ1NSw2ICsxNDU5LDcgQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0
aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICB9CisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKICAgICBjYXNlIEFycm93RnVuY3Rpb25Q
YXJzZVR5cGU6IHsKICAgICAgICAgcGFyYW1ldGVyc1N0YXJ0ID0gcGFyc2VBcnJvd0Z1bmN0aW9u
UGFyYW10ZXJzKGNvbnRleHQsIG1vZGUsIGluZm8pOwogICAgICAgICAKQEAgLTE0NjQsNiArMTQ2
OSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIGluZm8uYXJyb3dGdW5jdGlv
bk9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKICAgICAgICAgYnJlYWs7CiAgICAgfQor
I2VuZGlmCiAgICAgfQogCiAgICAgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCA9IGlz
Q2xhc3NDb25zdHJ1Y3RvciA/IG93bmVyQ2xhc3NLaW5kIDogQ29uc3RydWN0b3JLaW5kOjpOb25l
OwpAQCAtMTU5MSw3ICsxNTk3LDYgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29s
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICNlbmRpZgog
ICAgICAgICBmdW5jdGlvblNjb3BlLT5maWxsUGFyYW1ldGVyc0ZvclNvdXJjZVByb3ZpZGVyQ2Fj
aGUocGFyYW1ldGVycyk7CiAgICAgICAgIG5ld0luZm8gPSBTb3VyY2VQcm92aWRlckNhY2hlSXRl
bTo6Y3JlYXRlKHBhcmFtZXRlcnMpOwotCiAgICAgfQogICAgIAogICAgIGZhaWxJZkZhbHNlKHBv
cFNjb3BlKGZ1bmN0aW9uU2NvcGUsIFRyZWVCdWlsZGVyOjpOZWVkc0ZyZWVWYXJpYWJsZUluZm8p
LCAiUGFyc2VyIGVycm9yIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1NvdXJjZUNvZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29k
ZS5oCmluZGV4IDkyOGU3MTJhOTBlMzQ4OTg4YmMzNTU0ODk4NzViMDkwNzc2NzU1MjMuLjUwZDUy
NjM5Nzk0M2UzODFkMzgwZWM0M2Q4MmQ1YjYzZjdmMDhkYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCkBAIC0xMjgsNyArMTI4LDcgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIC8vIEZpeG1lOiBVc2UgYmV0dGVyIGFwcHJvYWNoIHRvIGNoZWNrIHN5bWJv
bAogICAgICAgICBBU1NFUlQocHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAt
IDFdID09ICcsJyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0g
PT0gJzsnIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAn
KScgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICddJyB8
fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJ30nKTsKICAg
ICAgICAgc3RhcnRDb2x1bW4gKz0gMTsgLy8gQ29udmVydCB0byBiYXNlIDEuCi0gICAgICAgIHJl
dHVybiBTb3VyY2VDb2RlKHByb3ZpZGVyKCksIHN0YXJ0QXJyb3dGdW5jdGlvbiwgZW5kQXJyb3dG
dW5jdGlvbiAtIDEsIGZpcnN0TGluZSwgc3RhcnRDb2x1bW4pOworICAgICAgICByZXR1cm4gU291
cmNlQ29kZShwcm92aWRlcigpLCBzdGFydEFycm93RnVuY3Rpb24sIGVuZEFycm93RnVuY3Rpb24s
IGZpcnN0TGluZSwgc3RhcnRDb2x1bW4pOwogICAgIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRl
ci5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1h
c3BhcmFtdGVyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzNjFiOGRiMDIyODI3OTZkMWJiMDRmNWRiZDQwMTli
NzI4OWYyY2MKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci5qcwpAQCAtMCwwICsxLDggQEAKKy8vIElu
c3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWws
IGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAg
dGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAn
IiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordGVzdENhc2UoIiIgKyBbMSwgMiwgMywgNF0u
bWFwKHggPT4geCwgMzIpLCAiMSwyLDMsNCIsICJFcnJvcjogYXJyb3cgZnVuY3Rpb24gYXMgdGhl
IHBhcmFtdGVycy4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0xLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmZkMWQ0N2E0ODA3NWVjNTk4YzZiZTFlMDdkNzhhMzUyNjM1M2E5MTIKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tYXNzb2NpYXRpdml0eS0xLmpzCkBAIC0wLDAgKzEsMTMgQEAKKy8vIEluc3BpcmVkIGJ5IG1v
emlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBt
ZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2Fn
ZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCAr
ICInIjsKKyAgfQorfTsKKwordmFyIGFmMSwgYWYyLCBhZjM7CithZjEgPSBhZjIgPSBhZjMgPT4g
YWYxID0gYWYyID0gYWYzOwordGVzdENhc2UoYWYxLCBhZjIsICJFcnJvcjogd3JvbmcgYXNzb2Np
YXRpdml0eSAjMS4iKTsKK2FmMSgxMyk7Cit0ZXN0Q2FzZShhZjIsIDEzLCAiRXJyb3I6IHdyb25n
IGFzc29jaWF0aXZpdHkgIzIuIik7Cit0ZXN0Q2FzZShhZjEsIDEzLCAiRXJyb3I6IHdyb25nIGFz
c29jaWF0aXZpdHkgIzMuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0yLmpzIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHktMi5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yZWRkODM5YzZiYzdlZDZhNDBlZmZiYmM4NzU0ZWQxYmZkODA2YjQzCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1
bmN0aW9uLWFzc29jaWF0aXZpdHktMi5qcwpAQCAtMCwwICsxLDE0IEBACisvLyBJbnNwaXJlZCBi
eSBtb3ppbGxhIHRlc3RzCit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3Rl
ZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1l
c3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1
YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBzPSIiOworcyArPSB4ID0+IHgubmFtZTsKKworLy8g
Rml4IG1lLiBQb3NzaWJsZSB3ZSBoYXZlIG5vdCB1c2UgdGhlIEpTQm91bnRGdW5jdGlvbiB3cmFw
cGVyIGZvciB0aGUgbGV4aWNhbAorLy8gYmluZGluZyBvZiB0aGUgdGhpcyBhbmQgdXNlIGRpcmVj
dCBpbmplY3Rpb24gb2YgdGhlICd0aGlzJyB2YWx1ZQorLy8gaW50byBhcnJyb3cgZnVuY3Rpb24K
Ky8vIHRlc3RDYXNlKHMsICJ4ID0+IHgubmFtZSIgLCAiRXJyb3I6IHdyb25nIHRvU3RyaW5nIGNv
bnZlcnNpb24uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY3ZWQxNTNjZWViYTUyNjIyOGVjYTgyMTMwNDY5YTkyNDRiMTRjMDUKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNz
b2NpYXRpdml0eS5qcwpAQCAtMCwwICsxLDEwIEBACisvLyBJbnNwaXJlZCBieSBtb3ppbGxhIHRl
c3RzCit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkg
eworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBF
eHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7Cisg
IH0KK307CisKK3ZhciBhZiA9IGEgPT4gYiA9PiBhOworCit0ZXN0Q2FzZShhZignQUJDJykoJ0RF
RicpLCAnQUJDJywgIkVycm9yOiB3cm9uZyBuZXN0ZWQgYXJyb3cgZnVuY3Rpb25zLiIpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LWJsb2NrLTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tYmxvY2stMS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYzU3MWJiNzJmY2ZlZjUzMGM1OWRiNGI4NjBj
YTRmMGE5NmE0MTE2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rl
c3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJsb2NrLTEuanMKQEAgLTAsMCArMSwxMSBAQAorLy8g
SW5zcGlyZWQgYnkgbW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVh
bCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAg
ICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2Fz
ICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgZiA9ICgpID0+IHt9OwordGVzdENh
c2UodHlwZW9mIGYoKSwgJ3VuZGVmaW5lZCcsICJFcnJvcjogd3JvbmcgYXJyb3cgZnVuY3Rpb24g
YmxvY2suIik7Cit2YXIgZyA9ICgpID0+ICh7fSk7Cit0ZXN0Q2FzZSh0eXBlb2YgZygpLCAnb2Jq
ZWN0JywgIkVycm9yOiB3cm9uZyBhcnJvdyBmdW5jdGlvbiBibG9jay4iKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ibG9jay0y
LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJs
b2NrLTIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNDdlZTM1MmNmMDFkMTM2ZTMwMjkyMjczNmM1YzgwZWY1M2Mw
M2Y2ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi1ibG9jay0yLmpzCkBAIC0wLDAgKzEsMTAgQEAKKy8vIEluc3BpcmVk
IGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVj
dGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cg
bWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFj
dHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGFmID0gYSA9PiB7IGEgKyAxOyB9OworCit0ZXN0
Q2FzZSh0eXBlb2YgYWYoMCksICd1bmRlZmluZWQnLCAiRXJyb3I6IHdyb25nIGFycm93IGZ1bmN0
aW9uIGJsb2NrICMyLiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNvbnN0cnVjdG9yLmpzIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljk1MDdiNTM2NGYwNDExMzU4NWVhYmE4YzI0YTQ3YTRhMTBkMTZiN2IKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY29u
c3RydWN0b3IuanMKQEAgLTAsMCArMSwxOCBAQAordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFj
dHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsK
KyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQg
d2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgc2ltcGxlQXJyb3dGdW5jdGlv
biA9ICgpID0+IHt9OworCit2YXIgZXJyb3JPbkNyZWF0ZSA9IGZhbHNlOworCit0cnkgeworICB2
YXIgZmMgPSBuZXcgc2ltcGxlQXJyb3dGdW5jdGlvbigpOworfQorY2F0Y2ggKGUpIHsKKyAgZXJy
b3JPbkNyZWF0ZSA9IHRydWU7Cit9CisKK3Rlc3RDYXNlKGVycm9yT25DcmVhdGUsIHRydWUsICJF
cnJvcjogTm8gZXJyb3IgZHVyaW5nIHJ1biBuZXcgQXJyb3dGdW5jdGlvbiIpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGlj
YWx0aGlzLTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tbGV4aWNhbHRoaXMtMS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNTUzMWY1NzU2MmYyODY4ZWVhZDM5
ZmNkNjZlZTUwNzhiYWNlZDFiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWx0aGlzLTEuanMKQEAgLTAsMCAr
MSwxNyBAQAordmFyIHJlc3VsdDsKKworIHZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWws
IGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAg
dGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAn
IiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKworZnVuY3Rpb24gRG9nKG5hbWUpIHsKKyAgdGhp
cy5uYW1lID0gbmFtZTsKKyAgdGhpcy5nZXROYW1lID0gKCkgPT4gZXZhbCgidGhpcy5uYW1lIik7
CisgIHRoaXMuZ2V0TmFtZUhhcmQgPSAoKSA9PiBldmFsKCIoKCkgPT4gdGhpcy5uYW1lKSgpIik7
Cit9CisKK3ZhciBkID0gbmV3IERvZygiTWF4Iik7Cit0ZXN0Q2FzZShkLmdldE5hbWUoKSwgZC5u
YW1lLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbiAjMSIpOwordGVzdENhc2UoZC5nZXROYW1lSGFyZCgpLCBkLm5hbWUsICJF
cnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1
bmN0aW9uICMyIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tb3RoZXJzLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLW90aGVycy5qcwppbmRleCBlYmJmODU5ZTIwM2ViMWY1NGFj
YWUxZDQwODNjYTNkZDNkYzk3NjFmLi5mZWJhMTFmMzAyMmUzNGE4MDAwYTU3MDA3NmRiMWE1NWE0
YTMyYjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tb3RoZXJzLmpzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvYXJyb3dmdW5jdGlvbi1vdGhlcnMuanMKQEAgLTEsNiArMSw0IEBACi12YXIgcmVzdWx0
OwotCi0gdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2Up
IHsKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7
CiAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CiAgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4
cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKICAg
fQpAQCAtOCwyMyArNiw4IEBAIHZhciByZXN1bHQ7CiAKIHZhciBzaW1wbGVBcnJvd0Z1bmN0aW9u
ID0gKCkgPT4ge307CiAKLXRlc3RDYXNlKHR5cGVvZiBzaW1wbGVBcnJvd0Z1bmN0aW9uLCAiZnVu
Y3Rpb24iLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHR5cGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uIik7
Ci0KIHRlc3RDYXNlKE9iamVjdC5nZXRQcm90b3R5cGVPZihzaW1wbGVBcnJvd0Z1bmN0aW9uKSwg
RnVuY3Rpb24ucHJvdG90eXBlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGdldFByb3RvdHlwZU9mIHZh
bHVlIGZvciBhcnJvdyBmdW5jdGlvbiIpOwogCiB0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9u
IGluc3RhbmNlb2YgRnVuY3Rpb24sIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZv
ciBpbnN0YW5jZW9mIG1ldGhvZCBmb3IgYXJyb3cgZnVuY3Rpb24iKTsKIAogdGVzdENhc2Uoc2lt
cGxlQXJyb3dGdW5jdGlvbi5jb25zdHJ1Y3RvciA9PSBGdW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBO
b3QgY29ycmVjdCByZXN1bHQgZm9yIGNvbnN0cnVjdG9yIG1ldGhvZCBvZiBhcnJvdyBmdW5jdGlv
biIpOwotCi10ZXN0Q2FzZSh0eXBlb2Ygc2ltcGxlQXJyb3dGdW5jdGlvbi5wcm90b3R5cGUgPT09
ICd1bmRlZmluZWQnLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJvdG90
eXBlIG9mIGFycm93IGZ1bmN0aW9uIik7Ci0KLXZhciBlcnJvck9uQ3JlYXRlID0gZmFsc2U7Ci0K
LXRyeSB7Ci0gIHZhciBmYyA9IG5ldyBzaW1wbGVBcnJvd0Z1bmN0aW9uKCk7Ci19Ci1jYXRjaCAo
ZSkgewotICBlcnJvck9uQ3JlYXRlID0gdHJ1ZTsKLX0KLQotdGVzdENhc2UoZXJyb3JPbkNyZWF0
ZSwgdHJ1ZSwgIkVycm9yOiBObyBlcnJvciBkdXJpbmcgcnVuIG5ldyBBcnJvd0Z1bmN0aW9uIik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tdHlwZW9mLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJv
d2Z1bmN0aW9uLXR5cGVvZi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZjJhN2Y1NDQ3NmFiYTljMjg5MjNjMzVm
MWRiM2M0MzI3YWM5NDY5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXR5cGVvZi5qcwpAQCAtMCwwICsxLDIxIEBACit2
YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBp
ZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3Rl
ZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307
CisKK3ZhciBhZjEgPSAoKSA9PiB7fTsKK3ZhciBhZjIgPSAoYSkgPT4ge2EgKyAxfTsKKwordGVz
dENhc2UodHlwZW9mIGFmMSwgImZ1bmN0aW9uIiwgIkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiAjMSIpOwordGVzdENhc2UodHlwZW9mIGFmMS5wcm90b3R5cGUg
PT09ICd1bmRlZmluZWQnLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJv
dG90eXBlIG9mIGFycm93IGZ1bmN0aW9uICMxIik7CisKK3Rlc3RDYXNlKHR5cGVvZiBhZjIsICJm
dW5jdGlvbiIsICJFcnJvcjogTm90IGNvcnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24g
IzIiKTsKK3Rlc3RDYXNlKHR5cGVvZiBhZjIucHJvdG90eXBlID09PSAndW5kZWZpbmVkJywgdHJ1
ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBmdW5j
dGlvbiAjMiIpOworCit0ZXN0Q2FzZSh0eXBlb2YgKCgpPT57fSksICJmdW5jdGlvbiIsICJFcnJv
cjogTm90IGNvcnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzMiKTsKK3Rlc3RDYXNl
KHR5cGVvZiAoKCk9Pnt9KS5wcm90b3R5cGUgPT09ICd1bmRlZmluZWQnLCB0cnVlLCAiRXJyb3I6
IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9uICMzIik7
CisKKwordGVzdENhc2UodHlwZW9mICgoYikgPT4ge2IgKyAxfSksICJmdW5jdGlvbiIsICJFcnJv
cjogTm90IGNvcnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzQiKTsKK3Rlc3RDYXNl
KHR5cGVvZiAoKGIpID0+IHtiICsgMX0pLnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUs
ICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBwcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rp
b24gIzQiKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251037</attachid>
            <date>2015-04-17 12:17:32 -0700</date>
            <delta_ts>2015-04-17 14:48:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150417221609.patch</filename>
            <type>text/plain</type>
            <size>146849</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyOTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
ZTQ3ODQ0MzY3MzdlZjhiZTJjZWVmZjM5NjlhM2RhNjhiMDQ1NWVmLi5mMjMyNjJjOTlhNGJmNjU0
ZjM0NDgzZmJmZjc4M2RmODk2MmU2ZjdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMzMgQEAKKzIwMTUtMDQtMTcgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgc3VwcG9ydCBvZiBFUzYgYXJyb3cgZnVuY3Rpb24uIENoYW5nZXMgd2VyZSBtYWRlIGFj
Y29yZGluZyBmb2xsb3dpbmcgc3BlYyBodHRwOi8vd2lraS5lY21hc2NyaXB0Lm9yZy9kb2t1LnBo
cD9pZD1oYXJtb255OmFycm93X2Z1bmN0aW9uX3N5bnRheAorICAgICAgICBJbiBwYXRjaCB3ZXJl
IGltcGxlbWVudGVkIHRoZSBzaW1wbGVzdCBjYXNlczoKKyAgICAgICAgICAxIG5vIHBhcmFtZXRl
cnMgICAgICAgICAgICAgICAgKCkgPT4gMTAgKyAyMAorICAgICAgICAgIDIgc2luZ2xlIHBhcmFt
ZXRlciAgICAgICAgICAgICAgeCA9PiB4ICsgMjAKKyAgICAgICAgICAzIG11bHRpcGxlIHBhcmFt
ZXRlcnMgICAgICAoeCwgeSkgPT4geCArIHkKKyAgICAgICAgICA0IGFycm93IGZ1bmN0aW9uIHdp
dGggYmxvY2sgICAgIHggPT4geyByZXR1cm4geCoxMDsgfQorICAgICAgICAgIDUgbGV4aWNhbCB0
aGlzIC0gdmFyaWFibGUgdGhpcyBpcyBwb2ludCB0byB0aGUgdGhpcyBvZiB0aGUgZnVuY3Rpb24g
d2hlcmUgYXJyb3cgZnVuY3Rpb24gaXMgZGVjbGFyZWQKKyAgICAgICAgICA2IE5vIGNvbnN0cnVj
dG9yIC0gdGhlIHVzaW5nIG9mIHRoZSBjb21tYW5kIG5ldyBmb3IgYXJyb3cgZnVuY3Rpb24gbGVh
ZHMgdG8gcnVudGltZSBlcnJvci4gCisKKyAgICAgICAgIE5vdCB5ZXQgaW1wbGVtZW50ZWQ6Cisg
ICAgICAgICAgMSB0aGUgdmFyaWFibGUgd2l0aCBuYW1lIGFyZ3VtZW50cyBpbnNpZGUgb2YgdGhl
IGFycm93IGZ1bmN0aW9uIHNob3VsZCBwb2ludCB0byBsaXN0IG9mIGFyZ3VtZW50cyBvZiBmdW5j
dGlvbiB3aGVyZSBhcnJvdyBmdW5jdGlvbiBpcyBkZWNsYXJlZAorICAgICAgICAgIDIgcGFyc2Vy
IHdpbGwgcGFyc2UgdGhlIHN0YXRlbWVudCB4LCB5ID0+IHggKyB5IGluc3RlYWQgb2YgcmFpc2lu
ZyBleGNlcHRpb24KKyAgICAgICAgICAzIG1ldGhvZCBjYWxsLCBhcHBseSwgYmluZCBzaG91bGQg
bm90IG92ZXJyaWRlIHRoZSB0aGlzIHZhcmlhYmxlIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgor
ICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvajoK
KyAgICAgICAgKiBieXRlY29kZS9CeXRlY29kZUxpc3QuanNvbjoKKyAgICAgICAgKiBieXRlY29k
ZS9CeXRlY29kZVVzZURlZi5oOgorICAgICAgICAoSlNDOjpGdW5jdG9yOjpjb21wdXRlVXNlc0Zv
ckJ5dGVjb2RlT2Zmc2V0KToKKyAgICAgICAgKiBieXRlY29kZS9Db2RlQmxvY2suY3BwOgorICAg
ICAgICAoSlNDOjpDb2RlQmxvY2s6OmR1bXBCeXRlY29kZSk6CisgICAgICAgICogYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2Rl
R2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdB
cnJvd0Z1bmN0aW9uRXhwcmVzc2lvbik6IGFkZGVkCisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2Vu
ZXJhdG9yOjplbWl0VGhpc05vZGVCeXRlY29kZSk6IGFkZGVkCisgICAgICAgICogYnl0ZWNvbXBp
bGVyL05vZGVzQ29kZWdlbi5jcHA6CisgICAgICAgIChKU0M6OmVtaXRCeXRlY29kZTo6ZW1pdEJ5
dGVjb2RlKTogYWRkZWQKKyAgICAgICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGU6OmVtaXRCeXRl
Y29kZSk6IGFkZGVkCisgICAgICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAg
ICAgKEpTQzo6Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAqIGRmZy9ERkdD
YXBhYmlsaXRpZXMuY3BwOgorICAgICAgICAoSlNDOjpDYXBhYmlsaXR5TGV2ZWw6OmNhcGFiaWxp
dHlMZXZlbCk6CisgICAgICAgICogaml0L0pJVC5oOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRf
b3BfbmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUSW5saW5lcy5o
OgorICAgICAgICAoSlNDOjpKSVQ6OmNhbGxPcGVyYXRpb24pOiBhZGRlZAorICAgICAgICAqIGpp
dC9KSVQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3MpOgor
ICAgICAgICAqIGppdC9KSVRPcGNvZGVzLmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29w
X25ld19hcnJvd19mdW5jX2V4cCk6IGFkZGVkCisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMu
Y3BwOgorICAgICAgICAoSlNDOjpKSVRfT1BFUkFUSU9OOjpvcGVyYXRpb25OZXdBcnJvd0Z1bmN0
aW9uKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5oOgorICAgICAgICAoSlND
OjpKSVRfT1BFUkFUSU9OOjpvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKTogYWRkZWQKKyAgICAg
ICAgKiBsbGludC9MTEludFNsb3dQYXRocy5jcHA6CisgICAgICAgIChMTElOVF9TTE9XX1BBVEhf
REVDTChzbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBsbGlu
dC9MTEludFNsb3dQYXRocy5oOgorICAgICAgICAoTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19w
YXRoX25ld19hcnJvd19mdW5jX2V4cCkpOiBhZGRlZAorICAgICAgICAqIGxsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOgorICAgICAgICAqIHBhcnNlci9BU1RCdWlsZGVyLmg6CisgICAgICAg
IChKU0M6OkFTVEJ1aWxkZXI6OmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAgICAgKiBw
YXJzZXIvTGV4ZXIuY3BwOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlv
bik6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpsZXgpOgorICAgICAgICAqIHBhcnNlci9MZXhl
ci5oOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlvbik6CisgICAgICAg
ICogcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaDoKKyAgICAgICAgKEpTQzo6QXJyb3dGdW5jRXhw
ck5vZGU6OkFycm93RnVuY0V4cHJOb2RlKTogYWRkZWQKKyAgICAgICAgKiBwYXJzZXIvTm9kZXMu
aDoKKyAgICAgICAgKEpTQzo6Tm9kZTo6aXNBcnJvd0Z1bmNFeHByTm9kZSk6IGFkZGVkCisgICAg
ICAgIChKU0M6OkFycm93RnVuY0V4cHJOb2RlKTogYWRkZWQgY2xhc3MKKyAgICAgICAgKiBwYXJz
ZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291
cmNlRWxlbWVudHMpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmlt
YXJ5RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VTb3VyY2VFbGVtZW50
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6
OlBhcnNlcjo6cGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNl
cjo6cGFyc2VQcmltYXJ5RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VB
cnJvd0V4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnNldEVuZE9mU3RhdGVtZW50
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKToKKyAg
ICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25JbmZvKToKKyAgICAgICAgKEpT
Qzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25Cb2R5KToKKyAgICAgICAgKiBwYXJzZXIvUGFy
c2VyLmg6CisgICAgICAgIChKU0M6OlBhcnNlcjo6RnVuY3Rpb25QYXJzZVR5cGUpOgorICAgICAg
ICAoSlNDOjpQYXJzZXI6OnBhcnNlU291cmNlRWxlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNl
cjo6cGFyc2VTdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dFeHBy
ZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpzZXRFbmRPZlN0YXRlbWVudCk6CisgICAg
ICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcik6CisgICAgICAgICog
cGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oOgorICAgICAgICAqIHBhcnNlci9QYXJzZXJUb2tl
bnMuaDoKKyAgICAgICAgKEpTQzo6UGFyc2VyRnVuY3Rpb25JbmZvOjphcnJvd0Z1bmN0aW9uT2Zm
c2V0KTogYWRkZWQKKyAgICAgICAgKEpTQzo6UGFyc2VyRnVuY3Rpb25JbmZvOjppc0Fycm93RnVu
Y3Rpb24pOiBhZGRlZAorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmFycm93RnVu
Y3Rpb25Cb2R5VHlwZSk6IGFkZGVkCisgICAgICAgICogcGFyc2VyL1NvdXJjZUNvZGUuaDoKKyAg
ICAgICAgKEpTQzo6U291cmNlQ29kZTo6c3ViQXJyb3dFeHByZXNzaW9uKToKKyAgICAgICAgKiBw
YXJzZXIvU3ludGF4Q2hlY2tlci5oOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVh
dGVBcnJvd0Z1bmN0aW9uRXhwcik6CisgICAgICAgICogcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2Fj
aGVJdGVtOgorICAgICAgICAoSlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFy
YW1ldGVycyk6CisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKToKKyAgICAg
ICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW06OmVuZEFycm93RnVuY3Rpb25Ub2tlbik6
CisgICAgICAgICogcnVudGltZS9KU0Fycm93RnVuY3Rpb24uaDogYWRkZWQgY2xhc3MgZm9yIGhh
bmRsZSBhcnJvdyBmdW5jdGlvbiBjcmVhdGlvbiBhbmQgZXhlY3V0aW9uCisgICAgICAgICogcnVu
dGltZS9KU0Fycm93RnVuY3Rpb24uY3BwOgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbi5o
OgorICAgICAgICAoSlNDOjpKU0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKTogYWRkZWQgb25lIG1vcmUg
Y29uc3RydWN0b3IKKyAgICAgICAgKiBydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmg6CisgICAg
ICAgIChKU0M6OkpTRnVuY3Rpb246OkpTRnVuY3Rpb24pOiBhZGRlZCBjb25zdHJ1Y3RvciBpbXBs
ZW1lbnRhdGlvbgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgorICAgICAg
ICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6aW5pdCk6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2Jq
ZWN0OjptX2Fycm93RnVuY3Rpb25TdHJ1Y3R1cmUpOiBhZGRlZAorICAgICAgICAoSlNDOjpKU0ds
b2JhbE9iamVjdDo6YXJyb3dGdW5jdGlvblN0cnVjdHVyZSk6CisgICAgICAgICogdGVzdHMvc3Ry
ZXNzL2pzL2Fycm93ZnVuY3Rpb24uanM6IEFkZGVkCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tYXNwYXJhbXRlci5qczogQWRkZWQuCisgICAgICAgICogdGVzdHMvc3RyZXNz
L2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0xLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTIuanM6IEFkZGVkLgorICAgICAg
ICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHkuanM6IEFkZGVkLgor
ICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJsb2NrLTEuanM6IEFkZGVkLgor
ICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJsb2NrLTIuanM6IEFkZGVkLgor
ICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNvbnN0cnVjdG9yLmpzOiBBZGRl
ZC4KKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsdGhpcy0xLmpz
OiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1vdGhlcnMuanM6
IEFkZGVkLgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXR5cGVvZi5qczog
QWRkZWQuCisKKzIwMTUtMDQtMTIgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdtYWls
LmNvbT4KKyAgICAgICAgU21hbGwgcmVmYWN0b3Jpbmcgb2YgdGhlIHBhcmNlci5jcHAgZmlsZS4g
SXQgaXMgbmVjZXNzYXJ5IHRvIGluY3JlYXNlIHJlYWRhYmlsaXR5IG9mIHRoZSBwYXRjaAorICAg
ICAgICB3aXRoIEVTNiBBcnJvdyBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgKiBw
YXJzZXIvUGFyc2VyLmg6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisKIDIwMTUtMDQt
MTcgIEJhc2lsZSBDbGVtZW50ICA8YmFzaWxlX2NsZW1lbnRAYXBwbGUuY29tPgogCiAgICAgICAg
IElubGluZSBKU0Z1bmN0aW9uIGFsbG9jYXRpb24gaW4gREZHCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjNiMzYx
ZDhkM2ZiMDQ4Mzk3ODk4Mzk1N2E4Zjc1YjVmNzc0MTU3ZS4uNWRhOWRlNzIyMTBiMmZmYTdlYzBk
YmYxM2JhYzkzYWZkZTZjMDUyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTA0
LTEzICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAg
W0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyBFTkFC
TEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgorCisgICAgICAg
ICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTUtMDQtMTYg
IFJvZ2VyIEZvbmcgIDxyb2dlcl9mb25nQGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgZnVs
bHNjcmVlbiBidXR0b24gdmlzaWJpbGl0eSBvbiBmdWxsc2NyZWVuIGNoYW5nZS4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZwppbmRleCBhMTMwNTk2OWM5ODFmYTZiYzYyZTI5NjA2ZDg2YjQ1YWU2MGY2ODlhLi4xNTFm
OWQ0YWNjODk1OTMxMDAxODg4YmRjYWRiZTdjOTdjNjIxY2U2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTUtMDQtMTMgIFNrYWNoa292IEFsZXhhbmRyICA8Z3NrYWNoa292
QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9u
IHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTQwODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggZm9yIGFy
cm93IGZ1bmN0aW9uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZzoKKwogMjAxNS0wNC0xNyAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+
CiAKICAgICAgICAgUkVHUkVTU0lPTjogU1ZHIGRvZXMgbm90IHN1cHBvcnQgbGluayBkcmFnZ2lu
ZwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGZiY2UwYjZiOTk2YzIxODky
N2VlMzQ0YTNmMzIxYmZiODQ3MGM3OTIuLjI3ZmNlNjg5MDIxM2EyMWUzNDk4YzZiZmE0NDY0MjJk
NGI4NjkyMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4
dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQ2Nyw2ICs0
NjcsNyBAQCBzZXQoSmF2YVNjcmlwdENvcmVfUlVOVElNRV9TT1VSQ0VTCiAgICAgcnVudGltZS9K
U0FycmF5QnVmZmVyVmlldy5jcHAKICAgICBydW50aW1lL0pTQXJyYXlJdGVyYXRvci5jcHAKICAg
ICBydW50aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAKKyAgICBydW50aW1lL0pTQXJyb3dGdW5jdGlv
bi5jcHAKICAgICBydW50aW1lL0pTR2xvYmFsT2JqZWN0RGVidWdnYWJsZS5jcHAKICAgICBydW50
aW1lL0pTQ0pTVmFsdWUuY3BwCiAgICAgcnVudGltZS9KU0NhbGxlZS5jcHAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwppbmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFmODYw
Li4xMTQ4YTc2OTcyZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1NTBhMDUxIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCkBAIC00NSw2ICs0NSw3IEBAIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJM
RV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9N
RVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7CiBFTkFCTEVfRVM2X0NMQVNTX1NZ
TlRBWCA9IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ1NQX05FWFQg
PSA7CiBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMiA9IEVOQUJMRV9DU1NfQU5JTUFUSU9O
U19MRVZFTF8yOwpAQCAtMjE0LDQgKzIxNSw0IEBAIEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7CiAK
IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xB
WU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJ
TkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURf
T1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFD
SE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5W
QVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVO
QUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykg
JChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQp
ICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09M
VVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVM
NCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1Mz
X1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NV
U1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxF
X0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9E
T000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVf
Rk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQ
QUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFU
QUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVf
VUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Jf
UE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChF
TkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAk
KEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVG
SVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5E
T1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBS
RVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01F
RElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJ
QV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChF
TkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElM
UykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFC
TEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19T
VUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZS
QU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BF
Q1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JB
TkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJ
UykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxF
X1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9O
RV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNP
Tl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVD
VF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFU
QUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wp
ICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NP
Q0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5B
QkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkg
JChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFU
RURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsK
K0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcp
ICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVO
QUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9D
QU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xB
U1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElP
TlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVf
Q1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NT
X1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVY
VCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklM
SVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9T
VVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVS
X0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xF
VkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykg
JChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMp
ICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAk
KEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFU
SE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJD
RSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChF
TkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdB
VE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lO
VEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAk
KEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFV
RVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQo
RU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxF
X1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVf
Q1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAk
KEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxF
TUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJB
Q0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkp
ICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9X
RUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQp
ICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkg
JChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVT
RU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagppbmRl
eCBmZjdhOGUxNjcyN2FmMjRlYmNhYzM2ODcwYTUwZGE1MTRmYzkwZjZlLi4zZGZkZGNiN2UxZmM4
YjE1N2ZhN2E1NmY0ZGZhZjM4ZTU2ZWFiMDAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRD
b3JlLnZjeHByb2oKQEAgLTczMiw2ICs3MzIsNyBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5ccnVudGltZVxKU0FycmF5QnVmZmVyUHJvdG90eXBlLmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJheUJ1ZmZlclZpZXcuY3BwIiAvPgogICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0JvdW5kRnVuY3Rpb24uY3BwIiAvPgorICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0Fycm93RnVuY3Rpb24uY3BwIiAvPgogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NKU1ZhbHVlLmNwcCIgLz4KICAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDYWxsZWUuY3BwIiAvPgogICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NhdGNoU2NvcGUuY3BwIiAvPgpAQCAtMTUyNyw2
ICsxNTI4LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJheUJ1
ZmZlclZpZXdJbmxpbmVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1l
XEpTQXJyYXlJdGVyYXRvci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGlt
ZVxKU0JvdW5kRnVuY3Rpb24uaCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRp
bWVcSlNBcnJvd0Z1bmN0aW9uLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50
aW1lXEpTQ0lubGluZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVc
SlNDSlNWYWx1ZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NK
U1ZhbHVlSW5saW5lcy5oIiAvPgpAQCAtMTgwNCw0ICsxODA2LDQgQEAKICAgPEltcG9ydEdyb3Vw
IExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJn
ZXRzUGF0aClcQnVpbGRDdXN0b21pemF0aW9uc1xtYXNtLnRhcmdldHMiIC8+CiAgIDwvSW1wb3J0
R3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9Qcm9qZWN0
PgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBiYTliZTBmYjYxYmM2OGRjOGZkMjVi
MGYzMTg1YzczMDNiODhiMmQ5Li5jYmZkMGZhMmJjMDAwOGY1NGU5OTAzNDI0MjQxNDQ5MGJjOWZj
NWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTA5Niw2ICsxMDk2LDggQEAK
IAkJODZGM0VFQkYxNjhDREU5MzAwNzdCOTJBIC8qIE9iamNSdW50aW1lRXh0cmFzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkYzRUVCNjE2ODU1QTVC
MDA3N0I5MkEgLyogT2JqY1J1bnRpbWVFeHRyYXMuaCAqLzsgfTsKIAkJODZGQTlFOTExNDJCQkIy
RTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkZBOUU4RjE0MkJCQjJEMDAxNzczQjcgLyogSlNCb3Vu
ZEZ1bmN0aW9uLmNwcCAqLzsgfTsKIAkJODZGQTlFOTIxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91
bmRGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICovOyB9Owor
CQk4QjBGNDI0QzFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhCMEY0MjRCMUFCRDZERTIw
MDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uY3BwICovOyB9OworCQk4QjBGNDI0QzFBQkQ2REUy
MDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1
bmN0aW9uLmggKi87IH07CiAJCTkwMjEzRTNEMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0
aXN0aWNzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDkwMjEzRTNCMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmNwcCAqLzsgfTsK
IAkJOTAyMTNFM0UxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkwMjEzRTNDMTIzQTQwQzIw
MEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTMwNTJDMzQwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNl
ckFyZW5hLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDkzMDUyQzMyMEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5jcHAgKi87IH07CkBAIC0y
ODMxLDYgKzI4MzMsOCBAQAogCQk4NkY3NUVGRDE1MUMwNjJGMDA3QzlCQTMgLyogUmVnRXhwTWF0
Y2hlc0FycmF5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZ0V4
cE1hdGNoZXNBcnJheS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2RkE5RThG
MTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlv
bi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0JvdW5kRnVuY3Rpb24uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOEIwRjQyNEExQUJENkQyRjAwMzkxN0VBIC8q
IEpTQXJyb3dGdW5jdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Fycm93RnVuY3Rpb24uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpT
QXJyb3dGdW5jdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U0Fycm93RnVuY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MDIxM0Uz
QjEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZW1vcnlTdGF0aXN0aWNzLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJOTAyMTNFM0MxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRp
c3RpY3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVtb3J5U3RhdGlzdGlj
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzA1MkMzMjBGQjc5MjE5MDA0OEZE
QzMgLyogUGFyc2VyQXJlbmEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gUGFyc2VyQXJlbmEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDQ0Miw2
ICs0NDQ2LDggQEAKIAkJCQlBN0JEQUVDNTE3RjRFQTE0MDBGNjE0MEMgLyogSlNBcnJheUl0ZXJh
dG9yLmggKi8sCiAJCQkJODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlv
bi5jcHAgKi8sCiAJCQkJODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlv
bi5oICovLAorCQkJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24u
aCAqLywKKwkJCQk4QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNw
cCAqLywKIAkJCQk2NTdDRjQ1NjE5QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuY3BwICovLAog
CQkJCTY1N0NGNDU3MTlCRjY2NjIwMDRBQ0JGMiAvKiBKU0NhbGxlZS5oICovLAogCQkJCTBGRDk0
OTdFMUE5N0RCOTYwMEUyODk2NiAvKiBKU0NhdGNoU2NvcGUuY3BwICovLApAQCAtNzE3NSw2ICs3
MTgxLDcgQEAKIAkJCQkwRkQ4QTMxQjE3RDUxRjIyMDBDQTJDNDAgLyogRlRMT1NSRW50cnkuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyMzVCREMxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4
aXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyMzVCREYxNzE3OEUxQzAwNjkwQzdGIC8qIEZU
TE9TUkV4aXRDb21waWxlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4QjBGNDI0QzFBQkQ2REUy
MDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRUEw
QTJBMTcwOTYyOTYwMEJCNzIyQyAvKiBGVExPdXRwdXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MEY0ODUzMjkxODdERkRFQzAwODNCNjg3IC8qIEZUTFJlY292ZXJ5T3Bjb2RlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTBGNkIxQ0MzMTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExSZWdpc3RlckF0T2Zm
c2V0LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0J5dGVjb2RlTGlzdC5qc29uCmluZGV4IDI1MTQxMjYzZTM4ZDBlYjJkMTg0NDFmNGU2ZmZj
ZTM2ZWU4ZjdjZjIuLmEzNzY0N2YyNmZiZTNmMjViYTYyNWI5OWYzZGExMjAxZTQ5ZmYyMDEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxpc3QuanNv
bgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24K
QEAgLTk0LDYgKzk0LDcgQEAKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX3N3aXRjaF9zdHJp
bmciLCAibGVuZ3RoIiA6IDQgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX25ld19mdW5j
IiwgImxlbmd0aCIgOiA0IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfZnVuY19l
eHAiLCAibGVuZ3RoIiA6IDQgfSwKKyAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX25ld19hcnJv
d19mdW5jX2V4cCIsICJsZW5ndGgiIDogNSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3Bf
Y2FsbCIsICJsZW5ndGgiIDogOSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbF9l
dmFsIiwgImxlbmd0aCIgOiA5IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9jYWxsX3Zh
cmFyZ3MiLCAibGVuZ3RoIiA6IDkgfSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0J5dGVjb2RlVXNlRGVmLmgKaW5kZXggZjIwNzEzOTIzMjkwNjQ1M2I3YTU0ZjU2MWI5YjY0
MjNlMmU4Y2YyNy4uOWI2N2EyMjIxZDNiYTBhNjA2ZjQ3MDlhNTk5YzMxM2UxYTNhYmFhNCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgKQEAg
LTExNSw2ICsxMTUsOSBAQCB2b2lkIGNvbXB1dGVVc2VzRm9yQnl0ZWNvZGVPZmZzZXQoCiAgICAg
Y2FzZSBvcF9nZXRfcHJvcGVydHlfZW51bWVyYXRvcjoKICAgICBjYXNlIG9wX2dldF9lbnVtZXJh
YmxlX2xlbmd0aDoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorI2Vu
ZGlmCiAgICAgY2FzZSBvcF90b19pbmRleF9zdHJpbmc6CiAgICAgY2FzZSBvcF9pbml0X2dsb2Jh
bF9jb25zdF9ub3A6CiAgICAgY2FzZSBvcF9pbml0X2dsb2JhbF9jb25zdDoKQEAgLTMwNiw2ICsz
MDksOSBAQCB2b2lkIGNvbXB1dGVEZWZzRm9yQnl0ZWNvZGVPZmZzZXQoQ29kZUJsb2NrKiBjb2Rl
QmxvY2ssIHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0LAogICAgIGNhc2Ugb3BfbmV3X3JlZ2V4cDoK
ICAgICBjYXNlIG9wX25ld19mdW5jOgogICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOgorI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVu
Y19leHA6CisjZW5kaWYKICAgICBjYXNlIG9wX2NhbGxfdmFyYXJnczoKICAgICBjYXNlIG9wX2Nv
bnN0cnVjdF92YXJhcmdzOgogICAgIGNhc2Ugb3BfZ2V0X2Zyb21fc2NvcGU6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCmluZGV4IDFkODIzODcyODc4YWMz
NDM3Y2M1M2EwODdmMWMwZjhhMjBiYjYwZmIuLmUzZjc1ZjQ0ODE5MDBiYmI5YTg3ZmE5MjkwMTQ1
NWU3YjgwYjg1MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9D
b2RlQmxvY2suY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxv
Y2suY3BwCkBAIC0xMjk3LDYgKzEyOTcsMTcgQEAgdm9pZCBDb2RlQmxvY2s6OmR1bXBCeXRlY29k
ZSgKICAgICAgICAgICAgIG91dC5wcmludGYoIiVzLCAlcywgZiVkIiwgcmVnaXN0ZXJOYW1lKHIw
KS5kYXRhKCksIHJlZ2lzdGVyTmFtZShyMSkuZGF0YSgpLCBmMCk7CiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAg
ICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOiB7CisgICAgICAgICAgICBpbnQgcjAgPSAo
KytpdCktPnUub3BlcmFuZDsKKyAgICAgICAgICAgIGludCByMSA9ICgrK2l0KS0+dS5vcGVyYW5k
OworICAgICAgICAgICAgaW50IGYwID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBp
bnQgcjIgPSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAgICAgICAgIHByaW50TG9jYXRpb25BbmRP
cChvdXQsIGV4ZWMsIGxvY2F0aW9uLCBpdCwgIm9wX25ld19hcnJvd19mdW5jX2V4cCIpOworICAg
ICAgICAgICAgb3V0LnByaW50ZigiJXMsICVzLCBmJWQsICVzIiwgcmVnaXN0ZXJOYW1lKHIwKS5k
YXRhKCksIHJlZ2lzdGVyTmFtZShyMSkuZGF0YSgpLCBmMCwgcmVnaXN0ZXJOYW1lKHIyKS5kYXRh
KCkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBjYXNl
IG9wX25ld19mdW5jX2V4cDogewogICAgICAgICAgICAgaW50IHIwID0gKCsraXQpLT51Lm9wZXJh
bmQ7CiAgICAgICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUub3BlcmFuZDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5j
cHAKaW5kZXggNmUxOThjYTI3ZTA5ZGEwMmRjOWNmNTMwYzI5Mjc3YzU2Y2FjMjliNC4uYWY2NWNi
NTNkOWM2ZTY5Yjk0OTQzYjkzYjM0M2E5ZDhiMjk3Mjg1MiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKQEAg
LTE3NTEsNiArMTc1MSwyMiBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5l
d0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVuY0V4cAogICAgIGluc3RydWN0
aW9ucygpLmFwcGVuZChpbmRleCk7CiAgICAgcmV0dXJuIHIwOwogfQorICAgIAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRv
cjo6ZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIHIwLCBGdW5jRXhw
ck5vZGUqIG4pCit7CisgICAgZW1pdFREWkNoZWNrKHRoaXNSZWdpc3RlcigpKTsKKyAgICBGdW5j
dGlvbkJvZHlOb2RlKiBmdW5jdGlvbiA9IG4tPmJvZHkoKTsKKyAgICB1bnNpZ25lZCBpbmRleCA9
IG1fY29kZUJsb2NrLT5hZGRGdW5jdGlvbkV4cHIobWFrZUZ1bmN0aW9uKGZ1bmN0aW9uKSk7Cisg
ICAgCisgICAgZW1pdE9wY29kZShvcF9uZXdfYXJyb3dfZnVuY19leHApOworICAgIGluc3RydWN0
aW9ucygpLmFwcGVuZChyMC0+aW5kZXgoKSk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHNj
b3BlUmVnaXN0ZXIoKS0+aW5kZXgoKSk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKGluZGV4
KTsKKyAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQodGhpc1JlZ2lzdGVyKCktPmluZGV4KCkpOwor
ICAgIHJldHVybiByMDsKK30KKyNlbmRpZgogCiBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRv
cjo6ZW1pdE5ld0RlZmF1bHRDb25zdHJ1Y3RvcihSZWdpc3RlcklEKiBkc3QsIENvbnN0cnVjdG9y
S2luZCBjb25zdHJ1Y3RvcktpbmQsIGNvbnN0IElkZW50aWZpZXImIG5hbWUpCiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9y
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9y
LmgKaW5kZXggMmU1OTAzOWQzYTQ4NGEzNDcyODE0NDBlZWY5YzFiODE5ZjcyNjVkYi4uMTc5MzVk
NDhlZjNiZjJiMmQxNDFkZmRjMWFjOTM3Njc5MzE0NDJhNSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaApAQCAtNDU2
LDYgKzQ1NiwxMCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5l
d0Z1bmN0aW9uSW50ZXJuYWwoUmVnaXN0ZXJJRCogZHN0LCB1bnNpZ25lZCBpbmRleCk7CiAgICAg
ICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogZHN0
LCBGdW5jRXhwck5vZGUqIGZ1bmMpOwogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3RGVmYXVs
dENvbnN0cnVjdG9yKFJlZ2lzdGVySUQqIGRzdCwgQ29uc3RydWN0b3JLaW5kLCBjb25zdCBJZGVu
dGlmaWVyJiBuYW1lKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
ICAgICBSZWdpc3RlcklEKiBlbWl0TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJ
RCosIEZ1bmNFeHByTm9kZSopOworICAgICAgICBSZWdpc3RlcklEKiBlbWl0VGhpc05vZGVCeXRl
Y29kZShSZWdpc3RlcklEKiwgSlNUZXh0UG9zaXRpb24pOworI2VuZGlmCiAgICAgICAgIFJlZ2lz
dGVySUQqIGVtaXROZXdSZWdFeHAoUmVnaXN0ZXJJRCogZHN0LCBSZWdFeHAqKTsKIAogICAgICAg
ICBSZWdpc3RlcklEKiBlbWl0TW92ZUVtcHR5VmFsdWUoUmVnaXN0ZXJJRCogZHN0KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApp
bmRleCAxMTQzMmFmMjNiYmI2MWU4MTU0MjUyM2I3YzExYWE3YmRjYjVmM2JmLi42MWFlZjE0MDhj
NDM2ZDc0YWIwOGY3YTJhMDY4Y2MyYjFmMDhjYzUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCkBAIC0yODMxLDYgKzI4MzEs
MTQgQEAgUmVnaXN0ZXJJRCogRnVuY0V4cHJOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5l
cmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCoKICAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXRO
ZXdGdW5jdGlvbkV4cHJlc3Npb24oZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0KSwgdGhp
cyk7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAgICAKKy8vIC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBBcnJvd0Z1bmNFeHByTm9kZSAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1JlZ2lzdGVySUQqIEFycm93RnVuY0V4cHJOb2RlOjpl
bWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0
KQoreworICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9u
KGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHRoaXMpOworfQorI2VuZGlmCisgICAg
CiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0gQ2xhc3NEZWNsTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNl
ci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcApp
bmRleCBkOTczODg1YzFjYTMyYTNjNmUyMDYwZjkwMWQ3MmEyODFiMTg3Yjc4Li4zZjNlYzEwYWVl
YzZlNjAxOTkzODY0ZTgyZTAzOWFhNjkxYjJhMWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcApAQCAtMzc0NCw2ICszNzQ0LDE1IEBAIGJv
b2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQgbGltaXQpCiAgICAgICAgICAg
ICBORVhUX09QQ09ERShvcF9uZXdfZnVuY19leHApOwogICAgICAgICB9CiAKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBjYXNlIG9wX25ld19hcnJvd19mdW5j
X2V4cDogeworICAgICAgICAgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBleHByID0gbV9pbmxpbmVT
dGFja1RvcC0+bV9wcm9maWxlZEJsb2NrLT5mdW5jdGlvbkV4cHIoY3VycmVudEluc3RydWN0aW9u
WzNdLnUub3BlcmFuZCk7CisgICAgICAgICAgICBGcm96ZW5WYWx1ZSogZnJvemVuID0gbV9ncmFw
aC5mcmVlemVTdHJvbmcoZXhwcik7CisgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1
cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLAorICAgICAgICAgICAgICAgIGFkZFRvR3Jh
cGgoTmV3RnVuY3Rpb24sIE9wSW5mbyhmcm96ZW4pLCBnZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJl
bnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpKSkpOworICAgICAgICAgICAgTkVYVF9PUENPREUo
b3BfbmV3X2Fycm93X2Z1bmNfZXhwKTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIGNhc2Ug
b3BfdHlwZW9mOiB7CiAgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0
cnVjdGlvblsxXS51Lm9wZXJhbmQpLAogICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgoVHlwZU9m
LCBnZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpKSkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCmluZGV4
IDMyMjIwZGQyYmE1YWY1ZDZhYjgxNzUzZWRlNzM4MmU5NTdkNmZhYTguLjRjMzY1ZDlkMDc1Y2M2
ZTdjNWUxNjZiMTllNjMyNDRjN2M3YzljODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKQEAgLTIwNyw2ICsyMDcsOSBAQCBDYXBhYmlsaXR5TGV2
ZWwgY2FwYWJpbGl0eUxldmVsKE9wY29kZUlEIG9wY29kZUlELCBDb2RlQmxvY2sqIGNvZGVCbG9j
aywgSW5zdHJ1YwogICAgIGNhc2Ugb3BfbmV3X2Z1bmM6CiAgICAgY2FzZSBvcF9uZXdfZnVuY19l
eHA6CiAgICAgY2FzZSBvcF9jcmVhdGVfbGV4aWNhbF9lbnZpcm9ubWVudDoKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhw
OgorI2VuZGlmCiAgICAgICAgIHJldHVybiBDYW5Db21waWxlQW5kSW5saW5lOwogCiAgICAgY2Fz
ZSBvcF9wdXRfdG9fc2NvcGU6IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCmluZGV4IDE3ZGQzYjRmNDVmNTZmZjIwMDIzZDczYjc1ZGM3
ZDcwYjYzNDk2OGYuLjIwMDA1YzA3MTUzM2IxNjgzYWZkYTJkNjJkYzY1YzAxNjdkOTEwOTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNw
cApAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUgIkV4Y2VwdGlvbkhlbHBlcnMuaCIKICNpbmNs
dWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJKU0FycmF5LmgiCisjaW5jbHVkZSAiSlNB
cnJvd0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAi
SlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTTGV4aWNhbEVudmlyb25tZW50LmgiCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxsSGVscGVycy5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhlbHBlcnMuaAppbmRleCBmZDM0NGFkYmNhYmIxNWZiZDgx
NGVkNmZiZDQ3OGY3NGI2MTU3NjNjLi4wN2FjZDZkNTMyZDMyOGFmZGI3N2FjZjIwMTMzOTBlZjM5
ZGQ5ZDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxsSGVscGVy
cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxwZXJzLmgKQEAgLTI3
NCw2ICsyNzQsMTUgQEAgcHVibGljOgogICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMik7CiAg
ICAgICAgIGFkZENhbGxBcmd1bWVudChhcmczKTsKICAgICB9CisgICAgCisgICAgQUxXQVlTX0lO
TElORSB2b2lkIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShHUFJSZWcgYXJnMSwgVHJ1c3Rl
ZEltbVB0ciBhcmcyLCBHUFJSZWcgYXJnMykKKyAgICB7CisgICAgICAgIHJlc2V0Q2FsbEFyZ3Vt
ZW50cygpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0
ZXIpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMSk7CisgICAgICAgIGFkZENhbGxBcmd1
bWVudChhcmcyKTsKKyAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzMpOworICAgIH0KIAogICAg
IEFMV0FZU19JTkxJTkUgdm9pZCBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoR1BSUmVnIGFy
ZzEsIEdQUlJlZyBhcmcyLCBUcnVzdGVkSW1tMzIgYXJnMykKICAgICB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVC5jcHAKaW5kZXggOGNkOWZiMTJlOGJmNGIwYzY4NzM4ZWY4ZWZhNzdjNjVmMDg0YWZl
OC4uNWJjOTE2YjhiMzQxZGE1Y2U1MWY2YjYyN2FmZTkwMmM0NTgxMDAxOSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklULmNwcApAQCAtMjYwLDYgKzI2MCw3IEBAIHZvaWQgSklUOjpwcml2YXRlQ29t
cGlsZU1haW5QYXNzKCkKICAgICAgICAgREVGSU5FX09QKG9wX25ld19hcnJheV9idWZmZXIpCiAg
ICAgICAgIERFRklORV9PUChvcF9uZXdfZnVuYykKICAgICAgICAgREVGSU5FX09QKG9wX25ld19m
dW5jX2V4cCkKKyAgICAgICAgREVGSU5FX09QKG9wX25ld19hcnJvd19mdW5jX2V4cCkgCiAgICAg
ICAgIERFRklORV9PUChvcF9uZXdfb2JqZWN0KQogICAgICAgICBERUZJTkVfT1Aob3BfbmV3X3Jl
Z2V4cCkKICAgICAgICAgREVGSU5FX09QKG9wX25vdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCmlu
ZGV4IDAxYTQxMjk2M2NlNTk4MzMyYWYxMTZiNjJjNzZjYWIyOTJmZmExNzguLmQ1MDdmYWZmN2Rj
YmM5MmJhMmZkMGQ0OWFmOTE4NmMxZmZjYzJkYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklULmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaApA
QCAtNTIxLDYgKzUyMSw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2b2lkIGVtaXRfb3Bf
bmV3X2FycmF5X2J1ZmZlcihJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3
X2Z1bmMoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX25ld19mdW5jX2V4cChJ
bnN0cnVjdGlvbiopOworICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwKElu
c3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfb2JqZWN0KEluc3RydWN0aW9u
Kik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfcmVnZXhwKEluc3RydWN0aW9uKik7CiAgICAg
ICAgIHZvaWQgZW1pdF9vcF9ub3QoSW5zdHJ1Y3Rpb24qKTsKQEAgLTcwMCw2ICs3MDEsNyBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlv
bihKX0pJVE9wZXJhdGlvbl9FSkosIGludCwgR1BSUmVnLCBHUFJSZWcpOwogICAgICAgICBNYWNy
b0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2MsIEdQUlJl
Zyk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVy
YXRpb25fRUpzY0MsIGludCwgR1BSUmVnLCBKU0NlbGwqKTsKKyAgICAgICAgTWFjcm9Bc3NlbWJs
ZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0osIGludCwgR1BSUmVn
LCBKU0NlbGwqLCBHUFJSZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3Bl
cmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2NaLCBHUFJSZWcsIGludDMyX3QpOwogICAgICAgICBN
YWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2NaLCBp
bnQsIEdQUlJlZywgaW50MzJfdCk7CiAjaWYgVVNFKEpTVkFMVUU2NCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRJbmxpbmVzLmgKaW5kZXggOWVlMjRkMDkyMjhhOTg4MmVhNzY5NjI5ZDFhODdi
NmMzNGE4NjMzNC4uYTBlNDBjNWM2MWZlNjNlOTg2M2VkMjIzZWRmNWQ0NTFmMzE4YTc3NCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKQEAgLTI3MSw2ICsyNzEsMTIgQEAg
QUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oSl9K
SVRPcGVyYXRpb25fRUpzY0Mgb3BlcmEKICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRp
b25DaGVja1NldEpTVmFsdWVSZXN1bHQob3BlcmF0aW9uLCBkc3QpOwogfQogCitBTFdBWVNfSU5M
SU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlv
bl9FSnNjQ0ogb3BlcmF0aW9uLCBpbnQgZHN0LCBHUFJSZWcgYXJnMSwgSlNDZWxsKiBjZWxsLCBH
UFJSZWcgYXJnMikKK3sKKyAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgVHJ1
c3RlZEltbVB0cihjZWxsKSwgYXJnMik7CisgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0
aW9uQ2hlY2tTZXRKU1ZhbHVlUmVzdWx0KG9wZXJhdGlvbiwgZHN0KTsKK30KKyAgICAKIEFMV0FZ
U19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpfSklUT3Bl
cmF0aW9uX0VQIG9wZXJhdGlvbiwgaW50IGRzdCwgdm9pZCogcG9pbnRlcikKIHsKICAgICBzZXR1
cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihwb2ludGVyKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAppbmRleCA0ZTgyMWQwYzNkNWEzYzVlNjU4
MGQxMDM5NmVjMjg4OTYzODg2YjU2Li5hYThhN2MxZjg2MTIxY2JkNmFlOWI4Njc2YTdiZDk0OTc0
ODZjNGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKQEAgLTk2
NSw2ICs5NjUsMjkgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2Z1bmNfZXhwKEluc3RydWN0aW9u
KiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25OZXdGdW5j
dGlvbiwgZHN0LCByZWdUMCwgZnVuY0V4cHIpOwogICAgIGRvbmUubGluayh0aGlzKTsKIH0KKyAg
ICAKK3ZvaWQgSklUOjplbWl0X29wX25ld19hcnJvd19mdW5jX2V4cChJbnN0cnVjdGlvbiogY3Vy
cmVudEluc3RydWN0aW9uKQoreworICAgIEp1bXAgbm90VW5kZWZpbmVkU2NvcGU7CisgICAgaW50
IGRzdCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7CisjaWYgVVNFKEpTVkFMVUU2
NCkKKyAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9w
ZXJhbmQsIHJlZ1QwKTsKKyAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVj
dGlvbls0XS51Lm9wZXJhbmQsIHJlZ1QxKTsKKyAgICBub3RVbmRlZmluZWRTY29wZSA9IGJyYW5j
aDY0KE5vdEVxdWFsLCByZWdUMCwgVHJ1c3RlZEltbTY0KEpTVmFsdWU6OmVuY29kZShqc1VuZGVm
aW5lZCgpKSkpOworICAgIHN0b3JlNjQoVHJ1c3RlZEltbTY0KEpTVmFsdWU6OmVuY29kZShqc1Vu
ZGVmaW5lZCgpKSksIEFkZHJlc3MoY2FsbEZyYW1lUmVnaXN0ZXIsIHNpemVvZihSZWdpc3Rlcikg
KiBkc3QpKTsKKyNlbHNlCisgICAgZW1pdExvYWRQYXlsb2FkKGN1cnJlbnRJbnN0cnVjdGlvblsy
XS51Lm9wZXJhbmQsIHJlZ1QwKTsKKyAgICBlbWl0TG9hZFBheWxvYWQoY3VycmVudEluc3RydWN0
aW9uWzRdLnUub3BlcmFuZCwgcmVnVDEpOworICAgIG5vdFVuZGVmaW5lZFNjb3BlID0gYnJhbmNo
MzIoTm90RXF1YWwsIHRhZ0ZvcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSwgVHJ1
c3RlZEltbTMyKEpTVmFsdWU6OlVuZGVmaW5lZFRhZykpOworICAgIGVtaXRTdG9yZShkc3QsIGpz
VW5kZWZpbmVkKCkpOworI2VuZGlmCisgICAgSnVtcCBkb25lID0ganVtcCgpOworICAgIG5vdFVu
ZGVmaW5lZFNjb3BlLmxpbmsodGhpcyk7CisgICAgCisgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBm
dW5jdGlvbiA9IG1fY29kZUJsb2NrLT5mdW5jdGlvbkV4cHIoY3VycmVudEluc3RydWN0aW9uWzNd
LnUub3BlcmFuZCk7CisgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9u
LCBkc3QsIHJlZ1QwLCBmdW5jdGlvbiwgcmVnVDEpOworICAgIGRvbmUubGluayh0aGlzKTsKK30K
IAogdm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2FycmF5KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1
Y3Rpb24pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJh
dGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcApp
bmRleCBiZTM0MTgwOTFkYjMxZDA1ODg3M2Q3ZmQ4ZmYzMzZhMDQ5Y2NkOGVhLi40OGEzMDA1MWIz
NzRhNjBkMGY0OThlZGU4NGQwY2NhNTZiMjVhZWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTQyLDYgKzQyLDggQEAKICNpbmNsdWRlICJIb3N0
Q2FsbFJldHVyblZhbHVlLmgiCiAjaW5jbHVkZSAiSklULmgiCiAjaW5jbHVkZSAiSklUVG9ERkdE
ZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24u
aCIKKyNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgi
CiAjaW5jbHVkZSAiSlNDYXRjaFNjb3BlLmgiCiAjaW5jbHVkZSAiSlNGdW5jdGlvbk5hbWVTY29w
ZS5oIgpAQCAtOTYwLDYgKzk2MiwyNCBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbk5ld0Z1bmN0aW9uV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0YwogICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoSlNGdW5jdGlvbjo6Y3JlYXRlV2l0aEludmFsaWRhdGVkUmVh
bGxvY2F0aW9uV2F0Y2hwb2ludCh2bSwgc3RhdGljX2Nhc3Q8RnVuY3Rpb25FeGVjdXRhYmxlKj4o
ZnVuY3Rpb25FeGVjdXRhYmxlKSwgc2NvcGUpKTsKIH0KIAorCitFbmNvZGVkSlNWYWx1ZSBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBKU1Nj
b3BlKiBzY29wZSwgSlNDZWxsKiBmdW5jdGlvbkV4ZWN1dGFibGUsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSkKK3sKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEFT
U0VSVChmdW5jdGlvbkV4ZWN1dGFibGUtPmluaGVyaXRzKEZ1bmN0aW9uRXhlY3V0YWJsZTo6aW5m
bygpKSk7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBOYXRpdmVDYWxsRnJhbWVUcmFj
ZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CisKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
ID0gZXhlYy0+Y2FsbGVlKCktPmdsb2JhbE9iamVjdCgpOworICAgIEpTRnVuY3Rpb24qIGZ1bmMg
PSBKU0Fycm93RnVuY3Rpb246OmNyZWF0ZSh2bSwgc2NvcGUsIHN0YXRpY19jYXN0PEZ1bmN0aW9u
RXhlY3V0YWJsZSo+KGZ1bmN0aW9uRXhlY3V0YWJsZSksIGdsb2JhbE9iamVjdCk7CisgICAgSlNB
cnJheSogYm91bmRBcmdzID0gSlNBcnJheTo6dHJ5Q3JlYXRlVW5pbml0aWFsaXplZCh2bSwgZ2xv
YmFsT2JqZWN0LT5hcnJheVN0cnVjdHVyZUZvckluZGV4aW5nVHlwZUR1cmluZ0FsbG9jYXRpb24o
QXJyYXlXaXRoVW5kZWNpZGVkKSwgMCk7CisKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpT
Qm91bmRGdW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIGZ1bmMsIEpTVmFsdWU6OmRl
Y29kZSh0aGlzVmFsdWUpLCBib3VuZEFyZ3MsIDAsICIiKSk7CisjZWxzZQorICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisjZW5kaWYKK30KKwogSlNDZWxsKiBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSog
c3RydWN0dXJlKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaAppbmRleCBjM2ZhZDVkNmYzM2FhMDUyYmQ3MGZiZjNh
ODc3OWM3NWJkM2Q1MDI3Li43NzQwNjgxYzhlMjBkYTc1NDFlOTRlNTZhMDZkMDgzMDMxYjQ0OTcz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaApAQCAtMjAsNyAr
MjAsNyBAQAogICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQogICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCiAjaWZuZGVmIEpJVE9wZXJhdGlvbnNfaApA
QCAtMTE1LDYgKzExNSw3IEBAIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAo
KkpfSklUT3BlcmF0aW9uX0VQUCkoRXhlY1N0YXRlKiwgdm9pZCosIHZvCiB0eXBlZGVmIEVuY29k
ZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FUFMpKEV4ZWNTdGF0ZSos
IHZvaWQqLCBzaXplX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgq
Sl9KSVRPcGVyYXRpb25fRVBjKShFeGVjU3RhdGUqLCBJbnN0cnVjdGlvbiopOwogdHlwZWRlZiBF
bmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUpzY0MpKEV4ZWNT
dGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKTsKK3R5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VKc2NDSikoRXhlY1N0YXRlKiwgSlNTY29wZSosIEpT
Q2VsbCosIEVuY29kZWRKU1ZhbHVlKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJB
VElPTiAoKkpfSklUT3BlcmF0aW9uX0VTUykoRXhlY1N0YXRlKiwgc2l6ZV90LCBzaXplX3QpOwog
dHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNz
aUNJKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEpTQ2VsbCosIFN0cmluZ0ltcGwq
KTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9u
X0VTc2lKSSkoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSwg
U3RyaW5nSW1wbCopOwpAQCAtMjc4LDYgKzI3OSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uTmV3QXJyYXlCdWZmZXJXaXRoUHJvZmlsZShFeGVjU3RhdGUqLCBBcnJh
CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5V2l0aFNpemVB
bmRQcm9maWxlKEV4ZWNTdGF0ZSosIEFycmF5QWxsb2NhdGlvblByb2ZpbGUqLCBFbmNvZGVkSlNW
YWx1ZSBzaXplKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbk5ld0Z1bmN0aW9uKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKSBXVEZfSU5U
RVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Z1bmN0aW9u
V2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludChFeGVjU3RhdGUqLCBKU1Njb3Bl
KiwgSlNDZWxsKikgV1RGX0lOVEVSTkFMOworRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBv
cGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqLCBF
bmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVSTkFMOwogSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbk5ld09iamVjdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqKSBXVEZfSU5URVJOQUw7CiBFbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld1JlZ2V4cChFeGVjU3RhdGUqLCB2
b2lkKikgV1RGX0lOVEVSTkFMOwogdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkhhbmRsZVdh
dGNoZG9nVGltZXIoRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFMOwpAQCAtNDA2LDQgKzQwOCwzIEBA
IGlubGluZSBQX0pJVE9wZXJhdGlvbl9FQ2xpIG9wZXJhdGlvbkxpbmtQb2x5bW9ycGhpY0NhbGxG
b3IoUmVnaXN0ZXJQcmVzZXJ2YXRpb25NCiAjZW5kaWYgLy8gRU5BQkxFKEpJVCkKIAogI2VuZGlm
IC8vIEpJVE9wZXJhdGlvbnNfaAotCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTExJbnRTbG93UGF0aHMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xM
SW50U2xvd1BhdGhzLmNwcAppbmRleCAwNjk3NTViNTMxMjVjNDc0NGZkODhjMmIzNGYyNmViYmI1
ODkzMTYyLi5jNjVhMDc2OTQ1ZjliMzZjYTY0MzE5ZmY2YzY4ZDlmNTgwZDA4Y2ZiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKQEAgLTM4LDYg
KzM4LDggQEAKICNpbmNsdWRlICJJbnRlcnByZXRlci5oIgogI2luY2x1ZGUgIkpJVC5oIgogI2lu
Y2x1ZGUgIkpJVEV4Y2VwdGlvbnMuaCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNp
bmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVu
dC5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCkBA
IC0xNzEsNiArMTczLDE1IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgTExJbnQgewogICAg
ICAgICBMTElOVF9SRVRVUk5fVFdPKHBjLCBfX3JjZl9leGVjKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAogICAgIH0gd2hpbGUgKGZhbHNlKQogCisgICAgCisjZGVmaW5lIExMSU5U
X0NBTENfUFJPUEVSVFlfRk9SX0ZVTkNfRVhQUigpICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICBMTElOVF9CRUdJTigpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIENvZGVCbG9jayogY29k
ZUJsb2NrID0gZXhlYy0+Y29kZUJsb2NrKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgSlNTY29wZSogc2NvcGUgPSBleGVjLT51bmNoZWNrZWRSKHBjWzJdLnUub3Bl
cmFuZCkuUmVnaXN0ZXI6OnNjb3BlKCk7ICAgICAgIFwKKyAgICBGdW5jdGlvbkV4ZWN1dGFibGUq
IGV4ZWN1dGFibGUgPSBjb2RlQmxvY2stPmZ1bmN0aW9uRXhwcihwY1szXS51Lm9wZXJhbmQpOyAg
XAorICAgIAorZW51bSBGdW5jdGlvbkV4cHJlc3Npb25UeXBlIHsgQXJyb3dGdW5jdGlvbkV4cHJl
c3Npb25UeXBlLCBDb21tb25GdW5jdGlvbkV4cHJlc3Npb25UeXBlfTsKKyAgICAKIGV4dGVybiAi
QyIgU2xvd1BhdGhSZXR1cm5UeXBlIGxsaW50X3RyYWNlX29wZXJhbmQoRXhlY1N0YXRlKiBleGVj
LCBJbnN0cnVjdGlvbiogcGMsIGludCBmcm9tV2hlcmUsIGludCBvcGVyYW5kKQogewogICAgIExM
SU5UX0JFR0lOKCk7CkBAIC0xMDAzLDE2ICsxMDE0LDM1IEBAIExMSU5UX1NMT1dfUEFUSF9ERUNM
KHNsb3dfcGF0aF9uZXdfZnVuYykKICNlbmRpZgogICAgIExMSU5UX1JFVFVSTihKU0Z1bmN0aW9u
OjpjcmVhdGUodm0sIGNvZGVCbG9jay0+ZnVuY3Rpb25EZWNsKHBjWzNdLnUub3BlcmFuZCksIHNj
b3BlKSk7CiB9Ci0KKyAgICAKIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfZnVu
Y19leHApCiB7Ci0gICAgTExJTlRfQkVHSU4oKTsKLSAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9
IGV4ZWMtPmNvZGVCbG9jaygpOwotICAgIEpTU2NvcGUqIHNjb3BlID0gZXhlYy0+dW5jaGVja2Vk
UihwY1syXS51Lm9wZXJhbmQpLlJlZ2lzdGVyOjpzY29wZSgpOwotICAgIEZ1bmN0aW9uRXhlY3V0
YWJsZSogZnVuY3Rpb24gPSBjb2RlQmxvY2stPmZ1bmN0aW9uRXhwcihwY1szXS51Lm9wZXJhbmQp
OwotICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGZ1bmN0aW9u
LCBzY29wZSk7CisgICAgTExJTlRfQ0FMQ19QUk9QRVJUWV9GT1JfRlVOQ19FWFBSKCk7CisKKyAg
ICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBleGVjdXRhYmxlLCBz
Y29wZSk7CisgICAgTExJTlRfUkVUVVJOKGZ1bmMpOworfQorCisKK0xMSU5UX1NMT1dfUEFUSF9E
RUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApCit7CisgICAgTExJTlRfQ0FMQ19QUk9Q
RVJUWV9GT1JfRlVOQ19FWFBSKCk7CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gTExJTlRfT1BfQyg0KS5qc1ZhbHVlKCk7Cisg
ICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGV4ZWMtPmNhbGxlZSgpLT5nbG9iYWxP
YmplY3QoKTsKICAgICAKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNBcnJvd0Z1bmN0aW9uOjpj
cmVhdGUodm0sIHNjb3BlLCBleGVjdXRhYmxlLCBnbG9iYWxPYmplY3QpOworICAgIAorICAgIEpT
QXJyYXkqIGJvdW5kQXJncyA9IEpTQXJyYXk6OnRyeUNyZWF0ZVVuaW5pdGlhbGl6ZWQodm0sIGds
b2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5cGVEdXJpbmdBbGxvY2F0aW9u
KEFycmF5V2l0aFVuZGVjaWRlZCksIDApOworICAgIAorICAgIGNvbnN0IFN0cmluZyBmdW5jV2l0
aG91dE5hbWUgPSAiIjsKKyAgICAKKyAgICBMTElOVF9SRVRVUk4oSlNCb3VuZEZ1bmN0aW9uOjpj
cmVhdGUodm0sIGdsb2JhbE9iamVjdCwgZnVuYywgdGhpc1ZhbHVlLCBib3VuZEFyZ3MsIDAsIGZ1
bmNXaXRob3V0TmFtZSkpOworI2Vsc2UKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNGdW5jdGlv
bjo6Y3JlYXRlKHZtLCBleGVjdXRhYmxlLCBzY29wZSk7CiAgICAgTExJTlRfUkVUVVJOKGZ1bmMp
OworI2VuZGlmCiB9CiAKIHN0YXRpYyBTbG93UGF0aFJldHVyblR5cGUgaGFuZGxlSG9zdENhbGwo
RXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBJbnN0cnVjdGlvbiogcGMsIEpTVmFsdWUgY2FsbGVlLCBD
b2RlU3BlY2lhbGl6YXRpb25LaW5kIGtpbmQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9MTEludFNsb3dQYXRocy5oCmluZGV4IDRiZjdkZWIwZmEwYjZjNjQzOGUzNmY5NjMyMGUyZjY2
OTczOWFmNjQuLmM3ZmFiOTY5MWMxOGI5Mzk1NmQwZWEyOWYzMzk1NjExOGM1ZTcxZWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCkBAIC05Niw2ICs5
Niw3IEBAIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfc3dpdGNoX2NoYXIp
OwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9zd2l0Y2hfc3RyaW5nKTsK
IExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfbmV3X2Z1bmMpOwogTExJTlRf
U0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuY19leHApOworTExJTlRfU0xP
V19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApOwogTExJTlRf
U0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9jYWxsKTsKIExMSU5UX1NMT1dfUEFUSF9I
SURERU5fREVDTChzbG93X3BhdGhfY29uc3RydWN0KTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5f
REVDTChzbG93X3BhdGhfc2l6ZV9mcmFtZV9mb3JfdmFyYXJncyk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20gYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KaW5kZXggNTQzZDll
OTMzM2M1MTNlOTc2MTdiN2JkYTdmNjk5ODY2ODM4YTFlMC4uMTgyYmJkOWU0ZWY3ODkyOGRhNTJm
YmNlYzg4MmE1ZGYzNmRiNzk0MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQpAQCAtMTE2OSw2ICsxMTY5LDEwIEBAIF9sbGlu
dF9vcF9uZXdfZnVuY19leHA6CiAgICAgY2FsbFNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfbmV3
X2Z1bmNfZXhwKQogICAgIGRpc3BhdGNoKDQpCiAKK19sbGludF9vcF9uZXdfYXJyb3dfZnVuY19l
eHA6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxTbG93UGF0aChfbGxpbnRfc2xvd19w
YXRoX25ld19hcnJvd19mdW5jX2V4cCkKKyAgICBkaXNwYXRjaCg1KQogCiBfbGxpbnRfb3BfY2Fs
bDoKICAgICB0cmFjZUV4ZWN1dGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL0FTVEJ1aWxkZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNU
QnVpbGRlci5oCmluZGV4IGI4ZmU0Yjg0ODVhMDk3Njg4ZjVjNjMwYmQ4YzNjOTY3NjRmYzQ2NDku
LmYyZmEzYmQ5YzE1ZjRlNDIyZWVjNmE3OWQ2NWYxZDcwODZjNjJjNzMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCkBAIC0zMTMsNiArMzEzLDE5IEBAIHB1Ymxp
YzoKICAgICAgICAgICAgIGluU3RyaWN0Q29udGV4dCwgY29uc3RydWN0b3JLaW5kKTsKICAgICB9
CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEV4cHJlc3Npb25O
b2RlKiBjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0
aW9uLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88QVNUQnVpbGRlcj4mIGluZm8pCisgICAgewor
ICAgICAgICBTb3VyY2VDb2RlIHNvdXJjZSA9IGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJv
d0Z1bmN0aW9uQm9keUV4cHJlc3Npb24KKyAgICAgICAgPyBtX3NvdXJjZUNvZGUtPnN1YkFycm93
RXhwcmVzc2lvbihpbmZvLmFycm93RnVuY3Rpb25PZmZzZXQsIGluZm8uY2xvc2VCcmFjZU9mZnNl
dCwgaW5mby5ib2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlTdGFydENvbHVtbikKKyAgICAgICAgOiBt
X3NvdXJjZUNvZGUtPnN1YkV4cHJlc3Npb24oaW5mby5vcGVuQnJhY2VPZmZzZXQsIGluZm8uY2xv
c2VCcmFjZU9mZnNldCwgaW5mby5ib2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlTdGFydENvbHVtbik7
CisKKyAgICAgICAgQXJyb3dGdW5jRXhwck5vZGUqIHJlc3VsdCA9IG5ldyAobV9wYXJzZXJBcmVu
YSkgQXJyb3dGdW5jRXhwck5vZGUobG9jYXRpb24sICppbmZvLm5hbWUsIGluZm8uYm9keSwgc291
cmNlLCBpbmZvLnBhcmFtZXRlcnMpOworICAgICAgICBpbmZvLmJvZHktPnNldExvYyhpbmZvLmJv
ZHlTdGFydExpbmUsIGluZm8uYm9keUVuZExpbmUsIGxvY2F0aW9uLnN0YXJ0T2Zmc2V0LCBsb2Nh
dGlvbi5saW5lU3RhcnRPZmZzZXQpOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKyNl
bmRpZgorCiAgICAgTkVWRVJfSU5MSU5FIFByb3BlcnR5Tm9kZSogY3JlYXRlR2V0dGVyT3JTZXR0
ZXJQcm9wZXJ0eShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBQcm9wZXJ0eU5vZGU6
OlR5cGUgdHlwZSwgYm9vbCwKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogbmFtZSwgY29uc3Qg
UGFyc2VyRnVuY3Rpb25JbmZvPEFTVEJ1aWxkZXI+JiBpbmZvLCBTdXBlckJpbmRpbmcgc3VwZXJC
aW5kaW5nKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
TGV4ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKaW5kZXgg
N2RlMTQyMjBiYmRhNzI3MzhiNTczYTRiOTc4OGNlMGIzMmNjN2NlMy4uNTQwZjlmZmI3YmI1MTgy
OWQ2N2RlZWRlYzVlNmE4ZWQ1MWNjNDQxNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9MZXhlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9M
ZXhlci5jcHAKQEAgLTE0MzAsNiArMTQzMCwxOCBAQCBib29sIExleGVyPFQ+OjpuZXh0VG9rZW5J
c0NvbG9uKCkKICAgICByZXR1cm4gY29kZSA8IG1fY29kZUVuZCAmJiAqY29kZSA9PSAnOic7CiB9
CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVu
YW1lIFQ+Cit2b2lkIExleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9uKEpTVG9rZW4qIHRva2VuUmVj
b3JkKQoreworICAgIEpTVG9rZW5EYXRhKiB0b2tlbkRhdGEgPSAmdG9rZW5SZWNvcmQtPm1fZGF0
YTsKKyAgICB0b2tlbkRhdGEtPmxpbmUgPSBsaW5lTnVtYmVyKCk7CisgICAgdG9rZW5EYXRhLT5v
ZmZzZXQgPSBjdXJyZW50T2Zmc2V0KCk7CisgICAgdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQg
PSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0KCk7CisgICAgQVNTRVJUKHRva2VuRGF0YS0+b2Zmc2V0
ID49IHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0KTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8
dHlwZW5hbWUgVD4KIEpTVG9rZW5UeXBlIExleGVyPFQ+OjpsZXgoSlNUb2tlbiogdG9rZW5SZWNv
cmQsIHVuc2lnbmVkIGxleGVyRmxhZ3MsIGJvb2wgc3RyaWN0TW9kZSkKIHsKQEAgLTE0OTMsNyAr
MTUwNSwxMiBAQCBzdGFydDoKICAgICAgICAgfQogICAgICAgICB0b2tlbiA9IEdUOwogICAgICAg
ICBicmVhazsKLSAgICBjYXNlIENoYXJhY3RlckVxdWFsOgorICAgIGNhc2UgQ2hhcmFjdGVyRXF1
YWw6IHsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB1aW50
MzJfdCBzYXZlZGxpbmVOdW1iZXIgPSB0b2tlbkRhdGEtPmxpbmU7CisgICAgICAgIHVpbnQzMl90
IHNhdmVkT2Zmc2V0ID0gY3VycmVudE9mZnNldCgpOworICAgICAgICB1aW50MzJfdCBzYXZlZExp
bmVTdGFydE9mZnNldCA9IGN1cnJlbnRMaW5lU3RhcnRPZmZzZXQoKTsKKyNlbmRpZgogICAgICAg
ICBzaGlmdCgpOwogICAgICAgICBpZiAobV9jdXJyZW50ID09ICc9JykgewogICAgICAgICAgICAg
c2hpZnQoKTsKQEAgLTE1MDUsOCArMTUyMiwyMiBAQCBzdGFydDoKICAgICAgICAgICAgIHRva2Vu
ID0gRVFFUTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnPicpIHsKKyAg
ICAgICAgICAgIHNoaWZ0KCk7CisgICAgICAgICAgICB0b2tlbiA9IEFSUk9XRlVOQ1RJT047CisK
KyAgICAgICAgICAgIHRva2VuRGF0YS0+bGluZSA9IHNhdmVkbGluZU51bWJlcjsKKyAgICAgICAg
ICAgIHRva2VuRGF0YS0+b2Zmc2V0ID0gc2F2ZWRPZmZzZXQ7CisgICAgICAgICAgICB0b2tlbkRh
dGEtPmxpbmVTdGFydE9mZnNldCA9IHNhdmVkTGluZVN0YXJ0T2Zmc2V0OworCisgICAgICAgICAg
ICBBU1NFUlQodG9rZW5EYXRhLT5vZmZzZXQgPj0gdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQp
OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICB0b2tlbiA9
IEVRVUFMOwogICAgICAgICBicmVhazsKKyAgICB9CiAgICAgY2FzZSBDaGFyYWN0ZXJMZXNzOgog
ICAgICAgICBzaGlmdCgpOwogICAgICAgICBpZiAobV9jdXJyZW50ID09ICchJyAmJiBwZWVrKDEp
ID09ICctJyAmJiBwZWVrKDIpID09ICctJykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9MZXhlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhl
ci5oCmluZGV4IDJkZjUyMTM5OTU3ODIwMDc4NWExNjZlMjJhNzMyNzVlMGVhNjMwNGQuLmNiM2Yy
NWY3YzA4ZjgyNTgxYWYyY2U4ZmE5OTk5N2ZhZGUwNzY2ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL0xleGVyLmgKQEAgLTg1LDYgKzg1LDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SXNS
ZXBhcnNpbmcoKSB7IG1faXNSZXBhcnNpbmcgPSB0cnVlOyB9CiAgICAgYm9vbCBpc1JlcGFyc2lu
ZygpIGNvbnN0IHsgcmV0dXJuIG1faXNSZXBhcnNpbmc7IH0KIAorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisgICAgdm9pZCBzZXRUb2tlblBvc2l0aW9uKEpTVG9rZW4qIHRv
a2VuUmVjb3JkKTsKKyNlbmRpZgogICAgIEpTVG9rZW5UeXBlIGxleChKU1Rva2VuKiwgdW5zaWdu
ZWQsIGJvb2wgc3RyaWN0TW9kZSk7CiAgICAgYm9vbCBuZXh0VG9rZW5Jc0NvbG9uKCk7CiAgICAg
aW50IGxpbmVOdW1iZXIoKSBjb25zdCB7IHJldHVybiBtX2xpbmVOdW1iZXI7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKaW5kZXggM2JkYWI2
MWE1MjJlMGNlMmMzMzk3ZjgwZjRmYTE4NGQxZDQyMTYwZS4uYjU4ZTFmZTFhZjkwZTY2MGIwODQy
ZWE3ZTk5ZjA3YWU2YWNiYjk1ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9Ob2RlQ29uc3RydWN0b3JzLmgKQEAgLTc4MSw2ICs3ODEsMTMgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgICAgIG1fYm9keS0+ZmluaXNoUGFyc2luZyhzb3VyY2UsIHBhcmFtZXRlciwgaWRlbnQs
IEZ1bmN0aW9uRXhwcmVzc2lvbik7CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICBpbmxpbmUgQXJyb3dGdW5jRXhwck5vZGU6OkFycm93RnVuY0V4cHJO
b2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IElkZW50aWZpZXImIGlk
ZW50LCBGdW5jdGlvbkJvZHlOb2RlKiBib2R5LCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIFBh
cmFtZXRlck5vZGUqIHBhcmFtZXRlcikKKyAgICAgICAgOiBGdW5jRXhwck5vZGUobG9jYXRpb24s
IGlkZW50LCBib2R5LCBzb3VyY2UsIHBhcmFtZXRlcikKKyAgICB7CisgICAgfQorI2VuZGlmCisg
ICAgCiAgICAgaW5saW5lIEZ1bmNEZWNsTm9kZTo6RnVuY0RlY2xOb2RlKGNvbnN0IEpTVG9rZW5M
b2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBGdW5jdGlvbkJvZHlO
b2RlKiBib2R5LCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIFBhcmFtZXRlck5vZGUqIHBhcmFt
ZXRlcikKICAgICAgICAgOiBTdGF0ZW1lbnROb2RlKGxvY2F0aW9uKQogICAgICAgICAsIG1fYm9k
eShib2R5KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCmluZGV4IDZiMzczMjljMDli
ZmM0MmJlY2NjM2NhYTk4MzU5N2MzNTQwMmI2YzkuLjViNzc0MWUxY2NjOGQ1MTVmZjE0YzE1MzE3
MmQ3YmRhMDUzZjU4NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
Tm9kZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKQEAgLTE1
OCw2ICsxNTgsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdmlydHVhbCBib29sIGlzRG90
QWNjZXNzb3JOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBi
b29sIGlzRGVjb25zdHJ1Y3Rpb25Ob2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAg
ICAgdmlydHVhbCBib29sIGlzRnVuY0V4cHJOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB2aXJ0dWFsIGJv
b2wgaXNBcnJvd0Z1bmNFeHByTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjZW5kaWYK
ICAgICAgICAgdmlydHVhbCBib29sIGlzQ29tbWFOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzU2ltcGxlQXJyYXkoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNBZGQoKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQpAQCAtMTY1Miw2ICsxNjU1LDE5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBGdW5j
dGlvbkJvZHlOb2RlKiBtX2JvZHk7CiAgICAgfTsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgY2xhc3MgQXJyb3dGdW5jRXhwck5vZGUgOiBwdWJsaWMgRnVuY0V4
cHJOb2RlIHsKKyAgICBwdWJsaWM6CisgICAgICAgIEFycm93RnVuY0V4cHJOb2RlKGNvbnN0IEpT
VG9rZW5Mb2NhdGlvbiYsIGNvbnN0IElkZW50aWZpZXImLCBGdW5jdGlvbkJvZHlOb2RlKiwgY29u
c3QgU291cmNlQ29kZSYsIFBhcmFtZXRlck5vZGUqID0gMCk7CisgICAgcHJpdmF0ZToKKyAgICAg
ICAgdmlydHVhbCBSZWdpc3RlcklEKiBlbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImLCBS
ZWdpc3RlcklEKiA9IDApIG92ZXJyaWRlOworICAgICAgICAKKyAgICAgICAgdmlydHVhbCBib29s
IGlzRnVuY0V4cHJOb2RlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKyAgICAg
ICAgCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Fycm93RnVuY0V4cHJOb2RlKCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQorICAgIH07CisjZW5kaWYKKwogI2lmIEVOQUJMRShFUzZf
Q0xBU1NfU1lOVEFYKQogICAgIGNsYXNzIENsYXNzRXhwck5vZGUgZmluYWwgOiBwdWJsaWMgRXhw
cmVzc2lvbk5vZGUgewogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFy
c2VyLmNwcAppbmRleCAzMmQyNTBjYTdjYzUzZjRiZWE2MWY2MWI2ZGFiZmU2NGJjYmM2ODQ2Li45
NWIzNjUyZjE4NjczNmNjOWRkOTdkNmQ0YmNmMDYwMmQ3YWU0OWY3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCkBAIC0yNjQsNyArMjY0LDcgQEAgU3RyaW5nIFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUlubmVyKCkKICAgICBpZiAobV9sZXhlci0+aXNSZXBhcnNpbmco
KSkKICAgICAgICAgbV9zdGF0ZW1lbnREZXB0aC0tOwogICAgIFNjb3BlUmVmIHNjb3BlID0gY3Vy
cmVudFNjb3BlKCk7Ci0gICAgU291cmNlRWxlbWVudHMqIHNvdXJjZUVsZW1lbnRzID0gcGFyc2VT
b3VyY2VFbGVtZW50cyhjb250ZXh0LCBDaGVja0ZvclN0cmljdE1vZGUpOworICAgIFNvdXJjZUVs
ZW1lbnRzKiBzb3VyY2VFbGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgQ2hl
Y2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICBpZiAoIXNv
dXJjZUVsZW1lbnRzIHx8ICFjb25zdW1lKEVPRlRPSykpIHsKICAgICAgICAgaWYgKGhhc0Vycm9y
KCkpCiAgICAgICAgICAgICBwYXJzZUVycm9yID0gbV9lcnJvck1lc3NhZ2U7CkBAIC0zMzAsNyAr
MzMwLDcgQEAgYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6YWxsb3dBdXRvbWF0aWNTZW1pY29sb24o
KQogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgotdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291
cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZUVsZW1lbnRzTW9kZSBtb2Rl
KQordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNv
dXJjZUVsZW1lbnRzTW9kZSBtb2RlLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlw
ZSkKIHsKICAgICBjb25zdCB1bnNpZ25lZCBsZW5ndGhPZlVzZVN0cmljdExpdGVyYWwgPSAxMjsg
Ly8gInVzZSBzdHJpY3QiLmxlbmd0aAogICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzb3VyY2VFbGVt
ZW50cyA9IGNvbnRleHQuY3JlYXRlU291cmNlRWxlbWVudHMoKTsKQEAgLTMzOSw3ICszMzksNyBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VTb3VyY2VFbAogICAgIHVuc2lnbmVkIGRpcmVjdGl2ZUxpdGVyYWxM
ZW5ndGggPSAwOwogICAgIGF1dG8gc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CiAgICAg
Ym9vbCBoYXNTZXRTdHJpY3QgPSBmYWxzZTsKLSAgICB3aGlsZSAoVHJlZVN0YXRlbWVudCBzdGF0
ZW1lbnQgPSBwYXJzZVN0YXRlbWVudChjb250ZXh0LCBkaXJlY3RpdmUsICZkaXJlY3RpdmVMaXRl
cmFsTGVuZ3RoKSkgeworICAgIHdoaWxlIChUcmVlU3RhdGVtZW50IHN0YXRlbWVudCA9IHBhcnNl
U3RhdGVtZW50KGNvbnRleHQsIGRpcmVjdGl2ZSwgJmRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgsIGZ1
bmN0aW9uUGFyc2VUeXBlKSkgewogICAgICAgICBpZiAobW9kZSA9PSBDaGVja0ZvclN0cmljdE1v
ZGUgJiYgIXNlZW5Ob25EaXJlY3RpdmUpIHsKICAgICAgICAgICAgIGlmIChkaXJlY3RpdmUpIHsK
ICAgICAgICAgICAgICAgICAvLyAidXNlIHN0cmljdCIgbXVzdCBiZSB0aGUgZXhhY3QgbGl0ZXJh
bCB3aXRob3V0IGVzY2FwZSBzZXF1ZW5jZXMgb3IgbGluZSBjb250aW51YXRpb24uCkBAIC01NzEs
NiArNTcxLDMxIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlY29uc3RydWN0
aW9uUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6Y3JlYXRlCiAgICAgcmV0dXJuIGNvbnRleHQu
Y3JlYXRlQmluZGluZ0xvY2F0aW9uKHRva2VuLm1fbG9jYXRpb24sIG5hbWUsIHRva2VuLm1fc3Rh
cnRQb3NpdGlvbiwgdG9rZW4ubV9lbmRQb3NpdGlvbik7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0KQoreworICAg
IEFTU0VSVChtYXRjaChBUlJPV0ZVTkNUSU9OKSk7CisKKyAgICBKU1Rva2VuTG9jYXRpb24gbG9j
YXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2Vu
U3RhcnRQb3NpdGlvbigpOworICAgIEpTVGV4dFBvc2l0aW9uIGVuZCA9IHRva2VuRW5kUG9zaXRp
b24oKTsKKworICAgIG5leHQoKTsKKyAgICBUcmVlRXhwcmVzc2lvbiBleHByID0gcGFyc2VBcnJv
d0Z1bmN0aW9uRXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICBmYWlsSWZGYWxzZShleHByLCAiQ2Fu
bm90IHBhcnNlIHRoZSBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgZW5kID0gbGFz
dFRva2VuRW5kUG9zaXRpb24oKTsKKworICAgIGJvb2wgY29ycmVjdEFycm93RmluaXNoID0gaXNF
bmRPZkFycm93RnVuY3Rpb24oKSB8fCBtYXRjaChFT0ZUT0spOworICAgIGZhaWxJZkZhbHNlKGNv
cnJlY3RBcnJvd0ZpbmlzaCwgIkV4cGVjdGVkIGEgJzsnLCAnXScsICd9JywgJyknLCBvciAnLCcg
Zm9sbG93aW5nIGEgYXJyb3cgZnVuY3Rpb24gc3RhdGVtZW50Iik7CisKKyAgICBlbmQgPSB0b2tl
bkVuZFBvc2l0aW9uKCk7CisgICAgc2V0RW5kT2ZTdGF0ZW1lbnQoKTsKKworICAgIHJldHVybiBj
b250ZXh0LmNyZWF0ZVJldHVyblN0YXRlbWVudChsb2NhdGlvbiwgZXhwciwgc3RhcnQsIGVuZCk7
Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBQYXJzZXI8TGV4ZXJU
eXBlPjo6dHJ5UGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm5FeHByZXNzaW9uKFRyZWVCdWlsZGVy
JiBjb250ZXh0KQogewpAQCAtMTAxOCw3ICsxMDQzLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlQ2xhdXNlTGlzdCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTd2l0Y2hDbGF1
c2UKICAgICBUcmVlRXhwcmVzc2lvbiBjb25kaXRpb24gPSBwYXJzZUV4cHJlc3Npb24oY29udGV4
dCk7CiAgICAgZmFpbElmRmFsc2UoY29uZGl0aW9uLCAiQ2Fubm90IHBhcnNlIHN3aXRjaCBjbGF1
c2UiKTsKICAgICBjb25zdW1lT3JGYWlsKENPTE9OLCAiRXhwZWN0ZWQgYSAnOicgYWZ0ZXIgc3dp
dGNoIGNsYXVzZSBleHByZXNzaW9uIik7Ci0gICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN0YXRlbWVu
dHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUp
OworICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50
cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VU
eXBlKTsKICAgICBmYWlsSWZGYWxzZShzdGF0ZW1lbnRzLCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5
IG9mIGEgc3dpdGNoIGNsYXVzZSIpOwogICAgIFRyZWVDbGF1c2UgY2xhdXNlID0gY29udGV4dC5j
cmVhdGVDbGF1c2UoY29uZGl0aW9uLCBzdGF0ZW1lbnRzKTsKICAgICBjb250ZXh0LnNldFN0YXJ0
T2Zmc2V0KGNsYXVzZSwgc3RhcnRPZmZzZXQpOwpAQCAtMTAzMSw3ICsxMDU2LDcgQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhdXNlTGlzdCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VTd2l0Y2hDbGF1c2UKICAgICAgICAgVHJlZUV4cHJlc3Npb24gY29uZGl0aW9uID0gcGFy
c2VFeHByZXNzaW9uKGNvbnRleHQpOwogICAgICAgICBmYWlsSWZGYWxzZShjb25kaXRpb24sICJD
YW5ub3QgcGFyc2Ugc3dpdGNoIGNhc2UgZXhwcmVzc2lvbiIpOwogICAgICAgICBjb25zdW1lT3JG
YWlsKENPTE9OLCAiRXhwZWN0ZWQgYSAnOicgYWZ0ZXIgc3dpdGNoIGNsYXVzZSBleHByZXNzaW9u
Iik7Ci0gICAgICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VF
bGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICAgICAgVHJlZVNv
dXJjZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERv
bnRDaGVja0ZvclN0cmljdE1vZGUsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwogICAgICAg
ICBmYWlsSWZGYWxzZShzdGF0ZW1lbnRzLCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIGEgc3dp
dGNoIGNsYXVzZSIpOwogICAgICAgICBjbGF1c2UgPSBjb250ZXh0LmNyZWF0ZUNsYXVzZShjb25k
aXRpb24sIHN0YXRlbWVudHMpOwogICAgICAgICBjb250ZXh0LnNldFN0YXJ0T2Zmc2V0KGNsYXVz
ZSwgc3RhcnRPZmZzZXQpOwpAQCAtMTA0OCw3ICsxMDczLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlQ2xhdXNlIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN3aXRjaERlZmF1
bHRDbGEKICAgICB1bnNpZ25lZCBzdGFydE9mZnNldCA9IHRva2VuU3RhcnQoKTsKICAgICBuZXh0
KCk7CiAgICAgY29uc3VtZU9yRmFpbChDT0xPTiwgIkV4cGVjdGVkIGEgJzonIGFmdGVyIHN3aXRj
aCBkZWZhdWx0IGNsYXVzZSIpOwotICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRzID0g
cGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAg
ICBUcmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29u
dGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7
CiAgICAgZmFpbElmRmFsc2Uoc3RhdGVtZW50cywgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiBh
IHN3aXRjaCBkZWZhdWx0IGNsYXVzZSIpOwogICAgIFRyZWVDbGF1c2UgcmVzdWx0ID0gY29udGV4
dC5jcmVhdGVDbGF1c2UoMCwgc3RhdGVtZW50cyk7CiAgICAgY29udGV4dC5zZXRTdGFydE9mZnNl
dChyZXN1bHQsIHN0YXJ0T2Zmc2V0KTsKQEAgLTExMzMsNyArMTE1OCw3IEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VC
bG9ja1N0YXRlbWVuCiAgICAgICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KHJlc3VsdCwgZW5kT2Zm
c2V0KTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0gICAgVHJlZVNvdXJjZUVsZW1l
bnRzIHN1YnRyZWUgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0
cmljdE1vZGUpOworICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdWJ0cmVlID0gcGFyc2VTb3VyY2VF
bGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9u
UGFyc2VUeXBlKTsKICAgICBmYWlsSWZGYWxzZShzdWJ0cmVlLCAiQ2Fubm90IHBhcnNlIHRoZSBi
b2R5IG9mIHRoZSBibG9jayBzdGF0ZW1lbnQiKTsKICAgICBtYXRjaE9yRmFpbChDTE9TRUJSQUNF
LCAiRXhwZWN0ZWQgYSBjbG9zaW5nICd9JyBhdCB0aGUgZW5kIG9mIGEgYmxvY2sgc3RhdGVtZW50
Iik7CiAgICAgaW50IGVuZE9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKQEAgLTExNDUs
NyArMTE3MCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VCbG9ja1N0YXRlbWVuCiB9CiAKIHRlbXBsYXRlIDx0eXBl
bmFtZSBMZXhlclR5cGU+Ci10ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1l
bnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0
LCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJh
bExlbmd0aCkKK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0
IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3Ro
LCBGdW5jdGlvblBhcnNlVHlwZSBwYXJzZVR5cGUpCiB7CiAgICAgRGVwdGhNYW5hZ2VyIHN0YXRl
bWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKICAgICBtX3N0YXRlbWVudERlcHRoKys7CkBA
IC0xMTU0LDYgKzExNzksMjMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3Rh
dGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmUKICAgICBmYWlsSWZT
dGFja092ZXJmbG93KCk7CiAgICAgVHJlZVN0YXRlbWVudCByZXN1bHQgPSAwOwogICAgIGJvb2wg
c2hvdWxkU2V0RW5kT2Zmc2V0ID0gdHJ1ZTsKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7
CisgICAgICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKKyAgICAgICAgY2FzZSBDTE9TRVBB
UkVOOgorICAgICAgICBjYXNlIENMT1NFQlJBQ0tFVDoKKyAgICAgICAgY2FzZSBDT01NQToKKyAg
ICAgICAgY2FzZSBTRU1JQ09MT046IHsKKyAgICAgICAgICAgIHJlc3VsdCA9IDA7CisgICAgICAg
ICAgICBjb250ZXh0LnNldEVuZE9mZnNldChyZXN1bHQsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24u
b2Zmc2V0KTsKKyAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgIH0KKyAgICAgICAg
ZGVmYXVsdDoKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorI2VuZGlmCiAg
ICAgc3dpdGNoIChtX3Rva2VuLm1fdHlwZSkgewogICAgIGNhc2UgT1BFTkJSQUNFOgogICAgICAg
ICByZXN1bHQgPSBwYXJzZUJsb2NrU3RhdGVtZW50KGNvbnRleHQpOwpAQCAtMTE5OSw2ICsxMjQx
LDE1IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgY2FzZSBCUkVBSzoKICAgICAgICAg
cmVzdWx0ID0gcGFyc2VCcmVha1N0YXRlbWVudChjb250ZXh0KTsKICAgICAgICAgYnJlYWs7Cisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIEFSUk9XRlVOQ1RJ
T046CisgICAgICAgIHJlc3VsdCA9IHBhcnNlQXJyb3dGdW5jdGlvblN0YXRlbWVudChjb250ZXh0
KTsKKyAgICAgICAgLy8gQ29uc3VtZSB0aGUgZW5kIG9mIGFycm93IGZ1bmN0aW9uICw7XSkgYW5k
IHByZXZlbnQKKyAgICAgICAgLy8gcGFyc2UgdGhpcyBzeW1ib2xzIGJ5IHBhcnNlU3RhdGVtZW50
IGFzIHNlcGFyYXRlIHN0YXRlbWVudAorICAgICAgICBpZiAocGFyc2VUeXBlID09IFN0YW5kYXJk
RnVuY3Rpb25QYXJzZVR5cGUpCisgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgIGJyZWFrOwor
I2VuZGlmCiAgICAgY2FzZSBSRVRVUk46CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlUmV0dXJuU3Rh
dGVtZW50KGNvbnRleHQpOwogICAgICAgICBicmVhazsKQEAgLTEyNjMsMjAgKzEzMTQsMzQgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRm9ybWFsUGFyYW1ldGVyTGlzdCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VGb3IKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGdW5jdGlvbkJvZHkgUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlRnVuY3Rpb25Cb2R5KAogICAgIFRyZWVCdWlsZGVyJiBjb250ZXh0LCBpbnQg
ZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwgCi0gICAgaW50IHBh
cmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCkKKyAgICBpbnQg
cGFyYW1ldGVyc1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kLCBGdW5jdGlv
blBhcnNlVHlwZSBwYXJzZVR5cGUpCiB7CiAgICAgSlNUb2tlbkxvY2F0aW9uIHN0YXJ0TG9jYXRp
b24odG9rZW5Mb2NhdGlvbigpKTsKICAgICB1bnNpZ25lZCBzdGFydENvbHVtbiA9IHRva2VuQ29s
dW1uKCk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFy
c2VUeXBlID09IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgbmV4dCgpOwor
ICAgICAgICBpZiAobWF0Y2goQ0xPU0VCUkFDRSkpIHsKKyAgICAgICAgICAgIHVuc2lnbmVkIGVu
ZENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5jcmVh
dGVGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVt
biwgZW5kQ29sdW1uLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBh
cmFtZXRlcnNTdGFydCwgc3RyaWN0TW9kZSgpLCBjb25zdHJ1Y3RvcktpbmQpOworICAgICAgICB9
CisgICAgfQorI2Vsc2UKICAgICBuZXh0KCk7Ci0KICAgICBpZiAobWF0Y2goQ0xPU0VCUkFDRSkp
IHsKICAgICAgICAgdW5zaWduZWQgZW5kQ29sdW1uID0gdG9rZW5Db2x1bW4oKTsKICAgICAgICAg
cmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0YXJ0TG9jYXRpb24sIHRva2VuTG9j
YXRpb24oKSwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1
bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0cmljdE1vZGUoKSwgY29uc3RydWN0
b3JLaW5kKTsKICAgICB9CisjZW5kaWYKKwogICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0
aCgmbV9zdGF0ZW1lbnREZXB0aCk7CiAgICAgbV9zdGF0ZW1lbnREZXB0aCA9IDA7CiAgICAgdHlw
ZW5hbWUgVHJlZUJ1aWxkZXI6OkZ1bmN0aW9uQm9keUJ1aWxkZXIgYm9keUJ1aWxkZXIoY29uc3Rf
Y2FzdDxWTSo+KG1fdm0pLCBtX2xleGVyLmdldCgpKTsKLSAgICBmYWlsSWZGYWxzZShwYXJzZVNv
dXJjZUVsZW1lbnRzKGJvZHlCdWlsZGVyLCBDaGVja0ZvclN0cmljdE1vZGUpLCAiQ2Fubm90IHBh
cnNlIGJvZHkgb2YgdGhpcyBmdW5jdGlvbiIpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgZmFpbElmRmFsc2UocGFyc2VTb3VyY2VFbGVtZW50cyhib2R5QnVpbGRl
ciwgQ2hlY2tGb3JTdHJpY3RNb2RlLCBwYXJzZVR5cGUpLCBwYXJzZVR5cGUgPT0gU3RhbmRhcmRG
dW5jdGlvblBhcnNlVHlwZSA/ICJDYW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGZ1bmN0aW9uIiA6
ICJDYW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGFycm93IGZ1bmN0aW9uIik7CisjZWxzZQorICAg
IGZhaWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMoYm9keUJ1aWxkZXIsIENoZWNrRm9yU3Ry
aWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSksICJDYW5ub3QgcGFyc2UgYm9keSBv
ZiB0aGlzIGZ1bmN0aW9uIik7CisjZW5kaWYKICAgICB1bnNpZ25lZCBlbmRDb2x1bW4gPSB0b2tl
bkNvbHVtbigpOwogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uQm9keShzdGFydExv
Y2F0aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0YXJ0Q29sdW1uLCBlbmRDb2x1bW4sIGZ1bmN0aW9u
S2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBzdHJpY3RN
b2RlKCksIGNvbnN0cnVjdG9yS2luZCk7CiB9CkBAIC0xMjk3LDE1ICsxMzYyLDggQEAgc3RhdGlj
IGNvbnN0IGNoYXIqIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShGdW5jdGlvblBhcnNlTW9kZSBtb2Rl
KQogICAgIHJldHVybiBudWxscHRyOwogfQogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBl
PgotdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVu
dHMgcmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLAotICAgIGJvb2wgbmFtZUlz
SW5Db250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCBvd25lckNsYXNzS2luZCwgaW50IGZ1
bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZv
KQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4gdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBpbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25QYXJhbXRlcnMoVHJlZUJ1
aWxkZXImIGNvbnRleHQsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzIHJlcXVpcmVtZW50cywgRnVuY3Rp
b25QYXJzZU1vZGUgbW9kZSwgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQXV0b1BvcFNj
b3BlUmVmJiBmdW5jdGlvblNjb3BlLCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBp
bmZvKQogewotICAgIEF1dG9Qb3BTY29wZVJlZiBmdW5jdGlvblNjb3BlKHRoaXMsIHB1c2hTY29w
ZSgpKTsKLSAgICBmdW5jdGlvblNjb3BlLT5zZXRJc0Z1bmN0aW9uKCk7Ci0gICAgaW50IGZ1bmN0
aW9uTmFtZVN0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OwotICAgIGNvbnN0
IElkZW50aWZpZXIqIGxhc3RGdW5jdGlvbk5hbWUgPSBtX2xhc3RGdW5jdGlvbk5hbWU7Ci0gICAg
bV9sYXN0RnVuY3Rpb25OYW1lID0gbnVsbHB0cjsKICAgICBpZiAobWF0Y2goSURFTlQpKSB7CiAg
ICAgICAgIGluZm8ubmFtZSA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICBtX2xhc3RG
dW5jdGlvbk5hbWUgPSBpbmZvLm5hbWU7CkBAIC0xMzI0LDcgKzEzODIsNyBAQCB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25J
bmZvKFRyZWVCdWlsZAogICAgICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVUb0tleXdvcmQoc3RyaW5n
Rm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUiKTsKICAgICAgICAgZmFpbFdpdGhNZXNzYWdl
KCJFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1v
ZGUobW9kZSksICIncyBwYXJhbWV0ZXIgbGlzdCIpOwogICAgIH0KLQorICAgIAogICAgIGlmICht
b2RlID09IEdldHRlck1vZGUpCiAgICAgICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJFTiwgImdl
dHRlciBmdW5jdGlvbnMgbXVzdCBoYXZlIG5vIHBhcmFtZXRlcnMiKTsKICAgICBlbHNlIGlmICht
b2RlID09IFNldHRlck1vZGUpIHsKQEAgLTEzNDEsMTYgKzEzOTksNzkgQEAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5m
byhUcmVlQnVpbGQKICAgICAgICAgfQogICAgICAgICBjb25zdW1lT3JGYWlsKENMT1NFUEFSRU4s
ICJFeHBlY3RlZCBhICcpJyBvciBhICcsJyBhZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIp
OwogICAgIH0KKyAgICAKKyAgICByZXR1cm4gcGFyYW1ldGVyc1N0YXJ0OworfQogCi0gICAgbWF0
Y2hPckZhaWwoT1BFTkJSQUNFLCAiRXhwZWN0ZWQgYW4gb3BlbmluZyAneycgYXQgdGhlIHN0YXJ0
IG9mIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlw
ZT4gdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBpbnQgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlQXJyb3dGdW5jdGlvblBhcmFtdGVycyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25Q
YXJzZU1vZGUgbW9kZSwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYgaW5mbykKK3sK
KyAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0
OworICAgIGlmICghbWF0Y2goSURFTlQpICYmICFtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAg
IHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSks
ICIgbmFtZSIpOworICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVkIGFuIGFycm93IGZ1
bmN0aW9uIGlucHV0IHBhcmFtZXRlciIpOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChtYXRj
aChPUEVOUEFSRU4pKSB7CisgICAgICAgICAgICBjb25zdW1lKE9QRU5QQVJFTik7CisgICAgICAg
ICAgICAKKyAgICAgICAgICAgIGlmICghbWF0Y2goQ0xPU0VQQVJFTikpIHsKKyAgICAgICAgICAg
ICAgICBpbmZvLnBhcmFtZXRlcnMgPSBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoY29udGV4dCk7Cisg
ICAgICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNl
IHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgY29uc3VtZU9yRmFpbChDTE9T
RVBBUkVOLCAiRXhwZWN0ZWQgYSAnKScgb3IgYSAnLCcgYWZ0ZXIgYSBwYXJhbWV0ZXIgZGVjbGFy
YXRpb24iKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGF1dG8gcGFyYW1ldGVyID0g
cGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oY29udGV4dCwgRGVjb25zdHJ1Y3RUb1BhcmFtZXRl
cnMpOworICAgICAgICAgICAgZmFpbElmRmFsc2UocGFyYW1ldGVyLCAiQ2Fubm90IHBhcnNlIHBh
cmFtZXRlciBwYXR0ZXJuIik7CisgICAgICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBjb250ZXh0
LmNyZWF0ZUZvcm1hbFBhcmFtZXRlckxpc3QocGFyYW1ldGVyKTsKKyAgICAgICAgICAgIGZhaWxJ
ZkZhbHNlKGluZm8ucGFyYW1ldGVycywgIkNhbm5vdCBwYXJzZSBwYXJhbWV0ZXJzIGZvciB0aGlz
ICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7CisgICAgICAgIH0KKyAgICB9CisgICAg
CisgICAgcmV0dXJuIHBhcmFtZXRlcnNTdGFydDsKK30KKyNlbmRpZgogCi0gICAgLy8gQnl0ZWNv
ZGVHZW5lcmF0b3IgZW1pdHMgY29kZSB0byB0aHJvdyBUeXBlRXJyb3Igd2hlbiBhIGNsYXNzIGNv
bnN0cnVjdG9yIGlzICJjYWxsImVkLgotICAgIC8vIFNldCBDb25zdHJ1Y3RvcktpbmQgdG8gTm9u
ZSBmb3Igbm9uLWNvbnN0cnVjdG9yIG1ldGhvZHMgb2YgY2xhc3Nlcy4KLSAgICBib29sIGlzQ2xh
c3NDb25zdHJ1Y3RvciA9IG1vZGUgPT0gTWV0aG9kTW9kZSAmJiBpbmZvLm5hbWUgJiYgKmluZm8u
bmFtZSA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvcjsKLSAgICBpZiAobV9kZWZh
dWx0Q29uc3RydWN0b3JLaW5kICE9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSkgewotICAgICAgICBv
d25lckNsYXNzS2luZCA9IG1fZGVmYXVsdENvbnN0cnVjdG9yS2luZDsKLSAgICAgICAgaXNDbGFz
c0NvbnN0cnVjdG9yID0gdHJ1ZTsKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVu
Y3Rpb25JbmZvKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblJlcXVpcmVtZW50cyByZXF1
aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUsCisgICAgYm9vbCBuYW1lSXNJbkNvbnRh
aW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kIG93bmVyQ2xhc3NLaW5kLCBpbnQgZnVuY3Rpb25L
ZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mIGluZm8sIEZ1bmN0
aW9uUGFyc2VUeXBlIHBhcnNlVHlwZSkKK3sKKyAgICBBdXRvUG9wU2NvcGVSZWYgZnVuY3Rpb25T
Y29wZSh0aGlzLCBwdXNoU2NvcGUoKSk7CisgICAgZnVuY3Rpb25TY29wZS0+c2V0SXNGdW5jdGlv
bigpOworICAgIGludCBmdW5jdGlvbk5hbWVTdGFydCA9IG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFy
dE9mZnNldDsKKyAgICBjb25zdCBJZGVudGlmaWVyKiBsYXN0RnVuY3Rpb25OYW1lID0gbV9sYXN0
RnVuY3Rpb25OYW1lOworICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IG51bGxwdHI7CisgICAgaW50
IHBhcmFtZXRlcnNTdGFydDsKKyAgICBib29sIGlzQ2xhc3NDb25zdHJ1Y3RvcjsKKyAgICAKKyAg
ICBzd2l0Y2ggKHBhcnNlVHlwZSkgeworICAgIGNhc2UgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlw
ZTogeworICAgICAgICBwYXJhbWV0ZXJzU3RhcnQgPSBwYXJzZUZ1bmN0aW9uUGFyYW10ZXJzKGNv
bnRleHQsIHJlcXVpcmVtZW50cywgbW9kZSwgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIGZ1bmN0
aW9uU2NvcGUsIGluZm8pOworICAgICAgICAgICAgCisgICAgICAgIG1hdGNoT3JGYWlsKE9QRU5C
UkFDRSwgIkV4cGVjdGVkIGFuIG9wZW5pbmcgJ3snIGF0IHRoZSBzdGFydCBvZiBhICIsIHN0cmlu
Z0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7CisgICAgICAgIAorICAgICAgICAvLyBC
eXRlY29kZUdlbmVyYXRvciBlbWl0cyBjb2RlIHRvIHRocm93IFR5cGVFcnJvciB3aGVuIGEgY2xh
c3MgY29uc3RydWN0b3IgaXMgImNhbGwiZWQuCisgICAgICAgIC8vIFNldCBDb25zdHJ1Y3Rvcktp
bmQgdG8gTm9uZSBmb3Igbm9uLWNvbnN0cnVjdG9yIG1ldGhvZHMgb2YgY2xhc3Nlcy4KKyAgICAg
ICAgaXNDbGFzc0NvbnN0cnVjdG9yID0gbW9kZSA9PSBNZXRob2RNb2RlICYmIGluZm8ubmFtZSAm
JiAqaW5mby5uYW1lID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yOworICAgICAg
ICBpZiAobV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kICE9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSkg
eworICAgICAgICAgICAgb3duZXJDbGFzc0tpbmQgPSBtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQ7
CisgICAgICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSB0cnVlOworICAgICAgICB9CisgICAg
ICAgIGJyZWFrOworICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIGNhc2UgQXJyb3dGdW5jdGlvblBhcnNlVHlwZTogeworICAgICAgICBwYXJhbWV0ZXJzU3Rh
cnQgPSBwYXJzZUFycm93RnVuY3Rpb25QYXJhbXRlcnMoY29udGV4dCwgbW9kZSwgaW5mbyk7Cisg
ICAgICAgIAorICAgICAgICBtYXRjaE9yRmFpbChBUlJPV0ZVTkNUSU9OLCAiRXhwZWN0ZWQgYSAn
PT4nIGFmdGVyIGFycm93IGZ1bmN0aW9uIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAgICAg
ICBpc0NsYXNzQ29uc3RydWN0b3IgPSBmYWxzZTsKKyAgICAgICAgCisgICAgICAgIGluZm8uYXJy
b3dGdW5jdGlvbk9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKKyAgICAgICAgYnJlYWs7
CiAgICAgfQorI2VuZGlmCisgICAgfQorCiAgICAgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9y
S2luZCA9IGlzQ2xhc3NDb25zdHJ1Y3RvciA/IG93bmVyQ2xhc3NLaW5kIDogQ29uc3RydWN0b3JL
aW5kOjpOb25lOwogCiAgICAgaW5mby5vcGVuQnJhY2VPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5v
ZmZzZXQ7CkBAIC0xMzg0LDggKzE1MDUsMTUgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAg
ICAgICAgZmFpbElmRmFsc2UocG9wU2NvcGUoZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6Ok5l
ZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQYXJzZXIgZXJyb3IiKTsKICAgICAgICAgCiAgICAgICAg
IGluZm8uY2xvc2VCcmFjZU9mZnNldCA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VPZmZzZXQ7Ci0K
LSAgICAgICAgbV90b2tlbiA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VUb2tlbigpOworICAgICAg
ICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAocGFy
c2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpCisgICAgICAgICAgICBpbmZvLmZ1bmN0
aW9uQm9keVR5cGUgPSBjYWNoZWRJbmZvLT5pc0JvZHlBcnJvd0V4cHJlc3Npb24gPyAgQXJyb3dG
dW5jdGlvbkJvZHlFeHByZXNzaW9uIDogQXJyb3dGdW5jdGlvbkJvZHlCbG9jazsKKyAgICAgICAg
ZWxzZQorICAgICAgICAgICAgaW5mby5mdW5jdGlvbkJvZHlUeXBlID0gU3RhbmRhcmRGdW5jdGlv
bkJvZHlCbG9jazsKKyNlbmRpZgorICAgICAgICBtX3Rva2VuID0gY2FjaGVkSW5mby0+ZW5kRnVu
Y3Rpb25Ub2tlbigpOworICAgICAgICAKICAgICAgICAgaWYgKGVuZENvbHVtbklzT25TdGFydExp
bmUpCiAgICAgICAgICAgICBtX3Rva2VuLm1fbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0ID0gY3Vy
cmVudExpbmVTdGFydE9mZnNldDsKIApAQCAtMTM5NCwxMyArMTUyMiw0MyBAQCB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25J
bmZvKFRyZWVCdWlsZAogCiAgICAgICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KGluZm8uYm9keSwg
bV9sZXhlci0+Y3VycmVudE9mZnNldCgpKTsKICAgICAgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKHBhcnNlVHlwZSAhPSBBcnJvd0Z1bmN0aW9u
UGFyc2VUeXBlIHx8IGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUJs
b2NrKQorICAgICAgICAgICAgbmV4dCgpOworI2Vsc2UKICAgICAgICAgbmV4dCgpOworI2VuZGlm
CiAgICAgICAgIGluZm8uYm9keUVuZExpbmUgPSBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmU7
CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KKyAgICAKICAgICBtX2xhc3RGdW5jdGlvbk5h
bWUgPSBsYXN0RnVuY3Rpb25OYW1lOwogICAgIFBhcnNlclN0YXRlIG9sZFN0YXRlID0gc2F2ZVN0
YXRlKCk7Ci0gICAgaW5mby5ib2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rp
b25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0
cnVjdG9yS2luZCk7CisgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAg
U2F2ZVBvaW50IHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgICAgICBuZXh0KCk7
CisgICAgICAgIC8vIENoZWNrIGlmIGFycm93IGJvZHkgc3RhcnQgd2l0aCB7LiBJZiBpdCB0cnVl
IGl0IG1lYW4gdGhhdCBhcnJvdyBmdW5jdGlvbiBpcyBGYXQgYXJyb3cgZnVuY3Rpb24KKyAgICAg
ICAgLy8gYW5kIHdlIG5lZWQgdXNlIGNvbW1vbiBhcHByb2FjaCB0byBwYXJzZSBmdW5jdGlvbiBi
b2R5CisgICAgICAgIGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9IG1hdGNoKE9QRU5CUkFDRSkgPyBB
cnJvd0Z1bmN0aW9uQm9keUJsb2NrIDogQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOworICAg
IAorICAgICAgICBpZiAoaW5mby5mdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5
QmxvY2spIHsKKyAgICAgICAgICAgIGluZm8ub3BlbkJyYWNlT2Zmc2V0ID0gbV90b2tlbi5tX2Rh
dGEub2Zmc2V0OworICAgICAgICAgICAgaW5mby5ib2R5U3RhcnRMaW5lID0gdG9rZW5MaW5lKCk7
CisgICAgICAgICAgICBpbmZvLmJvZHlTdGFydENvbHVtbiA9IG1fdG9rZW4ubV9kYXRhLm9mZnNl
dCAtIG1fdG9rZW4ubV9kYXRhLmxpbmVTdGFydE9mZnNldDsKKyAgICAgICAgCisgICAgICAgICAg
ICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRT
dGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5k
LCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKKyAgICAgICAgICAgIGluZm8uYm9keSA9
IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlv
bk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQsIEFycm93RnVuY3Rp
b25QYXJzZVR5cGUpOworICAgICAgICB9CisgICAgfSBlbHNlCisgICAgICAgIGluZm8uYm9keSA9
IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlv
bk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQsIFN0YW5kYXJkRnVu
Y3Rpb25QYXJzZVR5cGUpOworI2Vsc2UKKyAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9k
eShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFt
ZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsK
KyNlbmRpZgorICAgIAogICAgIHJlc3RvcmVTdGF0ZShvbGRTdGF0ZSk7CiAgICAgZmFpbElmRmFs
c2UoaW5mby5ib2R5LCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIHRoaXMgIiwgc3RyaW5nRm9y
RnVuY3Rpb25Nb2RlKG1vZGUpKTsKICAgICBjb250ZXh0LnNldEVuZE9mZnNldChpbmZvLmJvZHks
IG1fbGV4ZXItPmN1cnJlbnRPZmZzZXQoKSk7CkBAIC0xNDMxLDE4ICsxNTg5LDMyIEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5j
dGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmUgPSBj
bG9zZUJyYWNlTGluZTsKICAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJyYWNlT2Zmc2V0ID0gaW5m
by5jbG9zZUJyYWNlT2Zmc2V0OwogICAgICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VMaW5lU3Rh
cnRPZmZzZXQgPSBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0OworI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlv
blBhcnNlVHlwZSkgeworICAgICAgICAgICAgcGFyYW1ldGVycy5pc0JvZHlBcnJvd0V4cHJlc3Np
b24gPSBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9u
OworICAgICAgICAgICAgcGFyYW1ldGVycy50b2tlblR5cGUgPSBtX3Rva2VuLm1fdHlwZTsKKyAg
ICAgICAgfQorI2VuZGlmCiAgICAgICAgIGZ1bmN0aW9uU2NvcGUtPmZpbGxQYXJhbWV0ZXJzRm9y
U291cmNlUHJvdmlkZXJDYWNoZShwYXJhbWV0ZXJzKTsKICAgICAgICAgbmV3SW5mbyA9IFNvdXJj
ZVByb3ZpZGVyQ2FjaGVJdGVtOjpjcmVhdGUocGFyYW1ldGVycyk7Ci0KICAgICB9CiAgICAgCiAg
ICAgZmFpbElmRmFsc2UocG9wU2NvcGUoZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRz
RnJlZVZhcmlhYmxlSW5mbyksICJQYXJzZXIgZXJyb3IiKTsKKyAgICAKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlmICgocGFyc2VUeXBlID09IEFycm93RnVuY3Rp
b25QYXJzZVR5cGUgJiYgaW5mby5mdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5
QmxvY2spIHx8IHBhcnNlVHlwZSAhPSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAg
IG1hdGNoT3JGYWlsKENMT1NFQlJBQ0UsICJFeHBlY3RlZCBhIGNsb3NpbmcgJ30nIGFmdGVyIGEg
Iiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgbmV4dCgp
OworICAgIH0gZWxzZQorICAgICAgICBmYWlsSWZGYWxzZShpc0VuZE9mQXJyb3dGdW5jdGlvbigp
LCAiRXhwZWN0ZWQgdGhlIGNsb3NpbmcgJzsnICcsJyAnXScgJyknICd9JyBhZnRlciBhcnJvdyBm
dW5jdGlvbiIpOworI2Vsc2UKICAgICBtYXRjaE9yRmFpbChDTE9TRUJSQUNFLCAiRXhwZWN0ZWQg
YSBjbG9zaW5nICd9JyBhZnRlciBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBi
b2R5Iik7CisgICAgbmV4dCgpOworI2VuZGlmCiAgICAgCiAgICAgaWYgKG5ld0luZm8pCiAgICAg
ICAgIG1fZnVuY3Rpb25DYWNoZS0+YWRkKGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBXVEY6Om1vdmUo
bmV3SW5mbykpOwogICAgIAotICAgIG5leHQoKTsKICAgICBpbmZvLmJvZHlFbmRMaW5lID0gbV9s
YXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lOwogICAgIHJldHVybiB0cnVlOwogfQpAQCAtMTQ1NSw3
ICsxNjI3LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGEKICAgICB1bnNpZ25lZCBmdW5jdGlv
bktleXdvcmRTdGFydCA9IHRva2VuU3RhcnQoKTsKICAgICBuZXh0KCk7CiAgICAgUGFyc2VyRnVu
Y3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOwotICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0
aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5lZWRzTmFtZSwgRnVuY3Rpb25Nb2RlLCB0cnVlLCBD
b25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvKSksICJDYW5u
b3QgcGFyc2UgdGhpcyBmdW5jdGlvbiIpOworICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9u
SW5mbyhjb250ZXh0LCBGdW5jdGlvbk5lZWRzTmFtZSwgRnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25z
dHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvLCBTdGFuZGFyZEZ1
bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2UgdGhpcyBmdW5jdGlvbiIpOwogICAgIGZh
aWxJZkZhbHNlKGluZm8ubmFtZSwgIkZ1bmN0aW9uIHN0YXRlbWVudHMgbXVzdCBoYXZlIGEgbmFt
ZSIpOwogICAgIGZhaWxJZkZhbHNlSWZTdHJpY3QoZGVjbGFyZVZhcmlhYmxlKGluZm8ubmFtZSks
ICJDYW5ub3QgZGVjbGFyZSBhIGZ1bmN0aW9uIG5hbWVkICciLCBpbmZvLm5hbWUtPmltcGwoKSwg
IicgaW4gc3RyaWN0IG1vZGUiKTsKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jRGVjbFN0
YXRlbWVudChsb2NhdGlvbiwgaW5mbyk7CkBAIC0xNTUwLDcgKzE3MjIsNyBAQCB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVDbGFzc0V4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlQ2xhc3MoVAogICAgICAgICAgICAgZmFpbElmRmFsc2UocHJvcGVydHksICJDYW5ub3Qg
cGFyc2UgdGhpcyBtZXRob2QiKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIFBhcnNl
ckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gbWV0aG9kSW5mbzsKLSAgICAgICAgICAgIGZhaWxJ
ZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5lZWRzTmFtZSwgaXNT
dGF0aWNNZXRob2QgPyBGdW5jdGlvbk1vZGUgOiBNZXRob2RNb2RlLCBmYWxzZSwgY29uc3RydWN0
b3JLaW5kLCBtZXRob2RTdGFydCwgbWV0aG9kSW5mbykpLCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0
aG9kIik7CisgICAgICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4
dCwgRnVuY3Rpb25OZWVkc05hbWUsIGlzU3RhdGljTWV0aG9kID8gRnVuY3Rpb25Nb2RlIDogTWV0
aG9kTW9kZSwgZmFsc2UsIGNvbnN0cnVjdG9yS2luZCwgbWV0aG9kU3RhcnQsIG1ldGhvZEluZm8s
IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSB0aGlzIG1ldGhvZCIp
OwogICAgICAgICAgICAgZmFpbElmRmFsc2UobWV0aG9kSW5mby5uYW1lLCAibWV0aG9kIG11c3Qg
aGF2ZSBhIG5hbWUiKTsKICAgICAgICAgICAgIGZhaWxJZkZhbHNlKGRlY2xhcmVWYXJpYWJsZSht
ZXRob2RJbmZvLm5hbWUpLCAiQ2Fubm90IGRlY2xhcmUgYSBtZXRob2QgbmFtZWQgJyIsIG1ldGhv
ZEluZm8ubmFtZS0+aW1wbCgpLCAiJyIpOwogCkBAIC0xNzY2LDYgKzE5MzgsMTggQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUlmU3RhdGVtZW50KFQKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVJZlN0YXRlbWVudChp
ZkxvY2F0aW9uLCBjb25kaXRpb24sIHRydWVCbG9jaywgc3RhdGVtZW50U3RhY2subGFzdCgpLCBz
dGFydCwgZW5kKTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0
ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uRXhw
cmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBmYWlsSWZTdGFja092ZXJmbG93
KCk7CisgICAgVHJlZUV4cHJlc3Npb24gbm9kZSA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24o
Y29udGV4dCk7CisgICAgZmFpbElmRmFsc2Uobm9kZSwgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9u
Iik7CisgICAgY29udGV4dC5zZXRFbmRPZmZzZXQobm9kZSwgbV9sYXN0VG9rZW5FbmRQb3NpdGlv
bi5vZmZzZXQpOworICAgIHJldHVybiBub2RlOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBl
bmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNz
aW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRl
eHQpCiB7CkBAIC0xODEzLDYgKzE5OTcsNDEgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWls
ZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KICAg
ICAgICAgfQogICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CiAgICAgfQorCisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBTYXZlUG9pbnQgc2F2ZUFy
cm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgIGJvb2wgYXJyb3dGdW5j
dGlvbkVtcHR5TGlzdCA9IGZhbHNlOworICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAg
ICAgIG5leHQoKTsKKyAgICAgICAgaWYgKG1hdGNoKENMT1NFUEFSRU4pKSB7CisgICAgICAgICAg
ICBuZXh0KCk7CisKKyAgICAgICAgICAgIGlmIChtYXRjaChBUlJPV0ZVTkNUSU9OKSkKKyAgICAg
ICAgICAgICAgICBhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0ID0gdHJ1ZTsKKyAgICAgICAgfQorCisg
ICAgICAgIGlmICghYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCkKKyAgICAgICAgICAgIHJlc3RvcmVT
YXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAgfQorCisgICAgVHJlZUV4cHJl
c3Npb24gbGhzOworICAgIGlmICghYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCkgeworICAgICAgICBs
aHMgPSBwYXJzZUNvbmRpdGlvbmFsRXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICAgICAgZmFpbElm
RmFsc2UobGhzLCAiQ2FuGW5vdCBwYXJzZSBleHByZXNzaW9uIik7CisgICAgICAgIGlmIChpbml0
aWFsTm9uTEhTQ291bnQgIT0gbV9ub25MSFNDb3VudCkgeworICAgICAgICAgICAgaWYgKG1fdG9r
ZW4ubV90eXBlID49IEVRVUFMICYmIG1fdG9rZW4ubV90eXBlIDw9IE9SRVFVQUwpCisgICAgICAg
ICAgICAgICAgc2VtYW50aWNGYWlsKCJMZWZ0IGhhbmQgc2lkZSBvZiBvcGVyYXRvciAnIiwgZ2V0
VG9rZW4oKSwgIicgbXVzdCBiZSBhIHJlZmVyZW5jZSIpOworCisgICAgICAgICAgICByZXR1cm4g
bGhzOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJT04pKSB7
CisgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAg
ICAgIGxocyA9IHBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoY29udGV4dCk7CisgICAgICAgIHJl
dHVybiBsaHM7CisgICAgfQorI2Vsc2UKICAgICBUcmVlRXhwcmVzc2lvbiBsaHMgPSBwYXJzZUNv
bmRpdGlvbmFsRXhwcmVzc2lvbihjb250ZXh0KTsKICAgICBmYWlsSWZGYWxzZShsaHMsICJDYW5u
b3QgcGFyc2UgZXhwcmVzc2lvbiIpOwogICAgIGlmIChpbml0aWFsTm9uTEhTQ291bnQgIT0gbV9u
b25MSFNDb3VudCkgewpAQCAtMTgyMSw3ICsyMDQwLDggQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRy
ZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25t
ZW4KIAogICAgICAgICByZXR1cm4gbGhzOwogICAgIH0KLSAgICAKKyNlbmRpZgorCiAgICAgaW50
IGFzc2lnbm1lbnRTdGFjayA9IDA7CiAgICAgT3BlcmF0b3Igb3A7CiAgICAgYm9vbCBoYWRBc3Np
Z25tZW50ID0gZmFsc2U7CkBAIC0yMDUzLDcgKzIyNzMsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5
TWV0aAogICAgIEpTVG9rZW5Mb2NhdGlvbiBtZXRob2RMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkp
OwogICAgIHVuc2lnbmVkIG1ldGhvZFN0YXJ0ID0gdG9rZW5TdGFydCgpOwogICAgIFBhcnNlckZ1
bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gbWV0aG9kSW5mbzsKLSAgICBmYWlsSWZGYWxzZSgocGFy
c2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgTWV0aG9kTW9k
ZSwgZmFsc2UsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgbWV0aG9kU3RhcnQsIG1ldGhvZEluZm8p
KSwgIkNhbm5vdCBwYXJzZSB0aGlzIG1ldGhvZCIpOworICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1
bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBNZXRob2RNb2RlLCBm
YWxzZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBtZXRob2RTdGFydCwgbWV0aG9kSW5mbywgU3Rh
bmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9kIik7CiAg
ICAgbWV0aG9kSW5mby5uYW1lID0gbWV0aG9kTmFtZTsKICAgICByZXR1cm4gY29udGV4dC5jcmVh
dGVGdW5jdGlvbkV4cHIobWV0aG9kTG9jYXRpb24sIG1ldGhvZEluZm8pOwogfQpAQCAtMjA3NSwx
MCArMjI5NSwxMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VHZXR0ZXJTZXR0ZXIoVAogICAgIFBhcnNlckZ1bmN0aW9u
SW5mbzxUcmVlQnVpbGRlcj4gaW5mbzsKICAgICBpZiAodHlwZSA9PSBQcm9wZXJ0eU5vZGU6Okdl
dHRlcikgewogICAgICAgICBmYWlsSWZGYWxzZShtYXRjaChPUEVOUEFSRU4pLCAiRXhwZWN0ZWQg
YSBwYXJhbWV0ZXIgbGlzdCBmb3IgZ2V0dGVyIGRlZmluaXRpb24iKTsKLSAgICAgICAgZmFpbElm
RmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMs
IEdldHRlck1vZGUsIGZhbHNlLCBjb25zdHJ1Y3RvcktpbmQsIGdldHRlck9yU2V0dGVyU3RhcnRP
ZmZzZXQsIGluZm8pKSwgIkNhbm5vdCBwYXJzZSBnZXR0ZXIgZGVmaW5pdGlvbiIpOworICAgICAg
ICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVp
cmVtZW50cywgR2V0dGVyTW9kZSwgZmFsc2UsIGNvbnN0cnVjdG9yS2luZCwgZ2V0dGVyT3JTZXR0
ZXJTdGFydE9mZnNldCwgaW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90
IHBhcnNlIGdldHRlciBkZWZpbml0aW9uIik7CiAgICAgfSBlbHNlIHsKICAgICAgICAgZmFpbElm
RmFsc2UobWF0Y2goT1BFTlBBUkVOKSwgIkV4cGVjdGVkIGEgcGFyYW1ldGVyIGxpc3QgZm9yIHNl
dHRlciBkZWZpbml0aW9uIik7Ci0gICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5m
byhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBTZXR0ZXJNb2RlLCBmYWxzZSwgY29u
c3RydWN0b3JLaW5kLCBnZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBpbmZvKSksICJDYW5ub3Qg
cGFyc2Ugc2V0dGVyIGRlZmluaXRpb24iKTsKKyAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVu
Y3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIFNldHRlck1vZGUsIGZh
bHNlLCBjb25zdHJ1Y3RvcktpbmQsIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIGluZm8sIFN0
YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSBzZXR0ZXIgZGVmaW5pdGlv
biIpOwogICAgIH0KICAgICBpZiAoc3RyaW5nUHJvcGVydHlOYW1lKQogICAgICAgICByZXR1cm4g
Y29udGV4dC5jcmVhdGVHZXR0ZXJPclNldHRlclByb3BlcnR5KGxvY2F0aW9uLCB0eXBlLCBzdHJp
Y3QsIHN0cmluZ1Byb3BlcnR5TmFtZSwgaW5mbywgc3VwZXJCaW5kaW5nKTsKQEAgLTIyNjcsNyAr
MjQ4Nyw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAgICAgIG5leHQoKTsKICAgICAg
ICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOwogICAgICAgICBpbmZvLm5h
bWUgPSAmbV92bS0+cHJvcGVydHlOYW1lcy0+bnVsbElkZW50aWZpZXI7Ci0gICAgICAgIGZhaWxJ
ZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRz
LCBGdW5jdGlvbk1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5
d29yZFN0YXJ0LCBpbmZvKSksICJDYW5ub3QgcGFyc2UgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOwor
ICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25O
b1JlcXVpcmVtZW50cywgRnVuY3Rpb25Nb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpOb25l
LCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkp
LCAiQ2Fubm90IHBhcnNlIGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsKICAgICAgICAgcmV0dXJuIGNv
bnRleHQuY3JlYXRlRnVuY3Rpb25FeHByKGxvY2F0aW9uLCBpbmZvKTsKICAgICB9CiAjaWYgRU5B
QkxFKEVTNl9DTEFTU19TWU5UQVgpCkBAIC0yMjk2LDYgKzI1MTYsMjMgQEAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQ
cmltYXJ5RXhwcmUKICAgICAgICAgcmV0dXJuIGNvbnRleHQudGhpc0V4cHIobG9jYXRpb24sIG1f
dGhpc1REWk1vZGUpOwogICAgIH0KICAgICBjYXNlIElERU5UOiB7CisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9u
UG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQg
PSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQg
PSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKKyAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9u
KHRva2VuTG9jYXRpb24oKSk7CisgICAgICAgIG5leHQoKTsKKworICAgICAgICBpZiAoIW1hdGNo
KEFSUk9XRlVOQ1RJT04pKSB7CisgICAgICAgICAgICBjdXJyZW50U2NvcGUoKS0+dXNlVmFyaWFi
bGUoaWRlbnQsIG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmlkZW50KTsKKyAgICAgICAg
ICAgIG1fbGFzdElkZW50aWZpZXIgPSBpZGVudDsKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0
LmNyZWF0ZVJlc29sdmUobG9jYXRpb24sIGlkZW50LCBzdGFydCk7CisgICAgICAgIH0KKworICAg
ICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICBU
cmVlRXhwcmVzc2lvbiBsaHMgPSBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKGNvbnRleHQpOwor
ICAgICAgICByZXR1cm4gbGhzOworI2Vsc2UKICAgICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQg
PSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQg
PSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9u
KHRva2VuTG9jYXRpb24oKSk7CkBAIC0yMzAzLDYgKzI1NDAsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1h
cnlFeHByZQogICAgICAgICBjdXJyZW50U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRlbnQsIG1fdm0t
PnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmlkZW50KTsKICAgICAgICAgbV9sYXN0SWRlbnRpZmll
ciA9IGlkZW50OwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVSZXNvbHZlKGxvY2F0aW9u
LCBpZGVudCwgc3RhcnQpOworI2VuZGlmCiAgICAgfQogICAgIGNhc2UgU1RSSU5HOiB7CiAgICAg
ICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CkBAIC0y
NDkwLDYgKzI3MjgsMzIgQEAgZW5kTWVtYmVyRXhwcmVzc2lvbjoKICAgICByZXR1cm4gYmFzZTsK
IH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlw
ZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVz
c2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihUcmVlQnVp
bGRlciYgY29udGV4dCkKK3sKKyAgICBUcmVlRXhwcmVzc2lvbiBiYXNlID0gMDsKKyAgICBKU1Rl
eHRQb3NpdGlvbiBleHByZXNzaW9uU3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICBp
bnQgbmV3Q291bnQgPSAwOworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbjsKKworICAgIGlm
IChtYXRjaChJREVOVCkgfHwgbWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICB1bnNpZ25lZCBm
dW5jdGlvbktleXdvcmRTdGFydCA9IHRva2VuU3RhcnQoKTsKKyAgICAgICAgbG9jYXRpb24gPSB0
b2tlbkxvY2F0aW9uKCk7CisgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4g
aW5mbzsKKyAgICAgICAgaW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVu
dGlmaWVyOworICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwg
RnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgRnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3Rvcktp
bmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvLCBBcnJvd0Z1bmN0aW9uUGFyc2VU
eXBlKSksICJDYW5ub3QgcGFyc2UgYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgICAg
ICBiYXNlID0gY29udGV4dC5jcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihsb2NhdGlvbiwgaW5mbyk7
CisgICAgfSBlbHNlCisgICAgICAgIGJhc2UgPSBwYXJzZVByaW1hcnlFeHByZXNzaW9uKGNvbnRl
eHQpOworCisgICAgZmFpbElmRmFsc2UoYmFzZSwgIkNhbm5vdCBwYXJzZSBiYXNlIGV4cHJlc3Np
b24iKTsKKyAgICB3aGlsZSAobmV3Q291bnQtLSkKKyAgICAgICAgYmFzZSA9IGNvbnRleHQuY3Jl
YXRlTmV3RXhwcihsb2NhdGlvbiwgYmFzZSwgZXhwcmVzc2lvblN0YXJ0LCBsYXN0VG9rZW5FbmRQ
b3NpdGlvbigpKTsKKyAgICByZXR1cm4gYmFzZTsKK30KKyNlbmRpZgorCiBzdGF0aWMgY29uc3Qg
Y2hhciogb3BlcmF0b3JTdHJpbmcoYm9vbCBwcmVmaXgsIHVuc2lnbmVkIHRvaykKIHsKICAgICBz
d2l0Y2ggKHRvaykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKaW5kZXggMGYy
NzI4Zjg2MjFmODAxMGM0MTBiZjc5ODc2MTliZjIzZTUwYWY4Yi4uMDVjY2Q0YTUwNDg4NzRiMGNl
OWQ3ZDljYTcyZmNiMTk3YmI3NjQyOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNl
ci5oCkBAIC04MCw2ICs4MCwxMSBAQCBjbGFzcyBTb3VyY2VDb2RlOwogQ09NUElMRV9BU1NFUlQo
TGFzdFVudGFnZ2VkVG9rZW4gPCA2NCwgTGVzc1RoYW42NFVudGFnZ2VkVG9rZW5zKTsKIAogZW51
bSBTb3VyY2VFbGVtZW50c01vZGUgeyBDaGVja0ZvclN0cmljdE1vZGUsIERvbnRDaGVja0ZvclN0
cmljdE1vZGUgfTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorZW51bSBG
dW5jdGlvblBhcnNlVHlwZSB7IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUsIEFycm93RnVuY3Rp
b25QYXJzZVR5cGUgfTsKKyNlbHNlCitlbnVtIEZ1bmN0aW9uUGFyc2VUeXBlIHsgU3RhbmRhcmRG
dW5jdGlvblBhcnNlVHlwZX07CisjZW5kaWYKIGVudW0gRnVuY3Rpb25SZXF1aXJlbWVudHMgeyBG
dW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlvbk5lZWRzTmFtZSB9OwogZW51bSBGdW5jdGlv
blBhcnNlTW9kZSB7CiAgICAgRnVuY3Rpb25Nb2RlLApAQCAtNjE4LDYgKzYyMywxMyBAQCBwcml2
YXRlOgogICAgICAgICByZXR1cm4gbV90b2tlbi5tX3R5cGUgPT0gSURFTlQgJiYgKm1fdG9rZW4u
bV9kYXRhLmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPm9mOwogICAgIH0KICAgICAKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEFMV0FZU19JTkxJTkUgYm9v
bCBpc0VuZE9mQXJyb3dGdW5jdGlvbigpCisgICAgeworICAgICAgICByZXR1cm4gbWF0Y2goU0VN
SUNPTE9OKSB8fCBtYXRjaChDT01NQSkgfHwgbWF0Y2goQ0xPU0VQQVJFTikgfHwgbWF0Y2goQ0xP
U0VCUkFDRSkgfHwgbWF0Y2goQ0xPU0VCUkFDS0VUKTsKKyAgICB9CisjZW5kaWYKKyAgICAKICAg
ICBBTFdBWVNfSU5MSU5FIHVuc2lnbmVkIHRva2VuU3RhcnQoKQogICAgIHsKICAgICAgICAgcmV0
dXJuIG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKQEAgLTcyMSw5ICs3MzMsOSBAQCBw
cml2YXRlOgogICAgICAgICB9CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIAot
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNl
U291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUpOwotICAgIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0YXRlbWVudChU
cmVlQnVpbGRlciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJl
Y3RpdmVMaXRlcmFsTGVuZ3RoID0gMCk7CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwg
U291cmNlRWxlbWVudHNNb2RlLCBGdW5jdGlvblBhcnNlVHlwZSk7CisgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVy
JiwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVy
YWxMZW5ndGggPSAwLCBGdW5jdGlvblBhcnNlVHlwZSB0eXBlID0gU3RhbmRhcmRGdW5jdGlvblBh
cnNlVHlwZSk7CiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQ2xhc3NEZWNsYXJhdGlvbihUcmVl
QnVpbGRlciYpOwogI2VuZGlmCkBAIC03NjIsMTcgKzc3NCwyNiBAQCBwcml2YXRlOgogICAgIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IHBhcnNlUHJvcGVydHkoVHJl
ZUJ1aWxkZXImLCBib29sIHN0cmljdCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlRXhwcmVzc2lvbiBwYXJzZVByb3BlcnR5TWV0aG9kKFRyZWVCdWlsZGVyJiBjb250ZXh0
LCBjb25zdCBJZGVudGlmaWVyKiBtZXRob2ROYW1lKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBwYXJzZUdldHRlclNldHRlcihUcmVlQnVpbGRlciYsIGJv
b2wgc3RyaWN0LCBQcm9wZXJ0eU5vZGU6OlR5cGUsIHVuc2lnbmVkIGdldHRlck9yU2V0dGVyU3Rh
cnRPZmZzZXQsIENvbnN0cnVjdG9yS2luZCA9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJC
aW5kaW5nID0gU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQpOwotICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rpb25C
b2R5KFRyZWVCdWlsZGVyJiwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25O
YW1lU3RhcnQsIGludCBwYXJhbWV0ZXJzU3RhcnQsIENvbnN0cnVjdG9yS2luZCk7CisgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJvZHkg
cGFyc2VGdW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQs
IGludCBmdW5jdGlvbk5hbWVTdGFydCwgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JL
aW5kLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSk7CiAgICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0
IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhUcmVlQnVpbGRlciYpOwogICAgIGVudW0gVmFyRGVjbGFy
YXRpb25MaXN0Q29udGV4dCB7IEZvckxvb3BDb250ZXh0LCBWYXJEZWNsYXJhdGlvbkNvbnRleHQg
fTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNl
VmFyRGVjbGFyYXRpb25MaXN0KFRyZWVCdWlsZGVyJiwgaW50JiBkZWNsYXJhdGlvbnMsIFRyZWVE
ZWNvbnN0cnVjdGlvblBhdHRlcm4mIGxhc3RQYXR0ZXJuLCBUcmVlRXhwcmVzc2lvbiYgbGFzdElu
aXRpYWxpemVyLCBKU1RleHRQb3NpdGlvbiYgaWRlbnRTdGFydCwgSlNUZXh0UG9zaXRpb24mIGlu
aXRTdGFydCwgSlNUZXh0UG9zaXRpb24mIGluaXRFbmQsIFZhckRlY2xhcmF0aW9uTGlzdENvbnRl
eHQpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVD
b25zdERlY2xMaXN0IHBhcnNlQ29uc3REZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImKTsKIAor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9u
KFRyZWVCdWlsZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3Rh
dGVtZW50IHBhcnNlQXJyb3dGdW5jdGlvblN0YXRlbWVudChUcmVlQnVpbGRlciYpOworICAgIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VBcnJvd0Z1bmN0
aW9uV3JhcHBlcihUcmVlQnVpbGRlciYpOworI2VuZGlmCisKICAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIGNyZWF0
ZUJpbmRpbmdQYXR0ZXJuKFRyZWVCdWlsZGVyJiwgRGVjb25zdHJ1Y3Rpb25LaW5kLCBjb25zdCBJ
ZGVudGlmaWVyJiwgaW50IGRlcHRoLCBKU1Rva2VuKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIHBhcnNlRGVj
b25zdHJ1Y3Rpb25QYXR0ZXJuKFRyZWVCdWlsZGVyJiwgRGVjb25zdHJ1Y3Rpb25LaW5kLCBpbnQg
ZGVwdGggPSAwKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElO
RSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIHRyeVBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJu
RXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOwotCi0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBORVZFUl9JTkxJTkUgYm9vbCBwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYsIEZ1
bmN0aW9uUmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSwgYm9vbCBuYW1lSXNJbkNvbnRh
aW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBh
cnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBpbnQgcGFyc2VGdW5jdGlvblBhcmFtdGVycyhUcmVlQnVp
bGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSwgYm9vbCwgQXV0
b1BvcFNjb3BlUmVmJiwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYpOworI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBORVZFUl9JTkxJTkUgaW50IHBhcnNlQXJyb3dGdW5jdGlvblBhcmFtdGVycyhUcmVl
QnVpbGRlciYsIEZ1bmN0aW9uUGFyc2VNb2RlLCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxk
ZXI+Jik7CisjZW5kaWYKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lO
TElORSBib29sIHBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJl
bWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlLCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBD
b25zdHJ1Y3RvcktpbmQsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rpb25J
bmZvPFRyZWVCdWlsZGVyPiYsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBlKTsK
ICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlQ2xhc3NFeHByZXNzaW9uIHBhcnNlQ2xhc3MoVHJlZUJ1
aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgUGFyc2VyQ2xhc3NJbmZvPFRyZWVCdWlsZGVy
PiYpOwogI2VuZGlmCkBAIC03ODksNiArODEwLDE0IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVy
biBhbGxvd0F1dG9tYXRpY1NlbWljb2xvbigpOwogICAgIH0KICAgICAKKworI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdm9pZCBzZXRFbmRPZlN0YXRlbWVudCgpCisg
ICAgeworICAgICAgICBtX2xleGVyLT5zZXRUb2tlblBvc2l0aW9uKCZtX3Rva2VuKTsKKyAgICB9
CisjZW5kaWYKKwogICAgIGJvb2wgY2FuUmVjdXJzZSgpCiAgICAgewogICAgICAgICByZXR1cm4g
bV92bS0+aXNTYWZlVG9SZWN1cnNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaAppbmRleCA2YjczNjI4MmUyZDJhODFiYzYzZGMyZjNj
MGU1YWU4Yzg1OGNkMWY4Li4wY2RlMGM2N2E5ZGUwZWRmMzQxNDRlMzI3OTFlNWU5MGI0YTIxNTE0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9u
SW5mby5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25J
bmZvLmgKQEAgLTI4LDYgKzI4LDEwIEBACiAKIG5hbWVzcGFjZSBKU0MgewogCisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK2VudW0gRnVuY3Rpb25Cb2R5VHlwZSB7IEFycm93
RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiwgQXJyb3dGdW5jdGlvbkJvZHlCbG9jaywgU3RhbmRhcmRG
dW5jdGlvbkJvZHlCbG9jayB9OworI2VuZGlmCisKIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4KIHN0cnVjdCBQYXJzZXJGdW5jdGlvbkluZm8gewogICAgIGNvbnN0IElkZW50aWZpZXIqIG5h
bWUgPSAwOwpAQCAtMzgsNiArNDIsMTEgQEAgc3RydWN0IFBhcnNlckZ1bmN0aW9uSW5mbyB7CiAg
ICAgaW50IGJvZHlTdGFydExpbmUgPSAwOwogICAgIGludCBib2R5RW5kTGluZSA9IDA7CiAgICAg
dW5zaWduZWQgYm9keVN0YXJ0Q29sdW1uID0gMDsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIHVuc2lnbmVkIGFycm93RnVuY3Rpb25PZmZzZXQgPSAwOworICAgIGJv
b2wgaXNBcnJvd0Z1bmN0aW9uID0gZmFsc2U7CisgICAgRnVuY3Rpb25Cb2R5VHlwZSBmdW5jdGlv
bkJvZHlUeXBlID0gU3RhbmRhcmRGdW5jdGlvbkJvZHlCbG9jazsKKyNlbmRpZgogfTsKIAogI2lm
IEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyVG9rZW5zLmgKaW5kZXggODMyOWY4MmE5YjJmZjkxNWQxZjI0MWMxZjhiZmZhZDQyNDdh
NWYwYi4uYzhiMTY2ZTBlYWQ3ZDJkYTcxOWU3NmM0YTJmMDlhZmYxZDc0ZDdhYyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCkBAIC03NSw2ICs3NSw5IEBA
IGVudW0gSlNUb2tlblR5cGUgewogICAgIEZJTkFMTFksCiAgICAgREVCVUdHRVIsCiAgICAgRUxT
RSwKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEFSUk9XRlVOQ1RJ
T04sCisjZW5kaWYKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICBDTEFTU1RPS0VO
LAogICAgIEVYVEVORFMsCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1NvdXJjZUNvZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5o
CmluZGV4IDczZDIzZGI4MmFmMjVlYTQ2YzBmODk3ODVjZTQyNGJiNjBlYjYxYTcuLjUwZDUyNjM5
Nzk0M2UzODFkMzgwZWM0M2Q4MmQ1YjYzZjdmMDhkYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvU291cmNlQ29kZS5oCkBAIC0xMDUsNiArMTA1LDkgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgICAgIAogICAgICAgICBTb3VyY2VDb2RlIHN1YkV4cHJlc3Npb24odW5zaWduZWQgb3Bl
bkJyYWNlLCB1bnNpZ25lZCBjbG9zZUJyYWNlLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1
bW4pOwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgU291
cmNlQ29kZSBzdWJBcnJvd0V4cHJlc3Npb24odW5zaWduZWQgc3RhcnRBcnJvd0Z1bmN0aW9uLCB1
bnNpZ25lZCBlbmRBcnJvd0Z1bmN0aW9uLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4p
OworI2VuZGlmCiAgICAgcHJpdmF0ZToKICAgICAgICAgUmVmUHRyPFNvdXJjZVByb3ZpZGVyPiBt
X3Byb3ZpZGVyOwogICAgICAgICBpbnQgbV9zdGFydENoYXI7CkBAIC0xMTgsNiArMTIxLDE3IEBA
IG5hbWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4gU291cmNlQ29kZShTdHJpbmdTb3VyY2VQ
cm92aWRlcjo6Y3JlYXRlKHNvdXJjZSwgdXJsLCBzdGFydFBvc2l0aW9uKSwgc3RhcnRQb3NpdGlv
bi5tX2xpbmUub25lQmFzZWRJbnQoKSwgc3RhcnRQb3NpdGlvbi5tX2NvbHVtbi5vbmVCYXNlZElu
dCgpKTsKICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
IGlubGluZSBTb3VyY2VDb2RlIFNvdXJjZUNvZGU6OnN1YkFycm93RXhwcmVzc2lvbih1bnNpZ25l
ZCBzdGFydEFycm93RnVuY3Rpb24sIHVuc2lnbmVkIGVuZEFycm93RnVuY3Rpb24sIGludCBmaXJz
dExpbmUsIGludCBzdGFydENvbHVtbikKKyAgICB7CisgICAgICAgIEFTU0VSVChwcm92aWRlcigp
LT5zb3VyY2UoKVtzdGFydEFycm93RnVuY3Rpb25dID09ICc9JyAmJiBwcm92aWRlcigpLT5zb3Vy
Y2UoKVtzdGFydEFycm93RnVuY3Rpb24gKyAxXSA9PSAnPicpOworICAgICAgICAvLyBGaXhtZTog
VXNlIGJldHRlciBhcHByb2FjaCB0byBjaGVjayBzeW1ib2wKKyAgICAgICAgQVNTRVJUKHByb3Zp
ZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnLCcgfHwgcHJvdmlkZXIo
KS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICc7JyB8fCBwcm92aWRlcigpLT5z
b3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJyknIHx8IHByb3ZpZGVyKCktPnNvdXJj
ZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnXScgfHwgcHJvdmlkZXIoKS0+c291cmNlKClb
ZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICd9Jyk7CisgICAgICAgIHN0YXJ0Q29sdW1uICs9IDE7
IC8vIENvbnZlcnQgdG8gYmFzZSAxLgorICAgICAgICByZXR1cm4gU291cmNlQ29kZShwcm92aWRl
cigpLCBzdGFydEFycm93RnVuY3Rpb24sIGVuZEFycm93RnVuY3Rpb24sIGZpcnN0TGluZSwgc3Rh
cnRDb2x1bW4pOworICAgIH0KKyNlbmRpZgorCiAgICAgaW5saW5lIFNvdXJjZUNvZGUgU291cmNl
Q29kZTo6c3ViRXhwcmVzc2lvbih1bnNpZ25lZCBvcGVuQnJhY2UsIHVuc2lnbmVkIGNsb3NlQnJh
Y2UsIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbikKICAgICB7CiAgICAgICAgIEFTU0VS
VChwcm92aWRlcigpLT5zb3VyY2UoKVtvcGVuQnJhY2VdID09ICd7Jyk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKaW5k
ZXggNjM1Mzc5ZTNmNDQ1NjY4YzUyYjg3MmY3NjE2ZGNiNTkyMWE4Mjk0NC4uZjQyOGRiNTBhOGRh
N2E3YWI0NjgyNGFiMzgwODNkYjA1MmQ3Mzc3NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaApAQCAtNDAsNiArNDAs
MTAgQEAgc3RydWN0IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJhbWV0ZXJzIHsK
ICAgICBib29sIG5lZWRzRnVsbEFjdGl2YXRpb247CiAgICAgYm9vbCB1c2VzRXZhbDsKICAgICBi
b29sIHN0cmljdE1vZGU7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICBib29sIGlzQm9keUFycm93RXhwcmVzc2lvbjsKKyAgICBKU1Rva2VuVHlwZSB0b2tlblR5cGU7
CisjZW5kaWYKICAgICBWZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiB1c2VkVmFyaWFibGVzOwog
ICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+IHdyaXR0ZW5WYXJpYWJsZXM7CiB9OwpAQCAt
NTUsMTAgKzU5LDE0IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFNvdXJj
ZVByb3ZpZGVyQ2FjaGVJdGVtPiBjcmVhdGUoY29uc3QgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW1D
cmVhdGlvblBhcmFtZXRlcnMmKTsKICAgICB+U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0oKTsKIAot
ICAgIEpTVG9rZW4gY2xvc2VCcmFjZVRva2VuKCkgY29uc3QgCisgICAgSlNUb2tlbiBlbmRGdW5j
dGlvblRva2VuKCkgY29uc3QgCiAgICAgewogICAgICAgICBKU1Rva2VuIHRva2VuOworI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIHRva2VuLm1fdHlwZSA9IGlz
Qm9keUFycm93RXhwcmVzc2lvbiA/IHRva2VuVHlwZSA6IENMT1NFQlJBQ0U7CisjZWxzZQogICAg
ICAgICB0b2tlbi5tX3R5cGUgPSBDTE9TRUJSQUNFOworI2VuZGlmCiAgICAgICAgIHRva2VuLm1f
ZGF0YS5vZmZzZXQgPSBjbG9zZUJyYWNlT2Zmc2V0OwogICAgICAgICB0b2tlbi5tX2xvY2F0aW9u
LnN0YXJ0T2Zmc2V0ID0gY2xvc2VCcmFjZU9mZnNldDsKICAgICAgICAgdG9rZW4ubV9sb2NhdGlv
bi5lbmRPZmZzZXQgPSBjbG9zZUJyYWNlT2Zmc2V0ICsgMTsKQEAgLTgyLDYgKzkwLDExIEBAIHB1
YmxpYzoKICAgICB1bnNpZ25lZCB1c2VkVmFyaWFibGVzQ291bnQ7CiAgICAgdW5zaWduZWQgd3Jp
dHRlblZhcmlhYmxlc0NvdW50OwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICBib29sIGlzQm9keUFycm93RXhwcmVzc2lvbjsKKyAgICBKU1Rva2VuVHlwZSB0b2tl
blR5cGU7CisjZW5kaWYKKwogICAgIFN0cmluZ0ltcGwqKiB1c2VkVmFyaWFibGVzKCkgY29uc3Qg
eyByZXR1cm4gY29uc3RfY2FzdDxTdHJpbmdJbXBsKio+KG1fdmFyaWFibGVzKTsgfQogICAgIFN0
cmluZ0ltcGwqKiB3cml0dGVuVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxT
dHJpbmdJbXBsKio+KCZtX3ZhcmlhYmxlc1t1c2VkVmFyaWFibGVzQ291bnRdKTsgfQogCkBAIC0x
MTUsNiArMTI4LDEwIEBAIGlubGluZSBTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6U291cmNlUHJv
dmlkZXJDYWNoZUl0ZW0oY29uc3QgU291cmNlUHJvdmlkZXJDYWNoCiAgICAgLCBjbG9zZUJyYWNl
TGluZVN0YXJ0T2Zmc2V0KHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldCkKICAg
ICAsIHVzZWRWYXJpYWJsZXNDb3VudChwYXJhbWV0ZXJzLnVzZWRWYXJpYWJsZXMuc2l6ZSgpKQog
ICAgICwgd3JpdHRlblZhcmlhYmxlc0NvdW50KHBhcmFtZXRlcnMud3JpdHRlblZhcmlhYmxlcy5z
aXplKCkpCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAsIGlzQm9k
eUFycm93RXhwcmVzc2lvbihwYXJhbWV0ZXJzLmlzQm9keUFycm93RXhwcmVzc2lvbikKKyAgICAs
IHRva2VuVHlwZShwYXJhbWV0ZXJzLnRva2VuVHlwZSkKKyNlbmRpZgogewogICAgIHVuc2lnbmVk
IGogPSAwOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB1c2VkVmFyaWFibGVzQ291bnQ7
ICsraSwgKytqKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5
bnRheENoZWNrZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tl
ci5oCmluZGV4IDhlNGY2MWI5NDk4OTBiOWJmNTQwMjllOTY2NjFlZWY1M2ExN2I1ODQuLjVmOGUy
MTFlZTRiNTNiMzk0ZWI1YWUyMTkwYjgzYzhjNGY4NDRjZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCkBAIC0xNzAsNiArMTcwLDEwIEBAIHB1Ymxp
YzoKICNlbmRpZgogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUZ1bmN0aW9uRXhwcihjb25zdCBK
U1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4m
KSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KICAgICBpbnQgY3JlYXRlRnVuY3Rpb25Cb2R5KGNv
bnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGludCwgaW50LCBi
b29sLCBpbnQsIGludCwgaW50LCBDb25zdHJ1Y3RvcktpbmQpIHsgcmV0dXJuIEZ1bmN0aW9uQm9k
eVJlc3VsdDsgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgRXhw
cmVzc2lvblR5cGUgY3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9u
JiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JikgeyByZXR1cm4gRnVu
Y3Rpb25FeHByOyB9CisjZW5kaWYgCisgICAgdm9pZCBzZXRGdW5jdGlvbk5hbWVTdGFydChpbnQs
IGludCkgeyB9CiAgICAgaW50IGNyZWF0ZUFyZ3VtZW50cygpIHsgcmV0dXJuIEFyZ3VtZW50c1Jl
c3VsdDsgfQogICAgIGludCBjcmVhdGVBcmd1bWVudHMoaW50KSB7IHJldHVybiBBcmd1bWVudHNS
ZXN1bHQ7IH0KICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVTcHJlYWRFeHByZXNzaW9uKGNvbnN0
IEpTVG9rZW5Mb2NhdGlvbiYsIEV4cHJlc3Npb25UeXBlLCBpbnQsIGludCwgaW50KSB7IHJldHVy
biBTcHJlYWRFeHByOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0Fycm93RnVuY3Rpb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNB
cnJvd0Z1bmN0aW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZmMzZWExODAwNjg5NjQzYWFkZDZjNmE0OTdl
ZDBhZTZjMjExMTIwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcApAQCAtMCwwICsxLDc3IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0
aW9uLmgiCisKKyNpbmNsdWRlICJFcnJvci5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbkhlbHBlcnMu
aCIKKyNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCisjaW5jbHVkZSAiSlNDSlNWYWx1ZS5oIgorI2lu
Y2x1ZGUgIkpTRnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU0Z1bmN0aW9uSW5saW5lcy5oIgorI2lu
Y2x1ZGUgIkpTT2JqZWN0LmgiCisjaW5jbHVkZSAiUHJvcGVydHlTbG90LmgiCisjaW5jbHVkZSAi
Vk0uaCIKKworbmFtZXNwYWNlIEpTQyB7CisgICAgCitjb25zdCBDbGFzc0luZm8gSlNBcnJvd0Z1
bmN0aW9uOjpzX2luZm8gPSB7ICJBcnJvd0Z1bmN0aW9uIiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JF
QVRFX01FVEhPRF9UQUJMRShKU0Fycm93RnVuY3Rpb24pIH07CisKK3ZvaWQgSlNBcnJvd0Z1bmN0
aW9uOjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKK3sKKyAgICBzdGF0aWNfY2FzdDxKU0Fycm93RnVu
Y3Rpb24qPihjZWxsKS0+SlNBcnJvd0Z1bmN0aW9uOjp+SlNBcnJvd0Z1bmN0aW9uKCk7Cit9CisK
K0pTQXJyb3dGdW5jdGlvbjo6SlNBcnJvd0Z1bmN0aW9uKFZNJiB2bSwgSlNTY29wZSogc2NvcGUs
IEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCisg
ICAgOiBCYXNlKHZtLCBleGVjdXRhYmxlLCBzY29wZSwgc3RydWN0dXJlKQoreworfQorICAgIAor
dm9pZCBKU0Fycm93RnVuY3Rpb246OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKK3sKKyAgICBCYXNl
OjpmaW5pc2hDcmVhdGlvbih2bSk7CisvLyBQcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24gaXMg
dW5kZWZpbmVkCisgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUs
IGpzVW5kZWZpbmVkKCksIERvbnREZWxldGUgfCBSZWFkT25seSB8IERvbnRFbnVtKTsKK30KKyAg
ICAKK3ZvaWQgSlNBcnJvd0Z1bmN0aW9uOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xv
dFZpc2l0b3ImIHZpc2l0b3IpCit7CisgICAgSlNBcnJvd0Z1bmN0aW9uKiB0aGlzT2JqZWN0ID0g
anNDYXN0PEpTQXJyb3dGdW5jdGlvbio+KGNlbGwpOworICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5I
RVJJVFModGhpc09iamVjdCwgaW5mbygpKTsKKyAgICBCYXNlOjp2aXNpdENoaWxkcmVuKHRoaXNP
YmplY3QsIHZpc2l0b3IpOworfQorICAgIAorQ29uc3RydWN0VHlwZSBKU0Fycm93RnVuY3Rpb246
OmdldENvbnN0cnVjdERhdGEoSlNDZWxsKiBjZWxsLCBDb25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3RE
YXRhKQoreworICAgIEpTRnVuY3Rpb24qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNGdW5jdGlvbio+
KGNlbGwpOworICAgICAgICAKKyAgICBjb25zdHJ1Y3REYXRhLmpzLmZ1bmN0aW9uRXhlY3V0YWJs
ZSA9IHRoaXNPYmplY3QtPmpzRXhlY3V0YWJsZSgpOworICAgIGNvbnN0cnVjdERhdGEuanMuc2Nv
cGUgPSB0aGlzT2JqZWN0LT5zY29wZSgpOworICAgIHJldHVybiBDb25zdHJ1Y3RUeXBlTm9uZTsK
K30KK30gLy8gbmFtZXNwYWNlIEpTQworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc4MDE1ZDM4NzIxY2NhNDRh
ZTJmNjVjYjZkNzdiNmE2NTIyMDk2NWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uaApAQCAtMCwwICsxLDc0IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBKU0Fycm93
RnVuY3Rpb25faAorI2RlZmluZSBKU0Fycm93RnVuY3Rpb25faAorCisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKworI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKKyNpbmNsdWRl
ICJKU0dsb2JhbE9iamVjdC5oIgorCituYW1lc3BhY2UgSlNDIHsKKworY2xhc3MgSlNBcnJvd0Z1
bmN0aW9uIDogcHVibGljIEpTRnVuY3Rpb24geworcHVibGljOgorICAgIHR5cGVkZWYgSlNGdW5j
dGlvbiBCYXNlOworICAgICAgICAKKyAgICBzdGF0aWMgSlNBcnJvd0Z1bmN0aW9uKiBjcmVhdGUo
Vk0mIHZtLCBKU1Njb3BlKiBzY29wZSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQorICAgIHsKKyAgICAgICAgSlNBcnJvd0Z1bmN0
aW9uKiBmdW5jdGlvbiA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEpTQXJyb3dGdW5jdGlv
bj4odm0uaGVhcCkpIEpTQXJyb3dGdW5jdGlvbih2bSwgc2NvcGUsIGV4ZWN1dGFibGUsIGdsb2Jh
bE9iamVjdC0+YXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpKTsKKyAgICAgICAgQVNTRVJUKGZ1bmN0
aW9uLT5zdHJ1Y3R1cmUoKS0+Z2xvYmFsT2JqZWN0KCkpOworICAgICAgICBmdW5jdGlvbi0+Zmlu
aXNoQ3JlYXRpb24odm0pOworICAgICAgICByZXR1cm4gZnVuY3Rpb247CisgICAgfQorICAgIAor
ICAgIHN0YXRpYyB2b2lkIGRlc3Ryb3koSlNDZWxsKik7CisgICAgICAgIAorICAgIHN0YXRpYyBT
dHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIEpTVmFsdWUgcHJvdG90eXBlKQorICAgIHsKKyAgICAgICAgQVNTRVJUKGdsb2JhbE9i
amVjdCk7CisgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0
LCBwcm90b3R5cGUsIFR5cGVJbmZvKEpTRnVuY3Rpb25UeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGlu
Zm8oKSk7CisgICAgfQorICAgICAgICAKKyAgICBzdGF0aWMgQ29uc3RydWN0VHlwZSBnZXRDb25z
dHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmKTsKKyAgICAgICAgCisgICAgREVDTEFS
RV9JTkZPOworCitwcm90ZWN0ZWQ6CisgICAgY29uc3Qgc3RhdGljIHVuc2lnbmVkIFN0cnVjdHVy
ZUZsYWdzID0gT3ZlcnJpZGVzSGFzSW5zdGFuY2UgfCBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsKKyAg
ICAgICAgCisgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRv
ciYpOworICAgICAgICAKK3ByaXZhdGU6CisgICAgSlNBcnJvd0Z1bmN0aW9uKFZNJiwgSlNTY29w
ZSosIEZ1bmN0aW9uRXhlY3V0YWJsZSosIFN0cnVjdHVyZSopOworCisgICAgdm9pZCBmaW5pc2hD
cmVhdGlvbihWTSYpOworfTsKKyAgICAKK30gLy8gbmFtZXNwYWNlIEpTQworI2VuZGlmIC8vIEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWAorCisjZW5kaWYgLy8gSlNBcnJvd0Z1bmN0aW9uX2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAppbmRleCAyY2ZiMzM3MmMy
OGRjMjA4ODZjMjM4MDlkMThlOTMzYjYyYTY0MTVmLi4zYTIzNTM1ZmU4NTFhZTJlZmZiYTc1OWRm
Y2Y5ZTZiMGY3YmY4Njk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0Z1bmN0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5j
dGlvbi5oCkBAIC0xMzYsNiArMTM2LDkgQEAgcHVibGljOgogcHJvdGVjdGVkOgogICAgIEpTX0VY
UE9SVF9QUklWQVRFIEpTRnVuY3Rpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSop
OwogICAgIEpTRnVuY3Rpb24oVk0mLCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBKU1Njb3BlKik7Cisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBKU0Z1bmN0aW9uKFZNJiwg
RnVuY3Rpb25FeGVjdXRhYmxlKiwgSlNTY29wZSosIFN0cnVjdHVyZSopOworI2VuZGlmCiAKICAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgTmF0aXZlRXhlY3V0YWJsZSosIGludCBsZW5ndGgs
IGNvbnN0IFN0cmluZyYgbmFtZSk7CiAgICAgdXNpbmcgQmFzZTo6ZmluaXNoQ3JlYXRpb247CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5l
cy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaApp
bmRleCBmNmM2ZDU4ZWM2ZTVjMTE2NGNiMjdmYTVlNDE2MThiNGI4MTQyZjAyLi5kNmRiY2NiMjkx
Y2E3NGEyN2Q4MDA5YzZlYjQ2ZDIyMGQ1OGQ0NTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgKQEAgLTQ1LDYgKzQ1LDE1IEBAIGlu
bGluZSBKU0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKFZNJiB2bSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBl
eGVjdXRhYmxlLCBKU1Njb3BlKiBzCiB7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQoraW5saW5lIEpTRnVuY3Rpb246OkpTRnVuY3Rpb24oVk0mIHZtLCBGdW5jdGlv
bkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpTU2NvcGUqIHNjb3BlLCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSkKKyAgICA6IEJhc2Uodm0sIHNjb3BlLCBzdHJ1Y3R1cmUpCisgICAgLCBtX2V4ZWN1dGFi
bGUodm0sIHRoaXMsIGV4ZWN1dGFibGUpCisgICAgLCBtX2FsbG9jYXRpb25Qcm9maWxlV2F0Y2hw
b2ludChDbGVhcldhdGNocG9pbnQpCit7Cit9CisjZW5kaWYKKyAgICAKIGlubGluZSBGdW5jdGlv
bkV4ZWN1dGFibGUqIEpTRnVuY3Rpb246OmpzRXhlY3V0YWJsZSgpIGNvbnN0CiB7CiAgICAgQVNT
RVJUKCFpc0hvc3RGdW5jdGlvbk5vbklubGluZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAppbmRleCBlMzRhZGQxMjgyNDFhOTYwMzRl
ZDg1NzZhY2VhODUwM2QzYmJmMTM0Li5lYjZmMjUzNThjMzRhZTc1OTcyNzMzNGYwMDBmZjNiMTRm
ZjZmMTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bE9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxP
YmplY3QuY3BwCkBAIC01OCw2ICs1OCw3IEBACiAjaW5jbHVkZSAiSlNBcnJheUJ1ZmZlckNvbnN0
cnVjdG9yLmgiCiAjaW5jbHVkZSAiSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5oIgogI2luY2x1ZGUg
IkpTQXJyYXlJdGVyYXRvci5oIgorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgogI2luY2x1
ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRl
ICJKU0NhbGxiYWNrQ29uc3RydWN0b3IuaCIKQEAgLTIzMSw2ICsyMzIsOSBAQCB2b2lkIEpTR2xv
YmFsT2JqZWN0Ojppbml0KFZNJiB2bSkKICAgICBleGVjLT5zZXRDYWxsZWUobV9nbG9iYWxDYWxs
ZWUuZ2V0KCkpOwogCiAgICAgbV9mdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpTRnVu
Y3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQo
KSkpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgbV9hcnJvd0Z1
bmN0aW9uU3RydWN0dXJlLnNldCh2bSwgdGhpcywgSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGVTdHJ1
Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKKyNlbmRpZgogICAg
IG1fYm91bmRGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpTQm91bmRGdW5jdGlvbjo6
Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7CiAg
ICAgbV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlLnNldCh2bSwgdGhpcywgU3RydWN0dXJlOjphZGRQ
cm9wZXJ0eVRyYW5zaXRpb24odm0sIG1fZnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCksIHZtLnByb3Bl
cnR5TmFtZXMtPm5hbWUsIERvbnREZWxldGUgfCBSZWFkT25seSB8IERvbnRFbnVtLCBtX2Z1bmN0
aW9uTmFtZU9mZnNldCkpOwogICAgIG1faW50ZXJuYWxGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0s
IHRoaXMsIEludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5j
dGlvblByb3RvdHlwZS5nZXQoKSkpOwpAQCAtNzM2LDYgKzc0MCw5IEBAIHZvaWQgSlNHbG9iYWxP
YmplY3Q6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikK
ICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9jYWxsZWVTdHJ1Y3R1cmUpOwogICAg
IHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2Z1bmN0aW9uU3RydWN0dXJlKTsKICAgICB2
aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlKTsKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHZpc2l0b3IuYXBwZW5kKCZ0
aGlzT2JqZWN0LT5tX2Fycm93RnVuY3Rpb25TdHJ1Y3R1cmUpOworI2VuZGlmCiAgICAgdmlzaXRv
ci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZSk7CiAgICAgdmlz
aXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fc3ltYm9sT2JqZWN0U3RydWN0dXJlKTsKICAgICB2
aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9yZWdFeHBNYXRjaGVzQXJyYXlTdHJ1Y3R1cmUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmpl
Y3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKaW5k
ZXggZDE3YjRhMzQ4ZmExNGRhZDAzYWI3NjA2Yzc5MzFlYmVmYjE3OWNkMi4uYzVhNDM1OTc4MDE0
ZmJlYTVkMzE0YmRlMTA1MDliZDUyN2ZhZmZhNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC0yMjcsNiArMjI3LDkgQEAgcHJvdGVjdGVk
OgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fY2FsbGVlU3RydWN0dXJlOwogICAgIFdy
aXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fZnVuY3Rpb25TdHJ1Y3R1cmU7CiAgICAgV3JpdGVCYXJy
aWVyPFN0cnVjdHVyZT4gbV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlOworI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9hcnJv
d0Z1bmN0aW9uU3RydWN0dXJlOworI2VuZGlmCiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4g
bV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlOwogICAgIFByb3BlcnR5T2Zmc2V0IG1fZnVuY3Rpb25O
YW1lT2Zmc2V0OwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fcHJpdmF0ZU5hbWVTdHJ1
Y3R1cmU7CkBAIC00NjQsNiArNDY3LDkgQEAgcHVibGljOgogICAgIFN0cnVjdHVyZSogY2FsbGVl
U3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9jYWxsZWVTdHJ1Y3R1cmUuZ2V0KCk7IH0KICAg
ICBTdHJ1Y3R1cmUqIGZ1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9mdW5jdGlv
blN0cnVjdHVyZS5nZXQoKTsgfQogICAgIFN0cnVjdHVyZSogYm91bmRGdW5jdGlvblN0cnVjdHVy
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fYm91bmRGdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgU3RydWN0dXJlKiBhcnJvd0Z1
bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJl
LmdldCgpOyB9CisjZW5kaWYKICAgICBTdHJ1Y3R1cmUqIG5hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUo
KSBjb25zdCB7IHJldHVybiBtX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBQ
cm9wZXJ0eU9mZnNldCBmdW5jdGlvbk5hbWVPZmZzZXQoKSBjb25zdCB7IHJldHVybiBtX2Z1bmN0
aW9uTmFtZU9mZnNldDsgfQogICAgIFN0cnVjdHVyZSogbnVtYmVyT2JqZWN0U3RydWN0dXJlKCkg
Y29uc3QgeyByZXR1cm4gbV9udW1iZXJPYmplY3RTdHJ1Y3R1cmUuZ2V0KCk7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3Bh
cmFtdGVyLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0
aW9uLWFzcGFyYW10ZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjM2MWI4ZGIwMjI4Mjc5NmQxYmIwNGY1ZGJk
NDAxOWI3Mjg5ZjJjYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3BhcmFtdGVyLmpzCkBAIC0wLDAgKzEsOCBAQAor
Ly8gSW5zcGlyZWQgYnkgbW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFj
dHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsK
KyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQg
d2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit0ZXN0Q2FzZSgiIiArIFsxLCAyLCAz
LCA0XS5tYXAoeCA9PiB4LCAzMiksICIxLDIsMyw0IiwgIkVycm9yOiBhcnJvdyBmdW5jdGlvbiBh
cyB0aGUgcGFyYW10ZXJzLiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rl
c3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHktMS5qcyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTEuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZmQxZDQ3YTQ4MDc1ZWM1OThjNmJlMWUwN2Q3OGEzNTI2MzUzYTkxMgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1hc3NvY2lhdGl2aXR5LTEuanMKQEAgLTAsMCArMSwxMyBAQAorLy8gSW5zcGlyZWQg
YnkgbW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0
ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBt
ZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0
dWFsICsgIiciOworICB9Cit9OworCit2YXIgYWYxLCBhZjIsIGFmMzsKK2FmMSA9IGFmMiA9IGFm
MyA9PiBhZjEgPSBhZjIgPSBhZjM7Cit0ZXN0Q2FzZShhZjEsIGFmMiwgIkVycm9yOiB3cm9uZyBh
c3NvY2lhdGl2aXR5ICMxLiIpOworYWYxKDEzKTsKK3Rlc3RDYXNlKGFmMiwgMTMsICJFcnJvcjog
d3JvbmcgYXNzb2NpYXRpdml0eSAjMi4iKTsKK3Rlc3RDYXNlKGFmMSwgMTMsICJFcnJvcjogd3Jv
bmcgYXNzb2NpYXRpdml0eSAjMy4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTIuanMgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0y
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjJlZGQ4MzljNmJjN2VkNmE0MGVmZmJiYzg3NTRlZDFiZmQ4MDZiNDMK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0yLmpzCkBAIC0wLDAgKzEsMTQgQEAKKy8vIEluc3Bp
cmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4
cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhy
b3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiAr
IGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIHM9IiI7CitzICs9IHggPT4geC5uYW1lOwor
CisvLyBGaXggbWUuIFBvc3NpYmxlIHdlIGhhdmUgbm90IHVzZSB0aGUgSlNCb3VudEZ1bmN0aW9u
IHdyYXBwZXIgZm9yIHRoZSBsZXhpY2FsCisvLyBiaW5kaW5nIG9mIHRoZSB0aGlzIGFuZCB1c2Ug
ZGlyZWN0IGluamVjdGlvbiBvZiB0aGUgJ3RoaXMnIHZhbHVlCisvLyBpbnRvIGFycnJvdyBmdW5j
dGlvbgorLy8gdGVzdENhc2UocywgInggPT4geC5uYW1lIiAsICJFcnJvcjogd3JvbmcgdG9TdHJp
bmcgY29udmVyc2lvbi4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LmpzIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHkuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNjdlZDE1M2NlZWJhNTI2MjI4ZWNhODIxMzA0NjlhOTI0NGIxNGMwNQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1hc3NvY2lhdGl2aXR5LmpzCkBAIC0wLDAgKzEsMTAgQEAKKy8vIEluc3BpcmVkIGJ5IG1vemls
bGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNz
YWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSAr
ICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICIn
IjsKKyAgfQorfTsKKwordmFyIGFmID0gYSA9PiBiID0+IGE7CisKK3Rlc3RDYXNlKGFmKCdBQkMn
KSgnREVGJyksICdBQkMnLCAiRXJyb3I6IHdyb25nIG5lc3RlZCBhcnJvdyBmdW5jdGlvbnMuIik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tYmxvY2stMS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJy
b3dmdW5jdGlvbi1ibG9jay0xLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBjNTcxYmI3MmZjZmVmNTMwYzU5ZGI0
Yjg2MGNhNGYwYTk2YTQxMTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2stMS5qcwpAQCAtMCwwICsxLDExIEBA
CisvLyBJbnNwaXJlZCBieSBtb3ppbGxhIHRlc3RzCit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAo
YWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkg
eworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1
dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBmID0gKCkgPT4ge307Cit0
ZXN0Q2FzZSh0eXBlb2YgZigpLCAndW5kZWZpbmVkJywgIkVycm9yOiB3cm9uZyBhcnJvdyBmdW5j
dGlvbiBibG9jay4iKTsKK3ZhciBnID0gKCkgPT4gKHt9KTsKK3Rlc3RDYXNlKHR5cGVvZiBnKCks
ICdvYmplY3QnLCAiRXJyb3I6IHdyb25nIGFycm93IGZ1bmN0aW9uIGJsb2NrLiIpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJs
b2NrLTIuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tYmxvY2stMi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40N2VlMzUyY2YwMWQxMzZlMzAyOTIyNzM2YzVjODBl
ZjUzYzAzZjZlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJsb2NrLTIuanMKQEAgLTAsMCArMSwxMCBAQAorLy8gSW5z
cGlyZWQgYnkgbW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwg
ZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0
aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICci
ICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgYWYgPSBhID0+IHsgYSArIDE7IH07CisK
K3Rlc3RDYXNlKHR5cGVvZiBhZigwKSwgJ3VuZGVmaW5lZCcsICJFcnJvcjogd3JvbmcgYXJyb3cg
ZnVuY3Rpb24gYmxvY2sgIzIuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY29uc3RydWN0b3IuanMgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY29uc3RydWN0b3IuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOTUwN2I1MzY0ZjA0MTEzNTg1ZWFiYThjMjRhNDdhNGExMGQxNmI3YgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDE4IEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlv
biAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3Rl
ZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIics
IGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBzaW1wbGVBcnJvd0Z1
bmN0aW9uID0gKCkgPT4ge307CisKK3ZhciBlcnJvck9uQ3JlYXRlID0gZmFsc2U7CisKK3RyeSB7
CisgIHZhciBmYyA9IG5ldyBzaW1wbGVBcnJvd0Z1bmN0aW9uKCk7Cit9CitjYXRjaCAoZSkgewor
ICBlcnJvck9uQ3JlYXRlID0gdHJ1ZTsKK30KKwordGVzdENhc2UoZXJyb3JPbkNyZWF0ZSwgdHJ1
ZSwgIkVycm9yOiBObyBlcnJvciBkdXJpbmcgcnVuIG5ldyBBcnJvd0Z1bmN0aW9uIik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
bGV4aWNhbHRoaXMtMS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJy
b3dmdW5jdGlvbi1sZXhpY2FsdGhpcy0xLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1NTMxZjU3NTYyZjI4Njhl
ZWFkMzlmY2Q2NmVlNTA3OGJhY2VkMWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbHRoaXMtMS5qcwpAQCAt
MCwwICsxLDE3IEBACit2YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFj
dHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsK
KyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQg
d2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCitmdW5jdGlvbiBEb2cobmFtZSkgewor
ICB0aGlzLm5hbWUgPSBuYW1lOworICB0aGlzLmdldE5hbWUgPSAoKSA9PiBldmFsKCJ0aGlzLm5h
bWUiKTsKKyAgdGhpcy5nZXROYW1lSGFyZCA9ICgpID0+IGV2YWwoIigoKSA9PiB0aGlzLm5hbWUp
KCkiKTsKK30KKwordmFyIGQgPSBuZXcgRG9nKCJNYXgiKTsKK3Rlc3RDYXNlKGQuZ2V0TmFtZSgp
LCBkLm5hbWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2Yg
dGhlIGFycm93IGZ1bmN0aW9uICMxIik7Cit0ZXN0Q2FzZShkLmdldE5hbWVIYXJkKCksIGQubmFt
ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24gIzIiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsdGhpcy5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsdGhpcy5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42MTJmYmFmODA0NDgyYzc3NjFjMzdkZDY5M2E4NDg1ZTU1MTE1NzNlCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxl
eGljYWx0aGlzLmpzCkBAIC0wLDAgKzEsMzEgQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVzdENh
c2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFs
ICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4
cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBh
Zk9iakxleEJpbmQyID0gZnVuY3Rpb24gKCkgeworICB0aGlzLmZ1bmMgPSAoKSA9PiB0aGlzOwor
fTsKKwordmFyIGFmT2JqTGV4QmluZDJJbnN0YW5jZSA9IG5ldyBhZk9iakxleEJpbmQyKCk7CisK
K3Rlc3RDYXNlKGFmT2JqTGV4QmluZDJJbnN0YW5jZS5mdW5jKCkgPT09IGFmT2JqTGV4QmluZDJJ
bnN0YW5jZSwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lk
ZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzIiKTsKKwordmFyIG9iaiA9IHsKKyAgbWV0aG9kOiBm
dW5jdGlvbiAoKSB7CisgICAgcmV0dXJuICgpID0+IHRoaXM7CisgIH0KK307CisKK3Rlc3RDYXNl
KG9iai5tZXRob2QoKSgpID09PSBvYmosIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNh
bGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMzIik7CisKK3ZhciBmYWtl
ID0ge3N0ZWFsOiBvYmoubWV0aG9kKCl9OwordGVzdENhc2UoZmFrZS5zdGVhbCgpID09PSBvYmos
IHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhl
IGFycm93IGZ1bmN0aW9uICM0Iik7CisKKworLy8gRml4bWU6IGZvbGxvd2luZyB0ZXN0IGZhaWxz
IGluIGRmZy1lYWdlci1uby1jaml0LXZhbGlkYXRlICYgZnRsLWVhZ2VyLW5vLWNqaXQgbW9kZQor
dmFyIHJlYWwgPSB7Ym9ycm93OiBvYmoubWV0aG9kfTsKK3Rlc3RDYXNlKHJlYWwuYm9ycm93KCko
KSA9PT0gcmVhbCwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGlu
c2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzUiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1vdGhlcnMuanMgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tb3RoZXJzLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmZlYmExMWYzMDIyZTM0YTgwMDBhNTcwMDc2ZGIxYTU1YTRhMzJiMjEKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tb3RoZXJzLmpzCkBAIC0wLDAgKzEsMTMgQEAKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChh
Y3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7
CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0
IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIHNpbXBsZUFycm93RnVuY3Rp
b24gPSAoKSA9PiB7fTsKKwordGVzdENhc2UoT2JqZWN0LmdldFByb3RvdHlwZU9mKHNpbXBsZUFy
cm93RnVuY3Rpb24pLCBGdW5jdGlvbi5wcm90b3R5cGUsICJFcnJvcjogTm90IGNvcnJlY3QgZ2V0
UHJvdG90eXBlT2YgdmFsdWUgZm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHNpbXBs
ZUFycm93RnVuY3Rpb24gaW5zdGFuY2VvZiBGdW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3QgY29y
cmVjdCByZXN1bHQgZm9yIGluc3RhbmNlb2YgbWV0aG9kIGZvciBhcnJvdyBmdW5jdGlvbiIpOwor
Cit0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uLmNvbnN0cnVjdG9yID09IEZ1bmN0aW9uLCB0
cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgY29uc3RydWN0b3IgbWV0aG9kIG9m
IGFycm93IGZ1bmN0aW9uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tdGR6LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rl
c3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXRkei5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOWQzNWNkZWE0YmFm
NjY3NDMxYWY4YWJlOGRhZGYyMmQwNGI5MGUxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXRkei5qcwpAQCAtMCwwICsx
LDI0IEBACit2YXIgQSA9IGNsYXNzIEEgeyB9OwordmFyIEIgPSBjbGFzcyBCIGV4dGVuZHMgQSB7
CisgIGNvbnN0cnVjdG9yKGFjY2Vzc1RoaXNCZWZvcmVTdXBlcikgeworICAgIGlmIChhY2Nlc3NU
aGlzQmVmb3JlU3VwZXIpIHsKKyAgICAgIHZhciBmID0gKCkgPT4gdGhpczsKKyAgICAgIHN1cGVy
KCk7CisgICAgfSBlbHNlIHsKKyAgICAgIHN1cGVyKCk7CisgICAgfQorICB9Cit9OworCit2YXIg
ZXhjZXB0aW9uID0gbnVsbDsKK3RyeSB7CisgICAgIG5ldyBCKHRydWUpOworfSBjYXRjaCAoZSkg
eworICAgIGV4Y2VwdGlvbiA9IGU7CisgICAgaWYgKCEoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVy
cm9yKSkKKyAgICAgICAgdGhyb3cgIkV4Y2VwdGlvbiB0aHJvd24gd2FzIG5vdCBhIHJlZmVyZW5j
ZSBlcnJvciI7Cit9CitpZiAoIWV4Y2VwdGlvbikKKyAgICB0aHJvdyAiRXhjZXB0aW9uIG5vdCB0
aHJvd24gZm9yIGFuIHVuaXRpYWxpemVkIHRoaXMgYXQgaXRlcmF0aW9uIjsKKwordmFyIGUgPSBu
ZXcgQihmYWxzZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tdHlwZW9mLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXR5cGVvZi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZjJhN2Y1NDQ3NmFi
YTljMjg5MjNjMzVmMWRiM2M0MzI3YWM5NDY5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXR5cGVvZi5qcwpAQCAtMCww
ICsxLDIxIEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVz
c2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2Ug
KyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAi
JyI7CisgIH0KK307CisKK3ZhciBhZjEgPSAoKSA9PiB7fTsKK3ZhciBhZjIgPSAoYSkgPT4ge2Eg
KyAxfTsKKwordGVzdENhc2UodHlwZW9mIGFmMSwgImZ1bmN0aW9uIiwgIkVycm9yOiBOb3QgY29y
cmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMSIpOwordGVzdENhc2UodHlwZW9mIGFm
MS5wcm90b3R5cGUgPT09ICd1bmRlZmluZWQnLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJl
c3VsdCBmb3IgcHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9uICMxIik7CisKK3Rlc3RDYXNlKHR5
cGVvZiBhZjIsICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNvcnJlY3QgdHlwZSBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24gIzIiKTsKK3Rlc3RDYXNlKHR5cGVvZiBhZjIucHJvdG90eXBlID09PSAndW5k
ZWZpbmVkJywgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBv
ZiBhcnJvdyBmdW5jdGlvbiAjMiIpOworCit0ZXN0Q2FzZSh0eXBlb2YgKCgpPT57fSksICJmdW5j
dGlvbiIsICJFcnJvcjogTm90IGNvcnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzMi
KTsKK3Rlc3RDYXNlKHR5cGVvZiAoKCk9Pnt9KS5wcm90b3R5cGUgPT09ICd1bmRlZmluZWQnLCB0
cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJvdG90eXBlIG9mIGFycm93IGZ1
bmN0aW9uICMzIik7CisKKwordGVzdENhc2UodHlwZW9mICgoYikgPT4ge2IgKyAxfSksICJmdW5j
dGlvbiIsICJFcnJvcjogTm90IGNvcnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzQi
KTsKK3Rlc3RDYXNlKHR5cGVvZiAoKGIpID0+IHtiICsgMX0pLnByb3RvdHlwZSA9PT0gJ3VuZGVm
aW5lZCcsIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBwcm90b3R5cGUgb2Yg
YXJyb3cgZnVuY3Rpb24gIzQiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNjg3YjNhYWIxZDI3ZjQ1M2Y5
MDc2MWNlYzFhZDRkMDVjZjAzYjM1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLmpzCkBAIC0wLDAgKzEsMTU0IEBACit2
YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQs
IG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNz
YWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFs
ICsgIiciOworICB9Cit9OworCit2YXIgYXJyb3dGdW5jdGlvbjAgPSB2ID0+IHYgKyAxOworcmVz
dWx0ID0gYXJyb3dGdW5jdGlvbjAoMTApOwordGVzdENhc2UocmVzdWx0LCAxMSAsIkVycm9yOiBO
b3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiB2ID0+IHYgKyAxIik7
CisKK3ZhciBhcnJvd0Z1bmN0aW9uMSA9ICh2KSA9PiB2ICogMjsKK3Jlc3VsdCA9IGFycm93RnVu
Y3Rpb24xKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhl
Y3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKHYpID0+IHYgKyAxIik7CisKK3ZhciBhcnJv
d0Z1bmN0aW9uMiA9ICgpID0+IDEwMDA7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMigxMjEyKTsK
K3Rlc3RDYXNlKHJlc3VsdCwgMTAwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uOiAoKSA9PiAxMDAwIik7CisKK3ZhciB0bXBWYXJpYWx2ZTJfMSA9
IDE1MTsKK3ZhciBhcnJvd0Z1bmN0aW9uMl8xID0gKCkgPT4gdG1wVmFyaWFsdmUyXzE7CityZXN1
bHQgPSBhcnJvd0Z1bmN0aW9uMl8xKDEyMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIHRtcFZhcmlhbHZl
Ml8xICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246
ICgpID0+IHZhcmlhYmxlIik7CisKK3ZhciBhcnJvd0Z1bmN0aW9uMyA9ICh2LCB4KSA9PiB2ICsg
eDsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24zKDExLDEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjMg
LCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKHgs
IHkpID0+IHggKyB5Iik7CisKK3ZhciBhcnJvd0Z1bmN0aW9uV3JhcHBlciA9IGZ1bmN0aW9uIChj
bCwgcGFyYW10ZXIpIHsgcmV0dXJuIGNsKHBhcmFtdGVyKTsgfTsKKworcmVzdWx0ID0gYXJyb3dG
dW5jdGlvbldyYXBwZXIoeCA9PiAxMjM0KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIzNCAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVy
OiBmKHggPT4gYykiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4gMTIz
NCwgMjM0NSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMzQgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhl
Y3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMsIHkpIik7
CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEyMSArIDIzMik7Cit0ZXN0
Q2FzZShyZXN1bHQsIDM1MyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFy
cm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYzEgKyBjMikiKTsKKworIHJlc3VsdCA9
IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4gMTIzICsgMzIxLCA5OTk5KTsKK3Rlc3RDYXNlKHJl
c3VsdCwgNDQ0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjMSArIGMyLCB5KSIpOworCisgcmVzdWx0ID0gYXJy
b3dGdW5jdGlvbldyYXBwZXIoeCA9PiB4ICsgMTIsIDIxKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzMg
LCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBw
YXJhbXRlcjogZih4ID0+IHggKyBjMSwgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25X
cmFwcGVyKCh4KSA9PiB4ICsgMjEsIDMyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgNTMsICJFcnJvcjog
Tm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjog
ZigoeCkgPT4gYzEgKyBjMiwgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVy
KCgpID0+IDEwMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMCwgIkVycm9yOiBOb3QgY29ycmVjdCBl
eGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMpIik7
CisKKyB2YXIgZXh0X3ZhbHVlID0gMTIxOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIo
KCkgPT4gZXh0X3ZhbHVlKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIxLCAiRXJyb3I6IE5vdCBjb3Jy
ZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4g
dikiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IGV4dF92YWx1ZSAq
IDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIxMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IHYqeCkiKTsKKwor
IHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCh4KSA9PiBleHRfdmFsdWUgKiB4LCAzMCk7
Cit0ZXN0Q2FzZShyZXN1bHQsIDMwKmV4dF92YWx1ZSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVj
dXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCh4KSA9PiB2KngsIHkp
Iik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiAxMDAsIDExKTsKK3Rl
c3RDYXNlKHJlc3VsdCwgMTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYzEsIHkpIik7CisKKyByZXN1bHQg
PSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiAxMDAgKyAxMCk7Cit0ZXN0Q2FzZShyZXN1bHQs
IDExMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9u
IGFzIHBhcmFtdGVyOiBmKCgpID0+IGMxICsgYzIpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0
aW9uV3JhcHBlcigoKSA9PiAxMDAgKyAxMSwgMTIpOwordGVzdENhc2UocmVzdWx0LCAxMTEgLCJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJh
bXRlcjogZigoKSA9PiBjMSArIGMyLCB5KSIpOworCisgdmFyIGFycm93RnVuY3Rpb240ID0gdiA9
PiB2ICsgMSwgeHl6MSA9IDEwMTAxOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjQoMTAxMSk7Cit0
ZXN0Q2FzZShyZXN1bHQsIDEwMTIgLCJFcnJvcjogTm90IGNvcnJlY3QgcGFyc2luZyBvZiB0aCBh
cnJvdyBmdW5jdGlvbiBpbnNpZGUgb2YgdGhlIGxpc3Qgb2YgdmFyczogdmFyIGFmID0gdj0+IHYg
KyAxOyB6eGM9YzsiKTsKK3Rlc3RDYXNlKHh5ejEsIDEwMTAxICwiRXJyb3I6IE5vdCBjb3JyZWN0
IHBhcnNpbmcgb2YgdGggYXJyb3cgZnVuY3Rpb24gaW5zaWRlIG9mIHRoZSBsaXN0IG9mIHZhcnM6
IHZhciBhZiA9IHY9PiB2ICsgMTsgenhjPWM7Iik7CisKKyB2YXIgYXJyb3dGdW5jdGlvbldyYXBw
ZXIyID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRlcjEsIHBhcmFtdGVyMikgeyByZXR1cm4gY2wocGFy
YW10ZXIxLCBwYXJhbXRlcjIpOyB9OworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIyKCh4
LCB5KSA9PiB4ICsgeSwgMTIgLDQzKTsKK3Rlc3RDYXNlKHJlc3VsdCwgNTUgLCJFcnJvcjogTm90
IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbWV0ZXI6IGYo
KHgsIHkpID0+IHggKyB5LCBjMSwgYzIpIik7CisKKyB2YXIgYXJyb3dGdW5jdGlvQXJyYXkwID0g
W3YgPT4gdiAqIDEwXTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5MFswXSgxMCk7Cit0ZXN0
Q2FzZShyZXN1bHQsIDEwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFy
cm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFt2PT52KjEwXSIpOworCisgdmFyIGFycm93
RnVuY3Rpb0FycmF5MSA9IFt2ID0+IHYgKyAxLCB2ID0+IHYgKyAyXTsKK3Jlc3VsdCA9IGFycm93
RnVuY3Rpb0FycmF5MVswXSgxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDExICwiRXJyb3I6IE5vdCBj
b3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTog
W3YgPT4gdiArIDEsICB2ID0+IHYgKyAyXSIpOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkx
WzFdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbdiA9PiB2ICsgMSwg
IHYgPT4gdiArIDJdIik7CisKKyB2YXIgYXJyb3dGdW5jdGlvQXJyYXkyID0gWyh2KSA9PiB2ICsg
MSwgKHYpID0+IHYgKyAyXTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5MlswXSgxMSk7Cit0
ZXN0Q2FzZShyZXN1bHQsIDEyICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogWyh2KSA9PiB2ICsgMSwgICh2KSA9PiB2
ICsgMl0iKTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5MlsxXSgxMSk7Cit0ZXN0Q2FzZShy
ZXN1bHQsIDEzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb24gYXMgaXRlbSBpbiBhcnJheTogWyh2KSA9PiB2ICsgMSwgICh2KSA9PiB2ICsgMl0iKTsK
KworIHZhciBhcnJvd0Z1bmN0aW9BcnJheTMgPSBbKCkgPT4gMTAxLCAoKSA9PiAxMjMyM107City
ZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTNbMF0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDEs
ICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBp
dGVtIGluIGFycmF5OiBbKCkgPT4gYzEsICAoKSA9PiBjMl0iKTsKK3Jlc3VsdCA9IGFycm93RnVu
Y3Rpb0FycmF5M1sxXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMzIzLCAiRXJyb3I6IE5vdCBj
b3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTog
WygpID0+IGMxLCAgKCkgPT4gYzJdIik7CisKK3ZhciBhcnJvd0Z1bmN0aW9uT2JqID0ge2Z1bmMg
OiB5ID0+IHkgKyAxMn07CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uT2JqLmZ1bmMoMTEpOwordGVz
dENhc2UocmVzdWx0LCAyMyAsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbiBhcyBwcm9wZXJ0eToge2Z1bmMgOiB5ID0+IHkgKyAxMiB9Iik7CisKK3Zh
ciBhZk9iakxleEJpbmQyID0gZnVuY3Rpb24gKCkgeworICB0aGlzLmZ1bmMgPSAoKSA9PiB0aGlz
OworfTsKKwordmFyIGFycm93RmF0RnVuY3Rpb24wID0gKCkgPT4geyByZXR1cm4gMTAwMDsgfTsK
K3Jlc3VsdCA9IGFycm93RmF0RnVuY3Rpb24wKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwMCAs
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGgg
Ym9keSBhcyBibG9jazogKCkgPT4geyByZXR1cm4gMTAwMDsgfSIpOworCit2YXIgYXJyb3dGYXRG
dW5jdGlvbjEgPSB2ID0+IHsgdmFyIGludHZhbCA9IDEwMDsgcmV0dXJuIHYgKiBpbnR2YWw7IH07
CityZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0aW9uMSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDExMDAg
LCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRo
IGJvZHkgYXMgYmxvY2s6IHggPT4geyB2YXIgdj0xMDAwOyByZXR1cm4gdip4OyB9Iik7CisKK3Zh
ciBhcnJvd0ZhdEZ1bmN0aW9uMiA9ICh2KSA9PiB7IHZhciBpbnQgPSAyMDA7IHJldHVybiB2ICog
aW50OyB9OworcmVzdWx0ID0gYXJyb3dGYXRGdW5jdGlvbjIoMTEpOwordGVzdENhc2UocmVzdWx0
LCAyMjAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gd2l0aCBib2R5IGFzIGJsb2NrOiAoeCkgPT4geyB2YXIgdj0xMDAwOyByZXR1cm4gdip4OyB9
Iik7CisKK3ZhciBhcnJvd0ZhdEZ1bmN0aW9uMyA9ICh2LCB4KSA9PiB7IHZhciByZXN1bHQgPSB4
ICogdjsgcmV0dXJuIHJlc3VsdDsgfTsKK3Jlc3VsdCA9IGFycm93RmF0RnVuY3Rpb24zKDExLCAx
MjIyMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDEzNDQ0MiAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVj
dXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogKHYsIHgpID0+
IHsgdmFyIHJlc3VsdCA9IHggKiB2OyByZXR1cm4gcmVzdWx0OyB9Iik7CisKK3Jlc3VsdCA9IGFy
cm93RnVuY3Rpb25XcmFwcGVyKHg9PntyZXR1cm4geCAqIDI1O30sIDEyMSk7Cit0ZXN0Q2FzZShy
ZXN1bHQsIDI1KjEyMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogZih4ID0+IHtyZXR1cm4geCAqIDI1O30sIDEy
MSkiKTsKKworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIyKCh4LCB5KT0+e3JldHVybiB4
ICogeTt9LCAxNCwgMTIpOwordGVzdENhc2UocmVzdWx0LCAxNCoxMiAsIkVycm9yOiBOb3QgY29y
cmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazog
ZigoeCwgeSk9PntyZXR1cm4geCAqIHk7fSwgMTQsIDEyMSkpIik7CisKK3ZhciBzaW1wbGVBcnJv
d0Z1bmN0aW9uID0gKCkgPT4ge307CisKK3Rlc3RDYXNlKHR5cGVvZiBzaW1wbGVBcnJvd0Z1bmN0
aW9uLCAiZnVuY3Rpb24iLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHR5cGUgb2YgdGhlIGFycm93IGZ1
bmN0aW9uIik7CisKK3Rlc3RDYXNlKE9iamVjdC5nZXRQcm90b3R5cGVPZihzaW1wbGVBcnJvd0Z1
bmN0aW9uKSwgRnVuY3Rpb24ucHJvdG90eXBlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGdldFByb3Rv
dHlwZU9mIHZhbHVlIGZvciBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShzaW1wbGVBcnJv
d0Z1bmN0aW9uIGluc3RhbmNlb2YgRnVuY3Rpb24sIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3Qg
cmVzdWx0IGZvciBpbnN0YW5jZW9mIG1ldGhvZCBmb3IgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVz
dENhc2Uoc2ltcGxlQXJyb3dGdW5jdGlvbi5jb25zdHJ1Y3RvciA9PSBGdW5jdGlvbiwgdHJ1ZSwg
IkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIGNvbnN0cnVjdG9yIG1ldGhvZCBvZiBhcnJv
dyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZSh0eXBlb2Ygc2ltcGxlQXJyb3dGdW5jdGlvbi5wcm90
b3R5cGUgPT09ICd1bmRlZmluZWQnLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBm
b3IgcHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9uIik7CisKK3ZhciBlcnJvck9uQ3JlYXRlID0g
ZmFsc2U7CisKK3RyeSB7CisgIHZhciBmYyA9IG5ldyBzaW1wbGVBcnJvd0Z1bmN0aW9uKCk7Cit9
CitjYXRjaCAoZSkgeworICBlcnJvck9uQ3JlYXRlID0gdHJ1ZTsKK30KKwordGVzdENhc2UoZXJy
b3JPbkNyZWF0ZSwgdHJ1ZSwgIkVycm9yOiBObyBlcnJvciBkdXJpbmcgcnVuIG5ldyBBcnJvd0Z1
bmN0aW9uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDhiMTEyZmFlNDViOTU3ZGQyNjQxZmRiNmY0Njg5ODgw
NTg5YWY4NjAuLjExNDhhNzY5NzJmMTE0YzM4M2QzMjYyOWYxZjA5M2M2ODU1MGEwNTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCkBAIC00NSw2ICs0NSw3IEBAIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5W
QVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9
IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCA9IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxU
RVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ1NQX05FWFQgPSA7CiBF
TkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMiA9IEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZF
TF8yOwpAQCAtMjE0LDQgKzIxNSw0IEBAIEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7CiAKIEVOQUJM
RV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9B
UklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZM
T1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRf
RUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFU
SCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5B
QkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9D
U1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFC
TEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5B
QkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04p
ICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChF
TkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRf
TElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9T
Q0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFM
SVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJ
TFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VW
RU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNS
WVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9M
T0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQo
RU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxF
X0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0Up
ICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQo
RU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZF
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
X0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVf
SU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJM
RV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJF
RklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAk
KEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NP
TlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVf
TU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChF
TkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJP
TUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhf
TElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAk
KEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikg
JChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcp
ICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChF
TkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19G
T05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FE
SU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwp
ICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9W
QUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5B
QkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMp
ICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dF
QlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFC
TEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZ
T1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRV
UkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURf
MkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5B
QkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9D
QUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNf
UFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lO
VEFYKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVW
RUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09N
UE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dS
SURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVD
VE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChF
TkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAk
KEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JU
KSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1T
KSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikg
JChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIp
ICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVO
QUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xP
Q0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFC
TEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5B
QkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
TE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElN
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19W
RU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9M
RUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJM
RV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAk
KEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChF
TkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVf
TUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NP
TlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xP
Q0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJM
RV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FO
SU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JF
TU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxF
X1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVD
SF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRP
KSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJM
RV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkg
JChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxF
X1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQo
RU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5B
QkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5B
QkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElN
SU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5B
QkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFC
TEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJ
T05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDhiMTEyZmFlNDViOTU3ZGQyNjQxZmRiNmY0
Njg5ODgwNTg5YWY4NjAuLjExNDhhNzY5NzJmMTE0YzM4M2QzMjYyOWYxZjA5M2M2ODU1MGEwNTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00NSw2ICs0NSw3IEBAIEVOQUJMRV9DQU5WQVNfUEFUSCA9
IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hB
Tk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7CiBFTkFCTEVfRVM2X0NM
QVNTX1NZTlRBWCA9IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYOworRU5BQkxFX0VTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ1NQ
X05FWFQgPSA7CiBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMiA9IEVOQUJMRV9DU1NfQU5J
TUFUSU9OU19MRVZFTF8yOwpAQCAtMjE0LDQgKzIxNSw0IEBAIEVOQUJMRV9MTElOVF9DX0xPT1Ag
PSA7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJB
VEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9S
RU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxF
UkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxF
X0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJM
RV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxU
RVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8y
KSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJ
VElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9M
QVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdF
X1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JT
X0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJM
RV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5B
QkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQo
RU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQo
RU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChF
TkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxF
X0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJ
T04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9J
Q09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVf
SU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdF
VCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0la
SU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FD
WV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xF
VFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5B
QkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJM
RV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRN
TCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVO
VF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykg
JChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BV
QkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFU
SU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RF
X0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVC
QkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZ
TlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQo
RU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RF
TEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVO
QUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9V
Q0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNF
UlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFC
TEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVf
V0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVf
V0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcp
ICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVf
WFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9T
QVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9N
T0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVf
QUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5U
KSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVO
QUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9F
UzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5B
QkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FO
SU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVO
QUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChF
TkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFC
TEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NT
UzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9W
SVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hC
T0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RS
QU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9P
UklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxU
RVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JF
RU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQo
RU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RU
TElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dP
UktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lO
UFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVT
U19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
SU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
TEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FV
RElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElB
X1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVO
VCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVf
TkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZ
KSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJM
RV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZF
TlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJM
RV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUp
ICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVF
UlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQo
RU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9T
VUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVS
VEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExB
VEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dP
UkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklE
RU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1Nf
TUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9S
RVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVO
QUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJ
TUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0Nf
TE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURF
T19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDhiMTEyZmFlNDViOTU3ZGQyNjQx
ZmRiNmY0Njg5ODgwNTg5YWY4NjAuLjExNDhhNzY5NzJmMTE0YzM4M2QzMjYyOWYxZjA5M2M2ODU1
MGEwNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00NSw2ICs0NSw3IEBAIEVOQUJMRV9DQU5WQVNfUEFUSCA9
IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hB
Tk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7CiBFTkFCTEVfRVM2X0NM
QVNTX1NZTlRBWCA9IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYOworRU5BQkxFX0VTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ1NQ
X05FWFQgPSA7CiBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMiA9IEVOQUJMRV9DU1NfQU5J
TUFUSU9OU19MRVZFTF8yOwpAQCAtMjE0LDQgKzIxNSw0IEBAIEVOQUJMRV9MTElOVF9DX0xPT1Ag
PSA7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJB
VEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9S
RU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxF
UkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxF
X0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJM
RV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxU
RVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8y
KSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJ
VElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9M
QVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdF
X1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JT
X0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJM
RV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5B
QkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQo
RU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQo
RU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChF
TkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxF
X0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJ
T04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9J
Q09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVf
SU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdF
VCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0la
SU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FD
WV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xF
VFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5B
QkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJM
RV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRN
TCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVO
VF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykg
JChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BV
QkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFU
SU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RF
X0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVC
QkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZ
TlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQo
RU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RF
TEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVO
QUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9V
Q0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNF
UlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFC
TEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVf
V0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVf
V0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcp
ICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVf
WFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9T
QVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9N
T0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVf
QUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5U
KSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVO
QUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9F
UzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5B
QkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FO
SU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVO
QUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChF
TkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFC
TEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NT
UzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9W
SVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hC
T0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RS
QU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9P
UklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxU
RVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JF
RU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQo
RU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RU
TElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dP
UktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lO
UFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVT
U19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
SU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
TEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FV
RElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElB
X1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVO
VCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVf
TkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZ
KSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJM
RV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZF
TlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJM
RV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUp
ICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVF
UlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQo
RU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9T
VUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVS
VEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExB
VEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dP
UkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklE
RU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1Nf
TUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9S
RVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVO
QUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJ
TUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0Nf
TE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURF
T19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVh
dHVyZXMuY21ha2UgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKaW5kZXggZjc0
N2RjODE0MTEzM2M4OTVhM2RhMzc4M2I0YWU1NWRlNWEwNDJiYy4uNmJkOGI5NmM3MWUyZjUyYzZm
OGQ1M2M0MTUyMjFmODllNjFkMDY5ZiAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL1dlYktpdEZl
YXR1cmVzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQpAQCAt
MzksNiArMzksNyBAQCBtYWNybyhXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAgIFdFQktJVF9PUFRJ
T05fREVGSU5FKEVOQUJMRV9DQU5WQVNfUFJPWFkgIlRvZ2dsZSBDYW52YXNQcm94eSBzdXBwb3J0
IiBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
ICJUb2dnbGUgTWVzc2FnZUNoYW5uZWwgYW5kIE1lc3NhZ2VQb3J0IHN1cHBvcnQiIE9OKQogICAg
IFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYICJUb2dnbGUgRVM2
IGNsYXNzIHN5bnRheCBzdXBwb3J0IiBPTikKKyAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFC
TEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYICJUb2dnbGUgRVM2IGFycm93IGZ1bmN0aW9uIHN5
bnRheCBzdXBwb3J0IiBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcgIlRvZ2dsZSBjb250ZW50IGZpbHRlcmluZyBzdXBwb3J0IiBPRkYpCiAgICAg
V0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NPTlRFWFRfTUVOVVMgIlRvZ2dsZSBDb250ZXh0
IE1lbnUgc3VwcG9ydCIgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NTUF9O
RVhUICJUb2dnbGUgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgMS4xIHN1cHBvcnQiIE9GRikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlIGIvU291cmNlL2NtYWtlY29uZmln
LmguY21ha2UKaW5kZXggNWU5ODNkNWU2NWIwN2VmN2RjNTNlYzlkM2M2YThhMjkzOTE3NWNiMi4u
MjNkYWY1OTY2MzUwMjJkZjQyMGYyOGFkYTY3ZDkzNDc3Y2EwZTJkMiAxMDA2NDQKLS0tIGEvU291
cmNlL2NtYWtlY29uZmlnLmguY21ha2UKKysrIGIvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UK
QEAgLTE0LDYgKzE0LDcgQEAKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9DQU5WQVNfUFJPWFkKICNj
bWFrZWRlZmluZTAxIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORwogI2NtYWtlZGVmaW5lMDEgRU5B
QkxFX0VTNl9DTEFTU19TWU5UQVgKKyNjbWFrZWRlZmluZTAxIEVOQUJMRV9FUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORwogI2Nt
YWtlZGVmaW5lMDEgRU5BQkxFX0NPTlRFWFRfTUVOVVMKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9D
UkVERU5USUFMX1NUT1JBR0UKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9G
ZWF0dXJlTGlzdC5wbSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQpp
bmRleCAwMDAzMmMxZDAyNTRmNGQ2YTdhMGZjYTU1MzFiMzQxZDM1ZDI5NTcyLi40ZGU3ZjEzZDUz
MDk3ZTI1OTdhZDhiMzMzMGQyNWMxYWRjZjY2ZTJlIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJs
L0ZlYXR1cmVMaXN0LnBtCkBAIC00NCw2ICs0NCw3IEBAIEJFR0lOIHsKIG15ICgKICAgICAkdGhy
ZWVEUmVuZGVyaW5nU3VwcG9ydCwKICAgICAkYWNjZWxlcmF0ZWQyRENhbnZhc1N1cHBvcnQsCisg
ICAgJGFycm93ZnVuY3Rpb25TeW50YXgsCiAgICAgJGF0dGFjaG1lbnRFbGVtZW50U3VwcG9ydCwK
ICAgICAkYmF0dGVyeVN0YXR1c1N1cHBvcnQsCiAgICAgJGNhbnZhc1BhdGhTdXBwb3J0LApAQCAt
MTU1LDkgKzE1NiwxMyBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAgeyBvcHRpb24gPT4gImFjY2Vs
ZXJhdGVkLTJkLWNhbnZhcyIsIGRlc2MgPT4gIlRvZ2dsZSBBY2NlbGVyYXRlZCAyRCBDYW52YXMg
c3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMi
LCBkZWZhdWx0ID0+IGlzR3RrKCksIHZhbHVlID0+IFwkYWNjZWxlcmF0ZWQyRENhbnZhc1N1cHBv
cnQgfSwKIAorICAgIHsgb3B0aW9uID0+ICJhcnJvd2Z1bmN0aW9uLXN5bnRheCIsIGRlc2MgPT4g
IlRvZ2dsZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1cHBvcnQiLAorICAgICAgZGVmaW5l
ID0+ICJFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIiwgZGVmYXVsdCA9PiAxLCB2YWx1
ZSA9PiBcJGFycm93ZnVuY3Rpb25TeW50YXggfSwKKwogICAgIHsgb3B0aW9uID0+ICJhdHRhY2ht
ZW50LWVsZW1lbnQiLCBkZXNjID0+ICJUb2dnbGUgQXR0YWNobWVudCBFbGVtZW50IHN1cHBvcnQi
LAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UIiwgZGVmYXVsdCA9
PiAwLCB2YWx1ZSA9PiBcJGF0dGFjaG1lbnRFbGVtZW50U3VwcG9ydCB9LAogCisKICAgICB7IG9w
dGlvbiA9PiAiYmF0dGVyeS1zdGF0dXMiLCBkZXNjID0+ICJUb2dnbGUgQmF0dGVyeSBTdGF0dXMg
c3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9CQVRURVJZX1NUQVRVUyIsIGRlZmF1
bHQgPT4gaXNFZmwoKSwgdmFsdWUgPT4gXCRiYXR0ZXJ5U3RhdHVzU3VwcG9ydCB9LAogCmRpZmYg
LS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggMjkxNGY2MWRiZDE2MDM3NmRlNTI4
MWUzMTcyOGZmN2IyYTk1ZjhkYi4uYjZmOTdlOTMwMWFiNWQwNDIyMGU4OTJkMmRjYTZlZjc1ODYy
ZGMyYiAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
IEBACisyMDE1LTA0LTE3ICAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29t
PgorCisgICAgICAgIFtTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQorCisg
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAgQWRkZWQgZmVh
dHVyZSBmbGFnIHRvIHN3aXRjaCBvbi9vZmYgZXM2IGFycm93IGZ1bmN0aW9uIEVOQUJMRV9FUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgKKworICAgICAgICAgKiBTb3VyY2UvY21ha2UvV2ViS2l0RmVh
dHVyZXMuY21ha2U6CisgICAgICAgICAqIFNvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlOgorCiAy
MDE1LTA0LTE2ICBCYXNpbGUgQ2xlbWVudCAgPGJhc2lsZV9jbGVtZW50QGFwcGxlLmNvbT4KIAog
ICAgICAgICBFeHRyYWN0IHRoZSBhbGxvY2F0aW9uIHByb2ZpbGUgZnJvbSBKU0Z1bmN0aW9uIGlu
dG8gYSByYXJlIG9iamVjdAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251050</attachid>
            <date>2015-04-17 14:47:07 -0700</date>
            <delta_ts>2015-04-17 14:58:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150418004606.patch</filename>
            <type>text/plain</type>
            <size>145405</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyOTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
ZjY4MmY3YjhiZmRkNjI1NmY3NGVmM2QwOWYwM2FiZjVjNTM5OTUyLi5iNjc4NTk4ZGY1N2MzMGEw
NDc5YjgwNTBkZmI4MmRiMzA0ZDAzNWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MTAgKzEsMTI1IEBACi0yMDE1LTA0LTEyICBBbGV4YW5kciBTa2FjaGtvdiAgPGdza2FjaGtvdkBn
bWFpbC5jb20+Ci0gICAgICAgIFNtYWxsIHJlZmFjdG9yaW5nIG9mIHRoZSBwYXJjZXIuY3BwIGZp
bGUuIEl0IGlzIG5lY2Vzc2FyeSB0byBpbmNyZWFzZSByZWFkYWJpbGl0eSBvZiB0aGUgcGF0Y2gK
LSAgICAgICAgd2l0aCBFUzYgQXJyb3cgZnVuY3Rpb24gaW1wbGVtZW50YXRpb24KLSAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQorMjAxNS0wNC0x
NyAgQWxleGFuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21haWwuY29tPgogCi0gICAgICAgICog
cGFyc2VyL1BhcnNlci5oOgorICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5j
dGlvbiBzeW50YXgKKyAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkZWQgc3VwcG9ydCBvZiBFUzYgYXJyb3cgZnVuY3Rpb24uIENoYW5nZXMgd2VyZSBt
YWRlIGFjY29yZGluZyBmb2xsb3dpbmcgc3BlYyBodHRwOi8vd2lraS5lY21hc2NyaXB0Lm9yZy9k
b2t1LnBocD9pZD1oYXJtb255OmFycm93X2Z1bmN0aW9uX3N5bnRheAorICAgICAgICBJbiBwYXRj
aCB3ZXJlIGltcGxlbWVudGVkIHRoZSBzaW1wbGVzdCBjYXNlczoKKyAgICAgICAgICAxIG5vIHBh
cmFtZXRlcnMgICAgICAgICAgICAgICAgKCkgPT4gMTAgKyAyMAorICAgICAgICAgIDIgc2luZ2xl
IHBhcmFtZXRlciAgICAgICAgICAgICAgeCA9PiB4ICsgMjAKKyAgICAgICAgICAzIG11bHRpcGxl
IHBhcmFtZXRlcnMgICAgICAoeCwgeSkgPT4geCArIHkKKyAgICAgICAgICA0IGFycm93IGZ1bmN0
aW9uIHdpdGggYmxvY2sgICAgIHggPT4geyByZXR1cm4geCoxMDsgfQorICAgICAgICAgIDUgbGV4
aWNhbCB0aGlzIC0gdmFyaWFibGUgdGhpcyBpcyBwb2ludCB0byB0aGUgdGhpcyBvZiB0aGUgZnVu
Y3Rpb24gd2hlcmUgYXJyb3cgZnVuY3Rpb24gaXMgZGVjbGFyZWQKKyAgICAgICAgICA2IE5vIGNv
bnN0cnVjdG9yIC0gdGhlIHVzaW5nIG9mIHRoZSBjb21tYW5kIG5ldyBmb3IgYXJyb3cgZnVuY3Rp
b24gbGVhZHMgdG8gcnVudGltZSBlcnJvci4gCisKKyAgICAgICAgIE5vdCB5ZXQgaW1wbGVtZW50
ZWQ6CisgICAgICAgICAgMSB0aGUgdmFyaWFibGUgd2l0aCBuYW1lIGFyZ3VtZW50cyBpbnNpZGUg
b2YgdGhlIGFycm93IGZ1bmN0aW9uIHNob3VsZCBwb2ludCB0byBsaXN0IG9mIGFyZ3VtZW50cyBv
ZiBmdW5jdGlvbiB3aGVyZSBhcnJvdyBmdW5jdGlvbiBpcyBkZWNsYXJlZAorICAgICAgICAgIDIg
cGFyc2VyIHdpbGwgcGFyc2UgdGhlIHN0YXRlbWVudCB4LCB5ID0+IHggKyB5IGluc3RlYWQgb2Yg
cmFpc2luZyBleGNlcHRpb24KKyAgICAgICAgICAzIG1ldGhvZCBjYWxsLCBhcHBseSwgYmluZCBz
aG91bGQgbm90IG92ZXJyaWRlIHRoZSB0aGlzIHZhcmlhYmxlIGluc2lkZSBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4
cHJvajoKKyAgICAgICAgKiBieXRlY29kZS9CeXRlY29kZUxpc3QuanNvbjoKKyAgICAgICAgKiBi
eXRlY29kZS9CeXRlY29kZVVzZURlZi5oOgorICAgICAgICAoSlNDOjpGdW5jdG9yOjpjb21wdXRl
VXNlc0ZvckJ5dGVjb2RlT2Zmc2V0KToKKyAgICAgICAgKiBieXRlY29kZS9Db2RlQmxvY2suY3Bw
OgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmR1bXBCeXRlY29kZSk6CisgICAgICAgICogYnl0
ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5
dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVt
aXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbik6IGFkZGVkCisgICAgICAgIChKU0M6OkJ5dGVj
b2RlR2VuZXJhdG9yOjplbWl0VGhpc05vZGVCeXRlY29kZSk6IGFkZGVkCisgICAgICAgICogYnl0
ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHA6CisgICAgICAgIChKU0M6OmVtaXRCeXRlY29kZTo6
ZW1pdEJ5dGVjb2RlKTogYWRkZWQKKyAgICAgICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGU6OmVt
aXRCeXRlY29kZSk6IGFkZGVkCisgICAgICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoK
KyAgICAgICAgKEpTQzo6Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAqIGRm
Zy9ERkdDYXBhYmlsaXRpZXMuY3BwOgorICAgICAgICAoSlNDOjpDYXBhYmlsaXR5TGV2ZWw6OmNh
cGFiaWxpdHlMZXZlbCk6CisgICAgICAgICogaml0L0pJVC5oOgorICAgICAgICAoSlNDOjpKSVQ6
OmVtaXRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUSW5s
aW5lcy5oOgorICAgICAgICAoSlNDOjpKSVQ6OmNhbGxPcGVyYXRpb24pOiBhZGRlZAorICAgICAg
ICAqIGppdC9KSVQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlTWFpblBh
c3MpOgorICAgICAgICAqIGppdC9KSVRPcGNvZGVzLmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpl
bWl0X29wX25ld19hcnJvd19mdW5jX2V4cCk6IGFkZGVkCisgICAgICAgICogaml0L0pJVE9wZXJh
dGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpKSVRfT1BFUkFUSU9OOjpvcGVyYXRpb25OZXdBcnJv
d0Z1bmN0aW9uKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5oOgorICAgICAg
ICAoSlNDOjpKSVRfT1BFUkFUSU9OOjpvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKTogYWRkZWQK
KyAgICAgICAgKiBsbGludC9MTEludFNsb3dQYXRocy5jcHA6CisgICAgICAgIChMTElOVF9TTE9X
X1BBVEhfREVDTChzbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAg
KiBsbGludC9MTEludFNsb3dQYXRocy5oOgorICAgICAgICAoTExJTlRfU0xPV19QQVRIX0RFQ0wo
c2xvd19wYXRoX25ld19hcnJvd19mdW5jX2V4cCkpOiBhZGRlZAorICAgICAgICAqIGxsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOgorICAgICAgICAqIHBhcnNlci9BU1RCdWlsZGVyLmg6Cisg
ICAgICAgIChKU0M6OkFTVEJ1aWxkZXI6OmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAg
ICAgKiBwYXJzZXIvTGV4ZXIuY3BwOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6c2V0VG9rZW5Q
b3NpdGlvbik6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpsZXgpOgorICAgICAgICAqIHBhcnNl
ci9MZXhlci5oOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlvbik6Cisg
ICAgICAgICogcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaDoKKyAgICAgICAgKEpTQzo6QXJyb3dG
dW5jRXhwck5vZGU6OkFycm93RnVuY0V4cHJOb2RlKTogYWRkZWQKKyAgICAgICAgKiBwYXJzZXIv
Tm9kZXMuaDoKKyAgICAgICAgKEpTQzo6Tm9kZTo6aXNBcnJvd0Z1bmNFeHByTm9kZSk6IGFkZGVk
CisgICAgICAgIChKU0M6OkFycm93RnVuY0V4cHJOb2RlKTogYWRkZWQgY2xhc3MKICAgICAgICAg
KiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBh
cnNlU291cmNlRWxlbWVudHMpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VQcmltYXJ5RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VTb3VyY2VF
bGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAg
IChKU0M6OlBhcnNlcjo6cGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6
OlBhcnNlcjo6cGFyc2VQcmltYXJ5RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6
cGFyc2VBcnJvd0V4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnNldEVuZE9mU3Rh
dGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVy
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25JbmZvKToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25Cb2R5KToKKyAgICAgICAgKiBwYXJz
ZXIvUGFyc2VyLmg6CisgICAgICAgIChKU0M6OlBhcnNlcjo6RnVuY3Rpb25QYXJzZVR5cGUpOgor
ICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU291cmNlRWxlbWVudCk6CisgICAgICAgIChKU0M6
OlBhcnNlcjo6cGFyc2VTdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJy
b3dFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpzZXRFbmRPZlN0YXRlbWVudCk6
CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcik6CisgICAg
ICAgICogcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oOgorICAgICAgICAqIHBhcnNlci9QYXJz
ZXJUb2tlbnMuaDoKKyAgICAgICAgKEpTQzo6UGFyc2VyRnVuY3Rpb25JbmZvOjphcnJvd0Z1bmN0
aW9uT2Zmc2V0KTogYWRkZWQKKyAgICAgICAgKEpTQzo6UGFyc2VyRnVuY3Rpb25JbmZvOjppc0Fy
cm93RnVuY3Rpb24pOiBhZGRlZAorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmFy
cm93RnVuY3Rpb25Cb2R5VHlwZSk6IGFkZGVkCisgICAgICAgICogcGFyc2VyL1NvdXJjZUNvZGUu
aDoKKyAgICAgICAgKEpTQzo6U291cmNlQ29kZTo6c3ViQXJyb3dFeHByZXNzaW9uKToKKyAgICAg
ICAgKiBwYXJzZXIvU3ludGF4Q2hlY2tlci5oOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2Vy
OjpjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcik6CisgICAgICAgICogcGFyc2VyL1NvdXJjZVByb3Zp
ZGVyQ2FjaGVJdGVtOgorICAgICAgICAoSlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbUNyZWF0
aW9uUGFyYW1ldGVycyk6CisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKToK
KyAgICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW06OmVuZEFycm93RnVuY3Rpb25U
b2tlbik6CisgICAgICAgICogcnVudGltZS9KU0Fycm93RnVuY3Rpb24uaDogYWRkZWQgY2xhc3Mg
Zm9yIGhhbmRsZSBhcnJvdyBmdW5jdGlvbiBjcmVhdGlvbiBhbmQgZXhlY3V0aW9uCisgICAgICAg
ICogcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwOgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5j
dGlvbi5oOgorICAgICAgICAoSlNDOjpKU0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKTogYWRkZWQgb25l
IG1vcmUgY29uc3RydWN0b3IKKyAgICAgICAgKiBydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmg6
CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OkpTRnVuY3Rpb24pOiBhZGRlZCBjb25zdHJ1Y3Rv
ciBpbXBsZW1lbnRhdGlvbgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgor
ICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6aW5pdCk6CisgICAgICAgIChKU0M6OkpTR2xv
YmFsT2JqZWN0OjptX2Fycm93RnVuY3Rpb25TdHJ1Y3R1cmUpOiBhZGRlZAorICAgICAgICAoSlND
OjpKU0dsb2JhbE9iamVjdDo6YXJyb3dGdW5jdGlvblN0cnVjdHVyZSk6CisgICAgICAgICogdGVz
dHMvc3RyZXNzL2pzL2Fycm93ZnVuY3Rpb24uanM6IGFkZGVkCisgICAgICAgICogdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci5qczogYWRkZWQKKyAgICAgICAgKiB0ZXN0cy9z
dHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTEuanM6IGFkZGVkCisgICAgICAgICog
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0yLmpzOiBhZGRlZAorICAg
ICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHkuanM6IGFkZGVk
CisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2stMS5qczogYWRkZWQK
KyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ibG9jay0yLmpzOiBhZGRlZAor
ICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNvbnN0cnVjdG9yLmpzOiBhZGRl
ZAorICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWx0aGlzLTEuanM6
IGFkZGVkCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tb3RoZXJzLmpzOiBh
ZGRlZAorICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXR5cGVvZi5qczogYWRk
ZWQKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi10ZHouanM6IGFkZGVkCiAK
IDIwMTUtMDQtMTcgIEJhc2lsZSBDbGVtZW50ICA8YmFzaWxlX2NsZW1lbnRAYXBwbGUuY29tPgog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggYjNiMzYxZDhkM2ZiMDQ4Mzk3ODk4Mzk1N2E4Zjc1YjVmNzc0MTU3ZS4u
ZGZiMWIwNGY3NzE4NmYxMTgxYzkwMzViNmZmOWMwZWZhZDA3NmRmZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE0IEBACisyMDE1LTA0LTE3ICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBn
bWFpbC5jb20+CisKKyAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MDg1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZGVkIGZlYXR1cmUgZmxhZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJv
dyBmdW5jdGlvbgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWc6CisKIDIwMTUtMDQtMTYgIFJvZ2VyIEZvbmcgIDxyb2dlcl9mb25nQGFwcGxlLmNvbT4K
IAogICAgICAgICBVcGRhdGUgZnVsbHNjcmVlbiBidXR0b24gdmlzaWJpbGl0eSBvbiBmdWxsc2Ny
ZWVuIGNoYW5nZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCBhMTMwNTk2OWM5ODFmYTZiYzYyZTI5NjA2
ZDg2YjQ1YWU2MGY2ODlhLi4zZjM2MmMxNjM5MDc3NTg0YzMwMGU2ZTE2OTk1MWU1NzdiYmFhNDQz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDQtMTcgIFNrYWNoa292
IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1l
bnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dG
VU5DVElPTl9TWU5UQVggZm9yIGFycm93IGZ1bmN0aW9uCisKKyAgICAgICAgKiBDb25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxNS0wNC0xNyAgRGFuaWVsIEJhdGVz
ICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTjogU1ZHIGRvZXMgbm90
IHN1cHBvcnQgbGluayBkcmFnZ2luZwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0Cmlu
ZGV4IGZiY2UwYjZiOTk2YzIxODkyN2VlMzQ0YTNmMzIxYmZiODQ3MGM3OTIuLjI3ZmNlNjg5MDIx
M2EyMWUzNDk4YzZiZmE0NDY0MjJkNGI4NjkyMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VM
aXN0cy50eHQKQEAgLTQ2Nyw2ICs0NjcsNyBAQCBzZXQoSmF2YVNjcmlwdENvcmVfUlVOVElNRV9T
T1VSQ0VTCiAgICAgcnVudGltZS9KU0FycmF5QnVmZmVyVmlldy5jcHAKICAgICBydW50aW1lL0pT
QXJyYXlJdGVyYXRvci5jcHAKICAgICBydW50aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAKKyAgICBy
dW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAKICAgICBydW50aW1lL0pTR2xvYmFsT2JqZWN0RGVi
dWdnYWJsZS5jcHAKICAgICBydW50aW1lL0pTQ0pTVmFsdWUuY3BwCiAgICAgcnVudGltZS9KU0Nh
bGxlZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0
MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2OTcyZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1
NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00NSw2ICs0NSw3IEBAIEVOQUJM
RV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkg
PSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7
CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYOworRU5B
QkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9T
WU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
Tkc7CiBFTkFCTEVfQ1NQX05FWFQgPSA7CiBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMiA9
IEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yOwpAQCAtMjE0LDQgKzIxNSw0IEBAIEVOQUJM
RV9MTElOVF9DX0xPT1AgPSA7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMg
PSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMg
PSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykg
JChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQ
VElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElU
SU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVO
QUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFC
TEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5J
TUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5B
QkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVO
QUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChF
TkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJM
RV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NT
M19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJ
U0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJP
QVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJB
TlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRF
UlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChF
TkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRM
SU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09S
S0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNT
X1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9J
T1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9M
RUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVE
SU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJM
RV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFf
U09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kp
ICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxF
X1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVO
VFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxF
X1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkg
JChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVS
WSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChF
TkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NV
QlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJU
RVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFU
RV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09S
RCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURF
T19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19N
RURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JF
UExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5B
QkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElN
RU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19M
T09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVP
X1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRF
UklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRF
RF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRU
QUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NB
TlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkg
JChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFU
SU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0Vf
QURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1Nf
UkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQ
RVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQo
RU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIp
ICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAk
KEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQo
RU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNU
T1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1Yy
KSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQo
RU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFE
X0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9E
T01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJW
SUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9O
VEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAk
KEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19Q
UkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQp
ICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFC
TEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9T
Q0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRP
Ul9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRf
UExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJM
RV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxF
X1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVT
VF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09M
VVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1Nf
U0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNf
QVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVf
Q1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURF
TykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxF
X1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8p
ICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNU
VVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykg
JChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQo
RU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElD
KSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hw
cm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNj
cmlwdENvcmUudmN4cHJvagppbmRleCBmZjdhOGUxNjcyN2FmMjRlYmNhYzM2ODcwYTUwZGE1MTRm
YzkwZjZlLi4zZGZkZGNiN2UxZmM4YjE1N2ZhN2E1NmY0ZGZhZjM4ZTU2ZWFiMDAzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2Ny
aXB0Q29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKQEAgLTczMiw2ICs3MzIsNyBAQAogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0FycmF5QnVmZmVyUHJvdG90eXBlLmNw
cCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJheUJ1ZmZlclZp
ZXcuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0JvdW5kRnVu
Y3Rpb24uY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0Fycm93
RnVuY3Rpb24uY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NK
U1ZhbHVlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDYWxs
ZWUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NhdGNoU2Nv
cGUuY3BwIiAvPgpAQCAtMTUyNyw2ICsxNTI4LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHJ1bnRpbWVcSlNBcnJheUJ1ZmZlclZpZXdJbmxpbmVzLmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlJdGVyYXRvci5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0JvdW5kRnVuY3Rpb24uaCIgLz4KKyAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJvd0Z1bmN0aW9uLmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0lubGluZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5ccnVudGltZVxKU0NKU1ZhbHVlSW5saW5lcy5oIiAvPgpAQCAtMTgwNCw0ICsxODA2
LDQgQEAKICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KICAgICA8SW1w
b3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcQnVpbGRDdXN0b21pemF0aW9uc1xtYXNtLnRh
cmdldHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBi
YTliZTBmYjYxYmM2OGRjOGZkMjViMGYzMTg1YzczMDNiODhiMmQ5Li5jYmZkMGZhMmJjMDAwOGY1
NGU5OTAzNDI0MjQxNDQ5MGJjOWZjNWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtMTA5Niw2ICsxMDk2LDggQEAKIAkJODZGM0VFQkYxNjhDREU5MzAwNzdCOTJBIC8qIE9iamNS
dW50aW1lRXh0cmFzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4NkYzRUVCNjE2ODU1QTVCMDA3N0I5MkEgLyogT2JqY1J1bnRpbWVFeHRyYXMuaCAqLzsg
fTsKIAkJODZGQTlFOTExNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkZBOUU4RjE0MkJC
QjJEMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAqLzsgfTsKIAkJODZGQTlFOTIxNDJC
QkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91
bmRGdW5jdGlvbi5oICovOyB9OworCQk4QjBGNDI0QzFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJv
d0Z1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDhCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uY3BwICovOyB9
OworCQk4QjBGNDI0QzFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUy
MDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggKi87IH07CiAJCTkwMjEzRTNEMTIzQTQwQzIw
MEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkwMjEzRTNCMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlT
dGF0aXN0aWNzLmNwcCAqLzsgfTsKIAkJOTAyMTNFM0UxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9y
eVN0YXRpc3RpY3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTMwNTJDMzQwRkI3
OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMDUyQzMyMEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJB
cmVuYS5jcHAgKi87IH07CkBAIC0yODMxLDYgKzI4MzMsOCBAQAogCQk4NkY3NUVGRDE1MUMwNjJG
MDA3QzlCQTMgLyogUmVnRXhwTWF0Y2hlc0FycmF5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFJlZ0V4cE1hdGNoZXNBcnJheS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24u
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9u
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODZGQTlFOTAxNDJCQkIyRTAwMTc3
M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU0JvdW5kRnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOEIwRjQy
NEExQUJENkQyRjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U0Fycm93RnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOEIwRjQyNEIx
QUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0Fycm93RnVuY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk5MDIxM0UzQjEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGlj
cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZW1vcnlTdGF0aXN0
aWNzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTAyMTNFM0MxMjNBNDBDMjAw
RDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTWVtb3J5U3RhdGlzdGljcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
MzA1MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFyc2VyQXJlbmEuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtNDQ0Miw2ICs0NDQ2LDggQEAKIAkJCQlBN0JEQUVDNTE3RjRFQTE0MDBG
NjE0MEMgLyogSlNBcnJheUl0ZXJhdG9yLmggKi8sCiAJCQkJODZGQTlFOEYxNDJCQkIyRDAwMTc3
M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5jcHAgKi8sCiAJCQkJODZGQTlFOTAxNDJCQkIyRTAwMTc3
M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICovLAorCQkJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdF
QSAvKiBKU0Fycm93RnVuY3Rpb24uaCAqLywKKwkJCQk4QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEg
LyogSlNBcnJvd0Z1bmN0aW9uLmNwcCAqLywKIAkJCQk2NTdDRjQ1NjE5QkY2NjYyMDA0QUNCRjIg
LyogSlNDYWxsZWUuY3BwICovLAogCQkJCTY1N0NGNDU3MTlCRjY2NjIwMDRBQ0JGMiAvKiBKU0Nh
bGxlZS5oICovLAogCQkJCTBGRDk0OTdFMUE5N0RCOTYwMEUyODk2NiAvKiBKU0NhdGNoU2NvcGUu
Y3BwICovLApAQCAtNzE3NSw2ICs3MTgxLDcgQEAKIAkJCQkwRkQ4QTMxQjE3RDUxRjIyMDBDQTJD
NDAgLyogRlRMT1NSRW50cnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyMzVCREMxNzE3OEUx
QzAwNjkwQzdGIC8qIEZUTE9TUkV4aXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyMzVCREYx
NzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4aXRDb21waWxlci5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQk4QjBGNDI0QzFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGRUEwQTJBMTcwOTYyOTYwMEJCNzIyQyAvKiBGVExPdXRwdXQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMEY0ODUzMjkxODdERkRFQzAwODNCNjg3IC8qIEZUTFJlY292
ZXJ5T3Bjb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNkIxQ0MzMTg2MkM0NzgwMDg0NUQ5
NyAvKiBGVExSZWdpc3RlckF0T2Zmc2V0LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCmluZGV4IDI1MTQxMjYz
ZTM4ZDBlYjJkMTg0NDFmNGU2ZmZjZTM2ZWU4ZjdjZjIuLmEzNzY0N2YyNmZiZTNmMjViYTYyNWI5
OWYzZGExMjAxZTQ5ZmYyMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9CeXRlY29kZUxpc3QuanNvbgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQnl0ZWNvZGVMaXN0Lmpzb24KQEAgLTk0LDYgKzk0LDcgQEAKICAgICAgICAgICAgIHsgIm5h
bWUiIDogIm9wX3N3aXRjaF9zdHJpbmciLCAibGVuZ3RoIiA6IDQgfSwKICAgICAgICAgICAgIHsg
Im5hbWUiIDogIm9wX25ld19mdW5jIiwgImxlbmd0aCIgOiA0IH0sCiAgICAgICAgICAgICB7ICJu
YW1lIiA6ICJvcF9uZXdfZnVuY19leHAiLCAibGVuZ3RoIiA6IDQgfSwKKyAgICAgICAgICAgIHsg
Im5hbWUiIDogIm9wX25ld19hcnJvd19mdW5jX2V4cCIsICJsZW5ndGgiIDogNSB9LAogICAgICAg
ICAgICAgeyAibmFtZSIgOiAib3BfY2FsbCIsICJsZW5ndGgiIDogOSB9LAogICAgICAgICAgICAg
eyAibmFtZSIgOiAib3BfY2FsbF9ldmFsIiwgImxlbmd0aCIgOiA5IH0sCiAgICAgICAgICAgICB7
ICJuYW1lIiA6ICJvcF9jYWxsX3ZhcmFyZ3MiLCAibGVuZ3RoIiA6IDkgfSwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgKaW5kZXggZjIwNzEzOTIz
MjkwNjQ1M2I3YTU0ZjU2MWI5YjY0MjNlMmU4Y2YyNy4uOWI2N2EyMjIxZDNiYTBhNjA2ZjQ3MDlh
NTk5YzMxM2UxYTNhYmFhNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0J5dGVjb2RlVXNlRGVmLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0J5dGVjb2RlVXNlRGVmLmgKQEAgLTExNSw2ICsxMTUsOSBAQCB2b2lkIGNvbXB1dGVVc2VzRm9y
Qnl0ZWNvZGVPZmZzZXQoCiAgICAgY2FzZSBvcF9nZXRfcHJvcGVydHlfZW51bWVyYXRvcjoKICAg
ICBjYXNlIG9wX2dldF9lbnVtZXJhYmxlX2xlbmd0aDoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4
cDoKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3
X2Fycm93X2Z1bmNfZXhwOgorI2VuZGlmCiAgICAgY2FzZSBvcF90b19pbmRleF9zdHJpbmc6CiAg
ICAgY2FzZSBvcF9pbml0X2dsb2JhbF9jb25zdF9ub3A6CiAgICAgY2FzZSBvcF9pbml0X2dsb2Jh
bF9jb25zdDoKQEAgLTMwNiw2ICszMDksOSBAQCB2b2lkIGNvbXB1dGVEZWZzRm9yQnl0ZWNvZGVP
ZmZzZXQoQ29kZUJsb2NrKiBjb2RlQmxvY2ssIHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0LAogICAg
IGNhc2Ugb3BfbmV3X3JlZ2V4cDoKICAgICBjYXNlIG9wX25ld19mdW5jOgogICAgIGNhc2Ugb3Bf
bmV3X2Z1bmNfZXhwOgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAg
Y2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6CisjZW5kaWYKICAgICBjYXNlIG9wX2NhbGxfdmFy
YXJnczoKICAgICBjYXNlIG9wX2NvbnN0cnVjdF92YXJhcmdzOgogICAgIGNhc2Ugb3BfZ2V0X2Zy
b21fc2NvcGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29k
ZUJsb2NrLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3Bw
CmluZGV4IDFkODIzODcyODc4YWMzNDM3Y2M1M2EwODdmMWMwZjhhMjBiYjYwZmIuLmUzZjc1ZjQ0
ODE5MDBiYmI5YTg3ZmE5MjkwMTQ1NWU3YjgwYjg1MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCkBAIC0xMjk3LDYgKzEyOTcsMTcgQEAgdm9pZCBD
b2RlQmxvY2s6OmR1bXBCeXRlY29kZSgKICAgICAgICAgICAgIG91dC5wcmludGYoIiVzLCAlcywg
ZiVkIiwgcmVnaXN0ZXJOYW1lKHIwKS5kYXRhKCksIHJlZ2lzdGVyTmFtZShyMSkuZGF0YSgpLCBm
MCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOiB7Cisg
ICAgICAgICAgICBpbnQgcjAgPSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAgICAgICAgIGludCBy
MSA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgaW50IGYwID0gKCsraXQpLT51Lm9w
ZXJhbmQ7CisgICAgICAgICAgICBpbnQgcjIgPSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAgICAg
ICAgIHByaW50TG9jYXRpb25BbmRPcChvdXQsIGV4ZWMsIGxvY2F0aW9uLCBpdCwgIm9wX25ld19h
cnJvd19mdW5jX2V4cCIpOworICAgICAgICAgICAgb3V0LnByaW50ZigiJXMsICVzLCBmJWQsICVz
IiwgcmVnaXN0ZXJOYW1lKHIwKS5kYXRhKCksIHJlZ2lzdGVyTmFtZShyMSkuZGF0YSgpLCBmMCwg
cmVnaXN0ZXJOYW1lKHIyKS5kYXRhKCkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0K
KyNlbmRpZgogICAgICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDogewogICAgICAgICAgICAgaW50
IHIwID0gKCsraXQpLT51Lm9wZXJhbmQ7CiAgICAgICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUu
b3BlcmFuZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIv
Qnl0ZWNvZGVHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxl
ci9CeXRlY29kZUdlbmVyYXRvci5jcHAKaW5kZXggNmUxOThjYTI3ZTA5ZGEwMmRjOWNmNTMwYzI5
Mjc3YzU2Y2FjMjliNC4uYWY2NWNiNTNkOWM2ZTY5Yjk0OTQzYjkzYjM0M2E5ZDhiMjk3Mjg1MiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdl
bmVyYXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRl
Y29kZUdlbmVyYXRvci5jcHAKQEAgLTE3NTEsNiArMTc1MSwyMiBAQCBSZWdpc3RlcklEKiBCeXRl
Y29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwg
RnVuY0V4cAogICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChpbmRleCk7CiAgICAgcmV0dXJuIHIw
OwogfQorICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitSZWdpc3Rl
cklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJl
Z2lzdGVySUQqIHIwLCBGdW5jRXhwck5vZGUqIG4pCit7CisgICAgZW1pdFREWkNoZWNrKHRoaXNS
ZWdpc3RlcigpKTsKKyAgICBGdW5jdGlvbkJvZHlOb2RlKiBmdW5jdGlvbiA9IG4tPmJvZHkoKTsK
KyAgICB1bnNpZ25lZCBpbmRleCA9IG1fY29kZUJsb2NrLT5hZGRGdW5jdGlvbkV4cHIobWFrZUZ1
bmN0aW9uKGZ1bmN0aW9uKSk7CisgICAgCisgICAgZW1pdE9wY29kZShvcF9uZXdfYXJyb3dfZnVu
Y19leHApOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChyMC0+aW5kZXgoKSk7CisgICAgaW5z
dHJ1Y3Rpb25zKCkuYXBwZW5kKHNjb3BlUmVnaXN0ZXIoKS0+aW5kZXgoKSk7CisgICAgaW5zdHJ1
Y3Rpb25zKCkuYXBwZW5kKGluZGV4KTsKKyAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQodGhpc1Jl
Z2lzdGVyKCktPmluZGV4KCkpOworICAgIHJldHVybiByMDsKK30KKyNlbmRpZgogCiBSZWdpc3Rl
cklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0RlZmF1bHRDb25zdHJ1Y3RvcihSZWdpc3Rl
cklEKiBkc3QsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQsIGNvbnN0IElkZW50aWZp
ZXImIG5hbWUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggMmU1OTAzOWQzYTQ4NGEzNDcyODE0NDBlZWY5
YzFiODE5ZjcyNjVkYi4uMTc5MzVkNDhlZjNiZjJiMmQxNDFkZmRjMWFjOTM3Njc5MzE0NDJhNSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdl
bmVyYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNv
ZGVHZW5lcmF0b3IuaApAQCAtNDU2LDYgKzQ1NiwxMCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAg
ICAgUmVnaXN0ZXJJRCogZW1pdE5ld0Z1bmN0aW9uSW50ZXJuYWwoUmVnaXN0ZXJJRCogZHN0LCB1
bnNpZ25lZCBpbmRleCk7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5jdGlvbkV4cHJl
c3Npb24oUmVnaXN0ZXJJRCogZHN0LCBGdW5jRXhwck5vZGUqIGZ1bmMpOwogICAgICAgICBSZWdp
c3RlcklEKiBlbWl0TmV3RGVmYXVsdENvbnN0cnVjdG9yKFJlZ2lzdGVySUQqIGRzdCwgQ29uc3Ry
dWN0b3JLaW5kLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3QXJyb3dGdW5jdGlv
bkV4cHJlc3Npb24oUmVnaXN0ZXJJRCosIEZ1bmNFeHByTm9kZSopOworICAgICAgICBSZWdpc3Rl
cklEKiBlbWl0VGhpc05vZGVCeXRlY29kZShSZWdpc3RlcklEKiwgSlNUZXh0UG9zaXRpb24pOwor
I2VuZGlmCiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdSZWdFeHAoUmVnaXN0ZXJJRCogZHN0
LCBSZWdFeHAqKTsKIAogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TW92ZUVtcHR5VmFsdWUoUmVn
aXN0ZXJJRCogZHN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29t
cGlsZXIvTm9kZXNDb2RlZ2VuLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGls
ZXIvTm9kZXNDb2RlZ2VuLmNwcAppbmRleCAxMTQzMmFmMjNiYmI2MWU4MTU0MjUyM2I3YzExYWE3
YmRjYjVmM2JmLi42MWFlZjE0MDhjNDM2ZDc0YWIwOGY3YTJhMDY4Y2MyYjFmMDhjYzUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4u
Y3BwCkBAIC0yODMxLDYgKzI4MzEsMTQgQEAgUmVnaXN0ZXJJRCogRnVuY0V4cHJOb2RlOjplbWl0
Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCoKICAgICBy
ZXR1cm4gZ2VuZXJhdG9yLmVtaXROZXdGdW5jdGlvbkV4cHJlc3Npb24oZ2VuZXJhdG9yLmZpbmFs
RGVzdGluYXRpb24oZHN0KSwgdGhpcyk7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKSAgICAKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBBcnJvd0Z1
bmNFeHByTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1JlZ2lzdGVySUQq
IEFycm93RnVuY0V4cHJOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVy
YXRvciwgUmVnaXN0ZXJJRCogZHN0KQoreworICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdE5ld0Fy
cm93RnVuY3Rpb25FeHByZXNzaW9uKGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHRo
aXMpOworfQorI2VuZGlmCisgICAgCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAvLyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ2xhc3NEZWNsTm9kZSAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0J5dGVDb2RlUGFyc2VyLmNwcAppbmRleCBkOTczODg1YzFjYTMyYTNjNmUyMDYwZjkwMWQ3MmEy
ODFiMTg3Yjc4Li4zZjNlYzEwYWVlYzZlNjAxOTkzODY0ZTgyZTAzOWFhNjkxYjJhMWU5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcApAQCAt
Mzc0NCw2ICszNzQ0LDE1IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWdu
ZWQgbGltaXQpCiAgICAgICAgICAgICBORVhUX09QQ09ERShvcF9uZXdfZnVuY19leHApOwogICAg
ICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBj
YXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDogeworICAgICAgICAgICAgRnVuY3Rpb25FeGVjdXRh
YmxlKiBleHByID0gbV9pbmxpbmVTdGFja1RvcC0+bV9wcm9maWxlZEJsb2NrLT5mdW5jdGlvbkV4
cHIoY3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZCk7CisgICAgICAgICAgICBGcm96ZW5W
YWx1ZSogZnJvemVuID0gbV9ncmFwaC5mcmVlemVTdHJvbmcoZXhwcik7CisgICAgICAgICAgICBz
ZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLAorICAg
ICAgICAgICAgICAgIGFkZFRvR3JhcGgoTmV3RnVuY3Rpb24sIE9wSW5mbyhmcm96ZW4pLCBnZXQo
VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpKSkpOworICAg
ICAgICAgICAgTkVYVF9PUENPREUob3BfbmV3X2Fycm93X2Z1bmNfZXhwKTsKKyAgICAgICAgfQor
I2VuZGlmCiAgICAgICAgIGNhc2Ugb3BfdHlwZW9mOiB7CiAgICAgICAgICAgICBzZXQoVmlydHVh
bFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLAogICAgICAgICAgICAg
ICAgIGFkZFRvR3JhcGgoVHlwZU9mLCBnZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVj
dGlvblsyXS51Lm9wZXJhbmQpKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdD
YXBhYmlsaXRpZXMuY3BwCmluZGV4IDMyMjIwZGQyYmE1YWY1ZDZhYjgxNzUzZWRlNzM4MmU5NTdk
NmZhYTguLjRjMzY1ZDlkMDc1Y2M2ZTdjNWUxNjZiMTllNjMyNDRjN2M3YzljODMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKQEAgLTIwNyw2ICsy
MDcsOSBAQCBDYXBhYmlsaXR5TGV2ZWwgY2FwYWJpbGl0eUxldmVsKE9wY29kZUlEIG9wY29kZUlE
LCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgSW5zdHJ1YwogICAgIGNhc2Ugb3BfbmV3X2Z1bmM6CiAg
ICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CiAgICAgY2FzZSBvcF9jcmVhdGVfbGV4aWNhbF9lbnZp
cm9ubWVudDoKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ug
b3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorI2VuZGlmCiAgICAgICAgIHJldHVybiBDYW5Db21waWxl
QW5kSW5saW5lOwogCiAgICAgY2FzZSBvcF9wdXRfdG9fc2NvcGU6IHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCmluZGV4IDE3ZGQzYjRm
NDVmNTZmZjIwMDIzZDczYjc1ZGM3ZDcwYjYzNDk2OGYuLjIwMDA1YzA3MTUzM2IxNjgzYWZkYTJk
NjJkYzY1YzAxNjdkOTEwOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9JbnRlcnByZXRlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVy
cHJldGVyL0ludGVycHJldGVyLmNwcApAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUgIkV4Y2Vw
dGlvbkhlbHBlcnMuaCIKICNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJKU0Fy
cmF5LmgiCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNCb3VuZEZ1
bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTTGV4aWNhbEVu
dmlyb25tZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxs
SGVscGVycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhlbHBlcnMuaAppbmRl
eCBmZDM0NGFkYmNhYmIxNWZiZDgxNGVkNmZiZDQ3OGY3NGI2MTU3NjNjLi4wN2FjZDZkNTMyZDMy
OGFmZGI3N2FjZjIwMTMzOTBlZjM5ZGQ5ZDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0NDYWxsSGVscGVycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
Q0NhbGxIZWxwZXJzLmgKQEAgLTI3NCw2ICsyNzQsMTUgQEAgcHVibGljOgogICAgICAgICBhZGRD
YWxsQXJndW1lbnQoYXJnMik7CiAgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmczKTsKICAgICB9
CisgICAgCisgICAgQUxXQVlTX0lOTElORSB2b2lkIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0
ZShHUFJSZWcgYXJnMSwgVHJ1c3RlZEltbVB0ciBhcmcyLCBHUFJSZWcgYXJnMykKKyAgICB7Cisg
ICAgICAgIHJlc2V0Q2FsbEFyZ3VtZW50cygpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQoR1BS
SW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMSk7
CisgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmcyKTsKKyAgICAgICAgYWRkQ2FsbEFyZ3VtZW50
KGFyZzMpOworICAgIH0KIAogICAgIEFMV0FZU19JTkxJTkUgdm9pZCBzZXR1cEFyZ3VtZW50c1dp
dGhFeGVjU3RhdGUoR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyLCBUcnVzdGVkSW1tMzIgYXJnMykK
ICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKaW5kZXggOGNkOWZiMTJlOGJmNGIwYzY4
NzM4ZWY4ZWZhNzdjNjVmMDg0YWZlOC4uNWJjOTE2YjhiMzQxZGE1Y2U1MWY2YjYyN2FmZTkwMmM0
NTgxMDAxOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcApAQCAtMjYwLDYgKzI2MCw3IEBA
IHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkKICAgICAgICAgREVGSU5FX09QKG9w
X25ld19hcnJheV9idWZmZXIpCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfZnVuYykKICAgICAg
ICAgREVGSU5FX09QKG9wX25ld19mdW5jX2V4cCkKKyAgICAgICAgREVGSU5FX09QKG9wX25ld19h
cnJvd19mdW5jX2V4cCkgCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfb2JqZWN0KQogICAgICAg
ICBERUZJTkVfT1Aob3BfbmV3X3JlZ2V4cCkKICAgICAgICAgREVGSU5FX09QKG9wX25vdCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVC5oCmluZGV4IDAxYTQxMjk2M2NlNTk4MzMyYWYxMTZiNjJjNzZjYWIy
OTJmZmExNzguLmQ1MDdmYWZmN2RjYmM5MmJhMmZkMGQ0OWFmOTE4NmMxZmZjYzJkYmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVQuaApAQCAtNTIxLDYgKzUyMSw3IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2FycmF5X2J1ZmZlcihJbnN0cnVjdGlvbiopOwogICAg
ICAgICB2b2lkIGVtaXRfb3BfbmV3X2Z1bmMoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBl
bWl0X29wX25ld19mdW5jX2V4cChJbnN0cnVjdGlvbiopOworICAgICAgICB2b2lkIGVtaXRfb3Bf
bmV3X2Fycm93X2Z1bmNfZXhwKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9u
ZXdfb2JqZWN0KEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfcmVnZXhw
KEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9ub3QoSW5zdHJ1Y3Rpb24qKTsK
QEAgLTcwMCw2ICs3MDEsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgTWFjcm9Bc3NlbWJs
ZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSkosIGludCwgR1BSUmVnLCBH
UFJSZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklU
T3BlcmF0aW9uX0VKc2MsIEdQUlJlZyk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNh
bGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0MsIGludCwgR1BSUmVnLCBKU0NlbGwqKTsK
KyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlv
bl9FSnNjQ0osIGludCwgR1BSUmVnLCBKU0NlbGwqLCBHUFJSZWcpOwogICAgICAgICBNYWNyb0Fz
c2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2NaLCBHUFJSZWcs
IGludDMyX3QpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENf
SklUT3BlcmF0aW9uX0VKc2NaLCBpbnQsIEdQUlJlZywgaW50MzJfdCk7CiAjaWYgVVNFKEpTVkFM
VUU2NCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKaW5kZXggOWVlMjRkMDky
MjhhOTg4MmVhNzY5NjI5ZDFhODdiNmMzNGE4NjMzNC4uYTBlNDBjNWM2MWZlNjNlOTg2M2VkMjIz
ZWRmNWQ0NTFmMzE4YTc3NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgK
QEAgLTI3MSw2ICsyNzEsMTIgQEAgQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBK
SVQ6OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0Mgb3BlcmEKICAgICByZXR1cm4g
YXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldEpTVmFsdWVSZXN1bHQob3BlcmF0aW9uLCBk
c3QpOwogfQogCitBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9w
ZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0ogb3BlcmF0aW9uLCBpbnQgZHN0LCBHUFJSZWcg
YXJnMSwgSlNDZWxsKiBjZWxsLCBHUFJSZWcgYXJnMikKK3sKKyAgICBzZXR1cEFyZ3VtZW50c1dp
dGhFeGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSwgYXJnMik7CisgICAgcmV0dXJu
IGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRKU1ZhbHVlUmVzdWx0KG9wZXJhdGlvbiwg
ZHN0KTsKK30KKyAgICAKIEFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpj
YWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VQIG9wZXJhdGlvbiwgaW50IGRzdCwgdm9pZCog
cG9pbnRlcikKIHsKICAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0
cihwb2ludGVyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9w
Y29kZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAppbmRl
eCA0ZTgyMWQwYzNkNWEzYzVlNjU4MGQxMDM5NmVjMjg4OTYzODg2YjU2Li5hYThhN2MxZjg2MTIx
Y2JkNmFlOWI4Njc2YTdiZDk0OTc0ODZjNGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVE9wY29kZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUT3Bjb2Rlcy5jcHAKQEAgLTk2NSw2ICs5NjUsMjkgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfbmV3
X2Z1bmNfZXhwKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgY2FsbE9wZXJh
dGlvbihvcGVyYXRpb25OZXdGdW5jdGlvbiwgZHN0LCByZWdUMCwgZnVuY0V4cHIpOwogICAgIGRv
bmUubGluayh0aGlzKTsKIH0KKyAgICAKK3ZvaWQgSklUOjplbWl0X29wX25ld19hcnJvd19mdW5j
X2V4cChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQoreworICAgIEp1bXAgbm90VW5k
ZWZpbmVkU2NvcGU7CisgICAgaW50IGRzdCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJh
bmQ7CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGN1cnJl
bnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQsIHJlZ1QwKTsKKyAgICBlbWl0R2V0VmlydHVhbFJl
Z2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvbls0XS51Lm9wZXJhbmQsIHJlZ1QxKTsKKyAgICBub3RV
bmRlZmluZWRTY29wZSA9IGJyYW5jaDY0KE5vdEVxdWFsLCByZWdUMCwgVHJ1c3RlZEltbTY0KEpT
VmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSkpOworICAgIHN0b3JlNjQoVHJ1c3RlZEltbTY0
KEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSksIEFkZHJlc3MoY2FsbEZyYW1lUmVnaXN0
ZXIsIHNpemVvZihSZWdpc3RlcikgKiBkc3QpKTsKKyNlbHNlCisgICAgZW1pdExvYWRQYXlsb2Fk
KGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQsIHJlZ1QwKTsKKyAgICBlbWl0TG9hZFBh
eWxvYWQoY3VycmVudEluc3RydWN0aW9uWzRdLnUub3BlcmFuZCwgcmVnVDEpOworICAgIG5vdFVu
ZGVmaW5lZFNjb3BlID0gYnJhbmNoMzIoTm90RXF1YWwsIHRhZ0ZvcihjdXJyZW50SW5zdHJ1Y3Rp
b25bMl0udS5vcGVyYW5kKSwgVHJ1c3RlZEltbTMyKEpTVmFsdWU6OlVuZGVmaW5lZFRhZykpOwor
ICAgIGVtaXRTdG9yZShkc3QsIGpzVW5kZWZpbmVkKCkpOworI2VuZGlmCisgICAgSnVtcCBkb25l
ID0ganVtcCgpOworICAgIG5vdFVuZGVmaW5lZFNjb3BlLmxpbmsodGhpcyk7CisgICAgCisgICAg
RnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlvbiA9IG1fY29kZUJsb2NrLT5mdW5jdGlvbkV4cHIo
Y3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZCk7CisgICAgY2FsbE9wZXJhdGlvbihvcGVy
YXRpb25OZXdBcnJvd0Z1bmN0aW9uLCBkc3QsIHJlZ1QwLCBmdW5jdGlvbiwgcmVnVDEpOworICAg
IGRvbmUubGluayh0aGlzKTsKK30KIAogdm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2FycmF5KEluc3Ry
dWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRPcGVyYXRpb25zLmNwcAppbmRleCBiZTM0MTgwOTFkYjMxZDA1ODg3M2Q3ZmQ4ZmYzMzZh
MDQ5Y2NkOGVhLi40OGEzMDA1MWIzNzRhNjBkMGY0OThlZGU4NGQwY2NhNTZiMjVhZWIxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTQyLDYgKzQy
LDggQEAKICNpbmNsdWRlICJIb3N0Q2FsbFJldHVyblZhbHVlLmgiCiAjaW5jbHVkZSAiSklULmgi
CiAjaW5jbHVkZSAiSklUVG9ERkdEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suaCIKKyNpbmNs
dWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNp
bmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDYXRjaFNjb3BlLmgiCiAjaW5jbHVk
ZSAiSlNGdW5jdGlvbk5hbWVTY29wZS5oIgpAQCAtOTYwLDYgKzk2MiwyNCBAQCBFbmNvZGVkSlNW
YWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Z1bmN0aW9uV2l0aEludmFsaWRhdGVkUmVh
bGxvY2F0aW9uV2F0YwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNGdW5jdGlvbjo6Y3Jl
YXRlV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludCh2bSwgc3RhdGljX2Nhc3Q8
RnVuY3Rpb25FeGVjdXRhYmxlKj4oZnVuY3Rpb25FeGVjdXRhYmxlKSwgc2NvcGUpKTsKIH0KIAor
CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24o
RXhlY1N0YXRlKiBleGVjLCBKU1Njb3BlKiBzY29wZSwgSlNDZWxsKiBmdW5jdGlvbkV4ZWN1dGFi
bGUsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSkKK3sKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIEFTU0VSVChmdW5jdGlvbkV4ZWN1dGFibGUtPmluaGVyaXRzKEZ1
bmN0aW9uRXhlY3V0YWJsZTo6aW5mbygpKSk7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAg
ICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CisKKyAgICBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZXhlYy0+Y2FsbGVlKCktPmdsb2JhbE9iamVjdCgpOwor
ICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Fycm93RnVuY3Rpb246OmNyZWF0ZSh2bSwgc2NvcGUs
IHN0YXRpY19jYXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KGZ1bmN0aW9uRXhlY3V0YWJsZSksIGds
b2JhbE9iamVjdCk7CisgICAgSlNBcnJheSogYm91bmRBcmdzID0gSlNBcnJheTo6dHJ5Q3JlYXRl
VW5pbml0aWFsaXplZCh2bSwgZ2xvYmFsT2JqZWN0LT5hcnJheVN0cnVjdHVyZUZvckluZGV4aW5n
VHlwZUR1cmluZ0FsbG9jYXRpb24oQXJyYXlXaXRoVW5kZWNpZGVkKSwgMCk7CisKKyAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTQm91bmRGdW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmpl
Y3QsIGZ1bmMsIEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpLCBib3VuZEFyZ3MsIDAsICIiKSk7
CisjZWxzZQorICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisjZW5k
aWYKK30KKwogSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3Rh
dGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52
bSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25z
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaAppbmRleCBjM2Zh
ZDVkNmYzM2FhMDUyYmQ3MGZiZjNhODc3OWM3NWJkM2Q1MDI3Li43NzQwNjgxYzhlMjBkYTc1NDFl
OTRlNTZhMDZkMDgzMDMxYjQ0OTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wZXJhdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9w
ZXJhdGlvbnMuaApAQCAtMjAsNyArMjAsNyBAQAogICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQogICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCiAjaWZu
ZGVmIEpJVE9wZXJhdGlvbnNfaApAQCAtMTE1LDYgKzExNSw3IEBAIHR5cGVkZWYgRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQUCkoRXhlY1N0YXRlKiwgdm9p
ZCosIHZvCiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJh
dGlvbl9FUFMpKEV4ZWNTdGF0ZSosIHZvaWQqLCBzaXplX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNW
YWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVBjKShFeGVjU3RhdGUqLCBJbnN0
cnVjdGlvbiopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRP
cGVyYXRpb25fRUpzY0MpKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKTsKK3R5cGVkZWYg
RW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VKc2NDSikoRXhl
Y1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlKTsKIHR5cGVkZWYgRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTUykoRXhlY1N0YXRl
Kiwgc2l6ZV90LCBzaXplX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
ICgqSl9KSVRPcGVyYXRpb25fRVNzaUNJKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyos
IEpTQ2VsbCosIFN0cmluZ0ltcGwqKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJB
VElPTiAoKkpfSklUT3BlcmF0aW9uX0VTc2lKSSkoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1Yklu
Zm8qLCBFbmNvZGVkSlNWYWx1ZSwgU3RyaW5nSW1wbCopOwpAQCAtMjc4LDYgKzI3OSw3IEBAIEVu
Y29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXlCdWZmZXJXaXRoUHJv
ZmlsZShFeGVjU3RhdGUqLCBBcnJhCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbk5ld0FycmF5V2l0aFNpemVBbmRQcm9maWxlKEV4ZWNTdGF0ZSosIEFycmF5QWxsb2NhdGlv
blByb2ZpbGUqLCBFbmNvZGVkSlNWYWx1ZSBzaXplKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNW
YWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Z1bmN0aW9uKEV4ZWNTdGF0ZSosIEpTU2Nv
cGUqLCBKU0NlbGwqKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbk5ld0Z1bmN0aW9uV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2lu
dChFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKikgV1RGX0lOVEVSTkFMOworRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKEV4ZWNTdGF0ZSos
IEpTU2NvcGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVSTkFMOwogSlNDZWxs
KiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUq
KSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5l
d1JlZ2V4cChFeGVjU3RhdGUqLCB2b2lkKikgV1RGX0lOVEVSTkFMOwogdm9pZCBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkhhbmRsZVdhdGNoZG9nVGltZXIoRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFM
OwpAQCAtNDA2LDQgKzQwOCwzIEBAIGlubGluZSBQX0pJVE9wZXJhdGlvbl9FQ2xpIG9wZXJhdGlv
bkxpbmtQb2x5bW9ycGhpY0NhbGxGb3IoUmVnaXN0ZXJQcmVzZXJ2YXRpb25NCiAjZW5kaWYgLy8g
RU5BQkxFKEpJVCkKIAogI2VuZGlmIC8vIEpJVE9wZXJhdGlvbnNfaAotCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAppbmRleCAwNjk3NTViNTMxMjVj
NDc0NGZkODhjMmIzNGYyNmViYmI1ODkzMTYyLi5jNjVhMDc2OTQ1ZjliMzZjYTY0MzE5ZmY2YzY4
ZDlmNTgwZDA4Y2ZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJ
bnRTbG93UGF0aHMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNs
b3dQYXRocy5jcHAKQEAgLTM4LDYgKzM4LDggQEAKICNpbmNsdWRlICJJbnRlcnByZXRlci5oIgog
I2luY2x1ZGUgIkpJVC5oIgogI2luY2x1ZGUgIkpJVEV4Y2VwdGlvbnMuaCIKKyNpbmNsdWRlICJK
U0Fycm93RnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRl
ICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNs
dWRlICJKU0NKU1ZhbHVlLmgiCkBAIC0xNzEsNiArMTczLDE1IEBAIG5hbWVzcGFjZSBKU0MgeyBu
YW1lc3BhY2UgTExJbnQgewogICAgICAgICBMTElOVF9SRVRVUk5fVFdPKHBjLCBfX3JjZl9leGVj
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIH0gd2hpbGUgKGZhbHNlKQog
CisgICAgCisjZGVmaW5lIExMSU5UX0NBTENfUFJPUEVSVFlfRk9SX0ZVTkNfRVhQUigpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBMTElOVF9CRUdJTigpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+Y29kZUJsb2NrKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgSlNTY29wZSogc2NvcGUgPSBleGVjLT51
bmNoZWNrZWRSKHBjWzJdLnUub3BlcmFuZCkuUmVnaXN0ZXI6OnNjb3BlKCk7ICAgICAgIFwKKyAg
ICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUgPSBjb2RlQmxvY2stPmZ1bmN0aW9uRXhw
cihwY1szXS51Lm9wZXJhbmQpOyAgXAorICAgIAorZW51bSBGdW5jdGlvbkV4cHJlc3Npb25UeXBl
IHsgQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25UeXBlLCBDb21tb25GdW5jdGlvbkV4cHJlc3Npb25U
eXBlfTsKKyAgICAKIGV4dGVybiAiQyIgU2xvd1BhdGhSZXR1cm5UeXBlIGxsaW50X3RyYWNlX29w
ZXJhbmQoRXhlY1N0YXRlKiBleGVjLCBJbnN0cnVjdGlvbiogcGMsIGludCBmcm9tV2hlcmUsIGlu
dCBvcGVyYW5kKQogewogICAgIExMSU5UX0JFR0lOKCk7CkBAIC0xMDAzLDE2ICsxMDE0LDM1IEBA
IExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuYykKICNlbmRpZgogICAgIExM
SU5UX1JFVFVSTihKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGNvZGVCbG9jay0+ZnVuY3Rpb25EZWNs
KHBjWzNdLnUub3BlcmFuZCksIHNjb3BlKSk7CiB9Ci0KKyAgICAKIExMSU5UX1NMT1dfUEFUSF9E
RUNMKHNsb3dfcGF0aF9uZXdfZnVuY19leHApCiB7Ci0gICAgTExJTlRfQkVHSU4oKTsKLSAgICBD
b2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVCbG9jaygpOwotICAgIEpTU2NvcGUqIHNj
b3BlID0gZXhlYy0+dW5jaGVja2VkUihwY1syXS51Lm9wZXJhbmQpLlJlZ2lzdGVyOjpzY29wZSgp
OwotICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZnVuY3Rpb24gPSBjb2RlQmxvY2stPmZ1bmN0aW9u
RXhwcihwY1szXS51Lm9wZXJhbmQpOwotICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Z1bmN0aW9u
OjpjcmVhdGUodm0sIGZ1bmN0aW9uLCBzY29wZSk7CisgICAgTExJTlRfQ0FMQ19QUk9QRVJUWV9G
T1JfRlVOQ19FWFBSKCk7CisKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNGdW5jdGlvbjo6Y3Jl
YXRlKHZtLCBleGVjdXRhYmxlLCBzY29wZSk7CisgICAgTExJTlRfUkVUVVJOKGZ1bmMpOworfQor
CisKK0xMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApCit7
CisgICAgTExJTlRfQ0FMQ19QUk9QRVJUWV9GT1JfRlVOQ19FWFBSKCk7CisKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gTExJTlRf
T1BfQyg0KS5qc1ZhbHVlKCk7CisgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGV4
ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKICAgICAKKyAgICBKU0Z1bmN0aW9uKiBmdW5j
ID0gSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUodm0sIHNjb3BlLCBleGVjdXRhYmxlLCBnbG9iYWxP
YmplY3QpOworICAgIAorICAgIEpTQXJyYXkqIGJvdW5kQXJncyA9IEpTQXJyYXk6OnRyeUNyZWF0
ZVVuaW5pdGlhbGl6ZWQodm0sIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGlu
Z1R5cGVEdXJpbmdBbGxvY2F0aW9uKEFycmF5V2l0aFVuZGVjaWRlZCksIDApOworICAgIAorICAg
IGNvbnN0IFN0cmluZyBmdW5jV2l0aG91dE5hbWUgPSAiIjsKKyAgICAKKyAgICBMTElOVF9SRVRV
Uk4oSlNCb3VuZEZ1bmN0aW9uOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgZnVuYywgdGhpc1Zh
bHVlLCBib3VuZEFyZ3MsIDAsIGZ1bmNXaXRob3V0TmFtZSkpOworI2Vsc2UKKyAgICBKU0Z1bmN0
aW9uKiBmdW5jID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBleGVjdXRhYmxlLCBzY29wZSk7CiAg
ICAgTExJTlRfUkVUVVJOKGZ1bmMpOworI2VuZGlmCiB9CiAKIHN0YXRpYyBTbG93UGF0aFJldHVy
blR5cGUgaGFuZGxlSG9zdENhbGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBJbnN0cnVjdGlvbiog
cGMsIEpTVmFsdWUgY2FsbGVlLCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGtpbmQpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCmluZGV4IDRiZjdkZWIwZmEw
YjZjNjQzOGUzNmY5NjMyMGUyZjY2OTczOWFmNjQuLmM3ZmFiOTY5MWMxOGI5Mzk1NmQwZWEyOWYz
Mzk1NjExOGM1ZTcxZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
TEludFNsb3dQYXRocy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNs
b3dQYXRocy5oCkBAIC05Niw2ICs5Niw3IEBAIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChz
bG93X3BhdGhfc3dpdGNoX2NoYXIpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3df
cGF0aF9zd2l0Y2hfc3RyaW5nKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3Bh
dGhfbmV3X2Z1bmMpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdf
ZnVuY19leHApOworTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdfYXJy
b3dfZnVuY19leHApOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9jYWxs
KTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfY29uc3RydWN0KTsKIExM
SU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfc2l6ZV9mcmFtZV9mb3JfdmFyYXJn
cyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc20KaW5kZXggNTQzZDllOTMzM2M1MTNlOTc2MTdiN2JkYTdmNjk5ODY2ODM4YTFlMC4u
MTgyYmJkOWU0ZWY3ODkyOGRhNTJmYmNlYzg4MmE1ZGYzNmRiNzk0MSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQpAQCAtMTE2
OSw2ICsxMTY5LDEwIEBAIF9sbGludF9vcF9uZXdfZnVuY19leHA6CiAgICAgY2FsbFNsb3dQYXRo
KF9sbGludF9zbG93X3BhdGhfbmV3X2Z1bmNfZXhwKQogICAgIGRpc3BhdGNoKDQpCiAKK19sbGlu
dF9vcF9uZXdfYXJyb3dfZnVuY19leHA6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxT
bG93UGF0aChfbGxpbnRfc2xvd19wYXRoX25ld19hcnJvd19mdW5jX2V4cCkKKyAgICBkaXNwYXRj
aCg1KQogCiBfbGxpbnRfb3BfY2FsbDoKICAgICB0cmFjZUV4ZWN1dGlvbigpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCmluZGV4IGI4ZmU0Yjg0ODVhMDk3Njg4ZjVj
NjMwYmQ4YzNjOTY3NjRmYzQ2NDkuLmYyZmEzYmQ5YzE1ZjRlNDIyZWVjNmE3OWQ2NWYxZDcwODZj
NjJjNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRl
ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCkBAIC0z
MTMsNiArMzEzLDE5IEBAIHB1YmxpYzoKICAgICAgICAgICAgIGluU3RyaWN0Q29udGV4dCwgY29u
c3RydWN0b3JLaW5kKTsKICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgIEV4cHJlc3Npb25Ob2RlKiBjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihjb25zdCBK
U1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88QVNUQnVp
bGRlcj4mIGluZm8pCisgICAgeworICAgICAgICBTb3VyY2VDb2RlIHNvdXJjZSA9IGluZm8uZnVu
Y3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24KKyAgICAgICAgPyBt
X3NvdXJjZUNvZGUtPnN1YkFycm93RXhwcmVzc2lvbihpbmZvLmFycm93RnVuY3Rpb25PZmZzZXQs
IGluZm8uY2xvc2VCcmFjZU9mZnNldCwgaW5mby5ib2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlTdGFy
dENvbHVtbikKKyAgICAgICAgOiBtX3NvdXJjZUNvZGUtPnN1YkV4cHJlc3Npb24oaW5mby5vcGVu
QnJhY2VPZmZzZXQsIGluZm8uY2xvc2VCcmFjZU9mZnNldCwgaW5mby5ib2R5U3RhcnRMaW5lLCBp
bmZvLmJvZHlTdGFydENvbHVtbik7CisKKyAgICAgICAgQXJyb3dGdW5jRXhwck5vZGUqIHJlc3Vs
dCA9IG5ldyAobV9wYXJzZXJBcmVuYSkgQXJyb3dGdW5jRXhwck5vZGUobG9jYXRpb24sICppbmZv
Lm5hbWUsIGluZm8uYm9keSwgc291cmNlLCBpbmZvLnBhcmFtZXRlcnMpOworICAgICAgICBpbmZv
LmJvZHktPnNldExvYyhpbmZvLmJvZHlTdGFydExpbmUsIGluZm8uYm9keUVuZExpbmUsIGxvY2F0
aW9uLnN0YXJ0T2Zmc2V0LCBsb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQpOworICAgICAgICByZXR1
cm4gcmVzdWx0OworICAgIH0KKyNlbmRpZgorCiAgICAgTkVWRVJfSU5MSU5FIFByb3BlcnR5Tm9k
ZSogY3JlYXRlR2V0dGVyT3JTZXR0ZXJQcm9wZXJ0eShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxv
Y2F0aW9uLCBQcm9wZXJ0eU5vZGU6OlR5cGUgdHlwZSwgYm9vbCwKICAgICAgICAgY29uc3QgSWRl
bnRpZmllciogbmFtZSwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPEFTVEJ1aWxkZXI+JiBpbmZv
LCBTdXBlckJpbmRpbmcgc3VwZXJCaW5kaW5nKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9MZXhlci5jcHAKaW5kZXggN2RlMTQyMjBiYmRhNzI3MzhiNTczYTRiOTc4OGNlMGIzMmNj
N2NlMy4uNTQwZjlmZmI3YmI1MTgyOWQ2N2RlZWRlYzVlNmE4ZWQ1MWNjNDQxNCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKQEAgLTE0MzAsNiArMTQzMCwxOCBAQCBib29s
IExleGVyPFQ+OjpuZXh0VG9rZW5Jc0NvbG9uKCkKICAgICByZXR1cm4gY29kZSA8IG1fY29kZUVu
ZCAmJiAqY29kZSA9PSAnOic7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIFQ+Cit2b2lkIExleGVyPFQ+OjpzZXRUb2tlblBvc2l0
aW9uKEpTVG9rZW4qIHRva2VuUmVjb3JkKQoreworICAgIEpTVG9rZW5EYXRhKiB0b2tlbkRhdGEg
PSAmdG9rZW5SZWNvcmQtPm1fZGF0YTsKKyAgICB0b2tlbkRhdGEtPmxpbmUgPSBsaW5lTnVtYmVy
KCk7CisgICAgdG9rZW5EYXRhLT5vZmZzZXQgPSBjdXJyZW50T2Zmc2V0KCk7CisgICAgdG9rZW5E
YXRhLT5saW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0KCk7CisgICAgQVNT
RVJUKHRva2VuRGF0YS0+b2Zmc2V0ID49IHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0KTsKK30K
KyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KIEpTVG9rZW5UeXBlIExleGVyPFQ+Ojps
ZXgoSlNUb2tlbiogdG9rZW5SZWNvcmQsIHVuc2lnbmVkIGxleGVyRmxhZ3MsIGJvb2wgc3RyaWN0
TW9kZSkKIHsKQEAgLTE0OTMsNyArMTUwNSwxMiBAQCBzdGFydDoKICAgICAgICAgfQogICAgICAg
ICB0b2tlbiA9IEdUOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIENoYXJhY3RlckVxdWFsOgor
ICAgIGNhc2UgQ2hhcmFjdGVyRXF1YWw6IHsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgICAgICB1aW50MzJfdCBzYXZlZGxpbmVOdW1iZXIgPSB0b2tlbkRhdGEtPmxp
bmU7CisgICAgICAgIHVpbnQzMl90IHNhdmVkT2Zmc2V0ID0gY3VycmVudE9mZnNldCgpOworICAg
ICAgICB1aW50MzJfdCBzYXZlZExpbmVTdGFydE9mZnNldCA9IGN1cnJlbnRMaW5lU3RhcnRPZmZz
ZXQoKTsKKyNlbmRpZgogICAgICAgICBzaGlmdCgpOwogICAgICAgICBpZiAobV9jdXJyZW50ID09
ICc9JykgewogICAgICAgICAgICAgc2hpZnQoKTsKQEAgLTE1MDUsOCArMTUyMiwyMiBAQCBzdGFy
dDoKICAgICAgICAgICAgIHRva2VuID0gRVFFUTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKG1f
Y3VycmVudCA9PSAnPicpIHsKKyAgICAgICAgICAgIHNoaWZ0KCk7CisgICAgICAgICAgICB0b2tl
biA9IEFSUk9XRlVOQ1RJT047CisKKyAgICAgICAgICAgIHRva2VuRGF0YS0+bGluZSA9IHNhdmVk
bGluZU51bWJlcjsKKyAgICAgICAgICAgIHRva2VuRGF0YS0+b2Zmc2V0ID0gc2F2ZWRPZmZzZXQ7
CisgICAgICAgICAgICB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCA9IHNhdmVkTGluZVN0YXJ0
T2Zmc2V0OworCisgICAgICAgICAgICBBU1NFUlQodG9rZW5EYXRhLT5vZmZzZXQgPj0gdG9rZW5E
YXRhLT5saW5lU3RhcnRPZmZzZXQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyNl
bmRpZgogICAgICAgICB0b2tlbiA9IEVRVUFMOwogICAgICAgICBicmVhazsKKyAgICB9CiAgICAg
Y2FzZSBDaGFyYWN0ZXJMZXNzOgogICAgICAgICBzaGlmdCgpOwogICAgICAgICBpZiAobV9jdXJy
ZW50ID09ICchJyAmJiBwZWVrKDEpID09ICctJyAmJiBwZWVrKDIpID09ICctJykgewpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCmluZGV4IDJkZjUyMTM5OTU3ODIwMDc4NWExNjZlMjJh
NzMyNzVlMGVhNjMwNGQuLmNiM2YyNWY3YzA4ZjgyNTgxYWYyY2U4ZmE5OTk5N2ZhZGUwNzY2ZjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKQEAgLTg1LDYgKzg1LDkgQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0SXNSZXBhcnNpbmcoKSB7IG1faXNSZXBhcnNpbmcgPSB0cnVlOyB9
CiAgICAgYm9vbCBpc1JlcGFyc2luZygpIGNvbnN0IHsgcmV0dXJuIG1faXNSZXBhcnNpbmc7IH0K
IAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdm9pZCBzZXRUb2tl
blBvc2l0aW9uKEpTVG9rZW4qIHRva2VuUmVjb3JkKTsKKyNlbmRpZgogICAgIEpTVG9rZW5UeXBl
IGxleChKU1Rva2VuKiwgdW5zaWduZWQsIGJvb2wgc3RyaWN0TW9kZSk7CiAgICAgYm9vbCBuZXh0
VG9rZW5Jc0NvbG9uKCk7CiAgICAgaW50IGxpbmVOdW1iZXIoKSBjb25zdCB7IHJldHVybiBtX2xp
bmVOdW1iZXI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9k
ZUNvbnN0cnVjdG9ycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3Ry
dWN0b3JzLmgKaW5kZXggM2JkYWI2MWE1MjJlMGNlMmMzMzk3ZjgwZjRmYTE4NGQxZDQyMTYwZS4u
YjU4ZTFmZTFhZjkwZTY2MGIwODQyZWE3ZTk5ZjA3YWU2YWNiYjk1ZSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKQEAgLTc4MSw2ICs3ODEs
MTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIG1fYm9keS0+ZmluaXNoUGFyc2luZyhzb3Vy
Y2UsIHBhcmFtZXRlciwgaWRlbnQsIEZ1bmN0aW9uRXhwcmVzc2lvbik7CiAgICAgfQogCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpbmxpbmUgQXJyb3dGdW5jRXhw
ck5vZGU6OkFycm93RnVuY0V4cHJOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24s
IGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBGdW5jdGlvbkJvZHlOb2RlKiBib2R5LCBjb25zdCBT
b3VyY2VDb2RlJiBzb3VyY2UsIFBhcmFtZXRlck5vZGUqIHBhcmFtZXRlcikKKyAgICAgICAgOiBG
dW5jRXhwck5vZGUobG9jYXRpb24sIGlkZW50LCBib2R5LCBzb3VyY2UsIHBhcmFtZXRlcikKKyAg
ICB7CisgICAgfQorI2VuZGlmCisgICAgCiAgICAgaW5saW5lIEZ1bmNEZWNsTm9kZTo6RnVuY0Rl
Y2xOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IElkZW50aWZpZXIm
IGlkZW50LCBGdW5jdGlvbkJvZHlOb2RlKiBib2R5LCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2Us
IFBhcmFtZXRlck5vZGUqIHBhcmFtZXRlcikKICAgICAgICAgOiBTdGF0ZW1lbnROb2RlKGxvY2F0
aW9uKQogICAgICAgICAsIG1fYm9keShib2R5KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9Ob2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rl
cy5oCmluZGV4IDZiMzczMjljMDliZmM0MmJlY2NjM2NhYTk4MzU5N2MzNTQwMmI2YzkuLjViNzc0
MWUxY2NjOGQ1MTVmZjE0YzE1MzE3MmQ3YmRhMDUzZjU4NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL05vZGVzLmgKQEAgLTE1OCw2ICsxNTgsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAg
ICAgdmlydHVhbCBib29sIGlzRG90QWNjZXNzb3JOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzRGVjb25zdHJ1Y3Rpb25Ob2RlKCkgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzRnVuY0V4cHJOb2RlKCkgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNBcnJvd0Z1bmNFeHByTm9kZSgpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9CisjZW5kaWYKICAgICAgICAgdmlydHVhbCBib29sIGlzQ29tbWFOb2RlKCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzU2ltcGxlQXJy
YXkoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNBZGQo
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpAQCAtMTY1Miw2ICsxNjU1LDE5IEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgICAgICBGdW5jdGlvbkJvZHlOb2RlKiBtX2JvZHk7CiAgICAgfTsKIAorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2xhc3MgQXJyb3dGdW5jRXhw
ck5vZGUgOiBwdWJsaWMgRnVuY0V4cHJOb2RlIHsKKyAgICBwdWJsaWM6CisgICAgICAgIEFycm93
RnVuY0V4cHJOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IElkZW50aWZpZXImLCBG
dW5jdGlvbkJvZHlOb2RlKiwgY29uc3QgU291cmNlQ29kZSYsIFBhcmFtZXRlck5vZGUqID0gMCk7
CisgICAgcHJpdmF0ZToKKyAgICAgICAgdmlydHVhbCBSZWdpc3RlcklEKiBlbWl0Qnl0ZWNvZGUo
Qnl0ZWNvZGVHZW5lcmF0b3ImLCBSZWdpc3RlcklEKiA9IDApIG92ZXJyaWRlOworICAgICAgICAK
KyAgICAgICAgdmlydHVhbCBib29sIGlzRnVuY0V4cHJOb2RlKCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gZmFsc2U7IH0KKyAgICAgICAgCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Fycm93RnVu
Y0V4cHJOb2RlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQorICAgIH07CisjZW5k
aWYKKwogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogICAgIGNsYXNzIENsYXNzRXhwck5v
ZGUgZmluYWwgOiBwdWJsaWMgRXhwcmVzc2lvbk5vZGUgewogICAgIHB1YmxpYzoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAppbmRleCA2NDc4MjBhZDgzZGY0NDNkMzBkMDRj
ZmFlMjI1NGZhZWM5NzA3YWI1Li45NWIzNjUyZjE4NjczNmNjOWRkOTdkNmQ0YmNmMDYwMmQ3YWU0
OWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCkBAIC0yNjQsNyAr
MjY0LDcgQEAgU3RyaW5nIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlubmVyKCkKICAgICBpZiAo
bV9sZXhlci0+aXNSZXBhcnNpbmcoKSkKICAgICAgICAgbV9zdGF0ZW1lbnREZXB0aC0tOwogICAg
IFNjb3BlUmVmIHNjb3BlID0gY3VycmVudFNjb3BlKCk7Ci0gICAgU291cmNlRWxlbWVudHMqIHNv
dXJjZUVsZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBDaGVja0ZvclN0cmlj
dE1vZGUpOworICAgIFNvdXJjZUVsZW1lbnRzKiBzb3VyY2VFbGVtZW50cyA9IHBhcnNlU291cmNl
RWxlbWVudHMoY29udGV4dCwgQ2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFy
c2VUeXBlKTsKICAgICBpZiAoIXNvdXJjZUVsZW1lbnRzIHx8ICFjb25zdW1lKEVPRlRPSykpIHsK
ICAgICAgICAgaWYgKGhhc0Vycm9yKCkpCiAgICAgICAgICAgICBwYXJzZUVycm9yID0gbV9lcnJv
ck1lc3NhZ2U7CkBAIC0zMzAsNyArMzMwLDcgQEAgYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6YWxs
b3dBdXRvbWF0aWNTZW1pY29sb24oKQogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBl
PgotdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNv
dXJjZUVsZW1lbnRzTW9kZSBtb2RlKQordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
U291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMoVHJl
ZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZUVsZW1lbnRzTW9kZSBtb2RlLCBGdW5jdGlvblBhcnNl
VHlwZSBmdW5jdGlvblBhcnNlVHlwZSkKIHsKICAgICBjb25zdCB1bnNpZ25lZCBsZW5ndGhPZlVz
ZVN0cmljdExpdGVyYWwgPSAxMjsgLy8gInVzZSBzdHJpY3QiLmxlbmd0aAogICAgIFRyZWVTb3Vy
Y2VFbGVtZW50cyBzb3VyY2VFbGVtZW50cyA9IGNvbnRleHQuY3JlYXRlU291cmNlRWxlbWVudHMo
KTsKQEAgLTMzOSw3ICszMzksNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
b3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3VyY2VFbAogICAgIHVuc2ln
bmVkIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwOwogICAgIGF1dG8gc2F2ZVBvaW50ID0gY3Jl
YXRlU2F2ZVBvaW50KCk7CiAgICAgYm9vbCBoYXNTZXRTdHJpY3QgPSBmYWxzZTsKLSAgICB3aGls
ZSAoVHJlZVN0YXRlbWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVudChjb250ZXh0LCBkaXJl
Y3RpdmUsICZkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoKSkgeworICAgIHdoaWxlIChUcmVlU3RhdGVt
ZW50IHN0YXRlbWVudCA9IHBhcnNlU3RhdGVtZW50KGNvbnRleHQsIGRpcmVjdGl2ZSwgJmRpcmVj
dGl2ZUxpdGVyYWxMZW5ndGgsIGZ1bmN0aW9uUGFyc2VUeXBlKSkgewogICAgICAgICBpZiAobW9k
ZSA9PSBDaGVja0ZvclN0cmljdE1vZGUgJiYgIXNlZW5Ob25EaXJlY3RpdmUpIHsKICAgICAgICAg
ICAgIGlmIChkaXJlY3RpdmUpIHsKICAgICAgICAgICAgICAgICAvLyAidXNlIHN0cmljdCIgbXVz
dCBiZSB0aGUgZXhhY3QgbGl0ZXJhbCB3aXRob3V0IGVzY2FwZSBzZXF1ZW5jZXMgb3IgbGluZSBj
b250aW51YXRpb24uCkBAIC01NzEsNiArNTcxLDMxIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6Y3JlYXRl
CiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlQmluZGluZ0xvY2F0aW9uKHRva2VuLm1fbG9jYXRp
b24sIG5hbWUsIHRva2VuLm1fc3RhcnRQb3NpdGlvbiwgdG9rZW4ubV9lbmRQb3NpdGlvbik7CiB9
CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVu
YW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVu
dCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVCdWls
ZGVyJiBjb250ZXh0KQoreworICAgIEFTU0VSVChtYXRjaChBUlJPV0ZVTkNUSU9OKSk7CisKKyAg
ICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICBKU1RleHRQ
b3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgIEpTVGV4dFBvc2l0aW9u
IGVuZCA9IHRva2VuRW5kUG9zaXRpb24oKTsKKworICAgIG5leHQoKTsKKyAgICBUcmVlRXhwcmVz
c2lvbiBleHByID0gcGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICBm
YWlsSWZGYWxzZShleHByLCAiQ2Fubm90IHBhcnNlIHRoZSBhcnJvdyBmdW5jdGlvbiBleHByZXNz
aW9uIik7CisgICAgZW5kID0gbGFzdFRva2VuRW5kUG9zaXRpb24oKTsKKworICAgIGJvb2wgY29y
cmVjdEFycm93RmluaXNoID0gaXNFbmRPZkFycm93RnVuY3Rpb24oKSB8fCBtYXRjaChFT0ZUT0sp
OworICAgIGZhaWxJZkZhbHNlKGNvcnJlY3RBcnJvd0ZpbmlzaCwgIkV4cGVjdGVkIGEgJzsnLCAn
XScsICd9JywgJyknLCBvciAnLCcgZm9sbG93aW5nIGEgYXJyb3cgZnVuY3Rpb24gc3RhdGVtZW50
Iik7CisKKyAgICBlbmQgPSB0b2tlbkVuZFBvc2l0aW9uKCk7CisgICAgc2V0RW5kT2ZTdGF0ZW1l
bnQoKTsKKworICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJldHVyblN0YXRlbWVudChsb2NhdGlv
biwgZXhwciwgc3RhcnQsIGVuZCk7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIExl
eGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlY29uc3RydWN0aW9u
UGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6dHJ5UGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm5F
eHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewpAQCAtMTAxOCw3ICsxMDQzLDcgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhdXNlTGlzdCBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VTd2l0Y2hDbGF1c2UKICAgICBUcmVlRXhwcmVzc2lvbiBjb25kaXRpb24gPSBw
YXJzZUV4cHJlc3Npb24oY29udGV4dCk7CiAgICAgZmFpbElmRmFsc2UoY29uZGl0aW9uLCAiQ2Fu
bm90IHBhcnNlIHN3aXRjaCBjbGF1c2UiKTsKICAgICBjb25zdW1lT3JGYWlsKENPTE9OLCAiRXhw
ZWN0ZWQgYSAnOicgYWZ0ZXIgc3dpdGNoIGNsYXVzZSBleHByZXNzaW9uIik7Ci0gICAgVHJlZVNv
dXJjZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERv
bnRDaGVja0ZvclN0cmljdE1vZGUpOworICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRz
ID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlLCBT
dGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICBmYWlsSWZGYWxzZShzdGF0ZW1lbnRzLCAi
Q2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIGEgc3dpdGNoIGNsYXVzZSIpOwogICAgIFRyZWVDbGF1
c2UgY2xhdXNlID0gY29udGV4dC5jcmVhdGVDbGF1c2UoY29uZGl0aW9uLCBzdGF0ZW1lbnRzKTsK
ICAgICBjb250ZXh0LnNldFN0YXJ0T2Zmc2V0KGNsYXVzZSwgc3RhcnRPZmZzZXQpOwpAQCAtMTAz
MSw3ICsxMDU2LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhdXNlTGlz
dCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTd2l0Y2hDbGF1c2UKICAgICAgICAgVHJlZUV4cHJl
c3Npb24gY29uZGl0aW9uID0gcGFyc2VFeHByZXNzaW9uKGNvbnRleHQpOwogICAgICAgICBmYWls
SWZGYWxzZShjb25kaXRpb24sICJDYW5ub3QgcGFyc2Ugc3dpdGNoIGNhc2UgZXhwcmVzc2lvbiIp
OwogICAgICAgICBjb25zdW1lT3JGYWlsKENPTE9OLCAiRXhwZWN0ZWQgYSAnOicgYWZ0ZXIgc3dp
dGNoIGNsYXVzZSBleHByZXNzaW9uIik7Ci0gICAgICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0
ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RN
b2RlKTsKKyAgICAgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJj
ZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUsIFN0YW5kYXJkRnVuY3Rp
b25QYXJzZVR5cGUpOwogICAgICAgICBmYWlsSWZGYWxzZShzdGF0ZW1lbnRzLCAiQ2Fubm90IHBh
cnNlIHRoZSBib2R5IG9mIGEgc3dpdGNoIGNsYXVzZSIpOwogICAgICAgICBjbGF1c2UgPSBjb250
ZXh0LmNyZWF0ZUNsYXVzZShjb25kaXRpb24sIHN0YXRlbWVudHMpOwogICAgICAgICBjb250ZXh0
LnNldFN0YXJ0T2Zmc2V0KGNsYXVzZSwgc3RhcnRPZmZzZXQpOwpAQCAtMTA0OCw3ICsxMDczLDcg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhdXNlIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZVN3aXRjaERlZmF1bHRDbGEKICAgICB1bnNpZ25lZCBzdGFydE9mZnNldCA9IHRv
a2VuU3RhcnQoKTsKICAgICBuZXh0KCk7CiAgICAgY29uc3VtZU9yRmFpbChDT0xPTiwgIkV4cGVj
dGVkIGEgJzonIGFmdGVyIHN3aXRjaCBkZWZhdWx0IGNsYXVzZSIpOwotICAgIFRyZWVTb3VyY2VF
bGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hl
Y2tGb3JTdHJpY3RNb2RlKTsKKyAgICBUcmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBh
cnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRh
cmRGdW5jdGlvblBhcnNlVHlwZSk7CiAgICAgZmFpbElmRmFsc2Uoc3RhdGVtZW50cywgIkNhbm5v
dCBwYXJzZSB0aGUgYm9keSBvZiBhIHN3aXRjaCBkZWZhdWx0IGNsYXVzZSIpOwogICAgIFRyZWVD
bGF1c2UgcmVzdWx0ID0gY29udGV4dC5jcmVhdGVDbGF1c2UoMCwgc3RhdGVtZW50cyk7CiAgICAg
Y29udGV4dC5zZXRTdGFydE9mZnNldChyZXN1bHQsIHN0YXJ0T2Zmc2V0KTsKQEAgLTExMzMsNyAr
MTE1OCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VCbG9ja1N0YXRlbWVuCiAgICAgICAgIGNvbnRleHQuc2V0RW5k
T2Zmc2V0KHJlc3VsdCwgZW5kT2Zmc2V0KTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9
Ci0gICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN1YnRyZWUgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNv
bnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUpOworICAgIFRyZWVTb3VyY2VFbGVtZW50cyBz
dWJ0cmVlID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RN
b2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICBmYWlsSWZGYWxzZShzdWJ0cmVl
LCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIHRoZSBibG9jayBzdGF0ZW1lbnQiKTsKICAgICBt
YXRjaE9yRmFpbChDTE9TRUJSQUNFLCAiRXhwZWN0ZWQgYSBjbG9zaW5nICd9JyBhdCB0aGUgZW5k
IG9mIGEgYmxvY2sgc3RhdGVtZW50Iik7CiAgICAgaW50IGVuZE9mZnNldCA9IG1fdG9rZW4ubV9k
YXRhLm9mZnNldDsKQEAgLTExNDUsNyArMTE3MCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VCbG9ja1N0YXRlbWVu
CiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Ci10ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50
KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNp
Z25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCkKK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1
aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBk
aXJlY3RpdmVMaXRlcmFsTGVuZ3RoLCBGdW5jdGlvblBhcnNlVHlwZSBwYXJzZVR5cGUpCiB7CiAg
ICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKICAgICBt
X3N0YXRlbWVudERlcHRoKys7CkBAIC0xMTU0LDYgKzExNzksMjMgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRl
bWVudChUcmUKICAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7CiAgICAgVHJlZVN0YXRlbWVudCBy
ZXN1bHQgPSAwOwogICAgIGJvb2wgc2hvdWxkU2V0RW5kT2Zmc2V0ID0gdHJ1ZTsKKworI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJv
d0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsK
KyAgICAgICAgY2FzZSBDTE9TRVBBUkVOOgorICAgICAgICBjYXNlIENMT1NFQlJBQ0tFVDoKKyAg
ICAgICAgY2FzZSBDT01NQToKKyAgICAgICAgY2FzZSBTRU1JQ09MT046IHsKKyAgICAgICAgICAg
IHJlc3VsdCA9IDA7CisgICAgICAgICAgICBjb250ZXh0LnNldEVuZE9mZnNldChyZXN1bHQsIG1f
bGFzdFRva2VuRW5kUG9zaXRpb24ub2Zmc2V0KTsKKyAgICAgICAgICAgIHJldHVybiByZXN1bHQ7
CisgICAgICAgIH0KKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICB9CisgICAgfQorI2VuZGlmCiAgICAgc3dpdGNoIChtX3Rva2VuLm1fdHlwZSkgewogICAgIGNh
c2UgT1BFTkJSQUNFOgogICAgICAgICByZXN1bHQgPSBwYXJzZUJsb2NrU3RhdGVtZW50KGNvbnRl
eHQpOwpAQCAtMTE5OSw2ICsxMjQxLDE1IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAg
Y2FzZSBCUkVBSzoKICAgICAgICAgcmVzdWx0ID0gcGFyc2VCcmVha1N0YXRlbWVudChjb250ZXh0
KTsKICAgICAgICAgYnJlYWs7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICBjYXNlIEFSUk9XRlVOQ1RJT046CisgICAgICAgIHJlc3VsdCA9IHBhcnNlQXJyb3dGdW5j
dGlvblN0YXRlbWVudChjb250ZXh0KTsKKyAgICAgICAgLy8gQ29uc3VtZSB0aGUgZW5kIG9mIGFy
cm93IGZ1bmN0aW9uICw7XSkgYW5kIHByZXZlbnQKKyAgICAgICAgLy8gcGFyc2UgdGhpcyBzeW1i
b2xzIGJ5IHBhcnNlU3RhdGVtZW50IGFzIHNlcGFyYXRlIHN0YXRlbWVudAorICAgICAgICBpZiAo
cGFyc2VUeXBlID09IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpCisgICAgICAgICAgICBuZXh0
KCk7CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgY2FzZSBSRVRVUk46CiAgICAgICAgIHJl
c3VsdCA9IHBhcnNlUmV0dXJuU3RhdGVtZW50KGNvbnRleHQpOwogICAgICAgICBicmVhazsKQEAg
LTEyNjMsMjAgKzEzMTQsMzQgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRm9y
bWFsUGFyYW1ldGVyTGlzdCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGb3IKIHRlbXBsYXRlIDx0
eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGdW5j
dGlvbkJvZHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25Cb2R5KAogICAgIFRyZWVC
dWlsZGVyJiBjb250ZXh0LCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5h
bWVTdGFydCwgCi0gICAgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kIGNvbnN0
cnVjdG9yS2luZCkKKyAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQgY29u
c3RydWN0b3JLaW5kLCBGdW5jdGlvblBhcnNlVHlwZSBwYXJzZVR5cGUpCiB7CiAgICAgSlNUb2tl
bkxvY2F0aW9uIHN0YXJ0TG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKICAgICB1bnNpZ25lZCBz
dGFydENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBlID09IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUp
IHsKKyAgICAgICAgbmV4dCgpOworICAgICAgICBpZiAobWF0Y2goQ0xPU0VCUkFDRSkpIHsKKyAg
ICAgICAgICAgIHVuc2lnbmVkIGVuZENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CisgICAgICAgICAg
ICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgdG9rZW5M
b2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBmdW5jdGlvbktleXdvcmRTdGFydCwg
ZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgc3RyaWN0TW9kZSgpLCBjb25zdHJ1
Y3RvcktpbmQpOworICAgICAgICB9CisgICAgfQorI2Vsc2UKICAgICBuZXh0KCk7Ci0KICAgICBp
ZiAobWF0Y2goQ0xPU0VCUkFDRSkpIHsKICAgICAgICAgdW5zaWduZWQgZW5kQ29sdW1uID0gdG9r
ZW5Db2x1bW4oKTsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0
YXJ0TG9jYXRpb24sIHRva2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgZnVu
Y3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0
cmljdE1vZGUoKSwgY29uc3RydWN0b3JLaW5kKTsKICAgICB9CisjZW5kaWYKKwogICAgIERlcHRo
TWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7CiAgICAgbV9zdGF0ZW1l
bnREZXB0aCA9IDA7CiAgICAgdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkZ1bmN0aW9uQm9keUJ1aWxk
ZXIgYm9keUJ1aWxkZXIoY29uc3RfY2FzdDxWTSo+KG1fdm0pLCBtX2xleGVyLmdldCgpKTsKLSAg
ICBmYWlsSWZGYWxzZShwYXJzZVNvdXJjZUVsZW1lbnRzKGJvZHlCdWlsZGVyLCBDaGVja0ZvclN0
cmljdE1vZGUpLCAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBmdW5jdGlvbiIpOworI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgZmFpbElmRmFsc2UocGFyc2VTb3Vy
Y2VFbGVtZW50cyhib2R5QnVpbGRlciwgQ2hlY2tGb3JTdHJpY3RNb2RlLCBwYXJzZVR5cGUpLCBw
YXJzZVR5cGUgPT0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSA/ICJDYW5ub3QgcGFyc2UgYm9k
eSBvZiB0aGlzIGZ1bmN0aW9uIiA6ICJDYW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGFycm93IGZ1
bmN0aW9uIik7CisjZWxzZQorICAgIGZhaWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMoYm9k
eUJ1aWxkZXIsIENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSks
ICJDYW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGZ1bmN0aW9uIik7CisjZW5kaWYKICAgICB1bnNp
Z25lZCBlbmRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOwogICAgIHJldHVybiBjb250ZXh0LmNyZWF0
ZUZ1bmN0aW9uQm9keShzdGFydExvY2F0aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0YXJ0Q29sdW1u
LCBlbmRDb2x1bW4sIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFy
YW1ldGVyc1N0YXJ0LCBzdHJpY3RNb2RlKCksIGNvbnN0cnVjdG9yS2luZCk7CiB9CkBAIC0xMzM3
LDI4ICsxNDAyLDc2IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+IHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gaW50IFBhcnNlcjxMZXhlclR5cGU+CiAgICAgCiAgICAgcmV0dXJu
IHBhcmFtZXRlcnNTdGFydDsKIH0KKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IGludCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uUGFyYW10ZXJz
KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLCBQYXJzZXJGdW5j
dGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvKQoreworICAgIGludCBwYXJhbWV0ZXJzU3RhcnQg
PSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CisgICAgaWYgKCFtYXRjaChJREVOVCkg
JiYgIW1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgc2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3
b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7CisgICAgICAgIGZhaWxX
aXRoTWVzc2FnZSgiRXhwZWN0ZWQgYW4gYXJyb3cgZnVuY3Rpb24gaW5wdXQgcGFyYW1ldGVyIik7
CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAg
ICAgIGNvbnN1bWUoT1BFTlBBUkVOKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYgKCFt
YXRjaChDTE9TRVBBUkVOKSkgeworICAgICAgICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9IHBh
cnNlRm9ybWFsUGFyYW1ldGVycyhjb250ZXh0KTsKKyAgICAgICAgICAgICAgICBmYWlsSWZGYWxz
ZShpbmZvLnBhcmFtZXRlcnMsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAiLCBz
dHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
CisgICAgICAgICAgICBjb25zdW1lT3JGYWlsKENMT1NFUEFSRU4sICJFeHBlY3RlZCBhICcpJyBv
ciBhICcsJyBhZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgYXV0byBwYXJhbWV0ZXIgPSBwYXJzZURlY29uc3RydWN0aW9uUGF0dGVy
bihjb250ZXh0LCBEZWNvbnN0cnVjdFRvUGFyYW1ldGVycyk7CisgICAgICAgICAgICBmYWlsSWZG
YWxzZShwYXJhbWV0ZXIsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVyIHBhdHRlcm4iKTsKKyAgICAg
ICAgICAgIGluZm8ucGFyYW1ldGVycyA9IGNvbnRleHQuY3JlYXRlRm9ybWFsUGFyYW1ldGVyTGlz
dChwYXJhbWV0ZXIpOworICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJzLCAi
Q2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2Rl
KG1vZGUpKTsKKyAgICAgICAgfQorICAgIH0KICAgICAKKyAgICByZXR1cm4gcGFyYW1ldGVyc1N0
YXJ0OworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rp
b25JbmZvKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblJlcXVpcmVtZW50cyByZXF1aXJl
bWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUsCi0gICAgYm9vbCBuYW1lSXNJbkNvbnRhaW5p
bmdTY29wZSwgQ29uc3RydWN0b3JLaW5kIG93bmVyQ2xhc3NLaW5kLCBpbnQgZnVuY3Rpb25LZXl3
b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mIGluZm8pCisgICAgYm9v
bCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kIG93bmVyQ2xhc3NLaW5k
LCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRl
cj4mIGluZm8sIEZ1bmN0aW9uUGFyc2VUeXBlIHBhcnNlVHlwZSkKIHsKICAgICBBdXRvUG9wU2Nv
cGVSZWYgZnVuY3Rpb25TY29wZSh0aGlzLCBwdXNoU2NvcGUoKSk7CiAgICAgZnVuY3Rpb25TY29w
ZS0+c2V0SXNGdW5jdGlvbigpOwogICAgIGludCBmdW5jdGlvbk5hbWVTdGFydCA9IG1fdG9rZW4u
bV9sb2NhdGlvbi5zdGFydE9mZnNldDsKICAgICBjb25zdCBJZGVudGlmaWVyKiBsYXN0RnVuY3Rp
b25OYW1lID0gbV9sYXN0RnVuY3Rpb25OYW1lOwogICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IG51
bGxwdHI7CisgICAgaW50IHBhcmFtZXRlcnNTdGFydDsKKyAgICBib29sIGlzQ2xhc3NDb25zdHJ1
Y3RvcjsKICAgICAKLSAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0ID0gcGFyc2VGdW5jdGlvblBhcmFt
dGVycyhjb250ZXh0LCByZXF1aXJlbWVudHMsIG1vZGUsIG5hbWVJc0luQ29udGFpbmluZ1Njb3Bl
LCBmdW5jdGlvblNjb3BlLCBpbmZvKTsKLQotICAgIG1hdGNoT3JGYWlsKE9QRU5CUkFDRSwgIkV4
cGVjdGVkIGFuIG9wZW5pbmcgJ3snIGF0IHRoZSBzdGFydCBvZiBhICIsIHN0cmluZ0ZvckZ1bmN0
aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7Ci0KLSAgICAvLyBCeXRlY29kZUdlbmVyYXRvciBlbWl0
cyBjb2RlIHRvIHRocm93IFR5cGVFcnJvciB3aGVuIGEgY2xhc3MgY29uc3RydWN0b3IgaXMgImNh
bGwiZWQuCi0gICAgLy8gU2V0IENvbnN0cnVjdG9yS2luZCB0byBOb25lIGZvciBub24tY29uc3Ry
dWN0b3IgbWV0aG9kcyBvZiBjbGFzc2VzLgotICAgIGJvb2wgaXNDbGFzc0NvbnN0cnVjdG9yID0g
bW9kZSA9PSBNZXRob2RNb2RlICYmIGluZm8ubmFtZSAmJiAqaW5mby5uYW1lID09IG1fdm0tPnBy
b3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yOwotICAgIGlmIChtX2RlZmF1bHRDb25zdHJ1Y3Rvcktp
bmQgIT0gQ29uc3RydWN0b3JLaW5kOjpOb25lKSB7Ci0gICAgICAgIG93bmVyQ2xhc3NLaW5kID0g
bV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kOwotICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSB0
cnVlOworICAgIHN3aXRjaCAocGFyc2VUeXBlKSB7CisgICAgY2FzZSBTdGFuZGFyZEZ1bmN0aW9u
UGFyc2VUeXBlOiB7CisgICAgICAgIHBhcmFtZXRlcnNTdGFydCA9IHBhcnNlRnVuY3Rpb25QYXJh
bXRlcnMoY29udGV4dCwgcmVxdWlyZW1lbnRzLCBtb2RlLCBuYW1lSXNJbkNvbnRhaW5pbmdTY29w
ZSwgZnVuY3Rpb25TY29wZSwgaW5mbyk7CisgICAgICAgICAgICAKKyAgICAgICAgbWF0Y2hPckZh
aWwoT1BFTkJSQUNFLCAiRXhwZWN0ZWQgYW4gb3BlbmluZyAneycgYXQgdGhlIHN0YXJ0IG9mIGEg
Iiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgCisgICAg
ICAgIC8vIEJ5dGVjb2RlR2VuZXJhdG9yIGVtaXRzIGNvZGUgdG8gdGhyb3cgVHlwZUVycm9yIHdo
ZW4gYSBjbGFzcyBjb25zdHJ1Y3RvciBpcyAiY2FsbCJlZC4KKyAgICAgICAgLy8gU2V0IENvbnN0
cnVjdG9yS2luZCB0byBOb25lIGZvciBub24tY29uc3RydWN0b3IgbWV0aG9kcyBvZiBjbGFzc2Vz
LgorICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSBtb2RlID09IE1ldGhvZE1vZGUgJiYgaW5m
by5uYW1lICYmICppbmZvLm5hbWUgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3I7
CisgICAgICAgIGlmIChtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQgIT0gQ29uc3RydWN0b3JLaW5k
OjpOb25lKSB7CisgICAgICAgICAgICBvd25lckNsYXNzS2luZCA9IG1fZGVmYXVsdENvbnN0cnVj
dG9yS2luZDsKKyAgICAgICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IHRydWU7CisgICAgICAg
IH0KKyAgICAgICAgYnJlYWs7CiAgICAgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgY2FzZSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlOiB7CisgICAgICAgIHBhcmFt
ZXRlcnNTdGFydCA9IHBhcnNlQXJyb3dGdW5jdGlvblBhcmFtdGVycyhjb250ZXh0LCBtb2RlLCBp
bmZvKTsKKyAgICAgICAgCisgICAgICAgIG1hdGNoT3JGYWlsKEFSUk9XRlVOQ1RJT04sICJFeHBl
Y3RlZCBhICc9PicgYWZ0ZXIgYXJyb3cgZnVuY3Rpb24gcGFyYW1ldGVyIGRlY2xhcmF0aW9uIik7
CisgICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IGZhbHNlOworICAgICAgICAKKyAgICAgICAg
aW5mby5hcnJvd0Z1bmN0aW9uT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgICAg
ICBicmVhazsKKyAgICB9CisjZW5kaWYKKyAgICB9CisKICAgICBDb25zdHJ1Y3RvcktpbmQgY29u
c3RydWN0b3JLaW5kID0gaXNDbGFzc0NvbnN0cnVjdG9yID8gb3duZXJDbGFzc0tpbmQgOiBDb25z
dHJ1Y3RvcktpbmQ6Ok5vbmU7CiAKICAgICBpbmZvLm9wZW5CcmFjZU9mZnNldCA9IG1fdG9rZW4u
bV9kYXRhLm9mZnNldDsKQEAgLTEzOTIsOCArMTUwNSwxNSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVC
dWlsZAogICAgICAgICBmYWlsSWZGYWxzZShwb3BTY29wZShmdW5jdGlvblNjb3BlLCBUcmVlQnVp
bGRlcjo6TmVlZHNGcmVlVmFyaWFibGVJbmZvKSwgIlBhcnNlciBlcnJvciIpOwogICAgICAgICAK
ICAgICAgICAgaW5mby5jbG9zZUJyYWNlT2Zmc2V0ID0gY2FjaGVkSW5mby0+Y2xvc2VCcmFjZU9m
ZnNldDsKLQotICAgICAgICBtX3Rva2VuID0gY2FjaGVkSW5mby0+Y2xvc2VCcmFjZVRva2VuKCk7
CisgICAgICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAg
IGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkKKyAgICAgICAgICAgIGlu
Zm8uZnVuY3Rpb25Cb2R5VHlwZSA9IGNhY2hlZEluZm8tPmlzQm9keUFycm93RXhwcmVzc2lvbiA/
ICBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24gOiBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgICBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPSBTdGFuZGFy
ZEZ1bmN0aW9uQm9keUJsb2NrOworI2VuZGlmCisgICAgICAgIG1fdG9rZW4gPSBjYWNoZWRJbmZv
LT5lbmRGdW5jdGlvblRva2VuKCk7CisgICAgICAgIAogICAgICAgICBpZiAoZW5kQ29sdW1uSXNP
blN0YXJ0TGluZSkKICAgICAgICAgICAgIG1fdG9rZW4ubV9sb2NhdGlvbi5saW5lU3RhcnRPZmZz
ZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0OwogCkBAIC0xNDAyLDEzICsxNTIyLDQzIEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VG
dW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAKICAgICAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQoaW5m
by5ib2R5LCBtX2xleGVyLT5jdXJyZW50T2Zmc2V0KCkpOwogICAgICAgICAKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAocGFyc2VUeXBlICE9IEFycm93
RnVuY3Rpb25QYXJzZVR5cGUgfHwgaW5mby5mdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rp
b25Cb2R5QmxvY2spCisgICAgICAgICAgICBuZXh0KCk7CisjZWxzZQogICAgICAgICBuZXh0KCk7
CisjZW5kaWYKICAgICAgICAgaW5mby5ib2R5RW5kTGluZSA9IG1fbGFzdFRva2VuRW5kUG9zaXRp
b24ubGluZTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQorICAgIAogICAgIG1fbGFzdEZ1
bmN0aW9uTmFtZSA9IGxhc3RGdW5jdGlvbk5hbWU7CiAgICAgUGFyc2VyU3RhdGUgb2xkU3RhdGUg
PSBzYXZlU3RhdGUoKTsKLSAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0
LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFy
dCwgY29uc3RydWN0b3JLaW5kKTsKKyAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgewor
ICAgICAgICBTYXZlUG9pbnQgc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgICAg
IG5leHQoKTsKKyAgICAgICAgLy8gQ2hlY2sgaWYgYXJyb3cgYm9keSBzdGFydCB3aXRoIHsuIElm
IGl0IHRydWUgaXQgbWVhbiB0aGF0IGFycm93IGZ1bmN0aW9uIGlzIEZhdCBhcnJvdyBmdW5jdGlv
bgorICAgICAgICAvLyBhbmQgd2UgbmVlZCB1c2UgY29tbW9uIGFwcHJvYWNoIHRvIHBhcnNlIGZ1
bmN0aW9uIGJvZHkKKyAgICAgICAgaW5mby5mdW5jdGlvbkJvZHlUeXBlID0gbWF0Y2goT1BFTkJS
QUNFKSA/IEFycm93RnVuY3Rpb25Cb2R5QmxvY2sgOiBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Np
b247CisgICAgCisgICAgICAgIGlmIChpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5j
dGlvbkJvZHlCbG9jaykgeworICAgICAgICAgICAgaW5mby5vcGVuQnJhY2VPZmZzZXQgPSBtX3Rv
a2VuLm1fZGF0YS5vZmZzZXQ7CisgICAgICAgICAgICBpbmZvLmJvZHlTdGFydExpbmUgPSB0b2tl
bkxpbmUoKTsKKyAgICAgICAgICAgIGluZm8uYm9keVN0YXJ0Q29sdW1uID0gbV90b2tlbi5tX2Rh
dGEub2Zmc2V0IC0gbV90b2tlbi5tX2RhdGEubGluZVN0YXJ0T2Zmc2V0OworICAgICAgICAKKyAg
ICAgICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9u
S2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1
Y3RvcktpbmQsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOworICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlUG9pbnQpOworICAgICAgICAgICAgaW5m
by5ib2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQs
IGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCwgQXJy
b3dGdW5jdGlvblBhcnNlVHlwZSk7CisgICAgICAgIH0KKyAgICB9IGVsc2UKKyAgICAgICAgaW5m
by5ib2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQs
IGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCwgU3Rh
bmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CisjZWxzZQorICAgIGluZm8uYm9keSA9IHBhcnNlRnVu
Y3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFy
dCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQsIFN0YW5kYXJkRnVuY3Rpb25QYXJz
ZVR5cGUpOworI2VuZGlmCisgICAgCiAgICAgcmVzdG9yZVN0YXRlKG9sZFN0YXRlKTsKICAgICBm
YWlsSWZGYWxzZShpbmZvLmJvZHksICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgdGhpcyAiLCBz
dHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOwogICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KGlu
Zm8uYm9keSwgbV9sZXhlci0+Y3VycmVudE9mZnNldCgpKTsKQEAgLTE0MzksMTggKzE1ODksMzIg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJyYWNl
TGluZSA9IGNsb3NlQnJhY2VMaW5lOwogICAgICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VPZmZz
ZXQgPSBpbmZvLmNsb3NlQnJhY2VPZmZzZXQ7CiAgICAgICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFj
ZUxpbmVTdGFydE9mZnNldCA9IGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQ7CisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJv
d0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgICAgICBwYXJhbWV0ZXJzLmlzQm9keUFycm93
RXhwcmVzc2lvbiA9IGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUV4
cHJlc3Npb247CisgICAgICAgICAgICBwYXJhbWV0ZXJzLnRva2VuVHlwZSA9IG1fdG9rZW4ubV90
eXBlOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgZnVuY3Rpb25TY29wZS0+ZmlsbFBhcmFt
ZXRlcnNGb3JTb3VyY2VQcm92aWRlckNhY2hlKHBhcmFtZXRlcnMpOwogICAgICAgICBuZXdJbmZv
ID0gU291cmNlUHJvdmlkZXJDYWNoZUl0ZW06OmNyZWF0ZShwYXJhbWV0ZXJzKTsKLQogICAgIH0K
ICAgICAKICAgICBmYWlsSWZGYWxzZShwb3BTY29wZShmdW5jdGlvblNjb3BlLCBUcmVlQnVpbGRl
cjo6TmVlZHNGcmVlVmFyaWFibGVJbmZvKSwgIlBhcnNlciBlcnJvciIpOworICAgIAorI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaWYgKChwYXJzZVR5cGUgPT0gQXJy
b3dGdW5jdGlvblBhcnNlVHlwZSAmJiBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5j
dGlvbkJvZHlCbG9jaykgfHwgcGFyc2VUeXBlICE9IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsK
KyAgICAgICAgbWF0Y2hPckZhaWwoQ0xPU0VCUkFDRSwgIkV4cGVjdGVkIGEgY2xvc2luZyAnfScg
YWZ0ZXIgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOworICAgICAg
ICBuZXh0KCk7CisgICAgfSBlbHNlCisgICAgICAgIGZhaWxJZkZhbHNlKGlzRW5kT2ZBcnJvd0Z1
bmN0aW9uKCksICJFeHBlY3RlZCB0aGUgY2xvc2luZyAnOycgJywnICddJyAnKScgJ30nIGFmdGVy
IGFycm93IGZ1bmN0aW9uIik7CisjZWxzZQogICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0UsICJF
eHBlY3RlZCBhIGNsb3NpbmcgJ30nIGFmdGVyIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1v
ZGUpLCAiIGJvZHkiKTsKKyAgICBuZXh0KCk7CisjZW5kaWYKICAgICAKICAgICBpZiAobmV3SW5m
bykKICAgICAgICAgbV9mdW5jdGlvbkNhY2hlLT5hZGQoaW5mby5vcGVuQnJhY2VPZmZzZXQsIFdU
Rjo6bW92ZShuZXdJbmZvKSk7CiAgICAgCi0gICAgbmV4dCgpOwogICAgIGluZm8uYm9keUVuZExp
bmUgPSBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmU7CiAgICAgcmV0dXJuIHRydWU7CiB9CkBA
IC0xNDYzLDcgKzE2MjcsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0
ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25EZWNsYQogICAgIHVuc2lnbmVk
IGZ1bmN0aW9uS2V5d29yZFN0YXJ0ID0gdG9rZW5TdGFydCgpOwogICAgIG5leHQoKTsKICAgICBQ
YXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87Ci0gICAgZmFpbElmRmFsc2UoKHBh
cnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTmVlZHNOYW1lLCBGdW5jdGlvbk1vZGUs
IHRydWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8p
KSwgIkNhbm5vdCBwYXJzZSB0aGlzIGZ1bmN0aW9uIik7CisgICAgZmFpbElmRmFsc2UoKHBhcnNl
RnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTmVlZHNOYW1lLCBGdW5jdGlvbk1vZGUsIHRy
dWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8sIFN0
YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSB0aGlzIGZ1bmN0aW9uIik7
CiAgICAgZmFpbElmRmFsc2UoaW5mby5uYW1lLCAiRnVuY3Rpb24gc3RhdGVtZW50cyBtdXN0IGhh
dmUgYSBuYW1lIik7CiAgICAgZmFpbElmRmFsc2VJZlN0cmljdChkZWNsYXJlVmFyaWFibGUoaW5m
by5uYW1lKSwgIkNhbm5vdCBkZWNsYXJlIGEgZnVuY3Rpb24gbmFtZWQgJyIsIGluZm8ubmFtZS0+
aW1wbCgpLCAiJyBpbiBzdHJpY3QgbW9kZSIpOwogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1
bmNEZWNsU3RhdGVtZW50KGxvY2F0aW9uLCBpbmZvKTsKQEAgLTE1NTgsNyArMTcyMiw3IEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUNsYXNzRXhwcmVzc2lvbiBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VDbGFzcyhUCiAgICAgICAgICAgICBmYWlsSWZGYWxzZShwcm9wZXJ0eSwg
IkNhbm5vdCBwYXJzZSB0aGlzIG1ldGhvZCIpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBtZXRob2RJbmZvOwotICAgICAgICAg
ICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTmVlZHNO
YW1lLCBpc1N0YXRpY01ldGhvZCA/IEZ1bmN0aW9uTW9kZSA6IE1ldGhvZE1vZGUsIGZhbHNlLCBj
b25zdHJ1Y3RvcktpbmQsIG1ldGhvZFN0YXJ0LCBtZXRob2RJbmZvKSksICJDYW5ub3QgcGFyc2Ug
dGhpcyBtZXRob2QiKTsKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5m
byhjb250ZXh0LCBGdW5jdGlvbk5lZWRzTmFtZSwgaXNTdGF0aWNNZXRob2QgPyBGdW5jdGlvbk1v
ZGUgOiBNZXRob2RNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBtZXRob2RTdGFydCwgbWV0
aG9kSW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIHRoaXMg
bWV0aG9kIik7CiAgICAgICAgICAgICBmYWlsSWZGYWxzZShtZXRob2RJbmZvLm5hbWUsICJtZXRo
b2QgbXVzdCBoYXZlIGEgbmFtZSIpOwogICAgICAgICAgICAgZmFpbElmRmFsc2UoZGVjbGFyZVZh
cmlhYmxlKG1ldGhvZEluZm8ubmFtZSksICJDYW5ub3QgZGVjbGFyZSBhIG1ldGhvZCBuYW1lZCAn
IiwgbWV0aG9kSW5mby5uYW1lLT5pbXBsKCksICInIik7CiAKQEAgLTE3NzQsNiArMTkzOCwxOCBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlSWZTdGF0ZW1lbnQoVAogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUlmU3Rh
dGVtZW50KGlmTG9jYXRpb24sIGNvbmRpdGlvbiwgdHJ1ZUJsb2NrLCBzdGF0ZW1lbnRTdGFjay5s
YXN0KCksIHN0YXJ0LCBlbmQpOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVu
Y3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQoreworICAgIGZhaWxJZlN0YWNr
T3ZlcmZsb3coKTsKKyAgICBUcmVlRXhwcmVzc2lvbiBub2RlID0gcGFyc2VBc3NpZ25tZW50RXhw
cmVzc2lvbihjb250ZXh0KTsKKyAgICBmYWlsSWZGYWxzZShub2RlLCAiQ2Fubm90IHBhcnNlIGV4
cHJlc3Npb24iKTsKKyAgICBjb250ZXh0LnNldEVuZE9mZnNldChub2RlLCBtX2xhc3RUb2tlbkVu
ZFBvc2l0aW9uLm9mZnNldCk7CisgICAgcmV0dXJuIG5vZGU7Cit9CisjZW5kaWYKKwogdGVtcGxh
dGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwcmVzc2lvbihUcmVlQnVpbGRl
ciYgY29udGV4dCkKIHsKQEAgLTE4MjEsNiArMTk5Nyw0MSBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUg
VHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzc2ln
bm1lbgogICAgICAgICB9CiAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKICAg
ICB9CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFNhdmVQb2lu
dCBzYXZlQXJyb3dGdW5jdGlvblBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgYm9vbCBh
cnJvd0Z1bmN0aW9uRW1wdHlMaXN0ID0gZmFsc2U7CisgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikp
IHsKKyAgICAgICAgbmV4dCgpOworICAgICAgICBpZiAobWF0Y2goQ0xPU0VQQVJFTikpIHsKKyAg
ICAgICAgICAgIG5leHQoKTsKKworICAgICAgICAgICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJT04p
KQorICAgICAgICAgICAgICAgIGFycm93RnVuY3Rpb25FbXB0eUxpc3QgPSB0cnVlOworICAgICAg
ICB9CisKKyAgICAgICAgaWYgKCFhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0KQorICAgICAgICAgICAg
cmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICB9CisKKyAgICBU
cmVlRXhwcmVzc2lvbiBsaHM7CisgICAgaWYgKCFhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0KSB7Cisg
ICAgICAgIGxocyA9IHBhcnNlQ29uZGl0aW9uYWxFeHByZXNzaW9uKGNvbnRleHQpOworICAgICAg
ICBmYWlsSWZGYWxzZShsaHMsICJDYW4Zbm90IHBhcnNlIGV4cHJlc3Npb24iKTsKKyAgICAgICAg
aWYgKGluaXRpYWxOb25MSFNDb3VudCAhPSBtX25vbkxIU0NvdW50KSB7CisgICAgICAgICAgICBp
ZiAobV90b2tlbi5tX3R5cGUgPj0gRVFVQUwgJiYgbV90b2tlbi5tX3R5cGUgPD0gT1JFUVVBTCkK
KyAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWwoIkxlZnQgaGFuZCBzaWRlIG9mIG9wZXJhdG9y
ICciLCBnZXRUb2tlbigpLCAiJyBtdXN0IGJlIGEgcmVmZXJlbmNlIik7CisKKyAgICAgICAgICAg
IHJldHVybiBsaHM7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAobWF0Y2goQVJST1dGVU5D
VElPTikpIHsKKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50
KTsKKyAgICAgICAgbGhzID0gcGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihjb250ZXh0KTsKKyAg
ICAgICAgcmV0dXJuIGxoczsKKyAgICB9CisjZWxzZQogICAgIFRyZWVFeHByZXNzaW9uIGxocyA9
IHBhcnNlQ29uZGl0aW9uYWxFeHByZXNzaW9uKGNvbnRleHQpOwogICAgIGZhaWxJZkZhbHNlKGxo
cywgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9uIik7CiAgICAgaWYgKGluaXRpYWxOb25MSFNDb3Vu
dCAhPSBtX25vbkxIU0NvdW50KSB7CkBAIC0xODI5LDcgKzIwNDAsOCBAQCB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUFzc2lnbm1lbgogCiAgICAgICAgIHJldHVybiBsaHM7CiAgICAgfQotICAgIAorI2VuZGlmCisK
ICAgICBpbnQgYXNzaWdubWVudFN0YWNrID0gMDsKICAgICBPcGVyYXRvciBvcDsKICAgICBib29s
IGhhZEFzc2lnbm1lbnQgPSBmYWxzZTsKQEAgLTIwNjEsNyArMjI3Myw3IEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
UHJvcGVydHlNZXRoCiAgICAgSlNUb2tlbkxvY2F0aW9uIG1ldGhvZExvY2F0aW9uKHRva2VuTG9j
YXRpb24oKSk7CiAgICAgdW5zaWduZWQgbWV0aG9kU3RhcnQgPSB0b2tlblN0YXJ0KCk7CiAgICAg
UGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBtZXRob2RJbmZvOwotICAgIGZhaWxJZkZh
bHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBN
ZXRob2RNb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBtZXRob2RTdGFydCwgbWV0
aG9kSW5mbykpLCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9kIik7CisgICAgZmFpbElmRmFsc2Uo
KHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIE1ldGhv
ZE1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIG1ldGhvZFN0YXJ0LCBtZXRob2RJ
bmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRo
b2QiKTsKICAgICBtZXRob2RJbmZvLm5hbWUgPSBtZXRob2ROYW1lOwogICAgIHJldHVybiBjb250
ZXh0LmNyZWF0ZUZ1bmN0aW9uRXhwcihtZXRob2RMb2NhdGlvbiwgbWV0aG9kSW5mbyk7CiB9CkBA
IC0yMDgzLDEwICsyMjk1LDEwIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVBy
b3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUdldHRlclNldHRlcihUCiAgICAgUGFyc2Vy
RnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOwogICAgIGlmICh0eXBlID09IFByb3BlcnR5
Tm9kZTo6R2V0dGVyKSB7CiAgICAgICAgIGZhaWxJZkZhbHNlKG1hdGNoKE9QRU5QQVJFTiksICJF
eHBlY3RlZCBhIHBhcmFtZXRlciBsaXN0IGZvciBnZXR0ZXIgZGVmaW5pdGlvbiIpOwotICAgICAg
ICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVp
cmVtZW50cywgR2V0dGVyTW9kZSwgZmFsc2UsIGNvbnN0cnVjdG9yS2luZCwgZ2V0dGVyT3JTZXR0
ZXJTdGFydE9mZnNldCwgaW5mbykpLCAiQ2Fubm90IHBhcnNlIGdldHRlciBkZWZpbml0aW9uIik7
CisgICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlv
bk5vUmVxdWlyZW1lbnRzLCBHZXR0ZXJNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBnZXR0
ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBpbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSks
ICJDYW5ub3QgcGFyc2UgZ2V0dGVyIGRlZmluaXRpb24iKTsKICAgICB9IGVsc2UgewogICAgICAg
ICBmYWlsSWZGYWxzZShtYXRjaChPUEVOUEFSRU4pLCAiRXhwZWN0ZWQgYSBwYXJhbWV0ZXIgbGlz
dCBmb3Igc2V0dGVyIGRlZmluaXRpb24iKTsKLSAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVu
Y3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIFNldHRlck1vZGUsIGZh
bHNlLCBjb25zdHJ1Y3RvcktpbmQsIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIGluZm8pKSwg
IkNhbm5vdCBwYXJzZSBzZXR0ZXIgZGVmaW5pdGlvbiIpOworICAgICAgICBmYWlsSWZGYWxzZSgo
cGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgU2V0dGVy
TW9kZSwgZmFsc2UsIGNvbnN0cnVjdG9yS2luZCwgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwg
aW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIHNldHRlciBk
ZWZpbml0aW9uIik7CiAgICAgfQogICAgIGlmIChzdHJpbmdQcm9wZXJ0eU5hbWUpCiAgICAgICAg
IHJldHVybiBjb250ZXh0LmNyZWF0ZUdldHRlck9yU2V0dGVyUHJvcGVydHkobG9jYXRpb24sIHR5
cGUsIHN0cmljdCwgc3RyaW5nUHJvcGVydHlOYW1lLCBpbmZvLCBzdXBlckJpbmRpbmcpOwpAQCAt
MjI3NSw3ICsyNDg3LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVz
c2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAgbmV4dCgp
OwogICAgICAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87CiAgICAgICAg
IGluZm8ubmFtZSA9ICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllcjsKLSAgICAg
ICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1
aXJlbWVudHMsIEZ1bmN0aW9uTW9kZSwgZmFsc2UsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgZnVu
Y3Rpb25LZXl3b3JkU3RhcnQsIGluZm8pKSwgIkNhbm5vdCBwYXJzZSBmdW5jdGlvbiBleHByZXNz
aW9uIik7CisgICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBG
dW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlvbk1vZGUsIGZhbHNlLCBDb25zdHJ1Y3Rvcktp
bmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFy
c2VUeXBlKSksICJDYW5ub3QgcGFyc2UgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOwogICAgICAgICBy
ZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkV4cHIobG9jYXRpb24sIGluZm8pOwogICAgIH0K
ICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKQEAgLTIzMDQsNiArMjUxNiwyMyBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZVByaW1hcnlFeHByZQogICAgICAgICByZXR1cm4gY29udGV4dC50aGlzRXhwcihsb2Nh
dGlvbiwgbV90aGlzVERaTW9kZSk7CiAgICAgfQogICAgIGNhc2UgSURFTlQ6IHsKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBTYXZlUG9pbnQgc2F2ZUFycm93
RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgICAgICBKU1RleHRQb3NpdGlv
biBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgICAgICBjb25zdCBJZGVudGlmaWVy
KiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OworICAgICAgICBKU1Rva2VuTG9jYXRpb24g
bG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICAgICAgbmV4dCgpOworCisgICAgICAgIGlm
ICghbWF0Y2goQVJST1dGVU5DVElPTikpIHsKKyAgICAgICAgICAgIGN1cnJlbnRTY29wZSgpLT51
c2VWYXJpYWJsZShpZGVudCwgbV92bS0+cHJvcGVydHlOYW1lcy0+ZXZhbCA9PSAqaWRlbnQpOwor
ICAgICAgICAgICAgbV9sYXN0SWRlbnRpZmllciA9IGlkZW50OworICAgICAgICAgICAgcmV0dXJu
IGNvbnRleHQuY3JlYXRlUmVzb2x2ZShsb2NhdGlvbiwgaWRlbnQsIHN0YXJ0KTsKKyAgICAgICAg
fQorCisgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7Cisg
ICAgICAgIFRyZWVFeHByZXNzaW9uIGxocyA9IHBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoY29u
dGV4dCk7CisgICAgICAgIHJldHVybiBsaHM7CisjZWxzZQogICAgICAgICBKU1RleHRQb3NpdGlv
biBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOwogICAgICAgICBjb25zdCBJZGVudGlmaWVy
KiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICBKU1Rva2VuTG9jYXRpb24g
bG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKQEAgLTIzMTEsNiArMjU0MCw3IEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlUHJpbWFyeUV4cHJlCiAgICAgICAgIGN1cnJlbnRTY29wZSgpLT51c2VWYXJpYWJsZShpZGVu
dCwgbV92bS0+cHJvcGVydHlOYW1lcy0+ZXZhbCA9PSAqaWRlbnQpOwogICAgICAgICBtX2xhc3RJ
ZGVudGlmaWVyID0gaWRlbnQ7CiAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJlc29sdmUo
bG9jYXRpb24sIGlkZW50LCBzdGFydCk7CisjZW5kaWYKICAgICB9CiAgICAgY2FzZSBTVFJJTkc6
IHsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVu
dDsKQEAgLTI0OTgsNiArMjcyOCwzMiBAQCBlbmRNZW1iZXJFeHByZXNzaW9uOgogICAgIHJldHVy
biBiYXNlOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBs
YXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVy
KFRyZWVCdWlsZGVyJiBjb250ZXh0KQoreworICAgIFRyZWVFeHByZXNzaW9uIGJhc2UgPSAwOwor
ICAgIEpTVGV4dFBvc2l0aW9uIGV4cHJlc3Npb25TdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigp
OworICAgIGludCBuZXdDb3VudCA9IDA7CisgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uOwor
CisgICAgaWYgKG1hdGNoKElERU5UKSB8fCBtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgIHVu
c2lnbmVkIGZ1bmN0aW9uS2V5d29yZFN0YXJ0ID0gdG9rZW5TdGFydCgpOworICAgICAgICBsb2Nh
dGlvbiA9IHRva2VuTG9jYXRpb24oKTsKKyAgICAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVC
dWlsZGVyPiBpbmZvOworICAgICAgICBpbmZvLm5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1lcy0+
bnVsbElkZW50aWZpZXI7CisgICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhj
b250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlvbk1vZGUsIHRydWUsIENvbnN0
cnVjdG9yS2luZDo6Tm9uZSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8sIEFycm93RnVuY3Rp
b25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uIik7
CisgICAgICAgIGJhc2UgPSBjb250ZXh0LmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKGxvY2F0aW9u
LCBpbmZvKTsKKyAgICB9IGVsc2UKKyAgICAgICAgYmFzZSA9IHBhcnNlUHJpbWFyeUV4cHJlc3Np
b24oY29udGV4dCk7CisKKyAgICBmYWlsSWZGYWxzZShiYXNlLCAiQ2Fubm90IHBhcnNlIGJhc2Ug
ZXhwcmVzc2lvbiIpOworICAgIHdoaWxlIChuZXdDb3VudC0tKQorICAgICAgICBiYXNlID0gY29u
dGV4dC5jcmVhdGVOZXdFeHByKGxvY2F0aW9uLCBiYXNlLCBleHByZXNzaW9uU3RhcnQsIGxhc3RU
b2tlbkVuZFBvc2l0aW9uKCkpOworICAgIHJldHVybiBiYXNlOworfQorI2VuZGlmCisKIHN0YXRp
YyBjb25zdCBjaGFyKiBvcGVyYXRvclN0cmluZyhib29sIHByZWZpeCwgdW5zaWduZWQgdG9rKQog
ewogICAgIHN3aXRjaCAodG9rKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1BhcnNlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaApp
bmRleCA3OGJhZmZhMGUxNzczYzgyMDY5OGI5MjAzZjBmNmEzZDdhZDMyZWM0Li4wNWNjZDRhNTA0
ODg3NGIwY2U5ZDdkOWNhNzJmY2IxOTdiYjc2NDI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvUGFyc2VyLmgKQEAgLTgwLDYgKzgwLDExIEBAIGNsYXNzIFNvdXJjZUNvZGU7CiBDT01QSUxF
X0FTU0VSVChMYXN0VW50YWdnZWRUb2tlbiA8IDY0LCBMZXNzVGhhbjY0VW50YWdnZWRUb2tlbnMp
OwogCiBlbnVtIFNvdXJjZUVsZW1lbnRzTW9kZSB7IENoZWNrRm9yU3RyaWN0TW9kZSwgRG9udENo
ZWNrRm9yU3RyaWN0TW9kZSB9OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CitlbnVtIEZ1bmN0aW9uUGFyc2VUeXBlIHsgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSwgQXJy
b3dGdW5jdGlvblBhcnNlVHlwZSB9OworI2Vsc2UKK2VudW0gRnVuY3Rpb25QYXJzZVR5cGUgeyBT
dGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlfTsKKyNlbmRpZgogZW51bSBGdW5jdGlvblJlcXVpcmVt
ZW50cyB7IEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEZ1bmN0aW9uTmVlZHNOYW1lIH07CiBlbnVt
IEZ1bmN0aW9uUGFyc2VNb2RlIHsKICAgICBGdW5jdGlvbk1vZGUsCkBAIC02MTgsNiArNjIzLDEz
IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBtX3Rva2VuLm1fdHlwZSA9PSBJREVOVCAmJiAq
bV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+b2Y7CiAgICAgfQog
ICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgQUxXQVlTX0lO
TElORSBib29sIGlzRW5kT2ZBcnJvd0Z1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiBt
YXRjaChTRU1JQ09MT04pIHx8IG1hdGNoKENPTU1BKSB8fCBtYXRjaChDTE9TRVBBUkVOKSB8fCBt
YXRjaChDTE9TRUJSQUNFKSB8fCBtYXRjaChDTE9TRUJSQUNLRVQpOworICAgIH0KKyNlbmRpZgor
ICAgIAogICAgIEFMV0FZU19JTkxJTkUgdW5zaWduZWQgdG9rZW5TdGFydCgpCiAgICAgewogICAg
ICAgICByZXR1cm4gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OwpAQCAtNzIxLDkgKzcz
Myw5IEBAIHByaXZhdGU6CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9
Ci0gICAgCi0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVu
dHMgcGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYsIFNvdXJjZUVsZW1lbnRzTW9kZSk7
Ci0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3Rh
dGVtZW50KFRyZWVCdWlsZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWdu
ZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwKTsKKworICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1
aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUsIEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyAgICB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VTdGF0ZW1lbnQoVHJl
ZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0
aXZlTGl0ZXJhbExlbmd0aCA9IDAsIEZ1bmN0aW9uUGFyc2VUeXBlIHR5cGUgPSBTdGFuZGFyZEZ1
bmN0aW9uUGFyc2VUeXBlKTsKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VDbGFzc0RlY2xhcmF0
aW9uKFRyZWVCdWlsZGVyJik7CiAjZW5kaWYKQEAgLTc2MiwxOSArNzc0LDI2IEBAIHByaXZhdGU6
CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgcGFyc2VQcm9w
ZXJ0eShUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlUHJvcGVydHlNZXRob2QoVHJlZUJ1aWxkZXIm
IGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqIG1ldGhvZE5hbWUpOwogICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IHBhcnNlR2V0dGVyU2V0dGVyKFRyZWVCdWls
ZGVyJiwgYm9vbCBzdHJpY3QsIFByb3BlcnR5Tm9kZTo6VHlwZSwgdW5zaWduZWQgZ2V0dGVyT3JT
ZXR0ZXJTdGFydE9mZnNldCwgQ29uc3RydWN0b3JLaW5kID0gQ29uc3RydWN0b3JLaW5kOjpOb25l
LCBTdXBlckJpbmRpbmcgPSBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCk7Ci0gICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VG
dW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBm
dW5jdGlvbk5hbWVTdGFydCwgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kKTsK
KyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZ1bmN0
aW9uQm9keSBwYXJzZUZ1bmN0aW9uQm9keShUcmVlQnVpbGRlciYsIGludCBmdW5jdGlvbktleXdv
cmRTdGFydCwgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25z
dHJ1Y3RvcktpbmQsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZvcm1hbFBhcmFt
ZXRlckxpc3QgcGFyc2VGb3JtYWxQYXJhbWV0ZXJzKFRyZWVCdWlsZGVyJik7CiAgICAgZW51bSBW
YXJEZWNsYXJhdGlvbkxpc3RDb250ZXh0IHsgRm9yTG9vcENvbnRleHQsIFZhckRlY2xhcmF0aW9u
Q29udGV4dCB9OwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Np
b24gcGFyc2VWYXJEZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImLCBpbnQmIGRlY2xhcmF0aW9u
cywgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiYgbGFzdFBhdHRlcm4sIFRyZWVFeHByZXNzaW9u
JiBsYXN0SW5pdGlhbGl6ZXIsIEpTVGV4dFBvc2l0aW9uJiBpZGVudFN0YXJ0LCBKU1RleHRQb3Np
dGlvbiYgaW5pdFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdEVuZCwgVmFyRGVjbGFyYXRpb25M
aXN0Q29udGV4dCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJ
TkUgVHJlZUNvbnN0RGVjbExpc3QgcGFyc2VDb25zdERlY2xhcmF0aW9uTGlzdChUcmVlQnVpbGRl
ciYpOwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlQXJyb3dGdW5jdGlvbkV4
cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVTdGF0ZW1lbnQgcGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJik7
CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFy
cm93RnVuY3Rpb25XcmFwcGVyKFRyZWVCdWlsZGVyJik7CisjZW5kaWYKKwogICAgIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRl
cm4gY3JlYXRlQmluZGluZ1BhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0cnVjdGlvbktpbmQs
IGNvbnN0IElkZW50aWZpZXImLCBpbnQgZGVwdGgsIEpTVG9rZW4pOwogICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4g
cGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0cnVjdGlvbktp
bmQsIGludCBkZXB0aCA9IDApOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVW
RVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gdHJ5UGFyc2VEZWNvbnN0cnVjdGlv
blBhdHRlcm5FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7Ci0KLSAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBib29sIHBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWls
ZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlLCBib29sIG5hbWVJ
c0luQ29udGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQsIGludCBmdW5jdGlvbktleXdvcmRT
dGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYpOwotICAgIAogICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIGludCBwYXJzZUZ1bmN0aW9uUGFy
YW10ZXJzKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VN
b2RlLCBib29sLCBBdXRvUG9wU2NvcGVSZWYmLCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxk
ZXI+Jik7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBpbnQgcGFyc2VBcnJvd0Z1bmN0aW9u
UGFyYW10ZXJzKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25QYXJzZU1vZGUsIFBhcnNlckZ1bmN0aW9u
SW5mbzxUcmVlQnVpbGRlcj4mKTsKKyNlbmRpZgorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gTkVWRVJfSU5MSU5FIGJvb2wgcGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImLCBG
dW5jdGlvblJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUsIGJvb2wgbmFtZUlzSW5Db250
YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQ
YXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rp
b25QYXJzZVR5cGUpOwogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogICAgIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVDbGFzc0V4cHJlc3Npb24gcGFy
c2VDbGFzcyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzLCBQYXJzZXJDbGFzc0lu
Zm88VHJlZUJ1aWxkZXI+Jik7CiAjZW5kaWYKQEAgLTc5MSw2ICs4MTAsMTQgQEAgcHJpdmF0ZToK
ICAgICAgICAgcmV0dXJuIGFsbG93QXV0b21hdGljU2VtaWNvbG9uKCk7CiAgICAgfQogICAgIAor
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2b2lkIHNldEVuZE9m
U3RhdGVtZW50KCkKKyAgICB7CisgICAgICAgIG1fbGV4ZXItPnNldFRva2VuUG9zaXRpb24oJm1f
dG9rZW4pOworICAgIH0KKyNlbmRpZgorCiAgICAgYm9vbCBjYW5SZWN1cnNlKCkKICAgICB7CiAg
ICAgICAgIHJldHVybiBtX3ZtLT5pc1NhZmVUb1JlY3Vyc2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oCmluZGV4IDZiNzM2MjgyZTJk
MmE4MWJjNjNkYzJmM2MwZTVhZThjODU4Y2QxZjguLjBjZGUwYzY3YTlkZTBlZGYzNDE0NGUzMjc5
MWU1ZTkwYjRhMjE1MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyRnVuY3Rpb25JbmZvLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXJGdW5jdGlvbkluZm8uaApAQCAtMjgsNiArMjgsMTAgQEAKIAogbmFtZXNwYWNlIEpTQyB7
CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorZW51bSBGdW5jdGlvbkJv
ZHlUeXBlIHsgQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uLCBBcnJvd0Z1bmN0aW9uQm9keUJs
b2NrLCBTdGFuZGFyZEZ1bmN0aW9uQm9keUJsb2NrIH07CisjZW5kaWYKKwogdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPgogc3RydWN0IFBhcnNlckZ1bmN0aW9uSW5mbyB7CiAgICAgY29uc3Qg
SWRlbnRpZmllciogbmFtZSA9IDA7CkBAIC0zOCw2ICs0MiwxMSBAQCBzdHJ1Y3QgUGFyc2VyRnVu
Y3Rpb25JbmZvIHsKICAgICBpbnQgYm9keVN0YXJ0TGluZSA9IDA7CiAgICAgaW50IGJvZHlFbmRM
aW5lID0gMDsKICAgICB1bnNpZ25lZCBib2R5U3RhcnRDb2x1bW4gPSAwOworI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdW5zaWduZWQgYXJyb3dGdW5jdGlvbk9mZnNl
dCA9IDA7CisgICAgYm9vbCBpc0Fycm93RnVuY3Rpb24gPSBmYWxzZTsKKyAgICBGdW5jdGlvbkJv
ZHlUeXBlIGZ1bmN0aW9uQm9keVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uQm9keUJsb2NrOworI2Vu
ZGlmCiB9OwogCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAppbmRleCA4MzI5ZjgyYTliMmZmOTE1ZDFmMjQx
YzFmOGJmZmFkNDI0N2E1ZjBiLi5jOGIxNjZlMGVhZDdkMmRhNzE5ZTc2YzRhMmYwOWFmZjFkNzRk
N2FjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vu
cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKQEAg
LTc1LDYgKzc1LDkgQEAgZW51bSBKU1Rva2VuVHlwZSB7CiAgICAgRklOQUxMWSwKICAgICBERUJV
R0dFUiwKICAgICBFTFNFLAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgQVJST1dGVU5DVElPTiwKKyNlbmRpZgogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQog
ICAgIENMQVNTVE9LRU4sCiAgICAgRVhURU5EUywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9Tb3VyY2VDb2RlLmgKaW5kZXggNzNkMjNkYjgyYWYyNWVhNDZjMGY4OTc4NWNlNDI0YmI2MGVi
NjFhNy4uNTBkNTI2Mzk3OTQzZTM4MWQzODBlYzQzZDgyZDViNjNmN2YwOGRjNCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmgKQEAgLTEwNSw2ICsxMDUsOSBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgCiAgICAgICAgIFNvdXJjZUNvZGUgc3ViRXhwcmVzc2lv
bih1bnNpZ25lZCBvcGVuQnJhY2UsIHVuc2lnbmVkIGNsb3NlQnJhY2UsIGludCBmaXJzdExpbmUs
IGludCBzdGFydENvbHVtbik7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgICAgICBTb3VyY2VDb2RlIHN1YkFycm93RXhwcmVzc2lvbih1bnNpZ25lZCBzdGFydEFy
cm93RnVuY3Rpb24sIHVuc2lnbmVkIGVuZEFycm93RnVuY3Rpb24sIGludCBmaXJzdExpbmUsIGlu
dCBzdGFydENvbHVtbik7CisjZW5kaWYKICAgICBwcml2YXRlOgogICAgICAgICBSZWZQdHI8U291
cmNlUHJvdmlkZXI+IG1fcHJvdmlkZXI7CiAgICAgICAgIGludCBtX3N0YXJ0Q2hhcjsKQEAgLTEx
OCw2ICsxMjEsMTcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBTb3VyY2VDb2Rl
KFN0cmluZ1NvdXJjZVByb3ZpZGVyOjpjcmVhdGUoc291cmNlLCB1cmwsIHN0YXJ0UG9zaXRpb24p
LCBzdGFydFBvc2l0aW9uLm1fbGluZS5vbmVCYXNlZEludCgpLCBzdGFydFBvc2l0aW9uLm1fY29s
dW1uLm9uZUJhc2VkSW50KCkpOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgaW5saW5lIFNvdXJjZUNvZGUgU291cmNlQ29kZTo6c3ViQXJyb3dFeHBy
ZXNzaW9uKHVuc2lnbmVkIHN0YXJ0QXJyb3dGdW5jdGlvbiwgdW5zaWduZWQgZW5kQXJyb3dGdW5j
dGlvbiwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKQorICAgIHsKKyAgICAgICAgQVNT
RVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW3N0YXJ0QXJyb3dGdW5jdGlvbl0gPT0gJz0nICYmIHBy
b3ZpZGVyKCktPnNvdXJjZSgpW3N0YXJ0QXJyb3dGdW5jdGlvbiArIDFdID09ICc+Jyk7CisgICAg
ICAgIC8vIEZpeG1lOiBVc2UgYmV0dGVyIGFwcHJvYWNoIHRvIGNoZWNrIHN5bWJvbAorICAgICAg
ICBBU1NFUlQocHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICcs
JyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJzsnIHx8
IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnKScgfHwgcHJv
dmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICddJyB8fCBwcm92aWRl
cigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJ30nKTsKKyAgICAgICAgc3Rh
cnRDb2x1bW4gKz0gMTsgLy8gQ29udmVydCB0byBiYXNlIDEuCisgICAgICAgIHJldHVybiBTb3Vy
Y2VDb2RlKHByb3ZpZGVyKCksIHN0YXJ0QXJyb3dGdW5jdGlvbiwgZW5kQXJyb3dGdW5jdGlvbiwg
Zmlyc3RMaW5lLCBzdGFydENvbHVtbik7CisgICAgfQorI2VuZGlmCisKICAgICBpbmxpbmUgU291
cmNlQ29kZSBTb3VyY2VDb2RlOjpzdWJFeHByZXNzaW9uKHVuc2lnbmVkIG9wZW5CcmFjZSwgdW5z
aWduZWQgY2xvc2VCcmFjZSwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKQogICAgIHsK
ICAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW29wZW5CcmFjZV0gPT0gJ3snKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJD
YWNoZUl0ZW0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJD
YWNoZUl0ZW0uaAppbmRleCA2MzUzNzllM2Y0NDU2NjhjNTJiODcyZjc2MTZkY2I1OTIxYTgyOTQ0
Li5mNDI4ZGI1MGE4ZGE3YTdhYjQ2ODI0YWIzODA4M2RiMDUyZDczNzc2IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5o
CkBAIC00MCw2ICs0MCwxMCBAQCBzdHJ1Y3QgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlv
blBhcmFtZXRlcnMgewogICAgIGJvb2wgbmVlZHNGdWxsQWN0aXZhdGlvbjsKICAgICBib29sIHVz
ZXNFdmFsOwogICAgIGJvb2wgc3RyaWN0TW9kZTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIGJvb2wgaXNCb2R5QXJyb3dFeHByZXNzaW9uOworICAgIEpTVG9rZW5U
eXBlIHRva2VuVHlwZTsKKyNlbmRpZgogICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+IHVz
ZWRWYXJpYWJsZXM7CiAgICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4gd3JpdHRlblZhcmlh
YmxlczsKIH07CkBAIC01NSwxMCArNTksMTQgQEAgcHVibGljOgogICAgIHN0YXRpYyBzdGQ6OnVu
aXF1ZV9wdHI8U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0+IGNyZWF0ZShjb25zdCBTb3VyY2VQcm92
aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFyYW1ldGVycyYpOwogICAgIH5Tb3VyY2VQcm92aWRlckNh
Y2hlSXRlbSgpOwogCi0gICAgSlNUb2tlbiBjbG9zZUJyYWNlVG9rZW4oKSBjb25zdCAKKyAgICBK
U1Rva2VuIGVuZEZ1bmN0aW9uVG9rZW4oKSBjb25zdCAKICAgICB7CiAgICAgICAgIEpTVG9rZW4g
dG9rZW47CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdG9r
ZW4ubV90eXBlID0gaXNCb2R5QXJyb3dFeHByZXNzaW9uID8gdG9rZW5UeXBlIDogQ0xPU0VCUkFD
RTsKKyNlbHNlCiAgICAgICAgIHRva2VuLm1fdHlwZSA9IENMT1NFQlJBQ0U7CisjZW5kaWYKICAg
ICAgICAgdG9rZW4ubV9kYXRhLm9mZnNldCA9IGNsb3NlQnJhY2VPZmZzZXQ7CiAgICAgICAgIHRv
a2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNlT2Zmc2V0OwogICAgICAgICB0
b2tlbi5tX2xvY2F0aW9uLmVuZE9mZnNldCA9IGNsb3NlQnJhY2VPZmZzZXQgKyAxOwpAQCAtODIs
NiArOTAsMTEgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIHVzZWRWYXJpYWJsZXNDb3VudDsKICAg
ICB1bnNpZ25lZCB3cml0dGVuVmFyaWFibGVzQ291bnQ7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgIGJvb2wgaXNCb2R5QXJyb3dFeHByZXNzaW9uOworICAgIEpT
VG9rZW5UeXBlIHRva2VuVHlwZTsKKyNlbmRpZgorCiAgICAgU3RyaW5nSW1wbCoqIHVzZWRWYXJp
YWJsZXMoKSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0PFN0cmluZ0ltcGwqKj4obV92YXJpYWJs
ZXMpOyB9CiAgICAgU3RyaW5nSW1wbCoqIHdyaXR0ZW5WYXJpYWJsZXMoKSBjb25zdCB7IHJldHVy
biBjb25zdF9jYXN0PFN0cmluZ0ltcGwqKj4oJm1fdmFyaWFibGVzW3VzZWRWYXJpYWJsZXNDb3Vu
dF0pOyB9CiAKQEAgLTExNSw2ICsxMjgsMTAgQEAgaW5saW5lIFNvdXJjZVByb3ZpZGVyQ2FjaGVJ
dGVtOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbShjb25zdCBTb3VyY2VQcm92aWRlckNhY2gKICAg
ICAsIGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQocGFyYW1ldGVycy5jbG9zZUJyYWNlTGluZVN0
YXJ0T2Zmc2V0KQogICAgICwgdXNlZFZhcmlhYmxlc0NvdW50KHBhcmFtZXRlcnMudXNlZFZhcmlh
Ymxlcy5zaXplKCkpCiAgICAgLCB3cml0dGVuVmFyaWFibGVzQ291bnQocGFyYW1ldGVycy53cml0
dGVuVmFyaWFibGVzLnNpemUoKSkKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgICwgaXNCb2R5QXJyb3dFeHByZXNzaW9uKHBhcmFtZXRlcnMuaXNCb2R5QXJyb3dFeHBy
ZXNzaW9uKQorICAgICwgdG9rZW5UeXBlKHBhcmFtZXRlcnMudG9rZW5UeXBlKQorI2VuZGlmCiB7
CiAgICAgdW5zaWduZWQgaiA9IDA7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHVzZWRW
YXJpYWJsZXNDb3VudDsgKytpLCArK2opIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9TeW50YXhDaGVja2VyLmgKaW5kZXggOGU0ZjYxYjk0OTg5MGI5YmY1NDAyOWU5NjY2MWVlZjUz
YTE3YjU4NC4uNWY4ZTIxMWVlNGI1M2IzOTRlYjVhZTIxOTBiODNjOGM0Zjg0NGNmZCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKQEAgLTE3MCw2ICsx
NzAsMTAgQEAgcHVibGljOgogI2VuZGlmCiAgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlRnVuY3Rp
b25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxT
eW50YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQogICAgIGludCBjcmVhdGVG
dW5jdGlvbkJvZHkoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgSlNUb2tlbkxvY2F0aW9u
JiwgaW50LCBpbnQsIGJvb2wsIGludCwgaW50LCBpbnQsIENvbnN0cnVjdG9yS2luZCkgeyByZXR1
cm4gRnVuY3Rpb25Cb2R5UmVzdWx0OyB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihjb25zdCBK
U1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4m
KSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KKyNlbmRpZiAKKyAgICB2b2lkIHNldEZ1bmN0aW9u
TmFtZVN0YXJ0KGludCwgaW50KSB7IH0KICAgICBpbnQgY3JlYXRlQXJndW1lbnRzKCkgeyByZXR1
cm4gQXJndW1lbnRzUmVzdWx0OyB9CiAgICAgaW50IGNyZWF0ZUFyZ3VtZW50cyhpbnQpIHsgcmV0
dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZVNwcmVhZEV4
cHJlc3Npb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvblR5cGUsIGludCwgaW50
LCBpbnQpIHsgcmV0dXJuIFNwcmVhZEV4cHI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZmYzNlYTE4MDA2ODk2
NDNhYWRkNmM2YTQ5N2VkMGFlNmMyMTExMjAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwCkBAIC0wLDAgKzEsNzcgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyNpbmNsdWRl
ICJKU0Fycm93RnVuY3Rpb24uaCIKKworI2luY2x1ZGUgIkVycm9yLmgiCisjaW5jbHVkZSAiRXhj
ZXB0aW9uSGVscGVycy5oIgorI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKKyNpbmNsdWRlICJKU0NK
U1ZhbHVlLmgiCisjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTRnVuY3Rpb25J
bmxpbmVzLmgiCisjaW5jbHVkZSAiSlNPYmplY3QuaCIKKyNpbmNsdWRlICJQcm9wZXJ0eVNsb3Qu
aCIKKyNpbmNsdWRlICJWTS5oIgorCituYW1lc3BhY2UgSlNDIHsKKyAgICAKK2NvbnN0IENsYXNz
SW5mbyBKU0Fycm93RnVuY3Rpb246OnNfaW5mbyA9IHsgIkFycm93RnVuY3Rpb24iLCAmQmFzZTo6
c19pbmZvLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTQXJyb3dGdW5jdGlvbikgfTsKKwordm9p
ZCBKU0Fycm93RnVuY3Rpb246OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQoreworICAgIHN0YXRpY19j
YXN0PEpTQXJyb3dGdW5jdGlvbio+KGNlbGwpLT5KU0Fycm93RnVuY3Rpb246On5KU0Fycm93RnVu
Y3Rpb24oKTsKK30KKworSlNBcnJvd0Z1bmN0aW9uOjpKU0Fycm93RnVuY3Rpb24oVk0mIHZtLCBK
U1Njb3BlKiBzY29wZSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSkKKyAgICA6IEJhc2Uodm0sIGV4ZWN1dGFibGUsIHNjb3BlLCBzdHJ1Y3R1cmUp
Cit7Cit9CisgICAgCit2b2lkIEpTQXJyb3dGdW5jdGlvbjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZt
KQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKy8vIFByb3RvdHlwZSBvZiBhcnJv
dyBmdW5jdGlvbiBpcyB1bmRlZmluZWQKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFt
ZXMtPnByb3RvdHlwZSwganNVbmRlZmluZWQoKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgRG9u
dEVudW0pOworfQorICAgIAordm9pZCBKU0Fycm93RnVuY3Rpb246OnZpc2l0Q2hpbGRyZW4oSlND
ZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKK3sKKyAgICBKU0Fycm93RnVuY3Rpb24q
IHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNBcnJvd0Z1bmN0aW9uKj4oY2VsbCk7CisgICAgQVNTRVJU
X0dDX09CSkVDVF9JTkhFUklUUyh0aGlzT2JqZWN0LCBpbmZvKCkpOworICAgIEJhc2U6OnZpc2l0
Q2hpbGRyZW4odGhpc09iamVjdCwgdmlzaXRvcik7Cit9CisgICAgCitDb25zdHJ1Y3RUeXBlIEpT
QXJyb3dGdW5jdGlvbjo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwqIGNlbGwsIENvbnN0cnVjdERh
dGEmIGNvbnN0cnVjdERhdGEpCit7CisgICAgSlNGdW5jdGlvbiogdGhpc09iamVjdCA9IGpzQ2Fz
dDxKU0Z1bmN0aW9uKj4oY2VsbCk7CisgICAgICAgIAorICAgIGNvbnN0cnVjdERhdGEuanMuZnVu
Y3Rpb25FeGVjdXRhYmxlID0gdGhpc09iamVjdC0+anNFeGVjdXRhYmxlKCk7CisgICAgY29uc3Ry
dWN0RGF0YS5qcy5zY29wZSA9IHRoaXNPYmplY3QtPnNjb3BlKCk7CisgICAgcmV0dXJuIENvbnN0
cnVjdFR5cGVOb25lOworfQorfSAvLyBuYW1lc3BhY2UgSlNDCisjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzgw
MTVkMzg3MjFjY2E0NGFlMmY2NWNiNmQ3N2I2YTY1MjIwOTY1ZAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oCkBAIC0wLDAg
KzEsNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIEpTQXJyb3dGdW5jdGlvbl9oCisjZGVmaW5lIEpTQXJyb3dGdW5jdGlvbl9oCisKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorCisjaW5jbHVkZSAiSlNGdW5jdGlv
bi5oIgorI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCisKK25hbWVzcGFjZSBKU0MgeworCitj
bGFzcyBKU0Fycm93RnVuY3Rpb24gOiBwdWJsaWMgSlNGdW5jdGlvbiB7CitwdWJsaWM6CisgICAg
dHlwZWRlZiBKU0Z1bmN0aW9uIEJhc2U7CisgICAgICAgIAorICAgIHN0YXRpYyBKU0Fycm93RnVu
Y3Rpb24qIGNyZWF0ZShWTSYgdm0sIEpTU2NvcGUqIHNjb3BlLCBGdW5jdGlvbkV4ZWN1dGFibGUq
IGV4ZWN1dGFibGUsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCisgICAgeworICAgICAg
ICBKU0Fycm93RnVuY3Rpb24qIGZ1bmN0aW9uID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8
SlNBcnJvd0Z1bmN0aW9uPih2bS5oZWFwKSkgSlNBcnJvd0Z1bmN0aW9uKHZtLCBzY29wZSwgZXhl
Y3V0YWJsZSwgZ2xvYmFsT2JqZWN0LT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCkpOworICAgICAg
ICBBU1NFUlQoZnVuY3Rpb24tPnN0cnVjdHVyZSgpLT5nbG9iYWxPYmplY3QoKSk7CisgICAgICAg
IGZ1bmN0aW9uLT5maW5pc2hDcmVhdGlvbih2bSk7CisgICAgICAgIHJldHVybiBmdW5jdGlvbjsK
KyAgICB9CisgICAgCisgICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0NlbGwqKTsKKyAgICAgICAg
CisgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUpCisgICAgeworICAgICAgICBB
U1NFUlQoZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZt
LCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oSlNGdW5jdGlvblR5cGUsIFN0cnVj
dHVyZUZsYWdzKSwgaW5mbygpKTsKKyAgICB9CisgICAgICAgIAorICAgIHN0YXRpYyBDb25zdHJ1
Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYpOworICAgICAg
ICAKKyAgICBERUNMQVJFX0lORk87CisKK3Byb3RlY3RlZDoKKyAgICBjb25zdCBzdGF0aWMgdW5z
aWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNIYXNJbnN0YW5jZSB8IEJhc2U6OlN0cnVj
dHVyZUZsYWdzOworICAgICAgICAKKyAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2Vs
bCosIFNsb3RWaXNpdG9yJik7CisgICAgICAgIAorcHJpdmF0ZToKKyAgICBKU0Fycm93RnVuY3Rp
b24oVk0mLCBKU1Njb3BlKiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgU3RydWN0dXJlKik7CisKKyAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7Cit9OworICAgIAorfSAvLyBuYW1lc3BhY2UgSlND
CisjZW5kaWYgLy8gRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYCisKKyNlbmRpZiAvLyBKU0Fycm93
RnVuY3Rpb25faApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNG
dW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCmlu
ZGV4IDJjZmIzMzcyYzI4ZGMyMDg4NmMyMzgwOWQxOGU5MzNiNjJhNjQxNWYuLjNhMjM1MzVmZTg1
MWFlMmVmZmJhNzU5ZGZjZjllNmIwZjdiZjg2OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0Z1bmN0aW9uLmgKQEAgLTEzNiw2ICsxMzYsOSBAQCBwdWJsaWM6CiBwcm90ZWN0
ZWQ6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0
KiwgU3RydWN0dXJlKik7CiAgICAgSlNGdW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSos
IEpTU2NvcGUqKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEpT
RnVuY3Rpb24oVk0mLCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBKU1Njb3BlKiwgU3RydWN0dXJlKik7
CisjZW5kaWYKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBOYXRpdmVFeGVjdXRhYmxl
KiwgaW50IGxlbmd0aCwgY29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICB1c2luZyBCYXNlOjpmaW5p
c2hDcmVhdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
RnVuY3Rpb25JbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0
aW9uSW5saW5lcy5oCmluZGV4IGY2YzZkNThlYzZlNWMxMTY0Y2IyN2ZhNWU0MTYxOGI0YjgxNDJm
MDIuLjM4NTA2Y2MxOTlhMDA4ZmY4Zjk2YWRmNjg5YmUzNjA5ODc1ZGVhNWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaApAQCAtNDUs
NiArNDUsMTUgQEAgaW5saW5lIEpTRnVuY3Rpb246OkpTRnVuY3Rpb24oVk0mIHZtLCBGdW5jdGlv
bkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpTU2NvcGUqIHMKIHsKIH0KIAorI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitpbmxpbmUgSlNGdW5jdGlvbjo6SlNGdW5jdGlvbihW
TSYgdm0sIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgSlNTY29wZSogc2NvcGUsIFN0
cnVjdHVyZSogc3RydWN0dXJlKQorICAgIDogQmFzZSh2bSwgc2NvcGUsIHN0cnVjdHVyZSkKKyAg
ICAsIG1fZXhlY3V0YWJsZSh2bSwgdGhpcywgZXhlY3V0YWJsZSkKKyAgICAsIG1fcmFyZURhdGEo
KQoreworfQorI2VuZGlmCisgICAgCiBpbmxpbmUgRnVuY3Rpb25FeGVjdXRhYmxlKiBKU0Z1bmN0
aW9uOjpqc0V4ZWN1dGFibGUoKSBjb25zdAogewogICAgIEFTU0VSVCghaXNIb3N0RnVuY3Rpb25O
b25JbmxpbmUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bE9iamVjdC5jcHAKaW5kZXggZTM0YWRkMTI4MjQxYTk2MDM0ZWQ4NTc2YWNlYTg1MDNkM2JiZjEz
NC4uZWI2ZjI1MzU4YzM0YWU3NTk3MjczMzRmMDAwZmYzYjE0ZmY2ZjE5ZCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtNTgsNiAr
NTgsNyBAQAogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUg
IkpTQXJyYXlCdWZmZXJQcm90b3R5cGUuaCIKICNpbmNsdWRlICJKU0FycmF5SXRlcmF0b3IuaCIK
KyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24u
aCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDYWxsYmFja0NvbnN0cnVj
dG9yLmgiCkBAIC0yMzEsNiArMjMyLDkgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChWTSYg
dm0pCiAgICAgZXhlYy0+c2V0Q2FsbGVlKG1fZ2xvYmFsQ2FsbGVlLmdldCgpKTsKIAogICAgIG1f
ZnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0Z1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1
cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZS5zZXQo
dm0sIHRoaXMsIEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1
bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7CisjZW5kaWYKICAgICBtX2JvdW5kRnVuY3Rpb25TdHJ1
Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0JvdW5kRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwg
dGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOwogICAgIG1fbmFtZWRGdW5jdGlvblN0
cnVjdHVyZS5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uKHZt
LCBtX2Z1bmN0aW9uU3RydWN0dXJlLmdldCgpLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBEb250
RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51bSwgbV9mdW5jdGlvbk5hbWVPZmZzZXQpKTsKICAg
ICBtX2ludGVybmFsRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBJbnRlcm5hbEZ1bmN0
aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkp
KTsKQEAgLTczNiw2ICs3NDAsOSBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojp2aXNpdENoaWxkcmVu
KEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCiAgICAgdmlzaXRvci5hcHBlbmQo
JnRoaXNPYmplY3QtPm1fY2FsbGVlU3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhp
c09iamVjdC0+bV9mdW5jdGlvblN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNP
YmplY3QtPm1fYm91bmRGdW5jdGlvblN0cnVjdHVyZSk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9hcnJvd0Z1
bmN0aW9uU3RydWN0dXJlKTsKKyNlbmRpZgogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0
LT5tX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2Jq
ZWN0LT5tX3N5bWJvbE9iamVjdFN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNP
YmplY3QtPm1fcmVnRXhwTWF0Y2hlc0FycmF5U3RydWN0dXJlKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCmluZGV4IGQxN2I0YTM0OGZhMTRkYWQw
M2FiNzYwNmM3OTMxZWJlZmIxNzljZDIuLmM1YTQzNTk3ODAxNGZiZWE1ZDMxNGJkZTEwNTA5YmQ1
MjdmYWZmYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xv
YmFsT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxP
YmplY3QuaApAQCAtMjI3LDYgKzIyNyw5IEBAIHByb3RlY3RlZDoKICAgICBXcml0ZUJhcnJpZXI8
U3RydWN0dXJlPiBtX2NhbGxlZVN0cnVjdHVyZTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJl
PiBtX2Z1bmN0aW9uU3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYm91
bmRGdW5jdGlvblN0cnVjdHVyZTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZTsK
KyNlbmRpZgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fbmFtZWRGdW5jdGlvblN0cnVj
dHVyZTsKICAgICBQcm9wZXJ0eU9mZnNldCBtX2Z1bmN0aW9uTmFtZU9mZnNldDsKICAgICBXcml0
ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3ByaXZhdGVOYW1lU3RydWN0dXJlOwpAQCAtNDY0LDYgKzQ2
Nyw5IEBAIHB1YmxpYzoKICAgICBTdHJ1Y3R1cmUqIGNhbGxlZVN0cnVjdHVyZSgpIGNvbnN0IHsg
cmV0dXJuIG1fY2FsbGVlU3RydWN0dXJlLmdldCgpOyB9CiAgICAgU3RydWN0dXJlKiBmdW5jdGlv
blN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fZnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0K
ICAgICBTdHJ1Y3R1cmUqIGJvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBt
X2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIFN0cnVjdHVyZSogYXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpIGNv
bnN0IHsgcmV0dXJuIG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQorI2VuZGlmCiAg
ICAgU3RydWN0dXJlKiBuYW1lZEZ1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9u
YW1lZEZ1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CiAgICAgUHJvcGVydHlPZmZzZXQgZnVuY3Rp
b25OYW1lT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9mdW5jdGlvbk5hbWVPZmZzZXQ7IH0KICAg
ICBTdHJ1Y3R1cmUqIG51bWJlck9iamVjdFN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fbnVt
YmVyT2JqZWN0U3RydWN0dXJlLmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci5qcyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3BhcmFtdGVyLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjYzNjFiOGRiMDIyODI3OTZkMWJiMDRmNWRiZDQwMTliNzI4OWYyY2MKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tYXNwYXJhbXRlci5qcwpAQCAtMCwwICsxLDggQEAKKy8vIEluc3BpcmVkIGJ5IG1vemls
bGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNz
YWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSAr
ICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICIn
IjsKKyAgfQorfTsKKwordGVzdENhc2UoIiIgKyBbMSwgMiwgMywgNF0ubWFwKHggPT4geCwgMzIp
LCAiMSwyLDMsNCIsICJFcnJvcjogYXJyb3cgZnVuY3Rpb24gYXMgdGhlIHBhcmFtdGVycy4iKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5j
dGlvbi1hc3NvY2lhdGl2aXR5LTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0xLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkMWQ0N2E0
ODA3NWVjNTk4YzZiZTFlMDdkNzhhMzUyNjM1M2E5MTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0
eS0xLmpzCkBAIC0wLDAgKzEsMTMgQEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3Zh
ciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlm
IChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVk
ICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsK
KwordmFyIGFmMSwgYWYyLCBhZjM7CithZjEgPSBhZjIgPSBhZjMgPT4gYWYxID0gYWYyID0gYWYz
OwordGVzdENhc2UoYWYxLCBhZjIsICJFcnJvcjogd3JvbmcgYXNzb2NpYXRpdml0eSAjMS4iKTsK
K2FmMSgxMyk7Cit0ZXN0Q2FzZShhZjIsIDEzLCAiRXJyb3I6IHdyb25nIGFzc29jaWF0aXZpdHkg
IzIuIik7Cit0ZXN0Q2FzZShhZjEsIDEzLCAiRXJyb3I6IHdyb25nIGFzc29jaWF0aXZpdHkgIzMu
Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93
ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHktMi5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZWRk
ODM5YzZiYzdlZDZhNDBlZmZiYmM4NzU0ZWQxYmZkODA2YjQzCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0
aXZpdHktMi5qcwpAQCAtMCwwICsxLDE0IEBACisvLyBJbnNwaXJlZCBieSBtb3ppbGxhIHRlc3Rz
Cit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgewor
ICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBl
Y3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0K
K307CisKK3ZhciBzPSIiOworcyArPSB4ID0+IHgubmFtZTsKKworLy8gRml4IG1lLiBQb3NzaWJs
ZSB3ZSBoYXZlIG5vdCB1c2UgdGhlIEpTQm91bnRGdW5jdGlvbiB3cmFwcGVyIGZvciB0aGUgbGV4
aWNhbAorLy8gYmluZGluZyBvZiB0aGUgdGhpcyBhbmQgdXNlIGRpcmVjdCBpbmplY3Rpb24gb2Yg
dGhlICd0aGlzJyB2YWx1ZQorLy8gaW50byBhcnJyb3cgZnVuY3Rpb24KKy8vIHRlc3RDYXNlKHMs
ICJ4ID0+IHgubmFtZSIgLCAiRXJyb3I6IHdyb25nIHRvU3RyaW5nIGNvbnZlcnNpb24uIik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tYXNzb2NpYXRpdml0eS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY3ZWQxNTNjZWViYTUy
NjIyOGVjYTgyMTMwNDY5YTkyNDRiMTRjMDUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS5qcwpA
QCAtMCwwICsxLDEwIEBACisvLyBJbnNwaXJlZCBieSBtb3ppbGxhIHRlc3RzCit2YXIgdGVzdENh
c2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFs
ICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4
cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBh
ZiA9IGEgPT4gYiA9PiBhOworCit0ZXN0Q2FzZShhZignQUJDJykoJ0RFRicpLCAnQUJDJywgIkVy
cm9yOiB3cm9uZyBuZXN0ZWQgYXJyb3cgZnVuY3Rpb25zLiIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJsb2NrLTEuanMgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2stMS5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4wYzU3MWJiNzJmY2ZlZjUzMGM1OWRiNGI4NjBjYTRmMGE5NmE0MTE2Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJv
d2Z1bmN0aW9uLWJsb2NrLTEuanMKQEAgLTAsMCArMSwxMSBAQAorLy8gSW5zcGlyZWQgYnkgbW96
aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1l
c3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdl
ICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsg
IiciOworICB9Cit9OworCit2YXIgZiA9ICgpID0+IHt9OwordGVzdENhc2UodHlwZW9mIGYoKSwg
J3VuZGVmaW5lZCcsICJFcnJvcjogd3JvbmcgYXJyb3cgZnVuY3Rpb24gYmxvY2suIik7Cit2YXIg
ZyA9ICgpID0+ICh7fSk7Cit0ZXN0Q2FzZSh0eXBlb2YgZygpLCAnb2JqZWN0JywgIkVycm9yOiB3
cm9uZyBhcnJvdyBmdW5jdGlvbiBibG9jay4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ibG9jay0yLmpzIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJsb2NrLTIuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNDdlZTM1MmNmMDFkMTM2ZTMwMjkyMjczNmM1YzgwZWY1M2MwM2Y2ZQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1ibG9jay0yLmpzCkBAIC0wLDAgKzEsMTAgQEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVz
dHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7
CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4
cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAg
fQorfTsKKwordmFyIGFmID0gYSA9PiB7IGEgKyAxOyB9OworCit0ZXN0Q2FzZSh0eXBlb2YgYWYo
MCksICd1bmRlZmluZWQnLCAiRXJyb3I6IHdyb25nIGFycm93IGZ1bmN0aW9uIGJsb2NrICMyLiIp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1
bmN0aW9uLWNvbnN0cnVjdG9yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9hcnJvd2Z1bmN0aW9uLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk1MDdiNTM2NGYwNDEx
MzU4NWVhYmE4YzI0YTQ3YTRhMTBkMTZiN2IKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY29uc3RydWN0b3IuanMKQEAg
LTAsMCArMSwxOCBAQAordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQs
IG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNz
YWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFs
ICsgIiciOworICB9Cit9OworCit2YXIgc2ltcGxlQXJyb3dGdW5jdGlvbiA9ICgpID0+IHt9Owor
Cit2YXIgZXJyb3JPbkNyZWF0ZSA9IGZhbHNlOworCit0cnkgeworICB2YXIgZmMgPSBuZXcgc2lt
cGxlQXJyb3dGdW5jdGlvbigpOworfQorY2F0Y2ggKGUpIHsKKyAgZXJyb3JPbkNyZWF0ZSA9IHRy
dWU7Cit9CisKK3Rlc3RDYXNlKGVycm9yT25DcmVhdGUsIHRydWUsICJFcnJvcjogTm8gZXJyb3Ig
ZHVyaW5nIHJ1biBuZXcgQXJyb3dGdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWx0aGlzLTEuanMgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbHRo
aXMtMS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mNTUzMWY1NzU2MmYyODY4ZWVhZDM5ZmNkNjZlZTUwNzhiYWNl
ZDFiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9hcnJvd2Z1bmN0aW9uLWxleGljYWx0aGlzLTEuanMKQEAgLTAsMCArMSwxNyBAQAordmFyIHJl
c3VsdDsKKworIHZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNz
YWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSAr
ICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICIn
IjsKKyAgfQorfTsKKworZnVuY3Rpb24gRG9nKG5hbWUpIHsKKyAgdGhpcy5uYW1lID0gbmFtZTsK
KyAgdGhpcy5nZXROYW1lID0gKCkgPT4gZXZhbCgidGhpcy5uYW1lIik7CisgIHRoaXMuZ2V0TmFt
ZUhhcmQgPSAoKSA9PiBldmFsKCIoKCkgPT4gdGhpcy5uYW1lKSgpIik7Cit9CisKK3ZhciBkID0g
bmV3IERvZygiTWF4Iik7Cit0ZXN0Q2FzZShkLmdldE5hbWUoKSwgZC5uYW1lLCAiRXJyb3I6IHRo
aXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAj
MSIpOwordGVzdENhc2UoZC5nZXROYW1lSGFyZCgpLCBkLm5hbWUsICJFcnJvcjogdGhpcyBpcyBu
b3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMyIik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tbGV4aWNhbHRoaXMuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tbGV4aWNhbHRoaXMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjEyZmJhZjgwNDQ4MmM3NzYx
YzM3ZGQ2OTNhODQ4NWU1NTExNTczZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsdGhpcy5qcwpAQCAtMCww
ICsxLDMxIEBACit2YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVh
bCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAg
ICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2Fz
ICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgYWZPYmpMZXhCaW5kMiA9IGZ1bmN0
aW9uICgpIHsKKyAgdGhpcy5mdW5jID0gKCkgPT4gdGhpczsKK307CisKK3ZhciBhZk9iakxleEJp
bmQySW5zdGFuY2UgPSBuZXcgYWZPYmpMZXhCaW5kMigpOworCit0ZXN0Q2FzZShhZk9iakxleEJp
bmQySW5zdGFuY2UuZnVuYygpID09PSBhZk9iakxleEJpbmQySW5zdGFuY2UsIHRydWUsICJFcnJv
cjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0
aW9uICMyIik7CisKK3ZhciBvYmogPSB7CisgIG1ldGhvZDogZnVuY3Rpb24gKCkgeworICAgIHJl
dHVybiAoKSA9PiB0aGlzOworICB9Cit9OworCit0ZXN0Q2FzZShvYmoubWV0aG9kKCkoKSA9PT0g
b2JqLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiAjMyIpOworCit2YXIgZmFrZSA9IHtzdGVhbDogb2JqLm1ldGhv
ZCgpfTsKK3Rlc3RDYXNlKGZha2Uuc3RlYWwoKSA9PT0gb2JqLCB0cnVlLCAiRXJyb3I6IHRoaXMg
aXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNCIp
OworCisKKy8vIEZpeG1lOiBmb2xsb3dpbmcgdGVzdCBmYWlscyBpbiBkZmctZWFnZXItbm8tY2pp
dC12YWxpZGF0ZSAmIGZ0bC1lYWdlci1uby1jaml0IG1vZGUKK3ZhciByZWFsID0ge2JvcnJvdzog
b2JqLm1ldGhvZH07Cit0ZXN0Q2FzZShyZWFsLmJvcnJvdygpKCkgPT09IHJlYWwsIHRydWUsICJF
cnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1
bmN0aW9uICM1Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tb3RoZXJzLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLW90aGVycy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZWJhMTFmMzAyMmUz
NGE4MDAwYTU3MDA3NmRiMWE1NWE0YTMyYjIxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLW90aGVycy5qcwpAQCAtMCww
ICsxLDEzIEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVz
c2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2Ug
KyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAi
JyI7CisgIH0KK307CisKK3ZhciBzaW1wbGVBcnJvd0Z1bmN0aW9uID0gKCkgPT4ge307CisKK3Rl
c3RDYXNlKE9iamVjdC5nZXRQcm90b3R5cGVPZihzaW1wbGVBcnJvd0Z1bmN0aW9uKSwgRnVuY3Rp
b24ucHJvdG90eXBlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGdldFByb3RvdHlwZU9mIHZhbHVlIGZv
ciBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uIGluc3Rh
bmNlb2YgRnVuY3Rpb24sIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBpbnN0
YW5jZW9mIG1ldGhvZCBmb3IgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2Uoc2ltcGxlQXJy
b3dGdW5jdGlvbi5jb25zdHJ1Y3RvciA9PSBGdW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3QgY29y
cmVjdCByZXN1bHQgZm9yIGNvbnN0cnVjdG9yIG1ldGhvZCBvZiBhcnJvdyBmdW5jdGlvbiIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0
aW9uLXRkei5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5j
dGlvbi10ZHouanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTlkMzVjZGVhNGJhZjY2NzQzMWFmOGFiZThkYWRmMjJk
MDRiOTBlMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvYXJyb3dmdW5jdGlvbi10ZHouanMKQEAgLTAsMCArMSwyNCBAQAordmFyIEEgPSBjbGFz
cyBBIHsgfTsKK3ZhciBCID0gY2xhc3MgQiBleHRlbmRzIEEgeworICBjb25zdHJ1Y3RvcihhY2Nl
c3NUaGlzQmVmb3JlU3VwZXIpIHsKKyAgICBpZiAoYWNjZXNzVGhpc0JlZm9yZVN1cGVyKSB7Cisg
ICAgICB2YXIgZiA9ICgpID0+IHRoaXM7CisgICAgICBzdXBlcigpOworICAgIH0gZWxzZSB7Cisg
ICAgICBzdXBlcigpOworICAgIH0KKyAgfQorfTsKKwordmFyIGV4Y2VwdGlvbiA9IG51bGw7Cit0
cnkgeworICAgICBuZXcgQih0cnVlKTsKK30gY2F0Y2ggKGUpIHsKKyAgICBleGNlcHRpb24gPSBl
OworICAgIGlmICghKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikpCisgICAgICAgIHRocm93
ICJFeGNlcHRpb24gdGhyb3duIHdhcyBub3QgYSByZWZlcmVuY2UgZXJyb3IiOworfQoraWYgKCFl
eGNlcHRpb24pCisgICAgdGhyb3cgIkV4Y2VwdGlvbiBub3QgdGhyb3duIGZvciBhbiB1bml0aWFs
aXplZCB0aGlzIGF0IGl0ZXJhdGlvbiI7CisKK3ZhciBlID0gbmV3IEIoZmFsc2UpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXR5
cGVvZi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi10eXBlb2YuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWYyYTdmNTQ0NzZhYmE5YzI4OTIzYzM1ZjFkYjNjNDMy
N2FjOTQ2OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvYXJyb3dmdW5jdGlvbi10eXBlb2YuanMKQEAgLTAsMCArMSwyMSBAQAordmFyIHRlc3RD
YXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVh
bCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBl
eHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIg
YWYxID0gKCkgPT4ge307Cit2YXIgYWYyID0gKGEpID0+IHthICsgMX07CisKK3Rlc3RDYXNlKHR5
cGVvZiBhZjEsICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNvcnJlY3QgdHlwZSBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24gIzEiKTsKK3Rlc3RDYXNlKHR5cGVvZiBhZjEucHJvdG90eXBlID09PSAndW5k
ZWZpbmVkJywgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBv
ZiBhcnJvdyBmdW5jdGlvbiAjMSIpOworCit0ZXN0Q2FzZSh0eXBlb2YgYWYyLCAiZnVuY3Rpb24i
LCAiRXJyb3I6IE5vdCBjb3JyZWN0IHR5cGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMyIik7Cit0
ZXN0Q2FzZSh0eXBlb2YgYWYyLnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJFcnJv
cjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBwcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24gIzIi
KTsKKwordGVzdENhc2UodHlwZW9mICgoKT0+e30pLCAiZnVuY3Rpb24iLCAiRXJyb3I6IE5vdCBj
b3JyZWN0IHR5cGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMzIik7Cit0ZXN0Q2FzZSh0eXBlb2Yg
KCgpPT57fSkucHJvdG90eXBlID09PSAndW5kZWZpbmVkJywgdHJ1ZSwgIkVycm9yOiBOb3QgY29y
cmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiAjMyIpOworCisKK3Rl
c3RDYXNlKHR5cGVvZiAoKGIpID0+IHtiICsgMX0pLCAiZnVuY3Rpb24iLCAiRXJyb3I6IE5vdCBj
b3JyZWN0IHR5cGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM0Iik7Cit0ZXN0Q2FzZSh0eXBlb2Yg
KChiKSA9PiB7YiArIDF9KS5wcm90b3R5cGUgPT09ICd1bmRlZmluZWQnLCB0cnVlLCAiRXJyb3I6
IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9uICM0Iik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24uanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMDY4N2IzYWFiMWQyN2Y0NTNmOTA3NjFjZWMxYWQ0ZDA1Y2YwM2Iz
NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YXJyb3dmdW5jdGlvbi5qcwpAQCAtMCwwICsxLDE1NCBAQAordmFyIHJlc3VsdDsKKworIHZhciB0
ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChh
Y3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICci
ICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwor
dmFyIGFycm93RnVuY3Rpb24wID0gdiA9PiB2ICsgMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24w
KDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogdiA9PiB2ICsgMSIpOworCit2YXIgYXJyb3dGdW5jdGlv
bjEgPSAodikgPT4gdiAqIDI7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMSgxMCk7Cit0ZXN0Q2Fz
ZShyZXN1bHQsIDIwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb246ICh2KSA9PiB2ICsgMSIpOworCit2YXIgYXJyb3dGdW5jdGlvbjIgPSAoKSA9PiAx
MDAwOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjIoMTIxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDEw
MDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjog
KCkgPT4gMTAwMCIpOworCit2YXIgdG1wVmFyaWFsdmUyXzEgPSAxNTE7Cit2YXIgYXJyb3dGdW5j
dGlvbjJfMSA9ICgpID0+IHRtcFZhcmlhbHZlMl8xOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjJf
MSgxMjEpOwordGVzdENhc2UocmVzdWx0LCB0bXBWYXJpYWx2ZTJfMSAsIkVycm9yOiBOb3QgY29y
cmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAoKSA9PiB2YXJpYWJsZSIpOwor
Cit2YXIgYXJyb3dGdW5jdGlvbjMgPSAodiwgeCkgPT4gdiArIHg7CityZXN1bHQgPSBhcnJvd0Z1
bmN0aW9uMygxMSwxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDIzICwiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICh4LCB5KSA9PiB4ICsgeSIpOworCit2
YXIgYXJyb3dGdW5jdGlvbldyYXBwZXIgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVyKSB7IHJldHVy
biBjbChwYXJhbXRlcik7IH07CisKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4g
MTIzNCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMzQgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMpIik7CisKKyBy
ZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEyMzQsIDIzNDUpOwordGVzdENhc2Uo
cmVzdWx0LCAxMjM0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjLCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dG
dW5jdGlvbldyYXBwZXIoeCA9PiAxMjEgKyAyMzIpOwordGVzdENhc2UocmVzdWx0LCAzNTMgLCJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJh
bXRlcjogZih4ID0+IGMxICsgYzIpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBl
cih4ID0+IDEyMyArIDMyMSwgOTk5OSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDQ0NCAsIkVycm9yOiBO
b3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBm
KHggPT4gYzEgKyBjMiwgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHgg
PT4geCArIDEyLCAyMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDMzICwiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiB4ICsg
YzEsIHkpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoeCkgPT4geCArIDIx
LCAzMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDUzLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKHgpID0+IGMxICsgYzIsIHkp
Iik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiAxMDApOwordGVzdENh
c2UocmVzdWx0LCAxMDAsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjKSIpOworCisgdmFyIGV4dF92YWx1ZSA9
IDEyMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IGV4dF92YWx1ZSk7Cit0
ZXN0Q2FzZShyZXN1bHQsIDEyMSwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhl
IGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IHYpIik7CisKKyByZXN1bHQgPSBh
cnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiBleHRfdmFsdWUgKiAxMCk7Cit0ZXN0Q2FzZShyZXN1
bHQsIDEyMTAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiB2KngpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0
aW9uV3JhcHBlcigoeCkgPT4gZXh0X3ZhbHVlICogeCwgMzApOwordGVzdENhc2UocmVzdWx0LCAz
MCpleHRfdmFsdWUgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbiBhcyBwYXJhbXRlcjogZigoeCkgPT4gdip4LCB5KSIpOworCisgcmVzdWx0ID0gYXJy
b3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwLCAxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMCAs
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBh
cmFtdGVyOiBmKCgpID0+IGMxLCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBw
ZXIoKCkgPT4gMTAwICsgMTApOwordGVzdENhc2UocmVzdWx0LCAxMTAgLCJFcnJvcjogTm90IGNv
cnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9
PiBjMSArIGMyKSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAw
ICsgMTEsIDEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYzEgKyBj
MiwgeSkiKTsKKworIHZhciBhcnJvd0Z1bmN0aW9uNCA9IHYgPT4gdiArIDEsIHh5ejEgPSAxMDEw
MTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb240KDEwMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDEy
ICwiRXJyb3I6IE5vdCBjb3JyZWN0IHBhcnNpbmcgb2YgdGggYXJyb3cgZnVuY3Rpb24gaW5zaWRl
IG9mIHRoZSBsaXN0IG9mIHZhcnM6IHZhciBhZiA9IHY9PiB2ICsgMTsgenhjPWM7Iik7Cit0ZXN0
Q2FzZSh4eXoxLCAxMDEwMSAsIkVycm9yOiBOb3QgY29ycmVjdCBwYXJzaW5nIG9mIHRoIGFycm93
IGZ1bmN0aW9uIGluc2lkZSBvZiB0aGUgbGlzdCBvZiB2YXJzOiB2YXIgYWYgPSB2PT4gdiArIDE7
IHp4Yz1jOyIpOworCisgdmFyIGFycm93RnVuY3Rpb25XcmFwcGVyMiA9IGZ1bmN0aW9uIChjbCwg
cGFyYW10ZXIxLCBwYXJhbXRlcjIpIHsgcmV0dXJuIGNsKHBhcmFtdGVyMSwgcGFyYW10ZXIyKTsg
fTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyMigoeCwgeSkgPT4geCArIHksIDEyICw0
Myk7Cit0ZXN0Q2FzZShyZXN1bHQsIDU1ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW1ldGVyOiBmKCh4LCB5KSA9PiB4ICsgeSwgYzEs
IGMyKSIpOworCisgdmFyIGFycm93RnVuY3Rpb0FycmF5MCA9IFt2ID0+IHYgKiAxMF07CityZXN1
bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTBbMF0oMTApOwordGVzdENhc2UocmVzdWx0LCAxMDAgLCJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVt
IGluIGFycmF5OiBbdj0+dioxMF0iKTsKKworIHZhciBhcnJvd0Z1bmN0aW9BcnJheTEgPSBbdiA9
PiB2ICsgMSwgdiA9PiB2ICsgMl07CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTFbMF0oMTAp
OwordGVzdENhc2UocmVzdWx0LCAxMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFt2ID0+IHYgKyAxLCAgdiA9PiB2
ICsgMl0iKTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5MVsxXSgxMSk7Cit0ZXN0Q2FzZShy
ZXN1bHQsIDEzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb24gYXMgaXRlbSBpbiBhcnJheTogW3YgPT4gdiArIDEsICB2ID0+IHYgKyAyXSIpOworCisg
dmFyIGFycm93RnVuY3Rpb0FycmF5MiA9IFsodikgPT4gdiArIDEsICh2KSA9PiB2ICsgMl07City
ZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTJbMF0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMiAs
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0
ZW0gaW4gYXJyYXk6IFsodikgPT4gdiArIDEsICAodikgPT4gdiArIDJdIik7CityZXN1bHQgPSBh
cnJvd0Z1bmN0aW9BcnJheTJbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMyAsIkVycm9yOiBO
b3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJy
YXk6IFsodikgPT4gdiArIDEsICAodikgPT4gdiArIDJdIik7CisKKyB2YXIgYXJyb3dGdW5jdGlv
QXJyYXkzID0gWygpID0+IDEwMSwgKCkgPT4gMTIzMjNdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlv
QXJyYXkzWzBdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAxLCAiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogWygpID0+
IGMxLCAgKCkgPT4gYzJdIik7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTNbMV0oMTEpOwor
dGVzdENhc2UocmVzdWx0LCAxMjMyMywgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsoKSA9PiBjMSwgICgpID0+IGMy
XSIpOworCit2YXIgYXJyb3dGdW5jdGlvbk9iaiA9IHtmdW5jIDogeSA9PiB5ICsgMTJ9OworcmVz
dWx0ID0gYXJyb3dGdW5jdGlvbk9iai5mdW5jKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjMgLCAi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcHJv
cGVydHk6IHtmdW5jIDogeSA9PiB5ICsgMTIgfSIpOworCit2YXIgYWZPYmpMZXhCaW5kMiA9IGZ1
bmN0aW9uICgpIHsKKyAgdGhpcy5mdW5jID0gKCkgPT4gdGhpczsKK307CisKK3ZhciBhcnJvd0Zh
dEZ1bmN0aW9uMCA9ICgpID0+IHsgcmV0dXJuIDEwMDA7IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1
bmN0aW9uMCgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMDAgLCJFcnJvcjogTm90IGNvcnJlY3Qg
ZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICgpID0+
IHsgcmV0dXJuIDEwMDA7IH0iKTsKKwordmFyIGFycm93RmF0RnVuY3Rpb24xID0gdiA9PiB7IHZh
ciBpbnR2YWwgPSAxMDA7IHJldHVybiB2ICogaW50dmFsOyB9OworcmVzdWx0ID0gYXJyb3dGYXRG
dW5jdGlvbjEoMTEpOwordGVzdENhc2UocmVzdWx0LCAxMTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiB4ID0+
IHsgdmFyIHY9MTAwMDsgcmV0dXJuIHYqeDsgfSIpOworCit2YXIgYXJyb3dGYXRGdW5jdGlvbjIg
PSAodikgPT4geyB2YXIgaW50ID0gMjAwOyByZXR1cm4gdiAqIGludDsgfTsKK3Jlc3VsdCA9IGFy
cm93RmF0RnVuY3Rpb24yKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjIwMCAsIkVycm9yOiBOb3Qg
Y29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9j
azogKHgpID0+IHsgdmFyIHY9MTAwMDsgcmV0dXJuIHYqeDsgfSIpOworCit2YXIgYXJyb3dGYXRG
dW5jdGlvbjMgPSAodiwgeCkgPT4geyB2YXIgcmVzdWx0ID0geCAqIHY7IHJldHVybiByZXN1bHQ7
IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0aW9uMygxMSwgMTIyMjIpOwordGVzdENhc2UocmVz
dWx0LCAxMzQ0NDIgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICh2LCB4KSA9PiB7IHZhciByZXN1bHQgPSB4ICog
djsgcmV0dXJuIHJlc3VsdDsgfSIpOworCityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4
PT57cmV0dXJuIHggKiAyNTt9LCAxMjEpOwordGVzdENhc2UocmVzdWx0LCAyNSoxMjEgLCJFcnJv
cjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkg
YXMgYmxvY2s6IGYoeCA9PiB7cmV0dXJuIHggKiAyNTt9LCAxMjEpIik7CisKK3Jlc3VsdCA9IGFy
cm93RnVuY3Rpb25XcmFwcGVyMigoeCwgeSk9PntyZXR1cm4geCAqIHk7fSwgMTQsIDEyKTsKK3Rl
c3RDYXNlKHJlc3VsdCwgMTQqMTIgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6IGYoKHgsIHkpPT57cmV0dXJuIHgg
KiB5O30sIDE0LCAxMjEpKSIpOworCit2YXIgc2ltcGxlQXJyb3dGdW5jdGlvbiA9ICgpID0+IHt9
OworCit0ZXN0Q2FzZSh0eXBlb2Ygc2ltcGxlQXJyb3dGdW5jdGlvbiwgImZ1bmN0aW9uIiwgIkVy
cm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2Fz
ZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yoc2ltcGxlQXJyb3dGdW5jdGlvbiksIEZ1bmN0aW9uLnBy
b3RvdHlwZSwgIkVycm9yOiBOb3QgY29ycmVjdCBnZXRQcm90b3R5cGVPZiB2YWx1ZSBmb3IgYXJy
b3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2Uoc2ltcGxlQXJyb3dGdW5jdGlvbiBpbnN0YW5jZW9m
IEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgaW5zdGFuY2Vv
ZiBtZXRob2QgZm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93RnVu
Y3Rpb24uY29uc3RydWN0b3IgPT0gRnVuY3Rpb24sIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3Qg
cmVzdWx0IGZvciBjb25zdHJ1Y3RvciBtZXRob2Qgb2YgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVz
dENhc2UodHlwZW9mIHNpbXBsZUFycm93RnVuY3Rpb24ucHJvdG90eXBlID09PSAndW5kZWZpbmVk
JywgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJv
dyBmdW5jdGlvbiIpOworCit2YXIgZXJyb3JPbkNyZWF0ZSA9IGZhbHNlOworCit0cnkgeworICB2
YXIgZmMgPSBuZXcgc2ltcGxlQXJyb3dGdW5jdGlvbigpOworfQorY2F0Y2ggKGUpIHsKKyAgZXJy
b3JPbkNyZWF0ZSA9IHRydWU7Cit9CisKK3Rlc3RDYXNlKGVycm9yT25DcmVhdGUsIHRydWUsICJF
cnJvcjogTm8gZXJyb3IgZHVyaW5nIHJ1biBuZXcgQXJyb3dGdW5jdGlvbiIpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcg
Yi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpp
bmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2OTcy
ZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUs
NyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FO
VkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZ
TlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NTU19BTklNQVRJT05T
X0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMjsKQEAgLTIxNCw0ICsyMTUs
NCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9B
UklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVS
RV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFC
TEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NB
Q0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19Q
Uk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5U
QVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFC
TEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JS
RUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRB
VElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9O
UykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQo
RU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxF
X0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5B
QkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJM
RV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxF
X0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQo
RU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVO
QUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxF
X0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJF
Q0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElN
RVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NP
TlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQo
RU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJM
RV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykg
JChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdB
Q1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRD
SCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5B
QkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVU
RVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkg
JChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NP
TkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lO
KSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9Y
SU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RB
KSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRP
Q09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05f
TUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xM
X1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAk
KEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19P
VEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFC
TEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RS
QUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChF
TkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdf
TU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5B
QkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJ
WkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFC
TEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxF
X0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVO
QUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJM
RV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVf
QUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQo
RU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAk
KEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVf
Q1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19C
T1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9D
U1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVf
Q1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChF
TkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJM
RV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5F
X0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVN
RV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1Rf
RUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19F
TEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRT
X0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURf
RVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFC
TEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElE
REVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChF
TkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5D
T01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1Nf
R0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lP
U19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5B
QkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJP
TFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VT
RV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJM
RV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFC
TEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNF
UykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNU
KSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5B
QkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVO
QUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChF
TkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJM
RV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRT
KSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9E
RVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJ
WklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcp
ICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChF
TkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVF
KSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChF
TkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRU
X1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9G
VExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRf
QVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwppbmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4
YTc2OTcyZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpA
QCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7
CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVf
RVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFC
TEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0g
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NT
U19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMjsKQEAg
LTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJB
VEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJ
QzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9M
TElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQp
ICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5B
QkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VT
Nl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1Bf
TkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9E
RUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19E
RVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJM
RV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NT
U19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJF
QUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hB
TkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVN
RU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1F
TlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09O
U1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVO
VFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9H
QU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5f
UEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBM
RVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9X
RUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxF
X0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVf
TElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19T
Q1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykg
JChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NV
UlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05B
VklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
REZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAk
KEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQo
RU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVf
UkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxF
X1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJM
RV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NU
UkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQo
RU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVD
VElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChF
TkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQo
RU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJf
QVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJM
RV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVH
SU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9K
SVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklU
SE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZB
UykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZf
Q0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFS
VElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAk
KEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChF
TkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklO
RykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQo
RU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5H
KSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9V
VCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVT
T0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVW
RUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NT
UzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVf
Q1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFC
TEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFC
TEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJM
RV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FN
RVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikg
JChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05E
QVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJ
RV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
Ul9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAk
KEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVS
UFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVf
TUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAk
KEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VU
SUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElD
X1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05f
RlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5T
UEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJf
QkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhF
U0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFC
TEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBI
T05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxF
X1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9J
Q09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VM
RUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9E
QVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJH
TCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJf
U09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChF
TkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xU
KSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVS
QVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwppbmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFmODYw
Li4xMTQ4YTc2OTcyZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1NTBhMDUxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpA
QCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7
CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVf
RVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFC
TEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0g
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NT
U19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMjsKQEAg
LTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJB
VEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJ
QzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9M
TElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQp
ICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5B
QkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VT
Nl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1Bf
TkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9E
RUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19E
RVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJM
RV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NT
U19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJF
QUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hB
TkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVN
RU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1F
TlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09O
U1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVO
VFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9H
QU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5f
UEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBM
RVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9X
RUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxF
X0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVf
TElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19T
Q1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykg
JChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NV
UlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05B
VklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
REZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAk
KEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQo
RU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVf
UkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxF
X1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJM
RV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NU
UkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQo
RU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVD
VElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChF
TkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQo
RU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJf
QVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJM
RV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVH
SU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9K
SVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklU
SE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZB
UykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZf
Q0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFS
VElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAk
KEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChF
TkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklO
RykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQo
RU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5H
KSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9V
VCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVT
T0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVW
RUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NT
UzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVf
Q1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFC
TEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFC
TEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJM
RV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FN
RVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikg
JChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05E
QVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJ
RV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
Ul9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAk
KEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVS
UFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVf
TUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAk
KEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VU
SUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElD
X1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05f
RlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5T
UEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJf
QkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhF
U0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFC
TEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBI
T05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxF
X1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9J
Q09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VM
RUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9E
QVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJH
TCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJf
U09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChF
TkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xU
KSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVS
QVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlIGIvU291cmNl
L2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCmluZGV4IGY3NDdkYzgxNDExMzNjODk1YTNkYTM3
ODNiNGFlNTVkZTVhMDQyYmMuLjZiZDhiOTZjNzFlMmY1MmM2ZjhkNTNjNDE1MjIxZjg5ZTYxZDA2
OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQorKysgYi9T
b3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKQEAgLTM5LDYgKzM5LDcgQEAgbWFjcm8o
V0VCS0lUX09QVElPTl9CRUdJTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ0FO
VkFTX1BST1hZICJUb2dnbGUgQ2FudmFzUHJveHkgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9P
UFRJT05fREVGSU5FKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyAiVG9nZ2xlIE1lc3NhZ2VDaGFu
bmVsIGFuZCBNZXNzYWdlUG9ydCBzdXBwb3J0IiBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklO
RShFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCAiVG9nZ2xlIEVTNiBjbGFzcyBzeW50YXggc3VwcG9y
dCIgT04pCisgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCAiVG9nZ2xlIEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXggc3VwcG9ydCIgT04pCiAg
ICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HICJUb2dnbGUg
Y29udGVudCBmaWx0ZXJpbmcgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5F
KEVOQUJMRV9DT05URVhUX01FTlVTICJUb2dnbGUgQ29udGV4dCBNZW51IHN1cHBvcnQiIE9OKQog
ICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DU1BfTkVYVCAiVG9nZ2xlIENvbnRlbnQg
U2VjdXJpdHkgUG9saWN5IDEuMSBzdXBwb3J0IiBPRkYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21h
a2Vjb25maWcuaC5jbWFrZSBiL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCmluZGV4IDVlOTgz
ZDVlNjViMDdlZjdkYzUzZWM5ZDNjNmE4YTI5MzkxNzVjYjIuLjIzZGFmNTk2NjM1MDIyZGY0MjBm
MjhhZGE2N2Q5MzQ3N2NhMGUyZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNt
YWtlCisrKyBiL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCkBAIC0xNCw2ICsxNCw3IEBACiAj
Y21ha2VkZWZpbmUwMSBFTkFCTEVfQ0FOVkFTX1BST1hZCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFY
CisjY21ha2VkZWZpbmUwMSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYCiAjY21ha2Vk
ZWZpbmUwMSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9D
T05URVhUX01FTlVTCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ1JFREVOVElBTF9TVE9SQUdFCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0gYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KaW5kZXggMDAwMzJjMWQwMjU0ZjRk
NmE3YTBmY2E1NTMxYjM0MWQzNWQyOTU3Mi4uNGRlN2YxM2Q1MzA5N2UyNTk3YWQ4YjMzMzBkMjVj
MWFkY2Y2NmUyZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVM
aXN0LnBtCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQpAQCAt
NDQsNiArNDQsNyBAQCBCRUdJTiB7CiBteSAoCiAgICAgJHRocmVlRFJlbmRlcmluZ1N1cHBvcnQs
CiAgICAgJGFjY2VsZXJhdGVkMkRDYW52YXNTdXBwb3J0LAorICAgICRhcnJvd2Z1bmN0aW9uU3lu
dGF4LAogICAgICRhdHRhY2htZW50RWxlbWVudFN1cHBvcnQsCiAgICAgJGJhdHRlcnlTdGF0dXNT
dXBwb3J0LAogICAgICRjYW52YXNQYXRoU3VwcG9ydCwKQEAgLTE1NSw5ICsxNTYsMTMgQEAgbXkg
QGZlYXR1cmVzID0gKAogICAgIHsgb3B0aW9uID0+ICJhY2NlbGVyYXRlZC0yZC1jYW52YXMiLCBk
ZXNjID0+ICJUb2dnbGUgQWNjZWxlcmF0ZWQgMkQgQ2FudmFzIHN1cHBvcnQiLAogICAgICAgZGVm
aW5lID0+ICJFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTIiwgZGVmYXVsdCA9PiBpc0d0aygp
LCB2YWx1ZSA9PiBcJGFjY2VsZXJhdGVkMkRDYW52YXNTdXBwb3J0IH0sCiAKKyAgICB7IG9wdGlv
biA9PiAiYXJyb3dmdW5jdGlvbi1zeW50YXgiLCBkZXNjID0+ICJUb2dnbGUgRVM2IGFycm93IGZ1
bmN0aW9uIHN5bnRheCBzdXBwb3J0IiwKKyAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCIsIGRlZmF1bHQgPT4gMSwgdmFsdWUgPT4gXCRhcnJvd2Z1bmN0aW9u
U3ludGF4IH0sCisKICAgICB7IG9wdGlvbiA9PiAiYXR0YWNobWVudC1lbGVtZW50IiwgZGVzYyA9
PiAiVG9nZ2xlIEF0dGFjaG1lbnQgRWxlbWVudCBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAi
RU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCIsIGRlZmF1bHQgPT4gMCwgdmFsdWUgPT4gXCRhdHRh
Y2htZW50RWxlbWVudFN1cHBvcnQgfSwKIAorCiAgICAgeyBvcHRpb24gPT4gImJhdHRlcnktc3Rh
dHVzIiwgZGVzYyA9PiAiVG9nZ2xlIEJhdHRlcnkgU3RhdHVzIHN1cHBvcnQiLAogICAgICAgZGVm
aW5lID0+ICJFTkFCTEVfQkFUVEVSWV9TVEFUVVMiLCBkZWZhdWx0ID0+IGlzRWZsKCksIHZhbHVl
ID0+IFwkYmF0dGVyeVN0YXR1c1N1cHBvcnQgfSwKIApkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIv
Q2hhbmdlTG9nCmluZGV4IDI5MTRmNjFkYmQxNjAzNzZkZTUyODFlMzE3MjhmZjdiMmE5NWY4ZGIu
LjVlZDMyODhjZWIzZDE5NzIwZTg0MDM3ZjdhNTgwMjM1ZDY0ZWE3ZTQgMTAwNjQ0Ci0tLSBhL0No
YW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNS0wNC0xNyAgIFNr
YWNoa292IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJ
bXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICBBZGRlZCBmZWF0dXJlIGZsYWcgdG8gc3dpdGNo
IG9uL29mZiBlczYgYXJyb3cgZnVuY3Rpb24gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WAorCisgICAgICAgICAqIFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZToKKyAgICAg
ICAgICogU291cmNlL2NtYWtlY29uZmlnLmguY21ha2U6CisKIDIwMTUtMDQtMTYgIEJhc2lsZSBD
bGVtZW50ICA8YmFzaWxlX2NsZW1lbnRAYXBwbGUuY29tPgogCiAgICAgICAgIEV4dHJhY3QgdGhl
IGFsbG9jYXRpb24gcHJvZmlsZSBmcm9tIEpTRnVuY3Rpb24gaW50byBhIHJhcmUgb2JqZWN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251055</attachid>
            <date>2015-04-17 15:00:21 -0700</date>
            <delta_ts>2015-04-17 15:15:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150418005920.patch</filename>
            <type>text/plain</type>
            <size>145415</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyOTY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
ZTA1MWZkMTAxZjlkMGMzZmVkZTk0MmY4N2IxNjI0NGVlMDU0MWM2Li4yNzA5YjhmNzU3MTM3ODAx
ZDllZDc0YjFlYjBiMjg3YTlkNmYzNzBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MTAgKzEsMTI1IEBACi0yMDE1LTA0LTEyICBBbGV4YW5kciBTa2FjaGtvdiAgPGdza2FjaGtvdkBn
bWFpbC5jb20+Ci0gICAgICAgIFNtYWxsIHJlZmFjdG9yaW5nIG9mIHRoZSBwYXJjZXIuY3BwIGZp
bGUuIEl0IGlzIG5lY2Vzc2FyeSB0byBpbmNyZWFzZSByZWFkYWJpbGl0eSBvZiB0aGUgcGF0Y2gK
LSAgICAgICAgd2l0aCBFUzYgQXJyb3cgZnVuY3Rpb24gaW1wbGVtZW50YXRpb24KLSAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQorMjAxNS0wNC0x
NyAgQWxleGFuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21haWwuY29tPgogCi0gICAgICAgICog
cGFyc2VyL1BhcnNlci5oOgorICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5j
dGlvbiBzeW50YXgKKyAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkZWQgc3VwcG9ydCBvZiBFUzYgYXJyb3cgZnVuY3Rpb24uIENoYW5nZXMgd2VyZSBt
YWRlIGFjY29yZGluZyBmb2xsb3dpbmcgc3BlYyBodHRwOi8vd2lraS5lY21hc2NyaXB0Lm9yZy9k
b2t1LnBocD9pZD1oYXJtb255OmFycm93X2Z1bmN0aW9uX3N5bnRheAorICAgICAgICBJbiBwYXRj
aCB3ZXJlIGltcGxlbWVudGVkIHRoZSBzaW1wbGVzdCBjYXNlczoKKyAgICAgICAgICAxIG5vIHBh
cmFtZXRlcnMgICAgICAgICAgICAgICAgKCkgPT4gMTAgKyAyMAorICAgICAgICAgIDIgc2luZ2xl
IHBhcmFtZXRlciAgICAgICAgICAgICAgeCA9PiB4ICsgMjAKKyAgICAgICAgICAzIG11bHRpcGxl
IHBhcmFtZXRlcnMgICAgICAoeCwgeSkgPT4geCArIHkKKyAgICAgICAgICA0IGFycm93IGZ1bmN0
aW9uIHdpdGggYmxvY2sgICAgIHggPT4geyByZXR1cm4geCoxMDsgfQorICAgICAgICAgIDUgbGV4
aWNhbCB0aGlzIC0gdmFyaWFibGUgdGhpcyBpcyBwb2ludCB0byB0aGUgdGhpcyBvZiB0aGUgZnVu
Y3Rpb24gd2hlcmUgYXJyb3cgZnVuY3Rpb24gaXMgZGVjbGFyZWQKKyAgICAgICAgICA2IE5vIGNv
bnN0cnVjdG9yIC0gdGhlIHVzaW5nIG9mIHRoZSBjb21tYW5kIG5ldyBmb3IgYXJyb3cgZnVuY3Rp
b24gbGVhZHMgdG8gcnVudGltZSBlcnJvci4gCisKKyAgICAgICAgIE5vdCB5ZXQgaW1wbGVtZW50
ZWQ6CisgICAgICAgICAgMSB0aGUgdmFyaWFibGUgd2l0aCBuYW1lIGFyZ3VtZW50cyBpbnNpZGUg
b2YgdGhlIGFycm93IGZ1bmN0aW9uIHNob3VsZCBwb2ludCB0byBsaXN0IG9mIGFyZ3VtZW50cyBv
ZiBmdW5jdGlvbiB3aGVyZSBhcnJvdyBmdW5jdGlvbiBpcyBkZWNsYXJlZAorICAgICAgICAgIDIg
cGFyc2VyIHdpbGwgcGFyc2UgdGhlIHN0YXRlbWVudCB4LCB5ID0+IHggKyB5IGluc3RlYWQgb2Yg
cmFpc2luZyBleGNlcHRpb24KKyAgICAgICAgICAzIG1ldGhvZCBjYWxsLCBhcHBseSwgYmluZCBz
aG91bGQgbm90IG92ZXJyaWRlIHRoZSB0aGlzIHZhcmlhYmxlIGluc2lkZSBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4
cHJvajoKKyAgICAgICAgKiBieXRlY29kZS9CeXRlY29kZUxpc3QuanNvbjoKKyAgICAgICAgKiBi
eXRlY29kZS9CeXRlY29kZVVzZURlZi5oOgorICAgICAgICAoSlNDOjpGdW5jdG9yOjpjb21wdXRl
VXNlc0ZvckJ5dGVjb2RlT2Zmc2V0KToKKyAgICAgICAgKiBieXRlY29kZS9Db2RlQmxvY2suY3Bw
OgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmR1bXBCeXRlY29kZSk6CisgICAgICAgICogYnl0
ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5
dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVt
aXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbik6IGFkZGVkCisgICAgICAgIChKU0M6OkJ5dGVj
b2RlR2VuZXJhdG9yOjplbWl0VGhpc05vZGVCeXRlY29kZSk6IGFkZGVkCisgICAgICAgICogYnl0
ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHA6CisgICAgICAgIChKU0M6OmVtaXRCeXRlY29kZTo6
ZW1pdEJ5dGVjb2RlKTogYWRkZWQKKyAgICAgICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGU6OmVt
aXRCeXRlY29kZSk6IGFkZGVkCisgICAgICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoK
KyAgICAgICAgKEpTQzo6Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAqIGRm
Zy9ERkdDYXBhYmlsaXRpZXMuY3BwOgorICAgICAgICAoSlNDOjpDYXBhYmlsaXR5TGV2ZWw6OmNh
cGFiaWxpdHlMZXZlbCk6CisgICAgICAgICogaml0L0pJVC5oOgorICAgICAgICAoSlNDOjpKSVQ6
OmVtaXRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUSW5s
aW5lcy5oOgorICAgICAgICAoSlNDOjpKSVQ6OmNhbGxPcGVyYXRpb24pOiBhZGRlZAorICAgICAg
ICAqIGppdC9KSVQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlTWFpblBh
c3MpOgorICAgICAgICAqIGppdC9KSVRPcGNvZGVzLmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpl
bWl0X29wX25ld19hcnJvd19mdW5jX2V4cCk6IGFkZGVkCisgICAgICAgICogaml0L0pJVE9wZXJh
dGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpKSVRfT1BFUkFUSU9OOjpvcGVyYXRpb25OZXdBcnJv
d0Z1bmN0aW9uKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5oOgorICAgICAg
ICAoSlNDOjpKSVRfT1BFUkFUSU9OOjpvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKTogYWRkZWQK
KyAgICAgICAgKiBsbGludC9MTEludFNsb3dQYXRocy5jcHA6CisgICAgICAgIChMTElOVF9TTE9X
X1BBVEhfREVDTChzbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAg
KiBsbGludC9MTEludFNsb3dQYXRocy5oOgorICAgICAgICAoTExJTlRfU0xPV19QQVRIX0RFQ0wo
c2xvd19wYXRoX25ld19hcnJvd19mdW5jX2V4cCkpOiBhZGRlZAorICAgICAgICAqIGxsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOgorICAgICAgICAqIHBhcnNlci9BU1RCdWlsZGVyLmg6Cisg
ICAgICAgIChKU0M6OkFTVEJ1aWxkZXI6OmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAg
ICAgKiBwYXJzZXIvTGV4ZXIuY3BwOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6c2V0VG9rZW5Q
b3NpdGlvbik6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpsZXgpOgorICAgICAgICAqIHBhcnNl
ci9MZXhlci5oOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlvbik6Cisg
ICAgICAgICogcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaDoKKyAgICAgICAgKEpTQzo6QXJyb3dG
dW5jRXhwck5vZGU6OkFycm93RnVuY0V4cHJOb2RlKTogYWRkZWQKKyAgICAgICAgKiBwYXJzZXIv
Tm9kZXMuaDoKKyAgICAgICAgKEpTQzo6Tm9kZTo6aXNBcnJvd0Z1bmNFeHByTm9kZSk6IGFkZGVk
CisgICAgICAgIChKU0M6OkFycm93RnVuY0V4cHJOb2RlKTogYWRkZWQgY2xhc3MKICAgICAgICAg
KiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBh
cnNlU291cmNlRWxlbWVudHMpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VQcmltYXJ5RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VTb3VyY2VF
bGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAg
IChKU0M6OlBhcnNlcjo6cGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6
OlBhcnNlcjo6cGFyc2VQcmltYXJ5RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6
cGFyc2VBcnJvd0V4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnNldEVuZE9mU3Rh
dGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVy
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25JbmZvKToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25Cb2R5KToKKyAgICAgICAgKiBwYXJz
ZXIvUGFyc2VyLmg6CisgICAgICAgIChKU0M6OlBhcnNlcjo6RnVuY3Rpb25QYXJzZVR5cGUpOgor
ICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU291cmNlRWxlbWVudCk6CisgICAgICAgIChKU0M6
OlBhcnNlcjo6cGFyc2VTdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJy
b3dFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpzZXRFbmRPZlN0YXRlbWVudCk6
CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcik6CisgICAg
ICAgICogcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oOgorICAgICAgICAqIHBhcnNlci9QYXJz
ZXJUb2tlbnMuaDoKKyAgICAgICAgKEpTQzo6UGFyc2VyRnVuY3Rpb25JbmZvOjphcnJvd0Z1bmN0
aW9uT2Zmc2V0KTogYWRkZWQKKyAgICAgICAgKEpTQzo6UGFyc2VyRnVuY3Rpb25JbmZvOjppc0Fy
cm93RnVuY3Rpb24pOiBhZGRlZAorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmFy
cm93RnVuY3Rpb25Cb2R5VHlwZSk6IGFkZGVkCisgICAgICAgICogcGFyc2VyL1NvdXJjZUNvZGUu
aDoKKyAgICAgICAgKEpTQzo6U291cmNlQ29kZTo6c3ViQXJyb3dFeHByZXNzaW9uKToKKyAgICAg
ICAgKiBwYXJzZXIvU3ludGF4Q2hlY2tlci5oOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2Vy
OjpjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcik6CisgICAgICAgICogcGFyc2VyL1NvdXJjZVByb3Zp
ZGVyQ2FjaGVJdGVtOgorICAgICAgICAoSlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbUNyZWF0
aW9uUGFyYW1ldGVycyk6CisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKToK
KyAgICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW06OmVuZEFycm93RnVuY3Rpb25U
b2tlbik6CisgICAgICAgICogcnVudGltZS9KU0Fycm93RnVuY3Rpb24uaDogYWRkZWQgY2xhc3Mg
Zm9yIGhhbmRsZSBhcnJvdyBmdW5jdGlvbiBjcmVhdGlvbiBhbmQgZXhlY3V0aW9uCisgICAgICAg
ICogcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwOgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5j
dGlvbi5oOgorICAgICAgICAoSlNDOjpKU0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKTogYWRkZWQgb25l
IG1vcmUgY29uc3RydWN0b3IKKyAgICAgICAgKiBydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmg6
CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OkpTRnVuY3Rpb24pOiBhZGRlZCBjb25zdHJ1Y3Rv
ciBpbXBsZW1lbnRhdGlvbgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgor
ICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6aW5pdCk6CisgICAgICAgIChKU0M6OkpTR2xv
YmFsT2JqZWN0OjptX2Fycm93RnVuY3Rpb25TdHJ1Y3R1cmUpOiBhZGRlZAorICAgICAgICAoSlND
OjpKU0dsb2JhbE9iamVjdDo6YXJyb3dGdW5jdGlvblN0cnVjdHVyZSk6CisgICAgICAgICogdGVz
dHMvc3RyZXNzL2pzL2Fycm93ZnVuY3Rpb24uanM6IGFkZGVkCisgICAgICAgICogdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci5qczogYWRkZWQKKyAgICAgICAgKiB0ZXN0cy9z
dHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTEuanM6IGFkZGVkCisgICAgICAgICog
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0yLmpzOiBhZGRlZAorICAg
ICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHkuanM6IGFkZGVk
CisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2stMS5qczogYWRkZWQK
KyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ibG9jay0yLmpzOiBhZGRlZAor
ICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNvbnN0cnVjdG9yLmpzOiBhZGRl
ZAorICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWx0aGlzLTEuanM6
IGFkZGVkCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tb3RoZXJzLmpzOiBh
ZGRlZAorICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXR5cGVvZi5qczogYWRk
ZWQKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi10ZHouanM6IGFkZGVkCiAK
IDIwMTUtMDQtMTcgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCBiNzhkNDYyNjcyYTA2NTBmMGU4N2M5OWI5NzBkNDc1NzlhNjI1YzVlLi5jOTdj
NGM0YWY0ZjAxZDQxYzY1ODczMTgyNDc0MzYwNWQxNmFmYzFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMTUtMDQtMTcgIFNrYWNoa292IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWls
LmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRh
eAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
ZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggZm9yIGFycm93IGZ1
bmN0aW9uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxNS0wNC0xNyAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgRm9yY2UgbW91c2UgZXZlbnRzIHNob3VsZCBnbyB0aHJvdWdoIG5vcm1hbCBtb3VzZSBldmVu
dCBoYW5kbGluZyBjb2RlIHBhdGhzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggYTEzMDU5NjljOTgxZmE2
YmM2MmUyOTYwNmQ4NmI0NWFlNjBmNjg5YS4uM2YzNjJjMTYzOTA3NzU4NGMzMDBlNmUxNjk5NTFl
NTc3YmJhYTQ0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTA0LTE3
ICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgW0VT
Nl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyBFTkFCTEVf
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgorCisgICAgICAgICog
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTUtMDQtMTcgIERh
bmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT046IFNW
RyBkb2VzIG5vdCBzdXBwb3J0IGxpbmsgZHJhZ2dpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxp
c3RzLnR4dAppbmRleCBmYmNlMGI2Yjk5NmMyMTg5MjdlZTM0NGEzZjMyMWJmYjg0NzBjNzkyLi4y
N2ZjZTY4OTAyMTNhMjFlMzQ5OGM2YmZhNDQ2NDIyZDRiODY5MjJmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NNYWtlTGlzdHMudHh0CkBAIC00NjcsNiArNDY3LDcgQEAgc2V0KEphdmFTY3JpcHRDb3Jl
X1JVTlRJTUVfU09VUkNFUwogICAgIHJ1bnRpbWUvSlNBcnJheUJ1ZmZlclZpZXcuY3BwCiAgICAg
cnVudGltZS9KU0FycmF5SXRlcmF0b3IuY3BwCiAgICAgcnVudGltZS9KU0JvdW5kRnVuY3Rpb24u
Y3BwCisgICAgcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwCiAgICAgcnVudGltZS9KU0dsb2Jh
bE9iamVjdERlYnVnZ2FibGUuY3BwCiAgICAgcnVudGltZS9KU0NKU1ZhbHVlLmNwcAogICAgIHJ1
bnRpbWUvSlNDYWxsZWUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOGIxMTJmYWU0
NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4uMTE0OGE3Njk3MmYxMTRjMzgzZDMyNjI5
ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUs
NyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FO
VkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZ
TlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NTU19BTklNQVRJT05T
X0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMjsKQEAgLTIxNCw0ICsyMTUs
NCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9B
UklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVS
RV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFC
TEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NB
Q0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19Q
Uk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5U
QVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFC
TEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JS
RUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRB
VElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9O
UykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQo
RU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxF
X0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5B
QkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJM
RV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxF
X0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQo
RU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVO
QUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxF
X0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJF
Q0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElN
RVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NP
TlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQo
RU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJM
RV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykg
JChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdB
Q1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRD
SCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5B
QkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVU
RVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkg
JChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NP
TkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lO
KSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9Y
SU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RB
KSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRP
Q09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05f
TUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xM
X1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAk
KEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19P
VEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFC
TEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RS
QUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChF
TkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdf
TU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5B
QkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJ
WkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFC
TEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxF
X0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVO
QUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJM
RV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVf
QUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQo
RU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAk
KEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVf
Q1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19C
T1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9D
U1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVf
Q1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChF
TkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJM
RV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5F
X0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVN
RV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1Rf
RUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19F
TEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRT
X0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURf
RVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFC
TEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElE
REVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChF
TkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5D
T01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1Nf
R0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lP
U19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5B
QkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJP
TFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VT
RV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJM
RV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFC
TEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNF
UykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNU
KSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5B
QkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVO
QUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChF
TkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJM
RV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRT
KSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9E
RVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJ
WklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcp
ICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChF
TkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVF
KSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChF
TkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRU
X1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9G
VExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRf
QVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlw
dENvcmUudmN4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hw
cm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKaW5kZXggZmY3YThlMTY3MjdhZjI0ZWJjYWMzNjg3
MGE1MGRhNTE0ZmM5MGY2ZS4uM2RmZGRjYjdlMWZjOGIxNTdmYTdhNTZmNGRmYWYzOGU1NmVhYjAw
MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHBy
b2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCkBAIC03MzIsNiArNzMy
LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJheUJ1ZmZlclBy
b3RvdHlwZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJy
YXlCdWZmZXJWaWV3LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVc
SlNCb3VuZEZ1bmN0aW9uLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRp
bWVcSlNBcnJvd0Z1bmN0aW9uLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1
bnRpbWVcSlNDSlNWYWx1ZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50
aW1lXEpTQ2FsbGVlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVc
SlNDYXRjaFNjb3BlLmNwcCIgLz4KQEAgLTE1MjcsNiArMTUyOCw3IEBACiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJWaWV3SW5saW5lcy5oIiAvPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0FycmF5SXRlcmF0b3IuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNCb3VuZEZ1bmN0aW9uLmgiIC8+Cisg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyb3dGdW5jdGlvbi5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NJbmxpbmVzLmgiIC8+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0pTVmFsdWUuaCIgLz4KICAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZUlubGluZXMuaCIgLz4KQEAgLTE4
MDQsNCArMTgwNiw0IEBACiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+
CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXEJ1aWxkQ3VzdG9taXphdGlv
bnNcbWFzbS50YXJnZXRzIiAvPgogICA8L0ltcG9ydEdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggYmE5YmUwZmI2MWJjNjhkYzhmZDI1YjBmMzE4NWM3MzAzYjg4YjJkOS4uY2JmZDBm
YTJiYzAwMDhmNTRlOTkwMzQyNDI0MTQ0OTBiYzlmYzVkYyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTEwOTYsNiArMTA5Niw4IEBACiAJCTg2RjNFRUJGMTY4Q0RFOTMwMDc3Qjky
QSAvKiBPYmpjUnVudGltZUV4dHJhcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODZGM0VFQjYxNjg1NUE1QjAwNzdCOTJBIC8qIE9iamNSdW50aW1lRXh0
cmFzLmggKi87IH07CiAJCTg2RkE5RTkxMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rp
b24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZG
QTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5jcHAgKi87IH07CiAJCTg2
RkE5RTkyMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RkE5RTkwMTQyQkJCMkUwMDE3NzNC
NyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLzsgfTsKKwkJOEIwRjQyNEMxQUJENkRFMjAwMzkxN0VB
IC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9u
LmNwcCAqLzsgfTsKKwkJOEIwRjQyNEMxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlv
bi5oIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEIwRjQy
NEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oICovOyB9OwogCQk5MDIxM0Uz
RDEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIxM0UzQjEyM0E0MEMyMDBENDIyRjMg
LyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi87IH07CiAJCTkwMjEzRTNFMTIzQTQwQzIwMEQ0MjJG
MyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5MDIxM0UzQzEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGlj
cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkz
MDUyQzM0MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzA1MkMzMjBGQjc5MjE5MDA0OEZEQzMg
LyogUGFyc2VyQXJlbmEuY3BwICovOyB9OwpAQCAtMjgzMSw2ICsyODMzLDggQEAKIAkJODZGNzVF
RkQxNTFDMDYyRjAwN0M5QkEzIC8qIFJlZ0V4cE1hdGNoZXNBcnJheS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWdFeHBNYXRjaGVzQXJyYXkuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk4NkZBOUU4RjE0MkJCQjJEMDAxNzczQjcgLyogSlNCb3Vu
ZEZ1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQm91
bmRGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2RkE5RTkwMTQy
QkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNBcnJvd0Z1bmN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CThCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcnJvd0Z1bmN0aW9uLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTAyMTNFM0IxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9y
eVN0YXRpc3RpY3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVt
b3J5U3RhdGlzdGljcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkwMjEzRTND
MTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IE1lbW9yeVN0YXRpc3RpY3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhcnNlckFyZW5hLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ0NDIsNiArNDQ0Niw4IEBACiAJCQkJQTdCREFFQzUx
N0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJyYXlJdGVyYXRvci5oICovLAogCQkJCTg2RkE5RThGMTQy
QkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwICovLAogCQkJCTg2RkE5RTkwMTQy
QkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLywKKwkJCQk4QjBGNDI0QTFBQkQ2
RDJGMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggKi8sCisJCQkJOEIwRjQyNEIxQUJENkRF
MjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgKi8sCiAJCQkJNjU3Q0Y0NTYxOUJGNjY2
MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmNwcCAqLywKIAkJCQk2NTdDRjQ1NzE5QkY2NjYyMDA0QUNC
RjIgLyogSlNDYWxsZWUuaCAqLywKIAkJCQkwRkQ5NDk3RTFBOTdEQjk2MDBFMjg5NjYgLyogSlND
YXRjaFNjb3BlLmNwcCAqLywKQEAgLTcxNzUsNiArNzE4MSw3IEBACiAJCQkJMEZEOEEzMUIxN0Q1
MUYyMjAwQ0EyQzQwIC8qIEZUTE9TUkVudHJ5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjM1
QkRDMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTBGMjM1QkRGMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0Q29tcGlsZXIuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJOEIwRjQyNEMxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlv
bi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkVBMEEyQTE3MDk2Mjk2MDBCQjcyMkMgLyogRlRM
T3V0cHV0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNDg1MzI5MTg3REZERUMwMDgzQjY4NyAv
KiBGVExSZWNvdmVyeU9wY29kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjZCMUNDMzE4NjJD
NDc4MDA4NDVEOTcgLyogRlRMUmVnaXN0ZXJBdE9mZnNldC5jcHAgaW4gU291cmNlcyAqLywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxpc3QuanNv
biBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxpc3QuanNvbgppbmRl
eCAyNTE0MTI2M2UzOGQwZWIyZDE4NDQxZjRlNmZmY2UzNmVlOGY3Y2YyLi5hMzc2NDdmMjZmYmUz
ZjI1YmE2MjViOTlmM2RhMTIwMWU0OWZmMjAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24KKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCkBAIC05NCw2ICs5NCw3IEBACiAgICAgICAg
ICAgICB7ICJuYW1lIiA6ICJvcF9zd2l0Y2hfc3RyaW5nIiwgImxlbmd0aCIgOiA0IH0sCiAgICAg
ICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfZnVuYyIsICJsZW5ndGgiIDogNCB9LAogICAgICAg
ICAgICAgeyAibmFtZSIgOiAib3BfbmV3X2Z1bmNfZXhwIiwgImxlbmd0aCIgOiA0IH0sCisgICAg
ICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfYXJyb3dfZnVuY19leHAiLCAibGVuZ3RoIiA6IDUg
fSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGwiLCAibGVuZ3RoIiA6IDkgfSwKICAg
ICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGxfZXZhbCIsICJsZW5ndGgiIDogOSB9LAogICAg
ICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbF92YXJhcmdzIiwgImxlbmd0aCIgOiA5IH0sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCmluZGV4
IGYyMDcxMzkyMzI5MDY0NTNiN2E1NGY1NjFiOWI2NDIzZTJlOGNmMjcuLjliNjdhMjIyMWQzYmEw
YTYwNmY0NzA5YTU5OWMzMTNlMWEzYWJhYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCkBAIC0xMTUsNiArMTE1LDkgQEAgdm9pZCBjb21w
dXRlVXNlc0ZvckJ5dGVjb2RlT2Zmc2V0KAogICAgIGNhc2Ugb3BfZ2V0X3Byb3BlcnR5X2VudW1l
cmF0b3I6CiAgICAgY2FzZSBvcF9nZXRfZW51bWVyYWJsZV9sZW5ndGg6CiAgICAgY2FzZSBvcF9u
ZXdfZnVuY19leHA6CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBj
YXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRpZgogICAgIGNhc2Ugb3BfdG9faW5kZXhf
c3RyaW5nOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29uc3Rfbm9wOgogICAgIGNhc2Ugb3Bf
aW5pdF9nbG9iYWxfY29uc3Q6CkBAIC0zMDYsNiArMzA5LDkgQEAgdm9pZCBjb21wdXRlRGVmc0Zv
ckJ5dGVjb2RlT2Zmc2V0KENvZGVCbG9jayogY29kZUJsb2NrLCB1bnNpZ25lZCBieXRlY29kZU9m
ZnNldCwKICAgICBjYXNlIG9wX25ld19yZWdleHA6CiAgICAgY2FzZSBvcF9uZXdfZnVuYzoKICAg
ICBjYXNlIG9wX25ld19mdW5jX2V4cDoKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorI2VuZGlmCiAgICAgY2FzZSBv
cF9jYWxsX3ZhcmFyZ3M6CiAgICAgY2FzZSBvcF9jb25zdHJ1Y3RfdmFyYXJnczoKICAgICBjYXNl
IG9wX2dldF9mcm9tX3Njb3BlOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29k
ZUJsb2NrLmNwcAppbmRleCAxZDgyMzg3Mjg3OGFjMzQzN2NjNTNhMDg3ZjFjMGY4YTIwYmI2MGZi
Li5lM2Y3NWY0NDgxOTAwYmJiOWE4N2ZhOTI5MDE0NTVlN2I4MGI4NTJkIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcApAQCAtMTI5Nyw2ICsxMjk3LDE3
IEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wQnl0ZWNvZGUoCiAgICAgICAgICAgICBvdXQucHJpbnRm
KCIlcywgJXMsIGYlZCIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0YSgpLCByZWdpc3Rlck5hbWUocjEp
LmRhdGEoKSwgZjApOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBjYXNlIG9wX25ld19hcnJvd19mdW5j
X2V4cDogeworICAgICAgICAgICAgaW50IHIwID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAg
ICAgICBpbnQgcjEgPSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAgICAgICAgIGludCBmMCA9ICgr
K2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgaW50IHIyID0gKCsraXQpLT51Lm9wZXJhbmQ7
CisgICAgICAgICAgICBwcmludExvY2F0aW9uQW5kT3Aob3V0LCBleGVjLCBsb2NhdGlvbiwgaXQs
ICJvcF9uZXdfYXJyb3dfZnVuY19leHAiKTsKKyAgICAgICAgICAgIG91dC5wcmludGYoIiVzLCAl
cywgZiVkLCAlcyIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0YSgpLCByZWdpc3Rlck5hbWUocjEpLmRh
dGEoKSwgZjAsIHJlZ2lzdGVyTmFtZShyMikuZGF0YSgpKTsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICB9CisjZW5kaWYKICAgICAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6IHsKICAgICAg
ICAgICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVyYW5kOwogICAgICAgICAgICAgaW50IHIxID0g
KCsraXQpLT51Lm9wZXJhbmQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCmluZGV4IDZlMTk4Y2EyN2UwOWRhMDJk
YzljZjUzMGMyOTI3N2M1NmNhYzI5YjQuLmFmNjVjYjUzZDljNmU2OWI5NDk0M2I5M2IzNDNhOWQ4
YjI5NzI4NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIv
Qnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29t
cGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0xNzUxLDYgKzE3NTEsMjIgQEAgUmVnaXN0
ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0
ZXJJRCogcjAsIEZ1bmNFeHAKICAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQoaW5kZXgpOwogICAg
IHJldHVybiByMDsKIH0KKyAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdBcnJvd0Z1bmN0aW9uRXhw
cmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVuY0V4cHJOb2RlKiBuKQoreworICAgIGVtaXRURFpD
aGVjayh0aGlzUmVnaXN0ZXIoKSk7CisgICAgRnVuY3Rpb25Cb2R5Tm9kZSogZnVuY3Rpb24gPSBu
LT5ib2R5KCk7CisgICAgdW5zaWduZWQgaW5kZXggPSBtX2NvZGVCbG9jay0+YWRkRnVuY3Rpb25F
eHByKG1ha2VGdW5jdGlvbihmdW5jdGlvbikpOworICAgIAorICAgIGVtaXRPcGNvZGUob3BfbmV3
X2Fycm93X2Z1bmNfZXhwKTsKKyAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQocjAtPmluZGV4KCkp
OworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChzY29wZVJlZ2lzdGVyKCktPmluZGV4KCkpOwor
ICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChpbmRleCk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBw
ZW5kKHRoaXNSZWdpc3RlcigpLT5pbmRleCgpKTsKKyAgICByZXR1cm4gcjA7Cit9CisjZW5kaWYK
IAogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdEZWZhdWx0Q29uc3RydWN0
b3IoUmVnaXN0ZXJJRCogZHN0LCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kLCBjb25z
dCBJZGVudGlmaWVyJiBuYW1lKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmluZGV4IDJlNTkwMzlkM2E0ODRhMzQ3
MjgxNDQwZWVmOWMxYjgxOWY3MjY1ZGIuLjE3OTM1ZDQ4ZWYzYmYyYjJkMTQxZGZkYzFhYzkzNzY3
OTMxNDQyYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIv
Qnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTQ1Niw2ICs0NTYsMTAgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5jdGlvbkludGVybmFsKFJlZ2lzdGVy
SUQqIGRzdCwgdW5zaWduZWQgaW5kZXgpOwogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3RnVu
Y3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIGRzdCwgRnVuY0V4cHJOb2RlKiBmdW5jKTsKICAg
ICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0RlZmF1bHRDb25zdHJ1Y3RvcihSZWdpc3RlcklEKiBk
c3QsIENvbnN0cnVjdG9yS2luZCwgY29uc3QgSWRlbnRpZmllciYgbmFtZSk7CisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0Fy
cm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqLCBGdW5jRXhwck5vZGUqKTsKKyAgICAg
ICAgUmVnaXN0ZXJJRCogZW1pdFRoaXNOb2RlQnl0ZWNvZGUoUmVnaXN0ZXJJRCosIEpTVGV4dFBv
c2l0aW9uKTsKKyNlbmRpZgogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3UmVnRXhwKFJlZ2lz
dGVySUQqIGRzdCwgUmVnRXhwKik7CiAKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE1vdmVFbXB0
eVZhbHVlKFJlZ2lzdGVySUQqIGRzdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXggMTE0MzJhZjIzYmJiNjFlODE1NDI1
MjNiN2MxMWFhN2JkY2I1ZjNiZi4uNjFhZWYxNDA4YzQzNmQ3NGFiMDhmN2EyYTA2OGNjMmIxZjA4
Y2M1MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rl
c0NvZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9k
ZXNDb2RlZ2VuLmNwcApAQCAtMjgzMSw2ICsyODMxLDE0IEBAIFJlZ2lzdGVySUQqIEZ1bmNFeHBy
Tm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVy
SUQqCiAgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uKGdlbmVy
YXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHRoaXMpOwogfQogCisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkgICAgCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0gQXJyb3dGdW5jRXhwck5vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitS
ZWdpc3RlcklEKiBBcnJvd0Z1bmNFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJh
dG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKK3sKKyAgICByZXR1cm4gZ2VuZXJhdG9y
LmVtaXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlv
bihkc3QpLCB0aGlzKTsKK30KKyNlbmRpZgorICAgIAogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lO
VEFYKQogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIENsYXNzRGVjbE5vZGUgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKaW5kZXggZDk3Mzg4NWMxY2EzMmEzYzZlMjA2
MGY5MDFkNzJhMjgxYjE4N2I3OC4uM2YzZWMxMGFlZWM2ZTYwMTk5Mzg2NGU4MmUwMzlhYTY5MWIy
YTFlOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBh
cnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNl
ci5jcHAKQEAgLTM3NDQsNiArMzc0NCwxNSBAQCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJs
b2NrKHVuc2lnbmVkIGxpbWl0KQogICAgICAgICAgICAgTkVYVF9PUENPREUob3BfbmV3X2Z1bmNf
ZXhwKTsKICAgICAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICAgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6IHsKKyAgICAgICAgICAgIEZ1bmN0
aW9uRXhlY3V0YWJsZSogZXhwciA9IG1faW5saW5lU3RhY2tUb3AtPm1fcHJvZmlsZWRCbG9jay0+
ZnVuY3Rpb25FeHByKGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9wZXJhbmQpOworICAgICAgICAg
ICAgRnJvemVuVmFsdWUqIGZyb3plbiA9IG1fZ3JhcGguZnJlZXplU3Ryb25nKGV4cHIpOworICAg
ICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVy
YW5kKSwKKyAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKE5ld0Z1bmN0aW9uLCBPcEluZm8oZnJv
emVuKSwgZ2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5k
KSkpKTsKKyAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX25ld19hcnJvd19mdW5jX2V4cCk7Cisg
ICAgICAgIH0KKyNlbmRpZgogICAgICAgICBjYXNlIG9wX3R5cGVvZjogewogICAgICAgICAgICAg
c2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwKICAg
ICAgICAgICAgICAgICBhZGRUb0dyYXBoKFR5cGVPZiwgZ2V0KFZpcnR1YWxSZWdpc3RlcihjdXJy
ZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAppbmRleCAzMjIyMGRkMmJhNWFmNWQ2YWI4MTc1M2Vk
ZTczODJlOTU3ZDZmYWE4Li40YzM2NWQ5ZDA3NWNjNmU3YzVlMTY2YjE5ZTYzMjQ0YzdjN2M5Yzgz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCkBA
IC0yMDcsNiArMjA3LDkgQEAgQ2FwYWJpbGl0eUxldmVsIGNhcGFiaWxpdHlMZXZlbChPcGNvZGVJ
RCBvcGNvZGVJRCwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIEluc3RydWMKICAgICBjYXNlIG9wX25l
d19mdW5jOgogICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOgogICAgIGNhc2Ugb3BfY3JlYXRlX2xl
eGljYWxfZW52aXJvbm1lbnQ6CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRpZgogICAgICAgICByZXR1cm4g
Q2FuQ29tcGlsZUFuZElubGluZTsKIAogICAgIGNhc2Ugb3BfcHV0X3RvX3Njb3BlOiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAppbmRl
eCAxN2RkM2I0ZjQ1ZjU2ZmYyMDAyM2Q3M2I3NWRjN2Q3MGI2MzQ5NjhmLi4yMDAwNWMwNzE1MzNi
MTY4M2FmZGEyZDYyZGM2NWMwMTY3ZDkxMDk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKQEAgLTQ0LDYgKzQ0LDcgQEAKICNpbmNs
dWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCiAjaW5jbHVkZSAiR2V0dGVyU2V0dGVyLmgiCiAjaW5j
bHVkZSAiSlNBcnJheS5oIgorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgogI2luY2x1ZGUg
IkpTQm91bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJK
U0xleGljYWxFbnZpcm9ubWVudC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9DQ2FsbEhlbHBlcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxw
ZXJzLmgKaW5kZXggZmQzNDRhZGJjYWJiMTVmYmQ4MTRlZDZmYmQ0NzhmNzRiNjE1NzYzYy4uMDdh
Y2Q2ZDUzMmQzMjhhZmRiNzdhY2YyMDEzMzkwZWYzOWRkOWQ2NyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhlbHBlcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0NDYWxsSGVscGVycy5oCkBAIC0yNzQsNiArMjc0LDE1IEBAIHB1YmxpYzoKICAg
ICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzIpOwogICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJn
Myk7CiAgICAgfQorICAgIAorICAgIEFMV0FZU19JTkxJTkUgdm9pZCBzZXR1cEFyZ3VtZW50c1dp
dGhFeGVjU3RhdGUoR1BSUmVnIGFyZzEsIFRydXN0ZWRJbW1QdHIgYXJnMiwgR1BSUmVnIGFyZzMp
CisgICAgeworICAgICAgICByZXNldENhbGxBcmd1bWVudHMoKTsKKyAgICAgICAgYWRkQ2FsbEFy
Z3VtZW50KEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyKTsKKyAgICAgICAgYWRkQ2FsbEFyZ3Vt
ZW50KGFyZzEpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMik7CisgICAgICAgIGFkZENh
bGxBcmd1bWVudChhcmczKTsKKyAgICB9CiAKICAgICBBTFdBWVNfSU5MSU5FIHZvaWQgc2V0dXBB
cmd1bWVudHNXaXRoRXhlY1N0YXRlKEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJnMiwgVHJ1c3RlZElt
bTMyIGFyZzMpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCmluZGV4IDhjZDlmYjEy
ZThiZjRiMGM2ODczOGVmOGVmYTc3YzY1ZjA4NGFmZTguLjViYzkxNmI4YjM0MWRhNWNlNTFmNmI2
MjdhZmU5MDJjNDU4MTAwMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKQEAgLTI2MCw2
ICsyNjAsNyBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcygpCiAgICAgICAgIERF
RklORV9PUChvcF9uZXdfYXJyYXlfYnVmZmVyKQogICAgICAgICBERUZJTkVfT1Aob3BfbmV3X2Z1
bmMpCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfZnVuY19leHApCisgICAgICAgIERFRklORV9P
UChvcF9uZXdfYXJyb3dfZnVuY19leHApIAogICAgICAgICBERUZJTkVfT1Aob3BfbmV3X29iamVj
dCkKICAgICAgICAgREVGSU5FX09QKG9wX25ld19yZWdleHApCiAgICAgICAgIERFRklORV9PUChv
cF9ub3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAppbmRleCAwMWE0MTI5NjNjZTU5ODMzMmFmMTE2
YjYyYzc2Y2FiMjkyZmZhMTc4Li5kNTA3ZmFmZjdkY2JjOTJiYTJmZDBkNDlhZjkxODZjMWZmY2My
ZGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKQEAgLTUyMSw2ICs1MjEsNyBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgdm9pZCBlbWl0X29wX25ld19hcnJheV9idWZmZXIoSW5zdHJ1Y3Rp
b24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX25ld19mdW5jKEluc3RydWN0aW9uKik7CiAgICAg
ICAgIHZvaWQgZW1pdF9vcF9uZXdfZnVuY19leHAoSW5zdHJ1Y3Rpb24qKTsKKyAgICAgICAgdm9p
ZCBlbWl0X29wX25ld19hcnJvd19mdW5jX2V4cChJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lk
IGVtaXRfb3BfbmV3X29iamVjdChJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3Bf
bmV3X3JlZ2V4cChJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3Bfbm90KEluc3Ry
dWN0aW9uKik7CkBAIC03MDAsNiArNzAxLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIE1h
Y3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpKLCBpbnQs
IEdQUlJlZywgR1BSUmVnKTsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJh
dGlvbihDX0pJVE9wZXJhdGlvbl9FSnNjLCBHUFJSZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxl
cjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKc2NDLCBpbnQsIEdQUlJlZywg
SlNDZWxsKik7CisgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9K
SVRPcGVyYXRpb25fRUpzY0NKLCBpbnQsIEdQUlJlZywgSlNDZWxsKiwgR1BSUmVnKTsKICAgICAg
ICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihDX0pJVE9wZXJhdGlvbl9FSnNj
WiwgR1BSUmVnLCBpbnQzMl90KTsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9w
ZXJhdGlvbihDX0pJVE9wZXJhdGlvbl9FSnNjWiwgaW50LCBHUFJSZWcsIGludDMyX3QpOwogI2lm
IFVTRShKU1ZBTFVFNjQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VElubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oCmluZGV4
IDllZTI0ZDA5MjI4YTk4ODJlYTc2OTYyOWQxYTg3YjZjMzRhODYzMzQuLmEwZTQwYzVjNjFmZTYz
ZTk4NjNlZDIyM2VkZjVkNDUxZjMxOGE3NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUSW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
SW5saW5lcy5oCkBAIC0yNzEsNiArMjcxLDEyIEBAIEFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJs
ZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKc2NDIG9wZXJhCiAg
ICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRKU1ZhbHVlUmVzdWx0KG9w
ZXJhdGlvbiwgZHN0KTsKIH0KIAorQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBK
SVQ6OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0NKIG9wZXJhdGlvbiwgaW50IGRz
dCwgR1BSUmVnIGFyZzEsIEpTQ2VsbCogY2VsbCwgR1BSUmVnIGFyZzIpCit7CisgICAgc2V0dXBB
cmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIFRydXN0ZWRJbW1QdHIoY2VsbCksIGFyZzIpOwor
ICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0SlNWYWx1ZVJlc3VsdChv
cGVyYXRpb24sIGRzdCk7Cit9CisgICAgCiBBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpD
YWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FUCBvcGVyYXRpb24sIGludCBk
c3QsIHZvaWQqIHBvaW50ZXIpCiB7CiAgICAgc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKFRy
dXN0ZWRJbW1QdHIocG9pbnRlcikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRPcGNvZGVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rl
cy5jcHAKaW5kZXggNGU4MjFkMGMzZDVhM2M1ZTY1ODBkMTAzOTZlYzI4ODk2Mzg4NmI1Ni4uYWE4
YTdjMWY4NjEyMWNiZDZhZTliODY3NmE3YmQ5NDk3NDg2YzRlNyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVE9wY29kZXMuY3BwCkBAIC05NjUsNiArOTY1LDI5IEBAIHZvaWQgSklUOjpl
bWl0X29wX25ld19mdW5jX2V4cChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAg
IGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uTmV3RnVuY3Rpb24sIGRzdCwgcmVnVDAsIGZ1bmNFeHBy
KTsKICAgICBkb25lLmxpbmsodGhpcyk7CiB9CisgICAgCit2b2lkIEpJVDo6ZW1pdF9vcF9uZXdf
YXJyb3dfZnVuY19leHAoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKK3sKKyAgICBK
dW1wIG5vdFVuZGVmaW5lZFNjb3BlOworICAgIGludCBkc3QgPSBjdXJyZW50SW5zdHJ1Y3Rpb25b
MV0udS5vcGVyYW5kOworI2lmIFVTRShKU1ZBTFVFNjQpCisgICAgZW1pdEdldFZpcnR1YWxSZWdp
c3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kLCByZWdUMCk7CisgICAgZW1pdEdl
dFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bNF0udS5vcGVyYW5kLCByZWdUMSk7
CisgICAgbm90VW5kZWZpbmVkU2NvcGUgPSBicmFuY2g2NChOb3RFcXVhbCwgcmVnVDAsIFRydXN0
ZWRJbW02NChKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSkpKTsKKyAgICBzdG9yZTY0KFRy
dXN0ZWRJbW02NChKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSkpLCBBZGRyZXNzKGNhbGxG
cmFtZVJlZ2lzdGVyLCBzaXplb2YoUmVnaXN0ZXIpICogZHN0KSk7CisjZWxzZQorICAgIGVtaXRM
b2FkUGF5bG9hZChjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kLCByZWdUMCk7CisgICAg
ZW1pdExvYWRQYXlsb2FkKGN1cnJlbnRJbnN0cnVjdGlvbls0XS51Lm9wZXJhbmQsIHJlZ1QxKTsK
KyAgICBub3RVbmRlZmluZWRTY29wZSA9IGJyYW5jaDMyKE5vdEVxdWFsLCB0YWdGb3IoY3VycmVu
dEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCksIFRydXN0ZWRJbW0zMihKU1ZhbHVlOjpVbmRlZmlu
ZWRUYWcpKTsKKyAgICBlbWl0U3RvcmUoZHN0LCBqc1VuZGVmaW5lZCgpKTsKKyNlbmRpZgorICAg
IEp1bXAgZG9uZSA9IGp1bXAoKTsKKyAgICBub3RVbmRlZmluZWRTY29wZS5saW5rKHRoaXMpOwor
ICAgIAorICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZnVuY3Rpb24gPSBtX2NvZGVCbG9jay0+ZnVu
Y3Rpb25FeHByKGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9wZXJhbmQpOworICAgIGNhbGxPcGVy
YXRpb24ob3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbiwgZHN0LCByZWdUMCwgZnVuY3Rpb24sIHJl
Z1QxKTsKKyAgICBkb25lLmxpbmsodGhpcyk7Cit9CiAKIHZvaWQgSklUOjplbWl0X29wX25ld19h
cnJheShJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogewpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKaW5kZXggYmUzNDE4MDkxZGIzMWQwNTg4NzNk
N2ZkOGZmMzM2YTA0OWNjZDhlYS4uNDhhMzAwNTFiMzc0YTYwZDBmNDk4ZWRlODRkMGNjYTU2YjI1
YWViMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25z
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCkBA
IC00Miw2ICs0Miw4IEBACiAjaW5jbHVkZSAiSG9zdENhbGxSZXR1cm5WYWx1ZS5oIgogI2luY2x1
ZGUgIkpJVC5oIgogI2luY2x1ZGUgIkpJVFRvREZHRGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNr
LmgiCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0
aW9uLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTQ2F0Y2hTY29wZS5o
IgogI2luY2x1ZGUgIkpTRnVuY3Rpb25OYW1lU2NvcGUuaCIKQEAgLTk2MCw2ICs5NjIsMjQgQEAg
RW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdGdW5jdGlvbldpdGhJbnZh
bGlkYXRlZFJlYWxsb2NhdGlvbldhdGMKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTRnVu
Y3Rpb246OmNyZWF0ZVdpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQodm0sIHN0
YXRpY19jYXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KGZ1bmN0aW9uRXhlY3V0YWJsZSksIHNjb3Bl
KSk7CiB9CiAKKworRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJv
d0Z1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNTY29wZSogc2NvcGUsIEpTQ2VsbCogZnVuY3Rp
b25FeGVjdXRhYmxlLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUpCit7CisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBBU1NFUlQoZnVuY3Rpb25FeGVjdXRhYmxlLT5p
bmhlcml0cyhGdW5jdGlvbkV4ZWN1dGFibGU6OmluZm8oKSkpOworICAgIFZNJiB2bSA9IGV4ZWMt
PnZtKCk7CisgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOworCisg
ICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGV4ZWMtPmNhbGxlZSgpLT5nbG9iYWxP
YmplY3QoKTsKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUo
dm0sIHNjb3BlLCBzdGF0aWNfY2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihmdW5jdGlvbkV4ZWN1
dGFibGUpLCBnbG9iYWxPYmplY3QpOworICAgIEpTQXJyYXkqIGJvdW5kQXJncyA9IEpTQXJyYXk6
OnRyeUNyZWF0ZVVuaW5pdGlhbGl6ZWQodm0sIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmVG
b3JJbmRleGluZ1R5cGVEdXJpbmdBbGxvY2F0aW9uKEFycmF5V2l0aFVuZGVjaWRlZCksIDApOwor
CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU0JvdW5kRnVuY3Rpb246OmNyZWF0ZSh2bSwg
Z2xvYmFsT2JqZWN0LCBmdW5jLCBKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSwgYm91bmRBcmdz
LCAwLCAiIikpOworI2Vsc2UKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVk
KCkpOworI2VuZGlmCit9CisKIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdPYmpl
Y3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKIHsKICAgICBWTSogdm0g
PSAmZXhlYy0+dm0oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3BlcmF0aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgK
aW5kZXggYzNmYWQ1ZDZmMzNhYTA1MmJkNzBmYmYzYTg3NzljNzViZDNkNTAyNy4uNzc0MDY4MWM4
ZTIwZGE3NTQxZTk0ZTU2YTA2ZDA4MzAzMWI0NDk3MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRPcGVyYXRpb25zLmgKQEAgLTIwLDcgKzIwLDcgQEAKICAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKICAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAogICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAg
Ki8KIAogI2lmbmRlZiBKSVRPcGVyYXRpb25zX2gKQEAgLTExNSw2ICsxMTUsNyBAQCB0eXBlZGVm
IEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FUFApKEV4ZWNT
dGF0ZSosIHZvaWQqLCB2bwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgq
Sl9KSVRPcGVyYXRpb25fRVBTKShFeGVjU3RhdGUqLCB2b2lkKiwgc2l6ZV90KTsKIHR5cGVkZWYg
RW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQYykoRXhlY1N0
YXRlKiwgSW5zdHJ1Y3Rpb24qKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElP
TiAoKkpfSklUT3BlcmF0aW9uX0VKc2NDKShFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKik7
Cit0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9F
SnNjQ0opKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSk7CiB0
eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FU1Mp
KEV4ZWNTdGF0ZSosIHNpemVfdCwgc2l6ZV90KTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklU
X09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTc2lDSSkoRXhlY1N0YXRlKiwgU3RydWN0dXJl
U3R1YkluZm8qLCBKU0NlbGwqLCBTdHJpbmdJbXBsKik7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FU3NpSkkpKEV4ZWNTdGF0ZSosIFN0cnVj
dHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUsIFN0cmluZ0ltcGwqKTsKQEAgLTI3OCw2ICsy
NzksNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5QnVm
ZmVyV2l0aFByb2ZpbGUoRXhlY1N0YXRlKiwgQXJyYQogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJB
VElPTiBvcGVyYXRpb25OZXdBcnJheVdpdGhTaXplQW5kUHJvZmlsZShFeGVjU3RhdGUqLCBBcnJh
eUFsbG9jYXRpb25Qcm9maWxlKiwgRW5jb2RlZEpTVmFsdWUgc2l6ZSkgV1RGX0lOVEVSTkFMOwog
RW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdGdW5jdGlvbihFeGVjU3Rh
dGUqLCBKU1Njb3BlKiwgSlNDZWxsKikgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUgSklU
X09QRVJBVElPTiBvcGVyYXRpb25OZXdGdW5jdGlvbldpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlv
bldhdGNocG9pbnQoRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCopIFdURl9JTlRFUk5BTDsK
K0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbihF
eGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUpIFdURl9JTlRFUk5B
TDsKIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdPYmplY3QoRXhlY1N0YXRlKiwg
U3RydWN0dXJlKikgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBv
cGVyYXRpb25OZXdSZWdleHAoRXhlY1N0YXRlKiwgdm9pZCopIFdURl9JTlRFUk5BTDsKIHZvaWQg
SklUX09QRVJBVElPTiBvcGVyYXRpb25IYW5kbGVXYXRjaGRvZ1RpbWVyKEV4ZWNTdGF0ZSopIFdU
Rl9JTlRFUk5BTDsKQEAgLTQwNiw0ICs0MDgsMyBAQCBpbmxpbmUgUF9KSVRPcGVyYXRpb25fRUNs
aSBvcGVyYXRpb25MaW5rUG9seW1vcnBoaWNDYWxsRm9yKFJlZ2lzdGVyUHJlc2VydmF0aW9uTQog
I2VuZGlmIC8vIEVOQUJMRShKSVQpCiAKICNlbmRpZiAvLyBKSVRPcGVyYXRpb25zX2gKLQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKaW5kZXggMDY5
NzU1YjUzMTI1YzQ3NDRmZDg4YzJiMzRmMjZlYmJiNTg5MzE2Mi4uYzY1YTA3Njk0NWY5YjM2Y2E2
NDMxOWZmNmM2OGQ5ZjU4MGQwOGNmYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTExJbnRTbG93UGF0aHMuY3BwCkBAIC0zOCw2ICszOCw4IEBACiAjaW5jbHVkZSAiSW50ZXJw
cmV0ZXIuaCIKICNpbmNsdWRlICJKSVQuaCIKICNpbmNsdWRlICJKSVRFeGNlcHRpb25zLmgiCisj
aW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgi
CiAjaW5jbHVkZSAiSlNMZXhpY2FsRW52aXJvbm1lbnQuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVz
LmgiCiAjaW5jbHVkZSAiSlNDSlNWYWx1ZS5oIgpAQCAtMTcxLDYgKzE3MywxNSBAQCBuYW1lc3Bh
Y2UgSlNDIHsgbmFtZXNwYWNlIExMSW50IHsKICAgICAgICAgTExJTlRfUkVUVVJOX1RXTyhwYywg
X19yY2ZfZXhlYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICB9IHdoaWxl
IChmYWxzZSkKIAorICAgIAorI2RlZmluZSBMTElOVF9DQUxDX1BST1BFUlRZX0ZPUl9GVU5DX0VY
UFIoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgTExJTlRfQkVH
SU4oKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVCbG9jaygp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIEpTU2NvcGUqIHNjb3Bl
ID0gZXhlYy0+dW5jaGVja2VkUihwY1syXS51Lm9wZXJhbmQpLlJlZ2lzdGVyOjpzY29wZSgpOyAg
ICAgICBcCisgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlID0gY29kZUJsb2NrLT5m
dW5jdGlvbkV4cHIocGNbM10udS5vcGVyYW5kKTsgIFwKKyAgICAKK2VudW0gRnVuY3Rpb25FeHBy
ZXNzaW9uVHlwZSB7IEFycm93RnVuY3Rpb25FeHByZXNzaW9uVHlwZSwgQ29tbW9uRnVuY3Rpb25F
eHByZXNzaW9uVHlwZX07CisgICAgCiBleHRlcm4gIkMiIFNsb3dQYXRoUmV0dXJuVHlwZSBsbGlu
dF90cmFjZV9vcGVyYW5kKEV4ZWNTdGF0ZSogZXhlYywgSW5zdHJ1Y3Rpb24qIHBjLCBpbnQgZnJv
bVdoZXJlLCBpbnQgb3BlcmFuZCkKIHsKICAgICBMTElOVF9CRUdJTigpOwpAQCAtMTAwMywxNiAr
MTAxNCwzNSBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfbmV3X2Z1bmMpCiAjZW5k
aWYKICAgICBMTElOVF9SRVRVUk4oSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBjb2RlQmxvY2stPmZ1
bmN0aW9uRGVjbChwY1szXS51Lm9wZXJhbmQpLCBzY29wZSkpOwogfQotCisgICAgCiBMTElOVF9T
TE9XX1BBVEhfREVDTChzbG93X3BhdGhfbmV3X2Z1bmNfZXhwKQogewotICAgIExMSU5UX0JFR0lO
KCk7Ci0gICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVjLT5jb2RlQmxvY2soKTsKLSAgICBK
U1Njb3BlKiBzY29wZSA9IGV4ZWMtPnVuY2hlY2tlZFIocGNbMl0udS5vcGVyYW5kKS5SZWdpc3Rl
cjo6c2NvcGUoKTsKLSAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmN0aW9uID0gY29kZUJsb2Nr
LT5mdW5jdGlvbkV4cHIocGNbM10udS5vcGVyYW5kKTsKLSAgICBKU0Z1bmN0aW9uKiBmdW5jID0g
SlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBmdW5jdGlvbiwgc2NvcGUpOworICAgIExMSU5UX0NBTENf
UFJPUEVSVFlfRk9SX0ZVTkNfRVhQUigpOworCisgICAgSlNGdW5jdGlvbiogZnVuYyA9IEpTRnVu
Y3Rpb246OmNyZWF0ZSh2bSwgZXhlY3V0YWJsZSwgc2NvcGUpOworICAgIExMSU5UX1JFVFVSTihm
dW5jKTsKK30KKworCitMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfbmV3X2Fycm93X2Z1
bmNfZXhwKQoreworICAgIExMSU5UX0NBTENfUFJPUEVSVFlfRk9SX0ZVTkNfRVhQUigpOworCisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBKU1ZhbHVlIHRoaXNWYWx1
ZSA9IExMSU5UX09QX0MoNCkuanNWYWx1ZSgpOworICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QgPSBleGVjLT5jYWxsZWUoKS0+Z2xvYmFsT2JqZWN0KCk7CiAgICAgCisgICAgSlNGdW5j
dGlvbiogZnVuYyA9IEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlKHZtLCBzY29wZSwgZXhlY3V0YWJs
ZSwgZ2xvYmFsT2JqZWN0KTsKKyAgICAKKyAgICBKU0FycmF5KiBib3VuZEFyZ3MgPSBKU0FycmF5
Ojp0cnlDcmVhdGVVbmluaXRpYWxpemVkKHZtLCBnbG9iYWxPYmplY3QtPmFycmF5U3RydWN0dXJl
Rm9ySW5kZXhpbmdUeXBlRHVyaW5nQWxsb2NhdGlvbihBcnJheVdpdGhVbmRlY2lkZWQpLCAwKTsK
KyAgICAKKyAgICBjb25zdCBTdHJpbmcgZnVuY1dpdGhvdXROYW1lID0gIiI7CisgICAgCisgICAg
TExJTlRfUkVUVVJOKEpTQm91bmRGdW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIGZ1
bmMsIHRoaXNWYWx1ZSwgYm91bmRBcmdzLCAwLCBmdW5jV2l0aG91dE5hbWUpKTsKKyNlbHNlCisg
ICAgSlNGdW5jdGlvbiogZnVuYyA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgZXhlY3V0YWJsZSwg
c2NvcGUpOwogICAgIExMSU5UX1JFVFVSTihmdW5jKTsKKyNlbmRpZgogfQogCiBzdGF0aWMgU2xv
d1BhdGhSZXR1cm5UeXBlIGhhbmRsZUhvc3RDYWxsKEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSwgSW5z
dHJ1Y3Rpb24qIHBjLCBKU1ZhbHVlIGNhbGxlZSwgQ29kZVNwZWNpYWxpemF0aW9uS2luZCBraW5k
KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhz
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaAppbmRleCA0
YmY3ZGViMGZhMGI2YzY0MzhlMzZmOTYzMjBlMmY2Njk3MzlhZjY0Li5jN2ZhYjk2OTFjMThiOTM5
NTZkMGVhMjlmMzM5NTYxMThjNWU3MWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTExJbnRTbG93UGF0aHMuaApAQCAtOTYsNiArOTYsNyBAQCBMTElOVF9TTE9XX1BBVEhfSElE
REVOX0RFQ0woc2xvd19wYXRoX3N3aXRjaF9jaGFyKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5f
REVDTChzbG93X3BhdGhfc3dpdGNoX3N0cmluZyk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RF
Q0woc2xvd19wYXRoX25ld19mdW5jKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93
X3BhdGhfbmV3X2Z1bmNfZXhwKTsKK0xMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3Bh
dGhfbmV3X2Fycm93X2Z1bmNfZXhwKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93
X3BhdGhfY2FsbCk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX2NvbnN0
cnVjdCk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3NpemVfZnJhbWVf
Zm9yX3ZhcmFyZ3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtCmluZGV4IDU0M2Q5ZTkzMzNjNTEzZTk3NjE3YjdiZGE3ZjY5OTg2
NjgzOGExZTAuLjE4MmJiZDllNGVmNzg5MjhkYTUyZmJjZWM4ODJhNWRmMzZkYjc5NDEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c20KQEAgLTExNjksNiArMTE2OSwxMCBAQCBfbGxpbnRfb3BfbmV3X2Z1bmNfZXhwOgogICAgIGNh
bGxTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX25ld19mdW5jX2V4cCkKICAgICBkaXNwYXRjaCg0
KQogCitfbGxpbnRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorICAgIHRyYWNlRXhlY3V0aW9uKCkK
KyAgICBjYWxsU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApCisg
ICAgZGlzcGF0Y2goNSkKIAogX2xsaW50X29wX2NhbGw6CiAgICAgdHJhY2VFeGVjdXRpb24oKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAppbmRleCBiOGZlNGI4NDg1
YTA5NzY4OGY1YzYzMGJkOGMzYzk2NzY0ZmM0NjQ5Li5mMmZhM2JkOWMxNWY0ZTQyMmVlYzZhNzlk
NjVmMWQ3MDg2YzYyYzczIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L0FTVEJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxk
ZXIuaApAQCAtMzEzLDYgKzMxMywxOSBAQCBwdWJsaWM6CiAgICAgICAgICAgICBpblN0cmljdENv
bnRleHQsIGNvbnN0cnVjdG9yS2luZCk7CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICBFeHByZXNzaW9uTm9kZSogY3JlYXRlQXJyb3dGdW5jdGlvbkV4
cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29uc3QgUGFyc2VyRnVuY3Rpb25J
bmZvPEFTVEJ1aWxkZXI+JiBpbmZvKQorICAgIHsKKyAgICAgICAgU291cmNlQ29kZSBzb3VyY2Ug
PSBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uCisg
ICAgICAgID8gbV9zb3VyY2VDb2RlLT5zdWJBcnJvd0V4cHJlc3Npb24oaW5mby5hcnJvd0Z1bmN0
aW9uT2Zmc2V0LCBpbmZvLmNsb3NlQnJhY2VPZmZzZXQsIGluZm8uYm9keVN0YXJ0TGluZSwgaW5m
by5ib2R5U3RhcnRDb2x1bW4pCisgICAgICAgIDogbV9zb3VyY2VDb2RlLT5zdWJFeHByZXNzaW9u
KGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBpbmZvLmNsb3NlQnJhY2VPZmZzZXQsIGluZm8uYm9keVN0
YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1bW4pOworCisgICAgICAgIEFycm93RnVuY0V4cHJO
b2RlKiByZXN1bHQgPSBuZXcgKG1fcGFyc2VyQXJlbmEpIEFycm93RnVuY0V4cHJOb2RlKGxvY2F0
aW9uLCAqaW5mby5uYW1lLCBpbmZvLmJvZHksIHNvdXJjZSwgaW5mby5wYXJhbWV0ZXJzKTsKKyAg
ICAgICAgaW5mby5ib2R5LT5zZXRMb2MoaW5mby5ib2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlFbmRM
aW5lLCBsb2NhdGlvbi5zdGFydE9mZnNldCwgbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0KTsKKyAg
ICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisjZW5kaWYKKwogICAgIE5FVkVSX0lOTElORSBQ
cm9wZXJ0eU5vZGUqIGNyZWF0ZUdldHRlck9yU2V0dGVyUHJvcGVydHkoY29uc3QgSlNUb2tlbkxv
Y2F0aW9uJiBsb2NhdGlvbiwgUHJvcGVydHlOb2RlOjpUeXBlIHR5cGUsIGJvb2wsCiAgICAgICAg
IGNvbnN0IElkZW50aWZpZXIqIG5hbWUsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RCdWls
ZGVyPiYgaW5mbywgU3VwZXJCaW5kaW5nIHN1cGVyQmluZGluZykKICAgICB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCmluZGV4IDdkZTE0MjIwYmJkYTcyNzM4YjU3M2E0Yjk3
ODhjZTBiMzJjYzdjZTMuLjU0MGY5ZmZiN2JiNTE4MjlkNjdkZWVkZWM1ZTZhOGVkNTFjYzQ0MTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCkBAIC0xNDMwLDYgKzE0MzAs
MTggQEAgYm9vbCBMZXhlcjxUPjo6bmV4dFRva2VuSXNDb2xvbigpCiAgICAgcmV0dXJuIGNvZGUg
PCBtX2NvZGVFbmQgJiYgKmNvZGUgPT0gJzonOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgordm9pZCBMZXhlcjxUPjo6c2V0
VG9rZW5Qb3NpdGlvbihKU1Rva2VuKiB0b2tlblJlY29yZCkKK3sKKyAgICBKU1Rva2VuRGF0YSog
dG9rZW5EYXRhID0gJnRva2VuUmVjb3JkLT5tX2RhdGE7CisgICAgdG9rZW5EYXRhLT5saW5lID0g
bGluZU51bWJlcigpOworICAgIHRva2VuRGF0YS0+b2Zmc2V0ID0gY3VycmVudE9mZnNldCgpOwor
ICAgIHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVTdGFydE9mZnNldCgp
OworICAgIEFTU0VSVCh0b2tlbkRhdGEtPm9mZnNldCA+PSB0b2tlbkRhdGEtPmxpbmVTdGFydE9m
ZnNldCk7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CiBKU1Rva2VuVHlwZSBM
ZXhlcjxUPjo6bGV4KEpTVG9rZW4qIHRva2VuUmVjb3JkLCB1bnNpZ25lZCBsZXhlckZsYWdzLCBi
b29sIHN0cmljdE1vZGUpCiB7CkBAIC0xNDkzLDcgKzE1MDUsMTIgQEAgc3RhcnQ6CiAgICAgICAg
IH0KICAgICAgICAgdG9rZW4gPSBHVDsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBDaGFyYWN0
ZXJFcXVhbDoKKyAgICBjYXNlIENoYXJhY3RlckVxdWFsOiB7CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdWludDMyX3Qgc2F2ZWRsaW5lTnVtYmVyID0gdG9r
ZW5EYXRhLT5saW5lOworICAgICAgICB1aW50MzJfdCBzYXZlZE9mZnNldCA9IGN1cnJlbnRPZmZz
ZXQoKTsKKyAgICAgICAgdWludDMyX3Qgc2F2ZWRMaW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50TGlu
ZVN0YXJ0T2Zmc2V0KCk7CisjZW5kaWYKICAgICAgICAgc2hpZnQoKTsKICAgICAgICAgaWYgKG1f
Y3VycmVudCA9PSAnPScpIHsKICAgICAgICAgICAgIHNoaWZ0KCk7CkBAIC0xNTA1LDggKzE1MjIs
MjIgQEAgc3RhcnQ6CiAgICAgICAgICAgICB0b2tlbiA9IEVRRVE7CiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAg
ICAgIGlmIChtX2N1cnJlbnQgPT0gJz4nKSB7CisgICAgICAgICAgICBzaGlmdCgpOworICAgICAg
ICAgICAgdG9rZW4gPSBBUlJPV0ZVTkNUSU9OOworCisgICAgICAgICAgICB0b2tlbkRhdGEtPmxp
bmUgPSBzYXZlZGxpbmVOdW1iZXI7CisgICAgICAgICAgICB0b2tlbkRhdGEtPm9mZnNldCA9IHNh
dmVkT2Zmc2V0OworICAgICAgICAgICAgdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQgPSBzYXZl
ZExpbmVTdGFydE9mZnNldDsKKworICAgICAgICAgICAgQVNTRVJUKHRva2VuRGF0YS0+b2Zmc2V0
ID49IHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0KTsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICB9CisjZW5kaWYKICAgICAgICAgdG9rZW4gPSBFUVVBTDsKICAgICAgICAgYnJlYWs7Cisg
ICAgfQogICAgIGNhc2UgQ2hhcmFjdGVyTGVzczoKICAgICAgICAgc2hpZnQoKTsKICAgICAgICAg
aWYgKG1fY3VycmVudCA9PSAnIScgJiYgcGVlaygxKSA9PSAnLScgJiYgcGVlaygyKSA9PSAnLScp
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAppbmRleCAyZGY1MjEzOTk1NzgyMDA3
ODVhMTY2ZTIyYTczMjc1ZTBlYTYzMDRkLi5jYjNmMjVmN2MwOGY4MjU4MWFmMmNlOGZhOTk5OTdm
YWRlMDc2NmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVy
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCkBAIC04NSw2ICs4
NSw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldElzUmVwYXJzaW5nKCkgeyBtX2lzUmVwYXJzaW5n
ID0gdHJ1ZTsgfQogICAgIGJvb2wgaXNSZXBhcnNpbmcoKSBjb25zdCB7IHJldHVybiBtX2lzUmVw
YXJzaW5nOyB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHZv
aWQgc2V0VG9rZW5Qb3NpdGlvbihKU1Rva2VuKiB0b2tlblJlY29yZCk7CisjZW5kaWYKICAgICBK
U1Rva2VuVHlwZSBsZXgoSlNUb2tlbiosIHVuc2lnbmVkLCBib29sIHN0cmljdE1vZGUpOwogICAg
IGJvb2wgbmV4dFRva2VuSXNDb2xvbigpOwogICAgIGludCBsaW5lTnVtYmVyKCkgY29uc3QgeyBy
ZXR1cm4gbV9saW5lTnVtYmVyOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
Tm9kZUNvbnN0cnVjdG9ycy5oCmluZGV4IDNiZGFiNjFhNTIyZTBjZTJjMzM5N2Y4MGY0ZmExODRk
MWQ0MjE2MGUuLmI1OGUxZmUxYWY5MGU2NjBiMDg0MmVhN2U5OWYwN2FlNmFjYmI5NWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCkBAIC03
ODEsNiArNzgxLDEzIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBtX2JvZHktPmZpbmlzaFBh
cnNpbmcoc291cmNlLCBwYXJhbWV0ZXIsIGlkZW50LCBGdW5jdGlvbkV4cHJlc3Npb24pOwogICAg
IH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaW5saW5lIEFy
cm93RnVuY0V4cHJOb2RlOjpBcnJvd0Z1bmNFeHByTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24m
IGxvY2F0aW9uLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgRnVuY3Rpb25Cb2R5Tm9kZSogYm9k
eSwgY29uc3QgU291cmNlQ29kZSYgc291cmNlLCBQYXJhbWV0ZXJOb2RlKiBwYXJhbWV0ZXIpCisg
ICAgICAgIDogRnVuY0V4cHJOb2RlKGxvY2F0aW9uLCBpZGVudCwgYm9keSwgc291cmNlLCBwYXJh
bWV0ZXIpCisgICAgeworICAgIH0KKyNlbmRpZgorICAgIAogICAgIGlubGluZSBGdW5jRGVjbE5v
ZGU6OkZ1bmNEZWNsTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBJ
ZGVudGlmaWVyJiBpZGVudCwgRnVuY3Rpb25Cb2R5Tm9kZSogYm9keSwgY29uc3QgU291cmNlQ29k
ZSYgc291cmNlLCBQYXJhbWV0ZXJOb2RlKiBwYXJhbWV0ZXIpCiAgICAgICAgIDogU3RhdGVtZW50
Tm9kZShsb2NhdGlvbikKICAgICAgICAgLCBtX2JvZHkoYm9keSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvTm9kZXMuaAppbmRleCA2YjM3MzI5YzA5YmZjNDJiZWNjYzNjYWE5ODM1OTdjMzU0MDJi
NmM5Li41Yjc3NDFlMWNjYzhkNTE1ZmYxNGMxNTMxNzJkN2JkYTA1M2Y1ODY4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCkBAIC0xNTgsNiArMTU4LDkgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0RvdEFjY2Vzc29yTm9kZSgpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0RlY29uc3RydWN0aW9uTm9kZSgp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Z1bmNFeHBy
Tm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICAgICAgdmlydHVhbCBib29sIGlzQXJyb3dGdW5jRXhwck5vZGUoKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQorI2VuZGlmCiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Nv
bW1hTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwgYm9vbCBp
c1NpbXBsZUFycmF5KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBi
b29sIGlzQWRkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KQEAgLTE2NTIsNiArMTY1NSwxOSBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgRnVuY3Rpb25Cb2R5Tm9kZSogbV9ib2R5OwogICAg
IH07CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNsYXNzIEFy
cm93RnVuY0V4cHJOb2RlIDogcHVibGljIEZ1bmNFeHByTm9kZSB7CisgICAgcHVibGljOgorICAg
ICAgICBBcnJvd0Z1bmNFeHByTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBJZGVu
dGlmaWVyJiwgRnVuY3Rpb25Cb2R5Tm9kZSosIGNvbnN0IFNvdXJjZUNvZGUmLCBQYXJhbWV0ZXJO
b2RlKiA9IDApOworICAgIHByaXZhdGU6CisgICAgICAgIHZpcnR1YWwgUmVnaXN0ZXJJRCogZW1p
dEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiwgUmVnaXN0ZXJJRCogPSAwKSBvdmVycmlkZTsK
KyAgICAgICAgCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Z1bmNFeHByTm9kZSgpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgICAgIAorICAgICAgICB2aXJ0dWFsIGJvb2wg
aXNBcnJvd0Z1bmNFeHByTm9kZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KKyAg
ICB9OworI2VuZGlmCisKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICBjbGFzcyBD
bGFzc0V4cHJOb2RlIGZpbmFsIDogcHVibGljIEV4cHJlc3Npb25Ob2RlIHsKICAgICBwdWJsaWM6
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKaW5kZXggNjQ3ODIwYWQ4M2Rm
NDQzZDMwZDA0Y2ZhZTIyNTRmYWVjOTcwN2FiNS4uOTViMzY1MmYxODY3MzZjYzlkZDk3ZDZkNGJj
ZjA2MDJkN2FlNDlmNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcApA
QCAtMjY0LDcgKzI2NCw3IEBAIFN0cmluZyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbm5lcigp
CiAgICAgaWYgKG1fbGV4ZXItPmlzUmVwYXJzaW5nKCkpCiAgICAgICAgIG1fc3RhdGVtZW50RGVw
dGgtLTsKICAgICBTY29wZVJlZiBzY29wZSA9IGN1cnJlbnRTY29wZSgpOwotICAgIFNvdXJjZUVs
ZW1lbnRzKiBzb3VyY2VFbGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgQ2hl
Y2tGb3JTdHJpY3RNb2RlKTsKKyAgICBTb3VyY2VFbGVtZW50cyogc291cmNlRWxlbWVudHMgPSBw
YXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRG
dW5jdGlvblBhcnNlVHlwZSk7CiAgICAgaWYgKCFzb3VyY2VFbGVtZW50cyB8fCAhY29uc3VtZShF
T0ZUT0spKSB7CiAgICAgICAgIGlmIChoYXNFcnJvcigpKQogICAgICAgICAgICAgcGFyc2VFcnJv
ciA9IG1fZXJyb3JNZXNzYWdlOwpAQCAtMzMwLDcgKzMzMCw3IEBAIGJvb2wgUGFyc2VyPExleGVy
VHlwZT46OmFsbG93QXV0b21hdGljU2VtaWNvbG9uKCkKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1l
IExleGVyVHlwZT4KLXRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1l
bnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiBj
b250ZXh0LCBTb3VyY2VFbGVtZW50c01vZGUgbW9kZSkKK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVs
ZW1lbnRzKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBTb3VyY2VFbGVtZW50c01vZGUgbW9kZSwgRnVu
Y3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25QYXJzZVR5cGUpCiB7CiAgICAgY29uc3QgdW5zaWduZWQg
bGVuZ3RoT2ZVc2VTdHJpY3RMaXRlcmFsID0gMTI7IC8vICJ1c2Ugc3RyaWN0Ii5sZW5ndGgKICAg
ICBUcmVlU291cmNlRWxlbWVudHMgc291cmNlRWxlbWVudHMgPSBjb250ZXh0LmNyZWF0ZVNvdXJj
ZUVsZW1lbnRzKCk7CkBAIC0zMzksNyArMzM5LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWwK
ICAgICB1bnNpZ25lZCBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMDsKICAgICBhdXRvIHNhdmVQ
b2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwogICAgIGJvb2wgaGFzU2V0U3RyaWN0ID0gZmFsc2U7
Ci0gICAgd2hpbGUgKFRyZWVTdGF0ZW1lbnQgc3RhdGVtZW50ID0gcGFyc2VTdGF0ZW1lbnQoY29u
dGV4dCwgZGlyZWN0aXZlLCAmZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCkpIHsKKyAgICB3aGlsZSAo
VHJlZVN0YXRlbWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVudChjb250ZXh0LCBkaXJlY3Rp
dmUsICZkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoLCBmdW5jdGlvblBhcnNlVHlwZSkpIHsKICAgICAg
ICAgaWYgKG1vZGUgPT0gQ2hlY2tGb3JTdHJpY3RNb2RlICYmICFzZWVuTm9uRGlyZWN0aXZlKSB7
CiAgICAgICAgICAgICBpZiAoZGlyZWN0aXZlKSB7CiAgICAgICAgICAgICAgICAgLy8gInVzZSBz
dHJpY3QiIG11c3QgYmUgdGhlIGV4YWN0IGxpdGVyYWwgd2l0aG91dCBlc2NhcGUgc2VxdWVuY2Vz
IG9yIGxpbmUgY29udGludWF0aW9uLgpAQCAtNTcxLDYgKzU3MSwzMSBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gUGFyc2VyPExleGVyVHlw
ZT46OmNyZWF0ZQogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUJpbmRpbmdMb2NhdGlvbih0b2tl
bi5tX2xvY2F0aW9uLCBuYW1lLCB0b2tlbi5tX3N0YXJ0UG9zaXRpb24sIHRva2VuLm1fZW5kUG9z
aXRpb24pOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBs
YXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvblN0YXRlbWVu
dChUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBBU1NFUlQobWF0Y2goQVJST1dGVU5DVElP
TikpOworCisgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7Cisg
ICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICBKU1Rl
eHRQb3NpdGlvbiBlbmQgPSB0b2tlbkVuZFBvc2l0aW9uKCk7CisKKyAgICBuZXh0KCk7CisgICAg
VHJlZUV4cHJlc3Npb24gZXhwciA9IHBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oY29udGV4
dCk7CisgICAgZmFpbElmRmFsc2UoZXhwciwgIkNhbm5vdCBwYXJzZSB0aGUgYXJyb3cgZnVuY3Rp
b24gZXhwcmVzc2lvbiIpOworICAgIGVuZCA9IGxhc3RUb2tlbkVuZFBvc2l0aW9uKCk7CisKKyAg
ICBib29sIGNvcnJlY3RBcnJvd0ZpbmlzaCA9IGlzRW5kT2ZBcnJvd0Z1bmN0aW9uKCkgfHwgbWF0
Y2goRU9GVE9LKTsKKyAgICBmYWlsSWZGYWxzZShjb3JyZWN0QXJyb3dGaW5pc2gsICJFeHBlY3Rl
ZCBhICc7JywgJ10nLCAnfScsICcpJywgb3IgJywnIGZvbGxvd2luZyBhIGFycm93IGZ1bmN0aW9u
IHN0YXRlbWVudCIpOworCisgICAgZW5kID0gdG9rZW5FbmRQb3NpdGlvbigpOworICAgIHNldEVu
ZE9mU3RhdGVtZW50KCk7CisKKyAgICByZXR1cm4gY29udGV4dC5jcmVhdGVSZXR1cm5TdGF0ZW1l
bnQobG9jYXRpb24sIGV4cHIsIHN0YXJ0LCBlbmQpOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0
eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVEZWNv
bnN0cnVjdGlvblBhdHRlcm4gUGFyc2VyPExleGVyVHlwZT46OnRyeVBhcnNlRGVjb25zdHJ1Y3Rp
b25QYXR0ZXJuRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKIHsKQEAgLTEwMTgsNyAr
MTA0Myw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUNsYXVzZUxpc3QgUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlU3dpdGNoQ2xhdXNlCiAgICAgVHJlZUV4cHJlc3Npb24gY29u
ZGl0aW9uID0gcGFyc2VFeHByZXNzaW9uKGNvbnRleHQpOwogICAgIGZhaWxJZkZhbHNlKGNvbmRp
dGlvbiwgIkNhbm5vdCBwYXJzZSBzd2l0Y2ggY2xhdXNlIik7CiAgICAgY29uc3VtZU9yRmFpbChD
T0xPTiwgIkV4cGVjdGVkIGEgJzonIGFmdGVyIHN3aXRjaCBjbGF1c2UgZXhwcmVzc2lvbiIpOwot
ICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhj
b250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICBUcmVlU291cmNlRWxlbWVudHMg
c3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgRG9udENoZWNrRm9yU3Ry
aWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CiAgICAgZmFpbElmRmFsc2Uoc3Rh
dGVtZW50cywgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiBhIHN3aXRjaCBjbGF1c2UiKTsKICAg
ICBUcmVlQ2xhdXNlIGNsYXVzZSA9IGNvbnRleHQuY3JlYXRlQ2xhdXNlKGNvbmRpdGlvbiwgc3Rh
dGVtZW50cyk7CiAgICAgY29udGV4dC5zZXRTdGFydE9mZnNldChjbGF1c2UsIHN0YXJ0T2Zmc2V0
KTsKQEAgLTEwMzEsNyArMTA1Niw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZUNsYXVzZUxpc3QgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3dpdGNoQ2xhdXNlCiAgICAgICAg
IFRyZWVFeHByZXNzaW9uIGNvbmRpdGlvbiA9IHBhcnNlRXhwcmVzc2lvbihjb250ZXh0KTsKICAg
ICAgICAgZmFpbElmRmFsc2UoY29uZGl0aW9uLCAiQ2Fubm90IHBhcnNlIHN3aXRjaCBjYXNlIGV4
cHJlc3Npb24iKTsKICAgICAgICAgY29uc3VtZU9yRmFpbChDT0xPTiwgIkV4cGVjdGVkIGEgJzon
IGFmdGVyIHN3aXRjaCBjbGF1c2UgZXhwcmVzc2lvbiIpOwotICAgICAgICBUcmVlU291cmNlRWxl
bWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgRG9udENoZWNr
Rm9yU3RyaWN0TW9kZSk7CisgICAgICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRzID0g
cGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFu
ZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICAgICAgZmFpbElmRmFsc2Uoc3RhdGVtZW50cywg
IkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiBhIHN3aXRjaCBjbGF1c2UiKTsKICAgICAgICAgY2xh
dXNlID0gY29udGV4dC5jcmVhdGVDbGF1c2UoY29uZGl0aW9uLCBzdGF0ZW1lbnRzKTsKICAgICAg
ICAgY29udGV4dC5zZXRTdGFydE9mZnNldChjbGF1c2UsIHN0YXJ0T2Zmc2V0KTsKQEAgLTEwNDgs
NyArMTA3Myw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUNsYXVzZSBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VTd2l0Y2hEZWZhdWx0Q2xhCiAgICAgdW5zaWduZWQgc3RhcnRP
ZmZzZXQgPSB0b2tlblN0YXJ0KCk7CiAgICAgbmV4dCgpOwogICAgIGNvbnN1bWVPckZhaWwoQ09M
T04sICJFeHBlY3RlZCBhICc6JyBhZnRlciBzd2l0Y2ggZGVmYXVsdCBjbGF1c2UiKTsKLSAgICBU
cmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4
dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSk7CisgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN0YXRl
bWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1v
ZGUsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwogICAgIGZhaWxJZkZhbHNlKHN0YXRlbWVu
dHMsICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgYSBzd2l0Y2ggZGVmYXVsdCBjbGF1c2UiKTsK
ICAgICBUcmVlQ2xhdXNlIHJlc3VsdCA9IGNvbnRleHQuY3JlYXRlQ2xhdXNlKDAsIHN0YXRlbWVu
dHMpOwogICAgIGNvbnRleHQuc2V0U3RhcnRPZmZzZXQocmVzdWx0LCBzdGFydE9mZnNldCk7CkBA
IC0xMTMzLDcgKzExNTgsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0
ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQmxvY2tTdGF0ZW1lbgogICAgICAgICBjb250
ZXh0LnNldEVuZE9mZnNldChyZXN1bHQsIGVuZE9mZnNldCk7CiAgICAgICAgIHJldHVybiByZXN1
bHQ7CiAgICAgfQotICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdWJ0cmVlID0gcGFyc2VTb3VyY2VF
bGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICBUcmVlU291cmNl
RWxlbWVudHMgc3VidHJlZSA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgRG9udENoZWNr
Rm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CiAgICAgZmFpbElmRmFs
c2Uoc3VidHJlZSwgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiB0aGUgYmxvY2sgc3RhdGVtZW50
Iik7CiAgICAgbWF0Y2hPckZhaWwoQ0xPU0VCUkFDRSwgIkV4cGVjdGVkIGEgY2xvc2luZyAnfScg
YXQgdGhlIGVuZCBvZiBhIGJsb2NrIHN0YXRlbWVudCIpOwogICAgIGludCBlbmRPZmZzZXQgPSBt
X3Rva2VuLm1fZGF0YS5vZmZzZXQ7CkBAIC0xMTQ1LDcgKzExNzAsNyBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQmxv
Y2tTdGF0ZW1lbgogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgotdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZVN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciomIGRpcmVj
dGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgpCit0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVt
ZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1
bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCwgRnVuY3Rpb25QYXJzZVR5cGUgcGFyc2VU
eXBlKQogewogICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0
aCk7CiAgICAgbV9zdGF0ZW1lbnREZXB0aCsrOwpAQCAtMTE1NCw2ICsxMTc5LDIzIEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgZmFpbElmU3RhY2tPdmVyZmxvdygpOwogICAgIFRyZWVT
dGF0ZW1lbnQgcmVzdWx0ID0gMDsKICAgICBib29sIHNob3VsZFNldEVuZE9mZnNldCA9IHRydWU7
CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlmIChwYXJzZVR5
cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICBzd2l0Y2ggKG1fdG9rZW4u
bV90eXBlKSB7CisgICAgICAgIGNhc2UgQ0xPU0VQQVJFTjoKKyAgICAgICAgY2FzZSBDTE9TRUJS
QUNLRVQ6CisgICAgICAgIGNhc2UgQ09NTUE6CisgICAgICAgIGNhc2UgU0VNSUNPTE9OOiB7Cisg
ICAgICAgICAgICByZXN1bHQgPSAwOworICAgICAgICAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQo
cmVzdWx0LCBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLm9mZnNldCk7CisgICAgICAgICAgICByZXR1
cm4gcmVzdWx0OworICAgICAgICB9CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgfQorICAgIH0KKyNlbmRpZgogICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUp
IHsKICAgICBjYXNlIE9QRU5CUkFDRToKICAgICAgICAgcmVzdWx0ID0gcGFyc2VCbG9ja1N0YXRl
bWVudChjb250ZXh0KTsKQEAgLTExOTksNiArMTI0MSwxNSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50
KFRyZQogICAgIGNhc2UgQlJFQUs6CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlQnJlYWtTdGF0ZW1l
bnQoY29udGV4dCk7CiAgICAgICAgIGJyZWFrOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgY2FzZSBBUlJPV0ZVTkNUSU9OOgorICAgICAgICByZXN1bHQgPSBwYXJz
ZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoY29udGV4dCk7CisgICAgICAgIC8vIENvbnN1bWUgdGhl
IGVuZCBvZiBhcnJvdyBmdW5jdGlvbiAsO10pIGFuZCBwcmV2ZW50CisgICAgICAgIC8vIHBhcnNl
IHRoaXMgc3ltYm9scyBieSBwYXJzZVN0YXRlbWVudCBhcyBzZXBhcmF0ZSBzdGF0ZW1lbnQKKyAg
ICAgICAgaWYgKHBhcnNlVHlwZSA9PSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKQorICAgICAg
ICAgICAgbmV4dCgpOworICAgICAgICBicmVhazsKKyNlbmRpZgogICAgIGNhc2UgUkVUVVJOOgog
ICAgICAgICByZXN1bHQgPSBwYXJzZVJldHVyblN0YXRlbWVudChjb250ZXh0KTsKICAgICAgICAg
YnJlYWs7CkBAIC0xMjYzLDIwICsxMzE0LDM0IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZUZvcm1hbFBhcmFtZXRlckxpc3QgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRm9yCiB0
ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlRnVuY3Rpb25Cb2R5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uQm9keSgK
ICAgICBUcmVlQnVpbGRlciYgY29udGV4dCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQg
ZnVuY3Rpb25OYW1lU3RhcnQsIAotICAgIGludCBwYXJhbWV0ZXJzU3RhcnQsIENvbnN0cnVjdG9y
S2luZCBjb25zdHJ1Y3RvcktpbmQpCisgICAgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0
b3JLaW5kIGNvbnN0cnVjdG9yS2luZCwgRnVuY3Rpb25QYXJzZVR5cGUgcGFyc2VUeXBlKQogewog
ICAgIEpTVG9rZW5Mb2NhdGlvbiBzdGFydExvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CiAgICAg
dW5zaWduZWQgc3RhcnRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOworI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisgICAgaWYgKHBhcnNlVHlwZSA9PSBTdGFuZGFyZEZ1bmN0aW9u
UGFyc2VUeXBlKSB7CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgaWYgKG1hdGNoKENMT1NFQlJB
Q0UpKSB7CisgICAgICAgICAgICB1bnNpZ25lZCBlbmRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOwor
ICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0YXJ0TG9jYXRp
b24sIHRva2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgZnVuY3Rpb25LZXl3
b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0cmljdE1vZGUo
KSwgY29uc3RydWN0b3JLaW5kKTsKKyAgICAgICAgfQorICAgIH0KKyNlbHNlCiAgICAgbmV4dCgp
OwotCiAgICAgaWYgKG1hdGNoKENMT1NFQlJBQ0UpKSB7CiAgICAgICAgIHVuc2lnbmVkIGVuZENv
bHVtbiA9IHRva2VuQ29sdW1uKCk7CiAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0
aW9uQm9keShzdGFydExvY2F0aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0YXJ0Q29sdW1uLCBlbmRD
b2x1bW4sIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVy
c1N0YXJ0LCBzdHJpY3RNb2RlKCksIGNvbnN0cnVjdG9yS2luZCk7CiAgICAgfQorI2VuZGlmCisK
ICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50RGVwdGgpOwogICAg
IG1fc3RhdGVtZW50RGVwdGggPSAwOwogICAgIHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpGdW5jdGlv
bkJvZHlCdWlsZGVyIGJvZHlCdWlsZGVyKGNvbnN0X2Nhc3Q8Vk0qPihtX3ZtKSwgbV9sZXhlci5n
ZXQoKSk7Ci0gICAgZmFpbElmRmFsc2UocGFyc2VTb3VyY2VFbGVtZW50cyhib2R5QnVpbGRlciwg
Q2hlY2tGb3JTdHJpY3RNb2RlKSwgIkNhbm5vdCBwYXJzZSBib2R5IG9mIHRoaXMgZnVuY3Rpb24i
KTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGZhaWxJZkZhbHNl
KHBhcnNlU291cmNlRWxlbWVudHMoYm9keUJ1aWxkZXIsIENoZWNrRm9yU3RyaWN0TW9kZSwgcGFy
c2VUeXBlKSwgcGFyc2VUeXBlID09IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUgPyAiQ2Fubm90
IHBhcnNlIGJvZHkgb2YgdGhpcyBmdW5jdGlvbiIgOiAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhp
cyBhcnJvdyBmdW5jdGlvbiIpOworI2Vsc2UKKyAgICBmYWlsSWZGYWxzZShwYXJzZVNvdXJjZUVs
ZW1lbnRzKGJvZHlCdWlsZGVyLCBDaGVja0ZvclN0cmljdE1vZGUsIFN0YW5kYXJkRnVuY3Rpb25Q
YXJzZVR5cGUpLCAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBmdW5jdGlvbiIpOworI2VuZGlm
CiAgICAgdW5zaWduZWQgZW5kQ29sdW1uID0gdG9rZW5Db2x1bW4oKTsKICAgICByZXR1cm4gY29u
dGV4dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBz
dGFydENvbHVtbiwgZW5kQ29sdW1uLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1l
U3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgc3RyaWN0TW9kZSgpLCBjb25zdHJ1Y3RvcktpbmQpOwog
fQpAQCAtMTMzNywyOCArMTQwMiw3NiBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPiB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGludCBQYXJzZXI8TGV4ZXJUeXBlPgogICAgIAog
ICAgIHJldHVybiBwYXJhbWV0ZXJzU3RhcnQ7CiB9CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4gdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBpbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlv
blBhcmFtdGVycyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25QYXJzZU1vZGUgbW9kZSwg
UGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYgaW5mbykKK3sKKyAgICBpbnQgcGFyYW1l
dGVyc1N0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OworICAgIGlmICghbWF0
Y2goSURFTlQpICYmICFtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgIHNlbWFudGljRmFpbHVy
ZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSIpOworICAg
ICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVkIGFuIGFycm93IGZ1bmN0aW9uIGlucHV0IHBh
cmFtZXRlciIpOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7
CisgICAgICAgICAgICBjb25zdW1lKE9QRU5QQVJFTik7CisgICAgICAgICAgICAKKyAgICAgICAg
ICAgIGlmICghbWF0Y2goQ0xPU0VQQVJFTikpIHsKKyAgICAgICAgICAgICAgICBpbmZvLnBhcmFt
ZXRlcnMgPSBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoY29udGV4dCk7CisgICAgICAgICAgICAgICAg
ZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9y
IHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIAorICAgICAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiRXhwZWN0
ZWQgYSAnKScgb3IgYSAnLCcgYWZ0ZXIgYSBwYXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsKKyAgICAg
ICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGF1dG8gcGFyYW1ldGVyID0gcGFyc2VEZWNvbnN0cnVj
dGlvblBhdHRlcm4oY29udGV4dCwgRGVjb25zdHJ1Y3RUb1BhcmFtZXRlcnMpOworICAgICAgICAg
ICAgZmFpbElmRmFsc2UocGFyYW1ldGVyLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlciBwYXR0ZXJu
Iik7CisgICAgICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBjb250ZXh0LmNyZWF0ZUZvcm1hbFBh
cmFtZXRlckxpc3QocGFyYW1ldGVyKTsKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKGluZm8ucGFy
YW1ldGVycywgIkNhbm5vdCBwYXJzZSBwYXJhbWV0ZXJzIGZvciB0aGlzICIsIHN0cmluZ0ZvckZ1
bmN0aW9uTW9kZShtb2RlKSk7CisgICAgICAgIH0KKyAgICB9CiAgICAgCisgICAgcmV0dXJuIHBh
cmFtZXRlcnNTdGFydDsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBl
PgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVu
dHMgcmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLAotICAgIGJvb2wgbmFtZUlz
SW5Db250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCBvd25lckNsYXNzS2luZCwgaW50IGZ1
bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZv
KQorICAgIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCBvd25l
ckNsYXNzS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88
VHJlZUJ1aWxkZXI+JiBpbmZvLCBGdW5jdGlvblBhcnNlVHlwZSBwYXJzZVR5cGUpCiB7CiAgICAg
QXV0b1BvcFNjb3BlUmVmIGZ1bmN0aW9uU2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOwogICAgIGZ1
bmN0aW9uU2NvcGUtPnNldElzRnVuY3Rpb24oKTsKICAgICBpbnQgZnVuY3Rpb25OYW1lU3RhcnQg
PSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CiAgICAgY29uc3QgSWRlbnRpZmllciog
bGFzdEZ1bmN0aW9uTmFtZSA9IG1fbGFzdEZ1bmN0aW9uTmFtZTsKICAgICBtX2xhc3RGdW5jdGlv
bk5hbWUgPSBudWxscHRyOworICAgIGludCBwYXJhbWV0ZXJzU3RhcnQ7CisgICAgYm9vbCBpc0Ns
YXNzQ29uc3RydWN0b3I7CiAgICAgCi0gICAgaW50IHBhcmFtZXRlcnNTdGFydCA9IHBhcnNlRnVu
Y3Rpb25QYXJhbXRlcnMoY29udGV4dCwgcmVxdWlyZW1lbnRzLCBtb2RlLCBuYW1lSXNJbkNvbnRh
aW5pbmdTY29wZSwgZnVuY3Rpb25TY29wZSwgaW5mbyk7Ci0KLSAgICBtYXRjaE9yRmFpbChPUEVO
QlJBQ0UsICJFeHBlY3RlZCBhbiBvcGVuaW5nICd7JyBhdCB0aGUgc3RhcnQgb2YgYSAiLCBzdHJp
bmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOwotCi0gICAgLy8gQnl0ZWNvZGVHZW5l
cmF0b3IgZW1pdHMgY29kZSB0byB0aHJvdyBUeXBlRXJyb3Igd2hlbiBhIGNsYXNzIGNvbnN0cnVj
dG9yIGlzICJjYWxsImVkLgotICAgIC8vIFNldCBDb25zdHJ1Y3RvcktpbmQgdG8gTm9uZSBmb3Ig
bm9uLWNvbnN0cnVjdG9yIG1ldGhvZHMgb2YgY2xhc3Nlcy4KLSAgICBib29sIGlzQ2xhc3NDb25z
dHJ1Y3RvciA9IG1vZGUgPT0gTWV0aG9kTW9kZSAmJiBpbmZvLm5hbWUgJiYgKmluZm8ubmFtZSA9
PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvcjsKLSAgICBpZiAobV9kZWZhdWx0Q29u
c3RydWN0b3JLaW5kICE9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSkgewotICAgICAgICBvd25lckNs
YXNzS2luZCA9IG1fZGVmYXVsdENvbnN0cnVjdG9yS2luZDsKLSAgICAgICAgaXNDbGFzc0NvbnN0
cnVjdG9yID0gdHJ1ZTsKKyAgICBzd2l0Y2ggKHBhcnNlVHlwZSkgeworICAgIGNhc2UgU3RhbmRh
cmRGdW5jdGlvblBhcnNlVHlwZTogeworICAgICAgICBwYXJhbWV0ZXJzU3RhcnQgPSBwYXJzZUZ1
bmN0aW9uUGFyYW10ZXJzKGNvbnRleHQsIHJlcXVpcmVtZW50cywgbW9kZSwgbmFtZUlzSW5Db250
YWluaW5nU2NvcGUsIGZ1bmN0aW9uU2NvcGUsIGluZm8pOworICAgICAgICAgICAgCisgICAgICAg
IG1hdGNoT3JGYWlsKE9QRU5CUkFDRSwgIkV4cGVjdGVkIGFuIG9wZW5pbmcgJ3snIGF0IHRoZSBz
dGFydCBvZiBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7CisgICAg
ICAgIAorICAgICAgICAvLyBCeXRlY29kZUdlbmVyYXRvciBlbWl0cyBjb2RlIHRvIHRocm93IFR5
cGVFcnJvciB3aGVuIGEgY2xhc3MgY29uc3RydWN0b3IgaXMgImNhbGwiZWQuCisgICAgICAgIC8v
IFNldCBDb25zdHJ1Y3RvcktpbmQgdG8gTm9uZSBmb3Igbm9uLWNvbnN0cnVjdG9yIG1ldGhvZHMg
b2YgY2xhc3Nlcy4KKyAgICAgICAgaXNDbGFzc0NvbnN0cnVjdG9yID0gbW9kZSA9PSBNZXRob2RN
b2RlICYmIGluZm8ubmFtZSAmJiAqaW5mby5uYW1lID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmNv
bnN0cnVjdG9yOworICAgICAgICBpZiAobV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kICE9IENvbnN0
cnVjdG9yS2luZDo6Tm9uZSkgeworICAgICAgICAgICAgb3duZXJDbGFzc0tpbmQgPSBtX2RlZmF1
bHRDb25zdHJ1Y3RvcktpbmQ7CisgICAgICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSB0cnVl
OworICAgICAgICB9CisgICAgICAgIGJyZWFrOwogICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2UgQXJyb3dGdW5jdGlvblBhcnNlVHlwZTogeworICAg
ICAgICBwYXJhbWV0ZXJzU3RhcnQgPSBwYXJzZUFycm93RnVuY3Rpb25QYXJhbXRlcnMoY29udGV4
dCwgbW9kZSwgaW5mbyk7CisgICAgICAgIAorICAgICAgICBtYXRjaE9yRmFpbChBUlJPV0ZVTkNU
SU9OLCAiRXhwZWN0ZWQgYSAnPT4nIGFmdGVyIGFycm93IGZ1bmN0aW9uIHBhcmFtZXRlciBkZWNs
YXJhdGlvbiIpOworICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSBmYWxzZTsKKyAgICAgICAg
CisgICAgICAgIGluZm8uYXJyb3dGdW5jdGlvbk9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNl
dDsKKyAgICAgICAgYnJlYWs7CisgICAgfQorI2VuZGlmCisgICAgfQorCiAgICAgQ29uc3RydWN0
b3JLaW5kIGNvbnN0cnVjdG9yS2luZCA9IGlzQ2xhc3NDb25zdHJ1Y3RvciA/IG93bmVyQ2xhc3NL
aW5kIDogQ29uc3RydWN0b3JLaW5kOjpOb25lOwogCiAgICAgaW5mby5vcGVuQnJhY2VPZmZzZXQg
PSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CkBAIC0xMzkyLDggKzE1MDUsMTUgQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9u
SW5mbyhUcmVlQnVpbGQKICAgICAgICAgZmFpbElmRmFsc2UocG9wU2NvcGUoZnVuY3Rpb25TY29w
ZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQYXJzZXIgZXJyb3IiKTsK
ICAgICAgICAgCiAgICAgICAgIGluZm8uY2xvc2VCcmFjZU9mZnNldCA9IGNhY2hlZEluZm8tPmNs
b3NlQnJhY2VPZmZzZXQ7Ci0KLSAgICAgICAgbV90b2tlbiA9IGNhY2hlZEluZm8tPmNsb3NlQnJh
Y2VUb2tlbigpOworICAgICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgICAgICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpCisgICAg
ICAgICAgICBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPSBjYWNoZWRJbmZvLT5pc0JvZHlBcnJvd0V4
cHJlc3Npb24gPyAgQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uIDogQXJyb3dGdW5jdGlvbkJv
ZHlCbG9jazsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgaW5mby5mdW5jdGlvbkJvZHlUeXBl
ID0gU3RhbmRhcmRGdW5jdGlvbkJvZHlCbG9jazsKKyNlbmRpZgorICAgICAgICBtX3Rva2VuID0g
Y2FjaGVkSW5mby0+ZW5kRnVuY3Rpb25Ub2tlbigpOworICAgICAgICAKICAgICAgICAgaWYgKGVu
ZENvbHVtbklzT25TdGFydExpbmUpCiAgICAgICAgICAgICBtX3Rva2VuLm1fbG9jYXRpb24ubGlu
ZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVTdGFydE9mZnNldDsKIApAQCAtMTQwMiwxMyArMTUy
Miw0MyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogCiAgICAgICAgIGNvbnRleHQuc2V0RW5k
T2Zmc2V0KGluZm8uYm9keSwgbV9sZXhlci0+Y3VycmVudE9mZnNldCgpKTsKICAgICAgICAgCisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKHBhcnNlVHlw
ZSAhPSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlIHx8IGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9PSBB
cnJvd0Z1bmN0aW9uQm9keUJsb2NrKQorICAgICAgICAgICAgbmV4dCgpOworI2Vsc2UKICAgICAg
ICAgbmV4dCgpOworI2VuZGlmCiAgICAgICAgIGluZm8uYm9keUVuZExpbmUgPSBtX2xhc3RUb2tl
bkVuZFBvc2l0aW9uLmxpbmU7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KKyAgICAKICAg
ICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBsYXN0RnVuY3Rpb25OYW1lOwogICAgIFBhcnNlclN0YXRl
IG9sZFN0YXRlID0gc2F2ZVN0YXRlKCk7Ci0gICAgaW5mby5ib2R5ID0gcGFyc2VGdW5jdGlvbkJv
ZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJh
bWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCk7CisgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJz
ZVR5cGUpIHsKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgp
OworICAgICAgICBuZXh0KCk7CisgICAgICAgIC8vIENoZWNrIGlmIGFycm93IGJvZHkgc3RhcnQg
d2l0aCB7LiBJZiBpdCB0cnVlIGl0IG1lYW4gdGhhdCBhcnJvdyBmdW5jdGlvbiBpcyBGYXQgYXJy
b3cgZnVuY3Rpb24KKyAgICAgICAgLy8gYW5kIHdlIG5lZWQgdXNlIGNvbW1vbiBhcHByb2FjaCB0
byBwYXJzZSBmdW5jdGlvbiBib2R5CisgICAgICAgIGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9IG1h
dGNoKE9QRU5CUkFDRSkgPyBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrIDogQXJyb3dGdW5jdGlvbkJv
ZHlFeHByZXNzaW9uOworICAgIAorICAgICAgICBpZiAoaW5mby5mdW5jdGlvbkJvZHlUeXBlID09
IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHsKKyAgICAgICAgICAgIGluZm8ub3BlbkJyYWNlT2Zm
c2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgICAgICAgICAgaW5mby5ib2R5U3RhcnRM
aW5lID0gdG9rZW5MaW5lKCk7CisgICAgICAgICAgICBpbmZvLmJvZHlTdGFydENvbHVtbiA9IG1f
dG9rZW4ubV9kYXRhLm9mZnNldCAtIG1fdG9rZW4ubV9kYXRhLmxpbmVTdGFydE9mZnNldDsKKyAg
ICAgICAgCisgICAgICAgICAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0
LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFy
dCwgY29uc3RydWN0b3JLaW5kLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKKyAgICAg
ICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5
d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3Rv
cktpbmQsIEFycm93RnVuY3Rpb25QYXJzZVR5cGUpOworICAgICAgICB9CisgICAgfSBlbHNlCisg
ICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5
d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3Rv
cktpbmQsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOworI2Vsc2UKKyAgICBpbmZvLmJvZHkg
PSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rp
b25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kLCBTdGFuZGFyZEZ1
bmN0aW9uUGFyc2VUeXBlKTsKKyNlbmRpZgorICAgIAogICAgIHJlc3RvcmVTdGF0ZShvbGRTdGF0
ZSk7CiAgICAgZmFpbElmRmFsc2UoaW5mby5ib2R5LCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9m
IHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKICAgICBjb250ZXh0LnNldEVu
ZE9mZnNldChpbmZvLmJvZHksIG1fbGV4ZXItPmN1cnJlbnRPZmZzZXQoKSk7CkBAIC0xNDM5LDE4
ICsxNTg5LDMyIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIHBhcmFtZXRlcnMu
Y2xvc2VCcmFjZUxpbmUgPSBjbG9zZUJyYWNlTGluZTsKICAgICAgICAgcGFyYW1ldGVycy5jbG9z
ZUJyYWNlT2Zmc2V0ID0gaW5mby5jbG9zZUJyYWNlT2Zmc2V0OwogICAgICAgICBwYXJhbWV0ZXJz
LmNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0Owor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChwYXJzZVR5
cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICAgICAgcGFyYW1ldGVycy5p
c0JvZHlBcnJvd0V4cHJlc3Npb24gPSBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5j
dGlvbkJvZHlFeHByZXNzaW9uOworICAgICAgICAgICAgcGFyYW1ldGVycy50b2tlblR5cGUgPSBt
X3Rva2VuLm1fdHlwZTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIGZ1bmN0aW9uU2NvcGUt
PmZpbGxQYXJhbWV0ZXJzRm9yU291cmNlUHJvdmlkZXJDYWNoZShwYXJhbWV0ZXJzKTsKICAgICAg
ICAgbmV3SW5mbyA9IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjpjcmVhdGUocGFyYW1ldGVycyk7
Ci0KICAgICB9CiAgICAgCiAgICAgZmFpbElmRmFsc2UocG9wU2NvcGUoZnVuY3Rpb25TY29wZSwg
VHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQYXJzZXIgZXJyb3IiKTsKKyAg
ICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlmICgocGFyc2VU
eXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUgJiYgaW5mby5mdW5jdGlvbkJvZHlUeXBlID09
IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHx8IHBhcnNlVHlwZSAhPSBBcnJvd0Z1bmN0aW9uUGFy
c2VUeXBlKSB7CisgICAgICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0UsICJFeHBlY3RlZCBhIGNs
b3NpbmcgJ30nIGFmdGVyIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHki
KTsKKyAgICAgICAgbmV4dCgpOworICAgIH0gZWxzZQorICAgICAgICBmYWlsSWZGYWxzZShpc0Vu
ZE9mQXJyb3dGdW5jdGlvbigpLCAiRXhwZWN0ZWQgdGhlIGNsb3NpbmcgJzsnICcsJyAnXScgJykn
ICd9JyBhZnRlciBhcnJvdyBmdW5jdGlvbiIpOworI2Vsc2UKICAgICBtYXRjaE9yRmFpbChDTE9T
RUJSQUNFLCAiRXhwZWN0ZWQgYSBjbG9zaW5nICd9JyBhZnRlciBhICIsIHN0cmluZ0ZvckZ1bmN0
aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7CisgICAgbmV4dCgpOworI2VuZGlmCiAgICAgCiAgICAg
aWYgKG5ld0luZm8pCiAgICAgICAgIG1fZnVuY3Rpb25DYWNoZS0+YWRkKGluZm8ub3BlbkJyYWNl
T2Zmc2V0LCBXVEY6Om1vdmUobmV3SW5mbykpOwogICAgIAotICAgIG5leHQoKTsKICAgICBpbmZv
LmJvZHlFbmRMaW5lID0gbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lOwogICAgIHJldHVybiB0
cnVlOwogfQpAQCAtMTQ2Myw3ICsxNjI3LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGEKICAg
ICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2VuU3RhcnQoKTsKICAgICBuZXh0
KCk7CiAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOwotICAgIGZhaWxJ
ZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5lZWRzTmFtZSwgRnVu
Y3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0
YXJ0LCBpbmZvKSksICJDYW5ub3QgcGFyc2UgdGhpcyBmdW5jdGlvbiIpOworICAgIGZhaWxJZkZh
bHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5lZWRzTmFtZSwgRnVuY3Rp
b25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0
LCBpbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2UgdGhpcyBm
dW5jdGlvbiIpOwogICAgIGZhaWxJZkZhbHNlKGluZm8ubmFtZSwgIkZ1bmN0aW9uIHN0YXRlbWVu
dHMgbXVzdCBoYXZlIGEgbmFtZSIpOwogICAgIGZhaWxJZkZhbHNlSWZTdHJpY3QoZGVjbGFyZVZh
cmlhYmxlKGluZm8ubmFtZSksICJDYW5ub3QgZGVjbGFyZSBhIGZ1bmN0aW9uIG5hbWVkICciLCBp
bmZvLm5hbWUtPmltcGwoKSwgIicgaW4gc3RyaWN0IG1vZGUiKTsKICAgICByZXR1cm4gY29udGV4
dC5jcmVhdGVGdW5jRGVjbFN0YXRlbWVudChsb2NhdGlvbiwgaW5mbyk7CkBAIC0xNTU4LDcgKzE3
MjIsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVDbGFzc0V4cHJlc3Npb24g
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3MoVAogICAgICAgICAgICAgZmFpbElmRmFsc2Uo
cHJvcGVydHksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2QiKTsKICAgICAgICAgfSBlbHNlIHsK
ICAgICAgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gbWV0aG9kSW5mbzsK
LSAgICAgICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5j
dGlvbk5lZWRzTmFtZSwgaXNTdGF0aWNNZXRob2QgPyBGdW5jdGlvbk1vZGUgOiBNZXRob2RNb2Rl
LCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBtZXRob2RTdGFydCwgbWV0aG9kSW5mbykpLCAiQ2Fu
bm90IHBhcnNlIHRoaXMgbWV0aG9kIik7CisgICAgICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VG
dW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OZWVkc05hbWUsIGlzU3RhdGljTWV0aG9kID8g
RnVuY3Rpb25Nb2RlIDogTWV0aG9kTW9kZSwgZmFsc2UsIGNvbnN0cnVjdG9yS2luZCwgbWV0aG9k
U3RhcnQsIG1ldGhvZEluZm8sIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBw
YXJzZSB0aGlzIG1ldGhvZCIpOwogICAgICAgICAgICAgZmFpbElmRmFsc2UobWV0aG9kSW5mby5u
YW1lLCAibWV0aG9kIG11c3QgaGF2ZSBhIG5hbWUiKTsKICAgICAgICAgICAgIGZhaWxJZkZhbHNl
KGRlY2xhcmVWYXJpYWJsZShtZXRob2RJbmZvLm5hbWUpLCAiQ2Fubm90IGRlY2xhcmUgYSBtZXRo
b2QgbmFtZWQgJyIsIG1ldGhvZEluZm8ubmFtZS0+aW1wbCgpLCAiJyIpOwogCkBAIC0xNzc0LDYg
KzE5MzgsMTggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUlmU3RhdGVtZW50KFQKICAgICByZXR1cm4gY29udGV4dC5j
cmVhdGVJZlN0YXRlbWVudChpZkxvY2F0aW9uLCBjb25kaXRpb24sIHRydWVCbG9jaywgc3RhdGVt
ZW50U3RhY2subGFzdCgpLCBzdGFydCwgZW5kKTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBm
YWlsSWZTdGFja092ZXJmbG93KCk7CisgICAgVHJlZUV4cHJlc3Npb24gbm9kZSA9IHBhcnNlQXNz
aWdubWVudEV4cHJlc3Npb24oY29udGV4dCk7CisgICAgZmFpbElmRmFsc2Uobm9kZSwgIkNhbm5v
dCBwYXJzZSBleHByZXNzaW9uIik7CisgICAgY29udGV4dC5zZXRFbmRPZmZzZXQobm9kZSwgbV9s
YXN0VG9rZW5FbmRQb3NpdGlvbi5vZmZzZXQpOworICAgIHJldHVybiBub2RlOworfQorI2VuZGlm
CisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cHJlc3Npb24o
VHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7CkBAIC0xODIxLDYgKzE5OTcsNDEgQEAgdGVtcGxhdGUg
PHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VBc3NpZ25tZW4KICAgICAgICAgfQogICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQ
b2ludCk7CiAgICAgfQorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwor
ICAgIGJvb2wgYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCA9IGZhbHNlOworICAgIGlmIChtYXRjaChP
UEVOUEFSRU4pKSB7CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgaWYgKG1hdGNoKENMT1NFUEFS
RU4pKSB7CisgICAgICAgICAgICBuZXh0KCk7CisKKyAgICAgICAgICAgIGlmIChtYXRjaChBUlJP
V0ZVTkNUSU9OKSkKKyAgICAgICAgICAgICAgICBhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0ID0gdHJ1
ZTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICghYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCkKKyAg
ICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAg
fQorCisgICAgVHJlZUV4cHJlc3Npb24gbGhzOworICAgIGlmICghYXJyb3dGdW5jdGlvbkVtcHR5
TGlzdCkgeworICAgICAgICBsaHMgPSBwYXJzZUNvbmRpdGlvbmFsRXhwcmVzc2lvbihjb250ZXh0
KTsKKyAgICAgICAgZmFpbElmRmFsc2UobGhzLCAiQ2FuGW5vdCBwYXJzZSBleHByZXNzaW9uIik7
CisgICAgICAgIGlmIChpbml0aWFsTm9uTEhTQ291bnQgIT0gbV9ub25MSFNDb3VudCkgeworICAg
ICAgICAgICAgaWYgKG1fdG9rZW4ubV90eXBlID49IEVRVUFMICYmIG1fdG9rZW4ubV90eXBlIDw9
IE9SRVFVQUwpCisgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsKCJMZWZ0IGhhbmQgc2lkZSBv
ZiBvcGVyYXRvciAnIiwgZ2V0VG9rZW4oKSwgIicgbXVzdCBiZSBhIHJlZmVyZW5jZSIpOworCisg
ICAgICAgICAgICByZXR1cm4gbGhzOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKG1hdGNo
KEFSUk9XRlVOQ1RJT04pKSB7CisgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVu
Y3Rpb25Qb2ludCk7CisgICAgICAgIGxocyA9IHBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoY29u
dGV4dCk7CisgICAgICAgIHJldHVybiBsaHM7CisgICAgfQorI2Vsc2UKICAgICBUcmVlRXhwcmVz
c2lvbiBsaHMgPSBwYXJzZUNvbmRpdGlvbmFsRXhwcmVzc2lvbihjb250ZXh0KTsKICAgICBmYWls
SWZGYWxzZShsaHMsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lvbiIpOwogICAgIGlmIChpbml0aWFs
Tm9uTEhTQ291bnQgIT0gbV9ub25MSFNDb3VudCkgewpAQCAtMTgyOSw3ICsyMDQwLDggQEAgdGVt
cGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VBc3NpZ25tZW4KIAogICAgICAgICByZXR1cm4gbGhzOwogICAgIH0KLSAgICAK
KyNlbmRpZgorCiAgICAgaW50IGFzc2lnbm1lbnRTdGFjayA9IDA7CiAgICAgT3BlcmF0b3Igb3A7
CiAgICAgYm9vbCBoYWRBc3NpZ25tZW50ID0gZmFsc2U7CkBAIC0yMDYxLDcgKzIyNzMsNyBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZVByb3BlcnR5TWV0aAogICAgIEpTVG9rZW5Mb2NhdGlvbiBtZXRob2RMb2NhdGlv
bih0b2tlbkxvY2F0aW9uKCkpOwogICAgIHVuc2lnbmVkIG1ldGhvZFN0YXJ0ID0gdG9rZW5TdGFy
dCgpOwogICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gbWV0aG9kSW5mbzsKLSAg
ICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVp
cmVtZW50cywgTWV0aG9kTW9kZSwgZmFsc2UsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgbWV0aG9k
U3RhcnQsIG1ldGhvZEluZm8pKSwgIkNhbm5vdCBwYXJzZSB0aGlzIG1ldGhvZCIpOworICAgIGZh
aWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1l
bnRzLCBNZXRob2RNb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBtZXRob2RTdGFy
dCwgbWV0aG9kSW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNl
IHRoaXMgbWV0aG9kIik7CiAgICAgbWV0aG9kSW5mby5uYW1lID0gbWV0aG9kTmFtZTsKICAgICBy
ZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkV4cHIobWV0aG9kTG9jYXRpb24sIG1ldGhvZElu
Zm8pOwogfQpAQCAtMjA4MywxMCArMjI5NSwxMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVQcm9wZXJ0eSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VHZXR0ZXJTZXR0ZXIoVAog
ICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gaW5mbzsKICAgICBpZiAodHlwZSA9
PSBQcm9wZXJ0eU5vZGU6OkdldHRlcikgewogICAgICAgICBmYWlsSWZGYWxzZShtYXRjaChPUEVO
UEFSRU4pLCAiRXhwZWN0ZWQgYSBwYXJhbWV0ZXIgbGlzdCBmb3IgZ2V0dGVyIGRlZmluaXRpb24i
KTsKLSAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0
aW9uTm9SZXF1aXJlbWVudHMsIEdldHRlck1vZGUsIGZhbHNlLCBjb25zdHJ1Y3RvcktpbmQsIGdl
dHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIGluZm8pKSwgIkNhbm5vdCBwYXJzZSBnZXR0ZXIgZGVm
aW5pdGlvbiIpOworICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4
dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgR2V0dGVyTW9kZSwgZmFsc2UsIGNvbnN0cnVjdG9y
S2luZCwgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgaW5mbywgU3RhbmRhcmRGdW5jdGlvblBh
cnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIGdldHRlciBkZWZpbml0aW9uIik7CiAgICAgfSBlbHNl
IHsKICAgICAgICAgZmFpbElmRmFsc2UobWF0Y2goT1BFTlBBUkVOKSwgIkV4cGVjdGVkIGEgcGFy
YW1ldGVyIGxpc3QgZm9yIHNldHRlciBkZWZpbml0aW9uIik7Ci0gICAgICAgIGZhaWxJZkZhbHNl
KChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBTZXR0
ZXJNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBnZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0
LCBpbmZvKSksICJDYW5ub3QgcGFyc2Ugc2V0dGVyIGRlZmluaXRpb24iKTsKKyAgICAgICAgZmFp
bElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVu
dHMsIFNldHRlck1vZGUsIGZhbHNlLCBjb25zdHJ1Y3RvcktpbmQsIGdldHRlck9yU2V0dGVyU3Rh
cnRPZmZzZXQsIGluZm8sIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJz
ZSBzZXR0ZXIgZGVmaW5pdGlvbiIpOwogICAgIH0KICAgICBpZiAoc3RyaW5nUHJvcGVydHlOYW1l
KQogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVHZXR0ZXJPclNldHRlclByb3BlcnR5KGxv
Y2F0aW9uLCB0eXBlLCBzdHJpY3QsIHN0cmluZ1Byb3BlcnR5TmFtZSwgaW5mbywgc3VwZXJCaW5k
aW5nKTsKQEAgLTIyNzUsNyArMjQ4Nyw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAg
ICAgIG5leHQoKTsKICAgICAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZv
OwogICAgICAgICBpbmZvLm5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1lcy0+bnVsbElkZW50aWZp
ZXI7Ci0gICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5j
dGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlvbk1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6
Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvKSksICJDYW5ub3QgcGFyc2UgZnVuY3Rp
b24gZXhwcmVzc2lvbiIpOworICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8o
Y29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgRnVuY3Rpb25Nb2RlLCBmYWxzZSwgQ29u
c3RydWN0b3JLaW5kOjpOb25lLCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW5mbywgU3RhbmRhcmRG
dW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsK
ICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25FeHByKGxvY2F0aW9uLCBpbmZv
KTsKICAgICB9CiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCkBAIC0yMzA0LDYgKzI1MTYs
MjMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAgcmV0dXJuIGNvbnRleHQudGhp
c0V4cHIobG9jYXRpb24sIG1fdGhpc1REWk1vZGUpOwogICAgIH0KICAgICBjYXNlIElERU5UOiB7
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgU2F2ZVBvaW50
IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICAgICAgSlNU
ZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICAgICAgY29uc3Qg
SWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKKyAgICAgICAgSlNUb2tl
bkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CisgICAgICAgIG5leHQoKTsKKwor
ICAgICAgICBpZiAoIW1hdGNoKEFSUk9XRlVOQ1RJT04pKSB7CisgICAgICAgICAgICBjdXJyZW50
U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRlbnQsIG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0g
KmlkZW50KTsKKyAgICAgICAgICAgIG1fbGFzdElkZW50aWZpZXIgPSBpZGVudDsKKyAgICAgICAg
ICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJlc29sdmUobG9jYXRpb24sIGlkZW50LCBzdGFydCk7
CisgICAgICAgIH0KKworICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9u
UG9pbnQpOworICAgICAgICBUcmVlRXhwcmVzc2lvbiBsaHMgPSBwYXJzZUFycm93RnVuY3Rpb25X
cmFwcGVyKGNvbnRleHQpOworICAgICAgICByZXR1cm4gbGhzOworI2Vsc2UKICAgICAgICAgSlNU
ZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKICAgICAgICAgY29uc3Qg
SWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgSlNUb2tl
bkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CkBAIC0yMzExLDYgKzI1NDAsNyBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZVByaW1hcnlFeHByZQogICAgICAgICBjdXJyZW50U2NvcGUoKS0+dXNlVmFy
aWFibGUoaWRlbnQsIG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmlkZW50KTsKICAgICAg
ICAgbV9sYXN0SWRlbnRpZmllciA9IGlkZW50OwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVh
dGVSZXNvbHZlKGxvY2F0aW9uLCBpZGVudCwgc3RhcnQpOworI2VuZGlmCiAgICAgfQogICAgIGNh
c2UgU1RSSU5HOiB7CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5t
X2RhdGEuaWRlbnQ7CkBAIC0yNDk4LDYgKzI3MjgsMzIgQEAgZW5kTWVtYmVyRXhwcmVzc2lvbjoK
ICAgICByZXR1cm4gYmFzZTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0
aW9uV3JhcHBlcihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBUcmVlRXhwcmVzc2lvbiBi
YXNlID0gMDsKKyAgICBKU1RleHRQb3NpdGlvbiBleHByZXNzaW9uU3RhcnQgPSB0b2tlblN0YXJ0
UG9zaXRpb24oKTsKKyAgICBpbnQgbmV3Q291bnQgPSAwOworICAgIEpTVG9rZW5Mb2NhdGlvbiBs
b2NhdGlvbjsKKworICAgIGlmIChtYXRjaChJREVOVCkgfHwgbWF0Y2goT1BFTlBBUkVOKSkgewor
ICAgICAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2VuU3RhcnQoKTsKKyAg
ICAgICAgbG9jYXRpb24gPSB0b2tlbkxvY2F0aW9uKCk7CisgICAgICAgIFBhcnNlckZ1bmN0aW9u
SW5mbzxUcmVlQnVpbGRlcj4gaW5mbzsKKyAgICAgICAgaW5mby5uYW1lID0gJm1fdm0tPnByb3Bl
cnR5TmFtZXMtPm51bGxJZGVudGlmaWVyOworICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5j
dGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgRnVuY3Rpb25Nb2RlLCB0
cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvLCBB
cnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2UgYXJyb3cgZnVuY3Rpb24gZXhw
cmVzc2lvbiIpOworICAgICAgICBiYXNlID0gY29udGV4dC5jcmVhdGVBcnJvd0Z1bmN0aW9uRXhw
cihsb2NhdGlvbiwgaW5mbyk7CisgICAgfSBlbHNlCisgICAgICAgIGJhc2UgPSBwYXJzZVByaW1h
cnlFeHByZXNzaW9uKGNvbnRleHQpOworCisgICAgZmFpbElmRmFsc2UoYmFzZSwgIkNhbm5vdCBw
YXJzZSBiYXNlIGV4cHJlc3Npb24iKTsKKyAgICB3aGlsZSAobmV3Q291bnQtLSkKKyAgICAgICAg
YmFzZSA9IGNvbnRleHQuY3JlYXRlTmV3RXhwcihsb2NhdGlvbiwgYmFzZSwgZXhwcmVzc2lvblN0
YXJ0LCBsYXN0VG9rZW5FbmRQb3NpdGlvbigpKTsKKyAgICByZXR1cm4gYmFzZTsKK30KKyNlbmRp
ZgorCiBzdGF0aWMgY29uc3QgY2hhciogb3BlcmF0b3JTdHJpbmcoYm9vbCBwcmVmaXgsIHVuc2ln
bmVkIHRvaykKIHsKICAgICBzd2l0Y2ggKHRvaykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyLmgKaW5kZXggNzhiYWZmYTBlMTc3M2M4MjA2OThiOTIwM2YwZjZhM2Q3YWQzMmVjNC4u
MDVjY2Q0YTUwNDg4NzRiMGNlOWQ3ZDljYTcyZmNiMTk3YmI3NjQyOSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC04MCw2ICs4MCwxMSBAQCBjbGFzcyBTb3VyY2VDb2Rl
OwogQ09NUElMRV9BU1NFUlQoTGFzdFVudGFnZ2VkVG9rZW4gPCA2NCwgTGVzc1RoYW42NFVudGFn
Z2VkVG9rZW5zKTsKIAogZW51bSBTb3VyY2VFbGVtZW50c01vZGUgeyBDaGVja0ZvclN0cmljdE1v
ZGUsIERvbnRDaGVja0ZvclN0cmljdE1vZGUgfTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorZW51bSBGdW5jdGlvblBhcnNlVHlwZSB7IFN0YW5kYXJkRnVuY3Rpb25QYXJz
ZVR5cGUsIEFycm93RnVuY3Rpb25QYXJzZVR5cGUgfTsKKyNlbHNlCitlbnVtIEZ1bmN0aW9uUGFy
c2VUeXBlIHsgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZX07CisjZW5kaWYKIGVudW0gRnVuY3Rp
b25SZXF1aXJlbWVudHMgeyBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlvbk5lZWRzTmFt
ZSB9OwogZW51bSBGdW5jdGlvblBhcnNlTW9kZSB7CiAgICAgRnVuY3Rpb25Nb2RlLApAQCAtNjE4
LDYgKzYyMywxMyBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gbV90b2tlbi5tX3R5cGUgPT0g
SURFTlQgJiYgKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPm9m
OwogICAgIH0KICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
IEFMV0FZU19JTkxJTkUgYm9vbCBpc0VuZE9mQXJyb3dGdW5jdGlvbigpCisgICAgeworICAgICAg
ICByZXR1cm4gbWF0Y2goU0VNSUNPTE9OKSB8fCBtYXRjaChDT01NQSkgfHwgbWF0Y2goQ0xPU0VQ
QVJFTikgfHwgbWF0Y2goQ0xPU0VCUkFDRSkgfHwgbWF0Y2goQ0xPU0VCUkFDS0VUKTsKKyAgICB9
CisjZW5kaWYKKyAgICAKICAgICBBTFdBWVNfSU5MSU5FIHVuc2lnbmVkIHRva2VuU3RhcnQoKQog
ICAgIHsKICAgICAgICAgcmV0dXJuIG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKQEAg
LTcyMSw5ICs3MzMsOSBAQCBwcml2YXRlOgogICAgICAgICB9CiAgICAgICAgIHJldHVybiByZXN1
bHQ7CiAgICAgfQotICAgIAotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNv
dXJjZUVsZW1lbnRzIHBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVt
ZW50c01vZGUpOwotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVu
dCBwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3Rp
dmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMCk7CisKKyAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJzZVNvdXJjZUVsZW1l
bnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxlbWVudHNNb2RlLCBGdW5jdGlvblBhcnNlVHlwZSk7
CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3Rh
dGVtZW50KFRyZWVCdWlsZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWdu
ZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwLCBGdW5jdGlvblBhcnNlVHlwZSB0eXBlID0g
U3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgp
CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQ2xh
c3NEZWNsYXJhdGlvbihUcmVlQnVpbGRlciYpOwogI2VuZGlmCkBAIC03NjIsMTkgKzc3NCwyNiBA
QCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5
IHBhcnNlUHJvcGVydHkoVHJlZUJ1aWxkZXImLCBib29sIHN0cmljdCk7CiAgICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZVByb3BlcnR5TWV0aG9kKFRy
ZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiBtZXRob2ROYW1lKTsKICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBwYXJzZUdldHRlclNldHRl
cihUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0LCBQcm9wZXJ0eU5vZGU6OlR5cGUsIHVuc2lnbmVk
IGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIENvbnN0cnVjdG9yS2luZCA9IENvbnN0cnVjdG9y
S2luZDo6Tm9uZSwgU3VwZXJCaW5kaW5nID0gU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQpOwotICAg
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRnVuY3Rpb25C
b2R5IHBhcnNlRnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVyJiwgaW50IGZ1bmN0aW9uS2V5d29yZFN0
YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIGludCBwYXJhbWV0ZXJzU3RhcnQsIENvbnN0cnVj
dG9yS2luZCk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5F
IFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VGdW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImLCBpbnQgZnVu
Y3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwgaW50IHBhcmFtZXRlcnNT
dGFydCwgQ29uc3RydWN0b3JLaW5kLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlw
ZSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVG
b3JtYWxQYXJhbWV0ZXJMaXN0IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhUcmVlQnVpbGRlciYpOwog
ICAgIGVudW0gVmFyRGVjbGFyYXRpb25MaXN0Q29udGV4dCB7IEZvckxvb3BDb250ZXh0LCBWYXJE
ZWNsYXJhdGlvbkNvbnRleHQgfTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVFeHByZXNzaW9uIHBhcnNlVmFyRGVjbGFyYXRpb25MaXN0KFRyZWVCdWlsZGVyJiwgaW50JiBk
ZWNsYXJhdGlvbnMsIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4mIGxhc3RQYXR0ZXJuLCBUcmVl
RXhwcmVzc2lvbiYgbGFzdEluaXRpYWxpemVyLCBKU1RleHRQb3NpdGlvbiYgaWRlbnRTdGFydCwg
SlNUZXh0UG9zaXRpb24mIGluaXRTdGFydCwgSlNUZXh0UG9zaXRpb24mIGluaXRFbmQsIFZhckRl
Y2xhcmF0aW9uTGlzdENvbnRleHQpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
TkVWRVJfSU5MSU5FIFRyZWVDb25zdERlY2xMaXN0IHBhcnNlQ29uc3REZWNsYXJhdGlvbkxpc3Qo
VHJlZUJ1aWxkZXImKTsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFycm93
RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQXJyb3dGdW5jdGlvblN0YXRlbWVudChUcmVl
QnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Np
b24gcGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihUcmVlQnVpbGRlciYpOworI2VuZGlmCisKICAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1
Y3Rpb25QYXR0ZXJuIGNyZWF0ZUJpbmRpbmdQYXR0ZXJuKFRyZWVCdWlsZGVyJiwgRGVjb25zdHJ1
Y3Rpb25LaW5kLCBjb25zdCBJZGVudGlmaWVyJiwgaW50IGRlcHRoLCBKU1Rva2VuKTsKICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rp
b25QYXR0ZXJuIHBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuKFRyZWVCdWlsZGVyJiwgRGVjb25z
dHJ1Y3Rpb25LaW5kLCBpbnQgZGVwdGggPSAwKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIHRyeVBhcnNlRGVj
b25zdHJ1Y3Rpb25QYXR0ZXJuRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOwotCi0gICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgYm9vbCBwYXJzZUZ1bmN0aW9uSW5m
byhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSwg
Ym9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kLCBpbnQgZnVuY3Rp
b25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mKTsKLSAgICAK
ICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBpbnQgcGFyc2VG
dW5jdGlvblBhcmFtdGVycyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzLCBGdW5j
dGlvblBhcnNlTW9kZSwgYm9vbCwgQXV0b1BvcFNjb3BlUmVmJiwgUGFyc2VyRnVuY3Rpb25JbmZv
PFRyZWVCdWlsZGVyPiYpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgaW50IHBhcnNlQXJy
b3dGdW5jdGlvblBhcmFtdGVycyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUGFyc2VNb2RlLCBQYXJz
ZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+Jik7CisjZW5kaWYKKyAgICB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBib29sIHBhcnNlRnVuY3Rpb25JbmZvKFRyZWVC
dWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlLCBib29sIG5h
bWVJc0luQ29udGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQsIGludCBmdW5jdGlvbktleXdv
cmRTdGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYsIEZ1bmN0aW9uUGFyc2VU
eXBlIGZ1bmN0aW9uUGFyc2VUeXBlKTsKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlQ2xhc3NFeHBy
ZXNzaW9uIHBhcnNlQ2xhc3MoVHJlZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgUGFy
c2VyQ2xhc3NJbmZvPFRyZWVCdWlsZGVyPiYpOwogI2VuZGlmCkBAIC03OTEsNiArODEwLDE0IEBA
IHByaXZhdGU6CiAgICAgICAgIHJldHVybiBhbGxvd0F1dG9tYXRpY1NlbWljb2xvbigpOwogICAg
IH0KICAgICAKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdm9p
ZCBzZXRFbmRPZlN0YXRlbWVudCgpCisgICAgeworICAgICAgICBtX2xleGVyLT5zZXRUb2tlblBv
c2l0aW9uKCZtX3Rva2VuKTsKKyAgICB9CisjZW5kaWYKKwogICAgIGJvb2wgY2FuUmVjdXJzZSgp
CiAgICAgewogICAgICAgICByZXR1cm4gbV92bS0+aXNTYWZlVG9SZWN1cnNlKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaAppbmRleCA2
YjczNjI4MmUyZDJhODFiYzYzZGMyZjNjMGU1YWU4Yzg1OGNkMWY4Li4wY2RlMGM2N2E5ZGUwZWRm
MzQxNDRlMzI3OTFlNWU5MGI0YTIxNTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKQEAgLTI4LDYgKzI4LDEwIEBACiAKIG5hbWVz
cGFjZSBKU0MgewogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK2VudW0g
RnVuY3Rpb25Cb2R5VHlwZSB7IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiwgQXJyb3dGdW5j
dGlvbkJvZHlCbG9jaywgU3RhbmRhcmRGdW5jdGlvbkJvZHlCbG9jayB9OworI2VuZGlmCisKIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4KIHN0cnVjdCBQYXJzZXJGdW5jdGlvbkluZm8gewog
ICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUgPSAwOwpAQCAtMzgsNiArNDIsMTEgQEAgc3RydWN0
IFBhcnNlckZ1bmN0aW9uSW5mbyB7CiAgICAgaW50IGJvZHlTdGFydExpbmUgPSAwOwogICAgIGlu
dCBib2R5RW5kTGluZSA9IDA7CiAgICAgdW5zaWduZWQgYm9keVN0YXJ0Q29sdW1uID0gMDsKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHVuc2lnbmVkIGFycm93RnVu
Y3Rpb25PZmZzZXQgPSAwOworICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uID0gZmFsc2U7CisgICAg
RnVuY3Rpb25Cb2R5VHlwZSBmdW5jdGlvbkJvZHlUeXBlID0gU3RhbmRhcmRGdW5jdGlvbkJvZHlC
bG9jazsKKyNlbmRpZgogfTsKIAogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKaW5kZXggODMyOWY4MmE5YjJm
ZjkxNWQxZjI0MWMxZjhiZmZhZDQyNDdhNWYwYi4uYzhiMTY2ZTBlYWQ3ZDJkYTcxOWU3NmM0YTJm
MDlhZmYxZDc0ZDdhYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXJUb2tlbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRv
a2Vucy5oCkBAIC03NSw2ICs3NSw5IEBAIGVudW0gSlNUb2tlblR5cGUgewogICAgIEZJTkFMTFks
CiAgICAgREVCVUdHRVIsCiAgICAgRUxTRSwKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgIEFSUk9XRlVOQ1RJT04sCisjZW5kaWYKICNpZiBFTkFCTEUoRVM2X0NMQVNT
X1NZTlRBWCkKICAgICBDTEFTU1RPS0VOLAogICAgIEVYVEVORFMsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCmluZGV4IDczZDIzZGI4MmFmMjVlYTQ2YzBmODk3ODVj
ZTQyNGJiNjBlYjYxYTcuLjUwZDUyNjM5Nzk0M2UzODFkMzgwZWM0M2Q4MmQ1YjYzZjdmMDhkYzQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCkBAIC0xMDUsNiAr
MTA1LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIAogICAgICAgICBTb3VyY2VDb2RlIHN1
YkV4cHJlc3Npb24odW5zaWduZWQgb3BlbkJyYWNlLCB1bnNpZ25lZCBjbG9zZUJyYWNlLCBpbnQg
Zmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICAgICAgU291cmNlQ29kZSBzdWJBcnJvd0V4cHJlc3Npb24odW5zaWdu
ZWQgc3RhcnRBcnJvd0Z1bmN0aW9uLCB1bnNpZ25lZCBlbmRBcnJvd0Z1bmN0aW9uLCBpbnQgZmly
c3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOworI2VuZGlmCiAgICAgcHJpdmF0ZToKICAgICAgICAg
UmVmUHRyPFNvdXJjZVByb3ZpZGVyPiBtX3Byb3ZpZGVyOwogICAgICAgICBpbnQgbV9zdGFydENo
YXI7CkBAIC0xMTgsNiArMTIxLDE3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4g
U291cmNlQ29kZShTdHJpbmdTb3VyY2VQcm92aWRlcjo6Y3JlYXRlKHNvdXJjZSwgdXJsLCBzdGFy
dFBvc2l0aW9uKSwgc3RhcnRQb3NpdGlvbi5tX2xpbmUub25lQmFzZWRJbnQoKSwgc3RhcnRQb3Np
dGlvbi5tX2NvbHVtbi5vbmVCYXNlZEludCgpKTsKICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlubGluZSBTb3VyY2VDb2RlIFNvdXJjZUNvZGU6OnN1
YkFycm93RXhwcmVzc2lvbih1bnNpZ25lZCBzdGFydEFycm93RnVuY3Rpb24sIHVuc2lnbmVkIGVu
ZEFycm93RnVuY3Rpb24sIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbikKKyAgICB7Cisg
ICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFycm93RnVuY3Rpb25dID09
ICc9JyAmJiBwcm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFycm93RnVuY3Rpb24gKyAxXSA9PSAn
PicpOworICAgICAgICAvLyBGaXhtZTogVXNlIGJldHRlciBhcHByb2FjaCB0byBjaGVjayBzeW1i
b2wKKyAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24g
LSAxXSA9PSAnLCcgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFd
ID09ICc7JyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0g
JyknIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnXScg
fHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICd9Jyk7Cisg
ICAgICAgIHN0YXJ0Q29sdW1uICs9IDE7IC8vIENvbnZlcnQgdG8gYmFzZSAxLgorICAgICAgICBy
ZXR1cm4gU291cmNlQ29kZShwcm92aWRlcigpLCBzdGFydEFycm93RnVuY3Rpb24sIGVuZEFycm93
RnVuY3Rpb24sIGZpcnN0TGluZSwgc3RhcnRDb2x1bW4pOworICAgIH0KKyNlbmRpZgorCiAgICAg
aW5saW5lIFNvdXJjZUNvZGUgU291cmNlQ29kZTo6c3ViRXhwcmVzc2lvbih1bnNpZ25lZCBvcGVu
QnJhY2UsIHVuc2lnbmVkIGNsb3NlQnJhY2UsIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVt
bikKICAgICB7CiAgICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtvcGVuQnJhY2Vd
ID09ICd7Jyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJj
ZVByb3ZpZGVyQ2FjaGVJdGVtLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJj
ZVByb3ZpZGVyQ2FjaGVJdGVtLmgKaW5kZXggNjM1Mzc5ZTNmNDQ1NjY4YzUyYjg3MmY3NjE2ZGNi
NTkyMWE4Mjk0NC4uZjQyOGRiNTBhOGRhN2E3YWI0NjgyNGFiMzgwODNkYjA1MmQ3Mzc3NiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hl
SXRlbS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJD
YWNoZUl0ZW0uaApAQCAtNDAsNiArNDAsMTAgQEAgc3RydWN0IFNvdXJjZVByb3ZpZGVyQ2FjaGVJ
dGVtQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBib29sIG5lZWRzRnVsbEFjdGl2YXRpb247CiAg
ICAgYm9vbCB1c2VzRXZhbDsKICAgICBib29sIHN0cmljdE1vZGU7CisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBib29sIGlzQm9keUFycm93RXhwcmVzc2lvbjsKKyAg
ICBKU1Rva2VuVHlwZSB0b2tlblR5cGU7CisjZW5kaWYKICAgICBWZWN0b3I8UmVmUHRyPFN0cmlu
Z0ltcGw+PiB1c2VkVmFyaWFibGVzOwogICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+IHdy
aXR0ZW5WYXJpYWJsZXM7CiB9OwpAQCAtNTUsMTAgKzU5LDE0IEBAIHB1YmxpYzoKICAgICBzdGF0
aWMgc3RkOjp1bmlxdWVfcHRyPFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtPiBjcmVhdGUoY29uc3Qg
U291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMmKTsKICAgICB+U291cmNl
UHJvdmlkZXJDYWNoZUl0ZW0oKTsKIAotICAgIEpTVG9rZW4gY2xvc2VCcmFjZVRva2VuKCkgY29u
c3QgCisgICAgSlNUb2tlbiBlbmRGdW5jdGlvblRva2VuKCkgY29uc3QgCiAgICAgewogICAgICAg
ICBKU1Rva2VuIHRva2VuOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgICAgIHRva2VuLm1fdHlwZSA9IGlzQm9keUFycm93RXhwcmVzc2lvbiA/IHRva2VuVHlwZSA6
IENMT1NFQlJBQ0U7CisjZWxzZQogICAgICAgICB0b2tlbi5tX3R5cGUgPSBDTE9TRUJSQUNFOwor
I2VuZGlmCiAgICAgICAgIHRva2VuLm1fZGF0YS5vZmZzZXQgPSBjbG9zZUJyYWNlT2Zmc2V0Owog
ICAgICAgICB0b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0ID0gY2xvc2VCcmFjZU9mZnNldDsK
ICAgICAgICAgdG9rZW4ubV9sb2NhdGlvbi5lbmRPZmZzZXQgPSBjbG9zZUJyYWNlT2Zmc2V0ICsg
MTsKQEAgLTgyLDYgKzkwLDExIEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCB1c2VkVmFyaWFibGVz
Q291bnQ7CiAgICAgdW5zaWduZWQgd3JpdHRlblZhcmlhYmxlc0NvdW50OwogCisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBib29sIGlzQm9keUFycm93RXhwcmVzc2lv
bjsKKyAgICBKU1Rva2VuVHlwZSB0b2tlblR5cGU7CisjZW5kaWYKKwogICAgIFN0cmluZ0ltcGwq
KiB1c2VkVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxTdHJpbmdJbXBsKio+
KG1fdmFyaWFibGVzKTsgfQogICAgIFN0cmluZ0ltcGwqKiB3cml0dGVuVmFyaWFibGVzKCkgY29u
c3QgeyByZXR1cm4gY29uc3RfY2FzdDxTdHJpbmdJbXBsKio+KCZtX3ZhcmlhYmxlc1t1c2VkVmFy
aWFibGVzQ291bnRdKTsgfQogCkBAIC0xMTUsNiArMTI4LDEwIEBAIGlubGluZSBTb3VyY2VQcm92
aWRlckNhY2hlSXRlbTo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0oY29uc3QgU291cmNlUHJvdmlk
ZXJDYWNoCiAgICAgLCBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0KHBhcmFtZXRlcnMuY2xvc2VC
cmFjZUxpbmVTdGFydE9mZnNldCkKICAgICAsIHVzZWRWYXJpYWJsZXNDb3VudChwYXJhbWV0ZXJz
LnVzZWRWYXJpYWJsZXMuc2l6ZSgpKQogICAgICwgd3JpdHRlblZhcmlhYmxlc0NvdW50KHBhcmFt
ZXRlcnMud3JpdHRlblZhcmlhYmxlcy5zaXplKCkpCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICAsIGlzQm9keUFycm93RXhwcmVzc2lvbihwYXJhbWV0ZXJzLmlzQm9k
eUFycm93RXhwcmVzc2lvbikKKyAgICAsIHRva2VuVHlwZShwYXJhbWV0ZXJzLnRva2VuVHlwZSkK
KyNlbmRpZgogewogICAgIHVuc2lnbmVkIGogPSAwOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCB1c2VkVmFyaWFibGVzQ291bnQ7ICsraSwgKytqKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCmluZGV4IDhlNGY2MWI5NDk4OTBiOWJmNTQwMjll
OTY2NjFlZWY1M2ExN2I1ODQuLjVmOGUyMTFlZTRiNTNiMzk0ZWI1YWUyMTkwYjgzYzhjNGY4NDRj
ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tl
ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCkBA
IC0xNzAsNiArMTcwLDEwIEBAIHB1YmxpYzoKICNlbmRpZgogICAgIEV4cHJlc3Npb25UeXBlIGNy
ZWF0ZUZ1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5j
dGlvbkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KICAgICBp
bnQgY3JlYXRlRnVuY3Rpb25Cb2R5KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IEpTVG9r
ZW5Mb2NhdGlvbiYsIGludCwgaW50LCBib29sLCBpbnQsIGludCwgaW50LCBDb25zdHJ1Y3Rvcktp
bmQpIHsgcmV0dXJuIEZ1bmN0aW9uQm9keVJlc3VsdDsgfQorI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlQXJyb3dGdW5jdGlvbkV4
cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5bnRh
eENoZWNrZXI+JikgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9CisjZW5kaWYgCisgICAgdm9pZCBz
ZXRGdW5jdGlvbk5hbWVTdGFydChpbnQsIGludCkgeyB9CiAgICAgaW50IGNyZWF0ZUFyZ3VtZW50
cygpIHsgcmV0dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQogICAgIGludCBjcmVhdGVBcmd1bWVudHMo
aW50KSB7IHJldHVybiBBcmd1bWVudHNSZXN1bHQ7IH0KICAgICBFeHByZXNzaW9uVHlwZSBjcmVh
dGVTcHJlYWRFeHByZXNzaW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIEV4cHJlc3Npb25UeXBl
LCBpbnQsIGludCwgaW50KSB7IHJldHVybiBTcHJlYWRFeHByOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZmMz
ZWExODAwNjg5NjQzYWFkZDZjNmE0OTdlZDBhZTZjMjExMTIwCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcApAQCAtMCww
ICsxLDc3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCisKKyNpbmNsdWRlICJFcnJvci5oIgorI2lu
Y2x1ZGUgIkV4Y2VwdGlvbkhlbHBlcnMuaCIKKyNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCisjaW5j
bHVkZSAiSlNDSlNWYWx1ZS5oIgorI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKKyNpbmNsdWRlICJK
U0Z1bmN0aW9uSW5saW5lcy5oIgorI2luY2x1ZGUgIkpTT2JqZWN0LmgiCisjaW5jbHVkZSAiUHJv
cGVydHlTbG90LmgiCisjaW5jbHVkZSAiVk0uaCIKKworbmFtZXNwYWNlIEpTQyB7CisgICAgCitj
b25zdCBDbGFzc0luZm8gSlNBcnJvd0Z1bmN0aW9uOjpzX2luZm8gPSB7ICJBcnJvd0Z1bmN0aW9u
IiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0Fycm93RnVuY3Rpb24p
IH07CisKK3ZvaWQgSlNBcnJvd0Z1bmN0aW9uOjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKK3sKKyAg
ICBzdGF0aWNfY2FzdDxKU0Fycm93RnVuY3Rpb24qPihjZWxsKS0+SlNBcnJvd0Z1bmN0aW9uOjp+
SlNBcnJvd0Z1bmN0aW9uKCk7Cit9CisKK0pTQXJyb3dGdW5jdGlvbjo6SlNBcnJvd0Z1bmN0aW9u
KFZNJiB2bSwgSlNTY29wZSogc2NvcGUsIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUpCisgICAgOiBCYXNlKHZtLCBleGVjdXRhYmxlLCBzY29wZSwg
c3RydWN0dXJlKQoreworfQorICAgIAordm9pZCBKU0Fycm93RnVuY3Rpb246OmZpbmlzaENyZWF0
aW9uKFZNJiB2bSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CisvLyBQcm90b3R5
cGUgb2YgYXJyb3cgZnVuY3Rpb24gaXMgdW5kZWZpbmVkCisgICAgcHV0RGlyZWN0KHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIGpzVW5kZWZpbmVkKCksIERvbnREZWxldGUgfCBSZWFk
T25seSB8IERvbnRFbnVtKTsKK30KKyAgICAKK3ZvaWQgSlNBcnJvd0Z1bmN0aW9uOjp2aXNpdENo
aWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCit7CisgICAgSlNBcnJv
d0Z1bmN0aW9uKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTQXJyb3dGdW5jdGlvbio+KGNlbGwpOwor
ICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVjdCwgaW5mbygpKTsKKyAgICBC
YXNlOjp2aXNpdENoaWxkcmVuKHRoaXNPYmplY3QsIHZpc2l0b3IpOworfQorICAgIAorQ29uc3Ry
dWN0VHlwZSBKU0Fycm93RnVuY3Rpb246OmdldENvbnN0cnVjdERhdGEoSlNDZWxsKiBjZWxsLCBD
b25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQoreworICAgIEpTRnVuY3Rpb24qIHRoaXNPYmpl
Y3QgPSBqc0Nhc3Q8SlNGdW5jdGlvbio+KGNlbGwpOworICAgICAgICAKKyAgICBjb25zdHJ1Y3RE
YXRhLmpzLmZ1bmN0aW9uRXhlY3V0YWJsZSA9IHRoaXNPYmplY3QtPmpzRXhlY3V0YWJsZSgpOwor
ICAgIGNvbnN0cnVjdERhdGEuanMuc2NvcGUgPSB0aGlzT2JqZWN0LT5zY29wZSgpOworICAgIHJl
dHVybiBDb25zdHJ1Y3RUeXBlTm9uZTsKK30KK30gLy8gbmFtZXNwYWNlIEpTQworI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24u
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjc4MDE1ZDM4NzIxY2NhNDRhZTJmNjVjYjZkNzdiNmE2NTIyMDk2NWQKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24u
aApAQCAtMCwwICsxLDc0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2lmbmRlZiBKU0Fycm93RnVuY3Rpb25faAorI2RlZmluZSBKU0Fycm93RnVuY3Rp
b25faAorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKworI2luY2x1ZGUg
IkpTRnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU0dsb2JhbE9iamVjdC5oIgorCituYW1lc3BhY2Ug
SlNDIHsKKworY2xhc3MgSlNBcnJvd0Z1bmN0aW9uIDogcHVibGljIEpTRnVuY3Rpb24geworcHVi
bGljOgorICAgIHR5cGVkZWYgSlNGdW5jdGlvbiBCYXNlOworICAgICAgICAKKyAgICBzdGF0aWMg
SlNBcnJvd0Z1bmN0aW9uKiBjcmVhdGUoVk0mIHZtLCBKU1Njb3BlKiBzY29wZSwgRnVuY3Rpb25F
eGVjdXRhYmxlKiBleGVjdXRhYmxlLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQorICAg
IHsKKyAgICAgICAgSlNBcnJvd0Z1bmN0aW9uKiBmdW5jdGlvbiA9IG5ldyAoTm90TnVsbCwgYWxs
b2NhdGVDZWxsPEpTQXJyb3dGdW5jdGlvbj4odm0uaGVhcCkpIEpTQXJyb3dGdW5jdGlvbih2bSwg
c2NvcGUsIGV4ZWN1dGFibGUsIGdsb2JhbE9iamVjdC0+YXJyb3dGdW5jdGlvblN0cnVjdHVyZSgp
KTsKKyAgICAgICAgQVNTRVJUKGZ1bmN0aW9uLT5zdHJ1Y3R1cmUoKS0+Z2xvYmFsT2JqZWN0KCkp
OworICAgICAgICBmdW5jdGlvbi0+ZmluaXNoQ3JlYXRpb24odm0pOworICAgICAgICByZXR1cm4g
ZnVuY3Rpb247CisgICAgfQorICAgIAorICAgIHN0YXRpYyB2b2lkIGRlc3Ryb3koSlNDZWxsKik7
CisgICAgICAgIAorICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYgdm0s
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgcHJvdG90eXBlKQorICAgIHsK
KyAgICAgICAgQVNTRVJUKGdsb2JhbE9iamVjdCk7CisgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6
OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKEpTRnVuY3Rpb25U
eXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CisgICAgfQorICAgICAgICAKKyAgICBzdGF0
aWMgQ29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEm
KTsKKyAgICAgICAgCisgICAgREVDTEFSRV9JTkZPOworCitwcm90ZWN0ZWQ6CisgICAgY29uc3Qg
c3RhdGljIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzSGFzSW5zdGFuY2UgfCBC
YXNlOjpTdHJ1Y3R1cmVGbGFnczsKKyAgICAgICAgCisgICAgc3RhdGljIHZvaWQgdmlzaXRDaGls
ZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOworICAgICAgICAKK3ByaXZhdGU6CisgICAgSlNB
cnJvd0Z1bmN0aW9uKFZNJiwgSlNTY29wZSosIEZ1bmN0aW9uRXhlY3V0YWJsZSosIFN0cnVjdHVy
ZSopOworCisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYpOworfTsKKyAgICAKK30gLy8gbmFt
ZXNwYWNlIEpTQworI2VuZGlmIC8vIEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWAorCisjZW5kaWYg
Ly8gSlNBcnJvd0Z1bmN0aW9uX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTRnVuY3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVu
Y3Rpb24uaAppbmRleCAyY2ZiMzM3MmMyOGRjMjA4ODZjMjM4MDlkMThlOTMzYjYyYTY0MTVmLi4z
YTIzNTM1ZmU4NTFhZTJlZmZiYTc1OWRmY2Y5ZTZiMGY3YmY4Njk5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCkBAIC0xMzYsNiArMTM2LDkgQEAgcHVibGlj
OgogcHJvdGVjdGVkOgogICAgIEpTX0VYUE9SVF9QUklWQVRFIEpTRnVuY3Rpb24oVk0mLCBKU0ds
b2JhbE9iamVjdCosIFN0cnVjdHVyZSopOwogICAgIEpTRnVuY3Rpb24oVk0mLCBGdW5jdGlvbkV4
ZWN1dGFibGUqLCBKU1Njb3BlKik7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICBKU0Z1bmN0aW9uKFZNJiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgSlNTY29wZSosIFN0
cnVjdHVyZSopOworI2VuZGlmCiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgTmF0aXZl
RXhlY3V0YWJsZSosIGludCBsZW5ndGgsIGNvbnN0IFN0cmluZyYgbmFtZSk7CiAgICAgdXNpbmcg
QmFzZTo6ZmluaXNoQ3JlYXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNGdW5jdGlvbklubGluZXMuaAppbmRleCBmNmM2ZDU4ZWM2ZTVjMTE2NGNiMjdmYTVlNDE2
MThiNGI4MTQyZjAyLi4zODUwNmNjMTk5YTAwOGZmOGY5NmFkZjY4OWJlMzYwOTg3NWRlYTVhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5l
cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVz
LmgKQEAgLTQ1LDYgKzQ1LDE1IEBAIGlubGluZSBKU0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKFZNJiB2
bSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBKU1Njb3BlKiBzCiB7CiB9CiAKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQoraW5saW5lIEpTRnVuY3Rpb246OkpT
RnVuY3Rpb24oVk0mIHZtLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpTU2NvcGUq
IHNjb3BlLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICA6IEJhc2Uodm0sIHNjb3BlLCBzdHJ1
Y3R1cmUpCisgICAgLCBtX2V4ZWN1dGFibGUodm0sIHRoaXMsIGV4ZWN1dGFibGUpCisgICAgLCBt
X3JhcmVEYXRhKCkKK3sKK30KKyNlbmRpZgorICAgIAogaW5saW5lIEZ1bmN0aW9uRXhlY3V0YWJs
ZSogSlNGdW5jdGlvbjo6anNFeGVjdXRhYmxlKCkgY29uc3QKIHsKICAgICBBU1NFUlQoIWlzSG9z
dEZ1bmN0aW9uTm9uSW5saW5lKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHbG9iYWxPYmplY3QuY3BwCmluZGV4IGUzNGFkZDEyODI0MWE5NjAzNGVkODU3NmFjZWE4
NTAzZDNiYmYxMzQuLmViNmYyNTM1OGMzNGFlNzU5NzI3MzM0ZjAwMGZmM2IxNGZmNmYxOWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAK
QEAgLTU4LDYgKzU4LDcgQEAKICNpbmNsdWRlICJKU0FycmF5QnVmZmVyQ29uc3RydWN0b3IuaCIK
ICNpbmNsdWRlICJKU0FycmF5QnVmZmVyUHJvdG90eXBlLmgiCiAjaW5jbHVkZSAiSlNBcnJheUl0
ZXJhdG9yLmgiCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNCb3Vu
ZEZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTQ2FsbGJh
Y2tDb25zdHJ1Y3Rvci5oIgpAQCAtMjMxLDYgKzIzMiw5IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6
OmluaXQoVk0mIHZtKQogICAgIGV4ZWMtPnNldENhbGxlZShtX2dsb2JhbENhbGxlZS5nZXQoKSk7
CiAKICAgICBtX2Z1bmN0aW9uU3RydWN0dXJlLnNldCh2bSwgdGhpcywgSlNGdW5jdGlvbjo6Y3Jl
YXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7CisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBtX2Fycm93RnVuY3Rpb25TdHJ1
Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0Fycm93RnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwg
dGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOworI2VuZGlmCiAgICAgbV9ib3VuZEZ1
bmN0aW9uU3RydWN0dXJlLnNldCh2bSwgdGhpcywgSlNCb3VuZEZ1bmN0aW9uOjpjcmVhdGVTdHJ1
Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKICAgICBtX25hbWVk
RnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJh
bnNpdGlvbih2bSwgbV9mdW5jdGlvblN0cnVjdHVyZS5nZXQoKSwgdm0ucHJvcGVydHlOYW1lcy0+
bmFtZSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgRG9udEVudW0sIG1fZnVuY3Rpb25OYW1lT2Zm
c2V0KSk7CiAgICAgbV9pbnRlcm5hbEZ1bmN0aW9uU3RydWN0dXJlLnNldCh2bSwgdGhpcywgSW50
ZXJuYWxGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90
eXBlLmdldCgpKSk7CkBAIC03MzYsNiArNzQwLDkgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6dmlz
aXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogICAgIHZpc2l0
b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2NhbGxlZVN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5h
cHBlbmQoJnRoaXNPYmplY3QtPm1fZnVuY3Rpb25TdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBw
ZW5kKCZ0aGlzT2JqZWN0LT5tX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUpOworI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3Qt
Pm1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZSk7CisjZW5kaWYKICAgICB2aXNpdG9yLmFwcGVuZCgm
dGhpc09iamVjdC0+bV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVu
ZCgmdGhpc09iamVjdC0+bV9zeW1ib2xPYmplY3RTdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBw
ZW5kKCZ0aGlzT2JqZWN0LT5tX3JlZ0V4cE1hdGNoZXNBcnJheVN0cnVjdHVyZSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCBkMTdiNGEz
NDhmYTE0ZGFkMDNhYjc2MDZjNzkzMWViZWZiMTc5Y2QyLi5jNWE0MzU5NzgwMTRmYmVhNWQzMTRi
ZGUxMDUwOWJkNTI3ZmFmZmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2xvYmFsT2JqZWN0LmgKQEAgLTIyNyw2ICsyMjcsOSBAQCBwcm90ZWN0ZWQ6CiAgICAgV3Jp
dGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9jYWxsZWVTdHJ1Y3R1cmU7CiAgICAgV3JpdGVCYXJyaWVy
PFN0cnVjdHVyZT4gbV9mdW5jdGlvblN0cnVjdHVyZTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0
dXJlPiBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmU7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2Fycm93RnVuY3Rpb25T
dHJ1Y3R1cmU7CisjZW5kaWYKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX25hbWVkRnVu
Y3Rpb25TdHJ1Y3R1cmU7CiAgICAgUHJvcGVydHlPZmZzZXQgbV9mdW5jdGlvbk5hbWVPZmZzZXQ7
CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9wcml2YXRlTmFtZVN0cnVjdHVyZTsKQEAg
LTQ2NCw2ICs0NjcsOSBAQCBwdWJsaWM6CiAgICAgU3RydWN0dXJlKiBjYWxsZWVTdHJ1Y3R1cmUo
KSBjb25zdCB7IHJldHVybiBtX2NhbGxlZVN0cnVjdHVyZS5nZXQoKTsgfQogICAgIFN0cnVjdHVy
ZSogZnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2Z1bmN0aW9uU3RydWN0dXJl
LmdldCgpOyB9CiAgICAgU3RydWN0dXJlKiBib3VuZEZ1bmN0aW9uU3RydWN0dXJlKCkgY29uc3Qg
eyByZXR1cm4gbV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBTdHJ1Y3R1cmUqIGFycm93RnVuY3Rpb25TdHJ1
Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2Fycm93RnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0K
KyNlbmRpZgogICAgIFN0cnVjdHVyZSogbmFtZWRGdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsg
cmV0dXJuIG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQogICAgIFByb3BlcnR5T2Zm
c2V0IGZ1bmN0aW9uTmFtZU9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fZnVuY3Rpb25OYW1lT2Zm
c2V0OyB9CiAgICAgU3RydWN0dXJlKiBudW1iZXJPYmplY3RTdHJ1Y3R1cmUoKSBjb25zdCB7IHJl
dHVybiBtX251bWJlck9iamVjdFN0cnVjdHVyZS5nZXQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzcGFyYW10ZXIuanMg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJh
bXRlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42MzYxYjhkYjAyMjgyNzk2ZDFiYjA0ZjVkYmQ0MDE5YjcyODlm
MmNjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9hcnJvd2Z1bmN0aW9uLWFzcGFyYW10ZXIuanMKQEAgLTAsMCArMSw4IEBACisvLyBJbnNwaXJl
ZCBieSBtb3ppbGxhIHRlc3RzCit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBl
Y3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93
IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBh
Y3R1YWwgKyAiJyI7CisgIH0KK307CisKK3Rlc3RDYXNlKCIiICsgWzEsIDIsIDMsIDRdLm1hcCh4
ID0+IHgsIDMyKSwgIjEsMiwzLDQiLCAiRXJyb3I6IGFycm93IGZ1bmN0aW9uIGFzIHRoZSBwYXJh
bXRlcnMuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0xLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHktMS5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mZDFkNDdhNDgwNzVlYzU5OGM2YmUxZTA3ZDc4YTM1MjYzNTNhOTEyCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFz
c29jaWF0aXZpdHktMS5qcwpAQCAtMCwwICsxLDEzIEBACisvLyBJbnNwaXJlZCBieSBtb3ppbGxh
IHRlc3RzCit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2Fn
ZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAi
LiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7
CisgIH0KK307CisKK3ZhciBhZjEsIGFmMiwgYWYzOworYWYxID0gYWYyID0gYWYzID0+IGFmMSA9
IGFmMiA9IGFmMzsKK3Rlc3RDYXNlKGFmMSwgYWYyLCAiRXJyb3I6IHdyb25nIGFzc29jaWF0aXZp
dHkgIzEuIik7CithZjEoMTMpOwordGVzdENhc2UoYWYyLCAxMywgIkVycm9yOiB3cm9uZyBhc3Nv
Y2lhdGl2aXR5ICMyLiIpOwordGVzdENhc2UoYWYxLCAxMywgIkVycm9yOiB3cm9uZyBhc3NvY2lh
dGl2aXR5ICMzLiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHktMi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTIuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMmVkZDgzOWM2YmM3ZWQ2YTQwZWZmYmJjODc1NGVkMWJmZDgwNmI0MwotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1hc3NvY2lhdGl2aXR5LTIuanMKQEAgLTAsMCArMSwxNCBAQAorLy8gSW5zcGlyZWQgYnkgbW96
aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1l
c3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdl
ICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsg
IiciOworICB9Cit9OworCit2YXIgcz0iIjsKK3MgKz0geCA9PiB4Lm5hbWU7CisKKy8vIEZpeCBt
ZS4gUG9zc2libGUgd2UgaGF2ZSBub3QgdXNlIHRoZSBKU0JvdW50RnVuY3Rpb24gd3JhcHBlciBm
b3IgdGhlIGxleGljYWwKKy8vIGJpbmRpbmcgb2YgdGhlIHRoaXMgYW5kIHVzZSBkaXJlY3QgaW5q
ZWN0aW9uIG9mIHRoZSAndGhpcycgdmFsdWUKKy8vIGludG8gYXJycm93IGZ1bmN0aW9uCisvLyB0
ZXN0Q2FzZShzLCAieCA9PiB4Lm5hbWUiICwgIkVycm9yOiB3cm9uZyB0b1N0cmluZyBjb252ZXJz
aW9uLiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9h
cnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHkuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42N2Vk
MTUzY2VlYmE1MjYyMjhlY2E4MjEzMDQ2OWE5MjQ0YjE0YzA1Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0
aXZpdHkuanMKQEAgLTAsMCArMSwxMCBAQAorLy8gSW5zcGlyZWQgYnkgbW96aWxsYSB0ZXN0cwor
dmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAg
aWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0
ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9
OworCit2YXIgYWYgPSBhID0+IGIgPT4gYTsKKwordGVzdENhc2UoYWYoJ0FCQycpKCdERUYnKSwg
J0FCQycsICJFcnJvcjogd3JvbmcgbmVzdGVkIGFycm93IGZ1bmN0aW9ucy4iKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ibG9j
ay0xLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LWJsb2NrLTEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGM1NzFiYjcyZmNmZWY1MzBjNTlkYjRiODYwY2E0ZjBh
OTZhNDExNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvYXJyb3dmdW5jdGlvbi1ibG9jay0xLmpzCkBAIC0wLDAgKzEsMTEgQEAKKy8vIEluc3Bp
cmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4
cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhy
b3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiAr
IGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGYgPSAoKSA9PiB7fTsKK3Rlc3RDYXNlKHR5
cGVvZiBmKCksICd1bmRlZmluZWQnLCAiRXJyb3I6IHdyb25nIGFycm93IGZ1bmN0aW9uIGJsb2Nr
LiIpOwordmFyIGcgPSAoKSA9PiAoe30pOwordGVzdENhc2UodHlwZW9mIGcoKSwgJ29iamVjdCcs
ICJFcnJvcjogd3JvbmcgYXJyb3cgZnVuY3Rpb24gYmxvY2suIik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2stMi5qcyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ibG9jay0y
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjQ3ZWUzNTJjZjAxZDEzNmUzMDI5MjI3MzZjNWM4MGVmNTNjMDNmNmUK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tYmxvY2stMi5qcwpAQCAtMCwwICsxLDEwIEBACisvLyBJbnNwaXJlZCBieSBt
b3ppbGxhIHRlc3RzCit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwg
bWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3Nh
Z2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwg
KyAiJyI7CisgIH0KK307CisKK3ZhciBhZiA9IGEgPT4geyBhICsgMTsgfTsKKwordGVzdENhc2Uo
dHlwZW9mIGFmKDApLCAndW5kZWZpbmVkJywgIkVycm9yOiB3cm9uZyBhcnJvdyBmdW5jdGlvbiBi
bG9jayAjMi4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi1jb25zdHJ1Y3Rvci5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NTA3
YjUzNjRmMDQxMTM1ODVlYWJhOGMyNGE0N2E0YTEwZDE2YjdiCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNvbnN0cnVj
dG9yLmpzCkBAIC0wLDAgKzEsMTggQEAKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWws
IGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAg
dGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAn
IiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIHNpbXBsZUFycm93RnVuY3Rpb24gPSAo
KSA9PiB7fTsKKwordmFyIGVycm9yT25DcmVhdGUgPSBmYWxzZTsKKwordHJ5IHsKKyAgdmFyIGZj
ID0gbmV3IHNpbXBsZUFycm93RnVuY3Rpb24oKTsKK30KK2NhdGNoIChlKSB7CisgIGVycm9yT25D
cmVhdGUgPSB0cnVlOworfQorCit0ZXN0Q2FzZShlcnJvck9uQ3JlYXRlLCB0cnVlLCAiRXJyb3I6
IE5vIGVycm9yIGR1cmluZyBydW4gbmV3IEFycm93RnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsdGhp
cy0xLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LWxleGljYWx0aGlzLTEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjU1MzFmNTc1NjJmMjg2OGVlYWQzOWZjZDY2
ZWU1MDc4YmFjZWQxYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsdGhpcy0xLmpzCkBAIC0wLDAgKzEsMTcg
QEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBl
Y3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93
IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBh
Y3R1YWwgKyAiJyI7CisgIH0KK307CisKK2Z1bmN0aW9uIERvZyhuYW1lKSB7CisgIHRoaXMubmFt
ZSA9IG5hbWU7CisgIHRoaXMuZ2V0TmFtZSA9ICgpID0+IGV2YWwoInRoaXMubmFtZSIpOworICB0
aGlzLmdldE5hbWVIYXJkID0gKCkgPT4gZXZhbCgiKCgpID0+IHRoaXMubmFtZSkoKSIpOworfQor
Cit2YXIgZCA9IG5ldyBEb2coIk1heCIpOwordGVzdENhc2UoZC5nZXROYW1lKCksIGQubmFtZSwg
IkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24gIzEiKTsKK3Rlc3RDYXNlKGQuZ2V0TmFtZUhhcmQoKSwgZC5uYW1lLCAiRXJyb3I6
IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlv
biAjMiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9h
cnJvd2Z1bmN0aW9uLWxleGljYWx0aGlzLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWx0aGlzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxMmZiYWY4
MDQ0ODJjNzc2MWMzN2RkNjkzYTg0ODVlNTUxMTU3M2UKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbHRoaXMu
anMKQEAgLTAsMCArMSwzMSBAQAordmFyIHJlc3VsdDsKKworIHZhciB0ZXN0Q2FzZSA9IGZ1bmN0
aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVj
dGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAi
JywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGFmT2JqTGV4Qmlu
ZDIgPSBmdW5jdGlvbiAoKSB7CisgIHRoaXMuZnVuYyA9ICgpID0+IHRoaXM7Cit9OworCit2YXIg
YWZPYmpMZXhCaW5kMkluc3RhbmNlID0gbmV3IGFmT2JqTGV4QmluZDIoKTsKKwordGVzdENhc2Uo
YWZPYmpMZXhCaW5kMkluc3RhbmNlLmZ1bmMoKSA9PT0gYWZPYmpMZXhCaW5kMkluc3RhbmNlLCB0
cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbiAjMiIpOworCit2YXIgb2JqID0geworICBtZXRob2Q6IGZ1bmN0aW9uICgp
IHsKKyAgICByZXR1cm4gKCkgPT4gdGhpczsKKyAgfQorfTsKKwordGVzdENhc2Uob2JqLm1ldGhv
ZCgpKCkgPT09IG9iaiwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVk
IGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzMiKTsKKwordmFyIGZha2UgPSB7c3RlYWw6
IG9iai5tZXRob2QoKX07Cit0ZXN0Q2FzZShmYWtlLnN0ZWFsKCkgPT09IG9iaiwgdHJ1ZSwgIkVy
cm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb24gIzQiKTsKKworCisvLyBGaXhtZTogZm9sbG93aW5nIHRlc3QgZmFpbHMgaW4gZGZnLWVh
Z2VyLW5vLWNqaXQtdmFsaWRhdGUgJiBmdGwtZWFnZXItbm8tY2ppdCBtb2RlCit2YXIgcmVhbCA9
IHtib3Jyb3c6IG9iai5tZXRob2R9OwordGVzdENhc2UocmVhbC5ib3Jyb3coKSgpID09PSByZWFs
LCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiAjNSIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLW90aGVycy5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1vdGhlcnMuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmVi
YTExZjMwMjJlMzRhODAwMGE1NzAwNzZkYjFhNTVhNGEzMmIyMQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1vdGhlcnMu
anMKQEAgLTAsMCArMSwxMyBAQAordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhw
ZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJv
dyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsg
YWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgc2ltcGxlQXJyb3dGdW5jdGlvbiA9ICgpID0+
IHt9OworCit0ZXN0Q2FzZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yoc2ltcGxlQXJyb3dGdW5jdGlv
biksIEZ1bmN0aW9uLnByb3RvdHlwZSwgIkVycm9yOiBOb3QgY29ycmVjdCBnZXRQcm90b3R5cGVP
ZiB2YWx1ZSBmb3IgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2Uoc2ltcGxlQXJyb3dGdW5j
dGlvbiBpbnN0YW5jZW9mIEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3Vs
dCBmb3IgaW5zdGFuY2VvZiBtZXRob2QgZm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNl
KHNpbXBsZUFycm93RnVuY3Rpb24uY29uc3RydWN0b3IgPT0gRnVuY3Rpb24sIHRydWUsICJFcnJv
cjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBjb25zdHJ1Y3RvciBtZXRob2Qgb2YgYXJyb3cgZnVu
Y3Rpb24iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YXJyb3dmdW5jdGlvbi10ZHouanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L2Fycm93ZnVuY3Rpb24tdGR6LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU5ZDM1Y2RlYTRiYWY2Njc0MzFhZjhh
YmU4ZGFkZjIyZDA0YjkwZTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tdGR6LmpzCkBAIC0wLDAgKzEsMjQgQEAKK3Zh
ciBBID0gY2xhc3MgQSB7IH07Cit2YXIgQiA9IGNsYXNzIEIgZXh0ZW5kcyBBIHsKKyAgY29uc3Ry
dWN0b3IoYWNjZXNzVGhpc0JlZm9yZVN1cGVyKSB7CisgICAgaWYgKGFjY2Vzc1RoaXNCZWZvcmVT
dXBlcikgeworICAgICAgdmFyIGYgPSAoKSA9PiB0aGlzOworICAgICAgc3VwZXIoKTsKKyAgICB9
IGVsc2UgeworICAgICAgc3VwZXIoKTsKKyAgICB9CisgIH0KK307CisKK3ZhciBleGNlcHRpb24g
PSBudWxsOwordHJ5IHsKKyAgICAgbmV3IEIodHJ1ZSk7Cit9IGNhdGNoIChlKSB7CisgICAgZXhj
ZXB0aW9uID0gZTsKKyAgICBpZiAoIShlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpKQorICAg
ICAgICB0aHJvdyAiRXhjZXB0aW9uIHRocm93biB3YXMgbm90IGEgcmVmZXJlbmNlIGVycm9yIjsK
K30KK2lmICghZXhjZXB0aW9uKQorICAgIHRocm93ICJFeGNlcHRpb24gbm90IHRocm93biBmb3Ig
YW4gdW5pdGlhbGl6ZWQgdGhpcyBhdCBpdGVyYXRpb24iOworCit2YXIgZSA9IG5ldyBCKGZhbHNl
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi10eXBlb2YuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tdHlwZW9mLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVmMmE3ZjU0NDc2YWJhOWMyODkyM2Mz
NWYxZGIzYzQzMjdhYzk0NjkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tdHlwZW9mLmpzCkBAIC0wLDAgKzEsMjEgQEAK
K3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7Cisg
IGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVj
dGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQor
fTsKKwordmFyIGFmMSA9ICgpID0+IHt9OwordmFyIGFmMiA9IChhKSA9PiB7YSArIDF9OworCit0
ZXN0Q2FzZSh0eXBlb2YgYWYxLCAiZnVuY3Rpb24iLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHR5cGUg
b2YgdGhlIGFycm93IGZ1bmN0aW9uICMxIik7Cit0ZXN0Q2FzZSh0eXBlb2YgYWYxLnByb3RvdHlw
ZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBw
cm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24gIzEiKTsKKwordGVzdENhc2UodHlwZW9mIGFmMiwg
ImZ1bmN0aW9uIiwgIkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlv
biAjMiIpOwordGVzdENhc2UodHlwZW9mIGFmMi5wcm90b3R5cGUgPT09ICd1bmRlZmluZWQnLCB0
cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJvdG90eXBlIG9mIGFycm93IGZ1
bmN0aW9uICMyIik7CisKK3Rlc3RDYXNlKHR5cGVvZiAoKCk9Pnt9KSwgImZ1bmN0aW9uIiwgIkVy
cm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMyIpOwordGVzdENh
c2UodHlwZW9mICgoKT0+e30pLnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJFcnJv
cjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBwcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24gIzMi
KTsKKworCit0ZXN0Q2FzZSh0eXBlb2YgKChiKSA9PiB7YiArIDF9KSwgImZ1bmN0aW9uIiwgIkVy
cm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNCIpOwordGVzdENh
c2UodHlwZW9mICgoYikgPT4ge2IgKyAxfSkucHJvdG90eXBlID09PSAndW5kZWZpbmVkJywgdHJ1
ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBmdW5j
dGlvbiAjNCIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9hcnJvd2Z1bmN0aW9uLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9h
cnJvd2Z1bmN0aW9uLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA2ODdiM2FhYjFkMjdmNDUzZjkwNzYxY2VjMWFk
NGQwNWNmMDNiMzUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24uanMKQEAgLTAsMCArMSwxNTQgQEAKK3ZhciByZXN1bHQ7
CisKKyB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkg
eworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBF
eHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7Cisg
IH0KK307CisKK3ZhciBhcnJvd0Z1bmN0aW9uMCA9IHYgPT4gdiArIDE7CityZXN1bHQgPSBhcnJv
d0Z1bmN0aW9uMCgxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDExICwiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246IHYgPT4gdiArIDEiKTsKKwordmFyIGFy
cm93RnVuY3Rpb24xID0gKHYpID0+IHYgKiAyOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjEoMTAp
OwordGVzdENhc2UocmVzdWx0LCAyMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uOiAodikgPT4gdiArIDEiKTsKKwordmFyIGFycm93RnVuY3Rpb24y
ID0gKCkgPT4gMTAwMDsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24yKDEyMTIpOwordGVzdENhc2Uo
cmVzdWx0LCAxMDAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb246ICgpID0+IDEwMDAiKTsKKwordmFyIHRtcFZhcmlhbHZlMl8xID0gMTUxOwordmFy
IGFycm93RnVuY3Rpb24yXzEgPSAoKSA9PiB0bXBWYXJpYWx2ZTJfMTsKK3Jlc3VsdCA9IGFycm93
RnVuY3Rpb24yXzEoMTIxKTsKK3Rlc3RDYXNlKHJlc3VsdCwgdG1wVmFyaWFsdmUyXzEgLCJFcnJv
cjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKCkgPT4gdmFy
aWFibGUiKTsKKwordmFyIGFycm93RnVuY3Rpb24zID0gKHYsIHgpID0+IHYgKyB4OworcmVzdWx0
ID0gYXJyb3dGdW5jdGlvbjMoMTEsMTIpOwordGVzdENhc2UocmVzdWx0LCAyMyAsIkVycm9yOiBO
b3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAoeCwgeSkgPT4geCAr
IHkiKTsKKwordmFyIGFycm93RnVuY3Rpb25XcmFwcGVyID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRl
cikgeyByZXR1cm4gY2wocGFyYW10ZXIpOyB9OworCityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3Jh
cHBlcih4ID0+IDEyMzQpOwordGVzdENhc2UocmVzdWx0LCAxMjM0ICwiRXJyb3I6IE5vdCBjb3Jy
ZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBj
KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMjM0LCAyMzQ1KTsK
K3Rlc3RDYXNlKHJlc3VsdCwgMTIzNCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYywgeSkiKTsKKworIHJlc3Vs
dCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4gMTIxICsgMjMyKTsKK3Rlc3RDYXNlKHJlc3Vs
dCwgMzUzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjMSArIGMyKSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5j
dGlvbldyYXBwZXIoeCA9PiAxMjMgKyAzMjEsIDk5OTkpOwordGVzdENhc2UocmVzdWx0LCA0NDQg
LCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBw
YXJhbXRlcjogZih4ID0+IGMxICsgYzIsIHkpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9u
V3JhcHBlcih4ID0+IHggKyAxMiwgMjEpOwordGVzdENhc2UocmVzdWx0LCAzMyAsIkVycm9yOiBO
b3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBm
KHggPT4geCArIGMxLCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKHgp
ID0+IHggKyAyMSwgMzIpOwordGVzdENhc2UocmVzdWx0LCA1MywgIkVycm9yOiBOb3QgY29ycmVj
dCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCh4KSA9PiBj
MSArIGMyLCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAw
KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYykiKTsKKworIHZhciBl
eHRfdmFsdWUgPSAxMjE7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiBleHRf
dmFsdWUpOwordGVzdENhc2UocmVzdWx0LCAxMjEsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiB2KSIpOworCisg
cmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gZXh0X3ZhbHVlICogMTApOwordGVz
dENhc2UocmVzdWx0LCAxMjEwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gdip4KSIpOworCisgcmVzdWx0ID0g
YXJyb3dGdW5jdGlvbldyYXBwZXIoKHgpID0+IGV4dF92YWx1ZSAqIHgsIDMwKTsKK3Rlc3RDYXNl
KHJlc3VsdCwgMzAqZXh0X3ZhbHVlICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0
aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKHgpID0+IHYqeCwgeSkiKTsKKworIHJl
c3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCwgMTEpOwordGVzdENhc2UocmVz
dWx0LCAxMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjMSwgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVu
Y3Rpb25XcmFwcGVyKCgpID0+IDEwMCArIDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEwICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10
ZXI6IGYoKCkgPT4gYzEgKyBjMikiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVy
KCgpID0+IDEwMCArIDExLCAxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDExMSAsIkVycm9yOiBOb3Qg
Y29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgp
ID0+IGMxICsgYzIsIHkpIik7CisKKyB2YXIgYXJyb3dGdW5jdGlvbjQgPSB2ID0+IHYgKyAxLCB4
eXoxID0gMTAxMDE7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uNCgxMDExKTsKK3Rlc3RDYXNlKHJl
c3VsdCwgMTAxMiAsIkVycm9yOiBOb3QgY29ycmVjdCBwYXJzaW5nIG9mIHRoIGFycm93IGZ1bmN0
aW9uIGluc2lkZSBvZiB0aGUgbGlzdCBvZiB2YXJzOiB2YXIgYWYgPSB2PT4gdiArIDE7IHp4Yz1j
OyIpOwordGVzdENhc2UoeHl6MSwgMTAxMDEgLCJFcnJvcjogTm90IGNvcnJlY3QgcGFyc2luZyBv
ZiB0aCBhcnJvdyBmdW5jdGlvbiBpbnNpZGUgb2YgdGhlIGxpc3Qgb2YgdmFyczogdmFyIGFmID0g
dj0+IHYgKyAxOyB6eGM9YzsiKTsKKworIHZhciBhcnJvd0Z1bmN0aW9uV3JhcHBlcjIgPSBmdW5j
dGlvbiAoY2wsIHBhcmFtdGVyMSwgcGFyYW10ZXIyKSB7IHJldHVybiBjbChwYXJhbXRlcjEsIHBh
cmFtdGVyMik7IH07CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcjIoKHgsIHkpID0+IHgg
KyB5LCAxMiAsNDMpOwordGVzdENhc2UocmVzdWx0LCA1NSAsIkVycm9yOiBOb3QgY29ycmVjdCBl
eGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtZXRlcjogZigoeCwgeSkgPT4g
eCArIHksIGMxLCBjMikiKTsKKworIHZhciBhcnJvd0Z1bmN0aW9BcnJheTAgPSBbdiA9PiB2ICog
MTBdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkwWzBdKDEwKTsKK3Rlc3RDYXNlKHJlc3Vs
dCwgMTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gYXMgaXRlbSBpbiBhcnJheTogW3Y9PnYqMTBdIik7CisKKyB2YXIgYXJyb3dGdW5jdGlvQXJy
YXkxID0gW3YgPT4gdiArIDEsIHYgPT4gdiArIDJdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJy
YXkxWzBdKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhl
Y3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbdiA9PiB2ICsg
MSwgIHYgPT4gdiArIDJdIik7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTFbMV0oMTEpOwor
dGVzdENhc2UocmVzdWx0LCAxMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhl
IGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFt2ID0+IHYgKyAxLCAgdiA9PiB2ICsg
Ml0iKTsKKworIHZhciBhcnJvd0Z1bmN0aW9BcnJheTIgPSBbKHYpID0+IHYgKyAxLCAodikgPT4g
diArIDJdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkyWzBdKDExKTsKK3Rlc3RDYXNlKHJl
c3VsdCwgMTIgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKHYpID0+IHYgKyAxLCAgKHYpID0+IHYgKyAyXSIpOwor
cmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkyWzFdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTMg
LCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBp
dGVtIGluIGFycmF5OiBbKHYpID0+IHYgKyAxLCAgKHYpID0+IHYgKyAyXSIpOworCisgdmFyIGFy
cm93RnVuY3Rpb0FycmF5MyA9IFsoKSA9PiAxMDEsICgpID0+IDEyMzIzXTsKK3Jlc3VsdCA9IGFy
cm93RnVuY3Rpb0FycmF5M1swXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMSwgIkVycm9yOiBO
b3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJy
YXk6IFsoKSA9PiBjMSwgICgpID0+IGMyXSIpOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkz
WzFdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIzMjMsICJFcnJvcjogTm90IGNvcnJlY3QgZXhl
Y3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKCkgPT4gYzEs
ICAoKSA9PiBjMl0iKTsKKwordmFyIGFycm93RnVuY3Rpb25PYmogPSB7ZnVuYyA6IHkgPT4geSAr
IDEyfTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25PYmouZnVuYygxMSk7Cit0ZXN0Q2FzZShyZXN1
bHQsIDIzICwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0
aW9uIGFzIHByb3BlcnR5OiB7ZnVuYyA6IHkgPT4geSArIDEyIH0iKTsKKwordmFyIGFmT2JqTGV4
QmluZDIgPSBmdW5jdGlvbiAoKSB7CisgIHRoaXMuZnVuYyA9ICgpID0+IHRoaXM7Cit9OworCit2
YXIgYXJyb3dGYXRGdW5jdGlvbjAgPSAoKSA9PiB7IHJldHVybiAxMDAwOyB9OworcmVzdWx0ID0g
YXJyb3dGYXRGdW5jdGlvbjAoMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDAwICwiRXJyb3I6IE5v
dCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJs
b2NrOiAoKSA9PiB7IHJldHVybiAxMDAwOyB9Iik7CisKK3ZhciBhcnJvd0ZhdEZ1bmN0aW9uMSA9
IHYgPT4geyB2YXIgaW50dmFsID0gMTAwOyByZXR1cm4gdiAqIGludHZhbDsgfTsKK3Jlc3VsdCA9
IGFycm93RmF0RnVuY3Rpb24xKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEwMCAsIkVycm9yOiBO
b3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBi
bG9jazogeCA9PiB7IHZhciB2PTEwMDA7IHJldHVybiB2Kng7IH0iKTsKKwordmFyIGFycm93RmF0
RnVuY3Rpb24yID0gKHYpID0+IHsgdmFyIGludCA9IDIwMDsgcmV0dXJuIHYgKiBpbnQ7IH07City
ZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0aW9uMigxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIyMDAgLCJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJv
ZHkgYXMgYmxvY2s6ICh4KSA9PiB7IHZhciB2PTEwMDA7IHJldHVybiB2Kng7IH0iKTsKKwordmFy
IGFycm93RmF0RnVuY3Rpb24zID0gKHYsIHgpID0+IHsgdmFyIHJlc3VsdCA9IHggKiB2OyByZXR1
cm4gcmVzdWx0OyB9OworcmVzdWx0ID0gYXJyb3dGYXRGdW5jdGlvbjMoMTEsIDEyMjIyKTsKK3Rl
c3RDYXNlKHJlc3VsdCwgMTM0NDQyICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0
aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiAodiwgeCkgPT4geyB2YXIgcmVz
dWx0ID0geCAqIHY7IHJldHVybiByZXN1bHQ7IH0iKTsKKworcmVzdWx0ID0gYXJyb3dGdW5jdGlv
bldyYXBwZXIoeD0+e3JldHVybiB4ICogMjU7fSwgMTIxKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjUq
MTIxICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24g
d2l0aCBib2R5IGFzIGJsb2NrOiBmKHggPT4ge3JldHVybiB4ICogMjU7fSwgMTIxKSIpOworCity
ZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcjIoKHgsIHkpPT57cmV0dXJuIHggKiB5O30sIDE0
LCAxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDE0KjEyICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1
dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiBmKCh4LCB5KT0+
e3JldHVybiB4ICogeTt9LCAxNCwgMTIxKSkiKTsKKwordmFyIHNpbXBsZUFycm93RnVuY3Rpb24g
PSAoKSA9PiB7fTsKKwordGVzdENhc2UodHlwZW9mIHNpbXBsZUFycm93RnVuY3Rpb24sICJmdW5j
dGlvbiIsICJFcnJvcjogTm90IGNvcnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24iKTsK
KwordGVzdENhc2UoT2JqZWN0LmdldFByb3RvdHlwZU9mKHNpbXBsZUFycm93RnVuY3Rpb24pLCBG
dW5jdGlvbi5wcm90b3R5cGUsICJFcnJvcjogTm90IGNvcnJlY3QgZ2V0UHJvdG90eXBlT2YgdmFs
dWUgZm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93RnVuY3Rpb24g
aW5zdGFuY2VvZiBGdW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9y
IGluc3RhbmNlb2YgbWV0aG9kIGZvciBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShzaW1w
bGVBcnJvd0Z1bmN0aW9uLmNvbnN0cnVjdG9yID09IEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5v
dCBjb3JyZWN0IHJlc3VsdCBmb3IgY29uc3RydWN0b3IgbWV0aG9kIG9mIGFycm93IGZ1bmN0aW9u
Iik7CisKK3Rlc3RDYXNlKHR5cGVvZiBzaW1wbGVBcnJvd0Z1bmN0aW9uLnByb3RvdHlwZSA9PT0g
J3VuZGVmaW5lZCcsIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBwcm90b3R5
cGUgb2YgYXJyb3cgZnVuY3Rpb24iKTsKKwordmFyIGVycm9yT25DcmVhdGUgPSBmYWxzZTsKKwor
dHJ5IHsKKyAgdmFyIGZjID0gbmV3IHNpbXBsZUFycm93RnVuY3Rpb24oKTsKK30KK2NhdGNoIChl
KSB7CisgIGVycm9yT25DcmVhdGUgPSB0cnVlOworfQorCit0ZXN0Q2FzZShlcnJvck9uQ3JlYXRl
LCB0cnVlLCAiRXJyb3I6IE5vIGVycm9yIGR1cmluZyBydW4gbmV3IEFycm93RnVuY3Rpb24iKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKaW5kZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlhZjg2MC4u
MTE0OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIv
U291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAg
LTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwog
RU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VT
Nl9DTEFTU19TWU5UQVg7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxF
X0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVO
QUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1Nf
QU5JTUFUSU9OU19MRVZFTF8yID0gRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBAIC0y
MTQsNCArMjE1LDQgQEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVSQVRF
RF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7
CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUND
RUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJ
TkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAk
KEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJM
RV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZf
Q0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05F
WFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVD
T1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVW
SUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lN
QUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVf
Q1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1Nf
U0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFL
KSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5E
TEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVO
VCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5U
KSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNU
UlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRT
KSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FN
RVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BB
R0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVf
U0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VF
SykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VD
SF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9M
RUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJ
TktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NS
SVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJT
T1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJ
R0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERG
S0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChF
TkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVO
QUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JF
UVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9S
RVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVf
Q1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJF
QU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVO
QUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJ
T04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5B
QkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVf
VklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVO
QUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FV
RElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVf
UElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lP
TlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklU
KSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhN
RVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVT
ID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NB
UFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJ
VElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5B
QkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVO
QUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykg
JChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQp
ICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09M
VVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVM
NCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1Mz
X1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NV
U1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxF
X0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9E
T000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVf
Rk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQ
QUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFU
QUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVf
VUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Jf
UE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChF
TkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAk
KEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVG
SVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5E
T1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBS
RVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01F
RElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJ
QV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChF
TkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElM
UykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFC
TEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19T
VUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZS
QU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BF
Q1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JB
TkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJ
UykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxF
X1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9O
RV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNP
Tl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVD
VF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFU
QUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wp
ICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NP
Q0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5B
QkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkg
JChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFU
RURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKaW5kZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4ODA1ODlh
Zjg2MC4uMTE0OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NB
TlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NB
R0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFY
ID0gRU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJ
TFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsK
IEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yID0gRU5BQkxFX0NTU19BTklNQVRJT05TX0xF
VkVMXzI7CkBAIC0yMTQsNCArMjE1LDQgQEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5B
QkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VU
X0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykg
JChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVS
RkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVO
VF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19Q
QVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAk
KEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChF
TkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChF
TkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElP
TikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAk
KEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVY
VF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9N
X1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFU
QUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVU
QUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRf
RVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05U
X0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkg
JChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFT
RSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BP
VkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJM
RV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVT
KSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1Mp
ICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFf
Q09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJM
RV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAk
KEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9Q
Uk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJ
WF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUp
ICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9S
KSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElO
RykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAk
KEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05V
TUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xP
QURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VF
X1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChF
TkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VU
UykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVf
V0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVO
QUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9M
QVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVB
VFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRF
RF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChF
TkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxF
X0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZB
U19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19T
WU5UQVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19M
RVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19D
T01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
R1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VM
RUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAk
KEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkp
ICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBP
UlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRF
TVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxf
MikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQo
RU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVO
QUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChF
TkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9U
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NT
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5B
QkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwp
ICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAk
KEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
TE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5B
QkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1Rf
QU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVf
UkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFC
TEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQ
VE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5B
QkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5U
KSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFC
TEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykg
JChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChF
TkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChF
TkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9U
SU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChF
TkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVO
QUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRB
VElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOGIxMTJmYWU0NWI5NTdkZDI2NDFmZGI2ZjQ2ODk4
ODA1ODlhZjg2MC4uMTE0OGE3Njk3MmYxMTRjMzgzZDMyNjI5ZjFmMDkzYzY4NTUwYTA1MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKKysrIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKQEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NB
TlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NB
R0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFY
ID0gRU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJ
TFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsK
IEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yID0gRU5BQkxFX0NTU19BTklNQVRJT05TX0xF
VkVMXzI7CkBAIC0yMTQsNCArMjE1LDQgQEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5B
QkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VU
X0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykg
JChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVS
RkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVO
VF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19Q
QVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAk
KEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChF
TkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChF
TkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElP
TikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAk
KEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVY
VF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9N
X1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFU
QUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVU
QUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRf
RVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05U
X0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkg
JChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFT
RSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BP
VkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJM
RV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVT
KSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1Mp
ICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFf
Q09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJM
RV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAk
KEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9Q
Uk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJ
WF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUp
ICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9S
KSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElO
RykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAk
KEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05V
TUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xP
QURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VF
X1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChF
TkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VU
UykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVf
V0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVO
QUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9M
QVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVB
VFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRF
RF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChF
TkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxF
X0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZB
U19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19T
WU5UQVgpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19M
RVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19D
T01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
R1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VM
RUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAk
KEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkp
ICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBP
UlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRF
TVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxf
MikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQo
RU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVO
QUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChF
TkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9U
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NT
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5B
QkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwp
ICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAk
KEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
TE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5B
QkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1Rf
QU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVf
UkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFC
TEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQ
VE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5B
QkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5U
KSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFC
TEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykg
JChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChF
TkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChF
TkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9U
SU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChF
TkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVO
QUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRB
VElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFr
ZSBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQppbmRleCBmNzQ3ZGM4MTQxMTMz
Yzg5NWEzZGEzNzgzYjRhZTU1ZGU1YTA0MmJjLi42YmQ4Yjk2YzcxZTJmNTJjNmY4ZDUzYzQxNTIy
MWY4OWU2MWQwNjlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21h
a2UKKysrIGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCkBAIC0zOSw2ICszOSw3
IEBAIG1hY3JvKFdFQktJVF9PUFRJT05fQkVHSU4pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUo
RU5BQkxFX0NBTlZBU19QUk9YWSAiVG9nZ2xlIENhbnZhc1Byb3h5IHN1cHBvcnQiIE9GRikKICAg
ICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgIlRvZ2dsZSBN
ZXNzYWdlQ2hhbm5lbCBhbmQgTWVzc2FnZVBvcnQgc3VwcG9ydCIgT04pCiAgICAgV0VCS0lUX09Q
VElPTl9ERUZJTkUoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggIlRvZ2dsZSBFUzYgY2xhc3Mgc3lu
dGF4IHN1cHBvcnQiIE9OKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9FUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVggIlRvZ2dsZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1cHBv
cnQiIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DT05URU5UX0ZJTFRFUklO
RyAiVG9nZ2xlIGNvbnRlbnQgZmlsdGVyaW5nIHN1cHBvcnQiIE9GRikKICAgICBXRUJLSVRfT1BU
SU9OX0RFRklORShFTkFCTEVfQ09OVEVYVF9NRU5VUyAiVG9nZ2xlIENvbnRleHQgTWVudSBzdXBw
b3J0IiBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ1NQX05FWFQgIlRvZ2ds
ZSBDb250ZW50IFNlY3VyaXR5IFBvbGljeSAxLjEgc3VwcG9ydCIgT0ZGKQpkaWZmIC0tZ2l0IGEv
U291cmNlL2NtYWtlY29uZmlnLmguY21ha2UgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQpp
bmRleCA1ZTk4M2Q1ZTY1YjA3ZWY3ZGM1M2VjOWQzYzZhOGEyOTM5MTc1Y2IyLi4yM2RhZjU5NjYz
NTAyMmRmNDIwZjI4YWRhNjdkOTM0NzdjYTBlMmQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2Vj
b25maWcuaC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQpAQCAtMTQsNiAr
MTQsNyBAQAogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NBTlZBU19QUk9YWQogI2NtYWtlZGVmaW5l
MDEgRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfRVM2X0NM
QVNTX1NZTlRBWAorI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WAogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HCiAjY21ha2VkZWZpbmUw
MSBFTkFCTEVfQ09OVEVYVF9NRU5VUwogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0NSRURFTlRJQUxf
U1RPUkFHRQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0
LnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCmluZGV4IDAwMDMy
YzFkMDI1NGY0ZDZhN2EwZmNhNTUzMWIzNDFkMzVkMjk1NzIuLjRkZTdmMTNkNTMwOTdlMjU5N2Fk
OGIzMzMwZDI1YzFhZGNmNjZlMmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVy
bC9GZWF0dXJlTGlzdC5wbQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxp
c3QucG0KQEAgLTQ0LDYgKzQ0LDcgQEAgQkVHSU4gewogbXkgKAogICAgICR0aHJlZURSZW5kZXJp
bmdTdXBwb3J0LAogICAgICRhY2NlbGVyYXRlZDJEQ2FudmFzU3VwcG9ydCwKKyAgICAkYXJyb3dm
dW5jdGlvblN5bnRheCwKICAgICAkYXR0YWNobWVudEVsZW1lbnRTdXBwb3J0LAogICAgICRiYXR0
ZXJ5U3RhdHVzU3VwcG9ydCwKICAgICAkY2FudmFzUGF0aFN1cHBvcnQsCkBAIC0xNTUsOSArMTU2
LDEzIEBAIG15IEBmZWF0dXJlcyA9ICgKICAgICB7IG9wdGlvbiA9PiAiYWNjZWxlcmF0ZWQtMmQt
Y2FudmFzIiwgZGVzYyA9PiAiVG9nZ2xlIEFjY2VsZXJhdGVkIDJEIENhbnZhcyBzdXBwb3J0IiwK
ICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUyIsIGRlZmF1bHQg
PT4gaXNHdGsoKSwgdmFsdWUgPT4gXCRhY2NlbGVyYXRlZDJEQ2FudmFzU3VwcG9ydCB9LAogCisg
ICAgeyBvcHRpb24gPT4gImFycm93ZnVuY3Rpb24tc3ludGF4IiwgZGVzYyA9PiAiVG9nZ2xlIEVT
NiBhcnJvdyBmdW5jdGlvbiBzeW50YXggc3VwcG9ydCIsCisgICAgICBkZWZpbmUgPT4gIkVOQUJM
RV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgiLCBkZWZhdWx0ID0+IDEsIHZhbHVlID0+IFwkYXJy
b3dmdW5jdGlvblN5bnRheCB9LAorCiAgICAgeyBvcHRpb24gPT4gImF0dGFjaG1lbnQtZWxlbWVu
dCIsIGRlc2MgPT4gIlRvZ2dsZSBBdHRhY2htZW50IEVsZW1lbnQgc3VwcG9ydCIsCiAgICAgICBk
ZWZpbmUgPT4gIkVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQiLCBkZWZhdWx0ID0+IDAsIHZhbHVl
ID0+IFwkYXR0YWNobWVudEVsZW1lbnRTdXBwb3J0IH0sCiAKKwogICAgIHsgb3B0aW9uID0+ICJi
YXR0ZXJ5LXN0YXR1cyIsIGRlc2MgPT4gIlRvZ2dsZSBCYXR0ZXJ5IFN0YXR1cyBzdXBwb3J0IiwK
ICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0JBVFRFUllfU1RBVFVTIiwgZGVmYXVsdCA9PiBpc0Vm
bCgpLCB2YWx1ZSA9PiBcJGJhdHRlcnlTdGF0dXNTdXBwb3J0IH0sCiAKZGlmZiAtLWdpdCBhL0No
YW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAyOTE0ZjYxZGJkMTYwMzc2ZGU1MjgxZTMxNzI4ZmY3
YjJhOTVmOGRiLi41ZWQzMjg4Y2ViM2QxOTcyMGU4NDAzN2Y3YTU4MDIzNWQ2NGVhN2U0IDEwMDY0
NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTUt
MDQtMTcgICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAg
ICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQorCisgICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFn
IHRvIHN3aXRjaCBvbi9vZmYgZXM2IGFycm93IGZ1bmN0aW9uIEVOQUJMRV9FUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgKKworICAgICAgICAgKiBTb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21h
a2U6CisgICAgICAgICAqIFNvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlOgorCiAyMDE1LTA0LTE2
ICBCYXNpbGUgQ2xlbWVudCAgPGJhc2lsZV9jbGVtZW50QGFwcGxlLmNvbT4KIAogICAgICAgICBF
eHRyYWN0IHRoZSBhbGxvY2F0aW9uIHByb2ZpbGUgZnJvbSBKU0Z1bmN0aW9uIGludG8gYSByYXJl
IG9iamVjdAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251056</attachid>
            <date>2015-04-17 15:13:47 -0700</date>
            <delta_ts>2015-04-17 15:19:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150418011246.patch</filename>
            <type>text/plain</type>
            <size>144949</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyOTY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
ZTA1MWZkMTAxZjlkMGMzZmVkZTk0MmY4N2IxNjI0NGVlMDU0MWM2Li5hYzAxNmZiY2I0YjA3YWRk
YzliM2VjZDk1NWM0YWM4MTQyMmY0ZTdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMjMgQEAKKzIwMTUtMDQtMTcgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKyAgICAgICAgU21hbGwgcmVmYWN0b3Jpbmcgb2YgdGhlIHBhcmNlci5jcHAgZmls
ZS4gSXQgaXMgbmVjZXNzYXJ5IHRvIGluY3JlYXNlIHJlYWRhYmlsaXR5IG9mIHRoZSBwYXRjaAor
ICAgICAgICB3aXRoIEVTNiBBcnJvdyBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAg
KiBwYXJzZXIvUGFyc2VyLmg6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisKKzIwMTUt
MDQtMTMgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAg
ICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgc3VwcG9ydCBvZiBF
UzYgYXJyb3cgZnVuY3Rpb24uIENoYW5nZXMgd2VyZSBtYWRlIGFjY29yZGluZyBmb2xsb3dpbmcg
c3BlYyBodHRwOi8vd2lraS5lY21hc2NyaXB0Lm9yZy9kb2t1LnBocD9pZD1oYXJtb255OmFycm93
X2Z1bmN0aW9uX3N5bnRheAorICAgICAgICBJbiBwYXRjaCB3ZXJlIGltcGxlbWVudGVkIHRoZSBz
aW1wbGVzdCBjYXNlczoKKyAgICAgICAgICAxIG5vIHBhcmFtZXRlcnMgICAgICAgICAgICAgICAg
KCkgPT4gMTAgKyAyMAorICAgICAgICAgIDIgc2luZ2xlIHBhcmFtZXRlciAgICAgICAgICAgICAg
eCA9PiB4ICsgMjAKKyAgICAgICAgICAzIG11bHRpcGxlIHBhcmFtZXRlcnMgICAgICAoeCwgeSkg
PT4geCArIHkKKyAgICAgICAgICA0IGFycm93IGZ1bmN0aW9uIHdpdGggYmxvY2sgICAgIHggPT4g
eyByZXR1cm4geCoxMDsgfQorICAgICAgICAgIDUgbGV4aWNhbCB0aGlzIC0gdmFyaWFibGUgdGhp
cyBpcyBwb2ludCB0byB0aGUgdGhpcyBvZiB0aGUgZnVuY3Rpb24gd2hlcmUgYXJyb3cgZnVuY3Rp
b24gaXMgZGVjbGFyZWQKKyAgICAgICAgICA2IE5vIGNvbnN0cnVjdG9yIC0gdGhlIHVzaW5nIG9m
IHRoZSBjb21tYW5kIG5ldyBmb3IgYXJyb3cgZnVuY3Rpb24gbGVhZHMgdG8gcnVudGltZSBlcnJv
ci4gCisKKyAgICAgICAgIE5vdCB5ZXQgaW1wbGVtZW50ZWQ6CisgICAgICAgICAgMSB0aGUgdmFy
aWFibGUgd2l0aCBuYW1lIGFyZ3VtZW50cyBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uIHNo
b3VsZCBwb2ludCB0byBsaXN0IG9mIGFyZ3VtZW50cyBvZiBmdW5jdGlvbiB3aGVyZSBhcnJvdyBm
dW5jdGlvbiBpcyBkZWNsYXJlZAorICAgICAgICAgIDIgcGFyc2VyIHdpbGwgcGFyc2UgdGhlIHN0
YXRlbWVudCB4LCB5ID0+IHggKyB5IGluc3RlYWQgb2YgcmFpc2luZyBleGNlcHRpb24KKyAgICAg
ICAgICAzIG1ldGhvZCBjYWxsLCBhcHBseSwgYmluZCBzaG91bGQgbm90IG92ZXJyaWRlIHRoZSB0
aGlzIHZhcmlhYmxlIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24KKworICAgICAgICAqIENv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIEphdmFTY3Jp
cHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvajoKKyAgICAgICAgKiBieXRlY29k
ZS9CeXRlY29kZUxpc3QuanNvbjoKKyAgICAgICAgKiBieXRlY29kZS9CeXRlY29kZVVzZURlZi5o
OgorICAgICAgICAoSlNDOjpGdW5jdG9yOjpjb21wdXRlVXNlc0ZvckJ5dGVjb2RlT2Zmc2V0KToK
KyAgICAgICAgKiBieXRlY29kZS9Db2RlQmxvY2suY3BwOgorICAgICAgICAoSlNDOjpDb2RlQmxv
Y2s6OmR1bXBCeXRlY29kZSk6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJh
dG9yLmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAg
ICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVz
c2lvbik6IGFkZGVkCisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0VGhpc05v
ZGVCeXRlY29kZSk6IGFkZGVkCisgICAgICAgICogYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5j
cHA6CisgICAgICAgIChKU0M6OmVtaXRCeXRlY29kZTo6ZW1pdEJ5dGVjb2RlKTogYWRkZWQKKyAg
ICAgICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGU6OmVtaXRCeXRlY29kZSk6IGFkZGVkCisgICAg
ICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZUNvZGVQ
YXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAqIGRmZy9ERkdDYXBhYmlsaXRpZXMuY3BwOgor
ICAgICAgICAoSlNDOjpDYXBhYmlsaXR5TGV2ZWw6OmNhcGFiaWxpdHlMZXZlbCk6CisgICAgICAg
ICogaml0L0pJVC5oOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfbmV3X2Fycm93X2Z1bmNf
ZXhwKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUSW5saW5lcy5oOgorICAgICAgICAoSlNDOjpK
SVQ6OmNhbGxPcGVyYXRpb24pOiBhZGRlZAorICAgICAgICAqIGppdC9KSVQuY3BwOgorICAgICAg
ICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3MpOgorICAgICAgICAqIGppdC9KSVRP
cGNvZGVzLmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX25ld19hcnJvd19mdW5jX2V4
cCk6IGFkZGVkCisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMuY3BwOgorICAgICAgICAoSlND
OjpKSVRfT1BFUkFUSU9OOjpvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKTogYWRkZWQKKyAgICAg
ICAgKiBqaXQvSklUT3BlcmF0aW9ucy5oOgorICAgICAgICAoSlNDOjpKSVRfT1BFUkFUSU9OOjpv
cGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKTogYWRkZWQKKyAgICAgICAgKiBsbGludC9MTEludFNs
b3dQYXRocy5jcHA6CisgICAgICAgIChMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfbmV3
X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBsbGludC9MTEludFNsb3dQYXRocy5o
OgorICAgICAgICAoTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX25ld19hcnJvd19mdW5j
X2V4cCkpOiBhZGRlZAorICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOgor
ICAgICAgICAqIHBhcnNlci9BU1RCdWlsZGVyLmg6CisgICAgICAgIChKU0M6OkFTVEJ1aWxkZXI6
OmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAgICAgKiBwYXJzZXIvTGV4ZXIuY3BwOgor
ICAgICAgICAoSlNDOjpMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlvbik6CisgICAgICAgIChKU0M6
OkxleGVyPFQ+OjpsZXgpOgorICAgICAgICAqIHBhcnNlci9MZXhlci5oOgorICAgICAgICAoSlND
OjpMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlvbik6CisgICAgICAgICogcGFyc2VyL05vZGVDb25z
dHJ1Y3RvcnMuaDoKKyAgICAgICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGU6OkFycm93RnVuY0V4
cHJOb2RlKTogYWRkZWQKKyAgICAgICAgKiBwYXJzZXIvTm9kZXMuaDoKKyAgICAgICAgKEpTQzo6
Tm9kZTo6aXNBcnJvd0Z1bmNFeHByTm9kZSk6IGFkZGVkCisgICAgICAgIChKU0M6OkFycm93RnVu
Y0V4cHJOb2RlKTogYWRkZWQgY2xhc3MKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAg
ICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMpOgorICAg
ICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmVzc2lvbik6Cisg
ICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VTb3VyY2VFbGVtZW50KToKKyAgICAgICAgKEpTQzo6
UGFyc2VyOjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBc3Np
Z25tZW50RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VQcmltYXJ5RXhw
cmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0V4cHJlc3Npb24pOgor
ICAgICAgICAoSlNDOjpQYXJzZXI6OnNldEVuZE9mU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6
UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwYXJzZUFycm93RnVuY3Rpb25JbmZvKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFy
cm93RnVuY3Rpb25Cb2R5KToKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmg6CisgICAgICAgIChK
U0M6OlBhcnNlcjo6RnVuY3Rpb25QYXJzZVR5cGUpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBh
cnNlU291cmNlRWxlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VTdGF0ZW1lbnQp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dFeHByZXNzaW9uKToKKyAgICAgICAg
KEpTQzo6UGFyc2VyOjpzZXRFbmRPZlN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6
cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcik6CisgICAgICAgICogcGFyc2VyL1BhcnNlckZ1bmN0
aW9uSW5mby5oOgorICAgICAgICAqIHBhcnNlci9QYXJzZXJUb2tlbnMuaDoKKyAgICAgICAgKEpT
Qzo6UGFyc2VyRnVuY3Rpb25JbmZvOjphcnJvd0Z1bmN0aW9uT2Zmc2V0KTogYWRkZWQKKyAgICAg
ICAgKEpTQzo6UGFyc2VyRnVuY3Rpb25JbmZvOjppc0Fycm93RnVuY3Rpb24pOiBhZGRlZAorICAg
ICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmFycm93RnVuY3Rpb25Cb2R5VHlwZSk6IGFk
ZGVkCisgICAgICAgICogcGFyc2VyL1NvdXJjZUNvZGUuaDoKKyAgICAgICAgKEpTQzo6U291cmNl
Q29kZTo6c3ViQXJyb3dFeHByZXNzaW9uKToKKyAgICAgICAgKiBwYXJzZXIvU3ludGF4Q2hlY2tl
ci5oOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVhdGVBcnJvd0Z1bmN0aW9uRXhw
cik6CisgICAgICAgICogcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOgorICAgICAgICAo
SlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFyYW1ldGVycyk6CisgICAgICAg
IChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKToKKyAgICAgICAgKEpTQzo6U291cmNlUHJv
dmlkZXJDYWNoZUl0ZW06OmVuZEFycm93RnVuY3Rpb25Ub2tlbik6CisgICAgICAgICogcnVudGlt
ZS9KU0Fycm93RnVuY3Rpb24uaDogYWRkZWQgY2xhc3MgZm9yIGhhbmRsZSBhcnJvdyBmdW5jdGlv
biBjcmVhdGlvbiBhbmQgZXhlY3V0aW9uCisgICAgICAgICogcnVudGltZS9KU0Fycm93RnVuY3Rp
b24uY3BwOgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbi5oOgorICAgICAgICAoSlNDOjpK
U0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKTogYWRkZWQgb25lIG1vcmUgY29uc3RydWN0b3IKKyAgICAg
ICAgKiBydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkpTRnVuY3Rp
b246OkpTRnVuY3Rpb24pOiBhZGRlZCBjb25zdHJ1Y3RvciBpbXBsZW1lbnRhdGlvbgorICAgICAg
ICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9i
amVjdDo6aW5pdCk6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0OjptX2Fycm93RnVuY3Rp
b25TdHJ1Y3R1cmUpOiBhZGRlZAorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6YXJyb3dG
dW5jdGlvblN0cnVjdHVyZSk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2pzL2Fycm93ZnVuY3Rp
b24uanM6CisKIDIwMTUtMDQtMTIgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdtYWls
LmNvbT4KICAgICAgICAgU21hbGwgcmVmYWN0b3Jpbmcgb2YgdGhlIHBhcmNlci5jcHAgZmlsZS4g
SXQgaXMgbmVjZXNzYXJ5IHRvIGluY3JlYXNlIHJlYWRhYmlsaXR5IG9mIHRoZSBwYXRjaAogICAg
ICAgICB3aXRoIEVTNiBBcnJvdyBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IGI3OGQ0NjI2NzJhMDY1MGYwZTg3Yzk5Yjk3MGQ0NzU3OWE2MjVjNWUuLmM5N2M0YzRhZjRmMDFk
NDFjNjU4NzMxODI0NzQzNjA1ZDE2YWZjMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAxNS0wNC0xNyAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisg
ICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmZWF0dXJlIGZs
YWcgRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rpb24KKwor
ICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1
LTA0LTE3ICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBGb3JjZSBt
b3VzZSBldmVudHMgc2hvdWxkIGdvIHRocm91Z2ggbm9ybWFsIG1vdXNlIGV2ZW50IGhhbmRsaW5n
IGNvZGUgcGF0aHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCBhMTMwNTk2OWM5ODFmYTZiYzYyZTI5NjA2
ZDg2YjQ1YWU2MGY2ODlhLi4zZjM2MmMxNjM5MDc3NTg0YzMwMGU2ZTE2OTk1MWU1NzdiYmFhNDQz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDQtMTcgIFNrYWNoa292
IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1l
bnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dG
VU5DVElPTl9TWU5UQVggZm9yIGFycm93IGZ1bmN0aW9uCisKKyAgICAgICAgKiBDb25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxNS0wNC0xNyAgRGFuaWVsIEJhdGVz
ICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTjogU1ZHIGRvZXMgbm90
IHN1cHBvcnQgbGluayBkcmFnZ2luZwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0Cmlu
ZGV4IGZiY2UwYjZiOTk2YzIxODkyN2VlMzQ0YTNmMzIxYmZiODQ3MGM3OTIuLjI3ZmNlNjg5MDIx
M2EyMWUzNDk4YzZiZmE0NDY0MjJkNGI4NjkyMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VM
aXN0cy50eHQKQEAgLTQ2Nyw2ICs0NjcsNyBAQCBzZXQoSmF2YVNjcmlwdENvcmVfUlVOVElNRV9T
T1VSQ0VTCiAgICAgcnVudGltZS9KU0FycmF5QnVmZmVyVmlldy5jcHAKICAgICBydW50aW1lL0pT
QXJyYXlJdGVyYXRvci5jcHAKICAgICBydW50aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAKKyAgICBy
dW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAKICAgICBydW50aW1lL0pTR2xvYmFsT2JqZWN0RGVi
dWdnYWJsZS5jcHAKICAgICBydW50aW1lL0pTQ0pTVmFsdWUuY3BwCiAgICAgcnVudGltZS9KU0Nh
bGxlZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0
MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2OTcyZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1
NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00NSw2ICs0NSw3IEBAIEVOQUJM
RV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkg
PSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7
CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYOworRU5B
QkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9T
WU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
Tkc7CiBFTkFCTEVfQ1NQX05FWFQgPSA7CiBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMiA9
IEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yOwpAQCAtMjE0LDQgKzIxNSw0IEBAIEVOQUJM
RV9MTElOVF9DX0xPT1AgPSA7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMg
PSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMg
PSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykg
JChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQ
VElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElU
SU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVO
QUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFC
TEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5J
TUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5B
QkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVO
QUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChF
TkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJM
RV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NT
M19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJ
U0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJP
QVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJB
TlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRF
UlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChF
TkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRM
SU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09S
S0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNT
X1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9J
T1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9M
RUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVE
SU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJM
RV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFf
U09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kp
ICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxF
X1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVO
VFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxF
X1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkg
JChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVS
WSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChF
TkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NV
QlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJU
RVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFU
RV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09S
RCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURF
T19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19N
RURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JF
UExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5B
QkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElN
RU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19M
T09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVP
X1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRF
UklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRF
RF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRU
QUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NB
TlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkg
JChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFU
SU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0Vf
QURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1Nf
UkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQ
RVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQo
RU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIp
ICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAk
KEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQo
RU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNU
T1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1Yy
KSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQo
RU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFE
X0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9E
T01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJW
SUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9O
VEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAk
KEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19Q
UkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQp
ICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFC
TEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9T
Q0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRP
Ul9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRf
UExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJM
RV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxF
X1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVT
VF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09M
VVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1Nf
U0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNf
QVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVf
Q1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURF
TykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxF
X1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8p
ICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNU
VVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykg
JChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQo
RU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElD
KSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hw
cm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNj
cmlwdENvcmUudmN4cHJvagppbmRleCBmZjdhOGUxNjcyN2FmMjRlYmNhYzM2ODcwYTUwZGE1MTRm
YzkwZjZlLi4zZGZkZGNiN2UxZmM4YjE1N2ZhN2E1NmY0ZGZhZjM4ZTU2ZWFiMDAzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2Ny
aXB0Q29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKQEAgLTczMiw2ICs3MzIsNyBAQAogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0FycmF5QnVmZmVyUHJvdG90eXBlLmNw
cCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJheUJ1ZmZlclZp
ZXcuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0JvdW5kRnVu
Y3Rpb24uY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0Fycm93
RnVuY3Rpb24uY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NK
U1ZhbHVlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDYWxs
ZWUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NhdGNoU2Nv
cGUuY3BwIiAvPgpAQCAtMTUyNyw2ICsxNTI4LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHJ1bnRpbWVcSlNBcnJheUJ1ZmZlclZpZXdJbmxpbmVzLmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlJdGVyYXRvci5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0JvdW5kRnVuY3Rpb24uaCIgLz4KKyAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJvd0Z1bmN0aW9uLmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0lubGluZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5ccnVudGltZVxKU0NKU1ZhbHVlSW5saW5lcy5oIiAvPgpAQCAtMTgwNCw0ICsxODA2
LDQgQEAKICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KICAgICA8SW1w
b3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcQnVpbGRDdXN0b21pemF0aW9uc1xtYXNtLnRh
cmdldHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBi
YTliZTBmYjYxYmM2OGRjOGZkMjViMGYzMTg1YzczMDNiODhiMmQ5Li5jYmZkMGZhMmJjMDAwOGY1
NGU5OTAzNDI0MjQxNDQ5MGJjOWZjNWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtMTA5Niw2ICsxMDk2LDggQEAKIAkJODZGM0VFQkYxNjhDREU5MzAwNzdCOTJBIC8qIE9iamNS
dW50aW1lRXh0cmFzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4NkYzRUVCNjE2ODU1QTVCMDA3N0I5MkEgLyogT2JqY1J1bnRpbWVFeHRyYXMuaCAqLzsg
fTsKIAkJODZGQTlFOTExNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkZBOUU4RjE0MkJC
QjJEMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAqLzsgfTsKIAkJODZGQTlFOTIxNDJC
QkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91
bmRGdW5jdGlvbi5oICovOyB9OworCQk4QjBGNDI0QzFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJv
d0Z1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDhCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uY3BwICovOyB9
OworCQk4QjBGNDI0QzFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUy
MDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggKi87IH07CiAJCTkwMjEzRTNEMTIzQTQwQzIw
MEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkwMjEzRTNCMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlT
dGF0aXN0aWNzLmNwcCAqLzsgfTsKIAkJOTAyMTNFM0UxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9y
eVN0YXRpc3RpY3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTMwNTJDMzQwRkI3
OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMDUyQzMyMEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJB
cmVuYS5jcHAgKi87IH07CkBAIC0yODMxLDYgKzI4MzMsOCBAQAogCQk4NkY3NUVGRDE1MUMwNjJG
MDA3QzlCQTMgLyogUmVnRXhwTWF0Y2hlc0FycmF5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFJlZ0V4cE1hdGNoZXNBcnJheS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24u
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9u
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODZGQTlFOTAxNDJCQkIyRTAwMTc3
M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU0JvdW5kRnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOEIwRjQy
NEExQUJENkQyRjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U0Fycm93RnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOEIwRjQyNEIx
QUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0Fycm93RnVuY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk5MDIxM0UzQjEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGlj
cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZW1vcnlTdGF0aXN0
aWNzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTAyMTNFM0MxMjNBNDBDMjAw
RDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTWVtb3J5U3RhdGlzdGljcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
MzA1MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFyc2VyQXJlbmEuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtNDQ0Miw2ICs0NDQ2LDggQEAKIAkJCQlBN0JEQUVDNTE3RjRFQTE0MDBG
NjE0MEMgLyogSlNBcnJheUl0ZXJhdG9yLmggKi8sCiAJCQkJODZGQTlFOEYxNDJCQkIyRDAwMTc3
M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5jcHAgKi8sCiAJCQkJODZGQTlFOTAxNDJCQkIyRTAwMTc3
M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICovLAorCQkJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdF
QSAvKiBKU0Fycm93RnVuY3Rpb24uaCAqLywKKwkJCQk4QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEg
LyogSlNBcnJvd0Z1bmN0aW9uLmNwcCAqLywKIAkJCQk2NTdDRjQ1NjE5QkY2NjYyMDA0QUNCRjIg
LyogSlNDYWxsZWUuY3BwICovLAogCQkJCTY1N0NGNDU3MTlCRjY2NjIwMDRBQ0JGMiAvKiBKU0Nh
bGxlZS5oICovLAogCQkJCTBGRDk0OTdFMUE5N0RCOTYwMEUyODk2NiAvKiBKU0NhdGNoU2NvcGUu
Y3BwICovLApAQCAtNzE3NSw2ICs3MTgxLDcgQEAKIAkJCQkwRkQ4QTMxQjE3RDUxRjIyMDBDQTJD
NDAgLyogRlRMT1NSRW50cnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyMzVCREMxNzE3OEUx
QzAwNjkwQzdGIC8qIEZUTE9TUkV4aXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyMzVCREYx
NzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4aXRDb21waWxlci5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQk4QjBGNDI0QzFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGRUEwQTJBMTcwOTYyOTYwMEJCNzIyQyAvKiBGVExPdXRwdXQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMEY0ODUzMjkxODdERkRFQzAwODNCNjg3IC8qIEZUTFJlY292
ZXJ5T3Bjb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNkIxQ0MzMTg2MkM0NzgwMDg0NUQ5
NyAvKiBGVExSZWdpc3RlckF0T2Zmc2V0LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCmluZGV4IDI1MTQxMjYz
ZTM4ZDBlYjJkMTg0NDFmNGU2ZmZjZTM2ZWU4ZjdjZjIuLmEzNzY0N2YyNmZiZTNmMjViYTYyNWI5
OWYzZGExMjAxZTQ5ZmYyMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9CeXRlY29kZUxpc3QuanNvbgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQnl0ZWNvZGVMaXN0Lmpzb24KQEAgLTk0LDYgKzk0LDcgQEAKICAgICAgICAgICAgIHsgIm5h
bWUiIDogIm9wX3N3aXRjaF9zdHJpbmciLCAibGVuZ3RoIiA6IDQgfSwKICAgICAgICAgICAgIHsg
Im5hbWUiIDogIm9wX25ld19mdW5jIiwgImxlbmd0aCIgOiA0IH0sCiAgICAgICAgICAgICB7ICJu
YW1lIiA6ICJvcF9uZXdfZnVuY19leHAiLCAibGVuZ3RoIiA6IDQgfSwKKyAgICAgICAgICAgIHsg
Im5hbWUiIDogIm9wX25ld19hcnJvd19mdW5jX2V4cCIsICJsZW5ndGgiIDogNSB9LAogICAgICAg
ICAgICAgeyAibmFtZSIgOiAib3BfY2FsbCIsICJsZW5ndGgiIDogOSB9LAogICAgICAgICAgICAg
eyAibmFtZSIgOiAib3BfY2FsbF9ldmFsIiwgImxlbmd0aCIgOiA5IH0sCiAgICAgICAgICAgICB7
ICJuYW1lIiA6ICJvcF9jYWxsX3ZhcmFyZ3MiLCAibGVuZ3RoIiA6IDkgfSwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgKaW5kZXggZjIwNzEzOTIz
MjkwNjQ1M2I3YTU0ZjU2MWI5YjY0MjNlMmU4Y2YyNy4uOWI2N2EyMjIxZDNiYTBhNjA2ZjQ3MDlh
NTk5YzMxM2UxYTNhYmFhNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0J5dGVjb2RlVXNlRGVmLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0J5dGVjb2RlVXNlRGVmLmgKQEAgLTExNSw2ICsxMTUsOSBAQCB2b2lkIGNvbXB1dGVVc2VzRm9y
Qnl0ZWNvZGVPZmZzZXQoCiAgICAgY2FzZSBvcF9nZXRfcHJvcGVydHlfZW51bWVyYXRvcjoKICAg
ICBjYXNlIG9wX2dldF9lbnVtZXJhYmxlX2xlbmd0aDoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4
cDoKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3
X2Fycm93X2Z1bmNfZXhwOgorI2VuZGlmCiAgICAgY2FzZSBvcF90b19pbmRleF9zdHJpbmc6CiAg
ICAgY2FzZSBvcF9pbml0X2dsb2JhbF9jb25zdF9ub3A6CiAgICAgY2FzZSBvcF9pbml0X2dsb2Jh
bF9jb25zdDoKQEAgLTMwNiw2ICszMDksOSBAQCB2b2lkIGNvbXB1dGVEZWZzRm9yQnl0ZWNvZGVP
ZmZzZXQoQ29kZUJsb2NrKiBjb2RlQmxvY2ssIHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0LAogICAg
IGNhc2Ugb3BfbmV3X3JlZ2V4cDoKICAgICBjYXNlIG9wX25ld19mdW5jOgogICAgIGNhc2Ugb3Bf
bmV3X2Z1bmNfZXhwOgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAg
Y2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6CisjZW5kaWYKICAgICBjYXNlIG9wX2NhbGxfdmFy
YXJnczoKICAgICBjYXNlIG9wX2NvbnN0cnVjdF92YXJhcmdzOgogICAgIGNhc2Ugb3BfZ2V0X2Zy
b21fc2NvcGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29k
ZUJsb2NrLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3Bw
CmluZGV4IDFkODIzODcyODc4YWMzNDM3Y2M1M2EwODdmMWMwZjhhMjBiYjYwZmIuLmUzZjc1ZjQ0
ODE5MDBiYmI5YTg3ZmE5MjkwMTQ1NWU3YjgwYjg1MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCkBAIC0xMjk3LDYgKzEyOTcsMTcgQEAgdm9pZCBD
b2RlQmxvY2s6OmR1bXBCeXRlY29kZSgKICAgICAgICAgICAgIG91dC5wcmludGYoIiVzLCAlcywg
ZiVkIiwgcmVnaXN0ZXJOYW1lKHIwKS5kYXRhKCksIHJlZ2lzdGVyTmFtZShyMSkuZGF0YSgpLCBm
MCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOiB7Cisg
ICAgICAgICAgICBpbnQgcjAgPSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAgICAgICAgIGludCBy
MSA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgaW50IGYwID0gKCsraXQpLT51Lm9w
ZXJhbmQ7CisgICAgICAgICAgICBpbnQgcjIgPSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAgICAg
ICAgIHByaW50TG9jYXRpb25BbmRPcChvdXQsIGV4ZWMsIGxvY2F0aW9uLCBpdCwgIm9wX25ld19h
cnJvd19mdW5jX2V4cCIpOworICAgICAgICAgICAgb3V0LnByaW50ZigiJXMsICVzLCBmJWQsICVz
IiwgcmVnaXN0ZXJOYW1lKHIwKS5kYXRhKCksIHJlZ2lzdGVyTmFtZShyMSkuZGF0YSgpLCBmMCwg
cmVnaXN0ZXJOYW1lKHIyKS5kYXRhKCkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0K
KyNlbmRpZgogICAgICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDogewogICAgICAgICAgICAgaW50
IHIwID0gKCsraXQpLT51Lm9wZXJhbmQ7CiAgICAgICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUu
b3BlcmFuZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIv
Qnl0ZWNvZGVHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxl
ci9CeXRlY29kZUdlbmVyYXRvci5jcHAKaW5kZXggNmUxOThjYTI3ZTA5ZGEwMmRjOWNmNTMwYzI5
Mjc3YzU2Y2FjMjliNC4uYWY2NWNiNTNkOWM2ZTY5Yjk0OTQzYjkzYjM0M2E5ZDhiMjk3Mjg1MiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdl
bmVyYXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRl
Y29kZUdlbmVyYXRvci5jcHAKQEAgLTE3NTEsNiArMTc1MSwyMiBAQCBSZWdpc3RlcklEKiBCeXRl
Y29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwg
RnVuY0V4cAogICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChpbmRleCk7CiAgICAgcmV0dXJuIHIw
OwogfQorICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitSZWdpc3Rl
cklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJl
Z2lzdGVySUQqIHIwLCBGdW5jRXhwck5vZGUqIG4pCit7CisgICAgZW1pdFREWkNoZWNrKHRoaXNS
ZWdpc3RlcigpKTsKKyAgICBGdW5jdGlvbkJvZHlOb2RlKiBmdW5jdGlvbiA9IG4tPmJvZHkoKTsK
KyAgICB1bnNpZ25lZCBpbmRleCA9IG1fY29kZUJsb2NrLT5hZGRGdW5jdGlvbkV4cHIobWFrZUZ1
bmN0aW9uKGZ1bmN0aW9uKSk7CisgICAgCisgICAgZW1pdE9wY29kZShvcF9uZXdfYXJyb3dfZnVu
Y19leHApOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChyMC0+aW5kZXgoKSk7CisgICAgaW5z
dHJ1Y3Rpb25zKCkuYXBwZW5kKHNjb3BlUmVnaXN0ZXIoKS0+aW5kZXgoKSk7CisgICAgaW5zdHJ1
Y3Rpb25zKCkuYXBwZW5kKGluZGV4KTsKKyAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQodGhpc1Jl
Z2lzdGVyKCktPmluZGV4KCkpOworICAgIHJldHVybiByMDsKK30KKyNlbmRpZgogCiBSZWdpc3Rl
cklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0RlZmF1bHRDb25zdHJ1Y3RvcihSZWdpc3Rl
cklEKiBkc3QsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQsIGNvbnN0IElkZW50aWZp
ZXImIG5hbWUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggMmU1OTAzOWQzYTQ4NGEzNDcyODE0NDBlZWY5
YzFiODE5ZjcyNjVkYi4uMTc5MzVkNDhlZjNiZjJiMmQxNDFkZmRjMWFjOTM3Njc5MzE0NDJhNSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdl
bmVyYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNv
ZGVHZW5lcmF0b3IuaApAQCAtNDU2LDYgKzQ1NiwxMCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAg
ICAgUmVnaXN0ZXJJRCogZW1pdE5ld0Z1bmN0aW9uSW50ZXJuYWwoUmVnaXN0ZXJJRCogZHN0LCB1
bnNpZ25lZCBpbmRleCk7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5jdGlvbkV4cHJl
c3Npb24oUmVnaXN0ZXJJRCogZHN0LCBGdW5jRXhwck5vZGUqIGZ1bmMpOwogICAgICAgICBSZWdp
c3RlcklEKiBlbWl0TmV3RGVmYXVsdENvbnN0cnVjdG9yKFJlZ2lzdGVySUQqIGRzdCwgQ29uc3Ry
dWN0b3JLaW5kLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3QXJyb3dGdW5jdGlv
bkV4cHJlc3Npb24oUmVnaXN0ZXJJRCosIEZ1bmNFeHByTm9kZSopOworICAgICAgICBSZWdpc3Rl
cklEKiBlbWl0VGhpc05vZGVCeXRlY29kZShSZWdpc3RlcklEKiwgSlNUZXh0UG9zaXRpb24pOwor
I2VuZGlmCiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdSZWdFeHAoUmVnaXN0ZXJJRCogZHN0
LCBSZWdFeHAqKTsKIAogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TW92ZUVtcHR5VmFsdWUoUmVn
aXN0ZXJJRCogZHN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29t
cGlsZXIvTm9kZXNDb2RlZ2VuLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGls
ZXIvTm9kZXNDb2RlZ2VuLmNwcAppbmRleCAxMTQzMmFmMjNiYmI2MWU4MTU0MjUyM2I3YzExYWE3
YmRjYjVmM2JmLi42MWFlZjE0MDhjNDM2ZDc0YWIwOGY3YTJhMDY4Y2MyYjFmMDhjYzUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4u
Y3BwCkBAIC0yODMxLDYgKzI4MzEsMTQgQEAgUmVnaXN0ZXJJRCogRnVuY0V4cHJOb2RlOjplbWl0
Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCoKICAgICBy
ZXR1cm4gZ2VuZXJhdG9yLmVtaXROZXdGdW5jdGlvbkV4cHJlc3Npb24oZ2VuZXJhdG9yLmZpbmFs
RGVzdGluYXRpb24oZHN0KSwgdGhpcyk7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKSAgICAKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBBcnJvd0Z1
bmNFeHByTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1JlZ2lzdGVySUQq
IEFycm93RnVuY0V4cHJOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVy
YXRvciwgUmVnaXN0ZXJJRCogZHN0KQoreworICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdE5ld0Fy
cm93RnVuY3Rpb25FeHByZXNzaW9uKGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHRo
aXMpOworfQorI2VuZGlmCisgICAgCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAvLyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ2xhc3NEZWNsTm9kZSAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0J5dGVDb2RlUGFyc2VyLmNwcAppbmRleCBkOTczODg1YzFjYTMyYTNjNmUyMDYwZjkwMWQ3MmEy
ODFiMTg3Yjc4Li4zZjNlYzEwYWVlYzZlNjAxOTkzODY0ZTgyZTAzOWFhNjkxYjJhMWU5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcApAQCAt
Mzc0NCw2ICszNzQ0LDE1IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWdu
ZWQgbGltaXQpCiAgICAgICAgICAgICBORVhUX09QQ09ERShvcF9uZXdfZnVuY19leHApOwogICAg
ICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBj
YXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDogeworICAgICAgICAgICAgRnVuY3Rpb25FeGVjdXRh
YmxlKiBleHByID0gbV9pbmxpbmVTdGFja1RvcC0+bV9wcm9maWxlZEJsb2NrLT5mdW5jdGlvbkV4
cHIoY3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZCk7CisgICAgICAgICAgICBGcm96ZW5W
YWx1ZSogZnJvemVuID0gbV9ncmFwaC5mcmVlemVTdHJvbmcoZXhwcik7CisgICAgICAgICAgICBz
ZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLAorICAg
ICAgICAgICAgICAgIGFkZFRvR3JhcGgoTmV3RnVuY3Rpb24sIE9wSW5mbyhmcm96ZW4pLCBnZXQo
VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpKSkpOworICAg
ICAgICAgICAgTkVYVF9PUENPREUob3BfbmV3X2Fycm93X2Z1bmNfZXhwKTsKKyAgICAgICAgfQor
I2VuZGlmCiAgICAgICAgIGNhc2Ugb3BfdHlwZW9mOiB7CiAgICAgICAgICAgICBzZXQoVmlydHVh
bFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLAogICAgICAgICAgICAg
ICAgIGFkZFRvR3JhcGgoVHlwZU9mLCBnZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVj
dGlvblsyXS51Lm9wZXJhbmQpKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdD
YXBhYmlsaXRpZXMuY3BwCmluZGV4IDMyMjIwZGQyYmE1YWY1ZDZhYjgxNzUzZWRlNzM4MmU5NTdk
NmZhYTguLjRjMzY1ZDlkMDc1Y2M2ZTdjNWUxNjZiMTllNjMyNDRjN2M3YzljODMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKQEAgLTIwNyw2ICsy
MDcsOSBAQCBDYXBhYmlsaXR5TGV2ZWwgY2FwYWJpbGl0eUxldmVsKE9wY29kZUlEIG9wY29kZUlE
LCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgSW5zdHJ1YwogICAgIGNhc2Ugb3BfbmV3X2Z1bmM6CiAg
ICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CiAgICAgY2FzZSBvcF9jcmVhdGVfbGV4aWNhbF9lbnZp
cm9ubWVudDoKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ug
b3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorI2VuZGlmCiAgICAgICAgIHJldHVybiBDYW5Db21waWxl
QW5kSW5saW5lOwogCiAgICAgY2FzZSBvcF9wdXRfdG9fc2NvcGU6IHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCmluZGV4IDE3ZGQzYjRm
NDVmNTZmZjIwMDIzZDczYjc1ZGM3ZDcwYjYzNDk2OGYuLjIwMDA1YzA3MTUzM2IxNjgzYWZkYTJk
NjJkYzY1YzAxNjdkOTEwOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9JbnRlcnByZXRlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVy
cHJldGVyL0ludGVycHJldGVyLmNwcApAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUgIkV4Y2Vw
dGlvbkhlbHBlcnMuaCIKICNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJKU0Fy
cmF5LmgiCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNCb3VuZEZ1
bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTTGV4aWNhbEVu
dmlyb25tZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxs
SGVscGVycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhlbHBlcnMuaAppbmRl
eCBmZDM0NGFkYmNhYmIxNWZiZDgxNGVkNmZiZDQ3OGY3NGI2MTU3NjNjLi4wN2FjZDZkNTMyZDMy
OGFmZGI3N2FjZjIwMTMzOTBlZjM5ZGQ5ZDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0NDYWxsSGVscGVycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
Q0NhbGxIZWxwZXJzLmgKQEAgLTI3NCw2ICsyNzQsMTUgQEAgcHVibGljOgogICAgICAgICBhZGRD
YWxsQXJndW1lbnQoYXJnMik7CiAgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmczKTsKICAgICB9
CisgICAgCisgICAgQUxXQVlTX0lOTElORSB2b2lkIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0
ZShHUFJSZWcgYXJnMSwgVHJ1c3RlZEltbVB0ciBhcmcyLCBHUFJSZWcgYXJnMykKKyAgICB7Cisg
ICAgICAgIHJlc2V0Q2FsbEFyZ3VtZW50cygpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQoR1BS
SW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMSk7
CisgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmcyKTsKKyAgICAgICAgYWRkQ2FsbEFyZ3VtZW50
KGFyZzMpOworICAgIH0KIAogICAgIEFMV0FZU19JTkxJTkUgdm9pZCBzZXR1cEFyZ3VtZW50c1dp
dGhFeGVjU3RhdGUoR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyLCBUcnVzdGVkSW1tMzIgYXJnMykK
ICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKaW5kZXggOGNkOWZiMTJlOGJmNGIwYzY4
NzM4ZWY4ZWZhNzdjNjVmMDg0YWZlOC4uNWJjOTE2YjhiMzQxZGE1Y2U1MWY2YjYyN2FmZTkwMmM0
NTgxMDAxOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcApAQCAtMjYwLDYgKzI2MCw3IEBA
IHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkKICAgICAgICAgREVGSU5FX09QKG9w
X25ld19hcnJheV9idWZmZXIpCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfZnVuYykKICAgICAg
ICAgREVGSU5FX09QKG9wX25ld19mdW5jX2V4cCkKKyAgICAgICAgREVGSU5FX09QKG9wX25ld19h
cnJvd19mdW5jX2V4cCkgCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfb2JqZWN0KQogICAgICAg
ICBERUZJTkVfT1Aob3BfbmV3X3JlZ2V4cCkKICAgICAgICAgREVGSU5FX09QKG9wX25vdCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVC5oCmluZGV4IDAxYTQxMjk2M2NlNTk4MzMyYWYxMTZiNjJjNzZjYWIy
OTJmZmExNzguLmQ1MDdmYWZmN2RjYmM5MmJhMmZkMGQ0OWFmOTE4NmMxZmZjYzJkYmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVQuaApAQCAtNTIxLDYgKzUyMSw3IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2FycmF5X2J1ZmZlcihJbnN0cnVjdGlvbiopOwogICAg
ICAgICB2b2lkIGVtaXRfb3BfbmV3X2Z1bmMoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBl
bWl0X29wX25ld19mdW5jX2V4cChJbnN0cnVjdGlvbiopOworICAgICAgICB2b2lkIGVtaXRfb3Bf
bmV3X2Fycm93X2Z1bmNfZXhwKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9u
ZXdfb2JqZWN0KEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfcmVnZXhw
KEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9ub3QoSW5zdHJ1Y3Rpb24qKTsK
QEAgLTcwMCw2ICs3MDEsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgTWFjcm9Bc3NlbWJs
ZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSkosIGludCwgR1BSUmVnLCBH
UFJSZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklU
T3BlcmF0aW9uX0VKc2MsIEdQUlJlZyk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNh
bGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0MsIGludCwgR1BSUmVnLCBKU0NlbGwqKTsK
KyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlv
bl9FSnNjQ0osIGludCwgR1BSUmVnLCBKU0NlbGwqLCBHUFJSZWcpOwogICAgICAgICBNYWNyb0Fz
c2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2NaLCBHUFJSZWcs
IGludDMyX3QpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENf
SklUT3BlcmF0aW9uX0VKc2NaLCBpbnQsIEdQUlJlZywgaW50MzJfdCk7CiAjaWYgVVNFKEpTVkFM
VUU2NCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKaW5kZXggOWVlMjRkMDky
MjhhOTg4MmVhNzY5NjI5ZDFhODdiNmMzNGE4NjMzNC4uYTBlNDBjNWM2MWZlNjNlOTg2M2VkMjIz
ZWRmNWQ0NTFmMzE4YTc3NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgK
QEAgLTI3MSw2ICsyNzEsMTIgQEAgQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBK
SVQ6OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0Mgb3BlcmEKICAgICByZXR1cm4g
YXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldEpTVmFsdWVSZXN1bHQob3BlcmF0aW9uLCBk
c3QpOwogfQogCitBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9w
ZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0ogb3BlcmF0aW9uLCBpbnQgZHN0LCBHUFJSZWcg
YXJnMSwgSlNDZWxsKiBjZWxsLCBHUFJSZWcgYXJnMikKK3sKKyAgICBzZXR1cEFyZ3VtZW50c1dp
dGhFeGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSwgYXJnMik7CisgICAgcmV0dXJu
IGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRKU1ZhbHVlUmVzdWx0KG9wZXJhdGlvbiwg
ZHN0KTsKK30KKyAgICAKIEFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpj
YWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VQIG9wZXJhdGlvbiwgaW50IGRzdCwgdm9pZCog
cG9pbnRlcikKIHsKICAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0
cihwb2ludGVyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9w
Y29kZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAppbmRl
eCA0ZTgyMWQwYzNkNWEzYzVlNjU4MGQxMDM5NmVjMjg4OTYzODg2YjU2Li5hYThhN2MxZjg2MTIx
Y2JkNmFlOWI4Njc2YTdiZDk0OTc0ODZjNGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVE9wY29kZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUT3Bjb2Rlcy5jcHAKQEAgLTk2NSw2ICs5NjUsMjkgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfbmV3
X2Z1bmNfZXhwKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgY2FsbE9wZXJh
dGlvbihvcGVyYXRpb25OZXdGdW5jdGlvbiwgZHN0LCByZWdUMCwgZnVuY0V4cHIpOwogICAgIGRv
bmUubGluayh0aGlzKTsKIH0KKyAgICAKK3ZvaWQgSklUOjplbWl0X29wX25ld19hcnJvd19mdW5j
X2V4cChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQoreworICAgIEp1bXAgbm90VW5k
ZWZpbmVkU2NvcGU7CisgICAgaW50IGRzdCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJh
bmQ7CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGN1cnJl
bnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQsIHJlZ1QwKTsKKyAgICBlbWl0R2V0VmlydHVhbFJl
Z2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvbls0XS51Lm9wZXJhbmQsIHJlZ1QxKTsKKyAgICBub3RV
bmRlZmluZWRTY29wZSA9IGJyYW5jaDY0KE5vdEVxdWFsLCByZWdUMCwgVHJ1c3RlZEltbTY0KEpT
VmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSkpOworICAgIHN0b3JlNjQoVHJ1c3RlZEltbTY0
KEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSksIEFkZHJlc3MoY2FsbEZyYW1lUmVnaXN0
ZXIsIHNpemVvZihSZWdpc3RlcikgKiBkc3QpKTsKKyNlbHNlCisgICAgZW1pdExvYWRQYXlsb2Fk
KGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQsIHJlZ1QwKTsKKyAgICBlbWl0TG9hZFBh
eWxvYWQoY3VycmVudEluc3RydWN0aW9uWzRdLnUub3BlcmFuZCwgcmVnVDEpOworICAgIG5vdFVu
ZGVmaW5lZFNjb3BlID0gYnJhbmNoMzIoTm90RXF1YWwsIHRhZ0ZvcihjdXJyZW50SW5zdHJ1Y3Rp
b25bMl0udS5vcGVyYW5kKSwgVHJ1c3RlZEltbTMyKEpTVmFsdWU6OlVuZGVmaW5lZFRhZykpOwor
ICAgIGVtaXRTdG9yZShkc3QsIGpzVW5kZWZpbmVkKCkpOworI2VuZGlmCisgICAgSnVtcCBkb25l
ID0ganVtcCgpOworICAgIG5vdFVuZGVmaW5lZFNjb3BlLmxpbmsodGhpcyk7CisgICAgCisgICAg
RnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlvbiA9IG1fY29kZUJsb2NrLT5mdW5jdGlvbkV4cHIo
Y3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZCk7CisgICAgY2FsbE9wZXJhdGlvbihvcGVy
YXRpb25OZXdBcnJvd0Z1bmN0aW9uLCBkc3QsIHJlZ1QwLCBmdW5jdGlvbiwgcmVnVDEpOworICAg
IGRvbmUubGluayh0aGlzKTsKK30KIAogdm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2FycmF5KEluc3Ry
dWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRPcGVyYXRpb25zLmNwcAppbmRleCBiZTM0MTgwOTFkYjMxZDA1ODg3M2Q3ZmQ4ZmYzMzZh
MDQ5Y2NkOGVhLi40OGEzMDA1MWIzNzRhNjBkMGY0OThlZGU4NGQwY2NhNTZiMjVhZWIxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTQyLDYgKzQy
LDggQEAKICNpbmNsdWRlICJIb3N0Q2FsbFJldHVyblZhbHVlLmgiCiAjaW5jbHVkZSAiSklULmgi
CiAjaW5jbHVkZSAiSklUVG9ERkdEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suaCIKKyNpbmNs
dWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNp
bmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDYXRjaFNjb3BlLmgiCiAjaW5jbHVk
ZSAiSlNGdW5jdGlvbk5hbWVTY29wZS5oIgpAQCAtOTYwLDYgKzk2MiwyNCBAQCBFbmNvZGVkSlNW
YWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Z1bmN0aW9uV2l0aEludmFsaWRhdGVkUmVh
bGxvY2F0aW9uV2F0YwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNGdW5jdGlvbjo6Y3Jl
YXRlV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludCh2bSwgc3RhdGljX2Nhc3Q8
RnVuY3Rpb25FeGVjdXRhYmxlKj4oZnVuY3Rpb25FeGVjdXRhYmxlKSwgc2NvcGUpKTsKIH0KIAor
CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24o
RXhlY1N0YXRlKiBleGVjLCBKU1Njb3BlKiBzY29wZSwgSlNDZWxsKiBmdW5jdGlvbkV4ZWN1dGFi
bGUsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSkKK3sKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIEFTU0VSVChmdW5jdGlvbkV4ZWN1dGFibGUtPmluaGVyaXRzKEZ1
bmN0aW9uRXhlY3V0YWJsZTo6aW5mbygpKSk7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAg
ICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CisKKyAgICBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZXhlYy0+Y2FsbGVlKCktPmdsb2JhbE9iamVjdCgpOwor
ICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Fycm93RnVuY3Rpb246OmNyZWF0ZSh2bSwgc2NvcGUs
IHN0YXRpY19jYXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KGZ1bmN0aW9uRXhlY3V0YWJsZSksIGds
b2JhbE9iamVjdCk7CisgICAgSlNBcnJheSogYm91bmRBcmdzID0gSlNBcnJheTo6dHJ5Q3JlYXRl
VW5pbml0aWFsaXplZCh2bSwgZ2xvYmFsT2JqZWN0LT5hcnJheVN0cnVjdHVyZUZvckluZGV4aW5n
VHlwZUR1cmluZ0FsbG9jYXRpb24oQXJyYXlXaXRoVW5kZWNpZGVkKSwgMCk7CisKKyAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTQm91bmRGdW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmpl
Y3QsIGZ1bmMsIEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpLCBib3VuZEFyZ3MsIDAsICIiKSk7
CisjZWxzZQorICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisjZW5k
aWYKK30KKwogSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3Rh
dGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52
bSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25z
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaAppbmRleCBjM2Zh
ZDVkNmYzM2FhMDUyYmQ3MGZiZjNhODc3OWM3NWJkM2Q1MDI3Li43NzQwNjgxYzhlMjBkYTc1NDFl
OTRlNTZhMDZkMDgzMDMxYjQ0OTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wZXJhdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9w
ZXJhdGlvbnMuaApAQCAtMjAsNyArMjAsNyBAQAogICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQogICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCiAjaWZu
ZGVmIEpJVE9wZXJhdGlvbnNfaApAQCAtMTE1LDYgKzExNSw3IEBAIHR5cGVkZWYgRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQUCkoRXhlY1N0YXRlKiwgdm9p
ZCosIHZvCiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJh
dGlvbl9FUFMpKEV4ZWNTdGF0ZSosIHZvaWQqLCBzaXplX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNW
YWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVBjKShFeGVjU3RhdGUqLCBJbnN0
cnVjdGlvbiopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRP
cGVyYXRpb25fRUpzY0MpKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKTsKK3R5cGVkZWYg
RW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VKc2NDSikoRXhl
Y1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlKTsKIHR5cGVkZWYgRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTUykoRXhlY1N0YXRl
Kiwgc2l6ZV90LCBzaXplX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
ICgqSl9KSVRPcGVyYXRpb25fRVNzaUNJKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyos
IEpTQ2VsbCosIFN0cmluZ0ltcGwqKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJB
VElPTiAoKkpfSklUT3BlcmF0aW9uX0VTc2lKSSkoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1Yklu
Zm8qLCBFbmNvZGVkSlNWYWx1ZSwgU3RyaW5nSW1wbCopOwpAQCAtMjc4LDYgKzI3OSw3IEBAIEVu
Y29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXlCdWZmZXJXaXRoUHJv
ZmlsZShFeGVjU3RhdGUqLCBBcnJhCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbk5ld0FycmF5V2l0aFNpemVBbmRQcm9maWxlKEV4ZWNTdGF0ZSosIEFycmF5QWxsb2NhdGlv
blByb2ZpbGUqLCBFbmNvZGVkSlNWYWx1ZSBzaXplKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNW
YWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Z1bmN0aW9uKEV4ZWNTdGF0ZSosIEpTU2Nv
cGUqLCBKU0NlbGwqKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbk5ld0Z1bmN0aW9uV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2lu
dChFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKikgV1RGX0lOVEVSTkFMOworRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKEV4ZWNTdGF0ZSos
IEpTU2NvcGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVSTkFMOwogSlNDZWxs
KiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUq
KSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5l
d1JlZ2V4cChFeGVjU3RhdGUqLCB2b2lkKikgV1RGX0lOVEVSTkFMOwogdm9pZCBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkhhbmRsZVdhdGNoZG9nVGltZXIoRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFM
OwpAQCAtNDA2LDQgKzQwOCwzIEBAIGlubGluZSBQX0pJVE9wZXJhdGlvbl9FQ2xpIG9wZXJhdGlv
bkxpbmtQb2x5bW9ycGhpY0NhbGxGb3IoUmVnaXN0ZXJQcmVzZXJ2YXRpb25NCiAjZW5kaWYgLy8g
RU5BQkxFKEpJVCkKIAogI2VuZGlmIC8vIEpJVE9wZXJhdGlvbnNfaAotCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAppbmRleCAwNjk3NTViNTMxMjVj
NDc0NGZkODhjMmIzNGYyNmViYmI1ODkzMTYyLi5jNjVhMDc2OTQ1ZjliMzZjYTY0MzE5ZmY2YzY4
ZDlmNTgwZDA4Y2ZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJ
bnRTbG93UGF0aHMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNs
b3dQYXRocy5jcHAKQEAgLTM4LDYgKzM4LDggQEAKICNpbmNsdWRlICJJbnRlcnByZXRlci5oIgog
I2luY2x1ZGUgIkpJVC5oIgogI2luY2x1ZGUgIkpJVEV4Y2VwdGlvbnMuaCIKKyNpbmNsdWRlICJK
U0Fycm93RnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRl
ICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNs
dWRlICJKU0NKU1ZhbHVlLmgiCkBAIC0xNzEsNiArMTczLDE1IEBAIG5hbWVzcGFjZSBKU0MgeyBu
YW1lc3BhY2UgTExJbnQgewogICAgICAgICBMTElOVF9SRVRVUk5fVFdPKHBjLCBfX3JjZl9leGVj
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIH0gd2hpbGUgKGZhbHNlKQog
CisgICAgCisjZGVmaW5lIExMSU5UX0NBTENfUFJPUEVSVFlfRk9SX0ZVTkNfRVhQUigpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBMTElOVF9CRUdJTigpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+Y29kZUJsb2NrKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgSlNTY29wZSogc2NvcGUgPSBleGVjLT51
bmNoZWNrZWRSKHBjWzJdLnUub3BlcmFuZCkuUmVnaXN0ZXI6OnNjb3BlKCk7ICAgICAgIFwKKyAg
ICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUgPSBjb2RlQmxvY2stPmZ1bmN0aW9uRXhw
cihwY1szXS51Lm9wZXJhbmQpOyAgXAorICAgIAorZW51bSBGdW5jdGlvbkV4cHJlc3Npb25UeXBl
IHsgQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25UeXBlLCBDb21tb25GdW5jdGlvbkV4cHJlc3Npb25U
eXBlfTsKKyAgICAKIGV4dGVybiAiQyIgU2xvd1BhdGhSZXR1cm5UeXBlIGxsaW50X3RyYWNlX29w
ZXJhbmQoRXhlY1N0YXRlKiBleGVjLCBJbnN0cnVjdGlvbiogcGMsIGludCBmcm9tV2hlcmUsIGlu
dCBvcGVyYW5kKQogewogICAgIExMSU5UX0JFR0lOKCk7CkBAIC0xMDAzLDE2ICsxMDE0LDM1IEBA
IExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuYykKICNlbmRpZgogICAgIExM
SU5UX1JFVFVSTihKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGNvZGVCbG9jay0+ZnVuY3Rpb25EZWNs
KHBjWzNdLnUub3BlcmFuZCksIHNjb3BlKSk7CiB9Ci0KKyAgICAKIExMSU5UX1NMT1dfUEFUSF9E
RUNMKHNsb3dfcGF0aF9uZXdfZnVuY19leHApCiB7Ci0gICAgTExJTlRfQkVHSU4oKTsKLSAgICBD
b2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVCbG9jaygpOwotICAgIEpTU2NvcGUqIHNj
b3BlID0gZXhlYy0+dW5jaGVja2VkUihwY1syXS51Lm9wZXJhbmQpLlJlZ2lzdGVyOjpzY29wZSgp
OwotICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZnVuY3Rpb24gPSBjb2RlQmxvY2stPmZ1bmN0aW9u
RXhwcihwY1szXS51Lm9wZXJhbmQpOwotICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Z1bmN0aW9u
OjpjcmVhdGUodm0sIGZ1bmN0aW9uLCBzY29wZSk7CisgICAgTExJTlRfQ0FMQ19QUk9QRVJUWV9G
T1JfRlVOQ19FWFBSKCk7CisKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNGdW5jdGlvbjo6Y3Jl
YXRlKHZtLCBleGVjdXRhYmxlLCBzY29wZSk7CisgICAgTExJTlRfUkVUVVJOKGZ1bmMpOworfQor
CisKK0xMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApCit7
CisgICAgTExJTlRfQ0FMQ19QUk9QRVJUWV9GT1JfRlVOQ19FWFBSKCk7CisKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gTExJTlRf
T1BfQyg0KS5qc1ZhbHVlKCk7CisgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGV4
ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKICAgICAKKyAgICBKU0Z1bmN0aW9uKiBmdW5j
ID0gSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUodm0sIHNjb3BlLCBleGVjdXRhYmxlLCBnbG9iYWxP
YmplY3QpOworICAgIAorICAgIEpTQXJyYXkqIGJvdW5kQXJncyA9IEpTQXJyYXk6OnRyeUNyZWF0
ZVVuaW5pdGlhbGl6ZWQodm0sIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGlu
Z1R5cGVEdXJpbmdBbGxvY2F0aW9uKEFycmF5V2l0aFVuZGVjaWRlZCksIDApOworICAgIAorICAg
IGNvbnN0IFN0cmluZyBmdW5jV2l0aG91dE5hbWUgPSAiIjsKKyAgICAKKyAgICBMTElOVF9SRVRV
Uk4oSlNCb3VuZEZ1bmN0aW9uOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgZnVuYywgdGhpc1Zh
bHVlLCBib3VuZEFyZ3MsIDAsIGZ1bmNXaXRob3V0TmFtZSkpOworI2Vsc2UKKyAgICBKU0Z1bmN0
aW9uKiBmdW5jID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBleGVjdXRhYmxlLCBzY29wZSk7CiAg
ICAgTExJTlRfUkVUVVJOKGZ1bmMpOworI2VuZGlmCiB9CiAKIHN0YXRpYyBTbG93UGF0aFJldHVy
blR5cGUgaGFuZGxlSG9zdENhbGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBJbnN0cnVjdGlvbiog
cGMsIEpTVmFsdWUgY2FsbGVlLCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGtpbmQpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCmluZGV4IDRiZjdkZWIwZmEw
YjZjNjQzOGUzNmY5NjMyMGUyZjY2OTczOWFmNjQuLmM3ZmFiOTY5MWMxOGI5Mzk1NmQwZWEyOWYz
Mzk1NjExOGM1ZTcxZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
TEludFNsb3dQYXRocy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNs
b3dQYXRocy5oCkBAIC05Niw2ICs5Niw3IEBAIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChz
bG93X3BhdGhfc3dpdGNoX2NoYXIpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3df
cGF0aF9zd2l0Y2hfc3RyaW5nKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3Bh
dGhfbmV3X2Z1bmMpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdf
ZnVuY19leHApOworTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdfYXJy
b3dfZnVuY19leHApOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9jYWxs
KTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfY29uc3RydWN0KTsKIExM
SU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfc2l6ZV9mcmFtZV9mb3JfdmFyYXJn
cyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc20KaW5kZXggNTQzZDllOTMzM2M1MTNlOTc2MTdiN2JkYTdmNjk5ODY2ODM4YTFlMC4u
MTgyYmJkOWU0ZWY3ODkyOGRhNTJmYmNlYzg4MmE1ZGYzNmRiNzk0MSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQpAQCAtMTE2
OSw2ICsxMTY5LDEwIEBAIF9sbGludF9vcF9uZXdfZnVuY19leHA6CiAgICAgY2FsbFNsb3dQYXRo
KF9sbGludF9zbG93X3BhdGhfbmV3X2Z1bmNfZXhwKQogICAgIGRpc3BhdGNoKDQpCiAKK19sbGlu
dF9vcF9uZXdfYXJyb3dfZnVuY19leHA6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxT
bG93UGF0aChfbGxpbnRfc2xvd19wYXRoX25ld19hcnJvd19mdW5jX2V4cCkKKyAgICBkaXNwYXRj
aCg1KQogCiBfbGxpbnRfb3BfY2FsbDoKICAgICB0cmFjZUV4ZWN1dGlvbigpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCmluZGV4IGI4ZmU0Yjg0ODVhMDk3Njg4ZjVj
NjMwYmQ4YzNjOTY3NjRmYzQ2NDkuLmYyZmEzYmQ5YzE1ZjRlNDIyZWVjNmE3OWQ2NWYxZDcwODZj
NjJjNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRl
ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCkBAIC0z
MTMsNiArMzEzLDE5IEBAIHB1YmxpYzoKICAgICAgICAgICAgIGluU3RyaWN0Q29udGV4dCwgY29u
c3RydWN0b3JLaW5kKTsKICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgIEV4cHJlc3Npb25Ob2RlKiBjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihjb25zdCBK
U1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88QVNUQnVp
bGRlcj4mIGluZm8pCisgICAgeworICAgICAgICBTb3VyY2VDb2RlIHNvdXJjZSA9IGluZm8uZnVu
Y3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24KKyAgICAgICAgPyBt
X3NvdXJjZUNvZGUtPnN1YkFycm93RXhwcmVzc2lvbihpbmZvLmFycm93RnVuY3Rpb25PZmZzZXQs
IGluZm8uY2xvc2VCcmFjZU9mZnNldCwgaW5mby5ib2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlTdGFy
dENvbHVtbikKKyAgICAgICAgOiBtX3NvdXJjZUNvZGUtPnN1YkV4cHJlc3Npb24oaW5mby5vcGVu
QnJhY2VPZmZzZXQsIGluZm8uY2xvc2VCcmFjZU9mZnNldCwgaW5mby5ib2R5U3RhcnRMaW5lLCBp
bmZvLmJvZHlTdGFydENvbHVtbik7CisKKyAgICAgICAgQXJyb3dGdW5jRXhwck5vZGUqIHJlc3Vs
dCA9IG5ldyAobV9wYXJzZXJBcmVuYSkgQXJyb3dGdW5jRXhwck5vZGUobG9jYXRpb24sICppbmZv
Lm5hbWUsIGluZm8uYm9keSwgc291cmNlLCBpbmZvLnBhcmFtZXRlcnMpOworICAgICAgICBpbmZv
LmJvZHktPnNldExvYyhpbmZvLmJvZHlTdGFydExpbmUsIGluZm8uYm9keUVuZExpbmUsIGxvY2F0
aW9uLnN0YXJ0T2Zmc2V0LCBsb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQpOworICAgICAgICByZXR1
cm4gcmVzdWx0OworICAgIH0KKyNlbmRpZgorCiAgICAgTkVWRVJfSU5MSU5FIFByb3BlcnR5Tm9k
ZSogY3JlYXRlR2V0dGVyT3JTZXR0ZXJQcm9wZXJ0eShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxv
Y2F0aW9uLCBQcm9wZXJ0eU5vZGU6OlR5cGUgdHlwZSwgYm9vbCwKICAgICAgICAgY29uc3QgSWRl
bnRpZmllciogbmFtZSwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPEFTVEJ1aWxkZXI+JiBpbmZv
LCBTdXBlckJpbmRpbmcgc3VwZXJCaW5kaW5nKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9MZXhlci5jcHAKaW5kZXggN2RlMTQyMjBiYmRhNzI3MzhiNTczYTRiOTc4OGNlMGIzMmNj
N2NlMy4uNTQwZjlmZmI3YmI1MTgyOWQ2N2RlZWRlYzVlNmE4ZWQ1MWNjNDQxNCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKQEAgLTE0MzAsNiArMTQzMCwxOCBAQCBib29s
IExleGVyPFQ+OjpuZXh0VG9rZW5Jc0NvbG9uKCkKICAgICByZXR1cm4gY29kZSA8IG1fY29kZUVu
ZCAmJiAqY29kZSA9PSAnOic7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIFQ+Cit2b2lkIExleGVyPFQ+OjpzZXRUb2tlblBvc2l0
aW9uKEpTVG9rZW4qIHRva2VuUmVjb3JkKQoreworICAgIEpTVG9rZW5EYXRhKiB0b2tlbkRhdGEg
PSAmdG9rZW5SZWNvcmQtPm1fZGF0YTsKKyAgICB0b2tlbkRhdGEtPmxpbmUgPSBsaW5lTnVtYmVy
KCk7CisgICAgdG9rZW5EYXRhLT5vZmZzZXQgPSBjdXJyZW50T2Zmc2V0KCk7CisgICAgdG9rZW5E
YXRhLT5saW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0KCk7CisgICAgQVNT
RVJUKHRva2VuRGF0YS0+b2Zmc2V0ID49IHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0KTsKK30K
KyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KIEpTVG9rZW5UeXBlIExleGVyPFQ+Ojps
ZXgoSlNUb2tlbiogdG9rZW5SZWNvcmQsIHVuc2lnbmVkIGxleGVyRmxhZ3MsIGJvb2wgc3RyaWN0
TW9kZSkKIHsKQEAgLTE0OTMsNyArMTUwNSwxMiBAQCBzdGFydDoKICAgICAgICAgfQogICAgICAg
ICB0b2tlbiA9IEdUOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIENoYXJhY3RlckVxdWFsOgor
ICAgIGNhc2UgQ2hhcmFjdGVyRXF1YWw6IHsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgICAgICB1aW50MzJfdCBzYXZlZGxpbmVOdW1iZXIgPSB0b2tlbkRhdGEtPmxp
bmU7CisgICAgICAgIHVpbnQzMl90IHNhdmVkT2Zmc2V0ID0gY3VycmVudE9mZnNldCgpOworICAg
ICAgICB1aW50MzJfdCBzYXZlZExpbmVTdGFydE9mZnNldCA9IGN1cnJlbnRMaW5lU3RhcnRPZmZz
ZXQoKTsKKyNlbmRpZgogICAgICAgICBzaGlmdCgpOwogICAgICAgICBpZiAobV9jdXJyZW50ID09
ICc9JykgewogICAgICAgICAgICAgc2hpZnQoKTsKQEAgLTE1MDUsOCArMTUyMiwyMiBAQCBzdGFy
dDoKICAgICAgICAgICAgIHRva2VuID0gRVFFUTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKG1f
Y3VycmVudCA9PSAnPicpIHsKKyAgICAgICAgICAgIHNoaWZ0KCk7CisgICAgICAgICAgICB0b2tl
biA9IEFSUk9XRlVOQ1RJT047CisKKyAgICAgICAgICAgIHRva2VuRGF0YS0+bGluZSA9IHNhdmVk
bGluZU51bWJlcjsKKyAgICAgICAgICAgIHRva2VuRGF0YS0+b2Zmc2V0ID0gc2F2ZWRPZmZzZXQ7
CisgICAgICAgICAgICB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCA9IHNhdmVkTGluZVN0YXJ0
T2Zmc2V0OworCisgICAgICAgICAgICBBU1NFUlQodG9rZW5EYXRhLT5vZmZzZXQgPj0gdG9rZW5E
YXRhLT5saW5lU3RhcnRPZmZzZXQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyNl
bmRpZgogICAgICAgICB0b2tlbiA9IEVRVUFMOwogICAgICAgICBicmVhazsKKyAgICB9CiAgICAg
Y2FzZSBDaGFyYWN0ZXJMZXNzOgogICAgICAgICBzaGlmdCgpOwogICAgICAgICBpZiAobV9jdXJy
ZW50ID09ICchJyAmJiBwZWVrKDEpID09ICctJyAmJiBwZWVrKDIpID09ICctJykgewpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCmluZGV4IDJkZjUyMTM5OTU3ODIwMDc4NWExNjZlMjJh
NzMyNzVlMGVhNjMwNGQuLmNiM2YyNWY3YzA4ZjgyNTgxYWYyY2U4ZmE5OTk5N2ZhZGUwNzY2ZjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKQEAgLTg1LDYgKzg1LDkgQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0SXNSZXBhcnNpbmcoKSB7IG1faXNSZXBhcnNpbmcgPSB0cnVlOyB9
CiAgICAgYm9vbCBpc1JlcGFyc2luZygpIGNvbnN0IHsgcmV0dXJuIG1faXNSZXBhcnNpbmc7IH0K
IAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdm9pZCBzZXRUb2tl
blBvc2l0aW9uKEpTVG9rZW4qIHRva2VuUmVjb3JkKTsKKyNlbmRpZgogICAgIEpTVG9rZW5UeXBl
IGxleChKU1Rva2VuKiwgdW5zaWduZWQsIGJvb2wgc3RyaWN0TW9kZSk7CiAgICAgYm9vbCBuZXh0
VG9rZW5Jc0NvbG9uKCk7CiAgICAgaW50IGxpbmVOdW1iZXIoKSBjb25zdCB7IHJldHVybiBtX2xp
bmVOdW1iZXI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9k
ZUNvbnN0cnVjdG9ycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3Ry
dWN0b3JzLmgKaW5kZXggM2JkYWI2MWE1MjJlMGNlMmMzMzk3ZjgwZjRmYTE4NGQxZDQyMTYwZS4u
YjU4ZTFmZTFhZjkwZTY2MGIwODQyZWE3ZTk5ZjA3YWU2YWNiYjk1ZSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKQEAgLTc4MSw2ICs3ODEs
MTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIG1fYm9keS0+ZmluaXNoUGFyc2luZyhzb3Vy
Y2UsIHBhcmFtZXRlciwgaWRlbnQsIEZ1bmN0aW9uRXhwcmVzc2lvbik7CiAgICAgfQogCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpbmxpbmUgQXJyb3dGdW5jRXhw
ck5vZGU6OkFycm93RnVuY0V4cHJOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24s
IGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBGdW5jdGlvbkJvZHlOb2RlKiBib2R5LCBjb25zdCBT
b3VyY2VDb2RlJiBzb3VyY2UsIFBhcmFtZXRlck5vZGUqIHBhcmFtZXRlcikKKyAgICAgICAgOiBG
dW5jRXhwck5vZGUobG9jYXRpb24sIGlkZW50LCBib2R5LCBzb3VyY2UsIHBhcmFtZXRlcikKKyAg
ICB7CisgICAgfQorI2VuZGlmCisgICAgCiAgICAgaW5saW5lIEZ1bmNEZWNsTm9kZTo6RnVuY0Rl
Y2xOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IElkZW50aWZpZXIm
IGlkZW50LCBGdW5jdGlvbkJvZHlOb2RlKiBib2R5LCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2Us
IFBhcmFtZXRlck5vZGUqIHBhcmFtZXRlcikKICAgICAgICAgOiBTdGF0ZW1lbnROb2RlKGxvY2F0
aW9uKQogICAgICAgICAsIG1fYm9keShib2R5KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9Ob2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rl
cy5oCmluZGV4IDZiMzczMjljMDliZmM0MmJlY2NjM2NhYTk4MzU5N2MzNTQwMmI2YzkuLjViNzc0
MWUxY2NjOGQ1MTVmZjE0YzE1MzE3MmQ3YmRhMDUzZjU4NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL05vZGVzLmgKQEAgLTE1OCw2ICsxNTgsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAg
ICAgdmlydHVhbCBib29sIGlzRG90QWNjZXNzb3JOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzRGVjb25zdHJ1Y3Rpb25Ob2RlKCkgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzRnVuY0V4cHJOb2RlKCkgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNBcnJvd0Z1bmNFeHByTm9kZSgpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9CisjZW5kaWYKICAgICAgICAgdmlydHVhbCBib29sIGlzQ29tbWFOb2RlKCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzU2ltcGxlQXJy
YXkoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNBZGQo
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpAQCAtMTY1Miw2ICsxNjU1LDE5IEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgICAgICBGdW5jdGlvbkJvZHlOb2RlKiBtX2JvZHk7CiAgICAgfTsKIAorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2xhc3MgQXJyb3dGdW5jRXhw
ck5vZGUgOiBwdWJsaWMgRnVuY0V4cHJOb2RlIHsKKyAgICBwdWJsaWM6CisgICAgICAgIEFycm93
RnVuY0V4cHJOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IElkZW50aWZpZXImLCBG
dW5jdGlvbkJvZHlOb2RlKiwgY29uc3QgU291cmNlQ29kZSYsIFBhcmFtZXRlck5vZGUqID0gMCk7
CisgICAgcHJpdmF0ZToKKyAgICAgICAgdmlydHVhbCBSZWdpc3RlcklEKiBlbWl0Qnl0ZWNvZGUo
Qnl0ZWNvZGVHZW5lcmF0b3ImLCBSZWdpc3RlcklEKiA9IDApIG92ZXJyaWRlOworICAgICAgICAK
KyAgICAgICAgdmlydHVhbCBib29sIGlzRnVuY0V4cHJOb2RlKCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gZmFsc2U7IH0KKyAgICAgICAgCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Fycm93RnVu
Y0V4cHJOb2RlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQorICAgIH07CisjZW5k
aWYKKwogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogICAgIGNsYXNzIENsYXNzRXhwck5v
ZGUgZmluYWwgOiBwdWJsaWMgRXhwcmVzc2lvbk5vZGUgewogICAgIHB1YmxpYzoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAppbmRleCA2NDc4MjBhZDgzZGY0NDNkMzBkMDRj
ZmFlMjI1NGZhZWM5NzA3YWI1Li45NWIzNjUyZjE4NjczNmNjOWRkOTdkNmQ0YmNmMDYwMmQ3YWU0
OWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCkBAIC0yNjQsNyAr
MjY0LDcgQEAgU3RyaW5nIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlubmVyKCkKICAgICBpZiAo
bV9sZXhlci0+aXNSZXBhcnNpbmcoKSkKICAgICAgICAgbV9zdGF0ZW1lbnREZXB0aC0tOwogICAg
IFNjb3BlUmVmIHNjb3BlID0gY3VycmVudFNjb3BlKCk7Ci0gICAgU291cmNlRWxlbWVudHMqIHNv
dXJjZUVsZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBDaGVja0ZvclN0cmlj
dE1vZGUpOworICAgIFNvdXJjZUVsZW1lbnRzKiBzb3VyY2VFbGVtZW50cyA9IHBhcnNlU291cmNl
RWxlbWVudHMoY29udGV4dCwgQ2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFy
c2VUeXBlKTsKICAgICBpZiAoIXNvdXJjZUVsZW1lbnRzIHx8ICFjb25zdW1lKEVPRlRPSykpIHsK
ICAgICAgICAgaWYgKGhhc0Vycm9yKCkpCiAgICAgICAgICAgICBwYXJzZUVycm9yID0gbV9lcnJv
ck1lc3NhZ2U7CkBAIC0zMzAsNyArMzMwLDcgQEAgYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6YWxs
b3dBdXRvbWF0aWNTZW1pY29sb24oKQogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBl
PgotdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNv
dXJjZUVsZW1lbnRzTW9kZSBtb2RlKQordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
U291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMoVHJl
ZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZUVsZW1lbnRzTW9kZSBtb2RlLCBGdW5jdGlvblBhcnNl
VHlwZSBmdW5jdGlvblBhcnNlVHlwZSkKIHsKICAgICBjb25zdCB1bnNpZ25lZCBsZW5ndGhPZlVz
ZVN0cmljdExpdGVyYWwgPSAxMjsgLy8gInVzZSBzdHJpY3QiLmxlbmd0aAogICAgIFRyZWVTb3Vy
Y2VFbGVtZW50cyBzb3VyY2VFbGVtZW50cyA9IGNvbnRleHQuY3JlYXRlU291cmNlRWxlbWVudHMo
KTsKQEAgLTMzOSw3ICszMzksNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
b3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3VyY2VFbAogICAgIHVuc2ln
bmVkIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwOwogICAgIGF1dG8gc2F2ZVBvaW50ID0gY3Jl
YXRlU2F2ZVBvaW50KCk7CiAgICAgYm9vbCBoYXNTZXRTdHJpY3QgPSBmYWxzZTsKLSAgICB3aGls
ZSAoVHJlZVN0YXRlbWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVudChjb250ZXh0LCBkaXJl
Y3RpdmUsICZkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoKSkgeworICAgIHdoaWxlIChUcmVlU3RhdGVt
ZW50IHN0YXRlbWVudCA9IHBhcnNlU3RhdGVtZW50KGNvbnRleHQsIGRpcmVjdGl2ZSwgJmRpcmVj
dGl2ZUxpdGVyYWxMZW5ndGgsIGZ1bmN0aW9uUGFyc2VUeXBlKSkgewogICAgICAgICBpZiAobW9k
ZSA9PSBDaGVja0ZvclN0cmljdE1vZGUgJiYgIXNlZW5Ob25EaXJlY3RpdmUpIHsKICAgICAgICAg
ICAgIGlmIChkaXJlY3RpdmUpIHsKICAgICAgICAgICAgICAgICAvLyAidXNlIHN0cmljdCIgbXVz
dCBiZSB0aGUgZXhhY3QgbGl0ZXJhbCB3aXRob3V0IGVzY2FwZSBzZXF1ZW5jZXMgb3IgbGluZSBj
b250aW51YXRpb24uCkBAIC01NzEsNiArNTcxLDMxIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6Y3JlYXRl
CiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlQmluZGluZ0xvY2F0aW9uKHRva2VuLm1fbG9jYXRp
b24sIG5hbWUsIHRva2VuLm1fc3RhcnRQb3NpdGlvbiwgdG9rZW4ubV9lbmRQb3NpdGlvbik7CiB9
CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVu
YW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVu
dCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVCdWls
ZGVyJiBjb250ZXh0KQoreworICAgIEFTU0VSVChtYXRjaChBUlJPV0ZVTkNUSU9OKSk7CisKKyAg
ICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICBKU1RleHRQ
b3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgIEpTVGV4dFBvc2l0aW9u
IGVuZCA9IHRva2VuRW5kUG9zaXRpb24oKTsKKworICAgIG5leHQoKTsKKyAgICBUcmVlRXhwcmVz
c2lvbiBleHByID0gcGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICBm
YWlsSWZGYWxzZShleHByLCAiQ2Fubm90IHBhcnNlIHRoZSBhcnJvdyBmdW5jdGlvbiBleHByZXNz
aW9uIik7CisgICAgZW5kID0gbGFzdFRva2VuRW5kUG9zaXRpb24oKTsKKworICAgIGJvb2wgY29y
cmVjdEFycm93RmluaXNoID0gaXNFbmRPZkFycm93RnVuY3Rpb24oKSB8fCBtYXRjaChFT0ZUT0sp
OworICAgIGZhaWxJZkZhbHNlKGNvcnJlY3RBcnJvd0ZpbmlzaCwgIkV4cGVjdGVkIGEgJzsnLCAn
XScsICd9JywgJyknLCBvciAnLCcgZm9sbG93aW5nIGEgYXJyb3cgZnVuY3Rpb24gc3RhdGVtZW50
Iik7CisKKyAgICBlbmQgPSB0b2tlbkVuZFBvc2l0aW9uKCk7CisgICAgc2V0RW5kT2ZTdGF0ZW1l
bnQoKTsKKworICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJldHVyblN0YXRlbWVudChsb2NhdGlv
biwgZXhwciwgc3RhcnQsIGVuZCk7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIExl
eGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlY29uc3RydWN0aW9u
UGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6dHJ5UGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm5F
eHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewpAQCAtMTAxOCw3ICsxMDQzLDcgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhdXNlTGlzdCBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VTd2l0Y2hDbGF1c2UKICAgICBUcmVlRXhwcmVzc2lvbiBjb25kaXRpb24gPSBw
YXJzZUV4cHJlc3Npb24oY29udGV4dCk7CiAgICAgZmFpbElmRmFsc2UoY29uZGl0aW9uLCAiQ2Fu
bm90IHBhcnNlIHN3aXRjaCBjbGF1c2UiKTsKICAgICBjb25zdW1lT3JGYWlsKENPTE9OLCAiRXhw
ZWN0ZWQgYSAnOicgYWZ0ZXIgc3dpdGNoIGNsYXVzZSBleHByZXNzaW9uIik7Ci0gICAgVHJlZVNv
dXJjZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERv
bnRDaGVja0ZvclN0cmljdE1vZGUpOworICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRz
ID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlLCBT
dGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICBmYWlsSWZGYWxzZShzdGF0ZW1lbnRzLCAi
Q2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIGEgc3dpdGNoIGNsYXVzZSIpOwogICAgIFRyZWVDbGF1
c2UgY2xhdXNlID0gY29udGV4dC5jcmVhdGVDbGF1c2UoY29uZGl0aW9uLCBzdGF0ZW1lbnRzKTsK
ICAgICBjb250ZXh0LnNldFN0YXJ0T2Zmc2V0KGNsYXVzZSwgc3RhcnRPZmZzZXQpOwpAQCAtMTAz
MSw3ICsxMDU2LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhdXNlTGlz
dCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTd2l0Y2hDbGF1c2UKICAgICAgICAgVHJlZUV4cHJl
c3Npb24gY29uZGl0aW9uID0gcGFyc2VFeHByZXNzaW9uKGNvbnRleHQpOwogICAgICAgICBmYWls
SWZGYWxzZShjb25kaXRpb24sICJDYW5ub3QgcGFyc2Ugc3dpdGNoIGNhc2UgZXhwcmVzc2lvbiIp
OwogICAgICAgICBjb25zdW1lT3JGYWlsKENPTE9OLCAiRXhwZWN0ZWQgYSAnOicgYWZ0ZXIgc3dp
dGNoIGNsYXVzZSBleHByZXNzaW9uIik7Ci0gICAgICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0
ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RN
b2RlKTsKKyAgICAgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJj
ZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUsIFN0YW5kYXJkRnVuY3Rp
b25QYXJzZVR5cGUpOwogICAgICAgICBmYWlsSWZGYWxzZShzdGF0ZW1lbnRzLCAiQ2Fubm90IHBh
cnNlIHRoZSBib2R5IG9mIGEgc3dpdGNoIGNsYXVzZSIpOwogICAgICAgICBjbGF1c2UgPSBjb250
ZXh0LmNyZWF0ZUNsYXVzZShjb25kaXRpb24sIHN0YXRlbWVudHMpOwogICAgICAgICBjb250ZXh0
LnNldFN0YXJ0T2Zmc2V0KGNsYXVzZSwgc3RhcnRPZmZzZXQpOwpAQCAtMTA0OCw3ICsxMDczLDcg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhdXNlIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZVN3aXRjaERlZmF1bHRDbGEKICAgICB1bnNpZ25lZCBzdGFydE9mZnNldCA9IHRv
a2VuU3RhcnQoKTsKICAgICBuZXh0KCk7CiAgICAgY29uc3VtZU9yRmFpbChDT0xPTiwgIkV4cGVj
dGVkIGEgJzonIGFmdGVyIHN3aXRjaCBkZWZhdWx0IGNsYXVzZSIpOwotICAgIFRyZWVTb3VyY2VF
bGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hl
Y2tGb3JTdHJpY3RNb2RlKTsKKyAgICBUcmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBh
cnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRh
cmRGdW5jdGlvblBhcnNlVHlwZSk7CiAgICAgZmFpbElmRmFsc2Uoc3RhdGVtZW50cywgIkNhbm5v
dCBwYXJzZSB0aGUgYm9keSBvZiBhIHN3aXRjaCBkZWZhdWx0IGNsYXVzZSIpOwogICAgIFRyZWVD
bGF1c2UgcmVzdWx0ID0gY29udGV4dC5jcmVhdGVDbGF1c2UoMCwgc3RhdGVtZW50cyk7CiAgICAg
Y29udGV4dC5zZXRTdGFydE9mZnNldChyZXN1bHQsIHN0YXJ0T2Zmc2V0KTsKQEAgLTExMzMsNyAr
MTE1OCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VCbG9ja1N0YXRlbWVuCiAgICAgICAgIGNvbnRleHQuc2V0RW5k
T2Zmc2V0KHJlc3VsdCwgZW5kT2Zmc2V0KTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9
Ci0gICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN1YnRyZWUgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNv
bnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUpOworICAgIFRyZWVTb3VyY2VFbGVtZW50cyBz
dWJ0cmVlID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RN
b2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICBmYWlsSWZGYWxzZShzdWJ0cmVl
LCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIHRoZSBibG9jayBzdGF0ZW1lbnQiKTsKICAgICBt
YXRjaE9yRmFpbChDTE9TRUJSQUNFLCAiRXhwZWN0ZWQgYSBjbG9zaW5nICd9JyBhdCB0aGUgZW5k
IG9mIGEgYmxvY2sgc3RhdGVtZW50Iik7CiAgICAgaW50IGVuZE9mZnNldCA9IG1fdG9rZW4ubV9k
YXRhLm9mZnNldDsKQEAgLTExNDUsNyArMTE3MCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VCbG9ja1N0YXRlbWVu
CiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Ci10ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50
KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNp
Z25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCkKK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1
aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBk
aXJlY3RpdmVMaXRlcmFsTGVuZ3RoLCBGdW5jdGlvblBhcnNlVHlwZSBwYXJzZVR5cGUpCiB7CiAg
ICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKICAgICBt
X3N0YXRlbWVudERlcHRoKys7CkBAIC0xMTU0LDYgKzExNzksMjMgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRl
bWVudChUcmUKICAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7CiAgICAgVHJlZVN0YXRlbWVudCBy
ZXN1bHQgPSAwOwogICAgIGJvb2wgc2hvdWxkU2V0RW5kT2Zmc2V0ID0gdHJ1ZTsKKworI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJv
d0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsK
KyAgICAgICAgY2FzZSBDTE9TRVBBUkVOOgorICAgICAgICBjYXNlIENMT1NFQlJBQ0tFVDoKKyAg
ICAgICAgY2FzZSBDT01NQToKKyAgICAgICAgY2FzZSBTRU1JQ09MT046IHsKKyAgICAgICAgICAg
IHJlc3VsdCA9IDA7CisgICAgICAgICAgICBjb250ZXh0LnNldEVuZE9mZnNldChyZXN1bHQsIG1f
bGFzdFRva2VuRW5kUG9zaXRpb24ub2Zmc2V0KTsKKyAgICAgICAgICAgIHJldHVybiByZXN1bHQ7
CisgICAgICAgIH0KKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICB9CisgICAgfQorI2VuZGlmCiAgICAgc3dpdGNoIChtX3Rva2VuLm1fdHlwZSkgewogICAgIGNh
c2UgT1BFTkJSQUNFOgogICAgICAgICByZXN1bHQgPSBwYXJzZUJsb2NrU3RhdGVtZW50KGNvbnRl
eHQpOwpAQCAtMTE5OSw2ICsxMjQxLDE1IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAg
Y2FzZSBCUkVBSzoKICAgICAgICAgcmVzdWx0ID0gcGFyc2VCcmVha1N0YXRlbWVudChjb250ZXh0
KTsKICAgICAgICAgYnJlYWs7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICBjYXNlIEFSUk9XRlVOQ1RJT046CisgICAgICAgIHJlc3VsdCA9IHBhcnNlQXJyb3dGdW5j
dGlvblN0YXRlbWVudChjb250ZXh0KTsKKyAgICAgICAgLy8gQ29uc3VtZSB0aGUgZW5kIG9mIGFy
cm93IGZ1bmN0aW9uICw7XSkgYW5kIHByZXZlbnQKKyAgICAgICAgLy8gcGFyc2UgdGhpcyBzeW1i
b2xzIGJ5IHBhcnNlU3RhdGVtZW50IGFzIHNlcGFyYXRlIHN0YXRlbWVudAorICAgICAgICBpZiAo
cGFyc2VUeXBlID09IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpCisgICAgICAgICAgICBuZXh0
KCk7CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgY2FzZSBSRVRVUk46CiAgICAgICAgIHJl
c3VsdCA9IHBhcnNlUmV0dXJuU3RhdGVtZW50KGNvbnRleHQpOwogICAgICAgICBicmVhazsKQEAg
LTEyNjMsMjAgKzEzMTQsMzQgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRm9y
bWFsUGFyYW1ldGVyTGlzdCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGb3IKIHRlbXBsYXRlIDx0
eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGdW5j
dGlvbkJvZHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25Cb2R5KAogICAgIFRyZWVC
dWlsZGVyJiBjb250ZXh0LCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5h
bWVTdGFydCwgCi0gICAgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kIGNvbnN0
cnVjdG9yS2luZCkKKyAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQgY29u
c3RydWN0b3JLaW5kLCBGdW5jdGlvblBhcnNlVHlwZSBwYXJzZVR5cGUpCiB7CiAgICAgSlNUb2tl
bkxvY2F0aW9uIHN0YXJ0TG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKICAgICB1bnNpZ25lZCBz
dGFydENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBlID09IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUp
IHsKKyAgICAgICAgbmV4dCgpOworICAgICAgICBpZiAobWF0Y2goQ0xPU0VCUkFDRSkpIHsKKyAg
ICAgICAgICAgIHVuc2lnbmVkIGVuZENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CisgICAgICAgICAg
ICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgdG9rZW5M
b2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBmdW5jdGlvbktleXdvcmRTdGFydCwg
ZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgc3RyaWN0TW9kZSgpLCBjb25zdHJ1
Y3RvcktpbmQpOworICAgICAgICB9CisgICAgfQorI2Vsc2UKICAgICBuZXh0KCk7Ci0KICAgICBp
ZiAobWF0Y2goQ0xPU0VCUkFDRSkpIHsKICAgICAgICAgdW5zaWduZWQgZW5kQ29sdW1uID0gdG9r
ZW5Db2x1bW4oKTsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0
YXJ0TG9jYXRpb24sIHRva2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgZnVu
Y3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0
cmljdE1vZGUoKSwgY29uc3RydWN0b3JLaW5kKTsKICAgICB9CisjZW5kaWYKKwogICAgIERlcHRo
TWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7CiAgICAgbV9zdGF0ZW1l
bnREZXB0aCA9IDA7CiAgICAgdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkZ1bmN0aW9uQm9keUJ1aWxk
ZXIgYm9keUJ1aWxkZXIoY29uc3RfY2FzdDxWTSo+KG1fdm0pLCBtX2xleGVyLmdldCgpKTsKLSAg
ICBmYWlsSWZGYWxzZShwYXJzZVNvdXJjZUVsZW1lbnRzKGJvZHlCdWlsZGVyLCBDaGVja0ZvclN0
cmljdE1vZGUpLCAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBmdW5jdGlvbiIpOworI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgZmFpbElmRmFsc2UocGFyc2VTb3Vy
Y2VFbGVtZW50cyhib2R5QnVpbGRlciwgQ2hlY2tGb3JTdHJpY3RNb2RlLCBwYXJzZVR5cGUpLCBw
YXJzZVR5cGUgPT0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSA/ICJDYW5ub3QgcGFyc2UgYm9k
eSBvZiB0aGlzIGZ1bmN0aW9uIiA6ICJDYW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGFycm93IGZ1
bmN0aW9uIik7CisjZWxzZQorICAgIGZhaWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMoYm9k
eUJ1aWxkZXIsIENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSks
ICJDYW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGZ1bmN0aW9uIik7CisjZW5kaWYKICAgICB1bnNp
Z25lZCBlbmRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOwogICAgIHJldHVybiBjb250ZXh0LmNyZWF0
ZUZ1bmN0aW9uQm9keShzdGFydExvY2F0aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0YXJ0Q29sdW1u
LCBlbmRDb2x1bW4sIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFy
YW1ldGVyc1N0YXJ0LCBzdHJpY3RNb2RlKCksIGNvbnN0cnVjdG9yS2luZCk7CiB9CkBAIC0xMzM3
LDI4ICsxNDAyLDc2IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+IHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gaW50IFBhcnNlcjxMZXhlclR5cGU+CiAgICAgCiAgICAgcmV0dXJu
IHBhcmFtZXRlcnNTdGFydDsKIH0KKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IGludCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uUGFyYW10ZXJz
KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLCBQYXJzZXJGdW5j
dGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvKQoreworICAgIGludCBwYXJhbWV0ZXJzU3RhcnQg
PSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CisgICAgaWYgKCFtYXRjaChJREVOVCkg
JiYgIW1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgc2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3
b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7CisgICAgICAgIGZhaWxX
aXRoTWVzc2FnZSgiRXhwZWN0ZWQgYW4gYXJyb3cgZnVuY3Rpb24gaW5wdXQgcGFyYW1ldGVyIik7
CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAg
ICAgIGNvbnN1bWUoT1BFTlBBUkVOKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYgKCFt
YXRjaChDTE9TRVBBUkVOKSkgeworICAgICAgICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9IHBh
cnNlRm9ybWFsUGFyYW1ldGVycyhjb250ZXh0KTsKKyAgICAgICAgICAgICAgICBmYWlsSWZGYWxz
ZShpbmZvLnBhcmFtZXRlcnMsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAiLCBz
dHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
CisgICAgICAgICAgICBjb25zdW1lT3JGYWlsKENMT1NFUEFSRU4sICJFeHBlY3RlZCBhICcpJyBv
ciBhICcsJyBhZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgYXV0byBwYXJhbWV0ZXIgPSBwYXJzZURlY29uc3RydWN0aW9uUGF0dGVy
bihjb250ZXh0LCBEZWNvbnN0cnVjdFRvUGFyYW1ldGVycyk7CisgICAgICAgICAgICBmYWlsSWZG
YWxzZShwYXJhbWV0ZXIsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVyIHBhdHRlcm4iKTsKKyAgICAg
ICAgICAgIGluZm8ucGFyYW1ldGVycyA9IGNvbnRleHQuY3JlYXRlRm9ybWFsUGFyYW1ldGVyTGlz
dChwYXJhbWV0ZXIpOworICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJzLCAi
Q2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2Rl
KG1vZGUpKTsKKyAgICAgICAgfQorICAgIH0KICAgICAKKyAgICByZXR1cm4gcGFyYW1ldGVyc1N0
YXJ0OworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rp
b25JbmZvKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblJlcXVpcmVtZW50cyByZXF1aXJl
bWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUsCi0gICAgYm9vbCBuYW1lSXNJbkNvbnRhaW5p
bmdTY29wZSwgQ29uc3RydWN0b3JLaW5kIG93bmVyQ2xhc3NLaW5kLCBpbnQgZnVuY3Rpb25LZXl3
b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mIGluZm8pCisgICAgYm9v
bCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kIG93bmVyQ2xhc3NLaW5k
LCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRl
cj4mIGluZm8sIEZ1bmN0aW9uUGFyc2VUeXBlIHBhcnNlVHlwZSkKIHsKICAgICBBdXRvUG9wU2Nv
cGVSZWYgZnVuY3Rpb25TY29wZSh0aGlzLCBwdXNoU2NvcGUoKSk7CiAgICAgZnVuY3Rpb25TY29w
ZS0+c2V0SXNGdW5jdGlvbigpOwogICAgIGludCBmdW5jdGlvbk5hbWVTdGFydCA9IG1fdG9rZW4u
bV9sb2NhdGlvbi5zdGFydE9mZnNldDsKICAgICBjb25zdCBJZGVudGlmaWVyKiBsYXN0RnVuY3Rp
b25OYW1lID0gbV9sYXN0RnVuY3Rpb25OYW1lOwogICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IG51
bGxwdHI7CisgICAgaW50IHBhcmFtZXRlcnNTdGFydDsKKyAgICBib29sIGlzQ2xhc3NDb25zdHJ1
Y3RvcjsKICAgICAKLSAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0ID0gcGFyc2VGdW5jdGlvblBhcmFt
dGVycyhjb250ZXh0LCByZXF1aXJlbWVudHMsIG1vZGUsIG5hbWVJc0luQ29udGFpbmluZ1Njb3Bl
LCBmdW5jdGlvblNjb3BlLCBpbmZvKTsKLQotICAgIG1hdGNoT3JGYWlsKE9QRU5CUkFDRSwgIkV4
cGVjdGVkIGFuIG9wZW5pbmcgJ3snIGF0IHRoZSBzdGFydCBvZiBhICIsIHN0cmluZ0ZvckZ1bmN0
aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7Ci0KLSAgICAvLyBCeXRlY29kZUdlbmVyYXRvciBlbWl0
cyBjb2RlIHRvIHRocm93IFR5cGVFcnJvciB3aGVuIGEgY2xhc3MgY29uc3RydWN0b3IgaXMgImNh
bGwiZWQuCi0gICAgLy8gU2V0IENvbnN0cnVjdG9yS2luZCB0byBOb25lIGZvciBub24tY29uc3Ry
dWN0b3IgbWV0aG9kcyBvZiBjbGFzc2VzLgotICAgIGJvb2wgaXNDbGFzc0NvbnN0cnVjdG9yID0g
bW9kZSA9PSBNZXRob2RNb2RlICYmIGluZm8ubmFtZSAmJiAqaW5mby5uYW1lID09IG1fdm0tPnBy
b3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yOwotICAgIGlmIChtX2RlZmF1bHRDb25zdHJ1Y3Rvcktp
bmQgIT0gQ29uc3RydWN0b3JLaW5kOjpOb25lKSB7Ci0gICAgICAgIG93bmVyQ2xhc3NLaW5kID0g
bV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kOwotICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSB0
cnVlOworICAgIHN3aXRjaCAocGFyc2VUeXBlKSB7CisgICAgY2FzZSBTdGFuZGFyZEZ1bmN0aW9u
UGFyc2VUeXBlOiB7CisgICAgICAgIHBhcmFtZXRlcnNTdGFydCA9IHBhcnNlRnVuY3Rpb25QYXJh
bXRlcnMoY29udGV4dCwgcmVxdWlyZW1lbnRzLCBtb2RlLCBuYW1lSXNJbkNvbnRhaW5pbmdTY29w
ZSwgZnVuY3Rpb25TY29wZSwgaW5mbyk7CisgICAgICAgICAgICAKKyAgICAgICAgbWF0Y2hPckZh
aWwoT1BFTkJSQUNFLCAiRXhwZWN0ZWQgYW4gb3BlbmluZyAneycgYXQgdGhlIHN0YXJ0IG9mIGEg
Iiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgCisgICAg
ICAgIC8vIEJ5dGVjb2RlR2VuZXJhdG9yIGVtaXRzIGNvZGUgdG8gdGhyb3cgVHlwZUVycm9yIHdo
ZW4gYSBjbGFzcyBjb25zdHJ1Y3RvciBpcyAiY2FsbCJlZC4KKyAgICAgICAgLy8gU2V0IENvbnN0
cnVjdG9yS2luZCB0byBOb25lIGZvciBub24tY29uc3RydWN0b3IgbWV0aG9kcyBvZiBjbGFzc2Vz
LgorICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSBtb2RlID09IE1ldGhvZE1vZGUgJiYgaW5m
by5uYW1lICYmICppbmZvLm5hbWUgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3I7
CisgICAgICAgIGlmIChtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQgIT0gQ29uc3RydWN0b3JLaW5k
OjpOb25lKSB7CisgICAgICAgICAgICBvd25lckNsYXNzS2luZCA9IG1fZGVmYXVsdENvbnN0cnVj
dG9yS2luZDsKKyAgICAgICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IHRydWU7CisgICAgICAg
IH0KKyAgICAgICAgYnJlYWs7CiAgICAgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgY2FzZSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlOiB7CisgICAgICAgIHBhcmFt
ZXRlcnNTdGFydCA9IHBhcnNlQXJyb3dGdW5jdGlvblBhcmFtdGVycyhjb250ZXh0LCBtb2RlLCBp
bmZvKTsKKyAgICAgICAgCisgICAgICAgIG1hdGNoT3JGYWlsKEFSUk9XRlVOQ1RJT04sICJFeHBl
Y3RlZCBhICc9PicgYWZ0ZXIgYXJyb3cgZnVuY3Rpb24gcGFyYW1ldGVyIGRlY2xhcmF0aW9uIik7
CisgICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IGZhbHNlOworICAgICAgICAKKyAgICAgICAg
aW5mby5hcnJvd0Z1bmN0aW9uT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgICAg
ICBicmVhazsKKyAgICB9CisjZW5kaWYKKyAgICB9CisKICAgICBDb25zdHJ1Y3RvcktpbmQgY29u
c3RydWN0b3JLaW5kID0gaXNDbGFzc0NvbnN0cnVjdG9yID8gb3duZXJDbGFzc0tpbmQgOiBDb25z
dHJ1Y3RvcktpbmQ6Ok5vbmU7CiAKICAgICBpbmZvLm9wZW5CcmFjZU9mZnNldCA9IG1fdG9rZW4u
bV9kYXRhLm9mZnNldDsKQEAgLTEzOTIsOCArMTUwNSwxNSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVC
dWlsZAogICAgICAgICBmYWlsSWZGYWxzZShwb3BTY29wZShmdW5jdGlvblNjb3BlLCBUcmVlQnVp
bGRlcjo6TmVlZHNGcmVlVmFyaWFibGVJbmZvKSwgIlBhcnNlciBlcnJvciIpOwogICAgICAgICAK
ICAgICAgICAgaW5mby5jbG9zZUJyYWNlT2Zmc2V0ID0gY2FjaGVkSW5mby0+Y2xvc2VCcmFjZU9m
ZnNldDsKLQotICAgICAgICBtX3Rva2VuID0gY2FjaGVkSW5mby0+Y2xvc2VCcmFjZVRva2VuKCk7
CisgICAgICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAg
IGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkKKyAgICAgICAgICAgIGlu
Zm8uZnVuY3Rpb25Cb2R5VHlwZSA9IGNhY2hlZEluZm8tPmlzQm9keUFycm93RXhwcmVzc2lvbiA/
ICBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24gOiBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgICBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPSBTdGFuZGFy
ZEZ1bmN0aW9uQm9keUJsb2NrOworI2VuZGlmCisgICAgICAgIG1fdG9rZW4gPSBjYWNoZWRJbmZv
LT5lbmRGdW5jdGlvblRva2VuKCk7CisgICAgICAgIAogICAgICAgICBpZiAoZW5kQ29sdW1uSXNP
blN0YXJ0TGluZSkKICAgICAgICAgICAgIG1fdG9rZW4ubV9sb2NhdGlvbi5saW5lU3RhcnRPZmZz
ZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0OwogCkBAIC0xNDAyLDEzICsxNTIyLDQzIEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VG
dW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAKICAgICAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQoaW5m
by5ib2R5LCBtX2xleGVyLT5jdXJyZW50T2Zmc2V0KCkpOwogICAgICAgICAKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAocGFyc2VUeXBlICE9IEFycm93
RnVuY3Rpb25QYXJzZVR5cGUgfHwgaW5mby5mdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rp
b25Cb2R5QmxvY2spCisgICAgICAgICAgICBuZXh0KCk7CisjZWxzZQogICAgICAgICBuZXh0KCk7
CisjZW5kaWYKICAgICAgICAgaW5mby5ib2R5RW5kTGluZSA9IG1fbGFzdFRva2VuRW5kUG9zaXRp
b24ubGluZTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQorICAgIAogICAgIG1fbGFzdEZ1
bmN0aW9uTmFtZSA9IGxhc3RGdW5jdGlvbk5hbWU7CiAgICAgUGFyc2VyU3RhdGUgb2xkU3RhdGUg
PSBzYXZlU3RhdGUoKTsKLSAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0
LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFy
dCwgY29uc3RydWN0b3JLaW5kKTsKKyAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgewor
ICAgICAgICBTYXZlUG9pbnQgc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgICAg
IG5leHQoKTsKKyAgICAgICAgLy8gQ2hlY2sgaWYgYXJyb3cgYm9keSBzdGFydCB3aXRoIHsuIElm
IGl0IHRydWUgaXQgbWVhbiB0aGF0IGFycm93IGZ1bmN0aW9uIGlzIEZhdCBhcnJvdyBmdW5jdGlv
bgorICAgICAgICAvLyBhbmQgd2UgbmVlZCB1c2UgY29tbW9uIGFwcHJvYWNoIHRvIHBhcnNlIGZ1
bmN0aW9uIGJvZHkKKyAgICAgICAgaW5mby5mdW5jdGlvbkJvZHlUeXBlID0gbWF0Y2goT1BFTkJS
QUNFKSA/IEFycm93RnVuY3Rpb25Cb2R5QmxvY2sgOiBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Np
b247CisgICAgCisgICAgICAgIGlmIChpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5j
dGlvbkJvZHlCbG9jaykgeworICAgICAgICAgICAgaW5mby5vcGVuQnJhY2VPZmZzZXQgPSBtX3Rv
a2VuLm1fZGF0YS5vZmZzZXQ7CisgICAgICAgICAgICBpbmZvLmJvZHlTdGFydExpbmUgPSB0b2tl
bkxpbmUoKTsKKyAgICAgICAgICAgIGluZm8uYm9keVN0YXJ0Q29sdW1uID0gbV90b2tlbi5tX2Rh
dGEub2Zmc2V0IC0gbV90b2tlbi5tX2RhdGEubGluZVN0YXJ0T2Zmc2V0OworICAgICAgICAKKyAg
ICAgICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9u
S2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1
Y3RvcktpbmQsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOworICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlUG9pbnQpOworICAgICAgICAgICAgaW5m
by5ib2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQs
IGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCwgQXJy
b3dGdW5jdGlvblBhcnNlVHlwZSk7CisgICAgICAgIH0KKyAgICB9IGVsc2UKKyAgICAgICAgaW5m
by5ib2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQs
IGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCwgU3Rh
bmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CisjZWxzZQorICAgIGluZm8uYm9keSA9IHBhcnNlRnVu
Y3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFy
dCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQsIFN0YW5kYXJkRnVuY3Rpb25QYXJz
ZVR5cGUpOworI2VuZGlmCisgICAgCiAgICAgcmVzdG9yZVN0YXRlKG9sZFN0YXRlKTsKICAgICBm
YWlsSWZGYWxzZShpbmZvLmJvZHksICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgdGhpcyAiLCBz
dHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOwogICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KGlu
Zm8uYm9keSwgbV9sZXhlci0+Y3VycmVudE9mZnNldCgpKTsKQEAgLTE0MzksMTggKzE1ODksMzIg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJyYWNl
TGluZSA9IGNsb3NlQnJhY2VMaW5lOwogICAgICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VPZmZz
ZXQgPSBpbmZvLmNsb3NlQnJhY2VPZmZzZXQ7CiAgICAgICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFj
ZUxpbmVTdGFydE9mZnNldCA9IGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQ7CisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJv
d0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgICAgICBwYXJhbWV0ZXJzLmlzQm9keUFycm93
RXhwcmVzc2lvbiA9IGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUV4
cHJlc3Npb247CisgICAgICAgICAgICBwYXJhbWV0ZXJzLnRva2VuVHlwZSA9IG1fdG9rZW4ubV90
eXBlOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgZnVuY3Rpb25TY29wZS0+ZmlsbFBhcmFt
ZXRlcnNGb3JTb3VyY2VQcm92aWRlckNhY2hlKHBhcmFtZXRlcnMpOwogICAgICAgICBuZXdJbmZv
ID0gU291cmNlUHJvdmlkZXJDYWNoZUl0ZW06OmNyZWF0ZShwYXJhbWV0ZXJzKTsKLQogICAgIH0K
ICAgICAKICAgICBmYWlsSWZGYWxzZShwb3BTY29wZShmdW5jdGlvblNjb3BlLCBUcmVlQnVpbGRl
cjo6TmVlZHNGcmVlVmFyaWFibGVJbmZvKSwgIlBhcnNlciBlcnJvciIpOworICAgIAorI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaWYgKChwYXJzZVR5cGUgPT0gQXJy
b3dGdW5jdGlvblBhcnNlVHlwZSAmJiBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5j
dGlvbkJvZHlCbG9jaykgfHwgcGFyc2VUeXBlICE9IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsK
KyAgICAgICAgbWF0Y2hPckZhaWwoQ0xPU0VCUkFDRSwgIkV4cGVjdGVkIGEgY2xvc2luZyAnfScg
YWZ0ZXIgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOworICAgICAg
ICBuZXh0KCk7CisgICAgfSBlbHNlCisgICAgICAgIGZhaWxJZkZhbHNlKGlzRW5kT2ZBcnJvd0Z1
bmN0aW9uKCksICJFeHBlY3RlZCB0aGUgY2xvc2luZyAnOycgJywnICddJyAnKScgJ30nIGFmdGVy
IGFycm93IGZ1bmN0aW9uIik7CisjZWxzZQogICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0UsICJF
eHBlY3RlZCBhIGNsb3NpbmcgJ30nIGFmdGVyIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1v
ZGUpLCAiIGJvZHkiKTsKKyAgICBuZXh0KCk7CisjZW5kaWYKICAgICAKICAgICBpZiAobmV3SW5m
bykKICAgICAgICAgbV9mdW5jdGlvbkNhY2hlLT5hZGQoaW5mby5vcGVuQnJhY2VPZmZzZXQsIFdU
Rjo6bW92ZShuZXdJbmZvKSk7CiAgICAgCi0gICAgbmV4dCgpOwogICAgIGluZm8uYm9keUVuZExp
bmUgPSBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmU7CiAgICAgcmV0dXJuIHRydWU7CiB9CkBA
IC0xNDYzLDcgKzE2MjcsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0
ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25EZWNsYQogICAgIHVuc2lnbmVk
IGZ1bmN0aW9uS2V5d29yZFN0YXJ0ID0gdG9rZW5TdGFydCgpOwogICAgIG5leHQoKTsKICAgICBQ
YXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87Ci0gICAgZmFpbElmRmFsc2UoKHBh
cnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTmVlZHNOYW1lLCBGdW5jdGlvbk1vZGUs
IHRydWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8p
KSwgIkNhbm5vdCBwYXJzZSB0aGlzIGZ1bmN0aW9uIik7CisgICAgZmFpbElmRmFsc2UoKHBhcnNl
RnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTmVlZHNOYW1lLCBGdW5jdGlvbk1vZGUsIHRy
dWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8sIFN0
YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSB0aGlzIGZ1bmN0aW9uIik7
CiAgICAgZmFpbElmRmFsc2UoaW5mby5uYW1lLCAiRnVuY3Rpb24gc3RhdGVtZW50cyBtdXN0IGhh
dmUgYSBuYW1lIik7CiAgICAgZmFpbElmRmFsc2VJZlN0cmljdChkZWNsYXJlVmFyaWFibGUoaW5m
by5uYW1lKSwgIkNhbm5vdCBkZWNsYXJlIGEgZnVuY3Rpb24gbmFtZWQgJyIsIGluZm8ubmFtZS0+
aW1wbCgpLCAiJyBpbiBzdHJpY3QgbW9kZSIpOwogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1
bmNEZWNsU3RhdGVtZW50KGxvY2F0aW9uLCBpbmZvKTsKQEAgLTE1NTgsNyArMTcyMiw3IEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUNsYXNzRXhwcmVzc2lvbiBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VDbGFzcyhUCiAgICAgICAgICAgICBmYWlsSWZGYWxzZShwcm9wZXJ0eSwg
IkNhbm5vdCBwYXJzZSB0aGlzIG1ldGhvZCIpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBtZXRob2RJbmZvOwotICAgICAgICAg
ICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTmVlZHNO
YW1lLCBpc1N0YXRpY01ldGhvZCA/IEZ1bmN0aW9uTW9kZSA6IE1ldGhvZE1vZGUsIGZhbHNlLCBj
b25zdHJ1Y3RvcktpbmQsIG1ldGhvZFN0YXJ0LCBtZXRob2RJbmZvKSksICJDYW5ub3QgcGFyc2Ug
dGhpcyBtZXRob2QiKTsKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5m
byhjb250ZXh0LCBGdW5jdGlvbk5lZWRzTmFtZSwgaXNTdGF0aWNNZXRob2QgPyBGdW5jdGlvbk1v
ZGUgOiBNZXRob2RNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBtZXRob2RTdGFydCwgbWV0
aG9kSW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIHRoaXMg
bWV0aG9kIik7CiAgICAgICAgICAgICBmYWlsSWZGYWxzZShtZXRob2RJbmZvLm5hbWUsICJtZXRo
b2QgbXVzdCBoYXZlIGEgbmFtZSIpOwogICAgICAgICAgICAgZmFpbElmRmFsc2UoZGVjbGFyZVZh
cmlhYmxlKG1ldGhvZEluZm8ubmFtZSksICJDYW5ub3QgZGVjbGFyZSBhIG1ldGhvZCBuYW1lZCAn
IiwgbWV0aG9kSW5mby5uYW1lLT5pbXBsKCksICInIik7CiAKQEAgLTE3NzQsNiArMTkzOCwxOCBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlSWZTdGF0ZW1lbnQoVAogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUlmU3Rh
dGVtZW50KGlmTG9jYXRpb24sIGNvbmRpdGlvbiwgdHJ1ZUJsb2NrLCBzdGF0ZW1lbnRTdGFjay5s
YXN0KCksIHN0YXJ0LCBlbmQpOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVu
Y3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQoreworICAgIGZhaWxJZlN0YWNr
T3ZlcmZsb3coKTsKKyAgICBUcmVlRXhwcmVzc2lvbiBub2RlID0gcGFyc2VBc3NpZ25tZW50RXhw
cmVzc2lvbihjb250ZXh0KTsKKyAgICBmYWlsSWZGYWxzZShub2RlLCAiQ2Fubm90IHBhcnNlIGV4
cHJlc3Npb24iKTsKKyAgICBjb250ZXh0LnNldEVuZE9mZnNldChub2RlLCBtX2xhc3RUb2tlbkVu
ZFBvc2l0aW9uLm9mZnNldCk7CisgICAgcmV0dXJuIG5vZGU7Cit9CisjZW5kaWYKKwogdGVtcGxh
dGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwcmVzc2lvbihUcmVlQnVpbGRl
ciYgY29udGV4dCkKIHsKQEAgLTE4MjEsNiArMTk5Nyw0MSBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUg
VHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzc2ln
bm1lbgogICAgICAgICB9CiAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKICAg
ICB9CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFNhdmVQb2lu
dCBzYXZlQXJyb3dGdW5jdGlvblBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgYm9vbCBh
cnJvd0Z1bmN0aW9uRW1wdHlMaXN0ID0gZmFsc2U7CisgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikp
IHsKKyAgICAgICAgbmV4dCgpOworICAgICAgICBpZiAobWF0Y2goQ0xPU0VQQVJFTikpIHsKKyAg
ICAgICAgICAgIG5leHQoKTsKKworICAgICAgICAgICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJT04p
KQorICAgICAgICAgICAgICAgIGFycm93RnVuY3Rpb25FbXB0eUxpc3QgPSB0cnVlOworICAgICAg
ICB9CisKKyAgICAgICAgaWYgKCFhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0KQorICAgICAgICAgICAg
cmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICB9CisKKyAgICBU
cmVlRXhwcmVzc2lvbiBsaHM7CisgICAgaWYgKCFhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0KSB7Cisg
ICAgICAgIGxocyA9IHBhcnNlQ29uZGl0aW9uYWxFeHByZXNzaW9uKGNvbnRleHQpOworICAgICAg
ICBmYWlsSWZGYWxzZShsaHMsICJDYW4Zbm90IHBhcnNlIGV4cHJlc3Npb24iKTsKKyAgICAgICAg
aWYgKGluaXRpYWxOb25MSFNDb3VudCAhPSBtX25vbkxIU0NvdW50KSB7CisgICAgICAgICAgICBp
ZiAobV90b2tlbi5tX3R5cGUgPj0gRVFVQUwgJiYgbV90b2tlbi5tX3R5cGUgPD0gT1JFUVVBTCkK
KyAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWwoIkxlZnQgaGFuZCBzaWRlIG9mIG9wZXJhdG9y
ICciLCBnZXRUb2tlbigpLCAiJyBtdXN0IGJlIGEgcmVmZXJlbmNlIik7CisKKyAgICAgICAgICAg
IHJldHVybiBsaHM7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAobWF0Y2goQVJST1dGVU5D
VElPTikpIHsKKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50
KTsKKyAgICAgICAgbGhzID0gcGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihjb250ZXh0KTsKKyAg
ICAgICAgcmV0dXJuIGxoczsKKyAgICB9CisjZWxzZQogICAgIFRyZWVFeHByZXNzaW9uIGxocyA9
IHBhcnNlQ29uZGl0aW9uYWxFeHByZXNzaW9uKGNvbnRleHQpOwogICAgIGZhaWxJZkZhbHNlKGxo
cywgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9uIik7CiAgICAgaWYgKGluaXRpYWxOb25MSFNDb3Vu
dCAhPSBtX25vbkxIU0NvdW50KSB7CkBAIC0xODI5LDcgKzIwNDAsOCBAQCB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUFzc2lnbm1lbgogCiAgICAgICAgIHJldHVybiBsaHM7CiAgICAgfQotICAgIAorI2VuZGlmCisK
ICAgICBpbnQgYXNzaWdubWVudFN0YWNrID0gMDsKICAgICBPcGVyYXRvciBvcDsKICAgICBib29s
IGhhZEFzc2lnbm1lbnQgPSBmYWxzZTsKQEAgLTIwNjEsNyArMjI3Myw3IEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
UHJvcGVydHlNZXRoCiAgICAgSlNUb2tlbkxvY2F0aW9uIG1ldGhvZExvY2F0aW9uKHRva2VuTG9j
YXRpb24oKSk7CiAgICAgdW5zaWduZWQgbWV0aG9kU3RhcnQgPSB0b2tlblN0YXJ0KCk7CiAgICAg
UGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBtZXRob2RJbmZvOwotICAgIGZhaWxJZkZh
bHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBN
ZXRob2RNb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBtZXRob2RTdGFydCwgbWV0
aG9kSW5mbykpLCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9kIik7CisgICAgZmFpbElmRmFsc2Uo
KHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIE1ldGhv
ZE1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIG1ldGhvZFN0YXJ0LCBtZXRob2RJ
bmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRo
b2QiKTsKICAgICBtZXRob2RJbmZvLm5hbWUgPSBtZXRob2ROYW1lOwogICAgIHJldHVybiBjb250
ZXh0LmNyZWF0ZUZ1bmN0aW9uRXhwcihtZXRob2RMb2NhdGlvbiwgbWV0aG9kSW5mbyk7CiB9CkBA
IC0yMDgzLDEwICsyMjk1LDEwIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVBy
b3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUdldHRlclNldHRlcihUCiAgICAgUGFyc2Vy
RnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOwogICAgIGlmICh0eXBlID09IFByb3BlcnR5
Tm9kZTo6R2V0dGVyKSB7CiAgICAgICAgIGZhaWxJZkZhbHNlKG1hdGNoKE9QRU5QQVJFTiksICJF
eHBlY3RlZCBhIHBhcmFtZXRlciBsaXN0IGZvciBnZXR0ZXIgZGVmaW5pdGlvbiIpOwotICAgICAg
ICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVp
cmVtZW50cywgR2V0dGVyTW9kZSwgZmFsc2UsIGNvbnN0cnVjdG9yS2luZCwgZ2V0dGVyT3JTZXR0
ZXJTdGFydE9mZnNldCwgaW5mbykpLCAiQ2Fubm90IHBhcnNlIGdldHRlciBkZWZpbml0aW9uIik7
CisgICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlv
bk5vUmVxdWlyZW1lbnRzLCBHZXR0ZXJNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBnZXR0
ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBpbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSks
ICJDYW5ub3QgcGFyc2UgZ2V0dGVyIGRlZmluaXRpb24iKTsKICAgICB9IGVsc2UgewogICAgICAg
ICBmYWlsSWZGYWxzZShtYXRjaChPUEVOUEFSRU4pLCAiRXhwZWN0ZWQgYSBwYXJhbWV0ZXIgbGlz
dCBmb3Igc2V0dGVyIGRlZmluaXRpb24iKTsKLSAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVu
Y3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIFNldHRlck1vZGUsIGZh
bHNlLCBjb25zdHJ1Y3RvcktpbmQsIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIGluZm8pKSwg
IkNhbm5vdCBwYXJzZSBzZXR0ZXIgZGVmaW5pdGlvbiIpOworICAgICAgICBmYWlsSWZGYWxzZSgo
cGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgU2V0dGVy
TW9kZSwgZmFsc2UsIGNvbnN0cnVjdG9yS2luZCwgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwg
aW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIHNldHRlciBk
ZWZpbml0aW9uIik7CiAgICAgfQogICAgIGlmIChzdHJpbmdQcm9wZXJ0eU5hbWUpCiAgICAgICAg
IHJldHVybiBjb250ZXh0LmNyZWF0ZUdldHRlck9yU2V0dGVyUHJvcGVydHkobG9jYXRpb24sIHR5
cGUsIHN0cmljdCwgc3RyaW5nUHJvcGVydHlOYW1lLCBpbmZvLCBzdXBlckJpbmRpbmcpOwpAQCAt
MjI3NSw3ICsyNDg3LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVz
c2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAgbmV4dCgp
OwogICAgICAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87CiAgICAgICAg
IGluZm8ubmFtZSA9ICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllcjsKLSAgICAg
ICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1
aXJlbWVudHMsIEZ1bmN0aW9uTW9kZSwgZmFsc2UsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgZnVu
Y3Rpb25LZXl3b3JkU3RhcnQsIGluZm8pKSwgIkNhbm5vdCBwYXJzZSBmdW5jdGlvbiBleHByZXNz
aW9uIik7CisgICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBG
dW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlvbk1vZGUsIGZhbHNlLCBDb25zdHJ1Y3Rvcktp
bmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFy
c2VUeXBlKSksICJDYW5ub3QgcGFyc2UgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOwogICAgICAgICBy
ZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkV4cHIobG9jYXRpb24sIGluZm8pOwogICAgIH0K
ICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKQEAgLTIzMDQsNiArMjUxNiwyMyBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZVByaW1hcnlFeHByZQogICAgICAgICByZXR1cm4gY29udGV4dC50aGlzRXhwcihsb2Nh
dGlvbiwgbV90aGlzVERaTW9kZSk7CiAgICAgfQogICAgIGNhc2UgSURFTlQ6IHsKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBTYXZlUG9pbnQgc2F2ZUFycm93
RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgICAgICBKU1RleHRQb3NpdGlv
biBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgICAgICBjb25zdCBJZGVudGlmaWVy
KiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OworICAgICAgICBKU1Rva2VuTG9jYXRpb24g
bG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICAgICAgbmV4dCgpOworCisgICAgICAgIGlm
ICghbWF0Y2goQVJST1dGVU5DVElPTikpIHsKKyAgICAgICAgICAgIGN1cnJlbnRTY29wZSgpLT51
c2VWYXJpYWJsZShpZGVudCwgbV92bS0+cHJvcGVydHlOYW1lcy0+ZXZhbCA9PSAqaWRlbnQpOwor
ICAgICAgICAgICAgbV9sYXN0SWRlbnRpZmllciA9IGlkZW50OworICAgICAgICAgICAgcmV0dXJu
IGNvbnRleHQuY3JlYXRlUmVzb2x2ZShsb2NhdGlvbiwgaWRlbnQsIHN0YXJ0KTsKKyAgICAgICAg
fQorCisgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7Cisg
ICAgICAgIFRyZWVFeHByZXNzaW9uIGxocyA9IHBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoY29u
dGV4dCk7CisgICAgICAgIHJldHVybiBsaHM7CisjZWxzZQogICAgICAgICBKU1RleHRQb3NpdGlv
biBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOwogICAgICAgICBjb25zdCBJZGVudGlmaWVy
KiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICBKU1Rva2VuTG9jYXRpb24g
bG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKQEAgLTIzMTEsNiArMjU0MCw3IEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlUHJpbWFyeUV4cHJlCiAgICAgICAgIGN1cnJlbnRTY29wZSgpLT51c2VWYXJpYWJsZShpZGVu
dCwgbV92bS0+cHJvcGVydHlOYW1lcy0+ZXZhbCA9PSAqaWRlbnQpOwogICAgICAgICBtX2xhc3RJ
ZGVudGlmaWVyID0gaWRlbnQ7CiAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJlc29sdmUo
bG9jYXRpb24sIGlkZW50LCBzdGFydCk7CisjZW5kaWYKICAgICB9CiAgICAgY2FzZSBTVFJJTkc6
IHsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVu
dDsKQEAgLTI0OTgsNiArMjcyOCwzMiBAQCBlbmRNZW1iZXJFeHByZXNzaW9uOgogICAgIHJldHVy
biBiYXNlOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBs
YXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVy
KFRyZWVCdWlsZGVyJiBjb250ZXh0KQoreworICAgIFRyZWVFeHByZXNzaW9uIGJhc2UgPSAwOwor
ICAgIEpTVGV4dFBvc2l0aW9uIGV4cHJlc3Npb25TdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigp
OworICAgIGludCBuZXdDb3VudCA9IDA7CisgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uOwor
CisgICAgaWYgKG1hdGNoKElERU5UKSB8fCBtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgIHVu
c2lnbmVkIGZ1bmN0aW9uS2V5d29yZFN0YXJ0ID0gdG9rZW5TdGFydCgpOworICAgICAgICBsb2Nh
dGlvbiA9IHRva2VuTG9jYXRpb24oKTsKKyAgICAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVC
dWlsZGVyPiBpbmZvOworICAgICAgICBpbmZvLm5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1lcy0+
bnVsbElkZW50aWZpZXI7CisgICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhj
b250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlvbk1vZGUsIHRydWUsIENvbnN0
cnVjdG9yS2luZDo6Tm9uZSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8sIEFycm93RnVuY3Rp
b25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uIik7
CisgICAgICAgIGJhc2UgPSBjb250ZXh0LmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKGxvY2F0aW9u
LCBpbmZvKTsKKyAgICB9IGVsc2UKKyAgICAgICAgYmFzZSA9IHBhcnNlUHJpbWFyeUV4cHJlc3Np
b24oY29udGV4dCk7CisKKyAgICBmYWlsSWZGYWxzZShiYXNlLCAiQ2Fubm90IHBhcnNlIGJhc2Ug
ZXhwcmVzc2lvbiIpOworICAgIHdoaWxlIChuZXdDb3VudC0tKQorICAgICAgICBiYXNlID0gY29u
dGV4dC5jcmVhdGVOZXdFeHByKGxvY2F0aW9uLCBiYXNlLCBleHByZXNzaW9uU3RhcnQsIGxhc3RU
b2tlbkVuZFBvc2l0aW9uKCkpOworICAgIHJldHVybiBiYXNlOworfQorI2VuZGlmCisKIHN0YXRp
YyBjb25zdCBjaGFyKiBvcGVyYXRvclN0cmluZyhib29sIHByZWZpeCwgdW5zaWduZWQgdG9rKQog
ewogICAgIHN3aXRjaCAodG9rKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1BhcnNlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaApp
bmRleCA3OGJhZmZhMGUxNzczYzgyMDY5OGI5MjAzZjBmNmEzZDdhZDMyZWM0Li4wNWNjZDRhNTA0
ODg3NGIwY2U5ZDdkOWNhNzJmY2IxOTdiYjc2NDI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvUGFyc2VyLmgKQEAgLTgwLDYgKzgwLDExIEBAIGNsYXNzIFNvdXJjZUNvZGU7CiBDT01QSUxF
X0FTU0VSVChMYXN0VW50YWdnZWRUb2tlbiA8IDY0LCBMZXNzVGhhbjY0VW50YWdnZWRUb2tlbnMp
OwogCiBlbnVtIFNvdXJjZUVsZW1lbnRzTW9kZSB7IENoZWNrRm9yU3RyaWN0TW9kZSwgRG9udENo
ZWNrRm9yU3RyaWN0TW9kZSB9OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CitlbnVtIEZ1bmN0aW9uUGFyc2VUeXBlIHsgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSwgQXJy
b3dGdW5jdGlvblBhcnNlVHlwZSB9OworI2Vsc2UKK2VudW0gRnVuY3Rpb25QYXJzZVR5cGUgeyBT
dGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlfTsKKyNlbmRpZgogZW51bSBGdW5jdGlvblJlcXVpcmVt
ZW50cyB7IEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEZ1bmN0aW9uTmVlZHNOYW1lIH07CiBlbnVt
IEZ1bmN0aW9uUGFyc2VNb2RlIHsKICAgICBGdW5jdGlvbk1vZGUsCkBAIC02MTgsNiArNjIzLDEz
IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBtX3Rva2VuLm1fdHlwZSA9PSBJREVOVCAmJiAq
bV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+b2Y7CiAgICAgfQog
ICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgQUxXQVlTX0lO
TElORSBib29sIGlzRW5kT2ZBcnJvd0Z1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiBt
YXRjaChTRU1JQ09MT04pIHx8IG1hdGNoKENPTU1BKSB8fCBtYXRjaChDTE9TRVBBUkVOKSB8fCBt
YXRjaChDTE9TRUJSQUNFKSB8fCBtYXRjaChDTE9TRUJSQUNLRVQpOworICAgIH0KKyNlbmRpZgor
ICAgIAogICAgIEFMV0FZU19JTkxJTkUgdW5zaWduZWQgdG9rZW5TdGFydCgpCiAgICAgewogICAg
ICAgICByZXR1cm4gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OwpAQCAtNzIxLDkgKzcz
Myw5IEBAIHByaXZhdGU6CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9
Ci0gICAgCi0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVu
dHMgcGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYsIFNvdXJjZUVsZW1lbnRzTW9kZSk7
Ci0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3Rh
dGVtZW50KFRyZWVCdWlsZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWdu
ZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwKTsKKworICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1
aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUsIEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyAgICB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VTdGF0ZW1lbnQoVHJl
ZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0
aXZlTGl0ZXJhbExlbmd0aCA9IDAsIEZ1bmN0aW9uUGFyc2VUeXBlIHR5cGUgPSBTdGFuZGFyZEZ1
bmN0aW9uUGFyc2VUeXBlKTsKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VDbGFzc0RlY2xhcmF0
aW9uKFRyZWVCdWlsZGVyJik7CiAjZW5kaWYKQEAgLTc2MiwxOSArNzc0LDI2IEBAIHByaXZhdGU6
CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgcGFyc2VQcm9w
ZXJ0eShUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlUHJvcGVydHlNZXRob2QoVHJlZUJ1aWxkZXIm
IGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqIG1ldGhvZE5hbWUpOwogICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IHBhcnNlR2V0dGVyU2V0dGVyKFRyZWVCdWls
ZGVyJiwgYm9vbCBzdHJpY3QsIFByb3BlcnR5Tm9kZTo6VHlwZSwgdW5zaWduZWQgZ2V0dGVyT3JT
ZXR0ZXJTdGFydE9mZnNldCwgQ29uc3RydWN0b3JLaW5kID0gQ29uc3RydWN0b3JLaW5kOjpOb25l
LCBTdXBlckJpbmRpbmcgPSBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCk7Ci0gICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VG
dW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBm
dW5jdGlvbk5hbWVTdGFydCwgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kKTsK
KyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZ1bmN0
aW9uQm9keSBwYXJzZUZ1bmN0aW9uQm9keShUcmVlQnVpbGRlciYsIGludCBmdW5jdGlvbktleXdv
cmRTdGFydCwgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25z
dHJ1Y3RvcktpbmQsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZvcm1hbFBhcmFt
ZXRlckxpc3QgcGFyc2VGb3JtYWxQYXJhbWV0ZXJzKFRyZWVCdWlsZGVyJik7CiAgICAgZW51bSBW
YXJEZWNsYXJhdGlvbkxpc3RDb250ZXh0IHsgRm9yTG9vcENvbnRleHQsIFZhckRlY2xhcmF0aW9u
Q29udGV4dCB9OwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Np
b24gcGFyc2VWYXJEZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImLCBpbnQmIGRlY2xhcmF0aW9u
cywgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiYgbGFzdFBhdHRlcm4sIFRyZWVFeHByZXNzaW9u
JiBsYXN0SW5pdGlhbGl6ZXIsIEpTVGV4dFBvc2l0aW9uJiBpZGVudFN0YXJ0LCBKU1RleHRQb3Np
dGlvbiYgaW5pdFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdEVuZCwgVmFyRGVjbGFyYXRpb25M
aXN0Q29udGV4dCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJ
TkUgVHJlZUNvbnN0RGVjbExpc3QgcGFyc2VDb25zdERlY2xhcmF0aW9uTGlzdChUcmVlQnVpbGRl
ciYpOwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlQXJyb3dGdW5jdGlvbkV4
cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVTdGF0ZW1lbnQgcGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJik7
CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFy
cm93RnVuY3Rpb25XcmFwcGVyKFRyZWVCdWlsZGVyJik7CisjZW5kaWYKKwogICAgIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRl
cm4gY3JlYXRlQmluZGluZ1BhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0cnVjdGlvbktpbmQs
IGNvbnN0IElkZW50aWZpZXImLCBpbnQgZGVwdGgsIEpTVG9rZW4pOwogICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4g
cGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0cnVjdGlvbktp
bmQsIGludCBkZXB0aCA9IDApOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVW
RVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gdHJ5UGFyc2VEZWNvbnN0cnVjdGlv
blBhdHRlcm5FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7Ci0KLSAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBib29sIHBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWls
ZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlLCBib29sIG5hbWVJ
c0luQ29udGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQsIGludCBmdW5jdGlvbktleXdvcmRT
dGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYpOwotICAgIAogICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIGludCBwYXJzZUZ1bmN0aW9uUGFy
YW10ZXJzKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VN
b2RlLCBib29sLCBBdXRvUG9wU2NvcGVSZWYmLCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxk
ZXI+Jik7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBpbnQgcGFyc2VBcnJvd0Z1bmN0aW9u
UGFyYW10ZXJzKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25QYXJzZU1vZGUsIFBhcnNlckZ1bmN0aW9u
SW5mbzxUcmVlQnVpbGRlcj4mKTsKKyNlbmRpZgorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gTkVWRVJfSU5MSU5FIGJvb2wgcGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImLCBG
dW5jdGlvblJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUsIGJvb2wgbmFtZUlzSW5Db250
YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQ
YXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rp
b25QYXJzZVR5cGUpOwogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogICAgIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVDbGFzc0V4cHJlc3Npb24gcGFy
c2VDbGFzcyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzLCBQYXJzZXJDbGFzc0lu
Zm88VHJlZUJ1aWxkZXI+Jik7CiAjZW5kaWYKQEAgLTc5MSw2ICs4MTAsMTQgQEAgcHJpdmF0ZToK
ICAgICAgICAgcmV0dXJuIGFsbG93QXV0b21hdGljU2VtaWNvbG9uKCk7CiAgICAgfQogICAgIAor
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2b2lkIHNldEVuZE9m
U3RhdGVtZW50KCkKKyAgICB7CisgICAgICAgIG1fbGV4ZXItPnNldFRva2VuUG9zaXRpb24oJm1f
dG9rZW4pOworICAgIH0KKyNlbmRpZgorCiAgICAgYm9vbCBjYW5SZWN1cnNlKCkKICAgICB7CiAg
ICAgICAgIHJldHVybiBtX3ZtLT5pc1NhZmVUb1JlY3Vyc2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oCmluZGV4IDZiNzM2MjgyZTJk
MmE4MWJjNjNkYzJmM2MwZTVhZThjODU4Y2QxZjguLjBjZGUwYzY3YTlkZTBlZGYzNDE0NGUzMjc5
MWU1ZTkwYjRhMjE1MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyRnVuY3Rpb25JbmZvLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXJGdW5jdGlvbkluZm8uaApAQCAtMjgsNiArMjgsMTAgQEAKIAogbmFtZXNwYWNlIEpTQyB7
CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorZW51bSBGdW5jdGlvbkJv
ZHlUeXBlIHsgQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uLCBBcnJvd0Z1bmN0aW9uQm9keUJs
b2NrLCBTdGFuZGFyZEZ1bmN0aW9uQm9keUJsb2NrIH07CisjZW5kaWYKKwogdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPgogc3RydWN0IFBhcnNlckZ1bmN0aW9uSW5mbyB7CiAgICAgY29uc3Qg
SWRlbnRpZmllciogbmFtZSA9IDA7CkBAIC0zOCw2ICs0MiwxMSBAQCBzdHJ1Y3QgUGFyc2VyRnVu
Y3Rpb25JbmZvIHsKICAgICBpbnQgYm9keVN0YXJ0TGluZSA9IDA7CiAgICAgaW50IGJvZHlFbmRM
aW5lID0gMDsKICAgICB1bnNpZ25lZCBib2R5U3RhcnRDb2x1bW4gPSAwOworI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdW5zaWduZWQgYXJyb3dGdW5jdGlvbk9mZnNl
dCA9IDA7CisgICAgYm9vbCBpc0Fycm93RnVuY3Rpb24gPSBmYWxzZTsKKyAgICBGdW5jdGlvbkJv
ZHlUeXBlIGZ1bmN0aW9uQm9keVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uQm9keUJsb2NrOworI2Vu
ZGlmCiB9OwogCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAppbmRleCA4MzI5ZjgyYTliMmZmOTE1ZDFmMjQx
YzFmOGJmZmFkNDI0N2E1ZjBiLi5jOGIxNjZlMGVhZDdkMmRhNzE5ZTc2YzRhMmYwOWFmZjFkNzRk
N2FjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vu
cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKQEAg
LTc1LDYgKzc1LDkgQEAgZW51bSBKU1Rva2VuVHlwZSB7CiAgICAgRklOQUxMWSwKICAgICBERUJV
R0dFUiwKICAgICBFTFNFLAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgQVJST1dGVU5DVElPTiwKKyNlbmRpZgogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQog
ICAgIENMQVNTVE9LRU4sCiAgICAgRVhURU5EUywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9Tb3VyY2VDb2RlLmgKaW5kZXggNzNkMjNkYjgyYWYyNWVhNDZjMGY4OTc4NWNlNDI0YmI2MGVi
NjFhNy4uNTBkNTI2Mzk3OTQzZTM4MWQzODBlYzQzZDgyZDViNjNmN2YwOGRjNCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmgKQEAgLTEwNSw2ICsxMDUsOSBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgCiAgICAgICAgIFNvdXJjZUNvZGUgc3ViRXhwcmVzc2lv
bih1bnNpZ25lZCBvcGVuQnJhY2UsIHVuc2lnbmVkIGNsb3NlQnJhY2UsIGludCBmaXJzdExpbmUs
IGludCBzdGFydENvbHVtbik7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgICAgICBTb3VyY2VDb2RlIHN1YkFycm93RXhwcmVzc2lvbih1bnNpZ25lZCBzdGFydEFy
cm93RnVuY3Rpb24sIHVuc2lnbmVkIGVuZEFycm93RnVuY3Rpb24sIGludCBmaXJzdExpbmUsIGlu
dCBzdGFydENvbHVtbik7CisjZW5kaWYKICAgICBwcml2YXRlOgogICAgICAgICBSZWZQdHI8U291
cmNlUHJvdmlkZXI+IG1fcHJvdmlkZXI7CiAgICAgICAgIGludCBtX3N0YXJ0Q2hhcjsKQEAgLTEx
OCw2ICsxMjEsMTcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBTb3VyY2VDb2Rl
KFN0cmluZ1NvdXJjZVByb3ZpZGVyOjpjcmVhdGUoc291cmNlLCB1cmwsIHN0YXJ0UG9zaXRpb24p
LCBzdGFydFBvc2l0aW9uLm1fbGluZS5vbmVCYXNlZEludCgpLCBzdGFydFBvc2l0aW9uLm1fY29s
dW1uLm9uZUJhc2VkSW50KCkpOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgaW5saW5lIFNvdXJjZUNvZGUgU291cmNlQ29kZTo6c3ViQXJyb3dFeHBy
ZXNzaW9uKHVuc2lnbmVkIHN0YXJ0QXJyb3dGdW5jdGlvbiwgdW5zaWduZWQgZW5kQXJyb3dGdW5j
dGlvbiwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKQorICAgIHsKKyAgICAgICAgQVNT
RVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW3N0YXJ0QXJyb3dGdW5jdGlvbl0gPT0gJz0nICYmIHBy
b3ZpZGVyKCktPnNvdXJjZSgpW3N0YXJ0QXJyb3dGdW5jdGlvbiArIDFdID09ICc+Jyk7CisgICAg
ICAgIC8vIEZpeG1lOiBVc2UgYmV0dGVyIGFwcHJvYWNoIHRvIGNoZWNrIHN5bWJvbAorICAgICAg
ICBBU1NFUlQocHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICcs
JyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJzsnIHx8
IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnKScgfHwgcHJv
dmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICddJyB8fCBwcm92aWRl
cigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJ30nKTsKKyAgICAgICAgc3Rh
cnRDb2x1bW4gKz0gMTsgLy8gQ29udmVydCB0byBiYXNlIDEuCisgICAgICAgIHJldHVybiBTb3Vy
Y2VDb2RlKHByb3ZpZGVyKCksIHN0YXJ0QXJyb3dGdW5jdGlvbiwgZW5kQXJyb3dGdW5jdGlvbiwg
Zmlyc3RMaW5lLCBzdGFydENvbHVtbik7CisgICAgfQorI2VuZGlmCisKICAgICBpbmxpbmUgU291
cmNlQ29kZSBTb3VyY2VDb2RlOjpzdWJFeHByZXNzaW9uKHVuc2lnbmVkIG9wZW5CcmFjZSwgdW5z
aWduZWQgY2xvc2VCcmFjZSwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKQogICAgIHsK
ICAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW29wZW5CcmFjZV0gPT0gJ3snKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJD
YWNoZUl0ZW0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJD
YWNoZUl0ZW0uaAppbmRleCA2MzUzNzllM2Y0NDU2NjhjNTJiODcyZjc2MTZkY2I1OTIxYTgyOTQ0
Li5mNDI4ZGI1MGE4ZGE3YTdhYjQ2ODI0YWIzODA4M2RiMDUyZDczNzc2IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5o
CkBAIC00MCw2ICs0MCwxMCBAQCBzdHJ1Y3QgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlv
blBhcmFtZXRlcnMgewogICAgIGJvb2wgbmVlZHNGdWxsQWN0aXZhdGlvbjsKICAgICBib29sIHVz
ZXNFdmFsOwogICAgIGJvb2wgc3RyaWN0TW9kZTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIGJvb2wgaXNCb2R5QXJyb3dFeHByZXNzaW9uOworICAgIEpTVG9rZW5U
eXBlIHRva2VuVHlwZTsKKyNlbmRpZgogICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+IHVz
ZWRWYXJpYWJsZXM7CiAgICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4gd3JpdHRlblZhcmlh
YmxlczsKIH07CkBAIC01NSwxMCArNTksMTQgQEAgcHVibGljOgogICAgIHN0YXRpYyBzdGQ6OnVu
aXF1ZV9wdHI8U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0+IGNyZWF0ZShjb25zdCBTb3VyY2VQcm92
aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFyYW1ldGVycyYpOwogICAgIH5Tb3VyY2VQcm92aWRlckNh
Y2hlSXRlbSgpOwogCi0gICAgSlNUb2tlbiBjbG9zZUJyYWNlVG9rZW4oKSBjb25zdCAKKyAgICBK
U1Rva2VuIGVuZEZ1bmN0aW9uVG9rZW4oKSBjb25zdCAKICAgICB7CiAgICAgICAgIEpTVG9rZW4g
dG9rZW47CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdG9r
ZW4ubV90eXBlID0gaXNCb2R5QXJyb3dFeHByZXNzaW9uID8gdG9rZW5UeXBlIDogQ0xPU0VCUkFD
RTsKKyNlbHNlCiAgICAgICAgIHRva2VuLm1fdHlwZSA9IENMT1NFQlJBQ0U7CisjZW5kaWYKICAg
ICAgICAgdG9rZW4ubV9kYXRhLm9mZnNldCA9IGNsb3NlQnJhY2VPZmZzZXQ7CiAgICAgICAgIHRv
a2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNlT2Zmc2V0OwogICAgICAgICB0
b2tlbi5tX2xvY2F0aW9uLmVuZE9mZnNldCA9IGNsb3NlQnJhY2VPZmZzZXQgKyAxOwpAQCAtODIs
NiArOTAsMTEgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIHVzZWRWYXJpYWJsZXNDb3VudDsKICAg
ICB1bnNpZ25lZCB3cml0dGVuVmFyaWFibGVzQ291bnQ7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgIGJvb2wgaXNCb2R5QXJyb3dFeHByZXNzaW9uOworICAgIEpT
VG9rZW5UeXBlIHRva2VuVHlwZTsKKyNlbmRpZgorCiAgICAgU3RyaW5nSW1wbCoqIHVzZWRWYXJp
YWJsZXMoKSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0PFN0cmluZ0ltcGwqKj4obV92YXJpYWJs
ZXMpOyB9CiAgICAgU3RyaW5nSW1wbCoqIHdyaXR0ZW5WYXJpYWJsZXMoKSBjb25zdCB7IHJldHVy
biBjb25zdF9jYXN0PFN0cmluZ0ltcGwqKj4oJm1fdmFyaWFibGVzW3VzZWRWYXJpYWJsZXNDb3Vu
dF0pOyB9CiAKQEAgLTExNSw2ICsxMjgsMTAgQEAgaW5saW5lIFNvdXJjZVByb3ZpZGVyQ2FjaGVJ
dGVtOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbShjb25zdCBTb3VyY2VQcm92aWRlckNhY2gKICAg
ICAsIGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQocGFyYW1ldGVycy5jbG9zZUJyYWNlTGluZVN0
YXJ0T2Zmc2V0KQogICAgICwgdXNlZFZhcmlhYmxlc0NvdW50KHBhcmFtZXRlcnMudXNlZFZhcmlh
Ymxlcy5zaXplKCkpCiAgICAgLCB3cml0dGVuVmFyaWFibGVzQ291bnQocGFyYW1ldGVycy53cml0
dGVuVmFyaWFibGVzLnNpemUoKSkKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgICwgaXNCb2R5QXJyb3dFeHByZXNzaW9uKHBhcmFtZXRlcnMuaXNCb2R5QXJyb3dFeHBy
ZXNzaW9uKQorICAgICwgdG9rZW5UeXBlKHBhcmFtZXRlcnMudG9rZW5UeXBlKQorI2VuZGlmCiB7
CiAgICAgdW5zaWduZWQgaiA9IDA7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHVzZWRW
YXJpYWJsZXNDb3VudDsgKytpLCArK2opIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9TeW50YXhDaGVja2VyLmgKaW5kZXggOGU0ZjYxYjk0OTg5MGI5YmY1NDAyOWU5NjY2MWVlZjUz
YTE3YjU4NC4uNWY4ZTIxMWVlNGI1M2IzOTRlYjVhZTIxOTBiODNjOGM0Zjg0NGNmZCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKQEAgLTE3MCw2ICsx
NzAsMTAgQEAgcHVibGljOgogI2VuZGlmCiAgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlRnVuY3Rp
b25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxT
eW50YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQogICAgIGludCBjcmVhdGVG
dW5jdGlvbkJvZHkoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgSlNUb2tlbkxvY2F0aW9u
JiwgaW50LCBpbnQsIGJvb2wsIGludCwgaW50LCBpbnQsIENvbnN0cnVjdG9yS2luZCkgeyByZXR1
cm4gRnVuY3Rpb25Cb2R5UmVzdWx0OyB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihjb25zdCBK
U1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4m
KSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KKyNlbmRpZiAKKyAgICB2b2lkIHNldEZ1bmN0aW9u
TmFtZVN0YXJ0KGludCwgaW50KSB7IH0KICAgICBpbnQgY3JlYXRlQXJndW1lbnRzKCkgeyByZXR1
cm4gQXJndW1lbnRzUmVzdWx0OyB9CiAgICAgaW50IGNyZWF0ZUFyZ3VtZW50cyhpbnQpIHsgcmV0
dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZVNwcmVhZEV4
cHJlc3Npb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvblR5cGUsIGludCwgaW50
LCBpbnQpIHsgcmV0dXJuIFNwcmVhZEV4cHI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZmYzNlYTE4MDA2ODk2
NDNhYWRkNmM2YTQ5N2VkMGFlNmMyMTExMjAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwCkBAIC0wLDAgKzEsNzcgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyNpbmNsdWRl
ICJKU0Fycm93RnVuY3Rpb24uaCIKKworI2luY2x1ZGUgIkVycm9yLmgiCisjaW5jbHVkZSAiRXhj
ZXB0aW9uSGVscGVycy5oIgorI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKKyNpbmNsdWRlICJKU0NK
U1ZhbHVlLmgiCisjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTRnVuY3Rpb25J
bmxpbmVzLmgiCisjaW5jbHVkZSAiSlNPYmplY3QuaCIKKyNpbmNsdWRlICJQcm9wZXJ0eVNsb3Qu
aCIKKyNpbmNsdWRlICJWTS5oIgorCituYW1lc3BhY2UgSlNDIHsKKyAgICAKK2NvbnN0IENsYXNz
SW5mbyBKU0Fycm93RnVuY3Rpb246OnNfaW5mbyA9IHsgIkFycm93RnVuY3Rpb24iLCAmQmFzZTo6
c19pbmZvLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTQXJyb3dGdW5jdGlvbikgfTsKKwordm9p
ZCBKU0Fycm93RnVuY3Rpb246OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQoreworICAgIHN0YXRpY19j
YXN0PEpTQXJyb3dGdW5jdGlvbio+KGNlbGwpLT5KU0Fycm93RnVuY3Rpb246On5KU0Fycm93RnVu
Y3Rpb24oKTsKK30KKworSlNBcnJvd0Z1bmN0aW9uOjpKU0Fycm93RnVuY3Rpb24oVk0mIHZtLCBK
U1Njb3BlKiBzY29wZSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSkKKyAgICA6IEJhc2Uodm0sIGV4ZWN1dGFibGUsIHNjb3BlLCBzdHJ1Y3R1cmUp
Cit7Cit9CisgICAgCit2b2lkIEpTQXJyb3dGdW5jdGlvbjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZt
KQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKy8vIFByb3RvdHlwZSBvZiBhcnJv
dyBmdW5jdGlvbiBpcyB1bmRlZmluZWQKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFt
ZXMtPnByb3RvdHlwZSwganNVbmRlZmluZWQoKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgRG9u
dEVudW0pOworfQorICAgIAordm9pZCBKU0Fycm93RnVuY3Rpb246OnZpc2l0Q2hpbGRyZW4oSlND
ZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKK3sKKyAgICBKU0Fycm93RnVuY3Rpb24q
IHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNBcnJvd0Z1bmN0aW9uKj4oY2VsbCk7CisgICAgQVNTRVJU
X0dDX09CSkVDVF9JTkhFUklUUyh0aGlzT2JqZWN0LCBpbmZvKCkpOworICAgIEJhc2U6OnZpc2l0
Q2hpbGRyZW4odGhpc09iamVjdCwgdmlzaXRvcik7Cit9CisgICAgCitDb25zdHJ1Y3RUeXBlIEpT
QXJyb3dGdW5jdGlvbjo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwqIGNlbGwsIENvbnN0cnVjdERh
dGEmIGNvbnN0cnVjdERhdGEpCit7CisgICAgSlNGdW5jdGlvbiogdGhpc09iamVjdCA9IGpzQ2Fz
dDxKU0Z1bmN0aW9uKj4oY2VsbCk7CisgICAgICAgIAorICAgIGNvbnN0cnVjdERhdGEuanMuZnVu
Y3Rpb25FeGVjdXRhYmxlID0gdGhpc09iamVjdC0+anNFeGVjdXRhYmxlKCk7CisgICAgY29uc3Ry
dWN0RGF0YS5qcy5zY29wZSA9IHRoaXNPYmplY3QtPnNjb3BlKCk7CisgICAgcmV0dXJuIENvbnN0
cnVjdFR5cGVOb25lOworfQorfSAvLyBuYW1lc3BhY2UgSlNDCisjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzgw
MTVkMzg3MjFjY2E0NGFlMmY2NWNiNmQ3N2I2YTY1MjIwOTY1ZAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oCkBAIC0wLDAg
KzEsNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIEpTQXJyb3dGdW5jdGlvbl9oCisjZGVmaW5lIEpTQXJyb3dGdW5jdGlvbl9oCisKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorCisjaW5jbHVkZSAiSlNGdW5jdGlv
bi5oIgorI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCisKK25hbWVzcGFjZSBKU0MgeworCitj
bGFzcyBKU0Fycm93RnVuY3Rpb24gOiBwdWJsaWMgSlNGdW5jdGlvbiB7CitwdWJsaWM6CisgICAg
dHlwZWRlZiBKU0Z1bmN0aW9uIEJhc2U7CisgICAgICAgIAorICAgIHN0YXRpYyBKU0Fycm93RnVu
Y3Rpb24qIGNyZWF0ZShWTSYgdm0sIEpTU2NvcGUqIHNjb3BlLCBGdW5jdGlvbkV4ZWN1dGFibGUq
IGV4ZWN1dGFibGUsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCisgICAgeworICAgICAg
ICBKU0Fycm93RnVuY3Rpb24qIGZ1bmN0aW9uID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8
SlNBcnJvd0Z1bmN0aW9uPih2bS5oZWFwKSkgSlNBcnJvd0Z1bmN0aW9uKHZtLCBzY29wZSwgZXhl
Y3V0YWJsZSwgZ2xvYmFsT2JqZWN0LT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCkpOworICAgICAg
ICBBU1NFUlQoZnVuY3Rpb24tPnN0cnVjdHVyZSgpLT5nbG9iYWxPYmplY3QoKSk7CisgICAgICAg
IGZ1bmN0aW9uLT5maW5pc2hDcmVhdGlvbih2bSk7CisgICAgICAgIHJldHVybiBmdW5jdGlvbjsK
KyAgICB9CisgICAgCisgICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0NlbGwqKTsKKyAgICAgICAg
CisgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUpCisgICAgeworICAgICAgICBB
U1NFUlQoZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZt
LCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oSlNGdW5jdGlvblR5cGUsIFN0cnVj
dHVyZUZsYWdzKSwgaW5mbygpKTsKKyAgICB9CisgICAgICAgIAorICAgIHN0YXRpYyBDb25zdHJ1
Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYpOworICAgICAg
ICAKKyAgICBERUNMQVJFX0lORk87CisKK3Byb3RlY3RlZDoKKyAgICBjb25zdCBzdGF0aWMgdW5z
aWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNIYXNJbnN0YW5jZSB8IEJhc2U6OlN0cnVj
dHVyZUZsYWdzOworICAgICAgICAKKyAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2Vs
bCosIFNsb3RWaXNpdG9yJik7CisgICAgICAgIAorcHJpdmF0ZToKKyAgICBKU0Fycm93RnVuY3Rp
b24oVk0mLCBKU1Njb3BlKiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgU3RydWN0dXJlKik7CisKKyAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7Cit9OworICAgIAorfSAvLyBuYW1lc3BhY2UgSlND
CisjZW5kaWYgLy8gRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYCisKKyNlbmRpZiAvLyBKU0Fycm93
RnVuY3Rpb25faApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNG
dW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCmlu
ZGV4IDJjZmIzMzcyYzI4ZGMyMDg4NmMyMzgwOWQxOGU5MzNiNjJhNjQxNWYuLjNhMjM1MzVmZTg1
MWFlMmVmZmJhNzU5ZGZjZjllNmIwZjdiZjg2OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0Z1bmN0aW9uLmgKQEAgLTEzNiw2ICsxMzYsOSBAQCBwdWJsaWM6CiBwcm90ZWN0
ZWQ6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0
KiwgU3RydWN0dXJlKik7CiAgICAgSlNGdW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSos
IEpTU2NvcGUqKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEpT
RnVuY3Rpb24oVk0mLCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBKU1Njb3BlKiwgU3RydWN0dXJlKik7
CisjZW5kaWYKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBOYXRpdmVFeGVjdXRhYmxl
KiwgaW50IGxlbmd0aCwgY29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICB1c2luZyBCYXNlOjpmaW5p
c2hDcmVhdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
RnVuY3Rpb25JbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0
aW9uSW5saW5lcy5oCmluZGV4IGY2YzZkNThlYzZlNWMxMTY0Y2IyN2ZhNWU0MTYxOGI0YjgxNDJm
MDIuLjM4NTA2Y2MxOTlhMDA4ZmY4Zjk2YWRmNjg5YmUzNjA5ODc1ZGVhNWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaApAQCAtNDUs
NiArNDUsMTUgQEAgaW5saW5lIEpTRnVuY3Rpb246OkpTRnVuY3Rpb24oVk0mIHZtLCBGdW5jdGlv
bkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpTU2NvcGUqIHMKIHsKIH0KIAorI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitpbmxpbmUgSlNGdW5jdGlvbjo6SlNGdW5jdGlvbihW
TSYgdm0sIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgSlNTY29wZSogc2NvcGUsIFN0
cnVjdHVyZSogc3RydWN0dXJlKQorICAgIDogQmFzZSh2bSwgc2NvcGUsIHN0cnVjdHVyZSkKKyAg
ICAsIG1fZXhlY3V0YWJsZSh2bSwgdGhpcywgZXhlY3V0YWJsZSkKKyAgICAsIG1fcmFyZURhdGEo
KQoreworfQorI2VuZGlmCisgICAgCiBpbmxpbmUgRnVuY3Rpb25FeGVjdXRhYmxlKiBKU0Z1bmN0
aW9uOjpqc0V4ZWN1dGFibGUoKSBjb25zdAogewogICAgIEFTU0VSVCghaXNIb3N0RnVuY3Rpb25O
b25JbmxpbmUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bE9iamVjdC5jcHAKaW5kZXggZTM0YWRkMTI4MjQxYTk2MDM0ZWQ4NTc2YWNlYTg1MDNkM2JiZjEz
NC4uZWI2ZjI1MzU4YzM0YWU3NTk3MjczMzRmMDAwZmYzYjE0ZmY2ZjE5ZCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtNTgsNiAr
NTgsNyBAQAogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUg
IkpTQXJyYXlCdWZmZXJQcm90b3R5cGUuaCIKICNpbmNsdWRlICJKU0FycmF5SXRlcmF0b3IuaCIK
KyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24u
aCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDYWxsYmFja0NvbnN0cnVj
dG9yLmgiCkBAIC0yMzEsNiArMjMyLDkgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChWTSYg
dm0pCiAgICAgZXhlYy0+c2V0Q2FsbGVlKG1fZ2xvYmFsQ2FsbGVlLmdldCgpKTsKIAogICAgIG1f
ZnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0Z1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1
cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZS5zZXQo
dm0sIHRoaXMsIEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1
bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7CisjZW5kaWYKICAgICBtX2JvdW5kRnVuY3Rpb25TdHJ1
Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0JvdW5kRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwg
dGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOwogICAgIG1fbmFtZWRGdW5jdGlvblN0
cnVjdHVyZS5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uKHZt
LCBtX2Z1bmN0aW9uU3RydWN0dXJlLmdldCgpLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBEb250
RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51bSwgbV9mdW5jdGlvbk5hbWVPZmZzZXQpKTsKICAg
ICBtX2ludGVybmFsRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBJbnRlcm5hbEZ1bmN0
aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkp
KTsKQEAgLTczNiw2ICs3NDAsOSBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojp2aXNpdENoaWxkcmVu
KEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCiAgICAgdmlzaXRvci5hcHBlbmQo
JnRoaXNPYmplY3QtPm1fY2FsbGVlU3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhp
c09iamVjdC0+bV9mdW5jdGlvblN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNP
YmplY3QtPm1fYm91bmRGdW5jdGlvblN0cnVjdHVyZSk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9hcnJvd0Z1
bmN0aW9uU3RydWN0dXJlKTsKKyNlbmRpZgogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0
LT5tX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2Jq
ZWN0LT5tX3N5bWJvbE9iamVjdFN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNP
YmplY3QtPm1fcmVnRXhwTWF0Y2hlc0FycmF5U3RydWN0dXJlKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCmluZGV4IGQxN2I0YTM0OGZhMTRkYWQw
M2FiNzYwNmM3OTMxZWJlZmIxNzljZDIuLmM1YTQzNTk3ODAxNGZiZWE1ZDMxNGJkZTEwNTA5YmQ1
MjdmYWZmYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xv
YmFsT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxP
YmplY3QuaApAQCAtMjI3LDYgKzIyNyw5IEBAIHByb3RlY3RlZDoKICAgICBXcml0ZUJhcnJpZXI8
U3RydWN0dXJlPiBtX2NhbGxlZVN0cnVjdHVyZTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJl
PiBtX2Z1bmN0aW9uU3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYm91
bmRGdW5jdGlvblN0cnVjdHVyZTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZTsK
KyNlbmRpZgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fbmFtZWRGdW5jdGlvblN0cnVj
dHVyZTsKICAgICBQcm9wZXJ0eU9mZnNldCBtX2Z1bmN0aW9uTmFtZU9mZnNldDsKICAgICBXcml0
ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3ByaXZhdGVOYW1lU3RydWN0dXJlOwpAQCAtNDY0LDYgKzQ2
Nyw5IEBAIHB1YmxpYzoKICAgICBTdHJ1Y3R1cmUqIGNhbGxlZVN0cnVjdHVyZSgpIGNvbnN0IHsg
cmV0dXJuIG1fY2FsbGVlU3RydWN0dXJlLmdldCgpOyB9CiAgICAgU3RydWN0dXJlKiBmdW5jdGlv
blN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fZnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0K
ICAgICBTdHJ1Y3R1cmUqIGJvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBt
X2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIFN0cnVjdHVyZSogYXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpIGNv
bnN0IHsgcmV0dXJuIG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQorI2VuZGlmCiAg
ICAgU3RydWN0dXJlKiBuYW1lZEZ1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9u
YW1lZEZ1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CiAgICAgUHJvcGVydHlPZmZzZXQgZnVuY3Rp
b25OYW1lT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9mdW5jdGlvbk5hbWVPZmZzZXQ7IH0KICAg
ICBTdHJ1Y3R1cmUqIG51bWJlck9iamVjdFN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fbnVt
YmVyT2JqZWN0U3RydWN0dXJlLmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci5qcyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3BhcmFtdGVyLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjYzNjFiOGRiMDIyODI3OTZkMWJiMDRmNWRiZDQwMTliNzI4OWYyY2MKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tYXNwYXJhbXRlci5qcwpAQCAtMCwwICsxLDggQEAKKy8vIEluc3BpcmVkIGJ5IG1vemls
bGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNz
YWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSAr
ICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICIn
IjsKKyAgfQorfTsKKwordGVzdENhc2UoIiIgKyBbMSwgMiwgMywgNF0ubWFwKHggPT4geCwgMzIp
LCAiMSwyLDMsNCIsICJFcnJvcjogYXJyb3cgZnVuY3Rpb24gYXMgdGhlIHBhcmFtdGVycy4iKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5j
dGlvbi1hc3NvY2lhdGl2aXR5LTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0xLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkMWQ0N2E0
ODA3NWVjNTk4YzZiZTFlMDdkNzhhMzUyNjM1M2E5MTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0
eS0xLmpzCkBAIC0wLDAgKzEsMTMgQEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3Zh
ciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlm
IChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVk
ICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsK
KwordmFyIGFmMSwgYWYyLCBhZjM7CithZjEgPSBhZjIgPSBhZjMgPT4gYWYxID0gYWYyID0gYWYz
OwordGVzdENhc2UoYWYxLCBhZjIsICJFcnJvcjogd3JvbmcgYXNzb2NpYXRpdml0eSAjMS4iKTsK
K2FmMSgxMyk7Cit0ZXN0Q2FzZShhZjIsIDEzLCAiRXJyb3I6IHdyb25nIGFzc29jaWF0aXZpdHkg
IzIuIik7Cit0ZXN0Q2FzZShhZjEsIDEzLCAiRXJyb3I6IHdyb25nIGFzc29jaWF0aXZpdHkgIzMu
Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93
ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHktMi5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZWRk
ODM5YzZiYzdlZDZhNDBlZmZiYmM4NzU0ZWQxYmZkODA2YjQzCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0
aXZpdHktMi5qcwpAQCAtMCwwICsxLDE0IEBACisvLyBJbnNwaXJlZCBieSBtb3ppbGxhIHRlc3Rz
Cit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgewor
ICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBl
Y3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0K
K307CisKK3ZhciBzPSIiOworcyArPSB4ID0+IHgubmFtZTsKKworLy8gRml4IG1lLiBQb3NzaWJs
ZSB3ZSBoYXZlIG5vdCB1c2UgdGhlIEpTQm91bnRGdW5jdGlvbiB3cmFwcGVyIGZvciB0aGUgbGV4
aWNhbAorLy8gYmluZGluZyBvZiB0aGUgdGhpcyBhbmQgdXNlIGRpcmVjdCBpbmplY3Rpb24gb2Yg
dGhlICd0aGlzJyB2YWx1ZQorLy8gaW50byBhcnJyb3cgZnVuY3Rpb24KKy8vIHRlc3RDYXNlKHMs
ICJ4ID0+IHgubmFtZSIgLCAiRXJyb3I6IHdyb25nIHRvU3RyaW5nIGNvbnZlcnNpb24uIik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tYXNzb2NpYXRpdml0eS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY3ZWQxNTNjZWViYTUy
NjIyOGVjYTgyMTMwNDY5YTkyNDRiMTRjMDUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS5qcwpA
QCAtMCwwICsxLDEwIEBACisvLyBJbnNwaXJlZCBieSBtb3ppbGxhIHRlc3RzCit2YXIgdGVzdENh
c2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFs
ICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4
cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBh
ZiA9IGEgPT4gYiA9PiBhOworCit0ZXN0Q2FzZShhZignQUJDJykoJ0RFRicpLCAnQUJDJywgIkVy
cm9yOiB3cm9uZyBuZXN0ZWQgYXJyb3cgZnVuY3Rpb25zLiIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJsb2NrLTEuanMgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2stMS5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4wYzU3MWJiNzJmY2ZlZjUzMGM1OWRiNGI4NjBjYTRmMGE5NmE0MTE2Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJv
d2Z1bmN0aW9uLWJsb2NrLTEuanMKQEAgLTAsMCArMSwxMSBAQAorLy8gSW5zcGlyZWQgYnkgbW96
aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1l
c3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdl
ICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsg
IiciOworICB9Cit9OworCit2YXIgZiA9ICgpID0+IHt9OwordGVzdENhc2UodHlwZW9mIGYoKSwg
J3VuZGVmaW5lZCcsICJFcnJvcjogd3JvbmcgYXJyb3cgZnVuY3Rpb24gYmxvY2suIik7Cit2YXIg
ZyA9ICgpID0+ICh7fSk7Cit0ZXN0Q2FzZSh0eXBlb2YgZygpLCAnb2JqZWN0JywgIkVycm9yOiB3
cm9uZyBhcnJvdyBmdW5jdGlvbiBibG9jay4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ibG9jay0yLmpzIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJsb2NrLTIuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNDdlZTM1MmNmMDFkMTM2ZTMwMjkyMjczNmM1YzgwZWY1M2MwM2Y2ZQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1ibG9jay0yLmpzCkBAIC0wLDAgKzEsMTAgQEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVz
dHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7
CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4
cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAg
fQorfTsKKwordmFyIGFmID0gYSA9PiB7IGEgKyAxOyB9OworCit0ZXN0Q2FzZSh0eXBlb2YgYWYo
MCksICd1bmRlZmluZWQnLCAiRXJyb3I6IHdyb25nIGFycm93IGZ1bmN0aW9uIGJsb2NrICMyLiIp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1
bmN0aW9uLWNvbnN0cnVjdG9yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9hcnJvd2Z1bmN0aW9uLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk1MDdiNTM2NGYwNDEx
MzU4NWVhYmE4YzI0YTQ3YTRhMTBkMTZiN2IKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY29uc3RydWN0b3IuanMKQEAg
LTAsMCArMSwxOCBAQAordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQs
IG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNz
YWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFs
ICsgIiciOworICB9Cit9OworCit2YXIgc2ltcGxlQXJyb3dGdW5jdGlvbiA9ICgpID0+IHt9Owor
Cit2YXIgZXJyb3JPbkNyZWF0ZSA9IGZhbHNlOworCit0cnkgeworICB2YXIgZmMgPSBuZXcgc2lt
cGxlQXJyb3dGdW5jdGlvbigpOworfQorY2F0Y2ggKGUpIHsKKyAgZXJyb3JPbkNyZWF0ZSA9IHRy
dWU7Cit9CisKK3Rlc3RDYXNlKGVycm9yT25DcmVhdGUsIHRydWUsICJFcnJvcjogTm8gZXJyb3Ig
ZHVyaW5nIHJ1biBuZXcgQXJyb3dGdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWx0aGlzLTEuanMgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbHRo
aXMtMS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mNTUzMWY1NzU2MmYyODY4ZWVhZDM5ZmNkNjZlZTUwNzhiYWNl
ZDFiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9hcnJvd2Z1bmN0aW9uLWxleGljYWx0aGlzLTEuanMKQEAgLTAsMCArMSwxNyBAQAordmFyIHJl
c3VsdDsKKworIHZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNz
YWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSAr
ICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICIn
IjsKKyAgfQorfTsKKworZnVuY3Rpb24gRG9nKG5hbWUpIHsKKyAgdGhpcy5uYW1lID0gbmFtZTsK
KyAgdGhpcy5nZXROYW1lID0gKCkgPT4gZXZhbCgidGhpcy5uYW1lIik7CisgIHRoaXMuZ2V0TmFt
ZUhhcmQgPSAoKSA9PiBldmFsKCIoKCkgPT4gdGhpcy5uYW1lKSgpIik7Cit9CisKK3ZhciBkID0g
bmV3IERvZygiTWF4Iik7Cit0ZXN0Q2FzZShkLmdldE5hbWUoKSwgZC5uYW1lLCAiRXJyb3I6IHRo
aXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAj
MSIpOwordGVzdENhc2UoZC5nZXROYW1lSGFyZCgpLCBkLm5hbWUsICJFcnJvcjogdGhpcyBpcyBu
b3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMyIik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tbGV4aWNhbHRoaXMuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tbGV4aWNhbHRoaXMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjEyZmJhZjgwNDQ4MmM3NzYx
YzM3ZGQ2OTNhODQ4NWU1NTExNTczZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsdGhpcy5qcwpAQCAtMCww
ICsxLDMxIEBACit2YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVh
bCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAg
ICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2Fz
ICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgYWZPYmpMZXhCaW5kMiA9IGZ1bmN0
aW9uICgpIHsKKyAgdGhpcy5mdW5jID0gKCkgPT4gdGhpczsKK307CisKK3ZhciBhZk9iakxleEJp
bmQySW5zdGFuY2UgPSBuZXcgYWZPYmpMZXhCaW5kMigpOworCit0ZXN0Q2FzZShhZk9iakxleEJp
bmQySW5zdGFuY2UuZnVuYygpID09PSBhZk9iakxleEJpbmQySW5zdGFuY2UsIHRydWUsICJFcnJv
cjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0
aW9uICMyIik7CisKK3ZhciBvYmogPSB7CisgIG1ldGhvZDogZnVuY3Rpb24gKCkgeworICAgIHJl
dHVybiAoKSA9PiB0aGlzOworICB9Cit9OworCit0ZXN0Q2FzZShvYmoubWV0aG9kKCkoKSA9PT0g
b2JqLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiAjMyIpOworCit2YXIgZmFrZSA9IHtzdGVhbDogb2JqLm1ldGhv
ZCgpfTsKK3Rlc3RDYXNlKGZha2Uuc3RlYWwoKSA9PT0gb2JqLCB0cnVlLCAiRXJyb3I6IHRoaXMg
aXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNCIp
OworCisKKy8vIEZpeG1lOiBmb2xsb3dpbmcgdGVzdCBmYWlscyBpbiBkZmctZWFnZXItbm8tY2pp
dC12YWxpZGF0ZSAmIGZ0bC1lYWdlci1uby1jaml0IG1vZGUKK3ZhciByZWFsID0ge2JvcnJvdzog
b2JqLm1ldGhvZH07Cit0ZXN0Q2FzZShyZWFsLmJvcnJvdygpKCkgPT09IHJlYWwsIHRydWUsICJF
cnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1
bmN0aW9uICM1Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tb3RoZXJzLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLW90aGVycy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZWJhMTFmMzAyMmUz
NGE4MDAwYTU3MDA3NmRiMWE1NWE0YTMyYjIxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLW90aGVycy5qcwpAQCAtMCww
ICsxLDEzIEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVz
c2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2Ug
KyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAi
JyI7CisgIH0KK307CisKK3ZhciBzaW1wbGVBcnJvd0Z1bmN0aW9uID0gKCkgPT4ge307CisKK3Rl
c3RDYXNlKE9iamVjdC5nZXRQcm90b3R5cGVPZihzaW1wbGVBcnJvd0Z1bmN0aW9uKSwgRnVuY3Rp
b24ucHJvdG90eXBlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGdldFByb3RvdHlwZU9mIHZhbHVlIGZv
ciBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uIGluc3Rh
bmNlb2YgRnVuY3Rpb24sIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBpbnN0
YW5jZW9mIG1ldGhvZCBmb3IgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2Uoc2ltcGxlQXJy
b3dGdW5jdGlvbi5jb25zdHJ1Y3RvciA9PSBGdW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3QgY29y
cmVjdCByZXN1bHQgZm9yIGNvbnN0cnVjdG9yIG1ldGhvZCBvZiBhcnJvdyBmdW5jdGlvbiIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0
aW9uLXRkei5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5j
dGlvbi10ZHouanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTlkMzVjZGVhNGJhZjY2NzQzMWFmOGFiZThkYWRmMjJk
MDRiOTBlMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvYXJyb3dmdW5jdGlvbi10ZHouanMKQEAgLTAsMCArMSwyNCBAQAordmFyIEEgPSBjbGFz
cyBBIHsgfTsKK3ZhciBCID0gY2xhc3MgQiBleHRlbmRzIEEgeworICBjb25zdHJ1Y3RvcihhY2Nl
c3NUaGlzQmVmb3JlU3VwZXIpIHsKKyAgICBpZiAoYWNjZXNzVGhpc0JlZm9yZVN1cGVyKSB7Cisg
ICAgICB2YXIgZiA9ICgpID0+IHRoaXM7CisgICAgICBzdXBlcigpOworICAgIH0gZWxzZSB7Cisg
ICAgICBzdXBlcigpOworICAgIH0KKyAgfQorfTsKKwordmFyIGV4Y2VwdGlvbiA9IG51bGw7Cit0
cnkgeworICAgICBuZXcgQih0cnVlKTsKK30gY2F0Y2ggKGUpIHsKKyAgICBleGNlcHRpb24gPSBl
OworICAgIGlmICghKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikpCisgICAgICAgIHRocm93
ICJFeGNlcHRpb24gdGhyb3duIHdhcyBub3QgYSByZWZlcmVuY2UgZXJyb3IiOworfQoraWYgKCFl
eGNlcHRpb24pCisgICAgdGhyb3cgIkV4Y2VwdGlvbiBub3QgdGhyb3duIGZvciBhbiB1bml0aWFs
aXplZCB0aGlzIGF0IGl0ZXJhdGlvbiI7CisKK3ZhciBlID0gbmV3IEIoZmFsc2UpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXR5
cGVvZi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi10eXBlb2YuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWYyYTdmNTQ0NzZhYmE5YzI4OTIzYzM1ZjFkYjNjNDMy
N2FjOTQ2OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvYXJyb3dmdW5jdGlvbi10eXBlb2YuanMKQEAgLTAsMCArMSwyMSBAQAordmFyIHRlc3RD
YXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVh
bCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBl
eHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIg
YWYxID0gKCkgPT4ge307Cit2YXIgYWYyID0gKGEpID0+IHthICsgMX07CisKK3Rlc3RDYXNlKHR5
cGVvZiBhZjEsICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNvcnJlY3QgdHlwZSBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24gIzEiKTsKK3Rlc3RDYXNlKHR5cGVvZiBhZjEucHJvdG90eXBlID09PSAndW5k
ZWZpbmVkJywgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBv
ZiBhcnJvdyBmdW5jdGlvbiAjMSIpOworCit0ZXN0Q2FzZSh0eXBlb2YgYWYyLCAiZnVuY3Rpb24i
LCAiRXJyb3I6IE5vdCBjb3JyZWN0IHR5cGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMyIik7Cit0
ZXN0Q2FzZSh0eXBlb2YgYWYyLnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJFcnJv
cjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBwcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24gIzIi
KTsKKwordGVzdENhc2UodHlwZW9mICgoKT0+e30pLCAiZnVuY3Rpb24iLCAiRXJyb3I6IE5vdCBj
b3JyZWN0IHR5cGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMzIik7Cit0ZXN0Q2FzZSh0eXBlb2Yg
KCgpPT57fSkucHJvdG90eXBlID09PSAndW5kZWZpbmVkJywgdHJ1ZSwgIkVycm9yOiBOb3QgY29y
cmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiAjMyIpOworCisKK3Rl
c3RDYXNlKHR5cGVvZiAoKGIpID0+IHtiICsgMX0pLCAiZnVuY3Rpb24iLCAiRXJyb3I6IE5vdCBj
b3JyZWN0IHR5cGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM0Iik7Cit0ZXN0Q2FzZSh0eXBlb2Yg
KChiKSA9PiB7YiArIDF9KS5wcm90b3R5cGUgPT09ICd1bmRlZmluZWQnLCB0cnVlLCAiRXJyb3I6
IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9uICM0Iik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24uanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMDY4N2IzYWFiMWQyN2Y0NTNmOTA3NjFjZWMxYWQ0ZDA1Y2YwM2Iz
NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YXJyb3dmdW5jdGlvbi5qcwpAQCAtMCwwICsxLDE1NCBAQAordmFyIHJlc3VsdDsKKworIHZhciB0
ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChh
Y3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICci
ICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwor
dmFyIGFycm93RnVuY3Rpb24wID0gdiA9PiB2ICsgMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24w
KDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogdiA9PiB2ICsgMSIpOworCit2YXIgYXJyb3dGdW5jdGlv
bjEgPSAodikgPT4gdiAqIDI7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMSgxMCk7Cit0ZXN0Q2Fz
ZShyZXN1bHQsIDIwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb246ICh2KSA9PiB2ICsgMSIpOworCit2YXIgYXJyb3dGdW5jdGlvbjIgPSAoKSA9PiAx
MDAwOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjIoMTIxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDEw
MDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjog
KCkgPT4gMTAwMCIpOworCit2YXIgdG1wVmFyaWFsdmUyXzEgPSAxNTE7Cit2YXIgYXJyb3dGdW5j
dGlvbjJfMSA9ICgpID0+IHRtcFZhcmlhbHZlMl8xOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjJf
MSgxMjEpOwordGVzdENhc2UocmVzdWx0LCB0bXBWYXJpYWx2ZTJfMSAsIkVycm9yOiBOb3QgY29y
cmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAoKSA9PiB2YXJpYWJsZSIpOwor
Cit2YXIgYXJyb3dGdW5jdGlvbjMgPSAodiwgeCkgPT4gdiArIHg7CityZXN1bHQgPSBhcnJvd0Z1
bmN0aW9uMygxMSwxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDIzICwiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICh4LCB5KSA9PiB4ICsgeSIpOworCit2
YXIgYXJyb3dGdW5jdGlvbldyYXBwZXIgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVyKSB7IHJldHVy
biBjbChwYXJhbXRlcik7IH07CisKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4g
MTIzNCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMzQgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMpIik7CisKKyBy
ZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEyMzQsIDIzNDUpOwordGVzdENhc2Uo
cmVzdWx0LCAxMjM0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjLCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dG
dW5jdGlvbldyYXBwZXIoeCA9PiAxMjEgKyAyMzIpOwordGVzdENhc2UocmVzdWx0LCAzNTMgLCJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJh
bXRlcjogZih4ID0+IGMxICsgYzIpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBl
cih4ID0+IDEyMyArIDMyMSwgOTk5OSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDQ0NCAsIkVycm9yOiBO
b3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBm
KHggPT4gYzEgKyBjMiwgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHgg
PT4geCArIDEyLCAyMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDMzICwiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiB4ICsg
YzEsIHkpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoeCkgPT4geCArIDIx
LCAzMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDUzLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKHgpID0+IGMxICsgYzIsIHkp
Iik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiAxMDApOwordGVzdENh
c2UocmVzdWx0LCAxMDAsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjKSIpOworCisgdmFyIGV4dF92YWx1ZSA9
IDEyMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IGV4dF92YWx1ZSk7Cit0
ZXN0Q2FzZShyZXN1bHQsIDEyMSwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhl
IGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IHYpIik7CisKKyByZXN1bHQgPSBh
cnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiBleHRfdmFsdWUgKiAxMCk7Cit0ZXN0Q2FzZShyZXN1
bHQsIDEyMTAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiB2KngpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0
aW9uV3JhcHBlcigoeCkgPT4gZXh0X3ZhbHVlICogeCwgMzApOwordGVzdENhc2UocmVzdWx0LCAz
MCpleHRfdmFsdWUgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbiBhcyBwYXJhbXRlcjogZigoeCkgPT4gdip4LCB5KSIpOworCisgcmVzdWx0ID0gYXJy
b3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwLCAxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMCAs
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBh
cmFtdGVyOiBmKCgpID0+IGMxLCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBw
ZXIoKCkgPT4gMTAwICsgMTApOwordGVzdENhc2UocmVzdWx0LCAxMTAgLCJFcnJvcjogTm90IGNv
cnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9
PiBjMSArIGMyKSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAw
ICsgMTEsIDEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYzEgKyBj
MiwgeSkiKTsKKworIHZhciBhcnJvd0Z1bmN0aW9uNCA9IHYgPT4gdiArIDEsIHh5ejEgPSAxMDEw
MTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb240KDEwMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDEy
ICwiRXJyb3I6IE5vdCBjb3JyZWN0IHBhcnNpbmcgb2YgdGggYXJyb3cgZnVuY3Rpb24gaW5zaWRl
IG9mIHRoZSBsaXN0IG9mIHZhcnM6IHZhciBhZiA9IHY9PiB2ICsgMTsgenhjPWM7Iik7Cit0ZXN0
Q2FzZSh4eXoxLCAxMDEwMSAsIkVycm9yOiBOb3QgY29ycmVjdCBwYXJzaW5nIG9mIHRoIGFycm93
IGZ1bmN0aW9uIGluc2lkZSBvZiB0aGUgbGlzdCBvZiB2YXJzOiB2YXIgYWYgPSB2PT4gdiArIDE7
IHp4Yz1jOyIpOworCisgdmFyIGFycm93RnVuY3Rpb25XcmFwcGVyMiA9IGZ1bmN0aW9uIChjbCwg
cGFyYW10ZXIxLCBwYXJhbXRlcjIpIHsgcmV0dXJuIGNsKHBhcmFtdGVyMSwgcGFyYW10ZXIyKTsg
fTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyMigoeCwgeSkgPT4geCArIHksIDEyICw0
Myk7Cit0ZXN0Q2FzZShyZXN1bHQsIDU1ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW1ldGVyOiBmKCh4LCB5KSA9PiB4ICsgeSwgYzEs
IGMyKSIpOworCisgdmFyIGFycm93RnVuY3Rpb0FycmF5MCA9IFt2ID0+IHYgKiAxMF07CityZXN1
bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTBbMF0oMTApOwordGVzdENhc2UocmVzdWx0LCAxMDAgLCJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVt
IGluIGFycmF5OiBbdj0+dioxMF0iKTsKKworIHZhciBhcnJvd0Z1bmN0aW9BcnJheTEgPSBbdiA9
PiB2ICsgMSwgdiA9PiB2ICsgMl07CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTFbMF0oMTAp
OwordGVzdENhc2UocmVzdWx0LCAxMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFt2ID0+IHYgKyAxLCAgdiA9PiB2
ICsgMl0iKTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5MVsxXSgxMSk7Cit0ZXN0Q2FzZShy
ZXN1bHQsIDEzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb24gYXMgaXRlbSBpbiBhcnJheTogW3YgPT4gdiArIDEsICB2ID0+IHYgKyAyXSIpOworCisg
dmFyIGFycm93RnVuY3Rpb0FycmF5MiA9IFsodikgPT4gdiArIDEsICh2KSA9PiB2ICsgMl07City
ZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTJbMF0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMiAs
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0
ZW0gaW4gYXJyYXk6IFsodikgPT4gdiArIDEsICAodikgPT4gdiArIDJdIik7CityZXN1bHQgPSBh
cnJvd0Z1bmN0aW9BcnJheTJbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMyAsIkVycm9yOiBO
b3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJy
YXk6IFsodikgPT4gdiArIDEsICAodikgPT4gdiArIDJdIik7CisKKyB2YXIgYXJyb3dGdW5jdGlv
QXJyYXkzID0gWygpID0+IDEwMSwgKCkgPT4gMTIzMjNdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlv
QXJyYXkzWzBdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAxLCAiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogWygpID0+
IGMxLCAgKCkgPT4gYzJdIik7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTNbMV0oMTEpOwor
dGVzdENhc2UocmVzdWx0LCAxMjMyMywgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsoKSA9PiBjMSwgICgpID0+IGMy
XSIpOworCit2YXIgYXJyb3dGdW5jdGlvbk9iaiA9IHtmdW5jIDogeSA9PiB5ICsgMTJ9OworcmVz
dWx0ID0gYXJyb3dGdW5jdGlvbk9iai5mdW5jKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjMgLCAi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcHJv
cGVydHk6IHtmdW5jIDogeSA9PiB5ICsgMTIgfSIpOworCit2YXIgYWZPYmpMZXhCaW5kMiA9IGZ1
bmN0aW9uICgpIHsKKyAgdGhpcy5mdW5jID0gKCkgPT4gdGhpczsKK307CisKK3ZhciBhcnJvd0Zh
dEZ1bmN0aW9uMCA9ICgpID0+IHsgcmV0dXJuIDEwMDA7IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1
bmN0aW9uMCgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMDAgLCJFcnJvcjogTm90IGNvcnJlY3Qg
ZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICgpID0+
IHsgcmV0dXJuIDEwMDA7IH0iKTsKKwordmFyIGFycm93RmF0RnVuY3Rpb24xID0gdiA9PiB7IHZh
ciBpbnR2YWwgPSAxMDA7IHJldHVybiB2ICogaW50dmFsOyB9OworcmVzdWx0ID0gYXJyb3dGYXRG
dW5jdGlvbjEoMTEpOwordGVzdENhc2UocmVzdWx0LCAxMTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiB4ID0+
IHsgdmFyIHY9MTAwMDsgcmV0dXJuIHYqeDsgfSIpOworCit2YXIgYXJyb3dGYXRGdW5jdGlvbjIg
PSAodikgPT4geyB2YXIgaW50ID0gMjAwOyByZXR1cm4gdiAqIGludDsgfTsKK3Jlc3VsdCA9IGFy
cm93RmF0RnVuY3Rpb24yKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjIwMCAsIkVycm9yOiBOb3Qg
Y29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9j
azogKHgpID0+IHsgdmFyIHY9MTAwMDsgcmV0dXJuIHYqeDsgfSIpOworCit2YXIgYXJyb3dGYXRG
dW5jdGlvbjMgPSAodiwgeCkgPT4geyB2YXIgcmVzdWx0ID0geCAqIHY7IHJldHVybiByZXN1bHQ7
IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0aW9uMygxMSwgMTIyMjIpOwordGVzdENhc2UocmVz
dWx0LCAxMzQ0NDIgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICh2LCB4KSA9PiB7IHZhciByZXN1bHQgPSB4ICog
djsgcmV0dXJuIHJlc3VsdDsgfSIpOworCityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4
PT57cmV0dXJuIHggKiAyNTt9LCAxMjEpOwordGVzdENhc2UocmVzdWx0LCAyNSoxMjEgLCJFcnJv
cjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkg
YXMgYmxvY2s6IGYoeCA9PiB7cmV0dXJuIHggKiAyNTt9LCAxMjEpIik7CisKK3Jlc3VsdCA9IGFy
cm93RnVuY3Rpb25XcmFwcGVyMigoeCwgeSk9PntyZXR1cm4geCAqIHk7fSwgMTQsIDEyKTsKK3Rl
c3RDYXNlKHJlc3VsdCwgMTQqMTIgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6IGYoKHgsIHkpPT57cmV0dXJuIHgg
KiB5O30sIDE0LCAxMjEpKSIpOworCit2YXIgc2ltcGxlQXJyb3dGdW5jdGlvbiA9ICgpID0+IHt9
OworCit0ZXN0Q2FzZSh0eXBlb2Ygc2ltcGxlQXJyb3dGdW5jdGlvbiwgImZ1bmN0aW9uIiwgIkVy
cm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2Fz
ZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yoc2ltcGxlQXJyb3dGdW5jdGlvbiksIEZ1bmN0aW9uLnBy
b3RvdHlwZSwgIkVycm9yOiBOb3QgY29ycmVjdCBnZXRQcm90b3R5cGVPZiB2YWx1ZSBmb3IgYXJy
b3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2Uoc2ltcGxlQXJyb3dGdW5jdGlvbiBpbnN0YW5jZW9m
IEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgaW5zdGFuY2Vv
ZiBtZXRob2QgZm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93RnVu
Y3Rpb24uY29uc3RydWN0b3IgPT0gRnVuY3Rpb24sIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3Qg
cmVzdWx0IGZvciBjb25zdHJ1Y3RvciBtZXRob2Qgb2YgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVz
dENhc2UodHlwZW9mIHNpbXBsZUFycm93RnVuY3Rpb24ucHJvdG90eXBlID09PSAndW5kZWZpbmVk
JywgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJv
dyBmdW5jdGlvbiIpOworCit2YXIgZXJyb3JPbkNyZWF0ZSA9IGZhbHNlOworCit0cnkgeworICB2
YXIgZmMgPSBuZXcgc2ltcGxlQXJyb3dGdW5jdGlvbigpOworfQorY2F0Y2ggKGUpIHsKKyAgZXJy
b3JPbkNyZWF0ZSA9IHRydWU7Cit9CisKK3Rlc3RDYXNlKGVycm9yT25DcmVhdGUsIHRydWUsICJF
cnJvcjogTm8gZXJyb3IgZHVyaW5nIHJ1biBuZXcgQXJyb3dGdW5jdGlvbiIpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcg
Yi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpp
bmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2OTcy
ZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUs
NyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FO
VkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZ
TlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NTU19BTklNQVRJT05T
X0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMjsKQEAgLTIxNCw0ICsyMTUs
NCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9B
UklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVS
RV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFC
TEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NB
Q0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19Q
Uk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5U
QVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFC
TEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JS
RUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRB
VElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9O
UykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQo
RU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxF
X0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5B
QkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJM
RV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxF
X0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQo
RU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVO
QUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxF
X0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJF
Q0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElN
RVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NP
TlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQo
RU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJM
RV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykg
JChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdB
Q1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRD
SCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5B
QkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVU
RVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkg
JChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NP
TkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lO
KSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9Y
SU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RB
KSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRP
Q09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05f
TUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xM
X1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAk
KEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19P
VEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFC
TEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RS
QUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChF
TkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdf
TU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5B
QkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJ
WkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFC
TEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxF
X0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVO
QUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJM
RV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVf
QUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQo
RU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAk
KEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVf
Q1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19C
T1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9D
U1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVf
Q1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChF
TkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJM
RV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5F
X0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVN
RV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1Rf
RUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19F
TEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRT
X0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURf
RVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFC
TEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElE
REVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChF
TkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5D
T01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1Nf
R0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lP
U19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5B
QkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJP
TFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VT
RV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJM
RV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFC
TEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNF
UykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNU
KSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5B
QkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVO
QUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChF
TkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJM
RV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRT
KSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9E
RVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJ
WklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcp
ICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChF
TkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVF
KSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChF
TkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRU
X1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9G
VExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRf
QVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwppbmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4
YTc2OTcyZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpA
QCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7
CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVf
RVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFC
TEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0g
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NT
U19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMjsKQEAg
LTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJB
VEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJ
QzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9M
TElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQp
ICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5B
QkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VT
Nl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1Bf
TkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9E
RUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19E
RVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJM
RV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NT
U19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJF
QUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hB
TkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVN
RU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1F
TlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09O
U1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVO
VFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9H
QU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5f
UEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBM
RVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9X
RUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxF
X0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVf
TElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19T
Q1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykg
JChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NV
UlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05B
VklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
REZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAk
KEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQo
RU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVf
UkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxF
X1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJM
RV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NU
UkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQo
RU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVD
VElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChF
TkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQo
RU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJf
QVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJM
RV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVH
SU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9K
SVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklU
SE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZB
UykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZf
Q0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFS
VElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAk
KEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChF
TkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklO
RykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQo
RU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5H
KSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9V
VCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVT
T0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVW
RUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NT
UzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVf
Q1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFC
TEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFC
TEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJM
RV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FN
RVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikg
JChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05E
QVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJ
RV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
Ul9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAk
KEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVS
UFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVf
TUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAk
KEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VU
SUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElD
X1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05f
RlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5T
UEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJf
QkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhF
U0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFC
TEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBI
T05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxF
X1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9J
Q09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VM
RUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9E
QVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJH
TCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJf
U09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChF
TkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xU
KSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVS
QVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwppbmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFmODYw
Li4xMTQ4YTc2OTcyZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1NTBhMDUxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpA
QCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7
CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVf
RVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFC
TEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0g
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NT
U19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMjsKQEAg
LTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJB
VEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJ
QzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9M
TElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQp
ICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5B
QkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VT
Nl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1Bf
TkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9E
RUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19E
RVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJM
RV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NT
U19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJF
QUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hB
TkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVN
RU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1F
TlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09O
U1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVO
VFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9H
QU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5f
UEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBM
RVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9X
RUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxF
X0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVf
TElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19T
Q1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykg
JChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NV
UlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05B
VklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
REZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAk
KEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQo
RU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVf
UkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxF
X1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJM
RV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NU
UkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQo
RU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVD
VElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChF
TkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQo
RU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJf
QVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJM
RV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVH
SU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9K
SVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklU
SE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZB
UykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZf
Q0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFS
VElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAk
KEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChF
TkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklO
RykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQo
RU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5H
KSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9V
VCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVT
T0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVW
RUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NT
UzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVf
Q1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFC
TEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFC
TEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJM
RV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FN
RVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikg
JChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05E
QVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJ
RV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
Ul9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAk
KEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVS
UFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVf
TUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAk
KEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VU
SUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElD
X1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05f
RlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5T
UEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJf
QkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhF
U0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFC
TEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBI
T05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxF
X1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9J
Q09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VM
RUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9E
QVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJH
TCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJf
U09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChF
TkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xU
KSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVS
QVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlIGIvU291cmNl
L2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCmluZGV4IGY3NDdkYzgxNDExMzNjODk1YTNkYTM3
ODNiNGFlNTVkZTVhMDQyYmMuLjZiZDhiOTZjNzFlMmY1MmM2ZjhkNTNjNDE1MjIxZjg5ZTYxZDA2
OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQorKysgYi9T
b3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKQEAgLTM5LDYgKzM5LDcgQEAgbWFjcm8o
V0VCS0lUX09QVElPTl9CRUdJTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ0FO
VkFTX1BST1hZICJUb2dnbGUgQ2FudmFzUHJveHkgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9P
UFRJT05fREVGSU5FKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyAiVG9nZ2xlIE1lc3NhZ2VDaGFu
bmVsIGFuZCBNZXNzYWdlUG9ydCBzdXBwb3J0IiBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklO
RShFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCAiVG9nZ2xlIEVTNiBjbGFzcyBzeW50YXggc3VwcG9y
dCIgT04pCisgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCAiVG9nZ2xlIEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXggc3VwcG9ydCIgT04pCiAg
ICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HICJUb2dnbGUg
Y29udGVudCBmaWx0ZXJpbmcgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5F
KEVOQUJMRV9DT05URVhUX01FTlVTICJUb2dnbGUgQ29udGV4dCBNZW51IHN1cHBvcnQiIE9OKQog
ICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DU1BfTkVYVCAiVG9nZ2xlIENvbnRlbnQg
U2VjdXJpdHkgUG9saWN5IDEuMSBzdXBwb3J0IiBPRkYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21h
a2Vjb25maWcuaC5jbWFrZSBiL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCmluZGV4IDVlOTgz
ZDVlNjViMDdlZjdkYzUzZWM5ZDNjNmE4YTI5MzkxNzVjYjIuLjIzZGFmNTk2NjM1MDIyZGY0MjBm
MjhhZGE2N2Q5MzQ3N2NhMGUyZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNt
YWtlCisrKyBiL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCkBAIC0xNCw2ICsxNCw3IEBACiAj
Y21ha2VkZWZpbmUwMSBFTkFCTEVfQ0FOVkFTX1BST1hZCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFY
CisjY21ha2VkZWZpbmUwMSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYCiAjY21ha2Vk
ZWZpbmUwMSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9D
T05URVhUX01FTlVTCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ1JFREVOVElBTF9TVE9SQUdFCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0gYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KaW5kZXggMDAwMzJjMWQwMjU0ZjRk
NmE3YTBmY2E1NTMxYjM0MWQzNWQyOTU3Mi4uNGRlN2YxM2Q1MzA5N2UyNTk3YWQ4YjMzMzBkMjVj
MWFkY2Y2NmUyZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVM
aXN0LnBtCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQpAQCAt
NDQsNiArNDQsNyBAQCBCRUdJTiB7CiBteSAoCiAgICAgJHRocmVlRFJlbmRlcmluZ1N1cHBvcnQs
CiAgICAgJGFjY2VsZXJhdGVkMkRDYW52YXNTdXBwb3J0LAorICAgICRhcnJvd2Z1bmN0aW9uU3lu
dGF4LAogICAgICRhdHRhY2htZW50RWxlbWVudFN1cHBvcnQsCiAgICAgJGJhdHRlcnlTdGF0dXNT
dXBwb3J0LAogICAgICRjYW52YXNQYXRoU3VwcG9ydCwKQEAgLTE1NSw5ICsxNTYsMTMgQEAgbXkg
QGZlYXR1cmVzID0gKAogICAgIHsgb3B0aW9uID0+ICJhY2NlbGVyYXRlZC0yZC1jYW52YXMiLCBk
ZXNjID0+ICJUb2dnbGUgQWNjZWxlcmF0ZWQgMkQgQ2FudmFzIHN1cHBvcnQiLAogICAgICAgZGVm
aW5lID0+ICJFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTIiwgZGVmYXVsdCA9PiBpc0d0aygp
LCB2YWx1ZSA9PiBcJGFjY2VsZXJhdGVkMkRDYW52YXNTdXBwb3J0IH0sCiAKKyAgICB7IG9wdGlv
biA9PiAiYXJyb3dmdW5jdGlvbi1zeW50YXgiLCBkZXNjID0+ICJUb2dnbGUgRVM2IGFycm93IGZ1
bmN0aW9uIHN5bnRheCBzdXBwb3J0IiwKKyAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCIsIGRlZmF1bHQgPT4gMSwgdmFsdWUgPT4gXCRhcnJvd2Z1bmN0aW9u
U3ludGF4IH0sCisKICAgICB7IG9wdGlvbiA9PiAiYXR0YWNobWVudC1lbGVtZW50IiwgZGVzYyA9
PiAiVG9nZ2xlIEF0dGFjaG1lbnQgRWxlbWVudCBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAi
RU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCIsIGRlZmF1bHQgPT4gMCwgdmFsdWUgPT4gXCRhdHRh
Y2htZW50RWxlbWVudFN1cHBvcnQgfSwKIAorCiAgICAgeyBvcHRpb24gPT4gImJhdHRlcnktc3Rh
dHVzIiwgZGVzYyA9PiAiVG9nZ2xlIEJhdHRlcnkgU3RhdHVzIHN1cHBvcnQiLAogICAgICAgZGVm
aW5lID0+ICJFTkFCTEVfQkFUVEVSWV9TVEFUVVMiLCBkZWZhdWx0ID0+IGlzRWZsKCksIHZhbHVl
ID0+IFwkYmF0dGVyeVN0YXR1c1N1cHBvcnQgfSwKIApkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIv
Q2hhbmdlTG9nCmluZGV4IDI5MTRmNjFkYmQxNjAzNzZkZTUyODFlMzE3MjhmZjdiMmE5NWY4ZGIu
LjVlZDMyODhjZWIzZDE5NzIwZTg0MDM3ZjdhNTgwMjM1ZDY0ZWE3ZTQgMTAwNjQ0Ci0tLSBhL0No
YW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNS0wNC0xNyAgIFNr
YWNoa292IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJ
bXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICBBZGRlZCBmZWF0dXJlIGZsYWcgdG8gc3dpdGNo
IG9uL29mZiBlczYgYXJyb3cgZnVuY3Rpb24gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WAorCisgICAgICAgICAqIFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZToKKyAgICAg
ICAgICogU291cmNlL2NtYWtlY29uZmlnLmguY21ha2U6CisKIDIwMTUtMDQtMTYgIEJhc2lsZSBD
bGVtZW50ICA8YmFzaWxlX2NsZW1lbnRAYXBwbGUuY29tPgogCiAgICAgICAgIEV4dHJhY3QgdGhl
IGFsbG9jYXRpb24gcHJvZmlsZSBmcm9tIEpTRnVuY3Rpb24gaW50byBhIHJhcmUgb2JqZWN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251057</attachid>
            <date>2015-04-17 15:20:05 -0700</date>
            <delta_ts>2015-04-17 15:50:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150418011904.patch</filename>
            <type>text/plain</type>
            <size>146575</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyOTY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
OTJjZWEyY2M3YzFmYjQzOGQzYzQ5YWViZWQxNTI2MDk2OTEzMWI1Li5hYzAxNmZiY2I0YjA3YWRk
YzliM2VjZDk1NWM0YWM4MTQyMmY0ZTdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMzEgQEAKKzIwMTUtMDQtMTcgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKyAgICAgICAgU21hbGwgcmVmYWN0b3Jpbmcgb2YgdGhlIHBhcmNlci5jcHAgZmls
ZS4gSXQgaXMgbmVjZXNzYXJ5IHRvIGluY3JlYXNlIHJlYWRhYmlsaXR5IG9mIHRoZSBwYXRjaAor
ICAgICAgICB3aXRoIEVTNiBBcnJvdyBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAg
KiBwYXJzZXIvUGFyc2VyLmg6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisKKzIwMTUt
MDQtMTMgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAg
ICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgc3VwcG9ydCBvZiBF
UzYgYXJyb3cgZnVuY3Rpb24uIENoYW5nZXMgd2VyZSBtYWRlIGFjY29yZGluZyBmb2xsb3dpbmcg
c3BlYyBodHRwOi8vd2lraS5lY21hc2NyaXB0Lm9yZy9kb2t1LnBocD9pZD1oYXJtb255OmFycm93
X2Z1bmN0aW9uX3N5bnRheAorICAgICAgICBJbiBwYXRjaCB3ZXJlIGltcGxlbWVudGVkIHRoZSBz
aW1wbGVzdCBjYXNlczoKKyAgICAgICAgICAxIG5vIHBhcmFtZXRlcnMgICAgICAgICAgICAgICAg
KCkgPT4gMTAgKyAyMAorICAgICAgICAgIDIgc2luZ2xlIHBhcmFtZXRlciAgICAgICAgICAgICAg
eCA9PiB4ICsgMjAKKyAgICAgICAgICAzIG11bHRpcGxlIHBhcmFtZXRlcnMgICAgICAoeCwgeSkg
PT4geCArIHkKKyAgICAgICAgICA0IGFycm93IGZ1bmN0aW9uIHdpdGggYmxvY2sgICAgIHggPT4g
eyByZXR1cm4geCoxMDsgfQorICAgICAgICAgIDUgbGV4aWNhbCB0aGlzIC0gdmFyaWFibGUgdGhp
cyBpcyBwb2ludCB0byB0aGUgdGhpcyBvZiB0aGUgZnVuY3Rpb24gd2hlcmUgYXJyb3cgZnVuY3Rp
b24gaXMgZGVjbGFyZWQKKyAgICAgICAgICA2IE5vIGNvbnN0cnVjdG9yIC0gdGhlIHVzaW5nIG9m
IHRoZSBjb21tYW5kIG5ldyBmb3IgYXJyb3cgZnVuY3Rpb24gbGVhZHMgdG8gcnVudGltZSBlcnJv
ci4gCisKKyAgICAgICAgIE5vdCB5ZXQgaW1wbGVtZW50ZWQ6CisgICAgICAgICAgMSB0aGUgdmFy
aWFibGUgd2l0aCBuYW1lIGFyZ3VtZW50cyBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uIHNo
b3VsZCBwb2ludCB0byBsaXN0IG9mIGFyZ3VtZW50cyBvZiBmdW5jdGlvbiB3aGVyZSBhcnJvdyBm
dW5jdGlvbiBpcyBkZWNsYXJlZAorICAgICAgICAgIDIgcGFyc2VyIHdpbGwgcGFyc2UgdGhlIHN0
YXRlbWVudCB4LCB5ID0+IHggKyB5IGluc3RlYWQgb2YgcmFpc2luZyBleGNlcHRpb24KKyAgICAg
ICAgICAzIG1ldGhvZCBjYWxsLCBhcHBseSwgYmluZCBzaG91bGQgbm90IG92ZXJyaWRlIHRoZSB0
aGlzIHZhcmlhYmxlIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24KKworICAgICAgICAqIENv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIEphdmFTY3Jp
cHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvajoKKyAgICAgICAgKiBieXRlY29k
ZS9CeXRlY29kZUxpc3QuanNvbjoKKyAgICAgICAgKiBieXRlY29kZS9CeXRlY29kZVVzZURlZi5o
OgorICAgICAgICAoSlNDOjpGdW5jdG9yOjpjb21wdXRlVXNlc0ZvckJ5dGVjb2RlT2Zmc2V0KToK
KyAgICAgICAgKiBieXRlY29kZS9Db2RlQmxvY2suY3BwOgorICAgICAgICAoSlNDOjpDb2RlQmxv
Y2s6OmR1bXBCeXRlY29kZSk6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJh
dG9yLmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAg
ICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVz
c2lvbik6IGFkZGVkCisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0VGhpc05v
ZGVCeXRlY29kZSk6IGFkZGVkCisgICAgICAgICogYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5j
cHA6CisgICAgICAgIChKU0M6OmVtaXRCeXRlY29kZTo6ZW1pdEJ5dGVjb2RlKTogYWRkZWQKKyAg
ICAgICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGU6OmVtaXRCeXRlY29kZSk6IGFkZGVkCisgICAg
ICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZUNvZGVQ
YXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAqIGRmZy9ERkdDYXBhYmlsaXRpZXMuY3BwOgor
ICAgICAgICAoSlNDOjpDYXBhYmlsaXR5TGV2ZWw6OmNhcGFiaWxpdHlMZXZlbCk6CisgICAgICAg
ICogaml0L0pJVC5oOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfbmV3X2Fycm93X2Z1bmNf
ZXhwKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUSW5saW5lcy5oOgorICAgICAgICAoSlNDOjpK
SVQ6OmNhbGxPcGVyYXRpb24pOiBhZGRlZAorICAgICAgICAqIGppdC9KSVQuY3BwOgorICAgICAg
ICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3MpOgorICAgICAgICAqIGppdC9KSVRP
cGNvZGVzLmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX25ld19hcnJvd19mdW5jX2V4
cCk6IGFkZGVkCisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMuY3BwOgorICAgICAgICAoSlND
OjpKSVRfT1BFUkFUSU9OOjpvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKTogYWRkZWQKKyAgICAg
ICAgKiBqaXQvSklUT3BlcmF0aW9ucy5oOgorICAgICAgICAoSlNDOjpKSVRfT1BFUkFUSU9OOjpv
cGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKTogYWRkZWQKKyAgICAgICAgKiBsbGludC9MTEludFNs
b3dQYXRocy5jcHA6CisgICAgICAgIChMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfbmV3
X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBsbGludC9MTEludFNsb3dQYXRocy5o
OgorICAgICAgICAoTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX25ld19hcnJvd19mdW5j
X2V4cCkpOiBhZGRlZAorICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOgor
ICAgICAgICAqIHBhcnNlci9BU1RCdWlsZGVyLmg6CisgICAgICAgIChKU0M6OkFTVEJ1aWxkZXI6
OmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAgICAgKiBwYXJzZXIvTGV4ZXIuY3BwOgor
ICAgICAgICAoSlNDOjpMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlvbik6CisgICAgICAgIChKU0M6
OkxleGVyPFQ+OjpsZXgpOgorICAgICAgICAqIHBhcnNlci9MZXhlci5oOgorICAgICAgICAoSlND
OjpMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlvbik6CisgICAgICAgICogcGFyc2VyL05vZGVDb25z
dHJ1Y3RvcnMuaDoKKyAgICAgICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGU6OkFycm93RnVuY0V4
cHJOb2RlKTogYWRkZWQKKyAgICAgICAgKiBwYXJzZXIvTm9kZXMuaDoKKyAgICAgICAgKEpTQzo6
Tm9kZTo6aXNBcnJvd0Z1bmNFeHByTm9kZSk6IGFkZGVkCisgICAgICAgIChKU0M6OkFycm93RnVu
Y0V4cHJOb2RlKTogYWRkZWQgY2xhc3MKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAg
ICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMpOgorICAg
ICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmVzc2lvbik6Cisg
ICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VTb3VyY2VFbGVtZW50KToKKyAgICAgICAgKEpTQzo6
UGFyc2VyOjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBc3Np
Z25tZW50RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VQcmltYXJ5RXhw
cmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0V4cHJlc3Npb24pOgor
ICAgICAgICAoSlNDOjpQYXJzZXI6OnNldEVuZE9mU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6
UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwYXJzZUFycm93RnVuY3Rpb25JbmZvKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFy
cm93RnVuY3Rpb25Cb2R5KToKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmg6CisgICAgICAgIChK
U0M6OlBhcnNlcjo6RnVuY3Rpb25QYXJzZVR5cGUpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBh
cnNlU291cmNlRWxlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VTdGF0ZW1lbnQp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dFeHByZXNzaW9uKToKKyAgICAgICAg
KEpTQzo6UGFyc2VyOjpzZXRFbmRPZlN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6
cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcik6CisgICAgICAgICogcGFyc2VyL1BhcnNlckZ1bmN0
aW9uSW5mby5oOgorICAgICAgICAqIHBhcnNlci9QYXJzZXJUb2tlbnMuaDoKKyAgICAgICAgKEpT
Qzo6UGFyc2VyRnVuY3Rpb25JbmZvOjphcnJvd0Z1bmN0aW9uT2Zmc2V0KTogYWRkZWQKKyAgICAg
ICAgKEpTQzo6UGFyc2VyRnVuY3Rpb25JbmZvOjppc0Fycm93RnVuY3Rpb24pOiBhZGRlZAorICAg
ICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmFycm93RnVuY3Rpb25Cb2R5VHlwZSk6IGFk
ZGVkCisgICAgICAgICogcGFyc2VyL1NvdXJjZUNvZGUuaDoKKyAgICAgICAgKEpTQzo6U291cmNl
Q29kZTo6c3ViQXJyb3dFeHByZXNzaW9uKToKKyAgICAgICAgKiBwYXJzZXIvU3ludGF4Q2hlY2tl
ci5oOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVhdGVBcnJvd0Z1bmN0aW9uRXhw
cik6CisgICAgICAgICogcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOgorICAgICAgICAo
SlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFyYW1ldGVycyk6CisgICAgICAg
IChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKToKKyAgICAgICAgKEpTQzo6U291cmNlUHJv
dmlkZXJDYWNoZUl0ZW06OmVuZEFycm93RnVuY3Rpb25Ub2tlbik6CisgICAgICAgICogcnVudGlt
ZS9KU0Fycm93RnVuY3Rpb24uaDogYWRkZWQgY2xhc3MgZm9yIGhhbmRsZSBhcnJvdyBmdW5jdGlv
biBjcmVhdGlvbiBhbmQgZXhlY3V0aW9uCisgICAgICAgICogcnVudGltZS9KU0Fycm93RnVuY3Rp
b24uY3BwOgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbi5oOgorICAgICAgICAoSlNDOjpK
U0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKTogYWRkZWQgb25lIG1vcmUgY29uc3RydWN0b3IKKyAgICAg
ICAgKiBydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkpTRnVuY3Rp
b246OkpTRnVuY3Rpb24pOiBhZGRlZCBjb25zdHJ1Y3RvciBpbXBsZW1lbnRhdGlvbgorICAgICAg
ICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9i
amVjdDo6aW5pdCk6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0OjptX2Fycm93RnVuY3Rp
b25TdHJ1Y3R1cmUpOiBhZGRlZAorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6YXJyb3dG
dW5jdGlvblN0cnVjdHVyZSk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2pzL2Fycm93ZnVuY3Rp
b24uanM6CisKKzIwMTUtMDQtMTIgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdtYWls
LmNvbT4KKyAgICAgICAgU21hbGwgcmVmYWN0b3Jpbmcgb2YgdGhlIHBhcmNlci5jcHAgZmlsZS4g
SXQgaXMgbmVjZXNzYXJ5IHRvIGluY3JlYXNlIHJlYWRhYmlsaXR5IG9mIHRoZSBwYXRjaAorICAg
ICAgICB3aXRoIEVTNiBBcnJvdyBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgKiBw
YXJzZXIvUGFyc2VyLmg6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisKIDIwMTUtMDQt
MTcgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgW0VT
Nl0gRml4IG5hbWUgZW51bWVyYXRpb24gb2Ygc3RhdGljIGZ1bmN0aW9ucyBmb3IgU3ltYm9sIGNv
bnN0cnVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjc4ZDQ2MjY3MmEwNjUwZjBlODdjOTliOTcwZDQ3NTc5
YTYyNWM1ZS4uYzk3YzRjNGFmNGYwMWQ0MWM2NTg3MzE4MjQ3NDM2MDVkMTZhZmMxYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTA0LTE3ICBTa2FjaGtvdiBBbGV4YW5kciAgPGdz
a2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBm
dW5jdGlvbiBzeW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE0MDg1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
IGZvciBhcnJvdyBmdW5jdGlvbgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWc6CisKIDIwMTUtMDQtMTcgIEJldGggRGFraW4gIDxiZGFraW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIEZvcmNlIG1vdXNlIGV2ZW50cyBzaG91bGQgZ28gdGhyb3VnaCBub3Jt
YWwgbW91c2UgZXZlbnQgaGFuZGxpbmcgY29kZSBwYXRocwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGEx
MzA1OTY5Yzk4MWZhNmJjNjJlMjk2MDZkODZiNDVhZTYwZjY4OWEuLjNmMzYyYzE2MzkwNzc1ODRj
MzAwZTZlMTY5OTUxZTU3N2JiYWE0NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBA
QAorMjAxNS0wNC0xNyAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgor
CisgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmZWF0dXJl
IGZsYWcgRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rpb24K
KworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAy
MDE1LTA0LTE3ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBS
RUdSRVNTSU9OOiBTVkcgZG9lcyBub3Qgc3VwcG9ydCBsaW5rIGRyYWdnaW5nCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZmJjZTBiNmI5OTZjMjE4OTI3ZWUzNDRhM2YzMjFi
ZmI4NDcwYzc5Mi4uMjdmY2U2ODkwMjEzYTIxZTM0OThjNmJmYTQ0NjQyMmQ0Yjg2OTIyZiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNDY3LDYgKzQ2Nyw3IEBAIHNldChK
YXZhU2NyaXB0Q29yZV9SVU5USU1FX1NPVVJDRVMKICAgICBydW50aW1lL0pTQXJyYXlCdWZmZXJW
aWV3LmNwcAogICAgIHJ1bnRpbWUvSlNBcnJheUl0ZXJhdG9yLmNwcAogICAgIHJ1bnRpbWUvSlNC
b3VuZEZ1bmN0aW9uLmNwcAorICAgIHJ1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcAogICAgIHJ1
bnRpbWUvSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxlLmNwcAogICAgIHJ1bnRpbWUvSlNDSlNWYWx1
ZS5jcHAKICAgICBydW50aW1lL0pTQ2FsbGVlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmlu
ZGV4IDhiMTEyZmFlNDViOTU3ZGQyNjQxZmRiNmY0Njg5ODgwNTg5YWY4NjAuLjExNDhhNzY5NzJm
MTE0YzM4M2QzMjYyOWYxZjA5M2M2ODU1MGEwNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
QEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRI
OwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVO
QUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxF
X0VTNl9DTEFTU19TWU5UQVg7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5B
QkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9
IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9D
U1NfQU5JTUFUSU9OU19MRVZFTF8yID0gRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBA
IC0yMTQsNCArMjE1LDQgQEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVS
QVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVU
SUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVf
QUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5U
KSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVO
QUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9F
UzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQ
X05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hf
REVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1Nf
REVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NT
X0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFC
TEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9D
U1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JS
RUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9I
QU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxF
TUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVN
RU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NP
TlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZF
TlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVf
R0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVO
X1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFC
TEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01Q
TEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
V0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VT
VFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxF
X0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNf
U0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1Mp
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9O
QVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
UERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykg
JChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAk
KEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxF
X1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJM
RV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFC
TEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9T
VFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAk
KEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRF
Q1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQo
RU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAk
KEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VC
X0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFC
TEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JF
R0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExf
SklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJ
VEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJ
TkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5W
QVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZG
X0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BB
UlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkg
JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQo
RU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
TkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAk
KEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElO
RykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlP
VVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JF
U09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xF
VkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9D
U1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxF
X0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5B
QkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5B
QkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFC
TEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dB
TUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09O
REFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5E
SUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkg
JChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9W
RU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRF
UlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxF
X01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9N
RURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkg
JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChF
TkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJ
Q19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9O
X0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lO
U1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVS
X0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRI
RVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5B
QkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJM
RV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hf
SUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNF
TEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVf
REFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VC
R0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VC
X1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQo
RU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNM
VCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRV
UkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RF
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hw
cm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCmluZGV4IGZmN2E4ZTE2NzI3
YWYyNGViY2FjMzY4NzBhNTBkYTUxNGZjOTBmNmUuLjNkZmRkY2I3ZTFmYzhiMTU3ZmE3YTU2ZjRk
ZmFmMzhlNTZlYWIwMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagpA
QCAtNzMyLDYgKzczMiw3IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpT
QXJyYXlCdWZmZXJQcm90b3R5cGUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
cnVudGltZVxKU0FycmF5QnVmZmVyVmlldy5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLlxydW50aW1lXEpTQm91bmRGdW5jdGlvbi5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxydW50aW1lXEpTQXJyb3dGdW5jdGlvbi5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxydW50aW1lXEpTQ0pTVmFsdWUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5ccnVudGltZVxKU0NhbGxlZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLlxydW50aW1lXEpTQ2F0Y2hTY29wZS5jcHAiIC8+CkBAIC0xNTI3LDYgKzE1MjgsNyBAQAog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0FycmF5QnVmZmVyVmlld0lubGlu
ZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJheUl0ZXJh
dG9yLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQm91bmRGdW5j
dGlvbi5oIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0Fycm93RnVu
Y3Rpb24uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSW5saW5l
cy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NKU1ZhbHVlLmgi
IC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0pTVmFsdWVJbmxpbmVz
LmgiIC8+CkBAIC0xODA0LDQgKzE4MDYsNCBAQAogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVu
c2lvblRhcmdldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxCdWls
ZEN1c3RvbWl6YXRpb25zXG1hc20udGFyZ2V0cyIgLz4KICAgPC9JbXBvcnRHcm91cD4KLTwvUHJv
amVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L1Byb2plY3Q+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IGJhOWJlMGZiNjFiYzY4ZGM4ZmQyNWIwZjMxODVjNzMwM2I4
OGIyZDkuLmNiZmQwZmEyYmMwMDA4ZjU0ZTk5MDM0MjQyNDE0NDkwYmM5ZmM1ZGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDk2LDYgKzEwOTYsOCBAQAogCQk4NkYzRUVCRjE2
OENERTkzMDA3N0I5MkEgLyogT2JqY1J1bnRpbWVFeHRyYXMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RjNFRUI2MTY4NTVBNUIwMDc3QjkyQSAvKiBP
YmpjUnVudGltZUV4dHJhcy5oICovOyB9OwogCQk4NkZBOUU5MTE0MkJCQjJFMDAxNzczQjcgLyog
SlNCb3VuZEZ1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3Bw
ICovOyB9OwogCQk4NkZBOUU5MjE0MkJCQjJFMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkZBOUU5MDE0
MkJCQjJFMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmggKi87IH07CisJCThCMEY0MjRDMUFC
RDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpT
QXJyb3dGdW5jdGlvbi5jcHAgKi87IH07CisJCThCMEY0MjRDMUFCRDZERTIwMDM5MTdFQSAvKiBK
U0Fycm93RnVuY3Rpb24uaCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDhCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uaCAqLzsg
fTsKIAkJOTAyMTNFM0QxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTAyMTNFM0IxMjNB
NDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwICovOyB9OwogCQk5MDIxM0UzRTEy
M0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTAyMTNFM0MxMjNBNDBDMjAwRDQyMkYzIC8qIE1l
bW9yeVN0YXRpc3RpY3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk5MzA1MkMzNDBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMwNTJDMzIwRkI3
OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNwcCAqLzsgfTsKQEAgLTI4MzEsNiArMjgzMyw4
IEBACiAJCTg2Rjc1RUZEMTUxQzA2MkYwMDdDOUJBMyAvKiBSZWdFeHBNYXRjaGVzQXJyYXkuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVnRXhwTWF0Y2hlc0FycmF5
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODZGQTlFOEYxNDJCQkIyRDAwMTc3
M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0JvdW5kRnVuY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk4NkZBOUU5MDE0MkJCQjJFMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQm91bmRGdW5jdGlvbi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk4QjBGNDI0QTFBQkQ2RDJGMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0
aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQXJyb3dGdW5jdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk4QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9u
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXJyb3dGdW5jdGlv
bi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkwMjEzRTNCMTIzQTQwQzIwMEQ0
MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IE1lbW9yeVN0YXRpc3RpY3MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk5MDIxM0UzQzEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZW1vcnlTdGF0aXN0aWNzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMDUyQzMyMEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJB
cmVuYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQYXJzZXJBcmVu
YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00NDQyLDYgKzQ0NDYsOCBAQAog
CQkJCUE3QkRBRUM1MTdGNEVBMTQwMEY2MTQwQyAvKiBKU0FycmF5SXRlcmF0b3IuaCAqLywKIAkJ
CQk4NkZBOUU4RjE0MkJCQjJEMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAqLywKIAkJ
CQk4NkZBOUU5MDE0MkJCQjJFMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmggKi8sCisJCQkJ
OEIwRjQyNEExQUJENkQyRjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oICovLAorCQkJCThC
MEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uY3BwICovLAogCQkJCTY1
N0NGNDU2MTlCRjY2NjIwMDRBQ0JGMiAvKiBKU0NhbGxlZS5jcHAgKi8sCiAJCQkJNjU3Q0Y0NTcx
OUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmggKi8sCiAJCQkJMEZEOTQ5N0UxQTk3REI5NjAw
RTI4OTY2IC8qIEpTQ2F0Y2hTY29wZS5jcHAgKi8sCkBAIC03MTc1LDYgKzcxODEsNyBAQAogCQkJ
CTBGRDhBMzFCMTdENTFGMjIwMENBMkM0MCAvKiBGVExPU1JFbnRyeS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwRjIzNUJEQzE3MTc4RTFDMDA2OTBDN0YgLyogRlRMT1NSRXhpdC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkwRjIzNUJERjE3MTc4RTFDMDA2OTBDN0YgLyogRlRMT1NSRXhpdENvbXBp
bGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCThCMEY0MjRDMUFCRDZERTIwMDM5MTdFQSAvKiBK
U0Fycm93RnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZFQTBBMkExNzA5NjI5NjAw
QkI3MjJDIC8qIEZUTE91dHB1dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjQ4NTMyOTE4N0RG
REVDMDA4M0I2ODcgLyogRlRMUmVjb3ZlcnlPcGNvZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MEY2QjFDQzMxODYyQzQ3ODAwODQ1RDk3IC8qIEZUTFJlZ2lzdGVyQXRPZmZzZXQuY3BwIGluIFNv
dXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0
ZWNvZGVMaXN0Lmpzb24gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVM
aXN0Lmpzb24KaW5kZXggMjUxNDEyNjNlMzhkMGViMmQxODQ0MWY0ZTZmZmNlMzZlZThmN2NmMi4u
YTM3NjQ3ZjI2ZmJlM2YyNWJhNjI1Yjk5ZjNkYTEyMDFlNDlmZjIwMSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxpc3QuanNvbgpAQCAtOTQsNiArOTQs
NyBAQAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3Bfc3dpdGNoX3N0cmluZyIsICJsZW5ndGgi
IDogNCB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfbmV3X2Z1bmMiLCAibGVuZ3RoIiA6
IDQgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX25ld19mdW5jX2V4cCIsICJsZW5ndGgi
IDogNCB9LAorICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfbmV3X2Fycm93X2Z1bmNfZXhwIiwg
Imxlbmd0aCIgOiA1IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9jYWxsIiwgImxlbmd0
aCIgOiA5IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9jYWxsX2V2YWwiLCAibGVuZ3Ro
IiA6IDkgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGxfdmFyYXJncyIsICJsZW5n
dGgiIDogOSB9LApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5
dGVjb2RlVXNlRGVmLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVV
c2VEZWYuaAppbmRleCBmMjA3MTM5MjMyOTA2NDUzYjdhNTRmNTYxYjliNjQyM2UyZThjZjI3Li45
YjY3YTIyMjFkM2JhMGE2MDZmNDcwOWE1OTljMzEzZTFhM2FiYWE0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaApAQCAtMTE1LDYgKzExNSw5
IEBAIHZvaWQgY29tcHV0ZVVzZXNGb3JCeXRlY29kZU9mZnNldCgKICAgICBjYXNlIG9wX2dldF9w
cm9wZXJ0eV9lbnVtZXJhdG9yOgogICAgIGNhc2Ugb3BfZ2V0X2VudW1lcmFibGVfbGVuZ3RoOgog
ICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6CisjZW5kaWYKICAgICBjYXNl
IG9wX3RvX2luZGV4X3N0cmluZzoKICAgICBjYXNlIG9wX2luaXRfZ2xvYmFsX2NvbnN0X25vcDoK
ICAgICBjYXNlIG9wX2luaXRfZ2xvYmFsX2NvbnN0OgpAQCAtMzA2LDYgKzMwOSw5IEBAIHZvaWQg
Y29tcHV0ZURlZnNGb3JCeXRlY29kZU9mZnNldChDb2RlQmxvY2sqIGNvZGVCbG9jaywgdW5zaWdu
ZWQgYnl0ZWNvZGVPZmZzZXQsCiAgICAgY2FzZSBvcF9uZXdfcmVnZXhwOgogICAgIGNhc2Ugb3Bf
bmV3X2Z1bmM6CiAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRp
ZgogICAgIGNhc2Ugb3BfY2FsbF92YXJhcmdzOgogICAgIGNhc2Ugb3BfY29uc3RydWN0X3ZhcmFy
Z3M6CiAgICAgY2FzZSBvcF9nZXRfZnJvbV9zY29wZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKaW5kZXggMWQ4MjM4NzI4NzhhYzM0MzdjYzUzYTA4N2Yx
YzBmOGEyMGJiNjBmYi4uZTNmNzVmNDQ4MTkwMGJiYjlhODdmYTkyOTAxNDU1ZTdiODBiODUyZCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKQEAgLTEy
OTcsNiArMTI5NywxNyBAQCB2b2lkIENvZGVCbG9jazo6ZHVtcEJ5dGVjb2RlKAogICAgICAgICAg
ICAgb3V0LnByaW50ZigiJXMsICVzLCBmJWQiLCByZWdpc3Rlck5hbWUocjApLmRhdGEoKSwgcmVn
aXN0ZXJOYW1lKHIxKS5kYXRhKCksIGYwKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgY2FzZSBvcF9u
ZXdfYXJyb3dfZnVuY19leHA6IHsKKyAgICAgICAgICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVy
YW5kOworICAgICAgICAgICAgaW50IHIxID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAg
ICBpbnQgZjAgPSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAgICAgICAgIGludCByMiA9ICgrK2l0
KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgcHJpbnRMb2NhdGlvbkFuZE9wKG91dCwgZXhlYywg
bG9jYXRpb24sIGl0LCAib3BfbmV3X2Fycm93X2Z1bmNfZXhwIik7CisgICAgICAgICAgICBvdXQu
cHJpbnRmKCIlcywgJXMsIGYlZCwgJXMiLCByZWdpc3Rlck5hbWUocjApLmRhdGEoKSwgcmVnaXN0
ZXJOYW1lKHIxKS5kYXRhKCksIGYwLCByZWdpc3Rlck5hbWUocjIpLmRhdGEoKSk7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIGNhc2Ugb3BfbmV3X2Z1bmNf
ZXhwOiB7CiAgICAgICAgICAgICBpbnQgcjAgPSAoKytpdCktPnUub3BlcmFuZDsKICAgICAgICAg
ICAgIGludCByMSA9ICgrK2l0KS0+dS5vcGVyYW5kOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAppbmRleCA2ZTE5
OGNhMjdlMDlkYTAyZGM5Y2Y1MzBjMjkyNzdjNTZjYWMyOWI0Li5hZjY1Y2I1M2Q5YzZlNjliOTQ5
NDNiOTNiMzQzYTlkOGIyOTcyODUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcApAQCAtMTc1MSw2ICsxNzUx
LDIyIEBAIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3RnVuY3Rpb25FeHBy
ZXNzaW9uKFJlZ2lzdGVySUQqIHIwLCBGdW5jRXhwCiAgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5k
KGluZGV4KTsKICAgICByZXR1cm4gcjA7CiB9CisgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKK1JlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3QXJy
b3dGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogcjAsIEZ1bmNFeHByTm9kZSogbikKK3sK
KyAgICBlbWl0VERaQ2hlY2sodGhpc1JlZ2lzdGVyKCkpOworICAgIEZ1bmN0aW9uQm9keU5vZGUq
IGZ1bmN0aW9uID0gbi0+Ym9keSgpOworICAgIHVuc2lnbmVkIGluZGV4ID0gbV9jb2RlQmxvY2st
PmFkZEZ1bmN0aW9uRXhwcihtYWtlRnVuY3Rpb24oZnVuY3Rpb24pKTsKKyAgICAKKyAgICBlbWl0
T3Bjb2RlKG9wX25ld19hcnJvd19mdW5jX2V4cCk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5k
KHIwLT5pbmRleCgpKTsKKyAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQoc2NvcGVSZWdpc3Rlcigp
LT5pbmRleCgpKTsKKyAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQoaW5kZXgpOworICAgIGluc3Ry
dWN0aW9ucygpLmFwcGVuZCh0aGlzUmVnaXN0ZXIoKS0+aW5kZXgoKSk7CisgICAgcmV0dXJuIHIw
OworfQorI2VuZGlmCiAKIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3RGVm
YXVsdENvbnN0cnVjdG9yKFJlZ2lzdGVySUQqIGRzdCwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVj
dG9yS2luZCwgY29uc3QgSWRlbnRpZmllciYgbmFtZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAppbmRleCAyZTU5
MDM5ZDNhNDg0YTM0NzI4MTQ0MGVlZjljMWI4MTlmNzI2NWRiLi4xNzkzNWQ0OGVmM2JmMmIyZDE0
MWRmZGMxYWM5Mzc2NzkzMTQ0MmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCkBAIC00NTYsNiArNDU2LDEwIEBA
IG5hbWVzcGFjZSBKU0MgewogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3RnVuY3Rpb25JbnRl
cm5hbChSZWdpc3RlcklEKiBkc3QsIHVuc2lnbmVkIGluZGV4KTsKICAgICAgICAgUmVnaXN0ZXJJ
RCogZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiBkc3QsIEZ1bmNFeHByTm9k
ZSogZnVuYyk7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdEZWZhdWx0Q29uc3RydWN0b3Io
UmVnaXN0ZXJJRCogZHN0LCBDb25zdHJ1Y3RvcktpbmQsIGNvbnN0IElkZW50aWZpZXImIG5hbWUp
OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIFJlZ2lzdGVy
SUQqIGVtaXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiwgRnVuY0V4cHJO
b2RlKik7CisgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRUaGlzTm9kZUJ5dGVjb2RlKFJlZ2lzdGVy
SUQqLCBKU1RleHRQb3NpdGlvbik7CisjZW5kaWYKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5l
d1JlZ0V4cChSZWdpc3RlcklEKiBkc3QsIFJlZ0V4cCopOwogCiAgICAgICAgIFJlZ2lzdGVySUQq
IGVtaXRNb3ZlRW1wdHlWYWx1ZShSZWdpc3RlcklEKiBkc3QpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCmluZGV4IDExNDMyYWYy
M2JiYjYxZTgxNTQyNTIzYjdjMTFhYTdiZGNiNWYzYmYuLjYxYWVmMTQwOGM0MzZkNzRhYjA4Zjdh
MmEwNjhjYzJiMWYwOGNjNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKQEAgLTI4MzEsNiArMjgzMSwxNCBAQCBSZWdpc3Rl
cklEKiBGdW5jRXhwck5vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJh
dG9yLCBSZWdpc3RlcklEKgogICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdE5ld0Z1bmN0aW9uRXhw
cmVzc2lvbihnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QpLCB0aGlzKTsKIH0KIAorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICAgIAorLy8gLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tIEFycm93RnVuY0V4cHJOb2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorUmVnaXN0ZXJJRCogQXJyb3dGdW5jRXhwck5vZGU6OmVtaXRCeXRlY29kZShC
eXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3RlcklEKiBkc3QpCit7CisgICAgcmV0
dXJuIGdlbmVyYXRvci5lbWl0TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oZ2VuZXJhdG9yLmZp
bmFsRGVzdGluYXRpb24oZHN0KSwgdGhpcyk7Cit9CisjZW5kaWYKKyAgICAKICNpZiBFTkFCTEUo
RVM2X0NMQVNTX1NZTlRBWCkKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBDbGFz
c0RlY2xOb2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCmluZGV4IGQ5NzM4ODVj
MWNhMzJhM2M2ZTIwNjBmOTAxZDcyYTI4MWIxODdiNzguLjNmM2VjMTBhZWVjNmU2MDE5OTM4NjRl
ODJlMDM5YWE2OTFiMmExZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQnl0ZUNvZGVQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Qnl0ZUNvZGVQYXJzZXIuY3BwCkBAIC0zNzQ0LDYgKzM3NDQsMTUgQEAgYm9vbCBCeXRlQ29kZVBh
cnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZCBsaW1pdCkKICAgICAgICAgICAgIE5FWFRfT1BDT0RF
KG9wX25ld19mdW5jX2V4cCk7CiAgICAgICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOiB7CisgICAg
ICAgICAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4cHIgPSBtX2lubGluZVN0YWNrVG9wLT5tX3By
b2ZpbGVkQmxvY2stPmZ1bmN0aW9uRXhwcihjdXJyZW50SW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5k
KTsKKyAgICAgICAgICAgIEZyb3plblZhbHVlKiBmcm96ZW4gPSBtX2dyYXBoLmZyZWV6ZVN0cm9u
ZyhleHByKTsKKyAgICAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0
aW9uWzFdLnUub3BlcmFuZCksCisgICAgICAgICAgICAgICAgYWRkVG9HcmFwaChOZXdGdW5jdGlv
biwgT3BJbmZvKGZyb3plbiksIGdldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9u
WzJdLnUub3BlcmFuZCkpKSk7CisgICAgICAgICAgICBORVhUX09QQ09ERShvcF9uZXdfYXJyb3df
ZnVuY19leHApOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgY2FzZSBvcF90eXBlb2Y6IHsK
ICAgICAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUu
b3BlcmFuZCksCiAgICAgICAgICAgICAgICAgYWRkVG9HcmFwaChUeXBlT2YsIGdldChWaXJ0dWFs
UmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCkpKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKaW5kZXggMzIyMjBkZDJiYTVh
ZjVkNmFiODE3NTNlZGU3MzgyZTk1N2Q2ZmFhOC4uNGMzNjVkOWQwNzVjYzZlN2M1ZTE2NmIxOWU2
MzI0NGM3YzdjOWM4MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdD
YXBhYmlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJp
bGl0aWVzLmNwcApAQCAtMjA3LDYgKzIwNyw5IEBAIENhcGFiaWxpdHlMZXZlbCBjYXBhYmlsaXR5
TGV2ZWwoT3Bjb2RlSUQgb3Bjb2RlSUQsIENvZGVCbG9jayogY29kZUJsb2NrLCBJbnN0cnVjCiAg
ICAgY2FzZSBvcF9uZXdfZnVuYzoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKICAgICBjYXNl
IG9wX2NyZWF0ZV9sZXhpY2FsX2Vudmlyb25tZW50OgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6CisjZW5kaWYKICAg
ICAgICAgcmV0dXJuIENhbkNvbXBpbGVBbmRJbmxpbmU7CiAKICAgICBjYXNlIG9wX3B1dF90b19z
Y29wZTogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0lu
dGVycHJldGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnBy
ZXRlci5jcHAKaW5kZXggMTdkZDNiNGY0NWY1NmZmMjAwMjNkNzNiNzVkYzdkNzBiNjM0OTY4Zi4u
MjAwMDVjMDcxNTMzYjE2ODNhZmRhMmQ2MmRjNjVjMDE2N2Q5MTA5NCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCkBAIC00NCw2ICs0
NCw3IEBACiAjaW5jbHVkZSAiRXhjZXB0aW9uSGVscGVycy5oIgogI2luY2x1ZGUgIkdldHRlclNl
dHRlci5oIgogI2luY2x1ZGUgIkpTQXJyYXkuaCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24u
aCIKICNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgi
CiAjaW5jbHVkZSAiSlNMZXhpY2FsRW52aXJvbm1lbnQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxwZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0NDYWxsSGVscGVycy5oCmluZGV4IGZkMzQ0YWRiY2FiYjE1ZmJkODE0ZWQ2ZmJkNDc4Zjc0
YjYxNTc2M2MuLjA3YWNkNmQ1MzJkMzI4YWZkYjc3YWNmMjAxMzM5MGVmMzlkZDlkNjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxwZXJzLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhlbHBlcnMuaApAQCAtMjc0LDYgKzI3NCwxNSBA
QCBwdWJsaWM6CiAgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmcyKTsKICAgICAgICAgYWRkQ2Fs
bEFyZ3VtZW50KGFyZzMpOwogICAgIH0KKyAgICAKKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQgc2V0
dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKEdQUlJlZyBhcmcxLCBUcnVzdGVkSW1tUHRyIGFyZzIs
IEdQUlJlZyBhcmczKQorICAgIHsKKyAgICAgICAgcmVzZXRDYWxsQXJndW1lbnRzKCk7CisgICAg
ICAgIGFkZENhbGxBcmd1bWVudChHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rlcik7CisgICAgICAg
IGFkZENhbGxBcmd1bWVudChhcmcxKTsKKyAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzIpOwor
ICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMyk7CisgICAgfQogCiAgICAgQUxXQVlTX0lOTElO
RSB2b2lkIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShHUFJSZWcgYXJnMSwgR1BSUmVnIGFy
ZzIsIFRydXN0ZWRJbW0zMiBhcmczKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklULmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcApp
bmRleCA4Y2Q5ZmIxMmU4YmY0YjBjNjg3MzhlZjhlZmE3N2M2NWYwODRhZmU4Li41YmM5MTZiOGIz
NDFkYTVjZTUxZjZiNjI3YWZlOTAyYzQ1ODEwMDE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQu
Y3BwCkBAIC0yNjAsNiArMjYwLDcgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3Mo
KQogICAgICAgICBERUZJTkVfT1Aob3BfbmV3X2FycmF5X2J1ZmZlcikKICAgICAgICAgREVGSU5F
X09QKG9wX25ld19mdW5jKQogICAgICAgICBERUZJTkVfT1Aob3BfbmV3X2Z1bmNfZXhwKQorICAg
ICAgICBERUZJTkVfT1Aob3BfbmV3X2Fycm93X2Z1bmNfZXhwKSAKICAgICAgICAgREVGSU5FX09Q
KG9wX25ld19vYmplY3QpCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfcmVnZXhwKQogICAgICAg
ICBERUZJTkVfT1Aob3Bfbm90KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKaW5kZXggMDFhNDEyOTYz
Y2U1OTgzMzJhZjExNmI2MmM3NmNhYjI5MmZmYTE3OC4uZDUwN2ZhZmY3ZGNiYzkyYmEyZmQwZDQ5
YWY5MTg2YzFmZmNjMmRiYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCkBAIC01MjEsNiArNTIx
LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfYXJyYXlfYnVm
ZmVyKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfZnVuYyhJbnN0cnVj
dGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2Z1bmNfZXhwKEluc3RydWN0aW9uKik7
CisgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfYXJyb3dfZnVuY19leHAoSW5zdHJ1Y3Rpb24qKTsK
ICAgICAgICAgdm9pZCBlbWl0X29wX25ld19vYmplY3QoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAg
dm9pZCBlbWl0X29wX25ld19yZWdleHAoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0
X29wX25vdChJbnN0cnVjdGlvbiopOwpAQCAtNzAwLDYgKzcwMSw3IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0
aW9uX0VKSiwgaW50LCBHUFJSZWcsIEdQUlJlZyk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpD
YWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUpzYywgR1BSUmVnKTsKICAgICAgICAg
TWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQywg
aW50LCBHUFJSZWcsIEpTQ2VsbCopOworICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxs
T3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKc2NDSiwgaW50LCBHUFJSZWcsIEpTQ2VsbCosIEdQ
UlJlZyk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRP
cGVyYXRpb25fRUpzY1osIEdQUlJlZywgaW50MzJfdCk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVy
OjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUpzY1osIGludCwgR1BSUmVnLCBp
bnQzMl90KTsKICNpZiBVU0UoSlNWQUxVRTY0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElu
bGluZXMuaAppbmRleCA5ZWUyNGQwOTIyOGE5ODgyZWE3Njk2MjlkMWE4N2I2YzM0YTg2MzM0Li5h
MGU0MGM1YzYxZmU2M2U5ODYzZWQyMjNlZGY1ZDQ1MWYzMThhNzc0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVElubGluZXMuaApAQCAtMjcxLDYgKzI3MSwxMiBAQCBBTFdBWVNfSU5MSU5F
IE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9F
SnNjQyBvcGVyYQogICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0SlNW
YWx1ZVJlc3VsdChvcGVyYXRpb24sIGRzdCk7CiB9CiAKK0FMV0FZU19JTkxJTkUgTWFjcm9Bc3Nl
bWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKc2NDSiBvcGVy
YXRpb24sIGludCBkc3QsIEdQUlJlZyBhcmcxLCBKU0NlbGwqIGNlbGwsIEdQUlJlZyBhcmcyKQor
eworICAgIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBUcnVzdGVkSW1tUHRyKGNl
bGwpLCBhcmcyKTsKKyAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldEpT
VmFsdWVSZXN1bHQob3BlcmF0aW9uLCBkc3QpOworfQorICAgIAogQUxXQVlTX0lOTElORSBNYWNy
b0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRVAgb3Bl
cmF0aW9uLCBpbnQgZHN0LCB2b2lkKiBwb2ludGVyKQogewogICAgIHNldHVwQXJndW1lbnRzV2l0
aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHBvaW50ZXIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wY29kZXMuY3BwCmluZGV4IDRlODIxZDBjM2Q1YTNjNWU2NTgwZDEwMzk2ZWMyODg5
NjM4ODZiNTYuLmFhOGE3YzFmODYxMjFjYmQ2YWU5Yjg2NzZhN2JkOTQ5NzQ4NmM0ZTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcApAQCAtOTY1LDYgKzk2NSwyOSBA
QCB2b2lkIEpJVDo6ZW1pdF9vcF9uZXdfZnVuY19leHAoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0
cnVjdGlvbikKICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbk5ld0Z1bmN0aW9uLCBkc3QsIHJl
Z1QwLCBmdW5jRXhwcik7CiAgICAgZG9uZS5saW5rKHRoaXMpOwogfQorICAgIAordm9pZCBKSVQ6
OmVtaXRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rp
b24pCit7CisgICAgSnVtcCBub3RVbmRlZmluZWRTY29wZTsKKyAgICBpbnQgZHN0ID0gY3VycmVu
dEluc3RydWN0aW9uWzFdLnUub3BlcmFuZDsKKyNpZiBVU0UoSlNWQUxVRTY0KQorICAgIGVtaXRH
ZXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCwgcmVnVDAp
OworICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzRdLnUub3Bl
cmFuZCwgcmVnVDEpOworICAgIG5vdFVuZGVmaW5lZFNjb3BlID0gYnJhbmNoNjQoTm90RXF1YWws
IHJlZ1QwLCBUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpKSk7Cisg
ICAgc3RvcmU2NChUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpKSwg
QWRkcmVzcyhjYWxsRnJhbWVSZWdpc3Rlciwgc2l6ZW9mKFJlZ2lzdGVyKSAqIGRzdCkpOworI2Vs
c2UKKyAgICBlbWl0TG9hZFBheWxvYWQoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCwg
cmVnVDApOworICAgIGVtaXRMb2FkUGF5bG9hZChjdXJyZW50SW5zdHJ1Y3Rpb25bNF0udS5vcGVy
YW5kLCByZWdUMSk7CisgICAgbm90VW5kZWZpbmVkU2NvcGUgPSBicmFuY2gzMihOb3RFcXVhbCwg
dGFnRm9yKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpLCBUcnVzdGVkSW1tMzIoSlNW
YWx1ZTo6VW5kZWZpbmVkVGFnKSk7CisgICAgZW1pdFN0b3JlKGRzdCwganNVbmRlZmluZWQoKSk7
CisjZW5kaWYKKyAgICBKdW1wIGRvbmUgPSBqdW1wKCk7CisgICAgbm90VW5kZWZpbmVkU2NvcGUu
bGluayh0aGlzKTsKKyAgICAKKyAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmN0aW9uID0gbV9j
b2RlQmxvY2stPmZ1bmN0aW9uRXhwcihjdXJyZW50SW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5kKTsK
KyAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24sIGRzdCwgcmVnVDAs
IGZ1bmN0aW9uLCByZWdUMSk7CisgICAgZG9uZS5saW5rKHRoaXMpOworfQogCiB2b2lkIEpJVDo6
ZW1pdF9vcF9uZXdfYXJyYXkoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCmluZGV4IGJlMzQxODA5
MWRiMzFkMDU4ODczZDdmZDhmZjMzNmEwNDljY2Q4ZWEuLjQ4YTMwMDUxYjM3NGE2MGQwZjQ5OGVk
ZTg0ZDBjY2E1NmIyNWFlYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVy
YXRpb25zLmNwcApAQCAtNDIsNiArNDIsOCBAQAogI2luY2x1ZGUgIkhvc3RDYWxsUmV0dXJuVmFs
dWUuaCIKICNpbmNsdWRlICJKSVQuaCIKICNpbmNsdWRlICJKSVRUb0RGR0RlZmVycmVkQ29tcGls
YXRpb25DYWxsYmFjay5oIgorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorI2luY2x1ZGUg
IkpTQm91bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJK
U0NhdGNoU2NvcGUuaCIKICNpbmNsdWRlICJKU0Z1bmN0aW9uTmFtZVNjb3BlLmgiCkBAIC05NjAs
NiArOTYyLDI0IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3RnVu
Y3Rpb25XaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRjCiAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShKU0Z1bmN0aW9uOjpjcmVhdGVXaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRj
aHBvaW50KHZtLCBzdGF0aWNfY2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihmdW5jdGlvbkV4ZWN1
dGFibGUpLCBzY29wZSkpOwogfQogCisKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uTmV3QXJyb3dGdW5jdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTU2NvcGUqIHNjb3BlLCBK
U0NlbGwqIGZ1bmN0aW9uRXhlY3V0YWJsZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlKQorewor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgQVNTRVJUKGZ1bmN0aW9u
RXhlY3V0YWJsZS0+aW5oZXJpdHMoRnVuY3Rpb25FeGVjdXRhYmxlOjppbmZvKCkpKTsKKyAgICBW
TSYgdm0gPSBleGVjLT52bSgpOworICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZt
LCBleGVjKTsKKworICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBleGVjLT5jYWxs
ZWUoKS0+Z2xvYmFsT2JqZWN0KCk7CisgICAgSlNGdW5jdGlvbiogZnVuYyA9IEpTQXJyb3dGdW5j
dGlvbjo6Y3JlYXRlKHZtLCBzY29wZSwgc3RhdGljX2Nhc3Q8RnVuY3Rpb25FeGVjdXRhYmxlKj4o
ZnVuY3Rpb25FeGVjdXRhYmxlKSwgZ2xvYmFsT2JqZWN0KTsKKyAgICBKU0FycmF5KiBib3VuZEFy
Z3MgPSBKU0FycmF5Ojp0cnlDcmVhdGVVbmluaXRpYWxpemVkKHZtLCBnbG9iYWxPYmplY3QtPmFy
cmF5U3RydWN0dXJlRm9ySW5kZXhpbmdUeXBlRHVyaW5nQWxsb2NhdGlvbihBcnJheVdpdGhVbmRl
Y2lkZWQpLCAwKTsKKworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNCb3VuZEZ1bmN0aW9u
OjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgZnVuYywgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1
ZSksIGJvdW5kQXJncywgMCwgIiIpKTsKKyNlbHNlCisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc1VuZGVmaW5lZCgpKTsKKyNlbmRpZgorfQorCiBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uTmV3T2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiB7
CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3BlcmF0aW9ucy5oCmluZGV4IGMzZmFkNWQ2ZjMzYWEwNTJiZDcwZmJmM2E4Nzc5Yzc1YmQzZDUw
MjcuLjc3NDA2ODFjOGUyMGRhNzU0MWU5NGU1NmEwNmQwODMwMzFiNDQ5NzMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCkBAIC0yMCw3ICsyMCw3IEBACiAgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCiAgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKICAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgogICovCiAKICNpZm5kZWYgSklUT3BlcmF0aW9uc19oCkBAIC0xMTUsNiArMTE1
LDcgQEAgdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRp
b25fRVBQKShFeGVjU3RhdGUqLCB2b2lkKiwgdm8KIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklU
X09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQUykoRXhlY1N0YXRlKiwgdm9pZCosIHNpemVf
dCk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlv
bl9FUGMpKEV4ZWNTdGF0ZSosIEluc3RydWN0aW9uKik7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FSnNjQykoRXhlY1N0YXRlKiwgSlNTY29w
ZSosIEpTQ2VsbCopOwordHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9K
SVRPcGVyYXRpb25fRUpzY0NKKShFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKiwgRW5jb2Rl
ZEpTVmFsdWUpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRP
cGVyYXRpb25fRVNTKShFeGVjU3RhdGUqLCBzaXplX3QsIHNpemVfdCk7CiB0eXBlZGVmIEVuY29k
ZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FU3NpQ0kpKEV4ZWNTdGF0
ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgSlNDZWxsKiwgU3RyaW5nSW1wbCopOwogdHlwZWRlZiBF
bmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNzaUpJKShFeGVj
U3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlLCBTdHJpbmdJbXBsKik7
CkBAIC0yNzgsNiArMjc5LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRp
b25OZXdBcnJheUJ1ZmZlcldpdGhQcm9maWxlKEV4ZWNTdGF0ZSosIEFycmEKIEVuY29kZWRKU1Zh
bHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXlXaXRoU2l6ZUFuZFByb2ZpbGUoRXhl
Y1N0YXRlKiwgQXJyYXlBbGxvY2F0aW9uUHJvZmlsZSosIEVuY29kZWRKU1ZhbHVlIHNpemUpIFdU
Rl9JTlRFUk5BTDsKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3RnVu
Y3Rpb24oRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCopIFdURl9JTlRFUk5BTDsKIEVuY29k
ZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3RnVuY3Rpb25XaXRoSW52YWxpZGF0
ZWRSZWFsbG9jYXRpb25XYXRjaHBvaW50KEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKSBX
VEZfSU5URVJOQUw7CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Fy
cm93RnVuY3Rpb24oRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVl
KSBXVEZfSU5URVJOQUw7CiBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3T2JqZWN0
KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSopIFdURl9JTlRFUk5BTDsKIEVuY29kZWRKU1ZhbHVlIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3UmVnZXhwKEV4ZWNTdGF0ZSosIHZvaWQqKSBXVEZfSU5U
RVJOQUw7CiB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFuZGxlV2F0Y2hkb2dUaW1lcihF
eGVjU3RhdGUqKSBXVEZfSU5URVJOQUw7CkBAIC00MDYsNCArNDA4LDMgQEAgaW5saW5lIFBfSklU
T3BlcmF0aW9uX0VDbGkgb3BlcmF0aW9uTGlua1BvbHltb3JwaGljQ2FsbEZvcihSZWdpc3RlclBy
ZXNlcnZhdGlvbk0KICNlbmRpZiAvLyBFTkFCTEUoSklUKQogCiAjZW5kaWYgLy8gSklUT3BlcmF0
aW9uc19oCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNs
b3dQYXRocy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMu
Y3BwCmluZGV4IDA2OTc1NWI1MzEyNWM0NzQ0ZmQ4OGMyYjM0ZjI2ZWJiYjU4OTMxNjIuLmM2NWEw
NzY5NDVmOWIzNmNhNjQzMTlmZjZjNjhkOWY1ODBkMDhjZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcApAQCAtMzgsNiArMzgsOCBAQAogI2lu
Y2x1ZGUgIkludGVycHJldGVyLmgiCiAjaW5jbHVkZSAiSklULmgiCiAjaW5jbHVkZSAiSklURXhj
ZXB0aW9ucy5oIgorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTQm91
bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTTGV4aWNhbEVudmlyb25tZW50LmgiCiAjaW5jbHVk
ZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKQEAgLTE3MSw2ICsxNzMs
MTUgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBMTEludCB7CiAgICAgICAgIExMSU5UX1JF
VFVSTl9UV08ocGMsIF9fcmNmX2V4ZWMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CiAgICAgfSB3aGlsZSAoZmFsc2UpCiAKKyAgICAKKyNkZWZpbmUgTExJTlRfQ0FMQ19QUk9QRVJU
WV9GT1JfRlVOQ19FWFBSKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIExMSU5UX0JFR0lOKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVj
LT5jb2RlQmxvY2soKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBK
U1Njb3BlKiBzY29wZSA9IGV4ZWMtPnVuY2hlY2tlZFIocGNbMl0udS5vcGVyYW5kKS5SZWdpc3Rl
cjo6c2NvcGUoKTsgICAgICAgXAorICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9
IGNvZGVCbG9jay0+ZnVuY3Rpb25FeHByKHBjWzNdLnUub3BlcmFuZCk7ICBcCisgICAgCitlbnVt
IEZ1bmN0aW9uRXhwcmVzc2lvblR5cGUgeyBBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblR5cGUsIENv
bW1vbkZ1bmN0aW9uRXhwcmVzc2lvblR5cGV9OworICAgIAogZXh0ZXJuICJDIiBTbG93UGF0aFJl
dHVyblR5cGUgbGxpbnRfdHJhY2Vfb3BlcmFuZChFeGVjU3RhdGUqIGV4ZWMsIEluc3RydWN0aW9u
KiBwYywgaW50IGZyb21XaGVyZSwgaW50IG9wZXJhbmQpCiB7CiAgICAgTExJTlRfQkVHSU4oKTsK
QEAgLTEwMDMsMTYgKzEwMTQsMzUgQEAgTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX25l
d19mdW5jKQogI2VuZGlmCiAgICAgTExJTlRfUkVUVVJOKEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwg
Y29kZUJsb2NrLT5mdW5jdGlvbkRlY2wocGNbM10udS5vcGVyYW5kKSwgc2NvcGUpKTsKIH0KLQor
ICAgIAogTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX25ld19mdW5jX2V4cCkKIHsKLSAg
ICBMTElOVF9CRUdJTigpOwotICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+Y29kZUJs
b2NrKCk7Ci0gICAgSlNTY29wZSogc2NvcGUgPSBleGVjLT51bmNoZWNrZWRSKHBjWzJdLnUub3Bl
cmFuZCkuUmVnaXN0ZXI6OnNjb3BlKCk7Ci0gICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlv
biA9IGNvZGVCbG9jay0+ZnVuY3Rpb25FeHByKHBjWzNdLnUub3BlcmFuZCk7Ci0gICAgSlNGdW5j
dGlvbiogZnVuYyA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgZnVuY3Rpb24sIHNjb3BlKTsKKyAg
ICBMTElOVF9DQUxDX1BST1BFUlRZX0ZPUl9GVU5DX0VYUFIoKTsKKworICAgIEpTRnVuY3Rpb24q
IGZ1bmMgPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGV4ZWN1dGFibGUsIHNjb3BlKTsKKyAgICBM
TElOVF9SRVRVUk4oZnVuYyk7Cit9CisKKworTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRo
X25ld19hcnJvd19mdW5jX2V4cCkKK3sKKyAgICBMTElOVF9DQUxDX1BST1BFUlRZX0ZPUl9GVU5D
X0VYUFIoKTsKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgSlNW
YWx1ZSB0aGlzVmFsdWUgPSBMTElOVF9PUF9DKDQpLmpzVmFsdWUoKTsKKyAgICBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0ID0gZXhlYy0+Y2FsbGVlKCktPmdsb2JhbE9iamVjdCgpOwogICAg
IAorICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Fycm93RnVuY3Rpb246OmNyZWF0ZSh2bSwgc2Nv
cGUsIGV4ZWN1dGFibGUsIGdsb2JhbE9iamVjdCk7CisgICAgCisgICAgSlNBcnJheSogYm91bmRB
cmdzID0gSlNBcnJheTo6dHJ5Q3JlYXRlVW5pbml0aWFsaXplZCh2bSwgZ2xvYmFsT2JqZWN0LT5h
cnJheVN0cnVjdHVyZUZvckluZGV4aW5nVHlwZUR1cmluZ0FsbG9jYXRpb24oQXJyYXlXaXRoVW5k
ZWNpZGVkKSwgMCk7CisgICAgCisgICAgY29uc3QgU3RyaW5nIGZ1bmNXaXRob3V0TmFtZSA9ICIi
OworICAgIAorICAgIExMSU5UX1JFVFVSTihKU0JvdW5kRnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xv
YmFsT2JqZWN0LCBmdW5jLCB0aGlzVmFsdWUsIGJvdW5kQXJncywgMCwgZnVuY1dpdGhvdXROYW1l
KSk7CisjZWxzZQorICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0s
IGV4ZWN1dGFibGUsIHNjb3BlKTsKICAgICBMTElOVF9SRVRVUk4oZnVuYyk7CisjZW5kaWYKIH0K
IAogc3RhdGljIFNsb3dQYXRoUmV0dXJuVHlwZSBoYW5kbGVIb3N0Q2FsbChFeGVjU3RhdGUqIGV4
ZWNDYWxsZWUsIEluc3RydWN0aW9uKiBwYywgSlNWYWx1ZSBjYWxsZWUsIENvZGVTcGVjaWFsaXph
dGlvbktpbmQga2luZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
TEludFNsb3dQYXRocy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1Bh
dGhzLmgKaW5kZXggNGJmN2RlYjBmYTBiNmM2NDM4ZTM2Zjk2MzIwZTJmNjY5NzM5YWY2NC4uYzdm
YWI5NjkxYzE4YjkzOTU2ZDBlYTI5ZjMzOTU2MTE4YzVlNzFlZSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgKQEAgLTk2LDYgKzk2LDcgQEAgTExJTlRf
U0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9zd2l0Y2hfY2hhcik7CiBMTElOVF9TTE9X
X1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3N3aXRjaF9zdHJpbmcpOwogTExJTlRfU0xPV19Q
QVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuYyk7CiBMTElOVF9TTE9XX1BBVEhfSElE
REVOX0RFQ0woc2xvd19wYXRoX25ld19mdW5jX2V4cCk7CitMTElOVF9TTE9XX1BBVEhfSElEREVO
X0RFQ0woc2xvd19wYXRoX25ld19hcnJvd19mdW5jX2V4cCk7CiBMTElOVF9TTE9XX1BBVEhfSElE
REVOX0RFQ0woc2xvd19wYXRoX2NhbGwpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNs
b3dfcGF0aF9jb25zdHJ1Y3QpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0
aF9zaXplX2ZyYW1lX2Zvcl92YXJhcmdzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQppbmRleCA1NDNkOWU5MzMzYzUxM2U5NzYx
N2I3YmRhN2Y2OTk4NjY4MzhhMWUwLi4xODJiYmQ5ZTRlZjc4OTI4ZGE1MmZiY2VjODgyYTVkZjM2
ZGI3OTQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc20KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtCkBAIC0xMTY5LDYgKzExNjksMTAgQEAgX2xsaW50X29wX25ld19mdW5j
X2V4cDoKICAgICBjYWxsU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9uZXdfZnVuY19leHApCiAg
ICAgZGlzcGF0Y2goNCkKIAorX2xsaW50X29wX25ld19hcnJvd19mdW5jX2V4cDoKKyAgICB0cmFj
ZUV4ZWN1dGlvbigpCisgICAgY2FsbFNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfbmV3X2Fycm93
X2Z1bmNfZXhwKQorICAgIGRpc3BhdGNoKDUpCiAKIF9sbGludF9vcF9jYWxsOgogICAgIHRyYWNl
RXhlY3V0aW9uKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNU
QnVpbGRlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKaW5k
ZXggYjhmZTRiODQ4NWEwOTc2ODhmNWM2MzBiZDhjM2M5Njc2NGZjNDY0OS4uZjJmYTNiZDljMTVm
NGU0MjJlZWM2YTc5ZDY1ZjFkNzA4NmM2MmM3MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9BU1RCdWlsZGVyLmgKQEAgLTMxMyw2ICszMTMsMTkgQEAgcHVibGljOgogICAgICAgICAg
ICAgaW5TdHJpY3RDb250ZXh0LCBjb25zdHJ1Y3RvcktpbmQpOwogICAgIH0KIAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgRXhwcmVzc2lvbk5vZGUqIGNyZWF0ZUFy
cm93RnVuY3Rpb25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IFBh
cnNlckZ1bmN0aW9uSW5mbzxBU1RCdWlsZGVyPiYgaW5mbykKKyAgICB7CisgICAgICAgIFNvdXJj
ZUNvZGUgc291cmNlID0gaW5mby5mdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5
RXhwcmVzc2lvbgorICAgICAgICA/IG1fc291cmNlQ29kZS0+c3ViQXJyb3dFeHByZXNzaW9uKGlu
Zm8uYXJyb3dGdW5jdGlvbk9mZnNldCwgaW5mby5jbG9zZUJyYWNlT2Zmc2V0LCBpbmZvLmJvZHlT
dGFydExpbmUsIGluZm8uYm9keVN0YXJ0Q29sdW1uKQorICAgICAgICA6IG1fc291cmNlQ29kZS0+
c3ViRXhwcmVzc2lvbihpbmZvLm9wZW5CcmFjZU9mZnNldCwgaW5mby5jbG9zZUJyYWNlT2Zmc2V0
LCBpbmZvLmJvZHlTdGFydExpbmUsIGluZm8uYm9keVN0YXJ0Q29sdW1uKTsKKworICAgICAgICBB
cnJvd0Z1bmNFeHByTm9kZSogcmVzdWx0ID0gbmV3IChtX3BhcnNlckFyZW5hKSBBcnJvd0Z1bmNF
eHByTm9kZShsb2NhdGlvbiwgKmluZm8ubmFtZSwgaW5mby5ib2R5LCBzb3VyY2UsIGluZm8ucGFy
YW1ldGVycyk7CisgICAgICAgIGluZm8uYm9keS0+c2V0TG9jKGluZm8uYm9keVN0YXJ0TGluZSwg
aW5mby5ib2R5RW5kTGluZSwgbG9jYXRpb24uc3RhcnRPZmZzZXQsIGxvY2F0aW9uLmxpbmVTdGFy
dE9mZnNldCk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorI2VuZGlmCisKICAgICBO
RVZFUl9JTkxJTkUgUHJvcGVydHlOb2RlKiBjcmVhdGVHZXR0ZXJPclNldHRlclByb3BlcnR5KGNv
bnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIFByb3BlcnR5Tm9kZTo6VHlwZSB0eXBlLCBi
b29sLAogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBuYW1lLCBjb25zdCBQYXJzZXJGdW5jdGlv
bkluZm88QVNUQnVpbGRlcj4mIGluZm8sIFN1cGVyQmluZGluZyBzdXBlckJpbmRpbmcpCiAgICAg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcAppbmRleCA3ZGUxNDIyMGJiZGE3
MjczOGI1NzNhNGI5Nzg4Y2UwYjMyY2M3Y2UzLi41NDBmOWZmYjdiYjUxODI5ZDY3ZGVlZGVjNWU2
YThlZDUxY2M0NDE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xl
eGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcApAQCAt
MTQzMCw2ICsxNDMwLDE4IEBAIGJvb2wgTGV4ZXI8VD46Om5leHRUb2tlbklzQ29sb24oKQogICAg
IHJldHVybiBjb2RlIDwgbV9jb2RlRW5kICYmICpjb2RlID09ICc6JzsKIH0KIAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK3ZvaWQg
TGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24oSlNUb2tlbiogdG9rZW5SZWNvcmQpCit7CisgICAg
SlNUb2tlbkRhdGEqIHRva2VuRGF0YSA9ICZ0b2tlblJlY29yZC0+bV9kYXRhOworICAgIHRva2Vu
RGF0YS0+bGluZSA9IGxpbmVOdW1iZXIoKTsKKyAgICB0b2tlbkRhdGEtPm9mZnNldCA9IGN1cnJl
bnRPZmZzZXQoKTsKKyAgICB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCA9IGN1cnJlbnRMaW5l
U3RhcnRPZmZzZXQoKTsKKyAgICBBU1NFUlQodG9rZW5EYXRhLT5vZmZzZXQgPj0gdG9rZW5EYXRh
LT5saW5lU3RhcnRPZmZzZXQpOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgog
SlNUb2tlblR5cGUgTGV4ZXI8VD46OmxleChKU1Rva2VuKiB0b2tlblJlY29yZCwgdW5zaWduZWQg
bGV4ZXJGbGFncywgYm9vbCBzdHJpY3RNb2RlKQogewpAQCAtMTQ5Myw3ICsxNTA1LDEyIEBAIHN0
YXJ0OgogICAgICAgICB9CiAgICAgICAgIHRva2VuID0gR1Q7CiAgICAgICAgIGJyZWFrOwotICAg
IGNhc2UgQ2hhcmFjdGVyRXF1YWw6CisgICAgY2FzZSBDaGFyYWN0ZXJFcXVhbDogeworI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIHVpbnQzMl90IHNhdmVkbGlu
ZU51bWJlciA9IHRva2VuRGF0YS0+bGluZTsKKyAgICAgICAgdWludDMyX3Qgc2F2ZWRPZmZzZXQg
PSBjdXJyZW50T2Zmc2V0KCk7CisgICAgICAgIHVpbnQzMl90IHNhdmVkTGluZVN0YXJ0T2Zmc2V0
ID0gY3VycmVudExpbmVTdGFydE9mZnNldCgpOworI2VuZGlmCiAgICAgICAgIHNoaWZ0KCk7CiAg
ICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJz0nKSB7CiAgICAgICAgICAgICBzaGlmdCgpOwpAQCAt
MTUwNSw4ICsxNTIyLDIyIEBAIHN0YXJ0OgogICAgICAgICAgICAgdG9rZW4gPSBFUUVROwogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgICAgICBpZiAobV9jdXJyZW50ID09ICc+JykgeworICAgICAgICAgICAgc2hp
ZnQoKTsKKyAgICAgICAgICAgIHRva2VuID0gQVJST1dGVU5DVElPTjsKKworICAgICAgICAgICAg
dG9rZW5EYXRhLT5saW5lID0gc2F2ZWRsaW5lTnVtYmVyOworICAgICAgICAgICAgdG9rZW5EYXRh
LT5vZmZzZXQgPSBzYXZlZE9mZnNldDsKKyAgICAgICAgICAgIHRva2VuRGF0YS0+bGluZVN0YXJ0
T2Zmc2V0ID0gc2F2ZWRMaW5lU3RhcnRPZmZzZXQ7CisKKyAgICAgICAgICAgIEFTU0VSVCh0b2tl
bkRhdGEtPm9mZnNldCA+PSB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCk7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIHRva2VuID0gRVFVQUw7CiAgICAg
ICAgIGJyZWFrOworICAgIH0KICAgICBjYXNlIENoYXJhY3Rlckxlc3M6CiAgICAgICAgIHNoaWZ0
KCk7CiAgICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJyEnICYmIHBlZWsoMSkgPT0gJy0nICYmIHBl
ZWsoMikgPT0gJy0nKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L0xleGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKaW5kZXggMmRm
NTIxMzk5NTc4MjAwNzg1YTE2NmUyMmE3MzI3NWUwZWE2MzA0ZC4uY2IzZjI1ZjdjMDhmODI1ODFh
ZjJjZThmYTk5OTk3ZmFkZTA3NjZmMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9MZXhlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIu
aApAQCAtODUsNiArODUsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRJc1JlcGFyc2luZygpIHsg
bV9pc1JlcGFyc2luZyA9IHRydWU7IH0KICAgICBib29sIGlzUmVwYXJzaW5nKCkgY29uc3QgeyBy
ZXR1cm4gbV9pc1JlcGFyc2luZzsgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICB2b2lkIHNldFRva2VuUG9zaXRpb24oSlNUb2tlbiogdG9rZW5SZWNvcmQpOwor
I2VuZGlmCiAgICAgSlNUb2tlblR5cGUgbGV4KEpTVG9rZW4qLCB1bnNpZ25lZCwgYm9vbCBzdHJp
Y3RNb2RlKTsKICAgICBib29sIG5leHRUb2tlbklzQ29sb24oKTsKICAgICBpbnQgbGluZU51bWJl
cigpIGNvbnN0IHsgcmV0dXJuIG1fbGluZU51bWJlcjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaAppbmRleCAzYmRhYjYxYTUyMmUwY2UyYzMz
OTdmODBmNGZhMTg0ZDFkNDIxNjBlLi5iNThlMWZlMWFmOTBlNjYwYjA4NDJlYTdlOTlmMDdhZTZh
Y2JiOTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25z
dHJ1Y3RvcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1
Y3RvcnMuaApAQCAtNzgxLDYgKzc4MSwxMyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgbV9i
b2R5LT5maW5pc2hQYXJzaW5nKHNvdXJjZSwgcGFyYW1ldGVyLCBpZGVudCwgRnVuY3Rpb25FeHBy
ZXNzaW9uKTsKICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIGlubGluZSBBcnJvd0Z1bmNFeHByTm9kZTo6QXJyb3dGdW5jRXhwck5vZGUoY29uc3QgSlNU
b2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIEZ1bmN0aW9u
Qm9keU5vZGUqIGJvZHksIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgUGFyYW1ldGVyTm9kZSog
cGFyYW1ldGVyKQorICAgICAgICA6IEZ1bmNFeHByTm9kZShsb2NhdGlvbiwgaWRlbnQsIGJvZHks
IHNvdXJjZSwgcGFyYW1ldGVyKQorICAgIHsKKyAgICB9CisjZW5kaWYKKyAgICAKICAgICBpbmxp
bmUgRnVuY0RlY2xOb2RlOjpGdW5jRGVjbE5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2Nh
dGlvbiwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIEZ1bmN0aW9uQm9keU5vZGUqIGJvZHksIGNv
bnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgUGFyYW1ldGVyTm9kZSogcGFyYW1ldGVyKQogICAgICAg
ICA6IFN0YXRlbWVudE5vZGUobG9jYXRpb24pCiAgICAgICAgICwgbV9ib2R5KGJvZHkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKaW5kZXggNmIzNzMyOWMwOWJmYzQyYmVjY2MzY2Fh
OTgzNTk3YzM1NDAyYjZjOS4uNWI3NzQxZTFjY2M4ZDUxNWZmMTRjMTUzMTcyZDdiZGEwNTNmNTg2
OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaApAQCAtMTU4LDYgKzE1OCw5IEBA
IG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNEb3RBY2Nlc3Nvck5vZGUo
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNEZWNvbnN0
cnVjdGlvbk5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJv
b2wgaXNGdW5jRXhwck5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Fycm93RnVu
Y0V4cHJOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyNlbmRpZgogICAgICAgICB2aXJ0
dWFsIGJvb2wgaXNDb21tYU5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2
aXJ0dWFsIGJvb2wgaXNTaW1wbGVBcnJheSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAg
ICAgIHZpcnR1YWwgYm9vbCBpc0FkZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CkBAIC0xNjUy
LDYgKzE2NTUsMTkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIEZ1bmN0aW9uQm9keU5vZGUq
IG1fYm9keTsKICAgICB9OwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICBjbGFzcyBBcnJvd0Z1bmNFeHByTm9kZSA6IHB1YmxpYyBGdW5jRXhwck5vZGUgeworICAg
IHB1YmxpYzoKKyAgICAgICAgQXJyb3dGdW5jRXhwck5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9u
JiwgY29uc3QgSWRlbnRpZmllciYsIEZ1bmN0aW9uQm9keU5vZGUqLCBjb25zdCBTb3VyY2VDb2Rl
JiwgUGFyYW1ldGVyTm9kZSogPSAwKTsKKyAgICBwcml2YXRlOgorICAgICAgICB2aXJ0dWFsIFJl
Z2lzdGVySUQqIGVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYsIFJlZ2lzdGVySUQqID0g
MCkgb3ZlcnJpZGU7CisgICAgICAgIAorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNGdW5jRXhwck5v
ZGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQorICAgICAgICAKKyAgICAgICAg
dmlydHVhbCBib29sIGlzQXJyb3dGdW5jRXhwck5vZGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biB0cnVlOyB9CisgICAgfTsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgp
CiAgICAgY2xhc3MgQ2xhc3NFeHByTm9kZSBmaW5hbCA6IHB1YmxpYyBFeHByZXNzaW9uTm9kZSB7
CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCmluZGV4
IDMyZDI1MGNhN2NjNTNmNGJlYTYxZjYxYjZkYWJmZTY0YmNiYzY4NDYuLjk1YjM2NTJmMTg2NzM2
Y2M5ZGQ5N2Q2ZDRiY2YwNjAyZDdhZTQ5ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1BhcnNlci5jcHAKQEAgLTI2NCw3ICsyNjQsNyBAQCBTdHJpbmcgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlSW5uZXIoKQogICAgIGlmIChtX2xleGVyLT5pc1JlcGFyc2luZygpKQogICAgICAgICBt
X3N0YXRlbWVudERlcHRoLS07CiAgICAgU2NvcGVSZWYgc2NvcGUgPSBjdXJyZW50U2NvcGUoKTsK
LSAgICBTb3VyY2VFbGVtZW50cyogc291cmNlRWxlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRz
KGNvbnRleHQsIENoZWNrRm9yU3RyaWN0TW9kZSk7CisgICAgU291cmNlRWxlbWVudHMqIHNvdXJj
ZUVsZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBDaGVja0ZvclN0cmljdE1v
ZGUsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwogICAgIGlmICghc291cmNlRWxlbWVudHMg
fHwgIWNvbnN1bWUoRU9GVE9LKSkgewogICAgICAgICBpZiAoaGFzRXJyb3IoKSkKICAgICAgICAg
ICAgIHBhcnNlRXJyb3IgPSBtX2Vycm9yTWVzc2FnZTsKQEAgLTMzMCw3ICszMzAsNyBAQCBib29s
IFBhcnNlcjxMZXhlclR5cGU+OjphbGxvd0F1dG9tYXRpY1NlbWljb2xvbigpCiB9CiAKIHRlbXBs
YXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Ci10ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3VyY2VFbGVtZW50cyhU
cmVlQnVpbGRlciYgY29udGV4dCwgU291cmNlRWxlbWVudHNNb2RlIG1vZGUpCit0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYgY29udGV4dCwgU291cmNlRWxlbWVudHNN
b2RlIG1vZGUsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBlKQogewogICAgIGNv
bnN0IHVuc2lnbmVkIGxlbmd0aE9mVXNlU3RyaWN0TGl0ZXJhbCA9IDEyOyAvLyAidXNlIHN0cmlj
dCIubGVuZ3RoCiAgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHNvdXJjZUVsZW1lbnRzID0gY29udGV4
dC5jcmVhdGVTb3VyY2VFbGVtZW50cygpOwpAQCAtMzM5LDcgKzMzOSw3IEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZVNvdXJjZUVsCiAgICAgdW5zaWduZWQgZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDA7CiAg
ICAgYXV0byBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKICAgICBib29sIGhhc1NldFN0
cmljdCA9IGZhbHNlOwotICAgIHdoaWxlIChUcmVlU3RhdGVtZW50IHN0YXRlbWVudCA9IHBhcnNl
U3RhdGVtZW50KGNvbnRleHQsIGRpcmVjdGl2ZSwgJmRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgpKSB7
CisgICAgd2hpbGUgKFRyZWVTdGF0ZW1lbnQgc3RhdGVtZW50ID0gcGFyc2VTdGF0ZW1lbnQoY29u
dGV4dCwgZGlyZWN0aXZlLCAmZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCwgZnVuY3Rpb25QYXJzZVR5
cGUpKSB7CiAgICAgICAgIGlmIChtb2RlID09IENoZWNrRm9yU3RyaWN0TW9kZSAmJiAhc2Vlbk5v
bkRpcmVjdGl2ZSkgewogICAgICAgICAgICAgaWYgKGRpcmVjdGl2ZSkgewogICAgICAgICAgICAg
ICAgIC8vICJ1c2Ugc3RyaWN0IiBtdXN0IGJlIHRoZSBleGFjdCBsaXRlcmFsIHdpdGhvdXQgZXNj
YXBlIHNlcXVlbmNlcyBvciBsaW5lIGNvbnRpbnVhdGlvbi4KQEAgLTU3MSw2ICs1NzEsMzEgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIFBh
cnNlcjxMZXhlclR5cGU+OjpjcmVhdGUKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVCaW5kaW5n
TG9jYXRpb24odG9rZW4ubV9sb2NhdGlvbiwgbmFtZSwgdG9rZW4ubV9zdGFydFBvc2l0aW9uLCB0
b2tlbi5tX2VuZFBvc2l0aW9uKTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVu
Y3Rpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAgQVNTRVJUKG1hdGNo
KEFSUk9XRlVOQ1RJT04pKTsKKworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxv
Y2F0aW9uKCkpOworICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9u
KCk7CisgICAgSlNUZXh0UG9zaXRpb24gZW5kID0gdG9rZW5FbmRQb3NpdGlvbigpOworCisgICAg
bmV4dCgpOworICAgIFRyZWVFeHByZXNzaW9uIGV4cHIgPSBwYXJzZUFycm93RnVuY3Rpb25FeHBy
ZXNzaW9uKGNvbnRleHQpOworICAgIGZhaWxJZkZhbHNlKGV4cHIsICJDYW5ub3QgcGFyc2UgdGhl
IGFycm93IGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsKKyAgICBlbmQgPSBsYXN0VG9rZW5FbmRQb3Np
dGlvbigpOworCisgICAgYm9vbCBjb3JyZWN0QXJyb3dGaW5pc2ggPSBpc0VuZE9mQXJyb3dGdW5j
dGlvbigpIHx8IG1hdGNoKEVPRlRPSyk7CisgICAgZmFpbElmRmFsc2UoY29ycmVjdEFycm93Rmlu
aXNoLCAiRXhwZWN0ZWQgYSAnOycsICddJywgJ30nLCAnKScsIG9yICcsJyBmb2xsb3dpbmcgYSBh
cnJvdyBmdW5jdGlvbiBzdGF0ZW1lbnQiKTsKKworICAgIGVuZCA9IHRva2VuRW5kUG9zaXRpb24o
KTsKKyAgICBzZXRFbmRPZlN0YXRlbWVudCgpOworCisgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRl
UmV0dXJuU3RhdGVtZW50KGxvY2F0aW9uLCBleHByLCBzdGFydCwgZW5kKTsKK30KKyNlbmRpZgor
CiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIFBhcnNlcjxMZXhlclR5cGU+Ojp0cnlQYXJz
ZURlY29uc3RydWN0aW9uUGF0dGVybkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7
CkBAIC0xMDE4LDcgKzEwNDMsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVD
bGF1c2VMaXN0IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN3aXRjaENsYXVzZQogICAgIFRyZWVF
eHByZXNzaW9uIGNvbmRpdGlvbiA9IHBhcnNlRXhwcmVzc2lvbihjb250ZXh0KTsKICAgICBmYWls
SWZGYWxzZShjb25kaXRpb24sICJDYW5ub3QgcGFyc2Ugc3dpdGNoIGNsYXVzZSIpOwogICAgIGNv
bnN1bWVPckZhaWwoQ09MT04sICJFeHBlY3RlZCBhICc6JyBhZnRlciBzd2l0Y2ggY2xhdXNlIGV4
cHJlc3Npb24iKTsKLSAgICBUcmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291
cmNlRWxlbWVudHMoY29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSk7CisgICAgVHJlZVNv
dXJjZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERv
bnRDaGVja0ZvclN0cmljdE1vZGUsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwogICAgIGZh
aWxJZkZhbHNlKHN0YXRlbWVudHMsICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgYSBzd2l0Y2gg
Y2xhdXNlIik7CiAgICAgVHJlZUNsYXVzZSBjbGF1c2UgPSBjb250ZXh0LmNyZWF0ZUNsYXVzZShj
b25kaXRpb24sIHN0YXRlbWVudHMpOwogICAgIGNvbnRleHQuc2V0U3RhcnRPZmZzZXQoY2xhdXNl
LCBzdGFydE9mZnNldCk7CkBAIC0xMDMxLDcgKzEwNTYsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVDbGF1c2VMaXN0IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN3aXRjaENs
YXVzZQogICAgICAgICBUcmVlRXhwcmVzc2lvbiBjb25kaXRpb24gPSBwYXJzZUV4cHJlc3Npb24o
Y29udGV4dCk7CiAgICAgICAgIGZhaWxJZkZhbHNlKGNvbmRpdGlvbiwgIkNhbm5vdCBwYXJzZSBz
d2l0Y2ggY2FzZSBleHByZXNzaW9uIik7CiAgICAgICAgIGNvbnN1bWVPckZhaWwoQ09MT04sICJF
eHBlY3RlZCBhICc6JyBhZnRlciBzd2l0Y2ggY2xhdXNlIGV4cHJlc3Npb24iKTsKLSAgICAgICAg
VHJlZVNvdXJjZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRl
eHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUpOworICAgICAgICBUcmVlU291cmNlRWxlbWVudHMg
c3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgRG9udENoZWNrRm9yU3Ry
aWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CiAgICAgICAgIGZhaWxJZkZhbHNl
KHN0YXRlbWVudHMsICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgYSBzd2l0Y2ggY2xhdXNlIik7
CiAgICAgICAgIGNsYXVzZSA9IGNvbnRleHQuY3JlYXRlQ2xhdXNlKGNvbmRpdGlvbiwgc3RhdGVt
ZW50cyk7CiAgICAgICAgIGNvbnRleHQuc2V0U3RhcnRPZmZzZXQoY2xhdXNlLCBzdGFydE9mZnNl
dCk7CkBAIC0xMDQ4LDcgKzEwNzMsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVDbGF1c2UgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3dpdGNoRGVmYXVsdENsYQogICAgIHVu
c2lnbmVkIHN0YXJ0T2Zmc2V0ID0gdG9rZW5TdGFydCgpOwogICAgIG5leHQoKTsKICAgICBjb25z
dW1lT3JGYWlsKENPTE9OLCAiRXhwZWN0ZWQgYSAnOicgYWZ0ZXIgc3dpdGNoIGRlZmF1bHQgY2xh
dXNlIik7Ci0gICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVs
ZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUpOworICAgIFRyZWVTb3VyY2VF
bGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hl
Y2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICBmYWlsSWZG
YWxzZShzdGF0ZW1lbnRzLCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIGEgc3dpdGNoIGRlZmF1
bHQgY2xhdXNlIik7CiAgICAgVHJlZUNsYXVzZSByZXN1bHQgPSBjb250ZXh0LmNyZWF0ZUNsYXVz
ZSgwLCBzdGF0ZW1lbnRzKTsKICAgICBjb250ZXh0LnNldFN0YXJ0T2Zmc2V0KHJlc3VsdCwgc3Rh
cnRPZmZzZXQpOwpAQCAtMTEzMyw3ICsxMTU4LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUJsb2NrU3RhdGVtZW4K
ICAgICAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQocmVzdWx0LCBlbmRPZmZzZXQpOwogICAgICAg
ICByZXR1cm4gcmVzdWx0OwogICAgIH0KLSAgICBUcmVlU291cmNlRWxlbWVudHMgc3VidHJlZSA9
IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSk7Cisg
ICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN1YnRyZWUgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRl
eHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwog
ICAgIGZhaWxJZkZhbHNlKHN1YnRyZWUsICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgdGhlIGJs
b2NrIHN0YXRlbWVudCIpOwogICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0UsICJFeHBlY3RlZCBh
IGNsb3NpbmcgJ30nIGF0IHRoZSBlbmQgb2YgYSBibG9jayBzdGF0ZW1lbnQiKTsKICAgICBpbnQg
ZW5kT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OwpAQCAtMTE0NSw3ICsxMTcwLDcgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUJsb2NrU3RhdGVtZW4KIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlw
ZT4KLXRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50
aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoKQordGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciom
IGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgsIEZ1bmN0aW9uUGFy
c2VUeXBlIHBhcnNlVHlwZSkKIHsKICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1f
c3RhdGVtZW50RGVwdGgpOwogICAgIG1fc3RhdGVtZW50RGVwdGgrKzsKQEAgLTExNTQsNiArMTE3
OSwyMyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAgIGZhaWxJZlN0YWNrT3ZlcmZsb3co
KTsKICAgICBUcmVlU3RhdGVtZW50IHJlc3VsdCA9IDA7CiAgICAgYm9vbCBzaG91bGRTZXRFbmRP
ZmZzZXQgPSB0cnVlOworCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgc3dp
dGNoIChtX3Rva2VuLm1fdHlwZSkgeworICAgICAgICBjYXNlIENMT1NFUEFSRU46CisgICAgICAg
IGNhc2UgQ0xPU0VCUkFDS0VUOgorICAgICAgICBjYXNlIENPTU1BOgorICAgICAgICBjYXNlIFNF
TUlDT0xPTjogeworICAgICAgICAgICAgcmVzdWx0ID0gMDsKKyAgICAgICAgICAgIGNvbnRleHQu
c2V0RW5kT2Zmc2V0KHJlc3VsdCwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5vZmZzZXQpOworICAg
ICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAgICAgfQorICAgICAgICBkZWZhdWx0OgorICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYKICAgICBzd2l0Y2ggKG1f
dG9rZW4ubV90eXBlKSB7CiAgICAgY2FzZSBPUEVOQlJBQ0U6CiAgICAgICAgIHJlc3VsdCA9IHBh
cnNlQmxvY2tTdGF0ZW1lbnQoY29udGV4dCk7CkBAIC0xMTk5LDYgKzEyNDEsMTUgQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZVN0YXRlbWVudChUcmUKICAgICBjYXNlIEJSRUFLOgogICAgICAgICByZXN1bHQgPSBwYXJz
ZUJyZWFrU3RhdGVtZW50KGNvbnRleHQpOwogICAgICAgICBicmVhazsKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2UgQVJST1dGVU5DVElPTjoKKyAgICAgICAg
cmVzdWx0ID0gcGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KGNvbnRleHQpOworICAgICAgICAv
LyBDb25zdW1lIHRoZSBlbmQgb2YgYXJyb3cgZnVuY3Rpb24gLDtdKSBhbmQgcHJldmVudAorICAg
ICAgICAvLyBwYXJzZSB0aGlzIHN5bWJvbHMgYnkgcGFyc2VTdGF0ZW1lbnQgYXMgc2VwYXJhdGUg
c3RhdGVtZW50CisgICAgICAgIGlmIChwYXJzZVR5cGUgPT0gU3RhbmRhcmRGdW5jdGlvblBhcnNl
VHlwZSkKKyAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgYnJlYWs7CisjZW5kaWYKICAgICBj
YXNlIFJFVFVSTjoKICAgICAgICAgcmVzdWx0ID0gcGFyc2VSZXR1cm5TdGF0ZW1lbnQoY29udGV4
dCk7CiAgICAgICAgIGJyZWFrOwpAQCAtMTI2MywyMCArMTMxNCwzNCBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0IFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZUZvcgogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZUZ1bmN0aW9uQm9keSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VG
dW5jdGlvbkJvZHkoCiAgICAgVHJlZUJ1aWxkZXImIGNvbnRleHQsIGludCBmdW5jdGlvbktleXdv
cmRTdGFydCwgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCAKLSAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0
LCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kKQorICAgIGludCBwYXJhbWV0ZXJzU3Rh
cnQsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQsIEZ1bmN0aW9uUGFyc2VUeXBlIHBh
cnNlVHlwZSkKIHsKICAgICBKU1Rva2VuTG9jYXRpb24gc3RhcnRMb2NhdGlvbih0b2tlbkxvY2F0
aW9uKCkpOwogICAgIHVuc2lnbmVkIHN0YXJ0Q29sdW1uID0gdG9rZW5Db2x1bW4oKTsKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlmIChwYXJzZVR5cGUgPT0gU3Rh
bmRhcmRGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICBuZXh0KCk7CisgICAgICAgIGlmICht
YXRjaChDTE9TRUJSQUNFKSkgeworICAgICAgICAgICAgdW5zaWduZWQgZW5kQ29sdW1uID0gdG9r
ZW5Db2x1bW4oKTsKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uQm9k
eShzdGFydExvY2F0aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0YXJ0Q29sdW1uLCBlbmRDb2x1bW4s
IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0
LCBzdHJpY3RNb2RlKCksIGNvbnN0cnVjdG9yS2luZCk7CisgICAgICAgIH0KKyAgICB9CisjZWxz
ZQogICAgIG5leHQoKTsKLQogICAgIGlmIChtYXRjaChDTE9TRUJSQUNFKSkgewogICAgICAgICB1
bnNpZ25lZCBlbmRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOwogICAgICAgICByZXR1cm4gY29udGV4
dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFy
dENvbHVtbiwgZW5kQ29sdW1uLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3Rh
cnQsIHBhcmFtZXRlcnNTdGFydCwgc3RyaWN0TW9kZSgpLCBjb25zdHJ1Y3RvcktpbmQpOwogICAg
IH0KKyNlbmRpZgorCiAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVu
dERlcHRoKTsKICAgICBtX3N0YXRlbWVudERlcHRoID0gMDsKICAgICB0eXBlbmFtZSBUcmVlQnVp
bGRlcjo6RnVuY3Rpb25Cb2R5QnVpbGRlciBib2R5QnVpbGRlcihjb25zdF9jYXN0PFZNKj4obV92
bSksIG1fbGV4ZXIuZ2V0KCkpOwotICAgIGZhaWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMo
Ym9keUJ1aWxkZXIsIENoZWNrRm9yU3RyaWN0TW9kZSksICJDYW5ub3QgcGFyc2UgYm9keSBvZiB0
aGlzIGZ1bmN0aW9uIik7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICBmYWlsSWZGYWxzZShwYXJzZVNvdXJjZUVsZW1lbnRzKGJvZHlCdWlsZGVyLCBDaGVja0ZvclN0
cmljdE1vZGUsIHBhcnNlVHlwZSksIHBhcnNlVHlwZSA9PSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VU
eXBlID8gIkNhbm5vdCBwYXJzZSBib2R5IG9mIHRoaXMgZnVuY3Rpb24iIDogIkNhbm5vdCBwYXJz
ZSBib2R5IG9mIHRoaXMgYXJyb3cgZnVuY3Rpb24iKTsKKyNlbHNlCisgICAgZmFpbElmRmFsc2Uo
cGFyc2VTb3VyY2VFbGVtZW50cyhib2R5QnVpbGRlciwgQ2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFu
ZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSwgIkNhbm5vdCBwYXJzZSBib2R5IG9mIHRoaXMgZnVuY3Rp
b24iKTsKKyNlbmRpZgogICAgIHVuc2lnbmVkIGVuZENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CiAg
ICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0YXJ0TG9jYXRpb24sIHRva2Vu
TG9jYXRpb24oKSwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgZnVuY3Rpb25LZXl3b3JkU3RhcnQs
IGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0cmljdE1vZGUoKSwgY29uc3Ry
dWN0b3JLaW5kKTsKIH0KQEAgLTEyOTcsMTUgKzEzNjIsOCBAQCBzdGF0aWMgY29uc3QgY2hhciog
c3RyaW5nRm9yRnVuY3Rpb25Nb2RlKEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUpCiAgICAgcmV0dXJu
IG51bGxwdHI7CiB9CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Ci10ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25J
bmZvKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblJlcXVpcmVtZW50cyByZXF1aXJlbWVu
dHMsIEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUsCi0gICAgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdT
Y29wZSwgQ29uc3RydWN0b3JLaW5kIG93bmVyQ2xhc3NLaW5kLCBpbnQgZnVuY3Rpb25LZXl3b3Jk
U3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mIGluZm8pCit0ZW1wbGF0ZSA8
dHlwZW5hbWUgTGV4ZXJUeXBlPiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGludCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvblBhcmFtdGVycyhUcmVlQnVpbGRlciYgY29udGV4
dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMgcmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSBt
b2RlLCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBBdXRvUG9wU2NvcGVSZWYmIGZ1bmN0
aW9uU2NvcGUsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mIGluZm8pCiB7Ci0gICAg
QXV0b1BvcFNjb3BlUmVmIGZ1bmN0aW9uU2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOwotICAgIGZ1
bmN0aW9uU2NvcGUtPnNldElzRnVuY3Rpb24oKTsKLSAgICBpbnQgZnVuY3Rpb25OYW1lU3RhcnQg
PSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7Ci0gICAgY29uc3QgSWRlbnRpZmllciog
bGFzdEZ1bmN0aW9uTmFtZSA9IG1fbGFzdEZ1bmN0aW9uTmFtZTsKLSAgICBtX2xhc3RGdW5jdGlv
bk5hbWUgPSBudWxscHRyOwogICAgIGlmIChtYXRjaChJREVOVCkpIHsKICAgICAgICAgaW5mby5u
YW1lID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9
IGluZm8ubmFtZTsKQEAgLTEzMjQsNyArMTM4Miw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxk
CiAgICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5jdGlvbk1v
ZGUobW9kZSksICIgbmFtZSIpOwogICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVkIGFu
IG9wZW5pbmcgJygnIGJlZm9yZSBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIidz
IHBhcmFtZXRlciBsaXN0Iik7CiAgICAgfQotCisgICAgCiAgICAgaWYgKG1vZGUgPT0gR2V0dGVy
TW9kZSkKICAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiZ2V0dGVyIGZ1bmN0aW9u
cyBtdXN0IGhhdmUgbm8gcGFyYW1ldGVycyIpOwogICAgIGVsc2UgaWYgKG1vZGUgPT0gU2V0dGVy
TW9kZSkgewpAQCAtMTM0MSwxNiArMTM5OSw3OSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAog
ICAgICAgICB9CiAgICAgICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJFTiwgIkV4cGVjdGVkIGEg
JyknIG9yIGEgJywnIGFmdGVyIGEgcGFyYW1ldGVyIGRlY2xhcmF0aW9uIik7CiAgICAgfQorICAg
IAorICAgIHJldHVybiBwYXJhbWV0ZXJzU3RhcnQ7Cit9CiAKLSAgICBtYXRjaE9yRmFpbChPUEVO
QlJBQ0UsICJFeHBlY3RlZCBhbiBvcGVuaW5nICd7JyBhdCB0aGUgc3RhcnQgb2YgYSAiLCBzdHJp
bmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOworI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPiB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IGludCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0
aW9uUGFyYW10ZXJzKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblBhcnNlTW9kZSBtb2Rl
LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvKQoreworICAgIGludCBwYXJh
bWV0ZXJzU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CisgICAgaWYgKCFt
YXRjaChJREVOVCkgJiYgIW1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgc2VtYW50aWNGYWls
dXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7Cisg
ICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgYW4gYXJyb3cgZnVuY3Rpb24gaW5wdXQg
cGFyYW1ldGVyIik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikp
IHsKKyAgICAgICAgICAgIGNvbnN1bWUoT1BFTlBBUkVOKTsKKyAgICAgICAgICAgIAorICAgICAg
ICAgICAgaWYgKCFtYXRjaChDTE9TRVBBUkVOKSkgeworICAgICAgICAgICAgICAgIGluZm8ucGFy
YW1ldGVycyA9IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhjb250ZXh0KTsKKyAgICAgICAgICAgICAg
ICBmYWlsSWZGYWxzZShpbmZvLnBhcmFtZXRlcnMsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVycyBm
b3IgdGhpcyAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgCisgICAgICAgICAgICBjb25zdW1lT3JGYWlsKENMT1NFUEFSRU4sICJFeHBl
Y3RlZCBhICcpJyBvciBhICcsJyBhZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgYXV0byBwYXJhbWV0ZXIgPSBwYXJzZURlY29uc3Ry
dWN0aW9uUGF0dGVybihjb250ZXh0LCBEZWNvbnN0cnVjdFRvUGFyYW1ldGVycyk7CisgICAgICAg
ICAgICBmYWlsSWZGYWxzZShwYXJhbWV0ZXIsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVyIHBhdHRl
cm4iKTsKKyAgICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9IGNvbnRleHQuY3JlYXRlRm9ybWFs
UGFyYW1ldGVyTGlzdChwYXJhbWV0ZXIpOworICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5w
YXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9y
RnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAgICAgfQorICAgIH0KKyAgICAKKyAgICByZXR1cm4g
cGFyYW1ldGVyc1N0YXJ0OworfQorI2VuZGlmCiAKLSAgICAvLyBCeXRlY29kZUdlbmVyYXRvciBl
bWl0cyBjb2RlIHRvIHRocm93IFR5cGVFcnJvciB3aGVuIGEgY2xhc3MgY29uc3RydWN0b3IgaXMg
ImNhbGwiZWQuCi0gICAgLy8gU2V0IENvbnN0cnVjdG9yS2luZCB0byBOb25lIGZvciBub24tY29u
c3RydWN0b3IgbWV0aG9kcyBvZiBjbGFzc2VzLgotICAgIGJvb2wgaXNDbGFzc0NvbnN0cnVjdG9y
ID0gbW9kZSA9PSBNZXRob2RNb2RlICYmIGluZm8ubmFtZSAmJiAqaW5mby5uYW1lID09IG1fdm0t
PnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yOwotICAgIGlmIChtX2RlZmF1bHRDb25zdHJ1Y3Rv
cktpbmQgIT0gQ29uc3RydWN0b3JLaW5kOjpOb25lKSB7Ci0gICAgICAgIG93bmVyQ2xhc3NLaW5k
ID0gbV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kOwotICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3Ig
PSB0cnVlOwordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJl
ZUJ1aWxkZXImIGNvbnRleHQsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzIHJlcXVpcmVtZW50cywgRnVu
Y3Rpb25QYXJzZU1vZGUgbW9kZSwKKyAgICBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBD
b25zdHJ1Y3RvcktpbmQgb3duZXJDbGFzc0tpbmQsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwg
UGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYgaW5mbywgRnVuY3Rpb25QYXJzZVR5cGUg
cGFyc2VUeXBlKQoreworICAgIEF1dG9Qb3BTY29wZVJlZiBmdW5jdGlvblNjb3BlKHRoaXMsIHB1
c2hTY29wZSgpKTsKKyAgICBmdW5jdGlvblNjb3BlLT5zZXRJc0Z1bmN0aW9uKCk7CisgICAgaW50
IGZ1bmN0aW9uTmFtZVN0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OworICAg
IGNvbnN0IElkZW50aWZpZXIqIGxhc3RGdW5jdGlvbk5hbWUgPSBtX2xhc3RGdW5jdGlvbk5hbWU7
CisgICAgbV9sYXN0RnVuY3Rpb25OYW1lID0gbnVsbHB0cjsKKyAgICBpbnQgcGFyYW1ldGVyc1N0
YXJ0OworICAgIGJvb2wgaXNDbGFzc0NvbnN0cnVjdG9yOworICAgIAorICAgIHN3aXRjaCAocGFy
c2VUeXBlKSB7CisgICAgY2FzZSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlOiB7CisgICAgICAg
IHBhcmFtZXRlcnNTdGFydCA9IHBhcnNlRnVuY3Rpb25QYXJhbXRlcnMoY29udGV4dCwgcmVxdWly
ZW1lbnRzLCBtb2RlLCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgZnVuY3Rpb25TY29wZSwgaW5m
byk7CisgICAgICAgICAgICAKKyAgICAgICAgbWF0Y2hPckZhaWwoT1BFTkJSQUNFLCAiRXhwZWN0
ZWQgYW4gb3BlbmluZyAneycgYXQgdGhlIHN0YXJ0IG9mIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25N
b2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgCisgICAgICAgIC8vIEJ5dGVjb2RlR2VuZXJh
dG9yIGVtaXRzIGNvZGUgdG8gdGhyb3cgVHlwZUVycm9yIHdoZW4gYSBjbGFzcyBjb25zdHJ1Y3Rv
ciBpcyAiY2FsbCJlZC4KKyAgICAgICAgLy8gU2V0IENvbnN0cnVjdG9yS2luZCB0byBOb25lIGZv
ciBub24tY29uc3RydWN0b3IgbWV0aG9kcyBvZiBjbGFzc2VzLgorICAgICAgICBpc0NsYXNzQ29u
c3RydWN0b3IgPSBtb2RlID09IE1ldGhvZE1vZGUgJiYgaW5mby5uYW1lICYmICppbmZvLm5hbWUg
PT0gbV92bS0+cHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3I7CisgICAgICAgIGlmIChtX2RlZmF1
bHRDb25zdHJ1Y3RvcktpbmQgIT0gQ29uc3RydWN0b3JLaW5kOjpOb25lKSB7CisgICAgICAgICAg
ICBvd25lckNsYXNzS2luZCA9IG1fZGVmYXVsdENvbnN0cnVjdG9yS2luZDsKKyAgICAgICAgICAg
IGlzQ2xhc3NDb25zdHJ1Y3RvciA9IHRydWU7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7Cisg
ICAgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2FzZSBBcnJv
d0Z1bmN0aW9uUGFyc2VUeXBlOiB7CisgICAgICAgIHBhcmFtZXRlcnNTdGFydCA9IHBhcnNlQXJy
b3dGdW5jdGlvblBhcmFtdGVycyhjb250ZXh0LCBtb2RlLCBpbmZvKTsKKyAgICAgICAgCisgICAg
ICAgIG1hdGNoT3JGYWlsKEFSUk9XRlVOQ1RJT04sICJFeHBlY3RlZCBhICc9PicgYWZ0ZXIgYXJy
b3cgZnVuY3Rpb24gcGFyYW1ldGVyIGRlY2xhcmF0aW9uIik7CisgICAgICAgIGlzQ2xhc3NDb25z
dHJ1Y3RvciA9IGZhbHNlOworICAgICAgICAKKyAgICAgICAgaW5mby5hcnJvd0Z1bmN0aW9uT2Zm
c2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgICAgICBicmVhazsKICAgICB9CisjZW5k
aWYKKyAgICB9CisKICAgICBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kID0gaXNDbGFz
c0NvbnN0cnVjdG9yID8gb3duZXJDbGFzc0tpbmQgOiBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmU7CiAK
ICAgICBpbmZvLm9wZW5CcmFjZU9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKQEAgLTEz
ODQsOCArMTUwNSwxNSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICBmYWlsSWZG
YWxzZShwb3BTY29wZShmdW5jdGlvblNjb3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFi
bGVJbmZvKSwgIlBhcnNlciBlcnJvciIpOwogICAgICAgICAKICAgICAgICAgaW5mby5jbG9zZUJy
YWNlT2Zmc2V0ID0gY2FjaGVkSW5mby0+Y2xvc2VCcmFjZU9mZnNldDsKLQotICAgICAgICBtX3Rv
a2VuID0gY2FjaGVkSW5mby0+Y2xvc2VCcmFjZVRva2VuKCk7CisgICAgICAgIAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChwYXJzZVR5cGUgPT0gQXJy
b3dGdW5jdGlvblBhcnNlVHlwZSkKKyAgICAgICAgICAgIGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9
IGNhY2hlZEluZm8tPmlzQm9keUFycm93RXhwcmVzc2lvbiA/ICBBcnJvd0Z1bmN0aW9uQm9keUV4
cHJlc3Npb24gOiBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrOworICAgICAgICBlbHNlCisgICAgICAg
ICAgICBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uQm9keUJsb2NrOwor
I2VuZGlmCisgICAgICAgIG1fdG9rZW4gPSBjYWNoZWRJbmZvLT5lbmRGdW5jdGlvblRva2VuKCk7
CisgICAgICAgIAogICAgICAgICBpZiAoZW5kQ29sdW1uSXNPblN0YXJ0TGluZSkKICAgICAgICAg
ICAgIG1fdG9rZW4ubV9sb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50TGluZVN0YXJ0
T2Zmc2V0OwogCkBAIC0xMzk0LDEzICsxNTIyLDQzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxk
CiAKICAgICAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQoaW5mby5ib2R5LCBtX2xleGVyLT5jdXJy
ZW50T2Zmc2V0KCkpOwogICAgICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgICAgICBpZiAocGFyc2VUeXBlICE9IEFycm93RnVuY3Rpb25QYXJzZVR5cGUgfHwg
aW5mby5mdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spCisgICAgICAg
ICAgICBuZXh0KCk7CisjZWxzZQogICAgICAgICBuZXh0KCk7CisjZW5kaWYKICAgICAgICAgaW5m
by5ib2R5RW5kTGluZSA9IG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZTsKICAgICAgICAgcmV0
dXJuIHRydWU7CiAgICAgfQorICAgIAogICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IGxhc3RGdW5j
dGlvbk5hbWU7CiAgICAgUGFyc2VyU3RhdGUgb2xkU3RhdGUgPSBzYXZlU3RhdGUoKTsKLSAgICBp
bmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFy
dCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kKTsK
KyAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlmIChwYXJz
ZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICBTYXZlUG9pbnQgc2F2
ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgLy8g
Q2hlY2sgaWYgYXJyb3cgYm9keSBzdGFydCB3aXRoIHsuIElmIGl0IHRydWUgaXQgbWVhbiB0aGF0
IGFycm93IGZ1bmN0aW9uIGlzIEZhdCBhcnJvdyBmdW5jdGlvbgorICAgICAgICAvLyBhbmQgd2Ug
bmVlZCB1c2UgY29tbW9uIGFwcHJvYWNoIHRvIHBhcnNlIGZ1bmN0aW9uIGJvZHkKKyAgICAgICAg
aW5mby5mdW5jdGlvbkJvZHlUeXBlID0gbWF0Y2goT1BFTkJSQUNFKSA/IEFycm93RnVuY3Rpb25C
b2R5QmxvY2sgOiBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb247CisgICAgCisgICAgICAgIGlm
IChpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jaykgeworICAg
ICAgICAgICAgaW5mby5vcGVuQnJhY2VPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7Cisg
ICAgICAgICAgICBpbmZvLmJvZHlTdGFydExpbmUgPSB0b2tlbkxpbmUoKTsKKyAgICAgICAgICAg
IGluZm8uYm9keVN0YXJ0Q29sdW1uID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0IC0gbV90b2tlbi5t
X2RhdGEubGluZVN0YXJ0T2Zmc2V0OworICAgICAgICAKKyAgICAgICAgICAgIGluZm8uYm9keSA9
IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlv
bk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQsIFN0YW5kYXJkRnVu
Y3Rpb25QYXJzZVR5cGUpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgcmVzdG9yZVNh
dmVQb2ludChzYXZlUG9pbnQpOworICAgICAgICAgICAgaW5mby5ib2R5ID0gcGFyc2VGdW5jdGlv
bkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBw
YXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCwgQXJyb3dGdW5jdGlvblBhcnNlVHlwZSk7
CisgICAgICAgIH0KKyAgICB9IGVsc2UKKyAgICAgICAgaW5mby5ib2R5ID0gcGFyc2VGdW5jdGlv
bkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBw
YXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlw
ZSk7CisjZWxzZQorICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1
bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBj
b25zdHJ1Y3RvcktpbmQsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOworI2VuZGlmCisgICAg
CiAgICAgcmVzdG9yZVN0YXRlKG9sZFN0YXRlKTsKICAgICBmYWlsSWZGYWxzZShpbmZvLmJvZHks
ICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgdGhpcyAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUo
bW9kZSkpOwogICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KGluZm8uYm9keSwgbV9sZXhlci0+Y3Vy
cmVudE9mZnNldCgpKTsKQEAgLTE0MzEsMTggKzE1ODksMzIgQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVl
QnVpbGQKICAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJyYWNlTGluZSA9IGNsb3NlQnJhY2VMaW5l
OwogICAgICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VPZmZzZXQgPSBpbmZvLmNsb3NlQnJhY2VP
ZmZzZXQ7CiAgICAgICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldCA9IGNs
b3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQ7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICAgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7
CisgICAgICAgICAgICBwYXJhbWV0ZXJzLmlzQm9keUFycm93RXhwcmVzc2lvbiA9IGluZm8uZnVu
Y3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb247CisgICAgICAgICAg
ICBwYXJhbWV0ZXJzLnRva2VuVHlwZSA9IG1fdG9rZW4ubV90eXBlOworICAgICAgICB9CisjZW5k
aWYKICAgICAgICAgZnVuY3Rpb25TY29wZS0+ZmlsbFBhcmFtZXRlcnNGb3JTb3VyY2VQcm92aWRl
ckNhY2hlKHBhcmFtZXRlcnMpOwogICAgICAgICBuZXdJbmZvID0gU291cmNlUHJvdmlkZXJDYWNo
ZUl0ZW06OmNyZWF0ZShwYXJhbWV0ZXJzKTsKLQogICAgIH0KICAgICAKICAgICBmYWlsSWZGYWxz
ZShwb3BTY29wZShmdW5jdGlvblNjb3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFibGVJ
bmZvKSwgIlBhcnNlciBlcnJvciIpOworICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgaWYgKChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSAm
JiBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jaykgfHwgcGFy
c2VUeXBlICE9IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgbWF0Y2hPckZhaWwo
Q0xPU0VCUkFDRSwgIkV4cGVjdGVkIGEgY2xvc2luZyAnfScgYWZ0ZXIgYSAiLCBzdHJpbmdGb3JG
dW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOworICAgICAgICBuZXh0KCk7CisgICAgfSBlbHNl
CisgICAgICAgIGZhaWxJZkZhbHNlKGlzRW5kT2ZBcnJvd0Z1bmN0aW9uKCksICJFeHBlY3RlZCB0
aGUgY2xvc2luZyAnOycgJywnICddJyAnKScgJ30nIGFmdGVyIGFycm93IGZ1bmN0aW9uIik7Cisj
ZWxzZQogICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0UsICJFeHBlY3RlZCBhIGNsb3NpbmcgJ30n
IGFmdGVyIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICBu
ZXh0KCk7CisjZW5kaWYKICAgICAKICAgICBpZiAobmV3SW5mbykKICAgICAgICAgbV9mdW5jdGlv
bkNhY2hlLT5hZGQoaW5mby5vcGVuQnJhY2VPZmZzZXQsIFdURjo6bW92ZShuZXdJbmZvKSk7CiAg
ICAgCi0gICAgbmV4dCgpOwogICAgIGluZm8uYm9keUVuZExpbmUgPSBtX2xhc3RUb2tlbkVuZFBv
c2l0aW9uLmxpbmU7CiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC0xNDU1LDcgKzE2MjcsNyBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlRnVuY3Rpb25EZWNsYQogICAgIHVuc2lnbmVkIGZ1bmN0aW9uS2V5d29yZFN0YXJ0
ID0gdG9rZW5TdGFydCgpOwogICAgIG5leHQoKTsKICAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJl
ZUJ1aWxkZXI+IGluZm87Ci0gICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRl
eHQsIEZ1bmN0aW9uTmVlZHNOYW1lLCBGdW5jdGlvbk1vZGUsIHRydWUsIENvbnN0cnVjdG9yS2lu
ZDo6Tm9uZSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8pKSwgIkNhbm5vdCBwYXJzZSB0aGlz
IGZ1bmN0aW9uIik7CisgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQs
IEZ1bmN0aW9uTmVlZHNOYW1lLCBGdW5jdGlvbk1vZGUsIHRydWUsIENvbnN0cnVjdG9yS2luZDo6
Tm9uZSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8sIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5
cGUpKSwgIkNhbm5vdCBwYXJzZSB0aGlzIGZ1bmN0aW9uIik7CiAgICAgZmFpbElmRmFsc2UoaW5m
by5uYW1lLCAiRnVuY3Rpb24gc3RhdGVtZW50cyBtdXN0IGhhdmUgYSBuYW1lIik7CiAgICAgZmFp
bElmRmFsc2VJZlN0cmljdChkZWNsYXJlVmFyaWFibGUoaW5mby5uYW1lKSwgIkNhbm5vdCBkZWNs
YXJlIGEgZnVuY3Rpb24gbmFtZWQgJyIsIGluZm8ubmFtZS0+aW1wbCgpLCAiJyBpbiBzdHJpY3Qg
bW9kZSIpOwogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmNEZWNsU3RhdGVtZW50KGxvY2F0
aW9uLCBpbmZvKTsKQEAgLTE1NTAsNyArMTcyMiw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZUNsYXNzRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VDbGFzcyhU
CiAgICAgICAgICAgICBmYWlsSWZGYWxzZShwcm9wZXJ0eSwgIkNhbm5vdCBwYXJzZSB0aGlzIG1l
dGhvZCIpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgUGFyc2VyRnVuY3Rpb25JbmZv
PFRyZWVCdWlsZGVyPiBtZXRob2RJbmZvOwotICAgICAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNl
RnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTmVlZHNOYW1lLCBpc1N0YXRpY01ldGhvZCA/
IEZ1bmN0aW9uTW9kZSA6IE1ldGhvZE1vZGUsIGZhbHNlLCBjb25zdHJ1Y3RvcktpbmQsIG1ldGhv
ZFN0YXJ0LCBtZXRob2RJbmZvKSksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2QiKTsKKyAgICAg
ICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5l
ZWRzTmFtZSwgaXNTdGF0aWNNZXRob2QgPyBGdW5jdGlvbk1vZGUgOiBNZXRob2RNb2RlLCBmYWxz
ZSwgY29uc3RydWN0b3JLaW5kLCBtZXRob2RTdGFydCwgbWV0aG9kSW5mbywgU3RhbmRhcmRGdW5j
dGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9kIik7CiAgICAgICAgICAg
ICBmYWlsSWZGYWxzZShtZXRob2RJbmZvLm5hbWUsICJtZXRob2QgbXVzdCBoYXZlIGEgbmFtZSIp
OwogICAgICAgICAgICAgZmFpbElmRmFsc2UoZGVjbGFyZVZhcmlhYmxlKG1ldGhvZEluZm8ubmFt
ZSksICJDYW5ub3QgZGVjbGFyZSBhIG1ldGhvZCBuYW1lZCAnIiwgbWV0aG9kSW5mby5uYW1lLT5p
bXBsKCksICInIik7CiAKQEAgLTE3NjYsNiArMTkzOCwxOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSWZTdGF0ZW1l
bnQoVAogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUlmU3RhdGVtZW50KGlmTG9jYXRpb24sIGNv
bmRpdGlvbiwgdHJ1ZUJsb2NrLCBzdGF0ZW1lbnRTdGFjay5sYXN0KCksIHN0YXJ0LCBlbmQpOwog
fQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBl
bmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNz
aW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVC
dWlsZGVyJiBjb250ZXh0KQoreworICAgIGZhaWxJZlN0YWNrT3ZlcmZsb3coKTsKKyAgICBUcmVl
RXhwcmVzc2lvbiBub2RlID0gcGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbihjb250ZXh0KTsKKyAg
ICBmYWlsSWZGYWxzZShub2RlLCAiQ2Fubm90IHBhcnNlIGV4cHJlc3Npb24iKTsKKyAgICBjb250
ZXh0LnNldEVuZE9mZnNldChub2RlLCBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLm9mZnNldCk7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlw
ZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKIHsKQEAgLTE4
MTMsNiArMTk5Nyw0MSBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRyZWVFeHBy
ZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbgogICAgICAgICB9CiAgICAg
ICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKICAgICB9CisKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFNhdmVQb2ludCBzYXZlQXJyb3dGdW5jdGlvblBv
aW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgYm9vbCBhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0
ID0gZmFsc2U7CisgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgbmV4dCgpOwor
ICAgICAgICBpZiAobWF0Y2goQ0xPU0VQQVJFTikpIHsKKyAgICAgICAgICAgIG5leHQoKTsKKwor
ICAgICAgICAgICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJT04pKQorICAgICAgICAgICAgICAgIGFy
cm93RnVuY3Rpb25FbXB0eUxpc3QgPSB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCFh
cnJvd0Z1bmN0aW9uRW1wdHlMaXN0KQorICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZl
QXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICB9CisKKyAgICBUcmVlRXhwcmVzc2lvbiBsaHM7Cisg
ICAgaWYgKCFhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0KSB7CisgICAgICAgIGxocyA9IHBhcnNlQ29u
ZGl0aW9uYWxFeHByZXNzaW9uKGNvbnRleHQpOworICAgICAgICBmYWlsSWZGYWxzZShsaHMsICJD
YW4Zbm90IHBhcnNlIGV4cHJlc3Npb24iKTsKKyAgICAgICAgaWYgKGluaXRpYWxOb25MSFNDb3Vu
dCAhPSBtX25vbkxIU0NvdW50KSB7CisgICAgICAgICAgICBpZiAobV90b2tlbi5tX3R5cGUgPj0g
RVFVQUwgJiYgbV90b2tlbi5tX3R5cGUgPD0gT1JFUVVBTCkKKyAgICAgICAgICAgICAgICBzZW1h
bnRpY0ZhaWwoIkxlZnQgaGFuZCBzaWRlIG9mIG9wZXJhdG9yICciLCBnZXRUb2tlbigpLCAiJyBt
dXN0IGJlIGEgcmVmZXJlbmNlIik7CisKKyAgICAgICAgICAgIHJldHVybiBsaHM7CisgICAgICAg
IH0KKyAgICB9CisKKyAgICBpZiAobWF0Y2goQVJST1dGVU5DVElPTikpIHsKKyAgICAgICAgcmVz
dG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAgbGhzID0gcGFy
c2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihjb250ZXh0KTsKKyAgICAgICAgcmV0dXJuIGxoczsKKyAg
ICB9CisjZWxzZQogICAgIFRyZWVFeHByZXNzaW9uIGxocyA9IHBhcnNlQ29uZGl0aW9uYWxFeHBy
ZXNzaW9uKGNvbnRleHQpOwogICAgIGZhaWxJZkZhbHNlKGxocywgIkNhbm5vdCBwYXJzZSBleHBy
ZXNzaW9uIik7CiAgICAgaWYgKGluaXRpYWxOb25MSFNDb3VudCAhPSBtX25vbkxIU0NvdW50KSB7
CkBAIC0xODIxLDcgKzIwNDAsOCBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRy
ZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbgogCiAgICAgICAg
IHJldHVybiBsaHM7CiAgICAgfQotICAgIAorI2VuZGlmCisKICAgICBpbnQgYXNzaWdubWVudFN0
YWNrID0gMDsKICAgICBPcGVyYXRvciBvcDsKICAgICBib29sIGhhZEFzc2lnbm1lbnQgPSBmYWxz
ZTsKQEAgLTIwNTMsNyArMjI3Myw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHlNZXRoCiAgICAgSlNU
b2tlbkxvY2F0aW9uIG1ldGhvZExvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CiAgICAgdW5zaWdu
ZWQgbWV0aG9kU3RhcnQgPSB0b2tlblN0YXJ0KCk7CiAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRy
ZWVCdWlsZGVyPiBtZXRob2RJbmZvOwotICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5m
byhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBNZXRob2RNb2RlLCBmYWxzZSwgQ29u
c3RydWN0b3JLaW5kOjpOb25lLCBtZXRob2RTdGFydCwgbWV0aG9kSW5mbykpLCAiQ2Fubm90IHBh
cnNlIHRoaXMgbWV0aG9kIik7CisgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNv
bnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIE1ldGhvZE1vZGUsIGZhbHNlLCBDb25zdHJ1
Y3RvcktpbmQ6Ok5vbmUsIG1ldGhvZFN0YXJ0LCBtZXRob2RJbmZvLCBTdGFuZGFyZEZ1bmN0aW9u
UGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2QiKTsKICAgICBtZXRob2RJbmZv
Lm5hbWUgPSBtZXRob2ROYW1lOwogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uRXhw
cihtZXRob2RMb2NhdGlvbiwgbWV0aG9kSW5mbyk7CiB9CkBAIC0yMDc1LDEwICsyMjk1LDEwIEBA
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUdldHRlclNldHRlcihUCiAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWls
ZGVyPiBpbmZvOwogICAgIGlmICh0eXBlID09IFByb3BlcnR5Tm9kZTo6R2V0dGVyKSB7CiAgICAg
ICAgIGZhaWxJZkZhbHNlKG1hdGNoKE9QRU5QQVJFTiksICJFeHBlY3RlZCBhIHBhcmFtZXRlciBs
aXN0IGZvciBnZXR0ZXIgZGVmaW5pdGlvbiIpOwotICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VG
dW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgR2V0dGVyTW9kZSwg
ZmFsc2UsIGNvbnN0cnVjdG9yS2luZCwgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgaW5mbykp
LCAiQ2Fubm90IHBhcnNlIGdldHRlciBkZWZpbml0aW9uIik7CisgICAgICAgIGZhaWxJZkZhbHNl
KChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBHZXR0
ZXJNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBnZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0
LCBpbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2UgZ2V0dGVy
IGRlZmluaXRpb24iKTsKICAgICB9IGVsc2UgewogICAgICAgICBmYWlsSWZGYWxzZShtYXRjaChP
UEVOUEFSRU4pLCAiRXhwZWN0ZWQgYSBwYXJhbWV0ZXIgbGlzdCBmb3Igc2V0dGVyIGRlZmluaXRp
b24iKTsKLSAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1
bmN0aW9uTm9SZXF1aXJlbWVudHMsIFNldHRlck1vZGUsIGZhbHNlLCBjb25zdHJ1Y3RvcktpbmQs
IGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIGluZm8pKSwgIkNhbm5vdCBwYXJzZSBzZXR0ZXIg
ZGVmaW5pdGlvbiIpOworICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29u
dGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgU2V0dGVyTW9kZSwgZmFsc2UsIGNvbnN0cnVj
dG9yS2luZCwgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgaW5mbywgU3RhbmRhcmRGdW5jdGlv
blBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIHNldHRlciBkZWZpbml0aW9uIik7CiAgICAgfQog
ICAgIGlmIChzdHJpbmdQcm9wZXJ0eU5hbWUpCiAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0
ZUdldHRlck9yU2V0dGVyUHJvcGVydHkobG9jYXRpb24sIHR5cGUsIHN0cmljdCwgc3RyaW5nUHJv
cGVydHlOYW1lLCBpbmZvLCBzdXBlckJpbmRpbmcpOwpAQCAtMjI2Nyw3ICsyNDg3LDcgQEAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAgbmV4dCgpOwogICAgICAgICBQYXJzZXJGdW5j
dGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87CiAgICAgICAgIGluZm8ubmFtZSA9ICZtX3ZtLT5w
cm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllcjsKLSAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNl
RnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEZ1bmN0aW9uTW9k
ZSwgZmFsc2UsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGlu
Zm8pKSwgIkNhbm5vdCBwYXJzZSBmdW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgICAgIGZhaWxJ
ZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRz
LCBGdW5jdGlvbk1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5
d29yZFN0YXJ0LCBpbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFy
c2UgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVG
dW5jdGlvbkV4cHIobG9jYXRpb24sIGluZm8pOwogICAgIH0KICNpZiBFTkFCTEUoRVM2X0NMQVNT
X1NZTlRBWCkKQEAgLTIyOTYsNiArMjUxNiwyMyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHByZQog
ICAgICAgICByZXR1cm4gY29udGV4dC50aGlzRXhwcihsb2NhdGlvbiwgbV90aGlzVERaTW9kZSk7
CiAgICAgfQogICAgIGNhc2UgSURFTlQ6IHsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgICAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0
ZVNhdmVQb2ludCgpOworICAgICAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQ
b3NpdGlvbigpOworICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9k
YXRhLmlkZW50OworICAgICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlv
bigpKTsKKyAgICAgICAgbmV4dCgpOworCisgICAgICAgIGlmICghbWF0Y2goQVJST1dGVU5DVElP
TikpIHsKKyAgICAgICAgICAgIGN1cnJlbnRTY29wZSgpLT51c2VWYXJpYWJsZShpZGVudCwgbV92
bS0+cHJvcGVydHlOYW1lcy0+ZXZhbCA9PSAqaWRlbnQpOworICAgICAgICAgICAgbV9sYXN0SWRl
bnRpZmllciA9IGlkZW50OworICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUmVzb2x2
ZShsb2NhdGlvbiwgaWRlbnQsIHN0YXJ0KTsKKyAgICAgICAgfQorCisgICAgICAgIHJlc3RvcmVT
YXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAgICAgIFRyZWVFeHByZXNzaW9u
IGxocyA9IHBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoY29udGV4dCk7CisgICAgICAgIHJldHVy
biBsaHM7CisjZWxzZQogICAgICAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQ
b3NpdGlvbigpOwogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9k
YXRhLmlkZW50OwogICAgICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlv
bigpKTsKQEAgLTIzMDMsNiArMjU0MCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAg
ICAgIGN1cnJlbnRTY29wZSgpLT51c2VWYXJpYWJsZShpZGVudCwgbV92bS0+cHJvcGVydHlOYW1l
cy0+ZXZhbCA9PSAqaWRlbnQpOwogICAgICAgICBtX2xhc3RJZGVudGlmaWVyID0gaWRlbnQ7CiAg
ICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJlc29sdmUobG9jYXRpb24sIGlkZW50LCBzdGFy
dCk7CisjZW5kaWYKICAgICB9CiAgICAgY2FzZSBTVFJJTkc6IHsKICAgICAgICAgY29uc3QgSWRl
bnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKQEAgLTI0OTAsNiArMjcyOCwz
MiBAQCBlbmRNZW1iZXJFeHByZXNzaW9uOgogICAgIHJldHVybiBiYXNlOwogfQogCisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5
cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKFRyZWVCdWlsZGVyJiBjb250ZXh0
KQoreworICAgIFRyZWVFeHByZXNzaW9uIGJhc2UgPSAwOworICAgIEpTVGV4dFBvc2l0aW9uIGV4
cHJlc3Npb25TdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgIGludCBuZXdDb3VudCA9
IDA7CisgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uOworCisgICAgaWYgKG1hdGNoKElERU5U
KSB8fCBtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgIHVuc2lnbmVkIGZ1bmN0aW9uS2V5d29y
ZFN0YXJ0ID0gdG9rZW5TdGFydCgpOworICAgICAgICBsb2NhdGlvbiA9IHRva2VuTG9jYXRpb24o
KTsKKyAgICAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOworICAgICAg
ICBpbmZvLm5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1lcy0+bnVsbElkZW50aWZpZXI7CisgICAg
ICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVx
dWlyZW1lbnRzLCBGdW5jdGlvbk1vZGUsIHRydWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgZnVu
Y3Rpb25LZXl3b3JkU3RhcnQsIGluZm8sIEFycm93RnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5v
dCBwYXJzZSBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgICAgIGJhc2UgPSBjb250
ZXh0LmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKGxvY2F0aW9uLCBpbmZvKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgYmFzZSA9IHBhcnNlUHJpbWFyeUV4cHJlc3Npb24oY29udGV4dCk7CisKKyAgICBm
YWlsSWZGYWxzZShiYXNlLCAiQ2Fubm90IHBhcnNlIGJhc2UgZXhwcmVzc2lvbiIpOworICAgIHdo
aWxlIChuZXdDb3VudC0tKQorICAgICAgICBiYXNlID0gY29udGV4dC5jcmVhdGVOZXdFeHByKGxv
Y2F0aW9uLCBiYXNlLCBleHByZXNzaW9uU3RhcnQsIGxhc3RUb2tlbkVuZFBvc2l0aW9uKCkpOwor
ICAgIHJldHVybiBiYXNlOworfQorI2VuZGlmCisKIHN0YXRpYyBjb25zdCBjaGFyKiBvcGVyYXRv
clN0cmluZyhib29sIHByZWZpeCwgdW5zaWduZWQgdG9rKQogewogICAgIHN3aXRjaCAodG9rKSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCAwZjI3MjhmODYyMWY4MDEw
YzQxMGJmNzk4NzYxOWJmMjNlNTBhZjhiLi4wNWNjZDRhNTA0ODg3NGIwY2U5ZDdkOWNhNzJmY2Ix
OTdiYjc2NDI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNl
ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKQEAgLTgwLDYg
KzgwLDExIEBAIGNsYXNzIFNvdXJjZUNvZGU7CiBDT01QSUxFX0FTU0VSVChMYXN0VW50YWdnZWRU
b2tlbiA8IDY0LCBMZXNzVGhhbjY0VW50YWdnZWRUb2tlbnMpOwogCiBlbnVtIFNvdXJjZUVsZW1l
bnRzTW9kZSB7IENoZWNrRm9yU3RyaWN0TW9kZSwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSB9Owor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitlbnVtIEZ1bmN0aW9uUGFyc2VU
eXBlIHsgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSwgQXJyb3dGdW5jdGlvblBhcnNlVHlwZSB9
OworI2Vsc2UKK2VudW0gRnVuY3Rpb25QYXJzZVR5cGUgeyBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VU
eXBlfTsKKyNlbmRpZgogZW51bSBGdW5jdGlvblJlcXVpcmVtZW50cyB7IEZ1bmN0aW9uTm9SZXF1
aXJlbWVudHMsIEZ1bmN0aW9uTmVlZHNOYW1lIH07CiBlbnVtIEZ1bmN0aW9uUGFyc2VNb2RlIHsK
ICAgICBGdW5jdGlvbk1vZGUsCkBAIC02MTgsNiArNjIzLDEzIEBAIHByaXZhdGU6CiAgICAgICAg
IHJldHVybiBtX3Rva2VuLm1fdHlwZSA9PSBJREVOVCAmJiAqbV90b2tlbi5tX2RhdGEuaWRlbnQg
PT0gbV92bS0+cHJvcGVydHlOYW1lcy0+b2Y7CiAgICAgfQogICAgIAorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgQUxXQVlTX0lOTElORSBib29sIGlzRW5kT2ZBcnJv
d0Z1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiBtYXRjaChTRU1JQ09MT04pIHx8IG1h
dGNoKENPTU1BKSB8fCBtYXRjaChDTE9TRVBBUkVOKSB8fCBtYXRjaChDTE9TRUJSQUNFKSB8fCBt
YXRjaChDTE9TRUJSQUNLRVQpOworICAgIH0KKyNlbmRpZgorICAgIAogICAgIEFMV0FZU19JTkxJ
TkUgdW5zaWduZWQgdG9rZW5TdGFydCgpCiAgICAgewogICAgICAgICByZXR1cm4gbV90b2tlbi5t
X2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OwpAQCAtNzIxLDkgKzczMyw5IEBAIHByaXZhdGU6CiAgICAg
ICAgIH0KICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0gICAgCi0gICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgcGFyc2VTb3VyY2VFbGVtZW50
cyhUcmVlQnVpbGRlciYsIFNvdXJjZUVsZW1lbnRzTW9kZSk7Ci0gICAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiwg
Y29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxM
ZW5ndGggPSAwKTsKKworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJj
ZUVsZW1lbnRzIHBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVtZW50
c01vZGUsIEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImLCBjb25zdCBJZGVu
dGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDAs
IEZ1bmN0aW9uUGFyc2VUeXBlIHR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICNp
ZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VDbGFzc0RlY2xhcmF0aW9uKFRyZWVCdWlsZGVyJik7CiAj
ZW5kaWYKQEAgLTc2MiwxNyArNzc0LDI2IEBAIHByaXZhdGU6CiAgICAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgcGFyc2VQcm9wZXJ0eShUcmVlQnVpbGRlciYsIGJv
b2wgc3RyaWN0KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNz
aW9uIHBhcnNlUHJvcGVydHlNZXRob2QoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50
aWZpZXIqIG1ldGhvZE5hbWUpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZVByb3BlcnR5IHBhcnNlR2V0dGVyU2V0dGVyKFRyZWVCdWlsZGVyJiwgYm9vbCBzdHJpY3QsIFBy
b3BlcnR5Tm9kZTo6VHlwZSwgdW5zaWduZWQgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgQ29u
c3RydWN0b3JLaW5kID0gQ29uc3RydWN0b3JLaW5kOjpOb25lLCBTdXBlckJpbmRpbmcgPSBTdXBl
ckJpbmRpbmc6Ok5vdE5lZWRlZCk7Ci0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBB
TFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VGdW5jdGlvbkJvZHkoVHJlZUJ1aWxk
ZXImLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwgaW50
IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZ1bmN0aW9uQm9keSBwYXJzZUZ1bmN0aW9u
Qm9keShUcmVlQnVpbGRlciYsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW50IGZ1bmN0aW9u
TmFtZVN0YXJ0LCBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQsIEZ1bmN0aW9u
UGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZvcm1hbFBhcmFtZXRlckxpc3QgcGFyc2VGb3JtYWxQ
YXJhbWV0ZXJzKFRyZWVCdWlsZGVyJik7CiAgICAgZW51bSBWYXJEZWNsYXJhdGlvbkxpc3RDb250
ZXh0IHsgRm9yTG9vcENvbnRleHQsIFZhckRlY2xhcmF0aW9uQ29udGV4dCB9OwogICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VWYXJEZWNsYXJhdGlv
bkxpc3QoVHJlZUJ1aWxkZXImLCBpbnQmIGRlY2xhcmF0aW9ucywgVHJlZURlY29uc3RydWN0aW9u
UGF0dGVybiYgbGFzdFBhdHRlcm4sIFRyZWVFeHByZXNzaW9uJiBsYXN0SW5pdGlhbGl6ZXIsIEpT
VGV4dFBvc2l0aW9uJiBpZGVudFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdFN0YXJ0LCBKU1Rl
eHRQb3NpdGlvbiYgaW5pdEVuZCwgVmFyRGVjbGFyYXRpb25MaXN0Q29udGV4dCk7CiAgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZUNvbnN0RGVjbExpc3Qg
cGFyc2VDb25zdERlY2xhcmF0aW9uTGlzdChUcmVlQnVpbGRlciYpOwogCisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVFeHByZXNzaW9uIHBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXIm
KTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VB
cnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKFRy
ZWVCdWlsZGVyJik7CisjZW5kaWYKKwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
TkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gY3JlYXRlQmluZGluZ1BhdHRl
cm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0cnVjdGlvbktpbmQsIGNvbnN0IElkZW50aWZpZXImLCBp
bnQgZGVwdGgsIEpTVG9rZW4pOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVW
RVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gcGFyc2VEZWNvbnN0cnVjdGlvblBh
dHRlcm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0cnVjdGlvbktpbmQsIGludCBkZXB0aCA9IDApOwog
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0
cnVjdGlvblBhdHRlcm4gdHJ5UGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm5FeHByZXNzaW9uKFRy
ZWVCdWlsZGVyJik7Ci0KLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lO
TElORSBib29sIHBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJl
bWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlLCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBD
b25zdHJ1Y3RvcktpbmQsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rpb25J
bmZvPFRyZWVCdWlsZGVyPiYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVW
RVJfSU5MSU5FIGludCBwYXJzZUZ1bmN0aW9uUGFyYW10ZXJzKFRyZWVCdWlsZGVyJiwgRnVuY3Rp
b25SZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlLCBib29sLCBBdXRvUG9wU2NvcGVSZWYm
LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+Jik7CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVS
X0lOTElORSBpbnQgcGFyc2VBcnJvd0Z1bmN0aW9uUGFyYW10ZXJzKFRyZWVCdWlsZGVyJiwgRnVu
Y3Rpb25QYXJzZU1vZGUsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mKTsKKyNlbmRp
ZgorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIGJvb2wgcGFy
c2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgRnVuY3Rp
b25QYXJzZU1vZGUsIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2lu
ZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxk
ZXI+JiwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25QYXJzZVR5cGUpOwogI2lmIEVOQUJMRShF
UzZfQ0xBU1NfU1lOVEFYKQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJf
SU5MSU5FIFRyZWVDbGFzc0V4cHJlc3Npb24gcGFyc2VDbGFzcyhUcmVlQnVpbGRlciYsIEZ1bmN0
aW9uUmVxdWlyZW1lbnRzLCBQYXJzZXJDbGFzc0luZm88VHJlZUJ1aWxkZXI+Jik7CiAjZW5kaWYK
QEAgLTc4OSw2ICs4MTAsMTQgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIGFsbG93QXV0b21h
dGljU2VtaWNvbG9uKCk7CiAgICAgfQogICAgIAorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICB2b2lkIHNldEVuZE9mU3RhdGVtZW50KCkKKyAgICB7CisgICAgICAg
IG1fbGV4ZXItPnNldFRva2VuUG9zaXRpb24oJm1fdG9rZW4pOworICAgIH0KKyNlbmRpZgorCiAg
ICAgYm9vbCBjYW5SZWN1cnNlKCkKICAgICB7CiAgICAgICAgIHJldHVybiBtX3ZtLT5pc1NhZmVU
b1JlY3Vyc2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFy
c2VyRnVuY3Rpb25JbmZvLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1
bmN0aW9uSW5mby5oCmluZGV4IDZiNzM2MjgyZTJkMmE4MWJjNjNkYzJmM2MwZTVhZThjODU4Y2Qx
ZjguLjBjZGUwYzY3YTlkZTBlZGYzNDE0NGUzMjc5MWU1ZTkwYjRhMjE1MTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaApAQCAtMjgs
NiArMjgsMTAgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorZW51bSBGdW5jdGlvbkJvZHlUeXBlIHsgQXJyb3dGdW5jdGlvbkJvZHlF
eHByZXNzaW9uLCBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrLCBTdGFuZGFyZEZ1bmN0aW9uQm9keUJs
b2NrIH07CisjZW5kaWYKKwogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPgogc3RydWN0IFBh
cnNlckZ1bmN0aW9uSW5mbyB7CiAgICAgY29uc3QgSWRlbnRpZmllciogbmFtZSA9IDA7CkBAIC0z
OCw2ICs0MiwxMSBAQCBzdHJ1Y3QgUGFyc2VyRnVuY3Rpb25JbmZvIHsKICAgICBpbnQgYm9keVN0
YXJ0TGluZSA9IDA7CiAgICAgaW50IGJvZHlFbmRMaW5lID0gMDsKICAgICB1bnNpZ25lZCBib2R5
U3RhcnRDb2x1bW4gPSAwOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgdW5zaWduZWQgYXJyb3dGdW5jdGlvbk9mZnNldCA9IDA7CisgICAgYm9vbCBpc0Fycm93RnVu
Y3Rpb24gPSBmYWxzZTsKKyAgICBGdW5jdGlvbkJvZHlUeXBlIGZ1bmN0aW9uQm9keVR5cGUgPSBT
dGFuZGFyZEZ1bmN0aW9uQm9keUJsb2NrOworI2VuZGlmCiB9OwogCiAjaWYgRU5BQkxFKEVTNl9D
TEFTU19TWU5UQVgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlclRva2Vucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMu
aAppbmRleCA4MzI5ZjgyYTliMmZmOTE1ZDFmMjQxYzFmOGJmZmFkNDI0N2E1ZjBiLi5jOGIxNjZl
MGVhZDdkMmRhNzE5ZTc2YzRhMmYwOWFmZjFkNzRkN2FjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKQEAgLTc1LDYgKzc1LDkgQEAgZW51bSBKU1Rva2Vu
VHlwZSB7CiAgICAgRklOQUxMWSwKICAgICBERUJVR0dFUiwKICAgICBFTFNFLAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgQVJST1dGVU5DVElPTiwKKyNlbmRpZgog
I2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogICAgIENMQVNTVE9LRU4sCiAgICAgRVhURU5E
UywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmgKaW5kZXggNzNkMjNk
YjgyYWYyNWVhNDZjMGY4OTc4NWNlNDI0YmI2MGViNjFhNy4uNTBkNTI2Mzk3OTQzZTM4MWQzODBl
YzQzZDgyZDViNjNmN2YwOGRjNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9Tb3VyY2VDb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3Vy
Y2VDb2RlLmgKQEAgLTEwNSw2ICsxMDUsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgCiAg
ICAgICAgIFNvdXJjZUNvZGUgc3ViRXhwcmVzc2lvbih1bnNpZ25lZCBvcGVuQnJhY2UsIHVuc2ln
bmVkIGNsb3NlQnJhY2UsIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbik7CiAKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBTb3VyY2VDb2RlIHN1YkFy
cm93RXhwcmVzc2lvbih1bnNpZ25lZCBzdGFydEFycm93RnVuY3Rpb24sIHVuc2lnbmVkIGVuZEFy
cm93RnVuY3Rpb24sIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbik7CisjZW5kaWYKICAg
ICBwcml2YXRlOgogICAgICAgICBSZWZQdHI8U291cmNlUHJvdmlkZXI+IG1fcHJvdmlkZXI7CiAg
ICAgICAgIGludCBtX3N0YXJ0Q2hhcjsKQEAgLTExOCw2ICsxMjEsMTcgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIHJldHVybiBTb3VyY2VDb2RlKFN0cmluZ1NvdXJjZVByb3ZpZGVyOjpjcmVh
dGUoc291cmNlLCB1cmwsIHN0YXJ0UG9zaXRpb24pLCBzdGFydFBvc2l0aW9uLm1fbGluZS5vbmVC
YXNlZEludCgpLCBzdGFydFBvc2l0aW9uLm1fY29sdW1uLm9uZUJhc2VkSW50KCkpOwogICAgIH0K
IAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaW5saW5lIFNvdXJj
ZUNvZGUgU291cmNlQ29kZTo6c3ViQXJyb3dFeHByZXNzaW9uKHVuc2lnbmVkIHN0YXJ0QXJyb3dG
dW5jdGlvbiwgdW5zaWduZWQgZW5kQXJyb3dGdW5jdGlvbiwgaW50IGZpcnN0TGluZSwgaW50IHN0
YXJ0Q29sdW1uKQorICAgIHsKKyAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW3N0
YXJ0QXJyb3dGdW5jdGlvbl0gPT0gJz0nICYmIHByb3ZpZGVyKCktPnNvdXJjZSgpW3N0YXJ0QXJy
b3dGdW5jdGlvbiArIDFdID09ICc+Jyk7CisgICAgICAgIC8vIEZpeG1lOiBVc2UgYmV0dGVyIGFw
cHJvYWNoIHRvIGNoZWNrIHN5bWJvbAorICAgICAgICBBU1NFUlQocHJvdmlkZXIoKS0+c291cmNl
KClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICcsJyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtl
bmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJzsnIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFy
cm93RnVuY3Rpb24gLSAxXSA9PSAnKScgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dG
dW5jdGlvbiAtIDFdID09ICddJyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0
aW9uIC0gMV0gPT0gJ30nKTsKKyAgICAgICAgc3RhcnRDb2x1bW4gKz0gMTsgLy8gQ29udmVydCB0
byBiYXNlIDEuCisgICAgICAgIHJldHVybiBTb3VyY2VDb2RlKHByb3ZpZGVyKCksIHN0YXJ0QXJy
b3dGdW5jdGlvbiwgZW5kQXJyb3dGdW5jdGlvbiwgZmlyc3RMaW5lLCBzdGFydENvbHVtbik7Cisg
ICAgfQorI2VuZGlmCisKICAgICBpbmxpbmUgU291cmNlQ29kZSBTb3VyY2VDb2RlOjpzdWJFeHBy
ZXNzaW9uKHVuc2lnbmVkIG9wZW5CcmFjZSwgdW5zaWduZWQgY2xvc2VCcmFjZSwgaW50IGZpcnN0
TGluZSwgaW50IHN0YXJ0Q29sdW1uKQogICAgIHsKICAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCkt
PnNvdXJjZSgpW29wZW5CcmFjZV0gPT0gJ3snKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaAppbmRleCA2MzUzNzllM2Y0
NDU2NjhjNTJiODcyZjc2MTZkY2I1OTIxYTgyOTQ0Li5mNDI4ZGI1MGE4ZGE3YTdhYjQ2ODI0YWIz
ODA4M2RiMDUyZDczNzc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCkBAIC00MCw2ICs0MCwxMCBAQCBzdHJ1Y3Qg
U291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMgewogICAgIGJvb2wgbmVl
ZHNGdWxsQWN0aXZhdGlvbjsKICAgICBib29sIHVzZXNFdmFsOwogICAgIGJvb2wgc3RyaWN0TW9k
ZTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGJvb2wgaXNCb2R5
QXJyb3dFeHByZXNzaW9uOworICAgIEpTVG9rZW5UeXBlIHRva2VuVHlwZTsKKyNlbmRpZgogICAg
IFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+IHVzZWRWYXJpYWJsZXM7CiAgICAgVmVjdG9yPFJl
ZlB0cjxTdHJpbmdJbXBsPj4gd3JpdHRlblZhcmlhYmxlczsKIH07CkBAIC01NSwxMCArNTksMTQg
QEAgcHVibGljOgogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8U291cmNlUHJvdmlkZXJDYWNo
ZUl0ZW0+IGNyZWF0ZShjb25zdCBTb3VyY2VQcm92aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFyYW1l
dGVycyYpOwogICAgIH5Tb3VyY2VQcm92aWRlckNhY2hlSXRlbSgpOwogCi0gICAgSlNUb2tlbiBj
bG9zZUJyYWNlVG9rZW4oKSBjb25zdCAKKyAgICBKU1Rva2VuIGVuZEZ1bmN0aW9uVG9rZW4oKSBj
b25zdCAKICAgICB7CiAgICAgICAgIEpTVG9rZW4gdG9rZW47CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdG9rZW4ubV90eXBlID0gaXNCb2R5QXJyb3dFeHBy
ZXNzaW9uID8gdG9rZW5UeXBlIDogQ0xPU0VCUkFDRTsKKyNlbHNlCiAgICAgICAgIHRva2VuLm1f
dHlwZSA9IENMT1NFQlJBQ0U7CisjZW5kaWYKICAgICAgICAgdG9rZW4ubV9kYXRhLm9mZnNldCA9
IGNsb3NlQnJhY2VPZmZzZXQ7CiAgICAgICAgIHRva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQg
PSBjbG9zZUJyYWNlT2Zmc2V0OwogICAgICAgICB0b2tlbi5tX2xvY2F0aW9uLmVuZE9mZnNldCA9
IGNsb3NlQnJhY2VPZmZzZXQgKyAxOwpAQCAtODIsNiArOTAsMTEgQEAgcHVibGljOgogICAgIHVu
c2lnbmVkIHVzZWRWYXJpYWJsZXNDb3VudDsKICAgICB1bnNpZ25lZCB3cml0dGVuVmFyaWFibGVz
Q291bnQ7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGJvb2wg
aXNCb2R5QXJyb3dFeHByZXNzaW9uOworICAgIEpTVG9rZW5UeXBlIHRva2VuVHlwZTsKKyNlbmRp
ZgorCiAgICAgU3RyaW5nSW1wbCoqIHVzZWRWYXJpYWJsZXMoKSBjb25zdCB7IHJldHVybiBjb25z
dF9jYXN0PFN0cmluZ0ltcGwqKj4obV92YXJpYWJsZXMpOyB9CiAgICAgU3RyaW5nSW1wbCoqIHdy
aXR0ZW5WYXJpYWJsZXMoKSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0PFN0cmluZ0ltcGwqKj4o
Jm1fdmFyaWFibGVzW3VzZWRWYXJpYWJsZXNDb3VudF0pOyB9CiAKQEAgLTExNSw2ICsxMjgsMTAg
QEAgaW5saW5lIFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjpTb3VyY2VQcm92aWRlckNhY2hlSXRl
bShjb25zdCBTb3VyY2VQcm92aWRlckNhY2gKICAgICAsIGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZz
ZXQocGFyYW1ldGVycy5jbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0KQogICAgICwgdXNlZFZhcmlh
Ymxlc0NvdW50KHBhcmFtZXRlcnMudXNlZFZhcmlhYmxlcy5zaXplKCkpCiAgICAgLCB3cml0dGVu
VmFyaWFibGVzQ291bnQocGFyYW1ldGVycy53cml0dGVuVmFyaWFibGVzLnNpemUoKSkKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICwgaXNCb2R5QXJyb3dFeHByZXNz
aW9uKHBhcmFtZXRlcnMuaXNCb2R5QXJyb3dFeHByZXNzaW9uKQorICAgICwgdG9rZW5UeXBlKHBh
cmFtZXRlcnMudG9rZW5UeXBlKQorI2VuZGlmCiB7CiAgICAgdW5zaWduZWQgaiA9IDA7CiAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHVzZWRWYXJpYWJsZXNDb3VudDsgKytpLCArK2opIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKaW5kZXggOGU0
ZjYxYjk0OTg5MGI5YmY1NDAyOWU5NjY2MWVlZjUzYTE3YjU4NC4uNWY4ZTIxMWVlNGI1M2IzOTRl
YjVhZTIxOTBiODNjOGM0Zjg0NGNmZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9TeW50YXhDaGVja2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9TeW50YXhDaGVja2VyLmgKQEAgLTE3MCw2ICsxNzAsMTAgQEAgcHVibGljOgogI2VuZGlmCiAg
ICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlRnVuY3Rpb25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlv
biYsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1
bmN0aW9uRXhwcjsgfQogICAgIGludCBjcmVhdGVGdW5jdGlvbkJvZHkoY29uc3QgSlNUb2tlbkxv
Y2F0aW9uJiwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgaW50LCBpbnQsIGJvb2wsIGludCwgaW50
LCBpbnQsIENvbnN0cnVjdG9yS2luZCkgeyByZXR1cm4gRnVuY3Rpb25Cb2R5UmVzdWx0OyB9Cisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBFeHByZXNzaW9uVHlwZSBj
cmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJz
ZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0K
KyNlbmRpZiAKKyAgICB2b2lkIHNldEZ1bmN0aW9uTmFtZVN0YXJ0KGludCwgaW50KSB7IH0KICAg
ICBpbnQgY3JlYXRlQXJndW1lbnRzKCkgeyByZXR1cm4gQXJndW1lbnRzUmVzdWx0OyB9CiAgICAg
aW50IGNyZWF0ZUFyZ3VtZW50cyhpbnQpIHsgcmV0dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQogICAg
IEV4cHJlc3Npb25UeXBlIGNyZWF0ZVNwcmVhZEV4cHJlc3Npb24oY29uc3QgSlNUb2tlbkxvY2F0
aW9uJiwgRXhwcmVzc2lvblR5cGUsIGludCwgaW50LCBpbnQpIHsgcmV0dXJuIFNwcmVhZEV4cHI7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5j
dGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24u
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjZmYzNlYTE4MDA2ODk2NDNhYWRkNmM2YTQ5N2VkMGFlNmMyMTExMjAK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93
RnVuY3Rpb24uY3BwCkBAIC0wLDAgKzEsNzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKworI2lu
Y2x1ZGUgIkVycm9yLmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uSGVscGVycy5oIgorI2luY2x1ZGUg
IkpTQ0lubGluZXMuaCIKKyNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCisjaW5jbHVkZSAiSlNGdW5j
dGlvbi5oIgorI2luY2x1ZGUgIkpTRnVuY3Rpb25JbmxpbmVzLmgiCisjaW5jbHVkZSAiSlNPYmpl
Y3QuaCIKKyNpbmNsdWRlICJQcm9wZXJ0eVNsb3QuaCIKKyNpbmNsdWRlICJWTS5oIgorCituYW1l
c3BhY2UgSlNDIHsKKyAgICAKK2NvbnN0IENsYXNzSW5mbyBKU0Fycm93RnVuY3Rpb246OnNfaW5m
byA9IHsgIkFycm93RnVuY3Rpb24iLCAmQmFzZTo6c19pbmZvLCAwLCBDUkVBVEVfTUVUSE9EX1RB
QkxFKEpTQXJyb3dGdW5jdGlvbikgfTsKKwordm9pZCBKU0Fycm93RnVuY3Rpb246OmRlc3Ryb3ko
SlNDZWxsKiBjZWxsKQoreworICAgIHN0YXRpY19jYXN0PEpTQXJyb3dGdW5jdGlvbio+KGNlbGwp
LT5KU0Fycm93RnVuY3Rpb246On5KU0Fycm93RnVuY3Rpb24oKTsKK30KKworSlNBcnJvd0Z1bmN0
aW9uOjpKU0Fycm93RnVuY3Rpb24oVk0mIHZtLCBKU1Njb3BlKiBzY29wZSwgRnVuY3Rpb25FeGVj
dXRhYmxlKiBleGVjdXRhYmxlLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICA6IEJhc2Uodm0s
IGV4ZWN1dGFibGUsIHNjb3BlLCBzdHJ1Y3R1cmUpCit7Cit9CisgICAgCit2b2lkIEpTQXJyb3dG
dW5jdGlvbjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0
aW9uKHZtKTsKKy8vIFByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiBpcyB1bmRlZmluZWQKKyAg
ICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwganNVbmRlZmluZWQo
KSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgRG9udEVudW0pOworfQorICAgIAordm9pZCBKU0Fy
cm93RnVuY3Rpb246OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlz
aXRvcikKK3sKKyAgICBKU0Fycm93RnVuY3Rpb24qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNBcnJv
d0Z1bmN0aW9uKj4oY2VsbCk7CisgICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyh0aGlzT2Jq
ZWN0LCBpbmZvKCkpOworICAgIEJhc2U6OnZpc2l0Q2hpbGRyZW4odGhpc09iamVjdCwgdmlzaXRv
cik7Cit9CisgICAgCitDb25zdHJ1Y3RUeXBlIEpTQXJyb3dGdW5jdGlvbjo6Z2V0Q29uc3RydWN0
RGF0YShKU0NlbGwqIGNlbGwsIENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCit7CisgICAg
SlNGdW5jdGlvbiogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY2VsbCk7CisgICAg
ICAgIAorICAgIGNvbnN0cnVjdERhdGEuanMuZnVuY3Rpb25FeGVjdXRhYmxlID0gdGhpc09iamVj
dC0+anNFeGVjdXRhYmxlKCk7CisgICAgY29uc3RydWN0RGF0YS5qcy5zY29wZSA9IHRoaXNPYmpl
Y3QtPnNjb3BlKCk7CisgICAgcmV0dXJuIENvbnN0cnVjdFR5cGVOb25lOworfQorfSAvLyBuYW1l
c3BhY2UgSlNDCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXJyb3dGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNB
cnJvd0Z1bmN0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzgwMTVkMzg3MjFjY2E0NGFlMmY2NWNiNmQ3N2I2
YTY1MjIwOTY1ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXJyb3dGdW5jdGlvbi5oCkBAIC0wLDAgKzEsNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEpTQXJyb3dGdW5jdGlvbl9oCisj
ZGVmaW5lIEpTQXJyb3dGdW5jdGlvbl9oCisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorCisjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTR2xvYmFsT2Jq
ZWN0LmgiCisKK25hbWVzcGFjZSBKU0MgeworCitjbGFzcyBKU0Fycm93RnVuY3Rpb24gOiBwdWJs
aWMgSlNGdW5jdGlvbiB7CitwdWJsaWM6CisgICAgdHlwZWRlZiBKU0Z1bmN0aW9uIEJhc2U7Cisg
ICAgICAgIAorICAgIHN0YXRpYyBKU0Fycm93RnVuY3Rpb24qIGNyZWF0ZShWTSYgdm0sIEpTU2Nv
cGUqIHNjb3BlLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QpCisgICAgeworICAgICAgICBKU0Fycm93RnVuY3Rpb24qIGZ1bmN0aW9u
ID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8SlNBcnJvd0Z1bmN0aW9uPih2bS5oZWFwKSkg
SlNBcnJvd0Z1bmN0aW9uKHZtLCBzY29wZSwgZXhlY3V0YWJsZSwgZ2xvYmFsT2JqZWN0LT5hcnJv
d0Z1bmN0aW9uU3RydWN0dXJlKCkpOworICAgICAgICBBU1NFUlQoZnVuY3Rpb24tPnN0cnVjdHVy
ZSgpLT5nbG9iYWxPYmplY3QoKSk7CisgICAgICAgIGZ1bmN0aW9uLT5maW5pc2hDcmVhdGlvbih2
bSk7CisgICAgICAgIHJldHVybiBmdW5jdGlvbjsKKyAgICB9CisgICAgCisgICAgc3RhdGljIHZv
aWQgZGVzdHJveShKU0NlbGwqKTsKKyAgICAgICAgCisgICAgc3RhdGljIFN0cnVjdHVyZSogY3Jl
YXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1
ZSBwcm90b3R5cGUpCisgICAgeworICAgICAgICBBU1NFUlQoZ2xvYmFsT2JqZWN0KTsKKyAgICAg
ICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwg
VHlwZUluZm8oSlNGdW5jdGlvblR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKKyAgICB9
CisgICAgICAgIAorICAgIHN0YXRpYyBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoSlND
ZWxsKiwgQ29uc3RydWN0RGF0YSYpOworICAgICAgICAKKyAgICBERUNMQVJFX0lORk87CisKK3By
b3RlY3RlZDoKKyAgICBjb25zdCBzdGF0aWMgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVy
cmlkZXNIYXNJbnN0YW5jZSB8IEJhc2U6OlN0cnVjdHVyZUZsYWdzOworICAgICAgICAKKyAgICBz
dGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CisgICAgICAg
IAorcHJpdmF0ZToKKyAgICBKU0Fycm93RnVuY3Rpb24oVk0mLCBKU1Njb3BlKiwgRnVuY3Rpb25F
eGVjdXRhYmxlKiwgU3RydWN0dXJlKik7CisKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7
Cit9OworICAgIAorfSAvLyBuYW1lc3BhY2UgSlNDCisjZW5kaWYgLy8gRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYCisKKyNlbmRpZiAvLyBKU0Fycm93RnVuY3Rpb25faApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCmluZGV4IDJjZmIzMzcyYzI4ZGMyMDg4NmMyMzgw
OWQxOGU5MzNiNjJhNjQxNWYuLjNhMjM1MzVmZTg1MWFlMmVmZmJhNzU5ZGZjZjllNmIwZjdiZjg2
OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24u
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKQEAgLTEz
Niw2ICsxMzYsOSBAQCBwdWJsaWM6CiBwcm90ZWN0ZWQ6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUg
SlNGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKik7CiAgICAgSlNGdW5j
dGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSosIEpTU2NvcGUqKTsKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEpTRnVuY3Rpb24oVk0mLCBGdW5jdGlvbkV4ZWN1
dGFibGUqLCBKU1Njb3BlKiwgU3RydWN0dXJlKik7CisjZW5kaWYKIAogICAgIHZvaWQgZmluaXNo
Q3JlYXRpb24oVk0mLCBOYXRpdmVFeGVjdXRhYmxlKiwgaW50IGxlbmd0aCwgY29uc3QgU3RyaW5n
JiBuYW1lKTsKICAgICB1c2luZyBCYXNlOjpmaW5pc2hDcmVhdGlvbjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oCmluZGV4IGY2YzZkNThl
YzZlNWMxMTY0Y2IyN2ZhNWU0MTYxOGI0YjgxNDJmMDIuLjM4NTA2Y2MxOTlhMDA4ZmY4Zjk2YWRm
Njg5YmUzNjA5ODc1ZGVhNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNGdW5jdGlvbklubGluZXMuaApAQCAtNDUsNiArNDUsMTUgQEAgaW5saW5lIEpTRnVuY3Rp
b246OkpTRnVuY3Rpb24oVk0mIHZtLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpT
U2NvcGUqIHMKIHsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitp
bmxpbmUgSlNGdW5jdGlvbjo6SlNGdW5jdGlvbihWTSYgdm0sIEZ1bmN0aW9uRXhlY3V0YWJsZSog
ZXhlY3V0YWJsZSwgSlNTY29wZSogc2NvcGUsIFN0cnVjdHVyZSogc3RydWN0dXJlKQorICAgIDog
QmFzZSh2bSwgc2NvcGUsIHN0cnVjdHVyZSkKKyAgICAsIG1fZXhlY3V0YWJsZSh2bSwgdGhpcywg
ZXhlY3V0YWJsZSkKKyAgICAsIG1fcmFyZURhdGEoKQoreworfQorI2VuZGlmCisgICAgCiBpbmxp
bmUgRnVuY3Rpb25FeGVjdXRhYmxlKiBKU0Z1bmN0aW9uOjpqc0V4ZWN1dGFibGUoKSBjb25zdAog
ewogICAgIEFTU0VSVCghaXNIb3N0RnVuY3Rpb25Ob25JbmxpbmUoKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggZTM0YWRkMTI4
MjQxYTk2MDM0ZWQ4NTc2YWNlYTg1MDNkM2JiZjEzNC4uZWI2ZjI1MzU4YzM0YWU3NTk3MjczMzRm
MDAwZmYzYjE0ZmY2ZjE5ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtNTgsNiArNTgsNyBAQAogI2luY2x1ZGUgIkpTQXJyYXlC
dWZmZXJDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXJQcm90b3R5cGUuaCIK
ICNpbmNsdWRlICJKU0FycmF5SXRlcmF0b3IuaCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24u
aCIKICNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgi
CiAjaW5jbHVkZSAiSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgiCkBAIC0yMzEsNiArMjMyLDkgQEAg
dm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChWTSYgdm0pCiAgICAgZXhlYy0+c2V0Q2FsbGVlKG1f
Z2xvYmFsQ2FsbGVlLmdldCgpKTsKIAogICAgIG1fZnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0
aGlzLCBKU0Z1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90
b3R5cGUuZ2V0KCkpKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
IG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpTQXJyb3dGdW5jdGlvbjo6
Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7Cisj
ZW5kaWYKICAgICBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0JvdW5k
RnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5n
ZXQoKSkpOwogICAgIG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIFN0cnVj
dHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBtX2Z1bmN0aW9uU3RydWN0dXJlLmdldCgp
LCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51
bSwgbV9mdW5jdGlvbk5hbWVPZmZzZXQpKTsKICAgICBtX2ludGVybmFsRnVuY3Rpb25TdHJ1Y3R1
cmUuc2V0KHZtLCB0aGlzLCBJbnRlcm5hbEZ1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRo
aXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKQEAgLTczNiw2ICs3NDAsOSBAQCB2b2lk
IEpTR2xvYmFsT2JqZWN0Ojp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3Im
IHZpc2l0b3IpCiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fY2FsbGVlU3RydWN0
dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9mdW5jdGlvblN0cnVjdHVy
ZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYm91bmRGdW5jdGlvblN0cnVj
dHVyZSk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2aXNpdG9y
LmFwcGVuZCgmdGhpc09iamVjdC0+bV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKTsKKyNlbmRpZgog
ICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUp
OwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX3N5bWJvbE9iamVjdFN0cnVjdHVy
ZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fcmVnRXhwTWF0Y2hlc0FycmF5
U3RydWN0dXJlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9i
amVjdC5oCmluZGV4IGQxN2I0YTM0OGZhMTRkYWQwM2FiNzYwNmM3OTMxZWJlZmIxNzljZDIuLmM1
YTQzNTk3ODAxNGZiZWE1ZDMxNGJkZTEwNTA5YmQ1MjdmYWZmYTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtMjI3LDYgKzIyNyw5IEBA
IHByb3RlY3RlZDoKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2NhbGxlZVN0cnVjdHVy
ZTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2Z1bmN0aW9uU3RydWN0dXJlOwogICAg
IFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYm91bmRGdW5jdGlvblN0cnVjdHVyZTsKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1
cmU+IG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZTsKKyNlbmRpZgogICAgIFdyaXRlQmFycmllcjxT
dHJ1Y3R1cmU+IG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZTsKICAgICBQcm9wZXJ0eU9mZnNldCBt
X2Z1bmN0aW9uTmFtZU9mZnNldDsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3ByaXZh
dGVOYW1lU3RydWN0dXJlOwpAQCAtNDY0LDYgKzQ2Nyw5IEBAIHB1YmxpYzoKICAgICBTdHJ1Y3R1
cmUqIGNhbGxlZVN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbGVlU3RydWN0dXJlLmdl
dCgpOyB9CiAgICAgU3RydWN0dXJlKiBmdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJu
IG1fZnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUqIGJvdW5kRnVuY3Rp
b25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0
KCk7IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFN0cnVjdHVy
ZSogYXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXJyb3dGdW5jdGlv
blN0cnVjdHVyZS5nZXQoKTsgfQorI2VuZGlmCiAgICAgU3RydWN0dXJlKiBuYW1lZEZ1bmN0aW9u
U3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlLmdldCgp
OyB9CiAgICAgUHJvcGVydHlPZmZzZXQgZnVuY3Rpb25OYW1lT2Zmc2V0KCkgY29uc3QgeyByZXR1
cm4gbV9mdW5jdGlvbk5hbWVPZmZzZXQ7IH0KICAgICBTdHJ1Y3R1cmUqIG51bWJlck9iamVjdFN0
cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fbnVtYmVyT2JqZWN0U3RydWN0dXJlLmdldCgpOyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tYXNwYXJhbXRlci5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YXJyb3dmdW5jdGlvbi1hc3BhcmFtdGVyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzNjFiOGRiMDIyODI3OTZk
MWJiMDRmNWRiZDQwMTliNzI4OWYyY2MKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci5qcwpAQCAtMCww
ICsxLDggQEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1
bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4
cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQg
KyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordGVzdENhc2UoIiIg
KyBbMSwgMiwgMywgNF0ubWFwKHggPT4geCwgMzIpLCAiMSwyLDMsNCIsICJFcnJvcjogYXJyb3cg
ZnVuY3Rpb24gYXMgdGhlIHBhcmFtdGVycy4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTEuanMgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRp
dml0eS0xLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkMWQ0N2E0ODA3NWVjNTk4YzZiZTFlMDdkNzhhMzUyNjM1
M2E5MTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0xLmpzCkBAIC0wLDAgKzEsMTMgQEAKKy8v
IEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1
YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7Cisg
ICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdh
cyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGFmMSwgYWYyLCBhZjM7CithZjEg
PSBhZjIgPSBhZjMgPT4gYWYxID0gYWYyID0gYWYzOwordGVzdENhc2UoYWYxLCBhZjIsICJFcnJv
cjogd3JvbmcgYXNzb2NpYXRpdml0eSAjMS4iKTsKK2FmMSgxMyk7Cit0ZXN0Q2FzZShhZjIsIDEz
LCAiRXJyb3I6IHdyb25nIGFzc29jaWF0aXZpdHkgIzIuIik7Cit0ZXN0Q2FzZShhZjEsIDEzLCAi
RXJyb3I6IHdyb25nIGFzc29jaWF0aXZpdHkgIzMuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0yLmpz
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29j
aWF0aXZpdHktMi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZWRkODM5YzZiYzdlZDZhNDBlZmZiYmM4NzU0ZWQx
YmZkODA2YjQzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHktMi5qcwpAQCAtMCwwICsxLDE0IEBA
CisvLyBJbnNwaXJlZCBieSBtb3ppbGxhIHRlc3RzCit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAo
YWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkg
eworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1
dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBzPSIiOworcyArPSB4ID0+
IHgubmFtZTsKKworLy8gRml4IG1lLiBQb3NzaWJsZSB3ZSBoYXZlIG5vdCB1c2UgdGhlIEpTQm91
bnRGdW5jdGlvbiB3cmFwcGVyIGZvciB0aGUgbGV4aWNhbAorLy8gYmluZGluZyBvZiB0aGUgdGhp
cyBhbmQgdXNlIGRpcmVjdCBpbmplY3Rpb24gb2YgdGhlICd0aGlzJyB2YWx1ZQorLy8gaW50byBh
cnJyb3cgZnVuY3Rpb24KKy8vIHRlc3RDYXNlKHMsICJ4ID0+IHgubmFtZSIgLCAiRXJyb3I6IHdy
b25nIHRvU3RyaW5nIGNvbnZlcnNpb24uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS5qcyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY3ZWQxNTNjZWViYTUyNjIyOGVjYTgyMTMwNDY5YTkyNDRiMTRjMDUK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS5qcwpAQCAtMCwwICsxLDEwIEBACisvLyBJbnNwaXJl
ZCBieSBtb3ppbGxhIHRlc3RzCit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBl
Y3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93
IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBh
Y3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBhZiA9IGEgPT4gYiA9PiBhOworCit0ZXN0Q2Fz
ZShhZignQUJDJykoJ0RFRicpLCAnQUJDJywgIkVycm9yOiB3cm9uZyBuZXN0ZWQgYXJyb3cgZnVu
Y3Rpb25zLiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9hcnJvd2Z1bmN0aW9uLWJsb2NrLTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2stMS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYzU3MWJiNzJmY2Zl
ZjUzMGM1OWRiNGI4NjBjYTRmMGE5NmE0MTE2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJsb2NrLTEuanMKQEAgLTAs
MCArMSwxMSBAQAorLy8gSW5zcGlyZWQgYnkgbW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0g
ZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0g
ZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3Rl
ZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgZiA9ICgp
ID0+IHt9OwordGVzdENhc2UodHlwZW9mIGYoKSwgJ3VuZGVmaW5lZCcsICJFcnJvcjogd3Jvbmcg
YXJyb3cgZnVuY3Rpb24gYmxvY2suIik7Cit2YXIgZyA9ICgpID0+ICh7fSk7Cit0ZXN0Q2FzZSh0
eXBlb2YgZygpLCAnb2JqZWN0JywgIkVycm9yOiB3cm9uZyBhcnJvdyBmdW5jdGlvbiBibG9jay4i
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1ibG9jay0yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9h
cnJvd2Z1bmN0aW9uLWJsb2NrLTIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDdlZTM1MmNmMDFkMTM2ZTMwMjky
MjczNmM1YzgwZWY1M2MwM2Y2ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ibG9jay0yLmpzCkBAIC0wLDAgKzEsMTAg
QEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9u
IChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVk
KSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywg
YnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGFmID0gYSA9PiB7IGEg
KyAxOyB9OworCit0ZXN0Q2FzZSh0eXBlb2YgYWYoMCksICd1bmRlZmluZWQnLCAiRXJyb3I6IHdy
b25nIGFycm93IGZ1bmN0aW9uIGJsb2NrICMyLiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNvbnN0cnVjdG9yLmpzIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNvbnN0cnVjdG9y
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjk1MDdiNTM2NGYwNDExMzU4NWVhYmE4YzI0YTQ3YTRhMTBkMTZiN2IK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwxOCBAQAordmFyIHRlc3RDYXNl
ID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAh
PT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBl
Y3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgc2lt
cGxlQXJyb3dGdW5jdGlvbiA9ICgpID0+IHt9OworCit2YXIgZXJyb3JPbkNyZWF0ZSA9IGZhbHNl
OworCit0cnkgeworICB2YXIgZmMgPSBuZXcgc2ltcGxlQXJyb3dGdW5jdGlvbigpOworfQorY2F0
Y2ggKGUpIHsKKyAgZXJyb3JPbkNyZWF0ZSA9IHRydWU7Cit9CisKK3Rlc3RDYXNlKGVycm9yT25D
cmVhdGUsIHRydWUsICJFcnJvcjogTm8gZXJyb3IgZHVyaW5nIHJ1biBuZXcgQXJyb3dGdW5jdGlv
biIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJv
d2Z1bmN0aW9uLWxleGljYWx0aGlzLTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbHRoaXMtMS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNTUzMWY1
NzU2MmYyODY4ZWVhZDM5ZmNkNjZlZTUwNzhiYWNlZDFiCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWx0aGlz
LTEuanMKQEAgLTAsMCArMSwxNyBAQAordmFyIHJlc3VsdDsKKworIHZhciB0ZXN0Q2FzZSA9IGZ1
bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4
cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQg
KyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKworZnVuY3Rpb24gRG9n
KG5hbWUpIHsKKyAgdGhpcy5uYW1lID0gbmFtZTsKKyAgdGhpcy5nZXROYW1lID0gKCkgPT4gZXZh
bCgidGhpcy5uYW1lIik7CisgIHRoaXMuZ2V0TmFtZUhhcmQgPSAoKSA9PiBldmFsKCIoKCkgPT4g
dGhpcy5uYW1lKSgpIik7Cit9CisKK3ZhciBkID0gbmV3IERvZygiTWF4Iik7Cit0ZXN0Q2FzZShk
LmdldE5hbWUoKSwgZC5uYW1lLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQg
aW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMSIpOwordGVzdENhc2UoZC5nZXROYW1lSGFy
ZCgpLCBkLm5hbWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUg
b2YgdGhlIGFycm93IGZ1bmN0aW9uICMyIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbHRoaXMuanMgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbHRoaXMuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjEyZmJhZjgwNDQ4MmM3NzYxYzM3ZGQ2OTNhODQ4NWU1NTExNTczZQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1sZXhpY2FsdGhpcy5qcwpAQCAtMCwwICsxLDMxIEBACit2YXIgcmVzdWx0OworCisg
dmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAg
aWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0
ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9
OworCit2YXIgYWZPYmpMZXhCaW5kMiA9IGZ1bmN0aW9uICgpIHsKKyAgdGhpcy5mdW5jID0gKCkg
PT4gdGhpczsKK307CisKK3ZhciBhZk9iakxleEJpbmQySW5zdGFuY2UgPSBuZXcgYWZPYmpMZXhC
aW5kMigpOworCit0ZXN0Q2FzZShhZk9iakxleEJpbmQySW5zdGFuY2UuZnVuYygpID09PSBhZk9i
akxleEJpbmQySW5zdGFuY2UsIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJp
bmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMyIik7CisKK3ZhciBvYmogPSB7Cisg
IG1ldGhvZDogZnVuY3Rpb24gKCkgeworICAgIHJldHVybiAoKSA9PiB0aGlzOworICB9Cit9Owor
Cit0ZXN0Q2FzZShvYmoubWV0aG9kKCkoKSA9PT0gb2JqLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMg
bm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMyIpOwor
Cit2YXIgZmFrZSA9IHtzdGVhbDogb2JqLm1ldGhvZCgpfTsKK3Rlc3RDYXNlKGZha2Uuc3RlYWwo
KSA9PT0gb2JqLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5z
aWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNCIpOworCisKKy8vIEZpeG1lOiBmb2xsb3dpbmcg
dGVzdCBmYWlscyBpbiBkZmctZWFnZXItbm8tY2ppdC12YWxpZGF0ZSAmIGZ0bC1lYWdlci1uby1j
aml0IG1vZGUKK3ZhciByZWFsID0ge2JvcnJvdzogb2JqLm1ldGhvZH07Cit0ZXN0Q2FzZShyZWFs
LmJvcnJvdygpKCkgPT09IHJlYWwsIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5
IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM1Iik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tb3RoZXJzLmpz
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLW90aGVy
cy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mZWJhMTFmMzAyMmUzNGE4MDAwYTU3MDA3NmRiMWE1NWE0YTMyYjIx
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9h
cnJvd2Z1bmN0aW9uLW90aGVycy5qcwpAQCAtMCwwICsxLDEzIEBACit2YXIgdGVzdENhc2UgPSBm
dW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBl
eHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVk
ICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBzaW1wbGVB
cnJvd0Z1bmN0aW9uID0gKCkgPT4ge307CisKK3Rlc3RDYXNlKE9iamVjdC5nZXRQcm90b3R5cGVP
ZihzaW1wbGVBcnJvd0Z1bmN0aW9uKSwgRnVuY3Rpb24ucHJvdG90eXBlLCAiRXJyb3I6IE5vdCBj
b3JyZWN0IGdldFByb3RvdHlwZU9mIHZhbHVlIGZvciBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0
Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uIGluc3RhbmNlb2YgRnVuY3Rpb24sIHRydWUsICJFcnJv
cjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBpbnN0YW5jZW9mIG1ldGhvZCBmb3IgYXJyb3cgZnVu
Y3Rpb24iKTsKKwordGVzdENhc2Uoc2ltcGxlQXJyb3dGdW5jdGlvbi5jb25zdHJ1Y3RvciA9PSBG
dW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIGNvbnN0cnVjdG9y
IG1ldGhvZCBvZiBhcnJvdyBmdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXRkei5qcyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi10ZHouanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTlk
MzVjZGVhNGJhZjY2NzQzMWFmOGFiZThkYWRmMjJkMDRiOTBlMQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi10ZHouanMK
QEAgLTAsMCArMSwyNCBAQAordmFyIEEgPSBjbGFzcyBBIHsgfTsKK3ZhciBCID0gY2xhc3MgQiBl
eHRlbmRzIEEgeworICBjb25zdHJ1Y3RvcihhY2Nlc3NUaGlzQmVmb3JlU3VwZXIpIHsKKyAgICBp
ZiAoYWNjZXNzVGhpc0JlZm9yZVN1cGVyKSB7CisgICAgICB2YXIgZiA9ICgpID0+IHRoaXM7Cisg
ICAgICBzdXBlcigpOworICAgIH0gZWxzZSB7CisgICAgICBzdXBlcigpOworICAgIH0KKyAgfQor
fTsKKwordmFyIGV4Y2VwdGlvbiA9IG51bGw7Cit0cnkgeworICAgICBuZXcgQih0cnVlKTsKK30g
Y2F0Y2ggKGUpIHsKKyAgICBleGNlcHRpb24gPSBlOworICAgIGlmICghKGUgaW5zdGFuY2VvZiBS
ZWZlcmVuY2VFcnJvcikpCisgICAgICAgIHRocm93ICJFeGNlcHRpb24gdGhyb3duIHdhcyBub3Qg
YSByZWZlcmVuY2UgZXJyb3IiOworfQoraWYgKCFleGNlcHRpb24pCisgICAgdGhyb3cgIkV4Y2Vw
dGlvbiBub3QgdGhyb3duIGZvciBhbiB1bml0aWFsaXplZCB0aGlzIGF0IGl0ZXJhdGlvbiI7CisK
K3ZhciBlID0gbmV3IEIoZmFsc2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXR5cGVvZi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi10eXBlb2YuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWYy
YTdmNTQ0NzZhYmE5YzI4OTIzYzM1ZjFkYjNjNDMyN2FjOTQ2OQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi10eXBlb2Yu
anMKQEAgLTAsMCArMSwyMSBAQAordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhw
ZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJv
dyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsg
YWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgYWYxID0gKCkgPT4ge307Cit2YXIgYWYyID0g
KGEpID0+IHthICsgMX07CisKK3Rlc3RDYXNlKHR5cGVvZiBhZjEsICJmdW5jdGlvbiIsICJFcnJv
cjogTm90IGNvcnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzEiKTsKK3Rlc3RDYXNl
KHR5cGVvZiBhZjEucHJvdG90eXBlID09PSAndW5kZWZpbmVkJywgdHJ1ZSwgIkVycm9yOiBOb3Qg
Y29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiAjMSIpOworCit0
ZXN0Q2FzZSh0eXBlb2YgYWYyLCAiZnVuY3Rpb24iLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHR5cGUg
b2YgdGhlIGFycm93IGZ1bmN0aW9uICMyIik7Cit0ZXN0Q2FzZSh0eXBlb2YgYWYyLnByb3RvdHlw
ZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBw
cm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24gIzIiKTsKKwordGVzdENhc2UodHlwZW9mICgoKT0+
e30pLCAiZnVuY3Rpb24iLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHR5cGUgb2YgdGhlIGFycm93IGZ1
bmN0aW9uICMzIik7Cit0ZXN0Q2FzZSh0eXBlb2YgKCgpPT57fSkucHJvdG90eXBlID09PSAndW5k
ZWZpbmVkJywgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBv
ZiBhcnJvdyBmdW5jdGlvbiAjMyIpOworCisKK3Rlc3RDYXNlKHR5cGVvZiAoKGIpID0+IHtiICsg
MX0pLCAiZnVuY3Rpb24iLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHR5cGUgb2YgdGhlIGFycm93IGZ1
bmN0aW9uICM0Iik7Cit0ZXN0Q2FzZSh0eXBlb2YgKChiKSA9PiB7YiArIDF9KS5wcm90b3R5cGUg
PT09ICd1bmRlZmluZWQnLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJv
dG90eXBlIG9mIGFycm93IGZ1bmN0aW9uICM0Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24uanMgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDY4N2IzYWFi
MWQyN2Y0NTNmOTA3NjFjZWMxYWQ0ZDA1Y2YwM2IzNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi5qcwpAQCAtMCwwICsx
LDE1NCBAQAordmFyIHJlc3VsdDsKKworIHZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWws
IGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAg
dGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAn
IiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGFycm93RnVuY3Rpb24wID0gdiA9PiB2
ICsgMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24wKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEg
LCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogdiA9
PiB2ICsgMSIpOworCit2YXIgYXJyb3dGdW5jdGlvbjEgPSAodikgPT4gdiAqIDI7CityZXN1bHQg
PSBhcnJvd0Z1bmN0aW9uMSgxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIwICwiRXJyb3I6IE5vdCBj
b3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICh2KSA9PiB2ICsgMSIpOwor
Cit2YXIgYXJyb3dGdW5jdGlvbjIgPSAoKSA9PiAxMDAwOworcmVzdWx0ID0gYXJyb3dGdW5jdGlv
bjIoMTIxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhl
Y3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKCkgPT4gMTAwMCIpOworCit2YXIgdG1wVmFy
aWFsdmUyXzEgPSAxNTE7Cit2YXIgYXJyb3dGdW5jdGlvbjJfMSA9ICgpID0+IHRtcFZhcmlhbHZl
Ml8xOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjJfMSgxMjEpOwordGVzdENhc2UocmVzdWx0LCB0
bXBWYXJpYWx2ZTJfMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uOiAoKSA9PiB2YXJpYWJsZSIpOworCit2YXIgYXJyb3dGdW5jdGlvbjMgPSAodiwg
eCkgPT4gdiArIHg7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMygxMSwxMik7Cit0ZXN0Q2FzZShy
ZXN1bHQsIDIzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb246ICh4LCB5KSA9PiB4ICsgeSIpOworCit2YXIgYXJyb3dGdW5jdGlvbldyYXBwZXIgPSBm
dW5jdGlvbiAoY2wsIHBhcmFtdGVyKSB7IHJldHVybiBjbChwYXJhbXRlcik7IH07CisKK3Jlc3Vs
dCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4gMTIzNCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEy
MzQgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBh
cyBwYXJhbXRlcjogZih4ID0+IGMpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBl
cih4ID0+IDEyMzQsIDIzNDUpOwordGVzdENhc2UocmVzdWx0LCAxMjM0ICwiRXJyb3I6IE5vdCBj
b3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9
PiBjLCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMjEgKyAy
MzIpOwordGVzdENhc2UocmVzdWx0LCAzNTMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMxICsgYzIpIik7CisK
KyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEyMyArIDMyMSwgOTk5OSk7Cit0
ZXN0Q2FzZShyZXN1bHQsIDQ0NCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhl
IGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYzEgKyBjMiwgeSkiKTsKKworIHJl
c3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4geCArIDEyLCAyMSk7Cit0ZXN0Q2FzZShy
ZXN1bHQsIDMzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiB4ICsgYzEsIHkpIik7CisKKyByZXN1bHQgPSBhcnJv
d0Z1bmN0aW9uV3JhcHBlcigoeCkgPT4geCArIDIxLCAzMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDUz
LCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMg
cGFyYW10ZXI6IGYoKHgpID0+IGMxICsgYzIsIHkpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0
aW9uV3JhcHBlcigoKSA9PiAxMDApOwordGVzdENhc2UocmVzdWx0LCAxMDAsICJFcnJvcjogTm90
IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigo
KSA9PiBjKSIpOworCisgdmFyIGV4dF92YWx1ZSA9IDEyMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rp
b25XcmFwcGVyKCgpID0+IGV4dF92YWx1ZSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMSwgIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVy
OiBmKCgpID0+IHYpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiBl
eHRfdmFsdWUgKiAxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMTAgLCJFcnJvcjogTm90IGNvcnJl
Y3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiB2
KngpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoeCkgPT4gZXh0X3ZhbHVl
ICogeCwgMzApOwordGVzdENhc2UocmVzdWx0LCAzMCpleHRfdmFsdWUgLCJFcnJvcjogTm90IGNv
cnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoeCkg
PT4gdip4LCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAw
LCAxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMxLCB5KSIpOwor
CisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwICsgMTApOwordGVzdENh
c2UocmVzdWx0LCAxMTAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjMSArIGMyKSIpOworCisgcmVzdWx0ID0g
YXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwICsgMTEsIDEyKTsKK3Rlc3RDYXNlKHJlc3Vs
dCwgMTExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYzEgKyBjMiwgeSkiKTsKKworIHZhciBhcnJvd0Z1bmN0
aW9uNCA9IHYgPT4gdiArIDEsIHh5ejEgPSAxMDEwMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb240
KDEwMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDEyICwiRXJyb3I6IE5vdCBjb3JyZWN0IHBhcnNp
bmcgb2YgdGggYXJyb3cgZnVuY3Rpb24gaW5zaWRlIG9mIHRoZSBsaXN0IG9mIHZhcnM6IHZhciBh
ZiA9IHY9PiB2ICsgMTsgenhjPWM7Iik7Cit0ZXN0Q2FzZSh4eXoxLCAxMDEwMSAsIkVycm9yOiBO
b3QgY29ycmVjdCBwYXJzaW5nIG9mIHRoIGFycm93IGZ1bmN0aW9uIGluc2lkZSBvZiB0aGUgbGlz
dCBvZiB2YXJzOiB2YXIgYWYgPSB2PT4gdiArIDE7IHp4Yz1jOyIpOworCisgdmFyIGFycm93RnVu
Y3Rpb25XcmFwcGVyMiA9IGZ1bmN0aW9uIChjbCwgcGFyYW10ZXIxLCBwYXJhbXRlcjIpIHsgcmV0
dXJuIGNsKHBhcmFtdGVyMSwgcGFyYW10ZXIyKTsgfTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25X
cmFwcGVyMigoeCwgeSkgPT4geCArIHksIDEyICw0Myk7Cit0ZXN0Q2FzZShyZXN1bHQsIDU1ICwi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFy
YW1ldGVyOiBmKCh4LCB5KSA9PiB4ICsgeSwgYzEsIGMyKSIpOworCisgdmFyIGFycm93RnVuY3Rp
b0FycmF5MCA9IFt2ID0+IHYgKiAxMF07CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTBbMF0o
MTApOwordGVzdENhc2UocmVzdWx0LCAxMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbdj0+dioxMF0iKTsKKwor
IHZhciBhcnJvd0Z1bmN0aW9BcnJheTEgPSBbdiA9PiB2ICsgMSwgdiA9PiB2ICsgMl07CityZXN1
bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTFbMF0oMTApOwordGVzdENhc2UocmVzdWx0LCAxMSAsIkVy
cm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0g
aW4gYXJyYXk6IFt2ID0+IHYgKyAxLCAgdiA9PiB2ICsgMl0iKTsKK3Jlc3VsdCA9IGFycm93RnVu
Y3Rpb0FycmF5MVsxXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEzICwiRXJyb3I6IE5vdCBjb3Jy
ZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogW3Yg
PT4gdiArIDEsICB2ID0+IHYgKyAyXSIpOworCisgdmFyIGFycm93RnVuY3Rpb0FycmF5MiA9IFso
dikgPT4gdiArIDEsICh2KSA9PiB2ICsgMl07CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTJb
MF0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMiAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsodikgPT4gdiArIDEs
ICAodikgPT4gdiArIDJdIik7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTJbMV0oMTEpOwor
dGVzdENhc2UocmVzdWx0LCAxMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhl
IGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsodikgPT4gdiArIDEsICAodikgPT4g
diArIDJdIik7CisKKyB2YXIgYXJyb3dGdW5jdGlvQXJyYXkzID0gWygpID0+IDEwMSwgKCkgPT4g
MTIzMjNdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkzWzBdKDExKTsKK3Rlc3RDYXNlKHJl
c3VsdCwgMTAxLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb24gYXMgaXRlbSBpbiBhcnJheTogWygpID0+IGMxLCAgKCkgPT4gYzJdIik7CityZXN1bHQg
PSBhcnJvd0Z1bmN0aW9BcnJheTNbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMjMyMywgIkVy
cm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0g
aW4gYXJyYXk6IFsoKSA9PiBjMSwgICgpID0+IGMyXSIpOworCit2YXIgYXJyb3dGdW5jdGlvbk9i
aiA9IHtmdW5jIDogeSA9PiB5ICsgMTJ9OworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbk9iai5mdW5j
KDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjMgLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcHJvcGVydHk6IHtmdW5jIDogeSA9PiB5ICsgMTIg
fSIpOworCit2YXIgYWZPYmpMZXhCaW5kMiA9IGZ1bmN0aW9uICgpIHsKKyAgdGhpcy5mdW5jID0g
KCkgPT4gdGhpczsKK307CisKK3ZhciBhcnJvd0ZhdEZ1bmN0aW9uMCA9ICgpID0+IHsgcmV0dXJu
IDEwMDA7IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0aW9uMCgxMSk7Cit0ZXN0Q2FzZShyZXN1
bHQsIDEwMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICgpID0+IHsgcmV0dXJuIDEwMDA7IH0iKTsKKwordmFy
IGFycm93RmF0RnVuY3Rpb24xID0gdiA9PiB7IHZhciBpbnR2YWwgPSAxMDA7IHJldHVybiB2ICog
aW50dmFsOyB9OworcmVzdWx0ID0gYXJyb3dGYXRGdW5jdGlvbjEoMTEpOwordGVzdENhc2UocmVz
dWx0LCAxMTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiB4ID0+IHsgdmFyIHY9MTAwMDsgcmV0dXJuIHYqeDsg
fSIpOworCit2YXIgYXJyb3dGYXRGdW5jdGlvbjIgPSAodikgPT4geyB2YXIgaW50ID0gMjAwOyBy
ZXR1cm4gdiAqIGludDsgfTsKK3Jlc3VsdCA9IGFycm93RmF0RnVuY3Rpb24yKDExKTsKK3Rlc3RD
YXNlKHJlc3VsdCwgMjIwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFy
cm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogKHgpID0+IHsgdmFyIHY9MTAwMDsgcmV0
dXJuIHYqeDsgfSIpOworCit2YXIgYXJyb3dGYXRGdW5jdGlvbjMgPSAodiwgeCkgPT4geyB2YXIg
cmVzdWx0ID0geCAqIHY7IHJldHVybiByZXN1bHQ7IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0
aW9uMygxMSwgMTIyMjIpOwordGVzdENhc2UocmVzdWx0LCAxMzQ0NDIgLCJFcnJvcjogTm90IGNv
cnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6
ICh2LCB4KSA9PiB7IHZhciByZXN1bHQgPSB4ICogdjsgcmV0dXJuIHJlc3VsdDsgfSIpOworCity
ZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4PT57cmV0dXJuIHggKiAyNTt9LCAxMjEpOwor
dGVzdENhc2UocmVzdWx0LCAyNSoxMjEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6IGYoeCA9PiB7cmV0dXJuIHgg
KiAyNTt9LCAxMjEpIik7CisKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyMigoeCwgeSk9
PntyZXR1cm4geCAqIHk7fSwgMTQsIDEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTQqMTIgLCJFcnJv
cjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkg
YXMgYmxvY2s6IGYoKHgsIHkpPT57cmV0dXJuIHggKiB5O30sIDE0LCAxMjEpKSIpOworCit2YXIg
c2ltcGxlQXJyb3dGdW5jdGlvbiA9ICgpID0+IHt9OworCit0ZXN0Q2FzZSh0eXBlb2Ygc2ltcGxl
QXJyb3dGdW5jdGlvbiwgImZ1bmN0aW9uIiwgIkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yoc2lt
cGxlQXJyb3dGdW5jdGlvbiksIEZ1bmN0aW9uLnByb3RvdHlwZSwgIkVycm9yOiBOb3QgY29ycmVj
dCBnZXRQcm90b3R5cGVPZiB2YWx1ZSBmb3IgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2Uo
c2ltcGxlQXJyb3dGdW5jdGlvbiBpbnN0YW5jZW9mIEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5v
dCBjb3JyZWN0IHJlc3VsdCBmb3IgaW5zdGFuY2VvZiBtZXRob2QgZm9yIGFycm93IGZ1bmN0aW9u
Iik7CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93RnVuY3Rpb24uY29uc3RydWN0b3IgPT0gRnVuY3Rp
b24sIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBjb25zdHJ1Y3RvciBtZXRo
b2Qgb2YgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2UodHlwZW9mIHNpbXBsZUFycm93RnVu
Y3Rpb24ucHJvdG90eXBlID09PSAndW5kZWZpbmVkJywgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVj
dCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiIpOworCit2YXIgZXJyb3JP
bkNyZWF0ZSA9IGZhbHNlOworCit0cnkgeworICB2YXIgZmMgPSBuZXcgc2ltcGxlQXJyb3dGdW5j
dGlvbigpOworfQorY2F0Y2ggKGUpIHsKKyAgZXJyb3JPbkNyZWF0ZSA9IHRydWU7Cit9CisKK3Rl
c3RDYXNlKGVycm9yT25DcmVhdGUsIHRydWUsICJFcnJvcjogTm8gZXJyb3IgZHVyaW5nIHJ1biBu
ZXcgQXJyb3dGdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0MWZk
YjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2OTcyZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1NTBh
MDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBF
TkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFT
U19TWU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5D
VElPTl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9O
RVhUID0gOwogRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1B
VElPTlNfTEVWRUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0g
OwogCiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRF
RF9MQVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVO
REVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9B
VFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVf
Q0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVS
SU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikg
JChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJ
TkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZ
T1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9S
RVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19M
RVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVf
Q1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJM
RV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVO
QUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVO
QUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFC
TEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5B
QkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9H
QU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNP
TkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lO
RElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQp
ICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRU
RVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVf
TUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwp
ICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRf
VVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQo
RU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJM
SUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElP
Tl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9J
TlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJF
Ul9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5U
SEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVO
QUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxF
UEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFC
TEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNI
X0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJT
RUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxF
X0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dF
QkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dF
Ql9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAk
KEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hT
TFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FU
VVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9E
RSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkg
JChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFC
TEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2
X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklN
QVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFC
TEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5B
QkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxF
X0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1Mz
X1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklT
SUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9B
UkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFO
U0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVS
U19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVO
QUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJ
TkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JL
RVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lP
U19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xF
R0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJ
TykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxF
X01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9T
T1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQp
ICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05B
VklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkg
JChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVf
UE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5U
UykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVf
UkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAk
KEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZ
KSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVO
QUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VC
VExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRF
UikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRF
X0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JE
KSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVP
X1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01F
RElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQ
TEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFC
TEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1F
T1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xP
T1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9f
UFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA4YjExMmZhZTQ1Yjk1N2Rk
MjY0MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2OTcyZjExNGMzODNkMzI2MjlmMWYwOTNj
Njg1NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FO
VkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwog
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5B
QkxFX0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9F
UzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
OwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwog
RU5BQkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFC
TEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJ
TlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5B
QkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05T
KSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklO
RykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElP
TlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVf
Q1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NT
X1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVY
VCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklM
SVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9T
VVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVS
X0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xF
VkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykg
JChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMp
ICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAk
KEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFU
SE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJD
RSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChF
TkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdB
VE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lO
VEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAk
KEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFV
RVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQo
RU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxF
X1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVf
Q1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAk
KEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxF
TUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJB
Q0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkp
ICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9X
RUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQp
ICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkg
JChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVT
RU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1F
TlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNf
UEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykg
JChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5B
QkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9C
UkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBU
QVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lP
TlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJM
RV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVO
QUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFC
TEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJM
RV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChF
TkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBS
RUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJ
TUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9D
T05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFC
TEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMp
ICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVU
Q0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVO
QUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01F
VEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUp
ICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdD
T05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJ
TikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJP
WElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9U
QSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVU
T0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9O
X01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9M
TF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkg
JChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdf
T1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5B
QkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19U
UkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQo
RU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVX
X01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVO
QUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9T
SVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5B
QkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJM
RV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChF
TkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0
Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA4YjExMmZhZTQ1
Yjk1N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2OTcyZjExNGMzODNkMzI2Mjlm
MWYwOTNjNjg1NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FO
VkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwog
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5B
QkxFX0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9F
UzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
OwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwog
RU5BQkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFC
TEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJ
TlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5B
QkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05T
KSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklO
RykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElP
TlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVf
Q1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NT
X1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVY
VCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklM
SVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9T
VVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVS
X0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xF
VkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykg
JChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMp
ICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAk
KEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFU
SE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJD
RSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChF
TkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdB
VE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lO
VEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAk
KEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFV
RVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQo
RU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxF
X1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVf
Q1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAk
KEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxF
TUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJB
Q0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkp
ICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9X
RUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQp
ICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkg
JChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVT
RU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1F
TlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNf
UEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykg
JChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5B
QkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9C
UkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBU
QVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lP
TlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJM
RV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVO
QUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFC
TEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJM
RV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChF
TkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBS
RUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJ
TUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9D
T05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFC
TEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMp
ICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVU
Q0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVO
QUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01F
VEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUp
ICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdD
T05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJ
TikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJP
WElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9U
QSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVU
T0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9O
X01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9M
TF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkg
JChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdf
T1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5B
QkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19U
UkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQo
RU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVX
X01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVO
QUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9T
SVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5B
QkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJM
RV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChF
TkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtl
L1dlYktpdEZlYXR1cmVzLmNtYWtlIGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtl
CmluZGV4IGY3NDdkYzgxNDExMzNjODk1YTNkYTM3ODNiNGFlNTVkZTVhMDQyYmMuLjZiZDhiOTZj
NzFlMmY1MmM2ZjhkNTNjNDE1MjIxZjg5ZTYxZDA2OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFr
ZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMu
Y21ha2UKQEAgLTM5LDYgKzM5LDcgQEAgbWFjcm8oV0VCS0lUX09QVElPTl9CRUdJTikKICAgICBX
RUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ0FOVkFTX1BST1hZICJUb2dnbGUgQ2FudmFzUHJv
eHkgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORyAiVG9nZ2xlIE1lc3NhZ2VDaGFubmVsIGFuZCBNZXNzYWdlUG9ydCBzdXBwb3J0
IiBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCAi
VG9nZ2xlIEVTNiBjbGFzcyBzeW50YXggc3VwcG9ydCIgT04pCisgICAgV0VCS0lUX09QVElPTl9E
RUZJTkUoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCAiVG9nZ2xlIEVTNiBhcnJvdyBm
dW5jdGlvbiBzeW50YXggc3VwcG9ydCIgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5B
QkxFX0NPTlRFTlRfRklMVEVSSU5HICJUb2dnbGUgY29udGVudCBmaWx0ZXJpbmcgc3VwcG9ydCIg
T0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DT05URVhUX01FTlVTICJUb2dn
bGUgQ29udGV4dCBNZW51IHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVO
QUJMRV9DU1BfTkVYVCAiVG9nZ2xlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IDEuMSBzdXBwb3J0
IiBPRkYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZSBiL1NvdXJjZS9j
bWFrZWNvbmZpZy5oLmNtYWtlCmluZGV4IDVlOTgzZDVlNjViMDdlZjdkYzUzZWM5ZDNjNmE4YTI5
MzkxNzVjYjIuLjIzZGFmNTk2NjM1MDIyZGY0MjBmMjhhZGE2N2Q5MzQ3N2NhMGUyZDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZWNvbmZp
Zy5oLmNtYWtlCkBAIC0xNCw2ICsxNCw3IEBACiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ0FOVkFT
X1BST1hZCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcKICNjbWFrZWRl
ZmluZTAxIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYCisjY21ha2VkZWZpbmUwMSBFTkFCTEVfRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ09OVEVOVF9GSUxU
RVJJTkcKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9DT05URVhUX01FTlVTCiAjY21ha2VkZWZpbmUw
MSBFTkFCTEVfQ1JFREVOVElBTF9TVE9SQUdFCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHBlcmwvRmVhdHVyZUxpc3QucG0gYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVy
ZUxpc3QucG0KaW5kZXggMDAwMzJjMWQwMjU0ZjRkNmE3YTBmY2E1NTMxYjM0MWQzNWQyOTU3Mi4u
NGRlN2YxM2Q1MzA5N2UyNTk3YWQ4YjMzMzBkMjVjMWFkY2Y2NmUyZSAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQpAQCAtNDQsNiArNDQsNyBAQCBCRUdJTiB7CiBteSAo
CiAgICAgJHRocmVlRFJlbmRlcmluZ1N1cHBvcnQsCiAgICAgJGFjY2VsZXJhdGVkMkRDYW52YXNT
dXBwb3J0LAorICAgICRhcnJvd2Z1bmN0aW9uU3ludGF4LAogICAgICRhdHRhY2htZW50RWxlbWVu
dFN1cHBvcnQsCiAgICAgJGJhdHRlcnlTdGF0dXNTdXBwb3J0LAogICAgICRjYW52YXNQYXRoU3Vw
cG9ydCwKQEAgLTE1NSw5ICsxNTYsMTMgQEAgbXkgQGZlYXR1cmVzID0gKAogICAgIHsgb3B0aW9u
ID0+ICJhY2NlbGVyYXRlZC0yZC1jYW52YXMiLCBkZXNjID0+ICJUb2dnbGUgQWNjZWxlcmF0ZWQg
MkQgQ2FudmFzIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQUNDRUxFUkFURURf
MkRfQ0FOVkFTIiwgZGVmYXVsdCA9PiBpc0d0aygpLCB2YWx1ZSA9PiBcJGFjY2VsZXJhdGVkMkRD
YW52YXNTdXBwb3J0IH0sCiAKKyAgICB7IG9wdGlvbiA9PiAiYXJyb3dmdW5jdGlvbi1zeW50YXgi
LCBkZXNjID0+ICJUb2dnbGUgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheCBzdXBwb3J0IiwKKyAg
ICAgIGRlZmluZSA9PiAiRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCIsIGRlZmF1bHQg
PT4gMSwgdmFsdWUgPT4gXCRhcnJvd2Z1bmN0aW9uU3ludGF4IH0sCisKICAgICB7IG9wdGlvbiA9
PiAiYXR0YWNobWVudC1lbGVtZW50IiwgZGVzYyA9PiAiVG9nZ2xlIEF0dGFjaG1lbnQgRWxlbWVu
dCBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCIs
IGRlZmF1bHQgPT4gMCwgdmFsdWUgPT4gXCRhdHRhY2htZW50RWxlbWVudFN1cHBvcnQgfSwKIAor
CiAgICAgeyBvcHRpb24gPT4gImJhdHRlcnktc3RhdHVzIiwgZGVzYyA9PiAiVG9nZ2xlIEJhdHRl
cnkgU3RhdHVzIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQkFUVEVSWV9TVEFU
VVMiLCBkZWZhdWx0ID0+IGlzRWZsKCksIHZhbHVlID0+IFwkYmF0dGVyeVN0YXR1c1N1cHBvcnQg
fSwKIApkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDI5MTRmNjFkYmQx
NjAzNzZkZTUyODFlMzE3MjhmZjdiMmE5NWY4ZGIuLjVlZDMyODhjZWIzZDE5NzIwZTg0MDM3Zjdh
NTgwMjM1ZDY0ZWE3ZTQgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNSBAQAorMjAxNS0wNC0xNyAgIFNrYWNoa292IEFsZXhhbmRyICA8Z3NrYWNoa292
QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9u
IHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTQwODU1CisKKyAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICBBZGRlZCBmZWF0dXJlIGZsYWcgdG8gc3dpdGNoIG9uL29mZiBlczYgYXJyb3cgZnVuY3Rpb24g
RU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWAorCisgICAgICAgICAqIFNvdXJjZS9jbWFr
ZS9XZWJLaXRGZWF0dXJlcy5jbWFrZToKKyAgICAgICAgICogU291cmNlL2NtYWtlY29uZmlnLmgu
Y21ha2U6CisKIDIwMTUtMDQtMTYgIEJhc2lsZSBDbGVtZW50ICA8YmFzaWxlX2NsZW1lbnRAYXBw
bGUuY29tPgogCiAgICAgICAgIEV4dHJhY3QgdGhlIGFsbG9jYXRpb24gcHJvZmlsZSBmcm9tIEpT
RnVuY3Rpb24gaW50byBhIHJhcmUgb2JqZWN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251059</attachid>
            <date>2015-04-17 15:50:45 -0700</date>
            <delta_ts>2015-09-14 11:13:57 -0700</delta_ts>
            <desc>Patch.1(Init)</desc>
            <filename>bug-140855-20150418014944.patch</filename>
            <type>text/plain</type>
            <size>4690</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyOTY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
OTJjZWEyY2M3YzFmYjQzOGQzYzQ5YWViZWQxNTI2MDk2OTEzMWI1Li5kZTA1MWZkMTAxZjlkMGMz
ZmVkZTk0MmY4N2IxNjI0NGVlMDU0MWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMSBAQAorMjAxNS0wNC0xMiAgQWxleGFuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21h
aWwuY29tPgorICAgICAgICBTbWFsbCByZWZhY3RvcmluZyBvZiB0aGUgcGFyY2VyLmNwcCBmaWxl
LiBJdCBpcyBuZWNlc3NhcnkgdG8gaW5jcmVhc2UgcmVhZGFiaWxpdHkgb2YgdGhlIHBhdGNoCisg
ICAgICAgIHdpdGggRVM2IEFycm93IGZ1bmN0aW9uIGltcGxlbWVudGF0aW9uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAq
IHBhcnNlci9QYXJzZXIuaDoKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKwogMjAxNS0w
NC0xNyAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBb
RVM2XSBGaXggbmFtZSBlbnVtZXJhdGlvbiBvZiBzdGF0aWMgZnVuY3Rpb25zIGZvciBTeW1ib2wg
Y29uc3RydWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFy
c2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAppbmRleCAz
MmQyNTBjYTdjYzUzZjRiZWE2MWY2MWI2ZGFiZmU2NGJjYmM2ODQ2Li42NDc4MjBhZDgzZGY0NDNk
MzBkMDRjZmFlMjI1NGZhZWM5NzA3YWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1BhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXIuY3BwCkBAIC0xMjk3LDE1ICsxMjk3LDggQEAgc3RhdGljIGNvbnN0IGNoYXIqIHN0cmlu
Z0ZvckZ1bmN0aW9uTW9kZShGdW5jdGlvblBhcnNlTW9kZSBtb2RlKQogICAgIHJldHVybiBudWxs
cHRyOwogfQogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgotdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhU
cmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMgcmVxdWlyZW1lbnRzLCBG
dW5jdGlvblBhcnNlTW9kZSBtb2RlLAotICAgIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUs
IENvbnN0cnVjdG9yS2luZCBvd25lckNsYXNzS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0
LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvKQordGVtcGxhdGUgPHR5cGVu
YW1lIExleGVyVHlwZT4gdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBpbnQgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlRnVuY3Rpb25QYXJhbXRlcnMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIEZ1
bmN0aW9uUmVxdWlyZW1lbnRzIHJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUgbW9kZSwg
Ym9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQXV0b1BvcFNjb3BlUmVmJiBmdW5jdGlvblNj
b3BlLCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvKQogewotICAgIEF1dG9Q
b3BTY29wZVJlZiBmdW5jdGlvblNjb3BlKHRoaXMsIHB1c2hTY29wZSgpKTsKLSAgICBmdW5jdGlv
blNjb3BlLT5zZXRJc0Z1bmN0aW9uKCk7Ci0gICAgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0ID0gbV90
b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OwotICAgIGNvbnN0IElkZW50aWZpZXIqIGxhc3RG
dW5jdGlvbk5hbWUgPSBtX2xhc3RGdW5jdGlvbk5hbWU7Ci0gICAgbV9sYXN0RnVuY3Rpb25OYW1l
ID0gbnVsbHB0cjsKICAgICBpZiAobWF0Y2goSURFTlQpKSB7CiAgICAgICAgIGluZm8ubmFtZSA9
IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBpbmZv
Lm5hbWU7CkBAIC0xMzI0LDcgKzEzMTcsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAg
ICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVUb0tleXdvcmQoc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1v
ZGUpLCAiIG5hbWUiKTsKICAgICAgICAgZmFpbFdpdGhNZXNzYWdlKCJFeHBlY3RlZCBhbiBvcGVu
aW5nICcoJyBiZWZvcmUgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIncyBwYXJh
bWV0ZXIgbGlzdCIpOwogICAgIH0KLQorICAgIAogICAgIGlmIChtb2RlID09IEdldHRlck1vZGUp
CiAgICAgICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJFTiwgImdldHRlciBmdW5jdGlvbnMgbXVz
dCBoYXZlIG5vIHBhcmFtZXRlcnMiKTsKICAgICBlbHNlIGlmIChtb2RlID09IFNldHRlck1vZGUp
IHsKQEAgLTEzNDEsNiArMTMzNCwyMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJv
b2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAg
ICB9CiAgICAgICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJFTiwgIkV4cGVjdGVkIGEgJyknIG9y
IGEgJywnIGFmdGVyIGEgcGFyYW1ldGVyIGRlY2xhcmF0aW9uIik7CiAgICAgfQorICAgIAorICAg
IHJldHVybiBwYXJhbWV0ZXJzU3RhcnQ7Cit9CisgICAgCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4
ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1
aXJlbWVudHMgcmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLAorICAgIGJvb2wg
bmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCBvd25lckNsYXNzS2luZCwg
aW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+
JiBpbmZvKQoreworICAgIEF1dG9Qb3BTY29wZVJlZiBmdW5jdGlvblNjb3BlKHRoaXMsIHB1c2hT
Y29wZSgpKTsKKyAgICBmdW5jdGlvblNjb3BlLT5zZXRJc0Z1bmN0aW9uKCk7CisgICAgaW50IGZ1
bmN0aW9uTmFtZVN0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OworICAgIGNv
bnN0IElkZW50aWZpZXIqIGxhc3RGdW5jdGlvbk5hbWUgPSBtX2xhc3RGdW5jdGlvbk5hbWU7Cisg
ICAgbV9sYXN0RnVuY3Rpb25OYW1lID0gbnVsbHB0cjsKKyAgICAKKyAgICBpbnQgcGFyYW1ldGVy
c1N0YXJ0ID0gcGFyc2VGdW5jdGlvblBhcmFtdGVycyhjb250ZXh0LCByZXF1aXJlbWVudHMsIG1v
ZGUsIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBmdW5jdGlvblNjb3BlLCBpbmZvKTsKIAogICAg
IG1hdGNoT3JGYWlsKE9QRU5CUkFDRSwgIkV4cGVjdGVkIGFuIG9wZW5pbmcgJ3snIGF0IHRoZSBz
dGFydCBvZiBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCmluZGV4IDBmMjcyOGY4NjIxZjgwMTBjNDEw
YmY3OTg3NjE5YmYyM2U1MGFmOGIuLjc4YmFmZmEwZTE3NzNjODIwNjk4YjkyMDNmMGY2YTNkN2Fk
MzJlYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaApAQCAtNzczLDYgKzc3
Myw4IEBAIHByaXZhdGU6CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9J
TkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiB0cnlQYXJzZURlY29uc3RydWN0aW9uUGF0
dGVybkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKIAogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gTkVWRVJfSU5MSU5FIGJvb2wgcGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXIm
LCBGdW5jdGlvblJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUsIGJvb2wgbmFtZUlzSW5D
b250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0
LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+Jik7CisgICAgCisgICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgaW50IHBhcnNlRnVuY3Rpb25QYXJhbXRl
cnMoVHJlZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUs
IGJvb2wsIEF1dG9Qb3BTY29wZVJlZiYsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4m
KTsKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlQ2xhc3NFeHByZXNzaW9uIHBhcnNlQ2xhc3MoVHJl
ZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgUGFyc2VyQ2xhc3NJbmZvPFRyZWVCdWls
ZGVyPiYpOwogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251061</attachid>
            <date>2015-04-17 15:55:17 -0700</date>
            <delta_ts>2015-04-17 16:03:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150418015416.patch</filename>
            <type>text/plain</type>
            <size>144949</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyOTY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
ZTA1MWZkMTAxZjlkMGMzZmVkZTk0MmY4N2IxNjI0NGVlMDU0MWM2Li5hYzAxNmZiY2I0YjA3YWRk
YzliM2VjZDk1NWM0YWM4MTQyMmY0ZTdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMjMgQEAKKzIwMTUtMDQtMTcgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKyAgICAgICAgU21hbGwgcmVmYWN0b3Jpbmcgb2YgdGhlIHBhcmNlci5jcHAgZmls
ZS4gSXQgaXMgbmVjZXNzYXJ5IHRvIGluY3JlYXNlIHJlYWRhYmlsaXR5IG9mIHRoZSBwYXRjaAor
ICAgICAgICB3aXRoIEVTNiBBcnJvdyBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAg
KiBwYXJzZXIvUGFyc2VyLmg6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisKKzIwMTUt
MDQtMTMgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAg
ICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgc3VwcG9ydCBvZiBF
UzYgYXJyb3cgZnVuY3Rpb24uIENoYW5nZXMgd2VyZSBtYWRlIGFjY29yZGluZyBmb2xsb3dpbmcg
c3BlYyBodHRwOi8vd2lraS5lY21hc2NyaXB0Lm9yZy9kb2t1LnBocD9pZD1oYXJtb255OmFycm93
X2Z1bmN0aW9uX3N5bnRheAorICAgICAgICBJbiBwYXRjaCB3ZXJlIGltcGxlbWVudGVkIHRoZSBz
aW1wbGVzdCBjYXNlczoKKyAgICAgICAgICAxIG5vIHBhcmFtZXRlcnMgICAgICAgICAgICAgICAg
KCkgPT4gMTAgKyAyMAorICAgICAgICAgIDIgc2luZ2xlIHBhcmFtZXRlciAgICAgICAgICAgICAg
eCA9PiB4ICsgMjAKKyAgICAgICAgICAzIG11bHRpcGxlIHBhcmFtZXRlcnMgICAgICAoeCwgeSkg
PT4geCArIHkKKyAgICAgICAgICA0IGFycm93IGZ1bmN0aW9uIHdpdGggYmxvY2sgICAgIHggPT4g
eyByZXR1cm4geCoxMDsgfQorICAgICAgICAgIDUgbGV4aWNhbCB0aGlzIC0gdmFyaWFibGUgdGhp
cyBpcyBwb2ludCB0byB0aGUgdGhpcyBvZiB0aGUgZnVuY3Rpb24gd2hlcmUgYXJyb3cgZnVuY3Rp
b24gaXMgZGVjbGFyZWQKKyAgICAgICAgICA2IE5vIGNvbnN0cnVjdG9yIC0gdGhlIHVzaW5nIG9m
IHRoZSBjb21tYW5kIG5ldyBmb3IgYXJyb3cgZnVuY3Rpb24gbGVhZHMgdG8gcnVudGltZSBlcnJv
ci4gCisKKyAgICAgICAgIE5vdCB5ZXQgaW1wbGVtZW50ZWQ6CisgICAgICAgICAgMSB0aGUgdmFy
aWFibGUgd2l0aCBuYW1lIGFyZ3VtZW50cyBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uIHNo
b3VsZCBwb2ludCB0byBsaXN0IG9mIGFyZ3VtZW50cyBvZiBmdW5jdGlvbiB3aGVyZSBhcnJvdyBm
dW5jdGlvbiBpcyBkZWNsYXJlZAorICAgICAgICAgIDIgcGFyc2VyIHdpbGwgcGFyc2UgdGhlIHN0
YXRlbWVudCB4LCB5ID0+IHggKyB5IGluc3RlYWQgb2YgcmFpc2luZyBleGNlcHRpb24KKyAgICAg
ICAgICAzIG1ldGhvZCBjYWxsLCBhcHBseSwgYmluZCBzaG91bGQgbm90IG92ZXJyaWRlIHRoZSB0
aGlzIHZhcmlhYmxlIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24KKworICAgICAgICAqIENv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIEphdmFTY3Jp
cHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvajoKKyAgICAgICAgKiBieXRlY29k
ZS9CeXRlY29kZUxpc3QuanNvbjoKKyAgICAgICAgKiBieXRlY29kZS9CeXRlY29kZVVzZURlZi5o
OgorICAgICAgICAoSlNDOjpGdW5jdG9yOjpjb21wdXRlVXNlc0ZvckJ5dGVjb2RlT2Zmc2V0KToK
KyAgICAgICAgKiBieXRlY29kZS9Db2RlQmxvY2suY3BwOgorICAgICAgICAoSlNDOjpDb2RlQmxv
Y2s6OmR1bXBCeXRlY29kZSk6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJh
dG9yLmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAg
ICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVz
c2lvbik6IGFkZGVkCisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0VGhpc05v
ZGVCeXRlY29kZSk6IGFkZGVkCisgICAgICAgICogYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5j
cHA6CisgICAgICAgIChKU0M6OmVtaXRCeXRlY29kZTo6ZW1pdEJ5dGVjb2RlKTogYWRkZWQKKyAg
ICAgICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGU6OmVtaXRCeXRlY29kZSk6IGFkZGVkCisgICAg
ICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZUNvZGVQ
YXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAqIGRmZy9ERkdDYXBhYmlsaXRpZXMuY3BwOgor
ICAgICAgICAoSlNDOjpDYXBhYmlsaXR5TGV2ZWw6OmNhcGFiaWxpdHlMZXZlbCk6CisgICAgICAg
ICogaml0L0pJVC5oOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfbmV3X2Fycm93X2Z1bmNf
ZXhwKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUSW5saW5lcy5oOgorICAgICAgICAoSlNDOjpK
SVQ6OmNhbGxPcGVyYXRpb24pOiBhZGRlZAorICAgICAgICAqIGppdC9KSVQuY3BwOgorICAgICAg
ICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3MpOgorICAgICAgICAqIGppdC9KSVRP
cGNvZGVzLmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX25ld19hcnJvd19mdW5jX2V4
cCk6IGFkZGVkCisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMuY3BwOgorICAgICAgICAoSlND
OjpKSVRfT1BFUkFUSU9OOjpvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKTogYWRkZWQKKyAgICAg
ICAgKiBqaXQvSklUT3BlcmF0aW9ucy5oOgorICAgICAgICAoSlNDOjpKSVRfT1BFUkFUSU9OOjpv
cGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKTogYWRkZWQKKyAgICAgICAgKiBsbGludC9MTEludFNs
b3dQYXRocy5jcHA6CisgICAgICAgIChMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfbmV3
X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBsbGludC9MTEludFNsb3dQYXRocy5o
OgorICAgICAgICAoTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX25ld19hcnJvd19mdW5j
X2V4cCkpOiBhZGRlZAorICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOgor
ICAgICAgICAqIHBhcnNlci9BU1RCdWlsZGVyLmg6CisgICAgICAgIChKU0M6OkFTVEJ1aWxkZXI6
OmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAgICAgKiBwYXJzZXIvTGV4ZXIuY3BwOgor
ICAgICAgICAoSlNDOjpMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlvbik6CisgICAgICAgIChKU0M6
OkxleGVyPFQ+OjpsZXgpOgorICAgICAgICAqIHBhcnNlci9MZXhlci5oOgorICAgICAgICAoSlND
OjpMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlvbik6CisgICAgICAgICogcGFyc2VyL05vZGVDb25z
dHJ1Y3RvcnMuaDoKKyAgICAgICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGU6OkFycm93RnVuY0V4
cHJOb2RlKTogYWRkZWQKKyAgICAgICAgKiBwYXJzZXIvTm9kZXMuaDoKKyAgICAgICAgKEpTQzo6
Tm9kZTo6aXNBcnJvd0Z1bmNFeHByTm9kZSk6IGFkZGVkCisgICAgICAgIChKU0M6OkFycm93RnVu
Y0V4cHJOb2RlKTogYWRkZWQgY2xhc3MKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAg
ICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMpOgorICAg
ICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmVzc2lvbik6Cisg
ICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VTb3VyY2VFbGVtZW50KToKKyAgICAgICAgKEpTQzo6
UGFyc2VyOjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBc3Np
Z25tZW50RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VQcmltYXJ5RXhw
cmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0V4cHJlc3Npb24pOgor
ICAgICAgICAoSlNDOjpQYXJzZXI6OnNldEVuZE9mU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6
UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwYXJzZUFycm93RnVuY3Rpb25JbmZvKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFy
cm93RnVuY3Rpb25Cb2R5KToKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmg6CisgICAgICAgIChK
U0M6OlBhcnNlcjo6RnVuY3Rpb25QYXJzZVR5cGUpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBh
cnNlU291cmNlRWxlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VTdGF0ZW1lbnQp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dFeHByZXNzaW9uKToKKyAgICAgICAg
KEpTQzo6UGFyc2VyOjpzZXRFbmRPZlN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6
cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcik6CisgICAgICAgICogcGFyc2VyL1BhcnNlckZ1bmN0
aW9uSW5mby5oOgorICAgICAgICAqIHBhcnNlci9QYXJzZXJUb2tlbnMuaDoKKyAgICAgICAgKEpT
Qzo6UGFyc2VyRnVuY3Rpb25JbmZvOjphcnJvd0Z1bmN0aW9uT2Zmc2V0KTogYWRkZWQKKyAgICAg
ICAgKEpTQzo6UGFyc2VyRnVuY3Rpb25JbmZvOjppc0Fycm93RnVuY3Rpb24pOiBhZGRlZAorICAg
ICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmFycm93RnVuY3Rpb25Cb2R5VHlwZSk6IGFk
ZGVkCisgICAgICAgICogcGFyc2VyL1NvdXJjZUNvZGUuaDoKKyAgICAgICAgKEpTQzo6U291cmNl
Q29kZTo6c3ViQXJyb3dFeHByZXNzaW9uKToKKyAgICAgICAgKiBwYXJzZXIvU3ludGF4Q2hlY2tl
ci5oOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVhdGVBcnJvd0Z1bmN0aW9uRXhw
cik6CisgICAgICAgICogcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOgorICAgICAgICAo
SlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFyYW1ldGVycyk6CisgICAgICAg
IChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKToKKyAgICAgICAgKEpTQzo6U291cmNlUHJv
dmlkZXJDYWNoZUl0ZW06OmVuZEFycm93RnVuY3Rpb25Ub2tlbik6CisgICAgICAgICogcnVudGlt
ZS9KU0Fycm93RnVuY3Rpb24uaDogYWRkZWQgY2xhc3MgZm9yIGhhbmRsZSBhcnJvdyBmdW5jdGlv
biBjcmVhdGlvbiBhbmQgZXhlY3V0aW9uCisgICAgICAgICogcnVudGltZS9KU0Fycm93RnVuY3Rp
b24uY3BwOgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbi5oOgorICAgICAgICAoSlNDOjpK
U0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKTogYWRkZWQgb25lIG1vcmUgY29uc3RydWN0b3IKKyAgICAg
ICAgKiBydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkpTRnVuY3Rp
b246OkpTRnVuY3Rpb24pOiBhZGRlZCBjb25zdHJ1Y3RvciBpbXBsZW1lbnRhdGlvbgorICAgICAg
ICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9i
amVjdDo6aW5pdCk6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0OjptX2Fycm93RnVuY3Rp
b25TdHJ1Y3R1cmUpOiBhZGRlZAorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6YXJyb3dG
dW5jdGlvblN0cnVjdHVyZSk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2pzL2Fycm93ZnVuY3Rp
b24uanM6CisKIDIwMTUtMDQtMTIgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdtYWls
LmNvbT4KICAgICAgICAgU21hbGwgcmVmYWN0b3Jpbmcgb2YgdGhlIHBhcmNlci5jcHAgZmlsZS4g
SXQgaXMgbmVjZXNzYXJ5IHRvIGluY3JlYXNlIHJlYWRhYmlsaXR5IG9mIHRoZSBwYXRjaAogICAg
ICAgICB3aXRoIEVTNiBBcnJvdyBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IGI3OGQ0NjI2NzJhMDY1MGYwZTg3Yzk5Yjk3MGQ0NzU3OWE2MjVjNWUuLmM5N2M0YzRhZjRmMDFk
NDFjNjU4NzMxODI0NzQzNjA1ZDE2YWZjMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAxNS0wNC0xNyAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisg
ICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmZWF0dXJlIGZs
YWcgRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rpb24KKwor
ICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1
LTA0LTE3ICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBGb3JjZSBt
b3VzZSBldmVudHMgc2hvdWxkIGdvIHRocm91Z2ggbm9ybWFsIG1vdXNlIGV2ZW50IGhhbmRsaW5n
IGNvZGUgcGF0aHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCBhMTMwNTk2OWM5ODFmYTZiYzYyZTI5NjA2
ZDg2YjQ1YWU2MGY2ODlhLi4zZjM2MmMxNjM5MDc3NTg0YzMwMGU2ZTE2OTk1MWU1NzdiYmFhNDQz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDQtMTcgIFNrYWNoa292
IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1l
bnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dG
VU5DVElPTl9TWU5UQVggZm9yIGFycm93IGZ1bmN0aW9uCisKKyAgICAgICAgKiBDb25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxNS0wNC0xNyAgRGFuaWVsIEJhdGVz
ICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTjogU1ZHIGRvZXMgbm90
IHN1cHBvcnQgbGluayBkcmFnZ2luZwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0Cmlu
ZGV4IGZiY2UwYjZiOTk2YzIxODkyN2VlMzQ0YTNmMzIxYmZiODQ3MGM3OTIuLjI3ZmNlNjg5MDIx
M2EyMWUzNDk4YzZiZmE0NDY0MjJkNGI4NjkyMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VM
aXN0cy50eHQKQEAgLTQ2Nyw2ICs0NjcsNyBAQCBzZXQoSmF2YVNjcmlwdENvcmVfUlVOVElNRV9T
T1VSQ0VTCiAgICAgcnVudGltZS9KU0FycmF5QnVmZmVyVmlldy5jcHAKICAgICBydW50aW1lL0pT
QXJyYXlJdGVyYXRvci5jcHAKICAgICBydW50aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAKKyAgICBy
dW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAKICAgICBydW50aW1lL0pTR2xvYmFsT2JqZWN0RGVi
dWdnYWJsZS5jcHAKICAgICBydW50aW1lL0pTQ0pTVmFsdWUuY3BwCiAgICAgcnVudGltZS9KU0Nh
bGxlZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0
MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2OTcyZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1
NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00NSw2ICs0NSw3IEBAIEVOQUJM
RV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkg
PSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7
CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYOworRU5B
QkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9T
WU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
Tkc7CiBFTkFCTEVfQ1NQX05FWFQgPSA7CiBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMiA9
IEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yOwpAQCAtMjE0LDQgKzIxNSw0IEBAIEVOQUJM
RV9MTElOVF9DX0xPT1AgPSA7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMg
PSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMg
PSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykg
JChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQ
VElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElU
SU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVO
QUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFC
TEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5J
TUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5B
QkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVO
QUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChF
TkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJM
RV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NT
M19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJ
U0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJP
QVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJB
TlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRF
UlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChF
TkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRM
SU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09S
S0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNT
X1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9J
T1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9M
RUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVE
SU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJM
RV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFf
U09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kp
ICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxF
X1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVO
VFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxF
X1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkg
JChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVS
WSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChF
TkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NV
QlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJU
RVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFU
RV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09S
RCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURF
T19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19N
RURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JF
UExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5B
QkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElN
RU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19M
T09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVP
X1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRF
UklORykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRF
RF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRU
QUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NB
TlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkg
JChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFU
SU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0Vf
QURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1Nf
UkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQ
RVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQo
RU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIp
ICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAk
KEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQo
RU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNU
T1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1Yy
KSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQo
RU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFE
X0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9E
T01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJW
SUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9O
VEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAk
KEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19Q
UkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQp
ICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFC
TEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9T
Q0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRP
Ul9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRf
UExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJM
RV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxF
X1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVT
VF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09M
VVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1Nf
U0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNf
QVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVf
Q1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURF
TykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxF
X1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8p
ICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNU
VVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykg
JChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQo
RU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElD
KSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hw
cm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNj
cmlwdENvcmUudmN4cHJvagppbmRleCBmZjdhOGUxNjcyN2FmMjRlYmNhYzM2ODcwYTUwZGE1MTRm
YzkwZjZlLi4zZGZkZGNiN2UxZmM4YjE1N2ZhN2E1NmY0ZGZhZjM4ZTU2ZWFiMDAzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2Ny
aXB0Q29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKQEAgLTczMiw2ICs3MzIsNyBAQAogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0FycmF5QnVmZmVyUHJvdG90eXBlLmNw
cCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJheUJ1ZmZlclZp
ZXcuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0JvdW5kRnVu
Y3Rpb24uY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0Fycm93
RnVuY3Rpb24uY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NK
U1ZhbHVlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDYWxs
ZWUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NhdGNoU2Nv
cGUuY3BwIiAvPgpAQCAtMTUyNyw2ICsxNTI4LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHJ1bnRpbWVcSlNBcnJheUJ1ZmZlclZpZXdJbmxpbmVzLmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlJdGVyYXRvci5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0JvdW5kRnVuY3Rpb24uaCIgLz4KKyAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJvd0Z1bmN0aW9uLmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0lubGluZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5ccnVudGltZVxKU0NKU1ZhbHVlSW5saW5lcy5oIiAvPgpAQCAtMTgwNCw0ICsxODA2
LDQgQEAKICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KICAgICA8SW1w
b3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcQnVpbGRDdXN0b21pemF0aW9uc1xtYXNtLnRh
cmdldHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBi
YTliZTBmYjYxYmM2OGRjOGZkMjViMGYzMTg1YzczMDNiODhiMmQ5Li5jYmZkMGZhMmJjMDAwOGY1
NGU5OTAzNDI0MjQxNDQ5MGJjOWZjNWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtMTA5Niw2ICsxMDk2LDggQEAKIAkJODZGM0VFQkYxNjhDREU5MzAwNzdCOTJBIC8qIE9iamNS
dW50aW1lRXh0cmFzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4NkYzRUVCNjE2ODU1QTVCMDA3N0I5MkEgLyogT2JqY1J1bnRpbWVFeHRyYXMuaCAqLzsg
fTsKIAkJODZGQTlFOTExNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkZBOUU4RjE0MkJC
QjJEMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAqLzsgfTsKIAkJODZGQTlFOTIxNDJC
QkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91
bmRGdW5jdGlvbi5oICovOyB9OworCQk4QjBGNDI0QzFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJv
d0Z1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDhCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uY3BwICovOyB9
OworCQk4QjBGNDI0QzFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUy
MDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggKi87IH07CiAJCTkwMjEzRTNEMTIzQTQwQzIw
MEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkwMjEzRTNCMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlT
dGF0aXN0aWNzLmNwcCAqLzsgfTsKIAkJOTAyMTNFM0UxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9y
eVN0YXRpc3RpY3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTMwNTJDMzQwRkI3
OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMDUyQzMyMEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJB
cmVuYS5jcHAgKi87IH07CkBAIC0yODMxLDYgKzI4MzMsOCBAQAogCQk4NkY3NUVGRDE1MUMwNjJG
MDA3QzlCQTMgLyogUmVnRXhwTWF0Y2hlc0FycmF5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFJlZ0V4cE1hdGNoZXNBcnJheS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24u
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9u
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODZGQTlFOTAxNDJCQkIyRTAwMTc3
M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU0JvdW5kRnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOEIwRjQy
NEExQUJENkQyRjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U0Fycm93RnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOEIwRjQyNEIx
QUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0Fycm93RnVuY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk5MDIxM0UzQjEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGlj
cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZW1vcnlTdGF0aXN0
aWNzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTAyMTNFM0MxMjNBNDBDMjAw
RDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTWVtb3J5U3RhdGlzdGljcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
MzA1MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFyc2VyQXJlbmEuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtNDQ0Miw2ICs0NDQ2LDggQEAKIAkJCQlBN0JEQUVDNTE3RjRFQTE0MDBG
NjE0MEMgLyogSlNBcnJheUl0ZXJhdG9yLmggKi8sCiAJCQkJODZGQTlFOEYxNDJCQkIyRDAwMTc3
M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5jcHAgKi8sCiAJCQkJODZGQTlFOTAxNDJCQkIyRTAwMTc3
M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICovLAorCQkJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdF
QSAvKiBKU0Fycm93RnVuY3Rpb24uaCAqLywKKwkJCQk4QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEg
LyogSlNBcnJvd0Z1bmN0aW9uLmNwcCAqLywKIAkJCQk2NTdDRjQ1NjE5QkY2NjYyMDA0QUNCRjIg
LyogSlNDYWxsZWUuY3BwICovLAogCQkJCTY1N0NGNDU3MTlCRjY2NjIwMDRBQ0JGMiAvKiBKU0Nh
bGxlZS5oICovLAogCQkJCTBGRDk0OTdFMUE5N0RCOTYwMEUyODk2NiAvKiBKU0NhdGNoU2NvcGUu
Y3BwICovLApAQCAtNzE3NSw2ICs3MTgxLDcgQEAKIAkJCQkwRkQ4QTMxQjE3RDUxRjIyMDBDQTJD
NDAgLyogRlRMT1NSRW50cnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyMzVCREMxNzE3OEUx
QzAwNjkwQzdGIC8qIEZUTE9TUkV4aXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyMzVCREYx
NzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4aXRDb21waWxlci5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQk4QjBGNDI0QzFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGRUEwQTJBMTcwOTYyOTYwMEJCNzIyQyAvKiBGVExPdXRwdXQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMEY0ODUzMjkxODdERkRFQzAwODNCNjg3IC8qIEZUTFJlY292
ZXJ5T3Bjb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNkIxQ0MzMTg2MkM0NzgwMDg0NUQ5
NyAvKiBGVExSZWdpc3RlckF0T2Zmc2V0LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCmluZGV4IDI1MTQxMjYz
ZTM4ZDBlYjJkMTg0NDFmNGU2ZmZjZTM2ZWU4ZjdjZjIuLmEzNzY0N2YyNmZiZTNmMjViYTYyNWI5
OWYzZGExMjAxZTQ5ZmYyMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9CeXRlY29kZUxpc3QuanNvbgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQnl0ZWNvZGVMaXN0Lmpzb24KQEAgLTk0LDYgKzk0LDcgQEAKICAgICAgICAgICAgIHsgIm5h
bWUiIDogIm9wX3N3aXRjaF9zdHJpbmciLCAibGVuZ3RoIiA6IDQgfSwKICAgICAgICAgICAgIHsg
Im5hbWUiIDogIm9wX25ld19mdW5jIiwgImxlbmd0aCIgOiA0IH0sCiAgICAgICAgICAgICB7ICJu
YW1lIiA6ICJvcF9uZXdfZnVuY19leHAiLCAibGVuZ3RoIiA6IDQgfSwKKyAgICAgICAgICAgIHsg
Im5hbWUiIDogIm9wX25ld19hcnJvd19mdW5jX2V4cCIsICJsZW5ndGgiIDogNSB9LAogICAgICAg
ICAgICAgeyAibmFtZSIgOiAib3BfY2FsbCIsICJsZW5ndGgiIDogOSB9LAogICAgICAgICAgICAg
eyAibmFtZSIgOiAib3BfY2FsbF9ldmFsIiwgImxlbmd0aCIgOiA5IH0sCiAgICAgICAgICAgICB7
ICJuYW1lIiA6ICJvcF9jYWxsX3ZhcmFyZ3MiLCAibGVuZ3RoIiA6IDkgfSwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgKaW5kZXggZjIwNzEzOTIz
MjkwNjQ1M2I3YTU0ZjU2MWI5YjY0MjNlMmU4Y2YyNy4uOWI2N2EyMjIxZDNiYTBhNjA2ZjQ3MDlh
NTk5YzMxM2UxYTNhYmFhNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0J5dGVjb2RlVXNlRGVmLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0J5dGVjb2RlVXNlRGVmLmgKQEAgLTExNSw2ICsxMTUsOSBAQCB2b2lkIGNvbXB1dGVVc2VzRm9y
Qnl0ZWNvZGVPZmZzZXQoCiAgICAgY2FzZSBvcF9nZXRfcHJvcGVydHlfZW51bWVyYXRvcjoKICAg
ICBjYXNlIG9wX2dldF9lbnVtZXJhYmxlX2xlbmd0aDoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4
cDoKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3
X2Fycm93X2Z1bmNfZXhwOgorI2VuZGlmCiAgICAgY2FzZSBvcF90b19pbmRleF9zdHJpbmc6CiAg
ICAgY2FzZSBvcF9pbml0X2dsb2JhbF9jb25zdF9ub3A6CiAgICAgY2FzZSBvcF9pbml0X2dsb2Jh
bF9jb25zdDoKQEAgLTMwNiw2ICszMDksOSBAQCB2b2lkIGNvbXB1dGVEZWZzRm9yQnl0ZWNvZGVP
ZmZzZXQoQ29kZUJsb2NrKiBjb2RlQmxvY2ssIHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0LAogICAg
IGNhc2Ugb3BfbmV3X3JlZ2V4cDoKICAgICBjYXNlIG9wX25ld19mdW5jOgogICAgIGNhc2Ugb3Bf
bmV3X2Z1bmNfZXhwOgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAg
Y2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6CisjZW5kaWYKICAgICBjYXNlIG9wX2NhbGxfdmFy
YXJnczoKICAgICBjYXNlIG9wX2NvbnN0cnVjdF92YXJhcmdzOgogICAgIGNhc2Ugb3BfZ2V0X2Zy
b21fc2NvcGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29k
ZUJsb2NrLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3Bw
CmluZGV4IDFkODIzODcyODc4YWMzNDM3Y2M1M2EwODdmMWMwZjhhMjBiYjYwZmIuLmUzZjc1ZjQ0
ODE5MDBiYmI5YTg3ZmE5MjkwMTQ1NWU3YjgwYjg1MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCkBAIC0xMjk3LDYgKzEyOTcsMTcgQEAgdm9pZCBD
b2RlQmxvY2s6OmR1bXBCeXRlY29kZSgKICAgICAgICAgICAgIG91dC5wcmludGYoIiVzLCAlcywg
ZiVkIiwgcmVnaXN0ZXJOYW1lKHIwKS5kYXRhKCksIHJlZ2lzdGVyTmFtZShyMSkuZGF0YSgpLCBm
MCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOiB7Cisg
ICAgICAgICAgICBpbnQgcjAgPSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAgICAgICAgIGludCBy
MSA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgaW50IGYwID0gKCsraXQpLT51Lm9w
ZXJhbmQ7CisgICAgICAgICAgICBpbnQgcjIgPSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAgICAg
ICAgIHByaW50TG9jYXRpb25BbmRPcChvdXQsIGV4ZWMsIGxvY2F0aW9uLCBpdCwgIm9wX25ld19h
cnJvd19mdW5jX2V4cCIpOworICAgICAgICAgICAgb3V0LnByaW50ZigiJXMsICVzLCBmJWQsICVz
IiwgcmVnaXN0ZXJOYW1lKHIwKS5kYXRhKCksIHJlZ2lzdGVyTmFtZShyMSkuZGF0YSgpLCBmMCwg
cmVnaXN0ZXJOYW1lKHIyKS5kYXRhKCkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0K
KyNlbmRpZgogICAgICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDogewogICAgICAgICAgICAgaW50
IHIwID0gKCsraXQpLT51Lm9wZXJhbmQ7CiAgICAgICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUu
b3BlcmFuZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIv
Qnl0ZWNvZGVHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxl
ci9CeXRlY29kZUdlbmVyYXRvci5jcHAKaW5kZXggNmUxOThjYTI3ZTA5ZGEwMmRjOWNmNTMwYzI5
Mjc3YzU2Y2FjMjliNC4uYWY2NWNiNTNkOWM2ZTY5Yjk0OTQzYjkzYjM0M2E5ZDhiMjk3Mjg1MiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdl
bmVyYXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRl
Y29kZUdlbmVyYXRvci5jcHAKQEAgLTE3NTEsNiArMTc1MSwyMiBAQCBSZWdpc3RlcklEKiBCeXRl
Y29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwg
RnVuY0V4cAogICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChpbmRleCk7CiAgICAgcmV0dXJuIHIw
OwogfQorICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitSZWdpc3Rl
cklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJl
Z2lzdGVySUQqIHIwLCBGdW5jRXhwck5vZGUqIG4pCit7CisgICAgZW1pdFREWkNoZWNrKHRoaXNS
ZWdpc3RlcigpKTsKKyAgICBGdW5jdGlvbkJvZHlOb2RlKiBmdW5jdGlvbiA9IG4tPmJvZHkoKTsK
KyAgICB1bnNpZ25lZCBpbmRleCA9IG1fY29kZUJsb2NrLT5hZGRGdW5jdGlvbkV4cHIobWFrZUZ1
bmN0aW9uKGZ1bmN0aW9uKSk7CisgICAgCisgICAgZW1pdE9wY29kZShvcF9uZXdfYXJyb3dfZnVu
Y19leHApOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChyMC0+aW5kZXgoKSk7CisgICAgaW5z
dHJ1Y3Rpb25zKCkuYXBwZW5kKHNjb3BlUmVnaXN0ZXIoKS0+aW5kZXgoKSk7CisgICAgaW5zdHJ1
Y3Rpb25zKCkuYXBwZW5kKGluZGV4KTsKKyAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQodGhpc1Jl
Z2lzdGVyKCktPmluZGV4KCkpOworICAgIHJldHVybiByMDsKK30KKyNlbmRpZgogCiBSZWdpc3Rl
cklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0RlZmF1bHRDb25zdHJ1Y3RvcihSZWdpc3Rl
cklEKiBkc3QsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQsIGNvbnN0IElkZW50aWZp
ZXImIG5hbWUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggMmU1OTAzOWQzYTQ4NGEzNDcyODE0NDBlZWY5
YzFiODE5ZjcyNjVkYi4uMTc5MzVkNDhlZjNiZjJiMmQxNDFkZmRjMWFjOTM3Njc5MzE0NDJhNSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdl
bmVyYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNv
ZGVHZW5lcmF0b3IuaApAQCAtNDU2LDYgKzQ1NiwxMCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAg
ICAgUmVnaXN0ZXJJRCogZW1pdE5ld0Z1bmN0aW9uSW50ZXJuYWwoUmVnaXN0ZXJJRCogZHN0LCB1
bnNpZ25lZCBpbmRleCk7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5jdGlvbkV4cHJl
c3Npb24oUmVnaXN0ZXJJRCogZHN0LCBGdW5jRXhwck5vZGUqIGZ1bmMpOwogICAgICAgICBSZWdp
c3RlcklEKiBlbWl0TmV3RGVmYXVsdENvbnN0cnVjdG9yKFJlZ2lzdGVySUQqIGRzdCwgQ29uc3Ry
dWN0b3JLaW5kLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3QXJyb3dGdW5jdGlv
bkV4cHJlc3Npb24oUmVnaXN0ZXJJRCosIEZ1bmNFeHByTm9kZSopOworICAgICAgICBSZWdpc3Rl
cklEKiBlbWl0VGhpc05vZGVCeXRlY29kZShSZWdpc3RlcklEKiwgSlNUZXh0UG9zaXRpb24pOwor
I2VuZGlmCiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdSZWdFeHAoUmVnaXN0ZXJJRCogZHN0
LCBSZWdFeHAqKTsKIAogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TW92ZUVtcHR5VmFsdWUoUmVn
aXN0ZXJJRCogZHN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29t
cGlsZXIvTm9kZXNDb2RlZ2VuLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGls
ZXIvTm9kZXNDb2RlZ2VuLmNwcAppbmRleCAxMTQzMmFmMjNiYmI2MWU4MTU0MjUyM2I3YzExYWE3
YmRjYjVmM2JmLi42MWFlZjE0MDhjNDM2ZDc0YWIwOGY3YTJhMDY4Y2MyYjFmMDhjYzUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4u
Y3BwCkBAIC0yODMxLDYgKzI4MzEsMTQgQEAgUmVnaXN0ZXJJRCogRnVuY0V4cHJOb2RlOjplbWl0
Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCoKICAgICBy
ZXR1cm4gZ2VuZXJhdG9yLmVtaXROZXdGdW5jdGlvbkV4cHJlc3Npb24oZ2VuZXJhdG9yLmZpbmFs
RGVzdGluYXRpb24oZHN0KSwgdGhpcyk7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKSAgICAKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBBcnJvd0Z1
bmNFeHByTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1JlZ2lzdGVySUQq
IEFycm93RnVuY0V4cHJOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVy
YXRvciwgUmVnaXN0ZXJJRCogZHN0KQoreworICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdE5ld0Fy
cm93RnVuY3Rpb25FeHByZXNzaW9uKGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHRo
aXMpOworfQorI2VuZGlmCisgICAgCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAvLyAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ2xhc3NEZWNsTm9kZSAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0J5dGVDb2RlUGFyc2VyLmNwcAppbmRleCBkOTczODg1YzFjYTMyYTNjNmUyMDYwZjkwMWQ3MmEy
ODFiMTg3Yjc4Li4zZjNlYzEwYWVlYzZlNjAxOTkzODY0ZTgyZTAzOWFhNjkxYjJhMWU5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcApAQCAt
Mzc0NCw2ICszNzQ0LDE1IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWdu
ZWQgbGltaXQpCiAgICAgICAgICAgICBORVhUX09QQ09ERShvcF9uZXdfZnVuY19leHApOwogICAg
ICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBj
YXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDogeworICAgICAgICAgICAgRnVuY3Rpb25FeGVjdXRh
YmxlKiBleHByID0gbV9pbmxpbmVTdGFja1RvcC0+bV9wcm9maWxlZEJsb2NrLT5mdW5jdGlvbkV4
cHIoY3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZCk7CisgICAgICAgICAgICBGcm96ZW5W
YWx1ZSogZnJvemVuID0gbV9ncmFwaC5mcmVlemVTdHJvbmcoZXhwcik7CisgICAgICAgICAgICBz
ZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLAorICAg
ICAgICAgICAgICAgIGFkZFRvR3JhcGgoTmV3RnVuY3Rpb24sIE9wSW5mbyhmcm96ZW4pLCBnZXQo
VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpKSkpOworICAg
ICAgICAgICAgTkVYVF9PUENPREUob3BfbmV3X2Fycm93X2Z1bmNfZXhwKTsKKyAgICAgICAgfQor
I2VuZGlmCiAgICAgICAgIGNhc2Ugb3BfdHlwZW9mOiB7CiAgICAgICAgICAgICBzZXQoVmlydHVh
bFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLAogICAgICAgICAgICAg
ICAgIGFkZFRvR3JhcGgoVHlwZU9mLCBnZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVj
dGlvblsyXS51Lm9wZXJhbmQpKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdD
YXBhYmlsaXRpZXMuY3BwCmluZGV4IDMyMjIwZGQyYmE1YWY1ZDZhYjgxNzUzZWRlNzM4MmU5NTdk
NmZhYTguLjRjMzY1ZDlkMDc1Y2M2ZTdjNWUxNjZiMTllNjMyNDRjN2M3YzljODMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKQEAgLTIwNyw2ICsy
MDcsOSBAQCBDYXBhYmlsaXR5TGV2ZWwgY2FwYWJpbGl0eUxldmVsKE9wY29kZUlEIG9wY29kZUlE
LCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgSW5zdHJ1YwogICAgIGNhc2Ugb3BfbmV3X2Z1bmM6CiAg
ICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CiAgICAgY2FzZSBvcF9jcmVhdGVfbGV4aWNhbF9lbnZp
cm9ubWVudDoKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ug
b3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorI2VuZGlmCiAgICAgICAgIHJldHVybiBDYW5Db21waWxl
QW5kSW5saW5lOwogCiAgICAgY2FzZSBvcF9wdXRfdG9fc2NvcGU6IHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCmluZGV4IDE3ZGQzYjRm
NDVmNTZmZjIwMDIzZDczYjc1ZGM3ZDcwYjYzNDk2OGYuLjIwMDA1YzA3MTUzM2IxNjgzYWZkYTJk
NjJkYzY1YzAxNjdkOTEwOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9JbnRlcnByZXRlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVy
cHJldGVyL0ludGVycHJldGVyLmNwcApAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUgIkV4Y2Vw
dGlvbkhlbHBlcnMuaCIKICNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJKU0Fy
cmF5LmgiCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNCb3VuZEZ1
bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTTGV4aWNhbEVu
dmlyb25tZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxs
SGVscGVycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhlbHBlcnMuaAppbmRl
eCBmZDM0NGFkYmNhYmIxNWZiZDgxNGVkNmZiZDQ3OGY3NGI2MTU3NjNjLi4wN2FjZDZkNTMyZDMy
OGFmZGI3N2FjZjIwMTMzOTBlZjM5ZGQ5ZDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0NDYWxsSGVscGVycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
Q0NhbGxIZWxwZXJzLmgKQEAgLTI3NCw2ICsyNzQsMTUgQEAgcHVibGljOgogICAgICAgICBhZGRD
YWxsQXJndW1lbnQoYXJnMik7CiAgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmczKTsKICAgICB9
CisgICAgCisgICAgQUxXQVlTX0lOTElORSB2b2lkIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0
ZShHUFJSZWcgYXJnMSwgVHJ1c3RlZEltbVB0ciBhcmcyLCBHUFJSZWcgYXJnMykKKyAgICB7Cisg
ICAgICAgIHJlc2V0Q2FsbEFyZ3VtZW50cygpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQoR1BS
SW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMSk7
CisgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmcyKTsKKyAgICAgICAgYWRkQ2FsbEFyZ3VtZW50
KGFyZzMpOworICAgIH0KIAogICAgIEFMV0FZU19JTkxJTkUgdm9pZCBzZXR1cEFyZ3VtZW50c1dp
dGhFeGVjU3RhdGUoR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyLCBUcnVzdGVkSW1tMzIgYXJnMykK
ICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKaW5kZXggOGNkOWZiMTJlOGJmNGIwYzY4
NzM4ZWY4ZWZhNzdjNjVmMDg0YWZlOC4uNWJjOTE2YjhiMzQxZGE1Y2U1MWY2YjYyN2FmZTkwMmM0
NTgxMDAxOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcApAQCAtMjYwLDYgKzI2MCw3IEBA
IHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkKICAgICAgICAgREVGSU5FX09QKG9w
X25ld19hcnJheV9idWZmZXIpCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfZnVuYykKICAgICAg
ICAgREVGSU5FX09QKG9wX25ld19mdW5jX2V4cCkKKyAgICAgICAgREVGSU5FX09QKG9wX25ld19h
cnJvd19mdW5jX2V4cCkgCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfb2JqZWN0KQogICAgICAg
ICBERUZJTkVfT1Aob3BfbmV3X3JlZ2V4cCkKICAgICAgICAgREVGSU5FX09QKG9wX25vdCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVC5oCmluZGV4IDAxYTQxMjk2M2NlNTk4MzMyYWYxMTZiNjJjNzZjYWIy
OTJmZmExNzguLmQ1MDdmYWZmN2RjYmM5MmJhMmZkMGQ0OWFmOTE4NmMxZmZjYzJkYmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVQuaApAQCAtNTIxLDYgKzUyMSw3IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2FycmF5X2J1ZmZlcihJbnN0cnVjdGlvbiopOwogICAg
ICAgICB2b2lkIGVtaXRfb3BfbmV3X2Z1bmMoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBl
bWl0X29wX25ld19mdW5jX2V4cChJbnN0cnVjdGlvbiopOworICAgICAgICB2b2lkIGVtaXRfb3Bf
bmV3X2Fycm93X2Z1bmNfZXhwKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9u
ZXdfb2JqZWN0KEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfcmVnZXhw
KEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9ub3QoSW5zdHJ1Y3Rpb24qKTsK
QEAgLTcwMCw2ICs3MDEsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgTWFjcm9Bc3NlbWJs
ZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSkosIGludCwgR1BSUmVnLCBH
UFJSZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklU
T3BlcmF0aW9uX0VKc2MsIEdQUlJlZyk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNh
bGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0MsIGludCwgR1BSUmVnLCBKU0NlbGwqKTsK
KyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlv
bl9FSnNjQ0osIGludCwgR1BSUmVnLCBKU0NlbGwqLCBHUFJSZWcpOwogICAgICAgICBNYWNyb0Fz
c2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2NaLCBHUFJSZWcs
IGludDMyX3QpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENf
SklUT3BlcmF0aW9uX0VKc2NaLCBpbnQsIEdQUlJlZywgaW50MzJfdCk7CiAjaWYgVVNFKEpTVkFM
VUU2NCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKaW5kZXggOWVlMjRkMDky
MjhhOTg4MmVhNzY5NjI5ZDFhODdiNmMzNGE4NjMzNC4uYTBlNDBjNWM2MWZlNjNlOTg2M2VkMjIz
ZWRmNWQ0NTFmMzE4YTc3NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgK
QEAgLTI3MSw2ICsyNzEsMTIgQEAgQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBK
SVQ6OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0Mgb3BlcmEKICAgICByZXR1cm4g
YXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldEpTVmFsdWVSZXN1bHQob3BlcmF0aW9uLCBk
c3QpOwogfQogCitBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9w
ZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0ogb3BlcmF0aW9uLCBpbnQgZHN0LCBHUFJSZWcg
YXJnMSwgSlNDZWxsKiBjZWxsLCBHUFJSZWcgYXJnMikKK3sKKyAgICBzZXR1cEFyZ3VtZW50c1dp
dGhFeGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSwgYXJnMik7CisgICAgcmV0dXJu
IGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRKU1ZhbHVlUmVzdWx0KG9wZXJhdGlvbiwg
ZHN0KTsKK30KKyAgICAKIEFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpj
YWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VQIG9wZXJhdGlvbiwgaW50IGRzdCwgdm9pZCog
cG9pbnRlcikKIHsKICAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0
cihwb2ludGVyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9w
Y29kZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAppbmRl
eCA0ZTgyMWQwYzNkNWEzYzVlNjU4MGQxMDM5NmVjMjg4OTYzODg2YjU2Li5hYThhN2MxZjg2MTIx
Y2JkNmFlOWI4Njc2YTdiZDk0OTc0ODZjNGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVE9wY29kZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUT3Bjb2Rlcy5jcHAKQEAgLTk2NSw2ICs5NjUsMjkgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfbmV3
X2Z1bmNfZXhwKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgY2FsbE9wZXJh
dGlvbihvcGVyYXRpb25OZXdGdW5jdGlvbiwgZHN0LCByZWdUMCwgZnVuY0V4cHIpOwogICAgIGRv
bmUubGluayh0aGlzKTsKIH0KKyAgICAKK3ZvaWQgSklUOjplbWl0X29wX25ld19hcnJvd19mdW5j
X2V4cChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQoreworICAgIEp1bXAgbm90VW5k
ZWZpbmVkU2NvcGU7CisgICAgaW50IGRzdCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJh
bmQ7CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGN1cnJl
bnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQsIHJlZ1QwKTsKKyAgICBlbWl0R2V0VmlydHVhbFJl
Z2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvbls0XS51Lm9wZXJhbmQsIHJlZ1QxKTsKKyAgICBub3RV
bmRlZmluZWRTY29wZSA9IGJyYW5jaDY0KE5vdEVxdWFsLCByZWdUMCwgVHJ1c3RlZEltbTY0KEpT
VmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSkpOworICAgIHN0b3JlNjQoVHJ1c3RlZEltbTY0
KEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSksIEFkZHJlc3MoY2FsbEZyYW1lUmVnaXN0
ZXIsIHNpemVvZihSZWdpc3RlcikgKiBkc3QpKTsKKyNlbHNlCisgICAgZW1pdExvYWRQYXlsb2Fk
KGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQsIHJlZ1QwKTsKKyAgICBlbWl0TG9hZFBh
eWxvYWQoY3VycmVudEluc3RydWN0aW9uWzRdLnUub3BlcmFuZCwgcmVnVDEpOworICAgIG5vdFVu
ZGVmaW5lZFNjb3BlID0gYnJhbmNoMzIoTm90RXF1YWwsIHRhZ0ZvcihjdXJyZW50SW5zdHJ1Y3Rp
b25bMl0udS5vcGVyYW5kKSwgVHJ1c3RlZEltbTMyKEpTVmFsdWU6OlVuZGVmaW5lZFRhZykpOwor
ICAgIGVtaXRTdG9yZShkc3QsIGpzVW5kZWZpbmVkKCkpOworI2VuZGlmCisgICAgSnVtcCBkb25l
ID0ganVtcCgpOworICAgIG5vdFVuZGVmaW5lZFNjb3BlLmxpbmsodGhpcyk7CisgICAgCisgICAg
RnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlvbiA9IG1fY29kZUJsb2NrLT5mdW5jdGlvbkV4cHIo
Y3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZCk7CisgICAgY2FsbE9wZXJhdGlvbihvcGVy
YXRpb25OZXdBcnJvd0Z1bmN0aW9uLCBkc3QsIHJlZ1QwLCBmdW5jdGlvbiwgcmVnVDEpOworICAg
IGRvbmUubGluayh0aGlzKTsKK30KIAogdm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2FycmF5KEluc3Ry
dWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRPcGVyYXRpb25zLmNwcAppbmRleCBiZTM0MTgwOTFkYjMxZDA1ODg3M2Q3ZmQ4ZmYzMzZh
MDQ5Y2NkOGVhLi40OGEzMDA1MWIzNzRhNjBkMGY0OThlZGU4NGQwY2NhNTZiMjVhZWIxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTQyLDYgKzQy
LDggQEAKICNpbmNsdWRlICJIb3N0Q2FsbFJldHVyblZhbHVlLmgiCiAjaW5jbHVkZSAiSklULmgi
CiAjaW5jbHVkZSAiSklUVG9ERkdEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suaCIKKyNpbmNs
dWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNp
bmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDYXRjaFNjb3BlLmgiCiAjaW5jbHVk
ZSAiSlNGdW5jdGlvbk5hbWVTY29wZS5oIgpAQCAtOTYwLDYgKzk2MiwyNCBAQCBFbmNvZGVkSlNW
YWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Z1bmN0aW9uV2l0aEludmFsaWRhdGVkUmVh
bGxvY2F0aW9uV2F0YwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNGdW5jdGlvbjo6Y3Jl
YXRlV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludCh2bSwgc3RhdGljX2Nhc3Q8
RnVuY3Rpb25FeGVjdXRhYmxlKj4oZnVuY3Rpb25FeGVjdXRhYmxlKSwgc2NvcGUpKTsKIH0KIAor
CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24o
RXhlY1N0YXRlKiBleGVjLCBKU1Njb3BlKiBzY29wZSwgSlNDZWxsKiBmdW5jdGlvbkV4ZWN1dGFi
bGUsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSkKK3sKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIEFTU0VSVChmdW5jdGlvbkV4ZWN1dGFibGUtPmluaGVyaXRzKEZ1
bmN0aW9uRXhlY3V0YWJsZTo6aW5mbygpKSk7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAg
ICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CisKKyAgICBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZXhlYy0+Y2FsbGVlKCktPmdsb2JhbE9iamVjdCgpOwor
ICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Fycm93RnVuY3Rpb246OmNyZWF0ZSh2bSwgc2NvcGUs
IHN0YXRpY19jYXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KGZ1bmN0aW9uRXhlY3V0YWJsZSksIGds
b2JhbE9iamVjdCk7CisgICAgSlNBcnJheSogYm91bmRBcmdzID0gSlNBcnJheTo6dHJ5Q3JlYXRl
VW5pbml0aWFsaXplZCh2bSwgZ2xvYmFsT2JqZWN0LT5hcnJheVN0cnVjdHVyZUZvckluZGV4aW5n
VHlwZUR1cmluZ0FsbG9jYXRpb24oQXJyYXlXaXRoVW5kZWNpZGVkKSwgMCk7CisKKyAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTQm91bmRGdW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmpl
Y3QsIGZ1bmMsIEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpLCBib3VuZEFyZ3MsIDAsICIiKSk7
CisjZWxzZQorICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisjZW5k
aWYKK30KKwogSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3Rh
dGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52
bSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25z
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaAppbmRleCBjM2Zh
ZDVkNmYzM2FhMDUyYmQ3MGZiZjNhODc3OWM3NWJkM2Q1MDI3Li43NzQwNjgxYzhlMjBkYTc1NDFl
OTRlNTZhMDZkMDgzMDMxYjQ0OTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wZXJhdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9w
ZXJhdGlvbnMuaApAQCAtMjAsNyArMjAsNyBAQAogICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQogICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCiAjaWZu
ZGVmIEpJVE9wZXJhdGlvbnNfaApAQCAtMTE1LDYgKzExNSw3IEBAIHR5cGVkZWYgRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQUCkoRXhlY1N0YXRlKiwgdm9p
ZCosIHZvCiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJh
dGlvbl9FUFMpKEV4ZWNTdGF0ZSosIHZvaWQqLCBzaXplX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNW
YWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVBjKShFeGVjU3RhdGUqLCBJbnN0
cnVjdGlvbiopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRP
cGVyYXRpb25fRUpzY0MpKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKTsKK3R5cGVkZWYg
RW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VKc2NDSikoRXhl
Y1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlKTsKIHR5cGVkZWYgRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTUykoRXhlY1N0YXRl
Kiwgc2l6ZV90LCBzaXplX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
ICgqSl9KSVRPcGVyYXRpb25fRVNzaUNJKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyos
IEpTQ2VsbCosIFN0cmluZ0ltcGwqKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJB
VElPTiAoKkpfSklUT3BlcmF0aW9uX0VTc2lKSSkoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1Yklu
Zm8qLCBFbmNvZGVkSlNWYWx1ZSwgU3RyaW5nSW1wbCopOwpAQCAtMjc4LDYgKzI3OSw3IEBAIEVu
Y29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXlCdWZmZXJXaXRoUHJv
ZmlsZShFeGVjU3RhdGUqLCBBcnJhCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbk5ld0FycmF5V2l0aFNpemVBbmRQcm9maWxlKEV4ZWNTdGF0ZSosIEFycmF5QWxsb2NhdGlv
blByb2ZpbGUqLCBFbmNvZGVkSlNWYWx1ZSBzaXplKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNW
YWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Z1bmN0aW9uKEV4ZWNTdGF0ZSosIEpTU2Nv
cGUqLCBKU0NlbGwqKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbk5ld0Z1bmN0aW9uV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2lu
dChFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKikgV1RGX0lOVEVSTkFMOworRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKEV4ZWNTdGF0ZSos
IEpTU2NvcGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVSTkFMOwogSlNDZWxs
KiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUq
KSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5l
d1JlZ2V4cChFeGVjU3RhdGUqLCB2b2lkKikgV1RGX0lOVEVSTkFMOwogdm9pZCBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkhhbmRsZVdhdGNoZG9nVGltZXIoRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFM
OwpAQCAtNDA2LDQgKzQwOCwzIEBAIGlubGluZSBQX0pJVE9wZXJhdGlvbl9FQ2xpIG9wZXJhdGlv
bkxpbmtQb2x5bW9ycGhpY0NhbGxGb3IoUmVnaXN0ZXJQcmVzZXJ2YXRpb25NCiAjZW5kaWYgLy8g
RU5BQkxFKEpJVCkKIAogI2VuZGlmIC8vIEpJVE9wZXJhdGlvbnNfaAotCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAppbmRleCAwNjk3NTViNTMxMjVj
NDc0NGZkODhjMmIzNGYyNmViYmI1ODkzMTYyLi5jNjVhMDc2OTQ1ZjliMzZjYTY0MzE5ZmY2YzY4
ZDlmNTgwZDA4Y2ZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJ
bnRTbG93UGF0aHMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNs
b3dQYXRocy5jcHAKQEAgLTM4LDYgKzM4LDggQEAKICNpbmNsdWRlICJJbnRlcnByZXRlci5oIgog
I2luY2x1ZGUgIkpJVC5oIgogI2luY2x1ZGUgIkpJVEV4Y2VwdGlvbnMuaCIKKyNpbmNsdWRlICJK
U0Fycm93RnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRl
ICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNs
dWRlICJKU0NKU1ZhbHVlLmgiCkBAIC0xNzEsNiArMTczLDE1IEBAIG5hbWVzcGFjZSBKU0MgeyBu
YW1lc3BhY2UgTExJbnQgewogICAgICAgICBMTElOVF9SRVRVUk5fVFdPKHBjLCBfX3JjZl9leGVj
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIH0gd2hpbGUgKGZhbHNlKQog
CisgICAgCisjZGVmaW5lIExMSU5UX0NBTENfUFJPUEVSVFlfRk9SX0ZVTkNfRVhQUigpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBMTElOVF9CRUdJTigpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+Y29kZUJsb2NrKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgSlNTY29wZSogc2NvcGUgPSBleGVjLT51
bmNoZWNrZWRSKHBjWzJdLnUub3BlcmFuZCkuUmVnaXN0ZXI6OnNjb3BlKCk7ICAgICAgIFwKKyAg
ICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUgPSBjb2RlQmxvY2stPmZ1bmN0aW9uRXhw
cihwY1szXS51Lm9wZXJhbmQpOyAgXAorICAgIAorZW51bSBGdW5jdGlvbkV4cHJlc3Npb25UeXBl
IHsgQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25UeXBlLCBDb21tb25GdW5jdGlvbkV4cHJlc3Npb25U
eXBlfTsKKyAgICAKIGV4dGVybiAiQyIgU2xvd1BhdGhSZXR1cm5UeXBlIGxsaW50X3RyYWNlX29w
ZXJhbmQoRXhlY1N0YXRlKiBleGVjLCBJbnN0cnVjdGlvbiogcGMsIGludCBmcm9tV2hlcmUsIGlu
dCBvcGVyYW5kKQogewogICAgIExMSU5UX0JFR0lOKCk7CkBAIC0xMDAzLDE2ICsxMDE0LDM1IEBA
IExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuYykKICNlbmRpZgogICAgIExM
SU5UX1JFVFVSTihKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGNvZGVCbG9jay0+ZnVuY3Rpb25EZWNs
KHBjWzNdLnUub3BlcmFuZCksIHNjb3BlKSk7CiB9Ci0KKyAgICAKIExMSU5UX1NMT1dfUEFUSF9E
RUNMKHNsb3dfcGF0aF9uZXdfZnVuY19leHApCiB7Ci0gICAgTExJTlRfQkVHSU4oKTsKLSAgICBD
b2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVCbG9jaygpOwotICAgIEpTU2NvcGUqIHNj
b3BlID0gZXhlYy0+dW5jaGVja2VkUihwY1syXS51Lm9wZXJhbmQpLlJlZ2lzdGVyOjpzY29wZSgp
OwotICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZnVuY3Rpb24gPSBjb2RlQmxvY2stPmZ1bmN0aW9u
RXhwcihwY1szXS51Lm9wZXJhbmQpOwotICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Z1bmN0aW9u
OjpjcmVhdGUodm0sIGZ1bmN0aW9uLCBzY29wZSk7CisgICAgTExJTlRfQ0FMQ19QUk9QRVJUWV9G
T1JfRlVOQ19FWFBSKCk7CisKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNGdW5jdGlvbjo6Y3Jl
YXRlKHZtLCBleGVjdXRhYmxlLCBzY29wZSk7CisgICAgTExJTlRfUkVUVVJOKGZ1bmMpOworfQor
CisKK0xMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApCit7
CisgICAgTExJTlRfQ0FMQ19QUk9QRVJUWV9GT1JfRlVOQ19FWFBSKCk7CisKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gTExJTlRf
T1BfQyg0KS5qc1ZhbHVlKCk7CisgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGV4
ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKICAgICAKKyAgICBKU0Z1bmN0aW9uKiBmdW5j
ID0gSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUodm0sIHNjb3BlLCBleGVjdXRhYmxlLCBnbG9iYWxP
YmplY3QpOworICAgIAorICAgIEpTQXJyYXkqIGJvdW5kQXJncyA9IEpTQXJyYXk6OnRyeUNyZWF0
ZVVuaW5pdGlhbGl6ZWQodm0sIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGlu
Z1R5cGVEdXJpbmdBbGxvY2F0aW9uKEFycmF5V2l0aFVuZGVjaWRlZCksIDApOworICAgIAorICAg
IGNvbnN0IFN0cmluZyBmdW5jV2l0aG91dE5hbWUgPSAiIjsKKyAgICAKKyAgICBMTElOVF9SRVRV
Uk4oSlNCb3VuZEZ1bmN0aW9uOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgZnVuYywgdGhpc1Zh
bHVlLCBib3VuZEFyZ3MsIDAsIGZ1bmNXaXRob3V0TmFtZSkpOworI2Vsc2UKKyAgICBKU0Z1bmN0
aW9uKiBmdW5jID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBleGVjdXRhYmxlLCBzY29wZSk7CiAg
ICAgTExJTlRfUkVUVVJOKGZ1bmMpOworI2VuZGlmCiB9CiAKIHN0YXRpYyBTbG93UGF0aFJldHVy
blR5cGUgaGFuZGxlSG9zdENhbGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBJbnN0cnVjdGlvbiog
cGMsIEpTVmFsdWUgY2FsbGVlLCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGtpbmQpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCmluZGV4IDRiZjdkZWIwZmEw
YjZjNjQzOGUzNmY5NjMyMGUyZjY2OTczOWFmNjQuLmM3ZmFiOTY5MWMxOGI5Mzk1NmQwZWEyOWYz
Mzk1NjExOGM1ZTcxZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
TEludFNsb3dQYXRocy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNs
b3dQYXRocy5oCkBAIC05Niw2ICs5Niw3IEBAIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChz
bG93X3BhdGhfc3dpdGNoX2NoYXIpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3df
cGF0aF9zd2l0Y2hfc3RyaW5nKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3Bh
dGhfbmV3X2Z1bmMpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdf
ZnVuY19leHApOworTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdfYXJy
b3dfZnVuY19leHApOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9jYWxs
KTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfY29uc3RydWN0KTsKIExM
SU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfc2l6ZV9mcmFtZV9mb3JfdmFyYXJn
cyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc20KaW5kZXggNTQzZDllOTMzM2M1MTNlOTc2MTdiN2JkYTdmNjk5ODY2ODM4YTFlMC4u
MTgyYmJkOWU0ZWY3ODkyOGRhNTJmYmNlYzg4MmE1ZGYzNmRiNzk0MSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQpAQCAtMTE2
OSw2ICsxMTY5LDEwIEBAIF9sbGludF9vcF9uZXdfZnVuY19leHA6CiAgICAgY2FsbFNsb3dQYXRo
KF9sbGludF9zbG93X3BhdGhfbmV3X2Z1bmNfZXhwKQogICAgIGRpc3BhdGNoKDQpCiAKK19sbGlu
dF9vcF9uZXdfYXJyb3dfZnVuY19leHA6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxT
bG93UGF0aChfbGxpbnRfc2xvd19wYXRoX25ld19hcnJvd19mdW5jX2V4cCkKKyAgICBkaXNwYXRj
aCg1KQogCiBfbGxpbnRfb3BfY2FsbDoKICAgICB0cmFjZUV4ZWN1dGlvbigpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCmluZGV4IGI4ZmU0Yjg0ODVhMDk3Njg4ZjVj
NjMwYmQ4YzNjOTY3NjRmYzQ2NDkuLmYyZmEzYmQ5YzE1ZjRlNDIyZWVjNmE3OWQ2NWYxZDcwODZj
NjJjNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRl
ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCkBAIC0z
MTMsNiArMzEzLDE5IEBAIHB1YmxpYzoKICAgICAgICAgICAgIGluU3RyaWN0Q29udGV4dCwgY29u
c3RydWN0b3JLaW5kKTsKICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgIEV4cHJlc3Npb25Ob2RlKiBjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihjb25zdCBK
U1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88QVNUQnVp
bGRlcj4mIGluZm8pCisgICAgeworICAgICAgICBTb3VyY2VDb2RlIHNvdXJjZSA9IGluZm8uZnVu
Y3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24KKyAgICAgICAgPyBt
X3NvdXJjZUNvZGUtPnN1YkFycm93RXhwcmVzc2lvbihpbmZvLmFycm93RnVuY3Rpb25PZmZzZXQs
IGluZm8uY2xvc2VCcmFjZU9mZnNldCwgaW5mby5ib2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlTdGFy
dENvbHVtbikKKyAgICAgICAgOiBtX3NvdXJjZUNvZGUtPnN1YkV4cHJlc3Npb24oaW5mby5vcGVu
QnJhY2VPZmZzZXQsIGluZm8uY2xvc2VCcmFjZU9mZnNldCwgaW5mby5ib2R5U3RhcnRMaW5lLCBp
bmZvLmJvZHlTdGFydENvbHVtbik7CisKKyAgICAgICAgQXJyb3dGdW5jRXhwck5vZGUqIHJlc3Vs
dCA9IG5ldyAobV9wYXJzZXJBcmVuYSkgQXJyb3dGdW5jRXhwck5vZGUobG9jYXRpb24sICppbmZv
Lm5hbWUsIGluZm8uYm9keSwgc291cmNlLCBpbmZvLnBhcmFtZXRlcnMpOworICAgICAgICBpbmZv
LmJvZHktPnNldExvYyhpbmZvLmJvZHlTdGFydExpbmUsIGluZm8uYm9keUVuZExpbmUsIGxvY2F0
aW9uLnN0YXJ0T2Zmc2V0LCBsb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQpOworICAgICAgICByZXR1
cm4gcmVzdWx0OworICAgIH0KKyNlbmRpZgorCiAgICAgTkVWRVJfSU5MSU5FIFByb3BlcnR5Tm9k
ZSogY3JlYXRlR2V0dGVyT3JTZXR0ZXJQcm9wZXJ0eShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxv
Y2F0aW9uLCBQcm9wZXJ0eU5vZGU6OlR5cGUgdHlwZSwgYm9vbCwKICAgICAgICAgY29uc3QgSWRl
bnRpZmllciogbmFtZSwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPEFTVEJ1aWxkZXI+JiBpbmZv
LCBTdXBlckJpbmRpbmcgc3VwZXJCaW5kaW5nKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9MZXhlci5jcHAKaW5kZXggN2RlMTQyMjBiYmRhNzI3MzhiNTczYTRiOTc4OGNlMGIzMmNj
N2NlMy4uNTQwZjlmZmI3YmI1MTgyOWQ2N2RlZWRlYzVlNmE4ZWQ1MWNjNDQxNCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKQEAgLTE0MzAsNiArMTQzMCwxOCBAQCBib29s
IExleGVyPFQ+OjpuZXh0VG9rZW5Jc0NvbG9uKCkKICAgICByZXR1cm4gY29kZSA8IG1fY29kZUVu
ZCAmJiAqY29kZSA9PSAnOic7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIFQ+Cit2b2lkIExleGVyPFQ+OjpzZXRUb2tlblBvc2l0
aW9uKEpTVG9rZW4qIHRva2VuUmVjb3JkKQoreworICAgIEpTVG9rZW5EYXRhKiB0b2tlbkRhdGEg
PSAmdG9rZW5SZWNvcmQtPm1fZGF0YTsKKyAgICB0b2tlbkRhdGEtPmxpbmUgPSBsaW5lTnVtYmVy
KCk7CisgICAgdG9rZW5EYXRhLT5vZmZzZXQgPSBjdXJyZW50T2Zmc2V0KCk7CisgICAgdG9rZW5E
YXRhLT5saW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0KCk7CisgICAgQVNT
RVJUKHRva2VuRGF0YS0+b2Zmc2V0ID49IHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0KTsKK30K
KyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KIEpTVG9rZW5UeXBlIExleGVyPFQ+Ojps
ZXgoSlNUb2tlbiogdG9rZW5SZWNvcmQsIHVuc2lnbmVkIGxleGVyRmxhZ3MsIGJvb2wgc3RyaWN0
TW9kZSkKIHsKQEAgLTE0OTMsNyArMTUwNSwxMiBAQCBzdGFydDoKICAgICAgICAgfQogICAgICAg
ICB0b2tlbiA9IEdUOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIENoYXJhY3RlckVxdWFsOgor
ICAgIGNhc2UgQ2hhcmFjdGVyRXF1YWw6IHsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgICAgICB1aW50MzJfdCBzYXZlZGxpbmVOdW1iZXIgPSB0b2tlbkRhdGEtPmxp
bmU7CisgICAgICAgIHVpbnQzMl90IHNhdmVkT2Zmc2V0ID0gY3VycmVudE9mZnNldCgpOworICAg
ICAgICB1aW50MzJfdCBzYXZlZExpbmVTdGFydE9mZnNldCA9IGN1cnJlbnRMaW5lU3RhcnRPZmZz
ZXQoKTsKKyNlbmRpZgogICAgICAgICBzaGlmdCgpOwogICAgICAgICBpZiAobV9jdXJyZW50ID09
ICc9JykgewogICAgICAgICAgICAgc2hpZnQoKTsKQEAgLTE1MDUsOCArMTUyMiwyMiBAQCBzdGFy
dDoKICAgICAgICAgICAgIHRva2VuID0gRVFFUTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKG1f
Y3VycmVudCA9PSAnPicpIHsKKyAgICAgICAgICAgIHNoaWZ0KCk7CisgICAgICAgICAgICB0b2tl
biA9IEFSUk9XRlVOQ1RJT047CisKKyAgICAgICAgICAgIHRva2VuRGF0YS0+bGluZSA9IHNhdmVk
bGluZU51bWJlcjsKKyAgICAgICAgICAgIHRva2VuRGF0YS0+b2Zmc2V0ID0gc2F2ZWRPZmZzZXQ7
CisgICAgICAgICAgICB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCA9IHNhdmVkTGluZVN0YXJ0
T2Zmc2V0OworCisgICAgICAgICAgICBBU1NFUlQodG9rZW5EYXRhLT5vZmZzZXQgPj0gdG9rZW5E
YXRhLT5saW5lU3RhcnRPZmZzZXQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyNl
bmRpZgogICAgICAgICB0b2tlbiA9IEVRVUFMOwogICAgICAgICBicmVhazsKKyAgICB9CiAgICAg
Y2FzZSBDaGFyYWN0ZXJMZXNzOgogICAgICAgICBzaGlmdCgpOwogICAgICAgICBpZiAobV9jdXJy
ZW50ID09ICchJyAmJiBwZWVrKDEpID09ICctJyAmJiBwZWVrKDIpID09ICctJykgewpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCmluZGV4IDJkZjUyMTM5OTU3ODIwMDc4NWExNjZlMjJh
NzMyNzVlMGVhNjMwNGQuLmNiM2YyNWY3YzA4ZjgyNTgxYWYyY2U4ZmE5OTk5N2ZhZGUwNzY2ZjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKQEAgLTg1LDYgKzg1LDkgQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0SXNSZXBhcnNpbmcoKSB7IG1faXNSZXBhcnNpbmcgPSB0cnVlOyB9
CiAgICAgYm9vbCBpc1JlcGFyc2luZygpIGNvbnN0IHsgcmV0dXJuIG1faXNSZXBhcnNpbmc7IH0K
IAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdm9pZCBzZXRUb2tl
blBvc2l0aW9uKEpTVG9rZW4qIHRva2VuUmVjb3JkKTsKKyNlbmRpZgogICAgIEpTVG9rZW5UeXBl
IGxleChKU1Rva2VuKiwgdW5zaWduZWQsIGJvb2wgc3RyaWN0TW9kZSk7CiAgICAgYm9vbCBuZXh0
VG9rZW5Jc0NvbG9uKCk7CiAgICAgaW50IGxpbmVOdW1iZXIoKSBjb25zdCB7IHJldHVybiBtX2xp
bmVOdW1iZXI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9k
ZUNvbnN0cnVjdG9ycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3Ry
dWN0b3JzLmgKaW5kZXggM2JkYWI2MWE1MjJlMGNlMmMzMzk3ZjgwZjRmYTE4NGQxZDQyMTYwZS4u
YjU4ZTFmZTFhZjkwZTY2MGIwODQyZWE3ZTk5ZjA3YWU2YWNiYjk1ZSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKQEAgLTc4MSw2ICs3ODEs
MTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIG1fYm9keS0+ZmluaXNoUGFyc2luZyhzb3Vy
Y2UsIHBhcmFtZXRlciwgaWRlbnQsIEZ1bmN0aW9uRXhwcmVzc2lvbik7CiAgICAgfQogCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpbmxpbmUgQXJyb3dGdW5jRXhw
ck5vZGU6OkFycm93RnVuY0V4cHJOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24s
IGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBGdW5jdGlvbkJvZHlOb2RlKiBib2R5LCBjb25zdCBT
b3VyY2VDb2RlJiBzb3VyY2UsIFBhcmFtZXRlck5vZGUqIHBhcmFtZXRlcikKKyAgICAgICAgOiBG
dW5jRXhwck5vZGUobG9jYXRpb24sIGlkZW50LCBib2R5LCBzb3VyY2UsIHBhcmFtZXRlcikKKyAg
ICB7CisgICAgfQorI2VuZGlmCisgICAgCiAgICAgaW5saW5lIEZ1bmNEZWNsTm9kZTo6RnVuY0Rl
Y2xOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IElkZW50aWZpZXIm
IGlkZW50LCBGdW5jdGlvbkJvZHlOb2RlKiBib2R5LCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2Us
IFBhcmFtZXRlck5vZGUqIHBhcmFtZXRlcikKICAgICAgICAgOiBTdGF0ZW1lbnROb2RlKGxvY2F0
aW9uKQogICAgICAgICAsIG1fYm9keShib2R5KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9Ob2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rl
cy5oCmluZGV4IDZiMzczMjljMDliZmM0MmJlY2NjM2NhYTk4MzU5N2MzNTQwMmI2YzkuLjViNzc0
MWUxY2NjOGQ1MTVmZjE0YzE1MzE3MmQ3YmRhMDUzZjU4NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL05vZGVzLmgKQEAgLTE1OCw2ICsxNTgsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAg
ICAgdmlydHVhbCBib29sIGlzRG90QWNjZXNzb3JOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzRGVjb25zdHJ1Y3Rpb25Ob2RlKCkgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzRnVuY0V4cHJOb2RlKCkgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNBcnJvd0Z1bmNFeHByTm9kZSgpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9CisjZW5kaWYKICAgICAgICAgdmlydHVhbCBib29sIGlzQ29tbWFOb2RlKCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzU2ltcGxlQXJy
YXkoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNBZGQo
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpAQCAtMTY1Miw2ICsxNjU1LDE5IEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgICAgICBGdW5jdGlvbkJvZHlOb2RlKiBtX2JvZHk7CiAgICAgfTsKIAorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2xhc3MgQXJyb3dGdW5jRXhw
ck5vZGUgOiBwdWJsaWMgRnVuY0V4cHJOb2RlIHsKKyAgICBwdWJsaWM6CisgICAgICAgIEFycm93
RnVuY0V4cHJOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IElkZW50aWZpZXImLCBG
dW5jdGlvbkJvZHlOb2RlKiwgY29uc3QgU291cmNlQ29kZSYsIFBhcmFtZXRlck5vZGUqID0gMCk7
CisgICAgcHJpdmF0ZToKKyAgICAgICAgdmlydHVhbCBSZWdpc3RlcklEKiBlbWl0Qnl0ZWNvZGUo
Qnl0ZWNvZGVHZW5lcmF0b3ImLCBSZWdpc3RlcklEKiA9IDApIG92ZXJyaWRlOworICAgICAgICAK
KyAgICAgICAgdmlydHVhbCBib29sIGlzRnVuY0V4cHJOb2RlKCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gZmFsc2U7IH0KKyAgICAgICAgCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Fycm93RnVu
Y0V4cHJOb2RlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQorICAgIH07CisjZW5k
aWYKKwogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogICAgIGNsYXNzIENsYXNzRXhwck5v
ZGUgZmluYWwgOiBwdWJsaWMgRXhwcmVzc2lvbk5vZGUgewogICAgIHB1YmxpYzoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAppbmRleCA2NDc4MjBhZDgzZGY0NDNkMzBkMDRj
ZmFlMjI1NGZhZWM5NzA3YWI1Li45NWIzNjUyZjE4NjczNmNjOWRkOTdkNmQ0YmNmMDYwMmQ3YWU0
OWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCkBAIC0yNjQsNyAr
MjY0LDcgQEAgU3RyaW5nIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlubmVyKCkKICAgICBpZiAo
bV9sZXhlci0+aXNSZXBhcnNpbmcoKSkKICAgICAgICAgbV9zdGF0ZW1lbnREZXB0aC0tOwogICAg
IFNjb3BlUmVmIHNjb3BlID0gY3VycmVudFNjb3BlKCk7Ci0gICAgU291cmNlRWxlbWVudHMqIHNv
dXJjZUVsZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBDaGVja0ZvclN0cmlj
dE1vZGUpOworICAgIFNvdXJjZUVsZW1lbnRzKiBzb3VyY2VFbGVtZW50cyA9IHBhcnNlU291cmNl
RWxlbWVudHMoY29udGV4dCwgQ2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFy
c2VUeXBlKTsKICAgICBpZiAoIXNvdXJjZUVsZW1lbnRzIHx8ICFjb25zdW1lKEVPRlRPSykpIHsK
ICAgICAgICAgaWYgKGhhc0Vycm9yKCkpCiAgICAgICAgICAgICBwYXJzZUVycm9yID0gbV9lcnJv
ck1lc3NhZ2U7CkBAIC0zMzAsNyArMzMwLDcgQEAgYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6YWxs
b3dBdXRvbWF0aWNTZW1pY29sb24oKQogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBl
PgotdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNv
dXJjZUVsZW1lbnRzTW9kZSBtb2RlKQordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
U291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMoVHJl
ZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZUVsZW1lbnRzTW9kZSBtb2RlLCBGdW5jdGlvblBhcnNl
VHlwZSBmdW5jdGlvblBhcnNlVHlwZSkKIHsKICAgICBjb25zdCB1bnNpZ25lZCBsZW5ndGhPZlVz
ZVN0cmljdExpdGVyYWwgPSAxMjsgLy8gInVzZSBzdHJpY3QiLmxlbmd0aAogICAgIFRyZWVTb3Vy
Y2VFbGVtZW50cyBzb3VyY2VFbGVtZW50cyA9IGNvbnRleHQuY3JlYXRlU291cmNlRWxlbWVudHMo
KTsKQEAgLTMzOSw3ICszMzksNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
b3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3VyY2VFbAogICAgIHVuc2ln
bmVkIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwOwogICAgIGF1dG8gc2F2ZVBvaW50ID0gY3Jl
YXRlU2F2ZVBvaW50KCk7CiAgICAgYm9vbCBoYXNTZXRTdHJpY3QgPSBmYWxzZTsKLSAgICB3aGls
ZSAoVHJlZVN0YXRlbWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVudChjb250ZXh0LCBkaXJl
Y3RpdmUsICZkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoKSkgeworICAgIHdoaWxlIChUcmVlU3RhdGVt
ZW50IHN0YXRlbWVudCA9IHBhcnNlU3RhdGVtZW50KGNvbnRleHQsIGRpcmVjdGl2ZSwgJmRpcmVj
dGl2ZUxpdGVyYWxMZW5ndGgsIGZ1bmN0aW9uUGFyc2VUeXBlKSkgewogICAgICAgICBpZiAobW9k
ZSA9PSBDaGVja0ZvclN0cmljdE1vZGUgJiYgIXNlZW5Ob25EaXJlY3RpdmUpIHsKICAgICAgICAg
ICAgIGlmIChkaXJlY3RpdmUpIHsKICAgICAgICAgICAgICAgICAvLyAidXNlIHN0cmljdCIgbXVz
dCBiZSB0aGUgZXhhY3QgbGl0ZXJhbCB3aXRob3V0IGVzY2FwZSBzZXF1ZW5jZXMgb3IgbGluZSBj
b250aW51YXRpb24uCkBAIC01NzEsNiArNTcxLDMxIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6Y3JlYXRl
CiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlQmluZGluZ0xvY2F0aW9uKHRva2VuLm1fbG9jYXRp
b24sIG5hbWUsIHRva2VuLm1fc3RhcnRQb3NpdGlvbiwgdG9rZW4ubV9lbmRQb3NpdGlvbik7CiB9
CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVu
YW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVu
dCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVCdWls
ZGVyJiBjb250ZXh0KQoreworICAgIEFTU0VSVChtYXRjaChBUlJPV0ZVTkNUSU9OKSk7CisKKyAg
ICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICBKU1RleHRQ
b3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgIEpTVGV4dFBvc2l0aW9u
IGVuZCA9IHRva2VuRW5kUG9zaXRpb24oKTsKKworICAgIG5leHQoKTsKKyAgICBUcmVlRXhwcmVz
c2lvbiBleHByID0gcGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICBm
YWlsSWZGYWxzZShleHByLCAiQ2Fubm90IHBhcnNlIHRoZSBhcnJvdyBmdW5jdGlvbiBleHByZXNz
aW9uIik7CisgICAgZW5kID0gbGFzdFRva2VuRW5kUG9zaXRpb24oKTsKKworICAgIGJvb2wgY29y
cmVjdEFycm93RmluaXNoID0gaXNFbmRPZkFycm93RnVuY3Rpb24oKSB8fCBtYXRjaChFT0ZUT0sp
OworICAgIGZhaWxJZkZhbHNlKGNvcnJlY3RBcnJvd0ZpbmlzaCwgIkV4cGVjdGVkIGEgJzsnLCAn
XScsICd9JywgJyknLCBvciAnLCcgZm9sbG93aW5nIGEgYXJyb3cgZnVuY3Rpb24gc3RhdGVtZW50
Iik7CisKKyAgICBlbmQgPSB0b2tlbkVuZFBvc2l0aW9uKCk7CisgICAgc2V0RW5kT2ZTdGF0ZW1l
bnQoKTsKKworICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJldHVyblN0YXRlbWVudChsb2NhdGlv
biwgZXhwciwgc3RhcnQsIGVuZCk7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIExl
eGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlY29uc3RydWN0aW9u
UGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6dHJ5UGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm5F
eHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewpAQCAtMTAxOCw3ICsxMDQzLDcgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhdXNlTGlzdCBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VTd2l0Y2hDbGF1c2UKICAgICBUcmVlRXhwcmVzc2lvbiBjb25kaXRpb24gPSBw
YXJzZUV4cHJlc3Npb24oY29udGV4dCk7CiAgICAgZmFpbElmRmFsc2UoY29uZGl0aW9uLCAiQ2Fu
bm90IHBhcnNlIHN3aXRjaCBjbGF1c2UiKTsKICAgICBjb25zdW1lT3JGYWlsKENPTE9OLCAiRXhw
ZWN0ZWQgYSAnOicgYWZ0ZXIgc3dpdGNoIGNsYXVzZSBleHByZXNzaW9uIik7Ci0gICAgVHJlZVNv
dXJjZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERv
bnRDaGVja0ZvclN0cmljdE1vZGUpOworICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRz
ID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlLCBT
dGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICBmYWlsSWZGYWxzZShzdGF0ZW1lbnRzLCAi
Q2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIGEgc3dpdGNoIGNsYXVzZSIpOwogICAgIFRyZWVDbGF1
c2UgY2xhdXNlID0gY29udGV4dC5jcmVhdGVDbGF1c2UoY29uZGl0aW9uLCBzdGF0ZW1lbnRzKTsK
ICAgICBjb250ZXh0LnNldFN0YXJ0T2Zmc2V0KGNsYXVzZSwgc3RhcnRPZmZzZXQpOwpAQCAtMTAz
MSw3ICsxMDU2LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhdXNlTGlz
dCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTd2l0Y2hDbGF1c2UKICAgICAgICAgVHJlZUV4cHJl
c3Npb24gY29uZGl0aW9uID0gcGFyc2VFeHByZXNzaW9uKGNvbnRleHQpOwogICAgICAgICBmYWls
SWZGYWxzZShjb25kaXRpb24sICJDYW5ub3QgcGFyc2Ugc3dpdGNoIGNhc2UgZXhwcmVzc2lvbiIp
OwogICAgICAgICBjb25zdW1lT3JGYWlsKENPTE9OLCAiRXhwZWN0ZWQgYSAnOicgYWZ0ZXIgc3dp
dGNoIGNsYXVzZSBleHByZXNzaW9uIik7Ci0gICAgICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0
ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RN
b2RlKTsKKyAgICAgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJj
ZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUsIFN0YW5kYXJkRnVuY3Rp
b25QYXJzZVR5cGUpOwogICAgICAgICBmYWlsSWZGYWxzZShzdGF0ZW1lbnRzLCAiQ2Fubm90IHBh
cnNlIHRoZSBib2R5IG9mIGEgc3dpdGNoIGNsYXVzZSIpOwogICAgICAgICBjbGF1c2UgPSBjb250
ZXh0LmNyZWF0ZUNsYXVzZShjb25kaXRpb24sIHN0YXRlbWVudHMpOwogICAgICAgICBjb250ZXh0
LnNldFN0YXJ0T2Zmc2V0KGNsYXVzZSwgc3RhcnRPZmZzZXQpOwpAQCAtMTA0OCw3ICsxMDczLDcg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhdXNlIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZVN3aXRjaERlZmF1bHRDbGEKICAgICB1bnNpZ25lZCBzdGFydE9mZnNldCA9IHRv
a2VuU3RhcnQoKTsKICAgICBuZXh0KCk7CiAgICAgY29uc3VtZU9yRmFpbChDT0xPTiwgIkV4cGVj
dGVkIGEgJzonIGFmdGVyIHN3aXRjaCBkZWZhdWx0IGNsYXVzZSIpOwotICAgIFRyZWVTb3VyY2VF
bGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hl
Y2tGb3JTdHJpY3RNb2RlKTsKKyAgICBUcmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBh
cnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRh
cmRGdW5jdGlvblBhcnNlVHlwZSk7CiAgICAgZmFpbElmRmFsc2Uoc3RhdGVtZW50cywgIkNhbm5v
dCBwYXJzZSB0aGUgYm9keSBvZiBhIHN3aXRjaCBkZWZhdWx0IGNsYXVzZSIpOwogICAgIFRyZWVD
bGF1c2UgcmVzdWx0ID0gY29udGV4dC5jcmVhdGVDbGF1c2UoMCwgc3RhdGVtZW50cyk7CiAgICAg
Y29udGV4dC5zZXRTdGFydE9mZnNldChyZXN1bHQsIHN0YXJ0T2Zmc2V0KTsKQEAgLTExMzMsNyAr
MTE1OCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VCbG9ja1N0YXRlbWVuCiAgICAgICAgIGNvbnRleHQuc2V0RW5k
T2Zmc2V0KHJlc3VsdCwgZW5kT2Zmc2V0KTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9
Ci0gICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN1YnRyZWUgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNv
bnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUpOworICAgIFRyZWVTb3VyY2VFbGVtZW50cyBz
dWJ0cmVlID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RN
b2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICBmYWlsSWZGYWxzZShzdWJ0cmVl
LCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIHRoZSBibG9jayBzdGF0ZW1lbnQiKTsKICAgICBt
YXRjaE9yRmFpbChDTE9TRUJSQUNFLCAiRXhwZWN0ZWQgYSBjbG9zaW5nICd9JyBhdCB0aGUgZW5k
IG9mIGEgYmxvY2sgc3RhdGVtZW50Iik7CiAgICAgaW50IGVuZE9mZnNldCA9IG1fdG9rZW4ubV9k
YXRhLm9mZnNldDsKQEAgLTExNDUsNyArMTE3MCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VCbG9ja1N0YXRlbWVu
CiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Ci10ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50
KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNp
Z25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCkKK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1
aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBk
aXJlY3RpdmVMaXRlcmFsTGVuZ3RoLCBGdW5jdGlvblBhcnNlVHlwZSBwYXJzZVR5cGUpCiB7CiAg
ICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKICAgICBt
X3N0YXRlbWVudERlcHRoKys7CkBAIC0xMTU0LDYgKzExNzksMjMgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRl
bWVudChUcmUKICAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7CiAgICAgVHJlZVN0YXRlbWVudCBy
ZXN1bHQgPSAwOwogICAgIGJvb2wgc2hvdWxkU2V0RW5kT2Zmc2V0ID0gdHJ1ZTsKKworI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJv
d0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsK
KyAgICAgICAgY2FzZSBDTE9TRVBBUkVOOgorICAgICAgICBjYXNlIENMT1NFQlJBQ0tFVDoKKyAg
ICAgICAgY2FzZSBDT01NQToKKyAgICAgICAgY2FzZSBTRU1JQ09MT046IHsKKyAgICAgICAgICAg
IHJlc3VsdCA9IDA7CisgICAgICAgICAgICBjb250ZXh0LnNldEVuZE9mZnNldChyZXN1bHQsIG1f
bGFzdFRva2VuRW5kUG9zaXRpb24ub2Zmc2V0KTsKKyAgICAgICAgICAgIHJldHVybiByZXN1bHQ7
CisgICAgICAgIH0KKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICB9CisgICAgfQorI2VuZGlmCiAgICAgc3dpdGNoIChtX3Rva2VuLm1fdHlwZSkgewogICAgIGNh
c2UgT1BFTkJSQUNFOgogICAgICAgICByZXN1bHQgPSBwYXJzZUJsb2NrU3RhdGVtZW50KGNvbnRl
eHQpOwpAQCAtMTE5OSw2ICsxMjQxLDE1IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAg
Y2FzZSBCUkVBSzoKICAgICAgICAgcmVzdWx0ID0gcGFyc2VCcmVha1N0YXRlbWVudChjb250ZXh0
KTsKICAgICAgICAgYnJlYWs7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICBjYXNlIEFSUk9XRlVOQ1RJT046CisgICAgICAgIHJlc3VsdCA9IHBhcnNlQXJyb3dGdW5j
dGlvblN0YXRlbWVudChjb250ZXh0KTsKKyAgICAgICAgLy8gQ29uc3VtZSB0aGUgZW5kIG9mIGFy
cm93IGZ1bmN0aW9uICw7XSkgYW5kIHByZXZlbnQKKyAgICAgICAgLy8gcGFyc2UgdGhpcyBzeW1i
b2xzIGJ5IHBhcnNlU3RhdGVtZW50IGFzIHNlcGFyYXRlIHN0YXRlbWVudAorICAgICAgICBpZiAo
cGFyc2VUeXBlID09IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpCisgICAgICAgICAgICBuZXh0
KCk7CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgY2FzZSBSRVRVUk46CiAgICAgICAgIHJl
c3VsdCA9IHBhcnNlUmV0dXJuU3RhdGVtZW50KGNvbnRleHQpOwogICAgICAgICBicmVhazsKQEAg
LTEyNjMsMjAgKzEzMTQsMzQgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRm9y
bWFsUGFyYW1ldGVyTGlzdCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGb3IKIHRlbXBsYXRlIDx0
eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGdW5j
dGlvbkJvZHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25Cb2R5KAogICAgIFRyZWVC
dWlsZGVyJiBjb250ZXh0LCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5h
bWVTdGFydCwgCi0gICAgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kIGNvbnN0
cnVjdG9yS2luZCkKKyAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQgY29u
c3RydWN0b3JLaW5kLCBGdW5jdGlvblBhcnNlVHlwZSBwYXJzZVR5cGUpCiB7CiAgICAgSlNUb2tl
bkxvY2F0aW9uIHN0YXJ0TG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKICAgICB1bnNpZ25lZCBz
dGFydENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBlID09IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUp
IHsKKyAgICAgICAgbmV4dCgpOworICAgICAgICBpZiAobWF0Y2goQ0xPU0VCUkFDRSkpIHsKKyAg
ICAgICAgICAgIHVuc2lnbmVkIGVuZENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CisgICAgICAgICAg
ICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgdG9rZW5M
b2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBmdW5jdGlvbktleXdvcmRTdGFydCwg
ZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgc3RyaWN0TW9kZSgpLCBjb25zdHJ1
Y3RvcktpbmQpOworICAgICAgICB9CisgICAgfQorI2Vsc2UKICAgICBuZXh0KCk7Ci0KICAgICBp
ZiAobWF0Y2goQ0xPU0VCUkFDRSkpIHsKICAgICAgICAgdW5zaWduZWQgZW5kQ29sdW1uID0gdG9r
ZW5Db2x1bW4oKTsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0
YXJ0TG9jYXRpb24sIHRva2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgZnVu
Y3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0
cmljdE1vZGUoKSwgY29uc3RydWN0b3JLaW5kKTsKICAgICB9CisjZW5kaWYKKwogICAgIERlcHRo
TWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7CiAgICAgbV9zdGF0ZW1l
bnREZXB0aCA9IDA7CiAgICAgdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkZ1bmN0aW9uQm9keUJ1aWxk
ZXIgYm9keUJ1aWxkZXIoY29uc3RfY2FzdDxWTSo+KG1fdm0pLCBtX2xleGVyLmdldCgpKTsKLSAg
ICBmYWlsSWZGYWxzZShwYXJzZVNvdXJjZUVsZW1lbnRzKGJvZHlCdWlsZGVyLCBDaGVja0ZvclN0
cmljdE1vZGUpLCAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBmdW5jdGlvbiIpOworI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgZmFpbElmRmFsc2UocGFyc2VTb3Vy
Y2VFbGVtZW50cyhib2R5QnVpbGRlciwgQ2hlY2tGb3JTdHJpY3RNb2RlLCBwYXJzZVR5cGUpLCBw
YXJzZVR5cGUgPT0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSA/ICJDYW5ub3QgcGFyc2UgYm9k
eSBvZiB0aGlzIGZ1bmN0aW9uIiA6ICJDYW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGFycm93IGZ1
bmN0aW9uIik7CisjZWxzZQorICAgIGZhaWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMoYm9k
eUJ1aWxkZXIsIENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSks
ICJDYW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGZ1bmN0aW9uIik7CisjZW5kaWYKICAgICB1bnNp
Z25lZCBlbmRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOwogICAgIHJldHVybiBjb250ZXh0LmNyZWF0
ZUZ1bmN0aW9uQm9keShzdGFydExvY2F0aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0YXJ0Q29sdW1u
LCBlbmRDb2x1bW4sIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFy
YW1ldGVyc1N0YXJ0LCBzdHJpY3RNb2RlKCksIGNvbnN0cnVjdG9yS2luZCk7CiB9CkBAIC0xMzM3
LDI4ICsxNDAyLDc2IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+IHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gaW50IFBhcnNlcjxMZXhlclR5cGU+CiAgICAgCiAgICAgcmV0dXJu
IHBhcmFtZXRlcnNTdGFydDsKIH0KKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IGludCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uUGFyYW10ZXJz
KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLCBQYXJzZXJGdW5j
dGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvKQoreworICAgIGludCBwYXJhbWV0ZXJzU3RhcnQg
PSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CisgICAgaWYgKCFtYXRjaChJREVOVCkg
JiYgIW1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgc2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3
b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7CisgICAgICAgIGZhaWxX
aXRoTWVzc2FnZSgiRXhwZWN0ZWQgYW4gYXJyb3cgZnVuY3Rpb24gaW5wdXQgcGFyYW1ldGVyIik7
CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAg
ICAgIGNvbnN1bWUoT1BFTlBBUkVOKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYgKCFt
YXRjaChDTE9TRVBBUkVOKSkgeworICAgICAgICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9IHBh
cnNlRm9ybWFsUGFyYW1ldGVycyhjb250ZXh0KTsKKyAgICAgICAgICAgICAgICBmYWlsSWZGYWxz
ZShpbmZvLnBhcmFtZXRlcnMsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAiLCBz
dHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
CisgICAgICAgICAgICBjb25zdW1lT3JGYWlsKENMT1NFUEFSRU4sICJFeHBlY3RlZCBhICcpJyBv
ciBhICcsJyBhZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgYXV0byBwYXJhbWV0ZXIgPSBwYXJzZURlY29uc3RydWN0aW9uUGF0dGVy
bihjb250ZXh0LCBEZWNvbnN0cnVjdFRvUGFyYW1ldGVycyk7CisgICAgICAgICAgICBmYWlsSWZG
YWxzZShwYXJhbWV0ZXIsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVyIHBhdHRlcm4iKTsKKyAgICAg
ICAgICAgIGluZm8ucGFyYW1ldGVycyA9IGNvbnRleHQuY3JlYXRlRm9ybWFsUGFyYW1ldGVyTGlz
dChwYXJhbWV0ZXIpOworICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJzLCAi
Q2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2Rl
KG1vZGUpKTsKKyAgICAgICAgfQorICAgIH0KICAgICAKKyAgICByZXR1cm4gcGFyYW1ldGVyc1N0
YXJ0OworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rp
b25JbmZvKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblJlcXVpcmVtZW50cyByZXF1aXJl
bWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUsCi0gICAgYm9vbCBuYW1lSXNJbkNvbnRhaW5p
bmdTY29wZSwgQ29uc3RydWN0b3JLaW5kIG93bmVyQ2xhc3NLaW5kLCBpbnQgZnVuY3Rpb25LZXl3
b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mIGluZm8pCisgICAgYm9v
bCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kIG93bmVyQ2xhc3NLaW5k
LCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRl
cj4mIGluZm8sIEZ1bmN0aW9uUGFyc2VUeXBlIHBhcnNlVHlwZSkKIHsKICAgICBBdXRvUG9wU2Nv
cGVSZWYgZnVuY3Rpb25TY29wZSh0aGlzLCBwdXNoU2NvcGUoKSk7CiAgICAgZnVuY3Rpb25TY29w
ZS0+c2V0SXNGdW5jdGlvbigpOwogICAgIGludCBmdW5jdGlvbk5hbWVTdGFydCA9IG1fdG9rZW4u
bV9sb2NhdGlvbi5zdGFydE9mZnNldDsKICAgICBjb25zdCBJZGVudGlmaWVyKiBsYXN0RnVuY3Rp
b25OYW1lID0gbV9sYXN0RnVuY3Rpb25OYW1lOwogICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IG51
bGxwdHI7CisgICAgaW50IHBhcmFtZXRlcnNTdGFydDsKKyAgICBib29sIGlzQ2xhc3NDb25zdHJ1
Y3RvcjsKICAgICAKLSAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0ID0gcGFyc2VGdW5jdGlvblBhcmFt
dGVycyhjb250ZXh0LCByZXF1aXJlbWVudHMsIG1vZGUsIG5hbWVJc0luQ29udGFpbmluZ1Njb3Bl
LCBmdW5jdGlvblNjb3BlLCBpbmZvKTsKLQotICAgIG1hdGNoT3JGYWlsKE9QRU5CUkFDRSwgIkV4
cGVjdGVkIGFuIG9wZW5pbmcgJ3snIGF0IHRoZSBzdGFydCBvZiBhICIsIHN0cmluZ0ZvckZ1bmN0
aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7Ci0KLSAgICAvLyBCeXRlY29kZUdlbmVyYXRvciBlbWl0
cyBjb2RlIHRvIHRocm93IFR5cGVFcnJvciB3aGVuIGEgY2xhc3MgY29uc3RydWN0b3IgaXMgImNh
bGwiZWQuCi0gICAgLy8gU2V0IENvbnN0cnVjdG9yS2luZCB0byBOb25lIGZvciBub24tY29uc3Ry
dWN0b3IgbWV0aG9kcyBvZiBjbGFzc2VzLgotICAgIGJvb2wgaXNDbGFzc0NvbnN0cnVjdG9yID0g
bW9kZSA9PSBNZXRob2RNb2RlICYmIGluZm8ubmFtZSAmJiAqaW5mby5uYW1lID09IG1fdm0tPnBy
b3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yOwotICAgIGlmIChtX2RlZmF1bHRDb25zdHJ1Y3Rvcktp
bmQgIT0gQ29uc3RydWN0b3JLaW5kOjpOb25lKSB7Ci0gICAgICAgIG93bmVyQ2xhc3NLaW5kID0g
bV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kOwotICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSB0
cnVlOworICAgIHN3aXRjaCAocGFyc2VUeXBlKSB7CisgICAgY2FzZSBTdGFuZGFyZEZ1bmN0aW9u
UGFyc2VUeXBlOiB7CisgICAgICAgIHBhcmFtZXRlcnNTdGFydCA9IHBhcnNlRnVuY3Rpb25QYXJh
bXRlcnMoY29udGV4dCwgcmVxdWlyZW1lbnRzLCBtb2RlLCBuYW1lSXNJbkNvbnRhaW5pbmdTY29w
ZSwgZnVuY3Rpb25TY29wZSwgaW5mbyk7CisgICAgICAgICAgICAKKyAgICAgICAgbWF0Y2hPckZh
aWwoT1BFTkJSQUNFLCAiRXhwZWN0ZWQgYW4gb3BlbmluZyAneycgYXQgdGhlIHN0YXJ0IG9mIGEg
Iiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgCisgICAg
ICAgIC8vIEJ5dGVjb2RlR2VuZXJhdG9yIGVtaXRzIGNvZGUgdG8gdGhyb3cgVHlwZUVycm9yIHdo
ZW4gYSBjbGFzcyBjb25zdHJ1Y3RvciBpcyAiY2FsbCJlZC4KKyAgICAgICAgLy8gU2V0IENvbnN0
cnVjdG9yS2luZCB0byBOb25lIGZvciBub24tY29uc3RydWN0b3IgbWV0aG9kcyBvZiBjbGFzc2Vz
LgorICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSBtb2RlID09IE1ldGhvZE1vZGUgJiYgaW5m
by5uYW1lICYmICppbmZvLm5hbWUgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3I7
CisgICAgICAgIGlmIChtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQgIT0gQ29uc3RydWN0b3JLaW5k
OjpOb25lKSB7CisgICAgICAgICAgICBvd25lckNsYXNzS2luZCA9IG1fZGVmYXVsdENvbnN0cnVj
dG9yS2luZDsKKyAgICAgICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IHRydWU7CisgICAgICAg
IH0KKyAgICAgICAgYnJlYWs7CiAgICAgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgY2FzZSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlOiB7CisgICAgICAgIHBhcmFt
ZXRlcnNTdGFydCA9IHBhcnNlQXJyb3dGdW5jdGlvblBhcmFtdGVycyhjb250ZXh0LCBtb2RlLCBp
bmZvKTsKKyAgICAgICAgCisgICAgICAgIG1hdGNoT3JGYWlsKEFSUk9XRlVOQ1RJT04sICJFeHBl
Y3RlZCBhICc9PicgYWZ0ZXIgYXJyb3cgZnVuY3Rpb24gcGFyYW1ldGVyIGRlY2xhcmF0aW9uIik7
CisgICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IGZhbHNlOworICAgICAgICAKKyAgICAgICAg
aW5mby5hcnJvd0Z1bmN0aW9uT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgICAg
ICBicmVhazsKKyAgICB9CisjZW5kaWYKKyAgICB9CisKICAgICBDb25zdHJ1Y3RvcktpbmQgY29u
c3RydWN0b3JLaW5kID0gaXNDbGFzc0NvbnN0cnVjdG9yID8gb3duZXJDbGFzc0tpbmQgOiBDb25z
dHJ1Y3RvcktpbmQ6Ok5vbmU7CiAKICAgICBpbmZvLm9wZW5CcmFjZU9mZnNldCA9IG1fdG9rZW4u
bV9kYXRhLm9mZnNldDsKQEAgLTEzOTIsOCArMTUwNSwxNSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVC
dWlsZAogICAgICAgICBmYWlsSWZGYWxzZShwb3BTY29wZShmdW5jdGlvblNjb3BlLCBUcmVlQnVp
bGRlcjo6TmVlZHNGcmVlVmFyaWFibGVJbmZvKSwgIlBhcnNlciBlcnJvciIpOwogICAgICAgICAK
ICAgICAgICAgaW5mby5jbG9zZUJyYWNlT2Zmc2V0ID0gY2FjaGVkSW5mby0+Y2xvc2VCcmFjZU9m
ZnNldDsKLQotICAgICAgICBtX3Rva2VuID0gY2FjaGVkSW5mby0+Y2xvc2VCcmFjZVRva2VuKCk7
CisgICAgICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAg
IGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkKKyAgICAgICAgICAgIGlu
Zm8uZnVuY3Rpb25Cb2R5VHlwZSA9IGNhY2hlZEluZm8tPmlzQm9keUFycm93RXhwcmVzc2lvbiA/
ICBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24gOiBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgICBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPSBTdGFuZGFy
ZEZ1bmN0aW9uQm9keUJsb2NrOworI2VuZGlmCisgICAgICAgIG1fdG9rZW4gPSBjYWNoZWRJbmZv
LT5lbmRGdW5jdGlvblRva2VuKCk7CisgICAgICAgIAogICAgICAgICBpZiAoZW5kQ29sdW1uSXNP
blN0YXJ0TGluZSkKICAgICAgICAgICAgIG1fdG9rZW4ubV9sb2NhdGlvbi5saW5lU3RhcnRPZmZz
ZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0OwogCkBAIC0xNDAyLDEzICsxNTIyLDQzIEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VG
dW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAKICAgICAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQoaW5m
by5ib2R5LCBtX2xleGVyLT5jdXJyZW50T2Zmc2V0KCkpOwogICAgICAgICAKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAocGFyc2VUeXBlICE9IEFycm93
RnVuY3Rpb25QYXJzZVR5cGUgfHwgaW5mby5mdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rp
b25Cb2R5QmxvY2spCisgICAgICAgICAgICBuZXh0KCk7CisjZWxzZQogICAgICAgICBuZXh0KCk7
CisjZW5kaWYKICAgICAgICAgaW5mby5ib2R5RW5kTGluZSA9IG1fbGFzdFRva2VuRW5kUG9zaXRp
b24ubGluZTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQorICAgIAogICAgIG1fbGFzdEZ1
bmN0aW9uTmFtZSA9IGxhc3RGdW5jdGlvbk5hbWU7CiAgICAgUGFyc2VyU3RhdGUgb2xkU3RhdGUg
PSBzYXZlU3RhdGUoKTsKLSAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0
LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFy
dCwgY29uc3RydWN0b3JLaW5kKTsKKyAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgewor
ICAgICAgICBTYXZlUG9pbnQgc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgICAg
IG5leHQoKTsKKyAgICAgICAgLy8gQ2hlY2sgaWYgYXJyb3cgYm9keSBzdGFydCB3aXRoIHsuIElm
IGl0IHRydWUgaXQgbWVhbiB0aGF0IGFycm93IGZ1bmN0aW9uIGlzIEZhdCBhcnJvdyBmdW5jdGlv
bgorICAgICAgICAvLyBhbmQgd2UgbmVlZCB1c2UgY29tbW9uIGFwcHJvYWNoIHRvIHBhcnNlIGZ1
bmN0aW9uIGJvZHkKKyAgICAgICAgaW5mby5mdW5jdGlvbkJvZHlUeXBlID0gbWF0Y2goT1BFTkJS
QUNFKSA/IEFycm93RnVuY3Rpb25Cb2R5QmxvY2sgOiBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Np
b247CisgICAgCisgICAgICAgIGlmIChpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5j
dGlvbkJvZHlCbG9jaykgeworICAgICAgICAgICAgaW5mby5vcGVuQnJhY2VPZmZzZXQgPSBtX3Rv
a2VuLm1fZGF0YS5vZmZzZXQ7CisgICAgICAgICAgICBpbmZvLmJvZHlTdGFydExpbmUgPSB0b2tl
bkxpbmUoKTsKKyAgICAgICAgICAgIGluZm8uYm9keVN0YXJ0Q29sdW1uID0gbV90b2tlbi5tX2Rh
dGEub2Zmc2V0IC0gbV90b2tlbi5tX2RhdGEubGluZVN0YXJ0T2Zmc2V0OworICAgICAgICAKKyAg
ICAgICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9u
S2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1
Y3RvcktpbmQsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOworICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlUG9pbnQpOworICAgICAgICAgICAgaW5m
by5ib2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQs
IGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCwgQXJy
b3dGdW5jdGlvblBhcnNlVHlwZSk7CisgICAgICAgIH0KKyAgICB9IGVsc2UKKyAgICAgICAgaW5m
by5ib2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQs
IGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCwgU3Rh
bmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CisjZWxzZQorICAgIGluZm8uYm9keSA9IHBhcnNlRnVu
Y3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFy
dCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQsIFN0YW5kYXJkRnVuY3Rpb25QYXJz
ZVR5cGUpOworI2VuZGlmCisgICAgCiAgICAgcmVzdG9yZVN0YXRlKG9sZFN0YXRlKTsKICAgICBm
YWlsSWZGYWxzZShpbmZvLmJvZHksICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgdGhpcyAiLCBz
dHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOwogICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KGlu
Zm8uYm9keSwgbV9sZXhlci0+Y3VycmVudE9mZnNldCgpKTsKQEAgLTE0MzksMTggKzE1ODksMzIg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJyYWNl
TGluZSA9IGNsb3NlQnJhY2VMaW5lOwogICAgICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VPZmZz
ZXQgPSBpbmZvLmNsb3NlQnJhY2VPZmZzZXQ7CiAgICAgICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFj
ZUxpbmVTdGFydE9mZnNldCA9IGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQ7CisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJv
d0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgICAgICBwYXJhbWV0ZXJzLmlzQm9keUFycm93
RXhwcmVzc2lvbiA9IGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUV4
cHJlc3Npb247CisgICAgICAgICAgICBwYXJhbWV0ZXJzLnRva2VuVHlwZSA9IG1fdG9rZW4ubV90
eXBlOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgZnVuY3Rpb25TY29wZS0+ZmlsbFBhcmFt
ZXRlcnNGb3JTb3VyY2VQcm92aWRlckNhY2hlKHBhcmFtZXRlcnMpOwogICAgICAgICBuZXdJbmZv
ID0gU291cmNlUHJvdmlkZXJDYWNoZUl0ZW06OmNyZWF0ZShwYXJhbWV0ZXJzKTsKLQogICAgIH0K
ICAgICAKICAgICBmYWlsSWZGYWxzZShwb3BTY29wZShmdW5jdGlvblNjb3BlLCBUcmVlQnVpbGRl
cjo6TmVlZHNGcmVlVmFyaWFibGVJbmZvKSwgIlBhcnNlciBlcnJvciIpOworICAgIAorI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaWYgKChwYXJzZVR5cGUgPT0gQXJy
b3dGdW5jdGlvblBhcnNlVHlwZSAmJiBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5j
dGlvbkJvZHlCbG9jaykgfHwgcGFyc2VUeXBlICE9IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsK
KyAgICAgICAgbWF0Y2hPckZhaWwoQ0xPU0VCUkFDRSwgIkV4cGVjdGVkIGEgY2xvc2luZyAnfScg
YWZ0ZXIgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOworICAgICAg
ICBuZXh0KCk7CisgICAgfSBlbHNlCisgICAgICAgIGZhaWxJZkZhbHNlKGlzRW5kT2ZBcnJvd0Z1
bmN0aW9uKCksICJFeHBlY3RlZCB0aGUgY2xvc2luZyAnOycgJywnICddJyAnKScgJ30nIGFmdGVy
IGFycm93IGZ1bmN0aW9uIik7CisjZWxzZQogICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0UsICJF
eHBlY3RlZCBhIGNsb3NpbmcgJ30nIGFmdGVyIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1v
ZGUpLCAiIGJvZHkiKTsKKyAgICBuZXh0KCk7CisjZW5kaWYKICAgICAKICAgICBpZiAobmV3SW5m
bykKICAgICAgICAgbV9mdW5jdGlvbkNhY2hlLT5hZGQoaW5mby5vcGVuQnJhY2VPZmZzZXQsIFdU
Rjo6bW92ZShuZXdJbmZvKSk7CiAgICAgCi0gICAgbmV4dCgpOwogICAgIGluZm8uYm9keUVuZExp
bmUgPSBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmU7CiAgICAgcmV0dXJuIHRydWU7CiB9CkBA
IC0xNDYzLDcgKzE2MjcsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0
ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25EZWNsYQogICAgIHVuc2lnbmVk
IGZ1bmN0aW9uS2V5d29yZFN0YXJ0ID0gdG9rZW5TdGFydCgpOwogICAgIG5leHQoKTsKICAgICBQ
YXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87Ci0gICAgZmFpbElmRmFsc2UoKHBh
cnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTmVlZHNOYW1lLCBGdW5jdGlvbk1vZGUs
IHRydWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8p
KSwgIkNhbm5vdCBwYXJzZSB0aGlzIGZ1bmN0aW9uIik7CisgICAgZmFpbElmRmFsc2UoKHBhcnNl
RnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTmVlZHNOYW1lLCBGdW5jdGlvbk1vZGUsIHRy
dWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8sIFN0
YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSB0aGlzIGZ1bmN0aW9uIik7
CiAgICAgZmFpbElmRmFsc2UoaW5mby5uYW1lLCAiRnVuY3Rpb24gc3RhdGVtZW50cyBtdXN0IGhh
dmUgYSBuYW1lIik7CiAgICAgZmFpbElmRmFsc2VJZlN0cmljdChkZWNsYXJlVmFyaWFibGUoaW5m
by5uYW1lKSwgIkNhbm5vdCBkZWNsYXJlIGEgZnVuY3Rpb24gbmFtZWQgJyIsIGluZm8ubmFtZS0+
aW1wbCgpLCAiJyBpbiBzdHJpY3QgbW9kZSIpOwogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1
bmNEZWNsU3RhdGVtZW50KGxvY2F0aW9uLCBpbmZvKTsKQEAgLTE1NTgsNyArMTcyMiw3IEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUNsYXNzRXhwcmVzc2lvbiBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VDbGFzcyhUCiAgICAgICAgICAgICBmYWlsSWZGYWxzZShwcm9wZXJ0eSwg
IkNhbm5vdCBwYXJzZSB0aGlzIG1ldGhvZCIpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBtZXRob2RJbmZvOwotICAgICAgICAg
ICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTmVlZHNO
YW1lLCBpc1N0YXRpY01ldGhvZCA/IEZ1bmN0aW9uTW9kZSA6IE1ldGhvZE1vZGUsIGZhbHNlLCBj
b25zdHJ1Y3RvcktpbmQsIG1ldGhvZFN0YXJ0LCBtZXRob2RJbmZvKSksICJDYW5ub3QgcGFyc2Ug
dGhpcyBtZXRob2QiKTsKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5m
byhjb250ZXh0LCBGdW5jdGlvbk5lZWRzTmFtZSwgaXNTdGF0aWNNZXRob2QgPyBGdW5jdGlvbk1v
ZGUgOiBNZXRob2RNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBtZXRob2RTdGFydCwgbWV0
aG9kSW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIHRoaXMg
bWV0aG9kIik7CiAgICAgICAgICAgICBmYWlsSWZGYWxzZShtZXRob2RJbmZvLm5hbWUsICJtZXRo
b2QgbXVzdCBoYXZlIGEgbmFtZSIpOwogICAgICAgICAgICAgZmFpbElmRmFsc2UoZGVjbGFyZVZh
cmlhYmxlKG1ldGhvZEluZm8ubmFtZSksICJDYW5ub3QgZGVjbGFyZSBhIG1ldGhvZCBuYW1lZCAn
IiwgbWV0aG9kSW5mby5uYW1lLT5pbXBsKCksICInIik7CiAKQEAgLTE3NzQsNiArMTkzOCwxOCBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlSWZTdGF0ZW1lbnQoVAogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUlmU3Rh
dGVtZW50KGlmTG9jYXRpb24sIGNvbmRpdGlvbiwgdHJ1ZUJsb2NrLCBzdGF0ZW1lbnRTdGFjay5s
YXN0KCksIHN0YXJ0LCBlbmQpOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVu
Y3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQoreworICAgIGZhaWxJZlN0YWNr
T3ZlcmZsb3coKTsKKyAgICBUcmVlRXhwcmVzc2lvbiBub2RlID0gcGFyc2VBc3NpZ25tZW50RXhw
cmVzc2lvbihjb250ZXh0KTsKKyAgICBmYWlsSWZGYWxzZShub2RlLCAiQ2Fubm90IHBhcnNlIGV4
cHJlc3Npb24iKTsKKyAgICBjb250ZXh0LnNldEVuZE9mZnNldChub2RlLCBtX2xhc3RUb2tlbkVu
ZFBvc2l0aW9uLm9mZnNldCk7CisgICAgcmV0dXJuIG5vZGU7Cit9CisjZW5kaWYKKwogdGVtcGxh
dGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRXhwcmVzc2lvbihUcmVlQnVpbGRl
ciYgY29udGV4dCkKIHsKQEAgLTE4MjEsNiArMTk5Nyw0MSBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUg
VHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzc2ln
bm1lbgogICAgICAgICB9CiAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKICAg
ICB9CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFNhdmVQb2lu
dCBzYXZlQXJyb3dGdW5jdGlvblBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgYm9vbCBh
cnJvd0Z1bmN0aW9uRW1wdHlMaXN0ID0gZmFsc2U7CisgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikp
IHsKKyAgICAgICAgbmV4dCgpOworICAgICAgICBpZiAobWF0Y2goQ0xPU0VQQVJFTikpIHsKKyAg
ICAgICAgICAgIG5leHQoKTsKKworICAgICAgICAgICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJT04p
KQorICAgICAgICAgICAgICAgIGFycm93RnVuY3Rpb25FbXB0eUxpc3QgPSB0cnVlOworICAgICAg
ICB9CisKKyAgICAgICAgaWYgKCFhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0KQorICAgICAgICAgICAg
cmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICB9CisKKyAgICBU
cmVlRXhwcmVzc2lvbiBsaHM7CisgICAgaWYgKCFhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0KSB7Cisg
ICAgICAgIGxocyA9IHBhcnNlQ29uZGl0aW9uYWxFeHByZXNzaW9uKGNvbnRleHQpOworICAgICAg
ICBmYWlsSWZGYWxzZShsaHMsICJDYW4Zbm90IHBhcnNlIGV4cHJlc3Npb24iKTsKKyAgICAgICAg
aWYgKGluaXRpYWxOb25MSFNDb3VudCAhPSBtX25vbkxIU0NvdW50KSB7CisgICAgICAgICAgICBp
ZiAobV90b2tlbi5tX3R5cGUgPj0gRVFVQUwgJiYgbV90b2tlbi5tX3R5cGUgPD0gT1JFUVVBTCkK
KyAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWwoIkxlZnQgaGFuZCBzaWRlIG9mIG9wZXJhdG9y
ICciLCBnZXRUb2tlbigpLCAiJyBtdXN0IGJlIGEgcmVmZXJlbmNlIik7CisKKyAgICAgICAgICAg
IHJldHVybiBsaHM7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAobWF0Y2goQVJST1dGVU5D
VElPTikpIHsKKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50
KTsKKyAgICAgICAgbGhzID0gcGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihjb250ZXh0KTsKKyAg
ICAgICAgcmV0dXJuIGxoczsKKyAgICB9CisjZWxzZQogICAgIFRyZWVFeHByZXNzaW9uIGxocyA9
IHBhcnNlQ29uZGl0aW9uYWxFeHByZXNzaW9uKGNvbnRleHQpOwogICAgIGZhaWxJZkZhbHNlKGxo
cywgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9uIik7CiAgICAgaWYgKGluaXRpYWxOb25MSFNDb3Vu
dCAhPSBtX25vbkxIU0NvdW50KSB7CkBAIC0xODI5LDcgKzIwNDAsOCBAQCB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUFzc2lnbm1lbgogCiAgICAgICAgIHJldHVybiBsaHM7CiAgICAgfQotICAgIAorI2VuZGlmCisK
ICAgICBpbnQgYXNzaWdubWVudFN0YWNrID0gMDsKICAgICBPcGVyYXRvciBvcDsKICAgICBib29s
IGhhZEFzc2lnbm1lbnQgPSBmYWxzZTsKQEAgLTIwNjEsNyArMjI3Myw3IEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
UHJvcGVydHlNZXRoCiAgICAgSlNUb2tlbkxvY2F0aW9uIG1ldGhvZExvY2F0aW9uKHRva2VuTG9j
YXRpb24oKSk7CiAgICAgdW5zaWduZWQgbWV0aG9kU3RhcnQgPSB0b2tlblN0YXJ0KCk7CiAgICAg
UGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBtZXRob2RJbmZvOwotICAgIGZhaWxJZkZh
bHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBN
ZXRob2RNb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBtZXRob2RTdGFydCwgbWV0
aG9kSW5mbykpLCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9kIik7CisgICAgZmFpbElmRmFsc2Uo
KHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIE1ldGhv
ZE1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIG1ldGhvZFN0YXJ0LCBtZXRob2RJ
bmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRo
b2QiKTsKICAgICBtZXRob2RJbmZvLm5hbWUgPSBtZXRob2ROYW1lOwogICAgIHJldHVybiBjb250
ZXh0LmNyZWF0ZUZ1bmN0aW9uRXhwcihtZXRob2RMb2NhdGlvbiwgbWV0aG9kSW5mbyk7CiB9CkBA
IC0yMDgzLDEwICsyMjk1LDEwIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVBy
b3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUdldHRlclNldHRlcihUCiAgICAgUGFyc2Vy
RnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOwogICAgIGlmICh0eXBlID09IFByb3BlcnR5
Tm9kZTo6R2V0dGVyKSB7CiAgICAgICAgIGZhaWxJZkZhbHNlKG1hdGNoKE9QRU5QQVJFTiksICJF
eHBlY3RlZCBhIHBhcmFtZXRlciBsaXN0IGZvciBnZXR0ZXIgZGVmaW5pdGlvbiIpOwotICAgICAg
ICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVp
cmVtZW50cywgR2V0dGVyTW9kZSwgZmFsc2UsIGNvbnN0cnVjdG9yS2luZCwgZ2V0dGVyT3JTZXR0
ZXJTdGFydE9mZnNldCwgaW5mbykpLCAiQ2Fubm90IHBhcnNlIGdldHRlciBkZWZpbml0aW9uIik7
CisgICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlv
bk5vUmVxdWlyZW1lbnRzLCBHZXR0ZXJNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBnZXR0
ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBpbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSks
ICJDYW5ub3QgcGFyc2UgZ2V0dGVyIGRlZmluaXRpb24iKTsKICAgICB9IGVsc2UgewogICAgICAg
ICBmYWlsSWZGYWxzZShtYXRjaChPUEVOUEFSRU4pLCAiRXhwZWN0ZWQgYSBwYXJhbWV0ZXIgbGlz
dCBmb3Igc2V0dGVyIGRlZmluaXRpb24iKTsKLSAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVu
Y3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIFNldHRlck1vZGUsIGZh
bHNlLCBjb25zdHJ1Y3RvcktpbmQsIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIGluZm8pKSwg
IkNhbm5vdCBwYXJzZSBzZXR0ZXIgZGVmaW5pdGlvbiIpOworICAgICAgICBmYWlsSWZGYWxzZSgo
cGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgU2V0dGVy
TW9kZSwgZmFsc2UsIGNvbnN0cnVjdG9yS2luZCwgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwg
aW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIHNldHRlciBk
ZWZpbml0aW9uIik7CiAgICAgfQogICAgIGlmIChzdHJpbmdQcm9wZXJ0eU5hbWUpCiAgICAgICAg
IHJldHVybiBjb250ZXh0LmNyZWF0ZUdldHRlck9yU2V0dGVyUHJvcGVydHkobG9jYXRpb24sIHR5
cGUsIHN0cmljdCwgc3RyaW5nUHJvcGVydHlOYW1lLCBpbmZvLCBzdXBlckJpbmRpbmcpOwpAQCAt
MjI3NSw3ICsyNDg3LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVz
c2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAgbmV4dCgp
OwogICAgICAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87CiAgICAgICAg
IGluZm8ubmFtZSA9ICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllcjsKLSAgICAg
ICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1
aXJlbWVudHMsIEZ1bmN0aW9uTW9kZSwgZmFsc2UsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgZnVu
Y3Rpb25LZXl3b3JkU3RhcnQsIGluZm8pKSwgIkNhbm5vdCBwYXJzZSBmdW5jdGlvbiBleHByZXNz
aW9uIik7CisgICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBG
dW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlvbk1vZGUsIGZhbHNlLCBDb25zdHJ1Y3Rvcktp
bmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFy
c2VUeXBlKSksICJDYW5ub3QgcGFyc2UgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOwogICAgICAgICBy
ZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkV4cHIobG9jYXRpb24sIGluZm8pOwogICAgIH0K
ICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKQEAgLTIzMDQsNiArMjUxNiwyMyBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZVByaW1hcnlFeHByZQogICAgICAgICByZXR1cm4gY29udGV4dC50aGlzRXhwcihsb2Nh
dGlvbiwgbV90aGlzVERaTW9kZSk7CiAgICAgfQogICAgIGNhc2UgSURFTlQ6IHsKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBTYXZlUG9pbnQgc2F2ZUFycm93
RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgICAgICBKU1RleHRQb3NpdGlv
biBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgICAgICBjb25zdCBJZGVudGlmaWVy
KiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OworICAgICAgICBKU1Rva2VuTG9jYXRpb24g
bG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICAgICAgbmV4dCgpOworCisgICAgICAgIGlm
ICghbWF0Y2goQVJST1dGVU5DVElPTikpIHsKKyAgICAgICAgICAgIGN1cnJlbnRTY29wZSgpLT51
c2VWYXJpYWJsZShpZGVudCwgbV92bS0+cHJvcGVydHlOYW1lcy0+ZXZhbCA9PSAqaWRlbnQpOwor
ICAgICAgICAgICAgbV9sYXN0SWRlbnRpZmllciA9IGlkZW50OworICAgICAgICAgICAgcmV0dXJu
IGNvbnRleHQuY3JlYXRlUmVzb2x2ZShsb2NhdGlvbiwgaWRlbnQsIHN0YXJ0KTsKKyAgICAgICAg
fQorCisgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7Cisg
ICAgICAgIFRyZWVFeHByZXNzaW9uIGxocyA9IHBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoY29u
dGV4dCk7CisgICAgICAgIHJldHVybiBsaHM7CisjZWxzZQogICAgICAgICBKU1RleHRQb3NpdGlv
biBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOwogICAgICAgICBjb25zdCBJZGVudGlmaWVy
KiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICBKU1Rva2VuTG9jYXRpb24g
bG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKQEAgLTIzMTEsNiArMjU0MCw3IEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlUHJpbWFyeUV4cHJlCiAgICAgICAgIGN1cnJlbnRTY29wZSgpLT51c2VWYXJpYWJsZShpZGVu
dCwgbV92bS0+cHJvcGVydHlOYW1lcy0+ZXZhbCA9PSAqaWRlbnQpOwogICAgICAgICBtX2xhc3RJ
ZGVudGlmaWVyID0gaWRlbnQ7CiAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJlc29sdmUo
bG9jYXRpb24sIGlkZW50LCBzdGFydCk7CisjZW5kaWYKICAgICB9CiAgICAgY2FzZSBTVFJJTkc6
IHsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVu
dDsKQEAgLTI0OTgsNiArMjcyOCwzMiBAQCBlbmRNZW1iZXJFeHByZXNzaW9uOgogICAgIHJldHVy
biBiYXNlOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBs
YXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVy
KFRyZWVCdWlsZGVyJiBjb250ZXh0KQoreworICAgIFRyZWVFeHByZXNzaW9uIGJhc2UgPSAwOwor
ICAgIEpTVGV4dFBvc2l0aW9uIGV4cHJlc3Npb25TdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigp
OworICAgIGludCBuZXdDb3VudCA9IDA7CisgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uOwor
CisgICAgaWYgKG1hdGNoKElERU5UKSB8fCBtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgIHVu
c2lnbmVkIGZ1bmN0aW9uS2V5d29yZFN0YXJ0ID0gdG9rZW5TdGFydCgpOworICAgICAgICBsb2Nh
dGlvbiA9IHRva2VuTG9jYXRpb24oKTsKKyAgICAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVC
dWlsZGVyPiBpbmZvOworICAgICAgICBpbmZvLm5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1lcy0+
bnVsbElkZW50aWZpZXI7CisgICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhj
b250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlvbk1vZGUsIHRydWUsIENvbnN0
cnVjdG9yS2luZDo6Tm9uZSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8sIEFycm93RnVuY3Rp
b25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uIik7
CisgICAgICAgIGJhc2UgPSBjb250ZXh0LmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKGxvY2F0aW9u
LCBpbmZvKTsKKyAgICB9IGVsc2UKKyAgICAgICAgYmFzZSA9IHBhcnNlUHJpbWFyeUV4cHJlc3Np
b24oY29udGV4dCk7CisKKyAgICBmYWlsSWZGYWxzZShiYXNlLCAiQ2Fubm90IHBhcnNlIGJhc2Ug
ZXhwcmVzc2lvbiIpOworICAgIHdoaWxlIChuZXdDb3VudC0tKQorICAgICAgICBiYXNlID0gY29u
dGV4dC5jcmVhdGVOZXdFeHByKGxvY2F0aW9uLCBiYXNlLCBleHByZXNzaW9uU3RhcnQsIGxhc3RU
b2tlbkVuZFBvc2l0aW9uKCkpOworICAgIHJldHVybiBiYXNlOworfQorI2VuZGlmCisKIHN0YXRp
YyBjb25zdCBjaGFyKiBvcGVyYXRvclN0cmluZyhib29sIHByZWZpeCwgdW5zaWduZWQgdG9rKQog
ewogICAgIHN3aXRjaCAodG9rKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1BhcnNlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaApp
bmRleCA3OGJhZmZhMGUxNzczYzgyMDY5OGI5MjAzZjBmNmEzZDdhZDMyZWM0Li4wNWNjZDRhNTA0
ODg3NGIwY2U5ZDdkOWNhNzJmY2IxOTdiYjc2NDI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvUGFyc2VyLmgKQEAgLTgwLDYgKzgwLDExIEBAIGNsYXNzIFNvdXJjZUNvZGU7CiBDT01QSUxF
X0FTU0VSVChMYXN0VW50YWdnZWRUb2tlbiA8IDY0LCBMZXNzVGhhbjY0VW50YWdnZWRUb2tlbnMp
OwogCiBlbnVtIFNvdXJjZUVsZW1lbnRzTW9kZSB7IENoZWNrRm9yU3RyaWN0TW9kZSwgRG9udENo
ZWNrRm9yU3RyaWN0TW9kZSB9OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CitlbnVtIEZ1bmN0aW9uUGFyc2VUeXBlIHsgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSwgQXJy
b3dGdW5jdGlvblBhcnNlVHlwZSB9OworI2Vsc2UKK2VudW0gRnVuY3Rpb25QYXJzZVR5cGUgeyBT
dGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlfTsKKyNlbmRpZgogZW51bSBGdW5jdGlvblJlcXVpcmVt
ZW50cyB7IEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEZ1bmN0aW9uTmVlZHNOYW1lIH07CiBlbnVt
IEZ1bmN0aW9uUGFyc2VNb2RlIHsKICAgICBGdW5jdGlvbk1vZGUsCkBAIC02MTgsNiArNjIzLDEz
IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBtX3Rva2VuLm1fdHlwZSA9PSBJREVOVCAmJiAq
bV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+b2Y7CiAgICAgfQog
ICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgQUxXQVlTX0lO
TElORSBib29sIGlzRW5kT2ZBcnJvd0Z1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiBt
YXRjaChTRU1JQ09MT04pIHx8IG1hdGNoKENPTU1BKSB8fCBtYXRjaChDTE9TRVBBUkVOKSB8fCBt
YXRjaChDTE9TRUJSQUNFKSB8fCBtYXRjaChDTE9TRUJSQUNLRVQpOworICAgIH0KKyNlbmRpZgor
ICAgIAogICAgIEFMV0FZU19JTkxJTkUgdW5zaWduZWQgdG9rZW5TdGFydCgpCiAgICAgewogICAg
ICAgICByZXR1cm4gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OwpAQCAtNzIxLDkgKzcz
Myw5IEBAIHByaXZhdGU6CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9
Ci0gICAgCi0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVu
dHMgcGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYsIFNvdXJjZUVsZW1lbnRzTW9kZSk7
Ci0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3Rh
dGVtZW50KFRyZWVCdWlsZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWdu
ZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwKTsKKworICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1
aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUsIEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyAgICB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VTdGF0ZW1lbnQoVHJl
ZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0
aXZlTGl0ZXJhbExlbmd0aCA9IDAsIEZ1bmN0aW9uUGFyc2VUeXBlIHR5cGUgPSBTdGFuZGFyZEZ1
bmN0aW9uUGFyc2VUeXBlKTsKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VDbGFzc0RlY2xhcmF0
aW9uKFRyZWVCdWlsZGVyJik7CiAjZW5kaWYKQEAgLTc2MiwxOSArNzc0LDI2IEBAIHByaXZhdGU6
CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgcGFyc2VQcm9w
ZXJ0eShUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlUHJvcGVydHlNZXRob2QoVHJlZUJ1aWxkZXIm
IGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqIG1ldGhvZE5hbWUpOwogICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IHBhcnNlR2V0dGVyU2V0dGVyKFRyZWVCdWls
ZGVyJiwgYm9vbCBzdHJpY3QsIFByb3BlcnR5Tm9kZTo6VHlwZSwgdW5zaWduZWQgZ2V0dGVyT3JT
ZXR0ZXJTdGFydE9mZnNldCwgQ29uc3RydWN0b3JLaW5kID0gQ29uc3RydWN0b3JLaW5kOjpOb25l
LCBTdXBlckJpbmRpbmcgPSBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCk7Ci0gICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VG
dW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBm
dW5jdGlvbk5hbWVTdGFydCwgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kKTsK
KyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZ1bmN0
aW9uQm9keSBwYXJzZUZ1bmN0aW9uQm9keShUcmVlQnVpbGRlciYsIGludCBmdW5jdGlvbktleXdv
cmRTdGFydCwgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25z
dHJ1Y3RvcktpbmQsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZvcm1hbFBhcmFt
ZXRlckxpc3QgcGFyc2VGb3JtYWxQYXJhbWV0ZXJzKFRyZWVCdWlsZGVyJik7CiAgICAgZW51bSBW
YXJEZWNsYXJhdGlvbkxpc3RDb250ZXh0IHsgRm9yTG9vcENvbnRleHQsIFZhckRlY2xhcmF0aW9u
Q29udGV4dCB9OwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Np
b24gcGFyc2VWYXJEZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImLCBpbnQmIGRlY2xhcmF0aW9u
cywgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiYgbGFzdFBhdHRlcm4sIFRyZWVFeHByZXNzaW9u
JiBsYXN0SW5pdGlhbGl6ZXIsIEpTVGV4dFBvc2l0aW9uJiBpZGVudFN0YXJ0LCBKU1RleHRQb3Np
dGlvbiYgaW5pdFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdEVuZCwgVmFyRGVjbGFyYXRpb25M
aXN0Q29udGV4dCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJ
TkUgVHJlZUNvbnN0RGVjbExpc3QgcGFyc2VDb25zdERlY2xhcmF0aW9uTGlzdChUcmVlQnVpbGRl
ciYpOwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlQXJyb3dGdW5jdGlvbkV4
cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVTdGF0ZW1lbnQgcGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJik7
CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFy
cm93RnVuY3Rpb25XcmFwcGVyKFRyZWVCdWlsZGVyJik7CisjZW5kaWYKKwogICAgIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRl
cm4gY3JlYXRlQmluZGluZ1BhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0cnVjdGlvbktpbmQs
IGNvbnN0IElkZW50aWZpZXImLCBpbnQgZGVwdGgsIEpTVG9rZW4pOwogICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4g
cGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0cnVjdGlvbktp
bmQsIGludCBkZXB0aCA9IDApOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVW
RVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gdHJ5UGFyc2VEZWNvbnN0cnVjdGlv
blBhdHRlcm5FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7Ci0KLSAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBib29sIHBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWls
ZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlLCBib29sIG5hbWVJ
c0luQ29udGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQsIGludCBmdW5jdGlvbktleXdvcmRT
dGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYpOwotICAgIAogICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIGludCBwYXJzZUZ1bmN0aW9uUGFy
YW10ZXJzKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VN
b2RlLCBib29sLCBBdXRvUG9wU2NvcGVSZWYmLCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxk
ZXI+Jik7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBpbnQgcGFyc2VBcnJvd0Z1bmN0aW9u
UGFyYW10ZXJzKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25QYXJzZU1vZGUsIFBhcnNlckZ1bmN0aW9u
SW5mbzxUcmVlQnVpbGRlcj4mKTsKKyNlbmRpZgorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gTkVWRVJfSU5MSU5FIGJvb2wgcGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImLCBG
dW5jdGlvblJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUsIGJvb2wgbmFtZUlzSW5Db250
YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQ
YXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rp
b25QYXJzZVR5cGUpOwogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogICAgIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVDbGFzc0V4cHJlc3Npb24gcGFy
c2VDbGFzcyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzLCBQYXJzZXJDbGFzc0lu
Zm88VHJlZUJ1aWxkZXI+Jik7CiAjZW5kaWYKQEAgLTc5MSw2ICs4MTAsMTQgQEAgcHJpdmF0ZToK
ICAgICAgICAgcmV0dXJuIGFsbG93QXV0b21hdGljU2VtaWNvbG9uKCk7CiAgICAgfQogICAgIAor
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2b2lkIHNldEVuZE9m
U3RhdGVtZW50KCkKKyAgICB7CisgICAgICAgIG1fbGV4ZXItPnNldFRva2VuUG9zaXRpb24oJm1f
dG9rZW4pOworICAgIH0KKyNlbmRpZgorCiAgICAgYm9vbCBjYW5SZWN1cnNlKCkKICAgICB7CiAg
ICAgICAgIHJldHVybiBtX3ZtLT5pc1NhZmVUb1JlY3Vyc2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oCmluZGV4IDZiNzM2MjgyZTJk
MmE4MWJjNjNkYzJmM2MwZTVhZThjODU4Y2QxZjguLjBjZGUwYzY3YTlkZTBlZGYzNDE0NGUzMjc5
MWU1ZTkwYjRhMjE1MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyRnVuY3Rpb25JbmZvLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXJGdW5jdGlvbkluZm8uaApAQCAtMjgsNiArMjgsMTAgQEAKIAogbmFtZXNwYWNlIEpTQyB7
CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorZW51bSBGdW5jdGlvbkJv
ZHlUeXBlIHsgQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uLCBBcnJvd0Z1bmN0aW9uQm9keUJs
b2NrLCBTdGFuZGFyZEZ1bmN0aW9uQm9keUJsb2NrIH07CisjZW5kaWYKKwogdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPgogc3RydWN0IFBhcnNlckZ1bmN0aW9uSW5mbyB7CiAgICAgY29uc3Qg
SWRlbnRpZmllciogbmFtZSA9IDA7CkBAIC0zOCw2ICs0MiwxMSBAQCBzdHJ1Y3QgUGFyc2VyRnVu
Y3Rpb25JbmZvIHsKICAgICBpbnQgYm9keVN0YXJ0TGluZSA9IDA7CiAgICAgaW50IGJvZHlFbmRM
aW5lID0gMDsKICAgICB1bnNpZ25lZCBib2R5U3RhcnRDb2x1bW4gPSAwOworI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdW5zaWduZWQgYXJyb3dGdW5jdGlvbk9mZnNl
dCA9IDA7CisgICAgYm9vbCBpc0Fycm93RnVuY3Rpb24gPSBmYWxzZTsKKyAgICBGdW5jdGlvbkJv
ZHlUeXBlIGZ1bmN0aW9uQm9keVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uQm9keUJsb2NrOworI2Vu
ZGlmCiB9OwogCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAppbmRleCA4MzI5ZjgyYTliMmZmOTE1ZDFmMjQx
YzFmOGJmZmFkNDI0N2E1ZjBiLi5jOGIxNjZlMGVhZDdkMmRhNzE5ZTc2YzRhMmYwOWFmZjFkNzRk
N2FjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vu
cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKQEAg
LTc1LDYgKzc1LDkgQEAgZW51bSBKU1Rva2VuVHlwZSB7CiAgICAgRklOQUxMWSwKICAgICBERUJV
R0dFUiwKICAgICBFTFNFLAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgQVJST1dGVU5DVElPTiwKKyNlbmRpZgogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQog
ICAgIENMQVNTVE9LRU4sCiAgICAgRVhURU5EUywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9Tb3VyY2VDb2RlLmgKaW5kZXggNzNkMjNkYjgyYWYyNWVhNDZjMGY4OTc4NWNlNDI0YmI2MGVi
NjFhNy4uNTBkNTI2Mzk3OTQzZTM4MWQzODBlYzQzZDgyZDViNjNmN2YwOGRjNCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmgKQEAgLTEwNSw2ICsxMDUsOSBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgCiAgICAgICAgIFNvdXJjZUNvZGUgc3ViRXhwcmVzc2lv
bih1bnNpZ25lZCBvcGVuQnJhY2UsIHVuc2lnbmVkIGNsb3NlQnJhY2UsIGludCBmaXJzdExpbmUs
IGludCBzdGFydENvbHVtbik7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgICAgICBTb3VyY2VDb2RlIHN1YkFycm93RXhwcmVzc2lvbih1bnNpZ25lZCBzdGFydEFy
cm93RnVuY3Rpb24sIHVuc2lnbmVkIGVuZEFycm93RnVuY3Rpb24sIGludCBmaXJzdExpbmUsIGlu
dCBzdGFydENvbHVtbik7CisjZW5kaWYKICAgICBwcml2YXRlOgogICAgICAgICBSZWZQdHI8U291
cmNlUHJvdmlkZXI+IG1fcHJvdmlkZXI7CiAgICAgICAgIGludCBtX3N0YXJ0Q2hhcjsKQEAgLTEx
OCw2ICsxMjEsMTcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBTb3VyY2VDb2Rl
KFN0cmluZ1NvdXJjZVByb3ZpZGVyOjpjcmVhdGUoc291cmNlLCB1cmwsIHN0YXJ0UG9zaXRpb24p
LCBzdGFydFBvc2l0aW9uLm1fbGluZS5vbmVCYXNlZEludCgpLCBzdGFydFBvc2l0aW9uLm1fY29s
dW1uLm9uZUJhc2VkSW50KCkpOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgaW5saW5lIFNvdXJjZUNvZGUgU291cmNlQ29kZTo6c3ViQXJyb3dFeHBy
ZXNzaW9uKHVuc2lnbmVkIHN0YXJ0QXJyb3dGdW5jdGlvbiwgdW5zaWduZWQgZW5kQXJyb3dGdW5j
dGlvbiwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKQorICAgIHsKKyAgICAgICAgQVNT
RVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW3N0YXJ0QXJyb3dGdW5jdGlvbl0gPT0gJz0nICYmIHBy
b3ZpZGVyKCktPnNvdXJjZSgpW3N0YXJ0QXJyb3dGdW5jdGlvbiArIDFdID09ICc+Jyk7CisgICAg
ICAgIC8vIEZpeG1lOiBVc2UgYmV0dGVyIGFwcHJvYWNoIHRvIGNoZWNrIHN5bWJvbAorICAgICAg
ICBBU1NFUlQocHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICcs
JyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJzsnIHx8
IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnKScgfHwgcHJv
dmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICddJyB8fCBwcm92aWRl
cigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJ30nKTsKKyAgICAgICAgc3Rh
cnRDb2x1bW4gKz0gMTsgLy8gQ29udmVydCB0byBiYXNlIDEuCisgICAgICAgIHJldHVybiBTb3Vy
Y2VDb2RlKHByb3ZpZGVyKCksIHN0YXJ0QXJyb3dGdW5jdGlvbiwgZW5kQXJyb3dGdW5jdGlvbiwg
Zmlyc3RMaW5lLCBzdGFydENvbHVtbik7CisgICAgfQorI2VuZGlmCisKICAgICBpbmxpbmUgU291
cmNlQ29kZSBTb3VyY2VDb2RlOjpzdWJFeHByZXNzaW9uKHVuc2lnbmVkIG9wZW5CcmFjZSwgdW5z
aWduZWQgY2xvc2VCcmFjZSwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKQogICAgIHsK
ICAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW29wZW5CcmFjZV0gPT0gJ3snKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJD
YWNoZUl0ZW0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJD
YWNoZUl0ZW0uaAppbmRleCA2MzUzNzllM2Y0NDU2NjhjNTJiODcyZjc2MTZkY2I1OTIxYTgyOTQ0
Li5mNDI4ZGI1MGE4ZGE3YTdhYjQ2ODI0YWIzODA4M2RiMDUyZDczNzc2IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5o
CkBAIC00MCw2ICs0MCwxMCBAQCBzdHJ1Y3QgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlv
blBhcmFtZXRlcnMgewogICAgIGJvb2wgbmVlZHNGdWxsQWN0aXZhdGlvbjsKICAgICBib29sIHVz
ZXNFdmFsOwogICAgIGJvb2wgc3RyaWN0TW9kZTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIGJvb2wgaXNCb2R5QXJyb3dFeHByZXNzaW9uOworICAgIEpTVG9rZW5U
eXBlIHRva2VuVHlwZTsKKyNlbmRpZgogICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+IHVz
ZWRWYXJpYWJsZXM7CiAgICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4gd3JpdHRlblZhcmlh
YmxlczsKIH07CkBAIC01NSwxMCArNTksMTQgQEAgcHVibGljOgogICAgIHN0YXRpYyBzdGQ6OnVu
aXF1ZV9wdHI8U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0+IGNyZWF0ZShjb25zdCBTb3VyY2VQcm92
aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFyYW1ldGVycyYpOwogICAgIH5Tb3VyY2VQcm92aWRlckNh
Y2hlSXRlbSgpOwogCi0gICAgSlNUb2tlbiBjbG9zZUJyYWNlVG9rZW4oKSBjb25zdCAKKyAgICBK
U1Rva2VuIGVuZEZ1bmN0aW9uVG9rZW4oKSBjb25zdCAKICAgICB7CiAgICAgICAgIEpTVG9rZW4g
dG9rZW47CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdG9r
ZW4ubV90eXBlID0gaXNCb2R5QXJyb3dFeHByZXNzaW9uID8gdG9rZW5UeXBlIDogQ0xPU0VCUkFD
RTsKKyNlbHNlCiAgICAgICAgIHRva2VuLm1fdHlwZSA9IENMT1NFQlJBQ0U7CisjZW5kaWYKICAg
ICAgICAgdG9rZW4ubV9kYXRhLm9mZnNldCA9IGNsb3NlQnJhY2VPZmZzZXQ7CiAgICAgICAgIHRv
a2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNlT2Zmc2V0OwogICAgICAgICB0
b2tlbi5tX2xvY2F0aW9uLmVuZE9mZnNldCA9IGNsb3NlQnJhY2VPZmZzZXQgKyAxOwpAQCAtODIs
NiArOTAsMTEgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIHVzZWRWYXJpYWJsZXNDb3VudDsKICAg
ICB1bnNpZ25lZCB3cml0dGVuVmFyaWFibGVzQ291bnQ7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgIGJvb2wgaXNCb2R5QXJyb3dFeHByZXNzaW9uOworICAgIEpT
VG9rZW5UeXBlIHRva2VuVHlwZTsKKyNlbmRpZgorCiAgICAgU3RyaW5nSW1wbCoqIHVzZWRWYXJp
YWJsZXMoKSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0PFN0cmluZ0ltcGwqKj4obV92YXJpYWJs
ZXMpOyB9CiAgICAgU3RyaW5nSW1wbCoqIHdyaXR0ZW5WYXJpYWJsZXMoKSBjb25zdCB7IHJldHVy
biBjb25zdF9jYXN0PFN0cmluZ0ltcGwqKj4oJm1fdmFyaWFibGVzW3VzZWRWYXJpYWJsZXNDb3Vu
dF0pOyB9CiAKQEAgLTExNSw2ICsxMjgsMTAgQEAgaW5saW5lIFNvdXJjZVByb3ZpZGVyQ2FjaGVJ
dGVtOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbShjb25zdCBTb3VyY2VQcm92aWRlckNhY2gKICAg
ICAsIGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQocGFyYW1ldGVycy5jbG9zZUJyYWNlTGluZVN0
YXJ0T2Zmc2V0KQogICAgICwgdXNlZFZhcmlhYmxlc0NvdW50KHBhcmFtZXRlcnMudXNlZFZhcmlh
Ymxlcy5zaXplKCkpCiAgICAgLCB3cml0dGVuVmFyaWFibGVzQ291bnQocGFyYW1ldGVycy53cml0
dGVuVmFyaWFibGVzLnNpemUoKSkKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgICwgaXNCb2R5QXJyb3dFeHByZXNzaW9uKHBhcmFtZXRlcnMuaXNCb2R5QXJyb3dFeHBy
ZXNzaW9uKQorICAgICwgdG9rZW5UeXBlKHBhcmFtZXRlcnMudG9rZW5UeXBlKQorI2VuZGlmCiB7
CiAgICAgdW5zaWduZWQgaiA9IDA7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHVzZWRW
YXJpYWJsZXNDb3VudDsgKytpLCArK2opIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9TeW50YXhDaGVja2VyLmgKaW5kZXggOGU0ZjYxYjk0OTg5MGI5YmY1NDAyOWU5NjY2MWVlZjUz
YTE3YjU4NC4uNWY4ZTIxMWVlNGI1M2IzOTRlYjVhZTIxOTBiODNjOGM0Zjg0NGNmZCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKQEAgLTE3MCw2ICsx
NzAsMTAgQEAgcHVibGljOgogI2VuZGlmCiAgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlRnVuY3Rp
b25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxT
eW50YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQogICAgIGludCBjcmVhdGVG
dW5jdGlvbkJvZHkoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgSlNUb2tlbkxvY2F0aW9u
JiwgaW50LCBpbnQsIGJvb2wsIGludCwgaW50LCBpbnQsIENvbnN0cnVjdG9yS2luZCkgeyByZXR1
cm4gRnVuY3Rpb25Cb2R5UmVzdWx0OyB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihjb25zdCBK
U1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4m
KSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KKyNlbmRpZiAKKyAgICB2b2lkIHNldEZ1bmN0aW9u
TmFtZVN0YXJ0KGludCwgaW50KSB7IH0KICAgICBpbnQgY3JlYXRlQXJndW1lbnRzKCkgeyByZXR1
cm4gQXJndW1lbnRzUmVzdWx0OyB9CiAgICAgaW50IGNyZWF0ZUFyZ3VtZW50cyhpbnQpIHsgcmV0
dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZVNwcmVhZEV4
cHJlc3Npb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvblR5cGUsIGludCwgaW50
LCBpbnQpIHsgcmV0dXJuIFNwcmVhZEV4cHI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZmYzNlYTE4MDA2ODk2
NDNhYWRkNmM2YTQ5N2VkMGFlNmMyMTExMjAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwCkBAIC0wLDAgKzEsNzcgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyNpbmNsdWRl
ICJKU0Fycm93RnVuY3Rpb24uaCIKKworI2luY2x1ZGUgIkVycm9yLmgiCisjaW5jbHVkZSAiRXhj
ZXB0aW9uSGVscGVycy5oIgorI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKKyNpbmNsdWRlICJKU0NK
U1ZhbHVlLmgiCisjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTRnVuY3Rpb25J
bmxpbmVzLmgiCisjaW5jbHVkZSAiSlNPYmplY3QuaCIKKyNpbmNsdWRlICJQcm9wZXJ0eVNsb3Qu
aCIKKyNpbmNsdWRlICJWTS5oIgorCituYW1lc3BhY2UgSlNDIHsKKyAgICAKK2NvbnN0IENsYXNz
SW5mbyBKU0Fycm93RnVuY3Rpb246OnNfaW5mbyA9IHsgIkFycm93RnVuY3Rpb24iLCAmQmFzZTo6
c19pbmZvLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTQXJyb3dGdW5jdGlvbikgfTsKKwordm9p
ZCBKU0Fycm93RnVuY3Rpb246OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQoreworICAgIHN0YXRpY19j
YXN0PEpTQXJyb3dGdW5jdGlvbio+KGNlbGwpLT5KU0Fycm93RnVuY3Rpb246On5KU0Fycm93RnVu
Y3Rpb24oKTsKK30KKworSlNBcnJvd0Z1bmN0aW9uOjpKU0Fycm93RnVuY3Rpb24oVk0mIHZtLCBK
U1Njb3BlKiBzY29wZSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSkKKyAgICA6IEJhc2Uodm0sIGV4ZWN1dGFibGUsIHNjb3BlLCBzdHJ1Y3R1cmUp
Cit7Cit9CisgICAgCit2b2lkIEpTQXJyb3dGdW5jdGlvbjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZt
KQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKy8vIFByb3RvdHlwZSBvZiBhcnJv
dyBmdW5jdGlvbiBpcyB1bmRlZmluZWQKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFt
ZXMtPnByb3RvdHlwZSwganNVbmRlZmluZWQoKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgRG9u
dEVudW0pOworfQorICAgIAordm9pZCBKU0Fycm93RnVuY3Rpb246OnZpc2l0Q2hpbGRyZW4oSlND
ZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKK3sKKyAgICBKU0Fycm93RnVuY3Rpb24q
IHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNBcnJvd0Z1bmN0aW9uKj4oY2VsbCk7CisgICAgQVNTRVJU
X0dDX09CSkVDVF9JTkhFUklUUyh0aGlzT2JqZWN0LCBpbmZvKCkpOworICAgIEJhc2U6OnZpc2l0
Q2hpbGRyZW4odGhpc09iamVjdCwgdmlzaXRvcik7Cit9CisgICAgCitDb25zdHJ1Y3RUeXBlIEpT
QXJyb3dGdW5jdGlvbjo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwqIGNlbGwsIENvbnN0cnVjdERh
dGEmIGNvbnN0cnVjdERhdGEpCit7CisgICAgSlNGdW5jdGlvbiogdGhpc09iamVjdCA9IGpzQ2Fz
dDxKU0Z1bmN0aW9uKj4oY2VsbCk7CisgICAgICAgIAorICAgIGNvbnN0cnVjdERhdGEuanMuZnVu
Y3Rpb25FeGVjdXRhYmxlID0gdGhpc09iamVjdC0+anNFeGVjdXRhYmxlKCk7CisgICAgY29uc3Ry
dWN0RGF0YS5qcy5zY29wZSA9IHRoaXNPYmplY3QtPnNjb3BlKCk7CisgICAgcmV0dXJuIENvbnN0
cnVjdFR5cGVOb25lOworfQorfSAvLyBuYW1lc3BhY2UgSlNDCisjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzgw
MTVkMzg3MjFjY2E0NGFlMmY2NWNiNmQ3N2I2YTY1MjIwOTY1ZAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oCkBAIC0wLDAg
KzEsNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIEpTQXJyb3dGdW5jdGlvbl9oCisjZGVmaW5lIEpTQXJyb3dGdW5jdGlvbl9oCisKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorCisjaW5jbHVkZSAiSlNGdW5jdGlv
bi5oIgorI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCisKK25hbWVzcGFjZSBKU0MgeworCitj
bGFzcyBKU0Fycm93RnVuY3Rpb24gOiBwdWJsaWMgSlNGdW5jdGlvbiB7CitwdWJsaWM6CisgICAg
dHlwZWRlZiBKU0Z1bmN0aW9uIEJhc2U7CisgICAgICAgIAorICAgIHN0YXRpYyBKU0Fycm93RnVu
Y3Rpb24qIGNyZWF0ZShWTSYgdm0sIEpTU2NvcGUqIHNjb3BlLCBGdW5jdGlvbkV4ZWN1dGFibGUq
IGV4ZWN1dGFibGUsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCisgICAgeworICAgICAg
ICBKU0Fycm93RnVuY3Rpb24qIGZ1bmN0aW9uID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8
SlNBcnJvd0Z1bmN0aW9uPih2bS5oZWFwKSkgSlNBcnJvd0Z1bmN0aW9uKHZtLCBzY29wZSwgZXhl
Y3V0YWJsZSwgZ2xvYmFsT2JqZWN0LT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCkpOworICAgICAg
ICBBU1NFUlQoZnVuY3Rpb24tPnN0cnVjdHVyZSgpLT5nbG9iYWxPYmplY3QoKSk7CisgICAgICAg
IGZ1bmN0aW9uLT5maW5pc2hDcmVhdGlvbih2bSk7CisgICAgICAgIHJldHVybiBmdW5jdGlvbjsK
KyAgICB9CisgICAgCisgICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0NlbGwqKTsKKyAgICAgICAg
CisgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUpCisgICAgeworICAgICAgICBB
U1NFUlQoZ2xvYmFsT2JqZWN0KTsKKyAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZt
LCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oSlNGdW5jdGlvblR5cGUsIFN0cnVj
dHVyZUZsYWdzKSwgaW5mbygpKTsKKyAgICB9CisgICAgICAgIAorICAgIHN0YXRpYyBDb25zdHJ1
Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYpOworICAgICAg
ICAKKyAgICBERUNMQVJFX0lORk87CisKK3Byb3RlY3RlZDoKKyAgICBjb25zdCBzdGF0aWMgdW5z
aWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNIYXNJbnN0YW5jZSB8IEJhc2U6OlN0cnVj
dHVyZUZsYWdzOworICAgICAgICAKKyAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2Vs
bCosIFNsb3RWaXNpdG9yJik7CisgICAgICAgIAorcHJpdmF0ZToKKyAgICBKU0Fycm93RnVuY3Rp
b24oVk0mLCBKU1Njb3BlKiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgU3RydWN0dXJlKik7CisKKyAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7Cit9OworICAgIAorfSAvLyBuYW1lc3BhY2UgSlND
CisjZW5kaWYgLy8gRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYCisKKyNlbmRpZiAvLyBKU0Fycm93
RnVuY3Rpb25faApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNG
dW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCmlu
ZGV4IDJjZmIzMzcyYzI4ZGMyMDg4NmMyMzgwOWQxOGU5MzNiNjJhNjQxNWYuLjNhMjM1MzVmZTg1
MWFlMmVmZmJhNzU5ZGZjZjllNmIwZjdiZjg2OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0Z1bmN0aW9uLmgKQEAgLTEzNiw2ICsxMzYsOSBAQCBwdWJsaWM6CiBwcm90ZWN0
ZWQ6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0
KiwgU3RydWN0dXJlKik7CiAgICAgSlNGdW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSos
IEpTU2NvcGUqKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEpT
RnVuY3Rpb24oVk0mLCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBKU1Njb3BlKiwgU3RydWN0dXJlKik7
CisjZW5kaWYKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBOYXRpdmVFeGVjdXRhYmxl
KiwgaW50IGxlbmd0aCwgY29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICB1c2luZyBCYXNlOjpmaW5p
c2hDcmVhdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
RnVuY3Rpb25JbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0
aW9uSW5saW5lcy5oCmluZGV4IGY2YzZkNThlYzZlNWMxMTY0Y2IyN2ZhNWU0MTYxOGI0YjgxNDJm
MDIuLjM4NTA2Y2MxOTlhMDA4ZmY4Zjk2YWRmNjg5YmUzNjA5ODc1ZGVhNWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaApAQCAtNDUs
NiArNDUsMTUgQEAgaW5saW5lIEpTRnVuY3Rpb246OkpTRnVuY3Rpb24oVk0mIHZtLCBGdW5jdGlv
bkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpTU2NvcGUqIHMKIHsKIH0KIAorI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitpbmxpbmUgSlNGdW5jdGlvbjo6SlNGdW5jdGlvbihW
TSYgdm0sIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgSlNTY29wZSogc2NvcGUsIFN0
cnVjdHVyZSogc3RydWN0dXJlKQorICAgIDogQmFzZSh2bSwgc2NvcGUsIHN0cnVjdHVyZSkKKyAg
ICAsIG1fZXhlY3V0YWJsZSh2bSwgdGhpcywgZXhlY3V0YWJsZSkKKyAgICAsIG1fcmFyZURhdGEo
KQoreworfQorI2VuZGlmCisgICAgCiBpbmxpbmUgRnVuY3Rpb25FeGVjdXRhYmxlKiBKU0Z1bmN0
aW9uOjpqc0V4ZWN1dGFibGUoKSBjb25zdAogewogICAgIEFTU0VSVCghaXNIb3N0RnVuY3Rpb25O
b25JbmxpbmUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bE9iamVjdC5jcHAKaW5kZXggZTM0YWRkMTI4MjQxYTk2MDM0ZWQ4NTc2YWNlYTg1MDNkM2JiZjEz
NC4uZWI2ZjI1MzU4YzM0YWU3NTk3MjczMzRmMDAwZmYzYjE0ZmY2ZjE5ZCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtNTgsNiAr
NTgsNyBAQAogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUg
IkpTQXJyYXlCdWZmZXJQcm90b3R5cGUuaCIKICNpbmNsdWRlICJKU0FycmF5SXRlcmF0b3IuaCIK
KyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24u
aCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDYWxsYmFja0NvbnN0cnVj
dG9yLmgiCkBAIC0yMzEsNiArMjMyLDkgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChWTSYg
dm0pCiAgICAgZXhlYy0+c2V0Q2FsbGVlKG1fZ2xvYmFsQ2FsbGVlLmdldCgpKTsKIAogICAgIG1f
ZnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0Z1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1
cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZS5zZXQo
dm0sIHRoaXMsIEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1
bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7CisjZW5kaWYKICAgICBtX2JvdW5kRnVuY3Rpb25TdHJ1
Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0JvdW5kRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwg
dGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOwogICAgIG1fbmFtZWRGdW5jdGlvblN0
cnVjdHVyZS5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uKHZt
LCBtX2Z1bmN0aW9uU3RydWN0dXJlLmdldCgpLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBEb250
RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51bSwgbV9mdW5jdGlvbk5hbWVPZmZzZXQpKTsKICAg
ICBtX2ludGVybmFsRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBJbnRlcm5hbEZ1bmN0
aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkp
KTsKQEAgLTczNiw2ICs3NDAsOSBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojp2aXNpdENoaWxkcmVu
KEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCiAgICAgdmlzaXRvci5hcHBlbmQo
JnRoaXNPYmplY3QtPm1fY2FsbGVlU3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhp
c09iamVjdC0+bV9mdW5jdGlvblN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNP
YmplY3QtPm1fYm91bmRGdW5jdGlvblN0cnVjdHVyZSk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9hcnJvd0Z1
bmN0aW9uU3RydWN0dXJlKTsKKyNlbmRpZgogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0
LT5tX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2Jq
ZWN0LT5tX3N5bWJvbE9iamVjdFN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNP
YmplY3QtPm1fcmVnRXhwTWF0Y2hlc0FycmF5U3RydWN0dXJlKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCmluZGV4IGQxN2I0YTM0OGZhMTRkYWQw
M2FiNzYwNmM3OTMxZWJlZmIxNzljZDIuLmM1YTQzNTk3ODAxNGZiZWE1ZDMxNGJkZTEwNTA5YmQ1
MjdmYWZmYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xv
YmFsT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxP
YmplY3QuaApAQCAtMjI3LDYgKzIyNyw5IEBAIHByb3RlY3RlZDoKICAgICBXcml0ZUJhcnJpZXI8
U3RydWN0dXJlPiBtX2NhbGxlZVN0cnVjdHVyZTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJl
PiBtX2Z1bmN0aW9uU3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYm91
bmRGdW5jdGlvblN0cnVjdHVyZTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZTsK
KyNlbmRpZgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fbmFtZWRGdW5jdGlvblN0cnVj
dHVyZTsKICAgICBQcm9wZXJ0eU9mZnNldCBtX2Z1bmN0aW9uTmFtZU9mZnNldDsKICAgICBXcml0
ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3ByaXZhdGVOYW1lU3RydWN0dXJlOwpAQCAtNDY0LDYgKzQ2
Nyw5IEBAIHB1YmxpYzoKICAgICBTdHJ1Y3R1cmUqIGNhbGxlZVN0cnVjdHVyZSgpIGNvbnN0IHsg
cmV0dXJuIG1fY2FsbGVlU3RydWN0dXJlLmdldCgpOyB9CiAgICAgU3RydWN0dXJlKiBmdW5jdGlv
blN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fZnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0K
ICAgICBTdHJ1Y3R1cmUqIGJvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBt
X2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIFN0cnVjdHVyZSogYXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpIGNv
bnN0IHsgcmV0dXJuIG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQorI2VuZGlmCiAg
ICAgU3RydWN0dXJlKiBuYW1lZEZ1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9u
YW1lZEZ1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CiAgICAgUHJvcGVydHlPZmZzZXQgZnVuY3Rp
b25OYW1lT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9mdW5jdGlvbk5hbWVPZmZzZXQ7IH0KICAg
ICBTdHJ1Y3R1cmUqIG51bWJlck9iamVjdFN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fbnVt
YmVyT2JqZWN0U3RydWN0dXJlLmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci5qcyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3BhcmFtdGVyLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjYzNjFiOGRiMDIyODI3OTZkMWJiMDRmNWRiZDQwMTliNzI4OWYyY2MKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tYXNwYXJhbXRlci5qcwpAQCAtMCwwICsxLDggQEAKKy8vIEluc3BpcmVkIGJ5IG1vemls
bGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNz
YWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSAr
ICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICIn
IjsKKyAgfQorfTsKKwordGVzdENhc2UoIiIgKyBbMSwgMiwgMywgNF0ubWFwKHggPT4geCwgMzIp
LCAiMSwyLDMsNCIsICJFcnJvcjogYXJyb3cgZnVuY3Rpb24gYXMgdGhlIHBhcmFtdGVycy4iKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5j
dGlvbi1hc3NvY2lhdGl2aXR5LTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0xLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkMWQ0N2E0
ODA3NWVjNTk4YzZiZTFlMDdkNzhhMzUyNjM1M2E5MTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0
eS0xLmpzCkBAIC0wLDAgKzEsMTMgQEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3Zh
ciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlm
IChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVk
ICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsK
KwordmFyIGFmMSwgYWYyLCBhZjM7CithZjEgPSBhZjIgPSBhZjMgPT4gYWYxID0gYWYyID0gYWYz
OwordGVzdENhc2UoYWYxLCBhZjIsICJFcnJvcjogd3JvbmcgYXNzb2NpYXRpdml0eSAjMS4iKTsK
K2FmMSgxMyk7Cit0ZXN0Q2FzZShhZjIsIDEzLCAiRXJyb3I6IHdyb25nIGFzc29jaWF0aXZpdHkg
IzIuIik7Cit0ZXN0Q2FzZShhZjEsIDEzLCAiRXJyb3I6IHdyb25nIGFzc29jaWF0aXZpdHkgIzMu
Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93
ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHktMi5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZWRk
ODM5YzZiYzdlZDZhNDBlZmZiYmM4NzU0ZWQxYmZkODA2YjQzCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0
aXZpdHktMi5qcwpAQCAtMCwwICsxLDE0IEBACisvLyBJbnNwaXJlZCBieSBtb3ppbGxhIHRlc3Rz
Cit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgewor
ICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBl
Y3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0K
K307CisKK3ZhciBzPSIiOworcyArPSB4ID0+IHgubmFtZTsKKworLy8gRml4IG1lLiBQb3NzaWJs
ZSB3ZSBoYXZlIG5vdCB1c2UgdGhlIEpTQm91bnRGdW5jdGlvbiB3cmFwcGVyIGZvciB0aGUgbGV4
aWNhbAorLy8gYmluZGluZyBvZiB0aGUgdGhpcyBhbmQgdXNlIGRpcmVjdCBpbmplY3Rpb24gb2Yg
dGhlICd0aGlzJyB2YWx1ZQorLy8gaW50byBhcnJyb3cgZnVuY3Rpb24KKy8vIHRlc3RDYXNlKHMs
ICJ4ID0+IHgubmFtZSIgLCAiRXJyb3I6IHdyb25nIHRvU3RyaW5nIGNvbnZlcnNpb24uIik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tYXNzb2NpYXRpdml0eS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY3ZWQxNTNjZWViYTUy
NjIyOGVjYTgyMTMwNDY5YTkyNDRiMTRjMDUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS5qcwpA
QCAtMCwwICsxLDEwIEBACisvLyBJbnNwaXJlZCBieSBtb3ppbGxhIHRlc3RzCit2YXIgdGVzdENh
c2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFs
ICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4
cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBh
ZiA9IGEgPT4gYiA9PiBhOworCit0ZXN0Q2FzZShhZignQUJDJykoJ0RFRicpLCAnQUJDJywgIkVy
cm9yOiB3cm9uZyBuZXN0ZWQgYXJyb3cgZnVuY3Rpb25zLiIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJsb2NrLTEuanMgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2stMS5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4wYzU3MWJiNzJmY2ZlZjUzMGM1OWRiNGI4NjBjYTRmMGE5NmE0MTE2Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJv
d2Z1bmN0aW9uLWJsb2NrLTEuanMKQEAgLTAsMCArMSwxMSBAQAorLy8gSW5zcGlyZWQgYnkgbW96
aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1l
c3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdl
ICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsg
IiciOworICB9Cit9OworCit2YXIgZiA9ICgpID0+IHt9OwordGVzdENhc2UodHlwZW9mIGYoKSwg
J3VuZGVmaW5lZCcsICJFcnJvcjogd3JvbmcgYXJyb3cgZnVuY3Rpb24gYmxvY2suIik7Cit2YXIg
ZyA9ICgpID0+ICh7fSk7Cit0ZXN0Q2FzZSh0eXBlb2YgZygpLCAnb2JqZWN0JywgIkVycm9yOiB3
cm9uZyBhcnJvdyBmdW5jdGlvbiBibG9jay4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ibG9jay0yLmpzIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJsb2NrLTIuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNDdlZTM1MmNmMDFkMTM2ZTMwMjkyMjczNmM1YzgwZWY1M2MwM2Y2ZQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1ibG9jay0yLmpzCkBAIC0wLDAgKzEsMTAgQEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVz
dHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7
CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4
cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAg
fQorfTsKKwordmFyIGFmID0gYSA9PiB7IGEgKyAxOyB9OworCit0ZXN0Q2FzZSh0eXBlb2YgYWYo
MCksICd1bmRlZmluZWQnLCAiRXJyb3I6IHdyb25nIGFycm93IGZ1bmN0aW9uIGJsb2NrICMyLiIp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1
bmN0aW9uLWNvbnN0cnVjdG9yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9hcnJvd2Z1bmN0aW9uLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk1MDdiNTM2NGYwNDEx
MzU4NWVhYmE4YzI0YTQ3YTRhMTBkMTZiN2IKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY29uc3RydWN0b3IuanMKQEAg
LTAsMCArMSwxOCBAQAordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQs
IG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNz
YWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFs
ICsgIiciOworICB9Cit9OworCit2YXIgc2ltcGxlQXJyb3dGdW5jdGlvbiA9ICgpID0+IHt9Owor
Cit2YXIgZXJyb3JPbkNyZWF0ZSA9IGZhbHNlOworCit0cnkgeworICB2YXIgZmMgPSBuZXcgc2lt
cGxlQXJyb3dGdW5jdGlvbigpOworfQorY2F0Y2ggKGUpIHsKKyAgZXJyb3JPbkNyZWF0ZSA9IHRy
dWU7Cit9CisKK3Rlc3RDYXNlKGVycm9yT25DcmVhdGUsIHRydWUsICJFcnJvcjogTm8gZXJyb3Ig
ZHVyaW5nIHJ1biBuZXcgQXJyb3dGdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWx0aGlzLTEuanMgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbHRo
aXMtMS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mNTUzMWY1NzU2MmYyODY4ZWVhZDM5ZmNkNjZlZTUwNzhiYWNl
ZDFiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9hcnJvd2Z1bmN0aW9uLWxleGljYWx0aGlzLTEuanMKQEAgLTAsMCArMSwxNyBAQAordmFyIHJl
c3VsdDsKKworIHZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNz
YWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSAr
ICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICIn
IjsKKyAgfQorfTsKKworZnVuY3Rpb24gRG9nKG5hbWUpIHsKKyAgdGhpcy5uYW1lID0gbmFtZTsK
KyAgdGhpcy5nZXROYW1lID0gKCkgPT4gZXZhbCgidGhpcy5uYW1lIik7CisgIHRoaXMuZ2V0TmFt
ZUhhcmQgPSAoKSA9PiBldmFsKCIoKCkgPT4gdGhpcy5uYW1lKSgpIik7Cit9CisKK3ZhciBkID0g
bmV3IERvZygiTWF4Iik7Cit0ZXN0Q2FzZShkLmdldE5hbWUoKSwgZC5uYW1lLCAiRXJyb3I6IHRo
aXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAj
MSIpOwordGVzdENhc2UoZC5nZXROYW1lSGFyZCgpLCBkLm5hbWUsICJFcnJvcjogdGhpcyBpcyBu
b3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMyIik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tbGV4aWNhbHRoaXMuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tbGV4aWNhbHRoaXMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjEyZmJhZjgwNDQ4MmM3NzYx
YzM3ZGQ2OTNhODQ4NWU1NTExNTczZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsdGhpcy5qcwpAQCAtMCww
ICsxLDMxIEBACit2YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVh
bCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAg
ICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2Fz
ICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgYWZPYmpMZXhCaW5kMiA9IGZ1bmN0
aW9uICgpIHsKKyAgdGhpcy5mdW5jID0gKCkgPT4gdGhpczsKK307CisKK3ZhciBhZk9iakxleEJp
bmQySW5zdGFuY2UgPSBuZXcgYWZPYmpMZXhCaW5kMigpOworCit0ZXN0Q2FzZShhZk9iakxleEJp
bmQySW5zdGFuY2UuZnVuYygpID09PSBhZk9iakxleEJpbmQySW5zdGFuY2UsIHRydWUsICJFcnJv
cjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0
aW9uICMyIik7CisKK3ZhciBvYmogPSB7CisgIG1ldGhvZDogZnVuY3Rpb24gKCkgeworICAgIHJl
dHVybiAoKSA9PiB0aGlzOworICB9Cit9OworCit0ZXN0Q2FzZShvYmoubWV0aG9kKCkoKSA9PT0g
b2JqLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiAjMyIpOworCit2YXIgZmFrZSA9IHtzdGVhbDogb2JqLm1ldGhv
ZCgpfTsKK3Rlc3RDYXNlKGZha2Uuc3RlYWwoKSA9PT0gb2JqLCB0cnVlLCAiRXJyb3I6IHRoaXMg
aXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNCIp
OworCisKKy8vIEZpeG1lOiBmb2xsb3dpbmcgdGVzdCBmYWlscyBpbiBkZmctZWFnZXItbm8tY2pp
dC12YWxpZGF0ZSAmIGZ0bC1lYWdlci1uby1jaml0IG1vZGUKK3ZhciByZWFsID0ge2JvcnJvdzog
b2JqLm1ldGhvZH07Cit0ZXN0Q2FzZShyZWFsLmJvcnJvdygpKCkgPT09IHJlYWwsIHRydWUsICJF
cnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1
bmN0aW9uICM1Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tb3RoZXJzLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLW90aGVycy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZWJhMTFmMzAyMmUz
NGE4MDAwYTU3MDA3NmRiMWE1NWE0YTMyYjIxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLW90aGVycy5qcwpAQCAtMCww
ICsxLDEzIEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVz
c2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2Ug
KyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAi
JyI7CisgIH0KK307CisKK3ZhciBzaW1wbGVBcnJvd0Z1bmN0aW9uID0gKCkgPT4ge307CisKK3Rl
c3RDYXNlKE9iamVjdC5nZXRQcm90b3R5cGVPZihzaW1wbGVBcnJvd0Z1bmN0aW9uKSwgRnVuY3Rp
b24ucHJvdG90eXBlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGdldFByb3RvdHlwZU9mIHZhbHVlIGZv
ciBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uIGluc3Rh
bmNlb2YgRnVuY3Rpb24sIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBpbnN0
YW5jZW9mIG1ldGhvZCBmb3IgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2Uoc2ltcGxlQXJy
b3dGdW5jdGlvbi5jb25zdHJ1Y3RvciA9PSBGdW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3QgY29y
cmVjdCByZXN1bHQgZm9yIGNvbnN0cnVjdG9yIG1ldGhvZCBvZiBhcnJvdyBmdW5jdGlvbiIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0
aW9uLXRkei5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5j
dGlvbi10ZHouanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTlkMzVjZGVhNGJhZjY2NzQzMWFmOGFiZThkYWRmMjJk
MDRiOTBlMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvYXJyb3dmdW5jdGlvbi10ZHouanMKQEAgLTAsMCArMSwyNCBAQAordmFyIEEgPSBjbGFz
cyBBIHsgfTsKK3ZhciBCID0gY2xhc3MgQiBleHRlbmRzIEEgeworICBjb25zdHJ1Y3RvcihhY2Nl
c3NUaGlzQmVmb3JlU3VwZXIpIHsKKyAgICBpZiAoYWNjZXNzVGhpc0JlZm9yZVN1cGVyKSB7Cisg
ICAgICB2YXIgZiA9ICgpID0+IHRoaXM7CisgICAgICBzdXBlcigpOworICAgIH0gZWxzZSB7Cisg
ICAgICBzdXBlcigpOworICAgIH0KKyAgfQorfTsKKwordmFyIGV4Y2VwdGlvbiA9IG51bGw7Cit0
cnkgeworICAgICBuZXcgQih0cnVlKTsKK30gY2F0Y2ggKGUpIHsKKyAgICBleGNlcHRpb24gPSBl
OworICAgIGlmICghKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikpCisgICAgICAgIHRocm93
ICJFeGNlcHRpb24gdGhyb3duIHdhcyBub3QgYSByZWZlcmVuY2UgZXJyb3IiOworfQoraWYgKCFl
eGNlcHRpb24pCisgICAgdGhyb3cgIkV4Y2VwdGlvbiBub3QgdGhyb3duIGZvciBhbiB1bml0aWFs
aXplZCB0aGlzIGF0IGl0ZXJhdGlvbiI7CisKK3ZhciBlID0gbmV3IEIoZmFsc2UpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXR5
cGVvZi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi10eXBlb2YuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWYyYTdmNTQ0NzZhYmE5YzI4OTIzYzM1ZjFkYjNjNDMy
N2FjOTQ2OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvYXJyb3dmdW5jdGlvbi10eXBlb2YuanMKQEAgLTAsMCArMSwyMSBAQAordmFyIHRlc3RD
YXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVh
bCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBl
eHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIg
YWYxID0gKCkgPT4ge307Cit2YXIgYWYyID0gKGEpID0+IHthICsgMX07CisKK3Rlc3RDYXNlKHR5
cGVvZiBhZjEsICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNvcnJlY3QgdHlwZSBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24gIzEiKTsKK3Rlc3RDYXNlKHR5cGVvZiBhZjEucHJvdG90eXBlID09PSAndW5k
ZWZpbmVkJywgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBv
ZiBhcnJvdyBmdW5jdGlvbiAjMSIpOworCit0ZXN0Q2FzZSh0eXBlb2YgYWYyLCAiZnVuY3Rpb24i
LCAiRXJyb3I6IE5vdCBjb3JyZWN0IHR5cGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMyIik7Cit0
ZXN0Q2FzZSh0eXBlb2YgYWYyLnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJFcnJv
cjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBwcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24gIzIi
KTsKKwordGVzdENhc2UodHlwZW9mICgoKT0+e30pLCAiZnVuY3Rpb24iLCAiRXJyb3I6IE5vdCBj
b3JyZWN0IHR5cGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMzIik7Cit0ZXN0Q2FzZSh0eXBlb2Yg
KCgpPT57fSkucHJvdG90eXBlID09PSAndW5kZWZpbmVkJywgdHJ1ZSwgIkVycm9yOiBOb3QgY29y
cmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiAjMyIpOworCisKK3Rl
c3RDYXNlKHR5cGVvZiAoKGIpID0+IHtiICsgMX0pLCAiZnVuY3Rpb24iLCAiRXJyb3I6IE5vdCBj
b3JyZWN0IHR5cGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM0Iik7Cit0ZXN0Q2FzZSh0eXBlb2Yg
KChiKSA9PiB7YiArIDF9KS5wcm90b3R5cGUgPT09ICd1bmRlZmluZWQnLCB0cnVlLCAiRXJyb3I6
IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9uICM0Iik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24uanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMDY4N2IzYWFiMWQyN2Y0NTNmOTA3NjFjZWMxYWQ0ZDA1Y2YwM2Iz
NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YXJyb3dmdW5jdGlvbi5qcwpAQCAtMCwwICsxLDE1NCBAQAordmFyIHJlc3VsdDsKKworIHZhciB0
ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChh
Y3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICci
ICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwor
dmFyIGFycm93RnVuY3Rpb24wID0gdiA9PiB2ICsgMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24w
KDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogdiA9PiB2ICsgMSIpOworCit2YXIgYXJyb3dGdW5jdGlv
bjEgPSAodikgPT4gdiAqIDI7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMSgxMCk7Cit0ZXN0Q2Fz
ZShyZXN1bHQsIDIwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb246ICh2KSA9PiB2ICsgMSIpOworCit2YXIgYXJyb3dGdW5jdGlvbjIgPSAoKSA9PiAx
MDAwOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjIoMTIxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDEw
MDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjog
KCkgPT4gMTAwMCIpOworCit2YXIgdG1wVmFyaWFsdmUyXzEgPSAxNTE7Cit2YXIgYXJyb3dGdW5j
dGlvbjJfMSA9ICgpID0+IHRtcFZhcmlhbHZlMl8xOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjJf
MSgxMjEpOwordGVzdENhc2UocmVzdWx0LCB0bXBWYXJpYWx2ZTJfMSAsIkVycm9yOiBOb3QgY29y
cmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAoKSA9PiB2YXJpYWJsZSIpOwor
Cit2YXIgYXJyb3dGdW5jdGlvbjMgPSAodiwgeCkgPT4gdiArIHg7CityZXN1bHQgPSBhcnJvd0Z1
bmN0aW9uMygxMSwxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDIzICwiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICh4LCB5KSA9PiB4ICsgeSIpOworCit2
YXIgYXJyb3dGdW5jdGlvbldyYXBwZXIgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVyKSB7IHJldHVy
biBjbChwYXJhbXRlcik7IH07CisKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4g
MTIzNCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMzQgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMpIik7CisKKyBy
ZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEyMzQsIDIzNDUpOwordGVzdENhc2Uo
cmVzdWx0LCAxMjM0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjLCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dG
dW5jdGlvbldyYXBwZXIoeCA9PiAxMjEgKyAyMzIpOwordGVzdENhc2UocmVzdWx0LCAzNTMgLCJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJh
bXRlcjogZih4ID0+IGMxICsgYzIpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBl
cih4ID0+IDEyMyArIDMyMSwgOTk5OSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDQ0NCAsIkVycm9yOiBO
b3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBm
KHggPT4gYzEgKyBjMiwgeSkiKTsKKworIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHgg
PT4geCArIDEyLCAyMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDMzICwiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiB4ICsg
YzEsIHkpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoeCkgPT4geCArIDIx
LCAzMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDUzLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKHgpID0+IGMxICsgYzIsIHkp
Iik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiAxMDApOwordGVzdENh
c2UocmVzdWx0LCAxMDAsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjKSIpOworCisgdmFyIGV4dF92YWx1ZSA9
IDEyMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IGV4dF92YWx1ZSk7Cit0
ZXN0Q2FzZShyZXN1bHQsIDEyMSwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhl
IGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IHYpIik7CisKKyByZXN1bHQgPSBh
cnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiBleHRfdmFsdWUgKiAxMCk7Cit0ZXN0Q2FzZShyZXN1
bHQsIDEyMTAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiB2KngpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0
aW9uV3JhcHBlcigoeCkgPT4gZXh0X3ZhbHVlICogeCwgMzApOwordGVzdENhc2UocmVzdWx0LCAz
MCpleHRfdmFsdWUgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbiBhcyBwYXJhbXRlcjogZigoeCkgPT4gdip4LCB5KSIpOworCisgcmVzdWx0ID0gYXJy
b3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwLCAxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMCAs
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBh
cmFtdGVyOiBmKCgpID0+IGMxLCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBw
ZXIoKCkgPT4gMTAwICsgMTApOwordGVzdENhc2UocmVzdWx0LCAxMTAgLCJFcnJvcjogTm90IGNv
cnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9
PiBjMSArIGMyKSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAw
ICsgMTEsIDEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYzEgKyBj
MiwgeSkiKTsKKworIHZhciBhcnJvd0Z1bmN0aW9uNCA9IHYgPT4gdiArIDEsIHh5ejEgPSAxMDEw
MTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb240KDEwMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDEy
ICwiRXJyb3I6IE5vdCBjb3JyZWN0IHBhcnNpbmcgb2YgdGggYXJyb3cgZnVuY3Rpb24gaW5zaWRl
IG9mIHRoZSBsaXN0IG9mIHZhcnM6IHZhciBhZiA9IHY9PiB2ICsgMTsgenhjPWM7Iik7Cit0ZXN0
Q2FzZSh4eXoxLCAxMDEwMSAsIkVycm9yOiBOb3QgY29ycmVjdCBwYXJzaW5nIG9mIHRoIGFycm93
IGZ1bmN0aW9uIGluc2lkZSBvZiB0aGUgbGlzdCBvZiB2YXJzOiB2YXIgYWYgPSB2PT4gdiArIDE7
IHp4Yz1jOyIpOworCisgdmFyIGFycm93RnVuY3Rpb25XcmFwcGVyMiA9IGZ1bmN0aW9uIChjbCwg
cGFyYW10ZXIxLCBwYXJhbXRlcjIpIHsgcmV0dXJuIGNsKHBhcmFtdGVyMSwgcGFyYW10ZXIyKTsg
fTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyMigoeCwgeSkgPT4geCArIHksIDEyICw0
Myk7Cit0ZXN0Q2FzZShyZXN1bHQsIDU1ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW1ldGVyOiBmKCh4LCB5KSA9PiB4ICsgeSwgYzEs
IGMyKSIpOworCisgdmFyIGFycm93RnVuY3Rpb0FycmF5MCA9IFt2ID0+IHYgKiAxMF07CityZXN1
bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTBbMF0oMTApOwordGVzdENhc2UocmVzdWx0LCAxMDAgLCJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVt
IGluIGFycmF5OiBbdj0+dioxMF0iKTsKKworIHZhciBhcnJvd0Z1bmN0aW9BcnJheTEgPSBbdiA9
PiB2ICsgMSwgdiA9PiB2ICsgMl07CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTFbMF0oMTAp
OwordGVzdENhc2UocmVzdWx0LCAxMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFt2ID0+IHYgKyAxLCAgdiA9PiB2
ICsgMl0iKTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5MVsxXSgxMSk7Cit0ZXN0Q2FzZShy
ZXN1bHQsIDEzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb24gYXMgaXRlbSBpbiBhcnJheTogW3YgPT4gdiArIDEsICB2ID0+IHYgKyAyXSIpOworCisg
dmFyIGFycm93RnVuY3Rpb0FycmF5MiA9IFsodikgPT4gdiArIDEsICh2KSA9PiB2ICsgMl07City
ZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTJbMF0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMiAs
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0
ZW0gaW4gYXJyYXk6IFsodikgPT4gdiArIDEsICAodikgPT4gdiArIDJdIik7CityZXN1bHQgPSBh
cnJvd0Z1bmN0aW9BcnJheTJbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMyAsIkVycm9yOiBO
b3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJy
YXk6IFsodikgPT4gdiArIDEsICAodikgPT4gdiArIDJdIik7CisKKyB2YXIgYXJyb3dGdW5jdGlv
QXJyYXkzID0gWygpID0+IDEwMSwgKCkgPT4gMTIzMjNdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlv
QXJyYXkzWzBdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAxLCAiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogWygpID0+
IGMxLCAgKCkgPT4gYzJdIik7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTNbMV0oMTEpOwor
dGVzdENhc2UocmVzdWx0LCAxMjMyMywgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsoKSA9PiBjMSwgICgpID0+IGMy
XSIpOworCit2YXIgYXJyb3dGdW5jdGlvbk9iaiA9IHtmdW5jIDogeSA9PiB5ICsgMTJ9OworcmVz
dWx0ID0gYXJyb3dGdW5jdGlvbk9iai5mdW5jKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjMgLCAi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcHJv
cGVydHk6IHtmdW5jIDogeSA9PiB5ICsgMTIgfSIpOworCit2YXIgYWZPYmpMZXhCaW5kMiA9IGZ1
bmN0aW9uICgpIHsKKyAgdGhpcy5mdW5jID0gKCkgPT4gdGhpczsKK307CisKK3ZhciBhcnJvd0Zh
dEZ1bmN0aW9uMCA9ICgpID0+IHsgcmV0dXJuIDEwMDA7IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1
bmN0aW9uMCgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMDAgLCJFcnJvcjogTm90IGNvcnJlY3Qg
ZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICgpID0+
IHsgcmV0dXJuIDEwMDA7IH0iKTsKKwordmFyIGFycm93RmF0RnVuY3Rpb24xID0gdiA9PiB7IHZh
ciBpbnR2YWwgPSAxMDA7IHJldHVybiB2ICogaW50dmFsOyB9OworcmVzdWx0ID0gYXJyb3dGYXRG
dW5jdGlvbjEoMTEpOwordGVzdENhc2UocmVzdWx0LCAxMTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiB4ID0+
IHsgdmFyIHY9MTAwMDsgcmV0dXJuIHYqeDsgfSIpOworCit2YXIgYXJyb3dGYXRGdW5jdGlvbjIg
PSAodikgPT4geyB2YXIgaW50ID0gMjAwOyByZXR1cm4gdiAqIGludDsgfTsKK3Jlc3VsdCA9IGFy
cm93RmF0RnVuY3Rpb24yKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjIwMCAsIkVycm9yOiBOb3Qg
Y29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9j
azogKHgpID0+IHsgdmFyIHY9MTAwMDsgcmV0dXJuIHYqeDsgfSIpOworCit2YXIgYXJyb3dGYXRG
dW5jdGlvbjMgPSAodiwgeCkgPT4geyB2YXIgcmVzdWx0ID0geCAqIHY7IHJldHVybiByZXN1bHQ7
IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0aW9uMygxMSwgMTIyMjIpOwordGVzdENhc2UocmVz
dWx0LCAxMzQ0NDIgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICh2LCB4KSA9PiB7IHZhciByZXN1bHQgPSB4ICog
djsgcmV0dXJuIHJlc3VsdDsgfSIpOworCityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4
PT57cmV0dXJuIHggKiAyNTt9LCAxMjEpOwordGVzdENhc2UocmVzdWx0LCAyNSoxMjEgLCJFcnJv
cjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkg
YXMgYmxvY2s6IGYoeCA9PiB7cmV0dXJuIHggKiAyNTt9LCAxMjEpIik7CisKK3Jlc3VsdCA9IGFy
cm93RnVuY3Rpb25XcmFwcGVyMigoeCwgeSk9PntyZXR1cm4geCAqIHk7fSwgMTQsIDEyKTsKK3Rl
c3RDYXNlKHJlc3VsdCwgMTQqMTIgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6IGYoKHgsIHkpPT57cmV0dXJuIHgg
KiB5O30sIDE0LCAxMjEpKSIpOworCit2YXIgc2ltcGxlQXJyb3dGdW5jdGlvbiA9ICgpID0+IHt9
OworCit0ZXN0Q2FzZSh0eXBlb2Ygc2ltcGxlQXJyb3dGdW5jdGlvbiwgImZ1bmN0aW9uIiwgIkVy
cm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2Fz
ZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yoc2ltcGxlQXJyb3dGdW5jdGlvbiksIEZ1bmN0aW9uLnBy
b3RvdHlwZSwgIkVycm9yOiBOb3QgY29ycmVjdCBnZXRQcm90b3R5cGVPZiB2YWx1ZSBmb3IgYXJy
b3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2Uoc2ltcGxlQXJyb3dGdW5jdGlvbiBpbnN0YW5jZW9m
IEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgaW5zdGFuY2Vv
ZiBtZXRob2QgZm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93RnVu
Y3Rpb24uY29uc3RydWN0b3IgPT0gRnVuY3Rpb24sIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3Qg
cmVzdWx0IGZvciBjb25zdHJ1Y3RvciBtZXRob2Qgb2YgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVz
dENhc2UodHlwZW9mIHNpbXBsZUFycm93RnVuY3Rpb24ucHJvdG90eXBlID09PSAndW5kZWZpbmVk
JywgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJv
dyBmdW5jdGlvbiIpOworCit2YXIgZXJyb3JPbkNyZWF0ZSA9IGZhbHNlOworCit0cnkgeworICB2
YXIgZmMgPSBuZXcgc2ltcGxlQXJyb3dGdW5jdGlvbigpOworfQorY2F0Y2ggKGUpIHsKKyAgZXJy
b3JPbkNyZWF0ZSA9IHRydWU7Cit9CisKK3Rlc3RDYXNlKGVycm9yT25DcmVhdGUsIHRydWUsICJF
cnJvcjogTm8gZXJyb3IgZHVyaW5nIHJ1biBuZXcgQXJyb3dGdW5jdGlvbiIpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcg
Yi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpp
bmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2OTcy
ZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUs
NyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FO
VkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZ
TlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NTU19BTklNQVRJT05T
X0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMjsKQEAgLTIxNCw0ICsyMTUs
NCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9B
UklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVS
RV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFC
TEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NB
Q0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19Q
Uk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5U
QVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFC
TEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JS
RUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRB
VElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9O
UykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQo
RU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxF
X0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5B
QkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJM
RV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxF
X0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQo
RU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVO
QUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxF
X0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJF
Q0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElN
RVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NP
TlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQo
RU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJM
RV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykg
JChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdB
Q1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRD
SCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5B
QkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVU
RVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkg
JChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NP
TkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lO
KSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9Y
SU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RB
KSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRP
Q09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05f
TUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xM
X1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAk
KEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19P
VEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFC
TEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RS
QUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChF
TkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdf
TU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5B
QkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJ
WkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFC
TEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxF
X0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVO
QUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJM
RV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVf
QUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQo
RU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAk
KEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVf
Q1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19C
T1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9D
U1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVf
Q1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChF
TkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJM
RV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5F
X0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVN
RV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1Rf
RUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19F
TEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRT
X0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURf
RVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFC
TEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElE
REVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChF
TkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5D
T01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1Nf
R0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lP
U19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5B
QkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJP
TFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VT
RV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJM
RV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFC
TEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNF
UykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNU
KSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5B
QkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVO
QUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChF
TkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJM
RV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRT
KSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9E
RVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJ
WklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcp
ICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChF
TkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVF
KSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChF
TkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRU
X1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9G
VExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRf
QVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwppbmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4
YTc2OTcyZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpA
QCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7
CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVf
RVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFC
TEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0g
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NT
U19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMjsKQEAg
LTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJB
VEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJ
QzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9M
TElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQp
ICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5B
QkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VT
Nl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1Bf
TkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9E
RUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19E
RVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJM
RV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NT
U19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJF
QUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hB
TkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVN
RU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1F
TlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09O
U1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVO
VFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9H
QU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5f
UEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBM
RVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9X
RUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxF
X0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVf
TElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19T
Q1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykg
JChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NV
UlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05B
VklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
REZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAk
KEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQo
RU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVf
UkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxF
X1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJM
RV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NU
UkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQo
RU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVD
VElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChF
TkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQo
RU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJf
QVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJM
RV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVH
SU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9K
SVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklU
SE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZB
UykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZf
Q0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFS
VElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAk
KEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChF
TkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklO
RykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQo
RU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5H
KSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9V
VCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVT
T0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVW
RUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NT
UzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVf
Q1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFC
TEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFC
TEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJM
RV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FN
RVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikg
JChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05E
QVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJ
RV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
Ul9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAk
KEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVS
UFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVf
TUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAk
KEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VU
SUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElD
X1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05f
RlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5T
UEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJf
QkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhF
U0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFC
TEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBI
T05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxF
X1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9J
Q09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VM
RUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9E
QVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJH
TCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJf
U09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChF
TkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xU
KSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVS
QVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwppbmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFmODYw
Li4xMTQ4YTc2OTcyZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1NTBhMDUxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpA
QCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7
CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVf
RVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFC
TEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0g
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NT
U19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMjsKQEAg
LTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJB
VEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJ
QzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9M
TElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQp
ICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5B
QkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VT
Nl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1Bf
TkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9E
RUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19E
RVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJM
RV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NT
U19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJF
QUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hB
TkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVN
RU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1F
TlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09O
U1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVO
VFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9H
QU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5f
UEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBM
RVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9X
RUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxF
X0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVf
TElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19T
Q1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykg
JChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NV
UlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05B
VklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
REZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAk
KEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQo
RU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVf
UkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxF
X1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJM
RV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NU
UkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQo
RU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVD
VElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChF
TkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQo
RU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJf
QVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJM
RV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVH
SU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9K
SVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklU
SE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZB
UykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZf
Q0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFS
VElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAk
KEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChF
TkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklO
RykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQo
RU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5H
KSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9V
VCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVT
T0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVW
RUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NT
UzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVf
Q1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFC
TEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFC
TEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJM
RV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FN
RVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikg
JChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05E
QVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJ
RV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
Ul9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAk
KEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVS
UFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVf
TUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAk
KEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VU
SUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElD
X1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05f
RlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5T
UEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJf
QkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhF
U0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFC
TEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBI
T05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxF
X1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9J
Q09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VM
RUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9E
QVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJH
TCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJf
U09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChF
TkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xU
KSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVS
QVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlIGIvU291cmNl
L2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCmluZGV4IGY3NDdkYzgxNDExMzNjODk1YTNkYTM3
ODNiNGFlNTVkZTVhMDQyYmMuLjZiZDhiOTZjNzFlMmY1MmM2ZjhkNTNjNDE1MjIxZjg5ZTYxZDA2
OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQorKysgYi9T
b3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKQEAgLTM5LDYgKzM5LDcgQEAgbWFjcm8o
V0VCS0lUX09QVElPTl9CRUdJTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ0FO
VkFTX1BST1hZICJUb2dnbGUgQ2FudmFzUHJveHkgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9P
UFRJT05fREVGSU5FKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyAiVG9nZ2xlIE1lc3NhZ2VDaGFu
bmVsIGFuZCBNZXNzYWdlUG9ydCBzdXBwb3J0IiBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklO
RShFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCAiVG9nZ2xlIEVTNiBjbGFzcyBzeW50YXggc3VwcG9y
dCIgT04pCisgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCAiVG9nZ2xlIEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXggc3VwcG9ydCIgT04pCiAg
ICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HICJUb2dnbGUg
Y29udGVudCBmaWx0ZXJpbmcgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5F
KEVOQUJMRV9DT05URVhUX01FTlVTICJUb2dnbGUgQ29udGV4dCBNZW51IHN1cHBvcnQiIE9OKQog
ICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DU1BfTkVYVCAiVG9nZ2xlIENvbnRlbnQg
U2VjdXJpdHkgUG9saWN5IDEuMSBzdXBwb3J0IiBPRkYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21h
a2Vjb25maWcuaC5jbWFrZSBiL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCmluZGV4IDVlOTgz
ZDVlNjViMDdlZjdkYzUzZWM5ZDNjNmE4YTI5MzkxNzVjYjIuLjIzZGFmNTk2NjM1MDIyZGY0MjBm
MjhhZGE2N2Q5MzQ3N2NhMGUyZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNt
YWtlCisrKyBiL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCkBAIC0xNCw2ICsxNCw3IEBACiAj
Y21ha2VkZWZpbmUwMSBFTkFCTEVfQ0FOVkFTX1BST1hZCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFY
CisjY21ha2VkZWZpbmUwMSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYCiAjY21ha2Vk
ZWZpbmUwMSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9D
T05URVhUX01FTlVTCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ1JFREVOVElBTF9TVE9SQUdFCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0gYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KaW5kZXggMDAwMzJjMWQwMjU0ZjRk
NmE3YTBmY2E1NTMxYjM0MWQzNWQyOTU3Mi4uNGRlN2YxM2Q1MzA5N2UyNTk3YWQ4YjMzMzBkMjVj
MWFkY2Y2NmUyZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVM
aXN0LnBtCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQpAQCAt
NDQsNiArNDQsNyBAQCBCRUdJTiB7CiBteSAoCiAgICAgJHRocmVlRFJlbmRlcmluZ1N1cHBvcnQs
CiAgICAgJGFjY2VsZXJhdGVkMkRDYW52YXNTdXBwb3J0LAorICAgICRhcnJvd2Z1bmN0aW9uU3lu
dGF4LAogICAgICRhdHRhY2htZW50RWxlbWVudFN1cHBvcnQsCiAgICAgJGJhdHRlcnlTdGF0dXNT
dXBwb3J0LAogICAgICRjYW52YXNQYXRoU3VwcG9ydCwKQEAgLTE1NSw5ICsxNTYsMTMgQEAgbXkg
QGZlYXR1cmVzID0gKAogICAgIHsgb3B0aW9uID0+ICJhY2NlbGVyYXRlZC0yZC1jYW52YXMiLCBk
ZXNjID0+ICJUb2dnbGUgQWNjZWxlcmF0ZWQgMkQgQ2FudmFzIHN1cHBvcnQiLAogICAgICAgZGVm
aW5lID0+ICJFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTIiwgZGVmYXVsdCA9PiBpc0d0aygp
LCB2YWx1ZSA9PiBcJGFjY2VsZXJhdGVkMkRDYW52YXNTdXBwb3J0IH0sCiAKKyAgICB7IG9wdGlv
biA9PiAiYXJyb3dmdW5jdGlvbi1zeW50YXgiLCBkZXNjID0+ICJUb2dnbGUgRVM2IGFycm93IGZ1
bmN0aW9uIHN5bnRheCBzdXBwb3J0IiwKKyAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCIsIGRlZmF1bHQgPT4gMSwgdmFsdWUgPT4gXCRhcnJvd2Z1bmN0aW9u
U3ludGF4IH0sCisKICAgICB7IG9wdGlvbiA9PiAiYXR0YWNobWVudC1lbGVtZW50IiwgZGVzYyA9
PiAiVG9nZ2xlIEF0dGFjaG1lbnQgRWxlbWVudCBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAi
RU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCIsIGRlZmF1bHQgPT4gMCwgdmFsdWUgPT4gXCRhdHRh
Y2htZW50RWxlbWVudFN1cHBvcnQgfSwKIAorCiAgICAgeyBvcHRpb24gPT4gImJhdHRlcnktc3Rh
dHVzIiwgZGVzYyA9PiAiVG9nZ2xlIEJhdHRlcnkgU3RhdHVzIHN1cHBvcnQiLAogICAgICAgZGVm
aW5lID0+ICJFTkFCTEVfQkFUVEVSWV9TVEFUVVMiLCBkZWZhdWx0ID0+IGlzRWZsKCksIHZhbHVl
ID0+IFwkYmF0dGVyeVN0YXR1c1N1cHBvcnQgfSwKIApkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIv
Q2hhbmdlTG9nCmluZGV4IDI5MTRmNjFkYmQxNjAzNzZkZTUyODFlMzE3MjhmZjdiMmE5NWY4ZGIu
LjVlZDMyODhjZWIzZDE5NzIwZTg0MDM3ZjdhNTgwMjM1ZDY0ZWE3ZTQgMTAwNjQ0Ci0tLSBhL0No
YW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNS0wNC0xNyAgIFNr
YWNoa292IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJ
bXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICBBZGRlZCBmZWF0dXJlIGZsYWcgdG8gc3dpdGNo
IG9uL29mZiBlczYgYXJyb3cgZnVuY3Rpb24gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WAorCisgICAgICAgICAqIFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZToKKyAgICAg
ICAgICogU291cmNlL2NtYWtlY29uZmlnLmguY21ha2U6CisKIDIwMTUtMDQtMTYgIEJhc2lsZSBD
bGVtZW50ICA8YmFzaWxlX2NsZW1lbnRAYXBwbGUuY29tPgogCiAgICAgICAgIEV4dHJhY3QgdGhl
IGFsbG9jYXRpb24gcHJvZmlsZSBmcm9tIEpTRnVuY3Rpb24gaW50byBhIHJhcmUgb2JqZWN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251063</attachid>
            <date>2015-04-17 16:03:50 -0700</date>
            <delta_ts>2015-04-19 14:42:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150418020248.patch</filename>
            <type>text/plain</type>
            <size>146575</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyOTY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
OTJjZWEyY2M3YzFmYjQzOGQzYzQ5YWViZWQxNTI2MDk2OTEzMWI1Li5hYzAxNmZiY2I0YjA3YWRk
YzliM2VjZDk1NWM0YWM4MTQyMmY0ZTdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMzEgQEAKKzIwMTUtMDQtMTcgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKyAgICAgICAgU21hbGwgcmVmYWN0b3Jpbmcgb2YgdGhlIHBhcmNlci5jcHAgZmls
ZS4gSXQgaXMgbmVjZXNzYXJ5IHRvIGluY3JlYXNlIHJlYWRhYmlsaXR5IG9mIHRoZSBwYXRjaAor
ICAgICAgICB3aXRoIEVTNiBBcnJvdyBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAg
KiBwYXJzZXIvUGFyc2VyLmg6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisKKzIwMTUt
MDQtMTMgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAg
ICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgc3VwcG9ydCBvZiBF
UzYgYXJyb3cgZnVuY3Rpb24uIENoYW5nZXMgd2VyZSBtYWRlIGFjY29yZGluZyBmb2xsb3dpbmcg
c3BlYyBodHRwOi8vd2lraS5lY21hc2NyaXB0Lm9yZy9kb2t1LnBocD9pZD1oYXJtb255OmFycm93
X2Z1bmN0aW9uX3N5bnRheAorICAgICAgICBJbiBwYXRjaCB3ZXJlIGltcGxlbWVudGVkIHRoZSBz
aW1wbGVzdCBjYXNlczoKKyAgICAgICAgICAxIG5vIHBhcmFtZXRlcnMgICAgICAgICAgICAgICAg
KCkgPT4gMTAgKyAyMAorICAgICAgICAgIDIgc2luZ2xlIHBhcmFtZXRlciAgICAgICAgICAgICAg
eCA9PiB4ICsgMjAKKyAgICAgICAgICAzIG11bHRpcGxlIHBhcmFtZXRlcnMgICAgICAoeCwgeSkg
PT4geCArIHkKKyAgICAgICAgICA0IGFycm93IGZ1bmN0aW9uIHdpdGggYmxvY2sgICAgIHggPT4g
eyByZXR1cm4geCoxMDsgfQorICAgICAgICAgIDUgbGV4aWNhbCB0aGlzIC0gdmFyaWFibGUgdGhp
cyBpcyBwb2ludCB0byB0aGUgdGhpcyBvZiB0aGUgZnVuY3Rpb24gd2hlcmUgYXJyb3cgZnVuY3Rp
b24gaXMgZGVjbGFyZWQKKyAgICAgICAgICA2IE5vIGNvbnN0cnVjdG9yIC0gdGhlIHVzaW5nIG9m
IHRoZSBjb21tYW5kIG5ldyBmb3IgYXJyb3cgZnVuY3Rpb24gbGVhZHMgdG8gcnVudGltZSBlcnJv
ci4gCisKKyAgICAgICAgIE5vdCB5ZXQgaW1wbGVtZW50ZWQ6CisgICAgICAgICAgMSB0aGUgdmFy
aWFibGUgd2l0aCBuYW1lIGFyZ3VtZW50cyBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uIHNo
b3VsZCBwb2ludCB0byBsaXN0IG9mIGFyZ3VtZW50cyBvZiBmdW5jdGlvbiB3aGVyZSBhcnJvdyBm
dW5jdGlvbiBpcyBkZWNsYXJlZAorICAgICAgICAgIDIgcGFyc2VyIHdpbGwgcGFyc2UgdGhlIHN0
YXRlbWVudCB4LCB5ID0+IHggKyB5IGluc3RlYWQgb2YgcmFpc2luZyBleGNlcHRpb24KKyAgICAg
ICAgICAzIG1ldGhvZCBjYWxsLCBhcHBseSwgYmluZCBzaG91bGQgbm90IG92ZXJyaWRlIHRoZSB0
aGlzIHZhcmlhYmxlIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24KKworICAgICAgICAqIENv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIEphdmFTY3Jp
cHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvajoKKyAgICAgICAgKiBieXRlY29k
ZS9CeXRlY29kZUxpc3QuanNvbjoKKyAgICAgICAgKiBieXRlY29kZS9CeXRlY29kZVVzZURlZi5o
OgorICAgICAgICAoSlNDOjpGdW5jdG9yOjpjb21wdXRlVXNlc0ZvckJ5dGVjb2RlT2Zmc2V0KToK
KyAgICAgICAgKiBieXRlY29kZS9Db2RlQmxvY2suY3BwOgorICAgICAgICAoSlNDOjpDb2RlQmxv
Y2s6OmR1bXBCeXRlY29kZSk6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJh
dG9yLmg6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAg
ICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVz
c2lvbik6IGFkZGVkCisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0VGhpc05v
ZGVCeXRlY29kZSk6IGFkZGVkCisgICAgICAgICogYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5j
cHA6CisgICAgICAgIChKU0M6OmVtaXRCeXRlY29kZTo6ZW1pdEJ5dGVjb2RlKTogYWRkZWQKKyAg
ICAgICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGU6OmVtaXRCeXRlY29kZSk6IGFkZGVkCisgICAg
ICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZUNvZGVQ
YXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAqIGRmZy9ERkdDYXBhYmlsaXRpZXMuY3BwOgor
ICAgICAgICAoSlNDOjpDYXBhYmlsaXR5TGV2ZWw6OmNhcGFiaWxpdHlMZXZlbCk6CisgICAgICAg
ICogaml0L0pJVC5oOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfbmV3X2Fycm93X2Z1bmNf
ZXhwKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUSW5saW5lcy5oOgorICAgICAgICAoSlNDOjpK
SVQ6OmNhbGxPcGVyYXRpb24pOiBhZGRlZAorICAgICAgICAqIGppdC9KSVQuY3BwOgorICAgICAg
ICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3MpOgorICAgICAgICAqIGppdC9KSVRP
cGNvZGVzLmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX25ld19hcnJvd19mdW5jX2V4
cCk6IGFkZGVkCisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMuY3BwOgorICAgICAgICAoSlND
OjpKSVRfT1BFUkFUSU9OOjpvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKTogYWRkZWQKKyAgICAg
ICAgKiBqaXQvSklUT3BlcmF0aW9ucy5oOgorICAgICAgICAoSlNDOjpKSVRfT1BFUkFUSU9OOjpv
cGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKTogYWRkZWQKKyAgICAgICAgKiBsbGludC9MTEludFNs
b3dQYXRocy5jcHA6CisgICAgICAgIChMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfbmV3
X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBsbGludC9MTEludFNsb3dQYXRocy5o
OgorICAgICAgICAoTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX25ld19hcnJvd19mdW5j
X2V4cCkpOiBhZGRlZAorICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOgor
ICAgICAgICAqIHBhcnNlci9BU1RCdWlsZGVyLmg6CisgICAgICAgIChKU0M6OkFTVEJ1aWxkZXI6
OmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAgICAgKiBwYXJzZXIvTGV4ZXIuY3BwOgor
ICAgICAgICAoSlNDOjpMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlvbik6CisgICAgICAgIChKU0M6
OkxleGVyPFQ+OjpsZXgpOgorICAgICAgICAqIHBhcnNlci9MZXhlci5oOgorICAgICAgICAoSlND
OjpMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlvbik6CisgICAgICAgICogcGFyc2VyL05vZGVDb25z
dHJ1Y3RvcnMuaDoKKyAgICAgICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGU6OkFycm93RnVuY0V4
cHJOb2RlKTogYWRkZWQKKyAgICAgICAgKiBwYXJzZXIvTm9kZXMuaDoKKyAgICAgICAgKEpTQzo6
Tm9kZTo6aXNBcnJvd0Z1bmNFeHByTm9kZSk6IGFkZGVkCisgICAgICAgIChKU0M6OkFycm93RnVu
Y0V4cHJOb2RlKTogYWRkZWQgY2xhc3MKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAg
ICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMpOgorICAg
ICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmVzc2lvbik6Cisg
ICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VTb3VyY2VFbGVtZW50KToKKyAgICAgICAgKEpTQzo6
UGFyc2VyOjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBc3Np
Z25tZW50RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VQcmltYXJ5RXhw
cmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0V4cHJlc3Npb24pOgor
ICAgICAgICAoSlNDOjpQYXJzZXI6OnNldEVuZE9mU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6
UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwYXJzZUFycm93RnVuY3Rpb25JbmZvKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFy
cm93RnVuY3Rpb25Cb2R5KToKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmg6CisgICAgICAgIChK
U0M6OlBhcnNlcjo6RnVuY3Rpb25QYXJzZVR5cGUpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBh
cnNlU291cmNlRWxlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VTdGF0ZW1lbnQp
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dFeHByZXNzaW9uKToKKyAgICAgICAg
KEpTQzo6UGFyc2VyOjpzZXRFbmRPZlN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6
cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcik6CisgICAgICAgICogcGFyc2VyL1BhcnNlckZ1bmN0
aW9uSW5mby5oOgorICAgICAgICAqIHBhcnNlci9QYXJzZXJUb2tlbnMuaDoKKyAgICAgICAgKEpT
Qzo6UGFyc2VyRnVuY3Rpb25JbmZvOjphcnJvd0Z1bmN0aW9uT2Zmc2V0KTogYWRkZWQKKyAgICAg
ICAgKEpTQzo6UGFyc2VyRnVuY3Rpb25JbmZvOjppc0Fycm93RnVuY3Rpb24pOiBhZGRlZAorICAg
ICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmFycm93RnVuY3Rpb25Cb2R5VHlwZSk6IGFk
ZGVkCisgICAgICAgICogcGFyc2VyL1NvdXJjZUNvZGUuaDoKKyAgICAgICAgKEpTQzo6U291cmNl
Q29kZTo6c3ViQXJyb3dFeHByZXNzaW9uKToKKyAgICAgICAgKiBwYXJzZXIvU3ludGF4Q2hlY2tl
ci5oOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpjcmVhdGVBcnJvd0Z1bmN0aW9uRXhw
cik6CisgICAgICAgICogcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOgorICAgICAgICAo
SlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFyYW1ldGVycyk6CisgICAgICAg
IChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKToKKyAgICAgICAgKEpTQzo6U291cmNlUHJv
dmlkZXJDYWNoZUl0ZW06OmVuZEFycm93RnVuY3Rpb25Ub2tlbik6CisgICAgICAgICogcnVudGlt
ZS9KU0Fycm93RnVuY3Rpb24uaDogYWRkZWQgY2xhc3MgZm9yIGhhbmRsZSBhcnJvdyBmdW5jdGlv
biBjcmVhdGlvbiBhbmQgZXhlY3V0aW9uCisgICAgICAgICogcnVudGltZS9KU0Fycm93RnVuY3Rp
b24uY3BwOgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbi5oOgorICAgICAgICAoSlNDOjpK
U0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKTogYWRkZWQgb25lIG1vcmUgY29uc3RydWN0b3IKKyAgICAg
ICAgKiBydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkpTRnVuY3Rp
b246OkpTRnVuY3Rpb24pOiBhZGRlZCBjb25zdHJ1Y3RvciBpbXBsZW1lbnRhdGlvbgorICAgICAg
ICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9i
amVjdDo6aW5pdCk6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0OjptX2Fycm93RnVuY3Rp
b25TdHJ1Y3R1cmUpOiBhZGRlZAorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6YXJyb3dG
dW5jdGlvblN0cnVjdHVyZSk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2pzL2Fycm93ZnVuY3Rp
b24uanM6CisKKzIwMTUtMDQtMTIgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdtYWls
LmNvbT4KKyAgICAgICAgU21hbGwgcmVmYWN0b3Jpbmcgb2YgdGhlIHBhcmNlci5jcHAgZmlsZS4g
SXQgaXMgbmVjZXNzYXJ5IHRvIGluY3JlYXNlIHJlYWRhYmlsaXR5IG9mIHRoZSBwYXRjaAorICAg
ICAgICB3aXRoIEVTNiBBcnJvdyBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgKiBw
YXJzZXIvUGFyc2VyLmg6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisKIDIwMTUtMDQt
MTcgIFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgW0VT
Nl0gRml4IG5hbWUgZW51bWVyYXRpb24gb2Ygc3RhdGljIGZ1bmN0aW9ucyBmb3IgU3ltYm9sIGNv
bnN0cnVjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjc4ZDQ2MjY3MmEwNjUwZjBlODdjOTliOTcwZDQ3NTc5
YTYyNWM1ZS4uYzk3YzRjNGFmNGYwMWQ0MWM2NTg3MzE4MjQ3NDM2MDVkMTZhZmMxYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTA0LTE3ICBTa2FjaGtvdiBBbGV4YW5kciAgPGdz
a2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBm
dW5jdGlvbiBzeW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE0MDg1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
IGZvciBhcnJvdyBmdW5jdGlvbgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWc6CisKIDIwMTUtMDQtMTcgIEJldGggRGFraW4gIDxiZGFraW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIEZvcmNlIG1vdXNlIGV2ZW50cyBzaG91bGQgZ28gdGhyb3VnaCBub3Jt
YWwgbW91c2UgZXZlbnQgaGFuZGxpbmcgY29kZSBwYXRocwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGEx
MzA1OTY5Yzk4MWZhNmJjNjJlMjk2MDZkODZiNDVhZTYwZjY4OWEuLjNmMzYyYzE2MzkwNzc1ODRj
MzAwZTZlMTY5OTUxZTU3N2JiYWE0NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBA
QAorMjAxNS0wNC0xNyAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgor
CisgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmZWF0dXJl
IGZsYWcgRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rpb24K
KworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAy
MDE1LTA0LTE3ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBS
RUdSRVNTSU9OOiBTVkcgZG9lcyBub3Qgc3VwcG9ydCBsaW5rIGRyYWdnaW5nCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZmJjZTBiNmI5OTZjMjE4OTI3ZWUzNDRhM2YzMjFi
ZmI4NDcwYzc5Mi4uMjdmY2U2ODkwMjEzYTIxZTM0OThjNmJmYTQ0NjQyMmQ0Yjg2OTIyZiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNDY3LDYgKzQ2Nyw3IEBAIHNldChK
YXZhU2NyaXB0Q29yZV9SVU5USU1FX1NPVVJDRVMKICAgICBydW50aW1lL0pTQXJyYXlCdWZmZXJW
aWV3LmNwcAogICAgIHJ1bnRpbWUvSlNBcnJheUl0ZXJhdG9yLmNwcAogICAgIHJ1bnRpbWUvSlNC
b3VuZEZ1bmN0aW9uLmNwcAorICAgIHJ1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcAogICAgIHJ1
bnRpbWUvSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxlLmNwcAogICAgIHJ1bnRpbWUvSlNDSlNWYWx1
ZS5jcHAKICAgICBydW50aW1lL0pTQ2FsbGVlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmlu
ZGV4IDhiMTEyZmFlNDViOTU3ZGQyNjQxZmRiNmY0Njg5ODgwNTg5YWY4NjAuLjExNDhhNzY5NzJm
MTE0YzM4M2QzMjYyOWYxZjA5M2M2ODU1MGEwNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
QEAgLTQ1LDYgKzQ1LDcgQEAgRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRI
OwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVO
QUJMRV9DSEFOTkVMX01FU1NBR0lORzsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxF
X0VTNl9DTEFTU19TWU5UQVg7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5B
QkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9
IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9D
U1NfQU5JTUFUSU9OU19MRVZFTF8yID0gRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBA
IC0yMTQsNCArMjE1LDQgQEAgRU5BQkxFX0xMSU5UX0NfTE9PUCA9IDsKIAogRU5BQkxFX1NBVFVS
QVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVU
SUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVf
QUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5U
KSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVO
QUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9F
UzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQ
X05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hf
REVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1Nf
REVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NT
X0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFC
TEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9D
U1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JS
RUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9I
QU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxF
TUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVN
RU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NP
TlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZF
TlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVf
R0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVO
X1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFC
TEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01Q
TEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
V0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VT
VFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxF
X0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNf
U0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1Mp
ICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9D
VVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9O
QVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
UERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykg
JChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAk
KEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxF
X1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJM
RV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFC
TEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9T
VFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAk
KEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRF
Q1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQo
RU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFC
TEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAk
KEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VC
X0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFC
TEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JF
R0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExf
SklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJ
VEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJ
TkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5W
QVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZG
X0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BB
UlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkg
JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQo
RU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
TkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAk
KEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElO
RykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlP
VVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JF
U09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xF
VkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9D
U1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxF
X0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5B
QkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5B
QkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFC
TEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dB
TUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09O
REFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5E
SUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkg
JChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9W
RU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRF
UlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxF
X01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9N
RURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkg
JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChF
TkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJ
Q19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9O
X0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lO
U1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVS
X0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRI
RVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5B
QkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJM
RV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hf
SUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNF
TEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVf
REFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VC
R0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VC
X1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQo
RU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNM
VCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRV
UkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RF
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hw
cm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCmluZGV4IGZmN2E4ZTE2NzI3
YWYyNGViY2FjMzY4NzBhNTBkYTUxNGZjOTBmNmUuLjNkZmRkY2I3ZTFmYzhiMTU3ZmE3YTU2ZjRk
ZmFmMzhlNTZlYWIwMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagpA
QCAtNzMyLDYgKzczMiw3IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpT
QXJyYXlCdWZmZXJQcm90b3R5cGUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
cnVudGltZVxKU0FycmF5QnVmZmVyVmlldy5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLlxydW50aW1lXEpTQm91bmRGdW5jdGlvbi5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxydW50aW1lXEpTQXJyb3dGdW5jdGlvbi5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxydW50aW1lXEpTQ0pTVmFsdWUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5ccnVudGltZVxKU0NhbGxlZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLlxydW50aW1lXEpTQ2F0Y2hTY29wZS5jcHAiIC8+CkBAIC0xNTI3LDYgKzE1MjgsNyBAQAog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0FycmF5QnVmZmVyVmlld0lubGlu
ZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJheUl0ZXJh
dG9yLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQm91bmRGdW5j
dGlvbi5oIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0Fycm93RnVu
Y3Rpb24uaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSW5saW5l
cy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NKU1ZhbHVlLmgi
IC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0pTVmFsdWVJbmxpbmVz
LmgiIC8+CkBAIC0xODA0LDQgKzE4MDYsNCBAQAogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVu
c2lvblRhcmdldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxCdWls
ZEN1c3RvbWl6YXRpb25zXG1hc20udGFyZ2V0cyIgLz4KICAgPC9JbXBvcnRHcm91cD4KLTwvUHJv
amVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L1Byb2plY3Q+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IGJhOWJlMGZiNjFiYzY4ZGM4ZmQyNWIwZjMxODVjNzMwM2I4
OGIyZDkuLmNiZmQwZmEyYmMwMDA4ZjU0ZTk5MDM0MjQyNDE0NDkwYmM5ZmM1ZGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDk2LDYgKzEwOTYsOCBAQAogCQk4NkYzRUVCRjE2
OENERTkzMDA3N0I5MkEgLyogT2JqY1J1bnRpbWVFeHRyYXMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RjNFRUI2MTY4NTVBNUIwMDc3QjkyQSAvKiBP
YmpjUnVudGltZUV4dHJhcy5oICovOyB9OwogCQk4NkZBOUU5MTE0MkJCQjJFMDAxNzczQjcgLyog
SlNCb3VuZEZ1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3Bw
ICovOyB9OwogCQk4NkZBOUU5MjE0MkJCQjJFMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkZBOUU5MDE0
MkJCQjJFMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmggKi87IH07CisJCThCMEY0MjRDMUFC
RDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpT
QXJyb3dGdW5jdGlvbi5jcHAgKi87IH07CisJCThCMEY0MjRDMUFCRDZERTIwMDM5MTdFQSAvKiBK
U0Fycm93RnVuY3Rpb24uaCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDhCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uaCAqLzsg
fTsKIAkJOTAyMTNFM0QxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTAyMTNFM0IxMjNB
NDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwICovOyB9OwogCQk5MDIxM0UzRTEy
M0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTAyMTNFM0MxMjNBNDBDMjAwRDQyMkYzIC8qIE1l
bW9yeVN0YXRpc3RpY3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk5MzA1MkMzNDBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMwNTJDMzIwRkI3
OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNwcCAqLzsgfTsKQEAgLTI4MzEsNiArMjgzMyw4
IEBACiAJCTg2Rjc1RUZEMTUxQzA2MkYwMDdDOUJBMyAvKiBSZWdFeHBNYXRjaGVzQXJyYXkuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVnRXhwTWF0Y2hlc0FycmF5
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODZGQTlFOEYxNDJCQkIyRDAwMTc3
M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0JvdW5kRnVuY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk4NkZBOUU5MDE0MkJCQjJFMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQm91bmRGdW5jdGlvbi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk4QjBGNDI0QTFBQkQ2RDJGMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0
aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQXJyb3dGdW5jdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk4QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9u
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXJyb3dGdW5jdGlv
bi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkwMjEzRTNCMTIzQTQwQzIwMEQ0
MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IE1lbW9yeVN0YXRpc3RpY3MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk5MDIxM0UzQzEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZW1vcnlTdGF0aXN0aWNzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMDUyQzMyMEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJB
cmVuYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQYXJzZXJBcmVu
YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00NDQyLDYgKzQ0NDYsOCBAQAog
CQkJCUE3QkRBRUM1MTdGNEVBMTQwMEY2MTQwQyAvKiBKU0FycmF5SXRlcmF0b3IuaCAqLywKIAkJ
CQk4NkZBOUU4RjE0MkJCQjJEMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAqLywKIAkJ
CQk4NkZBOUU5MDE0MkJCQjJFMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmggKi8sCisJCQkJ
OEIwRjQyNEExQUJENkQyRjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oICovLAorCQkJCThC
MEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uY3BwICovLAogCQkJCTY1
N0NGNDU2MTlCRjY2NjIwMDRBQ0JGMiAvKiBKU0NhbGxlZS5jcHAgKi8sCiAJCQkJNjU3Q0Y0NTcx
OUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmggKi8sCiAJCQkJMEZEOTQ5N0UxQTk3REI5NjAw
RTI4OTY2IC8qIEpTQ2F0Y2hTY29wZS5jcHAgKi8sCkBAIC03MTc1LDYgKzcxODEsNyBAQAogCQkJ
CTBGRDhBMzFCMTdENTFGMjIwMENBMkM0MCAvKiBGVExPU1JFbnRyeS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwRjIzNUJEQzE3MTc4RTFDMDA2OTBDN0YgLyogRlRMT1NSRXhpdC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkwRjIzNUJERjE3MTc4RTFDMDA2OTBDN0YgLyogRlRMT1NSRXhpdENvbXBp
bGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCThCMEY0MjRDMUFCRDZERTIwMDM5MTdFQSAvKiBK
U0Fycm93RnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZFQTBBMkExNzA5NjI5NjAw
QkI3MjJDIC8qIEZUTE91dHB1dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjQ4NTMyOTE4N0RG
REVDMDA4M0I2ODcgLyogRlRMUmVjb3ZlcnlPcGNvZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MEY2QjFDQzMxODYyQzQ3ODAwODQ1RDk3IC8qIEZUTFJlZ2lzdGVyQXRPZmZzZXQuY3BwIGluIFNv
dXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0
ZWNvZGVMaXN0Lmpzb24gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVM
aXN0Lmpzb24KaW5kZXggMjUxNDEyNjNlMzhkMGViMmQxODQ0MWY0ZTZmZmNlMzZlZThmN2NmMi4u
YTM3NjQ3ZjI2ZmJlM2YyNWJhNjI1Yjk5ZjNkYTEyMDFlNDlmZjIwMSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxpc3QuanNvbgpAQCAtOTQsNiArOTQs
NyBAQAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3Bfc3dpdGNoX3N0cmluZyIsICJsZW5ndGgi
IDogNCB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfbmV3X2Z1bmMiLCAibGVuZ3RoIiA6
IDQgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX25ld19mdW5jX2V4cCIsICJsZW5ndGgi
IDogNCB9LAorICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfbmV3X2Fycm93X2Z1bmNfZXhwIiwg
Imxlbmd0aCIgOiA1IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9jYWxsIiwgImxlbmd0
aCIgOiA5IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9jYWxsX2V2YWwiLCAibGVuZ3Ro
IiA6IDkgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGxfdmFyYXJncyIsICJsZW5n
dGgiIDogOSB9LApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5
dGVjb2RlVXNlRGVmLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVV
c2VEZWYuaAppbmRleCBmMjA3MTM5MjMyOTA2NDUzYjdhNTRmNTYxYjliNjQyM2UyZThjZjI3Li45
YjY3YTIyMjFkM2JhMGE2MDZmNDcwOWE1OTljMzEzZTFhM2FiYWE0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaApAQCAtMTE1LDYgKzExNSw5
IEBAIHZvaWQgY29tcHV0ZVVzZXNGb3JCeXRlY29kZU9mZnNldCgKICAgICBjYXNlIG9wX2dldF9w
cm9wZXJ0eV9lbnVtZXJhdG9yOgogICAgIGNhc2Ugb3BfZ2V0X2VudW1lcmFibGVfbGVuZ3RoOgog
ICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6CisjZW5kaWYKICAgICBjYXNl
IG9wX3RvX2luZGV4X3N0cmluZzoKICAgICBjYXNlIG9wX2luaXRfZ2xvYmFsX2NvbnN0X25vcDoK
ICAgICBjYXNlIG9wX2luaXRfZ2xvYmFsX2NvbnN0OgpAQCAtMzA2LDYgKzMwOSw5IEBAIHZvaWQg
Y29tcHV0ZURlZnNGb3JCeXRlY29kZU9mZnNldChDb2RlQmxvY2sqIGNvZGVCbG9jaywgdW5zaWdu
ZWQgYnl0ZWNvZGVPZmZzZXQsCiAgICAgY2FzZSBvcF9uZXdfcmVnZXhwOgogICAgIGNhc2Ugb3Bf
bmV3X2Z1bmM6CiAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRp
ZgogICAgIGNhc2Ugb3BfY2FsbF92YXJhcmdzOgogICAgIGNhc2Ugb3BfY29uc3RydWN0X3ZhcmFy
Z3M6CiAgICAgY2FzZSBvcF9nZXRfZnJvbV9zY29wZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKaW5kZXggMWQ4MjM4NzI4NzhhYzM0MzdjYzUzYTA4N2Yx
YzBmOGEyMGJiNjBmYi4uZTNmNzVmNDQ4MTkwMGJiYjlhODdmYTkyOTAxNDU1ZTdiODBiODUyZCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKQEAgLTEy
OTcsNiArMTI5NywxNyBAQCB2b2lkIENvZGVCbG9jazo6ZHVtcEJ5dGVjb2RlKAogICAgICAgICAg
ICAgb3V0LnByaW50ZigiJXMsICVzLCBmJWQiLCByZWdpc3Rlck5hbWUocjApLmRhdGEoKSwgcmVn
aXN0ZXJOYW1lKHIxKS5kYXRhKCksIGYwKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgY2FzZSBvcF9u
ZXdfYXJyb3dfZnVuY19leHA6IHsKKyAgICAgICAgICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVy
YW5kOworICAgICAgICAgICAgaW50IHIxID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAg
ICBpbnQgZjAgPSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAgICAgICAgIGludCByMiA9ICgrK2l0
KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgcHJpbnRMb2NhdGlvbkFuZE9wKG91dCwgZXhlYywg
bG9jYXRpb24sIGl0LCAib3BfbmV3X2Fycm93X2Z1bmNfZXhwIik7CisgICAgICAgICAgICBvdXQu
cHJpbnRmKCIlcywgJXMsIGYlZCwgJXMiLCByZWdpc3Rlck5hbWUocjApLmRhdGEoKSwgcmVnaXN0
ZXJOYW1lKHIxKS5kYXRhKCksIGYwLCByZWdpc3Rlck5hbWUocjIpLmRhdGEoKSk7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIGNhc2Ugb3BfbmV3X2Z1bmNf
ZXhwOiB7CiAgICAgICAgICAgICBpbnQgcjAgPSAoKytpdCktPnUub3BlcmFuZDsKICAgICAgICAg
ICAgIGludCByMSA9ICgrK2l0KS0+dS5vcGVyYW5kOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAppbmRleCA2ZTE5
OGNhMjdlMDlkYTAyZGM5Y2Y1MzBjMjkyNzdjNTZjYWMyOWI0Li5hZjY1Y2I1M2Q5YzZlNjliOTQ5
NDNiOTNiMzQzYTlkOGIyOTcyODUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcApAQCAtMTc1MSw2ICsxNzUx
LDIyIEBAIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3RnVuY3Rpb25FeHBy
ZXNzaW9uKFJlZ2lzdGVySUQqIHIwLCBGdW5jRXhwCiAgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5k
KGluZGV4KTsKICAgICByZXR1cm4gcjA7CiB9CisgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKK1JlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3QXJy
b3dGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogcjAsIEZ1bmNFeHByTm9kZSogbikKK3sK
KyAgICBlbWl0VERaQ2hlY2sodGhpc1JlZ2lzdGVyKCkpOworICAgIEZ1bmN0aW9uQm9keU5vZGUq
IGZ1bmN0aW9uID0gbi0+Ym9keSgpOworICAgIHVuc2lnbmVkIGluZGV4ID0gbV9jb2RlQmxvY2st
PmFkZEZ1bmN0aW9uRXhwcihtYWtlRnVuY3Rpb24oZnVuY3Rpb24pKTsKKyAgICAKKyAgICBlbWl0
T3Bjb2RlKG9wX25ld19hcnJvd19mdW5jX2V4cCk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5k
KHIwLT5pbmRleCgpKTsKKyAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQoc2NvcGVSZWdpc3Rlcigp
LT5pbmRleCgpKTsKKyAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQoaW5kZXgpOworICAgIGluc3Ry
dWN0aW9ucygpLmFwcGVuZCh0aGlzUmVnaXN0ZXIoKS0+aW5kZXgoKSk7CisgICAgcmV0dXJuIHIw
OworfQorI2VuZGlmCiAKIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3RGVm
YXVsdENvbnN0cnVjdG9yKFJlZ2lzdGVySUQqIGRzdCwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVj
dG9yS2luZCwgY29uc3QgSWRlbnRpZmllciYgbmFtZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAppbmRleCAyZTU5
MDM5ZDNhNDg0YTM0NzI4MTQ0MGVlZjljMWI4MTlmNzI2NWRiLi4xNzkzNWQ0OGVmM2JmMmIyZDE0
MWRmZGMxYWM5Mzc2NzkzMTQ0MmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCkBAIC00NTYsNiArNDU2LDEwIEBA
IG5hbWVzcGFjZSBKU0MgewogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3RnVuY3Rpb25JbnRl
cm5hbChSZWdpc3RlcklEKiBkc3QsIHVuc2lnbmVkIGluZGV4KTsKICAgICAgICAgUmVnaXN0ZXJJ
RCogZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiBkc3QsIEZ1bmNFeHByTm9k
ZSogZnVuYyk7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdEZWZhdWx0Q29uc3RydWN0b3Io
UmVnaXN0ZXJJRCogZHN0LCBDb25zdHJ1Y3RvcktpbmQsIGNvbnN0IElkZW50aWZpZXImIG5hbWUp
OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIFJlZ2lzdGVy
SUQqIGVtaXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiwgRnVuY0V4cHJO
b2RlKik7CisgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRUaGlzTm9kZUJ5dGVjb2RlKFJlZ2lzdGVy
SUQqLCBKU1RleHRQb3NpdGlvbik7CisjZW5kaWYKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5l
d1JlZ0V4cChSZWdpc3RlcklEKiBkc3QsIFJlZ0V4cCopOwogCiAgICAgICAgIFJlZ2lzdGVySUQq
IGVtaXRNb3ZlRW1wdHlWYWx1ZShSZWdpc3RlcklEKiBkc3QpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCmluZGV4IDExNDMyYWYy
M2JiYjYxZTgxNTQyNTIzYjdjMTFhYTdiZGNiNWYzYmYuLjYxYWVmMTQwOGM0MzZkNzRhYjA4Zjdh
MmEwNjhjYzJiMWYwOGNjNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKQEAgLTI4MzEsNiArMjgzMSwxNCBAQCBSZWdpc3Rl
cklEKiBGdW5jRXhwck5vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJh
dG9yLCBSZWdpc3RlcklEKgogICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdE5ld0Z1bmN0aW9uRXhw
cmVzc2lvbihnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QpLCB0aGlzKTsKIH0KIAorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICAgIAorLy8gLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tIEFycm93RnVuY0V4cHJOb2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorUmVnaXN0ZXJJRCogQXJyb3dGdW5jRXhwck5vZGU6OmVtaXRCeXRlY29kZShC
eXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3RlcklEKiBkc3QpCit7CisgICAgcmV0
dXJuIGdlbmVyYXRvci5lbWl0TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oZ2VuZXJhdG9yLmZp
bmFsRGVzdGluYXRpb24oZHN0KSwgdGhpcyk7Cit9CisjZW5kaWYKKyAgICAKICNpZiBFTkFCTEUo
RVM2X0NMQVNTX1NZTlRBWCkKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBDbGFz
c0RlY2xOb2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCmluZGV4IGQ5NzM4ODVj
MWNhMzJhM2M2ZTIwNjBmOTAxZDcyYTI4MWIxODdiNzguLjNmM2VjMTBhZWVjNmU2MDE5OTM4NjRl
ODJlMDM5YWE2OTFiMmExZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQnl0ZUNvZGVQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Qnl0ZUNvZGVQYXJzZXIuY3BwCkBAIC0zNzQ0LDYgKzM3NDQsMTUgQEAgYm9vbCBCeXRlQ29kZVBh
cnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZCBsaW1pdCkKICAgICAgICAgICAgIE5FWFRfT1BDT0RF
KG9wX25ld19mdW5jX2V4cCk7CiAgICAgICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOiB7CisgICAg
ICAgICAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4cHIgPSBtX2lubGluZVN0YWNrVG9wLT5tX3By
b2ZpbGVkQmxvY2stPmZ1bmN0aW9uRXhwcihjdXJyZW50SW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5k
KTsKKyAgICAgICAgICAgIEZyb3plblZhbHVlKiBmcm96ZW4gPSBtX2dyYXBoLmZyZWV6ZVN0cm9u
ZyhleHByKTsKKyAgICAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0
aW9uWzFdLnUub3BlcmFuZCksCisgICAgICAgICAgICAgICAgYWRkVG9HcmFwaChOZXdGdW5jdGlv
biwgT3BJbmZvKGZyb3plbiksIGdldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9u
WzJdLnUub3BlcmFuZCkpKSk7CisgICAgICAgICAgICBORVhUX09QQ09ERShvcF9uZXdfYXJyb3df
ZnVuY19leHApOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgY2FzZSBvcF90eXBlb2Y6IHsK
ICAgICAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUu
b3BlcmFuZCksCiAgICAgICAgICAgICAgICAgYWRkVG9HcmFwaChUeXBlT2YsIGdldChWaXJ0dWFs
UmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCkpKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKaW5kZXggMzIyMjBkZDJiYTVh
ZjVkNmFiODE3NTNlZGU3MzgyZTk1N2Q2ZmFhOC4uNGMzNjVkOWQwNzVjYzZlN2M1ZTE2NmIxOWU2
MzI0NGM3YzdjOWM4MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdD
YXBhYmlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJp
bGl0aWVzLmNwcApAQCAtMjA3LDYgKzIwNyw5IEBAIENhcGFiaWxpdHlMZXZlbCBjYXBhYmlsaXR5
TGV2ZWwoT3Bjb2RlSUQgb3Bjb2RlSUQsIENvZGVCbG9jayogY29kZUJsb2NrLCBJbnN0cnVjCiAg
ICAgY2FzZSBvcF9uZXdfZnVuYzoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKICAgICBjYXNl
IG9wX2NyZWF0ZV9sZXhpY2FsX2Vudmlyb25tZW50OgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6CisjZW5kaWYKICAg
ICAgICAgcmV0dXJuIENhbkNvbXBpbGVBbmRJbmxpbmU7CiAKICAgICBjYXNlIG9wX3B1dF90b19z
Y29wZTogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0lu
dGVycHJldGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnBy
ZXRlci5jcHAKaW5kZXggMTdkZDNiNGY0NWY1NmZmMjAwMjNkNzNiNzVkYzdkNzBiNjM0OTY4Zi4u
MjAwMDVjMDcxNTMzYjE2ODNhZmRhMmQ2MmRjNjVjMDE2N2Q5MTA5NCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCkBAIC00NCw2ICs0
NCw3IEBACiAjaW5jbHVkZSAiRXhjZXB0aW9uSGVscGVycy5oIgogI2luY2x1ZGUgIkdldHRlclNl
dHRlci5oIgogI2luY2x1ZGUgIkpTQXJyYXkuaCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24u
aCIKICNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgi
CiAjaW5jbHVkZSAiSlNMZXhpY2FsRW52aXJvbm1lbnQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxwZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0NDYWxsSGVscGVycy5oCmluZGV4IGZkMzQ0YWRiY2FiYjE1ZmJkODE0ZWQ2ZmJkNDc4Zjc0
YjYxNTc2M2MuLjA3YWNkNmQ1MzJkMzI4YWZkYjc3YWNmMjAxMzM5MGVmMzlkZDlkNjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxwZXJzLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhlbHBlcnMuaApAQCAtMjc0LDYgKzI3NCwxNSBA
QCBwdWJsaWM6CiAgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmcyKTsKICAgICAgICAgYWRkQ2Fs
bEFyZ3VtZW50KGFyZzMpOwogICAgIH0KKyAgICAKKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQgc2V0
dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKEdQUlJlZyBhcmcxLCBUcnVzdGVkSW1tUHRyIGFyZzIs
IEdQUlJlZyBhcmczKQorICAgIHsKKyAgICAgICAgcmVzZXRDYWxsQXJndW1lbnRzKCk7CisgICAg
ICAgIGFkZENhbGxBcmd1bWVudChHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rlcik7CisgICAgICAg
IGFkZENhbGxBcmd1bWVudChhcmcxKTsKKyAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzIpOwor
ICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMyk7CisgICAgfQogCiAgICAgQUxXQVlTX0lOTElO
RSB2b2lkIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShHUFJSZWcgYXJnMSwgR1BSUmVnIGFy
ZzIsIFRydXN0ZWRJbW0zMiBhcmczKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklULmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcApp
bmRleCA4Y2Q5ZmIxMmU4YmY0YjBjNjg3MzhlZjhlZmE3N2M2NWYwODRhZmU4Li41YmM5MTZiOGIz
NDFkYTVjZTUxZjZiNjI3YWZlOTAyYzQ1ODEwMDE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQu
Y3BwCkBAIC0yNjAsNiArMjYwLDcgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3Mo
KQogICAgICAgICBERUZJTkVfT1Aob3BfbmV3X2FycmF5X2J1ZmZlcikKICAgICAgICAgREVGSU5F
X09QKG9wX25ld19mdW5jKQogICAgICAgICBERUZJTkVfT1Aob3BfbmV3X2Z1bmNfZXhwKQorICAg
ICAgICBERUZJTkVfT1Aob3BfbmV3X2Fycm93X2Z1bmNfZXhwKSAKICAgICAgICAgREVGSU5FX09Q
KG9wX25ld19vYmplY3QpCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfcmVnZXhwKQogICAgICAg
ICBERUZJTkVfT1Aob3Bfbm90KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKaW5kZXggMDFhNDEyOTYz
Y2U1OTgzMzJhZjExNmI2MmM3NmNhYjI5MmZmYTE3OC4uZDUwN2ZhZmY3ZGNiYzkyYmEyZmQwZDQ5
YWY5MTg2YzFmZmNjMmRiYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCkBAIC01MjEsNiArNTIx
LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfYXJyYXlfYnVm
ZmVyKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfZnVuYyhJbnN0cnVj
dGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2Z1bmNfZXhwKEluc3RydWN0aW9uKik7
CisgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfYXJyb3dfZnVuY19leHAoSW5zdHJ1Y3Rpb24qKTsK
ICAgICAgICAgdm9pZCBlbWl0X29wX25ld19vYmplY3QoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAg
dm9pZCBlbWl0X29wX25ld19yZWdleHAoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0
X29wX25vdChJbnN0cnVjdGlvbiopOwpAQCAtNzAwLDYgKzcwMSw3IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0
aW9uX0VKSiwgaW50LCBHUFJSZWcsIEdQUlJlZyk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpD
YWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUpzYywgR1BSUmVnKTsKICAgICAgICAg
TWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQywg
aW50LCBHUFJSZWcsIEpTQ2VsbCopOworICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxs
T3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKc2NDSiwgaW50LCBHUFJSZWcsIEpTQ2VsbCosIEdQ
UlJlZyk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRP
cGVyYXRpb25fRUpzY1osIEdQUlJlZywgaW50MzJfdCk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVy
OjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUpzY1osIGludCwgR1BSUmVnLCBp
bnQzMl90KTsKICNpZiBVU0UoSlNWQUxVRTY0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElu
bGluZXMuaAppbmRleCA5ZWUyNGQwOTIyOGE5ODgyZWE3Njk2MjlkMWE4N2I2YzM0YTg2MzM0Li5h
MGU0MGM1YzYxZmU2M2U5ODYzZWQyMjNlZGY1ZDQ1MWYzMThhNzc0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVElubGluZXMuaApAQCAtMjcxLDYgKzI3MSwxMiBAQCBBTFdBWVNfSU5MSU5F
IE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9F
SnNjQyBvcGVyYQogICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0SlNW
YWx1ZVJlc3VsdChvcGVyYXRpb24sIGRzdCk7CiB9CiAKK0FMV0FZU19JTkxJTkUgTWFjcm9Bc3Nl
bWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKc2NDSiBvcGVy
YXRpb24sIGludCBkc3QsIEdQUlJlZyBhcmcxLCBKU0NlbGwqIGNlbGwsIEdQUlJlZyBhcmcyKQor
eworICAgIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBUcnVzdGVkSW1tUHRyKGNl
bGwpLCBhcmcyKTsKKyAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldEpT
VmFsdWVSZXN1bHQob3BlcmF0aW9uLCBkc3QpOworfQorICAgIAogQUxXQVlTX0lOTElORSBNYWNy
b0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRVAgb3Bl
cmF0aW9uLCBpbnQgZHN0LCB2b2lkKiBwb2ludGVyKQogewogICAgIHNldHVwQXJndW1lbnRzV2l0
aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHBvaW50ZXIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wY29kZXMuY3BwCmluZGV4IDRlODIxZDBjM2Q1YTNjNWU2NTgwZDEwMzk2ZWMyODg5
NjM4ODZiNTYuLmFhOGE3YzFmODYxMjFjYmQ2YWU5Yjg2NzZhN2JkOTQ5NzQ4NmM0ZTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcApAQCAtOTY1LDYgKzk2NSwyOSBA
QCB2b2lkIEpJVDo6ZW1pdF9vcF9uZXdfZnVuY19leHAoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0
cnVjdGlvbikKICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbk5ld0Z1bmN0aW9uLCBkc3QsIHJl
Z1QwLCBmdW5jRXhwcik7CiAgICAgZG9uZS5saW5rKHRoaXMpOwogfQorICAgIAordm9pZCBKSVQ6
OmVtaXRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rp
b24pCit7CisgICAgSnVtcCBub3RVbmRlZmluZWRTY29wZTsKKyAgICBpbnQgZHN0ID0gY3VycmVu
dEluc3RydWN0aW9uWzFdLnUub3BlcmFuZDsKKyNpZiBVU0UoSlNWQUxVRTY0KQorICAgIGVtaXRH
ZXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCwgcmVnVDAp
OworICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzRdLnUub3Bl
cmFuZCwgcmVnVDEpOworICAgIG5vdFVuZGVmaW5lZFNjb3BlID0gYnJhbmNoNjQoTm90RXF1YWws
IHJlZ1QwLCBUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpKSk7Cisg
ICAgc3RvcmU2NChUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpKSwg
QWRkcmVzcyhjYWxsRnJhbWVSZWdpc3Rlciwgc2l6ZW9mKFJlZ2lzdGVyKSAqIGRzdCkpOworI2Vs
c2UKKyAgICBlbWl0TG9hZFBheWxvYWQoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCwg
cmVnVDApOworICAgIGVtaXRMb2FkUGF5bG9hZChjdXJyZW50SW5zdHJ1Y3Rpb25bNF0udS5vcGVy
YW5kLCByZWdUMSk7CisgICAgbm90VW5kZWZpbmVkU2NvcGUgPSBicmFuY2gzMihOb3RFcXVhbCwg
dGFnRm9yKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpLCBUcnVzdGVkSW1tMzIoSlNW
YWx1ZTo6VW5kZWZpbmVkVGFnKSk7CisgICAgZW1pdFN0b3JlKGRzdCwganNVbmRlZmluZWQoKSk7
CisjZW5kaWYKKyAgICBKdW1wIGRvbmUgPSBqdW1wKCk7CisgICAgbm90VW5kZWZpbmVkU2NvcGUu
bGluayh0aGlzKTsKKyAgICAKKyAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmN0aW9uID0gbV9j
b2RlQmxvY2stPmZ1bmN0aW9uRXhwcihjdXJyZW50SW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5kKTsK
KyAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24sIGRzdCwgcmVnVDAs
IGZ1bmN0aW9uLCByZWdUMSk7CisgICAgZG9uZS5saW5rKHRoaXMpOworfQogCiB2b2lkIEpJVDo6
ZW1pdF9vcF9uZXdfYXJyYXkoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCmluZGV4IGJlMzQxODA5
MWRiMzFkMDU4ODczZDdmZDhmZjMzNmEwNDljY2Q4ZWEuLjQ4YTMwMDUxYjM3NGE2MGQwZjQ5OGVk
ZTg0ZDBjY2E1NmIyNWFlYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVy
YXRpb25zLmNwcApAQCAtNDIsNiArNDIsOCBAQAogI2luY2x1ZGUgIkhvc3RDYWxsUmV0dXJuVmFs
dWUuaCIKICNpbmNsdWRlICJKSVQuaCIKICNpbmNsdWRlICJKSVRUb0RGR0RlZmVycmVkQ29tcGls
YXRpb25DYWxsYmFjay5oIgorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorI2luY2x1ZGUg
IkpTQm91bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJK
U0NhdGNoU2NvcGUuaCIKICNpbmNsdWRlICJKU0Z1bmN0aW9uTmFtZVNjb3BlLmgiCkBAIC05NjAs
NiArOTYyLDI0IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3RnVu
Y3Rpb25XaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRjCiAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShKU0Z1bmN0aW9uOjpjcmVhdGVXaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRj
aHBvaW50KHZtLCBzdGF0aWNfY2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihmdW5jdGlvbkV4ZWN1
dGFibGUpLCBzY29wZSkpOwogfQogCisKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uTmV3QXJyb3dGdW5jdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTU2NvcGUqIHNjb3BlLCBK
U0NlbGwqIGZ1bmN0aW9uRXhlY3V0YWJsZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlKQorewor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgQVNTRVJUKGZ1bmN0aW9u
RXhlY3V0YWJsZS0+aW5oZXJpdHMoRnVuY3Rpb25FeGVjdXRhYmxlOjppbmZvKCkpKTsKKyAgICBW
TSYgdm0gPSBleGVjLT52bSgpOworICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZt
LCBleGVjKTsKKworICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBleGVjLT5jYWxs
ZWUoKS0+Z2xvYmFsT2JqZWN0KCk7CisgICAgSlNGdW5jdGlvbiogZnVuYyA9IEpTQXJyb3dGdW5j
dGlvbjo6Y3JlYXRlKHZtLCBzY29wZSwgc3RhdGljX2Nhc3Q8RnVuY3Rpb25FeGVjdXRhYmxlKj4o
ZnVuY3Rpb25FeGVjdXRhYmxlKSwgZ2xvYmFsT2JqZWN0KTsKKyAgICBKU0FycmF5KiBib3VuZEFy
Z3MgPSBKU0FycmF5Ojp0cnlDcmVhdGVVbmluaXRpYWxpemVkKHZtLCBnbG9iYWxPYmplY3QtPmFy
cmF5U3RydWN0dXJlRm9ySW5kZXhpbmdUeXBlRHVyaW5nQWxsb2NhdGlvbihBcnJheVdpdGhVbmRl
Y2lkZWQpLCAwKTsKKworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNCb3VuZEZ1bmN0aW9u
OjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgZnVuYywgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1
ZSksIGJvdW5kQXJncywgMCwgIiIpKTsKKyNlbHNlCisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc1VuZGVmaW5lZCgpKTsKKyNlbmRpZgorfQorCiBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uTmV3T2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiB7
CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3BlcmF0aW9ucy5oCmluZGV4IGMzZmFkNWQ2ZjMzYWEwNTJiZDcwZmJmM2E4Nzc5Yzc1YmQzZDUw
MjcuLjc3NDA2ODFjOGUyMGRhNzU0MWU5NGU1NmEwNmQwODMwMzFiNDQ5NzMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCkBAIC0yMCw3ICsyMCw3IEBACiAgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCiAgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKICAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgogICovCiAKICNpZm5kZWYgSklUT3BlcmF0aW9uc19oCkBAIC0xMTUsNiArMTE1
LDcgQEAgdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRp
b25fRVBQKShFeGVjU3RhdGUqLCB2b2lkKiwgdm8KIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklU
X09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQUykoRXhlY1N0YXRlKiwgdm9pZCosIHNpemVf
dCk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlv
bl9FUGMpKEV4ZWNTdGF0ZSosIEluc3RydWN0aW9uKik7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FSnNjQykoRXhlY1N0YXRlKiwgSlNTY29w
ZSosIEpTQ2VsbCopOwordHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9K
SVRPcGVyYXRpb25fRUpzY0NKKShFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKiwgRW5jb2Rl
ZEpTVmFsdWUpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRP
cGVyYXRpb25fRVNTKShFeGVjU3RhdGUqLCBzaXplX3QsIHNpemVfdCk7CiB0eXBlZGVmIEVuY29k
ZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FU3NpQ0kpKEV4ZWNTdGF0
ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgSlNDZWxsKiwgU3RyaW5nSW1wbCopOwogdHlwZWRlZiBF
bmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNzaUpJKShFeGVj
U3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlLCBTdHJpbmdJbXBsKik7
CkBAIC0yNzgsNiArMjc5LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRp
b25OZXdBcnJheUJ1ZmZlcldpdGhQcm9maWxlKEV4ZWNTdGF0ZSosIEFycmEKIEVuY29kZWRKU1Zh
bHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXlXaXRoU2l6ZUFuZFByb2ZpbGUoRXhl
Y1N0YXRlKiwgQXJyYXlBbGxvY2F0aW9uUHJvZmlsZSosIEVuY29kZWRKU1ZhbHVlIHNpemUpIFdU
Rl9JTlRFUk5BTDsKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3RnVu
Y3Rpb24oRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCopIFdURl9JTlRFUk5BTDsKIEVuY29k
ZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3RnVuY3Rpb25XaXRoSW52YWxpZGF0
ZWRSZWFsbG9jYXRpb25XYXRjaHBvaW50KEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKSBX
VEZfSU5URVJOQUw7CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Fy
cm93RnVuY3Rpb24oRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVl
KSBXVEZfSU5URVJOQUw7CiBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3T2JqZWN0
KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSopIFdURl9JTlRFUk5BTDsKIEVuY29kZWRKU1ZhbHVlIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3UmVnZXhwKEV4ZWNTdGF0ZSosIHZvaWQqKSBXVEZfSU5U
RVJOQUw7CiB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFuZGxlV2F0Y2hkb2dUaW1lcihF
eGVjU3RhdGUqKSBXVEZfSU5URVJOQUw7CkBAIC00MDYsNCArNDA4LDMgQEAgaW5saW5lIFBfSklU
T3BlcmF0aW9uX0VDbGkgb3BlcmF0aW9uTGlua1BvbHltb3JwaGljQ2FsbEZvcihSZWdpc3RlclBy
ZXNlcnZhdGlvbk0KICNlbmRpZiAvLyBFTkFCTEUoSklUKQogCiAjZW5kaWYgLy8gSklUT3BlcmF0
aW9uc19oCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNs
b3dQYXRocy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMu
Y3BwCmluZGV4IDA2OTc1NWI1MzEyNWM0NzQ0ZmQ4OGMyYjM0ZjI2ZWJiYjU4OTMxNjIuLmM2NWEw
NzY5NDVmOWIzNmNhNjQzMTlmZjZjNjhkOWY1ODBkMDhjZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcApAQCAtMzgsNiArMzgsOCBAQAogI2lu
Y2x1ZGUgIkludGVycHJldGVyLmgiCiAjaW5jbHVkZSAiSklULmgiCiAjaW5jbHVkZSAiSklURXhj
ZXB0aW9ucy5oIgorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTQm91
bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTTGV4aWNhbEVudmlyb25tZW50LmgiCiAjaW5jbHVk
ZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKQEAgLTE3MSw2ICsxNzMs
MTUgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBMTEludCB7CiAgICAgICAgIExMSU5UX1JF
VFVSTl9UV08ocGMsIF9fcmNmX2V4ZWMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CiAgICAgfSB3aGlsZSAoZmFsc2UpCiAKKyAgICAKKyNkZWZpbmUgTExJTlRfQ0FMQ19QUk9QRVJU
WV9GT1JfRlVOQ19FWFBSKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIExMSU5UX0JFR0lOKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVj
LT5jb2RlQmxvY2soKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBK
U1Njb3BlKiBzY29wZSA9IGV4ZWMtPnVuY2hlY2tlZFIocGNbMl0udS5vcGVyYW5kKS5SZWdpc3Rl
cjo6c2NvcGUoKTsgICAgICAgXAorICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9
IGNvZGVCbG9jay0+ZnVuY3Rpb25FeHByKHBjWzNdLnUub3BlcmFuZCk7ICBcCisgICAgCitlbnVt
IEZ1bmN0aW9uRXhwcmVzc2lvblR5cGUgeyBBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblR5cGUsIENv
bW1vbkZ1bmN0aW9uRXhwcmVzc2lvblR5cGV9OworICAgIAogZXh0ZXJuICJDIiBTbG93UGF0aFJl
dHVyblR5cGUgbGxpbnRfdHJhY2Vfb3BlcmFuZChFeGVjU3RhdGUqIGV4ZWMsIEluc3RydWN0aW9u
KiBwYywgaW50IGZyb21XaGVyZSwgaW50IG9wZXJhbmQpCiB7CiAgICAgTExJTlRfQkVHSU4oKTsK
QEAgLTEwMDMsMTYgKzEwMTQsMzUgQEAgTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX25l
d19mdW5jKQogI2VuZGlmCiAgICAgTExJTlRfUkVUVVJOKEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwg
Y29kZUJsb2NrLT5mdW5jdGlvbkRlY2wocGNbM10udS5vcGVyYW5kKSwgc2NvcGUpKTsKIH0KLQor
ICAgIAogTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX25ld19mdW5jX2V4cCkKIHsKLSAg
ICBMTElOVF9CRUdJTigpOwotICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+Y29kZUJs
b2NrKCk7Ci0gICAgSlNTY29wZSogc2NvcGUgPSBleGVjLT51bmNoZWNrZWRSKHBjWzJdLnUub3Bl
cmFuZCkuUmVnaXN0ZXI6OnNjb3BlKCk7Ci0gICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlv
biA9IGNvZGVCbG9jay0+ZnVuY3Rpb25FeHByKHBjWzNdLnUub3BlcmFuZCk7Ci0gICAgSlNGdW5j
dGlvbiogZnVuYyA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgZnVuY3Rpb24sIHNjb3BlKTsKKyAg
ICBMTElOVF9DQUxDX1BST1BFUlRZX0ZPUl9GVU5DX0VYUFIoKTsKKworICAgIEpTRnVuY3Rpb24q
IGZ1bmMgPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGV4ZWN1dGFibGUsIHNjb3BlKTsKKyAgICBM
TElOVF9SRVRVUk4oZnVuYyk7Cit9CisKKworTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRo
X25ld19hcnJvd19mdW5jX2V4cCkKK3sKKyAgICBMTElOVF9DQUxDX1BST1BFUlRZX0ZPUl9GVU5D
X0VYUFIoKTsKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgSlNW
YWx1ZSB0aGlzVmFsdWUgPSBMTElOVF9PUF9DKDQpLmpzVmFsdWUoKTsKKyAgICBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0ID0gZXhlYy0+Y2FsbGVlKCktPmdsb2JhbE9iamVjdCgpOwogICAg
IAorICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Fycm93RnVuY3Rpb246OmNyZWF0ZSh2bSwgc2Nv
cGUsIGV4ZWN1dGFibGUsIGdsb2JhbE9iamVjdCk7CisgICAgCisgICAgSlNBcnJheSogYm91bmRB
cmdzID0gSlNBcnJheTo6dHJ5Q3JlYXRlVW5pbml0aWFsaXplZCh2bSwgZ2xvYmFsT2JqZWN0LT5h
cnJheVN0cnVjdHVyZUZvckluZGV4aW5nVHlwZUR1cmluZ0FsbG9jYXRpb24oQXJyYXlXaXRoVW5k
ZWNpZGVkKSwgMCk7CisgICAgCisgICAgY29uc3QgU3RyaW5nIGZ1bmNXaXRob3V0TmFtZSA9ICIi
OworICAgIAorICAgIExMSU5UX1JFVFVSTihKU0JvdW5kRnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xv
YmFsT2JqZWN0LCBmdW5jLCB0aGlzVmFsdWUsIGJvdW5kQXJncywgMCwgZnVuY1dpdGhvdXROYW1l
KSk7CisjZWxzZQorICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0s
IGV4ZWN1dGFibGUsIHNjb3BlKTsKICAgICBMTElOVF9SRVRVUk4oZnVuYyk7CisjZW5kaWYKIH0K
IAogc3RhdGljIFNsb3dQYXRoUmV0dXJuVHlwZSBoYW5kbGVIb3N0Q2FsbChFeGVjU3RhdGUqIGV4
ZWNDYWxsZWUsIEluc3RydWN0aW9uKiBwYywgSlNWYWx1ZSBjYWxsZWUsIENvZGVTcGVjaWFsaXph
dGlvbktpbmQga2luZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
TEludFNsb3dQYXRocy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1Bh
dGhzLmgKaW5kZXggNGJmN2RlYjBmYTBiNmM2NDM4ZTM2Zjk2MzIwZTJmNjY5NzM5YWY2NC4uYzdm
YWI5NjkxYzE4YjkzOTU2ZDBlYTI5ZjMzOTU2MTE4YzVlNzFlZSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgKQEAgLTk2LDYgKzk2LDcgQEAgTExJTlRf
U0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9zd2l0Y2hfY2hhcik7CiBMTElOVF9TTE9X
X1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3N3aXRjaF9zdHJpbmcpOwogTExJTlRfU0xPV19Q
QVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuYyk7CiBMTElOVF9TTE9XX1BBVEhfSElE
REVOX0RFQ0woc2xvd19wYXRoX25ld19mdW5jX2V4cCk7CitMTElOVF9TTE9XX1BBVEhfSElEREVO
X0RFQ0woc2xvd19wYXRoX25ld19hcnJvd19mdW5jX2V4cCk7CiBMTElOVF9TTE9XX1BBVEhfSElE
REVOX0RFQ0woc2xvd19wYXRoX2NhbGwpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNs
b3dfcGF0aF9jb25zdHJ1Y3QpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0
aF9zaXplX2ZyYW1lX2Zvcl92YXJhcmdzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQppbmRleCA1NDNkOWU5MzMzYzUxM2U5NzYx
N2I3YmRhN2Y2OTk4NjY4MzhhMWUwLi4xODJiYmQ5ZTRlZjc4OTI4ZGE1MmZiY2VjODgyYTVkZjM2
ZGI3OTQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc20KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtCkBAIC0xMTY5LDYgKzExNjksMTAgQEAgX2xsaW50X29wX25ld19mdW5j
X2V4cDoKICAgICBjYWxsU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9uZXdfZnVuY19leHApCiAg
ICAgZGlzcGF0Y2goNCkKIAorX2xsaW50X29wX25ld19hcnJvd19mdW5jX2V4cDoKKyAgICB0cmFj
ZUV4ZWN1dGlvbigpCisgICAgY2FsbFNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfbmV3X2Fycm93
X2Z1bmNfZXhwKQorICAgIGRpc3BhdGNoKDUpCiAKIF9sbGludF9vcF9jYWxsOgogICAgIHRyYWNl
RXhlY3V0aW9uKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNU
QnVpbGRlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKaW5k
ZXggYjhmZTRiODQ4NWEwOTc2ODhmNWM2MzBiZDhjM2M5Njc2NGZjNDY0OS4uZjJmYTNiZDljMTVm
NGU0MjJlZWM2YTc5ZDY1ZjFkNzA4NmM2MmM3MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9BU1RCdWlsZGVyLmgKQEAgLTMxMyw2ICszMTMsMTkgQEAgcHVibGljOgogICAgICAgICAg
ICAgaW5TdHJpY3RDb250ZXh0LCBjb25zdHJ1Y3RvcktpbmQpOwogICAgIH0KIAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgRXhwcmVzc2lvbk5vZGUqIGNyZWF0ZUFy
cm93RnVuY3Rpb25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IFBh
cnNlckZ1bmN0aW9uSW5mbzxBU1RCdWlsZGVyPiYgaW5mbykKKyAgICB7CisgICAgICAgIFNvdXJj
ZUNvZGUgc291cmNlID0gaW5mby5mdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5
RXhwcmVzc2lvbgorICAgICAgICA/IG1fc291cmNlQ29kZS0+c3ViQXJyb3dFeHByZXNzaW9uKGlu
Zm8uYXJyb3dGdW5jdGlvbk9mZnNldCwgaW5mby5jbG9zZUJyYWNlT2Zmc2V0LCBpbmZvLmJvZHlT
dGFydExpbmUsIGluZm8uYm9keVN0YXJ0Q29sdW1uKQorICAgICAgICA6IG1fc291cmNlQ29kZS0+
c3ViRXhwcmVzc2lvbihpbmZvLm9wZW5CcmFjZU9mZnNldCwgaW5mby5jbG9zZUJyYWNlT2Zmc2V0
LCBpbmZvLmJvZHlTdGFydExpbmUsIGluZm8uYm9keVN0YXJ0Q29sdW1uKTsKKworICAgICAgICBB
cnJvd0Z1bmNFeHByTm9kZSogcmVzdWx0ID0gbmV3IChtX3BhcnNlckFyZW5hKSBBcnJvd0Z1bmNF
eHByTm9kZShsb2NhdGlvbiwgKmluZm8ubmFtZSwgaW5mby5ib2R5LCBzb3VyY2UsIGluZm8ucGFy
YW1ldGVycyk7CisgICAgICAgIGluZm8uYm9keS0+c2V0TG9jKGluZm8uYm9keVN0YXJ0TGluZSwg
aW5mby5ib2R5RW5kTGluZSwgbG9jYXRpb24uc3RhcnRPZmZzZXQsIGxvY2F0aW9uLmxpbmVTdGFy
dE9mZnNldCk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorI2VuZGlmCisKICAgICBO
RVZFUl9JTkxJTkUgUHJvcGVydHlOb2RlKiBjcmVhdGVHZXR0ZXJPclNldHRlclByb3BlcnR5KGNv
bnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIFByb3BlcnR5Tm9kZTo6VHlwZSB0eXBlLCBi
b29sLAogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBuYW1lLCBjb25zdCBQYXJzZXJGdW5jdGlv
bkluZm88QVNUQnVpbGRlcj4mIGluZm8sIFN1cGVyQmluZGluZyBzdXBlckJpbmRpbmcpCiAgICAg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcAppbmRleCA3ZGUxNDIyMGJiZGE3
MjczOGI1NzNhNGI5Nzg4Y2UwYjMyY2M3Y2UzLi41NDBmOWZmYjdiYjUxODI5ZDY3ZGVlZGVjNWU2
YThlZDUxY2M0NDE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xl
eGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcApAQCAt
MTQzMCw2ICsxNDMwLDE4IEBAIGJvb2wgTGV4ZXI8VD46Om5leHRUb2tlbklzQ29sb24oKQogICAg
IHJldHVybiBjb2RlIDwgbV9jb2RlRW5kICYmICpjb2RlID09ICc6JzsKIH0KIAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK3ZvaWQg
TGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24oSlNUb2tlbiogdG9rZW5SZWNvcmQpCit7CisgICAg
SlNUb2tlbkRhdGEqIHRva2VuRGF0YSA9ICZ0b2tlblJlY29yZC0+bV9kYXRhOworICAgIHRva2Vu
RGF0YS0+bGluZSA9IGxpbmVOdW1iZXIoKTsKKyAgICB0b2tlbkRhdGEtPm9mZnNldCA9IGN1cnJl
bnRPZmZzZXQoKTsKKyAgICB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCA9IGN1cnJlbnRMaW5l
U3RhcnRPZmZzZXQoKTsKKyAgICBBU1NFUlQodG9rZW5EYXRhLT5vZmZzZXQgPj0gdG9rZW5EYXRh
LT5saW5lU3RhcnRPZmZzZXQpOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgog
SlNUb2tlblR5cGUgTGV4ZXI8VD46OmxleChKU1Rva2VuKiB0b2tlblJlY29yZCwgdW5zaWduZWQg
bGV4ZXJGbGFncywgYm9vbCBzdHJpY3RNb2RlKQogewpAQCAtMTQ5Myw3ICsxNTA1LDEyIEBAIHN0
YXJ0OgogICAgICAgICB9CiAgICAgICAgIHRva2VuID0gR1Q7CiAgICAgICAgIGJyZWFrOwotICAg
IGNhc2UgQ2hhcmFjdGVyRXF1YWw6CisgICAgY2FzZSBDaGFyYWN0ZXJFcXVhbDogeworI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIHVpbnQzMl90IHNhdmVkbGlu
ZU51bWJlciA9IHRva2VuRGF0YS0+bGluZTsKKyAgICAgICAgdWludDMyX3Qgc2F2ZWRPZmZzZXQg
PSBjdXJyZW50T2Zmc2V0KCk7CisgICAgICAgIHVpbnQzMl90IHNhdmVkTGluZVN0YXJ0T2Zmc2V0
ID0gY3VycmVudExpbmVTdGFydE9mZnNldCgpOworI2VuZGlmCiAgICAgICAgIHNoaWZ0KCk7CiAg
ICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJz0nKSB7CiAgICAgICAgICAgICBzaGlmdCgpOwpAQCAt
MTUwNSw4ICsxNTIyLDIyIEBAIHN0YXJ0OgogICAgICAgICAgICAgdG9rZW4gPSBFUUVROwogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgICAgICBpZiAobV9jdXJyZW50ID09ICc+JykgeworICAgICAgICAgICAgc2hp
ZnQoKTsKKyAgICAgICAgICAgIHRva2VuID0gQVJST1dGVU5DVElPTjsKKworICAgICAgICAgICAg
dG9rZW5EYXRhLT5saW5lID0gc2F2ZWRsaW5lTnVtYmVyOworICAgICAgICAgICAgdG9rZW5EYXRh
LT5vZmZzZXQgPSBzYXZlZE9mZnNldDsKKyAgICAgICAgICAgIHRva2VuRGF0YS0+bGluZVN0YXJ0
T2Zmc2V0ID0gc2F2ZWRMaW5lU3RhcnRPZmZzZXQ7CisKKyAgICAgICAgICAgIEFTU0VSVCh0b2tl
bkRhdGEtPm9mZnNldCA+PSB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCk7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIHRva2VuID0gRVFVQUw7CiAgICAg
ICAgIGJyZWFrOworICAgIH0KICAgICBjYXNlIENoYXJhY3Rlckxlc3M6CiAgICAgICAgIHNoaWZ0
KCk7CiAgICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJyEnICYmIHBlZWsoMSkgPT0gJy0nICYmIHBl
ZWsoMikgPT0gJy0nKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L0xleGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKaW5kZXggMmRm
NTIxMzk5NTc4MjAwNzg1YTE2NmUyMmE3MzI3NWUwZWE2MzA0ZC4uY2IzZjI1ZjdjMDhmODI1ODFh
ZjJjZThmYTk5OTk3ZmFkZTA3NjZmMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9MZXhlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIu
aApAQCAtODUsNiArODUsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRJc1JlcGFyc2luZygpIHsg
bV9pc1JlcGFyc2luZyA9IHRydWU7IH0KICAgICBib29sIGlzUmVwYXJzaW5nKCkgY29uc3QgeyBy
ZXR1cm4gbV9pc1JlcGFyc2luZzsgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICB2b2lkIHNldFRva2VuUG9zaXRpb24oSlNUb2tlbiogdG9rZW5SZWNvcmQpOwor
I2VuZGlmCiAgICAgSlNUb2tlblR5cGUgbGV4KEpTVG9rZW4qLCB1bnNpZ25lZCwgYm9vbCBzdHJp
Y3RNb2RlKTsKICAgICBib29sIG5leHRUb2tlbklzQ29sb24oKTsKICAgICBpbnQgbGluZU51bWJl
cigpIGNvbnN0IHsgcmV0dXJuIG1fbGluZU51bWJlcjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaAppbmRleCAzYmRhYjYxYTUyMmUwY2UyYzMz
OTdmODBmNGZhMTg0ZDFkNDIxNjBlLi5iNThlMWZlMWFmOTBlNjYwYjA4NDJlYTdlOTlmMDdhZTZh
Y2JiOTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25z
dHJ1Y3RvcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1
Y3RvcnMuaApAQCAtNzgxLDYgKzc4MSwxMyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgbV9i
b2R5LT5maW5pc2hQYXJzaW5nKHNvdXJjZSwgcGFyYW1ldGVyLCBpZGVudCwgRnVuY3Rpb25FeHBy
ZXNzaW9uKTsKICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIGlubGluZSBBcnJvd0Z1bmNFeHByTm9kZTo6QXJyb3dGdW5jRXhwck5vZGUoY29uc3QgSlNU
b2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIEZ1bmN0aW9u
Qm9keU5vZGUqIGJvZHksIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgUGFyYW1ldGVyTm9kZSog
cGFyYW1ldGVyKQorICAgICAgICA6IEZ1bmNFeHByTm9kZShsb2NhdGlvbiwgaWRlbnQsIGJvZHks
IHNvdXJjZSwgcGFyYW1ldGVyKQorICAgIHsKKyAgICB9CisjZW5kaWYKKyAgICAKICAgICBpbmxp
bmUgRnVuY0RlY2xOb2RlOjpGdW5jRGVjbE5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2Nh
dGlvbiwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIEZ1bmN0aW9uQm9keU5vZGUqIGJvZHksIGNv
bnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgUGFyYW1ldGVyTm9kZSogcGFyYW1ldGVyKQogICAgICAg
ICA6IFN0YXRlbWVudE5vZGUobG9jYXRpb24pCiAgICAgICAgICwgbV9ib2R5KGJvZHkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKaW5kZXggNmIzNzMyOWMwOWJmYzQyYmVjY2MzY2Fh
OTgzNTk3YzM1NDAyYjZjOS4uNWI3NzQxZTFjY2M4ZDUxNWZmMTRjMTUzMTcyZDdiZGEwNTNmNTg2
OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaApAQCAtMTU4LDYgKzE1OCw5IEBA
IG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNEb3RBY2Nlc3Nvck5vZGUo
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNEZWNvbnN0
cnVjdGlvbk5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJv
b2wgaXNGdW5jRXhwck5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Fycm93RnVu
Y0V4cHJOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyNlbmRpZgogICAgICAgICB2aXJ0
dWFsIGJvb2wgaXNDb21tYU5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2
aXJ0dWFsIGJvb2wgaXNTaW1wbGVBcnJheSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAg
ICAgIHZpcnR1YWwgYm9vbCBpc0FkZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CkBAIC0xNjUy
LDYgKzE2NTUsMTkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIEZ1bmN0aW9uQm9keU5vZGUq
IG1fYm9keTsKICAgICB9OwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICBjbGFzcyBBcnJvd0Z1bmNFeHByTm9kZSA6IHB1YmxpYyBGdW5jRXhwck5vZGUgeworICAg
IHB1YmxpYzoKKyAgICAgICAgQXJyb3dGdW5jRXhwck5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9u
JiwgY29uc3QgSWRlbnRpZmllciYsIEZ1bmN0aW9uQm9keU5vZGUqLCBjb25zdCBTb3VyY2VDb2Rl
JiwgUGFyYW1ldGVyTm9kZSogPSAwKTsKKyAgICBwcml2YXRlOgorICAgICAgICB2aXJ0dWFsIFJl
Z2lzdGVySUQqIGVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYsIFJlZ2lzdGVySUQqID0g
MCkgb3ZlcnJpZGU7CisgICAgICAgIAorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNGdW5jRXhwck5v
ZGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQorICAgICAgICAKKyAgICAgICAg
dmlydHVhbCBib29sIGlzQXJyb3dGdW5jRXhwck5vZGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biB0cnVlOyB9CisgICAgfTsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgp
CiAgICAgY2xhc3MgQ2xhc3NFeHByTm9kZSBmaW5hbCA6IHB1YmxpYyBFeHByZXNzaW9uTm9kZSB7
CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCmluZGV4
IDMyZDI1MGNhN2NjNTNmNGJlYTYxZjYxYjZkYWJmZTY0YmNiYzY4NDYuLjk1YjM2NTJmMTg2NzM2
Y2M5ZGQ5N2Q2ZDRiY2YwNjAyZDdhZTQ5ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1BhcnNlci5jcHAKQEAgLTI2NCw3ICsyNjQsNyBAQCBTdHJpbmcgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlSW5uZXIoKQogICAgIGlmIChtX2xleGVyLT5pc1JlcGFyc2luZygpKQogICAgICAgICBt
X3N0YXRlbWVudERlcHRoLS07CiAgICAgU2NvcGVSZWYgc2NvcGUgPSBjdXJyZW50U2NvcGUoKTsK
LSAgICBTb3VyY2VFbGVtZW50cyogc291cmNlRWxlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRz
KGNvbnRleHQsIENoZWNrRm9yU3RyaWN0TW9kZSk7CisgICAgU291cmNlRWxlbWVudHMqIHNvdXJj
ZUVsZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBDaGVja0ZvclN0cmljdE1v
ZGUsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwogICAgIGlmICghc291cmNlRWxlbWVudHMg
fHwgIWNvbnN1bWUoRU9GVE9LKSkgewogICAgICAgICBpZiAoaGFzRXJyb3IoKSkKICAgICAgICAg
ICAgIHBhcnNlRXJyb3IgPSBtX2Vycm9yTWVzc2FnZTsKQEAgLTMzMCw3ICszMzAsNyBAQCBib29s
IFBhcnNlcjxMZXhlclR5cGU+OjphbGxvd0F1dG9tYXRpY1NlbWljb2xvbigpCiB9CiAKIHRlbXBs
YXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Ci10ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3VyY2VFbGVtZW50cyhU
cmVlQnVpbGRlciYgY29udGV4dCwgU291cmNlRWxlbWVudHNNb2RlIG1vZGUpCit0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYgY29udGV4dCwgU291cmNlRWxlbWVudHNN
b2RlIG1vZGUsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBlKQogewogICAgIGNv
bnN0IHVuc2lnbmVkIGxlbmd0aE9mVXNlU3RyaWN0TGl0ZXJhbCA9IDEyOyAvLyAidXNlIHN0cmlj
dCIubGVuZ3RoCiAgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHNvdXJjZUVsZW1lbnRzID0gY29udGV4
dC5jcmVhdGVTb3VyY2VFbGVtZW50cygpOwpAQCAtMzM5LDcgKzMzOSw3IEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZVNvdXJjZUVsCiAgICAgdW5zaWduZWQgZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDA7CiAg
ICAgYXV0byBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKICAgICBib29sIGhhc1NldFN0
cmljdCA9IGZhbHNlOwotICAgIHdoaWxlIChUcmVlU3RhdGVtZW50IHN0YXRlbWVudCA9IHBhcnNl
U3RhdGVtZW50KGNvbnRleHQsIGRpcmVjdGl2ZSwgJmRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgpKSB7
CisgICAgd2hpbGUgKFRyZWVTdGF0ZW1lbnQgc3RhdGVtZW50ID0gcGFyc2VTdGF0ZW1lbnQoY29u
dGV4dCwgZGlyZWN0aXZlLCAmZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCwgZnVuY3Rpb25QYXJzZVR5
cGUpKSB7CiAgICAgICAgIGlmIChtb2RlID09IENoZWNrRm9yU3RyaWN0TW9kZSAmJiAhc2Vlbk5v
bkRpcmVjdGl2ZSkgewogICAgICAgICAgICAgaWYgKGRpcmVjdGl2ZSkgewogICAgICAgICAgICAg
ICAgIC8vICJ1c2Ugc3RyaWN0IiBtdXN0IGJlIHRoZSBleGFjdCBsaXRlcmFsIHdpdGhvdXQgZXNj
YXBlIHNlcXVlbmNlcyBvciBsaW5lIGNvbnRpbnVhdGlvbi4KQEAgLTU3MSw2ICs1NzEsMzEgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIFBh
cnNlcjxMZXhlclR5cGU+OjpjcmVhdGUKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVCaW5kaW5n
TG9jYXRpb24odG9rZW4ubV9sb2NhdGlvbiwgbmFtZSwgdG9rZW4ubV9zdGFydFBvc2l0aW9uLCB0
b2tlbi5tX2VuZFBvc2l0aW9uKTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVu
Y3Rpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAgQVNTRVJUKG1hdGNo
KEFSUk9XRlVOQ1RJT04pKTsKKworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxv
Y2F0aW9uKCkpOworICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9u
KCk7CisgICAgSlNUZXh0UG9zaXRpb24gZW5kID0gdG9rZW5FbmRQb3NpdGlvbigpOworCisgICAg
bmV4dCgpOworICAgIFRyZWVFeHByZXNzaW9uIGV4cHIgPSBwYXJzZUFycm93RnVuY3Rpb25FeHBy
ZXNzaW9uKGNvbnRleHQpOworICAgIGZhaWxJZkZhbHNlKGV4cHIsICJDYW5ub3QgcGFyc2UgdGhl
IGFycm93IGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsKKyAgICBlbmQgPSBsYXN0VG9rZW5FbmRQb3Np
dGlvbigpOworCisgICAgYm9vbCBjb3JyZWN0QXJyb3dGaW5pc2ggPSBpc0VuZE9mQXJyb3dGdW5j
dGlvbigpIHx8IG1hdGNoKEVPRlRPSyk7CisgICAgZmFpbElmRmFsc2UoY29ycmVjdEFycm93Rmlu
aXNoLCAiRXhwZWN0ZWQgYSAnOycsICddJywgJ30nLCAnKScsIG9yICcsJyBmb2xsb3dpbmcgYSBh
cnJvdyBmdW5jdGlvbiBzdGF0ZW1lbnQiKTsKKworICAgIGVuZCA9IHRva2VuRW5kUG9zaXRpb24o
KTsKKyAgICBzZXRFbmRPZlN0YXRlbWVudCgpOworCisgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRl
UmV0dXJuU3RhdGVtZW50KGxvY2F0aW9uLCBleHByLCBzdGFydCwgZW5kKTsKK30KKyNlbmRpZgor
CiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIFBhcnNlcjxMZXhlclR5cGU+Ojp0cnlQYXJz
ZURlY29uc3RydWN0aW9uUGF0dGVybkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7
CkBAIC0xMDE4LDcgKzEwNDMsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVD
bGF1c2VMaXN0IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN3aXRjaENsYXVzZQogICAgIFRyZWVF
eHByZXNzaW9uIGNvbmRpdGlvbiA9IHBhcnNlRXhwcmVzc2lvbihjb250ZXh0KTsKICAgICBmYWls
SWZGYWxzZShjb25kaXRpb24sICJDYW5ub3QgcGFyc2Ugc3dpdGNoIGNsYXVzZSIpOwogICAgIGNv
bnN1bWVPckZhaWwoQ09MT04sICJFeHBlY3RlZCBhICc6JyBhZnRlciBzd2l0Y2ggY2xhdXNlIGV4
cHJlc3Npb24iKTsKLSAgICBUcmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291
cmNlRWxlbWVudHMoY29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSk7CisgICAgVHJlZVNv
dXJjZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERv
bnRDaGVja0ZvclN0cmljdE1vZGUsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwogICAgIGZh
aWxJZkZhbHNlKHN0YXRlbWVudHMsICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgYSBzd2l0Y2gg
Y2xhdXNlIik7CiAgICAgVHJlZUNsYXVzZSBjbGF1c2UgPSBjb250ZXh0LmNyZWF0ZUNsYXVzZShj
b25kaXRpb24sIHN0YXRlbWVudHMpOwogICAgIGNvbnRleHQuc2V0U3RhcnRPZmZzZXQoY2xhdXNl
LCBzdGFydE9mZnNldCk7CkBAIC0xMDMxLDcgKzEwNTYsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVDbGF1c2VMaXN0IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN3aXRjaENs
YXVzZQogICAgICAgICBUcmVlRXhwcmVzc2lvbiBjb25kaXRpb24gPSBwYXJzZUV4cHJlc3Npb24o
Y29udGV4dCk7CiAgICAgICAgIGZhaWxJZkZhbHNlKGNvbmRpdGlvbiwgIkNhbm5vdCBwYXJzZSBz
d2l0Y2ggY2FzZSBleHByZXNzaW9uIik7CiAgICAgICAgIGNvbnN1bWVPckZhaWwoQ09MT04sICJF
eHBlY3RlZCBhICc6JyBhZnRlciBzd2l0Y2ggY2xhdXNlIGV4cHJlc3Npb24iKTsKLSAgICAgICAg
VHJlZVNvdXJjZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRl
eHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUpOworICAgICAgICBUcmVlU291cmNlRWxlbWVudHMg
c3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgRG9udENoZWNrRm9yU3Ry
aWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CiAgICAgICAgIGZhaWxJZkZhbHNl
KHN0YXRlbWVudHMsICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgYSBzd2l0Y2ggY2xhdXNlIik7
CiAgICAgICAgIGNsYXVzZSA9IGNvbnRleHQuY3JlYXRlQ2xhdXNlKGNvbmRpdGlvbiwgc3RhdGVt
ZW50cyk7CiAgICAgICAgIGNvbnRleHQuc2V0U3RhcnRPZmZzZXQoY2xhdXNlLCBzdGFydE9mZnNl
dCk7CkBAIC0xMDQ4LDcgKzEwNzMsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVDbGF1c2UgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3dpdGNoRGVmYXVsdENsYQogICAgIHVu
c2lnbmVkIHN0YXJ0T2Zmc2V0ID0gdG9rZW5TdGFydCgpOwogICAgIG5leHQoKTsKICAgICBjb25z
dW1lT3JGYWlsKENPTE9OLCAiRXhwZWN0ZWQgYSAnOicgYWZ0ZXIgc3dpdGNoIGRlZmF1bHQgY2xh
dXNlIik7Ci0gICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVs
ZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUpOworICAgIFRyZWVTb3VyY2VF
bGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hl
Y2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICBmYWlsSWZG
YWxzZShzdGF0ZW1lbnRzLCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIGEgc3dpdGNoIGRlZmF1
bHQgY2xhdXNlIik7CiAgICAgVHJlZUNsYXVzZSByZXN1bHQgPSBjb250ZXh0LmNyZWF0ZUNsYXVz
ZSgwLCBzdGF0ZW1lbnRzKTsKICAgICBjb250ZXh0LnNldFN0YXJ0T2Zmc2V0KHJlc3VsdCwgc3Rh
cnRPZmZzZXQpOwpAQCAtMTEzMyw3ICsxMTU4LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUJsb2NrU3RhdGVtZW4K
ICAgICAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQocmVzdWx0LCBlbmRPZmZzZXQpOwogICAgICAg
ICByZXR1cm4gcmVzdWx0OwogICAgIH0KLSAgICBUcmVlU291cmNlRWxlbWVudHMgc3VidHJlZSA9
IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSk7Cisg
ICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN1YnRyZWUgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRl
eHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwog
ICAgIGZhaWxJZkZhbHNlKHN1YnRyZWUsICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgdGhlIGJs
b2NrIHN0YXRlbWVudCIpOwogICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0UsICJFeHBlY3RlZCBh
IGNsb3NpbmcgJ30nIGF0IHRoZSBlbmQgb2YgYSBibG9jayBzdGF0ZW1lbnQiKTsKICAgICBpbnQg
ZW5kT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OwpAQCAtMTE0NSw3ICsxMTcwLDcgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUJsb2NrU3RhdGVtZW4KIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlw
ZT4KLXRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50
aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoKQordGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciom
IGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgsIEZ1bmN0aW9uUGFy
c2VUeXBlIHBhcnNlVHlwZSkKIHsKICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1f
c3RhdGVtZW50RGVwdGgpOwogICAgIG1fc3RhdGVtZW50RGVwdGgrKzsKQEAgLTExNTQsNiArMTE3
OSwyMyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAgIGZhaWxJZlN0YWNrT3ZlcmZsb3co
KTsKICAgICBUcmVlU3RhdGVtZW50IHJlc3VsdCA9IDA7CiAgICAgYm9vbCBzaG91bGRTZXRFbmRP
ZmZzZXQgPSB0cnVlOworCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgc3dp
dGNoIChtX3Rva2VuLm1fdHlwZSkgeworICAgICAgICBjYXNlIENMT1NFUEFSRU46CisgICAgICAg
IGNhc2UgQ0xPU0VCUkFDS0VUOgorICAgICAgICBjYXNlIENPTU1BOgorICAgICAgICBjYXNlIFNF
TUlDT0xPTjogeworICAgICAgICAgICAgcmVzdWx0ID0gMDsKKyAgICAgICAgICAgIGNvbnRleHQu
c2V0RW5kT2Zmc2V0KHJlc3VsdCwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5vZmZzZXQpOworICAg
ICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAgICAgfQorICAgICAgICBkZWZhdWx0OgorICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYKICAgICBzd2l0Y2ggKG1f
dG9rZW4ubV90eXBlKSB7CiAgICAgY2FzZSBPUEVOQlJBQ0U6CiAgICAgICAgIHJlc3VsdCA9IHBh
cnNlQmxvY2tTdGF0ZW1lbnQoY29udGV4dCk7CkBAIC0xMTk5LDYgKzEyNDEsMTUgQEAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZVN0YXRlbWVudChUcmUKICAgICBjYXNlIEJSRUFLOgogICAgICAgICByZXN1bHQgPSBwYXJz
ZUJyZWFrU3RhdGVtZW50KGNvbnRleHQpOwogICAgICAgICBicmVhazsKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2UgQVJST1dGVU5DVElPTjoKKyAgICAgICAg
cmVzdWx0ID0gcGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KGNvbnRleHQpOworICAgICAgICAv
LyBDb25zdW1lIHRoZSBlbmQgb2YgYXJyb3cgZnVuY3Rpb24gLDtdKSBhbmQgcHJldmVudAorICAg
ICAgICAvLyBwYXJzZSB0aGlzIHN5bWJvbHMgYnkgcGFyc2VTdGF0ZW1lbnQgYXMgc2VwYXJhdGUg
c3RhdGVtZW50CisgICAgICAgIGlmIChwYXJzZVR5cGUgPT0gU3RhbmRhcmRGdW5jdGlvblBhcnNl
VHlwZSkKKyAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgYnJlYWs7CisjZW5kaWYKICAgICBj
YXNlIFJFVFVSTjoKICAgICAgICAgcmVzdWx0ID0gcGFyc2VSZXR1cm5TdGF0ZW1lbnQoY29udGV4
dCk7CiAgICAgICAgIGJyZWFrOwpAQCAtMTI2MywyMCArMTMxNCwzNCBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0IFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZUZvcgogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZUZ1bmN0aW9uQm9keSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VG
dW5jdGlvbkJvZHkoCiAgICAgVHJlZUJ1aWxkZXImIGNvbnRleHQsIGludCBmdW5jdGlvbktleXdv
cmRTdGFydCwgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCAKLSAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0
LCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kKQorICAgIGludCBwYXJhbWV0ZXJzU3Rh
cnQsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQsIEZ1bmN0aW9uUGFyc2VUeXBlIHBh
cnNlVHlwZSkKIHsKICAgICBKU1Rva2VuTG9jYXRpb24gc3RhcnRMb2NhdGlvbih0b2tlbkxvY2F0
aW9uKCkpOwogICAgIHVuc2lnbmVkIHN0YXJ0Q29sdW1uID0gdG9rZW5Db2x1bW4oKTsKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlmIChwYXJzZVR5cGUgPT0gU3Rh
bmRhcmRGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICBuZXh0KCk7CisgICAgICAgIGlmICht
YXRjaChDTE9TRUJSQUNFKSkgeworICAgICAgICAgICAgdW5zaWduZWQgZW5kQ29sdW1uID0gdG9r
ZW5Db2x1bW4oKTsKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uQm9k
eShzdGFydExvY2F0aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0YXJ0Q29sdW1uLCBlbmRDb2x1bW4s
IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0
LCBzdHJpY3RNb2RlKCksIGNvbnN0cnVjdG9yS2luZCk7CisgICAgICAgIH0KKyAgICB9CisjZWxz
ZQogICAgIG5leHQoKTsKLQogICAgIGlmIChtYXRjaChDTE9TRUJSQUNFKSkgewogICAgICAgICB1
bnNpZ25lZCBlbmRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOwogICAgICAgICByZXR1cm4gY29udGV4
dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFy
dENvbHVtbiwgZW5kQ29sdW1uLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3Rh
cnQsIHBhcmFtZXRlcnNTdGFydCwgc3RyaWN0TW9kZSgpLCBjb25zdHJ1Y3RvcktpbmQpOwogICAg
IH0KKyNlbmRpZgorCiAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVu
dERlcHRoKTsKICAgICBtX3N0YXRlbWVudERlcHRoID0gMDsKICAgICB0eXBlbmFtZSBUcmVlQnVp
bGRlcjo6RnVuY3Rpb25Cb2R5QnVpbGRlciBib2R5QnVpbGRlcihjb25zdF9jYXN0PFZNKj4obV92
bSksIG1fbGV4ZXIuZ2V0KCkpOwotICAgIGZhaWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMo
Ym9keUJ1aWxkZXIsIENoZWNrRm9yU3RyaWN0TW9kZSksICJDYW5ub3QgcGFyc2UgYm9keSBvZiB0
aGlzIGZ1bmN0aW9uIik7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICBmYWlsSWZGYWxzZShwYXJzZVNvdXJjZUVsZW1lbnRzKGJvZHlCdWlsZGVyLCBDaGVja0ZvclN0
cmljdE1vZGUsIHBhcnNlVHlwZSksIHBhcnNlVHlwZSA9PSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VU
eXBlID8gIkNhbm5vdCBwYXJzZSBib2R5IG9mIHRoaXMgZnVuY3Rpb24iIDogIkNhbm5vdCBwYXJz
ZSBib2R5IG9mIHRoaXMgYXJyb3cgZnVuY3Rpb24iKTsKKyNlbHNlCisgICAgZmFpbElmRmFsc2Uo
cGFyc2VTb3VyY2VFbGVtZW50cyhib2R5QnVpbGRlciwgQ2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFu
ZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSwgIkNhbm5vdCBwYXJzZSBib2R5IG9mIHRoaXMgZnVuY3Rp
b24iKTsKKyNlbmRpZgogICAgIHVuc2lnbmVkIGVuZENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CiAg
ICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0YXJ0TG9jYXRpb24sIHRva2Vu
TG9jYXRpb24oKSwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgZnVuY3Rpb25LZXl3b3JkU3RhcnQs
IGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0cmljdE1vZGUoKSwgY29uc3Ry
dWN0b3JLaW5kKTsKIH0KQEAgLTEyOTcsMTUgKzEzNjIsOCBAQCBzdGF0aWMgY29uc3QgY2hhciog
c3RyaW5nRm9yRnVuY3Rpb25Nb2RlKEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUpCiAgICAgcmV0dXJu
IG51bGxwdHI7CiB9CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Ci10ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25J
bmZvKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblJlcXVpcmVtZW50cyByZXF1aXJlbWVu
dHMsIEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUsCi0gICAgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdT
Y29wZSwgQ29uc3RydWN0b3JLaW5kIG93bmVyQ2xhc3NLaW5kLCBpbnQgZnVuY3Rpb25LZXl3b3Jk
U3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mIGluZm8pCit0ZW1wbGF0ZSA8
dHlwZW5hbWUgTGV4ZXJUeXBlPiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGludCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvblBhcmFtdGVycyhUcmVlQnVpbGRlciYgY29udGV4
dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMgcmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSBt
b2RlLCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBBdXRvUG9wU2NvcGVSZWYmIGZ1bmN0
aW9uU2NvcGUsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mIGluZm8pCiB7Ci0gICAg
QXV0b1BvcFNjb3BlUmVmIGZ1bmN0aW9uU2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOwotICAgIGZ1
bmN0aW9uU2NvcGUtPnNldElzRnVuY3Rpb24oKTsKLSAgICBpbnQgZnVuY3Rpb25OYW1lU3RhcnQg
PSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7Ci0gICAgY29uc3QgSWRlbnRpZmllciog
bGFzdEZ1bmN0aW9uTmFtZSA9IG1fbGFzdEZ1bmN0aW9uTmFtZTsKLSAgICBtX2xhc3RGdW5jdGlv
bk5hbWUgPSBudWxscHRyOwogICAgIGlmIChtYXRjaChJREVOVCkpIHsKICAgICAgICAgaW5mby5u
YW1lID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9
IGluZm8ubmFtZTsKQEAgLTEzMjQsNyArMTM4Miw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxk
CiAgICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5jdGlvbk1v
ZGUobW9kZSksICIgbmFtZSIpOwogICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVkIGFu
IG9wZW5pbmcgJygnIGJlZm9yZSBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIidz
IHBhcmFtZXRlciBsaXN0Iik7CiAgICAgfQotCisgICAgCiAgICAgaWYgKG1vZGUgPT0gR2V0dGVy
TW9kZSkKICAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiZ2V0dGVyIGZ1bmN0aW9u
cyBtdXN0IGhhdmUgbm8gcGFyYW1ldGVycyIpOwogICAgIGVsc2UgaWYgKG1vZGUgPT0gU2V0dGVy
TW9kZSkgewpAQCAtMTM0MSwxNiArMTM5OSw3OSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAog
ICAgICAgICB9CiAgICAgICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJFTiwgIkV4cGVjdGVkIGEg
JyknIG9yIGEgJywnIGFmdGVyIGEgcGFyYW1ldGVyIGRlY2xhcmF0aW9uIik7CiAgICAgfQorICAg
IAorICAgIHJldHVybiBwYXJhbWV0ZXJzU3RhcnQ7Cit9CiAKLSAgICBtYXRjaE9yRmFpbChPUEVO
QlJBQ0UsICJFeHBlY3RlZCBhbiBvcGVuaW5nICd7JyBhdCB0aGUgc3RhcnQgb2YgYSAiLCBzdHJp
bmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOworI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPiB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IGludCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0
aW9uUGFyYW10ZXJzKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblBhcnNlTW9kZSBtb2Rl
LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvKQoreworICAgIGludCBwYXJh
bWV0ZXJzU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CisgICAgaWYgKCFt
YXRjaChJREVOVCkgJiYgIW1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgc2VtYW50aWNGYWls
dXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7Cisg
ICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgYW4gYXJyb3cgZnVuY3Rpb24gaW5wdXQg
cGFyYW1ldGVyIik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikp
IHsKKyAgICAgICAgICAgIGNvbnN1bWUoT1BFTlBBUkVOKTsKKyAgICAgICAgICAgIAorICAgICAg
ICAgICAgaWYgKCFtYXRjaChDTE9TRVBBUkVOKSkgeworICAgICAgICAgICAgICAgIGluZm8ucGFy
YW1ldGVycyA9IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhjb250ZXh0KTsKKyAgICAgICAgICAgICAg
ICBmYWlsSWZGYWxzZShpbmZvLnBhcmFtZXRlcnMsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVycyBm
b3IgdGhpcyAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgCisgICAgICAgICAgICBjb25zdW1lT3JGYWlsKENMT1NFUEFSRU4sICJFeHBl
Y3RlZCBhICcpJyBvciBhICcsJyBhZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgYXV0byBwYXJhbWV0ZXIgPSBwYXJzZURlY29uc3Ry
dWN0aW9uUGF0dGVybihjb250ZXh0LCBEZWNvbnN0cnVjdFRvUGFyYW1ldGVycyk7CisgICAgICAg
ICAgICBmYWlsSWZGYWxzZShwYXJhbWV0ZXIsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVyIHBhdHRl
cm4iKTsKKyAgICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9IGNvbnRleHQuY3JlYXRlRm9ybWFs
UGFyYW1ldGVyTGlzdChwYXJhbWV0ZXIpOworICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5w
YXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9y
RnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAgICAgfQorICAgIH0KKyAgICAKKyAgICByZXR1cm4g
cGFyYW1ldGVyc1N0YXJ0OworfQorI2VuZGlmCiAKLSAgICAvLyBCeXRlY29kZUdlbmVyYXRvciBl
bWl0cyBjb2RlIHRvIHRocm93IFR5cGVFcnJvciB3aGVuIGEgY2xhc3MgY29uc3RydWN0b3IgaXMg
ImNhbGwiZWQuCi0gICAgLy8gU2V0IENvbnN0cnVjdG9yS2luZCB0byBOb25lIGZvciBub24tY29u
c3RydWN0b3IgbWV0aG9kcyBvZiBjbGFzc2VzLgotICAgIGJvb2wgaXNDbGFzc0NvbnN0cnVjdG9y
ID0gbW9kZSA9PSBNZXRob2RNb2RlICYmIGluZm8ubmFtZSAmJiAqaW5mby5uYW1lID09IG1fdm0t
PnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yOwotICAgIGlmIChtX2RlZmF1bHRDb25zdHJ1Y3Rv
cktpbmQgIT0gQ29uc3RydWN0b3JLaW5kOjpOb25lKSB7Ci0gICAgICAgIG93bmVyQ2xhc3NLaW5k
ID0gbV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kOwotICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3Ig
PSB0cnVlOwordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJl
ZUJ1aWxkZXImIGNvbnRleHQsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzIHJlcXVpcmVtZW50cywgRnVu
Y3Rpb25QYXJzZU1vZGUgbW9kZSwKKyAgICBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBD
b25zdHJ1Y3RvcktpbmQgb3duZXJDbGFzc0tpbmQsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwg
UGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYgaW5mbywgRnVuY3Rpb25QYXJzZVR5cGUg
cGFyc2VUeXBlKQoreworICAgIEF1dG9Qb3BTY29wZVJlZiBmdW5jdGlvblNjb3BlKHRoaXMsIHB1
c2hTY29wZSgpKTsKKyAgICBmdW5jdGlvblNjb3BlLT5zZXRJc0Z1bmN0aW9uKCk7CisgICAgaW50
IGZ1bmN0aW9uTmFtZVN0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OworICAg
IGNvbnN0IElkZW50aWZpZXIqIGxhc3RGdW5jdGlvbk5hbWUgPSBtX2xhc3RGdW5jdGlvbk5hbWU7
CisgICAgbV9sYXN0RnVuY3Rpb25OYW1lID0gbnVsbHB0cjsKKyAgICBpbnQgcGFyYW1ldGVyc1N0
YXJ0OworICAgIGJvb2wgaXNDbGFzc0NvbnN0cnVjdG9yOworICAgIAorICAgIHN3aXRjaCAocGFy
c2VUeXBlKSB7CisgICAgY2FzZSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlOiB7CisgICAgICAg
IHBhcmFtZXRlcnNTdGFydCA9IHBhcnNlRnVuY3Rpb25QYXJhbXRlcnMoY29udGV4dCwgcmVxdWly
ZW1lbnRzLCBtb2RlLCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgZnVuY3Rpb25TY29wZSwgaW5m
byk7CisgICAgICAgICAgICAKKyAgICAgICAgbWF0Y2hPckZhaWwoT1BFTkJSQUNFLCAiRXhwZWN0
ZWQgYW4gb3BlbmluZyAneycgYXQgdGhlIHN0YXJ0IG9mIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25N
b2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgCisgICAgICAgIC8vIEJ5dGVjb2RlR2VuZXJh
dG9yIGVtaXRzIGNvZGUgdG8gdGhyb3cgVHlwZUVycm9yIHdoZW4gYSBjbGFzcyBjb25zdHJ1Y3Rv
ciBpcyAiY2FsbCJlZC4KKyAgICAgICAgLy8gU2V0IENvbnN0cnVjdG9yS2luZCB0byBOb25lIGZv
ciBub24tY29uc3RydWN0b3IgbWV0aG9kcyBvZiBjbGFzc2VzLgorICAgICAgICBpc0NsYXNzQ29u
c3RydWN0b3IgPSBtb2RlID09IE1ldGhvZE1vZGUgJiYgaW5mby5uYW1lICYmICppbmZvLm5hbWUg
PT0gbV92bS0+cHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3I7CisgICAgICAgIGlmIChtX2RlZmF1
bHRDb25zdHJ1Y3RvcktpbmQgIT0gQ29uc3RydWN0b3JLaW5kOjpOb25lKSB7CisgICAgICAgICAg
ICBvd25lckNsYXNzS2luZCA9IG1fZGVmYXVsdENvbnN0cnVjdG9yS2luZDsKKyAgICAgICAgICAg
IGlzQ2xhc3NDb25zdHJ1Y3RvciA9IHRydWU7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7Cisg
ICAgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2FzZSBBcnJv
d0Z1bmN0aW9uUGFyc2VUeXBlOiB7CisgICAgICAgIHBhcmFtZXRlcnNTdGFydCA9IHBhcnNlQXJy
b3dGdW5jdGlvblBhcmFtdGVycyhjb250ZXh0LCBtb2RlLCBpbmZvKTsKKyAgICAgICAgCisgICAg
ICAgIG1hdGNoT3JGYWlsKEFSUk9XRlVOQ1RJT04sICJFeHBlY3RlZCBhICc9PicgYWZ0ZXIgYXJy
b3cgZnVuY3Rpb24gcGFyYW1ldGVyIGRlY2xhcmF0aW9uIik7CisgICAgICAgIGlzQ2xhc3NDb25z
dHJ1Y3RvciA9IGZhbHNlOworICAgICAgICAKKyAgICAgICAgaW5mby5hcnJvd0Z1bmN0aW9uT2Zm
c2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgICAgICBicmVhazsKICAgICB9CisjZW5k
aWYKKyAgICB9CisKICAgICBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kID0gaXNDbGFz
c0NvbnN0cnVjdG9yID8gb3duZXJDbGFzc0tpbmQgOiBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmU7CiAK
ICAgICBpbmZvLm9wZW5CcmFjZU9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKQEAgLTEz
ODQsOCArMTUwNSwxNSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICBmYWlsSWZG
YWxzZShwb3BTY29wZShmdW5jdGlvblNjb3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFi
bGVJbmZvKSwgIlBhcnNlciBlcnJvciIpOwogICAgICAgICAKICAgICAgICAgaW5mby5jbG9zZUJy
YWNlT2Zmc2V0ID0gY2FjaGVkSW5mby0+Y2xvc2VCcmFjZU9mZnNldDsKLQotICAgICAgICBtX3Rv
a2VuID0gY2FjaGVkSW5mby0+Y2xvc2VCcmFjZVRva2VuKCk7CisgICAgICAgIAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChwYXJzZVR5cGUgPT0gQXJy
b3dGdW5jdGlvblBhcnNlVHlwZSkKKyAgICAgICAgICAgIGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9
IGNhY2hlZEluZm8tPmlzQm9keUFycm93RXhwcmVzc2lvbiA/ICBBcnJvd0Z1bmN0aW9uQm9keUV4
cHJlc3Npb24gOiBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrOworICAgICAgICBlbHNlCisgICAgICAg
ICAgICBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uQm9keUJsb2NrOwor
I2VuZGlmCisgICAgICAgIG1fdG9rZW4gPSBjYWNoZWRJbmZvLT5lbmRGdW5jdGlvblRva2VuKCk7
CisgICAgICAgIAogICAgICAgICBpZiAoZW5kQ29sdW1uSXNPblN0YXJ0TGluZSkKICAgICAgICAg
ICAgIG1fdG9rZW4ubV9sb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50TGluZVN0YXJ0
T2Zmc2V0OwogCkBAIC0xMzk0LDEzICsxNTIyLDQzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxk
CiAKICAgICAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQoaW5mby5ib2R5LCBtX2xleGVyLT5jdXJy
ZW50T2Zmc2V0KCkpOwogICAgICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgICAgICBpZiAocGFyc2VUeXBlICE9IEFycm93RnVuY3Rpb25QYXJzZVR5cGUgfHwg
aW5mby5mdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spCisgICAgICAg
ICAgICBuZXh0KCk7CisjZWxzZQogICAgICAgICBuZXh0KCk7CisjZW5kaWYKICAgICAgICAgaW5m
by5ib2R5RW5kTGluZSA9IG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZTsKICAgICAgICAgcmV0
dXJuIHRydWU7CiAgICAgfQorICAgIAogICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IGxhc3RGdW5j
dGlvbk5hbWU7CiAgICAgUGFyc2VyU3RhdGUgb2xkU3RhdGUgPSBzYXZlU3RhdGUoKTsKLSAgICBp
bmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFy
dCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kKTsK
KyAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlmIChwYXJz
ZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICBTYXZlUG9pbnQgc2F2
ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgLy8g
Q2hlY2sgaWYgYXJyb3cgYm9keSBzdGFydCB3aXRoIHsuIElmIGl0IHRydWUgaXQgbWVhbiB0aGF0
IGFycm93IGZ1bmN0aW9uIGlzIEZhdCBhcnJvdyBmdW5jdGlvbgorICAgICAgICAvLyBhbmQgd2Ug
bmVlZCB1c2UgY29tbW9uIGFwcHJvYWNoIHRvIHBhcnNlIGZ1bmN0aW9uIGJvZHkKKyAgICAgICAg
aW5mby5mdW5jdGlvbkJvZHlUeXBlID0gbWF0Y2goT1BFTkJSQUNFKSA/IEFycm93RnVuY3Rpb25C
b2R5QmxvY2sgOiBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb247CisgICAgCisgICAgICAgIGlm
IChpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jaykgeworICAg
ICAgICAgICAgaW5mby5vcGVuQnJhY2VPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7Cisg
ICAgICAgICAgICBpbmZvLmJvZHlTdGFydExpbmUgPSB0b2tlbkxpbmUoKTsKKyAgICAgICAgICAg
IGluZm8uYm9keVN0YXJ0Q29sdW1uID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0IC0gbV90b2tlbi5t
X2RhdGEubGluZVN0YXJ0T2Zmc2V0OworICAgICAgICAKKyAgICAgICAgICAgIGluZm8uYm9keSA9
IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlv
bk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQsIFN0YW5kYXJkRnVu
Y3Rpb25QYXJzZVR5cGUpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgcmVzdG9yZVNh
dmVQb2ludChzYXZlUG9pbnQpOworICAgICAgICAgICAgaW5mby5ib2R5ID0gcGFyc2VGdW5jdGlv
bkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBw
YXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCwgQXJyb3dGdW5jdGlvblBhcnNlVHlwZSk7
CisgICAgICAgIH0KKyAgICB9IGVsc2UKKyAgICAgICAgaW5mby5ib2R5ID0gcGFyc2VGdW5jdGlv
bkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBw
YXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlw
ZSk7CisjZWxzZQorICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1
bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBj
b25zdHJ1Y3RvcktpbmQsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOworI2VuZGlmCisgICAg
CiAgICAgcmVzdG9yZVN0YXRlKG9sZFN0YXRlKTsKICAgICBmYWlsSWZGYWxzZShpbmZvLmJvZHks
ICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgdGhpcyAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUo
bW9kZSkpOwogICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KGluZm8uYm9keSwgbV9sZXhlci0+Y3Vy
cmVudE9mZnNldCgpKTsKQEAgLTE0MzEsMTggKzE1ODksMzIgQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVl
QnVpbGQKICAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJyYWNlTGluZSA9IGNsb3NlQnJhY2VMaW5l
OwogICAgICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VPZmZzZXQgPSBpbmZvLmNsb3NlQnJhY2VP
ZmZzZXQ7CiAgICAgICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldCA9IGNs
b3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQ7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICAgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7
CisgICAgICAgICAgICBwYXJhbWV0ZXJzLmlzQm9keUFycm93RXhwcmVzc2lvbiA9IGluZm8uZnVu
Y3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb247CisgICAgICAgICAg
ICBwYXJhbWV0ZXJzLnRva2VuVHlwZSA9IG1fdG9rZW4ubV90eXBlOworICAgICAgICB9CisjZW5k
aWYKICAgICAgICAgZnVuY3Rpb25TY29wZS0+ZmlsbFBhcmFtZXRlcnNGb3JTb3VyY2VQcm92aWRl
ckNhY2hlKHBhcmFtZXRlcnMpOwogICAgICAgICBuZXdJbmZvID0gU291cmNlUHJvdmlkZXJDYWNo
ZUl0ZW06OmNyZWF0ZShwYXJhbWV0ZXJzKTsKLQogICAgIH0KICAgICAKICAgICBmYWlsSWZGYWxz
ZShwb3BTY29wZShmdW5jdGlvblNjb3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFibGVJ
bmZvKSwgIlBhcnNlciBlcnJvciIpOworICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgaWYgKChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSAm
JiBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jaykgfHwgcGFy
c2VUeXBlICE9IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgbWF0Y2hPckZhaWwo
Q0xPU0VCUkFDRSwgIkV4cGVjdGVkIGEgY2xvc2luZyAnfScgYWZ0ZXIgYSAiLCBzdHJpbmdGb3JG
dW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOworICAgICAgICBuZXh0KCk7CisgICAgfSBlbHNl
CisgICAgICAgIGZhaWxJZkZhbHNlKGlzRW5kT2ZBcnJvd0Z1bmN0aW9uKCksICJFeHBlY3RlZCB0
aGUgY2xvc2luZyAnOycgJywnICddJyAnKScgJ30nIGFmdGVyIGFycm93IGZ1bmN0aW9uIik7Cisj
ZWxzZQogICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0UsICJFeHBlY3RlZCBhIGNsb3NpbmcgJ30n
IGFmdGVyIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICBu
ZXh0KCk7CisjZW5kaWYKICAgICAKICAgICBpZiAobmV3SW5mbykKICAgICAgICAgbV9mdW5jdGlv
bkNhY2hlLT5hZGQoaW5mby5vcGVuQnJhY2VPZmZzZXQsIFdURjo6bW92ZShuZXdJbmZvKSk7CiAg
ICAgCi0gICAgbmV4dCgpOwogICAgIGluZm8uYm9keUVuZExpbmUgPSBtX2xhc3RUb2tlbkVuZFBv
c2l0aW9uLmxpbmU7CiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC0xNDU1LDcgKzE2MjcsNyBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlRnVuY3Rpb25EZWNsYQogICAgIHVuc2lnbmVkIGZ1bmN0aW9uS2V5d29yZFN0YXJ0
ID0gdG9rZW5TdGFydCgpOwogICAgIG5leHQoKTsKICAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJl
ZUJ1aWxkZXI+IGluZm87Ci0gICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRl
eHQsIEZ1bmN0aW9uTmVlZHNOYW1lLCBGdW5jdGlvbk1vZGUsIHRydWUsIENvbnN0cnVjdG9yS2lu
ZDo6Tm9uZSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8pKSwgIkNhbm5vdCBwYXJzZSB0aGlz
IGZ1bmN0aW9uIik7CisgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQs
IEZ1bmN0aW9uTmVlZHNOYW1lLCBGdW5jdGlvbk1vZGUsIHRydWUsIENvbnN0cnVjdG9yS2luZDo6
Tm9uZSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8sIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5
cGUpKSwgIkNhbm5vdCBwYXJzZSB0aGlzIGZ1bmN0aW9uIik7CiAgICAgZmFpbElmRmFsc2UoaW5m
by5uYW1lLCAiRnVuY3Rpb24gc3RhdGVtZW50cyBtdXN0IGhhdmUgYSBuYW1lIik7CiAgICAgZmFp
bElmRmFsc2VJZlN0cmljdChkZWNsYXJlVmFyaWFibGUoaW5mby5uYW1lKSwgIkNhbm5vdCBkZWNs
YXJlIGEgZnVuY3Rpb24gbmFtZWQgJyIsIGluZm8ubmFtZS0+aW1wbCgpLCAiJyBpbiBzdHJpY3Qg
bW9kZSIpOwogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmNEZWNsU3RhdGVtZW50KGxvY2F0
aW9uLCBpbmZvKTsKQEAgLTE1NTAsNyArMTcyMiw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZUNsYXNzRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VDbGFzcyhU
CiAgICAgICAgICAgICBmYWlsSWZGYWxzZShwcm9wZXJ0eSwgIkNhbm5vdCBwYXJzZSB0aGlzIG1l
dGhvZCIpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgUGFyc2VyRnVuY3Rpb25JbmZv
PFRyZWVCdWlsZGVyPiBtZXRob2RJbmZvOwotICAgICAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNl
RnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTmVlZHNOYW1lLCBpc1N0YXRpY01ldGhvZCA/
IEZ1bmN0aW9uTW9kZSA6IE1ldGhvZE1vZGUsIGZhbHNlLCBjb25zdHJ1Y3RvcktpbmQsIG1ldGhv
ZFN0YXJ0LCBtZXRob2RJbmZvKSksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2QiKTsKKyAgICAg
ICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5l
ZWRzTmFtZSwgaXNTdGF0aWNNZXRob2QgPyBGdW5jdGlvbk1vZGUgOiBNZXRob2RNb2RlLCBmYWxz
ZSwgY29uc3RydWN0b3JLaW5kLCBtZXRob2RTdGFydCwgbWV0aG9kSW5mbywgU3RhbmRhcmRGdW5j
dGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9kIik7CiAgICAgICAgICAg
ICBmYWlsSWZGYWxzZShtZXRob2RJbmZvLm5hbWUsICJtZXRob2QgbXVzdCBoYXZlIGEgbmFtZSIp
OwogICAgICAgICAgICAgZmFpbElmRmFsc2UoZGVjbGFyZVZhcmlhYmxlKG1ldGhvZEluZm8ubmFt
ZSksICJDYW5ub3QgZGVjbGFyZSBhIG1ldGhvZCBuYW1lZCAnIiwgbWV0aG9kSW5mby5uYW1lLT5p
bXBsKCksICInIik7CiAKQEAgLTE3NjYsNiArMTkzOCwxOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSWZTdGF0ZW1l
bnQoVAogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUlmU3RhdGVtZW50KGlmTG9jYXRpb24sIGNv
bmRpdGlvbiwgdHJ1ZUJsb2NrLCBzdGF0ZW1lbnRTdGFjay5sYXN0KCksIHN0YXJ0LCBlbmQpOwog
fQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBl
bmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNz
aW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVC
dWlsZGVyJiBjb250ZXh0KQoreworICAgIGZhaWxJZlN0YWNrT3ZlcmZsb3coKTsKKyAgICBUcmVl
RXhwcmVzc2lvbiBub2RlID0gcGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbihjb250ZXh0KTsKKyAg
ICBmYWlsSWZGYWxzZShub2RlLCAiQ2Fubm90IHBhcnNlIGV4cHJlc3Npb24iKTsKKyAgICBjb250
ZXh0LnNldEVuZE9mZnNldChub2RlLCBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLm9mZnNldCk7Cisg
ICAgcmV0dXJuIG5vZGU7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlw
ZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKIHsKQEAgLTE4
MTMsNiArMTk5Nyw0MSBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRyZWVFeHBy
ZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbgogICAgICAgICB9CiAgICAg
ICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKICAgICB9CisKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFNhdmVQb2ludCBzYXZlQXJyb3dGdW5jdGlvblBv
aW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgYm9vbCBhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0
ID0gZmFsc2U7CisgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgbmV4dCgpOwor
ICAgICAgICBpZiAobWF0Y2goQ0xPU0VQQVJFTikpIHsKKyAgICAgICAgICAgIG5leHQoKTsKKwor
ICAgICAgICAgICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJT04pKQorICAgICAgICAgICAgICAgIGFy
cm93RnVuY3Rpb25FbXB0eUxpc3QgPSB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCFh
cnJvd0Z1bmN0aW9uRW1wdHlMaXN0KQorICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZl
QXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICB9CisKKyAgICBUcmVlRXhwcmVzc2lvbiBsaHM7Cisg
ICAgaWYgKCFhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0KSB7CisgICAgICAgIGxocyA9IHBhcnNlQ29u
ZGl0aW9uYWxFeHByZXNzaW9uKGNvbnRleHQpOworICAgICAgICBmYWlsSWZGYWxzZShsaHMsICJD
YW4Zbm90IHBhcnNlIGV4cHJlc3Npb24iKTsKKyAgICAgICAgaWYgKGluaXRpYWxOb25MSFNDb3Vu
dCAhPSBtX25vbkxIU0NvdW50KSB7CisgICAgICAgICAgICBpZiAobV90b2tlbi5tX3R5cGUgPj0g
RVFVQUwgJiYgbV90b2tlbi5tX3R5cGUgPD0gT1JFUVVBTCkKKyAgICAgICAgICAgICAgICBzZW1h
bnRpY0ZhaWwoIkxlZnQgaGFuZCBzaWRlIG9mIG9wZXJhdG9yICciLCBnZXRUb2tlbigpLCAiJyBt
dXN0IGJlIGEgcmVmZXJlbmNlIik7CisKKyAgICAgICAgICAgIHJldHVybiBsaHM7CisgICAgICAg
IH0KKyAgICB9CisKKyAgICBpZiAobWF0Y2goQVJST1dGVU5DVElPTikpIHsKKyAgICAgICAgcmVz
dG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAgbGhzID0gcGFy
c2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihjb250ZXh0KTsKKyAgICAgICAgcmV0dXJuIGxoczsKKyAg
ICB9CisjZWxzZQogICAgIFRyZWVFeHByZXNzaW9uIGxocyA9IHBhcnNlQ29uZGl0aW9uYWxFeHBy
ZXNzaW9uKGNvbnRleHQpOwogICAgIGZhaWxJZkZhbHNlKGxocywgIkNhbm5vdCBwYXJzZSBleHBy
ZXNzaW9uIik7CiAgICAgaWYgKGluaXRpYWxOb25MSFNDb3VudCAhPSBtX25vbkxIU0NvdW50KSB7
CkBAIC0xODIxLDcgKzIwNDAsOCBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRy
ZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbgogCiAgICAgICAg
IHJldHVybiBsaHM7CiAgICAgfQotICAgIAorI2VuZGlmCisKICAgICBpbnQgYXNzaWdubWVudFN0
YWNrID0gMDsKICAgICBPcGVyYXRvciBvcDsKICAgICBib29sIGhhZEFzc2lnbm1lbnQgPSBmYWxz
ZTsKQEAgLTIwNTMsNyArMjI3Myw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHlNZXRoCiAgICAgSlNU
b2tlbkxvY2F0aW9uIG1ldGhvZExvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CiAgICAgdW5zaWdu
ZWQgbWV0aG9kU3RhcnQgPSB0b2tlblN0YXJ0KCk7CiAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRy
ZWVCdWlsZGVyPiBtZXRob2RJbmZvOwotICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5m
byhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBNZXRob2RNb2RlLCBmYWxzZSwgQ29u
c3RydWN0b3JLaW5kOjpOb25lLCBtZXRob2RTdGFydCwgbWV0aG9kSW5mbykpLCAiQ2Fubm90IHBh
cnNlIHRoaXMgbWV0aG9kIik7CisgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNv
bnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIE1ldGhvZE1vZGUsIGZhbHNlLCBDb25zdHJ1
Y3RvcktpbmQ6Ok5vbmUsIG1ldGhvZFN0YXJ0LCBtZXRob2RJbmZvLCBTdGFuZGFyZEZ1bmN0aW9u
UGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2QiKTsKICAgICBtZXRob2RJbmZv
Lm5hbWUgPSBtZXRob2ROYW1lOwogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uRXhw
cihtZXRob2RMb2NhdGlvbiwgbWV0aG9kSW5mbyk7CiB9CkBAIC0yMDc1LDEwICsyMjk1LDEwIEBA
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUdldHRlclNldHRlcihUCiAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWls
ZGVyPiBpbmZvOwogICAgIGlmICh0eXBlID09IFByb3BlcnR5Tm9kZTo6R2V0dGVyKSB7CiAgICAg
ICAgIGZhaWxJZkZhbHNlKG1hdGNoKE9QRU5QQVJFTiksICJFeHBlY3RlZCBhIHBhcmFtZXRlciBs
aXN0IGZvciBnZXR0ZXIgZGVmaW5pdGlvbiIpOwotICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VG
dW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgR2V0dGVyTW9kZSwg
ZmFsc2UsIGNvbnN0cnVjdG9yS2luZCwgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgaW5mbykp
LCAiQ2Fubm90IHBhcnNlIGdldHRlciBkZWZpbml0aW9uIik7CisgICAgICAgIGZhaWxJZkZhbHNl
KChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBHZXR0
ZXJNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBnZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0
LCBpbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2UgZ2V0dGVy
IGRlZmluaXRpb24iKTsKICAgICB9IGVsc2UgewogICAgICAgICBmYWlsSWZGYWxzZShtYXRjaChP
UEVOUEFSRU4pLCAiRXhwZWN0ZWQgYSBwYXJhbWV0ZXIgbGlzdCBmb3Igc2V0dGVyIGRlZmluaXRp
b24iKTsKLSAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1
bmN0aW9uTm9SZXF1aXJlbWVudHMsIFNldHRlck1vZGUsIGZhbHNlLCBjb25zdHJ1Y3RvcktpbmQs
IGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIGluZm8pKSwgIkNhbm5vdCBwYXJzZSBzZXR0ZXIg
ZGVmaW5pdGlvbiIpOworICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29u
dGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgU2V0dGVyTW9kZSwgZmFsc2UsIGNvbnN0cnVj
dG9yS2luZCwgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgaW5mbywgU3RhbmRhcmRGdW5jdGlv
blBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIHNldHRlciBkZWZpbml0aW9uIik7CiAgICAgfQog
ICAgIGlmIChzdHJpbmdQcm9wZXJ0eU5hbWUpCiAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0
ZUdldHRlck9yU2V0dGVyUHJvcGVydHkobG9jYXRpb24sIHR5cGUsIHN0cmljdCwgc3RyaW5nUHJv
cGVydHlOYW1lLCBpbmZvLCBzdXBlckJpbmRpbmcpOwpAQCAtMjI2Nyw3ICsyNDg3LDcgQEAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAgbmV4dCgpOwogICAgICAgICBQYXJzZXJGdW5j
dGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87CiAgICAgICAgIGluZm8ubmFtZSA9ICZtX3ZtLT5w
cm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllcjsKLSAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNl
RnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEZ1bmN0aW9uTW9k
ZSwgZmFsc2UsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGlu
Zm8pKSwgIkNhbm5vdCBwYXJzZSBmdW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgICAgIGZhaWxJ
ZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRz
LCBGdW5jdGlvbk1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5
d29yZFN0YXJ0LCBpbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFy
c2UgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVG
dW5jdGlvbkV4cHIobG9jYXRpb24sIGluZm8pOwogICAgIH0KICNpZiBFTkFCTEUoRVM2X0NMQVNT
X1NZTlRBWCkKQEAgLTIyOTYsNiArMjUxNiwyMyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHByZQog
ICAgICAgICByZXR1cm4gY29udGV4dC50aGlzRXhwcihsb2NhdGlvbiwgbV90aGlzVERaTW9kZSk7
CiAgICAgfQogICAgIGNhc2UgSURFTlQ6IHsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgICAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0
ZVNhdmVQb2ludCgpOworICAgICAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQ
b3NpdGlvbigpOworICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9k
YXRhLmlkZW50OworICAgICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlv
bigpKTsKKyAgICAgICAgbmV4dCgpOworCisgICAgICAgIGlmICghbWF0Y2goQVJST1dGVU5DVElP
TikpIHsKKyAgICAgICAgICAgIGN1cnJlbnRTY29wZSgpLT51c2VWYXJpYWJsZShpZGVudCwgbV92
bS0+cHJvcGVydHlOYW1lcy0+ZXZhbCA9PSAqaWRlbnQpOworICAgICAgICAgICAgbV9sYXN0SWRl
bnRpZmllciA9IGlkZW50OworICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUmVzb2x2
ZShsb2NhdGlvbiwgaWRlbnQsIHN0YXJ0KTsKKyAgICAgICAgfQorCisgICAgICAgIHJlc3RvcmVT
YXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAgICAgIFRyZWVFeHByZXNzaW9u
IGxocyA9IHBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoY29udGV4dCk7CisgICAgICAgIHJldHVy
biBsaHM7CisjZWxzZQogICAgICAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQ
b3NpdGlvbigpOwogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9k
YXRhLmlkZW50OwogICAgICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlv
bigpKTsKQEAgLTIzMDMsNiArMjU0MCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAg
ICAgIGN1cnJlbnRTY29wZSgpLT51c2VWYXJpYWJsZShpZGVudCwgbV92bS0+cHJvcGVydHlOYW1l
cy0+ZXZhbCA9PSAqaWRlbnQpOwogICAgICAgICBtX2xhc3RJZGVudGlmaWVyID0gaWRlbnQ7CiAg
ICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJlc29sdmUobG9jYXRpb24sIGlkZW50LCBzdGFy
dCk7CisjZW5kaWYKICAgICB9CiAgICAgY2FzZSBTVFJJTkc6IHsKICAgICAgICAgY29uc3QgSWRl
bnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKQEAgLTI0OTAsNiArMjcyOCwz
MiBAQCBlbmRNZW1iZXJFeHByZXNzaW9uOgogICAgIHJldHVybiBiYXNlOwogfQogCisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5
cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKFRyZWVCdWlsZGVyJiBjb250ZXh0
KQoreworICAgIFRyZWVFeHByZXNzaW9uIGJhc2UgPSAwOworICAgIEpTVGV4dFBvc2l0aW9uIGV4
cHJlc3Npb25TdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgIGludCBuZXdDb3VudCA9
IDA7CisgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uOworCisgICAgaWYgKG1hdGNoKElERU5U
KSB8fCBtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgIHVuc2lnbmVkIGZ1bmN0aW9uS2V5d29y
ZFN0YXJ0ID0gdG9rZW5TdGFydCgpOworICAgICAgICBsb2NhdGlvbiA9IHRva2VuTG9jYXRpb24o
KTsKKyAgICAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOworICAgICAg
ICBpbmZvLm5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1lcy0+bnVsbElkZW50aWZpZXI7CisgICAg
ICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVx
dWlyZW1lbnRzLCBGdW5jdGlvbk1vZGUsIHRydWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgZnVu
Y3Rpb25LZXl3b3JkU3RhcnQsIGluZm8sIEFycm93RnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5v
dCBwYXJzZSBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgICAgIGJhc2UgPSBjb250
ZXh0LmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKGxvY2F0aW9uLCBpbmZvKTsKKyAgICB9IGVsc2UK
KyAgICAgICAgYmFzZSA9IHBhcnNlUHJpbWFyeUV4cHJlc3Npb24oY29udGV4dCk7CisKKyAgICBm
YWlsSWZGYWxzZShiYXNlLCAiQ2Fubm90IHBhcnNlIGJhc2UgZXhwcmVzc2lvbiIpOworICAgIHdo
aWxlIChuZXdDb3VudC0tKQorICAgICAgICBiYXNlID0gY29udGV4dC5jcmVhdGVOZXdFeHByKGxv
Y2F0aW9uLCBiYXNlLCBleHByZXNzaW9uU3RhcnQsIGxhc3RUb2tlbkVuZFBvc2l0aW9uKCkpOwor
ICAgIHJldHVybiBiYXNlOworfQorI2VuZGlmCisKIHN0YXRpYyBjb25zdCBjaGFyKiBvcGVyYXRv
clN0cmluZyhib29sIHByZWZpeCwgdW5zaWduZWQgdG9rKQogewogICAgIHN3aXRjaCAodG9rKSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCAwZjI3MjhmODYyMWY4MDEw
YzQxMGJmNzk4NzYxOWJmMjNlNTBhZjhiLi4wNWNjZDRhNTA0ODg3NGIwY2U5ZDdkOWNhNzJmY2Ix
OTdiYjc2NDI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNl
ci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKQEAgLTgwLDYg
KzgwLDExIEBAIGNsYXNzIFNvdXJjZUNvZGU7CiBDT01QSUxFX0FTU0VSVChMYXN0VW50YWdnZWRU
b2tlbiA8IDY0LCBMZXNzVGhhbjY0VW50YWdnZWRUb2tlbnMpOwogCiBlbnVtIFNvdXJjZUVsZW1l
bnRzTW9kZSB7IENoZWNrRm9yU3RyaWN0TW9kZSwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSB9Owor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitlbnVtIEZ1bmN0aW9uUGFyc2VU
eXBlIHsgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSwgQXJyb3dGdW5jdGlvblBhcnNlVHlwZSB9
OworI2Vsc2UKK2VudW0gRnVuY3Rpb25QYXJzZVR5cGUgeyBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VU
eXBlfTsKKyNlbmRpZgogZW51bSBGdW5jdGlvblJlcXVpcmVtZW50cyB7IEZ1bmN0aW9uTm9SZXF1
aXJlbWVudHMsIEZ1bmN0aW9uTmVlZHNOYW1lIH07CiBlbnVtIEZ1bmN0aW9uUGFyc2VNb2RlIHsK
ICAgICBGdW5jdGlvbk1vZGUsCkBAIC02MTgsNiArNjIzLDEzIEBAIHByaXZhdGU6CiAgICAgICAg
IHJldHVybiBtX3Rva2VuLm1fdHlwZSA9PSBJREVOVCAmJiAqbV90b2tlbi5tX2RhdGEuaWRlbnQg
PT0gbV92bS0+cHJvcGVydHlOYW1lcy0+b2Y7CiAgICAgfQogICAgIAorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgQUxXQVlTX0lOTElORSBib29sIGlzRW5kT2ZBcnJv
d0Z1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiBtYXRjaChTRU1JQ09MT04pIHx8IG1h
dGNoKENPTU1BKSB8fCBtYXRjaChDTE9TRVBBUkVOKSB8fCBtYXRjaChDTE9TRUJSQUNFKSB8fCBt
YXRjaChDTE9TRUJSQUNLRVQpOworICAgIH0KKyNlbmRpZgorICAgIAogICAgIEFMV0FZU19JTkxJ
TkUgdW5zaWduZWQgdG9rZW5TdGFydCgpCiAgICAgewogICAgICAgICByZXR1cm4gbV90b2tlbi5t
X2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OwpAQCAtNzIxLDkgKzczMyw5IEBAIHByaXZhdGU6CiAgICAg
ICAgIH0KICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0gICAgCi0gICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgcGFyc2VTb3VyY2VFbGVtZW50
cyhUcmVlQnVpbGRlciYsIFNvdXJjZUVsZW1lbnRzTW9kZSk7Ci0gICAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiwg
Y29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxM
ZW5ndGggPSAwKTsKKworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJj
ZUVsZW1lbnRzIHBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVtZW50
c01vZGUsIEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImLCBjb25zdCBJZGVu
dGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDAs
IEZ1bmN0aW9uUGFyc2VUeXBlIHR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICNp
ZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VDbGFzc0RlY2xhcmF0aW9uKFRyZWVCdWlsZGVyJik7CiAj
ZW5kaWYKQEAgLTc2MiwxNyArNzc0LDI2IEBAIHByaXZhdGU6CiAgICAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgcGFyc2VQcm9wZXJ0eShUcmVlQnVpbGRlciYsIGJv
b2wgc3RyaWN0KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNz
aW9uIHBhcnNlUHJvcGVydHlNZXRob2QoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50
aWZpZXIqIG1ldGhvZE5hbWUpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZVByb3BlcnR5IHBhcnNlR2V0dGVyU2V0dGVyKFRyZWVCdWlsZGVyJiwgYm9vbCBzdHJpY3QsIFBy
b3BlcnR5Tm9kZTo6VHlwZSwgdW5zaWduZWQgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgQ29u
c3RydWN0b3JLaW5kID0gQ29uc3RydWN0b3JLaW5kOjpOb25lLCBTdXBlckJpbmRpbmcgPSBTdXBl
ckJpbmRpbmc6Ok5vdE5lZWRlZCk7Ci0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBB
TFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VGdW5jdGlvbkJvZHkoVHJlZUJ1aWxk
ZXImLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwgaW50
IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZ1bmN0aW9uQm9keSBwYXJzZUZ1bmN0aW9u
Qm9keShUcmVlQnVpbGRlciYsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW50IGZ1bmN0aW9u
TmFtZVN0YXJ0LCBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQsIEZ1bmN0aW9u
UGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZvcm1hbFBhcmFtZXRlckxpc3QgcGFyc2VGb3JtYWxQ
YXJhbWV0ZXJzKFRyZWVCdWlsZGVyJik7CiAgICAgZW51bSBWYXJEZWNsYXJhdGlvbkxpc3RDb250
ZXh0IHsgRm9yTG9vcENvbnRleHQsIFZhckRlY2xhcmF0aW9uQ29udGV4dCB9OwogICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VWYXJEZWNsYXJhdGlv
bkxpc3QoVHJlZUJ1aWxkZXImLCBpbnQmIGRlY2xhcmF0aW9ucywgVHJlZURlY29uc3RydWN0aW9u
UGF0dGVybiYgbGFzdFBhdHRlcm4sIFRyZWVFeHByZXNzaW9uJiBsYXN0SW5pdGlhbGl6ZXIsIEpT
VGV4dFBvc2l0aW9uJiBpZGVudFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdFN0YXJ0LCBKU1Rl
eHRQb3NpdGlvbiYgaW5pdEVuZCwgVmFyRGVjbGFyYXRpb25MaXN0Q29udGV4dCk7CiAgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZUNvbnN0RGVjbExpc3Qg
cGFyc2VDb25zdERlY2xhcmF0aW9uTGlzdChUcmVlQnVpbGRlciYpOwogCisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVFeHByZXNzaW9uIHBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXIm
KTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VB
cnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKFRy
ZWVCdWlsZGVyJik7CisjZW5kaWYKKwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
TkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gY3JlYXRlQmluZGluZ1BhdHRl
cm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0cnVjdGlvbktpbmQsIGNvbnN0IElkZW50aWZpZXImLCBp
bnQgZGVwdGgsIEpTVG9rZW4pOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVW
RVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gcGFyc2VEZWNvbnN0cnVjdGlvblBh
dHRlcm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0cnVjdGlvbktpbmQsIGludCBkZXB0aCA9IDApOwog
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0
cnVjdGlvblBhdHRlcm4gdHJ5UGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm5FeHByZXNzaW9uKFRy
ZWVCdWlsZGVyJik7Ci0KLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lO
TElORSBib29sIHBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJl
bWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlLCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBD
b25zdHJ1Y3RvcktpbmQsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rpb25J
bmZvPFRyZWVCdWlsZGVyPiYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVW
RVJfSU5MSU5FIGludCBwYXJzZUZ1bmN0aW9uUGFyYW10ZXJzKFRyZWVCdWlsZGVyJiwgRnVuY3Rp
b25SZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlLCBib29sLCBBdXRvUG9wU2NvcGVSZWYm
LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+Jik7CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVS
X0lOTElORSBpbnQgcGFyc2VBcnJvd0Z1bmN0aW9uUGFyYW10ZXJzKFRyZWVCdWlsZGVyJiwgRnVu
Y3Rpb25QYXJzZU1vZGUsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mKTsKKyNlbmRp
ZgorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIGJvb2wgcGFy
c2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgRnVuY3Rp
b25QYXJzZU1vZGUsIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2lu
ZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxk
ZXI+JiwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25QYXJzZVR5cGUpOwogI2lmIEVOQUJMRShF
UzZfQ0xBU1NfU1lOVEFYKQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJf
SU5MSU5FIFRyZWVDbGFzc0V4cHJlc3Npb24gcGFyc2VDbGFzcyhUcmVlQnVpbGRlciYsIEZ1bmN0
aW9uUmVxdWlyZW1lbnRzLCBQYXJzZXJDbGFzc0luZm88VHJlZUJ1aWxkZXI+Jik7CiAjZW5kaWYK
QEAgLTc4OSw2ICs4MTAsMTQgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIGFsbG93QXV0b21h
dGljU2VtaWNvbG9uKCk7CiAgICAgfQogICAgIAorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICB2b2lkIHNldEVuZE9mU3RhdGVtZW50KCkKKyAgICB7CisgICAgICAg
IG1fbGV4ZXItPnNldFRva2VuUG9zaXRpb24oJm1fdG9rZW4pOworICAgIH0KKyNlbmRpZgorCiAg
ICAgYm9vbCBjYW5SZWN1cnNlKCkKICAgICB7CiAgICAgICAgIHJldHVybiBtX3ZtLT5pc1NhZmVU
b1JlY3Vyc2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFy
c2VyRnVuY3Rpb25JbmZvLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1
bmN0aW9uSW5mby5oCmluZGV4IDZiNzM2MjgyZTJkMmE4MWJjNjNkYzJmM2MwZTVhZThjODU4Y2Qx
ZjguLjBjZGUwYzY3YTlkZTBlZGYzNDE0NGUzMjc5MWU1ZTkwYjRhMjE1MTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaApAQCAtMjgs
NiArMjgsMTAgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorZW51bSBGdW5jdGlvbkJvZHlUeXBlIHsgQXJyb3dGdW5jdGlvbkJvZHlF
eHByZXNzaW9uLCBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrLCBTdGFuZGFyZEZ1bmN0aW9uQm9keUJs
b2NrIH07CisjZW5kaWYKKwogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPgogc3RydWN0IFBh
cnNlckZ1bmN0aW9uSW5mbyB7CiAgICAgY29uc3QgSWRlbnRpZmllciogbmFtZSA9IDA7CkBAIC0z
OCw2ICs0MiwxMSBAQCBzdHJ1Y3QgUGFyc2VyRnVuY3Rpb25JbmZvIHsKICAgICBpbnQgYm9keVN0
YXJ0TGluZSA9IDA7CiAgICAgaW50IGJvZHlFbmRMaW5lID0gMDsKICAgICB1bnNpZ25lZCBib2R5
U3RhcnRDb2x1bW4gPSAwOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgdW5zaWduZWQgYXJyb3dGdW5jdGlvbk9mZnNldCA9IDA7CisgICAgYm9vbCBpc0Fycm93RnVu
Y3Rpb24gPSBmYWxzZTsKKyAgICBGdW5jdGlvbkJvZHlUeXBlIGZ1bmN0aW9uQm9keVR5cGUgPSBT
dGFuZGFyZEZ1bmN0aW9uQm9keUJsb2NrOworI2VuZGlmCiB9OwogCiAjaWYgRU5BQkxFKEVTNl9D
TEFTU19TWU5UQVgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlclRva2Vucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMu
aAppbmRleCA4MzI5ZjgyYTliMmZmOTE1ZDFmMjQxYzFmOGJmZmFkNDI0N2E1ZjBiLi5jOGIxNjZl
MGVhZDdkMmRhNzE5ZTc2YzRhMmYwOWFmZjFkNzRkN2FjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKQEAgLTc1LDYgKzc1LDkgQEAgZW51bSBKU1Rva2Vu
VHlwZSB7CiAgICAgRklOQUxMWSwKICAgICBERUJVR0dFUiwKICAgICBFTFNFLAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgQVJST1dGVU5DVElPTiwKKyNlbmRpZgog
I2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogICAgIENMQVNTVE9LRU4sCiAgICAgRVhURU5E
UywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmgKaW5kZXggNzNkMjNk
YjgyYWYyNWVhNDZjMGY4OTc4NWNlNDI0YmI2MGViNjFhNy4uNTBkNTI2Mzk3OTQzZTM4MWQzODBl
YzQzZDgyZDViNjNmN2YwOGRjNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9Tb3VyY2VDb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3Vy
Y2VDb2RlLmgKQEAgLTEwNSw2ICsxMDUsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgCiAg
ICAgICAgIFNvdXJjZUNvZGUgc3ViRXhwcmVzc2lvbih1bnNpZ25lZCBvcGVuQnJhY2UsIHVuc2ln
bmVkIGNsb3NlQnJhY2UsIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbik7CiAKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBTb3VyY2VDb2RlIHN1YkFy
cm93RXhwcmVzc2lvbih1bnNpZ25lZCBzdGFydEFycm93RnVuY3Rpb24sIHVuc2lnbmVkIGVuZEFy
cm93RnVuY3Rpb24sIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbik7CisjZW5kaWYKICAg
ICBwcml2YXRlOgogICAgICAgICBSZWZQdHI8U291cmNlUHJvdmlkZXI+IG1fcHJvdmlkZXI7CiAg
ICAgICAgIGludCBtX3N0YXJ0Q2hhcjsKQEAgLTExOCw2ICsxMjEsMTcgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIHJldHVybiBTb3VyY2VDb2RlKFN0cmluZ1NvdXJjZVByb3ZpZGVyOjpjcmVh
dGUoc291cmNlLCB1cmwsIHN0YXJ0UG9zaXRpb24pLCBzdGFydFBvc2l0aW9uLm1fbGluZS5vbmVC
YXNlZEludCgpLCBzdGFydFBvc2l0aW9uLm1fY29sdW1uLm9uZUJhc2VkSW50KCkpOwogICAgIH0K
IAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaW5saW5lIFNvdXJj
ZUNvZGUgU291cmNlQ29kZTo6c3ViQXJyb3dFeHByZXNzaW9uKHVuc2lnbmVkIHN0YXJ0QXJyb3dG
dW5jdGlvbiwgdW5zaWduZWQgZW5kQXJyb3dGdW5jdGlvbiwgaW50IGZpcnN0TGluZSwgaW50IHN0
YXJ0Q29sdW1uKQorICAgIHsKKyAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW3N0
YXJ0QXJyb3dGdW5jdGlvbl0gPT0gJz0nICYmIHByb3ZpZGVyKCktPnNvdXJjZSgpW3N0YXJ0QXJy
b3dGdW5jdGlvbiArIDFdID09ICc+Jyk7CisgICAgICAgIC8vIEZpeG1lOiBVc2UgYmV0dGVyIGFw
cHJvYWNoIHRvIGNoZWNrIHN5bWJvbAorICAgICAgICBBU1NFUlQocHJvdmlkZXIoKS0+c291cmNl
KClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICcsJyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtl
bmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJzsnIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFy
cm93RnVuY3Rpb24gLSAxXSA9PSAnKScgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dG
dW5jdGlvbiAtIDFdID09ICddJyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0
aW9uIC0gMV0gPT0gJ30nKTsKKyAgICAgICAgc3RhcnRDb2x1bW4gKz0gMTsgLy8gQ29udmVydCB0
byBiYXNlIDEuCisgICAgICAgIHJldHVybiBTb3VyY2VDb2RlKHByb3ZpZGVyKCksIHN0YXJ0QXJy
b3dGdW5jdGlvbiwgZW5kQXJyb3dGdW5jdGlvbiwgZmlyc3RMaW5lLCBzdGFydENvbHVtbik7Cisg
ICAgfQorI2VuZGlmCisKICAgICBpbmxpbmUgU291cmNlQ29kZSBTb3VyY2VDb2RlOjpzdWJFeHBy
ZXNzaW9uKHVuc2lnbmVkIG9wZW5CcmFjZSwgdW5zaWduZWQgY2xvc2VCcmFjZSwgaW50IGZpcnN0
TGluZSwgaW50IHN0YXJ0Q29sdW1uKQogICAgIHsKICAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCkt
PnNvdXJjZSgpW29wZW5CcmFjZV0gPT0gJ3snKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaAppbmRleCA2MzUzNzllM2Y0
NDU2NjhjNTJiODcyZjc2MTZkY2I1OTIxYTgyOTQ0Li5mNDI4ZGI1MGE4ZGE3YTdhYjQ2ODI0YWIz
ODA4M2RiMDUyZDczNzc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCkBAIC00MCw2ICs0MCwxMCBAQCBzdHJ1Y3Qg
U291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMgewogICAgIGJvb2wgbmVl
ZHNGdWxsQWN0aXZhdGlvbjsKICAgICBib29sIHVzZXNFdmFsOwogICAgIGJvb2wgc3RyaWN0TW9k
ZTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGJvb2wgaXNCb2R5
QXJyb3dFeHByZXNzaW9uOworICAgIEpTVG9rZW5UeXBlIHRva2VuVHlwZTsKKyNlbmRpZgogICAg
IFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+IHVzZWRWYXJpYWJsZXM7CiAgICAgVmVjdG9yPFJl
ZlB0cjxTdHJpbmdJbXBsPj4gd3JpdHRlblZhcmlhYmxlczsKIH07CkBAIC01NSwxMCArNTksMTQg
QEAgcHVibGljOgogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8U291cmNlUHJvdmlkZXJDYWNo
ZUl0ZW0+IGNyZWF0ZShjb25zdCBTb3VyY2VQcm92aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFyYW1l
dGVycyYpOwogICAgIH5Tb3VyY2VQcm92aWRlckNhY2hlSXRlbSgpOwogCi0gICAgSlNUb2tlbiBj
bG9zZUJyYWNlVG9rZW4oKSBjb25zdCAKKyAgICBKU1Rva2VuIGVuZEZ1bmN0aW9uVG9rZW4oKSBj
b25zdCAKICAgICB7CiAgICAgICAgIEpTVG9rZW4gdG9rZW47CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdG9rZW4ubV90eXBlID0gaXNCb2R5QXJyb3dFeHBy
ZXNzaW9uID8gdG9rZW5UeXBlIDogQ0xPU0VCUkFDRTsKKyNlbHNlCiAgICAgICAgIHRva2VuLm1f
dHlwZSA9IENMT1NFQlJBQ0U7CisjZW5kaWYKICAgICAgICAgdG9rZW4ubV9kYXRhLm9mZnNldCA9
IGNsb3NlQnJhY2VPZmZzZXQ7CiAgICAgICAgIHRva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQg
PSBjbG9zZUJyYWNlT2Zmc2V0OwogICAgICAgICB0b2tlbi5tX2xvY2F0aW9uLmVuZE9mZnNldCA9
IGNsb3NlQnJhY2VPZmZzZXQgKyAxOwpAQCAtODIsNiArOTAsMTEgQEAgcHVibGljOgogICAgIHVu
c2lnbmVkIHVzZWRWYXJpYWJsZXNDb3VudDsKICAgICB1bnNpZ25lZCB3cml0dGVuVmFyaWFibGVz
Q291bnQ7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGJvb2wg
aXNCb2R5QXJyb3dFeHByZXNzaW9uOworICAgIEpTVG9rZW5UeXBlIHRva2VuVHlwZTsKKyNlbmRp
ZgorCiAgICAgU3RyaW5nSW1wbCoqIHVzZWRWYXJpYWJsZXMoKSBjb25zdCB7IHJldHVybiBjb25z
dF9jYXN0PFN0cmluZ0ltcGwqKj4obV92YXJpYWJsZXMpOyB9CiAgICAgU3RyaW5nSW1wbCoqIHdy
aXR0ZW5WYXJpYWJsZXMoKSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0PFN0cmluZ0ltcGwqKj4o
Jm1fdmFyaWFibGVzW3VzZWRWYXJpYWJsZXNDb3VudF0pOyB9CiAKQEAgLTExNSw2ICsxMjgsMTAg
QEAgaW5saW5lIFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjpTb3VyY2VQcm92aWRlckNhY2hlSXRl
bShjb25zdCBTb3VyY2VQcm92aWRlckNhY2gKICAgICAsIGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZz
ZXQocGFyYW1ldGVycy5jbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0KQogICAgICwgdXNlZFZhcmlh
Ymxlc0NvdW50KHBhcmFtZXRlcnMudXNlZFZhcmlhYmxlcy5zaXplKCkpCiAgICAgLCB3cml0dGVu
VmFyaWFibGVzQ291bnQocGFyYW1ldGVycy53cml0dGVuVmFyaWFibGVzLnNpemUoKSkKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICwgaXNCb2R5QXJyb3dFeHByZXNz
aW9uKHBhcmFtZXRlcnMuaXNCb2R5QXJyb3dFeHByZXNzaW9uKQorICAgICwgdG9rZW5UeXBlKHBh
cmFtZXRlcnMudG9rZW5UeXBlKQorI2VuZGlmCiB7CiAgICAgdW5zaWduZWQgaiA9IDA7CiAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHVzZWRWYXJpYWJsZXNDb3VudDsgKytpLCArK2opIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKaW5kZXggOGU0
ZjYxYjk0OTg5MGI5YmY1NDAyOWU5NjY2MWVlZjUzYTE3YjU4NC4uNWY4ZTIxMWVlNGI1M2IzOTRl
YjVhZTIxOTBiODNjOGM0Zjg0NGNmZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9TeW50YXhDaGVja2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9TeW50YXhDaGVja2VyLmgKQEAgLTE3MCw2ICsxNzAsMTAgQEAgcHVibGljOgogI2VuZGlmCiAg
ICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlRnVuY3Rpb25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlv
biYsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1
bmN0aW9uRXhwcjsgfQogICAgIGludCBjcmVhdGVGdW5jdGlvbkJvZHkoY29uc3QgSlNUb2tlbkxv
Y2F0aW9uJiwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgaW50LCBpbnQsIGJvb2wsIGludCwgaW50
LCBpbnQsIENvbnN0cnVjdG9yS2luZCkgeyByZXR1cm4gRnVuY3Rpb25Cb2R5UmVzdWx0OyB9Cisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBFeHByZXNzaW9uVHlwZSBj
cmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJz
ZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0K
KyNlbmRpZiAKKyAgICB2b2lkIHNldEZ1bmN0aW9uTmFtZVN0YXJ0KGludCwgaW50KSB7IH0KICAg
ICBpbnQgY3JlYXRlQXJndW1lbnRzKCkgeyByZXR1cm4gQXJndW1lbnRzUmVzdWx0OyB9CiAgICAg
aW50IGNyZWF0ZUFyZ3VtZW50cyhpbnQpIHsgcmV0dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQogICAg
IEV4cHJlc3Npb25UeXBlIGNyZWF0ZVNwcmVhZEV4cHJlc3Npb24oY29uc3QgSlNUb2tlbkxvY2F0
aW9uJiwgRXhwcmVzc2lvblR5cGUsIGludCwgaW50LCBpbnQpIHsgcmV0dXJuIFNwcmVhZEV4cHI7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5j
dGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24u
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjZmYzNlYTE4MDA2ODk2NDNhYWRkNmM2YTQ5N2VkMGFlNmMyMTExMjAK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93
RnVuY3Rpb24uY3BwCkBAIC0wLDAgKzEsNzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKworI2lu
Y2x1ZGUgIkVycm9yLmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uSGVscGVycy5oIgorI2luY2x1ZGUg
IkpTQ0lubGluZXMuaCIKKyNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCisjaW5jbHVkZSAiSlNGdW5j
dGlvbi5oIgorI2luY2x1ZGUgIkpTRnVuY3Rpb25JbmxpbmVzLmgiCisjaW5jbHVkZSAiSlNPYmpl
Y3QuaCIKKyNpbmNsdWRlICJQcm9wZXJ0eVNsb3QuaCIKKyNpbmNsdWRlICJWTS5oIgorCituYW1l
c3BhY2UgSlNDIHsKKyAgICAKK2NvbnN0IENsYXNzSW5mbyBKU0Fycm93RnVuY3Rpb246OnNfaW5m
byA9IHsgIkFycm93RnVuY3Rpb24iLCAmQmFzZTo6c19pbmZvLCAwLCBDUkVBVEVfTUVUSE9EX1RB
QkxFKEpTQXJyb3dGdW5jdGlvbikgfTsKKwordm9pZCBKU0Fycm93RnVuY3Rpb246OmRlc3Ryb3ko
SlNDZWxsKiBjZWxsKQoreworICAgIHN0YXRpY19jYXN0PEpTQXJyb3dGdW5jdGlvbio+KGNlbGwp
LT5KU0Fycm93RnVuY3Rpb246On5KU0Fycm93RnVuY3Rpb24oKTsKK30KKworSlNBcnJvd0Z1bmN0
aW9uOjpKU0Fycm93RnVuY3Rpb24oVk0mIHZtLCBKU1Njb3BlKiBzY29wZSwgRnVuY3Rpb25FeGVj
dXRhYmxlKiBleGVjdXRhYmxlLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICA6IEJhc2Uodm0s
IGV4ZWN1dGFibGUsIHNjb3BlLCBzdHJ1Y3R1cmUpCit7Cit9CisgICAgCit2b2lkIEpTQXJyb3dG
dW5jdGlvbjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0
aW9uKHZtKTsKKy8vIFByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiBpcyB1bmRlZmluZWQKKyAg
ICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwganNVbmRlZmluZWQo
KSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgRG9udEVudW0pOworfQorICAgIAordm9pZCBKU0Fy
cm93RnVuY3Rpb246OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlz
aXRvcikKK3sKKyAgICBKU0Fycm93RnVuY3Rpb24qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNBcnJv
d0Z1bmN0aW9uKj4oY2VsbCk7CisgICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyh0aGlzT2Jq
ZWN0LCBpbmZvKCkpOworICAgIEJhc2U6OnZpc2l0Q2hpbGRyZW4odGhpc09iamVjdCwgdmlzaXRv
cik7Cit9CisgICAgCitDb25zdHJ1Y3RUeXBlIEpTQXJyb3dGdW5jdGlvbjo6Z2V0Q29uc3RydWN0
RGF0YShKU0NlbGwqIGNlbGwsIENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCit7CisgICAg
SlNGdW5jdGlvbiogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY2VsbCk7CisgICAg
ICAgIAorICAgIGNvbnN0cnVjdERhdGEuanMuZnVuY3Rpb25FeGVjdXRhYmxlID0gdGhpc09iamVj
dC0+anNFeGVjdXRhYmxlKCk7CisgICAgY29uc3RydWN0RGF0YS5qcy5zY29wZSA9IHRoaXNPYmpl
Y3QtPnNjb3BlKCk7CisgICAgcmV0dXJuIENvbnN0cnVjdFR5cGVOb25lOworfQorfSAvLyBuYW1l
c3BhY2UgSlNDCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXJyb3dGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNB
cnJvd0Z1bmN0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzgwMTVkMzg3MjFjY2E0NGFlMmY2NWNiNmQ3N2I2
YTY1MjIwOTY1ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXJyb3dGdW5jdGlvbi5oCkBAIC0wLDAgKzEsNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEpTQXJyb3dGdW5jdGlvbl9oCisj
ZGVmaW5lIEpTQXJyb3dGdW5jdGlvbl9oCisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorCisjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTR2xvYmFsT2Jq
ZWN0LmgiCisKK25hbWVzcGFjZSBKU0MgeworCitjbGFzcyBKU0Fycm93RnVuY3Rpb24gOiBwdWJs
aWMgSlNGdW5jdGlvbiB7CitwdWJsaWM6CisgICAgdHlwZWRlZiBKU0Z1bmN0aW9uIEJhc2U7Cisg
ICAgICAgIAorICAgIHN0YXRpYyBKU0Fycm93RnVuY3Rpb24qIGNyZWF0ZShWTSYgdm0sIEpTU2Nv
cGUqIHNjb3BlLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QpCisgICAgeworICAgICAgICBKU0Fycm93RnVuY3Rpb24qIGZ1bmN0aW9u
ID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8SlNBcnJvd0Z1bmN0aW9uPih2bS5oZWFwKSkg
SlNBcnJvd0Z1bmN0aW9uKHZtLCBzY29wZSwgZXhlY3V0YWJsZSwgZ2xvYmFsT2JqZWN0LT5hcnJv
d0Z1bmN0aW9uU3RydWN0dXJlKCkpOworICAgICAgICBBU1NFUlQoZnVuY3Rpb24tPnN0cnVjdHVy
ZSgpLT5nbG9iYWxPYmplY3QoKSk7CisgICAgICAgIGZ1bmN0aW9uLT5maW5pc2hDcmVhdGlvbih2
bSk7CisgICAgICAgIHJldHVybiBmdW5jdGlvbjsKKyAgICB9CisgICAgCisgICAgc3RhdGljIHZv
aWQgZGVzdHJveShKU0NlbGwqKTsKKyAgICAgICAgCisgICAgc3RhdGljIFN0cnVjdHVyZSogY3Jl
YXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1
ZSBwcm90b3R5cGUpCisgICAgeworICAgICAgICBBU1NFUlQoZ2xvYmFsT2JqZWN0KTsKKyAgICAg
ICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwg
VHlwZUluZm8oSlNGdW5jdGlvblR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKKyAgICB9
CisgICAgICAgIAorICAgIHN0YXRpYyBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoSlND
ZWxsKiwgQ29uc3RydWN0RGF0YSYpOworICAgICAgICAKKyAgICBERUNMQVJFX0lORk87CisKK3By
b3RlY3RlZDoKKyAgICBjb25zdCBzdGF0aWMgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVy
cmlkZXNIYXNJbnN0YW5jZSB8IEJhc2U6OlN0cnVjdHVyZUZsYWdzOworICAgICAgICAKKyAgICBz
dGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CisgICAgICAg
IAorcHJpdmF0ZToKKyAgICBKU0Fycm93RnVuY3Rpb24oVk0mLCBKU1Njb3BlKiwgRnVuY3Rpb25F
eGVjdXRhYmxlKiwgU3RydWN0dXJlKik7CisKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7
Cit9OworICAgIAorfSAvLyBuYW1lc3BhY2UgSlNDCisjZW5kaWYgLy8gRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYCisKKyNlbmRpZiAvLyBKU0Fycm93RnVuY3Rpb25faApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCmluZGV4IDJjZmIzMzcyYzI4ZGMyMDg4NmMyMzgw
OWQxOGU5MzNiNjJhNjQxNWYuLjNhMjM1MzVmZTg1MWFlMmVmZmJhNzU5ZGZjZjllNmIwZjdiZjg2
OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24u
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKQEAgLTEz
Niw2ICsxMzYsOSBAQCBwdWJsaWM6CiBwcm90ZWN0ZWQ6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUg
SlNGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKik7CiAgICAgSlNGdW5j
dGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSosIEpTU2NvcGUqKTsKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEpTRnVuY3Rpb24oVk0mLCBGdW5jdGlvbkV4ZWN1
dGFibGUqLCBKU1Njb3BlKiwgU3RydWN0dXJlKik7CisjZW5kaWYKIAogICAgIHZvaWQgZmluaXNo
Q3JlYXRpb24oVk0mLCBOYXRpdmVFeGVjdXRhYmxlKiwgaW50IGxlbmd0aCwgY29uc3QgU3RyaW5n
JiBuYW1lKTsKICAgICB1c2luZyBCYXNlOjpmaW5pc2hDcmVhdGlvbjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oCmluZGV4IGY2YzZkNThl
YzZlNWMxMTY0Y2IyN2ZhNWU0MTYxOGI0YjgxNDJmMDIuLjM4NTA2Y2MxOTlhMDA4ZmY4Zjk2YWRm
Njg5YmUzNjA5ODc1ZGVhNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNGdW5jdGlvbklubGluZXMuaApAQCAtNDUsNiArNDUsMTUgQEAgaW5saW5lIEpTRnVuY3Rp
b246OkpTRnVuY3Rpb24oVk0mIHZtLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpT
U2NvcGUqIHMKIHsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitp
bmxpbmUgSlNGdW5jdGlvbjo6SlNGdW5jdGlvbihWTSYgdm0sIEZ1bmN0aW9uRXhlY3V0YWJsZSog
ZXhlY3V0YWJsZSwgSlNTY29wZSogc2NvcGUsIFN0cnVjdHVyZSogc3RydWN0dXJlKQorICAgIDog
QmFzZSh2bSwgc2NvcGUsIHN0cnVjdHVyZSkKKyAgICAsIG1fZXhlY3V0YWJsZSh2bSwgdGhpcywg
ZXhlY3V0YWJsZSkKKyAgICAsIG1fcmFyZURhdGEoKQoreworfQorI2VuZGlmCisgICAgCiBpbmxp
bmUgRnVuY3Rpb25FeGVjdXRhYmxlKiBKU0Z1bmN0aW9uOjpqc0V4ZWN1dGFibGUoKSBjb25zdAog
ewogICAgIEFTU0VSVCghaXNIb3N0RnVuY3Rpb25Ob25JbmxpbmUoKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggZTM0YWRkMTI4
MjQxYTk2MDM0ZWQ4NTc2YWNlYTg1MDNkM2JiZjEzNC4uZWI2ZjI1MzU4YzM0YWU3NTk3MjczMzRm
MDAwZmYzYjE0ZmY2ZjE5ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtNTgsNiArNTgsNyBAQAogI2luY2x1ZGUgIkpTQXJyYXlC
dWZmZXJDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXJQcm90b3R5cGUuaCIK
ICNpbmNsdWRlICJKU0FycmF5SXRlcmF0b3IuaCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24u
aCIKICNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgi
CiAjaW5jbHVkZSAiSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgiCkBAIC0yMzEsNiArMjMyLDkgQEAg
dm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChWTSYgdm0pCiAgICAgZXhlYy0+c2V0Q2FsbGVlKG1f
Z2xvYmFsQ2FsbGVlLmdldCgpKTsKIAogICAgIG1fZnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0
aGlzLCBKU0Z1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90
b3R5cGUuZ2V0KCkpKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
IG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpTQXJyb3dGdW5jdGlvbjo6
Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7Cisj
ZW5kaWYKICAgICBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0JvdW5k
RnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5n
ZXQoKSkpOwogICAgIG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIFN0cnVj
dHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBtX2Z1bmN0aW9uU3RydWN0dXJlLmdldCgp
LCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51
bSwgbV9mdW5jdGlvbk5hbWVPZmZzZXQpKTsKICAgICBtX2ludGVybmFsRnVuY3Rpb25TdHJ1Y3R1
cmUuc2V0KHZtLCB0aGlzLCBJbnRlcm5hbEZ1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRo
aXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKQEAgLTczNiw2ICs3NDAsOSBAQCB2b2lk
IEpTR2xvYmFsT2JqZWN0Ojp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3Im
IHZpc2l0b3IpCiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fY2FsbGVlU3RydWN0
dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9mdW5jdGlvblN0cnVjdHVy
ZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYm91bmRGdW5jdGlvblN0cnVj
dHVyZSk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2aXNpdG9y
LmFwcGVuZCgmdGhpc09iamVjdC0+bV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKTsKKyNlbmRpZgog
ICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUp
OwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX3N5bWJvbE9iamVjdFN0cnVjdHVy
ZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fcmVnRXhwTWF0Y2hlc0FycmF5
U3RydWN0dXJlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9i
amVjdC5oCmluZGV4IGQxN2I0YTM0OGZhMTRkYWQwM2FiNzYwNmM3OTMxZWJlZmIxNzljZDIuLmM1
YTQzNTk3ODAxNGZiZWE1ZDMxNGJkZTEwNTA5YmQ1MjdmYWZmYTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtMjI3LDYgKzIyNyw5IEBA
IHByb3RlY3RlZDoKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2NhbGxlZVN0cnVjdHVy
ZTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2Z1bmN0aW9uU3RydWN0dXJlOwogICAg
IFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYm91bmRGdW5jdGlvblN0cnVjdHVyZTsKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1
cmU+IG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZTsKKyNlbmRpZgogICAgIFdyaXRlQmFycmllcjxT
dHJ1Y3R1cmU+IG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZTsKICAgICBQcm9wZXJ0eU9mZnNldCBt
X2Z1bmN0aW9uTmFtZU9mZnNldDsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3ByaXZh
dGVOYW1lU3RydWN0dXJlOwpAQCAtNDY0LDYgKzQ2Nyw5IEBAIHB1YmxpYzoKICAgICBTdHJ1Y3R1
cmUqIGNhbGxlZVN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbGVlU3RydWN0dXJlLmdl
dCgpOyB9CiAgICAgU3RydWN0dXJlKiBmdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJu
IG1fZnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUqIGJvdW5kRnVuY3Rp
b25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0
KCk7IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFN0cnVjdHVy
ZSogYXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXJyb3dGdW5jdGlv
blN0cnVjdHVyZS5nZXQoKTsgfQorI2VuZGlmCiAgICAgU3RydWN0dXJlKiBuYW1lZEZ1bmN0aW9u
U3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlLmdldCgp
OyB9CiAgICAgUHJvcGVydHlPZmZzZXQgZnVuY3Rpb25OYW1lT2Zmc2V0KCkgY29uc3QgeyByZXR1
cm4gbV9mdW5jdGlvbk5hbWVPZmZzZXQ7IH0KICAgICBTdHJ1Y3R1cmUqIG51bWJlck9iamVjdFN0
cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fbnVtYmVyT2JqZWN0U3RydWN0dXJlLmdldCgpOyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tYXNwYXJhbXRlci5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YXJyb3dmdW5jdGlvbi1hc3BhcmFtdGVyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzNjFiOGRiMDIyODI3OTZk
MWJiMDRmNWRiZDQwMTliNzI4OWYyY2MKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci5qcwpAQCAtMCww
ICsxLDggQEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1
bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4
cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQg
KyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordGVzdENhc2UoIiIg
KyBbMSwgMiwgMywgNF0ubWFwKHggPT4geCwgMzIpLCAiMSwyLDMsNCIsICJFcnJvcjogYXJyb3cg
ZnVuY3Rpb24gYXMgdGhlIHBhcmFtdGVycy4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTEuanMgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRp
dml0eS0xLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkMWQ0N2E0ODA3NWVjNTk4YzZiZTFlMDdkNzhhMzUyNjM1
M2E5MTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0xLmpzCkBAIC0wLDAgKzEsMTMgQEAKKy8v
IEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1
YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7Cisg
ICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdh
cyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGFmMSwgYWYyLCBhZjM7CithZjEg
PSBhZjIgPSBhZjMgPT4gYWYxID0gYWYyID0gYWYzOwordGVzdENhc2UoYWYxLCBhZjIsICJFcnJv
cjogd3JvbmcgYXNzb2NpYXRpdml0eSAjMS4iKTsKK2FmMSgxMyk7Cit0ZXN0Q2FzZShhZjIsIDEz
LCAiRXJyb3I6IHdyb25nIGFzc29jaWF0aXZpdHkgIzIuIik7Cit0ZXN0Q2FzZShhZjEsIDEzLCAi
RXJyb3I6IHdyb25nIGFzc29jaWF0aXZpdHkgIzMuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0yLmpz
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29j
aWF0aXZpdHktMi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZWRkODM5YzZiYzdlZDZhNDBlZmZiYmM4NzU0ZWQx
YmZkODA2YjQzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHktMi5qcwpAQCAtMCwwICsxLDE0IEBA
CisvLyBJbnNwaXJlZCBieSBtb3ppbGxhIHRlc3RzCit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAo
YWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkg
eworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1
dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBzPSIiOworcyArPSB4ID0+
IHgubmFtZTsKKworLy8gRml4IG1lLiBQb3NzaWJsZSB3ZSBoYXZlIG5vdCB1c2UgdGhlIEpTQm91
bnRGdW5jdGlvbiB3cmFwcGVyIGZvciB0aGUgbGV4aWNhbAorLy8gYmluZGluZyBvZiB0aGUgdGhp
cyBhbmQgdXNlIGRpcmVjdCBpbmplY3Rpb24gb2YgdGhlICd0aGlzJyB2YWx1ZQorLy8gaW50byBh
cnJyb3cgZnVuY3Rpb24KKy8vIHRlc3RDYXNlKHMsICJ4ID0+IHgubmFtZSIgLCAiRXJyb3I6IHdy
b25nIHRvU3RyaW5nIGNvbnZlcnNpb24uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS5qcyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY3ZWQxNTNjZWViYTUyNjIyOGVjYTgyMTMwNDY5YTkyNDRiMTRjMDUK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS5qcwpAQCAtMCwwICsxLDEwIEBACisvLyBJbnNwaXJl
ZCBieSBtb3ppbGxhIHRlc3RzCit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBl
Y3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93
IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBh
Y3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBhZiA9IGEgPT4gYiA9PiBhOworCit0ZXN0Q2Fz
ZShhZignQUJDJykoJ0RFRicpLCAnQUJDJywgIkVycm9yOiB3cm9uZyBuZXN0ZWQgYXJyb3cgZnVu
Y3Rpb25zLiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9hcnJvd2Z1bmN0aW9uLWJsb2NrLTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2stMS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYzU3MWJiNzJmY2Zl
ZjUzMGM1OWRiNGI4NjBjYTRmMGE5NmE0MTE2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJsb2NrLTEuanMKQEAgLTAs
MCArMSwxMSBAQAorLy8gSW5zcGlyZWQgYnkgbW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0g
ZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0g
ZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3Rl
ZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgZiA9ICgp
ID0+IHt9OwordGVzdENhc2UodHlwZW9mIGYoKSwgJ3VuZGVmaW5lZCcsICJFcnJvcjogd3Jvbmcg
YXJyb3cgZnVuY3Rpb24gYmxvY2suIik7Cit2YXIgZyA9ICgpID0+ICh7fSk7Cit0ZXN0Q2FzZSh0
eXBlb2YgZygpLCAnb2JqZWN0JywgIkVycm9yOiB3cm9uZyBhcnJvdyBmdW5jdGlvbiBibG9jay4i
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1ibG9jay0yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9h
cnJvd2Z1bmN0aW9uLWJsb2NrLTIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDdlZTM1MmNmMDFkMTM2ZTMwMjky
MjczNmM1YzgwZWY1M2MwM2Y2ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ibG9jay0yLmpzCkBAIC0wLDAgKzEsMTAg
QEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9u
IChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVk
KSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywg
YnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGFmID0gYSA9PiB7IGEg
KyAxOyB9OworCit0ZXN0Q2FzZSh0eXBlb2YgYWYoMCksICd1bmRlZmluZWQnLCAiRXJyb3I6IHdy
b25nIGFycm93IGZ1bmN0aW9uIGJsb2NrICMyLiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNvbnN0cnVjdG9yLmpzIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNvbnN0cnVjdG9y
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjk1MDdiNTM2NGYwNDExMzU4NWVhYmE4YzI0YTQ3YTRhMTBkMTZiN2IK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tY29uc3RydWN0b3IuanMKQEAgLTAsMCArMSwxOCBAQAordmFyIHRlc3RDYXNl
ID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAh
PT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBl
Y3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgc2lt
cGxlQXJyb3dGdW5jdGlvbiA9ICgpID0+IHt9OworCit2YXIgZXJyb3JPbkNyZWF0ZSA9IGZhbHNl
OworCit0cnkgeworICB2YXIgZmMgPSBuZXcgc2ltcGxlQXJyb3dGdW5jdGlvbigpOworfQorY2F0
Y2ggKGUpIHsKKyAgZXJyb3JPbkNyZWF0ZSA9IHRydWU7Cit9CisKK3Rlc3RDYXNlKGVycm9yT25D
cmVhdGUsIHRydWUsICJFcnJvcjogTm8gZXJyb3IgZHVyaW5nIHJ1biBuZXcgQXJyb3dGdW5jdGlv
biIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJv
d2Z1bmN0aW9uLWxleGljYWx0aGlzLTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbHRoaXMtMS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNTUzMWY1
NzU2MmYyODY4ZWVhZDM5ZmNkNjZlZTUwNzhiYWNlZDFiCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWx0aGlz
LTEuanMKQEAgLTAsMCArMSwxNyBAQAordmFyIHJlc3VsdDsKKworIHZhciB0ZXN0Q2FzZSA9IGZ1
bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4
cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQg
KyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKworZnVuY3Rpb24gRG9n
KG5hbWUpIHsKKyAgdGhpcy5uYW1lID0gbmFtZTsKKyAgdGhpcy5nZXROYW1lID0gKCkgPT4gZXZh
bCgidGhpcy5uYW1lIik7CisgIHRoaXMuZ2V0TmFtZUhhcmQgPSAoKSA9PiBldmFsKCIoKCkgPT4g
dGhpcy5uYW1lKSgpIik7Cit9CisKK3ZhciBkID0gbmV3IERvZygiTWF4Iik7Cit0ZXN0Q2FzZShk
LmdldE5hbWUoKSwgZC5uYW1lLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQg
aW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMSIpOwordGVzdENhc2UoZC5nZXROYW1lSGFy
ZCgpLCBkLm5hbWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUg
b2YgdGhlIGFycm93IGZ1bmN0aW9uICMyIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbHRoaXMuanMgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbHRoaXMuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjEyZmJhZjgwNDQ4MmM3NzYxYzM3ZGQ2OTNhODQ4NWU1NTExNTczZQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1sZXhpY2FsdGhpcy5qcwpAQCAtMCwwICsxLDMxIEBACit2YXIgcmVzdWx0OworCisg
dmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAg
aWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0
ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9
OworCit2YXIgYWZPYmpMZXhCaW5kMiA9IGZ1bmN0aW9uICgpIHsKKyAgdGhpcy5mdW5jID0gKCkg
PT4gdGhpczsKK307CisKK3ZhciBhZk9iakxleEJpbmQySW5zdGFuY2UgPSBuZXcgYWZPYmpMZXhC
aW5kMigpOworCit0ZXN0Q2FzZShhZk9iakxleEJpbmQySW5zdGFuY2UuZnVuYygpID09PSBhZk9i
akxleEJpbmQySW5zdGFuY2UsIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJp
bmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMyIik7CisKK3ZhciBvYmogPSB7Cisg
IG1ldGhvZDogZnVuY3Rpb24gKCkgeworICAgIHJldHVybiAoKSA9PiB0aGlzOworICB9Cit9Owor
Cit0ZXN0Q2FzZShvYmoubWV0aG9kKCkoKSA9PT0gb2JqLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMg
bm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMyIpOwor
Cit2YXIgZmFrZSA9IHtzdGVhbDogb2JqLm1ldGhvZCgpfTsKK3Rlc3RDYXNlKGZha2Uuc3RlYWwo
KSA9PT0gb2JqLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5z
aWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNCIpOworCisKKy8vIEZpeG1lOiBmb2xsb3dpbmcg
dGVzdCBmYWlscyBpbiBkZmctZWFnZXItbm8tY2ppdC12YWxpZGF0ZSAmIGZ0bC1lYWdlci1uby1j
aml0IG1vZGUKK3ZhciByZWFsID0ge2JvcnJvdzogb2JqLm1ldGhvZH07Cit0ZXN0Q2FzZShyZWFs
LmJvcnJvdygpKCkgPT09IHJlYWwsIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5
IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM1Iik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tb3RoZXJzLmpz
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLW90aGVy
cy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mZWJhMTFmMzAyMmUzNGE4MDAwYTU3MDA3NmRiMWE1NWE0YTMyYjIx
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9h
cnJvd2Z1bmN0aW9uLW90aGVycy5qcwpAQCAtMCwwICsxLDEzIEBACit2YXIgdGVzdENhc2UgPSBm
dW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBl
eHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVk
ICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBzaW1wbGVB
cnJvd0Z1bmN0aW9uID0gKCkgPT4ge307CisKK3Rlc3RDYXNlKE9iamVjdC5nZXRQcm90b3R5cGVP
ZihzaW1wbGVBcnJvd0Z1bmN0aW9uKSwgRnVuY3Rpb24ucHJvdG90eXBlLCAiRXJyb3I6IE5vdCBj
b3JyZWN0IGdldFByb3RvdHlwZU9mIHZhbHVlIGZvciBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0
Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uIGluc3RhbmNlb2YgRnVuY3Rpb24sIHRydWUsICJFcnJv
cjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBpbnN0YW5jZW9mIG1ldGhvZCBmb3IgYXJyb3cgZnVu
Y3Rpb24iKTsKKwordGVzdENhc2Uoc2ltcGxlQXJyb3dGdW5jdGlvbi5jb25zdHJ1Y3RvciA9PSBG
dW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIGNvbnN0cnVjdG9y
IG1ldGhvZCBvZiBhcnJvdyBmdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXRkei5qcyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi10ZHouanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTlk
MzVjZGVhNGJhZjY2NzQzMWFmOGFiZThkYWRmMjJkMDRiOTBlMQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi10ZHouanMK
QEAgLTAsMCArMSwyNCBAQAordmFyIEEgPSBjbGFzcyBBIHsgfTsKK3ZhciBCID0gY2xhc3MgQiBl
eHRlbmRzIEEgeworICBjb25zdHJ1Y3RvcihhY2Nlc3NUaGlzQmVmb3JlU3VwZXIpIHsKKyAgICBp
ZiAoYWNjZXNzVGhpc0JlZm9yZVN1cGVyKSB7CisgICAgICB2YXIgZiA9ICgpID0+IHRoaXM7Cisg
ICAgICBzdXBlcigpOworICAgIH0gZWxzZSB7CisgICAgICBzdXBlcigpOworICAgIH0KKyAgfQor
fTsKKwordmFyIGV4Y2VwdGlvbiA9IG51bGw7Cit0cnkgeworICAgICBuZXcgQih0cnVlKTsKK30g
Y2F0Y2ggKGUpIHsKKyAgICBleGNlcHRpb24gPSBlOworICAgIGlmICghKGUgaW5zdGFuY2VvZiBS
ZWZlcmVuY2VFcnJvcikpCisgICAgICAgIHRocm93ICJFeGNlcHRpb24gdGhyb3duIHdhcyBub3Qg
YSByZWZlcmVuY2UgZXJyb3IiOworfQoraWYgKCFleGNlcHRpb24pCisgICAgdGhyb3cgIkV4Y2Vw
dGlvbiBub3QgdGhyb3duIGZvciBhbiB1bml0aWFsaXplZCB0aGlzIGF0IGl0ZXJhdGlvbiI7CisK
K3ZhciBlID0gbmV3IEIoZmFsc2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXR5cGVvZi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi10eXBlb2YuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWYy
YTdmNTQ0NzZhYmE5YzI4OTIzYzM1ZjFkYjNjNDMyN2FjOTQ2OQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi10eXBlb2Yu
anMKQEAgLTAsMCArMSwyMSBAQAordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhw
ZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJv
dyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsg
YWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgYWYxID0gKCkgPT4ge307Cit2YXIgYWYyID0g
KGEpID0+IHthICsgMX07CisKK3Rlc3RDYXNlKHR5cGVvZiBhZjEsICJmdW5jdGlvbiIsICJFcnJv
cjogTm90IGNvcnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzEiKTsKK3Rlc3RDYXNl
KHR5cGVvZiBhZjEucHJvdG90eXBlID09PSAndW5kZWZpbmVkJywgdHJ1ZSwgIkVycm9yOiBOb3Qg
Y29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiAjMSIpOworCit0
ZXN0Q2FzZSh0eXBlb2YgYWYyLCAiZnVuY3Rpb24iLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHR5cGUg
b2YgdGhlIGFycm93IGZ1bmN0aW9uICMyIik7Cit0ZXN0Q2FzZSh0eXBlb2YgYWYyLnByb3RvdHlw
ZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBw
cm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24gIzIiKTsKKwordGVzdENhc2UodHlwZW9mICgoKT0+
e30pLCAiZnVuY3Rpb24iLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHR5cGUgb2YgdGhlIGFycm93IGZ1
bmN0aW9uICMzIik7Cit0ZXN0Q2FzZSh0eXBlb2YgKCgpPT57fSkucHJvdG90eXBlID09PSAndW5k
ZWZpbmVkJywgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBv
ZiBhcnJvdyBmdW5jdGlvbiAjMyIpOworCisKK3Rlc3RDYXNlKHR5cGVvZiAoKGIpID0+IHtiICsg
MX0pLCAiZnVuY3Rpb24iLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHR5cGUgb2YgdGhlIGFycm93IGZ1
bmN0aW9uICM0Iik7Cit0ZXN0Q2FzZSh0eXBlb2YgKChiKSA9PiB7YiArIDF9KS5wcm90b3R5cGUg
PT09ICd1bmRlZmluZWQnLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJv
dG90eXBlIG9mIGFycm93IGZ1bmN0aW9uICM0Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24uanMgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24uanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDY4N2IzYWFi
MWQyN2Y0NTNmOTA3NjFjZWMxYWQ0ZDA1Y2YwM2IzNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi5qcwpAQCAtMCwwICsx
LDE1NCBAQAordmFyIHJlc3VsdDsKKworIHZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWws
IGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAg
dGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAn
IiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGFycm93RnVuY3Rpb24wID0gdiA9PiB2
ICsgMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb24wKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEg
LCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogdiA9
PiB2ICsgMSIpOworCit2YXIgYXJyb3dGdW5jdGlvbjEgPSAodikgPT4gdiAqIDI7CityZXN1bHQg
PSBhcnJvd0Z1bmN0aW9uMSgxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIwICwiRXJyb3I6IE5vdCBj
b3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICh2KSA9PiB2ICsgMSIpOwor
Cit2YXIgYXJyb3dGdW5jdGlvbjIgPSAoKSA9PiAxMDAwOworcmVzdWx0ID0gYXJyb3dGdW5jdGlv
bjIoMTIxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhl
Y3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKCkgPT4gMTAwMCIpOworCit2YXIgdG1wVmFy
aWFsdmUyXzEgPSAxNTE7Cit2YXIgYXJyb3dGdW5jdGlvbjJfMSA9ICgpID0+IHRtcFZhcmlhbHZl
Ml8xOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjJfMSgxMjEpOwordGVzdENhc2UocmVzdWx0LCB0
bXBWYXJpYWx2ZTJfMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uOiAoKSA9PiB2YXJpYWJsZSIpOworCit2YXIgYXJyb3dGdW5jdGlvbjMgPSAodiwg
eCkgPT4gdiArIHg7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMygxMSwxMik7Cit0ZXN0Q2FzZShy
ZXN1bHQsIDIzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb246ICh4LCB5KSA9PiB4ICsgeSIpOworCit2YXIgYXJyb3dGdW5jdGlvbldyYXBwZXIgPSBm
dW5jdGlvbiAoY2wsIHBhcmFtdGVyKSB7IHJldHVybiBjbChwYXJhbXRlcik7IH07CisKK3Jlc3Vs
dCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4gMTIzNCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEy
MzQgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBh
cyBwYXJhbXRlcjogZih4ID0+IGMpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBl
cih4ID0+IDEyMzQsIDIzNDUpOwordGVzdENhc2UocmVzdWx0LCAxMjM0ICwiRXJyb3I6IE5vdCBj
b3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9
PiBjLCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMjEgKyAy
MzIpOwordGVzdENhc2UocmVzdWx0LCAzNTMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMxICsgYzIpIik7CisK
KyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEyMyArIDMyMSwgOTk5OSk7Cit0
ZXN0Q2FzZShyZXN1bHQsIDQ0NCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhl
IGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYzEgKyBjMiwgeSkiKTsKKworIHJl
c3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4geCArIDEyLCAyMSk7Cit0ZXN0Q2FzZShy
ZXN1bHQsIDMzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiB4ICsgYzEsIHkpIik7CisKKyByZXN1bHQgPSBhcnJv
d0Z1bmN0aW9uV3JhcHBlcigoeCkgPT4geCArIDIxLCAzMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDUz
LCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMg
cGFyYW10ZXI6IGYoKHgpID0+IGMxICsgYzIsIHkpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0
aW9uV3JhcHBlcigoKSA9PiAxMDApOwordGVzdENhc2UocmVzdWx0LCAxMDAsICJFcnJvcjogTm90
IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigo
KSA9PiBjKSIpOworCisgdmFyIGV4dF92YWx1ZSA9IDEyMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rp
b25XcmFwcGVyKCgpID0+IGV4dF92YWx1ZSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMSwgIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVy
OiBmKCgpID0+IHYpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiBl
eHRfdmFsdWUgKiAxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMTAgLCJFcnJvcjogTm90IGNvcnJl
Y3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiB2
KngpIik7CisKKyByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoeCkgPT4gZXh0X3ZhbHVl
ICogeCwgMzApOwordGVzdENhc2UocmVzdWx0LCAzMCpleHRfdmFsdWUgLCJFcnJvcjogTm90IGNv
cnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoeCkg
PT4gdip4LCB5KSIpOworCisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAw
LCAxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMxLCB5KSIpOwor
CisgcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwICsgMTApOwordGVzdENh
c2UocmVzdWx0LCAxMTAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjMSArIGMyKSIpOworCisgcmVzdWx0ID0g
YXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwICsgMTEsIDEyKTsKK3Rlc3RDYXNlKHJlc3Vs
dCwgMTExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYzEgKyBjMiwgeSkiKTsKKworIHZhciBhcnJvd0Z1bmN0
aW9uNCA9IHYgPT4gdiArIDEsIHh5ejEgPSAxMDEwMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb240
KDEwMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDEyICwiRXJyb3I6IE5vdCBjb3JyZWN0IHBhcnNp
bmcgb2YgdGggYXJyb3cgZnVuY3Rpb24gaW5zaWRlIG9mIHRoZSBsaXN0IG9mIHZhcnM6IHZhciBh
ZiA9IHY9PiB2ICsgMTsgenhjPWM7Iik7Cit0ZXN0Q2FzZSh4eXoxLCAxMDEwMSAsIkVycm9yOiBO
b3QgY29ycmVjdCBwYXJzaW5nIG9mIHRoIGFycm93IGZ1bmN0aW9uIGluc2lkZSBvZiB0aGUgbGlz
dCBvZiB2YXJzOiB2YXIgYWYgPSB2PT4gdiArIDE7IHp4Yz1jOyIpOworCisgdmFyIGFycm93RnVu
Y3Rpb25XcmFwcGVyMiA9IGZ1bmN0aW9uIChjbCwgcGFyYW10ZXIxLCBwYXJhbXRlcjIpIHsgcmV0
dXJuIGNsKHBhcmFtdGVyMSwgcGFyYW10ZXIyKTsgfTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25X
cmFwcGVyMigoeCwgeSkgPT4geCArIHksIDEyICw0Myk7Cit0ZXN0Q2FzZShyZXN1bHQsIDU1ICwi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFy
YW1ldGVyOiBmKCh4LCB5KSA9PiB4ICsgeSwgYzEsIGMyKSIpOworCisgdmFyIGFycm93RnVuY3Rp
b0FycmF5MCA9IFt2ID0+IHYgKiAxMF07CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTBbMF0o
MTApOwordGVzdENhc2UocmVzdWx0LCAxMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbdj0+dioxMF0iKTsKKwor
IHZhciBhcnJvd0Z1bmN0aW9BcnJheTEgPSBbdiA9PiB2ICsgMSwgdiA9PiB2ICsgMl07CityZXN1
bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTFbMF0oMTApOwordGVzdENhc2UocmVzdWx0LCAxMSAsIkVy
cm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0g
aW4gYXJyYXk6IFt2ID0+IHYgKyAxLCAgdiA9PiB2ICsgMl0iKTsKK3Jlc3VsdCA9IGFycm93RnVu
Y3Rpb0FycmF5MVsxXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEzICwiRXJyb3I6IE5vdCBjb3Jy
ZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogW3Yg
PT4gdiArIDEsICB2ID0+IHYgKyAyXSIpOworCisgdmFyIGFycm93RnVuY3Rpb0FycmF5MiA9IFso
dikgPT4gdiArIDEsICh2KSA9PiB2ICsgMl07CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTJb
MF0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMiAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsodikgPT4gdiArIDEs
ICAodikgPT4gdiArIDJdIik7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTJbMV0oMTEpOwor
dGVzdENhc2UocmVzdWx0LCAxMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhl
IGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsodikgPT4gdiArIDEsICAodikgPT4g
diArIDJdIik7CisKKyB2YXIgYXJyb3dGdW5jdGlvQXJyYXkzID0gWygpID0+IDEwMSwgKCkgPT4g
MTIzMjNdOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvQXJyYXkzWzBdKDExKTsKK3Rlc3RDYXNlKHJl
c3VsdCwgMTAxLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb24gYXMgaXRlbSBpbiBhcnJheTogWygpID0+IGMxLCAgKCkgPT4gYzJdIik7CityZXN1bHQg
PSBhcnJvd0Z1bmN0aW9BcnJheTNbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMjMyMywgIkVy
cm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0g
aW4gYXJyYXk6IFsoKSA9PiBjMSwgICgpID0+IGMyXSIpOworCit2YXIgYXJyb3dGdW5jdGlvbk9i
aiA9IHtmdW5jIDogeSA9PiB5ICsgMTJ9OworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbk9iai5mdW5j
KDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjMgLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcHJvcGVydHk6IHtmdW5jIDogeSA9PiB5ICsgMTIg
fSIpOworCit2YXIgYWZPYmpMZXhCaW5kMiA9IGZ1bmN0aW9uICgpIHsKKyAgdGhpcy5mdW5jID0g
KCkgPT4gdGhpczsKK307CisKK3ZhciBhcnJvd0ZhdEZ1bmN0aW9uMCA9ICgpID0+IHsgcmV0dXJu
IDEwMDA7IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0aW9uMCgxMSk7Cit0ZXN0Q2FzZShyZXN1
bHQsIDEwMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICgpID0+IHsgcmV0dXJuIDEwMDA7IH0iKTsKKwordmFy
IGFycm93RmF0RnVuY3Rpb24xID0gdiA9PiB7IHZhciBpbnR2YWwgPSAxMDA7IHJldHVybiB2ICog
aW50dmFsOyB9OworcmVzdWx0ID0gYXJyb3dGYXRGdW5jdGlvbjEoMTEpOwordGVzdENhc2UocmVz
dWx0LCAxMTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiB4ID0+IHsgdmFyIHY9MTAwMDsgcmV0dXJuIHYqeDsg
fSIpOworCit2YXIgYXJyb3dGYXRGdW5jdGlvbjIgPSAodikgPT4geyB2YXIgaW50ID0gMjAwOyBy
ZXR1cm4gdiAqIGludDsgfTsKK3Jlc3VsdCA9IGFycm93RmF0RnVuY3Rpb24yKDExKTsKK3Rlc3RD
YXNlKHJlc3VsdCwgMjIwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFy
cm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogKHgpID0+IHsgdmFyIHY9MTAwMDsgcmV0
dXJuIHYqeDsgfSIpOworCit2YXIgYXJyb3dGYXRGdW5jdGlvbjMgPSAodiwgeCkgPT4geyB2YXIg
cmVzdWx0ID0geCAqIHY7IHJldHVybiByZXN1bHQ7IH07CityZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0
aW9uMygxMSwgMTIyMjIpOwordGVzdENhc2UocmVzdWx0LCAxMzQ0NDIgLCJFcnJvcjogTm90IGNv
cnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6
ICh2LCB4KSA9PiB7IHZhciByZXN1bHQgPSB4ICogdjsgcmV0dXJuIHJlc3VsdDsgfSIpOworCity
ZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4PT57cmV0dXJuIHggKiAyNTt9LCAxMjEpOwor
dGVzdENhc2UocmVzdWx0LCAyNSoxMjEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6IGYoeCA9PiB7cmV0dXJuIHgg
KiAyNTt9LCAxMjEpIik7CisKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyMigoeCwgeSk9
PntyZXR1cm4geCAqIHk7fSwgMTQsIDEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTQqMTIgLCJFcnJv
cjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkg
YXMgYmxvY2s6IGYoKHgsIHkpPT57cmV0dXJuIHggKiB5O30sIDE0LCAxMjEpKSIpOworCit2YXIg
c2ltcGxlQXJyb3dGdW5jdGlvbiA9ICgpID0+IHt9OworCit0ZXN0Q2FzZSh0eXBlb2Ygc2ltcGxl
QXJyb3dGdW5jdGlvbiwgImZ1bmN0aW9uIiwgIkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yoc2lt
cGxlQXJyb3dGdW5jdGlvbiksIEZ1bmN0aW9uLnByb3RvdHlwZSwgIkVycm9yOiBOb3QgY29ycmVj
dCBnZXRQcm90b3R5cGVPZiB2YWx1ZSBmb3IgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2Uo
c2ltcGxlQXJyb3dGdW5jdGlvbiBpbnN0YW5jZW9mIEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5v
dCBjb3JyZWN0IHJlc3VsdCBmb3IgaW5zdGFuY2VvZiBtZXRob2QgZm9yIGFycm93IGZ1bmN0aW9u
Iik7CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93RnVuY3Rpb24uY29uc3RydWN0b3IgPT0gRnVuY3Rp
b24sIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBjb25zdHJ1Y3RvciBtZXRo
b2Qgb2YgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2UodHlwZW9mIHNpbXBsZUFycm93RnVu
Y3Rpb24ucHJvdG90eXBlID09PSAndW5kZWZpbmVkJywgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVj
dCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiIpOworCit2YXIgZXJyb3JP
bkNyZWF0ZSA9IGZhbHNlOworCit0cnkgeworICB2YXIgZmMgPSBuZXcgc2ltcGxlQXJyb3dGdW5j
dGlvbigpOworfQorY2F0Y2ggKGUpIHsKKyAgZXJyb3JPbkNyZWF0ZSA9IHRydWU7Cit9CisKK3Rl
c3RDYXNlKGVycm9yT25DcmVhdGUsIHRydWUsICJFcnJvcjogTm8gZXJyb3IgZHVyaW5nIHJ1biBu
ZXcgQXJyb3dGdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0MWZk
YjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2OTcyZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1NTBh
MDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBF
TkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFT
U19TWU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5D
VElPTl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9O
RVhUID0gOwogRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1B
VElPTlNfTEVWRUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0g
OwogCiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRF
RF9MQVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVO
REVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9B
VFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVf
Q0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVS
SU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikg
JChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJ
TkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZ
T1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9S
RVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19M
RVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVf
Q1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJM
RV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVO
QUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVO
QUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFC
TEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5B
QkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9H
QU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNP
TkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lO
RElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQp
ICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRU
RVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVf
TUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwp
ICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRf
VVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQo
RU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJM
SUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElP
Tl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9J
TlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJF
Ul9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5U
SEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVO
QUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxF
UEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFC
TEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNI
X0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJT
RUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxF
X0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dF
QkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dF
Ql9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAk
KEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hT
TFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FU
VVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9E
RSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkg
JChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFC
TEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2
X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklN
QVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFC
TEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5B
QkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxF
X0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1Mz
X1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklT
SUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9B
UkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFO
U0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVS
U19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVO
QUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJ
TkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JL
RVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lP
U19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xF
R0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJ
TykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxF
X01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9T
T1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQp
ICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05B
VklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkg
JChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVf
UE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5U
UykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVf
UkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAk
KEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZ
KSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVO
QUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VC
VExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRF
UikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRF
X0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JE
KSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVP
X1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01F
RElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQ
TEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFC
TEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1F
T1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xP
T1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9f
UFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA4YjExMmZhZTQ1Yjk1N2Rk
MjY0MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2OTcyZjExNGMzODNkMzI2MjlmMWYwOTNj
Njg1NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FO
VkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwog
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5B
QkxFX0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9F
UzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
OwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwog
RU5BQkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFC
TEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJ
TlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5B
QkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05T
KSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklO
RykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElP
TlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVf
Q1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NT
X1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVY
VCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklM
SVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9T
VVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVS
X0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xF
VkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykg
JChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMp
ICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAk
KEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFU
SE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJD
RSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChF
TkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdB
VE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lO
VEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAk
KEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFV
RVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQo
RU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxF
X1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVf
Q1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAk
KEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxF
TUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJB
Q0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkp
ICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9X
RUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQp
ICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkg
JChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVT
RU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1F
TlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNf
UEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykg
JChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5B
QkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9C
UkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBU
QVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lP
TlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJM
RV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVO
QUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFC
TEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJM
RV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChF
TkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBS
RUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJ
TUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9D
T05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFC
TEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMp
ICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVU
Q0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVO
QUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01F
VEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUp
ICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdD
T05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJ
TikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJP
WElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9U
QSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVU
T0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9O
X01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9M
TF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkg
JChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdf
T1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5B
QkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19U
UkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQo
RU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVX
X01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVO
QUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9T
SVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5B
QkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJM
RV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChF
TkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0
Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA4YjExMmZhZTQ1
Yjk1N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2OTcyZjExNGMzODNkMzI2Mjlm
MWYwOTNjNjg1NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBFTkFCTEVfQ0FO
VkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwog
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwogRU5B
QkxFX0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKK0VOQUJMRV9F
UzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
OwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwog
RU5BQkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIgPSBFTkFC
TEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBFTkFCTEVfTExJ
TlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5B
QkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05T
KSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklO
RykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElP
TlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVf
Q1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NT
X1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVY
VCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklM
SVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9T
VVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVS
X0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xF
VkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykg
JChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMp
ICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAk
KEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFU
SE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJD
RSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChF
TkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdB
VE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lO
VEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAk
KEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFV
RVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQo
RU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxF
X1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVf
Q1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAk
KEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxF
TUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJB
Q0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkp
ICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9X
RUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQp
ICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkg
JChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVT
RU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1F
TlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNf
UEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykg
JChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5B
QkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9C
UkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBU
QVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lP
TlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJM
RV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVO
QUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFC
TEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJM
RV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChF
TkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBS
RUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJ
TUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9D
T05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFC
TEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMp
ICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVU
Q0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVO
QUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01F
VEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUp
ICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdD
T05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJ
TikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJP
WElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9U
QSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVU
T0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9O
X01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9M
TF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkg
JChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdf
T1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5B
QkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19U
UkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQo
RU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVX
X01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVO
QUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9T
SVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5B
QkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJM
RV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChF
TkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtl
L1dlYktpdEZlYXR1cmVzLmNtYWtlIGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtl
CmluZGV4IGY3NDdkYzgxNDExMzNjODk1YTNkYTM3ODNiNGFlNTVkZTVhMDQyYmMuLjZiZDhiOTZj
NzFlMmY1MmM2ZjhkNTNjNDE1MjIxZjg5ZTYxZDA2OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFr
ZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMu
Y21ha2UKQEAgLTM5LDYgKzM5LDcgQEAgbWFjcm8oV0VCS0lUX09QVElPTl9CRUdJTikKICAgICBX
RUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ0FOVkFTX1BST1hZICJUb2dnbGUgQ2FudmFzUHJv
eHkgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORyAiVG9nZ2xlIE1lc3NhZ2VDaGFubmVsIGFuZCBNZXNzYWdlUG9ydCBzdXBwb3J0
IiBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCAi
VG9nZ2xlIEVTNiBjbGFzcyBzeW50YXggc3VwcG9ydCIgT04pCisgICAgV0VCS0lUX09QVElPTl9E
RUZJTkUoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCAiVG9nZ2xlIEVTNiBhcnJvdyBm
dW5jdGlvbiBzeW50YXggc3VwcG9ydCIgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5B
QkxFX0NPTlRFTlRfRklMVEVSSU5HICJUb2dnbGUgY29udGVudCBmaWx0ZXJpbmcgc3VwcG9ydCIg
T0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DT05URVhUX01FTlVTICJUb2dn
bGUgQ29udGV4dCBNZW51IHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVO
QUJMRV9DU1BfTkVYVCAiVG9nZ2xlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IDEuMSBzdXBwb3J0
IiBPRkYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZSBiL1NvdXJjZS9j
bWFrZWNvbmZpZy5oLmNtYWtlCmluZGV4IDVlOTgzZDVlNjViMDdlZjdkYzUzZWM5ZDNjNmE4YTI5
MzkxNzVjYjIuLjIzZGFmNTk2NjM1MDIyZGY0MjBmMjhhZGE2N2Q5MzQ3N2NhMGUyZDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZWNvbmZp
Zy5oLmNtYWtlCkBAIC0xNCw2ICsxNCw3IEBACiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ0FOVkFT
X1BST1hZCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcKICNjbWFrZWRl
ZmluZTAxIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYCisjY21ha2VkZWZpbmUwMSBFTkFCTEVfRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ09OVEVOVF9GSUxU
RVJJTkcKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9DT05URVhUX01FTlVTCiAjY21ha2VkZWZpbmUw
MSBFTkFCTEVfQ1JFREVOVElBTF9TVE9SQUdFCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHBlcmwvRmVhdHVyZUxpc3QucG0gYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVy
ZUxpc3QucG0KaW5kZXggMDAwMzJjMWQwMjU0ZjRkNmE3YTBmY2E1NTMxYjM0MWQzNWQyOTU3Mi4u
NGRlN2YxM2Q1MzA5N2UyNTk3YWQ4YjMzMzBkMjVjMWFkY2Y2NmUyZSAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCisrKyBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQpAQCAtNDQsNiArNDQsNyBAQCBCRUdJTiB7CiBteSAo
CiAgICAgJHRocmVlRFJlbmRlcmluZ1N1cHBvcnQsCiAgICAgJGFjY2VsZXJhdGVkMkRDYW52YXNT
dXBwb3J0LAorICAgICRhcnJvd2Z1bmN0aW9uU3ludGF4LAogICAgICRhdHRhY2htZW50RWxlbWVu
dFN1cHBvcnQsCiAgICAgJGJhdHRlcnlTdGF0dXNTdXBwb3J0LAogICAgICRjYW52YXNQYXRoU3Vw
cG9ydCwKQEAgLTE1NSw5ICsxNTYsMTMgQEAgbXkgQGZlYXR1cmVzID0gKAogICAgIHsgb3B0aW9u
ID0+ICJhY2NlbGVyYXRlZC0yZC1jYW52YXMiLCBkZXNjID0+ICJUb2dnbGUgQWNjZWxlcmF0ZWQg
MkQgQ2FudmFzIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQUNDRUxFUkFURURf
MkRfQ0FOVkFTIiwgZGVmYXVsdCA9PiBpc0d0aygpLCB2YWx1ZSA9PiBcJGFjY2VsZXJhdGVkMkRD
YW52YXNTdXBwb3J0IH0sCiAKKyAgICB7IG9wdGlvbiA9PiAiYXJyb3dmdW5jdGlvbi1zeW50YXgi
LCBkZXNjID0+ICJUb2dnbGUgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheCBzdXBwb3J0IiwKKyAg
ICAgIGRlZmluZSA9PiAiRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCIsIGRlZmF1bHQg
PT4gMSwgdmFsdWUgPT4gXCRhcnJvd2Z1bmN0aW9uU3ludGF4IH0sCisKICAgICB7IG9wdGlvbiA9
PiAiYXR0YWNobWVudC1lbGVtZW50IiwgZGVzYyA9PiAiVG9nZ2xlIEF0dGFjaG1lbnQgRWxlbWVu
dCBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCIs
IGRlZmF1bHQgPT4gMCwgdmFsdWUgPT4gXCRhdHRhY2htZW50RWxlbWVudFN1cHBvcnQgfSwKIAor
CiAgICAgeyBvcHRpb24gPT4gImJhdHRlcnktc3RhdHVzIiwgZGVzYyA9PiAiVG9nZ2xlIEJhdHRl
cnkgU3RhdHVzIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQkFUVEVSWV9TVEFU
VVMiLCBkZWZhdWx0ID0+IGlzRWZsKCksIHZhbHVlID0+IFwkYmF0dGVyeVN0YXR1c1N1cHBvcnQg
fSwKIApkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDI5MTRmNjFkYmQx
NjAzNzZkZTUyODFlMzE3MjhmZjdiMmE5NWY4ZGIuLjVlZDMyODhjZWIzZDE5NzIwZTg0MDM3Zjdh
NTgwMjM1ZDY0ZWE3ZTQgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNSBAQAorMjAxNS0wNC0xNyAgIFNrYWNoa292IEFsZXhhbmRyICA8Z3NrYWNoa292
QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9u
IHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTQwODU1CisKKyAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICBBZGRlZCBmZWF0dXJlIGZsYWcgdG8gc3dpdGNoIG9uL29mZiBlczYgYXJyb3cgZnVuY3Rpb24g
RU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWAorCisgICAgICAgICAqIFNvdXJjZS9jbWFr
ZS9XZWJLaXRGZWF0dXJlcy5jbWFrZToKKyAgICAgICAgICogU291cmNlL2NtYWtlY29uZmlnLmgu
Y21ha2U6CisKIDIwMTUtMDQtMTYgIEJhc2lsZSBDbGVtZW50ICA8YmFzaWxlX2NsZW1lbnRAYXBw
bGUuY29tPgogCiAgICAgICAgIEV4dHJhY3QgdGhlIGFsbG9jYXRpb24gcHJvZmlsZSBmcm9tIEpT
RnVuY3Rpb24gaW50byBhIHJhcmUgb2JqZWN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251129</attachid>
            <date>2015-04-19 14:25:59 -0700</date>
            <delta_ts>2015-05-01 16:48:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150420002456.patch</filename>
            <type>text/plain</type>
            <size>148420</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyOTY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
OTJjZWEyY2M3YzFmYjQzOGQzYzQ5YWViZWQxNTI2MDk2OTEzMWI1Li40MDQxZDFiMDIxMzc1NDIy
MjFmM2JlZGQzMTRmMzQwZmFhNDdhN2I2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMjIgQEAKKzIwMTUtMDQtMTggIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgc3VwcG9ydCBvZiBFUzYgYXJyb3cgZnVuY3Rpb24uIENoYW5nZXMgd2VyZSBtYWRlIGFj
Y29yZGluZyBmb2xsb3dpbmcgc3BlYyBodHRwOi8vd2lraS5lY21hc2NyaXB0Lm9yZy9kb2t1LnBo
cD9pZD1oYXJtb255OmFycm93X2Z1bmN0aW9uX3N5bnRheAorICAgICAgICBJbiBwYXRjaCB3ZXJl
IGltcGxlbWVudGVkIHRoZSBzaW1wbGVzdCBjYXNlczoKKyAgICAgICAgICAxIG5vIHBhcmFtZXRl
cnMgICAgICAgICAgICAgICAgKCkgPT4gMTAgKyAyMAorICAgICAgICAgIDIgc2luZ2xlIHBhcmFt
ZXRlciAgICAgICAgICAgICAgeCA9PiB4ICsgMjAKKyAgICAgICAgICAzIG11bHRpcGxlIHBhcmFt
ZXRlcnMgICAgICAoeCwgeSkgPT4geCArIHkKKyAgICAgICAgICA0IGFycm93IGZ1bmN0aW9uIHdp
dGggYmxvY2sgICAgIHggPT4geyByZXR1cm4geCoxMDsgfQorICAgICAgICAgIDUgbGV4aWNhbCB0
aGlzIC0gdmFyaWFibGUgdGhpcyBpcyBwb2ludCB0byB0aGUgdGhpcyBvZiB0aGUgZnVuY3Rpb24g
d2hlcmUgYXJyb3cgZnVuY3Rpb24gaXMgZGVjbGFyZWQKKyAgICAgICAgICA2IE5vIGNvbnN0cnVj
dG9yIC0gdGhlIHVzaW5nIG9mIHRoZSBjb21tYW5kIG5ldyBmb3IgYXJyb3cgZnVuY3Rpb24gbGVh
ZHMgdG8gcnVudGltZSBlcnJvci4gCisKKyAgICAgICAgIE5vdCB5ZXQgaW1wbGVtZW50ZWQ6Cisg
ICAgICAgICAgMSBsZXhpY2FsIGJpbmQgb2YgdGhlIGFyZ3VtZW50cyAmIHN1cGVyCisgICAgICAg
ICAgMiBJbnNpZGUgYW4gYXJyb3cgZnVuY3Rpb24sIG5ldy50YXJnZXQgcmVmZXJzIHRvIHRoZSBu
ZXcudGFyZ2V0IG9mIHRoZSBzdXJyb3VuZGluZyBub24tYXJyb3cgZnVuY3Rpb24uCisKKyAgICAg
ICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBK
YXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2o6CisgICAgICAgICog
Ynl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb246CisgICAgICAgICogYnl0ZWNvZGUvQnl0ZWNvZGVV
c2VEZWYuaDoKKyAgICAgICAgKEpTQzo6RnVuY3Rvcjo6Y29tcHV0ZVVzZXNGb3JCeXRlY29kZU9m
ZnNldCk6CisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKKyAgICAgICAgKEpTQzo6
Q29kZUJsb2NrOjpkdW1wQnl0ZWNvZGUpOgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29k
ZUdlbmVyYXRvci5oOgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5j
cHA6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3QXJyb3dGdW5jdGlv
bkV4cHJlc3Npb24pOiBhZGRlZAorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1p
dFRoaXNOb2RlQnl0ZWNvZGUpOiBhZGRlZAorICAgICAgICAqIGJ5dGVjb21waWxlci9Ob2Rlc0Nv
ZGVnZW4uY3BwOgorICAgICAgICAoSlNDOjplbWl0Qnl0ZWNvZGU6OmVtaXRCeXRlY29kZSk6IGFk
ZGVkCisgICAgICAgIChKU0M6OkFycm93RnVuY0V4cHJOb2RlOjplbWl0Qnl0ZWNvZGUpOiBhZGRl
ZAorICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6CisgICAgICAgIChKU0M6OkJ5
dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKToKKyAgICAgICAgKiBkZmcvREZHQ2FwYWJpbGl0aWVz
LmNwcDoKKyAgICAgICAgKEpTQzo6Q2FwYWJpbGl0eUxldmVsOjpjYXBhYmlsaXR5TGV2ZWwpOgor
ICAgICAgICAqIGppdC9KSVQuaDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX25ld19hcnJv
d19mdW5jX2V4cCk6IGFkZGVkCisgICAgICAgICogaml0L0pJVElubGluZXMuaDoKKyAgICAgICAg
KEpTQzo6SklUOjpjYWxsT3BlcmF0aW9uKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklULmNwcDoK
KyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKToKKyAgICAgICAgKiBq
aXQvSklUT3Bjb2Rlcy5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9uZXdfYXJyb3df
ZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmNwcDoKKyAgICAg
ICAgKEpTQzo6SklUX09QRVJBVElPTjo6b3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbik6IGFkZGVk
CisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMuaDoKKyAgICAgICAgKEpTQzo6SklUX09QRVJB
VElPTjo6b3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbik6IGFkZGVkCisgICAgICAgICogbGxpbnQv
TExJbnRTbG93UGF0aHMuY3BwOgorICAgICAgICAoTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19w
YXRoX25ld19hcnJvd19mdW5jX2V4cCk6IGFkZGVkCisgICAgICAgICogbGxpbnQvTExJbnRTbG93
UGF0aHMuaDoKKyAgICAgICAgKExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfYXJy
b3dfZnVuY19leHApKTogYWRkZWQKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbToKKyAgICAgICAgKiBwYXJzZXIvQVNUQnVpbGRlci5oOgorICAgICAgICAoSlNDOjpBU1RC
dWlsZGVyOjpjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcik6CisgICAgICAgICogcGFyc2VyL0xleGVy
LmNwcDoKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24pOgorICAgICAg
ICAoSlNDOjpMZXhlcjxUPjo6bGV4KToKKyAgICAgICAgKiBwYXJzZXIvTGV4ZXIuaDoKKyAgICAg
ICAgKEpTQzo6TGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24pOgorICAgICAgICAqIHBhcnNlci9O
b2RlQ29uc3RydWN0b3JzLmg6CisgICAgICAgIChKU0M6OkFycm93RnVuY0V4cHJOb2RlOjpBcnJv
d0Z1bmNFeHByTm9kZSk6IGFkZGVkCisgICAgICAgICogcGFyc2VyL05vZGVzLmg6CisgICAgICAg
IChKU0M6Ok5vZGU6OmlzQXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZAorICAgICAgICAoSlNDOjpB
cnJvd0Z1bmNFeHByTm9kZSk6IGFkZGVkIGNsYXNzCisgICAgICAgICogcGFyc2VyL1BhcnNlci5j
cHA6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsZW1lbnRz
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlc3Np
b24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU291cmNlRWxlbWVudCk6CisgICAgICAg
IChKU0M6OlBhcnNlcjo6cGFyc2VTdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBh
cnNlQXNzaWdubWVudEV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlUHJp
bWFyeUV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dFeHByZXNz
aW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpzZXRFbmRPZlN0YXRlbWVudCk6CisgICAgICAg
IChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcik6CisgICAgICAgIChKU0M6
OlBhcnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uSW5mbyk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6
cGFyc2VBcnJvd0Z1bmN0aW9uQm9keSk6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorICAg
ICAgICAoSlNDOjpQYXJzZXI6OkZ1bmN0aW9uUGFyc2VUeXBlKToKKyAgICAgICAgKEpTQzo6UGFy
c2VyOjpwYXJzZVNvdXJjZUVsZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU3Rh
dGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RXhwcmVzc2lvbik6Cisg
ICAgICAgIChKU0M6OlBhcnNlcjo6c2V0RW5kT2ZTdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQ
YXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIpOgorICAgICAgICAqIHBhcnNlci9QYXJz
ZXJGdW5jdGlvbkluZm8uaDoKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyVG9rZW5zLmg6CisgICAg
ICAgIChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6YXJyb3dGdW5jdGlvbk9mZnNldCk6IGFkZGVk
CisgICAgICAgIChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6aXNBcnJvd0Z1bmN0aW9uKTogYWRk
ZWQKKyAgICAgICAgKEpTQzo6UGFyc2VyRnVuY3Rpb25JbmZvOjphcnJvd0Z1bmN0aW9uQm9keVR5
cGUpOiBhZGRlZAorICAgICAgICAqIHBhcnNlci9Tb3VyY2VDb2RlLmg6CisgICAgICAgIChKU0M6
OlNvdXJjZUNvZGU6OnN1YkFycm93RXhwcmVzc2lvbik6CisgICAgICAgICogcGFyc2VyL1N5bnRh
eENoZWNrZXIuaDoKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6Y3JlYXRlQXJyb3dGdW5j
dGlvbkV4cHIpOgorICAgICAgICAqIHBhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbToKKyAg
ICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMpOgor
ICAgICAgICAoSlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbSk6CisgICAgICAgIChKU0M6OlNv
dXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjplbmRBcnJvd0Z1bmN0aW9uVG9rZW4pOgorICAgICAgICAq
IHJ1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmg6IGFkZGVkIGNsYXNzIGZvciBoYW5kbGUgYXJyb3cg
ZnVuY3Rpb24gY3JlYXRpb24gYW5kIGV4ZWN1dGlvbgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJv
d0Z1bmN0aW9uLmNwcDoKKyAgICAgICAgKiBydW50aW1lL0pTRnVuY3Rpb24uaDoKKyAgICAgICAg
KEpTQzo6SlNGdW5jdGlvbjo6SlNGdW5jdGlvbik6IGFkZGVkIG9uZSBtb3JlIGNvbnN0cnVjdG9y
CisgICAgICAgICogcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oOgorICAgICAgICAoSlNDOjpK
U0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKTogYWRkZWQgY29uc3RydWN0b3IgaW1wbGVtZW50YXRpb24K
KyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNH
bG9iYWxPYmplY3Q6OmluaXQpOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6bV9hcnJv
d0Z1bmN0aW9uU3RydWN0dXJlKTogYWRkZWQKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6
OmFycm93RnVuY3Rpb25TdHJ1Y3R1cmUpOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9qcy9hcnJv
d2Z1bmN0aW9uLmpzOgorCisyMDE1LTA0LTE4ICBBbGV4YW5kciBTa2FjaGtvdiAgPGdza2FjaGtv
dkBnbWFpbC5jb20+CisgICAgICAgIFNtYWxsIHJlZmFjdG9yaW5nIG9mIHRoZSBwYXJjZXIuY3Bw
IGZpbGUuIEl0IGlzIG5lY2Vzc2FyeSB0byBpbmNyZWFzZSByZWFkYWJpbGl0eSBvZiB0aGUgcGF0
Y2gKKyAgICAgICAgd2l0aCBFUzYgQXJyb3cgZnVuY3Rpb24gaW1wbGVtZW50YXRpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQorCisgICAg
ICAgICogcGFyc2VyL1BhcnNlci5oOgorICAgICAgICAqIHBhcnNlci9QYXJzZXIuY3BwOgorCiAy
MDE1LTA0LTE3ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAg
ICAgIFtFUzZdIEZpeCBuYW1lIGVudW1lcmF0aW9uIG9mIHN0YXRpYyBmdW5jdGlvbnMgZm9yIFN5
bWJvbCBjb25zdHJ1Y3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGI3OGQ0NjI2NzJhMDY1MGYwZTg3Yzk5Yjk3
MGQ0NzU3OWE2MjVjNWUuLmM5N2M0YzRhZjRmMDFkNDFjNjU4NzMxODI0NzQzNjA1ZDE2YWZjMWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNS0wNC0xNyAgU2thY2hrb3YgQWxleGFu
ZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYg
YXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGRlZCBmZWF0dXJlIGZsYWcgRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rpb24KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1LTA0LTE3ICBCZXRoIERha2luICA8YmRha2lu
QGFwcGxlLmNvbT4KIAogICAgICAgICBGb3JjZSBtb3VzZSBldmVudHMgc2hvdWxkIGdvIHRocm91
Z2ggbm9ybWFsIG1vdXNlIGV2ZW50IGhhbmRsaW5nIGNvZGUgcGF0aHMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpp
bmRleCBhMTMwNTk2OWM5ODFmYTZiYzYyZTI5NjA2ZDg2YjQ1YWU2MGY2ODlhLi4zZjM2MmMxNjM5
MDc3NTg0YzMwMGU2ZTE2OTk1MWU1NzdiYmFhNDQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMTUtMDQtMTcgIFNrYWNoa292IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWls
LmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRh
eAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
ZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggZm9yIGFycm93IGZ1
bmN0aW9uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKwogMjAxNS0wNC0xNyAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAg
ICAgICAgUkVHUkVTU0lPTjogU1ZHIGRvZXMgbm90IHN1cHBvcnQgbGluayBkcmFnZ2luZwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGZiY2UwYjZiOTk2YzIxODkyN2VlMzQ0
YTNmMzIxYmZiODQ3MGM3OTIuLjI3ZmNlNjg5MDIxM2EyMWUzNDk4YzZiZmE0NDY0MjJkNGI4Njky
MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQ2Nyw2ICs0NjcsNyBA
QCBzZXQoSmF2YVNjcmlwdENvcmVfUlVOVElNRV9TT1VSQ0VTCiAgICAgcnVudGltZS9KU0FycmF5
QnVmZmVyVmlldy5jcHAKICAgICBydW50aW1lL0pTQXJyYXlJdGVyYXRvci5jcHAKICAgICBydW50
aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAKKyAgICBydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAK
ICAgICBydW50aW1lL0pTR2xvYmFsT2JqZWN0RGVidWdnYWJsZS5jcHAKICAgICBydW50aW1lL0pT
Q0pTVmFsdWUuY3BwCiAgICAgcnVudGltZS9KU0NhbGxlZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwppbmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4
YTc2OTcyZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCkBAIC00NSw2ICs0NSw3IEBAIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5W
QVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9
IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCA9IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxU
RVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CiBFTkFCTEVfQ1NQX05FWFQgPSA7CiBF
TkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMiA9IEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZF
TF8yOwpAQCAtMjE0LDQgKzIxNSw0IEBAIEVOQUJMRV9MTElOVF9DX0xPT1AgPSA7CiAKIEVOQUJM
RV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9B
UklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZM
T1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRf
RUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFU
SCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5B
QkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9D
U1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFC
TEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5B
QkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04p
ICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChF
TkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRf
TElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9T
Q0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFM
SVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJ
TFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VW
RU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNS
WVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9M
T0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQo
RU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxF
X0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0Up
ICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQo
RU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZF
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
X0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVf
SU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJM
RV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJF
RklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAk
KEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NP
TlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVf
TU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChF
TkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJP
TUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhf
TElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAk
KEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikg
JChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcp
ICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChF
TkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19G
T05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FE
SU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwp
ICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9W
QUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5B
QkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMp
ICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dF
QlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFC
TEVfRlRMX0pJVCkgJChFTkFCTEVfTExJTlRfQ19MT09QKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZ
T1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRV
UkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQUNDRUxFUkFURURf
MkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5B
QkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9D
QUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNf
UFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lO
VEFYKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVW
RUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09N
UE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dS
SURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVD
VE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChF
TkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAk
KEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JU
KSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1T
KSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikg
JChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIp
ICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVO
QUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xP
Q0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFC
TEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5B
QkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
TE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElN
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19W
RU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9M
RUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJM
RV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAk
KEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChF
TkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVf
TUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NP
TlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xP
Q0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJM
RV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FO
SU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JF
TU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxF
X1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVD
SF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRP
KSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJM
RV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkg
JChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxF
X1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQo
RU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5B
QkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5B
QkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElN
SU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5B
QkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFC
TEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJ
T05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagppbmRleCBmZjdh
OGUxNjcyN2FmMjRlYmNhYzM2ODcwYTUwZGE1MTRmYzkwZjZlLi4zZGZkZGNiN2UxZmM4YjE1N2Zh
N2E1NmY0ZGZhZjM4ZTU2ZWFiMDAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZj
eHByb2oKQEAgLTczMiw2ICs3MzIsNyBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVu
dGltZVxKU0FycmF5QnVmZmVyUHJvdG90eXBlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJheUJ1ZmZlclZpZXcuY3BwIiAvPgogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5ccnVudGltZVxKU0JvdW5kRnVuY3Rpb24uY3BwIiAvPgorICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0Fycm93RnVuY3Rpb24uY3BwIiAvPgogICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NKU1ZhbHVlLmNwcCIgLz4KICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDYWxsZWUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5ccnVudGltZVxKU0NhdGNoU2NvcGUuY3BwIiAvPgpAQCAtMTUyNyw2ICsxNTI4
LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJheUJ1ZmZlclZp
ZXdJbmxpbmVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJy
YXlJdGVyYXRvci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0Jv
dW5kRnVuY3Rpb24uaCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNB
cnJvd0Z1bmN0aW9uLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpT
Q0lubGluZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNW
YWx1ZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NKU1ZhbHVl
SW5saW5lcy5oIiAvPgpAQCAtMTgwNCw0ICsxODA2LDQgQEAKICAgPEltcG9ydEdyb3VwIExhYmVs
PSJFeHRlbnNpb25UYXJnZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0
aClcQnVpbGRDdXN0b21pemF0aW9uc1xtYXNtLnRhcmdldHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+
Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9Qcm9qZWN0PgpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBiYTliZTBmYjYxYmM2OGRjOGZkMjViMGYzMTg1
YzczMDNiODhiMmQ5Li5jYmZkMGZhMmJjMDAwOGY1NGU5OTAzNDI0MjQxNDQ5MGJjOWZjNWRjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTA5Niw2ICsxMDk2LDggQEAKIAkJODZG
M0VFQkYxNjhDREU5MzAwNzdCOTJBIC8qIE9iamNSdW50aW1lRXh0cmFzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkYzRUVCNjE2ODU1QTVCMDA3N0I5
MkEgLyogT2JqY1J1bnRpbWVFeHRyYXMuaCAqLzsgfTsKIAkJODZGQTlFOTExNDJCQkIyRTAwMTc3
M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4NkZBOUU4RjE0MkJCQjJEMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0
aW9uLmNwcCAqLzsgfTsKIAkJODZGQTlFOTIxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5j
dGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZG
QTlFOTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICovOyB9OworCQk4QjBG
NDI0QzFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhCMEY0MjRCMUFCRDZERTIwMDM5MTdF
QSAvKiBKU0Fycm93RnVuY3Rpb24uY3BwICovOyB9OworCQk4QjBGNDI0QzFBQkQ2REUyMDAzOTE3
RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9u
LmggKi87IH07CiAJCTkwMjEzRTNEMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNz
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkwMjEz
RTNCMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmNwcCAqLzsgfTsKIAkJOTAy
MTNFM0UxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJG
MyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJOTMwNTJDMzQwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5h
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMDUy
QzMyMEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5jcHAgKi87IH07CkBAIC0yODMxLDYg
KzI4MzMsOCBAQAogCQk4NkY3NUVGRDE1MUMwNjJGMDA3QzlCQTMgLyogUmVnRXhwTWF0Y2hlc0Fy
cmF5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZ0V4cE1hdGNo
ZXNBcnJheS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2RkE5RThGMTQyQkJC
MkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0JvdW5kRnVuY3Rpb24uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOEIwRjQyNEExQUJENkQyRjAwMzkxN0VBIC8qIEpTQXJy
b3dGdW5jdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Fycm93RnVuY3Rpb24uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dG
dW5jdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Fycm93
RnVuY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MDIxM0UzQjEyM0E0
MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBNZW1vcnlTdGF0aXN0aWNzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJOTAyMTNFM0MxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3Mu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVtb3J5U3RhdGlzdGljcy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzA1MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyog
UGFyc2VyQXJlbmEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFy
c2VyQXJlbmEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDQ0Miw2ICs0NDQ2
LDggQEAKIAkJCQlBN0JEQUVDNTE3RjRFQTE0MDBGNjE0MEMgLyogSlNBcnJheUl0ZXJhdG9yLmgg
Ki8sCiAJCQkJODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5jcHAg
Ki8sCiAJCQkJODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICov
LAorCQkJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uaCAqLywK
KwkJCQk4QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCAqLywK
IAkJCQk2NTdDRjQ1NjE5QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuY3BwICovLAogCQkJCTY1
N0NGNDU3MTlCRjY2NjIwMDRBQ0JGMiAvKiBKU0NhbGxlZS5oICovLAogCQkJCTBGRDk0OTdFMUE5
N0RCOTYwMEUyODk2NiAvKiBKU0NhdGNoU2NvcGUuY3BwICovLApAQCAtNzE3NSw2ICs3MTgxLDcg
QEAKIAkJCQkwRkQ4QTMxQjE3RDUxRjIyMDBDQTJDNDAgLyogRlRMT1NSRW50cnkuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMEYyMzVCREMxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4aXQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyMzVCREYxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4
aXRDb21waWxlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4QjBGNDI0QzFBQkQ2REUyMDAzOTE3
RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRUEwQTJBMTcw
OTYyOTYwMEJCNzIyQyAvKiBGVExPdXRwdXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY0ODUz
MjkxODdERkRFQzAwODNCNjg3IC8qIEZUTFJlY292ZXJ5T3Bjb2RlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTBGNkIxQ0MzMTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExSZWdpc3RlckF0T2Zmc2V0LmNw
cCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0J5dGVjb2RlTGlzdC5qc29uIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5
dGVjb2RlTGlzdC5qc29uCmluZGV4IDI1MTQxMjYzZTM4ZDBlYjJkMTg0NDFmNGU2ZmZjZTM2ZWU4
ZjdjZjIuLmEzNzY0N2YyNmZiZTNmMjViYTYyNWI5OWYzZGExMjAxZTQ5ZmYyMDEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxpc3QuanNvbgorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24KQEAgLTk0
LDYgKzk0LDcgQEAKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX3N3aXRjaF9zdHJpbmciLCAi
bGVuZ3RoIiA6IDQgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX25ld19mdW5jIiwgImxl
bmd0aCIgOiA0IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfZnVuY19leHAiLCAi
bGVuZ3RoIiA6IDQgfSwKKyAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX25ld19hcnJvd19mdW5j
X2V4cCIsICJsZW5ndGgiIDogNSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbCIs
ICJsZW5ndGgiIDogOSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbF9ldmFsIiwg
Imxlbmd0aCIgOiA5IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9jYWxsX3ZhcmFyZ3Mi
LCAibGVuZ3RoIiA6IDkgfSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9CeXRlY29kZVVzZURlZi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5
dGVjb2RlVXNlRGVmLmgKaW5kZXggZjIwNzEzOTIzMjkwNjQ1M2I3YTU0ZjU2MWI5YjY0MjNlMmU4
Y2YyNy4uOWI2N2EyMjIxZDNiYTBhNjA2ZjQ3MDlhNTk5YzMxM2UxYTNhYmFhNCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgKQEAgLTExNSw2
ICsxMTUsOSBAQCB2b2lkIGNvbXB1dGVVc2VzRm9yQnl0ZWNvZGVPZmZzZXQoCiAgICAgY2FzZSBv
cF9nZXRfcHJvcGVydHlfZW51bWVyYXRvcjoKICAgICBjYXNlIG9wX2dldF9lbnVtZXJhYmxlX2xl
bmd0aDoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorI2VuZGlmCiAg
ICAgY2FzZSBvcF90b19pbmRleF9zdHJpbmc6CiAgICAgY2FzZSBvcF9pbml0X2dsb2JhbF9jb25z
dF9ub3A6CiAgICAgY2FzZSBvcF9pbml0X2dsb2JhbF9jb25zdDoKQEAgLTMwNiw2ICszMDksOSBA
QCB2b2lkIGNvbXB1dGVEZWZzRm9yQnl0ZWNvZGVPZmZzZXQoQ29kZUJsb2NrKiBjb2RlQmxvY2ss
IHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0LAogICAgIGNhc2Ugb3BfbmV3X3JlZ2V4cDoKICAgICBj
YXNlIG9wX25ld19mdW5jOgogICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOgorI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6
CisjZW5kaWYKICAgICBjYXNlIG9wX2NhbGxfdmFyYXJnczoKICAgICBjYXNlIG9wX2NvbnN0cnVj
dF92YXJhcmdzOgogICAgIGNhc2Ugb3BfZ2V0X2Zyb21fc2NvcGU6CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCmluZGV4IDFkODIzODcyODc4YWMzNDM3Y2M1
M2EwODdmMWMwZjhhMjBiYjYwZmIuLmUzZjc1ZjQ0ODE5MDBiYmI5YTg3ZmE5MjkwMTQ1NWU3Yjgw
Yjg1MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxv
Y2suY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3Bw
CkBAIC0xMjk3LDYgKzEyOTcsMTcgQEAgdm9pZCBDb2RlQmxvY2s6OmR1bXBCeXRlY29kZSgKICAg
ICAgICAgICAgIG91dC5wcmludGYoIiVzLCAlcywgZiVkIiwgcmVnaXN0ZXJOYW1lKHIwKS5kYXRh
KCksIHJlZ2lzdGVyTmFtZShyMSkuZGF0YSgpLCBmMCk7CiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGNh
c2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOiB7CisgICAgICAgICAgICBpbnQgcjAgPSAoKytpdCkt
PnUub3BlcmFuZDsKKyAgICAgICAgICAgIGludCByMSA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAg
ICAgICAgICAgaW50IGYwID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBpbnQgcjIg
PSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAgICAgICAgIHByaW50TG9jYXRpb25BbmRPcChvdXQs
IGV4ZWMsIGxvY2F0aW9uLCBpdCwgIm9wX25ld19hcnJvd19mdW5jX2V4cCIpOworICAgICAgICAg
ICAgb3V0LnByaW50ZigiJXMsICVzLCBmJWQsICVzIiwgcmVnaXN0ZXJOYW1lKHIwKS5kYXRhKCks
IHJlZ2lzdGVyTmFtZShyMSkuZGF0YSgpLCBmMCwgcmVnaXN0ZXJOYW1lKHIyKS5kYXRhKCkpOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBjYXNlIG9wX25l
d19mdW5jX2V4cDogewogICAgICAgICAgICAgaW50IHIwID0gKCsraXQpLT51Lm9wZXJhbmQ7CiAg
ICAgICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUub3BlcmFuZDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKaW5k
ZXggNmUxOThjYTI3ZTA5ZGEwMmRjOWNmNTMwYzI5Mjc3YzU2Y2FjMjliNC4uYWY2NWNiNTNkOWM2
ZTY5Yjk0OTQzYjkzYjM0M2E5ZDhiMjk3Mjg1MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKQEAgLTE3NTEs
NiArMTc1MSwyMiBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Z1bmN0
aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVuY0V4cAogICAgIGluc3RydWN0aW9ucygp
LmFwcGVuZChpbmRleCk7CiAgICAgcmV0dXJuIHIwOwogfQorICAgIAorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCitSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1p
dE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIHIwLCBGdW5jRXhwck5vZGUq
IG4pCit7CisgICAgZW1pdFREWkNoZWNrKHRoaXNSZWdpc3RlcigpKTsKKyAgICBGdW5jdGlvbkJv
ZHlOb2RlKiBmdW5jdGlvbiA9IG4tPmJvZHkoKTsKKyAgICB1bnNpZ25lZCBpbmRleCA9IG1fY29k
ZUJsb2NrLT5hZGRGdW5jdGlvbkV4cHIobWFrZUZ1bmN0aW9uKGZ1bmN0aW9uKSk7CisgICAgCisg
ICAgZW1pdE9wY29kZShvcF9uZXdfYXJyb3dfZnVuY19leHApOworICAgIGluc3RydWN0aW9ucygp
LmFwcGVuZChyMC0+aW5kZXgoKSk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHNjb3BlUmVn
aXN0ZXIoKS0+aW5kZXgoKSk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKGluZGV4KTsKKyAg
ICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQodGhpc1JlZ2lzdGVyKCktPmluZGV4KCkpOworICAgIHJl
dHVybiByMDsKK30KKyNlbmRpZgogCiBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1p
dE5ld0RlZmF1bHRDb25zdHJ1Y3RvcihSZWdpc3RlcklEKiBkc3QsIENvbnN0cnVjdG9yS2luZCBj
b25zdHJ1Y3RvcktpbmQsIGNvbnN0IElkZW50aWZpZXImIG5hbWUpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5k
ZXggMmU1OTAzOWQzYTQ4NGEzNDcyODE0NDBlZWY5YzFiODE5ZjcyNjVkYi4uMTc5MzVkNDhlZjNi
ZjJiMmQxNDFkZmRjMWFjOTM3Njc5MzE0NDJhNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaApAQCAtNDU2LDYgKzQ1
NiwxMCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0Z1bmN0
aW9uSW50ZXJuYWwoUmVnaXN0ZXJJRCogZHN0LCB1bnNpZ25lZCBpbmRleCk7CiAgICAgICAgIFJl
Z2lzdGVySUQqIGVtaXROZXdGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogZHN0LCBGdW5j
RXhwck5vZGUqIGZ1bmMpOwogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3RGVmYXVsdENvbnN0
cnVjdG9yKFJlZ2lzdGVySUQqIGRzdCwgQ29uc3RydWN0b3JLaW5kLCBjb25zdCBJZGVudGlmaWVy
JiBuYW1lKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBS
ZWdpc3RlcklEKiBlbWl0TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCosIEZ1
bmNFeHByTm9kZSopOworICAgICAgICBSZWdpc3RlcklEKiBlbWl0VGhpc05vZGVCeXRlY29kZShS
ZWdpc3RlcklEKiwgSlNUZXh0UG9zaXRpb24pOworI2VuZGlmCiAgICAgICAgIFJlZ2lzdGVySUQq
IGVtaXROZXdSZWdFeHAoUmVnaXN0ZXJJRCogZHN0LCBSZWdFeHAqKTsKIAogICAgICAgICBSZWdp
c3RlcklEKiBlbWl0TW92ZUVtcHR5VmFsdWUoUmVnaXN0ZXJJRCogZHN0KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAppbmRleCAx
MTQzMmFmMjNiYmI2MWU4MTU0MjUyM2I3YzExYWE3YmRjYjVmM2JmLi42MWFlZjE0MDhjNDM2ZDc0
YWIwOGY3YTJhMDY4Y2MyYjFmMDhjYzUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCkBAIC0yODMxLDYgKzI4MzEsMTQgQEAg
UmVnaXN0ZXJJRCogRnVuY0V4cHJOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3Im
IGdlbmVyYXRvciwgUmVnaXN0ZXJJRCoKICAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXROZXdGdW5j
dGlvbkV4cHJlc3Npb24oZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0KSwgdGhpcyk7CiB9
CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAgICAKKy8vIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBBcnJvd0Z1bmNFeHByTm9kZSAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KK1JlZ2lzdGVySUQqIEFycm93RnVuY0V4cHJOb2RlOjplbWl0Qnl0
ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0KQorewor
ICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKGdlbmVy
YXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHRoaXMpOworfQorI2VuZGlmCisgICAgCiAjaWYg
RU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0gQ2xhc3NEZWNsTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAppbmRleCBk
OTczODg1YzFjYTMyYTNjNmUyMDYwZjkwMWQ3MmEyODFiMTg3Yjc4Li4zZjNlYzEwYWVlYzZlNjAx
OTkzODY0ZTgyZTAzOWFhNjkxYjJhMWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcApAQCAtMzc0NCw2ICszNzQ0LDE1IEBAIGJvb2wgQnl0
ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQgbGltaXQpCiAgICAgICAgICAgICBORVhU
X09QQ09ERShvcF9uZXdfZnVuY19leHApOwogICAgICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDog
eworICAgICAgICAgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBleHByID0gbV9pbmxpbmVTdGFja1Rv
cC0+bV9wcm9maWxlZEJsb2NrLT5mdW5jdGlvbkV4cHIoY3VycmVudEluc3RydWN0aW9uWzNdLnUu
b3BlcmFuZCk7CisgICAgICAgICAgICBGcm96ZW5WYWx1ZSogZnJvemVuID0gbV9ncmFwaC5mcmVl
emVTdHJvbmcoZXhwcik7CisgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJ
bnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLAorICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgoTmV3
RnVuY3Rpb24sIE9wSW5mbyhmcm96ZW4pLCBnZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0
cnVjdGlvblsyXS51Lm9wZXJhbmQpKSkpOworICAgICAgICAgICAgTkVYVF9PUENPREUob3BfbmV3
X2Fycm93X2Z1bmNfZXhwKTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIGNhc2Ugb3BfdHlw
ZW9mOiB7CiAgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlv
blsxXS51Lm9wZXJhbmQpLAogICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgoVHlwZU9mLCBnZXQo
VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpKSkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCmluZGV4IDMyMjIw
ZGQyYmE1YWY1ZDZhYjgxNzUzZWRlNzM4MmU5NTdkNmZhYTguLjRjMzY1ZDlkMDc1Y2M2ZTdjNWUx
NjZiMTllNjMyNDRjN2M3YzljODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0NhcGFiaWxpdGllcy5jcHAKQEAgLTIwNyw2ICsyMDcsOSBAQCBDYXBhYmlsaXR5TGV2ZWwgY2Fw
YWJpbGl0eUxldmVsKE9wY29kZUlEIG9wY29kZUlELCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgSW5z
dHJ1YwogICAgIGNhc2Ugb3BfbmV3X2Z1bmM6CiAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CiAg
ICAgY2FzZSBvcF9jcmVhdGVfbGV4aWNhbF9lbnZpcm9ubWVudDoKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorI2Vu
ZGlmCiAgICAgICAgIHJldHVybiBDYW5Db21waWxlQW5kSW5saW5lOwogCiAgICAgY2FzZSBvcF9w
dXRfdG9fc2NvcGU6IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnBy
ZXRlci9JbnRlcnByZXRlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIv
SW50ZXJwcmV0ZXIuY3BwCmluZGV4IDE3ZGQzYjRmNDVmNTZmZjIwMDIzZDczYjc1ZGM3ZDcwYjYz
NDk2OGYuLjIwMDA1YzA3MTUzM2IxNjgzYWZkYTJkNjJkYzY1YzAxNjdkOTEwOTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcApAQCAt
NDQsNiArNDQsNyBAQAogI2luY2x1ZGUgIkV4Y2VwdGlvbkhlbHBlcnMuaCIKICNpbmNsdWRlICJH
ZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJKU0FycmF5LmgiCisjaW5jbHVkZSAiSlNBcnJvd0Z1
bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNDSW5s
aW5lcy5oIgogI2luY2x1ZGUgIkpTTGV4aWNhbEVudmlyb25tZW50LmgiCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxsSGVscGVycy5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9DQ2FsbEhlbHBlcnMuaAppbmRleCBmZDM0NGFkYmNhYmIxNWZiZDgxNGVkNmZi
ZDQ3OGY3NGI2MTU3NjNjLi4wN2FjZDZkNTMyZDMyOGFmZGI3N2FjZjIwMTMzOTBlZjM5ZGQ5ZDY3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxsSGVscGVycy5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxwZXJzLmgKQEAgLTI3NCw2ICsy
NzQsMTUgQEAgcHVibGljOgogICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMik7CiAgICAgICAg
IGFkZENhbGxBcmd1bWVudChhcmczKTsKICAgICB9CisgICAgCisgICAgQUxXQVlTX0lOTElORSB2
b2lkIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShHUFJSZWcgYXJnMSwgVHJ1c3RlZEltbVB0
ciBhcmcyLCBHUFJSZWcgYXJnMykKKyAgICB7CisgICAgICAgIHJlc2V0Q2FsbEFyZ3VtZW50cygp
OworICAgICAgICBhZGRDYWxsQXJndW1lbnQoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOwor
ICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMSk7CisgICAgICAgIGFkZENhbGxBcmd1bWVudChh
cmcyKTsKKyAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzMpOworICAgIH0KIAogICAgIEFMV0FZ
U19JTkxJTkUgdm9pZCBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoR1BSUmVnIGFyZzEsIEdQ
UlJlZyBhcmcyLCBUcnVzdGVkSW1tMzIgYXJnMykKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VC5jcHAKaW5kZXggOGNkOWZiMTJlOGJmNGIwYzY4NzM4ZWY4ZWZhNzdjNjVmMDg0YWZlOC4uNWJj
OTE2YjhiMzQxZGE1Y2U1MWY2YjYyN2FmZTkwMmM0NTgxMDAxOSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklULmNwcApAQCAtMjYwLDYgKzI2MCw3IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZU1h
aW5QYXNzKCkKICAgICAgICAgREVGSU5FX09QKG9wX25ld19hcnJheV9idWZmZXIpCiAgICAgICAg
IERFRklORV9PUChvcF9uZXdfZnVuYykKICAgICAgICAgREVGSU5FX09QKG9wX25ld19mdW5jX2V4
cCkKKyAgICAgICAgREVGSU5FX09QKG9wX25ld19hcnJvd19mdW5jX2V4cCkgCiAgICAgICAgIERF
RklORV9PUChvcF9uZXdfb2JqZWN0KQogICAgICAgICBERUZJTkVfT1Aob3BfbmV3X3JlZ2V4cCkK
ICAgICAgICAgREVGSU5FX09QKG9wX25vdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCmluZGV4IDAx
YTQxMjk2M2NlNTk4MzMyYWYxMTZiNjJjNzZjYWIyOTJmZmExNzguLmQ1MDdmYWZmN2RjYmM5MmJh
MmZkMGQ0OWFmOTE4NmMxZmZjYzJkYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklULmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaApAQCAtNTIx
LDYgKzUyMSw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2Fy
cmF5X2J1ZmZlcihJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2Z1bmMo
SW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX25ld19mdW5jX2V4cChJbnN0cnVj
dGlvbiopOworICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwKEluc3RydWN0
aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfb2JqZWN0KEluc3RydWN0aW9uKik7CiAg
ICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfcmVnZXhwKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZv
aWQgZW1pdF9vcF9ub3QoSW5zdHJ1Y3Rpb24qKTsKQEAgLTcwMCw2ICs3MDEsNyBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJ
VE9wZXJhdGlvbl9FSkosIGludCwgR1BSUmVnLCBHUFJSZWcpOwogICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2MsIEdQUlJlZyk7CiAg
ICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25f
RUpzY0MsIGludCwgR1BSUmVnLCBKU0NlbGwqKTsKKyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNh
bGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0osIGludCwgR1BSUmVnLCBKU0Nl
bGwqLCBHUFJSZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9u
KENfSklUT3BlcmF0aW9uX0VKc2NaLCBHUFJSZWcsIGludDMyX3QpOwogICAgICAgICBNYWNyb0Fz
c2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2NaLCBpbnQsIEdQ
UlJlZywgaW50MzJfdCk7CiAjaWYgVVNFKEpTVkFMVUU2NCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRJbmxpbmVzLmgKaW5kZXggOWVlMjRkMDkyMjhhOTg4MmVhNzY5NjI5ZDFhODdiNmMzNGE4
NjMzNC4uYTBlNDBjNWM2MWZlNjNlOTg2M2VkMjIzZWRmNWQ0NTFmMzE4YTc3NCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKQEAgLTI3MSw2ICsyNzEsMTIgQEAgQUxXQVlT
X0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVy
YXRpb25fRUpzY0Mgb3BlcmEKICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVj
a1NldEpTVmFsdWVSZXN1bHQob3BlcmF0aW9uLCBkc3QpOwogfQogCitBTFdBWVNfSU5MSU5FIE1h
Y3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNj
Q0ogb3BlcmF0aW9uLCBpbnQgZHN0LCBHUFJSZWcgYXJnMSwgSlNDZWxsKiBjZWxsLCBHUFJSZWcg
YXJnMikKK3sKKyAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgVHJ1c3RlZElt
bVB0cihjZWxsKSwgYXJnMik7CisgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hl
Y2tTZXRKU1ZhbHVlUmVzdWx0KG9wZXJhdGlvbiwgZHN0KTsKK30KKyAgICAKIEFMV0FZU19JTkxJ
TkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9u
X0VQIG9wZXJhdGlvbiwgaW50IGRzdCwgdm9pZCogcG9pbnRlcikKIHsKICAgICBzZXR1cEFyZ3Vt
ZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihwb2ludGVyKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAppbmRleCA0ZTgyMWQwYzNkNWEzYzVlNjU4MGQxMDM5
NmVjMjg4OTYzODg2YjU2Li5hYThhN2MxZjg2MTIxY2JkNmFlOWI4Njc2YTdiZDk0OTc0ODZjNGU3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKQEAgLTk2NSw2ICs5
NjUsMjkgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2Z1bmNfZXhwKEluc3RydWN0aW9uKiBjdXJy
ZW50SW5zdHJ1Y3Rpb24pCiAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25OZXdGdW5jdGlvbiwg
ZHN0LCByZWdUMCwgZnVuY0V4cHIpOwogICAgIGRvbmUubGluayh0aGlzKTsKIH0KKyAgICAKK3Zv
aWQgSklUOjplbWl0X29wX25ld19hcnJvd19mdW5jX2V4cChJbnN0cnVjdGlvbiogY3VycmVudElu
c3RydWN0aW9uKQoreworICAgIEp1bXAgbm90VW5kZWZpbmVkU2NvcGU7CisgICAgaW50IGRzdCA9
IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAg
ICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQs
IHJlZ1QwKTsKKyAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvbls0
XS51Lm9wZXJhbmQsIHJlZ1QxKTsKKyAgICBub3RVbmRlZmluZWRTY29wZSA9IGJyYW5jaDY0KE5v
dEVxdWFsLCByZWdUMCwgVHJ1c3RlZEltbTY0KEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgp
KSkpOworICAgIHN0b3JlNjQoVHJ1c3RlZEltbTY0KEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5l
ZCgpKSksIEFkZHJlc3MoY2FsbEZyYW1lUmVnaXN0ZXIsIHNpemVvZihSZWdpc3RlcikgKiBkc3Qp
KTsKKyNlbHNlCisgICAgZW1pdExvYWRQYXlsb2FkKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9w
ZXJhbmQsIHJlZ1QwKTsKKyAgICBlbWl0TG9hZFBheWxvYWQoY3VycmVudEluc3RydWN0aW9uWzRd
LnUub3BlcmFuZCwgcmVnVDEpOworICAgIG5vdFVuZGVmaW5lZFNjb3BlID0gYnJhbmNoMzIoTm90
RXF1YWwsIHRhZ0ZvcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSwgVHJ1c3RlZElt
bTMyKEpTVmFsdWU6OlVuZGVmaW5lZFRhZykpOworICAgIGVtaXRTdG9yZShkc3QsIGpzVW5kZWZp
bmVkKCkpOworI2VuZGlmCisgICAgSnVtcCBkb25lID0ganVtcCgpOworICAgIG5vdFVuZGVmaW5l
ZFNjb3BlLmxpbmsodGhpcyk7CisgICAgCisgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlv
biA9IG1fY29kZUJsb2NrLT5mdW5jdGlvbkV4cHIoY3VycmVudEluc3RydWN0aW9uWzNdLnUub3Bl
cmFuZCk7CisgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uLCBkc3Qs
IHJlZ1QwLCBmdW5jdGlvbiwgcmVnVDEpOworICAgIGRvbmUubGluayh0aGlzKTsKK30KIAogdm9p
ZCBKSVQ6OmVtaXRfb3BfbmV3X2FycmF5KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24p
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAppbmRleCBi
ZTM0MTgwOTFkYjMxZDA1ODg3M2Q3ZmQ4ZmYzMzZhMDQ5Y2NkOGVhLi5jMmNkN2JkOTFiZjgyMTA3
OWY2ZDE1MjlkNjY2MDdkNjdkZWU0MjA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUT3BlcmF0aW9ucy5jcHAKQEAgLTQyLDYgKzQyLDggQEAKICNpbmNsdWRlICJIb3N0Q2FsbFJl
dHVyblZhbHVlLmgiCiAjaW5jbHVkZSAiSklULmgiCiAjaW5jbHVkZSAiSklUVG9ERkdEZWZlcnJl
ZENvbXBpbGF0aW9uQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNp
bmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5j
bHVkZSAiSlNDYXRjaFNjb3BlLmgiCiAjaW5jbHVkZSAiSlNGdW5jdGlvbk5hbWVTY29wZS5oIgpA
QCAtOTYwLDYgKzk2MiwyMyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
bk5ld0Z1bmN0aW9uV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0YwogICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoSlNGdW5jdGlvbjo6Y3JlYXRlV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0
aW9uV2F0Y2hwb2ludCh2bSwgc3RhdGljX2Nhc3Q8RnVuY3Rpb25FeGVjdXRhYmxlKj4oZnVuY3Rp
b25FeGVjdXRhYmxlKSwgc2NvcGUpKTsKIH0KIAorCitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBKU1Njb3BlKiBz
Y29wZSwgSlNDZWxsKiBmdW5jdGlvbkV4ZWN1dGFibGUsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1
ZSkKK3sKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEFTU0VSVChm
dW5jdGlvbkV4ZWN1dGFibGUtPmluaGVyaXRzKEZ1bmN0aW9uRXhlY3V0YWJsZTo6aW5mbygpKSk7
CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJh
Y2VyKCZ2bSwgZXhlYyk7CisgICAgCisgICAgSlNGdW5jdGlvbiogZnVuYyA9ICBKU0Z1bmN0aW9u
OjpjcmVhdGUodm0sIHN0YXRpY19jYXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KGZ1bmN0aW9uRXhl
Y3V0YWJsZSksIHNjb3BlKTsKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZXhl
Yy0+Y2FsbGVlKCktPmdsb2JhbE9iamVjdCgpOworICAgIAorICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgZnVuYywgSlNW
YWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKTsKKyNlbHNlCisgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShqc1VuZGVmaW5lZCgpKTsKKyNlbmRpZgorfQorCiBKU0NlbGwqIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uTmV3T2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUp
CiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUT3BlcmF0aW9ucy5oCmluZGV4IGMzZmFkNWQ2ZjMzYWEwNTJiZDcwZmJmM2E4Nzc5Yzc1YmQz
ZDUwMjcuLjc3NDA2ODFjOGUyMGRhNzU0MWU5NGU1NmEwNmQwODMwMzFiNDQ5NzMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCkBAIC0yMCw3ICsyMCw3IEBACiAg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCiAgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKICAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgogICovCiAKICNpZm5kZWYgSklUT3BlcmF0aW9uc19oCkBAIC0xMTUsNiAr
MTE1LDcgQEAgdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVy
YXRpb25fRVBQKShFeGVjU3RhdGUqLCB2b2lkKiwgdm8KIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUg
SklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQUykoRXhlY1N0YXRlKiwgdm9pZCosIHNp
emVfdCk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJh
dGlvbl9FUGMpKEV4ZWNTdGF0ZSosIEluc3RydWN0aW9uKik7CiB0eXBlZGVmIEVuY29kZWRKU1Zh
bHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FSnNjQykoRXhlY1N0YXRlKiwgSlNT
Y29wZSosIEpTQ2VsbCopOwordHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgq
Sl9KSVRPcGVyYXRpb25fRUpzY0NKKShFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKiwgRW5j
b2RlZEpTVmFsdWUpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9K
SVRPcGVyYXRpb25fRVNTKShFeGVjU3RhdGUqLCBzaXplX3QsIHNpemVfdCk7CiB0eXBlZGVmIEVu
Y29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FU3NpQ0kpKEV4ZWNT
dGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgSlNDZWxsKiwgU3RyaW5nSW1wbCopOwogdHlwZWRl
ZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNzaUpJKShF
eGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlLCBTdHJpbmdJbXBs
Kik7CkBAIC0yNzgsNiArMjc5LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVy
YXRpb25OZXdBcnJheUJ1ZmZlcldpdGhQcm9maWxlKEV4ZWNTdGF0ZSosIEFycmEKIEVuY29kZWRK
U1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXlXaXRoU2l6ZUFuZFByb2ZpbGUo
RXhlY1N0YXRlKiwgQXJyYXlBbGxvY2F0aW9uUHJvZmlsZSosIEVuY29kZWRKU1ZhbHVlIHNpemUp
IFdURl9JTlRFUk5BTDsKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3
RnVuY3Rpb24oRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCopIFdURl9JTlRFUk5BTDsKIEVu
Y29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3RnVuY3Rpb25XaXRoSW52YWxp
ZGF0ZWRSZWFsbG9jYXRpb25XYXRjaHBvaW50KEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwq
KSBXVEZfSU5URVJOQUw7CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5l
d0Fycm93RnVuY3Rpb24oRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29kZWRKU1Zh
bHVlKSBXVEZfSU5URVJOQUw7CiBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3T2Jq
ZWN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSopIFdURl9JTlRFUk5BTDsKIEVuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3UmVnZXhwKEV4ZWNTdGF0ZSosIHZvaWQqKSBXVEZf
SU5URVJOQUw7CiB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFuZGxlV2F0Y2hkb2dUaW1l
cihFeGVjU3RhdGUqKSBXVEZfSU5URVJOQUw7CkBAIC00MDYsNCArNDA4LDMgQEAgaW5saW5lIFBf
SklUT3BlcmF0aW9uX0VDbGkgb3BlcmF0aW9uTGlua1BvbHltb3JwaGljQ2FsbEZvcihSZWdpc3Rl
clByZXNlcnZhdGlvbk0KICNlbmRpZiAvLyBFTkFCTEUoSklUKQogCiAjZW5kaWYgLy8gSklUT3Bl
cmF0aW9uc19oCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTElu
dFNsb3dQYXRocy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0
aHMuY3BwCmluZGV4IDA2OTc1NWI1MzEyNWM0NzQ0ZmQ4OGMyYjM0ZjI2ZWJiYjU4OTMxNjIuLjkw
NjljZjFiMDI2NmI0YTkyZGY2Y2ZhMTMxZGJmOTIzYWUzODgzZWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcApAQCAtMzgsNiArMzgsOCBAQAog
I2luY2x1ZGUgIkludGVycHJldGVyLmgiCiAjaW5jbHVkZSAiSklULmgiCiAjaW5jbHVkZSAiSklU
RXhjZXB0aW9ucy5oIgorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpT
Qm91bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTTGV4aWNhbEVudmlyb25tZW50LmgiCiAjaW5j
bHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKQEAgLTE3MSw2ICsx
NzMsMTUgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBMTEludCB7CiAgICAgICAgIExMSU5U
X1JFVFVSTl9UV08ocGMsIF9fcmNmX2V4ZWMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCiAgICAgfSB3aGlsZSAoZmFsc2UpCiAKKyAgICAKKyNkZWZpbmUgTExJTlRfQ0FMQ19QUk9Q
RVJUWV9GT1JfRlVOQ19FWFBSKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAgIExMSU5UX0JFR0lOKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBl
eGVjLT5jb2RlQmxvY2soKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICBKU1Njb3BlKiBzY29wZSA9IGV4ZWMtPnVuY2hlY2tlZFIocGNbMl0udS5vcGVyYW5kKS5SZWdp
c3Rlcjo6c2NvcGUoKTsgICAgICAgXAorICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJs
ZSA9IGNvZGVCbG9jay0+ZnVuY3Rpb25FeHByKHBjWzNdLnUub3BlcmFuZCk7ICBcCisgICAgCitl
bnVtIEZ1bmN0aW9uRXhwcmVzc2lvblR5cGUgeyBBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblR5cGUs
IENvbW1vbkZ1bmN0aW9uRXhwcmVzc2lvblR5cGV9OworICAgIAogZXh0ZXJuICJDIiBTbG93UGF0
aFJldHVyblR5cGUgbGxpbnRfdHJhY2Vfb3BlcmFuZChFeGVjU3RhdGUqIGV4ZWMsIEluc3RydWN0
aW9uKiBwYywgaW50IGZyb21XaGVyZSwgaW50IG9wZXJhbmQpCiB7CiAgICAgTExJTlRfQkVHSU4o
KTsKQEAgLTEwMDMsMTggKzEwMTQsMzIgQEAgTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRo
X25ld19mdW5jKQogI2VuZGlmCiAgICAgTExJTlRfUkVUVVJOKEpTRnVuY3Rpb246OmNyZWF0ZSh2
bSwgY29kZUJsb2NrLT5mdW5jdGlvbkRlY2wocGNbM10udS5vcGVyYW5kKSwgc2NvcGUpKTsKIH0K
LQorICAgIAogTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX25ld19mdW5jX2V4cCkKIHsK
LSAgICBMTElOVF9CRUdJTigpOwotICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+Y29k
ZUJsb2NrKCk7Ci0gICAgSlNTY29wZSogc2NvcGUgPSBleGVjLT51bmNoZWNrZWRSKHBjWzJdLnUu
b3BlcmFuZCkuUmVnaXN0ZXI6OnNjb3BlKCk7Ci0gICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5j
dGlvbiA9IGNvZGVCbG9jay0+ZnVuY3Rpb25FeHByKHBjWzNdLnUub3BlcmFuZCk7Ci0gICAgSlNG
dW5jdGlvbiogZnVuYyA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgZnVuY3Rpb24sIHNjb3BlKTsK
LSAgICAKKyAgICBMTElOVF9DQUxDX1BST1BFUlRZX0ZPUl9GVU5DX0VYUFIoKTsKKworICAgIEpT
RnVuY3Rpb24qIGZ1bmMgPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGV4ZWN1dGFibGUsIHNjb3Bl
KTsKICAgICBMTElOVF9SRVRVUk4oZnVuYyk7CiB9CiAKKworTExJTlRfU0xPV19QQVRIX0RFQ0wo
c2xvd19wYXRoX25ld19hcnJvd19mdW5jX2V4cCkKK3sKKyAgICBMTElOVF9DQUxDX1BST1BFUlRZ
X0ZPUl9GVU5DX0VYUFIoKTsKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBMTElOVF9PUF9DKDQpLmpzVmFsdWUoKTsKKyAgICBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZXhlYy0+Y2FsbGVlKCktPmdsb2JhbE9iamVj
dCgpOworICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGV4ZWN1
dGFibGUsIHNjb3BlKTsKKworICAgIExMSU5UX1JFVFVSTihKU0Fycm93RnVuY3Rpb246OmNyZWF0
ZSh2bSwgZ2xvYmFsT2JqZWN0LCBmdW5jLCB0aGlzVmFsdWUpKTsKKyNlbHNlCisgICAgSlNGdW5j
dGlvbiogZnVuYyA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgZXhlY3V0YWJsZSwgc2NvcGUpOwor
ICAgIExMSU5UX1JFVFVSTihmdW5jKTsKKyNlbmRpZgorfQorCiBzdGF0aWMgU2xvd1BhdGhSZXR1
cm5UeXBlIGhhbmRsZUhvc3RDYWxsKEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSwgSW5zdHJ1Y3Rpb24q
IHBjLCBKU1ZhbHVlIGNhbGxlZSwgQ29kZVNwZWNpYWxpemF0aW9uS2luZCBraW5kKQogewogICAg
IFVOVVNFRF9QQVJBTShwYyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTExJbnRTbG93UGF0aHMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNs
b3dQYXRocy5oCmluZGV4IDRiZjdkZWIwZmEwYjZjNjQzOGUzNmY5NjMyMGUyZjY2OTczOWFmNjQu
LmM3ZmFiOTY5MWMxOGI5Mzk1NmQwZWEyOWYzMzk1NjExOGM1ZTcxZWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCkBAIC05Niw2ICs5Niw3IEBAIExM
SU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfc3dpdGNoX2NoYXIpOwogTExJTlRf
U0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9zd2l0Y2hfc3RyaW5nKTsKIExMSU5UX1NM
T1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfbmV3X2Z1bmMpOwogTExJTlRfU0xPV19QQVRI
X0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuY19leHApOworTExJTlRfU0xPV19QQVRIX0hJ
RERFTl9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApOwogTExJTlRfU0xPV19QQVRI
X0hJRERFTl9ERUNMKHNsb3dfcGF0aF9jYWxsKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVD
TChzbG93X3BhdGhfY29uc3RydWN0KTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93
X3BhdGhfc2l6ZV9mcmFtZV9mb3JfdmFyYXJncyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20gYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KaW5kZXggNTQzZDllOTMzM2M1MTNl
OTc2MTdiN2JkYTdmNjk5ODY2ODM4YTFlMC4uMTgyYmJkOWU0ZWY3ODkyOGRhNTJmYmNlYzg4MmE1
ZGYzNmRiNzk0MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbQpAQCAtMTE2OSw2ICsxMTY5LDEwIEBAIF9sbGludF9vcF9uZXdf
ZnVuY19leHA6CiAgICAgY2FsbFNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfbmV3X2Z1bmNfZXhw
KQogICAgIGRpc3BhdGNoKDQpCiAKK19sbGludF9vcF9uZXdfYXJyb3dfZnVuY19leHA6CisgICAg
dHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX25ld19h
cnJvd19mdW5jX2V4cCkKKyAgICBkaXNwYXRjaCg1KQogCiBfbGxpbnRfb3BfY2FsbDoKICAgICB0
cmFjZUV4ZWN1dGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L0FTVEJ1aWxkZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5o
CmluZGV4IGI4ZmU0Yjg0ODVhMDk3Njg4ZjVjNjMwYmQ4YzNjOTY3NjRmYzQ2NDkuLmYyZmEzYmQ5
YzE1ZjRlNDIyZWVjNmE3OWQ2NWYxZDcwODZjNjJjNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvQVNUQnVpbGRlci5oCkBAIC0zMTMsNiArMzEzLDE5IEBAIHB1YmxpYzoKICAgICAg
ICAgICAgIGluU3RyaWN0Q29udGV4dCwgY29uc3RydWN0b3JLaW5kKTsKICAgICB9CiAKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEV4cHJlc3Npb25Ob2RlKiBjcmVh
dGVBcnJvd0Z1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25z
dCBQYXJzZXJGdW5jdGlvbkluZm88QVNUQnVpbGRlcj4mIGluZm8pCisgICAgeworICAgICAgICBT
b3VyY2VDb2RlIHNvdXJjZSA9IGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9u
Qm9keUV4cHJlc3Npb24KKyAgICAgICAgPyBtX3NvdXJjZUNvZGUtPnN1YkFycm93RXhwcmVzc2lv
bihpbmZvLmFycm93RnVuY3Rpb25PZmZzZXQsIGluZm8uY2xvc2VCcmFjZU9mZnNldCwgaW5mby5i
b2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlTdGFydENvbHVtbikKKyAgICAgICAgOiBtX3NvdXJjZUNv
ZGUtPnN1YkV4cHJlc3Npb24oaW5mby5vcGVuQnJhY2VPZmZzZXQsIGluZm8uY2xvc2VCcmFjZU9m
ZnNldCwgaW5mby5ib2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlTdGFydENvbHVtbik7CisKKyAgICAg
ICAgQXJyb3dGdW5jRXhwck5vZGUqIHJlc3VsdCA9IG5ldyAobV9wYXJzZXJBcmVuYSkgQXJyb3dG
dW5jRXhwck5vZGUobG9jYXRpb24sICppbmZvLm5hbWUsIGluZm8uYm9keSwgc291cmNlLCBpbmZv
LnBhcmFtZXRlcnMpOworICAgICAgICBpbmZvLmJvZHktPnNldExvYyhpbmZvLmJvZHlTdGFydExp
bmUsIGluZm8uYm9keUVuZExpbmUsIGxvY2F0aW9uLnN0YXJ0T2Zmc2V0LCBsb2NhdGlvbi5saW5l
U3RhcnRPZmZzZXQpOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKyNlbmRpZgorCiAg
ICAgTkVWRVJfSU5MSU5FIFByb3BlcnR5Tm9kZSogY3JlYXRlR2V0dGVyT3JTZXR0ZXJQcm9wZXJ0
eShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBQcm9wZXJ0eU5vZGU6OlR5cGUgdHlw
ZSwgYm9vbCwKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogbmFtZSwgY29uc3QgUGFyc2VyRnVu
Y3Rpb25JbmZvPEFTVEJ1aWxkZXI+JiBpbmZvLCBTdXBlckJpbmRpbmcgc3VwZXJCaW5kaW5nKQog
ICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKaW5kZXggN2RlMTQyMjBi
YmRhNzI3MzhiNTczYTRiOTc4OGNlMGIzMmNjN2NlMy4uNTQwZjlmZmI3YmI1MTgyOWQ2N2RlZWRl
YzVlNmE4ZWQ1MWNjNDQxNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9MZXhlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAK
QEAgLTE0MzAsNiArMTQzMCwxOCBAQCBib29sIExleGVyPFQ+OjpuZXh0VG9rZW5Jc0NvbG9uKCkK
ICAgICByZXR1cm4gY29kZSA8IG1fY29kZUVuZCAmJiAqY29kZSA9PSAnOic7CiB9CiAKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIFQ+Cit2
b2lkIExleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9uKEpTVG9rZW4qIHRva2VuUmVjb3JkKQorewor
ICAgIEpTVG9rZW5EYXRhKiB0b2tlbkRhdGEgPSAmdG9rZW5SZWNvcmQtPm1fZGF0YTsKKyAgICB0
b2tlbkRhdGEtPmxpbmUgPSBsaW5lTnVtYmVyKCk7CisgICAgdG9rZW5EYXRhLT5vZmZzZXQgPSBj
dXJyZW50T2Zmc2V0KCk7CisgICAgdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50
TGluZVN0YXJ0T2Zmc2V0KCk7CisgICAgQVNTRVJUKHRva2VuRGF0YS0+b2Zmc2V0ID49IHRva2Vu
RGF0YS0+bGluZVN0YXJ0T2Zmc2V0KTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUg
VD4KIEpTVG9rZW5UeXBlIExleGVyPFQ+OjpsZXgoSlNUb2tlbiogdG9rZW5SZWNvcmQsIHVuc2ln
bmVkIGxleGVyRmxhZ3MsIGJvb2wgc3RyaWN0TW9kZSkKIHsKQEAgLTE0OTMsNyArMTUwNSwxMiBA
QCBzdGFydDoKICAgICAgICAgfQogICAgICAgICB0b2tlbiA9IEdUOwogICAgICAgICBicmVhazsK
LSAgICBjYXNlIENoYXJhY3RlckVxdWFsOgorICAgIGNhc2UgQ2hhcmFjdGVyRXF1YWw6IHsKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB1aW50MzJfdCBzYXZl
ZGxpbmVOdW1iZXIgPSB0b2tlbkRhdGEtPmxpbmU7CisgICAgICAgIHVpbnQzMl90IHNhdmVkT2Zm
c2V0ID0gY3VycmVudE9mZnNldCgpOworICAgICAgICB1aW50MzJfdCBzYXZlZExpbmVTdGFydE9m
ZnNldCA9IGN1cnJlbnRMaW5lU3RhcnRPZmZzZXQoKTsKKyNlbmRpZgogICAgICAgICBzaGlmdCgp
OwogICAgICAgICBpZiAobV9jdXJyZW50ID09ICc9JykgewogICAgICAgICAgICAgc2hpZnQoKTsK
QEAgLTE1MDUsOCArMTUyMiwyMiBAQCBzdGFydDoKICAgICAgICAgICAgIHRva2VuID0gRVFFUTsK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnPicpIHsKKyAgICAgICAgICAg
IHNoaWZ0KCk7CisgICAgICAgICAgICB0b2tlbiA9IEFSUk9XRlVOQ1RJT047CisKKyAgICAgICAg
ICAgIHRva2VuRGF0YS0+bGluZSA9IHNhdmVkbGluZU51bWJlcjsKKyAgICAgICAgICAgIHRva2Vu
RGF0YS0+b2Zmc2V0ID0gc2F2ZWRPZmZzZXQ7CisgICAgICAgICAgICB0b2tlbkRhdGEtPmxpbmVT
dGFydE9mZnNldCA9IHNhdmVkTGluZVN0YXJ0T2Zmc2V0OworCisgICAgICAgICAgICBBU1NFUlQo
dG9rZW5EYXRhLT5vZmZzZXQgPj0gdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQpOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICB0b2tlbiA9IEVRVUFMOwog
ICAgICAgICBicmVhazsKKyAgICB9CiAgICAgY2FzZSBDaGFyYWN0ZXJMZXNzOgogICAgICAgICBz
aGlmdCgpOwogICAgICAgICBpZiAobV9jdXJyZW50ID09ICchJyAmJiBwZWVrKDEpID09ICctJyAm
JiBwZWVrKDIpID09ICctJykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9MZXhlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCmluZGV4
IDJkZjUyMTM5OTU3ODIwMDc4NWExNjZlMjJhNzMyNzVlMGVhNjMwNGQuLmNiM2YyNWY3YzA4Zjgy
NTgxYWYyY2U4ZmE5OTk5N2ZhZGUwNzY2ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvTGV4ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xl
eGVyLmgKQEAgLTg1LDYgKzg1LDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SXNSZXBhcnNpbmco
KSB7IG1faXNSZXBhcnNpbmcgPSB0cnVlOyB9CiAgICAgYm9vbCBpc1JlcGFyc2luZygpIGNvbnN0
IHsgcmV0dXJuIG1faXNSZXBhcnNpbmc7IH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgdm9pZCBzZXRUb2tlblBvc2l0aW9uKEpTVG9rZW4qIHRva2VuUmVjb3Jk
KTsKKyNlbmRpZgogICAgIEpTVG9rZW5UeXBlIGxleChKU1Rva2VuKiwgdW5zaWduZWQsIGJvb2wg
c3RyaWN0TW9kZSk7CiAgICAgYm9vbCBuZXh0VG9rZW5Jc0NvbG9uKCk7CiAgICAgaW50IGxpbmVO
dW1iZXIoKSBjb25zdCB7IHJldHVybiBtX2xpbmVOdW1iZXI7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKaW5kZXggM2JkYWI2MWE1MjJlMGNl
MmMzMzk3ZjgwZjRmYTE4NGQxZDQyMTYwZS4uYjU4ZTFmZTFhZjkwZTY2MGIwODQyZWE3ZTk5ZjA3
YWU2YWNiYjk1ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rl
Q29uc3RydWN0b3JzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29u
c3RydWN0b3JzLmgKQEAgLTc4MSw2ICs3ODEsMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
IG1fYm9keS0+ZmluaXNoUGFyc2luZyhzb3VyY2UsIHBhcmFtZXRlciwgaWRlbnQsIEZ1bmN0aW9u
RXhwcmVzc2lvbik7CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICBpbmxpbmUgQXJyb3dGdW5jRXhwck5vZGU6OkFycm93RnVuY0V4cHJOb2RlKGNvbnN0
IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBGdW5j
dGlvbkJvZHlOb2RlKiBib2R5LCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIFBhcmFtZXRlck5v
ZGUqIHBhcmFtZXRlcikKKyAgICAgICAgOiBGdW5jRXhwck5vZGUobG9jYXRpb24sIGlkZW50LCBi
b2R5LCBzb3VyY2UsIHBhcmFtZXRlcikKKyAgICB7CisgICAgfQorI2VuZGlmCisgICAgCiAgICAg
aW5saW5lIEZ1bmNEZWNsTm9kZTo6RnVuY0RlY2xOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYg
bG9jYXRpb24sIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBGdW5jdGlvbkJvZHlOb2RlKiBib2R5
LCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIFBhcmFtZXRlck5vZGUqIHBhcmFtZXRlcikKICAg
ICAgICAgOiBTdGF0ZW1lbnROb2RlKGxvY2F0aW9uKQogICAgICAgICAsIG1fYm9keShib2R5KQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCmluZGV4IDZiMzczMjljMDliZmM0MmJlY2Nj
M2NhYTk4MzU5N2MzNTQwMmI2YzkuLjViNzc0MWUxY2NjOGQ1MTVmZjE0YzE1MzE3MmQ3YmRhMDUz
ZjU4NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKQEAgLTE1OCw2ICsxNTgs
OSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdmlydHVhbCBib29sIGlzRG90QWNjZXNzb3JO
b2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzRGVj
b25zdHJ1Y3Rpb25Ob2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVh
bCBib29sIGlzRnVuY0V4cHJOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNBcnJv
d0Z1bmNFeHByTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjZW5kaWYKICAgICAgICAg
dmlydHVhbCBib29sIGlzQ29tbWFOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAg
ICAgdmlydHVhbCBib29sIGlzU2ltcGxlQXJyYXkoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQog
ICAgICAgICB2aXJ0dWFsIGJvb2wgaXNBZGQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpAQCAt
MTY1Miw2ICsxNjU1LDE5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBGdW5jdGlvbkJvZHlO
b2RlKiBtX2JvZHk7CiAgICAgfTsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCisgICAgY2xhc3MgQXJyb3dGdW5jRXhwck5vZGUgOiBwdWJsaWMgRnVuY0V4cHJOb2RlIHsK
KyAgICBwdWJsaWM6CisgICAgICAgIEFycm93RnVuY0V4cHJOb2RlKGNvbnN0IEpTVG9rZW5Mb2Nh
dGlvbiYsIGNvbnN0IElkZW50aWZpZXImLCBGdW5jdGlvbkJvZHlOb2RlKiwgY29uc3QgU291cmNl
Q29kZSYsIFBhcmFtZXRlck5vZGUqID0gMCk7CisgICAgcHJpdmF0ZToKKyAgICAgICAgdmlydHVh
bCBSZWdpc3RlcklEKiBlbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImLCBSZWdpc3RlcklE
KiA9IDApIG92ZXJyaWRlOworICAgICAgICAKKyAgICAgICAgdmlydHVhbCBib29sIGlzRnVuY0V4
cHJOb2RlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKyAgICAgICAgCisgICAg
ICAgIHZpcnR1YWwgYm9vbCBpc0Fycm93RnVuY0V4cHJOb2RlKCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gdHJ1ZTsgfQorICAgIH07CisjZW5kaWYKKwogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lO
VEFYKQogICAgIGNsYXNzIENsYXNzRXhwck5vZGUgZmluYWwgOiBwdWJsaWMgRXhwcmVzc2lvbk5v
ZGUgewogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcApp
bmRleCAzMmQyNTBjYTdjYzUzZjRiZWE2MWY2MWI2ZGFiZmU2NGJjYmM2ODQ2Li45NWIzNjUyZjE4
NjczNmNjOWRkOTdkNmQ0YmNmMDYwMmQ3YWU0OWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9QYXJzZXIuY3BwCkBAIC0yNjQsNyArMjY0LDcgQEAgU3RyaW5nIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUlubmVyKCkKICAgICBpZiAobV9sZXhlci0+aXNSZXBhcnNpbmcoKSkKICAgICAg
ICAgbV9zdGF0ZW1lbnREZXB0aC0tOwogICAgIFNjb3BlUmVmIHNjb3BlID0gY3VycmVudFNjb3Bl
KCk7Ci0gICAgU291cmNlRWxlbWVudHMqIHNvdXJjZUVsZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVt
ZW50cyhjb250ZXh0LCBDaGVja0ZvclN0cmljdE1vZGUpOworICAgIFNvdXJjZUVsZW1lbnRzKiBz
b3VyY2VFbGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgQ2hlY2tGb3JTdHJp
Y3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICBpZiAoIXNvdXJjZUVsZW1l
bnRzIHx8ICFjb25zdW1lKEVPRlRPSykpIHsKICAgICAgICAgaWYgKGhhc0Vycm9yKCkpCiAgICAg
ICAgICAgICBwYXJzZUVycm9yID0gbV9lcnJvck1lc3NhZ2U7CkBAIC0zMzAsNyArMzMwLDcgQEAg
Ym9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6YWxsb3dBdXRvbWF0aWNTZW1pY29sb24oKQogfQogCiB0
ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgotdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVu
dHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZUVsZW1lbnRzTW9kZSBtb2RlKQordGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZUVsZW1l
bnRzTW9kZSBtb2RlLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSkKIHsKICAg
ICBjb25zdCB1bnNpZ25lZCBsZW5ndGhPZlVzZVN0cmljdExpdGVyYWwgPSAxMjsgLy8gInVzZSBz
dHJpY3QiLmxlbmd0aAogICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzb3VyY2VFbGVtZW50cyA9IGNv
bnRleHQuY3JlYXRlU291cmNlRWxlbWVudHMoKTsKQEAgLTMzOSw3ICszMzksNyBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VTb3VyY2VFbAogICAgIHVuc2lnbmVkIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAw
OwogICAgIGF1dG8gc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CiAgICAgYm9vbCBoYXNT
ZXRTdHJpY3QgPSBmYWxzZTsKLSAgICB3aGlsZSAoVHJlZVN0YXRlbWVudCBzdGF0ZW1lbnQgPSBw
YXJzZVN0YXRlbWVudChjb250ZXh0LCBkaXJlY3RpdmUsICZkaXJlY3RpdmVMaXRlcmFsTGVuZ3Ro
KSkgeworICAgIHdoaWxlIChUcmVlU3RhdGVtZW50IHN0YXRlbWVudCA9IHBhcnNlU3RhdGVtZW50
KGNvbnRleHQsIGRpcmVjdGl2ZSwgJmRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgsIGZ1bmN0aW9uUGFy
c2VUeXBlKSkgewogICAgICAgICBpZiAobW9kZSA9PSBDaGVja0ZvclN0cmljdE1vZGUgJiYgIXNl
ZW5Ob25EaXJlY3RpdmUpIHsKICAgICAgICAgICAgIGlmIChkaXJlY3RpdmUpIHsKICAgICAgICAg
ICAgICAgICAvLyAidXNlIHN0cmljdCIgbXVzdCBiZSB0aGUgZXhhY3QgbGl0ZXJhbCB3aXRob3V0
IGVzY2FwZSBzZXF1ZW5jZXMgb3IgbGluZSBjb250aW51YXRpb24uCkBAIC01NzEsNiArNTcxLDMx
IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlY29uc3RydWN0aW9uUGF0dGVy
biBQYXJzZXI8TGV4ZXJUeXBlPjo6Y3JlYXRlCiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlQmlu
ZGluZ0xvY2F0aW9uKHRva2VuLm1fbG9jYXRpb24sIG5hbWUsIHRva2VuLm1fc3RhcnRQb3NpdGlv
biwgdG9rZW4ubV9lbmRQb3NpdGlvbik7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJv
d0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0KQoreworICAgIEFTU0VSVCht
YXRjaChBUlJPV0ZVTkNUSU9OKSk7CisKKyAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9r
ZW5Mb2NhdGlvbigpKTsKKyAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3Np
dGlvbigpOworICAgIEpTVGV4dFBvc2l0aW9uIGVuZCA9IHRva2VuRW5kUG9zaXRpb24oKTsKKwor
ICAgIG5leHQoKTsKKyAgICBUcmVlRXhwcmVzc2lvbiBleHByID0gcGFyc2VBcnJvd0Z1bmN0aW9u
RXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICBmYWlsSWZGYWxzZShleHByLCAiQ2Fubm90IHBhcnNl
IHRoZSBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgZW5kID0gbGFzdFRva2VuRW5k
UG9zaXRpb24oKTsKKworICAgIGJvb2wgY29ycmVjdEFycm93RmluaXNoID0gaXNFbmRPZkFycm93
RnVuY3Rpb24oKSB8fCBtYXRjaChFT0ZUT0spOworICAgIGZhaWxJZkZhbHNlKGNvcnJlY3RBcnJv
d0ZpbmlzaCwgIkV4cGVjdGVkIGEgJzsnLCAnXScsICd9JywgJyknLCBvciAnLCcgZm9sbG93aW5n
IGEgYXJyb3cgZnVuY3Rpb24gc3RhdGVtZW50Iik7CisKKyAgICBlbmQgPSB0b2tlbkVuZFBvc2l0
aW9uKCk7CisgICAgc2V0RW5kT2ZTdGF0ZW1lbnQoKTsKKworICAgIHJldHVybiBjb250ZXh0LmNy
ZWF0ZVJldHVyblN0YXRlbWVudChsb2NhdGlvbiwgZXhwciwgc3RhcnQsIGVuZCk7Cit9CisjZW5k
aWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6dHJ5
UGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm5FeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0
KQogewpAQCAtMTAxOCw3ICsxMDQzLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlQ2xhdXNlTGlzdCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTd2l0Y2hDbGF1c2UKICAgICBU
cmVlRXhwcmVzc2lvbiBjb25kaXRpb24gPSBwYXJzZUV4cHJlc3Npb24oY29udGV4dCk7CiAgICAg
ZmFpbElmRmFsc2UoY29uZGl0aW9uLCAiQ2Fubm90IHBhcnNlIHN3aXRjaCBjbGF1c2UiKTsKICAg
ICBjb25zdW1lT3JGYWlsKENPTE9OLCAiRXhwZWN0ZWQgYSAnOicgYWZ0ZXIgc3dpdGNoIGNsYXVz
ZSBleHByZXNzaW9uIik7Ci0gICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJz
ZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUpOworICAgIFRy
ZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0
LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAg
ICBmYWlsSWZGYWxzZShzdGF0ZW1lbnRzLCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIGEgc3dp
dGNoIGNsYXVzZSIpOwogICAgIFRyZWVDbGF1c2UgY2xhdXNlID0gY29udGV4dC5jcmVhdGVDbGF1
c2UoY29uZGl0aW9uLCBzdGF0ZW1lbnRzKTsKICAgICBjb250ZXh0LnNldFN0YXJ0T2Zmc2V0KGNs
YXVzZSwgc3RhcnRPZmZzZXQpOwpAQCAtMTAzMSw3ICsxMDU2LDcgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlQ2xhdXNlTGlzdCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTd2l0
Y2hDbGF1c2UKICAgICAgICAgVHJlZUV4cHJlc3Npb24gY29uZGl0aW9uID0gcGFyc2VFeHByZXNz
aW9uKGNvbnRleHQpOwogICAgICAgICBmYWlsSWZGYWxzZShjb25kaXRpb24sICJDYW5ub3QgcGFy
c2Ugc3dpdGNoIGNhc2UgZXhwcmVzc2lvbiIpOwogICAgICAgICBjb25zdW1lT3JGYWlsKENPTE9O
LCAiRXhwZWN0ZWQgYSAnOicgYWZ0ZXIgc3dpdGNoIGNsYXVzZSBleHByZXNzaW9uIik7Ci0gICAg
ICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhj
b250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICAgICAgVHJlZVNvdXJjZUVsZW1l
bnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0Zv
clN0cmljdE1vZGUsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwogICAgICAgICBmYWlsSWZG
YWxzZShzdGF0ZW1lbnRzLCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIGEgc3dpdGNoIGNsYXVz
ZSIpOwogICAgICAgICBjbGF1c2UgPSBjb250ZXh0LmNyZWF0ZUNsYXVzZShjb25kaXRpb24sIHN0
YXRlbWVudHMpOwogICAgICAgICBjb250ZXh0LnNldFN0YXJ0T2Zmc2V0KGNsYXVzZSwgc3RhcnRP
ZmZzZXQpOwpAQCAtMTA0OCw3ICsxMDczLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlQ2xhdXNlIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN3aXRjaERlZmF1bHRDbGEKICAg
ICB1bnNpZ25lZCBzdGFydE9mZnNldCA9IHRva2VuU3RhcnQoKTsKICAgICBuZXh0KCk7CiAgICAg
Y29uc3VtZU9yRmFpbChDT0xPTiwgIkV4cGVjdGVkIGEgJzonIGFmdGVyIHN3aXRjaCBkZWZhdWx0
IGNsYXVzZSIpOwotICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3Vy
Y2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICBUcmVlU291
cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgRG9u
dENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CiAgICAgZmFp
bElmRmFsc2Uoc3RhdGVtZW50cywgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiBhIHN3aXRjaCBk
ZWZhdWx0IGNsYXVzZSIpOwogICAgIFRyZWVDbGF1c2UgcmVzdWx0ID0gY29udGV4dC5jcmVhdGVD
bGF1c2UoMCwgc3RhdGVtZW50cyk7CiAgICAgY29udGV4dC5zZXRTdGFydE9mZnNldChyZXN1bHQs
IHN0YXJ0T2Zmc2V0KTsKQEAgLTExMzMsNyArMTE1OCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VCbG9ja1N0YXRl
bWVuCiAgICAgICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KHJlc3VsdCwgZW5kT2Zmc2V0KTsKICAg
ICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0gICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN1YnRy
ZWUgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUp
OworICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdWJ0cmVlID0gcGFyc2VTb3VyY2VFbGVtZW50cyhj
b250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBl
KTsKICAgICBmYWlsSWZGYWxzZShzdWJ0cmVlLCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIHRo
ZSBibG9jayBzdGF0ZW1lbnQiKTsKICAgICBtYXRjaE9yRmFpbChDTE9TRUJSQUNFLCAiRXhwZWN0
ZWQgYSBjbG9zaW5nICd9JyBhdCB0aGUgZW5kIG9mIGEgYmxvY2sgc3RhdGVtZW50Iik7CiAgICAg
aW50IGVuZE9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKQEAgLTExNDUsNyArMTE3MCw3
IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VCbG9ja1N0YXRlbWVuCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhl
clR5cGU+Ci10ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJ
ZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCkK
K3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZp
ZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoLCBGdW5jdGlv
blBhcnNlVHlwZSBwYXJzZVR5cGUpCiB7CiAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRo
KCZtX3N0YXRlbWVudERlcHRoKTsKICAgICBtX3N0YXRlbWVudERlcHRoKys7CkBAIC0xMTU0LDYg
KzExNzksMjMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmUKICAgICBmYWlsSWZTdGFja092ZXJm
bG93KCk7CiAgICAgVHJlZVN0YXRlbWVudCByZXN1bHQgPSAwOwogICAgIGJvb2wgc2hvdWxkU2V0
RW5kT2Zmc2V0ID0gdHJ1ZTsKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAg
IHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKKyAgICAgICAgY2FzZSBDTE9TRVBBUkVOOgorICAg
ICAgICBjYXNlIENMT1NFQlJBQ0tFVDoKKyAgICAgICAgY2FzZSBDT01NQToKKyAgICAgICAgY2Fz
ZSBTRU1JQ09MT046IHsKKyAgICAgICAgICAgIHJlc3VsdCA9IDA7CisgICAgICAgICAgICBjb250
ZXh0LnNldEVuZE9mZnNldChyZXN1bHQsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ub2Zmc2V0KTsK
KyAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgIH0KKyAgICAgICAgZGVmYXVsdDoK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorI2VuZGlmCiAgICAgc3dpdGNo
IChtX3Rva2VuLm1fdHlwZSkgewogICAgIGNhc2UgT1BFTkJSQUNFOgogICAgICAgICByZXN1bHQg
PSBwYXJzZUJsb2NrU3RhdGVtZW50KGNvbnRleHQpOwpAQCAtMTE5OSw2ICsxMjQxLDE1IEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgY2FzZSBCUkVBSzoKICAgICAgICAgcmVzdWx0ID0g
cGFyc2VCcmVha1N0YXRlbWVudChjb250ZXh0KTsKICAgICAgICAgYnJlYWs7CisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIEFSUk9XRlVOQ1RJT046CisgICAg
ICAgIHJlc3VsdCA9IHBhcnNlQXJyb3dGdW5jdGlvblN0YXRlbWVudChjb250ZXh0KTsKKyAgICAg
ICAgLy8gQ29uc3VtZSB0aGUgZW5kIG9mIGFycm93IGZ1bmN0aW9uICw7XSkgYW5kIHByZXZlbnQK
KyAgICAgICAgLy8gcGFyc2UgdGhpcyBzeW1ib2xzIGJ5IHBhcnNlU3RhdGVtZW50IGFzIHNlcGFy
YXRlIHN0YXRlbWVudAorICAgICAgICBpZiAocGFyc2VUeXBlID09IFN0YW5kYXJkRnVuY3Rpb25Q
YXJzZVR5cGUpCisgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAg
ICAgY2FzZSBSRVRVUk46CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlUmV0dXJuU3RhdGVtZW50KGNv
bnRleHQpOwogICAgICAgICBicmVhazsKQEAgLTEyNjMsMjAgKzEzMTQsMzQgQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRm9ybWFsUGFyYW1ldGVyTGlzdCBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VGb3IKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGdW5jdGlvbkJvZHkgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlRnVuY3Rpb25Cb2R5KAogICAgIFRyZWVCdWlsZGVyJiBjb250ZXh0LCBpbnQgZnVuY3Rpb25L
ZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwgCi0gICAgaW50IHBhcmFtZXRlcnNT
dGFydCwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCkKKyAgICBpbnQgcGFyYW1ldGVy
c1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kLCBGdW5jdGlvblBhcnNlVHlw
ZSBwYXJzZVR5cGUpCiB7CiAgICAgSlNUb2tlbkxvY2F0aW9uIHN0YXJ0TG9jYXRpb24odG9rZW5M
b2NhdGlvbigpKTsKICAgICB1bnNpZ25lZCBzdGFydENvbHVtbiA9IHRva2VuQ29sdW1uKCk7Cisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBlID09
IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgbmV4dCgpOworICAgICAgICBp
ZiAobWF0Y2goQ0xPU0VCUkFDRSkpIHsKKyAgICAgICAgICAgIHVuc2lnbmVkIGVuZENvbHVtbiA9
IHRva2VuQ29sdW1uKCk7CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlv
bkJvZHkoc3RhcnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5kQ29s
dW1uLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNT
dGFydCwgc3RyaWN0TW9kZSgpLCBjb25zdHJ1Y3RvcktpbmQpOworICAgICAgICB9CisgICAgfQor
I2Vsc2UKICAgICBuZXh0KCk7Ci0KICAgICBpZiAobWF0Y2goQ0xPU0VCUkFDRSkpIHsKICAgICAg
ICAgdW5zaWduZWQgZW5kQ29sdW1uID0gdG9rZW5Db2x1bW4oKTsKICAgICAgICAgcmV0dXJuIGNv
bnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0YXJ0TG9jYXRpb24sIHRva2VuTG9jYXRpb24oKSwg
c3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFt
ZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0cmljdE1vZGUoKSwgY29uc3RydWN0b3JLaW5kKTsK
ICAgICB9CisjZW5kaWYKKwogICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0
ZW1lbnREZXB0aCk7CiAgICAgbV9zdGF0ZW1lbnREZXB0aCA9IDA7CiAgICAgdHlwZW5hbWUgVHJl
ZUJ1aWxkZXI6OkZ1bmN0aW9uQm9keUJ1aWxkZXIgYm9keUJ1aWxkZXIoY29uc3RfY2FzdDxWTSo+
KG1fdm0pLCBtX2xleGVyLmdldCgpKTsKLSAgICBmYWlsSWZGYWxzZShwYXJzZVNvdXJjZUVsZW1l
bnRzKGJvZHlCdWlsZGVyLCBDaGVja0ZvclN0cmljdE1vZGUpLCAiQ2Fubm90IHBhcnNlIGJvZHkg
b2YgdGhpcyBmdW5jdGlvbiIpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgZmFpbElmRmFsc2UocGFyc2VTb3VyY2VFbGVtZW50cyhib2R5QnVpbGRlciwgQ2hlY2tG
b3JTdHJpY3RNb2RlLCBwYXJzZVR5cGUpLCBwYXJzZVR5cGUgPT0gU3RhbmRhcmRGdW5jdGlvblBh
cnNlVHlwZSA/ICJDYW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGZ1bmN0aW9uIiA6ICJDYW5ub3Qg
cGFyc2UgYm9keSBvZiB0aGlzIGFycm93IGZ1bmN0aW9uIik7CisjZWxzZQorICAgIGZhaWxJZkZh
bHNlKHBhcnNlU291cmNlRWxlbWVudHMoYm9keUJ1aWxkZXIsIENoZWNrRm9yU3RyaWN0TW9kZSwg
U3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSksICJDYW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGZ1
bmN0aW9uIik7CisjZW5kaWYKICAgICB1bnNpZ25lZCBlbmRDb2x1bW4gPSB0b2tlbkNvbHVtbigp
OwogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uQm9keShzdGFydExvY2F0aW9uLCB0
b2tlbkxvY2F0aW9uKCksIHN0YXJ0Q29sdW1uLCBlbmRDb2x1bW4sIGZ1bmN0aW9uS2V5d29yZFN0
YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBzdHJpY3RNb2RlKCksIGNv
bnN0cnVjdG9yS2luZCk7CiB9CkBAIC0xMjk3LDE1ICsxMzYyLDggQEAgc3RhdGljIGNvbnN0IGNo
YXIqIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShGdW5jdGlvblBhcnNlTW9kZSBtb2RlKQogICAgIHJl
dHVybiBudWxscHRyOwogfQogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgotdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0
aW9uSW5mbyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMgcmVxdWly
ZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLAotICAgIGJvb2wgbmFtZUlzSW5Db250YWlu
aW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCBvd25lckNsYXNzS2luZCwgaW50IGZ1bmN0aW9uS2V5
d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvKQordGVtcGxh
dGUgPHR5cGVuYW1lIExleGVyVHlwZT4gdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBpbnQg
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25QYXJhbXRlcnMoVHJlZUJ1aWxkZXImIGNv
bnRleHQsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzIHJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1v
ZGUgbW9kZSwgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQXV0b1BvcFNjb3BlUmVmJiBm
dW5jdGlvblNjb3BlLCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvKQogewot
ICAgIEF1dG9Qb3BTY29wZVJlZiBmdW5jdGlvblNjb3BlKHRoaXMsIHB1c2hTY29wZSgpKTsKLSAg
ICBmdW5jdGlvblNjb3BlLT5zZXRJc0Z1bmN0aW9uKCk7Ci0gICAgaW50IGZ1bmN0aW9uTmFtZVN0
YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OwotICAgIGNvbnN0IElkZW50aWZp
ZXIqIGxhc3RGdW5jdGlvbk5hbWUgPSBtX2xhc3RGdW5jdGlvbk5hbWU7Ci0gICAgbV9sYXN0RnVu
Y3Rpb25OYW1lID0gbnVsbHB0cjsKICAgICBpZiAobWF0Y2goSURFTlQpKSB7CiAgICAgICAgIGlu
Zm8ubmFtZSA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICBtX2xhc3RGdW5jdGlvbk5h
bWUgPSBpbmZvLm5hbWU7CkBAIC0xMzI0LDcgKzEzODIsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVC
dWlsZAogICAgICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVUb0tleXdvcmQoc3RyaW5nRm9yRnVuY3Rp
b25Nb2RlKG1vZGUpLCAiIG5hbWUiKTsKICAgICAgICAgZmFpbFdpdGhNZXNzYWdlKCJFeHBlY3Rl
ZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSks
ICIncyBwYXJhbWV0ZXIgbGlzdCIpOwogICAgIH0KLQorICAgIAogICAgIGlmIChtb2RlID09IEdl
dHRlck1vZGUpCiAgICAgICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJFTiwgImdldHRlciBmdW5j
dGlvbnMgbXVzdCBoYXZlIG5vIHBhcmFtZXRlcnMiKTsKICAgICBlbHNlIGlmIChtb2RlID09IFNl
dHRlck1vZGUpIHsKQEAgLTEzNDEsMTYgKzEzOTksNzkgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVp
bGQKICAgICAgICAgfQogICAgICAgICBjb25zdW1lT3JGYWlsKENMT1NFUEFSRU4sICJFeHBlY3Rl
ZCBhICcpJyBvciBhICcsJyBhZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOwogICAgIH0K
KyAgICAKKyAgICByZXR1cm4gcGFyYW1ldGVyc1N0YXJ0OworfQogCi0gICAgbWF0Y2hPckZhaWwo
T1BFTkJSQUNFLCAiRXhwZWN0ZWQgYW4gb3BlbmluZyAneycgYXQgdGhlIHN0YXJ0IG9mIGEgIiwg
c3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4gdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBpbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dG
dW5jdGlvblBhcmFtdGVycyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25QYXJzZU1vZGUg
bW9kZSwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYgaW5mbykKK3sKKyAgICBpbnQg
cGFyYW1ldGVyc1N0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OworICAgIGlm
ICghbWF0Y2goSURFTlQpICYmICFtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgIHNlbWFudGlj
RmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSIp
OworICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVkIGFuIGFycm93IGZ1bmN0aW9uIGlu
cHV0IHBhcmFtZXRlciIpOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChtYXRjaChPUEVOUEFS
RU4pKSB7CisgICAgICAgICAgICBjb25zdW1lKE9QRU5QQVJFTik7CisgICAgICAgICAgICAKKyAg
ICAgICAgICAgIGlmICghbWF0Y2goQ0xPU0VQQVJFTikpIHsKKyAgICAgICAgICAgICAgICBpbmZv
LnBhcmFtZXRlcnMgPSBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoY29udGV4dCk7CisgICAgICAgICAg
ICAgICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRl
cnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBBUkVOLCAi
RXhwZWN0ZWQgYSAnKScgb3IgYSAnLCcgYWZ0ZXIgYSBwYXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsK
KyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGF1dG8gcGFyYW1ldGVyID0gcGFyc2VEZWNv
bnN0cnVjdGlvblBhdHRlcm4oY29udGV4dCwgRGVjb25zdHJ1Y3RUb1BhcmFtZXRlcnMpOworICAg
ICAgICAgICAgZmFpbElmRmFsc2UocGFyYW1ldGVyLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlciBw
YXR0ZXJuIik7CisgICAgICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBjb250ZXh0LmNyZWF0ZUZv
cm1hbFBhcmFtZXRlckxpc3QocGFyYW1ldGVyKTsKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKGlu
Zm8ucGFyYW1ldGVycywgIkNhbm5vdCBwYXJzZSBwYXJhbWV0ZXJzIGZvciB0aGlzICIsIHN0cmlu
Z0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7CisgICAgICAgIH0KKyAgICB9CisgICAgCisgICAgcmV0
dXJuIHBhcmFtZXRlcnNTdGFydDsKK30KKyNlbmRpZgogCi0gICAgLy8gQnl0ZWNvZGVHZW5lcmF0
b3IgZW1pdHMgY29kZSB0byB0aHJvdyBUeXBlRXJyb3Igd2hlbiBhIGNsYXNzIGNvbnN0cnVjdG9y
IGlzICJjYWxsImVkLgotICAgIC8vIFNldCBDb25zdHJ1Y3RvcktpbmQgdG8gTm9uZSBmb3Igbm9u
LWNvbnN0cnVjdG9yIG1ldGhvZHMgb2YgY2xhc3Nlcy4KLSAgICBib29sIGlzQ2xhc3NDb25zdHJ1
Y3RvciA9IG1vZGUgPT0gTWV0aG9kTW9kZSAmJiBpbmZvLm5hbWUgJiYgKmluZm8ubmFtZSA9PSBt
X3ZtLT5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvcjsKLSAgICBpZiAobV9kZWZhdWx0Q29uc3Ry
dWN0b3JLaW5kICE9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSkgewotICAgICAgICBvd25lckNsYXNz
S2luZCA9IG1fZGVmYXVsdENvbnN0cnVjdG9yS2luZDsKLSAgICAgICAgaXNDbGFzc0NvbnN0cnVj
dG9yID0gdHJ1ZTsKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZv
KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblJlcXVpcmVtZW50cyByZXF1aXJlbWVudHMs
IEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUsCisgICAgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29w
ZSwgQ29uc3RydWN0b3JLaW5kIG93bmVyQ2xhc3NLaW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3Rh
cnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mIGluZm8sIEZ1bmN0aW9uUGFyc2VU
eXBlIHBhcnNlVHlwZSkKK3sKKyAgICBBdXRvUG9wU2NvcGVSZWYgZnVuY3Rpb25TY29wZSh0aGlz
LCBwdXNoU2NvcGUoKSk7CisgICAgZnVuY3Rpb25TY29wZS0+c2V0SXNGdW5jdGlvbigpOworICAg
IGludCBmdW5jdGlvbk5hbWVTdGFydCA9IG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsK
KyAgICBjb25zdCBJZGVudGlmaWVyKiBsYXN0RnVuY3Rpb25OYW1lID0gbV9sYXN0RnVuY3Rpb25O
YW1lOworICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IG51bGxwdHI7CisgICAgaW50IHBhcmFtZXRl
cnNTdGFydDsKKyAgICBib29sIGlzQ2xhc3NDb25zdHJ1Y3RvcjsKKyAgICAKKyAgICBzd2l0Y2gg
KHBhcnNlVHlwZSkgeworICAgIGNhc2UgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZTogeworICAg
ICAgICBwYXJhbWV0ZXJzU3RhcnQgPSBwYXJzZUZ1bmN0aW9uUGFyYW10ZXJzKGNvbnRleHQsIHJl
cXVpcmVtZW50cywgbW9kZSwgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIGZ1bmN0aW9uU2NvcGUs
IGluZm8pOworICAgICAgICAgICAgCisgICAgICAgIG1hdGNoT3JGYWlsKE9QRU5CUkFDRSwgIkV4
cGVjdGVkIGFuIG9wZW5pbmcgJ3snIGF0IHRoZSBzdGFydCBvZiBhICIsIHN0cmluZ0ZvckZ1bmN0
aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7CisgICAgICAgIAorICAgICAgICAvLyBCeXRlY29kZUdl
bmVyYXRvciBlbWl0cyBjb2RlIHRvIHRocm93IFR5cGVFcnJvciB3aGVuIGEgY2xhc3MgY29uc3Ry
dWN0b3IgaXMgImNhbGwiZWQuCisgICAgICAgIC8vIFNldCBDb25zdHJ1Y3RvcktpbmQgdG8gTm9u
ZSBmb3Igbm9uLWNvbnN0cnVjdG9yIG1ldGhvZHMgb2YgY2xhc3Nlcy4KKyAgICAgICAgaXNDbGFz
c0NvbnN0cnVjdG9yID0gbW9kZSA9PSBNZXRob2RNb2RlICYmIGluZm8ubmFtZSAmJiAqaW5mby5u
YW1lID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yOworICAgICAgICBpZiAobV9k
ZWZhdWx0Q29uc3RydWN0b3JLaW5kICE9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSkgeworICAgICAg
ICAgICAgb3duZXJDbGFzc0tpbmQgPSBtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQ7CisgICAgICAg
ICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSB0cnVlOworICAgICAgICB9CisgICAgICAgIGJyZWFr
OworICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ug
QXJyb3dGdW5jdGlvblBhcnNlVHlwZTogeworICAgICAgICBwYXJhbWV0ZXJzU3RhcnQgPSBwYXJz
ZUFycm93RnVuY3Rpb25QYXJhbXRlcnMoY29udGV4dCwgbW9kZSwgaW5mbyk7CisgICAgICAgIAor
ICAgICAgICBtYXRjaE9yRmFpbChBUlJPV0ZVTkNUSU9OLCAiRXhwZWN0ZWQgYSAnPT4nIGFmdGVy
IGFycm93IGZ1bmN0aW9uIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAgICAgICBpc0NsYXNz
Q29uc3RydWN0b3IgPSBmYWxzZTsKKyAgICAgICAgCisgICAgICAgIGluZm8uYXJyb3dGdW5jdGlv
bk9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKKyAgICAgICAgYnJlYWs7CiAgICAgfQor
I2VuZGlmCisgICAgfQorCiAgICAgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCA9IGlz
Q2xhc3NDb25zdHJ1Y3RvciA/IG93bmVyQ2xhc3NLaW5kIDogQ29uc3RydWN0b3JLaW5kOjpOb25l
OwogCiAgICAgaW5mby5vcGVuQnJhY2VPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CkBA
IC0xMzg0LDggKzE1MDUsMTUgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgZmFp
bElmRmFsc2UocG9wU2NvcGUoZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZh
cmlhYmxlSW5mbyksICJQYXJzZXIgZXJyb3IiKTsKICAgICAgICAgCiAgICAgICAgIGluZm8uY2xv
c2VCcmFjZU9mZnNldCA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VPZmZzZXQ7Ci0KLSAgICAgICAg
bV90b2tlbiA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VUb2tlbigpOworICAgICAgICAKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAocGFyc2VUeXBlID09
IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpCisgICAgICAgICAgICBpbmZvLmZ1bmN0aW9uQm9keVR5
cGUgPSBjYWNoZWRJbmZvLT5pc0JvZHlBcnJvd0V4cHJlc3Npb24gPyAgQXJyb3dGdW5jdGlvbkJv
ZHlFeHByZXNzaW9uIDogQXJyb3dGdW5jdGlvbkJvZHlCbG9jazsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgaW5mby5mdW5jdGlvbkJvZHlUeXBlID0gU3RhbmRhcmRGdW5jdGlvbkJvZHlCbG9j
azsKKyNlbmRpZgorICAgICAgICBtX3Rva2VuID0gY2FjaGVkSW5mby0+ZW5kRnVuY3Rpb25Ub2tl
bigpOworICAgICAgICAKICAgICAgICAgaWYgKGVuZENvbHVtbklzT25TdGFydExpbmUpCiAgICAg
ICAgICAgICBtX3Rva2VuLm1fbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVT
dGFydE9mZnNldDsKIApAQCAtMTM5NCwxMyArMTUyMiw0MyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVC
dWlsZAogCiAgICAgICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KGluZm8uYm9keSwgbV9sZXhlci0+
Y3VycmVudE9mZnNldCgpKTsKICAgICAgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICAgICAgaWYgKHBhcnNlVHlwZSAhPSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBl
IHx8IGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrKQorICAg
ICAgICAgICAgbmV4dCgpOworI2Vsc2UKICAgICAgICAgbmV4dCgpOworI2VuZGlmCiAgICAgICAg
IGluZm8uYm9keUVuZExpbmUgPSBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmU7CiAgICAgICAg
IHJldHVybiB0cnVlOwogICAgIH0KKyAgICAKICAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBsYXN0
RnVuY3Rpb25OYW1lOwogICAgIFBhcnNlclN0YXRlIG9sZFN0YXRlID0gc2F2ZVN0YXRlKCk7Ci0g
ICAgaW5mby5ib2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3Jk
U3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2lu
ZCk7CisgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAo
cGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgU2F2ZVBvaW50
IHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgICAgICBuZXh0KCk7CisgICAgICAg
IC8vIENoZWNrIGlmIGFycm93IGJvZHkgc3RhcnQgd2l0aCB7LiBJZiBpdCB0cnVlIGl0IG1lYW4g
dGhhdCBhcnJvdyBmdW5jdGlvbiBpcyBGYXQgYXJyb3cgZnVuY3Rpb24KKyAgICAgICAgLy8gYW5k
IHdlIG5lZWQgdXNlIGNvbW1vbiBhcHByb2FjaCB0byBwYXJzZSBmdW5jdGlvbiBib2R5CisgICAg
ICAgIGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9IG1hdGNoKE9QRU5CUkFDRSkgPyBBcnJvd0Z1bmN0
aW9uQm9keUJsb2NrIDogQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOworICAgIAorICAgICAg
ICBpZiAoaW5mby5mdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHsK
KyAgICAgICAgICAgIGluZm8ub3BlbkJyYWNlT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0
OworICAgICAgICAgICAgaW5mby5ib2R5U3RhcnRMaW5lID0gdG9rZW5MaW5lKCk7CisgICAgICAg
ICAgICBpbmZvLmJvZHlTdGFydENvbHVtbiA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldCAtIG1fdG9r
ZW4ubV9kYXRhLmxpbmVTdGFydE9mZnNldDsKKyAgICAgICAgCisgICAgICAgICAgICBpbmZvLmJv
ZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVu
Y3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kLCBTdGFuZGFy
ZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHJlc3Rv
cmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKKyAgICAgICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVu
Y3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFy
dCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQsIEFycm93RnVuY3Rpb25QYXJzZVR5
cGUpOworICAgICAgICB9CisgICAgfSBlbHNlCisgICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVu
Y3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFy
dCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQsIFN0YW5kYXJkRnVuY3Rpb25QYXJz
ZVR5cGUpOworI2Vsc2UKKyAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0
LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFy
dCwgY29uc3RydWN0b3JLaW5kLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNlbmRpZgor
ICAgIAogICAgIHJlc3RvcmVTdGF0ZShvbGRTdGF0ZSk7CiAgICAgZmFpbElmRmFsc2UoaW5mby5i
b2R5LCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25N
b2RlKG1vZGUpKTsKICAgICBjb250ZXh0LnNldEVuZE9mZnNldChpbmZvLmJvZHksIG1fbGV4ZXIt
PmN1cnJlbnRPZmZzZXQoKSk7CkBAIC0xNDMxLDE4ICsxNTg5LDMyIEBAIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8o
VHJlZUJ1aWxkCiAgICAgICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmUgPSBjbG9zZUJyYWNl
TGluZTsKICAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJyYWNlT2Zmc2V0ID0gaW5mby5jbG9zZUJy
YWNlT2Zmc2V0OwogICAgICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQg
PSBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlw
ZSkgeworICAgICAgICAgICAgcGFyYW1ldGVycy5pc0JvZHlBcnJvd0V4cHJlc3Npb24gPSBpbmZv
LmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOworICAgICAg
ICAgICAgcGFyYW1ldGVycy50b2tlblR5cGUgPSBtX3Rva2VuLm1fdHlwZTsKKyAgICAgICAgfQor
I2VuZGlmCiAgICAgICAgIGZ1bmN0aW9uU2NvcGUtPmZpbGxQYXJhbWV0ZXJzRm9yU291cmNlUHJv
dmlkZXJDYWNoZShwYXJhbWV0ZXJzKTsKICAgICAgICAgbmV3SW5mbyA9IFNvdXJjZVByb3ZpZGVy
Q2FjaGVJdGVtOjpjcmVhdGUocGFyYW1ldGVycyk7Ci0KICAgICB9CiAgICAgCiAgICAgZmFpbElm
RmFsc2UocG9wU2NvcGUoZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlh
YmxlSW5mbyksICJQYXJzZXIgZXJyb3IiKTsKKyAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIGlmICgocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5
cGUgJiYgaW5mby5mdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHx8
IHBhcnNlVHlwZSAhPSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIG1hdGNoT3JG
YWlsKENMT1NFQlJBQ0UsICJFeHBlY3RlZCBhIGNsb3NpbmcgJ30nIGFmdGVyIGEgIiwgc3RyaW5n
Rm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgbmV4dCgpOworICAgIH0g
ZWxzZQorICAgICAgICBmYWlsSWZGYWxzZShpc0VuZE9mQXJyb3dGdW5jdGlvbigpLCAiRXhwZWN0
ZWQgdGhlIGNsb3NpbmcgJzsnICcsJyAnXScgJyknICd9JyBhZnRlciBhcnJvdyBmdW5jdGlvbiIp
OworI2Vsc2UKICAgICBtYXRjaE9yRmFpbChDTE9TRUJSQUNFLCAiRXhwZWN0ZWQgYSBjbG9zaW5n
ICd9JyBhZnRlciBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7Cisg
ICAgbmV4dCgpOworI2VuZGlmCiAgICAgCiAgICAgaWYgKG5ld0luZm8pCiAgICAgICAgIG1fZnVu
Y3Rpb25DYWNoZS0+YWRkKGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBXVEY6Om1vdmUobmV3SW5mbykp
OwogICAgIAotICAgIG5leHQoKTsKICAgICBpbmZvLmJvZHlFbmRMaW5lID0gbV9sYXN0VG9rZW5F
bmRQb3NpdGlvbi5saW5lOwogICAgIHJldHVybiB0cnVlOwogfQpAQCAtMTQ1NSw3ICsxNjI3LDcg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGEKICAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRT
dGFydCA9IHRva2VuU3RhcnQoKTsKICAgICBuZXh0KCk7CiAgICAgUGFyc2VyRnVuY3Rpb25JbmZv
PFRyZWVCdWlsZGVyPiBpbmZvOwotICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhj
b250ZXh0LCBGdW5jdGlvbk5lZWRzTmFtZSwgRnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3Rv
cktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvKSksICJDYW5ub3QgcGFyc2Ug
dGhpcyBmdW5jdGlvbiIpOworICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250
ZXh0LCBGdW5jdGlvbk5lZWRzTmFtZSwgRnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3Rvcktp
bmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFy
c2VUeXBlKSksICJDYW5ub3QgcGFyc2UgdGhpcyBmdW5jdGlvbiIpOwogICAgIGZhaWxJZkZhbHNl
KGluZm8ubmFtZSwgIkZ1bmN0aW9uIHN0YXRlbWVudHMgbXVzdCBoYXZlIGEgbmFtZSIpOwogICAg
IGZhaWxJZkZhbHNlSWZTdHJpY3QoZGVjbGFyZVZhcmlhYmxlKGluZm8ubmFtZSksICJDYW5ub3Qg
ZGVjbGFyZSBhIGZ1bmN0aW9uIG5hbWVkICciLCBpbmZvLm5hbWUtPmltcGwoKSwgIicgaW4gc3Ry
aWN0IG1vZGUiKTsKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jRGVjbFN0YXRlbWVudChs
b2NhdGlvbiwgaW5mbyk7CkBAIC0xNTUwLDcgKzE3MjIsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVDbGFzc0V4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xh
c3MoVAogICAgICAgICAgICAgZmFpbElmRmFsc2UocHJvcGVydHksICJDYW5ub3QgcGFyc2UgdGhp
cyBtZXRob2QiKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIFBhcnNlckZ1bmN0aW9u
SW5mbzxUcmVlQnVpbGRlcj4gbWV0aG9kSW5mbzsKLSAgICAgICAgICAgIGZhaWxJZkZhbHNlKChw
YXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5lZWRzTmFtZSwgaXNTdGF0aWNNZXRo
b2QgPyBGdW5jdGlvbk1vZGUgOiBNZXRob2RNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBt
ZXRob2RTdGFydCwgbWV0aG9kSW5mbykpLCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9kIik7Cisg
ICAgICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rp
b25OZWVkc05hbWUsIGlzU3RhdGljTWV0aG9kID8gRnVuY3Rpb25Nb2RlIDogTWV0aG9kTW9kZSwg
ZmFsc2UsIGNvbnN0cnVjdG9yS2luZCwgbWV0aG9kU3RhcnQsIG1ldGhvZEluZm8sIFN0YW5kYXJk
RnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSB0aGlzIG1ldGhvZCIpOwogICAgICAg
ICAgICAgZmFpbElmRmFsc2UobWV0aG9kSW5mby5uYW1lLCAibWV0aG9kIG11c3QgaGF2ZSBhIG5h
bWUiKTsKICAgICAgICAgICAgIGZhaWxJZkZhbHNlKGRlY2xhcmVWYXJpYWJsZShtZXRob2RJbmZv
Lm5hbWUpLCAiQ2Fubm90IGRlY2xhcmUgYSBtZXRob2QgbmFtZWQgJyIsIG1ldGhvZEluZm8ubmFt
ZS0+aW1wbCgpLCAiJyIpOwogCkBAIC0xNzY2LDYgKzE5MzgsMTggQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlmU3Rh
dGVtZW50KFQKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVJZlN0YXRlbWVudChpZkxvY2F0aW9u
LCBjb25kaXRpb24sIHRydWVCbG9jaywgc3RhdGVtZW50U3RhY2subGFzdCgpLCBzdGFydCwgZW5k
KTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8
dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhw
cmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihU
cmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7CisgICAg
VHJlZUV4cHJlc3Npb24gbm9kZSA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24oY29udGV4dCk7
CisgICAgZmFpbElmRmFsc2Uobm9kZSwgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9uIik7CisgICAg
Y29udGV4dC5zZXRFbmRPZmZzZXQobm9kZSwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5vZmZzZXQp
OworICAgIHJldHVybiBub2RlOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhl
clR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7CkBA
IC0xODEzLDYgKzE5OTcsNDEgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBUcmVl
RXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KICAgICAgICAgfQog
ICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CiAgICAgfQorCisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rp
b25Qb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgIGJvb2wgYXJyb3dGdW5jdGlvbkVtcHR5
TGlzdCA9IGZhbHNlOworICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgIG5leHQo
KTsKKyAgICAgICAgaWYgKG1hdGNoKENMT1NFUEFSRU4pKSB7CisgICAgICAgICAgICBuZXh0KCk7
CisKKyAgICAgICAgICAgIGlmIChtYXRjaChBUlJPV0ZVTkNUSU9OKSkKKyAgICAgICAgICAgICAg
ICBhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0ID0gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIGlm
ICghYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCkKKyAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQo
c2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAgfQorCisgICAgVHJlZUV4cHJlc3Npb24gbGhz
OworICAgIGlmICghYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCkgeworICAgICAgICBsaHMgPSBwYXJz
ZUNvbmRpdGlvbmFsRXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICAgICAgZmFpbElmRmFsc2UobGhz
LCAiQ2FuGW5vdCBwYXJzZSBleHByZXNzaW9uIik7CisgICAgICAgIGlmIChpbml0aWFsTm9uTEhT
Q291bnQgIT0gbV9ub25MSFNDb3VudCkgeworICAgICAgICAgICAgaWYgKG1fdG9rZW4ubV90eXBl
ID49IEVRVUFMICYmIG1fdG9rZW4ubV90eXBlIDw9IE9SRVFVQUwpCisgICAgICAgICAgICAgICAg
c2VtYW50aWNGYWlsKCJMZWZ0IGhhbmQgc2lkZSBvZiBvcGVyYXRvciAnIiwgZ2V0VG9rZW4oKSwg
IicgbXVzdCBiZSBhIHJlZmVyZW5jZSIpOworCisgICAgICAgICAgICByZXR1cm4gbGhzOworICAg
ICAgICB9CisgICAgfQorCisgICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJT04pKSB7CisgICAgICAg
IHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAgICAgIGxocyA9
IHBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoY29udGV4dCk7CisgICAgICAgIHJldHVybiBsaHM7
CisgICAgfQorI2Vsc2UKICAgICBUcmVlRXhwcmVzc2lvbiBsaHMgPSBwYXJzZUNvbmRpdGlvbmFs
RXhwcmVzc2lvbihjb250ZXh0KTsKICAgICBmYWlsSWZGYWxzZShsaHMsICJDYW5ub3QgcGFyc2Ug
ZXhwcmVzc2lvbiIpOwogICAgIGlmIChpbml0aWFsTm9uTEhTQ291bnQgIT0gbV9ub25MSFNDb3Vu
dCkgewpAQCAtMTgyMSw3ICsyMDQwLDggQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVy
PiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KIAogICAg
ICAgICByZXR1cm4gbGhzOwogICAgIH0KLSAgICAKKyNlbmRpZgorCiAgICAgaW50IGFzc2lnbm1l
bnRTdGFjayA9IDA7CiAgICAgT3BlcmF0b3Igb3A7CiAgICAgYm9vbCBoYWRBc3NpZ25tZW50ID0g
ZmFsc2U7CkBAIC0yMDUzLDcgKzIyNzMsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5TWV0aAogICAg
IEpTVG9rZW5Mb2NhdGlvbiBtZXRob2RMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwogICAgIHVu
c2lnbmVkIG1ldGhvZFN0YXJ0ID0gdG9rZW5TdGFydCgpOwogICAgIFBhcnNlckZ1bmN0aW9uSW5m
bzxUcmVlQnVpbGRlcj4gbWV0aG9kSW5mbzsKLSAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlv
bkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgTWV0aG9kTW9kZSwgZmFsc2Us
IENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgbWV0aG9kU3RhcnQsIG1ldGhvZEluZm8pKSwgIkNhbm5v
dCBwYXJzZSB0aGlzIG1ldGhvZCIpOworICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5m
byhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBNZXRob2RNb2RlLCBmYWxzZSwgQ29u
c3RydWN0b3JLaW5kOjpOb25lLCBtZXRob2RTdGFydCwgbWV0aG9kSW5mbywgU3RhbmRhcmRGdW5j
dGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9kIik7CiAgICAgbWV0aG9k
SW5mby5uYW1lID0gbWV0aG9kTmFtZTsKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlv
bkV4cHIobWV0aG9kTG9jYXRpb24sIG1ldGhvZEluZm8pOwogfQpAQCAtMjA3NSwxMCArMjI5NSwx
MCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VHZXR0ZXJTZXR0ZXIoVAogICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVl
QnVpbGRlcj4gaW5mbzsKICAgICBpZiAodHlwZSA9PSBQcm9wZXJ0eU5vZGU6OkdldHRlcikgewog
ICAgICAgICBmYWlsSWZGYWxzZShtYXRjaChPUEVOUEFSRU4pLCAiRXhwZWN0ZWQgYSBwYXJhbWV0
ZXIgbGlzdCBmb3IgZ2V0dGVyIGRlZmluaXRpb24iKTsKLSAgICAgICAgZmFpbElmRmFsc2UoKHBh
cnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEdldHRlck1v
ZGUsIGZhbHNlLCBjb25zdHJ1Y3RvcktpbmQsIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIGlu
Zm8pKSwgIkNhbm5vdCBwYXJzZSBnZXR0ZXIgZGVmaW5pdGlvbiIpOworICAgICAgICBmYWlsSWZG
YWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywg
R2V0dGVyTW9kZSwgZmFsc2UsIGNvbnN0cnVjdG9yS2luZCwgZ2V0dGVyT3JTZXR0ZXJTdGFydE9m
ZnNldCwgaW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIGdl
dHRlciBkZWZpbml0aW9uIik7CiAgICAgfSBlbHNlIHsKICAgICAgICAgZmFpbElmRmFsc2UobWF0
Y2goT1BFTlBBUkVOKSwgIkV4cGVjdGVkIGEgcGFyYW1ldGVyIGxpc3QgZm9yIHNldHRlciBkZWZp
bml0aW9uIik7Ci0gICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0
LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBTZXR0ZXJNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JL
aW5kLCBnZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBpbmZvKSksICJDYW5ub3QgcGFyc2Ugc2V0
dGVyIGRlZmluaXRpb24iKTsKKyAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZv
KGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIFNldHRlck1vZGUsIGZhbHNlLCBjb25z
dHJ1Y3RvcktpbmQsIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIGluZm8sIFN0YW5kYXJkRnVu
Y3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSBzZXR0ZXIgZGVmaW5pdGlvbiIpOwogICAg
IH0KICAgICBpZiAoc3RyaW5nUHJvcGVydHlOYW1lKQogICAgICAgICByZXR1cm4gY29udGV4dC5j
cmVhdGVHZXR0ZXJPclNldHRlclByb3BlcnR5KGxvY2F0aW9uLCB0eXBlLCBzdHJpY3QsIHN0cmlu
Z1Byb3BlcnR5TmFtZSwgaW5mbywgc3VwZXJCaW5kaW5nKTsKQEAgLTIyNjcsNyArMjQ4Nyw3IEBA
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAgICAgIG5leHQoKTsKICAgICAgICAgUGFyc2Vy
RnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOwogICAgICAgICBpbmZvLm5hbWUgPSAmbV92
bS0+cHJvcGVydHlOYW1lcy0+bnVsbElkZW50aWZpZXI7Ci0gICAgICAgIGZhaWxJZkZhbHNlKChw
YXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlv
bk1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0
LCBpbmZvKSksICJDYW5ub3QgcGFyc2UgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgICAgICBm
YWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVt
ZW50cywgRnVuY3Rpb25Nb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBmdW5jdGlv
bktleXdvcmRTdGFydCwgaW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90
IHBhcnNlIGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3Jl
YXRlRnVuY3Rpb25FeHByKGxvY2F0aW9uLCBpbmZvKTsKICAgICB9CiAjaWYgRU5BQkxFKEVTNl9D
TEFTU19TWU5UQVgpCkBAIC0yMjk2LDYgKzI1MTYsMjMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhw
cmUKICAgICAgICAgcmV0dXJuIGNvbnRleHQudGhpc0V4cHIobG9jYXRpb24sIG1fdGhpc1REWk1v
ZGUpOwogICAgIH0KICAgICBjYXNlIElERU5UOiB7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBj
cmVhdGVTYXZlUG9pbnQoKTsKKyAgICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0
YXJ0UG9zaXRpb24oKTsKKyAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2Vu
Lm1fZGF0YS5pZGVudDsKKyAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9j
YXRpb24oKSk7CisgICAgICAgIG5leHQoKTsKKworICAgICAgICBpZiAoIW1hdGNoKEFSUk9XRlVO
Q1RJT04pKSB7CisgICAgICAgICAgICBjdXJyZW50U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRlbnQs
IG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmlkZW50KTsKKyAgICAgICAgICAgIG1fbGFz
dElkZW50aWZpZXIgPSBpZGVudDsKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJl
c29sdmUobG9jYXRpb24sIGlkZW50LCBzdGFydCk7CisgICAgICAgIH0KKworICAgICAgICByZXN0
b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICBUcmVlRXhwcmVz
c2lvbiBsaHMgPSBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKGNvbnRleHQpOworICAgICAgICBy
ZXR1cm4gbGhzOworI2Vsc2UKICAgICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0
YXJ0UG9zaXRpb24oKTsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2Vu
Lm1fZGF0YS5pZGVudDsKICAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9j
YXRpb24oKSk7CkBAIC0yMzAzLDYgKzI1NDAsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHByZQog
ICAgICAgICBjdXJyZW50U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRlbnQsIG1fdm0tPnByb3BlcnR5
TmFtZXMtPmV2YWwgPT0gKmlkZW50KTsKICAgICAgICAgbV9sYXN0SWRlbnRpZmllciA9IGlkZW50
OwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVSZXNvbHZlKGxvY2F0aW9uLCBpZGVudCwg
c3RhcnQpOworI2VuZGlmCiAgICAgfQogICAgIGNhc2UgU1RSSU5HOiB7CiAgICAgICAgIGNvbnN0
IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CkBAIC0yNDkwLDYgKzI3
MjgsMzIgQEAgZW5kTWVtYmVyRXhwcmVzc2lvbjoKICAgICByZXR1cm4gYmFzZTsKIH0KIAorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4
ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihUcmVlQnVpbGRlciYgY29u
dGV4dCkKK3sKKyAgICBUcmVlRXhwcmVzc2lvbiBiYXNlID0gMDsKKyAgICBKU1RleHRQb3NpdGlv
biBleHByZXNzaW9uU3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICBpbnQgbmV3Q291
bnQgPSAwOworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbjsKKworICAgIGlmIChtYXRjaChJ
REVOVCkgfHwgbWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICB1bnNpZ25lZCBmdW5jdGlvbktl
eXdvcmRTdGFydCA9IHRva2VuU3RhcnQoKTsKKyAgICAgICAgbG9jYXRpb24gPSB0b2tlbkxvY2F0
aW9uKCk7CisgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gaW5mbzsKKyAg
ICAgICAgaW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyOwor
ICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25O
b1JlcXVpcmVtZW50cywgRnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUs
IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvLCBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSksICJD
YW5ub3QgcGFyc2UgYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgICAgICBiYXNlID0g
Y29udGV4dC5jcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihsb2NhdGlvbiwgaW5mbyk7CisgICAgfSBl
bHNlCisgICAgICAgIGJhc2UgPSBwYXJzZVByaW1hcnlFeHByZXNzaW9uKGNvbnRleHQpOworCisg
ICAgZmFpbElmRmFsc2UoYmFzZSwgIkNhbm5vdCBwYXJzZSBiYXNlIGV4cHJlc3Npb24iKTsKKyAg
ICB3aGlsZSAobmV3Q291bnQtLSkKKyAgICAgICAgYmFzZSA9IGNvbnRleHQuY3JlYXRlTmV3RXhw
cihsb2NhdGlvbiwgYmFzZSwgZXhwcmVzc2lvblN0YXJ0LCBsYXN0VG9rZW5FbmRQb3NpdGlvbigp
KTsKKyAgICByZXR1cm4gYmFzZTsKK30KKyNlbmRpZgorCiBzdGF0aWMgY29uc3QgY2hhciogb3Bl
cmF0b3JTdHJpbmcoYm9vbCBwcmVmaXgsIHVuc2lnbmVkIHRvaykKIHsKICAgICBzd2l0Y2ggKHRv
aykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKaW5kZXggMGYyNzI4Zjg2MjFm
ODAxMGM0MTBiZjc5ODc2MTliZjIzZTUwYWY4Yi4uMDVjY2Q0YTUwNDg4NzRiMGNlOWQ3ZDljYTcy
ZmNiMTk3YmI3NjQyOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC04
MCw2ICs4MCwxMSBAQCBjbGFzcyBTb3VyY2VDb2RlOwogQ09NUElMRV9BU1NFUlQoTGFzdFVudGFn
Z2VkVG9rZW4gPCA2NCwgTGVzc1RoYW42NFVudGFnZ2VkVG9rZW5zKTsKIAogZW51bSBTb3VyY2VF
bGVtZW50c01vZGUgeyBDaGVja0ZvclN0cmljdE1vZGUsIERvbnRDaGVja0ZvclN0cmljdE1vZGUg
fTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorZW51bSBGdW5jdGlvblBh
cnNlVHlwZSB7IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUsIEFycm93RnVuY3Rpb25QYXJzZVR5
cGUgfTsKKyNlbHNlCitlbnVtIEZ1bmN0aW9uUGFyc2VUeXBlIHsgU3RhbmRhcmRGdW5jdGlvblBh
cnNlVHlwZX07CisjZW5kaWYKIGVudW0gRnVuY3Rpb25SZXF1aXJlbWVudHMgeyBGdW5jdGlvbk5v
UmVxdWlyZW1lbnRzLCBGdW5jdGlvbk5lZWRzTmFtZSB9OwogZW51bSBGdW5jdGlvblBhcnNlTW9k
ZSB7CiAgICAgRnVuY3Rpb25Nb2RlLApAQCAtNjE4LDYgKzYyMywxMyBAQCBwcml2YXRlOgogICAg
ICAgICByZXR1cm4gbV90b2tlbi5tX3R5cGUgPT0gSURFTlQgJiYgKm1fdG9rZW4ubV9kYXRhLmlk
ZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPm9mOwogICAgIH0KICAgICAKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEFMV0FZU19JTkxJTkUgYm9vbCBpc0VuZE9m
QXJyb3dGdW5jdGlvbigpCisgICAgeworICAgICAgICByZXR1cm4gbWF0Y2goU0VNSUNPTE9OKSB8
fCBtYXRjaChDT01NQSkgfHwgbWF0Y2goQ0xPU0VQQVJFTikgfHwgbWF0Y2goQ0xPU0VCUkFDRSkg
fHwgbWF0Y2goQ0xPU0VCUkFDS0VUKTsKKyAgICB9CisjZW5kaWYKKyAgICAKICAgICBBTFdBWVNf
SU5MSU5FIHVuc2lnbmVkIHRva2VuU3RhcnQoKQogICAgIHsKICAgICAgICAgcmV0dXJuIG1fdG9r
ZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKQEAgLTcyMSw5ICs3MzMsOSBAQCBwcml2YXRlOgog
ICAgICAgICB9CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIAotICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNlU291cmNlRWxl
bWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUpOwotICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRl
ciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRl
cmFsTGVuZ3RoID0gMCk7CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
b3VyY2VFbGVtZW50cyBwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxl
bWVudHNNb2RlLCBGdW5jdGlvblBhcnNlVHlwZSk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiwgY29uc3Qg
SWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgg
PSAwLCBGdW5jdGlvblBhcnNlVHlwZSB0eXBlID0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7
CiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQ2xhc3NEZWNsYXJhdGlvbihUcmVlQnVpbGRlciYp
OwogI2VuZGlmCkBAIC03NjIsMTcgKzc3NCwyNiBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IHBhcnNlUHJvcGVydHkoVHJlZUJ1aWxkZXIm
LCBib29sIHN0cmljdCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhw
cmVzc2lvbiBwYXJzZVByb3BlcnR5TWV0aG9kKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJ
ZGVudGlmaWVyKiBtZXRob2ROYW1lKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVQcm9wZXJ0eSBwYXJzZUdldHRlclNldHRlcihUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0
LCBQcm9wZXJ0eU5vZGU6OlR5cGUsIHVuc2lnbmVkIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQs
IENvbnN0cnVjdG9yS2luZCA9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJCaW5kaW5nID0g
U3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQpOwotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gQUxXQVlTX0lOTElORSBUcmVlRnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rpb25Cb2R5KFRyZWVC
dWlsZGVyJiwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQs
IGludCBwYXJhbWV0ZXJzU3RhcnQsIENvbnN0cnVjdG9yS2luZCk7CisgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VGdW5j
dGlvbkJvZHkoVHJlZUJ1aWxkZXImLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5j
dGlvbk5hbWVTdGFydCwgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kLCBGdW5j
dGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0IHBhcnNlRm9y
bWFsUGFyYW1ldGVycyhUcmVlQnVpbGRlciYpOwogICAgIGVudW0gVmFyRGVjbGFyYXRpb25MaXN0
Q29udGV4dCB7IEZvckxvb3BDb250ZXh0LCBWYXJEZWNsYXJhdGlvbkNvbnRleHQgfTsKICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlVmFyRGVjbGFy
YXRpb25MaXN0KFRyZWVCdWlsZGVyJiwgaW50JiBkZWNsYXJhdGlvbnMsIFRyZWVEZWNvbnN0cnVj
dGlvblBhdHRlcm4mIGxhc3RQYXR0ZXJuLCBUcmVlRXhwcmVzc2lvbiYgbGFzdEluaXRpYWxpemVy
LCBKU1RleHRQb3NpdGlvbiYgaWRlbnRTdGFydCwgSlNUZXh0UG9zaXRpb24mIGluaXRTdGFydCwg
SlNUZXh0UG9zaXRpb24mIGluaXRFbmQsIFZhckRlY2xhcmF0aW9uTGlzdENvbnRleHQpOwogICAg
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVDb25zdERlY2xM
aXN0IHBhcnNlQ29uc3REZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImKTsKIAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWls
ZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBh
cnNlQXJyb3dGdW5jdGlvblN0YXRlbWVudChUcmVlQnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBl
cihUcmVlQnVpbGRlciYpOworI2VuZGlmCisKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIGNyZWF0ZUJpbmRpbmdQ
YXR0ZXJuKFRyZWVCdWlsZGVyJiwgRGVjb25zdHJ1Y3Rpb25LaW5kLCBjb25zdCBJZGVudGlmaWVy
JiwgaW50IGRlcHRoLCBKU1Rva2VuKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIHBhcnNlRGVjb25zdHJ1Y3Rp
b25QYXR0ZXJuKFRyZWVCdWlsZGVyJiwgRGVjb25zdHJ1Y3Rpb25LaW5kLCBpbnQgZGVwdGggPSAw
KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVj
b25zdHJ1Y3Rpb25QYXR0ZXJuIHRyeVBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuRXhwcmVzc2lv
bihUcmVlQnVpbGRlciYpOwotCi0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZF
Ul9JTkxJTkUgYm9vbCBwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVx
dWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSwgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29w
ZSwgQ29uc3RydWN0b3JLaW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0
aW9uSW5mbzxUcmVlQnVpbGRlcj4mKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IE5FVkVSX0lOTElORSBpbnQgcGFyc2VGdW5jdGlvblBhcmFtdGVycyhUcmVlQnVpbGRlciYsIEZ1
bmN0aW9uUmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSwgYm9vbCwgQXV0b1BvcFNjb3Bl
UmVmJiwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYpOworI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBO
RVZFUl9JTkxJTkUgaW50IHBhcnNlQXJyb3dGdW5jdGlvblBhcmFtdGVycyhUcmVlQnVpbGRlciYs
IEZ1bmN0aW9uUGFyc2VNb2RlLCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+Jik7Cisj
ZW5kaWYKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBib29s
IHBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIEZ1
bmN0aW9uUGFyc2VNb2RlLCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3Rv
cktpbmQsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVC
dWlsZGVyPiYsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBlKTsKICNpZiBFTkFC
TEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5F
VkVSX0lOTElORSBUcmVlQ2xhc3NFeHByZXNzaW9uIHBhcnNlQ2xhc3MoVHJlZUJ1aWxkZXImLCBG
dW5jdGlvblJlcXVpcmVtZW50cywgUGFyc2VyQ2xhc3NJbmZvPFRyZWVCdWlsZGVyPiYpOwogI2Vu
ZGlmCkBAIC03ODksNiArODEwLDE0IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBhbGxvd0F1
dG9tYXRpY1NlbWljb2xvbigpOwogICAgIH0KICAgICAKKworI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgdm9pZCBzZXRFbmRPZlN0YXRlbWVudCgpCisgICAgeworICAg
ICAgICBtX2xleGVyLT5zZXRUb2tlblBvc2l0aW9uKCZtX3Rva2VuKTsKKyAgICB9CisjZW5kaWYK
KwogICAgIGJvb2wgY2FuUmVjdXJzZSgpCiAgICAgewogICAgICAgICByZXR1cm4gbV92bS0+aXNT
YWZlVG9SZWN1cnNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1BhcnNlckZ1bmN0aW9uSW5mby5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJz
ZXJGdW5jdGlvbkluZm8uaAppbmRleCA2YjczNjI4MmUyZDJhODFiYzYzZGMyZjNjMGU1YWU4Yzg1
OGNkMWY4Li4wY2RlMGM2N2E5ZGUwZWRmMzQxNDRlMzI3OTFlNWU5MGI0YTIxNTE0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKQEAg
LTI4LDYgKzI4LDEwIEBACiAKIG5hbWVzcGFjZSBKU0MgewogCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKK2VudW0gRnVuY3Rpb25Cb2R5VHlwZSB7IEFycm93RnVuY3Rpb25C
b2R5RXhwcmVzc2lvbiwgQXJyb3dGdW5jdGlvbkJvZHlCbG9jaywgU3RhbmRhcmRGdW5jdGlvbkJv
ZHlCbG9jayB9OworI2VuZGlmCisKIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4KIHN0cnVj
dCBQYXJzZXJGdW5jdGlvbkluZm8gewogICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUgPSAwOwpA
QCAtMzgsNiArNDIsMTEgQEAgc3RydWN0IFBhcnNlckZ1bmN0aW9uSW5mbyB7CiAgICAgaW50IGJv
ZHlTdGFydExpbmUgPSAwOwogICAgIGludCBib2R5RW5kTGluZSA9IDA7CiAgICAgdW5zaWduZWQg
Ym9keVN0YXJ0Q29sdW1uID0gMDsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgIHVuc2lnbmVkIGFycm93RnVuY3Rpb25PZmZzZXQgPSAwOworICAgIGJvb2wgaXNBcnJv
d0Z1bmN0aW9uID0gZmFsc2U7CisgICAgRnVuY3Rpb25Cb2R5VHlwZSBmdW5jdGlvbkJvZHlUeXBl
ID0gU3RhbmRhcmRGdW5jdGlvbkJvZHlCbG9jazsKKyNlbmRpZgogfTsKIAogI2lmIEVOQUJMRShF
UzZfQ0xBU1NfU1lOVEFYKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXJUb2tlbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9r
ZW5zLmgKaW5kZXggODMyOWY4MmE5YjJmZjkxNWQxZjI0MWMxZjhiZmZhZDQyNDdhNWYwYi4uYzhi
MTY2ZTBlYWQ3ZDJkYTcxOWU3NmM0YTJmMDlhZmYxZDc0ZDdhYyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCkBAIC03NSw2ICs3NSw5IEBAIGVudW0gSlNU
b2tlblR5cGUgewogICAgIEZJTkFMTFksCiAgICAgREVCVUdHRVIsCiAgICAgRUxTRSwKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEFSUk9XRlVOQ1RJT04sCisjZW5k
aWYKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICBDTEFTU1RPS0VOLAogICAgIEVY
VEVORFMsCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNv
ZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCmluZGV4IDcz
ZDIzZGI4MmFmMjVlYTQ2YzBmODk3ODVjZTQyNGJiNjBlYjYxYTcuLjUwZDUyNjM5Nzk0M2UzODFk
MzgwZWM0M2Q4MmQ1YjYzZjdmMDhkYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvU291cmNlQ29kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
U291cmNlQ29kZS5oCkBAIC0xMDUsNiArMTA1LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
IAogICAgICAgICBTb3VyY2VDb2RlIHN1YkV4cHJlc3Npb24odW5zaWduZWQgb3BlbkJyYWNlLCB1
bnNpZ25lZCBjbG9zZUJyYWNlLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOwogCisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgU291cmNlQ29kZSBz
dWJBcnJvd0V4cHJlc3Npb24odW5zaWduZWQgc3RhcnRBcnJvd0Z1bmN0aW9uLCB1bnNpZ25lZCBl
bmRBcnJvd0Z1bmN0aW9uLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOworI2VuZGlm
CiAgICAgcHJpdmF0ZToKICAgICAgICAgUmVmUHRyPFNvdXJjZVByb3ZpZGVyPiBtX3Byb3ZpZGVy
OwogICAgICAgICBpbnQgbV9zdGFydENoYXI7CkBAIC0xMTgsNiArMTIxLDE3IEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgICAgICByZXR1cm4gU291cmNlQ29kZShTdHJpbmdTb3VyY2VQcm92aWRlcjo6
Y3JlYXRlKHNvdXJjZSwgdXJsLCBzdGFydFBvc2l0aW9uKSwgc3RhcnRQb3NpdGlvbi5tX2xpbmUu
b25lQmFzZWRJbnQoKSwgc3RhcnRQb3NpdGlvbi5tX2NvbHVtbi5vbmVCYXNlZEludCgpKTsKICAg
ICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlubGluZSBT
b3VyY2VDb2RlIFNvdXJjZUNvZGU6OnN1YkFycm93RXhwcmVzc2lvbih1bnNpZ25lZCBzdGFydEFy
cm93RnVuY3Rpb24sIHVuc2lnbmVkIGVuZEFycm93RnVuY3Rpb24sIGludCBmaXJzdExpbmUsIGlu
dCBzdGFydENvbHVtbikKKyAgICB7CisgICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2Uo
KVtzdGFydEFycm93RnVuY3Rpb25dID09ICc9JyAmJiBwcm92aWRlcigpLT5zb3VyY2UoKVtzdGFy
dEFycm93RnVuY3Rpb24gKyAxXSA9PSAnPicpOworICAgICAgICAvLyBGaXhtZTogVXNlIGJldHRl
ciBhcHByb2FjaCB0byBjaGVjayBzeW1ib2wKKyAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNv
dXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnLCcgfHwgcHJvdmlkZXIoKS0+c291cmNl
KClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICc7JyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtl
bmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJyknIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFy
cm93RnVuY3Rpb24gLSAxXSA9PSAnXScgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dG
dW5jdGlvbiAtIDFdID09ICd9Jyk7CisgICAgICAgIHN0YXJ0Q29sdW1uICs9IDE7IC8vIENvbnZl
cnQgdG8gYmFzZSAxLgorICAgICAgICByZXR1cm4gU291cmNlQ29kZShwcm92aWRlcigpLCBzdGFy
dEFycm93RnVuY3Rpb24sIGVuZEFycm93RnVuY3Rpb24sIGZpcnN0TGluZSwgc3RhcnRDb2x1bW4p
OworICAgIH0KKyNlbmRpZgorCiAgICAgaW5saW5lIFNvdXJjZUNvZGUgU291cmNlQ29kZTo6c3Vi
RXhwcmVzc2lvbih1bnNpZ25lZCBvcGVuQnJhY2UsIHVuc2lnbmVkIGNsb3NlQnJhY2UsIGludCBm
aXJzdExpbmUsIGludCBzdGFydENvbHVtbikKICAgICB7CiAgICAgICAgIEFTU0VSVChwcm92aWRl
cigpLT5zb3VyY2UoKVtvcGVuQnJhY2VdID09ICd7Jyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKaW5kZXggNjM1Mzc5
ZTNmNDQ1NjY4YzUyYjg3MmY3NjE2ZGNiNTkyMWE4Mjk0NC4uZjQyOGRiNTBhOGRhN2E3YWI0Njgy
NGFiMzgwODNkYjA1MmQ3Mzc3NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaApAQCAtNDAsNiArNDAsMTAgQEAgc3Ry
dWN0IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBib29s
IG5lZWRzRnVsbEFjdGl2YXRpb247CiAgICAgYm9vbCB1c2VzRXZhbDsKICAgICBib29sIHN0cmlj
dE1vZGU7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBib29sIGlz
Qm9keUFycm93RXhwcmVzc2lvbjsKKyAgICBKU1Rva2VuVHlwZSB0b2tlblR5cGU7CisjZW5kaWYK
ICAgICBWZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiB1c2VkVmFyaWFibGVzOwogICAgIFZlY3Rv
cjxSZWZQdHI8U3RyaW5nSW1wbD4+IHdyaXR0ZW5WYXJpYWJsZXM7CiB9OwpAQCAtNTUsMTAgKzU5
LDE0IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFNvdXJjZVByb3ZpZGVy
Q2FjaGVJdGVtPiBjcmVhdGUoY29uc3QgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBh
cmFtZXRlcnMmKTsKICAgICB+U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0oKTsKIAotICAgIEpTVG9r
ZW4gY2xvc2VCcmFjZVRva2VuKCkgY29uc3QgCisgICAgSlNUb2tlbiBlbmRGdW5jdGlvblRva2Vu
KCkgY29uc3QgCiAgICAgewogICAgICAgICBKU1Rva2VuIHRva2VuOworI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIHRva2VuLm1fdHlwZSA9IGlzQm9keUFycm93
RXhwcmVzc2lvbiA/IHRva2VuVHlwZSA6IENMT1NFQlJBQ0U7CisjZWxzZQogICAgICAgICB0b2tl
bi5tX3R5cGUgPSBDTE9TRUJSQUNFOworI2VuZGlmCiAgICAgICAgIHRva2VuLm1fZGF0YS5vZmZz
ZXQgPSBjbG9zZUJyYWNlT2Zmc2V0OwogICAgICAgICB0b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zm
c2V0ID0gY2xvc2VCcmFjZU9mZnNldDsKICAgICAgICAgdG9rZW4ubV9sb2NhdGlvbi5lbmRPZmZz
ZXQgPSBjbG9zZUJyYWNlT2Zmc2V0ICsgMTsKQEAgLTgyLDYgKzkwLDExIEBAIHB1YmxpYzoKICAg
ICB1bnNpZ25lZCB1c2VkVmFyaWFibGVzQ291bnQ7CiAgICAgdW5zaWduZWQgd3JpdHRlblZhcmlh
Ymxlc0NvdW50OwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBi
b29sIGlzQm9keUFycm93RXhwcmVzc2lvbjsKKyAgICBKU1Rva2VuVHlwZSB0b2tlblR5cGU7Cisj
ZW5kaWYKKwogICAgIFN0cmluZ0ltcGwqKiB1c2VkVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4g
Y29uc3RfY2FzdDxTdHJpbmdJbXBsKio+KG1fdmFyaWFibGVzKTsgfQogICAgIFN0cmluZ0ltcGwq
KiB3cml0dGVuVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxTdHJpbmdJbXBs
Kio+KCZtX3ZhcmlhYmxlc1t1c2VkVmFyaWFibGVzQ291bnRdKTsgfQogCkBAIC0xMTUsNiArMTI4
LDEwIEBAIGlubGluZSBTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6U291cmNlUHJvdmlkZXJDYWNo
ZUl0ZW0oY29uc3QgU291cmNlUHJvdmlkZXJDYWNoCiAgICAgLCBjbG9zZUJyYWNlTGluZVN0YXJ0
T2Zmc2V0KHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldCkKICAgICAsIHVzZWRW
YXJpYWJsZXNDb3VudChwYXJhbWV0ZXJzLnVzZWRWYXJpYWJsZXMuc2l6ZSgpKQogICAgICwgd3Jp
dHRlblZhcmlhYmxlc0NvdW50KHBhcmFtZXRlcnMud3JpdHRlblZhcmlhYmxlcy5zaXplKCkpCisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAsIGlzQm9keUFycm93RXhw
cmVzc2lvbihwYXJhbWV0ZXJzLmlzQm9keUFycm93RXhwcmVzc2lvbikKKyAgICAsIHRva2VuVHlw
ZShwYXJhbWV0ZXJzLnRva2VuVHlwZSkKKyNlbmRpZgogewogICAgIHVuc2lnbmVkIGogPSAwOwog
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB1c2VkVmFyaWFibGVzQ291bnQ7ICsraSwgKytq
KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNr
ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCmluZGV4
IDhlNGY2MWI5NDk4OTBiOWJmNTQwMjllOTY2NjFlZWY1M2ExN2I1ODQuLjVmOGUyMTFlZTRiNTNi
Mzk0ZWI1YWUyMTkwYjgzYzhjNGY4NDRjZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvU3ludGF4Q2hlY2tlci5oCkBAIC0xNzAsNiArMTcwLDEwIEBAIHB1YmxpYzoKICNlbmRp
ZgogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUZ1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9j
YXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVy
biBGdW5jdGlvbkV4cHI7IH0KICAgICBpbnQgY3JlYXRlRnVuY3Rpb25Cb2R5KGNvbnN0IEpTVG9r
ZW5Mb2NhdGlvbiYsIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGludCwgaW50LCBib29sLCBpbnQs
IGludCwgaW50LCBDb25zdHJ1Y3RvcktpbmQpIHsgcmV0dXJuIEZ1bmN0aW9uQm9keVJlc3VsdDsg
fQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgRXhwcmVzc2lvblR5
cGUgY3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3Qg
UGFyc2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JikgeyByZXR1cm4gRnVuY3Rpb25FeHBy
OyB9CisjZW5kaWYgCisgICAgdm9pZCBzZXRGdW5jdGlvbk5hbWVTdGFydChpbnQsIGludCkgeyB9
CiAgICAgaW50IGNyZWF0ZUFyZ3VtZW50cygpIHsgcmV0dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQog
ICAgIGludCBjcmVhdGVBcmd1bWVudHMoaW50KSB7IHJldHVybiBBcmd1bWVudHNSZXN1bHQ7IH0K
ICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVTcHJlYWRFeHByZXNzaW9uKGNvbnN0IEpTVG9rZW5M
b2NhdGlvbiYsIEV4cHJlc3Npb25UeXBlLCBpbnQsIGludCwgaW50KSB7IHJldHVybiBTcHJlYWRF
eHByOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93
RnVuY3Rpb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0
aW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jZGNiZTFjNTNiZmM1YmRlZGQyNmVlZjkwYmRmYWRmYjIwZDBi
ZmIzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNB
cnJvd0Z1bmN0aW9uLmNwcApAQCAtMCwwICsxLDEwNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgor
CisjaW5jbHVkZSAiRXJyb3IuaCIKKyNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCisjaW5j
bHVkZSAiR2V0dGVyU2V0dGVyLmgiCisjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgorI2luY2x1ZGUg
IkpTQ0pTVmFsdWUuaCIKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNGdW5j
dGlvbklubGluZXMuaCIKKyNpbmNsdWRlICJKU0dsb2JhbE9iamVjdC5oIgorI2luY2x1ZGUgIkpT
T2JqZWN0LmgiCisjaW5jbHVkZSAiUHJvcGVydHlTbG90LmgiCisjaW5jbHVkZSAiVk0uaCIKKwor
bmFtZXNwYWNlIEpTQyB7CisgICAgCitjb25zdCBDbGFzc0luZm8gSlNBcnJvd0Z1bmN0aW9uOjpz
X2luZm8gPSB7ICJBcnJvd0Z1bmN0aW9uIiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhP
RF9UQUJMRShKU0Fycm93RnVuY3Rpb24pIH07CisKK0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwgYXJyb3dGdW5jdGlvbkNhbGwoRXhlY1N0YXRlKiBleGVjKQoreworICAgIEpTQXJyb3dGdW5j
dGlvbiogYXJyb3dGdW5jdGlvbiA9IGpzQ2FzdDxKU0Fycm93RnVuY3Rpb24qPihleGVjLT5jYWxs
ZWUoKSk7CisgICAgICAgIAorICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3M7CisgICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IGV4ZWMtPmFyZ3VtZW50Q291bnQoKTsgKytpKQorICAgICAg
ICBhcmdzLmFwcGVuZChleGVjLT51bmNoZWNrZWRBcmd1bWVudChpKSk7CisgICAgSlNPYmplY3Qq
IGZ1bmN0aW9uID0gYXJyb3dGdW5jdGlvbi0+YXJyb3dGdW5jdGlvbigpOworICAgIENhbGxEYXRh
IGNhbGxEYXRhOworICAgIENhbGxUeXBlIGNhbGxUeXBlID0gZ2V0Q2FsbERhdGEoZnVuY3Rpb24s
IGNhbGxEYXRhKTsKKyAgICBBU1NFUlQoY2FsbFR5cGUgIT0gQ2FsbFR5cGVOb25lKTsKKyAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGNhbGwoZXhlYywgZnVuY3Rpb24sIGNhbGxUeXBlLCBjYWxs
RGF0YSwgYXJyb3dGdW5jdGlvbi0+Ym91bmRUaGlzKCksIGFyZ3MpKTsKK30KKyAgICAKKyAgICAK
K3ZvaWQgSlNBcnJvd0Z1bmN0aW9uOjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKK3sKKyAgICBzdGF0
aWNfY2FzdDxKU0Fycm93RnVuY3Rpb24qPihjZWxsKS0+SlNBcnJvd0Z1bmN0aW9uOjp+SlNBcnJv
d0Z1bmN0aW9uKCk7Cit9CisgICAgCitKU0Fycm93RnVuY3Rpb246OkpTQXJyb3dGdW5jdGlvbihW
TSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJl
LCBKU09iamVjdCogYXJyb3dGdW5jdGlvbiwgSlNWYWx1ZSBib3VuZFRoaXMpCisgICAgOiBCYXNl
KHZtLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKKyAgICAsIG1fYm91bmRUaGlzKHZtLCB0aGlz
LCBib3VuZFRoaXMpCisgICAgLCBtX2Fycm93RnVuY3Rpb24odm0sIHRoaXMsIGFycm93RnVuY3Rp
b24pCit7Cit9CisgICAgCitKU0Fycm93RnVuY3Rpb24qIEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRl
KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIGFycm93RnVu
Y3Rpb24sIEpTVmFsdWUgYm91bmRUaGlzKQoreworICAgIE5hdGl2ZUV4ZWN1dGFibGUqIGV4ZWN1
dGFibGUgPSB2bS5nZXRIb3N0RnVuY3Rpb24oYXJyb3dGdW5jdGlvbkNhbGwsIGNhbGxIb3N0RnVu
Y3Rpb25Bc0NvbnN0cnVjdG9yKTsKKyAgICBKU0Fycm93RnVuY3Rpb24qIGZ1bmN0aW9uID0gbmV3
IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8SlNBcnJvd0Z1bmN0aW9uPih2bS5oZWFwKSkgSlNBcnJv
d0Z1bmN0aW9uKHZtLCBnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+YXJyb3dGdW5jdGlvblN0
cnVjdHVyZSgpLCBhcnJvd0Z1bmN0aW9uLCBib3VuZFRoaXMpOworICAgIAorICAgIGZ1bmN0aW9u
LT5maW5pc2hDcmVhdGlvbih2bSwgZXhlY3V0YWJsZSwgMCwgIiIpOworICAgIHJldHVybiBmdW5j
dGlvbjsKK30KKyAgICAKK3ZvaWQgSlNBcnJvd0Z1bmN0aW9uOjpmaW5pc2hDcmVhdGlvbihWTSYg
dm0sIE5hdGl2ZUV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIGludCBsZW5ndGgsIGNvbnN0IFN0cmlu
ZyYgbmFtZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgZXhlY3V0YWJsZSwgbGVu
Z3RoLCBuYW1lKTsKKyAgICBBU1NFUlQoaW5oZXJpdHMoaW5mbygpKSk7CisKKyAgICAvLyBQcm90
b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24gaXMgdW5kZWZpbmVkCisgICAgcHV0RGlyZWN0KHZtLCB2
bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIGpzVW5kZWZpbmVkKCksIERvbnREZWxldGUgfCBS
ZWFkT25seSB8IERvbnRFbnVtKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMt
PnRoaXNJZGVudGlmaWVyLCBib3VuZFRoaXMoKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgRG9u
dEVudW0pOworCisgICAgcHV0RGlyZWN0Tm9uSW5kZXhBY2Nlc3Nvcih2bSwgdm0ucHJvcGVydHlO
YW1lcy0+YXJndW1lbnRzLCBnbG9iYWxPYmplY3QoKS0+dGhyb3dUeXBlRXJyb3JHZXR0ZXJTZXR0
ZXIodm0pLCBEb250RGVsZXRlIHwgRG9udEVudW0gfCBBY2Nlc3Nvcik7CisgICAgcHV0RGlyZWN0
Tm9uSW5kZXhBY2Nlc3Nvcih2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y2FsbGVyLCBnbG9iYWxPYmpl
Y3QoKS0+dGhyb3dUeXBlRXJyb3JHZXR0ZXJTZXR0ZXIodm0pLCBEb250RGVsZXRlIHwgRG9udEVu
dW0gfCBBY2Nlc3Nvcik7Cit9CisgICAgCit2b2lkIEpTQXJyb3dGdW5jdGlvbjo6dmlzaXRDaGls
ZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQoreworICAgIEpTQXJyb3dG
dW5jdGlvbiogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0Fycm93RnVuY3Rpb24qPihjZWxsKTsKKyAg
ICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKHRoaXNPYmplY3QsIGluZm8oKSk7CisgICAgQmFz
ZTo6dmlzaXRDaGlsZHJlbih0aGlzT2JqZWN0LCB2aXNpdG9yKTsKKyAgICAKKyAgICB2aXNpdG9y
LmFwcGVuZCgmdGhpc09iamVjdC0+bV9hcnJvd0Z1bmN0aW9uKTsKKyAgICB2aXNpdG9yLmFwcGVu
ZCgmdGhpc09iamVjdC0+bV9ib3VuZFRoaXMpOworfQorICAgIAorfSAvLyBuYW1lc3BhY2UgSlND
CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJy
b3dGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0
aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOTI4NGVlZDcwMWJkNGRhNjQ4Mzk2OTE4NThkNmQwNjdmMWIxMzVl
MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJy
b3dGdW5jdGlvbi5oCkBAIC0wLDAgKzEsNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEpTQXJyb3dGdW5jdGlvbl9oCisjZGVmaW5lIEpT
QXJyb3dGdW5jdGlvbl9oCisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
CisjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCisK
K25hbWVzcGFjZSBKU0MgeworCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycm93RnVu
Y3Rpb25DYWxsKEV4ZWNTdGF0ZSopOworICAgIAorY2xhc3MgSlNBcnJvd0Z1bmN0aW9uIDogcHVi
bGljIEpTRnVuY3Rpb24geworcHVibGljOgorICAgIHR5cGVkZWYgSlNGdW5jdGlvbiBCYXNlOwor
ICAgIAorICAgIGNvbnN0IHN0YXRpYyB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRl
c0hhc0luc3RhbmNlIHwgQmFzZTo6U3RydWN0dXJlRmxhZ3M7CisgICAgICAgIAorICAgIHN0YXRp
YyBKU0Fycm93RnVuY3Rpb24qIGNyZWF0ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3Qq
IHRhcmdldEZ1bmN0aW9uLCBKU1ZhbHVlIGJvdW5kVGhpcyk7CisgICAgCisgICAgc3RhdGljIHZv
aWQgZGVzdHJveShKU0NlbGwqKTsKKyAgICAgICAgCisgICAgc3RhdGljIFN0cnVjdHVyZSogY3Jl
YXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1
ZSBwcm90b3R5cGUpCisgICAgeworICAgICAgICBBU1NFUlQoZ2xvYmFsT2JqZWN0KTsKKyAgICAg
ICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwg
VHlwZUluZm8oSlNGdW5jdGlvblR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKKyAgICB9
CisgICAgCisgICAgSlNPYmplY3QqIGFycm93RnVuY3Rpb24oKSB7IHJldHVybiBtX2Fycm93RnVu
Y3Rpb24uZ2V0KCk7IH0KKyAgICBKU1ZhbHVlIGJvdW5kVGhpcygpIHsgcmV0dXJuIG1fYm91bmRU
aGlzLmdldCgpOyB9CisgICAgCisgICAgREVDTEFSRV9JTkZPOworCitwcm90ZWN0ZWQ6CisgICAg
ICAgIAorICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3Im
KTsKKyAgICAgICAgCitwcml2YXRlOgorICAgIEpTQXJyb3dGdW5jdGlvbihWTSYsIEpTR2xvYmFs
T2JqZWN0KiwgU3RydWN0dXJlKiwgSlNPYmplY3QqLCBKU1ZhbHVlKTsKKworICAgIHZvaWQgZmlu
aXNoQ3JlYXRpb24oVk0mLCBOYXRpdmVFeGVjdXRhYmxlKiwgaW50LCBjb25zdCBTdHJpbmcmKTsK
KyAgICBXcml0ZUJhcnJpZXI8VW5rbm93bj4gbV9ib3VuZFRoaXM7CisgICAgV3JpdGVCYXJyaWVy
PEpTT2JqZWN0PiBtX2Fycm93RnVuY3Rpb247Cit9OworICAgIAorfSAvLyBuYW1lc3BhY2UgSlND
CisjZW5kaWYgLy8gRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYCisKKyNlbmRpZiAvLyBKU0Fycm93
RnVuY3Rpb25faApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNG
dW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCmlu
ZGV4IDJjZmIzMzcyYzI4ZGMyMDg4NmMyMzgwOWQxOGU5MzNiNjJhNjQxNWYuLjNhMjM1MzVmZTg1
MWFlMmVmZmJhNzU5ZGZjZjllNmIwZjdiZjg2OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0Z1bmN0aW9uLmgKQEAgLTEzNiw2ICsxMzYsOSBAQCBwdWJsaWM6CiBwcm90ZWN0
ZWQ6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0
KiwgU3RydWN0dXJlKik7CiAgICAgSlNGdW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSos
IEpTU2NvcGUqKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEpT
RnVuY3Rpb24oVk0mLCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBKU1Njb3BlKiwgU3RydWN0dXJlKik7
CisjZW5kaWYKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBOYXRpdmVFeGVjdXRhYmxl
KiwgaW50IGxlbmd0aCwgY29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICB1c2luZyBCYXNlOjpmaW5p
c2hDcmVhdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
RnVuY3Rpb25JbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0
aW9uSW5saW5lcy5oCmluZGV4IGY2YzZkNThlYzZlNWMxMTY0Y2IyN2ZhNWU0MTYxOGI0YjgxNDJm
MDIuLjQ2Y2M4OWU2ODllODJhYTAxNjkzNGNjYjU1MDJlZDA3YzhmNjI5MmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaApAQCAtNDQs
NyArNDQsNyBAQCBpbmxpbmUgSlNGdW5jdGlvbjo6SlNGdW5jdGlvbihWTSYgdm0sIEZ1bmN0aW9u
RXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgSlNTY29wZSogcwogICAgICwgbV9yYXJlRGF0YSgpCiB7
CiB9Ci0KKyAgICAKIGlubGluZSBGdW5jdGlvbkV4ZWN1dGFibGUqIEpTRnVuY3Rpb246OmpzRXhl
Y3V0YWJsZSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKCFpc0hvc3RGdW5jdGlvbk5vbklubGluZSgp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2Jq
ZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNw
cAppbmRleCBlMzRhZGQxMjgyNDFhOTYwMzRlZDg1NzZhY2VhODUwM2QzYmJmMTM0Li5lYjZmMjUz
NThjMzRhZTc1OTcyNzMzNGYwMDBmZjNiMTRmZjZmMTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCkBAIC01OCw2ICs1OCw3IEBACiAj
aW5jbHVkZSAiSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmgiCiAjaW5jbHVkZSAiSlNBcnJheUJ1
ZmZlclByb3RvdHlwZS5oIgogI2luY2x1ZGUgIkpTQXJyYXlJdGVyYXRvci5oIgorI2luY2x1ZGUg
IkpTQXJyb3dGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgogI2luY2x1
ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0NhbGxiYWNrQ29uc3RydWN0b3IuaCIKQEAg
LTIzMSw2ICsyMzIsOSBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2bSkKICAgICBl
eGVjLT5zZXRDYWxsZWUobV9nbG9iYWxDYWxsZWUuZ2V0KCkpOwogCiAgICAgbV9mdW5jdGlvblN0
cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpTRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhp
cywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgbV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlLnNldCh2bSwgdGhpcywg
SlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90
b3R5cGUuZ2V0KCkpKTsKKyNlbmRpZgogICAgIG1fYm91bmRGdW5jdGlvblN0cnVjdHVyZS5zZXQo
dm0sIHRoaXMsIEpTQm91bmRGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1
bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7CiAgICAgbV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlLnNl
dCh2bSwgdGhpcywgU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb24odm0sIG1fZnVuY3Rp
b25TdHJ1Y3R1cmUuZ2V0KCksIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIERvbnREZWxldGUgfCBS
ZWFkT25seSB8IERvbnRFbnVtLCBtX2Z1bmN0aW9uTmFtZU9mZnNldCkpOwogICAgIG1faW50ZXJu
YWxGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEludGVybmFsRnVuY3Rpb246OmNyZWF0
ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOwpAQCAtNzM2
LDYgKzc0MCw5IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBj
ZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVj
dC0+bV9jYWxsZWVTdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5t
X2Z1bmN0aW9uU3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9i
b3VuZEZ1bmN0aW9uU3RydWN0dXJlKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2Fycm93RnVuY3Rpb25TdHJ1
Y3R1cmUpOworI2VuZGlmCiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fbmFtZWRG
dW5jdGlvblN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fc3lt
Ym9sT2JqZWN0U3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9y
ZWdFeHBNYXRjaGVzQXJyYXlTdHJ1Y3R1cmUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKaW5kZXggZDE3YjRhMzQ4ZmExNGRhZDAzYWI3NjA2Yzc5
MzFlYmVmYjE3OWNkMi4uYzVhNDM1OTc4MDE0ZmJlYTVkMzE0YmRlMTA1MDliZDUyN2ZhZmZhNSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3Qu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBA
IC0yMjcsNiArMjI3LDkgQEAgcHJvdGVjdGVkOgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+
IG1fY2FsbGVlU3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fZnVuY3Rp
b25TdHJ1Y3R1cmU7CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9ib3VuZEZ1bmN0aW9u
U3RydWN0dXJlOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgV3Jp
dGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlOworI2VuZGlmCiAg
ICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlOwogICAg
IFByb3BlcnR5T2Zmc2V0IG1fZnVuY3Rpb25OYW1lT2Zmc2V0OwogICAgIFdyaXRlQmFycmllcjxT
dHJ1Y3R1cmU+IG1fcHJpdmF0ZU5hbWVTdHJ1Y3R1cmU7CkBAIC00NjQsNiArNDY3LDkgQEAgcHVi
bGljOgogICAgIFN0cnVjdHVyZSogY2FsbGVlU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9j
YWxsZWVTdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUqIGZ1bmN0aW9uU3RydWN0dXJl
KCkgY29uc3QgeyByZXR1cm4gbV9mdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQogICAgIFN0cnVj
dHVyZSogYm91bmRGdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fYm91bmRGdW5j
dGlvblN0cnVjdHVyZS5nZXQoKTsgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCisgICAgU3RydWN0dXJlKiBhcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1
cm4gbV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CisjZW5kaWYKICAgICBTdHJ1Y3R1
cmUqIG5hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX25hbWVkRnVuY3Rp
b25TdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBQcm9wZXJ0eU9mZnNldCBmdW5jdGlvbk5hbWVPZmZz
ZXQoKSBjb25zdCB7IHJldHVybiBtX2Z1bmN0aW9uTmFtZU9mZnNldDsgfQogICAgIFN0cnVjdHVy
ZSogbnVtYmVyT2JqZWN0U3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9udW1iZXJPYmplY3RT
dHJ1Y3R1cmUuZ2V0KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3BhcmFtdGVyLTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci0xLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjYzNjFiOGRiMDIyODI3OTZkMWJiMDRmNWRiZDQwMTliNzI4OWYyY2MKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
YXNwYXJhbXRlci0xLmpzCkBAIC0wLDAgKzEsOCBAQAorLy8gSW5zcGlyZWQgYnkgbW96aWxsYSB0
ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2Up
IHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4g
RXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOwor
ICB9Cit9OworCit0ZXN0Q2FzZSgiIiArIFsxLCAyLCAzLCA0XS5tYXAoeCA9PiB4LCAzMiksICIx
LDIsMyw0IiwgIkVycm9yOiBhcnJvdyBmdW5jdGlvbiBhcyB0aGUgcGFyYW10ZXJzLiIpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LWFzcGFyYW10ZXItMi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJy
b3dmdW5jdGlvbi1hc3BhcmFtdGVyLTIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2YyOTMyZmMxNDRkMzZjNzBm
MDYxZjhlNjg4ODgzZTQ0YWZjZmQxOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3BhcmFtdGVyLTIuanMKQEAgLTAs
MCArMSwxNSBAQAorLy8gSW5zcGlyZWQgYnkgbW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0g
ZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0g
ZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3Rl
ZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgZiA9IGZ1
bmN0aW9uIChjbCwgcGFyYW10ZXIpIHsgcmV0dXJuIGNsKHBhcmFtdGVyKTsgfTsKK3ZhciBmMiA9
IGZ1bmN0aW9uIChjbCwgcGFyYW10ZXIxLCBwYXJhbXRlcjIpIHsgcmV0dXJuIGNsKHBhcmFtdGVy
MSwgcGFyYW10ZXIyKTsgfTsKKworcmVzdWx0ID0gZih4PT57cmV0dXJuIHggKiAyNTt9LCAxMjEp
OwordGVzdENhc2UocmVzdWx0LCAyNSoxMjEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6IGYoeCA9PiB7cmV0dXJu
IHggKiAyNTt9LCAxMjEpIik7CisKK3Jlc3VsdCA9IGYyKCh4LCB5KT0+e3JldHVybiB4ICogeTt9
LCAxNCwgMTIpOwordGVzdENhc2UocmVzdWx0LCAxNCoxMiAsIkVycm9yOiBOb3QgY29ycmVjdCBl
eGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogZigoeCwg
eSk9PntyZXR1cm4geCAqIHk7fSwgMTQsIDEyMSkpIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0xLmpz
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29j
aWF0aXZpdHktMS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZDFkNDdhNDgwNzVlYzU5OGM2YmUxZTA3ZDc4YTM1
MjYzNTNhOTEyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHktMS5qcwpAQCAtMCwwICsxLDEzIEBA
CisvLyBJbnNwaXJlZCBieSBtb3ppbGxhIHRlc3RzCit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAo
YWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkg
eworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1
dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBhZjEsIGFmMiwgYWYzOwor
YWYxID0gYWYyID0gYWYzID0+IGFmMSA9IGFmMiA9IGFmMzsKK3Rlc3RDYXNlKGFmMSwgYWYyLCAi
RXJyb3I6IHdyb25nIGFzc29jaWF0aXZpdHkgIzEuIik7CithZjEoMTMpOwordGVzdENhc2UoYWYy
LCAxMywgIkVycm9yOiB3cm9uZyBhc3NvY2lhdGl2aXR5ICMyLiIpOwordGVzdENhc2UoYWYxLCAx
MywgIkVycm9yOiB3cm9uZyBhc3NvY2lhdGl2aXR5ICMzLiIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHkt
Mi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1h
c3NvY2lhdGl2aXR5LTIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmVkZDgzOWM2YmM3ZWQ2YTQwZWZmYmJjODc1
NGVkMWJmZDgwNmI0MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTIuanMKQEAgLTAsMCArMSwx
NCBAQAorLy8gSW5zcGlyZWQgYnkgbW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rp
b24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0
ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICIn
LCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgcz0iIjsKK3MgKz0g
eCA9PiB4Lm5hbWU7CisKKy8vIEZpeCBtZS4gUG9zc2libGUgd2UgaGF2ZSBub3QgdXNlIHRoZSBK
U0JvdW50RnVuY3Rpb24gd3JhcHBlciBmb3IgdGhlIGxleGljYWwKKy8vIGJpbmRpbmcgb2YgdGhl
IHRoaXMgYW5kIHVzZSBkaXJlY3QgaW5qZWN0aW9uIG9mIHRoZSAndGhpcycgdmFsdWUKKy8vIGlu
dG8gYXJycm93IGZ1bmN0aW9uCisvLyB0ZXN0Q2FzZShzLCAieCA9PiB4Lm5hbWUiICwgIkVycm9y
OiB3cm9uZyB0b1N0cmluZyBjb252ZXJzaW9uLiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHkuanMgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRp
dml0eS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42N2VkMTUzY2VlYmE1MjYyMjhlY2E4MjEzMDQ2OWE5MjQ0YjE0
YzA1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHkuanMKQEAgLTAsMCArMSwxMCBAQAorLy8gSW5z
cGlyZWQgYnkgbW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwg
ZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0
aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICci
ICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgYWYgPSBhID0+IGIgPT4gYTsKKwordGVz
dENhc2UoYWYoJ0FCQycpKCdERUYnKSwgJ0FCQycsICJFcnJvcjogd3JvbmcgbmVzdGVkIGFycm93
IGZ1bmN0aW9ucy4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvYXJyb3dmdW5jdGlvbi1ibG9jay0xLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rl
c3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJsb2NrLTEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGM1NzFiYjcy
ZmNmZWY1MzBjNTlkYjRiODYwY2E0ZjBhOTZhNDExNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ibG9jay0xLmpzCkBA
IC0wLDAgKzEsMTEgQEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2Fz
ZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwg
IT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhw
ZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGYg
PSAoKSA9PiB7fTsKK3Rlc3RDYXNlKHR5cGVvZiBmKCksICd1bmRlZmluZWQnLCAiRXJyb3I6IHdy
b25nIGFycm93IGZ1bmN0aW9uIGJsb2NrLiIpOwordmFyIGcgPSAoKSA9PiAoe30pOwordGVzdENh
c2UodHlwZW9mIGcoKSwgJ29iamVjdCcsICJFcnJvcjogd3JvbmcgYXJyb3cgZnVuY3Rpb24gYmxv
Y2suIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tYmxvY2stMi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi1ibG9jay0yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ3ZWUzNTJjZjAxZDEzNmUz
MDI5MjI3MzZjNWM4MGVmNTNjMDNmNmUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2stMi5qcwpAQCAtMCwwICsx
LDEwIEBACisvLyBJbnNwaXJlZCBieSBtb3ppbGxhIHRlc3RzCit2YXIgdGVzdENhc2UgPSBmdW5j
dGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBl
Y3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsg
IicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBhZiA9IGEgPT4g
eyBhICsgMTsgfTsKKwordGVzdENhc2UodHlwZW9mIGFmKDApLCAndW5kZWZpbmVkJywgIkVycm9y
OiB3cm9uZyBhcnJvdyBmdW5jdGlvbiBibG9jayAjMi4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ib3VuZC5qcyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ib3VuZC5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hNzMyMGY0ZWM3ODhlYTE0OTBhZmM3MmVjMTI1MWVlMGE2ZTFmN2I2Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0
aW9uLWJvdW5kLmpzCkBAIC0wLDAgKzEsMTYgQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVzdENh
c2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFs
ICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4
cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBk
ID0geworICB4IDogImJhciIsCisgIHkgOiBmdW5jdGlvbigpIHsgcmV0dXJuIHogPT4gdGhpcy54
ICsgejsgfQorfTsKKwordmFyIGUgPSB7IHggOiAiYmF6IiB9OworCit0ZXN0Q2FzZShkLnkoKS5i
aW5kKGUsICJsZXkiKSgpLCAiYmFybGV5IiwgIkVycm9yOiBmdW5jdGlvbiBiaW5kIHNob3VsZG4n
dCBjaGFuZ2UgbGV4aWNhbCBiaW5kaW5nIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiIpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNh
bGwuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
Y2FsbC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42NGY5YWE1MDRkNzBkNzBkNjhjZGFhNWE0ODJhNDY1MGE0NWZk
ZjdjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9hcnJvd2Z1bmN0aW9uLWNhbGwuanMKQEAgLTAsMCArMSwxOCBAQAordmFyIHJlc3VsdDsKKwor
IHZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7Cisg
IGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVj
dGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQor
fTsKKwordmFyIGQgPSB7CisgIHggOiAiZm9vIiwKKyAgeSA6IGZ1bmN0aW9uKCkgeyByZXR1cm4g
KCkgPT4gdGhpcy54OyB9Cit9OworCit2YXIgZSA9IHsgeCA6ICJiYXIiIH07CisKK3Rlc3RDYXNl
KGQueSgpLmNhbGwoZSksICJmb28iLCAiRXJyb3I6IGZ1bmN0aW9uIGNhbGwgc2hvdWxuJ3QgY2hh
bmdlIHRoZSBsZXhpY2FsIGJpbmRpbmcgb2YgdGhlIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RD
YXNlKGQueSgpLmFwcGx5KGUpLCAiZm9vIiwgIkVycm9yOiBmdW5jdGlvbiBhcHBseSBzaG91bG4n
dCBjaGFuZ2UgdGhlIGxleGljYWwgYmluZGluZyBvZiB0aGUgYXJyb3cgZnVuY3Rpb24iKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1jb25zdHJ1Y3Rvci5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJy
b3dmdW5jdGlvbi1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNThiMTZkN2I1ZTI5NzQ0YzMz
Zjc4NmI0YmYxNmJmNDRmZWIxZTI4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAg
KzEsMTggQEAKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNz
YWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSAr
ICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICIn
IjsKKyAgfQorfTsKKwordmFyIHNpbXBsZUFycm93RnVuY3Rpb24gPSAoKSA9PiB7fTsKKwordmFy
IGVycm9yT25DcmVhdGUgPSBmYWxzZTsKKwordHJ5IHsKKyAgdmFyIGZjID0gbmV3IHNpbXBsZUFy
cm93RnVuY3Rpb24oKTsKK30KK2NhdGNoIChlKSB7CisgIGVycm9yT25DcmVhdGUgPSB0cnVlOwor
fQorCit0ZXN0Q2FzZShlcnJvck9uQ3JlYXRlLCB0cnVlLCAiRXJyb3I6IE5vIGV4Y2VwdGlvbiBk
dXJpbmcgcnVuIG5ldyBBcnJvd0Z1bmN0aW9uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC1hcmd1bWV0bnMuanMg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNh
bC1hcmd1bWV0bnMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWViNjc2M2E2NTI2OTgxNjVjMGZkYjJkOGJjMjA3
M2QyYmNkM2IxZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLWFyZ3VtZXRucy5qcwpAQCAtMCwwICsxLDE0
IEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkg
eworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBF
eHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7Cisg
IH0KK307CisKK2Z1bmN0aW9uIGFmQ3JlYXRvcigpIHsKKyAgICByZXR1cm4gYSA9PiBhcmd1bWVu
dHNbMF07Cit9CisKK3ZhciBhZiA9IGFmQ3JlYXRvcigxMik7CisKKy8vRml4bWU6IGxleGljYWwg
YmluZCBvZiB0aGUgYXJndW1lbnRzIGlzIG5vdCBpbXBsZW1lbnRlZAorLy90ZXN0Q2FzZShhZig2
KSwgMTIsICJFcnJvcjogYXJndW1lbnRzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMtMS5qcyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMtMS5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mMTkyZDEwMTJiNjVkMjIwOGFiMDA2ZDdmNjdkMjllNzk2NTM2YWM5Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJv
d2Z1bmN0aW9uLWxleGljYWwtdGhpcy0xLmpzCkBAIC0wLDAgKzEsMTUgQEAKK3ZhciB0ZXN0Q2Fz
ZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwg
IT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhw
ZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKworZnVuY3Rp
b24gRG9nKG5hbWUpIHsKKyAgdGhpcy5uYW1lID0gbmFtZTsKKyAgdGhpcy5nZXROYW1lID0gKCkg
PT4gZXZhbCgidGhpcy5uYW1lIik7CisgIHRoaXMuZ2V0TmFtZUhhcmQgPSAoKSA9PiBldmFsKCIo
KCkgPT4gdGhpcy5uYW1lKSgpIik7Cit9CisKK3ZhciBkID0gbmV3IERvZygiTWF4Iik7Cit0ZXN0
Q2FzZShkLmdldE5hbWUoKSwgZC5uYW1lLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBi
aW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMSIpOwordGVzdENhc2UoZC5nZXRO
YW1lSGFyZCgpLCBkLm5hbWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBp
bnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMyIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10aGlzLmpzIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwt
dGhpcy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42MTJmYmFmODA0NDgyYzc3NjFjMzdkZDY5M2E4NDg1ZTU1MTE1
NzNlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtdGhpcy5qcwpAQCAtMCwwICsxLDMxIEBACit2YXIgcmVz
dWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3Nh
Z2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsg
Ii4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIici
OworICB9Cit9OworCit2YXIgYWZPYmpMZXhCaW5kMiA9IGZ1bmN0aW9uICgpIHsKKyAgdGhpcy5m
dW5jID0gKCkgPT4gdGhpczsKK307CisKK3ZhciBhZk9iakxleEJpbmQySW5zdGFuY2UgPSBuZXcg
YWZPYmpMZXhCaW5kMigpOworCit0ZXN0Q2FzZShhZk9iakxleEJpbmQySW5zdGFuY2UuZnVuYygp
ID09PSBhZk9iakxleEJpbmQySW5zdGFuY2UsIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4
aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMyIik7CisKK3ZhciBv
YmogPSB7CisgIG1ldGhvZDogZnVuY3Rpb24gKCkgeworICAgIHJldHVybiAoKSA9PiB0aGlzOwor
ICB9Cit9OworCit0ZXN0Q2FzZShvYmoubWV0aG9kKCkoKSA9PT0gb2JqLCB0cnVlLCAiRXJyb3I6
IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlv
biAjMyIpOworCit2YXIgZmFrZSA9IHtzdGVhbDogb2JqLm1ldGhvZCgpfTsKK3Rlc3RDYXNlKGZh
a2Uuc3RlYWwoKSA9PT0gb2JqLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBi
aW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNCIpOworCisKKy8vIEZpeG1lOiBm
b2xsb3dpbmcgdGVzdCBmYWlscyBpbiBkZmctZWFnZXItbm8tY2ppdC12YWxpZGF0ZSAmIGZ0bC1l
YWdlci1uby1jaml0IG1vZGUKK3ZhciByZWFsID0ge2JvcnJvdzogb2JqLm1ldGhvZH07Cit0ZXN0
Q2FzZShyZWFsLmJvcnJvdygpKCkgPT09IHJlYWwsIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3Qg
bGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM1Iik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
b3RoZXJzLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0
aW9uLW90aGVycy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZWJhMTFmMzAyMmUzNGE4MDAwYTU3MDA3NmRiMWE1
NWE0YTMyYjIxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLW90aGVycy5qcwpAQCAtMCwwICsxLDEzIEBACit2YXIgdGVz
dENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0
dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiAr
IGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3Zh
ciBzaW1wbGVBcnJvd0Z1bmN0aW9uID0gKCkgPT4ge307CisKK3Rlc3RDYXNlKE9iamVjdC5nZXRQ
cm90b3R5cGVPZihzaW1wbGVBcnJvd0Z1bmN0aW9uKSwgRnVuY3Rpb24ucHJvdG90eXBlLCAiRXJy
b3I6IE5vdCBjb3JyZWN0IGdldFByb3RvdHlwZU9mIHZhbHVlIGZvciBhcnJvdyBmdW5jdGlvbiIp
OworCit0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uIGluc3RhbmNlb2YgRnVuY3Rpb24sIHRy
dWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBpbnN0YW5jZW9mIG1ldGhvZCBmb3Ig
YXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2Uoc2ltcGxlQXJyb3dGdW5jdGlvbi5jb25zdHJ1
Y3RvciA9PSBGdW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIGNv
bnN0cnVjdG9yIG1ldGhvZCBvZiBhcnJvdyBmdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXN5bnRheC5qcyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1zeW50YXguanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOGZlMTFkNWJlZTBkYmQ1NTY0OGFjNDNkZmZjZTRlNGUyZTkwZTI4OAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1zeW50YXguanMKQEAgLTAsMCArMSwxMTYgQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIg
dGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAo
YWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAn
IiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisK
K3ZhciBhZjAgPSB2ID0+IHYgKyAxOwordGVzdENhc2UoYWYwKDEwKSwgMTEgLCJFcnJvcjogTm90
IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogdiA9PiB2ICsgMSIpOwor
Cit2YXIgYWYxID0gKHYpID0+IHYgKiAyOwordGVzdENhc2UoYWYxKDEwKSwgMjAgLCJFcnJvcjog
Tm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKHYpID0+IHYgKyAx
Iik7CisKK3ZhciBhZjIgPSAoKSA9PiAxMDAwOwordGVzdENhc2UoYWYyKDEyMTIpLCAxMDAwICwi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICgpID0+
IDEwMDAiKTsKKwordmFyIGEgPSAxNTE7Cit2YXIgYWYyXzEgPSAoKSA9PiBhOwordGVzdENhc2Uo
YWYyXzEoMTIxKSwgYSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uOiAoKSA9PiB2YXJpYWJsZSIpOworCit2YXIgYWYzID0gKHYsIHgpID0+IHYgKyB4
OwordGVzdENhc2UoYWYzKDExLDEyKSwgMjMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKHgsIHkpID0+IHggKyB5Iik7CisKK3ZhciBhZndyYXBw
ZXIgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVyKSB7IHJldHVybiBjbChwYXJhbXRlcik7IH07CisK
K3Jlc3VsdCA9IGFmd3JhcHBlcih4ID0+IDEyMzQpOwordGVzdENhc2UocmVzdWx0LCAxMjM0ICwi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFy
YW10ZXI6IGYoeCA9PiBjKSIpOworCityZXN1bHQgPSBhZndyYXBwZXIoeCA9PiAxMjM0LCAyMzQ1
KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIzNCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24g
b2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYywgeSkiKTsKKworcmVz
dWx0ID0gYWZ3cmFwcGVyKHggPT4gMTIxICsgMjMyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzUzICwi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFy
YW10ZXI6IGYoeCA9PiBjMSArIGMyKSIpOworCityZXN1bHQgPSBhZndyYXBwZXIoeCA9PiAxMjMg
KyAzMjEsIDk5OTkpOwordGVzdENhc2UocmVzdWx0LCA0NDQgLCJFcnJvcjogTm90IGNvcnJlY3Qg
ZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMxICsg
YzIsIHkpIik7CisKK3Jlc3VsdCA9IGFmd3JhcHBlcih4ID0+IHggKyAxMiwgMjEpOwordGVzdENh
c2UocmVzdWx0LCAzMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4geCArIGMxLCB5KSIpOworCityZXN1bHQgPSBh
ZndyYXBwZXIoKHgpID0+IHggKyAyMSwgMzIpOwordGVzdENhc2UocmVzdWx0LCA1MywgIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVy
OiBmKCh4KSA9PiBjMSArIGMyLCB5KSIpOworCityZXN1bHQgPSBhZndyYXBwZXIoKCkgPT4gMTAw
KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYykiKTsKKwordmFyIGV4
dF92YWx1ZSA9IDEyMTsKK3Jlc3VsdCA9IGFmd3JhcHBlcigoKSA9PiBleHRfdmFsdWUpOwordGVz
dENhc2UocmVzdWx0LCAxMjEsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiB2KSIpOworCityZXN1bHQgPSBhZndy
YXBwZXIoKCkgPT4gZXh0X3ZhbHVlICogMTApOwordGVzdENhc2UocmVzdWx0LCAxMjEwICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10
ZXI6IGYoKCkgPT4gdip4KSIpOworCityZXN1bHQgPSBhZndyYXBwZXIoKHgpID0+IGV4dF92YWx1
ZSAqIHgsIDMwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzAqZXh0X3ZhbHVlICwiRXJyb3I6IE5vdCBj
b3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKHgp
ID0+IHYqeCwgeSkiKTsKKworcmVzdWx0ID0gYWZ3cmFwcGVyKCgpID0+IDEwMCwgMTEpOwordGVz
dENhc2UocmVzdWx0LCAxMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjMSwgeSkiKTsKKworIHJlc3VsdCA9
IGFmd3JhcHBlcigoKSA9PiAxMDAgKyAxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDExMCAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVy
OiBmKCgpID0+IGMxICsgYzIpIik7CisKK3Jlc3VsdCA9IGFmd3JhcHBlcigoKSA9PiAxMDAgKyAx
MSwgMTIpOwordGVzdENhc2UocmVzdWx0LCAxMTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjMSArIGMyLCB5
KSIpOworCit2YXIgYXJyb3dGdW5jdGlvbjQgPSB2ID0+IHYgKyAxLCB4eXoxID0gMTAxMDE7City
ZXN1bHQgPSBhcnJvd0Z1bmN0aW9uNCgxMDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAxMiAsIkVy
cm9yOiBOb3QgY29ycmVjdCBwYXJzaW5nIG9mIHRoIGFycm93IGZ1bmN0aW9uIGluc2lkZSBvZiB0
aGUgbGlzdCBvZiB2YXJzOiB2YXIgYWYgPSB2PT4gdiArIDE7IHp4Yz1jOyIpOwordGVzdENhc2Uo
eHl6MSwgMTAxMDEgLCJFcnJvcjogTm90IGNvcnJlY3QgcGFyc2luZyBvZiB0aCBhcnJvdyBmdW5j
dGlvbiBpbnNpZGUgb2YgdGhlIGxpc3Qgb2YgdmFyczogdmFyIGFmID0gdj0+IHYgKyAxOyB6eGM9
YzsiKTsKKwordmFyIGFmd3JhcHBlcjIgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVyMSwgcGFyYW10
ZXIyKSB7IHJldHVybiBjbChwYXJhbXRlcjEsIHBhcmFtdGVyMik7IH07CityZXN1bHQgPSBhZndy
YXBwZXIyKCh4LCB5KSA9PiB4ICsgeSwgMTIgLDQzKTsKK3Rlc3RDYXNlKHJlc3VsdCwgNTUgLCJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJh
bWV0ZXI6IGYoKHgsIHkpID0+IHggKyB5LCBjMSwgYzIpIik7CisKK3ZhciBhZkFycjAgPSBbdiA9
PiB2ICogMTBdOworcmVzdWx0ID0gYWZBcnIwWzBdKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAw
ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMg
aXRlbSBpbiBhcnJheTogW3Y9PnYqMTBdIik7CisKK3ZhciBhZkFycjEgPSBbdiA9PiB2ICsgMSwg
diA9PiB2ICsgMl07CityZXN1bHQgPSBhZkFycjFbMF0oMTApOwordGVzdENhc2UocmVzdWx0LCAx
MSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFz
IGl0ZW0gaW4gYXJyYXk6IFt2ID0+IHYgKyAxLCAgdiA9PiB2ICsgMl0iKTsKK3Jlc3VsdCA9IGFm
QXJyMVsxXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogW3YgPT4gdiAr
IDEsICB2ID0+IHYgKyAyXSIpOworCit2YXIgYWZBcnIyID0gWyh2KSA9PiB2ICsgMSwgKHYpID0+
IHYgKyAyXTsKK3Jlc3VsdCA9IGFmQXJyMlswXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyICwi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRl
bSBpbiBhcnJheTogWyh2KSA9PiB2ICsgMSwgICh2KSA9PiB2ICsgMl0iKTsKK3Jlc3VsdCA9IGFm
QXJyMlsxXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogWyh2KSA9PiB2
ICsgMSwgICh2KSA9PiB2ICsgMl0iKTsKKwordmFyIGFmQXJyMyA9IFsoKSA9PiAxMDEsICgpID0+
IDEyMzIzXTsKK3Jlc3VsdCA9IGFmQXJyM1swXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMSwg
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0
ZW0gaW4gYXJyYXk6IFsoKSA9PiBjMSwgICgpID0+IGMyXSIpOworcmVzdWx0ID0gYWZBcnIzWzFd
KDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIzMjMsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKCkgPT4gYzEsICAo
KSA9PiBjMl0iKTsKKwordmFyIGFmT2JqID0ge2Z1bmMgOiB5ID0+IHkgKyAxMn07CityZXN1bHQg
PSBhZk9iai5mdW5jKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjMgLCAiRXJyb3I6IE5vdCBjb3Jy
ZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcHJvcGVydHk6IHtmdW5jIDog
eSA9PiB5ICsgMTIgfSIpOworCit2YXIgYWZCbG9jazAgPSAoKSA9PiB7IHJldHVybiAxMDAwOyB9
OworcmVzdWx0ID0gYWZCbG9jazAoMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDAwICwiRXJyb3I6
IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFz
IGJsb2NrOiAoKSA9PiB7IHJldHVybiAxMDAwOyB9Iik7CisKK3ZhciBhZkJsb2NrMSA9IHYgPT4g
eyB2YXIgaW50dmFsID0gMTAwOyByZXR1cm4gdiAqIGludHZhbDsgfTsKK3Jlc3VsdCA9IGFmQmxv
Y2sxKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVj
dXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogeCA9PiB7IHZh
ciB2PTEwMDA7IHJldHVybiB2Kng7IH0iKTsKKwordmFyIGFmQmxvY2syID0gKHYpID0+IHsgdmFy
IGludCA9IDIwMDsgcmV0dXJuIHYgKiBpbnQ7IH07CityZXN1bHQgPSBhZkJsb2NrMigxMSk7Cit0
ZXN0Q2FzZShyZXN1bHQsIDIyMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICh4KSA9PiB7IHZhciB2PTEwMDA7
IHJldHVybiB2Kng7IH0iKTsKKwordmFyIGFmQmxvY2szID0gKHYsIHgpID0+IHsgdmFyIHJlc3Vs
dCA9IHggKiB2OyByZXR1cm4gcmVzdWx0OyB9OworcmVzdWx0ID0gYWZCbG9jazMoMTEsIDEyMjIy
KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTM0NDQyICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiAodiwgeCkgPT4geyB2
YXIgcmVzdWx0ID0geCAqIHY7IHJldHVybiByZXN1bHQ7IH0iKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi10ZHouanMgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tdGR6LmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmU5ZDM1Y2RlYTRiYWY2Njc0MzFhZjhhYmU4ZGFkZjIyZDA0YjkwZTEKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tdGR6LmpzCkBAIC0wLDAgKzEsMjQgQEAKK3ZhciBBID0gY2xhc3MgQSB7IH07Cit2YXIgQiA9
IGNsYXNzIEIgZXh0ZW5kcyBBIHsKKyAgY29uc3RydWN0b3IoYWNjZXNzVGhpc0JlZm9yZVN1cGVy
KSB7CisgICAgaWYgKGFjY2Vzc1RoaXNCZWZvcmVTdXBlcikgeworICAgICAgdmFyIGYgPSAoKSA9
PiB0aGlzOworICAgICAgc3VwZXIoKTsKKyAgICB9IGVsc2UgeworICAgICAgc3VwZXIoKTsKKyAg
ICB9CisgIH0KK307CisKK3ZhciBleGNlcHRpb24gPSBudWxsOwordHJ5IHsKKyAgICAgbmV3IEIo
dHJ1ZSk7Cit9IGNhdGNoIChlKSB7CisgICAgZXhjZXB0aW9uID0gZTsKKyAgICBpZiAoIShlIGlu
c3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpKQorICAgICAgICB0aHJvdyAiRXhjZXB0aW9uIHRocm93
biB3YXMgbm90IGEgcmVmZXJlbmNlIGVycm9yIjsKK30KK2lmICghZXhjZXB0aW9uKQorICAgIHRo
cm93ICJFeGNlcHRpb24gbm90IHRocm93biBmb3IgYW4gdW5pdGlhbGl6ZWQgdGhpcyBhdCBpdGVy
YXRpb24iOworCit2YXIgZSA9IG5ldyBCKGZhbHNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi10eXBlb2YuanMgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tdHlwZW9mLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmVmMmE3ZjU0NDc2YWJhOWMyODkyM2MzNWYxZGIzYzQzMjdhYzk0NjkKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tdHlwZW9mLmpzCkBAIC0wLDAgKzEsMjEgQEAKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChh
Y3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7
CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0
IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGFmMSA9ICgpID0+IHt9Owor
dmFyIGFmMiA9IChhKSA9PiB7YSArIDF9OworCit0ZXN0Q2FzZSh0eXBlb2YgYWYxLCAiZnVuY3Rp
b24iLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHR5cGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMxIik7
Cit0ZXN0Q2FzZSh0eXBlb2YgYWYxLnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJF
cnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBwcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24g
IzEiKTsKKwordGVzdENhc2UodHlwZW9mIGFmMiwgImZ1bmN0aW9uIiwgIkVycm9yOiBOb3QgY29y
cmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMiIpOwordGVzdENhc2UodHlwZW9mIGFm
Mi5wcm90b3R5cGUgPT09ICd1bmRlZmluZWQnLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJl
c3VsdCBmb3IgcHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9uICMyIik7CisKK3Rlc3RDYXNlKHR5
cGVvZiAoKCk9Pnt9KSwgImZ1bmN0aW9uIiwgIkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiAjMyIpOwordGVzdENhc2UodHlwZW9mICgoKT0+e30pLnByb3RvdHlw
ZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBw
cm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24gIzMiKTsKKworCit0ZXN0Q2FzZSh0eXBlb2YgKChi
KSA9PiB7YiArIDF9KSwgImZ1bmN0aW9uIiwgIkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiAjNCIpOwordGVzdENhc2UodHlwZW9mICgoYikgPT4ge2IgKyAxfSku
cHJvdG90eXBlID09PSAndW5kZWZpbmVkJywgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1
bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiAjNCIpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3Vy
Y2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA4
YjExMmZhZTQ1Yjk1N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2OTcyZjExNGMz
ODNkMzI2MjlmMWYwOTNjNjg1NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUsNiArNDUsNyBAQCBF
TkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BS
T1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsK
K0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklM
VEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVM
XzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMjsKQEAgLTIxNCw0ICsyMTUsNCBAQCBF
TkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1F
VElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJ
TkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5W
QVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZG
X0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BB
UlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkg
JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQo
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NT
X0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikg
JChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChF
TkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxF
X0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNP
Ul9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRB
X1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklD
RV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxF
X0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9G
SUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExT
Q1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQp
ICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhS
T1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xT
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lO
X1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxF
X0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJF
TEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJ
T05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VC
X0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChF
TkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01F
RElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxF
TUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFC
TEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJF
TkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlf
RVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVO
QUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExF
VEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFf
UVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVAp
ICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJM
RV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09O
VkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVN
UExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5H
X1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9D
U1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dF
Ql9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAk
KEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhS
X1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0xMSU5U
X0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9W
SURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9S
RU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxF
UkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxF
X0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJM
RV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05F
WFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVD
T1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVW
SUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lN
QUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVf
Q1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1Nf
U0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFL
KSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5E
TEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVO
VCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5U
KSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNU
UlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRT
KSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FN
RVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BB
R0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVf
U0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VF
SykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VD
SF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9M
RUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJ
TktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NS
SVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQo
RU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJT
T1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJ
R0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERG
S0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChF
TkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVO
QUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JF
UVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9S
RVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVf
Q1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJF
QU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVO
QUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJ
T04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5B
QkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVf
VklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVO
QUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FV
RElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVf
UElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lP
TlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklU
KSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhN
RVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9T
b3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpp
bmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4YTc2OTcy
ZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUs
NiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFC
TEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVfRVM2X0NM
QVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVfRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxF
X0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NTU19BTklN
QVRJT05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMjsKQEAgLTIxNCw0
ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJBVEVEX0xB
WU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsKIAot
RkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykg
JChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5B
QkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NB
TlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFT
U19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkg
JChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFU
SU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0Vf
QURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1Nf
UkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQ
RVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQo
RU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIp
ICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAk
KEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQo
RU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNU
T1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1Yy
KSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQo
RU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFE
X0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9E
T01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJW
SUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9O
VEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAk
KEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19Q
UkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQp
ICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFC
TEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9T
Q0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRP
Ul9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRf
UExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJM
RV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxF
X1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVT
VF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09M
VVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1Nf
U0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNf
QVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVf
Q1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURF
TykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxF
X1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8p
ICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNU
VVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykg
JChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQo
RU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElD
KSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAk
KEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChF
TkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElP
TlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9O
SU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVf
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChF
TkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChF
TkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElP
TikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAk
KEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVY
VF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9N
X1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFU
QUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVU
QUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRf
RVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05U
X0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkg
JChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFT
RSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BP
VkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJM
RV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVT
KSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1Mp
ICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFf
Q09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJM
RV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAk
KEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9Q
Uk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJ
WF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUp
ICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9S
KSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElO
RykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAk
KEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05V
TUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xP
QURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VF
X1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChF
TkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VU
UykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVf
V0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVO
QUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9M
QVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwppbmRleCA4YjExMmZhZTQ1Yjk1N2RkMjY0MWZkYjZmNDY4OTg4MDU4OWFmODYwLi4xMTQ4
YTc2OTcyZjExNGMzODNkMzI2MjlmMWYwOTNjNjg1NTBhMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDUs
NiArNDUsNyBAQCBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFC
TEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVfRVM2X0NM
QVNTX1NZTlRBWDsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVfRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxF
X0NPTlRFTlRfRklMVEVSSU5HOwogRU5BQkxFX0NTUF9ORVhUID0gOwogRU5BQkxFX0NTU19BTklN
QVRJT05TX0xFVkVMXzIgPSBFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMjsKQEAgLTIxNCw0
ICsyMTUsNCBAQCBFTkFCTEVfTExJTlRfQ19MT09QID0gOwogCiBFTkFCTEVfU0FUVVJBVEVEX0xB
WU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsKIAot
RkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykg
JChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5B
QkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NB
TlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFT
U19TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkg
JChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFU
SU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0Vf
QURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1Nf
UkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQ
RVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQo
RU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIp
ICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAk
KEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQo
RU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNU
T1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1Yy
KSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQo
RU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFE
X0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9E
T01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJW
SUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9O
VEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAk
KEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19Q
UkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQp
ICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFC
TEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9T
Q0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRP
Ul9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRf
UExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJM
RV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxF
X1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVT
VF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09M
VVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1Nf
U0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNf
QVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVf
Q1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURF
TykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxF
X1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8p
ICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNU
VVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykg
JChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQo
RU5BQkxFX0xMSU5UX0NfTE9PUCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElD
KSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAk
KEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChF
TkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElP
TlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9O
SU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVf
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChF
TkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChF
TkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElP
TikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAk
KEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVY
VF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9N
X1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFU
QUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVU
QUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRf
RVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05U
X0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkg
JChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFT
RSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BP
VkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJM
RV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVT
KSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1Mp
ICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFf
Q09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJM
RV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAk
KEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9Q
Uk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJ
WF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUp
ICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9S
KSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElO
RykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAk
KEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05V
TUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xP
QURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VF
X1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChF
TkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VU
UykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVf
V0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVO
QUJMRV9GVExfSklUKSAkKEVOQUJMRV9MTElOVF9DX0xPT1ApICQoRU5BQkxFX1NBVFVSQVRFRF9M
QVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlIGIvU291cmNlL2NtYWtl
L1dlYktpdEZlYXR1cmVzLmNtYWtlCmluZGV4IGY3NDdkYzgxNDExMzNjODk1YTNkYTM3ODNiNGFl
NTVkZTVhMDQyYmMuLjZiZDhiOTZjNzFlMmY1MmM2ZjhkNTNjNDE1MjIxZjg5ZTYxZDA2OWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQorKysgYi9Tb3VyY2Uv
Y21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKQEAgLTM5LDYgKzM5LDcgQEAgbWFjcm8oV0VCS0lU
X09QVElPTl9CRUdJTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ0FOVkFTX1BS
T1hZICJUb2dnbGUgQ2FudmFzUHJveHkgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05f
REVGSU5FKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyAiVG9nZ2xlIE1lc3NhZ2VDaGFubmVsIGFu
ZCBNZXNzYWdlUG9ydCBzdXBwb3J0IiBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFC
TEVfRVM2X0NMQVNTX1NZTlRBWCAiVG9nZ2xlIEVTNiBjbGFzcyBzeW50YXggc3VwcG9ydCIgT04p
CisgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCAiVG9nZ2xlIEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXggc3VwcG9ydCIgT04pCiAgICAgV0VC
S0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HICJUb2dnbGUgY29udGVu
dCBmaWx0ZXJpbmcgc3VwcG9ydCIgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJM
RV9DT05URVhUX01FTlVTICJUb2dnbGUgQ29udGV4dCBNZW51IHN1cHBvcnQiIE9OKQogICAgIFdF
QktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DU1BfTkVYVCAiVG9nZ2xlIENvbnRlbnQgU2VjdXJp
dHkgUG9saWN5IDEuMSBzdXBwb3J0IiBPRkYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2Vjb25m
aWcuaC5jbWFrZSBiL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCmluZGV4IDVlOTgzZDVlNjVi
MDdlZjdkYzUzZWM5ZDNjNmE4YTI5MzkxNzVjYjIuLjIzZGFmNTk2NjM1MDIyZGY0MjBmMjhhZGE2
N2Q5MzQ3N2NhMGUyZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCisr
KyBiL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCkBAIC0xNCw2ICsxNCw3IEBACiAjY21ha2Vk
ZWZpbmUwMSBFTkFCTEVfQ0FOVkFTX1BST1hZCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYCisjY21h
a2VkZWZpbmUwMSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYCiAjY21ha2VkZWZpbmUw
MSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9DT05URVhU
X01FTlVTCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ1JFREVOVElBTF9TVE9SQUdFCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0gYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KaW5kZXggMDAwMzJjMWQwMjU0ZjRkNmE3YTBm
Y2E1NTMxYjM0MWQzNWQyOTU3Mi4uNGRlN2YxM2Q1MzA5N2UyNTk3YWQ4YjMzMzBkMjVjMWFkY2Y2
NmUyZSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBt
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQpAQCAtNDQsNiAr
NDQsNyBAQCBCRUdJTiB7CiBteSAoCiAgICAgJHRocmVlRFJlbmRlcmluZ1N1cHBvcnQsCiAgICAg
JGFjY2VsZXJhdGVkMkRDYW52YXNTdXBwb3J0LAorICAgICRhcnJvd2Z1bmN0aW9uU3ludGF4LAog
ICAgICRhdHRhY2htZW50RWxlbWVudFN1cHBvcnQsCiAgICAgJGJhdHRlcnlTdGF0dXNTdXBwb3J0
LAogICAgICRjYW52YXNQYXRoU3VwcG9ydCwKQEAgLTE1NSw5ICsxNTYsMTMgQEAgbXkgQGZlYXR1
cmVzID0gKAogICAgIHsgb3B0aW9uID0+ICJhY2NlbGVyYXRlZC0yZC1jYW52YXMiLCBkZXNjID0+
ICJUb2dnbGUgQWNjZWxlcmF0ZWQgMkQgQ2FudmFzIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+
ICJFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTIiwgZGVmYXVsdCA9PiBpc0d0aygpLCB2YWx1
ZSA9PiBcJGFjY2VsZXJhdGVkMkRDYW52YXNTdXBwb3J0IH0sCiAKKyAgICB7IG9wdGlvbiA9PiAi
YXJyb3dmdW5jdGlvbi1zeW50YXgiLCBkZXNjID0+ICJUb2dnbGUgRVM2IGFycm93IGZ1bmN0aW9u
IHN5bnRheCBzdXBwb3J0IiwKKyAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0VTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCIsIGRlZmF1bHQgPT4gMSwgdmFsdWUgPT4gXCRhcnJvd2Z1bmN0aW9uU3ludGF4
IH0sCisKICAgICB7IG9wdGlvbiA9PiAiYXR0YWNobWVudC1lbGVtZW50IiwgZGVzYyA9PiAiVG9n
Z2xlIEF0dGFjaG1lbnQgRWxlbWVudCBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxF
X0FUVEFDSE1FTlRfRUxFTUVOVCIsIGRlZmF1bHQgPT4gMCwgdmFsdWUgPT4gXCRhdHRhY2htZW50
RWxlbWVudFN1cHBvcnQgfSwKIAorCiAgICAgeyBvcHRpb24gPT4gImJhdHRlcnktc3RhdHVzIiwg
ZGVzYyA9PiAiVG9nZ2xlIEJhdHRlcnkgU3RhdHVzIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+
ICJFTkFCTEVfQkFUVEVSWV9TVEFUVVMiLCBkZWZhdWx0ID0+IGlzRWZsKCksIHZhbHVlID0+IFwk
YmF0dGVyeVN0YXR1c1N1cHBvcnQgfSwKIApkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdl
TG9nCmluZGV4IDI5MTRmNjFkYmQxNjAzNzZkZTUyODFlMzE3MjhmZjdiMmE5NWY4ZGIuLjVlZDMy
ODhjZWIzZDE5NzIwZTg0MDM3ZjdhNTgwMjM1ZDY0ZWE3ZTQgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxv
ZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNS0wNC0xNyAgIFNrYWNoa292
IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1l
bnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICBBZGRlZCBmZWF0dXJlIGZsYWcgdG8gc3dpdGNoIG9uL29m
ZiBlczYgYXJyb3cgZnVuY3Rpb24gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWAorCisg
ICAgICAgICAqIFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZToKKyAgICAgICAgICog
U291cmNlL2NtYWtlY29uZmlnLmguY21ha2U6CisKIDIwMTUtMDQtMTYgIEJhc2lsZSBDbGVtZW50
ICA8YmFzaWxlX2NsZW1lbnRAYXBwbGUuY29tPgogCiAgICAgICAgIEV4dHJhY3QgdGhlIGFsbG9j
YXRpb24gcHJvZmlsZSBmcm9tIEpTRnVuY3Rpb24gaW50byBhIHJhcmUgb2JqZWN0Cg==
</data>
<flag name="review"
          id="275927"
          type_id="1"
          status="-"
          setter="fpizlo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252149</attachid>
            <date>2015-05-01 06:06:13 -0700</date>
            <delta_ts>2015-05-01 12:23:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150501160500.patch</filename>
            <type>text/plain</type>
            <size>32142</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyOTY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
MDQxZDFiMDIxMzc1NDIyMjFmM2JlZGQzMTRmMzQwZmFhNDdhN2I2Li42NzM2MWEyOTIzYTEwMjg1
MjA4ZmE1MzA0NWZlMDE5NDdkMzYyMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw2NSBAQAorMjAxNS0wNS0wMSAgU2thY2hrb3YgT2xla3NhbmRyICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5
bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQw
ODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4
ZWQgY29tbWVudHMgZnJvbSByZXZpZXcgYW5kIGFsc28gYWRkZWQgc3VwcG9ydCBvZiBGVEwgYW5k
IERGRyBjb21waWxlIG1vZGUuIAorICAgICAgICBUbyBmb3JjZSB3b3JrIGNvcnJlY3RseSBpbiBE
RkcgbW9kZSB3YXMgYWRkZWQgcGFyYW1ldGVyIHRoYXQgcHJldmVudHMgaW5saW5lIAorICAgICAg
ICBhbmQgY29tcGlsZSBhcnJvdyBmdW5jdGlvbiBpbiBERkcuCisKKworICAgICAgICAqIGRmZy9E
RkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpERkc6OkFic3Ry
YWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyk6CisgICAg
ICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpCeXRl
Q29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgICogZGZnL0RGR0NhcGFiaWxpdGllcy5j
cHA6CisgICAgICAgIChKU0M6OkRGRzo6Y2FwYWJpbGl0eUxldmVsKToKKyAgICAgICAgKiBkZmcv
REZHQ2xvYmJlcml6ZS5oOgorICAgICAgICAoSlNDOjpERkc6OmNsb2JiZXJpemUpOgorICAgICAg
ICAqIGRmZy9ERkdEb2VzR0MuY3BwOgorICAgICAgICAoSlNDOjpERkc6OmRvZXNHQyk6CisgICAg
ICAgICogZGZnL0RGR0ZpeHVwUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkZpeHVwUGhh
c2U6OmZpeHVwTm9kZSk6CisgICAgICAgICogZGZnL0RGR05vZGUuaDoKKyAgICAgICAgKEpTQzo6
REZHOjpOb2RlOjpoYXNDZWxsT3BlcmFuZCk6CisgICAgICAgICogZGZnL0RGR05vZGVUeXBlLmg6
CisgICAgICAgICogZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcDoKKyAgICAg
ICAgKEpTQzo6REZHOjpQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZTo6cHJvcGFnYXRlKToKKyAg
ICAgICAgKiBkZmcvREZHU2FmZVRvRXhlY3V0ZS5oOgorICAgICAgICAoSlNDOjpERkc6OnNhZmVU
b0V4ZWN1dGUpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oOgorICAgICAgICAo
SlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjYWxsT3BlcmF0aW9uKToKKyAgICAgICAgKiBkZmcv
REZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcDoK
KyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZSk6CisgICAgICAgICog
ZGZnL0RGR1N0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpTdHJ1Y3R1cmVSZWdpc3RyYXRpb25QaGFzZTo6cnVuKToKKyAgICAgICAgKiBmdGwvRlRMQWJz
dHJhY3RIZWFwUmVwb3NpdG9yeS5jcHA6CisgICAgICAgICogZnRsL0ZUTEFic3RyYWN0SGVhcFJl
cG9zaXRvcnkuaDoKKyAgICAgICAgKiBmdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAgICAg
KEpTQzo6RlRMOjpjYW5Db21waWxlKToKKyAgICAgICAgKiBmdGwvRlRMSW50cmluc2ljUmVwb3Np
dG9yeS5oOgorICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1RvTExWTS5jcHA6CisgICAgICAgIChK
U0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVOb2RlKToKKyAgICAgICAgKEpTQzo6RlRM
OjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZU5ld0Fycm93RnVuY3Rpb24pOgorICAgICAgICAqIGpp
dC9KSVRPcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5oOgorICAg
ICAgICAqIHJ1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6SlNBcnJv
d0Z1bmN0aW9uOjpjcmVhdGVXaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRjaHBvaW50KToK
KyAgICAgICAgKEpTQzo6SlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUpOgorICAgICAgICAoSlNDOjpK
U0Fycm93RnVuY3Rpb246OnZpc2l0Q2hpbGRyZW4pOgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJv
d0Z1bmN0aW9uLmg6CisgICAgICAgIChKU0M6OkpTQXJyb3dGdW5jdGlvbjo6YWxsb2NhdGlvblNp
emUpOgorICAgICAgICAoSlNDOjpKU0Fycm93RnVuY3Rpb246Om9mZnNldE9mVGhpc1ZhbHVlKToK
KyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMuanM6Cisg
ICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTEuanM6IEFkZGVkLgor
ICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMC0yLmpzOiBBZGRlZC4K
KyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAwMDAtMS5qczogQWRk
ZWQuCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwMDAwLTIuanM6
IEFkZGVkLgorCiAyMDE1LTA0LTE4ICBBbGV4YW5kciBTa2FjaGtvdiAgPGdza2FjaGtvdkBnbWFp
bC5jb20+CiAKICAgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3lu
dGF4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50
ZXJwcmV0ZXJJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0
SW50ZXJwcmV0ZXJJbmxpbmVzLmgKaW5kZXggYzM0N2RiNjgwMTNlNDVjYzA4ZTdhYWY4ZDNkN2U4
ZTg3Y2E4NzA3ZC4uMjBjMjNiMWUzODVkODlhZTE2YTAzMzI0NTUyNGU2MmIwYjkxMDFiMCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVy
SW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRl
cnByZXRlcklubGluZXMuaApAQCAtMTM5NSw3ICsxMzk1LDEzIEBAIGJvb2wgQWJzdHJhY3RJbnRl
cnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKHVuc2lnbmVkIGNsb2Ji
ZXJMaW1pCiAgICAgY2FzZSBDcmVhdGVDbG9uZWRBcmd1bWVudHM6CiAgICAgICAgIGZvck5vZGUo
bm9kZSkuc2V0VHlwZShTcGVjT2JqZWN0T3RoZXIpOwogICAgICAgICBicmVhazsKLSAgICAgICAg
CisgICAgICAgICAgICAKKyAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246CisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgZm9yTm9kZShub2RlKS5zZXQoCisgICAg
ICAgICAgICBtX2dyYXBoLCBtX2NvZGVCbG9jay0+Z2xvYmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdp
bi5zZW1hbnRpYyktPmFycm93RnVuY3Rpb25TdHJ1Y3R1cmUoKSk7CisjZW5kaWYKKyAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICAgICAgZm9yTm9kZShub2RlKS5zZXQo
CiAgICAgICAgICAgICBtX2dyYXBoLCBtX2NvZGVCbG9jay0+Z2xvYmFsT2JqZWN0Rm9yKG5vZGUt
Pm9yaWdpbi5zZW1hbnRpYyktPmZ1bmN0aW9uU3RydWN0dXJlKCkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAppbmRleCAzZjNlYzEwYWVlYzZl
NjAxOTkzODY0ZTgyZTAzOWFhNjkxYjJhMWU5Li5kOTczODg1YzFjYTMyYTNjNmUyMDYwZjkwMWQ3
MmEyODFiMTg3Yjc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5
dGVDb2RlUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVD
b2RlUGFyc2VyLmNwcApAQCAtMzc0NCwxNSArMzc0NCw2IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6
OnBhcnNlQmxvY2sodW5zaWduZWQgbGltaXQpCiAgICAgICAgICAgICBORVhUX09QQ09ERShvcF9u
ZXdfZnVuY19leHApOwogICAgICAgICB9CiAKLSNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQotICAgICAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDogewotICAgICAgICAg
ICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBleHByID0gbV9pbmxpbmVTdGFja1RvcC0+bV9wcm9maWxl
ZEJsb2NrLT5mdW5jdGlvbkV4cHIoY3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZCk7Ci0g
ICAgICAgICAgICBGcm96ZW5WYWx1ZSogZnJvemVuID0gbV9ncmFwaC5mcmVlemVTdHJvbmcoZXhw
cik7Ci0gICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsx
XS51Lm9wZXJhbmQpLAotICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgoTmV3RnVuY3Rpb24sIE9w
SW5mbyhmcm96ZW4pLCBnZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51
Lm9wZXJhbmQpKSkpOwotICAgICAgICAgICAgTkVYVF9PUENPREUob3BfbmV3X2Fycm93X2Z1bmNf
ZXhwKTsKLSAgICAgICAgfQotI2VuZGlmCiAgICAgICAgIGNhc2Ugb3BfdHlwZW9mOiB7CiAgICAg
ICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJh
bmQpLAogICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgoVHlwZU9mLCBnZXQoVmlydHVhbFJlZ2lz
dGVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpKSkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCmluZGV4IDRjMzY1ZDlkMDc1Y2M2ZTdj
NWUxNjZiMTllNjMyNDRjN2M3YzljODMuLjI3ZjBhMDAxMGI0MTQ3ZTBlYjA1NDQ1MWY5MjYzNjU5
OWI1NWM3ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJp
bGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGll
cy5jcHAKQEAgLTIwNyw5ICsyMDcsNiBAQCBDYXBhYmlsaXR5TGV2ZWwgY2FwYWJpbGl0eUxldmVs
KE9wY29kZUlEIG9wY29kZUlELCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgSW5zdHJ1YwogICAgIGNh
c2Ugb3BfbmV3X2Z1bmM6CiAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CiAgICAgY2FzZSBvcF9j
cmVhdGVfbGV4aWNhbF9lbnZpcm9ubWVudDoKLSNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQotICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgotI2VuZGlmCiAgICAgICAg
IHJldHVybiBDYW5Db21waWxlQW5kSW5saW5lOwogCiAgICAgY2FzZSBvcF9wdXRfdG9fc2NvcGU6
IHsKQEAgLTIzMyw2ICsyMzAsNyBAQCBDYXBhYmlsaXR5TGV2ZWwgY2FwYWJpbGl0eUxldmVsKE9w
Y29kZUlEIG9wY29kZUlELCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgSW5zdHJ1YwogICAgIGNhc2Ug
b3Bfc3dpdGNoX3N0cmluZzogLy8gRG9uJ3QgaW5saW5lIGJlY2F1c2Ugd2UgZG9uJ3Qgd2FudCB0
byBjb3B5IHN0cmluZyB0YWJsZXMgaW4gdGhlIGNvbmN1cnJlbnQgSklULgogICAgICAgICByZXR1
cm4gQ2FuQ29tcGlsZTsKIAorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOiAvLyBGaXht
ZTogQXJyb3cgZnVuY3Rpb24gY2Fubid0IGJlIGlubGluZSBhcyB0aGUgY29tbW9uIGZ1bmN0aW9u
IGJlY2F1c2UgaXQgaGFzIGxleGljYWx5IGJpbmQgdGhpcy9hcmd1bWVudHMgYW5kIGV0Yy4gYW5k
ICBhcnJvdyBmdW5jdGlvbiBoYXMgdG8gaGF2ZSBpdHMgb3duIGNvbXBpbGUgYW5kIGlubGluZSBh
cHByb2FjaC4KICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gQ2Fubm90Q29tcGlsZTsKICAg
ICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCmluZGV4IGE3MjZi
ZDdlODhkN2FkMGNlMjRhNzQyYzM1YzVhMjQwZWJiNmQ4ODguLjMyZTZjOGE5NGIxMDkyNDY5MjQ3
MjdhMThjMzY3NTYzOTM1NjNhNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQ2xvYmJlcml6ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xv
YmJlcml6ZS5oCkBAIC04NjUsNyArODY1LDggQEAgdm9pZCBjbG9iYmVyaXplKEdyYXBoJiBncmFw
aCwgTm9kZSogbm9kZSwgY29uc3QgUmVhZEZ1bmN0b3ImIHJlYWQsIGNvbnN0IFdyaXRlRnUKICAg
ICAgICAgcmVhZChIZWFwT2JqZWN0Q291bnQpOwogICAgICAgICB3cml0ZShIZWFwT2JqZWN0Q291
bnQpOwogICAgICAgICByZXR1cm47Ci0gICAgICAgIAorICAgIAorICAgIGNhc2UgTmV3QXJyb3dG
dW5jdGlvbjoKICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgICAgICBpZiAobm9kZS0+Y2FzdE9w
ZXJhbmQ8RnVuY3Rpb25FeGVjdXRhYmxlKj4oKS0+c2luZ2xldG9uRnVuY3Rpb24oKS0+aXNTdGls
bFZhbGlkKCkpCiAgICAgICAgICAgICB3cml0ZShXYXRjaHBvaW50X2ZpcmUpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCmluZGV4IGE2YWRhZjcyZDBjYzQ5OTA5ZjE1ZGQ1
YjVjYzdmYTZmYjM3ZmJiNTIuLjNjMTg2ZDE5NThiOGJmYjQ0YjNmYjdkYWY3ZGI5OTc1MDAzZWZl
ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAKQEAgLTIyOCw2ICsy
MjgsNyBAQCBib29sIGRvZXNHQyhHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUpCiAgICAgY2FzZSBO
ZXdSZWdleHA6CiAgICAgY2FzZSBOZXdTdHJpbmdPYmplY3Q6CiAgICAgY2FzZSBNYWtlUm9wZToK
KyAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246CiAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICBj
YXNlIE5ld1R5cGVkQXJyYXk6CiAgICAgY2FzZSBUaHJvd1JlZmVyZW5jZUVycm9yOgpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKaW5kZXggNTU2YmZhMTZlMmIz
NWNlNDk0Yzc2NmFkYWZiYmMzMzk0OTYxOTA2ZC4uNzI2YjVhODdlYTI4NWE5OWY4ZGRkMzM3NTY1
NTJmOGJiOGUzOTUxNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdG
aXh1cFBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhh
c2UuY3BwCkBAIC0xMTgxLDYgKzExODEsNyBAQCBwcml2YXRlOgogCiAgICAgICAgIGNhc2UgQ3Jl
YXRlU2NvcGVkQXJndW1lbnRzOgogICAgICAgICBjYXNlIENyZWF0ZUFjdGl2YXRpb246CisgICAg
ICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKICAgICAgICAgY2FzZSBOZXdGdW5jdGlvbjogewog
ICAgICAgICAgICAgZml4RWRnZTxDZWxsVXNlPihub2RlLT5jaGlsZDEoKSk7CiAgICAgICAgICAg
ICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgKaW5kZXggY2M0OTY0ZjVmMjJk
MDRkMmM2Nzk5YjE5OWFiYmIzZmQzZGM2ZTUxNS4uZTM1NDlmZDUxODVhNjI1YzM2YzEwNzcxMTcx
M2IxZWFiNDE5ZThiNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdO
b2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgKQEAgLTExOTQs
NiArMTE5NCw3IEBAIHN0cnVjdCBOb2RlIHsKICAgICAgICAgY2FzZSBDaGVja0NlbGw6CiAgICAg
ICAgIGNhc2UgTmF0aXZlQ29uc3RydWN0OgogICAgICAgICBjYXNlIE5hdGl2ZUNhbGw6CisgICAg
ICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKICAgICAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAg
ICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBkZWZhdWx0OgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdOb2RlVHlwZS5oCmluZGV4IGY5ODk5MTRiODQzMjBiMDlhOTJkOWQxZDMxYmE1
MjkyNDA2NjMyM2MuLmQxOTBhZDAyZDlkYjlkOGZjOTE0NmYwN2NiNWFkZTI2NzU4NGYwNWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKQEAgLTI3OSw2ICsyNzksOCBA
QCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CiAgICAgXAogICAgIG1hY3JvKE5ld0Z1
bmN0aW9uLCBOb2RlUmVzdWx0SlMpIFwKICAgICBcCisgICAgbWFjcm8oTmV3QXJyb3dGdW5jdGlv
biwgTm9kZVJlc3VsdEpTIHwgTm9kZU11c3RHZW5lcmF0ZSkgXAorICAgIFwKICAgICAvKiBUaGVz
ZSBhcmVuJ3QgdGVybWluYWxzIGJ1dCBhbHdheXMgZXhpdCAqLyBcCiAgICAgbWFjcm8oVGhyb3cs
IE5vZGVNdXN0R2VuZXJhdGUpIFwKICAgICBtYWNybyhUaHJvd1JlZmVyZW5jZUVycm9yLCBOb2Rl
TXVzdEdlbmVyYXRlKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCmluZGV4IDgxNWM3MDBhNmEyMDVm
NjI3NWFhYTlhOWVhNzZmMzQzMjI5YzIzMDIuLjc0OTg2YzRiYTQzNjg1ZTNmNDNmMWE4NmQyZDRm
NWU0YzJlYzlkMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJl
ZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCkBAIC0yMTYsNiArMjE2LDcgQEAg
cHJpdmF0ZToKICAgICAgICAgY2FzZSBHZXRHZXR0ZXI6CiAgICAgICAgIGNhc2UgR2V0U2V0dGVy
OgogICAgICAgICBjYXNlIEdldENhbGxlZToKKyAgICAgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9u
OgogICAgICAgICBjYXNlIE5ld0Z1bmN0aW9uOiB7CiAgICAgICAgICAgICBjaGFuZ2VkIHw9IHNl
dFByZWRpY3Rpb24oU3BlY0Z1bmN0aW9uKTsKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaAppbmRleCBlNTMwYTUyMDNlZjQx
M2ZmNTJlMDRkOWQxZTZkYTJiNmNkOGMzMmEyLi40ZDc1M2Y1OTE3NTRhODM4ZTk5ZjZjZDA5Njk3
YWI0MmU2YzBiZDFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nh
ZmVUb0V4ZWN1dGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4
ZWN1dGUuaApAQCAtMjI5LDYgKzIyOSw3IEBAIGJvb2wgc2FmZVRvRXhlY3V0ZShBYnN0cmFjdFN0
YXRlVHlwZSYgc3RhdGUsIEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSkKICAgICBjYXNlIENyZWF0
ZUNsb25lZEFyZ3VtZW50czoKICAgICBjYXNlIEdldEZyb21Bcmd1bWVudHM6CiAgICAgY2FzZSBQ
dXRUb0FyZ3VtZW50czoKKyAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246CiAgICAgY2FzZSBOZXdG
dW5jdGlvbjoKICAgICBjYXNlIEp1bXA6CiAgICAgY2FzZSBCcmFuY2g6CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKaW5kZXggNzBkMWQ5NTYyMGQ1Y2I1
ZjlmOTQ2YzQ1OTE4YzIyODE3YzQ3ZGNlZC4uZTBkMzFhNmJjOWRkOWU3ZTRjMTU3ZmQxNzM1NWQ5
NjZlZGFiZTFjNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQuaApAQCAtMTE5OSw2ICsxMTk5LDEyIEBAIHB1YmxpYzoKICAgICAgICAgbV9qaXQuc2V0
dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIFRydXN0ZWRJbW1QdHIoY2VsbCkpOwogICAg
ICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRp
b24sIHJlc3VsdCk7CiAgICAgfQorICAgIAorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVy
YXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0NKIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgR1BS
UmVnIGFyZzEsIEpTQ2VsbCogY2VsbCwgR1BSUmVnIGFyZzIpCisgICAgeworICAgICAgICBtX2pp
dC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSwg
YXJnMik7CisgICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVz
dWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAgICB9CiAKICAgICBKSVRDb21waWxlcjo6Q2FsbCBj
YWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9uX0VXcyBvcGVyYXRpb24sIFdhdGNocG9pbnRTZXQq
IHdhdGNocG9pbnRTZXQpCiAgICAgewpAQCAtMTYwNSw2ICsxNjExLDExIEBAIHB1YmxpYzoKICAg
ICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIFRydXN0ZWRJbW1Q
dHIoY2VsbCkpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1Nl
dFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdFBheWxvYWQsIHJlc3VsdFRhZyk7CiAgICAgfQorICAg
IEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0NKIG9w
ZXJhdGlvbiwgR1BSUmVnIHJlc3VsdFRhZywgR1BSUmVnIHJlc3VsdFBheWxvYWQsIEdQUlJlZyBh
cmcxLCBKU0NlbGwqIGNlbGwsIEdQUlJlZyBhcmcyKQorICAgIHsKKyAgICAgICAgbV9qaXQuc2V0
dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIFRydXN0ZWRJbW1QdHIoY2VsbCksIGFyZzIp
OworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChv
cGVyYXRpb24sIHJlc3VsdFBheWxvYWQsIHJlc3VsdFRhZyk7CisgICAgfQogICAgIEpJVENvbXBp
bGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRVNzaUNJIG9wZXJhdGlvbiwg
R1BSUmVnIHJlc3VsdFRhZywgR1BSUmVnIHJlc3VsdFBheWxvYWQsIFN0cnVjdHVyZVN0dWJJbmZv
KiBzdHViSW5mbywgR1BSUmVnIGFyZzEsIGNvbnN0IFN0cmluZ0ltcGwqIHVpZCkKICAgICB7CiAg
ICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHN0
dWJJbmZvKSwgYXJnMSwgVHJ1c3RlZEltbVB0cih1aWQpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCmluZGV4IDJjYjA4NTc3
NTgzNmU4YzkxZjQ1Zjg1YzljZmZjOWJiN2E0ZTAzMDYuLjdhYmQ5MWYwMzRkMTE0Njc4MmFiYmY5
NjlmZmUwNGUzYjRlMDM4M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcApAQCAtNDI3Miw3ICs0MjcyLDExIEBAIHZvaWQg
U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgY29tcGlsZUNyZWF0
ZUNsb25lZEFyZ3VtZW50cyhub2RlKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgICAgICAK
KyAgICAKKyAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246CisgICAgICAgIERGR19DUkFTSChtX2pp
dC5ncmFwaCgpLCBub2RlLCAiQXJyb3cgZnVuY3Rpb24gY2FuXCd0IGJlIGNvbXBpbGVkIGluIERG
RyIpOworICAgICAgICBicmVhazsKKyAgICAgICAgICAgIAogICAgIGNhc2UgTmV3RnVuY3Rpb246
CiAgICAgICAgIGNvbXBpbGVOZXdGdW5jdGlvbihub2RlKTsKICAgICAgICAgYnJlYWs7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAppbmRl
eCA0NDk4MGIxYmE2MjMzMjJmZjliZDYwZTNiNzQ5ZjViODY5NzBkYTFhLi5lMWJjZTRkYmU0YWFh
NWIzZTU1ODEzNGE5NzUxNWM3MjhlMzk1ZjhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKQEAgLTQzMDAsMTEgKzQzMDAsMTUgQEAg
dm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBjb21waWxl
Q3JlYXRlQ2xvbmVkQXJndW1lbnRzKG5vZGUpOwogICAgICAgICBicmVhazsKICAgICB9Ci0gICAg
ICAgIAorCisgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgorICAgICAgICBERkdfQ1JBU0gobV9q
aXQuZ3JhcGgoKSwgbm9kZSwgIkFycm93IGZ1bmN0aW9uIGNhblwnIGluIERGRyIpOworICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgIAogICAgIGNhc2UgTmV3RnVuY3Rpb246CiAgICAgICAgIGNv
bXBpbGVOZXdGdW5jdGlvbihub2RlKTsKICAgICAgICAgYnJlYWs7Ci0gICAgICAgIAorCiAgICAg
Y2FzZSBJbjoKICAgICAgICAgY29tcGlsZUluKG5vZGUpOwogICAgICAgICBicmVhazsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RydWN0dXJlUmVnaXN0cmF0aW9u
UGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTdHJ1Y3R1cmVSZWdpc3Ry
YXRpb25QaGFzZS5jcHAKaW5kZXggMjg2NDZkMTNmY2Y0Yzk2NWM2MjBkMDAyMTFiMGRjYmYwM2Iz
N2MyZC4uMmM0MmRmM2MwMjM4M2U3MWY1ZWM5NTg2YTI3OGZiYjFkYjEzMDgwZCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTdHJ1Y3R1cmVSZWdpc3RyYXRpb25QaGFz
ZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTdHJ1Y3R1cmVSZWdpc3Ry
YXRpb25QaGFzZS5jcHAKQEAgLTEzMCw3ICsxMzAsMTEgQEAgcHVibGljOgogICAgICAgICAgICAg
ICAgIGNhc2UgTmV3UmVnZXhwOgogICAgICAgICAgICAgICAgICAgICByZWdpc3RlclN0cnVjdHVy
ZShtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMpLT5yZWdFeHBT
dHJ1Y3R1cmUoKSk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAg
ICAgICAKKyAgICAgICAgICAgICAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246CisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXJT
dHJ1Y3R1cmUobV9ncmFwaC5nbG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKS0+
YXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpKTsKKyNlbmRpZgorICAgICAgICAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgICAgICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgICAgICAgICAgICAg
ICAgICByZWdpc3RlclN0cnVjdHVyZShtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihub2RlLT5vcmln
aW4uc2VtYW50aWMpLT5mdW5jdGlvblN0cnVjdHVyZSgpKTsKICAgICAgICAgICAgICAgICAgICAg
YnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0
SGVhcFJlcG9zaXRvcnkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFj
dEhlYXBSZXBvc2l0b3J5LmNwcAppbmRleCBlNDE2ZmRhYWZlZTIyMjlmNjUzYjlhZTA2MjQ4MDAw
OTk5ODc1YTAwLi4zYzM4NjRjYTE4MGFhMzZlNDgwOGMyM2ExMzA2YmUyOGU1ZDdiOTAxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRv
cnkuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVw
b3NpdG9yeS5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkRpcmVjdEFyZ3VtZW50
cy5oIgogI2luY2x1ZGUgIkdldHRlclNldHRlci5oIgorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlv
bi5oIgogI2luY2x1ZGUgIkpTRW52aXJvbm1lbnRSZWNvcmQuaCIKICNpbmNsdWRlICJKU1Byb3Bl
cnR5TmFtZUVudW1lcmF0b3IuaCIKICNpbmNsdWRlICJKU1Njb3BlLmgiCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oCmluZGV4
IDkxMjc1NGRmYzQwMTUyYjBlZDI0ODM2YWM3NWI4Zjk2OTg0Mzk5YmIuLmVlYjIwOGJlMWY0NmNm
YzQyYjk0OTVhOWZhOTIxZmJjZDZkODJkYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oCkBAIC04OCw2ICs4OCwxMyBA
QCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CiAgICAgbWFjcm8oU3RydWN0dXJlX2ds
b2JhbE9iamVjdCwgU3RydWN0dXJlOjpnbG9iYWxPYmplY3RPZmZzZXQoKSkgXAogICAgIG1hY3Jv
KFN0cnVjdHVyZV9wcm90b3R5cGUsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpIFwKICAg
ICBtYWNybyhTdHJ1Y3R1cmVfc3RydWN0dXJlSUQsIFN0cnVjdHVyZTo6c3RydWN0dXJlSURPZmZz
ZXQoKSkKKyAgICAKKyNkZWZpbmUgRk9SX0VBQ0hfQUJTVFJBQ1RfRklFTERfQVJST1dGVU5DVElP
TihtYWNybykgXAorICAgIG1hY3JvKEpTQXJyb3dGdW5jdGlvbl9leGVjdXRhYmxlLCBKU0Fycm93
RnVuY3Rpb246Om9mZnNldE9mRXhlY3V0YWJsZSgpKSBcCisgICAgbWFjcm8oSlNBcnJvd0Z1bmN0
aW9uX3Njb3BlLCBKU0Fycm93RnVuY3Rpb246Om9mZnNldE9mU2NvcGVDaGFpbigpKSBcCisgICAg
bWFjcm8oSlNBcnJvd0Z1bmN0aW9uX3JhcmVEYXRhLCBKU0Fycm93RnVuY3Rpb246Om9mZnNldE9m
UmFyZURhdGEoKSkgXAorICAgIG1hY3JvKEpTQXJyb3dGdW5jdGlvbl90aGlzLCBKU0Fycm93RnVu
Y3Rpb246Om9mZnNldE9mVGhpc1ZhbHVlKCkpCisgICAgCiAKICNkZWZpbmUgRk9SX0VBQ0hfSU5E
RVhFRF9BQlNUUkFDVF9IRUFQKG1hY3JvKSBcCiAgICAgbWFjcm8oRGlyZWN0QXJndW1lbnRzX3N0
b3JhZ2UsIERpcmVjdEFyZ3VtZW50czo6c3RvcmFnZU9mZnNldCgpLCBzaXplb2YoRW5jb2RlZEpT
VmFsdWUpKSBcCkBAIC0xMjksNiArMTM2LDkgQEAgcHVibGljOgogCiAjZGVmaW5lIEFCU1RSQUNU
X0ZJRUxEX0RFQ0xBUkFUSU9OKG5hbWUsIG9mZnNldCkgQWJzdHJhY3RGaWVsZCBuYW1lOwogICAg
IEZPUl9FQUNIX0FCU1RSQUNUX0ZJRUxEKEFCU1RSQUNUX0ZJRUxEX0RFQ0xBUkFUSU9OKQorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgRk9SX0VBQ0hfQUJTVFJBQ1Rf
RklFTERfQVJST1dGVU5DVElPTihBQlNUUkFDVF9GSUVMRF9ERUNMQVJBVElPTikKKyNlbmRpZgog
I3VuZGVmIEFCU1RSQUNUX0ZJRUxEX0RFQ0xBUkFUSU9OCiAgICAgCiAgICAgQWJzdHJhY3RGaWVs
ZCYgSlNDZWxsX2ZyZWVMaXN0TmV4dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
Q2FwYWJpbGl0aWVzLmNwcAppbmRleCA0MGJmNmQ4YTg2YzkwMzk4Yzk1NmFiNmFjYzFhMDAyYzQ0
ZmYxMzhkLi45NTVmNTY2Y2MxZTEwMjZlOTU5MzczOTg2ZTM0ZDIwNjQ4MWI4OGEyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCkBAIC0xMDMsNiAr
MTAzLDcgQEAgaW5saW5lIENhcGFiaWxpdHlMZXZlbCBjYW5Db21waWxlKE5vZGUqIG5vZGUpCiAg
ICAgY2FzZSBMb29wSGludDoKICAgICBjYXNlIFNraXBTY29wZToKICAgICBjYXNlIENyZWF0ZUFj
dGl2YXRpb246CisgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgogICAgIGNhc2UgTmV3RnVuY3Rp
b246CiAgICAgY2FzZSBHZXRDbG9zdXJlVmFyOgogICAgIGNhc2UgUHV0Q2xvc3VyZVZhcjoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSW50cmluc2ljUmVwb3NpdG9y
eS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmgK
aW5kZXggNGVlYWI1YTZiYjU0ZmYzYzA3MzExMGIzYWNlMDkyYTQyNDUyNzFmMC4uNmZkNGMyZTM4
MTQ5MDI2YWQ1MDc2MWM0N2NiODFjMGVjOGFmZmY3MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmgKQEAgLTgyLDYgKzgyLDcgQEAg
bmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgewogICAgIG1hY3JvKEpfSklUT3BlcmF0aW9u
X0VKQywgZnVuY3Rpb25UeXBlKGludDY0LCBpbnRQdHIsIGludDY0LCBpbnRQdHIpKSBcCiAgICAg
bWFjcm8oSl9KSVRPcGVyYXRpb25fRUpKLCBmdW5jdGlvblR5cGUoaW50NjQsIGludFB0ciwgaW50
NjQsIGludDY0KSkgXAogICAgIG1hY3JvKEpfSklUT3BlcmF0aW9uX0VKc2NDLCBmdW5jdGlvblR5
cGUoaW50UHRyLCBpbnRQdHIsIGludFB0ciwgaW50UHRyKSkgXAorICAgIG1hY3JvKEpfSklUT3Bl
cmF0aW9uX0VKc2NDSiwgZnVuY3Rpb25UeXBlKGludDY0LCBpbnRQdHIsIGludDY0LCBpbnQ2NCwg
aW50NjQpKVwKICAgICBtYWNybyhKX0pJVE9wZXJhdGlvbl9FSnNzWiwgZnVuY3Rpb25UeXBlKGlu
dDY0LCBpbnRQdHIsIGludFB0ciwgaW50MzIpKSBcCiAgICAgbWFjcm8oSl9KSVRPcGVyYXRpb25f
RVNzaUpJLCBmdW5jdGlvblR5cGUoaW50NjQsIGludFB0ciwgaW50UHRyLCBpbnQ2NCwgaW50UHRy
KSkgXAogICAgIG1hY3JvKEpzc19KSVRPcGVyYXRpb25fRVosIGZ1bmN0aW9uVHlwZShpbnRQdHIs
IGludFB0ciwgaW50MzIpKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTExvd2VyREZHVG9MTFZNLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93
ZXJERkdUb0xMVk0uY3BwCmluZGV4IGVhMjllYjQ3NmNjYTk4MzViZWE5MmE5OWFkYzMyMmFkYTRh
OGRiNjEuLjRiOTM4YzBkYTQ1MTk0OGJkYWYzM2RhNjUyNTQ5ODZlNDk4YjBmODkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCkBAIC00Myw2
ICs0Myw3IEBACiAjaW5jbHVkZSAiRlRMT3V0cHV0LmgiCiAjaW5jbHVkZSAiRlRMVGh1bmtzLmgi
CiAjaW5jbHVkZSAiRlRMV2VpZ2h0ZWRUYXJnZXQuaCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rp
b24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNMZXhpY2FsRW52aXJv
bm1lbnQuaCIKICNpbmNsdWRlICJPcGVyYW5kc0lubGluZXMuaCIKQEAgLTYwNSw2ICs2MDYsMTEg
QEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBDcmVhdGVBY3RpdmF0aW9uOgogICAgICAgICAgICAg
Y29tcGlsZUNyZWF0ZUFjdGl2YXRpb24oKTsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBj
YXNlIE5ld0Fycm93RnVuY3Rpb246CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICAgICAgICAgIGNvbXBpbGVOZXdBcnJvd0Z1bmN0aW9uKCk7CisjZW5kaWYKKyAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgICAgICAgICAgY29t
cGlsZU5ld0Z1bmN0aW9uKCk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTI5NTksNiArMjk2NSw1
MiBAQCBwcml2YXRlOgogICAgICAgICBzZXRKU1ZhbHVlKG1fb3V0LnBoaShtX291dC5pbnRQdHIs
IGZhc3RSZXN1bHQsIHNsb3dSZXN1bHQpKTsKICAgICB9CiAgICAgCisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2b2lkIGNvbXBpbGVOZXdBcnJvd0Z1bmN0aW9uKCkK
KyAgICB7CisKKyAgICAgICAgTFZhbHVlIHNjb3BlID0gbG93Q2VsbChtX25vZGUtPmNoaWxkMSgp
KTsKKyAgICAgICAgTFZhbHVlIHRoaXNWYWx1ZSA9IGxvd0pTVmFsdWUobV9ub2RlLT5jaGlsZDIo
KSk7CisgICAgICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9IG1fbm9kZS0+Y2Fz
dE9wZXJhbmQ8RnVuY3Rpb25FeGVjdXRhYmxlKj4oKTsKKyAgICAgICAgaWYgKGV4ZWN1dGFibGUt
PnNpbmdsZXRvbkZ1bmN0aW9uKCktPmlzU3RpbGxWYWxpZCgpKSB7CisgICAgICAgICAgICBMVmFs
dWUgY2FsbFJlc3VsdCA9IHZtQ2FsbCgKKyAgICAgICAgICAgICAgICBtX291dC5vcGVyYXRpb24o
b3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbiksCisgICAgICAgICAgICAgICAgbV9jYWxsRnJhbWUs
IHNjb3BlLCB3ZWFrUG9pbnRlcihleGVjdXRhYmxlKSwgdGhpc1ZhbHVlKTsKKyAgICAgICAgICAg
IHNldEpTVmFsdWUoY2FsbFJlc3VsdCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
KyAgICAgICAgCisgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gbV9ncmFwaC5nbG9iYWxP
YmplY3RGb3IobV9ub2RlLT5vcmlnaW4uc2VtYW50aWMpLT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJl
KCk7CisgICAgICAgIAorICAgICAgICBMQmFzaWNCbG9jayBzbG93UGF0aCA9IEZUTF9ORVdfQkxP
Q0sobV9vdXQsICgiTmV3QXJyb3dGdW5jdGlvbiBzbG93IHBhdGgiKSk7CisgICAgICAgIExCYXNp
Y0Jsb2NrIGNvbnRpbnVhdGlvbiA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiTmV3QXJyb3dGdW5j
dGlvbiBjb250aW51YXRpb24iKSk7CisgICAgICAgIAorICAgICAgICBMQmFzaWNCbG9jayBsYXN0
TmV4dCA9IG1fb3V0Lmluc2VydE5ld0Jsb2Nrc0JlZm9yZShzbG93UGF0aCk7CisgICAgICAgIAor
ICAgICAgICBMVmFsdWUgZmFzdE9iamVjdCA9IGFsbG9jYXRlT2JqZWN0PEpTQXJyb3dGdW5jdGlv
bj4oc3RydWN0dXJlLCBtX291dC5pbnRQdHJaZXJvLCBzbG93UGF0aCk7CisgICAgICAgIAorICAg
ICAgICAvLyBXZSBkb24ndCBuZWVkIG1lbW9yeSBiYXJyaWVycyBzaW5jZSB3ZSBqdXN0IGZhc3Qt
Y3JlYXRlZCB0aGUgZnVuY3Rpb24sIHNvIGl0CisgICAgICAgIC8vIG11c3QgYmUgeW91bmcuCisg
ICAgICAgIG1fb3V0LnN0b3JlUHRyKHNjb3BlLCBmYXN0T2JqZWN0LCBtX2hlYXBzLkpTQXJyb3dG
dW5jdGlvbl9zY29wZSk7CisgICAgICAgIG1fb3V0LnN0b3JlUHRyKHdlYWtQb2ludGVyKGV4ZWN1
dGFibGUpLCBmYXN0T2JqZWN0LCBtX2hlYXBzLkpTQXJyb3dGdW5jdGlvbl9leGVjdXRhYmxlKTsK
KyAgICAgICAgbV9vdXQuc3RvcmVQdHIodGhpc1ZhbHVlLCBmYXN0T2JqZWN0LCBtX2hlYXBzLkpT
QXJyb3dGdW5jdGlvbl90aGlzKTsKKyAgICAgICAgbV9vdXQuc3RvcmVQdHIobV9vdXQuaW50UHRy
WmVybywgZmFzdE9iamVjdCwgbV9oZWFwcy5KU0Fycm93RnVuY3Rpb25fcmFyZURhdGEpOworICAg
ICAgICAKKyAgICAgICAgVmFsdWVGcm9tQmxvY2sgZmFzdFJlc3VsdCA9IG1fb3V0LmFuY2hvcihm
YXN0T2JqZWN0KTsKKyAgICAgICAgbV9vdXQuanVtcChjb250aW51YXRpb24pOworICAgICAgICAK
KyAgICAgICAgbV9vdXQuYXBwZW5kVG8oc2xvd1BhdGgsIGNvbnRpbnVhdGlvbik7CisgICAgICAg
IExWYWx1ZSBjYWxsUmVzdWx0ID0gdm1DYWxsKAorICAgICAgICAgICAgbV9vdXQub3BlcmF0aW9u
KG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb25XaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRj
aHBvaW50KSwKKyAgICAgICAgICAgIG1fY2FsbEZyYW1lLCBzY29wZSwgd2Vha1BvaW50ZXIoZXhl
Y3V0YWJsZSksIHRoaXNWYWx1ZSk7CisgICAgICAgIFZhbHVlRnJvbUJsb2NrIHNsb3dSZXN1bHQg
PSBtX291dC5hbmNob3IoY2FsbFJlc3VsdCk7CisgICAgICAgIG1fb3V0Lmp1bXAoY29udGludWF0
aW9uKTsKKyAgICAgICAgCisgICAgICAgIG1fb3V0LmFwcGVuZFRvKGNvbnRpbnVhdGlvbiwgbGFz
dE5leHQpOworICAgICAgICBzZXRKU1ZhbHVlKG1fb3V0LnBoaShtX291dC5pbnRQdHIsIGZhc3RS
ZXN1bHQsIHNsb3dSZXN1bHQpKTsKKyAgICB9CisjZW5kaWYKKyAgICAKICAgICB2b2lkIGNvbXBp
bGVDcmVhdGVEaXJlY3RBcmd1bWVudHMoKQogICAgIHsKICAgICAgICAgLy8gRklYTUU6IEEgbW9y
ZSBlZmZlY3RpdmUgd2F5IG9mIGRlYWxpbmcgd2l0aCB0aGUgYXJndW1lbnQgY291bnQgYW5kIGNh
bGxlZSBpcyB0byBoYXZlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25z
LmNwcAppbmRleCBjMmNkN2JkOTFiZjgyMTA3OWY2ZDE1MjlkNjY2MDdkNjdkZWU0MjA1Li4yYWFl
ODhjMjZmNmVkZjAwMmMxYzdjMTEzMDc1ZGJiZTUzMmFmNjdmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTk2Miw3ICs5NjIsMjIgQEAgRW5jb2Rl
ZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdGdW5jdGlvbldpdGhJbnZhbGlkYXRl
ZFJlYWxsb2NhdGlvbldhdGMKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTRnVuY3Rpb246
OmNyZWF0ZVdpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQodm0sIHN0YXRpY19j
YXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KGZ1bmN0aW9uRXhlY3V0YWJsZSksIHNjb3BlKSk7CiB9
CiAKLQorRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJvd0Z1bmN0
aW9uV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludChFeGVjU3RhdGUqIGV4ZWMs
IEpTU2NvcGUqIHNjb3BlLCBKU0NlbGwqIGZ1bmN0aW9uRXhlY3V0YWJsZSwgRW5jb2RlZEpTVmFs
dWUgdGhpc1ZhbHVlKQoreworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgICAgIEFTU0VSVChmdW5jdGlvbkV4ZWN1dGFibGUtPmluaGVyaXRzKEZ1bmN0aW9uRXhlY3V0
YWJsZTo6aW5mbygpKSk7CisgICAgICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgICAgIE5h
dGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKKyAgICAgICAgCisgICAgICAg
IEpTRnVuY3Rpb24qIGZ1bmMgPSAgSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBzdGF0aWNfY2FzdDxG
dW5jdGlvbkV4ZWN1dGFibGUqPihmdW5jdGlvbkV4ZWN1dGFibGUpLCBzY29wZSk7CisgICAgICAg
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBleGVjLT5jYWxsZWUoKS0+Z2xvYmFsT2Jq
ZWN0KCk7CisgICAgICAgIAorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTQXJyb3dG
dW5jdGlvbjo6Y3JlYXRlV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludCh2bSwg
Z2xvYmFsT2JqZWN0LCBmdW5jLCBKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSkpOworI2Vsc2UK
KyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyNlbmRpZgor
fQorICAgIAogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJvd0Z1
bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNTY29wZSogc2NvcGUsIEpTQ2VsbCogZnVuY3Rpb25F
eGVjdXRhYmxlLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUpCiB7CiAjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUT3BlcmF0aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRp
b25zLmgKaW5kZXggNzc0MDY4MWM4ZTIwZGE3NTQxZTk0ZTU2YTA2ZDA4MzAzMWI0NDk3My4uNjc4
NGUyNjY4YzkyNjgzNGEzNzY0MzJjMzlkMzY5YjQ3NGYwZDgzZSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKQEAgLTI4MCw2ICsyODAsNyBAQCBFbmNvZGVkSlNW
YWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5V2l0aFNpemVBbmRQcm9maWxlKEV4
ZWNTdGF0ZSosIEFycgogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdG
dW5jdGlvbihFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKikgV1RGX0lOVEVSTkFMOwogRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdGdW5jdGlvbldpdGhJbnZhbGlk
YXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQoRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCop
IFdURl9JTlRFUk5BTDsKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3
QXJyb3dGdW5jdGlvbihFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFs
dWUpIFdURl9JTlRFUk5BTDsKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
TmV3QXJyb3dGdW5jdGlvbldpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQoRXhl
Y1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlKSBXVEZfSU5URVJOQUw7
CiBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3T2JqZWN0KEV4ZWNTdGF0ZSosIFN0
cnVjdHVyZSopIFdURl9JTlRFUk5BTDsKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uTmV3UmVnZXhwKEV4ZWNTdGF0ZSosIHZvaWQqKSBXVEZfSU5URVJOQUw7CiB2b2lkIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uSGFuZGxlV2F0Y2hkb2dUaW1lcihFeGVjU3RhdGUqKSBXVEZf
SU5URVJOQUw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fy
cm93RnVuY3Rpb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1
bmN0aW9uLmNwcAppbmRleCBjZGNiZTFjNTNiZmM1YmRlZGQyNmVlZjkwYmRmYWRmYjIwZDBiZmIz
Li5hOTc5Y2Y3N2RmYjA2ZGFjMTUzNDA5YTIzZmNlYWFiYzE0YThiZmI1IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAKQEAgLTY5LDEz
ICs2OSwxOSBAQCBKU0Fycm93RnVuY3Rpb246OkpTQXJyb3dGdW5jdGlvbihWTSYgdm0sIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZQogICAgICwgbV9hcnJvd0Z1bmN0aW9u
KHZtLCB0aGlzLCBhcnJvd0Z1bmN0aW9uKQogewogfQotICAgIAorCitKU0Fycm93RnVuY3Rpb24q
IEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hw
b2ludChWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBhcnJv
d0Z1bmN0aW9uLCBKU1ZhbHVlIGJvdW5kVGhpcykKK3sKKyAgICBBU1NFUlQoanNDYXN0PEpTRnVu
Y3Rpb24qPihhcnJvd0Z1bmN0aW9uKS0+anNFeGVjdXRhYmxlKCktPnNpbmdsZXRvbkZ1bmN0aW9u
KCktPmhhc0JlZW5JbnZhbGlkYXRlZCgpKTsKKyAgICByZXR1cm4gY3JlYXRlKHZtLCBnbG9iYWxP
YmplY3QsIGFycm93RnVuY3Rpb24sIGJvdW5kVGhpcyk7Cit9CisKIEpTQXJyb3dGdW5jdGlvbiog
SlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBKU09iamVjdCogYXJyb3dGdW5jdGlvbiwgSlNWYWx1ZSBib3VuZFRoaXMpCiB7CiAgICAg
TmF0aXZlRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9IHZtLmdldEhvc3RGdW5jdGlvbihhcnJvd0Z1
bmN0aW9uQ2FsbCwgY2FsbEhvc3RGdW5jdGlvbkFzQ29uc3RydWN0b3IpOwogICAgIEpTQXJyb3dG
dW5jdGlvbiogZnVuY3Rpb24gPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxKU0Fycm93RnVu
Y3Rpb24+KHZtLmhlYXApKSBKU0Fycm93RnVuY3Rpb24odm0sIGdsb2JhbE9iamVjdCwgZ2xvYmFs
T2JqZWN0LT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCksIGFycm93RnVuY3Rpb24sIGJvdW5kVGhp
cyk7Ci0gICAgCiAgICAgZnVuY3Rpb24tPmZpbmlzaENyZWF0aW9uKHZtLCBleGVjdXRhYmxlLCAw
LCAiIik7CisKICAgICByZXR1cm4gZnVuY3Rpb247CiB9CiAgICAgCkBAIC05Nyw4ICsxMDMsMTEg
QEAgdm9pZCBKU0Fycm93RnVuY3Rpb246OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90
VmlzaXRvciYgdmlzaXRvcikKICAgICBKU0Fycm93RnVuY3Rpb24qIHRoaXNPYmplY3QgPSBqc0Nh
c3Q8SlNBcnJvd0Z1bmN0aW9uKj4oY2VsbCk7CiAgICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklU
Uyh0aGlzT2JqZWN0LCBpbmZvKCkpOwogICAgIEJhc2U6OnZpc2l0Q2hpbGRyZW4odGhpc09iamVj
dCwgdmlzaXRvcik7CisKKyAgICAvLyBGaXhtZTogbV9hcnJvd0Z1bmN0aW9uIGFscmVhZHkgcmVt
b3ZlZCBieSBHQywgYmVjYXVzZSBpdCBjcmVhdGVkIGluIGJlZm9yZSBydW4gSlNBcnJvd0Z1bmN0
aW9uOjpjcmVhdGUgbWV0aG9kCisgICAgLy8gSXQgaXMgcG9zc2libGUgY2FzZSB3aGVuIG1fYXJy
b3dGdW5jdGlvbiBpcyByZW1vdmVkIGJ1dCB3cmFwcGVyIG9iamVjdCBpcyBzdGlsbCBleGlzdHMK
KyAgICAvLyAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYXJyb3dGdW5jdGlvbik7CiAg
ICAgCi0gICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYXJyb3dGdW5jdGlvbik7CiAg
ICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYm91bmRUaGlzKTsKIH0KICAgICAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmgKaW5kZXgg
OTI4NGVlZDcwMWJkNGRhNjQ4Mzk2OTE4NThkNmQwNjdmMWIxMzVlMi4uOGZlNmVmODZjODI0MGRi
MDI2ZDEyMWZlNzQzN2U0NTIyODhiOWEwNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmgKQEAgLTQyLDkgKzQyLDE2IEBAIHB1YmxpYzoKICAg
ICBjb25zdCBzdGF0aWMgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNIYXNJbnN0
YW5jZSB8IEJhc2U6OlN0cnVjdHVyZUZsYWdzOwogICAgICAgICAKICAgICBzdGF0aWMgSlNBcnJv
d0Z1bmN0aW9uKiBjcmVhdGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiB0YXJnZXRG
dW5jdGlvbiwgSlNWYWx1ZSBib3VuZFRoaXMpOworICAgIHN0YXRpYyBKU0Fycm93RnVuY3Rpb24q
IGNyZWF0ZVdpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQoVk0mLCBKU0dsb2Jh
bE9iamVjdCosIEpTT2JqZWN0KiwgSlNWYWx1ZSk7CiAgICAgCiAgICAgc3RhdGljIHZvaWQgZGVz
dHJveShKU0NlbGwqKTsKLSAgICAgICAgCisgICAgCisgICAgc3RhdGljIHNpemVfdCBhbGxvY2F0
aW9uU2l6ZShzaXplX3QgaW5saW5lQ2FwYWNpdHkpCisgICAgeworICAgICAgICBBU1NFUlRfVU5V
U0VEKGlubGluZUNhcGFjaXR5LCAhaW5saW5lQ2FwYWNpdHkpOworICAgICAgICByZXR1cm4gc2l6
ZW9mKEpTQXJyb3dGdW5jdGlvbik7CisgICAgfQorICAgIAogICAgIHN0YXRpYyBTdHJ1Y3R1cmUq
IGNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpT
VmFsdWUgcHJvdG90eXBlKQogICAgIHsKICAgICAgICAgQVNTRVJUKGdsb2JhbE9iamVjdCk7CkBA
IC01NSw2ICs2MiwxMSBAQCBwdWJsaWM6CiAgICAgSlNWYWx1ZSBib3VuZFRoaXMoKSB7IHJldHVy
biBtX2JvdW5kVGhpcy5nZXQoKTsgfQogICAgIAogICAgIERFQ0xBUkVfSU5GTzsKKyAgICAKKyAg
ICBzdGF0aWMgaW5saW5lIHB0cmRpZmZfdCBvZmZzZXRPZlRoaXNWYWx1ZSgpCisgICAgeworICAg
ICAgICByZXR1cm4gT0JKRUNUX09GRlNFVE9GKEpTQXJyb3dGdW5jdGlvbiwgbV9ib3VuZFRoaXMp
OworICAgIH0KIAogcHJvdGVjdGVkOgogICAgICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMuanMgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10
aGlzLmpzCmluZGV4IDYxMmZiYWY4MDQ0ODJjNzc2MWMzN2RkNjkzYTg0ODVlNTUxMTU3M2UuLjk4
YjUzYjI5OGJiYjBiNTNlNDA3MWM5OTdkODEyMzUxMWFmNjM5ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMu
anMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LWxleGljYWwtdGhpcy5qcwpAQCAtMjYsNiArMjYsOCBAQCB2YXIgZmFrZSA9IHtzdGVhbDogb2Jq
Lm1ldGhvZCgpfTsKIHRlc3RDYXNlKGZha2Uuc3RlYWwoKSA9PT0gb2JqLCB0cnVlLCAiRXJyb3I6
IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlv
biAjNCIpOwogCiAKLS8vIEZpeG1lOiBmb2xsb3dpbmcgdGVzdCBmYWlscyBpbiBkZmctZWFnZXIt
bm8tY2ppdC12YWxpZGF0ZSAmIGZ0bC1lYWdlci1uby1jaml0IG1vZGUKIHZhciByZWFsID0ge2Jv
cnJvdzogb2JqLm1ldGhvZH07CiB0ZXN0Q2FzZShyZWFsLmJvcnJvdygpKCkgPT09IHJlYWwsIHRy
dWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFy
cm93IGZ1bmN0aW9uICM1Iik7Cit0ZXN0Q2FzZShyZWFsLmJvcnJvdygpKCkgPT09IHJlYWwsIHRy
dWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFy
cm93IGZ1bmN0aW9uICM2Iik7Cit0ZXN0Q2FzZShyZWFsLmJvcnJvdygpKCkgPT09IHJlYWwsIHRy
dWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFy
cm93IGZ1bmN0aW9uICM3Iik7Cit0ZXN0Q2FzZShyZWFsLmJvcnJvdygpKCkgPT09IHJlYWwsIHRy
dWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFy
cm93IGZ1bmN0aW9uICM4Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTEuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDdh
MWYwYTQ5Y2IxNjg2M2M1OTIxMzYxZjBhZGIxZTE0ZWM5YjY1YQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAt
MS5qcwpAQCAtMCwwICsxLDI0IEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBl
eHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRo
cm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIg
KyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK2Z1bmN0aW9uIHJ1bihjb3VudCkgeworICB2YXIg
cmVzdWx0ID0gdHJ1ZTsKKyAgZm9yKHZhciBpPTA7IGk8Y291bnQ7IGkrKykgeworICAgIHZhciBP
YmogPSBmdW5jdGlvbiAobmFtZSkgeworICAgICAgdGhpcy5uYW1lID0gbmFtZTsKKyAgICAgIHRo
aXMuZ2V0TmFtZSA9ICgpID0+IHRoaXMubmFtZTsKKyAgICB9OworCisgICAgdmFyIG9iaiA9IG5l
dyBPYmooIkl0ZW0iICsgaSk7CisgICAgaWYgKG9iai5uYW1lICE9PSBvYmouZ2V0TmFtZSgpKSB7
CisgICAgICByZXN1bHQgPSBmYWxzZTsKKyAgICB9CisgIH0KKyAgcmV0dXJuIHJlc3VsdDsKK30K
KwordGVzdENhc2UocnVuKDEpLCB0cnVlLCAiRXJyb3I6IEVycm9yOiBkdXJpbmcgZXhlY3V0aW9u
IG9mIGFycm93IGZ1bmN0aW9uIG9uZSB0aW1lIik7Cit0ZXN0Q2FzZShydW4oMTApLCB0cnVlLCAi
RXJyb3I6IEVycm9yOiBkdXJpbmcgZXhlY3V0aW9uIG9mIGFycm93IGZ1bmN0aW9uIDEwIHRpbWVz
Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93
ZnVuY3Rpb24tcnVuLTEwLTIuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L2Fycm93ZnVuY3Rpb24tcnVuLTEwLTIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWRkY2RiM2M3MGExYjI3YzNk
YmI1MjM4MDk1NWY1MzUzZDc2NzQyNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAtMi5qcwpAQCAtMCwwICsx
LDI1IEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2Fn
ZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAi
LiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7
CisgIH0KK307CisKK2Z1bmN0aW9uIHJ1bihjb3VudCkgeworICB2YXIgcmVzdWx0ID0gdHJ1ZTsK
KyAgZm9yKHZhciBpPTA7IGk8Y291bnQ7IGkrKykgeworICAgIHZhciBPYmogPSBmdW5jdGlvbiAo
bmFtZSkgeworICAgICAgdGhpcy5uYW1lID0gbmFtZTsKKyAgICAgIHRoaXMuZ2V0TmFtZSA9ICgp
ID0+IGV2YWwoInRoaXMubmFtZSIpOzsKKyAgICB9OworCisKKyAgICB2YXIgb2JqID0gbmV3IE9i
aigiSXRlbSIgKyBpKTsKKyAgICBpZiAob2JqLm5hbWUgIT09IG9iai5nZXROYW1lKCkpIHsKKyAg
ICAgIHJlc3VsdCA9IGZhbHNlOworICAgIH0KKyAgfQorICByZXR1cm4gcmVzdWx0OworfQorCit0
ZXN0Q2FzZShydW4oMSksIHRydWUsICJFcnJvcjogZHVyaW5nIGV4ZWN1dGlvbiBvZiBhcnJvdyBm
dW5jdGlvbiBvbmUgdGltZSIpOwordGVzdENhc2UocnVuKDEwKSwgdHJ1ZSwgIkVycm9yOiBkdXJp
bmcgZXhlY3V0aW9uIG9mIGFycm93IGZ1bmN0aW9uIDEwIHRpbWVzIik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwMDAw
LTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
cnVuLTEwMDAwLTEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGU1ZjZiYzg2YmQzMTQ1MWIwMWNhMjdkMGI5NzIw
YjU3ZThkNjA1MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAwMDAtMS5qcwpAQCAtMCwwICsxLDIzIEBACit2
YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBp
ZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3Rl
ZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307
CisKK2Z1bmN0aW9uIHJ1bihjb3VudCkgeworICB2YXIgcmVzdWx0ID0gdHJ1ZTsKKyAgZm9yKHZh
ciBpPTA7IGk8Y291bnQ7IGkrKykgeworICAgIHZhciBPYmogPSBmdW5jdGlvbiAobmFtZSkgewor
ICAgICAgdGhpcy5uYW1lID0gbmFtZTsKKyAgICAgIHRoaXMuZ2V0TmFtZSA9ICgpID0+IHRoaXMu
bmFtZTsKKyAgICB9OworCisgICAgdmFyIG9iaiA9IG5ldyBPYmooIkl0ZW0iICsgaSk7CisgICAg
aWYgKG9iai5uYW1lICE9PSBvYmouZ2V0TmFtZSgpKSB7CisgICAgICByZXN1bHQgPSBmYWxzZTsK
KyAgICB9CisgIH0KKyAgcmV0dXJuIHJlc3VsdDsKK30KKwordGVzdENhc2UocnVuKDEwMDAwKSwg
dHJ1ZSwgIkVycm9yOiBFcnJvcjogZHVyaW5nIGV4ZWN1dGlvbiBvZiBhcnJvdyBmdW5jdGlvbiAx
MDAwMCB0aW1lcyIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMDAwMC0yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMDAwMC0yLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk1
MzBmMmMxZDVhN2Y1NWNlNDZiOGJlNjk5MDhiNGJjMjFlMDUyN2IKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEw
MDAwLTIuanMKQEAgLTAsMCArMSwyMyBAQAordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVh
bCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAg
ICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2Fz
ICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCitmdW5jdGlvbiBydW4oY291bnQpIHsKKyAg
dmFyIHJlc3VsdCA9IHRydWU7CisgIGZvcih2YXIgaT0wOyBpPGNvdW50OyBpKyspIHsKKyAgICB2
YXIgT2JqID0gZnVuY3Rpb24gKG5hbWUpIHsKKyAgICAgIHRoaXMubmFtZSA9IG5hbWU7CisgICAg
ICB0aGlzLmdldE5hbWUgPSAoKSA9PiBldmFsKCJ0aGlzLm5hbWUiKTs7CisgICAgfTsKKworICAg
IHZhciBvYmogPSBuZXcgT2JqKCJJdGVtIiArIGkpOworICAgIGlmIChvYmoubmFtZSAhPT0gb2Jq
LmdldE5hbWUoKSkgeworICAgICAgcmVzdWx0ID0gZmFsc2U7CisgICAgfQorICB9CisgIHJldHVy
biByZXN1bHQ7Cit9CisKK3Rlc3RDYXNlKHJ1bigxMDAwMCksIHRydWUsICJFcnJvcjogRXJyb3I6
IGR1cmluZyBleGVjdXRpb24gb2YgYXJyb3cgZnVuY3Rpb24gMTAwMDAgdGltZXMiKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252164</attachid>
            <date>2015-05-01 12:19:53 -0700</date>
            <delta_ts>2015-05-01 15:22:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150501221839.patch</filename>
            <type>text/plain</type>
            <size>60508</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzNjcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAy
MDA1ZWZhNTYzYTE2ODU5MGU5NzlmNzA1ODU1ZDI4ZjJmYmY5YWYwLi45NTE3MWYwOGM1YmZkYjcz
NTk2ZjY1OWY3NzQ5N2QxYjQxZDg1ZGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw2NSBAQAorMjAxNS0wNS0wMSAgU2thY2hrb3YgT2xla3NhbmRyICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5
bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQw
ODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4
ZWQgY29tbWVudHMgZnJvbSByZXZpZXcgYW5kIGFsc28gYWRkZWQgc3VwcG9ydCBvZiBGVEwgYW5k
IERGRyBjb21waWxlIG1vZGUuIAorICAgICAgICBUbyBmb3JjZSB3b3JrIGNvcnJlY3RseSBpbiBE
RkcgbW9kZSB3YXMgYWRkZWQgcGFyYW1ldGVyIHRoYXQgcHJldmVudHMgaW5saW5lIAorICAgICAg
ICBhbmQgY29tcGlsZSBhcnJvdyBmdW5jdGlvbiBpbiBERkcuCisKKworICAgICAgICAqIGRmZy9E
RkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpERkc6OkFic3Ry
YWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyk6CisgICAg
ICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpCeXRl
Q29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgICogZGZnL0RGR0NhcGFiaWxpdGllcy5j
cHA6CisgICAgICAgIChKU0M6OkRGRzo6Y2FwYWJpbGl0eUxldmVsKToKKyAgICAgICAgKiBkZmcv
REZHQ2xvYmJlcml6ZS5oOgorICAgICAgICAoSlNDOjpERkc6OmNsb2JiZXJpemUpOgorICAgICAg
ICAqIGRmZy9ERkdEb2VzR0MuY3BwOgorICAgICAgICAoSlNDOjpERkc6OmRvZXNHQyk6CisgICAg
ICAgICogZGZnL0RGR0ZpeHVwUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkZpeHVwUGhh
c2U6OmZpeHVwTm9kZSk6CisgICAgICAgICogZGZnL0RGR05vZGUuaDoKKyAgICAgICAgKEpTQzo6
REZHOjpOb2RlOjpoYXNDZWxsT3BlcmFuZCk6CisgICAgICAgICogZGZnL0RGR05vZGVUeXBlLmg6
CisgICAgICAgICogZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcDoKKyAgICAg
ICAgKEpTQzo6REZHOjpQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZTo6cHJvcGFnYXRlKToKKyAg
ICAgICAgKiBkZmcvREZHU2FmZVRvRXhlY3V0ZS5oOgorICAgICAgICAoSlNDOjpERkc6OnNhZmVU
b0V4ZWN1dGUpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oOgorICAgICAgICAo
SlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjYWxsT3BlcmF0aW9uKToKKyAgICAgICAgKiBkZmcv
REZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcDoK
KyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZSk6CisgICAgICAgICog
ZGZnL0RGR1N0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpTdHJ1Y3R1cmVSZWdpc3RyYXRpb25QaGFzZTo6cnVuKToKKyAgICAgICAgKiBmdGwvRlRMQWJz
dHJhY3RIZWFwUmVwb3NpdG9yeS5jcHA6CisgICAgICAgICogZnRsL0ZUTEFic3RyYWN0SGVhcFJl
cG9zaXRvcnkuaDoKKyAgICAgICAgKiBmdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAgICAg
KEpTQzo6RlRMOjpjYW5Db21waWxlKToKKyAgICAgICAgKiBmdGwvRlRMSW50cmluc2ljUmVwb3Np
dG9yeS5oOgorICAgICAgICAqIGZ0bC9GVExMb3dlckRGR1RvTExWTS5jcHA6CisgICAgICAgIChK
U0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVOb2RlKToKKyAgICAgICAgKEpTQzo6RlRM
OjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZU5ld0Fycm93RnVuY3Rpb24pOgorICAgICAgICAqIGpp
dC9KSVRPcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0aW9ucy5oOgorICAg
ICAgICAqIHJ1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6SlNBcnJv
d0Z1bmN0aW9uOjpjcmVhdGVXaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRjaHBvaW50KToK
KyAgICAgICAgKEpTQzo6SlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUpOgorICAgICAgICAoSlNDOjpK
U0Fycm93RnVuY3Rpb246OnZpc2l0Q2hpbGRyZW4pOgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJv
d0Z1bmN0aW9uLmg6CisgICAgICAgIChKU0M6OkpTQXJyb3dGdW5jdGlvbjo6YWxsb2NhdGlvblNp
emUpOgorICAgICAgICAoSlNDOjpKU0Fycm93RnVuY3Rpb246Om9mZnNldE9mVGhpc1ZhbHVlKToK
KyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMuanM6Cisg
ICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTEuanM6IEFkZGVkLgor
ICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMC0yLmpzOiBBZGRlZC4K
KyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAwMDAtMS5qczogQWRk
ZWQuCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwMDAwLTIuanM6
IEFkZGVkLgorCiAyMDE1LTA0LTE3ICBBbGV4YW5kciBTa2FjaGtvdiAgPGdza2FjaGtvdkBnbWFp
bC5jb20+CiAgICAgICAgIFNtYWxsIHJlZmFjdG9yaW5nIG9mIHRoZSBwYXJjZXIuY3BwIGZpbGUu
IEl0IGlzIG5lY2Vzc2FyeSB0byBpbmNyZWFzZSByZWFkYWJpbGl0eSBvZiB0aGUgcGF0Y2gKICAg
ICAgICAgd2l0aCBFUzYgQXJyb3cgZnVuY3Rpb24gaW1wbGVtZW50YXRpb24KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGlu
ZXMuaAppbmRleCA2OTBiMjhmY2U5MWVhYWI3ZjIyMzQ0YzIzYTJiNTk5YTk2ZDQ4MzIwLi4yMGNl
ZTVlMDljYjUyYzBjYzlkYWQxYWNlNTc5MDE1ODlkZjhlMTliIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5o
CkBAIC0xNTM0LDcgKzE1MzQsMTMgQEAgYm9vbCBBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0
U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHModW5zaWduZWQgY2xvYmJlckxpbWkKICAgICBjYXNl
IENyZWF0ZUNsb25lZEFyZ3VtZW50czoKICAgICAgICAgZm9yTm9kZShub2RlKS5zZXRUeXBlKG1f
Z3JhcGgsIFNwZWNPYmplY3RPdGhlcik7CiAgICAgICAgIGJyZWFrOwotICAgICAgICAKKyAgICAg
ICAgICAgIAorICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBmb3JOb2RlKG5vZGUpLnNldCgKKyAgICAgICAgICAg
IG1fZ3JhcGgsIG1fY29kZUJsb2NrLT5nbG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFu
dGljKS0+YXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpKTsKKyNlbmRpZgorICAgICAgICBicmVhazsK
ICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgICAgICBmb3JOb2RlKG5vZGUpLnNldCgKICAgICAg
ICAgICAgIG1fZ3JhcGgsIG1fY29kZUJsb2NrLT5nbG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2lu
LnNlbWFudGljKS0+ZnVuY3Rpb25TdHJ1Y3R1cmUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCmluZGV4IDQzZTNmZDkwZmJjZDdjOTliYTI0
NjM0YjMxYmUxYWZmZTU3NGNlZGIuLjRjNmJiZGQyZmY2M2RmMGM1MGQ4OTg4ODY1NDVjZjEzZmY3
YWVmYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQ
YXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJz
ZXIuY3BwCkBAIC0zNzY2LDE1ICszNzY2LDYgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VC
bG9jayh1bnNpZ25lZCBsaW1pdCkKICAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX25ld19mdW5j
X2V4cCk7CiAgICAgICAgIH0KIAotI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
Ci0gICAgICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOiB7Ci0gICAgICAgICAgICBGdW5j
dGlvbkV4ZWN1dGFibGUqIGV4cHIgPSBtX2lubGluZVN0YWNrVG9wLT5tX3Byb2ZpbGVkQmxvY2st
PmZ1bmN0aW9uRXhwcihjdXJyZW50SW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5kKTsKLSAgICAgICAg
ICAgIEZyb3plblZhbHVlKiBmcm96ZW4gPSBtX2dyYXBoLmZyZWV6ZVN0cm9uZyhleHByKTsKLSAg
ICAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3Bl
cmFuZCksCi0gICAgICAgICAgICAgICAgYWRkVG9HcmFwaChOZXdGdW5jdGlvbiwgT3BJbmZvKGZy
b3plbiksIGdldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFu
ZCkpKSk7Ci0gICAgICAgICAgICBORVhUX09QQ09ERShvcF9uZXdfYXJyb3dfZnVuY19leHApOwot
ICAgICAgICB9Ci0jZW5kaWYKICAgICAgICAgY2FzZSBvcF90eXBlb2Y6IHsKICAgICAgICAgICAg
IHNldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCksCiAg
ICAgICAgICAgICAgICAgYWRkVG9HcmFwaChUeXBlT2YsIGdldChWaXJ0dWFsUmVnaXN0ZXIoY3Vy
cmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCkpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKaW5kZXggYjBjNjcyYmMzOTJkOTMwYjY4ZjQzY2Y0
YzQ2YWVmY2ZiMTUzZGQ3Zi4uMGUzYzg4MGI3Y2NjYjliNzUwYWEzMDg5NWYwNjk1OThkNTJkZmZi
MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcApA
QCAtMjA4LDkgKzIwOCw2IEBAIENhcGFiaWxpdHlMZXZlbCBjYXBhYmlsaXR5TGV2ZWwoT3Bjb2Rl
SUQgb3Bjb2RlSUQsIENvZGVCbG9jayogY29kZUJsb2NrLCBJbnN0cnVjCiAgICAgY2FzZSBvcF9u
ZXdfZnVuYzoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKICAgICBjYXNlIG9wX2NyZWF0ZV9s
ZXhpY2FsX2Vudmlyb25tZW50OgotI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
Ci0gICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6Ci0jZW5kaWYKICAgICAgICAgcmV0dXJu
IENhbkNvbXBpbGVBbmRJbmxpbmU7CiAKICAgICBjYXNlIG9wX3B1dF90b19zY29wZTogewpAQCAt
MjM0LDYgKzIzMSw3IEBAIENhcGFiaWxpdHlMZXZlbCBjYXBhYmlsaXR5TGV2ZWwoT3Bjb2RlSUQg
b3Bjb2RlSUQsIENvZGVCbG9jayogY29kZUJsb2NrLCBJbnN0cnVjCiAgICAgY2FzZSBvcF9zd2l0
Y2hfc3RyaW5nOiAvLyBEb24ndCBpbmxpbmUgYmVjYXVzZSB3ZSBkb24ndCB3YW50IHRvIGNvcHkg
c3RyaW5nIHRhYmxlcyBpbiB0aGUgY29uY3VycmVudCBKSVQuCiAgICAgICAgIHJldHVybiBDYW5D
b21waWxlOwogCisgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6IC8vIEZpeG1lOiBBcnJv
dyBmdW5jdGlvbiBjYW5uJ3QgYmUgaW5saW5lIGFzIHRoZSBjb21tb24gZnVuY3Rpb24gYmVjYXVz
ZSBpdCBoYXMgbGV4aWNhbHkgYmluZCB0aGlzL2FyZ3VtZW50cyBhbmQgZXRjLiBhbmQgIGFycm93
IGZ1bmN0aW9uIGhhcyB0byBoYXZlIGl0cyBvd24gY29tcGlsZSBhbmQgaW5saW5lIGFwcHJvYWNo
LgogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiBDYW5ub3RDb21waWxlOwogICAgIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKaW5kZXggZDM4NTc5ZTM0YmI4
MDY0MzI3MTk2ZWMyNTBjNjkzMTExNDFmMWMwMy4uZWNjN2JmOGYyNWRkZmFmZmE4MjJiMmIzZTQ1
ZGFjYjhjYzA2MzA5NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdD
bG9iYmVyaXplLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXpl
LmgKQEAgLTg2MSw3ICs4NjEsOCBAQCB2b2lkIGNsb2JiZXJpemUoR3JhcGgmIGdyYXBoLCBOb2Rl
KiBub2RlLCBjb25zdCBSZWFkRnVuY3RvciYgcmVhZCwgY29uc3QgV3JpdGVGdQogICAgICAgICBy
ZWFkKEhlYXBPYmplY3RDb3VudCk7CiAgICAgICAgIHdyaXRlKEhlYXBPYmplY3RDb3VudCk7CiAg
ICAgICAgIHJldHVybjsKLSAgICAgICAgCisgICAgCisgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9u
OgogICAgIGNhc2UgTmV3RnVuY3Rpb246CiAgICAgICAgIGlmIChub2RlLT5jYXN0T3BlcmFuZDxG
dW5jdGlvbkV4ZWN1dGFibGUqPigpLT5zaW5nbGV0b25GdW5jdGlvbigpLT5pc1N0aWxsVmFsaWQo
KSkKICAgICAgICAgICAgIHdyaXRlKFdhdGNocG9pbnRfZmlyZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0RvZXNHQy5jcHAKaW5kZXggNDg3MWYwYTk2MjMxZDE3M2VkOTAxNjI3NTBmMDk0
YzdlMWIxMTViMi4uNDFhNzIxMzg5YzUxYzFkOTJjZDhlZGYxNTZlODZmNTAyOTI0ZDY5ZiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcApAQCAtMjI4LDYgKzIyOCw3IEBA
IGJvb2wgZG9lc0dDKEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSkKICAgICBjYXNlIE5ld1JlZ2V4
cDoKICAgICBjYXNlIE5ld1N0cmluZ09iamVjdDoKICAgICBjYXNlIE1ha2VSb3BlOgorICAgIGNh
c2UgTmV3QXJyb3dGdW5jdGlvbjoKICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgIGNhc2UgTmV3
VHlwZWRBcnJheToKICAgICBjYXNlIFRocm93UmVmZXJlbmNlRXJyb3I6CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAppbmRleCA2NTJjYjZhMjJhOTFlOGNiNmZh
ODMxNmMzZDhjMjllYmJhN2Q1NmEzLi4zMTRiOGVmODBhOTk3NDkwMzcyZGU5MTFkMDlkZDdkYzlm
YjE3MjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhh
c2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAK
QEAgLTExODIsNiArMTE4Miw3IEBAIHByaXZhdGU6CiAKICAgICAgICAgY2FzZSBDcmVhdGVTY29w
ZWRBcmd1bWVudHM6CiAgICAgICAgIGNhc2UgQ3JlYXRlQWN0aXZhdGlvbjoKKyAgICAgICAgY2Fz
ZSBOZXdBcnJvd0Z1bmN0aW9uOgogICAgICAgICBjYXNlIE5ld0Z1bmN0aW9uOiB7CiAgICAgICAg
ICAgICBmaXhFZGdlPENlbGxVc2U+KG5vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgICAgIGJyZWFr
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAppbmRleCBmYjQ0NWI3NjJmMWNiNTg0ZTQ5
YTMxYjM4NjZjZmNiYzMwOTgwMGJhLi4wY2Q2OWE3Nzk1YWJiMzlhYjdhYjZhMWU3NTU1OTI2YzFm
NWQ5NjhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaApAQCAtMTI2Nyw2ICsxMjY3
LDcgQEAgc3RydWN0IE5vZGUgewogICAgICAgICBjYXNlIENoZWNrQ2VsbDoKICAgICAgICAgY2Fz
ZSBOYXRpdmVDb25zdHJ1Y3Q6CiAgICAgICAgIGNhc2UgTmF0aXZlQ2FsbDoKKyAgICAgICAgY2Fz
ZSBOZXdBcnJvd0Z1bmN0aW9uOgogICAgICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGRlZmF1bHQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR05vZGVUeXBlLmgKaW5kZXggYjlmMDI1ZmI5YWI4YjdkZDU1NzNkMGQ3ODRjNjVkZTM2NjBj
NWUwOS4uNDc0ODcxZTdhZjU0ZmM0Nzg3M2NkNTBlZjVkZjFmOTViMTBiYjcwNSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaApAQCAtMjkxLDYgKzI5MSw4IEBAIG5hbWVz
cGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKICAgICBcCiAgICAgbWFjcm8oTmV3RnVuY3Rpb24s
IE5vZGVSZXN1bHRKUykgXAogICAgIFwKKyAgICBtYWNybyhOZXdBcnJvd0Z1bmN0aW9uLCBOb2Rl
UmVzdWx0SlMgfCBOb2RlTXVzdEdlbmVyYXRlKSBcCisgICAgXAogICAgIC8qIFRoZXNlIGFyZW4n
dCB0ZXJtaW5hbHMgYnV0IGFsd2F5cyBleGl0ICovIFwKICAgICBtYWNybyhUaHJvdywgTm9kZU11
c3RHZW5lcmF0ZSkgXAogICAgIG1hY3JvKFRocm93UmVmZXJlbmNlRXJyb3IsIE5vZGVNdXN0R2Vu
ZXJhdGUpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGlj
dGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQ
cmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKaW5kZXggZmRiOGZkYTU4MWVmNGM1MGJkMTA1
NTA4Mjc2YTE3YWVmYjdiNmM4Yy4uMzAzMjliNWFmMjc0NDU2OGE5MzUxNjMzZmFkOWUxMjMzNmNj
MTk4ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9u
UHJvcGFnYXRpb25QaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQ
cmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKQEAgLTIxNyw2ICsyMTcsNyBAQCBwcml2YXRl
OgogICAgICAgICBjYXNlIEdldEdldHRlcjoKICAgICAgICAgY2FzZSBHZXRTZXR0ZXI6CiAgICAg
ICAgIGNhc2UgR2V0Q2FsbGVlOgorICAgICAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246CiAgICAg
ICAgIGNhc2UgTmV3RnVuY3Rpb246IHsKICAgICAgICAgICAgIGNoYW5nZWQgfD0gc2V0UHJlZGlj
dGlvbihTcGVjRnVuY3Rpb24pOwogICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCmluZGV4IGFhNWE3MWMxN2Y4OGI2ODhlM2Zh
NWI1N2I4ZGNhYjIyMzQ1ZDRmMWUuLmI2YzUwYjQ0NTdjMDY5YmYxZDA3MWYzOWIxN2ViZjdiOWRh
ZDM3NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhl
Y3V0ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5o
CkBAIC0yMjgsNiArMjI4LDcgQEAgYm9vbCBzYWZlVG9FeGVjdXRlKEFic3RyYWN0U3RhdGVUeXBl
JiBzdGF0ZSwgR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlKQogICAgIGNhc2UgQ3JlYXRlQ2xvbmVk
QXJndW1lbnRzOgogICAgIGNhc2UgR2V0RnJvbUFyZ3VtZW50czoKICAgICBjYXNlIFB1dFRvQXJn
dW1lbnRzOgorICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKICAgICBjYXNlIE5ld0Z1bmN0aW9u
OgogICAgIGNhc2UgSnVtcDoKICAgICBjYXNlIEJyYW5jaDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAppbmRleCA5ZDcyZTg5MzczMmNiN2FlOTY4ODY2
NzNlZDA1ZTVlZjU1ZDFkMWIxLi41NTdjNTMxNzkxNTcwZDVmNmVjN2IxMjY0NGY4ZGQxZTk0YTY0
YTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklULmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5o
CkBAIC0xMTk5LDYgKzExOTksMTIgQEAgcHVibGljOgogICAgICAgICBtX2ppdC5zZXR1cEFyZ3Vt
ZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSk7CiAgICAgICAgIHJl
dHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVz
dWx0KTsKICAgICB9CisgICAgCisgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihK
X0pJVE9wZXJhdGlvbl9FSnNjQ0ogb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgYXJn
MSwgSlNDZWxsKiBjZWxsLCBHUFJSZWcgYXJnMikKKyAgICB7CisgICAgICAgIG1faml0LnNldHVw
QXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBUcnVzdGVkSW1tUHRyKGNlbGwpLCBhcmcyKTsK
KyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3Bl
cmF0aW9uLCByZXN1bHQpOworICAgIH0KIAogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVy
YXRpb24oVl9KSVRPcGVyYXRpb25fRVdzIG9wZXJhdGlvbiwgV2F0Y2hwb2ludFNldCogd2F0Y2hw
b2ludFNldCkKICAgICB7CkBAIC0xNjA1LDYgKzE2MTEsMTEgQEAgcHVibGljOgogICAgICAgICBt
X2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihjZWxs
KSk7CiAgICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0
KG9wZXJhdGlvbiwgcmVzdWx0UGF5bG9hZCwgcmVzdWx0VGFnKTsKICAgICB9CisgICAgSklUQ29t
cGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0ogb3BlcmF0aW9u
LCBHUFJSZWcgcmVzdWx0VGFnLCBHUFJSZWcgcmVzdWx0UGF5bG9hZCwgR1BSUmVnIGFyZzEsIEpT
Q2VsbCogY2VsbCwgR1BSUmVnIGFyZzIpCisgICAgeworICAgICAgICBtX2ppdC5zZXR1cEFyZ3Vt
ZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSwgYXJnMik7CisgICAg
ICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlv
biwgcmVzdWx0UGF5bG9hZCwgcmVzdWx0VGFnKTsKKyAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNh
bGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FU3NpQ0kgb3BlcmF0aW9uLCBHUFJSZWcg
cmVzdWx0VGFnLCBHUFJSZWcgcmVzdWx0UGF5bG9hZCwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJ
bmZvLCBHUFJSZWcgYXJnMSwgY29uc3QgU3RyaW5nSW1wbCogdWlkKQogICAgIHsKICAgICAgICAg
bV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIoc3R1YkluZm8p
LCBhcmcxLCBUcnVzdGVkSW1tUHRyKHVpZCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKaW5kZXggZmQ5ZjM1MGIxOGRjNWVh
YTE4NmJiYjc2MTc1NzliNWJhMDAxNzE2NS4uZjM2OTAyMjgxMjJiZjZkNGE5MGU2NjRiNjIwOTFj
MDk2YThmZDg3MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVDMyXzY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUMzJfNjQuY3BwCkBAIC00MjgzLDcgKzQyODMsMTEgQEAgdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBjb21waWxlQ3JlYXRlQ2xvbmVk
QXJndW1lbnRzKG5vZGUpOwogICAgICAgICBicmVhazsKICAgICB9Ci0gICAgICAgIAorICAgIAor
ICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKKyAgICAgICAgREZHX0NSQVNIKG1faml0LmdyYXBo
KCksIG5vZGUsICJBcnJvdyBmdW5jdGlvbiBjYW5cJ3QgYmUgY29tcGlsZWQgaW4gREZHIik7Cisg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgCiAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICAg
ICAgY29tcGlsZU5ld0Z1bmN0aW9uKG5vZGUpOwogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCmluZGV4IDFkMDg1
N2YzZjVkN2IyYzFjYzIwNDZhMTBlZGFlNDAzMzMzNDgzMzUuLjBmMzU3NWI1ZTIzMTU2NGFhZjNh
YmE2Yzk1MDY2MmViZDAxM2I4NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcApAQCAtNDMxNywxMSArNDMxNywxNSBAQCB2b2lkIFNw
ZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIGNvbXBpbGVDcmVhdGVD
bG9uZWRBcmd1bWVudHMobm9kZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KLSAgICAgICAgCisK
KyAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246CisgICAgICAgIERGR19DUkFTSChtX2ppdC5ncmFw
aCgpLCBub2RlLCAiQXJyb3cgZnVuY3Rpb24gY2FuXCcgaW4gREZHIik7CisgICAgICAgIGJyZWFr
OworICAgICAgICAgICAgCiAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICAgICAgY29tcGlsZU5l
d0Z1bmN0aW9uKG5vZGUpOwogICAgICAgICBicmVhazsKLSAgICAgICAgCisKICAgICBjYXNlIElu
OgogICAgICAgICBjb21waWxlSW4obm9kZSk7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTdHJ1Y3R1cmVSZWdpc3RyYXRpb25QaGFzZS5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1N0cnVjdHVyZVJlZ2lzdHJhdGlvblBo
YXNlLmNwcAppbmRleCAyODY0NmQxM2ZjZjRjOTY1YzYyMGQwMDIxMWIwZGNiZjAzYjM3YzJkLi4y
YzQyZGYzYzAyMzgzZTcxZjVlYzk1ODZhMjc4ZmJiMWRiMTMwODBkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1N0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1N0cnVjdHVyZVJlZ2lzdHJhdGlvblBo
YXNlLmNwcApAQCAtMTMwLDcgKzEzMCwxMSBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgY2Fz
ZSBOZXdSZWdleHA6CiAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyU3RydWN0dXJlKG1fZ3Jh
cGguZ2xvYmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyktPnJlZ0V4cFN0cnVjdHVy
ZSgpKTsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIAor
ICAgICAgICAgICAgICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICAgICAgICAgICAgICByZWdpc3RlclN0cnVjdHVy
ZShtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMpLT5hcnJvd0Z1
bmN0aW9uU3RydWN0dXJlKCkpOworI2VuZGlmCisgICAgICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgICAgIGNhc2UgTmV3RnVuY3Rpb246CiAgICAgICAgICAgICAgICAgICAgIHJl
Z2lzdGVyU3RydWN0dXJlKG1fZ3JhcGguZ2xvYmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdpbi5zZW1h
bnRpYyktPmZ1bmN0aW9uU3RydWN0dXJlKCkpOwogICAgICAgICAgICAgICAgICAgICBicmVhazsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVw
b3NpdG9yeS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJl
cG9zaXRvcnkuY3BwCmluZGV4IGU0MTZmZGFhZmVlMjIyOWY2NTNiOWFlMDYyNDgwMDA5OTk4NzVh
MDAuLjNjMzg2NGNhMTgwYWEzNmU0ODA4YzIzYTEzMDZiZTI4ZTVkN2I5MDEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5
LmNwcApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiRGlyZWN0QXJndW1lbnRzLmgiCiAj
aW5jbHVkZSAiR2V0dGVyU2V0dGVyLmgiCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCiAj
aW5jbHVkZSAiSlNFbnZpcm9ubWVudFJlY29yZC5oIgogI2luY2x1ZGUgIkpTUHJvcGVydHlOYW1l
RW51bWVyYXRvci5oIgogI2luY2x1ZGUgIkpTU2NvcGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmgKaW5kZXggOTEyNzU0
ZGZjNDAxNTJiMGVkMjQ4MzZhYzc1YjhmOTY5ODQzOTliYi4uZWViMjA4YmUxZjQ2Y2ZjNDJiOTQ5
NWE5ZmE5MjFmYmNkNmQ4MmRhNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmgKQEAgLTg4LDYgKzg4LDEzIEBAIG5hbWVz
cGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKICAgICBtYWNybyhTdHJ1Y3R1cmVfZ2xvYmFsT2Jq
ZWN0LCBTdHJ1Y3R1cmU6Omdsb2JhbE9iamVjdE9mZnNldCgpKSBcCiAgICAgbWFjcm8oU3RydWN0
dXJlX3Byb3RvdHlwZSwgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSkgXAogICAgIG1hY3Jv
KFN0cnVjdHVyZV9zdHJ1Y3R1cmVJRCwgU3RydWN0dXJlOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKQor
ICAgIAorI2RlZmluZSBGT1JfRUFDSF9BQlNUUkFDVF9GSUVMRF9BUlJPV0ZVTkNUSU9OKG1hY3Jv
KSBcCisgICAgbWFjcm8oSlNBcnJvd0Z1bmN0aW9uX2V4ZWN1dGFibGUsIEpTQXJyb3dGdW5jdGlv
bjo6b2Zmc2V0T2ZFeGVjdXRhYmxlKCkpIFwKKyAgICBtYWNybyhKU0Fycm93RnVuY3Rpb25fc2Nv
cGUsIEpTQXJyb3dGdW5jdGlvbjo6b2Zmc2V0T2ZTY29wZUNoYWluKCkpIFwKKyAgICBtYWNybyhK
U0Fycm93RnVuY3Rpb25fcmFyZURhdGEsIEpTQXJyb3dGdW5jdGlvbjo6b2Zmc2V0T2ZSYXJlRGF0
YSgpKSBcCisgICAgbWFjcm8oSlNBcnJvd0Z1bmN0aW9uX3RoaXMsIEpTQXJyb3dGdW5jdGlvbjo6
b2Zmc2V0T2ZUaGlzVmFsdWUoKSkKKyAgICAKIAogI2RlZmluZSBGT1JfRUFDSF9JTkRFWEVEX0FC
U1RSQUNUX0hFQVAobWFjcm8pIFwKICAgICBtYWNybyhEaXJlY3RBcmd1bWVudHNfc3RvcmFnZSwg
RGlyZWN0QXJndW1lbnRzOjpzdG9yYWdlT2Zmc2V0KCksIHNpemVvZihFbmNvZGVkSlNWYWx1ZSkp
IFwKQEAgLTEyOSw2ICsxMzYsOSBAQCBwdWJsaWM6CiAKICNkZWZpbmUgQUJTVFJBQ1RfRklFTERf
REVDTEFSQVRJT04obmFtZSwgb2Zmc2V0KSBBYnN0cmFjdEZpZWxkIG5hbWU7CiAgICAgRk9SX0VB
Q0hfQUJTVFJBQ1RfRklFTEQoQUJTVFJBQ1RfRklFTERfREVDTEFSQVRJT04pCisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBGT1JfRUFDSF9BQlNUUkFDVF9GSUVMRF9B
UlJPV0ZVTkNUSU9OKEFCU1RSQUNUX0ZJRUxEX0RFQ0xBUkFUSU9OKQorI2VuZGlmCiAjdW5kZWYg
QUJTVFJBQ1RfRklFTERfREVDTEFSQVRJT04KICAgICAKICAgICBBYnN0cmFjdEZpZWxkJiBKU0Nl
bGxfZnJlZUxpc3ROZXh0OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExDYXBhYmlsaXRpZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmls
aXRpZXMuY3BwCmluZGV4IDYwZGNmNzkxOTMyM2M1NzViNDc4MDYwMTcyYjJjZDUzN2VkZGU2Nzgu
LjhlZTc4ZmVkMGEyYmRiODE0ZDVmMGExZDBlMDJkN2Y3OGY5NWJjZjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAKQEAgLTEwMyw2ICsxMDMsNyBA
QCBpbmxpbmUgQ2FwYWJpbGl0eUxldmVsIGNhbkNvbXBpbGUoTm9kZSogbm9kZSkKICAgICBjYXNl
IExvb3BIaW50OgogICAgIGNhc2UgU2tpcFNjb3BlOgogICAgIGNhc2UgQ3JlYXRlQWN0aXZhdGlv
bjoKKyAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246CiAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAg
ICBjYXNlIEdldENsb3N1cmVWYXI6CiAgICAgY2FzZSBQdXRDbG9zdXJlVmFyOgpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRvcnkuaAppbmRleCAw
OTdiNzFjYzY0Mzc2Mzc2ZWJiZWFjMDY3NDZmZGNjMGJiZmNlNjg4Li5kOWNmMDQ3OGEzOGJhMzYx
YjI1YjQ1NDNkNjY2ZWVjNDc2ZmJlODZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRvcnkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRvcnkuaApAQCAtODMsNiArODMsNyBAQCBuYW1lc3Bh
Y2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CiAgICAgbWFjcm8oSl9KSVRPcGVyYXRpb25fRUpDLCBm
dW5jdGlvblR5cGUoaW50NjQsIGludFB0ciwgaW50NjQsIGludFB0cikpIFwKICAgICBtYWNybyhK
X0pJVE9wZXJhdGlvbl9FSkosIGZ1bmN0aW9uVHlwZShpbnQ2NCwgaW50UHRyLCBpbnQ2NCwgaW50
NjQpKSBcCiAgICAgbWFjcm8oSl9KSVRPcGVyYXRpb25fRUpzY0MsIGZ1bmN0aW9uVHlwZShpbnRQ
dHIsIGludFB0ciwgaW50UHRyLCBpbnRQdHIpKSBcCisgICAgbWFjcm8oSl9KSVRPcGVyYXRpb25f
RUpzY0NKLCBmdW5jdGlvblR5cGUoaW50NjQsIGludFB0ciwgaW50NjQsIGludDY0LCBpbnQ2NCkp
XAogICAgIG1hY3JvKEpfSklUT3BlcmF0aW9uX0VKc3NaLCBmdW5jdGlvblR5cGUoaW50NjQsIGlu
dFB0ciwgaW50UHRyLCBpbnQzMikpIFwKICAgICBtYWNybyhKX0pJVE9wZXJhdGlvbl9FU3NpSkks
IGZ1bmN0aW9uVHlwZShpbnQ2NCwgaW50UHRyLCBpbnRQdHIsIGludDY0LCBpbnRQdHIpKSBcCiAg
ICAgbWFjcm8oSnNzX0pJVE9wZXJhdGlvbl9FWiwgZnVuY3Rpb25UeXBlKGludFB0ciwgaW50UHRy
LCBpbnQzMikpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93
ZXJERkdUb0xMVk0uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1Rv
TExWTS5jcHAKaW5kZXggZDkwMmFlNzM0MmU4YjQ2M2IzM2ExZTVkOTdkZTZlMTg4Njg5OWU0Mi4u
ZmQ4YWMzNzg5NDA5MWIxNmM5Mjk0ZWY5NzMwMzkxZDg5ZjQxZGEwNCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKQEAgLTQzLDYgKzQzLDcg
QEAKICNpbmNsdWRlICJGVExPdXRwdXQuaCIKICNpbmNsdWRlICJGVExUaHVua3MuaCIKICNpbmNs
dWRlICJGVExXZWlnaHRlZFRhcmdldC5oIgorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgog
I2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5o
IgogI2luY2x1ZGUgIk9wZXJhbmRzSW5saW5lcy5oIgpAQCAtNjA2LDYgKzYwNywxMSBAQCBwcml2
YXRlOgogICAgICAgICBjYXNlIENyZWF0ZUFjdGl2YXRpb246CiAgICAgICAgICAgICBjb21waWxl
Q3JlYXRlQWN0aXZhdGlvbigpOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTmV3
QXJyb3dGdW5jdGlvbjoKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
ICAgICAgICAgY29tcGlsZU5ld0Fycm93RnVuY3Rpb24oKTsKKyNlbmRpZgorICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIGNhc2UgTmV3RnVuY3Rpb246CiAgICAgICAgICAgICBjb21waWxlTmV3
RnVuY3Rpb24oKTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMjk2Nyw2ICsyOTczLDUyIEBAIHBy
aXZhdGU6CiAgICAgICAgIHNldEpTVmFsdWUobV9vdXQucGhpKG1fb3V0LmludFB0ciwgZmFzdFJl
c3VsdCwgc2xvd1Jlc3VsdCkpOwogICAgIH0KICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIHZvaWQgY29tcGlsZU5ld0Fycm93RnVuY3Rpb24oKQorICAgIHsK
KworICAgICAgICBMVmFsdWUgc2NvcGUgPSBsb3dDZWxsKG1fbm9kZS0+Y2hpbGQxKCkpOworICAg
ICAgICBMVmFsdWUgdGhpc1ZhbHVlID0gbG93SlNWYWx1ZShtX25vZGUtPmNoaWxkMigpKTsKKyAg
ICAgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlID0gbV9ub2RlLT5jYXN0T3BlcmFu
ZDxGdW5jdGlvbkV4ZWN1dGFibGUqPigpOworICAgICAgICBpZiAoZXhlY3V0YWJsZS0+c2luZ2xl
dG9uRnVuY3Rpb24oKS0+aXNTdGlsbFZhbGlkKCkpIHsKKyAgICAgICAgICAgIExWYWx1ZSBjYWxs
UmVzdWx0ID0gdm1DYWxsKAorICAgICAgICAgICAgICAgIG1fb3V0Lm9wZXJhdGlvbihvcGVyYXRp
b25OZXdBcnJvd0Z1bmN0aW9uKSwKKyAgICAgICAgICAgICAgICBtX2NhbGxGcmFtZSwgc2NvcGUs
IHdlYWtQb2ludGVyKGV4ZWN1dGFibGUpLCB0aGlzVmFsdWUpOworICAgICAgICAgICAgc2V0SlNW
YWx1ZShjYWxsUmVzdWx0KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAg
ICAKKyAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBtX2dyYXBoLmdsb2JhbE9iamVjdEZv
cihtX25vZGUtPm9yaWdpbi5zZW1hbnRpYyktPmFycm93RnVuY3Rpb25TdHJ1Y3R1cmUoKTsKKyAg
ICAgICAgCisgICAgICAgIExCYXNpY0Jsb2NrIHNsb3dQYXRoID0gRlRMX05FV19CTE9DSyhtX291
dCwgKCJOZXdBcnJvd0Z1bmN0aW9uIHNsb3cgcGF0aCIpKTsKKyAgICAgICAgTEJhc2ljQmxvY2sg
Y29udGludWF0aW9uID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJOZXdBcnJvd0Z1bmN0aW9uIGNv
bnRpbnVhdGlvbiIpKTsKKyAgICAgICAgCisgICAgICAgIExCYXNpY0Jsb2NrIGxhc3ROZXh0ID0g
bV9vdXQuaW5zZXJ0TmV3QmxvY2tzQmVmb3JlKHNsb3dQYXRoKTsKKyAgICAgICAgCisgICAgICAg
IExWYWx1ZSBmYXN0T2JqZWN0ID0gYWxsb2NhdGVPYmplY3Q8SlNBcnJvd0Z1bmN0aW9uPihzdHJ1
Y3R1cmUsIG1fb3V0LmludFB0clplcm8sIHNsb3dQYXRoKTsKKyAgICAgICAgCisgICAgICAgIC8v
IFdlIGRvbid0IG5lZWQgbWVtb3J5IGJhcnJpZXJzIHNpbmNlIHdlIGp1c3QgZmFzdC1jcmVhdGVk
IHRoZSBmdW5jdGlvbiwgc28gaXQKKyAgICAgICAgLy8gbXVzdCBiZSB5b3VuZy4KKyAgICAgICAg
bV9vdXQuc3RvcmVQdHIoc2NvcGUsIGZhc3RPYmplY3QsIG1faGVhcHMuSlNBcnJvd0Z1bmN0aW9u
X3Njb3BlKTsKKyAgICAgICAgbV9vdXQuc3RvcmVQdHIod2Vha1BvaW50ZXIoZXhlY3V0YWJsZSks
IGZhc3RPYmplY3QsIG1faGVhcHMuSlNBcnJvd0Z1bmN0aW9uX2V4ZWN1dGFibGUpOworICAgICAg
ICBtX291dC5zdG9yZVB0cih0aGlzVmFsdWUsIGZhc3RPYmplY3QsIG1faGVhcHMuSlNBcnJvd0Z1
bmN0aW9uX3RoaXMpOworICAgICAgICBtX291dC5zdG9yZVB0cihtX291dC5pbnRQdHJaZXJvLCBm
YXN0T2JqZWN0LCBtX2hlYXBzLkpTQXJyb3dGdW5jdGlvbl9yYXJlRGF0YSk7CisgICAgICAgIAor
ICAgICAgICBWYWx1ZUZyb21CbG9jayBmYXN0UmVzdWx0ID0gbV9vdXQuYW5jaG9yKGZhc3RPYmpl
Y3QpOworICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7CisgICAgICAgIAorICAgICAg
ICBtX291dC5hcHBlbmRUbyhzbG93UGF0aCwgY29udGludWF0aW9uKTsKKyAgICAgICAgTFZhbHVl
IGNhbGxSZXN1bHQgPSB2bUNhbGwoCisgICAgICAgICAgICBtX291dC5vcGVyYXRpb24ob3BlcmF0
aW9uTmV3QXJyb3dGdW5jdGlvbldpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQp
LAorICAgICAgICAgICAgbV9jYWxsRnJhbWUsIHNjb3BlLCB3ZWFrUG9pbnRlcihleGVjdXRhYmxl
KSwgdGhpc1ZhbHVlKTsKKyAgICAgICAgVmFsdWVGcm9tQmxvY2sgc2xvd1Jlc3VsdCA9IG1fb3V0
LmFuY2hvcihjYWxsUmVzdWx0KTsKKyAgICAgICAgbV9vdXQuanVtcChjb250aW51YXRpb24pOwor
ICAgICAgICAKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8oY29udGludWF0aW9uLCBsYXN0TmV4dCk7
CisgICAgICAgIHNldEpTVmFsdWUobV9vdXQucGhpKG1fb3V0LmludFB0ciwgZmFzdFJlc3VsdCwg
c2xvd1Jlc3VsdCkpOworICAgIH0KKyNlbmRpZgorICAgIAogICAgIHZvaWQgY29tcGlsZUNyZWF0
ZURpcmVjdEFyZ3VtZW50cygpCiAgICAgewogICAgICAgICAvLyBGSVhNRTogQSBtb3JlIGVmZmVj
dGl2ZSB3YXkgb2YgZGVhbGluZyB3aXRoIHRoZSBhcmd1bWVudCBjb3VudCBhbmQgY2FsbGVlIGlz
IHRvIGhhdmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0
aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCmlu
ZGV4IDIxNzdkYWFiYzY1NmRjNDdmN2I5NjBjMGM0OGQ3NGJiNjU0ZGI2YzEuLjk2N2NhOGVhZjc1
YjEwZGU4MDEwZjIxNGQ0ZWM2NzcyNDdmZTQyYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRPcGVyYXRpb25zLmNwcApAQCAtOTc4LDcgKzk3OCwyMiBAQCBFbmNvZGVkSlNWYWx1
ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Z1bmN0aW9uV2l0aEludmFsaWRhdGVkUmVhbGxv
Y2F0aW9uV2F0YwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNGdW5jdGlvbjo6Y3JlYXRl
V2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludCh2bSwgc3RhdGljX2Nhc3Q8RnVu
Y3Rpb25FeGVjdXRhYmxlKj4oZnVuY3Rpb25FeGVjdXRhYmxlKSwgc2NvcGUpKTsKIH0KIAotCitF
bmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb25XaXRo
SW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRjaHBvaW50KEV4ZWNTdGF0ZSogZXhlYywgSlNTY29w
ZSogc2NvcGUsIEpTQ2VsbCogZnVuY3Rpb25FeGVjdXRhYmxlLCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUpCit7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAg
QVNTRVJUKGZ1bmN0aW9uRXhlY3V0YWJsZS0+aW5oZXJpdHMoRnVuY3Rpb25FeGVjdXRhYmxlOjpp
bmZvKCkpKTsKKyAgICAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICAgICAgTmF0aXZlQ2Fs
bEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOworICAgICAgICAKKyAgICAgICAgSlNGdW5j
dGlvbiogZnVuYyA9ICBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIHN0YXRpY19jYXN0PEZ1bmN0aW9u
RXhlY3V0YWJsZSo+KGZ1bmN0aW9uRXhlY3V0YWJsZSksIHNjb3BlKTsKKyAgICAgICAgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGV4ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsK
KyAgICAgICAgCisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNBcnJvd0Z1bmN0aW9u
OjpjcmVhdGVXaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRjaHBvaW50KHZtLCBnbG9iYWxP
YmplY3QsIGZ1bmMsIEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKSk7CisjZWxzZQorICAgICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworI2VuZGlmCit9CisgICAg
CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24o
RXhlY1N0YXRlKiBleGVjLCBKU1Njb3BlKiBzY29wZSwgSlNDZWxsKiBmdW5jdGlvbkV4ZWN1dGFi
bGUsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSkKIHsKICNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQpAQCAtOTg3LDEwICsxMDAyLDEwIEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTU2Nv
cGUqCiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOwogCiAgICAg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGV4ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmpl
Y3QoKTsKLSAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUodm0s
IHNjb3BlLCBzdGF0aWNfY2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihmdW5jdGlvbkV4ZWN1dGFi
bGUpLCBnbG9iYWxPYmplY3QpOwotICAgIEpTQXJyYXkqIGJvdW5kQXJncyA9IEpTQXJyYXk6OnRy
eUNyZWF0ZVVuaW5pdGlhbGl6ZWQodm0sIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmVGb3JJ
bmRleGluZ1R5cGVEdXJpbmdBbGxvY2F0aW9uKEFycmF5V2l0aFVuZGVjaWRlZCksIDApOworICAg
IEpTRnVuY3Rpb24qIGZ1bmMgPSAgSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBzdGF0aWNfY2FzdDxG
dW5jdGlvbkV4ZWN1dGFibGUqPihmdW5jdGlvbkV4ZWN1dGFibGUpLCBzY29wZSk7CisKKyAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxP
YmplY3QsIGZ1bmMsIEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKSk7CiAKLSAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKEpTQm91bmRGdW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3Qs
IGZ1bmMsIEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpLCBib3VuZEFyZ3MsIDAsICIiKSk7CiAj
ZWxzZQogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKaW5kZXggN2VlZTVlYmY3
YTMwNDI5NTBlNTJhNjdlNWRjYjRmMTBlNDRlYTVmNC4uZGYzYjlmZDNmM2Q2N2FmYWU5N2Q1ZmYz
M2Q0NjdhOTUwYTU5Yzg0NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRPcGVyYXRpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRp
b25zLmgKQEAgLTI4MSw2ICsyODEsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbk5ld0FycmF5V2l0aFNpemVBbmRQcm9maWxlKEV4ZWNTdGF0ZSosIEFycgogRW5jb2Rl
ZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdGdW5jdGlvbihFeGVjU3RhdGUqLCBK
U1Njb3BlKiwgSlNDZWxsKikgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJB
VElPTiBvcGVyYXRpb25OZXdGdW5jdGlvbldpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNo
cG9pbnQoRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCopIFdURl9JTlRFUk5BTDsKIEVuY29k
ZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbihFeGVjU3Rh
dGUqLCBKU1Njb3BlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUpIFdURl9JTlRFUk5BTDsKK0Vu
Y29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbldpdGhJ
bnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQoRXhlY1N0YXRlKiwgSlNTY29wZSosIEpT
Q2VsbCosIEVuY29kZWRKU1ZhbHVlKSBXVEZfSU5URVJOQUw7CiBKU0NlbGwqIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uTmV3T2JqZWN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSopIFdURl9JTlRFUk5B
TDsKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3UmVnZXhwKEV4ZWNT
dGF0ZSosIHZvaWQqKSBXVEZfSU5URVJOQUw7CiB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
SGFuZGxlV2F0Y2hkb2dUaW1lcihFeGVjU3RhdGUqKSBXVEZfSU5URVJOQUw7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAppbmRleCAwNTM2MGExNGJh
OTUyMTBlOWJlMTA4ZjVmNjE3ODYzM2I3NjA3ZDhlLi43YTg1MDVmMjhmZWMyY2FlMmM2NTM4NWNj
MDk0YmNkZmNjMjRhZmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TExJbnRTbG93UGF0aHMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTElu
dFNsb3dQYXRocy5jcHAKQEAgLTEwMzIsMTMgKzEwMzIsMTEgQEAgTExJTlRfU0xPV19QQVRIX0RF
Q0woc2xvd19wYXRoX25ld19hcnJvd19mdW5jX2V4cCkKICAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9
IExMSU5UX09QX0MoNCkuanNWYWx1ZSgpOwogICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QgPSBleGVjLT5jYWxsZWUoKS0+Z2xvYmFsT2JqZWN0KCk7CiAgICAgCi0gICAgSlNGdW5jdGlv
biogZnVuYyA9IEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlKHZtLCBzY29wZSwgZXhlY3V0YWJsZSwg
Z2xvYmFsT2JqZWN0KTsKLSAgICAKLSAgICBKU0FycmF5KiBib3VuZEFyZ3MgPSBKU0FycmF5Ojp0
cnlDcmVhdGVVbmluaXRpYWxpemVkKHZtLCBnbG9iYWxPYmplY3QtPmFycmF5U3RydWN0dXJlRm9y
SW5kZXhpbmdUeXBlRHVyaW5nQWxsb2NhdGlvbihBcnJheVdpdGhVbmRlY2lkZWQpLCAwKTsKKyAg
ICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBleGVjdXRhYmxlLCBz
Y29wZSk7CiAgICAgCiAgICAgY29uc3QgU3RyaW5nIGZ1bmNXaXRob3V0TmFtZSA9ICIiOwogICAg
IAotICAgIExMSU5UX1JFVFVSTihKU0JvdW5kRnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFsT2Jq
ZWN0LCBmdW5jLCB0aGlzVmFsdWUsIGJvdW5kQXJncywgMCwgZnVuY1dpdGhvdXROYW1lKSk7Cisg
ICAgTExJTlRfUkVUVVJOKEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3Qs
IGZ1bmMsIHRoaXNWYWx1ZSkpOwogI2Vsc2UKICAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNGdW5j
dGlvbjo6Y3JlYXRlKHZtLCBleGVjdXRhYmxlLCBzY29wZSk7CiAgICAgTExJTlRfUkVUVVJOKGZ1
bmMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1
bmN0aW9uLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlv
bi5jcHAKaW5kZXggNmZjM2VhMTgwMDY4OTY0M2FhZGQ2YzZhNDk3ZWQwYWU2YzIxMTEyMC4uYTAy
NzE5NjAzOTdhYjdkOTk1MjQ4YjEyZjI5NWFiN2UzYWU2ZDMzNCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwCkBAIC00MSwyOCArNDEs
NzAgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgCiBjb25zdCBDbGFzc0luZm8gSlNBcnJvd0Z1bmN0
aW9uOjpzX2luZm8gPSB7ICJBcnJvd0Z1bmN0aW9uIiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRF
X01FVEhPRF9UQUJMRShKU0Fycm93RnVuY3Rpb24pIH07CiAKK0VuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwgYXJyb3dGdW5jdGlvbkNhbGwoRXhlY1N0YXRlKiBleGVjKQoreworICAgIEpTQXJy
b3dGdW5jdGlvbiogYXJyb3dGdW5jdGlvbiA9IGpzQ2FzdDxKU0Fycm93RnVuY3Rpb24qPihleGVj
LT5jYWxsZWUoKSk7CisgICAgICAgIAorICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3M7Cisg
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGV4ZWMtPmFyZ3VtZW50Q291bnQoKTsgKytpKQor
ICAgICAgICBhcmdzLmFwcGVuZChleGVjLT51bmNoZWNrZWRBcmd1bWVudChpKSk7CisgICAgCisg
ICAgSlNPYmplY3QqIGZ1bmN0aW9uID0gYXJyb3dGdW5jdGlvbi0+YXJyb3dGdW5jdGlvbigpOwor
ICAgIENhbGxEYXRhIGNhbGxEYXRhOworICAgIENhbGxUeXBlIGNhbGxUeXBlID0gZ2V0Q2FsbERh
dGEoZnVuY3Rpb24sIGNhbGxEYXRhKTsKKyAgICBBU1NFUlQoY2FsbFR5cGUgIT0gQ2FsbFR5cGVO
b25lKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGNhbGwoZXhlYywgZnVuY3Rpb24sIGNh
bGxUeXBlLCBjYWxsRGF0YSwgYXJyb3dGdW5jdGlvbi0+Ym91bmRUaGlzKCksIGFyZ3MpKTsKK30K
KyAgICAKIHZvaWQgSlNBcnJvd0Z1bmN0aW9uOjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKIHsKICAg
ICBzdGF0aWNfY2FzdDxKU0Fycm93RnVuY3Rpb24qPihjZWxsKS0+SlNBcnJvd0Z1bmN0aW9uOjp+
SlNBcnJvd0Z1bmN0aW9uKCk7CiB9CisgICAgCitKU0Fycm93RnVuY3Rpb246OkpTQXJyb3dGdW5j
dGlvbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBKU09iamVjdCogYXJyb3dGdW5jdGlvbiwgSlNWYWx1ZSBib3VuZFRoaXMpCisgICAg
OiBCYXNlKHZtLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKKyAgICAsIG1fYm91bmRUaGlzKHZt
LCB0aGlzLCBib3VuZFRoaXMpCisgICAgLCBtX2Fycm93RnVuY3Rpb24odm0sIHRoaXMsIGFycm93
RnVuY3Rpb24pCit7Cit9CiAKLUpTQXJyb3dGdW5jdGlvbjo6SlNBcnJvd0Z1bmN0aW9uKFZNJiB2
bSwgSlNTY29wZSogc2NvcGUsIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUpCi0gICAgOiBCYXNlKHZtLCBleGVjdXRhYmxlLCBzY29wZSwgc3RydWN0
dXJlKQorSlNBcnJvd0Z1bmN0aW9uKiBKU0Fycm93RnVuY3Rpb246OmNyZWF0ZVdpdGhJbnZhbGlk
YXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU09iamVjdCogYXJyb3dGdW5jdGlvbiwgSlNWYWx1ZSBib3VuZFRoaXMpCiB7Cisg
ICAgQVNTRVJUKGpzQ2FzdDxKU0Z1bmN0aW9uKj4oYXJyb3dGdW5jdGlvbiktPmpzRXhlY3V0YWJs
ZSgpLT5zaW5nbGV0b25GdW5jdGlvbigpLT5oYXNCZWVuSW52YWxpZGF0ZWQoKSk7CisgICAgcmV0
dXJuIGNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBhcnJvd0Z1bmN0aW9uLCBib3VuZFRoaXMpOwor
fQorCitKU0Fycm93RnVuY3Rpb24qIEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlKFZNJiB2bSwgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIGFycm93RnVuY3Rpb24sIEpTVmFs
dWUgYm91bmRUaGlzKQoreworICAgIE5hdGl2ZUV4ZWN1dGFibGUqIGV4ZWN1dGFibGUgPSB2bS5n
ZXRIb3N0RnVuY3Rpb24oYXJyb3dGdW5jdGlvbkNhbGwsIGNhbGxIb3N0RnVuY3Rpb25Bc0NvbnN0
cnVjdG9yKTsKKyAgICBKU0Fycm93RnVuY3Rpb24qIGZ1bmN0aW9uID0gbmV3IChOb3ROdWxsLCBh
bGxvY2F0ZUNlbGw8SlNBcnJvd0Z1bmN0aW9uPih2bS5oZWFwKSkgSlNBcnJvd0Z1bmN0aW9uKHZt
LCBnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+YXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpLCBh
cnJvd0Z1bmN0aW9uLCBib3VuZFRoaXMpOworICAgIGZ1bmN0aW9uLT5maW5pc2hDcmVhdGlvbih2
bSwgZXhlY3V0YWJsZSwgMCwgIiIpOworCisgICAgcmV0dXJuIGZ1bmN0aW9uOwogfQogICAgIAot
dm9pZCBKU0Fycm93RnVuY3Rpb246OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKK3ZvaWQgSlNBcnJv
d0Z1bmN0aW9uOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIE5hdGl2ZUV4ZWN1dGFibGUqIGV4ZWN1
dGFibGUsIGludCBsZW5ndGgsIGNvbnN0IFN0cmluZyYgbmFtZSkKIHsKLSAgICBCYXNlOjpmaW5p
c2hDcmVhdGlvbih2bSk7Ci0vLyBQcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24gaXMgdW5kZWZp
bmVkCisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIGV4ZWN1dGFibGUsIGxlbmd0aCwgbmFt
ZSk7CisgICAgQVNTRVJUKGluaGVyaXRzKGluZm8oKSkpOworICAgIAorICAgIC8vIFByb3RvdHlw
ZSBvZiBhcnJvdyBmdW5jdGlvbiBpcyB1bmRlZmluZWQKICAgICBwdXREaXJlY3Qodm0sIHZtLnBy
b3BlcnR5TmFtZXMtPnByb3RvdHlwZSwganNVbmRlZmluZWQoKSwgRG9udERlbGV0ZSB8IFJlYWRP
bmx5IHwgRG9udEVudW0pOworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+dGhp
c0lkZW50aWZpZXIsIGJvdW5kVGhpcygpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51
bSk7CiB9CisKICAgICAKIHZvaWQgSlNBcnJvd0Z1bmN0aW9uOjp2aXNpdENoaWxkcmVuKEpTQ2Vs
bCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCiB7CiAgICAgSlNBcnJvd0Z1bmN0aW9uKiB0
aGlzT2JqZWN0ID0ganNDYXN0PEpTQXJyb3dGdW5jdGlvbio+KGNlbGwpOwogICAgIEFTU0VSVF9H
Q19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVjdCwgaW5mbygpKTsKICAgICBCYXNlOjp2aXNpdENo
aWxkcmVuKHRoaXNPYmplY3QsIHZpc2l0b3IpOworCisgICAgLy8gRml4bWU6IG1fYXJyb3dGdW5j
dGlvbiBhbHJlYWR5IHJlbW92ZWQgYnkgR0MsIGJlY2F1c2UgaXQgY3JlYXRlZCBpbiBiZWZvcmUg
cnVuIEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlIG1ldGhvZAorICAgIC8vIEl0IGlzIHBvc3NpYmxl
IGNhc2Ugd2hlbiBtX2Fycm93RnVuY3Rpb24gaXMgcmVtb3ZlZCBidXQgd3JhcHBlciBvYmplY3Qg
aXMgc3RpbGwgZXhpc3RzCisgICAgLy8gIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2Fy
cm93RnVuY3Rpb24pOworICAgIAorICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2Jv
dW5kVGhpcyk7CiB9CiAgICAgCiBDb25zdHJ1Y3RUeXBlIEpTQXJyb3dGdW5jdGlvbjo6Z2V0Q29u
c3RydWN0RGF0YShKU0NlbGwqIGNlbGwsIENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24u
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oCmluZGV4
IDc4MDE1ZDM4NzIxY2NhNDRhZTJmNjVjYjZkNzdiNmE2NTIyMDk2NWQuLmQ5N2ZjY2UyYjEwMTEw
ZjRmMjk5MmEzYjZiMGM3M2Y5NDQ5MTNlYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oCkBAIC0zMywyMCArMzMsMjMgQEAKIAogbmFtZXNw
YWNlIEpTQyB7CiAKK0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyb3dGdW5jdGlvbkNh
bGwoRXhlY1N0YXRlKik7CisgICAgCiBjbGFzcyBKU0Fycm93RnVuY3Rpb24gOiBwdWJsaWMgSlNG
dW5jdGlvbiB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBKU0Z1bmN0aW9uIEJhc2U7Ci0gICAgICAg
IAotICAgIHN0YXRpYyBKU0Fycm93RnVuY3Rpb24qIGNyZWF0ZShWTSYgdm0sIEpTU2NvcGUqIHNj
b3BlLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QpCisKKyAgICBzdGF0aWMgSlNBcnJvd0Z1bmN0aW9uKiBjcmVhdGUoVk0mLCBKU0ds
b2JhbE9iamVjdCosIEpTT2JqZWN0KiwgSlNWYWx1ZSk7CisgICAgc3RhdGljIEpTQXJyb3dGdW5j
dGlvbiogY3JlYXRlV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludChWTSYsIEpT
R2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCBKU1ZhbHVlKTsKKworICAgIHN0YXRpYyB2b2lkIGRl
c3Ryb3koSlNDZWxsKik7CisgICAgCisgICAgc3RhdGljIHNpemVfdCBhbGxvY2F0aW9uU2l6ZShz
aXplX3QgaW5saW5lQ2FwYWNpdHkpCiAgICAgewotICAgICAgICBKU0Fycm93RnVuY3Rpb24qIGZ1
bmN0aW9uID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8SlNBcnJvd0Z1bmN0aW9uPih2bS5o
ZWFwKSkgSlNBcnJvd0Z1bmN0aW9uKHZtLCBzY29wZSwgZXhlY3V0YWJsZSwgZ2xvYmFsT2JqZWN0
LT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCkpOwotICAgICAgICBBU1NFUlQoZnVuY3Rpb24tPnN0
cnVjdHVyZSgpLT5nbG9iYWxPYmplY3QoKSk7Ci0gICAgICAgIGZ1bmN0aW9uLT5maW5pc2hDcmVh
dGlvbih2bSk7Ci0gICAgICAgIHJldHVybiBmdW5jdGlvbjsKKyAgICAgICAgQVNTRVJUX1VOVVNF
RChpbmxpbmVDYXBhY2l0eSwgIWlubGluZUNhcGFjaXR5KTsKKyAgICAgICAgcmV0dXJuIHNpemVv
ZihKU0Fycm93RnVuY3Rpb24pOwogICAgIH0KICAgICAKLSAgICBzdGF0aWMgdm9pZCBkZXN0cm95
KEpTQ2VsbCopOwotICAgICAgICAKICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1
cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlw
ZSkKICAgICB7CiAgICAgICAgIEFTU0VSVChnbG9iYWxPYmplY3QpOwpAQCAtNTQsMTggKzU3LDI5
IEBAIHB1YmxpYzoKICAgICB9CiAgICAgICAgIAogICAgIHN0YXRpYyBDb25zdHJ1Y3RUeXBlIGdl
dENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYpOwotICAgICAgICAKKworICAg
IEpTT2JqZWN0KiBhcnJvd0Z1bmN0aW9uKCkgeyByZXR1cm4gbV9hcnJvd0Z1bmN0aW9uLmdldCgp
OyB9CisgICAgSlNWYWx1ZSBib3VuZFRoaXMoKSB7IHJldHVybiBtX2JvdW5kVGhpcy5nZXQoKTsg
fQorICAgIAogICAgIERFQ0xBUkVfSU5GTzsKKyAgICAKKyAgICBzdGF0aWMgaW5saW5lIHB0cmRp
ZmZfdCBvZmZzZXRPZlRoaXNWYWx1ZSgpCisgICAgeworICAgICAgICByZXR1cm4gT0JKRUNUX09G
RlNFVE9GKEpTQXJyb3dGdW5jdGlvbiwgbV9ib3VuZFRoaXMpOworICAgIH0KKyAgICAKKyAgICBj
b25zdCBzdGF0aWMgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNIYXNJbnN0YW5j
ZSB8IEJhc2U6OlN0cnVjdHVyZUZsYWdzOwogCiBwcm90ZWN0ZWQ6Ci0gICAgY29uc3Qgc3RhdGlj
IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzSGFzSW5zdGFuY2UgfCBCYXNlOjpT
dHJ1Y3R1cmVGbGFnczsKLSAgICAgICAgCiAgICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihK
U0NlbGwqLCBTbG90VmlzaXRvciYpOwogICAgICAgICAKIHByaXZhdGU6Ci0gICAgSlNBcnJvd0Z1
bmN0aW9uKFZNJiwgSlNTY29wZSosIEZ1bmN0aW9uRXhlY3V0YWJsZSosIFN0cnVjdHVyZSopOwor
ICAgIEpTQXJyb3dGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgSlNP
YmplY3QqLCBKU1ZhbHVlKTsKIAotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mKTsKKyAgICB2
b2lkIGZpbmlzaENyZWF0aW9uKFZNJiB2bSwgTmF0aXZlRXhlY3V0YWJsZSosIGludCwgY29uc3Qg
U3RyaW5nJik7CisgICAgCisgICAgV3JpdGVCYXJyaWVyPFVua25vd24+IG1fYm91bmRUaGlzOwor
ICAgIFdyaXRlQmFycmllcjxKU09iamVjdD4gbV9hcnJvd0Z1bmN0aW9uOwogfTsKICAgICAKIH0g
Ly8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzcGFyYW10ZXItMS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3BhcmFtdGVyLTEuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNjM2MWI4ZGIwMjI4Mjc5NmQxYmIwNGY1ZGJkNDAxOWI3Mjg5ZjJjYwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1h
c3BhcmFtdGVyLTEuanMKQEAgLTAsMCArMSw4IEBACisvLyBJbnNwaXJlZCBieSBtb3ppbGxhIHRl
c3RzCit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkg
eworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBF
eHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7Cisg
IH0KK307CisKK3Rlc3RDYXNlKCIiICsgWzEsIDIsIDMsIDRdLm1hcCh4ID0+IHgsIDMyKSwgIjEs
MiwzLDQiLCAiRXJyb3I6IGFycm93IGZ1bmN0aW9uIGFzIHRoZSBwYXJhbXRlcnMuIik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
YXNwYXJhbXRlci0yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJv
d2Z1bmN0aW9uLWFzcGFyYW10ZXItMi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZjI5MzJmYzE0NGQzNmM3MGYw
NjFmOGU2ODg4ODNlNDRhZmNmZDE5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzcGFyYW10ZXItMi5qcwpAQCAtMCww
ICsxLDE1IEBACisvLyBJbnNwaXJlZCBieSBtb3ppbGxhIHRlc3RzCit2YXIgdGVzdENhc2UgPSBm
dW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBl
eHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVk
ICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBmID0gZnVu
Y3Rpb24gKGNsLCBwYXJhbXRlcikgeyByZXR1cm4gY2wocGFyYW10ZXIpOyB9OwordmFyIGYyID0g
ZnVuY3Rpb24gKGNsLCBwYXJhbXRlcjEsIHBhcmFtdGVyMikgeyByZXR1cm4gY2wocGFyYW10ZXIx
LCBwYXJhbXRlcjIpOyB9OworCityZXN1bHQgPSBmKHg9PntyZXR1cm4geCAqIDI1O30sIDEyMSk7
Cit0ZXN0Q2FzZShyZXN1bHQsIDI1KjEyMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24g
b2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogZih4ID0+IHtyZXR1cm4g
eCAqIDI1O30sIDEyMSkiKTsKKworcmVzdWx0ID0gZjIoKHgsIHkpPT57cmV0dXJuIHggKiB5O30s
IDE0LCAxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDE0KjEyICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiBmKCh4LCB5
KT0+e3JldHVybiB4ICogeTt9LCAxNCwgMTIxKSkiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3BhcmFtdGVyLmpzIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzcGFyYW10ZXIu
anMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYzNjFiOGRiMDIyODI3OTZkMWJiMDRm
NWRiZDQwMTliNzI4OWYyY2MuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LWFzcGFyYW10ZXIuanMKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLS8vIEluc3BpcmVk
IGJ5IG1vemlsbGEgdGVzdHMKLXZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVj
dGVkLCBtZXNzYWdlKSB7Ci0gIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7Ci0gICAgdGhyb3cg
bWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFj
dHVhbCArICInIjsKLSAgfQotfTsKLQotdGVzdENhc2UoIiIgKyBbMSwgMiwgMywgNF0ubWFwKHgg
PT4geCwgMzIpLCAiMSwyLDMsNCIsICJFcnJvcjogYXJyb3cgZnVuY3Rpb24gYXMgdGhlIHBhcmFt
dGVycy4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YXJyb3dmdW5jdGlvbi1ib3VuZC5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi1ib3VuZC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNzMyMGY0ZWM3ODhlYTE0OTBh
ZmM3MmVjMTI1MWVlMGE2ZTFmN2I2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJvdW5kLmpzCkBAIC0wLDAgKzEsMTYg
QEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBl
Y3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93
IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBh
Y3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBkID0geworICB4IDogImJhciIsCisgIHkgOiBm
dW5jdGlvbigpIHsgcmV0dXJuIHogPT4gdGhpcy54ICsgejsgfQorfTsKKwordmFyIGUgPSB7IHgg
OiAiYmF6IiB9OworCit0ZXN0Q2FzZShkLnkoKS5iaW5kKGUsICJsZXkiKSgpLCAiYmFybGV5Iiwg
IkVycm9yOiBmdW5jdGlvbiBiaW5kIHNob3VsZG4ndCBjaGFuZ2UgbGV4aWNhbCBiaW5kaW5nIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNhbGwuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY2FsbC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NGY5YWE1
MDRkNzBkNzBkNjhjZGFhNWE0ODJhNDY1MGE0NWZkZjdjCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNhbGwuanMKQEAg
LTAsMCArMSwxOCBAQAordmFyIHJlc3VsdDsKKworIHZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChh
Y3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7
CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0
IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGQgPSB7CisgIHggOiAiZm9v
IiwKKyAgeSA6IGZ1bmN0aW9uKCkgeyByZXR1cm4gKCkgPT4gdGhpcy54OyB9Cit9OworCit2YXIg
ZSA9IHsgeCA6ICJiYXIiIH07CisKK3Rlc3RDYXNlKGQueSgpLmNhbGwoZSksICJmb28iLCAiRXJy
b3I6IGZ1bmN0aW9uIGNhbGwgc2hvdWxuJ3QgY2hhbmdlIHRoZSBsZXhpY2FsIGJpbmRpbmcgb2Yg
dGhlIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKGQueSgpLmFwcGx5KGUpLCAiZm9vIiwg
IkVycm9yOiBmdW5jdGlvbiBhcHBseSBzaG91bG4ndCBjaGFuZ2UgdGhlIGxleGljYWwgYmluZGlu
ZyBvZiB0aGUgYXJyb3cgZnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1jb25zdHJ1Y3Rvci5qcyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1jb25zdHJ1Y3Rvci5qcwpp
bmRleCA5NTA3YjUzNjRmMDQxMTM1ODVlYWJhOGMyNGE0N2E0YTEwZDE2YjdiLi5iNThiMTZkN2I1
ZTI5NzQ0YzMzZjc4NmI0YmYxNmJmNDRmZWIxZTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY29uc3RydWN0b3IuanMKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNvbnN0cnVj
dG9yLmpzCkBAIC0xNSw0ICsxNSw0IEBAIGNhdGNoIChlKSB7CiAgIGVycm9yT25DcmVhdGUgPSB0
cnVlOwogfQogCi10ZXN0Q2FzZShlcnJvck9uQ3JlYXRlLCB0cnVlLCAiRXJyb3I6IE5vIGVycm9y
IGR1cmluZyBydW4gbmV3IEFycm93RnVuY3Rpb24iKTsKK3Rlc3RDYXNlKGVycm9yT25DcmVhdGUs
IHRydWUsICJFcnJvcjogTm8gZXhjZXB0aW9uIGR1cmluZyBydW4gbmV3IEFycm93RnVuY3Rpb24i
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1sZXhpY2FsLWFyZ3VtZW50cy5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLWFyZ3VtZW50cy5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
ZWI2NzYzYTY1MjY5ODE2NWMwZmRiMmQ4YmMyMDczZDJiY2QzYjFmCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGlj
YWwtYXJndW1lbnRzLmpzCkBAIC0wLDAgKzEsMTQgQEAKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9u
IChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVk
KSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywg
YnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKworZnVuY3Rpb24gYWZDcmVhdG9y
KCkgeworICAgIHJldHVybiBhID0+IGFyZ3VtZW50c1swXTsKK30KKwordmFyIGFmID0gYWZDcmVh
dG9yKDEyKTsKKworLy9GaXhtZTogbGV4aWNhbCBiaW5kIG9mIHRoZSBhcmd1bWVudHMgaXMgbm90
IGltcGxlbWVudGVkCisvL3Rlc3RDYXNlKGFmKDYpLCAxMiwgIkVycm9yOiBhcmd1bWVudHMgaXMg
bm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiIpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LWxleGljYWwtdGhpcy0xLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9h
cnJvd2Z1bmN0aW9uLWxleGljYWwtdGhpcy0xLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1NTMxZjU3NTYyZjI4
NjhlZWFkMzlmY2Q2NmVlNTA3OGJhY2VkMWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTEuanMK
QEAgLTAsMCArMSwxNyBAQAordmFyIHJlc3VsdDsKKworIHZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9u
IChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVk
KSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywg
YnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKworZnVuY3Rpb24gRG9nKG5hbWUp
IHsKKyAgdGhpcy5uYW1lID0gbmFtZTsKKyAgdGhpcy5nZXROYW1lID0gKCkgPT4gZXZhbCgidGhp
cy5uYW1lIik7CisgIHRoaXMuZ2V0TmFtZUhhcmQgPSAoKSA9PiBldmFsKCIoKCkgPT4gdGhpcy5u
YW1lKSgpIik7Cit9CisKK3ZhciBkID0gbmV3IERvZygiTWF4Iik7Cit0ZXN0Q2FzZShkLmdldE5h
bWUoKSwgZC5uYW1lLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRl
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMSIpOwordGVzdENhc2UoZC5nZXROYW1lSGFyZCgpLCBk
Lm5hbWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhl
IGFycm93IGZ1bmN0aW9uICMyIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTIuanMgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTIuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOThiNTNiMjk4YmJiMGI1M2U0MDcxYzk5N2Q4MTIzNTExYWY2MzlkOQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1sZXhpY2FsLXRoaXMtMi5qcwpAQCAtMCwwICsxLDMzIEBACit2YXIgcmVzdWx0Owor
CisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsK
KyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhw
ZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9
Cit9OworCit2YXIgYWZPYmpMZXhCaW5kMiA9IGZ1bmN0aW9uICgpIHsKKyAgdGhpcy5mdW5jID0g
KCkgPT4gdGhpczsKK307CisKK3ZhciBhZk9iakxleEJpbmQySW5zdGFuY2UgPSBuZXcgYWZPYmpM
ZXhCaW5kMigpOworCit0ZXN0Q2FzZShhZk9iakxleEJpbmQySW5zdGFuY2UuZnVuYygpID09PSBh
Zk9iakxleEJpbmQySW5zdGFuY2UsIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5
IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMyIik7CisKK3ZhciBvYmogPSB7
CisgIG1ldGhvZDogZnVuY3Rpb24gKCkgeworICAgIHJldHVybiAoKSA9PiB0aGlzOworICB9Cit9
OworCit0ZXN0Q2FzZShvYmoubWV0aG9kKCkoKSA9PT0gb2JqLCB0cnVlLCAiRXJyb3I6IHRoaXMg
aXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMyIp
OworCit2YXIgZmFrZSA9IHtzdGVhbDogb2JqLm1ldGhvZCgpfTsKK3Rlc3RDYXNlKGZha2Uuc3Rl
YWwoKSA9PT0gb2JqLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQg
aW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNCIpOworCisKK3ZhciByZWFsID0ge2JvcnJv
dzogb2JqLm1ldGhvZH07Cit0ZXN0Q2FzZShyZWFsLmJvcnJvdygpKCkgPT09IHJlYWwsIHRydWUs
ICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93
IGZ1bmN0aW9uICM1Iik7Cit0ZXN0Q2FzZShyZWFsLmJvcnJvdygpKCkgPT09IHJlYWwsIHRydWUs
ICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93
IGZ1bmN0aW9uICM2Iik7Cit0ZXN0Q2FzZShyZWFsLmJvcnJvdygpKCkgPT09IHJlYWwsIHRydWUs
ICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93
IGZ1bmN0aW9uICM3Iik7Cit0ZXN0Q2FzZShyZWFsLmJvcnJvdygpKCkgPT09IHJlYWwsIHRydWUs
ICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93
IGZ1bmN0aW9uICM4Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbHRoaXMtMS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsdGhpcy0xLmpzCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNTUzMWY1NzU2MmYyODY4ZWVhZDM5ZmNkNjZlZTUwNzhi
YWNlZDFiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsdGhp
cy0xLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotdmFyIHJlc3VsdDsKLQotIHZh
ciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7Ci0gIGlm
IChhY3R1YWwgIT09IGV4cGVjdGVkKSB7Ci0gICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVk
ICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKLSAgfQotfTsK
LQotZnVuY3Rpb24gRG9nKG5hbWUpIHsKLSAgdGhpcy5uYW1lID0gbmFtZTsKLSAgdGhpcy5nZXRO
YW1lID0gKCkgPT4gZXZhbCgidGhpcy5uYW1lIik7Ci0gIHRoaXMuZ2V0TmFtZUhhcmQgPSAoKSA9
PiBldmFsKCIoKCkgPT4gdGhpcy5uYW1lKSgpIik7Ci19Ci0KLXZhciBkID0gbmV3IERvZygiTWF4
Iik7Ci10ZXN0Q2FzZShkLmdldE5hbWUoKSwgZC5uYW1lLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxl
eGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMSIpOwotdGVzdENh
c2UoZC5nZXROYW1lSGFyZCgpLCBkLm5hbWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5
IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMyIik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbHRo
aXMuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
bGV4aWNhbHRoaXMuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYxMmZiYWY4MDQ0
ODJjNzc2MWMzN2RkNjkzYTg0ODVlNTUxMTU3M2UuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9h
cnJvd2Z1bmN0aW9uLWxleGljYWx0aGlzLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBA
QAotdmFyIHJlc3VsdDsKLQotIHZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVj
dGVkLCBtZXNzYWdlKSB7Ci0gIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7Ci0gICAgdGhyb3cg
bWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFj
dHVhbCArICInIjsKLSAgfQotfTsKLQotdmFyIGFmT2JqTGV4QmluZDIgPSBmdW5jdGlvbiAoKSB7
Ci0gIHRoaXMuZnVuYyA9ICgpID0+IHRoaXM7Ci19OwotCi12YXIgYWZPYmpMZXhCaW5kMkluc3Rh
bmNlID0gbmV3IGFmT2JqTGV4QmluZDIoKTsKLQotdGVzdENhc2UoYWZPYmpMZXhCaW5kMkluc3Rh
bmNlLmZ1bmMoKSA9PT0gYWZPYmpMZXhCaW5kMkluc3RhbmNlLCB0cnVlLCAiRXJyb3I6IHRoaXMg
aXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMiIp
OwotCi12YXIgb2JqID0gewotICBtZXRob2Q6IGZ1bmN0aW9uICgpIHsKLSAgICByZXR1cm4gKCkg
PT4gdGhpczsKLSAgfQotfTsKLQotdGVzdENhc2Uob2JqLm1ldGhvZCgpKCkgPT09IG9iaiwgdHJ1
ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24gIzMiKTsKLQotdmFyIGZha2UgPSB7c3RlYWw6IG9iai5tZXRob2QoKX07Ci10
ZXN0Q2FzZShmYWtlLnN0ZWFsKCkgPT09IG9iaiwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBs
ZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzQiKTsKLQotCi0v
LyBGaXhtZTogZm9sbG93aW5nIHRlc3QgZmFpbHMgaW4gZGZnLWVhZ2VyLW5vLWNqaXQtdmFsaWRh
dGUgJiBmdGwtZWFnZXItbm8tY2ppdCBtb2RlCi12YXIgcmVhbCA9IHtib3Jyb3c6IG9iai5tZXRo
b2R9OwotdGVzdENhc2UocmVhbC5ib3Jyb3coKSgpID09PSByZWFsLCB0cnVlLCAiRXJyb3I6IHRo
aXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAj
NSIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJv
d2Z1bmN0aW9uLXJ1bi0xMC0xLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMC0xLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA3YTFmMGE0OWNiMTY4NjNj
NTkyMTM2MWYwYWRiMWUxNGVjOWI2NWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTEuanMKQEAgLTAsMCAr
MSwyNCBAQAordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3Nh
Z2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsg
Ii4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIici
OworICB9Cit9OworCitmdW5jdGlvbiBydW4oY291bnQpIHsKKyAgdmFyIHJlc3VsdCA9IHRydWU7
CisgIGZvcih2YXIgaT0wOyBpPGNvdW50OyBpKyspIHsKKyAgICB2YXIgT2JqID0gZnVuY3Rpb24g
KG5hbWUpIHsKKyAgICAgIHRoaXMubmFtZSA9IG5hbWU7CisgICAgICB0aGlzLmdldE5hbWUgPSAo
KSA9PiB0aGlzLm5hbWU7CisgICAgfTsKKworICAgIHZhciBvYmogPSBuZXcgT2JqKCJJdGVtIiAr
IGkpOworICAgIGlmIChvYmoubmFtZSAhPT0gb2JqLmdldE5hbWUoKSkgeworICAgICAgcmVzdWx0
ID0gZmFsc2U7CisgICAgfQorICB9CisgIHJldHVybiByZXN1bHQ7Cit9CisKK3Rlc3RDYXNlKHJ1
bigxKSwgdHJ1ZSwgIkVycm9yOiBFcnJvcjogZHVyaW5nIGV4ZWN1dGlvbiBvZiBhcnJvdyBmdW5j
dGlvbiBvbmUgdGltZSIpOwordGVzdENhc2UocnVuKDEwKSwgdHJ1ZSwgIkVycm9yOiBFcnJvcjog
ZHVyaW5nIGV4ZWN1dGlvbiBvZiBhcnJvdyBmdW5jdGlvbiAxMCB0aW1lcyIpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0x
MC0yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LXJ1bi0xMC0yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVkZGNkYjNjNzBhMWIyN2MzZGJiNTIzODA5NTVmNTM1
M2Q3Njc0MjUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTIuanMKQEAgLTAsMCArMSwyNSBAQAordmFyIHRl
c3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFj
dHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIg
KyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCitm
dW5jdGlvbiBydW4oY291bnQpIHsKKyAgdmFyIHJlc3VsdCA9IHRydWU7CisgIGZvcih2YXIgaT0w
OyBpPGNvdW50OyBpKyspIHsKKyAgICB2YXIgT2JqID0gZnVuY3Rpb24gKG5hbWUpIHsKKyAgICAg
IHRoaXMubmFtZSA9IG5hbWU7CisgICAgICB0aGlzLmdldE5hbWUgPSAoKSA9PiBldmFsKCJ0aGlz
Lm5hbWUiKTs7CisgICAgfTsKKworCisgICAgdmFyIG9iaiA9IG5ldyBPYmooIkl0ZW0iICsgaSk7
CisgICAgaWYgKG9iai5uYW1lICE9PSBvYmouZ2V0TmFtZSgpKSB7CisgICAgICByZXN1bHQgPSBm
YWxzZTsKKyAgICB9CisgIH0KKyAgcmV0dXJuIHJlc3VsdDsKK30KKwordGVzdENhc2UocnVuKDEp
LCB0cnVlLCAiRXJyb3I6IGR1cmluZyBleGVjdXRpb24gb2YgYXJyb3cgZnVuY3Rpb24gb25lIHRp
bWUiKTsKK3Rlc3RDYXNlKHJ1bigxMCksIHRydWUsICJFcnJvcjogZHVyaW5nIGV4ZWN1dGlvbiBv
ZiBhcnJvdyBmdW5jdGlvbiAxMCB0aW1lcyIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMDAwMC0xLmpzIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMDAwMC0xLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjBlNWY2YmM4NmJkMzE0NTFiMDFjYTI3ZDBiOTcyMGI1N2U4ZDYwNTEKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93
ZnVuY3Rpb24tcnVuLTEwMDAwLTEuanMKQEAgLTAsMCArMSwyMyBAQAordmFyIHRlc3RDYXNlID0g
ZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0g
ZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3Rl
ZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCitmdW5jdGlvbiBy
dW4oY291bnQpIHsKKyAgdmFyIHJlc3VsdCA9IHRydWU7CisgIGZvcih2YXIgaT0wOyBpPGNvdW50
OyBpKyspIHsKKyAgICB2YXIgT2JqID0gZnVuY3Rpb24gKG5hbWUpIHsKKyAgICAgIHRoaXMubmFt
ZSA9IG5hbWU7CisgICAgICB0aGlzLmdldE5hbWUgPSAoKSA9PiB0aGlzLm5hbWU7CisgICAgfTsK
KworICAgIHZhciBvYmogPSBuZXcgT2JqKCJJdGVtIiArIGkpOworICAgIGlmIChvYmoubmFtZSAh
PT0gb2JqLmdldE5hbWUoKSkgeworICAgICAgcmVzdWx0ID0gZmFsc2U7CisgICAgfQorICB9Cisg
IHJldHVybiByZXN1bHQ7Cit9CisKK3Rlc3RDYXNlKHJ1bigxMDAwMCksIHRydWUsICJFcnJvcjog
RXJyb3I6IGR1cmluZyBleGVjdXRpb24gb2YgYXJyb3cgZnVuY3Rpb24gMTAwMDAgdGltZXMiKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5j
dGlvbi1ydW4tMTAwMDAtMi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YXJyb3dmdW5jdGlvbi1ydW4tMTAwMDAtMi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NTMwZjJjMWQ1YTdmNTVj
ZTQ2YjhiZTY5OTA4YjRiYzIxZTA1MjdiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMDAwMC0yLmpzCkBAIC0w
LDAgKzEsMjMgQEAKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBt
ZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2Fn
ZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCAr
ICInIjsKKyAgfQorfTsKKworZnVuY3Rpb24gcnVuKGNvdW50KSB7CisgIHZhciByZXN1bHQgPSB0
cnVlOworICBmb3IodmFyIGk9MDsgaTxjb3VudDsgaSsrKSB7CisgICAgdmFyIE9iaiA9IGZ1bmN0
aW9uIChuYW1lKSB7CisgICAgICB0aGlzLm5hbWUgPSBuYW1lOworICAgICAgdGhpcy5nZXROYW1l
ID0gKCkgPT4gZXZhbCgidGhpcy5uYW1lIik7OworICAgIH07CisKKyAgICB2YXIgb2JqID0gbmV3
IE9iaigiSXRlbSIgKyBpKTsKKyAgICBpZiAob2JqLm5hbWUgIT09IG9iai5nZXROYW1lKCkpIHsK
KyAgICAgIHJlc3VsdCA9IGZhbHNlOworICAgIH0KKyAgfQorICByZXR1cm4gcmVzdWx0OworfQor
Cit0ZXN0Q2FzZShydW4oMTAwMDApLCB0cnVlLCAiRXJyb3I6IEVycm9yOiBkdXJpbmcgZXhlY3V0
aW9uIG9mIGFycm93IGZ1bmN0aW9uIDEwMDAwIHRpbWVzIik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tc3ludGF4LmpzIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXN5bnRheC5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44ZmUxMWQ1YmVlMGRiZDU1NjQ4YWM0M2RmZmNlNGU0ZTJlOTBlMjg4Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1
bmN0aW9uLXN5bnRheC5qcwpAQCAtMCwwICsxLDExNiBAQAordmFyIHJlc3VsdDsKKworIHZhciB0
ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChh
Y3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICci
ICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwor
dmFyIGFmMCA9IHYgPT4gdiArIDE7Cit0ZXN0Q2FzZShhZjAoMTApLCAxMSAsIkVycm9yOiBOb3Qg
Y29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiB2ID0+IHYgKyAxIik7CisK
K3ZhciBhZjEgPSAodikgPT4gdiAqIDI7Cit0ZXN0Q2FzZShhZjEoMTApLCAyMCAsIkVycm9yOiBO
b3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAodikgPT4gdiArIDEi
KTsKKwordmFyIGFmMiA9ICgpID0+IDEwMDA7Cit0ZXN0Q2FzZShhZjIoMTIxMiksIDEwMDAgLCJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKCkgPT4g
MTAwMCIpOworCit2YXIgYSA9IDE1MTsKK3ZhciBhZjJfMSA9ICgpID0+IGE7Cit0ZXN0Q2FzZShh
ZjJfMSgxMjEpLCBhICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb246ICgpID0+IHZhcmlhYmxlIik7CisKK3ZhciBhZjMgPSAodiwgeCkgPT4gdiArIHg7
Cit0ZXN0Q2FzZShhZjMoMTEsMTIpLCAyMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24g
b2YgdGhlIGFycm93IGZ1bmN0aW9uOiAoeCwgeSkgPT4geCArIHkiKTsKKwordmFyIGFmd3JhcHBl
ciA9IGZ1bmN0aW9uIChjbCwgcGFyYW10ZXIpIHsgcmV0dXJuIGNsKHBhcmFtdGVyKTsgfTsKKwor
cmVzdWx0ID0gYWZ3cmFwcGVyKHggPT4gMTIzNCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMzQgLCJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJh
bXRlcjogZih4ID0+IGMpIik7CisKK3Jlc3VsdCA9IGFmd3JhcHBlcih4ID0+IDEyMzQsIDIzNDUp
OwordGVzdENhc2UocmVzdWx0LCAxMjM0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjLCB5KSIpOworCityZXN1
bHQgPSBhZndyYXBwZXIoeCA9PiAxMjEgKyAyMzIpOwordGVzdENhc2UocmVzdWx0LCAzNTMgLCJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJh
bXRlcjogZih4ID0+IGMxICsgYzIpIik7CisKK3Jlc3VsdCA9IGFmd3JhcHBlcih4ID0+IDEyMyAr
IDMyMSwgOTk5OSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDQ0NCAsIkVycm9yOiBOb3QgY29ycmVjdCBl
eGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYzEgKyBj
MiwgeSkiKTsKKworcmVzdWx0ID0gYWZ3cmFwcGVyKHggPT4geCArIDEyLCAyMSk7Cit0ZXN0Q2Fz
ZShyZXN1bHQsIDMzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiB4ICsgYzEsIHkpIik7CisKK3Jlc3VsdCA9IGFm
d3JhcHBlcigoeCkgPT4geCArIDIxLCAzMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDUzLCAiRXJyb3I6
IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6
IGYoKHgpID0+IGMxICsgYzIsIHkpIik7CisKK3Jlc3VsdCA9IGFmd3JhcHBlcigoKSA9PiAxMDAp
OwordGVzdENhc2UocmVzdWx0LCAxMDAsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjKSIpOworCit2YXIgZXh0
X3ZhbHVlID0gMTIxOworcmVzdWx0ID0gYWZ3cmFwcGVyKCgpID0+IGV4dF92YWx1ZSk7Cit0ZXN0
Q2FzZShyZXN1bHQsIDEyMSwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFy
cm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IHYpIik7CisKK3Jlc3VsdCA9IGFmd3Jh
cHBlcigoKSA9PiBleHRfdmFsdWUgKiAxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMTAgLCJFcnJv
cjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRl
cjogZigoKSA9PiB2KngpIik7CisKK3Jlc3VsdCA9IGFmd3JhcHBlcigoeCkgPT4gZXh0X3ZhbHVl
ICogeCwgMzApOwordGVzdENhc2UocmVzdWx0LCAzMCpleHRfdmFsdWUgLCJFcnJvcjogTm90IGNv
cnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoeCkg
PT4gdip4LCB5KSIpOworCityZXN1bHQgPSBhZndyYXBwZXIoKCkgPT4gMTAwLCAxMSk7Cit0ZXN0
Q2FzZShyZXN1bHQsIDEwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFy
cm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMxLCB5KSIpOworCisgcmVzdWx0ID0g
YWZ3cmFwcGVyKCgpID0+IDEwMCArIDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEwICwiRXJyb3I6
IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6
IGYoKCkgPT4gYzEgKyBjMikiKTsKKworcmVzdWx0ID0gYWZ3cmFwcGVyKCgpID0+IDEwMCArIDEx
LCAxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDExMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMxICsgYzIsIHkp
Iik7CisKK3ZhciBhcnJvd0Z1bmN0aW9uNCA9IHYgPT4gdiArIDEsIHh5ejEgPSAxMDEwMTsKK3Jl
c3VsdCA9IGFycm93RnVuY3Rpb240KDEwMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDEyICwiRXJy
b3I6IE5vdCBjb3JyZWN0IHBhcnNpbmcgb2YgdGggYXJyb3cgZnVuY3Rpb24gaW5zaWRlIG9mIHRo
ZSBsaXN0IG9mIHZhcnM6IHZhciBhZiA9IHY9PiB2ICsgMTsgenhjPWM7Iik7Cit0ZXN0Q2FzZSh4
eXoxLCAxMDEwMSAsIkVycm9yOiBOb3QgY29ycmVjdCBwYXJzaW5nIG9mIHRoIGFycm93IGZ1bmN0
aW9uIGluc2lkZSBvZiB0aGUgbGlzdCBvZiB2YXJzOiB2YXIgYWYgPSB2PT4gdiArIDE7IHp4Yz1j
OyIpOworCit2YXIgYWZ3cmFwcGVyMiA9IGZ1bmN0aW9uIChjbCwgcGFyYW10ZXIxLCBwYXJhbXRl
cjIpIHsgcmV0dXJuIGNsKHBhcmFtdGVyMSwgcGFyYW10ZXIyKTsgfTsKK3Jlc3VsdCA9IGFmd3Jh
cHBlcjIoKHgsIHkpID0+IHggKyB5LCAxMiAsNDMpOwordGVzdENhc2UocmVzdWx0LCA1NSAsIkVy
cm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFt
ZXRlcjogZigoeCwgeSkgPT4geCArIHksIGMxLCBjMikiKTsKKwordmFyIGFmQXJyMCA9IFt2ID0+
IHYgKiAxMF07CityZXN1bHQgPSBhZkFycjBbMF0oMTApOwordGVzdENhc2UocmVzdWx0LCAxMDAg
LCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBp
dGVtIGluIGFycmF5OiBbdj0+dioxMF0iKTsKKwordmFyIGFmQXJyMSA9IFt2ID0+IHYgKyAxLCB2
ID0+IHYgKyAyXTsKK3Jlc3VsdCA9IGFmQXJyMVswXSgxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEx
ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMg
aXRlbSBpbiBhcnJheTogW3YgPT4gdiArIDEsICB2ID0+IHYgKyAyXSIpOworcmVzdWx0ID0gYWZB
cnIxWzFdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhl
Y3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbdiA9PiB2ICsg
MSwgIHYgPT4gdiArIDJdIik7CisKK3ZhciBhZkFycjIgPSBbKHYpID0+IHYgKyAxLCAodikgPT4g
diArIDJdOworcmVzdWx0ID0gYWZBcnIyWzBdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIgLCJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVt
IGluIGFycmF5OiBbKHYpID0+IHYgKyAxLCAgKHYpID0+IHYgKyAyXSIpOworcmVzdWx0ID0gYWZB
cnIyWzFdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhl
Y3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKHYpID0+IHYg
KyAxLCAgKHYpID0+IHYgKyAyXSIpOworCit2YXIgYWZBcnIzID0gWygpID0+IDEwMSwgKCkgPT4g
MTIzMjNdOworcmVzdWx0ID0gYWZBcnIzWzBdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAxLCAi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRl
bSBpbiBhcnJheTogWygpID0+IGMxLCAgKCkgPT4gYzJdIik7CityZXN1bHQgPSBhZkFycjNbMV0o
MTEpOwordGVzdENhc2UocmVzdWx0LCAxMjMyMywgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsoKSA9PiBjMSwgICgp
ID0+IGMyXSIpOworCit2YXIgYWZPYmogPSB7ZnVuYyA6IHkgPT4geSArIDEyfTsKK3Jlc3VsdCA9
IGFmT2JqLmZ1bmMoMTEpOwordGVzdENhc2UocmVzdWx0LCAyMyAsICJFcnJvcjogTm90IGNvcnJl
Y3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwcm9wZXJ0eToge2Z1bmMgOiB5
ID0+IHkgKyAxMiB9Iik7CisKK3ZhciBhZkJsb2NrMCA9ICgpID0+IHsgcmV0dXJuIDEwMDA7IH07
CityZXN1bHQgPSBhZkJsb2NrMCgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMDAgLCJFcnJvcjog
Tm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMg
YmxvY2s6ICgpID0+IHsgcmV0dXJuIDEwMDA7IH0iKTsKKwordmFyIGFmQmxvY2sxID0gdiA9PiB7
IHZhciBpbnR2YWwgPSAxMDA7IHJldHVybiB2ICogaW50dmFsOyB9OworcmVzdWx0ID0gYWZCbG9j
azEoMTEpOwordGVzdENhc2UocmVzdWx0LCAxMTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1
dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiB4ID0+IHsgdmFy
IHY9MTAwMDsgcmV0dXJuIHYqeDsgfSIpOworCit2YXIgYWZCbG9jazIgPSAodikgPT4geyB2YXIg
aW50ID0gMjAwOyByZXR1cm4gdiAqIGludDsgfTsKK3Jlc3VsdCA9IGFmQmxvY2syKDExKTsKK3Rl
c3RDYXNlKHJlc3VsdCwgMjIwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhl
IGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogKHgpID0+IHsgdmFyIHY9MTAwMDsg
cmV0dXJuIHYqeDsgfSIpOworCit2YXIgYWZCbG9jazMgPSAodiwgeCkgPT4geyB2YXIgcmVzdWx0
ID0geCAqIHY7IHJldHVybiByZXN1bHQ7IH07CityZXN1bHQgPSBhZkJsb2NrMygxMSwgMTIyMjIp
OwordGVzdENhc2UocmVzdWx0LCAxMzQ0NDIgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICh2LCB4KSA9PiB7IHZh
ciByZXN1bHQgPSB4ICogdjsgcmV0dXJuIHJlc3VsdDsgfSIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLmpzIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLmpzCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwNjg3YjNhYWIxZDI3ZjQ1M2Y5MDc2MWNlYzFhZDRkMDVjZjAzYjM1
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi5qcworKysgL2Rldi9udWxs
CkBAIC0xLDE1NCArMCwwIEBACi12YXIgcmVzdWx0OwotCi0gdmFyIHRlc3RDYXNlID0gZnVuY3Rp
b24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKLSAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0
ZWQpIHsKLSAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICIn
LCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOwotICB9Ci19OwotCi12YXIgYXJyb3dGdW5jdGlv
bjAgPSB2ID0+IHYgKyAxOwotcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjAoMTApOwotdGVzdENhc2Uo
cmVzdWx0LCAxMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1
bmN0aW9uOiB2ID0+IHYgKyAxIik7Ci0KLXZhciBhcnJvd0Z1bmN0aW9uMSA9ICh2KSA9PiB2ICog
MjsKLXJlc3VsdCA9IGFycm93RnVuY3Rpb24xKDEwKTsKLXRlc3RDYXNlKHJlc3VsdCwgMjAgLCJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKHYpID0+
IHYgKyAxIik7Ci0KLXZhciBhcnJvd0Z1bmN0aW9uMiA9ICgpID0+IDEwMDA7Ci1yZXN1bHQgPSBh
cnJvd0Z1bmN0aW9uMigxMjEyKTsKLXRlc3RDYXNlKHJlc3VsdCwgMTAwMCAsIkVycm9yOiBOb3Qg
Y29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAoKSA9PiAxMDAwIik7Ci0K
LXZhciB0bXBWYXJpYWx2ZTJfMSA9IDE1MTsKLXZhciBhcnJvd0Z1bmN0aW9uMl8xID0gKCkgPT4g
dG1wVmFyaWFsdmUyXzE7Ci1yZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMl8xKDEyMSk7Ci10ZXN0Q2Fz
ZShyZXN1bHQsIHRtcFZhcmlhbHZlMl8xICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb246ICgpID0+IHZhcmlhYmxlIik7Ci0KLXZhciBhcnJvd0Z1bmN0
aW9uMyA9ICh2LCB4KSA9PiB2ICsgeDsKLXJlc3VsdCA9IGFycm93RnVuY3Rpb24zKDExLDEyKTsK
LXRlc3RDYXNlKHJlc3VsdCwgMjMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbjogKHgsIHkpID0+IHggKyB5Iik7Ci0KLXZhciBhcnJvd0Z1bmN0aW9u
V3JhcHBlciA9IGZ1bmN0aW9uIChjbCwgcGFyYW10ZXIpIHsgcmV0dXJuIGNsKHBhcmFtdGVyKTsg
fTsKLQotcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMjM0KTsKLXRlc3RDYXNl
KHJlc3VsdCwgMTIzNCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYykiKTsKLQotIHJlc3VsdCA9IGFycm93RnVu
Y3Rpb25XcmFwcGVyKHggPT4gMTIzNCwgMjM0NSk7Ci10ZXN0Q2FzZShyZXN1bHQsIDEyMzQgLCJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJh
bXRlcjogZih4ID0+IGMsIHkpIik7Ci0KLSByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4
ID0+IDEyMSArIDIzMik7Ci10ZXN0Q2FzZShyZXN1bHQsIDM1MyAsIkVycm9yOiBOb3QgY29ycmVj
dCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYzEg
KyBjMikiKTsKLQotIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHggPT4gMTIzICsgMzIx
LCA5OTk5KTsKLXRlc3RDYXNlKHJlc3VsdCwgNDQ0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1
dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjMSArIGMyLCB5
KSIpOwotCi0gcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiB4ICsgMTIsIDIxKTsK
LXRlc3RDYXNlKHJlc3VsdCwgMzMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IHggKyBjMSwgeSkiKTsKLQotIHJl
c3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCh4KSA9PiB4ICsgMjEsIDMyKTsKLXRlc3RDYXNl
KHJlc3VsdCwgNTMsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbiBhcyBwYXJhbXRlcjogZigoeCkgPT4gYzEgKyBjMiwgeSkiKTsKLQotIHJlc3VsdCA9
IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+IDEwMCk7Ci10ZXN0Q2FzZShyZXN1bHQsIDEwMCwg
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBh
cmFtdGVyOiBmKCgpID0+IGMpIik7Ci0KLSB2YXIgZXh0X3ZhbHVlID0gMTIxOwotcmVzdWx0ID0g
YXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gZXh0X3ZhbHVlKTsKLXRlc3RDYXNlKHJlc3VsdCwg
MTIxLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24g
YXMgcGFyYW10ZXI6IGYoKCkgPT4gdikiKTsKLQotIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFw
cGVyKCgpID0+IGV4dF92YWx1ZSAqIDEwKTsKLXRlc3RDYXNlKHJlc3VsdCwgMTIxMCAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVy
OiBmKCgpID0+IHYqeCkiKTsKLQotIHJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCh4KSA9
PiBleHRfdmFsdWUgKiB4LCAzMCk7Ci10ZXN0Q2FzZShyZXN1bHQsIDMwKmV4dF92YWx1ZSAsIkVy
cm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFt
dGVyOiBmKCh4KSA9PiB2KngsIHkpIik7Ci0KLSByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBl
cigoKSA9PiAxMDAsIDExKTsKLXRlc3RDYXNlKHJlc3VsdCwgMTAwICwiRXJyb3I6IE5vdCBjb3Jy
ZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4g
YzEsIHkpIik7Ci0KLSByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiAxMDAgKyAx
MCk7Ci10ZXN0Q2FzZShyZXN1bHQsIDExMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24g
b2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMxICsgYzIpIik7Ci0K
LSByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiAxMDAgKyAxMSwgMTIpOwotdGVz
dENhc2UocmVzdWx0LCAxMTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjMSArIGMyLCB5KSIpOwotCi0gdmFy
IGFycm93RnVuY3Rpb240ID0gdiA9PiB2ICsgMSwgeHl6MSA9IDEwMTAxOwotcmVzdWx0ID0gYXJy
b3dGdW5jdGlvbjQoMTAxMSk7Ci10ZXN0Q2FzZShyZXN1bHQsIDEwMTIgLCJFcnJvcjogTm90IGNv
cnJlY3QgcGFyc2luZyBvZiB0aCBhcnJvdyBmdW5jdGlvbiBpbnNpZGUgb2YgdGhlIGxpc3Qgb2Yg
dmFyczogdmFyIGFmID0gdj0+IHYgKyAxOyB6eGM9YzsiKTsKLXRlc3RDYXNlKHh5ejEsIDEwMTAx
ICwiRXJyb3I6IE5vdCBjb3JyZWN0IHBhcnNpbmcgb2YgdGggYXJyb3cgZnVuY3Rpb24gaW5zaWRl
IG9mIHRoZSBsaXN0IG9mIHZhcnM6IHZhciBhZiA9IHY9PiB2ICsgMTsgenhjPWM7Iik7Ci0KLSB2
YXIgYXJyb3dGdW5jdGlvbldyYXBwZXIyID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRlcjEsIHBhcmFt
dGVyMikgeyByZXR1cm4gY2wocGFyYW10ZXIxLCBwYXJhbXRlcjIpOyB9OwotcmVzdWx0ID0gYXJy
b3dGdW5jdGlvbldyYXBwZXIyKCh4LCB5KSA9PiB4ICsgeSwgMTIgLDQzKTsKLXRlc3RDYXNlKHJl
c3VsdCwgNTUgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbiBhcyBwYXJhbWV0ZXI6IGYoKHgsIHkpID0+IHggKyB5LCBjMSwgYzIpIik7Ci0KLSB2YXIg
YXJyb3dGdW5jdGlvQXJyYXkwID0gW3YgPT4gdiAqIDEwXTsKLXJlc3VsdCA9IGFycm93RnVuY3Rp
b0FycmF5MFswXSgxMCk7Ci10ZXN0Q2FzZShyZXN1bHQsIDEwMCAsIkVycm9yOiBOb3QgY29ycmVj
dCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFt2PT52
KjEwXSIpOwotCi0gdmFyIGFycm93RnVuY3Rpb0FycmF5MSA9IFt2ID0+IHYgKyAxLCB2ID0+IHYg
KyAyXTsKLXJlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5MVswXSgxMCk7Ci10ZXN0Q2FzZShyZXN1
bHQsIDExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gYXMgaXRlbSBpbiBhcnJheTogW3YgPT4gdiArIDEsICB2ID0+IHYgKyAyXSIpOwotcmVzdWx0
ID0gYXJyb3dGdW5jdGlvQXJyYXkxWzFdKDExKTsKLXRlc3RDYXNlKHJlc3VsdCwgMTMgLCJFcnJv
cjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGlu
IGFycmF5OiBbdiA9PiB2ICsgMSwgIHYgPT4gdiArIDJdIik7Ci0KLSB2YXIgYXJyb3dGdW5jdGlv
QXJyYXkyID0gWyh2KSA9PiB2ICsgMSwgKHYpID0+IHYgKyAyXTsKLXJlc3VsdCA9IGFycm93RnVu
Y3Rpb0FycmF5MlswXSgxMSk7Ci10ZXN0Q2FzZShyZXN1bHQsIDEyICwiRXJyb3I6IE5vdCBjb3Jy
ZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogWyh2
KSA9PiB2ICsgMSwgICh2KSA9PiB2ICsgMl0iKTsKLXJlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5
MlsxXSgxMSk7Ci10ZXN0Q2FzZShyZXN1bHQsIDEzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1
dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogWyh2KSA9PiB2ICsg
MSwgICh2KSA9PiB2ICsgMl0iKTsKLQotIHZhciBhcnJvd0Z1bmN0aW9BcnJheTMgPSBbKCkgPT4g
MTAxLCAoKSA9PiAxMjMyM107Ci1yZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTNbMF0oMTEpOwot
dGVzdENhc2UocmVzdWx0LCAxMDEsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKCkgPT4gYzEsICAoKSA9PiBjMl0i
KTsKLXJlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5M1sxXSgxMSk7Ci10ZXN0Q2FzZShyZXN1bHQs
IDEyMzIzLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gYXMgaXRlbSBpbiBhcnJheTogWygpID0+IGMxLCAgKCkgPT4gYzJdIik7Ci0KLXZhciBhcnJv
d0Z1bmN0aW9uT2JqID0ge2Z1bmMgOiB5ID0+IHkgKyAxMn07Ci1yZXN1bHQgPSBhcnJvd0Z1bmN0
aW9uT2JqLmZ1bmMoMTEpOwotdGVzdENhc2UocmVzdWx0LCAyMyAsICJFcnJvcjogTm90IGNvcnJl
Y3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwcm9wZXJ0eToge2Z1bmMgOiB5
ID0+IHkgKyAxMiB9Iik7Ci0KLXZhciBhZk9iakxleEJpbmQyID0gZnVuY3Rpb24gKCkgewotICB0
aGlzLmZ1bmMgPSAoKSA9PiB0aGlzOwotfTsKLQotdmFyIGFycm93RmF0RnVuY3Rpb24wID0gKCkg
PT4geyByZXR1cm4gMTAwMDsgfTsKLXJlc3VsdCA9IGFycm93RmF0RnVuY3Rpb24wKDExKTsKLXRl
c3RDYXNlKHJlc3VsdCwgMTAwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhl
IGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogKCkgPT4geyByZXR1cm4gMTAwMDsg
fSIpOwotCi12YXIgYXJyb3dGYXRGdW5jdGlvbjEgPSB2ID0+IHsgdmFyIGludHZhbCA9IDEwMDsg
cmV0dXJuIHYgKiBpbnR2YWw7IH07Ci1yZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0aW9uMSgxMSk7Ci10
ZXN0Q2FzZShyZXN1bHQsIDExMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6IHggPT4geyB2YXIgdj0xMDAwOyBy
ZXR1cm4gdip4OyB9Iik7Ci0KLXZhciBhcnJvd0ZhdEZ1bmN0aW9uMiA9ICh2KSA9PiB7IHZhciBp
bnQgPSAyMDA7IHJldHVybiB2ICogaW50OyB9OwotcmVzdWx0ID0gYXJyb3dGYXRGdW5jdGlvbjIo
MTEpOwotdGVzdENhc2UocmVzdWx0LCAyMjAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiAoeCkgPT4geyB2YXIg
dj0xMDAwOyByZXR1cm4gdip4OyB9Iik7Ci0KLXZhciBhcnJvd0ZhdEZ1bmN0aW9uMyA9ICh2LCB4
KSA9PiB7IHZhciByZXN1bHQgPSB4ICogdjsgcmV0dXJuIHJlc3VsdDsgfTsKLXJlc3VsdCA9IGFy
cm93RmF0RnVuY3Rpb24zKDExLCAxMjIyMik7Ci10ZXN0Q2FzZShyZXN1bHQsIDEzNDQ0MiAsIkVy
cm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9k
eSBhcyBibG9jazogKHYsIHgpID0+IHsgdmFyIHJlc3VsdCA9IHggKiB2OyByZXR1cm4gcmVzdWx0
OyB9Iik7Ci0KLXJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKHg9PntyZXR1cm4geCAqIDI1
O30sIDEyMSk7Ci10ZXN0Q2FzZShyZXN1bHQsIDI1KjEyMSAsIkVycm9yOiBOb3QgY29ycmVjdCBl
eGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogZih4ID0+
IHtyZXR1cm4geCAqIDI1O30sIDEyMSkiKTsKLQotcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBw
ZXIyKCh4LCB5KT0+e3JldHVybiB4ICogeTt9LCAxNCwgMTIpOwotdGVzdENhc2UocmVzdWx0LCAx
NCoxMiAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9u
IHdpdGggYm9keSBhcyBibG9jazogZigoeCwgeSk9PntyZXR1cm4geCAqIHk7fSwgMTQsIDEyMSkp
Iik7Ci0KLXZhciBzaW1wbGVBcnJvd0Z1bmN0aW9uID0gKCkgPT4ge307Ci0KLXRlc3RDYXNlKHR5
cGVvZiBzaW1wbGVBcnJvd0Z1bmN0aW9uLCAiZnVuY3Rpb24iLCAiRXJyb3I6IE5vdCBjb3JyZWN0
IHR5cGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uIik7Ci0KLXRlc3RDYXNlKE9iamVjdC5nZXRQcm90
b3R5cGVPZihzaW1wbGVBcnJvd0Z1bmN0aW9uKSwgRnVuY3Rpb24ucHJvdG90eXBlLCAiRXJyb3I6
IE5vdCBjb3JyZWN0IGdldFByb3RvdHlwZU9mIHZhbHVlIGZvciBhcnJvdyBmdW5jdGlvbiIpOwot
Ci10ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uIGluc3RhbmNlb2YgRnVuY3Rpb24sIHRydWUs
ICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBpbnN0YW5jZW9mIG1ldGhvZCBmb3IgYXJy
b3cgZnVuY3Rpb24iKTsKLQotdGVzdENhc2Uoc2ltcGxlQXJyb3dGdW5jdGlvbi5jb25zdHJ1Y3Rv
ciA9PSBGdW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIGNvbnN0
cnVjdG9yIG1ldGhvZCBvZiBhcnJvdyBmdW5jdGlvbiIpOwotCi10ZXN0Q2FzZSh0eXBlb2Ygc2lt
cGxlQXJyb3dGdW5jdGlvbi5wcm90b3R5cGUgPT09ICd1bmRlZmluZWQnLCB0cnVlLCAiRXJyb3I6
IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9uIik7Ci0K
LXZhciBlcnJvck9uQ3JlYXRlID0gZmFsc2U7Ci0KLXRyeSB7Ci0gIHZhciBmYyA9IG5ldyBzaW1w
bGVBcnJvd0Z1bmN0aW9uKCk7Ci19Ci1jYXRjaCAoZSkgewotICBlcnJvck9uQ3JlYXRlID0gdHJ1
ZTsKLX0KLQotdGVzdENhc2UoZXJyb3JPbkNyZWF0ZSwgdHJ1ZSwgIkVycm9yOiBObyBlcnJvciBk
dXJpbmcgcnVuIG5ldyBBcnJvd0Z1bmN0aW9uIik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252174</attachid>
            <date>2015-05-01 15:17:57 -0700</date>
            <delta_ts>2015-05-01 16:46:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150502011642.patch</filename>
            <type>text/plain</type>
            <size>79519</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzNjcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAy
MDA1ZWZhNTYzYTE2ODU5MGU5NzlmNzA1ODU1ZDI4ZjJmYmY5YWYwLi5iZWI0N2VkNDk5ZTZkOGJi
YWQ0MjA3ZTE3OGMzYzI5MjJkMTVlZjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw4MSBAQAorMjAxNS0wNS0wMSBBbGVrc2FuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21h
aWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3lu
dGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4
NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXhl
ZCBjb21tZW50cyBmcm9tIHJldmlldyBhbmQgYWxzbyBhZGRlZCBzdXBwb3J0IG9mIEZUTCBhbmQg
REZHIGNvbXBpbGUgbW9kZS4gCisgICAgICAgIFRvIGZvcmNlIHdvcmsgY29ycmVjdGx5IGluIERG
RyBtb2RlIHdhcyBhZGRlZCBwYXJhbWV0ZXIgdGhhdCBwcmV2ZW50cyBpbmxpbmUgCisgICAgICAg
IGFuZCBjb21waWxlIGFycm93IGZ1bmN0aW9uIGluIERGRyBtb2RlLgorCisKKyAgICAgICAgKiBk
ZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6REZHOjpB
YnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHMpOgor
ICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6
Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAqIGRmZy9ERkdDYXBhYmlsaXRp
ZXMuY3BwOgorICAgICAgICAoSlNDOjpERkc6OmNhcGFiaWxpdHlMZXZlbCk6CisgICAgICAgICog
ZGZnL0RGR0Nsb2JiZXJpemUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpjbG9iYmVyaXplKToKKyAg
ICAgICAgKiBkZmcvREZHRG9lc0dDLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpkb2VzR0MpOgor
ICAgICAgICAqIGRmZy9ERkdGaXh1cFBoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpGaXh1
cFBoYXNlOjpmaXh1cE5vZGUpOgorICAgICAgICAqIGRmZy9ERkdOb2RlLmg6CisgICAgICAgIChK
U0M6OkRGRzo6Tm9kZTo6aGFzQ2VsbE9wZXJhbmQpOgorICAgICAgICAqIGRmZy9ERkdOb2RlVHlw
ZS5oOgorICAgICAgICAqIGRmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHA6Cisg
ICAgICAgIChKU0M6OkRGRzo6UHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2U6OnByb3BhZ2F0ZSk6
CisgICAgICAgICogZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpz
YWZlVG9FeGVjdXRlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuaDoKKyAgICAg
ICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y2FsbE9wZXJhdGlvbik6CisgICAgICAgICog
ZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1
bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5j
cHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAgICAg
ICAqIGRmZy9ERkdTdHJ1Y3R1cmVSZWdpc3RyYXRpb25QaGFzZS5jcHA6CisgICAgICAgIChKU0M6
OkRGRzo6U3RydWN0dXJlUmVnaXN0cmF0aW9uUGhhc2U6OnJ1bik6CisgICAgICAgICogZnRsL0ZU
TEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuY3BwOgorICAgICAgICAqIGZ0bC9GVExBYnN0cmFjdEhl
YXBSZXBvc2l0b3J5Lmg6CisgICAgICAgICogZnRsL0ZUTENhcGFiaWxpdGllcy5jcHA6CisgICAg
ICAgIChKU0M6OkZUTDo6Y2FuQ29tcGlsZSk6CisgICAgICAgICogZnRsL0ZUTEludHJpbnNpY1Jl
cG9zaXRvcnkuaDoKKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwOgorICAgICAg
ICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlTm9kZSk6CisgICAgICAgIChKU0M6
OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVOZXdBcnJvd0Z1bmN0aW9uKToKKyAgICAgICAg
KiBqaXQvSklUT3BlcmF0aW9ucy5jcHA6CisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMuaDoK
KyAgICAgICAgKiBsbGludC9MTEludFNsb3dQYXRocy5jcHA6CisgICAgICAgIChKU0M6OkxMSW50
OjpMTElOVF9TTE9XX1BBVEhfREVDTCk6CisgICAgICAgICogcnVudGltZS9KU0Fycm93RnVuY3Rp
b24uY3BwOgorICAgICAgICAoSlNDOjphcnJvd0Z1bmN0aW9uQ2FsbCk6CisgICAgICAgIChKU0M6
OkpTQXJyb3dGdW5jdGlvbjo6SlNBcnJvd0Z1bmN0aW9uKToKKyAgICAgICAgKEpTQzo6SlNBcnJv
d0Z1bmN0aW9uOjpjcmVhdGVXaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRjaHBvaW50KToK
KyAgICAgICAgKEpTQzo6SlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUpOgorICAgICAgICAoSlNDOjpK
U0Fycm93RnVuY3Rpb246OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKEpTQzo6SlNBcnJvd0Z1
bmN0aW9uOjp2aXNpdENoaWxkcmVuKToKKyAgICAgICAgKiBydW50aW1lL0pTQXJyb3dGdW5jdGlv
bi5oOgorICAgICAgICAoSlNDOjpKU0Fycm93RnVuY3Rpb246OmFsbG9jYXRpb25TaXplKToKKyAg
ICAgICAgKEpTQzo6SlNBcnJvd0Z1bmN0aW9uOjphcnJvd0Z1bmN0aW9uKToKKyAgICAgICAgKEpT
Qzo6SlNBcnJvd0Z1bmN0aW9uOjpib3VuZFRoaXMpOgorICAgICAgICAoSlNDOjpKU0Fycm93RnVu
Y3Rpb246Om9mZnNldE9mVGhpc1ZhbHVlKToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1hc3BhcmFtdGVyLTEuanM6IFJlbmFtZWQgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci5qcy4KKyAgICAgICAgKiB0
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3BhcmFtdGVyLTIuanM6IEFkZGVkLgorICAgICAg
ICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJvdW5kLmpzOiBBZGRlZC4KKyAgICAgICAg
KiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1jYWxsLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1jb25zdHJ1Y3Rvci5qczoKKyAgICAgICAgKiB0ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLWFyZ3VtZW50cy5qczogQWRkZWQuCisgICAg
ICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTEuanM6IFJlbmFt
ZWQgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
bGV4aWNhbHRoaXMtMS5qcy4KKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1s
ZXhpY2FsLXRoaXMtMi5qczogUmVuYW1lZCBmcm9tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsdGhpcy5qcy4KKyAgICAgICAgKiB0ZXN0cy9z
dHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAtMS5qczogQWRkZWQuCisgICAgICAgICogdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTIuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMDAwMC0xLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAwMDAtMi5qczogQWRkZWQuCisgICAgICAg
ICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tc3ludGF4LmpzOiBBZGRlZC4KKyAgICAgICAg
KiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi5qczogUmVtb3ZlZC4KKwogMjAxNS0wNC0xNyAg
QWxleGFuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21haWwuY29tPgogICAgICAgICBTbWFsbCBy
ZWZhY3RvcmluZyBvZiB0aGUgcGFyY2VyLmNwcCBmaWxlLiBJdCBpcyBuZWNlc3NhcnkgdG8gaW5j
cmVhc2UgcmVhZGFiaWxpdHkgb2YgdGhlIHBhdGNoCiAgICAgICAgIHdpdGggRVM2IEFycm93IGZ1
bmN0aW9uIGltcGxlbWVudGF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKaW5kZXggNjkwYjI4ZmNlOTFl
YWFiN2YyMjM0NGMyM2EyYjU5OWE5NmQ0ODMyMC4uMjBjZWU1ZTA5Y2I1MmMwY2M5ZGFkMWFjZTU3
OTAxNTg5ZGY4ZTE5YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdB
YnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaApAQCAtMTUzNCw3ICsxNTM0LDEzIEBA
IGJvb2wgQWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZl
Y3RzKHVuc2lnbmVkIGNsb2JiZXJMaW1pCiAgICAgY2FzZSBDcmVhdGVDbG9uZWRBcmd1bWVudHM6
CiAgICAgICAgIGZvck5vZGUobm9kZSkuc2V0VHlwZShtX2dyYXBoLCBTcGVjT2JqZWN0T3RoZXIp
OwogICAgICAgICBicmVhazsKLSAgICAgICAgCisgICAgICAgICAgICAKKyAgICBjYXNlIE5ld0Fy
cm93RnVuY3Rpb246CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAg
ICAgZm9yTm9kZShub2RlKS5zZXQoCisgICAgICAgICAgICBtX2dyYXBoLCBtX2NvZGVCbG9jay0+
Z2xvYmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyktPmFycm93RnVuY3Rpb25TdHJ1
Y3R1cmUoKSk7CisjZW5kaWYKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBOZXdGdW5jdGlvbjoK
ICAgICAgICAgZm9yTm9kZShub2RlKS5zZXQoCiAgICAgICAgICAgICBtX2dyYXBoLCBtX2NvZGVC
bG9jay0+Z2xvYmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyktPmZ1bmN0aW9uU3Ry
dWN0dXJlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRl
Q29kZVBhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFy
c2VyLmNwcAppbmRleCA0M2UzZmQ5MGZiY2Q3Yzk5YmEyNDYzNGIzMWJlMWFmZmU1NzRjZWRiLi40
YzZiYmRkMmZmNjNkZjBjNTBkODk4ODg2NTQ1Y2YxM2ZmN2FlZmMyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcApAQCAtMzc2NiwxNSArMzc2
Niw2IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQgbGltaXQpCiAg
ICAgICAgICAgICBORVhUX09QQ09ERShvcF9uZXdfZnVuY19leHApOwogICAgICAgICB9CiAKLSNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQotICAgICAgICBjYXNlIG9wX25ld19h
cnJvd19mdW5jX2V4cDogewotICAgICAgICAgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBleHByID0g
bV9pbmxpbmVTdGFja1RvcC0+bV9wcm9maWxlZEJsb2NrLT5mdW5jdGlvbkV4cHIoY3VycmVudElu
c3RydWN0aW9uWzNdLnUub3BlcmFuZCk7Ci0gICAgICAgICAgICBGcm96ZW5WYWx1ZSogZnJvemVu
ID0gbV9ncmFwaC5mcmVlemVTdHJvbmcoZXhwcik7Ci0gICAgICAgICAgICBzZXQoVmlydHVhbFJl
Z2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLAotICAgICAgICAgICAgICAg
IGFkZFRvR3JhcGgoTmV3RnVuY3Rpb24sIE9wSW5mbyhmcm96ZW4pLCBnZXQoVmlydHVhbFJlZ2lz
dGVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpKSkpOwotICAgICAgICAgICAgTkVY
VF9PUENPREUob3BfbmV3X2Fycm93X2Z1bmNfZXhwKTsKLSAgICAgICAgfQotI2VuZGlmCiAgICAg
ICAgIGNhc2Ugb3BfdHlwZW9mOiB7CiAgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1
cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQpLAogICAgICAgICAgICAgICAgIGFkZFRvR3Jh
cGgoVHlwZU9mLCBnZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9w
ZXJhbmQpKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBh
YmlsaXRpZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMu
Y3BwCmluZGV4IGIwYzY3MmJjMzkyZDkzMGI2OGY0M2NmNGM0NmFlZmNmYjE1M2RkN2YuLjBlM2M4
ODBiN2NjY2I5Yjc1MGFhMzA4OTVmMDY5NTk4ZDUyZGZmYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKQEAgLTIwOCw5ICsyMDgsNiBAQCBDYXBh
YmlsaXR5TGV2ZWwgY2FwYWJpbGl0eUxldmVsKE9wY29kZUlEIG9wY29kZUlELCBDb2RlQmxvY2sq
IGNvZGVCbG9jaywgSW5zdHJ1YwogICAgIGNhc2Ugb3BfbmV3X2Z1bmM6CiAgICAgY2FzZSBvcF9u
ZXdfZnVuY19leHA6CiAgICAgY2FzZSBvcF9jcmVhdGVfbGV4aWNhbF9lbnZpcm9ubWVudDoKLSNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQotICAgIGNhc2Ugb3BfbmV3X2Fycm93
X2Z1bmNfZXhwOgotI2VuZGlmCiAgICAgICAgIHJldHVybiBDYW5Db21waWxlQW5kSW5saW5lOwog
CiAgICAgY2FzZSBvcF9wdXRfdG9fc2NvcGU6IHsKQEAgLTIzNCw2ICsyMzEsNyBAQCBDYXBhYmls
aXR5TGV2ZWwgY2FwYWJpbGl0eUxldmVsKE9wY29kZUlEIG9wY29kZUlELCBDb2RlQmxvY2sqIGNv
ZGVCbG9jaywgSW5zdHJ1YwogICAgIGNhc2Ugb3Bfc3dpdGNoX3N0cmluZzogLy8gRG9uJ3QgaW5s
aW5lIGJlY2F1c2Ugd2UgZG9uJ3Qgd2FudCB0byBjb3B5IHN0cmluZyB0YWJsZXMgaW4gdGhlIGNv
bmN1cnJlbnQgSklULgogICAgICAgICByZXR1cm4gQ2FuQ29tcGlsZTsKIAorICAgIGNhc2Ugb3Bf
bmV3X2Fycm93X2Z1bmNfZXhwOiAvLyBGaXhtZTogQXJyb3cgZnVuY3Rpb24gY2Fubid0IGJlIGlu
bGluZSBhcyB0aGUgY29tbW9uIGZ1bmN0aW9uIGJlY2F1c2UgaXQgaGFzIGxleGljYWx5IGJpbmQg
dGhpcy9hcmd1bWVudHMgYW5kIGV0Yy4gYW5kICBhcnJvdyBmdW5jdGlvbiBoYXMgdG8gaGF2ZSBp
dHMgb3duIGNvbXBpbGUgYW5kIGlubGluZSBhcHByb2FjaC4KICAgICBkZWZhdWx0OgogICAgICAg
ICByZXR1cm4gQ2Fubm90Q29tcGlsZTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQ2xvYmJlcml6ZS5oCmluZGV4IGQzODU3OWUzNGJiODA2NDMyNzE5NmVjMjUwYzY5MzExMTQx
ZjFjMDMuLmVjYzdiZjhmMjVkZGZhZmZhODIyYjJiM2U0NWRhY2I4Y2MwNjMwOTUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCkBAIC04NjEsNyArODYxLDggQEAg
dm9pZCBjbG9iYmVyaXplKEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSwgY29uc3QgUmVhZEZ1bmN0
b3ImIHJlYWQsIGNvbnN0IFdyaXRlRnUKICAgICAgICAgcmVhZChIZWFwT2JqZWN0Q291bnQpOwog
ICAgICAgICB3cml0ZShIZWFwT2JqZWN0Q291bnQpOwogICAgICAgICByZXR1cm47Ci0gICAgICAg
IAorICAgIAorICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKICAgICBjYXNlIE5ld0Z1bmN0aW9u
OgogICAgICAgICBpZiAobm9kZS0+Y2FzdE9wZXJhbmQ8RnVuY3Rpb25FeGVjdXRhYmxlKj4oKS0+
c2luZ2xldG9uRnVuY3Rpb24oKS0+aXNTdGlsbFZhbGlkKCkpCiAgICAgICAgICAgICB3cml0ZShX
YXRjaHBvaW50X2ZpcmUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdEb2VzR0MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCmlu
ZGV4IDQ4NzFmMGE5NjIzMWQxNzNlZDkwMTYyNzUwZjA5NGM3ZTFiMTE1YjIuLjQxYTcyMTM4OWM1
MWMxZDkyY2Q4ZWRmMTU2ZTg2ZjUwMjkyNGQ2OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0RvZXNHQy5jcHAKQEAgLTIyOCw2ICsyMjgsNyBAQCBib29sIGRvZXNHQyhHcmFwaCYgZ3Jh
cGgsIE5vZGUqIG5vZGUpCiAgICAgY2FzZSBOZXdSZWdleHA6CiAgICAgY2FzZSBOZXdTdHJpbmdP
YmplY3Q6CiAgICAgY2FzZSBNYWtlUm9wZToKKyAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246CiAg
ICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICBjYXNlIE5ld1R5cGVkQXJyYXk6CiAgICAgY2FzZSBU
aHJvd1JlZmVyZW5jZUVycm9yOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdGaXh1cFBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQ
aGFzZS5jcHAKaW5kZXggNjUyY2I2YTIyYTkxZThjYjZmYTgzMTZjM2Q4YzI5ZWJiYTdkNTZhMy4u
MzE0YjhlZjgwYTk5NzQ5MDM3MmRlOTExZDA5ZGQ3ZGM5ZmIxNzIxNSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCkBAIC0xMTgyLDYgKzExODIsNyBAQCBw
cml2YXRlOgogCiAgICAgICAgIGNhc2UgQ3JlYXRlU2NvcGVkQXJndW1lbnRzOgogICAgICAgICBj
YXNlIENyZWF0ZUFjdGl2YXRpb246CisgICAgICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKICAg
ICAgICAgY2FzZSBOZXdGdW5jdGlvbjogewogICAgICAgICAgICAgZml4RWRnZTxDZWxsVXNlPihu
b2RlLT5jaGlsZDEoKSk7CiAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdOb2RlLmgKaW5kZXggZmI0NDViNzYyZjFjYjU4NGU0OWEzMWIzODY2Y2ZjYmMzMDk4MDBiYS4u
MGNkNjlhNzc5NWFiYjM5YWI3YWI2YTFlNzU1NTkyNmMxZjVkOTY4ZiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdOb2RlLmgKQEAgLTEyNjcsNiArMTI2Nyw3IEBAIHN0cnVjdCBOb2RlIHsKICAg
ICAgICAgY2FzZSBDaGVja0NlbGw6CiAgICAgICAgIGNhc2UgTmF0aXZlQ29uc3RydWN0OgogICAg
ICAgICBjYXNlIE5hdGl2ZUNhbGw6CisgICAgICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKICAg
ICAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAg
ICBkZWZhdWx0OgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2Rl
VHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCmluZGV4IGI5
ZjAyNWZiOWFiOGI3ZGQ1NTczZDBkNzg0YzY1ZGUzNjYwYzVlMDkuLjQ3NDg3MWU3YWY1NGZjNDc4
NzNjZDUwZWY1ZGYxZjk1YjEwYmI3MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHTm9kZVR5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05v
ZGVUeXBlLmgKQEAgLTI5MSw2ICsyOTEsOCBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERG
RyB7CiAgICAgXAogICAgIG1hY3JvKE5ld0Z1bmN0aW9uLCBOb2RlUmVzdWx0SlMpIFwKICAgICBc
CisgICAgbWFjcm8oTmV3QXJyb3dGdW5jdGlvbiwgTm9kZVJlc3VsdEpTIHwgTm9kZU11c3RHZW5l
cmF0ZSkgXAorICAgIFwKICAgICAvKiBUaGVzZSBhcmVuJ3QgdGVybWluYWxzIGJ1dCBhbHdheXMg
ZXhpdCAqLyBcCiAgICAgbWFjcm8oVGhyb3csIE5vZGVNdXN0R2VuZXJhdGUpIFwKICAgICBtYWNy
byhUaHJvd1JlZmVyZW5jZUVycm9yLCBOb2RlTXVzdEdlbmVyYXRlKSBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhh
c2UuY3BwCmluZGV4IGZkYjhmZGE1ODFlZjRjNTBiZDEwNTUwODI3NmExN2FlZmI3YjZjOGMuLjMw
MzI5YjVhZjI3NDQ1NjhhOTM1MTYzM2ZhZDllMTIzMzZjYzE5OGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhh
c2UuY3BwCkBAIC0yMTcsNiArMjE3LDcgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBHZXRHZXR0
ZXI6CiAgICAgICAgIGNhc2UgR2V0U2V0dGVyOgogICAgICAgICBjYXNlIEdldENhbGxlZToKKyAg
ICAgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgogICAgICAgICBjYXNlIE5ld0Z1bmN0aW9uOiB7
CiAgICAgICAgICAgICBjaGFuZ2VkIHw9IHNldFByZWRpY3Rpb24oU3BlY0Z1bmN0aW9uKTsKICAg
ICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTYWZlVG9FeGVjdXRlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4
ZWN1dGUuaAppbmRleCBhYTVhNzFjMTdmODhiNjg4ZTNmYTViNTdiOGRjYWIyMjM0NWQ0ZjFlLi5i
NmM1MGI0NDU3YzA2OWJmMWQwNzFmMzliMTdlYmY3YjlkYWQzNzViIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaApAQCAtMjI4LDYgKzIyOCw3IEBAIGJv
b2wgc2FmZVRvRXhlY3V0ZShBYnN0cmFjdFN0YXRlVHlwZSYgc3RhdGUsIEdyYXBoJiBncmFwaCwg
Tm9kZSogbm9kZSkKICAgICBjYXNlIENyZWF0ZUNsb25lZEFyZ3VtZW50czoKICAgICBjYXNlIEdl
dEZyb21Bcmd1bWVudHM6CiAgICAgY2FzZSBQdXRUb0FyZ3VtZW50czoKKyAgICBjYXNlIE5ld0Fy
cm93RnVuY3Rpb246CiAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICBjYXNlIEp1bXA6CiAgICAg
Y2FzZSBCcmFuY2g6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklULmgKaW5kZXggOWQ3MmU4OTM3MzJjYjdhZTk2ODg2NjczZWQwNWU1ZWY1NWQxZDFiMS4uNTU3
YzUzMTc5MTU3MGQ1ZjZlYzdiMTI2NDRmOGRkMWU5NGE2NGEyYSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaApAQCAtMTE5OSw2ICsxMTk5LDEyIEBA
IHB1YmxpYzoKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEs
IFRydXN0ZWRJbW1QdHIoY2VsbCkpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNl
cHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQorICAgIAorICAg
IEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0NKIG9w
ZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgR1BSUmVnIGFyZzEsIEpTQ2VsbCogY2VsbCwgR1BSUmVn
IGFyZzIpCisgICAgeworICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUo
YXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSwgYXJnMik7CisgICAgICAgIHJldHVybiBhcHBlbmRD
YWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAgICB9
CiAKICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9uX0VX
cyBvcGVyYXRpb24sIFdhdGNocG9pbnRTZXQqIHdhdGNocG9pbnRTZXQpCiAgICAgewpAQCAtMTYw
NSw2ICsxNjExLDExIEBAIHB1YmxpYzoKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRo
RXhlY1N0YXRlKGFyZzEsIFRydXN0ZWRJbW1QdHIoY2VsbCkpOwogICAgICAgICByZXR1cm4gYXBw
ZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdFBheWxv
YWQsIHJlc3VsdFRhZyk7CiAgICAgfQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRp
b24oSl9KSVRPcGVyYXRpb25fRUpzY0NKIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdFRhZywgR1BS
UmVnIHJlc3VsdFBheWxvYWQsIEdQUlJlZyBhcmcxLCBKU0NlbGwqIGNlbGwsIEdQUlJlZyBhcmcy
KQorICAgIHsKKyAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEs
IFRydXN0ZWRJbW1QdHIoY2VsbCksIGFyZzIpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdp
dGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdFBheWxvYWQsIHJlc3Vs
dFRhZyk7CisgICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRP
cGVyYXRpb25fRVNzaUNJIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdFRhZywgR1BSUmVnIHJlc3Vs
dFBheWxvYWQsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgR1BSUmVnIGFyZzEsIGNvbnN0
IFN0cmluZ0ltcGwqIHVpZCkKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0
aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHN0dWJJbmZvKSwgYXJnMSwgVHJ1c3RlZEltbVB0cih1
aWQpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQzMl82NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklUMzJfNjQuY3BwCmluZGV4IGZkOWYzNTBiMThkYzVlYWExODZiYmI3NjE3NTc5YjViYTAwMTcx
NjUuLmYzNjkwMjI4MTIyYmY2ZDRhOTBlNjY0YjYyMDkxYzA5NmE4ZmQ4NzMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcApA
QCAtNDI4Myw3ICs0MjgzLDExIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSog
bm9kZSkKICAgICAgICAgY29tcGlsZUNyZWF0ZUNsb25lZEFyZ3VtZW50cyhub2RlKTsKICAgICAg
ICAgYnJlYWs7CiAgICAgfQotICAgICAgICAKKyAgICAKKyAgICBjYXNlIE5ld0Fycm93RnVuY3Rp
b246CisgICAgICAgIERGR19DUkFTSChtX2ppdC5ncmFwaCgpLCBub2RlLCAiQXJyb3cgZnVuY3Rp
b24gY2FuXCd0IGJlIGNvbXBpbGVkIGluIERGRyIpOworICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgIAogICAgIGNhc2UgTmV3RnVuY3Rpb246CiAgICAgICAgIGNvbXBpbGVOZXdGdW5jdGlvbihu
b2RlKTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAppbmRleCAxZDA4NTdmM2Y1ZDdiMmMxY2MyMDQ2YTEwZWRh
ZTQwMzMzMzQ4MzM1Li4wZjM1NzViNWUyMzE1NjRhYWYzYWJhNmM5NTA2NjJlYmQwMTNiODRmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5j
cHAKQEAgLTQzMTcsMTEgKzQzMTcsMTUgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShO
b2RlKiBub2RlKQogICAgICAgICBjb21waWxlQ3JlYXRlQ2xvbmVkQXJndW1lbnRzKG5vZGUpOwog
ICAgICAgICBicmVhazsKICAgICB9Ci0gICAgICAgIAorCisgICAgY2FzZSBOZXdBcnJvd0Z1bmN0
aW9uOgorICAgICAgICBERkdfQ1JBU0gobV9qaXQuZ3JhcGgoKSwgbm9kZSwgIkFycm93IGZ1bmN0
aW9uIGNhblwnIGluIERGRyIpOworICAgICAgICBicmVhazsKKyAgICAgICAgICAgIAogICAgIGNh
c2UgTmV3RnVuY3Rpb246CiAgICAgICAgIGNvbXBpbGVOZXdGdW5jdGlvbihub2RlKTsKICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIAorCiAgICAgY2FzZSBJbjoKICAgICAgICAgY29tcGlsZUluKG5v
ZGUpOwogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHU3RydWN0dXJlUmVnaXN0cmF0aW9uUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTdHJ1Y3R1cmVSZWdpc3RyYXRpb25QaGFzZS5jcHAKaW5kZXggMjg2NDZkMTNm
Y2Y0Yzk2NWM2MjBkMDAyMTFiMGRjYmYwM2IzN2MyZC4uMmM0MmRmM2MwMjM4M2U3MWY1ZWM5NTg2
YTI3OGZiYjFkYjEzMDgwZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTdHJ1Y3R1cmVSZWdpc3RyYXRpb25QaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTdHJ1Y3R1cmVSZWdpc3RyYXRpb25QaGFzZS5jcHAKQEAgLTEzMCw3ICsxMzAs
MTEgQEAgcHVibGljOgogICAgICAgICAgICAgICAgIGNhc2UgTmV3UmVnZXhwOgogICAgICAgICAg
ICAgICAgICAgICByZWdpc3RlclN0cnVjdHVyZShtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihub2Rl
LT5vcmlnaW4uc2VtYW50aWMpLT5yZWdFeHBTdHJ1Y3R1cmUoKSk7CiAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBjYXNlIE5l
d0Fycm93RnVuY3Rpb246CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICAgICAgICAgICAgICAgICAgcmVnaXN0ZXJTdHJ1Y3R1cmUobV9ncmFwaC5nbG9iYWxPYmplY3RG
b3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKS0+YXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpKTsKKyNl
bmRpZgorICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICBjYXNlIE5l
d0Z1bmN0aW9uOgogICAgICAgICAgICAgICAgICAgICByZWdpc3RlclN0cnVjdHVyZShtX2dyYXBo
Lmdsb2JhbE9iamVjdEZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMpLT5mdW5jdGlvblN0cnVjdHVy
ZSgpKTsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmNwcAppbmRleCBlNDE2
ZmRhYWZlZTIyMjlmNjUzYjlhZTA2MjQ4MDAwOTk5ODc1YTAwLi4zYzM4NjRjYTE4MGFhMzZlNDgw
OGMyM2ExMzA2YmUyOGU1ZDdiOTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5jcHAKQEAgLTMwLDYgKzMwLDcgQEAK
IAogI2luY2x1ZGUgIkRpcmVjdEFyZ3VtZW50cy5oIgogI2luY2x1ZGUgIkdldHRlclNldHRlci5o
IgorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTRW52aXJvbm1lbnRS
ZWNvcmQuaCIKICNpbmNsdWRlICJKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaCIKICNpbmNsdWRl
ICJKU1Njb3BlLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFi
c3RyYWN0SGVhcFJlcG9zaXRvcnkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJz
dHJhY3RIZWFwUmVwb3NpdG9yeS5oCmluZGV4IDkxMjc1NGRmYzQwMTUyYjBlZDI0ODM2YWM3NWI4
Zjk2OTg0Mzk5YmIuLmVlYjIwOGJlMWY0NmNmYzQyYjk0OTVhOWZhOTIxZmJjZDZkODJkYTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3Np
dG9yeS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVw
b3NpdG9yeS5oCkBAIC04OCw2ICs4OCwxMyBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZU
TCB7CiAgICAgbWFjcm8oU3RydWN0dXJlX2dsb2JhbE9iamVjdCwgU3RydWN0dXJlOjpnbG9iYWxP
YmplY3RPZmZzZXQoKSkgXAogICAgIG1hY3JvKFN0cnVjdHVyZV9wcm90b3R5cGUsIFN0cnVjdHVy
ZTo6cHJvdG90eXBlT2Zmc2V0KCkpIFwKICAgICBtYWNybyhTdHJ1Y3R1cmVfc3RydWN0dXJlSUQs
IFN0cnVjdHVyZTo6c3RydWN0dXJlSURPZmZzZXQoKSkKKyAgICAKKyNkZWZpbmUgRk9SX0VBQ0hf
QUJTVFJBQ1RfRklFTERfQVJST1dGVU5DVElPTihtYWNybykgXAorICAgIG1hY3JvKEpTQXJyb3dG
dW5jdGlvbl9leGVjdXRhYmxlLCBKU0Fycm93RnVuY3Rpb246Om9mZnNldE9mRXhlY3V0YWJsZSgp
KSBcCisgICAgbWFjcm8oSlNBcnJvd0Z1bmN0aW9uX3Njb3BlLCBKU0Fycm93RnVuY3Rpb246Om9m
ZnNldE9mU2NvcGVDaGFpbigpKSBcCisgICAgbWFjcm8oSlNBcnJvd0Z1bmN0aW9uX3JhcmVEYXRh
LCBKU0Fycm93RnVuY3Rpb246Om9mZnNldE9mUmFyZURhdGEoKSkgXAorICAgIG1hY3JvKEpTQXJy
b3dGdW5jdGlvbl90aGlzLCBKU0Fycm93RnVuY3Rpb246Om9mZnNldE9mVGhpc1ZhbHVlKCkpCisg
ICAgCiAKICNkZWZpbmUgRk9SX0VBQ0hfSU5ERVhFRF9BQlNUUkFDVF9IRUFQKG1hY3JvKSBcCiAg
ICAgbWFjcm8oRGlyZWN0QXJndW1lbnRzX3N0b3JhZ2UsIERpcmVjdEFyZ3VtZW50czo6c3RvcmFn
ZU9mZnNldCgpLCBzaXplb2YoRW5jb2RlZEpTVmFsdWUpKSBcCkBAIC0xMjksNiArMTM2LDkgQEAg
cHVibGljOgogCiAjZGVmaW5lIEFCU1RSQUNUX0ZJRUxEX0RFQ0xBUkFUSU9OKG5hbWUsIG9mZnNl
dCkgQWJzdHJhY3RGaWVsZCBuYW1lOwogICAgIEZPUl9FQUNIX0FCU1RSQUNUX0ZJRUxEKEFCU1RS
QUNUX0ZJRUxEX0RFQ0xBUkFUSU9OKQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCisgICAgRk9SX0VBQ0hfQUJTVFJBQ1RfRklFTERfQVJST1dGVU5DVElPTihBQlNUUkFDVF9G
SUVMRF9ERUNMQVJBVElPTikKKyNlbmRpZgogI3VuZGVmIEFCU1RSQUNUX0ZJRUxEX0RFQ0xBUkFU
SU9OCiAgICAgCiAgICAgQWJzdHJhY3RGaWVsZCYgSlNDZWxsX2ZyZWVMaXN0TmV4dDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAppbmRleCA2MGRjZjc5
MTkzMjNjNTc1YjQ3ODA2MDE3MmIyY2Q1MzdlZGRlNjc4Li44ZWU3OGZlZDBhMmJkYjgxNGQ1ZjBh
MWQwZTAyZDdmNzhmOTViY2Y1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTENhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExD
YXBhYmlsaXRpZXMuY3BwCkBAIC0xMDMsNiArMTAzLDcgQEAgaW5saW5lIENhcGFiaWxpdHlMZXZl
bCBjYW5Db21waWxlKE5vZGUqIG5vZGUpCiAgICAgY2FzZSBMb29wSGludDoKICAgICBjYXNlIFNr
aXBTY29wZToKICAgICBjYXNlIENyZWF0ZUFjdGl2YXRpb246CisgICAgY2FzZSBOZXdBcnJvd0Z1
bmN0aW9uOgogICAgIGNhc2UgTmV3RnVuY3Rpb246CiAgICAgY2FzZSBHZXRDbG9zdXJlVmFyOgog
ICAgIGNhc2UgUHV0Q2xvc3VyZVZhcjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMSW50cmluc2ljUmVwb3NpdG9yeS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmgKaW5kZXggMDk3YjcxY2M2NDM3NjM3NmViYmVhYzA2
NzQ2ZmRjYzBiYmZjZTY4OC4uZDljZjA0NzhhMzhiYTM2MWIyNWI0NTQzZDY2NmVlYzQ3NmZiZTg2
YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBv
c2l0b3J5LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBv
c2l0b3J5LmgKQEAgLTgzLDYgKzgzLDcgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwg
ewogICAgIG1hY3JvKEpfSklUT3BlcmF0aW9uX0VKQywgZnVuY3Rpb25UeXBlKGludDY0LCBpbnRQ
dHIsIGludDY0LCBpbnRQdHIpKSBcCiAgICAgbWFjcm8oSl9KSVRPcGVyYXRpb25fRUpKLCBmdW5j
dGlvblR5cGUoaW50NjQsIGludFB0ciwgaW50NjQsIGludDY0KSkgXAogICAgIG1hY3JvKEpfSklU
T3BlcmF0aW9uX0VKc2NDLCBmdW5jdGlvblR5cGUoaW50UHRyLCBpbnRQdHIsIGludFB0ciwgaW50
UHRyKSkgXAorICAgIG1hY3JvKEpfSklUT3BlcmF0aW9uX0VKc2NDSiwgZnVuY3Rpb25UeXBlKGlu
dDY0LCBpbnRQdHIsIGludDY0LCBpbnQ2NCwgaW50NjQpKVwKICAgICBtYWNybyhKX0pJVE9wZXJh
dGlvbl9FSnNzWiwgZnVuY3Rpb25UeXBlKGludDY0LCBpbnRQdHIsIGludFB0ciwgaW50MzIpKSBc
CiAgICAgbWFjcm8oSl9KSVRPcGVyYXRpb25fRVNzaUpJLCBmdW5jdGlvblR5cGUoaW50NjQsIGlu
dFB0ciwgaW50UHRyLCBpbnQ2NCwgaW50UHRyKSkgXAogICAgIG1hY3JvKEpzc19KSVRPcGVyYXRp
b25fRVosIGZ1bmN0aW9uVHlwZShpbnRQdHIsIGludFB0ciwgaW50MzIpKSBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCmluZGV4IGQ5MDJhZTcz
NDJlOGI0NjNiMzNhMWU1ZDk3ZGU2ZTE4ODY4OTllNDIuLmZkOGFjMzc4OTQwOTFiMTZjOTI5NGVm
OTczMDM5MWQ4OWY0MWRhMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMTG93ZXJERkdUb0xMVk0uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
TG93ZXJERkdUb0xMVk0uY3BwCkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSAiRlRMT3V0cHV0
LmgiCiAjaW5jbHVkZSAiRlRMVGh1bmtzLmgiCiAjaW5jbHVkZSAiRlRMV2VpZ2h0ZWRUYXJnZXQu
aCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgi
CiAjaW5jbHVkZSAiSlNMZXhpY2FsRW52aXJvbm1lbnQuaCIKICNpbmNsdWRlICJPcGVyYW5kc0lu
bGluZXMuaCIKQEAgLTYwNiw2ICs2MDcsMTEgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBDcmVh
dGVBY3RpdmF0aW9uOgogICAgICAgICAgICAgY29tcGlsZUNyZWF0ZUFjdGl2YXRpb24oKTsKICAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246CisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgICAgIGNvbXBpbGVOZXdBcnJv
d0Z1bmN0aW9uKCk7CisjZW5kaWYKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIE5l
d0Z1bmN0aW9uOgogICAgICAgICAgICAgY29tcGlsZU5ld0Z1bmN0aW9uKCk7CiAgICAgICAgICAg
ICBicmVhazsKQEAgLTI5NjcsNiArMjk3Myw1MiBAQCBwcml2YXRlOgogICAgICAgICBzZXRKU1Zh
bHVlKG1fb3V0LnBoaShtX291dC5pbnRQdHIsIGZhc3RSZXN1bHQsIHNsb3dSZXN1bHQpKTsKICAg
ICB9CiAgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2b2lk
IGNvbXBpbGVOZXdBcnJvd0Z1bmN0aW9uKCkKKyAgICB7CisKKyAgICAgICAgTFZhbHVlIHNjb3Bl
ID0gbG93Q2VsbChtX25vZGUtPmNoaWxkMSgpKTsKKyAgICAgICAgTFZhbHVlIHRoaXNWYWx1ZSA9
IGxvd0pTVmFsdWUobV9ub2RlLT5jaGlsZDIoKSk7CisgICAgICAgIEZ1bmN0aW9uRXhlY3V0YWJs
ZSogZXhlY3V0YWJsZSA9IG1fbm9kZS0+Y2FzdE9wZXJhbmQ8RnVuY3Rpb25FeGVjdXRhYmxlKj4o
KTsKKyAgICAgICAgaWYgKGV4ZWN1dGFibGUtPnNpbmdsZXRvbkZ1bmN0aW9uKCktPmlzU3RpbGxW
YWxpZCgpKSB7CisgICAgICAgICAgICBMVmFsdWUgY2FsbFJlc3VsdCA9IHZtQ2FsbCgKKyAgICAg
ICAgICAgICAgICBtX291dC5vcGVyYXRpb24ob3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbiksCisg
ICAgICAgICAgICAgICAgbV9jYWxsRnJhbWUsIHNjb3BlLCB3ZWFrUG9pbnRlcihleGVjdXRhYmxl
KSwgdGhpc1ZhbHVlKTsKKyAgICAgICAgICAgIHNldEpTVmFsdWUoY2FsbFJlc3VsdCk7CisgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIFN0cnVjdHVyZSog
c3RydWN0dXJlID0gbV9ncmFwaC5nbG9iYWxPYmplY3RGb3IobV9ub2RlLT5vcmlnaW4uc2VtYW50
aWMpLT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCk7CisgICAgICAgIAorICAgICAgICBMQmFzaWNC
bG9jayBzbG93UGF0aCA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiTmV3QXJyb3dGdW5jdGlvbiBz
bG93IHBhdGgiKSk7CisgICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IEZUTF9ORVdf
QkxPQ0sobV9vdXQsICgiTmV3QXJyb3dGdW5jdGlvbiBjb250aW51YXRpb24iKSk7CisgICAgICAg
IAorICAgICAgICBMQmFzaWNCbG9jayBsYXN0TmV4dCA9IG1fb3V0Lmluc2VydE5ld0Jsb2Nrc0Jl
Zm9yZShzbG93UGF0aCk7CisgICAgICAgIAorICAgICAgICBMVmFsdWUgZmFzdE9iamVjdCA9IGFs
bG9jYXRlT2JqZWN0PEpTQXJyb3dGdW5jdGlvbj4oc3RydWN0dXJlLCBtX291dC5pbnRQdHJaZXJv
LCBzbG93UGF0aCk7CisgICAgICAgIAorICAgICAgICAvLyBXZSBkb24ndCBuZWVkIG1lbW9yeSBi
YXJyaWVycyBzaW5jZSB3ZSBqdXN0IGZhc3QtY3JlYXRlZCB0aGUgZnVuY3Rpb24sIHNvIGl0Cisg
ICAgICAgIC8vIG11c3QgYmUgeW91bmcuCisgICAgICAgIG1fb3V0LnN0b3JlUHRyKHNjb3BlLCBm
YXN0T2JqZWN0LCBtX2hlYXBzLkpTQXJyb3dGdW5jdGlvbl9zY29wZSk7CisgICAgICAgIG1fb3V0
LnN0b3JlUHRyKHdlYWtQb2ludGVyKGV4ZWN1dGFibGUpLCBmYXN0T2JqZWN0LCBtX2hlYXBzLkpT
QXJyb3dGdW5jdGlvbl9leGVjdXRhYmxlKTsKKyAgICAgICAgbV9vdXQuc3RvcmVQdHIodGhpc1Zh
bHVlLCBmYXN0T2JqZWN0LCBtX2hlYXBzLkpTQXJyb3dGdW5jdGlvbl90aGlzKTsKKyAgICAgICAg
bV9vdXQuc3RvcmVQdHIobV9vdXQuaW50UHRyWmVybywgZmFzdE9iamVjdCwgbV9oZWFwcy5KU0Fy
cm93RnVuY3Rpb25fcmFyZURhdGEpOworICAgICAgICAKKyAgICAgICAgVmFsdWVGcm9tQmxvY2sg
ZmFzdFJlc3VsdCA9IG1fb3V0LmFuY2hvcihmYXN0T2JqZWN0KTsKKyAgICAgICAgbV9vdXQuanVt
cChjb250aW51YXRpb24pOworICAgICAgICAKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8oc2xvd1Bh
dGgsIGNvbnRpbnVhdGlvbik7CisgICAgICAgIExWYWx1ZSBjYWxsUmVzdWx0ID0gdm1DYWxsKAor
ICAgICAgICAgICAgbV9vdXQub3BlcmF0aW9uKG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb25XaXRo
SW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRjaHBvaW50KSwKKyAgICAgICAgICAgIG1fY2FsbEZy
YW1lLCBzY29wZSwgd2Vha1BvaW50ZXIoZXhlY3V0YWJsZSksIHRoaXNWYWx1ZSk7CisgICAgICAg
IFZhbHVlRnJvbUJsb2NrIHNsb3dSZXN1bHQgPSBtX291dC5hbmNob3IoY2FsbFJlc3VsdCk7Cisg
ICAgICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9uKTsKKyAgICAgICAgCisgICAgICAgIG1fb3V0
LmFwcGVuZFRvKGNvbnRpbnVhdGlvbiwgbGFzdE5leHQpOworICAgICAgICBzZXRKU1ZhbHVlKG1f
b3V0LnBoaShtX291dC5pbnRQdHIsIGZhc3RSZXN1bHQsIHNsb3dSZXN1bHQpKTsKKyAgICB9Cisj
ZW5kaWYKKyAgICAKICAgICB2b2lkIGNvbXBpbGVDcmVhdGVEaXJlY3RBcmd1bWVudHMoKQogICAg
IHsKICAgICAgICAgLy8gRklYTUU6IEEgbW9yZSBlZmZlY3RpdmUgd2F5IG9mIGRlYWxpbmcgd2l0
aCB0aGUgYXJndW1lbnQgY291bnQgYW5kIGNhbGxlZSBpcyB0byBoYXZlCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAppbmRleCAyMTc3ZGFhYmM2NTZkYzQ3Zjdi
OTYwYzBjNDhkNzRiYjY1NGRiNmMxLi45NjdjYThlYWY3NWIxMGRlODAxMGYyMTRkNGVjNjc3MjQ3
ZmU0MmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlv
bnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAK
QEAgLTk3OCw3ICs5NzgsMjIgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRp
b25OZXdGdW5jdGlvbldpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGMKICAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKEpTRnVuY3Rpb246OmNyZWF0ZVdpdGhJbnZhbGlkYXRlZFJlYWxsb2Nh
dGlvbldhdGNocG9pbnQodm0sIHN0YXRpY19jYXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KGZ1bmN0
aW9uRXhlY3V0YWJsZSksIHNjb3BlKSk7CiB9CiAKLQorRW5jb2RlZEpTVmFsdWUgSklUX09QRVJB
VElPTiBvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9u
V2F0Y2hwb2ludChFeGVjU3RhdGUqIGV4ZWMsIEpTU2NvcGUqIHNjb3BlLCBKU0NlbGwqIGZ1bmN0
aW9uRXhlY3V0YWJsZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlKQoreworI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIEFTU0VSVChmdW5jdGlvbkV4ZWN1dGFi
bGUtPmluaGVyaXRzKEZ1bmN0aW9uRXhlY3V0YWJsZTo6aW5mbygpKSk7CisgICAgICAgIFZNJiB2
bSA9IGV4ZWMtPnZtKCk7CisgICAgICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZt
LCBleGVjKTsKKyAgICAgICAgCisgICAgICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSAgSlNGdW5jdGlv
bjo6Y3JlYXRlKHZtLCBzdGF0aWNfY2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihmdW5jdGlvbkV4
ZWN1dGFibGUpLCBzY29wZSk7CisgICAgICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qg
PSBleGVjLT5jYWxsZWUoKS0+Z2xvYmFsT2JqZWN0KCk7CisgICAgICAgIAorICAgICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlV2l0aEludmFsaWRhdGVk
UmVhbGxvY2F0aW9uV2F0Y2hwb2ludCh2bSwgZ2xvYmFsT2JqZWN0LCBmdW5jLCBKU1ZhbHVlOjpk
ZWNvZGUodGhpc1ZhbHVlKSkpOworI2Vsc2UKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc1VuZGVmaW5lZCgpKTsKKyNlbmRpZgorfQorICAgIAogRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNTY29w
ZSogc2NvcGUsIEpTQ2VsbCogZnVuY3Rpb25FeGVjdXRhYmxlLCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUpCiB7CiAjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKQEAgLTk4Nywx
MCArMTAwMiwxMCBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Fy
cm93RnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBKU1Njb3BlKgogICAgIE5hdGl2ZUNhbGxGcmFt
ZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKIAogICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QgPSBleGVjLT5jYWxsZWUoKS0+Z2xvYmFsT2JqZWN0KCk7Ci0gICAgSlNGdW5jdGlvbiog
ZnVuYyA9IEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlKHZtLCBzY29wZSwgc3RhdGljX2Nhc3Q8RnVu
Y3Rpb25FeGVjdXRhYmxlKj4oZnVuY3Rpb25FeGVjdXRhYmxlKSwgZ2xvYmFsT2JqZWN0KTsKLSAg
ICBKU0FycmF5KiBib3VuZEFyZ3MgPSBKU0FycmF5Ojp0cnlDcmVhdGVVbmluaXRpYWxpemVkKHZt
LCBnbG9iYWxPYmplY3QtPmFycmF5U3RydWN0dXJlRm9ySW5kZXhpbmdUeXBlRHVyaW5nQWxsb2Nh
dGlvbihBcnJheVdpdGhVbmRlY2lkZWQpLCAwKTsKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gIEpT
RnVuY3Rpb246OmNyZWF0ZSh2bSwgc3RhdGljX2Nhc3Q8RnVuY3Rpb25FeGVjdXRhYmxlKj4oZnVu
Y3Rpb25FeGVjdXRhYmxlKSwgc2NvcGUpOworCisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShK
U0Fycm93RnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBmdW5jLCBKU1ZhbHVlOjpk
ZWNvZGUodGhpc1ZhbHVlKSkpOwogCi0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU0JvdW5k
RnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBmdW5jLCBKU1ZhbHVlOjpkZWNvZGUo
dGhpc1ZhbHVlKSwgYm91bmRBcmdzLCAwLCAiIikpOwogI2Vsc2UKICAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUT3BlcmF0aW9ucy5oCmluZGV4IDdlZWU1ZWJmN2EzMDQyOTUwZTUyYTY3ZTVkY2I0ZjEw
ZTQ0ZWE1ZjQuLmRmM2I5ZmQzZjNkNjdhZmFlOTdkNWZmMzNkNDY3YTk1MGE1OWM4NDUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCkBAIC0yODEsNiArMjgxLDcg
QEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJheVdpdGhTaXpl
QW5kUHJvZmlsZShFeGVjU3RhdGUqLCBBcnIKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uTmV3RnVuY3Rpb24oRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCopIFdURl9J
TlRFUk5BTDsKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3RnVuY3Rp
b25XaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRjaHBvaW50KEV4ZWNTdGF0ZSosIEpTU2Nv
cGUqLCBKU0NlbGwqKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24oRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCos
IEVuY29kZWRKU1ZhbHVlKSBXVEZfSU5URVJOQUw7CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb25XaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25X
YXRjaHBvaW50KEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSkg
V1RGX0lOVEVSTkFMOwogSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChF
eGVjU3RhdGUqLCBTdHJ1Y3R1cmUqKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvbk5ld1JlZ2V4cChFeGVjU3RhdGUqLCB2b2lkKikgV1RGX0lOVEVS
TkFMOwogdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkhhbmRsZVdhdGNoZG9nVGltZXIoRXhl
Y1N0YXRlKikgV1RGX0lOVEVSTkFMOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
TEludFNsb3dQYXRocy5jcHAKaW5kZXggMDUzNjBhMTRiYTk1MjEwZTliZTEwOGY1ZjYxNzg2MzNi
NzYwN2Q4ZS4uN2E4NTA1ZjI4ZmVjMmNhZTJjNjUzODVjYzA5NGJjZGZjYzI0YWZkOCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCkBAIC0xMDMy
LDEzICsxMDMyLDExIEBAIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3df
ZnVuY19leHApCiAgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBMTElOVF9PUF9DKDQpLmpzVmFsdWUo
KTsKICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZXhlYy0+Y2FsbGVlKCktPmds
b2JhbE9iamVjdCgpOwogICAgIAotICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Fycm93RnVuY3Rp
b246OmNyZWF0ZSh2bSwgc2NvcGUsIGV4ZWN1dGFibGUsIGdsb2JhbE9iamVjdCk7Ci0gICAgCi0g
ICAgSlNBcnJheSogYm91bmRBcmdzID0gSlNBcnJheTo6dHJ5Q3JlYXRlVW5pbml0aWFsaXplZCh2
bSwgZ2xvYmFsT2JqZWN0LT5hcnJheVN0cnVjdHVyZUZvckluZGV4aW5nVHlwZUR1cmluZ0FsbG9j
YXRpb24oQXJyYXlXaXRoVW5kZWNpZGVkKSwgMCk7CisgICAgSlNGdW5jdGlvbiogZnVuYyA9IEpT
RnVuY3Rpb246OmNyZWF0ZSh2bSwgZXhlY3V0YWJsZSwgc2NvcGUpOwogICAgIAogICAgIGNvbnN0
IFN0cmluZyBmdW5jV2l0aG91dE5hbWUgPSAiIjsKICAgICAKLSAgICBMTElOVF9SRVRVUk4oSlNC
b3VuZEZ1bmN0aW9uOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgZnVuYywgdGhpc1ZhbHVlLCBi
b3VuZEFyZ3MsIDAsIGZ1bmNXaXRob3V0TmFtZSkpOworICAgIExMSU5UX1JFVFVSTihKU0Fycm93
RnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBmdW5jLCB0aGlzVmFsdWUpKTsKICNl
bHNlCiAgICAgSlNGdW5jdGlvbiogZnVuYyA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgZXhlY3V0
YWJsZSwgc2NvcGUpOwogICAgIExMSU5UX1JFVFVSTihmdW5jKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwCmluZGV4IDZmYzNlYTE4MDA2
ODk2NDNhYWRkNmM2YTQ5N2VkMGFlNmMyMTExMjAuLmEwMjcxOTYwMzk3YWI3ZDk5NTI0OGIxMmYy
OTVhYjdlM2FlNmQzMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQXJyb3dGdW5jdGlvbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNBcnJvd0Z1bmN0aW9uLmNwcApAQCAtNDEsMjggKzQxLDcwIEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgIAogY29uc3QgQ2xhc3NJbmZvIEpTQXJyb3dGdW5jdGlvbjo6c19pbmZvID0geyAiQXJyb3dG
dW5jdGlvbiIsICZCYXNlOjpzX2luZm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNBcnJvd0Z1
bmN0aW9uKSB9OwogCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycm93RnVuY3Rpb25D
YWxsKEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBKU0Fycm93RnVuY3Rpb24qIGFycm93RnVuY3Rp
b24gPSBqc0Nhc3Q8SlNBcnJvd0Z1bmN0aW9uKj4oZXhlYy0+Y2FsbGVlKCkpOworICAgICAgICAK
KyAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmdzOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBleGVjLT5hcmd1bWVudENvdW50KCk7ICsraSkKKyAgICAgICAgYXJncy5hcHBlbmQoZXhl
Yy0+dW5jaGVja2VkQXJndW1lbnQoaSkpOworICAgIAorICAgIEpTT2JqZWN0KiBmdW5jdGlvbiA9
IGFycm93RnVuY3Rpb24tPmFycm93RnVuY3Rpb24oKTsKKyAgICBDYWxsRGF0YSBjYWxsRGF0YTsK
KyAgICBDYWxsVHlwZSBjYWxsVHlwZSA9IGdldENhbGxEYXRhKGZ1bmN0aW9uLCBjYWxsRGF0YSk7
CisgICAgQVNTRVJUKGNhbGxUeXBlICE9IENhbGxUeXBlTm9uZSk7CisgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShjYWxsKGV4ZWMsIGZ1bmN0aW9uLCBjYWxsVHlwZSwgY2FsbERhdGEsIGFycm93
RnVuY3Rpb24tPmJvdW5kVGhpcygpLCBhcmdzKSk7Cit9CisgICAgCiB2b2lkIEpTQXJyb3dGdW5j
dGlvbjo6ZGVzdHJveShKU0NlbGwqIGNlbGwpCiB7CiAgICAgc3RhdGljX2Nhc3Q8SlNBcnJvd0Z1
bmN0aW9uKj4oY2VsbCktPkpTQXJyb3dGdW5jdGlvbjo6fkpTQXJyb3dGdW5jdGlvbigpOwogfQor
ICAgIAorSlNBcnJvd0Z1bmN0aW9uOjpKU0Fycm93RnVuY3Rpb24oVk0mIHZtLCBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNPYmplY3QqIGFycm93
RnVuY3Rpb24sIEpTVmFsdWUgYm91bmRUaGlzKQorICAgIDogQmFzZSh2bSwgZ2xvYmFsT2JqZWN0
LCBzdHJ1Y3R1cmUpCisgICAgLCBtX2JvdW5kVGhpcyh2bSwgdGhpcywgYm91bmRUaGlzKQorICAg
ICwgbV9hcnJvd0Z1bmN0aW9uKHZtLCB0aGlzLCBhcnJvd0Z1bmN0aW9uKQoreworfQogCi1KU0Fy
cm93RnVuY3Rpb246OkpTQXJyb3dGdW5jdGlvbihWTSYgdm0sIEpTU2NvcGUqIHNjb3BlLCBGdW5j
dGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIFN0cnVjdHVyZSogc3RydWN0dXJlKQotICAgIDog
QmFzZSh2bSwgZXhlY3V0YWJsZSwgc2NvcGUsIHN0cnVjdHVyZSkKK0pTQXJyb3dGdW5jdGlvbiog
SlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGVXaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRjaHBv
aW50KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIGFycm93
RnVuY3Rpb24sIEpTVmFsdWUgYm91bmRUaGlzKQogeworICAgIEFTU0VSVChqc0Nhc3Q8SlNGdW5j
dGlvbio+KGFycm93RnVuY3Rpb24pLT5qc0V4ZWN1dGFibGUoKS0+c2luZ2xldG9uRnVuY3Rpb24o
KS0+aGFzQmVlbkludmFsaWRhdGVkKCkpOworICAgIHJldHVybiBjcmVhdGUodm0sIGdsb2JhbE9i
amVjdCwgYXJyb3dGdW5jdGlvbiwgYm91bmRUaGlzKTsKK30KKworSlNBcnJvd0Z1bmN0aW9uKiBK
U0Fycm93RnVuY3Rpb246OmNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTT2JqZWN0KiBhcnJvd0Z1bmN0aW9uLCBKU1ZhbHVlIGJvdW5kVGhpcykKK3sKKyAgICBO
YXRpdmVFeGVjdXRhYmxlKiBleGVjdXRhYmxlID0gdm0uZ2V0SG9zdEZ1bmN0aW9uKGFycm93RnVu
Y3Rpb25DYWxsLCBjYWxsSG9zdEZ1bmN0aW9uQXNDb25zdHJ1Y3Rvcik7CisgICAgSlNBcnJvd0Z1
bmN0aW9uKiBmdW5jdGlvbiA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEpTQXJyb3dGdW5j
dGlvbj4odm0uaGVhcCkpIEpTQXJyb3dGdW5jdGlvbih2bSwgZ2xvYmFsT2JqZWN0LCBnbG9iYWxP
YmplY3QtPmFycm93RnVuY3Rpb25TdHJ1Y3R1cmUoKSwgYXJyb3dGdW5jdGlvbiwgYm91bmRUaGlz
KTsKKyAgICBmdW5jdGlvbi0+ZmluaXNoQ3JlYXRpb24odm0sIGV4ZWN1dGFibGUsIDAsICIiKTsK
KworICAgIHJldHVybiBmdW5jdGlvbjsKIH0KICAgICAKLXZvaWQgSlNBcnJvd0Z1bmN0aW9uOjpm
aW5pc2hDcmVhdGlvbihWTSYgdm0pCit2b2lkIEpTQXJyb3dGdW5jdGlvbjo6ZmluaXNoQ3JlYXRp
b24oVk0mIHZtLCBOYXRpdmVFeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBpbnQgbGVuZ3RoLCBjb25z
dCBTdHJpbmcmIG5hbWUpCiB7Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwotLy8gUHJv
dG90eXBlIG9mIGFycm93IGZ1bmN0aW9uIGlzIHVuZGVmaW5lZAorICAgIEJhc2U6OmZpbmlzaENy
ZWF0aW9uKHZtLCBleGVjdXRhYmxlLCBsZW5ndGgsIG5hbWUpOworICAgIEFTU0VSVChpbmhlcml0
cyhpbmZvKCkpKTsKKyAgICAKKyAgICAvLyBQcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24gaXMg
dW5kZWZpbmVkCiAgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUs
IGpzVW5kZWZpbmVkKCksIERvbnREZWxldGUgfCBSZWFkT25seSB8IERvbnRFbnVtKTsKKyAgICBw
dXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnRoaXNJZGVudGlmaWVyLCBib3VuZFRoaXMo
KSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgRG9udEVudW0pOwogfQorCiAgICAgCiB2b2lkIEpT
QXJyb3dGdW5jdGlvbjo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2
aXNpdG9yKQogewogICAgIEpTQXJyb3dGdW5jdGlvbiogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0Fy
cm93RnVuY3Rpb24qPihjZWxsKTsKICAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKHRoaXNP
YmplY3QsIGluZm8oKSk7CiAgICAgQmFzZTo6dmlzaXRDaGlsZHJlbih0aGlzT2JqZWN0LCB2aXNp
dG9yKTsKKworICAgIC8vIEZpeG1lOiBtX2Fycm93RnVuY3Rpb24gYWxyZWFkeSByZW1vdmVkIGJ5
IEdDLCBiZWNhdXNlIGl0IGNyZWF0ZWQgaW4gYmVmb3JlIHJ1biBKU0Fycm93RnVuY3Rpb246OmNy
ZWF0ZSBtZXRob2QKKyAgICAvLyBJdCBpcyBwb3NzaWJsZSBjYXNlIHdoZW4gbV9hcnJvd0Z1bmN0
aW9uIGlzIHJlbW92ZWQgYnV0IHdyYXBwZXIgb2JqZWN0IGlzIHN0aWxsIGV4aXN0cworICAgIC8v
ICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9hcnJvd0Z1bmN0aW9uKTsKKyAgICAKKyAg
ICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9ib3VuZFRoaXMpOwogfQogICAgIAogQ29u
c3RydWN0VHlwZSBKU0Fycm93RnVuY3Rpb246OmdldENvbnN0cnVjdERhdGEoSlNDZWxsKiBjZWxs
LCBDb25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uaAppbmRleCA3ODAxNWQzODcyMWNjYTQ0YWUyZjY1
Y2I2ZDc3YjZhNjUyMjA5NjVkLi5lOTdiYzFhNWZiZGY2ZjhiN2FjNzZkZmVmMDA5ZTllZWVmNzlm
OGYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVu
Y3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rp
b24uaApAQCAtMzMsMjAgKzMzLDIzIEBACiAKIG5hbWVzcGFjZSBKU0MgewogCitFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIGFycm93RnVuY3Rpb25DYWxsKEV4ZWNTdGF0ZSopOworICAgIAog
Y2xhc3MgSlNBcnJvd0Z1bmN0aW9uIDogcHVibGljIEpTRnVuY3Rpb24gewogcHVibGljOgogICAg
IHR5cGVkZWYgSlNGdW5jdGlvbiBCYXNlOwotICAgICAgICAKLSAgICBzdGF0aWMgSlNBcnJvd0Z1
bmN0aW9uKiBjcmVhdGUoVk0mIHZtLCBKU1Njb3BlKiBzY29wZSwgRnVuY3Rpb25FeGVjdXRhYmxl
KiBleGVjdXRhYmxlLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQorCisgICAgc3RhdGlj
IEpTQXJyb3dGdW5jdGlvbiogY3JlYXRlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCos
IEpTVmFsdWUpOworICAgIHN0YXRpYyBKU0Fycm93RnVuY3Rpb24qIGNyZWF0ZVdpdGhJbnZhbGlk
YXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0
KiwgSlNWYWx1ZSk7CisKKyAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2VsbCopOworICAgIAor
ICAgIHN0YXRpYyBzaXplX3QgYWxsb2NhdGlvblNpemUoc2l6ZV90IGlubGluZUNhcGFjaXR5KQog
ICAgIHsKLSAgICAgICAgSlNBcnJvd0Z1bmN0aW9uKiBmdW5jdGlvbiA9IG5ldyAoTm90TnVsbCwg
YWxsb2NhdGVDZWxsPEpTQXJyb3dGdW5jdGlvbj4odm0uaGVhcCkpIEpTQXJyb3dGdW5jdGlvbih2
bSwgc2NvcGUsIGV4ZWN1dGFibGUsIGdsb2JhbE9iamVjdC0+YXJyb3dGdW5jdGlvblN0cnVjdHVy
ZSgpKTsKLSAgICAgICAgQVNTRVJUKGZ1bmN0aW9uLT5zdHJ1Y3R1cmUoKS0+Z2xvYmFsT2JqZWN0
KCkpOwotICAgICAgICBmdW5jdGlvbi0+ZmluaXNoQ3JlYXRpb24odm0pOwotICAgICAgICByZXR1
cm4gZnVuY3Rpb247CisgICAgICAgIEFTU0VSVF9VTlVTRUQoaW5saW5lQ2FwYWNpdHksICFpbmxp
bmVDYXBhY2l0eSk7CisgICAgICAgIHJldHVybiBzaXplb2YoSlNBcnJvd0Z1bmN0aW9uKTsKICAg
ICB9CiAgICAgCi0gICAgc3RhdGljIHZvaWQgZGVzdHJveShKU0NlbGwqKTsKLSAgICAgICAgCiAg
ICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUpCiAgICAgewogICAgICAgICBBU1NF
UlQoZ2xvYmFsT2JqZWN0KTsKQEAgLTU0LDE4ICs1NywyOSBAQCBwdWJsaWM6CiAgICAgfQogICAg
ICAgICAKICAgICBzdGF0aWMgQ29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCos
IENvbnN0cnVjdERhdGEmKTsKLSAgICAgICAgCisKKyAgICBKU09iamVjdCogYXJyb3dGdW5jdGlv
bigpIHsgcmV0dXJuIG1fYXJyb3dGdW5jdGlvbi5nZXQoKTsgfQorICAgIEpTVmFsdWUgYm91bmRU
aGlzKCkgeyByZXR1cm4gbV9ib3VuZFRoaXMuZ2V0KCk7IH0KKyAgICAKICAgICBERUNMQVJFX0lO
Rk87CisgICAgCisgICAgc3RhdGljIGlubGluZSBwdHJkaWZmX3Qgb2Zmc2V0T2ZUaGlzVmFsdWUo
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIE9CSkVDVF9PRkZTRVRPRihKU0Fycm93RnVuY3Rpb24s
IG1fYm91bmRUaGlzKTsKKyAgICB9CisgICAgCisgICAgY29uc3Qgc3RhdGljIHVuc2lnbmVkIFN0
cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzSGFzSW5zdGFuY2UgfCBCYXNlOjpTdHJ1Y3R1cmVGbGFn
czsKIAogcHJvdGVjdGVkOgotICAgIGNvbnN0IHN0YXRpYyB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFn
cyA9IE92ZXJyaWRlc0hhc0luc3RhbmNlIHwgQmFzZTo6U3RydWN0dXJlRmxhZ3M7Ci0gICAgICAg
IAogICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsK
ICAgICAgICAgCiBwcml2YXRlOgotICAgIEpTQXJyb3dGdW5jdGlvbihWTSYsIEpTU2NvcGUqLCBG
dW5jdGlvbkV4ZWN1dGFibGUqLCBTdHJ1Y3R1cmUqKTsKKyAgICBKU0Fycm93RnVuY3Rpb24oVk0m
LCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEpTT2JqZWN0KiwgSlNWYWx1ZSk7CiAKLSAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJik7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYs
IE5hdGl2ZUV4ZWN1dGFibGUqLCBpbnQsIGNvbnN0IFN0cmluZyYpOworICAgIAorICAgIFdyaXRl
QmFycmllcjxVbmtub3duPiBtX2JvdW5kVGhpczsKKyAgICBXcml0ZUJhcnJpZXI8SlNPYmplY3Q+
IG1fYXJyb3dGdW5jdGlvbjsKIH07CiAgICAgCiB9IC8vIG5hbWVzcGFjZSBKU0MKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3Bh
cmFtdGVyLTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tYXNwYXJhbXRlci0xLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzNjFiOGRiMDIyODI3OTZkMWJiMDRm
NWRiZDQwMTliNzI4OWYyY2MKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci0xLmpzCkBAIC0wLDAgKzEs
OCBAQAorLy8gSW5zcGlyZWQgYnkgbW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rp
b24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0
ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICIn
LCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit0ZXN0Q2FzZSgiIiArIFsx
LCAyLCAzLCA0XS5tYXAoeCA9PiB4LCAzMiksICIxLDIsMyw0IiwgIkVycm9yOiBhcnJvdyBmdW5j
dGlvbiBhcyB0aGUgcGFyYW10ZXJzLiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzcGFyYW10ZXItMi5qcyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3BhcmFtdGVyLTIuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uM2YyOTMyZmMxNDRkMzZjNzBmMDYxZjhlNjg4ODgzZTQ0YWZjZmQxOQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1hc3BhcmFtdGVyLTIuanMKQEAgLTAsMCArMSwxNSBAQAorLy8gSW5zcGlyZWQgYnkg
bW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQs
IG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNz
YWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFs
ICsgIiciOworICB9Cit9OworCit2YXIgZiA9IGZ1bmN0aW9uIChjbCwgcGFyYW10ZXIpIHsgcmV0
dXJuIGNsKHBhcmFtdGVyKTsgfTsKK3ZhciBmMiA9IGZ1bmN0aW9uIChjbCwgcGFyYW10ZXIxLCBw
YXJhbXRlcjIpIHsgcmV0dXJuIGNsKHBhcmFtdGVyMSwgcGFyYW10ZXIyKTsgfTsKKworcmVzdWx0
ID0gZih4PT57cmV0dXJuIHggKiAyNTt9LCAxMjEpOwordGVzdENhc2UocmVzdWx0LCAyNSoxMjEg
LCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRo
IGJvZHkgYXMgYmxvY2s6IGYoeCA9PiB7cmV0dXJuIHggKiAyNTt9LCAxMjEpIik7CisKK3Jlc3Vs
dCA9IGYyKCh4LCB5KT0+e3JldHVybiB4ICogeTt9LCAxNCwgMTIpOwordGVzdENhc2UocmVzdWx0
LCAxNCoxMiAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0
aW9uIHdpdGggYm9keSBhcyBibG9jazogZigoeCwgeSk9PntyZXR1cm4geCAqIHk7fSwgMTQsIDEy
MSkpIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tYXNwYXJhbXRlci5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvYXJyb3dmdW5jdGlvbi1hc3BhcmFtdGVyLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA2MzYxYjhkYjAyMjgyNzk2ZDFiYjA0ZjVkYmQ0MDE5YjcyODlmMmNjLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3BhcmFtdGVyLmpzCisrKyAvZGV2L251
bGwKQEAgLTEsOCArMCwwIEBACi0vLyBJbnNwaXJlZCBieSBtb3ppbGxhIHRlc3RzCi12YXIgdGVz
dENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgewotICBpZiAoYWN0
dWFsICE9PSBleHBlY3RlZCkgewotICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiAr
IGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7Ci0gIH0KLX07Ci0KLXRl
c3RDYXNlKCIiICsgWzEsIDIsIDMsIDRdLm1hcCh4ID0+IHgsIDMyKSwgIjEsMiwzLDQiLCAiRXJy
b3I6IGFycm93IGZ1bmN0aW9uIGFzIHRoZSBwYXJhbXRlcnMuIik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYm91bmQuanMgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYm91bmQuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYTczMjBmNGVjNzg4ZWExNDkwYWZjNzJlYzEyNTFlZTBhNmUxZjdiNgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1ib3VuZC5qcwpAQCAtMCwwICsxLDE2IEBACit2YXIgcmVzdWx0OworCisgdmFyIHRl
c3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFj
dHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIg
KyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2
YXIgZCA9IHsKKyAgeCA6ICJiYXIiLAorICB5IDogZnVuY3Rpb24oKSB7IHJldHVybiB6ID0+IHRo
aXMueCArIHo7IH0KK307CisKK3ZhciBlID0geyB4IDogImJheiIgfTsKKwordGVzdENhc2UoZC55
KCkuYmluZChlLCAibGV5IikoKSwgImJhcmxleSIsICJFcnJvcjogZnVuY3Rpb24gYmluZCBzaG91
bGRuJ3QgY2hhbmdlIGxleGljYWwgYmluZGluZyBvZiB0aGUgYXJyb3cgZnVuY3Rpb24iKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1jYWxsLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0
aW9uLWNhbGwuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjRmOWFhNTA0ZDcwZDcwZDY4Y2RhYTVhNDgyYTQ2NTBh
NDVmZGY3YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvYXJyb3dmdW5jdGlvbi1jYWxsLmpzCkBAIC0wLDAgKzEsMTggQEAKK3ZhciByZXN1bHQ7
CisKKyB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkg
eworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBF
eHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7Cisg
IH0KK307CisKK3ZhciBkID0geworICB4IDogImZvbyIsCisgIHkgOiBmdW5jdGlvbigpIHsgcmV0
dXJuICgpID0+IHRoaXMueDsgfQorfTsKKwordmFyIGUgPSB7IHggOiAiYmFyIiB9OworCit0ZXN0
Q2FzZShkLnkoKS5jYWxsKGUpLCAiZm9vIiwgIkVycm9yOiBmdW5jdGlvbiBjYWxsIHNob3Vsbid0
IGNoYW5nZSB0aGUgbGV4aWNhbCBiaW5kaW5nIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiIpOworCit0
ZXN0Q2FzZShkLnkoKS5hcHBseShlKSwgImZvbyIsICJFcnJvcjogZnVuY3Rpb24gYXBwbHkgc2hv
dWxuJ3QgY2hhbmdlIHRoZSBsZXhpY2FsIGJpbmRpbmcgb2YgdGhlIGFycm93IGZ1bmN0aW9uIik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tY29uc3RydWN0b3IuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L2Fycm93ZnVuY3Rpb24tY29uc3RydWN0b3IuanMKaW5kZXggOTUwN2I1MzY0ZjA0MTEzNTg1ZWFi
YThjMjRhNDdhNGExMGQxNmI3Yi4uYjU4YjE2ZDdiNWUyOTc0NGMzM2Y3ODZiNGJmMTZiZjQ0ZmVi
MWUyOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJv
d2Z1bmN0aW9uLWNvbnN0cnVjdG9yLmpzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1jb25zdHJ1Y3Rvci5qcwpAQCAtMTUsNCArMTUsNCBAQCBj
YXRjaCAoZSkgewogICBlcnJvck9uQ3JlYXRlID0gdHJ1ZTsKIH0KIAotdGVzdENhc2UoZXJyb3JP
bkNyZWF0ZSwgdHJ1ZSwgIkVycm9yOiBObyBlcnJvciBkdXJpbmcgcnVuIG5ldyBBcnJvd0Z1bmN0
aW9uIik7Cit0ZXN0Q2FzZShlcnJvck9uQ3JlYXRlLCB0cnVlLCAiRXJyb3I6IE5vIGV4Y2VwdGlv
biBkdXJpbmcgcnVuIG5ldyBBcnJvd0Z1bmN0aW9uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC1hcmd1bWVudHMu
anMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4
aWNhbC1hcmd1bWVudHMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWViNjc2M2E2NTI2OTgxNjVjMGZkYjJkOGJj
MjA3M2QyYmNkM2IxZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLWFyZ3VtZW50cy5qcwpAQCAtMCwwICsx
LDE0IEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2Fn
ZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAi
LiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7
CisgIH0KK307CisKK2Z1bmN0aW9uIGFmQ3JlYXRvcigpIHsKKyAgICByZXR1cm4gYSA9PiBhcmd1
bWVudHNbMF07Cit9CisKK3ZhciBhZiA9IGFmQ3JlYXRvcigxMik7CisKKy8vRml4bWU6IGxleGlj
YWwgYmluZCBvZiB0aGUgYXJndW1lbnRzIGlzIG5vdCBpbXBsZW1lbnRlZAorLy90ZXN0Q2FzZShh
Zig2KSwgMTIsICJFcnJvcjogYXJndW1lbnRzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lk
ZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMtMS5qcyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMt
MS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mNTUzMWY1NzU2MmYyODY4ZWVhZDM5ZmNkNjZlZTUwNzhiYWNlZDFi
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9h
cnJvd2Z1bmN0aW9uLWxleGljYWwtdGhpcy0xLmpzCkBAIC0wLDAgKzEsMTcgQEAKK3ZhciByZXN1
bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2Fn
ZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAi
LiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7
CisgIH0KK307CisKK2Z1bmN0aW9uIERvZyhuYW1lKSB7CisgIHRoaXMubmFtZSA9IG5hbWU7Cisg
IHRoaXMuZ2V0TmFtZSA9ICgpID0+IGV2YWwoInRoaXMubmFtZSIpOworICB0aGlzLmdldE5hbWVI
YXJkID0gKCkgPT4gZXZhbCgiKCgpID0+IHRoaXMubmFtZSkoKSIpOworfQorCit2YXIgZCA9IG5l
dyBEb2coIk1heCIpOwordGVzdENhc2UoZC5nZXROYW1lKCksIGQubmFtZSwgIkVycm9yOiB0aGlz
IGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzEi
KTsKK3Rlc3RDYXNlKGQuZ2V0TmFtZUhhcmQoKSwgZC5uYW1lLCAiRXJyb3I6IHRoaXMgaXMgbm90
IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMiIpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LWxleGljYWwtdGhpcy0yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9h
cnJvd2Z1bmN0aW9uLWxleGljYWwtdGhpcy0yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk4YjUzYjI5OGJiYjBi
NTNlNDA3MWM5OTdkODEyMzUxMWFmNjM5ZDkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTIuanMK
QEAgLTAsMCArMSwzMyBAQAordmFyIHJlc3VsdDsKKworIHZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9u
IChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVk
KSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywg
YnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGFmT2JqTGV4QmluZDIg
PSBmdW5jdGlvbiAoKSB7CisgIHRoaXMuZnVuYyA9ICgpID0+IHRoaXM7Cit9OworCit2YXIgYWZP
YmpMZXhCaW5kMkluc3RhbmNlID0gbmV3IGFmT2JqTGV4QmluZDIoKTsKKwordGVzdENhc2UoYWZP
YmpMZXhCaW5kMkluc3RhbmNlLmZ1bmMoKSA9PT0gYWZPYmpMZXhCaW5kMkluc3RhbmNlLCB0cnVl
LCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbiAjMiIpOworCit2YXIgb2JqID0geworICBtZXRob2Q6IGZ1bmN0aW9uICgpIHsK
KyAgICByZXR1cm4gKCkgPT4gdGhpczsKKyAgfQorfTsKKwordGVzdENhc2Uob2JqLm1ldGhvZCgp
KCkgPT09IG9iaiwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGlu
c2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzMiKTsKKwordmFyIGZha2UgPSB7c3RlYWw6IG9i
ai5tZXRob2QoKX07Cit0ZXN0Q2FzZShmYWtlLnN0ZWFsKCkgPT09IG9iaiwgdHJ1ZSwgIkVycm9y
OiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gIzQiKTsKKworCit2YXIgcmVhbCA9IHtib3Jyb3c6IG9iai5tZXRob2R9OwordGVzdENhc2Uo
cmVhbC5ib3Jyb3coKSgpID09PSByZWFsLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGlj
YWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNSIpOwordGVzdENhc2Uo
cmVhbC5ib3Jyb3coKSgpID09PSByZWFsLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGlj
YWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNiIpOwordGVzdENhc2Uo
cmVhbC5ib3Jyb3coKSgpID09PSByZWFsLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGlj
YWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNyIpOwordGVzdENhc2Uo
cmVhbC5ib3Jyb3coKSgpID09PSByZWFsLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGlj
YWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjOCIpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGlj
YWx0aGlzLTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tbGV4aWNhbHRoaXMtMS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjU1
MzFmNTc1NjJmMjg2OGVlYWQzOWZjZDY2ZWU1MDc4YmFjZWQxYi4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbHRoaXMtMS5qcworKysgL2Rldi9udWxsCkBAIC0x
LDE3ICswLDAgQEAKLXZhciByZXN1bHQ7Ci0KLSB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0
dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgewotICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgewot
ICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3
YXMgJyIgKyBhY3R1YWwgKyAiJyI7Ci0gIH0KLX07Ci0KLWZ1bmN0aW9uIERvZyhuYW1lKSB7Ci0g
IHRoaXMubmFtZSA9IG5hbWU7Ci0gIHRoaXMuZ2V0TmFtZSA9ICgpID0+IGV2YWwoInRoaXMubmFt
ZSIpOwotICB0aGlzLmdldE5hbWVIYXJkID0gKCkgPT4gZXZhbCgiKCgpID0+IHRoaXMubmFtZSko
KSIpOwotfQotCi12YXIgZCA9IG5ldyBEb2coIk1heCIpOwotdGVzdENhc2UoZC5nZXROYW1lKCks
IGQubmFtZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0
aGUgYXJyb3cgZnVuY3Rpb24gIzEiKTsKLXRlc3RDYXNlKGQuZ2V0TmFtZUhhcmQoKSwgZC5uYW1l
LCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbiAjMiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWx0aGlzLmpzIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWx0aGlzLmpzCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA2MTJmYmFmODA0NDgyYzc3NjFjMzdkZDY5M2E4NDg1ZTU1MTE1
NzNlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsdGhpcy5q
cworKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLXZhciByZXN1bHQ7Ci0KLSB2YXIgdGVz
dENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgewotICBpZiAoYWN0
dWFsICE9PSBleHBlY3RlZCkgewotICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiAr
IGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7Ci0gIH0KLX07Ci0KLXZh
ciBhZk9iakxleEJpbmQyID0gZnVuY3Rpb24gKCkgewotICB0aGlzLmZ1bmMgPSAoKSA9PiB0aGlz
OwotfTsKLQotdmFyIGFmT2JqTGV4QmluZDJJbnN0YW5jZSA9IG5ldyBhZk9iakxleEJpbmQyKCk7
Ci0KLXRlc3RDYXNlKGFmT2JqTGV4QmluZDJJbnN0YW5jZS5mdW5jKCkgPT09IGFmT2JqTGV4Qmlu
ZDJJbnN0YW5jZSwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGlu
c2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzIiKTsKLQotdmFyIG9iaiA9IHsKLSAgbWV0aG9k
OiBmdW5jdGlvbiAoKSB7Ci0gICAgcmV0dXJuICgpID0+IHRoaXM7Ci0gIH0KLX07Ci0KLXRlc3RD
YXNlKG9iai5tZXRob2QoKSgpID09PSBvYmosIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4
aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMzIik7Ci0KLXZhciBm
YWtlID0ge3N0ZWFsOiBvYmoubWV0aG9kKCl9OwotdGVzdENhc2UoZmFrZS5zdGVhbCgpID09PSBv
YmosIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2Yg
dGhlIGFycm93IGZ1bmN0aW9uICM0Iik7Ci0KLQotLy8gRml4bWU6IGZvbGxvd2luZyB0ZXN0IGZh
aWxzIGluIGRmZy1lYWdlci1uby1jaml0LXZhbGlkYXRlICYgZnRsLWVhZ2VyLW5vLWNqaXQgbW9k
ZQotdmFyIHJlYWwgPSB7Ym9ycm93OiBvYmoubWV0aG9kfTsKLXRlc3RDYXNlKHJlYWwuYm9ycm93
KCkoKSA9PT0gcmVhbCwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVk
IGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzUiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAtMS5qcyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAtMS5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4wN2ExZjBhNDljYjE2ODYzYzU5MjEzNjFmMGFkYjFlMTRlYzliNjVhCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJv
d2Z1bmN0aW9uLXJ1bi0xMC0xLmpzCkBAIC0wLDAgKzEsMjQgQEAKK3ZhciB0ZXN0Q2FzZSA9IGZ1
bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4
cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQg
KyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKworZnVuY3Rpb24gcnVu
KGNvdW50KSB7CisgIHZhciByZXN1bHQgPSB0cnVlOworICBmb3IodmFyIGk9MDsgaTxjb3VudDsg
aSsrKSB7CisgICAgdmFyIE9iaiA9IGZ1bmN0aW9uIChuYW1lKSB7CisgICAgICB0aGlzLm5hbWUg
PSBuYW1lOworICAgICAgdGhpcy5nZXROYW1lID0gKCkgPT4gdGhpcy5uYW1lOworICAgIH07CisK
KyAgICB2YXIgb2JqID0gbmV3IE9iaigiSXRlbSIgKyBpKTsKKyAgICBpZiAob2JqLm5hbWUgIT09
IG9iai5nZXROYW1lKCkpIHsKKyAgICAgIHJlc3VsdCA9IGZhbHNlOworICAgIH0KKyAgfQorICBy
ZXR1cm4gcmVzdWx0OworfQorCit0ZXN0Q2FzZShydW4oMSksIHRydWUsICJFcnJvcjogRXJyb3I6
IGR1cmluZyBleGVjdXRpb24gb2YgYXJyb3cgZnVuY3Rpb24gb25lIHRpbWUiKTsKK3Rlc3RDYXNl
KHJ1bigxMCksIHRydWUsICJFcnJvcjogRXJyb3I6IGR1cmluZyBleGVjdXRpb24gb2YgYXJyb3cg
ZnVuY3Rpb24gMTAgdGltZXMiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAtMi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAtMi5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
ZGRjZGIzYzcwYTFiMjdjM2RiYjUyMzgwOTU1ZjUzNTNkNzY3NDI1Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0x
MC0yLmpzCkBAIC0wLDAgKzEsMjUgQEAKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWws
IGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAg
dGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAn
IiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKworZnVuY3Rpb24gcnVuKGNvdW50KSB7CisgIHZh
ciByZXN1bHQgPSB0cnVlOworICBmb3IodmFyIGk9MDsgaTxjb3VudDsgaSsrKSB7CisgICAgdmFy
IE9iaiA9IGZ1bmN0aW9uIChuYW1lKSB7CisgICAgICB0aGlzLm5hbWUgPSBuYW1lOworICAgICAg
dGhpcy5nZXROYW1lID0gKCkgPT4gZXZhbCgidGhpcy5uYW1lIik7OworICAgIH07CisKKworICAg
IHZhciBvYmogPSBuZXcgT2JqKCJJdGVtIiArIGkpOworICAgIGlmIChvYmoubmFtZSAhPT0gb2Jq
LmdldE5hbWUoKSkgeworICAgICAgcmVzdWx0ID0gZmFsc2U7CisgICAgfQorICB9CisgIHJldHVy
biByZXN1bHQ7Cit9CisKK3Rlc3RDYXNlKHJ1bigxKSwgdHJ1ZSwgIkVycm9yOiBkdXJpbmcgZXhl
Y3V0aW9uIG9mIGFycm93IGZ1bmN0aW9uIG9uZSB0aW1lIik7Cit0ZXN0Q2FzZShydW4oMTApLCB0
cnVlLCAiRXJyb3I6IGR1cmluZyBleGVjdXRpb24gb2YgYXJyb3cgZnVuY3Rpb24gMTAgdGltZXMi
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1ydW4tMTAwMDAtMS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAwMDAtMS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZTVmNmJjODZiZDMx
NDUxYjAxY2EyN2QwYjk3MjBiNTdlOGQ2MDUxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMDAwMC0xLmpzCkBA
IC0wLDAgKzEsMjMgQEAKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVk
LCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVz
c2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVh
bCArICInIjsKKyAgfQorfTsKKworZnVuY3Rpb24gcnVuKGNvdW50KSB7CisgIHZhciByZXN1bHQg
PSB0cnVlOworICBmb3IodmFyIGk9MDsgaTxjb3VudDsgaSsrKSB7CisgICAgdmFyIE9iaiA9IGZ1
bmN0aW9uIChuYW1lKSB7CisgICAgICB0aGlzLm5hbWUgPSBuYW1lOworICAgICAgdGhpcy5nZXRO
YW1lID0gKCkgPT4gdGhpcy5uYW1lOworICAgIH07CisKKyAgICB2YXIgb2JqID0gbmV3IE9iaigi
SXRlbSIgKyBpKTsKKyAgICBpZiAob2JqLm5hbWUgIT09IG9iai5nZXROYW1lKCkpIHsKKyAgICAg
IHJlc3VsdCA9IGZhbHNlOworICAgIH0KKyAgfQorICByZXR1cm4gcmVzdWx0OworfQorCit0ZXN0
Q2FzZShydW4oMTAwMDApLCB0cnVlLCAiRXJyb3I6IEVycm9yOiBkdXJpbmcgZXhlY3V0aW9uIG9m
IGFycm93IGZ1bmN0aW9uIDEwMDAwIHRpbWVzIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwMDAwLTIuanMgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwMDAwLTIu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOTUzMGYyYzFkNWE3ZjU1Y2U0NmI4YmU2OTkwOGI0YmMyMWUwNTI3Ygot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJy
b3dmdW5jdGlvbi1ydW4tMTAwMDAtMi5qcwpAQCAtMCwwICsxLDIzIEBACit2YXIgdGVzdENhc2Ug
PSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9
PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVj
dGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK2Z1bmN0aW9u
IHJ1bihjb3VudCkgeworICB2YXIgcmVzdWx0ID0gdHJ1ZTsKKyAgZm9yKHZhciBpPTA7IGk8Y291
bnQ7IGkrKykgeworICAgIHZhciBPYmogPSBmdW5jdGlvbiAobmFtZSkgeworICAgICAgdGhpcy5u
YW1lID0gbmFtZTsKKyAgICAgIHRoaXMuZ2V0TmFtZSA9ICgpID0+IGV2YWwoInRoaXMubmFtZSIp
OzsKKyAgICB9OworCisgICAgdmFyIG9iaiA9IG5ldyBPYmooIkl0ZW0iICsgaSk7CisgICAgaWYg
KG9iai5uYW1lICE9PSBvYmouZ2V0TmFtZSgpKSB7CisgICAgICByZXN1bHQgPSBmYWxzZTsKKyAg
ICB9CisgIH0KKyAgcmV0dXJuIHJlc3VsdDsKK30KKwordGVzdENhc2UocnVuKDEwMDAwKSwgdHJ1
ZSwgIkVycm9yOiBFcnJvcjogZHVyaW5nIGV4ZWN1dGlvbiBvZiBhcnJvdyBmdW5jdGlvbiAxMDAw
MCB0aW1lcyIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9hcnJvd2Z1bmN0aW9uLXN5bnRheC5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvYXJyb3dmdW5jdGlvbi1zeW50YXguanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGZlMTFkNWJlZTBkYmQ1
NTY0OGFjNDNkZmZjZTRlNGUyZTkwZTI4OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1zeW50YXguanMKQEAgLTAsMCAr
MSwxMTYgQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFs
LCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAg
IHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMg
JyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBhZjAgPSB2ID0+IHYgKyAxOwordGVz
dENhc2UoYWYwKDEwKSwgMTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbjogdiA9PiB2ICsgMSIpOworCit2YXIgYWYxID0gKHYpID0+IHYgKiAyOwor
dGVzdENhc2UoYWYxKDEwKSwgMjAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbjogKHYpID0+IHYgKyAxIik7CisKK3ZhciBhZjIgPSAoKSA9PiAxMDAw
OwordGVzdENhc2UoYWYyKDEyMTIpLCAxMDAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICgpID0+IDEwMDAiKTsKKwordmFyIGEgPSAxNTE7Cit2
YXIgYWYyXzEgPSAoKSA9PiBhOwordGVzdENhc2UoYWYyXzEoMTIxKSwgYSAsIkVycm9yOiBOb3Qg
Y29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAoKSA9PiB2YXJpYWJsZSIp
OworCit2YXIgYWYzID0gKHYsIHgpID0+IHYgKyB4OwordGVzdENhc2UoYWYzKDExLDEyKSwgMjMg
LCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKHgs
IHkpID0+IHggKyB5Iik7CisKK3ZhciBhZndyYXBwZXIgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVy
KSB7IHJldHVybiBjbChwYXJhbXRlcik7IH07CisKK3Jlc3VsdCA9IGFmd3JhcHBlcih4ID0+IDEy
MzQpOwordGVzdENhc2UocmVzdWx0LCAxMjM0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjKSIpOworCityZXN1
bHQgPSBhZndyYXBwZXIoeCA9PiAxMjM0LCAyMzQ1KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIzNCAs
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBh
cmFtdGVyOiBmKHggPT4gYywgeSkiKTsKKworcmVzdWx0ID0gYWZ3cmFwcGVyKHggPT4gMTIxICsg
MjMyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzUzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjMSArIGMyKSIpOwor
CityZXN1bHQgPSBhZndyYXBwZXIoeCA9PiAxMjMgKyAzMjEsIDk5OTkpOwordGVzdENhc2UocmVz
dWx0LCA0NDQgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMxICsgYzIsIHkpIik7CisKK3Jlc3VsdCA9IGFmd3Jh
cHBlcih4ID0+IHggKyAxMiwgMjEpOwordGVzdENhc2UocmVzdWx0LCAzMyAsIkVycm9yOiBOb3Qg
Y29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHgg
PT4geCArIGMxLCB5KSIpOworCityZXN1bHQgPSBhZndyYXBwZXIoKHgpID0+IHggKyAyMSwgMzIp
OwordGVzdENhc2UocmVzdWx0LCA1MywgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCh4KSA9PiBjMSArIGMyLCB5KSIpOwor
CityZXN1bHQgPSBhZndyYXBwZXIoKCkgPT4gMTAwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwLCAi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFy
YW10ZXI6IGYoKCkgPT4gYykiKTsKKwordmFyIGV4dF92YWx1ZSA9IDEyMTsKK3Jlc3VsdCA9IGFm
d3JhcHBlcigoKSA9PiBleHRfdmFsdWUpOwordGVzdENhc2UocmVzdWx0LCAxMjEsICJFcnJvcjog
Tm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjog
ZigoKSA9PiB2KSIpOworCityZXN1bHQgPSBhZndyYXBwZXIoKCkgPT4gZXh0X3ZhbHVlICogMTAp
OwordGVzdENhc2UocmVzdWx0LCAxMjEwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gdip4KSIpOworCityZXN1
bHQgPSBhZndyYXBwZXIoKHgpID0+IGV4dF92YWx1ZSAqIHgsIDMwKTsKK3Rlc3RDYXNlKHJlc3Vs
dCwgMzAqZXh0X3ZhbHVlICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKHgpID0+IHYqeCwgeSkiKTsKKworcmVzdWx0ID0g
YWZ3cmFwcGVyKCgpID0+IDEwMCwgMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDAgLCJFcnJvcjog
Tm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjog
ZigoKSA9PiBjMSwgeSkiKTsKKworIHJlc3VsdCA9IGFmd3JhcHBlcigoKSA9PiAxMDAgKyAxMCk7
Cit0ZXN0Q2FzZShyZXN1bHQsIDExMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMxICsgYzIpIik7CisKK3Jl
c3VsdCA9IGFmd3JhcHBlcigoKSA9PiAxMDAgKyAxMSwgMTIpOwordGVzdENhc2UocmVzdWx0LCAx
MTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBh
cyBwYXJhbXRlcjogZigoKSA9PiBjMSArIGMyLCB5KSIpOworCit2YXIgYXJyb3dGdW5jdGlvbjQg
PSB2ID0+IHYgKyAxLCB4eXoxID0gMTAxMDE7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uNCgxMDEx
KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAxMiAsIkVycm9yOiBOb3QgY29ycmVjdCBwYXJzaW5nIG9m
IHRoIGFycm93IGZ1bmN0aW9uIGluc2lkZSBvZiB0aGUgbGlzdCBvZiB2YXJzOiB2YXIgYWYgPSB2
PT4gdiArIDE7IHp4Yz1jOyIpOwordGVzdENhc2UoeHl6MSwgMTAxMDEgLCJFcnJvcjogTm90IGNv
cnJlY3QgcGFyc2luZyBvZiB0aCBhcnJvdyBmdW5jdGlvbiBpbnNpZGUgb2YgdGhlIGxpc3Qgb2Yg
dmFyczogdmFyIGFmID0gdj0+IHYgKyAxOyB6eGM9YzsiKTsKKwordmFyIGFmd3JhcHBlcjIgPSBm
dW5jdGlvbiAoY2wsIHBhcmFtdGVyMSwgcGFyYW10ZXIyKSB7IHJldHVybiBjbChwYXJhbXRlcjEs
IHBhcmFtdGVyMik7IH07CityZXN1bHQgPSBhZndyYXBwZXIyKCh4LCB5KSA9PiB4ICsgeSwgMTIg
LDQzKTsKK3Rlc3RDYXNlKHJlc3VsdCwgNTUgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbWV0ZXI6IGYoKHgsIHkpID0+IHggKyB5LCBj
MSwgYzIpIik7CisKK3ZhciBhZkFycjAgPSBbdiA9PiB2ICogMTBdOworcmVzdWx0ID0gYWZBcnIw
WzBdKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1
dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogW3Y9PnYqMTBdIik7
CisKK3ZhciBhZkFycjEgPSBbdiA9PiB2ICsgMSwgdiA9PiB2ICsgMl07CityZXN1bHQgPSBhZkFy
cjFbMF0oMTApOwordGVzdENhc2UocmVzdWx0LCAxMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVj
dXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFt2ID0+IHYgKyAx
LCAgdiA9PiB2ICsgMl0iKTsKK3Jlc3VsdCA9IGFmQXJyMVsxXSgxMSk7Cit0ZXN0Q2FzZShyZXN1
bHQsIDEzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gYXMgaXRlbSBpbiBhcnJheTogW3YgPT4gdiArIDEsICB2ID0+IHYgKyAyXSIpOworCit2YXIg
YWZBcnIyID0gWyh2KSA9PiB2ICsgMSwgKHYpID0+IHYgKyAyXTsKK3Jlc3VsdCA9IGFmQXJyMlsw
XSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogWyh2KSA9PiB2ICsgMSwg
ICh2KSA9PiB2ICsgMl0iKTsKK3Jlc3VsdCA9IGFmQXJyMlsxXSgxMSk7Cit0ZXN0Q2FzZShyZXN1
bHQsIDEzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gYXMgaXRlbSBpbiBhcnJheTogWyh2KSA9PiB2ICsgMSwgICh2KSA9PiB2ICsgMl0iKTsKKwor
dmFyIGFmQXJyMyA9IFsoKSA9PiAxMDEsICgpID0+IDEyMzIzXTsKK3Jlc3VsdCA9IGFmQXJyM1sw
XSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMSwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsoKSA9PiBjMSwgICgp
ID0+IGMyXSIpOworcmVzdWx0ID0gYWZBcnIzWzFdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIz
MjMsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBh
cyBpdGVtIGluIGFycmF5OiBbKCkgPT4gYzEsICAoKSA9PiBjMl0iKTsKKwordmFyIGFmT2JqID0g
e2Z1bmMgOiB5ID0+IHkgKyAxMn07CityZXN1bHQgPSBhZk9iai5mdW5jKDExKTsKK3Rlc3RDYXNl
KHJlc3VsdCwgMjMgLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24gYXMgcHJvcGVydHk6IHtmdW5jIDogeSA9PiB5ICsgMTIgfSIpOworCit2YXIgYWZC
bG9jazAgPSAoKSA9PiB7IHJldHVybiAxMDAwOyB9OworcmVzdWx0ID0gYWZCbG9jazAoMTEpOwor
dGVzdENhc2UocmVzdWx0LCAxMDAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0
aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiAoKSA9PiB7IHJldHVybiAxMDAw
OyB9Iik7CisKK3ZhciBhZkJsb2NrMSA9IHYgPT4geyB2YXIgaW50dmFsID0gMTAwOyByZXR1cm4g
diAqIGludHZhbDsgfTsKK3Jlc3VsdCA9IGFmQmxvY2sxKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwg
MTEwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9u
IHdpdGggYm9keSBhcyBibG9jazogeCA9PiB7IHZhciB2PTEwMDA7IHJldHVybiB2Kng7IH0iKTsK
KwordmFyIGFmQmxvY2syID0gKHYpID0+IHsgdmFyIGludCA9IDIwMDsgcmV0dXJuIHYgKiBpbnQ7
IH07CityZXN1bHQgPSBhZkJsb2NrMigxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIyMDAgLCJFcnJv
cjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkg
YXMgYmxvY2s6ICh4KSA9PiB7IHZhciB2PTEwMDA7IHJldHVybiB2Kng7IH0iKTsKKwordmFyIGFm
QmxvY2szID0gKHYsIHgpID0+IHsgdmFyIHJlc3VsdCA9IHggKiB2OyByZXR1cm4gcmVzdWx0OyB9
OworcmVzdWx0ID0gYWZCbG9jazMoMTEsIDEyMjIyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTM0NDQy
ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0
aCBib2R5IGFzIGJsb2NrOiAodiwgeCkgPT4geyB2YXIgcmVzdWx0ID0geCAqIHY7IHJldHVybiBy
ZXN1bHQ7IH0iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YXJyb3dmdW5jdGlvbi5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDY4N2IzYWFi
MWQyN2Y0NTNmOTA3NjFjZWMxYWQ0ZDA1Y2YwM2IzNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L2Fycm93ZnVuY3Rpb24uanMKKysrIC9kZXYvbnVsbApAQCAtMSwxNTQgKzAsMCBAQAotdmFyIHJl
c3VsdDsKLQotIHZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNz
YWdlKSB7Ci0gIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7Ci0gICAgdGhyb3cgbWVzc2FnZSAr
ICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICIn
IjsKLSAgfQotfTsKLQotdmFyIGFycm93RnVuY3Rpb24wID0gdiA9PiB2ICsgMTsKLXJlc3VsdCA9
IGFycm93RnVuY3Rpb24wKDEwKTsKLXRlc3RDYXNlKHJlc3VsdCwgMTEgLCJFcnJvcjogTm90IGNv
cnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogdiA9PiB2ICsgMSIpOwotCi12
YXIgYXJyb3dGdW5jdGlvbjEgPSAodikgPT4gdiAqIDI7Ci1yZXN1bHQgPSBhcnJvd0Z1bmN0aW9u
MSgxMCk7Ci10ZXN0Q2FzZShyZXN1bHQsIDIwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICh2KSA9PiB2ICsgMSIpOwotCi12YXIgYXJyb3dGdW5j
dGlvbjIgPSAoKSA9PiAxMDAwOwotcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjIoMTIxMik7Ci10ZXN0
Q2FzZShyZXN1bHQsIDEwMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbjogKCkgPT4gMTAwMCIpOwotCi12YXIgdG1wVmFyaWFsdmUyXzEgPSAxNTE7
Ci12YXIgYXJyb3dGdW5jdGlvbjJfMSA9ICgpID0+IHRtcFZhcmlhbHZlMl8xOwotcmVzdWx0ID0g
YXJyb3dGdW5jdGlvbjJfMSgxMjEpOwotdGVzdENhc2UocmVzdWx0LCB0bXBWYXJpYWx2ZTJfMSAs
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAoKSA9
PiB2YXJpYWJsZSIpOwotCi12YXIgYXJyb3dGdW5jdGlvbjMgPSAodiwgeCkgPT4gdiArIHg7Ci1y
ZXN1bHQgPSBhcnJvd0Z1bmN0aW9uMygxMSwxMik7Ci10ZXN0Q2FzZShyZXN1bHQsIDIzICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICh4LCB5KSA9
PiB4ICsgeSIpOwotCi12YXIgYXJyb3dGdW5jdGlvbldyYXBwZXIgPSBmdW5jdGlvbiAoY2wsIHBh
cmFtdGVyKSB7IHJldHVybiBjbChwYXJhbXRlcik7IH07Ci0KLXJlc3VsdCA9IGFycm93RnVuY3Rp
b25XcmFwcGVyKHggPT4gMTIzNCk7Ci10ZXN0Q2FzZShyZXN1bHQsIDEyMzQgLCJFcnJvcjogTm90
IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4
ID0+IGMpIik7Ci0KLSByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEyMzQsIDIz
NDUpOwotdGVzdENhc2UocmVzdWx0LCAxMjM0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjLCB5KSIpOwotCi0g
cmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoeCA9PiAxMjEgKyAyMzIpOwotdGVzdENhc2Uo
cmVzdWx0LCAzNTMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMxICsgYzIpIik7Ci0KLSByZXN1bHQgPSBhcnJv
d0Z1bmN0aW9uV3JhcHBlcih4ID0+IDEyMyArIDMyMSwgOTk5OSk7Ci10ZXN0Q2FzZShyZXN1bHQs
IDQ0NCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9u
IGFzIHBhcmFtdGVyOiBmKHggPT4gYzEgKyBjMiwgeSkiKTsKLQotIHJlc3VsdCA9IGFycm93RnVu
Y3Rpb25XcmFwcGVyKHggPT4geCArIDEyLCAyMSk7Ci10ZXN0Q2FzZShyZXN1bHQsIDMzICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10
ZXI6IGYoeCA9PiB4ICsgYzEsIHkpIik7Ci0KLSByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBl
cigoeCkgPT4geCArIDIxLCAzMik7Ci10ZXN0Q2FzZShyZXN1bHQsIDUzLCAiRXJyb3I6IE5vdCBj
b3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKHgp
ID0+IGMxICsgYzIsIHkpIik7Ci0KLSByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9
PiAxMDApOwotdGVzdENhc2UocmVzdWx0LCAxMDAsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjKSIpOwotCi0g
dmFyIGV4dF92YWx1ZSA9IDEyMTsKLXJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyKCgpID0+
IGV4dF92YWx1ZSk7Ci10ZXN0Q2FzZShyZXN1bHQsIDEyMSwgIkVycm9yOiBOb3QgY29ycmVjdCBl
eGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IHYpIik7
Ci0KLSByZXN1bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoKSA9PiBleHRfdmFsdWUgKiAxMCk7
Ci10ZXN0Q2FzZShyZXN1bHQsIDEyMTAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiB2KngpIik7Ci0KLSByZXN1
bHQgPSBhcnJvd0Z1bmN0aW9uV3JhcHBlcigoeCkgPT4gZXh0X3ZhbHVlICogeCwgMzApOwotdGVz
dENhc2UocmVzdWx0LCAzMCpleHRfdmFsdWUgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoeCkgPT4gdip4LCB5KSIpOwot
Ci0gcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwLCAxMSk7Ci10ZXN0Q2Fz
ZShyZXN1bHQsIDEwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMxLCB5KSIpOwotCi0gcmVzdWx0ID0gYXJy
b3dGdW5jdGlvbldyYXBwZXIoKCkgPT4gMTAwICsgMTApOwotdGVzdENhc2UocmVzdWx0LCAxMTAg
LCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBw
YXJhbXRlcjogZigoKSA9PiBjMSArIGMyKSIpOwotCi0gcmVzdWx0ID0gYXJyb3dGdW5jdGlvbldy
YXBwZXIoKCkgPT4gMTAwICsgMTEsIDEyKTsKLXRlc3RDYXNlKHJlc3VsdCwgMTExICwiRXJyb3I6
IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6
IGYoKCkgPT4gYzEgKyBjMiwgeSkiKTsKLQotIHZhciBhcnJvd0Z1bmN0aW9uNCA9IHYgPT4gdiAr
IDEsIHh5ejEgPSAxMDEwMTsKLXJlc3VsdCA9IGFycm93RnVuY3Rpb240KDEwMTEpOwotdGVzdENh
c2UocmVzdWx0LCAxMDEyICwiRXJyb3I6IE5vdCBjb3JyZWN0IHBhcnNpbmcgb2YgdGggYXJyb3cg
ZnVuY3Rpb24gaW5zaWRlIG9mIHRoZSBsaXN0IG9mIHZhcnM6IHZhciBhZiA9IHY9PiB2ICsgMTsg
enhjPWM7Iik7Ci10ZXN0Q2FzZSh4eXoxLCAxMDEwMSAsIkVycm9yOiBOb3QgY29ycmVjdCBwYXJz
aW5nIG9mIHRoIGFycm93IGZ1bmN0aW9uIGluc2lkZSBvZiB0aGUgbGlzdCBvZiB2YXJzOiB2YXIg
YWYgPSB2PT4gdiArIDE7IHp4Yz1jOyIpOwotCi0gdmFyIGFycm93RnVuY3Rpb25XcmFwcGVyMiA9
IGZ1bmN0aW9uIChjbCwgcGFyYW10ZXIxLCBwYXJhbXRlcjIpIHsgcmV0dXJuIGNsKHBhcmFtdGVy
MSwgcGFyYW10ZXIyKTsgfTsKLXJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyMigoeCwgeSkg
PT4geCArIHksIDEyICw0Myk7Ci10ZXN0Q2FzZShyZXN1bHQsIDU1ICwiRXJyb3I6IE5vdCBjb3Jy
ZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW1ldGVyOiBmKCh4LCB5
KSA9PiB4ICsgeSwgYzEsIGMyKSIpOwotCi0gdmFyIGFycm93RnVuY3Rpb0FycmF5MCA9IFt2ID0+
IHYgKiAxMF07Ci1yZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTBbMF0oMTApOwotdGVzdENhc2Uo
cmVzdWx0LCAxMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbdj0+dioxMF0iKTsKLQotIHZhciBhcnJvd0Z1bmN0
aW9BcnJheTEgPSBbdiA9PiB2ICsgMSwgdiA9PiB2ICsgMl07Ci1yZXN1bHQgPSBhcnJvd0Z1bmN0
aW9BcnJheTFbMF0oMTApOwotdGVzdENhc2UocmVzdWx0LCAxMSAsIkVycm9yOiBOb3QgY29ycmVj
dCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFt2ID0+
IHYgKyAxLCAgdiA9PiB2ICsgMl0iKTsKLXJlc3VsdCA9IGFycm93RnVuY3Rpb0FycmF5MVsxXSgx
MSk7Ci10ZXN0Q2FzZShyZXN1bHQsIDEzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogW3YgPT4gdiArIDEsICB2ID0+
IHYgKyAyXSIpOwotCi0gdmFyIGFycm93RnVuY3Rpb0FycmF5MiA9IFsodikgPT4gdiArIDEsICh2
KSA9PiB2ICsgMl07Ci1yZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTJbMF0oMTEpOwotdGVzdENh
c2UocmVzdWx0LCAxMiAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsodikgPT4gdiArIDEsICAodikgPT4gdiArIDJd
Iik7Ci1yZXN1bHQgPSBhcnJvd0Z1bmN0aW9BcnJheTJbMV0oMTEpOwotdGVzdENhc2UocmVzdWx0
LCAxMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9u
IGFzIGl0ZW0gaW4gYXJyYXk6IFsodikgPT4gdiArIDEsICAodikgPT4gdiArIDJdIik7Ci0KLSB2
YXIgYXJyb3dGdW5jdGlvQXJyYXkzID0gWygpID0+IDEwMSwgKCkgPT4gMTIzMjNdOwotcmVzdWx0
ID0gYXJyb3dGdW5jdGlvQXJyYXkzWzBdKDExKTsKLXRlc3RDYXNlKHJlc3VsdCwgMTAxLCAiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBp
biBhcnJheTogWygpID0+IGMxLCAgKCkgPT4gYzJdIik7Ci1yZXN1bHQgPSBhcnJvd0Z1bmN0aW9B
cnJheTNbMV0oMTEpOwotdGVzdENhc2UocmVzdWx0LCAxMjMyMywgIkVycm9yOiBOb3QgY29ycmVj
dCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsoKSA9
PiBjMSwgICgpID0+IGMyXSIpOwotCi12YXIgYXJyb3dGdW5jdGlvbk9iaiA9IHtmdW5jIDogeSA9
PiB5ICsgMTJ9OwotcmVzdWx0ID0gYXJyb3dGdW5jdGlvbk9iai5mdW5jKDExKTsKLXRlc3RDYXNl
KHJlc3VsdCwgMjMgLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24gYXMgcHJvcGVydHk6IHtmdW5jIDogeSA9PiB5ICsgMTIgfSIpOwotCi12YXIgYWZP
YmpMZXhCaW5kMiA9IGZ1bmN0aW9uICgpIHsKLSAgdGhpcy5mdW5jID0gKCkgPT4gdGhpczsKLX07
Ci0KLXZhciBhcnJvd0ZhdEZ1bmN0aW9uMCA9ICgpID0+IHsgcmV0dXJuIDEwMDA7IH07Ci1yZXN1
bHQgPSBhcnJvd0ZhdEZ1bmN0aW9uMCgxMSk7Ci10ZXN0Q2FzZShyZXN1bHQsIDEwMDAgLCJFcnJv
cjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkg
YXMgYmxvY2s6ICgpID0+IHsgcmV0dXJuIDEwMDA7IH0iKTsKLQotdmFyIGFycm93RmF0RnVuY3Rp
b24xID0gdiA9PiB7IHZhciBpbnR2YWwgPSAxMDA7IHJldHVybiB2ICogaW50dmFsOyB9OwotcmVz
dWx0ID0gYXJyb3dGYXRGdW5jdGlvbjEoMTEpOwotdGVzdENhc2UocmVzdWx0LCAxMTAwICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5
IGFzIGJsb2NrOiB4ID0+IHsgdmFyIHY9MTAwMDsgcmV0dXJuIHYqeDsgfSIpOwotCi12YXIgYXJy
b3dGYXRGdW5jdGlvbjIgPSAodikgPT4geyB2YXIgaW50ID0gMjAwOyByZXR1cm4gdiAqIGludDsg
fTsKLXJlc3VsdCA9IGFycm93RmF0RnVuY3Rpb24yKDExKTsKLXRlc3RDYXNlKHJlc3VsdCwgMjIw
MCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdp
dGggYm9keSBhcyBibG9jazogKHgpID0+IHsgdmFyIHY9MTAwMDsgcmV0dXJuIHYqeDsgfSIpOwot
Ci12YXIgYXJyb3dGYXRGdW5jdGlvbjMgPSAodiwgeCkgPT4geyB2YXIgcmVzdWx0ID0geCAqIHY7
IHJldHVybiByZXN1bHQ7IH07Ci1yZXN1bHQgPSBhcnJvd0ZhdEZ1bmN0aW9uMygxMSwgMTIyMjIp
OwotdGVzdENhc2UocmVzdWx0LCAxMzQ0NDIgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICh2LCB4KSA9PiB7IHZh
ciByZXN1bHQgPSB4ICogdjsgcmV0dXJuIHJlc3VsdDsgfSIpOwotCi1yZXN1bHQgPSBhcnJvd0Z1
bmN0aW9uV3JhcHBlcih4PT57cmV0dXJuIHggKiAyNTt9LCAxMjEpOwotdGVzdENhc2UocmVzdWx0
LCAyNSoxMjEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6IGYoeCA9PiB7cmV0dXJuIHggKiAyNTt9LCAxMjEpIik7
Ci0KLXJlc3VsdCA9IGFycm93RnVuY3Rpb25XcmFwcGVyMigoeCwgeSk9PntyZXR1cm4geCAqIHk7
fSwgMTQsIDEyKTsKLXRlc3RDYXNlKHJlc3VsdCwgMTQqMTIgLCJFcnJvcjogTm90IGNvcnJlY3Qg
ZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6IGYoKHgs
IHkpPT57cmV0dXJuIHggKiB5O30sIDE0LCAxMjEpKSIpOwotCi12YXIgc2ltcGxlQXJyb3dGdW5j
dGlvbiA9ICgpID0+IHt9OwotCi10ZXN0Q2FzZSh0eXBlb2Ygc2ltcGxlQXJyb3dGdW5jdGlvbiwg
ImZ1bmN0aW9uIiwgIkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlv
biIpOwotCi10ZXN0Q2FzZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yoc2ltcGxlQXJyb3dGdW5jdGlv
biksIEZ1bmN0aW9uLnByb3RvdHlwZSwgIkVycm9yOiBOb3QgY29ycmVjdCBnZXRQcm90b3R5cGVP
ZiB2YWx1ZSBmb3IgYXJyb3cgZnVuY3Rpb24iKTsKLQotdGVzdENhc2Uoc2ltcGxlQXJyb3dGdW5j
dGlvbiBpbnN0YW5jZW9mIEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3Vs
dCBmb3IgaW5zdGFuY2VvZiBtZXRob2QgZm9yIGFycm93IGZ1bmN0aW9uIik7Ci0KLXRlc3RDYXNl
KHNpbXBsZUFycm93RnVuY3Rpb24uY29uc3RydWN0b3IgPT0gRnVuY3Rpb24sIHRydWUsICJFcnJv
cjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBjb25zdHJ1Y3RvciBtZXRob2Qgb2YgYXJyb3cgZnVu
Y3Rpb24iKTsKLQotdGVzdENhc2UodHlwZW9mIHNpbXBsZUFycm93RnVuY3Rpb24ucHJvdG90eXBl
ID09PSAndW5kZWZpbmVkJywgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHBy
b3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiIpOwotCi12YXIgZXJyb3JPbkNyZWF0ZSA9IGZhbHNl
OwotCi10cnkgewotICB2YXIgZmMgPSBuZXcgc2ltcGxlQXJyb3dGdW5jdGlvbigpOwotfQotY2F0
Y2ggKGUpIHsKLSAgZXJyb3JPbkNyZWF0ZSA9IHRydWU7Ci19Ci0KLXRlc3RDYXNlKGVycm9yT25D
cmVhdGUsIHRydWUsICJFcnJvcjogTm8gZXJyb3IgZHVyaW5nIHJ1biBuZXcgQXJyb3dGdW5jdGlv
biIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwppbmRleCBiYWU3YWJjYjIyYzAwN2EyZWNlMDkxOWVhNmQ5MThiN2UwZGJh
Y2Q2Li4wYzg4NDBmNmFiNTE4NWY4MzU0YjcwNjAzZTAyNWYyNWEyYTc5ZjRhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZwpAQCAtMjE2LDQgKzIxNiw0IEBAIEVOQUJMRV9KSVQgPSBFTkFCTEVfSklUOwogCiBFTkFCTEVf
U0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJ
VEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChF
TkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9F
TEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRI
KSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVO
QUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgp
ICQoRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZF
TF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01Q
T1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJ
RF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lN
QUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNU
T1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVO
QUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQo
RU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQp
ICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMp
ICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikg
JChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5B
QkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9D
QVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJM
RV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFC
TEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVM
T0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1F
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RB
UkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRP
U0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xF
R0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxF
X0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQo
RU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVO
QUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9N
SFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09O
VEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9D
SykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxF
X1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5J
TUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVN
T1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVf
UlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNI
X1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8p
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxF
X1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAk
KEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
VE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVf
VVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChF
TkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFC
TEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFC
TEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1J
TkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFC
TEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TQVRVUkFU
RURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8z
RF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVO
QUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChF
TkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVf
RVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYKSAk
KEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NT
U19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykg
JChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04p
ICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQo
RU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJM
RV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJT
T1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9E
QVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFU
QV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJ
Q0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVf
RklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxM
U0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVE
KSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RI
Uk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9M
UykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9J
Tl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikg
JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lS
RUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5B
QkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dF
Ql9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQo
RU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9N
RURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VM
RU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5B
QkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJS
RU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChF
TkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZ
X0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChF
TkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBM
RVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElB
X1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQ
KSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFC
TEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NP
TlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RF
TVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElO
R19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxF
X1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVf
Q1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9X
RUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykg
JChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hI
Ul9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQp
ICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJF
U0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCAzMDRiMDU1ZWZjYTVhZWY3YjVj
ODllOWU1MDEwMmE5Njg1ZmMwNjFmLi4wYzg4NDBmNmFiNTE4NWY4MzU0YjcwNjAzZTAyNWYyNWEy
YTc5ZjRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMjE3LDQgKzIxNywzIEBAIEVOQUJMRV9KSVQg
PSBFTkFCTEVfSklUOwogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJM
RV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKIEZFQVRVUkVfREVGSU5FUyA9ICQoRU5B
QkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFC
TEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMp
ICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5H
KSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVO
QUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5U
QVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFC
TEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JS
RUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRB
VElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9O
UykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQo
RU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxF
X0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5B
QkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJM
RV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxF
X0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQo
RU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVO
QUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxF
X0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJF
Q0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElN
RVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NP
TlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQo
RU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJM
RV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykg
JChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdB
Q1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRD
SCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5B
QkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVU
RVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkg
JChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NP
TkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lO
KSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9Y
SU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RB
KSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRP
Q09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05f
TUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xM
X1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAk
KEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19P
VEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFC
TEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RS
QUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChF
TkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdf
TU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5B
QkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJ
WkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFC
TEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxF
X0pJVCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURF
T19QUkVTRU5UQVRJT05fTU9ERSk7Ci0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdDIvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggOTRjYjgyNTliMTkyMTI2Nzkw
NzhlNDM1YWZkNTMyMzQwNzY5MDFlYy4uMGM4ODQwZjZhYjUxODVmODM1NGI3MDYwM2UwMjVmMjVh
MmE3OWY0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ0LDkgKzQ0LDkgQEAgRU5BQkxFX0NBQ0hFX1BBUlRJ
VElPTklORyA9IEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkc7CiBFTkFCTEVfQ0FOVkFTX1BBVEgg
PSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOworRU5BQkxFX0VTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBF
TkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYOwogRU5BQkxF
X0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCA9IEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJB
TF9TWU5UQVg7Ci1FTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9D
T05URU5UX0ZJTFRFUklORzsKIEVOQUJMRV9DU1BfTkVYVCA9IDsKIEVOQUJMRV9DU1NfQU5JTUFU
SU9OU19MRVZFTF8yID0gRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzI7CkBAIC0yMTYsNCAr
MjE2LDQgQEAgRU5BQkxFX0pJVCA9IEVOQUJMRV9KSVQ7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZ
T1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1G
RUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykg
JChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5B
QkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NB
TlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2
X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChF
TkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChF
TkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElP
TikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAk
KEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVY
VF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9N
X1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFU
QUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVU
QUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRf
RVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05U
X0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkg
JChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFT
RSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BP
VkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJM
RV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVT
KSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1Mp
ICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFf
Q09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJM
RV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAk
KEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9Q
Uk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJ
WF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUp
ICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9S
KSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElO
RykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAk
KEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05V
TUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xP
QURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VF
X1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChF
TkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VU
UykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVf
V0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVO
QUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJ
VEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1F
TlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNf
UEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykg
JChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lO
VEFYKSAkKEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVgpICQoRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNf
TEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1Nf
Q09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NT
X0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NT
U19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NF
TEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkg
JChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZ
KSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQ
T1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lU
RU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElP
TikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVM
XzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAk
KEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dF
T0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChF
TkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQo
RU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVf
VElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NT
U19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVO
QUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1M
KSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFC
TEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9S
X0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJM
RV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVS
X0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVO
QUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNU
X0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxF
X1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5B
QkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQ
RUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZ
UFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVO
QUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVO
VCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5B
QkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0sp
ICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQo
RU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQo
RU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJf
VElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQo
RU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfU0FU
VVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9E
RSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252175</attachid>
            <date>2015-05-01 15:22:31 -0700</date>
            <delta_ts>2015-05-01 16:01:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150502012116.patch</filename>
            <type>text/plain</type>
            <size>213140</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzNjcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
MmUzYTYzMjgzZjhlNDc5YTA3ZmFkZTlmOWMxZWE1ZDdhZDczNzlhLi5iZWI0N2VkNDk5ZTZkOGJi
YWQ0MjA3ZTE3OGMzYzI5MjJkMTVlZjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMDAgQEAKKzIwMTUtMDUtMDEgQWxla3NhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5
bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQw
ODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4
ZWQgY29tbWVudHMgZnJvbSByZXZpZXcgYW5kIGFsc28gYWRkZWQgc3VwcG9ydCBvZiBGVEwgYW5k
IERGRyBjb21waWxlIG1vZGUuIAorICAgICAgICBUbyBmb3JjZSB3b3JrIGNvcnJlY3RseSBpbiBE
RkcgbW9kZSB3YXMgYWRkZWQgcGFyYW1ldGVyIHRoYXQgcHJldmVudHMgaW5saW5lIAorICAgICAg
ICBhbmQgY29tcGlsZSBhcnJvdyBmdW5jdGlvbiBpbiBERkcgbW9kZS4KKworCisgICAgICAgICog
ZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkRGRzo6
QWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKToK
KyAgICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpERkc6
OkJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKToKKyAgICAgICAgKiBkZmcvREZHQ2FwYWJpbGl0
aWVzLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpjYXBhYmlsaXR5TGV2ZWwpOgorICAgICAgICAq
IGRmZy9ERkdDbG9iYmVyaXplLmg6CisgICAgICAgIChKU0M6OkRGRzo6Y2xvYmJlcml6ZSk6Cisg
ICAgICAgICogZGZnL0RGR0RvZXNHQy5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6ZG9lc0dDKToK
KyAgICAgICAgKiBkZmcvREZHRml4dXBQaGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Rml4
dXBQaGFzZTo6Zml4dXBOb2RlKToKKyAgICAgICAgKiBkZmcvREZHTm9kZS5oOgorICAgICAgICAo
SlNDOjpERkc6Ok5vZGU6Omhhc0NlbGxPcGVyYW5kKToKKyAgICAgICAgKiBkZmcvREZHTm9kZVR5
cGUuaDoKKyAgICAgICAgKiBkZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwOgor
ICAgICAgICAoSlNDOjpERkc6OlByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlOjpwcm9wYWdhdGUp
OgorICAgICAgICAqIGRmZy9ERkdTYWZlVG9FeGVjdXRlLmg6CisgICAgICAgIChKU0M6OkRGRzo6
c2FmZVRvRXhlY3V0ZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmg6CisgICAg
ICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNhbGxPcGVyYXRpb24pOgorICAgICAgICAq
IGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVj
dWxhdGl2ZUpJVDo6Y29tcGlsZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQu
Y3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAg
ICAgKiBkZmcvREZHU3RydWN0dXJlUmVnaXN0cmF0aW9uUGhhc2UuY3BwOgorICAgICAgICAoSlND
OjpERkc6OlN0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlOjpydW4pOgorICAgICAgICAqIGZ0bC9G
VExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmNwcDoKKyAgICAgICAgKiBmdGwvRlRMQWJzdHJhY3RI
ZWFwUmVwb3NpdG9yeS5oOgorICAgICAgICAqIGZ0bC9GVExDYXBhYmlsaXRpZXMuY3BwOgorICAg
ICAgICAoSlNDOjpGVEw6OmNhbkNvbXBpbGUpOgorICAgICAgICAqIGZ0bC9GVExJbnRyaW5zaWNS
ZXBvc2l0b3J5Lmg6CisgICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcDoKKyAgICAg
ICAgKEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZU5vZGUpOgorICAgICAgICAoSlND
OjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlTmV3QXJyb3dGdW5jdGlvbik6CisgICAgICAg
ICogaml0L0pJVE9wZXJhdGlvbnMuY3BwOgorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmg6
CisgICAgICAgICogbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwOgorICAgICAgICAoSlNDOjpMTElu
dDo6TExJTlRfU0xPV19QQVRIX0RFQ0wpOgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJvd0Z1bmN0
aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6YXJyb3dGdW5jdGlvbkNhbGwpOgorICAgICAgICAoSlND
OjpKU0Fycm93RnVuY3Rpb246OkpTQXJyb3dGdW5jdGlvbik6CisgICAgICAgIChKU0M6OkpTQXJy
b3dGdW5jdGlvbjo6Y3JlYXRlV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludCk6
CisgICAgICAgIChKU0M6OkpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKEpTQzo6
SlNBcnJvd0Z1bmN0aW9uOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChKU0M6OkpTQXJyb3dG
dW5jdGlvbjo6dmlzaXRDaGlsZHJlbik6CisgICAgICAgICogcnVudGltZS9KU0Fycm93RnVuY3Rp
b24uaDoKKyAgICAgICAgKEpTQzo6SlNBcnJvd0Z1bmN0aW9uOjphbGxvY2F0aW9uU2l6ZSk6Cisg
ICAgICAgIChKU0M6OkpTQXJyb3dGdW5jdGlvbjo6YXJyb3dGdW5jdGlvbik6CisgICAgICAgIChK
U0M6OkpTQXJyb3dGdW5jdGlvbjo6Ym91bmRUaGlzKToKKyAgICAgICAgKEpTQzo6SlNBcnJvd0Z1
bmN0aW9uOjpvZmZzZXRPZlRoaXNWYWx1ZSk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93
ZnVuY3Rpb24tYXNwYXJhbXRlci0xLmpzOiBSZW5hbWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzcGFyYW10ZXIuanMuCisgICAgICAgICog
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci0yLmpzOiBBZGRlZC4KKyAgICAg
ICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ib3VuZC5qczogQWRkZWQuCisgICAgICAg
ICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY2FsbC5qczogQWRkZWQuCisgICAgICAgICog
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY29uc3RydWN0b3IuanM6CisgICAgICAgICogdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC1hcmd1bWVudHMuanM6IEFkZGVkLgorICAg
ICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtdGhpcy0xLmpzOiBSZW5h
bWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LWxleGljYWx0aGlzLTEuanMuCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
bGV4aWNhbC10aGlzLTIuanM6IFJlbmFtZWQgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbHRoaXMuanMuCisgICAgICAgICogdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTEuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMC0yLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAwMDAtMS5qczogQWRkZWQuCisgICAgICAgICog
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwMDAwLTIuanM6IEFkZGVkLgorICAgICAg
ICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXN5bnRheC5qczogQWRkZWQuCisgICAgICAg
ICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24uanM6IFJlbW92ZWQuCisKKzIwMTUtMDQtMTcg
IEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKyAgICAgICAgU21hbGwg
cmVmYWN0b3Jpbmcgb2YgdGhlIHBhcmNlci5jcHAgZmlsZS4gSXQgaXMgbmVjZXNzYXJ5IHRvIGlu
Y3JlYXNlIHJlYWRhYmlsaXR5IG9mIHRoZSBwYXRjaAorICAgICAgICB3aXRoIEVTNiBBcnJvdyBm
dW5jdGlvbiBpbXBsZW1lbnRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmg6CisgICAg
ICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisKKzIwMTUtMDQtMTMgIEFsZXhhbmRyIFNrYWNoa292
ICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBh
cnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkZWQgc3VwcG9ydCBvZiBFUzYgYXJyb3cgZnVuY3Rpb24uIENoYW5n
ZXMgd2VyZSBtYWRlIGFjY29yZGluZyBmb2xsb3dpbmcgc3BlYyBodHRwOi8vd2lraS5lY21hc2Ny
aXB0Lm9yZy9kb2t1LnBocD9pZD1oYXJtb255OmFycm93X2Z1bmN0aW9uX3N5bnRheAorICAgICAg
ICBJbiBwYXRjaCB3ZXJlIGltcGxlbWVudGVkIHRoZSBzaW1wbGVzdCBjYXNlczoKKyAgICAgICAg
ICAxIG5vIHBhcmFtZXRlcnMgICAgICAgICAgICAgICAgKCkgPT4gMTAgKyAyMAorICAgICAgICAg
IDIgc2luZ2xlIHBhcmFtZXRlciAgICAgICAgICAgICAgeCA9PiB4ICsgMjAKKyAgICAgICAgICAz
IG11bHRpcGxlIHBhcmFtZXRlcnMgICAgICAoeCwgeSkgPT4geCArIHkKKyAgICAgICAgICA0IGFy
cm93IGZ1bmN0aW9uIHdpdGggYmxvY2sgICAgIHggPT4geyByZXR1cm4geCoxMDsgfQorICAgICAg
ICAgIDUgbGV4aWNhbCB0aGlzIC0gdmFyaWFibGUgdGhpcyBpcyBwb2ludCB0byB0aGUgdGhpcyBv
ZiB0aGUgZnVuY3Rpb24gd2hlcmUgYXJyb3cgZnVuY3Rpb24gaXMgZGVjbGFyZWQKKyAgICAgICAg
ICA2IE5vIGNvbnN0cnVjdG9yIC0gdGhlIHVzaW5nIG9mIHRoZSBjb21tYW5kIG5ldyBmb3IgYXJy
b3cgZnVuY3Rpb24gbGVhZHMgdG8gcnVudGltZSBlcnJvci4gCisKKyAgICAgICAgIE5vdCB5ZXQg
aW1wbGVtZW50ZWQ6CisgICAgICAgICAgMSBsZXhpY2FsIGJpbmQgb2YgdGhlIGFyZ3VtZW50cyAm
IHN1cGVyCisgICAgICAgICAgMiBJbnNpZGUgYW4gYXJyb3cgZnVuY3Rpb24sIG5ldy50YXJnZXQg
cmVmZXJzIHRvIHRoZSBuZXcudGFyZ2V0IG9mIHRoZSBzdXJyb3VuZGluZyBub24tYXJyb3cgZnVu
Y3Rpb24uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHBy
b2o6CisgICAgICAgICogYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb246CisgICAgICAgICogYnl0
ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaDoKKyAgICAgICAgKEpTQzo6RnVuY3Rvcjo6Y29tcHV0ZVVz
ZXNGb3JCeXRlY29kZU9mZnNldCk6CisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoK
KyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpkdW1wQnl0ZWNvZGUpOgorICAgICAgICAqIGJ5dGVj
b21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oOgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRl
Y29kZUdlbmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0
TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24pOiBhZGRlZAorICAgICAgICAoSlNDOjpCeXRlY29k
ZUdlbmVyYXRvcjo6ZW1pdFRoaXNOb2RlQnl0ZWNvZGUpOiBhZGRlZAorICAgICAgICAqIGJ5dGVj
b21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgorICAgICAgICAoSlNDOjplbWl0Qnl0ZWNvZGU6OmVt
aXRCeXRlY29kZSk6IGFkZGVkCisgICAgICAgIChKU0M6OkFycm93RnVuY0V4cHJOb2RlOjplbWl0
Qnl0ZWNvZGUpOiBhZGRlZAorICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6Cisg
ICAgICAgIChKU0M6OkJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKToKKyAgICAgICAgKiBkZmcv
REZHQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAgICAgKEpTQzo6Q2FwYWJpbGl0eUxldmVsOjpjYXBh
YmlsaXR5TGV2ZWwpOgorICAgICAgICAqIGppdC9KSVQuaDoKKyAgICAgICAgKEpTQzo6SklUOjpl
bWl0X29wX25ld19hcnJvd19mdW5jX2V4cCk6IGFkZGVkCisgICAgICAgICogaml0L0pJVElubGlu
ZXMuaDoKKyAgICAgICAgKEpTQzo6SklUOjpjYWxsT3BlcmF0aW9uKTogYWRkZWQKKyAgICAgICAg
KiBqaXQvSklULmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNz
KToKKyAgICAgICAgKiBqaXQvSklUT3Bjb2Rlcy5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6ZW1p
dF9vcF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRPcGVyYXRp
b25zLmNwcDoKKyAgICAgICAgKEpTQzo6SklUX09QRVJBVElPTjo6b3BlcmF0aW9uTmV3QXJyb3dG
dW5jdGlvbik6IGFkZGVkCisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMuaDoKKyAgICAgICAg
KEpTQzo6SklUX09QRVJBVElPTjo6b3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbik6IGFkZGVkCisg
ICAgICAgICogbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwOgorICAgICAgICAoTExJTlRfU0xPV19Q
QVRIX0RFQ0woc2xvd19wYXRoX25ld19hcnJvd19mdW5jX2V4cCk6IGFkZGVkCisgICAgICAgICog
bGxpbnQvTExJbnRTbG93UGF0aHMuaDoKKyAgICAgICAgKExMSU5UX1NMT1dfUEFUSF9ERUNMKHNs
b3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApKTogYWRkZWQKKyAgICAgICAgKiBsbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbToKKyAgICAgICAgKiBwYXJzZXIvQVNUQnVpbGRlci5oOgorICAg
ICAgICAoSlNDOjpBU1RCdWlsZGVyOjpjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcik6CisgICAgICAg
ICogcGFyc2VyL0xleGVyLmNwcDoKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OnNldFRva2VuUG9z
aXRpb24pOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6bGV4KToKKyAgICAgICAgKiBwYXJzZXIv
TGV4ZXIuaDoKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24pOgorICAg
ICAgICAqIHBhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmg6CisgICAgICAgIChKU0M6OkFycm93RnVu
Y0V4cHJOb2RlOjpBcnJvd0Z1bmNFeHByTm9kZSk6IGFkZGVkCisgICAgICAgICogcGFyc2VyL05v
ZGVzLmg6CisgICAgICAgIChKU0M6Ok5vZGU6OmlzQXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZAor
ICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHByTm9kZSk6IGFkZGVkIGNsYXNzCisgICAgICAgICog
cGFyc2VyL1BhcnNlci5jcHA6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZVNvdXJjZUVsZW1lbnRzKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNl
UHJpbWFyeUV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU291cmNlRWxl
bWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VTdGF0ZW1lbnQpOgorICAgICAgICAo
SlNDOjpQYXJzZXI6OnBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQ
YXJzZXI6OnBhcnNlUHJpbWFyeUV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBh
cnNlQXJyb3dFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpzZXRFbmRPZlN0YXRl
bWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcik6
CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uSW5mbyk6CisgICAgICAg
IChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uQm9keSk6CisgICAgICAgICogcGFyc2Vy
L1BhcnNlci5oOgorICAgICAgICAoSlNDOjpQYXJzZXI6OkZ1bmN0aW9uUGFyc2VUeXBlKToKKyAg
ICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZVNvdXJjZUVsZW1lbnQpOgorICAgICAgICAoSlNDOjpQ
YXJzZXI6OnBhcnNlU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93
RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6c2V0RW5kT2ZTdGF0ZW1lbnQpOgor
ICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIpOgorICAgICAg
ICAqIHBhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaDoKKyAgICAgICAgKiBwYXJzZXIvUGFyc2Vy
VG9rZW5zLmg6CisgICAgICAgIChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6YXJyb3dGdW5jdGlv
bk9mZnNldCk6IGFkZGVkCisgICAgICAgIChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6aXNBcnJv
d0Z1bmN0aW9uKTogYWRkZWQKKyAgICAgICAgKEpTQzo6UGFyc2VyRnVuY3Rpb25JbmZvOjphcnJv
d0Z1bmN0aW9uQm9keVR5cGUpOiBhZGRlZAorICAgICAgICAqIHBhcnNlci9Tb3VyY2VDb2RlLmg6
CisgICAgICAgIChKU0M6OlNvdXJjZUNvZGU6OnN1YkFycm93RXhwcmVzc2lvbik6CisgICAgICAg
ICogcGFyc2VyL1N5bnRheENoZWNrZXIuaDoKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6
Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIpOgorICAgICAgICAqIHBhcnNlci9Tb3VyY2VQcm92aWRl
ckNhY2hlSXRlbToKKyAgICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlv
blBhcmFtZXRlcnMpOgorICAgICAgICAoSlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbSk6Cisg
ICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjplbmRBcnJvd0Z1bmN0aW9uVG9r
ZW4pOgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmg6IGFkZGVkIGNsYXNzIGZv
ciBoYW5kbGUgYXJyb3cgZnVuY3Rpb24gY3JlYXRpb24gYW5kIGV4ZWN1dGlvbgorICAgICAgICAq
IHJ1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcDoKKyAgICAgICAgKiBydW50aW1lL0pTRnVuY3Rp
b24uaDoKKyAgICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6SlNGdW5jdGlvbik6IGFkZGVkIG9uZSBt
b3JlIGNvbnN0cnVjdG9yCisgICAgICAgICogcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oOgor
ICAgICAgICAoSlNDOjpKU0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKTogYWRkZWQgY29uc3RydWN0b3Ig
aW1wbGVtZW50YXRpb24KKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAg
ICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmluaXQpOgorICAgICAgICAoSlNDOjpKU0dsb2Jh
bE9iamVjdDo6bV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKTogYWRkZWQKKyAgICAgICAgKEpTQzo6
SlNHbG9iYWxPYmplY3Q6OmFycm93RnVuY3Rpb25TdHJ1Y3R1cmUpOgorICAgICAgICAqIHRlc3Rz
L3N0cmVzcy9qcy9hcnJvd2Z1bmN0aW9uLmpzOgorCiAyMDE1LTA0LTEyICBBbGV4YW5kciBTa2Fj
aGtvdiAgPGdza2FjaGtvdkBnbWFpbC5jb20+CiAgICAgICAgIFNtYWxsIHJlZmFjdG9yaW5nIG9m
IHRoZSBwYXJjZXIuY3BwIGZpbGUuIEl0IGlzIG5lY2Vzc2FyeSB0byBpbmNyZWFzZSByZWFkYWJp
bGl0eSBvZiB0aGUgcGF0Y2gKICAgICAgICAgd2l0aCBFUzYgQXJyb3cgZnVuY3Rpb24gaW1wbGVt
ZW50YXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2OTk0ZTc5NDUzNjJkZTY5ZjVmMWZmZmNkNzYwZmE4YzJi
YzI0NjYxLi5jOWFmMzVlNjE4ODZmNzM1NjM5NmU2NmRiYjZhNjRkOWQxNzk5NDZjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDQtMTcgIFNrYWNoa292IEFsZXhhbmRyICA8Z3Nr
YWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1
bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTQwODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgg
Zm9yIGFycm93IGZ1bmN0aW9uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZzoKKwogMjAxNS0wNC0zMCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3Rl
bnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIENvbXBpbGUgZml4IHdoZW4gdXNpbmcgY29udGVu
dCBleHRlbnNpb25zIGRlYnVnZ2luZyBjb2RlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDkzMGQ5Mjdi
ZWY2MDIzYjllMzkxYmM2Nzc2OWViNTIyNmQyZjM1YTAuLjczZWU0NmZhMzgzNmFlZTM1Njc0YjE5
YThjM2ViMTU0MzdhYzU3M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAx
NS0wNC0xNyAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisgICAg
ICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmZWF0dXJlIGZsYWcg
RU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rpb24KKworICAg
ICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1LTA0
LTMwICBKb24gRGF2aXMgIDxqb25kQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBjb25zb2xlIHNob3VsZCBzaG93IGFuIGljb24gZm9yIGNvbnNvbGUuaW5mbygpIG1lc3NhZ2Vz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNjVkODNhNDEzOWIyYjNlN2Ey
YTFlZDhiZjM0ZTY2MmVjM2FkZGQ2ZS4uMjRjYzhhMjBmNDJlOWYzMDlmMDMxOTE5MDc5NjE0YjQ1
NDgyMmMzNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNDcwLDYgKzQ3
MCw3IEBAIHNldChKYXZhU2NyaXB0Q29yZV9SVU5USU1FX1NPVVJDRVMKICAgICBydW50aW1lL0pT
QXJyYXlCdWZmZXJWaWV3LmNwcAogICAgIHJ1bnRpbWUvSlNBcnJheUl0ZXJhdG9yLmNwcAogICAg
IHJ1bnRpbWUvSlNCb3VuZEZ1bmN0aW9uLmNwcAorICAgIHJ1bnRpbWUvSlNBcnJvd0Z1bmN0aW9u
LmNwcAogICAgIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxlLmNwcAogICAgIHJ1bnRp
bWUvSlNDSlNWYWx1ZS5jcHAKICAgICBydW50aW1lL0pTQ2FsbGVlLmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCmluZGV4IGZjOTBmNjExNTYyMzFhNDFjYTkxMzdmMTdjNzk1NWU4ZDM3M2IwZWEu
LjBjODg0MGY2YWI1MTg1ZjgzNTRiNzA2MDNlMDI1ZjI1YTJhNzlmNGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKQEAgLTQ0LDYgKzQ0LDcgQEAgRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORyA9
IEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkc7CiBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVf
Q0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfRVM2
X0NMQVNTX1NZTlRBWCA9IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYOwogRU5BQkxFX0VTNl9URU1Q
TEFURV9MSVRFUkFMX1NZTlRBWCA9IEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVg7
CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CkBA
IC0yMTUsNCArMjE2LDQgQEAgRU5BQkxFX0pJVCA9IEVOQUJMRV9KSVQ7CiAKIEVOQUJMRV9TQVRV
UkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1F
VElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1ND
Uk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1F
TlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQo
RU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxF
X0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkg
JChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9D
U1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsp
ICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9O
KSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAk
KEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFC
TEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VS
U09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVf
REFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RB
VEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVW
SUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFC
TEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxF
X0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVM
TFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRF
RCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9U
SFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Vf
SU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Ip
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9X
RUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAk
KEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVf
TUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9F
TEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVO
QUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VS
UkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQo
RU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlU
WV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01Q
TEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJ
QV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05B
UCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5B
QkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9D
T05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9U
RU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJ
TkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJM
RV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RF
X0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVf
V0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMp
ICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9Y
SFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklU
KSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BS
RVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9S
TVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURf
T1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFD
SE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5W
QVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RykgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9FUzZfQ0xBU1Nf
U1lOVEFYKSAkKEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVgpICQoRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElP
TlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVf
Q1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NT
X1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVY
VCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklM
SVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9T
VVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVS
X0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xF
VkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykg
JChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMp
ICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAk
KEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFU
SE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJD
RSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChF
TkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdB
VE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lO
VEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAk
KEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFV
RVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQo
RU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxF
X1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVf
Q1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAk
KEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxF
TUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJB
Q0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkp
ICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9X
RUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQp
ICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVf
U0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05f
TU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
dmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagppbmRleCBmZWJkZTI3
NWM3ZWRiYWZkNWRjNmI5ZmNlYjEyNGFlMGJlOWFhNzZiLi40ZDk5YTg3ZTUzZTM1M2I5NzQ1NTgy
YTk2ODM3Y2ViOTg1NjQ4NWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHBy
b2oKQEAgLTczNSw2ICs3MzUsNyBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGlt
ZVxKU0FycmF5QnVmZmVyUHJvdG90eXBlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXHJ1bnRpbWVcSlNBcnJheUJ1ZmZlclZpZXcuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5ccnVudGltZVxKU0JvdW5kRnVuY3Rpb24uY3BwIiAvPgorICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5ccnVudGltZVxKU0Fycm93RnVuY3Rpb24uY3BwIiAvPgogICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NKU1ZhbHVlLmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDYWxsZWUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5ccnVudGltZVxKU0NhdGNoU2NvcGUuY3BwIiAvPgpAQCAtMTUzNyw2ICsxNTM4LDcg
QEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJheUJ1ZmZlclZpZXdJ
bmxpbmVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlJ
dGVyYXRvci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0JvdW5k
RnVuY3Rpb24uaCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJv
d0Z1bmN0aW9uLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0lu
bGluZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1
ZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NKU1ZhbHVlSW5s
aW5lcy5oIiAvPgpAQCAtMTgxNyw0ICsxODE5LDQgQEAKICAgPEltcG9ydEdyb3VwIExhYmVsPSJF
eHRlbnNpb25UYXJnZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClc
QnVpbGRDdXN0b21pemF0aW9uc1xtYXNtLnRhcmdldHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+Ci08
L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9Qcm9qZWN0PgpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAxYTJiNDYwZTdmODM4OGVhYThlMzE5YmYyNTRlYTY3
YWYyYjliMWVmLi4zZDA2OTY2MGYwOTE0MTQzMWViNDk5OGU0NWM0OTg4NjkyZjg4YjkxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTEwNiw2ICsxMTA2LDggQEAKIAkJODZGM0VF
QkYxNjhDREU5MzAwNzdCOTJBIC8qIE9iamNSdW50aW1lRXh0cmFzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkYzRUVCNjE2ODU1QTVCMDA3N0I5MkEg
LyogT2JqY1J1bnRpbWVFeHRyYXMuaCAqLzsgfTsKIAkJODZGQTlFOTExNDJCQkIyRTAwMTc3M0I3
IC8qIEpTQm91bmRGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA4NkZBOUU4RjE0MkJCQjJEMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9u
LmNwcCAqLzsgfTsKIAkJODZGQTlFOTIxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGQTlF
OTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICovOyB9OworCQk4QjBGNDI0
QzFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAv
KiBKU0Fycm93RnVuY3Rpb24uY3BwICovOyB9OworCQk4QjBGNDI0QzFBQkQ2REUyMDAzOTE3RUEg
LyogSlNBcnJvd0Z1bmN0aW9uLmggaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmgg
Ki87IH07CiAJCTkwMjEzRTNEMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkwMjEzRTNC
MTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmNwcCAqLzsgfTsKIAkJOTAyMTNF
M0UxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJGMyAv
KiBNZW1vcnlTdGF0aXN0aWNzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJOTMwNTJDMzQwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMDUyQzMy
MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5jcHAgKi87IH07CkBAIC0yODU0LDYgKzI4
NTYsOCBAQAogCQk4NkY3NUVGRDE1MUMwNjJGMDA3QzlCQTMgLyogUmVnRXhwTWF0Y2hlc0FycmF5
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZ0V4cE1hdGNoZXNB
cnJheS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2RkE5RThGMTQyQkJCMkQw
MDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0JvdW5kRnVuY3Rpb24uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOEIwRjQyNEExQUJENkQyRjAwMzkxN0VBIC8qIEpTQXJyb3dG
dW5jdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Fycm93RnVuY3Rpb24uaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5j
dGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Fycm93RnVu
Y3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MDIxM0UzQjEyM0E0MEMy
MDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBNZW1vcnlTdGF0aXN0aWNzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJOTAyMTNFM0MxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVtb3J5U3RhdGlzdGljcy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzA1MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFy
c2VyQXJlbmEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFyc2Vy
QXJlbmEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDQ2OSw2ICs0NDczLDgg
QEAKIAkJCQlBN0JEQUVDNTE3RjRFQTE0MDBGNjE0MEMgLyogSlNBcnJheUl0ZXJhdG9yLmggKi8s
CiAJCQkJODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5jcHAgKi8s
CiAJCQkJODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICovLAor
CQkJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uaCAqLywKKwkJ
CQk4QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCAqLywKIAkJ
CQk2NTdDRjQ1NjE5QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuY3BwICovLAogCQkJCTY1N0NG
NDU3MTlCRjY2NjIwMDRBQ0JGMiAvKiBKU0NhbGxlZS5oICovLAogCQkJCTBGRDk0OTdFMUE5N0RC
OTYwMEUyODk2NiAvKiBKU0NhdGNoU2NvcGUuY3BwICovLApAQCAtNzIyNCw2ICs3MjMwLDcgQEAK
IAkJCQkwRkQ4QTMxQjE3RDUxRjIyMDBDQTJDNDAgLyogRlRMT1NSRW50cnkuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMEYyMzVCREMxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4aXQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMEYyMzVCREYxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4aXRD
b21waWxlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4QjBGNDI0QzFBQkQ2REUyMDAzOTE3RUEg
LyogSlNBcnJvd0Z1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRUEwQTJBMTcwOTYy
OTYwMEJCNzIyQyAvKiBGVExPdXRwdXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY0ODUzMjkx
ODdERkRFQzAwODNCNjg3IC8qIEZUTFJlY292ZXJ5T3Bjb2RlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTBGNkIxQ0MzMTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExSZWdpc3RlckF0T2Zmc2V0LmNwcCBp
biBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0J5dGVjb2RlTGlzdC5qc29uIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVj
b2RlTGlzdC5qc29uCmluZGV4IGUzZWQxZGNkYTRlMDNhNWYxMWVmOTFlNTYxMTllYjkzMDUxZmI3
ZjYuLjU2Y2JhOTM2YzQ3NTA1ZjU0Njg0MWVkNTdiYjliOGU4ZDNkMTZkOGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxpc3QuanNvbgorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24KQEAgLTk1LDYg
Kzk1LDcgQEAKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX3N3aXRjaF9zdHJpbmciLCAibGVu
Z3RoIiA6IDQgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX25ld19mdW5jIiwgImxlbmd0
aCIgOiA0IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfZnVuY19leHAiLCAibGVu
Z3RoIiA6IDQgfSwKKyAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX25ld19hcnJvd19mdW5jX2V4
cCIsICJsZW5ndGgiIDogNSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbCIsICJs
ZW5ndGgiIDogOSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbF9ldmFsIiwgImxl
bmd0aCIgOiA5IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9jYWxsX3ZhcmFyZ3MiLCAi
bGVuZ3RoIiA6IDkgfSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9CeXRlY29kZVVzZURlZi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVj
b2RlVXNlRGVmLmgKaW5kZXggNzY2N2U2ODNlNDU0YTQ5OTk4NmVkYWNkOTBiNjQ5MTcyNDIwMzdj
ZC4uZGE0YTJhYWVlYzI4NDU5NDFhZTM2NmRjZmI5ODU5MWNjYjNjY2Q0NSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgKQEAgLTExNSw2ICsx
MTUsOSBAQCB2b2lkIGNvbXB1dGVVc2VzRm9yQnl0ZWNvZGVPZmZzZXQoCiAgICAgY2FzZSBvcF9n
ZXRfcHJvcGVydHlfZW51bWVyYXRvcjoKICAgICBjYXNlIG9wX2dldF9lbnVtZXJhYmxlX2xlbmd0
aDoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorI2VuZGlmCiAgICAg
Y2FzZSBvcF90b19pbmRleF9zdHJpbmc6CiAgICAgY2FzZSBvcF9pbml0X2dsb2JhbF9jb25zdF9u
b3A6CiAgICAgY2FzZSBvcF9pbml0X2dsb2JhbF9jb25zdDoKQEAgLTMwNyw2ICszMTAsOSBAQCB2
b2lkIGNvbXB1dGVEZWZzRm9yQnl0ZWNvZGVPZmZzZXQoQ29kZUJsb2NrKiBjb2RlQmxvY2ssIHVu
c2lnbmVkIGJ5dGVjb2RlT2Zmc2V0LAogICAgIGNhc2Ugb3BfbmV3X3JlZ2V4cDoKICAgICBjYXNl
IG9wX25ld19mdW5jOgogICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOgorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6Cisj
ZW5kaWYKICAgICBjYXNlIG9wX2NhbGxfdmFyYXJnczoKICAgICBjYXNlIG9wX2NvbnN0cnVjdF92
YXJhcmdzOgogICAgIGNhc2Ugb3BfZ2V0X2Zyb21fc2NvcGU6CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCmluZGV4IDkwMTM4Zjk3Y2JkODI4Zjk3MmNiMjI0
NDJiZjQwNDQxZDEzZjQwNTYuLjcxODNkMDRkZDg4MmJiNjIyM2ZiYWNlMTdlNWZiYjUwMDkxZDgw
MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2su
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCkBA
IC0xMzAxLDYgKzEzMDEsMTcgQEAgdm9pZCBDb2RlQmxvY2s6OmR1bXBCeXRlY29kZSgKICAgICAg
ICAgICAgIG91dC5wcmludGYoIiVzLCAlcywgZiVkIiwgcmVnaXN0ZXJOYW1lKHIwKS5kYXRhKCks
IHJlZ2lzdGVyTmFtZShyMSkuZGF0YSgpLCBmMCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGNhc2Ug
b3BfbmV3X2Fycm93X2Z1bmNfZXhwOiB7CisgICAgICAgICAgICBpbnQgcjAgPSAoKytpdCktPnUu
b3BlcmFuZDsKKyAgICAgICAgICAgIGludCByMSA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAg
ICAgICAgaW50IGYwID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBpbnQgcjIgPSAo
KytpdCktPnUub3BlcmFuZDsKKyAgICAgICAgICAgIHByaW50TG9jYXRpb25BbmRPcChvdXQsIGV4
ZWMsIGxvY2F0aW9uLCBpdCwgIm9wX25ld19hcnJvd19mdW5jX2V4cCIpOworICAgICAgICAgICAg
b3V0LnByaW50ZigiJXMsICVzLCBmJWQsICVzIiwgcmVnaXN0ZXJOYW1lKHIwKS5kYXRhKCksIHJl
Z2lzdGVyTmFtZShyMSkuZGF0YSgpLCBmMCwgcmVnaXN0ZXJOYW1lKHIyKS5kYXRhKCkpOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBjYXNlIG9wX25ld19m
dW5jX2V4cDogewogICAgICAgICAgICAgaW50IHIwID0gKCsraXQpLT51Lm9wZXJhbmQ7CiAgICAg
ICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUub3BlcmFuZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKaW5kZXgg
MmYyMWU0OWI2NTEwZjFiZTU4ZDA5YzMxNDA1ZTM3Y2E5ZWRiMzE5Zi4uNDE4ODlhYTM0ZGFmZmYx
MDY0MDA2ZmM4MzBkOTdmZjBmMDY2YjJhNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKQEAgLTE3NzUsNiAr
MTc3NSwyMiBAQCBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Z1bmN0aW9u
RXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVuY0V4cAogICAgIGluc3RydWN0aW9ucygpLmFw
cGVuZChpbmRleCk7CiAgICAgcmV0dXJuIHIwOwogfQorICAgIAorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCitSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5l
d0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIHIwLCBGdW5jRXhwck5vZGUqIG4p
Cit7CisgICAgZW1pdFREWkNoZWNrKHRoaXNSZWdpc3RlcigpKTsKKyAgICBGdW5jdGlvbkJvZHlO
b2RlKiBmdW5jdGlvbiA9IG4tPmJvZHkoKTsKKyAgICB1bnNpZ25lZCBpbmRleCA9IG1fY29kZUJs
b2NrLT5hZGRGdW5jdGlvbkV4cHIobWFrZUZ1bmN0aW9uKGZ1bmN0aW9uKSk7CisgICAgCisgICAg
ZW1pdE9wY29kZShvcF9uZXdfYXJyb3dfZnVuY19leHApOworICAgIGluc3RydWN0aW9ucygpLmFw
cGVuZChyMC0+aW5kZXgoKSk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHNjb3BlUmVnaXN0
ZXIoKS0+aW5kZXgoKSk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKGluZGV4KTsKKyAgICBp
bnN0cnVjdGlvbnMoKS5hcHBlbmQodGhpc1JlZ2lzdGVyKCktPmluZGV4KCkpOworICAgIHJldHVy
biByMDsKK30KKyNlbmRpZgogCiBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5l
d0RlZmF1bHRDb25zdHJ1Y3RvcihSZWdpc3RlcklEKiBkc3QsIENvbnN0cnVjdG9yS2luZCBjb25z
dHJ1Y3RvcktpbmQsIGNvbnN0IElkZW50aWZpZXImIG5hbWUpCiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXgg
OWFmOGQ0ZmM0ODVkOTg5MjQxYjExMTE4MDkyN2FhYTc2YTk1MzFjNC4uY2E2OGEyOWU2YmYxNWJl
ZTIwYjY5N2EwNGYyODdlY2ZmOGJiYzhjZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaApAQCAtNDU0LDYgKzQ1NCwx
MCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0Z1bmN0aW9u
SW50ZXJuYWwoUmVnaXN0ZXJJRCogZHN0LCB1bnNpZ25lZCBpbmRleCk7CiAgICAgICAgIFJlZ2lz
dGVySUQqIGVtaXROZXdGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogZHN0LCBGdW5jRXhw
ck5vZGUqIGZ1bmMpOwogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3RGVmYXVsdENvbnN0cnVj
dG9yKFJlZ2lzdGVySUQqIGRzdCwgQ29uc3RydWN0b3JLaW5kLCBjb25zdCBJZGVudGlmaWVyJiBu
YW1lKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBSZWdp
c3RlcklEKiBlbWl0TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCosIEZ1bmNF
eHByTm9kZSopOworICAgICAgICBSZWdpc3RlcklEKiBlbWl0VGhpc05vZGVCeXRlY29kZShSZWdp
c3RlcklEKiwgSlNUZXh0UG9zaXRpb24pOworI2VuZGlmCiAgICAgICAgIFJlZ2lzdGVySUQqIGVt
aXROZXdSZWdFeHAoUmVnaXN0ZXJJRCogZHN0LCBSZWdFeHAqKTsKIAogICAgICAgICBSZWdpc3Rl
cklEKiBlbWl0TW92ZUxpbmtUaW1lQ29uc3RhbnQoUmVnaXN0ZXJJRCogZHN0LCBMaW5rVGltZUNv
bnN0YW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIv
Tm9kZXNDb2RlZ2VuLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9k
ZXNDb2RlZ2VuLmNwcAppbmRleCAwZjBiNzhmMGU1OTFkOWJiMTZiOTU4MWQ1ZDU2MDRkNDhlNWI3
NzZmLi5kOTQ3YWZjYjY4OGZhYjAwOGZmYzkyODBlMjg5YzVhZDZiOWEyZGE3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCkBA
IC0yOTAxLDYgKzI5MDEsMTQgQEAgUmVnaXN0ZXJJRCogRnVuY0V4cHJOb2RlOjplbWl0Qnl0ZWNv
ZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCoKICAgICByZXR1cm4g
Z2VuZXJhdG9yLmVtaXROZXdGdW5jdGlvbkV4cHJlc3Npb24oZ2VuZXJhdG9yLmZpbmFsRGVzdGlu
YXRpb24oZHN0KSwgdGhpcyk7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKSAgICAKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBBcnJvd0Z1bmNFeHBy
Tm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1JlZ2lzdGVySUQqIEFycm93
RnVuY0V4cHJOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwg
UmVnaXN0ZXJJRCogZHN0KQoreworICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdE5ld0Fycm93RnVu
Y3Rpb25FeHByZXNzaW9uKGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHRoaXMpOwor
fQorI2VuZGlmCisgICAgCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAvLyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ2xhc3NEZWNsTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCmluZGV4IDY5MGIyOGZjZTkxZWFhYjdm
MjIzNDRjMjNhMmI1OTlhOTZkNDgzMjAuLjIwY2VlNWUwOWNiNTJjMGNjOWRhZDFhY2U1NzkwMTU4
OWRmOGUxOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJh
Y3RJbnRlcnByZXRlcklubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKQEAgLTE1MzQsNyArMTUzNCwxMyBAQCBib29s
IEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyh1
bnNpZ25lZCBjbG9iYmVyTGltaQogICAgIGNhc2UgQ3JlYXRlQ2xvbmVkQXJndW1lbnRzOgogICAg
ICAgICBmb3JOb2RlKG5vZGUpLnNldFR5cGUobV9ncmFwaCwgU3BlY09iamVjdE90aGVyKTsKICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIAorICAgICAgICAgICAgCisgICAgY2FzZSBOZXdBcnJvd0Z1
bmN0aW9uOgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGZv
ck5vZGUobm9kZSkuc2V0KAorICAgICAgICAgICAgbV9ncmFwaCwgbV9jb2RlQmxvY2stPmdsb2Jh
bE9iamVjdEZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMpLT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJl
KCkpOworI2VuZGlmCisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgTmV3RnVuY3Rpb246CiAgICAg
ICAgIGZvck5vZGUobm9kZSkuc2V0KAogICAgICAgICAgICAgbV9ncmFwaCwgbV9jb2RlQmxvY2st
Pmdsb2JhbE9iamVjdEZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMpLT5mdW5jdGlvblN0cnVjdHVy
ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0
aWVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcApp
bmRleCBlZjRjMjQ3NDliNzhmYTZlMDlhNGMzZDljMjkwMTNlYWE2NWRhYTkyLi4wZTNjODgwYjdj
Y2NiOWI3NTBhYTMwODk1ZjA2OTU5OGQ1MmRmZmIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCkBAIC0yMzEsNiArMjMxLDcgQEAgQ2FwYWJpbGl0
eUxldmVsIGNhcGFiaWxpdHlMZXZlbChPcGNvZGVJRCBvcGNvZGVJRCwgQ29kZUJsb2NrKiBjb2Rl
QmxvY2ssIEluc3RydWMKICAgICBjYXNlIG9wX3N3aXRjaF9zdHJpbmc6IC8vIERvbid0IGlubGlu
ZSBiZWNhdXNlIHdlIGRvbid0IHdhbnQgdG8gY29weSBzdHJpbmcgdGFibGVzIGluIHRoZSBjb25j
dXJyZW50IEpJVC4KICAgICAgICAgcmV0dXJuIENhbkNvbXBpbGU7CiAKKyAgICBjYXNlIG9wX25l
d19hcnJvd19mdW5jX2V4cDogLy8gRml4bWU6IEFycm93IGZ1bmN0aW9uIGNhbm4ndCBiZSBpbmxp
bmUgYXMgdGhlIGNvbW1vbiBmdW5jdGlvbiBiZWNhdXNlIGl0IGhhcyBsZXhpY2FseSBiaW5kIHRo
aXMvYXJndW1lbnRzIGFuZCBldGMuIGFuZCAgYXJyb3cgZnVuY3Rpb24gaGFzIHRvIGhhdmUgaXRz
IG93biBjb21waWxlIGFuZCBpbmxpbmUgYXBwcm9hY2guCiAgICAgZGVmYXVsdDoKICAgICAgICAg
cmV0dXJuIENhbm5vdENvbXBpbGU7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0Nsb2JiZXJpemUuaAppbmRleCBkMzg1NzllMzRiYjgwNjQzMjcxOTZlYzI1MGM2OTMxMTE0MWYx
YzAzLi5lY2M3YmY4ZjI1ZGRmYWZmYTgyMmIyYjNlNDVkYWNiOGNjMDYzMDk1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaApAQCAtODYxLDcgKzg2MSw4IEBAIHZv
aWQgY2xvYmJlcml6ZShHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUsIGNvbnN0IFJlYWRGdW5jdG9y
JiByZWFkLCBjb25zdCBXcml0ZUZ1CiAgICAgICAgIHJlYWQoSGVhcE9iamVjdENvdW50KTsKICAg
ICAgICAgd3JpdGUoSGVhcE9iamVjdENvdW50KTsKICAgICAgICAgcmV0dXJuOwotICAgICAgICAK
KyAgICAKKyAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246CiAgICAgY2FzZSBOZXdGdW5jdGlvbjoK
ICAgICAgICAgaWYgKG5vZGUtPmNhc3RPcGVyYW5kPEZ1bmN0aW9uRXhlY3V0YWJsZSo+KCktPnNp
bmdsZXRvbkZ1bmN0aW9uKCktPmlzU3RpbGxWYWxpZCgpKQogICAgICAgICAgICAgd3JpdGUoV2F0
Y2hwb2ludF9maXJlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
RG9lc0dDLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcAppbmRl
eCA0ODcxZjBhOTYyMzFkMTczZWQ5MDE2Mjc1MGYwOTRjN2UxYjExNWIyLi40MWE3MjEzODljNTFj
MWQ5MmNkOGVkZjE1NmU4NmY1MDI5MjRkNjlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0RvZXNHQy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdEb2VzR0MuY3BwCkBAIC0yMjgsNiArMjI4LDcgQEAgYm9vbCBkb2VzR0MoR3JhcGgmIGdyYXBo
LCBOb2RlKiBub2RlKQogICAgIGNhc2UgTmV3UmVnZXhwOgogICAgIGNhc2UgTmV3U3RyaW5nT2Jq
ZWN0OgogICAgIGNhc2UgTWFrZVJvcGU6CisgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgogICAg
IGNhc2UgTmV3RnVuY3Rpb246CiAgICAgY2FzZSBOZXdUeXBlZEFycmF5OgogICAgIGNhc2UgVGhy
b3dSZWZlcmVuY2VFcnJvcjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHRml4dXBQaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhh
c2UuY3BwCmluZGV4IDY1MmNiNmEyMmE5MWU4Y2I2ZmE4MzE2YzNkOGMyOWViYmE3ZDU2YTMuLjMx
NGI4ZWY4MGE5OTc0OTAzNzJkZTkxMWQwOWRkN2RjOWZiMTcyMTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcApAQCAtMTE4Miw2ICsxMTgyLDcgQEAgcHJp
dmF0ZToKIAogICAgICAgICBjYXNlIENyZWF0ZVNjb3BlZEFyZ3VtZW50czoKICAgICAgICAgY2Fz
ZSBDcmVhdGVBY3RpdmF0aW9uOgorICAgICAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246CiAgICAg
ICAgIGNhc2UgTmV3RnVuY3Rpb246IHsKICAgICAgICAgICAgIGZpeEVkZ2U8Q2VsbFVzZT4obm9k
ZS0+Y2hpbGQxKCkpOwogICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Tm9kZS5oCmluZGV4IGZiNDQ1Yjc2MmYxY2I1ODRlNDlhMzFiMzg2NmNmY2JjMzA5ODAwYmEuLjBj
ZDY5YTc3OTVhYmIzOWFiN2FiNmExZTc1NTU5MjZjMWY1ZDk2OGYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHTm9kZS5oCkBAIC0xMjY3LDYgKzEyNjcsNyBAQCBzdHJ1Y3QgTm9kZSB7CiAgICAg
ICAgIGNhc2UgQ2hlY2tDZWxsOgogICAgICAgICBjYXNlIE5hdGl2ZUNvbnN0cnVjdDoKICAgICAg
ICAgY2FzZSBOYXRpdmVDYWxsOgorICAgICAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246CiAgICAg
ICAgIGNhc2UgTmV3RnVuY3Rpb246CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAg
ZGVmYXVsdDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5
cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAppbmRleCBiOWYw
MjVmYjlhYjhiN2RkNTU3M2QwZDc4NGM2NWRlMzY2MGM1ZTA5Li40NzQ4NzFlN2FmNTRmYzQ3ODcz
Y2Q1MGVmNWRmMWY5NWIxMGJiNzA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR05vZGVUeXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2Rl
VHlwZS5oCkBAIC0yOTEsNiArMjkxLDggQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcg
ewogICAgIFwKICAgICBtYWNybyhOZXdGdW5jdGlvbiwgTm9kZVJlc3VsdEpTKSBcCiAgICAgXAor
ICAgIG1hY3JvKE5ld0Fycm93RnVuY3Rpb24sIE5vZGVSZXN1bHRKUyB8IE5vZGVNdXN0R2VuZXJh
dGUpIFwKKyAgICBcCiAgICAgLyogVGhlc2UgYXJlbid0IHRlcm1pbmFscyBidXQgYWx3YXlzIGV4
aXQgKi8gXAogICAgIG1hY3JvKFRocm93LCBOb2RlTXVzdEdlbmVyYXRlKSBcCiAgICAgbWFjcm8o
VGhyb3dSZWZlcmVuY2VFcnJvciwgTm9kZU11c3RHZW5lcmF0ZSkgXApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNl
LmNwcAppbmRleCBmZGI4ZmRhNTgxZWY0YzUwYmQxMDU1MDgyNzZhMTdhZWZiN2I2YzhjLi4zMDMy
OWI1YWYyNzQ0NTY4YTkzNTE2MzNmYWQ5ZTEyMzM2Y2MxOThkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNl
LmNwcApAQCAtMjE3LDYgKzIxNyw3IEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgR2V0R2V0dGVy
OgogICAgICAgICBjYXNlIEdldFNldHRlcjoKICAgICAgICAgY2FzZSBHZXRDYWxsZWU6CisgICAg
ICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKICAgICAgICAgY2FzZSBOZXdGdW5jdGlvbjogewog
ICAgICAgICAgICAgY2hhbmdlZCB8PSBzZXRQcmVkaWN0aW9uKFNwZWNGdW5jdGlvbik7CiAgICAg
ICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U2FmZVRvRXhlY3V0ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVj
dXRlLmgKaW5kZXggYWE1YTcxYzE3Zjg4YjY4OGUzZmE1YjU3YjhkY2FiMjIzNDVkNGYxZS4uYjZj
NTBiNDQ1N2MwNjliZjFkMDcxZjM5YjE3ZWJmN2I5ZGFkMzc1YiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKQEAgLTIyOCw2ICsyMjgsNyBAQCBib29s
IHNhZmVUb0V4ZWN1dGUoQWJzdHJhY3RTdGF0ZVR5cGUmIHN0YXRlLCBHcmFwaCYgZ3JhcGgsIE5v
ZGUqIG5vZGUpCiAgICAgY2FzZSBDcmVhdGVDbG9uZWRBcmd1bWVudHM6CiAgICAgY2FzZSBHZXRG
cm9tQXJndW1lbnRzOgogICAgIGNhc2UgUHV0VG9Bcmd1bWVudHM6CisgICAgY2FzZSBOZXdBcnJv
d0Z1bmN0aW9uOgogICAgIGNhc2UgTmV3RnVuY3Rpb246CiAgICAgY2FzZSBKdW1wOgogICAgIGNh
c2UgQnJhbmNoOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VC5oCmluZGV4IDlkNzJlODkzNzMyY2I3YWU5Njg4NjY3M2VkMDVlNWVmNTVkMWQxYjEuLjU1N2M1
MzE3OTE1NzBkNWY2ZWM3YjEyNjQ0ZjhkZDFlOTRhNjRhMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKQEAgLTExOTksNiArMTE5OSwxMiBAQCBw
dWJsaWM6CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBU
cnVzdGVkSW1tUHRyKGNlbGwpKTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0
aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KKyAgICAKKyAgICBK
SVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKc2NDSiBvcGVy
YXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxLCBKU0NlbGwqIGNlbGwsIEdQUlJlZyBh
cmcyKQorICAgIHsKKyAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFy
ZzEsIFRydXN0ZWRJbW1QdHIoY2VsbCksIGFyZzIpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2Fs
bFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CisgICAgfQog
CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FV3Mg
b3BlcmF0aW9uLCBXYXRjaHBvaW50U2V0KiB3YXRjaHBvaW50U2V0KQogICAgIHsKQEAgLTE2MDUs
NiArMTYxMSwxMSBAQCBwdWJsaWM6CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4
ZWNTdGF0ZShhcmcxLCBUcnVzdGVkSW1tUHRyKGNlbGwpKTsKICAgICAgICAgcmV0dXJuIGFwcGVu
ZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQYXlsb2Fk
LCByZXN1bHRUYWcpOwogICAgIH0KKyAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9u
KEpfSklUT3BlcmF0aW9uX0VKc2NDSiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHRUYWcsIEdQUlJl
ZyByZXN1bHRQYXlsb2FkLCBHUFJSZWcgYXJnMSwgSlNDZWxsKiBjZWxsLCBHUFJSZWcgYXJnMikK
KyAgICB7CisgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBU
cnVzdGVkSW1tUHRyKGNlbGwpLCBhcmcyKTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRo
RXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRU
YWcpOworICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3Bl
cmF0aW9uX0VTc2lDSSBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHRUYWcsIEdQUlJlZyByZXN1bHRQ
YXlsb2FkLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEdQUlJlZyBhcmcxLCBjb25zdCBT
dHJpbmdJbXBsKiB1aWQpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhF
eGVjU3RhdGUoVHJ1c3RlZEltbVB0cihzdHViSW5mbyksIGFyZzEsIFRydXN0ZWRJbW1QdHIodWlk
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklUMzJfNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VDMyXzY0LmNwcAppbmRleCBmZDlmMzUwYjE4ZGM1ZWFhMTg2YmJiNzYxNzU3OWI1YmEwMDE3MTY1
Li5mMzY5MDIyODEyMmJmNmQ0YTkwZTY2NGI2MjA5MWMwOTZhOGZkODczIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKQEAg
LTQyODMsNyArNDI4MywxMSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5v
ZGUpCiAgICAgICAgIGNvbXBpbGVDcmVhdGVDbG9uZWRBcmd1bWVudHMobm9kZSk7CiAgICAgICAg
IGJyZWFrOwogICAgIH0KLSAgICAgICAgCisgICAgCisgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9u
OgorICAgICAgICBERkdfQ1JBU0gobV9qaXQuZ3JhcGgoKSwgbm9kZSwgIkFycm93IGZ1bmN0aW9u
IGNhblwndCBiZSBjb21waWxlZCBpbiBERkciKTsKKyAgICAgICAgYnJlYWs7CisgICAgICAgICAg
ICAKICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgICAgICBjb21waWxlTmV3RnVuY3Rpb24obm9k
ZSk7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQ2NC5jcHAKaW5kZXggMWQwODU3ZjNmNWQ3YjJjMWNjMjA0NmExMGVkYWU0
MDMzMzM0ODMzNS4uMGYzNTc1YjVlMjMxNTY0YWFmM2FiYTZjOTUwNjYyZWJkMDEzYjg0ZiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3Bw
CkBAIC00MzE3LDExICs0MzE3LDE1IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9k
ZSogbm9kZSkKICAgICAgICAgY29tcGlsZUNyZWF0ZUNsb25lZEFyZ3VtZW50cyhub2RlKTsKICAg
ICAgICAgYnJlYWs7CiAgICAgfQotICAgICAgICAKKworICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlv
bjoKKyAgICAgICAgREZHX0NSQVNIKG1faml0LmdyYXBoKCksIG5vZGUsICJBcnJvdyBmdW5jdGlv
biBjYW5cJyBpbiBERkciKTsKKyAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAKICAgICBjYXNl
IE5ld0Z1bmN0aW9uOgogICAgICAgICBjb21waWxlTmV3RnVuY3Rpb24obm9kZSk7CiAgICAgICAg
IGJyZWFrOwotICAgICAgICAKKwogICAgIGNhc2UgSW46CiAgICAgICAgIGNvbXBpbGVJbihub2Rl
KTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1N0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3RydWN0dXJlUmVnaXN0cmF0aW9uUGhhc2UuY3BwCmluZGV4IDI4NjQ2ZDEzZmNm
NGM5NjVjNjIwZDAwMjExYjBkY2JmMDNiMzdjMmQuLjJjNDJkZjNjMDIzODNlNzFmNWVjOTU4NmEy
NzhmYmIxZGIxMzA4MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3RydWN0dXJlUmVnaXN0cmF0aW9uUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3RydWN0dXJlUmVnaXN0cmF0aW9uUGhhc2UuY3BwCkBAIC0xMzAsNyArMTMwLDEx
IEBAIHB1YmxpYzoKICAgICAgICAgICAgICAgICBjYXNlIE5ld1JlZ2V4cDoKICAgICAgICAgICAg
ICAgICAgICAgcmVnaXN0ZXJTdHJ1Y3R1cmUobV9ncmFwaC5nbG9iYWxPYmplY3RGb3Iobm9kZS0+
b3JpZ2luLnNlbWFudGljKS0+cmVnRXhwU3RydWN0dXJlKCkpOwogICAgICAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgY2FzZSBOZXdB
cnJvd0Z1bmN0aW9uOgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAg
ICAgICAgICAgICAgICAgIHJlZ2lzdGVyU3RydWN0dXJlKG1fZ3JhcGguZ2xvYmFsT2JqZWN0Rm9y
KG5vZGUtPm9yaWdpbi5zZW1hbnRpYyktPmFycm93RnVuY3Rpb25TdHJ1Y3R1cmUoKSk7CisjZW5k
aWYKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgY2FzZSBOZXdG
dW5jdGlvbjoKICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXJTdHJ1Y3R1cmUobV9ncmFwaC5n
bG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKS0+ZnVuY3Rpb25TdHJ1Y3R1cmUo
KSk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5jcHAKaW5kZXggZTQxNmZk
YWFmZWUyMjI5ZjY1M2I5YWUwNjI0ODAwMDk5OTg3NWEwMC4uM2MzODY0Y2ExODBhYTM2ZTQ4MDhj
MjNhMTMwNmJlMjhlNWQ3YjkwMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAK
ICNpbmNsdWRlICJEaXJlY3RBcmd1bWVudHMuaCIKICNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIK
KyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0Vudmlyb25tZW50UmVj
b3JkLmgiCiAjaW5jbHVkZSAiSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgiCiAjaW5jbHVkZSAi
SlNTY29wZS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0
cmFjdEhlYXBSZXBvc2l0b3J5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3Ry
YWN0SGVhcFJlcG9zaXRvcnkuaAppbmRleCA5MTI3NTRkZmM0MDE1MmIwZWQyNDgzNmFjNzViOGY5
Njk4NDM5OWJiLi5lZWIyMDhiZTFmNDZjZmM0MmI5NDk1YTlmYTkyMWZiY2Q2ZDgyZGE3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRv
cnkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9z
aXRvcnkuaApAQCAtODgsNiArODgsMTMgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwg
ewogICAgIG1hY3JvKFN0cnVjdHVyZV9nbG9iYWxPYmplY3QsIFN0cnVjdHVyZTo6Z2xvYmFsT2Jq
ZWN0T2Zmc2V0KCkpIFwKICAgICBtYWNybyhTdHJ1Y3R1cmVfcHJvdG90eXBlLCBTdHJ1Y3R1cmU6
OnByb3RvdHlwZU9mZnNldCgpKSBcCiAgICAgbWFjcm8oU3RydWN0dXJlX3N0cnVjdHVyZUlELCBT
dHJ1Y3R1cmU6OnN0cnVjdHVyZUlET2Zmc2V0KCkpCisgICAgCisjZGVmaW5lIEZPUl9FQUNIX0FC
U1RSQUNUX0ZJRUxEX0FSUk9XRlVOQ1RJT04obWFjcm8pIFwKKyAgICBtYWNybyhKU0Fycm93RnVu
Y3Rpb25fZXhlY3V0YWJsZSwgSlNBcnJvd0Z1bmN0aW9uOjpvZmZzZXRPZkV4ZWN1dGFibGUoKSkg
XAorICAgIG1hY3JvKEpTQXJyb3dGdW5jdGlvbl9zY29wZSwgSlNBcnJvd0Z1bmN0aW9uOjpvZmZz
ZXRPZlNjb3BlQ2hhaW4oKSkgXAorICAgIG1hY3JvKEpTQXJyb3dGdW5jdGlvbl9yYXJlRGF0YSwg
SlNBcnJvd0Z1bmN0aW9uOjpvZmZzZXRPZlJhcmVEYXRhKCkpIFwKKyAgICBtYWNybyhKU0Fycm93
RnVuY3Rpb25fdGhpcywgSlNBcnJvd0Z1bmN0aW9uOjpvZmZzZXRPZlRoaXNWYWx1ZSgpKQorICAg
IAogCiAjZGVmaW5lIEZPUl9FQUNIX0lOREVYRURfQUJTVFJBQ1RfSEVBUChtYWNybykgXAogICAg
IG1hY3JvKERpcmVjdEFyZ3VtZW50c19zdG9yYWdlLCBEaXJlY3RBcmd1bWVudHM6OnN0b3JhZ2VP
ZmZzZXQoKSwgc2l6ZW9mKEVuY29kZWRKU1ZhbHVlKSkgXApAQCAtMTI5LDYgKzEzNiw5IEBAIHB1
YmxpYzoKIAogI2RlZmluZSBBQlNUUkFDVF9GSUVMRF9ERUNMQVJBVElPTihuYW1lLCBvZmZzZXQp
IEFic3RyYWN0RmllbGQgbmFtZTsKICAgICBGT1JfRUFDSF9BQlNUUkFDVF9GSUVMRChBQlNUUkFD
VF9GSUVMRF9ERUNMQVJBVElPTikKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgIEZPUl9FQUNIX0FCU1RSQUNUX0ZJRUxEX0FSUk9XRlVOQ1RJT04oQUJTVFJBQ1RfRklF
TERfREVDTEFSQVRJT04pCisjZW5kaWYKICN1bmRlZiBBQlNUUkFDVF9GSUVMRF9ERUNMQVJBVElP
TgogICAgIAogICAgIEFic3RyYWN0RmllbGQmIEpTQ2VsbF9mcmVlTGlzdE5leHQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAKaW5kZXggNjBkY2Y3OTE5
MzIzYzU3NWI0NzgwNjAxNzJiMmNkNTM3ZWRkZTY3OC4uOGVlNzhmZWQwYTJiZGI4MTRkNWYwYTFk
MGUwMmQ3Zjc4Zjk1YmNmNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExDYXBhYmlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2Fw
YWJpbGl0aWVzLmNwcApAQCAtMTAzLDYgKzEwMyw3IEBAIGlubGluZSBDYXBhYmlsaXR5TGV2ZWwg
Y2FuQ29tcGlsZShOb2RlKiBub2RlKQogICAgIGNhc2UgTG9vcEhpbnQ6CiAgICAgY2FzZSBTa2lw
U2NvcGU6CiAgICAgY2FzZSBDcmVhdGVBY3RpdmF0aW9uOgorICAgIGNhc2UgTmV3QXJyb3dGdW5j
dGlvbjoKICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgIGNhc2UgR2V0Q2xvc3VyZVZhcjoKICAg
ICBjYXNlIFB1dENsb3N1cmVWYXI6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRvcnkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMSW50cmluc2ljUmVwb3NpdG9yeS5oCmluZGV4IDA5N2I3MWNjNjQzNzYzNzZlYmJlYWMwNjc0
NmZkY2MwYmJmY2U2ODguLmQ5Y2YwNDc4YTM4YmEzNjFiMjViNDU0M2Q2NjZlZWM0NzZmYmU4NmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSW50cmluc2ljUmVwb3Np
dG9yeS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSW50cmluc2ljUmVwb3Np
dG9yeS5oCkBAIC04Myw2ICs4Myw3IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsK
ICAgICBtYWNybyhKX0pJVE9wZXJhdGlvbl9FSkMsIGZ1bmN0aW9uVHlwZShpbnQ2NCwgaW50UHRy
LCBpbnQ2NCwgaW50UHRyKSkgXAogICAgIG1hY3JvKEpfSklUT3BlcmF0aW9uX0VKSiwgZnVuY3Rp
b25UeXBlKGludDY0LCBpbnRQdHIsIGludDY0LCBpbnQ2NCkpIFwKICAgICBtYWNybyhKX0pJVE9w
ZXJhdGlvbl9FSnNjQywgZnVuY3Rpb25UeXBlKGludFB0ciwgaW50UHRyLCBpbnRQdHIsIGludFB0
cikpIFwKKyAgICBtYWNybyhKX0pJVE9wZXJhdGlvbl9FSnNjQ0osIGZ1bmN0aW9uVHlwZShpbnQ2
NCwgaW50UHRyLCBpbnQ2NCwgaW50NjQsIGludDY0KSlcCiAgICAgbWFjcm8oSl9KSVRPcGVyYXRp
b25fRUpzc1osIGZ1bmN0aW9uVHlwZShpbnQ2NCwgaW50UHRyLCBpbnRQdHIsIGludDMyKSkgXAog
ICAgIG1hY3JvKEpfSklUT3BlcmF0aW9uX0VTc2lKSSwgZnVuY3Rpb25UeXBlKGludDY0LCBpbnRQ
dHIsIGludFB0ciwgaW50NjQsIGludFB0cikpIFwKICAgICBtYWNybyhKc3NfSklUT3BlcmF0aW9u
X0VaLCBmdW5jdGlvblR5cGUoaW50UHRyLCBpbnRQdHIsIGludDMyKSkgXApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAppbmRleCBkOTAyYWU3MzQy
ZThiNDYzYjMzYTFlNWQ5N2RlNmUxODg2ODk5ZTQyLi5mZDhhYzM3ODk0MDkxYjE2YzkyOTRlZjk3
MzAzOTFkODlmNDFkYTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TExvd2VyREZHVG9MTFZNLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExv
d2VyREZHVG9MTFZNLmNwcApAQCAtNDMsNiArNDMsNyBAQAogI2luY2x1ZGUgIkZUTE91dHB1dC5o
IgogI2luY2x1ZGUgIkZUTFRodW5rcy5oIgogI2luY2x1ZGUgIkZUTFdlaWdodGVkVGFyZ2V0Lmgi
CisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgog
I2luY2x1ZGUgIkpTTGV4aWNhbEVudmlyb25tZW50LmgiCiAjaW5jbHVkZSAiT3BlcmFuZHNJbmxp
bmVzLmgiCkBAIC02MDYsNiArNjA3LDExIEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgQ3JlYXRl
QWN0aXZhdGlvbjoKICAgICAgICAgICAgIGNvbXBpbGVDcmVhdGVBY3RpdmF0aW9uKCk7CiAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgICAgICBjb21waWxlTmV3QXJyb3dG
dW5jdGlvbigpOworI2VuZGlmCisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBOZXdG
dW5jdGlvbjoKICAgICAgICAgICAgIGNvbXBpbGVOZXdGdW5jdGlvbigpOwogICAgICAgICAgICAg
YnJlYWs7CkBAIC0yOTY3LDYgKzI5NzMsNTIgQEAgcHJpdmF0ZToKICAgICAgICAgc2V0SlNWYWx1
ZShtX291dC5waGkobV9vdXQuaW50UHRyLCBmYXN0UmVzdWx0LCBzbG93UmVzdWx0KSk7CiAgICAg
fQogICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdm9pZCBj
b21waWxlTmV3QXJyb3dGdW5jdGlvbigpCisgICAgeworCisgICAgICAgIExWYWx1ZSBzY29wZSA9
IGxvd0NlbGwobV9ub2RlLT5jaGlsZDEoKSk7CisgICAgICAgIExWYWx1ZSB0aGlzVmFsdWUgPSBs
b3dKU1ZhbHVlKG1fbm9kZS0+Y2hpbGQyKCkpOworICAgICAgICBGdW5jdGlvbkV4ZWN1dGFibGUq
IGV4ZWN1dGFibGUgPSBtX25vZGUtPmNhc3RPcGVyYW5kPEZ1bmN0aW9uRXhlY3V0YWJsZSo+KCk7
CisgICAgICAgIGlmIChleGVjdXRhYmxlLT5zaW5nbGV0b25GdW5jdGlvbigpLT5pc1N0aWxsVmFs
aWQoKSkgeworICAgICAgICAgICAgTFZhbHVlIGNhbGxSZXN1bHQgPSB2bUNhbGwoCisgICAgICAg
ICAgICAgICAgbV9vdXQub3BlcmF0aW9uKG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24pLAorICAg
ICAgICAgICAgICAgIG1fY2FsbEZyYW1lLCBzY29wZSwgd2Vha1BvaW50ZXIoZXhlY3V0YWJsZSks
IHRoaXNWYWx1ZSk7CisgICAgICAgICAgICBzZXRKU1ZhbHVlKGNhbGxSZXN1bHQpOworICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSA9IG1fZ3JhcGguZ2xvYmFsT2JqZWN0Rm9yKG1fbm9kZS0+b3JpZ2luLnNlbWFudGlj
KS0+YXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpOworICAgICAgICAKKyAgICAgICAgTEJhc2ljQmxv
Y2sgc2xvd1BhdGggPSBGVExfTkVXX0JMT0NLKG1fb3V0LCAoIk5ld0Fycm93RnVuY3Rpb24gc2xv
dyBwYXRoIikpOworICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBGVExfTkVXX0JM
T0NLKG1fb3V0LCAoIk5ld0Fycm93RnVuY3Rpb24gY29udGludWF0aW9uIikpOworICAgICAgICAK
KyAgICAgICAgTEJhc2ljQmxvY2sgbGFzdE5leHQgPSBtX291dC5pbnNlcnROZXdCbG9ja3NCZWZv
cmUoc2xvd1BhdGgpOworICAgICAgICAKKyAgICAgICAgTFZhbHVlIGZhc3RPYmplY3QgPSBhbGxv
Y2F0ZU9iamVjdDxKU0Fycm93RnVuY3Rpb24+KHN0cnVjdHVyZSwgbV9vdXQuaW50UHRyWmVybywg
c2xvd1BhdGgpOworICAgICAgICAKKyAgICAgICAgLy8gV2UgZG9uJ3QgbmVlZCBtZW1vcnkgYmFy
cmllcnMgc2luY2Ugd2UganVzdCBmYXN0LWNyZWF0ZWQgdGhlIGZ1bmN0aW9uLCBzbyBpdAorICAg
ICAgICAvLyBtdXN0IGJlIHlvdW5nLgorICAgICAgICBtX291dC5zdG9yZVB0cihzY29wZSwgZmFz
dE9iamVjdCwgbV9oZWFwcy5KU0Fycm93RnVuY3Rpb25fc2NvcGUpOworICAgICAgICBtX291dC5z
dG9yZVB0cih3ZWFrUG9pbnRlcihleGVjdXRhYmxlKSwgZmFzdE9iamVjdCwgbV9oZWFwcy5KU0Fy
cm93RnVuY3Rpb25fZXhlY3V0YWJsZSk7CisgICAgICAgIG1fb3V0LnN0b3JlUHRyKHRoaXNWYWx1
ZSwgZmFzdE9iamVjdCwgbV9oZWFwcy5KU0Fycm93RnVuY3Rpb25fdGhpcyk7CisgICAgICAgIG1f
b3V0LnN0b3JlUHRyKG1fb3V0LmludFB0clplcm8sIGZhc3RPYmplY3QsIG1faGVhcHMuSlNBcnJv
d0Z1bmN0aW9uX3JhcmVEYXRhKTsKKyAgICAgICAgCisgICAgICAgIFZhbHVlRnJvbUJsb2NrIGZh
c3RSZXN1bHQgPSBtX291dC5hbmNob3IoZmFzdE9iamVjdCk7CisgICAgICAgIG1fb3V0Lmp1bXAo
Y29udGludWF0aW9uKTsKKyAgICAgICAgCisgICAgICAgIG1fb3V0LmFwcGVuZFRvKHNsb3dQYXRo
LCBjb250aW51YXRpb24pOworICAgICAgICBMVmFsdWUgY2FsbFJlc3VsdCA9IHZtQ2FsbCgKKyAg
ICAgICAgICAgIG1fb3V0Lm9wZXJhdGlvbihvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uV2l0aElu
dmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludCksCisgICAgICAgICAgICBtX2NhbGxGcmFt
ZSwgc2NvcGUsIHdlYWtQb2ludGVyKGV4ZWN1dGFibGUpLCB0aGlzVmFsdWUpOworICAgICAgICBW
YWx1ZUZyb21CbG9jayBzbG93UmVzdWx0ID0gbV9vdXQuYW5jaG9yKGNhbGxSZXN1bHQpOworICAg
ICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7CisgICAgICAgIAorICAgICAgICBtX291dC5h
cHBlbmRUbyhjb250aW51YXRpb24sIGxhc3ROZXh0KTsKKyAgICAgICAgc2V0SlNWYWx1ZShtX291
dC5waGkobV9vdXQuaW50UHRyLCBmYXN0UmVzdWx0LCBzbG93UmVzdWx0KSk7CisgICAgfQorI2Vu
ZGlmCisgICAgCiAgICAgdm9pZCBjb21waWxlQ3JlYXRlRGlyZWN0QXJndW1lbnRzKCkKICAgICB7
CiAgICAgICAgIC8vIEZJWE1FOiBBIG1vcmUgZWZmZWN0aXZlIHdheSBvZiBkZWFsaW5nIHdpdGgg
dGhlIGFyZ3VtZW50IGNvdW50IGFuZCBjYWxsZWUgaXMgdG8gaGF2ZQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKaW5kZXggMTdkZDNiNGY0
NWY1NmZmMjAwMjNkNzNiNzVkYzdkNzBiNjM0OTY4Zi4uMjAwMDVjMDcxNTMzYjE2ODNhZmRhMmQ2
MmRjNjVjMDE2N2Q5MTA5NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVy
cHJldGVyL0ludGVycHJldGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCkBAIC00NCw2ICs0NCw3IEBACiAjaW5jbHVkZSAiRXhjZXB0
aW9uSGVscGVycy5oIgogI2luY2x1ZGUgIkdldHRlclNldHRlci5oIgogI2luY2x1ZGUgIkpTQXJy
YXkuaCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0JvdW5kRnVu
Y3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNMZXhpY2FsRW52
aXJvbm1lbnQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0NhbGxI
ZWxwZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxsSGVscGVycy5oCmluZGV4
IGZkMzQ0YWRiY2FiYjE1ZmJkODE0ZWQ2ZmJkNDc4Zjc0YjYxNTc2M2MuLjA3YWNkNmQ1MzJkMzI4
YWZkYjc3YWNmMjAxMzM5MGVmMzlkZDlkNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvQ0NhbGxIZWxwZXJzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9D
Q2FsbEhlbHBlcnMuaApAQCAtMjc0LDYgKzI3NCwxNSBAQCBwdWJsaWM6CiAgICAgICAgIGFkZENh
bGxBcmd1bWVudChhcmcyKTsKICAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzMpOwogICAgIH0K
KyAgICAKKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQgc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRl
KEdQUlJlZyBhcmcxLCBUcnVzdGVkSW1tUHRyIGFyZzIsIEdQUlJlZyBhcmczKQorICAgIHsKKyAg
ICAgICAgcmVzZXRDYWxsQXJndW1lbnRzKCk7CisgICAgICAgIGFkZENhbGxBcmd1bWVudChHUFJJ
bmZvOjpjYWxsRnJhbWVSZWdpc3Rlcik7CisgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmcxKTsK
KyAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzIpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQo
YXJnMyk7CisgICAgfQogCiAgICAgQUxXQVlTX0lOTElORSB2b2lkIHNldHVwQXJndW1lbnRzV2l0
aEV4ZWNTdGF0ZShHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIsIFRydXN0ZWRJbW0zMiBhcmczKQog
ICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAppbmRleCBiNDExM2M0NWU3MmM3ZTE1OGVj
MWYxOTIzY2JmZTI5YzVlZjU0MjgyLi44YTFiYWM4N2ZkMTBiOTg3ZjY0ZmQwYzIxMTMyMTBjYTY3
MDVlZGIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCkBAIC0yNjAsNiArMjYwLDcgQEAg
dm9pZCBKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3MoKQogICAgICAgICBERUZJTkVfT1Aob3Bf
bmV3X2FycmF5X2J1ZmZlcikKICAgICAgICAgREVGSU5FX09QKG9wX25ld19mdW5jKQogICAgICAg
ICBERUZJTkVfT1Aob3BfbmV3X2Z1bmNfZXhwKQorICAgICAgICBERUZJTkVfT1Aob3BfbmV3X2Fy
cm93X2Z1bmNfZXhwKSAKICAgICAgICAgREVGSU5FX09QKG9wX25ld19vYmplY3QpCiAgICAgICAg
IERFRklORV9PUChvcF9uZXdfcmVnZXhwKQogICAgICAgICBERUZJTkVfT1Aob3Bfbm90KQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklULmgKaW5kZXggZDcyMjVlYTRiMmFlNTQzMTg3ODQ0YzIwNzZlYzZlYjhk
NjVkMjFjOS4uZGFhNTIwOTQ4ODU3OTE2MGJiZDljNDdkMDdiNGEwNDU5ZmI4YjAxMiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVC5oCkBAIC01MjEsNiArNTIxLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAg
ICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfYXJyYXlfYnVmZmVyKEluc3RydWN0aW9uKik7CiAgICAg
ICAgIHZvaWQgZW1pdF9vcF9uZXdfZnVuYyhJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVt
aXRfb3BfbmV3X2Z1bmNfZXhwKEluc3RydWN0aW9uKik7CisgICAgICAgIHZvaWQgZW1pdF9vcF9u
ZXdfYXJyb3dfZnVuY19leHAoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX25l
d19vYmplY3QoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX25ld19yZWdleHAo
SW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX25vdChJbnN0cnVjdGlvbiopOwpA
QCAtNzAyLDYgKzcwMyw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBNYWNyb0Fzc2VtYmxl
cjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKSiwgaW50LCBHUFJSZWcsIEdQ
UlJlZyk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRP
cGVyYXRpb25fRUpzYywgR1BSUmVnKTsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2Fs
bE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQywgaW50LCBHUFJSZWcsIEpTQ2VsbCopOwor
ICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9u
X0VKc2NDSiwgaW50LCBHUFJSZWcsIEpTQ2VsbCosIEdQUlJlZyk7CiAgICAgICAgIE1hY3JvQXNz
ZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUpzY1osIEdQUlJlZywg
aW50MzJfdCk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19K
SVRPcGVyYXRpb25fRUpzY1osIGludCwgR1BSUmVnLCBpbnQzMl90KTsKICNpZiBVU0UoSlNWQUxV
RTY0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaAppbmRleCA5ZWUyNGQwOTIy
OGE5ODgyZWE3Njk2MjlkMWE4N2I2YzM0YTg2MzM0Li5hMGU0MGM1YzYxZmU2M2U5ODYzZWQyMjNl
ZGY1ZDQ1MWYzMThhNzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VElubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaApA
QCAtMjcxLDYgKzI3MSwxMiBAQCBBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJ
VDo6Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQyBvcGVyYQogICAgIHJldHVybiBh
cHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0SlNWYWx1ZVJlc3VsdChvcGVyYXRpb24sIGRz
dCk7CiB9CiAKK0FMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3Bl
cmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKc2NDSiBvcGVyYXRpb24sIGludCBkc3QsIEdQUlJlZyBh
cmcxLCBKU0NlbGwqIGNlbGwsIEdQUlJlZyBhcmcyKQoreworICAgIHNldHVwQXJndW1lbnRzV2l0
aEV4ZWNTdGF0ZShhcmcxLCBUcnVzdGVkSW1tUHRyKGNlbGwpLCBhcmcyKTsKKyAgICByZXR1cm4g
YXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldEpTVmFsdWVSZXN1bHQob3BlcmF0aW9uLCBk
c3QpOworfQorICAgIAogQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNh
bGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRVAgb3BlcmF0aW9uLCBpbnQgZHN0LCB2b2lkKiBw
b2ludGVyKQogewogICAgIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRy
KHBvaW50ZXIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bj
b2Rlcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCmluZGV4
IDVkNGQwYjlmZTg3NjhhYzJmZTU5NjU3NWVkNGFhODEyMjBkYWQ2YzcuLmRjZTM3MTI1YzRlZmIw
NTRhODA2MTU0ZTBhZDIzYWRmZjllYTRiN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRPcGNvZGVzLmNwcApAQCAtOTg3LDYgKzk4NywyOSBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9uZXdf
ZnVuY19leHAoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKICAgICBjYWxsT3BlcmF0
aW9uKG9wZXJhdGlvbk5ld0Z1bmN0aW9uLCBkc3QsIHJlZ1QwLCBmdW5jRXhwcik7CiAgICAgZG9u
ZS5saW5rKHRoaXMpOwogfQorICAgIAordm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2Fycm93X2Z1bmNf
ZXhwKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCit7CisgICAgSnVtcCBub3RVbmRl
ZmluZWRTY29wZTsKKyAgICBpbnQgZHN0ID0gY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFu
ZDsKKyNpZiBVU0UoSlNWQUxVRTY0KQorICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVu
dEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCwgcmVnVDApOworICAgIGVtaXRHZXRWaXJ0dWFsUmVn
aXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzRdLnUub3BlcmFuZCwgcmVnVDEpOworICAgIG5vdFVu
ZGVmaW5lZFNjb3BlID0gYnJhbmNoNjQoTm90RXF1YWwsIHJlZ1QwLCBUcnVzdGVkSW1tNjQoSlNW
YWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpKSk7CisgICAgc3RvcmU2NChUcnVzdGVkSW1tNjQo
SlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpKSwgQWRkcmVzcyhjYWxsRnJhbWVSZWdpc3Rl
ciwgc2l6ZW9mKFJlZ2lzdGVyKSAqIGRzdCkpOworI2Vsc2UKKyAgICBlbWl0TG9hZFBheWxvYWQo
Y3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCwgcmVnVDApOworICAgIGVtaXRMb2FkUGF5
bG9hZChjdXJyZW50SW5zdHJ1Y3Rpb25bNF0udS5vcGVyYW5kLCByZWdUMSk7CisgICAgbm90VW5k
ZWZpbmVkU2NvcGUgPSBicmFuY2gzMihOb3RFcXVhbCwgdGFnRm9yKGN1cnJlbnRJbnN0cnVjdGlv
blsyXS51Lm9wZXJhbmQpLCBUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6VW5kZWZpbmVkVGFnKSk7Cisg
ICAgZW1pdFN0b3JlKGRzdCwganNVbmRlZmluZWQoKSk7CisjZW5kaWYKKyAgICBKdW1wIGRvbmUg
PSBqdW1wKCk7CisgICAgbm90VW5kZWZpbmVkU2NvcGUubGluayh0aGlzKTsKKyAgICAKKyAgICBG
dW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmN0aW9uID0gbV9jb2RlQmxvY2stPmZ1bmN0aW9uRXhwcihj
dXJyZW50SW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5kKTsKKyAgICBjYWxsT3BlcmF0aW9uKG9wZXJh
dGlvbk5ld0Fycm93RnVuY3Rpb24sIGRzdCwgcmVnVDAsIGZ1bmN0aW9uLCByZWdUMSk7CisgICAg
ZG9uZS5saW5rKHRoaXMpOworfQogCiB2b2lkIEpJVDo6ZW1pdF9vcF9uZXdfYXJyYXkoSW5zdHJ1
Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVE9wZXJhdGlvbnMuY3BwCmluZGV4IDk4ZDg3NzNmMzhkOTVmMmI4ZTU4Y2RiZDc4MzYwMjk4
MTU0MDA3MTMuLjk2N2NhOGVhZjc1YjEwZGU4MDEwZjIxNGQ0ZWM2NzcyNDdmZTQyYzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcApAQCAtMjAsNyArMjAs
NyBAQAogICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQogICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCkBAIC00Miw2
ICs0Miw4IEBACiAjaW5jbHVkZSAiSG9zdENhbGxSZXR1cm5WYWx1ZS5oIgogI2luY2x1ZGUgIkpJ
VC5oIgogI2luY2x1ZGUgIkpJVFRvREZHRGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmgiCisj
aW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgi
CiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTQ2F0Y2hTY29wZS5oIgogI2lu
Y2x1ZGUgIkpTRnVuY3Rpb25OYW1lU2NvcGUuaCIKQEAgLTY3LDcgKzY5LDcgQEAgdm9pZCBwdXNo
TmFtZVNjb3BlKEV4ZWNTdGF0ZSogZXhlYywgaW50MzJfdCBkc3QsIFN5bWJvbFRhYmxlKiBzeW1i
b2xUYWJsZSwgRW5jb2QKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIE5hdGl2ZUNh
bGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKLSAgICAKKwogICAgIEFTU0VSVCghSklU
Q29kZTo6aXNPcHRpbWl6aW5nSklUKGV4ZWMtPmNvZGVCbG9jaygpLT5qaXRUeXBlKCkpKTsKIAog
ICAgIC8vIEZJWE1FOiBUaGlzIHdvbid0IHdvcmsgaWYgdGhpcyBvcGVyYXRpb24gaXMgY2FsbGVk
IGZyb20gdGhlIERGRyBvciBGVEwuCkBAIC0xNTEsNyArMTUzLDcgQEAgRW5jb2RlZEpTVmFsdWUg
SklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlkKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJl
U3R1YkluZm8KIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJh
bWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAgIEpTVmFsdWUgYmFzZVZhbHVl
ID0gSlNWYWx1ZTo6ZGVjb2RlKGJhc2UpOwogICAgIFByb3BlcnR5U2xvdCBzbG90KGJhc2VWYWx1
ZSk7CiAgICAgSWRlbnRpZmllciBpZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIHVpZCk7
CkBAIC0xNjksNyArMTcxLDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRp
b25HZXRCeUlkQnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXIKICAgICBKU1ZhbHVl
IGJhc2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShiYXNlKTsKICAgICBQcm9wZXJ0eVNsb3Qgc2xv
dChiYXNlVmFsdWUpOwogICAgIGJvb2wgaGFzUmVzdWx0ID0gYmFzZVZhbHVlLmdldFByb3BlcnR5
U2xvdChleGVjLCBpZGVudCwgc2xvdCk7Ci0gICAgCisKICAgICBpZiAoYWNjZXNzVHlwZSA9PSBz
dGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSkpCiAgICAgICAgIGJ1
aWxkR2V0QnlJRExpc3QoZXhlYywgYmFzZVZhbHVlLCBpZGVudCwgc2xvdCwgKnN0dWJJbmZvKTsK
IApAQCAtMTg0LDEzICsxODYsMTMgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVy
YXRpb25HZXRCeUlkT3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUKIAogICAgIEpT
VmFsdWUgYmFzZVZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGJhc2UpOwogICAgIFByb3BlcnR5U2xv
dCBzbG90KGJhc2VWYWx1ZSk7Ci0gICAgCisKICAgICBib29sIGhhc1Jlc3VsdCA9IGJhc2VWYWx1
ZS5nZXRQcm9wZXJ0eVNsb3QoZXhlYywgaWRlbnQsIHNsb3QpOwogICAgIGlmIChzdHViSW5mby0+
c2VlbikKICAgICAgICAgcmVwYXRjaEdldEJ5SUQoZXhlYywgYmFzZVZhbHVlLCBpZGVudCwgc2xv
dCwgKnN0dWJJbmZvKTsKICAgICBlbHNlCiAgICAgICAgIHN0dWJJbmZvLT5zZWVuID0gdHJ1ZTsK
LSAgICAKKwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoaGFzUmVzdWx0PyBzbG90LmdldFZh
bHVlKGV4ZWMsIGlkZW50KSA6IGpzVW5kZWZpbmVkKCkpOwogCiB9CkBAIC0xOTksMjUgKzIwMSwy
NSBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkluT3B0aW1pemUoRXhl
Y1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgp
OwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAg
ICAgaWYgKCFiYXNlLT5pc09iamVjdCgpKSB7CiAgICAgICAgIHZtLT50aHJvd0V4Y2VwdGlvbihl
eGVjLCBjcmVhdGVJbnZhbGlkSW5QYXJhbWV0ZXJFcnJvcihleGVjLCBiYXNlKSk7CiAgICAgICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAgICAgfQotICAgIAorCiAg
ICAgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlID0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1Yklu
Zm8tPmFjY2Vzc1R5cGUpOwogCiAgICAgSWRlbnRpZmllciBpZGVudCA9IElkZW50aWZpZXI6OmZy
b21VaWQodm0sIGtleSk7CiAgICAgUHJvcGVydHlTbG90IHNsb3QoYmFzZSk7CiAgICAgYm9vbCBy
ZXN1bHQgPSBhc09iamVjdChiYXNlKS0+Z2V0UHJvcGVydHlTbG90KGV4ZWMsIGlkZW50LCBzbG90
KTsKLSAgICAKKwogICAgIFJFTEVBU0VfQVNTRVJUKGFjY2Vzc1R5cGUgPT0gc3R1YkluZm8tPmFj
Y2Vzc1R5cGUpOwotICAgIAorCiAgICAgaWYgKHN0dWJJbmZvLT5zZWVuKQogICAgICAgICByZXBh
dGNoSW4oZXhlYywgYmFzZSwgaWRlbnQsIHJlc3VsdCwgc2xvdCwgKnN0dWJJbmZvKTsKICAgICBl
bHNlCiAgICAgICAgIHN0dWJJbmZvLT5zZWVuID0gdHJ1ZTsKLSAgICAKKwogICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKHJlc3VsdCkpOwogfQogCkBAIC0yNDcsNyArMjQ5LDcg
QEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3QoRXhlY1N0YXRlKiBl
eGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEUKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsK
ICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAg
IElkZW50aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCB1aWQpOwogICAgIFB1
dFByb3BlcnR5U2xvdCBzbG90KEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSksIHRydWUsIGV4
ZWMtPmNvZGVCbG9jaygpLT5wdXRCeUlkQ29udGV4dCgpKTsKICAgICBKU1ZhbHVlOjpkZWNvZGUo
ZW5jb2RlZEJhc2UpLnB1dChleGVjLCBpZGVudCwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1
ZSksIHNsb3QpOwpAQCAtMjU3LDcgKzI1OSw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRp
b25QdXRCeUlkTm9uU3RyaWN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qCiB7
CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRy
YWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRlbnRpZmll
cjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChKU1ZhbHVlOjpk
ZWNvZGUoZW5jb2RlZEJhc2UpLCBmYWxzZSwgZXhlYy0+Y29kZUJsb2NrKCktPnB1dEJ5SWRDb250
ZXh0KCkpOwogICAgIEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSkucHV0KGV4ZWMsIGlkZW50
LCBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKSwgc2xvdCk7CkBAIC0yNjcsNyArMjY5LDcg
QEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJpY3QoRXhlY1N0
YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW4KIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsK
ICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAg
IElkZW50aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCB1aWQpOwogICAgIFB1
dFByb3BlcnR5U2xvdCBzbG90KEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSksIHRydWUsIGV4
ZWMtPmNvZGVCbG9jaygpLT5wdXRCeUlkQ29udGV4dCgpKTsKICAgICBhc09iamVjdChKU1ZhbHVl
OjpkZWNvZGUoZW5jb2RlZEJhc2UpKS0+cHV0RGlyZWN0KGV4ZWMtPnZtKCksIGlkZW50LCBKU1Zh
bHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKSwgc2xvdCk7CkBAIC0yNzcsNyArMjc5LDcgQEAgdm9p
ZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3QoRXhlY1N0YXRl
KiBleGVjLCBTdHJ1Y3R1cmVTdHUKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBO
YXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAgIElkZW50
aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCB1aWQpOwogICAgIFB1dFByb3Bl
cnR5U2xvdCBzbG90KEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSksIGZhbHNlLCBleGVjLT5j
b2RlQmxvY2soKS0+cHV0QnlJZENvbnRleHQoKSk7CiAgICAgYXNPYmplY3QoSlNWYWx1ZTo6ZGVj
b2RlKGVuY29kZWRCYXNlKSktPnB1dERpcmVjdChleGVjLT52bSgpLCBpZGVudCwgSlNWYWx1ZTo6
ZGVjb2RlKGVuY29kZWRWYWx1ZSksIHNsb3QpOwpAQCAtMjg3LDcgKzI4OSw3IEBAIHZvaWQgSklU
X09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVj
LCBTdHJ1Y3R1cmVTdHViCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZl
Q2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJZGVudGlmaWVy
IGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBBY2Nlc3NUeXBlIGFj
Y2Vzc1R5cGUgPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSk7
CiAKQEAgLTI5NywxMCArMjk5LDEwIEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRC
eUlkU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViCiAKICAgICBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2VWYWx1ZS5pc0NlbGwoKSA/IGJhc2VWYWx1ZS5hc0Nl
bGwoKS0+c3RydWN0dXJlKCp2bSkgOiBudWxscHRyOwogICAgIGJhc2VWYWx1ZS5wdXQoZXhlYywg
aWRlbnQsIHZhbHVlLCBzbG90KTsKLSAgICAKKwogICAgIGlmIChhY2Nlc3NUeXBlICE9IHN0YXRp
Y19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKSkKICAgICAgICAgcmV0dXJu
OwotICAgIAorCiAgICAgaWYgKHN0dWJJbmZvLT5zZWVuKQogICAgICAgICByZXBhdGNoUHV0QnlJ
RChleGVjLCBiYXNlVmFsdWUsIHN0cnVjdHVyZSwgaWRlbnQsIHNsb3QsICpzdHViSW5mbywgTm90
RGlyZWN0KTsKICAgICBlbHNlCkBAIC0zMTEsNyArMzEzLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVj
dHVyZVMKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVU
cmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJ
ZGVudGlmaWVyOjpmcm9tVWlkKHZtLCB1aWQpOwogICAgIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSA9
IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKTsKIApAQCAtMzE5
LDEyICszMjEsMTIgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJp
Y3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVMKICAgICBKU1ZhbHVlIGJhc2VW
YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSk7CiAgICAgUHV0UHJvcGVydHlTbG90
IHNsb3QoYmFzZVZhbHVlLCBmYWxzZSwgZXhlYy0+Y29kZUJsb2NrKCktPnB1dEJ5SWRDb250ZXh0
KCkpOwogCi0gICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlVmFsdWUuaXNDZWxsKCkgPyBi
YXNlVmFsdWUuYXNDZWxsKCktPnN0cnVjdHVyZSgqdm0pIDogbnVsbHB0cjsgICAgCisgICAgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlVmFsdWUuaXNDZWxsKCkgPyBiYXNlVmFsdWUuYXNDZWxs
KCktPnN0cnVjdHVyZSgqdm0pIDogbnVsbHB0cjsKICAgICBiYXNlVmFsdWUucHV0KGV4ZWMsIGlk
ZW50LCB2YWx1ZSwgc2xvdCk7Ci0gICAgCisKICAgICBpZiAoYWNjZXNzVHlwZSAhPSBzdGF0aWNf
Y2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSkpCiAgICAgICAgIHJldHVybjsK
LSAgICAKKwogICAgIGlmIChzdHViSW5mby0+c2VlbikKICAgICAgICAgcmVwYXRjaFB1dEJ5SUQo
ZXhlYywgYmFzZVZhbHVlLCBzdHJ1Y3R1cmUsIGlkZW50LCBzbG90LCAqc3R1YkluZm8sIE5vdERp
cmVjdCk7CiAgICAgZWxzZQpAQCAtMzM1LDIwICszMzcsMjAgQEAgdm9pZCBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0
cnVjdHUKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVU
cmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJ
ZGVudGlmaWVyOjpmcm9tVWlkKHZtLCB1aWQpOwogICAgIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSA9
IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKTsKIAogICAgIEpT
VmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKICAgICBKU09iamVj
dCogYmFzZU9iamVjdCA9IGFzT2JqZWN0KEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSkpOwog
ICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KGJhc2VPYmplY3QsIHRydWUsIGV4ZWMtPmNvZGVCbG9j
aygpLT5wdXRCeUlkQ29udGV4dCgpKTsKLSAgICAKKwogICAgIFN0cnVjdHVyZSogc3RydWN0dXJl
ID0gYmFzZU9iamVjdC0+c3RydWN0dXJlKCp2bSk7CiAgICAgYmFzZU9iamVjdC0+cHV0RGlyZWN0
KGV4ZWMtPnZtKCksIGlkZW50LCB2YWx1ZSwgc2xvdCk7Ci0gICAgCisKICAgICBpZiAoYWNjZXNz
VHlwZSAhPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSkpCiAg
ICAgICAgIHJldHVybjsKLSAgICAKKwogICAgIGlmIChzdHViSW5mby0+c2VlbikKICAgICAgICAg
cmVwYXRjaFB1dEJ5SUQoZXhlYywgYmFzZU9iamVjdCwgc3RydWN0dXJlLCBpZGVudCwgc2xvdCwg
KnN0dWJJbmZvLCBEaXJlY3QpOwogICAgIGVsc2UKQEAgLTM1OSwyMCArMzYxLDIwIEBAIHZvaWQg
SklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0T3B0aW1pemUoRXhl
Y1N0YXRlKiBleGVjLCBTdHJ1CiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0
aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJZGVudGlm
aWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBBY2Nlc3NUeXBl
IGFjY2Vzc1R5cGUgPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlw
ZSk7CiAKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7
CiAgICAgSlNPYmplY3QqIGJhc2VPYmplY3QgPSBhc09iamVjdChKU1ZhbHVlOjpkZWNvZGUoZW5j
b2RlZEJhc2UpKTsKICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChiYXNlT2JqZWN0LCBmYWxzZSwg
ZXhlYy0+Y29kZUJsb2NrKCktPnB1dEJ5SWRDb250ZXh0KCkpOwotICAgIAorCiAgICAgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlT2JqZWN0LT5zdHJ1Y3R1cmUoKnZtKTsKICAgICBiYXNlT2Jq
ZWN0LT5wdXREaXJlY3QoZXhlYy0+dm0oKSwgaWRlbnQsIHZhbHVlLCBzbG90KTsKLSAgICAKKwog
ICAgIGlmIChhY2Nlc3NUeXBlICE9IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5h
Y2Nlc3NUeXBlKSkKICAgICAgICAgcmV0dXJuOwotICAgIAorCiAgICAgaWYgKHN0dWJJbmZvLT5z
ZWVuKQogICAgICAgICByZXBhdGNoUHV0QnlJRChleGVjLCBiYXNlT2JqZWN0LCBzdHJ1Y3R1cmUs
IGlkZW50LCBzbG90LCAqc3R1YkluZm8sIERpcmVjdCk7CiAgICAgZWxzZQpAQCAtMzgzLDE1ICsz
ODUsMTUgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3RCdWlsZExp
c3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHUKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+
dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAK
KwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCB1aWQpOwog
ICAgIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSA9IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJ
bmZvLT5hY2Nlc3NUeXBlKTsKIAogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUo
ZW5jb2RlZFZhbHVlKTsKICAgICBKU1ZhbHVlIGJhc2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShl
bmNvZGVkQmFzZSk7CiAgICAgUHV0UHJvcGVydHlTbG90IHNsb3QoYmFzZVZhbHVlLCB0cnVlLCBl
eGVjLT5jb2RlQmxvY2soKS0+cHV0QnlJZENvbnRleHQoKSk7Ci0gICAgCi0gICAgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUgPSBiYXNlVmFsdWUuaXNDZWxsKCkgPyBiYXNlVmFsdWUuYXNDZWxsKCktPnN0
cnVjdHVyZSgqdm0pIDogbnVsbHB0cjsgCisKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJh
c2VWYWx1ZS5pc0NlbGwoKSA/IGJhc2VWYWx1ZS5hc0NlbGwoKS0+c3RydWN0dXJlKCp2bSkgOiBu
dWxscHRyOwogICAgIGJhc2VWYWx1ZS5wdXQoZXhlYywgaWRlbnQsIHZhbHVlLCBzbG90KTsKIAog
ICAgIGlmIChhY2Nlc3NUeXBlICE9IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5h
Y2Nlc3NUeXBlKSkKQEAgLTQwNCw3ICs0MDYsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uUHV0QnlJZE5vblN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZQog
ewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0
cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAgSWRlbnRpZmllciBpZGVudCA9IElkZW50aWZp
ZXI6OmZyb21VaWQodm0sIHVpZCk7CiAgICAgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlID0gc3RhdGlj
X2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpOwogCkBAIC00MTQsMTAgKzQx
NiwxMCBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdEJ1aWxk
TGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZQogCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgPSBiYXNlVmFsdWUuaXNDZWxsKCkgPyBiYXNlVmFsdWUuYXNDZWxsKCktPnN0cnVjdHVyZSgq
dm0pIDogbnVsbHB0cjsKICAgICBiYXNlVmFsdWUucHV0KGV4ZWMsIGlkZW50LCB2YWx1ZSwgc2xv
dCk7Ci0gICAgCisKICAgICBpZiAoYWNjZXNzVHlwZSAhPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBl
PihzdHViSW5mby0+YWNjZXNzVHlwZSkpCiAgICAgICAgIHJldHVybjsKLSAgICAKKwogICAgIGJ1
aWxkUHV0QnlJZExpc3QoZXhlYywgYmFzZVZhbHVlLCBzdHJ1Y3R1cmUsIGlkZW50LCBzbG90LCAq
c3R1YkluZm8sIE5vdERpcmVjdCk7CiB9CiAKQEAgLTQyNSwyMCArNDI3LDIwIEBAIHZvaWQgSklU
X09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0
ZSogZXhlYywgU3RydWN0CiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZl
Q2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJZGVudGlmaWVy
IGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBBY2Nlc3NUeXBlIGFj
Y2Vzc1R5cGUgPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSk7
Ci0gICAgCisKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1
ZSk7CiAgICAgSlNPYmplY3QqIGJhc2VPYmplY3QgPSBhc09iamVjdChKU1ZhbHVlOjpkZWNvZGUo
ZW5jb2RlZEJhc2UpKTsKICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChiYXNlT2JqZWN0LCB0cnVl
LCBleGVjLT5jb2RlQmxvY2soKS0+cHV0QnlJZENvbnRleHQoKSk7CiAKLSAgICBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSA9IGJhc2VPYmplY3QtPnN0cnVjdHVyZSgqdm0pOyAgICAKKyAgICBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA9IGJhc2VPYmplY3QtPnN0cnVjdHVyZSgqdm0pOwogICAgIGJhc2VPYmpl
Y3QtPnB1dERpcmVjdCgqdm0sIGlkZW50LCB2YWx1ZSwgc2xvdCk7Ci0gICAgCisKICAgICBpZiAo
YWNjZXNzVHlwZSAhPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlw
ZSkpCiAgICAgICAgIHJldHVybjsKLSAgICAKKwogICAgIGJ1aWxkUHV0QnlJZExpc3QoZXhlYywg
YmFzZU9iamVjdCwgc3RydWN0dXJlLCBpZGVudCwgc2xvdCwgKnN0dWJJbmZvLCBEaXJlY3QpOwog
fQogCkBAIC00NDYsNyArNDQ4LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5
SWREaXJlY3ROb25TdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHIKIHsKICAgICBW
TSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZt
LCBleGVjKTsKLSAgICAKKwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVyOjpmcm9t
VWlkKHZtLCB1aWQpOwogICAgIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSA9IHN0YXRpY19jYXN0PEFj
Y2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKTsKIApAQCAtNDU0LDEyICs0NTYsMTIgQEAg
dm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3RCdWlsZExp
c3QoRXhlY1N0YXRlKiBleGVjLCBTdHIKICAgICBKU09iamVjdCogYmFzZU9iamVjdCA9IGFzT2Jq
ZWN0KEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSkpOwogICAgIFB1dFByb3BlcnR5U2xvdCBz
bG90KGJhc2VPYmplY3QsIGZhbHNlLCBleGVjLT5jb2RlQmxvY2soKS0+cHV0QnlJZENvbnRleHQo
KSk7CiAKLSAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2VPYmplY3QtPnN0cnVjdHVyZSgq
dm0pOyAgICAKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2VPYmplY3QtPnN0cnVjdHVy
ZSgqdm0pOwogICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdCgqdm0sIGlkZW50LCB2YWx1ZSwgc2xv
dCk7CiAKICAgICBpZiAoYWNjZXNzVHlwZSAhPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHVi
SW5mby0+YWNjZXNzVHlwZSkpCiAgICAgICAgIHJldHVybjsKLSAgICAKKwogICAgIGJ1aWxkUHV0
QnlJZExpc3QoZXhlYywgYmFzZU9iamVjdCwgc3RydWN0dXJlLCBpZGVudCwgc2xvdCwgKnN0dWJJ
bmZvLCBEaXJlY3QpOwogfQogCkBAIC01NzYsNyArNTc4LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbkRpcmVjdFB1dEJ5VmFsKEV4ZWNTdGF0ZSogY2FsbEZyYW1lLCBFbmNvZGVkSlNW
YWx1ZQogewogICAgIFZNJiB2bSA9IGNhbGxGcmFtZS0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJh
bWVUcmFjZXIgdHJhY2VyKCZ2bSwgY2FsbEZyYW1lKTsKLSAgICAKKwogICAgIEpTVmFsdWUgYmFz
ZVZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlVmFsdWUpOwogICAgIEpTVmFsdWUg
c3Vic2NyaXB0ID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRTdWJzY3JpcHQpOwogICAgIEpTVmFs
dWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKQEAgLTU4NSwxMiArNTg3
LDEyIEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25EaXJlY3RQdXRCeVZhbChFeGVjU3Rh
dGUqIGNhbGxGcmFtZSwgRW5jb2RlZEpTVmFsdWUKICAgICBpZiAoc3Vic2NyaXB0LmlzSW50MzIo
KSkgewogICAgICAgICAvLyBTZWUgaWYgaXQncyB3b3J0aCBvcHRpbWl6aW5nIGF0IGFsbC4KICAg
ICAgICAgYm9vbCBkaWRPcHRpbWl6ZSA9IGZhbHNlOwotICAgICAgICAKKwogICAgICAgICB1bnNp
Z25lZCBieXRlY29kZU9mZnNldCA9IGNhbGxGcmFtZS0+bG9jYXRpb25Bc0J5dGVjb2RlT2Zmc2V0
KCk7CiAgICAgICAgIEFTU0VSVChieXRlY29kZU9mZnNldCk7CiAgICAgICAgIEJ5VmFsSW5mbyYg
YnlWYWxJbmZvID0gY2FsbEZyYW1lLT5jb2RlQmxvY2soKS0+Z2V0QnlWYWxJbmZvKGJ5dGVjb2Rl
T2Zmc2V0IC0gMSk7CiAgICAgICAgIEFTU0VSVCghYnlWYWxJbmZvLnN0dWJSb3V0aW5lKTsKLSAg
ICAgICAgCisKICAgICAgICAgaWYgKGhhc09wdGltaXphYmxlSW5kZXhpbmcob2JqZWN0LT5zdHJ1
Y3R1cmUodm0pKSkgewogICAgICAgICAgICAgLy8gQXR0ZW1wdCB0byBvcHRpbWl6ZS4KICAgICAg
ICAgICAgIEpJVEFycmF5TW9kZSBhcnJheU1vZGUgPSBqaXRBcnJheU1vZGVGb3JTdHJ1Y3R1cmUo
b2JqZWN0LT5zdHJ1Y3R1cmUodm0pKTsKQEAgLTU5OSw3ICs2MDEsNyBAQCB2b2lkIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uRGlyZWN0UHV0QnlWYWwoRXhlY1N0YXRlKiBjYWxsRnJhbWUsIEVuY29k
ZWRKU1ZhbHVlCiAgICAgICAgICAgICAgICAgZGlkT3B0aW1pemUgPSB0cnVlOwogICAgICAgICAg
ICAgfQogICAgICAgICB9Ci0gICAgICAgIAorCiAgICAgICAgIGlmICghZGlkT3B0aW1pemUpIHsK
ICAgICAgICAgICAgIC8vIElmIHdlIHRha2Ugc2xvdyBwYXRoIG1vcmUgdGhhbiAxMCB0aW1lcyB3
aXRob3V0IHBhdGNoaW5nIHRoZW4gbWFrZSBzdXJlIHdlCiAgICAgICAgICAgICAvLyBuZXZlciBt
YWtlIHRoYXQgbWlzdGFrZSBhZ2Fpbi4gT3IsIGlmIHdlIGZhaWxlZCB0byBwYXRjaCBhbmQgd2Ug
aGF2ZSBzb21lIG9iamVjdApAQCAtNjIwLDcgKzYyMiw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25QdXRCeVZhbEdlbmVyaWMoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFj
ZXIgdHJhY2VyKCZ2bSwgZXhlYyk7Ci0gICAgCisKICAgICBKU1ZhbHVlIGJhc2VWYWx1ZSA9IEpT
VmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZVZhbHVlKTsKICAgICBKU1ZhbHVlIHN1YnNjcmlwdCA9
IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkU3Vic2NyaXB0KTsKICAgICBKU1ZhbHVlIHZhbHVlID0g
SlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CkBAIC02MzMsNyArNjM1LDcgQEAgdm9pZCBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvbkRpcmVjdFB1dEJ5VmFsR2VuZXJpYyhFeGVjU3RhdGUqIGV4
ZWMsIEVuY29kZWRKU1ZhbHUKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIE5hdGl2
ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKLSAgICAKKwogICAgIEpTVmFsdWUg
YmFzZVZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlVmFsdWUpOwogICAgIEpTVmFs
dWUgc3Vic2NyaXB0ID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRTdWJzY3JpcHQpOwogICAgIEpT
VmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKQEAgLTY1Nyw3ICs2
NTksNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNhbGxFdmFsKEV4
ZWNTdGF0ZSogZXhlYywgRXhlY1N0YXRlKiBleGVjQwogICAgIEpTVmFsdWUgcmVzdWx0ID0gZXZh
bChleGVjQ2FsbGVlKTsKICAgICBpZiAodm0tPmV4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4g
RW5jb2RlZEpTVmFsdWUoKTsKLSAgICAKKwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVz
dWx0KTsKIH0KIApAQCAtNjcxLDkgKzY3Myw5IEBAIHN0YXRpYyB2b2lkKiBoYW5kbGVIb3N0Q2Fs
bChFeGVjU3RhdGUqIGV4ZWNDYWxsZWUsIEpTVmFsdWUgY2FsbGVlLCBDb2RlU3BlY2lhbGl6CiAg
ICAgaWYgKGtpbmQgPT0gQ29kZUZvckNhbGwpIHsKICAgICAgICAgQ2FsbERhdGEgY2FsbERhdGE7
CiAgICAgICAgIENhbGxUeXBlIGNhbGxUeXBlID0gZ2V0Q2FsbERhdGEoY2FsbGVlLCBjYWxsRGF0
YSk7Ci0gICAgCisKICAgICAgICAgQVNTRVJUKGNhbGxUeXBlICE9IENhbGxUeXBlSlMpOwotICAg
IAorCiAgICAgICAgIGlmIChjYWxsVHlwZSA9PSBDYWxsVHlwZUhvc3QpIHsKICAgICAgICAgICAg
IE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWNDYWxsZWUpOwogICAgICAgICAg
ICAgZXhlY0NhbGxlZS0+c2V0Q2FsbGVlKGFzT2JqZWN0KGNhbGxlZSkpOwpAQCAtNjgzLDE5ICs2
ODUsMTkgQEAgc3RhdGljIHZvaWQqIGhhbmRsZUhvc3RDYWxsKEV4ZWNTdGF0ZSogZXhlY0NhbGxl
ZSwgSlNWYWx1ZSBjYWxsZWUsIENvZGVTcGVjaWFsaXoKIAogICAgICAgICAgICAgcmV0dXJuIHJl
aW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpOwogICAgICAgICB9
Ci0gICAgCisKICAgICAgICAgQVNTRVJUKGNhbGxUeXBlID09IENhbGxUeXBlTm9uZSk7CiAgICAg
ICAgIGV4ZWMtPnZtKCkudGhyb3dFeGNlcHRpb24oZXhlYywgY3JlYXRlTm90QUZ1bmN0aW9uRXJy
b3IoZXhlYywgY2FsbGVlKSk7CiAgICAgICAgIHJldHVybiB2bS0+Z2V0Q1RJU3R1Yih0aHJvd0V4
Y2VwdGlvbkZyb21DYWxsU2xvd1BhdGhHZW5lcmF0b3IpLmNvZGUoKS5leGVjdXRhYmxlQWRkcmVz
cygpOwogICAgIH0KIAogICAgIEFTU0VSVChraW5kID09IENvZGVGb3JDb25zdHJ1Y3QpOwotICAg
IAorCiAgICAgQ29uc3RydWN0RGF0YSBjb25zdHJ1Y3REYXRhOwogICAgIENvbnN0cnVjdFR5cGUg
Y29uc3RydWN0VHlwZSA9IGdldENvbnN0cnVjdERhdGEoY2FsbGVlLCBjb25zdHJ1Y3REYXRhKTsK
LSAgICAKKwogICAgIEFTU0VSVChjb25zdHJ1Y3RUeXBlICE9IENvbnN0cnVjdFR5cGVKUyk7Ci0g
ICAgCisKICAgICBpZiAoY29uc3RydWN0VHlwZSA9PSBDb25zdHJ1Y3RUeXBlSG9zdCkgewogICAg
ICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjQ2FsbGVlKTsKICAgICAg
ICAgZXhlY0NhbGxlZS0+c2V0Q2FsbGVlKGFzT2JqZWN0KGNhbGxlZSkpOwpAQCAtNzA1LDcgKzcw
Nyw3IEBAIHN0YXRpYyB2b2lkKiBoYW5kbGVIb3N0Q2FsbChFeGVjU3RhdGUqIGV4ZWNDYWxsZWUs
IEpTVmFsdWUgY2FsbGVlLCBDb2RlU3BlY2lhbGl6CiAKICAgICAgICAgcmV0dXJuIHJlaW50ZXJw
cmV0X2Nhc3Q8dm9pZCo+KGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpOwogICAgIH0KLSAgICAKKwog
ICAgIEFTU0VSVChjb25zdHJ1Y3RUeXBlID09IENvbnN0cnVjdFR5cGVOb25lKTsKICAgICBleGVj
LT52bSgpLnRocm93RXhjZXB0aW9uKGV4ZWMsIGNyZWF0ZU5vdEFDb25zdHJ1Y3RvckVycm9yKGV4
ZWMsIGNhbGxlZSkpOwogICAgIHJldHVybiB2bS0+Z2V0Q1RJU3R1Yih0aHJvd0V4Y2VwdGlvbkZy
b21DYWxsU2xvd1BhdGhHZW5lcmF0b3IpLmNvZGUoKS5leGVjdXRhYmxlQWRkcmVzcygpOwpAQCAt
NzE4LDcgKzcyMCw3IEBAIGlubGluZSBjaGFyKiBsaW5rRm9yKAogICAgIEV4ZWNTdGF0ZSogZXhl
YyA9IGV4ZWNDYWxsZWUtPmNhbGxlckZyYW1lKCk7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7
CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAg
ICBKU1ZhbHVlIGNhbGxlZUFzVmFsdWUgPSBleGVjQ2FsbGVlLT5jYWxsZWVBc1ZhbHVlKCk7CiAg
ICAgSlNDZWxsKiBjYWxsZWVBc0Z1bmN0aW9uQ2VsbCA9IGdldEpTRnVuY3Rpb24oY2FsbGVlQXNW
YWx1ZSk7CiAgICAgaWYgKCFjYWxsZWVBc0Z1bmN0aW9uQ2VsbCkgewpAQCAtNzYxLDcgKzc2Myw3
IEBAIGlubGluZSBjaGFyKiBsaW5rRm9yKAogICAgICAgICBjYWxsTGlua0luZm8tPnNldFNlZW4o
KTsKICAgICBlbHNlCiAgICAgICAgIGxpbmtGb3IoZXhlY0NhbGxlZSwgKmNhbGxMaW5rSW5mbywg
Y29kZUJsb2NrLCBjYWxsZWUsIGNvZGVQdHIsIGtpbmQsIHJlZ2lzdGVycyk7Ci0gICAgCisKICAg
ICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oY29kZVB0ci5leGVjdXRhYmxlQWRkcmVz
cygpKTsKIH0KIApAQCAtNzk3LDcgKzc5OSw3IEBAIGlubGluZSBjaGFyKiB2aXJ0dWFsRm9yV2l0
aEZ1bmN0aW9uKAogICAgIGNhbGxlZUFzRnVuY3Rpb25DZWxsID0gZ2V0SlNGdW5jdGlvbihjYWxs
ZWVBc1ZhbHVlKTsKICAgICBpZiAoVU5MSUtFTFkoIWNhbGxlZUFzRnVuY3Rpb25DZWxsKSkKICAg
ICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KGhhbmRsZUhvc3RDYWxsKGV4ZWND
YWxsZWUsIGNhbGxlZUFzVmFsdWUsIGtpbmQpKTsKLSAgICAKKwogICAgIEpTRnVuY3Rpb24qIGZ1
bmN0aW9uID0ganNDYXN0PEpTRnVuY3Rpb24qPihjYWxsZWVBc0Z1bmN0aW9uQ2VsbCk7CiAgICAg
SlNTY29wZSogc2NvcGUgPSBmdW5jdGlvbi0+c2NvcGVVbmNoZWNrZWQoKTsKICAgICBFeGVjdXRh
YmxlQmFzZSogZXhlY3V0YWJsZSA9IGZ1bmN0aW9uLT5leGVjdXRhYmxlKCk7CkBAIC04MzIsMTIg
KzgzNCwxMiBAQCBjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkxpbmtQb2x5bW9ycGhpY0Nh
bGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBDYWxsTGluawogICAgIGNoYXIqIHJlc3VsdCA9IHZp
cnR1YWxGb3JXaXRoRnVuY3Rpb24oZXhlY0NhbGxlZSwgQ29kZUZvckNhbGwsIFJlZ2lzdGVyUHJl
c2VydmF0aW9uTm90UmVxdWlyZWQsIGNhbGxlZUFzRnVuY3Rpb25DZWxsKTsKIAogICAgIGxpbmtQ
b2x5bW9ycGhpY0NhbGwoZXhlY0NhbGxlZSwgKmNhbGxMaW5rSW5mbywgQ2FsbFZhcmlhbnQoY2Fs
bGVlQXNGdW5jdGlvbkNlbGwpLCBSZWdpc3RlclByZXNlcnZhdGlvbk5vdFJlcXVpcmVkKTsKLSAg
ICAKKwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIGNoYXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uVmlydHVhbENhbGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBDYWxsTGlua0luZm8qKQoteyAg
ICAKK3sKICAgICByZXR1cm4gdmlydHVhbEZvcihleGVjQ2FsbGVlLCBDb2RlRm9yQ2FsbCwgUmVn
aXN0ZXJQcmVzZXJ2YXRpb25Ob3RSZXF1aXJlZCk7CiB9CiAKQEAgLTg1MiwxMiArODU0LDEyIEBA
IGNoYXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTGlua1BvbHltb3JwaGljQ2FsbFRoYXRQcmVz
ZXJ2ZXNSZWdzKEV4ZWNTdGF0ZSogZXhlCiAgICAgY2hhciogcmVzdWx0ID0gdmlydHVhbEZvcldp
dGhGdW5jdGlvbihleGVjQ2FsbGVlLCBDb2RlRm9yQ2FsbCwgTXVzdFByZXNlcnZlUmVnaXN0ZXJz
LCBjYWxsZWVBc0Z1bmN0aW9uQ2VsbCk7CiAKICAgICBsaW5rUG9seW1vcnBoaWNDYWxsKGV4ZWND
YWxsZWUsICpjYWxsTGlua0luZm8sIENhbGxWYXJpYW50KGNhbGxlZUFzRnVuY3Rpb25DZWxsKSwg
TXVzdFByZXNlcnZlUmVnaXN0ZXJzKTsKLSAgICAKKwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAK
IGNoYXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uVmlydHVhbENhbGxUaGF0UHJlc2VydmVzUmVn
cyhFeGVjU3RhdGUqIGV4ZWNDYWxsZWUsIENhbGxMaW5rSW5mbyopCi17ICAgIAorewogICAgIHJl
dHVybiB2aXJ0dWFsRm9yKGV4ZWNDYWxsZWUsIENvZGVGb3JDYWxsLCBNdXN0UHJlc2VydmVSZWdp
c3RlcnMpOwogfQogCkBAIC04NzAsNyArODcyLDcgQEAgc2l6ZV90IEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uQ29tcGFyZUxlc3MoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGUK
IHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIg
dHJhY2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAgIHJldHVybiBqc0xlc3M8dHJ1ZT4oZXhlYywg
SlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRPcDEpLCBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZE9wMikp
OwogfQogCkBAIC05MDIsNyArOTA0LDcgQEAgc2l6ZV90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
Q29udmVydEpTVmFsdWVUb0Jvb2xlYW4oRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlMKIHsKICAg
ICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2Vy
KHZtLCBleGVjKTsKLSAgICAKKwogICAgIHJldHVybiBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZE9w
KS50b0Jvb2xlYW4oZXhlYyk7CiB9CiAKQEAgLTkzNiw3ICs5MzgsNyBAQCBzaXplX3QgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25IYXNQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBi
YXNlLCBKU1N0cgogICAgIGludCByZXN1bHQgPSBiYXNlLT5oYXNQcm9wZXJ0eShleGVjLCBwcm9w
ZXJ0eS0+dG9JZGVudGlmaWVyKGV4ZWMpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotICAgIAor
CiAKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXlXaXRoUHJv
ZmlsZShFeGVjU3RhdGUqIGV4ZWMsIEFycmF5QWxsb2NhdGlvblByb2ZpbGUqIHByb2ZpbGUsIGNv
bnN0IEpTVmFsdWUqIHZhbHVlcywgaW50IHNpemUpCiB7CkBAIC05NzYsMTEgKzk3OCw0NCBAQCBF
bmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Z1bmN0aW9uV2l0aEludmFs
aWRhdGVkUmVhbGxvY2F0aW9uV2F0YwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNGdW5j
dGlvbjo6Y3JlYXRlV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludCh2bSwgc3Rh
dGljX2Nhc3Q8RnVuY3Rpb25FeGVjdXRhYmxlKj4oZnVuY3Rpb25FeGVjdXRhYmxlKSwgc2NvcGUp
KTsKIH0KIAorRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJvd0Z1
bmN0aW9uV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludChFeGVjU3RhdGUqIGV4
ZWMsIEpTU2NvcGUqIHNjb3BlLCBKU0NlbGwqIGZ1bmN0aW9uRXhlY3V0YWJsZSwgRW5jb2RlZEpT
VmFsdWUgdGhpc1ZhbHVlKQoreworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgICAgIEFTU0VSVChmdW5jdGlvbkV4ZWN1dGFibGUtPmluaGVyaXRzKEZ1bmN0aW9uRXhl
Y3V0YWJsZTo6aW5mbygpKSk7CisgICAgICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgICAg
IE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKKyAgICAgICAgCisgICAg
ICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSAgSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBzdGF0aWNfY2Fz
dDxGdW5jdGlvbkV4ZWN1dGFibGUqPihmdW5jdGlvbkV4ZWN1dGFibGUpLCBzY29wZSk7CisgICAg
ICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBleGVjLT5jYWxsZWUoKS0+Z2xvYmFs
T2JqZWN0KCk7CisgICAgICAgIAorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTQXJy
b3dGdW5jdGlvbjo6Y3JlYXRlV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludCh2
bSwgZ2xvYmFsT2JqZWN0LCBmdW5jLCBKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSkpOworI2Vs
c2UKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyNlbmRp
ZgorfQorICAgIAorRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJv
d0Z1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNTY29wZSogc2NvcGUsIEpTQ2VsbCogZnVuY3Rp
b25FeGVjdXRhYmxlLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUpCit7CisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBBU1NFUlQoZnVuY3Rpb25FeGVjdXRhYmxlLT5p
bmhlcml0cyhGdW5jdGlvbkV4ZWN1dGFibGU6OmluZm8oKSkpOworICAgIFZNJiB2bSA9IGV4ZWMt
PnZtKCk7CisgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOworCisg
ICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGV4ZWMtPmNhbGxlZSgpLT5nbG9iYWxP
YmplY3QoKTsKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gIEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwg
c3RhdGljX2Nhc3Q8RnVuY3Rpb25FeGVjdXRhYmxlKj4oZnVuY3Rpb25FeGVjdXRhYmxlKSwgc2Nv
cGUpOworCisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU0Fycm93RnVuY3Rpb246OmNyZWF0
ZSh2bSwgZ2xvYmFsT2JqZWN0LCBmdW5jLCBKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSkpOwor
CisjZWxzZQorICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisjZW5k
aWYKK30KKwogSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3Rh
dGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52
bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAor
CiAgICAgcmV0dXJuIGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIHN0cnVjdHVyZSk7CiB9CiAK
QEAgLTEwNTQsMTMgKzEwODksMTMgQEAgU2xvd1BhdGhSZXR1cm5UeXBlIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uT3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBpbnQzMl90IGJ5dGUKICAgICAvLyB0
aGF0IGNhc2Ugd2Ugd291bGQgaGF2ZSBhbHJlYWR5IHBsYW50ZWQgdGhlIG9wdGltaXplZCBjb2Rl
IGJsb2NrIGludG8gdGhlIEpTCiAgICAgLy8gc3RhY2suCiAgICAgRGVmZXJHQ0ZvckFXaGlsZSBk
ZWZlckdDKHZtLmhlYXApOwotICAgIAorCiAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVj
LT5jb2RlQmxvY2soKTsKICAgICBpZiAoY29kZUJsb2NrLT5qaXRUeXBlKCkgIT0gSklUQ29kZTo6
QmFzZWxpbmVKSVQpIHsKICAgICAgICAgZGF0YUxvZygiVW5leHBlY3RlZCBjb2RlIGJsb2NrIGlu
IEJhc2VsaW5lLT5ERkcgdGllci11cDogIiwgKmNvZGVCbG9jaywgIlxuIik7CiAgICAgICAgIFJF
TEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgfQotICAgIAorCiAgICAgaWYgKGJ5dGVj
b2RlSW5kZXgpIHsKICAgICAgICAgLy8gSWYgd2UncmUgYXR0ZW1wdGluZyB0byBPU1IgZnJvbSBh
IGxvb3AsIGFzc3VtZSB0aGF0IHRoaXMgc2hvdWxkIGJlCiAgICAgICAgIC8vIHNlcGFyYXRlbHkg
b3B0aW1pemVkLgpAQCAtMTA4Niw3ICsxMTIxLDcgQEAgU2xvd1BhdGhSZXR1cm5UeXBlIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uT3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBpbnQzMl90IGJ5dGUK
ICAgICAgICAgICAgIGRhdGFMb2coIkNob29zaW5nIG5vdCB0byBvcHRpbWl6ZSAiLCAqY29kZUJs
b2NrLCAiIHlldCwgYmVjYXVzZSB0aGUgdGhyZXNob2xkIGhhc24ndCBiZWVuIHJlYWNoZWQuXG4i
KTsKICAgICAgICAgcmV0dXJuIGVuY29kZVJlc3VsdCgwLCAwKTsKICAgICB9Ci0gICAgCisKICAg
ICBpZiAodm0uZW5hYmxlZFByb2ZpbGVyKCkpIHsKICAgICAgICAgdXBkYXRlQWxsUHJlZGljdGlv
bnNBbmRPcHRpbWl6ZUFmdGVyV2FybVVwKGNvZGVCbG9jayk7CiAgICAgICAgIHJldHVybiBlbmNv
ZGVSZXN1bHQoMCwgMCk7CkBAIC0xMTIyLDcgKzExNTcsNyBAQCBTbG93UGF0aFJldHVyblR5cGUg
SklUX09QRVJBVElPTiBvcGVyYXRpb25PcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIGludDMyX3Qg
Ynl0ZQogICAgICAgICAvLyBjb3VudCB0aHJlc2hvbGQgZGVwZW5kaW5nIG9uIHdoYXQgaGFwcGVu
ZWQsIHNvIGlmIHRoZSBjb21waWxhdGlvbiB3YXMgYW55dGhpbmcKICAgICAgICAgLy8gYnV0IHN1
Y2Nlc3NmdWwgd2UganVzdCB3YW50IHRvIHJldHVybiBlYXJseS4gU2VlIHRoZSBjYXNlIGZvciB3
b3JrbGlzdFN0YXRlID09CiAgICAgICAgIC8vIERGRzo6V29ya2xpc3Q6OkNvbXBpbGVkLCBiZWxv
dy4KLSAgICAgICAgCisKICAgICAgICAgLy8gTm90ZSB0aGF0IHdlIGNvdWxkIGhhdmUgYWx0ZXJu
YXRpdmVseSBqdXN0IGNhbGxlZCBXb3JrbGlzdDo6Y29tcGlsYXRpb25TdGF0ZSgpCiAgICAgICAg
IC8vIGhlcmUsIGFuZCBpZiBpdCByZXR1cm5lZCBDb21waWxlZCwgd2UgY291bGQgaGF2ZSB0aGVu
IGNhbGxlZAogICAgICAgICAvLyBjb21wbGV0ZUFuZFNjaGVkdWxlT1NSKCkgYmVsb3cuIEJ1dCB0
aGF0IHdvdWxkIGhhdmUgbWVhbnQgdGhhdCBpdCBjb3VsZCB0YWtlCkBAIC0xMTY1LDcgKzEyMDAs
NyBAQCBTbG93UGF0aFJldHVyblR5cGUgSklUX09QRVJBVElPTiBvcGVyYXRpb25PcHRpbWl6ZShF
eGVjU3RhdGUqIGV4ZWMsIGludDMyX3QgYnl0ZQogICAgICAgICAvLyBjdGlfb3B0aW1pemUgZnJv
bSBhIGxvb3AuIFRoYXQncyBiZWNhdXNlIGlmIHRoZXJlJ3MgYW4gb3B0aW1pemVkIHJlcGxhY2Vt
ZW50LAogICAgICAgICAvLyB0aGVuIGFsbCBjYWxscyB0byB0aGlzIGZ1bmN0aW9uIHdpbGwgYmUg
cmVsaW5rZWQgdG8gdGhlIHJlcGxhY2VtZW50IGFuZCBzbwogICAgICAgICAvLyB0aGUgcHJvbG9n
dWUgT1NSIHdpbGwgbmV2ZXIgZmlyZS4KLSAgICAgICAgCisKICAgICAgICAgLy8gVGhpcyBpcyBh
biBpbnRlcmVzdGluZyB0aHJlc2hvbGQgY2hlY2suIENvbnNpZGVyIHRoYXQgYSBmdW5jdGlvbiBP
U1IgZXhpdHMKICAgICAgICAgLy8gaW4gdGhlIG1pZGRsZSBvZiBhIGxvb3AsIHdoaWxlIGhhdmlu
ZyBhIHJlbGF0aXZlbHkgbG93IGV4aXQgY291bnQuIFRoZSBleGl0CiAgICAgICAgIC8vIHdpbGwg
cmVzZXQgdGhlIGV4ZWN1dGlvbiBjb3VudGVyIHRvIHNvbWUgdGFyZ2V0IHRocmVzaG9sZCwgbWVh
bmluZyB0aGF0IHRoaXMKQEAgLTEyMTEsMTYgKzEyNDYsMTYgQEAgU2xvd1BhdGhSZXR1cm5UeXBl
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uT3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBpbnQzMl90
IGJ5dGUKICAgICAgICAgQ29tcGlsYXRpb25SZXN1bHQgcmVzdWx0ID0gREZHOjpjb21waWxlKAog
ICAgICAgICAgICAgdm0sIHJlcGxhY2VtZW50Q29kZUJsb2NrLmdldCgpLCAwLCBERkc6OkRGR01v
ZGUsIGJ5dGVjb2RlSW5kZXgsCiAgICAgICAgICAgICBtdXN0SGFuZGxlVmFsdWVzLCBKSVRUb0RG
R0RlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjazo6Y3JlYXRlKCkpOwotICAgICAgICAKKwogICAg
ICAgICBpZiAocmVzdWx0ICE9IENvbXBpbGF0aW9uU3VjY2Vzc2Z1bCkgewogICAgICAgICAgICAg
QVNTRVJUKHJlc3VsdCA9PSBDb21waWxhdGlvbkRlZmVycmVkIHx8IHJlcGxhY2VtZW50Q29kZUJs
b2NrLT5oYXNPbmVSZWYoKSk7CiAgICAgICAgICAgICByZXR1cm4gZW5jb2RlUmVzdWx0KDAsIDAp
OwogICAgICAgICB9CiAgICAgfQotICAgIAorCiAgICAgQ29kZUJsb2NrKiBvcHRpbWl6ZWRDb2Rl
QmxvY2sgPSBjb2RlQmxvY2stPnJlcGxhY2VtZW50KCk7CiAgICAgQVNTRVJUKEpJVENvZGU6Omlz
T3B0aW1pemluZ0pJVChvcHRpbWl6ZWRDb2RlQmxvY2stPmppdFR5cGUoKSkpOwotICAgIAorCiAg
ICAgaWYgKHZvaWQqIGRhdGFCdWZmZXIgPSBERkc6OnByZXBhcmVPU1JFbnRyeShleGVjLCBvcHRp
bWl6ZWRDb2RlQmxvY2ssIGJ5dGVjb2RlSW5kZXgpKSB7CiAgICAgICAgIGlmIChPcHRpb25zOjp2
ZXJib3NlT1NSKCkpIHsKICAgICAgICAgICAgIGRhdGFMb2coCkBAIC0xMjYzLDcgKzEyOTgsNyBA
QCBTbG93UGF0aFJldHVyblR5cGUgSklUX09QRVJBVElPTiBvcGVyYXRpb25PcHRpbWl6ZShFeGVj
U3RhdGUqIGV4ZWMsIGludDMyX3QgYnl0ZQogICAgIC8vIE9TUiBmYWlsZWQgdGhpcyB0aW1lLCBi
dXQgaXQgbWlnaHQgc3VjY2VlZCBuZXh0IHRpbWUhIExldCB0aGUgY29kZSBydW4gYSBiaXQKICAg
ICAvLyBsb25nZXIgYW5kIHRoZW4gdHJ5IGFnYWluLgogICAgIGNvZGVCbG9jay0+b3B0aW1pemVB
ZnRlcldhcm1VcCgpOwotICAgIAorCiAgICAgcmV0dXJuIGVuY29kZVJlc3VsdCgwLCAwKTsKIH0K
ICNlbmRpZgpAQCAtMTQzOSw3ICsxNDc0LDcgQEAgc3RhdGljIEpTVmFsdWUgZ2V0QnlWYWwoRXhl
Y1N0YXRlKiBleGVjLCBKU1ZhbHVlIGJhc2VWYWx1ZSwgSlNWYWx1ZSBzdWJzY3JpcHQsIFIKIH0K
IAogZXh0ZXJuICJDIiB7Ci0gICAgCisKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uR2V0QnlWYWxHZW5lcmljKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZEJhc2UsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRTdWJzY3JpcHQpCiB7CiAgICAgVk0mIHZt
ID0gZXhlYy0+dm0oKTsKQEAgLTE0NTcsNyArMTQ5Miw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uR2V0QnlWYWxEZWZhdWx0KEV4ZWNTdGF0ZSogZXhlYywgRW5jb2Rl
ZEpTCiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOwogICAgIEpT
VmFsdWUgYmFzZVZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKTsKICAgICBKU1Zh
bHVlIHN1YnNjcmlwdCA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkU3Vic2NyaXB0KTsKLSAgICAK
KwogICAgIGlmIChiYXNlVmFsdWUuaXNPYmplY3QoKSAmJiBzdWJzY3JpcHQuaXNJbnQzMigpKSB7
CiAgICAgICAgIC8vIFNlZSBpZiBpdCdzIHdvcnRoIG9wdGltaXppbmcgdGhpcyBhdCBhbGwuCiAg
ICAgICAgIEpTT2JqZWN0KiBvYmplY3QgPSBhc09iamVjdChiYXNlVmFsdWUpOwpAQCAtMTQ2Nyw3
ICsxNTAyLDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeVZh
bERlZmF1bHQoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlMKICAgICAgICAgQVNTRVJUKGJ5dGVj
b2RlT2Zmc2V0KTsKICAgICAgICAgQnlWYWxJbmZvJiBieVZhbEluZm8gPSBleGVjLT5jb2RlQmxv
Y2soKS0+Z2V0QnlWYWxJbmZvKGJ5dGVjb2RlT2Zmc2V0IC0gMSk7CiAgICAgICAgIEFTU0VSVCgh
YnlWYWxJbmZvLnN0dWJSb3V0aW5lKTsKLSAgICAgICAgCisKICAgICAgICAgaWYgKGhhc09wdGlt
aXphYmxlSW5kZXhpbmcob2JqZWN0LT5zdHJ1Y3R1cmUodm0pKSkgewogICAgICAgICAgICAgLy8g
QXR0ZW1wdCB0byBvcHRpbWl6ZS4KICAgICAgICAgICAgIEpJVEFycmF5TW9kZSBhcnJheU1vZGUg
PSBqaXRBcnJheU1vZGVGb3JTdHJ1Y3R1cmUob2JqZWN0LT5zdHJ1Y3R1cmUodm0pKTsKQEAgLTE0
NzYsNyArMTUxMSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0
QnlWYWxEZWZhdWx0KEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTCiAgICAgICAgICAgICAgICAg
ZGlkT3B0aW1pemUgPSB0cnVlOwogICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgICAgIAor
CiAgICAgICAgIGlmICghZGlkT3B0aW1pemUpIHsKICAgICAgICAgICAgIC8vIElmIHdlIHRha2Ug
c2xvdyBwYXRoIG1vcmUgdGhhbiAxMCB0aW1lcyB3aXRob3V0IHBhdGNoaW5nIHRoZW4gbWFrZSBz
dXJlIHdlCiAgICAgICAgICAgICAvLyBuZXZlciBtYWtlIHRoYXQgbWlzdGFrZSBhZ2Fpbi4gT3Is
IGlmIHdlIGZhaWxlZCB0byBwYXRjaCBhbmQgd2UgaGF2ZSBzb21lIG9iamVjdApAQCAtMTQ5MCwx
OCArMTUyNSwxOCBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5
VmFsRGVmYXVsdChFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKUwogICAgICAgICAgICAgfQogICAg
ICAgICB9CiAgICAgfQotICAgIAorCiAgICAgSlNWYWx1ZSByZXN1bHQgPSBnZXRCeVZhbChleGVj
LCBiYXNlVmFsdWUsIHN1YnNjcmlwdCwgUmV0dXJuQWRkcmVzc1B0cihPVVJfUkVUVVJOX0FERFJF
U1MpKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CiB9Ci0gICAgCisKIEVu
Y29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFzSW5kZXhlZFByb3BlcnR5RGVm
YXVsdChFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkU3Vic2NyaXB0KQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAg
ICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOwogICAgIEpTVmFsdWUg
YmFzZVZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKTsKICAgICBKU1ZhbHVlIHN1
YnNjcmlwdCA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkU3Vic2NyaXB0KTsKLSAgICAKKwogICAg
IEFTU0VSVChiYXNlVmFsdWUuaXNPYmplY3QoKSk7CiAgICAgQVNTRVJUKHN1YnNjcmlwdC5pc1VJ
bnQzMigpKTsKIApAQCAtMTUxMiw3ICsxNTQ3LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJB
VElPTiBvcGVyYXRpb25IYXNJbmRleGVkUHJvcGVydHlEZWZhdWx0KEV4ZWNTdGF0ZSogZXhlYywK
ICAgICBBU1NFUlQoYnl0ZWNvZGVPZmZzZXQpOwogICAgIEJ5VmFsSW5mbyYgYnlWYWxJbmZvID0g
ZXhlYy0+Y29kZUJsb2NrKCktPmdldEJ5VmFsSW5mbyhieXRlY29kZU9mZnNldCAtIDEpOwogICAg
IEFTU0VSVCghYnlWYWxJbmZvLnN0dWJSb3V0aW5lKTsKLSAgICAKKwogICAgIGlmIChoYXNPcHRp
bWl6YWJsZUluZGV4aW5nKG9iamVjdC0+c3RydWN0dXJlKHZtKSkpIHsKICAgICAgICAgLy8gQXR0
ZW1wdCB0byBvcHRpbWl6ZS4KICAgICAgICAgSklUQXJyYXlNb2RlIGFycmF5TW9kZSA9IGppdEFy
cmF5TW9kZUZvclN0cnVjdHVyZShvYmplY3QtPnN0cnVjdHVyZSh2bSkpOwpAQCAtMTUyMSw3ICsx
NTU2LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25IYXNJbmRleGVk
UHJvcGVydHlEZWZhdWx0KEV4ZWNTdGF0ZSogZXhlYywKICAgICAgICAgICAgIGRpZE9wdGltaXpl
ID0gdHJ1ZTsKICAgICAgICAgfQogICAgIH0KLSAgICAKKwogICAgIGlmICghZGlkT3B0aW1pemUp
IHsKICAgICAgICAgLy8gSWYgd2UgdGFrZSBzbG93IHBhdGggbW9yZSB0aGFuIDEwIHRpbWVzIHdp
dGhvdXQgcGF0Y2hpbmcgdGhlbiBtYWtlIHN1cmUgd2UKICAgICAgICAgLy8gbmV2ZXIgbWFrZSB0
aGF0IG1pc3Rha2UgYWdhaW4uIE9yLCBpZiB3ZSBmYWlsZWQgdG8gcGF0Y2ggYW5kIHdlIGhhdmUg
c29tZSBvYmplY3QKQEAgLTE1MzEsMzQgKzE1NjYsMzQgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25IYXNJbmRleGVkUHJvcGVydHlEZWZhdWx0KEV4ZWNTdGF0ZSogZXhl
YywKICAgICAgICAgaWYgKCsrYnlWYWxJbmZvLnNsb3dQYXRoQ291bnQgPj0gMTAKICAgICAgICAg
ICAgIHx8IG9iamVjdC0+c3RydWN0dXJlKHZtKS0+dHlwZUluZm8oKS5pbnRlcmNlcHRzR2V0T3du
UHJvcGVydHlTbG90QnlJbmRleEV2ZW5XaGVuTGVuZ3RoSXNOb3RaZXJvKCkpIHsKICAgICAgICAg
ICAgIC8vIERvbid0IGV2ZXIgdHJ5IHRvIG9wdGltaXplLgotICAgICAgICAgICAgY3RpUGF0Y2hD
YWxsQnlSZXR1cm5BZGRyZXNzKGV4ZWMtPmNvZGVCbG9jaygpLCBSZXR1cm5BZGRyZXNzUHRyKE9V
Ul9SRVRVUk5fQUREUkVTUyksIEZ1bmN0aW9uUHRyKG9wZXJhdGlvbkhhc0luZGV4ZWRQcm9wZXJ0
eUdlbmVyaWMpKTsgCisgICAgICAgICAgICBjdGlQYXRjaENhbGxCeVJldHVybkFkZHJlc3MoZXhl
Yy0+Y29kZUJsb2NrKCksIFJldHVybkFkZHJlc3NQdHIoT1VSX1JFVFVSTl9BRERSRVNTKSwgRnVu
Y3Rpb25QdHIob3BlcmF0aW9uSGFzSW5kZXhlZFByb3BlcnR5R2VuZXJpYykpOwogICAgICAgICB9
CiAgICAgfQotICAgIAorCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4ob2Jq
ZWN0LT5oYXNQcm9wZXJ0eShleGVjLCBzdWJzY3JpcHQuYXNVSW50MzIoKSkpKTsKIH0KLSAgICAK
KwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25IYXNJbmRleGVkUHJvcGVy
dHlHZW5lcmljKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRTdWJzY3JpcHQpCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0o
KTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CiAgICAgSlNW
YWx1ZSBiYXNlVmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpOwogICAgIEpTVmFs
dWUgc3Vic2NyaXB0ID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRTdWJzY3JpcHQpOwotICAgIAor
CiAgICAgQVNTRVJUKGJhc2VWYWx1ZS5pc09iamVjdCgpKTsKICAgICBBU1NFUlQoc3Vic2NyaXB0
LmlzVUludDMyKCkpOwogCiAgICAgSlNPYmplY3QqIG9iamVjdCA9IGFzT2JqZWN0KGJhc2VWYWx1
ZSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4ob2JqZWN0LT5oYXNQcm9w
ZXJ0eShleGVjLCBzdWJzY3JpcHQuYXNVSW50MzIoKSkpKTsKIH0KLSAgICAKKwogRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeVZhbFN0cmluZyhFeGVjU3RhdGUqIGV4
ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkU3Vi
c2NyaXB0KQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1l
VHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOwogICAgIEpTVmFsdWUgYmFzZVZhbHVlID0gSlNWYWx1
ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKTsKICAgICBKU1ZhbHVlIHN1YnNjcmlwdCA9IEpTVmFsdWU6
OmRlY29kZShlbmNvZGVkU3Vic2NyaXB0KTsKLSAgICAKKwogICAgIEpTVmFsdWUgcmVzdWx0Owog
ICAgIGlmIChMSUtFTFkoc3Vic2NyaXB0LmlzVUludDMyKCkpKSB7CiAgICAgICAgIHVpbnQzMl90
IGkgPSBzdWJzY3JpcHQuYXNVSW50MzIoKTsKQEAgLTE2MDEsNyArMTYzNiw3IEBAIEVuY29kZWRK
U1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSW5zdGFuY2VPZihFeGVjU3RhdGUqIGV4ZWMs
IEVuY29kZWRKU1ZhbHVlCiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4
ZWMpOwogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsK
ICAgICBKU1ZhbHVlIHByb3RvID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRQcm90byk7Ci0gICAg
CisKICAgICBBU1NFUlQoIXZhbHVlLmlzT2JqZWN0KCkgfHwgIXByb3RvLmlzT2JqZWN0KCkpOwog
CiAgICAgYm9vbCByZXN1bHQgPSBKU09iamVjdDo6ZGVmYXVsdEhhc0luc3RhbmNlKGV4ZWMsIHZh
bHVlLCBwcm90byk7CkBAIC0xNzU3LDcgKzE3OTIsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uUHV0VG9TY29wZShFeGVjU3RhdGUqIGV4ZWMsIEluc3RydWN0aW9uKiBieXRlY29kZVBD
KQogCiAgICAgUHV0UHJvcGVydHlTbG90IHNsb3Qoc2NvcGUsIGNvZGVCbG9jay0+aXNTdHJpY3RN
b2RlKCkpOwogICAgIHNjb3BlLT5tZXRob2RUYWJsZSgpLT5wdXQoc2NvcGUsIGV4ZWMsIGlkZW50
LCB2YWx1ZSwgc2xvdCk7Ci0gICAgCisKICAgICBpZiAoZXhlYy0+dm0oKS5leGNlcHRpb24oKSkK
ICAgICAgICAgcmV0dXJuOwogCkBAIC0xNzkxLDcgKzE4MjYsNyBAQCB2b2lkIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uT1NSV3JpdGVCYXJyaWVyKEV4ZWNTdGF0ZSogZXhlYywgSlNDZWxsKiBjZWxs
KQogfQogCiAvLyBOQjogV2UgZG9uJ3QgaW5jbHVkZSB0aGUgdmFsdWUgYXMgcGFydCBvZiB0aGUg
YmFycmllciBiZWNhdXNlIHRoZSB3cml0ZSBiYXJyaWVyIGVsaXNpb24KLS8vIHBoYXNlIGluIHRo
ZSBERkcgb25seSB0cmFja3Mgd2hldGhlciB0aGUgb2JqZWN0IGJlaW5nIHN0b3JlZCB0byBoYXMg
YmVlbiBiYXJyaWVyZWQuIEl0IAorLy8gcGhhc2UgaW4gdGhlIERGRyBvbmx5IHRyYWNrcyB3aGV0
aGVyIHRoZSBvYmplY3QgYmVpbmcgc3RvcmVkIHRvIGhhcyBiZWVuIGJhcnJpZXJlZC4gSXQKIC8v
IHdvdWxkIGJlIG11Y2ggbW9yZSBjb21wbGljYXRlZCB0byB0cnkgdG8gbW9kZWwgdGhlIHZhbHVl
IGJlaW5nIHN0b3JlZCBhcyB3ZWxsLgogdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblVuY29u
ZGl0aW9uYWxXcml0ZUJhcnJpZXIoRXhlY1N0YXRlKiBleGVjLCBKU0NlbGwqIGNlbGwpCiB7CkBA
IC0xODE1LDcgKzE4NTAsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gbG9va3VwRXhjZXB0aW9uSGFu
ZGxlcihWTSogdm0sIEV4ZWNTdGF0ZSogZXhlYykKIAogICAgIEpTVmFsdWUgZXhjZXB0aW9uVmFs
dWUgPSB2bS0+ZXhjZXB0aW9uKCk7CiAgICAgQVNTRVJUKGV4Y2VwdGlvblZhbHVlKTsKLSAgICAK
KwogICAgIGdlbmVyaWNVbndpbmQodm0sIGV4ZWMsIGV4Y2VwdGlvblZhbHVlKTsKICAgICBBU1NF
UlQodm0tPnRhcmdldE1hY2hpbmVQQ0ZvclRocm93KTsKIH0KQEAgLTE4MzAsNyArMTg2NSw3IEBA
IHZvaWQgSklUX09QRVJBVElPTiBsb29rdXBFeGNlcHRpb25IYW5kbGVyRnJvbUNhbGxlckZyYW1l
KFZNKiB2bSwgRXhlY1N0YXRlKiBleGVjCiAKICAgICBKU1ZhbHVlIGV4Y2VwdGlvblZhbHVlID0g
dm0tPmV4Y2VwdGlvbigpOwogICAgIEFTU0VSVChleGNlcHRpb25WYWx1ZSk7Ci0gICAgCisKICAg
ICBnZW5lcmljVW53aW5kKHZtLCBjYWxsZXJGcmFtZSwgZXhjZXB0aW9uVmFsdWUpOwogICAgIEFT
U0VSVCh2bS0+dGFyZ2V0TWFjaGluZVBDRm9yVGhyb3cpOwogfQpAQCAtMTg3Nyw3ICsxOTEyLDcg
QEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25IYXNJbmRleGVkUHJvcGVy
dHkoRXhlY1N0YXRlKiBleGVjLCBKU0NlbGwKICAgICBKU09iamVjdCogb2JqZWN0ID0gYmFzZUNl
bGwtPnRvT2JqZWN0KGV4ZWMsIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSk7CiAgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4ob2JqZWN0LT5oYXNQcm9wZXJ0eShleGVjLCBz
dWJzY3JpcHQpKSk7CiB9Ci0gICAgCisKIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25H
ZXRQcm9wZXJ0eUVudW1lcmF0b3IoRXhlY1N0YXRlKiBleGVjLCBKU0NlbGwqIGNlbGwpCiB7CiAg
ICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3BlcmF0aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVy
YXRpb25zLmgKaW5kZXggYzY1Zjg3NGQxZjJlNzcyZDhmNTM1ZjRiZDFjNGNlMGQyODA0NGFlNy4u
ZGYzYjlmZDNmM2Q2N2FmYWU5N2Q1ZmYzM2Q0NjdhOTUwYTU5Yzg0NSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKQEAgLTIwLDcgKzIwLDcgQEAKICAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKICAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAogICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCiAgKi8KIAogI2lmbmRlZiBKSVRPcGVyYXRpb25zX2gKQEAgLTExNSw2ICsxMTUsNyBA
QCB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9F
UFApKEV4ZWNTdGF0ZSosIHZvaWQqLCB2bwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BF
UkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVBTKShFeGVjU3RhdGUqLCB2b2lkKiwgc2l6ZV90KTsK
IHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQ
YykoRXhlY1N0YXRlKiwgSW5zdHJ1Y3Rpb24qKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklU
X09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VKc2NDKShFeGVjU3RhdGUqLCBKU1Njb3BlKiwg
SlNDZWxsKik7Cit0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9w
ZXJhdGlvbl9FSnNjQ0opKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNW
YWx1ZSk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJh
dGlvbl9FU1MpKEV4ZWNTdGF0ZSosIHNpemVfdCwgc2l6ZV90KTsKIHR5cGVkZWYgRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTc2lDSSkoRXhlY1N0YXRlKiwg
U3RydWN0dXJlU3R1YkluZm8qLCBKU0NlbGwqLCBTdHJpbmdJbXBsKik7CiB0eXBlZGVmIEVuY29k
ZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FU3NpSkkpKEV4ZWNTdGF0
ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUsIFN0cmluZ0ltcGwqKTsKQEAg
LTI3OSw2ICsyODAsOCBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5l
d0FycmF5QnVmZmVyV2l0aFByb2ZpbGUoRXhlY1N0YXRlKiwgQXJyYQogRW5jb2RlZEpTVmFsdWUg
SklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJheVdpdGhTaXplQW5kUHJvZmlsZShFeGVjU3Rh
dGUqLCBBcnJheUFsbG9jYXRpb25Qcm9maWxlKiwgRW5jb2RlZEpTVmFsdWUgc2l6ZSkgV1RGX0lO
VEVSTkFMOwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdGdW5jdGlv
bihFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKikgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdGdW5jdGlvbldpdGhJbnZhbGlkYXRlZFJl
YWxsb2NhdGlvbldhdGNocG9pbnQoRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCopIFdURl9J
TlRFUk5BTDsKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyb3dG
dW5jdGlvbihFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUpIFdU
Rl9JTlRFUk5BTDsKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJy
b3dGdW5jdGlvbldpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQoRXhlY1N0YXRl
KiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlKSBXVEZfSU5URVJOQUw7CiBKU0Nl
bGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3T2JqZWN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVy
ZSopIFdURl9JTlRFUk5BTDsKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
TmV3UmVnZXhwKEV4ZWNTdGF0ZSosIHZvaWQqKSBXVEZfSU5URVJOQUw7CiB2b2lkIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uSGFuZGxlV2F0Y2hkb2dUaW1lcihFeGVjU3RhdGUqKSBXVEZfSU5URVJO
QUw7CkBAIC00MDcsNCArNDEwLDMgQEAgaW5saW5lIFBfSklUT3BlcmF0aW9uX0VDbGkgb3BlcmF0
aW9uTGlua1BvbHltb3JwaGljQ2FsbEZvcihSZWdpc3RlclByZXNlcnZhdGlvbk0KICNlbmRpZiAv
LyBFTkFCTEUoSklUKQogCiAjZW5kaWYgLy8gSklUT3BlcmF0aW9uc19oCi0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCmluZGV4IDIwYmViZjMyZjYx
NTRmYTlmM2Y0Njk2MmYzYTYxNDBhMmU4NDZkYzAuLjdhODUwNWYyOGZlYzJjYWUyYzY1Mzg1Y2Mw
OTRiY2RmY2MyNGFmZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
TEludFNsb3dQYXRocy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50
U2xvd1BhdGhzLmNwcApAQCAtMzgsNiArMzgsOCBAQAogI2luY2x1ZGUgIkludGVycHJldGVyLmgi
CiAjaW5jbHVkZSAiSklULmgiCiAjaW5jbHVkZSAiSklURXhjZXB0aW9ucy5oIgorI2luY2x1ZGUg
IkpTQXJyb3dGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgogI2luY2x1
ZGUgIkpTTGV4aWNhbEVudmlyb25tZW50LmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2lu
Y2x1ZGUgIkpTQ0pTVmFsdWUuaCIKQEAgLTE3MSw2ICsxNzMsMTUgQEAgbmFtZXNwYWNlIEpTQyB7
IG5hbWVzcGFjZSBMTEludCB7CiAgICAgICAgIExMSU5UX1JFVFVSTl9UV08ocGMsIF9fcmNmX2V4
ZWMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgfSB3aGlsZSAoZmFsc2Up
CiAKKyAgICAKKyNkZWZpbmUgTExJTlRfQ0FMQ19QUk9QRVJUWV9GT1JfRlVOQ19FWFBSKCkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIExMSU5UX0JFR0lOKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVjLT5jb2RlQmxvY2soKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBKU1Njb3BlKiBzY29wZSA9IGV4ZWMt
PnVuY2hlY2tlZFIocGNbMl0udS5vcGVyYW5kKS5SZWdpc3Rlcjo6c2NvcGUoKTsgICAgICAgXAor
ICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9IGNvZGVCbG9jay0+ZnVuY3Rpb25F
eHByKHBjWzNdLnUub3BlcmFuZCk7ICBcCisgICAgCitlbnVtIEZ1bmN0aW9uRXhwcmVzc2lvblR5
cGUgeyBBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblR5cGUsIENvbW1vbkZ1bmN0aW9uRXhwcmVzc2lv
blR5cGV9OworICAgIAogZXh0ZXJuICJDIiBTbG93UGF0aFJldHVyblR5cGUgbGxpbnRfdHJhY2Vf
b3BlcmFuZChFeGVjU3RhdGUqIGV4ZWMsIEluc3RydWN0aW9uKiBwYywgaW50IGZyb21XaGVyZSwg
aW50IG9wZXJhbmQpCiB7CiAgICAgTExJTlRfQkVHSU4oKTsKQEAgLTEwMDMsMTYgKzEwMTQsMzMg
QEAgTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX25ld19mdW5jKQogI2VuZGlmCiAgICAg
TExJTlRfUkVUVVJOKEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgY29kZUJsb2NrLT5mdW5jdGlvbkRl
Y2wocGNbM10udS5vcGVyYW5kKSwgc2NvcGUpKTsKIH0KLQorICAgIAogTExJTlRfU0xPV19QQVRI
X0RFQ0woc2xvd19wYXRoX25ld19mdW5jX2V4cCkKIHsKLSAgICBMTElOVF9CRUdJTigpOwotICAg
IENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+Y29kZUJsb2NrKCk7Ci0gICAgSlNTY29wZSog
c2NvcGUgPSBleGVjLT51bmNoZWNrZWRSKHBjWzJdLnUub3BlcmFuZCkuUmVnaXN0ZXI6OnNjb3Bl
KCk7Ci0gICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlvbiA9IGNvZGVCbG9jay0+ZnVuY3Rp
b25FeHByKHBjWzNdLnUub3BlcmFuZCk7Ci0gICAgSlNGdW5jdGlvbiogZnVuYyA9IEpTRnVuY3Rp
b246OmNyZWF0ZSh2bSwgZnVuY3Rpb24sIHNjb3BlKTsKKyAgICBMTElOVF9DQUxDX1BST1BFUlRZ
X0ZPUl9GVU5DX0VYUFIoKTsKKworICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Z1bmN0aW9uOjpj
cmVhdGUodm0sIGV4ZWN1dGFibGUsIHNjb3BlKTsKKyAgICBMTElOVF9SRVRVUk4oZnVuYyk7Cit9
CisKKworTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX25ld19hcnJvd19mdW5jX2V4cCkK
K3sKKyAgICBMTElOVF9DQUxDX1BST1BFUlRZX0ZPUl9GVU5DX0VYUFIoKTsKKworI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBMTElO
VF9PUF9DKDQpLmpzVmFsdWUoKTsKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0g
ZXhlYy0+Y2FsbGVlKCktPmdsb2JhbE9iamVjdCgpOwogICAgIAorICAgIEpTRnVuY3Rpb24qIGZ1
bmMgPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGV4ZWN1dGFibGUsIHNjb3BlKTsKKyAgICAKKyAg
ICBjb25zdCBTdHJpbmcgZnVuY1dpdGhvdXROYW1lID0gIiI7CisgICAgCisgICAgTExJTlRfUkVU
VVJOKEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIGZ1bmMsIHRoaXNW
YWx1ZSkpOworI2Vsc2UKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNGdW5jdGlvbjo6Y3JlYXRl
KHZtLCBleGVjdXRhYmxlLCBzY29wZSk7CiAgICAgTExJTlRfUkVUVVJOKGZ1bmMpOworI2VuZGlm
CiB9CiAKIHN0YXRpYyBTbG93UGF0aFJldHVyblR5cGUgaGFuZGxlSG9zdENhbGwoRXhlY1N0YXRl
KiBleGVjQ2FsbGVlLCBJbnN0cnVjdGlvbiogcGMsIEpTVmFsdWUgY2FsbGVlLCBDb2RlU3BlY2lh
bGl6YXRpb25LaW5kIGtpbmQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTExJbnRTbG93UGF0aHMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNs
b3dQYXRocy5oCmluZGV4IDRiZjdkZWIwZmEwYjZjNjQzOGUzNmY5NjMyMGUyZjY2OTczOWFmNjQu
LmM3ZmFiOTY5MWMxOGI5Mzk1NmQwZWEyOWYzMzk1NjExOGM1ZTcxZWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCkBAIC05Niw2ICs5Niw3IEBAIExM
SU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfc3dpdGNoX2NoYXIpOwogTExJTlRf
U0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9zd2l0Y2hfc3RyaW5nKTsKIExMSU5UX1NM
T1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfbmV3X2Z1bmMpOwogTExJTlRfU0xPV19QQVRI
X0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuY19leHApOworTExJTlRfU0xPV19QQVRIX0hJ
RERFTl9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApOwogTExJTlRfU0xPV19QQVRI
X0hJRERFTl9ERUNMKHNsb3dfcGF0aF9jYWxsKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVD
TChzbG93X3BhdGhfY29uc3RydWN0KTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93
X3BhdGhfc2l6ZV9mcmFtZV9mb3JfdmFyYXJncyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20gYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KaW5kZXggNTQzZDllOTMzM2M1MTNl
OTc2MTdiN2JkYTdmNjk5ODY2ODM4YTFlMC4uMTgyYmJkOWU0ZWY3ODkyOGRhNTJmYmNlYzg4MmE1
ZGYzNmRiNzk0MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbQpAQCAtMTE2OSw2ICsxMTY5LDEwIEBAIF9sbGludF9vcF9uZXdf
ZnVuY19leHA6CiAgICAgY2FsbFNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfbmV3X2Z1bmNfZXhw
KQogICAgIGRpc3BhdGNoKDQpCiAKK19sbGludF9vcF9uZXdfYXJyb3dfZnVuY19leHA6CisgICAg
dHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX25ld19h
cnJvd19mdW5jX2V4cCkKKyAgICBkaXNwYXRjaCg1KQogCiBfbGxpbnRfb3BfY2FsbDoKICAgICB0
cmFjZUV4ZWN1dGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L0FTVEJ1aWxkZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5o
CmluZGV4IGFhNzM3MDUyY2IzYzgxNTM1N2M4YTZmZTM2OGFkMjE1OWJhMzJjMGYuLjlkMDMxOTE0
NGJkNGQ3YmUxNjZmZDc5NDA1MjU4YjkyZDI0YTQ2NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvQVNUQnVpbGRlci5oCkBAIC0zNTcsNiArMzU3LDE5IEBAIHB1YmxpYzoKICAgICAg
ICAgICAgIGluU3RyaWN0Q29udGV4dCwgY29uc3RydWN0b3JLaW5kKTsKICAgICB9CiAKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEV4cHJlc3Npb25Ob2RlKiBjcmVh
dGVBcnJvd0Z1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25z
dCBQYXJzZXJGdW5jdGlvbkluZm88QVNUQnVpbGRlcj4mIGluZm8pCisgICAgeworICAgICAgICBT
b3VyY2VDb2RlIHNvdXJjZSA9IGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9u
Qm9keUV4cHJlc3Npb24KKyAgICAgICAgPyBtX3NvdXJjZUNvZGUtPnN1YkFycm93RXhwcmVzc2lv
bihpbmZvLmFycm93RnVuY3Rpb25PZmZzZXQsIGluZm8uY2xvc2VCcmFjZU9mZnNldCwgaW5mby5i
b2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlTdGFydENvbHVtbikKKyAgICAgICAgOiBtX3NvdXJjZUNv
ZGUtPnN1YkV4cHJlc3Npb24oaW5mby5vcGVuQnJhY2VPZmZzZXQsIGluZm8uY2xvc2VCcmFjZU9m
ZnNldCwgaW5mby5ib2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlTdGFydENvbHVtbik7CisKKyAgICAg
ICAgQXJyb3dGdW5jRXhwck5vZGUqIHJlc3VsdCA9IG5ldyAobV9wYXJzZXJBcmVuYSkgQXJyb3dG
dW5jRXhwck5vZGUobG9jYXRpb24sICppbmZvLm5hbWUsIGluZm8uYm9keSwgc291cmNlLCBpbmZv
LnBhcmFtZXRlcnMpOworICAgICAgICBpbmZvLmJvZHktPnNldExvYyhpbmZvLmJvZHlTdGFydExp
bmUsIGluZm8uYm9keUVuZExpbmUsIGxvY2F0aW9uLnN0YXJ0T2Zmc2V0LCBsb2NhdGlvbi5saW5l
U3RhcnRPZmZzZXQpOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKyNlbmRpZgorCiAg
ICAgTkVWRVJfSU5MSU5FIFByb3BlcnR5Tm9kZSogY3JlYXRlR2V0dGVyT3JTZXR0ZXJQcm9wZXJ0
eShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBQcm9wZXJ0eU5vZGU6OlR5cGUgdHlw
ZSwgYm9vbCwKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogbmFtZSwgY29uc3QgUGFyc2VyRnVu
Y3Rpb25JbmZvPEFTVEJ1aWxkZXI+JiBpbmZvLCBTdXBlckJpbmRpbmcgc3VwZXJCaW5kaW5nKQog
ICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKaW5kZXggOTZlYjdhYWIy
MzlhMzg2ZDA3ZjYwZGJhNzRlNmZhZDFmYTZjZDM3YS4uYWQ3MDU2ZGRlMzg4ZWY4NmZiN2Y2Mjc2
ZmRhNzNlYWU4OWQ0MzQ4ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9MZXhlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAK
QEAgLTE3MDgsNiArMTcwOCwxOCBAQCBib29sIExleGVyPFQ+OjpuZXh0VG9rZW5Jc0NvbG9uKCkK
ICAgICByZXR1cm4gY29kZSA8IG1fY29kZUVuZCAmJiAqY29kZSA9PSAnOic7CiB9CiAKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIFQ+Cit2
b2lkIExleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9uKEpTVG9rZW4qIHRva2VuUmVjb3JkKQorewor
ICAgIEpTVG9rZW5EYXRhKiB0b2tlbkRhdGEgPSAmdG9rZW5SZWNvcmQtPm1fZGF0YTsKKyAgICB0
b2tlbkRhdGEtPmxpbmUgPSBsaW5lTnVtYmVyKCk7CisgICAgdG9rZW5EYXRhLT5vZmZzZXQgPSBj
dXJyZW50T2Zmc2V0KCk7CisgICAgdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50
TGluZVN0YXJ0T2Zmc2V0KCk7CisgICAgQVNTRVJUKHRva2VuRGF0YS0+b2Zmc2V0ID49IHRva2Vu
RGF0YS0+bGluZVN0YXJ0T2Zmc2V0KTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUg
VD4KIEpTVG9rZW5UeXBlIExleGVyPFQ+OjpsZXgoSlNUb2tlbiogdG9rZW5SZWNvcmQsIHVuc2ln
bmVkIGxleGVyRmxhZ3MsIGJvb2wgc3RyaWN0TW9kZSkKIHsKQEAgLTE3NzEsNyArMTc4MywxMiBA
QCBzdGFydDoKICAgICAgICAgfQogICAgICAgICB0b2tlbiA9IEdUOwogICAgICAgICBicmVhazsK
LSAgICBjYXNlIENoYXJhY3RlckVxdWFsOgorICAgIGNhc2UgQ2hhcmFjdGVyRXF1YWw6IHsKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB1aW50MzJfdCBzYXZl
ZGxpbmVOdW1iZXIgPSB0b2tlbkRhdGEtPmxpbmU7CisgICAgICAgIHVpbnQzMl90IHNhdmVkT2Zm
c2V0ID0gY3VycmVudE9mZnNldCgpOworICAgICAgICB1aW50MzJfdCBzYXZlZExpbmVTdGFydE9m
ZnNldCA9IGN1cnJlbnRMaW5lU3RhcnRPZmZzZXQoKTsKKyNlbmRpZgogICAgICAgICBzaGlmdCgp
OwogICAgICAgICBpZiAobV9jdXJyZW50ID09ICc9JykgewogICAgICAgICAgICAgc2hpZnQoKTsK
QEAgLTE3ODMsOCArMTgwMCwyMiBAQCBzdGFydDoKICAgICAgICAgICAgIHRva2VuID0gRVFFUTsK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnPicpIHsKKyAgICAgICAgICAg
IHNoaWZ0KCk7CisgICAgICAgICAgICB0b2tlbiA9IEFSUk9XRlVOQ1RJT047CisKKyAgICAgICAg
ICAgIHRva2VuRGF0YS0+bGluZSA9IHNhdmVkbGluZU51bWJlcjsKKyAgICAgICAgICAgIHRva2Vu
RGF0YS0+b2Zmc2V0ID0gc2F2ZWRPZmZzZXQ7CisgICAgICAgICAgICB0b2tlbkRhdGEtPmxpbmVT
dGFydE9mZnNldCA9IHNhdmVkTGluZVN0YXJ0T2Zmc2V0OworCisgICAgICAgICAgICBBU1NFUlQo
dG9rZW5EYXRhLT5vZmZzZXQgPj0gdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQpOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICB0b2tlbiA9IEVRVUFMOwog
ICAgICAgICBicmVhazsKKyAgICB9CiAgICAgY2FzZSBDaGFyYWN0ZXJMZXNzOgogICAgICAgICBz
aGlmdCgpOwogICAgICAgICBpZiAobV9jdXJyZW50ID09ICchJyAmJiBwZWVrKDEpID09ICctJyAm
JiBwZWVrKDIpID09ICctJykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9MZXhlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCmluZGV4
IDhhZmVmMjYxMTIxMDhhZWQ3ZTg2ZWQwZTg0NzliNzljMWQwMjI3YWIuLmJkYTNiZDQ5ZWE3YTU5
YzM1YzRlMTI4NWNmOTQ4MzIyNTVjODdmZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvTGV4ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xl
eGVyLmgKQEAgLTg3LDYgKzg3LDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SXNSZXBhcnNpbmco
KSB7IG1faXNSZXBhcnNpbmcgPSB0cnVlOyB9CiAgICAgYm9vbCBpc1JlcGFyc2luZygpIGNvbnN0
IHsgcmV0dXJuIG1faXNSZXBhcnNpbmc7IH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgdm9pZCBzZXRUb2tlblBvc2l0aW9uKEpTVG9rZW4qIHRva2VuUmVjb3Jk
KTsKKyNlbmRpZgogICAgIEpTVG9rZW5UeXBlIGxleChKU1Rva2VuKiwgdW5zaWduZWQsIGJvb2wg
c3RyaWN0TW9kZSk7CiAgICAgYm9vbCBuZXh0VG9rZW5Jc0NvbG9uKCk7CiAgICAgaW50IGxpbmVO
dW1iZXIoKSBjb25zdCB7IHJldHVybiBtX2xpbmVOdW1iZXI7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKaW5kZXggODliOTI4ZWNmOGI0NDAw
MDYyMzY2MTI4MmE5NzBhNTYyMWE1MWE5Mi4uMWI0MGVlM2UyMWQ4ZTM3MDE2MWNjOWY5YzRhZWVj
YzcwNzI2M2ZhMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rl
Q29uc3RydWN0b3JzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29u
c3RydWN0b3JzLmgKQEAgLTgzNSw2ICs4MzUsMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
IG1fYm9keS0+ZmluaXNoUGFyc2luZyhzb3VyY2UsIHBhcmFtZXRlciwgaWRlbnQsIEZ1bmN0aW9u
RXhwcmVzc2lvbik7CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICBpbmxpbmUgQXJyb3dGdW5jRXhwck5vZGU6OkFycm93RnVuY0V4cHJOb2RlKGNvbnN0
IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBGdW5j
dGlvbkJvZHlOb2RlKiBib2R5LCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIFBhcmFtZXRlck5v
ZGUqIHBhcmFtZXRlcikKKyAgICAgICAgOiBGdW5jRXhwck5vZGUobG9jYXRpb24sIGlkZW50LCBi
b2R5LCBzb3VyY2UsIHBhcmFtZXRlcikKKyAgICB7CisgICAgfQorI2VuZGlmCisgICAgCiAgICAg
aW5saW5lIEZ1bmNEZWNsTm9kZTo6RnVuY0RlY2xOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYg
bG9jYXRpb24sIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBGdW5jdGlvbkJvZHlOb2RlKiBib2R5
LCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIFBhcmFtZXRlck5vZGUqIHBhcmFtZXRlcikKICAg
ICAgICAgOiBTdGF0ZW1lbnROb2RlKGxvY2F0aW9uKQogICAgICAgICAsIG1fYm9keShib2R5KQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCmluZGV4IDc4NDgxODRlNTU0Y2Y0MGVhZjM5
MDY3ZTY3OGE1ZWQ4YWM1NDk5ZTguLjk1NDBiMWI0NTE0NTE0MzYyZTA3OWE4NDdjMDE1ZGUwYmM3
YjVmOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKQEAgLTE1OCw2ICsxNTgs
OSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdmlydHVhbCBib29sIGlzRG90QWNjZXNzb3JO
b2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzRGVj
b25zdHJ1Y3Rpb25Ob2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVh
bCBib29sIGlzRnVuY0V4cHJOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNBcnJv
d0Z1bmNFeHByTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjZW5kaWYKICAgICAgICAg
dmlydHVhbCBib29sIGlzQ29tbWFOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAg
ICAgdmlydHVhbCBib29sIGlzU2ltcGxlQXJyYXkoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQog
ICAgICAgICB2aXJ0dWFsIGJvb2wgaXNBZGQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpAQCAt
MTcyNiw2ICsxNzI5LDE5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBGdW5jdGlvbkJvZHlO
b2RlKiBtX2JvZHk7CiAgICAgfTsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCisgICAgY2xhc3MgQXJyb3dGdW5jRXhwck5vZGUgOiBwdWJsaWMgRnVuY0V4cHJOb2RlIHsK
KyAgICBwdWJsaWM6CisgICAgICAgIEFycm93RnVuY0V4cHJOb2RlKGNvbnN0IEpTVG9rZW5Mb2Nh
dGlvbiYsIGNvbnN0IElkZW50aWZpZXImLCBGdW5jdGlvbkJvZHlOb2RlKiwgY29uc3QgU291cmNl
Q29kZSYsIFBhcmFtZXRlck5vZGUqID0gMCk7CisgICAgcHJpdmF0ZToKKyAgICAgICAgdmlydHVh
bCBSZWdpc3RlcklEKiBlbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImLCBSZWdpc3RlcklE
KiA9IDApIG92ZXJyaWRlOworICAgICAgICAKKyAgICAgICAgdmlydHVhbCBib29sIGlzRnVuY0V4
cHJOb2RlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKyAgICAgICAgCisgICAg
ICAgIHZpcnR1YWwgYm9vbCBpc0Fycm93RnVuY0V4cHJOb2RlKCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gdHJ1ZTsgfQorICAgIH07CisjZW5kaWYKKwogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lO
VEFYKQogICAgIGNsYXNzIENsYXNzRXhwck5vZGUgZmluYWwgOiBwdWJsaWMgRXhwcmVzc2lvbk5v
ZGUgewogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcApp
bmRleCAxNDhjOWIyNGFjYmFmNTE4NGU1YmQxYzA0NTQwNWRhYzU5ODNiNzgxLi42YTlmMDQ3OTJh
ZWVjMWIwMjQ2ZTVhMTI0MDE2NzhmNjU4ODQyYzVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9QYXJzZXIuY3BwCkBAIC0yNjQsNyArMjY0LDcgQEAgU3RyaW5nIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUlubmVyKCkKICAgICBpZiAobV9sZXhlci0+aXNSZXBhcnNpbmcoKSkKICAgICAg
ICAgbV9zdGF0ZW1lbnREZXB0aC0tOwogICAgIFNjb3BlUmVmIHNjb3BlID0gY3VycmVudFNjb3Bl
KCk7Ci0gICAgU291cmNlRWxlbWVudHMqIHNvdXJjZUVsZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVt
ZW50cyhjb250ZXh0LCBDaGVja0ZvclN0cmljdE1vZGUpOworICAgIFNvdXJjZUVsZW1lbnRzKiBz
b3VyY2VFbGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgQ2hlY2tGb3JTdHJp
Y3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICBpZiAoIXNvdXJjZUVsZW1l
bnRzIHx8ICFjb25zdW1lKEVPRlRPSykpIHsKICAgICAgICAgaWYgKGhhc0Vycm9yKCkpCiAgICAg
ICAgICAgICBwYXJzZUVycm9yID0gbV9lcnJvck1lc3NhZ2U7CkBAIC0zNDMsNyArMzQzLDcgQEAg
Ym9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6YWxsb3dBdXRvbWF0aWNTZW1pY29sb24oKQogfQogCiB0
ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgotdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVu
dHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZUVsZW1lbnRzTW9kZSBtb2RlKQordGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZUVsZW1l
bnRzTW9kZSBtb2RlLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSkKIHsKICAg
ICBjb25zdCB1bnNpZ25lZCBsZW5ndGhPZlVzZVN0cmljdExpdGVyYWwgPSAxMjsgLy8gInVzZSBz
dHJpY3QiLmxlbmd0aAogICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzb3VyY2VFbGVtZW50cyA9IGNv
bnRleHQuY3JlYXRlU291cmNlRWxlbWVudHMoKTsKQEAgLTM1Miw3ICszNTIsNyBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VTb3VyY2VFbAogICAgIHVuc2lnbmVkIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAw
OwogICAgIGF1dG8gc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CiAgICAgYm9vbCBoYXNT
ZXRTdHJpY3QgPSBmYWxzZTsKLSAgICB3aGlsZSAoVHJlZVN0YXRlbWVudCBzdGF0ZW1lbnQgPSBw
YXJzZVN0YXRlbWVudChjb250ZXh0LCBkaXJlY3RpdmUsICZkaXJlY3RpdmVMaXRlcmFsTGVuZ3Ro
KSkgeworICAgIHdoaWxlIChUcmVlU3RhdGVtZW50IHN0YXRlbWVudCA9IHBhcnNlU3RhdGVtZW50
KGNvbnRleHQsIGRpcmVjdGl2ZSwgJmRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgsIGZ1bmN0aW9uUGFy
c2VUeXBlKSkgewogICAgICAgICBpZiAobW9kZSA9PSBDaGVja0ZvclN0cmljdE1vZGUgJiYgIXNl
ZW5Ob25EaXJlY3RpdmUpIHsKICAgICAgICAgICAgIGlmIChkaXJlY3RpdmUpIHsKICAgICAgICAg
ICAgICAgICAvLyAidXNlIHN0cmljdCIgbXVzdCBiZSB0aGUgZXhhY3QgbGl0ZXJhbCB3aXRob3V0
IGVzY2FwZSBzZXF1ZW5jZXMgb3IgbGluZSBjb250aW51YXRpb24uCkBAIC01ODQsNiArNTg0LDMx
IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlY29uc3RydWN0aW9uUGF0dGVy
biBQYXJzZXI8TGV4ZXJUeXBlPjo6Y3JlYXRlCiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlQmlu
ZGluZ0xvY2F0aW9uKHRva2VuLm1fbG9jYXRpb24sIG5hbWUsIHRva2VuLm1fc3RhcnRQb3NpdGlv
biwgdG9rZW4ubV9lbmRQb3NpdGlvbik7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJv
d0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0KQoreworICAgIEFTU0VSVCht
YXRjaChBUlJPV0ZVTkNUSU9OKSk7CisKKyAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9r
ZW5Mb2NhdGlvbigpKTsKKyAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3Np
dGlvbigpOworICAgIEpTVGV4dFBvc2l0aW9uIGVuZCA9IHRva2VuRW5kUG9zaXRpb24oKTsKKwor
ICAgIG5leHQoKTsKKyAgICBUcmVlRXhwcmVzc2lvbiBleHByID0gcGFyc2VBcnJvd0Z1bmN0aW9u
RXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICBmYWlsSWZGYWxzZShleHByLCAiQ2Fubm90IHBhcnNl
IHRoZSBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgZW5kID0gbGFzdFRva2VuRW5k
UG9zaXRpb24oKTsKKworICAgIGJvb2wgY29ycmVjdEFycm93RmluaXNoID0gaXNFbmRPZkFycm93
RnVuY3Rpb24oKSB8fCBtYXRjaChFT0ZUT0spOworICAgIGZhaWxJZkZhbHNlKGNvcnJlY3RBcnJv
d0ZpbmlzaCwgIkV4cGVjdGVkIGEgJzsnLCAnXScsICd9JywgJyknLCBvciAnLCcgZm9sbG93aW5n
IGEgYXJyb3cgZnVuY3Rpb24gc3RhdGVtZW50Iik7CisKKyAgICBlbmQgPSB0b2tlbkVuZFBvc2l0
aW9uKCk7CisgICAgc2V0RW5kT2ZTdGF0ZW1lbnQoKTsKKworICAgIHJldHVybiBjb250ZXh0LmNy
ZWF0ZVJldHVyblN0YXRlbWVudChsb2NhdGlvbiwgZXhwciwgc3RhcnQsIGVuZCk7Cit9CisjZW5k
aWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6dHJ5
UGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm5FeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0
KQogewpAQCAtMTAzMSw3ICsxMDU2LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlQ2xhdXNlTGlzdCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTd2l0Y2hDbGF1c2UKICAgICBU
cmVlRXhwcmVzc2lvbiBjb25kaXRpb24gPSBwYXJzZUV4cHJlc3Npb24oY29udGV4dCk7CiAgICAg
ZmFpbElmRmFsc2UoY29uZGl0aW9uLCAiQ2Fubm90IHBhcnNlIHN3aXRjaCBjbGF1c2UiKTsKICAg
ICBjb25zdW1lT3JGYWlsKENPTE9OLCAiRXhwZWN0ZWQgYSAnOicgYWZ0ZXIgc3dpdGNoIGNsYXVz
ZSBleHByZXNzaW9uIik7Ci0gICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJz
ZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUpOworICAgIFRy
ZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0
LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAg
ICBmYWlsSWZGYWxzZShzdGF0ZW1lbnRzLCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIGEgc3dp
dGNoIGNsYXVzZSIpOwogICAgIFRyZWVDbGF1c2UgY2xhdXNlID0gY29udGV4dC5jcmVhdGVDbGF1
c2UoY29uZGl0aW9uLCBzdGF0ZW1lbnRzKTsKICAgICBjb250ZXh0LnNldFN0YXJ0T2Zmc2V0KGNs
YXVzZSwgc3RhcnRPZmZzZXQpOwpAQCAtMTA0NCw3ICsxMDY5LDcgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlQ2xhdXNlTGlzdCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTd2l0
Y2hDbGF1c2UKICAgICAgICAgVHJlZUV4cHJlc3Npb24gY29uZGl0aW9uID0gcGFyc2VFeHByZXNz
aW9uKGNvbnRleHQpOwogICAgICAgICBmYWlsSWZGYWxzZShjb25kaXRpb24sICJDYW5ub3QgcGFy
c2Ugc3dpdGNoIGNhc2UgZXhwcmVzc2lvbiIpOwogICAgICAgICBjb25zdW1lT3JGYWlsKENPTE9O
LCAiRXhwZWN0ZWQgYSAnOicgYWZ0ZXIgc3dpdGNoIGNsYXVzZSBleHByZXNzaW9uIik7Ci0gICAg
ICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhj
b250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICAgICAgVHJlZVNvdXJjZUVsZW1l
bnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0Zv
clN0cmljdE1vZGUsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwogICAgICAgICBmYWlsSWZG
YWxzZShzdGF0ZW1lbnRzLCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIGEgc3dpdGNoIGNsYXVz
ZSIpOwogICAgICAgICBjbGF1c2UgPSBjb250ZXh0LmNyZWF0ZUNsYXVzZShjb25kaXRpb24sIHN0
YXRlbWVudHMpOwogICAgICAgICBjb250ZXh0LnNldFN0YXJ0T2Zmc2V0KGNsYXVzZSwgc3RhcnRP
ZmZzZXQpOwpAQCAtMTA2MSw3ICsxMDg2LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlQ2xhdXNlIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN3aXRjaERlZmF1bHRDbGEKICAg
ICB1bnNpZ25lZCBzdGFydE9mZnNldCA9IHRva2VuU3RhcnQoKTsKICAgICBuZXh0KCk7CiAgICAg
Y29uc3VtZU9yRmFpbChDT0xPTiwgIkV4cGVjdGVkIGEgJzonIGFmdGVyIHN3aXRjaCBkZWZhdWx0
IGNsYXVzZSIpOwotICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3Vy
Y2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICBUcmVlU291
cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgRG9u
dENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CiAgICAgZmFp
bElmRmFsc2Uoc3RhdGVtZW50cywgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiBhIHN3aXRjaCBk
ZWZhdWx0IGNsYXVzZSIpOwogICAgIFRyZWVDbGF1c2UgcmVzdWx0ID0gY29udGV4dC5jcmVhdGVD
bGF1c2UoMCwgc3RhdGVtZW50cyk7CiAgICAgY29udGV4dC5zZXRTdGFydE9mZnNldChyZXN1bHQs
IHN0YXJ0T2Zmc2V0KTsKQEAgLTExNDYsNyArMTE3MSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VCbG9ja1N0YXRl
bWVuCiAgICAgICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KHJlc3VsdCwgZW5kT2Zmc2V0KTsKICAg
ICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0gICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN1YnRy
ZWUgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUp
OworICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdWJ0cmVlID0gcGFyc2VTb3VyY2VFbGVtZW50cyhj
b250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBl
KTsKICAgICBmYWlsSWZGYWxzZShzdWJ0cmVlLCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIHRo
ZSBibG9jayBzdGF0ZW1lbnQiKTsKICAgICBtYXRjaE9yRmFpbChDTE9TRUJSQUNFLCAiRXhwZWN0
ZWQgYSBjbG9zaW5nICd9JyBhdCB0aGUgZW5kIG9mIGEgYmxvY2sgc3RhdGVtZW50Iik7CiAgICAg
aW50IGVuZE9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKQEAgLTExNTgsNyArMTE4Myw3
IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VCbG9ja1N0YXRlbWVuCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhl
clR5cGU+Ci10ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJ
ZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCkK
K3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZp
ZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoLCBGdW5jdGlv
blBhcnNlVHlwZSBwYXJzZVR5cGUpCiB7CiAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRo
KCZtX3N0YXRlbWVudERlcHRoKTsKICAgICBtX3N0YXRlbWVudERlcHRoKys7CkBAIC0xMTY3LDYg
KzExOTIsMjMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmUKICAgICBmYWlsSWZTdGFja092ZXJm
bG93KCk7CiAgICAgVHJlZVN0YXRlbWVudCByZXN1bHQgPSAwOwogICAgIGJvb2wgc2hvdWxkU2V0
RW5kT2Zmc2V0ID0gdHJ1ZTsKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAg
IHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKKyAgICAgICAgY2FzZSBDTE9TRVBBUkVOOgorICAg
ICAgICBjYXNlIENMT1NFQlJBQ0tFVDoKKyAgICAgICAgY2FzZSBDT01NQToKKyAgICAgICAgY2Fz
ZSBTRU1JQ09MT046IHsKKyAgICAgICAgICAgIHJlc3VsdCA9IDA7CisgICAgICAgICAgICBjb250
ZXh0LnNldEVuZE9mZnNldChyZXN1bHQsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ub2Zmc2V0KTsK
KyAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgIH0KKyAgICAgICAgZGVmYXVsdDoK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorI2VuZGlmCiAgICAgc3dpdGNo
IChtX3Rva2VuLm1fdHlwZSkgewogICAgIGNhc2UgT1BFTkJSQUNFOgogICAgICAgICByZXN1bHQg
PSBwYXJzZUJsb2NrU3RhdGVtZW50KGNvbnRleHQpOwpAQCAtMTIxMiw2ICsxMjU0LDE1IEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgY2FzZSBCUkVBSzoKICAgICAgICAgcmVzdWx0ID0g
cGFyc2VCcmVha1N0YXRlbWVudChjb250ZXh0KTsKICAgICAgICAgYnJlYWs7CisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIEFSUk9XRlVOQ1RJT046CisgICAg
ICAgIHJlc3VsdCA9IHBhcnNlQXJyb3dGdW5jdGlvblN0YXRlbWVudChjb250ZXh0KTsKKyAgICAg
ICAgLy8gQ29uc3VtZSB0aGUgZW5kIG9mIGFycm93IGZ1bmN0aW9uICw7XSkgYW5kIHByZXZlbnQK
KyAgICAgICAgLy8gcGFyc2UgdGhpcyBzeW1ib2xzIGJ5IHBhcnNlU3RhdGVtZW50IGFzIHNlcGFy
YXRlIHN0YXRlbWVudAorICAgICAgICBpZiAocGFyc2VUeXBlID09IFN0YW5kYXJkRnVuY3Rpb25Q
YXJzZVR5cGUpCisgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAg
ICAgY2FzZSBSRVRVUk46CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlUmV0dXJuU3RhdGVtZW50KGNv
bnRleHQpOwogICAgICAgICBicmVhazsKQEAgLTEyNzYsMjAgKzEzMjcsMzQgQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRm9ybWFsUGFyYW1ldGVyTGlzdCBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VGb3IKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGdW5jdGlvbkJvZHkgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlRnVuY3Rpb25Cb2R5KAogICAgIFRyZWVCdWlsZGVyJiBjb250ZXh0LCBpbnQgZnVuY3Rpb25L
ZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwgCi0gICAgaW50IHBhcmFtZXRlcnNT
dGFydCwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCkKKyAgICBpbnQgcGFyYW1ldGVy
c1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kLCBGdW5jdGlvblBhcnNlVHlw
ZSBwYXJzZVR5cGUpCiB7CiAgICAgSlNUb2tlbkxvY2F0aW9uIHN0YXJ0TG9jYXRpb24odG9rZW5M
b2NhdGlvbigpKTsKICAgICB1bnNpZ25lZCBzdGFydENvbHVtbiA9IHRva2VuQ29sdW1uKCk7Cisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBlID09
IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgbmV4dCgpOworICAgICAgICBp
ZiAobWF0Y2goQ0xPU0VCUkFDRSkpIHsKKyAgICAgICAgICAgIHVuc2lnbmVkIGVuZENvbHVtbiA9
IHRva2VuQ29sdW1uKCk7CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlv
bkJvZHkoc3RhcnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5kQ29s
dW1uLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNT
dGFydCwgc3RyaWN0TW9kZSgpLCBjb25zdHJ1Y3RvcktpbmQpOworICAgICAgICB9CisgICAgfQor
I2Vsc2UKICAgICBuZXh0KCk7Ci0KICAgICBpZiAobWF0Y2goQ0xPU0VCUkFDRSkpIHsKICAgICAg
ICAgdW5zaWduZWQgZW5kQ29sdW1uID0gdG9rZW5Db2x1bW4oKTsKICAgICAgICAgcmV0dXJuIGNv
bnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0YXJ0TG9jYXRpb24sIHRva2VuTG9jYXRpb24oKSwg
c3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFt
ZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0cmljdE1vZGUoKSwgY29uc3RydWN0b3JLaW5kKTsK
ICAgICB9CisjZW5kaWYKKwogICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0
ZW1lbnREZXB0aCk7CiAgICAgbV9zdGF0ZW1lbnREZXB0aCA9IDA7CiAgICAgdHlwZW5hbWUgVHJl
ZUJ1aWxkZXI6OkZ1bmN0aW9uQm9keUJ1aWxkZXIgYm9keUJ1aWxkZXIoY29uc3RfY2FzdDxWTSo+
KG1fdm0pLCBtX2xleGVyLmdldCgpKTsKLSAgICBmYWlsSWZGYWxzZShwYXJzZVNvdXJjZUVsZW1l
bnRzKGJvZHlCdWlsZGVyLCBDaGVja0ZvclN0cmljdE1vZGUpLCAiQ2Fubm90IHBhcnNlIGJvZHkg
b2YgdGhpcyBmdW5jdGlvbiIpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgZmFpbElmRmFsc2UocGFyc2VTb3VyY2VFbGVtZW50cyhib2R5QnVpbGRlciwgQ2hlY2tG
b3JTdHJpY3RNb2RlLCBwYXJzZVR5cGUpLCBwYXJzZVR5cGUgPT0gU3RhbmRhcmRGdW5jdGlvblBh
cnNlVHlwZSA/ICJDYW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGZ1bmN0aW9uIiA6ICJDYW5ub3Qg
cGFyc2UgYm9keSBvZiB0aGlzIGFycm93IGZ1bmN0aW9uIik7CisjZWxzZQorICAgIGZhaWxJZkZh
bHNlKHBhcnNlU291cmNlRWxlbWVudHMoYm9keUJ1aWxkZXIsIENoZWNrRm9yU3RyaWN0TW9kZSwg
U3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSksICJDYW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGZ1
bmN0aW9uIik7CisjZW5kaWYKICAgICB1bnNpZ25lZCBlbmRDb2x1bW4gPSB0b2tlbkNvbHVtbigp
OwogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uQm9keShzdGFydExvY2F0aW9uLCB0
b2tlbkxvY2F0aW9uKCksIHN0YXJ0Q29sdW1uLCBlbmRDb2x1bW4sIGZ1bmN0aW9uS2V5d29yZFN0
YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBzdHJpY3RNb2RlKCksIGNv
bnN0cnVjdG9yS2luZCk7CiB9CkBAIC0xMzUwLDI4ICsxNDE1LDc2IEBAIHRlbXBsYXRlIDx0eXBl
bmFtZSBMZXhlclR5cGU+IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gaW50IFBhcnNlcjxM
ZXhlclR5cGU+CiAgICAgCiAgICAgcmV0dXJuIHBhcmFtZXRlcnNTdGFydDsKIH0KKworI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJU
eXBlPiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGludCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VBcnJvd0Z1bmN0aW9uUGFyYW10ZXJzKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlv
blBhcnNlTW9kZSBtb2RlLCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvKQor
eworICAgIGludCBwYXJhbWV0ZXJzU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZz
ZXQ7CisgICAgaWYgKCFtYXRjaChJREVOVCkgJiYgIW1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAg
ICAgc2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2Rl
KSwgIiBuYW1lIik7CisgICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgYW4gYXJyb3cg
ZnVuY3Rpb24gaW5wdXQgcGFyYW1ldGVyIik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKG1h
dGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgICAgIGNvbnN1bWUoT1BFTlBBUkVOKTsKKyAgICAg
ICAgICAgIAorICAgICAgICAgICAgaWYgKCFtYXRjaChDTE9TRVBBUkVOKSkgeworICAgICAgICAg
ICAgICAgIGluZm8ucGFyYW1ldGVycyA9IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhjb250ZXh0KTsK
KyAgICAgICAgICAgICAgICBmYWlsSWZGYWxzZShpbmZvLnBhcmFtZXRlcnMsICJDYW5ub3QgcGFy
c2UgcGFyYW1ldGVycyBmb3IgdGhpcyAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOwor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICBjb25zdW1lT3JGYWlsKENM
T1NFUEFSRU4sICJFeHBlY3RlZCBhICcpJyBvciBhICcsJyBhZnRlciBhIHBhcmFtZXRlciBkZWNs
YXJhdGlvbiIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgYXV0byBwYXJhbWV0ZXIg
PSBwYXJzZURlY29uc3RydWN0aW9uUGF0dGVybihjb250ZXh0LCBEZWNvbnN0cnVjdFRvUGFyYW1l
dGVycyk7CisgICAgICAgICAgICBmYWlsSWZGYWxzZShwYXJhbWV0ZXIsICJDYW5ub3QgcGFyc2Ug
cGFyYW1ldGVyIHBhdHRlcm4iKTsKKyAgICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9IGNvbnRl
eHQuY3JlYXRlRm9ybWFsUGFyYW1ldGVyTGlzdChwYXJhbWV0ZXIpOworICAgICAgICAgICAgZmFp
bElmRmFsc2UoaW5mby5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRo
aXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAgICAgfQorICAgIH0KICAg
ICAKKyAgICByZXR1cm4gcGFyYW1ldGVyc1N0YXJ0OworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0
eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBG
dW5jdGlvblJlcXVpcmVtZW50cyByZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUs
Ci0gICAgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kIG93bmVy
Q2xhc3NLaW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxU
cmVlQnVpbGRlcj4mIGluZm8pCisgICAgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29u
c3RydWN0b3JLaW5kIG93bmVyQ2xhc3NLaW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBh
cnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mIGluZm8sIEZ1bmN0aW9uUGFyc2VUeXBlIHBh
cnNlVHlwZSkKIHsKICAgICBBdXRvUG9wU2NvcGVSZWYgZnVuY3Rpb25TY29wZSh0aGlzLCBwdXNo
U2NvcGUoKSk7CiAgICAgZnVuY3Rpb25TY29wZS0+c2V0SXNGdW5jdGlvbigpOwogICAgIGludCBm
dW5jdGlvbk5hbWVTdGFydCA9IG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKICAgICBj
b25zdCBJZGVudGlmaWVyKiBsYXN0RnVuY3Rpb25OYW1lID0gbV9sYXN0RnVuY3Rpb25OYW1lOwog
ICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IG51bGxwdHI7CisgICAgaW50IHBhcmFtZXRlcnNTdGFy
dDsKKyAgICBib29sIGlzQ2xhc3NDb25zdHJ1Y3RvcjsKICAgICAKLSAgICBpbnQgcGFyYW1ldGVy
c1N0YXJ0ID0gcGFyc2VGdW5jdGlvblBhcmFtdGVycyhjb250ZXh0LCByZXF1aXJlbWVudHMsIG1v
ZGUsIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBmdW5jdGlvblNjb3BlLCBpbmZvKTsKLQotICAg
IG1hdGNoT3JGYWlsKE9QRU5CUkFDRSwgIkV4cGVjdGVkIGFuIG9wZW5pbmcgJ3snIGF0IHRoZSBz
dGFydCBvZiBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7Ci0KLSAg
ICAvLyBCeXRlY29kZUdlbmVyYXRvciBlbWl0cyBjb2RlIHRvIHRocm93IFR5cGVFcnJvciB3aGVu
IGEgY2xhc3MgY29uc3RydWN0b3IgaXMgImNhbGwiZWQuCi0gICAgLy8gU2V0IENvbnN0cnVjdG9y
S2luZCB0byBOb25lIGZvciBub24tY29uc3RydWN0b3IgbWV0aG9kcyBvZiBjbGFzc2VzLgotICAg
IGJvb2wgaXNDbGFzc0NvbnN0cnVjdG9yID0gbW9kZSA9PSBNZXRob2RNb2RlICYmIGluZm8ubmFt
ZSAmJiAqaW5mby5uYW1lID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yOwotICAg
IGlmIChtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQgIT0gQ29uc3RydWN0b3JLaW5kOjpOb25lKSB7
Ci0gICAgICAgIG93bmVyQ2xhc3NLaW5kID0gbV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kOwotICAg
ICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSB0cnVlOworICAgIHN3aXRjaCAocGFyc2VUeXBlKSB7
CisgICAgY2FzZSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlOiB7CisgICAgICAgIHBhcmFtZXRl
cnNTdGFydCA9IHBhcnNlRnVuY3Rpb25QYXJhbXRlcnMoY29udGV4dCwgcmVxdWlyZW1lbnRzLCBt
b2RlLCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgZnVuY3Rpb25TY29wZSwgaW5mbyk7CisgICAg
ICAgICAgICAKKyAgICAgICAgbWF0Y2hPckZhaWwoT1BFTkJSQUNFLCAiRXhwZWN0ZWQgYW4gb3Bl
bmluZyAneycgYXQgdGhlIHN0YXJ0IG9mIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUp
LCAiIGJvZHkiKTsKKyAgICAgICAgCisgICAgICAgIC8vIEJ5dGVjb2RlR2VuZXJhdG9yIGVtaXRz
IGNvZGUgdG8gdGhyb3cgVHlwZUVycm9yIHdoZW4gYSBjbGFzcyBjb25zdHJ1Y3RvciBpcyAiY2Fs
bCJlZC4KKyAgICAgICAgLy8gU2V0IENvbnN0cnVjdG9yS2luZCB0byBOb25lIGZvciBub24tY29u
c3RydWN0b3IgbWV0aG9kcyBvZiBjbGFzc2VzLgorICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3Ig
PSBtb2RlID09IE1ldGhvZE1vZGUgJiYgaW5mby5uYW1lICYmICppbmZvLm5hbWUgPT0gbV92bS0+
cHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3I7CisgICAgICAgIGlmIChtX2RlZmF1bHRDb25zdHJ1
Y3RvcktpbmQgIT0gQ29uc3RydWN0b3JLaW5kOjpOb25lKSB7CisgICAgICAgICAgICBvd25lckNs
YXNzS2luZCA9IG1fZGVmYXVsdENvbnN0cnVjdG9yS2luZDsKKyAgICAgICAgICAgIGlzQ2xhc3ND
b25zdHJ1Y3RvciA9IHRydWU7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CiAgICAgfQorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2FzZSBBcnJvd0Z1bmN0aW9u
UGFyc2VUeXBlOiB7CisgICAgICAgIHBhcmFtZXRlcnNTdGFydCA9IHBhcnNlQXJyb3dGdW5jdGlv
blBhcmFtdGVycyhjb250ZXh0LCBtb2RlLCBpbmZvKTsKKyAgICAgICAgCisgICAgICAgIG1hdGNo
T3JGYWlsKEFSUk9XRlVOQ1RJT04sICJFeHBlY3RlZCBhICc9PicgYWZ0ZXIgYXJyb3cgZnVuY3Rp
b24gcGFyYW1ldGVyIGRlY2xhcmF0aW9uIik7CisgICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3RvciA9
IGZhbHNlOworICAgICAgICAKKyAgICAgICAgaW5mby5hcnJvd0Z1bmN0aW9uT2Zmc2V0ID0gbV90
b2tlbi5tX2RhdGEub2Zmc2V0OworICAgICAgICBicmVhazsKKyAgICB9CisjZW5kaWYKKyAgICB9
CisKICAgICBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kID0gaXNDbGFzc0NvbnN0cnVj
dG9yID8gb3duZXJDbGFzc0tpbmQgOiBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmU7CiAKICAgICBpbmZv
Lm9wZW5CcmFjZU9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKQEAgLTE0MDUsOCArMTUx
OCwxNSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICBmYWlsSWZGYWxzZShwb3BT
Y29wZShmdW5jdGlvblNjb3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFibGVJbmZvKSwg
IlBhcnNlciBlcnJvciIpOwogICAgICAgICAKICAgICAgICAgaW5mby5jbG9zZUJyYWNlT2Zmc2V0
ID0gY2FjaGVkSW5mby0+Y2xvc2VCcmFjZU9mZnNldDsKLQotICAgICAgICBtX3Rva2VuID0gY2Fj
aGVkSW5mby0+Y2xvc2VCcmFjZVRva2VuKCk7CisgICAgICAgIAorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlv
blBhcnNlVHlwZSkKKyAgICAgICAgICAgIGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9IGNhY2hlZElu
Zm8tPmlzQm9keUFycm93RXhwcmVzc2lvbiA/ICBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24g
OiBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrOworICAgICAgICBlbHNlCisgICAgICAgICAgICBpbmZv
LmZ1bmN0aW9uQm9keVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uQm9keUJsb2NrOworI2VuZGlmCisg
ICAgICAgIG1fdG9rZW4gPSBjYWNoZWRJbmZvLT5lbmRGdW5jdGlvblRva2VuKCk7CisgICAgICAg
IAogICAgICAgICBpZiAoZW5kQ29sdW1uSXNPblN0YXJ0TGluZSkKICAgICAgICAgICAgIG1fdG9r
ZW4ubV9sb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0Owog
CkBAIC0xNDE1LDEzICsxNTM1LDQzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9v
bCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAKICAgICAg
ICAgY29udGV4dC5zZXRFbmRPZmZzZXQoaW5mby5ib2R5LCBtX2xleGVyLT5jdXJyZW50T2Zmc2V0
KCkpOwogICAgICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
ICAgICBpZiAocGFyc2VUeXBlICE9IEFycm93RnVuY3Rpb25QYXJzZVR5cGUgfHwgaW5mby5mdW5j
dGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spCisgICAgICAgICAgICBuZXh0
KCk7CisjZWxzZQogICAgICAgICBuZXh0KCk7CisjZW5kaWYKICAgICAgICAgaW5mby5ib2R5RW5k
TGluZSA9IG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZTsKICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgfQorICAgIAogICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IGxhc3RGdW5jdGlvbk5hbWU7
CiAgICAgUGFyc2VyU3RhdGUgb2xkU3RhdGUgPSBzYXZlU3RhdGUoKTsKLSAgICBpbmZvLmJvZHkg
PSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rp
b25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kKTsKKyAgICAKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlmIChwYXJzZVR5cGUgPT0g
QXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICBTYXZlUG9pbnQgc2F2ZVBvaW50ID0g
Y3JlYXRlU2F2ZVBvaW50KCk7CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgLy8gQ2hlY2sgaWYg
YXJyb3cgYm9keSBzdGFydCB3aXRoIHsuIElmIGl0IHRydWUgaXQgbWVhbiB0aGF0IGFycm93IGZ1
bmN0aW9uIGlzIEZhdCBhcnJvdyBmdW5jdGlvbgorICAgICAgICAvLyBhbmQgd2UgbmVlZCB1c2Ug
Y29tbW9uIGFwcHJvYWNoIHRvIHBhcnNlIGZ1bmN0aW9uIGJvZHkKKyAgICAgICAgaW5mby5mdW5j
dGlvbkJvZHlUeXBlID0gbWF0Y2goT1BFTkJSQUNFKSA/IEFycm93RnVuY3Rpb25Cb2R5QmxvY2sg
OiBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb247CisgICAgCisgICAgICAgIGlmIChpbmZvLmZ1
bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jaykgeworICAgICAgICAgICAg
aW5mby5vcGVuQnJhY2VPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CisgICAgICAgICAg
ICBpbmZvLmJvZHlTdGFydExpbmUgPSB0b2tlbkxpbmUoKTsKKyAgICAgICAgICAgIGluZm8uYm9k
eVN0YXJ0Q29sdW1uID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0IC0gbV90b2tlbi5tX2RhdGEubGlu
ZVN0YXJ0T2Zmc2V0OworICAgICAgICAKKyAgICAgICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVu
Y3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFy
dCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQsIFN0YW5kYXJkRnVuY3Rpb25QYXJz
ZVR5cGUpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChz
YXZlUG9pbnQpOworICAgICAgICAgICAgaW5mby5ib2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29u
dGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJz
U3RhcnQsIGNvbnN0cnVjdG9yS2luZCwgQXJyb3dGdW5jdGlvblBhcnNlVHlwZSk7CisgICAgICAg
IH0KKyAgICB9IGVsc2UKKyAgICAgICAgaW5mby5ib2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29u
dGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJz
U3RhcnQsIGNvbnN0cnVjdG9yS2luZCwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CisjZWxz
ZQorICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5
d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3Rv
cktpbmQsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOworI2VuZGlmCisgICAgCiAgICAgcmVz
dG9yZVN0YXRlKG9sZFN0YXRlKTsKICAgICBmYWlsSWZGYWxzZShpbmZvLmJvZHksICJDYW5ub3Qg
cGFyc2UgdGhlIGJvZHkgb2YgdGhpcyAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOwog
ICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KGluZm8uYm9keSwgbV9sZXhlci0+Y3VycmVudE9mZnNl
dCgpKTsKQEAgLTE0NTIsMTggKzE2MDIsMzIgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAg
ICAgICAgcGFyYW1ldGVycy5jbG9zZUJyYWNlTGluZSA9IGNsb3NlQnJhY2VMaW5lOwogICAgICAg
ICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VPZmZzZXQgPSBpbmZvLmNsb3NlQnJhY2VPZmZzZXQ7CiAg
ICAgICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldCA9IGNsb3NlQnJhY2VM
aW5lU3RhcnRPZmZzZXQ7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICAgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAg
ICAgICBwYXJhbWV0ZXJzLmlzQm9keUFycm93RXhwcmVzc2lvbiA9IGluZm8uZnVuY3Rpb25Cb2R5
VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb247CisgICAgICAgICAgICBwYXJhbWV0
ZXJzLnRva2VuVHlwZSA9IG1fdG9rZW4ubV90eXBlOworICAgICAgICB9CisjZW5kaWYKICAgICAg
ICAgZnVuY3Rpb25TY29wZS0+ZmlsbFBhcmFtZXRlcnNGb3JTb3VyY2VQcm92aWRlckNhY2hlKHBh
cmFtZXRlcnMpOwogICAgICAgICBuZXdJbmZvID0gU291cmNlUHJvdmlkZXJDYWNoZUl0ZW06OmNy
ZWF0ZShwYXJhbWV0ZXJzKTsKLQogICAgIH0KICAgICAKICAgICBmYWlsSWZGYWxzZShwb3BTY29w
ZShmdW5jdGlvblNjb3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFibGVJbmZvKSwgIlBh
cnNlciBlcnJvciIpOworICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgaWYgKChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSAmJiBpbmZvLmZ1
bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jaykgfHwgcGFyc2VUeXBlICE9
IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgbWF0Y2hPckZhaWwoQ0xPU0VCUkFD
RSwgIkV4cGVjdGVkIGEgY2xvc2luZyAnfScgYWZ0ZXIgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1v
ZGUobW9kZSksICIgYm9keSIpOworICAgICAgICBuZXh0KCk7CisgICAgfSBlbHNlCisgICAgICAg
IGZhaWxJZkZhbHNlKGlzRW5kT2ZBcnJvd0Z1bmN0aW9uKCksICJFeHBlY3RlZCB0aGUgY2xvc2lu
ZyAnOycgJywnICddJyAnKScgJ30nIGFmdGVyIGFycm93IGZ1bmN0aW9uIik7CisjZWxzZQogICAg
IG1hdGNoT3JGYWlsKENMT1NFQlJBQ0UsICJFeHBlY3RlZCBhIGNsb3NpbmcgJ30nIGFmdGVyIGEg
Iiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICBuZXh0KCk7Cisj
ZW5kaWYKICAgICAKICAgICBpZiAobmV3SW5mbykKICAgICAgICAgbV9mdW5jdGlvbkNhY2hlLT5h
ZGQoaW5mby5vcGVuQnJhY2VPZmZzZXQsIFdURjo6bW92ZShuZXdJbmZvKSk7CiAgICAgCi0gICAg
bmV4dCgpOwogICAgIGluZm8uYm9keUVuZExpbmUgPSBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxp
bmU7CiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC0xNDc2LDcgKzE2NDAsNyBAQCB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
RnVuY3Rpb25EZWNsYQogICAgIHVuc2lnbmVkIGZ1bmN0aW9uS2V5d29yZFN0YXJ0ID0gdG9rZW5T
dGFydCgpOwogICAgIG5leHQoKTsKICAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+
IGluZm87Ci0gICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0
aW9uTmVlZHNOYW1lLCBGdW5jdGlvbk1vZGUsIHRydWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwg
ZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8pKSwgIkNhbm5vdCBwYXJzZSB0aGlzIGZ1bmN0aW9u
Iik7CisgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9u
TmVlZHNOYW1lLCBGdW5jdGlvbk1vZGUsIHRydWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgZnVu
Y3Rpb25LZXl3b3JkU3RhcnQsIGluZm8sIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNh
bm5vdCBwYXJzZSB0aGlzIGZ1bmN0aW9uIik7CiAgICAgZmFpbElmRmFsc2UoaW5mby5uYW1lLCAi
RnVuY3Rpb24gc3RhdGVtZW50cyBtdXN0IGhhdmUgYSBuYW1lIik7CiAgICAgZmFpbElmRmFsc2VJ
ZlN0cmljdChkZWNsYXJlVmFyaWFibGUoaW5mby5uYW1lKSwgIkNhbm5vdCBkZWNsYXJlIGEgZnVu
Y3Rpb24gbmFtZWQgJyIsIGluZm8ubmFtZS0+aW1wbCgpLCAiJyBpbiBzdHJpY3QgbW9kZSIpOwog
ICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmNEZWNsU3RhdGVtZW50KGxvY2F0aW9uLCBpbmZv
KTsKQEAgLTE1NzMsNyArMTczNyw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZUNsYXNzRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VDbGFzcyhUCiAgICAgICAg
ICAgICBmYWlsSWZGYWxzZShwcm9wZXJ0eSwgIkNhbm5vdCBwYXJzZSB0aGlzIG1ldGhvZCIpOwog
ICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWls
ZGVyPiBtZXRob2RJbmZvOwotICAgICAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25J
bmZvKGNvbnRleHQsIEZ1bmN0aW9uTmVlZHNOYW1lLCBpc1N0YXRpY01ldGhvZCA/IEZ1bmN0aW9u
TW9kZSA6IE1ldGhvZE1vZGUsIGZhbHNlLCBjb25zdHJ1Y3RvcktpbmQsIG1ldGhvZFN0YXJ0LCBt
ZXRob2RJbmZvKSksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2QiKTsKKyAgICAgICAgICAgIGZh
aWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5lZWRzTmFtZSwg
aXNTdGF0aWNNZXRob2QgPyBGdW5jdGlvbk1vZGUgOiBNZXRob2RNb2RlLCBmYWxzZSwgY29uc3Ry
dWN0b3JLaW5kLCBtZXRob2RTdGFydCwgbWV0aG9kSW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNl
VHlwZSkpLCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9kIik7CiAgICAgICAgICAgICBmYWlsSWZG
YWxzZShtZXRob2RJbmZvLm5hbWUsICJtZXRob2QgbXVzdCBoYXZlIGEgbmFtZSIpOwogICAgICAg
ICAgICAgZmFpbElmRmFsc2UoZGVjbGFyZVZhcmlhYmxlKG1ldGhvZEluZm8ubmFtZSksICJDYW5u
b3QgZGVjbGFyZSBhIG1ldGhvZCBuYW1lZCAnIiwgbWV0aG9kSW5mby5uYW1lLT5pbXBsKCksICIn
Iik7CiAKQEAgLTE3ODksNiArMTk1MywxOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSWZTdGF0ZW1lbnQoVAogICAg
IHJldHVybiBjb250ZXh0LmNyZWF0ZUlmU3RhdGVtZW50KGlmTG9jYXRpb24sIGNvbmRpdGlvbiwg
dHJ1ZUJsb2NrLCBzdGF0ZW1lbnRTdGFjay5sYXN0KCksIHN0YXJ0LCBlbmQpOwogfQogCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhl
clR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBj
b250ZXh0KQoreworICAgIGZhaWxJZlN0YWNrT3ZlcmZsb3coKTsKKyAgICBUcmVlRXhwcmVzc2lv
biBub2RlID0gcGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICBmYWlsSWZG
YWxzZShub2RlLCAiQ2Fubm90IHBhcnNlIGV4cHJlc3Npb24iKTsKKyAgICBjb250ZXh0LnNldEVu
ZE9mZnNldChub2RlLCBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLm9mZnNldCk7CisgICAgcmV0dXJu
IG5vZGU7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKIHsKQEAgLTE4MzYsNiArMjAx
Miw0MSBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbgogICAgICAgICB9CiAgICAgICAgIHJlc3Rv
cmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKICAgICB9CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIFNhdmVQb2ludCBzYXZlQXJyb3dGdW5jdGlvblBvaW50ID0gY3Jl
YXRlU2F2ZVBvaW50KCk7CisgICAgYm9vbCBhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0ID0gZmFsc2U7
CisgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgbmV4dCgpOworICAgICAgICBp
ZiAobWF0Y2goQ0xPU0VQQVJFTikpIHsKKyAgICAgICAgICAgIG5leHQoKTsKKworICAgICAgICAg
ICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJT04pKQorICAgICAgICAgICAgICAgIGFycm93RnVuY3Rp
b25FbXB0eUxpc3QgPSB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCFhcnJvd0Z1bmN0
aW9uRW1wdHlMaXN0KQorICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5j
dGlvblBvaW50KTsKKyAgICB9CisKKyAgICBUcmVlRXhwcmVzc2lvbiBsaHM7CisgICAgaWYgKCFh
cnJvd0Z1bmN0aW9uRW1wdHlMaXN0KSB7CisgICAgICAgIGxocyA9IHBhcnNlQ29uZGl0aW9uYWxF
eHByZXNzaW9uKGNvbnRleHQpOworICAgICAgICBmYWlsSWZGYWxzZShsaHMsICJDYW4Zbm90IHBh
cnNlIGV4cHJlc3Npb24iKTsKKyAgICAgICAgaWYgKGluaXRpYWxOb25MSFNDb3VudCAhPSBtX25v
bkxIU0NvdW50KSB7CisgICAgICAgICAgICBpZiAobV90b2tlbi5tX3R5cGUgPj0gRVFVQUwgJiYg
bV90b2tlbi5tX3R5cGUgPD0gT1JFUVVBTCkKKyAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWwo
IkxlZnQgaGFuZCBzaWRlIG9mIG9wZXJhdG9yICciLCBnZXRUb2tlbigpLCAiJyBtdXN0IGJlIGEg
cmVmZXJlbmNlIik7CisKKyAgICAgICAgICAgIHJldHVybiBsaHM7CisgICAgICAgIH0KKyAgICB9
CisKKyAgICBpZiAobWF0Y2goQVJST1dGVU5DVElPTikpIHsKKyAgICAgICAgcmVzdG9yZVNhdmVQ
b2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAgbGhzID0gcGFyc2VBcnJvd0Z1
bmN0aW9uV3JhcHBlcihjb250ZXh0KTsKKyAgICAgICAgcmV0dXJuIGxoczsKKyAgICB9CisjZWxz
ZQogICAgIFRyZWVFeHByZXNzaW9uIGxocyA9IHBhcnNlQ29uZGl0aW9uYWxFeHByZXNzaW9uKGNv
bnRleHQpOwogICAgIGZhaWxJZkZhbHNlKGxocywgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9uIik7
CiAgICAgaWYgKGluaXRpYWxOb25MSFNDb3VudCAhPSBtX25vbkxIU0NvdW50KSB7CkBAIC0xODQ0
LDcgKzIwNTUsOCBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNz
aW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbgogCiAgICAgICAgIHJldHVybiBs
aHM7CiAgICAgfQotICAgIAorI2VuZGlmCisKICAgICBpbnQgYXNzaWdubWVudFN0YWNrID0gMDsK
ICAgICBPcGVyYXRvciBvcDsKICAgICBib29sIGhhZEFzc2lnbm1lbnQgPSBmYWxzZTsKQEAgLTIw
NzYsNyArMjI4OCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Np
b24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHlNZXRoCiAgICAgSlNUb2tlbkxvY2F0
aW9uIG1ldGhvZExvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CiAgICAgdW5zaWduZWQgbWV0aG9k
U3RhcnQgPSB0b2tlblN0YXJ0KCk7CiAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVy
PiBtZXRob2RJbmZvOwotICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0
LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBNZXRob2RNb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JL
aW5kOjpOb25lLCBtZXRob2RTdGFydCwgbWV0aG9kSW5mbykpLCAiQ2Fubm90IHBhcnNlIHRoaXMg
bWV0aG9kIik7CisgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1
bmN0aW9uTm9SZXF1aXJlbWVudHMsIE1ldGhvZE1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6
Ok5vbmUsIG1ldGhvZFN0YXJ0LCBtZXRob2RJbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBl
KSksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2QiKTsKICAgICBtZXRob2RJbmZvLm5hbWUgPSBt
ZXRob2ROYW1lOwogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uRXhwcihtZXRob2RM
b2NhdGlvbiwgbWV0aG9kSW5mbyk7CiB9CkBAIC0yMTAyLDEwICsyMzE0LDEwIEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUdldHRlclNldHRlcihUCiAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZv
OwogICAgIGlmICh0eXBlID09IFByb3BlcnR5Tm9kZTo6R2V0dGVyKSB7CiAgICAgICAgIGZhaWxJ
ZkZhbHNlKG1hdGNoKE9QRU5QQVJFTiksICJFeHBlY3RlZCBhIHBhcmFtZXRlciBsaXN0IGZvciBn
ZXR0ZXIgZGVmaW5pdGlvbiIpOwotICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbklu
Zm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgR2V0dGVyTW9kZSwgZmFsc2UsIGNv
bnN0cnVjdG9yS2luZCwgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgaW5mbykpLCAiQ2Fubm90
IHBhcnNlIGdldHRlciBkZWZpbml0aW9uIik7CisgICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1
bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBHZXR0ZXJNb2RlLCBm
YWxzZSwgY29uc3RydWN0b3JLaW5kLCBnZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBpbmZvLCBT
dGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2UgZ2V0dGVyIGRlZmluaXRp
b24iKTsKICAgICB9IGVsc2UgewogICAgICAgICBmYWlsSWZGYWxzZShtYXRjaChPUEVOUEFSRU4p
LCAiRXhwZWN0ZWQgYSBwYXJhbWV0ZXIgbGlzdCBmb3Igc2V0dGVyIGRlZmluaXRpb24iKTsKLSAg
ICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9S
ZXF1aXJlbWVudHMsIFNldHRlck1vZGUsIGZhbHNlLCBjb25zdHJ1Y3RvcktpbmQsIGdldHRlck9y
U2V0dGVyU3RhcnRPZmZzZXQsIGluZm8pKSwgIkNhbm5vdCBwYXJzZSBzZXR0ZXIgZGVmaW5pdGlv
biIpOworICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVu
Y3Rpb25Ob1JlcXVpcmVtZW50cywgU2V0dGVyTW9kZSwgZmFsc2UsIGNvbnN0cnVjdG9yS2luZCwg
Z2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgaW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlw
ZSkpLCAiQ2Fubm90IHBhcnNlIHNldHRlciBkZWZpbml0aW9uIik7CiAgICAgfQogICAgIGlmIChz
dHJpbmdQcm9wZXJ0eU5hbWUpCiAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUdldHRlck9y
U2V0dGVyUHJvcGVydHkobG9jYXRpb24sIHR5cGUsIHN0cmljdCwgc3RyaW5nUHJvcGVydHlOYW1l
LCBpbmZvLCBzdXBlckJpbmRpbmcpOwpAQCAtMjM1NCw3ICsyNTY2LDcgQEAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQ
cmltYXJ5RXhwcmUKICAgICAgICAgbmV4dCgpOwogICAgICAgICBQYXJzZXJGdW5jdGlvbkluZm88
VHJlZUJ1aWxkZXI+IGluZm87CiAgICAgICAgIGluZm8ubmFtZSA9ICZtX3ZtLT5wcm9wZXJ0eU5h
bWVzLT5udWxsSWRlbnRpZmllcjsKLSAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25J
bmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEZ1bmN0aW9uTW9kZSwgZmFsc2Us
IENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8pKSwgIkNh
bm5vdCBwYXJzZSBmdW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgICAgIGZhaWxJZkZhbHNlKChw
YXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlv
bk1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0
LCBpbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2UgZnVuY3Rp
b24gZXhwcmVzc2lvbiIpOwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkV4
cHIobG9jYXRpb24sIGluZm8pOwogICAgIH0KICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkK
QEAgLTIzODMsNiArMjU5NSwyMyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVF
eHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHByZQogICAgICAgICBy
ZXR1cm4gY29udGV4dC50aGlzRXhwcihsb2NhdGlvbiwgbV90aGlzVERaTW9kZSk7CiAgICAgfQog
ICAgIGNhc2UgSURFTlQ6IHsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgICAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNhdmVQb2lu
dCgpOworICAgICAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigp
OworICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50
OworICAgICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAg
ICAgICAgbmV4dCgpOworCisgICAgICAgIGlmICghbWF0Y2goQVJST1dGVU5DVElPTikpIHsKKyAg
ICAgICAgICAgIGN1cnJlbnRTY29wZSgpLT51c2VWYXJpYWJsZShpZGVudCwgbV92bS0+cHJvcGVy
dHlOYW1lcy0+ZXZhbCA9PSAqaWRlbnQpOworICAgICAgICAgICAgbV9sYXN0SWRlbnRpZmllciA9
IGlkZW50OworICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUmVzb2x2ZShsb2NhdGlv
biwgaWRlbnQsIHN0YXJ0KTsKKyAgICAgICAgfQorCisgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQo
c2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAgICAgIFRyZWVFeHByZXNzaW9uIGxocyA9IHBh
cnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoY29udGV4dCk7CisgICAgICAgIHJldHVybiBsaHM7Cisj
ZWxzZQogICAgICAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigp
OwogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50
OwogICAgICAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKQEAg
LTIzOTAsNiArMjYxOSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJl
c3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAgICAgIGN1cnJl
bnRTY29wZSgpLT51c2VWYXJpYWJsZShpZGVudCwgbV92bS0+cHJvcGVydHlOYW1lcy0+ZXZhbCA9
PSAqaWRlbnQpOwogICAgICAgICBtX2xhc3RJZGVudGlmaWVyID0gaWRlbnQ7CiAgICAgICAgIHJl
dHVybiBjb250ZXh0LmNyZWF0ZVJlc29sdmUobG9jYXRpb24sIGlkZW50LCBzdGFydCk7CisjZW5k
aWYKICAgICB9CiAgICAgY2FzZSBTVFJJTkc6IHsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciog
aWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKQEAgLTI1ODEsNiArMjgxMSwzMiBAQCBlbmRN
ZW1iZXJFeHByZXNzaW9uOgogICAgIHJldHVybiBiYXNlOwogfQogCisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKFRyZWVCdWlsZGVyJiBjb250ZXh0KQoreworICAg
IFRyZWVFeHByZXNzaW9uIGJhc2UgPSAwOworICAgIEpTVGV4dFBvc2l0aW9uIGV4cHJlc3Npb25T
dGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgIGludCBuZXdDb3VudCA9IDA7CisgICAg
SlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uOworCisgICAgaWYgKG1hdGNoKElERU5UKSB8fCBtYXRj
aChPUEVOUEFSRU4pKSB7CisgICAgICAgIHVuc2lnbmVkIGZ1bmN0aW9uS2V5d29yZFN0YXJ0ID0g
dG9rZW5TdGFydCgpOworICAgICAgICBsb2NhdGlvbiA9IHRva2VuTG9jYXRpb24oKTsKKyAgICAg
ICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOworICAgICAgICBpbmZvLm5h
bWUgPSAmbV92bS0+cHJvcGVydHlOYW1lcy0+bnVsbElkZW50aWZpZXI7CisgICAgICAgIGZhaWxJ
ZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRz
LCBGdW5jdGlvbk1vZGUsIHRydWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgZnVuY3Rpb25LZXl3
b3JkU3RhcnQsIGluZm8sIEFycm93RnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSBh
cnJvdyBmdW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgICAgIGJhc2UgPSBjb250ZXh0LmNyZWF0
ZUFycm93RnVuY3Rpb25FeHByKGxvY2F0aW9uLCBpbmZvKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
YmFzZSA9IHBhcnNlUHJpbWFyeUV4cHJlc3Npb24oY29udGV4dCk7CisKKyAgICBmYWlsSWZGYWxz
ZShiYXNlLCAiQ2Fubm90IHBhcnNlIGJhc2UgZXhwcmVzc2lvbiIpOworICAgIHdoaWxlIChuZXdD
b3VudC0tKQorICAgICAgICBiYXNlID0gY29udGV4dC5jcmVhdGVOZXdFeHByKGxvY2F0aW9uLCBi
YXNlLCBleHByZXNzaW9uU3RhcnQsIGxhc3RUb2tlbkVuZFBvc2l0aW9uKCkpOworICAgIHJldHVy
biBiYXNlOworfQorI2VuZGlmCisKIHN0YXRpYyBjb25zdCBjaGFyKiBvcGVyYXRvclN0cmluZyhi
b29sIHByZWZpeCwgdW5zaWduZWQgdG9rKQogewogICAgIHN3aXRjaCAodG9rKSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCA4NzllMWUyODE2NzE5NzczODk5ZjUyNTc1
ZWZhMzVjMDJlN2QxM2ZlLi43N2FlMzk2NzdhYWFjZmU3YTI0NjAyNGFlMWJhMTE5ZWQyYTQ3YWM3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKQEAgLTgwLDYgKzgwLDExIEBA
IGNsYXNzIFNvdXJjZUNvZGU7CiBDT01QSUxFX0FTU0VSVChMYXN0VW50YWdnZWRUb2tlbiA8IDY0
LCBMZXNzVGhhbjY0VW50YWdnZWRUb2tlbnMpOwogCiBlbnVtIFNvdXJjZUVsZW1lbnRzTW9kZSB7
IENoZWNrRm9yU3RyaWN0TW9kZSwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSB9OworI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitlbnVtIEZ1bmN0aW9uUGFyc2VUeXBlIHsgU3Rh
bmRhcmRGdW5jdGlvblBhcnNlVHlwZSwgQXJyb3dGdW5jdGlvblBhcnNlVHlwZSB9OworI2Vsc2UK
K2VudW0gRnVuY3Rpb25QYXJzZVR5cGUgeyBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlfTsKKyNl
bmRpZgogZW51bSBGdW5jdGlvblJlcXVpcmVtZW50cyB7IEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMs
IEZ1bmN0aW9uTmVlZHNOYW1lIH07CiBlbnVtIEZ1bmN0aW9uUGFyc2VNb2RlIHsKICAgICBGdW5j
dGlvbk1vZGUsCkBAIC02MTgsNiArNjIzLDEzIEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBt
X3Rva2VuLm1fdHlwZSA9PSBJREVOVCAmJiAqbV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+
cHJvcGVydHlOYW1lcy0+b2Y7CiAgICAgfQogICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgQUxXQVlTX0lOTElORSBib29sIGlzRW5kT2ZBcnJvd0Z1bmN0aW9u
KCkKKyAgICB7CisgICAgICAgIHJldHVybiBtYXRjaChTRU1JQ09MT04pIHx8IG1hdGNoKENPTU1B
KSB8fCBtYXRjaChDTE9TRVBBUkVOKSB8fCBtYXRjaChDTE9TRUJSQUNFKSB8fCBtYXRjaChDTE9T
RUJSQUNLRVQpOworICAgIH0KKyNlbmRpZgorICAgIAogICAgIEFMV0FZU19JTkxJTkUgdW5zaWdu
ZWQgdG9rZW5TdGFydCgpCiAgICAgewogICAgICAgICByZXR1cm4gbV90b2tlbi5tX2xvY2F0aW9u
LnN0YXJ0T2Zmc2V0OwpAQCAtNzIxLDkgKzczMyw5IEBAIHByaXZhdGU6CiAgICAgICAgIH0KICAg
ICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0gICAgCi0gICAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgcGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVp
bGRlciYsIFNvdXJjZUVsZW1lbnRzTW9kZSk7Ci0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiwgY29uc3QgSWRl
bnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAw
KTsKKworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRz
IHBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUsIEZ1
bmN0aW9uUGFyc2VUeXBlKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
dGF0ZW1lbnQgcGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVyKiYg
ZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDAsIEZ1bmN0aW9u
UGFyc2VUeXBlIHR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICNpZiBFTkFCTEUo
RVM2X0NMQVNTX1NZTlRBWCkKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
dGF0ZW1lbnQgcGFyc2VDbGFzc0RlY2xhcmF0aW9uKFRyZWVCdWlsZGVyJik7CiAjZW5kaWYKQEAg
LTc2MiwyNyArNzc0LDM2IEBAIHByaXZhdGU6CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlUHJvcGVydHkgcGFyc2VQcm9wZXJ0eShUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0
KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNl
UHJvcGVydHlNZXRob2QoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqIG1l
dGhvZE5hbWUpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5
IHBhcnNlR2V0dGVyU2V0dGVyKFRyZWVCdWlsZGVyJiwgYm9vbCBzdHJpY3QsIFByb3BlcnR5Tm9k
ZTo6VHlwZSwgdW5zaWduZWQgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgQ29uc3RydWN0b3JL
aW5kID0gQ29uc3RydWN0b3JLaW5kOjpOb25lLCBTdXBlckJpbmRpbmcgPSBTdXBlckJpbmRpbmc6
Ok5vdE5lZWRlZCk7Ci0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5M
SU5FIFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VGdW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImLCBpbnQg
ZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwgaW50IHBhcmFtZXRl
cnNTdGFydCwgQ29uc3RydWN0b3JLaW5kKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZ1bmN0aW9uQm9keSBwYXJzZUZ1bmN0aW9uQm9keShUcmVl
QnVpbGRlciYsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0
LCBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQsIEZ1bmN0aW9uUGFyc2VUeXBl
IGZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFM
V0FZU19JTkxJTkUgVHJlZUZvcm1hbFBhcmFtZXRlckxpc3QgcGFyc2VGb3JtYWxQYXJhbWV0ZXJz
KFRyZWVCdWlsZGVyJik7CiAgICAgZW51bSBWYXJEZWNsYXJhdGlvbkxpc3RDb250ZXh0IHsgRm9y
TG9vcENvbnRleHQsIFZhckRlY2xhcmF0aW9uQ29udGV4dCB9OwogICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VWYXJEZWNsYXJhdGlvbkxpc3QoVHJl
ZUJ1aWxkZXImLCBpbnQmIGRlY2xhcmF0aW9ucywgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiYg
bGFzdFBhdHRlcm4sIFRyZWVFeHByZXNzaW9uJiBsYXN0SW5pdGlhbGl6ZXIsIEpTVGV4dFBvc2l0
aW9uJiBpZGVudFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdFN0YXJ0LCBKU1RleHRQb3NpdGlv
biYgaW5pdEVuZCwgVmFyRGVjbGFyYXRpb25MaXN0Q29udGV4dCk7CiAgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZUNvbnN0RGVjbExpc3QgcGFyc2VDb25z
dERlY2xhcmF0aW9uTGlzdChUcmVlQnVpbGRlciYpOwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHBy
ZXNzaW9uIHBhcnNlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKKyAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VBcnJvd0Z1bmN0
aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKFRyZWVCdWlsZGVy
Jik7CisjZW5kaWYKKwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5M
SU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gY3JlYXRlQmluZGluZ1BhdHRlcm4oVHJlZUJ1
aWxkZXImLCBEZWNvbnN0cnVjdGlvbktpbmQsIGNvbnN0IElkZW50aWZpZXImLCBpbnQgZGVwdGgs
IEpTVG9rZW4pOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5F
IFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oVHJl
ZUJ1aWxkZXImLCBEZWNvbnN0cnVjdGlvbktpbmQsIGludCBkZXB0aCA9IDApOwogICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBh
dHRlcm4gdHJ5UGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm5FeHByZXNzaW9uKFRyZWVCdWlsZGVy
Jik7Ci0KLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBib29s
IHBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIEZ1
bmN0aW9uUGFyc2VNb2RlLCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3Rv
cktpbmQsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVC
dWlsZGVyPiYpOwotICAgIAogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJf
SU5MSU5FIGludCBwYXJzZUZ1bmN0aW9uUGFyYW10ZXJzKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25S
ZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlLCBib29sLCBBdXRvUG9wU2NvcGVSZWYmLCBQ
YXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+Jik7Ci0jaWYgRU5BQkxFKEVTNl9DTEFTU19T
WU5UQVgpCi0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJl
ZUNsYXNzRXhwcmVzc2lvbiBwYXJzZUNsYXNzKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJl
bWVudHMsIFBhcnNlckNsYXNzSW5mbzxUcmVlQnVpbGRlcj4mKTsKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVW
RVJfSU5MSU5FIGludCBwYXJzZUFycm93RnVuY3Rpb25QYXJhbXRlcnMoVHJlZUJ1aWxkZXImLCBG
dW5jdGlvblBhcnNlTW9kZSwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYpOwogI2Vu
ZGlmCisKICNpZiBFTkFCTEUoRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYKQogICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIHR5cGVuYW1lIFRyZWVCdWlsZGVy
OjpUZW1wbGF0ZVN0cmluZyBwYXJzZVRlbXBsYXRlU3RyaW5nKFRyZWVCdWlsZGVyJiBjb250ZXh0
LCBib29sIGlzVGVtcGxhdGVIZWFkLCBib29sJiBlbGVtZW50SXNUYWlsKTsKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6
VGVtcGxhdGVMaXRlcmFsIHBhcnNlVGVtcGxhdGVMaXRlcmFsKFRyZWVCdWlsZGVyJik7CiAjZW5k
aWYKIAorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIGJvb2wg
cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgRnVu
Y3Rpb25QYXJzZU1vZGUsIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9y
S2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1
aWxkZXI+JiwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25QYXJzZVR5cGUpOworI2lmIEVOQUJM
RShFUzZfQ0xBU1NfU1lOVEFYKQorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVW
RVJfSU5MSU5FIFRyZWVDbGFzc0V4cHJlc3Npb24gcGFyc2VDbGFzcyhUcmVlQnVpbGRlciYsIEZ1
bmN0aW9uUmVxdWlyZW1lbnRzLCBQYXJzZXJDbGFzc0luZm88VHJlZUJ1aWxkZXI+Jik7CisjZW5k
aWYKKwogICAgIEFMV0FZU19JTkxJTkUgaW50IGlzQmluYXJ5T3BlcmF0b3IoSlNUb2tlblR5cGUp
OwogICAgIGJvb2wgYWxsb3dBdXRvbWF0aWNTZW1pY29sb24oKTsKICAgICAKQEAgLTc5NSw2ICs4
MTYsMTQgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIGFsbG93QXV0b21hdGljU2VtaWNvbG9u
KCk7CiAgICAgfQogICAgIAorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICB2b2lkIHNldEVuZE9mU3RhdGVtZW50KCkKKyAgICB7CisgICAgICAgIG1fbGV4ZXItPnNl
dFRva2VuUG9zaXRpb24oJm1fdG9rZW4pOworICAgIH0KKyNlbmRpZgorCiAgICAgYm9vbCBjYW5S
ZWN1cnNlKCkKICAgICB7CiAgICAgICAgIHJldHVybiBtX3ZtLT5pc1NhZmVUb1JlY3Vyc2UoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25J
bmZvLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5o
CmluZGV4IDZiNzM2MjgyZTJkMmE4MWJjNjNkYzJmM2MwZTVhZThjODU4Y2QxZjguLjBjZGUwYzY3
YTlkZTBlZGYzNDE0NGUzMjc5MWU1ZTkwYjRhMjE1MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaApAQCAtMjgsNiArMjgsMTAgQEAK
IAogbmFtZXNwYWNlIEpTQyB7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorZW51bSBGdW5jdGlvbkJvZHlUeXBlIHsgQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uLCBB
cnJvd0Z1bmN0aW9uQm9keUJsb2NrLCBTdGFuZGFyZEZ1bmN0aW9uQm9keUJsb2NrIH07CisjZW5k
aWYKKwogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPgogc3RydWN0IFBhcnNlckZ1bmN0aW9u
SW5mbyB7CiAgICAgY29uc3QgSWRlbnRpZmllciogbmFtZSA9IDA7CkBAIC0zOCw2ICs0MiwxMSBA
QCBzdHJ1Y3QgUGFyc2VyRnVuY3Rpb25JbmZvIHsKICAgICBpbnQgYm9keVN0YXJ0TGluZSA9IDA7
CiAgICAgaW50IGJvZHlFbmRMaW5lID0gMDsKICAgICB1bnNpZ25lZCBib2R5U3RhcnRDb2x1bW4g
PSAwOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdW5zaWduZWQg
YXJyb3dGdW5jdGlvbk9mZnNldCA9IDA7CisgICAgYm9vbCBpc0Fycm93RnVuY3Rpb24gPSBmYWxz
ZTsKKyAgICBGdW5jdGlvbkJvZHlUeXBlIGZ1bmN0aW9uQm9keVR5cGUgPSBTdGFuZGFyZEZ1bmN0
aW9uQm9keUJsb2NrOworI2VuZGlmCiB9OwogCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAppbmRleCAwMjZl
NGY4MGY0MzdkOGJmZTRhNjE5YzMwZDExZGM5ZmM2MWUyNjQ1Li5lOTE1NGNhZjA1M2M1MzgxYjVm
MDk4MTZkYmEwNTU4YTU0MzRiZjM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1BhcnNlclRva2Vucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyVG9rZW5zLmgKQEAgLTc1LDYgKzc1LDkgQEAgZW51bSBKU1Rva2VuVHlwZSB7CiAgICAg
RklOQUxMWSwKICAgICBERUJVR0dFUiwKICAgICBFTFNFLAorI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgQVJST1dGVU5DVElPTiwKKyNlbmRpZgogI2lmIEVOQUJMRShF
UzZfQ0xBU1NfU1lOVEFYKQogICAgIENMQVNTVE9LRU4sCiAgICAgRVhURU5EUywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmgKaW5kZXggNzNkMjNkYjgyYWYyNWVhNDZj
MGY4OTc4NWNlNDI0YmI2MGViNjFhNy4uNTBkNTI2Mzk3OTQzZTM4MWQzODBlYzQzZDgyZDViNjNm
N2YwOGRjNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VD
b2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmgKQEAg
LTEwNSw2ICsxMDUsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgCiAgICAgICAgIFNvdXJj
ZUNvZGUgc3ViRXhwcmVzc2lvbih1bnNpZ25lZCBvcGVuQnJhY2UsIHVuc2lnbmVkIGNsb3NlQnJh
Y2UsIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbik7CiAKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBTb3VyY2VDb2RlIHN1YkFycm93RXhwcmVzc2lv
bih1bnNpZ25lZCBzdGFydEFycm93RnVuY3Rpb24sIHVuc2lnbmVkIGVuZEFycm93RnVuY3Rpb24s
IGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbik7CisjZW5kaWYKICAgICBwcml2YXRlOgog
ICAgICAgICBSZWZQdHI8U291cmNlUHJvdmlkZXI+IG1fcHJvdmlkZXI7CiAgICAgICAgIGludCBt
X3N0YXJ0Q2hhcjsKQEAgLTExOCw2ICsxMjEsMTcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
IHJldHVybiBTb3VyY2VDb2RlKFN0cmluZ1NvdXJjZVByb3ZpZGVyOjpjcmVhdGUoc291cmNlLCB1
cmwsIHN0YXJ0UG9zaXRpb24pLCBzdGFydFBvc2l0aW9uLm1fbGluZS5vbmVCYXNlZEludCgpLCBz
dGFydFBvc2l0aW9uLm1fY29sdW1uLm9uZUJhc2VkSW50KCkpOwogICAgIH0KIAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaW5saW5lIFNvdXJjZUNvZGUgU291cmNl
Q29kZTo6c3ViQXJyb3dFeHByZXNzaW9uKHVuc2lnbmVkIHN0YXJ0QXJyb3dGdW5jdGlvbiwgdW5z
aWduZWQgZW5kQXJyb3dGdW5jdGlvbiwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKQor
ICAgIHsKKyAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW3N0YXJ0QXJyb3dGdW5j
dGlvbl0gPT0gJz0nICYmIHByb3ZpZGVyKCktPnNvdXJjZSgpW3N0YXJ0QXJyb3dGdW5jdGlvbiAr
IDFdID09ICc+Jyk7CisgICAgICAgIC8vIEZpeG1lOiBVc2UgYmV0dGVyIGFwcHJvYWNoIHRvIGNo
ZWNrIHN5bWJvbAorICAgICAgICBBU1NFUlQocHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dG
dW5jdGlvbiAtIDFdID09ICcsJyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0
aW9uIC0gMV0gPT0gJzsnIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24g
LSAxXSA9PSAnKScgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFd
ID09ICddJyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0g
J30nKTsKKyAgICAgICAgc3RhcnRDb2x1bW4gKz0gMTsgLy8gQ29udmVydCB0byBiYXNlIDEuCisg
ICAgICAgIHJldHVybiBTb3VyY2VDb2RlKHByb3ZpZGVyKCksIHN0YXJ0QXJyb3dGdW5jdGlvbiwg
ZW5kQXJyb3dGdW5jdGlvbiwgZmlyc3RMaW5lLCBzdGFydENvbHVtbik7CisgICAgfQorI2VuZGlm
CisKICAgICBpbmxpbmUgU291cmNlQ29kZSBTb3VyY2VDb2RlOjpzdWJFeHByZXNzaW9uKHVuc2ln
bmVkIG9wZW5CcmFjZSwgdW5zaWduZWQgY2xvc2VCcmFjZSwgaW50IGZpcnN0TGluZSwgaW50IHN0
YXJ0Q29sdW1uKQogICAgIHsKICAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW29w
ZW5CcmFjZV0gPT0gJ3snKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaAppbmRleCA2MzUzNzllM2Y0NDU2NjhjNTJiODcy
Zjc2MTZkY2I1OTIxYTgyOTQ0Li5mNDI4ZGI1MGE4ZGE3YTdhYjQ2ODI0YWIzODA4M2RiMDUyZDcz
Nzc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3Zp
ZGVyQ2FjaGVJdGVtLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQ
cm92aWRlckNhY2hlSXRlbS5oCkBAIC00MCw2ICs0MCwxMCBAQCBzdHJ1Y3QgU291cmNlUHJvdmlk
ZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMgewogICAgIGJvb2wgbmVlZHNGdWxsQWN0aXZh
dGlvbjsKICAgICBib29sIHVzZXNFdmFsOwogICAgIGJvb2wgc3RyaWN0TW9kZTsKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGJvb2wgaXNCb2R5QXJyb3dFeHByZXNz
aW9uOworICAgIEpTVG9rZW5UeXBlIHRva2VuVHlwZTsKKyNlbmRpZgogICAgIFZlY3RvcjxSZWZQ
dHI8U3RyaW5nSW1wbD4+IHVzZWRWYXJpYWJsZXM7CiAgICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJ
bXBsPj4gd3JpdHRlblZhcmlhYmxlczsKIH07CkBAIC01NSwxMCArNTksMTQgQEAgcHVibGljOgog
ICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0+IGNyZWF0
ZShjb25zdCBTb3VyY2VQcm92aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFyYW1ldGVycyYpOwogICAg
IH5Tb3VyY2VQcm92aWRlckNhY2hlSXRlbSgpOwogCi0gICAgSlNUb2tlbiBjbG9zZUJyYWNlVG9r
ZW4oKSBjb25zdCAKKyAgICBKU1Rva2VuIGVuZEZ1bmN0aW9uVG9rZW4oKSBjb25zdCAKICAgICB7
CiAgICAgICAgIEpTVG9rZW4gdG9rZW47CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICAgICAgdG9rZW4ubV90eXBlID0gaXNCb2R5QXJyb3dFeHByZXNzaW9uID8gdG9r
ZW5UeXBlIDogQ0xPU0VCUkFDRTsKKyNlbHNlCiAgICAgICAgIHRva2VuLm1fdHlwZSA9IENMT1NF
QlJBQ0U7CisjZW5kaWYKICAgICAgICAgdG9rZW4ubV9kYXRhLm9mZnNldCA9IGNsb3NlQnJhY2VP
ZmZzZXQ7CiAgICAgICAgIHRva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNl
T2Zmc2V0OwogICAgICAgICB0b2tlbi5tX2xvY2F0aW9uLmVuZE9mZnNldCA9IGNsb3NlQnJhY2VP
ZmZzZXQgKyAxOwpAQCAtODIsNiArOTAsMTEgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIHVzZWRW
YXJpYWJsZXNDb3VudDsKICAgICB1bnNpZ25lZCB3cml0dGVuVmFyaWFibGVzQ291bnQ7CiAKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGJvb2wgaXNCb2R5QXJyb3dF
eHByZXNzaW9uOworICAgIEpTVG9rZW5UeXBlIHRva2VuVHlwZTsKKyNlbmRpZgorCiAgICAgU3Ry
aW5nSW1wbCoqIHVzZWRWYXJpYWJsZXMoKSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0PFN0cmlu
Z0ltcGwqKj4obV92YXJpYWJsZXMpOyB9CiAgICAgU3RyaW5nSW1wbCoqIHdyaXR0ZW5WYXJpYWJs
ZXMoKSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0PFN0cmluZ0ltcGwqKj4oJm1fdmFyaWFibGVz
W3VzZWRWYXJpYWJsZXNDb3VudF0pOyB9CiAKQEAgLTExNSw2ICsxMjgsMTAgQEAgaW5saW5lIFNv
dXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbShjb25zdCBTb3Vy
Y2VQcm92aWRlckNhY2gKICAgICAsIGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQocGFyYW1ldGVy
cy5jbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0KQogICAgICwgdXNlZFZhcmlhYmxlc0NvdW50KHBh
cmFtZXRlcnMudXNlZFZhcmlhYmxlcy5zaXplKCkpCiAgICAgLCB3cml0dGVuVmFyaWFibGVzQ291
bnQocGFyYW1ldGVycy53cml0dGVuVmFyaWFibGVzLnNpemUoKSkKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICwgaXNCb2R5QXJyb3dFeHByZXNzaW9uKHBhcmFtZXRl
cnMuaXNCb2R5QXJyb3dFeHByZXNzaW9uKQorICAgICwgdG9rZW5UeXBlKHBhcmFtZXRlcnMudG9r
ZW5UeXBlKQorI2VuZGlmCiB7CiAgICAgdW5zaWduZWQgaiA9IDA7CiAgICAgZm9yICh1bnNpZ25l
ZCBpID0gMDsgaSA8IHVzZWRWYXJpYWJsZXNDb3VudDsgKytpLCArK2opIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKaW5kZXggNTU0ZTVkZjY0YTcyMWY0
NDYyZDBkODlhYjAyM2FmZGQ3NTNjNTViZS4uZjYzNWVkMWJiMzdlODg1MzY0NTQ3NGMwODIzZjRi
NjEzODBhNGQzMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50
YXhDaGVja2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVj
a2VyLmgKQEAgLTE3Nyw2ICsxNzcsMTAgQEAgcHVibGljOgogI2VuZGlmCiAgICAgRXhwcmVzc2lv
blR5cGUgY3JlYXRlRnVuY3Rpb25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBh
cnNlckZ1bmN0aW9uSW5mbzxTeW50YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsg
fQogICAgIGludCBjcmVhdGVGdW5jdGlvbkJvZHkoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29u
c3QgSlNUb2tlbkxvY2F0aW9uJiwgaW50LCBpbnQsIGJvb2wsIGludCwgaW50LCBpbnQsIENvbnN0
cnVjdG9yS2luZCkgeyByZXR1cm4gRnVuY3Rpb25Cb2R5UmVzdWx0OyB9CisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVBcnJvd0Z1
bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbklu
Zm88U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KKyNlbmRpZiAKKyAg
ICB2b2lkIHNldEZ1bmN0aW9uTmFtZVN0YXJ0KGludCwgaW50KSB7IH0KICAgICBpbnQgY3JlYXRl
QXJndW1lbnRzKCkgeyByZXR1cm4gQXJndW1lbnRzUmVzdWx0OyB9CiAgICAgaW50IGNyZWF0ZUFy
Z3VtZW50cyhpbnQpIHsgcmV0dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQogICAgIEV4cHJlc3Npb25U
eXBlIGNyZWF0ZVNwcmVhZEV4cHJlc3Npb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVz
c2lvblR5cGUsIGludCwgaW50LCBpbnQpIHsgcmV0dXJuIFNwcmVhZEV4cHI7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmEwMjcxOTYwMzk3YWI3ZDk5NTI0OGIxMmYyOTVhYjdlM2FlNmQzMzQKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3Bw
CkBAIC0wLDAgKzEsMTE5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCisKKyNpbmNsdWRlICJFcnJv
ci5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbkhlbHBlcnMuaCIKKyNpbmNsdWRlICJKU0NJbmxpbmVz
LmgiCisjaW5jbHVkZSAiSlNDSlNWYWx1ZS5oIgorI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKKyNp
bmNsdWRlICJKU0Z1bmN0aW9uSW5saW5lcy5oIgorI2luY2x1ZGUgIkpTT2JqZWN0LmgiCisjaW5j
bHVkZSAiUHJvcGVydHlTbG90LmgiCisjaW5jbHVkZSAiVk0uaCIKKworbmFtZXNwYWNlIEpTQyB7
CisgICAgCitjb25zdCBDbGFzc0luZm8gSlNBcnJvd0Z1bmN0aW9uOjpzX2luZm8gPSB7ICJBcnJv
d0Z1bmN0aW9uIiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0Fycm93
RnVuY3Rpb24pIH07CisKK0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyb3dGdW5jdGlv
bkNhbGwoRXhlY1N0YXRlKiBleGVjKQoreworICAgIEpTQXJyb3dGdW5jdGlvbiogYXJyb3dGdW5j
dGlvbiA9IGpzQ2FzdDxKU0Fycm93RnVuY3Rpb24qPihleGVjLT5jYWxsZWUoKSk7CisgICAgICAg
IAorICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3M7CisgICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IGV4ZWMtPmFyZ3VtZW50Q291bnQoKTsgKytpKQorICAgICAgICBhcmdzLmFwcGVuZChl
eGVjLT51bmNoZWNrZWRBcmd1bWVudChpKSk7CisgICAgCisgICAgSlNPYmplY3QqIGZ1bmN0aW9u
ID0gYXJyb3dGdW5jdGlvbi0+YXJyb3dGdW5jdGlvbigpOworICAgIENhbGxEYXRhIGNhbGxEYXRh
OworICAgIENhbGxUeXBlIGNhbGxUeXBlID0gZ2V0Q2FsbERhdGEoZnVuY3Rpb24sIGNhbGxEYXRh
KTsKKyAgICBBU1NFUlQoY2FsbFR5cGUgIT0gQ2FsbFR5cGVOb25lKTsKKyAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGNhbGwoZXhlYywgZnVuY3Rpb24sIGNhbGxUeXBlLCBjYWxsRGF0YSwgYXJy
b3dGdW5jdGlvbi0+Ym91bmRUaGlzKCksIGFyZ3MpKTsKK30KKyAgICAKK3ZvaWQgSlNBcnJvd0Z1
bmN0aW9uOjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKK3sKKyAgICBzdGF0aWNfY2FzdDxKU0Fycm93
RnVuY3Rpb24qPihjZWxsKS0+SlNBcnJvd0Z1bmN0aW9uOjp+SlNBcnJvd0Z1bmN0aW9uKCk7Cit9
CisgICAgCitKU0Fycm93RnVuY3Rpb246OkpTQXJyb3dGdW5jdGlvbihWTSYgdm0sIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU09iamVjdCogYXJy
b3dGdW5jdGlvbiwgSlNWYWx1ZSBib3VuZFRoaXMpCisgICAgOiBCYXNlKHZtLCBnbG9iYWxPYmpl
Y3QsIHN0cnVjdHVyZSkKKyAgICAsIG1fYm91bmRUaGlzKHZtLCB0aGlzLCBib3VuZFRoaXMpCisg
ICAgLCBtX2Fycm93RnVuY3Rpb24odm0sIHRoaXMsIGFycm93RnVuY3Rpb24pCit7Cit9CisKK0pT
QXJyb3dGdW5jdGlvbiogSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGVXaXRoSW52YWxpZGF0ZWRSZWFs
bG9jYXRpb25XYXRjaHBvaW50KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
SlNPYmplY3QqIGFycm93RnVuY3Rpb24sIEpTVmFsdWUgYm91bmRUaGlzKQoreworICAgIEFTU0VS
VChqc0Nhc3Q8SlNGdW5jdGlvbio+KGFycm93RnVuY3Rpb24pLT5qc0V4ZWN1dGFibGUoKS0+c2lu
Z2xldG9uRnVuY3Rpb24oKS0+aGFzQmVlbkludmFsaWRhdGVkKCkpOworICAgIHJldHVybiBjcmVh
dGUodm0sIGdsb2JhbE9iamVjdCwgYXJyb3dGdW5jdGlvbiwgYm91bmRUaGlzKTsKK30KKworSlNB
cnJvd0Z1bmN0aW9uKiBKU0Fycm93RnVuY3Rpb246OmNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBhcnJvd0Z1bmN0aW9uLCBKU1ZhbHVlIGJvdW5k
VGhpcykKK3sKKyAgICBOYXRpdmVFeGVjdXRhYmxlKiBleGVjdXRhYmxlID0gdm0uZ2V0SG9zdEZ1
bmN0aW9uKGFycm93RnVuY3Rpb25DYWxsLCBjYWxsSG9zdEZ1bmN0aW9uQXNDb25zdHJ1Y3Rvcik7
CisgICAgSlNBcnJvd0Z1bmN0aW9uKiBmdW5jdGlvbiA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVD
ZWxsPEpTQXJyb3dGdW5jdGlvbj4odm0uaGVhcCkpIEpTQXJyb3dGdW5jdGlvbih2bSwgZ2xvYmFs
T2JqZWN0LCBnbG9iYWxPYmplY3QtPmFycm93RnVuY3Rpb25TdHJ1Y3R1cmUoKSwgYXJyb3dGdW5j
dGlvbiwgYm91bmRUaGlzKTsKKyAgICBmdW5jdGlvbi0+ZmluaXNoQ3JlYXRpb24odm0sIGV4ZWN1
dGFibGUsIDAsICIiKTsKKworICAgIHJldHVybiBmdW5jdGlvbjsKK30KKyAgICAKK3ZvaWQgSlNB
cnJvd0Z1bmN0aW9uOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIE5hdGl2ZUV4ZWN1dGFibGUqIGV4
ZWN1dGFibGUsIGludCBsZW5ndGgsIGNvbnN0IFN0cmluZyYgbmFtZSkKK3sKKyAgICBCYXNlOjpm
aW5pc2hDcmVhdGlvbih2bSwgZXhlY3V0YWJsZSwgbGVuZ3RoLCBuYW1lKTsKKyAgICBBU1NFUlQo
aW5oZXJpdHMoaW5mbygpKSk7CisgICAgCisgICAgLy8gUHJvdG90eXBlIG9mIGFycm93IGZ1bmN0
aW9uIGlzIHVuZGVmaW5lZAorICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJv
dG90eXBlLCBqc1VuZGVmaW5lZCgpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51bSk7
CisgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT50aGlzSWRlbnRpZmllciwgYm91
bmRUaGlzKCksIERvbnREZWxldGUgfCBSZWFkT25seSB8IERvbnRFbnVtKTsKK30KKworICAgIAor
dm9pZCBKU0Fycm93RnVuY3Rpb246OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90Vmlz
aXRvciYgdmlzaXRvcikKK3sKKyAgICBKU0Fycm93RnVuY3Rpb24qIHRoaXNPYmplY3QgPSBqc0Nh
c3Q8SlNBcnJvd0Z1bmN0aW9uKj4oY2VsbCk7CisgICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklU
Uyh0aGlzT2JqZWN0LCBpbmZvKCkpOworICAgIEJhc2U6OnZpc2l0Q2hpbGRyZW4odGhpc09iamVj
dCwgdmlzaXRvcik7CisKKyAgICAvLyBGaXhtZTogbV9hcnJvd0Z1bmN0aW9uIGFscmVhZHkgcmVt
b3ZlZCBieSBHQywgYmVjYXVzZSBpdCBjcmVhdGVkIGluIGJlZm9yZSBydW4gSlNBcnJvd0Z1bmN0
aW9uOjpjcmVhdGUgbWV0aG9kCisgICAgLy8gSXQgaXMgcG9zc2libGUgY2FzZSB3aGVuIG1fYXJy
b3dGdW5jdGlvbiBpcyByZW1vdmVkIGJ1dCB3cmFwcGVyIG9iamVjdCBpcyBzdGlsbCBleGlzdHMK
KyAgICAvLyAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYXJyb3dGdW5jdGlvbik7Cisg
ICAgCisgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYm91bmRUaGlzKTsKK30KKyAg
ICAKK0NvbnN0cnVjdFR5cGUgSlNBcnJvd0Z1bmN0aW9uOjpnZXRDb25zdHJ1Y3REYXRhKEpTQ2Vs
bCogY2VsbCwgQ29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0YSkKK3sKKyAgICBKU0Z1bmN0aW9u
KiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTRnVuY3Rpb24qPihjZWxsKTsKKyAgICAgICAgCisgICAg
Y29uc3RydWN0RGF0YS5qcy5mdW5jdGlvbkV4ZWN1dGFibGUgPSB0aGlzT2JqZWN0LT5qc0V4ZWN1
dGFibGUoKTsKKyAgICBjb25zdHJ1Y3REYXRhLmpzLnNjb3BlID0gdGhpc09iamVjdC0+c2NvcGUo
KTsKKyAgICByZXR1cm4gQ29uc3RydWN0VHlwZU5vbmU7Cit9Cit9IC8vIG5hbWVzcGFjZSBKU0MK
KyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJv
d0Z1bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rp
b24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lOTdiYzFhNWZiZGY2ZjhiN2FjNzZkZmVmMDA5ZTllZWVmNzlmOGYz
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJv
d0Z1bmN0aW9uLmgKQEAgLTAsMCArMSw4OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSlNBcnJvd0Z1bmN0aW9uX2gKKyNkZWZpbmUgSlNB
cnJvd0Z1bmN0aW9uX2gKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisK
KyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3QuaCIKKwor
bmFtZXNwYWNlIEpTQyB7CisKK0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyb3dGdW5j
dGlvbkNhbGwoRXhlY1N0YXRlKik7CisgICAgCitjbGFzcyBKU0Fycm93RnVuY3Rpb24gOiBwdWJs
aWMgSlNGdW5jdGlvbiB7CitwdWJsaWM6CisgICAgdHlwZWRlZiBKU0Z1bmN0aW9uIEJhc2U7CisK
KyAgICBzdGF0aWMgSlNBcnJvd0Z1bmN0aW9uKiBjcmVhdGUoVk0mLCBKU0dsb2JhbE9iamVjdCos
IEpTT2JqZWN0KiwgSlNWYWx1ZSk7CisgICAgc3RhdGljIEpTQXJyb3dGdW5jdGlvbiogY3JlYXRl
V2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludChWTSYsIEpTR2xvYmFsT2JqZWN0
KiwgSlNPYmplY3QqLCBKU1ZhbHVlKTsKKworICAgIHN0YXRpYyB2b2lkIGRlc3Ryb3koSlNDZWxs
Kik7CisgICAgCisgICAgc3RhdGljIHNpemVfdCBhbGxvY2F0aW9uU2l6ZShzaXplX3QgaW5saW5l
Q2FwYWNpdHkpCisgICAgeworICAgICAgICBBU1NFUlRfVU5VU0VEKGlubGluZUNhcGFjaXR5LCAh
aW5saW5lQ2FwYWNpdHkpOworICAgICAgICByZXR1cm4gc2l6ZW9mKEpTQXJyb3dGdW5jdGlvbik7
CisgICAgfQorICAgIAorICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYg
dm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgcHJvdG90eXBlKQorICAg
IHsKKyAgICAgICAgQVNTRVJUKGdsb2JhbE9iamVjdCk7CisgICAgICAgIHJldHVybiBTdHJ1Y3R1
cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKEpTRnVuY3Rp
b25UeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CisgICAgfQorICAgICAgICAKKyAgICBz
dGF0aWMgQ29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERh
dGEmKTsKKworICAgIEpTT2JqZWN0KiBhcnJvd0Z1bmN0aW9uKCkgeyByZXR1cm4gbV9hcnJvd0Z1
bmN0aW9uLmdldCgpOyB9CisgICAgSlNWYWx1ZSBib3VuZFRoaXMoKSB7IHJldHVybiBtX2JvdW5k
VGhpcy5nZXQoKTsgfQorICAgIAorICAgIERFQ0xBUkVfSU5GTzsKKyAgICAKKyAgICBzdGF0aWMg
aW5saW5lIHB0cmRpZmZfdCBvZmZzZXRPZlRoaXNWYWx1ZSgpCisgICAgeworICAgICAgICByZXR1
cm4gT0JKRUNUX09GRlNFVE9GKEpTQXJyb3dGdW5jdGlvbiwgbV9ib3VuZFRoaXMpOworICAgIH0K
KyAgICAKKyAgICBjb25zdCBzdGF0aWMgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlk
ZXNIYXNJbnN0YW5jZSB8IEJhc2U6OlN0cnVjdHVyZUZsYWdzOworCitwcm90ZWN0ZWQ6CisgICAg
c3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOworICAgICAg
ICAKK3ByaXZhdGU6CisgICAgSlNBcnJvd0Z1bmN0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBT
dHJ1Y3R1cmUqLCBKU09iamVjdCosIEpTVmFsdWUpOworCisgICAgdm9pZCBmaW5pc2hDcmVhdGlv
bihWTSYsIE5hdGl2ZUV4ZWN1dGFibGUqLCBpbnQsIGNvbnN0IFN0cmluZyYpOworICAgIAorICAg
IFdyaXRlQmFycmllcjxVbmtub3duPiBtX2JvdW5kVGhpczsKKyAgICBXcml0ZUJhcnJpZXI8SlNP
YmplY3Q+IG1fYXJyb3dGdW5jdGlvbjsKK307CisgICAgCit9IC8vIG5hbWVzcGFjZSBKU0MKKyNl
bmRpZiAvLyBFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgKKworI2VuZGlmIC8vIEpTQXJyb3dGdW5j
dGlvbl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0
aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKaW5kZXgg
ODZkZmYxMmY4ZmE0N2EzMWEzM2E2ODk0MDg3Y2U1YzExNWNlNTJiNi4uOGYxZDYxNmFlMGJkNzE0
ZjQzY2I4Zjg4YWFkNWI3NGYyZWNiNzdmYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTRnVuY3Rpb24uaApAQCAtMTM3LDYgKzEzNyw5IEBAIHB1YmxpYzoKIHByb3RlY3RlZDoK
ICAgICBKU19FWFBPUlRfUFJJVkFURSBKU0Z1bmN0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBT
dHJ1Y3R1cmUqKTsKICAgICBKU0Z1bmN0aW9uKFZNJiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgSlNT
Y29wZSopOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgSlNGdW5j
dGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSosIEpTU2NvcGUqLCBTdHJ1Y3R1cmUqKTsKKyNl
bmRpZgogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIE5hdGl2ZUV4ZWN1dGFibGUqLCBp
bnQgbGVuZ3RoLCBjb25zdCBTdHJpbmcmIG5hbWUpOwogICAgIHVzaW5nIEJhc2U6OmZpbmlzaENy
ZWF0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5j
dGlvbklubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25J
bmxpbmVzLmgKaW5kZXggZjZjNmQ1OGVjNmU1YzExNjRjYjI3ZmE1ZTQxNjE4YjRiODE0MmYwMi4u
Mzg1MDZjYzE5OWEwMDhmZjhmOTZhZGY2ODliZTM2MDk4NzVkZWE1YSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oCkBAIC00NSw2ICs0
NSwxNSBAQCBpbmxpbmUgSlNGdW5jdGlvbjo6SlNGdW5jdGlvbihWTSYgdm0sIEZ1bmN0aW9uRXhl
Y3V0YWJsZSogZXhlY3V0YWJsZSwgSlNTY29wZSogcwogewogfQogCisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKK2lubGluZSBKU0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKFZNJiB2
bSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBKU1Njb3BlKiBzY29wZSwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUpCisgICAgOiBCYXNlKHZtLCBzY29wZSwgc3RydWN0dXJlKQorICAgICwg
bV9leGVjdXRhYmxlKHZtLCB0aGlzLCBleGVjdXRhYmxlKQorICAgICwgbV9yYXJlRGF0YSgpCit7
Cit9CisjZW5kaWYKKyAgICAKIGlubGluZSBGdW5jdGlvbkV4ZWN1dGFibGUqIEpTRnVuY3Rpb246
OmpzRXhlY3V0YWJsZSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKCFpc0hvc3RGdW5jdGlvbk5vbklu
bGluZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xv
YmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2Jq
ZWN0LmNwcAppbmRleCA1MDdkOGJjMDRiYzk0MmFjYjEzMTkxMWFjM2QzMGEwOThhZjBkM2M5Li4z
NjVhYjExYTAzYjI2OTcwMGU4ZDRjMDA3OTA1OWJmNDFlNWI5NzMzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCkBAIC01OCw2ICs1OCw3
IEBACiAjaW5jbHVkZSAiSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmgiCiAjaW5jbHVkZSAiSlNB
cnJheUJ1ZmZlclByb3RvdHlwZS5oIgogI2luY2x1ZGUgIkpTQXJyYXlJdGVyYXRvci5oIgorI2lu
Y2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgog
I2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0NhbGxiYWNrQ29uc3RydWN0b3Iu
aCIKQEAgLTIzNCw2ICsyMzUsOSBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2bSkK
ICAgICBleGVjLT5zZXRDYWxsZWUobV9nbG9iYWxDYWxsZWUuZ2V0KCkpOwogCiAgICAgbV9mdW5j
dGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpTRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2
bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOworI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisgICAgbV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlLnNldCh2bSwg
dGhpcywgSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rp
b25Qcm90b3R5cGUuZ2V0KCkpKTsKKyNlbmRpZgogICAgIG1fYm91bmRGdW5jdGlvblN0cnVjdHVy
ZS5zZXQodm0sIHRoaXMsIEpTQm91bmRGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlz
LCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7CiAgICAgbV9uYW1lZEZ1bmN0aW9uU3RydWN0
dXJlLnNldCh2bSwgdGhpcywgU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb24odm0sIG1f
ZnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCksIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIERvbnREZWxl
dGUgfCBSZWFkT25seSB8IERvbnRFbnVtLCBtX2Z1bmN0aW9uTmFtZU9mZnNldCkpOwogICAgIG1f
aW50ZXJuYWxGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEludGVybmFsRnVuY3Rpb246
OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOwpA
QCAtNzYzLDYgKzc2Nyw5IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OnZpc2l0Q2hpbGRyZW4oSlND
ZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhp
c09iamVjdC0+bV9jYWxsZWVTdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2Jq
ZWN0LT5tX2Z1bmN0aW9uU3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVj
dC0+bV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2Fycm93RnVuY3Rp
b25TdHJ1Y3R1cmUpOworI2VuZGlmCiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1f
bmFtZWRGdW5jdGlvblN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3Qt
Pm1fc3ltYm9sT2JqZWN0U3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVj
dC0+bV9yZWdFeHBTdHJ1Y3R1cmUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2xvYmFsT2JqZWN0LmgKaW5kZXggNTg5ZmEzOTZmZTE5Yzg3ZGNlYzI1YzgxMDMyYjRlZjhh
MmIwMDBjYy4uZGQxYWIwMzJiZDE0YjI4ZGViMTYwZjRiZGEzODg0ZmRkNjk0ODY0MSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC0yMjks
NiArMjI5LDkgQEAgcHJvdGVjdGVkOgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fY2Fs
bGVlU3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fZnVuY3Rpb25TdHJ1
Y3R1cmU7CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9ib3VuZEZ1bmN0aW9uU3RydWN0
dXJlOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgV3JpdGVCYXJy
aWVyPFN0cnVjdHVyZT4gbV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlOworI2VuZGlmCiAgICAgV3Jp
dGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlOwogICAgIFByb3Bl
cnR5T2Zmc2V0IG1fZnVuY3Rpb25OYW1lT2Zmc2V0OwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1
cmU+IG1fcHJpdmF0ZU5hbWVTdHJ1Y3R1cmU7CkBAIC00NjcsNiArNDcwLDkgQEAgcHVibGljOgog
ICAgIFN0cnVjdHVyZSogY2FsbGVlU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9jYWxsZWVT
dHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUqIGZ1bmN0aW9uU3RydWN0dXJlKCkgY29u
c3QgeyByZXR1cm4gbV9mdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQogICAgIFN0cnVjdHVyZSog
Ym91bmRGdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fYm91bmRGdW5jdGlvblN0
cnVjdHVyZS5nZXQoKTsgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgU3RydWN0dXJlKiBhcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9h
cnJvd0Z1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CisjZW5kaWYKICAgICBTdHJ1Y3R1cmUqIG5h
bWVkRnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX25hbWVkRnVuY3Rpb25TdHJ1
Y3R1cmUuZ2V0KCk7IH0KICAgICBQcm9wZXJ0eU9mZnNldCBmdW5jdGlvbk5hbWVPZmZzZXQoKSBj
b25zdCB7IHJldHVybiBtX2Z1bmN0aW9uTmFtZU9mZnNldDsgfQogICAgIFN0cnVjdHVyZSogbnVt
YmVyT2JqZWN0U3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9udW1iZXJPYmplY3RTdHJ1Y3R1
cmUuZ2V0KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi1hc3BhcmFtdGVyLTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci0xLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYz
NjFiOGRiMDIyODI3OTZkMWJiMDRmNWRiZDQwMTliNzI4OWYyY2MKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJh
bXRlci0xLmpzCkBAIC0wLDAgKzEsOCBAQAorLy8gSW5zcGlyZWQgYnkgbW96aWxsYSB0ZXN0cwor
dmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAg
aWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0
ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9
OworCit0ZXN0Q2FzZSgiIiArIFsxLCAyLCAzLCA0XS5tYXAoeCA9PiB4LCAzMiksICIxLDIsMyw0
IiwgIkVycm9yOiBhcnJvdyBmdW5jdGlvbiBhcyB0aGUgcGFyYW10ZXJzLiIpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzcGFy
YW10ZXItMi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5j
dGlvbi1hc3BhcmFtdGVyLTIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2YyOTMyZmMxNDRkMzZjNzBmMDYxZjhl
Njg4ODgzZTQ0YWZjZmQxOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3BhcmFtdGVyLTIuanMKQEAgLTAsMCArMSwx
NSBAQAorLy8gSW5zcGlyZWQgYnkgbW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rp
b24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0
ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICIn
LCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgZiA9IGZ1bmN0aW9u
IChjbCwgcGFyYW10ZXIpIHsgcmV0dXJuIGNsKHBhcmFtdGVyKTsgfTsKK3ZhciBmMiA9IGZ1bmN0
aW9uIChjbCwgcGFyYW10ZXIxLCBwYXJhbXRlcjIpIHsgcmV0dXJuIGNsKHBhcmFtdGVyMSwgcGFy
YW10ZXIyKTsgfTsKKworcmVzdWx0ID0gZih4PT57cmV0dXJuIHggKiAyNTt9LCAxMjEpOwordGVz
dENhc2UocmVzdWx0LCAyNSoxMjEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6IGYoeCA9PiB7cmV0dXJuIHggKiAy
NTt9LCAxMjEpIik7CisKK3Jlc3VsdCA9IGYyKCh4LCB5KT0+e3JldHVybiB4ICogeTt9LCAxNCwg
MTIpOwordGVzdENhc2UocmVzdWx0LCAxNCoxMiAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogZigoeCwgeSk9Pnty
ZXR1cm4geCAqIHk7fSwgMTQsIDEyMSkpIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0xLmpzIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZp
dHktMS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mZDFkNDdhNDgwNzVlYzU5OGM2YmUxZTA3ZDc4YTM1MjYzNTNh
OTEyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHktMS5qcwpAQCAtMCwwICsxLDEzIEBACisvLyBJ
bnNwaXJlZCBieSBtb3ppbGxhIHRlc3RzCit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFs
LCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAg
IHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMg
JyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBhZjEsIGFmMiwgYWYzOworYWYxID0g
YWYyID0gYWYzID0+IGFmMSA9IGFmMiA9IGFmMzsKK3Rlc3RDYXNlKGFmMSwgYWYyLCAiRXJyb3I6
IHdyb25nIGFzc29jaWF0aXZpdHkgIzEuIik7CithZjEoMTMpOwordGVzdENhc2UoYWYyLCAxMywg
IkVycm9yOiB3cm9uZyBhc3NvY2lhdGl2aXR5ICMyLiIpOwordGVzdENhc2UoYWYxLCAxMywgIkVy
cm9yOiB3cm9uZyBhc3NvY2lhdGl2aXR5ICMzLiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHktMi5qcyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lh
dGl2aXR5LTIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmVkZDgzOWM2YmM3ZWQ2YTQwZWZmYmJjODc1NGVkMWJm
ZDgwNmI0MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTIuanMKQEAgLTAsMCArMSwxNCBAQAor
Ly8gSW5zcGlyZWQgYnkgbW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFj
dHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsK
KyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQg
d2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgcz0iIjsKK3MgKz0geCA9PiB4
Lm5hbWU7CisKKy8vIEZpeCBtZS4gUG9zc2libGUgd2UgaGF2ZSBub3QgdXNlIHRoZSBKU0JvdW50
RnVuY3Rpb24gd3JhcHBlciBmb3IgdGhlIGxleGljYWwKKy8vIGJpbmRpbmcgb2YgdGhlIHRoaXMg
YW5kIHVzZSBkaXJlY3QgaW5qZWN0aW9uIG9mIHRoZSAndGhpcycgdmFsdWUKKy8vIGludG8gYXJy
cm93IGZ1bmN0aW9uCisvLyB0ZXN0Q2FzZShzLCAieCA9PiB4Lm5hbWUiICwgIkVycm9yOiB3cm9u
ZyB0b1N0cmluZyBjb252ZXJzaW9uLiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHkuanMgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42N2VkMTUzY2VlYmE1MjYyMjhlY2E4MjEzMDQ2OWE5MjQ0YjE0YzA1Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJv
d2Z1bmN0aW9uLWFzc29jaWF0aXZpdHkuanMKQEAgLTAsMCArMSwxMCBAQAorLy8gSW5zcGlyZWQg
YnkgbW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0
ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBt
ZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0
dWFsICsgIiciOworICB9Cit9OworCit2YXIgYWYgPSBhID0+IGIgPT4gYTsKKwordGVzdENhc2Uo
YWYoJ0FCQycpKCdERUYnKSwgJ0FCQycsICJFcnJvcjogd3JvbmcgbmVzdGVkIGFycm93IGZ1bmN0
aW9ucy4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YXJyb3dmdW5jdGlvbi1ibG9jay0xLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9hcnJvd2Z1bmN0aW9uLWJsb2NrLTEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGM1NzFiYjcyZmNmZWY1
MzBjNTlkYjRiODYwY2E0ZjBhOTZhNDExNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ibG9jay0xLmpzCkBAIC0wLDAg
KzEsMTEgQEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1
bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4
cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQg
KyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGYgPSAoKSA9
PiB7fTsKK3Rlc3RDYXNlKHR5cGVvZiBmKCksICd1bmRlZmluZWQnLCAiRXJyb3I6IHdyb25nIGFy
cm93IGZ1bmN0aW9uIGJsb2NrLiIpOwordmFyIGcgPSAoKSA9PiAoe30pOwordGVzdENhc2UodHlw
ZW9mIGcoKSwgJ29iamVjdCcsICJFcnJvcjogd3JvbmcgYXJyb3cgZnVuY3Rpb24gYmxvY2suIik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tYmxvY2stMi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJy
b3dmdW5jdGlvbi1ibG9jay0yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ3ZWUzNTJjZjAxZDEzNmUzMDI5MjI3
MzZjNWM4MGVmNTNjMDNmNmUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2stMi5qcwpAQCAtMCwwICsxLDEwIEBA
CisvLyBJbnNwaXJlZCBieSBtb3ppbGxhIHRlc3RzCit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAo
YWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkg
eworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1
dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBhZiA9IGEgPT4geyBhICsg
MTsgfTsKKwordGVzdENhc2UodHlwZW9mIGFmKDApLCAndW5kZWZpbmVkJywgIkVycm9yOiB3cm9u
ZyBhcnJvdyBmdW5jdGlvbiBibG9jayAjMi4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ib3VuZC5qcyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ib3VuZC5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hNzMyMGY0ZWM3ODhlYTE0OTBhZmM3MmVjMTI1MWVlMGE2ZTFmN2I2Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJv
dW5kLmpzCkBAIC0wLDAgKzEsMTYgQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBm
dW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBl
eHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVk
ICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBkID0gewor
ICB4IDogImJhciIsCisgIHkgOiBmdW5jdGlvbigpIHsgcmV0dXJuIHogPT4gdGhpcy54ICsgejsg
fQorfTsKKwordmFyIGUgPSB7IHggOiAiYmF6IiB9OworCit0ZXN0Q2FzZShkLnkoKS5iaW5kKGUs
ICJsZXkiKSgpLCAiYmFybGV5IiwgIkVycm9yOiBmdW5jdGlvbiBiaW5kIHNob3VsZG4ndCBjaGFu
Z2UgbGV4aWNhbCBiaW5kaW5nIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNhbGwuanMg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY2FsbC5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42NGY5YWE1MDRkNzBkNzBkNjhjZGFhNWE0ODJhNDY1MGE0NWZkZjdjCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJv
d2Z1bmN0aW9uLWNhbGwuanMKQEAgLTAsMCArMSwxOCBAQAordmFyIHJlc3VsdDsKKworIHZhciB0
ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChh
Y3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICci
ICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwor
dmFyIGQgPSB7CisgIHggOiAiZm9vIiwKKyAgeSA6IGZ1bmN0aW9uKCkgeyByZXR1cm4gKCkgPT4g
dGhpcy54OyB9Cit9OworCit2YXIgZSA9IHsgeCA6ICJiYXIiIH07CisKK3Rlc3RDYXNlKGQueSgp
LmNhbGwoZSksICJmb28iLCAiRXJyb3I6IGZ1bmN0aW9uIGNhbGwgc2hvdWxuJ3QgY2hhbmdlIHRo
ZSBsZXhpY2FsIGJpbmRpbmcgb2YgdGhlIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKGQu
eSgpLmFwcGx5KGUpLCAiZm9vIiwgIkVycm9yOiBmdW5jdGlvbiBhcHBseSBzaG91bG4ndCBjaGFu
Z2UgdGhlIGxleGljYWwgYmluZGluZyBvZiB0aGUgYXJyb3cgZnVuY3Rpb24iKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1jb25z
dHJ1Y3Rvci5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5j
dGlvbi1jb25zdHJ1Y3Rvci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNThiMTZkN2I1ZTI5NzQ0YzMzZjc4NmI0
YmYxNmJmNDRmZWIxZTI4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMTgg
QEAKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7
CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4
cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAg
fQorfTsKKwordmFyIHNpbXBsZUFycm93RnVuY3Rpb24gPSAoKSA9PiB7fTsKKwordmFyIGVycm9y
T25DcmVhdGUgPSBmYWxzZTsKKwordHJ5IHsKKyAgdmFyIGZjID0gbmV3IHNpbXBsZUFycm93RnVu
Y3Rpb24oKTsKK30KK2NhdGNoIChlKSB7CisgIGVycm9yT25DcmVhdGUgPSB0cnVlOworfQorCit0
ZXN0Q2FzZShlcnJvck9uQ3JlYXRlLCB0cnVlLCAiRXJyb3I6IE5vIGV4Y2VwdGlvbiBkdXJpbmcg
cnVuIG5ldyBBcnJvd0Z1bmN0aW9uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC1hcmd1bWVudHMuanMgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC1hcmd1
bWVudHMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMWViNjc2M2E2NTI2OTgxNjVjMGZkYjJkOGJjMjA3M2QyYmNk
M2IxZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLWFyZ3VtZW50cy5qcwpAQCAtMCwwICsxLDE0IEBACit2
YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBp
ZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3Rl
ZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307
CisKK2Z1bmN0aW9uIGFmQ3JlYXRvcigpIHsKKyAgICByZXR1cm4gYSA9PiBhcmd1bWVudHNbMF07
Cit9CisKK3ZhciBhZiA9IGFmQ3JlYXRvcigxMik7CisKKy8vRml4bWU6IGxleGljYWwgYmluZCBv
ZiB0aGUgYXJndW1lbnRzIGlzIG5vdCBpbXBsZW1lbnRlZAorLy90ZXN0Q2FzZShhZig2KSwgMTIs
ICJFcnJvcjogYXJndW1lbnRzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMtMS5qcyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMtMS5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mNTUzMWY1NzU2MmYyODY4ZWVhZDM5ZmNkNjZlZTUwNzhiYWNlZDFiCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0
aW9uLWxleGljYWwtdGhpcy0xLmpzCkBAIC0wLDAgKzEsMTcgQEAKK3ZhciByZXN1bHQ7CisKKyB2
YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBp
ZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3Rl
ZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307
CisKK2Z1bmN0aW9uIERvZyhuYW1lKSB7CisgIHRoaXMubmFtZSA9IG5hbWU7CisgIHRoaXMuZ2V0
TmFtZSA9ICgpID0+IGV2YWwoInRoaXMubmFtZSIpOworICB0aGlzLmdldE5hbWVIYXJkID0gKCkg
PT4gZXZhbCgiKCgpID0+IHRoaXMubmFtZSkoKSIpOworfQorCit2YXIgZCA9IG5ldyBEb2coIk1h
eCIpOwordGVzdENhc2UoZC5nZXROYW1lKCksIGQubmFtZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBs
ZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzEiKTsKK3Rlc3RD
YXNlKGQuZ2V0TmFtZUhhcmQoKSwgZC5uYW1lLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxs
eSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMiIpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwt
dGhpcy0yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0
aW9uLWxleGljYWwtdGhpcy0yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk4YjUzYjI5OGJiYjBiNTNlNDA3MWM5
OTdkODEyMzUxMWFmNjM5ZDkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTIuanMKQEAgLTAsMCAr
MSwzMyBAQAordmFyIHJlc3VsdDsKKworIHZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWws
IGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAg
dGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAn
IiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGFmT2JqTGV4QmluZDIgPSBmdW5jdGlv
biAoKSB7CisgIHRoaXMuZnVuYyA9ICgpID0+IHRoaXM7Cit9OworCit2YXIgYWZPYmpMZXhCaW5k
Mkluc3RhbmNlID0gbmV3IGFmT2JqTGV4QmluZDIoKTsKKwordGVzdENhc2UoYWZPYmpMZXhCaW5k
Mkluc3RhbmNlLmZ1bmMoKSA9PT0gYWZPYmpMZXhCaW5kMkluc3RhbmNlLCB0cnVlLCAiRXJyb3I6
IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlv
biAjMiIpOworCit2YXIgb2JqID0geworICBtZXRob2Q6IGZ1bmN0aW9uICgpIHsKKyAgICByZXR1
cm4gKCkgPT4gdGhpczsKKyAgfQorfTsKKwordGVzdENhc2Uob2JqLm1ldGhvZCgpKCkgPT09IG9i
aiwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0
aGUgYXJyb3cgZnVuY3Rpb24gIzMiKTsKKwordmFyIGZha2UgPSB7c3RlYWw6IG9iai5tZXRob2Qo
KX07Cit0ZXN0Q2FzZShmYWtlLnN0ZWFsKCkgPT09IG9iaiwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlz
IG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzQiKTsK
KworCit2YXIgcmVhbCA9IHtib3Jyb3c6IG9iai5tZXRob2R9OwordGVzdENhc2UocmVhbC5ib3Jy
b3coKSgpID09PSByZWFsLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5k
ZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNSIpOwordGVzdENhc2UocmVhbC5ib3Jy
b3coKSgpID09PSByZWFsLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5k
ZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNiIpOwordGVzdENhc2UocmVhbC5ib3Jy
b3coKSgpID09PSByZWFsLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5k
ZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNyIpOwordGVzdENhc2UocmVhbC5ib3Jy
b3coKSgpID09PSByZWFsLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5k
ZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjOCIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLW90aGVycy5qcyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1vdGhlcnMuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZmViYTExZjMwMjJlMzRhODAwMGE1NzAwNzZkYjFhNTVhNGEzMmIyMQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1vdGhlcnMuanMKQEAgLTAsMCArMSwxMyBAQAordmFyIHRlc3RDYXNlID0gZnVuY3Rp
b24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0
ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICIn
LCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgc2ltcGxlQXJyb3dG
dW5jdGlvbiA9ICgpID0+IHt9OworCit0ZXN0Q2FzZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yoc2lt
cGxlQXJyb3dGdW5jdGlvbiksIEZ1bmN0aW9uLnByb3RvdHlwZSwgIkVycm9yOiBOb3QgY29ycmVj
dCBnZXRQcm90b3R5cGVPZiB2YWx1ZSBmb3IgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2Uo
c2ltcGxlQXJyb3dGdW5jdGlvbiBpbnN0YW5jZW9mIEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5v
dCBjb3JyZWN0IHJlc3VsdCBmb3IgaW5zdGFuY2VvZiBtZXRob2QgZm9yIGFycm93IGZ1bmN0aW9u
Iik7CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93RnVuY3Rpb24uY29uc3RydWN0b3IgPT0gRnVuY3Rp
b24sIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBjb25zdHJ1Y3RvciBtZXRo
b2Qgb2YgYXJyb3cgZnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAtMS5qcyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAtMS5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wN2ExZjBhNDljYjE2ODYzYzU5MjEzNjFmMGFkYjFlMTRlYzliNjVhCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1
bi0xMC0xLmpzCkBAIC0wLDAgKzEsMjQgQEAKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1
YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7Cisg
ICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdh
cyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKworZnVuY3Rpb24gcnVuKGNvdW50KSB7Cisg
IHZhciByZXN1bHQgPSB0cnVlOworICBmb3IodmFyIGk9MDsgaTxjb3VudDsgaSsrKSB7CisgICAg
dmFyIE9iaiA9IGZ1bmN0aW9uIChuYW1lKSB7CisgICAgICB0aGlzLm5hbWUgPSBuYW1lOworICAg
ICAgdGhpcy5nZXROYW1lID0gKCkgPT4gdGhpcy5uYW1lOworICAgIH07CisKKyAgICB2YXIgb2Jq
ID0gbmV3IE9iaigiSXRlbSIgKyBpKTsKKyAgICBpZiAob2JqLm5hbWUgIT09IG9iai5nZXROYW1l
KCkpIHsKKyAgICAgIHJlc3VsdCA9IGZhbHNlOworICAgIH0KKyAgfQorICByZXR1cm4gcmVzdWx0
OworfQorCit0ZXN0Q2FzZShydW4oMSksIHRydWUsICJFcnJvcjogRXJyb3I6IGR1cmluZyBleGVj
dXRpb24gb2YgYXJyb3cgZnVuY3Rpb24gb25lIHRpbWUiKTsKK3Rlc3RDYXNlKHJ1bigxMCksIHRy
dWUsICJFcnJvcjogRXJyb3I6IGR1cmluZyBleGVjdXRpb24gb2YgYXJyb3cgZnVuY3Rpb24gMTAg
dGltZXMiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YXJyb3dmdW5jdGlvbi1ydW4tMTAtMi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAtMi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZGRjZGIzYzcwYTFi
MjdjM2RiYjUyMzgwOTU1ZjUzNTNkNzY3NDI1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMC0yLmpzCkBAIC0w
LDAgKzEsMjUgQEAKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBt
ZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2Fn
ZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCAr
ICInIjsKKyAgfQorfTsKKworZnVuY3Rpb24gcnVuKGNvdW50KSB7CisgIHZhciByZXN1bHQgPSB0
cnVlOworICBmb3IodmFyIGk9MDsgaTxjb3VudDsgaSsrKSB7CisgICAgdmFyIE9iaiA9IGZ1bmN0
aW9uIChuYW1lKSB7CisgICAgICB0aGlzLm5hbWUgPSBuYW1lOworICAgICAgdGhpcy5nZXROYW1l
ID0gKCkgPT4gZXZhbCgidGhpcy5uYW1lIik7OworICAgIH07CisKKworICAgIHZhciBvYmogPSBu
ZXcgT2JqKCJJdGVtIiArIGkpOworICAgIGlmIChvYmoubmFtZSAhPT0gb2JqLmdldE5hbWUoKSkg
eworICAgICAgcmVzdWx0ID0gZmFsc2U7CisgICAgfQorICB9CisgIHJldHVybiByZXN1bHQ7Cit9
CisKK3Rlc3RDYXNlKHJ1bigxKSwgdHJ1ZSwgIkVycm9yOiBkdXJpbmcgZXhlY3V0aW9uIG9mIGFy
cm93IGZ1bmN0aW9uIG9uZSB0aW1lIik7Cit0ZXN0Q2FzZShydW4oMTApLCB0cnVlLCAiRXJyb3I6
IGR1cmluZyBleGVjdXRpb24gb2YgYXJyb3cgZnVuY3Rpb24gMTAgdGltZXMiKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4t
MTAwMDAtMS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5j
dGlvbi1ydW4tMTAwMDAtMS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZTVmNmJjODZiZDMxNDUxYjAxY2EyN2Qw
Yjk3MjBiNTdlOGQ2MDUxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMDAwMC0xLmpzCkBAIC0wLDAgKzEsMjMg
QEAKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7
CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4
cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAg
fQorfTsKKworZnVuY3Rpb24gcnVuKGNvdW50KSB7CisgIHZhciByZXN1bHQgPSB0cnVlOworICBm
b3IodmFyIGk9MDsgaTxjb3VudDsgaSsrKSB7CisgICAgdmFyIE9iaiA9IGZ1bmN0aW9uIChuYW1l
KSB7CisgICAgICB0aGlzLm5hbWUgPSBuYW1lOworICAgICAgdGhpcy5nZXROYW1lID0gKCkgPT4g
dGhpcy5uYW1lOworICAgIH07CisKKyAgICB2YXIgb2JqID0gbmV3IE9iaigiSXRlbSIgKyBpKTsK
KyAgICBpZiAob2JqLm5hbWUgIT09IG9iai5nZXROYW1lKCkpIHsKKyAgICAgIHJlc3VsdCA9IGZh
bHNlOworICAgIH0KKyAgfQorICByZXR1cm4gcmVzdWx0OworfQorCit0ZXN0Q2FzZShydW4oMTAw
MDApLCB0cnVlLCAiRXJyb3I6IEVycm9yOiBkdXJpbmcgZXhlY3V0aW9uIG9mIGFycm93IGZ1bmN0
aW9uIDEwMDAwIHRpbWVzIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwMDAwLTIuanMgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwMDAwLTIuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOTUzMGYyYzFkNWE3ZjU1Y2U0NmI4YmU2OTkwOGI0YmMyMWUwNTI3YgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1y
dW4tMTAwMDAtMi5qcwpAQCAtMCwwICsxLDIzIEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAo
YWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkg
eworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1
dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK2Z1bmN0aW9uIHJ1bihjb3VudCkg
eworICB2YXIgcmVzdWx0ID0gdHJ1ZTsKKyAgZm9yKHZhciBpPTA7IGk8Y291bnQ7IGkrKykgewor
ICAgIHZhciBPYmogPSBmdW5jdGlvbiAobmFtZSkgeworICAgICAgdGhpcy5uYW1lID0gbmFtZTsK
KyAgICAgIHRoaXMuZ2V0TmFtZSA9ICgpID0+IGV2YWwoInRoaXMubmFtZSIpOzsKKyAgICB9Owor
CisgICAgdmFyIG9iaiA9IG5ldyBPYmooIkl0ZW0iICsgaSk7CisgICAgaWYgKG9iai5uYW1lICE9
PSBvYmouZ2V0TmFtZSgpKSB7CisgICAgICByZXN1bHQgPSBmYWxzZTsKKyAgICB9CisgIH0KKyAg
cmV0dXJuIHJlc3VsdDsKK30KKwordGVzdENhc2UocnVuKDEwMDAwKSwgdHJ1ZSwgIkVycm9yOiBF
cnJvcjogZHVyaW5nIGV4ZWN1dGlvbiBvZiBhcnJvdyBmdW5jdGlvbiAxMDAwMCB0aW1lcyIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0
aW9uLXN5bnRheC5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1zeW50YXguanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGZlMTFkNWJlZTBkYmQ1NTY0OGFjNDNkZmZj
ZTRlNGUyZTkwZTI4OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1zeW50YXguanMKQEAgLTAsMCArMSwxMTYgQEAKK3Zh
ciByZXN1bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwg
bWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3Nh
Z2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwg
KyAiJyI7CisgIH0KK307CisKK3ZhciBhZjAgPSB2ID0+IHYgKyAxOwordGVzdENhc2UoYWYwKDEw
KSwgMTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlv
bjogdiA9PiB2ICsgMSIpOworCit2YXIgYWYxID0gKHYpID0+IHYgKiAyOwordGVzdENhc2UoYWYx
KDEwKSwgMjAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbjogKHYpID0+IHYgKyAxIik7CisKK3ZhciBhZjIgPSAoKSA9PiAxMDAwOwordGVzdENhc2Uo
YWYyKDEyMTIpLCAxMDAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJy
b3cgZnVuY3Rpb246ICgpID0+IDEwMDAiKTsKKwordmFyIGEgPSAxNTE7Cit2YXIgYWYyXzEgPSAo
KSA9PiBhOwordGVzdENhc2UoYWYyXzEoMTIxKSwgYSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVj
dXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAoKSA9PiB2YXJpYWJsZSIpOworCit2YXIgYWYz
ID0gKHYsIHgpID0+IHYgKyB4OwordGVzdENhc2UoYWYzKDExLDEyKSwgMjMgLCJFcnJvcjogTm90
IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKHgsIHkpID0+IHggKyB5
Iik7CisKK3ZhciBhZndyYXBwZXIgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVyKSB7IHJldHVybiBj
bChwYXJhbXRlcik7IH07CisKK3Jlc3VsdCA9IGFmd3JhcHBlcih4ID0+IDEyMzQpOwordGVzdENh
c2UocmVzdWx0LCAxMjM0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjKSIpOworCityZXN1bHQgPSBhZndyYXBw
ZXIoeCA9PiAxMjM0LCAyMzQ1KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIzNCAsIkVycm9yOiBOb3Qg
Y29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHgg
PT4gYywgeSkiKTsKKworcmVzdWx0ID0gYWZ3cmFwcGVyKHggPT4gMTIxICsgMjMyKTsKK3Rlc3RD
YXNlKHJlc3VsdCwgMzUzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjMSArIGMyKSIpOworCityZXN1bHQgPSBh
ZndyYXBwZXIoeCA9PiAxMjMgKyAzMjEsIDk5OTkpOwordGVzdENhc2UocmVzdWx0LCA0NDQgLCJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJh
bXRlcjogZih4ID0+IGMxICsgYzIsIHkpIik7CisKK3Jlc3VsdCA9IGFmd3JhcHBlcih4ID0+IHgg
KyAxMiwgMjEpOwordGVzdENhc2UocmVzdWx0LCAzMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVj
dXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4geCArIGMxLCB5
KSIpOworCityZXN1bHQgPSBhZndyYXBwZXIoKHgpID0+IHggKyAyMSwgMzIpOwordGVzdENhc2Uo
cmVzdWx0LCA1MywgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1
bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCh4KSA9PiBjMSArIGMyLCB5KSIpOworCityZXN1bHQgPSBh
ZndyYXBwZXIoKCkgPT4gMTAwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwLCAiRXJyb3I6IE5vdCBj
b3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkg
PT4gYykiKTsKKwordmFyIGV4dF92YWx1ZSA9IDEyMTsKK3Jlc3VsdCA9IGFmd3JhcHBlcigoKSA9
PiBleHRfdmFsdWUpOwordGVzdENhc2UocmVzdWx0LCAxMjEsICJFcnJvcjogTm90IGNvcnJlY3Qg
ZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiB2KSIp
OworCityZXN1bHQgPSBhZndyYXBwZXIoKCkgPT4gZXh0X3ZhbHVlICogMTApOwordGVzdENhc2Uo
cmVzdWx0LCAxMjEwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gdip4KSIpOworCityZXN1bHQgPSBhZndyYXBw
ZXIoKHgpID0+IGV4dF92YWx1ZSAqIHgsIDMwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzAqZXh0X3Zh
bHVlICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24g
YXMgcGFyYW10ZXI6IGYoKHgpID0+IHYqeCwgeSkiKTsKKworcmVzdWx0ID0gYWZ3cmFwcGVyKCgp
ID0+IDEwMCwgMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDAgLCJFcnJvcjogTm90IGNvcnJlY3Qg
ZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjMSwg
eSkiKTsKKworIHJlc3VsdCA9IGFmd3JhcHBlcigoKSA9PiAxMDAgKyAxMCk7Cit0ZXN0Q2FzZShy
ZXN1bHQsIDExMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1
bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMxICsgYzIpIik7CisKK3Jlc3VsdCA9IGFmd3Jh
cHBlcigoKSA9PiAxMDAgKyAxMSwgMTIpOwordGVzdENhc2UocmVzdWx0LCAxMTEgLCJFcnJvcjog
Tm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjog
ZigoKSA9PiBjMSArIGMyLCB5KSIpOworCit2YXIgYXJyb3dGdW5jdGlvbjQgPSB2ID0+IHYgKyAx
LCB4eXoxID0gMTAxMDE7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9uNCgxMDExKTsKK3Rlc3RDYXNl
KHJlc3VsdCwgMTAxMiAsIkVycm9yOiBOb3QgY29ycmVjdCBwYXJzaW5nIG9mIHRoIGFycm93IGZ1
bmN0aW9uIGluc2lkZSBvZiB0aGUgbGlzdCBvZiB2YXJzOiB2YXIgYWYgPSB2PT4gdiArIDE7IHp4
Yz1jOyIpOwordGVzdENhc2UoeHl6MSwgMTAxMDEgLCJFcnJvcjogTm90IGNvcnJlY3QgcGFyc2lu
ZyBvZiB0aCBhcnJvdyBmdW5jdGlvbiBpbnNpZGUgb2YgdGhlIGxpc3Qgb2YgdmFyczogdmFyIGFm
ID0gdj0+IHYgKyAxOyB6eGM9YzsiKTsKKwordmFyIGFmd3JhcHBlcjIgPSBmdW5jdGlvbiAoY2ws
IHBhcmFtdGVyMSwgcGFyYW10ZXIyKSB7IHJldHVybiBjbChwYXJhbXRlcjEsIHBhcmFtdGVyMik7
IH07CityZXN1bHQgPSBhZndyYXBwZXIyKCh4LCB5KSA9PiB4ICsgeSwgMTIgLDQzKTsKK3Rlc3RD
YXNlKHJlc3VsdCwgNTUgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbiBhcyBwYXJhbWV0ZXI6IGYoKHgsIHkpID0+IHggKyB5LCBjMSwgYzIpIik7CisK
K3ZhciBhZkFycjAgPSBbdiA9PiB2ICogMTBdOworcmVzdWx0ID0gYWZBcnIwWzBdKDEwKTsKK3Rl
c3RDYXNlKHJlc3VsdCwgMTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogW3Y9PnYqMTBdIik7CisKK3ZhciBhZkFy
cjEgPSBbdiA9PiB2ICsgMSwgdiA9PiB2ICsgMl07CityZXN1bHQgPSBhZkFycjFbMF0oMTApOwor
dGVzdENhc2UocmVzdWx0LCAxMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhl
IGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFt2ID0+IHYgKyAxLCAgdiA9PiB2ICsg
Ml0iKTsKK3Jlc3VsdCA9IGFmQXJyMVsxXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEzICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBp
biBhcnJheTogW3YgPT4gdiArIDEsICB2ID0+IHYgKyAyXSIpOworCit2YXIgYWZBcnIyID0gWyh2
KSA9PiB2ICsgMSwgKHYpID0+IHYgKyAyXTsKK3Jlc3VsdCA9IGFmQXJyMlswXSgxMSk7Cit0ZXN0
Q2FzZShyZXN1bHQsIDEyICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogWyh2KSA9PiB2ICsgMSwgICh2KSA9PiB2ICsg
Ml0iKTsKK3Jlc3VsdCA9IGFmQXJyMlsxXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEzICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBp
biBhcnJheTogWyh2KSA9PiB2ICsgMSwgICh2KSA9PiB2ICsgMl0iKTsKKwordmFyIGFmQXJyMyA9
IFsoKSA9PiAxMDEsICgpID0+IDEyMzIzXTsKK3Jlc3VsdCA9IGFmQXJyM1swXSgxMSk7Cit0ZXN0
Q2FzZShyZXN1bHQsIDEwMSwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFy
cm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsoKSA9PiBjMSwgICgpID0+IGMyXSIpOwor
cmVzdWx0ID0gYWZBcnIzWzFdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIzMjMsICJFcnJvcjog
Tm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFy
cmF5OiBbKCkgPT4gYzEsICAoKSA9PiBjMl0iKTsKKwordmFyIGFmT2JqID0ge2Z1bmMgOiB5ID0+
IHkgKyAxMn07CityZXN1bHQgPSBhZk9iai5mdW5jKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjMg
LCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMg
cHJvcGVydHk6IHtmdW5jIDogeSA9PiB5ICsgMTIgfSIpOworCit2YXIgYWZCbG9jazAgPSAoKSA9
PiB7IHJldHVybiAxMDAwOyB9OworcmVzdWx0ID0gYWZCbG9jazAoMTEpOwordGVzdENhc2UocmVz
dWx0LCAxMDAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiAoKSA9PiB7IHJldHVybiAxMDAwOyB9Iik7CisKK3Zh
ciBhZkJsb2NrMSA9IHYgPT4geyB2YXIgaW50dmFsID0gMTAwOyByZXR1cm4gdiAqIGludHZhbDsg
fTsKK3Jlc3VsdCA9IGFmQmxvY2sxKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEwMCAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBh
cyBibG9jazogeCA9PiB7IHZhciB2PTEwMDA7IHJldHVybiB2Kng7IH0iKTsKKwordmFyIGFmQmxv
Y2syID0gKHYpID0+IHsgdmFyIGludCA9IDIwMDsgcmV0dXJuIHYgKiBpbnQ7IH07CityZXN1bHQg
PSBhZkJsb2NrMigxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIyMDAgLCJFcnJvcjogTm90IGNvcnJl
Y3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICh4
KSA9PiB7IHZhciB2PTEwMDA7IHJldHVybiB2Kng7IH0iKTsKKwordmFyIGFmQmxvY2szID0gKHYs
IHgpID0+IHsgdmFyIHJlc3VsdCA9IHggKiB2OyByZXR1cm4gcmVzdWx0OyB9OworcmVzdWx0ID0g
YWZCbG9jazMoMTEsIDEyMjIyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTM0NDQyICwiRXJyb3I6IE5v
dCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJs
b2NrOiAodiwgeCkgPT4geyB2YXIgcmVzdWx0ID0geCAqIHY7IHJldHVybiByZXN1bHQ7IH0iKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5j
dGlvbi10ZHouanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tdGR6LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU5ZDM1Y2RlYTRiYWY2Njc0MzFhZjhhYmU4ZGFkZjIy
ZDA0YjkwZTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tdGR6LmpzCkBAIC0wLDAgKzEsMjQgQEAKK3ZhciBBID0gY2xh
c3MgQSB7IH07Cit2YXIgQiA9IGNsYXNzIEIgZXh0ZW5kcyBBIHsKKyAgY29uc3RydWN0b3IoYWNj
ZXNzVGhpc0JlZm9yZVN1cGVyKSB7CisgICAgaWYgKGFjY2Vzc1RoaXNCZWZvcmVTdXBlcikgewor
ICAgICAgdmFyIGYgPSAoKSA9PiB0aGlzOworICAgICAgc3VwZXIoKTsKKyAgICB9IGVsc2Ugewor
ICAgICAgc3VwZXIoKTsKKyAgICB9CisgIH0KK307CisKK3ZhciBleGNlcHRpb24gPSBudWxsOwor
dHJ5IHsKKyAgICAgbmV3IEIodHJ1ZSk7Cit9IGNhdGNoIChlKSB7CisgICAgZXhjZXB0aW9uID0g
ZTsKKyAgICBpZiAoIShlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpKQorICAgICAgICB0aHJv
dyAiRXhjZXB0aW9uIHRocm93biB3YXMgbm90IGEgcmVmZXJlbmNlIGVycm9yIjsKK30KK2lmICgh
ZXhjZXB0aW9uKQorICAgIHRocm93ICJFeGNlcHRpb24gbm90IHRocm93biBmb3IgYW4gdW5pdGlh
bGl6ZWQgdGhpcyBhdCBpdGVyYXRpb24iOworCit2YXIgZSA9IG5ldyBCKGZhbHNlKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi10
eXBlb2YuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tdHlwZW9mLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVmMmE3ZjU0NDc2YWJhOWMyODkyM2MzNWYxZGIzYzQz
MjdhYzk0NjkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tdHlwZW9mLmpzCkBAIC0wLDAgKzEsMjEgQEAKK3ZhciB0ZXN0
Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1
YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsg
ZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFy
IGFmMSA9ICgpID0+IHt9OwordmFyIGFmMiA9IChhKSA9PiB7YSArIDF9OworCit0ZXN0Q2FzZSh0
eXBlb2YgYWYxLCAiZnVuY3Rpb24iLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHR5cGUgb2YgdGhlIGFy
cm93IGZ1bmN0aW9uICMxIik7Cit0ZXN0Q2FzZSh0eXBlb2YgYWYxLnByb3RvdHlwZSA9PT0gJ3Vu
ZGVmaW5lZCcsIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBwcm90b3R5cGUg
b2YgYXJyb3cgZnVuY3Rpb24gIzEiKTsKKwordGVzdENhc2UodHlwZW9mIGFmMiwgImZ1bmN0aW9u
IiwgIkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMiIpOwor
dGVzdENhc2UodHlwZW9mIGFmMi5wcm90b3R5cGUgPT09ICd1bmRlZmluZWQnLCB0cnVlLCAiRXJy
b3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9uICMy
Iik7CisKK3Rlc3RDYXNlKHR5cGVvZiAoKCk9Pnt9KSwgImZ1bmN0aW9uIiwgIkVycm9yOiBOb3Qg
Y29ycmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMyIpOwordGVzdENhc2UodHlwZW9m
ICgoKT0+e30pLnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJFcnJvcjogTm90IGNv
cnJlY3QgcmVzdWx0IGZvciBwcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24gIzMiKTsKKworCit0
ZXN0Q2FzZSh0eXBlb2YgKChiKSA9PiB7YiArIDF9KSwgImZ1bmN0aW9uIiwgIkVycm9yOiBOb3Qg
Y29ycmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNCIpOwordGVzdENhc2UodHlwZW9m
ICgoYikgPT4ge2IgKyAxfSkucHJvdG90eXBlID09PSAndW5kZWZpbmVkJywgdHJ1ZSwgIkVycm9y
OiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiAjNCIp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwppbmRleCBmYzkwZjYxMTU2MjMxYTQxY2E5MTM3ZjE3Yzc5NTVlOGQzNzNiMGVh
Li4wYzg4NDBmNmFiNTE4NWY4MzU0YjcwNjAzZTAyNWYyNWEyYTc5ZjRhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpA
QCAtNDQsNiArNDQsNyBAQCBFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HID0gRU5BQkxFX0NBQ0hF
X1BBUlRJVElPTklORzsKIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsK
IEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFC
TEVfQ0hBTk5FTF9NRVNTQUdJTkc7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0g
RU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFY
ID0gRU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CiBFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxf
U1lOVEFYID0gRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWDsKIEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKQEAgLTIxNSw0ICsyMTYs
NCBAQCBFTkFCTEVfSklUID0gRU5BQkxFX0pJVDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRf
QVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRV
UkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVO
QUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFT
X1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZ
TlRBWCkgJChFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05T
X0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NT
X0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NT
U19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9D
U1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19T
RUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQp
ICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElU
WSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9J
VEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZF
TF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkg
JChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9H
RU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAk
KEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9D
U1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFC
TEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChF
TkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhN
TCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0Up
ICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5B
QkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRP
Ul9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFC
TEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRF
Ul9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChF
TkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVT
VF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJM
RV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9T
UEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NS
WVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChF
TkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1F
TlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVO
QUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNL
KSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAk
KEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAk
KEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VC
X1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAk
KEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX1NB
VFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01P
REUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVf
QUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5U
KSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVO
QUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9F
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5B
QkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
TkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAk
KEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElO
RykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlP
VVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JF
U09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xF
VkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9D
U1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxF
X0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5B
QkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5B
QkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFC
TEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dB
TUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09O
REFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5E
SUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkg
JChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9W
RU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRF
UlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxF
X01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9N
RURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkg
JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChF
TkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJ
Q19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9O
X0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lO
U1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVS
X0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRI
RVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5B
QkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJM
RV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hf
SUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNF
TEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVf
REFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VC
R0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VC
X1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQo
RU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNM
VCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZ
T1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2
Y2Y5ZDk2MjE0ZjdlZjIxM2RiZTQyYjQyZjE5N2Q4MGM1OTQ5MTA2Li4zZjIwMDVlMmM5MWQzODg5
NjQwOTJkMTJkN2M5OWM2MmQ3ZWY3OTVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNjAxLDkgKzE2MDEsOSBAQAogCQk0NDMx
MUNEOTEyRTRFMjU3MDAwQThEMTkgLyogRE9NRG9jdW1lbnRGcmFnbWVudFByaXZhdGUuaCBpbiBD
b3B5IEdlbmVyYXRlZCBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ0MzExQ0Q0MTJFNEUyMkQwMDBBOEQxOSAvKiBET01Eb2N1bWVudEZyYWdtZW50UHJpdmF0ZS5o
ICovOyB9OwogCQk0NDMxMUY4MjEyRTRFNjZDMDAwQThEMTkgLyogRE9NRG9jdW1lbnRGcmFnbWVu
dEludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4NUU3MTE0NTBBQzVENTM0MDA1MzI3MEYgLyogRE9NRG9jdW1lbnRGcmFnbWVudEludGVybmFs
LmggKi87IH07CiAJCTQ0MzgxN0ZGMUE5MUIyRjgwMDZFMDRGMiAvKiBDb3JlTWVkaWFTb2Z0TGlu
ay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDM4
MTdGRDFBOTFCMkY4MDA2RTA0RjIgLyogQ29yZU1lZGlhU29mdExpbmsuY3BwICovOyB9OwotCQk0
NDM5MTdGRjFBOTFCMkY4MDA2RTA0RjIgLyogUXVpY2tMb29rU29mdExpbmsubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDM5MTdGRDFBOTFCMkY4MDA2
RTA0RjIgLyogUXVpY2tMb29rU29mdExpbmsubW0gKi87IH07CiAJCTQ0MzgxODAwMUE5MUIyRjgw
MDZFMDRGMiAvKiBDb3JlTWVkaWFTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzODE3RkUxQTkxQjJGODAwNkUwNEYyIC8qIENvcmVNZWRp
YVNvZnRMaW5rLmggKi87IH07Ci0JCTQ0MzkxODAwMUE5MUIyRjgwMDZFMDRGMiAvKiBRdWlja0xv
b2tTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDQzOTE3RkUxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLmggKi87IH07
CisJCTQ0MzkxN0ZGMUE5MUIyRjgwMDZFMDRGMiAvKiBpb3MvUXVpY2tMb29rU29mdExpbmsubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDM5MTdGRDFB
OTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tICovOyB9OworCQk0NDM5
MTgwMDFBOTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDM5MTdGRTFBOTFCMkY4MDA2
RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLmggKi87IH07CiAJCTQ0M0YwNDI3MEU3NUM4
RkIwMDdFNTQwNyAvKiBOZXR3b3JrU3RhdGVOb3RpZmllcklPUy5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0M0YwNDI2MEU3NUM4RkIwMDdFNTQwNyAv
KiBOZXR3b3JrU3RhdGVOb3RpZmllcklPUy5tbSAqLzsgfTsKIAkJNDQ0OUE0MDUxQTk2NEIwMDAw
QjY0QUQ1IC8qIENvcmVNZWRpYVNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDQ0OUE0MDQxQTk2NEIwMDAwQjY0QUQ1IC8qIENvcmVNZWRpYVNQSS5o
ICovOyB9OwogCQk0NDRENEUyMzBGNzA4QjJFMDAzMTU4RTAgLyogV2ViQ29yZVVSTFJlc3BvbnNl
SU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ0
RDRFMjEwRjcwOEIyRTAwMzE1OEUwIC8qIFdlYkNvcmVVUkxSZXNwb25zZUlPUy5tbSAqLzsgfTsK
QEAgLTg3NjksOSArODc2OSw5IEBACiAJCTQ0MzExQ0Q0MTJFNEUyMkQwMDBBOEQxOSAvKiBET01E
b2N1bWVudEZyYWdtZW50UHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBET01Eb2N1bWVudEZyYWdtZW50UHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0NDMxMUNENTEyRTRFMjJEMDAwQThEMTkgLyogRE9NRG9jdW1lbnRQcml2YXRlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTURvY3VtZW50UHJpdmF0ZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDM4MTdGRDFBOTFCMkY4MDA2RTA0RjIgLyogQ29y
ZU1lZGlhU29mdExpbmsuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
Q29yZU1lZGlhU29mdExpbmsuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0NDM5
MTdGRDFBOTFCMkY4MDA2RTA0RjIgLyogUXVpY2tMb29rU29mdExpbmsubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBpb3MvUXVpY2tMb29rU29mdExpbmsubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0MzgxN0ZFMUE5MUIyRjgwMDZFMDRGMiAvKiBD
b3JlTWVkaWFTb2Z0TGluay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb3Jl
TWVkaWFTb2Z0TGluay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0NDM5MTdGRTFB
OTFCMkY4MDA2RTA0RjIgLyogUXVpY2tMb29rU29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gaW9zL1F1aWNrTG9va1NvZnRMaW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTQ0MzkxN0ZEMUE5MUIyRjgwMDZFMDRGMiAvKiBpb3MvUXVpY2tMb29rU29m
dExpbmsubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBpb3MvUXVp
Y2tMb29rU29mdExpbmsubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0MzkxN0ZF
MUE5MUIyRjgwMDZFMDRGMiAvKiBpb3MvUXVpY2tMb29rU29mdExpbmsuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gaW9zL1F1aWNrTG9va1NvZnRMaW5rLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQ0M0YwNDI2MEU3NUM4RkIwMDdFNTQwNyAvKiBOZXR3b3JrU3Rh
dGVOb3RpZmllcklPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IE5ldHdvcmtTdGF0ZU5vdGlmaWVySU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0NDQ5QTQwNDFBOTY0QjAwMDBCNjRBRDUgLyogQ29yZU1lZGlhU1BJLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvcmVNZWRpYVNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0NDRENEUyMTBGNzA4QjJFMDAzMTU4RTAgLyogV2ViQ29yZVVSTFJlc3BvbnNl
SU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViQ29yZVVS
TFJlc3BvbnNlSU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTg4NTcsOCAr
MTg4NTcsOCBAQAogCQkJCUM1Mjc4QjBCMTdGMjEyRUEwMDNBMjk5OCAvKiBQbGF0Zm9ybVBhc3Rl
Ym9hcmRJT1MubW0gKi8sCiAJCQkJRTQ1MzkwMzIwRUFGRDYzNzAwMzY5NUM4IC8qIFBsYXRmb3Jt
U2NyZWVuSU9TLm1tICovLAogCQkJCUFBRTM3NTVEMTc0MjlCQ0MwMDYyMDBDMiAvKiBQbGF0Zm9y
bVNwZWVjaFN5bnRoZXNpemVySU9TLm1tICovLAotCQkJCTQ0MzkxN0ZFMUE5MUIyRjgwMDZFMDRG
MiAvKiBRdWlja0xvb2tTb2Z0TGluay5oICovLAotCQkJCTQ0MzkxN0ZEMUE5MUIyRjgwMDZFMDRG
MiAvKiBRdWlja0xvb2tTb2Z0TGluay5tbSAqLywKKwkJCQk0NDM5MTdGRTFBOTFCMkY4MDA2RTA0
RjIgLyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLmggKi8sCisJCQkJNDQzOTE3RkQxQTkxQjJGODAw
NkUwNEYyIC8qIGlvcy9RdWlja0xvb2tTb2Z0TGluay5tbSAqLywKIAkJCQlDREZDMzYwMTE4Q0E2
MTYzMDAyNkU1NkYgLyogUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLmggKi8sCiAJCQkJQ0RGQzM2
MDIxOENBNjE2MzAwMjZFNTZGIC8qIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5tbSAqLywKIAkJ
CQk0NEMzNjNFRTBGQUE3QkIzMDA5N0Y4Q0MgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzSU9T
LmggKi8sCkBAIC0yNjA2Miw3ICsyNjA2Miw3IEBACiAJCQkJNTUwQTBCQ0EwODVGNjAzOTAwNzM1
M0Q2IC8qIFF1YWxpZmllZE5hbWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFMTI1MjNEMUExNjc2
Q0QwMDg2NDQ4MCAvKiBRdWFydHpDb3JlU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQk0NDJBRjdB
OTEwMkNEREVBMDA4RkQ0RDMgLyogUXVpY2tMb29rLmggaW4gSGVhZGVycyAqLywKLQkJCQk0NDM5
MTgwMDFBOTFCMkY4MDA2RTA0RjIgLyogUXVpY2tMb29rU29mdExpbmsuaCBpbiBIZWFkZXJzICov
LAorCQkJCTQ0MzkxODAwMUE5MUIyRjgwMDZFMDRGMiAvKiBpb3MvUXVpY2tMb29rU29mdExpbmsu
aCBpbiBIZWFkZXJzICovLAogCQkJCUExNDk3ODZGMUFCQUYzMzgwMENFRjdFNCAvKiBDb250ZW50
RmlsdGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRTEyNTIzOTFBMTY2RkEwMDA4NjQ0ODAgLyog
UXVpY2tMb29rU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTBEQkY0NzE4RjkyMzE3MDAwRDcw
QzYgLyogUXVpY2tMb29rSGFuZGxlQ2xpZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI5NTYzLDcg
KzI5NTYzLDcgQEAKIAkJCQlDREVFMzkzNzE3OTc0MjU5MDAxRDc1ODAgLyogUHVibGljVVJMTWFu
YWdlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1NTBBMEJDOTA4NUY2MDM5MDA3MzUzRDYgLyog
UXVhbGlmaWVkTmFtZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0NDJBRjdBQTEwMkNEREVBMDA4
RkQ0RDMgLyogUXVpY2tMb29rLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJNDQzOTE3RkYxQTkxQjJG
ODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNDQz
OTE3RkYxQTkxQjJGODAwNkUwNEYyIC8qIGlvcy9RdWlja0xvb2tTb2Z0TGluay5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCTA3MkFFMUU2MTgzQzA3NDEwMDBBNTk4OCAvKiBRdWlja1RpbWVQbHVnaW5S
ZXBsYWNlbWVudC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTM3OUUzNzE2MTM3MzZBNjYwMEI5RTkx
OSAvKiBRdW90ZWRQcmludGFibGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNUE1NzRGMjgxMzFE
Qjk2RDAwNDcxQjg4IC8qIFF1b3Rlc0RhdGEuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCmluZGV4IGZjOTBmNjExNTYyMzFhNDFjYTkxMzdmMTdjNzk1NWU4ZDM3M2IwZWEuLjBjODg0
MGY2YWI1MTg1ZjgzNTRiNzA2MDNlMDI1ZjI1YTJhNzlmNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBA
IC00NCw2ICs0NCw3IEBAIEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcgPSBFTkFCTEVfQ0FDSEVf
UEFSVElUSU9OSU5HOwogRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwog
RU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORzsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBF
TkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgg
PSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKIEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9T
WU5UQVggPSBFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYOwogRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwpAQCAtMjE1LDQgKzIxNiw0
IEBAIEVOQUJMRV9KSVQgPSBFTkFCTEVfSklUOwogCiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9B
UklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVS
RV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURf
MkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5B
QkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9D
QUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNf
UFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lO
VEFYKSAkKEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVgpICQoRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNf
TEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1Nf
Q09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NT
X0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NT
U19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NF
TEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkg
JChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZ
KSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQ
T1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lU
RU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElP
TikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVM
XzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAk
KEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dF
T0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChF
TkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQo
RU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVf
VElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NT
U19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVO
QUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1M
KSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFC
TEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9S
X0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJM
RV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVS
X0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVO
QUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNU
X0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxF
X1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5B
QkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQ
RUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZ
UFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVO
QUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVO
VCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5B
QkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0sp
ICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQo
RU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQo
RU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJf
VElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQo
RU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfU0FU
VVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9E
RSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9M
TElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQp
ICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5B
QkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFC
TEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklO
RykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQo
RU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5H
KSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9V
VCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVT
T0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVW
RUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NT
UzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVf
Q1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFC
TEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFC
TEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJM
RV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FN
RVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikg
JChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05E
QVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJ
RV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
Ul9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAk
KEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVS
UFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVf
TUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAk
KEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VU
SUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElD
X1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05f
RlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5T
UEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJf
QkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhF
U0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFC
TEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBI
T05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxF
X1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9J
Q09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VM
RUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9E
QVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJH
TCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJf
U09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChF
TkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xU
KSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlP
VVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZwppbmRleCBmYzkwZjYxMTU2MjMxYTQxY2E5MTM3ZjE3Yzc5NTVlOGQzNzNiMGVhLi4wYzg4NDBm
NmFiNTE4NWY4MzU0YjcwNjAzZTAyNWYyNWEyYTc5ZjRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDQsNiAr
NDQsNyBAQCBFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HID0gRU5BQkxFX0NBQ0hFX1BBUlRJVElP
TklORzsKIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9D
QU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkc7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxF
X0VTNl9DTEFTU19TWU5UQVg7CiBFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYID0g
RU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRF
UklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKQEAgLTIxNSw0ICsyMTYsNCBAQCBFTkFC
TEVfSklUID0gRU5BQkxFX0pJVDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJ
QyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5F
UyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZB
UykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZf
Q0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFS
VElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAk
KEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChF
TkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRF
UklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIp
ICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lU
SU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xB
WU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
UkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNf
TEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxF
X0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFC
TEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChF
TkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChF
TkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5B
QkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQo
RU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVO
QUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVf
R0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElP
TikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lD
T05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9J
TkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FM
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
KSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9S
X1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZ
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVU
VEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFC
TEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxF
X01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1M
KSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5U
X1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAk
KEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVC
TElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJ
T05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVf
SU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJC
RVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lO
VEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChF
TkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVM
RVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5B
QkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VD
SF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VS
U0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJM
RV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9X
RUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9X
RUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykg
JChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9Y
U0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX1NBVFVSQVRFRF9M
QVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVB
VFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFU
RURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQo
RU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJM
RV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5W
QVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9U
RU1QTEFURV9MSVRFUkFMX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5B
QkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9D
U1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFC
TEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5B
QkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04p
ICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChF
TkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRf
TElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9T
Q0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFM
SVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJ
TFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VW
RU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNS
WVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9M
T0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQo
RU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxF
X0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0Up
ICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQo
RU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZF
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
X0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVf
SU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJM
RV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykg
JChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJF
RklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAk
KEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NP
TlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFU
SVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVf
TU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChF
TkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJP
TUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhf
TElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAk
KEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikg
JChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcp
ICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChF
TkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19G
T05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FE
SU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwp
ICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9W
QUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5B
QkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMp
ICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dF
QlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFC
TEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRI
TUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0
dXJlcy5jbWFrZQppbmRleCBlOTU5ZmJmNjFlZjg5ZGM2MzNhODUxYzJhOGU2ZmY1ODNmYzc0Mzky
Li5iNGMwZTQwNDBjMmZjZDg5ZmI1YzgxYjdkOWEzOTk5ZWE1MzFjNzJmIDEwMDY0NAotLS0gYS9T
b3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL1dlYktp
dEZlYXR1cmVzLmNtYWtlCkBAIC01OSw2ICs1OSw3IEBAIG1hY3JvKFdFQktJVF9PUFRJT05fQkVH
SU4pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NTU19TSEFQRVMgIlRvZ2dsZSBD
U1MgU2hhcGVzIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5F
KEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSAiVG9nZ2xlIGN1cnNvciB2aXNpYmlsaXR5IHN1cHBv
cnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DVVNUT01f
U0NIRU1FX0hBTkRMRVIgIlRvZ2dsZSBDdXN0b20gU2NoZW1lIEhhbmRsZXIgc3VwcG9ydCIgUFJJ
VkFURSBPRkYpCisgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0VTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCAiVG9nZ2xlIEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXggc3VwcG9ydCIgT04p
CiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUICJUb2dn
bGUgZGFzaGJvYXJkIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVG
SU5FKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFICJUb2dnbGUgZGF0YWN1ZSB2YWx1ZSBzdXBwb3J0IiBQ
UklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfREFUQUxJU1RfRUxF
TUVOVCAiVG9nZ2xlIEhUTUw1IGRhdGFsaXN0IHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQpAQCAtMTY4
LDcgKzE2OSw2IEBAIG1hY3JvKFdFQktJVF9PUFRJT05fQkVHSU4pCiAgICAgV0VCS0lUX09QVElP
Tl9ERUZJTkUoRU5BQkxFX1hIUl9USU1FT1VUICJUb2dnbGUgWEhSIHRpbWVvdXQgc3VwcG9ydCIg
UFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1hTTFQgIlRvZ2ds
ZSBYU0xUIHN1cHBvcnQiIFBSSVZBVEUgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoVVNF
X1NZU1RFTV9NQUxMT0MgIlRvZ2dsZSBzeXN0ZW0gYWxsb2NhdG9yIGluc3RlYWQgb2YgV2ViS2l0
J3MgY3VzdG9tIGFsbG9jYXRvciIgUFJJVkFURSBPRkYpCi0KICAgICBXRUJLSVRfT1BUSU9OX0RF
UEVORChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyIEVOQUJMRV9WSURFTykKICAgICBXRUJLSVRf
T1BUSU9OX0RFUEVORChFTkFCTEVfREZHX0pJVCBFTkFCTEVfSklUKQogICAgIFdFQktJVF9PUFRJ
T05fREVQRU5EKEVOQUJMRV9GVExfTkFUSVZFX0NBTExfSU5MSU5JTkcgRU5BQkxFX0ZUTF9KSVQp
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0gYi9U
b29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KaW5kZXggYjBkNWFhMWIzYmM0
NDhkNmQyNjEyNzBhNWZiNTgxNDAzNDY1ZjVmNS4uNDBjMTE1ZTNiM2U0YmE0NzUyYTcxZDM4ZDFm
ZWEyMjdlZTIwZDEyNyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1
cmVMaXN0LnBtCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQpA
QCAtNDQsNiArNDQsNyBAQCBCRUdJTiB7CiBteSAoCiAgICAgJHRocmVlRFRyYW5zZm9ybXNTdXBw
b3J0LAogICAgICRhY2NlbGVyYXRlZDJEQ2FudmFzU3VwcG9ydCwKKyAgICAkYXJyb3dmdW5jdGlv
blN5bnRheCwKICAgICAkYXR0YWNobWVudEVsZW1lbnRTdXBwb3J0LAogICAgICRiYXR0ZXJ5U3Rh
dHVzU3VwcG9ydCwKICAgICAkY2FudmFzUGF0aFN1cHBvcnQsCkBAIC0xNTYsOSArMTU3LDEzIEBA
IG15IEBmZWF0dXJlcyA9ICgKICAgICB7IG9wdGlvbiA9PiAiYWNjZWxlcmF0ZWQtMmQtY2FudmFz
IiwgZGVzYyA9PiAiVG9nZ2xlIEFjY2VsZXJhdGVkIDJEIENhbnZhcyBzdXBwb3J0IiwKICAgICAg
IGRlZmluZSA9PiAiRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUyIsIGRlZmF1bHQgPT4gaXNH
dGsoKSwgdmFsdWUgPT4gXCRhY2NlbGVyYXRlZDJEQ2FudmFzU3VwcG9ydCB9LAogCisgICAgeyBv
cHRpb24gPT4gImFycm93ZnVuY3Rpb24tc3ludGF4IiwgZGVzYyA9PiAiVG9nZ2xlIEVTNiBhcnJv
dyBmdW5jdGlvbiBzeW50YXggc3VwcG9ydCIsCisgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9FUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgiLCBkZWZhdWx0ID0+IDEsIHZhbHVlID0+IFwkYXJyb3dmdW5j
dGlvblN5bnRheCB9LAorCiAgICAgeyBvcHRpb24gPT4gImF0dGFjaG1lbnQtZWxlbWVudCIsIGRl
c2MgPT4gIlRvZ2dsZSBBdHRhY2htZW50IEVsZW1lbnQgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUg
PT4gIkVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQiLCBkZWZhdWx0ID0+IDAsIHZhbHVlID0+IFwk
YXR0YWNobWVudEVsZW1lbnRTdXBwb3J0IH0sCiAKKwogICAgIHsgb3B0aW9uID0+ICJiYXR0ZXJ5
LXN0YXR1cyIsIGRlc2MgPT4gIlRvZ2dsZSBCYXR0ZXJ5IFN0YXR1cyBzdXBwb3J0IiwKICAgICAg
IGRlZmluZSA9PiAiRU5BQkxFX0JBVFRFUllfU1RBVFVTIiwgZGVmYXVsdCA9PiBpc0VmbCgpLCB2
YWx1ZSA9PiBcJGJhdHRlcnlTdGF0dXNTdXBwb3J0IH0sCiAKZGlmZiAtLWdpdCBhL0NoYW5nZUxv
ZyBiL0NoYW5nZUxvZwppbmRleCBiYWJkYjdkMTFjMzExMzRlYzUwNmZlYTA1YzcyMTJhMWFlNWFj
ZjgyLi43ZTM0NjI3YTgwYjdlMGYwODJiMzc5OWNiODNiNThmNTk1NDY2NTA3IDEwMDY0NAotLS0g
YS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTUtMDQtMTcg
ICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgW0VT
Nl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQorCisgICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIHRvIHN3
aXRjaCBvbi9vZmYgZXM2IGFycm93IGZ1bmN0aW9uIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgKKworICAgICAgICAgKiBTb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2U6Cisg
ICAgICAgICAqIFNvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlOgorCiAyMDE1LTA0LTMwICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBbQ01ha2VdIEF1
dG9tYXRpY2FsbHkgZXhwb3NlIFdURl9VU0VfRk9PIHRvIHRoZSBidWlsZCB3aGVuIFVTRV9GT08g
aXMgZXhwb3NlZApkaWZmIC0tZ2l0IGEvV2ViS2l0Lnhjd29ya3NwYWNlL3hjc2hhcmVkZGF0YS9X
ZWJLaXQueGNjaGVja291dCBiL1dlYktpdC54Y3dvcmtzcGFjZS94Y3NoYXJlZGRhdGEvV2ViS2l0
LnhjY2hlY2tvdXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDY3OGZmMDZjMTEwNzMzZTFmNmEzOGIzZTYyZTc3MDRm
OTZhNDg0NwotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdC54Y3dvcmtzcGFjZS94Y3NoYXJlZGRh
dGEvV2ViS2l0LnhjY2hlY2tvdXQKQEAgLTAsMCArMSw0MSBAQAorPD94bWwgdmVyc2lvbj0iMS4w
IiBlbmNvZGluZz0iVVRGLTgiPz4KKzwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9E
VEQgUExJU1QgMS4wLy9FTiIgImh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0
LTEuMC5kdGQiPgorPHBsaXN0IHZlcnNpb249IjEuMCI+Cis8ZGljdD4KKwk8a2V5PklERVNvdXJj
ZUNvbnRyb2xQcm9qZWN0RmF2b3JpdGVEaWN0aW9uYXJ5S2V5PC9rZXk+CisJPGZhbHNlLz4KKwk8
a2V5PklERVNvdXJjZUNvbnRyb2xQcm9qZWN0SWRlbnRpZmllcjwva2V5PgorCTxzdHJpbmc+MEZG
QUJDRUEtQjAyOC00NTFBLUIxQTQtMjg2QTg4QTFDRTBDPC9zdHJpbmc+CisJPGtleT5JREVTb3Vy
Y2VDb250cm9sUHJvamVjdE5hbWU8L2tleT4KKwk8c3RyaW5nPldlYktpdDwvc3RyaW5nPgorCTxr
ZXk+SURFU291cmNlQ29udHJvbFByb2plY3RPcmlnaW5zRGljdGlvbmFyeTwva2V5PgorCTxkaWN0
PgorCQk8a2V5Pjk0RDc1Mzk1MzA0MDEyMkY3NkQzMEZDMTQ2NEIxQjREQ0U0MzZGNTg8L2tleT4K
KwkJPHN0cmluZz5naXQ6Ly9naXQud2Via2l0Lm9yZy9XZWJLaXQuZ2l0PC9zdHJpbmc+CisJPC9k
aWN0PgorCTxrZXk+SURFU291cmNlQ29udHJvbFByb2plY3RQYXRoPC9rZXk+CisJPHN0cmluZz5X
ZWJLaXQueGN3b3Jrc3BhY2U8L3N0cmluZz4KKwk8a2V5PklERVNvdXJjZUNvbnRyb2xQcm9qZWN0
UmVsYXRpdmVJbnN0YWxsUGF0aERpY3Rpb25hcnk8L2tleT4KKwk8ZGljdD4KKwkJPGtleT45NEQ3
NTM5NTMwNDAxMjJGNzZEMzBGQzE0NjRCMUI0RENFNDM2RjU4PC9rZXk+CisJCTxzdHJpbmc+Li48
L3N0cmluZz4KKwk8L2RpY3Q+CisJPGtleT5JREVTb3VyY2VDb250cm9sUHJvamVjdFVSTDwva2V5
PgorCTxzdHJpbmc+Z2l0Oi8vZ2l0LndlYmtpdC5vcmcvV2ViS2l0LmdpdDwvc3RyaW5nPgorCTxr
ZXk+SURFU291cmNlQ29udHJvbFByb2plY3RWZXJzaW9uPC9rZXk+CisJPGludGVnZXI+MTExPC9p
bnRlZ2VyPgorCTxrZXk+SURFU291cmNlQ29udHJvbFByb2plY3RXQ0NJZGVudGlmaWVyPC9rZXk+
CisJPHN0cmluZz45NEQ3NTM5NTMwNDAxMjJGNzZEMzBGQzE0NjRCMUI0RENFNDM2RjU4PC9zdHJp
bmc+CisJPGtleT5JREVTb3VyY2VDb250cm9sUHJvamVjdFdDQ29uZmlndXJhdGlvbnM8L2tleT4K
Kwk8YXJyYXk+CisJCTxkaWN0PgorCQkJPGtleT5JREVTb3VyY2VDb250cm9sUmVwb3NpdG9yeUV4
dGVuc2lvbklkZW50aWZpZXJLZXk8L2tleT4KKwkJCTxzdHJpbmc+cHVibGljLnZjcy5naXQ8L3N0
cmluZz4KKwkJCTxrZXk+SURFU291cmNlQ29udHJvbFdDQ0lkZW50aWZpZXJLZXk8L2tleT4KKwkJ
CTxzdHJpbmc+OTRENzUzOTUzMDQwMTIyRjc2RDMwRkMxNDY0QjFCNERDRTQzNkY1ODwvc3RyaW5n
PgorCQkJPGtleT5JREVTb3VyY2VDb250cm9sV0NDTmFtZTwva2V5PgorCQkJPHN0cmluZz5XZWJr
aXQyPC9zdHJpbmc+CisJCTwvZGljdD4KKwk8L2FycmF5PgorPC9kaWN0PgorPC9wbGlzdD4KZGlm
ZiAtLWdpdCBhL1dlYktpdC54Y3dvcmtzcGFjZS94Y3NoYXJlZGRhdGEveGNzY2hlbWVzL0FsbCBT
b3VyY2UgKHRhcmdldCBXZWJQcm9jZXNzKS54Y3NjaGVtZSBiL1dlYktpdC54Y3dvcmtzcGFjZS94
Y3NoYXJlZGRhdGEveGNzY2hlbWVzL0FsbCBTb3VyY2UgKHRhcmdldCBXZWJQcm9jZXNzKS54Y3Nj
aGVtZQppbmRleCA1NWFhZGZmY2M5ZWUxOGE4ZGU0YmNhNjRiY2M5NzYwYWUzZmM0YzBlLi5lZWUz
ZDgxZWMxM2UzNTRlMDdiOWU0NDk0NzAzMDNjMjBmMDIxOTJiIDEwMDY0NAotLS0gYS9XZWJLaXQu
eGN3b3Jrc3BhY2UveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9BbGwgU291cmNlICh0YXJnZXQgV2Vi
UHJvY2VzcykueGNzY2hlbWUJCisrKyBiL1dlYktpdC54Y3dvcmtzcGFjZS94Y3NoYXJlZGRhdGEv
eGNzY2hlbWVzL0FsbCBTb3VyY2UgKHRhcmdldCBXZWJQcm9jZXNzKS54Y3NjaGVtZQkKQEAgLTEx
Niw3ICsxMTYsNyBAQAogICAgICAgICAgICAgPEJ1aWxkYWJsZVJlZmVyZW5jZQogICAgICAgICAg
ICAgICAgQnVpbGRhYmxlSWRlbnRpZmllciA9ICJwcmltYXJ5IgogICAgICAgICAgICAgICAgQmx1
ZXByaW50SWRlbnRpZmllciA9ICI5Mzk4MTAwQTA4MjRCRjAxMDA4REYwMzgiCi0gICAgICAgICAg
ICAgICBCdWlsZGFibGVOYW1lID0gIldlYktpdExlZ2FjeS5mcmFtZXdvcmsiCisgICAgICAgICAg
ICAgICBCdWlsZGFibGVOYW1lID0gIi5mcmFtZXdvcmsiCiAgICAgICAgICAgICAgICBCbHVlcHJp
bnROYW1lID0gIldlYktpdExlZ2FjeSIKICAgICAgICAgICAgICAgIFJlZmVyZW5jZWRDb250YWlu
ZXIgPSAiY29udGFpbmVyOlNvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvaiI+CiAgICAgICAg
ICAgICA8L0J1aWxkYWJsZVJlZmVyZW5jZT4KQEAgLTE0OCw3ICsxNDgsNyBAQAogICAgICAgICAg
PEJ1aWxkYWJsZVJlZmVyZW5jZQogICAgICAgICAgICAgQnVpbGRhYmxlSWRlbnRpZmllciA9ICJw
cmltYXJ5IgogICAgICAgICAgICAgQmx1ZXByaW50SWRlbnRpZmllciA9ICIxQTUwREIxRDExMEEz
QkRDMDAwRDNGRTUiCi0gICAgICAgICAgICBCdWlsZGFibGVOYW1lID0gIldlYlByb2Nlc3MuYXBw
IgorICAgICAgICAgICAgQnVpbGRhYmxlTmFtZSA9ICIuYXBwIgogICAgICAgICAgICAgQmx1ZXBy
aW50TmFtZSA9ICJXZWJQcm9jZXNzIgogICAgICAgICAgICAgUmVmZXJlbmNlZENvbnRhaW5lciA9
ICJjb250YWluZXI6U291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2oiPgogICAgICAgICAg
PC9CdWlsZGFibGVSZWZlcmVuY2U+CkBAIC0xNjMsMTEgKzE2MywxMiBAQAogICAgICAgaWdub3Jl
c1BlcnNpc3RlbnRTdGF0ZU9uTGF1bmNoID0gIk5PIgogICAgICAgZGVidWdEb2N1bWVudFZlcnNp
b25pbmcgPSAiWUVTIgogICAgICAgYWxsb3dMb2NhdGlvblNpbXVsYXRpb24gPSAiWUVTIj4KLSAg
ICAgIDxCdWlsZGFibGVQcm9kdWN0UnVubmFibGU+CisgICAgICA8QnVpbGRhYmxlUHJvZHVjdFJ1
bm5hYmxlCisgICAgICAgICBydW5uYWJsZURlYnVnZ2luZ01vZGUgPSAiMCI+CiAgICAgICAgICA8
QnVpbGRhYmxlUmVmZXJlbmNlCiAgICAgICAgICAgICBCdWlsZGFibGVJZGVudGlmaWVyID0gInBy
aW1hcnkiCiAgICAgICAgICAgICBCbHVlcHJpbnRJZGVudGlmaWVyID0gIjFBNTBEQjFEMTEwQTNC
REMwMDBEM0ZFNSIKLSAgICAgICAgICAgIEJ1aWxkYWJsZU5hbWUgPSAiV2ViUHJvY2Vzcy5hcHAi
CisgICAgICAgICAgICBCdWlsZGFibGVOYW1lID0gIi5hcHAiCiAgICAgICAgICAgICBCbHVlcHJp
bnROYW1lID0gIldlYlByb2Nlc3MiCiAgICAgICAgICAgICBSZWZlcmVuY2VkQ29udGFpbmVyID0g
ImNvbnRhaW5lcjpTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvaiI+CiAgICAgICAgICA8
L0J1aWxkYWJsZVJlZmVyZW5jZT4KZGlmZiAtLWdpdCBhL1dlYktpdC54Y3dvcmtzcGFjZS94Y3No
YXJlZGRhdGEveGNzY2hlbWVzL0FsbCBTb3VyY2UueGNzY2hlbWUgYi9XZWJLaXQueGN3b3Jrc3Bh
Y2UveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9BbGwgU291cmNlLnhjc2NoZW1lCmluZGV4IDIyM2U4
OGJiYzQwZTU5YTJlM2Y0NzY2MjFjZDMyMGZjZjViZTUzZmUuLjY1M2IzNGQzYTUwYjE1NDYwZGM3
MDE5ODQyMzViZDViOTVkMTAxNDggMTAwNjQ0Ci0tLSBhL1dlYktpdC54Y3dvcmtzcGFjZS94Y3No
YXJlZGRhdGEveGNzY2hlbWVzL0FsbCBTb3VyY2UueGNzY2hlbWUJCisrKyBiL1dlYktpdC54Y3dv
cmtzcGFjZS94Y3NoYXJlZGRhdGEveGNzY2hlbWVzL0FsbCBTb3VyY2UueGNzY2hlbWUJCkBAIC0x
MTYsNyArMTE2LDcgQEAKICAgICAgICAgICAgIDxCdWlsZGFibGVSZWZlcmVuY2UKICAgICAgICAg
ICAgICAgIEJ1aWxkYWJsZUlkZW50aWZpZXIgPSAicHJpbWFyeSIKICAgICAgICAgICAgICAgIEJs
dWVwcmludElkZW50aWZpZXIgPSAiOTM5ODEwMEEwODI0QkYwMTAwOERGMDM4IgotICAgICAgICAg
ICAgICAgQnVpbGRhYmxlTmFtZSA9ICJXZWJLaXRMZWdhY3kuZnJhbWV3b3JrIgorICAgICAgICAg
ICAgICAgQnVpbGRhYmxlTmFtZSA9ICIuZnJhbWV3b3JrIgogICAgICAgICAgICAgICAgQmx1ZXBy
aW50TmFtZSA9ICJXZWJLaXRMZWdhY3kiCiAgICAgICAgICAgICAgICBSZWZlcmVuY2VkQ29udGFp
bmVyID0gImNvbnRhaW5lcjpTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2oiPgogICAgICAg
ICAgICAgPC9CdWlsZGFibGVSZWZlcmVuY2U+CkBAIC0xNjMsNyArMTYzLDggQEAKICAgICAgIGln
bm9yZXNQZXJzaXN0ZW50U3RhdGVPbkxhdW5jaCA9ICJZRVMiCiAgICAgICBkZWJ1Z0RvY3VtZW50
VmVyc2lvbmluZyA9ICJZRVMiCiAgICAgICBhbGxvd0xvY2F0aW9uU2ltdWxhdGlvbiA9ICJZRVMi
PgotICAgICAgPEJ1aWxkYWJsZVByb2R1Y3RSdW5uYWJsZT4KKyAgICAgIDxCdWlsZGFibGVQcm9k
dWN0UnVubmFibGUKKyAgICAgICAgIHJ1bm5hYmxlRGVidWdnaW5nTW9kZSA9ICIwIj4KICAgICAg
ICAgIDxCdWlsZGFibGVSZWZlcmVuY2UKICAgICAgICAgICAgIEJ1aWxkYWJsZUlkZW50aWZpZXIg
PSAicHJpbWFyeSIKICAgICAgICAgICAgIEJsdWVwcmludElkZW50aWZpZXIgPSAiOEQxMTA3MjYw
NDg2Q0VCODAwRTQ3MDkwIgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252184</attachid>
            <date>2015-05-01 16:00:54 -0700</date>
            <delta_ts>2015-05-01 16:19:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150502015938.patch</filename>
            <type>text/plain</type>
            <size>213081</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzNjk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
MmJmOGRiNzU1MGVjYTRlZWEwNTMwZDk0M2ZjYmVjNmQzMmIyODQ5Li5mNjNmYzlmOTg3ZDViNDhh
MmY5Y2M5NjBjNjRkMmQwYTBmN2RhOTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMDAgQEAKKzIwMTUtMDUtMDEgQWxla3NhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5
bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQw
ODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4
ZWQgY29tbWVudHMgZnJvbSByZXZpZXcgYW5kIGFsc28gYWRkZWQgc3VwcG9ydCBvZiBGVEwgYW5k
IERGRyBjb21waWxlIG1vZGUuIAorICAgICAgICBUbyBmb3JjZSB3b3JrIGNvcnJlY3RseSBpbiBE
RkcgbW9kZSB3YXMgYWRkZWQgcGFyYW1ldGVyIHRoYXQgcHJldmVudHMgaW5saW5lIAorICAgICAg
ICBhbmQgY29tcGlsZSBhcnJvdyBmdW5jdGlvbiBpbiBERkcgbW9kZS4KKworCisgICAgICAgICog
ZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkRGRzo6
QWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKToK
KyAgICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpERkc6
OkJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKToKKyAgICAgICAgKiBkZmcvREZHQ2FwYWJpbGl0
aWVzLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpjYXBhYmlsaXR5TGV2ZWwpOgorICAgICAgICAq
IGRmZy9ERkdDbG9iYmVyaXplLmg6CisgICAgICAgIChKU0M6OkRGRzo6Y2xvYmJlcml6ZSk6Cisg
ICAgICAgICogZGZnL0RGR0RvZXNHQy5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6ZG9lc0dDKToK
KyAgICAgICAgKiBkZmcvREZHRml4dXBQaGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Rml4
dXBQaGFzZTo6Zml4dXBOb2RlKToKKyAgICAgICAgKiBkZmcvREZHTm9kZS5oOgorICAgICAgICAo
SlNDOjpERkc6Ok5vZGU6Omhhc0NlbGxPcGVyYW5kKToKKyAgICAgICAgKiBkZmcvREZHTm9kZVR5
cGUuaDoKKyAgICAgICAgKiBkZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwOgor
ICAgICAgICAoSlNDOjpERkc6OlByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlOjpwcm9wYWdhdGUp
OgorICAgICAgICAqIGRmZy9ERkdTYWZlVG9FeGVjdXRlLmg6CisgICAgICAgIChKU0M6OkRGRzo6
c2FmZVRvRXhlY3V0ZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmg6CisgICAg
ICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNhbGxPcGVyYXRpb24pOgorICAgICAgICAq
IGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVj
dWxhdGl2ZUpJVDo6Y29tcGlsZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQu
Y3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAg
ICAgKiBkZmcvREZHU3RydWN0dXJlUmVnaXN0cmF0aW9uUGhhc2UuY3BwOgorICAgICAgICAoSlND
OjpERkc6OlN0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlOjpydW4pOgorICAgICAgICAqIGZ0bC9G
VExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmNwcDoKKyAgICAgICAgKiBmdGwvRlRMQWJzdHJhY3RI
ZWFwUmVwb3NpdG9yeS5oOgorICAgICAgICAqIGZ0bC9GVExDYXBhYmlsaXRpZXMuY3BwOgorICAg
ICAgICAoSlNDOjpGVEw6OmNhbkNvbXBpbGUpOgorICAgICAgICAqIGZ0bC9GVExJbnRyaW5zaWNS
ZXBvc2l0b3J5Lmg6CisgICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcDoKKyAgICAg
ICAgKEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZU5vZGUpOgorICAgICAgICAoSlND
OjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlTmV3QXJyb3dGdW5jdGlvbik6CisgICAgICAg
ICogaml0L0pJVE9wZXJhdGlvbnMuY3BwOgorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmg6
CisgICAgICAgICogbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwOgorICAgICAgICAoSlNDOjpMTElu
dDo6TExJTlRfU0xPV19QQVRIX0RFQ0wpOgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJvd0Z1bmN0
aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6YXJyb3dGdW5jdGlvbkNhbGwpOgorICAgICAgICAoSlND
OjpKU0Fycm93RnVuY3Rpb246OkpTQXJyb3dGdW5jdGlvbik6CisgICAgICAgIChKU0M6OkpTQXJy
b3dGdW5jdGlvbjo6Y3JlYXRlV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludCk6
CisgICAgICAgIChKU0M6OkpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKEpTQzo6
SlNBcnJvd0Z1bmN0aW9uOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChKU0M6OkpTQXJyb3dG
dW5jdGlvbjo6dmlzaXRDaGlsZHJlbik6CisgICAgICAgICogcnVudGltZS9KU0Fycm93RnVuY3Rp
b24uaDoKKyAgICAgICAgKEpTQzo6SlNBcnJvd0Z1bmN0aW9uOjphbGxvY2F0aW9uU2l6ZSk6Cisg
ICAgICAgIChKU0M6OkpTQXJyb3dGdW5jdGlvbjo6YXJyb3dGdW5jdGlvbik6CisgICAgICAgIChK
U0M6OkpTQXJyb3dGdW5jdGlvbjo6Ym91bmRUaGlzKToKKyAgICAgICAgKEpTQzo6SlNBcnJvd0Z1
bmN0aW9uOjpvZmZzZXRPZlRoaXNWYWx1ZSk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93
ZnVuY3Rpb24tYXNwYXJhbXRlci0xLmpzOiBSZW5hbWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzcGFyYW10ZXIuanMuCisgICAgICAgICog
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci0yLmpzOiBBZGRlZC4KKyAgICAg
ICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ib3VuZC5qczogQWRkZWQuCisgICAgICAg
ICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY2FsbC5qczogQWRkZWQuCisgICAgICAgICog
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY29uc3RydWN0b3IuanM6CisgICAgICAgICogdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC1hcmd1bWVudHMuanM6IEFkZGVkLgorICAg
ICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtdGhpcy0xLmpzOiBSZW5h
bWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LWxleGljYWx0aGlzLTEuanMuCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
bGV4aWNhbC10aGlzLTIuanM6IFJlbmFtZWQgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbHRoaXMuanMuCisgICAgICAgICogdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTEuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMC0yLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAwMDAtMS5qczogQWRkZWQuCisgICAgICAgICog
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwMDAwLTIuanM6IEFkZGVkLgorICAgICAg
ICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXN5bnRheC5qczogQWRkZWQuCisgICAgICAg
ICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24uanM6IFJlbW92ZWQuCisKKzIwMTUtMDQtMTcg
IEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKyAgICAgICAgU21hbGwg
cmVmYWN0b3Jpbmcgb2YgdGhlIHBhcmNlci5jcHAgZmlsZS4gSXQgaXMgbmVjZXNzYXJ5IHRvIGlu
Y3JlYXNlIHJlYWRhYmlsaXR5IG9mIHRoZSBwYXRjaAorICAgICAgICB3aXRoIEVTNiBBcnJvdyBm
dW5jdGlvbiBpbXBsZW1lbnRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmg6CisgICAg
ICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisKKzIwMTUtMDQtMTMgIEFsZXhhbmRyIFNrYWNoa292
ICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBh
cnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkZWQgc3VwcG9ydCBvZiBFUzYgYXJyb3cgZnVuY3Rpb24uIENoYW5n
ZXMgd2VyZSBtYWRlIGFjY29yZGluZyBmb2xsb3dpbmcgc3BlYyBodHRwOi8vd2lraS5lY21hc2Ny
aXB0Lm9yZy9kb2t1LnBocD9pZD1oYXJtb255OmFycm93X2Z1bmN0aW9uX3N5bnRheAorICAgICAg
ICBJbiBwYXRjaCB3ZXJlIGltcGxlbWVudGVkIHRoZSBzaW1wbGVzdCBjYXNlczoKKyAgICAgICAg
ICAxIG5vIHBhcmFtZXRlcnMgICAgICAgICAgICAgICAgKCkgPT4gMTAgKyAyMAorICAgICAgICAg
IDIgc2luZ2xlIHBhcmFtZXRlciAgICAgICAgICAgICAgeCA9PiB4ICsgMjAKKyAgICAgICAgICAz
IG11bHRpcGxlIHBhcmFtZXRlcnMgICAgICAoeCwgeSkgPT4geCArIHkKKyAgICAgICAgICA0IGFy
cm93IGZ1bmN0aW9uIHdpdGggYmxvY2sgICAgIHggPT4geyByZXR1cm4geCoxMDsgfQorICAgICAg
ICAgIDUgbGV4aWNhbCB0aGlzIC0gdmFyaWFibGUgdGhpcyBpcyBwb2ludCB0byB0aGUgdGhpcyBv
ZiB0aGUgZnVuY3Rpb24gd2hlcmUgYXJyb3cgZnVuY3Rpb24gaXMgZGVjbGFyZWQKKyAgICAgICAg
ICA2IE5vIGNvbnN0cnVjdG9yIC0gdGhlIHVzaW5nIG9mIHRoZSBjb21tYW5kIG5ldyBmb3IgYXJy
b3cgZnVuY3Rpb24gbGVhZHMgdG8gcnVudGltZSBlcnJvci4gCisKKyAgICAgICAgIE5vdCB5ZXQg
aW1wbGVtZW50ZWQ6CisgICAgICAgICAgMSBsZXhpY2FsIGJpbmQgb2YgdGhlIGFyZ3VtZW50cyAm
IHN1cGVyCisgICAgICAgICAgMiBJbnNpZGUgYW4gYXJyb3cgZnVuY3Rpb24sIG5ldy50YXJnZXQg
cmVmZXJzIHRvIHRoZSBuZXcudGFyZ2V0IG9mIHRoZSBzdXJyb3VuZGluZyBub24tYXJyb3cgZnVu
Y3Rpb24uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHBy
b2o6CisgICAgICAgICogYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb246CisgICAgICAgICogYnl0
ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaDoKKyAgICAgICAgKEpTQzo6RnVuY3Rvcjo6Y29tcHV0ZVVz
ZXNGb3JCeXRlY29kZU9mZnNldCk6CisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoK
KyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpkdW1wQnl0ZWNvZGUpOgorICAgICAgICAqIGJ5dGVj
b21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oOgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRl
Y29kZUdlbmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0
TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24pOiBhZGRlZAorICAgICAgICAoSlNDOjpCeXRlY29k
ZUdlbmVyYXRvcjo6ZW1pdFRoaXNOb2RlQnl0ZWNvZGUpOiBhZGRlZAorICAgICAgICAqIGJ5dGVj
b21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgorICAgICAgICAoSlNDOjplbWl0Qnl0ZWNvZGU6OmVt
aXRCeXRlY29kZSk6IGFkZGVkCisgICAgICAgIChKU0M6OkFycm93RnVuY0V4cHJOb2RlOjplbWl0
Qnl0ZWNvZGUpOiBhZGRlZAorICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6Cisg
ICAgICAgIChKU0M6OkJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKToKKyAgICAgICAgKiBkZmcv
REZHQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAgICAgKEpTQzo6Q2FwYWJpbGl0eUxldmVsOjpjYXBh
YmlsaXR5TGV2ZWwpOgorICAgICAgICAqIGppdC9KSVQuaDoKKyAgICAgICAgKEpTQzo6SklUOjpl
bWl0X29wX25ld19hcnJvd19mdW5jX2V4cCk6IGFkZGVkCisgICAgICAgICogaml0L0pJVElubGlu
ZXMuaDoKKyAgICAgICAgKEpTQzo6SklUOjpjYWxsT3BlcmF0aW9uKTogYWRkZWQKKyAgICAgICAg
KiBqaXQvSklULmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNz
KToKKyAgICAgICAgKiBqaXQvSklUT3Bjb2Rlcy5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6ZW1p
dF9vcF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRPcGVyYXRp
b25zLmNwcDoKKyAgICAgICAgKEpTQzo6SklUX09QRVJBVElPTjo6b3BlcmF0aW9uTmV3QXJyb3dG
dW5jdGlvbik6IGFkZGVkCisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMuaDoKKyAgICAgICAg
KEpTQzo6SklUX09QRVJBVElPTjo6b3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbik6IGFkZGVkCisg
ICAgICAgICogbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwOgorICAgICAgICAoTExJTlRfU0xPV19Q
QVRIX0RFQ0woc2xvd19wYXRoX25ld19hcnJvd19mdW5jX2V4cCk6IGFkZGVkCisgICAgICAgICog
bGxpbnQvTExJbnRTbG93UGF0aHMuaDoKKyAgICAgICAgKExMSU5UX1NMT1dfUEFUSF9ERUNMKHNs
b3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApKTogYWRkZWQKKyAgICAgICAgKiBsbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbToKKyAgICAgICAgKiBwYXJzZXIvQVNUQnVpbGRlci5oOgorICAg
ICAgICAoSlNDOjpBU1RCdWlsZGVyOjpjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcik6CisgICAgICAg
ICogcGFyc2VyL0xleGVyLmNwcDoKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OnNldFRva2VuUG9z
aXRpb24pOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6bGV4KToKKyAgICAgICAgKiBwYXJzZXIv
TGV4ZXIuaDoKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24pOgorICAg
ICAgICAqIHBhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmg6CisgICAgICAgIChKU0M6OkFycm93RnVu
Y0V4cHJOb2RlOjpBcnJvd0Z1bmNFeHByTm9kZSk6IGFkZGVkCisgICAgICAgICogcGFyc2VyL05v
ZGVzLmg6CisgICAgICAgIChKU0M6Ok5vZGU6OmlzQXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZAor
ICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHByTm9kZSk6IGFkZGVkIGNsYXNzCisgICAgICAgICog
cGFyc2VyL1BhcnNlci5jcHA6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZVNvdXJjZUVsZW1lbnRzKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNl
UHJpbWFyeUV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU291cmNlRWxl
bWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VTdGF0ZW1lbnQpOgorICAgICAgICAo
SlNDOjpQYXJzZXI6OnBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQ
YXJzZXI6OnBhcnNlUHJpbWFyeUV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBh
cnNlQXJyb3dFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpzZXRFbmRPZlN0YXRl
bWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcik6
CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uSW5mbyk6CisgICAgICAg
IChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uQm9keSk6CisgICAgICAgICogcGFyc2Vy
L1BhcnNlci5oOgorICAgICAgICAoSlNDOjpQYXJzZXI6OkZ1bmN0aW9uUGFyc2VUeXBlKToKKyAg
ICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZVNvdXJjZUVsZW1lbnQpOgorICAgICAgICAoSlNDOjpQ
YXJzZXI6OnBhcnNlU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93
RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6c2V0RW5kT2ZTdGF0ZW1lbnQpOgor
ICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIpOgorICAgICAg
ICAqIHBhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaDoKKyAgICAgICAgKiBwYXJzZXIvUGFyc2Vy
VG9rZW5zLmg6CisgICAgICAgIChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6YXJyb3dGdW5jdGlv
bk9mZnNldCk6IGFkZGVkCisgICAgICAgIChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6aXNBcnJv
d0Z1bmN0aW9uKTogYWRkZWQKKyAgICAgICAgKEpTQzo6UGFyc2VyRnVuY3Rpb25JbmZvOjphcnJv
d0Z1bmN0aW9uQm9keVR5cGUpOiBhZGRlZAorICAgICAgICAqIHBhcnNlci9Tb3VyY2VDb2RlLmg6
CisgICAgICAgIChKU0M6OlNvdXJjZUNvZGU6OnN1YkFycm93RXhwcmVzc2lvbik6CisgICAgICAg
ICogcGFyc2VyL1N5bnRheENoZWNrZXIuaDoKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6
Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIpOgorICAgICAgICAqIHBhcnNlci9Tb3VyY2VQcm92aWRl
ckNhY2hlSXRlbToKKyAgICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlv
blBhcmFtZXRlcnMpOgorICAgICAgICAoSlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbSk6Cisg
ICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjplbmRBcnJvd0Z1bmN0aW9uVG9r
ZW4pOgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmg6IGFkZGVkIGNsYXNzIGZv
ciBoYW5kbGUgYXJyb3cgZnVuY3Rpb24gY3JlYXRpb24gYW5kIGV4ZWN1dGlvbgorICAgICAgICAq
IHJ1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcDoKKyAgICAgICAgKiBydW50aW1lL0pTRnVuY3Rp
b24uaDoKKyAgICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6SlNGdW5jdGlvbik6IGFkZGVkIG9uZSBt
b3JlIGNvbnN0cnVjdG9yCisgICAgICAgICogcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oOgor
ICAgICAgICAoSlNDOjpKU0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKTogYWRkZWQgY29uc3RydWN0b3Ig
aW1wbGVtZW50YXRpb24KKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAg
ICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmluaXQpOgorICAgICAgICAoSlNDOjpKU0dsb2Jh
bE9iamVjdDo6bV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKTogYWRkZWQKKyAgICAgICAgKEpTQzo6
SlNHbG9iYWxPYmplY3Q6OmFycm93RnVuY3Rpb25TdHJ1Y3R1cmUpOgorICAgICAgICAqIHRlc3Rz
L3N0cmVzcy9qcy9hcnJvd2Z1bmN0aW9uLmpzOgorCiAyMDE1LTA0LTEyICBBbGV4YW5kciBTa2Fj
aGtvdiAgPGdza2FjaGtvdkBnbWFpbC5jb20+CiAgICAgICAgIFNtYWxsIHJlZmFjdG9yaW5nIG9m
IHRoZSBwYXJjZXIuY3BwIGZpbGUuIEl0IGlzIG5lY2Vzc2FyeSB0byBpbmNyZWFzZSByZWFkYWJp
bGl0eSBvZiB0aGUgcGF0Y2gKICAgICAgICAgd2l0aCBFUzYgQXJyb3cgZnVuY3Rpb24gaW1wbGVt
ZW50YXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0Y2YxZTNjMmQ1Y2E0ZDRjNWIwNzUxMzUwNzJhYjdkMmI3
MWNiMTUxLi4yYjJhZmFlY2Q4YWFhYmE4ZjQ5YmY2OWU4MjJlMzVkY2JkN2U5MTI4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDQtMTcgIFNrYWNoa292IEFsZXhhbmRyICA8Z3Nr
YWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1
bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTQwODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgg
Zm9yIGFycm93IGZ1bmN0aW9uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZzoKKwogMjAxNS0wNS0wMSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVl
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE4MzY4Ny4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZwppbmRleCBhZmViYjY2OTFjNDA4MzQ1MDE2OTI1MGZlY2E3NmMyZTIyNmIx
MTE0Li4zNTBlNTk0NzI3NjhhMDVjY2EyMDAwZTE2NmQ2OWJkYjlhMzk3OTE1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDQtMTcgIFNrYWNoa292IEFsZXhhbmRyICA8
Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93
IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5U
QVggZm9yIGFycm93IGZ1bmN0aW9uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxNS0wNS0wMSAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBh
cHBsZS5jb20+CiAKICAgICAgICAgQWRkIEFQSSB0byBkaXNhYmxlIG1ldGEgcmVmcmVzaGVzLgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDY1ZDgzYTQxMzliMmIzZTdhMmEx
ZWQ4YmYzNGU2NjJlYzNhZGRkNmUuLjI0Y2M4YTIwZjQyZTlmMzA5ZjAzMTkxOTA3OTYxNGI0NTQ4
MjJjMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQ3MCw2ICs0NzAs
NyBAQCBzZXQoSmF2YVNjcmlwdENvcmVfUlVOVElNRV9TT1VSQ0VTCiAgICAgcnVudGltZS9KU0Fy
cmF5QnVmZmVyVmlldy5jcHAKICAgICBydW50aW1lL0pTQXJyYXlJdGVyYXRvci5jcHAKICAgICBy
dW50aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAKKyAgICBydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5j
cHAKICAgICBydW50aW1lL0pTR2xvYmFsT2JqZWN0RGVidWdnYWJsZS5jcHAKICAgICBydW50aW1l
L0pTQ0pTVmFsdWUuY3BwCiAgICAgcnVudGltZS9KU0NhbGxlZS5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwppbmRleCBmYzkwZjYxMTU2MjMxYTQxY2E5MTM3ZjE3Yzc5NTVlOGQzNzNiMGVhLi4w
Yzg4NDBmNmFiNTE4NWY4MzU0YjcwNjAzZTAyNWYyNWEyYTc5ZjRhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCkBAIC00NCw2ICs0NCw3IEBAIEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcgPSBF
TkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HOwogRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NB
TlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NB
R0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0VTNl9D
TEFTU19TWU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKIEVOQUJMRV9FUzZfVEVNUExB
VEVfTElURVJBTF9TWU5UQVggPSBFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYOwog
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwpAQCAt
MjE1LDQgKzIxNiw0IEBAIEVOQUJMRV9KSVQgPSBFTkFCTEVfSklUOwogCiBFTkFCTEVfU0FUVVJB
VEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJ
QzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVf
QUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5U
KSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVO
QUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9F
UzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVgpICQo
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NT
X0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikg
JChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChF
TkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxF
X0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNP
Ul9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRB
X1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklD
RV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxF
X0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9G
SUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExT
Q1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQp
ICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhS
T1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xT
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lO
X1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxF
X0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJF
TEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJ
T05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VC
X0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChF
TkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01F
RElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxF
TUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFC
TEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJF
TkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlf
RVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVO
QUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExF
VEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFf
UVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVAp
ICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJM
RV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09O
VkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVN
UExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5H
X1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9D
U1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dF
Ql9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAk
KEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhS
X1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkg
JChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVT
RU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1T
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09W
RVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hN
RU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFT
X1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfRVM2X0NMQVNTX1NZ
TlRBWCkgJChFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05T
X0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NT
X0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NT
U19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9D
U1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19T
RUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQp
ICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElU
WSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9J
VEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZF
TF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkg
JChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9H
RU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAk
KEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9D
U1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFC
TEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChF
TkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhN
TCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0Up
ICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5B
QkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRP
Ul9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFC
TEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRF
Ul9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChF
TkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVT
VF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJM
RV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9T
UEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NS
WVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChF
TkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1F
TlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVO
QUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNL
KSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAk
KEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAk
KEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VC
X1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAk
KEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX1NB
VFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01P
REUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZj
eHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKaW5kZXggZmViZGUyNzVj
N2VkYmFmZDVkYzZiOWZjZWIxMjRhZTBiZTlhYTc2Yi4uNGQ5OWE4N2U1M2UzNTNiOTc0NTU4MmE5
NjgzN2NlYjk4NTY0ODVhYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9q
CkBAIC03MzUsNiArNzM1LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVc
SlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxydW50aW1lXEpTQXJyYXlCdWZmZXJWaWV3LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXHJ1bnRpbWVcSlNCb3VuZEZ1bmN0aW9uLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJvd0Z1bmN0aW9uLmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxydW50aW1lXEpTQ2FsbGVlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXHJ1bnRpbWVcSlNDYXRjaFNjb3BlLmNwcCIgLz4KQEAgLTE1MzcsNiArMTUzOCw3IEBA
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJWaWV3SW5s
aW5lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0FycmF5SXRl
cmF0b3IuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNCb3VuZEZ1
bmN0aW9uLmgiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyb3dG
dW5jdGlvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NJbmxp
bmVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0pTVmFsdWUu
aCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZUlubGlu
ZXMuaCIgLz4KQEAgLTE4MTcsNCArMTgxOSw0IEBACiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0
ZW5zaW9uVGFyZ2V0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXEJ1
aWxkQ3VzdG9taXphdGlvbnNcbWFzbS50YXJnZXRzIiAvPgogICA8L0ltcG9ydEdyb3VwPgotPC9Q
cm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggMWEyYjQ2MGU3ZjgzODhlYWE4ZTMxOWJmMjU0ZWE2N2Fm
MmI5YjFlZi4uM2QwNjk2NjBmMDkxNDE0MzFlYjQ5OThlNDVjNDk4ODY5MmY4OGI5MSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTExMDYsNiArMTEwNiw4IEBACiAJCTg2RjNFRUJG
MTY4Q0RFOTMwMDc3QjkyQSAvKiBPYmpjUnVudGltZUV4dHJhcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGM0VFQjYxNjg1NUE1QjAwNzdCOTJBIC8q
IE9iamNSdW50aW1lRXh0cmFzLmggKi87IH07CiAJCTg2RkE5RTkxMTQyQkJCMkUwMDE3NzNCNyAv
KiBKU0JvdW5kRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5j
cHAgKi87IH07CiAJCTg2RkE5RTkyMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RkE5RTkw
MTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLzsgfTsKKwkJOEIwRjQyNEMx
QUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEgLyog
SlNBcnJvd0Z1bmN0aW9uLmNwcCAqLzsgfTsKKwkJOEIwRjQyNEMxQUJENkRFMjAwMzkxN0VBIC8q
IEpTQXJyb3dGdW5jdGlvbi5oIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oICov
OyB9OwogCQk5MDIxM0UzRDEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIxM0UzQjEy
M0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi87IH07CiAJCTkwMjEzRTNF
MTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIxM0UzQzEyM0E0MEMyMDBENDIyRjMgLyog
TWVtb3J5U3RhdGlzdGljcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTkzMDUyQzM0MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzA1MkMzMjBG
Qjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwICovOyB9OwpAQCAtMjg1NCw2ICsyODU2
LDggQEAKIAkJODZGNzVFRkQxNTFDMDYyRjAwN0M5QkEzIC8qIFJlZ0V4cE1hdGNoZXNBcnJheS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWdFeHBNYXRjaGVzQXJy
YXkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkZBOUU4RjE0MkJCQjJEMDAx
NzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTQm91bmRGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdFQSAvKiBKU0Fycm93RnVu
Y3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcnJvd0Z1bmN0aW9uLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCThCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rp
b24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcnJvd0Z1bmN0
aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTAyMTNFM0IxMjNBNDBDMjAw
RDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gTWVtb3J5U3RhdGlzdGljcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lbW9yeVN0YXRpc3RpY3MuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNl
ckFyZW5hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhcnNlckFy
ZW5hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ0NjksNiArNDQ3Myw4IEBA
CiAJCQkJQTdCREFFQzUxN0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJyYXlJdGVyYXRvci5oICovLAog
CQkJCTg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwICovLAog
CQkJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLywKKwkJ
CQk4QjBGNDI0QTFBQkQ2RDJGMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggKi8sCisJCQkJ
OEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgKi8sCiAJCQkJ
NjU3Q0Y0NTYxOUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmNwcCAqLywKIAkJCQk2NTdDRjQ1
NzE5QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuaCAqLywKIAkJCQkwRkQ5NDk3RTFBOTdEQjk2
MDBFMjg5NjYgLyogSlNDYXRjaFNjb3BlLmNwcCAqLywKQEAgLTcyMjQsNiArNzIzMCw3IEBACiAJ
CQkJMEZEOEEzMUIxN0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTE9TUkVudHJ5LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTBGMjM1QkRDMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGMjM1QkRGMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0Q29t
cGlsZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOEIwRjQyNEMxQUJENkRFMjAwMzkxN0VBIC8q
IEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkVBMEEyQTE3MDk2Mjk2
MDBCQjcyMkMgLyogRlRMT3V0cHV0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNDg1MzI5MTg3
REZERUMwMDgzQjY4NyAvKiBGVExSZWNvdmVyeU9wY29kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkwRjZCMUNDMzE4NjJDNDc4MDA4NDVEOTcgLyogRlRMUmVnaXN0ZXJBdE9mZnNldC5jcHAgaW4g
U291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9C
eXRlY29kZUxpc3QuanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29k
ZUxpc3QuanNvbgppbmRleCBlM2VkMWRjZGE0ZTAzYTVmMTFlZjkxZTU2MTE5ZWI5MzA1MWZiN2Y2
Li41NmNiYTkzNmM0NzUwNWY1NDY4NDFlZDU3YmI5YjhlOGQzZDE2ZDhjIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24KKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCkBAIC05NSw2ICs5
NSw3IEBACiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9zd2l0Y2hfc3RyaW5nIiwgImxlbmd0
aCIgOiA0IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfZnVuYyIsICJsZW5ndGgi
IDogNCB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfbmV3X2Z1bmNfZXhwIiwgImxlbmd0
aCIgOiA0IH0sCisgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfYXJyb3dfZnVuY19leHAi
LCAibGVuZ3RoIiA6IDUgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGwiLCAibGVu
Z3RoIiA6IDkgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGxfZXZhbCIsICJsZW5n
dGgiIDogOSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbF92YXJhcmdzIiwgImxl
bmd0aCIgOiA5IH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Qnl0ZWNvZGVVc2VEZWYuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29k
ZVVzZURlZi5oCmluZGV4IDc2NjdlNjgzZTQ1NGE0OTk5ODZlZGFjZDkwYjY0OTE3MjQyMDM3Y2Qu
LmRhNGEyYWFlZWMyODQ1OTQxYWUzNjZkY2ZiOTg1OTFjY2IzY2NkNDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCkBAIC0xMTUsNiArMTE1
LDkgQEAgdm9pZCBjb21wdXRlVXNlc0ZvckJ5dGVjb2RlT2Zmc2V0KAogICAgIGNhc2Ugb3BfZ2V0
X3Byb3BlcnR5X2VudW1lcmF0b3I6CiAgICAgY2FzZSBvcF9nZXRfZW51bWVyYWJsZV9sZW5ndGg6
CiAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRpZgogICAgIGNh
c2Ugb3BfdG9faW5kZXhfc3RyaW5nOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29uc3Rfbm9w
OgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29uc3Q6CkBAIC0zMDcsNiArMzEwLDkgQEAgdm9p
ZCBjb21wdXRlRGVmc0ZvckJ5dGVjb2RlT2Zmc2V0KENvZGVCbG9jayogY29kZUJsb2NrLCB1bnNp
Z25lZCBieXRlY29kZU9mZnNldCwKICAgICBjYXNlIG9wX25ld19yZWdleHA6CiAgICAgY2FzZSBv
cF9uZXdfZnVuYzoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorI2Vu
ZGlmCiAgICAgY2FzZSBvcF9jYWxsX3ZhcmFyZ3M6CiAgICAgY2FzZSBvcF9jb25zdHJ1Y3RfdmFy
YXJnczoKICAgICBjYXNlIG9wX2dldF9mcm9tX3Njb3BlOgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAppbmRleCA5MDEzOGY5N2NiZDgyOGY5NzJjYjIyNDQy
YmY0MDQ0MWQxM2Y0MDU2Li43MTgzZDA0ZGQ4ODJiYjYyMjNmYmFjZTE3ZTVmYmI1MDA5MWQ4MDA0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcApAQCAt
MTMwMSw2ICsxMzAxLDE3IEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wQnl0ZWNvZGUoCiAgICAgICAg
ICAgICBvdXQucHJpbnRmKCIlcywgJXMsIGYlZCIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0YSgpLCBy
ZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjApOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBjYXNlIG9w
X25ld19hcnJvd19mdW5jX2V4cDogeworICAgICAgICAgICAgaW50IHIwID0gKCsraXQpLT51Lm9w
ZXJhbmQ7CisgICAgICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAgICAg
ICAgIGludCBmMCA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgaW50IHIyID0gKCsr
aXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBwcmludExvY2F0aW9uQW5kT3Aob3V0LCBleGVj
LCBsb2NhdGlvbiwgaXQsICJvcF9uZXdfYXJyb3dfZnVuY19leHAiKTsKKyAgICAgICAgICAgIG91
dC5wcmludGYoIiVzLCAlcywgZiVkLCAlcyIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0YSgpLCByZWdp
c3Rlck5hbWUocjEpLmRhdGEoKSwgZjAsIHJlZ2lzdGVyTmFtZShyMikuZGF0YSgpKTsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgY2FzZSBvcF9uZXdfZnVu
Y19leHA6IHsKICAgICAgICAgICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVyYW5kOwogICAgICAg
ICAgICAgaW50IHIxID0gKCsraXQpLT51Lm9wZXJhbmQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCmluZGV4IDJm
MjFlNDliNjUxMGYxYmU1OGQwOWMzMTQwNWUzN2NhOWVkYjMxOWYuLjQxODg5YWEzNGRhZmZmMTA2
NDAwNmZjODMwZDk3ZmYwZjA2NmIyYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0xNzc1LDYgKzE3
NzUsMjIgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdGdW5jdGlvbkV4
cHJlc3Npb24oUmVnaXN0ZXJJRCogcjAsIEZ1bmNFeHAKICAgICBpbnN0cnVjdGlvbnMoKS5hcHBl
bmQoaW5kZXgpOwogICAgIHJldHVybiByMDsKIH0KKyAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdB
cnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVuY0V4cHJOb2RlKiBuKQor
eworICAgIGVtaXRURFpDaGVjayh0aGlzUmVnaXN0ZXIoKSk7CisgICAgRnVuY3Rpb25Cb2R5Tm9k
ZSogZnVuY3Rpb24gPSBuLT5ib2R5KCk7CisgICAgdW5zaWduZWQgaW5kZXggPSBtX2NvZGVCbG9j
ay0+YWRkRnVuY3Rpb25FeHByKG1ha2VGdW5jdGlvbihmdW5jdGlvbikpOworICAgIAorICAgIGVt
aXRPcGNvZGUob3BfbmV3X2Fycm93X2Z1bmNfZXhwKTsKKyAgICBpbnN0cnVjdGlvbnMoKS5hcHBl
bmQocjAtPmluZGV4KCkpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChzY29wZVJlZ2lzdGVy
KCktPmluZGV4KCkpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChpbmRleCk7CisgICAgaW5z
dHJ1Y3Rpb25zKCkuYXBwZW5kKHRoaXNSZWdpc3RlcigpLT5pbmRleCgpKTsKKyAgICByZXR1cm4g
cjA7Cit9CisjZW5kaWYKIAogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdE
ZWZhdWx0Q29uc3RydWN0b3IoUmVnaXN0ZXJJRCogZHN0LCBDb25zdHJ1Y3RvcktpbmQgY29uc3Ry
dWN0b3JLaW5kLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmluZGV4IDlh
ZjhkNGZjNDg1ZDk4OTI0MWIxMTExODA5MjdhYWE3NmE5NTMxYzQuLmNhNjhhMjllNmJmMTViZWUy
MGI2OTdhMDRmMjg3ZWNmZjhiYmM4Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTQ1NCw2ICs0NTQsMTAg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5jdGlvbklu
dGVybmFsKFJlZ2lzdGVySUQqIGRzdCwgdW5zaWduZWQgaW5kZXgpOwogICAgICAgICBSZWdpc3Rl
cklEKiBlbWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIGRzdCwgRnVuY0V4cHJO
b2RlKiBmdW5jKTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0RlZmF1bHRDb25zdHJ1Y3Rv
cihSZWdpc3RlcklEKiBkc3QsIENvbnN0cnVjdG9yS2luZCwgY29uc3QgSWRlbnRpZmllciYgbmFt
ZSk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgUmVnaXN0
ZXJJRCogZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqLCBGdW5jRXhw
ck5vZGUqKTsKKyAgICAgICAgUmVnaXN0ZXJJRCogZW1pdFRoaXNOb2RlQnl0ZWNvZGUoUmVnaXN0
ZXJJRCosIEpTVGV4dFBvc2l0aW9uKTsKKyNlbmRpZgogICAgICAgICBSZWdpc3RlcklEKiBlbWl0
TmV3UmVnRXhwKFJlZ2lzdGVySUQqIGRzdCwgUmVnRXhwKik7CiAKICAgICAgICAgUmVnaXN0ZXJJ
RCogZW1pdE1vdmVMaW5rVGltZUNvbnN0YW50KFJlZ2lzdGVySUQqIGRzdCwgTGlua1RpbWVDb25z
dGFudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05v
ZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVz
Q29kZWdlbi5jcHAKaW5kZXggMGYwYjc4ZjBlNTkxZDliYjE2Yjk1ODFkNWQ1NjA0ZDQ4ZTViNzc2
Zi4uZDk0N2FmY2I2ODhmYWIwMDhmZmM5MjgwZTI4OWM1YWQ2YjlhMmRhNyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAt
MjkwMSw2ICsyOTAxLDE0IEBAIFJlZ2lzdGVySUQqIEZ1bmNFeHByTm9kZTo6ZW1pdEJ5dGVjb2Rl
KEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqCiAgICAgcmV0dXJuIGdl
bmVyYXRvci5lbWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uKGdlbmVyYXRvci5maW5hbERlc3RpbmF0
aW9uKGRzdCksIHRoaXMpOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkgICAgCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQXJyb3dGdW5jRXhwck5v
ZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitSZWdpc3RlcklEKiBBcnJvd0Z1
bmNFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJl
Z2lzdGVySUQqIGRzdCkKK3sKKyAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXROZXdBcnJvd0Z1bmN0
aW9uRXhwcmVzc2lvbihnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QpLCB0aGlzKTsKK30K
KyNlbmRpZgorICAgIAogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogLy8gLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tIENsYXNzRGVjbE5vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
QWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaAppbmRleCA5MzQyMDkzNWIzOGJlZjQ0Nzhl
ZGEwYzk1ZjlkODU1MjYzYmZkNzAyLi4yNWUxYzczNjRhNmQ3Mjk4ODdiZDE0ZjlmYjI1OTc5OTBi
ZjkyZjljIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0
SW50ZXJwcmV0ZXJJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdB
YnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCkBAIC0xNTM0LDcgKzE1MzQsMTMgQEAgYm9vbCBB
YnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHModW5z
aWduZWQgY2xvYmJlckxpbWkKICAgICBjYXNlIENyZWF0ZUNsb25lZEFyZ3VtZW50czoKICAgICAg
ICAgZm9yTm9kZShub2RlKS5zZXRUeXBlKG1fZ3JhcGgsIFNwZWNPYmplY3RPdGhlcik7CiAgICAg
ICAgIGJyZWFrOwotICAgICAgICAKKyAgICAgICAgICAgIAorICAgIGNhc2UgTmV3QXJyb3dGdW5j
dGlvbjoKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBmb3JO
b2RlKG5vZGUpLnNldCgKKyAgICAgICAgICAgIG1fZ3JhcGgsIG1fY29kZUJsb2NrLT5nbG9iYWxP
YmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKS0+YXJyb3dGdW5jdGlvblN0cnVjdHVyZSgp
KTsKKyNlbmRpZgorICAgICAgICBicmVhazsKICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgICAg
ICBmb3JOb2RlKG5vZGUpLnNldCgKICAgICAgICAgICAgIG1fZ3JhcGgsIG1fY29kZUJsb2NrLT5n
bG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKS0+ZnVuY3Rpb25TdHJ1Y3R1cmUo
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGll
cy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKaW5k
ZXggZWY0YzI0NzQ5Yjc4ZmE2ZTA5YTRjM2Q5YzI5MDEzZWFhNjVkYWE5Mi4uMGUzYzg4MGI3Y2Nj
YjliNzUwYWEzMDg5NWYwNjk1OThkNTJkZmZiMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcApAQCAtMjMxLDYgKzIzMSw3IEBAIENhcGFiaWxpdHlM
ZXZlbCBjYXBhYmlsaXR5TGV2ZWwoT3Bjb2RlSUQgb3Bjb2RlSUQsIENvZGVCbG9jayogY29kZUJs
b2NrLCBJbnN0cnVjCiAgICAgY2FzZSBvcF9zd2l0Y2hfc3RyaW5nOiAvLyBEb24ndCBpbmxpbmUg
YmVjYXVzZSB3ZSBkb24ndCB3YW50IHRvIGNvcHkgc3RyaW5nIHRhYmxlcyBpbiB0aGUgY29uY3Vy
cmVudCBKSVQuCiAgICAgICAgIHJldHVybiBDYW5Db21waWxlOwogCisgICAgY2FzZSBvcF9uZXdf
YXJyb3dfZnVuY19leHA6IC8vIEZpeG1lOiBBcnJvdyBmdW5jdGlvbiBjYW5uJ3QgYmUgaW5saW5l
IGFzIHRoZSBjb21tb24gZnVuY3Rpb24gYmVjYXVzZSBpdCBoYXMgbGV4aWNhbHkgYmluZCB0aGlz
L2FyZ3VtZW50cyBhbmQgZXRjLiBhbmQgIGFycm93IGZ1bmN0aW9uIGhhcyB0byBoYXZlIGl0cyBv
d24gY29tcGlsZSBhbmQgaW5saW5lIGFwcHJvYWNoLgogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJl
dHVybiBDYW5ub3RDb21waWxlOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdD
bG9iYmVyaXplLmgKaW5kZXggZDM4NTc5ZTM0YmI4MDY0MzI3MTk2ZWMyNTBjNjkzMTExNDFmMWMw
My4uZWNjN2JmOGYyNWRkZmFmZmE4MjJiMmIzZTQ1ZGFjYjhjYzA2MzA5NSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKQEAgLTg2MSw3ICs4NjEsOCBAQCB2b2lk
IGNsb2JiZXJpemUoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlLCBjb25zdCBSZWFkRnVuY3RvciYg
cmVhZCwgY29uc3QgV3JpdGVGdQogICAgICAgICByZWFkKEhlYXBPYmplY3RDb3VudCk7CiAgICAg
ICAgIHdyaXRlKEhlYXBPYmplY3RDb3VudCk7CiAgICAgICAgIHJldHVybjsKLSAgICAgICAgCisg
ICAgCisgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgogICAgIGNhc2UgTmV3RnVuY3Rpb246CiAg
ICAgICAgIGlmIChub2RlLT5jYXN0T3BlcmFuZDxGdW5jdGlvbkV4ZWN1dGFibGUqPigpLT5zaW5n
bGV0b25GdW5jdGlvbigpLT5pc1N0aWxsVmFsaWQoKSkKICAgICAgICAgICAgIHdyaXRlKFdhdGNo
cG9pbnRfZmlyZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rv
ZXNHQy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAKaW5kZXgg
NDg3MWYwYTk2MjMxZDE3M2VkOTAxNjI3NTBmMDk0YzdlMWIxMTViMi4uNDFhNzIxMzg5YzUxYzFk
OTJjZDhlZGYxNTZlODZmNTAyOTI0ZDY5ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdEb2VzR0MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
RG9lc0dDLmNwcApAQCAtMjI4LDYgKzIyOCw3IEBAIGJvb2wgZG9lc0dDKEdyYXBoJiBncmFwaCwg
Tm9kZSogbm9kZSkKICAgICBjYXNlIE5ld1JlZ2V4cDoKICAgICBjYXNlIE5ld1N0cmluZ09iamVj
dDoKICAgICBjYXNlIE1ha2VSb3BlOgorICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKICAgICBj
YXNlIE5ld0Z1bmN0aW9uOgogICAgIGNhc2UgTmV3VHlwZWRBcnJheToKICAgICBjYXNlIFRocm93
UmVmZXJlbmNlRXJyb3I6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0ZpeHVwUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNl
LmNwcAppbmRleCA2NTJjYjZhMjJhOTFlOGNiNmZhODMxNmMzZDhjMjllYmJhN2Q1NmEzLi4zMTRi
OGVmODBhOTk3NDkwMzcyZGU5MTFkMDlkZDdkYzlmYjE3MjE1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKQEAgLTExODIsNiArMTE4Miw3IEBAIHByaXZh
dGU6CiAKICAgICAgICAgY2FzZSBDcmVhdGVTY29wZWRBcmd1bWVudHM6CiAgICAgICAgIGNhc2Ug
Q3JlYXRlQWN0aXZhdGlvbjoKKyAgICAgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgogICAgICAg
ICBjYXNlIE5ld0Z1bmN0aW9uOiB7CiAgICAgICAgICAgICBmaXhFZGdlPENlbGxVc2U+KG5vZGUt
PmNoaWxkMSgpKTsKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdOb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05v
ZGUuaAppbmRleCBmYjQ0NWI3NjJmMWNiNTg0ZTQ5YTMxYjM4NjZjZmNiYzMwOTgwMGJhLi4wY2Q2
OWE3Nzk1YWJiMzlhYjdhYjZhMWU3NTU1OTI2YzFmNWQ5NjhmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR05vZGUuaApAQCAtMTI2Nyw2ICsxMjY3LDcgQEAgc3RydWN0IE5vZGUgewogICAgICAg
ICBjYXNlIENoZWNrQ2VsbDoKICAgICAgICAgY2FzZSBOYXRpdmVDb25zdHJ1Y3Q6CiAgICAgICAg
IGNhc2UgTmF0aXZlQ2FsbDoKKyAgICAgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgogICAgICAg
ICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGRl
ZmF1bHQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBl
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKaW5kZXggYjlmMDI1
ZmI5YWI4YjdkZDU1NzNkMGQ3ODRjNjVkZTM2NjBjNWUwOS4uNDc0ODcxZTdhZjU0ZmM0Nzg3M2Nk
NTBlZjVkZjFmOTViMTBiYjcwNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdOb2RlVHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5
cGUuaApAQCAtMjkxLDYgKzI5MSw4IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsK
ICAgICBcCiAgICAgbWFjcm8oTmV3RnVuY3Rpb24sIE5vZGVSZXN1bHRKUykgXAogICAgIFwKKyAg
ICBtYWNybyhOZXdBcnJvd0Z1bmN0aW9uLCBOb2RlUmVzdWx0SlMgfCBOb2RlTXVzdEdlbmVyYXRl
KSBcCisgICAgXAogICAgIC8qIFRoZXNlIGFyZW4ndCB0ZXJtaW5hbHMgYnV0IGFsd2F5cyBleGl0
ICovIFwKICAgICBtYWNybyhUaHJvdywgTm9kZU11c3RHZW5lcmF0ZSkgXAogICAgIG1hY3JvKFRo
cm93UmVmZXJlbmNlRXJyb3IsIE5vZGVNdXN0R2VuZXJhdGUpIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5j
cHAKaW5kZXggZmRiOGZkYTU4MWVmNGM1MGJkMTA1NTA4Mjc2YTE3YWVmYjdiNmM4Yy4uMzAzMjli
NWFmMjc0NDU2OGE5MzUxNjMzZmFkOWUxMjMzNmNjMTk4ZCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5j
cHAKQEAgLTIxNyw2ICsyMTcsNyBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIEdldEdldHRlcjoK
ICAgICAgICAgY2FzZSBHZXRTZXR0ZXI6CiAgICAgICAgIGNhc2UgR2V0Q2FsbGVlOgorICAgICAg
ICBjYXNlIE5ld0Fycm93RnVuY3Rpb246CiAgICAgICAgIGNhc2UgTmV3RnVuY3Rpb246IHsKICAg
ICAgICAgICAgIGNoYW5nZWQgfD0gc2V0UHJlZGljdGlvbihTcGVjRnVuY3Rpb24pOwogICAgICAg
ICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nh
ZmVUb0V4ZWN1dGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0
ZS5oCmluZGV4IGFhNWE3MWMxN2Y4OGI2ODhlM2ZhNWI1N2I4ZGNhYjIyMzQ1ZDRmMWUuLmI2YzUw
YjQ0NTdjMDY5YmYxZDA3MWYzOWIxN2ViZjdiOWRhZDM3NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCkBAIC0yMjgsNiArMjI4LDcgQEAgYm9vbCBz
YWZlVG9FeGVjdXRlKEFic3RyYWN0U3RhdGVUeXBlJiBzdGF0ZSwgR3JhcGgmIGdyYXBoLCBOb2Rl
KiBub2RlKQogICAgIGNhc2UgQ3JlYXRlQ2xvbmVkQXJndW1lbnRzOgogICAgIGNhc2UgR2V0RnJv
bUFyZ3VtZW50czoKICAgICBjYXNlIFB1dFRvQXJndW1lbnRzOgorICAgIGNhc2UgTmV3QXJyb3dG
dW5jdGlvbjoKICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgIGNhc2UgSnVtcDoKICAgICBjYXNl
IEJyYW5jaDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQu
aAppbmRleCA5ZDcyZTg5MzczMmNiN2FlOTY4ODY2NzNlZDA1ZTVlZjU1ZDFkMWIxLi41NTdjNTMx
NzkxNTcwZDVmNmVjN2IxMjY0NGY4ZGQxZTk0YTY0YTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCkBAIC0xMTk5LDYgKzExOTksMTIgQEAgcHVi
bGljOgogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgVHJ1
c3RlZEltbVB0cihjZWxsKSk7CiAgICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlv
bkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKICAgICB9CisgICAgCisgICAgSklU
Q29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0ogb3BlcmF0
aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgYXJnMSwgSlNDZWxsKiBjZWxsLCBHUFJSZWcgYXJn
MikKKyAgICB7CisgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcx
LCBUcnVzdGVkSW1tUHRyKGNlbGwpLCBhcmcyKTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxX
aXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOworICAgIH0KIAog
ICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRVdzIG9w
ZXJhdGlvbiwgV2F0Y2hwb2ludFNldCogd2F0Y2hwb2ludFNldCkKICAgICB7CkBAIC0xNjA1LDYg
KzE2MTEsMTEgQEAgcHVibGljOgogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVj
U3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSk7CiAgICAgICAgIHJldHVybiBhcHBlbmRD
YWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0UGF5bG9hZCwg
cmVzdWx0VGFnKTsKICAgICB9CisgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihK
X0pJVE9wZXJhdGlvbl9FSnNjQ0ogb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0VGFnLCBHUFJSZWcg
cmVzdWx0UGF5bG9hZCwgR1BSUmVnIGFyZzEsIEpTQ2VsbCogY2VsbCwgR1BSUmVnIGFyZzIpCisg
ICAgeworICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgVHJ1
c3RlZEltbVB0cihjZWxsKSwgYXJnMik7CisgICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4
Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0UGF5bG9hZCwgcmVzdWx0VGFn
KTsKKyAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJh
dGlvbl9FU3NpQ0kgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0VGFnLCBHUFJSZWcgcmVzdWx0UGF5
bG9hZCwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgYXJnMSwgY29uc3QgU3Ry
aW5nSW1wbCogdWlkKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhl
Y1N0YXRlKFRydXN0ZWRJbW1QdHIoc3R1YkluZm8pLCBhcmcxLCBUcnVzdGVkSW1tUHRyKHVpZCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VDMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQz
Ml82NC5jcHAKaW5kZXggZmQ5ZjM1MGIxOGRjNWVhYTE4NmJiYjc2MTc1NzliNWJhMDAxNzE2NS4u
ZjM2OTAyMjgxMjJiZjZkNGE5MGU2NjRiNjIwOTFjMDk2YThmZDg3MyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCkBAIC00
MjgzLDcgKzQyODMsMTEgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2Rl
KQogICAgICAgICBjb21waWxlQ3JlYXRlQ2xvbmVkQXJndW1lbnRzKG5vZGUpOwogICAgICAgICBi
cmVhazsKICAgICB9Ci0gICAgICAgIAorICAgIAorICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoK
KyAgICAgICAgREZHX0NSQVNIKG1faml0LmdyYXBoKCksIG5vZGUsICJBcnJvdyBmdW5jdGlvbiBj
YW5cJ3QgYmUgY29tcGlsZWQgaW4gREZHIik7CisgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
CiAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICAgICAgY29tcGlsZU5ld0Z1bmN0aW9uKG5vZGUp
OwogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUNjQuY3BwCmluZGV4IDFkMDg1N2YzZjVkN2IyYzFjYzIwNDZhMTBlZGFlNDAz
MzMzNDgzMzUuLjBmMzU3NWI1ZTIzMTU2NGFhZjNhYmE2Yzk1MDY2MmViZDAxM2I4NGYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcApA
QCAtNDMxNywxMSArNDMxNywxNSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUq
IG5vZGUpCiAgICAgICAgIGNvbXBpbGVDcmVhdGVDbG9uZWRBcmd1bWVudHMobm9kZSk7CiAgICAg
ICAgIGJyZWFrOwogICAgIH0KLSAgICAgICAgCisKKyAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246
CisgICAgICAgIERGR19DUkFTSChtX2ppdC5ncmFwaCgpLCBub2RlLCAiQXJyb3cgZnVuY3Rpb24g
Y2FuXCcgaW4gREZHIik7CisgICAgICAgIGJyZWFrOworICAgICAgICAgICAgCiAgICAgY2FzZSBO
ZXdGdW5jdGlvbjoKICAgICAgICAgY29tcGlsZU5ld0Z1bmN0aW9uKG5vZGUpOwogICAgICAgICBi
cmVhazsKLSAgICAgICAgCisKICAgICBjYXNlIEluOgogICAgICAgICBjb21waWxlSW4obm9kZSk7
CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTdHJ1Y3R1cmVSZWdpc3RyYXRpb25QaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1N0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmNwcAppbmRleCAyODY0NmQxM2ZjZjRj
OTY1YzYyMGQwMDIxMWIwZGNiZjAzYjM3YzJkLi4yYzQyZGYzYzAyMzgzZTcxZjVlYzk1ODZhMjc4
ZmJiMWRiMTMwODBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1N0
cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1N0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmNwcApAQCAtMTMwLDcgKzEzMCwxMSBA
QCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgY2FzZSBOZXdSZWdleHA6CiAgICAgICAgICAgICAg
ICAgICAgIHJlZ2lzdGVyU3RydWN0dXJlKG1fZ3JhcGguZ2xvYmFsT2JqZWN0Rm9yKG5vZGUtPm9y
aWdpbi5zZW1hbnRpYyktPnJlZ0V4cFN0cnVjdHVyZSgpKTsKICAgICAgICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGNhc2UgTmV3QXJy
b3dGdW5jdGlvbjoKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAg
ICAgICAgICAgICAgICByZWdpc3RlclN0cnVjdHVyZShtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihu
b2RlLT5vcmlnaW4uc2VtYW50aWMpLT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCkpOworI2VuZGlm
CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIGNhc2UgTmV3RnVu
Y3Rpb246CiAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyU3RydWN0dXJlKG1fZ3JhcGguZ2xv
YmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyktPmZ1bmN0aW9uU3RydWN0dXJlKCkp
OwogICAgICAgICAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuY3BwCmluZGV4IGU0MTZmZGFh
ZmVlMjIyOWY2NTNiOWFlMDYyNDgwMDA5OTk4NzVhMDAuLjNjMzg2NGNhMTgwYWEzNmU0ODA4YzIz
YTEzMDZiZTI4ZTVkN2I5MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmNwcApAQCAtMzAsNiArMzAsNyBAQAogCiAj
aW5jbHVkZSAiRGlyZWN0QXJndW1lbnRzLmgiCiAjaW5jbHVkZSAiR2V0dGVyU2V0dGVyLmgiCisj
aW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNFbnZpcm9ubWVudFJlY29y
ZC5oIgogI2luY2x1ZGUgIkpTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oIgogI2luY2x1ZGUgIkpT
U2NvcGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJh
Y3RIZWFwUmVwb3NpdG9yeS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFj
dEhlYXBSZXBvc2l0b3J5LmgKaW5kZXggOTEyNzU0ZGZjNDAxNTJiMGVkMjQ4MzZhYzc1YjhmOTY5
ODQzOTliYi4uZWViMjA4YmUxZjQ2Y2ZjNDJiOTQ5NWE5ZmE5MjFmYmNkNmQ4MmRhNyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0
b3J5LmgKQEAgLTg4LDYgKzg4LDEzIEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsK
ICAgICBtYWNybyhTdHJ1Y3R1cmVfZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmU6Omdsb2JhbE9iamVj
dE9mZnNldCgpKSBcCiAgICAgbWFjcm8oU3RydWN0dXJlX3Byb3RvdHlwZSwgU3RydWN0dXJlOjpw
cm90b3R5cGVPZmZzZXQoKSkgXAogICAgIG1hY3JvKFN0cnVjdHVyZV9zdHJ1Y3R1cmVJRCwgU3Ry
dWN0dXJlOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKQorICAgIAorI2RlZmluZSBGT1JfRUFDSF9BQlNU
UkFDVF9GSUVMRF9BUlJPV0ZVTkNUSU9OKG1hY3JvKSBcCisgICAgbWFjcm8oSlNBcnJvd0Z1bmN0
aW9uX2V4ZWN1dGFibGUsIEpTQXJyb3dGdW5jdGlvbjo6b2Zmc2V0T2ZFeGVjdXRhYmxlKCkpIFwK
KyAgICBtYWNybyhKU0Fycm93RnVuY3Rpb25fc2NvcGUsIEpTQXJyb3dGdW5jdGlvbjo6b2Zmc2V0
T2ZTY29wZUNoYWluKCkpIFwKKyAgICBtYWNybyhKU0Fycm93RnVuY3Rpb25fcmFyZURhdGEsIEpT
QXJyb3dGdW5jdGlvbjo6b2Zmc2V0T2ZSYXJlRGF0YSgpKSBcCisgICAgbWFjcm8oSlNBcnJvd0Z1
bmN0aW9uX3RoaXMsIEpTQXJyb3dGdW5jdGlvbjo6b2Zmc2V0T2ZUaGlzVmFsdWUoKSkKKyAgICAK
IAogI2RlZmluZSBGT1JfRUFDSF9JTkRFWEVEX0FCU1RSQUNUX0hFQVAobWFjcm8pIFwKICAgICBt
YWNybyhEaXJlY3RBcmd1bWVudHNfc3RvcmFnZSwgRGlyZWN0QXJndW1lbnRzOjpzdG9yYWdlT2Zm
c2V0KCksIHNpemVvZihFbmNvZGVkSlNWYWx1ZSkpIFwKQEAgLTEyOSw2ICsxMzYsOSBAQCBwdWJs
aWM6CiAKICNkZWZpbmUgQUJTVFJBQ1RfRklFTERfREVDTEFSQVRJT04obmFtZSwgb2Zmc2V0KSBB
YnN0cmFjdEZpZWxkIG5hbWU7CiAgICAgRk9SX0VBQ0hfQUJTVFJBQ1RfRklFTEQoQUJTVFJBQ1Rf
RklFTERfREVDTEFSQVRJT04pCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICBGT1JfRUFDSF9BQlNUUkFDVF9GSUVMRF9BUlJPV0ZVTkNUSU9OKEFCU1RSQUNUX0ZJRUxE
X0RFQ0xBUkFUSU9OKQorI2VuZGlmCiAjdW5kZWYgQUJTVFJBQ1RfRklFTERfREVDTEFSQVRJT04K
ICAgICAKICAgICBBYnN0cmFjdEZpZWxkJiBKU0NlbGxfZnJlZUxpc3ROZXh0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCmluZGV4IDYwZGNmNzkxOTMy
M2M1NzViNDc4MDYwMTcyYjJjZDUzN2VkZGU2NzguLjhlZTc4ZmVkMGEyYmRiODE0ZDVmMGExZDBl
MDJkN2Y3OGY5NWJjZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
Q2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFi
aWxpdGllcy5jcHAKQEAgLTEwMyw2ICsxMDMsNyBAQCBpbmxpbmUgQ2FwYWJpbGl0eUxldmVsIGNh
bkNvbXBpbGUoTm9kZSogbm9kZSkKICAgICBjYXNlIExvb3BIaW50OgogICAgIGNhc2UgU2tpcFNj
b3BlOgogICAgIGNhc2UgQ3JlYXRlQWN0aXZhdGlvbjoKKyAgICBjYXNlIE5ld0Fycm93RnVuY3Rp
b246CiAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICBjYXNlIEdldENsb3N1cmVWYXI6CiAgICAg
Y2FzZSBQdXRDbG9zdXJlVmFyOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TEludHJpbnNpY1JlcG9zaXRvcnkuaAppbmRleCAwOTdiNzFjYzY0Mzc2Mzc2ZWJiZWFjMDY3NDZm
ZGNjMGJiZmNlNjg4Li5kOWNmMDQ3OGEzOGJhMzYxYjI1YjQ1NDNkNjY2ZWVjNDc2ZmJlODZhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRv
cnkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRv
cnkuaApAQCAtODMsNiArODMsNyBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CiAg
ICAgbWFjcm8oSl9KSVRPcGVyYXRpb25fRUpDLCBmdW5jdGlvblR5cGUoaW50NjQsIGludFB0ciwg
aW50NjQsIGludFB0cikpIFwKICAgICBtYWNybyhKX0pJVE9wZXJhdGlvbl9FSkosIGZ1bmN0aW9u
VHlwZShpbnQ2NCwgaW50UHRyLCBpbnQ2NCwgaW50NjQpKSBcCiAgICAgbWFjcm8oSl9KSVRPcGVy
YXRpb25fRUpzY0MsIGZ1bmN0aW9uVHlwZShpbnRQdHIsIGludFB0ciwgaW50UHRyLCBpbnRQdHIp
KSBcCisgICAgbWFjcm8oSl9KSVRPcGVyYXRpb25fRUpzY0NKLCBmdW5jdGlvblR5cGUoaW50NjQs
IGludFB0ciwgaW50NjQsIGludDY0LCBpbnQ2NCkpXAogICAgIG1hY3JvKEpfSklUT3BlcmF0aW9u
X0VKc3NaLCBmdW5jdGlvblR5cGUoaW50NjQsIGludFB0ciwgaW50UHRyLCBpbnQzMikpIFwKICAg
ICBtYWNybyhKX0pJVE9wZXJhdGlvbl9FU3NpSkksIGZ1bmN0aW9uVHlwZShpbnQ2NCwgaW50UHRy
LCBpbnRQdHIsIGludDY0LCBpbnRQdHIpKSBcCiAgICAgbWFjcm8oSnNzX0pJVE9wZXJhdGlvbl9F
WiwgZnVuY3Rpb25UeXBlKGludFB0ciwgaW50UHRyLCBpbnQzMikpIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKaW5kZXggZDkwMmFlNzM0MmU4
YjQ2M2IzM2ExZTVkOTdkZTZlMTg4Njg5OWU0Mi4uZmQ4YWMzNzg5NDA5MWIxNmM5Mjk0ZWY5NzMw
MzkxZDg5ZjQxZGEwNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExM
b3dlckRGR1RvTExWTS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dl
ckRGR1RvTExWTS5jcHAKQEAgLTQzLDYgKzQzLDcgQEAKICNpbmNsdWRlICJGVExPdXRwdXQuaCIK
ICNpbmNsdWRlICJGVExUaHVua3MuaCIKICNpbmNsdWRlICJGVExXZWlnaHRlZFRhcmdldC5oIgor
I2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNp
bmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIk9wZXJhbmRzSW5saW5l
cy5oIgpAQCAtNjA2LDYgKzYwNywxMSBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIENyZWF0ZUFj
dGl2YXRpb246CiAgICAgICAgICAgICBjb21waWxlQ3JlYXRlQWN0aXZhdGlvbigpOwogICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICAgICAgY29tcGlsZU5ld0Fycm93RnVu
Y3Rpb24oKTsKKyNlbmRpZgorICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgTmV3RnVu
Y3Rpb246CiAgICAgICAgICAgICBjb21waWxlTmV3RnVuY3Rpb24oKTsKICAgICAgICAgICAgIGJy
ZWFrOwpAQCAtMjk2Nyw2ICsyOTczLDUyIEBAIHByaXZhdGU6CiAgICAgICAgIHNldEpTVmFsdWUo
bV9vdXQucGhpKG1fb3V0LmludFB0ciwgZmFzdFJlc3VsdCwgc2xvd1Jlc3VsdCkpOwogICAgIH0K
ICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHZvaWQgY29t
cGlsZU5ld0Fycm93RnVuY3Rpb24oKQorICAgIHsKKworICAgICAgICBMVmFsdWUgc2NvcGUgPSBs
b3dDZWxsKG1fbm9kZS0+Y2hpbGQxKCkpOworICAgICAgICBMVmFsdWUgdGhpc1ZhbHVlID0gbG93
SlNWYWx1ZShtX25vZGUtPmNoaWxkMigpKTsKKyAgICAgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBl
eGVjdXRhYmxlID0gbV9ub2RlLT5jYXN0T3BlcmFuZDxGdW5jdGlvbkV4ZWN1dGFibGUqPigpOwor
ICAgICAgICBpZiAoZXhlY3V0YWJsZS0+c2luZ2xldG9uRnVuY3Rpb24oKS0+aXNTdGlsbFZhbGlk
KCkpIHsKKyAgICAgICAgICAgIExWYWx1ZSBjYWxsUmVzdWx0ID0gdm1DYWxsKAorICAgICAgICAg
ICAgICAgIG1fb3V0Lm9wZXJhdGlvbihvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKSwKKyAgICAg
ICAgICAgICAgICBtX2NhbGxGcmFtZSwgc2NvcGUsIHdlYWtQb2ludGVyKGV4ZWN1dGFibGUpLCB0
aGlzVmFsdWUpOworICAgICAgICAgICAgc2V0SlNWYWx1ZShjYWxsUmVzdWx0KTsKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUgPSBtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihtX25vZGUtPm9yaWdpbi5zZW1hbnRpYykt
PmFycm93RnVuY3Rpb25TdHJ1Y3R1cmUoKTsKKyAgICAgICAgCisgICAgICAgIExCYXNpY0Jsb2Nr
IHNsb3dQYXRoID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJOZXdBcnJvd0Z1bmN0aW9uIHNsb3cg
cGF0aCIpKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgY29udGludWF0aW9uID0gRlRMX05FV19CTE9D
SyhtX291dCwgKCJOZXdBcnJvd0Z1bmN0aW9uIGNvbnRpbnVhdGlvbiIpKTsKKyAgICAgICAgCisg
ICAgICAgIExCYXNpY0Jsb2NrIGxhc3ROZXh0ID0gbV9vdXQuaW5zZXJ0TmV3QmxvY2tzQmVmb3Jl
KHNsb3dQYXRoKTsKKyAgICAgICAgCisgICAgICAgIExWYWx1ZSBmYXN0T2JqZWN0ID0gYWxsb2Nh
dGVPYmplY3Q8SlNBcnJvd0Z1bmN0aW9uPihzdHJ1Y3R1cmUsIG1fb3V0LmludFB0clplcm8sIHNs
b3dQYXRoKTsKKyAgICAgICAgCisgICAgICAgIC8vIFdlIGRvbid0IG5lZWQgbWVtb3J5IGJhcnJp
ZXJzIHNpbmNlIHdlIGp1c3QgZmFzdC1jcmVhdGVkIHRoZSBmdW5jdGlvbiwgc28gaXQKKyAgICAg
ICAgLy8gbXVzdCBiZSB5b3VuZy4KKyAgICAgICAgbV9vdXQuc3RvcmVQdHIoc2NvcGUsIGZhc3RP
YmplY3QsIG1faGVhcHMuSlNBcnJvd0Z1bmN0aW9uX3Njb3BlKTsKKyAgICAgICAgbV9vdXQuc3Rv
cmVQdHIod2Vha1BvaW50ZXIoZXhlY3V0YWJsZSksIGZhc3RPYmplY3QsIG1faGVhcHMuSlNBcnJv
d0Z1bmN0aW9uX2V4ZWN1dGFibGUpOworICAgICAgICBtX291dC5zdG9yZVB0cih0aGlzVmFsdWUs
IGZhc3RPYmplY3QsIG1faGVhcHMuSlNBcnJvd0Z1bmN0aW9uX3RoaXMpOworICAgICAgICBtX291
dC5zdG9yZVB0cihtX291dC5pbnRQdHJaZXJvLCBmYXN0T2JqZWN0LCBtX2hlYXBzLkpTQXJyb3dG
dW5jdGlvbl9yYXJlRGF0YSk7CisgICAgICAgIAorICAgICAgICBWYWx1ZUZyb21CbG9jayBmYXN0
UmVzdWx0ID0gbV9vdXQuYW5jaG9yKGZhc3RPYmplY3QpOworICAgICAgICBtX291dC5qdW1wKGNv
bnRpbnVhdGlvbik7CisgICAgICAgIAorICAgICAgICBtX291dC5hcHBlbmRUbyhzbG93UGF0aCwg
Y29udGludWF0aW9uKTsKKyAgICAgICAgTFZhbHVlIGNhbGxSZXN1bHQgPSB2bUNhbGwoCisgICAg
ICAgICAgICBtX291dC5vcGVyYXRpb24ob3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbldpdGhJbnZh
bGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQpLAorICAgICAgICAgICAgbV9jYWxsRnJhbWUs
IHNjb3BlLCB3ZWFrUG9pbnRlcihleGVjdXRhYmxlKSwgdGhpc1ZhbHVlKTsKKyAgICAgICAgVmFs
dWVGcm9tQmxvY2sgc2xvd1Jlc3VsdCA9IG1fb3V0LmFuY2hvcihjYWxsUmVzdWx0KTsKKyAgICAg
ICAgbV9vdXQuanVtcChjb250aW51YXRpb24pOworICAgICAgICAKKyAgICAgICAgbV9vdXQuYXBw
ZW5kVG8oY29udGludWF0aW9uLCBsYXN0TmV4dCk7CisgICAgICAgIHNldEpTVmFsdWUobV9vdXQu
cGhpKG1fb3V0LmludFB0ciwgZmFzdFJlc3VsdCwgc2xvd1Jlc3VsdCkpOworICAgIH0KKyNlbmRp
ZgorICAgIAogICAgIHZvaWQgY29tcGlsZUNyZWF0ZURpcmVjdEFyZ3VtZW50cygpCiAgICAgewog
ICAgICAgICAvLyBGSVhNRTogQSBtb3JlIGVmZmVjdGl2ZSB3YXkgb2YgZGVhbGluZyB3aXRoIHRo
ZSBhcmd1bWVudCBjb3VudCBhbmQgY2FsbGVlIGlzIHRvIGhhdmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCmluZGV4IDE3ZGQzYjRmNDVm
NTZmZjIwMDIzZDczYjc1ZGM3ZDcwYjYzNDk2OGYuLjIwMDA1YzA3MTUzM2IxNjgzYWZkYTJkNjJk
YzY1YzAxNjdkOTEwOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnBy
ZXRlci9JbnRlcnByZXRlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL0ludGVycHJldGVyLmNwcApAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUgIkV4Y2VwdGlv
bkhlbHBlcnMuaCIKICNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJKU0FycmF5
LmgiCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0
aW9uLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTTGV4aWNhbEVudmly
b25tZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxsSGVs
cGVycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhlbHBlcnMuaAppbmRleCBm
ZDM0NGFkYmNhYmIxNWZiZDgxNGVkNmZiZDQ3OGY3NGI2MTU3NjNjLi4wN2FjZDZkNTMyZDMyOGFm
ZGI3N2FjZjIwMTMzOTBlZjM5ZGQ5ZDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0NDYWxsSGVscGVycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0Nh
bGxIZWxwZXJzLmgKQEAgLTI3NCw2ICsyNzQsMTUgQEAgcHVibGljOgogICAgICAgICBhZGRDYWxs
QXJndW1lbnQoYXJnMik7CiAgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmczKTsKICAgICB9Cisg
ICAgCisgICAgQUxXQVlTX0lOTElORSB2b2lkIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShH
UFJSZWcgYXJnMSwgVHJ1c3RlZEltbVB0ciBhcmcyLCBHUFJSZWcgYXJnMykKKyAgICB7CisgICAg
ICAgIHJlc2V0Q2FsbEFyZ3VtZW50cygpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQoR1BSSW5m
bzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMSk7Cisg
ICAgICAgIGFkZENhbGxBcmd1bWVudChhcmcyKTsKKyAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFy
ZzMpOworICAgIH0KIAogICAgIEFMV0FZU19JTkxJTkUgdm9pZCBzZXR1cEFyZ3VtZW50c1dpdGhF
eGVjU3RhdGUoR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyLCBUcnVzdGVkSW1tMzIgYXJnMykKICAg
ICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKaW5kZXggYjQxMTNjNDVlNzJjN2UxNThlYzFm
MTkyM2NiZmUyOWM1ZWY1NDI4Mi4uOGExYmFjODdmZDEwYjk4N2Y2NGZkMGMyMTEzMjEwY2E2NzA1
ZWRiMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcApAQCAtMjYwLDYgKzI2MCw3IEBAIHZv
aWQgSklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkKICAgICAgICAgREVGSU5FX09QKG9wX25l
d19hcnJheV9idWZmZXIpCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfZnVuYykKICAgICAgICAg
REVGSU5FX09QKG9wX25ld19mdW5jX2V4cCkKKyAgICAgICAgREVGSU5FX09QKG9wX25ld19hcnJv
d19mdW5jX2V4cCkgCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfb2JqZWN0KQogICAgICAgICBE
RUZJTkVfT1Aob3BfbmV3X3JlZ2V4cCkKICAgICAgICAgREVGSU5FX09QKG9wX25vdCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVC5oCmluZGV4IGQ3MjI1ZWE0YjJhZTU0MzE4Nzg0NGMyMDc2ZWM2ZWI4ZDY1
ZDIxYzkuLmRhYTUyMDk0ODg1NzkxNjBiYmQ5YzQ3ZDA3YjRhMDQ1OWZiOGIwMTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVQuaApAQCAtNTIxLDYgKzUyMSw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
ICAgICB2b2lkIGVtaXRfb3BfbmV3X2FycmF5X2J1ZmZlcihJbnN0cnVjdGlvbiopOwogICAgICAg
ICB2b2lkIGVtaXRfb3BfbmV3X2Z1bmMoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0
X29wX25ld19mdW5jX2V4cChJbnN0cnVjdGlvbiopOworICAgICAgICB2b2lkIGVtaXRfb3BfbmV3
X2Fycm93X2Z1bmNfZXhwKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdf
b2JqZWN0KEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfcmVnZXhwKElu
c3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9ub3QoSW5zdHJ1Y3Rpb24qKTsKQEAg
LTcwMiw2ICs3MDMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6
OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSkosIGludCwgR1BSUmVnLCBHUFJS
ZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3Bl
cmF0aW9uX0VKc2MsIEdQUlJlZyk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxP
cGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0MsIGludCwgR1BSUmVnLCBKU0NlbGwqKTsKKyAg
ICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9F
SnNjQ0osIGludCwgR1BSUmVnLCBKU0NlbGwqLCBHUFJSZWcpOwogICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2NaLCBHUFJSZWcsIGlu
dDMyX3QpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklU
T3BlcmF0aW9uX0VKc2NaLCBpbnQsIEdQUlJlZywgaW50MzJfdCk7CiAjaWYgVVNFKEpTVkFMVUU2
NCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKaW5kZXggOWVlMjRkMDkyMjhh
OTg4MmVhNzY5NjI5ZDFhODdiNmMzNGE4NjMzNC4uYTBlNDBjNWM2MWZlNjNlOTg2M2VkMjIzZWRm
NWQ0NTFmMzE4YTc3NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJ
bmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKQEAg
LTI3MSw2ICsyNzEsMTIgQEAgQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6
OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0Mgb3BlcmEKICAgICByZXR1cm4gYXBw
ZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldEpTVmFsdWVSZXN1bHQob3BlcmF0aW9uLCBkc3Qp
OwogfQogCitBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJh
dGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0ogb3BlcmF0aW9uLCBpbnQgZHN0LCBHUFJSZWcgYXJn
MSwgSlNDZWxsKiBjZWxsLCBHUFJSZWcgYXJnMikKK3sKKyAgICBzZXR1cEFyZ3VtZW50c1dpdGhF
eGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSwgYXJnMik7CisgICAgcmV0dXJuIGFw
cGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRKU1ZhbHVlUmVzdWx0KG9wZXJhdGlvbiwgZHN0
KTsKK30KKyAgICAKIEFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxs
T3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VQIG9wZXJhdGlvbiwgaW50IGRzdCwgdm9pZCogcG9p
bnRlcikKIHsKICAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihw
b2ludGVyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29k
ZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAppbmRleCA1
ZDRkMGI5ZmU4NzY4YWMyZmU1OTY1NzVlZDRhYTgxMjIwZGFkNmM3Li5kY2UzNzEyNWM0ZWZiMDU0
YTgwNjE1NGUwYWQyM2FkZmY5ZWE0YjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVE9wY29kZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3Bjb2Rlcy5jcHAKQEAgLTk4Nyw2ICs5ODcsMjkgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2Z1
bmNfZXhwKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgY2FsbE9wZXJhdGlv
bihvcGVyYXRpb25OZXdGdW5jdGlvbiwgZHN0LCByZWdUMCwgZnVuY0V4cHIpOwogICAgIGRvbmUu
bGluayh0aGlzKTsKIH0KKyAgICAKK3ZvaWQgSklUOjplbWl0X29wX25ld19hcnJvd19mdW5jX2V4
cChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQoreworICAgIEp1bXAgbm90VW5kZWZp
bmVkU2NvcGU7CisgICAgaW50IGRzdCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7
CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJ
bnN0cnVjdGlvblsyXS51Lm9wZXJhbmQsIHJlZ1QwKTsKKyAgICBlbWl0R2V0VmlydHVhbFJlZ2lz
dGVyKGN1cnJlbnRJbnN0cnVjdGlvbls0XS51Lm9wZXJhbmQsIHJlZ1QxKTsKKyAgICBub3RVbmRl
ZmluZWRTY29wZSA9IGJyYW5jaDY0KE5vdEVxdWFsLCByZWdUMCwgVHJ1c3RlZEltbTY0KEpTVmFs
dWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSkpOworICAgIHN0b3JlNjQoVHJ1c3RlZEltbTY0KEpT
VmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSksIEFkZHJlc3MoY2FsbEZyYW1lUmVnaXN0ZXIs
IHNpemVvZihSZWdpc3RlcikgKiBkc3QpKTsKKyNlbHNlCisgICAgZW1pdExvYWRQYXlsb2FkKGN1
cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQsIHJlZ1QwKTsKKyAgICBlbWl0TG9hZFBheWxv
YWQoY3VycmVudEluc3RydWN0aW9uWzRdLnUub3BlcmFuZCwgcmVnVDEpOworICAgIG5vdFVuZGVm
aW5lZFNjb3BlID0gYnJhbmNoMzIoTm90RXF1YWwsIHRhZ0ZvcihjdXJyZW50SW5zdHJ1Y3Rpb25b
Ml0udS5vcGVyYW5kKSwgVHJ1c3RlZEltbTMyKEpTVmFsdWU6OlVuZGVmaW5lZFRhZykpOworICAg
IGVtaXRTdG9yZShkc3QsIGpzVW5kZWZpbmVkKCkpOworI2VuZGlmCisgICAgSnVtcCBkb25lID0g
anVtcCgpOworICAgIG5vdFVuZGVmaW5lZFNjb3BlLmxpbmsodGhpcyk7CisgICAgCisgICAgRnVu
Y3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlvbiA9IG1fY29kZUJsb2NrLT5mdW5jdGlvbkV4cHIoY3Vy
cmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZCk7CisgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRp
b25OZXdBcnJvd0Z1bmN0aW9uLCBkc3QsIHJlZ1QwLCBmdW5jdGlvbiwgcmVnVDEpOworICAgIGRv
bmUubGluayh0aGlzKTsKK30KIAogdm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2FycmF5KEluc3RydWN0
aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRPcGVyYXRpb25zLmNwcAppbmRleCA5OGQ4NzczZjM4ZDk1ZjJiOGU1OGNkYmQ3ODM2MDI5ODE1
NDAwNzEzLi45NjdjYThlYWY3NWIxMGRlODAxMGYyMTRkNGVjNjc3MjQ3ZmU0MmMxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTIwLDcgKzIwLDcg
QEAKICAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKICAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgpAQCAtNDIsNiAr
NDIsOCBAQAogI2luY2x1ZGUgIkhvc3RDYWxsUmV0dXJuVmFsdWUuaCIKICNpbmNsdWRlICJKSVQu
aCIKICNpbmNsdWRlICJKSVRUb0RGR0RlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjay5oIgorI2lu
Y2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgog
I2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0NhdGNoU2NvcGUuaCIKICNpbmNs
dWRlICJKU0Z1bmN0aW9uTmFtZVNjb3BlLmgiCkBAIC02Nyw3ICs2OSw3IEBAIHZvaWQgcHVzaE5h
bWVTY29wZShFeGVjU3RhdGUqIGV4ZWMsIGludDMyX3QgZHN0LCBTeW1ib2xUYWJsZSogc3ltYm9s
VGFibGUsIEVuY29kCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxs
RnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7Ci0gICAgCisKICAgICBBU1NFUlQoIUpJVENv
ZGU6OmlzT3B0aW1pemluZ0pJVChleGVjLT5jb2RlQmxvY2soKS0+aml0VHlwZSgpKSk7CiAKICAg
ICAvLyBGSVhNRTogVGhpcyB3b24ndCB3b3JrIGlmIHRoaXMgb3BlcmF0aW9uIGlzIGNhbGxlZCBm
cm9tIHRoZSBERkcgb3IgRlRMLgpAQCAtMTUxLDcgKzE1Myw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0
dWJJbmZvCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1l
VHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBKU1ZhbHVlIGJhc2VWYWx1ZSA9
IEpTVmFsdWU6OmRlY29kZShiYXNlKTsKICAgICBQcm9wZXJ0eVNsb3Qgc2xvdChiYXNlVmFsdWUp
OwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCB1aWQpOwpA
QCAtMTY5LDcgKzE3MSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
R2V0QnlJZEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyCiAgICAgSlNWYWx1ZSBi
YXNlVmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoYmFzZSk7CiAgICAgUHJvcGVydHlTbG90IHNsb3Qo
YmFzZVZhbHVlKTsKICAgICBib29sIGhhc1Jlc3VsdCA9IGJhc2VWYWx1ZS5nZXRQcm9wZXJ0eVNs
b3QoZXhlYywgaWRlbnQsIHNsb3QpOwotICAgIAorCiAgICAgaWYgKGFjY2Vzc1R5cGUgPT0gc3Rh
dGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpKQogICAgICAgICBidWls
ZEdldEJ5SURMaXN0KGV4ZWMsIGJhc2VWYWx1ZSwgaWRlbnQsIHNsb3QsICpzdHViSW5mbyk7CiAK
QEAgLTE4NCwxMyArMTg2LDEzIEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uR2V0QnlJZE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlCiAKICAgICBKU1Zh
bHVlIGJhc2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShiYXNlKTsKICAgICBQcm9wZXJ0eVNsb3Qg
c2xvdChiYXNlVmFsdWUpOwotICAgIAorCiAgICAgYm9vbCBoYXNSZXN1bHQgPSBiYXNlVmFsdWUu
Z2V0UHJvcGVydHlTbG90KGV4ZWMsIGlkZW50LCBzbG90KTsKICAgICBpZiAoc3R1YkluZm8tPnNl
ZW4pCiAgICAgICAgIHJlcGF0Y2hHZXRCeUlEKGV4ZWMsIGJhc2VWYWx1ZSwgaWRlbnQsIHNsb3Qs
ICpzdHViSW5mbyk7CiAgICAgZWxzZQogICAgICAgICBzdHViSW5mby0+c2VlbiA9IHRydWU7Ci0g
ICAgCisKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGhhc1Jlc3VsdD8gc2xvdC5nZXRWYWx1
ZShleGVjLCBpZGVudCkgOiBqc1VuZGVmaW5lZCgpKTsKIAogfQpAQCAtMTk5LDI1ICsyMDEsMjUg
QEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25Jbk9wdGltaXplKEV4ZWNT
dGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkkKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsK
ICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAg
IGlmICghYmFzZS0+aXNPYmplY3QoKSkgewogICAgICAgICB2bS0+dGhyb3dFeGNlcHRpb24oZXhl
YywgY3JlYXRlSW52YWxpZEluUGFyYW1ldGVyRXJyb3IoZXhlYywgYmFzZSkpOwogICAgICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogICAgIH0KLSAgICAKKwogICAg
IEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSA9IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZv
LT5hY2Nlc3NUeXBlKTsKIAogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVyOjpmcm9t
VWlkKHZtLCBrZXkpOwogICAgIFByb3BlcnR5U2xvdCBzbG90KGJhc2UpOwogICAgIGJvb2wgcmVz
dWx0ID0gYXNPYmplY3QoYmFzZSktPmdldFByb3BlcnR5U2xvdChleGVjLCBpZGVudCwgc2xvdCk7
Ci0gICAgCisKICAgICBSRUxFQVNFX0FTU0VSVChhY2Nlc3NUeXBlID09IHN0dWJJbmZvLT5hY2Nl
c3NUeXBlKTsKLSAgICAKKwogICAgIGlmIChzdHViSW5mby0+c2VlbikKICAgICAgICAgcmVwYXRj
aEluKGV4ZWMsIGJhc2UsIGlkZW50LCByZXN1bHQsIHNsb3QsICpzdHViSW5mbyk7CiAgICAgZWxz
ZQogICAgICAgICBzdHViSW5mby0+c2VlbiA9IHRydWU7Ci0gICAgCisKICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihyZXN1bHQpKTsKIH0KIApAQCAtMjQ3LDcgKzI0OSw3IEBA
IHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0KEV4ZWNTdGF0ZSogZXhl
YywgU3RydWN0dXJlU3R1YkluZm8qLCBFCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAg
ICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJ
ZGVudGlmaWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBQdXRQ
cm9wZXJ0eVNsb3Qgc2xvdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpLCB0cnVlLCBleGVj
LT5jb2RlQmxvY2soKS0+cHV0QnlJZENvbnRleHQoKSk7CiAgICAgSlNWYWx1ZTo6ZGVjb2RlKGVu
Y29kZWRCYXNlKS5wdXQoZXhlYywgaWRlbnQsIEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUp
LCBzbG90KTsKQEAgLTI1Nyw3ICsyNTksNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
UHV0QnlJZE5vblN0cmljdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKgogewog
ICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFj
ZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAgSWRlbnRpZmllciBpZGVudCA9IElkZW50aWZpZXI6
OmZyb21VaWQodm0sIHVpZCk7CiAgICAgUHV0UHJvcGVydHlTbG90IHNsb3QoSlNWYWx1ZTo6ZGVj
b2RlKGVuY29kZWRCYXNlKSwgZmFsc2UsIGV4ZWMtPmNvZGVCbG9jaygpLT5wdXRCeUlkQ29udGV4
dCgpKTsKICAgICBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpLnB1dChleGVjLCBpZGVudCwg
SlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSksIHNsb3QpOwpAQCAtMjY3LDcgKzI2OSw3IEBA
IHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0KEV4ZWNTdGF0
ZSogZXhlYywgU3RydWN0dXJlU3R1YkluCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAg
ICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJ
ZGVudGlmaWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBQdXRQ
cm9wZXJ0eVNsb3Qgc2xvdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpLCB0cnVlLCBleGVj
LT5jb2RlQmxvY2soKS0+cHV0QnlJZENvbnRleHQoKSk7CiAgICAgYXNPYmplY3QoSlNWYWx1ZTo6
ZGVjb2RlKGVuY29kZWRCYXNlKSktPnB1dERpcmVjdChleGVjLT52bSgpLCBpZGVudCwgSlNWYWx1
ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSksIHNsb3QpOwpAQCAtMjc3LDcgKzI3OSw3IEBAIHZvaWQg
SklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0KEV4ZWNTdGF0ZSog
ZXhlYywgU3RydWN0dXJlU3R1CiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0
aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJZGVudGlm
aWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBQdXRQcm9wZXJ0
eVNsb3Qgc2xvdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpLCBmYWxzZSwgZXhlYy0+Y29k
ZUJsb2NrKCktPnB1dEJ5SWRDb250ZXh0KCkpOwogICAgIGFzT2JqZWN0KEpTVmFsdWU6OmRlY29k
ZShlbmNvZGVkQmFzZSkpLT5wdXREaXJlY3QoZXhlYy0+dm0oKSwgaWRlbnQsIEpTVmFsdWU6OmRl
Y29kZShlbmNvZGVkVmFsdWUpLCBzbG90KTsKQEAgLTI4Nyw3ICsyODksNyBAQCB2b2lkIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZFN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywg
U3RydWN0dXJlU3R1YgogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNh
bGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAgSWRlbnRpZmllciBp
ZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIHVpZCk7CiAgICAgQWNjZXNzVHlwZSBhY2Nl
c3NUeXBlID0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpOwog
CkBAIC0yOTcsMTAgKzI5OSwxMCBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJ
ZFN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YgogCiAgICAgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlVmFsdWUuaXNDZWxsKCkgPyBiYXNlVmFsdWUuYXNDZWxs
KCktPnN0cnVjdHVyZSgqdm0pIDogbnVsbHB0cjsKICAgICBiYXNlVmFsdWUucHV0KGV4ZWMsIGlk
ZW50LCB2YWx1ZSwgc2xvdCk7Ci0gICAgCisKICAgICBpZiAoYWNjZXNzVHlwZSAhPSBzdGF0aWNf
Y2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSkpCiAgICAgICAgIHJldHVybjsK
LSAgICAKKwogICAgIGlmIChzdHViSW5mby0+c2VlbikKICAgICAgICAgcmVwYXRjaFB1dEJ5SUQo
ZXhlYywgYmFzZVZhbHVlLCBzdHJ1Y3R1cmUsIGlkZW50LCBzbG90LCAqc3R1YkluZm8sIE5vdERp
cmVjdCk7CiAgICAgZWxzZQpAQCAtMzExLDcgKzMxMyw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1
cmVTCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJh
Y2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRl
bnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUgPSBz
dGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSk7CiAKQEAgLTMxOSwx
MiArMzIxLDEyIEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0
T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTCiAgICAgSlNWYWx1ZSBiYXNlVmFs
dWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpOwogICAgIFB1dFByb3BlcnR5U2xvdCBz
bG90KGJhc2VWYWx1ZSwgZmFsc2UsIGV4ZWMtPmNvZGVCbG9jaygpLT5wdXRCeUlkQ29udGV4dCgp
KTsKIAotICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZVZhbHVlLmlzQ2VsbCgpID8gYmFz
ZVZhbHVlLmFzQ2VsbCgpLT5zdHJ1Y3R1cmUoKnZtKSA6IG51bGxwdHI7ICAgIAorICAgIFN0cnVj
dHVyZSogc3RydWN0dXJlID0gYmFzZVZhbHVlLmlzQ2VsbCgpID8gYmFzZVZhbHVlLmFzQ2VsbCgp
LT5zdHJ1Y3R1cmUoKnZtKSA6IG51bGxwdHI7CiAgICAgYmFzZVZhbHVlLnB1dChleGVjLCBpZGVu
dCwgdmFsdWUsIHNsb3QpOwotICAgIAorCiAgICAgaWYgKGFjY2Vzc1R5cGUgIT0gc3RhdGljX2Nh
c3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpKQogICAgICAgICByZXR1cm47Ci0g
ICAgCisKICAgICBpZiAoc3R1YkluZm8tPnNlZW4pCiAgICAgICAgIHJlcGF0Y2hQdXRCeUlEKGV4
ZWMsIGJhc2VWYWx1ZSwgc3RydWN0dXJlLCBpZGVudCwgc2xvdCwgKnN0dWJJbmZvLCBOb3REaXJl
Y3QpOwogICAgIGVsc2UKQEAgLTMzNSwyMCArMzM3LDIwIEBAIHZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1
Y3R1CiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJh
Y2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRl
bnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUgPSBz
dGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSk7CiAKICAgICBKU1Zh
bHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CiAgICAgSlNPYmplY3Qq
IGJhc2VPYmplY3QgPSBhc09iamVjdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpKTsKICAg
ICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChiYXNlT2JqZWN0LCB0cnVlLCBleGVjLT5jb2RlQmxvY2so
KS0+cHV0QnlJZENvbnRleHQoKSk7Ci0gICAgCisKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9
IGJhc2VPYmplY3QtPnN0cnVjdHVyZSgqdm0pOwogICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdChl
eGVjLT52bSgpLCBpZGVudCwgdmFsdWUsIHNsb3QpOwotICAgIAorCiAgICAgaWYgKGFjY2Vzc1R5
cGUgIT0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpKQogICAg
ICAgICByZXR1cm47Ci0gICAgCisKICAgICBpZiAoc3R1YkluZm8tPnNlZW4pCiAgICAgICAgIHJl
cGF0Y2hQdXRCeUlEKGV4ZWMsIGJhc2VPYmplY3QsIHN0cnVjdHVyZSwgaWRlbnQsIHNsb3QsICpz
dHViSW5mbywgRGlyZWN0KTsKICAgICBlbHNlCkBAIC0zNTksMjAgKzM2MSwyMCBAQCB2b2lkIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmljdE9wdGltaXplKEV4ZWNT
dGF0ZSogZXhlYywgU3RydQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2
ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAgSWRlbnRpZmll
ciBpZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIHVpZCk7CiAgICAgQWNjZXNzVHlwZSBh
Y2Nlc3NUeXBlID0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUp
OwogCiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOwog
ICAgIEpTT2JqZWN0KiBiYXNlT2JqZWN0ID0gYXNPYmplY3QoSlNWYWx1ZTo6ZGVjb2RlKGVuY29k
ZWRCYXNlKSk7CiAgICAgUHV0UHJvcGVydHlTbG90IHNsb3QoYmFzZU9iamVjdCwgZmFsc2UsIGV4
ZWMtPmNvZGVCbG9jaygpLT5wdXRCeUlkQ29udGV4dCgpKTsKLSAgICAKKwogICAgIFN0cnVjdHVy
ZSogc3RydWN0dXJlID0gYmFzZU9iamVjdC0+c3RydWN0dXJlKCp2bSk7CiAgICAgYmFzZU9iamVj
dC0+cHV0RGlyZWN0KGV4ZWMtPnZtKCksIGlkZW50LCB2YWx1ZSwgc2xvdCk7Ci0gICAgCisKICAg
ICBpZiAoYWNjZXNzVHlwZSAhPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNj
ZXNzVHlwZSkpCiAgICAgICAgIHJldHVybjsKLSAgICAKKwogICAgIGlmIChzdHViSW5mby0+c2Vl
bikKICAgICAgICAgcmVwYXRjaFB1dEJ5SUQoZXhlYywgYmFzZU9iamVjdCwgc3RydWN0dXJlLCBp
ZGVudCwgc2xvdCwgKnN0dWJJbmZvLCBEaXJlY3QpOwogICAgIGVsc2UKQEAgLTM4MywxNSArMzg1
LDE1IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0QnVpbGRMaXN0
KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1CiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZt
KCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisK
ICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAg
ICBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUgPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5m
by0+YWNjZXNzVHlwZSk7CiAKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVu
Y29kZWRWYWx1ZSk7CiAgICAgSlNWYWx1ZSBiYXNlVmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5j
b2RlZEJhc2UpOwogICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KGJhc2VWYWx1ZSwgdHJ1ZSwgZXhl
Yy0+Y29kZUJsb2NrKCktPnB1dEJ5SWRDb250ZXh0KCkpOwotICAgIAotICAgIFN0cnVjdHVyZSog
c3RydWN0dXJlID0gYmFzZVZhbHVlLmlzQ2VsbCgpID8gYmFzZVZhbHVlLmFzQ2VsbCgpLT5zdHJ1
Y3R1cmUoKnZtKSA6IG51bGxwdHI7IAorCisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNl
VmFsdWUuaXNDZWxsKCkgPyBiYXNlVmFsdWUuYXNDZWxsKCktPnN0cnVjdHVyZSgqdm0pIDogbnVs
bHB0cjsKICAgICBiYXNlVmFsdWUucHV0KGV4ZWMsIGlkZW50LCB2YWx1ZSwgc2xvdCk7CiAKICAg
ICBpZiAoYWNjZXNzVHlwZSAhPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNj
ZXNzVHlwZSkpCkBAIC00MDQsNyArNDA2LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
blB1dEJ5SWROb25TdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUKIHsK
ICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJh
Y2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVy
Ojpmcm9tVWlkKHZtLCB1aWQpOwogICAgIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSA9IHN0YXRpY19j
YXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKTsKIApAQCAtNDE0LDEwICs0MTYs
MTAgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3RCdWlsZExp
c3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUKIAogICAgIFN0cnVjdHVyZSogc3RydWN0dXJl
ID0gYmFzZVZhbHVlLmlzQ2VsbCgpID8gYmFzZVZhbHVlLmFzQ2VsbCgpLT5zdHJ1Y3R1cmUoKnZt
KSA6IG51bGxwdHI7CiAgICAgYmFzZVZhbHVlLnB1dChleGVjLCBpZGVudCwgdmFsdWUsIHNsb3Qp
OwotICAgIAorCiAgICAgaWYgKGFjY2Vzc1R5cGUgIT0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4o
c3R1YkluZm8tPmFjY2Vzc1R5cGUpKQogICAgICAgICByZXR1cm47Ci0gICAgCisKICAgICBidWls
ZFB1dEJ5SWRMaXN0KGV4ZWMsIGJhc2VWYWx1ZSwgc3RydWN0dXJlLCBpZGVudCwgc2xvdCwgKnN0
dWJJbmZvLCBOb3REaXJlY3QpOwogfQogCkBAIC00MjUsMjAgKzQyNywyMCBAQCB2b2lkIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUq
IGV4ZWMsIFN0cnVjdAogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNh
bGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAgSWRlbnRpZmllciBp
ZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIHVpZCk7CiAgICAgQWNjZXNzVHlwZSBhY2Nl
c3NUeXBlID0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpOwot
ICAgIAorCiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUp
OwogICAgIEpTT2JqZWN0KiBiYXNlT2JqZWN0ID0gYXNPYmplY3QoSlNWYWx1ZTo6ZGVjb2RlKGVu
Y29kZWRCYXNlKSk7CiAgICAgUHV0UHJvcGVydHlTbG90IHNsb3QoYmFzZU9iamVjdCwgdHJ1ZSwg
ZXhlYy0+Y29kZUJsb2NrKCktPnB1dEJ5SWRDb250ZXh0KCkpOwogCi0gICAgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUgPSBiYXNlT2JqZWN0LT5zdHJ1Y3R1cmUoKnZtKTsgICAgCisgICAgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUgPSBiYXNlT2JqZWN0LT5zdHJ1Y3R1cmUoKnZtKTsKICAgICBiYXNlT2JqZWN0
LT5wdXREaXJlY3QoKnZtLCBpZGVudCwgdmFsdWUsIHNsb3QpOwotICAgIAorCiAgICAgaWYgKGFj
Y2Vzc1R5cGUgIT0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUp
KQogICAgICAgICByZXR1cm47Ci0gICAgCisKICAgICBidWlsZFB1dEJ5SWRMaXN0KGV4ZWMsIGJh
c2VPYmplY3QsIHN0cnVjdHVyZSwgaWRlbnQsIHNsb3QsICpzdHViSW5mbywgRGlyZWN0KTsKIH0K
IApAQCAtNDQ2LDcgKzQ0OCw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlk
RGlyZWN0Tm9uU3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RyCiB7CiAgICAgVk0q
IHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwg
ZXhlYyk7Ci0gICAgCisKICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVp
ZCh2bSwgdWlkKTsKICAgICBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUgPSBzdGF0aWNfY2FzdDxBY2Nl
c3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSk7CiAKQEAgLTQ1NCwxMiArNDU2LDEyIEBAIHZv
aWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0QnVpbGRMaXN0
KEV4ZWNTdGF0ZSogZXhlYywgU3RyCiAgICAgSlNPYmplY3QqIGJhc2VPYmplY3QgPSBhc09iamVj
dChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpKTsKICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xv
dChiYXNlT2JqZWN0LCBmYWxzZSwgZXhlYy0+Y29kZUJsb2NrKCktPnB1dEJ5SWRDb250ZXh0KCkp
OwogCi0gICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlT2JqZWN0LT5zdHJ1Y3R1cmUoKnZt
KTsgICAgCisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlT2JqZWN0LT5zdHJ1Y3R1cmUo
KnZtKTsKICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3QoKnZtLCBpZGVudCwgdmFsdWUsIHNsb3Qp
OwogCiAgICAgaWYgKGFjY2Vzc1R5cGUgIT0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1Yklu
Zm8tPmFjY2Vzc1R5cGUpKQogICAgICAgICByZXR1cm47Ci0gICAgCisKICAgICBidWlsZFB1dEJ5
SWRMaXN0KGV4ZWMsIGJhc2VPYmplY3QsIHN0cnVjdHVyZSwgaWRlbnQsIHNsb3QsICpzdHViSW5m
bywgRGlyZWN0KTsKIH0KIApAQCAtNTc2LDcgKzU3OCw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25EaXJlY3RQdXRCeVZhbChFeGVjU3RhdGUqIGNhbGxGcmFtZSwgRW5jb2RlZEpTVmFs
dWUKIHsKICAgICBWTSYgdm0gPSBjYWxsRnJhbWUtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1l
VHJhY2VyIHRyYWNlcigmdm0sIGNhbGxGcmFtZSk7Ci0gICAgCisKICAgICBKU1ZhbHVlIGJhc2VW
YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZVZhbHVlKTsKICAgICBKU1ZhbHVlIHN1
YnNjcmlwdCA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkU3Vic2NyaXB0KTsKICAgICBKU1ZhbHVl
IHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CkBAIC01ODUsMTIgKzU4Nywx
MiBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uRGlyZWN0UHV0QnlWYWwoRXhlY1N0YXRl
KiBjYWxsRnJhbWUsIEVuY29kZWRKU1ZhbHVlCiAgICAgaWYgKHN1YnNjcmlwdC5pc0ludDMyKCkp
IHsKICAgICAgICAgLy8gU2VlIGlmIGl0J3Mgd29ydGggb3B0aW1pemluZyBhdCBhbGwuCiAgICAg
ICAgIGJvb2wgZGlkT3B0aW1pemUgPSBmYWxzZTsKLSAgICAgICAgCisKICAgICAgICAgdW5zaWdu
ZWQgYnl0ZWNvZGVPZmZzZXQgPSBjYWxsRnJhbWUtPmxvY2F0aW9uQXNCeXRlY29kZU9mZnNldCgp
OwogICAgICAgICBBU1NFUlQoYnl0ZWNvZGVPZmZzZXQpOwogICAgICAgICBCeVZhbEluZm8mIGJ5
VmFsSW5mbyA9IGNhbGxGcmFtZS0+Y29kZUJsb2NrKCktPmdldEJ5VmFsSW5mbyhieXRlY29kZU9m
ZnNldCAtIDEpOwogICAgICAgICBBU1NFUlQoIWJ5VmFsSW5mby5zdHViUm91dGluZSk7Ci0gICAg
ICAgIAorCiAgICAgICAgIGlmIChoYXNPcHRpbWl6YWJsZUluZGV4aW5nKG9iamVjdC0+c3RydWN0
dXJlKHZtKSkpIHsKICAgICAgICAgICAgIC8vIEF0dGVtcHQgdG8gb3B0aW1pemUuCiAgICAgICAg
ICAgICBKSVRBcnJheU1vZGUgYXJyYXlNb2RlID0gaml0QXJyYXlNb2RlRm9yU3RydWN0dXJlKG9i
amVjdC0+c3RydWN0dXJlKHZtKSk7CkBAIC01OTksNyArNjAxLDcgQEAgdm9pZCBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkRpcmVjdFB1dEJ5VmFsKEV4ZWNTdGF0ZSogY2FsbEZyYW1lLCBFbmNvZGVk
SlNWYWx1ZQogICAgICAgICAgICAgICAgIGRpZE9wdGltaXplID0gdHJ1ZTsKICAgICAgICAgICAg
IH0KICAgICAgICAgfQotICAgICAgICAKKwogICAgICAgICBpZiAoIWRpZE9wdGltaXplKSB7CiAg
ICAgICAgICAgICAvLyBJZiB3ZSB0YWtlIHNsb3cgcGF0aCBtb3JlIHRoYW4gMTAgdGltZXMgd2l0
aG91dCBwYXRjaGluZyB0aGVuIG1ha2Ugc3VyZSB3ZQogICAgICAgICAgICAgLy8gbmV2ZXIgbWFr
ZSB0aGF0IG1pc3Rha2UgYWdhaW4uIE9yLCBpZiB3ZSBmYWlsZWQgdG8gcGF0Y2ggYW5kIHdlIGhh
dmUgc29tZSBvYmplY3QKQEAgLTYyMCw3ICs2MjIsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uUHV0QnlWYWxHZW5lcmljKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5j
bwogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2Vy
IHRyYWNlcigmdm0sIGV4ZWMpOwotICAgIAorCiAgICAgSlNWYWx1ZSBiYXNlVmFsdWUgPSBKU1Zh
bHVlOjpkZWNvZGUoZW5jb2RlZEJhc2VWYWx1ZSk7CiAgICAgSlNWYWx1ZSBzdWJzY3JpcHQgPSBK
U1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFN1YnNjcmlwdCk7CiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpT
VmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOwpAQCAtNjMzLDcgKzYzNSw3IEBAIHZvaWQgSklU
X09QRVJBVElPTiBvcGVyYXRpb25EaXJlY3RQdXRCeVZhbEdlbmVyaWMoRXhlY1N0YXRlKiBleGVj
LCBFbmNvZGVkSlNWYWx1CiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBOYXRpdmVD
YWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7Ci0gICAgCisKICAgICBKU1ZhbHVlIGJh
c2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZVZhbHVlKTsKICAgICBKU1ZhbHVl
IHN1YnNjcmlwdCA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkU3Vic2NyaXB0KTsKICAgICBKU1Zh
bHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CkBAIC02NTcsNyArNjU5
LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25DYWxsRXZhbChFeGVj
U3RhdGUqIGV4ZWMsIEV4ZWNTdGF0ZSogZXhlY0MKICAgICBKU1ZhbHVlIHJlc3VsdCA9IGV2YWwo
ZXhlY0NhbGxlZSk7CiAgICAgaWYgKHZtLT5leGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIEVu
Y29kZWRKU1ZhbHVlKCk7Ci0gICAgCisKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3Vs
dCk7CiB9CiAKQEAgLTY3MSw5ICs2NzMsOSBAQCBzdGF0aWMgdm9pZCogaGFuZGxlSG9zdENhbGwo
RXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBKU1ZhbHVlIGNhbGxlZSwgQ29kZVNwZWNpYWxpegogICAg
IGlmIChraW5kID09IENvZGVGb3JDYWxsKSB7CiAgICAgICAgIENhbGxEYXRhIGNhbGxEYXRhOwog
ICAgICAgICBDYWxsVHlwZSBjYWxsVHlwZSA9IGdldENhbGxEYXRhKGNhbGxlZSwgY2FsbERhdGEp
OwotICAgIAorCiAgICAgICAgIEFTU0VSVChjYWxsVHlwZSAhPSBDYWxsVHlwZUpTKTsKLSAgICAK
KwogICAgICAgICBpZiAoY2FsbFR5cGUgPT0gQ2FsbFR5cGVIb3N0KSB7CiAgICAgICAgICAgICBO
YXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjQ2FsbGVlKTsKICAgICAgICAgICAg
IGV4ZWNDYWxsZWUtPnNldENhbGxlZShhc09iamVjdChjYWxsZWUpKTsKQEAgLTY4MywxOSArNjg1
LDE5IEBAIHN0YXRpYyB2b2lkKiBoYW5kbGVIb3N0Q2FsbChFeGVjU3RhdGUqIGV4ZWNDYWxsZWUs
IEpTVmFsdWUgY2FsbGVlLCBDb2RlU3BlY2lhbGl6CiAKICAgICAgICAgICAgIHJldHVybiByZWlu
dGVycHJldF9jYXN0PHZvaWQqPihnZXRIb3N0Q2FsbFJldHVyblZhbHVlKTsKICAgICAgICAgfQot
ICAgIAorCiAgICAgICAgIEFTU0VSVChjYWxsVHlwZSA9PSBDYWxsVHlwZU5vbmUpOwogICAgICAg
ICBleGVjLT52bSgpLnRocm93RXhjZXB0aW9uKGV4ZWMsIGNyZWF0ZU5vdEFGdW5jdGlvbkVycm9y
KGV4ZWMsIGNhbGxlZSkpOwogICAgICAgICByZXR1cm4gdm0tPmdldENUSVN0dWIodGhyb3dFeGNl
cHRpb25Gcm9tQ2FsbFNsb3dQYXRoR2VuZXJhdG9yKS5jb2RlKCkuZXhlY3V0YWJsZUFkZHJlc3Mo
KTsKICAgICB9CiAKICAgICBBU1NFUlQoa2luZCA9PSBDb2RlRm9yQ29uc3RydWN0KTsKLSAgICAK
KwogICAgIENvbnN0cnVjdERhdGEgY29uc3RydWN0RGF0YTsKICAgICBDb25zdHJ1Y3RUeXBlIGNv
bnN0cnVjdFR5cGUgPSBnZXRDb25zdHJ1Y3REYXRhKGNhbGxlZSwgY29uc3RydWN0RGF0YSk7Ci0g
ICAgCisKICAgICBBU1NFUlQoY29uc3RydWN0VHlwZSAhPSBDb25zdHJ1Y3RUeXBlSlMpOwotICAg
IAorCiAgICAgaWYgKGNvbnN0cnVjdFR5cGUgPT0gQ29uc3RydWN0VHlwZUhvc3QpIHsKICAgICAg
ICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlY0NhbGxlZSk7CiAgICAgICAg
IGV4ZWNDYWxsZWUtPnNldENhbGxlZShhc09iamVjdChjYWxsZWUpKTsKQEAgLTcwNSw3ICs3MDcs
NyBAQCBzdGF0aWMgdm9pZCogaGFuZGxlSG9zdENhbGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBK
U1ZhbHVlIGNhbGxlZSwgQ29kZVNwZWNpYWxpegogCiAgICAgICAgIHJldHVybiByZWludGVycHJl
dF9jYXN0PHZvaWQqPihnZXRIb3N0Q2FsbFJldHVyblZhbHVlKTsKICAgICB9Ci0gICAgCisKICAg
ICBBU1NFUlQoY29uc3RydWN0VHlwZSA9PSBDb25zdHJ1Y3RUeXBlTm9uZSk7CiAgICAgZXhlYy0+
dm0oKS50aHJvd0V4Y2VwdGlvbihleGVjLCBjcmVhdGVOb3RBQ29uc3RydWN0b3JFcnJvcihleGVj
LCBjYWxsZWUpKTsKICAgICByZXR1cm4gdm0tPmdldENUSVN0dWIodGhyb3dFeGNlcHRpb25Gcm9t
Q2FsbFNsb3dQYXRoR2VuZXJhdG9yKS5jb2RlKCkuZXhlY3V0YWJsZUFkZHJlc3MoKTsKQEAgLTcx
OCw3ICs3MjAsNyBAQCBpbmxpbmUgY2hhciogbGlua0ZvcigKICAgICBFeGVjU3RhdGUqIGV4ZWMg
PSBleGVjQ2FsbGVlLT5jYWxsZXJGcmFtZSgpOwogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwog
ICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAg
SlNWYWx1ZSBjYWxsZWVBc1ZhbHVlID0gZXhlY0NhbGxlZS0+Y2FsbGVlQXNWYWx1ZSgpOwogICAg
IEpTQ2VsbCogY2FsbGVlQXNGdW5jdGlvbkNlbGwgPSBnZXRKU0Z1bmN0aW9uKGNhbGxlZUFzVmFs
dWUpOwogICAgIGlmICghY2FsbGVlQXNGdW5jdGlvbkNlbGwpIHsKQEAgLTc2MSw3ICs3NjMsNyBA
QCBpbmxpbmUgY2hhciogbGlua0ZvcigKICAgICAgICAgY2FsbExpbmtJbmZvLT5zZXRTZWVuKCk7
CiAgICAgZWxzZQogICAgICAgICBsaW5rRm9yKGV4ZWNDYWxsZWUsICpjYWxsTGlua0luZm8sIGNv
ZGVCbG9jaywgY2FsbGVlLCBjb2RlUHRyLCBraW5kLCByZWdpc3RlcnMpOwotICAgIAorCiAgICAg
cmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KGNvZGVQdHIuZXhlY3V0YWJsZUFkZHJlc3Mo
KSk7CiB9CiAKQEAgLTc5Nyw3ICs3OTksNyBAQCBpbmxpbmUgY2hhciogdmlydHVhbEZvcldpdGhG
dW5jdGlvbigKICAgICBjYWxsZWVBc0Z1bmN0aW9uQ2VsbCA9IGdldEpTRnVuY3Rpb24oY2FsbGVl
QXNWYWx1ZSk7CiAgICAgaWYgKFVOTElLRUxZKCFjYWxsZWVBc0Z1bmN0aW9uQ2VsbCkpCiAgICAg
ICAgIHJldHVybiByZWludGVycHJldF9jYXN0PGNoYXIqPihoYW5kbGVIb3N0Q2FsbChleGVjQ2Fs
bGVlLCBjYWxsZWVBc1ZhbHVlLCBraW5kKSk7Ci0gICAgCisKICAgICBKU0Z1bmN0aW9uKiBmdW5j
dGlvbiA9IGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY2FsbGVlQXNGdW5jdGlvbkNlbGwpOwogICAgIEpT
U2NvcGUqIHNjb3BlID0gZnVuY3Rpb24tPnNjb3BlVW5jaGVja2VkKCk7CiAgICAgRXhlY3V0YWJs
ZUJhc2UqIGV4ZWN1dGFibGUgPSBmdW5jdGlvbi0+ZXhlY3V0YWJsZSgpOwpAQCAtODMyLDEyICs4
MzQsMTIgQEAgY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25MaW5rUG9seW1vcnBoaWNDYWxs
KEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSwgQ2FsbExpbmsKICAgICBjaGFyKiByZXN1bHQgPSB2aXJ0
dWFsRm9yV2l0aEZ1bmN0aW9uKGV4ZWNDYWxsZWUsIENvZGVGb3JDYWxsLCBSZWdpc3RlclByZXNl
cnZhdGlvbk5vdFJlcXVpcmVkLCBjYWxsZWVBc0Z1bmN0aW9uQ2VsbCk7CiAKICAgICBsaW5rUG9s
eW1vcnBoaWNDYWxsKGV4ZWNDYWxsZWUsICpjYWxsTGlua0luZm8sIENhbGxWYXJpYW50KGNhbGxl
ZUFzRnVuY3Rpb25DZWxsKSwgUmVnaXN0ZXJQcmVzZXJ2YXRpb25Ob3RSZXF1aXJlZCk7Ci0gICAg
CisKICAgICByZXR1cm4gcmVzdWx0OwogfQogCiBjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
blZpcnR1YWxDYWxsKEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSwgQ2FsbExpbmtJbmZvKikKLXsgICAg
Cit7CiAgICAgcmV0dXJuIHZpcnR1YWxGb3IoZXhlY0NhbGxlZSwgQ29kZUZvckNhbGwsIFJlZ2lz
dGVyUHJlc2VydmF0aW9uTm90UmVxdWlyZWQpOwogfQogCkBAIC04NTIsMTIgKzg1NCwxMiBAQCBj
aGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkxpbmtQb2x5bW9ycGhpY0NhbGxUaGF0UHJlc2Vy
dmVzUmVncyhFeGVjU3RhdGUqIGV4ZQogICAgIGNoYXIqIHJlc3VsdCA9IHZpcnR1YWxGb3JXaXRo
RnVuY3Rpb24oZXhlY0NhbGxlZSwgQ29kZUZvckNhbGwsIE11c3RQcmVzZXJ2ZVJlZ2lzdGVycywg
Y2FsbGVlQXNGdW5jdGlvbkNlbGwpOwogCiAgICAgbGlua1BvbHltb3JwaGljQ2FsbChleGVjQ2Fs
bGVlLCAqY2FsbExpbmtJbmZvLCBDYWxsVmFyaWFudChjYWxsZWVBc0Z1bmN0aW9uQ2VsbCksIE11
c3RQcmVzZXJ2ZVJlZ2lzdGVycyk7Ci0gICAgCisKICAgICByZXR1cm4gcmVzdWx0OwogfQogCiBj
aGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblZpcnR1YWxDYWxsVGhhdFByZXNlcnZlc1JlZ3Mo
RXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBDYWxsTGlua0luZm8qKQoteyAgICAKK3sKICAgICByZXR1
cm4gdmlydHVhbEZvcihleGVjQ2FsbGVlLCBDb2RlRm9yQ2FsbCwgTXVzdFByZXNlcnZlUmVnaXN0
ZXJzKTsKIH0KIApAQCAtODcwLDcgKzg3Miw3IEBAIHNpemVfdCBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbkNvbXBhcmVMZXNzKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlCiB7
CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRy
YWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICByZXR1cm4ganNMZXNzPHRydWU+KGV4ZWMsIEpT
VmFsdWU6OmRlY29kZShlbmNvZGVkT3AxKSwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRPcDIpKTsK
IH0KIApAQCAtOTAyLDcgKzkwNCw3IEBAIHNpemVfdCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNv
bnZlcnRKU1ZhbHVlVG9Cb29sZWFuKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTCiB7CiAgICAg
Vk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2
bSwgZXhlYyk7Ci0gICAgCisKICAgICByZXR1cm4gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRPcCku
dG9Cb29sZWFuKGV4ZWMpOwogfQogCkBAIC05MzYsNyArOTM4LDcgQEAgc2l6ZV90IEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uSGFzUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogYmFz
ZSwgSlNTdHIKICAgICBpbnQgcmVzdWx0ID0gYmFzZS0+aGFzUHJvcGVydHkoZXhlYywgcHJvcGVy
dHktPnRvSWRlbnRpZmllcihleGVjKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLSAgICAKKwog
CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5V2l0aFByb2Zp
bGUoRXhlY1N0YXRlKiBleGVjLCBBcnJheUFsbG9jYXRpb25Qcm9maWxlKiBwcm9maWxlLCBjb25z
dCBKU1ZhbHVlKiB2YWx1ZXMsIGludCBzaXplKQogewpAQCAtOTc2LDExICs5NzgsNDQgQEAgRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdGdW5jdGlvbldpdGhJbnZhbGlk
YXRlZFJlYWxsb2NhdGlvbldhdGMKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTRnVuY3Rp
b246OmNyZWF0ZVdpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQodm0sIHN0YXRp
Y19jYXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KGZ1bmN0aW9uRXhlY3V0YWJsZSksIHNjb3BlKSk7
CiB9CiAKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyb3dGdW5j
dGlvbldpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQoRXhlY1N0YXRlKiBleGVj
LCBKU1Njb3BlKiBzY29wZSwgSlNDZWxsKiBmdW5jdGlvbkV4ZWN1dGFibGUsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSkKK3sKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgICAgICBBU1NFUlQoZnVuY3Rpb25FeGVjdXRhYmxlLT5pbmhlcml0cyhGdW5jdGlvbkV4ZWN1
dGFibGU6OmluZm8oKSkpOworICAgICAgICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgICAgICBO
YXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CisgICAgICAgIAorICAgICAg
ICBKU0Z1bmN0aW9uKiBmdW5jID0gIEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgc3RhdGljX2Nhc3Q8
RnVuY3Rpb25FeGVjdXRhYmxlKj4oZnVuY3Rpb25FeGVjdXRhYmxlKSwgc2NvcGUpOworICAgICAg
ICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZXhlYy0+Y2FsbGVlKCktPmdsb2JhbE9i
amVjdCgpOworICAgICAgICAKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU0Fycm93
RnVuY3Rpb246OmNyZWF0ZVdpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQodm0s
IGdsb2JhbE9iamVjdCwgZnVuYywgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKTsKKyNlbHNl
CisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisjZW5kaWYK
K30KKyAgICAKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyb3dG
dW5jdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTU2NvcGUqIHNjb3BlLCBKU0NlbGwqIGZ1bmN0aW9u
RXhlY3V0YWJsZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlKQoreworI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgQVNTRVJUKGZ1bmN0aW9uRXhlY3V0YWJsZS0+aW5o
ZXJpdHMoRnVuY3Rpb25FeGVjdXRhYmxlOjppbmZvKCkpKTsKKyAgICBWTSYgdm0gPSBleGVjLT52
bSgpOworICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKKworICAg
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBleGVjLT5jYWxsZWUoKS0+Z2xvYmFsT2Jq
ZWN0KCk7CisgICAgSlNGdW5jdGlvbiogZnVuYyA9ICBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIHN0
YXRpY19jYXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KGZ1bmN0aW9uRXhlY3V0YWJsZSksIHNjb3Bl
KTsKKworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUo
dm0sIGdsb2JhbE9iamVjdCwgZnVuYywgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKTsKKwor
I2Vsc2UKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworI2VuZGlm
Cit9CisKIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdPYmplY3QoRXhlY1N0YXRl
KiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0o
KTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAKKwog
ICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBzdHJ1Y3R1cmUpOwogfQogCkBA
IC0xMDU0LDEzICsxMDg5LDEzIEBAIFNsb3dQYXRoUmV0dXJuVHlwZSBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgaW50MzJfdCBieXRlCiAgICAgLy8gdGhh
dCBjYXNlIHdlIHdvdWxkIGhhdmUgYWxyZWFkeSBwbGFudGVkIHRoZSBvcHRpbWl6ZWQgY29kZSBi
bG9jayBpbnRvIHRoZSBKUwogICAgIC8vIHN0YWNrLgogICAgIERlZmVyR0NGb3JBV2hpbGUgZGVm
ZXJHQyh2bS5oZWFwKTsKLSAgICAKKwogICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+
Y29kZUJsb2NrKCk7CiAgICAgaWYgKGNvZGVCbG9jay0+aml0VHlwZSgpICE9IEpJVENvZGU6OkJh
c2VsaW5lSklUKSB7CiAgICAgICAgIGRhdGFMb2coIlVuZXhwZWN0ZWQgY29kZSBibG9jayBpbiBC
YXNlbGluZS0+REZHIHRpZXItdXA6ICIsICpjb2RlQmxvY2ssICJcbiIpOwogICAgICAgICBSRUxF
QVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KLSAgICAKKwogICAgIGlmIChieXRlY29k
ZUluZGV4KSB7CiAgICAgICAgIC8vIElmIHdlJ3JlIGF0dGVtcHRpbmcgdG8gT1NSIGZyb20gYSBs
b29wLCBhc3N1bWUgdGhhdCB0aGlzIHNob3VsZCBiZQogICAgICAgICAvLyBzZXBhcmF0ZWx5IG9w
dGltaXplZC4KQEAgLTEwODYsNyArMTEyMSw3IEBAIFNsb3dQYXRoUmV0dXJuVHlwZSBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvbk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgaW50MzJfdCBieXRlCiAg
ICAgICAgICAgICBkYXRhTG9nKCJDaG9vc2luZyBub3QgdG8gb3B0aW1pemUgIiwgKmNvZGVCbG9j
aywgIiB5ZXQsIGJlY2F1c2UgdGhlIHRocmVzaG9sZCBoYXNuJ3QgYmVlbiByZWFjaGVkLlxuIik7
CiAgICAgICAgIHJldHVybiBlbmNvZGVSZXN1bHQoMCwgMCk7CiAgICAgfQotICAgIAorCiAgICAg
aWYgKHZtLmVuYWJsZWRQcm9maWxlcigpKSB7CiAgICAgICAgIHVwZGF0ZUFsbFByZWRpY3Rpb25z
QW5kT3B0aW1pemVBZnRlcldhcm1VcChjb2RlQmxvY2spOwogICAgICAgICByZXR1cm4gZW5jb2Rl
UmVzdWx0KDAsIDApOwpAQCAtMTEyMiw3ICsxMTU3LDcgQEAgU2xvd1BhdGhSZXR1cm5UeXBlIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uT3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBpbnQzMl90IGJ5
dGUKICAgICAgICAgLy8gY291bnQgdGhyZXNob2xkIGRlcGVuZGluZyBvbiB3aGF0IGhhcHBlbmVk
LCBzbyBpZiB0aGUgY29tcGlsYXRpb24gd2FzIGFueXRoaW5nCiAgICAgICAgIC8vIGJ1dCBzdWNj
ZXNzZnVsIHdlIGp1c3Qgd2FudCB0byByZXR1cm4gZWFybHkuIFNlZSB0aGUgY2FzZSBmb3Igd29y
a2xpc3RTdGF0ZSA9PQogICAgICAgICAvLyBERkc6OldvcmtsaXN0OjpDb21waWxlZCwgYmVsb3cu
Ci0gICAgICAgIAorCiAgICAgICAgIC8vIE5vdGUgdGhhdCB3ZSBjb3VsZCBoYXZlIGFsdGVybmF0
aXZlbHkganVzdCBjYWxsZWQgV29ya2xpc3Q6OmNvbXBpbGF0aW9uU3RhdGUoKQogICAgICAgICAv
LyBoZXJlLCBhbmQgaWYgaXQgcmV0dXJuZWQgQ29tcGlsZWQsIHdlIGNvdWxkIGhhdmUgdGhlbiBj
YWxsZWQKICAgICAgICAgLy8gY29tcGxldGVBbmRTY2hlZHVsZU9TUigpIGJlbG93LiBCdXQgdGhh
dCB3b3VsZCBoYXZlIG1lYW50IHRoYXQgaXQgY291bGQgdGFrZQpAQCAtMTE2NSw3ICsxMjAwLDcg
QEAgU2xvd1BhdGhSZXR1cm5UeXBlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uT3B0aW1pemUoRXhl
Y1N0YXRlKiBleGVjLCBpbnQzMl90IGJ5dGUKICAgICAgICAgLy8gY3RpX29wdGltaXplIGZyb20g
YSBsb29wLiBUaGF0J3MgYmVjYXVzZSBpZiB0aGVyZSdzIGFuIG9wdGltaXplZCByZXBsYWNlbWVu
dCwKICAgICAgICAgLy8gdGhlbiBhbGwgY2FsbHMgdG8gdGhpcyBmdW5jdGlvbiB3aWxsIGJlIHJl
bGlua2VkIHRvIHRoZSByZXBsYWNlbWVudCBhbmQgc28KICAgICAgICAgLy8gdGhlIHByb2xvZ3Vl
IE9TUiB3aWxsIG5ldmVyIGZpcmUuCi0gICAgICAgIAorCiAgICAgICAgIC8vIFRoaXMgaXMgYW4g
aW50ZXJlc3RpbmcgdGhyZXNob2xkIGNoZWNrLiBDb25zaWRlciB0aGF0IGEgZnVuY3Rpb24gT1NS
IGV4aXRzCiAgICAgICAgIC8vIGluIHRoZSBtaWRkbGUgb2YgYSBsb29wLCB3aGlsZSBoYXZpbmcg
YSByZWxhdGl2ZWx5IGxvdyBleGl0IGNvdW50LiBUaGUgZXhpdAogICAgICAgICAvLyB3aWxsIHJl
c2V0IHRoZSBleGVjdXRpb24gY291bnRlciB0byBzb21lIHRhcmdldCB0aHJlc2hvbGQsIG1lYW5p
bmcgdGhhdCB0aGlzCkBAIC0xMjExLDE2ICsxMjQ2LDE2IEBAIFNsb3dQYXRoUmV0dXJuVHlwZSBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvbk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgaW50MzJfdCBi
eXRlCiAgICAgICAgIENvbXBpbGF0aW9uUmVzdWx0IHJlc3VsdCA9IERGRzo6Y29tcGlsZSgKICAg
ICAgICAgICAgIHZtLCByZXBsYWNlbWVudENvZGVCbG9jay5nZXQoKSwgMCwgREZHOjpERkdNb2Rl
LCBieXRlY29kZUluZGV4LAogICAgICAgICAgICAgbXVzdEhhbmRsZVZhbHVlcywgSklUVG9ERkdE
ZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2s6OmNyZWF0ZSgpKTsKLSAgICAgICAgCisKICAgICAg
ICAgaWYgKHJlc3VsdCAhPSBDb21waWxhdGlvblN1Y2Nlc3NmdWwpIHsKICAgICAgICAgICAgIEFT
U0VSVChyZXN1bHQgPT0gQ29tcGlsYXRpb25EZWZlcnJlZCB8fCByZXBsYWNlbWVudENvZGVCbG9j
ay0+aGFzT25lUmVmKCkpOwogICAgICAgICAgICAgcmV0dXJuIGVuY29kZVJlc3VsdCgwLCAwKTsK
ICAgICAgICAgfQogICAgIH0KLSAgICAKKwogICAgIENvZGVCbG9jayogb3B0aW1pemVkQ29kZUJs
b2NrID0gY29kZUJsb2NrLT5yZXBsYWNlbWVudCgpOwogICAgIEFTU0VSVChKSVRDb2RlOjppc09w
dGltaXppbmdKSVQob3B0aW1pemVkQ29kZUJsb2NrLT5qaXRUeXBlKCkpKTsKLSAgICAKKwogICAg
IGlmICh2b2lkKiBkYXRhQnVmZmVyID0gREZHOjpwcmVwYXJlT1NSRW50cnkoZXhlYywgb3B0aW1p
emVkQ29kZUJsb2NrLCBieXRlY29kZUluZGV4KSkgewogICAgICAgICBpZiAoT3B0aW9uczo6dmVy
Ym9zZU9TUigpKSB7CiAgICAgICAgICAgICBkYXRhTG9nKApAQCAtMTI2Myw3ICsxMjk4LDcgQEAg
U2xvd1BhdGhSZXR1cm5UeXBlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uT3B0aW1pemUoRXhlY1N0
YXRlKiBleGVjLCBpbnQzMl90IGJ5dGUKICAgICAvLyBPU1IgZmFpbGVkIHRoaXMgdGltZSwgYnV0
IGl0IG1pZ2h0IHN1Y2NlZWQgbmV4dCB0aW1lISBMZXQgdGhlIGNvZGUgcnVuIGEgYml0CiAgICAg
Ly8gbG9uZ2VyIGFuZCB0aGVuIHRyeSBhZ2Fpbi4KICAgICBjb2RlQmxvY2stPm9wdGltaXplQWZ0
ZXJXYXJtVXAoKTsKLSAgICAKKwogICAgIHJldHVybiBlbmNvZGVSZXN1bHQoMCwgMCk7CiB9CiAj
ZW5kaWYKQEAgLTE0MzksNyArMTQ3NCw3IEBAIHN0YXRpYyBKU1ZhbHVlIGdldEJ5VmFsKEV4ZWNT
dGF0ZSogZXhlYywgSlNWYWx1ZSBiYXNlVmFsdWUsIEpTVmFsdWUgc3Vic2NyaXB0LCBSCiB9CiAK
IGV4dGVybiAiQyIgewotICAgIAorCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbkdldEJ5VmFsR2VuZXJpYyhFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRCYXNlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkU3Vic2NyaXB0KQogewogICAgIFZNJiB2bSA9
IGV4ZWMtPnZtKCk7CkBAIC0xNDU3LDcgKzE0OTIsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvbkdldEJ5VmFsRGVmYXVsdChFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRK
UwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKICAgICBKU1Zh
bHVlIGJhc2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSk7CiAgICAgSlNWYWx1
ZSBzdWJzY3JpcHQgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFN1YnNjcmlwdCk7Ci0gICAgCisK
ICAgICBpZiAoYmFzZVZhbHVlLmlzT2JqZWN0KCkgJiYgc3Vic2NyaXB0LmlzSW50MzIoKSkgewog
ICAgICAgICAvLyBTZWUgaWYgaXQncyB3b3J0aCBvcHRpbWl6aW5nIHRoaXMgYXQgYWxsLgogICAg
ICAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QoYmFzZVZhbHVlKTsKQEAgLTE0NjcsNyAr
MTUwMiw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlWYWxE
ZWZhdWx0KEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTCiAgICAgICAgIEFTU0VSVChieXRlY29k
ZU9mZnNldCk7CiAgICAgICAgIEJ5VmFsSW5mbyYgYnlWYWxJbmZvID0gZXhlYy0+Y29kZUJsb2Nr
KCktPmdldEJ5VmFsSW5mbyhieXRlY29kZU9mZnNldCAtIDEpOwogICAgICAgICBBU1NFUlQoIWJ5
VmFsSW5mby5zdHViUm91dGluZSk7Ci0gICAgICAgIAorCiAgICAgICAgIGlmIChoYXNPcHRpbWl6
YWJsZUluZGV4aW5nKG9iamVjdC0+c3RydWN0dXJlKHZtKSkpIHsKICAgICAgICAgICAgIC8vIEF0
dGVtcHQgdG8gb3B0aW1pemUuCiAgICAgICAgICAgICBKSVRBcnJheU1vZGUgYXJyYXlNb2RlID0g
aml0QXJyYXlNb2RlRm9yU3RydWN0dXJlKG9iamVjdC0+c3RydWN0dXJlKHZtKSk7CkBAIC0xNDc2
LDcgKzE1MTEsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5
VmFsRGVmYXVsdChFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKUwogICAgICAgICAgICAgICAgIGRp
ZE9wdGltaXplID0gdHJ1ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICAKKwog
ICAgICAgICBpZiAoIWRpZE9wdGltaXplKSB7CiAgICAgICAgICAgICAvLyBJZiB3ZSB0YWtlIHNs
b3cgcGF0aCBtb3JlIHRoYW4gMTAgdGltZXMgd2l0aG91dCBwYXRjaGluZyB0aGVuIG1ha2Ugc3Vy
ZSB3ZQogICAgICAgICAgICAgLy8gbmV2ZXIgbWFrZSB0aGF0IG1pc3Rha2UgYWdhaW4uIE9yLCBp
ZiB3ZSBmYWlsZWQgdG8gcGF0Y2ggYW5kIHdlIGhhdmUgc29tZSBvYmplY3QKQEAgLTE0OTAsMTgg
KzE1MjUsMTggQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeVZh
bERlZmF1bHQoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlMKICAgICAgICAgICAgIH0KICAgICAg
ICAgfQogICAgIH0KLSAgICAKKwogICAgIEpTVmFsdWUgcmVzdWx0ID0gZ2V0QnlWYWwoZXhlYywg
YmFzZVZhbHVlLCBzdWJzY3JpcHQsIFJldHVybkFkZHJlc3NQdHIoT1VSX1JFVFVSTl9BRERSRVNT
KSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwogfQotICAgIAorCiBFbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkhhc0luZGV4ZWRQcm9wZXJ0eURlZmF1
bHQoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFN1YnNjcmlwdCkKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAg
IE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKICAgICBKU1ZhbHVlIGJh
c2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSk7CiAgICAgSlNWYWx1ZSBzdWJz
Y3JpcHQgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFN1YnNjcmlwdCk7Ci0gICAgCisKICAgICBB
U1NFUlQoYmFzZVZhbHVlLmlzT2JqZWN0KCkpOwogICAgIEFTU0VSVChzdWJzY3JpcHQuaXNVSW50
MzIoKSk7CiAKQEAgLTE1MTIsNyArMTU0Nyw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uSGFzSW5kZXhlZFByb3BlcnR5RGVmYXVsdChFeGVjU3RhdGUqIGV4ZWMsCiAg
ICAgQVNTRVJUKGJ5dGVjb2RlT2Zmc2V0KTsKICAgICBCeVZhbEluZm8mIGJ5VmFsSW5mbyA9IGV4
ZWMtPmNvZGVCbG9jaygpLT5nZXRCeVZhbEluZm8oYnl0ZWNvZGVPZmZzZXQgLSAxKTsKICAgICBB
U1NFUlQoIWJ5VmFsSW5mby5zdHViUm91dGluZSk7Ci0gICAgCisKICAgICBpZiAoaGFzT3B0aW1p
emFibGVJbmRleGluZyhvYmplY3QtPnN0cnVjdHVyZSh2bSkpKSB7CiAgICAgICAgIC8vIEF0dGVt
cHQgdG8gb3B0aW1pemUuCiAgICAgICAgIEpJVEFycmF5TW9kZSBhcnJheU1vZGUgPSBqaXRBcnJh
eU1vZGVGb3JTdHJ1Y3R1cmUob2JqZWN0LT5zdHJ1Y3R1cmUodm0pKTsKQEAgLTE1MjEsNyArMTU1
Niw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFzSW5kZXhlZFBy
b3BlcnR5RGVmYXVsdChFeGVjU3RhdGUqIGV4ZWMsCiAgICAgICAgICAgICBkaWRPcHRpbWl6ZSA9
IHRydWU7CiAgICAgICAgIH0KICAgICB9Ci0gICAgCisKICAgICBpZiAoIWRpZE9wdGltaXplKSB7
CiAgICAgICAgIC8vIElmIHdlIHRha2Ugc2xvdyBwYXRoIG1vcmUgdGhhbiAxMCB0aW1lcyB3aXRo
b3V0IHBhdGNoaW5nIHRoZW4gbWFrZSBzdXJlIHdlCiAgICAgICAgIC8vIG5ldmVyIG1ha2UgdGhh
dCBtaXN0YWtlIGFnYWluLiBPciwgaWYgd2UgZmFpbGVkIHRvIHBhdGNoIGFuZCB3ZSBoYXZlIHNv
bWUgb2JqZWN0CkBAIC0xNTMxLDM0ICsxNTY2LDM0IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uSGFzSW5kZXhlZFByb3BlcnR5RGVmYXVsdChFeGVjU3RhdGUqIGV4ZWMs
CiAgICAgICAgIGlmICgrK2J5VmFsSW5mby5zbG93UGF0aENvdW50ID49IDEwCiAgICAgICAgICAg
ICB8fCBvYmplY3QtPnN0cnVjdHVyZSh2bSktPnR5cGVJbmZvKCkuaW50ZXJjZXB0c0dldE93blBy
b3BlcnR5U2xvdEJ5SW5kZXhFdmVuV2hlbkxlbmd0aElzTm90WmVybygpKSB7CiAgICAgICAgICAg
ICAvLyBEb24ndCBldmVyIHRyeSB0byBvcHRpbWl6ZS4KLSAgICAgICAgICAgIGN0aVBhdGNoQ2Fs
bEJ5UmV0dXJuQWRkcmVzcyhleGVjLT5jb2RlQmxvY2soKSwgUmV0dXJuQWRkcmVzc1B0cihPVVJf
UkVUVVJOX0FERFJFU1MpLCBGdW5jdGlvblB0cihvcGVyYXRpb25IYXNJbmRleGVkUHJvcGVydHlH
ZW5lcmljKSk7IAorICAgICAgICAgICAgY3RpUGF0Y2hDYWxsQnlSZXR1cm5BZGRyZXNzKGV4ZWMt
PmNvZGVCbG9jaygpLCBSZXR1cm5BZGRyZXNzUHRyKE9VUl9SRVRVUk5fQUREUkVTUyksIEZ1bmN0
aW9uUHRyKG9wZXJhdGlvbkhhc0luZGV4ZWRQcm9wZXJ0eUdlbmVyaWMpKTsKICAgICAgICAgfQog
ICAgIH0KLSAgICAKKwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKG9iamVj
dC0+aGFzUHJvcGVydHkoZXhlYywgc3Vic2NyaXB0LmFzVUludDMyKCkpKSk7CiB9Ci0gICAgCisK
IEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFzSW5kZXhlZFByb3BlcnR5
R2VuZXJpYyhFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkU3Vic2NyaXB0KQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7
CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOwogICAgIEpTVmFs
dWUgYmFzZVZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKTsKICAgICBKU1ZhbHVl
IHN1YnNjcmlwdCA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkU3Vic2NyaXB0KTsKLSAgICAKKwog
ICAgIEFTU0VSVChiYXNlVmFsdWUuaXNPYmplY3QoKSk7CiAgICAgQVNTRVJUKHN1YnNjcmlwdC5p
c1VJbnQzMigpKTsKIAogICAgIEpTT2JqZWN0KiBvYmplY3QgPSBhc09iamVjdChiYXNlVmFsdWUp
OwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKG9iamVjdC0+aGFzUHJvcGVy
dHkoZXhlYywgc3Vic2NyaXB0LmFzVUludDMyKCkpKSk7CiB9Ci0gICAgCisKIEVuY29kZWRKU1Zh
bHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlWYWxTdHJpbmcoRXhlY1N0YXRlKiBleGVj
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFN1YnNj
cmlwdCkKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRy
YWNlciB0cmFjZXIoJnZtLCBleGVjKTsKICAgICBKU1ZhbHVlIGJhc2VWYWx1ZSA9IEpTVmFsdWU6
OmRlY29kZShlbmNvZGVkQmFzZSk7CiAgICAgSlNWYWx1ZSBzdWJzY3JpcHQgPSBKU1ZhbHVlOjpk
ZWNvZGUoZW5jb2RlZFN1YnNjcmlwdCk7Ci0gICAgCisKICAgICBKU1ZhbHVlIHJlc3VsdDsKICAg
ICBpZiAoTElLRUxZKHN1YnNjcmlwdC5pc1VJbnQzMigpKSkgewogICAgICAgICB1aW50MzJfdCBp
ID0gc3Vic2NyaXB0LmFzVUludDMyKCk7CkBAIC0xNjAxLDcgKzE2MzYsNyBAQCBFbmNvZGVkSlNW
YWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkluc3RhbmNlT2YoRXhlY1N0YXRlKiBleGVjLCBF
bmNvZGVkSlNWYWx1ZQogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVj
KTsKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CiAg
ICAgSlNWYWx1ZSBwcm90byA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkUHJvdG8pOwotICAgIAor
CiAgICAgQVNTRVJUKCF2YWx1ZS5pc09iamVjdCgpIHx8ICFwcm90by5pc09iamVjdCgpKTsKIAog
ICAgIGJvb2wgcmVzdWx0ID0gSlNPYmplY3Q6OmRlZmF1bHRIYXNJbnN0YW5jZShleGVjLCB2YWx1
ZSwgcHJvdG8pOwpAQCAtMTc1Nyw3ICsxNzkyLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvblB1dFRvU2NvcGUoRXhlY1N0YXRlKiBleGVjLCBJbnN0cnVjdGlvbiogYnl0ZWNvZGVQQykK
IAogICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KHNjb3BlLCBjb2RlQmxvY2stPmlzU3RyaWN0TW9k
ZSgpKTsKICAgICBzY29wZS0+bWV0aG9kVGFibGUoKS0+cHV0KHNjb3BlLCBleGVjLCBpZGVudCwg
dmFsdWUsIHNsb3QpOwotICAgIAorCiAgICAgaWYgKGV4ZWMtPnZtKCkuZXhjZXB0aW9uKCkpCiAg
ICAgICAgIHJldHVybjsKIApAQCAtMTc5MSw3ICsxODI2LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbk9TUldyaXRlQmFycmllcihFeGVjU3RhdGUqIGV4ZWMsIEpTQ2VsbCogY2VsbCkK
IH0KIAogLy8gTkI6IFdlIGRvbid0IGluY2x1ZGUgdGhlIHZhbHVlIGFzIHBhcnQgb2YgdGhlIGJh
cnJpZXIgYmVjYXVzZSB0aGUgd3JpdGUgYmFycmllciBlbGlzaW9uCi0vLyBwaGFzZSBpbiB0aGUg
REZHIG9ubHkgdHJhY2tzIHdoZXRoZXIgdGhlIG9iamVjdCBiZWluZyBzdG9yZWQgdG8gaGFzIGJl
ZW4gYmFycmllcmVkLiBJdCAKKy8vIHBoYXNlIGluIHRoZSBERkcgb25seSB0cmFja3Mgd2hldGhl
ciB0aGUgb2JqZWN0IGJlaW5nIHN0b3JlZCB0byBoYXMgYmVlbiBiYXJyaWVyZWQuIEl0CiAvLyB3
b3VsZCBiZSBtdWNoIG1vcmUgY29tcGxpY2F0ZWQgdG8gdHJ5IHRvIG1vZGVsIHRoZSB2YWx1ZSBi
ZWluZyBzdG9yZWQgYXMgd2VsbC4KIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25VbmNvbmRp
dGlvbmFsV3JpdGVCYXJyaWVyKEV4ZWNTdGF0ZSogZXhlYywgSlNDZWxsKiBjZWxsKQogewpAQCAt
MTgxNSw3ICsxODUwLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIGxvb2t1cEV4Y2VwdGlvbkhhbmRs
ZXIoVk0qIHZtLCBFeGVjU3RhdGUqIGV4ZWMpCiAKICAgICBKU1ZhbHVlIGV4Y2VwdGlvblZhbHVl
ID0gdm0tPmV4Y2VwdGlvbigpOwogICAgIEFTU0VSVChleGNlcHRpb25WYWx1ZSk7Ci0gICAgCisK
ICAgICBnZW5lcmljVW53aW5kKHZtLCBleGVjLCBleGNlcHRpb25WYWx1ZSk7CiAgICAgQVNTRVJU
KHZtLT50YXJnZXRNYWNoaW5lUENGb3JUaHJvdyk7CiB9CkBAIC0xODMwLDcgKzE4NjUsNyBAQCB2
b2lkIEpJVF9PUEVSQVRJT04gbG9va3VwRXhjZXB0aW9uSGFuZGxlckZyb21DYWxsZXJGcmFtZShW
TSogdm0sIEV4ZWNTdGF0ZSogZXhlYwogCiAgICAgSlNWYWx1ZSBleGNlcHRpb25WYWx1ZSA9IHZt
LT5leGNlcHRpb24oKTsKICAgICBBU1NFUlQoZXhjZXB0aW9uVmFsdWUpOwotICAgIAorCiAgICAg
Z2VuZXJpY1Vud2luZCh2bSwgY2FsbGVyRnJhbWUsIGV4Y2VwdGlvblZhbHVlKTsKICAgICBBU1NF
UlQodm0tPnRhcmdldE1hY2hpbmVQQ0ZvclRocm93KTsKIH0KQEAgLTE4NzcsNyArMTkxMiw3IEBA
IEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFzSW5kZXhlZFByb3BlcnR5
KEV4ZWNTdGF0ZSogZXhlYywgSlNDZWxsCiAgICAgSlNPYmplY3QqIG9iamVjdCA9IGJhc2VDZWxs
LT50b09iamVjdChleGVjLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpOwogICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKG9iamVjdC0+aGFzUHJvcGVydHkoZXhlYywgc3Vi
c2NyaXB0KSkpOwogfQotICAgIAorCiBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0
UHJvcGVydHlFbnVtZXJhdG9yKEV4ZWNTdGF0ZSogZXhlYywgSlNDZWxsKiBjZWxsKQogewogICAg
IFZNJiB2bSA9IGV4ZWMtPnZtKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wZXJhdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0
aW9ucy5oCmluZGV4IGM2NWY4NzRkMWYyZTc3MmQ4ZjUzNWY0YmQxYzRjZTBkMjgwNDRhZTcuLmRm
M2I5ZmQzZjNkNjdhZmFlOTdkNWZmMzNkNDY3YTk1MGE1OWM4NDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCkBAIC0yMCw3ICsyMCw3IEBACiAgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCiAgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKICAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgogICovCiAKICNpZm5kZWYgSklUT3BlcmF0aW9uc19oCkBAIC0xMTUsNiArMTE1LDcgQEAg
dHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVBQ
KShFeGVjU3RhdGUqLCB2b2lkKiwgdm8KIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJB
VElPTiAoKkpfSklUT3BlcmF0aW9uX0VQUykoRXhlY1N0YXRlKiwgdm9pZCosIHNpemVfdCk7CiB0
eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FUGMp
KEV4ZWNTdGF0ZSosIEluc3RydWN0aW9uKik7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9P
UEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FSnNjQykoRXhlY1N0YXRlKiwgSlNTY29wZSosIEpT
Q2VsbCopOwordHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVy
YXRpb25fRUpzY0NKKShFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFs
dWUpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRp
b25fRVNTKShFeGVjU3RhdGUqLCBzaXplX3QsIHNpemVfdCk7CiB0eXBlZGVmIEVuY29kZWRKU1Zh
bHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FU3NpQ0kpKEV4ZWNTdGF0ZSosIFN0
cnVjdHVyZVN0dWJJbmZvKiwgSlNDZWxsKiwgU3RyaW5nSW1wbCopOwogdHlwZWRlZiBFbmNvZGVk
SlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNzaUpJKShFeGVjU3RhdGUq
LCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlLCBTdHJpbmdJbXBsKik7CkBAIC0y
NzksNiArMjgwLDggQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdB
cnJheUJ1ZmZlcldpdGhQcm9maWxlKEV4ZWNTdGF0ZSosIEFycmEKIEVuY29kZWRKU1ZhbHVlIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXlXaXRoU2l6ZUFuZFByb2ZpbGUoRXhlY1N0YXRl
KiwgQXJyYXlBbGxvY2F0aW9uUHJvZmlsZSosIEVuY29kZWRKU1ZhbHVlIHNpemUpIFdURl9JTlRF
Uk5BTDsKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3RnVuY3Rpb24o
RXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCopIFdURl9JTlRFUk5BTDsKIEVuY29kZWRKU1Zh
bHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3RnVuY3Rpb25XaXRoSW52YWxpZGF0ZWRSZWFs
bG9jYXRpb25XYXRjaHBvaW50KEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKSBXVEZfSU5U
RVJOQUw7CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Fycm93RnVu
Y3Rpb24oRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlKSBXVEZf
SU5URVJOQUw7CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Fycm93
RnVuY3Rpb25XaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRjaHBvaW50KEV4ZWNTdGF0ZSos
IEpTU2NvcGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVSTkFMOwogSlNDZWxs
KiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUq
KSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5l
d1JlZ2V4cChFeGVjU3RhdGUqLCB2b2lkKikgV1RGX0lOVEVSTkFMOwogdm9pZCBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkhhbmRsZVdhdGNoZG9nVGltZXIoRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFM
OwpAQCAtNDA3LDQgKzQxMCwzIEBAIGlubGluZSBQX0pJVE9wZXJhdGlvbl9FQ2xpIG9wZXJhdGlv
bkxpbmtQb2x5bW9ycGhpY0NhbGxGb3IoUmVnaXN0ZXJQcmVzZXJ2YXRpb25NCiAjZW5kaWYgLy8g
RU5BQkxFKEpJVCkKIAogI2VuZGlmIC8vIEpJVE9wZXJhdGlvbnNfaAotCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAppbmRleCAyMGJlYmYzMmY2MTU0
ZmE5ZjNmNDY5NjJmM2E2MTQwYTJlODQ2ZGMwLi43YTg1MDVmMjhmZWMyY2FlMmM2NTM4NWNjMDk0
YmNkZmNjMjRhZmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJ
bnRTbG93UGF0aHMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNs
b3dQYXRocy5jcHAKQEAgLTM4LDYgKzM4LDggQEAKICNpbmNsdWRlICJJbnRlcnByZXRlci5oIgog
I2luY2x1ZGUgIkpJVC5oIgogI2luY2x1ZGUgIkpJVEV4Y2VwdGlvbnMuaCIKKyNpbmNsdWRlICJK
U0Fycm93RnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRl
ICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNs
dWRlICJKU0NKU1ZhbHVlLmgiCkBAIC0xNzEsNiArMTczLDE1IEBAIG5hbWVzcGFjZSBKU0MgeyBu
YW1lc3BhY2UgTExJbnQgewogICAgICAgICBMTElOVF9SRVRVUk5fVFdPKHBjLCBfX3JjZl9leGVj
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIH0gd2hpbGUgKGZhbHNlKQog
CisgICAgCisjZGVmaW5lIExMSU5UX0NBTENfUFJPUEVSVFlfRk9SX0ZVTkNfRVhQUigpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBMTElOVF9CRUdJTigpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+Y29kZUJsb2NrKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgSlNTY29wZSogc2NvcGUgPSBleGVjLT51
bmNoZWNrZWRSKHBjWzJdLnUub3BlcmFuZCkuUmVnaXN0ZXI6OnNjb3BlKCk7ICAgICAgIFwKKyAg
ICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUgPSBjb2RlQmxvY2stPmZ1bmN0aW9uRXhw
cihwY1szXS51Lm9wZXJhbmQpOyAgXAorICAgIAorZW51bSBGdW5jdGlvbkV4cHJlc3Npb25UeXBl
IHsgQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25UeXBlLCBDb21tb25GdW5jdGlvbkV4cHJlc3Npb25U
eXBlfTsKKyAgICAKIGV4dGVybiAiQyIgU2xvd1BhdGhSZXR1cm5UeXBlIGxsaW50X3RyYWNlX29w
ZXJhbmQoRXhlY1N0YXRlKiBleGVjLCBJbnN0cnVjdGlvbiogcGMsIGludCBmcm9tV2hlcmUsIGlu
dCBvcGVyYW5kKQogewogICAgIExMSU5UX0JFR0lOKCk7CkBAIC0xMDAzLDE2ICsxMDE0LDMzIEBA
IExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuYykKICNlbmRpZgogICAgIExM
SU5UX1JFVFVSTihKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGNvZGVCbG9jay0+ZnVuY3Rpb25EZWNs
KHBjWzNdLnUub3BlcmFuZCksIHNjb3BlKSk7CiB9Ci0KKyAgICAKIExMSU5UX1NMT1dfUEFUSF9E
RUNMKHNsb3dfcGF0aF9uZXdfZnVuY19leHApCiB7Ci0gICAgTExJTlRfQkVHSU4oKTsKLSAgICBD
b2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVCbG9jaygpOwotICAgIEpTU2NvcGUqIHNj
b3BlID0gZXhlYy0+dW5jaGVja2VkUihwY1syXS51Lm9wZXJhbmQpLlJlZ2lzdGVyOjpzY29wZSgp
OwotICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZnVuY3Rpb24gPSBjb2RlQmxvY2stPmZ1bmN0aW9u
RXhwcihwY1szXS51Lm9wZXJhbmQpOwotICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Z1bmN0aW9u
OjpjcmVhdGUodm0sIGZ1bmN0aW9uLCBzY29wZSk7CisgICAgTExJTlRfQ0FMQ19QUk9QRVJUWV9G
T1JfRlVOQ19FWFBSKCk7CisKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNGdW5jdGlvbjo6Y3Jl
YXRlKHZtLCBleGVjdXRhYmxlLCBzY29wZSk7CisgICAgTExJTlRfUkVUVVJOKGZ1bmMpOworfQor
CisKK0xMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApCit7
CisgICAgTExJTlRfQ0FMQ19QUk9QRVJUWV9GT1JfRlVOQ19FWFBSKCk7CisKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gTExJTlRf
T1BfQyg0KS5qc1ZhbHVlKCk7CisgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGV4
ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKICAgICAKKyAgICBKU0Z1bmN0aW9uKiBmdW5j
ID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBleGVjdXRhYmxlLCBzY29wZSk7CisgICAgCisgICAg
Y29uc3QgU3RyaW5nIGZ1bmNXaXRob3V0TmFtZSA9ICIiOworICAgIAorICAgIExMSU5UX1JFVFVS
TihKU0Fycm93RnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBmdW5jLCB0aGlzVmFs
dWUpKTsKKyNlbHNlCisgICAgSlNGdW5jdGlvbiogZnVuYyA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2
bSwgZXhlY3V0YWJsZSwgc2NvcGUpOwogICAgIExMSU5UX1JFVFVSTihmdW5jKTsKKyNlbmRpZgog
fQogCiBzdGF0aWMgU2xvd1BhdGhSZXR1cm5UeXBlIGhhbmRsZUhvc3RDYWxsKEV4ZWNTdGF0ZSog
ZXhlY0NhbGxlZSwgSW5zdHJ1Y3Rpb24qIHBjLCBKU1ZhbHVlIGNhbGxlZSwgQ29kZVNwZWNpYWxp
emF0aW9uS2luZCBraW5kKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xMSW50U2xvd1BhdGhzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93
UGF0aHMuaAppbmRleCA0YmY3ZGViMGZhMGI2YzY0MzhlMzZmOTYzMjBlMmY2Njk3MzlhZjY0Li5j
N2ZhYjk2OTFjMThiOTM5NTZkMGVhMjlmMzM5NTYxMThjNWU3MWVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaApAQCAtOTYsNiArOTYsNyBAQCBMTElO
VF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3N3aXRjaF9jaGFyKTsKIExMSU5UX1NM
T1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfc3dpdGNoX3N0cmluZyk7CiBMTElOVF9TTE9X
X1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX25ld19mdW5jKTsKIExMSU5UX1NMT1dfUEFUSF9I
SURERU5fREVDTChzbG93X3BhdGhfbmV3X2Z1bmNfZXhwKTsKK0xMSU5UX1NMT1dfUEFUSF9ISURE
RU5fREVDTChzbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKTsKIExMSU5UX1NMT1dfUEFUSF9I
SURERU5fREVDTChzbG93X3BhdGhfY2FsbCk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0wo
c2xvd19wYXRoX2NvbnN0cnVjdCk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19w
YXRoX3NpemVfZnJhbWVfZm9yX3ZhcmFyZ3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCmluZGV4IDU0M2Q5ZTkzMzNjNTEzZTk3
NjE3YjdiZGE3ZjY5OTg2NjgzOGExZTAuLjE4MmJiZDllNGVmNzg5MjhkYTUyZmJjZWM4ODJhNWRm
MzZkYjc5NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc20KQEAgLTExNjksNiArMTE2OSwxMCBAQCBfbGxpbnRfb3BfbmV3X2Z1
bmNfZXhwOgogICAgIGNhbGxTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX25ld19mdW5jX2V4cCkK
ICAgICBkaXNwYXRjaCg0KQogCitfbGxpbnRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorICAgIHRy
YWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9uZXdfYXJy
b3dfZnVuY19leHApCisgICAgZGlzcGF0Y2goNSkKIAogX2xsaW50X29wX2NhbGw6CiAgICAgdHJh
Y2VFeGVjdXRpb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9B
U1RCdWlsZGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaApp
bmRleCBhYTczNzA1MmNiM2M4MTUzNTdjOGE2ZmUzNjhhZDIxNTliYTMyYzBmLi45ZDAzMTkxNDRi
ZDRkN2JlMTY2ZmQ3OTQwNTI1OGI5MmQyNGE0NjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL0FTVEJ1aWxkZXIuaApAQCAtMzU3LDYgKzM1NywxOSBAQCBwdWJsaWM6CiAgICAgICAg
ICAgICBpblN0cmljdENvbnRleHQsIGNvbnN0cnVjdG9yS2luZCk7CiAgICAgfQogCisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBFeHByZXNzaW9uTm9kZSogY3JlYXRl
QXJyb3dGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29uc3Qg
UGFyc2VyRnVuY3Rpb25JbmZvPEFTVEJ1aWxkZXI+JiBpbmZvKQorICAgIHsKKyAgICAgICAgU291
cmNlQ29kZSBzb3VyY2UgPSBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJv
ZHlFeHByZXNzaW9uCisgICAgICAgID8gbV9zb3VyY2VDb2RlLT5zdWJBcnJvd0V4cHJlc3Npb24o
aW5mby5hcnJvd0Z1bmN0aW9uT2Zmc2V0LCBpbmZvLmNsb3NlQnJhY2VPZmZzZXQsIGluZm8uYm9k
eVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1bW4pCisgICAgICAgIDogbV9zb3VyY2VDb2Rl
LT5zdWJFeHByZXNzaW9uKGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBpbmZvLmNsb3NlQnJhY2VPZmZz
ZXQsIGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1bW4pOworCisgICAgICAg
IEFycm93RnVuY0V4cHJOb2RlKiByZXN1bHQgPSBuZXcgKG1fcGFyc2VyQXJlbmEpIEFycm93RnVu
Y0V4cHJOb2RlKGxvY2F0aW9uLCAqaW5mby5uYW1lLCBpbmZvLmJvZHksIHNvdXJjZSwgaW5mby5w
YXJhbWV0ZXJzKTsKKyAgICAgICAgaW5mby5ib2R5LT5zZXRMb2MoaW5mby5ib2R5U3RhcnRMaW5l
LCBpbmZvLmJvZHlFbmRMaW5lLCBsb2NhdGlvbi5zdGFydE9mZnNldCwgbG9jYXRpb24ubGluZVN0
YXJ0T2Zmc2V0KTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisjZW5kaWYKKwogICAg
IE5FVkVSX0lOTElORSBQcm9wZXJ0eU5vZGUqIGNyZWF0ZUdldHRlck9yU2V0dGVyUHJvcGVydHko
Y29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgUHJvcGVydHlOb2RlOjpUeXBlIHR5cGUs
IGJvb2wsCiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUsIGNvbnN0IFBhcnNlckZ1bmN0
aW9uSW5mbzxBU1RCdWlsZGVyPiYgaW5mbywgU3VwZXJCaW5kaW5nIHN1cGVyQmluZGluZykKICAg
ICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCmluZGV4IDk2ZWI3YWFiMjM5
YTM4NmQwN2Y2MGRiYTc0ZTZmYWQxZmE2Y2QzN2EuLmFkNzA1NmRkZTM4OGVmODZmYjdmNjI3NmZk
YTczZWFlODlkNDM0OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
TGV4ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCkBA
IC0xNzA4LDYgKzE3MDgsMTggQEAgYm9vbCBMZXhlcjxUPjo6bmV4dFRva2VuSXNDb2xvbigpCiAg
ICAgcmV0dXJuIGNvZGUgPCBtX2NvZGVFbmQgJiYgKmNvZGUgPT0gJzonOwogfQogCisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgordm9p
ZCBMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlvbihKU1Rva2VuKiB0b2tlblJlY29yZCkKK3sKKyAg
ICBKU1Rva2VuRGF0YSogdG9rZW5EYXRhID0gJnRva2VuUmVjb3JkLT5tX2RhdGE7CisgICAgdG9r
ZW5EYXRhLT5saW5lID0gbGluZU51bWJlcigpOworICAgIHRva2VuRGF0YS0+b2Zmc2V0ID0gY3Vy
cmVudE9mZnNldCgpOworICAgIHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExp
bmVTdGFydE9mZnNldCgpOworICAgIEFTU0VSVCh0b2tlbkRhdGEtPm9mZnNldCA+PSB0b2tlbkRh
dGEtPmxpbmVTdGFydE9mZnNldCk7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+
CiBKU1Rva2VuVHlwZSBMZXhlcjxUPjo6bGV4KEpTVG9rZW4qIHRva2VuUmVjb3JkLCB1bnNpZ25l
ZCBsZXhlckZsYWdzLCBib29sIHN0cmljdE1vZGUpCiB7CkBAIC0xNzcxLDcgKzE3ODMsMTIgQEAg
c3RhcnQ6CiAgICAgICAgIH0KICAgICAgICAgdG9rZW4gPSBHVDsKICAgICAgICAgYnJlYWs7Ci0g
ICAgY2FzZSBDaGFyYWN0ZXJFcXVhbDoKKyAgICBjYXNlIENoYXJhY3RlckVxdWFsOiB7CisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdWludDMyX3Qgc2F2ZWRs
aW5lTnVtYmVyID0gdG9rZW5EYXRhLT5saW5lOworICAgICAgICB1aW50MzJfdCBzYXZlZE9mZnNl
dCA9IGN1cnJlbnRPZmZzZXQoKTsKKyAgICAgICAgdWludDMyX3Qgc2F2ZWRMaW5lU3RhcnRPZmZz
ZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0KCk7CisjZW5kaWYKICAgICAgICAgc2hpZnQoKTsK
ICAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnPScpIHsKICAgICAgICAgICAgIHNoaWZ0KCk7CkBA
IC0xNzgzLDggKzE4MDAsMjIgQEAgc3RhcnQ6CiAgICAgICAgICAgICB0b2tlbiA9IEVRRVE7CiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJz4nKSB7CisgICAgICAgICAgICBz
aGlmdCgpOworICAgICAgICAgICAgdG9rZW4gPSBBUlJPV0ZVTkNUSU9OOworCisgICAgICAgICAg
ICB0b2tlbkRhdGEtPmxpbmUgPSBzYXZlZGxpbmVOdW1iZXI7CisgICAgICAgICAgICB0b2tlbkRh
dGEtPm9mZnNldCA9IHNhdmVkT2Zmc2V0OworICAgICAgICAgICAgdG9rZW5EYXRhLT5saW5lU3Rh
cnRPZmZzZXQgPSBzYXZlZExpbmVTdGFydE9mZnNldDsKKworICAgICAgICAgICAgQVNTRVJUKHRv
a2VuRGF0YS0+b2Zmc2V0ID49IHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0KTsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgdG9rZW4gPSBFUVVBTDsKICAg
ICAgICAgYnJlYWs7CisgICAgfQogICAgIGNhc2UgQ2hhcmFjdGVyTGVzczoKICAgICAgICAgc2hp
ZnQoKTsKICAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnIScgJiYgcGVlaygxKSA9PSAnLScgJiYg
cGVlaygyKSA9PSAnLScpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvTGV4ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAppbmRleCA4
YWZlZjI2MTEyMTA4YWVkN2U4NmVkMGU4NDc5Yjc5YzFkMDIyN2FiLi5iZGEzYmQ0OWVhN2E1OWMz
NWM0ZTEyODVjZjk0ODMyMjU1Yzg3ZmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL0xleGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhl
ci5oCkBAIC04Nyw2ICs4Nyw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldElzUmVwYXJzaW5nKCkg
eyBtX2lzUmVwYXJzaW5nID0gdHJ1ZTsgfQogICAgIGJvb2wgaXNSZXBhcnNpbmcoKSBjb25zdCB7
IHJldHVybiBtX2lzUmVwYXJzaW5nOyB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgIHZvaWQgc2V0VG9rZW5Qb3NpdGlvbihKU1Rva2VuKiB0b2tlblJlY29yZCk7
CisjZW5kaWYKICAgICBKU1Rva2VuVHlwZSBsZXgoSlNUb2tlbiosIHVuc2lnbmVkLCBib29sIHN0
cmljdE1vZGUpOwogICAgIGJvb2wgbmV4dFRva2VuSXNDb2xvbigpOwogICAgIGludCBsaW5lTnVt
YmVyKCkgY29uc3QgeyByZXR1cm4gbV9saW5lTnVtYmVyOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCmluZGV4IDg5YjkyOGVjZjhiNDQwMDA2
MjM2NjEyODJhOTcwYTU2MjFhNTFhOTIuLjFiNDBlZTNlMjFkOGUzNzAxNjFjYzlmOWM0YWVlY2M3
MDcyNjNmYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNv
bnN0cnVjdG9ycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0
cnVjdG9ycy5oCkBAIC04MzUsNiArODM1LDEzIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBt
X2JvZHktPmZpbmlzaFBhcnNpbmcoc291cmNlLCBwYXJhbWV0ZXIsIGlkZW50LCBGdW5jdGlvbkV4
cHJlc3Npb24pOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgaW5saW5lIEFycm93RnVuY0V4cHJOb2RlOjpBcnJvd0Z1bmNFeHByTm9kZShjb25zdCBK
U1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgRnVuY3Rp
b25Cb2R5Tm9kZSogYm9keSwgY29uc3QgU291cmNlQ29kZSYgc291cmNlLCBQYXJhbWV0ZXJOb2Rl
KiBwYXJhbWV0ZXIpCisgICAgICAgIDogRnVuY0V4cHJOb2RlKGxvY2F0aW9uLCBpZGVudCwgYm9k
eSwgc291cmNlLCBwYXJhbWV0ZXIpCisgICAgeworICAgIH0KKyNlbmRpZgorICAgIAogICAgIGlu
bGluZSBGdW5jRGVjbE5vZGU6OkZ1bmNEZWNsTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxv
Y2F0aW9uLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgRnVuY3Rpb25Cb2R5Tm9kZSogYm9keSwg
Y29uc3QgU291cmNlQ29kZSYgc291cmNlLCBQYXJhbWV0ZXJOb2RlKiBwYXJhbWV0ZXIpCiAgICAg
ICAgIDogU3RhdGVtZW50Tm9kZShsb2NhdGlvbikKICAgICAgICAgLCBtX2JvZHkoYm9keSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAppbmRleCA3ODQ4MTg0ZTU1NGNmNDBlYWYzOTA2
N2U2NzhhNWVkOGFjNTQ5OWU4Li45NTQwYjFiNDUxNDUxNDM2MmUwNzlhODQ3YzAxNWRlMGJjN2I1
ZjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCkBAIC0xNTgsNiArMTU4LDkg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0RvdEFjY2Vzc29yTm9k
ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0RlY29u
c3RydWN0aW9uTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwg
Ym9vbCBpc0Z1bmNFeHByTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdmlydHVhbCBib29sIGlzQXJyb3dG
dW5jRXhwck5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorI2VuZGlmCiAgICAgICAgIHZp
cnR1YWwgYm9vbCBpc0NvbW1hTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAg
IHZpcnR1YWwgYm9vbCBpc1NpbXBsZUFycmF5KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAg
ICAgICAgdmlydHVhbCBib29sIGlzQWRkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KQEAgLTE3
MjYsNiArMTcyOSwxOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgRnVuY3Rpb25Cb2R5Tm9k
ZSogbV9ib2R5OwogICAgIH07CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgIGNsYXNzIEFycm93RnVuY0V4cHJOb2RlIDogcHVibGljIEZ1bmNFeHByTm9kZSB7Cisg
ICAgcHVibGljOgorICAgICAgICBBcnJvd0Z1bmNFeHByTm9kZShjb25zdCBKU1Rva2VuTG9jYXRp
b24mLCBjb25zdCBJZGVudGlmaWVyJiwgRnVuY3Rpb25Cb2R5Tm9kZSosIGNvbnN0IFNvdXJjZUNv
ZGUmLCBQYXJhbWV0ZXJOb2RlKiA9IDApOworICAgIHByaXZhdGU6CisgICAgICAgIHZpcnR1YWwg
UmVnaXN0ZXJJRCogZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiwgUmVnaXN0ZXJJRCog
PSAwKSBvdmVycmlkZTsKKyAgICAgICAgCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Z1bmNFeHBy
Tm9kZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgICAgIAorICAgICAg
ICB2aXJ0dWFsIGJvb2wgaXNBcnJvd0Z1bmNFeHByTm9kZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0
dXJuIHRydWU7IH0KKyAgICB9OworI2VuZGlmCisKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRB
WCkKICAgICBjbGFzcyBDbGFzc0V4cHJOb2RlIGZpbmFsIDogcHVibGljIEV4cHJlc3Npb25Ob2Rl
IHsKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1BhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKaW5k
ZXggMTQ4YzliMjRhY2JhZjUxODRlNWJkMWMwNDU0MDVkYWM1OTgzYjc4MS4uNmE5ZjA0NzkyYWVl
YzFiMDI0NmU1YTEyNDAxNjc4ZjY1ODg0MmM1YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvUGFyc2VyLmNwcApAQCAtMjY0LDcgKzI2NCw3IEBAIFN0cmluZyBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VJbm5lcigpCiAgICAgaWYgKG1fbGV4ZXItPmlzUmVwYXJzaW5nKCkpCiAgICAgICAg
IG1fc3RhdGVtZW50RGVwdGgtLTsKICAgICBTY29wZVJlZiBzY29wZSA9IGN1cnJlbnRTY29wZSgp
OwotICAgIFNvdXJjZUVsZW1lbnRzKiBzb3VyY2VFbGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVu
dHMoY29udGV4dCwgQ2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICBTb3VyY2VFbGVtZW50cyogc291
cmNlRWxlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIENoZWNrRm9yU3RyaWN0
TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CiAgICAgaWYgKCFzb3VyY2VFbGVtZW50
cyB8fCAhY29uc3VtZShFT0ZUT0spKSB7CiAgICAgICAgIGlmIChoYXNFcnJvcigpKQogICAgICAg
ICAgICAgcGFyc2VFcnJvciA9IG1fZXJyb3JNZXNzYWdlOwpAQCAtMzQzLDcgKzM0Myw3IEBAIGJv
b2wgUGFyc2VyPExleGVyVHlwZT46OmFsbG93QXV0b21hdGljU2VtaWNvbG9uKCkKIH0KIAogdGVt
cGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KLXRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsZW1lbnRz
KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBTb3VyY2VFbGVtZW50c01vZGUgbW9kZSkKK3RlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBTb3VyY2VFbGVtZW50
c01vZGUgbW9kZSwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25QYXJzZVR5cGUpCiB7CiAgICAg
Y29uc3QgdW5zaWduZWQgbGVuZ3RoT2ZVc2VTdHJpY3RMaXRlcmFsID0gMTI7IC8vICJ1c2Ugc3Ry
aWN0Ii5sZW5ndGgKICAgICBUcmVlU291cmNlRWxlbWVudHMgc291cmNlRWxlbWVudHMgPSBjb250
ZXh0LmNyZWF0ZVNvdXJjZUVsZW1lbnRzKCk7CkBAIC0zNTIsNyArMzUyLDcgQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlU291cmNlRWwKICAgICB1bnNpZ25lZCBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMDsK
ICAgICBhdXRvIHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwogICAgIGJvb2wgaGFzU2V0
U3RyaWN0ID0gZmFsc2U7Ci0gICAgd2hpbGUgKFRyZWVTdGF0ZW1lbnQgc3RhdGVtZW50ID0gcGFy
c2VTdGF0ZW1lbnQoY29udGV4dCwgZGlyZWN0aXZlLCAmZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCkp
IHsKKyAgICB3aGlsZSAoVHJlZVN0YXRlbWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVudChj
b250ZXh0LCBkaXJlY3RpdmUsICZkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoLCBmdW5jdGlvblBhcnNl
VHlwZSkpIHsKICAgICAgICAgaWYgKG1vZGUgPT0gQ2hlY2tGb3JTdHJpY3RNb2RlICYmICFzZWVu
Tm9uRGlyZWN0aXZlKSB7CiAgICAgICAgICAgICBpZiAoZGlyZWN0aXZlKSB7CiAgICAgICAgICAg
ICAgICAgLy8gInVzZSBzdHJpY3QiIG11c3QgYmUgdGhlIGV4YWN0IGxpdGVyYWwgd2l0aG91dCBl
c2NhcGUgc2VxdWVuY2VzIG9yIGxpbmUgY29udGludWF0aW9uLgpAQCAtNTg0LDYgKzU4NCwzMSBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4g
UGFyc2VyPExleGVyVHlwZT46OmNyZWF0ZQogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUJpbmRp
bmdMb2NhdGlvbih0b2tlbi5tX2xvY2F0aW9uLCBuYW1lLCB0b2tlbi5tX3N0YXJ0UG9zaXRpb24s
IHRva2VuLm1fZW5kUG9zaXRpb24pOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dG
dW5jdGlvblN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBBU1NFUlQobWF0
Y2goQVJST1dGVU5DVElPTikpOworCisgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2Vu
TG9jYXRpb24oKSk7CisgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRp
b24oKTsKKyAgICBKU1RleHRQb3NpdGlvbiBlbmQgPSB0b2tlbkVuZFBvc2l0aW9uKCk7CisKKyAg
ICBuZXh0KCk7CisgICAgVHJlZUV4cHJlc3Npb24gZXhwciA9IHBhcnNlQXJyb3dGdW5jdGlvbkV4
cHJlc3Npb24oY29udGV4dCk7CisgICAgZmFpbElmRmFsc2UoZXhwciwgIkNhbm5vdCBwYXJzZSB0
aGUgYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgIGVuZCA9IGxhc3RUb2tlbkVuZFBv
c2l0aW9uKCk7CisKKyAgICBib29sIGNvcnJlY3RBcnJvd0ZpbmlzaCA9IGlzRW5kT2ZBcnJvd0Z1
bmN0aW9uKCkgfHwgbWF0Y2goRU9GVE9LKTsKKyAgICBmYWlsSWZGYWxzZShjb3JyZWN0QXJyb3dG
aW5pc2gsICJFeHBlY3RlZCBhICc7JywgJ10nLCAnfScsICcpJywgb3IgJywnIGZvbGxvd2luZyBh
IGFycm93IGZ1bmN0aW9uIHN0YXRlbWVudCIpOworCisgICAgZW5kID0gdG9rZW5FbmRQb3NpdGlv
bigpOworICAgIHNldEVuZE9mU3RhdGVtZW50KCk7CisKKyAgICByZXR1cm4gY29udGV4dC5jcmVh
dGVSZXR1cm5TdGF0ZW1lbnQobG9jYXRpb24sIGV4cHIsIHN0YXJ0LCBlbmQpOworfQorI2VuZGlm
CisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gUGFyc2VyPExleGVyVHlwZT46OnRyeVBh
cnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkK
IHsKQEAgLTEwMzEsNyArMTA1Niw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZUNsYXVzZUxpc3QgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3dpdGNoQ2xhdXNlCiAgICAgVHJl
ZUV4cHJlc3Npb24gY29uZGl0aW9uID0gcGFyc2VFeHByZXNzaW9uKGNvbnRleHQpOwogICAgIGZh
aWxJZkZhbHNlKGNvbmRpdGlvbiwgIkNhbm5vdCBwYXJzZSBzd2l0Y2ggY2xhdXNlIik7CiAgICAg
Y29uc3VtZU9yRmFpbChDT0xPTiwgIkV4cGVjdGVkIGEgJzonIGFmdGVyIHN3aXRjaCBjbGF1c2Ug
ZXhwcmVzc2lvbiIpOwotICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VT
b3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICBUcmVl
U291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwg
RG9udENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CiAgICAg
ZmFpbElmRmFsc2Uoc3RhdGVtZW50cywgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiBhIHN3aXRj
aCBjbGF1c2UiKTsKICAgICBUcmVlQ2xhdXNlIGNsYXVzZSA9IGNvbnRleHQuY3JlYXRlQ2xhdXNl
KGNvbmRpdGlvbiwgc3RhdGVtZW50cyk7CiAgICAgY29udGV4dC5zZXRTdGFydE9mZnNldChjbGF1
c2UsIHN0YXJ0T2Zmc2V0KTsKQEAgLTEwNDQsNyArMTA2OSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZUNsYXVzZUxpc3QgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3dpdGNo
Q2xhdXNlCiAgICAgICAgIFRyZWVFeHByZXNzaW9uIGNvbmRpdGlvbiA9IHBhcnNlRXhwcmVzc2lv
bihjb250ZXh0KTsKICAgICAgICAgZmFpbElmRmFsc2UoY29uZGl0aW9uLCAiQ2Fubm90IHBhcnNl
IHN3aXRjaCBjYXNlIGV4cHJlc3Npb24iKTsKICAgICAgICAgY29uc3VtZU9yRmFpbChDT0xPTiwg
IkV4cGVjdGVkIGEgJzonIGFmdGVyIHN3aXRjaCBjbGF1c2UgZXhwcmVzc2lvbiIpOwotICAgICAg
ICBUcmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29u
dGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSk7CisgICAgICAgIFRyZWVTb3VyY2VFbGVtZW50
cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JT
dHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICAgICAgZmFpbElmRmFs
c2Uoc3RhdGVtZW50cywgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiBhIHN3aXRjaCBjbGF1c2Ui
KTsKICAgICAgICAgY2xhdXNlID0gY29udGV4dC5jcmVhdGVDbGF1c2UoY29uZGl0aW9uLCBzdGF0
ZW1lbnRzKTsKICAgICAgICAgY29udGV4dC5zZXRTdGFydE9mZnNldChjbGF1c2UsIHN0YXJ0T2Zm
c2V0KTsKQEAgLTEwNjEsNyArMTA4Niw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZUNsYXVzZSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTd2l0Y2hEZWZhdWx0Q2xhCiAgICAg
dW5zaWduZWQgc3RhcnRPZmZzZXQgPSB0b2tlblN0YXJ0KCk7CiAgICAgbmV4dCgpOwogICAgIGNv
bnN1bWVPckZhaWwoQ09MT04sICJFeHBlY3RlZCBhICc6JyBhZnRlciBzd2l0Y2ggZGVmYXVsdCBj
bGF1c2UiKTsKLSAgICBUcmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291cmNl
RWxlbWVudHMoY29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSk7CisgICAgVHJlZVNvdXJj
ZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRD
aGVja0ZvclN0cmljdE1vZGUsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwogICAgIGZhaWxJ
ZkZhbHNlKHN0YXRlbWVudHMsICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgYSBzd2l0Y2ggZGVm
YXVsdCBjbGF1c2UiKTsKICAgICBUcmVlQ2xhdXNlIHJlc3VsdCA9IGNvbnRleHQuY3JlYXRlQ2xh
dXNlKDAsIHN0YXRlbWVudHMpOwogICAgIGNvbnRleHQuc2V0U3RhcnRPZmZzZXQocmVzdWx0LCBz
dGFydE9mZnNldCk7CkBAIC0xMTQ2LDcgKzExNzEsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQmxvY2tTdGF0ZW1l
bgogICAgICAgICBjb250ZXh0LnNldEVuZE9mZnNldChyZXN1bHQsIGVuZE9mZnNldCk7CiAgICAg
ICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdWJ0cmVl
ID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlKTsK
KyAgICBUcmVlU291cmNlRWxlbWVudHMgc3VidHJlZSA9IHBhcnNlU291cmNlRWxlbWVudHMoY29u
dGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7
CiAgICAgZmFpbElmRmFsc2Uoc3VidHJlZSwgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiB0aGUg
YmxvY2sgc3RhdGVtZW50Iik7CiAgICAgbWF0Y2hPckZhaWwoQ0xPU0VCUkFDRSwgIkV4cGVjdGVk
IGEgY2xvc2luZyAnfScgYXQgdGhlIGVuZCBvZiBhIGJsb2NrIHN0YXRlbWVudCIpOwogICAgIGlu
dCBlbmRPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CkBAIC0xMTU4LDcgKzExODMsNyBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlQmxvY2tTdGF0ZW1lbgogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJU
eXBlPgotdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRl
bnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgpCit0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVy
KiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCwgRnVuY3Rpb25Q
YXJzZVR5cGUgcGFyc2VUeXBlKQogewogICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgm
bV9zdGF0ZW1lbnREZXB0aCk7CiAgICAgbV9zdGF0ZW1lbnREZXB0aCsrOwpAQCAtMTE2Nyw2ICsx
MTkyLDIzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgZmFpbElmU3RhY2tPdmVyZmxv
dygpOwogICAgIFRyZWVTdGF0ZW1lbnQgcmVzdWx0ID0gMDsKICAgICBib29sIHNob3VsZFNldEVu
ZE9mZnNldCA9IHRydWU7CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICBz
d2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7CisgICAgICAgIGNhc2UgQ0xPU0VQQVJFTjoKKyAgICAg
ICAgY2FzZSBDTE9TRUJSQUNLRVQ6CisgICAgICAgIGNhc2UgQ09NTUE6CisgICAgICAgIGNhc2Ug
U0VNSUNPTE9OOiB7CisgICAgICAgICAgICByZXN1bHQgPSAwOworICAgICAgICAgICAgY29udGV4
dC5zZXRFbmRPZmZzZXQocmVzdWx0LCBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLm9mZnNldCk7Cisg
ICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICB9CisgICAgICAgIGRlZmF1bHQ6Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKyNlbmRpZgogICAgIHN3aXRjaCAo
bV90b2tlbi5tX3R5cGUpIHsKICAgICBjYXNlIE9QRU5CUkFDRToKICAgICAgICAgcmVzdWx0ID0g
cGFyc2VCbG9ja1N0YXRlbWVudChjb250ZXh0KTsKQEAgLTEyMTIsNiArMTI1NCwxNSBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlU3RhdGVtZW50KFRyZQogICAgIGNhc2UgQlJFQUs6CiAgICAgICAgIHJlc3VsdCA9IHBh
cnNlQnJlYWtTdGF0ZW1lbnQoY29udGV4dCk7CiAgICAgICAgIGJyZWFrOworI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2FzZSBBUlJPV0ZVTkNUSU9OOgorICAgICAg
ICByZXN1bHQgPSBwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoY29udGV4dCk7CisgICAgICAg
IC8vIENvbnN1bWUgdGhlIGVuZCBvZiBhcnJvdyBmdW5jdGlvbiAsO10pIGFuZCBwcmV2ZW50Cisg
ICAgICAgIC8vIHBhcnNlIHRoaXMgc3ltYm9scyBieSBwYXJzZVN0YXRlbWVudCBhcyBzZXBhcmF0
ZSBzdGF0ZW1lbnQKKyAgICAgICAgaWYgKHBhcnNlVHlwZSA9PSBTdGFuZGFyZEZ1bmN0aW9uUGFy
c2VUeXBlKQorICAgICAgICAgICAgbmV4dCgpOworICAgICAgICBicmVhazsKKyNlbmRpZgogICAg
IGNhc2UgUkVUVVJOOgogICAgICAgICByZXN1bHQgPSBwYXJzZVJldHVyblN0YXRlbWVudChjb250
ZXh0KTsKICAgICAgICAgYnJlYWs7CkBAIC0xMjc2LDIwICsxMzI3LDM0IEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZUZvcm1hbFBhcmFtZXRlckxpc3QgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlRm9yCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlRnVuY3Rpb25Cb2R5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUZ1bmN0aW9uQm9keSgKICAgICBUcmVlQnVpbGRlciYgY29udGV4dCwgaW50IGZ1bmN0aW9uS2V5
d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIAotICAgIGludCBwYXJhbWV0ZXJzU3Rh
cnQsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQpCisgICAgaW50IHBhcmFtZXRlcnNT
dGFydCwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCwgRnVuY3Rpb25QYXJzZVR5cGUg
cGFyc2VUeXBlKQogewogICAgIEpTVG9rZW5Mb2NhdGlvbiBzdGFydExvY2F0aW9uKHRva2VuTG9j
YXRpb24oKSk7CiAgICAgdW5zaWduZWQgc3RhcnRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOworI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaWYgKHBhcnNlVHlwZSA9PSBT
dGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgaWYg
KG1hdGNoKENMT1NFQlJBQ0UpKSB7CisgICAgICAgICAgICB1bnNpZ25lZCBlbmRDb2x1bW4gPSB0
b2tlbkNvbHVtbigpOworICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25C
b2R5KHN0YXJ0TG9jYXRpb24sIHRva2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1bW4sIGVuZENvbHVt
biwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3Rh
cnQsIHN0cmljdE1vZGUoKSwgY29uc3RydWN0b3JLaW5kKTsKKyAgICAgICAgfQorICAgIH0KKyNl
bHNlCiAgICAgbmV4dCgpOwotCiAgICAgaWYgKG1hdGNoKENMT1NFQlJBQ0UpKSB7CiAgICAgICAg
IHVuc2lnbmVkIGVuZENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CiAgICAgICAgIHJldHVybiBjb250
ZXh0LmNyZWF0ZUZ1bmN0aW9uQm9keShzdGFydExvY2F0aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0
YXJ0Q29sdW1uLCBlbmRDb2x1bW4sIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVT
dGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBzdHJpY3RNb2RlKCksIGNvbnN0cnVjdG9yS2luZCk7CiAg
ICAgfQorI2VuZGlmCisKICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVt
ZW50RGVwdGgpOwogICAgIG1fc3RhdGVtZW50RGVwdGggPSAwOwogICAgIHR5cGVuYW1lIFRyZWVC
dWlsZGVyOjpGdW5jdGlvbkJvZHlCdWlsZGVyIGJvZHlCdWlsZGVyKGNvbnN0X2Nhc3Q8Vk0qPiht
X3ZtKSwgbV9sZXhlci5nZXQoKSk7Ci0gICAgZmFpbElmRmFsc2UocGFyc2VTb3VyY2VFbGVtZW50
cyhib2R5QnVpbGRlciwgQ2hlY2tGb3JTdHJpY3RNb2RlKSwgIkNhbm5vdCBwYXJzZSBib2R5IG9m
IHRoaXMgZnVuY3Rpb24iKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIGZhaWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMoYm9keUJ1aWxkZXIsIENoZWNrRm9y
U3RyaWN0TW9kZSwgcGFyc2VUeXBlKSwgcGFyc2VUeXBlID09IFN0YW5kYXJkRnVuY3Rpb25QYXJz
ZVR5cGUgPyAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBmdW5jdGlvbiIgOiAiQ2Fubm90IHBh
cnNlIGJvZHkgb2YgdGhpcyBhcnJvdyBmdW5jdGlvbiIpOworI2Vsc2UKKyAgICBmYWlsSWZGYWxz
ZShwYXJzZVNvdXJjZUVsZW1lbnRzKGJvZHlCdWlsZGVyLCBDaGVja0ZvclN0cmljdE1vZGUsIFN0
YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpLCAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBmdW5j
dGlvbiIpOworI2VuZGlmCiAgICAgdW5zaWduZWQgZW5kQ29sdW1uID0gdG9rZW5Db2x1bW4oKTsK
ICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgdG9r
ZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBmdW5jdGlvbktleXdvcmRTdGFy
dCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgc3RyaWN0TW9kZSgpLCBjb25z
dHJ1Y3RvcktpbmQpOwogfQpAQCAtMTM1MCwyOCArMTQxNSw3NiBAQCB0ZW1wbGF0ZSA8dHlwZW5h
bWUgTGV4ZXJUeXBlPiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGludCBQYXJzZXI8TGV4
ZXJUeXBlPgogICAgIAogICAgIHJldHVybiBwYXJhbWV0ZXJzU3RhcnQ7CiB9CisKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlw
ZT4gdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBpbnQgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlQXJyb3dGdW5jdGlvblBhcmFtdGVycyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25Q
YXJzZU1vZGUgbW9kZSwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYgaW5mbykKK3sK
KyAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0
OworICAgIGlmICghbWF0Y2goSURFTlQpICYmICFtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAg
IHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSks
ICIgbmFtZSIpOworICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVkIGFuIGFycm93IGZ1
bmN0aW9uIGlucHV0IHBhcmFtZXRlciIpOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChtYXRj
aChPUEVOUEFSRU4pKSB7CisgICAgICAgICAgICBjb25zdW1lKE9QRU5QQVJFTik7CisgICAgICAg
ICAgICAKKyAgICAgICAgICAgIGlmICghbWF0Y2goQ0xPU0VQQVJFTikpIHsKKyAgICAgICAgICAg
ICAgICBpbmZvLnBhcmFtZXRlcnMgPSBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoY29udGV4dCk7Cisg
ICAgICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNl
IHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgY29uc3VtZU9yRmFpbChDTE9T
RVBBUkVOLCAiRXhwZWN0ZWQgYSAnKScgb3IgYSAnLCcgYWZ0ZXIgYSBwYXJhbWV0ZXIgZGVjbGFy
YXRpb24iKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGF1dG8gcGFyYW1ldGVyID0g
cGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oY29udGV4dCwgRGVjb25zdHJ1Y3RUb1BhcmFtZXRl
cnMpOworICAgICAgICAgICAgZmFpbElmRmFsc2UocGFyYW1ldGVyLCAiQ2Fubm90IHBhcnNlIHBh
cmFtZXRlciBwYXR0ZXJuIik7CisgICAgICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBjb250ZXh0
LmNyZWF0ZUZvcm1hbFBhcmFtZXRlckxpc3QocGFyYW1ldGVyKTsKKyAgICAgICAgICAgIGZhaWxJ
ZkZhbHNlKGluZm8ucGFyYW1ldGVycywgIkNhbm5vdCBwYXJzZSBwYXJhbWV0ZXJzIGZvciB0aGlz
ICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7CisgICAgICAgIH0KKyAgICB9CiAgICAg
CisgICAgcmV0dXJuIHBhcmFtZXRlcnNTdGFydDsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVu
Y3Rpb25SZXF1aXJlbWVudHMgcmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLAot
ICAgIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCBvd25lckNs
YXNzS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJl
ZUJ1aWxkZXI+JiBpbmZvKQorICAgIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENvbnN0
cnVjdG9yS2luZCBvd25lckNsYXNzS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJz
ZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvLCBGdW5jdGlvblBhcnNlVHlwZSBwYXJz
ZVR5cGUpCiB7CiAgICAgQXV0b1BvcFNjb3BlUmVmIGZ1bmN0aW9uU2NvcGUodGhpcywgcHVzaFNj
b3BlKCkpOwogICAgIGZ1bmN0aW9uU2NvcGUtPnNldElzRnVuY3Rpb24oKTsKICAgICBpbnQgZnVu
Y3Rpb25OYW1lU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CiAgICAgY29u
c3QgSWRlbnRpZmllciogbGFzdEZ1bmN0aW9uTmFtZSA9IG1fbGFzdEZ1bmN0aW9uTmFtZTsKICAg
ICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBudWxscHRyOworICAgIGludCBwYXJhbWV0ZXJzU3RhcnQ7
CisgICAgYm9vbCBpc0NsYXNzQ29uc3RydWN0b3I7CiAgICAgCi0gICAgaW50IHBhcmFtZXRlcnNT
dGFydCA9IHBhcnNlRnVuY3Rpb25QYXJhbXRlcnMoY29udGV4dCwgcmVxdWlyZW1lbnRzLCBtb2Rl
LCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgZnVuY3Rpb25TY29wZSwgaW5mbyk7Ci0KLSAgICBt
YXRjaE9yRmFpbChPUEVOQlJBQ0UsICJFeHBlY3RlZCBhbiBvcGVuaW5nICd7JyBhdCB0aGUgc3Rh
cnQgb2YgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOwotCi0gICAg
Ly8gQnl0ZWNvZGVHZW5lcmF0b3IgZW1pdHMgY29kZSB0byB0aHJvdyBUeXBlRXJyb3Igd2hlbiBh
IGNsYXNzIGNvbnN0cnVjdG9yIGlzICJjYWxsImVkLgotICAgIC8vIFNldCBDb25zdHJ1Y3Rvcktp
bmQgdG8gTm9uZSBmb3Igbm9uLWNvbnN0cnVjdG9yIG1ldGhvZHMgb2YgY2xhc3Nlcy4KLSAgICBi
b29sIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IG1vZGUgPT0gTWV0aG9kTW9kZSAmJiBpbmZvLm5hbWUg
JiYgKmluZm8ubmFtZSA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvcjsKLSAgICBp
ZiAobV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kICE9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSkgewot
ICAgICAgICBvd25lckNsYXNzS2luZCA9IG1fZGVmYXVsdENvbnN0cnVjdG9yS2luZDsKLSAgICAg
ICAgaXNDbGFzc0NvbnN0cnVjdG9yID0gdHJ1ZTsKKyAgICBzd2l0Y2ggKHBhcnNlVHlwZSkgewor
ICAgIGNhc2UgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZTogeworICAgICAgICBwYXJhbWV0ZXJz
U3RhcnQgPSBwYXJzZUZ1bmN0aW9uUGFyYW10ZXJzKGNvbnRleHQsIHJlcXVpcmVtZW50cywgbW9k
ZSwgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIGZ1bmN0aW9uU2NvcGUsIGluZm8pOworICAgICAg
ICAgICAgCisgICAgICAgIG1hdGNoT3JGYWlsKE9QRU5CUkFDRSwgIkV4cGVjdGVkIGFuIG9wZW5p
bmcgJ3snIGF0IHRoZSBzdGFydCBvZiBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwg
IiBib2R5Iik7CisgICAgICAgIAorICAgICAgICAvLyBCeXRlY29kZUdlbmVyYXRvciBlbWl0cyBj
b2RlIHRvIHRocm93IFR5cGVFcnJvciB3aGVuIGEgY2xhc3MgY29uc3RydWN0b3IgaXMgImNhbGwi
ZWQuCisgICAgICAgIC8vIFNldCBDb25zdHJ1Y3RvcktpbmQgdG8gTm9uZSBmb3Igbm9uLWNvbnN0
cnVjdG9yIG1ldGhvZHMgb2YgY2xhc3Nlcy4KKyAgICAgICAgaXNDbGFzc0NvbnN0cnVjdG9yID0g
bW9kZSA9PSBNZXRob2RNb2RlICYmIGluZm8ubmFtZSAmJiAqaW5mby5uYW1lID09IG1fdm0tPnBy
b3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yOworICAgICAgICBpZiAobV9kZWZhdWx0Q29uc3RydWN0
b3JLaW5kICE9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSkgeworICAgICAgICAgICAgb3duZXJDbGFz
c0tpbmQgPSBtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQ7CisgICAgICAgICAgICBpc0NsYXNzQ29u
c3RydWN0b3IgPSB0cnVlOworICAgICAgICB9CisgICAgICAgIGJyZWFrOwogICAgIH0KKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2UgQXJyb3dGdW5jdGlvblBh
cnNlVHlwZTogeworICAgICAgICBwYXJhbWV0ZXJzU3RhcnQgPSBwYXJzZUFycm93RnVuY3Rpb25Q
YXJhbXRlcnMoY29udGV4dCwgbW9kZSwgaW5mbyk7CisgICAgICAgIAorICAgICAgICBtYXRjaE9y
RmFpbChBUlJPV0ZVTkNUSU9OLCAiRXhwZWN0ZWQgYSAnPT4nIGFmdGVyIGFycm93IGZ1bmN0aW9u
IHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSBm
YWxzZTsKKyAgICAgICAgCisgICAgICAgIGluZm8uYXJyb3dGdW5jdGlvbk9mZnNldCA9IG1fdG9r
ZW4ubV9kYXRhLm9mZnNldDsKKyAgICAgICAgYnJlYWs7CisgICAgfQorI2VuZGlmCisgICAgfQor
CiAgICAgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCA9IGlzQ2xhc3NDb25zdHJ1Y3Rv
ciA/IG93bmVyQ2xhc3NLaW5kIDogQ29uc3RydWN0b3JLaW5kOjpOb25lOwogCiAgICAgaW5mby5v
cGVuQnJhY2VPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CkBAIC0xNDA1LDggKzE1MTgs
MTUgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgZmFpbElmRmFsc2UocG9wU2Nv
cGUoZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQ
YXJzZXIgZXJyb3IiKTsKICAgICAgICAgCiAgICAgICAgIGluZm8uY2xvc2VCcmFjZU9mZnNldCA9
IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VPZmZzZXQ7Ci0KLSAgICAgICAgbV90b2tlbiA9IGNhY2hl
ZEluZm8tPmNsb3NlQnJhY2VUb2tlbigpOworICAgICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25Q
YXJzZVR5cGUpCisgICAgICAgICAgICBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPSBjYWNoZWRJbmZv
LT5pc0JvZHlBcnJvd0V4cHJlc3Npb24gPyAgQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uIDog
QXJyb3dGdW5jdGlvbkJvZHlCbG9jazsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgaW5mby5m
dW5jdGlvbkJvZHlUeXBlID0gU3RhbmRhcmRGdW5jdGlvbkJvZHlCbG9jazsKKyNlbmRpZgorICAg
ICAgICBtX3Rva2VuID0gY2FjaGVkSW5mby0+ZW5kRnVuY3Rpb25Ub2tlbigpOworICAgICAgICAK
ICAgICAgICAgaWYgKGVuZENvbHVtbklzT25TdGFydExpbmUpCiAgICAgICAgICAgICBtX3Rva2Vu
Lm1fbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVTdGFydE9mZnNldDsKIApA
QCAtMTQxNSwxMyArMTUzNSw0MyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wg
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogCiAgICAgICAg
IGNvbnRleHQuc2V0RW5kT2Zmc2V0KGluZm8uYm9keSwgbV9sZXhlci0+Y3VycmVudE9mZnNldCgp
KTsKICAgICAgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAg
ICAgaWYgKHBhcnNlVHlwZSAhPSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlIHx8IGluZm8uZnVuY3Rp
b25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrKQorICAgICAgICAgICAgbmV4dCgp
OworI2Vsc2UKICAgICAgICAgbmV4dCgpOworI2VuZGlmCiAgICAgICAgIGluZm8uYm9keUVuZExp
bmUgPSBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmU7CiAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgIH0KKyAgICAKICAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBsYXN0RnVuY3Rpb25OYW1lOwog
ICAgIFBhcnNlclN0YXRlIG9sZFN0YXRlID0gc2F2ZVN0YXRlKCk7Ci0gICAgaW5mby5ib2R5ID0g
cGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9u
TmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCk7CisgICAgCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBlID09IEFy
cm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVQb2ludCA9IGNy
ZWF0ZVNhdmVQb2ludCgpOworICAgICAgICBuZXh0KCk7CisgICAgICAgIC8vIENoZWNrIGlmIGFy
cm93IGJvZHkgc3RhcnQgd2l0aCB7LiBJZiBpdCB0cnVlIGl0IG1lYW4gdGhhdCBhcnJvdyBmdW5j
dGlvbiBpcyBGYXQgYXJyb3cgZnVuY3Rpb24KKyAgICAgICAgLy8gYW5kIHdlIG5lZWQgdXNlIGNv
bW1vbiBhcHByb2FjaCB0byBwYXJzZSBmdW5jdGlvbiBib2R5CisgICAgICAgIGluZm8uZnVuY3Rp
b25Cb2R5VHlwZSA9IG1hdGNoKE9QRU5CUkFDRSkgPyBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrIDog
QXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOworICAgIAorICAgICAgICBpZiAoaW5mby5mdW5j
dGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHsKKyAgICAgICAgICAgIGlu
Zm8ub3BlbkJyYWNlT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgICAgICAgICAg
aW5mby5ib2R5U3RhcnRMaW5lID0gdG9rZW5MaW5lKCk7CisgICAgICAgICAgICBpbmZvLmJvZHlT
dGFydENvbHVtbiA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldCAtIG1fdG9rZW4ubV9kYXRhLmxpbmVT
dGFydE9mZnNldDsKKyAgICAgICAgCisgICAgICAgICAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0
aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQs
IHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VU
eXBlKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2
ZVBvaW50KTsKKyAgICAgICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRl
eHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0
YXJ0LCBjb25zdHJ1Y3RvcktpbmQsIEFycm93RnVuY3Rpb25QYXJzZVR5cGUpOworICAgICAgICB9
CisgICAgfSBlbHNlCisgICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRl
eHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0
YXJ0LCBjb25zdHJ1Y3RvcktpbmQsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOworI2Vsc2UK
KyAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdv
cmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JL
aW5kLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNlbmRpZgorICAgIAogICAgIHJlc3Rv
cmVTdGF0ZShvbGRTdGF0ZSk7CiAgICAgZmFpbElmRmFsc2UoaW5mby5ib2R5LCAiQ2Fubm90IHBh
cnNlIHRoZSBib2R5IG9mIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKICAg
ICBjb250ZXh0LnNldEVuZE9mZnNldChpbmZvLmJvZHksIG1fbGV4ZXItPmN1cnJlbnRPZmZzZXQo
KSk7CkBAIC0xNDUyLDE4ICsxNjAyLDMyIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
Ym9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAg
ICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmUgPSBjbG9zZUJyYWNlTGluZTsKICAgICAgICAg
cGFyYW1ldGVycy5jbG9zZUJyYWNlT2Zmc2V0ID0gaW5mby5jbG9zZUJyYWNlT2Zmc2V0OwogICAg
ICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNlTGlu
ZVN0YXJ0T2Zmc2V0OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAg
ICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICAg
ICAgcGFyYW1ldGVycy5pc0JvZHlBcnJvd0V4cHJlc3Npb24gPSBpbmZvLmZ1bmN0aW9uQm9keVR5
cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOworICAgICAgICAgICAgcGFyYW1ldGVy
cy50b2tlblR5cGUgPSBtX3Rva2VuLm1fdHlwZTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAg
IGZ1bmN0aW9uU2NvcGUtPmZpbGxQYXJhbWV0ZXJzRm9yU291cmNlUHJvdmlkZXJDYWNoZShwYXJh
bWV0ZXJzKTsKICAgICAgICAgbmV3SW5mbyA9IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjpjcmVh
dGUocGFyYW1ldGVycyk7Ci0KICAgICB9CiAgICAgCiAgICAgZmFpbElmRmFsc2UocG9wU2NvcGUo
ZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQYXJz
ZXIgZXJyb3IiKTsKKyAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIGlmICgocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUgJiYgaW5mby5mdW5j
dGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHx8IHBhcnNlVHlwZSAhPSBB
cnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0Us
ICJFeHBlY3RlZCBhIGNsb3NpbmcgJ30nIGFmdGVyIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2Rl
KG1vZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgbmV4dCgpOworICAgIH0gZWxzZQorICAgICAgICBm
YWlsSWZGYWxzZShpc0VuZE9mQXJyb3dGdW5jdGlvbigpLCAiRXhwZWN0ZWQgdGhlIGNsb3Npbmcg
JzsnICcsJyAnXScgJyknICd9JyBhZnRlciBhcnJvdyBmdW5jdGlvbiIpOworI2Vsc2UKICAgICBt
YXRjaE9yRmFpbChDTE9TRUJSQUNFLCAiRXhwZWN0ZWQgYSBjbG9zaW5nICd9JyBhZnRlciBhICIs
IHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7CisgICAgbmV4dCgpOworI2Vu
ZGlmCiAgICAgCiAgICAgaWYgKG5ld0luZm8pCiAgICAgICAgIG1fZnVuY3Rpb25DYWNoZS0+YWRk
KGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBXVEY6Om1vdmUobmV3SW5mbykpOwogICAgIAotICAgIG5l
eHQoKTsKICAgICBpbmZvLmJvZHlFbmRMaW5lID0gbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5l
OwogICAgIHJldHVybiB0cnVlOwogfQpAQCAtMTQ3Niw3ICsxNjQwLDcgQEAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1
bmN0aW9uRGVjbGEKICAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2VuU3Rh
cnQoKTsKICAgICBuZXh0KCk7CiAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBp
bmZvOwotICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlv
bk5lZWRzTmFtZSwgRnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1
bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvKSksICJDYW5ub3QgcGFyc2UgdGhpcyBmdW5jdGlvbiIp
OworICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5l
ZWRzTmFtZSwgRnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0
aW9uS2V5d29yZFN0YXJ0LCBpbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5u
b3QgcGFyc2UgdGhpcyBmdW5jdGlvbiIpOwogICAgIGZhaWxJZkZhbHNlKGluZm8ubmFtZSwgIkZ1
bmN0aW9uIHN0YXRlbWVudHMgbXVzdCBoYXZlIGEgbmFtZSIpOwogICAgIGZhaWxJZkZhbHNlSWZT
dHJpY3QoZGVjbGFyZVZhcmlhYmxlKGluZm8ubmFtZSksICJDYW5ub3QgZGVjbGFyZSBhIGZ1bmN0
aW9uIG5hbWVkICciLCBpbmZvLm5hbWUtPmltcGwoKSwgIicgaW4gc3RyaWN0IG1vZGUiKTsKICAg
ICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jRGVjbFN0YXRlbWVudChsb2NhdGlvbiwgaW5mbyk7
CkBAIC0xNTczLDcgKzE3MzcsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVD
bGFzc0V4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3MoVAogICAgICAgICAg
ICAgZmFpbElmRmFsc2UocHJvcGVydHksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2QiKTsKICAg
ICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRl
cj4gbWV0aG9kSW5mbzsKLSAgICAgICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5m
byhjb250ZXh0LCBGdW5jdGlvbk5lZWRzTmFtZSwgaXNTdGF0aWNNZXRob2QgPyBGdW5jdGlvbk1v
ZGUgOiBNZXRob2RNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBtZXRob2RTdGFydCwgbWV0
aG9kSW5mbykpLCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9kIik7CisgICAgICAgICAgICBmYWls
SWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OZWVkc05hbWUsIGlz
U3RhdGljTWV0aG9kID8gRnVuY3Rpb25Nb2RlIDogTWV0aG9kTW9kZSwgZmFsc2UsIGNvbnN0cnVj
dG9yS2luZCwgbWV0aG9kU3RhcnQsIG1ldGhvZEluZm8sIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5
cGUpKSwgIkNhbm5vdCBwYXJzZSB0aGlzIG1ldGhvZCIpOwogICAgICAgICAgICAgZmFpbElmRmFs
c2UobWV0aG9kSW5mby5uYW1lLCAibWV0aG9kIG11c3QgaGF2ZSBhIG5hbWUiKTsKICAgICAgICAg
ICAgIGZhaWxJZkZhbHNlKGRlY2xhcmVWYXJpYWJsZShtZXRob2RJbmZvLm5hbWUpLCAiQ2Fubm90
IGRlY2xhcmUgYSBtZXRob2QgbmFtZWQgJyIsIG1ldGhvZEluZm8ubmFtZS0+aW1wbCgpLCAiJyIp
OwogCkBAIC0xNzg5LDYgKzE5NTMsMTggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlmU3RhdGVtZW50KFQKICAgICBy
ZXR1cm4gY29udGV4dC5jcmVhdGVJZlN0YXRlbWVudChpZkxvY2F0aW9uLCBjb25kaXRpb24sIHRy
dWVCbG9jaywgc3RhdGVtZW50U3RhY2subGFzdCgpLCBzdGFydCwgZW5kKTsKIH0KIAorI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJU
eXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29u
dGV4dCkKK3sKKyAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7CisgICAgVHJlZUV4cHJlc3Npb24g
bm9kZSA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24oY29udGV4dCk7CisgICAgZmFpbElmRmFs
c2Uobm9kZSwgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9uIik7CisgICAgY29udGV4dC5zZXRFbmRP
ZmZzZXQobm9kZSwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5vZmZzZXQpOworICAgIHJldHVybiBu
b2RlOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7CkBAIC0xODM2LDYgKzIwMTIs
NDEgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KICAgICAgICAgfQogICAgICAgICByZXN0b3Jl
U2F2ZVBvaW50KHNhdmVQb2ludCk7CiAgICAgfQorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0
ZVNhdmVQb2ludCgpOworICAgIGJvb2wgYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCA9IGZhbHNlOwor
ICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgaWYg
KG1hdGNoKENMT1NFUEFSRU4pKSB7CisgICAgICAgICAgICBuZXh0KCk7CisKKyAgICAgICAgICAg
IGlmIChtYXRjaChBUlJPV0ZVTkNUSU9OKSkKKyAgICAgICAgICAgICAgICBhcnJvd0Z1bmN0aW9u
RW1wdHlMaXN0ID0gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICghYXJyb3dGdW5jdGlv
bkVtcHR5TGlzdCkKKyAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rp
b25Qb2ludCk7CisgICAgfQorCisgICAgVHJlZUV4cHJlc3Npb24gbGhzOworICAgIGlmICghYXJy
b3dGdW5jdGlvbkVtcHR5TGlzdCkgeworICAgICAgICBsaHMgPSBwYXJzZUNvbmRpdGlvbmFsRXhw
cmVzc2lvbihjb250ZXh0KTsKKyAgICAgICAgZmFpbElmRmFsc2UobGhzLCAiQ2FuGW5vdCBwYXJz
ZSBleHByZXNzaW9uIik7CisgICAgICAgIGlmIChpbml0aWFsTm9uTEhTQ291bnQgIT0gbV9ub25M
SFNDb3VudCkgeworICAgICAgICAgICAgaWYgKG1fdG9rZW4ubV90eXBlID49IEVRVUFMICYmIG1f
dG9rZW4ubV90eXBlIDw9IE9SRVFVQUwpCisgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsKCJM
ZWZ0IGhhbmQgc2lkZSBvZiBvcGVyYXRvciAnIiwgZ2V0VG9rZW4oKSwgIicgbXVzdCBiZSBhIHJl
ZmVyZW5jZSIpOworCisgICAgICAgICAgICByZXR1cm4gbGhzOworICAgICAgICB9CisgICAgfQor
CisgICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJT04pKSB7CisgICAgICAgIHJlc3RvcmVTYXZlUG9p
bnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAgICAgIGxocyA9IHBhcnNlQXJyb3dGdW5j
dGlvbldyYXBwZXIoY29udGV4dCk7CisgICAgICAgIHJldHVybiBsaHM7CisgICAgfQorI2Vsc2UK
ICAgICBUcmVlRXhwcmVzc2lvbiBsaHMgPSBwYXJzZUNvbmRpdGlvbmFsRXhwcmVzc2lvbihjb250
ZXh0KTsKICAgICBmYWlsSWZGYWxzZShsaHMsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lvbiIpOwog
ICAgIGlmIChpbml0aWFsTm9uTEhTQ291bnQgIT0gbV9ub25MSFNDb3VudCkgewpAQCAtMTg0NCw3
ICsyMDU1LDggQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lv
biBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KIAogICAgICAgICByZXR1cm4gbGhz
OwogICAgIH0KLSAgICAKKyNlbmRpZgorCiAgICAgaW50IGFzc2lnbm1lbnRTdGFjayA9IDA7CiAg
ICAgT3BlcmF0b3Igb3A7CiAgICAgYm9vbCBoYWRBc3NpZ25tZW50ID0gZmFsc2U7CkBAIC0yMDc2
LDcgKzIyODgsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9u
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5TWV0aAogICAgIEpTVG9rZW5Mb2NhdGlv
biBtZXRob2RMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwogICAgIHVuc2lnbmVkIG1ldGhvZFN0
YXJ0ID0gdG9rZW5TdGFydCgpOwogICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4g
bWV0aG9kSW5mbzsKLSAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwg
RnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgTWV0aG9kTW9kZSwgZmFsc2UsIENvbnN0cnVjdG9yS2lu
ZDo6Tm9uZSwgbWV0aG9kU3RhcnQsIG1ldGhvZEluZm8pKSwgIkNhbm5vdCBwYXJzZSB0aGlzIG1l
dGhvZCIpOworICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5j
dGlvbk5vUmVxdWlyZW1lbnRzLCBNZXRob2RNb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpO
b25lLCBtZXRob2RTdGFydCwgbWV0aG9kSW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkp
LCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9kIik7CiAgICAgbWV0aG9kSW5mby5uYW1lID0gbWV0
aG9kTmFtZTsKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkV4cHIobWV0aG9kTG9j
YXRpb24sIG1ldGhvZEluZm8pOwogfQpAQCAtMjEwMiwxMCArMjMxNCwxMCBAQCB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VH
ZXR0ZXJTZXR0ZXIoVAogICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gaW5mbzsK
ICAgICBpZiAodHlwZSA9PSBQcm9wZXJ0eU5vZGU6OkdldHRlcikgewogICAgICAgICBmYWlsSWZG
YWxzZShtYXRjaChPUEVOUEFSRU4pLCAiRXhwZWN0ZWQgYSBwYXJhbWV0ZXIgbGlzdCBmb3IgZ2V0
dGVyIGRlZmluaXRpb24iKTsKLSAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZv
KGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEdldHRlck1vZGUsIGZhbHNlLCBjb25z
dHJ1Y3RvcktpbmQsIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIGluZm8pKSwgIkNhbm5vdCBw
YXJzZSBnZXR0ZXIgZGVmaW5pdGlvbiIpOworICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5j
dGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgR2V0dGVyTW9kZSwgZmFs
c2UsIGNvbnN0cnVjdG9yS2luZCwgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgaW5mbywgU3Rh
bmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIGdldHRlciBkZWZpbml0aW9u
Iik7CiAgICAgfSBlbHNlIHsKICAgICAgICAgZmFpbElmRmFsc2UobWF0Y2goT1BFTlBBUkVOKSwg
IkV4cGVjdGVkIGEgcGFyYW1ldGVyIGxpc3QgZm9yIHNldHRlciBkZWZpbml0aW9uIik7Ci0gICAg
ICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVx
dWlyZW1lbnRzLCBTZXR0ZXJNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBnZXR0ZXJPclNl
dHRlclN0YXJ0T2Zmc2V0LCBpbmZvKSksICJDYW5ub3QgcGFyc2Ugc2V0dGVyIGRlZmluaXRpb24i
KTsKKyAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0
aW9uTm9SZXF1aXJlbWVudHMsIFNldHRlck1vZGUsIGZhbHNlLCBjb25zdHJ1Y3RvcktpbmQsIGdl
dHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIGluZm8sIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUp
KSwgIkNhbm5vdCBwYXJzZSBzZXR0ZXIgZGVmaW5pdGlvbiIpOwogICAgIH0KICAgICBpZiAoc3Ry
aW5nUHJvcGVydHlOYW1lKQogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVHZXR0ZXJPclNl
dHRlclByb3BlcnR5KGxvY2F0aW9uLCB0eXBlLCBzdHJpY3QsIHN0cmluZ1Byb3BlcnR5TmFtZSwg
aW5mbywgc3VwZXJCaW5kaW5nKTsKQEAgLTIzNTQsNyArMjU2Niw3IEBAIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJp
bWFyeUV4cHJlCiAgICAgICAgIG5leHQoKTsKICAgICAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRy
ZWVCdWlsZGVyPiBpbmZvOwogICAgICAgICBpbmZvLm5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1l
cy0+bnVsbElkZW50aWZpZXI7Ci0gICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5m
byhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlvbk1vZGUsIGZhbHNlLCBD
b25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvKSksICJDYW5u
b3QgcGFyc2UgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgICAgICBmYWlsSWZGYWxzZSgocGFy
c2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgRnVuY3Rpb25N
b2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBmdW5jdGlvbktleXdvcmRTdGFydCwg
aW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIGZ1bmN0aW9u
IGV4cHJlc3Npb24iKTsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25FeHBy
KGxvY2F0aW9uLCBpbmZvKTsKICAgICB9CiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCkBA
IC0yMzgzLDYgKzI1OTUsMjMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhw
cmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAgcmV0
dXJuIGNvbnRleHQudGhpc0V4cHIobG9jYXRpb24sIG1fdGhpc1REWk1vZGUpOwogICAgIH0KICAg
ICBjYXNlIElERU5UOiB7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICAgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQo
KTsKKyAgICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsK
KyAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsK
KyAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CisgICAg
ICAgIG5leHQoKTsKKworICAgICAgICBpZiAoIW1hdGNoKEFSUk9XRlVOQ1RJT04pKSB7CisgICAg
ICAgICAgICBjdXJyZW50U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRlbnQsIG1fdm0tPnByb3BlcnR5
TmFtZXMtPmV2YWwgPT0gKmlkZW50KTsKKyAgICAgICAgICAgIG1fbGFzdElkZW50aWZpZXIgPSBp
ZGVudDsKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJlc29sdmUobG9jYXRpb24s
IGlkZW50LCBzdGFydCk7CisgICAgICAgIH0KKworICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNh
dmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICBUcmVlRXhwcmVzc2lvbiBsaHMgPSBwYXJz
ZUFycm93RnVuY3Rpb25XcmFwcGVyKGNvbnRleHQpOworICAgICAgICByZXR1cm4gbGhzOworI2Vs
c2UKICAgICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsK
ICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsK
ICAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CkBAIC0y
MzkwLDYgKzI2MTksNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNz
aW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHByZQogICAgICAgICBjdXJyZW50
U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRlbnQsIG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0g
KmlkZW50KTsKICAgICAgICAgbV9sYXN0SWRlbnRpZmllciA9IGlkZW50OwogICAgICAgICByZXR1
cm4gY29udGV4dC5jcmVhdGVSZXNvbHZlKGxvY2F0aW9uLCBpZGVudCwgc3RhcnQpOworI2VuZGlm
CiAgICAgfQogICAgIGNhc2UgU1RSSU5HOiB7CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlk
ZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CkBAIC0yNTgxLDYgKzI4MTEsMzIgQEAgZW5kTWVt
YmVyRXhwcmVzc2lvbjoKICAgICByZXR1cm4gYmFzZTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBU
cmVlRXhwcmVzc2lvbiBiYXNlID0gMDsKKyAgICBKU1RleHRQb3NpdGlvbiBleHByZXNzaW9uU3Rh
cnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICBpbnQgbmV3Q291bnQgPSAwOworICAgIEpT
VG9rZW5Mb2NhdGlvbiBsb2NhdGlvbjsKKworICAgIGlmIChtYXRjaChJREVOVCkgfHwgbWF0Y2go
T1BFTlBBUkVOKSkgeworICAgICAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRv
a2VuU3RhcnQoKTsKKyAgICAgICAgbG9jYXRpb24gPSB0b2tlbkxvY2F0aW9uKCk7CisgICAgICAg
IFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gaW5mbzsKKyAgICAgICAgaW5mby5uYW1l
ID0gJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyOworICAgICAgICBmYWlsSWZG
YWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywg
RnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29y
ZFN0YXJ0LCBpbmZvLCBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2UgYXJy
b3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgICAgICBiYXNlID0gY29udGV4dC5jcmVhdGVB
cnJvd0Z1bmN0aW9uRXhwcihsb2NhdGlvbiwgaW5mbyk7CisgICAgfSBlbHNlCisgICAgICAgIGJh
c2UgPSBwYXJzZVByaW1hcnlFeHByZXNzaW9uKGNvbnRleHQpOworCisgICAgZmFpbElmRmFsc2Uo
YmFzZSwgIkNhbm5vdCBwYXJzZSBiYXNlIGV4cHJlc3Npb24iKTsKKyAgICB3aGlsZSAobmV3Q291
bnQtLSkKKyAgICAgICAgYmFzZSA9IGNvbnRleHQuY3JlYXRlTmV3RXhwcihsb2NhdGlvbiwgYmFz
ZSwgZXhwcmVzc2lvblN0YXJ0LCBsYXN0VG9rZW5FbmRQb3NpdGlvbigpKTsKKyAgICByZXR1cm4g
YmFzZTsKK30KKyNlbmRpZgorCiBzdGF0aWMgY29uc3QgY2hhciogb3BlcmF0b3JTdHJpbmcoYm9v
bCBwcmVmaXgsIHVuc2lnbmVkIHRvaykKIHsKICAgICBzd2l0Y2ggKHRvaykgewpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKaW5kZXggODc5ZTFlMjgxNjcxOTc3Mzg5OWY1MjU3NWVm
YTM1YzAyZTdkMTNmZS4uNzdhZTM5Njc3YWFhY2ZlN2EyNDYwMjRhZTFiYTExOWVkMmE0N2FjNyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC04MCw2ICs4MCwxMSBAQCBj
bGFzcyBTb3VyY2VDb2RlOwogQ09NUElMRV9BU1NFUlQoTGFzdFVudGFnZ2VkVG9rZW4gPCA2NCwg
TGVzc1RoYW42NFVudGFnZ2VkVG9rZW5zKTsKIAogZW51bSBTb3VyY2VFbGVtZW50c01vZGUgeyBD
aGVja0ZvclN0cmljdE1vZGUsIERvbnRDaGVja0ZvclN0cmljdE1vZGUgfTsKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorZW51bSBGdW5jdGlvblBhcnNlVHlwZSB7IFN0YW5k
YXJkRnVuY3Rpb25QYXJzZVR5cGUsIEFycm93RnVuY3Rpb25QYXJzZVR5cGUgfTsKKyNlbHNlCitl
bnVtIEZ1bmN0aW9uUGFyc2VUeXBlIHsgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZX07CisjZW5k
aWYKIGVudW0gRnVuY3Rpb25SZXF1aXJlbWVudHMgeyBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBG
dW5jdGlvbk5lZWRzTmFtZSB9OwogZW51bSBGdW5jdGlvblBhcnNlTW9kZSB7CiAgICAgRnVuY3Rp
b25Nb2RlLApAQCAtNjE4LDYgKzYyMywxMyBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gbV90
b2tlbi5tX3R5cGUgPT0gSURFTlQgJiYgKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnBy
b3BlcnR5TmFtZXMtPm9mOwogICAgIH0KICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIEFMV0FZU19JTkxJTkUgYm9vbCBpc0VuZE9mQXJyb3dGdW5jdGlvbigp
CisgICAgeworICAgICAgICByZXR1cm4gbWF0Y2goU0VNSUNPTE9OKSB8fCBtYXRjaChDT01NQSkg
fHwgbWF0Y2goQ0xPU0VQQVJFTikgfHwgbWF0Y2goQ0xPU0VCUkFDRSkgfHwgbWF0Y2goQ0xPU0VC
UkFDS0VUKTsKKyAgICB9CisjZW5kaWYKKyAgICAKICAgICBBTFdBWVNfSU5MSU5FIHVuc2lnbmVk
IHRva2VuU3RhcnQoKQogICAgIHsKICAgICAgICAgcmV0dXJuIG1fdG9rZW4ubV9sb2NhdGlvbi5z
dGFydE9mZnNldDsKQEAgLTcyMSw5ICs3MzMsOSBAQCBwcml2YXRlOgogICAgICAgICB9CiAgICAg
ICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIAotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxk
ZXImLCBTb3VyY2VFbGVtZW50c01vZGUpOwotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYsIGNvbnN0IElkZW50
aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMCk7
CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBw
YXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxlbWVudHNNb2RlLCBGdW5j
dGlvblBhcnNlVHlwZSk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3Rh
dGVtZW50IHBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRp
cmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwLCBGdW5jdGlvblBh
cnNlVHlwZSB0eXBlID0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CiAjaWYgRU5BQkxFKEVT
Nl9DTEFTU19TWU5UQVgpCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3Rh
dGVtZW50IHBhcnNlQ2xhc3NEZWNsYXJhdGlvbihUcmVlQnVpbGRlciYpOwogI2VuZGlmCkBAIC03
NjIsMjcgKzc3NCwzNiBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVByb3BlcnR5IHBhcnNlUHJvcGVydHkoVHJlZUJ1aWxkZXImLCBib29sIHN0cmljdCk7
CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZVBy
b3BlcnR5TWV0aG9kKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiBtZXRo
b2ROYW1lKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBw
YXJzZUdldHRlclNldHRlcihUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0LCBQcm9wZXJ0eU5vZGU6
OlR5cGUsIHVuc2lnbmVkIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIENvbnN0cnVjdG9yS2lu
ZCA9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJCaW5kaW5nID0gU3VwZXJCaW5kaW5nOjpO
b3ROZWVkZWQpOwotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElO
RSBUcmVlRnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVyJiwgaW50IGZ1
bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIGludCBwYXJhbWV0ZXJz
U3RhcnQsIENvbnN0cnVjdG9yS2luZCk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VGdW5jdGlvbkJvZHkoVHJlZUJ1
aWxkZXImLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwg
aW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kLCBGdW5jdGlvblBhcnNlVHlwZSBm
dW5jdGlvblBhcnNlVHlwZSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdB
WVNfSU5MSU5FIFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhU
cmVlQnVpbGRlciYpOwogICAgIGVudW0gVmFyRGVjbGFyYXRpb25MaXN0Q29udGV4dCB7IEZvckxv
b3BDb250ZXh0LCBWYXJEZWNsYXJhdGlvbkNvbnRleHQgfTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlVmFyRGVjbGFyYXRpb25MaXN0KFRyZWVC
dWlsZGVyJiwgaW50JiBkZWNsYXJhdGlvbnMsIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4mIGxh
c3RQYXR0ZXJuLCBUcmVlRXhwcmVzc2lvbiYgbGFzdEluaXRpYWxpemVyLCBKU1RleHRQb3NpdGlv
biYgaWRlbnRTdGFydCwgSlNUZXh0UG9zaXRpb24mIGluaXRTdGFydCwgSlNUZXh0UG9zaXRpb24m
IGluaXRFbmQsIFZhckRlY2xhcmF0aW9uTGlzdENvbnRleHQpOwogICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVDb25zdERlY2xMaXN0IHBhcnNlQ29uc3RE
ZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImKTsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVz
c2lvbiBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CisgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQXJyb3dGdW5jdGlv
blN0YXRlbWVudChUcmVlQnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZUV4cHJlc3Npb24gcGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihUcmVlQnVpbGRlciYp
OworI2VuZGlmCisKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElO
RSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIGNyZWF0ZUJpbmRpbmdQYXR0ZXJuKFRyZWVCdWls
ZGVyJiwgRGVjb25zdHJ1Y3Rpb25LaW5kLCBjb25zdCBJZGVudGlmaWVyJiwgaW50IGRlcHRoLCBK
U1Rva2VuKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBU
cmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIHBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuKFRyZWVC
dWlsZGVyJiwgRGVjb25zdHJ1Y3Rpb25LaW5kLCBpbnQgZGVwdGggPSAwKTsKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0
ZXJuIHRyeVBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuRXhwcmVzc2lvbihUcmVlQnVpbGRlciYp
OwotCi0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgYm9vbCBw
YXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzLCBGdW5j
dGlvblBhcnNlTW9kZSwgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29uc3RydWN0b3JL
aW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVp
bGRlcj4mKTsKLSAgICAKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lO
TElORSBpbnQgcGFyc2VGdW5jdGlvblBhcmFtdGVycyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVx
dWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSwgYm9vbCwgQXV0b1BvcFNjb3BlUmVmJiwgUGFy
c2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYpOwotI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lO
VEFYKQotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVD
bGFzc0V4cHJlc3Npb24gcGFyc2VDbGFzcyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1l
bnRzLCBQYXJzZXJDbGFzc0luZm88VHJlZUJ1aWxkZXI+Jik7CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVS
X0lOTElORSBpbnQgcGFyc2VBcnJvd0Z1bmN0aW9uUGFyYW10ZXJzKFRyZWVCdWlsZGVyJiwgRnVu
Y3Rpb25QYXJzZU1vZGUsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mKTsKICNlbmRp
ZgorCiAjaWYgRU5BQkxFKEVTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6
VGVtcGxhdGVTdHJpbmcgcGFyc2VUZW1wbGF0ZVN0cmluZyhUcmVlQnVpbGRlciYgY29udGV4dCwg
Ym9vbCBpc1RlbXBsYXRlSGVhZCwgYm9vbCYgZWxlbWVudElzVGFpbCk7CiAgICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OlRl
bXBsYXRlTGl0ZXJhbCBwYXJzZVRlbXBsYXRlTGl0ZXJhbChUcmVlQnVpbGRlciYpOwogI2VuZGlm
CiAKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBib29sIHBh
cnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIEZ1bmN0
aW9uUGFyc2VNb2RlLCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3Rvcktp
bmQsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWls
ZGVyPiYsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNpZiBFTkFCTEUo
RVM2X0NMQVNTX1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVS
X0lOTElORSBUcmVlQ2xhc3NFeHByZXNzaW9uIHBhcnNlQ2xhc3MoVHJlZUJ1aWxkZXImLCBGdW5j
dGlvblJlcXVpcmVtZW50cywgUGFyc2VyQ2xhc3NJbmZvPFRyZWVCdWlsZGVyPiYpOworI2VuZGlm
CisKICAgICBBTFdBWVNfSU5MSU5FIGludCBpc0JpbmFyeU9wZXJhdG9yKEpTVG9rZW5UeXBlKTsK
ICAgICBib29sIGFsbG93QXV0b21hdGljU2VtaWNvbG9uKCk7CiAgICAgCkBAIC03OTUsNiArODE2
LDE0IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBhbGxvd0F1dG9tYXRpY1NlbWljb2xvbigp
OwogICAgIH0KICAgICAKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgdm9pZCBzZXRFbmRPZlN0YXRlbWVudCgpCisgICAgeworICAgICAgICBtX2xleGVyLT5zZXRU
b2tlblBvc2l0aW9uKCZtX3Rva2VuKTsKKyAgICB9CisjZW5kaWYKKwogICAgIGJvb2wgY2FuUmVj
dXJzZSgpCiAgICAgewogICAgICAgICByZXR1cm4gbV92bS0+aXNTYWZlVG9SZWN1cnNlKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5m
by5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaApp
bmRleCA2YjczNjI4MmUyZDJhODFiYzYzZGMyZjNjMGU1YWU4Yzg1OGNkMWY4Li4wY2RlMGM2N2E5
ZGUwZWRmMzQxNDRlMzI3OTFlNWU5MGI0YTIxNTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKQEAgLTI4LDYgKzI4LDEwIEBACiAK
IG5hbWVzcGFjZSBKU0MgewogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
K2VudW0gRnVuY3Rpb25Cb2R5VHlwZSB7IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiwgQXJy
b3dGdW5jdGlvbkJvZHlCbG9jaywgU3RhbmRhcmRGdW5jdGlvbkJvZHlCbG9jayB9OworI2VuZGlm
CisKIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4KIHN0cnVjdCBQYXJzZXJGdW5jdGlvbklu
Zm8gewogICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUgPSAwOwpAQCAtMzgsNiArNDIsMTEgQEAg
c3RydWN0IFBhcnNlckZ1bmN0aW9uSW5mbyB7CiAgICAgaW50IGJvZHlTdGFydExpbmUgPSAwOwog
ICAgIGludCBib2R5RW5kTGluZSA9IDA7CiAgICAgdW5zaWduZWQgYm9keVN0YXJ0Q29sdW1uID0g
MDsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHVuc2lnbmVkIGFy
cm93RnVuY3Rpb25PZmZzZXQgPSAwOworICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uID0gZmFsc2U7
CisgICAgRnVuY3Rpb25Cb2R5VHlwZSBmdW5jdGlvbkJvZHlUeXBlID0gU3RhbmRhcmRGdW5jdGlv
bkJvZHlCbG9jazsKKyNlbmRpZgogfTsKIAogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKaW5kZXggMDI2ZTRm
ODBmNDM3ZDhiZmU0YTYxOWMzMGQxMWRjOWZjNjFlMjY0NS4uZTkxNTRjYWYwNTNjNTM4MWI1ZjA5
ODE2ZGJhMDU1OGE1NDM0YmYzNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9QYXJzZXJUb2tlbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlclRva2Vucy5oCkBAIC03NSw2ICs3NSw5IEBAIGVudW0gSlNUb2tlblR5cGUgewogICAgIEZJ
TkFMTFksCiAgICAgREVCVUdHRVIsCiAgICAgRUxTRSwKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIEFSUk9XRlVOQ1RJT04sCisjZW5kaWYKICNpZiBFTkFCTEUoRVM2
X0NMQVNTX1NZTlRBWCkKICAgICBDTEFTU1RPS0VOLAogICAgIEVYVEVORFMsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCmluZGV4IDczZDIzZGI4MmFmMjVlYTQ2YzBm
ODk3ODVjZTQyNGJiNjBlYjYxYTcuLjUwZDUyNjM5Nzk0M2UzODFkMzgwZWM0M2Q4MmQ1YjYzZjdm
MDhkYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29k
ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCkBAIC0x
MDUsNiArMTA1LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIAogICAgICAgICBTb3VyY2VD
b2RlIHN1YkV4cHJlc3Npb24odW5zaWduZWQgb3BlbkJyYWNlLCB1bnNpZ25lZCBjbG9zZUJyYWNl
LCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOwogCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgU291cmNlQ29kZSBzdWJBcnJvd0V4cHJlc3Npb24o
dW5zaWduZWQgc3RhcnRBcnJvd0Z1bmN0aW9uLCB1bnNpZ25lZCBlbmRBcnJvd0Z1bmN0aW9uLCBp
bnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOworI2VuZGlmCiAgICAgcHJpdmF0ZToKICAg
ICAgICAgUmVmUHRyPFNvdXJjZVByb3ZpZGVyPiBtX3Byb3ZpZGVyOwogICAgICAgICBpbnQgbV9z
dGFydENoYXI7CkBAIC0xMTgsNiArMTIxLDE3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBy
ZXR1cm4gU291cmNlQ29kZShTdHJpbmdTb3VyY2VQcm92aWRlcjo6Y3JlYXRlKHNvdXJjZSwgdXJs
LCBzdGFydFBvc2l0aW9uKSwgc3RhcnRQb3NpdGlvbi5tX2xpbmUub25lQmFzZWRJbnQoKSwgc3Rh
cnRQb3NpdGlvbi5tX2NvbHVtbi5vbmVCYXNlZEludCgpKTsKICAgICB9CiAKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlubGluZSBTb3VyY2VDb2RlIFNvdXJjZUNv
ZGU6OnN1YkFycm93RXhwcmVzc2lvbih1bnNpZ25lZCBzdGFydEFycm93RnVuY3Rpb24sIHVuc2ln
bmVkIGVuZEFycm93RnVuY3Rpb24sIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbikKKyAg
ICB7CisgICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFycm93RnVuY3Rp
b25dID09ICc9JyAmJiBwcm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFycm93RnVuY3Rpb24gKyAx
XSA9PSAnPicpOworICAgICAgICAvLyBGaXhtZTogVXNlIGJldHRlciBhcHByb2FjaCB0byBjaGVj
ayBzeW1ib2wKKyAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVu
Y3Rpb24gLSAxXSA9PSAnLCcgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlv
biAtIDFdID09ICc7JyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0g
MV0gPT0gJyknIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9
PSAnXScgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICd9
Jyk7CisgICAgICAgIHN0YXJ0Q29sdW1uICs9IDE7IC8vIENvbnZlcnQgdG8gYmFzZSAxLgorICAg
ICAgICByZXR1cm4gU291cmNlQ29kZShwcm92aWRlcigpLCBzdGFydEFycm93RnVuY3Rpb24sIGVu
ZEFycm93RnVuY3Rpb24sIGZpcnN0TGluZSwgc3RhcnRDb2x1bW4pOworICAgIH0KKyNlbmRpZgor
CiAgICAgaW5saW5lIFNvdXJjZUNvZGUgU291cmNlQ29kZTo6c3ViRXhwcmVzc2lvbih1bnNpZ25l
ZCBvcGVuQnJhY2UsIHVuc2lnbmVkIGNsb3NlQnJhY2UsIGludCBmaXJzdExpbmUsIGludCBzdGFy
dENvbHVtbikKICAgICB7CiAgICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtvcGVu
QnJhY2VdID09ICd7Jyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKaW5kZXggNjM1Mzc5ZTNmNDQ1NjY4YzUyYjg3MmY3
NjE2ZGNiNTkyMWE4Mjk0NC4uZjQyOGRiNTBhOGRhN2E3YWI0NjgyNGFiMzgwODNkYjA1MmQ3Mzc3
NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRl
ckNhY2hlSXRlbS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJv
dmlkZXJDYWNoZUl0ZW0uaApAQCAtNDAsNiArNDAsMTAgQEAgc3RydWN0IFNvdXJjZVByb3ZpZGVy
Q2FjaGVJdGVtQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBib29sIG5lZWRzRnVsbEFjdGl2YXRp
b247CiAgICAgYm9vbCB1c2VzRXZhbDsKICAgICBib29sIHN0cmljdE1vZGU7CisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBib29sIGlzQm9keUFycm93RXhwcmVzc2lv
bjsKKyAgICBKU1Rva2VuVHlwZSB0b2tlblR5cGU7CisjZW5kaWYKICAgICBWZWN0b3I8UmVmUHRy
PFN0cmluZ0ltcGw+PiB1c2VkVmFyaWFibGVzOwogICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1w
bD4+IHdyaXR0ZW5WYXJpYWJsZXM7CiB9OwpAQCAtNTUsMTAgKzU5LDE0IEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtPiBjcmVhdGUo
Y29uc3QgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMmKTsKICAgICB+
U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0oKTsKIAotICAgIEpTVG9rZW4gY2xvc2VCcmFjZVRva2Vu
KCkgY29uc3QgCisgICAgSlNUb2tlbiBlbmRGdW5jdGlvblRva2VuKCkgY29uc3QgCiAgICAgewog
ICAgICAgICBKU1Rva2VuIHRva2VuOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCisgICAgICAgIHRva2VuLm1fdHlwZSA9IGlzQm9keUFycm93RXhwcmVzc2lvbiA/IHRva2Vu
VHlwZSA6IENMT1NFQlJBQ0U7CisjZWxzZQogICAgICAgICB0b2tlbi5tX3R5cGUgPSBDTE9TRUJS
QUNFOworI2VuZGlmCiAgICAgICAgIHRva2VuLm1fZGF0YS5vZmZzZXQgPSBjbG9zZUJyYWNlT2Zm
c2V0OwogICAgICAgICB0b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0ID0gY2xvc2VCcmFjZU9m
ZnNldDsKICAgICAgICAgdG9rZW4ubV9sb2NhdGlvbi5lbmRPZmZzZXQgPSBjbG9zZUJyYWNlT2Zm
c2V0ICsgMTsKQEAgLTgyLDYgKzkwLDExIEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCB1c2VkVmFy
aWFibGVzQ291bnQ7CiAgICAgdW5zaWduZWQgd3JpdHRlblZhcmlhYmxlc0NvdW50OwogCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBib29sIGlzQm9keUFycm93RXhw
cmVzc2lvbjsKKyAgICBKU1Rva2VuVHlwZSB0b2tlblR5cGU7CisjZW5kaWYKKwogICAgIFN0cmlu
Z0ltcGwqKiB1c2VkVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxTdHJpbmdJ
bXBsKio+KG1fdmFyaWFibGVzKTsgfQogICAgIFN0cmluZ0ltcGwqKiB3cml0dGVuVmFyaWFibGVz
KCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxTdHJpbmdJbXBsKio+KCZtX3ZhcmlhYmxlc1t1
c2VkVmFyaWFibGVzQ291bnRdKTsgfQogCkBAIC0xMTUsNiArMTI4LDEwIEBAIGlubGluZSBTb3Vy
Y2VQcm92aWRlckNhY2hlSXRlbTo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0oY29uc3QgU291cmNl
UHJvdmlkZXJDYWNoCiAgICAgLCBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0KHBhcmFtZXRlcnMu
Y2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldCkKICAgICAsIHVzZWRWYXJpYWJsZXNDb3VudChwYXJh
bWV0ZXJzLnVzZWRWYXJpYWJsZXMuc2l6ZSgpKQogICAgICwgd3JpdHRlblZhcmlhYmxlc0NvdW50
KHBhcmFtZXRlcnMud3JpdHRlblZhcmlhYmxlcy5zaXplKCkpCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAsIGlzQm9keUFycm93RXhwcmVzc2lvbihwYXJhbWV0ZXJz
LmlzQm9keUFycm93RXhwcmVzc2lvbikKKyAgICAsIHRva2VuVHlwZShwYXJhbWV0ZXJzLnRva2Vu
VHlwZSkKKyNlbmRpZgogewogICAgIHVuc2lnbmVkIGogPSAwOwogICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCB1c2VkVmFyaWFibGVzQ291bnQ7ICsraSwgKytqKSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCmluZGV4IDU1NGU1ZGY2NGE3MjFmNDQ2
MmQwZDg5YWIwMjNhZmRkNzUzYzU1YmUuLmY2MzVlZDFiYjM3ZTg4NTM2NDU0NzRjMDgyM2Y0YjYx
MzgwYTRkMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4
Q2hlY2tlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tl
ci5oCkBAIC0xNzcsNiArMTc3LDEwIEBAIHB1YmxpYzoKICNlbmRpZgogICAgIEV4cHJlc3Npb25U
eXBlIGNyZWF0ZUZ1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJz
ZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0K
ICAgICBpbnQgY3JlYXRlRnVuY3Rpb25Cb2R5KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0
IEpTVG9rZW5Mb2NhdGlvbiYsIGludCwgaW50LCBib29sLCBpbnQsIGludCwgaW50LCBDb25zdHJ1
Y3RvcktpbmQpIHsgcmV0dXJuIEZ1bmN0aW9uQm9keVJlc3VsdDsgfQorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlQXJyb3dGdW5j
dGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZv
PFN5bnRheENoZWNrZXI+JikgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9CisjZW5kaWYgCisgICAg
dm9pZCBzZXRGdW5jdGlvbk5hbWVTdGFydChpbnQsIGludCkgeyB9CiAgICAgaW50IGNyZWF0ZUFy
Z3VtZW50cygpIHsgcmV0dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQogICAgIGludCBjcmVhdGVBcmd1
bWVudHMoaW50KSB7IHJldHVybiBBcmd1bWVudHNSZXN1bHQ7IH0KICAgICBFeHByZXNzaW9uVHlw
ZSBjcmVhdGVTcHJlYWRFeHByZXNzaW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIEV4cHJlc3Np
b25UeXBlLCBpbnQsIGludCwgaW50KSB7IHJldHVybiBTcHJlYWRFeHByOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hMDI3MTk2MDM5N2FiN2Q5OTUyNDhiMTJmMjk1YWI3ZTNhZTZkMzM0Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcApA
QCAtMCwwICsxLDExOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorCisjaW5jbHVkZSAiRXJyb3Iu
aCIKKyNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCisjaW5jbHVkZSAiSlNDSW5saW5lcy5o
IgorI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCisjaW5j
bHVkZSAiSlNGdW5jdGlvbklubGluZXMuaCIKKyNpbmNsdWRlICJKU09iamVjdC5oIgorI2luY2x1
ZGUgIlByb3BlcnR5U2xvdC5oIgorI2luY2x1ZGUgIlZNLmgiCisKK25hbWVzcGFjZSBKU0Mgewor
ICAgIAorY29uc3QgQ2xhc3NJbmZvIEpTQXJyb3dGdW5jdGlvbjo6c19pbmZvID0geyAiQXJyb3dG
dW5jdGlvbiIsICZCYXNlOjpzX2luZm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNBcnJvd0Z1
bmN0aW9uKSB9OworCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycm93RnVuY3Rpb25D
YWxsKEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBKU0Fycm93RnVuY3Rpb24qIGFycm93RnVuY3Rp
b24gPSBqc0Nhc3Q8SlNBcnJvd0Z1bmN0aW9uKj4oZXhlYy0+Y2FsbGVlKCkpOworICAgICAgICAK
KyAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmdzOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBleGVjLT5hcmd1bWVudENvdW50KCk7ICsraSkKKyAgICAgICAgYXJncy5hcHBlbmQoZXhl
Yy0+dW5jaGVja2VkQXJndW1lbnQoaSkpOworICAgIAorICAgIEpTT2JqZWN0KiBmdW5jdGlvbiA9
IGFycm93RnVuY3Rpb24tPmFycm93RnVuY3Rpb24oKTsKKyAgICBDYWxsRGF0YSBjYWxsRGF0YTsK
KyAgICBDYWxsVHlwZSBjYWxsVHlwZSA9IGdldENhbGxEYXRhKGZ1bmN0aW9uLCBjYWxsRGF0YSk7
CisgICAgQVNTRVJUKGNhbGxUeXBlICE9IENhbGxUeXBlTm9uZSk7CisgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShjYWxsKGV4ZWMsIGZ1bmN0aW9uLCBjYWxsVHlwZSwgY2FsbERhdGEsIGFycm93
RnVuY3Rpb24tPmJvdW5kVGhpcygpLCBhcmdzKSk7Cit9CisgICAgCit2b2lkIEpTQXJyb3dGdW5j
dGlvbjo6ZGVzdHJveShKU0NlbGwqIGNlbGwpCit7CisgICAgc3RhdGljX2Nhc3Q8SlNBcnJvd0Z1
bmN0aW9uKj4oY2VsbCktPkpTQXJyb3dGdW5jdGlvbjo6fkpTQXJyb3dGdW5jdGlvbigpOworfQor
ICAgIAorSlNBcnJvd0Z1bmN0aW9uOjpKU0Fycm93RnVuY3Rpb24oVk0mIHZtLCBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNPYmplY3QqIGFycm93
RnVuY3Rpb24sIEpTVmFsdWUgYm91bmRUaGlzKQorICAgIDogQmFzZSh2bSwgZ2xvYmFsT2JqZWN0
LCBzdHJ1Y3R1cmUpCisgICAgLCBtX2JvdW5kVGhpcyh2bSwgdGhpcywgYm91bmRUaGlzKQorICAg
ICwgbV9hcnJvd0Z1bmN0aW9uKHZtLCB0aGlzLCBhcnJvd0Z1bmN0aW9uKQoreworfQorCitKU0Fy
cm93RnVuY3Rpb24qIEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlV2l0aEludmFsaWRhdGVkUmVhbGxv
Y2F0aW9uV2F0Y2hwb2ludChWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpT
T2JqZWN0KiBhcnJvd0Z1bmN0aW9uLCBKU1ZhbHVlIGJvdW5kVGhpcykKK3sKKyAgICBBU1NFUlQo
anNDYXN0PEpTRnVuY3Rpb24qPihhcnJvd0Z1bmN0aW9uKS0+anNFeGVjdXRhYmxlKCktPnNpbmds
ZXRvbkZ1bmN0aW9uKCktPmhhc0JlZW5JbnZhbGlkYXRlZCgpKTsKKyAgICByZXR1cm4gY3JlYXRl
KHZtLCBnbG9iYWxPYmplY3QsIGFycm93RnVuY3Rpb24sIGJvdW5kVGhpcyk7Cit9CisKK0pTQXJy
b3dGdW5jdGlvbiogSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogYXJyb3dGdW5jdGlvbiwgSlNWYWx1ZSBib3VuZFRo
aXMpCit7CisgICAgTmF0aXZlRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9IHZtLmdldEhvc3RGdW5j
dGlvbihhcnJvd0Z1bmN0aW9uQ2FsbCwgY2FsbEhvc3RGdW5jdGlvbkFzQ29uc3RydWN0b3IpOwor
ICAgIEpTQXJyb3dGdW5jdGlvbiogZnVuY3Rpb24gPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2Vs
bDxKU0Fycm93RnVuY3Rpb24+KHZtLmhlYXApKSBKU0Fycm93RnVuY3Rpb24odm0sIGdsb2JhbE9i
amVjdCwgZ2xvYmFsT2JqZWN0LT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCksIGFycm93RnVuY3Rp
b24sIGJvdW5kVGhpcyk7CisgICAgZnVuY3Rpb24tPmZpbmlzaENyZWF0aW9uKHZtLCBleGVjdXRh
YmxlLCAwLCAiIik7CisKKyAgICByZXR1cm4gZnVuY3Rpb247Cit9CisgICAgCit2b2lkIEpTQXJy
b3dGdW5jdGlvbjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBOYXRpdmVFeGVjdXRhYmxlKiBleGVj
dXRhYmxlLCBpbnQgbGVuZ3RoLCBjb25zdCBTdHJpbmcmIG5hbWUpCit7CisgICAgQmFzZTo6Zmlu
aXNoQ3JlYXRpb24odm0sIGV4ZWN1dGFibGUsIGxlbmd0aCwgbmFtZSk7CisgICAgQVNTRVJUKGlu
aGVyaXRzKGluZm8oKSkpOworICAgIAorICAgIC8vIFByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlv
biBpcyB1bmRlZmluZWQKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3Rv
dHlwZSwganNVbmRlZmluZWQoKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgRG9udEVudW0pOwor
ICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+dGhpc0lkZW50aWZpZXIsIGJvdW5k
VGhpcygpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51bSk7Cit9CisKKyAgICAKK3Zv
aWQgSlNBcnJvd0Z1bmN0aW9uOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0
b3ImIHZpc2l0b3IpCit7CisgICAgSlNBcnJvd0Z1bmN0aW9uKiB0aGlzT2JqZWN0ID0ganNDYXN0
PEpTQXJyb3dGdW5jdGlvbio+KGNlbGwpOworICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFMo
dGhpc09iamVjdCwgaW5mbygpKTsKKyAgICBCYXNlOjp2aXNpdENoaWxkcmVuKHRoaXNPYmplY3Qs
IHZpc2l0b3IpOworCisgICAgLy8gRml4bWU6IG1fYXJyb3dGdW5jdGlvbiBhbHJlYWR5IHJlbW92
ZWQgYnkgR0MsIGJlY2F1c2UgaXQgY3JlYXRlZCBpbiBiZWZvcmUgcnVuIEpTQXJyb3dGdW5jdGlv
bjo6Y3JlYXRlIG1ldGhvZAorICAgIC8vIEl0IGlzIHBvc3NpYmxlIGNhc2Ugd2hlbiBtX2Fycm93
RnVuY3Rpb24gaXMgcmVtb3ZlZCBidXQgd3JhcHBlciBvYmplY3QgaXMgc3RpbGwgZXhpc3RzCisg
ICAgLy8gIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2Fycm93RnVuY3Rpb24pOworICAg
IAorICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2JvdW5kVGhpcyk7Cit9CisgICAg
CitDb25zdHJ1Y3RUeXBlIEpTQXJyb3dGdW5jdGlvbjo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwq
IGNlbGwsIENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCit7CisgICAgSlNGdW5jdGlvbiog
dGhpc09iamVjdCA9IGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY2VsbCk7CisgICAgICAgIAorICAgIGNv
bnN0cnVjdERhdGEuanMuZnVuY3Rpb25FeGVjdXRhYmxlID0gdGhpc09iamVjdC0+anNFeGVjdXRh
YmxlKCk7CisgICAgY29uc3RydWN0RGF0YS5qcy5zY29wZSA9IHRoaXNPYmplY3QtPnNjb3BlKCk7
CisgICAgcmV0dXJuIENvbnN0cnVjdFR5cGVOb25lOworfQorfSAvLyBuYW1lc3BhY2UgSlNDCisj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dG
dW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9u
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZTk3YmMxYTVmYmRmNmY4YjdhYzc2ZGZlZjAwOWU5ZWVlZjc5ZjhmMwot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dG
dW5jdGlvbi5oCkBAIC0wLDAgKzEsODggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaWZuZGVmIEpTQXJyb3dGdW5jdGlvbl9oCisjZGVmaW5lIEpTQXJy
b3dGdW5jdGlvbl9oCisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorCisj
aW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCisKK25h
bWVzcGFjZSBKU0MgeworCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycm93RnVuY3Rp
b25DYWxsKEV4ZWNTdGF0ZSopOworICAgIAorY2xhc3MgSlNBcnJvd0Z1bmN0aW9uIDogcHVibGlj
IEpTRnVuY3Rpb24geworcHVibGljOgorICAgIHR5cGVkZWYgSlNGdW5jdGlvbiBCYXNlOworCisg
ICAgc3RhdGljIEpTQXJyb3dGdW5jdGlvbiogY3JlYXRlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBK
U09iamVjdCosIEpTVmFsdWUpOworICAgIHN0YXRpYyBKU0Fycm93RnVuY3Rpb24qIGNyZWF0ZVdp
dGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQoVk0mLCBKU0dsb2JhbE9iamVjdCos
IEpTT2JqZWN0KiwgSlNWYWx1ZSk7CisKKyAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2VsbCop
OworICAgIAorICAgIHN0YXRpYyBzaXplX3QgYWxsb2NhdGlvblNpemUoc2l6ZV90IGlubGluZUNh
cGFjaXR5KQorICAgIHsKKyAgICAgICAgQVNTRVJUX1VOVVNFRChpbmxpbmVDYXBhY2l0eSwgIWlu
bGluZUNhcGFjaXR5KTsKKyAgICAgICAgcmV0dXJuIHNpemVvZihKU0Fycm93RnVuY3Rpb24pOwor
ICAgIH0KKyAgICAKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZt
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkKKyAgICB7
CisgICAgICAgIEFTU0VSVChnbG9iYWxPYmplY3QpOworICAgICAgICByZXR1cm4gU3RydWN0dXJl
OjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhKU0Z1bmN0aW9u
VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOworICAgIH0KKyAgICAgICAgCisgICAgc3Rh
dGljIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRh
Jik7CisKKyAgICBKU09iamVjdCogYXJyb3dGdW5jdGlvbigpIHsgcmV0dXJuIG1fYXJyb3dGdW5j
dGlvbi5nZXQoKTsgfQorICAgIEpTVmFsdWUgYm91bmRUaGlzKCkgeyByZXR1cm4gbV9ib3VuZFRo
aXMuZ2V0KCk7IH0KKyAgICAKKyAgICBERUNMQVJFX0lORk87CisgICAgCisgICAgc3RhdGljIGlu
bGluZSBwdHJkaWZmX3Qgb2Zmc2V0T2ZUaGlzVmFsdWUoKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IE9CSkVDVF9PRkZTRVRPRihKU0Fycm93RnVuY3Rpb24sIG1fYm91bmRUaGlzKTsKKyAgICB9Cisg
ICAgCisgICAgY29uc3Qgc3RhdGljIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVz
SGFzSW5zdGFuY2UgfCBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsKKworcHJvdGVjdGVkOgorICAgIHN0
YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKKyAgICAgICAg
Citwcml2YXRlOgorICAgIEpTQXJyb3dGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3Ry
dWN0dXJlKiwgSlNPYmplY3QqLCBKU1ZhbHVlKTsKKworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24o
Vk0mLCBOYXRpdmVFeGVjdXRhYmxlKiwgaW50LCBjb25zdCBTdHJpbmcmKTsKKyAgICAKKyAgICBX
cml0ZUJhcnJpZXI8VW5rbm93bj4gbV9ib3VuZFRoaXM7CisgICAgV3JpdGVCYXJyaWVyPEpTT2Jq
ZWN0PiBtX2Fycm93RnVuY3Rpb247Cit9OworICAgIAorfSAvLyBuYW1lc3BhY2UgSlNDCisjZW5k
aWYgLy8gRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYCisKKyNlbmRpZiAvLyBKU0Fycm93RnVuY3Rp
b25faApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlv
bi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCmluZGV4IDg2
ZGZmMTJmOGZhNDdhMzFhMzNhNjg5NDA4N2NlNWMxMTVjZTUyYjYuLjhmMWQ2MTZhZTBiZDcxNGY0
M2NiOGY4OGFhZDViNzRmMmVjYjc3ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0Z1bmN0aW9uLmgKQEAgLTEzNyw2ICsxMzcsOSBAQCBwdWJsaWM6CiBwcm90ZWN0ZWQ6CiAg
ICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3Ry
dWN0dXJlKik7CiAgICAgSlNGdW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSosIEpTU2Nv
cGUqKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEpTRnVuY3Rp
b24oVk0mLCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBKU1Njb3BlKiwgU3RydWN0dXJlKik7CisjZW5k
aWYKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBOYXRpdmVFeGVjdXRhYmxlKiwgaW50
IGxlbmd0aCwgY29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICB1c2luZyBCYXNlOjpmaW5pc2hDcmVh
dGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rp
b25JbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5s
aW5lcy5oCmluZGV4IGY2YzZkNThlYzZlNWMxMTY0Y2IyN2ZhNWU0MTYxOGI0YjgxNDJmMDIuLjM4
NTA2Y2MxOTlhMDA4ZmY4Zjk2YWRmNjg5YmUzNjA5ODc1ZGVhNWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaApAQCAtNDUsNiArNDUs
MTUgQEAgaW5saW5lIEpTRnVuY3Rpb246OkpTRnVuY3Rpb24oVk0mIHZtLCBGdW5jdGlvbkV4ZWN1
dGFibGUqIGV4ZWN1dGFibGUsIEpTU2NvcGUqIHMKIHsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCitpbmxpbmUgSlNGdW5jdGlvbjo6SlNGdW5jdGlvbihWTSYgdm0s
IEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgSlNTY29wZSogc2NvcGUsIFN0cnVjdHVy
ZSogc3RydWN0dXJlKQorICAgIDogQmFzZSh2bSwgc2NvcGUsIHN0cnVjdHVyZSkKKyAgICAsIG1f
ZXhlY3V0YWJsZSh2bSwgdGhpcywgZXhlY3V0YWJsZSkKKyAgICAsIG1fcmFyZURhdGEoKQorewor
fQorI2VuZGlmCisgICAgCiBpbmxpbmUgRnVuY3Rpb25FeGVjdXRhYmxlKiBKU0Z1bmN0aW9uOjpq
c0V4ZWN1dGFibGUoKSBjb25zdAogewogICAgIEFTU0VSVCghaXNIb3N0RnVuY3Rpb25Ob25Jbmxp
bmUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVj
dC5jcHAKaW5kZXggNTA3ZDhiYzA0YmM5NDJhY2IxMzE5MTFhYzNkMzBhMDk4YWYwZDNjOS4uMzY1
YWIxMWEwM2IyNjk3MDBlOGQ0YzAwNzkwNTliZjQxZTViOTczMyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtNTgsNiArNTgsNyBA
QAogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIkpTQXJy
YXlCdWZmZXJQcm90b3R5cGUuaCIKICNpbmNsdWRlICJKU0FycmF5SXRlcmF0b3IuaCIKKyNpbmNs
dWRlICJKU0Fycm93RnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNp
bmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgi
CkBAIC0yMzQsNiArMjM1LDkgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChWTSYgdm0pCiAg
ICAgZXhlYy0+c2V0Q2FsbGVlKG1fZ2xvYmFsQ2FsbGVlLmdldCgpKTsKIAogICAgIG1fZnVuY3Rp
b25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0Z1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0s
IHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgIG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRo
aXMsIEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9u
UHJvdG90eXBlLmdldCgpKSk7CisjZW5kaWYKICAgICBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUu
c2V0KHZtLCB0aGlzLCBKU0JvdW5kRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywg
bV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOwogICAgIG1fbmFtZWRGdW5jdGlvblN0cnVjdHVy
ZS5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBtX2Z1
bmN0aW9uU3RydWN0dXJlLmdldCgpLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBEb250RGVsZXRl
IHwgUmVhZE9ubHkgfCBEb250RW51bSwgbV9mdW5jdGlvbk5hbWVPZmZzZXQpKTsKICAgICBtX2lu
dGVybmFsRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBJbnRlcm5hbEZ1bmN0aW9uOjpj
cmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKQEAg
LTc2Myw2ICs3NjcsOSBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojp2aXNpdENoaWxkcmVuKEpTQ2Vs
bCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNP
YmplY3QtPm1fY2FsbGVlU3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVj
dC0+bV9mdW5jdGlvblN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3Qt
Pm1fYm91bmRGdW5jdGlvblN0cnVjdHVyZSk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9hcnJvd0Z1bmN0aW9u
U3RydWN0dXJlKTsKKyNlbmRpZgogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX25h
bWVkRnVuY3Rpb25TdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5t
X3N5bWJvbE9iamVjdFN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3Qt
Pm1fcmVnRXhwU3RydWN0dXJlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbE9iamVjdC5oCmluZGV4IDU4OWZhMzk2ZmUxOWM4N2RjZWMyNWM4MTAzMmI0ZWY4YTJi
MDAwY2MuLmRkMWFiMDMyYmQxNGIyOGRlYjE2MGY0YmRhMzg4NGZkZDY5NDg2NDEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtMjI5LDYg
KzIyOSw5IEBAIHByb3RlY3RlZDoKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2NhbGxl
ZVN0cnVjdHVyZTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2Z1bmN0aW9uU3RydWN0
dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYm91bmRGdW5jdGlvblN0cnVjdHVy
ZTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFdyaXRlQmFycmll
cjxTdHJ1Y3R1cmU+IG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZTsKKyNlbmRpZgogICAgIFdyaXRl
QmFycmllcjxTdHJ1Y3R1cmU+IG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZTsKICAgICBQcm9wZXJ0
eU9mZnNldCBtX2Z1bmN0aW9uTmFtZU9mZnNldDsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJl
PiBtX3ByaXZhdGVOYW1lU3RydWN0dXJlOwpAQCAtNDY3LDYgKzQ3MCw5IEBAIHB1YmxpYzoKICAg
ICBTdHJ1Y3R1cmUqIGNhbGxlZVN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbGVlU3Ry
dWN0dXJlLmdldCgpOyB9CiAgICAgU3RydWN0dXJlKiBmdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0
IHsgcmV0dXJuIG1fZnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUqIGJv
dW5kRnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2JvdW5kRnVuY3Rpb25TdHJ1
Y3R1cmUuZ2V0KCk7IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
IFN0cnVjdHVyZSogYXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXJy
b3dGdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQorI2VuZGlmCiAgICAgU3RydWN0dXJlKiBuYW1l
ZEZ1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lZEZ1bmN0aW9uU3RydWN0
dXJlLmdldCgpOyB9CiAgICAgUHJvcGVydHlPZmZzZXQgZnVuY3Rpb25OYW1lT2Zmc2V0KCkgY29u
c3QgeyByZXR1cm4gbV9mdW5jdGlvbk5hbWVPZmZzZXQ7IH0KICAgICBTdHJ1Y3R1cmUqIG51bWJl
ck9iamVjdFN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fbnVtYmVyT2JqZWN0U3RydWN0dXJl
LmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci0xLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rl
c3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzcGFyYW10ZXItMS5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MzYx
YjhkYjAyMjgyNzk2ZDFiYjA0ZjVkYmQ0MDE5YjcyODlmMmNjCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzcGFyYW10
ZXItMS5qcwpAQCAtMCwwICsxLDggQEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3Zh
ciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlm
IChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVk
ICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsK
KwordGVzdENhc2UoIiIgKyBbMSwgMiwgMywgNF0ubWFwKHggPT4geCwgMzIpLCAiMSwyLDMsNCIs
ICJFcnJvcjogYXJyb3cgZnVuY3Rpb24gYXMgdGhlIHBhcmFtdGVycy4iKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3BhcmFt
dGVyLTIuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tYXNwYXJhbXRlci0yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNmMjkzMmZjMTQ0ZDM2YzcwZjA2MWY4ZTY4
ODg4M2U0NGFmY2ZkMTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci0yLmpzCkBAIC0wLDAgKzEsMTUg
QEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9u
IChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVk
KSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywg
YnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGYgPSBmdW5jdGlvbiAo
Y2wsIHBhcmFtdGVyKSB7IHJldHVybiBjbChwYXJhbXRlcik7IH07Cit2YXIgZjIgPSBmdW5jdGlv
biAoY2wsIHBhcmFtdGVyMSwgcGFyYW10ZXIyKSB7IHJldHVybiBjbChwYXJhbXRlcjEsIHBhcmFt
dGVyMik7IH07CisKK3Jlc3VsdCA9IGYoeD0+e3JldHVybiB4ICogMjU7fSwgMTIxKTsKK3Rlc3RD
YXNlKHJlc3VsdCwgMjUqMTIxICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiBmKHggPT4ge3JldHVybiB4ICogMjU7
fSwgMTIxKSIpOworCityZXN1bHQgPSBmMigoeCwgeSk9PntyZXR1cm4geCAqIHk7fSwgMTQsIDEy
KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTQqMTIgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6IGYoKHgsIHkpPT57cmV0
dXJuIHggKiB5O30sIDE0LCAxMjEpKSIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHktMS5qcyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5
LTEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZmQxZDQ3YTQ4MDc1ZWM1OThjNmJlMWUwN2Q3OGEzNTI2MzUzYTkx
MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTEuanMKQEAgLTAsMCArMSwxMyBAQAorLy8gSW5z
cGlyZWQgYnkgbW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwg
ZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0
aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICci
ICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgYWYxLCBhZjIsIGFmMzsKK2FmMSA9IGFm
MiA9IGFmMyA9PiBhZjEgPSBhZjIgPSBhZjM7Cit0ZXN0Q2FzZShhZjEsIGFmMiwgIkVycm9yOiB3
cm9uZyBhc3NvY2lhdGl2aXR5ICMxLiIpOworYWYxKDEzKTsKK3Rlc3RDYXNlKGFmMiwgMTMsICJF
cnJvcjogd3JvbmcgYXNzb2NpYXRpdml0eSAjMi4iKTsKK3Rlc3RDYXNlKGFmMSwgMTMsICJFcnJv
cjogd3JvbmcgYXNzb2NpYXRpdml0eSAjMy4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTIuanMgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRp
dml0eS0yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJlZGQ4MzljNmJjN2VkNmE0MGVmZmJiYzg3NTRlZDFiZmQ4
MDZiNDMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0yLmpzCkBAIC0wLDAgKzEsMTQgQEAKKy8v
IEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1
YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7Cisg
ICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdh
cyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIHM9IiI7CitzICs9IHggPT4geC5u
YW1lOworCisvLyBGaXggbWUuIFBvc3NpYmxlIHdlIGhhdmUgbm90IHVzZSB0aGUgSlNCb3VudEZ1
bmN0aW9uIHdyYXBwZXIgZm9yIHRoZSBsZXhpY2FsCisvLyBiaW5kaW5nIG9mIHRoZSB0aGlzIGFu
ZCB1c2UgZGlyZWN0IGluamVjdGlvbiBvZiB0aGUgJ3RoaXMnIHZhbHVlCisvLyBpbnRvIGFycnJv
dyBmdW5jdGlvbgorLy8gdGVzdENhc2UocywgInggPT4geC5uYW1lIiAsICJFcnJvcjogd3Jvbmcg
dG9TdHJpbmcgY29udmVyc2lvbi4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LmpzIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHkuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjdlZDE1M2NlZWJhNTI2MjI4ZWNhODIxMzA0NjlhOTI0NGIxNGMwNQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1hc3NvY2lhdGl2aXR5LmpzCkBAIC0wLDAgKzEsMTAgQEAKKy8vIEluc3BpcmVkIGJ5
IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVk
LCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVz
c2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVh
bCArICInIjsKKyAgfQorfTsKKwordmFyIGFmID0gYSA9PiBiID0+IGE7CisKK3Rlc3RDYXNlKGFm
KCdBQkMnKSgnREVGJyksICdBQkMnLCAiRXJyb3I6IHdyb25nIG5lc3RlZCBhcnJvdyBmdW5jdGlv
bnMuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tYmxvY2stMS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi1ibG9jay0xLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBjNTcxYmI3MmZjZmVmNTMw
YzU5ZGI0Yjg2MGNhNGYwYTk2YTQxMTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2stMS5qcwpAQCAtMCwwICsx
LDExIEBACisvLyBJbnNwaXJlZCBieSBtb3ppbGxhIHRlc3RzCit2YXIgdGVzdENhc2UgPSBmdW5j
dGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBl
Y3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsg
IicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBmID0gKCkgPT4g
e307Cit0ZXN0Q2FzZSh0eXBlb2YgZigpLCAndW5kZWZpbmVkJywgIkVycm9yOiB3cm9uZyBhcnJv
dyBmdW5jdGlvbiBibG9jay4iKTsKK3ZhciBnID0gKCkgPT4gKHt9KTsKK3Rlc3RDYXNlKHR5cGVv
ZiBnKCksICdvYmplY3QnLCAiRXJyb3I6IHdyb25nIGFycm93IGZ1bmN0aW9uIGJsb2NrLiIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0
aW9uLWJsb2NrLTIuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93
ZnVuY3Rpb24tYmxvY2stMi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40N2VlMzUyY2YwMWQxMzZlMzAyOTIyNzM2
YzVjODBlZjUzYzAzZjZlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJsb2NrLTIuanMKQEAgLTAsMCArMSwxMCBAQAor
Ly8gSW5zcGlyZWQgYnkgbW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFj
dHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsK
KyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQg
d2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgYWYgPSBhID0+IHsgYSArIDE7
IH07CisKK3Rlc3RDYXNlKHR5cGVvZiBhZigwKSwgJ3VuZGVmaW5lZCcsICJFcnJvcjogd3Jvbmcg
YXJyb3cgZnVuY3Rpb24gYmxvY2sgIzIuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYm91bmQuanMgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYm91bmQuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YTczMjBmNGVjNzg4ZWExNDkwYWZjNzJlYzEyNTFlZTBhNmUxZjdiNgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ib3Vu
ZC5qcwpAQCAtMCwwICsxLDE2IEBACit2YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVu
Y3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhw
ZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCAr
ICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgZCA9IHsKKyAg
eCA6ICJiYXIiLAorICB5IDogZnVuY3Rpb24oKSB7IHJldHVybiB6ID0+IHRoaXMueCArIHo7IH0K
K307CisKK3ZhciBlID0geyB4IDogImJheiIgfTsKKwordGVzdENhc2UoZC55KCkuYmluZChlLCAi
bGV5IikoKSwgImJhcmxleSIsICJFcnJvcjogZnVuY3Rpb24gYmluZCBzaG91bGRuJ3QgY2hhbmdl
IGxleGljYWwgYmluZGluZyBvZiB0aGUgYXJyb3cgZnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1jYWxsLmpzIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNhbGwuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjRmOWFhNTA0ZDcwZDcwZDY4Y2RhYTVhNDgyYTQ2NTBhNDVmZGY3YwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1jYWxsLmpzCkBAIC0wLDAgKzEsMTggQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVz
dENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0
dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiAr
IGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3Zh
ciBkID0geworICB4IDogImZvbyIsCisgIHkgOiBmdW5jdGlvbigpIHsgcmV0dXJuICgpID0+IHRo
aXMueDsgfQorfTsKKwordmFyIGUgPSB7IHggOiAiYmFyIiB9OworCit0ZXN0Q2FzZShkLnkoKS5j
YWxsKGUpLCAiZm9vIiwgIkVycm9yOiBmdW5jdGlvbiBjYWxsIHNob3Vsbid0IGNoYW5nZSB0aGUg
bGV4aWNhbCBiaW5kaW5nIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShkLnko
KS5hcHBseShlKSwgImZvbyIsICJFcnJvcjogZnVuY3Rpb24gYXBwbHkgc2hvdWxuJ3QgY2hhbmdl
IHRoZSBsZXhpY2FsIGJpbmRpbmcgb2YgdGhlIGFycm93IGZ1bmN0aW9uIik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY29uc3Ry
dWN0b3IuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjU4YjE2ZDdiNWUyOTc0NGMzM2Y3ODZiNGJm
MTZiZjQ0ZmViMWUyOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDE4IEBA
Cit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgewor
ICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBl
Y3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0K
K307CisKK3ZhciBzaW1wbGVBcnJvd0Z1bmN0aW9uID0gKCkgPT4ge307CisKK3ZhciBlcnJvck9u
Q3JlYXRlID0gZmFsc2U7CisKK3RyeSB7CisgIHZhciBmYyA9IG5ldyBzaW1wbGVBcnJvd0Z1bmN0
aW9uKCk7Cit9CitjYXRjaCAoZSkgeworICBlcnJvck9uQ3JlYXRlID0gdHJ1ZTsKK30KKwordGVz
dENhc2UoZXJyb3JPbkNyZWF0ZSwgdHJ1ZSwgIkVycm9yOiBObyBleGNlcHRpb24gZHVyaW5nIHJ1
biBuZXcgQXJyb3dGdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtYXJndW1lbnRzLmpzIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtYXJndW1l
bnRzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjFlYjY3NjNhNjUyNjk4MTY1YzBmZGIyZDhiYzIwNzNkMmJjZDNi
MWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L2Fycm93ZnVuY3Rpb24tbGV4aWNhbC1hcmd1bWVudHMuanMKQEAgLTAsMCArMSwxNCBAQAordmFy
IHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYg
KGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQg
JyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9Owor
CitmdW5jdGlvbiBhZkNyZWF0b3IoKSB7CisgICAgcmV0dXJuIGEgPT4gYXJndW1lbnRzWzBdOwor
fQorCit2YXIgYWYgPSBhZkNyZWF0b3IoMTIpOworCisvL0ZpeG1lOiBsZXhpY2FsIGJpbmQgb2Yg
dGhlIGFyZ3VtZW50cyBpcyBub3QgaW1wbGVtZW50ZWQKKy8vdGVzdENhc2UoYWYoNiksIDEyLCAi
RXJyb3I6IGFyZ3VtZW50cyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFy
cm93IGZ1bmN0aW9uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTEuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjU1MzFmNTc1NjJmMjg2OGVlYWQzOWZjZDY2ZWU1MDc4YmFjZWQxYgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1sZXhpY2FsLXRoaXMtMS5qcwpAQCAtMCwwICsxLDE3IEBACit2YXIgcmVzdWx0OworCisgdmFy
IHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYg
KGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQg
JyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9Owor
CitmdW5jdGlvbiBEb2cobmFtZSkgeworICB0aGlzLm5hbWUgPSBuYW1lOworICB0aGlzLmdldE5h
bWUgPSAoKSA9PiBldmFsKCJ0aGlzLm5hbWUiKTsKKyAgdGhpcy5nZXROYW1lSGFyZCA9ICgpID0+
IGV2YWwoIigoKSA9PiB0aGlzLm5hbWUpKCkiKTsKK30KKwordmFyIGQgPSBuZXcgRG9nKCJNYXgi
KTsKK3Rlc3RDYXNlKGQuZ2V0TmFtZSgpLCBkLm5hbWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4
aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMxIik7Cit0ZXN0Q2Fz
ZShkLmdldE5hbWVIYXJkKCksIGQubmFtZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkg
YmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzIiKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRo
aXMtMi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1sZXhpY2FsLXRoaXMtMi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45OGI1M2IyOThiYmIwYjUzZTQwNzFjOTk3
ZDgxMjM1MTFhZjYzOWQ5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtdGhpcy0yLmpzCkBAIC0wLDAgKzEs
MzMgQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBl
eHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRo
cm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIg
KyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBhZk9iakxleEJpbmQyID0gZnVuY3Rpb24g
KCkgeworICB0aGlzLmZ1bmMgPSAoKSA9PiB0aGlzOworfTsKKwordmFyIGFmT2JqTGV4QmluZDJJ
bnN0YW5jZSA9IG5ldyBhZk9iakxleEJpbmQyKCk7CisKK3Rlc3RDYXNlKGFmT2JqTGV4QmluZDJJ
bnN0YW5jZS5mdW5jKCkgPT09IGFmT2JqTGV4QmluZDJJbnN0YW5jZSwgdHJ1ZSwgIkVycm9yOiB0
aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24g
IzIiKTsKKwordmFyIG9iaiA9IHsKKyAgbWV0aG9kOiBmdW5jdGlvbiAoKSB7CisgICAgcmV0dXJu
ICgpID0+IHRoaXM7CisgIH0KK307CisKK3Rlc3RDYXNlKG9iai5tZXRob2QoKSgpID09PSBvYmos
IHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhl
IGFycm93IGZ1bmN0aW9uICMzIik7CisKK3ZhciBmYWtlID0ge3N0ZWFsOiBvYmoubWV0aG9kKCl9
OwordGVzdENhc2UoZmFrZS5zdGVhbCgpID09PSBvYmosIHRydWUsICJFcnJvcjogdGhpcyBpcyBu
b3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM0Iik7CisK
KwordmFyIHJlYWwgPSB7Ym9ycm93OiBvYmoubWV0aG9kfTsKK3Rlc3RDYXNlKHJlYWwuYm9ycm93
KCkoKSA9PT0gcmVhbCwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVk
IGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzUiKTsKK3Rlc3RDYXNlKHJlYWwuYm9ycm93
KCkoKSA9PT0gcmVhbCwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVk
IGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzYiKTsKK3Rlc3RDYXNlKHJlYWwuYm9ycm93
KCkoKSA9PT0gcmVhbCwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVk
IGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzciKTsKK3Rlc3RDYXNlKHJlYWwuYm9ycm93
KCkoKSA9PT0gcmVhbCwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVk
IGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzgiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1vdGhlcnMuanMgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tb3RoZXJzLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmZlYmExMWYzMDIyZTM0YTgwMDBhNTcwMDc2ZGIxYTU1YTRhMzJiMjEKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tb3RoZXJzLmpzCkBAIC0wLDAgKzEsMTMgQEAKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9u
IChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVk
KSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywg
YnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIHNpbXBsZUFycm93RnVu
Y3Rpb24gPSAoKSA9PiB7fTsKKwordGVzdENhc2UoT2JqZWN0LmdldFByb3RvdHlwZU9mKHNpbXBs
ZUFycm93RnVuY3Rpb24pLCBGdW5jdGlvbi5wcm90b3R5cGUsICJFcnJvcjogTm90IGNvcnJlY3Qg
Z2V0UHJvdG90eXBlT2YgdmFsdWUgZm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHNp
bXBsZUFycm93RnVuY3Rpb24gaW5zdGFuY2VvZiBGdW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3Qg
Y29ycmVjdCByZXN1bHQgZm9yIGluc3RhbmNlb2YgbWV0aG9kIGZvciBhcnJvdyBmdW5jdGlvbiIp
OworCit0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uLmNvbnN0cnVjdG9yID09IEZ1bmN0aW9u
LCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgY29uc3RydWN0b3IgbWV0aG9k
IG9mIGFycm93IGZ1bmN0aW9uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTEuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MDdhMWYwYTQ5Y2IxNjg2M2M1OTIxMzYxZjBhZGIxZTE0ZWM5YjY1YQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4t
MTAtMS5qcwpAQCAtMCwwICsxLDI0IEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFs
LCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAg
IHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMg
JyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK2Z1bmN0aW9uIHJ1bihjb3VudCkgeworICB2
YXIgcmVzdWx0ID0gdHJ1ZTsKKyAgZm9yKHZhciBpPTA7IGk8Y291bnQ7IGkrKykgeworICAgIHZh
ciBPYmogPSBmdW5jdGlvbiAobmFtZSkgeworICAgICAgdGhpcy5uYW1lID0gbmFtZTsKKyAgICAg
IHRoaXMuZ2V0TmFtZSA9ICgpID0+IHRoaXMubmFtZTsKKyAgICB9OworCisgICAgdmFyIG9iaiA9
IG5ldyBPYmooIkl0ZW0iICsgaSk7CisgICAgaWYgKG9iai5uYW1lICE9PSBvYmouZ2V0TmFtZSgp
KSB7CisgICAgICByZXN1bHQgPSBmYWxzZTsKKyAgICB9CisgIH0KKyAgcmV0dXJuIHJlc3VsdDsK
K30KKwordGVzdENhc2UocnVuKDEpLCB0cnVlLCAiRXJyb3I6IEVycm9yOiBkdXJpbmcgZXhlY3V0
aW9uIG9mIGFycm93IGZ1bmN0aW9uIG9uZSB0aW1lIik7Cit0ZXN0Q2FzZShydW4oMTApLCB0cnVl
LCAiRXJyb3I6IEVycm9yOiBkdXJpbmcgZXhlY3V0aW9uIG9mIGFycm93IGZ1bmN0aW9uIDEwIHRp
bWVzIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tcnVuLTEwLTIuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWRkY2RiM2M3MGExYjI3
YzNkYmI1MjM4MDk1NWY1MzUzZDc2NzQyNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAtMi5qcwpAQCAtMCww
ICsxLDI1IEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVz
c2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2Ug
KyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAi
JyI7CisgIH0KK307CisKK2Z1bmN0aW9uIHJ1bihjb3VudCkgeworICB2YXIgcmVzdWx0ID0gdHJ1
ZTsKKyAgZm9yKHZhciBpPTA7IGk8Y291bnQ7IGkrKykgeworICAgIHZhciBPYmogPSBmdW5jdGlv
biAobmFtZSkgeworICAgICAgdGhpcy5uYW1lID0gbmFtZTsKKyAgICAgIHRoaXMuZ2V0TmFtZSA9
ICgpID0+IGV2YWwoInRoaXMubmFtZSIpOzsKKyAgICB9OworCisKKyAgICB2YXIgb2JqID0gbmV3
IE9iaigiSXRlbSIgKyBpKTsKKyAgICBpZiAob2JqLm5hbWUgIT09IG9iai5nZXROYW1lKCkpIHsK
KyAgICAgIHJlc3VsdCA9IGZhbHNlOworICAgIH0KKyAgfQorICByZXR1cm4gcmVzdWx0OworfQor
Cit0ZXN0Q2FzZShydW4oMSksIHRydWUsICJFcnJvcjogZHVyaW5nIGV4ZWN1dGlvbiBvZiBhcnJv
dyBmdW5jdGlvbiBvbmUgdGltZSIpOwordGVzdENhc2UocnVuKDEwKSwgdHJ1ZSwgIkVycm9yOiBk
dXJpbmcgZXhlY3V0aW9uIG9mIGFycm93IGZ1bmN0aW9uIDEwIHRpbWVzIik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEw
MDAwLTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tcnVuLTEwMDAwLTEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGU1ZjZiYzg2YmQzMTQ1MWIwMWNhMjdkMGI5
NzIwYjU3ZThkNjA1MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAwMDAtMS5qcwpAQCAtMCwwICsxLDIzIEBA
Cit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgewor
ICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBl
Y3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0K
K307CisKK2Z1bmN0aW9uIHJ1bihjb3VudCkgeworICB2YXIgcmVzdWx0ID0gdHJ1ZTsKKyAgZm9y
KHZhciBpPTA7IGk8Y291bnQ7IGkrKykgeworICAgIHZhciBPYmogPSBmdW5jdGlvbiAobmFtZSkg
eworICAgICAgdGhpcy5uYW1lID0gbmFtZTsKKyAgICAgIHRoaXMuZ2V0TmFtZSA9ICgpID0+IHRo
aXMubmFtZTsKKyAgICB9OworCisgICAgdmFyIG9iaiA9IG5ldyBPYmooIkl0ZW0iICsgaSk7Cisg
ICAgaWYgKG9iai5uYW1lICE9PSBvYmouZ2V0TmFtZSgpKSB7CisgICAgICByZXN1bHQgPSBmYWxz
ZTsKKyAgICB9CisgIH0KKyAgcmV0dXJuIHJlc3VsdDsKK30KKwordGVzdENhc2UocnVuKDEwMDAw
KSwgdHJ1ZSwgIkVycm9yOiBFcnJvcjogZHVyaW5nIGV4ZWN1dGlvbiBvZiBhcnJvdyBmdW5jdGlv
biAxMDAwMCB0aW1lcyIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMDAwMC0yLmpzIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMDAwMC0yLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljk1MzBmMmMxZDVhN2Y1NWNlNDZiOGJlNjk5MDhiNGJjMjFlMDUyN2IKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVu
LTEwMDAwLTIuanMKQEAgLTAsMCArMSwyMyBAQAordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFj
dHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsK
KyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQg
d2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCitmdW5jdGlvbiBydW4oY291bnQpIHsK
KyAgdmFyIHJlc3VsdCA9IHRydWU7CisgIGZvcih2YXIgaT0wOyBpPGNvdW50OyBpKyspIHsKKyAg
ICB2YXIgT2JqID0gZnVuY3Rpb24gKG5hbWUpIHsKKyAgICAgIHRoaXMubmFtZSA9IG5hbWU7Cisg
ICAgICB0aGlzLmdldE5hbWUgPSAoKSA9PiBldmFsKCJ0aGlzLm5hbWUiKTs7CisgICAgfTsKKwor
ICAgIHZhciBvYmogPSBuZXcgT2JqKCJJdGVtIiArIGkpOworICAgIGlmIChvYmoubmFtZSAhPT0g
b2JqLmdldE5hbWUoKSkgeworICAgICAgcmVzdWx0ID0gZmFsc2U7CisgICAgfQorICB9CisgIHJl
dHVybiByZXN1bHQ7Cit9CisKK3Rlc3RDYXNlKHJ1bigxMDAwMCksIHRydWUsICJFcnJvcjogRXJy
b3I6IGR1cmluZyBleGVjdXRpb24gb2YgYXJyb3cgZnVuY3Rpb24gMTAwMDAgdGltZXMiKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1zeW50YXguanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tc3ludGF4LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhmZTExZDViZWUwZGJkNTU2NDhhYzQzZGZmY2U0
ZTRlMmU5MGUyODgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tc3ludGF4LmpzCkBAIC0wLDAgKzEsMTE2IEBACit2YXIg
cmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1l
c3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdl
ICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsg
IiciOworICB9Cit9OworCit2YXIgYWYwID0gdiA9PiB2ICsgMTsKK3Rlc3RDYXNlKGFmMCgxMCks
IDExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246
IHYgPT4gdiArIDEiKTsKKwordmFyIGFmMSA9ICh2KSA9PiB2ICogMjsKK3Rlc3RDYXNlKGFmMSgx
MCksIDIwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b246ICh2KSA9PiB2ICsgMSIpOworCit2YXIgYWYyID0gKCkgPT4gMTAwMDsKK3Rlc3RDYXNlKGFm
MigxMjEyKSwgMTAwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uOiAoKSA9PiAxMDAwIik7CisKK3ZhciBhID0gMTUxOwordmFyIGFmMl8xID0gKCkg
PT4gYTsKK3Rlc3RDYXNlKGFmMl8xKDEyMSksIGEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKCkgPT4gdmFyaWFibGUiKTsKKwordmFyIGFmMyA9
ICh2LCB4KSA9PiB2ICsgeDsKK3Rlc3RDYXNlKGFmMygxMSwxMiksIDIzICwiRXJyb3I6IE5vdCBj
b3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICh4LCB5KSA9PiB4ICsgeSIp
OworCit2YXIgYWZ3cmFwcGVyID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRlcikgeyByZXR1cm4gY2wo
cGFyYW10ZXIpOyB9OworCityZXN1bHQgPSBhZndyYXBwZXIoeCA9PiAxMjM0KTsKK3Rlc3RDYXNl
KHJlc3VsdCwgMTIzNCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYykiKTsKKworcmVzdWx0ID0gYWZ3cmFwcGVy
KHggPT4gMTIzNCwgMjM0NSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMzQgLCJFcnJvcjogTm90IGNv
cnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+
IGMsIHkpIik7CisKK3Jlc3VsdCA9IGFmd3JhcHBlcih4ID0+IDEyMSArIDIzMik7Cit0ZXN0Q2Fz
ZShyZXN1bHQsIDM1MyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYzEgKyBjMikiKTsKKworcmVzdWx0ID0gYWZ3
cmFwcGVyKHggPT4gMTIzICsgMzIxLCA5OTk5KTsKK3Rlc3RDYXNlKHJlc3VsdCwgNDQ0ICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10
ZXI6IGYoeCA9PiBjMSArIGMyLCB5KSIpOworCityZXN1bHQgPSBhZndyYXBwZXIoeCA9PiB4ICsg
MTIsIDIxKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IHggKyBjMSwgeSki
KTsKKworcmVzdWx0ID0gYWZ3cmFwcGVyKCh4KSA9PiB4ICsgMjEsIDMyKTsKK3Rlc3RDYXNlKHJl
c3VsdCwgNTMsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbiBhcyBwYXJhbXRlcjogZigoeCkgPT4gYzEgKyBjMiwgeSkiKTsKKworcmVzdWx0ID0gYWZ3
cmFwcGVyKCgpID0+IDEwMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMCwgIkVycm9yOiBOb3QgY29y
cmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+
IGMpIik7CisKK3ZhciBleHRfdmFsdWUgPSAxMjE7CityZXN1bHQgPSBhZndyYXBwZXIoKCkgPT4g
ZXh0X3ZhbHVlKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIxLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gdikiKTsK
KworcmVzdWx0ID0gYWZ3cmFwcGVyKCgpID0+IGV4dF92YWx1ZSAqIDEwKTsKK3Rlc3RDYXNlKHJl
c3VsdCwgMTIxMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1
bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IHYqeCkiKTsKKworcmVzdWx0ID0gYWZ3cmFwcGVy
KCh4KSA9PiBleHRfdmFsdWUgKiB4LCAzMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDMwKmV4dF92YWx1
ZSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFz
IHBhcmFtdGVyOiBmKCh4KSA9PiB2KngsIHkpIik7CisKK3Jlc3VsdCA9IGFmd3JhcHBlcigoKSA9
PiAxMDAsIDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYzEsIHkp
Iik7CisKKyByZXN1bHQgPSBhZndyYXBwZXIoKCkgPT4gMTAwICsgMTApOwordGVzdENhc2UocmVz
dWx0LCAxMTAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjMSArIGMyKSIpOworCityZXN1bHQgPSBhZndyYXBw
ZXIoKCkgPT4gMTAwICsgMTEsIDEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTExICwiRXJyb3I6IE5v
dCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYo
KCkgPT4gYzEgKyBjMiwgeSkiKTsKKwordmFyIGFycm93RnVuY3Rpb240ID0gdiA9PiB2ICsgMSwg
eHl6MSA9IDEwMTAxOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjQoMTAxMSk7Cit0ZXN0Q2FzZShy
ZXN1bHQsIDEwMTIgLCJFcnJvcjogTm90IGNvcnJlY3QgcGFyc2luZyBvZiB0aCBhcnJvdyBmdW5j
dGlvbiBpbnNpZGUgb2YgdGhlIGxpc3Qgb2YgdmFyczogdmFyIGFmID0gdj0+IHYgKyAxOyB6eGM9
YzsiKTsKK3Rlc3RDYXNlKHh5ejEsIDEwMTAxICwiRXJyb3I6IE5vdCBjb3JyZWN0IHBhcnNpbmcg
b2YgdGggYXJyb3cgZnVuY3Rpb24gaW5zaWRlIG9mIHRoZSBsaXN0IG9mIHZhcnM6IHZhciBhZiA9
IHY9PiB2ICsgMTsgenhjPWM7Iik7CisKK3ZhciBhZndyYXBwZXIyID0gZnVuY3Rpb24gKGNsLCBw
YXJhbXRlcjEsIHBhcmFtdGVyMikgeyByZXR1cm4gY2wocGFyYW10ZXIxLCBwYXJhbXRlcjIpOyB9
OworcmVzdWx0ID0gYWZ3cmFwcGVyMigoeCwgeSkgPT4geCArIHksIDEyICw0Myk7Cit0ZXN0Q2Fz
ZShyZXN1bHQsIDU1ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24gYXMgcGFyYW1ldGVyOiBmKCh4LCB5KSA9PiB4ICsgeSwgYzEsIGMyKSIpOworCit2
YXIgYWZBcnIwID0gW3YgPT4gdiAqIDEwXTsKK3Jlc3VsdCA9IGFmQXJyMFswXSgxMCk7Cit0ZXN0
Q2FzZShyZXN1bHQsIDEwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFy
cm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFt2PT52KjEwXSIpOworCit2YXIgYWZBcnIx
ID0gW3YgPT4gdiArIDEsIHYgPT4gdiArIDJdOworcmVzdWx0ID0gYWZBcnIxWzBdKDEwKTsKK3Rl
c3RDYXNlKHJlc3VsdCwgMTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbdiA9PiB2ICsgMSwgIHYgPT4gdiArIDJd
Iik7CityZXN1bHQgPSBhZkFycjFbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMyAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4g
YXJyYXk6IFt2ID0+IHYgKyAxLCAgdiA9PiB2ICsgMl0iKTsKKwordmFyIGFmQXJyMiA9IFsodikg
PT4gdiArIDEsICh2KSA9PiB2ICsgMl07CityZXN1bHQgPSBhZkFycjJbMF0oMTEpOwordGVzdENh
c2UocmVzdWx0LCAxMiAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsodikgPT4gdiArIDEsICAodikgPT4gdiArIDJd
Iik7CityZXN1bHQgPSBhZkFycjJbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMyAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4g
YXJyYXk6IFsodikgPT4gdiArIDEsICAodikgPT4gdiArIDJdIik7CisKK3ZhciBhZkFycjMgPSBb
KCkgPT4gMTAxLCAoKSA9PiAxMjMyM107CityZXN1bHQgPSBhZkFycjNbMF0oMTEpOwordGVzdENh
c2UocmVzdWx0LCAxMDEsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKCkgPT4gYzEsICAoKSA9PiBjMl0iKTsKK3Jl
c3VsdCA9IGFmQXJyM1sxXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMzIzLCAiRXJyb3I6IE5v
dCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJh
eTogWygpID0+IGMxLCAgKCkgPT4gYzJdIik7CisKK3ZhciBhZk9iaiA9IHtmdW5jIDogeSA9PiB5
ICsgMTJ9OworcmVzdWx0ID0gYWZPYmouZnVuYygxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIzICwg
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBy
b3BlcnR5OiB7ZnVuYyA6IHkgPT4geSArIDEyIH0iKTsKKwordmFyIGFmQmxvY2swID0gKCkgPT4g
eyByZXR1cm4gMTAwMDsgfTsKK3Jlc3VsdCA9IGFmQmxvY2swKDExKTsKK3Rlc3RDYXNlKHJlc3Vs
dCwgMTAwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0
aW9uIHdpdGggYm9keSBhcyBibG9jazogKCkgPT4geyByZXR1cm4gMTAwMDsgfSIpOworCit2YXIg
YWZCbG9jazEgPSB2ID0+IHsgdmFyIGludHZhbCA9IDEwMDsgcmV0dXJuIHYgKiBpbnR2YWw7IH07
CityZXN1bHQgPSBhZkJsb2NrMSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDExMDAgLCJFcnJvcjog
Tm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMg
YmxvY2s6IHggPT4geyB2YXIgdj0xMDAwOyByZXR1cm4gdip4OyB9Iik7CisKK3ZhciBhZkJsb2Nr
MiA9ICh2KSA9PiB7IHZhciBpbnQgPSAyMDA7IHJldHVybiB2ICogaW50OyB9OworcmVzdWx0ID0g
YWZCbG9jazIoMTEpOwordGVzdENhc2UocmVzdWx0LCAyMjAwICwiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiAoeCkg
PT4geyB2YXIgdj0xMDAwOyByZXR1cm4gdip4OyB9Iik7CisKK3ZhciBhZkJsb2NrMyA9ICh2LCB4
KSA9PiB7IHZhciByZXN1bHQgPSB4ICogdjsgcmV0dXJuIHJlc3VsdDsgfTsKK3Jlc3VsdCA9IGFm
QmxvY2szKDExLCAxMjIyMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDEzNDQ0MiAsIkVycm9yOiBOb3Qg
Y29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9j
azogKHYsIHgpID0+IHsgdmFyIHJlc3VsdCA9IHggKiB2OyByZXR1cm4gcmVzdWx0OyB9Iik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tdGR6LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0
aW9uLXRkei5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOWQzNWNkZWE0YmFmNjY3NDMxYWY4YWJlOGRhZGYyMmQw
NGI5MGUxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9hcnJvd2Z1bmN0aW9uLXRkei5qcwpAQCAtMCwwICsxLDI0IEBACit2YXIgQSA9IGNsYXNz
IEEgeyB9OwordmFyIEIgPSBjbGFzcyBCIGV4dGVuZHMgQSB7CisgIGNvbnN0cnVjdG9yKGFjY2Vz
c1RoaXNCZWZvcmVTdXBlcikgeworICAgIGlmIChhY2Nlc3NUaGlzQmVmb3JlU3VwZXIpIHsKKyAg
ICAgIHZhciBmID0gKCkgPT4gdGhpczsKKyAgICAgIHN1cGVyKCk7CisgICAgfSBlbHNlIHsKKyAg
ICAgIHN1cGVyKCk7CisgICAgfQorICB9Cit9OworCit2YXIgZXhjZXB0aW9uID0gbnVsbDsKK3Ry
eSB7CisgICAgIG5ldyBCKHRydWUpOworfSBjYXRjaCAoZSkgeworICAgIGV4Y2VwdGlvbiA9IGU7
CisgICAgaWYgKCEoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSkKKyAgICAgICAgdGhyb3cg
IkV4Y2VwdGlvbiB0aHJvd24gd2FzIG5vdCBhIHJlZmVyZW5jZSBlcnJvciI7Cit9CitpZiAoIWV4
Y2VwdGlvbikKKyAgICB0aHJvdyAiRXhjZXB0aW9uIG5vdCB0aHJvd24gZm9yIGFuIHVuaXRpYWxp
emVkIHRoaXMgYXQgaXRlcmF0aW9uIjsKKwordmFyIGUgPSBuZXcgQihmYWxzZSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tdHlw
ZW9mLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LXR5cGVvZi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZjJhN2Y1NDQ3NmFiYTljMjg5MjNjMzVmMWRiM2M0MzI3
YWM5NDY5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9hcnJvd2Z1bmN0aW9uLXR5cGVvZi5qcwpAQCAtMCwwICsxLDIxIEBACit2YXIgdGVzdENh
c2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFs
ICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4
cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBh
ZjEgPSAoKSA9PiB7fTsKK3ZhciBhZjIgPSAoYSkgPT4ge2EgKyAxfTsKKwordGVzdENhc2UodHlw
ZW9mIGFmMSwgImZ1bmN0aW9uIiwgIkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbiAjMSIpOwordGVzdENhc2UodHlwZW9mIGFmMS5wcm90b3R5cGUgPT09ICd1bmRl
ZmluZWQnLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJvdG90eXBlIG9m
IGFycm93IGZ1bmN0aW9uICMxIik7CisKK3Rlc3RDYXNlKHR5cGVvZiBhZjIsICJmdW5jdGlvbiIs
ICJFcnJvcjogTm90IGNvcnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzIiKTsKK3Rl
c3RDYXNlKHR5cGVvZiBhZjIucHJvdG90eXBlID09PSAndW5kZWZpbmVkJywgdHJ1ZSwgIkVycm9y
OiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiAjMiIp
OworCit0ZXN0Q2FzZSh0eXBlb2YgKCgpPT57fSksICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNv
cnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzMiKTsKK3Rlc3RDYXNlKHR5cGVvZiAo
KCk9Pnt9KS5wcm90b3R5cGUgPT09ICd1bmRlZmluZWQnLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3Jy
ZWN0IHJlc3VsdCBmb3IgcHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9uICMzIik7CisKKwordGVz
dENhc2UodHlwZW9mICgoYikgPT4ge2IgKyAxfSksICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNv
cnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzQiKTsKK3Rlc3RDYXNlKHR5cGVvZiAo
KGIpID0+IHtiICsgMX0pLnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJFcnJvcjog
Tm90IGNvcnJlY3QgcmVzdWx0IGZvciBwcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24gIzQiKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKaW5kZXggZmM5MGY2MTE1NjIzMWE0MWNhOTEzN2YxN2M3OTU1ZThkMzczYjBlYS4u
MGM4ODQwZjZhYjUxODVmODM1NGI3MDYwM2UwMjVmMjVhMmE3OWY0YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIv
U291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAg
LTQ0LDYgKzQ0LDcgQEAgRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORyA9IEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkc7CiBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBF
TkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVO
QUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9
IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYOwogRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZ
TlRBWCA9IEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVg7CiBFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CkBAIC0yMTUsNCArMjE2LDQg
QEAgRU5BQkxFX0pJVCA9IEVOQUJMRV9KSVQ7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FS
SVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFC
TEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NB
Q0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19Q
Uk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5U
QVgpICQoRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19M
RVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19D
T01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
R1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VM
RUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAk
KEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkp
ICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBP
UlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRF
TVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxf
MikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQo
RU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVO
QUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChF
TkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9U
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NT
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5B
QkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwp
ICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAk
KEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
TE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5B
QkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1Rf
QU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVf
UkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFC
TEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQ
VE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5B
QkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5U
KSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFC
TEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykg
JChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChF
TkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChF
TkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9U
SU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChF
TkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TQVRV
UkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RF
KTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkg
JChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFC
TEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJM
RV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
KSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChF
TkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcp
ICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VU
KSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNP
TFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZF
TDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NT
M19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9D
VVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJM
RV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJM
RV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVf
RE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxF
X0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1F
UEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAk
KEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRB
VEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElF
X1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
X1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQo
RU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQo
RU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJF
RklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVO
RE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQ
UkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9N
RURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVE
SUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQo
RU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJ
TFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJ
T05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5B
QkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNf
U1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9G
UkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQ
RUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9C
QU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVT
SVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJM
RV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhP
TkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lD
T05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxF
Q1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RB
VEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdM
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9T
T0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVO
QUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQp
ICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9V
VF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNmNm
OWQ5NjIxNGY3ZWYyMTNkYmU0MmI0MmYxOTdkODBjNTk0OTEwNi4uM2YyMDA1ZTJjOTFkMzg4OTY0
MDkyZDEyZDdjOTljNjJkN2VmNzk1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTYwMSw5ICsxNjAxLDkgQEAKIAkJNDQzMTFD
RDkxMkU0RTI1NzAwMEE4RDE5IC8qIERPTURvY3VtZW50RnJhZ21lbnRQcml2YXRlLmggaW4gQ29w
eSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
NDMxMUNENDEyRTRFMjJEMDAwQThEMTkgLyogRE9NRG9jdW1lbnRGcmFnbWVudFByaXZhdGUuaCAq
LzsgfTsKIAkJNDQzMTFGODIxMkU0RTY2QzAwMEE4RDE5IC8qIERPTURvY3VtZW50RnJhZ21lbnRJ
bnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODVFNzExNDUwQUM1RDUzNDAwNTMyNzBGIC8qIERPTURvY3VtZW50RnJhZ21lbnRJbnRlcm5hbC5o
ICovOyB9OwogCQk0NDM4MTdGRjFBOTFCMkY4MDA2RTA0RjIgLyogQ29yZU1lZGlhU29mdExpbmsu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzODE3
RkQxQTkxQjJGODAwNkUwNEYyIC8qIENvcmVNZWRpYVNvZnRMaW5rLmNwcCAqLzsgfTsKLQkJNDQz
OTE3RkYxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzOTE3RkQxQTkxQjJGODAwNkUw
NEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tICovOyB9OwogCQk0NDM4MTgwMDFBOTFCMkY4MDA2
RTA0RjIgLyogQ29yZU1lZGlhU29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ0MzgxN0ZFMUE5MUIyRjgwMDZFMDRGMiAvKiBDb3JlTWVkaWFT
b2Z0TGluay5oICovOyB9OwotCQk0NDM5MTgwMDFBOTFCMkY4MDA2RTA0RjIgLyogUXVpY2tMb29r
U29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ0MzkxN0ZFMUE5MUIyRjgwMDZFMDRGMiAvKiBRdWlja0xvb2tTb2Z0TGluay5oICovOyB9Owor
CQk0NDM5MTdGRjFBOTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzOTE3RkQxQTkx
QjJGODAwNkUwNEYyIC8qIGlvcy9RdWlja0xvb2tTb2Z0TGluay5tbSAqLzsgfTsKKwkJNDQzOTE4
MDAxQTkxQjJGODAwNkUwNEYyIC8qIGlvcy9RdWlja0xvb2tTb2Z0TGluay5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzOTE3RkUxQTkxQjJGODAwNkUw
NEYyIC8qIGlvcy9RdWlja0xvb2tTb2Z0TGluay5oICovOyB9OwogCQk0NDNGMDQyNzBFNzVDOEZC
MDA3RTU0MDcgLyogTmV0d29ya1N0YXRlTm90aWZpZXJJT1MubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDNGMDQyNjBFNzVDOEZCMDA3RTU0MDcgLyog
TmV0d29ya1N0YXRlTm90aWZpZXJJT1MubW0gKi87IH07CiAJCTQ0NDlBNDA1MUE5NjRCMDAwMEI2
NEFENSAvKiBDb3JlTWVkaWFTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ0NDlBNDA0MUE5NjRCMDAwMEI2NEFENSAvKiBDb3JlTWVkaWFTUEkuaCAq
LzsgfTsKIAkJNDQ0RDRFMjMwRjcwOEIyRTAwMzE1OEUwIC8qIFdlYkNvcmVVUkxSZXNwb25zZUlP
Uy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0NEQ0
RTIxMEY3MDhCMkUwMDMxNThFMCAvKiBXZWJDb3JlVVJMUmVzcG9uc2VJT1MubW0gKi87IH07CkBA
IC04NzY5LDkgKzg3NjksOSBAQAogCQk0NDMxMUNENDEyRTRFMjJEMDAwQThEMTkgLyogRE9NRG9j
dW1lbnRGcmFnbWVudFByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
RE9NRG9jdW1lbnRGcmFnbWVudFByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDQzMTFDRDUxMkU0RTIyRDAwMEE4RDE5IC8qIERPTURvY3VtZW50UHJpdmF0ZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01Eb2N1bWVudFByaXZhdGUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQzODE3RkQxQTkxQjJGODAwNkUwNEYyIC8qIENvcmVN
ZWRpYVNvZnRMaW5rLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENv
cmVNZWRpYVNvZnRMaW5rLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDQzOTE3
RkQxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDM4MTdGRTFBOTFCMkY4MDA2RTA0RjIgLyogQ29y
ZU1lZGlhU29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29yZU1l
ZGlhU29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDQzOTE3RkUxQTkx
QjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IGlvcy9RdWlja0xvb2tTb2Z0TGluay5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0NDM5MTdGRDFBOTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRM
aW5rLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gaW9zL1F1aWNr
TG9va1NvZnRMaW5rLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NDM5MTdGRTFB
OTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IGlvcy9RdWlja0xvb2tTb2Z0TGluay5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0NDNGMDQyNjBFNzVDOEZCMDA3RTU0MDcgLyogTmV0d29ya1N0YXRl
Tm90aWZpZXJJT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBO
ZXR3b3JrU3RhdGVOb3RpZmllcklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDQ0OUE0MDQxQTk2NEIwMDAwQjY0QUQ1IC8qIENvcmVNZWRpYVNQSS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBDb3JlTWVkaWFTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDQ0RDRFMjEwRjcwOEIyRTAwMzE1OEUwIC8qIFdlYkNvcmVVUkxSZXNwb25zZUlP
Uy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkNvcmVVUkxS
ZXNwb25zZUlPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4ODU3LDggKzE4
ODU3LDggQEAKIAkJCQlDNTI3OEIwQjE3RjIxMkVBMDAzQTI5OTggLyogUGxhdGZvcm1QYXN0ZWJv
YXJkSU9TLm1tICovLAogCQkJCUU0NTM5MDMyMEVBRkQ2MzcwMDM2OTVDOCAvKiBQbGF0Zm9ybVNj
cmVlbklPUy5tbSAqLywKIAkJCQlBQUUzNzU1RDE3NDI5QkNDMDA2MjAwQzIgLyogUGxhdGZvcm1T
cGVlY2hTeW50aGVzaXplcklPUy5tbSAqLywKLQkJCQk0NDM5MTdGRTFBOTFCMkY4MDA2RTA0RjIg
LyogUXVpY2tMb29rU29mdExpbmsuaCAqLywKLQkJCQk0NDM5MTdGRDFBOTFCMkY4MDA2RTA0RjIg
LyogUXVpY2tMb29rU29mdExpbmsubW0gKi8sCisJCQkJNDQzOTE3RkUxQTkxQjJGODAwNkUwNEYy
IC8qIGlvcy9RdWlja0xvb2tTb2Z0TGluay5oICovLAorCQkJCTQ0MzkxN0ZEMUE5MUIyRjgwMDZF
MDRGMiAvKiBpb3MvUXVpY2tMb29rU29mdExpbmsubW0gKi8sCiAJCQkJQ0RGQzM2MDExOENBNjE2
MzAwMjZFNTZGIC8qIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5oICovLAogCQkJCUNERkMzNjAy
MThDQTYxNjMwMDI2RTU2RiAvKiBSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MubW0gKi8sCiAJCQkJ
NDRDMzYzRUUwRkFBN0JCMzAwOTdGOENDIC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0lPUy5o
ICovLApAQCAtMjYwNjIsNyArMjYwNjIsNyBAQAogCQkJCTU1MEEwQkNBMDg1RjYwMzkwMDczNTNE
NiAvKiBRdWFsaWZpZWROYW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRTEyNTIzRDFBMTY3NkNE
MDA4NjQ0ODAgLyogUXVhcnR6Q29yZVNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDQyQUY3QTkx
MDJDRERFQTAwOEZENEQzIC8qIFF1aWNrTG9vay5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDQzOTE4
MDAxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLmggaW4gSGVhZGVycyAqLywK
KwkJCQk0NDM5MTgwMDFBOTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBMTQ5Nzg2RjFBQkFGMzM4MDBDRUY3RTQgLyogQ29udGVudEZp
bHRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0UxMjUyMzkxQTE2NkZBMDAwODY0NDgwIC8qIFF1
aWNrTG9va1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTEwREJGNDcxOEY5MjMxNzAwMEQ3MEM2
IC8qIFF1aWNrTG9va0hhbmRsZUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yOTU2Myw3ICsy
OTU2Myw3IEBACiAJCQkJQ0RFRTM5MzcxNzk3NDI1OTAwMUQ3NTgwIC8qIFB1YmxpY1VSTE1hbmFn
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTUwQTBCQzkwODVGNjAzOTAwNzM1M0Q2IC8qIFF1
YWxpZmllZE5hbWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDQyQUY3QUExMDJDRERFQTAwOEZE
NEQzIC8qIFF1aWNrTG9vay5tbSBpbiBTb3VyY2VzICovLAotCQkJCTQ0MzkxN0ZGMUE5MUIyRjgw
MDZFMDRGMiAvKiBRdWlja0xvb2tTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAorCQkJCTQ0Mzkx
N0ZGMUE5MUIyRjgwMDZFMDRGMiAvKiBpb3MvUXVpY2tMb29rU29mdExpbmsubW0gaW4gU291cmNl
cyAqLywKIAkJCQkwNzJBRTFFNjE4M0MwNzQxMDAwQTU5ODggLyogUXVpY2tUaW1lUGx1Z2luUmVw
bGFjZW1lbnQubW0gaW4gU291cmNlcyAqLywKIAkJCQkzNzlFMzcxNjEzNzM2QTY2MDBCOUU5MTkg
LyogUXVvdGVkUHJpbnRhYmxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTVBNTc0RjI4MTMxREI5
NkQwMDQ3MUI4OCAvKiBRdW90ZXNEYXRhLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZwppbmRleCBmYzkwZjYxMTU2MjMxYTQxY2E5MTM3ZjE3Yzc5NTVlOGQzNzNiMGVhLi4wYzg4NDBm
NmFiNTE4NWY4MzU0YjcwNjAzZTAyNWYyNWEyYTc5ZjRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAt
NDQsNiArNDQsNyBAQCBFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HID0gRU5BQkxFX0NBQ0hFX1BB
UlRJVElPTklORzsKIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVO
QUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkc7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5B
QkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0g
RU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CiBFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lO
VEFYID0gRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWDsKIEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKQEAgLTIxNSw0ICsyMTYsNCBA
QCBFTkFCTEVfSklUID0gRU5BQkxFX0pJVDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJ
VEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVf
REVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJE
X0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJM
RV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FD
SEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BS
T1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRB
WCkgJChFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xF
VkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NP
TVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19H
UklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxF
Q1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkg
JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
UykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVO
QUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJ
TUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
TEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9B
TklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQp
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVO
QUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVO
QUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX1NBVFVS
QVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUp
OworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUND
RUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJ
TkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAk
KEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJM
RV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxF
X0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVO
QUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykg
JChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQp
ICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09M
VVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVM
NCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1Mz
X1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NV
U1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxF
X0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9E
T000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVf
Rk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQ
QUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFU
QUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVf
VUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Jf
UE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChF
TkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAk
KEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVG
SVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5E
T1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBS
RVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01F
RElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJ
QV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChF
TkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElM
UykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFC
TEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19T
VUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZS
QU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BF
Q1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JB
TkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJ
UykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxF
X1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9O
RV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNP
Tl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVD
VF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFU
QUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wp
ICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NP
Q0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5B
QkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkg
JChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VU
X0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
IGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
aW5kZXggZmM5MGY2MTE1NjIzMWE0MWNhOTEzN2YxN2M3OTU1ZThkMzczYjBlYS4uMGM4ODQwZjZh
YjUxODVmODM1NGI3MDYwM2UwMjVmMjVhMmE3OWY0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dl
YktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ0LDYgKzQ0
LDcgQEAgRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORyA9IEVOQUJMRV9DQUNIRV9QQVJUSVRJT05J
Tkc7CiBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FO
VkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZf
QVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IEVOQUJMRV9F
UzZfQ0xBU1NfU1lOVEFYOwogRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCA9IEVO
QUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
TkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CkBAIC0yMTUsNCArMjE2LDQgQEAgRU5BQkxF
X0pJVCA9IEVOQUJMRV9KSVQ7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMg
PSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMg
PSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NB
UFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJ
VElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5B
QkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
TkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAk
KEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElO
RykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlP
VVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JF
U09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xF
VkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9D
U1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxF
X0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5B
QkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5B
QkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFC
TEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dB
TUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09O
REFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5E
SUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkg
JChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9W
RU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRF
UlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxF
X01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9N
RURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkg
JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChF
TkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJ
Q19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9O
X0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lO
U1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVS
X0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRI
RVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5B
QkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJM
RV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hf
SUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNF
TEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVf
REFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VC
R0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VC
X1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQo
RU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNM
VCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZ
T1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRV
UkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVO
QUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFT
X1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfVEVN
UExBVEVfTElURVJBTF9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJM
RV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NT
X0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxF
X0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJM
RV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAk
KEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5B
QkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJ
TkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NI
RU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxT
X0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVO
VFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9B
RF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVO
QUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9I
SURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAk
KEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9J
TkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lO
UFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lP
U19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
SU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJ
WEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChF
TkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05U
Uk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElT
VElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01P
VVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5B
QkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01J
U0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJ
U1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChF
TkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQo
RU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAk
KEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5B
QkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9O
VFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVS
X0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRP
U0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElO
RykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAk
KEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFM
VUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJM
RV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAk
KEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJW
VFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxF
X0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1F
VElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVy
ZXMuY21ha2UKaW5kZXggZTk1OWZiZjYxZWY4OWRjNjMzYTg1MWMyYThlNmZmNTgzZmM3NDM5Mi4u
YjRjMGU0MDQwYzJmY2Q4OWZiNWM4MWI3ZDlhMzk5OWVhNTMxYzcyZiAxMDA2NDQKLS0tIGEvU291
cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9XZWJLaXRG
ZWF0dXJlcy5jbWFrZQpAQCAtNTksNiArNTksNyBAQCBtYWNybyhXRUJLSVRfT1BUSU9OX0JFR0lO
KQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DU1NfU0hBUEVTICJUb2dnbGUgQ1NT
IFNoYXBlcyBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShF
TkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkgIlRvZ2dsZSBjdXJzb3IgdmlzaWJpbGl0eSBzdXBwb3J0
IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ1VTVE9NX1ND
SEVNRV9IQU5ETEVSICJUb2dnbGUgQ3VzdG9tIFNjaGVtZSBIYW5kbGVyIHN1cHBvcnQiIFBSSVZB
VEUgT0ZGKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9FUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVggIlRvZ2dsZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1cHBvcnQiIE9OKQog
ICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCAiVG9nZ2xl
IGRhc2hib2FyZCBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklO
RShFTkFCTEVfREFUQUNVRV9WQUxVRSAiVG9nZ2xlIGRhdGFjdWUgdmFsdWUgc3VwcG9ydCIgUFJJ
VkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0RBVEFMSVNUX0VMRU1F
TlQgIlRvZ2dsZSBIVE1MNSBkYXRhbGlzdCBzdXBwb3J0IiBQUklWQVRFIE9GRikKQEAgLTE2OCw3
ICsxNjksNiBAQCBtYWNybyhXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAgIFdFQktJVF9PUFRJT05f
REVGSU5FKEVOQUJMRV9YSFJfVElNRU9VVCAiVG9nZ2xlIFhIUiB0aW1lb3V0IHN1cHBvcnQiIFBS
SVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9YU0xUICJUb2dnbGUg
WFNMVCBzdXBwb3J0IiBQUklWQVRFIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKFVTRV9T
WVNURU1fTUFMTE9DICJUb2dnbGUgc3lzdGVtIGFsbG9jYXRvciBpbnN0ZWFkIG9mIFdlYktpdCdz
IGN1c3RvbSBhbGxvY2F0b3IiIFBSSVZBVEUgT0ZGKQotCiAgICAgV0VCS0lUX09QVElPTl9ERVBF
TkQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMiBFTkFCTEVfVklERU8pCiAgICAgV0VCS0lUX09Q
VElPTl9ERVBFTkQoRU5BQkxFX0RGR19KSVQgRU5BQkxFX0pJVCkKICAgICBXRUJLSVRfT1BUSU9O
X0RFUEVORChFTkFCTEVfRlRMX05BVElWRV9DQUxMX0lOTElOSU5HIEVOQUJMRV9GVExfSklUKQpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCmluZGV4IGIwZDVhYTFiM2JjNDQ4
ZDZkMjYxMjcwYTVmYjU4MTQwMzQ2NWY1ZjUuLjQwYzExNWUzYjNlNGJhNDc1MmE3MWQzOGQxZmVh
MjI3ZWUyMGQxMjcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJl
TGlzdC5wbQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KQEAg
LTQ0LDYgKzQ0LDcgQEAgQkVHSU4gewogbXkgKAogICAgICR0aHJlZURUcmFuc2Zvcm1zU3VwcG9y
dCwKICAgICAkYWNjZWxlcmF0ZWQyRENhbnZhc1N1cHBvcnQsCisgICAgJGFycm93ZnVuY3Rpb25T
eW50YXgsCiAgICAgJGF0dGFjaG1lbnRFbGVtZW50U3VwcG9ydCwKICAgICAkYmF0dGVyeVN0YXR1
c1N1cHBvcnQsCiAgICAgJGNhbnZhc1BhdGhTdXBwb3J0LApAQCAtMTU2LDkgKzE1NywxMyBAQCBt
eSBAZmVhdHVyZXMgPSAoCiAgICAgeyBvcHRpb24gPT4gImFjY2VsZXJhdGVkLTJkLWNhbnZhcyIs
IGRlc2MgPT4gIlRvZ2dsZSBBY2NlbGVyYXRlZCAyRCBDYW52YXMgc3VwcG9ydCIsCiAgICAgICBk
ZWZpbmUgPT4gIkVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMiLCBkZWZhdWx0ID0+IGlzR3Rr
KCksIHZhbHVlID0+IFwkYWNjZWxlcmF0ZWQyRENhbnZhc1N1cHBvcnQgfSwKIAorICAgIHsgb3B0
aW9uID0+ICJhcnJvd2Z1bmN0aW9uLXN5bnRheCIsIGRlc2MgPT4gIlRvZ2dsZSBFUzYgYXJyb3cg
ZnVuY3Rpb24gc3ludGF4IHN1cHBvcnQiLAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVfRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGFycm93ZnVuY3Rp
b25TeW50YXggfSwKKwogICAgIHsgb3B0aW9uID0+ICJhdHRhY2htZW50LWVsZW1lbnQiLCBkZXNj
ID0+ICJUb2dnbGUgQXR0YWNobWVudCBFbGVtZW50IHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+
ICJFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBcJGF0
dGFjaG1lbnRFbGVtZW50U3VwcG9ydCB9LAogCisKICAgICB7IG9wdGlvbiA9PiAiYmF0dGVyeS1z
dGF0dXMiLCBkZXNjID0+ICJUb2dnbGUgQmF0dGVyeSBTdGF0dXMgc3VwcG9ydCIsCiAgICAgICBk
ZWZpbmUgPT4gIkVOQUJMRV9CQVRURVJZX1NUQVRVUyIsIGRlZmF1bHQgPT4gaXNFZmwoKSwgdmFs
dWUgPT4gXCRiYXR0ZXJ5U3RhdHVzU3VwcG9ydCB9LAogCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cg
Yi9DaGFuZ2VMb2cKaW5kZXggYmFiZGI3ZDExYzMxMTM0ZWM1MDZmZWEwNWM3MjEyYTFhZTVhY2Y4
Mi4uZDBiMTIzODI4YjRkMTQyNWRjMWM5NGQ2ZDVkZTUzMWY0ZmI1NjY0NSAxMDA2NDQKLS0tIGEv
Q2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE1LTA1LTAxICAg
U2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZd
IEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyB0byBzd2l0
Y2ggb24vb2ZmIGVzNiBhcnJvdyBmdW5jdGlvbiBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYCisKKyAgICAgICAgICogU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlOgorICAg
ICAgICAgKiBTb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZToKKwogMjAxNS0wNC0zMCAgTWFydGlu
IFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0NNYWtlXSBBdXRv
bWF0aWNhbGx5IGV4cG9zZSBXVEZfVVNFX0ZPTyB0byB0aGUgYnVpbGQgd2hlbiBVU0VfRk9PIGlz
IGV4cG9zZWQKZGlmZiAtLWdpdCBhL1dlYktpdC54Y3dvcmtzcGFjZS94Y3NoYXJlZGRhdGEvV2Vi
S2l0LnhjY2hlY2tvdXQgYi9XZWJLaXQueGN3b3Jrc3BhY2UveGNzaGFyZWRkYXRhL1dlYktpdC54
Y2NoZWNrb3V0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2NzhmZjA2YzExMDczM2UxZjZhMzhiM2U2MmU3NzA0Zjk2
YTQ4NDcKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXQueGN3b3Jrc3BhY2UveGNzaGFyZWRkYXRh
L1dlYktpdC54Y2NoZWNrb3V0CkBAIC0wLDAgKzEsNDEgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIg
ZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgcGxpc3QgUFVCTElDICItLy9BcHBsZS8vRFRE
IFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5TGlzdC0x
LjAuZHRkIj4KKzxwbGlzdCB2ZXJzaW9uPSIxLjAiPgorPGRpY3Q+CisJPGtleT5JREVTb3VyY2VD
b250cm9sUHJvamVjdEZhdm9yaXRlRGljdGlvbmFyeUtleTwva2V5PgorCTxmYWxzZS8+CisJPGtl
eT5JREVTb3VyY2VDb250cm9sUHJvamVjdElkZW50aWZpZXI8L2tleT4KKwk8c3RyaW5nPjBGRkFC
Q0VBLUIwMjgtNDUxQS1CMUE0LTI4NkE4OEExQ0UwQzwvc3RyaW5nPgorCTxrZXk+SURFU291cmNl
Q29udHJvbFByb2plY3ROYW1lPC9rZXk+CisJPHN0cmluZz5XZWJLaXQ8L3N0cmluZz4KKwk8a2V5
PklERVNvdXJjZUNvbnRyb2xQcm9qZWN0T3JpZ2luc0RpY3Rpb25hcnk8L2tleT4KKwk8ZGljdD4K
KwkJPGtleT45NEQ3NTM5NTMwNDAxMjJGNzZEMzBGQzE0NjRCMUI0RENFNDM2RjU4PC9rZXk+CisJ
CTxzdHJpbmc+Z2l0Oi8vZ2l0LndlYmtpdC5vcmcvV2ViS2l0LmdpdDwvc3RyaW5nPgorCTwvZGlj
dD4KKwk8a2V5PklERVNvdXJjZUNvbnRyb2xQcm9qZWN0UGF0aDwva2V5PgorCTxzdHJpbmc+V2Vi
S2l0Lnhjd29ya3NwYWNlPC9zdHJpbmc+CisJPGtleT5JREVTb3VyY2VDb250cm9sUHJvamVjdFJl
bGF0aXZlSW5zdGFsbFBhdGhEaWN0aW9uYXJ5PC9rZXk+CisJPGRpY3Q+CisJCTxrZXk+OTRENzUz
OTUzMDQwMTIyRjc2RDMwRkMxNDY0QjFCNERDRTQzNkY1ODwva2V5PgorCQk8c3RyaW5nPi4uPC9z
dHJpbmc+CisJPC9kaWN0PgorCTxrZXk+SURFU291cmNlQ29udHJvbFByb2plY3RVUkw8L2tleT4K
Kwk8c3RyaW5nPmdpdDovL2dpdC53ZWJraXQub3JnL1dlYktpdC5naXQ8L3N0cmluZz4KKwk8a2V5
PklERVNvdXJjZUNvbnRyb2xQcm9qZWN0VmVyc2lvbjwva2V5PgorCTxpbnRlZ2VyPjExMTwvaW50
ZWdlcj4KKwk8a2V5PklERVNvdXJjZUNvbnRyb2xQcm9qZWN0V0NDSWRlbnRpZmllcjwva2V5Pgor
CTxzdHJpbmc+OTRENzUzOTUzMDQwMTIyRjc2RDMwRkMxNDY0QjFCNERDRTQzNkY1ODwvc3RyaW5n
PgorCTxrZXk+SURFU291cmNlQ29udHJvbFByb2plY3RXQ0NvbmZpZ3VyYXRpb25zPC9rZXk+CisJ
PGFycmF5PgorCQk8ZGljdD4KKwkJCTxrZXk+SURFU291cmNlQ29udHJvbFJlcG9zaXRvcnlFeHRl
bnNpb25JZGVudGlmaWVyS2V5PC9rZXk+CisJCQk8c3RyaW5nPnB1YmxpYy52Y3MuZ2l0PC9zdHJp
bmc+CisJCQk8a2V5PklERVNvdXJjZUNvbnRyb2xXQ0NJZGVudGlmaWVyS2V5PC9rZXk+CisJCQk8
c3RyaW5nPjk0RDc1Mzk1MzA0MDEyMkY3NkQzMEZDMTQ2NEIxQjREQ0U0MzZGNTg8L3N0cmluZz4K
KwkJCTxrZXk+SURFU291cmNlQ29udHJvbFdDQ05hbWU8L2tleT4KKwkJCTxzdHJpbmc+V2Via2l0
Mjwvc3RyaW5nPgorCQk8L2RpY3Q+CisJPC9hcnJheT4KKzwvZGljdD4KKzwvcGxpc3Q+CmRpZmYg
LS1naXQgYS9XZWJLaXQueGN3b3Jrc3BhY2UveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9BbGwgU291
cmNlICh0YXJnZXQgV2ViUHJvY2VzcykueGNzY2hlbWUgYi9XZWJLaXQueGN3b3Jrc3BhY2UveGNz
aGFyZWRkYXRhL3hjc2NoZW1lcy9BbGwgU291cmNlICh0YXJnZXQgV2ViUHJvY2VzcykueGNzY2hl
bWUKaW5kZXggNTVhYWRmZmNjOWVlMThhOGRlNGJjYTY0YmNjOTc2MGFlM2ZjNGMwZS4uZWVlM2Q4
MWVjMTNlMzU0ZTA3YjllNDQ5NDcwMzAzYzIwZjAyMTkyYiAxMDA2NDQKLS0tIGEvV2ViS2l0Lnhj
d29ya3NwYWNlL3hjc2hhcmVkZGF0YS94Y3NjaGVtZXMvQWxsIFNvdXJjZSAodGFyZ2V0IFdlYlBy
b2Nlc3MpLnhjc2NoZW1lCQorKysgYi9XZWJLaXQueGN3b3Jrc3BhY2UveGNzaGFyZWRkYXRhL3hj
c2NoZW1lcy9BbGwgU291cmNlICh0YXJnZXQgV2ViUHJvY2VzcykueGNzY2hlbWUJCkBAIC0xMTYs
NyArMTE2LDcgQEAKICAgICAgICAgICAgIDxCdWlsZGFibGVSZWZlcmVuY2UKICAgICAgICAgICAg
ICAgIEJ1aWxkYWJsZUlkZW50aWZpZXIgPSAicHJpbWFyeSIKICAgICAgICAgICAgICAgIEJsdWVw
cmludElkZW50aWZpZXIgPSAiOTM5ODEwMEEwODI0QkYwMTAwOERGMDM4IgotICAgICAgICAgICAg
ICAgQnVpbGRhYmxlTmFtZSA9ICJXZWJLaXRMZWdhY3kuZnJhbWV3b3JrIgorICAgICAgICAgICAg
ICAgQnVpbGRhYmxlTmFtZSA9ICIuZnJhbWV3b3JrIgogICAgICAgICAgICAgICAgQmx1ZXByaW50
TmFtZSA9ICJXZWJLaXRMZWdhY3kiCiAgICAgICAgICAgICAgICBSZWZlcmVuY2VkQ29udGFpbmVy
ID0gImNvbnRhaW5lcjpTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2oiPgogICAgICAgICAg
ICAgPC9CdWlsZGFibGVSZWZlcmVuY2U+CkBAIC0xNDgsNyArMTQ4LDcgQEAKICAgICAgICAgIDxC
dWlsZGFibGVSZWZlcmVuY2UKICAgICAgICAgICAgIEJ1aWxkYWJsZUlkZW50aWZpZXIgPSAicHJp
bWFyeSIKICAgICAgICAgICAgIEJsdWVwcmludElkZW50aWZpZXIgPSAiMUE1MERCMUQxMTBBM0JE
QzAwMEQzRkU1IgotICAgICAgICAgICAgQnVpbGRhYmxlTmFtZSA9ICJXZWJQcm9jZXNzLmFwcCIK
KyAgICAgICAgICAgIEJ1aWxkYWJsZU5hbWUgPSAiLmFwcCIKICAgICAgICAgICAgIEJsdWVwcmlu
dE5hbWUgPSAiV2ViUHJvY2VzcyIKICAgICAgICAgICAgIFJlZmVyZW5jZWRDb250YWluZXIgPSAi
Y29udGFpbmVyOlNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qIj4KICAgICAgICAgIDwv
QnVpbGRhYmxlUmVmZXJlbmNlPgpAQCAtMTYzLDExICsxNjMsMTIgQEAKICAgICAgIGlnbm9yZXNQ
ZXJzaXN0ZW50U3RhdGVPbkxhdW5jaCA9ICJOTyIKICAgICAgIGRlYnVnRG9jdW1lbnRWZXJzaW9u
aW5nID0gIllFUyIKICAgICAgIGFsbG93TG9jYXRpb25TaW11bGF0aW9uID0gIllFUyI+Ci0gICAg
ICA8QnVpbGRhYmxlUHJvZHVjdFJ1bm5hYmxlPgorICAgICAgPEJ1aWxkYWJsZVByb2R1Y3RSdW5u
YWJsZQorICAgICAgICAgcnVubmFibGVEZWJ1Z2dpbmdNb2RlID0gIjAiPgogICAgICAgICAgPEJ1
aWxkYWJsZVJlZmVyZW5jZQogICAgICAgICAgICAgQnVpbGRhYmxlSWRlbnRpZmllciA9ICJwcmlt
YXJ5IgogICAgICAgICAgICAgQmx1ZXByaW50SWRlbnRpZmllciA9ICIxQTUwREIxRDExMEEzQkRD
MDAwRDNGRTUiCi0gICAgICAgICAgICBCdWlsZGFibGVOYW1lID0gIldlYlByb2Nlc3MuYXBwIgor
ICAgICAgICAgICAgQnVpbGRhYmxlTmFtZSA9ICIuYXBwIgogICAgICAgICAgICAgQmx1ZXByaW50
TmFtZSA9ICJXZWJQcm9jZXNzIgogICAgICAgICAgICAgUmVmZXJlbmNlZENvbnRhaW5lciA9ICJj
b250YWluZXI6U291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2oiPgogICAgICAgICAgPC9C
dWlsZGFibGVSZWZlcmVuY2U+CmRpZmYgLS1naXQgYS9XZWJLaXQueGN3b3Jrc3BhY2UveGNzaGFy
ZWRkYXRhL3hjc2NoZW1lcy9BbGwgU291cmNlLnhjc2NoZW1lIGIvV2ViS2l0Lnhjd29ya3NwYWNl
L3hjc2hhcmVkZGF0YS94Y3NjaGVtZXMvQWxsIFNvdXJjZS54Y3NjaGVtZQppbmRleCAyMjNlODhi
YmM0MGU1OWEyZTNmNDc2NjIxY2QzMjBmY2Y1YmU1M2ZlLi42NTNiMzRkM2E1MGIxNTQ2MGRjNzAx
OTg0MjM1YmQ1Yjk1ZDEwMTQ4IDEwMDY0NAotLS0gYS9XZWJLaXQueGN3b3Jrc3BhY2UveGNzaGFy
ZWRkYXRhL3hjc2NoZW1lcy9BbGwgU291cmNlLnhjc2NoZW1lCQorKysgYi9XZWJLaXQueGN3b3Jr
c3BhY2UveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9BbGwgU291cmNlLnhjc2NoZW1lCQpAQCAtMTE2
LDcgKzExNiw3IEBACiAgICAgICAgICAgICA8QnVpbGRhYmxlUmVmZXJlbmNlCiAgICAgICAgICAg
ICAgICBCdWlsZGFibGVJZGVudGlmaWVyID0gInByaW1hcnkiCiAgICAgICAgICAgICAgICBCbHVl
cHJpbnRJZGVudGlmaWVyID0gIjkzOTgxMDBBMDgyNEJGMDEwMDhERjAzOCIKLSAgICAgICAgICAg
ICAgIEJ1aWxkYWJsZU5hbWUgPSAiV2ViS2l0TGVnYWN5LmZyYW1ld29yayIKKyAgICAgICAgICAg
ICAgIEJ1aWxkYWJsZU5hbWUgPSAiLmZyYW1ld29yayIKICAgICAgICAgICAgICAgIEJsdWVwcmlu
dE5hbWUgPSAiV2ViS2l0TGVnYWN5IgogICAgICAgICAgICAgICAgUmVmZXJlbmNlZENvbnRhaW5l
ciA9ICJjb250YWluZXI6U291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qIj4KICAgICAgICAg
ICAgIDwvQnVpbGRhYmxlUmVmZXJlbmNlPgpAQCAtMTYzLDcgKzE2Myw4IEBACiAgICAgICBpZ25v
cmVzUGVyc2lzdGVudFN0YXRlT25MYXVuY2ggPSAiWUVTIgogICAgICAgZGVidWdEb2N1bWVudFZl
cnNpb25pbmcgPSAiWUVTIgogICAgICAgYWxsb3dMb2NhdGlvblNpbXVsYXRpb24gPSAiWUVTIj4K
LSAgICAgIDxCdWlsZGFibGVQcm9kdWN0UnVubmFibGU+CisgICAgICA8QnVpbGRhYmxlUHJvZHVj
dFJ1bm5hYmxlCisgICAgICAgICBydW5uYWJsZURlYnVnZ2luZ01vZGUgPSAiMCI+CiAgICAgICAg
ICA8QnVpbGRhYmxlUmVmZXJlbmNlCiAgICAgICAgICAgICBCdWlsZGFibGVJZGVudGlmaWVyID0g
InByaW1hcnkiCiAgICAgICAgICAgICBCbHVlcHJpbnRJZGVudGlmaWVyID0gIjhEMTEwNzI2MDQ4
NkNFQjgwMEU0NzA5MCIK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252189</attachid>
            <date>2015-05-01 16:18:02 -0700</date>
            <delta_ts>2015-05-01 16:47:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150502021647.patch</filename>
            <type>text/plain</type>
            <size>208173</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzNjk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
MmJmOGRiNzU1MGVjYTRlZWEwNTMwZDk0M2ZjYmVjNmQzMmIyODQ5Li5mNjNmYzlmOTg3ZDViNDhh
MmY5Y2M5NjBjNjRkMmQwYTBmN2RhOTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMDAgQEAKKzIwMTUtMDUtMDEgQWxla3NhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5
bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQw
ODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4
ZWQgY29tbWVudHMgZnJvbSByZXZpZXcgYW5kIGFsc28gYWRkZWQgc3VwcG9ydCBvZiBGVEwgYW5k
IERGRyBjb21waWxlIG1vZGUuIAorICAgICAgICBUbyBmb3JjZSB3b3JrIGNvcnJlY3RseSBpbiBE
RkcgbW9kZSB3YXMgYWRkZWQgcGFyYW1ldGVyIHRoYXQgcHJldmVudHMgaW5saW5lIAorICAgICAg
ICBhbmQgY29tcGlsZSBhcnJvdyBmdW5jdGlvbiBpbiBERkcgbW9kZS4KKworCisgICAgICAgICog
ZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkRGRzo6
QWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKToK
KyAgICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpERkc6
OkJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKToKKyAgICAgICAgKiBkZmcvREZHQ2FwYWJpbGl0
aWVzLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpjYXBhYmlsaXR5TGV2ZWwpOgorICAgICAgICAq
IGRmZy9ERkdDbG9iYmVyaXplLmg6CisgICAgICAgIChKU0M6OkRGRzo6Y2xvYmJlcml6ZSk6Cisg
ICAgICAgICogZGZnL0RGR0RvZXNHQy5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6ZG9lc0dDKToK
KyAgICAgICAgKiBkZmcvREZHRml4dXBQaGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Rml4
dXBQaGFzZTo6Zml4dXBOb2RlKToKKyAgICAgICAgKiBkZmcvREZHTm9kZS5oOgorICAgICAgICAo
SlNDOjpERkc6Ok5vZGU6Omhhc0NlbGxPcGVyYW5kKToKKyAgICAgICAgKiBkZmcvREZHTm9kZVR5
cGUuaDoKKyAgICAgICAgKiBkZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwOgor
ICAgICAgICAoSlNDOjpERkc6OlByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlOjpwcm9wYWdhdGUp
OgorICAgICAgICAqIGRmZy9ERkdTYWZlVG9FeGVjdXRlLmg6CisgICAgICAgIChKU0M6OkRGRzo6
c2FmZVRvRXhlY3V0ZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmg6CisgICAg
ICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNhbGxPcGVyYXRpb24pOgorICAgICAgICAq
IGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVj
dWxhdGl2ZUpJVDo6Y29tcGlsZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQu
Y3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAg
ICAgKiBkZmcvREZHU3RydWN0dXJlUmVnaXN0cmF0aW9uUGhhc2UuY3BwOgorICAgICAgICAoSlND
OjpERkc6OlN0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlOjpydW4pOgorICAgICAgICAqIGZ0bC9G
VExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmNwcDoKKyAgICAgICAgKiBmdGwvRlRMQWJzdHJhY3RI
ZWFwUmVwb3NpdG9yeS5oOgorICAgICAgICAqIGZ0bC9GVExDYXBhYmlsaXRpZXMuY3BwOgorICAg
ICAgICAoSlNDOjpGVEw6OmNhbkNvbXBpbGUpOgorICAgICAgICAqIGZ0bC9GVExJbnRyaW5zaWNS
ZXBvc2l0b3J5Lmg6CisgICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcDoKKyAgICAg
ICAgKEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZU5vZGUpOgorICAgICAgICAoSlND
OjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlTmV3QXJyb3dGdW5jdGlvbik6CisgICAgICAg
ICogaml0L0pJVE9wZXJhdGlvbnMuY3BwOgorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmg6
CisgICAgICAgICogbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwOgorICAgICAgICAoSlNDOjpMTElu
dDo6TExJTlRfU0xPV19QQVRIX0RFQ0wpOgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJvd0Z1bmN0
aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6YXJyb3dGdW5jdGlvbkNhbGwpOgorICAgICAgICAoSlND
OjpKU0Fycm93RnVuY3Rpb246OkpTQXJyb3dGdW5jdGlvbik6CisgICAgICAgIChKU0M6OkpTQXJy
b3dGdW5jdGlvbjo6Y3JlYXRlV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludCk6
CisgICAgICAgIChKU0M6OkpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKEpTQzo6
SlNBcnJvd0Z1bmN0aW9uOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChKU0M6OkpTQXJyb3dG
dW5jdGlvbjo6dmlzaXRDaGlsZHJlbik6CisgICAgICAgICogcnVudGltZS9KU0Fycm93RnVuY3Rp
b24uaDoKKyAgICAgICAgKEpTQzo6SlNBcnJvd0Z1bmN0aW9uOjphbGxvY2F0aW9uU2l6ZSk6Cisg
ICAgICAgIChKU0M6OkpTQXJyb3dGdW5jdGlvbjo6YXJyb3dGdW5jdGlvbik6CisgICAgICAgIChK
U0M6OkpTQXJyb3dGdW5jdGlvbjo6Ym91bmRUaGlzKToKKyAgICAgICAgKEpTQzo6SlNBcnJvd0Z1
bmN0aW9uOjpvZmZzZXRPZlRoaXNWYWx1ZSk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93
ZnVuY3Rpb24tYXNwYXJhbXRlci0xLmpzOiBSZW5hbWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzcGFyYW10ZXIuanMuCisgICAgICAgICog
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci0yLmpzOiBBZGRlZC4KKyAgICAg
ICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ib3VuZC5qczogQWRkZWQuCisgICAgICAg
ICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY2FsbC5qczogQWRkZWQuCisgICAgICAgICog
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY29uc3RydWN0b3IuanM6CisgICAgICAgICogdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC1hcmd1bWVudHMuanM6IEFkZGVkLgorICAg
ICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtdGhpcy0xLmpzOiBSZW5h
bWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LWxleGljYWx0aGlzLTEuanMuCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
bGV4aWNhbC10aGlzLTIuanM6IFJlbmFtZWQgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbHRoaXMuanMuCisgICAgICAgICogdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTEuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMC0yLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAwMDAtMS5qczogQWRkZWQuCisgICAgICAgICog
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwMDAwLTIuanM6IEFkZGVkLgorICAgICAg
ICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXN5bnRheC5qczogQWRkZWQuCisgICAgICAg
ICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24uanM6IFJlbW92ZWQuCisKKzIwMTUtMDQtMTcg
IEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKyAgICAgICAgU21hbGwg
cmVmYWN0b3Jpbmcgb2YgdGhlIHBhcmNlci5jcHAgZmlsZS4gSXQgaXMgbmVjZXNzYXJ5IHRvIGlu
Y3JlYXNlIHJlYWRhYmlsaXR5IG9mIHRoZSBwYXRjaAorICAgICAgICB3aXRoIEVTNiBBcnJvdyBm
dW5jdGlvbiBpbXBsZW1lbnRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmg6CisgICAg
ICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisKKzIwMTUtMDQtMTMgIEFsZXhhbmRyIFNrYWNoa292
ICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBh
cnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkZWQgc3VwcG9ydCBvZiBFUzYgYXJyb3cgZnVuY3Rpb24uIENoYW5n
ZXMgd2VyZSBtYWRlIGFjY29yZGluZyBmb2xsb3dpbmcgc3BlYyBodHRwOi8vd2lraS5lY21hc2Ny
aXB0Lm9yZy9kb2t1LnBocD9pZD1oYXJtb255OmFycm93X2Z1bmN0aW9uX3N5bnRheAorICAgICAg
ICBJbiBwYXRjaCB3ZXJlIGltcGxlbWVudGVkIHRoZSBzaW1wbGVzdCBjYXNlczoKKyAgICAgICAg
ICAxIG5vIHBhcmFtZXRlcnMgICAgICAgICAgICAgICAgKCkgPT4gMTAgKyAyMAorICAgICAgICAg
IDIgc2luZ2xlIHBhcmFtZXRlciAgICAgICAgICAgICAgeCA9PiB4ICsgMjAKKyAgICAgICAgICAz
IG11bHRpcGxlIHBhcmFtZXRlcnMgICAgICAoeCwgeSkgPT4geCArIHkKKyAgICAgICAgICA0IGFy
cm93IGZ1bmN0aW9uIHdpdGggYmxvY2sgICAgIHggPT4geyByZXR1cm4geCoxMDsgfQorICAgICAg
ICAgIDUgbGV4aWNhbCB0aGlzIC0gdmFyaWFibGUgdGhpcyBpcyBwb2ludCB0byB0aGUgdGhpcyBv
ZiB0aGUgZnVuY3Rpb24gd2hlcmUgYXJyb3cgZnVuY3Rpb24gaXMgZGVjbGFyZWQKKyAgICAgICAg
ICA2IE5vIGNvbnN0cnVjdG9yIC0gdGhlIHVzaW5nIG9mIHRoZSBjb21tYW5kIG5ldyBmb3IgYXJy
b3cgZnVuY3Rpb24gbGVhZHMgdG8gcnVudGltZSBlcnJvci4gCisKKyAgICAgICAgIE5vdCB5ZXQg
aW1wbGVtZW50ZWQ6CisgICAgICAgICAgMSBsZXhpY2FsIGJpbmQgb2YgdGhlIGFyZ3VtZW50cyAm
IHN1cGVyCisgICAgICAgICAgMiBJbnNpZGUgYW4gYXJyb3cgZnVuY3Rpb24sIG5ldy50YXJnZXQg
cmVmZXJzIHRvIHRoZSBuZXcudGFyZ2V0IG9mIHRoZSBzdXJyb3VuZGluZyBub24tYXJyb3cgZnVu
Y3Rpb24uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHBy
b2o6CisgICAgICAgICogYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb246CisgICAgICAgICogYnl0
ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaDoKKyAgICAgICAgKEpTQzo6RnVuY3Rvcjo6Y29tcHV0ZVVz
ZXNGb3JCeXRlY29kZU9mZnNldCk6CisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoK
KyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpkdW1wQnl0ZWNvZGUpOgorICAgICAgICAqIGJ5dGVj
b21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oOgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRl
Y29kZUdlbmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0
TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24pOiBhZGRlZAorICAgICAgICAoSlNDOjpCeXRlY29k
ZUdlbmVyYXRvcjo6ZW1pdFRoaXNOb2RlQnl0ZWNvZGUpOiBhZGRlZAorICAgICAgICAqIGJ5dGVj
b21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgorICAgICAgICAoSlNDOjplbWl0Qnl0ZWNvZGU6OmVt
aXRCeXRlY29kZSk6IGFkZGVkCisgICAgICAgIChKU0M6OkFycm93RnVuY0V4cHJOb2RlOjplbWl0
Qnl0ZWNvZGUpOiBhZGRlZAorICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6Cisg
ICAgICAgIChKU0M6OkJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKToKKyAgICAgICAgKiBkZmcv
REZHQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAgICAgKEpTQzo6Q2FwYWJpbGl0eUxldmVsOjpjYXBh
YmlsaXR5TGV2ZWwpOgorICAgICAgICAqIGppdC9KSVQuaDoKKyAgICAgICAgKEpTQzo6SklUOjpl
bWl0X29wX25ld19hcnJvd19mdW5jX2V4cCk6IGFkZGVkCisgICAgICAgICogaml0L0pJVElubGlu
ZXMuaDoKKyAgICAgICAgKEpTQzo6SklUOjpjYWxsT3BlcmF0aW9uKTogYWRkZWQKKyAgICAgICAg
KiBqaXQvSklULmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNz
KToKKyAgICAgICAgKiBqaXQvSklUT3Bjb2Rlcy5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6ZW1p
dF9vcF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRPcGVyYXRp
b25zLmNwcDoKKyAgICAgICAgKEpTQzo6SklUX09QRVJBVElPTjo6b3BlcmF0aW9uTmV3QXJyb3dG
dW5jdGlvbik6IGFkZGVkCisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMuaDoKKyAgICAgICAg
KEpTQzo6SklUX09QRVJBVElPTjo6b3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbik6IGFkZGVkCisg
ICAgICAgICogbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwOgorICAgICAgICAoTExJTlRfU0xPV19Q
QVRIX0RFQ0woc2xvd19wYXRoX25ld19hcnJvd19mdW5jX2V4cCk6IGFkZGVkCisgICAgICAgICog
bGxpbnQvTExJbnRTbG93UGF0aHMuaDoKKyAgICAgICAgKExMSU5UX1NMT1dfUEFUSF9ERUNMKHNs
b3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApKTogYWRkZWQKKyAgICAgICAgKiBsbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbToKKyAgICAgICAgKiBwYXJzZXIvQVNUQnVpbGRlci5oOgorICAg
ICAgICAoSlNDOjpBU1RCdWlsZGVyOjpjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcik6CisgICAgICAg
ICogcGFyc2VyL0xleGVyLmNwcDoKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OnNldFRva2VuUG9z
aXRpb24pOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6bGV4KToKKyAgICAgICAgKiBwYXJzZXIv
TGV4ZXIuaDoKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24pOgorICAg
ICAgICAqIHBhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmg6CisgICAgICAgIChKU0M6OkFycm93RnVu
Y0V4cHJOb2RlOjpBcnJvd0Z1bmNFeHByTm9kZSk6IGFkZGVkCisgICAgICAgICogcGFyc2VyL05v
ZGVzLmg6CisgICAgICAgIChKU0M6Ok5vZGU6OmlzQXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZAor
ICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHByTm9kZSk6IGFkZGVkIGNsYXNzCisgICAgICAgICog
cGFyc2VyL1BhcnNlci5jcHA6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZVNvdXJjZUVsZW1lbnRzKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNl
UHJpbWFyeUV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU291cmNlRWxl
bWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VTdGF0ZW1lbnQpOgorICAgICAgICAo
SlNDOjpQYXJzZXI6OnBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQ
YXJzZXI6OnBhcnNlUHJpbWFyeUV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBh
cnNlQXJyb3dFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpzZXRFbmRPZlN0YXRl
bWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcik6
CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uSW5mbyk6CisgICAgICAg
IChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uQm9keSk6CisgICAgICAgICogcGFyc2Vy
L1BhcnNlci5oOgorICAgICAgICAoSlNDOjpQYXJzZXI6OkZ1bmN0aW9uUGFyc2VUeXBlKToKKyAg
ICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZVNvdXJjZUVsZW1lbnQpOgorICAgICAgICAoSlNDOjpQ
YXJzZXI6OnBhcnNlU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93
RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6c2V0RW5kT2ZTdGF0ZW1lbnQpOgor
ICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIpOgorICAgICAg
ICAqIHBhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaDoKKyAgICAgICAgKiBwYXJzZXIvUGFyc2Vy
VG9rZW5zLmg6CisgICAgICAgIChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6YXJyb3dGdW5jdGlv
bk9mZnNldCk6IGFkZGVkCisgICAgICAgIChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6aXNBcnJv
d0Z1bmN0aW9uKTogYWRkZWQKKyAgICAgICAgKEpTQzo6UGFyc2VyRnVuY3Rpb25JbmZvOjphcnJv
d0Z1bmN0aW9uQm9keVR5cGUpOiBhZGRlZAorICAgICAgICAqIHBhcnNlci9Tb3VyY2VDb2RlLmg6
CisgICAgICAgIChKU0M6OlNvdXJjZUNvZGU6OnN1YkFycm93RXhwcmVzc2lvbik6CisgICAgICAg
ICogcGFyc2VyL1N5bnRheENoZWNrZXIuaDoKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6
Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIpOgorICAgICAgICAqIHBhcnNlci9Tb3VyY2VQcm92aWRl
ckNhY2hlSXRlbToKKyAgICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlv
blBhcmFtZXRlcnMpOgorICAgICAgICAoSlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbSk6Cisg
ICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjplbmRBcnJvd0Z1bmN0aW9uVG9r
ZW4pOgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmg6IGFkZGVkIGNsYXNzIGZv
ciBoYW5kbGUgYXJyb3cgZnVuY3Rpb24gY3JlYXRpb24gYW5kIGV4ZWN1dGlvbgorICAgICAgICAq
IHJ1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcDoKKyAgICAgICAgKiBydW50aW1lL0pTRnVuY3Rp
b24uaDoKKyAgICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6SlNGdW5jdGlvbik6IGFkZGVkIG9uZSBt
b3JlIGNvbnN0cnVjdG9yCisgICAgICAgICogcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oOgor
ICAgICAgICAoSlNDOjpKU0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKTogYWRkZWQgY29uc3RydWN0b3Ig
aW1wbGVtZW50YXRpb24KKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAg
ICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmluaXQpOgorICAgICAgICAoSlNDOjpKU0dsb2Jh
bE9iamVjdDo6bV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKTogYWRkZWQKKyAgICAgICAgKEpTQzo6
SlNHbG9iYWxPYmplY3Q6OmFycm93RnVuY3Rpb25TdHJ1Y3R1cmUpOgorICAgICAgICAqIHRlc3Rz
L3N0cmVzcy9qcy9hcnJvd2Z1bmN0aW9uLmpzOgorCiAyMDE1LTA0LTEyICBBbGV4YW5kciBTa2Fj
aGtvdiAgPGdza2FjaGtvdkBnbWFpbC5jb20+CiAgICAgICAgIFNtYWxsIHJlZmFjdG9yaW5nIG9m
IHRoZSBwYXJjZXIuY3BwIGZpbGUuIEl0IGlzIG5lY2Vzc2FyeSB0byBpbmNyZWFzZSByZWFkYWJp
bGl0eSBvZiB0aGUgcGF0Y2gKICAgICAgICAgd2l0aCBFUzYgQXJyb3cgZnVuY3Rpb24gaW1wbGVt
ZW50YXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0Y2YxZTNjMmQ1Y2E0ZDRjNWIwNzUxMzUwNzJhYjdkMmI3
MWNiMTUxLi4yYjJhZmFlY2Q4YWFhYmE4ZjQ5YmY2OWU4MjJlMzVkY2JkN2U5MTI4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDQtMTcgIFNrYWNoa292IEFsZXhhbmRyICA8Z3Nr
YWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1
bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTQwODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgg
Zm9yIGFycm93IGZ1bmN0aW9uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZzoKKwogMjAxNS0wNS0wMSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVl
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE4MzY4Ny4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZwppbmRleCBhZmViYjY2OTFjNDA4MzQ1MDE2OTI1MGZlY2E3NmMyZTIyNmIx
MTE0Li4zNTBlNTk0NzI3NjhhMDVjY2EyMDAwZTE2NmQ2OWJkYjlhMzk3OTE1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDQtMTcgIFNrYWNoa292IEFsZXhhbmRyICA8
Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93
IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5U
QVggZm9yIGFycm93IGZ1bmN0aW9uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxNS0wNS0wMSAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBh
cHBsZS5jb20+CiAKICAgICAgICAgQWRkIEFQSSB0byBkaXNhYmxlIG1ldGEgcmVmcmVzaGVzLgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDY1ZDgzYTQxMzliMmIzZTdhMmEx
ZWQ4YmYzNGU2NjJlYzNhZGRkNmUuLjI0Y2M4YTIwZjQyZTlmMzA5ZjAzMTkxOTA3OTYxNGI0NTQ4
MjJjMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQ3MCw2ICs0NzAs
NyBAQCBzZXQoSmF2YVNjcmlwdENvcmVfUlVOVElNRV9TT1VSQ0VTCiAgICAgcnVudGltZS9KU0Fy
cmF5QnVmZmVyVmlldy5jcHAKICAgICBydW50aW1lL0pTQXJyYXlJdGVyYXRvci5jcHAKICAgICBy
dW50aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAKKyAgICBydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5j
cHAKICAgICBydW50aW1lL0pTR2xvYmFsT2JqZWN0RGVidWdnYWJsZS5jcHAKICAgICBydW50aW1l
L0pTQ0pTVmFsdWUuY3BwCiAgICAgcnVudGltZS9KU0NhbGxlZS5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwppbmRleCBmYzkwZjYxMTU2MjMxYTQxY2E5MTM3ZjE3Yzc5NTVlOGQzNzNiMGVhLi4w
Yzg4NDBmNmFiNTE4NWY4MzU0YjcwNjAzZTAyNWYyNWEyYTc5ZjRhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCkBAIC00NCw2ICs0NCw3IEBAIEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcgPSBF
TkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HOwogRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NB
TlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NB
R0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0VTNl9D
TEFTU19TWU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKIEVOQUJMRV9FUzZfVEVNUExB
VEVfTElURVJBTF9TWU5UQVggPSBFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYOwog
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwpAQCAt
MjE1LDQgKzIxNiw0IEBAIEVOQUJMRV9KSVQgPSBFTkFCTEVfSklUOwogCiBFTkFCTEVfU0FUVVJB
VEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJ
QzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVf
QUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5U
KSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVO
QUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9F
UzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVgpICQo
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NT
X0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikg
JChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChF
TkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxF
X0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNP
Ul9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRB
X1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklD
RV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxF
X0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9G
SUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExT
Q1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQp
ICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhS
T1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xT
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lO
X1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxF
X0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJF
TEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJ
T05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VC
X0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChF
TkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01F
RElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxF
TUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFC
TEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJF
TkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlf
RVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVO
QUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExF
VEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFf
UVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVAp
ICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJM
RV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09O
VkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVN
UExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5H
X1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9D
U1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dF
Ql9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAk
KEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhS
X1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkg
JChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVT
RU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1T
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09W
RVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hN
RU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFT
X1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfRVM2X0NMQVNTX1NZ
TlRBWCkgJChFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05T
X0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NT
X0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NT
U19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9D
U1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19T
RUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQp
ICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElU
WSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9J
VEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZF
TF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkg
JChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9H
RU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAk
KEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9D
U1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFC
TEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChF
TkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhN
TCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0Up
ICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5B
QkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRP
Ul9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFC
TEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRF
Ul9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChF
TkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVT
VF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJM
RV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9T
UEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NS
WVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChF
TkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1F
TlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVO
QUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNL
KSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAk
KEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAk
KEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VC
X1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAk
KEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX1NB
VFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01P
REUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZj
eHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKaW5kZXggZmViZGUyNzVj
N2VkYmFmZDVkYzZiOWZjZWIxMjRhZTBiZTlhYTc2Yi4uNGQ5OWE4N2U1M2UzNTNiOTc0NTU4MmE5
NjgzN2NlYjk4NTY0ODVhYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9q
CkBAIC03MzUsNiArNzM1LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVc
SlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxydW50aW1lXEpTQXJyYXlCdWZmZXJWaWV3LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXHJ1bnRpbWVcSlNCb3VuZEZ1bmN0aW9uLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJvd0Z1bmN0aW9uLmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxydW50aW1lXEpTQ2FsbGVlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXHJ1bnRpbWVcSlNDYXRjaFNjb3BlLmNwcCIgLz4KQEAgLTE1MzcsNiArMTUzOCw3IEBA
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJWaWV3SW5s
aW5lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0FycmF5SXRl
cmF0b3IuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNCb3VuZEZ1
bmN0aW9uLmgiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyb3dG
dW5jdGlvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NJbmxp
bmVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0pTVmFsdWUu
aCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZUlubGlu
ZXMuaCIgLz4KQEAgLTE4MTcsNCArMTgxOSw0IEBACiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0
ZW5zaW9uVGFyZ2V0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXEJ1
aWxkQ3VzdG9taXphdGlvbnNcbWFzbS50YXJnZXRzIiAvPgogICA8L0ltcG9ydEdyb3VwPgotPC9Q
cm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggMWEyYjQ2MGU3ZjgzODhlYWE4ZTMxOWJmMjU0ZWE2N2Fm
MmI5YjFlZi4uM2QwNjk2NjBmMDkxNDE0MzFlYjQ5OThlNDVjNDk4ODY5MmY4OGI5MSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTExMDYsNiArMTEwNiw4IEBACiAJCTg2RjNFRUJG
MTY4Q0RFOTMwMDc3QjkyQSAvKiBPYmpjUnVudGltZUV4dHJhcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGM0VFQjYxNjg1NUE1QjAwNzdCOTJBIC8q
IE9iamNSdW50aW1lRXh0cmFzLmggKi87IH07CiAJCTg2RkE5RTkxMTQyQkJCMkUwMDE3NzNCNyAv
KiBKU0JvdW5kRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5j
cHAgKi87IH07CiAJCTg2RkE5RTkyMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RkE5RTkw
MTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLzsgfTsKKwkJOEIwRjQyNEMx
QUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEgLyog
SlNBcnJvd0Z1bmN0aW9uLmNwcCAqLzsgfTsKKwkJOEIwRjQyNEMxQUJENkRFMjAwMzkxN0VBIC8q
IEpTQXJyb3dGdW5jdGlvbi5oIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oICov
OyB9OwogCQk5MDIxM0UzRDEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIxM0UzQjEy
M0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi87IH07CiAJCTkwMjEzRTNF
MTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIxM0UzQzEyM0E0MEMyMDBENDIyRjMgLyog
TWVtb3J5U3RhdGlzdGljcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTkzMDUyQzM0MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzA1MkMzMjBG
Qjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwICovOyB9OwpAQCAtMjg1NCw2ICsyODU2
LDggQEAKIAkJODZGNzVFRkQxNTFDMDYyRjAwN0M5QkEzIC8qIFJlZ0V4cE1hdGNoZXNBcnJheS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWdFeHBNYXRjaGVzQXJy
YXkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkZBOUU4RjE0MkJCQjJEMDAx
NzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTQm91bmRGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdFQSAvKiBKU0Fycm93RnVu
Y3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcnJvd0Z1bmN0aW9uLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCThCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rp
b24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcnJvd0Z1bmN0
aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTAyMTNFM0IxMjNBNDBDMjAw
RDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gTWVtb3J5U3RhdGlzdGljcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lbW9yeVN0YXRpc3RpY3MuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNl
ckFyZW5hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhcnNlckFy
ZW5hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ0NjksNiArNDQ3Myw4IEBA
CiAJCQkJQTdCREFFQzUxN0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJyYXlJdGVyYXRvci5oICovLAog
CQkJCTg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwICovLAog
CQkJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLywKKwkJ
CQk4QjBGNDI0QTFBQkQ2RDJGMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggKi8sCisJCQkJ
OEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgKi8sCiAJCQkJ
NjU3Q0Y0NTYxOUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmNwcCAqLywKIAkJCQk2NTdDRjQ1
NzE5QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuaCAqLywKIAkJCQkwRkQ5NDk3RTFBOTdEQjk2
MDBFMjg5NjYgLyogSlNDYXRjaFNjb3BlLmNwcCAqLywKQEAgLTcyMjQsNiArNzIzMCw3IEBACiAJ
CQkJMEZEOEEzMUIxN0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTE9TUkVudHJ5LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTBGMjM1QkRDMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGMjM1QkRGMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0Q29t
cGlsZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOEIwRjQyNEMxQUJENkRFMjAwMzkxN0VBIC8q
IEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkVBMEEyQTE3MDk2Mjk2
MDBCQjcyMkMgLyogRlRMT3V0cHV0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNDg1MzI5MTg3
REZERUMwMDgzQjY4NyAvKiBGVExSZWNvdmVyeU9wY29kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkwRjZCMUNDMzE4NjJDNDc4MDA4NDVEOTcgLyogRlRMUmVnaXN0ZXJBdE9mZnNldC5jcHAgaW4g
U291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9C
eXRlY29kZUxpc3QuanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29k
ZUxpc3QuanNvbgppbmRleCBlM2VkMWRjZGE0ZTAzYTVmMTFlZjkxZTU2MTE5ZWI5MzA1MWZiN2Y2
Li41NmNiYTkzNmM0NzUwNWY1NDY4NDFlZDU3YmI5YjhlOGQzZDE2ZDhjIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24KKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCkBAIC05NSw2ICs5
NSw3IEBACiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9zd2l0Y2hfc3RyaW5nIiwgImxlbmd0
aCIgOiA0IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfZnVuYyIsICJsZW5ndGgi
IDogNCB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfbmV3X2Z1bmNfZXhwIiwgImxlbmd0
aCIgOiA0IH0sCisgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfYXJyb3dfZnVuY19leHAi
LCAibGVuZ3RoIiA6IDUgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGwiLCAibGVu
Z3RoIiA6IDkgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGxfZXZhbCIsICJsZW5n
dGgiIDogOSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbF92YXJhcmdzIiwgImxl
bmd0aCIgOiA5IH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Qnl0ZWNvZGVVc2VEZWYuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29k
ZVVzZURlZi5oCmluZGV4IDc2NjdlNjgzZTQ1NGE0OTk5ODZlZGFjZDkwYjY0OTE3MjQyMDM3Y2Qu
LmRhNGEyYWFlZWMyODQ1OTQxYWUzNjZkY2ZiOTg1OTFjY2IzY2NkNDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCkBAIC0xMTUsNiArMTE1
LDkgQEAgdm9pZCBjb21wdXRlVXNlc0ZvckJ5dGVjb2RlT2Zmc2V0KAogICAgIGNhc2Ugb3BfZ2V0
X3Byb3BlcnR5X2VudW1lcmF0b3I6CiAgICAgY2FzZSBvcF9nZXRfZW51bWVyYWJsZV9sZW5ndGg6
CiAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRpZgogICAgIGNh
c2Ugb3BfdG9faW5kZXhfc3RyaW5nOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29uc3Rfbm9w
OgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29uc3Q6CkBAIC0zMDcsNiArMzEwLDkgQEAgdm9p
ZCBjb21wdXRlRGVmc0ZvckJ5dGVjb2RlT2Zmc2V0KENvZGVCbG9jayogY29kZUJsb2NrLCB1bnNp
Z25lZCBieXRlY29kZU9mZnNldCwKICAgICBjYXNlIG9wX25ld19yZWdleHA6CiAgICAgY2FzZSBv
cF9uZXdfZnVuYzoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorI2Vu
ZGlmCiAgICAgY2FzZSBvcF9jYWxsX3ZhcmFyZ3M6CiAgICAgY2FzZSBvcF9jb25zdHJ1Y3RfdmFy
YXJnczoKICAgICBjYXNlIG9wX2dldF9mcm9tX3Njb3BlOgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAppbmRleCA5MDEzOGY5N2NiZDgyOGY5NzJjYjIyNDQy
YmY0MDQ0MWQxM2Y0MDU2Li43MTgzZDA0ZGQ4ODJiYjYyMjNmYmFjZTE3ZTVmYmI1MDA5MWQ4MDA0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcApAQCAt
MTMwMSw2ICsxMzAxLDE3IEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wQnl0ZWNvZGUoCiAgICAgICAg
ICAgICBvdXQucHJpbnRmKCIlcywgJXMsIGYlZCIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0YSgpLCBy
ZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjApOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBjYXNlIG9w
X25ld19hcnJvd19mdW5jX2V4cDogeworICAgICAgICAgICAgaW50IHIwID0gKCsraXQpLT51Lm9w
ZXJhbmQ7CisgICAgICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAgICAg
ICAgIGludCBmMCA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgaW50IHIyID0gKCsr
aXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBwcmludExvY2F0aW9uQW5kT3Aob3V0LCBleGVj
LCBsb2NhdGlvbiwgaXQsICJvcF9uZXdfYXJyb3dfZnVuY19leHAiKTsKKyAgICAgICAgICAgIG91
dC5wcmludGYoIiVzLCAlcywgZiVkLCAlcyIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0YSgpLCByZWdp
c3Rlck5hbWUocjEpLmRhdGEoKSwgZjAsIHJlZ2lzdGVyTmFtZShyMikuZGF0YSgpKTsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgY2FzZSBvcF9uZXdfZnVu
Y19leHA6IHsKICAgICAgICAgICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVyYW5kOwogICAgICAg
ICAgICAgaW50IHIxID0gKCsraXQpLT51Lm9wZXJhbmQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCmluZGV4IDJm
MjFlNDliNjUxMGYxYmU1OGQwOWMzMTQwNWUzN2NhOWVkYjMxOWYuLjQxODg5YWEzNGRhZmZmMTA2
NDAwNmZjODMwZDk3ZmYwZjA2NmIyYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0xNzc1LDYgKzE3
NzUsMjIgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdGdW5jdGlvbkV4
cHJlc3Npb24oUmVnaXN0ZXJJRCogcjAsIEZ1bmNFeHAKICAgICBpbnN0cnVjdGlvbnMoKS5hcHBl
bmQoaW5kZXgpOwogICAgIHJldHVybiByMDsKIH0KKyAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdB
cnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVuY0V4cHJOb2RlKiBuKQor
eworICAgIGVtaXRURFpDaGVjayh0aGlzUmVnaXN0ZXIoKSk7CisgICAgRnVuY3Rpb25Cb2R5Tm9k
ZSogZnVuY3Rpb24gPSBuLT5ib2R5KCk7CisgICAgdW5zaWduZWQgaW5kZXggPSBtX2NvZGVCbG9j
ay0+YWRkRnVuY3Rpb25FeHByKG1ha2VGdW5jdGlvbihmdW5jdGlvbikpOworICAgIAorICAgIGVt
aXRPcGNvZGUob3BfbmV3X2Fycm93X2Z1bmNfZXhwKTsKKyAgICBpbnN0cnVjdGlvbnMoKS5hcHBl
bmQocjAtPmluZGV4KCkpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChzY29wZVJlZ2lzdGVy
KCktPmluZGV4KCkpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChpbmRleCk7CisgICAgaW5z
dHJ1Y3Rpb25zKCkuYXBwZW5kKHRoaXNSZWdpc3RlcigpLT5pbmRleCgpKTsKKyAgICByZXR1cm4g
cjA7Cit9CisjZW5kaWYKIAogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdE
ZWZhdWx0Q29uc3RydWN0b3IoUmVnaXN0ZXJJRCogZHN0LCBDb25zdHJ1Y3RvcktpbmQgY29uc3Ry
dWN0b3JLaW5kLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmluZGV4IDlh
ZjhkNGZjNDg1ZDk4OTI0MWIxMTExODA5MjdhYWE3NmE5NTMxYzQuLmNhNjhhMjllNmJmMTViZWUy
MGI2OTdhMDRmMjg3ZWNmZjhiYmM4Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTQ1NCw2ICs0NTQsMTAg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5jdGlvbklu
dGVybmFsKFJlZ2lzdGVySUQqIGRzdCwgdW5zaWduZWQgaW5kZXgpOwogICAgICAgICBSZWdpc3Rl
cklEKiBlbWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIGRzdCwgRnVuY0V4cHJO
b2RlKiBmdW5jKTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0RlZmF1bHRDb25zdHJ1Y3Rv
cihSZWdpc3RlcklEKiBkc3QsIENvbnN0cnVjdG9yS2luZCwgY29uc3QgSWRlbnRpZmllciYgbmFt
ZSk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgUmVnaXN0
ZXJJRCogZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqLCBGdW5jRXhw
ck5vZGUqKTsKKyAgICAgICAgUmVnaXN0ZXJJRCogZW1pdFRoaXNOb2RlQnl0ZWNvZGUoUmVnaXN0
ZXJJRCosIEpTVGV4dFBvc2l0aW9uKTsKKyNlbmRpZgogICAgICAgICBSZWdpc3RlcklEKiBlbWl0
TmV3UmVnRXhwKFJlZ2lzdGVySUQqIGRzdCwgUmVnRXhwKik7CiAKICAgICAgICAgUmVnaXN0ZXJJ
RCogZW1pdE1vdmVMaW5rVGltZUNvbnN0YW50KFJlZ2lzdGVySUQqIGRzdCwgTGlua1RpbWVDb25z
dGFudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05v
ZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVz
Q29kZWdlbi5jcHAKaW5kZXggMGYwYjc4ZjBlNTkxZDliYjE2Yjk1ODFkNWQ1NjA0ZDQ4ZTViNzc2
Zi4uZDk0N2FmY2I2ODhmYWIwMDhmZmM5MjgwZTI4OWM1YWQ2YjlhMmRhNyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAt
MjkwMSw2ICsyOTAxLDE0IEBAIFJlZ2lzdGVySUQqIEZ1bmNFeHByTm9kZTo6ZW1pdEJ5dGVjb2Rl
KEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqCiAgICAgcmV0dXJuIGdl
bmVyYXRvci5lbWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uKGdlbmVyYXRvci5maW5hbERlc3RpbmF0
aW9uKGRzdCksIHRoaXMpOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkgICAgCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQXJyb3dGdW5jRXhwck5v
ZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitSZWdpc3RlcklEKiBBcnJvd0Z1
bmNFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJl
Z2lzdGVySUQqIGRzdCkKK3sKKyAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXROZXdBcnJvd0Z1bmN0
aW9uRXhwcmVzc2lvbihnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QpLCB0aGlzKTsKK30K
KyNlbmRpZgorICAgIAogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogLy8gLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tIENsYXNzRGVjbE5vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
QWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaAppbmRleCA5MzQyMDkzNWIzOGJlZjQ0Nzhl
ZGEwYzk1ZjlkODU1MjYzYmZkNzAyLi4yNWUxYzczNjRhNmQ3Mjk4ODdiZDE0ZjlmYjI1OTc5OTBi
ZjkyZjljIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0
SW50ZXJwcmV0ZXJJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdB
YnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCkBAIC0xNTM0LDcgKzE1MzQsMTMgQEAgYm9vbCBB
YnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHModW5z
aWduZWQgY2xvYmJlckxpbWkKICAgICBjYXNlIENyZWF0ZUNsb25lZEFyZ3VtZW50czoKICAgICAg
ICAgZm9yTm9kZShub2RlKS5zZXRUeXBlKG1fZ3JhcGgsIFNwZWNPYmplY3RPdGhlcik7CiAgICAg
ICAgIGJyZWFrOwotICAgICAgICAKKyAgICAgICAgICAgIAorICAgIGNhc2UgTmV3QXJyb3dGdW5j
dGlvbjoKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBmb3JO
b2RlKG5vZGUpLnNldCgKKyAgICAgICAgICAgIG1fZ3JhcGgsIG1fY29kZUJsb2NrLT5nbG9iYWxP
YmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKS0+YXJyb3dGdW5jdGlvblN0cnVjdHVyZSgp
KTsKKyNlbmRpZgorICAgICAgICBicmVhazsKICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgICAg
ICBmb3JOb2RlKG5vZGUpLnNldCgKICAgICAgICAgICAgIG1fZ3JhcGgsIG1fY29kZUJsb2NrLT5n
bG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKS0+ZnVuY3Rpb25TdHJ1Y3R1cmUo
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGll
cy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKaW5k
ZXggZWY0YzI0NzQ5Yjc4ZmE2ZTA5YTRjM2Q5YzI5MDEzZWFhNjVkYWE5Mi4uMGUzYzg4MGI3Y2Nj
YjliNzUwYWEzMDg5NWYwNjk1OThkNTJkZmZiMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcApAQCAtMjMxLDYgKzIzMSw3IEBAIENhcGFiaWxpdHlM
ZXZlbCBjYXBhYmlsaXR5TGV2ZWwoT3Bjb2RlSUQgb3Bjb2RlSUQsIENvZGVCbG9jayogY29kZUJs
b2NrLCBJbnN0cnVjCiAgICAgY2FzZSBvcF9zd2l0Y2hfc3RyaW5nOiAvLyBEb24ndCBpbmxpbmUg
YmVjYXVzZSB3ZSBkb24ndCB3YW50IHRvIGNvcHkgc3RyaW5nIHRhYmxlcyBpbiB0aGUgY29uY3Vy
cmVudCBKSVQuCiAgICAgICAgIHJldHVybiBDYW5Db21waWxlOwogCisgICAgY2FzZSBvcF9uZXdf
YXJyb3dfZnVuY19leHA6IC8vIEZpeG1lOiBBcnJvdyBmdW5jdGlvbiBjYW5uJ3QgYmUgaW5saW5l
IGFzIHRoZSBjb21tb24gZnVuY3Rpb24gYmVjYXVzZSBpdCBoYXMgbGV4aWNhbHkgYmluZCB0aGlz
L2FyZ3VtZW50cyBhbmQgZXRjLiBhbmQgIGFycm93IGZ1bmN0aW9uIGhhcyB0byBoYXZlIGl0cyBv
d24gY29tcGlsZSBhbmQgaW5saW5lIGFwcHJvYWNoLgogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJl
dHVybiBDYW5ub3RDb21waWxlOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdD
bG9iYmVyaXplLmgKaW5kZXggZDM4NTc5ZTM0YmI4MDY0MzI3MTk2ZWMyNTBjNjkzMTExNDFmMWMw
My4uZWNjN2JmOGYyNWRkZmFmZmE4MjJiMmIzZTQ1ZGFjYjhjYzA2MzA5NSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKQEAgLTg2MSw3ICs4NjEsOCBAQCB2b2lk
IGNsb2JiZXJpemUoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlLCBjb25zdCBSZWFkRnVuY3RvciYg
cmVhZCwgY29uc3QgV3JpdGVGdQogICAgICAgICByZWFkKEhlYXBPYmplY3RDb3VudCk7CiAgICAg
ICAgIHdyaXRlKEhlYXBPYmplY3RDb3VudCk7CiAgICAgICAgIHJldHVybjsKLSAgICAgICAgCisg
ICAgCisgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgogICAgIGNhc2UgTmV3RnVuY3Rpb246CiAg
ICAgICAgIGlmIChub2RlLT5jYXN0T3BlcmFuZDxGdW5jdGlvbkV4ZWN1dGFibGUqPigpLT5zaW5n
bGV0b25GdW5jdGlvbigpLT5pc1N0aWxsVmFsaWQoKSkKICAgICAgICAgICAgIHdyaXRlKFdhdGNo
cG9pbnRfZmlyZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rv
ZXNHQy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAKaW5kZXgg
NDg3MWYwYTk2MjMxZDE3M2VkOTAxNjI3NTBmMDk0YzdlMWIxMTViMi4uNDFhNzIxMzg5YzUxYzFk
OTJjZDhlZGYxNTZlODZmNTAyOTI0ZDY5ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdEb2VzR0MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
RG9lc0dDLmNwcApAQCAtMjI4LDYgKzIyOCw3IEBAIGJvb2wgZG9lc0dDKEdyYXBoJiBncmFwaCwg
Tm9kZSogbm9kZSkKICAgICBjYXNlIE5ld1JlZ2V4cDoKICAgICBjYXNlIE5ld1N0cmluZ09iamVj
dDoKICAgICBjYXNlIE1ha2VSb3BlOgorICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKICAgICBj
YXNlIE5ld0Z1bmN0aW9uOgogICAgIGNhc2UgTmV3VHlwZWRBcnJheToKICAgICBjYXNlIFRocm93
UmVmZXJlbmNlRXJyb3I6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0ZpeHVwUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNl
LmNwcAppbmRleCA2NTJjYjZhMjJhOTFlOGNiNmZhODMxNmMzZDhjMjllYmJhN2Q1NmEzLi4zMTRi
OGVmODBhOTk3NDkwMzcyZGU5MTFkMDlkZDdkYzlmYjE3MjE1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKQEAgLTExODIsNiArMTE4Miw3IEBAIHByaXZh
dGU6CiAKICAgICAgICAgY2FzZSBDcmVhdGVTY29wZWRBcmd1bWVudHM6CiAgICAgICAgIGNhc2Ug
Q3JlYXRlQWN0aXZhdGlvbjoKKyAgICAgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgogICAgICAg
ICBjYXNlIE5ld0Z1bmN0aW9uOiB7CiAgICAgICAgICAgICBmaXhFZGdlPENlbGxVc2U+KG5vZGUt
PmNoaWxkMSgpKTsKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdOb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05v
ZGUuaAppbmRleCBmYjQ0NWI3NjJmMWNiNTg0ZTQ5YTMxYjM4NjZjZmNiYzMwOTgwMGJhLi4wY2Q2
OWE3Nzk1YWJiMzlhYjdhYjZhMWU3NTU1OTI2YzFmNWQ5NjhmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR05vZGUuaApAQCAtMTI2Nyw2ICsxMjY3LDcgQEAgc3RydWN0IE5vZGUgewogICAgICAg
ICBjYXNlIENoZWNrQ2VsbDoKICAgICAgICAgY2FzZSBOYXRpdmVDb25zdHJ1Y3Q6CiAgICAgICAg
IGNhc2UgTmF0aXZlQ2FsbDoKKyAgICAgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgogICAgICAg
ICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGRl
ZmF1bHQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBl
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKaW5kZXggYjlmMDI1
ZmI5YWI4YjdkZDU1NzNkMGQ3ODRjNjVkZTM2NjBjNWUwOS4uNDc0ODcxZTdhZjU0ZmM0Nzg3M2Nk
NTBlZjVkZjFmOTViMTBiYjcwNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdOb2RlVHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5
cGUuaApAQCAtMjkxLDYgKzI5MSw4IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsK
ICAgICBcCiAgICAgbWFjcm8oTmV3RnVuY3Rpb24sIE5vZGVSZXN1bHRKUykgXAogICAgIFwKKyAg
ICBtYWNybyhOZXdBcnJvd0Z1bmN0aW9uLCBOb2RlUmVzdWx0SlMgfCBOb2RlTXVzdEdlbmVyYXRl
KSBcCisgICAgXAogICAgIC8qIFRoZXNlIGFyZW4ndCB0ZXJtaW5hbHMgYnV0IGFsd2F5cyBleGl0
ICovIFwKICAgICBtYWNybyhUaHJvdywgTm9kZU11c3RHZW5lcmF0ZSkgXAogICAgIG1hY3JvKFRo
cm93UmVmZXJlbmNlRXJyb3IsIE5vZGVNdXN0R2VuZXJhdGUpIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5j
cHAKaW5kZXggZmRiOGZkYTU4MWVmNGM1MGJkMTA1NTA4Mjc2YTE3YWVmYjdiNmM4Yy4uMzAzMjli
NWFmMjc0NDU2OGE5MzUxNjMzZmFkOWUxMjMzNmNjMTk4ZCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5j
cHAKQEAgLTIxNyw2ICsyMTcsNyBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIEdldEdldHRlcjoK
ICAgICAgICAgY2FzZSBHZXRTZXR0ZXI6CiAgICAgICAgIGNhc2UgR2V0Q2FsbGVlOgorICAgICAg
ICBjYXNlIE5ld0Fycm93RnVuY3Rpb246CiAgICAgICAgIGNhc2UgTmV3RnVuY3Rpb246IHsKICAg
ICAgICAgICAgIGNoYW5nZWQgfD0gc2V0UHJlZGljdGlvbihTcGVjRnVuY3Rpb24pOwogICAgICAg
ICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nh
ZmVUb0V4ZWN1dGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0
ZS5oCmluZGV4IGFhNWE3MWMxN2Y4OGI2ODhlM2ZhNWI1N2I4ZGNhYjIyMzQ1ZDRmMWUuLmI2YzUw
YjQ0NTdjMDY5YmYxZDA3MWYzOWIxN2ViZjdiOWRhZDM3NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCkBAIC0yMjgsNiArMjI4LDcgQEAgYm9vbCBz
YWZlVG9FeGVjdXRlKEFic3RyYWN0U3RhdGVUeXBlJiBzdGF0ZSwgR3JhcGgmIGdyYXBoLCBOb2Rl
KiBub2RlKQogICAgIGNhc2UgQ3JlYXRlQ2xvbmVkQXJndW1lbnRzOgogICAgIGNhc2UgR2V0RnJv
bUFyZ3VtZW50czoKICAgICBjYXNlIFB1dFRvQXJndW1lbnRzOgorICAgIGNhc2UgTmV3QXJyb3dG
dW5jdGlvbjoKICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgIGNhc2UgSnVtcDoKICAgICBjYXNl
IEJyYW5jaDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQu
aAppbmRleCA5ZDcyZTg5MzczMmNiN2FlOTY4ODY2NzNlZDA1ZTVlZjU1ZDFkMWIxLi41NTdjNTMx
NzkxNTcwZDVmNmVjN2IxMjY0NGY4ZGQxZTk0YTY0YTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCkBAIC0xMTk5LDYgKzExOTksMTIgQEAgcHVi
bGljOgogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgVHJ1
c3RlZEltbVB0cihjZWxsKSk7CiAgICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlv
bkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKICAgICB9CisgICAgCisgICAgSklU
Q29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0ogb3BlcmF0
aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgYXJnMSwgSlNDZWxsKiBjZWxsLCBHUFJSZWcgYXJn
MikKKyAgICB7CisgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcx
LCBUcnVzdGVkSW1tUHRyKGNlbGwpLCBhcmcyKTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxX
aXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOworICAgIH0KIAog
ICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRVdzIG9w
ZXJhdGlvbiwgV2F0Y2hwb2ludFNldCogd2F0Y2hwb2ludFNldCkKICAgICB7CkBAIC0xNjA1LDYg
KzE2MTEsMTEgQEAgcHVibGljOgogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVj
U3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSk7CiAgICAgICAgIHJldHVybiBhcHBlbmRD
YWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0UGF5bG9hZCwg
cmVzdWx0VGFnKTsKICAgICB9CisgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihK
X0pJVE9wZXJhdGlvbl9FSnNjQ0ogb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0VGFnLCBHUFJSZWcg
cmVzdWx0UGF5bG9hZCwgR1BSUmVnIGFyZzEsIEpTQ2VsbCogY2VsbCwgR1BSUmVnIGFyZzIpCisg
ICAgeworICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgVHJ1
c3RlZEltbVB0cihjZWxsKSwgYXJnMik7CisgICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4
Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0UGF5bG9hZCwgcmVzdWx0VGFn
KTsKKyAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJh
dGlvbl9FU3NpQ0kgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0VGFnLCBHUFJSZWcgcmVzdWx0UGF5
bG9hZCwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgYXJnMSwgY29uc3QgU3Ry
aW5nSW1wbCogdWlkKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhl
Y1N0YXRlKFRydXN0ZWRJbW1QdHIoc3R1YkluZm8pLCBhcmcxLCBUcnVzdGVkSW1tUHRyKHVpZCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VDMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQz
Ml82NC5jcHAKaW5kZXggZmQ5ZjM1MGIxOGRjNWVhYTE4NmJiYjc2MTc1NzliNWJhMDAxNzE2NS4u
ZjM2OTAyMjgxMjJiZjZkNGE5MGU2NjRiNjIwOTFjMDk2YThmZDg3MyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCkBAIC00
MjgzLDcgKzQyODMsMTEgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2Rl
KQogICAgICAgICBjb21waWxlQ3JlYXRlQ2xvbmVkQXJndW1lbnRzKG5vZGUpOwogICAgICAgICBi
cmVhazsKICAgICB9Ci0gICAgICAgIAorICAgIAorICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoK
KyAgICAgICAgREZHX0NSQVNIKG1faml0LmdyYXBoKCksIG5vZGUsICJBcnJvdyBmdW5jdGlvbiBj
YW5cJ3QgYmUgY29tcGlsZWQgaW4gREZHIik7CisgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
CiAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICAgICAgY29tcGlsZU5ld0Z1bmN0aW9uKG5vZGUp
OwogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUNjQuY3BwCmluZGV4IDFkMDg1N2YzZjVkN2IyYzFjYzIwNDZhMTBlZGFlNDAz
MzMzNDgzMzUuLjBmMzU3NWI1ZTIzMTU2NGFhZjNhYmE2Yzk1MDY2MmViZDAxM2I4NGYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcApA
QCAtNDMxNywxMSArNDMxNywxNSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUq
IG5vZGUpCiAgICAgICAgIGNvbXBpbGVDcmVhdGVDbG9uZWRBcmd1bWVudHMobm9kZSk7CiAgICAg
ICAgIGJyZWFrOwogICAgIH0KLSAgICAgICAgCisKKyAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246
CisgICAgICAgIERGR19DUkFTSChtX2ppdC5ncmFwaCgpLCBub2RlLCAiQXJyb3cgZnVuY3Rpb24g
Y2FuXCcgaW4gREZHIik7CisgICAgICAgIGJyZWFrOworICAgICAgICAgICAgCiAgICAgY2FzZSBO
ZXdGdW5jdGlvbjoKICAgICAgICAgY29tcGlsZU5ld0Z1bmN0aW9uKG5vZGUpOwogICAgICAgICBi
cmVhazsKLSAgICAgICAgCisKICAgICBjYXNlIEluOgogICAgICAgICBjb21waWxlSW4obm9kZSk7
CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTdHJ1Y3R1cmVSZWdpc3RyYXRpb25QaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1N0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmNwcAppbmRleCAyODY0NmQxM2ZjZjRj
OTY1YzYyMGQwMDIxMWIwZGNiZjAzYjM3YzJkLi4yYzQyZGYzYzAyMzgzZTcxZjVlYzk1ODZhMjc4
ZmJiMWRiMTMwODBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1N0
cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1N0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmNwcApAQCAtMTMwLDcgKzEzMCwxMSBA
QCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgY2FzZSBOZXdSZWdleHA6CiAgICAgICAgICAgICAg
ICAgICAgIHJlZ2lzdGVyU3RydWN0dXJlKG1fZ3JhcGguZ2xvYmFsT2JqZWN0Rm9yKG5vZGUtPm9y
aWdpbi5zZW1hbnRpYyktPnJlZ0V4cFN0cnVjdHVyZSgpKTsKICAgICAgICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGNhc2UgTmV3QXJy
b3dGdW5jdGlvbjoKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAg
ICAgICAgICAgICAgICByZWdpc3RlclN0cnVjdHVyZShtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihu
b2RlLT5vcmlnaW4uc2VtYW50aWMpLT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCkpOworI2VuZGlm
CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIGNhc2UgTmV3RnVu
Y3Rpb246CiAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyU3RydWN0dXJlKG1fZ3JhcGguZ2xv
YmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyktPmZ1bmN0aW9uU3RydWN0dXJlKCkp
OwogICAgICAgICAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuY3BwCmluZGV4IGU0MTZmZGFh
ZmVlMjIyOWY2NTNiOWFlMDYyNDgwMDA5OTk4NzVhMDAuLjNjMzg2NGNhMTgwYWEzNmU0ODA4YzIz
YTEzMDZiZTI4ZTVkN2I5MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmNwcApAQCAtMzAsNiArMzAsNyBAQAogCiAj
aW5jbHVkZSAiRGlyZWN0QXJndW1lbnRzLmgiCiAjaW5jbHVkZSAiR2V0dGVyU2V0dGVyLmgiCisj
aW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNFbnZpcm9ubWVudFJlY29y
ZC5oIgogI2luY2x1ZGUgIkpTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oIgogI2luY2x1ZGUgIkpT
U2NvcGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJh
Y3RIZWFwUmVwb3NpdG9yeS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFj
dEhlYXBSZXBvc2l0b3J5LmgKaW5kZXggOTEyNzU0ZGZjNDAxNTJiMGVkMjQ4MzZhYzc1YjhmOTY5
ODQzOTliYi4uZWViMjA4YmUxZjQ2Y2ZjNDJiOTQ5NWE5ZmE5MjFmYmNkNmQ4MmRhNyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0
b3J5LmgKQEAgLTg4LDYgKzg4LDEzIEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsK
ICAgICBtYWNybyhTdHJ1Y3R1cmVfZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmU6Omdsb2JhbE9iamVj
dE9mZnNldCgpKSBcCiAgICAgbWFjcm8oU3RydWN0dXJlX3Byb3RvdHlwZSwgU3RydWN0dXJlOjpw
cm90b3R5cGVPZmZzZXQoKSkgXAogICAgIG1hY3JvKFN0cnVjdHVyZV9zdHJ1Y3R1cmVJRCwgU3Ry
dWN0dXJlOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKQorICAgIAorI2RlZmluZSBGT1JfRUFDSF9BQlNU
UkFDVF9GSUVMRF9BUlJPV0ZVTkNUSU9OKG1hY3JvKSBcCisgICAgbWFjcm8oSlNBcnJvd0Z1bmN0
aW9uX2V4ZWN1dGFibGUsIEpTQXJyb3dGdW5jdGlvbjo6b2Zmc2V0T2ZFeGVjdXRhYmxlKCkpIFwK
KyAgICBtYWNybyhKU0Fycm93RnVuY3Rpb25fc2NvcGUsIEpTQXJyb3dGdW5jdGlvbjo6b2Zmc2V0
T2ZTY29wZUNoYWluKCkpIFwKKyAgICBtYWNybyhKU0Fycm93RnVuY3Rpb25fcmFyZURhdGEsIEpT
QXJyb3dGdW5jdGlvbjo6b2Zmc2V0T2ZSYXJlRGF0YSgpKSBcCisgICAgbWFjcm8oSlNBcnJvd0Z1
bmN0aW9uX3RoaXMsIEpTQXJyb3dGdW5jdGlvbjo6b2Zmc2V0T2ZUaGlzVmFsdWUoKSkKKyAgICAK
IAogI2RlZmluZSBGT1JfRUFDSF9JTkRFWEVEX0FCU1RSQUNUX0hFQVAobWFjcm8pIFwKICAgICBt
YWNybyhEaXJlY3RBcmd1bWVudHNfc3RvcmFnZSwgRGlyZWN0QXJndW1lbnRzOjpzdG9yYWdlT2Zm
c2V0KCksIHNpemVvZihFbmNvZGVkSlNWYWx1ZSkpIFwKQEAgLTEyOSw2ICsxMzYsOSBAQCBwdWJs
aWM6CiAKICNkZWZpbmUgQUJTVFJBQ1RfRklFTERfREVDTEFSQVRJT04obmFtZSwgb2Zmc2V0KSBB
YnN0cmFjdEZpZWxkIG5hbWU7CiAgICAgRk9SX0VBQ0hfQUJTVFJBQ1RfRklFTEQoQUJTVFJBQ1Rf
RklFTERfREVDTEFSQVRJT04pCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICBGT1JfRUFDSF9BQlNUUkFDVF9GSUVMRF9BUlJPV0ZVTkNUSU9OKEFCU1RSQUNUX0ZJRUxE
X0RFQ0xBUkFUSU9OKQorI2VuZGlmCiAjdW5kZWYgQUJTVFJBQ1RfRklFTERfREVDTEFSQVRJT04K
ICAgICAKICAgICBBYnN0cmFjdEZpZWxkJiBKU0NlbGxfZnJlZUxpc3ROZXh0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCmluZGV4IDYwZGNmNzkxOTMy
M2M1NzViNDc4MDYwMTcyYjJjZDUzN2VkZGU2NzguLjhlZTc4ZmVkMGEyYmRiODE0ZDVmMGExZDBl
MDJkN2Y3OGY5NWJjZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
Q2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFi
aWxpdGllcy5jcHAKQEAgLTEwMyw2ICsxMDMsNyBAQCBpbmxpbmUgQ2FwYWJpbGl0eUxldmVsIGNh
bkNvbXBpbGUoTm9kZSogbm9kZSkKICAgICBjYXNlIExvb3BIaW50OgogICAgIGNhc2UgU2tpcFNj
b3BlOgogICAgIGNhc2UgQ3JlYXRlQWN0aXZhdGlvbjoKKyAgICBjYXNlIE5ld0Fycm93RnVuY3Rp
b246CiAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICBjYXNlIEdldENsb3N1cmVWYXI6CiAgICAg
Y2FzZSBQdXRDbG9zdXJlVmFyOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TEludHJpbnNpY1JlcG9zaXRvcnkuaAppbmRleCAwOTdiNzFjYzY0Mzc2Mzc2ZWJiZWFjMDY3NDZm
ZGNjMGJiZmNlNjg4Li5kOWNmMDQ3OGEzOGJhMzYxYjI1YjQ1NDNkNjY2ZWVjNDc2ZmJlODZhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRv
cnkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRv
cnkuaApAQCAtODMsNiArODMsNyBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CiAg
ICAgbWFjcm8oSl9KSVRPcGVyYXRpb25fRUpDLCBmdW5jdGlvblR5cGUoaW50NjQsIGludFB0ciwg
aW50NjQsIGludFB0cikpIFwKICAgICBtYWNybyhKX0pJVE9wZXJhdGlvbl9FSkosIGZ1bmN0aW9u
VHlwZShpbnQ2NCwgaW50UHRyLCBpbnQ2NCwgaW50NjQpKSBcCiAgICAgbWFjcm8oSl9KSVRPcGVy
YXRpb25fRUpzY0MsIGZ1bmN0aW9uVHlwZShpbnRQdHIsIGludFB0ciwgaW50UHRyLCBpbnRQdHIp
KSBcCisgICAgbWFjcm8oSl9KSVRPcGVyYXRpb25fRUpzY0NKLCBmdW5jdGlvblR5cGUoaW50NjQs
IGludFB0ciwgaW50NjQsIGludDY0LCBpbnQ2NCkpXAogICAgIG1hY3JvKEpfSklUT3BlcmF0aW9u
X0VKc3NaLCBmdW5jdGlvblR5cGUoaW50NjQsIGludFB0ciwgaW50UHRyLCBpbnQzMikpIFwKICAg
ICBtYWNybyhKX0pJVE9wZXJhdGlvbl9FU3NpSkksIGZ1bmN0aW9uVHlwZShpbnQ2NCwgaW50UHRy
LCBpbnRQdHIsIGludDY0LCBpbnRQdHIpKSBcCiAgICAgbWFjcm8oSnNzX0pJVE9wZXJhdGlvbl9F
WiwgZnVuY3Rpb25UeXBlKGludFB0ciwgaW50UHRyLCBpbnQzMikpIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKaW5kZXggZDkwMmFlNzM0MmU4
YjQ2M2IzM2ExZTVkOTdkZTZlMTg4Njg5OWU0Mi4uZmQ4YWMzNzg5NDA5MWIxNmM5Mjk0ZWY5NzMw
MzkxZDg5ZjQxZGEwNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExM
b3dlckRGR1RvTExWTS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dl
ckRGR1RvTExWTS5jcHAKQEAgLTQzLDYgKzQzLDcgQEAKICNpbmNsdWRlICJGVExPdXRwdXQuaCIK
ICNpbmNsdWRlICJGVExUaHVua3MuaCIKICNpbmNsdWRlICJGVExXZWlnaHRlZFRhcmdldC5oIgor
I2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNp
bmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIk9wZXJhbmRzSW5saW5l
cy5oIgpAQCAtNjA2LDYgKzYwNywxMSBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIENyZWF0ZUFj
dGl2YXRpb246CiAgICAgICAgICAgICBjb21waWxlQ3JlYXRlQWN0aXZhdGlvbigpOwogICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICAgICAgY29tcGlsZU5ld0Fycm93RnVu
Y3Rpb24oKTsKKyNlbmRpZgorICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgTmV3RnVu
Y3Rpb246CiAgICAgICAgICAgICBjb21waWxlTmV3RnVuY3Rpb24oKTsKICAgICAgICAgICAgIGJy
ZWFrOwpAQCAtMjk2Nyw2ICsyOTczLDUyIEBAIHByaXZhdGU6CiAgICAgICAgIHNldEpTVmFsdWUo
bV9vdXQucGhpKG1fb3V0LmludFB0ciwgZmFzdFJlc3VsdCwgc2xvd1Jlc3VsdCkpOwogICAgIH0K
ICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHZvaWQgY29t
cGlsZU5ld0Fycm93RnVuY3Rpb24oKQorICAgIHsKKworICAgICAgICBMVmFsdWUgc2NvcGUgPSBs
b3dDZWxsKG1fbm9kZS0+Y2hpbGQxKCkpOworICAgICAgICBMVmFsdWUgdGhpc1ZhbHVlID0gbG93
SlNWYWx1ZShtX25vZGUtPmNoaWxkMigpKTsKKyAgICAgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBl
eGVjdXRhYmxlID0gbV9ub2RlLT5jYXN0T3BlcmFuZDxGdW5jdGlvbkV4ZWN1dGFibGUqPigpOwor
ICAgICAgICBpZiAoZXhlY3V0YWJsZS0+c2luZ2xldG9uRnVuY3Rpb24oKS0+aXNTdGlsbFZhbGlk
KCkpIHsKKyAgICAgICAgICAgIExWYWx1ZSBjYWxsUmVzdWx0ID0gdm1DYWxsKAorICAgICAgICAg
ICAgICAgIG1fb3V0Lm9wZXJhdGlvbihvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKSwKKyAgICAg
ICAgICAgICAgICBtX2NhbGxGcmFtZSwgc2NvcGUsIHdlYWtQb2ludGVyKGV4ZWN1dGFibGUpLCB0
aGlzVmFsdWUpOworICAgICAgICAgICAgc2V0SlNWYWx1ZShjYWxsUmVzdWx0KTsKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUgPSBtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihtX25vZGUtPm9yaWdpbi5zZW1hbnRpYykt
PmFycm93RnVuY3Rpb25TdHJ1Y3R1cmUoKTsKKyAgICAgICAgCisgICAgICAgIExCYXNpY0Jsb2Nr
IHNsb3dQYXRoID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJOZXdBcnJvd0Z1bmN0aW9uIHNsb3cg
cGF0aCIpKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgY29udGludWF0aW9uID0gRlRMX05FV19CTE9D
SyhtX291dCwgKCJOZXdBcnJvd0Z1bmN0aW9uIGNvbnRpbnVhdGlvbiIpKTsKKyAgICAgICAgCisg
ICAgICAgIExCYXNpY0Jsb2NrIGxhc3ROZXh0ID0gbV9vdXQuaW5zZXJ0TmV3QmxvY2tzQmVmb3Jl
KHNsb3dQYXRoKTsKKyAgICAgICAgCisgICAgICAgIExWYWx1ZSBmYXN0T2JqZWN0ID0gYWxsb2Nh
dGVPYmplY3Q8SlNBcnJvd0Z1bmN0aW9uPihzdHJ1Y3R1cmUsIG1fb3V0LmludFB0clplcm8sIHNs
b3dQYXRoKTsKKyAgICAgICAgCisgICAgICAgIC8vIFdlIGRvbid0IG5lZWQgbWVtb3J5IGJhcnJp
ZXJzIHNpbmNlIHdlIGp1c3QgZmFzdC1jcmVhdGVkIHRoZSBmdW5jdGlvbiwgc28gaXQKKyAgICAg
ICAgLy8gbXVzdCBiZSB5b3VuZy4KKyAgICAgICAgbV9vdXQuc3RvcmVQdHIoc2NvcGUsIGZhc3RP
YmplY3QsIG1faGVhcHMuSlNBcnJvd0Z1bmN0aW9uX3Njb3BlKTsKKyAgICAgICAgbV9vdXQuc3Rv
cmVQdHIod2Vha1BvaW50ZXIoZXhlY3V0YWJsZSksIGZhc3RPYmplY3QsIG1faGVhcHMuSlNBcnJv
d0Z1bmN0aW9uX2V4ZWN1dGFibGUpOworICAgICAgICBtX291dC5zdG9yZVB0cih0aGlzVmFsdWUs
IGZhc3RPYmplY3QsIG1faGVhcHMuSlNBcnJvd0Z1bmN0aW9uX3RoaXMpOworICAgICAgICBtX291
dC5zdG9yZVB0cihtX291dC5pbnRQdHJaZXJvLCBmYXN0T2JqZWN0LCBtX2hlYXBzLkpTQXJyb3dG
dW5jdGlvbl9yYXJlRGF0YSk7CisgICAgICAgIAorICAgICAgICBWYWx1ZUZyb21CbG9jayBmYXN0
UmVzdWx0ID0gbV9vdXQuYW5jaG9yKGZhc3RPYmplY3QpOworICAgICAgICBtX291dC5qdW1wKGNv
bnRpbnVhdGlvbik7CisgICAgICAgIAorICAgICAgICBtX291dC5hcHBlbmRUbyhzbG93UGF0aCwg
Y29udGludWF0aW9uKTsKKyAgICAgICAgTFZhbHVlIGNhbGxSZXN1bHQgPSB2bUNhbGwoCisgICAg
ICAgICAgICBtX291dC5vcGVyYXRpb24ob3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbldpdGhJbnZh
bGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQpLAorICAgICAgICAgICAgbV9jYWxsRnJhbWUs
IHNjb3BlLCB3ZWFrUG9pbnRlcihleGVjdXRhYmxlKSwgdGhpc1ZhbHVlKTsKKyAgICAgICAgVmFs
dWVGcm9tQmxvY2sgc2xvd1Jlc3VsdCA9IG1fb3V0LmFuY2hvcihjYWxsUmVzdWx0KTsKKyAgICAg
ICAgbV9vdXQuanVtcChjb250aW51YXRpb24pOworICAgICAgICAKKyAgICAgICAgbV9vdXQuYXBw
ZW5kVG8oY29udGludWF0aW9uLCBsYXN0TmV4dCk7CisgICAgICAgIHNldEpTVmFsdWUobV9vdXQu
cGhpKG1fb3V0LmludFB0ciwgZmFzdFJlc3VsdCwgc2xvd1Jlc3VsdCkpOworICAgIH0KKyNlbmRp
ZgorICAgIAogICAgIHZvaWQgY29tcGlsZUNyZWF0ZURpcmVjdEFyZ3VtZW50cygpCiAgICAgewog
ICAgICAgICAvLyBGSVhNRTogQSBtb3JlIGVmZmVjdGl2ZSB3YXkgb2YgZGVhbGluZyB3aXRoIHRo
ZSBhcmd1bWVudCBjb3VudCBhbmQgY2FsbGVlIGlzIHRvIGhhdmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCmluZGV4IDE3ZGQzYjRmNDVm
NTZmZjIwMDIzZDczYjc1ZGM3ZDcwYjYzNDk2OGYuLjIwMDA1YzA3MTUzM2IxNjgzYWZkYTJkNjJk
YzY1YzAxNjdkOTEwOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnBy
ZXRlci9JbnRlcnByZXRlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL0ludGVycHJldGVyLmNwcApAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUgIkV4Y2VwdGlv
bkhlbHBlcnMuaCIKICNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJKU0FycmF5
LmgiCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0
aW9uLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTTGV4aWNhbEVudmly
b25tZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxsSGVs
cGVycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhlbHBlcnMuaAppbmRleCBm
ZDM0NGFkYmNhYmIxNWZiZDgxNGVkNmZiZDQ3OGY3NGI2MTU3NjNjLi4wN2FjZDZkNTMyZDMyOGFm
ZGI3N2FjZjIwMTMzOTBlZjM5ZGQ5ZDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0NDYWxsSGVscGVycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0Nh
bGxIZWxwZXJzLmgKQEAgLTI3NCw2ICsyNzQsMTUgQEAgcHVibGljOgogICAgICAgICBhZGRDYWxs
QXJndW1lbnQoYXJnMik7CiAgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmczKTsKICAgICB9Cisg
ICAgCisgICAgQUxXQVlTX0lOTElORSB2b2lkIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShH
UFJSZWcgYXJnMSwgVHJ1c3RlZEltbVB0ciBhcmcyLCBHUFJSZWcgYXJnMykKKyAgICB7CisgICAg
ICAgIHJlc2V0Q2FsbEFyZ3VtZW50cygpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQoR1BSSW5m
bzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMSk7Cisg
ICAgICAgIGFkZENhbGxBcmd1bWVudChhcmcyKTsKKyAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFy
ZzMpOworICAgIH0KIAogICAgIEFMV0FZU19JTkxJTkUgdm9pZCBzZXR1cEFyZ3VtZW50c1dpdGhF
eGVjU3RhdGUoR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyLCBUcnVzdGVkSW1tMzIgYXJnMykKICAg
ICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKaW5kZXggYjQxMTNjNDVlNzJjN2UxNThlYzFm
MTkyM2NiZmUyOWM1ZWY1NDI4Mi4uOGExYmFjODdmZDEwYjk4N2Y2NGZkMGMyMTEzMjEwY2E2NzA1
ZWRiMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcApAQCAtMjYwLDYgKzI2MCw3IEBAIHZv
aWQgSklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkKICAgICAgICAgREVGSU5FX09QKG9wX25l
d19hcnJheV9idWZmZXIpCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfZnVuYykKICAgICAgICAg
REVGSU5FX09QKG9wX25ld19mdW5jX2V4cCkKKyAgICAgICAgREVGSU5FX09QKG9wX25ld19hcnJv
d19mdW5jX2V4cCkgCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfb2JqZWN0KQogICAgICAgICBE
RUZJTkVfT1Aob3BfbmV3X3JlZ2V4cCkKICAgICAgICAgREVGSU5FX09QKG9wX25vdCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVC5oCmluZGV4IGQ3MjI1ZWE0YjJhZTU0MzE4Nzg0NGMyMDc2ZWM2ZWI4ZDY1
ZDIxYzkuLmRhYTUyMDk0ODg1NzkxNjBiYmQ5YzQ3ZDA3YjRhMDQ1OWZiOGIwMTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVQuaApAQCAtNTIxLDYgKzUyMSw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
ICAgICB2b2lkIGVtaXRfb3BfbmV3X2FycmF5X2J1ZmZlcihJbnN0cnVjdGlvbiopOwogICAgICAg
ICB2b2lkIGVtaXRfb3BfbmV3X2Z1bmMoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0
X29wX25ld19mdW5jX2V4cChJbnN0cnVjdGlvbiopOworICAgICAgICB2b2lkIGVtaXRfb3BfbmV3
X2Fycm93X2Z1bmNfZXhwKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdf
b2JqZWN0KEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfcmVnZXhwKElu
c3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9ub3QoSW5zdHJ1Y3Rpb24qKTsKQEAg
LTcwMiw2ICs3MDMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6
OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSkosIGludCwgR1BSUmVnLCBHUFJS
ZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3Bl
cmF0aW9uX0VKc2MsIEdQUlJlZyk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxP
cGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0MsIGludCwgR1BSUmVnLCBKU0NlbGwqKTsKKyAg
ICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9F
SnNjQ0osIGludCwgR1BSUmVnLCBKU0NlbGwqLCBHUFJSZWcpOwogICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2NaLCBHUFJSZWcsIGlu
dDMyX3QpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklU
T3BlcmF0aW9uX0VKc2NaLCBpbnQsIEdQUlJlZywgaW50MzJfdCk7CiAjaWYgVVNFKEpTVkFMVUU2
NCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKaW5kZXggOWVlMjRkMDkyMjhh
OTg4MmVhNzY5NjI5ZDFhODdiNmMzNGE4NjMzNC4uYTBlNDBjNWM2MWZlNjNlOTg2M2VkMjIzZWRm
NWQ0NTFmMzE4YTc3NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJ
bmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKQEAg
LTI3MSw2ICsyNzEsMTIgQEAgQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6
OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0Mgb3BlcmEKICAgICByZXR1cm4gYXBw
ZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldEpTVmFsdWVSZXN1bHQob3BlcmF0aW9uLCBkc3Qp
OwogfQogCitBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJh
dGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0ogb3BlcmF0aW9uLCBpbnQgZHN0LCBHUFJSZWcgYXJn
MSwgSlNDZWxsKiBjZWxsLCBHUFJSZWcgYXJnMikKK3sKKyAgICBzZXR1cEFyZ3VtZW50c1dpdGhF
eGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSwgYXJnMik7CisgICAgcmV0dXJuIGFw
cGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRKU1ZhbHVlUmVzdWx0KG9wZXJhdGlvbiwgZHN0
KTsKK30KKyAgICAKIEFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxs
T3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VQIG9wZXJhdGlvbiwgaW50IGRzdCwgdm9pZCogcG9p
bnRlcikKIHsKICAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihw
b2ludGVyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29k
ZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAppbmRleCA1
ZDRkMGI5ZmU4NzY4YWMyZmU1OTY1NzVlZDRhYTgxMjIwZGFkNmM3Li5kY2UzNzEyNWM0ZWZiMDU0
YTgwNjE1NGUwYWQyM2FkZmY5ZWE0YjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVE9wY29kZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3Bjb2Rlcy5jcHAKQEAgLTk4Nyw2ICs5ODcsMjkgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2Z1
bmNfZXhwKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgY2FsbE9wZXJhdGlv
bihvcGVyYXRpb25OZXdGdW5jdGlvbiwgZHN0LCByZWdUMCwgZnVuY0V4cHIpOwogICAgIGRvbmUu
bGluayh0aGlzKTsKIH0KKyAgICAKK3ZvaWQgSklUOjplbWl0X29wX25ld19hcnJvd19mdW5jX2V4
cChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQoreworICAgIEp1bXAgbm90VW5kZWZp
bmVkU2NvcGU7CisgICAgaW50IGRzdCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7
CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJ
bnN0cnVjdGlvblsyXS51Lm9wZXJhbmQsIHJlZ1QwKTsKKyAgICBlbWl0R2V0VmlydHVhbFJlZ2lz
dGVyKGN1cnJlbnRJbnN0cnVjdGlvbls0XS51Lm9wZXJhbmQsIHJlZ1QxKTsKKyAgICBub3RVbmRl
ZmluZWRTY29wZSA9IGJyYW5jaDY0KE5vdEVxdWFsLCByZWdUMCwgVHJ1c3RlZEltbTY0KEpTVmFs
dWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSkpOworICAgIHN0b3JlNjQoVHJ1c3RlZEltbTY0KEpT
VmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSksIEFkZHJlc3MoY2FsbEZyYW1lUmVnaXN0ZXIs
IHNpemVvZihSZWdpc3RlcikgKiBkc3QpKTsKKyNlbHNlCisgICAgZW1pdExvYWRQYXlsb2FkKGN1
cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQsIHJlZ1QwKTsKKyAgICBlbWl0TG9hZFBheWxv
YWQoY3VycmVudEluc3RydWN0aW9uWzRdLnUub3BlcmFuZCwgcmVnVDEpOworICAgIG5vdFVuZGVm
aW5lZFNjb3BlID0gYnJhbmNoMzIoTm90RXF1YWwsIHRhZ0ZvcihjdXJyZW50SW5zdHJ1Y3Rpb25b
Ml0udS5vcGVyYW5kKSwgVHJ1c3RlZEltbTMyKEpTVmFsdWU6OlVuZGVmaW5lZFRhZykpOworICAg
IGVtaXRTdG9yZShkc3QsIGpzVW5kZWZpbmVkKCkpOworI2VuZGlmCisgICAgSnVtcCBkb25lID0g
anVtcCgpOworICAgIG5vdFVuZGVmaW5lZFNjb3BlLmxpbmsodGhpcyk7CisgICAgCisgICAgRnVu
Y3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlvbiA9IG1fY29kZUJsb2NrLT5mdW5jdGlvbkV4cHIoY3Vy
cmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZCk7CisgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRp
b25OZXdBcnJvd0Z1bmN0aW9uLCBkc3QsIHJlZ1QwLCBmdW5jdGlvbiwgcmVnVDEpOworICAgIGRv
bmUubGluayh0aGlzKTsKK30KIAogdm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2FycmF5KEluc3RydWN0
aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRPcGVyYXRpb25zLmNwcAppbmRleCA5OGQ4NzczZjM4ZDk1ZjJiOGU1OGNkYmQ3ODM2MDI5ODE1
NDAwNzEzLi45NjdjYThlYWY3NWIxMGRlODAxMGYyMTRkNGVjNjc3MjQ3ZmU0MmMxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTIwLDcgKzIwLDcg
QEAKICAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKICAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgpAQCAtNDIsNiAr
NDIsOCBAQAogI2luY2x1ZGUgIkhvc3RDYWxsUmV0dXJuVmFsdWUuaCIKICNpbmNsdWRlICJKSVQu
aCIKICNpbmNsdWRlICJKSVRUb0RGR0RlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjay5oIgorI2lu
Y2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgog
I2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0NhdGNoU2NvcGUuaCIKICNpbmNs
dWRlICJKU0Z1bmN0aW9uTmFtZVNjb3BlLmgiCkBAIC02Nyw3ICs2OSw3IEBAIHZvaWQgcHVzaE5h
bWVTY29wZShFeGVjU3RhdGUqIGV4ZWMsIGludDMyX3QgZHN0LCBTeW1ib2xUYWJsZSogc3ltYm9s
VGFibGUsIEVuY29kCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxs
RnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7Ci0gICAgCisKICAgICBBU1NFUlQoIUpJVENv
ZGU6OmlzT3B0aW1pemluZ0pJVChleGVjLT5jb2RlQmxvY2soKS0+aml0VHlwZSgpKSk7CiAKICAg
ICAvLyBGSVhNRTogVGhpcyB3b24ndCB3b3JrIGlmIHRoaXMgb3BlcmF0aW9uIGlzIGNhbGxlZCBm
cm9tIHRoZSBERkcgb3IgRlRMLgpAQCAtMTUxLDcgKzE1Myw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0
dWJJbmZvCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1l
VHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBKU1ZhbHVlIGJhc2VWYWx1ZSA9
IEpTVmFsdWU6OmRlY29kZShiYXNlKTsKICAgICBQcm9wZXJ0eVNsb3Qgc2xvdChiYXNlVmFsdWUp
OwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCB1aWQpOwpA
QCAtMTY5LDcgKzE3MSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
R2V0QnlJZEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyCiAgICAgSlNWYWx1ZSBi
YXNlVmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoYmFzZSk7CiAgICAgUHJvcGVydHlTbG90IHNsb3Qo
YmFzZVZhbHVlKTsKICAgICBib29sIGhhc1Jlc3VsdCA9IGJhc2VWYWx1ZS5nZXRQcm9wZXJ0eVNs
b3QoZXhlYywgaWRlbnQsIHNsb3QpOwotICAgIAorCiAgICAgaWYgKGFjY2Vzc1R5cGUgPT0gc3Rh
dGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpKQogICAgICAgICBidWls
ZEdldEJ5SURMaXN0KGV4ZWMsIGJhc2VWYWx1ZSwgaWRlbnQsIHNsb3QsICpzdHViSW5mbyk7CiAK
QEAgLTE4NCwxMyArMTg2LDEzIEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uR2V0QnlJZE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlCiAKICAgICBKU1Zh
bHVlIGJhc2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShiYXNlKTsKICAgICBQcm9wZXJ0eVNsb3Qg
c2xvdChiYXNlVmFsdWUpOwotICAgIAorCiAgICAgYm9vbCBoYXNSZXN1bHQgPSBiYXNlVmFsdWUu
Z2V0UHJvcGVydHlTbG90KGV4ZWMsIGlkZW50LCBzbG90KTsKICAgICBpZiAoc3R1YkluZm8tPnNl
ZW4pCiAgICAgICAgIHJlcGF0Y2hHZXRCeUlEKGV4ZWMsIGJhc2VWYWx1ZSwgaWRlbnQsIHNsb3Qs
ICpzdHViSW5mbyk7CiAgICAgZWxzZQogICAgICAgICBzdHViSW5mby0+c2VlbiA9IHRydWU7Ci0g
ICAgCisKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGhhc1Jlc3VsdD8gc2xvdC5nZXRWYWx1
ZShleGVjLCBpZGVudCkgOiBqc1VuZGVmaW5lZCgpKTsKIAogfQpAQCAtMTk5LDI1ICsyMDEsMjUg
QEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25Jbk9wdGltaXplKEV4ZWNT
dGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkkKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsK
ICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAg
IGlmICghYmFzZS0+aXNPYmplY3QoKSkgewogICAgICAgICB2bS0+dGhyb3dFeGNlcHRpb24oZXhl
YywgY3JlYXRlSW52YWxpZEluUGFyYW1ldGVyRXJyb3IoZXhlYywgYmFzZSkpOwogICAgICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogICAgIH0KLSAgICAKKwogICAg
IEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSA9IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZv
LT5hY2Nlc3NUeXBlKTsKIAogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVyOjpmcm9t
VWlkKHZtLCBrZXkpOwogICAgIFByb3BlcnR5U2xvdCBzbG90KGJhc2UpOwogICAgIGJvb2wgcmVz
dWx0ID0gYXNPYmplY3QoYmFzZSktPmdldFByb3BlcnR5U2xvdChleGVjLCBpZGVudCwgc2xvdCk7
Ci0gICAgCisKICAgICBSRUxFQVNFX0FTU0VSVChhY2Nlc3NUeXBlID09IHN0dWJJbmZvLT5hY2Nl
c3NUeXBlKTsKLSAgICAKKwogICAgIGlmIChzdHViSW5mby0+c2VlbikKICAgICAgICAgcmVwYXRj
aEluKGV4ZWMsIGJhc2UsIGlkZW50LCByZXN1bHQsIHNsb3QsICpzdHViSW5mbyk7CiAgICAgZWxz
ZQogICAgICAgICBzdHViSW5mby0+c2VlbiA9IHRydWU7Ci0gICAgCisKICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihyZXN1bHQpKTsKIH0KIApAQCAtMjQ3LDcgKzI0OSw3IEBA
IHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0KEV4ZWNTdGF0ZSogZXhl
YywgU3RydWN0dXJlU3R1YkluZm8qLCBFCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAg
ICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJ
ZGVudGlmaWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBQdXRQ
cm9wZXJ0eVNsb3Qgc2xvdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpLCB0cnVlLCBleGVj
LT5jb2RlQmxvY2soKS0+cHV0QnlJZENvbnRleHQoKSk7CiAgICAgSlNWYWx1ZTo6ZGVjb2RlKGVu
Y29kZWRCYXNlKS5wdXQoZXhlYywgaWRlbnQsIEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUp
LCBzbG90KTsKQEAgLTI1Nyw3ICsyNTksNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
UHV0QnlJZE5vblN0cmljdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKgogewog
ICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFj
ZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAgSWRlbnRpZmllciBpZGVudCA9IElkZW50aWZpZXI6
OmZyb21VaWQodm0sIHVpZCk7CiAgICAgUHV0UHJvcGVydHlTbG90IHNsb3QoSlNWYWx1ZTo6ZGVj
b2RlKGVuY29kZWRCYXNlKSwgZmFsc2UsIGV4ZWMtPmNvZGVCbG9jaygpLT5wdXRCeUlkQ29udGV4
dCgpKTsKICAgICBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpLnB1dChleGVjLCBpZGVudCwg
SlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSksIHNsb3QpOwpAQCAtMjY3LDcgKzI2OSw3IEBA
IHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0KEV4ZWNTdGF0
ZSogZXhlYywgU3RydWN0dXJlU3R1YkluCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAg
ICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJ
ZGVudGlmaWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBQdXRQ
cm9wZXJ0eVNsb3Qgc2xvdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpLCB0cnVlLCBleGVj
LT5jb2RlQmxvY2soKS0+cHV0QnlJZENvbnRleHQoKSk7CiAgICAgYXNPYmplY3QoSlNWYWx1ZTo6
ZGVjb2RlKGVuY29kZWRCYXNlKSktPnB1dERpcmVjdChleGVjLT52bSgpLCBpZGVudCwgSlNWYWx1
ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSksIHNsb3QpOwpAQCAtMjc3LDcgKzI3OSw3IEBAIHZvaWQg
SklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0KEV4ZWNTdGF0ZSog
ZXhlYywgU3RydWN0dXJlU3R1CiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0
aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJZGVudGlm
aWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBQdXRQcm9wZXJ0
eVNsb3Qgc2xvdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpLCBmYWxzZSwgZXhlYy0+Y29k
ZUJsb2NrKCktPnB1dEJ5SWRDb250ZXh0KCkpOwogICAgIGFzT2JqZWN0KEpTVmFsdWU6OmRlY29k
ZShlbmNvZGVkQmFzZSkpLT5wdXREaXJlY3QoZXhlYy0+dm0oKSwgaWRlbnQsIEpTVmFsdWU6OmRl
Y29kZShlbmNvZGVkVmFsdWUpLCBzbG90KTsKQEAgLTI4Nyw3ICsyODksNyBAQCB2b2lkIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZFN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywg
U3RydWN0dXJlU3R1YgogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNh
bGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAgSWRlbnRpZmllciBp
ZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIHVpZCk7CiAgICAgQWNjZXNzVHlwZSBhY2Nl
c3NUeXBlID0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpOwog
CkBAIC0yOTcsMTAgKzI5OSwxMCBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJ
ZFN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YgogCiAgICAgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlVmFsdWUuaXNDZWxsKCkgPyBiYXNlVmFsdWUuYXNDZWxs
KCktPnN0cnVjdHVyZSgqdm0pIDogbnVsbHB0cjsKICAgICBiYXNlVmFsdWUucHV0KGV4ZWMsIGlk
ZW50LCB2YWx1ZSwgc2xvdCk7Ci0gICAgCisKICAgICBpZiAoYWNjZXNzVHlwZSAhPSBzdGF0aWNf
Y2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSkpCiAgICAgICAgIHJldHVybjsK
LSAgICAKKwogICAgIGlmIChzdHViSW5mby0+c2VlbikKICAgICAgICAgcmVwYXRjaFB1dEJ5SUQo
ZXhlYywgYmFzZVZhbHVlLCBzdHJ1Y3R1cmUsIGlkZW50LCBzbG90LCAqc3R1YkluZm8sIE5vdERp
cmVjdCk7CiAgICAgZWxzZQpAQCAtMzExLDcgKzMxMyw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1
cmVTCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJh
Y2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRl
bnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUgPSBz
dGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSk7CiAKQEAgLTMxOSwx
MiArMzIxLDEyIEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0
T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTCiAgICAgSlNWYWx1ZSBiYXNlVmFs
dWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpOwogICAgIFB1dFByb3BlcnR5U2xvdCBz
bG90KGJhc2VWYWx1ZSwgZmFsc2UsIGV4ZWMtPmNvZGVCbG9jaygpLT5wdXRCeUlkQ29udGV4dCgp
KTsKIAotICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZVZhbHVlLmlzQ2VsbCgpID8gYmFz
ZVZhbHVlLmFzQ2VsbCgpLT5zdHJ1Y3R1cmUoKnZtKSA6IG51bGxwdHI7ICAgIAorICAgIFN0cnVj
dHVyZSogc3RydWN0dXJlID0gYmFzZVZhbHVlLmlzQ2VsbCgpID8gYmFzZVZhbHVlLmFzQ2VsbCgp
LT5zdHJ1Y3R1cmUoKnZtKSA6IG51bGxwdHI7CiAgICAgYmFzZVZhbHVlLnB1dChleGVjLCBpZGVu
dCwgdmFsdWUsIHNsb3QpOwotICAgIAorCiAgICAgaWYgKGFjY2Vzc1R5cGUgIT0gc3RhdGljX2Nh
c3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpKQogICAgICAgICByZXR1cm47Ci0g
ICAgCisKICAgICBpZiAoc3R1YkluZm8tPnNlZW4pCiAgICAgICAgIHJlcGF0Y2hQdXRCeUlEKGV4
ZWMsIGJhc2VWYWx1ZSwgc3RydWN0dXJlLCBpZGVudCwgc2xvdCwgKnN0dWJJbmZvLCBOb3REaXJl
Y3QpOwogICAgIGVsc2UKQEAgLTMzNSwyMCArMzM3LDIwIEBAIHZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1
Y3R1CiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJh
Y2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRl
bnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUgPSBz
dGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSk7CiAKICAgICBKU1Zh
bHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CiAgICAgSlNPYmplY3Qq
IGJhc2VPYmplY3QgPSBhc09iamVjdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpKTsKICAg
ICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChiYXNlT2JqZWN0LCB0cnVlLCBleGVjLT5jb2RlQmxvY2so
KS0+cHV0QnlJZENvbnRleHQoKSk7Ci0gICAgCisKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9
IGJhc2VPYmplY3QtPnN0cnVjdHVyZSgqdm0pOwogICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdChl
eGVjLT52bSgpLCBpZGVudCwgdmFsdWUsIHNsb3QpOwotICAgIAorCiAgICAgaWYgKGFjY2Vzc1R5
cGUgIT0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpKQogICAg
ICAgICByZXR1cm47Ci0gICAgCisKICAgICBpZiAoc3R1YkluZm8tPnNlZW4pCiAgICAgICAgIHJl
cGF0Y2hQdXRCeUlEKGV4ZWMsIGJhc2VPYmplY3QsIHN0cnVjdHVyZSwgaWRlbnQsIHNsb3QsICpz
dHViSW5mbywgRGlyZWN0KTsKICAgICBlbHNlCkBAIC0zNTksMjAgKzM2MSwyMCBAQCB2b2lkIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmljdE9wdGltaXplKEV4ZWNT
dGF0ZSogZXhlYywgU3RydQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2
ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAgSWRlbnRpZmll
ciBpZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIHVpZCk7CiAgICAgQWNjZXNzVHlwZSBh
Y2Nlc3NUeXBlID0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUp
OwogCiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOwog
ICAgIEpTT2JqZWN0KiBiYXNlT2JqZWN0ID0gYXNPYmplY3QoSlNWYWx1ZTo6ZGVjb2RlKGVuY29k
ZWRCYXNlKSk7CiAgICAgUHV0UHJvcGVydHlTbG90IHNsb3QoYmFzZU9iamVjdCwgZmFsc2UsIGV4
ZWMtPmNvZGVCbG9jaygpLT5wdXRCeUlkQ29udGV4dCgpKTsKLSAgICAKKwogICAgIFN0cnVjdHVy
ZSogc3RydWN0dXJlID0gYmFzZU9iamVjdC0+c3RydWN0dXJlKCp2bSk7CiAgICAgYmFzZU9iamVj
dC0+cHV0RGlyZWN0KGV4ZWMtPnZtKCksIGlkZW50LCB2YWx1ZSwgc2xvdCk7Ci0gICAgCisKICAg
ICBpZiAoYWNjZXNzVHlwZSAhPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNj
ZXNzVHlwZSkpCiAgICAgICAgIHJldHVybjsKLSAgICAKKwogICAgIGlmIChzdHViSW5mby0+c2Vl
bikKICAgICAgICAgcmVwYXRjaFB1dEJ5SUQoZXhlYywgYmFzZU9iamVjdCwgc3RydWN0dXJlLCBp
ZGVudCwgc2xvdCwgKnN0dWJJbmZvLCBEaXJlY3QpOwogICAgIGVsc2UKQEAgLTM4MywxNSArMzg1
LDE1IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0QnVpbGRMaXN0
KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1CiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZt
KCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisK
ICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAg
ICBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUgPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5m
by0+YWNjZXNzVHlwZSk7CiAKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVu
Y29kZWRWYWx1ZSk7CiAgICAgSlNWYWx1ZSBiYXNlVmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5j
b2RlZEJhc2UpOwogICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KGJhc2VWYWx1ZSwgdHJ1ZSwgZXhl
Yy0+Y29kZUJsb2NrKCktPnB1dEJ5SWRDb250ZXh0KCkpOwotICAgIAotICAgIFN0cnVjdHVyZSog
c3RydWN0dXJlID0gYmFzZVZhbHVlLmlzQ2VsbCgpID8gYmFzZVZhbHVlLmFzQ2VsbCgpLT5zdHJ1
Y3R1cmUoKnZtKSA6IG51bGxwdHI7IAorCisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNl
VmFsdWUuaXNDZWxsKCkgPyBiYXNlVmFsdWUuYXNDZWxsKCktPnN0cnVjdHVyZSgqdm0pIDogbnVs
bHB0cjsKICAgICBiYXNlVmFsdWUucHV0KGV4ZWMsIGlkZW50LCB2YWx1ZSwgc2xvdCk7CiAKICAg
ICBpZiAoYWNjZXNzVHlwZSAhPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNj
ZXNzVHlwZSkpCkBAIC00MDQsNyArNDA2LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
blB1dEJ5SWROb25TdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUKIHsK
ICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJh
Y2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVy
Ojpmcm9tVWlkKHZtLCB1aWQpOwogICAgIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSA9IHN0YXRpY19j
YXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKTsKIApAQCAtNDE0LDEwICs0MTYs
MTAgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3RCdWlsZExp
c3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUKIAogICAgIFN0cnVjdHVyZSogc3RydWN0dXJl
ID0gYmFzZVZhbHVlLmlzQ2VsbCgpID8gYmFzZVZhbHVlLmFzQ2VsbCgpLT5zdHJ1Y3R1cmUoKnZt
KSA6IG51bGxwdHI7CiAgICAgYmFzZVZhbHVlLnB1dChleGVjLCBpZGVudCwgdmFsdWUsIHNsb3Qp
OwotICAgIAorCiAgICAgaWYgKGFjY2Vzc1R5cGUgIT0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4o
c3R1YkluZm8tPmFjY2Vzc1R5cGUpKQogICAgICAgICByZXR1cm47Ci0gICAgCisKICAgICBidWls
ZFB1dEJ5SWRMaXN0KGV4ZWMsIGJhc2VWYWx1ZSwgc3RydWN0dXJlLCBpZGVudCwgc2xvdCwgKnN0
dWJJbmZvLCBOb3REaXJlY3QpOwogfQogCkBAIC00MjUsMjAgKzQyNywyMCBAQCB2b2lkIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUq
IGV4ZWMsIFN0cnVjdAogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNh
bGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAgSWRlbnRpZmllciBp
ZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIHVpZCk7CiAgICAgQWNjZXNzVHlwZSBhY2Nl
c3NUeXBlID0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpOwot
ICAgIAorCiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUp
OwogICAgIEpTT2JqZWN0KiBiYXNlT2JqZWN0ID0gYXNPYmplY3QoSlNWYWx1ZTo6ZGVjb2RlKGVu
Y29kZWRCYXNlKSk7CiAgICAgUHV0UHJvcGVydHlTbG90IHNsb3QoYmFzZU9iamVjdCwgdHJ1ZSwg
ZXhlYy0+Y29kZUJsb2NrKCktPnB1dEJ5SWRDb250ZXh0KCkpOwogCi0gICAgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUgPSBiYXNlT2JqZWN0LT5zdHJ1Y3R1cmUoKnZtKTsgICAgCisgICAgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUgPSBiYXNlT2JqZWN0LT5zdHJ1Y3R1cmUoKnZtKTsKICAgICBiYXNlT2JqZWN0
LT5wdXREaXJlY3QoKnZtLCBpZGVudCwgdmFsdWUsIHNsb3QpOwotICAgIAorCiAgICAgaWYgKGFj
Y2Vzc1R5cGUgIT0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUp
KQogICAgICAgICByZXR1cm47Ci0gICAgCisKICAgICBidWlsZFB1dEJ5SWRMaXN0KGV4ZWMsIGJh
c2VPYmplY3QsIHN0cnVjdHVyZSwgaWRlbnQsIHNsb3QsICpzdHViSW5mbywgRGlyZWN0KTsKIH0K
IApAQCAtNDQ2LDcgKzQ0OCw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlk
RGlyZWN0Tm9uU3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RyCiB7CiAgICAgVk0q
IHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwg
ZXhlYyk7Ci0gICAgCisKICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVp
ZCh2bSwgdWlkKTsKICAgICBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUgPSBzdGF0aWNfY2FzdDxBY2Nl
c3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSk7CiAKQEAgLTQ1NCwxMiArNDU2LDEyIEBAIHZv
aWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0QnVpbGRMaXN0
KEV4ZWNTdGF0ZSogZXhlYywgU3RyCiAgICAgSlNPYmplY3QqIGJhc2VPYmplY3QgPSBhc09iamVj
dChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpKTsKICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xv
dChiYXNlT2JqZWN0LCBmYWxzZSwgZXhlYy0+Y29kZUJsb2NrKCktPnB1dEJ5SWRDb250ZXh0KCkp
OwogCi0gICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlT2JqZWN0LT5zdHJ1Y3R1cmUoKnZt
KTsgICAgCisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlT2JqZWN0LT5zdHJ1Y3R1cmUo
KnZtKTsKICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3QoKnZtLCBpZGVudCwgdmFsdWUsIHNsb3Qp
OwogCiAgICAgaWYgKGFjY2Vzc1R5cGUgIT0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1Yklu
Zm8tPmFjY2Vzc1R5cGUpKQogICAgICAgICByZXR1cm47Ci0gICAgCisKICAgICBidWlsZFB1dEJ5
SWRMaXN0KGV4ZWMsIGJhc2VPYmplY3QsIHN0cnVjdHVyZSwgaWRlbnQsIHNsb3QsICpzdHViSW5m
bywgRGlyZWN0KTsKIH0KIApAQCAtNTc2LDcgKzU3OCw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25EaXJlY3RQdXRCeVZhbChFeGVjU3RhdGUqIGNhbGxGcmFtZSwgRW5jb2RlZEpTVmFs
dWUKIHsKICAgICBWTSYgdm0gPSBjYWxsRnJhbWUtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1l
VHJhY2VyIHRyYWNlcigmdm0sIGNhbGxGcmFtZSk7Ci0gICAgCisKICAgICBKU1ZhbHVlIGJhc2VW
YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZVZhbHVlKTsKICAgICBKU1ZhbHVlIHN1
YnNjcmlwdCA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkU3Vic2NyaXB0KTsKICAgICBKU1ZhbHVl
IHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CkBAIC01ODUsMTIgKzU4Nywx
MiBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uRGlyZWN0UHV0QnlWYWwoRXhlY1N0YXRl
KiBjYWxsRnJhbWUsIEVuY29kZWRKU1ZhbHVlCiAgICAgaWYgKHN1YnNjcmlwdC5pc0ludDMyKCkp
IHsKICAgICAgICAgLy8gU2VlIGlmIGl0J3Mgd29ydGggb3B0aW1pemluZyBhdCBhbGwuCiAgICAg
ICAgIGJvb2wgZGlkT3B0aW1pemUgPSBmYWxzZTsKLSAgICAgICAgCisKICAgICAgICAgdW5zaWdu
ZWQgYnl0ZWNvZGVPZmZzZXQgPSBjYWxsRnJhbWUtPmxvY2F0aW9uQXNCeXRlY29kZU9mZnNldCgp
OwogICAgICAgICBBU1NFUlQoYnl0ZWNvZGVPZmZzZXQpOwogICAgICAgICBCeVZhbEluZm8mIGJ5
VmFsSW5mbyA9IGNhbGxGcmFtZS0+Y29kZUJsb2NrKCktPmdldEJ5VmFsSW5mbyhieXRlY29kZU9m
ZnNldCAtIDEpOwogICAgICAgICBBU1NFUlQoIWJ5VmFsSW5mby5zdHViUm91dGluZSk7Ci0gICAg
ICAgIAorCiAgICAgICAgIGlmIChoYXNPcHRpbWl6YWJsZUluZGV4aW5nKG9iamVjdC0+c3RydWN0
dXJlKHZtKSkpIHsKICAgICAgICAgICAgIC8vIEF0dGVtcHQgdG8gb3B0aW1pemUuCiAgICAgICAg
ICAgICBKSVRBcnJheU1vZGUgYXJyYXlNb2RlID0gaml0QXJyYXlNb2RlRm9yU3RydWN0dXJlKG9i
amVjdC0+c3RydWN0dXJlKHZtKSk7CkBAIC01OTksNyArNjAxLDcgQEAgdm9pZCBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkRpcmVjdFB1dEJ5VmFsKEV4ZWNTdGF0ZSogY2FsbEZyYW1lLCBFbmNvZGVk
SlNWYWx1ZQogICAgICAgICAgICAgICAgIGRpZE9wdGltaXplID0gdHJ1ZTsKICAgICAgICAgICAg
IH0KICAgICAgICAgfQotICAgICAgICAKKwogICAgICAgICBpZiAoIWRpZE9wdGltaXplKSB7CiAg
ICAgICAgICAgICAvLyBJZiB3ZSB0YWtlIHNsb3cgcGF0aCBtb3JlIHRoYW4gMTAgdGltZXMgd2l0
aG91dCBwYXRjaGluZyB0aGVuIG1ha2Ugc3VyZSB3ZQogICAgICAgICAgICAgLy8gbmV2ZXIgbWFr
ZSB0aGF0IG1pc3Rha2UgYWdhaW4uIE9yLCBpZiB3ZSBmYWlsZWQgdG8gcGF0Y2ggYW5kIHdlIGhh
dmUgc29tZSBvYmplY3QKQEAgLTYyMCw3ICs2MjIsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uUHV0QnlWYWxHZW5lcmljKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5j
bwogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2Vy
IHRyYWNlcigmdm0sIGV4ZWMpOwotICAgIAorCiAgICAgSlNWYWx1ZSBiYXNlVmFsdWUgPSBKU1Zh
bHVlOjpkZWNvZGUoZW5jb2RlZEJhc2VWYWx1ZSk7CiAgICAgSlNWYWx1ZSBzdWJzY3JpcHQgPSBK
U1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFN1YnNjcmlwdCk7CiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpT
VmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOwpAQCAtNjMzLDcgKzYzNSw3IEBAIHZvaWQgSklU
X09QRVJBVElPTiBvcGVyYXRpb25EaXJlY3RQdXRCeVZhbEdlbmVyaWMoRXhlY1N0YXRlKiBleGVj
LCBFbmNvZGVkSlNWYWx1CiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBOYXRpdmVD
YWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7Ci0gICAgCisKICAgICBKU1ZhbHVlIGJh
c2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZVZhbHVlKTsKICAgICBKU1ZhbHVl
IHN1YnNjcmlwdCA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkU3Vic2NyaXB0KTsKICAgICBKU1Zh
bHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CkBAIC02NTcsNyArNjU5
LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25DYWxsRXZhbChFeGVj
U3RhdGUqIGV4ZWMsIEV4ZWNTdGF0ZSogZXhlY0MKICAgICBKU1ZhbHVlIHJlc3VsdCA9IGV2YWwo
ZXhlY0NhbGxlZSk7CiAgICAgaWYgKHZtLT5leGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIEVu
Y29kZWRKU1ZhbHVlKCk7Ci0gICAgCisKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3Vs
dCk7CiB9CiAKQEAgLTY3MSw5ICs2NzMsOSBAQCBzdGF0aWMgdm9pZCogaGFuZGxlSG9zdENhbGwo
RXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBKU1ZhbHVlIGNhbGxlZSwgQ29kZVNwZWNpYWxpegogICAg
IGlmIChraW5kID09IENvZGVGb3JDYWxsKSB7CiAgICAgICAgIENhbGxEYXRhIGNhbGxEYXRhOwog
ICAgICAgICBDYWxsVHlwZSBjYWxsVHlwZSA9IGdldENhbGxEYXRhKGNhbGxlZSwgY2FsbERhdGEp
OwotICAgIAorCiAgICAgICAgIEFTU0VSVChjYWxsVHlwZSAhPSBDYWxsVHlwZUpTKTsKLSAgICAK
KwogICAgICAgICBpZiAoY2FsbFR5cGUgPT0gQ2FsbFR5cGVIb3N0KSB7CiAgICAgICAgICAgICBO
YXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjQ2FsbGVlKTsKICAgICAgICAgICAg
IGV4ZWNDYWxsZWUtPnNldENhbGxlZShhc09iamVjdChjYWxsZWUpKTsKQEAgLTY4MywxOSArNjg1
LDE5IEBAIHN0YXRpYyB2b2lkKiBoYW5kbGVIb3N0Q2FsbChFeGVjU3RhdGUqIGV4ZWNDYWxsZWUs
IEpTVmFsdWUgY2FsbGVlLCBDb2RlU3BlY2lhbGl6CiAKICAgICAgICAgICAgIHJldHVybiByZWlu
dGVycHJldF9jYXN0PHZvaWQqPihnZXRIb3N0Q2FsbFJldHVyblZhbHVlKTsKICAgICAgICAgfQot
ICAgIAorCiAgICAgICAgIEFTU0VSVChjYWxsVHlwZSA9PSBDYWxsVHlwZU5vbmUpOwogICAgICAg
ICBleGVjLT52bSgpLnRocm93RXhjZXB0aW9uKGV4ZWMsIGNyZWF0ZU5vdEFGdW5jdGlvbkVycm9y
KGV4ZWMsIGNhbGxlZSkpOwogICAgICAgICByZXR1cm4gdm0tPmdldENUSVN0dWIodGhyb3dFeGNl
cHRpb25Gcm9tQ2FsbFNsb3dQYXRoR2VuZXJhdG9yKS5jb2RlKCkuZXhlY3V0YWJsZUFkZHJlc3Mo
KTsKICAgICB9CiAKICAgICBBU1NFUlQoa2luZCA9PSBDb2RlRm9yQ29uc3RydWN0KTsKLSAgICAK
KwogICAgIENvbnN0cnVjdERhdGEgY29uc3RydWN0RGF0YTsKICAgICBDb25zdHJ1Y3RUeXBlIGNv
bnN0cnVjdFR5cGUgPSBnZXRDb25zdHJ1Y3REYXRhKGNhbGxlZSwgY29uc3RydWN0RGF0YSk7Ci0g
ICAgCisKICAgICBBU1NFUlQoY29uc3RydWN0VHlwZSAhPSBDb25zdHJ1Y3RUeXBlSlMpOwotICAg
IAorCiAgICAgaWYgKGNvbnN0cnVjdFR5cGUgPT0gQ29uc3RydWN0VHlwZUhvc3QpIHsKICAgICAg
ICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlY0NhbGxlZSk7CiAgICAgICAg
IGV4ZWNDYWxsZWUtPnNldENhbGxlZShhc09iamVjdChjYWxsZWUpKTsKQEAgLTcwNSw3ICs3MDcs
NyBAQCBzdGF0aWMgdm9pZCogaGFuZGxlSG9zdENhbGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBK
U1ZhbHVlIGNhbGxlZSwgQ29kZVNwZWNpYWxpegogCiAgICAgICAgIHJldHVybiByZWludGVycHJl
dF9jYXN0PHZvaWQqPihnZXRIb3N0Q2FsbFJldHVyblZhbHVlKTsKICAgICB9Ci0gICAgCisKICAg
ICBBU1NFUlQoY29uc3RydWN0VHlwZSA9PSBDb25zdHJ1Y3RUeXBlTm9uZSk7CiAgICAgZXhlYy0+
dm0oKS50aHJvd0V4Y2VwdGlvbihleGVjLCBjcmVhdGVOb3RBQ29uc3RydWN0b3JFcnJvcihleGVj
LCBjYWxsZWUpKTsKICAgICByZXR1cm4gdm0tPmdldENUSVN0dWIodGhyb3dFeGNlcHRpb25Gcm9t
Q2FsbFNsb3dQYXRoR2VuZXJhdG9yKS5jb2RlKCkuZXhlY3V0YWJsZUFkZHJlc3MoKTsKQEAgLTcx
OCw3ICs3MjAsNyBAQCBpbmxpbmUgY2hhciogbGlua0ZvcigKICAgICBFeGVjU3RhdGUqIGV4ZWMg
PSBleGVjQ2FsbGVlLT5jYWxsZXJGcmFtZSgpOwogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwog
ICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAg
SlNWYWx1ZSBjYWxsZWVBc1ZhbHVlID0gZXhlY0NhbGxlZS0+Y2FsbGVlQXNWYWx1ZSgpOwogICAg
IEpTQ2VsbCogY2FsbGVlQXNGdW5jdGlvbkNlbGwgPSBnZXRKU0Z1bmN0aW9uKGNhbGxlZUFzVmFs
dWUpOwogICAgIGlmICghY2FsbGVlQXNGdW5jdGlvbkNlbGwpIHsKQEAgLTc2MSw3ICs3NjMsNyBA
QCBpbmxpbmUgY2hhciogbGlua0ZvcigKICAgICAgICAgY2FsbExpbmtJbmZvLT5zZXRTZWVuKCk7
CiAgICAgZWxzZQogICAgICAgICBsaW5rRm9yKGV4ZWNDYWxsZWUsICpjYWxsTGlua0luZm8sIGNv
ZGVCbG9jaywgY2FsbGVlLCBjb2RlUHRyLCBraW5kLCByZWdpc3RlcnMpOwotICAgIAorCiAgICAg
cmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KGNvZGVQdHIuZXhlY3V0YWJsZUFkZHJlc3Mo
KSk7CiB9CiAKQEAgLTc5Nyw3ICs3OTksNyBAQCBpbmxpbmUgY2hhciogdmlydHVhbEZvcldpdGhG
dW5jdGlvbigKICAgICBjYWxsZWVBc0Z1bmN0aW9uQ2VsbCA9IGdldEpTRnVuY3Rpb24oY2FsbGVl
QXNWYWx1ZSk7CiAgICAgaWYgKFVOTElLRUxZKCFjYWxsZWVBc0Z1bmN0aW9uQ2VsbCkpCiAgICAg
ICAgIHJldHVybiByZWludGVycHJldF9jYXN0PGNoYXIqPihoYW5kbGVIb3N0Q2FsbChleGVjQ2Fs
bGVlLCBjYWxsZWVBc1ZhbHVlLCBraW5kKSk7Ci0gICAgCisKICAgICBKU0Z1bmN0aW9uKiBmdW5j
dGlvbiA9IGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY2FsbGVlQXNGdW5jdGlvbkNlbGwpOwogICAgIEpT
U2NvcGUqIHNjb3BlID0gZnVuY3Rpb24tPnNjb3BlVW5jaGVja2VkKCk7CiAgICAgRXhlY3V0YWJs
ZUJhc2UqIGV4ZWN1dGFibGUgPSBmdW5jdGlvbi0+ZXhlY3V0YWJsZSgpOwpAQCAtODMyLDEyICs4
MzQsMTIgQEAgY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25MaW5rUG9seW1vcnBoaWNDYWxs
KEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSwgQ2FsbExpbmsKICAgICBjaGFyKiByZXN1bHQgPSB2aXJ0
dWFsRm9yV2l0aEZ1bmN0aW9uKGV4ZWNDYWxsZWUsIENvZGVGb3JDYWxsLCBSZWdpc3RlclByZXNl
cnZhdGlvbk5vdFJlcXVpcmVkLCBjYWxsZWVBc0Z1bmN0aW9uQ2VsbCk7CiAKICAgICBsaW5rUG9s
eW1vcnBoaWNDYWxsKGV4ZWNDYWxsZWUsICpjYWxsTGlua0luZm8sIENhbGxWYXJpYW50KGNhbGxl
ZUFzRnVuY3Rpb25DZWxsKSwgUmVnaXN0ZXJQcmVzZXJ2YXRpb25Ob3RSZXF1aXJlZCk7Ci0gICAg
CisKICAgICByZXR1cm4gcmVzdWx0OwogfQogCiBjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
blZpcnR1YWxDYWxsKEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSwgQ2FsbExpbmtJbmZvKikKLXsgICAg
Cit7CiAgICAgcmV0dXJuIHZpcnR1YWxGb3IoZXhlY0NhbGxlZSwgQ29kZUZvckNhbGwsIFJlZ2lz
dGVyUHJlc2VydmF0aW9uTm90UmVxdWlyZWQpOwogfQogCkBAIC04NTIsMTIgKzg1NCwxMiBAQCBj
aGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkxpbmtQb2x5bW9ycGhpY0NhbGxUaGF0UHJlc2Vy
dmVzUmVncyhFeGVjU3RhdGUqIGV4ZQogICAgIGNoYXIqIHJlc3VsdCA9IHZpcnR1YWxGb3JXaXRo
RnVuY3Rpb24oZXhlY0NhbGxlZSwgQ29kZUZvckNhbGwsIE11c3RQcmVzZXJ2ZVJlZ2lzdGVycywg
Y2FsbGVlQXNGdW5jdGlvbkNlbGwpOwogCiAgICAgbGlua1BvbHltb3JwaGljQ2FsbChleGVjQ2Fs
bGVlLCAqY2FsbExpbmtJbmZvLCBDYWxsVmFyaWFudChjYWxsZWVBc0Z1bmN0aW9uQ2VsbCksIE11
c3RQcmVzZXJ2ZVJlZ2lzdGVycyk7Ci0gICAgCisKICAgICByZXR1cm4gcmVzdWx0OwogfQogCiBj
aGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblZpcnR1YWxDYWxsVGhhdFByZXNlcnZlc1JlZ3Mo
RXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBDYWxsTGlua0luZm8qKQoteyAgICAKK3sKICAgICByZXR1
cm4gdmlydHVhbEZvcihleGVjQ2FsbGVlLCBDb2RlRm9yQ2FsbCwgTXVzdFByZXNlcnZlUmVnaXN0
ZXJzKTsKIH0KIApAQCAtODcwLDcgKzg3Miw3IEBAIHNpemVfdCBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbkNvbXBhcmVMZXNzKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlCiB7
CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRy
YWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICByZXR1cm4ganNMZXNzPHRydWU+KGV4ZWMsIEpT
VmFsdWU6OmRlY29kZShlbmNvZGVkT3AxKSwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRPcDIpKTsK
IH0KIApAQCAtOTAyLDcgKzkwNCw3IEBAIHNpemVfdCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNv
bnZlcnRKU1ZhbHVlVG9Cb29sZWFuKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTCiB7CiAgICAg
Vk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2
bSwgZXhlYyk7Ci0gICAgCisKICAgICByZXR1cm4gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRPcCku
dG9Cb29sZWFuKGV4ZWMpOwogfQogCkBAIC05MzYsNyArOTM4LDcgQEAgc2l6ZV90IEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uSGFzUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogYmFz
ZSwgSlNTdHIKICAgICBpbnQgcmVzdWx0ID0gYmFzZS0+aGFzUHJvcGVydHkoZXhlYywgcHJvcGVy
dHktPnRvSWRlbnRpZmllcihleGVjKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLSAgICAKKwog
CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5V2l0aFByb2Zp
bGUoRXhlY1N0YXRlKiBleGVjLCBBcnJheUFsbG9jYXRpb25Qcm9maWxlKiBwcm9maWxlLCBjb25z
dCBKU1ZhbHVlKiB2YWx1ZXMsIGludCBzaXplKQogewpAQCAtOTc2LDExICs5NzgsNDQgQEAgRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdGdW5jdGlvbldpdGhJbnZhbGlk
YXRlZFJlYWxsb2NhdGlvbldhdGMKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTRnVuY3Rp
b246OmNyZWF0ZVdpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQodm0sIHN0YXRp
Y19jYXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KGZ1bmN0aW9uRXhlY3V0YWJsZSksIHNjb3BlKSk7
CiB9CiAKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyb3dGdW5j
dGlvbldpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQoRXhlY1N0YXRlKiBleGVj
LCBKU1Njb3BlKiBzY29wZSwgSlNDZWxsKiBmdW5jdGlvbkV4ZWN1dGFibGUsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSkKK3sKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgICAgICBBU1NFUlQoZnVuY3Rpb25FeGVjdXRhYmxlLT5pbmhlcml0cyhGdW5jdGlvbkV4ZWN1
dGFibGU6OmluZm8oKSkpOworICAgICAgICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgICAgICBO
YXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CisgICAgICAgIAorICAgICAg
ICBKU0Z1bmN0aW9uKiBmdW5jID0gIEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgc3RhdGljX2Nhc3Q8
RnVuY3Rpb25FeGVjdXRhYmxlKj4oZnVuY3Rpb25FeGVjdXRhYmxlKSwgc2NvcGUpOworICAgICAg
ICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZXhlYy0+Y2FsbGVlKCktPmdsb2JhbE9i
amVjdCgpOworICAgICAgICAKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU0Fycm93
RnVuY3Rpb246OmNyZWF0ZVdpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQodm0s
IGdsb2JhbE9iamVjdCwgZnVuYywgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKTsKKyNlbHNl
CisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisjZW5kaWYK
K30KKyAgICAKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyb3dG
dW5jdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTU2NvcGUqIHNjb3BlLCBKU0NlbGwqIGZ1bmN0aW9u
RXhlY3V0YWJsZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlKQoreworI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgQVNTRVJUKGZ1bmN0aW9uRXhlY3V0YWJsZS0+aW5o
ZXJpdHMoRnVuY3Rpb25FeGVjdXRhYmxlOjppbmZvKCkpKTsKKyAgICBWTSYgdm0gPSBleGVjLT52
bSgpOworICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKKworICAg
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBleGVjLT5jYWxsZWUoKS0+Z2xvYmFsT2Jq
ZWN0KCk7CisgICAgSlNGdW5jdGlvbiogZnVuYyA9ICBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIHN0
YXRpY19jYXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KGZ1bmN0aW9uRXhlY3V0YWJsZSksIHNjb3Bl
KTsKKworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUo
dm0sIGdsb2JhbE9iamVjdCwgZnVuYywgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKTsKKwor
I2Vsc2UKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworI2VuZGlm
Cit9CisKIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdPYmplY3QoRXhlY1N0YXRl
KiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0o
KTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAKKwog
ICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBzdHJ1Y3R1cmUpOwogfQogCkBA
IC0xMDU0LDEzICsxMDg5LDEzIEBAIFNsb3dQYXRoUmV0dXJuVHlwZSBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgaW50MzJfdCBieXRlCiAgICAgLy8gdGhh
dCBjYXNlIHdlIHdvdWxkIGhhdmUgYWxyZWFkeSBwbGFudGVkIHRoZSBvcHRpbWl6ZWQgY29kZSBi
bG9jayBpbnRvIHRoZSBKUwogICAgIC8vIHN0YWNrLgogICAgIERlZmVyR0NGb3JBV2hpbGUgZGVm
ZXJHQyh2bS5oZWFwKTsKLSAgICAKKwogICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+
Y29kZUJsb2NrKCk7CiAgICAgaWYgKGNvZGVCbG9jay0+aml0VHlwZSgpICE9IEpJVENvZGU6OkJh
c2VsaW5lSklUKSB7CiAgICAgICAgIGRhdGFMb2coIlVuZXhwZWN0ZWQgY29kZSBibG9jayBpbiBC
YXNlbGluZS0+REZHIHRpZXItdXA6ICIsICpjb2RlQmxvY2ssICJcbiIpOwogICAgICAgICBSRUxF
QVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KLSAgICAKKwogICAgIGlmIChieXRlY29k
ZUluZGV4KSB7CiAgICAgICAgIC8vIElmIHdlJ3JlIGF0dGVtcHRpbmcgdG8gT1NSIGZyb20gYSBs
b29wLCBhc3N1bWUgdGhhdCB0aGlzIHNob3VsZCBiZQogICAgICAgICAvLyBzZXBhcmF0ZWx5IG9w
dGltaXplZC4KQEAgLTEwODYsNyArMTEyMSw3IEBAIFNsb3dQYXRoUmV0dXJuVHlwZSBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvbk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgaW50MzJfdCBieXRlCiAg
ICAgICAgICAgICBkYXRhTG9nKCJDaG9vc2luZyBub3QgdG8gb3B0aW1pemUgIiwgKmNvZGVCbG9j
aywgIiB5ZXQsIGJlY2F1c2UgdGhlIHRocmVzaG9sZCBoYXNuJ3QgYmVlbiByZWFjaGVkLlxuIik7
CiAgICAgICAgIHJldHVybiBlbmNvZGVSZXN1bHQoMCwgMCk7CiAgICAgfQotICAgIAorCiAgICAg
aWYgKHZtLmVuYWJsZWRQcm9maWxlcigpKSB7CiAgICAgICAgIHVwZGF0ZUFsbFByZWRpY3Rpb25z
QW5kT3B0aW1pemVBZnRlcldhcm1VcChjb2RlQmxvY2spOwogICAgICAgICByZXR1cm4gZW5jb2Rl
UmVzdWx0KDAsIDApOwpAQCAtMTEyMiw3ICsxMTU3LDcgQEAgU2xvd1BhdGhSZXR1cm5UeXBlIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uT3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBpbnQzMl90IGJ5
dGUKICAgICAgICAgLy8gY291bnQgdGhyZXNob2xkIGRlcGVuZGluZyBvbiB3aGF0IGhhcHBlbmVk
LCBzbyBpZiB0aGUgY29tcGlsYXRpb24gd2FzIGFueXRoaW5nCiAgICAgICAgIC8vIGJ1dCBzdWNj
ZXNzZnVsIHdlIGp1c3Qgd2FudCB0byByZXR1cm4gZWFybHkuIFNlZSB0aGUgY2FzZSBmb3Igd29y
a2xpc3RTdGF0ZSA9PQogICAgICAgICAvLyBERkc6OldvcmtsaXN0OjpDb21waWxlZCwgYmVsb3cu
Ci0gICAgICAgIAorCiAgICAgICAgIC8vIE5vdGUgdGhhdCB3ZSBjb3VsZCBoYXZlIGFsdGVybmF0
aXZlbHkganVzdCBjYWxsZWQgV29ya2xpc3Q6OmNvbXBpbGF0aW9uU3RhdGUoKQogICAgICAgICAv
LyBoZXJlLCBhbmQgaWYgaXQgcmV0dXJuZWQgQ29tcGlsZWQsIHdlIGNvdWxkIGhhdmUgdGhlbiBj
YWxsZWQKICAgICAgICAgLy8gY29tcGxldGVBbmRTY2hlZHVsZU9TUigpIGJlbG93LiBCdXQgdGhh
dCB3b3VsZCBoYXZlIG1lYW50IHRoYXQgaXQgY291bGQgdGFrZQpAQCAtMTE2NSw3ICsxMjAwLDcg
QEAgU2xvd1BhdGhSZXR1cm5UeXBlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uT3B0aW1pemUoRXhl
Y1N0YXRlKiBleGVjLCBpbnQzMl90IGJ5dGUKICAgICAgICAgLy8gY3RpX29wdGltaXplIGZyb20g
YSBsb29wLiBUaGF0J3MgYmVjYXVzZSBpZiB0aGVyZSdzIGFuIG9wdGltaXplZCByZXBsYWNlbWVu
dCwKICAgICAgICAgLy8gdGhlbiBhbGwgY2FsbHMgdG8gdGhpcyBmdW5jdGlvbiB3aWxsIGJlIHJl
bGlua2VkIHRvIHRoZSByZXBsYWNlbWVudCBhbmQgc28KICAgICAgICAgLy8gdGhlIHByb2xvZ3Vl
IE9TUiB3aWxsIG5ldmVyIGZpcmUuCi0gICAgICAgIAorCiAgICAgICAgIC8vIFRoaXMgaXMgYW4g
aW50ZXJlc3RpbmcgdGhyZXNob2xkIGNoZWNrLiBDb25zaWRlciB0aGF0IGEgZnVuY3Rpb24gT1NS
IGV4aXRzCiAgICAgICAgIC8vIGluIHRoZSBtaWRkbGUgb2YgYSBsb29wLCB3aGlsZSBoYXZpbmcg
YSByZWxhdGl2ZWx5IGxvdyBleGl0IGNvdW50LiBUaGUgZXhpdAogICAgICAgICAvLyB3aWxsIHJl
c2V0IHRoZSBleGVjdXRpb24gY291bnRlciB0byBzb21lIHRhcmdldCB0aHJlc2hvbGQsIG1lYW5p
bmcgdGhhdCB0aGlzCkBAIC0xMjExLDE2ICsxMjQ2LDE2IEBAIFNsb3dQYXRoUmV0dXJuVHlwZSBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvbk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgaW50MzJfdCBi
eXRlCiAgICAgICAgIENvbXBpbGF0aW9uUmVzdWx0IHJlc3VsdCA9IERGRzo6Y29tcGlsZSgKICAg
ICAgICAgICAgIHZtLCByZXBsYWNlbWVudENvZGVCbG9jay5nZXQoKSwgMCwgREZHOjpERkdNb2Rl
LCBieXRlY29kZUluZGV4LAogICAgICAgICAgICAgbXVzdEhhbmRsZVZhbHVlcywgSklUVG9ERkdE
ZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2s6OmNyZWF0ZSgpKTsKLSAgICAgICAgCisKICAgICAg
ICAgaWYgKHJlc3VsdCAhPSBDb21waWxhdGlvblN1Y2Nlc3NmdWwpIHsKICAgICAgICAgICAgIEFT
U0VSVChyZXN1bHQgPT0gQ29tcGlsYXRpb25EZWZlcnJlZCB8fCByZXBsYWNlbWVudENvZGVCbG9j
ay0+aGFzT25lUmVmKCkpOwogICAgICAgICAgICAgcmV0dXJuIGVuY29kZVJlc3VsdCgwLCAwKTsK
ICAgICAgICAgfQogICAgIH0KLSAgICAKKwogICAgIENvZGVCbG9jayogb3B0aW1pemVkQ29kZUJs
b2NrID0gY29kZUJsb2NrLT5yZXBsYWNlbWVudCgpOwogICAgIEFTU0VSVChKSVRDb2RlOjppc09w
dGltaXppbmdKSVQob3B0aW1pemVkQ29kZUJsb2NrLT5qaXRUeXBlKCkpKTsKLSAgICAKKwogICAg
IGlmICh2b2lkKiBkYXRhQnVmZmVyID0gREZHOjpwcmVwYXJlT1NSRW50cnkoZXhlYywgb3B0aW1p
emVkQ29kZUJsb2NrLCBieXRlY29kZUluZGV4KSkgewogICAgICAgICBpZiAoT3B0aW9uczo6dmVy
Ym9zZU9TUigpKSB7CiAgICAgICAgICAgICBkYXRhTG9nKApAQCAtMTI2Myw3ICsxMjk4LDcgQEAg
U2xvd1BhdGhSZXR1cm5UeXBlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uT3B0aW1pemUoRXhlY1N0
YXRlKiBleGVjLCBpbnQzMl90IGJ5dGUKICAgICAvLyBPU1IgZmFpbGVkIHRoaXMgdGltZSwgYnV0
IGl0IG1pZ2h0IHN1Y2NlZWQgbmV4dCB0aW1lISBMZXQgdGhlIGNvZGUgcnVuIGEgYml0CiAgICAg
Ly8gbG9uZ2VyIGFuZCB0aGVuIHRyeSBhZ2Fpbi4KICAgICBjb2RlQmxvY2stPm9wdGltaXplQWZ0
ZXJXYXJtVXAoKTsKLSAgICAKKwogICAgIHJldHVybiBlbmNvZGVSZXN1bHQoMCwgMCk7CiB9CiAj
ZW5kaWYKQEAgLTE0MzksNyArMTQ3NCw3IEBAIHN0YXRpYyBKU1ZhbHVlIGdldEJ5VmFsKEV4ZWNT
dGF0ZSogZXhlYywgSlNWYWx1ZSBiYXNlVmFsdWUsIEpTVmFsdWUgc3Vic2NyaXB0LCBSCiB9CiAK
IGV4dGVybiAiQyIgewotICAgIAorCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbkdldEJ5VmFsR2VuZXJpYyhFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRCYXNlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkU3Vic2NyaXB0KQogewogICAgIFZNJiB2bSA9
IGV4ZWMtPnZtKCk7CkBAIC0xNDU3LDcgKzE0OTIsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvbkdldEJ5VmFsRGVmYXVsdChFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRK
UwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKICAgICBKU1Zh
bHVlIGJhc2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSk7CiAgICAgSlNWYWx1
ZSBzdWJzY3JpcHQgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFN1YnNjcmlwdCk7Ci0gICAgCisK
ICAgICBpZiAoYmFzZVZhbHVlLmlzT2JqZWN0KCkgJiYgc3Vic2NyaXB0LmlzSW50MzIoKSkgewog
ICAgICAgICAvLyBTZWUgaWYgaXQncyB3b3J0aCBvcHRpbWl6aW5nIHRoaXMgYXQgYWxsLgogICAg
ICAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QoYmFzZVZhbHVlKTsKQEAgLTE0NjcsNyAr
MTUwMiw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlWYWxE
ZWZhdWx0KEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTCiAgICAgICAgIEFTU0VSVChieXRlY29k
ZU9mZnNldCk7CiAgICAgICAgIEJ5VmFsSW5mbyYgYnlWYWxJbmZvID0gZXhlYy0+Y29kZUJsb2Nr
KCktPmdldEJ5VmFsSW5mbyhieXRlY29kZU9mZnNldCAtIDEpOwogICAgICAgICBBU1NFUlQoIWJ5
VmFsSW5mby5zdHViUm91dGluZSk7Ci0gICAgICAgIAorCiAgICAgICAgIGlmIChoYXNPcHRpbWl6
YWJsZUluZGV4aW5nKG9iamVjdC0+c3RydWN0dXJlKHZtKSkpIHsKICAgICAgICAgICAgIC8vIEF0
dGVtcHQgdG8gb3B0aW1pemUuCiAgICAgICAgICAgICBKSVRBcnJheU1vZGUgYXJyYXlNb2RlID0g
aml0QXJyYXlNb2RlRm9yU3RydWN0dXJlKG9iamVjdC0+c3RydWN0dXJlKHZtKSk7CkBAIC0xNDc2
LDcgKzE1MTEsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5
VmFsRGVmYXVsdChFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKUwogICAgICAgICAgICAgICAgIGRp
ZE9wdGltaXplID0gdHJ1ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICAKKwog
ICAgICAgICBpZiAoIWRpZE9wdGltaXplKSB7CiAgICAgICAgICAgICAvLyBJZiB3ZSB0YWtlIHNs
b3cgcGF0aCBtb3JlIHRoYW4gMTAgdGltZXMgd2l0aG91dCBwYXRjaGluZyB0aGVuIG1ha2Ugc3Vy
ZSB3ZQogICAgICAgICAgICAgLy8gbmV2ZXIgbWFrZSB0aGF0IG1pc3Rha2UgYWdhaW4uIE9yLCBp
ZiB3ZSBmYWlsZWQgdG8gcGF0Y2ggYW5kIHdlIGhhdmUgc29tZSBvYmplY3QKQEAgLTE0OTAsMTgg
KzE1MjUsMTggQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeVZh
bERlZmF1bHQoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlMKICAgICAgICAgICAgIH0KICAgICAg
ICAgfQogICAgIH0KLSAgICAKKwogICAgIEpTVmFsdWUgcmVzdWx0ID0gZ2V0QnlWYWwoZXhlYywg
YmFzZVZhbHVlLCBzdWJzY3JpcHQsIFJldHVybkFkZHJlc3NQdHIoT1VSX1JFVFVSTl9BRERSRVNT
KSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwogfQotICAgIAorCiBFbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkhhc0luZGV4ZWRQcm9wZXJ0eURlZmF1
bHQoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFN1YnNjcmlwdCkKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAg
IE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKICAgICBKU1ZhbHVlIGJh
c2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSk7CiAgICAgSlNWYWx1ZSBzdWJz
Y3JpcHQgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFN1YnNjcmlwdCk7Ci0gICAgCisKICAgICBB
U1NFUlQoYmFzZVZhbHVlLmlzT2JqZWN0KCkpOwogICAgIEFTU0VSVChzdWJzY3JpcHQuaXNVSW50
MzIoKSk7CiAKQEAgLTE1MTIsNyArMTU0Nyw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uSGFzSW5kZXhlZFByb3BlcnR5RGVmYXVsdChFeGVjU3RhdGUqIGV4ZWMsCiAg
ICAgQVNTRVJUKGJ5dGVjb2RlT2Zmc2V0KTsKICAgICBCeVZhbEluZm8mIGJ5VmFsSW5mbyA9IGV4
ZWMtPmNvZGVCbG9jaygpLT5nZXRCeVZhbEluZm8oYnl0ZWNvZGVPZmZzZXQgLSAxKTsKICAgICBB
U1NFUlQoIWJ5VmFsSW5mby5zdHViUm91dGluZSk7Ci0gICAgCisKICAgICBpZiAoaGFzT3B0aW1p
emFibGVJbmRleGluZyhvYmplY3QtPnN0cnVjdHVyZSh2bSkpKSB7CiAgICAgICAgIC8vIEF0dGVt
cHQgdG8gb3B0aW1pemUuCiAgICAgICAgIEpJVEFycmF5TW9kZSBhcnJheU1vZGUgPSBqaXRBcnJh
eU1vZGVGb3JTdHJ1Y3R1cmUob2JqZWN0LT5zdHJ1Y3R1cmUodm0pKTsKQEAgLTE1MjEsNyArMTU1
Niw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFzSW5kZXhlZFBy
b3BlcnR5RGVmYXVsdChFeGVjU3RhdGUqIGV4ZWMsCiAgICAgICAgICAgICBkaWRPcHRpbWl6ZSA9
IHRydWU7CiAgICAgICAgIH0KICAgICB9Ci0gICAgCisKICAgICBpZiAoIWRpZE9wdGltaXplKSB7
CiAgICAgICAgIC8vIElmIHdlIHRha2Ugc2xvdyBwYXRoIG1vcmUgdGhhbiAxMCB0aW1lcyB3aXRo
b3V0IHBhdGNoaW5nIHRoZW4gbWFrZSBzdXJlIHdlCiAgICAgICAgIC8vIG5ldmVyIG1ha2UgdGhh
dCBtaXN0YWtlIGFnYWluLiBPciwgaWYgd2UgZmFpbGVkIHRvIHBhdGNoIGFuZCB3ZSBoYXZlIHNv
bWUgb2JqZWN0CkBAIC0xNTMxLDM0ICsxNTY2LDM0IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uSGFzSW5kZXhlZFByb3BlcnR5RGVmYXVsdChFeGVjU3RhdGUqIGV4ZWMs
CiAgICAgICAgIGlmICgrK2J5VmFsSW5mby5zbG93UGF0aENvdW50ID49IDEwCiAgICAgICAgICAg
ICB8fCBvYmplY3QtPnN0cnVjdHVyZSh2bSktPnR5cGVJbmZvKCkuaW50ZXJjZXB0c0dldE93blBy
b3BlcnR5U2xvdEJ5SW5kZXhFdmVuV2hlbkxlbmd0aElzTm90WmVybygpKSB7CiAgICAgICAgICAg
ICAvLyBEb24ndCBldmVyIHRyeSB0byBvcHRpbWl6ZS4KLSAgICAgICAgICAgIGN0aVBhdGNoQ2Fs
bEJ5UmV0dXJuQWRkcmVzcyhleGVjLT5jb2RlQmxvY2soKSwgUmV0dXJuQWRkcmVzc1B0cihPVVJf
UkVUVVJOX0FERFJFU1MpLCBGdW5jdGlvblB0cihvcGVyYXRpb25IYXNJbmRleGVkUHJvcGVydHlH
ZW5lcmljKSk7IAorICAgICAgICAgICAgY3RpUGF0Y2hDYWxsQnlSZXR1cm5BZGRyZXNzKGV4ZWMt
PmNvZGVCbG9jaygpLCBSZXR1cm5BZGRyZXNzUHRyKE9VUl9SRVRVUk5fQUREUkVTUyksIEZ1bmN0
aW9uUHRyKG9wZXJhdGlvbkhhc0luZGV4ZWRQcm9wZXJ0eUdlbmVyaWMpKTsKICAgICAgICAgfQog
ICAgIH0KLSAgICAKKwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKG9iamVj
dC0+aGFzUHJvcGVydHkoZXhlYywgc3Vic2NyaXB0LmFzVUludDMyKCkpKSk7CiB9Ci0gICAgCisK
IEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFzSW5kZXhlZFByb3BlcnR5
R2VuZXJpYyhFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkU3Vic2NyaXB0KQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7
CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOwogICAgIEpTVmFs
dWUgYmFzZVZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKTsKICAgICBKU1ZhbHVl
IHN1YnNjcmlwdCA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkU3Vic2NyaXB0KTsKLSAgICAKKwog
ICAgIEFTU0VSVChiYXNlVmFsdWUuaXNPYmplY3QoKSk7CiAgICAgQVNTRVJUKHN1YnNjcmlwdC5p
c1VJbnQzMigpKTsKIAogICAgIEpTT2JqZWN0KiBvYmplY3QgPSBhc09iamVjdChiYXNlVmFsdWUp
OwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKG9iamVjdC0+aGFzUHJvcGVy
dHkoZXhlYywgc3Vic2NyaXB0LmFzVUludDMyKCkpKSk7CiB9Ci0gICAgCisKIEVuY29kZWRKU1Zh
bHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlWYWxTdHJpbmcoRXhlY1N0YXRlKiBleGVj
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFN1YnNj
cmlwdCkKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRy
YWNlciB0cmFjZXIoJnZtLCBleGVjKTsKICAgICBKU1ZhbHVlIGJhc2VWYWx1ZSA9IEpTVmFsdWU6
OmRlY29kZShlbmNvZGVkQmFzZSk7CiAgICAgSlNWYWx1ZSBzdWJzY3JpcHQgPSBKU1ZhbHVlOjpk
ZWNvZGUoZW5jb2RlZFN1YnNjcmlwdCk7Ci0gICAgCisKICAgICBKU1ZhbHVlIHJlc3VsdDsKICAg
ICBpZiAoTElLRUxZKHN1YnNjcmlwdC5pc1VJbnQzMigpKSkgewogICAgICAgICB1aW50MzJfdCBp
ID0gc3Vic2NyaXB0LmFzVUludDMyKCk7CkBAIC0xNjAxLDcgKzE2MzYsNyBAQCBFbmNvZGVkSlNW
YWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkluc3RhbmNlT2YoRXhlY1N0YXRlKiBleGVjLCBF
bmNvZGVkSlNWYWx1ZQogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVj
KTsKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CiAg
ICAgSlNWYWx1ZSBwcm90byA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkUHJvdG8pOwotICAgIAor
CiAgICAgQVNTRVJUKCF2YWx1ZS5pc09iamVjdCgpIHx8ICFwcm90by5pc09iamVjdCgpKTsKIAog
ICAgIGJvb2wgcmVzdWx0ID0gSlNPYmplY3Q6OmRlZmF1bHRIYXNJbnN0YW5jZShleGVjLCB2YWx1
ZSwgcHJvdG8pOwpAQCAtMTc1Nyw3ICsxNzkyLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvblB1dFRvU2NvcGUoRXhlY1N0YXRlKiBleGVjLCBJbnN0cnVjdGlvbiogYnl0ZWNvZGVQQykK
IAogICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KHNjb3BlLCBjb2RlQmxvY2stPmlzU3RyaWN0TW9k
ZSgpKTsKICAgICBzY29wZS0+bWV0aG9kVGFibGUoKS0+cHV0KHNjb3BlLCBleGVjLCBpZGVudCwg
dmFsdWUsIHNsb3QpOwotICAgIAorCiAgICAgaWYgKGV4ZWMtPnZtKCkuZXhjZXB0aW9uKCkpCiAg
ICAgICAgIHJldHVybjsKIApAQCAtMTc5MSw3ICsxODI2LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbk9TUldyaXRlQmFycmllcihFeGVjU3RhdGUqIGV4ZWMsIEpTQ2VsbCogY2VsbCkK
IH0KIAogLy8gTkI6IFdlIGRvbid0IGluY2x1ZGUgdGhlIHZhbHVlIGFzIHBhcnQgb2YgdGhlIGJh
cnJpZXIgYmVjYXVzZSB0aGUgd3JpdGUgYmFycmllciBlbGlzaW9uCi0vLyBwaGFzZSBpbiB0aGUg
REZHIG9ubHkgdHJhY2tzIHdoZXRoZXIgdGhlIG9iamVjdCBiZWluZyBzdG9yZWQgdG8gaGFzIGJl
ZW4gYmFycmllcmVkLiBJdCAKKy8vIHBoYXNlIGluIHRoZSBERkcgb25seSB0cmFja3Mgd2hldGhl
ciB0aGUgb2JqZWN0IGJlaW5nIHN0b3JlZCB0byBoYXMgYmVlbiBiYXJyaWVyZWQuIEl0CiAvLyB3
b3VsZCBiZSBtdWNoIG1vcmUgY29tcGxpY2F0ZWQgdG8gdHJ5IHRvIG1vZGVsIHRoZSB2YWx1ZSBi
ZWluZyBzdG9yZWQgYXMgd2VsbC4KIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25VbmNvbmRp
dGlvbmFsV3JpdGVCYXJyaWVyKEV4ZWNTdGF0ZSogZXhlYywgSlNDZWxsKiBjZWxsKQogewpAQCAt
MTgxNSw3ICsxODUwLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIGxvb2t1cEV4Y2VwdGlvbkhhbmRs
ZXIoVk0qIHZtLCBFeGVjU3RhdGUqIGV4ZWMpCiAKICAgICBKU1ZhbHVlIGV4Y2VwdGlvblZhbHVl
ID0gdm0tPmV4Y2VwdGlvbigpOwogICAgIEFTU0VSVChleGNlcHRpb25WYWx1ZSk7Ci0gICAgCisK
ICAgICBnZW5lcmljVW53aW5kKHZtLCBleGVjLCBleGNlcHRpb25WYWx1ZSk7CiAgICAgQVNTRVJU
KHZtLT50YXJnZXRNYWNoaW5lUENGb3JUaHJvdyk7CiB9CkBAIC0xODMwLDcgKzE4NjUsNyBAQCB2
b2lkIEpJVF9PUEVSQVRJT04gbG9va3VwRXhjZXB0aW9uSGFuZGxlckZyb21DYWxsZXJGcmFtZShW
TSogdm0sIEV4ZWNTdGF0ZSogZXhlYwogCiAgICAgSlNWYWx1ZSBleGNlcHRpb25WYWx1ZSA9IHZt
LT5leGNlcHRpb24oKTsKICAgICBBU1NFUlQoZXhjZXB0aW9uVmFsdWUpOwotICAgIAorCiAgICAg
Z2VuZXJpY1Vud2luZCh2bSwgY2FsbGVyRnJhbWUsIGV4Y2VwdGlvblZhbHVlKTsKICAgICBBU1NF
UlQodm0tPnRhcmdldE1hY2hpbmVQQ0ZvclRocm93KTsKIH0KQEAgLTE4NzcsNyArMTkxMiw3IEBA
IEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFzSW5kZXhlZFByb3BlcnR5
KEV4ZWNTdGF0ZSogZXhlYywgSlNDZWxsCiAgICAgSlNPYmplY3QqIG9iamVjdCA9IGJhc2VDZWxs
LT50b09iamVjdChleGVjLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpOwogICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKG9iamVjdC0+aGFzUHJvcGVydHkoZXhlYywgc3Vi
c2NyaXB0KSkpOwogfQotICAgIAorCiBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0
UHJvcGVydHlFbnVtZXJhdG9yKEV4ZWNTdGF0ZSogZXhlYywgSlNDZWxsKiBjZWxsKQogewogICAg
IFZNJiB2bSA9IGV4ZWMtPnZtKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wZXJhdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0
aW9ucy5oCmluZGV4IGM2NWY4NzRkMWYyZTc3MmQ4ZjUzNWY0YmQxYzRjZTBkMjgwNDRhZTcuLmRm
M2I5ZmQzZjNkNjdhZmFlOTdkNWZmMzNkNDY3YTk1MGE1OWM4NDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCkBAIC0yMCw3ICsyMCw3IEBACiAgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCiAgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKICAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgogICovCiAKICNpZm5kZWYgSklUT3BlcmF0aW9uc19oCkBAIC0xMTUsNiArMTE1LDcgQEAg
dHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVBQ
KShFeGVjU3RhdGUqLCB2b2lkKiwgdm8KIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJB
VElPTiAoKkpfSklUT3BlcmF0aW9uX0VQUykoRXhlY1N0YXRlKiwgdm9pZCosIHNpemVfdCk7CiB0
eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FUGMp
KEV4ZWNTdGF0ZSosIEluc3RydWN0aW9uKik7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9P
UEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FSnNjQykoRXhlY1N0YXRlKiwgSlNTY29wZSosIEpT
Q2VsbCopOwordHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVy
YXRpb25fRUpzY0NKKShFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFs
dWUpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRp
b25fRVNTKShFeGVjU3RhdGUqLCBzaXplX3QsIHNpemVfdCk7CiB0eXBlZGVmIEVuY29kZWRKU1Zh
bHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FU3NpQ0kpKEV4ZWNTdGF0ZSosIFN0
cnVjdHVyZVN0dWJJbmZvKiwgSlNDZWxsKiwgU3RyaW5nSW1wbCopOwogdHlwZWRlZiBFbmNvZGVk
SlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNzaUpJKShFeGVjU3RhdGUq
LCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlLCBTdHJpbmdJbXBsKik7CkBAIC0y
NzksNiArMjgwLDggQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdB
cnJheUJ1ZmZlcldpdGhQcm9maWxlKEV4ZWNTdGF0ZSosIEFycmEKIEVuY29kZWRKU1ZhbHVlIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXlXaXRoU2l6ZUFuZFByb2ZpbGUoRXhlY1N0YXRl
KiwgQXJyYXlBbGxvY2F0aW9uUHJvZmlsZSosIEVuY29kZWRKU1ZhbHVlIHNpemUpIFdURl9JTlRF
Uk5BTDsKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3RnVuY3Rpb24o
RXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCopIFdURl9JTlRFUk5BTDsKIEVuY29kZWRKU1Zh
bHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3RnVuY3Rpb25XaXRoSW52YWxpZGF0ZWRSZWFs
bG9jYXRpb25XYXRjaHBvaW50KEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKSBXVEZfSU5U
RVJOQUw7CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Fycm93RnVu
Y3Rpb24oRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlKSBXVEZf
SU5URVJOQUw7CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Fycm93
RnVuY3Rpb25XaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRjaHBvaW50KEV4ZWNTdGF0ZSos
IEpTU2NvcGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVSTkFMOwogSlNDZWxs
KiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUq
KSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5l
d1JlZ2V4cChFeGVjU3RhdGUqLCB2b2lkKikgV1RGX0lOVEVSTkFMOwogdm9pZCBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkhhbmRsZVdhdGNoZG9nVGltZXIoRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFM
OwpAQCAtNDA3LDQgKzQxMCwzIEBAIGlubGluZSBQX0pJVE9wZXJhdGlvbl9FQ2xpIG9wZXJhdGlv
bkxpbmtQb2x5bW9ycGhpY0NhbGxGb3IoUmVnaXN0ZXJQcmVzZXJ2YXRpb25NCiAjZW5kaWYgLy8g
RU5BQkxFKEpJVCkKIAogI2VuZGlmIC8vIEpJVE9wZXJhdGlvbnNfaAotCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAppbmRleCAyMGJlYmYzMmY2MTU0
ZmE5ZjNmNDY5NjJmM2E2MTQwYTJlODQ2ZGMwLi43YTg1MDVmMjhmZWMyY2FlMmM2NTM4NWNjMDk0
YmNkZmNjMjRhZmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJ
bnRTbG93UGF0aHMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNs
b3dQYXRocy5jcHAKQEAgLTM4LDYgKzM4LDggQEAKICNpbmNsdWRlICJJbnRlcnByZXRlci5oIgog
I2luY2x1ZGUgIkpJVC5oIgogI2luY2x1ZGUgIkpJVEV4Y2VwdGlvbnMuaCIKKyNpbmNsdWRlICJK
U0Fycm93RnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRl
ICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNs
dWRlICJKU0NKU1ZhbHVlLmgiCkBAIC0xNzEsNiArMTczLDE1IEBAIG5hbWVzcGFjZSBKU0MgeyBu
YW1lc3BhY2UgTExJbnQgewogICAgICAgICBMTElOVF9SRVRVUk5fVFdPKHBjLCBfX3JjZl9leGVj
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIH0gd2hpbGUgKGZhbHNlKQog
CisgICAgCisjZGVmaW5lIExMSU5UX0NBTENfUFJPUEVSVFlfRk9SX0ZVTkNfRVhQUigpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBMTElOVF9CRUdJTigpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+Y29kZUJsb2NrKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgSlNTY29wZSogc2NvcGUgPSBleGVjLT51
bmNoZWNrZWRSKHBjWzJdLnUub3BlcmFuZCkuUmVnaXN0ZXI6OnNjb3BlKCk7ICAgICAgIFwKKyAg
ICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUgPSBjb2RlQmxvY2stPmZ1bmN0aW9uRXhw
cihwY1szXS51Lm9wZXJhbmQpOyAgXAorICAgIAorZW51bSBGdW5jdGlvbkV4cHJlc3Npb25UeXBl
IHsgQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25UeXBlLCBDb21tb25GdW5jdGlvbkV4cHJlc3Npb25U
eXBlfTsKKyAgICAKIGV4dGVybiAiQyIgU2xvd1BhdGhSZXR1cm5UeXBlIGxsaW50X3RyYWNlX29w
ZXJhbmQoRXhlY1N0YXRlKiBleGVjLCBJbnN0cnVjdGlvbiogcGMsIGludCBmcm9tV2hlcmUsIGlu
dCBvcGVyYW5kKQogewogICAgIExMSU5UX0JFR0lOKCk7CkBAIC0xMDAzLDE2ICsxMDE0LDMzIEBA
IExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuYykKICNlbmRpZgogICAgIExM
SU5UX1JFVFVSTihKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGNvZGVCbG9jay0+ZnVuY3Rpb25EZWNs
KHBjWzNdLnUub3BlcmFuZCksIHNjb3BlKSk7CiB9Ci0KKyAgICAKIExMSU5UX1NMT1dfUEFUSF9E
RUNMKHNsb3dfcGF0aF9uZXdfZnVuY19leHApCiB7Ci0gICAgTExJTlRfQkVHSU4oKTsKLSAgICBD
b2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVCbG9jaygpOwotICAgIEpTU2NvcGUqIHNj
b3BlID0gZXhlYy0+dW5jaGVja2VkUihwY1syXS51Lm9wZXJhbmQpLlJlZ2lzdGVyOjpzY29wZSgp
OwotICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZnVuY3Rpb24gPSBjb2RlQmxvY2stPmZ1bmN0aW9u
RXhwcihwY1szXS51Lm9wZXJhbmQpOwotICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Z1bmN0aW9u
OjpjcmVhdGUodm0sIGZ1bmN0aW9uLCBzY29wZSk7CisgICAgTExJTlRfQ0FMQ19QUk9QRVJUWV9G
T1JfRlVOQ19FWFBSKCk7CisKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNGdW5jdGlvbjo6Y3Jl
YXRlKHZtLCBleGVjdXRhYmxlLCBzY29wZSk7CisgICAgTExJTlRfUkVUVVJOKGZ1bmMpOworfQor
CisKK0xMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApCit7
CisgICAgTExJTlRfQ0FMQ19QUk9QRVJUWV9GT1JfRlVOQ19FWFBSKCk7CisKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gTExJTlRf
T1BfQyg0KS5qc1ZhbHVlKCk7CisgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGV4
ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKICAgICAKKyAgICBKU0Z1bmN0aW9uKiBmdW5j
ID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBleGVjdXRhYmxlLCBzY29wZSk7CisgICAgCisgICAg
Y29uc3QgU3RyaW5nIGZ1bmNXaXRob3V0TmFtZSA9ICIiOworICAgIAorICAgIExMSU5UX1JFVFVS
TihKU0Fycm93RnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBmdW5jLCB0aGlzVmFs
dWUpKTsKKyNlbHNlCisgICAgSlNGdW5jdGlvbiogZnVuYyA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2
bSwgZXhlY3V0YWJsZSwgc2NvcGUpOwogICAgIExMSU5UX1JFVFVSTihmdW5jKTsKKyNlbmRpZgog
fQogCiBzdGF0aWMgU2xvd1BhdGhSZXR1cm5UeXBlIGhhbmRsZUhvc3RDYWxsKEV4ZWNTdGF0ZSog
ZXhlY0NhbGxlZSwgSW5zdHJ1Y3Rpb24qIHBjLCBKU1ZhbHVlIGNhbGxlZSwgQ29kZVNwZWNpYWxp
emF0aW9uS2luZCBraW5kKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xMSW50U2xvd1BhdGhzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93
UGF0aHMuaAppbmRleCA0YmY3ZGViMGZhMGI2YzY0MzhlMzZmOTYzMjBlMmY2Njk3MzlhZjY0Li5j
N2ZhYjk2OTFjMThiOTM5NTZkMGVhMjlmMzM5NTYxMThjNWU3MWVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaApAQCAtOTYsNiArOTYsNyBAQCBMTElO
VF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3N3aXRjaF9jaGFyKTsKIExMSU5UX1NM
T1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfc3dpdGNoX3N0cmluZyk7CiBMTElOVF9TTE9X
X1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX25ld19mdW5jKTsKIExMSU5UX1NMT1dfUEFUSF9I
SURERU5fREVDTChzbG93X3BhdGhfbmV3X2Z1bmNfZXhwKTsKK0xMSU5UX1NMT1dfUEFUSF9ISURE
RU5fREVDTChzbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKTsKIExMSU5UX1NMT1dfUEFUSF9I
SURERU5fREVDTChzbG93X3BhdGhfY2FsbCk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0wo
c2xvd19wYXRoX2NvbnN0cnVjdCk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19w
YXRoX3NpemVfZnJhbWVfZm9yX3ZhcmFyZ3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCmluZGV4IDU0M2Q5ZTkzMzNjNTEzZTk3
NjE3YjdiZGE3ZjY5OTg2NjgzOGExZTAuLjE4MmJiZDllNGVmNzg5MjhkYTUyZmJjZWM4ODJhNWRm
MzZkYjc5NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc20KQEAgLTExNjksNiArMTE2OSwxMCBAQCBfbGxpbnRfb3BfbmV3X2Z1
bmNfZXhwOgogICAgIGNhbGxTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX25ld19mdW5jX2V4cCkK
ICAgICBkaXNwYXRjaCg0KQogCitfbGxpbnRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorICAgIHRy
YWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9uZXdfYXJy
b3dfZnVuY19leHApCisgICAgZGlzcGF0Y2goNSkKIAogX2xsaW50X29wX2NhbGw6CiAgICAgdHJh
Y2VFeGVjdXRpb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9B
U1RCdWlsZGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaApp
bmRleCBhYTczNzA1MmNiM2M4MTUzNTdjOGE2ZmUzNjhhZDIxNTliYTMyYzBmLi45ZDAzMTkxNDRi
ZDRkN2JlMTY2ZmQ3OTQwNTI1OGI5MmQyNGE0NjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL0FTVEJ1aWxkZXIuaApAQCAtMzU3LDYgKzM1NywxOSBAQCBwdWJsaWM6CiAgICAgICAg
ICAgICBpblN0cmljdENvbnRleHQsIGNvbnN0cnVjdG9yS2luZCk7CiAgICAgfQogCisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBFeHByZXNzaW9uTm9kZSogY3JlYXRl
QXJyb3dGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29uc3Qg
UGFyc2VyRnVuY3Rpb25JbmZvPEFTVEJ1aWxkZXI+JiBpbmZvKQorICAgIHsKKyAgICAgICAgU291
cmNlQ29kZSBzb3VyY2UgPSBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJv
ZHlFeHByZXNzaW9uCisgICAgICAgID8gbV9zb3VyY2VDb2RlLT5zdWJBcnJvd0V4cHJlc3Npb24o
aW5mby5hcnJvd0Z1bmN0aW9uT2Zmc2V0LCBpbmZvLmNsb3NlQnJhY2VPZmZzZXQsIGluZm8uYm9k
eVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1bW4pCisgICAgICAgIDogbV9zb3VyY2VDb2Rl
LT5zdWJFeHByZXNzaW9uKGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBpbmZvLmNsb3NlQnJhY2VPZmZz
ZXQsIGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1bW4pOworCisgICAgICAg
IEFycm93RnVuY0V4cHJOb2RlKiByZXN1bHQgPSBuZXcgKG1fcGFyc2VyQXJlbmEpIEFycm93RnVu
Y0V4cHJOb2RlKGxvY2F0aW9uLCAqaW5mby5uYW1lLCBpbmZvLmJvZHksIHNvdXJjZSwgaW5mby5w
YXJhbWV0ZXJzKTsKKyAgICAgICAgaW5mby5ib2R5LT5zZXRMb2MoaW5mby5ib2R5U3RhcnRMaW5l
LCBpbmZvLmJvZHlFbmRMaW5lLCBsb2NhdGlvbi5zdGFydE9mZnNldCwgbG9jYXRpb24ubGluZVN0
YXJ0T2Zmc2V0KTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisjZW5kaWYKKwogICAg
IE5FVkVSX0lOTElORSBQcm9wZXJ0eU5vZGUqIGNyZWF0ZUdldHRlck9yU2V0dGVyUHJvcGVydHko
Y29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgUHJvcGVydHlOb2RlOjpUeXBlIHR5cGUs
IGJvb2wsCiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUsIGNvbnN0IFBhcnNlckZ1bmN0
aW9uSW5mbzxBU1RCdWlsZGVyPiYgaW5mbywgU3VwZXJCaW5kaW5nIHN1cGVyQmluZGluZykKICAg
ICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCmluZGV4IDk2ZWI3YWFiMjM5
YTM4NmQwN2Y2MGRiYTc0ZTZmYWQxZmE2Y2QzN2EuLmFkNzA1NmRkZTM4OGVmODZmYjdmNjI3NmZk
YTczZWFlODlkNDM0OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
TGV4ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCkBA
IC0xNzA4LDYgKzE3MDgsMTggQEAgYm9vbCBMZXhlcjxUPjo6bmV4dFRva2VuSXNDb2xvbigpCiAg
ICAgcmV0dXJuIGNvZGUgPCBtX2NvZGVFbmQgJiYgKmNvZGUgPT0gJzonOwogfQogCisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgordm9p
ZCBMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlvbihKU1Rva2VuKiB0b2tlblJlY29yZCkKK3sKKyAg
ICBKU1Rva2VuRGF0YSogdG9rZW5EYXRhID0gJnRva2VuUmVjb3JkLT5tX2RhdGE7CisgICAgdG9r
ZW5EYXRhLT5saW5lID0gbGluZU51bWJlcigpOworICAgIHRva2VuRGF0YS0+b2Zmc2V0ID0gY3Vy
cmVudE9mZnNldCgpOworICAgIHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExp
bmVTdGFydE9mZnNldCgpOworICAgIEFTU0VSVCh0b2tlbkRhdGEtPm9mZnNldCA+PSB0b2tlbkRh
dGEtPmxpbmVTdGFydE9mZnNldCk7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+
CiBKU1Rva2VuVHlwZSBMZXhlcjxUPjo6bGV4KEpTVG9rZW4qIHRva2VuUmVjb3JkLCB1bnNpZ25l
ZCBsZXhlckZsYWdzLCBib29sIHN0cmljdE1vZGUpCiB7CkBAIC0xNzcxLDcgKzE3ODMsMTIgQEAg
c3RhcnQ6CiAgICAgICAgIH0KICAgICAgICAgdG9rZW4gPSBHVDsKICAgICAgICAgYnJlYWs7Ci0g
ICAgY2FzZSBDaGFyYWN0ZXJFcXVhbDoKKyAgICBjYXNlIENoYXJhY3RlckVxdWFsOiB7CisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdWludDMyX3Qgc2F2ZWRs
aW5lTnVtYmVyID0gdG9rZW5EYXRhLT5saW5lOworICAgICAgICB1aW50MzJfdCBzYXZlZE9mZnNl
dCA9IGN1cnJlbnRPZmZzZXQoKTsKKyAgICAgICAgdWludDMyX3Qgc2F2ZWRMaW5lU3RhcnRPZmZz
ZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0KCk7CisjZW5kaWYKICAgICAgICAgc2hpZnQoKTsK
ICAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnPScpIHsKICAgICAgICAgICAgIHNoaWZ0KCk7CkBA
IC0xNzgzLDggKzE4MDAsMjIgQEAgc3RhcnQ6CiAgICAgICAgICAgICB0b2tlbiA9IEVRRVE7CiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJz4nKSB7CisgICAgICAgICAgICBz
aGlmdCgpOworICAgICAgICAgICAgdG9rZW4gPSBBUlJPV0ZVTkNUSU9OOworCisgICAgICAgICAg
ICB0b2tlbkRhdGEtPmxpbmUgPSBzYXZlZGxpbmVOdW1iZXI7CisgICAgICAgICAgICB0b2tlbkRh
dGEtPm9mZnNldCA9IHNhdmVkT2Zmc2V0OworICAgICAgICAgICAgdG9rZW5EYXRhLT5saW5lU3Rh
cnRPZmZzZXQgPSBzYXZlZExpbmVTdGFydE9mZnNldDsKKworICAgICAgICAgICAgQVNTRVJUKHRv
a2VuRGF0YS0+b2Zmc2V0ID49IHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0KTsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgdG9rZW4gPSBFUVVBTDsKICAg
ICAgICAgYnJlYWs7CisgICAgfQogICAgIGNhc2UgQ2hhcmFjdGVyTGVzczoKICAgICAgICAgc2hp
ZnQoKTsKICAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnIScgJiYgcGVlaygxKSA9PSAnLScgJiYg
cGVlaygyKSA9PSAnLScpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvTGV4ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAppbmRleCA4
YWZlZjI2MTEyMTA4YWVkN2U4NmVkMGU4NDc5Yjc5YzFkMDIyN2FiLi5iZGEzYmQ0OWVhN2E1OWMz
NWM0ZTEyODVjZjk0ODMyMjU1Yzg3ZmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL0xleGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhl
ci5oCkBAIC04Nyw2ICs4Nyw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldElzUmVwYXJzaW5nKCkg
eyBtX2lzUmVwYXJzaW5nID0gdHJ1ZTsgfQogICAgIGJvb2wgaXNSZXBhcnNpbmcoKSBjb25zdCB7
IHJldHVybiBtX2lzUmVwYXJzaW5nOyB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgIHZvaWQgc2V0VG9rZW5Qb3NpdGlvbihKU1Rva2VuKiB0b2tlblJlY29yZCk7
CisjZW5kaWYKICAgICBKU1Rva2VuVHlwZSBsZXgoSlNUb2tlbiosIHVuc2lnbmVkLCBib29sIHN0
cmljdE1vZGUpOwogICAgIGJvb2wgbmV4dFRva2VuSXNDb2xvbigpOwogICAgIGludCBsaW5lTnVt
YmVyKCkgY29uc3QgeyByZXR1cm4gbV9saW5lTnVtYmVyOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCmluZGV4IDg5YjkyOGVjZjhiNDQwMDA2
MjM2NjEyODJhOTcwYTU2MjFhNTFhOTIuLjFiNDBlZTNlMjFkOGUzNzAxNjFjYzlmOWM0YWVlY2M3
MDcyNjNmYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNv
bnN0cnVjdG9ycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0
cnVjdG9ycy5oCkBAIC04MzUsNiArODM1LDEzIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBt
X2JvZHktPmZpbmlzaFBhcnNpbmcoc291cmNlLCBwYXJhbWV0ZXIsIGlkZW50LCBGdW5jdGlvbkV4
cHJlc3Npb24pOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgaW5saW5lIEFycm93RnVuY0V4cHJOb2RlOjpBcnJvd0Z1bmNFeHByTm9kZShjb25zdCBK
U1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgRnVuY3Rp
b25Cb2R5Tm9kZSogYm9keSwgY29uc3QgU291cmNlQ29kZSYgc291cmNlLCBQYXJhbWV0ZXJOb2Rl
KiBwYXJhbWV0ZXIpCisgICAgICAgIDogRnVuY0V4cHJOb2RlKGxvY2F0aW9uLCBpZGVudCwgYm9k
eSwgc291cmNlLCBwYXJhbWV0ZXIpCisgICAgeworICAgIH0KKyNlbmRpZgorICAgIAogICAgIGlu
bGluZSBGdW5jRGVjbE5vZGU6OkZ1bmNEZWNsTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxv
Y2F0aW9uLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgRnVuY3Rpb25Cb2R5Tm9kZSogYm9keSwg
Y29uc3QgU291cmNlQ29kZSYgc291cmNlLCBQYXJhbWV0ZXJOb2RlKiBwYXJhbWV0ZXIpCiAgICAg
ICAgIDogU3RhdGVtZW50Tm9kZShsb2NhdGlvbikKICAgICAgICAgLCBtX2JvZHkoYm9keSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAppbmRleCA3ODQ4MTg0ZTU1NGNmNDBlYWYzOTA2
N2U2NzhhNWVkOGFjNTQ5OWU4Li45NTQwYjFiNDUxNDUxNDM2MmUwNzlhODQ3YzAxNWRlMGJjN2I1
ZjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCkBAIC0xNTgsNiArMTU4LDkg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0RvdEFjY2Vzc29yTm9k
ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0RlY29u
c3RydWN0aW9uTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwg
Ym9vbCBpc0Z1bmNFeHByTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdmlydHVhbCBib29sIGlzQXJyb3dG
dW5jRXhwck5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorI2VuZGlmCiAgICAgICAgIHZp
cnR1YWwgYm9vbCBpc0NvbW1hTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAg
IHZpcnR1YWwgYm9vbCBpc1NpbXBsZUFycmF5KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAg
ICAgICAgdmlydHVhbCBib29sIGlzQWRkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KQEAgLTE3
MjYsNiArMTcyOSwxOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgRnVuY3Rpb25Cb2R5Tm9k
ZSogbV9ib2R5OwogICAgIH07CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgIGNsYXNzIEFycm93RnVuY0V4cHJOb2RlIDogcHVibGljIEZ1bmNFeHByTm9kZSB7Cisg
ICAgcHVibGljOgorICAgICAgICBBcnJvd0Z1bmNFeHByTm9kZShjb25zdCBKU1Rva2VuTG9jYXRp
b24mLCBjb25zdCBJZGVudGlmaWVyJiwgRnVuY3Rpb25Cb2R5Tm9kZSosIGNvbnN0IFNvdXJjZUNv
ZGUmLCBQYXJhbWV0ZXJOb2RlKiA9IDApOworICAgIHByaXZhdGU6CisgICAgICAgIHZpcnR1YWwg
UmVnaXN0ZXJJRCogZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiwgUmVnaXN0ZXJJRCog
PSAwKSBvdmVycmlkZTsKKyAgICAgICAgCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Z1bmNFeHBy
Tm9kZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgICAgIAorICAgICAg
ICB2aXJ0dWFsIGJvb2wgaXNBcnJvd0Z1bmNFeHByTm9kZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0
dXJuIHRydWU7IH0KKyAgICB9OworI2VuZGlmCisKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRB
WCkKICAgICBjbGFzcyBDbGFzc0V4cHJOb2RlIGZpbmFsIDogcHVibGljIEV4cHJlc3Npb25Ob2Rl
IHsKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1BhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKaW5k
ZXggMTQ4YzliMjRhY2JhZjUxODRlNWJkMWMwNDU0MDVkYWM1OTgzYjc4MS4uNmE5ZjA0NzkyYWVl
YzFiMDI0NmU1YTEyNDAxNjc4ZjY1ODg0MmM1YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvUGFyc2VyLmNwcApAQCAtMjY0LDcgKzI2NCw3IEBAIFN0cmluZyBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VJbm5lcigpCiAgICAgaWYgKG1fbGV4ZXItPmlzUmVwYXJzaW5nKCkpCiAgICAgICAg
IG1fc3RhdGVtZW50RGVwdGgtLTsKICAgICBTY29wZVJlZiBzY29wZSA9IGN1cnJlbnRTY29wZSgp
OwotICAgIFNvdXJjZUVsZW1lbnRzKiBzb3VyY2VFbGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVu
dHMoY29udGV4dCwgQ2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICBTb3VyY2VFbGVtZW50cyogc291
cmNlRWxlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIENoZWNrRm9yU3RyaWN0
TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CiAgICAgaWYgKCFzb3VyY2VFbGVtZW50
cyB8fCAhY29uc3VtZShFT0ZUT0spKSB7CiAgICAgICAgIGlmIChoYXNFcnJvcigpKQogICAgICAg
ICAgICAgcGFyc2VFcnJvciA9IG1fZXJyb3JNZXNzYWdlOwpAQCAtMzQzLDcgKzM0Myw3IEBAIGJv
b2wgUGFyc2VyPExleGVyVHlwZT46OmFsbG93QXV0b21hdGljU2VtaWNvbG9uKCkKIH0KIAogdGVt
cGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KLXRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsZW1lbnRz
KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBTb3VyY2VFbGVtZW50c01vZGUgbW9kZSkKK3RlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBTb3VyY2VFbGVtZW50
c01vZGUgbW9kZSwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25QYXJzZVR5cGUpCiB7CiAgICAg
Y29uc3QgdW5zaWduZWQgbGVuZ3RoT2ZVc2VTdHJpY3RMaXRlcmFsID0gMTI7IC8vICJ1c2Ugc3Ry
aWN0Ii5sZW5ndGgKICAgICBUcmVlU291cmNlRWxlbWVudHMgc291cmNlRWxlbWVudHMgPSBjb250
ZXh0LmNyZWF0ZVNvdXJjZUVsZW1lbnRzKCk7CkBAIC0zNTIsNyArMzUyLDcgQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlU291cmNlRWwKICAgICB1bnNpZ25lZCBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMDsK
ICAgICBhdXRvIHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwogICAgIGJvb2wgaGFzU2V0
U3RyaWN0ID0gZmFsc2U7Ci0gICAgd2hpbGUgKFRyZWVTdGF0ZW1lbnQgc3RhdGVtZW50ID0gcGFy
c2VTdGF0ZW1lbnQoY29udGV4dCwgZGlyZWN0aXZlLCAmZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCkp
IHsKKyAgICB3aGlsZSAoVHJlZVN0YXRlbWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVudChj
b250ZXh0LCBkaXJlY3RpdmUsICZkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoLCBmdW5jdGlvblBhcnNl
VHlwZSkpIHsKICAgICAgICAgaWYgKG1vZGUgPT0gQ2hlY2tGb3JTdHJpY3RNb2RlICYmICFzZWVu
Tm9uRGlyZWN0aXZlKSB7CiAgICAgICAgICAgICBpZiAoZGlyZWN0aXZlKSB7CiAgICAgICAgICAg
ICAgICAgLy8gInVzZSBzdHJpY3QiIG11c3QgYmUgdGhlIGV4YWN0IGxpdGVyYWwgd2l0aG91dCBl
c2NhcGUgc2VxdWVuY2VzIG9yIGxpbmUgY29udGludWF0aW9uLgpAQCAtNTg0LDYgKzU4NCwzMSBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4g
UGFyc2VyPExleGVyVHlwZT46OmNyZWF0ZQogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUJpbmRp
bmdMb2NhdGlvbih0b2tlbi5tX2xvY2F0aW9uLCBuYW1lLCB0b2tlbi5tX3N0YXJ0UG9zaXRpb24s
IHRva2VuLm1fZW5kUG9zaXRpb24pOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dG
dW5jdGlvblN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBBU1NFUlQobWF0
Y2goQVJST1dGVU5DVElPTikpOworCisgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2Vu
TG9jYXRpb24oKSk7CisgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRp
b24oKTsKKyAgICBKU1RleHRQb3NpdGlvbiBlbmQgPSB0b2tlbkVuZFBvc2l0aW9uKCk7CisKKyAg
ICBuZXh0KCk7CisgICAgVHJlZUV4cHJlc3Npb24gZXhwciA9IHBhcnNlQXJyb3dGdW5jdGlvbkV4
cHJlc3Npb24oY29udGV4dCk7CisgICAgZmFpbElmRmFsc2UoZXhwciwgIkNhbm5vdCBwYXJzZSB0
aGUgYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgIGVuZCA9IGxhc3RUb2tlbkVuZFBv
c2l0aW9uKCk7CisKKyAgICBib29sIGNvcnJlY3RBcnJvd0ZpbmlzaCA9IGlzRW5kT2ZBcnJvd0Z1
bmN0aW9uKCkgfHwgbWF0Y2goRU9GVE9LKTsKKyAgICBmYWlsSWZGYWxzZShjb3JyZWN0QXJyb3dG
aW5pc2gsICJFeHBlY3RlZCBhICc7JywgJ10nLCAnfScsICcpJywgb3IgJywnIGZvbGxvd2luZyBh
IGFycm93IGZ1bmN0aW9uIHN0YXRlbWVudCIpOworCisgICAgZW5kID0gdG9rZW5FbmRQb3NpdGlv
bigpOworICAgIHNldEVuZE9mU3RhdGVtZW50KCk7CisKKyAgICByZXR1cm4gY29udGV4dC5jcmVh
dGVSZXR1cm5TdGF0ZW1lbnQobG9jYXRpb24sIGV4cHIsIHN0YXJ0LCBlbmQpOworfQorI2VuZGlm
CisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gUGFyc2VyPExleGVyVHlwZT46OnRyeVBh
cnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkK
IHsKQEAgLTEwMzEsNyArMTA1Niw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZUNsYXVzZUxpc3QgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3dpdGNoQ2xhdXNlCiAgICAgVHJl
ZUV4cHJlc3Npb24gY29uZGl0aW9uID0gcGFyc2VFeHByZXNzaW9uKGNvbnRleHQpOwogICAgIGZh
aWxJZkZhbHNlKGNvbmRpdGlvbiwgIkNhbm5vdCBwYXJzZSBzd2l0Y2ggY2xhdXNlIik7CiAgICAg
Y29uc3VtZU9yRmFpbChDT0xPTiwgIkV4cGVjdGVkIGEgJzonIGFmdGVyIHN3aXRjaCBjbGF1c2Ug
ZXhwcmVzc2lvbiIpOwotICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VT
b3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICBUcmVl
U291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwg
RG9udENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CiAgICAg
ZmFpbElmRmFsc2Uoc3RhdGVtZW50cywgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiBhIHN3aXRj
aCBjbGF1c2UiKTsKICAgICBUcmVlQ2xhdXNlIGNsYXVzZSA9IGNvbnRleHQuY3JlYXRlQ2xhdXNl
KGNvbmRpdGlvbiwgc3RhdGVtZW50cyk7CiAgICAgY29udGV4dC5zZXRTdGFydE9mZnNldChjbGF1
c2UsIHN0YXJ0T2Zmc2V0KTsKQEAgLTEwNDQsNyArMTA2OSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZUNsYXVzZUxpc3QgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3dpdGNo
Q2xhdXNlCiAgICAgICAgIFRyZWVFeHByZXNzaW9uIGNvbmRpdGlvbiA9IHBhcnNlRXhwcmVzc2lv
bihjb250ZXh0KTsKICAgICAgICAgZmFpbElmRmFsc2UoY29uZGl0aW9uLCAiQ2Fubm90IHBhcnNl
IHN3aXRjaCBjYXNlIGV4cHJlc3Npb24iKTsKICAgICAgICAgY29uc3VtZU9yRmFpbChDT0xPTiwg
IkV4cGVjdGVkIGEgJzonIGFmdGVyIHN3aXRjaCBjbGF1c2UgZXhwcmVzc2lvbiIpOwotICAgICAg
ICBUcmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29u
dGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSk7CisgICAgICAgIFRyZWVTb3VyY2VFbGVtZW50
cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JT
dHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICAgICAgZmFpbElmRmFs
c2Uoc3RhdGVtZW50cywgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiBhIHN3aXRjaCBjbGF1c2Ui
KTsKICAgICAgICAgY2xhdXNlID0gY29udGV4dC5jcmVhdGVDbGF1c2UoY29uZGl0aW9uLCBzdGF0
ZW1lbnRzKTsKICAgICAgICAgY29udGV4dC5zZXRTdGFydE9mZnNldChjbGF1c2UsIHN0YXJ0T2Zm
c2V0KTsKQEAgLTEwNjEsNyArMTA4Niw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZUNsYXVzZSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTd2l0Y2hEZWZhdWx0Q2xhCiAgICAg
dW5zaWduZWQgc3RhcnRPZmZzZXQgPSB0b2tlblN0YXJ0KCk7CiAgICAgbmV4dCgpOwogICAgIGNv
bnN1bWVPckZhaWwoQ09MT04sICJFeHBlY3RlZCBhICc6JyBhZnRlciBzd2l0Y2ggZGVmYXVsdCBj
bGF1c2UiKTsKLSAgICBUcmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291cmNl
RWxlbWVudHMoY29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSk7CisgICAgVHJlZVNvdXJj
ZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRD
aGVja0ZvclN0cmljdE1vZGUsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwogICAgIGZhaWxJ
ZkZhbHNlKHN0YXRlbWVudHMsICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgYSBzd2l0Y2ggZGVm
YXVsdCBjbGF1c2UiKTsKICAgICBUcmVlQ2xhdXNlIHJlc3VsdCA9IGNvbnRleHQuY3JlYXRlQ2xh
dXNlKDAsIHN0YXRlbWVudHMpOwogICAgIGNvbnRleHQuc2V0U3RhcnRPZmZzZXQocmVzdWx0LCBz
dGFydE9mZnNldCk7CkBAIC0xMTQ2LDcgKzExNzEsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQmxvY2tTdGF0ZW1l
bgogICAgICAgICBjb250ZXh0LnNldEVuZE9mZnNldChyZXN1bHQsIGVuZE9mZnNldCk7CiAgICAg
ICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdWJ0cmVl
ID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlKTsK
KyAgICBUcmVlU291cmNlRWxlbWVudHMgc3VidHJlZSA9IHBhcnNlU291cmNlRWxlbWVudHMoY29u
dGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7
CiAgICAgZmFpbElmRmFsc2Uoc3VidHJlZSwgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiB0aGUg
YmxvY2sgc3RhdGVtZW50Iik7CiAgICAgbWF0Y2hPckZhaWwoQ0xPU0VCUkFDRSwgIkV4cGVjdGVk
IGEgY2xvc2luZyAnfScgYXQgdGhlIGVuZCBvZiBhIGJsb2NrIHN0YXRlbWVudCIpOwogICAgIGlu
dCBlbmRPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CkBAIC0xMTU4LDcgKzExODMsNyBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlQmxvY2tTdGF0ZW1lbgogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJU
eXBlPgotdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRl
bnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgpCit0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVy
KiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCwgRnVuY3Rpb25Q
YXJzZVR5cGUgcGFyc2VUeXBlKQogewogICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgm
bV9zdGF0ZW1lbnREZXB0aCk7CiAgICAgbV9zdGF0ZW1lbnREZXB0aCsrOwpAQCAtMTE2Nyw2ICsx
MTkyLDIzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgZmFpbElmU3RhY2tPdmVyZmxv
dygpOwogICAgIFRyZWVTdGF0ZW1lbnQgcmVzdWx0ID0gMDsKICAgICBib29sIHNob3VsZFNldEVu
ZE9mZnNldCA9IHRydWU7CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICBz
d2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7CisgICAgICAgIGNhc2UgQ0xPU0VQQVJFTjoKKyAgICAg
ICAgY2FzZSBDTE9TRUJSQUNLRVQ6CisgICAgICAgIGNhc2UgQ09NTUE6CisgICAgICAgIGNhc2Ug
U0VNSUNPTE9OOiB7CisgICAgICAgICAgICByZXN1bHQgPSAwOworICAgICAgICAgICAgY29udGV4
dC5zZXRFbmRPZmZzZXQocmVzdWx0LCBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLm9mZnNldCk7Cisg
ICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICB9CisgICAgICAgIGRlZmF1bHQ6Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKyNlbmRpZgogICAgIHN3aXRjaCAo
bV90b2tlbi5tX3R5cGUpIHsKICAgICBjYXNlIE9QRU5CUkFDRToKICAgICAgICAgcmVzdWx0ID0g
cGFyc2VCbG9ja1N0YXRlbWVudChjb250ZXh0KTsKQEAgLTEyMTIsNiArMTI1NCwxNSBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlU3RhdGVtZW50KFRyZQogICAgIGNhc2UgQlJFQUs6CiAgICAgICAgIHJlc3VsdCA9IHBh
cnNlQnJlYWtTdGF0ZW1lbnQoY29udGV4dCk7CiAgICAgICAgIGJyZWFrOworI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2FzZSBBUlJPV0ZVTkNUSU9OOgorICAgICAg
ICByZXN1bHQgPSBwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoY29udGV4dCk7CisgICAgICAg
IC8vIENvbnN1bWUgdGhlIGVuZCBvZiBhcnJvdyBmdW5jdGlvbiAsO10pIGFuZCBwcmV2ZW50Cisg
ICAgICAgIC8vIHBhcnNlIHRoaXMgc3ltYm9scyBieSBwYXJzZVN0YXRlbWVudCBhcyBzZXBhcmF0
ZSBzdGF0ZW1lbnQKKyAgICAgICAgaWYgKHBhcnNlVHlwZSA9PSBTdGFuZGFyZEZ1bmN0aW9uUGFy
c2VUeXBlKQorICAgICAgICAgICAgbmV4dCgpOworICAgICAgICBicmVhazsKKyNlbmRpZgogICAg
IGNhc2UgUkVUVVJOOgogICAgICAgICByZXN1bHQgPSBwYXJzZVJldHVyblN0YXRlbWVudChjb250
ZXh0KTsKICAgICAgICAgYnJlYWs7CkBAIC0xMjc2LDIwICsxMzI3LDM0IEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZUZvcm1hbFBhcmFtZXRlckxpc3QgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlRm9yCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlRnVuY3Rpb25Cb2R5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUZ1bmN0aW9uQm9keSgKICAgICBUcmVlQnVpbGRlciYgY29udGV4dCwgaW50IGZ1bmN0aW9uS2V5
d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIAotICAgIGludCBwYXJhbWV0ZXJzU3Rh
cnQsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQpCisgICAgaW50IHBhcmFtZXRlcnNT
dGFydCwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCwgRnVuY3Rpb25QYXJzZVR5cGUg
cGFyc2VUeXBlKQogewogICAgIEpTVG9rZW5Mb2NhdGlvbiBzdGFydExvY2F0aW9uKHRva2VuTG9j
YXRpb24oKSk7CiAgICAgdW5zaWduZWQgc3RhcnRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOworI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaWYgKHBhcnNlVHlwZSA9PSBT
dGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgaWYg
KG1hdGNoKENMT1NFQlJBQ0UpKSB7CisgICAgICAgICAgICB1bnNpZ25lZCBlbmRDb2x1bW4gPSB0
b2tlbkNvbHVtbigpOworICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25C
b2R5KHN0YXJ0TG9jYXRpb24sIHRva2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1bW4sIGVuZENvbHVt
biwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3Rh
cnQsIHN0cmljdE1vZGUoKSwgY29uc3RydWN0b3JLaW5kKTsKKyAgICAgICAgfQorICAgIH0KKyNl
bHNlCiAgICAgbmV4dCgpOwotCiAgICAgaWYgKG1hdGNoKENMT1NFQlJBQ0UpKSB7CiAgICAgICAg
IHVuc2lnbmVkIGVuZENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CiAgICAgICAgIHJldHVybiBjb250
ZXh0LmNyZWF0ZUZ1bmN0aW9uQm9keShzdGFydExvY2F0aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0
YXJ0Q29sdW1uLCBlbmRDb2x1bW4sIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVT
dGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBzdHJpY3RNb2RlKCksIGNvbnN0cnVjdG9yS2luZCk7CiAg
ICAgfQorI2VuZGlmCisKICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVt
ZW50RGVwdGgpOwogICAgIG1fc3RhdGVtZW50RGVwdGggPSAwOwogICAgIHR5cGVuYW1lIFRyZWVC
dWlsZGVyOjpGdW5jdGlvbkJvZHlCdWlsZGVyIGJvZHlCdWlsZGVyKGNvbnN0X2Nhc3Q8Vk0qPiht
X3ZtKSwgbV9sZXhlci5nZXQoKSk7Ci0gICAgZmFpbElmRmFsc2UocGFyc2VTb3VyY2VFbGVtZW50
cyhib2R5QnVpbGRlciwgQ2hlY2tGb3JTdHJpY3RNb2RlKSwgIkNhbm5vdCBwYXJzZSBib2R5IG9m
IHRoaXMgZnVuY3Rpb24iKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIGZhaWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMoYm9keUJ1aWxkZXIsIENoZWNrRm9y
U3RyaWN0TW9kZSwgcGFyc2VUeXBlKSwgcGFyc2VUeXBlID09IFN0YW5kYXJkRnVuY3Rpb25QYXJz
ZVR5cGUgPyAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBmdW5jdGlvbiIgOiAiQ2Fubm90IHBh
cnNlIGJvZHkgb2YgdGhpcyBhcnJvdyBmdW5jdGlvbiIpOworI2Vsc2UKKyAgICBmYWlsSWZGYWxz
ZShwYXJzZVNvdXJjZUVsZW1lbnRzKGJvZHlCdWlsZGVyLCBDaGVja0ZvclN0cmljdE1vZGUsIFN0
YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpLCAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBmdW5j
dGlvbiIpOworI2VuZGlmCiAgICAgdW5zaWduZWQgZW5kQ29sdW1uID0gdG9rZW5Db2x1bW4oKTsK
ICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgdG9r
ZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBmdW5jdGlvbktleXdvcmRTdGFy
dCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgc3RyaWN0TW9kZSgpLCBjb25z
dHJ1Y3RvcktpbmQpOwogfQpAQCAtMTM1MCwyOCArMTQxNSw3NiBAQCB0ZW1wbGF0ZSA8dHlwZW5h
bWUgTGV4ZXJUeXBlPiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGludCBQYXJzZXI8TGV4
ZXJUeXBlPgogICAgIAogICAgIHJldHVybiBwYXJhbWV0ZXJzU3RhcnQ7CiB9CisKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlw
ZT4gdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBpbnQgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlQXJyb3dGdW5jdGlvblBhcmFtdGVycyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25Q
YXJzZU1vZGUgbW9kZSwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYgaW5mbykKK3sK
KyAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0
OworICAgIGlmICghbWF0Y2goSURFTlQpICYmICFtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAg
IHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSks
ICIgbmFtZSIpOworICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVkIGFuIGFycm93IGZ1
bmN0aW9uIGlucHV0IHBhcmFtZXRlciIpOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChtYXRj
aChPUEVOUEFSRU4pKSB7CisgICAgICAgICAgICBjb25zdW1lKE9QRU5QQVJFTik7CisgICAgICAg
ICAgICAKKyAgICAgICAgICAgIGlmICghbWF0Y2goQ0xPU0VQQVJFTikpIHsKKyAgICAgICAgICAg
ICAgICBpbmZvLnBhcmFtZXRlcnMgPSBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoY29udGV4dCk7Cisg
ICAgICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNl
IHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgY29uc3VtZU9yRmFpbChDTE9T
RVBBUkVOLCAiRXhwZWN0ZWQgYSAnKScgb3IgYSAnLCcgYWZ0ZXIgYSBwYXJhbWV0ZXIgZGVjbGFy
YXRpb24iKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGF1dG8gcGFyYW1ldGVyID0g
cGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oY29udGV4dCwgRGVjb25zdHJ1Y3RUb1BhcmFtZXRl
cnMpOworICAgICAgICAgICAgZmFpbElmRmFsc2UocGFyYW1ldGVyLCAiQ2Fubm90IHBhcnNlIHBh
cmFtZXRlciBwYXR0ZXJuIik7CisgICAgICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBjb250ZXh0
LmNyZWF0ZUZvcm1hbFBhcmFtZXRlckxpc3QocGFyYW1ldGVyKTsKKyAgICAgICAgICAgIGZhaWxJ
ZkZhbHNlKGluZm8ucGFyYW1ldGVycywgIkNhbm5vdCBwYXJzZSBwYXJhbWV0ZXJzIGZvciB0aGlz
ICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7CisgICAgICAgIH0KKyAgICB9CiAgICAg
CisgICAgcmV0dXJuIHBhcmFtZXRlcnNTdGFydDsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVu
Y3Rpb25SZXF1aXJlbWVudHMgcmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLAot
ICAgIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCBvd25lckNs
YXNzS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJl
ZUJ1aWxkZXI+JiBpbmZvKQorICAgIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENvbnN0
cnVjdG9yS2luZCBvd25lckNsYXNzS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJz
ZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvLCBGdW5jdGlvblBhcnNlVHlwZSBwYXJz
ZVR5cGUpCiB7CiAgICAgQXV0b1BvcFNjb3BlUmVmIGZ1bmN0aW9uU2NvcGUodGhpcywgcHVzaFNj
b3BlKCkpOwogICAgIGZ1bmN0aW9uU2NvcGUtPnNldElzRnVuY3Rpb24oKTsKICAgICBpbnQgZnVu
Y3Rpb25OYW1lU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CiAgICAgY29u
c3QgSWRlbnRpZmllciogbGFzdEZ1bmN0aW9uTmFtZSA9IG1fbGFzdEZ1bmN0aW9uTmFtZTsKICAg
ICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBudWxscHRyOworICAgIGludCBwYXJhbWV0ZXJzU3RhcnQ7
CisgICAgYm9vbCBpc0NsYXNzQ29uc3RydWN0b3I7CiAgICAgCi0gICAgaW50IHBhcmFtZXRlcnNT
dGFydCA9IHBhcnNlRnVuY3Rpb25QYXJhbXRlcnMoY29udGV4dCwgcmVxdWlyZW1lbnRzLCBtb2Rl
LCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgZnVuY3Rpb25TY29wZSwgaW5mbyk7Ci0KLSAgICBt
YXRjaE9yRmFpbChPUEVOQlJBQ0UsICJFeHBlY3RlZCBhbiBvcGVuaW5nICd7JyBhdCB0aGUgc3Rh
cnQgb2YgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOwotCi0gICAg
Ly8gQnl0ZWNvZGVHZW5lcmF0b3IgZW1pdHMgY29kZSB0byB0aHJvdyBUeXBlRXJyb3Igd2hlbiBh
IGNsYXNzIGNvbnN0cnVjdG9yIGlzICJjYWxsImVkLgotICAgIC8vIFNldCBDb25zdHJ1Y3Rvcktp
bmQgdG8gTm9uZSBmb3Igbm9uLWNvbnN0cnVjdG9yIG1ldGhvZHMgb2YgY2xhc3Nlcy4KLSAgICBi
b29sIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IG1vZGUgPT0gTWV0aG9kTW9kZSAmJiBpbmZvLm5hbWUg
JiYgKmluZm8ubmFtZSA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvcjsKLSAgICBp
ZiAobV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kICE9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSkgewot
ICAgICAgICBvd25lckNsYXNzS2luZCA9IG1fZGVmYXVsdENvbnN0cnVjdG9yS2luZDsKLSAgICAg
ICAgaXNDbGFzc0NvbnN0cnVjdG9yID0gdHJ1ZTsKKyAgICBzd2l0Y2ggKHBhcnNlVHlwZSkgewor
ICAgIGNhc2UgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZTogeworICAgICAgICBwYXJhbWV0ZXJz
U3RhcnQgPSBwYXJzZUZ1bmN0aW9uUGFyYW10ZXJzKGNvbnRleHQsIHJlcXVpcmVtZW50cywgbW9k
ZSwgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIGZ1bmN0aW9uU2NvcGUsIGluZm8pOworICAgICAg
ICAgICAgCisgICAgICAgIG1hdGNoT3JGYWlsKE9QRU5CUkFDRSwgIkV4cGVjdGVkIGFuIG9wZW5p
bmcgJ3snIGF0IHRoZSBzdGFydCBvZiBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwg
IiBib2R5Iik7CisgICAgICAgIAorICAgICAgICAvLyBCeXRlY29kZUdlbmVyYXRvciBlbWl0cyBj
b2RlIHRvIHRocm93IFR5cGVFcnJvciB3aGVuIGEgY2xhc3MgY29uc3RydWN0b3IgaXMgImNhbGwi
ZWQuCisgICAgICAgIC8vIFNldCBDb25zdHJ1Y3RvcktpbmQgdG8gTm9uZSBmb3Igbm9uLWNvbnN0
cnVjdG9yIG1ldGhvZHMgb2YgY2xhc3Nlcy4KKyAgICAgICAgaXNDbGFzc0NvbnN0cnVjdG9yID0g
bW9kZSA9PSBNZXRob2RNb2RlICYmIGluZm8ubmFtZSAmJiAqaW5mby5uYW1lID09IG1fdm0tPnBy
b3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yOworICAgICAgICBpZiAobV9kZWZhdWx0Q29uc3RydWN0
b3JLaW5kICE9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSkgeworICAgICAgICAgICAgb3duZXJDbGFz
c0tpbmQgPSBtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQ7CisgICAgICAgICAgICBpc0NsYXNzQ29u
c3RydWN0b3IgPSB0cnVlOworICAgICAgICB9CisgICAgICAgIGJyZWFrOwogICAgIH0KKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2UgQXJyb3dGdW5jdGlvblBh
cnNlVHlwZTogeworICAgICAgICBwYXJhbWV0ZXJzU3RhcnQgPSBwYXJzZUFycm93RnVuY3Rpb25Q
YXJhbXRlcnMoY29udGV4dCwgbW9kZSwgaW5mbyk7CisgICAgICAgIAorICAgICAgICBtYXRjaE9y
RmFpbChBUlJPV0ZVTkNUSU9OLCAiRXhwZWN0ZWQgYSAnPT4nIGFmdGVyIGFycm93IGZ1bmN0aW9u
IHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSBm
YWxzZTsKKyAgICAgICAgCisgICAgICAgIGluZm8uYXJyb3dGdW5jdGlvbk9mZnNldCA9IG1fdG9r
ZW4ubV9kYXRhLm9mZnNldDsKKyAgICAgICAgYnJlYWs7CisgICAgfQorI2VuZGlmCisgICAgfQor
CiAgICAgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCA9IGlzQ2xhc3NDb25zdHJ1Y3Rv
ciA/IG93bmVyQ2xhc3NLaW5kIDogQ29uc3RydWN0b3JLaW5kOjpOb25lOwogCiAgICAgaW5mby5v
cGVuQnJhY2VPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CkBAIC0xNDA1LDggKzE1MTgs
MTUgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgZmFpbElmRmFsc2UocG9wU2Nv
cGUoZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQ
YXJzZXIgZXJyb3IiKTsKICAgICAgICAgCiAgICAgICAgIGluZm8uY2xvc2VCcmFjZU9mZnNldCA9
IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VPZmZzZXQ7Ci0KLSAgICAgICAgbV90b2tlbiA9IGNhY2hl
ZEluZm8tPmNsb3NlQnJhY2VUb2tlbigpOworICAgICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25Q
YXJzZVR5cGUpCisgICAgICAgICAgICBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPSBjYWNoZWRJbmZv
LT5pc0JvZHlBcnJvd0V4cHJlc3Npb24gPyAgQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uIDog
QXJyb3dGdW5jdGlvbkJvZHlCbG9jazsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgaW5mby5m
dW5jdGlvbkJvZHlUeXBlID0gU3RhbmRhcmRGdW5jdGlvbkJvZHlCbG9jazsKKyNlbmRpZgorICAg
ICAgICBtX3Rva2VuID0gY2FjaGVkSW5mby0+ZW5kRnVuY3Rpb25Ub2tlbigpOworICAgICAgICAK
ICAgICAgICAgaWYgKGVuZENvbHVtbklzT25TdGFydExpbmUpCiAgICAgICAgICAgICBtX3Rva2Vu
Lm1fbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVTdGFydE9mZnNldDsKIApA
QCAtMTQxNSwxMyArMTUzNSw0MyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wg
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogCiAgICAgICAg
IGNvbnRleHQuc2V0RW5kT2Zmc2V0KGluZm8uYm9keSwgbV9sZXhlci0+Y3VycmVudE9mZnNldCgp
KTsKICAgICAgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAg
ICAgaWYgKHBhcnNlVHlwZSAhPSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlIHx8IGluZm8uZnVuY3Rp
b25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrKQorICAgICAgICAgICAgbmV4dCgp
OworI2Vsc2UKICAgICAgICAgbmV4dCgpOworI2VuZGlmCiAgICAgICAgIGluZm8uYm9keUVuZExp
bmUgPSBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmU7CiAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgIH0KKyAgICAKICAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBsYXN0RnVuY3Rpb25OYW1lOwog
ICAgIFBhcnNlclN0YXRlIG9sZFN0YXRlID0gc2F2ZVN0YXRlKCk7Ci0gICAgaW5mby5ib2R5ID0g
cGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9u
TmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCk7CisgICAgCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBlID09IEFy
cm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVQb2ludCA9IGNy
ZWF0ZVNhdmVQb2ludCgpOworICAgICAgICBuZXh0KCk7CisgICAgICAgIC8vIENoZWNrIGlmIGFy
cm93IGJvZHkgc3RhcnQgd2l0aCB7LiBJZiBpdCB0cnVlIGl0IG1lYW4gdGhhdCBhcnJvdyBmdW5j
dGlvbiBpcyBGYXQgYXJyb3cgZnVuY3Rpb24KKyAgICAgICAgLy8gYW5kIHdlIG5lZWQgdXNlIGNv
bW1vbiBhcHByb2FjaCB0byBwYXJzZSBmdW5jdGlvbiBib2R5CisgICAgICAgIGluZm8uZnVuY3Rp
b25Cb2R5VHlwZSA9IG1hdGNoKE9QRU5CUkFDRSkgPyBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrIDog
QXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOworICAgIAorICAgICAgICBpZiAoaW5mby5mdW5j
dGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHsKKyAgICAgICAgICAgIGlu
Zm8ub3BlbkJyYWNlT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgICAgICAgICAg
aW5mby5ib2R5U3RhcnRMaW5lID0gdG9rZW5MaW5lKCk7CisgICAgICAgICAgICBpbmZvLmJvZHlT
dGFydENvbHVtbiA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldCAtIG1fdG9rZW4ubV9kYXRhLmxpbmVT
dGFydE9mZnNldDsKKyAgICAgICAgCisgICAgICAgICAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0
aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQs
IHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VU
eXBlKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2
ZVBvaW50KTsKKyAgICAgICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRl
eHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0
YXJ0LCBjb25zdHJ1Y3RvcktpbmQsIEFycm93RnVuY3Rpb25QYXJzZVR5cGUpOworICAgICAgICB9
CisgICAgfSBlbHNlCisgICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRl
eHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0
YXJ0LCBjb25zdHJ1Y3RvcktpbmQsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOworI2Vsc2UK
KyAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdv
cmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JL
aW5kLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNlbmRpZgorICAgIAogICAgIHJlc3Rv
cmVTdGF0ZShvbGRTdGF0ZSk7CiAgICAgZmFpbElmRmFsc2UoaW5mby5ib2R5LCAiQ2Fubm90IHBh
cnNlIHRoZSBib2R5IG9mIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKICAg
ICBjb250ZXh0LnNldEVuZE9mZnNldChpbmZvLmJvZHksIG1fbGV4ZXItPmN1cnJlbnRPZmZzZXQo
KSk7CkBAIC0xNDUyLDE4ICsxNjAyLDMyIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
Ym9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAg
ICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmUgPSBjbG9zZUJyYWNlTGluZTsKICAgICAgICAg
cGFyYW1ldGVycy5jbG9zZUJyYWNlT2Zmc2V0ID0gaW5mby5jbG9zZUJyYWNlT2Zmc2V0OwogICAg
ICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNlTGlu
ZVN0YXJ0T2Zmc2V0OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAg
ICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICAg
ICAgcGFyYW1ldGVycy5pc0JvZHlBcnJvd0V4cHJlc3Npb24gPSBpbmZvLmZ1bmN0aW9uQm9keVR5
cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOworICAgICAgICAgICAgcGFyYW1ldGVy
cy50b2tlblR5cGUgPSBtX3Rva2VuLm1fdHlwZTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAg
IGZ1bmN0aW9uU2NvcGUtPmZpbGxQYXJhbWV0ZXJzRm9yU291cmNlUHJvdmlkZXJDYWNoZShwYXJh
bWV0ZXJzKTsKICAgICAgICAgbmV3SW5mbyA9IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjpjcmVh
dGUocGFyYW1ldGVycyk7Ci0KICAgICB9CiAgICAgCiAgICAgZmFpbElmRmFsc2UocG9wU2NvcGUo
ZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQYXJz
ZXIgZXJyb3IiKTsKKyAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIGlmICgocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUgJiYgaW5mby5mdW5j
dGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHx8IHBhcnNlVHlwZSAhPSBB
cnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0Us
ICJFeHBlY3RlZCBhIGNsb3NpbmcgJ30nIGFmdGVyIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2Rl
KG1vZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgbmV4dCgpOworICAgIH0gZWxzZQorICAgICAgICBm
YWlsSWZGYWxzZShpc0VuZE9mQXJyb3dGdW5jdGlvbigpLCAiRXhwZWN0ZWQgdGhlIGNsb3Npbmcg
JzsnICcsJyAnXScgJyknICd9JyBhZnRlciBhcnJvdyBmdW5jdGlvbiIpOworI2Vsc2UKICAgICBt
YXRjaE9yRmFpbChDTE9TRUJSQUNFLCAiRXhwZWN0ZWQgYSBjbG9zaW5nICd9JyBhZnRlciBhICIs
IHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7CisgICAgbmV4dCgpOworI2Vu
ZGlmCiAgICAgCiAgICAgaWYgKG5ld0luZm8pCiAgICAgICAgIG1fZnVuY3Rpb25DYWNoZS0+YWRk
KGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBXVEY6Om1vdmUobmV3SW5mbykpOwogICAgIAotICAgIG5l
eHQoKTsKICAgICBpbmZvLmJvZHlFbmRMaW5lID0gbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5l
OwogICAgIHJldHVybiB0cnVlOwogfQpAQCAtMTQ3Niw3ICsxNjQwLDcgQEAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1
bmN0aW9uRGVjbGEKICAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2VuU3Rh
cnQoKTsKICAgICBuZXh0KCk7CiAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBp
bmZvOwotICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlv
bk5lZWRzTmFtZSwgRnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1
bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvKSksICJDYW5ub3QgcGFyc2UgdGhpcyBmdW5jdGlvbiIp
OworICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5l
ZWRzTmFtZSwgRnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0
aW9uS2V5d29yZFN0YXJ0LCBpbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5u
b3QgcGFyc2UgdGhpcyBmdW5jdGlvbiIpOwogICAgIGZhaWxJZkZhbHNlKGluZm8ubmFtZSwgIkZ1
bmN0aW9uIHN0YXRlbWVudHMgbXVzdCBoYXZlIGEgbmFtZSIpOwogICAgIGZhaWxJZkZhbHNlSWZT
dHJpY3QoZGVjbGFyZVZhcmlhYmxlKGluZm8ubmFtZSksICJDYW5ub3QgZGVjbGFyZSBhIGZ1bmN0
aW9uIG5hbWVkICciLCBpbmZvLm5hbWUtPmltcGwoKSwgIicgaW4gc3RyaWN0IG1vZGUiKTsKICAg
ICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jRGVjbFN0YXRlbWVudChsb2NhdGlvbiwgaW5mbyk7
CkBAIC0xNTczLDcgKzE3MzcsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVD
bGFzc0V4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3MoVAogICAgICAgICAg
ICAgZmFpbElmRmFsc2UocHJvcGVydHksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2QiKTsKICAg
ICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRl
cj4gbWV0aG9kSW5mbzsKLSAgICAgICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5m
byhjb250ZXh0LCBGdW5jdGlvbk5lZWRzTmFtZSwgaXNTdGF0aWNNZXRob2QgPyBGdW5jdGlvbk1v
ZGUgOiBNZXRob2RNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBtZXRob2RTdGFydCwgbWV0
aG9kSW5mbykpLCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9kIik7CisgICAgICAgICAgICBmYWls
SWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OZWVkc05hbWUsIGlz
U3RhdGljTWV0aG9kID8gRnVuY3Rpb25Nb2RlIDogTWV0aG9kTW9kZSwgZmFsc2UsIGNvbnN0cnVj
dG9yS2luZCwgbWV0aG9kU3RhcnQsIG1ldGhvZEluZm8sIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5
cGUpKSwgIkNhbm5vdCBwYXJzZSB0aGlzIG1ldGhvZCIpOwogICAgICAgICAgICAgZmFpbElmRmFs
c2UobWV0aG9kSW5mby5uYW1lLCAibWV0aG9kIG11c3QgaGF2ZSBhIG5hbWUiKTsKICAgICAgICAg
ICAgIGZhaWxJZkZhbHNlKGRlY2xhcmVWYXJpYWJsZShtZXRob2RJbmZvLm5hbWUpLCAiQ2Fubm90
IGRlY2xhcmUgYSBtZXRob2QgbmFtZWQgJyIsIG1ldGhvZEluZm8ubmFtZS0+aW1wbCgpLCAiJyIp
OwogCkBAIC0xNzg5LDYgKzE5NTMsMTggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlmU3RhdGVtZW50KFQKICAgICBy
ZXR1cm4gY29udGV4dC5jcmVhdGVJZlN0YXRlbWVudChpZkxvY2F0aW9uLCBjb25kaXRpb24sIHRy
dWVCbG9jaywgc3RhdGVtZW50U3RhY2subGFzdCgpLCBzdGFydCwgZW5kKTsKIH0KIAorI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJU
eXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29u
dGV4dCkKK3sKKyAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7CisgICAgVHJlZUV4cHJlc3Npb24g
bm9kZSA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24oY29udGV4dCk7CisgICAgZmFpbElmRmFs
c2Uobm9kZSwgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9uIik7CisgICAgY29udGV4dC5zZXRFbmRP
ZmZzZXQobm9kZSwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5vZmZzZXQpOworICAgIHJldHVybiBu
b2RlOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7CkBAIC0xODM2LDYgKzIwMTIs
NDEgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KICAgICAgICAgfQogICAgICAgICByZXN0b3Jl
U2F2ZVBvaW50KHNhdmVQb2ludCk7CiAgICAgfQorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0
ZVNhdmVQb2ludCgpOworICAgIGJvb2wgYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCA9IGZhbHNlOwor
ICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgaWYg
KG1hdGNoKENMT1NFUEFSRU4pKSB7CisgICAgICAgICAgICBuZXh0KCk7CisKKyAgICAgICAgICAg
IGlmIChtYXRjaChBUlJPV0ZVTkNUSU9OKSkKKyAgICAgICAgICAgICAgICBhcnJvd0Z1bmN0aW9u
RW1wdHlMaXN0ID0gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICghYXJyb3dGdW5jdGlv
bkVtcHR5TGlzdCkKKyAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rp
b25Qb2ludCk7CisgICAgfQorCisgICAgVHJlZUV4cHJlc3Npb24gbGhzOworICAgIGlmICghYXJy
b3dGdW5jdGlvbkVtcHR5TGlzdCkgeworICAgICAgICBsaHMgPSBwYXJzZUNvbmRpdGlvbmFsRXhw
cmVzc2lvbihjb250ZXh0KTsKKyAgICAgICAgZmFpbElmRmFsc2UobGhzLCAiQ2FuGW5vdCBwYXJz
ZSBleHByZXNzaW9uIik7CisgICAgICAgIGlmIChpbml0aWFsTm9uTEhTQ291bnQgIT0gbV9ub25M
SFNDb3VudCkgeworICAgICAgICAgICAgaWYgKG1fdG9rZW4ubV90eXBlID49IEVRVUFMICYmIG1f
dG9rZW4ubV90eXBlIDw9IE9SRVFVQUwpCisgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsKCJM
ZWZ0IGhhbmQgc2lkZSBvZiBvcGVyYXRvciAnIiwgZ2V0VG9rZW4oKSwgIicgbXVzdCBiZSBhIHJl
ZmVyZW5jZSIpOworCisgICAgICAgICAgICByZXR1cm4gbGhzOworICAgICAgICB9CisgICAgfQor
CisgICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJT04pKSB7CisgICAgICAgIHJlc3RvcmVTYXZlUG9p
bnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAgICAgIGxocyA9IHBhcnNlQXJyb3dGdW5j
dGlvbldyYXBwZXIoY29udGV4dCk7CisgICAgICAgIHJldHVybiBsaHM7CisgICAgfQorI2Vsc2UK
ICAgICBUcmVlRXhwcmVzc2lvbiBsaHMgPSBwYXJzZUNvbmRpdGlvbmFsRXhwcmVzc2lvbihjb250
ZXh0KTsKICAgICBmYWlsSWZGYWxzZShsaHMsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lvbiIpOwog
ICAgIGlmIChpbml0aWFsTm9uTEhTQ291bnQgIT0gbV9ub25MSFNDb3VudCkgewpAQCAtMTg0NCw3
ICsyMDU1LDggQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lv
biBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KIAogICAgICAgICByZXR1cm4gbGhz
OwogICAgIH0KLSAgICAKKyNlbmRpZgorCiAgICAgaW50IGFzc2lnbm1lbnRTdGFjayA9IDA7CiAg
ICAgT3BlcmF0b3Igb3A7CiAgICAgYm9vbCBoYWRBc3NpZ25tZW50ID0gZmFsc2U7CkBAIC0yMDc2
LDcgKzIyODgsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9u
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5TWV0aAogICAgIEpTVG9rZW5Mb2NhdGlv
biBtZXRob2RMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwogICAgIHVuc2lnbmVkIG1ldGhvZFN0
YXJ0ID0gdG9rZW5TdGFydCgpOwogICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4g
bWV0aG9kSW5mbzsKLSAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwg
RnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgTWV0aG9kTW9kZSwgZmFsc2UsIENvbnN0cnVjdG9yS2lu
ZDo6Tm9uZSwgbWV0aG9kU3RhcnQsIG1ldGhvZEluZm8pKSwgIkNhbm5vdCBwYXJzZSB0aGlzIG1l
dGhvZCIpOworICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5j
dGlvbk5vUmVxdWlyZW1lbnRzLCBNZXRob2RNb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpO
b25lLCBtZXRob2RTdGFydCwgbWV0aG9kSW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkp
LCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9kIik7CiAgICAgbWV0aG9kSW5mby5uYW1lID0gbWV0
aG9kTmFtZTsKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkV4cHIobWV0aG9kTG9j
YXRpb24sIG1ldGhvZEluZm8pOwogfQpAQCAtMjEwMiwxMCArMjMxNCwxMCBAQCB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VH
ZXR0ZXJTZXR0ZXIoVAogICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gaW5mbzsK
ICAgICBpZiAodHlwZSA9PSBQcm9wZXJ0eU5vZGU6OkdldHRlcikgewogICAgICAgICBmYWlsSWZG
YWxzZShtYXRjaChPUEVOUEFSRU4pLCAiRXhwZWN0ZWQgYSBwYXJhbWV0ZXIgbGlzdCBmb3IgZ2V0
dGVyIGRlZmluaXRpb24iKTsKLSAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZv
KGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEdldHRlck1vZGUsIGZhbHNlLCBjb25z
dHJ1Y3RvcktpbmQsIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIGluZm8pKSwgIkNhbm5vdCBw
YXJzZSBnZXR0ZXIgZGVmaW5pdGlvbiIpOworICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5j
dGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgR2V0dGVyTW9kZSwgZmFs
c2UsIGNvbnN0cnVjdG9yS2luZCwgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgaW5mbywgU3Rh
bmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIGdldHRlciBkZWZpbml0aW9u
Iik7CiAgICAgfSBlbHNlIHsKICAgICAgICAgZmFpbElmRmFsc2UobWF0Y2goT1BFTlBBUkVOKSwg
IkV4cGVjdGVkIGEgcGFyYW1ldGVyIGxpc3QgZm9yIHNldHRlciBkZWZpbml0aW9uIik7Ci0gICAg
ICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVx
dWlyZW1lbnRzLCBTZXR0ZXJNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBnZXR0ZXJPclNl
dHRlclN0YXJ0T2Zmc2V0LCBpbmZvKSksICJDYW5ub3QgcGFyc2Ugc2V0dGVyIGRlZmluaXRpb24i
KTsKKyAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0
aW9uTm9SZXF1aXJlbWVudHMsIFNldHRlck1vZGUsIGZhbHNlLCBjb25zdHJ1Y3RvcktpbmQsIGdl
dHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIGluZm8sIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUp
KSwgIkNhbm5vdCBwYXJzZSBzZXR0ZXIgZGVmaW5pdGlvbiIpOwogICAgIH0KICAgICBpZiAoc3Ry
aW5nUHJvcGVydHlOYW1lKQogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVHZXR0ZXJPclNl
dHRlclByb3BlcnR5KGxvY2F0aW9uLCB0eXBlLCBzdHJpY3QsIHN0cmluZ1Byb3BlcnR5TmFtZSwg
aW5mbywgc3VwZXJCaW5kaW5nKTsKQEAgLTIzNTQsNyArMjU2Niw3IEBAIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJp
bWFyeUV4cHJlCiAgICAgICAgIG5leHQoKTsKICAgICAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRy
ZWVCdWlsZGVyPiBpbmZvOwogICAgICAgICBpbmZvLm5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1l
cy0+bnVsbElkZW50aWZpZXI7Ci0gICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5m
byhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlvbk1vZGUsIGZhbHNlLCBD
b25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvKSksICJDYW5u
b3QgcGFyc2UgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgICAgICBmYWlsSWZGYWxzZSgocGFy
c2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgRnVuY3Rpb25N
b2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBmdW5jdGlvbktleXdvcmRTdGFydCwg
aW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIGZ1bmN0aW9u
IGV4cHJlc3Npb24iKTsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25FeHBy
KGxvY2F0aW9uLCBpbmZvKTsKICAgICB9CiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCkBA
IC0yMzgzLDYgKzI1OTUsMjMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhw
cmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAgcmV0
dXJuIGNvbnRleHQudGhpc0V4cHIobG9jYXRpb24sIG1fdGhpc1REWk1vZGUpOwogICAgIH0KICAg
ICBjYXNlIElERU5UOiB7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICAgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQo
KTsKKyAgICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsK
KyAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsK
KyAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CisgICAg
ICAgIG5leHQoKTsKKworICAgICAgICBpZiAoIW1hdGNoKEFSUk9XRlVOQ1RJT04pKSB7CisgICAg
ICAgICAgICBjdXJyZW50U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRlbnQsIG1fdm0tPnByb3BlcnR5
TmFtZXMtPmV2YWwgPT0gKmlkZW50KTsKKyAgICAgICAgICAgIG1fbGFzdElkZW50aWZpZXIgPSBp
ZGVudDsKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJlc29sdmUobG9jYXRpb24s
IGlkZW50LCBzdGFydCk7CisgICAgICAgIH0KKworICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNh
dmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICBUcmVlRXhwcmVzc2lvbiBsaHMgPSBwYXJz
ZUFycm93RnVuY3Rpb25XcmFwcGVyKGNvbnRleHQpOworICAgICAgICByZXR1cm4gbGhzOworI2Vs
c2UKICAgICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsK
ICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsK
ICAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CkBAIC0y
MzkwLDYgKzI2MTksNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNz
aW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHByZQogICAgICAgICBjdXJyZW50
U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRlbnQsIG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0g
KmlkZW50KTsKICAgICAgICAgbV9sYXN0SWRlbnRpZmllciA9IGlkZW50OwogICAgICAgICByZXR1
cm4gY29udGV4dC5jcmVhdGVSZXNvbHZlKGxvY2F0aW9uLCBpZGVudCwgc3RhcnQpOworI2VuZGlm
CiAgICAgfQogICAgIGNhc2UgU1RSSU5HOiB7CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlk
ZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CkBAIC0yNTgxLDYgKzI4MTEsMzIgQEAgZW5kTWVt
YmVyRXhwcmVzc2lvbjoKICAgICByZXR1cm4gYmFzZTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBU
cmVlRXhwcmVzc2lvbiBiYXNlID0gMDsKKyAgICBKU1RleHRQb3NpdGlvbiBleHByZXNzaW9uU3Rh
cnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICBpbnQgbmV3Q291bnQgPSAwOworICAgIEpT
VG9rZW5Mb2NhdGlvbiBsb2NhdGlvbjsKKworICAgIGlmIChtYXRjaChJREVOVCkgfHwgbWF0Y2go
T1BFTlBBUkVOKSkgeworICAgICAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRv
a2VuU3RhcnQoKTsKKyAgICAgICAgbG9jYXRpb24gPSB0b2tlbkxvY2F0aW9uKCk7CisgICAgICAg
IFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gaW5mbzsKKyAgICAgICAgaW5mby5uYW1l
ID0gJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyOworICAgICAgICBmYWlsSWZG
YWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywg
RnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29y
ZFN0YXJ0LCBpbmZvLCBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2UgYXJy
b3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgICAgICBiYXNlID0gY29udGV4dC5jcmVhdGVB
cnJvd0Z1bmN0aW9uRXhwcihsb2NhdGlvbiwgaW5mbyk7CisgICAgfSBlbHNlCisgICAgICAgIGJh
c2UgPSBwYXJzZVByaW1hcnlFeHByZXNzaW9uKGNvbnRleHQpOworCisgICAgZmFpbElmRmFsc2Uo
YmFzZSwgIkNhbm5vdCBwYXJzZSBiYXNlIGV4cHJlc3Npb24iKTsKKyAgICB3aGlsZSAobmV3Q291
bnQtLSkKKyAgICAgICAgYmFzZSA9IGNvbnRleHQuY3JlYXRlTmV3RXhwcihsb2NhdGlvbiwgYmFz
ZSwgZXhwcmVzc2lvblN0YXJ0LCBsYXN0VG9rZW5FbmRQb3NpdGlvbigpKTsKKyAgICByZXR1cm4g
YmFzZTsKK30KKyNlbmRpZgorCiBzdGF0aWMgY29uc3QgY2hhciogb3BlcmF0b3JTdHJpbmcoYm9v
bCBwcmVmaXgsIHVuc2lnbmVkIHRvaykKIHsKICAgICBzd2l0Y2ggKHRvaykgewpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKaW5kZXggODc5ZTFlMjgxNjcxOTc3Mzg5OWY1MjU3NWVm
YTM1YzAyZTdkMTNmZS4uNzdhZTM5Njc3YWFhY2ZlN2EyNDYwMjRhZTFiYTExOWVkMmE0N2FjNyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC04MCw2ICs4MCwxMSBAQCBj
bGFzcyBTb3VyY2VDb2RlOwogQ09NUElMRV9BU1NFUlQoTGFzdFVudGFnZ2VkVG9rZW4gPCA2NCwg
TGVzc1RoYW42NFVudGFnZ2VkVG9rZW5zKTsKIAogZW51bSBTb3VyY2VFbGVtZW50c01vZGUgeyBD
aGVja0ZvclN0cmljdE1vZGUsIERvbnRDaGVja0ZvclN0cmljdE1vZGUgfTsKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorZW51bSBGdW5jdGlvblBhcnNlVHlwZSB7IFN0YW5k
YXJkRnVuY3Rpb25QYXJzZVR5cGUsIEFycm93RnVuY3Rpb25QYXJzZVR5cGUgfTsKKyNlbHNlCitl
bnVtIEZ1bmN0aW9uUGFyc2VUeXBlIHsgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZX07CisjZW5k
aWYKIGVudW0gRnVuY3Rpb25SZXF1aXJlbWVudHMgeyBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBG
dW5jdGlvbk5lZWRzTmFtZSB9OwogZW51bSBGdW5jdGlvblBhcnNlTW9kZSB7CiAgICAgRnVuY3Rp
b25Nb2RlLApAQCAtNjE4LDYgKzYyMywxMyBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gbV90
b2tlbi5tX3R5cGUgPT0gSURFTlQgJiYgKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnBy
b3BlcnR5TmFtZXMtPm9mOwogICAgIH0KICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIEFMV0FZU19JTkxJTkUgYm9vbCBpc0VuZE9mQXJyb3dGdW5jdGlvbigp
CisgICAgeworICAgICAgICByZXR1cm4gbWF0Y2goU0VNSUNPTE9OKSB8fCBtYXRjaChDT01NQSkg
fHwgbWF0Y2goQ0xPU0VQQVJFTikgfHwgbWF0Y2goQ0xPU0VCUkFDRSkgfHwgbWF0Y2goQ0xPU0VC
UkFDS0VUKTsKKyAgICB9CisjZW5kaWYKKyAgICAKICAgICBBTFdBWVNfSU5MSU5FIHVuc2lnbmVk
IHRva2VuU3RhcnQoKQogICAgIHsKICAgICAgICAgcmV0dXJuIG1fdG9rZW4ubV9sb2NhdGlvbi5z
dGFydE9mZnNldDsKQEAgLTcyMSw5ICs3MzMsOSBAQCBwcml2YXRlOgogICAgICAgICB9CiAgICAg
ICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIAotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxk
ZXImLCBTb3VyY2VFbGVtZW50c01vZGUpOwotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYsIGNvbnN0IElkZW50
aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMCk7
CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBw
YXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxlbWVudHNNb2RlLCBGdW5j
dGlvblBhcnNlVHlwZSk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3Rh
dGVtZW50IHBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRp
cmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwLCBGdW5jdGlvblBh
cnNlVHlwZSB0eXBlID0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CiAjaWYgRU5BQkxFKEVT
Nl9DTEFTU19TWU5UQVgpCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3Rh
dGVtZW50IHBhcnNlQ2xhc3NEZWNsYXJhdGlvbihUcmVlQnVpbGRlciYpOwogI2VuZGlmCkBAIC03
NjIsMjcgKzc3NCwzNiBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVByb3BlcnR5IHBhcnNlUHJvcGVydHkoVHJlZUJ1aWxkZXImLCBib29sIHN0cmljdCk7
CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZVBy
b3BlcnR5TWV0aG9kKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiBtZXRo
b2ROYW1lKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBw
YXJzZUdldHRlclNldHRlcihUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0LCBQcm9wZXJ0eU5vZGU6
OlR5cGUsIHVuc2lnbmVkIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIENvbnN0cnVjdG9yS2lu
ZCA9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJCaW5kaW5nID0gU3VwZXJCaW5kaW5nOjpO
b3ROZWVkZWQpOwotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElO
RSBUcmVlRnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVyJiwgaW50IGZ1
bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIGludCBwYXJhbWV0ZXJz
U3RhcnQsIENvbnN0cnVjdG9yS2luZCk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VGdW5jdGlvbkJvZHkoVHJlZUJ1
aWxkZXImLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwg
aW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kLCBGdW5jdGlvblBhcnNlVHlwZSBm
dW5jdGlvblBhcnNlVHlwZSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdB
WVNfSU5MSU5FIFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhU
cmVlQnVpbGRlciYpOwogICAgIGVudW0gVmFyRGVjbGFyYXRpb25MaXN0Q29udGV4dCB7IEZvckxv
b3BDb250ZXh0LCBWYXJEZWNsYXJhdGlvbkNvbnRleHQgfTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlVmFyRGVjbGFyYXRpb25MaXN0KFRyZWVC
dWlsZGVyJiwgaW50JiBkZWNsYXJhdGlvbnMsIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4mIGxh
c3RQYXR0ZXJuLCBUcmVlRXhwcmVzc2lvbiYgbGFzdEluaXRpYWxpemVyLCBKU1RleHRQb3NpdGlv
biYgaWRlbnRTdGFydCwgSlNUZXh0UG9zaXRpb24mIGluaXRTdGFydCwgSlNUZXh0UG9zaXRpb24m
IGluaXRFbmQsIFZhckRlY2xhcmF0aW9uTGlzdENvbnRleHQpOwogICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVDb25zdERlY2xMaXN0IHBhcnNlQ29uc3RE
ZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImKTsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVz
c2lvbiBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CisgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQXJyb3dGdW5jdGlv
blN0YXRlbWVudChUcmVlQnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZUV4cHJlc3Npb24gcGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihUcmVlQnVpbGRlciYp
OworI2VuZGlmCisKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElO
RSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIGNyZWF0ZUJpbmRpbmdQYXR0ZXJuKFRyZWVCdWls
ZGVyJiwgRGVjb25zdHJ1Y3Rpb25LaW5kLCBjb25zdCBJZGVudGlmaWVyJiwgaW50IGRlcHRoLCBK
U1Rva2VuKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBU
cmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIHBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuKFRyZWVC
dWlsZGVyJiwgRGVjb25zdHJ1Y3Rpb25LaW5kLCBpbnQgZGVwdGggPSAwKTsKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0
ZXJuIHRyeVBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuRXhwcmVzc2lvbihUcmVlQnVpbGRlciYp
OwotCi0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgYm9vbCBw
YXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzLCBGdW5j
dGlvblBhcnNlTW9kZSwgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29uc3RydWN0b3JL
aW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVp
bGRlcj4mKTsKLSAgICAKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lO
TElORSBpbnQgcGFyc2VGdW5jdGlvblBhcmFtdGVycyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVx
dWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSwgYm9vbCwgQXV0b1BvcFNjb3BlUmVmJiwgUGFy
c2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYpOwotI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lO
VEFYKQotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVD
bGFzc0V4cHJlc3Npb24gcGFyc2VDbGFzcyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1l
bnRzLCBQYXJzZXJDbGFzc0luZm88VHJlZUJ1aWxkZXI+Jik7CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVS
X0lOTElORSBpbnQgcGFyc2VBcnJvd0Z1bmN0aW9uUGFyYW10ZXJzKFRyZWVCdWlsZGVyJiwgRnVu
Y3Rpb25QYXJzZU1vZGUsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mKTsKICNlbmRp
ZgorCiAjaWYgRU5BQkxFKEVTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6
VGVtcGxhdGVTdHJpbmcgcGFyc2VUZW1wbGF0ZVN0cmluZyhUcmVlQnVpbGRlciYgY29udGV4dCwg
Ym9vbCBpc1RlbXBsYXRlSGVhZCwgYm9vbCYgZWxlbWVudElzVGFpbCk7CiAgICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OlRl
bXBsYXRlTGl0ZXJhbCBwYXJzZVRlbXBsYXRlTGl0ZXJhbChUcmVlQnVpbGRlciYpOwogI2VuZGlm
CiAKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBib29sIHBh
cnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIEZ1bmN0
aW9uUGFyc2VNb2RlLCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3Rvcktp
bmQsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWls
ZGVyPiYsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNpZiBFTkFCTEUo
RVM2X0NMQVNTX1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVS
X0lOTElORSBUcmVlQ2xhc3NFeHByZXNzaW9uIHBhcnNlQ2xhc3MoVHJlZUJ1aWxkZXImLCBGdW5j
dGlvblJlcXVpcmVtZW50cywgUGFyc2VyQ2xhc3NJbmZvPFRyZWVCdWlsZGVyPiYpOworI2VuZGlm
CisKICAgICBBTFdBWVNfSU5MSU5FIGludCBpc0JpbmFyeU9wZXJhdG9yKEpTVG9rZW5UeXBlKTsK
ICAgICBib29sIGFsbG93QXV0b21hdGljU2VtaWNvbG9uKCk7CiAgICAgCkBAIC03OTUsNiArODE2
LDE0IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBhbGxvd0F1dG9tYXRpY1NlbWljb2xvbigp
OwogICAgIH0KICAgICAKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgdm9pZCBzZXRFbmRPZlN0YXRlbWVudCgpCisgICAgeworICAgICAgICBtX2xleGVyLT5zZXRU
b2tlblBvc2l0aW9uKCZtX3Rva2VuKTsKKyAgICB9CisjZW5kaWYKKwogICAgIGJvb2wgY2FuUmVj
dXJzZSgpCiAgICAgewogICAgICAgICByZXR1cm4gbV92bS0+aXNTYWZlVG9SZWN1cnNlKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5m
by5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaApp
bmRleCA2YjczNjI4MmUyZDJhODFiYzYzZGMyZjNjMGU1YWU4Yzg1OGNkMWY4Li4wY2RlMGM2N2E5
ZGUwZWRmMzQxNDRlMzI3OTFlNWU5MGI0YTIxNTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKQEAgLTI4LDYgKzI4LDEwIEBACiAK
IG5hbWVzcGFjZSBKU0MgewogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
K2VudW0gRnVuY3Rpb25Cb2R5VHlwZSB7IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiwgQXJy
b3dGdW5jdGlvbkJvZHlCbG9jaywgU3RhbmRhcmRGdW5jdGlvbkJvZHlCbG9jayB9OworI2VuZGlm
CisKIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4KIHN0cnVjdCBQYXJzZXJGdW5jdGlvbklu
Zm8gewogICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUgPSAwOwpAQCAtMzgsNiArNDIsMTEgQEAg
c3RydWN0IFBhcnNlckZ1bmN0aW9uSW5mbyB7CiAgICAgaW50IGJvZHlTdGFydExpbmUgPSAwOwog
ICAgIGludCBib2R5RW5kTGluZSA9IDA7CiAgICAgdW5zaWduZWQgYm9keVN0YXJ0Q29sdW1uID0g
MDsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHVuc2lnbmVkIGFy
cm93RnVuY3Rpb25PZmZzZXQgPSAwOworICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uID0gZmFsc2U7
CisgICAgRnVuY3Rpb25Cb2R5VHlwZSBmdW5jdGlvbkJvZHlUeXBlID0gU3RhbmRhcmRGdW5jdGlv
bkJvZHlCbG9jazsKKyNlbmRpZgogfTsKIAogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKaW5kZXggMDI2ZTRm
ODBmNDM3ZDhiZmU0YTYxOWMzMGQxMWRjOWZjNjFlMjY0NS4uZTkxNTRjYWYwNTNjNTM4MWI1ZjA5
ODE2ZGJhMDU1OGE1NDM0YmYzNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9QYXJzZXJUb2tlbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlclRva2Vucy5oCkBAIC03NSw2ICs3NSw5IEBAIGVudW0gSlNUb2tlblR5cGUgewogICAgIEZJ
TkFMTFksCiAgICAgREVCVUdHRVIsCiAgICAgRUxTRSwKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIEFSUk9XRlVOQ1RJT04sCisjZW5kaWYKICNpZiBFTkFCTEUoRVM2
X0NMQVNTX1NZTlRBWCkKICAgICBDTEFTU1RPS0VOLAogICAgIEVYVEVORFMsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCmluZGV4IDczZDIzZGI4MmFmMjVlYTQ2YzBm
ODk3ODVjZTQyNGJiNjBlYjYxYTcuLjUwZDUyNjM5Nzk0M2UzODFkMzgwZWM0M2Q4MmQ1YjYzZjdm
MDhkYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29k
ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCkBAIC0x
MDUsNiArMTA1LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIAogICAgICAgICBTb3VyY2VD
b2RlIHN1YkV4cHJlc3Npb24odW5zaWduZWQgb3BlbkJyYWNlLCB1bnNpZ25lZCBjbG9zZUJyYWNl
LCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOwogCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgU291cmNlQ29kZSBzdWJBcnJvd0V4cHJlc3Npb24o
dW5zaWduZWQgc3RhcnRBcnJvd0Z1bmN0aW9uLCB1bnNpZ25lZCBlbmRBcnJvd0Z1bmN0aW9uLCBp
bnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOworI2VuZGlmCiAgICAgcHJpdmF0ZToKICAg
ICAgICAgUmVmUHRyPFNvdXJjZVByb3ZpZGVyPiBtX3Byb3ZpZGVyOwogICAgICAgICBpbnQgbV9z
dGFydENoYXI7CkBAIC0xMTgsNiArMTIxLDE3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBy
ZXR1cm4gU291cmNlQ29kZShTdHJpbmdTb3VyY2VQcm92aWRlcjo6Y3JlYXRlKHNvdXJjZSwgdXJs
LCBzdGFydFBvc2l0aW9uKSwgc3RhcnRQb3NpdGlvbi5tX2xpbmUub25lQmFzZWRJbnQoKSwgc3Rh
cnRQb3NpdGlvbi5tX2NvbHVtbi5vbmVCYXNlZEludCgpKTsKICAgICB9CiAKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlubGluZSBTb3VyY2VDb2RlIFNvdXJjZUNv
ZGU6OnN1YkFycm93RXhwcmVzc2lvbih1bnNpZ25lZCBzdGFydEFycm93RnVuY3Rpb24sIHVuc2ln
bmVkIGVuZEFycm93RnVuY3Rpb24sIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbikKKyAg
ICB7CisgICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFycm93RnVuY3Rp
b25dID09ICc9JyAmJiBwcm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFycm93RnVuY3Rpb24gKyAx
XSA9PSAnPicpOworICAgICAgICAvLyBGaXhtZTogVXNlIGJldHRlciBhcHByb2FjaCB0byBjaGVj
ayBzeW1ib2wKKyAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVu
Y3Rpb24gLSAxXSA9PSAnLCcgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlv
biAtIDFdID09ICc7JyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0g
MV0gPT0gJyknIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9
PSAnXScgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICd9
Jyk7CisgICAgICAgIHN0YXJ0Q29sdW1uICs9IDE7IC8vIENvbnZlcnQgdG8gYmFzZSAxLgorICAg
ICAgICByZXR1cm4gU291cmNlQ29kZShwcm92aWRlcigpLCBzdGFydEFycm93RnVuY3Rpb24sIGVu
ZEFycm93RnVuY3Rpb24sIGZpcnN0TGluZSwgc3RhcnRDb2x1bW4pOworICAgIH0KKyNlbmRpZgor
CiAgICAgaW5saW5lIFNvdXJjZUNvZGUgU291cmNlQ29kZTo6c3ViRXhwcmVzc2lvbih1bnNpZ25l
ZCBvcGVuQnJhY2UsIHVuc2lnbmVkIGNsb3NlQnJhY2UsIGludCBmaXJzdExpbmUsIGludCBzdGFy
dENvbHVtbikKICAgICB7CiAgICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtvcGVu
QnJhY2VdID09ICd7Jyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKaW5kZXggNjM1Mzc5ZTNmNDQ1NjY4YzUyYjg3MmY3
NjE2ZGNiNTkyMWE4Mjk0NC4uZjQyOGRiNTBhOGRhN2E3YWI0NjgyNGFiMzgwODNkYjA1MmQ3Mzc3
NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRl
ckNhY2hlSXRlbS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJv
dmlkZXJDYWNoZUl0ZW0uaApAQCAtNDAsNiArNDAsMTAgQEAgc3RydWN0IFNvdXJjZVByb3ZpZGVy
Q2FjaGVJdGVtQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBib29sIG5lZWRzRnVsbEFjdGl2YXRp
b247CiAgICAgYm9vbCB1c2VzRXZhbDsKICAgICBib29sIHN0cmljdE1vZGU7CisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBib29sIGlzQm9keUFycm93RXhwcmVzc2lv
bjsKKyAgICBKU1Rva2VuVHlwZSB0b2tlblR5cGU7CisjZW5kaWYKICAgICBWZWN0b3I8UmVmUHRy
PFN0cmluZ0ltcGw+PiB1c2VkVmFyaWFibGVzOwogICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1w
bD4+IHdyaXR0ZW5WYXJpYWJsZXM7CiB9OwpAQCAtNTUsMTAgKzU5LDE0IEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtPiBjcmVhdGUo
Y29uc3QgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMmKTsKICAgICB+
U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0oKTsKIAotICAgIEpTVG9rZW4gY2xvc2VCcmFjZVRva2Vu
KCkgY29uc3QgCisgICAgSlNUb2tlbiBlbmRGdW5jdGlvblRva2VuKCkgY29uc3QgCiAgICAgewog
ICAgICAgICBKU1Rva2VuIHRva2VuOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCisgICAgICAgIHRva2VuLm1fdHlwZSA9IGlzQm9keUFycm93RXhwcmVzc2lvbiA/IHRva2Vu
VHlwZSA6IENMT1NFQlJBQ0U7CisjZWxzZQogICAgICAgICB0b2tlbi5tX3R5cGUgPSBDTE9TRUJS
QUNFOworI2VuZGlmCiAgICAgICAgIHRva2VuLm1fZGF0YS5vZmZzZXQgPSBjbG9zZUJyYWNlT2Zm
c2V0OwogICAgICAgICB0b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0ID0gY2xvc2VCcmFjZU9m
ZnNldDsKICAgICAgICAgdG9rZW4ubV9sb2NhdGlvbi5lbmRPZmZzZXQgPSBjbG9zZUJyYWNlT2Zm
c2V0ICsgMTsKQEAgLTgyLDYgKzkwLDExIEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCB1c2VkVmFy
aWFibGVzQ291bnQ7CiAgICAgdW5zaWduZWQgd3JpdHRlblZhcmlhYmxlc0NvdW50OwogCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBib29sIGlzQm9keUFycm93RXhw
cmVzc2lvbjsKKyAgICBKU1Rva2VuVHlwZSB0b2tlblR5cGU7CisjZW5kaWYKKwogICAgIFN0cmlu
Z0ltcGwqKiB1c2VkVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxTdHJpbmdJ
bXBsKio+KG1fdmFyaWFibGVzKTsgfQogICAgIFN0cmluZ0ltcGwqKiB3cml0dGVuVmFyaWFibGVz
KCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxTdHJpbmdJbXBsKio+KCZtX3ZhcmlhYmxlc1t1
c2VkVmFyaWFibGVzQ291bnRdKTsgfQogCkBAIC0xMTUsNiArMTI4LDEwIEBAIGlubGluZSBTb3Vy
Y2VQcm92aWRlckNhY2hlSXRlbTo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0oY29uc3QgU291cmNl
UHJvdmlkZXJDYWNoCiAgICAgLCBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0KHBhcmFtZXRlcnMu
Y2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldCkKICAgICAsIHVzZWRWYXJpYWJsZXNDb3VudChwYXJh
bWV0ZXJzLnVzZWRWYXJpYWJsZXMuc2l6ZSgpKQogICAgICwgd3JpdHRlblZhcmlhYmxlc0NvdW50
KHBhcmFtZXRlcnMud3JpdHRlblZhcmlhYmxlcy5zaXplKCkpCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAsIGlzQm9keUFycm93RXhwcmVzc2lvbihwYXJhbWV0ZXJz
LmlzQm9keUFycm93RXhwcmVzc2lvbikKKyAgICAsIHRva2VuVHlwZShwYXJhbWV0ZXJzLnRva2Vu
VHlwZSkKKyNlbmRpZgogewogICAgIHVuc2lnbmVkIGogPSAwOwogICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCB1c2VkVmFyaWFibGVzQ291bnQ7ICsraSwgKytqKSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCmluZGV4IDU1NGU1ZGY2NGE3MjFmNDQ2
MmQwZDg5YWIwMjNhZmRkNzUzYzU1YmUuLmY2MzVlZDFiYjM3ZTg4NTM2NDU0NzRjMDgyM2Y0YjYx
MzgwYTRkMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4
Q2hlY2tlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tl
ci5oCkBAIC0xNzcsNiArMTc3LDEwIEBAIHB1YmxpYzoKICNlbmRpZgogICAgIEV4cHJlc3Npb25U
eXBlIGNyZWF0ZUZ1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJz
ZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0K
ICAgICBpbnQgY3JlYXRlRnVuY3Rpb25Cb2R5KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0
IEpTVG9rZW5Mb2NhdGlvbiYsIGludCwgaW50LCBib29sLCBpbnQsIGludCwgaW50LCBDb25zdHJ1
Y3RvcktpbmQpIHsgcmV0dXJuIEZ1bmN0aW9uQm9keVJlc3VsdDsgfQorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlQXJyb3dGdW5j
dGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZv
PFN5bnRheENoZWNrZXI+JikgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9CisjZW5kaWYgCisgICAg
dm9pZCBzZXRGdW5jdGlvbk5hbWVTdGFydChpbnQsIGludCkgeyB9CiAgICAgaW50IGNyZWF0ZUFy
Z3VtZW50cygpIHsgcmV0dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQogICAgIGludCBjcmVhdGVBcmd1
bWVudHMoaW50KSB7IHJldHVybiBBcmd1bWVudHNSZXN1bHQ7IH0KICAgICBFeHByZXNzaW9uVHlw
ZSBjcmVhdGVTcHJlYWRFeHByZXNzaW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIEV4cHJlc3Np
b25UeXBlLCBpbnQsIGludCwgaW50KSB7IHJldHVybiBTcHJlYWRFeHByOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hMDI3MTk2MDM5N2FiN2Q5OTUyNDhiMTJmMjk1YWI3ZTNhZTZkMzM0Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcApA
QCAtMCwwICsxLDExOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorCisjaW5jbHVkZSAiRXJyb3Iu
aCIKKyNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCisjaW5jbHVkZSAiSlNDSW5saW5lcy5o
IgorI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCisjaW5j
bHVkZSAiSlNGdW5jdGlvbklubGluZXMuaCIKKyNpbmNsdWRlICJKU09iamVjdC5oIgorI2luY2x1
ZGUgIlByb3BlcnR5U2xvdC5oIgorI2luY2x1ZGUgIlZNLmgiCisKK25hbWVzcGFjZSBKU0Mgewor
ICAgIAorY29uc3QgQ2xhc3NJbmZvIEpTQXJyb3dGdW5jdGlvbjo6c19pbmZvID0geyAiQXJyb3dG
dW5jdGlvbiIsICZCYXNlOjpzX2luZm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNBcnJvd0Z1
bmN0aW9uKSB9OworCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycm93RnVuY3Rpb25D
YWxsKEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBKU0Fycm93RnVuY3Rpb24qIGFycm93RnVuY3Rp
b24gPSBqc0Nhc3Q8SlNBcnJvd0Z1bmN0aW9uKj4oZXhlYy0+Y2FsbGVlKCkpOworICAgICAgICAK
KyAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmdzOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBleGVjLT5hcmd1bWVudENvdW50KCk7ICsraSkKKyAgICAgICAgYXJncy5hcHBlbmQoZXhl
Yy0+dW5jaGVja2VkQXJndW1lbnQoaSkpOworICAgIAorICAgIEpTT2JqZWN0KiBmdW5jdGlvbiA9
IGFycm93RnVuY3Rpb24tPmFycm93RnVuY3Rpb24oKTsKKyAgICBDYWxsRGF0YSBjYWxsRGF0YTsK
KyAgICBDYWxsVHlwZSBjYWxsVHlwZSA9IGdldENhbGxEYXRhKGZ1bmN0aW9uLCBjYWxsRGF0YSk7
CisgICAgQVNTRVJUKGNhbGxUeXBlICE9IENhbGxUeXBlTm9uZSk7CisgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShjYWxsKGV4ZWMsIGZ1bmN0aW9uLCBjYWxsVHlwZSwgY2FsbERhdGEsIGFycm93
RnVuY3Rpb24tPmJvdW5kVGhpcygpLCBhcmdzKSk7Cit9CisgICAgCit2b2lkIEpTQXJyb3dGdW5j
dGlvbjo6ZGVzdHJveShKU0NlbGwqIGNlbGwpCit7CisgICAgc3RhdGljX2Nhc3Q8SlNBcnJvd0Z1
bmN0aW9uKj4oY2VsbCktPkpTQXJyb3dGdW5jdGlvbjo6fkpTQXJyb3dGdW5jdGlvbigpOworfQor
ICAgIAorSlNBcnJvd0Z1bmN0aW9uOjpKU0Fycm93RnVuY3Rpb24oVk0mIHZtLCBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNPYmplY3QqIGFycm93
RnVuY3Rpb24sIEpTVmFsdWUgYm91bmRUaGlzKQorICAgIDogQmFzZSh2bSwgZ2xvYmFsT2JqZWN0
LCBzdHJ1Y3R1cmUpCisgICAgLCBtX2JvdW5kVGhpcyh2bSwgdGhpcywgYm91bmRUaGlzKQorICAg
ICwgbV9hcnJvd0Z1bmN0aW9uKHZtLCB0aGlzLCBhcnJvd0Z1bmN0aW9uKQoreworfQorCitKU0Fy
cm93RnVuY3Rpb24qIEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlV2l0aEludmFsaWRhdGVkUmVhbGxv
Y2F0aW9uV2F0Y2hwb2ludChWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpT
T2JqZWN0KiBhcnJvd0Z1bmN0aW9uLCBKU1ZhbHVlIGJvdW5kVGhpcykKK3sKKyAgICBBU1NFUlQo
anNDYXN0PEpTRnVuY3Rpb24qPihhcnJvd0Z1bmN0aW9uKS0+anNFeGVjdXRhYmxlKCktPnNpbmds
ZXRvbkZ1bmN0aW9uKCktPmhhc0JlZW5JbnZhbGlkYXRlZCgpKTsKKyAgICByZXR1cm4gY3JlYXRl
KHZtLCBnbG9iYWxPYmplY3QsIGFycm93RnVuY3Rpb24sIGJvdW5kVGhpcyk7Cit9CisKK0pTQXJy
b3dGdW5jdGlvbiogSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogYXJyb3dGdW5jdGlvbiwgSlNWYWx1ZSBib3VuZFRo
aXMpCit7CisgICAgTmF0aXZlRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9IHZtLmdldEhvc3RGdW5j
dGlvbihhcnJvd0Z1bmN0aW9uQ2FsbCwgY2FsbEhvc3RGdW5jdGlvbkFzQ29uc3RydWN0b3IpOwor
ICAgIEpTQXJyb3dGdW5jdGlvbiogZnVuY3Rpb24gPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2Vs
bDxKU0Fycm93RnVuY3Rpb24+KHZtLmhlYXApKSBKU0Fycm93RnVuY3Rpb24odm0sIGdsb2JhbE9i
amVjdCwgZ2xvYmFsT2JqZWN0LT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCksIGFycm93RnVuY3Rp
b24sIGJvdW5kVGhpcyk7CisgICAgZnVuY3Rpb24tPmZpbmlzaENyZWF0aW9uKHZtLCBleGVjdXRh
YmxlLCAwLCAiIik7CisKKyAgICByZXR1cm4gZnVuY3Rpb247Cit9CisgICAgCit2b2lkIEpTQXJy
b3dGdW5jdGlvbjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBOYXRpdmVFeGVjdXRhYmxlKiBleGVj
dXRhYmxlLCBpbnQgbGVuZ3RoLCBjb25zdCBTdHJpbmcmIG5hbWUpCit7CisgICAgQmFzZTo6Zmlu
aXNoQ3JlYXRpb24odm0sIGV4ZWN1dGFibGUsIGxlbmd0aCwgbmFtZSk7CisgICAgQVNTRVJUKGlu
aGVyaXRzKGluZm8oKSkpOworICAgIAorICAgIC8vIFByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlv
biBpcyB1bmRlZmluZWQKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3Rv
dHlwZSwganNVbmRlZmluZWQoKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgRG9udEVudW0pOwor
ICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+dGhpc0lkZW50aWZpZXIsIGJvdW5k
VGhpcygpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51bSk7Cit9CisKKyAgICAKK3Zv
aWQgSlNBcnJvd0Z1bmN0aW9uOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0
b3ImIHZpc2l0b3IpCit7CisgICAgSlNBcnJvd0Z1bmN0aW9uKiB0aGlzT2JqZWN0ID0ganNDYXN0
PEpTQXJyb3dGdW5jdGlvbio+KGNlbGwpOworICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFMo
dGhpc09iamVjdCwgaW5mbygpKTsKKyAgICBCYXNlOjp2aXNpdENoaWxkcmVuKHRoaXNPYmplY3Qs
IHZpc2l0b3IpOworCisgICAgLy8gRml4bWU6IG1fYXJyb3dGdW5jdGlvbiBhbHJlYWR5IHJlbW92
ZWQgYnkgR0MsIGJlY2F1c2UgaXQgY3JlYXRlZCBpbiBiZWZvcmUgcnVuIEpTQXJyb3dGdW5jdGlv
bjo6Y3JlYXRlIG1ldGhvZAorICAgIC8vIEl0IGlzIHBvc3NpYmxlIGNhc2Ugd2hlbiBtX2Fycm93
RnVuY3Rpb24gaXMgcmVtb3ZlZCBidXQgd3JhcHBlciBvYmplY3QgaXMgc3RpbGwgZXhpc3RzCisg
ICAgLy8gIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2Fycm93RnVuY3Rpb24pOworICAg
IAorICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2JvdW5kVGhpcyk7Cit9CisgICAg
CitDb25zdHJ1Y3RUeXBlIEpTQXJyb3dGdW5jdGlvbjo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwq
IGNlbGwsIENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCit7CisgICAgSlNGdW5jdGlvbiog
dGhpc09iamVjdCA9IGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY2VsbCk7CisgICAgICAgIAorICAgIGNv
bnN0cnVjdERhdGEuanMuZnVuY3Rpb25FeGVjdXRhYmxlID0gdGhpc09iamVjdC0+anNFeGVjdXRh
YmxlKCk7CisgICAgY29uc3RydWN0RGF0YS5qcy5zY29wZSA9IHRoaXNPYmplY3QtPnNjb3BlKCk7
CisgICAgcmV0dXJuIENvbnN0cnVjdFR5cGVOb25lOworfQorfSAvLyBuYW1lc3BhY2UgSlNDCisj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dG
dW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9u
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZTk3YmMxYTVmYmRmNmY4YjdhYzc2ZGZlZjAwOWU5ZWVlZjc5ZjhmMwot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dG
dW5jdGlvbi5oCkBAIC0wLDAgKzEsODggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaWZuZGVmIEpTQXJyb3dGdW5jdGlvbl9oCisjZGVmaW5lIEpTQXJy
b3dGdW5jdGlvbl9oCisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorCisj
aW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCisKK25h
bWVzcGFjZSBKU0MgeworCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycm93RnVuY3Rp
b25DYWxsKEV4ZWNTdGF0ZSopOworICAgIAorY2xhc3MgSlNBcnJvd0Z1bmN0aW9uIDogcHVibGlj
IEpTRnVuY3Rpb24geworcHVibGljOgorICAgIHR5cGVkZWYgSlNGdW5jdGlvbiBCYXNlOworCisg
ICAgc3RhdGljIEpTQXJyb3dGdW5jdGlvbiogY3JlYXRlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBK
U09iamVjdCosIEpTVmFsdWUpOworICAgIHN0YXRpYyBKU0Fycm93RnVuY3Rpb24qIGNyZWF0ZVdp
dGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQoVk0mLCBKU0dsb2JhbE9iamVjdCos
IEpTT2JqZWN0KiwgSlNWYWx1ZSk7CisKKyAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2VsbCop
OworICAgIAorICAgIHN0YXRpYyBzaXplX3QgYWxsb2NhdGlvblNpemUoc2l6ZV90IGlubGluZUNh
cGFjaXR5KQorICAgIHsKKyAgICAgICAgQVNTRVJUX1VOVVNFRChpbmxpbmVDYXBhY2l0eSwgIWlu
bGluZUNhcGFjaXR5KTsKKyAgICAgICAgcmV0dXJuIHNpemVvZihKU0Fycm93RnVuY3Rpb24pOwor
ICAgIH0KKyAgICAKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZt
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkKKyAgICB7
CisgICAgICAgIEFTU0VSVChnbG9iYWxPYmplY3QpOworICAgICAgICByZXR1cm4gU3RydWN0dXJl
OjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhKU0Z1bmN0aW9u
VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOworICAgIH0KKyAgICAgICAgCisgICAgc3Rh
dGljIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRh
Jik7CisKKyAgICBKU09iamVjdCogYXJyb3dGdW5jdGlvbigpIHsgcmV0dXJuIG1fYXJyb3dGdW5j
dGlvbi5nZXQoKTsgfQorICAgIEpTVmFsdWUgYm91bmRUaGlzKCkgeyByZXR1cm4gbV9ib3VuZFRo
aXMuZ2V0KCk7IH0KKyAgICAKKyAgICBERUNMQVJFX0lORk87CisgICAgCisgICAgc3RhdGljIGlu
bGluZSBwdHJkaWZmX3Qgb2Zmc2V0T2ZUaGlzVmFsdWUoKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IE9CSkVDVF9PRkZTRVRPRihKU0Fycm93RnVuY3Rpb24sIG1fYm91bmRUaGlzKTsKKyAgICB9Cisg
ICAgCisgICAgY29uc3Qgc3RhdGljIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVz
SGFzSW5zdGFuY2UgfCBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsKKworcHJvdGVjdGVkOgorICAgIHN0
YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKKyAgICAgICAg
Citwcml2YXRlOgorICAgIEpTQXJyb3dGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3Ry
dWN0dXJlKiwgSlNPYmplY3QqLCBKU1ZhbHVlKTsKKworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24o
Vk0mLCBOYXRpdmVFeGVjdXRhYmxlKiwgaW50LCBjb25zdCBTdHJpbmcmKTsKKyAgICAKKyAgICBX
cml0ZUJhcnJpZXI8VW5rbm93bj4gbV9ib3VuZFRoaXM7CisgICAgV3JpdGVCYXJyaWVyPEpTT2Jq
ZWN0PiBtX2Fycm93RnVuY3Rpb247Cit9OworICAgIAorfSAvLyBuYW1lc3BhY2UgSlNDCisjZW5k
aWYgLy8gRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYCisKKyNlbmRpZiAvLyBKU0Fycm93RnVuY3Rp
b25faApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlv
bi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCmluZGV4IDg2
ZGZmMTJmOGZhNDdhMzFhMzNhNjg5NDA4N2NlNWMxMTVjZTUyYjYuLjhmMWQ2MTZhZTBiZDcxNGY0
M2NiOGY4OGFhZDViNzRmMmVjYjc3ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0Z1bmN0aW9uLmgKQEAgLTEzNyw2ICsxMzcsOSBAQCBwdWJsaWM6CiBwcm90ZWN0ZWQ6CiAg
ICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3Ry
dWN0dXJlKik7CiAgICAgSlNGdW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSosIEpTU2Nv
cGUqKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEpTRnVuY3Rp
b24oVk0mLCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBKU1Njb3BlKiwgU3RydWN0dXJlKik7CisjZW5k
aWYKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBOYXRpdmVFeGVjdXRhYmxlKiwgaW50
IGxlbmd0aCwgY29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICB1c2luZyBCYXNlOjpmaW5pc2hDcmVh
dGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rp
b25JbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5s
aW5lcy5oCmluZGV4IGY2YzZkNThlYzZlNWMxMTY0Y2IyN2ZhNWU0MTYxOGI0YjgxNDJmMDIuLjM4
NTA2Y2MxOTlhMDA4ZmY4Zjk2YWRmNjg5YmUzNjA5ODc1ZGVhNWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaApAQCAtNDUsNiArNDUs
MTUgQEAgaW5saW5lIEpTRnVuY3Rpb246OkpTRnVuY3Rpb24oVk0mIHZtLCBGdW5jdGlvbkV4ZWN1
dGFibGUqIGV4ZWN1dGFibGUsIEpTU2NvcGUqIHMKIHsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCitpbmxpbmUgSlNGdW5jdGlvbjo6SlNGdW5jdGlvbihWTSYgdm0s
IEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgSlNTY29wZSogc2NvcGUsIFN0cnVjdHVy
ZSogc3RydWN0dXJlKQorICAgIDogQmFzZSh2bSwgc2NvcGUsIHN0cnVjdHVyZSkKKyAgICAsIG1f
ZXhlY3V0YWJsZSh2bSwgdGhpcywgZXhlY3V0YWJsZSkKKyAgICAsIG1fcmFyZURhdGEoKQorewor
fQorI2VuZGlmCisgICAgCiBpbmxpbmUgRnVuY3Rpb25FeGVjdXRhYmxlKiBKU0Z1bmN0aW9uOjpq
c0V4ZWN1dGFibGUoKSBjb25zdAogewogICAgIEFTU0VSVCghaXNIb3N0RnVuY3Rpb25Ob25Jbmxp
bmUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVj
dC5jcHAKaW5kZXggNTA3ZDhiYzA0YmM5NDJhY2IxMzE5MTFhYzNkMzBhMDk4YWYwZDNjOS4uMzY1
YWIxMWEwM2IyNjk3MDBlOGQ0YzAwNzkwNTliZjQxZTViOTczMyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtNTgsNiArNTgsNyBA
QAogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIkpTQXJy
YXlCdWZmZXJQcm90b3R5cGUuaCIKICNpbmNsdWRlICJKU0FycmF5SXRlcmF0b3IuaCIKKyNpbmNs
dWRlICJKU0Fycm93RnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNp
bmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgi
CkBAIC0yMzQsNiArMjM1LDkgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChWTSYgdm0pCiAg
ICAgZXhlYy0+c2V0Q2FsbGVlKG1fZ2xvYmFsQ2FsbGVlLmdldCgpKTsKIAogICAgIG1fZnVuY3Rp
b25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0Z1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0s
IHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgIG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRo
aXMsIEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9u
UHJvdG90eXBlLmdldCgpKSk7CisjZW5kaWYKICAgICBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUu
c2V0KHZtLCB0aGlzLCBKU0JvdW5kRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywg
bV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOwogICAgIG1fbmFtZWRGdW5jdGlvblN0cnVjdHVy
ZS5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBtX2Z1
bmN0aW9uU3RydWN0dXJlLmdldCgpLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBEb250RGVsZXRl
IHwgUmVhZE9ubHkgfCBEb250RW51bSwgbV9mdW5jdGlvbk5hbWVPZmZzZXQpKTsKICAgICBtX2lu
dGVybmFsRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBJbnRlcm5hbEZ1bmN0aW9uOjpj
cmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKQEAg
LTc2Myw2ICs3NjcsOSBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojp2aXNpdENoaWxkcmVuKEpTQ2Vs
bCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNP
YmplY3QtPm1fY2FsbGVlU3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVj
dC0+bV9mdW5jdGlvblN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3Qt
Pm1fYm91bmRGdW5jdGlvblN0cnVjdHVyZSk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9hcnJvd0Z1bmN0aW9u
U3RydWN0dXJlKTsKKyNlbmRpZgogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX25h
bWVkRnVuY3Rpb25TdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5t
X3N5bWJvbE9iamVjdFN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3Qt
Pm1fcmVnRXhwU3RydWN0dXJlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbE9iamVjdC5oCmluZGV4IDU4OWZhMzk2ZmUxOWM4N2RjZWMyNWM4MTAzMmI0ZWY4YTJi
MDAwY2MuLmRkMWFiMDMyYmQxNGIyOGRlYjE2MGY0YmRhMzg4NGZkZDY5NDg2NDEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtMjI5LDYg
KzIyOSw5IEBAIHByb3RlY3RlZDoKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2NhbGxl
ZVN0cnVjdHVyZTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2Z1bmN0aW9uU3RydWN0
dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYm91bmRGdW5jdGlvblN0cnVjdHVy
ZTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFdyaXRlQmFycmll
cjxTdHJ1Y3R1cmU+IG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZTsKKyNlbmRpZgogICAgIFdyaXRl
QmFycmllcjxTdHJ1Y3R1cmU+IG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZTsKICAgICBQcm9wZXJ0
eU9mZnNldCBtX2Z1bmN0aW9uTmFtZU9mZnNldDsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJl
PiBtX3ByaXZhdGVOYW1lU3RydWN0dXJlOwpAQCAtNDY3LDYgKzQ3MCw5IEBAIHB1YmxpYzoKICAg
ICBTdHJ1Y3R1cmUqIGNhbGxlZVN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbGVlU3Ry
dWN0dXJlLmdldCgpOyB9CiAgICAgU3RydWN0dXJlKiBmdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0
IHsgcmV0dXJuIG1fZnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUqIGJv
dW5kRnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2JvdW5kRnVuY3Rpb25TdHJ1
Y3R1cmUuZ2V0KCk7IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
IFN0cnVjdHVyZSogYXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXJy
b3dGdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQorI2VuZGlmCiAgICAgU3RydWN0dXJlKiBuYW1l
ZEZ1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lZEZ1bmN0aW9uU3RydWN0
dXJlLmdldCgpOyB9CiAgICAgUHJvcGVydHlPZmZzZXQgZnVuY3Rpb25OYW1lT2Zmc2V0KCkgY29u
c3QgeyByZXR1cm4gbV9mdW5jdGlvbk5hbWVPZmZzZXQ7IH0KICAgICBTdHJ1Y3R1cmUqIG51bWJl
ck9iamVjdFN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fbnVtYmVyT2JqZWN0U3RydWN0dXJl
LmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci0xLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rl
c3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzcGFyYW10ZXItMS5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MzYx
YjhkYjAyMjgyNzk2ZDFiYjA0ZjVkYmQ0MDE5YjcyODlmMmNjCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzcGFyYW10
ZXItMS5qcwpAQCAtMCwwICsxLDggQEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3Zh
ciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlm
IChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVk
ICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsK
KwordGVzdENhc2UoIiIgKyBbMSwgMiwgMywgNF0ubWFwKHggPT4geCwgMzIpLCAiMSwyLDMsNCIs
ICJFcnJvcjogYXJyb3cgZnVuY3Rpb24gYXMgdGhlIHBhcmFtdGVycy4iKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3BhcmFt
dGVyLTIuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tYXNwYXJhbXRlci0yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNmMjkzMmZjMTQ0ZDM2YzcwZjA2MWY4ZTY4
ODg4M2U0NGFmY2ZkMTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci0yLmpzCkBAIC0wLDAgKzEsMTUg
QEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9u
IChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVk
KSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywg
YnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGYgPSBmdW5jdGlvbiAo
Y2wsIHBhcmFtdGVyKSB7IHJldHVybiBjbChwYXJhbXRlcik7IH07Cit2YXIgZjIgPSBmdW5jdGlv
biAoY2wsIHBhcmFtdGVyMSwgcGFyYW10ZXIyKSB7IHJldHVybiBjbChwYXJhbXRlcjEsIHBhcmFt
dGVyMik7IH07CisKK3Jlc3VsdCA9IGYoeD0+e3JldHVybiB4ICogMjU7fSwgMTIxKTsKK3Rlc3RD
YXNlKHJlc3VsdCwgMjUqMTIxICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiBmKHggPT4ge3JldHVybiB4ICogMjU7
fSwgMTIxKSIpOworCityZXN1bHQgPSBmMigoeCwgeSk9PntyZXR1cm4geCAqIHk7fSwgMTQsIDEy
KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTQqMTIgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6IGYoKHgsIHkpPT57cmV0
dXJuIHggKiB5O30sIDE0LCAxMjEpKSIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHktMS5qcyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5
LTEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZmQxZDQ3YTQ4MDc1ZWM1OThjNmJlMWUwN2Q3OGEzNTI2MzUzYTkx
MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTEuanMKQEAgLTAsMCArMSwxMyBAQAorLy8gSW5z
cGlyZWQgYnkgbW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwg
ZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0
aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICci
ICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgYWYxLCBhZjIsIGFmMzsKK2FmMSA9IGFm
MiA9IGFmMyA9PiBhZjEgPSBhZjIgPSBhZjM7Cit0ZXN0Q2FzZShhZjEsIGFmMiwgIkVycm9yOiB3
cm9uZyBhc3NvY2lhdGl2aXR5ICMxLiIpOworYWYxKDEzKTsKK3Rlc3RDYXNlKGFmMiwgMTMsICJF
cnJvcjogd3JvbmcgYXNzb2NpYXRpdml0eSAjMi4iKTsKK3Rlc3RDYXNlKGFmMSwgMTMsICJFcnJv
cjogd3JvbmcgYXNzb2NpYXRpdml0eSAjMy4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTIuanMgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRp
dml0eS0yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJlZGQ4MzljNmJjN2VkNmE0MGVmZmJiYzg3NTRlZDFiZmQ4
MDZiNDMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0yLmpzCkBAIC0wLDAgKzEsMTQgQEAKKy8v
IEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1
YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7Cisg
ICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdh
cyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIHM9IiI7CitzICs9IHggPT4geC5u
YW1lOworCisvLyBGaXggbWUuIFBvc3NpYmxlIHdlIGhhdmUgbm90IHVzZSB0aGUgSlNCb3VudEZ1
bmN0aW9uIHdyYXBwZXIgZm9yIHRoZSBsZXhpY2FsCisvLyBiaW5kaW5nIG9mIHRoZSB0aGlzIGFu
ZCB1c2UgZGlyZWN0IGluamVjdGlvbiBvZiB0aGUgJ3RoaXMnIHZhbHVlCisvLyBpbnRvIGFycnJv
dyBmdW5jdGlvbgorLy8gdGVzdENhc2UocywgInggPT4geC5uYW1lIiAsICJFcnJvcjogd3Jvbmcg
dG9TdHJpbmcgY29udmVyc2lvbi4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LmpzIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHkuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjdlZDE1M2NlZWJhNTI2MjI4ZWNhODIxMzA0NjlhOTI0NGIxNGMwNQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1hc3NvY2lhdGl2aXR5LmpzCkBAIC0wLDAgKzEsMTAgQEAKKy8vIEluc3BpcmVkIGJ5
IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVk
LCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVz
c2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVh
bCArICInIjsKKyAgfQorfTsKKwordmFyIGFmID0gYSA9PiBiID0+IGE7CisKK3Rlc3RDYXNlKGFm
KCdBQkMnKSgnREVGJyksICdBQkMnLCAiRXJyb3I6IHdyb25nIG5lc3RlZCBhcnJvdyBmdW5jdGlv
bnMuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tYmxvY2stMS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi1ibG9jay0xLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBjNTcxYmI3MmZjZmVmNTMw
YzU5ZGI0Yjg2MGNhNGYwYTk2YTQxMTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2stMS5qcwpAQCAtMCwwICsx
LDExIEBACisvLyBJbnNwaXJlZCBieSBtb3ppbGxhIHRlc3RzCit2YXIgdGVzdENhc2UgPSBmdW5j
dGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBl
Y3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsg
IicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBmID0gKCkgPT4g
e307Cit0ZXN0Q2FzZSh0eXBlb2YgZigpLCAndW5kZWZpbmVkJywgIkVycm9yOiB3cm9uZyBhcnJv
dyBmdW5jdGlvbiBibG9jay4iKTsKK3ZhciBnID0gKCkgPT4gKHt9KTsKK3Rlc3RDYXNlKHR5cGVv
ZiBnKCksICdvYmplY3QnLCAiRXJyb3I6IHdyb25nIGFycm93IGZ1bmN0aW9uIGJsb2NrLiIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0
aW9uLWJsb2NrLTIuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93
ZnVuY3Rpb24tYmxvY2stMi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40N2VlMzUyY2YwMWQxMzZlMzAyOTIyNzM2
YzVjODBlZjUzYzAzZjZlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJsb2NrLTIuanMKQEAgLTAsMCArMSwxMCBAQAor
Ly8gSW5zcGlyZWQgYnkgbW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFj
dHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsK
KyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQg
d2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgYWYgPSBhID0+IHsgYSArIDE7
IH07CisKK3Rlc3RDYXNlKHR5cGVvZiBhZigwKSwgJ3VuZGVmaW5lZCcsICJFcnJvcjogd3Jvbmcg
YXJyb3cgZnVuY3Rpb24gYmxvY2sgIzIuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYm91bmQuanMgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYm91bmQuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YTczMjBmNGVjNzg4ZWExNDkwYWZjNzJlYzEyNTFlZTBhNmUxZjdiNgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ib3Vu
ZC5qcwpAQCAtMCwwICsxLDE2IEBACit2YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVu
Y3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhw
ZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCAr
ICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgZCA9IHsKKyAg
eCA6ICJiYXIiLAorICB5IDogZnVuY3Rpb24oKSB7IHJldHVybiB6ID0+IHRoaXMueCArIHo7IH0K
K307CisKK3ZhciBlID0geyB4IDogImJheiIgfTsKKwordGVzdENhc2UoZC55KCkuYmluZChlLCAi
bGV5IikoKSwgImJhcmxleSIsICJFcnJvcjogZnVuY3Rpb24gYmluZCBzaG91bGRuJ3QgY2hhbmdl
IGxleGljYWwgYmluZGluZyBvZiB0aGUgYXJyb3cgZnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1jYWxsLmpzIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNhbGwuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjRmOWFhNTA0ZDcwZDcwZDY4Y2RhYTVhNDgyYTQ2NTBhNDVmZGY3YwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1jYWxsLmpzCkBAIC0wLDAgKzEsMTggQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVz
dENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0
dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiAr
IGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3Zh
ciBkID0geworICB4IDogImZvbyIsCisgIHkgOiBmdW5jdGlvbigpIHsgcmV0dXJuICgpID0+IHRo
aXMueDsgfQorfTsKKwordmFyIGUgPSB7IHggOiAiYmFyIiB9OworCit0ZXN0Q2FzZShkLnkoKS5j
YWxsKGUpLCAiZm9vIiwgIkVycm9yOiBmdW5jdGlvbiBjYWxsIHNob3Vsbid0IGNoYW5nZSB0aGUg
bGV4aWNhbCBiaW5kaW5nIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShkLnko
KS5hcHBseShlKSwgImZvbyIsICJFcnJvcjogZnVuY3Rpb24gYXBwbHkgc2hvdWxuJ3QgY2hhbmdl
IHRoZSBsZXhpY2FsIGJpbmRpbmcgb2YgdGhlIGFycm93IGZ1bmN0aW9uIik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY29uc3Ry
dWN0b3IuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjU4YjE2ZDdiNWUyOTc0NGMzM2Y3ODZiNGJm
MTZiZjQ0ZmViMWUyOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDE4IEBA
Cit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgewor
ICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBl
Y3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0K
K307CisKK3ZhciBzaW1wbGVBcnJvd0Z1bmN0aW9uID0gKCkgPT4ge307CisKK3ZhciBlcnJvck9u
Q3JlYXRlID0gZmFsc2U7CisKK3RyeSB7CisgIHZhciBmYyA9IG5ldyBzaW1wbGVBcnJvd0Z1bmN0
aW9uKCk7Cit9CitjYXRjaCAoZSkgeworICBlcnJvck9uQ3JlYXRlID0gdHJ1ZTsKK30KKwordGVz
dENhc2UoZXJyb3JPbkNyZWF0ZSwgdHJ1ZSwgIkVycm9yOiBObyBleGNlcHRpb24gZHVyaW5nIHJ1
biBuZXcgQXJyb3dGdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtYXJndW1lbnRzLmpzIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtYXJndW1l
bnRzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjFlYjY3NjNhNjUyNjk4MTY1YzBmZGIyZDhiYzIwNzNkMmJjZDNi
MWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L2Fycm93ZnVuY3Rpb24tbGV4aWNhbC1hcmd1bWVudHMuanMKQEAgLTAsMCArMSwxNCBAQAordmFy
IHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYg
KGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQg
JyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9Owor
CitmdW5jdGlvbiBhZkNyZWF0b3IoKSB7CisgICAgcmV0dXJuIGEgPT4gYXJndW1lbnRzWzBdOwor
fQorCit2YXIgYWYgPSBhZkNyZWF0b3IoMTIpOworCisvL0ZpeG1lOiBsZXhpY2FsIGJpbmQgb2Yg
dGhlIGFyZ3VtZW50cyBpcyBub3QgaW1wbGVtZW50ZWQKKy8vdGVzdENhc2UoYWYoNiksIDEyLCAi
RXJyb3I6IGFyZ3VtZW50cyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFy
cm93IGZ1bmN0aW9uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTEuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjU1MzFmNTc1NjJmMjg2OGVlYWQzOWZjZDY2ZWU1MDc4YmFjZWQxYgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1sZXhpY2FsLXRoaXMtMS5qcwpAQCAtMCwwICsxLDE3IEBACit2YXIgcmVzdWx0OworCisgdmFy
IHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYg
KGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQg
JyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9Owor
CitmdW5jdGlvbiBEb2cobmFtZSkgeworICB0aGlzLm5hbWUgPSBuYW1lOworICB0aGlzLmdldE5h
bWUgPSAoKSA9PiBldmFsKCJ0aGlzLm5hbWUiKTsKKyAgdGhpcy5nZXROYW1lSGFyZCA9ICgpID0+
IGV2YWwoIigoKSA9PiB0aGlzLm5hbWUpKCkiKTsKK30KKwordmFyIGQgPSBuZXcgRG9nKCJNYXgi
KTsKK3Rlc3RDYXNlKGQuZ2V0TmFtZSgpLCBkLm5hbWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4
aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMxIik7Cit0ZXN0Q2Fz
ZShkLmdldE5hbWVIYXJkKCksIGQubmFtZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkg
YmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzIiKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRo
aXMtMi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1sZXhpY2FsLXRoaXMtMi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45OGI1M2IyOThiYmIwYjUzZTQwNzFjOTk3
ZDgxMjM1MTFhZjYzOWQ5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtdGhpcy0yLmpzCkBAIC0wLDAgKzEs
MzMgQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBl
eHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRo
cm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIg
KyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBhZk9iakxleEJpbmQyID0gZnVuY3Rpb24g
KCkgeworICB0aGlzLmZ1bmMgPSAoKSA9PiB0aGlzOworfTsKKwordmFyIGFmT2JqTGV4QmluZDJJ
bnN0YW5jZSA9IG5ldyBhZk9iakxleEJpbmQyKCk7CisKK3Rlc3RDYXNlKGFmT2JqTGV4QmluZDJJ
bnN0YW5jZS5mdW5jKCkgPT09IGFmT2JqTGV4QmluZDJJbnN0YW5jZSwgdHJ1ZSwgIkVycm9yOiB0
aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24g
IzIiKTsKKwordmFyIG9iaiA9IHsKKyAgbWV0aG9kOiBmdW5jdGlvbiAoKSB7CisgICAgcmV0dXJu
ICgpID0+IHRoaXM7CisgIH0KK307CisKK3Rlc3RDYXNlKG9iai5tZXRob2QoKSgpID09PSBvYmos
IHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhl
IGFycm93IGZ1bmN0aW9uICMzIik7CisKK3ZhciBmYWtlID0ge3N0ZWFsOiBvYmoubWV0aG9kKCl9
OwordGVzdENhc2UoZmFrZS5zdGVhbCgpID09PSBvYmosIHRydWUsICJFcnJvcjogdGhpcyBpcyBu
b3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM0Iik7CisK
KwordmFyIHJlYWwgPSB7Ym9ycm93OiBvYmoubWV0aG9kfTsKK3Rlc3RDYXNlKHJlYWwuYm9ycm93
KCkoKSA9PT0gcmVhbCwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVk
IGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzUiKTsKK3Rlc3RDYXNlKHJlYWwuYm9ycm93
KCkoKSA9PT0gcmVhbCwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVk
IGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzYiKTsKK3Rlc3RDYXNlKHJlYWwuYm9ycm93
KCkoKSA9PT0gcmVhbCwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVk
IGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzciKTsKK3Rlc3RDYXNlKHJlYWwuYm9ycm93
KCkoKSA9PT0gcmVhbCwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVk
IGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzgiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1vdGhlcnMuanMgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tb3RoZXJzLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmZlYmExMWYzMDIyZTM0YTgwMDBhNTcwMDc2ZGIxYTU1YTRhMzJiMjEKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tb3RoZXJzLmpzCkBAIC0wLDAgKzEsMTMgQEAKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9u
IChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVk
KSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywg
YnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIHNpbXBsZUFycm93RnVu
Y3Rpb24gPSAoKSA9PiB7fTsKKwordGVzdENhc2UoT2JqZWN0LmdldFByb3RvdHlwZU9mKHNpbXBs
ZUFycm93RnVuY3Rpb24pLCBGdW5jdGlvbi5wcm90b3R5cGUsICJFcnJvcjogTm90IGNvcnJlY3Qg
Z2V0UHJvdG90eXBlT2YgdmFsdWUgZm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHNp
bXBsZUFycm93RnVuY3Rpb24gaW5zdGFuY2VvZiBGdW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3Qg
Y29ycmVjdCByZXN1bHQgZm9yIGluc3RhbmNlb2YgbWV0aG9kIGZvciBhcnJvdyBmdW5jdGlvbiIp
OworCit0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uLmNvbnN0cnVjdG9yID09IEZ1bmN0aW9u
LCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgY29uc3RydWN0b3IgbWV0aG9k
IG9mIGFycm93IGZ1bmN0aW9uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTEuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MDdhMWYwYTQ5Y2IxNjg2M2M1OTIxMzYxZjBhZGIxZTE0ZWM5YjY1YQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4t
MTAtMS5qcwpAQCAtMCwwICsxLDI0IEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFs
LCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAg
IHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMg
JyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK2Z1bmN0aW9uIHJ1bihjb3VudCkgeworICB2
YXIgcmVzdWx0ID0gdHJ1ZTsKKyAgZm9yKHZhciBpPTA7IGk8Y291bnQ7IGkrKykgeworICAgIHZh
ciBPYmogPSBmdW5jdGlvbiAobmFtZSkgeworICAgICAgdGhpcy5uYW1lID0gbmFtZTsKKyAgICAg
IHRoaXMuZ2V0TmFtZSA9ICgpID0+IHRoaXMubmFtZTsKKyAgICB9OworCisgICAgdmFyIG9iaiA9
IG5ldyBPYmooIkl0ZW0iICsgaSk7CisgICAgaWYgKG9iai5uYW1lICE9PSBvYmouZ2V0TmFtZSgp
KSB7CisgICAgICByZXN1bHQgPSBmYWxzZTsKKyAgICB9CisgIH0KKyAgcmV0dXJuIHJlc3VsdDsK
K30KKwordGVzdENhc2UocnVuKDEpLCB0cnVlLCAiRXJyb3I6IEVycm9yOiBkdXJpbmcgZXhlY3V0
aW9uIG9mIGFycm93IGZ1bmN0aW9uIG9uZSB0aW1lIik7Cit0ZXN0Q2FzZShydW4oMTApLCB0cnVl
LCAiRXJyb3I6IEVycm9yOiBkdXJpbmcgZXhlY3V0aW9uIG9mIGFycm93IGZ1bmN0aW9uIDEwIHRp
bWVzIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tcnVuLTEwLTIuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWRkY2RiM2M3MGExYjI3
YzNkYmI1MjM4MDk1NWY1MzUzZDc2NzQyNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAtMi5qcwpAQCAtMCww
ICsxLDI1IEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVz
c2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2Ug
KyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAi
JyI7CisgIH0KK307CisKK2Z1bmN0aW9uIHJ1bihjb3VudCkgeworICB2YXIgcmVzdWx0ID0gdHJ1
ZTsKKyAgZm9yKHZhciBpPTA7IGk8Y291bnQ7IGkrKykgeworICAgIHZhciBPYmogPSBmdW5jdGlv
biAobmFtZSkgeworICAgICAgdGhpcy5uYW1lID0gbmFtZTsKKyAgICAgIHRoaXMuZ2V0TmFtZSA9
ICgpID0+IGV2YWwoInRoaXMubmFtZSIpOzsKKyAgICB9OworCisKKyAgICB2YXIgb2JqID0gbmV3
IE9iaigiSXRlbSIgKyBpKTsKKyAgICBpZiAob2JqLm5hbWUgIT09IG9iai5nZXROYW1lKCkpIHsK
KyAgICAgIHJlc3VsdCA9IGZhbHNlOworICAgIH0KKyAgfQorICByZXR1cm4gcmVzdWx0OworfQor
Cit0ZXN0Q2FzZShydW4oMSksIHRydWUsICJFcnJvcjogZHVyaW5nIGV4ZWN1dGlvbiBvZiBhcnJv
dyBmdW5jdGlvbiBvbmUgdGltZSIpOwordGVzdENhc2UocnVuKDEwKSwgdHJ1ZSwgIkVycm9yOiBk
dXJpbmcgZXhlY3V0aW9uIG9mIGFycm93IGZ1bmN0aW9uIDEwIHRpbWVzIik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEw
MDAwLTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tcnVuLTEwMDAwLTEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGU1ZjZiYzg2YmQzMTQ1MWIwMWNhMjdkMGI5
NzIwYjU3ZThkNjA1MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAwMDAtMS5qcwpAQCAtMCwwICsxLDIzIEBA
Cit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgewor
ICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBl
Y3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0K
K307CisKK2Z1bmN0aW9uIHJ1bihjb3VudCkgeworICB2YXIgcmVzdWx0ID0gdHJ1ZTsKKyAgZm9y
KHZhciBpPTA7IGk8Y291bnQ7IGkrKykgeworICAgIHZhciBPYmogPSBmdW5jdGlvbiAobmFtZSkg
eworICAgICAgdGhpcy5uYW1lID0gbmFtZTsKKyAgICAgIHRoaXMuZ2V0TmFtZSA9ICgpID0+IHRo
aXMubmFtZTsKKyAgICB9OworCisgICAgdmFyIG9iaiA9IG5ldyBPYmooIkl0ZW0iICsgaSk7Cisg
ICAgaWYgKG9iai5uYW1lICE9PSBvYmouZ2V0TmFtZSgpKSB7CisgICAgICByZXN1bHQgPSBmYWxz
ZTsKKyAgICB9CisgIH0KKyAgcmV0dXJuIHJlc3VsdDsKK30KKwordGVzdENhc2UocnVuKDEwMDAw
KSwgdHJ1ZSwgIkVycm9yOiBFcnJvcjogZHVyaW5nIGV4ZWN1dGlvbiBvZiBhcnJvdyBmdW5jdGlv
biAxMDAwMCB0aW1lcyIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMDAwMC0yLmpzIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMDAwMC0yLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljk1MzBmMmMxZDVhN2Y1NWNlNDZiOGJlNjk5MDhiNGJjMjFlMDUyN2IKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVu
LTEwMDAwLTIuanMKQEAgLTAsMCArMSwyMyBAQAordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFj
dHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsK
KyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQg
d2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCitmdW5jdGlvbiBydW4oY291bnQpIHsK
KyAgdmFyIHJlc3VsdCA9IHRydWU7CisgIGZvcih2YXIgaT0wOyBpPGNvdW50OyBpKyspIHsKKyAg
ICB2YXIgT2JqID0gZnVuY3Rpb24gKG5hbWUpIHsKKyAgICAgIHRoaXMubmFtZSA9IG5hbWU7Cisg
ICAgICB0aGlzLmdldE5hbWUgPSAoKSA9PiBldmFsKCJ0aGlzLm5hbWUiKTs7CisgICAgfTsKKwor
ICAgIHZhciBvYmogPSBuZXcgT2JqKCJJdGVtIiArIGkpOworICAgIGlmIChvYmoubmFtZSAhPT0g
b2JqLmdldE5hbWUoKSkgeworICAgICAgcmVzdWx0ID0gZmFsc2U7CisgICAgfQorICB9CisgIHJl
dHVybiByZXN1bHQ7Cit9CisKK3Rlc3RDYXNlKHJ1bigxMDAwMCksIHRydWUsICJFcnJvcjogRXJy
b3I6IGR1cmluZyBleGVjdXRpb24gb2YgYXJyb3cgZnVuY3Rpb24gMTAwMDAgdGltZXMiKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1zeW50YXguanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tc3ludGF4LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhmZTExZDViZWUwZGJkNTU2NDhhYzQzZGZmY2U0
ZTRlMmU5MGUyODgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tc3ludGF4LmpzCkBAIC0wLDAgKzEsMTE2IEBACit2YXIg
cmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1l
c3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdl
ICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsg
IiciOworICB9Cit9OworCit2YXIgYWYwID0gdiA9PiB2ICsgMTsKK3Rlc3RDYXNlKGFmMCgxMCks
IDExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246
IHYgPT4gdiArIDEiKTsKKwordmFyIGFmMSA9ICh2KSA9PiB2ICogMjsKK3Rlc3RDYXNlKGFmMSgx
MCksIDIwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b246ICh2KSA9PiB2ICsgMSIpOworCit2YXIgYWYyID0gKCkgPT4gMTAwMDsKK3Rlc3RDYXNlKGFm
MigxMjEyKSwgMTAwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uOiAoKSA9PiAxMDAwIik7CisKK3ZhciBhID0gMTUxOwordmFyIGFmMl8xID0gKCkg
PT4gYTsKK3Rlc3RDYXNlKGFmMl8xKDEyMSksIGEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKCkgPT4gdmFyaWFibGUiKTsKKwordmFyIGFmMyA9
ICh2LCB4KSA9PiB2ICsgeDsKK3Rlc3RDYXNlKGFmMygxMSwxMiksIDIzICwiRXJyb3I6IE5vdCBj
b3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICh4LCB5KSA9PiB4ICsgeSIp
OworCit2YXIgYWZ3cmFwcGVyID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRlcikgeyByZXR1cm4gY2wo
cGFyYW10ZXIpOyB9OworCityZXN1bHQgPSBhZndyYXBwZXIoeCA9PiAxMjM0KTsKK3Rlc3RDYXNl
KHJlc3VsdCwgMTIzNCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYykiKTsKKworcmVzdWx0ID0gYWZ3cmFwcGVy
KHggPT4gMTIzNCwgMjM0NSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMzQgLCJFcnJvcjogTm90IGNv
cnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+
IGMsIHkpIik7CisKK3Jlc3VsdCA9IGFmd3JhcHBlcih4ID0+IDEyMSArIDIzMik7Cit0ZXN0Q2Fz
ZShyZXN1bHQsIDM1MyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYzEgKyBjMikiKTsKKworcmVzdWx0ID0gYWZ3
cmFwcGVyKHggPT4gMTIzICsgMzIxLCA5OTk5KTsKK3Rlc3RDYXNlKHJlc3VsdCwgNDQ0ICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10
ZXI6IGYoeCA9PiBjMSArIGMyLCB5KSIpOworCityZXN1bHQgPSBhZndyYXBwZXIoeCA9PiB4ICsg
MTIsIDIxKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IHggKyBjMSwgeSki
KTsKKworcmVzdWx0ID0gYWZ3cmFwcGVyKCh4KSA9PiB4ICsgMjEsIDMyKTsKK3Rlc3RDYXNlKHJl
c3VsdCwgNTMsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbiBhcyBwYXJhbXRlcjogZigoeCkgPT4gYzEgKyBjMiwgeSkiKTsKKworcmVzdWx0ID0gYWZ3
cmFwcGVyKCgpID0+IDEwMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMCwgIkVycm9yOiBOb3QgY29y
cmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+
IGMpIik7CisKK3ZhciBleHRfdmFsdWUgPSAxMjE7CityZXN1bHQgPSBhZndyYXBwZXIoKCkgPT4g
ZXh0X3ZhbHVlKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIxLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gdikiKTsK
KworcmVzdWx0ID0gYWZ3cmFwcGVyKCgpID0+IGV4dF92YWx1ZSAqIDEwKTsKK3Rlc3RDYXNlKHJl
c3VsdCwgMTIxMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1
bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IHYqeCkiKTsKKworcmVzdWx0ID0gYWZ3cmFwcGVy
KCh4KSA9PiBleHRfdmFsdWUgKiB4LCAzMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDMwKmV4dF92YWx1
ZSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFz
IHBhcmFtdGVyOiBmKCh4KSA9PiB2KngsIHkpIik7CisKK3Jlc3VsdCA9IGFmd3JhcHBlcigoKSA9
PiAxMDAsIDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYzEsIHkp
Iik7CisKKyByZXN1bHQgPSBhZndyYXBwZXIoKCkgPT4gMTAwICsgMTApOwordGVzdENhc2UocmVz
dWx0LCAxMTAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjMSArIGMyKSIpOworCityZXN1bHQgPSBhZndyYXBw
ZXIoKCkgPT4gMTAwICsgMTEsIDEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTExICwiRXJyb3I6IE5v
dCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYo
KCkgPT4gYzEgKyBjMiwgeSkiKTsKKwordmFyIGFycm93RnVuY3Rpb240ID0gdiA9PiB2ICsgMSwg
eHl6MSA9IDEwMTAxOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjQoMTAxMSk7Cit0ZXN0Q2FzZShy
ZXN1bHQsIDEwMTIgLCJFcnJvcjogTm90IGNvcnJlY3QgcGFyc2luZyBvZiB0aCBhcnJvdyBmdW5j
dGlvbiBpbnNpZGUgb2YgdGhlIGxpc3Qgb2YgdmFyczogdmFyIGFmID0gdj0+IHYgKyAxOyB6eGM9
YzsiKTsKK3Rlc3RDYXNlKHh5ejEsIDEwMTAxICwiRXJyb3I6IE5vdCBjb3JyZWN0IHBhcnNpbmcg
b2YgdGggYXJyb3cgZnVuY3Rpb24gaW5zaWRlIG9mIHRoZSBsaXN0IG9mIHZhcnM6IHZhciBhZiA9
IHY9PiB2ICsgMTsgenhjPWM7Iik7CisKK3ZhciBhZndyYXBwZXIyID0gZnVuY3Rpb24gKGNsLCBw
YXJhbXRlcjEsIHBhcmFtdGVyMikgeyByZXR1cm4gY2wocGFyYW10ZXIxLCBwYXJhbXRlcjIpOyB9
OworcmVzdWx0ID0gYWZ3cmFwcGVyMigoeCwgeSkgPT4geCArIHksIDEyICw0Myk7Cit0ZXN0Q2Fz
ZShyZXN1bHQsIDU1ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24gYXMgcGFyYW1ldGVyOiBmKCh4LCB5KSA9PiB4ICsgeSwgYzEsIGMyKSIpOworCit2
YXIgYWZBcnIwID0gW3YgPT4gdiAqIDEwXTsKK3Jlc3VsdCA9IGFmQXJyMFswXSgxMCk7Cit0ZXN0
Q2FzZShyZXN1bHQsIDEwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFy
cm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFt2PT52KjEwXSIpOworCit2YXIgYWZBcnIx
ID0gW3YgPT4gdiArIDEsIHYgPT4gdiArIDJdOworcmVzdWx0ID0gYWZBcnIxWzBdKDEwKTsKK3Rl
c3RDYXNlKHJlc3VsdCwgMTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbdiA9PiB2ICsgMSwgIHYgPT4gdiArIDJd
Iik7CityZXN1bHQgPSBhZkFycjFbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMyAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4g
YXJyYXk6IFt2ID0+IHYgKyAxLCAgdiA9PiB2ICsgMl0iKTsKKwordmFyIGFmQXJyMiA9IFsodikg
PT4gdiArIDEsICh2KSA9PiB2ICsgMl07CityZXN1bHQgPSBhZkFycjJbMF0oMTEpOwordGVzdENh
c2UocmVzdWx0LCAxMiAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsodikgPT4gdiArIDEsICAodikgPT4gdiArIDJd
Iik7CityZXN1bHQgPSBhZkFycjJbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMyAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4g
YXJyYXk6IFsodikgPT4gdiArIDEsICAodikgPT4gdiArIDJdIik7CisKK3ZhciBhZkFycjMgPSBb
KCkgPT4gMTAxLCAoKSA9PiAxMjMyM107CityZXN1bHQgPSBhZkFycjNbMF0oMTEpOwordGVzdENh
c2UocmVzdWx0LCAxMDEsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKCkgPT4gYzEsICAoKSA9PiBjMl0iKTsKK3Jl
c3VsdCA9IGFmQXJyM1sxXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMzIzLCAiRXJyb3I6IE5v
dCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJh
eTogWygpID0+IGMxLCAgKCkgPT4gYzJdIik7CisKK3ZhciBhZk9iaiA9IHtmdW5jIDogeSA9PiB5
ICsgMTJ9OworcmVzdWx0ID0gYWZPYmouZnVuYygxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIzICwg
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBy
b3BlcnR5OiB7ZnVuYyA6IHkgPT4geSArIDEyIH0iKTsKKwordmFyIGFmQmxvY2swID0gKCkgPT4g
eyByZXR1cm4gMTAwMDsgfTsKK3Jlc3VsdCA9IGFmQmxvY2swKDExKTsKK3Rlc3RDYXNlKHJlc3Vs
dCwgMTAwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0
aW9uIHdpdGggYm9keSBhcyBibG9jazogKCkgPT4geyByZXR1cm4gMTAwMDsgfSIpOworCit2YXIg
YWZCbG9jazEgPSB2ID0+IHsgdmFyIGludHZhbCA9IDEwMDsgcmV0dXJuIHYgKiBpbnR2YWw7IH07
CityZXN1bHQgPSBhZkJsb2NrMSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDExMDAgLCJFcnJvcjog
Tm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMg
YmxvY2s6IHggPT4geyB2YXIgdj0xMDAwOyByZXR1cm4gdip4OyB9Iik7CisKK3ZhciBhZkJsb2Nr
MiA9ICh2KSA9PiB7IHZhciBpbnQgPSAyMDA7IHJldHVybiB2ICogaW50OyB9OworcmVzdWx0ID0g
YWZCbG9jazIoMTEpOwordGVzdENhc2UocmVzdWx0LCAyMjAwICwiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiAoeCkg
PT4geyB2YXIgdj0xMDAwOyByZXR1cm4gdip4OyB9Iik7CisKK3ZhciBhZkJsb2NrMyA9ICh2LCB4
KSA9PiB7IHZhciByZXN1bHQgPSB4ICogdjsgcmV0dXJuIHJlc3VsdDsgfTsKK3Jlc3VsdCA9IGFm
QmxvY2szKDExLCAxMjIyMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDEzNDQ0MiAsIkVycm9yOiBOb3Qg
Y29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9j
azogKHYsIHgpID0+IHsgdmFyIHJlc3VsdCA9IHggKiB2OyByZXR1cm4gcmVzdWx0OyB9Iik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tdGR6LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0
aW9uLXRkei5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOWQzNWNkZWE0YmFmNjY3NDMxYWY4YWJlOGRhZGYyMmQw
NGI5MGUxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9hcnJvd2Z1bmN0aW9uLXRkei5qcwpAQCAtMCwwICsxLDI0IEBACit2YXIgQSA9IGNsYXNz
IEEgeyB9OwordmFyIEIgPSBjbGFzcyBCIGV4dGVuZHMgQSB7CisgIGNvbnN0cnVjdG9yKGFjY2Vz
c1RoaXNCZWZvcmVTdXBlcikgeworICAgIGlmIChhY2Nlc3NUaGlzQmVmb3JlU3VwZXIpIHsKKyAg
ICAgIHZhciBmID0gKCkgPT4gdGhpczsKKyAgICAgIHN1cGVyKCk7CisgICAgfSBlbHNlIHsKKyAg
ICAgIHN1cGVyKCk7CisgICAgfQorICB9Cit9OworCit2YXIgZXhjZXB0aW9uID0gbnVsbDsKK3Ry
eSB7CisgICAgIG5ldyBCKHRydWUpOworfSBjYXRjaCAoZSkgeworICAgIGV4Y2VwdGlvbiA9IGU7
CisgICAgaWYgKCEoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSkKKyAgICAgICAgdGhyb3cg
IkV4Y2VwdGlvbiB0aHJvd24gd2FzIG5vdCBhIHJlZmVyZW5jZSBlcnJvciI7Cit9CitpZiAoIWV4
Y2VwdGlvbikKKyAgICB0aHJvdyAiRXhjZXB0aW9uIG5vdCB0aHJvd24gZm9yIGFuIHVuaXRpYWxp
emVkIHRoaXMgYXQgaXRlcmF0aW9uIjsKKwordmFyIGUgPSBuZXcgQihmYWxzZSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tdHlw
ZW9mLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LXR5cGVvZi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZjJhN2Y1NDQ3NmFiYTljMjg5MjNjMzVmMWRiM2M0MzI3
YWM5NDY5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9hcnJvd2Z1bmN0aW9uLXR5cGVvZi5qcwpAQCAtMCwwICsxLDIxIEBACit2YXIgdGVzdENh
c2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFs
ICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4
cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBh
ZjEgPSAoKSA9PiB7fTsKK3ZhciBhZjIgPSAoYSkgPT4ge2EgKyAxfTsKKwordGVzdENhc2UodHlw
ZW9mIGFmMSwgImZ1bmN0aW9uIiwgIkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbiAjMSIpOwordGVzdENhc2UodHlwZW9mIGFmMS5wcm90b3R5cGUgPT09ICd1bmRl
ZmluZWQnLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJvdG90eXBlIG9m
IGFycm93IGZ1bmN0aW9uICMxIik7CisKK3Rlc3RDYXNlKHR5cGVvZiBhZjIsICJmdW5jdGlvbiIs
ICJFcnJvcjogTm90IGNvcnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzIiKTsKK3Rl
c3RDYXNlKHR5cGVvZiBhZjIucHJvdG90eXBlID09PSAndW5kZWZpbmVkJywgdHJ1ZSwgIkVycm9y
OiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiAjMiIp
OworCit0ZXN0Q2FzZSh0eXBlb2YgKCgpPT57fSksICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNv
cnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzMiKTsKK3Rlc3RDYXNlKHR5cGVvZiAo
KCk9Pnt9KS5wcm90b3R5cGUgPT09ICd1bmRlZmluZWQnLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3Jy
ZWN0IHJlc3VsdCBmb3IgcHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9uICMzIik7CisKKwordGVz
dENhc2UodHlwZW9mICgoYikgPT4ge2IgKyAxfSksICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNv
cnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzQiKTsKK3Rlc3RDYXNlKHR5cGVvZiAo
KGIpID0+IHtiICsgMX0pLnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJFcnJvcjog
Tm90IGNvcnJlY3QgcmVzdWx0IGZvciBwcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24gIzQiKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKaW5kZXggZmM5MGY2MTE1NjIzMWE0MWNhOTEzN2YxN2M3OTU1ZThkMzczYjBlYS4u
MGM4ODQwZjZhYjUxODVmODM1NGI3MDYwM2UwMjVmMjVhMmE3OWY0YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIv
U291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAg
LTQ0LDYgKzQ0LDcgQEAgRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORyA9IEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkc7CiBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBF
TkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVO
QUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9
IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYOwogRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZ
TlRBWCA9IEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVg7CiBFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CkBAIC0yMTUsNCArMjE2LDQg
QEAgRU5BQkxFX0pJVCA9IEVOQUJMRV9KSVQ7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FS
SVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFC
TEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NB
Q0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19Q
Uk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5U
QVgpICQoRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19M
RVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19D
T01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
R1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VM
RUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAk
KEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkp
ICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBP
UlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRF
TVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxf
MikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQo
RU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVO
QUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChF
TkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9U
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NT
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5B
QkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwp
ICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAk
KEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
TE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5B
QkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1Rf
QU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVf
UkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFC
TEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQ
VE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5B
QkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5U
KSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFC
TEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykg
JChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChF
TkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChF
TkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9U
SU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChF
TkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TQVRV
UkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RF
KTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkg
JChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFC
TEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJM
RV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
KSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChF
TkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcp
ICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VU
KSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNP
TFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZF
TDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NT
M19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9D
VVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJM
RV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJM
RV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVf
RE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxF
X0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1F
UEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAk
KEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRB
VEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElF
X1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
X1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQo
RU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQo
RU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJF
RklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVO
RE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQ
UkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9N
RURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVE
SUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQo
RU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJ
TFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJ
T05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5B
QkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNf
U1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9G
UkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQ
RUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9C
QU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVT
SVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJM
RV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhP
TkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lD
T05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxF
Q1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RB
VEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdM
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9T
T0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVO
QUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQp
ICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9V
VF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNmNm
OWQ5NjIxNGY3ZWYyMTNkYmU0MmI0MmYxOTdkODBjNTk0OTEwNi4uM2YyMDA1ZTJjOTFkMzg4OTY0
MDkyZDEyZDdjOTljNjJkN2VmNzk1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTYwMSw5ICsxNjAxLDkgQEAKIAkJNDQzMTFD
RDkxMkU0RTI1NzAwMEE4RDE5IC8qIERPTURvY3VtZW50RnJhZ21lbnRQcml2YXRlLmggaW4gQ29w
eSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
NDMxMUNENDEyRTRFMjJEMDAwQThEMTkgLyogRE9NRG9jdW1lbnRGcmFnbWVudFByaXZhdGUuaCAq
LzsgfTsKIAkJNDQzMTFGODIxMkU0RTY2QzAwMEE4RDE5IC8qIERPTURvY3VtZW50RnJhZ21lbnRJ
bnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODVFNzExNDUwQUM1RDUzNDAwNTMyNzBGIC8qIERPTURvY3VtZW50RnJhZ21lbnRJbnRlcm5hbC5o
ICovOyB9OwogCQk0NDM4MTdGRjFBOTFCMkY4MDA2RTA0RjIgLyogQ29yZU1lZGlhU29mdExpbmsu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzODE3
RkQxQTkxQjJGODAwNkUwNEYyIC8qIENvcmVNZWRpYVNvZnRMaW5rLmNwcCAqLzsgfTsKLQkJNDQz
OTE3RkYxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzOTE3RkQxQTkxQjJGODAwNkUw
NEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tICovOyB9OwogCQk0NDM4MTgwMDFBOTFCMkY4MDA2
RTA0RjIgLyogQ29yZU1lZGlhU29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ0MzgxN0ZFMUE5MUIyRjgwMDZFMDRGMiAvKiBDb3JlTWVkaWFT
b2Z0TGluay5oICovOyB9OwotCQk0NDM5MTgwMDFBOTFCMkY4MDA2RTA0RjIgLyogUXVpY2tMb29r
U29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ0MzkxN0ZFMUE5MUIyRjgwMDZFMDRGMiAvKiBRdWlja0xvb2tTb2Z0TGluay5oICovOyB9Owor
CQk0NDM5MTdGRjFBOTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzOTE3RkQxQTkx
QjJGODAwNkUwNEYyIC8qIGlvcy9RdWlja0xvb2tTb2Z0TGluay5tbSAqLzsgfTsKKwkJNDQzOTE4
MDAxQTkxQjJGODAwNkUwNEYyIC8qIGlvcy9RdWlja0xvb2tTb2Z0TGluay5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzOTE3RkUxQTkxQjJGODAwNkUw
NEYyIC8qIGlvcy9RdWlja0xvb2tTb2Z0TGluay5oICovOyB9OwogCQk0NDNGMDQyNzBFNzVDOEZC
MDA3RTU0MDcgLyogTmV0d29ya1N0YXRlTm90aWZpZXJJT1MubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDNGMDQyNjBFNzVDOEZCMDA3RTU0MDcgLyog
TmV0d29ya1N0YXRlTm90aWZpZXJJT1MubW0gKi87IH07CiAJCTQ0NDlBNDA1MUE5NjRCMDAwMEI2
NEFENSAvKiBDb3JlTWVkaWFTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ0NDlBNDA0MUE5NjRCMDAwMEI2NEFENSAvKiBDb3JlTWVkaWFTUEkuaCAq
LzsgfTsKIAkJNDQ0RDRFMjMwRjcwOEIyRTAwMzE1OEUwIC8qIFdlYkNvcmVVUkxSZXNwb25zZUlP
Uy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0NEQ0
RTIxMEY3MDhCMkUwMDMxNThFMCAvKiBXZWJDb3JlVVJMUmVzcG9uc2VJT1MubW0gKi87IH07CkBA
IC04NzY5LDkgKzg3NjksOSBAQAogCQk0NDMxMUNENDEyRTRFMjJEMDAwQThEMTkgLyogRE9NRG9j
dW1lbnRGcmFnbWVudFByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
RE9NRG9jdW1lbnRGcmFnbWVudFByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDQzMTFDRDUxMkU0RTIyRDAwMEE4RDE5IC8qIERPTURvY3VtZW50UHJpdmF0ZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01Eb2N1bWVudFByaXZhdGUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQzODE3RkQxQTkxQjJGODAwNkUwNEYyIC8qIENvcmVN
ZWRpYVNvZnRMaW5rLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENv
cmVNZWRpYVNvZnRMaW5rLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDQzOTE3
RkQxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDM4MTdGRTFBOTFCMkY4MDA2RTA0RjIgLyogQ29y
ZU1lZGlhU29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29yZU1l
ZGlhU29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDQzOTE3RkUxQTkx
QjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IGlvcy9RdWlja0xvb2tTb2Z0TGluay5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0NDM5MTdGRDFBOTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRM
aW5rLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gaW9zL1F1aWNr
TG9va1NvZnRMaW5rLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NDM5MTdGRTFB
OTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IGlvcy9RdWlja0xvb2tTb2Z0TGluay5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0NDNGMDQyNjBFNzVDOEZCMDA3RTU0MDcgLyogTmV0d29ya1N0YXRl
Tm90aWZpZXJJT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBO
ZXR3b3JrU3RhdGVOb3RpZmllcklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDQ0OUE0MDQxQTk2NEIwMDAwQjY0QUQ1IC8qIENvcmVNZWRpYVNQSS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBDb3JlTWVkaWFTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDQ0RDRFMjEwRjcwOEIyRTAwMzE1OEUwIC8qIFdlYkNvcmVVUkxSZXNwb25zZUlP
Uy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkNvcmVVUkxS
ZXNwb25zZUlPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4ODU3LDggKzE4
ODU3LDggQEAKIAkJCQlDNTI3OEIwQjE3RjIxMkVBMDAzQTI5OTggLyogUGxhdGZvcm1QYXN0ZWJv
YXJkSU9TLm1tICovLAogCQkJCUU0NTM5MDMyMEVBRkQ2MzcwMDM2OTVDOCAvKiBQbGF0Zm9ybVNj
cmVlbklPUy5tbSAqLywKIAkJCQlBQUUzNzU1RDE3NDI5QkNDMDA2MjAwQzIgLyogUGxhdGZvcm1T
cGVlY2hTeW50aGVzaXplcklPUy5tbSAqLywKLQkJCQk0NDM5MTdGRTFBOTFCMkY4MDA2RTA0RjIg
LyogUXVpY2tMb29rU29mdExpbmsuaCAqLywKLQkJCQk0NDM5MTdGRDFBOTFCMkY4MDA2RTA0RjIg
LyogUXVpY2tMb29rU29mdExpbmsubW0gKi8sCisJCQkJNDQzOTE3RkUxQTkxQjJGODAwNkUwNEYy
IC8qIGlvcy9RdWlja0xvb2tTb2Z0TGluay5oICovLAorCQkJCTQ0MzkxN0ZEMUE5MUIyRjgwMDZF
MDRGMiAvKiBpb3MvUXVpY2tMb29rU29mdExpbmsubW0gKi8sCiAJCQkJQ0RGQzM2MDExOENBNjE2
MzAwMjZFNTZGIC8qIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5oICovLAogCQkJCUNERkMzNjAy
MThDQTYxNjMwMDI2RTU2RiAvKiBSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MubW0gKi8sCiAJCQkJ
NDRDMzYzRUUwRkFBN0JCMzAwOTdGOENDIC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0lPUy5o
ICovLApAQCAtMjYwNjIsNyArMjYwNjIsNyBAQAogCQkJCTU1MEEwQkNBMDg1RjYwMzkwMDczNTNE
NiAvKiBRdWFsaWZpZWROYW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRTEyNTIzRDFBMTY3NkNE
MDA4NjQ0ODAgLyogUXVhcnR6Q29yZVNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDQyQUY3QTkx
MDJDRERFQTAwOEZENEQzIC8qIFF1aWNrTG9vay5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDQzOTE4
MDAxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLmggaW4gSGVhZGVycyAqLywK
KwkJCQk0NDM5MTgwMDFBOTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBMTQ5Nzg2RjFBQkFGMzM4MDBDRUY3RTQgLyogQ29udGVudEZp
bHRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0UxMjUyMzkxQTE2NkZBMDAwODY0NDgwIC8qIFF1
aWNrTG9va1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTEwREJGNDcxOEY5MjMxNzAwMEQ3MEM2
IC8qIFF1aWNrTG9va0hhbmRsZUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yOTU2Myw3ICsy
OTU2Myw3IEBACiAJCQkJQ0RFRTM5MzcxNzk3NDI1OTAwMUQ3NTgwIC8qIFB1YmxpY1VSTE1hbmFn
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTUwQTBCQzkwODVGNjAzOTAwNzM1M0Q2IC8qIFF1
YWxpZmllZE5hbWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDQyQUY3QUExMDJDRERFQTAwOEZE
NEQzIC8qIFF1aWNrTG9vay5tbSBpbiBTb3VyY2VzICovLAotCQkJCTQ0MzkxN0ZGMUE5MUIyRjgw
MDZFMDRGMiAvKiBRdWlja0xvb2tTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAorCQkJCTQ0Mzkx
N0ZGMUE5MUIyRjgwMDZFMDRGMiAvKiBpb3MvUXVpY2tMb29rU29mdExpbmsubW0gaW4gU291cmNl
cyAqLywKIAkJCQkwNzJBRTFFNjE4M0MwNzQxMDAwQTU5ODggLyogUXVpY2tUaW1lUGx1Z2luUmVw
bGFjZW1lbnQubW0gaW4gU291cmNlcyAqLywKIAkJCQkzNzlFMzcxNjEzNzM2QTY2MDBCOUU5MTkg
LyogUXVvdGVkUHJpbnRhYmxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTVBNTc0RjI4MTMxREI5
NkQwMDQ3MUI4OCAvKiBRdW90ZXNEYXRhLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZwppbmRleCBmYzkwZjYxMTU2MjMxYTQxY2E5MTM3ZjE3Yzc5NTVlOGQzNzNiMGVhLi4wYzg4NDBm
NmFiNTE4NWY4MzU0YjcwNjAzZTAyNWYyNWEyYTc5ZjRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAt
NDQsNiArNDQsNyBAQCBFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HID0gRU5BQkxFX0NBQ0hFX1BB
UlRJVElPTklORzsKIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVO
QUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkc7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5B
QkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0g
RU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CiBFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lO
VEFYID0gRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWDsKIEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKQEAgLTIxNSw0ICsyMTYsNCBA
QCBFTkFCTEVfSklUID0gRU5BQkxFX0pJVDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJ
VEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVf
REVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJE
X0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJM
RV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FD
SEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BS
T1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRB
WCkgJChFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xF
VkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NP
TVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19H
UklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxF
Q1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkg
JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
UykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVO
QUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJ
TUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
TEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9B
TklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQp
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVO
QUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVO
QUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX1NBVFVS
QVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUp
OworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUND
RUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJ
TkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAk
KEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJM
RV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxF
X0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVO
QUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykg
JChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQp
ICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09M
VVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVM
NCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1Mz
X1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NV
U1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxF
X0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9E
T000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVf
Rk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQ
QUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFU
QUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVf
VUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Jf
UE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChF
TkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAk
KEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVG
SVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5E
T1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBS
RVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01F
RElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJ
QV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChF
TkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElM
UykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFC
TEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19T
VUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZS
QU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BF
Q1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JB
TkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJ
UykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxF
X1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9O
RV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNP
Tl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVD
VF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFU
QUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wp
ICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NP
Q0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5B
QkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkg
JChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VU
X0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
IGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
aW5kZXggZmM5MGY2MTE1NjIzMWE0MWNhOTEzN2YxN2M3OTU1ZThkMzczYjBlYS4uMGM4ODQwZjZh
YjUxODVmODM1NGI3MDYwM2UwMjVmMjVhMmE3OWY0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dl
YktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ0LDYgKzQ0
LDcgQEAgRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORyA9IEVOQUJMRV9DQUNIRV9QQVJUSVRJT05J
Tkc7CiBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FO
VkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZf
QVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IEVOQUJMRV9F
UzZfQ0xBU1NfU1lOVEFYOwogRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCA9IEVO
QUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
TkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CkBAIC0yMTUsNCArMjE2LDQgQEAgRU5BQkxF
X0pJVCA9IEVOQUJMRV9KSVQ7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMg
PSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMg
PSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NB
UFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJ
VElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5B
QkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
TkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAk
KEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElO
RykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlP
VVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JF
U09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xF
VkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9D
U1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxF
X0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5B
QkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5B
QkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFC
TEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dB
TUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09O
REFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5E
SUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkg
JChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9W
RU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRF
UlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxF
X01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9N
RURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkg
JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChF
TkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJ
Q19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9O
X0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lO
U1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVS
X0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRI
RVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5B
QkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJM
RV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hf
SUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNF
TEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVf
REFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VC
R0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VC
X1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQo
RU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNM
VCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZ
T1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRV
UkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVO
QUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFT
X1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfVEVN
UExBVEVfTElURVJBTF9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJM
RV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NT
X0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxF
X0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJM
RV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAk
KEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5B
QkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJ
TkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NI
RU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxT
X0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVO
VFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9B
RF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVO
QUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9I
SURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAk
KEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9J
TkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lO
UFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lP
U19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
SU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJ
WEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChF
TkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05U
Uk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElT
VElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01P
VVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5B
QkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01J
U0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJ
U1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChF
TkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQo
RU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAk
KEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5B
QkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9O
VFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVS
X0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRP
U0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElO
RykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAk
KEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFM
VUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJM
RV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAk
KEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJW
VFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxF
X0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1F
VElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVy
ZXMuY21ha2UKaW5kZXggZTk1OWZiZjYxZWY4OWRjNjMzYTg1MWMyYThlNmZmNTgzZmM3NDM5Mi4u
YjRjMGU0MDQwYzJmY2Q4OWZiNWM4MWI3ZDlhMzk5OWVhNTMxYzcyZiAxMDA2NDQKLS0tIGEvU291
cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9XZWJLaXRG
ZWF0dXJlcy5jbWFrZQpAQCAtNTksNiArNTksNyBAQCBtYWNybyhXRUJLSVRfT1BUSU9OX0JFR0lO
KQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DU1NfU0hBUEVTICJUb2dnbGUgQ1NT
IFNoYXBlcyBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShF
TkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkgIlRvZ2dsZSBjdXJzb3IgdmlzaWJpbGl0eSBzdXBwb3J0
IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ1VTVE9NX1ND
SEVNRV9IQU5ETEVSICJUb2dnbGUgQ3VzdG9tIFNjaGVtZSBIYW5kbGVyIHN1cHBvcnQiIFBSSVZB
VEUgT0ZGKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9FUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVggIlRvZ2dsZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1cHBvcnQiIE9OKQog
ICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCAiVG9nZ2xl
IGRhc2hib2FyZCBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklO
RShFTkFCTEVfREFUQUNVRV9WQUxVRSAiVG9nZ2xlIGRhdGFjdWUgdmFsdWUgc3VwcG9ydCIgUFJJ
VkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0RBVEFMSVNUX0VMRU1F
TlQgIlRvZ2dsZSBIVE1MNSBkYXRhbGlzdCBzdXBwb3J0IiBQUklWQVRFIE9GRikKQEAgLTE2OCw3
ICsxNjksNiBAQCBtYWNybyhXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAgIFdFQktJVF9PUFRJT05f
REVGSU5FKEVOQUJMRV9YSFJfVElNRU9VVCAiVG9nZ2xlIFhIUiB0aW1lb3V0IHN1cHBvcnQiIFBS
SVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9YU0xUICJUb2dnbGUg
WFNMVCBzdXBwb3J0IiBQUklWQVRFIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKFVTRV9T
WVNURU1fTUFMTE9DICJUb2dnbGUgc3lzdGVtIGFsbG9jYXRvciBpbnN0ZWFkIG9mIFdlYktpdCdz
IGN1c3RvbSBhbGxvY2F0b3IiIFBSSVZBVEUgT0ZGKQotCiAgICAgV0VCS0lUX09QVElPTl9ERVBF
TkQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMiBFTkFCTEVfVklERU8pCiAgICAgV0VCS0lUX09Q
VElPTl9ERVBFTkQoRU5BQkxFX0RGR19KSVQgRU5BQkxFX0pJVCkKICAgICBXRUJLSVRfT1BUSU9O
X0RFUEVORChFTkFCTEVfRlRMX05BVElWRV9DQUxMX0lOTElOSU5HIEVOQUJMRV9GVExfSklUKQpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCmluZGV4IGIwZDVhYTFiM2JjNDQ4
ZDZkMjYxMjcwYTVmYjU4MTQwMzQ2NWY1ZjUuLjQwYzExNWUzYjNlNGJhNDc1MmE3MWQzOGQxZmVh
MjI3ZWUyMGQxMjcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJl
TGlzdC5wbQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KQEAg
LTQ0LDYgKzQ0LDcgQEAgQkVHSU4gewogbXkgKAogICAgICR0aHJlZURUcmFuc2Zvcm1zU3VwcG9y
dCwKICAgICAkYWNjZWxlcmF0ZWQyRENhbnZhc1N1cHBvcnQsCisgICAgJGFycm93ZnVuY3Rpb25T
eW50YXgsCiAgICAgJGF0dGFjaG1lbnRFbGVtZW50U3VwcG9ydCwKICAgICAkYmF0dGVyeVN0YXR1
c1N1cHBvcnQsCiAgICAgJGNhbnZhc1BhdGhTdXBwb3J0LApAQCAtMTU2LDkgKzE1NywxMyBAQCBt
eSBAZmVhdHVyZXMgPSAoCiAgICAgeyBvcHRpb24gPT4gImFjY2VsZXJhdGVkLTJkLWNhbnZhcyIs
IGRlc2MgPT4gIlRvZ2dsZSBBY2NlbGVyYXRlZCAyRCBDYW52YXMgc3VwcG9ydCIsCiAgICAgICBk
ZWZpbmUgPT4gIkVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMiLCBkZWZhdWx0ID0+IGlzR3Rr
KCksIHZhbHVlID0+IFwkYWNjZWxlcmF0ZWQyRENhbnZhc1N1cHBvcnQgfSwKIAorICAgIHsgb3B0
aW9uID0+ICJhcnJvd2Z1bmN0aW9uLXN5bnRheCIsIGRlc2MgPT4gIlRvZ2dsZSBFUzYgYXJyb3cg
ZnVuY3Rpb24gc3ludGF4IHN1cHBvcnQiLAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVfRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGFycm93ZnVuY3Rp
b25TeW50YXggfSwKKwogICAgIHsgb3B0aW9uID0+ICJhdHRhY2htZW50LWVsZW1lbnQiLCBkZXNj
ID0+ICJUb2dnbGUgQXR0YWNobWVudCBFbGVtZW50IHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+
ICJFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBcJGF0
dGFjaG1lbnRFbGVtZW50U3VwcG9ydCB9LAogCisKICAgICB7IG9wdGlvbiA9PiAiYmF0dGVyeS1z
dGF0dXMiLCBkZXNjID0+ICJUb2dnbGUgQmF0dGVyeSBTdGF0dXMgc3VwcG9ydCIsCiAgICAgICBk
ZWZpbmUgPT4gIkVOQUJMRV9CQVRURVJZX1NUQVRVUyIsIGRlZmF1bHQgPT4gaXNFZmwoKSwgdmFs
dWUgPT4gXCRiYXR0ZXJ5U3RhdHVzU3VwcG9ydCB9LAogCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cg
Yi9DaGFuZ2VMb2cKaW5kZXggYmFiZGI3ZDExYzMxMTM0ZWM1MDZmZWEwNWM3MjEyYTFhZTVhY2Y4
Mi4uZDBiMTIzODI4YjRkMTQyNWRjMWM5NGQ2ZDVkZTUzMWY0ZmI1NjY0NSAxMDA2NDQKLS0tIGEv
Q2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE1LTA1LTAxICAg
U2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZd
IEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyB0byBzd2l0
Y2ggb24vb2ZmIGVzNiBhcnJvdyBmdW5jdGlvbiBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYCisKKyAgICAgICAgICogU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlOgorICAg
ICAgICAgKiBTb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZToKKwogMjAxNS0wNC0zMCAgTWFydGlu
IFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0NNYWtlXSBBdXRv
bWF0aWNhbGx5IGV4cG9zZSBXVEZfVVNFX0ZPTyB0byB0aGUgYnVpbGQgd2hlbiBVU0VfRk9PIGlz
IGV4cG9zZWQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252191</attachid>
            <date>2015-05-01 16:26:11 -0700</date>
            <delta_ts>2015-05-01 16:46:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150502022456.patch</filename>
            <type>text/plain</type>
            <size>208173</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzNjk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
MmJmOGRiNzU1MGVjYTRlZWEwNTMwZDk0M2ZjYmVjNmQzMmIyODQ5Li5mNjNmYzlmOTg3ZDViNDhh
MmY5Y2M5NjBjNjRkMmQwYTBmN2RhOTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMDAgQEAKKzIwMTUtMDUtMDEgQWxla3NhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5
bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQw
ODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4
ZWQgY29tbWVudHMgZnJvbSByZXZpZXcgYW5kIGFsc28gYWRkZWQgc3VwcG9ydCBvZiBGVEwgYW5k
IERGRyBjb21waWxlIG1vZGUuIAorICAgICAgICBUbyBmb3JjZSB3b3JrIGNvcnJlY3RseSBpbiBE
RkcgbW9kZSB3YXMgYWRkZWQgcGFyYW1ldGVyIHRoYXQgcHJldmVudHMgaW5saW5lIAorICAgICAg
ICBhbmQgY29tcGlsZSBhcnJvdyBmdW5jdGlvbiBpbiBERkcgbW9kZS4KKworCisgICAgICAgICog
ZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkRGRzo6
QWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKToK
KyAgICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpERkc6
OkJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKToKKyAgICAgICAgKiBkZmcvREZHQ2FwYWJpbGl0
aWVzLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpjYXBhYmlsaXR5TGV2ZWwpOgorICAgICAgICAq
IGRmZy9ERkdDbG9iYmVyaXplLmg6CisgICAgICAgIChKU0M6OkRGRzo6Y2xvYmJlcml6ZSk6Cisg
ICAgICAgICogZGZnL0RGR0RvZXNHQy5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6ZG9lc0dDKToK
KyAgICAgICAgKiBkZmcvREZHRml4dXBQaGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Rml4
dXBQaGFzZTo6Zml4dXBOb2RlKToKKyAgICAgICAgKiBkZmcvREZHTm9kZS5oOgorICAgICAgICAo
SlNDOjpERkc6Ok5vZGU6Omhhc0NlbGxPcGVyYW5kKToKKyAgICAgICAgKiBkZmcvREZHTm9kZVR5
cGUuaDoKKyAgICAgICAgKiBkZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwOgor
ICAgICAgICAoSlNDOjpERkc6OlByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlOjpwcm9wYWdhdGUp
OgorICAgICAgICAqIGRmZy9ERkdTYWZlVG9FeGVjdXRlLmg6CisgICAgICAgIChKU0M6OkRGRzo6
c2FmZVRvRXhlY3V0ZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmg6CisgICAg
ICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNhbGxPcGVyYXRpb24pOgorICAgICAgICAq
IGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVj
dWxhdGl2ZUpJVDo6Y29tcGlsZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQu
Y3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAg
ICAgKiBkZmcvREZHU3RydWN0dXJlUmVnaXN0cmF0aW9uUGhhc2UuY3BwOgorICAgICAgICAoSlND
OjpERkc6OlN0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlOjpydW4pOgorICAgICAgICAqIGZ0bC9G
VExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmNwcDoKKyAgICAgICAgKiBmdGwvRlRMQWJzdHJhY3RI
ZWFwUmVwb3NpdG9yeS5oOgorICAgICAgICAqIGZ0bC9GVExDYXBhYmlsaXRpZXMuY3BwOgorICAg
ICAgICAoSlNDOjpGVEw6OmNhbkNvbXBpbGUpOgorICAgICAgICAqIGZ0bC9GVExJbnRyaW5zaWNS
ZXBvc2l0b3J5Lmg6CisgICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcDoKKyAgICAg
ICAgKEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZU5vZGUpOgorICAgICAgICAoSlND
OjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlTmV3QXJyb3dGdW5jdGlvbik6CisgICAgICAg
ICogaml0L0pJVE9wZXJhdGlvbnMuY3BwOgorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmg6
CisgICAgICAgICogbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwOgorICAgICAgICAoSlNDOjpMTElu
dDo6TExJTlRfU0xPV19QQVRIX0RFQ0wpOgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJvd0Z1bmN0
aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6YXJyb3dGdW5jdGlvbkNhbGwpOgorICAgICAgICAoSlND
OjpKU0Fycm93RnVuY3Rpb246OkpTQXJyb3dGdW5jdGlvbik6CisgICAgICAgIChKU0M6OkpTQXJy
b3dGdW5jdGlvbjo6Y3JlYXRlV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludCk6
CisgICAgICAgIChKU0M6OkpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKEpTQzo6
SlNBcnJvd0Z1bmN0aW9uOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChKU0M6OkpTQXJyb3dG
dW5jdGlvbjo6dmlzaXRDaGlsZHJlbik6CisgICAgICAgICogcnVudGltZS9KU0Fycm93RnVuY3Rp
b24uaDoKKyAgICAgICAgKEpTQzo6SlNBcnJvd0Z1bmN0aW9uOjphbGxvY2F0aW9uU2l6ZSk6Cisg
ICAgICAgIChKU0M6OkpTQXJyb3dGdW5jdGlvbjo6YXJyb3dGdW5jdGlvbik6CisgICAgICAgIChK
U0M6OkpTQXJyb3dGdW5jdGlvbjo6Ym91bmRUaGlzKToKKyAgICAgICAgKEpTQzo6SlNBcnJvd0Z1
bmN0aW9uOjpvZmZzZXRPZlRoaXNWYWx1ZSk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93
ZnVuY3Rpb24tYXNwYXJhbXRlci0xLmpzOiBSZW5hbWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzcGFyYW10ZXIuanMuCisgICAgICAgICog
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci0yLmpzOiBBZGRlZC4KKyAgICAg
ICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ib3VuZC5qczogQWRkZWQuCisgICAgICAg
ICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY2FsbC5qczogQWRkZWQuCisgICAgICAgICog
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY29uc3RydWN0b3IuanM6CisgICAgICAgICogdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC1hcmd1bWVudHMuanM6IEFkZGVkLgorICAg
ICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtdGhpcy0xLmpzOiBSZW5h
bWVkIGZyb20gU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LWxleGljYWx0aGlzLTEuanMuCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
bGV4aWNhbC10aGlzLTIuanM6IFJlbmFtZWQgZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbHRoaXMuanMuCisgICAgICAgICogdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTEuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMC0yLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAwMDAtMS5qczogQWRkZWQuCisgICAgICAgICog
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwMDAwLTIuanM6IEFkZGVkLgorICAgICAg
ICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXN5bnRheC5qczogQWRkZWQuCisgICAgICAg
ICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24uanM6IFJlbW92ZWQuCisKKzIwMTUtMDQtMTcg
IEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKyAgICAgICAgU21hbGwg
cmVmYWN0b3Jpbmcgb2YgdGhlIHBhcmNlci5jcHAgZmlsZS4gSXQgaXMgbmVjZXNzYXJ5IHRvIGlu
Y3JlYXNlIHJlYWRhYmlsaXR5IG9mIHRoZSBwYXRjaAorICAgICAgICB3aXRoIEVTNiBBcnJvdyBm
dW5jdGlvbiBpbXBsZW1lbnRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmg6CisgICAg
ICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisKKzIwMTUtMDQtMTMgIEFsZXhhbmRyIFNrYWNoa292
ICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBh
cnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkZWQgc3VwcG9ydCBvZiBFUzYgYXJyb3cgZnVuY3Rpb24uIENoYW5n
ZXMgd2VyZSBtYWRlIGFjY29yZGluZyBmb2xsb3dpbmcgc3BlYyBodHRwOi8vd2lraS5lY21hc2Ny
aXB0Lm9yZy9kb2t1LnBocD9pZD1oYXJtb255OmFycm93X2Z1bmN0aW9uX3N5bnRheAorICAgICAg
ICBJbiBwYXRjaCB3ZXJlIGltcGxlbWVudGVkIHRoZSBzaW1wbGVzdCBjYXNlczoKKyAgICAgICAg
ICAxIG5vIHBhcmFtZXRlcnMgICAgICAgICAgICAgICAgKCkgPT4gMTAgKyAyMAorICAgICAgICAg
IDIgc2luZ2xlIHBhcmFtZXRlciAgICAgICAgICAgICAgeCA9PiB4ICsgMjAKKyAgICAgICAgICAz
IG11bHRpcGxlIHBhcmFtZXRlcnMgICAgICAoeCwgeSkgPT4geCArIHkKKyAgICAgICAgICA0IGFy
cm93IGZ1bmN0aW9uIHdpdGggYmxvY2sgICAgIHggPT4geyByZXR1cm4geCoxMDsgfQorICAgICAg
ICAgIDUgbGV4aWNhbCB0aGlzIC0gdmFyaWFibGUgdGhpcyBpcyBwb2ludCB0byB0aGUgdGhpcyBv
ZiB0aGUgZnVuY3Rpb24gd2hlcmUgYXJyb3cgZnVuY3Rpb24gaXMgZGVjbGFyZWQKKyAgICAgICAg
ICA2IE5vIGNvbnN0cnVjdG9yIC0gdGhlIHVzaW5nIG9mIHRoZSBjb21tYW5kIG5ldyBmb3IgYXJy
b3cgZnVuY3Rpb24gbGVhZHMgdG8gcnVudGltZSBlcnJvci4gCisKKyAgICAgICAgIE5vdCB5ZXQg
aW1wbGVtZW50ZWQ6CisgICAgICAgICAgMSBsZXhpY2FsIGJpbmQgb2YgdGhlIGFyZ3VtZW50cyAm
IHN1cGVyCisgICAgICAgICAgMiBJbnNpZGUgYW4gYXJyb3cgZnVuY3Rpb24sIG5ldy50YXJnZXQg
cmVmZXJzIHRvIHRoZSBuZXcudGFyZ2V0IG9mIHRoZSBzdXJyb3VuZGluZyBub24tYXJyb3cgZnVu
Y3Rpb24uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZzoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHBy
b2o6CisgICAgICAgICogYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb246CisgICAgICAgICogYnl0
ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaDoKKyAgICAgICAgKEpTQzo6RnVuY3Rvcjo6Y29tcHV0ZVVz
ZXNGb3JCeXRlY29kZU9mZnNldCk6CisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoK
KyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpkdW1wQnl0ZWNvZGUpOgorICAgICAgICAqIGJ5dGVj
b21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oOgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRl
Y29kZUdlbmVyYXRvci5jcHA6CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0
TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24pOiBhZGRlZAorICAgICAgICAoSlNDOjpCeXRlY29k
ZUdlbmVyYXRvcjo6ZW1pdFRoaXNOb2RlQnl0ZWNvZGUpOiBhZGRlZAorICAgICAgICAqIGJ5dGVj
b21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgorICAgICAgICAoSlNDOjplbWl0Qnl0ZWNvZGU6OmVt
aXRCeXRlY29kZSk6IGFkZGVkCisgICAgICAgIChKU0M6OkFycm93RnVuY0V4cHJOb2RlOjplbWl0
Qnl0ZWNvZGUpOiBhZGRlZAorICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6Cisg
ICAgICAgIChKU0M6OkJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKToKKyAgICAgICAgKiBkZmcv
REZHQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAgICAgKEpTQzo6Q2FwYWJpbGl0eUxldmVsOjpjYXBh
YmlsaXR5TGV2ZWwpOgorICAgICAgICAqIGppdC9KSVQuaDoKKyAgICAgICAgKEpTQzo6SklUOjpl
bWl0X29wX25ld19hcnJvd19mdW5jX2V4cCk6IGFkZGVkCisgICAgICAgICogaml0L0pJVElubGlu
ZXMuaDoKKyAgICAgICAgKEpTQzo6SklUOjpjYWxsT3BlcmF0aW9uKTogYWRkZWQKKyAgICAgICAg
KiBqaXQvSklULmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNz
KToKKyAgICAgICAgKiBqaXQvSklUT3Bjb2Rlcy5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6ZW1p
dF9vcF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRPcGVyYXRp
b25zLmNwcDoKKyAgICAgICAgKEpTQzo6SklUX09QRVJBVElPTjo6b3BlcmF0aW9uTmV3QXJyb3dG
dW5jdGlvbik6IGFkZGVkCisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMuaDoKKyAgICAgICAg
KEpTQzo6SklUX09QRVJBVElPTjo6b3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbik6IGFkZGVkCisg
ICAgICAgICogbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwOgorICAgICAgICAoTExJTlRfU0xPV19Q
QVRIX0RFQ0woc2xvd19wYXRoX25ld19hcnJvd19mdW5jX2V4cCk6IGFkZGVkCisgICAgICAgICog
bGxpbnQvTExJbnRTbG93UGF0aHMuaDoKKyAgICAgICAgKExMSU5UX1NMT1dfUEFUSF9ERUNMKHNs
b3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApKTogYWRkZWQKKyAgICAgICAgKiBsbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbToKKyAgICAgICAgKiBwYXJzZXIvQVNUQnVpbGRlci5oOgorICAg
ICAgICAoSlNDOjpBU1RCdWlsZGVyOjpjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcik6CisgICAgICAg
ICogcGFyc2VyL0xleGVyLmNwcDoKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OnNldFRva2VuUG9z
aXRpb24pOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6bGV4KToKKyAgICAgICAgKiBwYXJzZXIv
TGV4ZXIuaDoKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24pOgorICAg
ICAgICAqIHBhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmg6CisgICAgICAgIChKU0M6OkFycm93RnVu
Y0V4cHJOb2RlOjpBcnJvd0Z1bmNFeHByTm9kZSk6IGFkZGVkCisgICAgICAgICogcGFyc2VyL05v
ZGVzLmg6CisgICAgICAgIChKU0M6Ok5vZGU6OmlzQXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZAor
ICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHByTm9kZSk6IGFkZGVkIGNsYXNzCisgICAgICAgICog
cGFyc2VyL1BhcnNlci5jcHA6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZVNvdXJjZUVsZW1lbnRzKToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNl
UHJpbWFyeUV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU291cmNlRWxl
bWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VTdGF0ZW1lbnQpOgorICAgICAgICAo
SlNDOjpQYXJzZXI6OnBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQ
YXJzZXI6OnBhcnNlUHJpbWFyeUV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBh
cnNlQXJyb3dFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpzZXRFbmRPZlN0YXRl
bWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcik6
CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uSW5mbyk6CisgICAgICAg
IChKU0M6OlBhcnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uQm9keSk6CisgICAgICAgICogcGFyc2Vy
L1BhcnNlci5oOgorICAgICAgICAoSlNDOjpQYXJzZXI6OkZ1bmN0aW9uUGFyc2VUeXBlKToKKyAg
ICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZVNvdXJjZUVsZW1lbnQpOgorICAgICAgICAoSlNDOjpQ
YXJzZXI6OnBhcnNlU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93
RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6c2V0RW5kT2ZTdGF0ZW1lbnQpOgor
ICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIpOgorICAgICAg
ICAqIHBhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaDoKKyAgICAgICAgKiBwYXJzZXIvUGFyc2Vy
VG9rZW5zLmg6CisgICAgICAgIChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6YXJyb3dGdW5jdGlv
bk9mZnNldCk6IGFkZGVkCisgICAgICAgIChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6aXNBcnJv
d0Z1bmN0aW9uKTogYWRkZWQKKyAgICAgICAgKEpTQzo6UGFyc2VyRnVuY3Rpb25JbmZvOjphcnJv
d0Z1bmN0aW9uQm9keVR5cGUpOiBhZGRlZAorICAgICAgICAqIHBhcnNlci9Tb3VyY2VDb2RlLmg6
CisgICAgICAgIChKU0M6OlNvdXJjZUNvZGU6OnN1YkFycm93RXhwcmVzc2lvbik6CisgICAgICAg
ICogcGFyc2VyL1N5bnRheENoZWNrZXIuaDoKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6
Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIpOgorICAgICAgICAqIHBhcnNlci9Tb3VyY2VQcm92aWRl
ckNhY2hlSXRlbToKKyAgICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlv
blBhcmFtZXRlcnMpOgorICAgICAgICAoSlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbSk6Cisg
ICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjplbmRBcnJvd0Z1bmN0aW9uVG9r
ZW4pOgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmg6IGFkZGVkIGNsYXNzIGZv
ciBoYW5kbGUgYXJyb3cgZnVuY3Rpb24gY3JlYXRpb24gYW5kIGV4ZWN1dGlvbgorICAgICAgICAq
IHJ1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcDoKKyAgICAgICAgKiBydW50aW1lL0pTRnVuY3Rp
b24uaDoKKyAgICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6SlNGdW5jdGlvbik6IGFkZGVkIG9uZSBt
b3JlIGNvbnN0cnVjdG9yCisgICAgICAgICogcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oOgor
ICAgICAgICAoSlNDOjpKU0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKTogYWRkZWQgY29uc3RydWN0b3Ig
aW1wbGVtZW50YXRpb24KKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAg
ICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmluaXQpOgorICAgICAgICAoSlNDOjpKU0dsb2Jh
bE9iamVjdDo6bV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKTogYWRkZWQKKyAgICAgICAgKEpTQzo6
SlNHbG9iYWxPYmplY3Q6OmFycm93RnVuY3Rpb25TdHJ1Y3R1cmUpOgorICAgICAgICAqIHRlc3Rz
L3N0cmVzcy9qcy9hcnJvd2Z1bmN0aW9uLmpzOgorCiAyMDE1LTA0LTEyICBBbGV4YW5kciBTa2Fj
aGtvdiAgPGdza2FjaGtvdkBnbWFpbC5jb20+CiAgICAgICAgIFNtYWxsIHJlZmFjdG9yaW5nIG9m
IHRoZSBwYXJjZXIuY3BwIGZpbGUuIEl0IGlzIG5lY2Vzc2FyeSB0byBpbmNyZWFzZSByZWFkYWJp
bGl0eSBvZiB0aGUgcGF0Y2gKICAgICAgICAgd2l0aCBFUzYgQXJyb3cgZnVuY3Rpb24gaW1wbGVt
ZW50YXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0Y2YxZTNjMmQ1Y2E0ZDRjNWIwNzUxMzUwNzJhYjdkMmI3
MWNiMTUxLi4yYjJhZmFlY2Q4YWFhYmE4ZjQ5YmY2OWU4MjJlMzVkY2JkN2U5MTI4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDQtMTcgIFNrYWNoa292IEFsZXhhbmRyICA8Z3Nr
YWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1
bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTQwODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgg
Zm9yIGFycm93IGZ1bmN0aW9uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZzoKKwogMjAxNS0wNS0wMSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVl
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE4MzY4Ny4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZwppbmRleCBhZmViYjY2OTFjNDA4MzQ1MDE2OTI1MGZlY2E3NmMyZTIyNmIx
MTE0Li4zNTBlNTk0NzI3NjhhMDVjY2EyMDAwZTE2NmQ2OWJkYjlhMzk3OTE1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDQtMTcgIFNrYWNoa292IEFsZXhhbmRyICA8
Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93
IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5U
QVggZm9yIGFycm93IGZ1bmN0aW9uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxNS0wNS0wMSAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBh
cHBsZS5jb20+CiAKICAgICAgICAgQWRkIEFQSSB0byBkaXNhYmxlIG1ldGEgcmVmcmVzaGVzLgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDY1ZDgzYTQxMzliMmIzZTdhMmEx
ZWQ4YmYzNGU2NjJlYzNhZGRkNmUuLjI0Y2M4YTIwZjQyZTlmMzA5ZjAzMTkxOTA3OTYxNGI0NTQ4
MjJjMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQ3MCw2ICs0NzAs
NyBAQCBzZXQoSmF2YVNjcmlwdENvcmVfUlVOVElNRV9TT1VSQ0VTCiAgICAgcnVudGltZS9KU0Fy
cmF5QnVmZmVyVmlldy5jcHAKICAgICBydW50aW1lL0pTQXJyYXlJdGVyYXRvci5jcHAKICAgICBy
dW50aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAKKyAgICBydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5j
cHAKICAgICBydW50aW1lL0pTR2xvYmFsT2JqZWN0RGVidWdnYWJsZS5jcHAKICAgICBydW50aW1l
L0pTQ0pTVmFsdWUuY3BwCiAgICAgcnVudGltZS9KU0NhbGxlZS5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54
Y2NvbmZpZwppbmRleCBmYzkwZjYxMTU2MjMxYTQxY2E5MTM3ZjE3Yzc5NTVlOGQzNzNiMGVhLi4w
Yzg4NDBmNmFiNTE4NWY4MzU0YjcwNjAzZTAyNWYyNWEyYTc5ZjRhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCkBAIC00NCw2ICs0NCw3IEBAIEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcgPSBF
TkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HOwogRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NB
TlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NB
R0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0VTNl9D
TEFTU19TWU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKIEVOQUJMRV9FUzZfVEVNUExB
VEVfTElURVJBTF9TWU5UQVggPSBFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYOwog
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwpAQCAt
MjE1LDQgKzIxNiw0IEBAIEVOQUJMRV9KSVQgPSBFTkFCTEVfSklUOwogCiBFTkFCTEVfU0FUVVJB
VEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJ
QzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVf
QUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5U
KSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVO
QUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9F
UzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVgpICQo
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NT
X0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikg
JChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChF
TkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxF
X0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNP
Ul9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRB
X1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklD
RV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxF
X0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9G
SUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExT
Q1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQp
ICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhS
T1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xT
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lO
X1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxF
X0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJF
TEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJ
T05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VC
X0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChF
TkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01F
RElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxF
TUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFC
TEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJF
TkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlf
RVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVO
QUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExF
VEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFf
UVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVAp
ICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJM
RV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09O
VkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVN
UExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5H
X1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9D
U1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dF
Ql9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAk
KEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhS
X1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkg
JChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVT
RU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1T
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09W
RVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hN
RU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFT
X1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfRVM2X0NMQVNTX1NZ
TlRBWCkgJChFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05T
X0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NT
X0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NT
U19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9D
U1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19T
RUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQp
ICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElU
WSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9J
VEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZF
TF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkg
JChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9H
RU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAk
KEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9D
U1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFC
TEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChF
TkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhN
TCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0Up
ICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5B
QkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRP
Ul9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFC
TEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRF
Ul9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChF
TkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVT
VF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJM
RV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9T
UEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NS
WVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChF
TkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1F
TlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVO
QUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNL
KSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAk
KEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAk
KEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VC
X1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAk
KEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX1NB
VFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01P
REUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZj
eHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKaW5kZXggZmViZGUyNzVj
N2VkYmFmZDVkYzZiOWZjZWIxMjRhZTBiZTlhYTc2Yi4uNGQ5OWE4N2U1M2UzNTNiOTc0NTU4MmE5
NjgzN2NlYjk4NTY0ODVhYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9q
CkBAIC03MzUsNiArNzM1LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVc
SlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxydW50aW1lXEpTQXJyYXlCdWZmZXJWaWV3LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXHJ1bnRpbWVcSlNCb3VuZEZ1bmN0aW9uLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJvd0Z1bmN0aW9uLmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxydW50aW1lXEpTQ2FsbGVlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXHJ1bnRpbWVcSlNDYXRjaFNjb3BlLmNwcCIgLz4KQEAgLTE1MzcsNiArMTUzOCw3IEBA
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJWaWV3SW5s
aW5lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0FycmF5SXRl
cmF0b3IuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNCb3VuZEZ1
bmN0aW9uLmgiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyb3dG
dW5jdGlvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NJbmxp
bmVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0pTVmFsdWUu
aCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZUlubGlu
ZXMuaCIgLz4KQEAgLTE4MTcsNCArMTgxOSw0IEBACiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0
ZW5zaW9uVGFyZ2V0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXEJ1
aWxkQ3VzdG9taXphdGlvbnNcbWFzbS50YXJnZXRzIiAvPgogICA8L0ltcG9ydEdyb3VwPgotPC9Q
cm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggMWEyYjQ2MGU3ZjgzODhlYWE4ZTMxOWJmMjU0ZWE2N2Fm
MmI5YjFlZi4uM2QwNjk2NjBmMDkxNDE0MzFlYjQ5OThlNDVjNDk4ODY5MmY4OGI5MSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTExMDYsNiArMTEwNiw4IEBACiAJCTg2RjNFRUJG
MTY4Q0RFOTMwMDc3QjkyQSAvKiBPYmpjUnVudGltZUV4dHJhcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGM0VFQjYxNjg1NUE1QjAwNzdCOTJBIC8q
IE9iamNSdW50aW1lRXh0cmFzLmggKi87IH07CiAJCTg2RkE5RTkxMTQyQkJCMkUwMDE3NzNCNyAv
KiBKU0JvdW5kRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5j
cHAgKi87IH07CiAJCTg2RkE5RTkyMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RkE5RTkw
MTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLzsgfTsKKwkJOEIwRjQyNEMx
QUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEgLyog
SlNBcnJvd0Z1bmN0aW9uLmNwcCAqLzsgfTsKKwkJOEIwRjQyNEMxQUJENkRFMjAwMzkxN0VBIC8q
IEpTQXJyb3dGdW5jdGlvbi5oIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oICov
OyB9OwogCQk5MDIxM0UzRDEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIxM0UzQjEy
M0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi87IH07CiAJCTkwMjEzRTNF
MTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIxM0UzQzEyM0E0MEMyMDBENDIyRjMgLyog
TWVtb3J5U3RhdGlzdGljcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTkzMDUyQzM0MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzA1MkMzMjBG
Qjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwICovOyB9OwpAQCAtMjg1NCw2ICsyODU2
LDggQEAKIAkJODZGNzVFRkQxNTFDMDYyRjAwN0M5QkEzIC8qIFJlZ0V4cE1hdGNoZXNBcnJheS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWdFeHBNYXRjaGVzQXJy
YXkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkZBOUU4RjE0MkJCQjJEMDAx
NzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTQm91bmRGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdFQSAvKiBKU0Fycm93RnVu
Y3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcnJvd0Z1bmN0aW9uLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCThCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rp
b24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcnJvd0Z1bmN0
aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTAyMTNFM0IxMjNBNDBDMjAw
RDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gTWVtb3J5U3RhdGlzdGljcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lbW9yeVN0YXRpc3RpY3MuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNl
ckFyZW5hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhcnNlckFy
ZW5hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ0NjksNiArNDQ3Myw4IEBA
CiAJCQkJQTdCREFFQzUxN0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJyYXlJdGVyYXRvci5oICovLAog
CQkJCTg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwICovLAog
CQkJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLywKKwkJ
CQk4QjBGNDI0QTFBQkQ2RDJGMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggKi8sCisJCQkJ
OEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgKi8sCiAJCQkJ
NjU3Q0Y0NTYxOUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmNwcCAqLywKIAkJCQk2NTdDRjQ1
NzE5QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuaCAqLywKIAkJCQkwRkQ5NDk3RTFBOTdEQjk2
MDBFMjg5NjYgLyogSlNDYXRjaFNjb3BlLmNwcCAqLywKQEAgLTcyMjQsNiArNzIzMCw3IEBACiAJ
CQkJMEZEOEEzMUIxN0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTE9TUkVudHJ5LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTBGMjM1QkRDMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGMjM1QkRGMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0Q29t
cGlsZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOEIwRjQyNEMxQUJENkRFMjAwMzkxN0VBIC8q
IEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkVBMEEyQTE3MDk2Mjk2
MDBCQjcyMkMgLyogRlRMT3V0cHV0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNDg1MzI5MTg3
REZERUMwMDgzQjY4NyAvKiBGVExSZWNvdmVyeU9wY29kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkwRjZCMUNDMzE4NjJDNDc4MDA4NDVEOTcgLyogRlRMUmVnaXN0ZXJBdE9mZnNldC5jcHAgaW4g
U291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9C
eXRlY29kZUxpc3QuanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29k
ZUxpc3QuanNvbgppbmRleCBlM2VkMWRjZGE0ZTAzYTVmMTFlZjkxZTU2MTE5ZWI5MzA1MWZiN2Y2
Li41NmNiYTkzNmM0NzUwNWY1NDY4NDFlZDU3YmI5YjhlOGQzZDE2ZDhjIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24KKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCkBAIC05NSw2ICs5
NSw3IEBACiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9zd2l0Y2hfc3RyaW5nIiwgImxlbmd0
aCIgOiA0IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfZnVuYyIsICJsZW5ndGgi
IDogNCB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfbmV3X2Z1bmNfZXhwIiwgImxlbmd0
aCIgOiA0IH0sCisgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfYXJyb3dfZnVuY19leHAi
LCAibGVuZ3RoIiA6IDUgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGwiLCAibGVu
Z3RoIiA6IDkgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGxfZXZhbCIsICJsZW5n
dGgiIDogOSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbF92YXJhcmdzIiwgImxl
bmd0aCIgOiA5IH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Qnl0ZWNvZGVVc2VEZWYuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29k
ZVVzZURlZi5oCmluZGV4IDc2NjdlNjgzZTQ1NGE0OTk5ODZlZGFjZDkwYjY0OTE3MjQyMDM3Y2Qu
LmRhNGEyYWFlZWMyODQ1OTQxYWUzNjZkY2ZiOTg1OTFjY2IzY2NkNDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCkBAIC0xMTUsNiArMTE1
LDkgQEAgdm9pZCBjb21wdXRlVXNlc0ZvckJ5dGVjb2RlT2Zmc2V0KAogICAgIGNhc2Ugb3BfZ2V0
X3Byb3BlcnR5X2VudW1lcmF0b3I6CiAgICAgY2FzZSBvcF9nZXRfZW51bWVyYWJsZV9sZW5ndGg6
CiAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRpZgogICAgIGNh
c2Ugb3BfdG9faW5kZXhfc3RyaW5nOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29uc3Rfbm9w
OgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29uc3Q6CkBAIC0zMDcsNiArMzEwLDkgQEAgdm9p
ZCBjb21wdXRlRGVmc0ZvckJ5dGVjb2RlT2Zmc2V0KENvZGVCbG9jayogY29kZUJsb2NrLCB1bnNp
Z25lZCBieXRlY29kZU9mZnNldCwKICAgICBjYXNlIG9wX25ld19yZWdleHA6CiAgICAgY2FzZSBv
cF9uZXdfZnVuYzoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorI2Vu
ZGlmCiAgICAgY2FzZSBvcF9jYWxsX3ZhcmFyZ3M6CiAgICAgY2FzZSBvcF9jb25zdHJ1Y3RfdmFy
YXJnczoKICAgICBjYXNlIG9wX2dldF9mcm9tX3Njb3BlOgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAppbmRleCA5MDEzOGY5N2NiZDgyOGY5NzJjYjIyNDQy
YmY0MDQ0MWQxM2Y0MDU2Li43MTgzZDA0ZGQ4ODJiYjYyMjNmYmFjZTE3ZTVmYmI1MDA5MWQ4MDA0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcApAQCAt
MTMwMSw2ICsxMzAxLDE3IEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wQnl0ZWNvZGUoCiAgICAgICAg
ICAgICBvdXQucHJpbnRmKCIlcywgJXMsIGYlZCIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0YSgpLCBy
ZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjApOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBjYXNlIG9w
X25ld19hcnJvd19mdW5jX2V4cDogeworICAgICAgICAgICAgaW50IHIwID0gKCsraXQpLT51Lm9w
ZXJhbmQ7CisgICAgICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAgICAg
ICAgIGludCBmMCA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgaW50IHIyID0gKCsr
aXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBwcmludExvY2F0aW9uQW5kT3Aob3V0LCBleGVj
LCBsb2NhdGlvbiwgaXQsICJvcF9uZXdfYXJyb3dfZnVuY19leHAiKTsKKyAgICAgICAgICAgIG91
dC5wcmludGYoIiVzLCAlcywgZiVkLCAlcyIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0YSgpLCByZWdp
c3Rlck5hbWUocjEpLmRhdGEoKSwgZjAsIHJlZ2lzdGVyTmFtZShyMikuZGF0YSgpKTsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgY2FzZSBvcF9uZXdfZnVu
Y19leHA6IHsKICAgICAgICAgICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVyYW5kOwogICAgICAg
ICAgICAgaW50IHIxID0gKCsraXQpLT51Lm9wZXJhbmQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCmluZGV4IDJm
MjFlNDliNjUxMGYxYmU1OGQwOWMzMTQwNWUzN2NhOWVkYjMxOWYuLjQxODg5YWEzNGRhZmZmMTA2
NDAwNmZjODMwZDk3ZmYwZjA2NmIyYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0xNzc1LDYgKzE3
NzUsMjIgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdGdW5jdGlvbkV4
cHJlc3Npb24oUmVnaXN0ZXJJRCogcjAsIEZ1bmNFeHAKICAgICBpbnN0cnVjdGlvbnMoKS5hcHBl
bmQoaW5kZXgpOwogICAgIHJldHVybiByMDsKIH0KKyAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdB
cnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVuY0V4cHJOb2RlKiBuKQor
eworICAgIGVtaXRURFpDaGVjayh0aGlzUmVnaXN0ZXIoKSk7CisgICAgRnVuY3Rpb25Cb2R5Tm9k
ZSogZnVuY3Rpb24gPSBuLT5ib2R5KCk7CisgICAgdW5zaWduZWQgaW5kZXggPSBtX2NvZGVCbG9j
ay0+YWRkRnVuY3Rpb25FeHByKG1ha2VGdW5jdGlvbihmdW5jdGlvbikpOworICAgIAorICAgIGVt
aXRPcGNvZGUob3BfbmV3X2Fycm93X2Z1bmNfZXhwKTsKKyAgICBpbnN0cnVjdGlvbnMoKS5hcHBl
bmQocjAtPmluZGV4KCkpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChzY29wZVJlZ2lzdGVy
KCktPmluZGV4KCkpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChpbmRleCk7CisgICAgaW5z
dHJ1Y3Rpb25zKCkuYXBwZW5kKHRoaXNSZWdpc3RlcigpLT5pbmRleCgpKTsKKyAgICByZXR1cm4g
cjA7Cit9CisjZW5kaWYKIAogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdE
ZWZhdWx0Q29uc3RydWN0b3IoUmVnaXN0ZXJJRCogZHN0LCBDb25zdHJ1Y3RvcktpbmQgY29uc3Ry
dWN0b3JLaW5kLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmluZGV4IDlh
ZjhkNGZjNDg1ZDk4OTI0MWIxMTExODA5MjdhYWE3NmE5NTMxYzQuLmNhNjhhMjllNmJmMTViZWUy
MGI2OTdhMDRmMjg3ZWNmZjhiYmM4Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTQ1NCw2ICs0NTQsMTAg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5jdGlvbklu
dGVybmFsKFJlZ2lzdGVySUQqIGRzdCwgdW5zaWduZWQgaW5kZXgpOwogICAgICAgICBSZWdpc3Rl
cklEKiBlbWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIGRzdCwgRnVuY0V4cHJO
b2RlKiBmdW5jKTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0RlZmF1bHRDb25zdHJ1Y3Rv
cihSZWdpc3RlcklEKiBkc3QsIENvbnN0cnVjdG9yS2luZCwgY29uc3QgSWRlbnRpZmllciYgbmFt
ZSk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgUmVnaXN0
ZXJJRCogZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqLCBGdW5jRXhw
ck5vZGUqKTsKKyAgICAgICAgUmVnaXN0ZXJJRCogZW1pdFRoaXNOb2RlQnl0ZWNvZGUoUmVnaXN0
ZXJJRCosIEpTVGV4dFBvc2l0aW9uKTsKKyNlbmRpZgogICAgICAgICBSZWdpc3RlcklEKiBlbWl0
TmV3UmVnRXhwKFJlZ2lzdGVySUQqIGRzdCwgUmVnRXhwKik7CiAKICAgICAgICAgUmVnaXN0ZXJJ
RCogZW1pdE1vdmVMaW5rVGltZUNvbnN0YW50KFJlZ2lzdGVySUQqIGRzdCwgTGlua1RpbWVDb25z
dGFudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05v
ZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVz
Q29kZWdlbi5jcHAKaW5kZXggMGYwYjc4ZjBlNTkxZDliYjE2Yjk1ODFkNWQ1NjA0ZDQ4ZTViNzc2
Zi4uZDk0N2FmY2I2ODhmYWIwMDhmZmM5MjgwZTI4OWM1YWQ2YjlhMmRhNyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAt
MjkwMSw2ICsyOTAxLDE0IEBAIFJlZ2lzdGVySUQqIEZ1bmNFeHByTm9kZTo6ZW1pdEJ5dGVjb2Rl
KEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqCiAgICAgcmV0dXJuIGdl
bmVyYXRvci5lbWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uKGdlbmVyYXRvci5maW5hbERlc3RpbmF0
aW9uKGRzdCksIHRoaXMpOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkgICAgCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQXJyb3dGdW5jRXhwck5v
ZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitSZWdpc3RlcklEKiBBcnJvd0Z1
bmNFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJl
Z2lzdGVySUQqIGRzdCkKK3sKKyAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXROZXdBcnJvd0Z1bmN0
aW9uRXhwcmVzc2lvbihnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QpLCB0aGlzKTsKK30K
KyNlbmRpZgorICAgIAogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogLy8gLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tIENsYXNzRGVjbE5vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
QWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaAppbmRleCA5MzQyMDkzNWIzOGJlZjQ0Nzhl
ZGEwYzk1ZjlkODU1MjYzYmZkNzAyLi4yNWUxYzczNjRhNmQ3Mjk4ODdiZDE0ZjlmYjI1OTc5OTBi
ZjkyZjljIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0
SW50ZXJwcmV0ZXJJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdB
YnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCkBAIC0xNTM0LDcgKzE1MzQsMTMgQEAgYm9vbCBB
YnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHModW5z
aWduZWQgY2xvYmJlckxpbWkKICAgICBjYXNlIENyZWF0ZUNsb25lZEFyZ3VtZW50czoKICAgICAg
ICAgZm9yTm9kZShub2RlKS5zZXRUeXBlKG1fZ3JhcGgsIFNwZWNPYmplY3RPdGhlcik7CiAgICAg
ICAgIGJyZWFrOwotICAgICAgICAKKyAgICAgICAgICAgIAorICAgIGNhc2UgTmV3QXJyb3dGdW5j
dGlvbjoKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBmb3JO
b2RlKG5vZGUpLnNldCgKKyAgICAgICAgICAgIG1fZ3JhcGgsIG1fY29kZUJsb2NrLT5nbG9iYWxP
YmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKS0+YXJyb3dGdW5jdGlvblN0cnVjdHVyZSgp
KTsKKyNlbmRpZgorICAgICAgICBicmVhazsKICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgICAg
ICBmb3JOb2RlKG5vZGUpLnNldCgKICAgICAgICAgICAgIG1fZ3JhcGgsIG1fY29kZUJsb2NrLT5n
bG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKS0+ZnVuY3Rpb25TdHJ1Y3R1cmUo
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGll
cy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKaW5k
ZXggZWY0YzI0NzQ5Yjc4ZmE2ZTA5YTRjM2Q5YzI5MDEzZWFhNjVkYWE5Mi4uMGUzYzg4MGI3Y2Nj
YjliNzUwYWEzMDg5NWYwNjk1OThkNTJkZmZiMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcApAQCAtMjMxLDYgKzIzMSw3IEBAIENhcGFiaWxpdHlM
ZXZlbCBjYXBhYmlsaXR5TGV2ZWwoT3Bjb2RlSUQgb3Bjb2RlSUQsIENvZGVCbG9jayogY29kZUJs
b2NrLCBJbnN0cnVjCiAgICAgY2FzZSBvcF9zd2l0Y2hfc3RyaW5nOiAvLyBEb24ndCBpbmxpbmUg
YmVjYXVzZSB3ZSBkb24ndCB3YW50IHRvIGNvcHkgc3RyaW5nIHRhYmxlcyBpbiB0aGUgY29uY3Vy
cmVudCBKSVQuCiAgICAgICAgIHJldHVybiBDYW5Db21waWxlOwogCisgICAgY2FzZSBvcF9uZXdf
YXJyb3dfZnVuY19leHA6IC8vIEZpeG1lOiBBcnJvdyBmdW5jdGlvbiBjYW5uJ3QgYmUgaW5saW5l
IGFzIHRoZSBjb21tb24gZnVuY3Rpb24gYmVjYXVzZSBpdCBoYXMgbGV4aWNhbHkgYmluZCB0aGlz
L2FyZ3VtZW50cyBhbmQgZXRjLiBhbmQgIGFycm93IGZ1bmN0aW9uIGhhcyB0byBoYXZlIGl0cyBv
d24gY29tcGlsZSBhbmQgaW5saW5lIGFwcHJvYWNoLgogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJl
dHVybiBDYW5ub3RDb21waWxlOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdD
bG9iYmVyaXplLmgKaW5kZXggZDM4NTc5ZTM0YmI4MDY0MzI3MTk2ZWMyNTBjNjkzMTExNDFmMWMw
My4uZWNjN2JmOGYyNWRkZmFmZmE4MjJiMmIzZTQ1ZGFjYjhjYzA2MzA5NSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKQEAgLTg2MSw3ICs4NjEsOCBAQCB2b2lk
IGNsb2JiZXJpemUoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlLCBjb25zdCBSZWFkRnVuY3RvciYg
cmVhZCwgY29uc3QgV3JpdGVGdQogICAgICAgICByZWFkKEhlYXBPYmplY3RDb3VudCk7CiAgICAg
ICAgIHdyaXRlKEhlYXBPYmplY3RDb3VudCk7CiAgICAgICAgIHJldHVybjsKLSAgICAgICAgCisg
ICAgCisgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgogICAgIGNhc2UgTmV3RnVuY3Rpb246CiAg
ICAgICAgIGlmIChub2RlLT5jYXN0T3BlcmFuZDxGdW5jdGlvbkV4ZWN1dGFibGUqPigpLT5zaW5n
bGV0b25GdW5jdGlvbigpLT5pc1N0aWxsVmFsaWQoKSkKICAgICAgICAgICAgIHdyaXRlKFdhdGNo
cG9pbnRfZmlyZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rv
ZXNHQy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAKaW5kZXgg
NDg3MWYwYTk2MjMxZDE3M2VkOTAxNjI3NTBmMDk0YzdlMWIxMTViMi4uNDFhNzIxMzg5YzUxYzFk
OTJjZDhlZGYxNTZlODZmNTAyOTI0ZDY5ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdEb2VzR0MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
RG9lc0dDLmNwcApAQCAtMjI4LDYgKzIyOCw3IEBAIGJvb2wgZG9lc0dDKEdyYXBoJiBncmFwaCwg
Tm9kZSogbm9kZSkKICAgICBjYXNlIE5ld1JlZ2V4cDoKICAgICBjYXNlIE5ld1N0cmluZ09iamVj
dDoKICAgICBjYXNlIE1ha2VSb3BlOgorICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKICAgICBj
YXNlIE5ld0Z1bmN0aW9uOgogICAgIGNhc2UgTmV3VHlwZWRBcnJheToKICAgICBjYXNlIFRocm93
UmVmZXJlbmNlRXJyb3I6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0ZpeHVwUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNl
LmNwcAppbmRleCA2NTJjYjZhMjJhOTFlOGNiNmZhODMxNmMzZDhjMjllYmJhN2Q1NmEzLi4zMTRi
OGVmODBhOTk3NDkwMzcyZGU5MTFkMDlkZDdkYzlmYjE3MjE1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKQEAgLTExODIsNiArMTE4Miw3IEBAIHByaXZh
dGU6CiAKICAgICAgICAgY2FzZSBDcmVhdGVTY29wZWRBcmd1bWVudHM6CiAgICAgICAgIGNhc2Ug
Q3JlYXRlQWN0aXZhdGlvbjoKKyAgICAgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgogICAgICAg
ICBjYXNlIE5ld0Z1bmN0aW9uOiB7CiAgICAgICAgICAgICBmaXhFZGdlPENlbGxVc2U+KG5vZGUt
PmNoaWxkMSgpKTsKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdOb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05v
ZGUuaAppbmRleCBmYjQ0NWI3NjJmMWNiNTg0ZTQ5YTMxYjM4NjZjZmNiYzMwOTgwMGJhLi4wY2Q2
OWE3Nzk1YWJiMzlhYjdhYjZhMWU3NTU1OTI2YzFmNWQ5NjhmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR05vZGUuaApAQCAtMTI2Nyw2ICsxMjY3LDcgQEAgc3RydWN0IE5vZGUgewogICAgICAg
ICBjYXNlIENoZWNrQ2VsbDoKICAgICAgICAgY2FzZSBOYXRpdmVDb25zdHJ1Y3Q6CiAgICAgICAg
IGNhc2UgTmF0aXZlQ2FsbDoKKyAgICAgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgogICAgICAg
ICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGRl
ZmF1bHQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBl
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKaW5kZXggYjlmMDI1
ZmI5YWI4YjdkZDU1NzNkMGQ3ODRjNjVkZTM2NjBjNWUwOS4uNDc0ODcxZTdhZjU0ZmM0Nzg3M2Nk
NTBlZjVkZjFmOTViMTBiYjcwNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdOb2RlVHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5
cGUuaApAQCAtMjkxLDYgKzI5MSw4IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsK
ICAgICBcCiAgICAgbWFjcm8oTmV3RnVuY3Rpb24sIE5vZGVSZXN1bHRKUykgXAogICAgIFwKKyAg
ICBtYWNybyhOZXdBcnJvd0Z1bmN0aW9uLCBOb2RlUmVzdWx0SlMgfCBOb2RlTXVzdEdlbmVyYXRl
KSBcCisgICAgXAogICAgIC8qIFRoZXNlIGFyZW4ndCB0ZXJtaW5hbHMgYnV0IGFsd2F5cyBleGl0
ICovIFwKICAgICBtYWNybyhUaHJvdywgTm9kZU11c3RHZW5lcmF0ZSkgXAogICAgIG1hY3JvKFRo
cm93UmVmZXJlbmNlRXJyb3IsIE5vZGVNdXN0R2VuZXJhdGUpIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5j
cHAKaW5kZXggZmRiOGZkYTU4MWVmNGM1MGJkMTA1NTA4Mjc2YTE3YWVmYjdiNmM4Yy4uMzAzMjli
NWFmMjc0NDU2OGE5MzUxNjMzZmFkOWUxMjMzNmNjMTk4ZCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5j
cHAKQEAgLTIxNyw2ICsyMTcsNyBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIEdldEdldHRlcjoK
ICAgICAgICAgY2FzZSBHZXRTZXR0ZXI6CiAgICAgICAgIGNhc2UgR2V0Q2FsbGVlOgorICAgICAg
ICBjYXNlIE5ld0Fycm93RnVuY3Rpb246CiAgICAgICAgIGNhc2UgTmV3RnVuY3Rpb246IHsKICAg
ICAgICAgICAgIGNoYW5nZWQgfD0gc2V0UHJlZGljdGlvbihTcGVjRnVuY3Rpb24pOwogICAgICAg
ICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nh
ZmVUb0V4ZWN1dGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0
ZS5oCmluZGV4IGFhNWE3MWMxN2Y4OGI2ODhlM2ZhNWI1N2I4ZGNhYjIyMzQ1ZDRmMWUuLmI2YzUw
YjQ0NTdjMDY5YmYxZDA3MWYzOWIxN2ViZjdiOWRhZDM3NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCkBAIC0yMjgsNiArMjI4LDcgQEAgYm9vbCBz
YWZlVG9FeGVjdXRlKEFic3RyYWN0U3RhdGVUeXBlJiBzdGF0ZSwgR3JhcGgmIGdyYXBoLCBOb2Rl
KiBub2RlKQogICAgIGNhc2UgQ3JlYXRlQ2xvbmVkQXJndW1lbnRzOgogICAgIGNhc2UgR2V0RnJv
bUFyZ3VtZW50czoKICAgICBjYXNlIFB1dFRvQXJndW1lbnRzOgorICAgIGNhc2UgTmV3QXJyb3dG
dW5jdGlvbjoKICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgIGNhc2UgSnVtcDoKICAgICBjYXNl
IEJyYW5jaDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQu
aAppbmRleCA5ZDcyZTg5MzczMmNiN2FlOTY4ODY2NzNlZDA1ZTVlZjU1ZDFkMWIxLi41NTdjNTMx
NzkxNTcwZDVmNmVjN2IxMjY0NGY4ZGQxZTk0YTY0YTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCkBAIC0xMTk5LDYgKzExOTksMTIgQEAgcHVi
bGljOgogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgVHJ1
c3RlZEltbVB0cihjZWxsKSk7CiAgICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlv
bkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKICAgICB9CisgICAgCisgICAgSklU
Q29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0ogb3BlcmF0
aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgYXJnMSwgSlNDZWxsKiBjZWxsLCBHUFJSZWcgYXJn
MikKKyAgICB7CisgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcx
LCBUcnVzdGVkSW1tUHRyKGNlbGwpLCBhcmcyKTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxX
aXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOworICAgIH0KIAog
ICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRVdzIG9w
ZXJhdGlvbiwgV2F0Y2hwb2ludFNldCogd2F0Y2hwb2ludFNldCkKICAgICB7CkBAIC0xNjA1LDYg
KzE2MTEsMTEgQEAgcHVibGljOgogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVj
U3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSk7CiAgICAgICAgIHJldHVybiBhcHBlbmRD
YWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0UGF5bG9hZCwg
cmVzdWx0VGFnKTsKICAgICB9CisgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihK
X0pJVE9wZXJhdGlvbl9FSnNjQ0ogb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0VGFnLCBHUFJSZWcg
cmVzdWx0UGF5bG9hZCwgR1BSUmVnIGFyZzEsIEpTQ2VsbCogY2VsbCwgR1BSUmVnIGFyZzIpCisg
ICAgeworICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgVHJ1
c3RlZEltbVB0cihjZWxsKSwgYXJnMik7CisgICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4
Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0UGF5bG9hZCwgcmVzdWx0VGFn
KTsKKyAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJh
dGlvbl9FU3NpQ0kgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0VGFnLCBHUFJSZWcgcmVzdWx0UGF5
bG9hZCwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgYXJnMSwgY29uc3QgU3Ry
aW5nSW1wbCogdWlkKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhl
Y1N0YXRlKFRydXN0ZWRJbW1QdHIoc3R1YkluZm8pLCBhcmcxLCBUcnVzdGVkSW1tUHRyKHVpZCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VDMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQz
Ml82NC5jcHAKaW5kZXggZmQ5ZjM1MGIxOGRjNWVhYTE4NmJiYjc2MTc1NzliNWJhMDAxNzE2NS4u
ZjM2OTAyMjgxMjJiZjZkNGE5MGU2NjRiNjIwOTFjMDk2YThmZDg3MyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCkBAIC00
MjgzLDcgKzQyODMsMTEgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2Rl
KQogICAgICAgICBjb21waWxlQ3JlYXRlQ2xvbmVkQXJndW1lbnRzKG5vZGUpOwogICAgICAgICBi
cmVhazsKICAgICB9Ci0gICAgICAgIAorICAgIAorICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoK
KyAgICAgICAgREZHX0NSQVNIKG1faml0LmdyYXBoKCksIG5vZGUsICJBcnJvdyBmdW5jdGlvbiBj
YW5cJ3QgYmUgY29tcGlsZWQgaW4gREZHIik7CisgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
CiAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICAgICAgY29tcGlsZU5ld0Z1bmN0aW9uKG5vZGUp
OwogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUNjQuY3BwCmluZGV4IDFkMDg1N2YzZjVkN2IyYzFjYzIwNDZhMTBlZGFlNDAz
MzMzNDgzMzUuLjBmMzU3NWI1ZTIzMTU2NGFhZjNhYmE2Yzk1MDY2MmViZDAxM2I4NGYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcApA
QCAtNDMxNywxMSArNDMxNywxNSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUq
IG5vZGUpCiAgICAgICAgIGNvbXBpbGVDcmVhdGVDbG9uZWRBcmd1bWVudHMobm9kZSk7CiAgICAg
ICAgIGJyZWFrOwogICAgIH0KLSAgICAgICAgCisKKyAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246
CisgICAgICAgIERGR19DUkFTSChtX2ppdC5ncmFwaCgpLCBub2RlLCAiQXJyb3cgZnVuY3Rpb24g
Y2FuXCcgaW4gREZHIik7CisgICAgICAgIGJyZWFrOworICAgICAgICAgICAgCiAgICAgY2FzZSBO
ZXdGdW5jdGlvbjoKICAgICAgICAgY29tcGlsZU5ld0Z1bmN0aW9uKG5vZGUpOwogICAgICAgICBi
cmVhazsKLSAgICAgICAgCisKICAgICBjYXNlIEluOgogICAgICAgICBjb21waWxlSW4obm9kZSk7
CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTdHJ1Y3R1cmVSZWdpc3RyYXRpb25QaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1N0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmNwcAppbmRleCAyODY0NmQxM2ZjZjRj
OTY1YzYyMGQwMDIxMWIwZGNiZjAzYjM3YzJkLi4yYzQyZGYzYzAyMzgzZTcxZjVlYzk1ODZhMjc4
ZmJiMWRiMTMwODBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1N0
cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1N0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmNwcApAQCAtMTMwLDcgKzEzMCwxMSBA
QCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgY2FzZSBOZXdSZWdleHA6CiAgICAgICAgICAgICAg
ICAgICAgIHJlZ2lzdGVyU3RydWN0dXJlKG1fZ3JhcGguZ2xvYmFsT2JqZWN0Rm9yKG5vZGUtPm9y
aWdpbi5zZW1hbnRpYyktPnJlZ0V4cFN0cnVjdHVyZSgpKTsKICAgICAgICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGNhc2UgTmV3QXJy
b3dGdW5jdGlvbjoKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAg
ICAgICAgICAgICAgICByZWdpc3RlclN0cnVjdHVyZShtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihu
b2RlLT5vcmlnaW4uc2VtYW50aWMpLT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCkpOworI2VuZGlm
CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIGNhc2UgTmV3RnVu
Y3Rpb246CiAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyU3RydWN0dXJlKG1fZ3JhcGguZ2xv
YmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyktPmZ1bmN0aW9uU3RydWN0dXJlKCkp
OwogICAgICAgICAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuY3BwCmluZGV4IGU0MTZmZGFh
ZmVlMjIyOWY2NTNiOWFlMDYyNDgwMDA5OTk4NzVhMDAuLjNjMzg2NGNhMTgwYWEzNmU0ODA4YzIz
YTEzMDZiZTI4ZTVkN2I5MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmNwcApAQCAtMzAsNiArMzAsNyBAQAogCiAj
aW5jbHVkZSAiRGlyZWN0QXJndW1lbnRzLmgiCiAjaW5jbHVkZSAiR2V0dGVyU2V0dGVyLmgiCisj
aW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNFbnZpcm9ubWVudFJlY29y
ZC5oIgogI2luY2x1ZGUgIkpTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oIgogI2luY2x1ZGUgIkpT
U2NvcGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJh
Y3RIZWFwUmVwb3NpdG9yeS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFj
dEhlYXBSZXBvc2l0b3J5LmgKaW5kZXggOTEyNzU0ZGZjNDAxNTJiMGVkMjQ4MzZhYzc1YjhmOTY5
ODQzOTliYi4uZWViMjA4YmUxZjQ2Y2ZjNDJiOTQ5NWE5ZmE5MjFmYmNkNmQ4MmRhNyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0
b3J5LmgKQEAgLTg4LDYgKzg4LDEzIEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsK
ICAgICBtYWNybyhTdHJ1Y3R1cmVfZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmU6Omdsb2JhbE9iamVj
dE9mZnNldCgpKSBcCiAgICAgbWFjcm8oU3RydWN0dXJlX3Byb3RvdHlwZSwgU3RydWN0dXJlOjpw
cm90b3R5cGVPZmZzZXQoKSkgXAogICAgIG1hY3JvKFN0cnVjdHVyZV9zdHJ1Y3R1cmVJRCwgU3Ry
dWN0dXJlOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKQorICAgIAorI2RlZmluZSBGT1JfRUFDSF9BQlNU
UkFDVF9GSUVMRF9BUlJPV0ZVTkNUSU9OKG1hY3JvKSBcCisgICAgbWFjcm8oSlNBcnJvd0Z1bmN0
aW9uX2V4ZWN1dGFibGUsIEpTQXJyb3dGdW5jdGlvbjo6b2Zmc2V0T2ZFeGVjdXRhYmxlKCkpIFwK
KyAgICBtYWNybyhKU0Fycm93RnVuY3Rpb25fc2NvcGUsIEpTQXJyb3dGdW5jdGlvbjo6b2Zmc2V0
T2ZTY29wZUNoYWluKCkpIFwKKyAgICBtYWNybyhKU0Fycm93RnVuY3Rpb25fcmFyZURhdGEsIEpT
QXJyb3dGdW5jdGlvbjo6b2Zmc2V0T2ZSYXJlRGF0YSgpKSBcCisgICAgbWFjcm8oSlNBcnJvd0Z1
bmN0aW9uX3RoaXMsIEpTQXJyb3dGdW5jdGlvbjo6b2Zmc2V0T2ZUaGlzVmFsdWUoKSkKKyAgICAK
IAogI2RlZmluZSBGT1JfRUFDSF9JTkRFWEVEX0FCU1RSQUNUX0hFQVAobWFjcm8pIFwKICAgICBt
YWNybyhEaXJlY3RBcmd1bWVudHNfc3RvcmFnZSwgRGlyZWN0QXJndW1lbnRzOjpzdG9yYWdlT2Zm
c2V0KCksIHNpemVvZihFbmNvZGVkSlNWYWx1ZSkpIFwKQEAgLTEyOSw2ICsxMzYsOSBAQCBwdWJs
aWM6CiAKICNkZWZpbmUgQUJTVFJBQ1RfRklFTERfREVDTEFSQVRJT04obmFtZSwgb2Zmc2V0KSBB
YnN0cmFjdEZpZWxkIG5hbWU7CiAgICAgRk9SX0VBQ0hfQUJTVFJBQ1RfRklFTEQoQUJTVFJBQ1Rf
RklFTERfREVDTEFSQVRJT04pCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICBGT1JfRUFDSF9BQlNUUkFDVF9GSUVMRF9BUlJPV0ZVTkNUSU9OKEFCU1RSQUNUX0ZJRUxE
X0RFQ0xBUkFUSU9OKQorI2VuZGlmCiAjdW5kZWYgQUJTVFJBQ1RfRklFTERfREVDTEFSQVRJT04K
ICAgICAKICAgICBBYnN0cmFjdEZpZWxkJiBKU0NlbGxfZnJlZUxpc3ROZXh0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCmluZGV4IDYwZGNmNzkxOTMy
M2M1NzViNDc4MDYwMTcyYjJjZDUzN2VkZGU2NzguLjhlZTc4ZmVkMGEyYmRiODE0ZDVmMGExZDBl
MDJkN2Y3OGY5NWJjZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
Q2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFi
aWxpdGllcy5jcHAKQEAgLTEwMyw2ICsxMDMsNyBAQCBpbmxpbmUgQ2FwYWJpbGl0eUxldmVsIGNh
bkNvbXBpbGUoTm9kZSogbm9kZSkKICAgICBjYXNlIExvb3BIaW50OgogICAgIGNhc2UgU2tpcFNj
b3BlOgogICAgIGNhc2UgQ3JlYXRlQWN0aXZhdGlvbjoKKyAgICBjYXNlIE5ld0Fycm93RnVuY3Rp
b246CiAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICBjYXNlIEdldENsb3N1cmVWYXI6CiAgICAg
Y2FzZSBQdXRDbG9zdXJlVmFyOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TEludHJpbnNpY1JlcG9zaXRvcnkuaAppbmRleCAwOTdiNzFjYzY0Mzc2Mzc2ZWJiZWFjMDY3NDZm
ZGNjMGJiZmNlNjg4Li5kOWNmMDQ3OGEzOGJhMzYxYjI1YjQ1NDNkNjY2ZWVjNDc2ZmJlODZhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRv
cnkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRv
cnkuaApAQCAtODMsNiArODMsNyBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CiAg
ICAgbWFjcm8oSl9KSVRPcGVyYXRpb25fRUpDLCBmdW5jdGlvblR5cGUoaW50NjQsIGludFB0ciwg
aW50NjQsIGludFB0cikpIFwKICAgICBtYWNybyhKX0pJVE9wZXJhdGlvbl9FSkosIGZ1bmN0aW9u
VHlwZShpbnQ2NCwgaW50UHRyLCBpbnQ2NCwgaW50NjQpKSBcCiAgICAgbWFjcm8oSl9KSVRPcGVy
YXRpb25fRUpzY0MsIGZ1bmN0aW9uVHlwZShpbnRQdHIsIGludFB0ciwgaW50UHRyLCBpbnRQdHIp
KSBcCisgICAgbWFjcm8oSl9KSVRPcGVyYXRpb25fRUpzY0NKLCBmdW5jdGlvblR5cGUoaW50NjQs
IGludFB0ciwgaW50NjQsIGludDY0LCBpbnQ2NCkpXAogICAgIG1hY3JvKEpfSklUT3BlcmF0aW9u
X0VKc3NaLCBmdW5jdGlvblR5cGUoaW50NjQsIGludFB0ciwgaW50UHRyLCBpbnQzMikpIFwKICAg
ICBtYWNybyhKX0pJVE9wZXJhdGlvbl9FU3NpSkksIGZ1bmN0aW9uVHlwZShpbnQ2NCwgaW50UHRy
LCBpbnRQdHIsIGludDY0LCBpbnRQdHIpKSBcCiAgICAgbWFjcm8oSnNzX0pJVE9wZXJhdGlvbl9F
WiwgZnVuY3Rpb25UeXBlKGludFB0ciwgaW50UHRyLCBpbnQzMikpIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKaW5kZXggZDkwMmFlNzM0MmU4
YjQ2M2IzM2ExZTVkOTdkZTZlMTg4Njg5OWU0Mi4uZmQ4YWMzNzg5NDA5MWIxNmM5Mjk0ZWY5NzMw
MzkxZDg5ZjQxZGEwNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExM
b3dlckRGR1RvTExWTS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dl
ckRGR1RvTExWTS5jcHAKQEAgLTQzLDYgKzQzLDcgQEAKICNpbmNsdWRlICJGVExPdXRwdXQuaCIK
ICNpbmNsdWRlICJGVExUaHVua3MuaCIKICNpbmNsdWRlICJGVExXZWlnaHRlZFRhcmdldC5oIgor
I2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNp
bmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIk9wZXJhbmRzSW5saW5l
cy5oIgpAQCAtNjA2LDYgKzYwNywxMSBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIENyZWF0ZUFj
dGl2YXRpb246CiAgICAgICAgICAgICBjb21waWxlQ3JlYXRlQWN0aXZhdGlvbigpOwogICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICAgICAgY29tcGlsZU5ld0Fycm93RnVu
Y3Rpb24oKTsKKyNlbmRpZgorICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgTmV3RnVu
Y3Rpb246CiAgICAgICAgICAgICBjb21waWxlTmV3RnVuY3Rpb24oKTsKICAgICAgICAgICAgIGJy
ZWFrOwpAQCAtMjk2Nyw2ICsyOTczLDUyIEBAIHByaXZhdGU6CiAgICAgICAgIHNldEpTVmFsdWUo
bV9vdXQucGhpKG1fb3V0LmludFB0ciwgZmFzdFJlc3VsdCwgc2xvd1Jlc3VsdCkpOwogICAgIH0K
ICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHZvaWQgY29t
cGlsZU5ld0Fycm93RnVuY3Rpb24oKQorICAgIHsKKworICAgICAgICBMVmFsdWUgc2NvcGUgPSBs
b3dDZWxsKG1fbm9kZS0+Y2hpbGQxKCkpOworICAgICAgICBMVmFsdWUgdGhpc1ZhbHVlID0gbG93
SlNWYWx1ZShtX25vZGUtPmNoaWxkMigpKTsKKyAgICAgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBl
eGVjdXRhYmxlID0gbV9ub2RlLT5jYXN0T3BlcmFuZDxGdW5jdGlvbkV4ZWN1dGFibGUqPigpOwor
ICAgICAgICBpZiAoZXhlY3V0YWJsZS0+c2luZ2xldG9uRnVuY3Rpb24oKS0+aXNTdGlsbFZhbGlk
KCkpIHsKKyAgICAgICAgICAgIExWYWx1ZSBjYWxsUmVzdWx0ID0gdm1DYWxsKAorICAgICAgICAg
ICAgICAgIG1fb3V0Lm9wZXJhdGlvbihvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKSwKKyAgICAg
ICAgICAgICAgICBtX2NhbGxGcmFtZSwgc2NvcGUsIHdlYWtQb2ludGVyKGV4ZWN1dGFibGUpLCB0
aGlzVmFsdWUpOworICAgICAgICAgICAgc2V0SlNWYWx1ZShjYWxsUmVzdWx0KTsKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUgPSBtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihtX25vZGUtPm9yaWdpbi5zZW1hbnRpYykt
PmFycm93RnVuY3Rpb25TdHJ1Y3R1cmUoKTsKKyAgICAgICAgCisgICAgICAgIExCYXNpY0Jsb2Nr
IHNsb3dQYXRoID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJOZXdBcnJvd0Z1bmN0aW9uIHNsb3cg
cGF0aCIpKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgY29udGludWF0aW9uID0gRlRMX05FV19CTE9D
SyhtX291dCwgKCJOZXdBcnJvd0Z1bmN0aW9uIGNvbnRpbnVhdGlvbiIpKTsKKyAgICAgICAgCisg
ICAgICAgIExCYXNpY0Jsb2NrIGxhc3ROZXh0ID0gbV9vdXQuaW5zZXJ0TmV3QmxvY2tzQmVmb3Jl
KHNsb3dQYXRoKTsKKyAgICAgICAgCisgICAgICAgIExWYWx1ZSBmYXN0T2JqZWN0ID0gYWxsb2Nh
dGVPYmplY3Q8SlNBcnJvd0Z1bmN0aW9uPihzdHJ1Y3R1cmUsIG1fb3V0LmludFB0clplcm8sIHNs
b3dQYXRoKTsKKyAgICAgICAgCisgICAgICAgIC8vIFdlIGRvbid0IG5lZWQgbWVtb3J5IGJhcnJp
ZXJzIHNpbmNlIHdlIGp1c3QgZmFzdC1jcmVhdGVkIHRoZSBmdW5jdGlvbiwgc28gaXQKKyAgICAg
ICAgLy8gbXVzdCBiZSB5b3VuZy4KKyAgICAgICAgbV9vdXQuc3RvcmVQdHIoc2NvcGUsIGZhc3RP
YmplY3QsIG1faGVhcHMuSlNBcnJvd0Z1bmN0aW9uX3Njb3BlKTsKKyAgICAgICAgbV9vdXQuc3Rv
cmVQdHIod2Vha1BvaW50ZXIoZXhlY3V0YWJsZSksIGZhc3RPYmplY3QsIG1faGVhcHMuSlNBcnJv
d0Z1bmN0aW9uX2V4ZWN1dGFibGUpOworICAgICAgICBtX291dC5zdG9yZVB0cih0aGlzVmFsdWUs
IGZhc3RPYmplY3QsIG1faGVhcHMuSlNBcnJvd0Z1bmN0aW9uX3RoaXMpOworICAgICAgICBtX291
dC5zdG9yZVB0cihtX291dC5pbnRQdHJaZXJvLCBmYXN0T2JqZWN0LCBtX2hlYXBzLkpTQXJyb3dG
dW5jdGlvbl9yYXJlRGF0YSk7CisgICAgICAgIAorICAgICAgICBWYWx1ZUZyb21CbG9jayBmYXN0
UmVzdWx0ID0gbV9vdXQuYW5jaG9yKGZhc3RPYmplY3QpOworICAgICAgICBtX291dC5qdW1wKGNv
bnRpbnVhdGlvbik7CisgICAgICAgIAorICAgICAgICBtX291dC5hcHBlbmRUbyhzbG93UGF0aCwg
Y29udGludWF0aW9uKTsKKyAgICAgICAgTFZhbHVlIGNhbGxSZXN1bHQgPSB2bUNhbGwoCisgICAg
ICAgICAgICBtX291dC5vcGVyYXRpb24ob3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbldpdGhJbnZh
bGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQpLAorICAgICAgICAgICAgbV9jYWxsRnJhbWUs
IHNjb3BlLCB3ZWFrUG9pbnRlcihleGVjdXRhYmxlKSwgdGhpc1ZhbHVlKTsKKyAgICAgICAgVmFs
dWVGcm9tQmxvY2sgc2xvd1Jlc3VsdCA9IG1fb3V0LmFuY2hvcihjYWxsUmVzdWx0KTsKKyAgICAg
ICAgbV9vdXQuanVtcChjb250aW51YXRpb24pOworICAgICAgICAKKyAgICAgICAgbV9vdXQuYXBw
ZW5kVG8oY29udGludWF0aW9uLCBsYXN0TmV4dCk7CisgICAgICAgIHNldEpTVmFsdWUobV9vdXQu
cGhpKG1fb3V0LmludFB0ciwgZmFzdFJlc3VsdCwgc2xvd1Jlc3VsdCkpOworICAgIH0KKyNlbmRp
ZgorICAgIAogICAgIHZvaWQgY29tcGlsZUNyZWF0ZURpcmVjdEFyZ3VtZW50cygpCiAgICAgewog
ICAgICAgICAvLyBGSVhNRTogQSBtb3JlIGVmZmVjdGl2ZSB3YXkgb2YgZGVhbGluZyB3aXRoIHRo
ZSBhcmd1bWVudCBjb3VudCBhbmQgY2FsbGVlIGlzIHRvIGhhdmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCmluZGV4IDE3ZGQzYjRmNDVm
NTZmZjIwMDIzZDczYjc1ZGM3ZDcwYjYzNDk2OGYuLjIwMDA1YzA3MTUzM2IxNjgzYWZkYTJkNjJk
YzY1YzAxNjdkOTEwOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnBy
ZXRlci9JbnRlcnByZXRlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL0ludGVycHJldGVyLmNwcApAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUgIkV4Y2VwdGlv
bkhlbHBlcnMuaCIKICNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRlICJKU0FycmF5
LmgiCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0
aW9uLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTTGV4aWNhbEVudmly
b25tZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxsSGVs
cGVycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhlbHBlcnMuaAppbmRleCBm
ZDM0NGFkYmNhYmIxNWZiZDgxNGVkNmZiZDQ3OGY3NGI2MTU3NjNjLi4wN2FjZDZkNTMyZDMyOGFm
ZGI3N2FjZjIwMTMzOTBlZjM5ZGQ5ZDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0NDYWxsSGVscGVycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0Nh
bGxIZWxwZXJzLmgKQEAgLTI3NCw2ICsyNzQsMTUgQEAgcHVibGljOgogICAgICAgICBhZGRDYWxs
QXJndW1lbnQoYXJnMik7CiAgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmczKTsKICAgICB9Cisg
ICAgCisgICAgQUxXQVlTX0lOTElORSB2b2lkIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShH
UFJSZWcgYXJnMSwgVHJ1c3RlZEltbVB0ciBhcmcyLCBHUFJSZWcgYXJnMykKKyAgICB7CisgICAg
ICAgIHJlc2V0Q2FsbEFyZ3VtZW50cygpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQoR1BSSW5m
bzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMSk7Cisg
ICAgICAgIGFkZENhbGxBcmd1bWVudChhcmcyKTsKKyAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFy
ZzMpOworICAgIH0KIAogICAgIEFMV0FZU19JTkxJTkUgdm9pZCBzZXR1cEFyZ3VtZW50c1dpdGhF
eGVjU3RhdGUoR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyLCBUcnVzdGVkSW1tMzIgYXJnMykKICAg
ICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKaW5kZXggYjQxMTNjNDVlNzJjN2UxNThlYzFm
MTkyM2NiZmUyOWM1ZWY1NDI4Mi4uOGExYmFjODdmZDEwYjk4N2Y2NGZkMGMyMTEzMjEwY2E2NzA1
ZWRiMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcApAQCAtMjYwLDYgKzI2MCw3IEBAIHZv
aWQgSklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkKICAgICAgICAgREVGSU5FX09QKG9wX25l
d19hcnJheV9idWZmZXIpCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfZnVuYykKICAgICAgICAg
REVGSU5FX09QKG9wX25ld19mdW5jX2V4cCkKKyAgICAgICAgREVGSU5FX09QKG9wX25ld19hcnJv
d19mdW5jX2V4cCkgCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfb2JqZWN0KQogICAgICAgICBE
RUZJTkVfT1Aob3BfbmV3X3JlZ2V4cCkKICAgICAgICAgREVGSU5FX09QKG9wX25vdCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVC5oCmluZGV4IGQ3MjI1ZWE0YjJhZTU0MzE4Nzg0NGMyMDc2ZWM2ZWI4ZDY1
ZDIxYzkuLmRhYTUyMDk0ODg1NzkxNjBiYmQ5YzQ3ZDA3YjRhMDQ1OWZiOGIwMTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVQuaApAQCAtNTIxLDYgKzUyMSw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
ICAgICB2b2lkIGVtaXRfb3BfbmV3X2FycmF5X2J1ZmZlcihJbnN0cnVjdGlvbiopOwogICAgICAg
ICB2b2lkIGVtaXRfb3BfbmV3X2Z1bmMoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0
X29wX25ld19mdW5jX2V4cChJbnN0cnVjdGlvbiopOworICAgICAgICB2b2lkIGVtaXRfb3BfbmV3
X2Fycm93X2Z1bmNfZXhwKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdf
b2JqZWN0KEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfcmVnZXhwKElu
c3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9ub3QoSW5zdHJ1Y3Rpb24qKTsKQEAg
LTcwMiw2ICs3MDMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6
OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSkosIGludCwgR1BSUmVnLCBHUFJS
ZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3Bl
cmF0aW9uX0VKc2MsIEdQUlJlZyk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxP
cGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0MsIGludCwgR1BSUmVnLCBKU0NlbGwqKTsKKyAg
ICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9F
SnNjQ0osIGludCwgR1BSUmVnLCBKU0NlbGwqLCBHUFJSZWcpOwogICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2NaLCBHUFJSZWcsIGlu
dDMyX3QpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklU
T3BlcmF0aW9uX0VKc2NaLCBpbnQsIEdQUlJlZywgaW50MzJfdCk7CiAjaWYgVVNFKEpTVkFMVUU2
NCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKaW5kZXggOWVlMjRkMDkyMjhh
OTg4MmVhNzY5NjI5ZDFhODdiNmMzNGE4NjMzNC4uYTBlNDBjNWM2MWZlNjNlOTg2M2VkMjIzZWRm
NWQ0NTFmMzE4YTc3NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJ
bmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKQEAg
LTI3MSw2ICsyNzEsMTIgQEAgQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6
OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0Mgb3BlcmEKICAgICByZXR1cm4gYXBw
ZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldEpTVmFsdWVSZXN1bHQob3BlcmF0aW9uLCBkc3Qp
OwogfQogCitBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJh
dGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0ogb3BlcmF0aW9uLCBpbnQgZHN0LCBHUFJSZWcgYXJn
MSwgSlNDZWxsKiBjZWxsLCBHUFJSZWcgYXJnMikKK3sKKyAgICBzZXR1cEFyZ3VtZW50c1dpdGhF
eGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSwgYXJnMik7CisgICAgcmV0dXJuIGFw
cGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRKU1ZhbHVlUmVzdWx0KG9wZXJhdGlvbiwgZHN0
KTsKK30KKyAgICAKIEFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxs
T3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VQIG9wZXJhdGlvbiwgaW50IGRzdCwgdm9pZCogcG9p
bnRlcikKIHsKICAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihw
b2ludGVyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29k
ZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAppbmRleCA1
ZDRkMGI5ZmU4NzY4YWMyZmU1OTY1NzVlZDRhYTgxMjIwZGFkNmM3Li5kY2UzNzEyNWM0ZWZiMDU0
YTgwNjE1NGUwYWQyM2FkZmY5ZWE0YjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVE9wY29kZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3Bjb2Rlcy5jcHAKQEAgLTk4Nyw2ICs5ODcsMjkgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2Z1
bmNfZXhwKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgY2FsbE9wZXJhdGlv
bihvcGVyYXRpb25OZXdGdW5jdGlvbiwgZHN0LCByZWdUMCwgZnVuY0V4cHIpOwogICAgIGRvbmUu
bGluayh0aGlzKTsKIH0KKyAgICAKK3ZvaWQgSklUOjplbWl0X29wX25ld19hcnJvd19mdW5jX2V4
cChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQoreworICAgIEp1bXAgbm90VW5kZWZp
bmVkU2NvcGU7CisgICAgaW50IGRzdCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7
CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJ
bnN0cnVjdGlvblsyXS51Lm9wZXJhbmQsIHJlZ1QwKTsKKyAgICBlbWl0R2V0VmlydHVhbFJlZ2lz
dGVyKGN1cnJlbnRJbnN0cnVjdGlvbls0XS51Lm9wZXJhbmQsIHJlZ1QxKTsKKyAgICBub3RVbmRl
ZmluZWRTY29wZSA9IGJyYW5jaDY0KE5vdEVxdWFsLCByZWdUMCwgVHJ1c3RlZEltbTY0KEpTVmFs
dWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSkpOworICAgIHN0b3JlNjQoVHJ1c3RlZEltbTY0KEpT
VmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSksIEFkZHJlc3MoY2FsbEZyYW1lUmVnaXN0ZXIs
IHNpemVvZihSZWdpc3RlcikgKiBkc3QpKTsKKyNlbHNlCisgICAgZW1pdExvYWRQYXlsb2FkKGN1
cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQsIHJlZ1QwKTsKKyAgICBlbWl0TG9hZFBheWxv
YWQoY3VycmVudEluc3RydWN0aW9uWzRdLnUub3BlcmFuZCwgcmVnVDEpOworICAgIG5vdFVuZGVm
aW5lZFNjb3BlID0gYnJhbmNoMzIoTm90RXF1YWwsIHRhZ0ZvcihjdXJyZW50SW5zdHJ1Y3Rpb25b
Ml0udS5vcGVyYW5kKSwgVHJ1c3RlZEltbTMyKEpTVmFsdWU6OlVuZGVmaW5lZFRhZykpOworICAg
IGVtaXRTdG9yZShkc3QsIGpzVW5kZWZpbmVkKCkpOworI2VuZGlmCisgICAgSnVtcCBkb25lID0g
anVtcCgpOworICAgIG5vdFVuZGVmaW5lZFNjb3BlLmxpbmsodGhpcyk7CisgICAgCisgICAgRnVu
Y3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlvbiA9IG1fY29kZUJsb2NrLT5mdW5jdGlvbkV4cHIoY3Vy
cmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZCk7CisgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRp
b25OZXdBcnJvd0Z1bmN0aW9uLCBkc3QsIHJlZ1QwLCBmdW5jdGlvbiwgcmVnVDEpOworICAgIGRv
bmUubGluayh0aGlzKTsKK30KIAogdm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2FycmF5KEluc3RydWN0
aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRPcGVyYXRpb25zLmNwcAppbmRleCA5OGQ4NzczZjM4ZDk1ZjJiOGU1OGNkYmQ3ODM2MDI5ODE1
NDAwNzEzLi45NjdjYThlYWY3NWIxMGRlODAxMGYyMTRkNGVjNjc3MjQ3ZmU0MmMxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTIwLDcgKzIwLDcg
QEAKICAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKICAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgpAQCAtNDIsNiAr
NDIsOCBAQAogI2luY2x1ZGUgIkhvc3RDYWxsUmV0dXJuVmFsdWUuaCIKICNpbmNsdWRlICJKSVQu
aCIKICNpbmNsdWRlICJKSVRUb0RGR0RlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjay5oIgorI2lu
Y2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgog
I2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0NhdGNoU2NvcGUuaCIKICNpbmNs
dWRlICJKU0Z1bmN0aW9uTmFtZVNjb3BlLmgiCkBAIC02Nyw3ICs2OSw3IEBAIHZvaWQgcHVzaE5h
bWVTY29wZShFeGVjU3RhdGUqIGV4ZWMsIGludDMyX3QgZHN0LCBTeW1ib2xUYWJsZSogc3ltYm9s
VGFibGUsIEVuY29kCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxs
RnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7Ci0gICAgCisKICAgICBBU1NFUlQoIUpJVENv
ZGU6OmlzT3B0aW1pemluZ0pJVChleGVjLT5jb2RlQmxvY2soKS0+aml0VHlwZSgpKSk7CiAKICAg
ICAvLyBGSVhNRTogVGhpcyB3b24ndCB3b3JrIGlmIHRoaXMgb3BlcmF0aW9uIGlzIGNhbGxlZCBm
cm9tIHRoZSBERkcgb3IgRlRMLgpAQCAtMTUxLDcgKzE1Myw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0
dWJJbmZvCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1l
VHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBKU1ZhbHVlIGJhc2VWYWx1ZSA9
IEpTVmFsdWU6OmRlY29kZShiYXNlKTsKICAgICBQcm9wZXJ0eVNsb3Qgc2xvdChiYXNlVmFsdWUp
OwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCB1aWQpOwpA
QCAtMTY5LDcgKzE3MSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
R2V0QnlJZEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyCiAgICAgSlNWYWx1ZSBi
YXNlVmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoYmFzZSk7CiAgICAgUHJvcGVydHlTbG90IHNsb3Qo
YmFzZVZhbHVlKTsKICAgICBib29sIGhhc1Jlc3VsdCA9IGJhc2VWYWx1ZS5nZXRQcm9wZXJ0eVNs
b3QoZXhlYywgaWRlbnQsIHNsb3QpOwotICAgIAorCiAgICAgaWYgKGFjY2Vzc1R5cGUgPT0gc3Rh
dGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpKQogICAgICAgICBidWls
ZEdldEJ5SURMaXN0KGV4ZWMsIGJhc2VWYWx1ZSwgaWRlbnQsIHNsb3QsICpzdHViSW5mbyk7CiAK
QEAgLTE4NCwxMyArMTg2LDEzIEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uR2V0QnlJZE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlCiAKICAgICBKU1Zh
bHVlIGJhc2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShiYXNlKTsKICAgICBQcm9wZXJ0eVNsb3Qg
c2xvdChiYXNlVmFsdWUpOwotICAgIAorCiAgICAgYm9vbCBoYXNSZXN1bHQgPSBiYXNlVmFsdWUu
Z2V0UHJvcGVydHlTbG90KGV4ZWMsIGlkZW50LCBzbG90KTsKICAgICBpZiAoc3R1YkluZm8tPnNl
ZW4pCiAgICAgICAgIHJlcGF0Y2hHZXRCeUlEKGV4ZWMsIGJhc2VWYWx1ZSwgaWRlbnQsIHNsb3Qs
ICpzdHViSW5mbyk7CiAgICAgZWxzZQogICAgICAgICBzdHViSW5mby0+c2VlbiA9IHRydWU7Ci0g
ICAgCisKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGhhc1Jlc3VsdD8gc2xvdC5nZXRWYWx1
ZShleGVjLCBpZGVudCkgOiBqc1VuZGVmaW5lZCgpKTsKIAogfQpAQCAtMTk5LDI1ICsyMDEsMjUg
QEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25Jbk9wdGltaXplKEV4ZWNT
dGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkkKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsK
ICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAg
IGlmICghYmFzZS0+aXNPYmplY3QoKSkgewogICAgICAgICB2bS0+dGhyb3dFeGNlcHRpb24oZXhl
YywgY3JlYXRlSW52YWxpZEluUGFyYW1ldGVyRXJyb3IoZXhlYywgYmFzZSkpOwogICAgICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogICAgIH0KLSAgICAKKwogICAg
IEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSA9IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZv
LT5hY2Nlc3NUeXBlKTsKIAogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVyOjpmcm9t
VWlkKHZtLCBrZXkpOwogICAgIFByb3BlcnR5U2xvdCBzbG90KGJhc2UpOwogICAgIGJvb2wgcmVz
dWx0ID0gYXNPYmplY3QoYmFzZSktPmdldFByb3BlcnR5U2xvdChleGVjLCBpZGVudCwgc2xvdCk7
Ci0gICAgCisKICAgICBSRUxFQVNFX0FTU0VSVChhY2Nlc3NUeXBlID09IHN0dWJJbmZvLT5hY2Nl
c3NUeXBlKTsKLSAgICAKKwogICAgIGlmIChzdHViSW5mby0+c2VlbikKICAgICAgICAgcmVwYXRj
aEluKGV4ZWMsIGJhc2UsIGlkZW50LCByZXN1bHQsIHNsb3QsICpzdHViSW5mbyk7CiAgICAgZWxz
ZQogICAgICAgICBzdHViSW5mby0+c2VlbiA9IHRydWU7Ci0gICAgCisKICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihyZXN1bHQpKTsKIH0KIApAQCAtMjQ3LDcgKzI0OSw3IEBA
IHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0KEV4ZWNTdGF0ZSogZXhl
YywgU3RydWN0dXJlU3R1YkluZm8qLCBFCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAg
ICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJ
ZGVudGlmaWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBQdXRQ
cm9wZXJ0eVNsb3Qgc2xvdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpLCB0cnVlLCBleGVj
LT5jb2RlQmxvY2soKS0+cHV0QnlJZENvbnRleHQoKSk7CiAgICAgSlNWYWx1ZTo6ZGVjb2RlKGVu
Y29kZWRCYXNlKS5wdXQoZXhlYywgaWRlbnQsIEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUp
LCBzbG90KTsKQEAgLTI1Nyw3ICsyNTksNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
UHV0QnlJZE5vblN0cmljdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKgogewog
ICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFj
ZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAgSWRlbnRpZmllciBpZGVudCA9IElkZW50aWZpZXI6
OmZyb21VaWQodm0sIHVpZCk7CiAgICAgUHV0UHJvcGVydHlTbG90IHNsb3QoSlNWYWx1ZTo6ZGVj
b2RlKGVuY29kZWRCYXNlKSwgZmFsc2UsIGV4ZWMtPmNvZGVCbG9jaygpLT5wdXRCeUlkQ29udGV4
dCgpKTsKICAgICBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpLnB1dChleGVjLCBpZGVudCwg
SlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSksIHNsb3QpOwpAQCAtMjY3LDcgKzI2OSw3IEBA
IHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0KEV4ZWNTdGF0
ZSogZXhlYywgU3RydWN0dXJlU3R1YkluCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAg
ICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJ
ZGVudGlmaWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBQdXRQ
cm9wZXJ0eVNsb3Qgc2xvdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpLCB0cnVlLCBleGVj
LT5jb2RlQmxvY2soKS0+cHV0QnlJZENvbnRleHQoKSk7CiAgICAgYXNPYmplY3QoSlNWYWx1ZTo6
ZGVjb2RlKGVuY29kZWRCYXNlKSktPnB1dERpcmVjdChleGVjLT52bSgpLCBpZGVudCwgSlNWYWx1
ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSksIHNsb3QpOwpAQCAtMjc3LDcgKzI3OSw3IEBAIHZvaWQg
SklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0KEV4ZWNTdGF0ZSog
ZXhlYywgU3RydWN0dXJlU3R1CiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0
aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJZGVudGlm
aWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBQdXRQcm9wZXJ0
eVNsb3Qgc2xvdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpLCBmYWxzZSwgZXhlYy0+Y29k
ZUJsb2NrKCktPnB1dEJ5SWRDb250ZXh0KCkpOwogICAgIGFzT2JqZWN0KEpTVmFsdWU6OmRlY29k
ZShlbmNvZGVkQmFzZSkpLT5wdXREaXJlY3QoZXhlYy0+dm0oKSwgaWRlbnQsIEpTVmFsdWU6OmRl
Y29kZShlbmNvZGVkVmFsdWUpLCBzbG90KTsKQEAgLTI4Nyw3ICsyODksNyBAQCB2b2lkIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZFN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywg
U3RydWN0dXJlU3R1YgogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNh
bGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAgSWRlbnRpZmllciBp
ZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIHVpZCk7CiAgICAgQWNjZXNzVHlwZSBhY2Nl
c3NUeXBlID0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpOwog
CkBAIC0yOTcsMTAgKzI5OSwxMCBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJ
ZFN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YgogCiAgICAgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlVmFsdWUuaXNDZWxsKCkgPyBiYXNlVmFsdWUuYXNDZWxs
KCktPnN0cnVjdHVyZSgqdm0pIDogbnVsbHB0cjsKICAgICBiYXNlVmFsdWUucHV0KGV4ZWMsIGlk
ZW50LCB2YWx1ZSwgc2xvdCk7Ci0gICAgCisKICAgICBpZiAoYWNjZXNzVHlwZSAhPSBzdGF0aWNf
Y2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSkpCiAgICAgICAgIHJldHVybjsK
LSAgICAKKwogICAgIGlmIChzdHViSW5mby0+c2VlbikKICAgICAgICAgcmVwYXRjaFB1dEJ5SUQo
ZXhlYywgYmFzZVZhbHVlLCBzdHJ1Y3R1cmUsIGlkZW50LCBzbG90LCAqc3R1YkluZm8sIE5vdERp
cmVjdCk7CiAgICAgZWxzZQpAQCAtMzExLDcgKzMxMyw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1
cmVTCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJh
Y2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRl
bnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUgPSBz
dGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSk7CiAKQEAgLTMxOSwx
MiArMzIxLDEyIEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0
T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTCiAgICAgSlNWYWx1ZSBiYXNlVmFs
dWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpOwogICAgIFB1dFByb3BlcnR5U2xvdCBz
bG90KGJhc2VWYWx1ZSwgZmFsc2UsIGV4ZWMtPmNvZGVCbG9jaygpLT5wdXRCeUlkQ29udGV4dCgp
KTsKIAotICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZVZhbHVlLmlzQ2VsbCgpID8gYmFz
ZVZhbHVlLmFzQ2VsbCgpLT5zdHJ1Y3R1cmUoKnZtKSA6IG51bGxwdHI7ICAgIAorICAgIFN0cnVj
dHVyZSogc3RydWN0dXJlID0gYmFzZVZhbHVlLmlzQ2VsbCgpID8gYmFzZVZhbHVlLmFzQ2VsbCgp
LT5zdHJ1Y3R1cmUoKnZtKSA6IG51bGxwdHI7CiAgICAgYmFzZVZhbHVlLnB1dChleGVjLCBpZGVu
dCwgdmFsdWUsIHNsb3QpOwotICAgIAorCiAgICAgaWYgKGFjY2Vzc1R5cGUgIT0gc3RhdGljX2Nh
c3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpKQogICAgICAgICByZXR1cm47Ci0g
ICAgCisKICAgICBpZiAoc3R1YkluZm8tPnNlZW4pCiAgICAgICAgIHJlcGF0Y2hQdXRCeUlEKGV4
ZWMsIGJhc2VWYWx1ZSwgc3RydWN0dXJlLCBpZGVudCwgc2xvdCwgKnN0dWJJbmZvLCBOb3REaXJl
Y3QpOwogICAgIGVsc2UKQEAgLTMzNSwyMCArMzM3LDIwIEBAIHZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1
Y3R1CiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJh
Y2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRl
bnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUgPSBz
dGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSk7CiAKICAgICBKU1Zh
bHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CiAgICAgSlNPYmplY3Qq
IGJhc2VPYmplY3QgPSBhc09iamVjdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpKTsKICAg
ICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChiYXNlT2JqZWN0LCB0cnVlLCBleGVjLT5jb2RlQmxvY2so
KS0+cHV0QnlJZENvbnRleHQoKSk7Ci0gICAgCisKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9
IGJhc2VPYmplY3QtPnN0cnVjdHVyZSgqdm0pOwogICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdChl
eGVjLT52bSgpLCBpZGVudCwgdmFsdWUsIHNsb3QpOwotICAgIAorCiAgICAgaWYgKGFjY2Vzc1R5
cGUgIT0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpKQogICAg
ICAgICByZXR1cm47Ci0gICAgCisKICAgICBpZiAoc3R1YkluZm8tPnNlZW4pCiAgICAgICAgIHJl
cGF0Y2hQdXRCeUlEKGV4ZWMsIGJhc2VPYmplY3QsIHN0cnVjdHVyZSwgaWRlbnQsIHNsb3QsICpz
dHViSW5mbywgRGlyZWN0KTsKICAgICBlbHNlCkBAIC0zNTksMjAgKzM2MSwyMCBAQCB2b2lkIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmljdE9wdGltaXplKEV4ZWNT
dGF0ZSogZXhlYywgU3RydQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2
ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAgSWRlbnRpZmll
ciBpZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIHVpZCk7CiAgICAgQWNjZXNzVHlwZSBh
Y2Nlc3NUeXBlID0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUp
OwogCiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOwog
ICAgIEpTT2JqZWN0KiBiYXNlT2JqZWN0ID0gYXNPYmplY3QoSlNWYWx1ZTo6ZGVjb2RlKGVuY29k
ZWRCYXNlKSk7CiAgICAgUHV0UHJvcGVydHlTbG90IHNsb3QoYmFzZU9iamVjdCwgZmFsc2UsIGV4
ZWMtPmNvZGVCbG9jaygpLT5wdXRCeUlkQ29udGV4dCgpKTsKLSAgICAKKwogICAgIFN0cnVjdHVy
ZSogc3RydWN0dXJlID0gYmFzZU9iamVjdC0+c3RydWN0dXJlKCp2bSk7CiAgICAgYmFzZU9iamVj
dC0+cHV0RGlyZWN0KGV4ZWMtPnZtKCksIGlkZW50LCB2YWx1ZSwgc2xvdCk7Ci0gICAgCisKICAg
ICBpZiAoYWNjZXNzVHlwZSAhPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNj
ZXNzVHlwZSkpCiAgICAgICAgIHJldHVybjsKLSAgICAKKwogICAgIGlmIChzdHViSW5mby0+c2Vl
bikKICAgICAgICAgcmVwYXRjaFB1dEJ5SUQoZXhlYywgYmFzZU9iamVjdCwgc3RydWN0dXJlLCBp
ZGVudCwgc2xvdCwgKnN0dWJJbmZvLCBEaXJlY3QpOwogICAgIGVsc2UKQEAgLTM4MywxNSArMzg1
LDE1IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0QnVpbGRMaXN0
KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1CiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZt
KCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisK
ICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAg
ICBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUgPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5m
by0+YWNjZXNzVHlwZSk7CiAKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVu
Y29kZWRWYWx1ZSk7CiAgICAgSlNWYWx1ZSBiYXNlVmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5j
b2RlZEJhc2UpOwogICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KGJhc2VWYWx1ZSwgdHJ1ZSwgZXhl
Yy0+Y29kZUJsb2NrKCktPnB1dEJ5SWRDb250ZXh0KCkpOwotICAgIAotICAgIFN0cnVjdHVyZSog
c3RydWN0dXJlID0gYmFzZVZhbHVlLmlzQ2VsbCgpID8gYmFzZVZhbHVlLmFzQ2VsbCgpLT5zdHJ1
Y3R1cmUoKnZtKSA6IG51bGxwdHI7IAorCisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNl
VmFsdWUuaXNDZWxsKCkgPyBiYXNlVmFsdWUuYXNDZWxsKCktPnN0cnVjdHVyZSgqdm0pIDogbnVs
bHB0cjsKICAgICBiYXNlVmFsdWUucHV0KGV4ZWMsIGlkZW50LCB2YWx1ZSwgc2xvdCk7CiAKICAg
ICBpZiAoYWNjZXNzVHlwZSAhPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNj
ZXNzVHlwZSkpCkBAIC00MDQsNyArNDA2LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
blB1dEJ5SWROb25TdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUKIHsK
ICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJh
Y2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVy
Ojpmcm9tVWlkKHZtLCB1aWQpOwogICAgIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSA9IHN0YXRpY19j
YXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKTsKIApAQCAtNDE0LDEwICs0MTYs
MTAgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3RCdWlsZExp
c3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUKIAogICAgIFN0cnVjdHVyZSogc3RydWN0dXJl
ID0gYmFzZVZhbHVlLmlzQ2VsbCgpID8gYmFzZVZhbHVlLmFzQ2VsbCgpLT5zdHJ1Y3R1cmUoKnZt
KSA6IG51bGxwdHI7CiAgICAgYmFzZVZhbHVlLnB1dChleGVjLCBpZGVudCwgdmFsdWUsIHNsb3Qp
OwotICAgIAorCiAgICAgaWYgKGFjY2Vzc1R5cGUgIT0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4o
c3R1YkluZm8tPmFjY2Vzc1R5cGUpKQogICAgICAgICByZXR1cm47Ci0gICAgCisKICAgICBidWls
ZFB1dEJ5SWRMaXN0KGV4ZWMsIGJhc2VWYWx1ZSwgc3RydWN0dXJlLCBpZGVudCwgc2xvdCwgKnN0
dWJJbmZvLCBOb3REaXJlY3QpOwogfQogCkBAIC00MjUsMjAgKzQyNywyMCBAQCB2b2lkIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUq
IGV4ZWMsIFN0cnVjdAogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNh
bGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAgSWRlbnRpZmllciBp
ZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIHVpZCk7CiAgICAgQWNjZXNzVHlwZSBhY2Nl
c3NUeXBlID0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpOwot
ICAgIAorCiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUp
OwogICAgIEpTT2JqZWN0KiBiYXNlT2JqZWN0ID0gYXNPYmplY3QoSlNWYWx1ZTo6ZGVjb2RlKGVu
Y29kZWRCYXNlKSk7CiAgICAgUHV0UHJvcGVydHlTbG90IHNsb3QoYmFzZU9iamVjdCwgdHJ1ZSwg
ZXhlYy0+Y29kZUJsb2NrKCktPnB1dEJ5SWRDb250ZXh0KCkpOwogCi0gICAgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUgPSBiYXNlT2JqZWN0LT5zdHJ1Y3R1cmUoKnZtKTsgICAgCisgICAgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUgPSBiYXNlT2JqZWN0LT5zdHJ1Y3R1cmUoKnZtKTsKICAgICBiYXNlT2JqZWN0
LT5wdXREaXJlY3QoKnZtLCBpZGVudCwgdmFsdWUsIHNsb3QpOwotICAgIAorCiAgICAgaWYgKGFj
Y2Vzc1R5cGUgIT0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUp
KQogICAgICAgICByZXR1cm47Ci0gICAgCisKICAgICBidWlsZFB1dEJ5SWRMaXN0KGV4ZWMsIGJh
c2VPYmplY3QsIHN0cnVjdHVyZSwgaWRlbnQsIHNsb3QsICpzdHViSW5mbywgRGlyZWN0KTsKIH0K
IApAQCAtNDQ2LDcgKzQ0OCw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlk
RGlyZWN0Tm9uU3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RyCiB7CiAgICAgVk0q
IHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwg
ZXhlYyk7Ci0gICAgCisKICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVp
ZCh2bSwgdWlkKTsKICAgICBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUgPSBzdGF0aWNfY2FzdDxBY2Nl
c3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSk7CiAKQEAgLTQ1NCwxMiArNDU2LDEyIEBAIHZv
aWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0QnVpbGRMaXN0
KEV4ZWNTdGF0ZSogZXhlYywgU3RyCiAgICAgSlNPYmplY3QqIGJhc2VPYmplY3QgPSBhc09iamVj
dChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpKTsKICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xv
dChiYXNlT2JqZWN0LCBmYWxzZSwgZXhlYy0+Y29kZUJsb2NrKCktPnB1dEJ5SWRDb250ZXh0KCkp
OwogCi0gICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlT2JqZWN0LT5zdHJ1Y3R1cmUoKnZt
KTsgICAgCisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlT2JqZWN0LT5zdHJ1Y3R1cmUo
KnZtKTsKICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3QoKnZtLCBpZGVudCwgdmFsdWUsIHNsb3Qp
OwogCiAgICAgaWYgKGFjY2Vzc1R5cGUgIT0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1Yklu
Zm8tPmFjY2Vzc1R5cGUpKQogICAgICAgICByZXR1cm47Ci0gICAgCisKICAgICBidWlsZFB1dEJ5
SWRMaXN0KGV4ZWMsIGJhc2VPYmplY3QsIHN0cnVjdHVyZSwgaWRlbnQsIHNsb3QsICpzdHViSW5m
bywgRGlyZWN0KTsKIH0KIApAQCAtNTc2LDcgKzU3OCw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25EaXJlY3RQdXRCeVZhbChFeGVjU3RhdGUqIGNhbGxGcmFtZSwgRW5jb2RlZEpTVmFs
dWUKIHsKICAgICBWTSYgdm0gPSBjYWxsRnJhbWUtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1l
VHJhY2VyIHRyYWNlcigmdm0sIGNhbGxGcmFtZSk7Ci0gICAgCisKICAgICBKU1ZhbHVlIGJhc2VW
YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZVZhbHVlKTsKICAgICBKU1ZhbHVlIHN1
YnNjcmlwdCA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkU3Vic2NyaXB0KTsKICAgICBKU1ZhbHVl
IHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CkBAIC01ODUsMTIgKzU4Nywx
MiBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uRGlyZWN0UHV0QnlWYWwoRXhlY1N0YXRl
KiBjYWxsRnJhbWUsIEVuY29kZWRKU1ZhbHVlCiAgICAgaWYgKHN1YnNjcmlwdC5pc0ludDMyKCkp
IHsKICAgICAgICAgLy8gU2VlIGlmIGl0J3Mgd29ydGggb3B0aW1pemluZyBhdCBhbGwuCiAgICAg
ICAgIGJvb2wgZGlkT3B0aW1pemUgPSBmYWxzZTsKLSAgICAgICAgCisKICAgICAgICAgdW5zaWdu
ZWQgYnl0ZWNvZGVPZmZzZXQgPSBjYWxsRnJhbWUtPmxvY2F0aW9uQXNCeXRlY29kZU9mZnNldCgp
OwogICAgICAgICBBU1NFUlQoYnl0ZWNvZGVPZmZzZXQpOwogICAgICAgICBCeVZhbEluZm8mIGJ5
VmFsSW5mbyA9IGNhbGxGcmFtZS0+Y29kZUJsb2NrKCktPmdldEJ5VmFsSW5mbyhieXRlY29kZU9m
ZnNldCAtIDEpOwogICAgICAgICBBU1NFUlQoIWJ5VmFsSW5mby5zdHViUm91dGluZSk7Ci0gICAg
ICAgIAorCiAgICAgICAgIGlmIChoYXNPcHRpbWl6YWJsZUluZGV4aW5nKG9iamVjdC0+c3RydWN0
dXJlKHZtKSkpIHsKICAgICAgICAgICAgIC8vIEF0dGVtcHQgdG8gb3B0aW1pemUuCiAgICAgICAg
ICAgICBKSVRBcnJheU1vZGUgYXJyYXlNb2RlID0gaml0QXJyYXlNb2RlRm9yU3RydWN0dXJlKG9i
amVjdC0+c3RydWN0dXJlKHZtKSk7CkBAIC01OTksNyArNjAxLDcgQEAgdm9pZCBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkRpcmVjdFB1dEJ5VmFsKEV4ZWNTdGF0ZSogY2FsbEZyYW1lLCBFbmNvZGVk
SlNWYWx1ZQogICAgICAgICAgICAgICAgIGRpZE9wdGltaXplID0gdHJ1ZTsKICAgICAgICAgICAg
IH0KICAgICAgICAgfQotICAgICAgICAKKwogICAgICAgICBpZiAoIWRpZE9wdGltaXplKSB7CiAg
ICAgICAgICAgICAvLyBJZiB3ZSB0YWtlIHNsb3cgcGF0aCBtb3JlIHRoYW4gMTAgdGltZXMgd2l0
aG91dCBwYXRjaGluZyB0aGVuIG1ha2Ugc3VyZSB3ZQogICAgICAgICAgICAgLy8gbmV2ZXIgbWFr
ZSB0aGF0IG1pc3Rha2UgYWdhaW4uIE9yLCBpZiB3ZSBmYWlsZWQgdG8gcGF0Y2ggYW5kIHdlIGhh
dmUgc29tZSBvYmplY3QKQEAgLTYyMCw3ICs2MjIsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uUHV0QnlWYWxHZW5lcmljKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5j
bwogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2Vy
IHRyYWNlcigmdm0sIGV4ZWMpOwotICAgIAorCiAgICAgSlNWYWx1ZSBiYXNlVmFsdWUgPSBKU1Zh
bHVlOjpkZWNvZGUoZW5jb2RlZEJhc2VWYWx1ZSk7CiAgICAgSlNWYWx1ZSBzdWJzY3JpcHQgPSBK
U1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFN1YnNjcmlwdCk7CiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpT
VmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOwpAQCAtNjMzLDcgKzYzNSw3IEBAIHZvaWQgSklU
X09QRVJBVElPTiBvcGVyYXRpb25EaXJlY3RQdXRCeVZhbEdlbmVyaWMoRXhlY1N0YXRlKiBleGVj
LCBFbmNvZGVkSlNWYWx1CiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBOYXRpdmVD
YWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7Ci0gICAgCisKICAgICBKU1ZhbHVlIGJh
c2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZVZhbHVlKTsKICAgICBKU1ZhbHVl
IHN1YnNjcmlwdCA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkU3Vic2NyaXB0KTsKICAgICBKU1Zh
bHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CkBAIC02NTcsNyArNjU5
LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25DYWxsRXZhbChFeGVj
U3RhdGUqIGV4ZWMsIEV4ZWNTdGF0ZSogZXhlY0MKICAgICBKU1ZhbHVlIHJlc3VsdCA9IGV2YWwo
ZXhlY0NhbGxlZSk7CiAgICAgaWYgKHZtLT5leGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIEVu
Y29kZWRKU1ZhbHVlKCk7Ci0gICAgCisKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3Vs
dCk7CiB9CiAKQEAgLTY3MSw5ICs2NzMsOSBAQCBzdGF0aWMgdm9pZCogaGFuZGxlSG9zdENhbGwo
RXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBKU1ZhbHVlIGNhbGxlZSwgQ29kZVNwZWNpYWxpegogICAg
IGlmIChraW5kID09IENvZGVGb3JDYWxsKSB7CiAgICAgICAgIENhbGxEYXRhIGNhbGxEYXRhOwog
ICAgICAgICBDYWxsVHlwZSBjYWxsVHlwZSA9IGdldENhbGxEYXRhKGNhbGxlZSwgY2FsbERhdGEp
OwotICAgIAorCiAgICAgICAgIEFTU0VSVChjYWxsVHlwZSAhPSBDYWxsVHlwZUpTKTsKLSAgICAK
KwogICAgICAgICBpZiAoY2FsbFR5cGUgPT0gQ2FsbFR5cGVIb3N0KSB7CiAgICAgICAgICAgICBO
YXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjQ2FsbGVlKTsKICAgICAgICAgICAg
IGV4ZWNDYWxsZWUtPnNldENhbGxlZShhc09iamVjdChjYWxsZWUpKTsKQEAgLTY4MywxOSArNjg1
LDE5IEBAIHN0YXRpYyB2b2lkKiBoYW5kbGVIb3N0Q2FsbChFeGVjU3RhdGUqIGV4ZWNDYWxsZWUs
IEpTVmFsdWUgY2FsbGVlLCBDb2RlU3BlY2lhbGl6CiAKICAgICAgICAgICAgIHJldHVybiByZWlu
dGVycHJldF9jYXN0PHZvaWQqPihnZXRIb3N0Q2FsbFJldHVyblZhbHVlKTsKICAgICAgICAgfQot
ICAgIAorCiAgICAgICAgIEFTU0VSVChjYWxsVHlwZSA9PSBDYWxsVHlwZU5vbmUpOwogICAgICAg
ICBleGVjLT52bSgpLnRocm93RXhjZXB0aW9uKGV4ZWMsIGNyZWF0ZU5vdEFGdW5jdGlvbkVycm9y
KGV4ZWMsIGNhbGxlZSkpOwogICAgICAgICByZXR1cm4gdm0tPmdldENUSVN0dWIodGhyb3dFeGNl
cHRpb25Gcm9tQ2FsbFNsb3dQYXRoR2VuZXJhdG9yKS5jb2RlKCkuZXhlY3V0YWJsZUFkZHJlc3Mo
KTsKICAgICB9CiAKICAgICBBU1NFUlQoa2luZCA9PSBDb2RlRm9yQ29uc3RydWN0KTsKLSAgICAK
KwogICAgIENvbnN0cnVjdERhdGEgY29uc3RydWN0RGF0YTsKICAgICBDb25zdHJ1Y3RUeXBlIGNv
bnN0cnVjdFR5cGUgPSBnZXRDb25zdHJ1Y3REYXRhKGNhbGxlZSwgY29uc3RydWN0RGF0YSk7Ci0g
ICAgCisKICAgICBBU1NFUlQoY29uc3RydWN0VHlwZSAhPSBDb25zdHJ1Y3RUeXBlSlMpOwotICAg
IAorCiAgICAgaWYgKGNvbnN0cnVjdFR5cGUgPT0gQ29uc3RydWN0VHlwZUhvc3QpIHsKICAgICAg
ICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlY0NhbGxlZSk7CiAgICAgICAg
IGV4ZWNDYWxsZWUtPnNldENhbGxlZShhc09iamVjdChjYWxsZWUpKTsKQEAgLTcwNSw3ICs3MDcs
NyBAQCBzdGF0aWMgdm9pZCogaGFuZGxlSG9zdENhbGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBK
U1ZhbHVlIGNhbGxlZSwgQ29kZVNwZWNpYWxpegogCiAgICAgICAgIHJldHVybiByZWludGVycHJl
dF9jYXN0PHZvaWQqPihnZXRIb3N0Q2FsbFJldHVyblZhbHVlKTsKICAgICB9Ci0gICAgCisKICAg
ICBBU1NFUlQoY29uc3RydWN0VHlwZSA9PSBDb25zdHJ1Y3RUeXBlTm9uZSk7CiAgICAgZXhlYy0+
dm0oKS50aHJvd0V4Y2VwdGlvbihleGVjLCBjcmVhdGVOb3RBQ29uc3RydWN0b3JFcnJvcihleGVj
LCBjYWxsZWUpKTsKICAgICByZXR1cm4gdm0tPmdldENUSVN0dWIodGhyb3dFeGNlcHRpb25Gcm9t
Q2FsbFNsb3dQYXRoR2VuZXJhdG9yKS5jb2RlKCkuZXhlY3V0YWJsZUFkZHJlc3MoKTsKQEAgLTcx
OCw3ICs3MjAsNyBAQCBpbmxpbmUgY2hhciogbGlua0ZvcigKICAgICBFeGVjU3RhdGUqIGV4ZWMg
PSBleGVjQ2FsbGVlLT5jYWxsZXJGcmFtZSgpOwogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwog
ICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAg
SlNWYWx1ZSBjYWxsZWVBc1ZhbHVlID0gZXhlY0NhbGxlZS0+Y2FsbGVlQXNWYWx1ZSgpOwogICAg
IEpTQ2VsbCogY2FsbGVlQXNGdW5jdGlvbkNlbGwgPSBnZXRKU0Z1bmN0aW9uKGNhbGxlZUFzVmFs
dWUpOwogICAgIGlmICghY2FsbGVlQXNGdW5jdGlvbkNlbGwpIHsKQEAgLTc2MSw3ICs3NjMsNyBA
QCBpbmxpbmUgY2hhciogbGlua0ZvcigKICAgICAgICAgY2FsbExpbmtJbmZvLT5zZXRTZWVuKCk7
CiAgICAgZWxzZQogICAgICAgICBsaW5rRm9yKGV4ZWNDYWxsZWUsICpjYWxsTGlua0luZm8sIGNv
ZGVCbG9jaywgY2FsbGVlLCBjb2RlUHRyLCBraW5kLCByZWdpc3RlcnMpOwotICAgIAorCiAgICAg
cmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KGNvZGVQdHIuZXhlY3V0YWJsZUFkZHJlc3Mo
KSk7CiB9CiAKQEAgLTc5Nyw3ICs3OTksNyBAQCBpbmxpbmUgY2hhciogdmlydHVhbEZvcldpdGhG
dW5jdGlvbigKICAgICBjYWxsZWVBc0Z1bmN0aW9uQ2VsbCA9IGdldEpTRnVuY3Rpb24oY2FsbGVl
QXNWYWx1ZSk7CiAgICAgaWYgKFVOTElLRUxZKCFjYWxsZWVBc0Z1bmN0aW9uQ2VsbCkpCiAgICAg
ICAgIHJldHVybiByZWludGVycHJldF9jYXN0PGNoYXIqPihoYW5kbGVIb3N0Q2FsbChleGVjQ2Fs
bGVlLCBjYWxsZWVBc1ZhbHVlLCBraW5kKSk7Ci0gICAgCisKICAgICBKU0Z1bmN0aW9uKiBmdW5j
dGlvbiA9IGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY2FsbGVlQXNGdW5jdGlvbkNlbGwpOwogICAgIEpT
U2NvcGUqIHNjb3BlID0gZnVuY3Rpb24tPnNjb3BlVW5jaGVja2VkKCk7CiAgICAgRXhlY3V0YWJs
ZUJhc2UqIGV4ZWN1dGFibGUgPSBmdW5jdGlvbi0+ZXhlY3V0YWJsZSgpOwpAQCAtODMyLDEyICs4
MzQsMTIgQEAgY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25MaW5rUG9seW1vcnBoaWNDYWxs
KEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSwgQ2FsbExpbmsKICAgICBjaGFyKiByZXN1bHQgPSB2aXJ0
dWFsRm9yV2l0aEZ1bmN0aW9uKGV4ZWNDYWxsZWUsIENvZGVGb3JDYWxsLCBSZWdpc3RlclByZXNl
cnZhdGlvbk5vdFJlcXVpcmVkLCBjYWxsZWVBc0Z1bmN0aW9uQ2VsbCk7CiAKICAgICBsaW5rUG9s
eW1vcnBoaWNDYWxsKGV4ZWNDYWxsZWUsICpjYWxsTGlua0luZm8sIENhbGxWYXJpYW50KGNhbGxl
ZUFzRnVuY3Rpb25DZWxsKSwgUmVnaXN0ZXJQcmVzZXJ2YXRpb25Ob3RSZXF1aXJlZCk7Ci0gICAg
CisKICAgICByZXR1cm4gcmVzdWx0OwogfQogCiBjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
blZpcnR1YWxDYWxsKEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSwgQ2FsbExpbmtJbmZvKikKLXsgICAg
Cit7CiAgICAgcmV0dXJuIHZpcnR1YWxGb3IoZXhlY0NhbGxlZSwgQ29kZUZvckNhbGwsIFJlZ2lz
dGVyUHJlc2VydmF0aW9uTm90UmVxdWlyZWQpOwogfQogCkBAIC04NTIsMTIgKzg1NCwxMiBAQCBj
aGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkxpbmtQb2x5bW9ycGhpY0NhbGxUaGF0UHJlc2Vy
dmVzUmVncyhFeGVjU3RhdGUqIGV4ZQogICAgIGNoYXIqIHJlc3VsdCA9IHZpcnR1YWxGb3JXaXRo
RnVuY3Rpb24oZXhlY0NhbGxlZSwgQ29kZUZvckNhbGwsIE11c3RQcmVzZXJ2ZVJlZ2lzdGVycywg
Y2FsbGVlQXNGdW5jdGlvbkNlbGwpOwogCiAgICAgbGlua1BvbHltb3JwaGljQ2FsbChleGVjQ2Fs
bGVlLCAqY2FsbExpbmtJbmZvLCBDYWxsVmFyaWFudChjYWxsZWVBc0Z1bmN0aW9uQ2VsbCksIE11
c3RQcmVzZXJ2ZVJlZ2lzdGVycyk7Ci0gICAgCisKICAgICByZXR1cm4gcmVzdWx0OwogfQogCiBj
aGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblZpcnR1YWxDYWxsVGhhdFByZXNlcnZlc1JlZ3Mo
RXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBDYWxsTGlua0luZm8qKQoteyAgICAKK3sKICAgICByZXR1
cm4gdmlydHVhbEZvcihleGVjQ2FsbGVlLCBDb2RlRm9yQ2FsbCwgTXVzdFByZXNlcnZlUmVnaXN0
ZXJzKTsKIH0KIApAQCAtODcwLDcgKzg3Miw3IEBAIHNpemVfdCBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbkNvbXBhcmVMZXNzKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlCiB7
CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRy
YWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICByZXR1cm4ganNMZXNzPHRydWU+KGV4ZWMsIEpT
VmFsdWU6OmRlY29kZShlbmNvZGVkT3AxKSwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRPcDIpKTsK
IH0KIApAQCAtOTAyLDcgKzkwNCw3IEBAIHNpemVfdCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNv
bnZlcnRKU1ZhbHVlVG9Cb29sZWFuKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTCiB7CiAgICAg
Vk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2
bSwgZXhlYyk7Ci0gICAgCisKICAgICByZXR1cm4gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRPcCku
dG9Cb29sZWFuKGV4ZWMpOwogfQogCkBAIC05MzYsNyArOTM4LDcgQEAgc2l6ZV90IEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uSGFzUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogYmFz
ZSwgSlNTdHIKICAgICBpbnQgcmVzdWx0ID0gYmFzZS0+aGFzUHJvcGVydHkoZXhlYywgcHJvcGVy
dHktPnRvSWRlbnRpZmllcihleGVjKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KLSAgICAKKwog
CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5V2l0aFByb2Zp
bGUoRXhlY1N0YXRlKiBleGVjLCBBcnJheUFsbG9jYXRpb25Qcm9maWxlKiBwcm9maWxlLCBjb25z
dCBKU1ZhbHVlKiB2YWx1ZXMsIGludCBzaXplKQogewpAQCAtOTc2LDExICs5NzgsNDQgQEAgRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdGdW5jdGlvbldpdGhJbnZhbGlk
YXRlZFJlYWxsb2NhdGlvbldhdGMKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTRnVuY3Rp
b246OmNyZWF0ZVdpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQodm0sIHN0YXRp
Y19jYXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KGZ1bmN0aW9uRXhlY3V0YWJsZSksIHNjb3BlKSk7
CiB9CiAKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyb3dGdW5j
dGlvbldpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQoRXhlY1N0YXRlKiBleGVj
LCBKU1Njb3BlKiBzY29wZSwgSlNDZWxsKiBmdW5jdGlvbkV4ZWN1dGFibGUsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSkKK3sKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgICAgICBBU1NFUlQoZnVuY3Rpb25FeGVjdXRhYmxlLT5pbmhlcml0cyhGdW5jdGlvbkV4ZWN1
dGFibGU6OmluZm8oKSkpOworICAgICAgICBWTSYgdm0gPSBleGVjLT52bSgpOworICAgICAgICBO
YXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CisgICAgICAgIAorICAgICAg
ICBKU0Z1bmN0aW9uKiBmdW5jID0gIEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgc3RhdGljX2Nhc3Q8
RnVuY3Rpb25FeGVjdXRhYmxlKj4oZnVuY3Rpb25FeGVjdXRhYmxlKSwgc2NvcGUpOworICAgICAg
ICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZXhlYy0+Y2FsbGVlKCktPmdsb2JhbE9i
amVjdCgpOworICAgICAgICAKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU0Fycm93
RnVuY3Rpb246OmNyZWF0ZVdpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQodm0s
IGdsb2JhbE9iamVjdCwgZnVuYywgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKTsKKyNlbHNl
CisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisjZW5kaWYK
K30KKyAgICAKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyb3dG
dW5jdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTU2NvcGUqIHNjb3BlLCBKU0NlbGwqIGZ1bmN0aW9u
RXhlY3V0YWJsZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlKQoreworI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgQVNTRVJUKGZ1bmN0aW9uRXhlY3V0YWJsZS0+aW5o
ZXJpdHMoRnVuY3Rpb25FeGVjdXRhYmxlOjppbmZvKCkpKTsKKyAgICBWTSYgdm0gPSBleGVjLT52
bSgpOworICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKKworICAg
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBleGVjLT5jYWxsZWUoKS0+Z2xvYmFsT2Jq
ZWN0KCk7CisgICAgSlNGdW5jdGlvbiogZnVuYyA9ICBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIHN0
YXRpY19jYXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KGZ1bmN0aW9uRXhlY3V0YWJsZSksIHNjb3Bl
KTsKKworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUo
dm0sIGdsb2JhbE9iamVjdCwgZnVuYywgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpKTsKKwor
I2Vsc2UKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworI2VuZGlm
Cit9CisKIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdPYmplY3QoRXhlY1N0YXRl
KiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0o
KTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAKKwog
ICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBzdHJ1Y3R1cmUpOwogfQogCkBA
IC0xMDU0LDEzICsxMDg5LDEzIEBAIFNsb3dQYXRoUmV0dXJuVHlwZSBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgaW50MzJfdCBieXRlCiAgICAgLy8gdGhh
dCBjYXNlIHdlIHdvdWxkIGhhdmUgYWxyZWFkeSBwbGFudGVkIHRoZSBvcHRpbWl6ZWQgY29kZSBi
bG9jayBpbnRvIHRoZSBKUwogICAgIC8vIHN0YWNrLgogICAgIERlZmVyR0NGb3JBV2hpbGUgZGVm
ZXJHQyh2bS5oZWFwKTsKLSAgICAKKwogICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+
Y29kZUJsb2NrKCk7CiAgICAgaWYgKGNvZGVCbG9jay0+aml0VHlwZSgpICE9IEpJVENvZGU6OkJh
c2VsaW5lSklUKSB7CiAgICAgICAgIGRhdGFMb2coIlVuZXhwZWN0ZWQgY29kZSBibG9jayBpbiBC
YXNlbGluZS0+REZHIHRpZXItdXA6ICIsICpjb2RlQmxvY2ssICJcbiIpOwogICAgICAgICBSRUxF
QVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KLSAgICAKKwogICAgIGlmIChieXRlY29k
ZUluZGV4KSB7CiAgICAgICAgIC8vIElmIHdlJ3JlIGF0dGVtcHRpbmcgdG8gT1NSIGZyb20gYSBs
b29wLCBhc3N1bWUgdGhhdCB0aGlzIHNob3VsZCBiZQogICAgICAgICAvLyBzZXBhcmF0ZWx5IG9w
dGltaXplZC4KQEAgLTEwODYsNyArMTEyMSw3IEBAIFNsb3dQYXRoUmV0dXJuVHlwZSBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvbk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgaW50MzJfdCBieXRlCiAg
ICAgICAgICAgICBkYXRhTG9nKCJDaG9vc2luZyBub3QgdG8gb3B0aW1pemUgIiwgKmNvZGVCbG9j
aywgIiB5ZXQsIGJlY2F1c2UgdGhlIHRocmVzaG9sZCBoYXNuJ3QgYmVlbiByZWFjaGVkLlxuIik7
CiAgICAgICAgIHJldHVybiBlbmNvZGVSZXN1bHQoMCwgMCk7CiAgICAgfQotICAgIAorCiAgICAg
aWYgKHZtLmVuYWJsZWRQcm9maWxlcigpKSB7CiAgICAgICAgIHVwZGF0ZUFsbFByZWRpY3Rpb25z
QW5kT3B0aW1pemVBZnRlcldhcm1VcChjb2RlQmxvY2spOwogICAgICAgICByZXR1cm4gZW5jb2Rl
UmVzdWx0KDAsIDApOwpAQCAtMTEyMiw3ICsxMTU3LDcgQEAgU2xvd1BhdGhSZXR1cm5UeXBlIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uT3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBpbnQzMl90IGJ5
dGUKICAgICAgICAgLy8gY291bnQgdGhyZXNob2xkIGRlcGVuZGluZyBvbiB3aGF0IGhhcHBlbmVk
LCBzbyBpZiB0aGUgY29tcGlsYXRpb24gd2FzIGFueXRoaW5nCiAgICAgICAgIC8vIGJ1dCBzdWNj
ZXNzZnVsIHdlIGp1c3Qgd2FudCB0byByZXR1cm4gZWFybHkuIFNlZSB0aGUgY2FzZSBmb3Igd29y
a2xpc3RTdGF0ZSA9PQogICAgICAgICAvLyBERkc6OldvcmtsaXN0OjpDb21waWxlZCwgYmVsb3cu
Ci0gICAgICAgIAorCiAgICAgICAgIC8vIE5vdGUgdGhhdCB3ZSBjb3VsZCBoYXZlIGFsdGVybmF0
aXZlbHkganVzdCBjYWxsZWQgV29ya2xpc3Q6OmNvbXBpbGF0aW9uU3RhdGUoKQogICAgICAgICAv
LyBoZXJlLCBhbmQgaWYgaXQgcmV0dXJuZWQgQ29tcGlsZWQsIHdlIGNvdWxkIGhhdmUgdGhlbiBj
YWxsZWQKICAgICAgICAgLy8gY29tcGxldGVBbmRTY2hlZHVsZU9TUigpIGJlbG93LiBCdXQgdGhh
dCB3b3VsZCBoYXZlIG1lYW50IHRoYXQgaXQgY291bGQgdGFrZQpAQCAtMTE2NSw3ICsxMjAwLDcg
QEAgU2xvd1BhdGhSZXR1cm5UeXBlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uT3B0aW1pemUoRXhl
Y1N0YXRlKiBleGVjLCBpbnQzMl90IGJ5dGUKICAgICAgICAgLy8gY3RpX29wdGltaXplIGZyb20g
YSBsb29wLiBUaGF0J3MgYmVjYXVzZSBpZiB0aGVyZSdzIGFuIG9wdGltaXplZCByZXBsYWNlbWVu
dCwKICAgICAgICAgLy8gdGhlbiBhbGwgY2FsbHMgdG8gdGhpcyBmdW5jdGlvbiB3aWxsIGJlIHJl
bGlua2VkIHRvIHRoZSByZXBsYWNlbWVudCBhbmQgc28KICAgICAgICAgLy8gdGhlIHByb2xvZ3Vl
IE9TUiB3aWxsIG5ldmVyIGZpcmUuCi0gICAgICAgIAorCiAgICAgICAgIC8vIFRoaXMgaXMgYW4g
aW50ZXJlc3RpbmcgdGhyZXNob2xkIGNoZWNrLiBDb25zaWRlciB0aGF0IGEgZnVuY3Rpb24gT1NS
IGV4aXRzCiAgICAgICAgIC8vIGluIHRoZSBtaWRkbGUgb2YgYSBsb29wLCB3aGlsZSBoYXZpbmcg
YSByZWxhdGl2ZWx5IGxvdyBleGl0IGNvdW50LiBUaGUgZXhpdAogICAgICAgICAvLyB3aWxsIHJl
c2V0IHRoZSBleGVjdXRpb24gY291bnRlciB0byBzb21lIHRhcmdldCB0aHJlc2hvbGQsIG1lYW5p
bmcgdGhhdCB0aGlzCkBAIC0xMjExLDE2ICsxMjQ2LDE2IEBAIFNsb3dQYXRoUmV0dXJuVHlwZSBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvbk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgaW50MzJfdCBi
eXRlCiAgICAgICAgIENvbXBpbGF0aW9uUmVzdWx0IHJlc3VsdCA9IERGRzo6Y29tcGlsZSgKICAg
ICAgICAgICAgIHZtLCByZXBsYWNlbWVudENvZGVCbG9jay5nZXQoKSwgMCwgREZHOjpERkdNb2Rl
LCBieXRlY29kZUluZGV4LAogICAgICAgICAgICAgbXVzdEhhbmRsZVZhbHVlcywgSklUVG9ERkdE
ZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2s6OmNyZWF0ZSgpKTsKLSAgICAgICAgCisKICAgICAg
ICAgaWYgKHJlc3VsdCAhPSBDb21waWxhdGlvblN1Y2Nlc3NmdWwpIHsKICAgICAgICAgICAgIEFT
U0VSVChyZXN1bHQgPT0gQ29tcGlsYXRpb25EZWZlcnJlZCB8fCByZXBsYWNlbWVudENvZGVCbG9j
ay0+aGFzT25lUmVmKCkpOwogICAgICAgICAgICAgcmV0dXJuIGVuY29kZVJlc3VsdCgwLCAwKTsK
ICAgICAgICAgfQogICAgIH0KLSAgICAKKwogICAgIENvZGVCbG9jayogb3B0aW1pemVkQ29kZUJs
b2NrID0gY29kZUJsb2NrLT5yZXBsYWNlbWVudCgpOwogICAgIEFTU0VSVChKSVRDb2RlOjppc09w
dGltaXppbmdKSVQob3B0aW1pemVkQ29kZUJsb2NrLT5qaXRUeXBlKCkpKTsKLSAgICAKKwogICAg
IGlmICh2b2lkKiBkYXRhQnVmZmVyID0gREZHOjpwcmVwYXJlT1NSRW50cnkoZXhlYywgb3B0aW1p
emVkQ29kZUJsb2NrLCBieXRlY29kZUluZGV4KSkgewogICAgICAgICBpZiAoT3B0aW9uczo6dmVy
Ym9zZU9TUigpKSB7CiAgICAgICAgICAgICBkYXRhTG9nKApAQCAtMTI2Myw3ICsxMjk4LDcgQEAg
U2xvd1BhdGhSZXR1cm5UeXBlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uT3B0aW1pemUoRXhlY1N0
YXRlKiBleGVjLCBpbnQzMl90IGJ5dGUKICAgICAvLyBPU1IgZmFpbGVkIHRoaXMgdGltZSwgYnV0
IGl0IG1pZ2h0IHN1Y2NlZWQgbmV4dCB0aW1lISBMZXQgdGhlIGNvZGUgcnVuIGEgYml0CiAgICAg
Ly8gbG9uZ2VyIGFuZCB0aGVuIHRyeSBhZ2Fpbi4KICAgICBjb2RlQmxvY2stPm9wdGltaXplQWZ0
ZXJXYXJtVXAoKTsKLSAgICAKKwogICAgIHJldHVybiBlbmNvZGVSZXN1bHQoMCwgMCk7CiB9CiAj
ZW5kaWYKQEAgLTE0MzksNyArMTQ3NCw3IEBAIHN0YXRpYyBKU1ZhbHVlIGdldEJ5VmFsKEV4ZWNT
dGF0ZSogZXhlYywgSlNWYWx1ZSBiYXNlVmFsdWUsIEpTVmFsdWUgc3Vic2NyaXB0LCBSCiB9CiAK
IGV4dGVybiAiQyIgewotICAgIAorCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbkdldEJ5VmFsR2VuZXJpYyhFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRCYXNlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkU3Vic2NyaXB0KQogewogICAgIFZNJiB2bSA9
IGV4ZWMtPnZtKCk7CkBAIC0xNDU3LDcgKzE0OTIsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvbkdldEJ5VmFsRGVmYXVsdChFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRK
UwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKICAgICBKU1Zh
bHVlIGJhc2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSk7CiAgICAgSlNWYWx1
ZSBzdWJzY3JpcHQgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFN1YnNjcmlwdCk7Ci0gICAgCisK
ICAgICBpZiAoYmFzZVZhbHVlLmlzT2JqZWN0KCkgJiYgc3Vic2NyaXB0LmlzSW50MzIoKSkgewog
ICAgICAgICAvLyBTZWUgaWYgaXQncyB3b3J0aCBvcHRpbWl6aW5nIHRoaXMgYXQgYWxsLgogICAg
ICAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QoYmFzZVZhbHVlKTsKQEAgLTE0NjcsNyAr
MTUwMiw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlWYWxE
ZWZhdWx0KEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTCiAgICAgICAgIEFTU0VSVChieXRlY29k
ZU9mZnNldCk7CiAgICAgICAgIEJ5VmFsSW5mbyYgYnlWYWxJbmZvID0gZXhlYy0+Y29kZUJsb2Nr
KCktPmdldEJ5VmFsSW5mbyhieXRlY29kZU9mZnNldCAtIDEpOwogICAgICAgICBBU1NFUlQoIWJ5
VmFsSW5mby5zdHViUm91dGluZSk7Ci0gICAgICAgIAorCiAgICAgICAgIGlmIChoYXNPcHRpbWl6
YWJsZUluZGV4aW5nKG9iamVjdC0+c3RydWN0dXJlKHZtKSkpIHsKICAgICAgICAgICAgIC8vIEF0
dGVtcHQgdG8gb3B0aW1pemUuCiAgICAgICAgICAgICBKSVRBcnJheU1vZGUgYXJyYXlNb2RlID0g
aml0QXJyYXlNb2RlRm9yU3RydWN0dXJlKG9iamVjdC0+c3RydWN0dXJlKHZtKSk7CkBAIC0xNDc2
LDcgKzE1MTEsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5
VmFsRGVmYXVsdChFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKUwogICAgICAgICAgICAgICAgIGRp
ZE9wdGltaXplID0gdHJ1ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICAKKwog
ICAgICAgICBpZiAoIWRpZE9wdGltaXplKSB7CiAgICAgICAgICAgICAvLyBJZiB3ZSB0YWtlIHNs
b3cgcGF0aCBtb3JlIHRoYW4gMTAgdGltZXMgd2l0aG91dCBwYXRjaGluZyB0aGVuIG1ha2Ugc3Vy
ZSB3ZQogICAgICAgICAgICAgLy8gbmV2ZXIgbWFrZSB0aGF0IG1pc3Rha2UgYWdhaW4uIE9yLCBp
ZiB3ZSBmYWlsZWQgdG8gcGF0Y2ggYW5kIHdlIGhhdmUgc29tZSBvYmplY3QKQEAgLTE0OTAsMTgg
KzE1MjUsMTggQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeVZh
bERlZmF1bHQoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlMKICAgICAgICAgICAgIH0KICAgICAg
ICAgfQogICAgIH0KLSAgICAKKwogICAgIEpTVmFsdWUgcmVzdWx0ID0gZ2V0QnlWYWwoZXhlYywg
YmFzZVZhbHVlLCBzdWJzY3JpcHQsIFJldHVybkFkZHJlc3NQdHIoT1VSX1JFVFVSTl9BRERSRVNT
KSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwogfQotICAgIAorCiBFbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkhhc0luZGV4ZWRQcm9wZXJ0eURlZmF1
bHQoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFN1YnNjcmlwdCkKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAg
IE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKICAgICBKU1ZhbHVlIGJh
c2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSk7CiAgICAgSlNWYWx1ZSBzdWJz
Y3JpcHQgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFN1YnNjcmlwdCk7Ci0gICAgCisKICAgICBB
U1NFUlQoYmFzZVZhbHVlLmlzT2JqZWN0KCkpOwogICAgIEFTU0VSVChzdWJzY3JpcHQuaXNVSW50
MzIoKSk7CiAKQEAgLTE1MTIsNyArMTU0Nyw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uSGFzSW5kZXhlZFByb3BlcnR5RGVmYXVsdChFeGVjU3RhdGUqIGV4ZWMsCiAg
ICAgQVNTRVJUKGJ5dGVjb2RlT2Zmc2V0KTsKICAgICBCeVZhbEluZm8mIGJ5VmFsSW5mbyA9IGV4
ZWMtPmNvZGVCbG9jaygpLT5nZXRCeVZhbEluZm8oYnl0ZWNvZGVPZmZzZXQgLSAxKTsKICAgICBB
U1NFUlQoIWJ5VmFsSW5mby5zdHViUm91dGluZSk7Ci0gICAgCisKICAgICBpZiAoaGFzT3B0aW1p
emFibGVJbmRleGluZyhvYmplY3QtPnN0cnVjdHVyZSh2bSkpKSB7CiAgICAgICAgIC8vIEF0dGVt
cHQgdG8gb3B0aW1pemUuCiAgICAgICAgIEpJVEFycmF5TW9kZSBhcnJheU1vZGUgPSBqaXRBcnJh
eU1vZGVGb3JTdHJ1Y3R1cmUob2JqZWN0LT5zdHJ1Y3R1cmUodm0pKTsKQEAgLTE1MjEsNyArMTU1
Niw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFzSW5kZXhlZFBy
b3BlcnR5RGVmYXVsdChFeGVjU3RhdGUqIGV4ZWMsCiAgICAgICAgICAgICBkaWRPcHRpbWl6ZSA9
IHRydWU7CiAgICAgICAgIH0KICAgICB9Ci0gICAgCisKICAgICBpZiAoIWRpZE9wdGltaXplKSB7
CiAgICAgICAgIC8vIElmIHdlIHRha2Ugc2xvdyBwYXRoIG1vcmUgdGhhbiAxMCB0aW1lcyB3aXRo
b3V0IHBhdGNoaW5nIHRoZW4gbWFrZSBzdXJlIHdlCiAgICAgICAgIC8vIG5ldmVyIG1ha2UgdGhh
dCBtaXN0YWtlIGFnYWluLiBPciwgaWYgd2UgZmFpbGVkIHRvIHBhdGNoIGFuZCB3ZSBoYXZlIHNv
bWUgb2JqZWN0CkBAIC0xNTMxLDM0ICsxNTY2LDM0IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uSGFzSW5kZXhlZFByb3BlcnR5RGVmYXVsdChFeGVjU3RhdGUqIGV4ZWMs
CiAgICAgICAgIGlmICgrK2J5VmFsSW5mby5zbG93UGF0aENvdW50ID49IDEwCiAgICAgICAgICAg
ICB8fCBvYmplY3QtPnN0cnVjdHVyZSh2bSktPnR5cGVJbmZvKCkuaW50ZXJjZXB0c0dldE93blBy
b3BlcnR5U2xvdEJ5SW5kZXhFdmVuV2hlbkxlbmd0aElzTm90WmVybygpKSB7CiAgICAgICAgICAg
ICAvLyBEb24ndCBldmVyIHRyeSB0byBvcHRpbWl6ZS4KLSAgICAgICAgICAgIGN0aVBhdGNoQ2Fs
bEJ5UmV0dXJuQWRkcmVzcyhleGVjLT5jb2RlQmxvY2soKSwgUmV0dXJuQWRkcmVzc1B0cihPVVJf
UkVUVVJOX0FERFJFU1MpLCBGdW5jdGlvblB0cihvcGVyYXRpb25IYXNJbmRleGVkUHJvcGVydHlH
ZW5lcmljKSk7IAorICAgICAgICAgICAgY3RpUGF0Y2hDYWxsQnlSZXR1cm5BZGRyZXNzKGV4ZWMt
PmNvZGVCbG9jaygpLCBSZXR1cm5BZGRyZXNzUHRyKE9VUl9SRVRVUk5fQUREUkVTUyksIEZ1bmN0
aW9uUHRyKG9wZXJhdGlvbkhhc0luZGV4ZWRQcm9wZXJ0eUdlbmVyaWMpKTsKICAgICAgICAgfQog
ICAgIH0KLSAgICAKKwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKG9iamVj
dC0+aGFzUHJvcGVydHkoZXhlYywgc3Vic2NyaXB0LmFzVUludDMyKCkpKSk7CiB9Ci0gICAgCisK
IEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFzSW5kZXhlZFByb3BlcnR5
R2VuZXJpYyhFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBFbmNv
ZGVkSlNWYWx1ZSBlbmNvZGVkU3Vic2NyaXB0KQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7
CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOwogICAgIEpTVmFs
dWUgYmFzZVZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKTsKICAgICBKU1ZhbHVl
IHN1YnNjcmlwdCA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkU3Vic2NyaXB0KTsKLSAgICAKKwog
ICAgIEFTU0VSVChiYXNlVmFsdWUuaXNPYmplY3QoKSk7CiAgICAgQVNTRVJUKHN1YnNjcmlwdC5p
c1VJbnQzMigpKTsKIAogICAgIEpTT2JqZWN0KiBvYmplY3QgPSBhc09iamVjdChiYXNlVmFsdWUp
OwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKG9iamVjdC0+aGFzUHJvcGVy
dHkoZXhlYywgc3Vic2NyaXB0LmFzVUludDMyKCkpKSk7CiB9Ci0gICAgCisKIEVuY29kZWRKU1Zh
bHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlWYWxTdHJpbmcoRXhlY1N0YXRlKiBleGVj
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFN1YnNj
cmlwdCkKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRy
YWNlciB0cmFjZXIoJnZtLCBleGVjKTsKICAgICBKU1ZhbHVlIGJhc2VWYWx1ZSA9IEpTVmFsdWU6
OmRlY29kZShlbmNvZGVkQmFzZSk7CiAgICAgSlNWYWx1ZSBzdWJzY3JpcHQgPSBKU1ZhbHVlOjpk
ZWNvZGUoZW5jb2RlZFN1YnNjcmlwdCk7Ci0gICAgCisKICAgICBKU1ZhbHVlIHJlc3VsdDsKICAg
ICBpZiAoTElLRUxZKHN1YnNjcmlwdC5pc1VJbnQzMigpKSkgewogICAgICAgICB1aW50MzJfdCBp
ID0gc3Vic2NyaXB0LmFzVUludDMyKCk7CkBAIC0xNjAxLDcgKzE2MzYsNyBAQCBFbmNvZGVkSlNW
YWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkluc3RhbmNlT2YoRXhlY1N0YXRlKiBleGVjLCBF
bmNvZGVkSlNWYWx1ZQogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVj
KTsKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CiAg
ICAgSlNWYWx1ZSBwcm90byA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkUHJvdG8pOwotICAgIAor
CiAgICAgQVNTRVJUKCF2YWx1ZS5pc09iamVjdCgpIHx8ICFwcm90by5pc09iamVjdCgpKTsKIAog
ICAgIGJvb2wgcmVzdWx0ID0gSlNPYmplY3Q6OmRlZmF1bHRIYXNJbnN0YW5jZShleGVjLCB2YWx1
ZSwgcHJvdG8pOwpAQCAtMTc1Nyw3ICsxNzkyLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvblB1dFRvU2NvcGUoRXhlY1N0YXRlKiBleGVjLCBJbnN0cnVjdGlvbiogYnl0ZWNvZGVQQykK
IAogICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KHNjb3BlLCBjb2RlQmxvY2stPmlzU3RyaWN0TW9k
ZSgpKTsKICAgICBzY29wZS0+bWV0aG9kVGFibGUoKS0+cHV0KHNjb3BlLCBleGVjLCBpZGVudCwg
dmFsdWUsIHNsb3QpOwotICAgIAorCiAgICAgaWYgKGV4ZWMtPnZtKCkuZXhjZXB0aW9uKCkpCiAg
ICAgICAgIHJldHVybjsKIApAQCAtMTc5MSw3ICsxODI2LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbk9TUldyaXRlQmFycmllcihFeGVjU3RhdGUqIGV4ZWMsIEpTQ2VsbCogY2VsbCkK
IH0KIAogLy8gTkI6IFdlIGRvbid0IGluY2x1ZGUgdGhlIHZhbHVlIGFzIHBhcnQgb2YgdGhlIGJh
cnJpZXIgYmVjYXVzZSB0aGUgd3JpdGUgYmFycmllciBlbGlzaW9uCi0vLyBwaGFzZSBpbiB0aGUg
REZHIG9ubHkgdHJhY2tzIHdoZXRoZXIgdGhlIG9iamVjdCBiZWluZyBzdG9yZWQgdG8gaGFzIGJl
ZW4gYmFycmllcmVkLiBJdCAKKy8vIHBoYXNlIGluIHRoZSBERkcgb25seSB0cmFja3Mgd2hldGhl
ciB0aGUgb2JqZWN0IGJlaW5nIHN0b3JlZCB0byBoYXMgYmVlbiBiYXJyaWVyZWQuIEl0CiAvLyB3
b3VsZCBiZSBtdWNoIG1vcmUgY29tcGxpY2F0ZWQgdG8gdHJ5IHRvIG1vZGVsIHRoZSB2YWx1ZSBi
ZWluZyBzdG9yZWQgYXMgd2VsbC4KIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25VbmNvbmRp
dGlvbmFsV3JpdGVCYXJyaWVyKEV4ZWNTdGF0ZSogZXhlYywgSlNDZWxsKiBjZWxsKQogewpAQCAt
MTgxNSw3ICsxODUwLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIGxvb2t1cEV4Y2VwdGlvbkhhbmRs
ZXIoVk0qIHZtLCBFeGVjU3RhdGUqIGV4ZWMpCiAKICAgICBKU1ZhbHVlIGV4Y2VwdGlvblZhbHVl
ID0gdm0tPmV4Y2VwdGlvbigpOwogICAgIEFTU0VSVChleGNlcHRpb25WYWx1ZSk7Ci0gICAgCisK
ICAgICBnZW5lcmljVW53aW5kKHZtLCBleGVjLCBleGNlcHRpb25WYWx1ZSk7CiAgICAgQVNTRVJU
KHZtLT50YXJnZXRNYWNoaW5lUENGb3JUaHJvdyk7CiB9CkBAIC0xODMwLDcgKzE4NjUsNyBAQCB2
b2lkIEpJVF9PUEVSQVRJT04gbG9va3VwRXhjZXB0aW9uSGFuZGxlckZyb21DYWxsZXJGcmFtZShW
TSogdm0sIEV4ZWNTdGF0ZSogZXhlYwogCiAgICAgSlNWYWx1ZSBleGNlcHRpb25WYWx1ZSA9IHZt
LT5leGNlcHRpb24oKTsKICAgICBBU1NFUlQoZXhjZXB0aW9uVmFsdWUpOwotICAgIAorCiAgICAg
Z2VuZXJpY1Vud2luZCh2bSwgY2FsbGVyRnJhbWUsIGV4Y2VwdGlvblZhbHVlKTsKICAgICBBU1NF
UlQodm0tPnRhcmdldE1hY2hpbmVQQ0ZvclRocm93KTsKIH0KQEAgLTE4NzcsNyArMTkxMiw3IEBA
IEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFzSW5kZXhlZFByb3BlcnR5
KEV4ZWNTdGF0ZSogZXhlYywgSlNDZWxsCiAgICAgSlNPYmplY3QqIG9iamVjdCA9IGJhc2VDZWxs
LT50b09iamVjdChleGVjLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpOwogICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKG9iamVjdC0+aGFzUHJvcGVydHkoZXhlYywgc3Vi
c2NyaXB0KSkpOwogfQotICAgIAorCiBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0
UHJvcGVydHlFbnVtZXJhdG9yKEV4ZWNTdGF0ZSogZXhlYywgSlNDZWxsKiBjZWxsKQogewogICAg
IFZNJiB2bSA9IGV4ZWMtPnZtKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wZXJhdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0
aW9ucy5oCmluZGV4IGM2NWY4NzRkMWYyZTc3MmQ4ZjUzNWY0YmQxYzRjZTBkMjgwNDRhZTcuLmRm
M2I5ZmQzZjNkNjdhZmFlOTdkNWZmMzNkNDY3YTk1MGE1OWM4NDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCkBAIC0yMCw3ICsyMCw3IEBACiAgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCiAgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKICAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgogICovCiAKICNpZm5kZWYgSklUT3BlcmF0aW9uc19oCkBAIC0xMTUsNiArMTE1LDcgQEAg
dHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVBQ
KShFeGVjU3RhdGUqLCB2b2lkKiwgdm8KIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJB
VElPTiAoKkpfSklUT3BlcmF0aW9uX0VQUykoRXhlY1N0YXRlKiwgdm9pZCosIHNpemVfdCk7CiB0
eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FUGMp
KEV4ZWNTdGF0ZSosIEluc3RydWN0aW9uKik7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9P
UEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FSnNjQykoRXhlY1N0YXRlKiwgSlNTY29wZSosIEpT
Q2VsbCopOwordHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVy
YXRpb25fRUpzY0NKKShFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFs
dWUpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRp
b25fRVNTKShFeGVjU3RhdGUqLCBzaXplX3QsIHNpemVfdCk7CiB0eXBlZGVmIEVuY29kZWRKU1Zh
bHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FU3NpQ0kpKEV4ZWNTdGF0ZSosIFN0
cnVjdHVyZVN0dWJJbmZvKiwgSlNDZWxsKiwgU3RyaW5nSW1wbCopOwogdHlwZWRlZiBFbmNvZGVk
SlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNzaUpJKShFeGVjU3RhdGUq
LCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlLCBTdHJpbmdJbXBsKik7CkBAIC0y
NzksNiArMjgwLDggQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdB
cnJheUJ1ZmZlcldpdGhQcm9maWxlKEV4ZWNTdGF0ZSosIEFycmEKIEVuY29kZWRKU1ZhbHVlIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXlXaXRoU2l6ZUFuZFByb2ZpbGUoRXhlY1N0YXRl
KiwgQXJyYXlBbGxvY2F0aW9uUHJvZmlsZSosIEVuY29kZWRKU1ZhbHVlIHNpemUpIFdURl9JTlRF
Uk5BTDsKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3RnVuY3Rpb24o
RXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCopIFdURl9JTlRFUk5BTDsKIEVuY29kZWRKU1Zh
bHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3RnVuY3Rpb25XaXRoSW52YWxpZGF0ZWRSZWFs
bG9jYXRpb25XYXRjaHBvaW50KEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKSBXVEZfSU5U
RVJOQUw7CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Fycm93RnVu
Y3Rpb24oRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlKSBXVEZf
SU5URVJOQUw7CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Fycm93
RnVuY3Rpb25XaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRjaHBvaW50KEV4ZWNTdGF0ZSos
IEpTU2NvcGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVSTkFMOwogSlNDZWxs
KiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUq
KSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5l
d1JlZ2V4cChFeGVjU3RhdGUqLCB2b2lkKikgV1RGX0lOVEVSTkFMOwogdm9pZCBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkhhbmRsZVdhdGNoZG9nVGltZXIoRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFM
OwpAQCAtNDA3LDQgKzQxMCwzIEBAIGlubGluZSBQX0pJVE9wZXJhdGlvbl9FQ2xpIG9wZXJhdGlv
bkxpbmtQb2x5bW9ycGhpY0NhbGxGb3IoUmVnaXN0ZXJQcmVzZXJ2YXRpb25NCiAjZW5kaWYgLy8g
RU5BQkxFKEpJVCkKIAogI2VuZGlmIC8vIEpJVE9wZXJhdGlvbnNfaAotCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAppbmRleCAyMGJlYmYzMmY2MTU0
ZmE5ZjNmNDY5NjJmM2E2MTQwYTJlODQ2ZGMwLi43YTg1MDVmMjhmZWMyY2FlMmM2NTM4NWNjMDk0
YmNkZmNjMjRhZmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJ
bnRTbG93UGF0aHMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNs
b3dQYXRocy5jcHAKQEAgLTM4LDYgKzM4LDggQEAKICNpbmNsdWRlICJJbnRlcnByZXRlci5oIgog
I2luY2x1ZGUgIkpJVC5oIgogI2luY2x1ZGUgIkpJVEV4Y2VwdGlvbnMuaCIKKyNpbmNsdWRlICJK
U0Fycm93RnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRl
ICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNs
dWRlICJKU0NKU1ZhbHVlLmgiCkBAIC0xNzEsNiArMTczLDE1IEBAIG5hbWVzcGFjZSBKU0MgeyBu
YW1lc3BhY2UgTExJbnQgewogICAgICAgICBMTElOVF9SRVRVUk5fVFdPKHBjLCBfX3JjZl9leGVj
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIH0gd2hpbGUgKGZhbHNlKQog
CisgICAgCisjZGVmaW5lIExMSU5UX0NBTENfUFJPUEVSVFlfRk9SX0ZVTkNfRVhQUigpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBMTElOVF9CRUdJTigpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+Y29kZUJsb2NrKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgSlNTY29wZSogc2NvcGUgPSBleGVjLT51
bmNoZWNrZWRSKHBjWzJdLnUub3BlcmFuZCkuUmVnaXN0ZXI6OnNjb3BlKCk7ICAgICAgIFwKKyAg
ICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUgPSBjb2RlQmxvY2stPmZ1bmN0aW9uRXhw
cihwY1szXS51Lm9wZXJhbmQpOyAgXAorICAgIAorZW51bSBGdW5jdGlvbkV4cHJlc3Npb25UeXBl
IHsgQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25UeXBlLCBDb21tb25GdW5jdGlvbkV4cHJlc3Npb25U
eXBlfTsKKyAgICAKIGV4dGVybiAiQyIgU2xvd1BhdGhSZXR1cm5UeXBlIGxsaW50X3RyYWNlX29w
ZXJhbmQoRXhlY1N0YXRlKiBleGVjLCBJbnN0cnVjdGlvbiogcGMsIGludCBmcm9tV2hlcmUsIGlu
dCBvcGVyYW5kKQogewogICAgIExMSU5UX0JFR0lOKCk7CkBAIC0xMDAzLDE2ICsxMDE0LDMzIEBA
IExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuYykKICNlbmRpZgogICAgIExM
SU5UX1JFVFVSTihKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGNvZGVCbG9jay0+ZnVuY3Rpb25EZWNs
KHBjWzNdLnUub3BlcmFuZCksIHNjb3BlKSk7CiB9Ci0KKyAgICAKIExMSU5UX1NMT1dfUEFUSF9E
RUNMKHNsb3dfcGF0aF9uZXdfZnVuY19leHApCiB7Ci0gICAgTExJTlRfQkVHSU4oKTsKLSAgICBD
b2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVCbG9jaygpOwotICAgIEpTU2NvcGUqIHNj
b3BlID0gZXhlYy0+dW5jaGVja2VkUihwY1syXS51Lm9wZXJhbmQpLlJlZ2lzdGVyOjpzY29wZSgp
OwotICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZnVuY3Rpb24gPSBjb2RlQmxvY2stPmZ1bmN0aW9u
RXhwcihwY1szXS51Lm9wZXJhbmQpOwotICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Z1bmN0aW9u
OjpjcmVhdGUodm0sIGZ1bmN0aW9uLCBzY29wZSk7CisgICAgTExJTlRfQ0FMQ19QUk9QRVJUWV9G
T1JfRlVOQ19FWFBSKCk7CisKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNGdW5jdGlvbjo6Y3Jl
YXRlKHZtLCBleGVjdXRhYmxlLCBzY29wZSk7CisgICAgTExJTlRfUkVUVVJOKGZ1bmMpOworfQor
CisKK0xMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApCit7
CisgICAgTExJTlRfQ0FMQ19QUk9QRVJUWV9GT1JfRlVOQ19FWFBSKCk7CisKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gTExJTlRf
T1BfQyg0KS5qc1ZhbHVlKCk7CisgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGV4
ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKICAgICAKKyAgICBKU0Z1bmN0aW9uKiBmdW5j
ID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBleGVjdXRhYmxlLCBzY29wZSk7CisgICAgCisgICAg
Y29uc3QgU3RyaW5nIGZ1bmNXaXRob3V0TmFtZSA9ICIiOworICAgIAorICAgIExMSU5UX1JFVFVS
TihKU0Fycm93RnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBmdW5jLCB0aGlzVmFs
dWUpKTsKKyNlbHNlCisgICAgSlNGdW5jdGlvbiogZnVuYyA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2
bSwgZXhlY3V0YWJsZSwgc2NvcGUpOwogICAgIExMSU5UX1JFVFVSTihmdW5jKTsKKyNlbmRpZgog
fQogCiBzdGF0aWMgU2xvd1BhdGhSZXR1cm5UeXBlIGhhbmRsZUhvc3RDYWxsKEV4ZWNTdGF0ZSog
ZXhlY0NhbGxlZSwgSW5zdHJ1Y3Rpb24qIHBjLCBKU1ZhbHVlIGNhbGxlZSwgQ29kZVNwZWNpYWxp
emF0aW9uS2luZCBraW5kKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xMSW50U2xvd1BhdGhzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93
UGF0aHMuaAppbmRleCA0YmY3ZGViMGZhMGI2YzY0MzhlMzZmOTYzMjBlMmY2Njk3MzlhZjY0Li5j
N2ZhYjk2OTFjMThiOTM5NTZkMGVhMjlmMzM5NTYxMThjNWU3MWVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaApAQCAtOTYsNiArOTYsNyBAQCBMTElO
VF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3N3aXRjaF9jaGFyKTsKIExMSU5UX1NM
T1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfc3dpdGNoX3N0cmluZyk7CiBMTElOVF9TTE9X
X1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX25ld19mdW5jKTsKIExMSU5UX1NMT1dfUEFUSF9I
SURERU5fREVDTChzbG93X3BhdGhfbmV3X2Z1bmNfZXhwKTsKK0xMSU5UX1NMT1dfUEFUSF9ISURE
RU5fREVDTChzbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKTsKIExMSU5UX1NMT1dfUEFUSF9I
SURERU5fREVDTChzbG93X3BhdGhfY2FsbCk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0wo
c2xvd19wYXRoX2NvbnN0cnVjdCk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19w
YXRoX3NpemVfZnJhbWVfZm9yX3ZhcmFyZ3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCmluZGV4IDU0M2Q5ZTkzMzNjNTEzZTk3
NjE3YjdiZGE3ZjY5OTg2NjgzOGExZTAuLjE4MmJiZDllNGVmNzg5MjhkYTUyZmJjZWM4ODJhNWRm
MzZkYjc5NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc20KQEAgLTExNjksNiArMTE2OSwxMCBAQCBfbGxpbnRfb3BfbmV3X2Z1
bmNfZXhwOgogICAgIGNhbGxTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX25ld19mdW5jX2V4cCkK
ICAgICBkaXNwYXRjaCg0KQogCitfbGxpbnRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorICAgIHRy
YWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9uZXdfYXJy
b3dfZnVuY19leHApCisgICAgZGlzcGF0Y2goNSkKIAogX2xsaW50X29wX2NhbGw6CiAgICAgdHJh
Y2VFeGVjdXRpb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9B
U1RCdWlsZGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaApp
bmRleCBhYTczNzA1MmNiM2M4MTUzNTdjOGE2ZmUzNjhhZDIxNTliYTMyYzBmLi45ZDAzMTkxNDRi
ZDRkN2JlMTY2ZmQ3OTQwNTI1OGI5MmQyNGE0NjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL0FTVEJ1aWxkZXIuaApAQCAtMzU3LDYgKzM1NywxOSBAQCBwdWJsaWM6CiAgICAgICAg
ICAgICBpblN0cmljdENvbnRleHQsIGNvbnN0cnVjdG9yS2luZCk7CiAgICAgfQogCisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBFeHByZXNzaW9uTm9kZSogY3JlYXRl
QXJyb3dGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29uc3Qg
UGFyc2VyRnVuY3Rpb25JbmZvPEFTVEJ1aWxkZXI+JiBpbmZvKQorICAgIHsKKyAgICAgICAgU291
cmNlQ29kZSBzb3VyY2UgPSBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJv
ZHlFeHByZXNzaW9uCisgICAgICAgID8gbV9zb3VyY2VDb2RlLT5zdWJBcnJvd0V4cHJlc3Npb24o
aW5mby5hcnJvd0Z1bmN0aW9uT2Zmc2V0LCBpbmZvLmNsb3NlQnJhY2VPZmZzZXQsIGluZm8uYm9k
eVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1bW4pCisgICAgICAgIDogbV9zb3VyY2VDb2Rl
LT5zdWJFeHByZXNzaW9uKGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBpbmZvLmNsb3NlQnJhY2VPZmZz
ZXQsIGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1bW4pOworCisgICAgICAg
IEFycm93RnVuY0V4cHJOb2RlKiByZXN1bHQgPSBuZXcgKG1fcGFyc2VyQXJlbmEpIEFycm93RnVu
Y0V4cHJOb2RlKGxvY2F0aW9uLCAqaW5mby5uYW1lLCBpbmZvLmJvZHksIHNvdXJjZSwgaW5mby5w
YXJhbWV0ZXJzKTsKKyAgICAgICAgaW5mby5ib2R5LT5zZXRMb2MoaW5mby5ib2R5U3RhcnRMaW5l
LCBpbmZvLmJvZHlFbmRMaW5lLCBsb2NhdGlvbi5zdGFydE9mZnNldCwgbG9jYXRpb24ubGluZVN0
YXJ0T2Zmc2V0KTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisjZW5kaWYKKwogICAg
IE5FVkVSX0lOTElORSBQcm9wZXJ0eU5vZGUqIGNyZWF0ZUdldHRlck9yU2V0dGVyUHJvcGVydHko
Y29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgUHJvcGVydHlOb2RlOjpUeXBlIHR5cGUs
IGJvb2wsCiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUsIGNvbnN0IFBhcnNlckZ1bmN0
aW9uSW5mbzxBU1RCdWlsZGVyPiYgaW5mbywgU3VwZXJCaW5kaW5nIHN1cGVyQmluZGluZykKICAg
ICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCmluZGV4IDk2ZWI3YWFiMjM5
YTM4NmQwN2Y2MGRiYTc0ZTZmYWQxZmE2Y2QzN2EuLmFkNzA1NmRkZTM4OGVmODZmYjdmNjI3NmZk
YTczZWFlODlkNDM0OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
TGV4ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCkBA
IC0xNzA4LDYgKzE3MDgsMTggQEAgYm9vbCBMZXhlcjxUPjo6bmV4dFRva2VuSXNDb2xvbigpCiAg
ICAgcmV0dXJuIGNvZGUgPCBtX2NvZGVFbmQgJiYgKmNvZGUgPT0gJzonOwogfQogCisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgordm9p
ZCBMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlvbihKU1Rva2VuKiB0b2tlblJlY29yZCkKK3sKKyAg
ICBKU1Rva2VuRGF0YSogdG9rZW5EYXRhID0gJnRva2VuUmVjb3JkLT5tX2RhdGE7CisgICAgdG9r
ZW5EYXRhLT5saW5lID0gbGluZU51bWJlcigpOworICAgIHRva2VuRGF0YS0+b2Zmc2V0ID0gY3Vy
cmVudE9mZnNldCgpOworICAgIHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExp
bmVTdGFydE9mZnNldCgpOworICAgIEFTU0VSVCh0b2tlbkRhdGEtPm9mZnNldCA+PSB0b2tlbkRh
dGEtPmxpbmVTdGFydE9mZnNldCk7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+
CiBKU1Rva2VuVHlwZSBMZXhlcjxUPjo6bGV4KEpTVG9rZW4qIHRva2VuUmVjb3JkLCB1bnNpZ25l
ZCBsZXhlckZsYWdzLCBib29sIHN0cmljdE1vZGUpCiB7CkBAIC0xNzcxLDcgKzE3ODMsMTIgQEAg
c3RhcnQ6CiAgICAgICAgIH0KICAgICAgICAgdG9rZW4gPSBHVDsKICAgICAgICAgYnJlYWs7Ci0g
ICAgY2FzZSBDaGFyYWN0ZXJFcXVhbDoKKyAgICBjYXNlIENoYXJhY3RlckVxdWFsOiB7CisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdWludDMyX3Qgc2F2ZWRs
aW5lTnVtYmVyID0gdG9rZW5EYXRhLT5saW5lOworICAgICAgICB1aW50MzJfdCBzYXZlZE9mZnNl
dCA9IGN1cnJlbnRPZmZzZXQoKTsKKyAgICAgICAgdWludDMyX3Qgc2F2ZWRMaW5lU3RhcnRPZmZz
ZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0KCk7CisjZW5kaWYKICAgICAgICAgc2hpZnQoKTsK
ICAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnPScpIHsKICAgICAgICAgICAgIHNoaWZ0KCk7CkBA
IC0xNzgzLDggKzE4MDAsMjIgQEAgc3RhcnQ6CiAgICAgICAgICAgICB0b2tlbiA9IEVRRVE7CiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJz4nKSB7CisgICAgICAgICAgICBz
aGlmdCgpOworICAgICAgICAgICAgdG9rZW4gPSBBUlJPV0ZVTkNUSU9OOworCisgICAgICAgICAg
ICB0b2tlbkRhdGEtPmxpbmUgPSBzYXZlZGxpbmVOdW1iZXI7CisgICAgICAgICAgICB0b2tlbkRh
dGEtPm9mZnNldCA9IHNhdmVkT2Zmc2V0OworICAgICAgICAgICAgdG9rZW5EYXRhLT5saW5lU3Rh
cnRPZmZzZXQgPSBzYXZlZExpbmVTdGFydE9mZnNldDsKKworICAgICAgICAgICAgQVNTRVJUKHRv
a2VuRGF0YS0+b2Zmc2V0ID49IHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0KTsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgdG9rZW4gPSBFUVVBTDsKICAg
ICAgICAgYnJlYWs7CisgICAgfQogICAgIGNhc2UgQ2hhcmFjdGVyTGVzczoKICAgICAgICAgc2hp
ZnQoKTsKICAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnIScgJiYgcGVlaygxKSA9PSAnLScgJiYg
cGVlaygyKSA9PSAnLScpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvTGV4ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAppbmRleCA4
YWZlZjI2MTEyMTA4YWVkN2U4NmVkMGU4NDc5Yjc5YzFkMDIyN2FiLi5iZGEzYmQ0OWVhN2E1OWMz
NWM0ZTEyODVjZjk0ODMyMjU1Yzg3ZmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL0xleGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhl
ci5oCkBAIC04Nyw2ICs4Nyw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldElzUmVwYXJzaW5nKCkg
eyBtX2lzUmVwYXJzaW5nID0gdHJ1ZTsgfQogICAgIGJvb2wgaXNSZXBhcnNpbmcoKSBjb25zdCB7
IHJldHVybiBtX2lzUmVwYXJzaW5nOyB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgIHZvaWQgc2V0VG9rZW5Qb3NpdGlvbihKU1Rva2VuKiB0b2tlblJlY29yZCk7
CisjZW5kaWYKICAgICBKU1Rva2VuVHlwZSBsZXgoSlNUb2tlbiosIHVuc2lnbmVkLCBib29sIHN0
cmljdE1vZGUpOwogICAgIGJvb2wgbmV4dFRva2VuSXNDb2xvbigpOwogICAgIGludCBsaW5lTnVt
YmVyKCkgY29uc3QgeyByZXR1cm4gbV9saW5lTnVtYmVyOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCmluZGV4IDg5YjkyOGVjZjhiNDQwMDA2
MjM2NjEyODJhOTcwYTU2MjFhNTFhOTIuLjFiNDBlZTNlMjFkOGUzNzAxNjFjYzlmOWM0YWVlY2M3
MDcyNjNmYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNv
bnN0cnVjdG9ycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0
cnVjdG9ycy5oCkBAIC04MzUsNiArODM1LDEzIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBt
X2JvZHktPmZpbmlzaFBhcnNpbmcoc291cmNlLCBwYXJhbWV0ZXIsIGlkZW50LCBGdW5jdGlvbkV4
cHJlc3Npb24pOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgaW5saW5lIEFycm93RnVuY0V4cHJOb2RlOjpBcnJvd0Z1bmNFeHByTm9kZShjb25zdCBK
U1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgRnVuY3Rp
b25Cb2R5Tm9kZSogYm9keSwgY29uc3QgU291cmNlQ29kZSYgc291cmNlLCBQYXJhbWV0ZXJOb2Rl
KiBwYXJhbWV0ZXIpCisgICAgICAgIDogRnVuY0V4cHJOb2RlKGxvY2F0aW9uLCBpZGVudCwgYm9k
eSwgc291cmNlLCBwYXJhbWV0ZXIpCisgICAgeworICAgIH0KKyNlbmRpZgorICAgIAogICAgIGlu
bGluZSBGdW5jRGVjbE5vZGU6OkZ1bmNEZWNsTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxv
Y2F0aW9uLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgRnVuY3Rpb25Cb2R5Tm9kZSogYm9keSwg
Y29uc3QgU291cmNlQ29kZSYgc291cmNlLCBQYXJhbWV0ZXJOb2RlKiBwYXJhbWV0ZXIpCiAgICAg
ICAgIDogU3RhdGVtZW50Tm9kZShsb2NhdGlvbikKICAgICAgICAgLCBtX2JvZHkoYm9keSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAppbmRleCA3ODQ4MTg0ZTU1NGNmNDBlYWYzOTA2
N2U2NzhhNWVkOGFjNTQ5OWU4Li45NTQwYjFiNDUxNDUxNDM2MmUwNzlhODQ3YzAxNWRlMGJjN2I1
ZjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCkBAIC0xNTgsNiArMTU4LDkg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0RvdEFjY2Vzc29yTm9k
ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0RlY29u
c3RydWN0aW9uTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwg
Ym9vbCBpc0Z1bmNFeHByTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdmlydHVhbCBib29sIGlzQXJyb3dG
dW5jRXhwck5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorI2VuZGlmCiAgICAgICAgIHZp
cnR1YWwgYm9vbCBpc0NvbW1hTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAg
IHZpcnR1YWwgYm9vbCBpc1NpbXBsZUFycmF5KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAg
ICAgICAgdmlydHVhbCBib29sIGlzQWRkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KQEAgLTE3
MjYsNiArMTcyOSwxOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgRnVuY3Rpb25Cb2R5Tm9k
ZSogbV9ib2R5OwogICAgIH07CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgIGNsYXNzIEFycm93RnVuY0V4cHJOb2RlIDogcHVibGljIEZ1bmNFeHByTm9kZSB7Cisg
ICAgcHVibGljOgorICAgICAgICBBcnJvd0Z1bmNFeHByTm9kZShjb25zdCBKU1Rva2VuTG9jYXRp
b24mLCBjb25zdCBJZGVudGlmaWVyJiwgRnVuY3Rpb25Cb2R5Tm9kZSosIGNvbnN0IFNvdXJjZUNv
ZGUmLCBQYXJhbWV0ZXJOb2RlKiA9IDApOworICAgIHByaXZhdGU6CisgICAgICAgIHZpcnR1YWwg
UmVnaXN0ZXJJRCogZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiwgUmVnaXN0ZXJJRCog
PSAwKSBvdmVycmlkZTsKKyAgICAgICAgCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Z1bmNFeHBy
Tm9kZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgICAgIAorICAgICAg
ICB2aXJ0dWFsIGJvb2wgaXNBcnJvd0Z1bmNFeHByTm9kZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0
dXJuIHRydWU7IH0KKyAgICB9OworI2VuZGlmCisKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRB
WCkKICAgICBjbGFzcyBDbGFzc0V4cHJOb2RlIGZpbmFsIDogcHVibGljIEV4cHJlc3Npb25Ob2Rl
IHsKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1BhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKaW5k
ZXggMTQ4YzliMjRhY2JhZjUxODRlNWJkMWMwNDU0MDVkYWM1OTgzYjc4MS4uNmE5ZjA0NzkyYWVl
YzFiMDI0NmU1YTEyNDAxNjc4ZjY1ODg0MmM1YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvUGFyc2VyLmNwcApAQCAtMjY0LDcgKzI2NCw3IEBAIFN0cmluZyBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VJbm5lcigpCiAgICAgaWYgKG1fbGV4ZXItPmlzUmVwYXJzaW5nKCkpCiAgICAgICAg
IG1fc3RhdGVtZW50RGVwdGgtLTsKICAgICBTY29wZVJlZiBzY29wZSA9IGN1cnJlbnRTY29wZSgp
OwotICAgIFNvdXJjZUVsZW1lbnRzKiBzb3VyY2VFbGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVu
dHMoY29udGV4dCwgQ2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICBTb3VyY2VFbGVtZW50cyogc291
cmNlRWxlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIENoZWNrRm9yU3RyaWN0
TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CiAgICAgaWYgKCFzb3VyY2VFbGVtZW50
cyB8fCAhY29uc3VtZShFT0ZUT0spKSB7CiAgICAgICAgIGlmIChoYXNFcnJvcigpKQogICAgICAg
ICAgICAgcGFyc2VFcnJvciA9IG1fZXJyb3JNZXNzYWdlOwpAQCAtMzQzLDcgKzM0Myw3IEBAIGJv
b2wgUGFyc2VyPExleGVyVHlwZT46OmFsbG93QXV0b21hdGljU2VtaWNvbG9uKCkKIH0KIAogdGVt
cGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KLXRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsZW1lbnRz
KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBTb3VyY2VFbGVtZW50c01vZGUgbW9kZSkKK3RlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBTb3VyY2VFbGVtZW50
c01vZGUgbW9kZSwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25QYXJzZVR5cGUpCiB7CiAgICAg
Y29uc3QgdW5zaWduZWQgbGVuZ3RoT2ZVc2VTdHJpY3RMaXRlcmFsID0gMTI7IC8vICJ1c2Ugc3Ry
aWN0Ii5sZW5ndGgKICAgICBUcmVlU291cmNlRWxlbWVudHMgc291cmNlRWxlbWVudHMgPSBjb250
ZXh0LmNyZWF0ZVNvdXJjZUVsZW1lbnRzKCk7CkBAIC0zNTIsNyArMzUyLDcgQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlU291cmNlRWwKICAgICB1bnNpZ25lZCBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMDsK
ICAgICBhdXRvIHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwogICAgIGJvb2wgaGFzU2V0
U3RyaWN0ID0gZmFsc2U7Ci0gICAgd2hpbGUgKFRyZWVTdGF0ZW1lbnQgc3RhdGVtZW50ID0gcGFy
c2VTdGF0ZW1lbnQoY29udGV4dCwgZGlyZWN0aXZlLCAmZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCkp
IHsKKyAgICB3aGlsZSAoVHJlZVN0YXRlbWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVudChj
b250ZXh0LCBkaXJlY3RpdmUsICZkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoLCBmdW5jdGlvblBhcnNl
VHlwZSkpIHsKICAgICAgICAgaWYgKG1vZGUgPT0gQ2hlY2tGb3JTdHJpY3RNb2RlICYmICFzZWVu
Tm9uRGlyZWN0aXZlKSB7CiAgICAgICAgICAgICBpZiAoZGlyZWN0aXZlKSB7CiAgICAgICAgICAg
ICAgICAgLy8gInVzZSBzdHJpY3QiIG11c3QgYmUgdGhlIGV4YWN0IGxpdGVyYWwgd2l0aG91dCBl
c2NhcGUgc2VxdWVuY2VzIG9yIGxpbmUgY29udGludWF0aW9uLgpAQCAtNTg0LDYgKzU4NCwzMSBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4g
UGFyc2VyPExleGVyVHlwZT46OmNyZWF0ZQogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUJpbmRp
bmdMb2NhdGlvbih0b2tlbi5tX2xvY2F0aW9uLCBuYW1lLCB0b2tlbi5tX3N0YXJ0UG9zaXRpb24s
IHRva2VuLm1fZW5kUG9zaXRpb24pOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dG
dW5jdGlvblN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBBU1NFUlQobWF0
Y2goQVJST1dGVU5DVElPTikpOworCisgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2Vu
TG9jYXRpb24oKSk7CisgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRp
b24oKTsKKyAgICBKU1RleHRQb3NpdGlvbiBlbmQgPSB0b2tlbkVuZFBvc2l0aW9uKCk7CisKKyAg
ICBuZXh0KCk7CisgICAgVHJlZUV4cHJlc3Npb24gZXhwciA9IHBhcnNlQXJyb3dGdW5jdGlvbkV4
cHJlc3Npb24oY29udGV4dCk7CisgICAgZmFpbElmRmFsc2UoZXhwciwgIkNhbm5vdCBwYXJzZSB0
aGUgYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgIGVuZCA9IGxhc3RUb2tlbkVuZFBv
c2l0aW9uKCk7CisKKyAgICBib29sIGNvcnJlY3RBcnJvd0ZpbmlzaCA9IGlzRW5kT2ZBcnJvd0Z1
bmN0aW9uKCkgfHwgbWF0Y2goRU9GVE9LKTsKKyAgICBmYWlsSWZGYWxzZShjb3JyZWN0QXJyb3dG
aW5pc2gsICJFeHBlY3RlZCBhICc7JywgJ10nLCAnfScsICcpJywgb3IgJywnIGZvbGxvd2luZyBh
IGFycm93IGZ1bmN0aW9uIHN0YXRlbWVudCIpOworCisgICAgZW5kID0gdG9rZW5FbmRQb3NpdGlv
bigpOworICAgIHNldEVuZE9mU3RhdGVtZW50KCk7CisKKyAgICByZXR1cm4gY29udGV4dC5jcmVh
dGVSZXR1cm5TdGF0ZW1lbnQobG9jYXRpb24sIGV4cHIsIHN0YXJ0LCBlbmQpOworfQorI2VuZGlm
CisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gUGFyc2VyPExleGVyVHlwZT46OnRyeVBh
cnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkK
IHsKQEAgLTEwMzEsNyArMTA1Niw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZUNsYXVzZUxpc3QgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3dpdGNoQ2xhdXNlCiAgICAgVHJl
ZUV4cHJlc3Npb24gY29uZGl0aW9uID0gcGFyc2VFeHByZXNzaW9uKGNvbnRleHQpOwogICAgIGZh
aWxJZkZhbHNlKGNvbmRpdGlvbiwgIkNhbm5vdCBwYXJzZSBzd2l0Y2ggY2xhdXNlIik7CiAgICAg
Y29uc3VtZU9yRmFpbChDT0xPTiwgIkV4cGVjdGVkIGEgJzonIGFmdGVyIHN3aXRjaCBjbGF1c2Ug
ZXhwcmVzc2lvbiIpOwotICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VT
b3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICBUcmVl
U291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwg
RG9udENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CiAgICAg
ZmFpbElmRmFsc2Uoc3RhdGVtZW50cywgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiBhIHN3aXRj
aCBjbGF1c2UiKTsKICAgICBUcmVlQ2xhdXNlIGNsYXVzZSA9IGNvbnRleHQuY3JlYXRlQ2xhdXNl
KGNvbmRpdGlvbiwgc3RhdGVtZW50cyk7CiAgICAgY29udGV4dC5zZXRTdGFydE9mZnNldChjbGF1
c2UsIHN0YXJ0T2Zmc2V0KTsKQEAgLTEwNDQsNyArMTA2OSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZUNsYXVzZUxpc3QgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3dpdGNo
Q2xhdXNlCiAgICAgICAgIFRyZWVFeHByZXNzaW9uIGNvbmRpdGlvbiA9IHBhcnNlRXhwcmVzc2lv
bihjb250ZXh0KTsKICAgICAgICAgZmFpbElmRmFsc2UoY29uZGl0aW9uLCAiQ2Fubm90IHBhcnNl
IHN3aXRjaCBjYXNlIGV4cHJlc3Npb24iKTsKICAgICAgICAgY29uc3VtZU9yRmFpbChDT0xPTiwg
IkV4cGVjdGVkIGEgJzonIGFmdGVyIHN3aXRjaCBjbGF1c2UgZXhwcmVzc2lvbiIpOwotICAgICAg
ICBUcmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29u
dGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSk7CisgICAgICAgIFRyZWVTb3VyY2VFbGVtZW50
cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JT
dHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICAgICAgZmFpbElmRmFs
c2Uoc3RhdGVtZW50cywgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiBhIHN3aXRjaCBjbGF1c2Ui
KTsKICAgICAgICAgY2xhdXNlID0gY29udGV4dC5jcmVhdGVDbGF1c2UoY29uZGl0aW9uLCBzdGF0
ZW1lbnRzKTsKICAgICAgICAgY29udGV4dC5zZXRTdGFydE9mZnNldChjbGF1c2UsIHN0YXJ0T2Zm
c2V0KTsKQEAgLTEwNjEsNyArMTA4Niw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZUNsYXVzZSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTd2l0Y2hEZWZhdWx0Q2xhCiAgICAg
dW5zaWduZWQgc3RhcnRPZmZzZXQgPSB0b2tlblN0YXJ0KCk7CiAgICAgbmV4dCgpOwogICAgIGNv
bnN1bWVPckZhaWwoQ09MT04sICJFeHBlY3RlZCBhICc6JyBhZnRlciBzd2l0Y2ggZGVmYXVsdCBj
bGF1c2UiKTsKLSAgICBUcmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291cmNl
RWxlbWVudHMoY29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSk7CisgICAgVHJlZVNvdXJj
ZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRD
aGVja0ZvclN0cmljdE1vZGUsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwogICAgIGZhaWxJ
ZkZhbHNlKHN0YXRlbWVudHMsICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgYSBzd2l0Y2ggZGVm
YXVsdCBjbGF1c2UiKTsKICAgICBUcmVlQ2xhdXNlIHJlc3VsdCA9IGNvbnRleHQuY3JlYXRlQ2xh
dXNlKDAsIHN0YXRlbWVudHMpOwogICAgIGNvbnRleHQuc2V0U3RhcnRPZmZzZXQocmVzdWx0LCBz
dGFydE9mZnNldCk7CkBAIC0xMTQ2LDcgKzExNzEsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQmxvY2tTdGF0ZW1l
bgogICAgICAgICBjb250ZXh0LnNldEVuZE9mZnNldChyZXN1bHQsIGVuZE9mZnNldCk7CiAgICAg
ICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdWJ0cmVl
ID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlKTsK
KyAgICBUcmVlU291cmNlRWxlbWVudHMgc3VidHJlZSA9IHBhcnNlU291cmNlRWxlbWVudHMoY29u
dGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7
CiAgICAgZmFpbElmRmFsc2Uoc3VidHJlZSwgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiB0aGUg
YmxvY2sgc3RhdGVtZW50Iik7CiAgICAgbWF0Y2hPckZhaWwoQ0xPU0VCUkFDRSwgIkV4cGVjdGVk
IGEgY2xvc2luZyAnfScgYXQgdGhlIGVuZCBvZiBhIGJsb2NrIHN0YXRlbWVudCIpOwogICAgIGlu
dCBlbmRPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CkBAIC0xMTU4LDcgKzExODMsNyBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlQmxvY2tTdGF0ZW1lbgogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJU
eXBlPgotdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRl
bnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgpCit0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVy
KiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCwgRnVuY3Rpb25Q
YXJzZVR5cGUgcGFyc2VUeXBlKQogewogICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgm
bV9zdGF0ZW1lbnREZXB0aCk7CiAgICAgbV9zdGF0ZW1lbnREZXB0aCsrOwpAQCAtMTE2Nyw2ICsx
MTkyLDIzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgZmFpbElmU3RhY2tPdmVyZmxv
dygpOwogICAgIFRyZWVTdGF0ZW1lbnQgcmVzdWx0ID0gMDsKICAgICBib29sIHNob3VsZFNldEVu
ZE9mZnNldCA9IHRydWU7CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICBz
d2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7CisgICAgICAgIGNhc2UgQ0xPU0VQQVJFTjoKKyAgICAg
ICAgY2FzZSBDTE9TRUJSQUNLRVQ6CisgICAgICAgIGNhc2UgQ09NTUE6CisgICAgICAgIGNhc2Ug
U0VNSUNPTE9OOiB7CisgICAgICAgICAgICByZXN1bHQgPSAwOworICAgICAgICAgICAgY29udGV4
dC5zZXRFbmRPZmZzZXQocmVzdWx0LCBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLm9mZnNldCk7Cisg
ICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICB9CisgICAgICAgIGRlZmF1bHQ6Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKyNlbmRpZgogICAgIHN3aXRjaCAo
bV90b2tlbi5tX3R5cGUpIHsKICAgICBjYXNlIE9QRU5CUkFDRToKICAgICAgICAgcmVzdWx0ID0g
cGFyc2VCbG9ja1N0YXRlbWVudChjb250ZXh0KTsKQEAgLTEyMTIsNiArMTI1NCwxNSBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlU3RhdGVtZW50KFRyZQogICAgIGNhc2UgQlJFQUs6CiAgICAgICAgIHJlc3VsdCA9IHBh
cnNlQnJlYWtTdGF0ZW1lbnQoY29udGV4dCk7CiAgICAgICAgIGJyZWFrOworI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2FzZSBBUlJPV0ZVTkNUSU9OOgorICAgICAg
ICByZXN1bHQgPSBwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoY29udGV4dCk7CisgICAgICAg
IC8vIENvbnN1bWUgdGhlIGVuZCBvZiBhcnJvdyBmdW5jdGlvbiAsO10pIGFuZCBwcmV2ZW50Cisg
ICAgICAgIC8vIHBhcnNlIHRoaXMgc3ltYm9scyBieSBwYXJzZVN0YXRlbWVudCBhcyBzZXBhcmF0
ZSBzdGF0ZW1lbnQKKyAgICAgICAgaWYgKHBhcnNlVHlwZSA9PSBTdGFuZGFyZEZ1bmN0aW9uUGFy
c2VUeXBlKQorICAgICAgICAgICAgbmV4dCgpOworICAgICAgICBicmVhazsKKyNlbmRpZgogICAg
IGNhc2UgUkVUVVJOOgogICAgICAgICByZXN1bHQgPSBwYXJzZVJldHVyblN0YXRlbWVudChjb250
ZXh0KTsKICAgICAgICAgYnJlYWs7CkBAIC0xMjc2LDIwICsxMzI3LDM0IEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZUZvcm1hbFBhcmFtZXRlckxpc3QgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlRm9yCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlRnVuY3Rpb25Cb2R5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUZ1bmN0aW9uQm9keSgKICAgICBUcmVlQnVpbGRlciYgY29udGV4dCwgaW50IGZ1bmN0aW9uS2V5
d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIAotICAgIGludCBwYXJhbWV0ZXJzU3Rh
cnQsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQpCisgICAgaW50IHBhcmFtZXRlcnNT
dGFydCwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCwgRnVuY3Rpb25QYXJzZVR5cGUg
cGFyc2VUeXBlKQogewogICAgIEpTVG9rZW5Mb2NhdGlvbiBzdGFydExvY2F0aW9uKHRva2VuTG9j
YXRpb24oKSk7CiAgICAgdW5zaWduZWQgc3RhcnRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOworI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaWYgKHBhcnNlVHlwZSA9PSBT
dGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgaWYg
KG1hdGNoKENMT1NFQlJBQ0UpKSB7CisgICAgICAgICAgICB1bnNpZ25lZCBlbmRDb2x1bW4gPSB0
b2tlbkNvbHVtbigpOworICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25C
b2R5KHN0YXJ0TG9jYXRpb24sIHRva2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1bW4sIGVuZENvbHVt
biwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3Rh
cnQsIHN0cmljdE1vZGUoKSwgY29uc3RydWN0b3JLaW5kKTsKKyAgICAgICAgfQorICAgIH0KKyNl
bHNlCiAgICAgbmV4dCgpOwotCiAgICAgaWYgKG1hdGNoKENMT1NFQlJBQ0UpKSB7CiAgICAgICAg
IHVuc2lnbmVkIGVuZENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CiAgICAgICAgIHJldHVybiBjb250
ZXh0LmNyZWF0ZUZ1bmN0aW9uQm9keShzdGFydExvY2F0aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0
YXJ0Q29sdW1uLCBlbmRDb2x1bW4sIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVT
dGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBzdHJpY3RNb2RlKCksIGNvbnN0cnVjdG9yS2luZCk7CiAg
ICAgfQorI2VuZGlmCisKICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVt
ZW50RGVwdGgpOwogICAgIG1fc3RhdGVtZW50RGVwdGggPSAwOwogICAgIHR5cGVuYW1lIFRyZWVC
dWlsZGVyOjpGdW5jdGlvbkJvZHlCdWlsZGVyIGJvZHlCdWlsZGVyKGNvbnN0X2Nhc3Q8Vk0qPiht
X3ZtKSwgbV9sZXhlci5nZXQoKSk7Ci0gICAgZmFpbElmRmFsc2UocGFyc2VTb3VyY2VFbGVtZW50
cyhib2R5QnVpbGRlciwgQ2hlY2tGb3JTdHJpY3RNb2RlKSwgIkNhbm5vdCBwYXJzZSBib2R5IG9m
IHRoaXMgZnVuY3Rpb24iKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIGZhaWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMoYm9keUJ1aWxkZXIsIENoZWNrRm9y
U3RyaWN0TW9kZSwgcGFyc2VUeXBlKSwgcGFyc2VUeXBlID09IFN0YW5kYXJkRnVuY3Rpb25QYXJz
ZVR5cGUgPyAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBmdW5jdGlvbiIgOiAiQ2Fubm90IHBh
cnNlIGJvZHkgb2YgdGhpcyBhcnJvdyBmdW5jdGlvbiIpOworI2Vsc2UKKyAgICBmYWlsSWZGYWxz
ZShwYXJzZVNvdXJjZUVsZW1lbnRzKGJvZHlCdWlsZGVyLCBDaGVja0ZvclN0cmljdE1vZGUsIFN0
YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpLCAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBmdW5j
dGlvbiIpOworI2VuZGlmCiAgICAgdW5zaWduZWQgZW5kQ29sdW1uID0gdG9rZW5Db2x1bW4oKTsK
ICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgdG9r
ZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBmdW5jdGlvbktleXdvcmRTdGFy
dCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgc3RyaWN0TW9kZSgpLCBjb25z
dHJ1Y3RvcktpbmQpOwogfQpAQCAtMTM1MCwyOCArMTQxNSw3NiBAQCB0ZW1wbGF0ZSA8dHlwZW5h
bWUgTGV4ZXJUeXBlPiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGludCBQYXJzZXI8TGV4
ZXJUeXBlPgogICAgIAogICAgIHJldHVybiBwYXJhbWV0ZXJzU3RhcnQ7CiB9CisKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlw
ZT4gdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBpbnQgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlQXJyb3dGdW5jdGlvblBhcmFtdGVycyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25Q
YXJzZU1vZGUgbW9kZSwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYgaW5mbykKK3sK
KyAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0
OworICAgIGlmICghbWF0Y2goSURFTlQpICYmICFtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAg
IHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSks
ICIgbmFtZSIpOworICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVkIGFuIGFycm93IGZ1
bmN0aW9uIGlucHV0IHBhcmFtZXRlciIpOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChtYXRj
aChPUEVOUEFSRU4pKSB7CisgICAgICAgICAgICBjb25zdW1lKE9QRU5QQVJFTik7CisgICAgICAg
ICAgICAKKyAgICAgICAgICAgIGlmICghbWF0Y2goQ0xPU0VQQVJFTikpIHsKKyAgICAgICAgICAg
ICAgICBpbmZvLnBhcmFtZXRlcnMgPSBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoY29udGV4dCk7Cisg
ICAgICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNl
IHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgY29uc3VtZU9yRmFpbChDTE9T
RVBBUkVOLCAiRXhwZWN0ZWQgYSAnKScgb3IgYSAnLCcgYWZ0ZXIgYSBwYXJhbWV0ZXIgZGVjbGFy
YXRpb24iKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGF1dG8gcGFyYW1ldGVyID0g
cGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oY29udGV4dCwgRGVjb25zdHJ1Y3RUb1BhcmFtZXRl
cnMpOworICAgICAgICAgICAgZmFpbElmRmFsc2UocGFyYW1ldGVyLCAiQ2Fubm90IHBhcnNlIHBh
cmFtZXRlciBwYXR0ZXJuIik7CisgICAgICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBjb250ZXh0
LmNyZWF0ZUZvcm1hbFBhcmFtZXRlckxpc3QocGFyYW1ldGVyKTsKKyAgICAgICAgICAgIGZhaWxJ
ZkZhbHNlKGluZm8ucGFyYW1ldGVycywgIkNhbm5vdCBwYXJzZSBwYXJhbWV0ZXJzIGZvciB0aGlz
ICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7CisgICAgICAgIH0KKyAgICB9CiAgICAg
CisgICAgcmV0dXJuIHBhcmFtZXRlcnNTdGFydDsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVu
Y3Rpb25SZXF1aXJlbWVudHMgcmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLAot
ICAgIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCBvd25lckNs
YXNzS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJl
ZUJ1aWxkZXI+JiBpbmZvKQorICAgIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENvbnN0
cnVjdG9yS2luZCBvd25lckNsYXNzS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJz
ZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvLCBGdW5jdGlvblBhcnNlVHlwZSBwYXJz
ZVR5cGUpCiB7CiAgICAgQXV0b1BvcFNjb3BlUmVmIGZ1bmN0aW9uU2NvcGUodGhpcywgcHVzaFNj
b3BlKCkpOwogICAgIGZ1bmN0aW9uU2NvcGUtPnNldElzRnVuY3Rpb24oKTsKICAgICBpbnQgZnVu
Y3Rpb25OYW1lU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CiAgICAgY29u
c3QgSWRlbnRpZmllciogbGFzdEZ1bmN0aW9uTmFtZSA9IG1fbGFzdEZ1bmN0aW9uTmFtZTsKICAg
ICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBudWxscHRyOworICAgIGludCBwYXJhbWV0ZXJzU3RhcnQ7
CisgICAgYm9vbCBpc0NsYXNzQ29uc3RydWN0b3I7CiAgICAgCi0gICAgaW50IHBhcmFtZXRlcnNT
dGFydCA9IHBhcnNlRnVuY3Rpb25QYXJhbXRlcnMoY29udGV4dCwgcmVxdWlyZW1lbnRzLCBtb2Rl
LCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgZnVuY3Rpb25TY29wZSwgaW5mbyk7Ci0KLSAgICBt
YXRjaE9yRmFpbChPUEVOQlJBQ0UsICJFeHBlY3RlZCBhbiBvcGVuaW5nICd7JyBhdCB0aGUgc3Rh
cnQgb2YgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOwotCi0gICAg
Ly8gQnl0ZWNvZGVHZW5lcmF0b3IgZW1pdHMgY29kZSB0byB0aHJvdyBUeXBlRXJyb3Igd2hlbiBh
IGNsYXNzIGNvbnN0cnVjdG9yIGlzICJjYWxsImVkLgotICAgIC8vIFNldCBDb25zdHJ1Y3Rvcktp
bmQgdG8gTm9uZSBmb3Igbm9uLWNvbnN0cnVjdG9yIG1ldGhvZHMgb2YgY2xhc3Nlcy4KLSAgICBi
b29sIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IG1vZGUgPT0gTWV0aG9kTW9kZSAmJiBpbmZvLm5hbWUg
JiYgKmluZm8ubmFtZSA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvcjsKLSAgICBp
ZiAobV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kICE9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSkgewot
ICAgICAgICBvd25lckNsYXNzS2luZCA9IG1fZGVmYXVsdENvbnN0cnVjdG9yS2luZDsKLSAgICAg
ICAgaXNDbGFzc0NvbnN0cnVjdG9yID0gdHJ1ZTsKKyAgICBzd2l0Y2ggKHBhcnNlVHlwZSkgewor
ICAgIGNhc2UgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZTogeworICAgICAgICBwYXJhbWV0ZXJz
U3RhcnQgPSBwYXJzZUZ1bmN0aW9uUGFyYW10ZXJzKGNvbnRleHQsIHJlcXVpcmVtZW50cywgbW9k
ZSwgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIGZ1bmN0aW9uU2NvcGUsIGluZm8pOworICAgICAg
ICAgICAgCisgICAgICAgIG1hdGNoT3JGYWlsKE9QRU5CUkFDRSwgIkV4cGVjdGVkIGFuIG9wZW5p
bmcgJ3snIGF0IHRoZSBzdGFydCBvZiBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwg
IiBib2R5Iik7CisgICAgICAgIAorICAgICAgICAvLyBCeXRlY29kZUdlbmVyYXRvciBlbWl0cyBj
b2RlIHRvIHRocm93IFR5cGVFcnJvciB3aGVuIGEgY2xhc3MgY29uc3RydWN0b3IgaXMgImNhbGwi
ZWQuCisgICAgICAgIC8vIFNldCBDb25zdHJ1Y3RvcktpbmQgdG8gTm9uZSBmb3Igbm9uLWNvbnN0
cnVjdG9yIG1ldGhvZHMgb2YgY2xhc3Nlcy4KKyAgICAgICAgaXNDbGFzc0NvbnN0cnVjdG9yID0g
bW9kZSA9PSBNZXRob2RNb2RlICYmIGluZm8ubmFtZSAmJiAqaW5mby5uYW1lID09IG1fdm0tPnBy
b3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yOworICAgICAgICBpZiAobV9kZWZhdWx0Q29uc3RydWN0
b3JLaW5kICE9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSkgeworICAgICAgICAgICAgb3duZXJDbGFz
c0tpbmQgPSBtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQ7CisgICAgICAgICAgICBpc0NsYXNzQ29u
c3RydWN0b3IgPSB0cnVlOworICAgICAgICB9CisgICAgICAgIGJyZWFrOwogICAgIH0KKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2UgQXJyb3dGdW5jdGlvblBh
cnNlVHlwZTogeworICAgICAgICBwYXJhbWV0ZXJzU3RhcnQgPSBwYXJzZUFycm93RnVuY3Rpb25Q
YXJhbXRlcnMoY29udGV4dCwgbW9kZSwgaW5mbyk7CisgICAgICAgIAorICAgICAgICBtYXRjaE9y
RmFpbChBUlJPV0ZVTkNUSU9OLCAiRXhwZWN0ZWQgYSAnPT4nIGFmdGVyIGFycm93IGZ1bmN0aW9u
IHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSBm
YWxzZTsKKyAgICAgICAgCisgICAgICAgIGluZm8uYXJyb3dGdW5jdGlvbk9mZnNldCA9IG1fdG9r
ZW4ubV9kYXRhLm9mZnNldDsKKyAgICAgICAgYnJlYWs7CisgICAgfQorI2VuZGlmCisgICAgfQor
CiAgICAgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCA9IGlzQ2xhc3NDb25zdHJ1Y3Rv
ciA/IG93bmVyQ2xhc3NLaW5kIDogQ29uc3RydWN0b3JLaW5kOjpOb25lOwogCiAgICAgaW5mby5v
cGVuQnJhY2VPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CkBAIC0xNDA1LDggKzE1MTgs
MTUgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgZmFpbElmRmFsc2UocG9wU2Nv
cGUoZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQ
YXJzZXIgZXJyb3IiKTsKICAgICAgICAgCiAgICAgICAgIGluZm8uY2xvc2VCcmFjZU9mZnNldCA9
IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VPZmZzZXQ7Ci0KLSAgICAgICAgbV90b2tlbiA9IGNhY2hl
ZEluZm8tPmNsb3NlQnJhY2VUb2tlbigpOworICAgICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25Q
YXJzZVR5cGUpCisgICAgICAgICAgICBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPSBjYWNoZWRJbmZv
LT5pc0JvZHlBcnJvd0V4cHJlc3Npb24gPyAgQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uIDog
QXJyb3dGdW5jdGlvbkJvZHlCbG9jazsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgaW5mby5m
dW5jdGlvbkJvZHlUeXBlID0gU3RhbmRhcmRGdW5jdGlvbkJvZHlCbG9jazsKKyNlbmRpZgorICAg
ICAgICBtX3Rva2VuID0gY2FjaGVkSW5mby0+ZW5kRnVuY3Rpb25Ub2tlbigpOworICAgICAgICAK
ICAgICAgICAgaWYgKGVuZENvbHVtbklzT25TdGFydExpbmUpCiAgICAgICAgICAgICBtX3Rva2Vu
Lm1fbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVTdGFydE9mZnNldDsKIApA
QCAtMTQxNSwxMyArMTUzNSw0MyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wg
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogCiAgICAgICAg
IGNvbnRleHQuc2V0RW5kT2Zmc2V0KGluZm8uYm9keSwgbV9sZXhlci0+Y3VycmVudE9mZnNldCgp
KTsKICAgICAgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAg
ICAgaWYgKHBhcnNlVHlwZSAhPSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlIHx8IGluZm8uZnVuY3Rp
b25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrKQorICAgICAgICAgICAgbmV4dCgp
OworI2Vsc2UKICAgICAgICAgbmV4dCgpOworI2VuZGlmCiAgICAgICAgIGluZm8uYm9keUVuZExp
bmUgPSBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmU7CiAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgIH0KKyAgICAKICAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBsYXN0RnVuY3Rpb25OYW1lOwog
ICAgIFBhcnNlclN0YXRlIG9sZFN0YXRlID0gc2F2ZVN0YXRlKCk7Ci0gICAgaW5mby5ib2R5ID0g
cGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9u
TmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCk7CisgICAgCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBlID09IEFy
cm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVQb2ludCA9IGNy
ZWF0ZVNhdmVQb2ludCgpOworICAgICAgICBuZXh0KCk7CisgICAgICAgIC8vIENoZWNrIGlmIGFy
cm93IGJvZHkgc3RhcnQgd2l0aCB7LiBJZiBpdCB0cnVlIGl0IG1lYW4gdGhhdCBhcnJvdyBmdW5j
dGlvbiBpcyBGYXQgYXJyb3cgZnVuY3Rpb24KKyAgICAgICAgLy8gYW5kIHdlIG5lZWQgdXNlIGNv
bW1vbiBhcHByb2FjaCB0byBwYXJzZSBmdW5jdGlvbiBib2R5CisgICAgICAgIGluZm8uZnVuY3Rp
b25Cb2R5VHlwZSA9IG1hdGNoKE9QRU5CUkFDRSkgPyBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrIDog
QXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOworICAgIAorICAgICAgICBpZiAoaW5mby5mdW5j
dGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHsKKyAgICAgICAgICAgIGlu
Zm8ub3BlbkJyYWNlT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgICAgICAgICAg
aW5mby5ib2R5U3RhcnRMaW5lID0gdG9rZW5MaW5lKCk7CisgICAgICAgICAgICBpbmZvLmJvZHlT
dGFydENvbHVtbiA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldCAtIG1fdG9rZW4ubV9kYXRhLmxpbmVT
dGFydE9mZnNldDsKKyAgICAgICAgCisgICAgICAgICAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0
aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQs
IHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VU
eXBlKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2
ZVBvaW50KTsKKyAgICAgICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRl
eHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0
YXJ0LCBjb25zdHJ1Y3RvcktpbmQsIEFycm93RnVuY3Rpb25QYXJzZVR5cGUpOworICAgICAgICB9
CisgICAgfSBlbHNlCisgICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRl
eHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0
YXJ0LCBjb25zdHJ1Y3RvcktpbmQsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOworI2Vsc2UK
KyAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdv
cmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JL
aW5kLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNlbmRpZgorICAgIAogICAgIHJlc3Rv
cmVTdGF0ZShvbGRTdGF0ZSk7CiAgICAgZmFpbElmRmFsc2UoaW5mby5ib2R5LCAiQ2Fubm90IHBh
cnNlIHRoZSBib2R5IG9mIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKICAg
ICBjb250ZXh0LnNldEVuZE9mZnNldChpbmZvLmJvZHksIG1fbGV4ZXItPmN1cnJlbnRPZmZzZXQo
KSk7CkBAIC0xNDUyLDE4ICsxNjAyLDMyIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
Ym9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAg
ICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmUgPSBjbG9zZUJyYWNlTGluZTsKICAgICAgICAg
cGFyYW1ldGVycy5jbG9zZUJyYWNlT2Zmc2V0ID0gaW5mby5jbG9zZUJyYWNlT2Zmc2V0OwogICAg
ICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNlTGlu
ZVN0YXJ0T2Zmc2V0OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAg
ICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICAg
ICAgcGFyYW1ldGVycy5pc0JvZHlBcnJvd0V4cHJlc3Npb24gPSBpbmZvLmZ1bmN0aW9uQm9keVR5
cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOworICAgICAgICAgICAgcGFyYW1ldGVy
cy50b2tlblR5cGUgPSBtX3Rva2VuLm1fdHlwZTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAg
IGZ1bmN0aW9uU2NvcGUtPmZpbGxQYXJhbWV0ZXJzRm9yU291cmNlUHJvdmlkZXJDYWNoZShwYXJh
bWV0ZXJzKTsKICAgICAgICAgbmV3SW5mbyA9IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjpjcmVh
dGUocGFyYW1ldGVycyk7Ci0KICAgICB9CiAgICAgCiAgICAgZmFpbElmRmFsc2UocG9wU2NvcGUo
ZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQYXJz
ZXIgZXJyb3IiKTsKKyAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIGlmICgocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUgJiYgaW5mby5mdW5j
dGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHx8IHBhcnNlVHlwZSAhPSBB
cnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0Us
ICJFeHBlY3RlZCBhIGNsb3NpbmcgJ30nIGFmdGVyIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2Rl
KG1vZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgbmV4dCgpOworICAgIH0gZWxzZQorICAgICAgICBm
YWlsSWZGYWxzZShpc0VuZE9mQXJyb3dGdW5jdGlvbigpLCAiRXhwZWN0ZWQgdGhlIGNsb3Npbmcg
JzsnICcsJyAnXScgJyknICd9JyBhZnRlciBhcnJvdyBmdW5jdGlvbiIpOworI2Vsc2UKICAgICBt
YXRjaE9yRmFpbChDTE9TRUJSQUNFLCAiRXhwZWN0ZWQgYSBjbG9zaW5nICd9JyBhZnRlciBhICIs
IHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7CisgICAgbmV4dCgpOworI2Vu
ZGlmCiAgICAgCiAgICAgaWYgKG5ld0luZm8pCiAgICAgICAgIG1fZnVuY3Rpb25DYWNoZS0+YWRk
KGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBXVEY6Om1vdmUobmV3SW5mbykpOwogICAgIAotICAgIG5l
eHQoKTsKICAgICBpbmZvLmJvZHlFbmRMaW5lID0gbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5l
OwogICAgIHJldHVybiB0cnVlOwogfQpAQCAtMTQ3Niw3ICsxNjQwLDcgQEAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1
bmN0aW9uRGVjbGEKICAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2VuU3Rh
cnQoKTsKICAgICBuZXh0KCk7CiAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBp
bmZvOwotICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlv
bk5lZWRzTmFtZSwgRnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1
bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvKSksICJDYW5ub3QgcGFyc2UgdGhpcyBmdW5jdGlvbiIp
OworICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5l
ZWRzTmFtZSwgRnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0
aW9uS2V5d29yZFN0YXJ0LCBpbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5u
b3QgcGFyc2UgdGhpcyBmdW5jdGlvbiIpOwogICAgIGZhaWxJZkZhbHNlKGluZm8ubmFtZSwgIkZ1
bmN0aW9uIHN0YXRlbWVudHMgbXVzdCBoYXZlIGEgbmFtZSIpOwogICAgIGZhaWxJZkZhbHNlSWZT
dHJpY3QoZGVjbGFyZVZhcmlhYmxlKGluZm8ubmFtZSksICJDYW5ub3QgZGVjbGFyZSBhIGZ1bmN0
aW9uIG5hbWVkICciLCBpbmZvLm5hbWUtPmltcGwoKSwgIicgaW4gc3RyaWN0IG1vZGUiKTsKICAg
ICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jRGVjbFN0YXRlbWVudChsb2NhdGlvbiwgaW5mbyk7
CkBAIC0xNTczLDcgKzE3MzcsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVD
bGFzc0V4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3MoVAogICAgICAgICAg
ICAgZmFpbElmRmFsc2UocHJvcGVydHksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2QiKTsKICAg
ICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRl
cj4gbWV0aG9kSW5mbzsKLSAgICAgICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5m
byhjb250ZXh0LCBGdW5jdGlvbk5lZWRzTmFtZSwgaXNTdGF0aWNNZXRob2QgPyBGdW5jdGlvbk1v
ZGUgOiBNZXRob2RNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBtZXRob2RTdGFydCwgbWV0
aG9kSW5mbykpLCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9kIik7CisgICAgICAgICAgICBmYWls
SWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OZWVkc05hbWUsIGlz
U3RhdGljTWV0aG9kID8gRnVuY3Rpb25Nb2RlIDogTWV0aG9kTW9kZSwgZmFsc2UsIGNvbnN0cnVj
dG9yS2luZCwgbWV0aG9kU3RhcnQsIG1ldGhvZEluZm8sIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5
cGUpKSwgIkNhbm5vdCBwYXJzZSB0aGlzIG1ldGhvZCIpOwogICAgICAgICAgICAgZmFpbElmRmFs
c2UobWV0aG9kSW5mby5uYW1lLCAibWV0aG9kIG11c3QgaGF2ZSBhIG5hbWUiKTsKICAgICAgICAg
ICAgIGZhaWxJZkZhbHNlKGRlY2xhcmVWYXJpYWJsZShtZXRob2RJbmZvLm5hbWUpLCAiQ2Fubm90
IGRlY2xhcmUgYSBtZXRob2QgbmFtZWQgJyIsIG1ldGhvZEluZm8ubmFtZS0+aW1wbCgpLCAiJyIp
OwogCkBAIC0xNzg5LDYgKzE5NTMsMTggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlmU3RhdGVtZW50KFQKICAgICBy
ZXR1cm4gY29udGV4dC5jcmVhdGVJZlN0YXRlbWVudChpZkxvY2F0aW9uLCBjb25kaXRpb24sIHRy
dWVCbG9jaywgc3RhdGVtZW50U3RhY2subGFzdCgpLCBzdGFydCwgZW5kKTsKIH0KIAorI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJU
eXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29u
dGV4dCkKK3sKKyAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7CisgICAgVHJlZUV4cHJlc3Npb24g
bm9kZSA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24oY29udGV4dCk7CisgICAgZmFpbElmRmFs
c2Uobm9kZSwgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9uIik7CisgICAgY29udGV4dC5zZXRFbmRP
ZmZzZXQobm9kZSwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5vZmZzZXQpOworICAgIHJldHVybiBu
b2RlOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7CkBAIC0xODM2LDYgKzIwMTIs
NDEgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KICAgICAgICAgfQogICAgICAgICByZXN0b3Jl
U2F2ZVBvaW50KHNhdmVQb2ludCk7CiAgICAgfQorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0
ZVNhdmVQb2ludCgpOworICAgIGJvb2wgYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCA9IGZhbHNlOwor
ICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgaWYg
KG1hdGNoKENMT1NFUEFSRU4pKSB7CisgICAgICAgICAgICBuZXh0KCk7CisKKyAgICAgICAgICAg
IGlmIChtYXRjaChBUlJPV0ZVTkNUSU9OKSkKKyAgICAgICAgICAgICAgICBhcnJvd0Z1bmN0aW9u
RW1wdHlMaXN0ID0gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICghYXJyb3dGdW5jdGlv
bkVtcHR5TGlzdCkKKyAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rp
b25Qb2ludCk7CisgICAgfQorCisgICAgVHJlZUV4cHJlc3Npb24gbGhzOworICAgIGlmICghYXJy
b3dGdW5jdGlvbkVtcHR5TGlzdCkgeworICAgICAgICBsaHMgPSBwYXJzZUNvbmRpdGlvbmFsRXhw
cmVzc2lvbihjb250ZXh0KTsKKyAgICAgICAgZmFpbElmRmFsc2UobGhzLCAiQ2FuGW5vdCBwYXJz
ZSBleHByZXNzaW9uIik7CisgICAgICAgIGlmIChpbml0aWFsTm9uTEhTQ291bnQgIT0gbV9ub25M
SFNDb3VudCkgeworICAgICAgICAgICAgaWYgKG1fdG9rZW4ubV90eXBlID49IEVRVUFMICYmIG1f
dG9rZW4ubV90eXBlIDw9IE9SRVFVQUwpCisgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsKCJM
ZWZ0IGhhbmQgc2lkZSBvZiBvcGVyYXRvciAnIiwgZ2V0VG9rZW4oKSwgIicgbXVzdCBiZSBhIHJl
ZmVyZW5jZSIpOworCisgICAgICAgICAgICByZXR1cm4gbGhzOworICAgICAgICB9CisgICAgfQor
CisgICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJT04pKSB7CisgICAgICAgIHJlc3RvcmVTYXZlUG9p
bnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAgICAgIGxocyA9IHBhcnNlQXJyb3dGdW5j
dGlvbldyYXBwZXIoY29udGV4dCk7CisgICAgICAgIHJldHVybiBsaHM7CisgICAgfQorI2Vsc2UK
ICAgICBUcmVlRXhwcmVzc2lvbiBsaHMgPSBwYXJzZUNvbmRpdGlvbmFsRXhwcmVzc2lvbihjb250
ZXh0KTsKICAgICBmYWlsSWZGYWxzZShsaHMsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lvbiIpOwog
ICAgIGlmIChpbml0aWFsTm9uTEhTQ291bnQgIT0gbV9ub25MSFNDb3VudCkgewpAQCAtMTg0NCw3
ICsyMDU1LDggQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lv
biBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KIAogICAgICAgICByZXR1cm4gbGhz
OwogICAgIH0KLSAgICAKKyNlbmRpZgorCiAgICAgaW50IGFzc2lnbm1lbnRTdGFjayA9IDA7CiAg
ICAgT3BlcmF0b3Igb3A7CiAgICAgYm9vbCBoYWRBc3NpZ25tZW50ID0gZmFsc2U7CkBAIC0yMDc2
LDcgKzIyODgsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9u
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5TWV0aAogICAgIEpTVG9rZW5Mb2NhdGlv
biBtZXRob2RMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwogICAgIHVuc2lnbmVkIG1ldGhvZFN0
YXJ0ID0gdG9rZW5TdGFydCgpOwogICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4g
bWV0aG9kSW5mbzsKLSAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwg
RnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgTWV0aG9kTW9kZSwgZmFsc2UsIENvbnN0cnVjdG9yS2lu
ZDo6Tm9uZSwgbWV0aG9kU3RhcnQsIG1ldGhvZEluZm8pKSwgIkNhbm5vdCBwYXJzZSB0aGlzIG1l
dGhvZCIpOworICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5j
dGlvbk5vUmVxdWlyZW1lbnRzLCBNZXRob2RNb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpO
b25lLCBtZXRob2RTdGFydCwgbWV0aG9kSW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkp
LCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9kIik7CiAgICAgbWV0aG9kSW5mby5uYW1lID0gbWV0
aG9kTmFtZTsKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkV4cHIobWV0aG9kTG9j
YXRpb24sIG1ldGhvZEluZm8pOwogfQpAQCAtMjEwMiwxMCArMjMxNCwxMCBAQCB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VH
ZXR0ZXJTZXR0ZXIoVAogICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gaW5mbzsK
ICAgICBpZiAodHlwZSA9PSBQcm9wZXJ0eU5vZGU6OkdldHRlcikgewogICAgICAgICBmYWlsSWZG
YWxzZShtYXRjaChPUEVOUEFSRU4pLCAiRXhwZWN0ZWQgYSBwYXJhbWV0ZXIgbGlzdCBmb3IgZ2V0
dGVyIGRlZmluaXRpb24iKTsKLSAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZv
KGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEdldHRlck1vZGUsIGZhbHNlLCBjb25z
dHJ1Y3RvcktpbmQsIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIGluZm8pKSwgIkNhbm5vdCBw
YXJzZSBnZXR0ZXIgZGVmaW5pdGlvbiIpOworICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5j
dGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgR2V0dGVyTW9kZSwgZmFs
c2UsIGNvbnN0cnVjdG9yS2luZCwgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgaW5mbywgU3Rh
bmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIGdldHRlciBkZWZpbml0aW9u
Iik7CiAgICAgfSBlbHNlIHsKICAgICAgICAgZmFpbElmRmFsc2UobWF0Y2goT1BFTlBBUkVOKSwg
IkV4cGVjdGVkIGEgcGFyYW1ldGVyIGxpc3QgZm9yIHNldHRlciBkZWZpbml0aW9uIik7Ci0gICAg
ICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVx
dWlyZW1lbnRzLCBTZXR0ZXJNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBnZXR0ZXJPclNl
dHRlclN0YXJ0T2Zmc2V0LCBpbmZvKSksICJDYW5ub3QgcGFyc2Ugc2V0dGVyIGRlZmluaXRpb24i
KTsKKyAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0
aW9uTm9SZXF1aXJlbWVudHMsIFNldHRlck1vZGUsIGZhbHNlLCBjb25zdHJ1Y3RvcktpbmQsIGdl
dHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIGluZm8sIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUp
KSwgIkNhbm5vdCBwYXJzZSBzZXR0ZXIgZGVmaW5pdGlvbiIpOwogICAgIH0KICAgICBpZiAoc3Ry
aW5nUHJvcGVydHlOYW1lKQogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVHZXR0ZXJPclNl
dHRlclByb3BlcnR5KGxvY2F0aW9uLCB0eXBlLCBzdHJpY3QsIHN0cmluZ1Byb3BlcnR5TmFtZSwg
aW5mbywgc3VwZXJCaW5kaW5nKTsKQEAgLTIzNTQsNyArMjU2Niw3IEBAIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJp
bWFyeUV4cHJlCiAgICAgICAgIG5leHQoKTsKICAgICAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRy
ZWVCdWlsZGVyPiBpbmZvOwogICAgICAgICBpbmZvLm5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1l
cy0+bnVsbElkZW50aWZpZXI7Ci0gICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5m
byhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlvbk1vZGUsIGZhbHNlLCBD
b25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvKSksICJDYW5u
b3QgcGFyc2UgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgICAgICBmYWlsSWZGYWxzZSgocGFy
c2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgRnVuY3Rpb25N
b2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBmdW5jdGlvbktleXdvcmRTdGFydCwg
aW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIGZ1bmN0aW9u
IGV4cHJlc3Npb24iKTsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25FeHBy
KGxvY2F0aW9uLCBpbmZvKTsKICAgICB9CiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCkBA
IC0yMzgzLDYgKzI1OTUsMjMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhw
cmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAgcmV0
dXJuIGNvbnRleHQudGhpc0V4cHIobG9jYXRpb24sIG1fdGhpc1REWk1vZGUpOwogICAgIH0KICAg
ICBjYXNlIElERU5UOiB7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICAgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQo
KTsKKyAgICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsK
KyAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsK
KyAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CisgICAg
ICAgIG5leHQoKTsKKworICAgICAgICBpZiAoIW1hdGNoKEFSUk9XRlVOQ1RJT04pKSB7CisgICAg
ICAgICAgICBjdXJyZW50U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRlbnQsIG1fdm0tPnByb3BlcnR5
TmFtZXMtPmV2YWwgPT0gKmlkZW50KTsKKyAgICAgICAgICAgIG1fbGFzdElkZW50aWZpZXIgPSBp
ZGVudDsKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJlc29sdmUobG9jYXRpb24s
IGlkZW50LCBzdGFydCk7CisgICAgICAgIH0KKworICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNh
dmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICBUcmVlRXhwcmVzc2lvbiBsaHMgPSBwYXJz
ZUFycm93RnVuY3Rpb25XcmFwcGVyKGNvbnRleHQpOworICAgICAgICByZXR1cm4gbGhzOworI2Vs
c2UKICAgICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsK
ICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsK
ICAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CkBAIC0y
MzkwLDYgKzI2MTksNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNz
aW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHByZQogICAgICAgICBjdXJyZW50
U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRlbnQsIG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0g
KmlkZW50KTsKICAgICAgICAgbV9sYXN0SWRlbnRpZmllciA9IGlkZW50OwogICAgICAgICByZXR1
cm4gY29udGV4dC5jcmVhdGVSZXNvbHZlKGxvY2F0aW9uLCBpZGVudCwgc3RhcnQpOworI2VuZGlm
CiAgICAgfQogICAgIGNhc2UgU1RSSU5HOiB7CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlk
ZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CkBAIC0yNTgxLDYgKzI4MTEsMzIgQEAgZW5kTWVt
YmVyRXhwcmVzc2lvbjoKICAgICByZXR1cm4gYmFzZTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBU
cmVlRXhwcmVzc2lvbiBiYXNlID0gMDsKKyAgICBKU1RleHRQb3NpdGlvbiBleHByZXNzaW9uU3Rh
cnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICBpbnQgbmV3Q291bnQgPSAwOworICAgIEpT
VG9rZW5Mb2NhdGlvbiBsb2NhdGlvbjsKKworICAgIGlmIChtYXRjaChJREVOVCkgfHwgbWF0Y2go
T1BFTlBBUkVOKSkgeworICAgICAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRv
a2VuU3RhcnQoKTsKKyAgICAgICAgbG9jYXRpb24gPSB0b2tlbkxvY2F0aW9uKCk7CisgICAgICAg
IFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gaW5mbzsKKyAgICAgICAgaW5mby5uYW1l
ID0gJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyOworICAgICAgICBmYWlsSWZG
YWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywg
RnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29y
ZFN0YXJ0LCBpbmZvLCBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2UgYXJy
b3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgICAgICBiYXNlID0gY29udGV4dC5jcmVhdGVB
cnJvd0Z1bmN0aW9uRXhwcihsb2NhdGlvbiwgaW5mbyk7CisgICAgfSBlbHNlCisgICAgICAgIGJh
c2UgPSBwYXJzZVByaW1hcnlFeHByZXNzaW9uKGNvbnRleHQpOworCisgICAgZmFpbElmRmFsc2Uo
YmFzZSwgIkNhbm5vdCBwYXJzZSBiYXNlIGV4cHJlc3Npb24iKTsKKyAgICB3aGlsZSAobmV3Q291
bnQtLSkKKyAgICAgICAgYmFzZSA9IGNvbnRleHQuY3JlYXRlTmV3RXhwcihsb2NhdGlvbiwgYmFz
ZSwgZXhwcmVzc2lvblN0YXJ0LCBsYXN0VG9rZW5FbmRQb3NpdGlvbigpKTsKKyAgICByZXR1cm4g
YmFzZTsKK30KKyNlbmRpZgorCiBzdGF0aWMgY29uc3QgY2hhciogb3BlcmF0b3JTdHJpbmcoYm9v
bCBwcmVmaXgsIHVuc2lnbmVkIHRvaykKIHsKICAgICBzd2l0Y2ggKHRvaykgewpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKaW5kZXggODc5ZTFlMjgxNjcxOTc3Mzg5OWY1MjU3NWVm
YTM1YzAyZTdkMTNmZS4uNzdhZTM5Njc3YWFhY2ZlN2EyNDYwMjRhZTFiYTExOWVkMmE0N2FjNyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC04MCw2ICs4MCwxMSBAQCBj
bGFzcyBTb3VyY2VDb2RlOwogQ09NUElMRV9BU1NFUlQoTGFzdFVudGFnZ2VkVG9rZW4gPCA2NCwg
TGVzc1RoYW42NFVudGFnZ2VkVG9rZW5zKTsKIAogZW51bSBTb3VyY2VFbGVtZW50c01vZGUgeyBD
aGVja0ZvclN0cmljdE1vZGUsIERvbnRDaGVja0ZvclN0cmljdE1vZGUgfTsKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorZW51bSBGdW5jdGlvblBhcnNlVHlwZSB7IFN0YW5k
YXJkRnVuY3Rpb25QYXJzZVR5cGUsIEFycm93RnVuY3Rpb25QYXJzZVR5cGUgfTsKKyNlbHNlCitl
bnVtIEZ1bmN0aW9uUGFyc2VUeXBlIHsgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZX07CisjZW5k
aWYKIGVudW0gRnVuY3Rpb25SZXF1aXJlbWVudHMgeyBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBG
dW5jdGlvbk5lZWRzTmFtZSB9OwogZW51bSBGdW5jdGlvblBhcnNlTW9kZSB7CiAgICAgRnVuY3Rp
b25Nb2RlLApAQCAtNjE4LDYgKzYyMywxMyBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gbV90
b2tlbi5tX3R5cGUgPT0gSURFTlQgJiYgKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnBy
b3BlcnR5TmFtZXMtPm9mOwogICAgIH0KICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIEFMV0FZU19JTkxJTkUgYm9vbCBpc0VuZE9mQXJyb3dGdW5jdGlvbigp
CisgICAgeworICAgICAgICByZXR1cm4gbWF0Y2goU0VNSUNPTE9OKSB8fCBtYXRjaChDT01NQSkg
fHwgbWF0Y2goQ0xPU0VQQVJFTikgfHwgbWF0Y2goQ0xPU0VCUkFDRSkgfHwgbWF0Y2goQ0xPU0VC
UkFDS0VUKTsKKyAgICB9CisjZW5kaWYKKyAgICAKICAgICBBTFdBWVNfSU5MSU5FIHVuc2lnbmVk
IHRva2VuU3RhcnQoKQogICAgIHsKICAgICAgICAgcmV0dXJuIG1fdG9rZW4ubV9sb2NhdGlvbi5z
dGFydE9mZnNldDsKQEAgLTcyMSw5ICs3MzMsOSBAQCBwcml2YXRlOgogICAgICAgICB9CiAgICAg
ICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIAotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxk
ZXImLCBTb3VyY2VFbGVtZW50c01vZGUpOwotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYsIGNvbnN0IElkZW50
aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMCk7
CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBw
YXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxlbWVudHNNb2RlLCBGdW5j
dGlvblBhcnNlVHlwZSk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3Rh
dGVtZW50IHBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRp
cmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwLCBGdW5jdGlvblBh
cnNlVHlwZSB0eXBlID0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CiAjaWYgRU5BQkxFKEVT
Nl9DTEFTU19TWU5UQVgpCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3Rh
dGVtZW50IHBhcnNlQ2xhc3NEZWNsYXJhdGlvbihUcmVlQnVpbGRlciYpOwogI2VuZGlmCkBAIC03
NjIsMjcgKzc3NCwzNiBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVByb3BlcnR5IHBhcnNlUHJvcGVydHkoVHJlZUJ1aWxkZXImLCBib29sIHN0cmljdCk7
CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZVBy
b3BlcnR5TWV0aG9kKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiBtZXRo
b2ROYW1lKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBw
YXJzZUdldHRlclNldHRlcihUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0LCBQcm9wZXJ0eU5vZGU6
OlR5cGUsIHVuc2lnbmVkIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIENvbnN0cnVjdG9yS2lu
ZCA9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJCaW5kaW5nID0gU3VwZXJCaW5kaW5nOjpO
b3ROZWVkZWQpOwotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElO
RSBUcmVlRnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVyJiwgaW50IGZ1
bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIGludCBwYXJhbWV0ZXJz
U3RhcnQsIENvbnN0cnVjdG9yS2luZCk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VGdW5jdGlvbkJvZHkoVHJlZUJ1
aWxkZXImLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwg
aW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kLCBGdW5jdGlvblBhcnNlVHlwZSBm
dW5jdGlvblBhcnNlVHlwZSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdB
WVNfSU5MSU5FIFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhU
cmVlQnVpbGRlciYpOwogICAgIGVudW0gVmFyRGVjbGFyYXRpb25MaXN0Q29udGV4dCB7IEZvckxv
b3BDb250ZXh0LCBWYXJEZWNsYXJhdGlvbkNvbnRleHQgfTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlVmFyRGVjbGFyYXRpb25MaXN0KFRyZWVC
dWlsZGVyJiwgaW50JiBkZWNsYXJhdGlvbnMsIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4mIGxh
c3RQYXR0ZXJuLCBUcmVlRXhwcmVzc2lvbiYgbGFzdEluaXRpYWxpemVyLCBKU1RleHRQb3NpdGlv
biYgaWRlbnRTdGFydCwgSlNUZXh0UG9zaXRpb24mIGluaXRTdGFydCwgSlNUZXh0UG9zaXRpb24m
IGluaXRFbmQsIFZhckRlY2xhcmF0aW9uTGlzdENvbnRleHQpOwogICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVDb25zdERlY2xMaXN0IHBhcnNlQ29uc3RE
ZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImKTsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVz
c2lvbiBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CisgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQXJyb3dGdW5jdGlv
blN0YXRlbWVudChUcmVlQnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZUV4cHJlc3Npb24gcGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihUcmVlQnVpbGRlciYp
OworI2VuZGlmCisKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElO
RSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIGNyZWF0ZUJpbmRpbmdQYXR0ZXJuKFRyZWVCdWls
ZGVyJiwgRGVjb25zdHJ1Y3Rpb25LaW5kLCBjb25zdCBJZGVudGlmaWVyJiwgaW50IGRlcHRoLCBK
U1Rva2VuKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBU
cmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIHBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuKFRyZWVC
dWlsZGVyJiwgRGVjb25zdHJ1Y3Rpb25LaW5kLCBpbnQgZGVwdGggPSAwKTsKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0
ZXJuIHRyeVBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuRXhwcmVzc2lvbihUcmVlQnVpbGRlciYp
OwotCi0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgYm9vbCBw
YXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzLCBGdW5j
dGlvblBhcnNlTW9kZSwgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29uc3RydWN0b3JL
aW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVp
bGRlcj4mKTsKLSAgICAKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lO
TElORSBpbnQgcGFyc2VGdW5jdGlvblBhcmFtdGVycyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVx
dWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSwgYm9vbCwgQXV0b1BvcFNjb3BlUmVmJiwgUGFy
c2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYpOwotI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lO
VEFYKQotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVD
bGFzc0V4cHJlc3Npb24gcGFyc2VDbGFzcyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1l
bnRzLCBQYXJzZXJDbGFzc0luZm88VHJlZUJ1aWxkZXI+Jik7CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVS
X0lOTElORSBpbnQgcGFyc2VBcnJvd0Z1bmN0aW9uUGFyYW10ZXJzKFRyZWVCdWlsZGVyJiwgRnVu
Y3Rpb25QYXJzZU1vZGUsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mKTsKICNlbmRp
ZgorCiAjaWYgRU5BQkxFKEVTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6
VGVtcGxhdGVTdHJpbmcgcGFyc2VUZW1wbGF0ZVN0cmluZyhUcmVlQnVpbGRlciYgY29udGV4dCwg
Ym9vbCBpc1RlbXBsYXRlSGVhZCwgYm9vbCYgZWxlbWVudElzVGFpbCk7CiAgICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OlRl
bXBsYXRlTGl0ZXJhbCBwYXJzZVRlbXBsYXRlTGl0ZXJhbChUcmVlQnVpbGRlciYpOwogI2VuZGlm
CiAKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBib29sIHBh
cnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIEZ1bmN0
aW9uUGFyc2VNb2RlLCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3Rvcktp
bmQsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWls
ZGVyPiYsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNpZiBFTkFCTEUo
RVM2X0NMQVNTX1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVS
X0lOTElORSBUcmVlQ2xhc3NFeHByZXNzaW9uIHBhcnNlQ2xhc3MoVHJlZUJ1aWxkZXImLCBGdW5j
dGlvblJlcXVpcmVtZW50cywgUGFyc2VyQ2xhc3NJbmZvPFRyZWVCdWlsZGVyPiYpOworI2VuZGlm
CisKICAgICBBTFdBWVNfSU5MSU5FIGludCBpc0JpbmFyeU9wZXJhdG9yKEpTVG9rZW5UeXBlKTsK
ICAgICBib29sIGFsbG93QXV0b21hdGljU2VtaWNvbG9uKCk7CiAgICAgCkBAIC03OTUsNiArODE2
LDE0IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBhbGxvd0F1dG9tYXRpY1NlbWljb2xvbigp
OwogICAgIH0KICAgICAKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgdm9pZCBzZXRFbmRPZlN0YXRlbWVudCgpCisgICAgeworICAgICAgICBtX2xleGVyLT5zZXRU
b2tlblBvc2l0aW9uKCZtX3Rva2VuKTsKKyAgICB9CisjZW5kaWYKKwogICAgIGJvb2wgY2FuUmVj
dXJzZSgpCiAgICAgewogICAgICAgICByZXR1cm4gbV92bS0+aXNTYWZlVG9SZWN1cnNlKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5m
by5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaApp
bmRleCA2YjczNjI4MmUyZDJhODFiYzYzZGMyZjNjMGU1YWU4Yzg1OGNkMWY4Li4wY2RlMGM2N2E5
ZGUwZWRmMzQxNDRlMzI3OTFlNWU5MGI0YTIxNTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKQEAgLTI4LDYgKzI4LDEwIEBACiAK
IG5hbWVzcGFjZSBKU0MgewogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
K2VudW0gRnVuY3Rpb25Cb2R5VHlwZSB7IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiwgQXJy
b3dGdW5jdGlvbkJvZHlCbG9jaywgU3RhbmRhcmRGdW5jdGlvbkJvZHlCbG9jayB9OworI2VuZGlm
CisKIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4KIHN0cnVjdCBQYXJzZXJGdW5jdGlvbklu
Zm8gewogICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUgPSAwOwpAQCAtMzgsNiArNDIsMTEgQEAg
c3RydWN0IFBhcnNlckZ1bmN0aW9uSW5mbyB7CiAgICAgaW50IGJvZHlTdGFydExpbmUgPSAwOwog
ICAgIGludCBib2R5RW5kTGluZSA9IDA7CiAgICAgdW5zaWduZWQgYm9keVN0YXJ0Q29sdW1uID0g
MDsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHVuc2lnbmVkIGFy
cm93RnVuY3Rpb25PZmZzZXQgPSAwOworICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uID0gZmFsc2U7
CisgICAgRnVuY3Rpb25Cb2R5VHlwZSBmdW5jdGlvbkJvZHlUeXBlID0gU3RhbmRhcmRGdW5jdGlv
bkJvZHlCbG9jazsKKyNlbmRpZgogfTsKIAogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKaW5kZXggMDI2ZTRm
ODBmNDM3ZDhiZmU0YTYxOWMzMGQxMWRjOWZjNjFlMjY0NS4uZTkxNTRjYWYwNTNjNTM4MWI1ZjA5
ODE2ZGJhMDU1OGE1NDM0YmYzNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9QYXJzZXJUb2tlbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlclRva2Vucy5oCkBAIC03NSw2ICs3NSw5IEBAIGVudW0gSlNUb2tlblR5cGUgewogICAgIEZJ
TkFMTFksCiAgICAgREVCVUdHRVIsCiAgICAgRUxTRSwKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIEFSUk9XRlVOQ1RJT04sCisjZW5kaWYKICNpZiBFTkFCTEUoRVM2
X0NMQVNTX1NZTlRBWCkKICAgICBDTEFTU1RPS0VOLAogICAgIEVYVEVORFMsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCmluZGV4IDczZDIzZGI4MmFmMjVlYTQ2YzBm
ODk3ODVjZTQyNGJiNjBlYjYxYTcuLjUwZDUyNjM5Nzk0M2UzODFkMzgwZWM0M2Q4MmQ1YjYzZjdm
MDhkYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29k
ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCkBAIC0x
MDUsNiArMTA1LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIAogICAgICAgICBTb3VyY2VD
b2RlIHN1YkV4cHJlc3Npb24odW5zaWduZWQgb3BlbkJyYWNlLCB1bnNpZ25lZCBjbG9zZUJyYWNl
LCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOwogCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgU291cmNlQ29kZSBzdWJBcnJvd0V4cHJlc3Npb24o
dW5zaWduZWQgc3RhcnRBcnJvd0Z1bmN0aW9uLCB1bnNpZ25lZCBlbmRBcnJvd0Z1bmN0aW9uLCBp
bnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOworI2VuZGlmCiAgICAgcHJpdmF0ZToKICAg
ICAgICAgUmVmUHRyPFNvdXJjZVByb3ZpZGVyPiBtX3Byb3ZpZGVyOwogICAgICAgICBpbnQgbV9z
dGFydENoYXI7CkBAIC0xMTgsNiArMTIxLDE3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBy
ZXR1cm4gU291cmNlQ29kZShTdHJpbmdTb3VyY2VQcm92aWRlcjo6Y3JlYXRlKHNvdXJjZSwgdXJs
LCBzdGFydFBvc2l0aW9uKSwgc3RhcnRQb3NpdGlvbi5tX2xpbmUub25lQmFzZWRJbnQoKSwgc3Rh
cnRQb3NpdGlvbi5tX2NvbHVtbi5vbmVCYXNlZEludCgpKTsKICAgICB9CiAKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlubGluZSBTb3VyY2VDb2RlIFNvdXJjZUNv
ZGU6OnN1YkFycm93RXhwcmVzc2lvbih1bnNpZ25lZCBzdGFydEFycm93RnVuY3Rpb24sIHVuc2ln
bmVkIGVuZEFycm93RnVuY3Rpb24sIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbikKKyAg
ICB7CisgICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFycm93RnVuY3Rp
b25dID09ICc9JyAmJiBwcm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFycm93RnVuY3Rpb24gKyAx
XSA9PSAnPicpOworICAgICAgICAvLyBGaXhtZTogVXNlIGJldHRlciBhcHByb2FjaCB0byBjaGVj
ayBzeW1ib2wKKyAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVu
Y3Rpb24gLSAxXSA9PSAnLCcgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlv
biAtIDFdID09ICc7JyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0g
MV0gPT0gJyknIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9
PSAnXScgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICd9
Jyk7CisgICAgICAgIHN0YXJ0Q29sdW1uICs9IDE7IC8vIENvbnZlcnQgdG8gYmFzZSAxLgorICAg
ICAgICByZXR1cm4gU291cmNlQ29kZShwcm92aWRlcigpLCBzdGFydEFycm93RnVuY3Rpb24sIGVu
ZEFycm93RnVuY3Rpb24sIGZpcnN0TGluZSwgc3RhcnRDb2x1bW4pOworICAgIH0KKyNlbmRpZgor
CiAgICAgaW5saW5lIFNvdXJjZUNvZGUgU291cmNlQ29kZTo6c3ViRXhwcmVzc2lvbih1bnNpZ25l
ZCBvcGVuQnJhY2UsIHVuc2lnbmVkIGNsb3NlQnJhY2UsIGludCBmaXJzdExpbmUsIGludCBzdGFy
dENvbHVtbikKICAgICB7CiAgICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtvcGVu
QnJhY2VdID09ICd7Jyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKaW5kZXggNjM1Mzc5ZTNmNDQ1NjY4YzUyYjg3MmY3
NjE2ZGNiNTkyMWE4Mjk0NC4uZjQyOGRiNTBhOGRhN2E3YWI0NjgyNGFiMzgwODNkYjA1MmQ3Mzc3
NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRl
ckNhY2hlSXRlbS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJv
dmlkZXJDYWNoZUl0ZW0uaApAQCAtNDAsNiArNDAsMTAgQEAgc3RydWN0IFNvdXJjZVByb3ZpZGVy
Q2FjaGVJdGVtQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBib29sIG5lZWRzRnVsbEFjdGl2YXRp
b247CiAgICAgYm9vbCB1c2VzRXZhbDsKICAgICBib29sIHN0cmljdE1vZGU7CisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBib29sIGlzQm9keUFycm93RXhwcmVzc2lv
bjsKKyAgICBKU1Rva2VuVHlwZSB0b2tlblR5cGU7CisjZW5kaWYKICAgICBWZWN0b3I8UmVmUHRy
PFN0cmluZ0ltcGw+PiB1c2VkVmFyaWFibGVzOwogICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1w
bD4+IHdyaXR0ZW5WYXJpYWJsZXM7CiB9OwpAQCAtNTUsMTAgKzU5LDE0IEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtPiBjcmVhdGUo
Y29uc3QgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMmKTsKICAgICB+
U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0oKTsKIAotICAgIEpTVG9rZW4gY2xvc2VCcmFjZVRva2Vu
KCkgY29uc3QgCisgICAgSlNUb2tlbiBlbmRGdW5jdGlvblRva2VuKCkgY29uc3QgCiAgICAgewog
ICAgICAgICBKU1Rva2VuIHRva2VuOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCisgICAgICAgIHRva2VuLm1fdHlwZSA9IGlzQm9keUFycm93RXhwcmVzc2lvbiA/IHRva2Vu
VHlwZSA6IENMT1NFQlJBQ0U7CisjZWxzZQogICAgICAgICB0b2tlbi5tX3R5cGUgPSBDTE9TRUJS
QUNFOworI2VuZGlmCiAgICAgICAgIHRva2VuLm1fZGF0YS5vZmZzZXQgPSBjbG9zZUJyYWNlT2Zm
c2V0OwogICAgICAgICB0b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0ID0gY2xvc2VCcmFjZU9m
ZnNldDsKICAgICAgICAgdG9rZW4ubV9sb2NhdGlvbi5lbmRPZmZzZXQgPSBjbG9zZUJyYWNlT2Zm
c2V0ICsgMTsKQEAgLTgyLDYgKzkwLDExIEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCB1c2VkVmFy
aWFibGVzQ291bnQ7CiAgICAgdW5zaWduZWQgd3JpdHRlblZhcmlhYmxlc0NvdW50OwogCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBib29sIGlzQm9keUFycm93RXhw
cmVzc2lvbjsKKyAgICBKU1Rva2VuVHlwZSB0b2tlblR5cGU7CisjZW5kaWYKKwogICAgIFN0cmlu
Z0ltcGwqKiB1c2VkVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxTdHJpbmdJ
bXBsKio+KG1fdmFyaWFibGVzKTsgfQogICAgIFN0cmluZ0ltcGwqKiB3cml0dGVuVmFyaWFibGVz
KCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxTdHJpbmdJbXBsKio+KCZtX3ZhcmlhYmxlc1t1
c2VkVmFyaWFibGVzQ291bnRdKTsgfQogCkBAIC0xMTUsNiArMTI4LDEwIEBAIGlubGluZSBTb3Vy
Y2VQcm92aWRlckNhY2hlSXRlbTo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0oY29uc3QgU291cmNl
UHJvdmlkZXJDYWNoCiAgICAgLCBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0KHBhcmFtZXRlcnMu
Y2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldCkKICAgICAsIHVzZWRWYXJpYWJsZXNDb3VudChwYXJh
bWV0ZXJzLnVzZWRWYXJpYWJsZXMuc2l6ZSgpKQogICAgICwgd3JpdHRlblZhcmlhYmxlc0NvdW50
KHBhcmFtZXRlcnMud3JpdHRlblZhcmlhYmxlcy5zaXplKCkpCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAsIGlzQm9keUFycm93RXhwcmVzc2lvbihwYXJhbWV0ZXJz
LmlzQm9keUFycm93RXhwcmVzc2lvbikKKyAgICAsIHRva2VuVHlwZShwYXJhbWV0ZXJzLnRva2Vu
VHlwZSkKKyNlbmRpZgogewogICAgIHVuc2lnbmVkIGogPSAwOwogICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCB1c2VkVmFyaWFibGVzQ291bnQ7ICsraSwgKytqKSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCmluZGV4IDU1NGU1ZGY2NGE3MjFmNDQ2
MmQwZDg5YWIwMjNhZmRkNzUzYzU1YmUuLmY2MzVlZDFiYjM3ZTg4NTM2NDU0NzRjMDgyM2Y0YjYx
MzgwYTRkMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4
Q2hlY2tlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tl
ci5oCkBAIC0xNzcsNiArMTc3LDEwIEBAIHB1YmxpYzoKICNlbmRpZgogICAgIEV4cHJlc3Npb25U
eXBlIGNyZWF0ZUZ1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJz
ZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0K
ICAgICBpbnQgY3JlYXRlRnVuY3Rpb25Cb2R5KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0
IEpTVG9rZW5Mb2NhdGlvbiYsIGludCwgaW50LCBib29sLCBpbnQsIGludCwgaW50LCBDb25zdHJ1
Y3RvcktpbmQpIHsgcmV0dXJuIEZ1bmN0aW9uQm9keVJlc3VsdDsgfQorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlQXJyb3dGdW5j
dGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZv
PFN5bnRheENoZWNrZXI+JikgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9CisjZW5kaWYgCisgICAg
dm9pZCBzZXRGdW5jdGlvbk5hbWVTdGFydChpbnQsIGludCkgeyB9CiAgICAgaW50IGNyZWF0ZUFy
Z3VtZW50cygpIHsgcmV0dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQogICAgIGludCBjcmVhdGVBcmd1
bWVudHMoaW50KSB7IHJldHVybiBBcmd1bWVudHNSZXN1bHQ7IH0KICAgICBFeHByZXNzaW9uVHlw
ZSBjcmVhdGVTcHJlYWRFeHByZXNzaW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIEV4cHJlc3Np
b25UeXBlLCBpbnQsIGludCwgaW50KSB7IHJldHVybiBTcHJlYWRFeHByOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hMDI3MTk2MDM5N2FiN2Q5OTUyNDhiMTJmMjk1YWI3ZTNhZTZkMzM0Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcApA
QCAtMCwwICsxLDExOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorCisjaW5jbHVkZSAiRXJyb3Iu
aCIKKyNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCisjaW5jbHVkZSAiSlNDSW5saW5lcy5o
IgorI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCisjaW5j
bHVkZSAiSlNGdW5jdGlvbklubGluZXMuaCIKKyNpbmNsdWRlICJKU09iamVjdC5oIgorI2luY2x1
ZGUgIlByb3BlcnR5U2xvdC5oIgorI2luY2x1ZGUgIlZNLmgiCisKK25hbWVzcGFjZSBKU0Mgewor
ICAgIAorY29uc3QgQ2xhc3NJbmZvIEpTQXJyb3dGdW5jdGlvbjo6c19pbmZvID0geyAiQXJyb3dG
dW5jdGlvbiIsICZCYXNlOjpzX2luZm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNBcnJvd0Z1
bmN0aW9uKSB9OworCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycm93RnVuY3Rpb25D
YWxsKEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBKU0Fycm93RnVuY3Rpb24qIGFycm93RnVuY3Rp
b24gPSBqc0Nhc3Q8SlNBcnJvd0Z1bmN0aW9uKj4oZXhlYy0+Y2FsbGVlKCkpOworICAgICAgICAK
KyAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmdzOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBleGVjLT5hcmd1bWVudENvdW50KCk7ICsraSkKKyAgICAgICAgYXJncy5hcHBlbmQoZXhl
Yy0+dW5jaGVja2VkQXJndW1lbnQoaSkpOworICAgIAorICAgIEpTT2JqZWN0KiBmdW5jdGlvbiA9
IGFycm93RnVuY3Rpb24tPmFycm93RnVuY3Rpb24oKTsKKyAgICBDYWxsRGF0YSBjYWxsRGF0YTsK
KyAgICBDYWxsVHlwZSBjYWxsVHlwZSA9IGdldENhbGxEYXRhKGZ1bmN0aW9uLCBjYWxsRGF0YSk7
CisgICAgQVNTRVJUKGNhbGxUeXBlICE9IENhbGxUeXBlTm9uZSk7CisgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShjYWxsKGV4ZWMsIGZ1bmN0aW9uLCBjYWxsVHlwZSwgY2FsbERhdGEsIGFycm93
RnVuY3Rpb24tPmJvdW5kVGhpcygpLCBhcmdzKSk7Cit9CisgICAgCit2b2lkIEpTQXJyb3dGdW5j
dGlvbjo6ZGVzdHJveShKU0NlbGwqIGNlbGwpCit7CisgICAgc3RhdGljX2Nhc3Q8SlNBcnJvd0Z1
bmN0aW9uKj4oY2VsbCktPkpTQXJyb3dGdW5jdGlvbjo6fkpTQXJyb3dGdW5jdGlvbigpOworfQor
ICAgIAorSlNBcnJvd0Z1bmN0aW9uOjpKU0Fycm93RnVuY3Rpb24oVk0mIHZtLCBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNPYmplY3QqIGFycm93
RnVuY3Rpb24sIEpTVmFsdWUgYm91bmRUaGlzKQorICAgIDogQmFzZSh2bSwgZ2xvYmFsT2JqZWN0
LCBzdHJ1Y3R1cmUpCisgICAgLCBtX2JvdW5kVGhpcyh2bSwgdGhpcywgYm91bmRUaGlzKQorICAg
ICwgbV9hcnJvd0Z1bmN0aW9uKHZtLCB0aGlzLCBhcnJvd0Z1bmN0aW9uKQoreworfQorCitKU0Fy
cm93RnVuY3Rpb24qIEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlV2l0aEludmFsaWRhdGVkUmVhbGxv
Y2F0aW9uV2F0Y2hwb2ludChWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpT
T2JqZWN0KiBhcnJvd0Z1bmN0aW9uLCBKU1ZhbHVlIGJvdW5kVGhpcykKK3sKKyAgICBBU1NFUlQo
anNDYXN0PEpTRnVuY3Rpb24qPihhcnJvd0Z1bmN0aW9uKS0+anNFeGVjdXRhYmxlKCktPnNpbmds
ZXRvbkZ1bmN0aW9uKCktPmhhc0JlZW5JbnZhbGlkYXRlZCgpKTsKKyAgICByZXR1cm4gY3JlYXRl
KHZtLCBnbG9iYWxPYmplY3QsIGFycm93RnVuY3Rpb24sIGJvdW5kVGhpcyk7Cit9CisKK0pTQXJy
b3dGdW5jdGlvbiogSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogYXJyb3dGdW5jdGlvbiwgSlNWYWx1ZSBib3VuZFRo
aXMpCit7CisgICAgTmF0aXZlRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9IHZtLmdldEhvc3RGdW5j
dGlvbihhcnJvd0Z1bmN0aW9uQ2FsbCwgY2FsbEhvc3RGdW5jdGlvbkFzQ29uc3RydWN0b3IpOwor
ICAgIEpTQXJyb3dGdW5jdGlvbiogZnVuY3Rpb24gPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2Vs
bDxKU0Fycm93RnVuY3Rpb24+KHZtLmhlYXApKSBKU0Fycm93RnVuY3Rpb24odm0sIGdsb2JhbE9i
amVjdCwgZ2xvYmFsT2JqZWN0LT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCksIGFycm93RnVuY3Rp
b24sIGJvdW5kVGhpcyk7CisgICAgZnVuY3Rpb24tPmZpbmlzaENyZWF0aW9uKHZtLCBleGVjdXRh
YmxlLCAwLCAiIik7CisKKyAgICByZXR1cm4gZnVuY3Rpb247Cit9CisgICAgCit2b2lkIEpTQXJy
b3dGdW5jdGlvbjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBOYXRpdmVFeGVjdXRhYmxlKiBleGVj
dXRhYmxlLCBpbnQgbGVuZ3RoLCBjb25zdCBTdHJpbmcmIG5hbWUpCit7CisgICAgQmFzZTo6Zmlu
aXNoQ3JlYXRpb24odm0sIGV4ZWN1dGFibGUsIGxlbmd0aCwgbmFtZSk7CisgICAgQVNTRVJUKGlu
aGVyaXRzKGluZm8oKSkpOworICAgIAorICAgIC8vIFByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlv
biBpcyB1bmRlZmluZWQKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3Rv
dHlwZSwganNVbmRlZmluZWQoKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgRG9udEVudW0pOwor
ICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+dGhpc0lkZW50aWZpZXIsIGJvdW5k
VGhpcygpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51bSk7Cit9CisKKyAgICAKK3Zv
aWQgSlNBcnJvd0Z1bmN0aW9uOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0
b3ImIHZpc2l0b3IpCit7CisgICAgSlNBcnJvd0Z1bmN0aW9uKiB0aGlzT2JqZWN0ID0ganNDYXN0
PEpTQXJyb3dGdW5jdGlvbio+KGNlbGwpOworICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFMo
dGhpc09iamVjdCwgaW5mbygpKTsKKyAgICBCYXNlOjp2aXNpdENoaWxkcmVuKHRoaXNPYmplY3Qs
IHZpc2l0b3IpOworCisgICAgLy8gRml4bWU6IG1fYXJyb3dGdW5jdGlvbiBhbHJlYWR5IHJlbW92
ZWQgYnkgR0MsIGJlY2F1c2UgaXQgY3JlYXRlZCBpbiBiZWZvcmUgcnVuIEpTQXJyb3dGdW5jdGlv
bjo6Y3JlYXRlIG1ldGhvZAorICAgIC8vIEl0IGlzIHBvc3NpYmxlIGNhc2Ugd2hlbiBtX2Fycm93
RnVuY3Rpb24gaXMgcmVtb3ZlZCBidXQgd3JhcHBlciBvYmplY3QgaXMgc3RpbGwgZXhpc3RzCisg
ICAgLy8gIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2Fycm93RnVuY3Rpb24pOworICAg
IAorICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2JvdW5kVGhpcyk7Cit9CisgICAg
CitDb25zdHJ1Y3RUeXBlIEpTQXJyb3dGdW5jdGlvbjo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwq
IGNlbGwsIENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCit7CisgICAgSlNGdW5jdGlvbiog
dGhpc09iamVjdCA9IGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY2VsbCk7CisgICAgICAgIAorICAgIGNv
bnN0cnVjdERhdGEuanMuZnVuY3Rpb25FeGVjdXRhYmxlID0gdGhpc09iamVjdC0+anNFeGVjdXRh
YmxlKCk7CisgICAgY29uc3RydWN0RGF0YS5qcy5zY29wZSA9IHRoaXNPYmplY3QtPnNjb3BlKCk7
CisgICAgcmV0dXJuIENvbnN0cnVjdFR5cGVOb25lOworfQorfSAvLyBuYW1lc3BhY2UgSlNDCisj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dG
dW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9u
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZTk3YmMxYTVmYmRmNmY4YjdhYzc2ZGZlZjAwOWU5ZWVlZjc5ZjhmMwot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dG
dW5jdGlvbi5oCkBAIC0wLDAgKzEsODggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaWZuZGVmIEpTQXJyb3dGdW5jdGlvbl9oCisjZGVmaW5lIEpTQXJy
b3dGdW5jdGlvbl9oCisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorCisj
aW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCisKK25h
bWVzcGFjZSBKU0MgeworCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycm93RnVuY3Rp
b25DYWxsKEV4ZWNTdGF0ZSopOworICAgIAorY2xhc3MgSlNBcnJvd0Z1bmN0aW9uIDogcHVibGlj
IEpTRnVuY3Rpb24geworcHVibGljOgorICAgIHR5cGVkZWYgSlNGdW5jdGlvbiBCYXNlOworCisg
ICAgc3RhdGljIEpTQXJyb3dGdW5jdGlvbiogY3JlYXRlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBK
U09iamVjdCosIEpTVmFsdWUpOworICAgIHN0YXRpYyBKU0Fycm93RnVuY3Rpb24qIGNyZWF0ZVdp
dGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQoVk0mLCBKU0dsb2JhbE9iamVjdCos
IEpTT2JqZWN0KiwgSlNWYWx1ZSk7CisKKyAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2VsbCop
OworICAgIAorICAgIHN0YXRpYyBzaXplX3QgYWxsb2NhdGlvblNpemUoc2l6ZV90IGlubGluZUNh
cGFjaXR5KQorICAgIHsKKyAgICAgICAgQVNTRVJUX1VOVVNFRChpbmxpbmVDYXBhY2l0eSwgIWlu
bGluZUNhcGFjaXR5KTsKKyAgICAgICAgcmV0dXJuIHNpemVvZihKU0Fycm93RnVuY3Rpb24pOwor
ICAgIH0KKyAgICAKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZt
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkKKyAgICB7
CisgICAgICAgIEFTU0VSVChnbG9iYWxPYmplY3QpOworICAgICAgICByZXR1cm4gU3RydWN0dXJl
OjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhKU0Z1bmN0aW9u
VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOworICAgIH0KKyAgICAgICAgCisgICAgc3Rh
dGljIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRh
Jik7CisKKyAgICBKU09iamVjdCogYXJyb3dGdW5jdGlvbigpIHsgcmV0dXJuIG1fYXJyb3dGdW5j
dGlvbi5nZXQoKTsgfQorICAgIEpTVmFsdWUgYm91bmRUaGlzKCkgeyByZXR1cm4gbV9ib3VuZFRo
aXMuZ2V0KCk7IH0KKyAgICAKKyAgICBERUNMQVJFX0lORk87CisgICAgCisgICAgc3RhdGljIGlu
bGluZSBwdHJkaWZmX3Qgb2Zmc2V0T2ZUaGlzVmFsdWUoKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IE9CSkVDVF9PRkZTRVRPRihKU0Fycm93RnVuY3Rpb24sIG1fYm91bmRUaGlzKTsKKyAgICB9Cisg
ICAgCisgICAgY29uc3Qgc3RhdGljIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVz
SGFzSW5zdGFuY2UgfCBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsKKworcHJvdGVjdGVkOgorICAgIHN0
YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKKyAgICAgICAg
Citwcml2YXRlOgorICAgIEpTQXJyb3dGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3Ry
dWN0dXJlKiwgSlNPYmplY3QqLCBKU1ZhbHVlKTsKKworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24o
Vk0mLCBOYXRpdmVFeGVjdXRhYmxlKiwgaW50LCBjb25zdCBTdHJpbmcmKTsKKyAgICAKKyAgICBX
cml0ZUJhcnJpZXI8VW5rbm93bj4gbV9ib3VuZFRoaXM7CisgICAgV3JpdGVCYXJyaWVyPEpTT2Jq
ZWN0PiBtX2Fycm93RnVuY3Rpb247Cit9OworICAgIAorfSAvLyBuYW1lc3BhY2UgSlNDCisjZW5k
aWYgLy8gRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYCisKKyNlbmRpZiAvLyBKU0Fycm93RnVuY3Rp
b25faApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlv
bi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCmluZGV4IDg2
ZGZmMTJmOGZhNDdhMzFhMzNhNjg5NDA4N2NlNWMxMTVjZTUyYjYuLjhmMWQ2MTZhZTBiZDcxNGY0
M2NiOGY4OGFhZDViNzRmMmVjYjc3ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0Z1bmN0aW9uLmgKQEAgLTEzNyw2ICsxMzcsOSBAQCBwdWJsaWM6CiBwcm90ZWN0ZWQ6CiAg
ICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3Ry
dWN0dXJlKik7CiAgICAgSlNGdW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSosIEpTU2Nv
cGUqKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEpTRnVuY3Rp
b24oVk0mLCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBKU1Njb3BlKiwgU3RydWN0dXJlKik7CisjZW5k
aWYKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBOYXRpdmVFeGVjdXRhYmxlKiwgaW50
IGxlbmd0aCwgY29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICB1c2luZyBCYXNlOjpmaW5pc2hDcmVh
dGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rp
b25JbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5s
aW5lcy5oCmluZGV4IGY2YzZkNThlYzZlNWMxMTY0Y2IyN2ZhNWU0MTYxOGI0YjgxNDJmMDIuLjM4
NTA2Y2MxOTlhMDA4ZmY4Zjk2YWRmNjg5YmUzNjA5ODc1ZGVhNWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaApAQCAtNDUsNiArNDUs
MTUgQEAgaW5saW5lIEpTRnVuY3Rpb246OkpTRnVuY3Rpb24oVk0mIHZtLCBGdW5jdGlvbkV4ZWN1
dGFibGUqIGV4ZWN1dGFibGUsIEpTU2NvcGUqIHMKIHsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCitpbmxpbmUgSlNGdW5jdGlvbjo6SlNGdW5jdGlvbihWTSYgdm0s
IEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgSlNTY29wZSogc2NvcGUsIFN0cnVjdHVy
ZSogc3RydWN0dXJlKQorICAgIDogQmFzZSh2bSwgc2NvcGUsIHN0cnVjdHVyZSkKKyAgICAsIG1f
ZXhlY3V0YWJsZSh2bSwgdGhpcywgZXhlY3V0YWJsZSkKKyAgICAsIG1fcmFyZURhdGEoKQorewor
fQorI2VuZGlmCisgICAgCiBpbmxpbmUgRnVuY3Rpb25FeGVjdXRhYmxlKiBKU0Z1bmN0aW9uOjpq
c0V4ZWN1dGFibGUoKSBjb25zdAogewogICAgIEFTU0VSVCghaXNIb3N0RnVuY3Rpb25Ob25Jbmxp
bmUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVj
dC5jcHAKaW5kZXggNTA3ZDhiYzA0YmM5NDJhY2IxMzE5MTFhYzNkMzBhMDk4YWYwZDNjOS4uMzY1
YWIxMWEwM2IyNjk3MDBlOGQ0YzAwNzkwNTliZjQxZTViOTczMyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtNTgsNiArNTgsNyBA
QAogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIkpTQXJy
YXlCdWZmZXJQcm90b3R5cGUuaCIKICNpbmNsdWRlICJKU0FycmF5SXRlcmF0b3IuaCIKKyNpbmNs
dWRlICJKU0Fycm93RnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNp
bmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgi
CkBAIC0yMzQsNiArMjM1LDkgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChWTSYgdm0pCiAg
ICAgZXhlYy0+c2V0Q2FsbGVlKG1fZ2xvYmFsQ2FsbGVlLmdldCgpKTsKIAogICAgIG1fZnVuY3Rp
b25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0Z1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0s
IHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgIG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRo
aXMsIEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9u
UHJvdG90eXBlLmdldCgpKSk7CisjZW5kaWYKICAgICBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUu
c2V0KHZtLCB0aGlzLCBKU0JvdW5kRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywg
bV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOwogICAgIG1fbmFtZWRGdW5jdGlvblN0cnVjdHVy
ZS5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBtX2Z1
bmN0aW9uU3RydWN0dXJlLmdldCgpLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBEb250RGVsZXRl
IHwgUmVhZE9ubHkgfCBEb250RW51bSwgbV9mdW5jdGlvbk5hbWVPZmZzZXQpKTsKICAgICBtX2lu
dGVybmFsRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBJbnRlcm5hbEZ1bmN0aW9uOjpj
cmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKQEAg
LTc2Myw2ICs3NjcsOSBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojp2aXNpdENoaWxkcmVuKEpTQ2Vs
bCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNP
YmplY3QtPm1fY2FsbGVlU3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVj
dC0+bV9mdW5jdGlvblN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3Qt
Pm1fYm91bmRGdW5jdGlvblN0cnVjdHVyZSk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9hcnJvd0Z1bmN0aW9u
U3RydWN0dXJlKTsKKyNlbmRpZgogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX25h
bWVkRnVuY3Rpb25TdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5t
X3N5bWJvbE9iamVjdFN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3Qt
Pm1fcmVnRXhwU3RydWN0dXJlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbE9iamVjdC5oCmluZGV4IDU4OWZhMzk2ZmUxOWM4N2RjZWMyNWM4MTAzMmI0ZWY4YTJi
MDAwY2MuLmRkMWFiMDMyYmQxNGIyOGRlYjE2MGY0YmRhMzg4NGZkZDY5NDg2NDEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtMjI5LDYg
KzIyOSw5IEBAIHByb3RlY3RlZDoKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2NhbGxl
ZVN0cnVjdHVyZTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2Z1bmN0aW9uU3RydWN0
dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYm91bmRGdW5jdGlvblN0cnVjdHVy
ZTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFdyaXRlQmFycmll
cjxTdHJ1Y3R1cmU+IG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZTsKKyNlbmRpZgogICAgIFdyaXRl
QmFycmllcjxTdHJ1Y3R1cmU+IG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZTsKICAgICBQcm9wZXJ0
eU9mZnNldCBtX2Z1bmN0aW9uTmFtZU9mZnNldDsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJl
PiBtX3ByaXZhdGVOYW1lU3RydWN0dXJlOwpAQCAtNDY3LDYgKzQ3MCw5IEBAIHB1YmxpYzoKICAg
ICBTdHJ1Y3R1cmUqIGNhbGxlZVN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbGVlU3Ry
dWN0dXJlLmdldCgpOyB9CiAgICAgU3RydWN0dXJlKiBmdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0
IHsgcmV0dXJuIG1fZnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUqIGJv
dW5kRnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2JvdW5kRnVuY3Rpb25TdHJ1
Y3R1cmUuZ2V0KCk7IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
IFN0cnVjdHVyZSogYXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXJy
b3dGdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQorI2VuZGlmCiAgICAgU3RydWN0dXJlKiBuYW1l
ZEZ1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lZEZ1bmN0aW9uU3RydWN0
dXJlLmdldCgpOyB9CiAgICAgUHJvcGVydHlPZmZzZXQgZnVuY3Rpb25OYW1lT2Zmc2V0KCkgY29u
c3QgeyByZXR1cm4gbV9mdW5jdGlvbk5hbWVPZmZzZXQ7IH0KICAgICBTdHJ1Y3R1cmUqIG51bWJl
ck9iamVjdFN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fbnVtYmVyT2JqZWN0U3RydWN0dXJl
LmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci0xLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rl
c3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzcGFyYW10ZXItMS5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MzYx
YjhkYjAyMjgyNzk2ZDFiYjA0ZjVkYmQ0MDE5YjcyODlmMmNjCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzcGFyYW10
ZXItMS5qcwpAQCAtMCwwICsxLDggQEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3Zh
ciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlm
IChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVk
ICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsK
KwordGVzdENhc2UoIiIgKyBbMSwgMiwgMywgNF0ubWFwKHggPT4geCwgMzIpLCAiMSwyLDMsNCIs
ICJFcnJvcjogYXJyb3cgZnVuY3Rpb24gYXMgdGhlIHBhcmFtdGVycy4iKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3BhcmFt
dGVyLTIuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tYXNwYXJhbXRlci0yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNmMjkzMmZjMTQ0ZDM2YzcwZjA2MWY4ZTY4
ODg4M2U0NGFmY2ZkMTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci0yLmpzCkBAIC0wLDAgKzEsMTUg
QEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9u
IChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVk
KSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywg
YnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGYgPSBmdW5jdGlvbiAo
Y2wsIHBhcmFtdGVyKSB7IHJldHVybiBjbChwYXJhbXRlcik7IH07Cit2YXIgZjIgPSBmdW5jdGlv
biAoY2wsIHBhcmFtdGVyMSwgcGFyYW10ZXIyKSB7IHJldHVybiBjbChwYXJhbXRlcjEsIHBhcmFt
dGVyMik7IH07CisKK3Jlc3VsdCA9IGYoeD0+e3JldHVybiB4ICogMjU7fSwgMTIxKTsKK3Rlc3RD
YXNlKHJlc3VsdCwgMjUqMTIxICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiBmKHggPT4ge3JldHVybiB4ICogMjU7
fSwgMTIxKSIpOworCityZXN1bHQgPSBmMigoeCwgeSk9PntyZXR1cm4geCAqIHk7fSwgMTQsIDEy
KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTQqMTIgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6IGYoKHgsIHkpPT57cmV0
dXJuIHggKiB5O30sIDE0LCAxMjEpKSIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHktMS5qcyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5
LTEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZmQxZDQ3YTQ4MDc1ZWM1OThjNmJlMWUwN2Q3OGEzNTI2MzUzYTkx
MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTEuanMKQEAgLTAsMCArMSwxMyBAQAorLy8gSW5z
cGlyZWQgYnkgbW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwg
ZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0
aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICci
ICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgYWYxLCBhZjIsIGFmMzsKK2FmMSA9IGFm
MiA9IGFmMyA9PiBhZjEgPSBhZjIgPSBhZjM7Cit0ZXN0Q2FzZShhZjEsIGFmMiwgIkVycm9yOiB3
cm9uZyBhc3NvY2lhdGl2aXR5ICMxLiIpOworYWYxKDEzKTsKK3Rlc3RDYXNlKGFmMiwgMTMsICJF
cnJvcjogd3JvbmcgYXNzb2NpYXRpdml0eSAjMi4iKTsKK3Rlc3RDYXNlKGFmMSwgMTMsICJFcnJv
cjogd3JvbmcgYXNzb2NpYXRpdml0eSAjMy4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTIuanMgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRp
dml0eS0yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJlZGQ4MzljNmJjN2VkNmE0MGVmZmJiYzg3NTRlZDFiZmQ4
MDZiNDMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0yLmpzCkBAIC0wLDAgKzEsMTQgQEAKKy8v
IEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1
YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7Cisg
ICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdh
cyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIHM9IiI7CitzICs9IHggPT4geC5u
YW1lOworCisvLyBGaXggbWUuIFBvc3NpYmxlIHdlIGhhdmUgbm90IHVzZSB0aGUgSlNCb3VudEZ1
bmN0aW9uIHdyYXBwZXIgZm9yIHRoZSBsZXhpY2FsCisvLyBiaW5kaW5nIG9mIHRoZSB0aGlzIGFu
ZCB1c2UgZGlyZWN0IGluamVjdGlvbiBvZiB0aGUgJ3RoaXMnIHZhbHVlCisvLyBpbnRvIGFycnJv
dyBmdW5jdGlvbgorLy8gdGVzdENhc2UocywgInggPT4geC5uYW1lIiAsICJFcnJvcjogd3Jvbmcg
dG9TdHJpbmcgY29udmVyc2lvbi4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LmpzIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHkuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjdlZDE1M2NlZWJhNTI2MjI4ZWNhODIxMzA0NjlhOTI0NGIxNGMwNQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1hc3NvY2lhdGl2aXR5LmpzCkBAIC0wLDAgKzEsMTAgQEAKKy8vIEluc3BpcmVkIGJ5
IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVk
LCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVz
c2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVh
bCArICInIjsKKyAgfQorfTsKKwordmFyIGFmID0gYSA9PiBiID0+IGE7CisKK3Rlc3RDYXNlKGFm
KCdBQkMnKSgnREVGJyksICdBQkMnLCAiRXJyb3I6IHdyb25nIG5lc3RlZCBhcnJvdyBmdW5jdGlv
bnMuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tYmxvY2stMS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi1ibG9jay0xLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBjNTcxYmI3MmZjZmVmNTMw
YzU5ZGI0Yjg2MGNhNGYwYTk2YTQxMTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2stMS5qcwpAQCAtMCwwICsx
LDExIEBACisvLyBJbnNwaXJlZCBieSBtb3ppbGxhIHRlc3RzCit2YXIgdGVzdENhc2UgPSBmdW5j
dGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBl
Y3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsg
IicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBmID0gKCkgPT4g
e307Cit0ZXN0Q2FzZSh0eXBlb2YgZigpLCAndW5kZWZpbmVkJywgIkVycm9yOiB3cm9uZyBhcnJv
dyBmdW5jdGlvbiBibG9jay4iKTsKK3ZhciBnID0gKCkgPT4gKHt9KTsKK3Rlc3RDYXNlKHR5cGVv
ZiBnKCksICdvYmplY3QnLCAiRXJyb3I6IHdyb25nIGFycm93IGZ1bmN0aW9uIGJsb2NrLiIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0
aW9uLWJsb2NrLTIuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93
ZnVuY3Rpb24tYmxvY2stMi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40N2VlMzUyY2YwMWQxMzZlMzAyOTIyNzM2
YzVjODBlZjUzYzAzZjZlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJsb2NrLTIuanMKQEAgLTAsMCArMSwxMCBAQAor
Ly8gSW5zcGlyZWQgYnkgbW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFj
dHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsK
KyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQg
d2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgYWYgPSBhID0+IHsgYSArIDE7
IH07CisKK3Rlc3RDYXNlKHR5cGVvZiBhZigwKSwgJ3VuZGVmaW5lZCcsICJFcnJvcjogd3Jvbmcg
YXJyb3cgZnVuY3Rpb24gYmxvY2sgIzIuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYm91bmQuanMgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYm91bmQuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YTczMjBmNGVjNzg4ZWExNDkwYWZjNzJlYzEyNTFlZTBhNmUxZjdiNgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ib3Vu
ZC5qcwpAQCAtMCwwICsxLDE2IEBACit2YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVu
Y3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhw
ZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCAr
ICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgZCA9IHsKKyAg
eCA6ICJiYXIiLAorICB5IDogZnVuY3Rpb24oKSB7IHJldHVybiB6ID0+IHRoaXMueCArIHo7IH0K
K307CisKK3ZhciBlID0geyB4IDogImJheiIgfTsKKwordGVzdENhc2UoZC55KCkuYmluZChlLCAi
bGV5IikoKSwgImJhcmxleSIsICJFcnJvcjogZnVuY3Rpb24gYmluZCBzaG91bGRuJ3QgY2hhbmdl
IGxleGljYWwgYmluZGluZyBvZiB0aGUgYXJyb3cgZnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1jYWxsLmpzIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNhbGwuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjRmOWFhNTA0ZDcwZDcwZDY4Y2RhYTVhNDgyYTQ2NTBhNDVmZGY3YwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1jYWxsLmpzCkBAIC0wLDAgKzEsMTggQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVz
dENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0
dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiAr
IGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3Zh
ciBkID0geworICB4IDogImZvbyIsCisgIHkgOiBmdW5jdGlvbigpIHsgcmV0dXJuICgpID0+IHRo
aXMueDsgfQorfTsKKwordmFyIGUgPSB7IHggOiAiYmFyIiB9OworCit0ZXN0Q2FzZShkLnkoKS5j
YWxsKGUpLCAiZm9vIiwgIkVycm9yOiBmdW5jdGlvbiBjYWxsIHNob3Vsbid0IGNoYW5nZSB0aGUg
bGV4aWNhbCBiaW5kaW5nIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShkLnko
KS5hcHBseShlKSwgImZvbyIsICJFcnJvcjogZnVuY3Rpb24gYXBwbHkgc2hvdWxuJ3QgY2hhbmdl
IHRoZSBsZXhpY2FsIGJpbmRpbmcgb2YgdGhlIGFycm93IGZ1bmN0aW9uIik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY29uc3Ry
dWN0b3IuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjU4YjE2ZDdiNWUyOTc0NGMzM2Y3ODZiNGJm
MTZiZjQ0ZmViMWUyOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDE4IEBA
Cit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgewor
ICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBl
Y3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0K
K307CisKK3ZhciBzaW1wbGVBcnJvd0Z1bmN0aW9uID0gKCkgPT4ge307CisKK3ZhciBlcnJvck9u
Q3JlYXRlID0gZmFsc2U7CisKK3RyeSB7CisgIHZhciBmYyA9IG5ldyBzaW1wbGVBcnJvd0Z1bmN0
aW9uKCk7Cit9CitjYXRjaCAoZSkgeworICBlcnJvck9uQ3JlYXRlID0gdHJ1ZTsKK30KKwordGVz
dENhc2UoZXJyb3JPbkNyZWF0ZSwgdHJ1ZSwgIkVycm9yOiBObyBleGNlcHRpb24gZHVyaW5nIHJ1
biBuZXcgQXJyb3dGdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtYXJndW1lbnRzLmpzIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtYXJndW1l
bnRzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjFlYjY3NjNhNjUyNjk4MTY1YzBmZGIyZDhiYzIwNzNkMmJjZDNi
MWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L2Fycm93ZnVuY3Rpb24tbGV4aWNhbC1hcmd1bWVudHMuanMKQEAgLTAsMCArMSwxNCBAQAordmFy
IHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYg
KGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQg
JyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9Owor
CitmdW5jdGlvbiBhZkNyZWF0b3IoKSB7CisgICAgcmV0dXJuIGEgPT4gYXJndW1lbnRzWzBdOwor
fQorCit2YXIgYWYgPSBhZkNyZWF0b3IoMTIpOworCisvL0ZpeG1lOiBsZXhpY2FsIGJpbmQgb2Yg
dGhlIGFyZ3VtZW50cyBpcyBub3QgaW1wbGVtZW50ZWQKKy8vdGVzdENhc2UoYWYoNiksIDEyLCAi
RXJyb3I6IGFyZ3VtZW50cyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFy
cm93IGZ1bmN0aW9uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTEuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjU1MzFmNTc1NjJmMjg2OGVlYWQzOWZjZDY2ZWU1MDc4YmFjZWQxYgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1sZXhpY2FsLXRoaXMtMS5qcwpAQCAtMCwwICsxLDE3IEBACit2YXIgcmVzdWx0OworCisgdmFy
IHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYg
KGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQg
JyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9Owor
CitmdW5jdGlvbiBEb2cobmFtZSkgeworICB0aGlzLm5hbWUgPSBuYW1lOworICB0aGlzLmdldE5h
bWUgPSAoKSA9PiBldmFsKCJ0aGlzLm5hbWUiKTsKKyAgdGhpcy5nZXROYW1lSGFyZCA9ICgpID0+
IGV2YWwoIigoKSA9PiB0aGlzLm5hbWUpKCkiKTsKK30KKwordmFyIGQgPSBuZXcgRG9nKCJNYXgi
KTsKK3Rlc3RDYXNlKGQuZ2V0TmFtZSgpLCBkLm5hbWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4
aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMxIik7Cit0ZXN0Q2Fz
ZShkLmdldE5hbWVIYXJkKCksIGQubmFtZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkg
YmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzIiKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRo
aXMtMi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1sZXhpY2FsLXRoaXMtMi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45OGI1M2IyOThiYmIwYjUzZTQwNzFjOTk3
ZDgxMjM1MTFhZjYzOWQ5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtdGhpcy0yLmpzCkBAIC0wLDAgKzEs
MzMgQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBl
eHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRo
cm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIg
KyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBhZk9iakxleEJpbmQyID0gZnVuY3Rpb24g
KCkgeworICB0aGlzLmZ1bmMgPSAoKSA9PiB0aGlzOworfTsKKwordmFyIGFmT2JqTGV4QmluZDJJ
bnN0YW5jZSA9IG5ldyBhZk9iakxleEJpbmQyKCk7CisKK3Rlc3RDYXNlKGFmT2JqTGV4QmluZDJJ
bnN0YW5jZS5mdW5jKCkgPT09IGFmT2JqTGV4QmluZDJJbnN0YW5jZSwgdHJ1ZSwgIkVycm9yOiB0
aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24g
IzIiKTsKKwordmFyIG9iaiA9IHsKKyAgbWV0aG9kOiBmdW5jdGlvbiAoKSB7CisgICAgcmV0dXJu
ICgpID0+IHRoaXM7CisgIH0KK307CisKK3Rlc3RDYXNlKG9iai5tZXRob2QoKSgpID09PSBvYmos
IHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhl
IGFycm93IGZ1bmN0aW9uICMzIik7CisKK3ZhciBmYWtlID0ge3N0ZWFsOiBvYmoubWV0aG9kKCl9
OwordGVzdENhc2UoZmFrZS5zdGVhbCgpID09PSBvYmosIHRydWUsICJFcnJvcjogdGhpcyBpcyBu
b3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM0Iik7CisK
KwordmFyIHJlYWwgPSB7Ym9ycm93OiBvYmoubWV0aG9kfTsKK3Rlc3RDYXNlKHJlYWwuYm9ycm93
KCkoKSA9PT0gcmVhbCwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVk
IGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzUiKTsKK3Rlc3RDYXNlKHJlYWwuYm9ycm93
KCkoKSA9PT0gcmVhbCwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVk
IGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzYiKTsKK3Rlc3RDYXNlKHJlYWwuYm9ycm93
KCkoKSA9PT0gcmVhbCwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVk
IGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzciKTsKK3Rlc3RDYXNlKHJlYWwuYm9ycm93
KCkoKSA9PT0gcmVhbCwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVk
IGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzgiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1vdGhlcnMuanMgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tb3RoZXJzLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmZlYmExMWYzMDIyZTM0YTgwMDBhNTcwMDc2ZGIxYTU1YTRhMzJiMjEKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tb3RoZXJzLmpzCkBAIC0wLDAgKzEsMTMgQEAKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9u
IChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVk
KSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywg
YnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIHNpbXBsZUFycm93RnVu
Y3Rpb24gPSAoKSA9PiB7fTsKKwordGVzdENhc2UoT2JqZWN0LmdldFByb3RvdHlwZU9mKHNpbXBs
ZUFycm93RnVuY3Rpb24pLCBGdW5jdGlvbi5wcm90b3R5cGUsICJFcnJvcjogTm90IGNvcnJlY3Qg
Z2V0UHJvdG90eXBlT2YgdmFsdWUgZm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHNp
bXBsZUFycm93RnVuY3Rpb24gaW5zdGFuY2VvZiBGdW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3Qg
Y29ycmVjdCByZXN1bHQgZm9yIGluc3RhbmNlb2YgbWV0aG9kIGZvciBhcnJvdyBmdW5jdGlvbiIp
OworCit0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uLmNvbnN0cnVjdG9yID09IEZ1bmN0aW9u
LCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgY29uc3RydWN0b3IgbWV0aG9k
IG9mIGFycm93IGZ1bmN0aW9uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTEuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MDdhMWYwYTQ5Y2IxNjg2M2M1OTIxMzYxZjBhZGIxZTE0ZWM5YjY1YQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4t
MTAtMS5qcwpAQCAtMCwwICsxLDI0IEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFs
LCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAg
IHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMg
JyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK2Z1bmN0aW9uIHJ1bihjb3VudCkgeworICB2
YXIgcmVzdWx0ID0gdHJ1ZTsKKyAgZm9yKHZhciBpPTA7IGk8Y291bnQ7IGkrKykgeworICAgIHZh
ciBPYmogPSBmdW5jdGlvbiAobmFtZSkgeworICAgICAgdGhpcy5uYW1lID0gbmFtZTsKKyAgICAg
IHRoaXMuZ2V0TmFtZSA9ICgpID0+IHRoaXMubmFtZTsKKyAgICB9OworCisgICAgdmFyIG9iaiA9
IG5ldyBPYmooIkl0ZW0iICsgaSk7CisgICAgaWYgKG9iai5uYW1lICE9PSBvYmouZ2V0TmFtZSgp
KSB7CisgICAgICByZXN1bHQgPSBmYWxzZTsKKyAgICB9CisgIH0KKyAgcmV0dXJuIHJlc3VsdDsK
K30KKwordGVzdENhc2UocnVuKDEpLCB0cnVlLCAiRXJyb3I6IEVycm9yOiBkdXJpbmcgZXhlY3V0
aW9uIG9mIGFycm93IGZ1bmN0aW9uIG9uZSB0aW1lIik7Cit0ZXN0Q2FzZShydW4oMTApLCB0cnVl
LCAiRXJyb3I6IEVycm9yOiBkdXJpbmcgZXhlY3V0aW9uIG9mIGFycm93IGZ1bmN0aW9uIDEwIHRp
bWVzIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tcnVuLTEwLTIuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWRkY2RiM2M3MGExYjI3
YzNkYmI1MjM4MDk1NWY1MzUzZDc2NzQyNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAtMi5qcwpAQCAtMCww
ICsxLDI1IEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVz
c2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2Ug
KyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAi
JyI7CisgIH0KK307CisKK2Z1bmN0aW9uIHJ1bihjb3VudCkgeworICB2YXIgcmVzdWx0ID0gdHJ1
ZTsKKyAgZm9yKHZhciBpPTA7IGk8Y291bnQ7IGkrKykgeworICAgIHZhciBPYmogPSBmdW5jdGlv
biAobmFtZSkgeworICAgICAgdGhpcy5uYW1lID0gbmFtZTsKKyAgICAgIHRoaXMuZ2V0TmFtZSA9
ICgpID0+IGV2YWwoInRoaXMubmFtZSIpOzsKKyAgICB9OworCisKKyAgICB2YXIgb2JqID0gbmV3
IE9iaigiSXRlbSIgKyBpKTsKKyAgICBpZiAob2JqLm5hbWUgIT09IG9iai5nZXROYW1lKCkpIHsK
KyAgICAgIHJlc3VsdCA9IGZhbHNlOworICAgIH0KKyAgfQorICByZXR1cm4gcmVzdWx0OworfQor
Cit0ZXN0Q2FzZShydW4oMSksIHRydWUsICJFcnJvcjogZHVyaW5nIGV4ZWN1dGlvbiBvZiBhcnJv
dyBmdW5jdGlvbiBvbmUgdGltZSIpOwordGVzdENhc2UocnVuKDEwKSwgdHJ1ZSwgIkVycm9yOiBk
dXJpbmcgZXhlY3V0aW9uIG9mIGFycm93IGZ1bmN0aW9uIDEwIHRpbWVzIik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEw
MDAwLTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tcnVuLTEwMDAwLTEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGU1ZjZiYzg2YmQzMTQ1MWIwMWNhMjdkMGI5
NzIwYjU3ZThkNjA1MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAwMDAtMS5qcwpAQCAtMCwwICsxLDIzIEBA
Cit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgewor
ICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBl
Y3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0K
K307CisKK2Z1bmN0aW9uIHJ1bihjb3VudCkgeworICB2YXIgcmVzdWx0ID0gdHJ1ZTsKKyAgZm9y
KHZhciBpPTA7IGk8Y291bnQ7IGkrKykgeworICAgIHZhciBPYmogPSBmdW5jdGlvbiAobmFtZSkg
eworICAgICAgdGhpcy5uYW1lID0gbmFtZTsKKyAgICAgIHRoaXMuZ2V0TmFtZSA9ICgpID0+IHRo
aXMubmFtZTsKKyAgICB9OworCisgICAgdmFyIG9iaiA9IG5ldyBPYmooIkl0ZW0iICsgaSk7Cisg
ICAgaWYgKG9iai5uYW1lICE9PSBvYmouZ2V0TmFtZSgpKSB7CisgICAgICByZXN1bHQgPSBmYWxz
ZTsKKyAgICB9CisgIH0KKyAgcmV0dXJuIHJlc3VsdDsKK30KKwordGVzdENhc2UocnVuKDEwMDAw
KSwgdHJ1ZSwgIkVycm9yOiBFcnJvcjogZHVyaW5nIGV4ZWN1dGlvbiBvZiBhcnJvdyBmdW5jdGlv
biAxMDAwMCB0aW1lcyIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMDAwMC0yLmpzIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMDAwMC0yLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljk1MzBmMmMxZDVhN2Y1NWNlNDZiOGJlNjk5MDhiNGJjMjFlMDUyN2IKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVu
LTEwMDAwLTIuanMKQEAgLTAsMCArMSwyMyBAQAordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFj
dHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsK
KyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQg
d2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCitmdW5jdGlvbiBydW4oY291bnQpIHsK
KyAgdmFyIHJlc3VsdCA9IHRydWU7CisgIGZvcih2YXIgaT0wOyBpPGNvdW50OyBpKyspIHsKKyAg
ICB2YXIgT2JqID0gZnVuY3Rpb24gKG5hbWUpIHsKKyAgICAgIHRoaXMubmFtZSA9IG5hbWU7Cisg
ICAgICB0aGlzLmdldE5hbWUgPSAoKSA9PiBldmFsKCJ0aGlzLm5hbWUiKTs7CisgICAgfTsKKwor
ICAgIHZhciBvYmogPSBuZXcgT2JqKCJJdGVtIiArIGkpOworICAgIGlmIChvYmoubmFtZSAhPT0g
b2JqLmdldE5hbWUoKSkgeworICAgICAgcmVzdWx0ID0gZmFsc2U7CisgICAgfQorICB9CisgIHJl
dHVybiByZXN1bHQ7Cit9CisKK3Rlc3RDYXNlKHJ1bigxMDAwMCksIHRydWUsICJFcnJvcjogRXJy
b3I6IGR1cmluZyBleGVjdXRpb24gb2YgYXJyb3cgZnVuY3Rpb24gMTAwMDAgdGltZXMiKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1zeW50YXguanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tc3ludGF4LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhmZTExZDViZWUwZGJkNTU2NDhhYzQzZGZmY2U0
ZTRlMmU5MGUyODgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tc3ludGF4LmpzCkBAIC0wLDAgKzEsMTE2IEBACit2YXIg
cmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1l
c3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdl
ICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsg
IiciOworICB9Cit9OworCit2YXIgYWYwID0gdiA9PiB2ICsgMTsKK3Rlc3RDYXNlKGFmMCgxMCks
IDExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246
IHYgPT4gdiArIDEiKTsKKwordmFyIGFmMSA9ICh2KSA9PiB2ICogMjsKK3Rlc3RDYXNlKGFmMSgx
MCksIDIwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b246ICh2KSA9PiB2ICsgMSIpOworCit2YXIgYWYyID0gKCkgPT4gMTAwMDsKK3Rlc3RDYXNlKGFm
MigxMjEyKSwgMTAwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uOiAoKSA9PiAxMDAwIik7CisKK3ZhciBhID0gMTUxOwordmFyIGFmMl8xID0gKCkg
PT4gYTsKK3Rlc3RDYXNlKGFmMl8xKDEyMSksIGEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKCkgPT4gdmFyaWFibGUiKTsKKwordmFyIGFmMyA9
ICh2LCB4KSA9PiB2ICsgeDsKK3Rlc3RDYXNlKGFmMygxMSwxMiksIDIzICwiRXJyb3I6IE5vdCBj
b3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICh4LCB5KSA9PiB4ICsgeSIp
OworCit2YXIgYWZ3cmFwcGVyID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRlcikgeyByZXR1cm4gY2wo
cGFyYW10ZXIpOyB9OworCityZXN1bHQgPSBhZndyYXBwZXIoeCA9PiAxMjM0KTsKK3Rlc3RDYXNl
KHJlc3VsdCwgMTIzNCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYykiKTsKKworcmVzdWx0ID0gYWZ3cmFwcGVy
KHggPT4gMTIzNCwgMjM0NSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMzQgLCJFcnJvcjogTm90IGNv
cnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+
IGMsIHkpIik7CisKK3Jlc3VsdCA9IGFmd3JhcHBlcih4ID0+IDEyMSArIDIzMik7Cit0ZXN0Q2Fz
ZShyZXN1bHQsIDM1MyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYzEgKyBjMikiKTsKKworcmVzdWx0ID0gYWZ3
cmFwcGVyKHggPT4gMTIzICsgMzIxLCA5OTk5KTsKK3Rlc3RDYXNlKHJlc3VsdCwgNDQ0ICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10
ZXI6IGYoeCA9PiBjMSArIGMyLCB5KSIpOworCityZXN1bHQgPSBhZndyYXBwZXIoeCA9PiB4ICsg
MTIsIDIxKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IHggKyBjMSwgeSki
KTsKKworcmVzdWx0ID0gYWZ3cmFwcGVyKCh4KSA9PiB4ICsgMjEsIDMyKTsKK3Rlc3RDYXNlKHJl
c3VsdCwgNTMsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbiBhcyBwYXJhbXRlcjogZigoeCkgPT4gYzEgKyBjMiwgeSkiKTsKKworcmVzdWx0ID0gYWZ3
cmFwcGVyKCgpID0+IDEwMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMCwgIkVycm9yOiBOb3QgY29y
cmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+
IGMpIik7CisKK3ZhciBleHRfdmFsdWUgPSAxMjE7CityZXN1bHQgPSBhZndyYXBwZXIoKCkgPT4g
ZXh0X3ZhbHVlKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIxLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gdikiKTsK
KworcmVzdWx0ID0gYWZ3cmFwcGVyKCgpID0+IGV4dF92YWx1ZSAqIDEwKTsKK3Rlc3RDYXNlKHJl
c3VsdCwgMTIxMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1
bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IHYqeCkiKTsKKworcmVzdWx0ID0gYWZ3cmFwcGVy
KCh4KSA9PiBleHRfdmFsdWUgKiB4LCAzMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDMwKmV4dF92YWx1
ZSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFz
IHBhcmFtdGVyOiBmKCh4KSA9PiB2KngsIHkpIik7CisKK3Jlc3VsdCA9IGFmd3JhcHBlcigoKSA9
PiAxMDAsIDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYzEsIHkp
Iik7CisKKyByZXN1bHQgPSBhZndyYXBwZXIoKCkgPT4gMTAwICsgMTApOwordGVzdENhc2UocmVz
dWx0LCAxMTAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjMSArIGMyKSIpOworCityZXN1bHQgPSBhZndyYXBw
ZXIoKCkgPT4gMTAwICsgMTEsIDEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTExICwiRXJyb3I6IE5v
dCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYo
KCkgPT4gYzEgKyBjMiwgeSkiKTsKKwordmFyIGFycm93RnVuY3Rpb240ID0gdiA9PiB2ICsgMSwg
eHl6MSA9IDEwMTAxOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjQoMTAxMSk7Cit0ZXN0Q2FzZShy
ZXN1bHQsIDEwMTIgLCJFcnJvcjogTm90IGNvcnJlY3QgcGFyc2luZyBvZiB0aCBhcnJvdyBmdW5j
dGlvbiBpbnNpZGUgb2YgdGhlIGxpc3Qgb2YgdmFyczogdmFyIGFmID0gdj0+IHYgKyAxOyB6eGM9
YzsiKTsKK3Rlc3RDYXNlKHh5ejEsIDEwMTAxICwiRXJyb3I6IE5vdCBjb3JyZWN0IHBhcnNpbmcg
b2YgdGggYXJyb3cgZnVuY3Rpb24gaW5zaWRlIG9mIHRoZSBsaXN0IG9mIHZhcnM6IHZhciBhZiA9
IHY9PiB2ICsgMTsgenhjPWM7Iik7CisKK3ZhciBhZndyYXBwZXIyID0gZnVuY3Rpb24gKGNsLCBw
YXJhbXRlcjEsIHBhcmFtdGVyMikgeyByZXR1cm4gY2wocGFyYW10ZXIxLCBwYXJhbXRlcjIpOyB9
OworcmVzdWx0ID0gYWZ3cmFwcGVyMigoeCwgeSkgPT4geCArIHksIDEyICw0Myk7Cit0ZXN0Q2Fz
ZShyZXN1bHQsIDU1ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24gYXMgcGFyYW1ldGVyOiBmKCh4LCB5KSA9PiB4ICsgeSwgYzEsIGMyKSIpOworCit2
YXIgYWZBcnIwID0gW3YgPT4gdiAqIDEwXTsKK3Jlc3VsdCA9IGFmQXJyMFswXSgxMCk7Cit0ZXN0
Q2FzZShyZXN1bHQsIDEwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFy
cm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFt2PT52KjEwXSIpOworCit2YXIgYWZBcnIx
ID0gW3YgPT4gdiArIDEsIHYgPT4gdiArIDJdOworcmVzdWx0ID0gYWZBcnIxWzBdKDEwKTsKK3Rl
c3RDYXNlKHJlc3VsdCwgMTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbdiA9PiB2ICsgMSwgIHYgPT4gdiArIDJd
Iik7CityZXN1bHQgPSBhZkFycjFbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMyAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4g
YXJyYXk6IFt2ID0+IHYgKyAxLCAgdiA9PiB2ICsgMl0iKTsKKwordmFyIGFmQXJyMiA9IFsodikg
PT4gdiArIDEsICh2KSA9PiB2ICsgMl07CityZXN1bHQgPSBhZkFycjJbMF0oMTEpOwordGVzdENh
c2UocmVzdWx0LCAxMiAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsodikgPT4gdiArIDEsICAodikgPT4gdiArIDJd
Iik7CityZXN1bHQgPSBhZkFycjJbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMyAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4g
YXJyYXk6IFsodikgPT4gdiArIDEsICAodikgPT4gdiArIDJdIik7CisKK3ZhciBhZkFycjMgPSBb
KCkgPT4gMTAxLCAoKSA9PiAxMjMyM107CityZXN1bHQgPSBhZkFycjNbMF0oMTEpOwordGVzdENh
c2UocmVzdWx0LCAxMDEsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKCkgPT4gYzEsICAoKSA9PiBjMl0iKTsKK3Jl
c3VsdCA9IGFmQXJyM1sxXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMzIzLCAiRXJyb3I6IE5v
dCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJh
eTogWygpID0+IGMxLCAgKCkgPT4gYzJdIik7CisKK3ZhciBhZk9iaiA9IHtmdW5jIDogeSA9PiB5
ICsgMTJ9OworcmVzdWx0ID0gYWZPYmouZnVuYygxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIzICwg
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBy
b3BlcnR5OiB7ZnVuYyA6IHkgPT4geSArIDEyIH0iKTsKKwordmFyIGFmQmxvY2swID0gKCkgPT4g
eyByZXR1cm4gMTAwMDsgfTsKK3Jlc3VsdCA9IGFmQmxvY2swKDExKTsKK3Rlc3RDYXNlKHJlc3Vs
dCwgMTAwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0
aW9uIHdpdGggYm9keSBhcyBibG9jazogKCkgPT4geyByZXR1cm4gMTAwMDsgfSIpOworCit2YXIg
YWZCbG9jazEgPSB2ID0+IHsgdmFyIGludHZhbCA9IDEwMDsgcmV0dXJuIHYgKiBpbnR2YWw7IH07
CityZXN1bHQgPSBhZkJsb2NrMSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDExMDAgLCJFcnJvcjog
Tm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMg
YmxvY2s6IHggPT4geyB2YXIgdj0xMDAwOyByZXR1cm4gdip4OyB9Iik7CisKK3ZhciBhZkJsb2Nr
MiA9ICh2KSA9PiB7IHZhciBpbnQgPSAyMDA7IHJldHVybiB2ICogaW50OyB9OworcmVzdWx0ID0g
YWZCbG9jazIoMTEpOwordGVzdENhc2UocmVzdWx0LCAyMjAwICwiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiAoeCkg
PT4geyB2YXIgdj0xMDAwOyByZXR1cm4gdip4OyB9Iik7CisKK3ZhciBhZkJsb2NrMyA9ICh2LCB4
KSA9PiB7IHZhciByZXN1bHQgPSB4ICogdjsgcmV0dXJuIHJlc3VsdDsgfTsKK3Jlc3VsdCA9IGFm
QmxvY2szKDExLCAxMjIyMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDEzNDQ0MiAsIkVycm9yOiBOb3Qg
Y29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9j
azogKHYsIHgpID0+IHsgdmFyIHJlc3VsdCA9IHggKiB2OyByZXR1cm4gcmVzdWx0OyB9Iik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tdGR6LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0
aW9uLXRkei5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOWQzNWNkZWE0YmFmNjY3NDMxYWY4YWJlOGRhZGYyMmQw
NGI5MGUxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9hcnJvd2Z1bmN0aW9uLXRkei5qcwpAQCAtMCwwICsxLDI0IEBACit2YXIgQSA9IGNsYXNz
IEEgeyB9OwordmFyIEIgPSBjbGFzcyBCIGV4dGVuZHMgQSB7CisgIGNvbnN0cnVjdG9yKGFjY2Vz
c1RoaXNCZWZvcmVTdXBlcikgeworICAgIGlmIChhY2Nlc3NUaGlzQmVmb3JlU3VwZXIpIHsKKyAg
ICAgIHZhciBmID0gKCkgPT4gdGhpczsKKyAgICAgIHN1cGVyKCk7CisgICAgfSBlbHNlIHsKKyAg
ICAgIHN1cGVyKCk7CisgICAgfQorICB9Cit9OworCit2YXIgZXhjZXB0aW9uID0gbnVsbDsKK3Ry
eSB7CisgICAgIG5ldyBCKHRydWUpOworfSBjYXRjaCAoZSkgeworICAgIGV4Y2VwdGlvbiA9IGU7
CisgICAgaWYgKCEoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSkKKyAgICAgICAgdGhyb3cg
IkV4Y2VwdGlvbiB0aHJvd24gd2FzIG5vdCBhIHJlZmVyZW5jZSBlcnJvciI7Cit9CitpZiAoIWV4
Y2VwdGlvbikKKyAgICB0aHJvdyAiRXhjZXB0aW9uIG5vdCB0aHJvd24gZm9yIGFuIHVuaXRpYWxp
emVkIHRoaXMgYXQgaXRlcmF0aW9uIjsKKwordmFyIGUgPSBuZXcgQihmYWxzZSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tdHlw
ZW9mLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LXR5cGVvZi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZjJhN2Y1NDQ3NmFiYTljMjg5MjNjMzVmMWRiM2M0MzI3
YWM5NDY5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9hcnJvd2Z1bmN0aW9uLXR5cGVvZi5qcwpAQCAtMCwwICsxLDIxIEBACit2YXIgdGVzdENh
c2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFs
ICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4
cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBh
ZjEgPSAoKSA9PiB7fTsKK3ZhciBhZjIgPSAoYSkgPT4ge2EgKyAxfTsKKwordGVzdENhc2UodHlw
ZW9mIGFmMSwgImZ1bmN0aW9uIiwgIkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbiAjMSIpOwordGVzdENhc2UodHlwZW9mIGFmMS5wcm90b3R5cGUgPT09ICd1bmRl
ZmluZWQnLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJvdG90eXBlIG9m
IGFycm93IGZ1bmN0aW9uICMxIik7CisKK3Rlc3RDYXNlKHR5cGVvZiBhZjIsICJmdW5jdGlvbiIs
ICJFcnJvcjogTm90IGNvcnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzIiKTsKK3Rl
c3RDYXNlKHR5cGVvZiBhZjIucHJvdG90eXBlID09PSAndW5kZWZpbmVkJywgdHJ1ZSwgIkVycm9y
OiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiAjMiIp
OworCit0ZXN0Q2FzZSh0eXBlb2YgKCgpPT57fSksICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNv
cnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzMiKTsKK3Rlc3RDYXNlKHR5cGVvZiAo
KCk9Pnt9KS5wcm90b3R5cGUgPT09ICd1bmRlZmluZWQnLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3Jy
ZWN0IHJlc3VsdCBmb3IgcHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9uICMzIik7CisKKwordGVz
dENhc2UodHlwZW9mICgoYikgPT4ge2IgKyAxfSksICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNv
cnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzQiKTsKK3Rlc3RDYXNlKHR5cGVvZiAo
KGIpID0+IHtiICsgMX0pLnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJFcnJvcjog
Tm90IGNvcnJlY3QgcmVzdWx0IGZvciBwcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24gIzQiKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKaW5kZXggZmM5MGY2MTE1NjIzMWE0MWNhOTEzN2YxN2M3OTU1ZThkMzczYjBlYS4u
MGM4ODQwZjZhYjUxODVmODM1NGI3MDYwM2UwMjVmMjVhMmE3OWY0YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIv
U291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAg
LTQ0LDYgKzQ0LDcgQEAgRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORyA9IEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkc7CiBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBF
TkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVO
QUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9
IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYOwogRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZ
TlRBWCA9IEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVg7CiBFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CkBAIC0yMTUsNCArMjE2LDQg
QEAgRU5BQkxFX0pJVCA9IEVOQUJMRV9KSVQ7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FS
SVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFC
TEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NB
Q0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19Q
Uk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5U
QVgpICQoRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19M
RVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19D
T01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
R1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VM
RUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAk
KEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkp
ICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBP
UlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRF
TVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxf
MikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQo
RU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVO
QUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChF
TkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9U
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NT
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5B
QkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwp
ICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAk
KEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
TE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5B
QkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1Rf
QU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVf
UkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFC
TEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQ
VE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5B
QkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5U
KSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFC
TEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykg
JChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChF
TkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChF
TkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9U
SU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChF
TkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TQVRV
UkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RF
KTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkg
JChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFC
TEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJM
RV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
KSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChF
TkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcp
ICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VU
KSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNP
TFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZF
TDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NT
M19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9D
VVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJM
RV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJM
RV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVf
RE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxF
X0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1F
UEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAk
KEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRB
VEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElF
X1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
X1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQo
RU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQo
RU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJF
RklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVO
RE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQ
UkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9N
RURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVE
SUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQo
RU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJ
TFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJ
T05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5B
QkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNf
U1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9G
UkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQ
RUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9C
QU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVT
SVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJM
RV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhP
TkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lD
T05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxF
Q1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RB
VEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdM
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9T
T0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVO
QUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQp
ICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9V
VF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNmNm
OWQ5NjIxNGY3ZWYyMTNkYmU0MmI0MmYxOTdkODBjNTk0OTEwNi4uM2YyMDA1ZTJjOTFkMzg4OTY0
MDkyZDEyZDdjOTljNjJkN2VmNzk1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTYwMSw5ICsxNjAxLDkgQEAKIAkJNDQzMTFD
RDkxMkU0RTI1NzAwMEE4RDE5IC8qIERPTURvY3VtZW50RnJhZ21lbnRQcml2YXRlLmggaW4gQ29w
eSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
NDMxMUNENDEyRTRFMjJEMDAwQThEMTkgLyogRE9NRG9jdW1lbnRGcmFnbWVudFByaXZhdGUuaCAq
LzsgfTsKIAkJNDQzMTFGODIxMkU0RTY2QzAwMEE4RDE5IC8qIERPTURvY3VtZW50RnJhZ21lbnRJ
bnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODVFNzExNDUwQUM1RDUzNDAwNTMyNzBGIC8qIERPTURvY3VtZW50RnJhZ21lbnRJbnRlcm5hbC5o
ICovOyB9OwogCQk0NDM4MTdGRjFBOTFCMkY4MDA2RTA0RjIgLyogQ29yZU1lZGlhU29mdExpbmsu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzODE3
RkQxQTkxQjJGODAwNkUwNEYyIC8qIENvcmVNZWRpYVNvZnRMaW5rLmNwcCAqLzsgfTsKLQkJNDQz
OTE3RkYxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzOTE3RkQxQTkxQjJGODAwNkUw
NEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tICovOyB9OwogCQk0NDM4MTgwMDFBOTFCMkY4MDA2
RTA0RjIgLyogQ29yZU1lZGlhU29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ0MzgxN0ZFMUE5MUIyRjgwMDZFMDRGMiAvKiBDb3JlTWVkaWFT
b2Z0TGluay5oICovOyB9OwotCQk0NDM5MTgwMDFBOTFCMkY4MDA2RTA0RjIgLyogUXVpY2tMb29r
U29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ0MzkxN0ZFMUE5MUIyRjgwMDZFMDRGMiAvKiBRdWlja0xvb2tTb2Z0TGluay5oICovOyB9Owor
CQk0NDM5MTdGRjFBOTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzOTE3RkQxQTkx
QjJGODAwNkUwNEYyIC8qIGlvcy9RdWlja0xvb2tTb2Z0TGluay5tbSAqLzsgfTsKKwkJNDQzOTE4
MDAxQTkxQjJGODAwNkUwNEYyIC8qIGlvcy9RdWlja0xvb2tTb2Z0TGluay5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzOTE3RkUxQTkxQjJGODAwNkUw
NEYyIC8qIGlvcy9RdWlja0xvb2tTb2Z0TGluay5oICovOyB9OwogCQk0NDNGMDQyNzBFNzVDOEZC
MDA3RTU0MDcgLyogTmV0d29ya1N0YXRlTm90aWZpZXJJT1MubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDNGMDQyNjBFNzVDOEZCMDA3RTU0MDcgLyog
TmV0d29ya1N0YXRlTm90aWZpZXJJT1MubW0gKi87IH07CiAJCTQ0NDlBNDA1MUE5NjRCMDAwMEI2
NEFENSAvKiBDb3JlTWVkaWFTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ0NDlBNDA0MUE5NjRCMDAwMEI2NEFENSAvKiBDb3JlTWVkaWFTUEkuaCAq
LzsgfTsKIAkJNDQ0RDRFMjMwRjcwOEIyRTAwMzE1OEUwIC8qIFdlYkNvcmVVUkxSZXNwb25zZUlP
Uy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0NEQ0
RTIxMEY3MDhCMkUwMDMxNThFMCAvKiBXZWJDb3JlVVJMUmVzcG9uc2VJT1MubW0gKi87IH07CkBA
IC04NzY5LDkgKzg3NjksOSBAQAogCQk0NDMxMUNENDEyRTRFMjJEMDAwQThEMTkgLyogRE9NRG9j
dW1lbnRGcmFnbWVudFByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
RE9NRG9jdW1lbnRGcmFnbWVudFByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDQzMTFDRDUxMkU0RTIyRDAwMEE4RDE5IC8qIERPTURvY3VtZW50UHJpdmF0ZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01Eb2N1bWVudFByaXZhdGUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQzODE3RkQxQTkxQjJGODAwNkUwNEYyIC8qIENvcmVN
ZWRpYVNvZnRMaW5rLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENv
cmVNZWRpYVNvZnRMaW5rLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDQzOTE3
RkQxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDM4MTdGRTFBOTFCMkY4MDA2RTA0RjIgLyogQ29y
ZU1lZGlhU29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29yZU1l
ZGlhU29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDQzOTE3RkUxQTkx
QjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IGlvcy9RdWlja0xvb2tTb2Z0TGluay5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0NDM5MTdGRDFBOTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRM
aW5rLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gaW9zL1F1aWNr
TG9va1NvZnRMaW5rLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NDM5MTdGRTFB
OTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IGlvcy9RdWlja0xvb2tTb2Z0TGluay5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0NDNGMDQyNjBFNzVDOEZCMDA3RTU0MDcgLyogTmV0d29ya1N0YXRl
Tm90aWZpZXJJT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBO
ZXR3b3JrU3RhdGVOb3RpZmllcklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDQ0OUE0MDQxQTk2NEIwMDAwQjY0QUQ1IC8qIENvcmVNZWRpYVNQSS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBDb3JlTWVkaWFTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDQ0RDRFMjEwRjcwOEIyRTAwMzE1OEUwIC8qIFdlYkNvcmVVUkxSZXNwb25zZUlP
Uy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkNvcmVVUkxS
ZXNwb25zZUlPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4ODU3LDggKzE4
ODU3LDggQEAKIAkJCQlDNTI3OEIwQjE3RjIxMkVBMDAzQTI5OTggLyogUGxhdGZvcm1QYXN0ZWJv
YXJkSU9TLm1tICovLAogCQkJCUU0NTM5MDMyMEVBRkQ2MzcwMDM2OTVDOCAvKiBQbGF0Zm9ybVNj
cmVlbklPUy5tbSAqLywKIAkJCQlBQUUzNzU1RDE3NDI5QkNDMDA2MjAwQzIgLyogUGxhdGZvcm1T
cGVlY2hTeW50aGVzaXplcklPUy5tbSAqLywKLQkJCQk0NDM5MTdGRTFBOTFCMkY4MDA2RTA0RjIg
LyogUXVpY2tMb29rU29mdExpbmsuaCAqLywKLQkJCQk0NDM5MTdGRDFBOTFCMkY4MDA2RTA0RjIg
LyogUXVpY2tMb29rU29mdExpbmsubW0gKi8sCisJCQkJNDQzOTE3RkUxQTkxQjJGODAwNkUwNEYy
IC8qIGlvcy9RdWlja0xvb2tTb2Z0TGluay5oICovLAorCQkJCTQ0MzkxN0ZEMUE5MUIyRjgwMDZF
MDRGMiAvKiBpb3MvUXVpY2tMb29rU29mdExpbmsubW0gKi8sCiAJCQkJQ0RGQzM2MDExOENBNjE2
MzAwMjZFNTZGIC8qIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5oICovLAogCQkJCUNERkMzNjAy
MThDQTYxNjMwMDI2RTU2RiAvKiBSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MubW0gKi8sCiAJCQkJ
NDRDMzYzRUUwRkFBN0JCMzAwOTdGOENDIC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0lPUy5o
ICovLApAQCAtMjYwNjIsNyArMjYwNjIsNyBAQAogCQkJCTU1MEEwQkNBMDg1RjYwMzkwMDczNTNE
NiAvKiBRdWFsaWZpZWROYW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRTEyNTIzRDFBMTY3NkNE
MDA4NjQ0ODAgLyogUXVhcnR6Q29yZVNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDQyQUY3QTkx
MDJDRERFQTAwOEZENEQzIC8qIFF1aWNrTG9vay5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDQzOTE4
MDAxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLmggaW4gSGVhZGVycyAqLywK
KwkJCQk0NDM5MTgwMDFBOTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBMTQ5Nzg2RjFBQkFGMzM4MDBDRUY3RTQgLyogQ29udGVudEZp
bHRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0UxMjUyMzkxQTE2NkZBMDAwODY0NDgwIC8qIFF1
aWNrTG9va1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTEwREJGNDcxOEY5MjMxNzAwMEQ3MEM2
IC8qIFF1aWNrTG9va0hhbmRsZUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yOTU2Myw3ICsy
OTU2Myw3IEBACiAJCQkJQ0RFRTM5MzcxNzk3NDI1OTAwMUQ3NTgwIC8qIFB1YmxpY1VSTE1hbmFn
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTUwQTBCQzkwODVGNjAzOTAwNzM1M0Q2IC8qIFF1
YWxpZmllZE5hbWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDQyQUY3QUExMDJDRERFQTAwOEZE
NEQzIC8qIFF1aWNrTG9vay5tbSBpbiBTb3VyY2VzICovLAotCQkJCTQ0MzkxN0ZGMUE5MUIyRjgw
MDZFMDRGMiAvKiBRdWlja0xvb2tTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAorCQkJCTQ0Mzkx
N0ZGMUE5MUIyRjgwMDZFMDRGMiAvKiBpb3MvUXVpY2tMb29rU29mdExpbmsubW0gaW4gU291cmNl
cyAqLywKIAkJCQkwNzJBRTFFNjE4M0MwNzQxMDAwQTU5ODggLyogUXVpY2tUaW1lUGx1Z2luUmVw
bGFjZW1lbnQubW0gaW4gU291cmNlcyAqLywKIAkJCQkzNzlFMzcxNjEzNzM2QTY2MDBCOUU5MTkg
LyogUXVvdGVkUHJpbnRhYmxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTVBNTc0RjI4MTMxREI5
NkQwMDQ3MUI4OCAvKiBRdW90ZXNEYXRhLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZwppbmRleCBmYzkwZjYxMTU2MjMxYTQxY2E5MTM3ZjE3Yzc5NTVlOGQzNzNiMGVhLi4wYzg4NDBm
NmFiNTE4NWY4MzU0YjcwNjAzZTAyNWYyNWEyYTc5ZjRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAt
NDQsNiArNDQsNyBAQCBFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HID0gRU5BQkxFX0NBQ0hFX1BB
UlRJVElPTklORzsKIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVO
QUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkc7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5B
QkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0g
RU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CiBFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lO
VEFYID0gRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWDsKIEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKQEAgLTIxNSw0ICsyMTYsNCBA
QCBFTkFCTEVfSklUID0gRU5BQkxFX0pJVDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJ
VEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVf
REVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJE
X0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJM
RV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FD
SEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BS
T1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRB
WCkgJChFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xF
VkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NP
TVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19H
UklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxF
Q1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkg
JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
UykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVO
QUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJ
TUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
TEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9B
TklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQp
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVO
QUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVO
QUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX1NBVFVS
QVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUp
OworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUND
RUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJ
TkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAk
KEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJM
RV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxF
X0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVO
QUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykg
JChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQp
ICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09M
VVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVM
NCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1Mz
X1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NV
U1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxF
X0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9E
T000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVf
Rk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQ
QUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFU
QUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVf
VUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Jf
UE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChF
TkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAk
KEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVG
SVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5E
T1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBS
RVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01F
RElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJ
QV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChF
TkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElM
UykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFC
TEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19T
VUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZS
QU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BF
Q1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JB
TkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJ
UykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxF
X1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9O
RV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNP
Tl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVD
VF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFU
QUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wp
ICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NP
Q0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5B
QkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkg
JChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VU
X0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
IGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
aW5kZXggZmM5MGY2MTE1NjIzMWE0MWNhOTEzN2YxN2M3OTU1ZThkMzczYjBlYS4uMGM4ODQwZjZh
YjUxODVmODM1NGI3MDYwM2UwMjVmMjVhMmE3OWY0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dl
YktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ0LDYgKzQ0
LDcgQEAgRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORyA9IEVOQUJMRV9DQUNIRV9QQVJUSVRJT05J
Tkc7CiBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FO
VkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZf
QVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IEVOQUJMRV9F
UzZfQ0xBU1NfU1lOVEFYOwogRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCA9IEVO
QUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
TkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CkBAIC0yMTUsNCArMjE2LDQgQEAgRU5BQkxF
X0pJVCA9IEVOQUJMRV9KSVQ7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMg
PSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMg
PSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NB
UFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJ
VElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5B
QkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
TkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAk
KEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElO
RykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlP
VVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JF
U09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xF
VkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9D
U1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxF
X0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5B
QkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5B
QkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFC
TEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dB
TUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09O
REFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5E
SUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkg
JChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9W
RU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRF
UlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxF
X01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9N
RURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkg
JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChF
TkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJ
Q19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9O
X0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lO
U1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVS
X0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRI
RVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5B
QkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJM
RV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hf
SUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNF
TEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVf
REFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VC
R0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VC
X1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQo
RU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNM
VCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZ
T1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRV
UkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVO
QUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFT
X1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfVEVN
UExBVEVfTElURVJBTF9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJM
RV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NT
X0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxF
X0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJM
RV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAk
KEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5B
QkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJ
TkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NI
RU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxT
X0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVO
VFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9B
RF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVO
QUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9I
SURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAk
KEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9J
TkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lO
UFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lP
U19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
SU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJ
WEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChF
TkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05U
Uk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElT
VElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01P
VVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5B
QkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01J
U0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJ
U1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChF
TkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQo
RU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAk
KEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5B
QkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9O
VFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVS
X0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRP
U0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElO
RykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAk
KEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFM
VUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJM
RV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAk
KEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJW
VFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxF
X0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1F
VElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVy
ZXMuY21ha2UKaW5kZXggZTk1OWZiZjYxZWY4OWRjNjMzYTg1MWMyYThlNmZmNTgzZmM3NDM5Mi4u
YjRjMGU0MDQwYzJmY2Q4OWZiNWM4MWI3ZDlhMzk5OWVhNTMxYzcyZiAxMDA2NDQKLS0tIGEvU291
cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9XZWJLaXRG
ZWF0dXJlcy5jbWFrZQpAQCAtNTksNiArNTksNyBAQCBtYWNybyhXRUJLSVRfT1BUSU9OX0JFR0lO
KQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DU1NfU0hBUEVTICJUb2dnbGUgQ1NT
IFNoYXBlcyBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShF
TkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkgIlRvZ2dsZSBjdXJzb3IgdmlzaWJpbGl0eSBzdXBwb3J0
IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ1VTVE9NX1ND
SEVNRV9IQU5ETEVSICJUb2dnbGUgQ3VzdG9tIFNjaGVtZSBIYW5kbGVyIHN1cHBvcnQiIFBSSVZB
VEUgT0ZGKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9FUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVggIlRvZ2dsZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1cHBvcnQiIE9OKQog
ICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCAiVG9nZ2xl
IGRhc2hib2FyZCBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklO
RShFTkFCTEVfREFUQUNVRV9WQUxVRSAiVG9nZ2xlIGRhdGFjdWUgdmFsdWUgc3VwcG9ydCIgUFJJ
VkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0RBVEFMSVNUX0VMRU1F
TlQgIlRvZ2dsZSBIVE1MNSBkYXRhbGlzdCBzdXBwb3J0IiBQUklWQVRFIE9GRikKQEAgLTE2OCw3
ICsxNjksNiBAQCBtYWNybyhXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAgIFdFQktJVF9PUFRJT05f
REVGSU5FKEVOQUJMRV9YSFJfVElNRU9VVCAiVG9nZ2xlIFhIUiB0aW1lb3V0IHN1cHBvcnQiIFBS
SVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9YU0xUICJUb2dnbGUg
WFNMVCBzdXBwb3J0IiBQUklWQVRFIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKFVTRV9T
WVNURU1fTUFMTE9DICJUb2dnbGUgc3lzdGVtIGFsbG9jYXRvciBpbnN0ZWFkIG9mIFdlYktpdCdz
IGN1c3RvbSBhbGxvY2F0b3IiIFBSSVZBVEUgT0ZGKQotCiAgICAgV0VCS0lUX09QVElPTl9ERVBF
TkQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMiBFTkFCTEVfVklERU8pCiAgICAgV0VCS0lUX09Q
VElPTl9ERVBFTkQoRU5BQkxFX0RGR19KSVQgRU5BQkxFX0pJVCkKICAgICBXRUJLSVRfT1BUSU9O
X0RFUEVORChFTkFCTEVfRlRMX05BVElWRV9DQUxMX0lOTElOSU5HIEVOQUJMRV9GVExfSklUKQpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCmluZGV4IGIwZDVhYTFiM2JjNDQ4
ZDZkMjYxMjcwYTVmYjU4MTQwMzQ2NWY1ZjUuLjQwYzExNWUzYjNlNGJhNDc1MmE3MWQzOGQxZmVh
MjI3ZWUyMGQxMjcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJl
TGlzdC5wbQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KQEAg
LTQ0LDYgKzQ0LDcgQEAgQkVHSU4gewogbXkgKAogICAgICR0aHJlZURUcmFuc2Zvcm1zU3VwcG9y
dCwKICAgICAkYWNjZWxlcmF0ZWQyRENhbnZhc1N1cHBvcnQsCisgICAgJGFycm93ZnVuY3Rpb25T
eW50YXgsCiAgICAgJGF0dGFjaG1lbnRFbGVtZW50U3VwcG9ydCwKICAgICAkYmF0dGVyeVN0YXR1
c1N1cHBvcnQsCiAgICAgJGNhbnZhc1BhdGhTdXBwb3J0LApAQCAtMTU2LDkgKzE1NywxMyBAQCBt
eSBAZmVhdHVyZXMgPSAoCiAgICAgeyBvcHRpb24gPT4gImFjY2VsZXJhdGVkLTJkLWNhbnZhcyIs
IGRlc2MgPT4gIlRvZ2dsZSBBY2NlbGVyYXRlZCAyRCBDYW52YXMgc3VwcG9ydCIsCiAgICAgICBk
ZWZpbmUgPT4gIkVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMiLCBkZWZhdWx0ID0+IGlzR3Rr
KCksIHZhbHVlID0+IFwkYWNjZWxlcmF0ZWQyRENhbnZhc1N1cHBvcnQgfSwKIAorICAgIHsgb3B0
aW9uID0+ICJhcnJvd2Z1bmN0aW9uLXN5bnRheCIsIGRlc2MgPT4gIlRvZ2dsZSBFUzYgYXJyb3cg
ZnVuY3Rpb24gc3ludGF4IHN1cHBvcnQiLAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVfRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGFycm93ZnVuY3Rp
b25TeW50YXggfSwKKwogICAgIHsgb3B0aW9uID0+ICJhdHRhY2htZW50LWVsZW1lbnQiLCBkZXNj
ID0+ICJUb2dnbGUgQXR0YWNobWVudCBFbGVtZW50IHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+
ICJFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBcJGF0
dGFjaG1lbnRFbGVtZW50U3VwcG9ydCB9LAogCisKICAgICB7IG9wdGlvbiA9PiAiYmF0dGVyeS1z
dGF0dXMiLCBkZXNjID0+ICJUb2dnbGUgQmF0dGVyeSBTdGF0dXMgc3VwcG9ydCIsCiAgICAgICBk
ZWZpbmUgPT4gIkVOQUJMRV9CQVRURVJZX1NUQVRVUyIsIGRlZmF1bHQgPT4gaXNFZmwoKSwgdmFs
dWUgPT4gXCRiYXR0ZXJ5U3RhdHVzU3VwcG9ydCB9LAogCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cg
Yi9DaGFuZ2VMb2cKaW5kZXggYmFiZGI3ZDExYzMxMTM0ZWM1MDZmZWEwNWM3MjEyYTFhZTVhY2Y4
Mi4uZDBiMTIzODI4YjRkMTQyNWRjMWM5NGQ2ZDVkZTUzMWY0ZmI1NjY0NSAxMDA2NDQKLS0tIGEv
Q2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE1LTA1LTAxICAg
U2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZd
IEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyB0byBzd2l0
Y2ggb24vb2ZmIGVzNiBhcnJvdyBmdW5jdGlvbiBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYCisKKyAgICAgICAgICogU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlOgorICAg
ICAgICAgKiBTb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZToKKwogMjAxNS0wNC0zMCAgTWFydGlu
IFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0NNYWtlXSBBdXRv
bWF0aWNhbGx5IGV4cG9zZSBXVEZfVVNFX0ZPTyB0byB0aGUgYnVpbGQgd2hlbiBVU0VfRk9PIGlz
IGV4cG9zZWQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252199</attachid>
            <date>2015-05-01 16:55:21 -0700</date>
            <delta_ts>2015-05-01 17:42:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150502025407.patch</filename>
            <type>text/plain</type>
            <size>206529</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzNjk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
MmJmOGRiNzU1MGVjYTRlZWEwNTMwZDk0M2ZjYmVjNmQzMmIyODQ5Li5jOTUzOWM5Y2ZkNDljZDVj
ZDk5YjBjODA3YWVlYjc3ZmJlYjg5N2MyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MTAgKzEsMTYxIEBACi0yMDE1LTA0LTEyICBBbGV4YW5kciBTa2FjaGtvdiAgPGdza2FjaGtvdkBn
bWFpbC5jb20+Ci0gICAgICAgIFNtYWxsIHJlZmFjdG9yaW5nIG9mIHRoZSBwYXJjZXIuY3BwIGZp
bGUuIEl0IGlzIG5lY2Vzc2FyeSB0byBpbmNyZWFzZSByZWFkYWJpbGl0eSBvZiB0aGUgcGF0Y2gK
LSAgICAgICAgd2l0aCBFUzYgQXJyb3cgZnVuY3Rpb24gaW1wbGVtZW50YXRpb24KKzIwMTUtMDUt
MDEgQWxla3NhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBb
RVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CiAKLSAgICAgICAgKiBwYXJz
ZXIvUGFyc2VyLmg6CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZGVkIHN1cHBvcnQgb2YgRVM2IGFycm93IGZ1bmN0aW9uLiBDaGFuZ2VzIHdlcmUgbWFk
ZSBhY2NvcmRpbmcgZm9sbG93aW5nIHNwZWMgaHR0cDovL3dpa2kuZWNtYXNjcmlwdC5vcmcvZG9r
dS5waHA/aWQ9aGFybW9ueTphcnJvd19mdW5jdGlvbl9zeW50YXgKKyAgICAgICAgSW4gcGF0Y2gg
d2VyZSBpbXBsZW1lbnRlZCB0aGUgc2ltcGxlc3QgY2FzZXM6CisgICAgICAgICAgMSBubyBwYXJh
bWV0ZXJzICAgICAgICAgICAgICAgICgpID0+IDEwICsgMjAKKyAgICAgICAgICAyIHNpbmdsZSBw
YXJhbWV0ZXIgICAgICAgICAgICAgIHggPT4geCArIDIwCisgICAgICAgICAgMyBtdWx0aXBsZSBw
YXJhbWV0ZXJzICAgICAgKHgsIHkpID0+IHggKyB5CisgICAgICAgICAgNCBhcnJvdyBmdW5jdGlv
biB3aXRoIGJsb2NrICAgICB4ID0+IHsgcmV0dXJuIHgqMTA7IH0KKyAgICAgICAgICA1IGxleGlj
YWwgdGhpcyAtIHZhcmlhYmxlIHRoaXMgaXMgcG9pbnQgdG8gdGhlIHRoaXMgb2YgdGhlIGZ1bmN0
aW9uIHdoZXJlIGFycm93IGZ1bmN0aW9uIGlzIGRlY2xhcmVkCisgICAgICAgICAgNiBObyBjb25z
dHJ1Y3RvciAtIHRoZSB1c2luZyBvZiB0aGUgY29tbWFuZCBuZXcgZm9yIGFycm93IGZ1bmN0aW9u
IGxlYWRzIHRvIHJ1bnRpbWUgZXJyb3IuIAorCisgICAgICAgICBOb3QgeWV0IGltcGxlbWVudGVk
OgorICAgICAgICAgIDEgbGV4aWNhbCBiaW5kIG9mIHRoZSBhcmd1bWVudHMgJiBzdXBlcgorICAg
ICAgICAgIDIgSW5zaWRlIGFuIGFycm93IGZ1bmN0aW9uLCBuZXcudGFyZ2V0IHJlZmVycyB0byB0
aGUgbmV3LnRhcmdldCBvZiB0aGUgc3Vycm91bmRpbmcgbm9uLWFycm93IGZ1bmN0aW9uLgorICAg
ICAgICAgIDMgYXJyb3cgZnVuY3Rpb24gZG9lc27igJl0IGlubGluZSAmIGNvbXBpbGUgaW4gREZH
IG1vZGUuIAorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWc6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hw
cm9qOgorICAgICAgICAqIGJ5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uOgorICAgICAgICAqIGJ5
dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmg6CisgICAgICAgIChKU0M6OkZ1bmN0b3I6OmNvbXB1dGVV
c2VzRm9yQnl0ZWNvZGVPZmZzZXQpOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6
CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6ZHVtcEJ5dGVjb2RlKToKKyAgICAgICAgKiBieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0
ZWNvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1p
dE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKTogYWRkZWQKKyAgICAgICAgKEpTQzo6Qnl0ZWNv
ZGVHZW5lcmF0b3I6OmVtaXRUaGlzTm9kZUJ5dGVjb2RlKTogYWRkZWQKKyAgICAgICAgKiBieXRl
Y29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6ZW1pdEJ5dGVjb2RlOjpl
bWl0Qnl0ZWNvZGUpOiBhZGRlZAorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHByTm9kZTo6ZW1p
dEJ5dGVjb2RlKTogYWRkZWQKKyAgICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgor
ICAgICAgICAoSlNDOjpCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAgICogZGZn
L0RGR0NhcGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkNhcGFiaWxpdHlMZXZlbDo6Y2Fw
YWJpbGl0eUxldmVsKToKKyAgICAgICAgKiBqaXQvSklULmg6CisgICAgICAgIChKU0M6OkpJVDo6
ZW1pdF9vcF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRJbmxp
bmVzLmg6CisgICAgICAgIChKU0M6OkpJVDo6Y2FsbE9wZXJhdGlvbik6IGFkZGVkCisgICAgICAg
ICogaml0L0pJVC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFz
cyk6CisgICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmVt
aXRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklUT3BlcmF0
aW9ucy5jcHA6CisgICAgICAgIChKU0M6OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5ld0Fycm93
RnVuY3Rpb24pOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmg6CisgICAgICAg
IChKU0M6OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24pOiBhZGRlZAor
ICAgICAgICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAgICAgICAgKExMSU5UX1NMT1df
UEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAq
IGxsaW50L0xMSW50U2xvd1BhdGhzLmg6CisgICAgICAgIChMTElOVF9TTE9XX1BBVEhfREVDTChz
bG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKSk6IGFkZGVkCisgICAgICAgICogbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206CisgICAgICAgICogZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0
ZXJJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0
cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKToKKyAgICAgICAgKiBkZmcvREZHQnl0ZUNv
ZGVQYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJs
b2NrKToKKyAgICAgICAgKiBkZmcvREZHQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAgICAgKEpTQzo6
REZHOjpjYXBhYmlsaXR5TGV2ZWwpOgorICAgICAgICAqIGRmZy9ERkdDbG9iYmVyaXplLmg6Cisg
ICAgICAgIChKU0M6OkRGRzo6Y2xvYmJlcml6ZSk6CisgICAgICAgICogZGZnL0RGR0RvZXNHQy5j
cHA6CisgICAgICAgIChKU0M6OkRGRzo6ZG9lc0dDKToKKyAgICAgICAgKiBkZmcvREZHRml4dXBQ
aGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Rml4dXBQaGFzZTo6Zml4dXBOb2RlKToKKyAg
ICAgICAgKiBkZmcvREZHTm9kZS5oOgorICAgICAgICAoSlNDOjpERkc6Ok5vZGU6Omhhc0NlbGxP
cGVyYW5kKToKKyAgICAgICAgKiBkZmcvREZHTm9kZVR5cGUuaDoKKyAgICAgICAgKiBkZmcvREZH
UHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlByZWRp
Y3Rpb25Qcm9wYWdhdGlvblBoYXNlOjpwcm9wYWdhdGUpOgorICAgICAgICAqIGRmZy9ERkdTYWZl
VG9FeGVjdXRlLmg6CisgICAgICAgIChKU0M6OkRGRzo6c2FmZVRvRXhlY3V0ZSk6CisgICAgICAg
ICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmg6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRp
dmVKSVQ6OmNhbGxPcGVyYXRpb24pOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDMy
XzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZSk6Cisg
ICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6
OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBkZmcvREZHU3RydWN0dXJlUmVn
aXN0cmF0aW9uUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlN0cnVjdHVyZVJlZ2lzdHJh
dGlvblBoYXNlOjpydW4pOgorICAgICAgICAqIGZ0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5
LmNwcDoKKyAgICAgICAgKiBmdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oOgorICAgICAg
ICAqIGZ0bC9GVExDYXBhYmlsaXRpZXMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OmNhbkNvbXBp
bGUpOgorICAgICAgICAqIGZ0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5Lmg6CisgICAgICAgICog
ZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpMb3dlckRGR1Rv
TExWTTo6Y29tcGlsZU5vZGUpOgorICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpj
b21waWxlTmV3QXJyb3dGdW5jdGlvbik6CisgICAgICAgICogcGFyc2VyL0FTVEJ1aWxkZXIuaDoK
KyAgICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIpOgorICAg
ICAgICAqIHBhcnNlci9MZXhlci5jcHA6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tl
blBvc2l0aW9uKToKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OmxleCk6CisgICAgICAgICogcGFy
c2VyL0xleGVyLmg6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9uKToK
KyAgICAgICAgKiBwYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oOgorICAgICAgICAoSlNDOjpBcnJv
d0Z1bmNFeHByTm9kZTo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZAorICAgICAgICAqIHBhcnNl
ci9Ob2Rlcy5oOgorICAgICAgICAoSlNDOjpOb2RlOjppc0Fycm93RnVuY0V4cHJOb2RlKTogYWRk
ZWQKKyAgICAgICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZCBjbGFzcwogICAgICAg
ICAqIHBhcnNlci9QYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VTb3VyY2VFbGVtZW50cyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZVByaW1hcnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZVNvdXJj
ZUVsZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKToKKyAgICAgICAgKEpT
Qzo6UGFyc2VyOjpwYXJzZVByaW1hcnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2Vy
OjpwYXJzZUFycm93RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6c2V0RW5kT2ZT
dGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbldyYXBw
ZXIpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkluZm8pOgorICAg
ICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkJvZHkpOgorICAgICAgICAqIHBh
cnNlci9QYXJzZXIuaDoKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpGdW5jdGlvblBhcnNlVHlwZSk6
CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VTb3VyY2VFbGVtZW50KToKKyAgICAgICAgKEpT
Qzo6UGFyc2VyOjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VB
cnJvd0V4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnNldEVuZE9mU3RhdGVtZW50
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKToKKyAg
ICAgICAgKiBwYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmg6CisgICAgICAgICogcGFyc2VyL1Bh
cnNlclRva2Vucy5oOgorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmFycm93RnVu
Y3Rpb25PZmZzZXQpOiBhZGRlZAorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86Omlz
QXJyb3dGdW5jdGlvbik6IGFkZGVkCisgICAgICAgIChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6
YXJyb3dGdW5jdGlvbkJvZHlUeXBlKTogYWRkZWQKKyAgICAgICAgKiBwYXJzZXIvU291cmNlQ29k
ZS5oOgorICAgICAgICAoSlNDOjpTb3VyY2VDb2RlOjpzdWJBcnJvd0V4cHJlc3Npb24pOgorICAg
ICAgICAqIHBhcnNlci9TeW50YXhDaGVja2VyLmg6CisgICAgICAgIChKU0M6OlN5bnRheENoZWNr
ZXI6OmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAgICAgKiBwYXJzZXIvU291cmNlUHJv
dmlkZXJDYWNoZUl0ZW06CisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtQ3Jl
YXRpb25QYXJhbWV0ZXJzKToKKyAgICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0p
OgorICAgICAgICAoSlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6ZW5kQXJyb3dGdW5jdGlv
blRva2VuKToKKyAgICAgICAgKiBydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oOiBhZGRlZCBjbGFz
cyBmb3IgaGFuZGxlIGFycm93IGZ1bmN0aW9uIGNyZWF0aW9uIGFuZCBleGVjdXRpb24KKyAgICAg
ICAgKiBydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHA6CisgICAgICAgICogcnVudGltZS9KU0Z1
bmN0aW9uLmg6CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OkpTRnVuY3Rpb24pOiBhZGRlZCBv
bmUgbW9yZSBjb25zdHJ1Y3RvcgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbklubGluZXMu
aDoKKyAgICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6SlNGdW5jdGlvbik6IGFkZGVkIGNvbnN0cnVj
dG9yIGltcGxlbWVudGF0aW9uCisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHA6
CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToKKyAgICAgICAgKEpTQzo6SlNH
bG9iYWxPYmplY3Q6Om1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZSk6IGFkZGVkCisgICAgICAgIChK
U0M6OkpTR2xvYmFsT2JqZWN0OjphcnJvd0Z1bmN0aW9uU3RydWN0dXJlKToKKyAgICAgICAgKiB0
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3BhcmFtdGVyLTEuanM6IEFkZGVkLgorICAgICAg
ICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzcGFyYW10ZXItMi5qczogQWRkZWQuCisg
ICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYm91bmQuanM6IEFkZGVkLgorICAg
ICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNhbGwuanM6IEFkZGVkLgorICAgICAg
ICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNvbnN0cnVjdG9yLmpzOgorICAgICAgICAq
IHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtYXJndW1lbnRzLmpzOiBBZGRlZC4K
KyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMtMS5qczog
QWRkZWQuCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10aGlz
LTIuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0x
MC0xLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4t
MTAtMi5qczogQWRkZWQuCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVu
LTEwMDAwLTEuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LXJ1bi0xMDAwMC0yLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5j
dGlvbi1zeW50YXguanM6IEFkZGVkLgogCiAyMDE1LTA1LTAxICBKb3JkYW4gSGFyYmFuZCAgPGxq
aGFyYkBnbWFpbC5jb20+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0Y2YxZTNjMmQ1Y2E0ZDRjNWIwNzUxMzUw
NzJhYjdkMmI3MWNiMTUxLi4yYjJhZmFlY2Q4YWFhYmE4ZjQ5YmY2OWU4MjJlMzVkY2JkN2U5MTI4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDQtMTcgIFNrYWNoa292IEFsZXhh
bmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQgRVM2
IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVggZm9yIGFycm93IGZ1bmN0aW9uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxNS0wNS0wMSAgQ29tbWl0IFF1ZXVlICA8Y29t
bWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQg
cjE4MzY4Ny4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCBhZmViYjY2OTFjNDA4MzQ1MDE2OTI1MGZlY2E3
NmMyZTIyNmIxMTE0Li4zNTBlNTk0NzI3NjhhMDVjY2EyMDAwZTE2NmQ2OWJkYjlhMzk3OTE1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDQtMTcgIFNrYWNoa292IEFs
ZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1lbnQg
RVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dGVU5D
VElPTl9TWU5UQVggZm9yIGFycm93IGZ1bmN0aW9uCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxNS0wNS0wMSAgQnJhZHkgRWlkc29uICA8
YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIEFQSSB0byBkaXNhYmxlIG1ldGEgcmVm
cmVzaGVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDY1ZDgzYTQxMzli
MmIzZTdhMmExZWQ4YmYzNGU2NjJlYzNhZGRkNmUuLjI0Y2M4YTIwZjQyZTlmMzA5ZjAzMTkxOTA3
OTYxNGI0NTQ4MjJjMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxp
c3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQ3
MCw2ICs0NzAsNyBAQCBzZXQoSmF2YVNjcmlwdENvcmVfUlVOVElNRV9TT1VSQ0VTCiAgICAgcnVu
dGltZS9KU0FycmF5QnVmZmVyVmlldy5jcHAKICAgICBydW50aW1lL0pTQXJyYXlJdGVyYXRvci5j
cHAKICAgICBydW50aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAKKyAgICBydW50aW1lL0pTQXJyb3dG
dW5jdGlvbi5jcHAKICAgICBydW50aW1lL0pTR2xvYmFsT2JqZWN0RGVidWdnYWJsZS5jcHAKICAg
ICBydW50aW1lL0pTQ0pTVmFsdWUuY3BwCiAgICAgcnVudGltZS9KU0NhbGxlZS5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwppbmRleCBmYzkwZjYxMTU2MjMxYTQxY2E5MTM3ZjE3Yzc5NTVlOGQz
NzNiMGVhLi4wYzg4NDBmNmFiNTE4NWY4MzU0YjcwNjAzZTAyNWYyNWEyYTc5ZjRhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00NCw2ICs0NCw3IEBAIEVOQUJMRV9DQUNIRV9QQVJUSVRJ
T05JTkcgPSBFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HOwogRU5BQkxFX0NBTlZBU19QQVRIID0g
RU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKK0VOQUJMRV9FUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5B
QkxFX0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKIEVOQUJMRV9F
UzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVggPSBFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxf
U1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVS
SU5HOwpAQCAtMjE1LDQgKzIxNiw0IEBAIEVOQUJMRV9KSVQgPSBFTkFCTEVfSklUOwogCiBFTkFC
TEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRf
QVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykg
JChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVS
RkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVO
VF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19Q
QVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAk
KEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9T
WU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChF
TkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURB
UFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVH
SU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMp
ICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5B
QkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQo
RU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVO
QUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5B
QkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1Ip
ICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAk
KEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RF
UFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01f
VElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNF
X0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVO
QUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5U
UykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9M
RUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVG
RVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQo
RU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVf
TUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FM
RSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9I
V0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExV
R0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9Q
Uk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FV
T1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9B
VVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJ
T05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NS
T0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJ
KSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NW
R19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChF
TkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJM
RV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NT
X1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykg
JChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJ
RVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQo
RU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJF
X1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChF
TkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5B
QkxFX0pJVCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9W
SURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9U
UkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJM
RV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFC
TEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9N
RVNTQUdJTkcpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfRVM2
X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYKSAkKEVO
QUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19B
TklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChF
TkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQo
RU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5B
QkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9D
U1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1Jf
VklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNI
Qk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9U
UkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9F
TkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklM
VEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NS
RUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAk
KEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9U
VExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9X
T1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxF
U1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxF
X0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9B
VURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5B
QkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1F
TlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxF
X05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5D
WSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFC
TEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VW
RU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFC
TEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRF
KSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FV
RVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAk
KEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVf
U1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZF
UlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBM
QVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19X
T1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJ
REVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NT
X01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJf
UkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChF
TkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9U
SU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQo
RU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VO
VEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKaW5kZXgg
ZmViZGUyNzVjN2VkYmFmZDVkYzZiOWZjZWIxMjRhZTBiZTlhYTc2Yi4uNGQ5OWE4N2U1M2UzNTNi
OTc0NTU4MmE5NjgzN2NlYjk4NTY0ODVhYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29y
ZS52Y3hwcm9qCkBAIC03MzUsNiArNzM1LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XHJ1bnRpbWVcSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJWaWV3LmNwcCIgLz4KICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNCb3VuZEZ1bmN0aW9uLmNwcCIgLz4KKyAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJvd0Z1bmN0aW9uLmNwcCIgLz4KICAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZS5jcHAiIC8+CiAgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ2FsbGVlLmNwcCIgLz4KICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDYXRjaFNjb3BlLmNwcCIgLz4KQEAgLTE1MzcsNiAr
MTUzOCw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZm
ZXJWaWV3SW5saW5lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxK
U0FycmF5SXRlcmF0b3IuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVc
SlNCb3VuZEZ1bmN0aW9uLmgiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1l
XEpTQXJyb3dGdW5jdGlvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGlt
ZVxKU0NJbmxpbmVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpT
Q0pTVmFsdWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNW
YWx1ZUlubGluZXMuaCIgLz4KQEAgLTE4MTcsNCArMTgxOSw0IEBACiAgIDxJbXBvcnRHcm91cCBM
YWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0
c1BhdGgpXEJ1aWxkQ3VzdG9taXphdGlvbnNcbWFzbS50YXJnZXRzIiAvPgogICA8L0ltcG9ydEdy
b3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMWEyYjQ2MGU3ZjgzODhlYWE4ZTMxOWJm
MjU0ZWE2N2FmMmI5YjFlZi4uM2QwNjk2NjBmMDkxNDE0MzFlYjQ5OThlNDVjNDk4ODY5MmY4OGI5
MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTExMDYsNiArMTEwNiw4IEBACiAJ
CTg2RjNFRUJGMTY4Q0RFOTMwMDc3QjkyQSAvKiBPYmpjUnVudGltZUV4dHJhcy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGM0VFQjYxNjg1NUE1QjAw
NzdCOTJBIC8qIE9iamNSdW50aW1lRXh0cmFzLmggKi87IH07CiAJCTg2RkE5RTkxMTQyQkJCMkUw
MDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRG
dW5jdGlvbi5jcHAgKi87IH07CiAJCTg2RkE5RTkyMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5k
RnVuY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLzsgfTsKKwkJ
OEIwRjQyNEMxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUyMDAz
OTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCAqLzsgfTsKKwkJOEIwRjQyNEMxQUJENkRFMjAw
MzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5j
dGlvbi5oICovOyB9OwogCQk5MDIxM0UzRDEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlz
dGljcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
MDIxM0UzQjEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi87IH07CiAJ
CTkwMjEzRTNFMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIxM0UzQzEyM0E0MEMyMDBE
NDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTkzMDUyQzM0MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJB
cmVuYS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
MzA1MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwICovOyB9OwpAQCAtMjg1
NCw2ICsyODU2LDggQEAKIAkJODZGNzVFRkQxNTFDMDYyRjAwN0M5QkEzIC8qIFJlZ0V4cE1hdGNo
ZXNBcnJheS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWdFeHBN
YXRjaGVzQXJyYXkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkZBOUU4RjE0
MkJCQjJEMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTQm91bmRGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24u
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdFQSAvKiBK
U0Fycm93RnVuY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcnJvd0Z1bmN0aW9uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fy
cm93RnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNB
cnJvd0Z1bmN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTAyMTNFM0Ix
MjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gTWVtb3J5U3RhdGlzdGljcy5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0
aWNzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lbW9yeVN0YXRpc3RpY3Mu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMz
IC8qIFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFBhcnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ0NjksNiAr
NDQ3Myw4IEBACiAJCQkJQTdCREFFQzUxN0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJyYXlJdGVyYXRv
ci5oICovLAogCQkJCTg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24u
Y3BwICovLAogCQkJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24u
aCAqLywKKwkJCQk4QjBGNDI0QTFBQkQ2RDJGMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmgg
Ki8sCisJCQkJOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAg
Ki8sCiAJCQkJNjU3Q0Y0NTYxOUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmNwcCAqLywKIAkJ
CQk2NTdDRjQ1NzE5QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuaCAqLywKIAkJCQkwRkQ5NDk3
RTFBOTdEQjk2MDBFMjg5NjYgLyogSlNDYXRjaFNjb3BlLmNwcCAqLywKQEAgLTcyMjQsNiArNzIz
MCw3IEBACiAJCQkJMEZEOEEzMUIxN0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTE9TUkVudHJ5LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTBGMjM1QkRDMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjM1QkRGMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExP
U1JFeGl0Q29tcGlsZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOEIwRjQyNEMxQUJENkRFMjAw
MzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkVBMEEy
QTE3MDk2Mjk2MDBCQjcyMkMgLyogRlRMT3V0cHV0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBG
NDg1MzI5MTg3REZERUMwMDgzQjY4NyAvKiBGVExSZWNvdmVyeU9wY29kZS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkwRjZCMUNDMzE4NjJDNDc4MDA4NDVEOTcgLyogRlRMUmVnaXN0ZXJBdE9mZnNl
dC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9CeXRlY29kZUxpc3QuanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9CeXRlY29kZUxpc3QuanNvbgppbmRleCBlM2VkMWRjZGE0ZTAzYTVmMTFlZjkxZTU2MTE5ZWI5
MzA1MWZiN2Y2Li41NmNiYTkzNmM0NzUwNWY1NDY4NDFlZDU3YmI5YjhlOGQzZDE2ZDhjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24K
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCkBA
IC05NSw2ICs5NSw3IEBACiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9zd2l0Y2hfc3RyaW5n
IiwgImxlbmd0aCIgOiA0IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfZnVuYyIs
ICJsZW5ndGgiIDogNCB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfbmV3X2Z1bmNfZXhw
IiwgImxlbmd0aCIgOiA0IH0sCisgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfYXJyb3df
ZnVuY19leHAiLCAibGVuZ3RoIiA6IDUgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2Nh
bGwiLCAibGVuZ3RoIiA6IDkgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGxfZXZh
bCIsICJsZW5ndGgiIDogOSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbF92YXJh
cmdzIiwgImxlbmd0aCIgOiA5IH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9CeXRlY29kZVVzZURlZi5oCmluZGV4IDc2NjdlNjgzZTQ1NGE0OTk5ODZlZGFjZDkwYjY0OTE3
MjQyMDM3Y2QuLmRhNGEyYWFlZWMyODQ1OTQxYWUzNjZkY2ZiOTg1OTFjY2IzY2NkNDUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCkBAIC0x
MTUsNiArMTE1LDkgQEAgdm9pZCBjb21wdXRlVXNlc0ZvckJ5dGVjb2RlT2Zmc2V0KAogICAgIGNh
c2Ugb3BfZ2V0X3Byb3BlcnR5X2VudW1lcmF0b3I6CiAgICAgY2FzZSBvcF9nZXRfZW51bWVyYWJs
ZV9sZW5ndGg6CiAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRp
ZgogICAgIGNhc2Ugb3BfdG9faW5kZXhfc3RyaW5nOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxf
Y29uc3Rfbm9wOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29uc3Q6CkBAIC0zMDcsNiArMzEw
LDkgQEAgdm9pZCBjb21wdXRlRGVmc0ZvckJ5dGVjb2RlT2Zmc2V0KENvZGVCbG9jayogY29kZUJs
b2NrLCB1bnNpZ25lZCBieXRlY29kZU9mZnNldCwKICAgICBjYXNlIG9wX25ld19yZWdleHA6CiAg
ICAgY2FzZSBvcF9uZXdfZnVuYzoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNf
ZXhwOgorI2VuZGlmCiAgICAgY2FzZSBvcF9jYWxsX3ZhcmFyZ3M6CiAgICAgY2FzZSBvcF9jb25z
dHJ1Y3RfdmFyYXJnczoKICAgICBjYXNlIG9wX2dldF9mcm9tX3Njb3BlOgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAppbmRleCA5MDEzOGY5N2NiZDgyOGY5
NzJjYjIyNDQyYmY0MDQ0MWQxM2Y0MDU2Li43MTgzZDA0ZGQ4ODJiYjYyMjNmYmFjZTE3ZTVmYmI1
MDA5MWQ4MDA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29k
ZUJsb2NrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2Nr
LmNwcApAQCAtMTMwMSw2ICsxMzAxLDE3IEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wQnl0ZWNvZGUo
CiAgICAgICAgICAgICBvdXQucHJpbnRmKCIlcywgJXMsIGYlZCIsIHJlZ2lzdGVyTmFtZShyMCku
ZGF0YSgpLCByZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjApOwogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAg
ICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDogeworICAgICAgICAgICAgaW50IHIwID0gKCsr
aXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUub3BlcmFuZDsK
KyAgICAgICAgICAgIGludCBmMCA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgaW50
IHIyID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBwcmludExvY2F0aW9uQW5kT3Ao
b3V0LCBleGVjLCBsb2NhdGlvbiwgaXQsICJvcF9uZXdfYXJyb3dfZnVuY19leHAiKTsKKyAgICAg
ICAgICAgIG91dC5wcmludGYoIiVzLCAlcywgZiVkLCAlcyIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0
YSgpLCByZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjAsIHJlZ2lzdGVyTmFtZShyMikuZGF0YSgp
KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgY2FzZSBv
cF9uZXdfZnVuY19leHA6IHsKICAgICAgICAgICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVyYW5k
OwogICAgICAgICAgICAgaW50IHIxID0gKCsraXQpLT51Lm9wZXJhbmQ7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3Bw
CmluZGV4IDJmMjFlNDliNjUxMGYxYmU1OGQwOWMzMTQwNWUzN2NhOWVkYjMxOWYuLjQxODg5YWEz
NGRhZmZmMTA2NDAwNmZjODMwZDk3ZmYwZjA2NmIyYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0x
Nzc1LDYgKzE3NzUsMjIgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdG
dW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogcjAsIEZ1bmNFeHAKICAgICBpbnN0cnVjdGlv
bnMoKS5hcHBlbmQoaW5kZXgpOwogICAgIHJldHVybiByMDsKIH0KKyAgICAKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6
OmVtaXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVuY0V4cHJO
b2RlKiBuKQoreworICAgIGVtaXRURFpDaGVjayh0aGlzUmVnaXN0ZXIoKSk7CisgICAgRnVuY3Rp
b25Cb2R5Tm9kZSogZnVuY3Rpb24gPSBuLT5ib2R5KCk7CisgICAgdW5zaWduZWQgaW5kZXggPSBt
X2NvZGVCbG9jay0+YWRkRnVuY3Rpb25FeHByKG1ha2VGdW5jdGlvbihmdW5jdGlvbikpOworICAg
IAorICAgIGVtaXRPcGNvZGUob3BfbmV3X2Fycm93X2Z1bmNfZXhwKTsKKyAgICBpbnN0cnVjdGlv
bnMoKS5hcHBlbmQocjAtPmluZGV4KCkpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChzY29w
ZVJlZ2lzdGVyKCktPmluZGV4KCkpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChpbmRleCk7
CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHRoaXNSZWdpc3RlcigpLT5pbmRleCgpKTsKKyAg
ICByZXR1cm4gcjA7Cit9CisjZW5kaWYKIAogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6
OmVtaXROZXdEZWZhdWx0Q29uc3RydWN0b3IoUmVnaXN0ZXJJRCogZHN0LCBDb25zdHJ1Y3Rvcktp
bmQgY29uc3RydWN0b3JLaW5kLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5o
CmluZGV4IDlhZjhkNGZjNDg1ZDk4OTI0MWIxMTExODA5MjdhYWE3NmE5NTMxYzQuLmNhNjhhMjll
NmJmMTViZWUyMGI2OTdhMDRmMjg3ZWNmZjhiYmM4Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTQ1NCw2
ICs0NTQsMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdG
dW5jdGlvbkludGVybmFsKFJlZ2lzdGVySUQqIGRzdCwgdW5zaWduZWQgaW5kZXgpOwogICAgICAg
ICBSZWdpc3RlcklEKiBlbWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIGRzdCwg
RnVuY0V4cHJOb2RlKiBmdW5jKTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0RlZmF1bHRD
b25zdHJ1Y3RvcihSZWdpc3RlcklEKiBkc3QsIENvbnN0cnVjdG9yS2luZCwgY29uc3QgSWRlbnRp
ZmllciYgbmFtZSk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAg
ICAgUmVnaXN0ZXJJRCogZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQq
LCBGdW5jRXhwck5vZGUqKTsKKyAgICAgICAgUmVnaXN0ZXJJRCogZW1pdFRoaXNOb2RlQnl0ZWNv
ZGUoUmVnaXN0ZXJJRCosIEpTVGV4dFBvc2l0aW9uKTsKKyNlbmRpZgogICAgICAgICBSZWdpc3Rl
cklEKiBlbWl0TmV3UmVnRXhwKFJlZ2lzdGVySUQqIGRzdCwgUmVnRXhwKik7CiAKICAgICAgICAg
UmVnaXN0ZXJJRCogZW1pdE1vdmVMaW5rVGltZUNvbnN0YW50KFJlZ2lzdGVySUQqIGRzdCwgTGlu
a1RpbWVDb25zdGFudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
bXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXggMGYwYjc4ZjBlNTkxZDliYjE2Yjk1ODFkNWQ1NjA0
ZDQ4ZTViNzc2Zi4uZDk0N2FmY2I2ODhmYWIwMDhmZmM5MjgwZTI4OWM1YWQ2YjlhMmRhNyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4u
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2Vu
LmNwcApAQCAtMjkwMSw2ICsyOTAxLDE0IEBAIFJlZ2lzdGVySUQqIEZ1bmNFeHByTm9kZTo6ZW1p
dEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqCiAgICAg
cmV0dXJuIGdlbmVyYXRvci5lbWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uKGdlbmVyYXRvci5maW5h
bERlc3RpbmF0aW9uKGRzdCksIHRoaXMpOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkgICAgCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQXJyb3dG
dW5jRXhwck5vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitSZWdpc3RlcklE
KiBBcnJvd0Z1bmNFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5l
cmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKK3sKKyAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXROZXdB
cnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QpLCB0
aGlzKTsKK30KKyNlbmRpZgorICAgIAogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogLy8g
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIENsYXNzRGVjbE5vZGUgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaAppbmRleCA5MzQyMDkzNWIz
OGJlZjQ0NzhlZGEwYzk1ZjlkODU1MjYzYmZkNzAyLi4yNWUxYzczNjRhNmQ3Mjk4ODdiZDE0Zjlm
YjI1OTc5OTBiZjkyZjljIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCkBAIC0xNTM0LDcgKzE1MzQsMTMg
QEAgYm9vbCBBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVm
ZmVjdHModW5zaWduZWQgY2xvYmJlckxpbWkKICAgICBjYXNlIENyZWF0ZUNsb25lZEFyZ3VtZW50
czoKICAgICAgICAgZm9yTm9kZShub2RlKS5zZXRUeXBlKG1fZ3JhcGgsIFNwZWNPYmplY3RPdGhl
cik7CiAgICAgICAgIGJyZWFrOwotICAgICAgICAKKyAgICAgICAgICAgIAorICAgIGNhc2UgTmV3
QXJyb3dGdW5jdGlvbjoKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
ICAgICBmb3JOb2RlKG5vZGUpLnNldCgKKyAgICAgICAgICAgIG1fZ3JhcGgsIG1fY29kZUJsb2Nr
LT5nbG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKS0+YXJyb3dGdW5jdGlvblN0
cnVjdHVyZSgpKTsKKyNlbmRpZgorICAgICAgICBicmVhazsKICAgICBjYXNlIE5ld0Z1bmN0aW9u
OgogICAgICAgICBmb3JOb2RlKG5vZGUpLnNldCgKICAgICAgICAgICAgIG1fZ3JhcGgsIG1fY29k
ZUJsb2NrLT5nbG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKS0+ZnVuY3Rpb25T
dHJ1Y3R1cmUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nh
cGFiaWxpdGllcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGll
cy5jcHAKaW5kZXggZWY0YzI0NzQ5Yjc4ZmE2ZTA5YTRjM2Q5YzI5MDEzZWFhNjVkYWE5Mi4uMGUz
Yzg4MGI3Y2NjYjliNzUwYWEzMDg5NWYwNjk1OThkNTJkZmZiMCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcApAQCAtMjMxLDYgKzIzMSw3IEBAIENh
cGFiaWxpdHlMZXZlbCBjYXBhYmlsaXR5TGV2ZWwoT3Bjb2RlSUQgb3Bjb2RlSUQsIENvZGVCbG9j
ayogY29kZUJsb2NrLCBJbnN0cnVjCiAgICAgY2FzZSBvcF9zd2l0Y2hfc3RyaW5nOiAvLyBEb24n
dCBpbmxpbmUgYmVjYXVzZSB3ZSBkb24ndCB3YW50IHRvIGNvcHkgc3RyaW5nIHRhYmxlcyBpbiB0
aGUgY29uY3VycmVudCBKSVQuCiAgICAgICAgIHJldHVybiBDYW5Db21waWxlOwogCisgICAgY2Fz
ZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6IC8vIEZpeG1lOiBBcnJvdyBmdW5jdGlvbiBjYW5uJ3Qg
YmUgaW5saW5lIGFzIHRoZSBjb21tb24gZnVuY3Rpb24gYmVjYXVzZSBpdCBoYXMgbGV4aWNhbHkg
YmluZCB0aGlzL2FyZ3VtZW50cyBhbmQgZXRjLiBhbmQgIGFycm93IGZ1bmN0aW9uIGhhcyB0byBo
YXZlIGl0cyBvd24gY29tcGlsZSBhbmQgaW5saW5lIGFwcHJvYWNoLgogICAgIGRlZmF1bHQ6CiAg
ICAgICAgIHJldHVybiBDYW5ub3RDb21waWxlOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdDbG9iYmVyaXplLmgKaW5kZXggZDM4NTc5ZTM0YmI4MDY0MzI3MTk2ZWMyNTBjNjkz
MTExNDFmMWMwMy4uZWNjN2JmOGYyNWRkZmFmZmE4MjJiMmIzZTQ1ZGFjYjhjYzA2MzA5NSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKQEAgLTg2MSw3ICs4NjEs
OCBAQCB2b2lkIGNsb2JiZXJpemUoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlLCBjb25zdCBSZWFk
RnVuY3RvciYgcmVhZCwgY29uc3QgV3JpdGVGdQogICAgICAgICByZWFkKEhlYXBPYmplY3RDb3Vu
dCk7CiAgICAgICAgIHdyaXRlKEhlYXBPYmplY3RDb3VudCk7CiAgICAgICAgIHJldHVybjsKLSAg
ICAgICAgCisgICAgCisgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgogICAgIGNhc2UgTmV3RnVu
Y3Rpb246CiAgICAgICAgIGlmIChub2RlLT5jYXN0T3BlcmFuZDxGdW5jdGlvbkV4ZWN1dGFibGUq
PigpLT5zaW5nbGV0b25GdW5jdGlvbigpLT5pc1N0aWxsVmFsaWQoKSkKICAgICAgICAgICAgIHdy
aXRlKFdhdGNocG9pbnRfZmlyZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0RvZXNHQy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5j
cHAKaW5kZXggNDg3MWYwYTk2MjMxZDE3M2VkOTAxNjI3NTBmMDk0YzdlMWIxMTViMi4uNDFhNzIx
Mzg5YzUxYzFkOTJjZDhlZGYxNTZlODZmNTAyOTI0ZDY5ZiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHRG9lc0dDLmNwcApAQCAtMjI4LDYgKzIyOCw3IEBAIGJvb2wgZG9lc0dDKEdyYXBo
JiBncmFwaCwgTm9kZSogbm9kZSkKICAgICBjYXNlIE5ld1JlZ2V4cDoKICAgICBjYXNlIE5ld1N0
cmluZ09iamVjdDoKICAgICBjYXNlIE1ha2VSb3BlOgorICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlv
bjoKICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgIGNhc2UgTmV3VHlwZWRBcnJheToKICAgICBj
YXNlIFRocm93UmVmZXJlbmNlRXJyb3I6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdG
aXh1cFBoYXNlLmNwcAppbmRleCA2NTJjYjZhMjJhOTFlOGNiNmZhODMxNmMzZDhjMjllYmJhN2Q1
NmEzLi4zMTRiOGVmODBhOTk3NDkwMzcyZGU5MTFkMDlkZDdkYzlmYjE3MjE1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKQEAgLTExODIsNiArMTE4Miw3
IEBAIHByaXZhdGU6CiAKICAgICAgICAgY2FzZSBDcmVhdGVTY29wZWRBcmd1bWVudHM6CiAgICAg
ICAgIGNhc2UgQ3JlYXRlQWN0aXZhdGlvbjoKKyAgICAgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9u
OgogICAgICAgICBjYXNlIE5ld0Z1bmN0aW9uOiB7CiAgICAgICAgICAgICBmaXhFZGdlPENlbGxV
c2U+KG5vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR05vZGUuaAppbmRleCBmYjQ0NWI3NjJmMWNiNTg0ZTQ5YTMxYjM4NjZjZmNiYzMwOTgw
MGJhLi4wY2Q2OWE3Nzk1YWJiMzlhYjdhYjZhMWU3NTU1OTI2YzFmNWQ5NjhmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR05vZGUuaApAQCAtMTI2Nyw2ICsxMjY3LDcgQEAgc3RydWN0IE5vZGUg
ewogICAgICAgICBjYXNlIENoZWNrQ2VsbDoKICAgICAgICAgY2FzZSBOYXRpdmVDb25zdHJ1Y3Q6
CiAgICAgICAgIGNhc2UgTmF0aXZlQ2FsbDoKKyAgICAgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9u
OgogICAgICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgICAgIGRlZmF1bHQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R05vZGVUeXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKaW5k
ZXggYjlmMDI1ZmI5YWI4YjdkZDU1NzNkMGQ3ODRjNjVkZTM2NjBjNWUwOS4uNDc0ODcxZTdhZjU0
ZmM0Nzg3M2NkNTBlZjVkZjFmOTViMTBiYjcwNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHTm9kZVR5cGUuaApAQCAtMjkxLDYgKzI5MSw4IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3Bh
Y2UgREZHIHsKICAgICBcCiAgICAgbWFjcm8oTmV3RnVuY3Rpb24sIE5vZGVSZXN1bHRKUykgXAog
ICAgIFwKKyAgICBtYWNybyhOZXdBcnJvd0Z1bmN0aW9uLCBOb2RlUmVzdWx0SlMgfCBOb2RlTXVz
dEdlbmVyYXRlKSBcCisgICAgXAogICAgIC8qIFRoZXNlIGFyZW4ndCB0ZXJtaW5hbHMgYnV0IGFs
d2F5cyBleGl0ICovIFwKICAgICBtYWNybyhUaHJvdywgTm9kZU11c3RHZW5lcmF0ZSkgXAogICAg
IG1hY3JvKFRocm93UmVmZXJlbmNlRXJyb3IsIE5vZGVNdXN0R2VuZXJhdGUpIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhh
c2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRp
b25QaGFzZS5jcHAKaW5kZXggZmRiOGZkYTU4MWVmNGM1MGJkMTA1NTA4Mjc2YTE3YWVmYjdiNmM4
Yy4uMzAzMjliNWFmMjc0NDU2OGE5MzUxNjMzZmFkOWUxMjMzNmNjMTk4ZCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRp
b25QaGFzZS5jcHAKQEAgLTIxNyw2ICsyMTcsNyBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIEdl
dEdldHRlcjoKICAgICAgICAgY2FzZSBHZXRTZXR0ZXI6CiAgICAgICAgIGNhc2UgR2V0Q2FsbGVl
OgorICAgICAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246CiAgICAgICAgIGNhc2UgTmV3RnVuY3Rp
b246IHsKICAgICAgICAgICAgIGNoYW5nZWQgfD0gc2V0UHJlZGljdGlvbihTcGVjRnVuY3Rpb24p
OwogICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2Fm
ZVRvRXhlY3V0ZS5oCmluZGV4IGFhNWE3MWMxN2Y4OGI2ODhlM2ZhNWI1N2I4ZGNhYjIyMzQ1ZDRm
MWUuLmI2YzUwYjQ0NTdjMDY5YmYxZDA3MWYzOWIxN2ViZjdiOWRhZDM3NWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCkBAIC0yMjgsNiArMjI4LDcg
QEAgYm9vbCBzYWZlVG9FeGVjdXRlKEFic3RyYWN0U3RhdGVUeXBlJiBzdGF0ZSwgR3JhcGgmIGdy
YXBoLCBOb2RlKiBub2RlKQogICAgIGNhc2UgQ3JlYXRlQ2xvbmVkQXJndW1lbnRzOgogICAgIGNh
c2UgR2V0RnJvbUFyZ3VtZW50czoKICAgICBjYXNlIFB1dFRvQXJndW1lbnRzOgorICAgIGNhc2Ug
TmV3QXJyb3dGdW5jdGlvbjoKICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgIGNhc2UgSnVtcDoK
ICAgICBjYXNlIEJyYW5jaDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQuaAppbmRleCA5ZDcyZTg5MzczMmNiN2FlOTY4ODY2NzNlZDA1ZTVlZjU1ZDFkMWIx
Li41NTdjNTMxNzkxNTcwZDVmNmVjN2IxMjY0NGY4ZGQxZTk0YTY0YTJhIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCkBAIC0xMTk5LDYgKzExOTks
MTIgQEAgcHVibGljOgogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUo
YXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSk7CiAgICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0
aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKICAgICB9CisgICAg
CisgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNj
Q0ogb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgYXJnMSwgSlNDZWxsKiBjZWxsLCBH
UFJSZWcgYXJnMikKKyAgICB7CisgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNT
dGF0ZShhcmcxLCBUcnVzdGVkSW1tUHRyKGNlbGwpLCBhcmcyKTsKKyAgICAgICAgcmV0dXJuIGFw
cGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwor
ICAgIH0KIAogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRp
b25fRVdzIG9wZXJhdGlvbiwgV2F0Y2hwb2ludFNldCogd2F0Y2hwb2ludFNldCkKICAgICB7CkBA
IC0xNjA1LDYgKzE2MTEsMTEgQEAgcHVibGljOgogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50
c1dpdGhFeGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSk7CiAgICAgICAgIHJldHVy
biBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0
UGF5bG9hZCwgcmVzdWx0VGFnKTsKICAgICB9CisgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9w
ZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0ogb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0VGFn
LCBHUFJSZWcgcmVzdWx0UGF5bG9hZCwgR1BSUmVnIGFyZzEsIEpTQ2VsbCogY2VsbCwgR1BSUmVn
IGFyZzIpCisgICAgeworICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUo
YXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSwgYXJnMik7CisgICAgICAgIHJldHVybiBhcHBlbmRD
YWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0UGF5bG9hZCwg
cmVzdWx0VGFnKTsKKyAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihK
X0pJVE9wZXJhdGlvbl9FU3NpQ0kgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0VGFnLCBHUFJSZWcg
cmVzdWx0UGF5bG9hZCwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgYXJnMSwg
Y29uc3QgU3RyaW5nSW1wbCogdWlkKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVu
dHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIoc3R1YkluZm8pLCBhcmcxLCBUcnVzdGVkSW1t
UHRyKHVpZCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVDMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQzMl82NC5jcHAKaW5kZXggZmQ5ZjM1MGIxOGRjNWVhYTE4NmJiYjc2MTc1NzliNWJh
MDAxNzE2NS4uZjM2OTAyMjgxMjJiZjZkNGE5MGU2NjRiNjIwOTFjMDk2YThmZDg3MyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQu
Y3BwCkBAIC00MjgzLDcgKzQyODMsMTEgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShO
b2RlKiBub2RlKQogICAgICAgICBjb21waWxlQ3JlYXRlQ2xvbmVkQXJndW1lbnRzKG5vZGUpOwog
ICAgICAgICBicmVhazsKICAgICB9Ci0gICAgICAgIAorICAgIAorICAgIGNhc2UgTmV3QXJyb3dG
dW5jdGlvbjoKKyAgICAgICAgREZHX0NSQVNIKG1faml0LmdyYXBoKCksIG5vZGUsICJBcnJvdyBm
dW5jdGlvbiBjYW5cJ3QgYmUgY29tcGlsZWQgaW4gREZHIik7CisgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgCiAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICAgICAgY29tcGlsZU5ld0Z1bmN0
aW9uKG5vZGUpOwogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCmluZGV4IDFkMDg1N2YzZjVkN2IyYzFjYzIwNDZh
MTBlZGFlNDAzMzMzNDgzMzUuLjBmMzU3NWI1ZTIzMTU2NGFhZjNhYmE2Yzk1MDY2MmViZDAxM2I4
NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQ2NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VDY0LmNwcApAQCAtNDMxNywxMSArNDMxNywxNSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21w
aWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIGNvbXBpbGVDcmVhdGVDbG9uZWRBcmd1bWVudHMobm9k
ZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KLSAgICAgICAgCisKKyAgICBjYXNlIE5ld0Fycm93
RnVuY3Rpb246CisgICAgICAgIERGR19DUkFTSChtX2ppdC5ncmFwaCgpLCBub2RlLCAiQXJyb3cg
ZnVuY3Rpb24gY2FuXCcgaW4gREZHIik7CisgICAgICAgIGJyZWFrOworICAgICAgICAgICAgCiAg
ICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICAgICAgY29tcGlsZU5ld0Z1bmN0aW9uKG5vZGUpOwog
ICAgICAgICBicmVhazsKLSAgICAgICAgCisKICAgICBjYXNlIEluOgogICAgICAgICBjb21waWxl
SW4obm9kZSk7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTdHJ1Y3R1cmVSZWdpc3RyYXRpb25QaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1N0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmNwcAppbmRleCAyODY0
NmQxM2ZjZjRjOTY1YzYyMGQwMDIxMWIwZGNiZjAzYjM3YzJkLi4yYzQyZGYzYzAyMzgzZTcxZjVl
Yzk1ODZhMjc4ZmJiMWRiMTMwODBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1N0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1N0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmNwcApAQCAtMTMwLDcg
KzEzMCwxMSBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgY2FzZSBOZXdSZWdleHA6CiAgICAg
ICAgICAgICAgICAgICAgIHJlZ2lzdGVyU3RydWN0dXJlKG1fZ3JhcGguZ2xvYmFsT2JqZWN0Rm9y
KG5vZGUtPm9yaWdpbi5zZW1hbnRpYyktPnJlZ0V4cFN0cnVjdHVyZSgpKTsKICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGNh
c2UgTmV3QXJyb3dGdW5jdGlvbjoKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgICAgICAgICAgICAgICAgICByZWdpc3RlclN0cnVjdHVyZShtX2dyYXBoLmdsb2JhbE9i
amVjdEZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMpLT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCkp
OworI2VuZGlmCisgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIGNh
c2UgTmV3RnVuY3Rpb246CiAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyU3RydWN0dXJlKG1f
Z3JhcGguZ2xvYmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyktPmZ1bmN0aW9uU3Ry
dWN0dXJlKCkpOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuY3BwCmluZGV4
IGU0MTZmZGFhZmVlMjIyOWY2NTNiOWFlMDYyNDgwMDA5OTk4NzVhMDAuLjNjMzg2NGNhMTgwYWEz
NmU0ODA4YzIzYTEzMDZiZTI4ZTVkN2I5MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmNwcApAQCAtMzAsNiArMzAs
NyBAQAogCiAjaW5jbHVkZSAiRGlyZWN0QXJndW1lbnRzLmgiCiAjaW5jbHVkZSAiR2V0dGVyU2V0
dGVyLmgiCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNFbnZpcm9u
bWVudFJlY29yZC5oIgogI2luY2x1ZGUgIkpTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oIgogI2lu
Y2x1ZGUgIkpTU2NvcGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmgKaW5kZXggOTEyNzU0ZGZjNDAxNTJiMGVkMjQ4MzZh
Yzc1YjhmOTY5ODQzOTliYi4uZWViMjA4YmUxZjQ2Y2ZjNDJiOTQ5NWE5ZmE5MjFmYmNkNmQ4MmRh
NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXBS
ZXBvc2l0b3J5LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhl
YXBSZXBvc2l0b3J5LmgKQEAgLTg4LDYgKzg4LDEzIEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3Bh
Y2UgRlRMIHsKICAgICBtYWNybyhTdHJ1Y3R1cmVfZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmU6Omds
b2JhbE9iamVjdE9mZnNldCgpKSBcCiAgICAgbWFjcm8oU3RydWN0dXJlX3Byb3RvdHlwZSwgU3Ry
dWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSkgXAogICAgIG1hY3JvKFN0cnVjdHVyZV9zdHJ1Y3R1
cmVJRCwgU3RydWN0dXJlOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKQorICAgIAorI2RlZmluZSBGT1Jf
RUFDSF9BQlNUUkFDVF9GSUVMRF9BUlJPV0ZVTkNUSU9OKG1hY3JvKSBcCisgICAgbWFjcm8oSlNB
cnJvd0Z1bmN0aW9uX2V4ZWN1dGFibGUsIEpTQXJyb3dGdW5jdGlvbjo6b2Zmc2V0T2ZFeGVjdXRh
YmxlKCkpIFwKKyAgICBtYWNybyhKU0Fycm93RnVuY3Rpb25fc2NvcGUsIEpTQXJyb3dGdW5jdGlv
bjo6b2Zmc2V0T2ZTY29wZUNoYWluKCkpIFwKKyAgICBtYWNybyhKU0Fycm93RnVuY3Rpb25fcmFy
ZURhdGEsIEpTQXJyb3dGdW5jdGlvbjo6b2Zmc2V0T2ZSYXJlRGF0YSgpKSBcCisgICAgbWFjcm8o
SlNBcnJvd0Z1bmN0aW9uX3RoaXMsIEpTQXJyb3dGdW5jdGlvbjo6b2Zmc2V0T2ZUaGlzVmFsdWUo
KSkKKyAgICAKIAogI2RlZmluZSBGT1JfRUFDSF9JTkRFWEVEX0FCU1RSQUNUX0hFQVAobWFjcm8p
IFwKICAgICBtYWNybyhEaXJlY3RBcmd1bWVudHNfc3RvcmFnZSwgRGlyZWN0QXJndW1lbnRzOjpz
dG9yYWdlT2Zmc2V0KCksIHNpemVvZihFbmNvZGVkSlNWYWx1ZSkpIFwKQEAgLTEyOSw2ICsxMzYs
OSBAQCBwdWJsaWM6CiAKICNkZWZpbmUgQUJTVFJBQ1RfRklFTERfREVDTEFSQVRJT04obmFtZSwg
b2Zmc2V0KSBBYnN0cmFjdEZpZWxkIG5hbWU7CiAgICAgRk9SX0VBQ0hfQUJTVFJBQ1RfRklFTEQo
QUJTVFJBQ1RfRklFTERfREVDTEFSQVRJT04pCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICBGT1JfRUFDSF9BQlNUUkFDVF9GSUVMRF9BUlJPV0ZVTkNUSU9OKEFCU1RS
QUNUX0ZJRUxEX0RFQ0xBUkFUSU9OKQorI2VuZGlmCiAjdW5kZWYgQUJTVFJBQ1RfRklFTERfREVD
TEFSQVRJT04KICAgICAKICAgICBBYnN0cmFjdEZpZWxkJiBKU0NlbGxfZnJlZUxpc3ROZXh0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCmluZGV4IDYw
ZGNmNzkxOTMyM2M1NzViNDc4MDYwMTcyYjJjZDUzN2VkZGU2NzguLjhlZTc4ZmVkMGEyYmRiODE0
ZDVmMGExZDBlMDJkN2Y3OGY5NWJjZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTENhcGFiaWxpdGllcy5jcHAKQEAgLTEwMyw2ICsxMDMsNyBAQCBpbmxpbmUgQ2FwYWJpbGl0
eUxldmVsIGNhbkNvbXBpbGUoTm9kZSogbm9kZSkKICAgICBjYXNlIExvb3BIaW50OgogICAgIGNh
c2UgU2tpcFNjb3BlOgogICAgIGNhc2UgQ3JlYXRlQWN0aXZhdGlvbjoKKyAgICBjYXNlIE5ld0Fy
cm93RnVuY3Rpb246CiAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICBjYXNlIEdldENsb3N1cmVW
YXI6CiAgICAgY2FzZSBQdXRDbG9zdXJlVmFyOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRvcnkuaAppbmRleCAwOTdiNzFjYzY0Mzc2Mzc2ZWJi
ZWFjMDY3NDZmZGNjMGJiZmNlNjg4Li5kOWNmMDQ3OGEzOGJhMzYxYjI1YjQ1NDNkNjY2ZWVjNDc2
ZmJlODZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEludHJpbnNp
Y1JlcG9zaXRvcnkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEludHJpbnNp
Y1JlcG9zaXRvcnkuaApAQCAtODMsNiArODMsNyBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNl
IEZUTCB7CiAgICAgbWFjcm8oSl9KSVRPcGVyYXRpb25fRUpDLCBmdW5jdGlvblR5cGUoaW50NjQs
IGludFB0ciwgaW50NjQsIGludFB0cikpIFwKICAgICBtYWNybyhKX0pJVE9wZXJhdGlvbl9FSkos
IGZ1bmN0aW9uVHlwZShpbnQ2NCwgaW50UHRyLCBpbnQ2NCwgaW50NjQpKSBcCiAgICAgbWFjcm8o
Sl9KSVRPcGVyYXRpb25fRUpzY0MsIGZ1bmN0aW9uVHlwZShpbnRQdHIsIGludFB0ciwgaW50UHRy
LCBpbnRQdHIpKSBcCisgICAgbWFjcm8oSl9KSVRPcGVyYXRpb25fRUpzY0NKLCBmdW5jdGlvblR5
cGUoaW50NjQsIGludFB0ciwgaW50NjQsIGludDY0LCBpbnQ2NCkpXAogICAgIG1hY3JvKEpfSklU
T3BlcmF0aW9uX0VKc3NaLCBmdW5jdGlvblR5cGUoaW50NjQsIGludFB0ciwgaW50UHRyLCBpbnQz
MikpIFwKICAgICBtYWNybyhKX0pJVE9wZXJhdGlvbl9FU3NpSkksIGZ1bmN0aW9uVHlwZShpbnQ2
NCwgaW50UHRyLCBpbnRQdHIsIGludDY0LCBpbnRQdHIpKSBcCiAgICAgbWFjcm8oSnNzX0pJVE9w
ZXJhdGlvbl9FWiwgZnVuY3Rpb25UeXBlKGludFB0ciwgaW50UHRyLCBpbnQzMikpIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKaW5kZXggZDkw
MmFlNzM0MmU4YjQ2M2IzM2ExZTVkOTdkZTZlMTg4Njg5OWU0Mi4uZmQ4YWMzNzg5NDA5MWIxNmM5
Mjk0ZWY5NzMwMzkxZDg5ZjQxZGEwNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExMb3dlckRGR1RvTExWTS5jcHAKQEAgLTQzLDYgKzQzLDcgQEAKICNpbmNsdWRlICJGVExP
dXRwdXQuaCIKICNpbmNsdWRlICJGVExUaHVua3MuaCIKICNpbmNsdWRlICJGVExXZWlnaHRlZFRh
cmdldC5oIgorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQ0lubGlu
ZXMuaCIKICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIk9wZXJh
bmRzSW5saW5lcy5oIgpAQCAtNjA2LDYgKzYwNywxMSBAQCBwcml2YXRlOgogICAgICAgICBjYXNl
IENyZWF0ZUFjdGl2YXRpb246CiAgICAgICAgICAgICBjb21waWxlQ3JlYXRlQWN0aXZhdGlvbigp
OwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICAgICAgY29tcGlsZU5l
d0Fycm93RnVuY3Rpb24oKTsKKyNlbmRpZgorICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNh
c2UgTmV3RnVuY3Rpb246CiAgICAgICAgICAgICBjb21waWxlTmV3RnVuY3Rpb24oKTsKICAgICAg
ICAgICAgIGJyZWFrOwpAQCAtMjk2Nyw2ICsyOTczLDUyIEBAIHByaXZhdGU6CiAgICAgICAgIHNl
dEpTVmFsdWUobV9vdXQucGhpKG1fb3V0LmludFB0ciwgZmFzdFJlc3VsdCwgc2xvd1Jlc3VsdCkp
OwogICAgIH0KICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
IHZvaWQgY29tcGlsZU5ld0Fycm93RnVuY3Rpb24oKQorICAgIHsKKworICAgICAgICBMVmFsdWUg
c2NvcGUgPSBsb3dDZWxsKG1fbm9kZS0+Y2hpbGQxKCkpOworICAgICAgICBMVmFsdWUgdGhpc1Zh
bHVlID0gbG93SlNWYWx1ZShtX25vZGUtPmNoaWxkMigpKTsKKyAgICAgICAgRnVuY3Rpb25FeGVj
dXRhYmxlKiBleGVjdXRhYmxlID0gbV9ub2RlLT5jYXN0T3BlcmFuZDxGdW5jdGlvbkV4ZWN1dGFi
bGUqPigpOworICAgICAgICBpZiAoZXhlY3V0YWJsZS0+c2luZ2xldG9uRnVuY3Rpb24oKS0+aXNT
dGlsbFZhbGlkKCkpIHsKKyAgICAgICAgICAgIExWYWx1ZSBjYWxsUmVzdWx0ID0gdm1DYWxsKAor
ICAgICAgICAgICAgICAgIG1fb3V0Lm9wZXJhdGlvbihvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9u
KSwKKyAgICAgICAgICAgICAgICBtX2NhbGxGcmFtZSwgc2NvcGUsIHdlYWtQb2ludGVyKGV4ZWN1
dGFibGUpLCB0aGlzVmFsdWUpOworICAgICAgICAgICAgc2V0SlNWYWx1ZShjYWxsUmVzdWx0KTsK
KyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUgPSBtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihtX25vZGUtPm9yaWdpbi5z
ZW1hbnRpYyktPmFycm93RnVuY3Rpb25TdHJ1Y3R1cmUoKTsKKyAgICAgICAgCisgICAgICAgIExC
YXNpY0Jsb2NrIHNsb3dQYXRoID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJOZXdBcnJvd0Z1bmN0
aW9uIHNsb3cgcGF0aCIpKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgY29udGludWF0aW9uID0gRlRM
X05FV19CTE9DSyhtX291dCwgKCJOZXdBcnJvd0Z1bmN0aW9uIGNvbnRpbnVhdGlvbiIpKTsKKyAg
ICAgICAgCisgICAgICAgIExCYXNpY0Jsb2NrIGxhc3ROZXh0ID0gbV9vdXQuaW5zZXJ0TmV3Qmxv
Y2tzQmVmb3JlKHNsb3dQYXRoKTsKKyAgICAgICAgCisgICAgICAgIExWYWx1ZSBmYXN0T2JqZWN0
ID0gYWxsb2NhdGVPYmplY3Q8SlNBcnJvd0Z1bmN0aW9uPihzdHJ1Y3R1cmUsIG1fb3V0LmludFB0
clplcm8sIHNsb3dQYXRoKTsKKyAgICAgICAgCisgICAgICAgIC8vIFdlIGRvbid0IG5lZWQgbWVt
b3J5IGJhcnJpZXJzIHNpbmNlIHdlIGp1c3QgZmFzdC1jcmVhdGVkIHRoZSBmdW5jdGlvbiwgc28g
aXQKKyAgICAgICAgLy8gbXVzdCBiZSB5b3VuZy4KKyAgICAgICAgbV9vdXQuc3RvcmVQdHIoc2Nv
cGUsIGZhc3RPYmplY3QsIG1faGVhcHMuSlNBcnJvd0Z1bmN0aW9uX3Njb3BlKTsKKyAgICAgICAg
bV9vdXQuc3RvcmVQdHIod2Vha1BvaW50ZXIoZXhlY3V0YWJsZSksIGZhc3RPYmplY3QsIG1faGVh
cHMuSlNBcnJvd0Z1bmN0aW9uX2V4ZWN1dGFibGUpOworICAgICAgICBtX291dC5zdG9yZVB0cih0
aGlzVmFsdWUsIGZhc3RPYmplY3QsIG1faGVhcHMuSlNBcnJvd0Z1bmN0aW9uX3RoaXMpOworICAg
ICAgICBtX291dC5zdG9yZVB0cihtX291dC5pbnRQdHJaZXJvLCBmYXN0T2JqZWN0LCBtX2hlYXBz
LkpTQXJyb3dGdW5jdGlvbl9yYXJlRGF0YSk7CisgICAgICAgIAorICAgICAgICBWYWx1ZUZyb21C
bG9jayBmYXN0UmVzdWx0ID0gbV9vdXQuYW5jaG9yKGZhc3RPYmplY3QpOworICAgICAgICBtX291
dC5qdW1wKGNvbnRpbnVhdGlvbik7CisgICAgICAgIAorICAgICAgICBtX291dC5hcHBlbmRUbyhz
bG93UGF0aCwgY29udGludWF0aW9uKTsKKyAgICAgICAgTFZhbHVlIGNhbGxSZXN1bHQgPSB2bUNh
bGwoCisgICAgICAgICAgICBtX291dC5vcGVyYXRpb24ob3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlv
bldpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQpLAorICAgICAgICAgICAgbV9j
YWxsRnJhbWUsIHNjb3BlLCB3ZWFrUG9pbnRlcihleGVjdXRhYmxlKSwgdGhpc1ZhbHVlKTsKKyAg
ICAgICAgVmFsdWVGcm9tQmxvY2sgc2xvd1Jlc3VsdCA9IG1fb3V0LmFuY2hvcihjYWxsUmVzdWx0
KTsKKyAgICAgICAgbV9vdXQuanVtcChjb250aW51YXRpb24pOworICAgICAgICAKKyAgICAgICAg
bV9vdXQuYXBwZW5kVG8oY29udGludWF0aW9uLCBsYXN0TmV4dCk7CisgICAgICAgIHNldEpTVmFs
dWUobV9vdXQucGhpKG1fb3V0LmludFB0ciwgZmFzdFJlc3VsdCwgc2xvd1Jlc3VsdCkpOworICAg
IH0KKyNlbmRpZgorICAgIAogICAgIHZvaWQgY29tcGlsZUNyZWF0ZURpcmVjdEFyZ3VtZW50cygp
CiAgICAgewogICAgICAgICAvLyBGSVhNRTogQSBtb3JlIGVmZmVjdGl2ZSB3YXkgb2YgZGVhbGlu
ZyB3aXRoIHRoZSBhcmd1bWVudCBjb3VudCBhbmQgY2FsbGVlIGlzIHRvIGhhdmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCmluZGV4IDE3
ZGQzYjRmNDVmNTZmZjIwMDIzZDczYjc1ZGM3ZDcwYjYzNDk2OGYuLjIwMDA1YzA3MTUzM2IxNjgz
YWZkYTJkNjJkYzY1YzAxNjdkOTEwOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcApAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUg
IkV4Y2VwdGlvbkhlbHBlcnMuaCIKICNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRl
ICJKU0FycmF5LmgiCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNC
b3VuZEZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTTGV4
aWNhbEVudmlyb25tZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0NDYWxsSGVscGVycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhlbHBlcnMu
aAppbmRleCBmZDM0NGFkYmNhYmIxNWZiZDgxNGVkNmZiZDQ3OGY3NGI2MTU3NjNjLi4wN2FjZDZk
NTMyZDMyOGFmZGI3N2FjZjIwMTMzOTBlZjM5ZGQ5ZDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0NDYWxsSGVscGVycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvQ0NhbGxIZWxwZXJzLmgKQEAgLTI3NCw2ICsyNzQsMTUgQEAgcHVibGljOgogICAgICAg
ICBhZGRDYWxsQXJndW1lbnQoYXJnMik7CiAgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmczKTsK
ICAgICB9CisgICAgCisgICAgQUxXQVlTX0lOTElORSB2b2lkIHNldHVwQXJndW1lbnRzV2l0aEV4
ZWNTdGF0ZShHUFJSZWcgYXJnMSwgVHJ1c3RlZEltbVB0ciBhcmcyLCBHUFJSZWcgYXJnMykKKyAg
ICB7CisgICAgICAgIHJlc2V0Q2FsbEFyZ3VtZW50cygpOworICAgICAgICBhZGRDYWxsQXJndW1l
bnQoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQo
YXJnMSk7CisgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmcyKTsKKyAgICAgICAgYWRkQ2FsbEFy
Z3VtZW50KGFyZzMpOworICAgIH0KIAogICAgIEFMV0FZU19JTkxJTkUgdm9pZCBzZXR1cEFyZ3Vt
ZW50c1dpdGhFeGVjU3RhdGUoR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyLCBUcnVzdGVkSW1tMzIg
YXJnMykKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKaW5kZXggYjQxMTNjNDVlNzJj
N2UxNThlYzFmMTkyM2NiZmUyOWM1ZWY1NDI4Mi4uOGExYmFjODdmZDEwYjk4N2Y2NGZkMGMyMTEz
MjEwY2E2NzA1ZWRiMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcApAQCAtMjYwLDYgKzI2
MCw3IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkKICAgICAgICAgREVGSU5F
X09QKG9wX25ld19hcnJheV9idWZmZXIpCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfZnVuYykK
ICAgICAgICAgREVGSU5FX09QKG9wX25ld19mdW5jX2V4cCkKKyAgICAgICAgREVGSU5FX09QKG9w
X25ld19hcnJvd19mdW5jX2V4cCkgCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfb2JqZWN0KQog
ICAgICAgICBERUZJTkVfT1Aob3BfbmV3X3JlZ2V4cCkKICAgICAgICAgREVGSU5FX09QKG9wX25v
dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCmluZGV4IGQ3MjI1ZWE0YjJhZTU0MzE4Nzg0NGMyMDc2
ZWM2ZWI4ZDY1ZDIxYzkuLmRhYTUyMDk0ODg1NzkxNjBiYmQ5YzQ3ZDA3YjRhMDQ1OWZiOGIwMTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaApAQCAtNTIxLDYgKzUyMSw3IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2FycmF5X2J1ZmZlcihJbnN0cnVjdGlvbiop
OwogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2Z1bmMoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAg
dm9pZCBlbWl0X29wX25ld19mdW5jX2V4cChJbnN0cnVjdGlvbiopOworICAgICAgICB2b2lkIGVt
aXRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1p
dF9vcF9uZXdfb2JqZWN0KEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdf
cmVnZXhwKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9ub3QoSW5zdHJ1Y3Rp
b24qKTsKQEAgLTcwMiw2ICs3MDMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgTWFjcm9B
c3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSkosIGludCwgR1BS
UmVnLCBHUFJSZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9u
KENfSklUT3BlcmF0aW9uX0VKc2MsIEdQUlJlZyk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpD
YWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0MsIGludCwgR1BSUmVnLCBKU0Nl
bGwqKTsKKyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9w
ZXJhdGlvbl9FSnNjQ0osIGludCwgR1BSUmVnLCBKU0NlbGwqLCBHUFJSZWcpOwogICAgICAgICBN
YWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2NaLCBH
UFJSZWcsIGludDMyX3QpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0
aW9uKENfSklUT3BlcmF0aW9uX0VKc2NaLCBpbnQsIEdQUlJlZywgaW50MzJfdCk7CiAjaWYgVVNF
KEpTVkFMVUU2NCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5s
aW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKaW5kZXggOWVl
MjRkMDkyMjhhOTg4MmVhNzY5NjI5ZDFhODdiNmMzNGE4NjMzNC4uYTBlNDBjNWM2MWZlNjNlOTg2
M2VkMjIzZWRmNWQ0NTFmMzE4YTc3NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxp
bmVzLmgKQEAgLTI3MSw2ICsyNzEsMTIgQEAgQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6
Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0Mgb3BlcmEKICAgICBy
ZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldEpTVmFsdWVSZXN1bHQob3BlcmF0
aW9uLCBkc3QpOwogfQogCitBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6
Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0ogb3BlcmF0aW9uLCBpbnQgZHN0LCBH
UFJSZWcgYXJnMSwgSlNDZWxsKiBjZWxsLCBHUFJSZWcgYXJnMikKK3sKKyAgICBzZXR1cEFyZ3Vt
ZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSwgYXJnMik7CisgICAg
cmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRKU1ZhbHVlUmVzdWx0KG9wZXJh
dGlvbiwgZHN0KTsKK30KKyAgICAKIEFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwg
SklUOjpjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VQIG9wZXJhdGlvbiwgaW50IGRzdCwg
dm9pZCogcG9pbnRlcikKIHsKICAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3Rl
ZEltbVB0cihwb2ludGVyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVE9wY29kZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNw
cAppbmRleCA1ZDRkMGI5ZmU4NzY4YWMyZmU1OTY1NzVlZDRhYTgxMjIwZGFkNmM3Li5kY2UzNzEy
NWM0ZWZiMDU0YTgwNjE1NGUwYWQyM2FkZmY5ZWE0YjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3Bjb2Rlcy5jcHAKQEAgLTk4Nyw2ICs5ODcsMjkgQEAgdm9pZCBKSVQ6OmVtaXRf
b3BfbmV3X2Z1bmNfZXhwKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgY2Fs
bE9wZXJhdGlvbihvcGVyYXRpb25OZXdGdW5jdGlvbiwgZHN0LCByZWdUMCwgZnVuY0V4cHIpOwog
ICAgIGRvbmUubGluayh0aGlzKTsKIH0KKyAgICAKK3ZvaWQgSklUOjplbWl0X29wX25ld19hcnJv
d19mdW5jX2V4cChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQoreworICAgIEp1bXAg
bm90VW5kZWZpbmVkU2NvcGU7CisgICAgaW50IGRzdCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51
Lm9wZXJhbmQ7CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVy
KGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQsIHJlZ1QwKTsKKyAgICBlbWl0R2V0Vmly
dHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvbls0XS51Lm9wZXJhbmQsIHJlZ1QxKTsKKyAg
ICBub3RVbmRlZmluZWRTY29wZSA9IGJyYW5jaDY0KE5vdEVxdWFsLCByZWdUMCwgVHJ1c3RlZElt
bTY0KEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSkpOworICAgIHN0b3JlNjQoVHJ1c3Rl
ZEltbTY0KEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSksIEFkZHJlc3MoY2FsbEZyYW1l
UmVnaXN0ZXIsIHNpemVvZihSZWdpc3RlcikgKiBkc3QpKTsKKyNlbHNlCisgICAgZW1pdExvYWRQ
YXlsb2FkKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQsIHJlZ1QwKTsKKyAgICBlbWl0
TG9hZFBheWxvYWQoY3VycmVudEluc3RydWN0aW9uWzRdLnUub3BlcmFuZCwgcmVnVDEpOworICAg
IG5vdFVuZGVmaW5lZFNjb3BlID0gYnJhbmNoMzIoTm90RXF1YWwsIHRhZ0ZvcihjdXJyZW50SW5z
dHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSwgVHJ1c3RlZEltbTMyKEpTVmFsdWU6OlVuZGVmaW5lZFRh
ZykpOworICAgIGVtaXRTdG9yZShkc3QsIGpzVW5kZWZpbmVkKCkpOworI2VuZGlmCisgICAgSnVt
cCBkb25lID0ganVtcCgpOworICAgIG5vdFVuZGVmaW5lZFNjb3BlLmxpbmsodGhpcyk7CisgICAg
CisgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlvbiA9IG1fY29kZUJsb2NrLT5mdW5jdGlv
bkV4cHIoY3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZCk7CisgICAgY2FsbE9wZXJhdGlv
bihvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uLCBkc3QsIHJlZ1QwLCBmdW5jdGlvbiwgcmVnVDEp
OworICAgIGRvbmUubGluayh0aGlzKTsKK30KIAogdm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2FycmF5
KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAppbmRleCA5OGQ4NzczZjM4ZDk1ZjJiOGU1OGNkYmQ3
ODM2MDI5ODE1NDAwNzEzLi45NjdjYThlYWY3NWIxMGRlODAxMGYyMTRkNGVjNjc3MjQ3ZmU0MmMx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTIw
LDcgKzIwLDcgQEAKICAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKICAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLiAKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgpA
QCAtNDIsNiArNDIsOCBAQAogI2luY2x1ZGUgIkhvc3RDYWxsUmV0dXJuVmFsdWUuaCIKICNpbmNs
dWRlICJKSVQuaCIKICNpbmNsdWRlICJKSVRUb0RGR0RlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFj
ay5oIgorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTQm91bmRGdW5j
dGlvbi5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0NhdGNoU2NvcGUu
aCIKICNpbmNsdWRlICJKU0Z1bmN0aW9uTmFtZVNjb3BlLmgiCkBAIC02Nyw3ICs2OSw3IEBAIHZv
aWQgcHVzaE5hbWVTY29wZShFeGVjU3RhdGUqIGV4ZWMsIGludDMyX3QgZHN0LCBTeW1ib2xUYWJs
ZSogc3ltYm9sVGFibGUsIEVuY29kCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBO
YXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7Ci0gICAgCisKICAgICBBU1NF
UlQoIUpJVENvZGU6OmlzT3B0aW1pemluZ0pJVChleGVjLT5jb2RlQmxvY2soKS0+aml0VHlwZSgp
KSk7CiAKICAgICAvLyBGSVhNRTogVGhpcyB3b24ndCB3b3JrIGlmIHRoaXMgb3BlcmF0aW9uIGlz
IGNhbGxlZCBmcm9tIHRoZSBERkcgb3IgRlRMLgpAQCAtMTUxLDcgKzE1Myw3IEBAIEVuY29kZWRK
U1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZChFeGVjU3RhdGUqIGV4ZWMsIFN0
cnVjdHVyZVN0dWJJbmZvCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZl
Q2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBKU1ZhbHVlIGJh
c2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShiYXNlKTsKICAgICBQcm9wZXJ0eVNsb3Qgc2xvdChi
YXNlVmFsdWUpOwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVyOjpmcm9tVWlkKHZt
LCB1aWQpOwpAQCAtMTY5LDcgKzE3MSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uR2V0QnlJZEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyCiAgICAg
SlNWYWx1ZSBiYXNlVmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoYmFzZSk7CiAgICAgUHJvcGVydHlT
bG90IHNsb3QoYmFzZVZhbHVlKTsKICAgICBib29sIGhhc1Jlc3VsdCA9IGJhc2VWYWx1ZS5nZXRQ
cm9wZXJ0eVNsb3QoZXhlYywgaWRlbnQsIHNsb3QpOwotICAgIAorCiAgICAgaWYgKGFjY2Vzc1R5
cGUgPT0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpKQogICAg
ICAgICBidWlsZEdldEJ5SURMaXN0KGV4ZWMsIGJhc2VWYWx1ZSwgaWRlbnQsIHNsb3QsICpzdHVi
SW5mbyk7CiAKQEAgLTE4NCwxMyArMTg2LDEzIEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uR2V0QnlJZE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlCiAK
ICAgICBKU1ZhbHVlIGJhc2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShiYXNlKTsKICAgICBQcm9w
ZXJ0eVNsb3Qgc2xvdChiYXNlVmFsdWUpOwotICAgIAorCiAgICAgYm9vbCBoYXNSZXN1bHQgPSBi
YXNlVmFsdWUuZ2V0UHJvcGVydHlTbG90KGV4ZWMsIGlkZW50LCBzbG90KTsKICAgICBpZiAoc3R1
YkluZm8tPnNlZW4pCiAgICAgICAgIHJlcGF0Y2hHZXRCeUlEKGV4ZWMsIGJhc2VWYWx1ZSwgaWRl
bnQsIHNsb3QsICpzdHViSW5mbyk7CiAgICAgZWxzZQogICAgICAgICBzdHViSW5mby0+c2VlbiA9
IHRydWU7Ci0gICAgCisKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGhhc1Jlc3VsdD8gc2xv
dC5nZXRWYWx1ZShleGVjLCBpZGVudCkgOiBqc1VuZGVmaW5lZCgpKTsKIAogfQpAQCAtMTk5LDI1
ICsyMDEsMjUgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25Jbk9wdGlt
aXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkkKIHsKICAgICBWTSogdm0gPSAmZXhl
Yy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAg
ICAKKwogICAgIGlmICghYmFzZS0+aXNPYmplY3QoKSkgewogICAgICAgICB2bS0+dGhyb3dFeGNl
cHRpb24oZXhlYywgY3JlYXRlSW52YWxpZEluUGFyYW1ldGVyRXJyb3IoZXhlYywgYmFzZSkpOwog
ICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogICAgIH0KLSAg
ICAKKwogICAgIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSA9IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+
KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKTsKIAogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVudGlm
aWVyOjpmcm9tVWlkKHZtLCBrZXkpOwogICAgIFByb3BlcnR5U2xvdCBzbG90KGJhc2UpOwogICAg
IGJvb2wgcmVzdWx0ID0gYXNPYmplY3QoYmFzZSktPmdldFByb3BlcnR5U2xvdChleGVjLCBpZGVu
dCwgc2xvdCk7Ci0gICAgCisKICAgICBSRUxFQVNFX0FTU0VSVChhY2Nlc3NUeXBlID09IHN0dWJJ
bmZvLT5hY2Nlc3NUeXBlKTsKLSAgICAKKwogICAgIGlmIChzdHViSW5mby0+c2VlbikKICAgICAg
ICAgcmVwYXRjaEluKGV4ZWMsIGJhc2UsIGlkZW50LCByZXN1bHQsIHNsb3QsICpzdHViSW5mbyk7
CiAgICAgZWxzZQogICAgICAgICBzdHViSW5mby0+c2VlbiA9IHRydWU7Ci0gICAgCisKICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihyZXN1bHQpKTsKIH0KIApAQCAtMjQ3LDcg
KzI0OSw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0KEV4ZWNT
dGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qLCBFCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMt
PnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAg
CisKICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsK
ICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpLCB0
cnVlLCBleGVjLT5jb2RlQmxvY2soKS0+cHV0QnlJZENvbnRleHQoKSk7CiAgICAgSlNWYWx1ZTo6
ZGVjb2RlKGVuY29kZWRCYXNlKS5wdXQoZXhlYywgaWRlbnQsIEpTVmFsdWU6OmRlY29kZShlbmNv
ZGVkVmFsdWUpLCBzbG90KTsKQEAgLTI1Nyw3ICsyNTksNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJ
bmZvKgogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRy
YWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAgSWRlbnRpZmllciBpZGVudCA9IElk
ZW50aWZpZXI6OmZyb21VaWQodm0sIHVpZCk7CiAgICAgUHV0UHJvcGVydHlTbG90IHNsb3QoSlNW
YWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKSwgZmFsc2UsIGV4ZWMtPmNvZGVCbG9jaygpLT5wdXRC
eUlkQ29udGV4dCgpKTsKICAgICBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpLnB1dChleGVj
LCBpZGVudCwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSksIHNsb3QpOwpAQCAtMjY3LDcg
KzI2OSw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0
KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMt
PnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAg
CisKICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsK
ICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpLCB0
cnVlLCBleGVjLT5jb2RlQmxvY2soKS0+cHV0QnlJZENvbnRleHQoKSk7CiAgICAgYXNPYmplY3Qo
SlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKSktPnB1dERpcmVjdChleGVjLT52bSgpLCBpZGVu
dCwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSksIHNsb3QpOwpAQCAtMjc3LDcgKzI3OSw3
IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0KEV4
ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1CiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7
CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAg
ICBJZGVudGlmaWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBQ
dXRQcm9wZXJ0eVNsb3Qgc2xvdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpLCBmYWxzZSwg
ZXhlYy0+Y29kZUJsb2NrKCktPnB1dEJ5SWRDb250ZXh0KCkpOwogICAgIGFzT2JqZWN0KEpTVmFs
dWU6OmRlY29kZShlbmNvZGVkQmFzZSkpLT5wdXREaXJlY3QoZXhlYy0+dm0oKSwgaWRlbnQsIEpT
VmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpLCBzbG90KTsKQEAgLTI4Nyw3ICsyODksNyBAQCB2
b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZFN0cmljdE9wdGltaXplKEV4ZWNTdGF0
ZSogZXhlYywgU3RydWN0dXJlU3R1YgogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAg
IE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAgSWRl
bnRpZmllciBpZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIHVpZCk7CiAgICAgQWNjZXNz
VHlwZSBhY2Nlc3NUeXBlID0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vz
c1R5cGUpOwogCkBAIC0yOTcsMTAgKzI5OSwxMCBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uUHV0QnlJZFN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1Ygog
CiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlVmFsdWUuaXNDZWxsKCkgPyBiYXNlVmFs
dWUuYXNDZWxsKCktPnN0cnVjdHVyZSgqdm0pIDogbnVsbHB0cjsKICAgICBiYXNlVmFsdWUucHV0
KGV4ZWMsIGlkZW50LCB2YWx1ZSwgc2xvdCk7Ci0gICAgCisKICAgICBpZiAoYWNjZXNzVHlwZSAh
PSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSkpCiAgICAgICAg
IHJldHVybjsKLSAgICAKKwogICAgIGlmIChzdHViSW5mby0+c2VlbikKICAgICAgICAgcmVwYXRj
aFB1dEJ5SUQoZXhlYywgYmFzZVZhbHVlLCBzdHJ1Y3R1cmUsIGlkZW50LCBzbG90LCAqc3R1Yklu
Zm8sIE5vdERpcmVjdCk7CiAgICAgZWxzZQpAQCAtMzExLDcgKzMxMyw3IEBAIHZvaWQgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVj
LCBTdHJ1Y3R1cmVTCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2Fs
bEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJZGVudGlmaWVyIGlk
ZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBBY2Nlc3NUeXBlIGFjY2Vz
c1R5cGUgPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSk7CiAK
QEAgLTMxOSwxMiArMzIxLDEyIEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlk
Tm9uU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTCiAgICAgSlNWYWx1
ZSBiYXNlVmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpOwogICAgIFB1dFByb3Bl
cnR5U2xvdCBzbG90KGJhc2VWYWx1ZSwgZmFsc2UsIGV4ZWMtPmNvZGVCbG9jaygpLT5wdXRCeUlk
Q29udGV4dCgpKTsKIAotICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZVZhbHVlLmlzQ2Vs
bCgpID8gYmFzZVZhbHVlLmFzQ2VsbCgpLT5zdHJ1Y3R1cmUoKnZtKSA6IG51bGxwdHI7ICAgIAor
ICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZVZhbHVlLmlzQ2VsbCgpID8gYmFzZVZhbHVl
LmFzQ2VsbCgpLT5zdHJ1Y3R1cmUoKnZtKSA6IG51bGxwdHI7CiAgICAgYmFzZVZhbHVlLnB1dChl
eGVjLCBpZGVudCwgdmFsdWUsIHNsb3QpOwotICAgIAorCiAgICAgaWYgKGFjY2Vzc1R5cGUgIT0g
c3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpKQogICAgICAgICBy
ZXR1cm47Ci0gICAgCisKICAgICBpZiAoc3R1YkluZm8tPnNlZW4pCiAgICAgICAgIHJlcGF0Y2hQ
dXRCeUlEKGV4ZWMsIGJhc2VWYWx1ZSwgc3RydWN0dXJlLCBpZGVudCwgc2xvdCwgKnN0dWJJbmZv
LCBOb3REaXJlY3QpOwogICAgIGVsc2UKQEAgLTMzNSwyMCArMzM3LDIwIEBAIHZvaWQgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBl
eGVjLCBTdHJ1Y3R1CiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2Fs
bEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJZGVudGlmaWVyIGlk
ZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBBY2Nlc3NUeXBlIGFjY2Vz
c1R5cGUgPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSk7CiAK
ICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CiAgICAg
SlNPYmplY3QqIGJhc2VPYmplY3QgPSBhc09iamVjdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJh
c2UpKTsKICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChiYXNlT2JqZWN0LCB0cnVlLCBleGVjLT5j
b2RlQmxvY2soKS0+cHV0QnlJZENvbnRleHQoKSk7Ci0gICAgCisKICAgICBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSA9IGJhc2VPYmplY3QtPnN0cnVjdHVyZSgqdm0pOwogICAgIGJhc2VPYmplY3QtPnB1
dERpcmVjdChleGVjLT52bSgpLCBpZGVudCwgdmFsdWUsIHNsb3QpOwotICAgIAorCiAgICAgaWYg
KGFjY2Vzc1R5cGUgIT0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5
cGUpKQogICAgICAgICByZXR1cm47Ci0gICAgCisKICAgICBpZiAoc3R1YkluZm8tPnNlZW4pCiAg
ICAgICAgIHJlcGF0Y2hQdXRCeUlEKGV4ZWMsIGJhc2VPYmplY3QsIHN0cnVjdHVyZSwgaWRlbnQs
IHNsb3QsICpzdHViSW5mbywgRGlyZWN0KTsKICAgICBlbHNlCkBAIC0zNTksMjAgKzM2MSwyMCBA
QCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmljdE9wdGlt
aXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwog
ICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAg
SWRlbnRpZmllciBpZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIHVpZCk7CiAgICAgQWNj
ZXNzVHlwZSBhY2Nlc3NUeXBlID0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFj
Y2Vzc1R5cGUpOwogCiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVk
VmFsdWUpOwogICAgIEpTT2JqZWN0KiBiYXNlT2JqZWN0ID0gYXNPYmplY3QoSlNWYWx1ZTo6ZGVj
b2RlKGVuY29kZWRCYXNlKSk7CiAgICAgUHV0UHJvcGVydHlTbG90IHNsb3QoYmFzZU9iamVjdCwg
ZmFsc2UsIGV4ZWMtPmNvZGVCbG9jaygpLT5wdXRCeUlkQ29udGV4dCgpKTsKLSAgICAKKwogICAg
IFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZU9iamVjdC0+c3RydWN0dXJlKCp2bSk7CiAgICAg
YmFzZU9iamVjdC0+cHV0RGlyZWN0KGV4ZWMtPnZtKCksIGlkZW50LCB2YWx1ZSwgc2xvdCk7Ci0g
ICAgCisKICAgICBpZiAoYWNjZXNzVHlwZSAhPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHVi
SW5mby0+YWNjZXNzVHlwZSkpCiAgICAgICAgIHJldHVybjsKLSAgICAKKwogICAgIGlmIChzdHVi
SW5mby0+c2VlbikKICAgICAgICAgcmVwYXRjaFB1dEJ5SUQoZXhlYywgYmFzZU9iamVjdCwgc3Ry
dWN0dXJlLCBpZGVudCwgc2xvdCwgKnN0dWJJbmZvLCBEaXJlY3QpOwogICAgIGVsc2UKQEAgLTM4
MywxNSArMzg1LDE1IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0
QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1CiB7CiAgICAgVk0qIHZtID0g
JmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7
Ci0gICAgCisKICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwg
dWlkKTsKICAgICBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUgPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBl
PihzdHViSW5mby0+YWNjZXNzVHlwZSk7CiAKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6
ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CiAgICAgSlNWYWx1ZSBiYXNlVmFsdWUgPSBKU1ZhbHVlOjpk
ZWNvZGUoZW5jb2RlZEJhc2UpOwogICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KGJhc2VWYWx1ZSwg
dHJ1ZSwgZXhlYy0+Y29kZUJsb2NrKCktPnB1dEJ5SWRDb250ZXh0KCkpOwotICAgIAotICAgIFN0
cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZVZhbHVlLmlzQ2VsbCgpID8gYmFzZVZhbHVlLmFzQ2Vs
bCgpLT5zdHJ1Y3R1cmUoKnZtKSA6IG51bGxwdHI7IAorCisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgPSBiYXNlVmFsdWUuaXNDZWxsKCkgPyBiYXNlVmFsdWUuYXNDZWxsKCktPnN0cnVjdHVyZSgq
dm0pIDogbnVsbHB0cjsKICAgICBiYXNlVmFsdWUucHV0KGV4ZWMsIGlkZW50LCB2YWx1ZSwgc2xv
dCk7CiAKICAgICBpZiAoYWNjZXNzVHlwZSAhPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHVi
SW5mby0+YWNjZXNzVHlwZSkpCkBAIC00MDQsNyArNDA2LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1
Y3R1cmUKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVU
cmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJ
ZGVudGlmaWVyOjpmcm9tVWlkKHZtLCB1aWQpOwogICAgIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSA9
IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKTsKIApAQCAtNDE0
LDEwICs0MTYsMTAgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJp
Y3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUKIAogICAgIFN0cnVjdHVyZSog
c3RydWN0dXJlID0gYmFzZVZhbHVlLmlzQ2VsbCgpID8gYmFzZVZhbHVlLmFzQ2VsbCgpLT5zdHJ1
Y3R1cmUoKnZtKSA6IG51bGxwdHI7CiAgICAgYmFzZVZhbHVlLnB1dChleGVjLCBpZGVudCwgdmFs
dWUsIHNsb3QpOwotICAgIAorCiAgICAgaWYgKGFjY2Vzc1R5cGUgIT0gc3RhdGljX2Nhc3Q8QWNj
ZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpKQogICAgICAgICByZXR1cm47Ci0gICAgCisK
ICAgICBidWlsZFB1dEJ5SWRMaXN0KGV4ZWMsIGJhc2VWYWx1ZSwgc3RydWN0dXJlLCBpZGVudCwg
c2xvdCwgKnN0dWJJbmZvLCBOb3REaXJlY3QpOwogfQogCkBAIC00MjUsMjAgKzQyNywyMCBAQCB2
b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdEJ1aWxkTGlzdChF
eGVjU3RhdGUqIGV4ZWMsIFN0cnVjdAogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAg
IE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAgSWRl
bnRpZmllciBpZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIHVpZCk7CiAgICAgQWNjZXNz
VHlwZSBhY2Nlc3NUeXBlID0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vz
c1R5cGUpOwotICAgIAorCiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNv
ZGVkVmFsdWUpOwogICAgIEpTT2JqZWN0KiBiYXNlT2JqZWN0ID0gYXNPYmplY3QoSlNWYWx1ZTo6
ZGVjb2RlKGVuY29kZWRCYXNlKSk7CiAgICAgUHV0UHJvcGVydHlTbG90IHNsb3QoYmFzZU9iamVj
dCwgdHJ1ZSwgZXhlYy0+Y29kZUJsb2NrKCktPnB1dEJ5SWRDb250ZXh0KCkpOwogCi0gICAgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlT2JqZWN0LT5zdHJ1Y3R1cmUoKnZtKTsgICAgCisgICAg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlT2JqZWN0LT5zdHJ1Y3R1cmUoKnZtKTsKICAgICBi
YXNlT2JqZWN0LT5wdXREaXJlY3QoKnZtLCBpZGVudCwgdmFsdWUsIHNsb3QpOwotICAgIAorCiAg
ICAgaWYgKGFjY2Vzc1R5cGUgIT0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFj
Y2Vzc1R5cGUpKQogICAgICAgICByZXR1cm47Ci0gICAgCisKICAgICBidWlsZFB1dEJ5SWRMaXN0
KGV4ZWMsIGJhc2VPYmplY3QsIHN0cnVjdHVyZSwgaWRlbnQsIHNsb3QsICpzdHViSW5mbywgRGly
ZWN0KTsKIH0KIApAQCAtNDQ2LDcgKzQ0OCw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRp
b25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RyCiB7
CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRy
YWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRlbnRpZmll
cjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUgPSBzdGF0aWNf
Y2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSk7CiAKQEAgLTQ1NCwxMiArNDU2
LDEyIEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0
QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RyCiAgICAgSlNPYmplY3QqIGJhc2VPYmplY3Qg
PSBhc09iamVjdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpKTsKICAgICBQdXRQcm9wZXJ0
eVNsb3Qgc2xvdChiYXNlT2JqZWN0LCBmYWxzZSwgZXhlYy0+Y29kZUJsb2NrKCktPnB1dEJ5SWRD
b250ZXh0KCkpOwogCi0gICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlT2JqZWN0LT5zdHJ1
Y3R1cmUoKnZtKTsgICAgCisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlT2JqZWN0LT5z
dHJ1Y3R1cmUoKnZtKTsKICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3QoKnZtLCBpZGVudCwgdmFs
dWUsIHNsb3QpOwogCiAgICAgaWYgKGFjY2Vzc1R5cGUgIT0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlw
ZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpKQogICAgICAgICByZXR1cm47Ci0gICAgCisKICAgICBi
dWlsZFB1dEJ5SWRMaXN0KGV4ZWMsIGJhc2VPYmplY3QsIHN0cnVjdHVyZSwgaWRlbnQsIHNsb3Qs
ICpzdHViSW5mbywgRGlyZWN0KTsKIH0KIApAQCAtNTc2LDcgKzU3OCw3IEBAIHZvaWQgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25EaXJlY3RQdXRCeVZhbChFeGVjU3RhdGUqIGNhbGxGcmFtZSwgRW5j
b2RlZEpTVmFsdWUKIHsKICAgICBWTSYgdm0gPSBjYWxsRnJhbWUtPnZtKCk7CiAgICAgTmF0aXZl
Q2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGNhbGxGcmFtZSk7Ci0gICAgCisKICAgICBKU1Zh
bHVlIGJhc2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZVZhbHVlKTsKICAgICBK
U1ZhbHVlIHN1YnNjcmlwdCA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkU3Vic2NyaXB0KTsKICAg
ICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CkBAIC01ODUs
MTIgKzU4NywxMiBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uRGlyZWN0UHV0QnlWYWwo
RXhlY1N0YXRlKiBjYWxsRnJhbWUsIEVuY29kZWRKU1ZhbHVlCiAgICAgaWYgKHN1YnNjcmlwdC5p
c0ludDMyKCkpIHsKICAgICAgICAgLy8gU2VlIGlmIGl0J3Mgd29ydGggb3B0aW1pemluZyBhdCBh
bGwuCiAgICAgICAgIGJvb2wgZGlkT3B0aW1pemUgPSBmYWxzZTsKLSAgICAgICAgCisKICAgICAg
ICAgdW5zaWduZWQgYnl0ZWNvZGVPZmZzZXQgPSBjYWxsRnJhbWUtPmxvY2F0aW9uQXNCeXRlY29k
ZU9mZnNldCgpOwogICAgICAgICBBU1NFUlQoYnl0ZWNvZGVPZmZzZXQpOwogICAgICAgICBCeVZh
bEluZm8mIGJ5VmFsSW5mbyA9IGNhbGxGcmFtZS0+Y29kZUJsb2NrKCktPmdldEJ5VmFsSW5mbyhi
eXRlY29kZU9mZnNldCAtIDEpOwogICAgICAgICBBU1NFUlQoIWJ5VmFsSW5mby5zdHViUm91dGlu
ZSk7Ci0gICAgICAgIAorCiAgICAgICAgIGlmIChoYXNPcHRpbWl6YWJsZUluZGV4aW5nKG9iamVj
dC0+c3RydWN0dXJlKHZtKSkpIHsKICAgICAgICAgICAgIC8vIEF0dGVtcHQgdG8gb3B0aW1pemUu
CiAgICAgICAgICAgICBKSVRBcnJheU1vZGUgYXJyYXlNb2RlID0gaml0QXJyYXlNb2RlRm9yU3Ry
dWN0dXJlKG9iamVjdC0+c3RydWN0dXJlKHZtKSk7CkBAIC01OTksNyArNjAxLDcgQEAgdm9pZCBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvbkRpcmVjdFB1dEJ5VmFsKEV4ZWNTdGF0ZSogY2FsbEZyYW1l
LCBFbmNvZGVkSlNWYWx1ZQogICAgICAgICAgICAgICAgIGRpZE9wdGltaXplID0gdHJ1ZTsKICAg
ICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICAKKwogICAgICAgICBpZiAoIWRpZE9wdGlt
aXplKSB7CiAgICAgICAgICAgICAvLyBJZiB3ZSB0YWtlIHNsb3cgcGF0aCBtb3JlIHRoYW4gMTAg
dGltZXMgd2l0aG91dCBwYXRjaGluZyB0aGVuIG1ha2Ugc3VyZSB3ZQogICAgICAgICAgICAgLy8g
bmV2ZXIgbWFrZSB0aGF0IG1pc3Rha2UgYWdhaW4uIE9yLCBpZiB3ZSBmYWlsZWQgdG8gcGF0Y2gg
YW5kIHdlIGhhdmUgc29tZSBvYmplY3QKQEAgLTYyMCw3ICs2MjIsNyBAQCB2b2lkIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uUHV0QnlWYWxHZW5lcmljKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpT
VmFsdWUgZW5jbwogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZy
YW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOwotICAgIAorCiAgICAgSlNWYWx1ZSBiYXNlVmFs
dWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2VWYWx1ZSk7CiAgICAgSlNWYWx1ZSBzdWJz
Y3JpcHQgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFN1YnNjcmlwdCk7CiAgICAgSlNWYWx1ZSB2
YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOwpAQCAtNjMzLDcgKzYzNSw3IEBA
IHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25EaXJlY3RQdXRCeVZhbEdlbmVyaWMoRXhlY1N0
YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1CiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAg
ICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7Ci0gICAgCisKICAgICBK
U1ZhbHVlIGJhc2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZVZhbHVlKTsKICAg
ICBKU1ZhbHVlIHN1YnNjcmlwdCA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkU3Vic2NyaXB0KTsK
ICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CkBAIC02
NTcsNyArNjU5LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25DYWxs
RXZhbChFeGVjU3RhdGUqIGV4ZWMsIEV4ZWNTdGF0ZSogZXhlY0MKICAgICBKU1ZhbHVlIHJlc3Vs
dCA9IGV2YWwoZXhlY0NhbGxlZSk7CiAgICAgaWYgKHZtLT5leGNlcHRpb24oKSkKICAgICAgICAg
cmV0dXJuIEVuY29kZWRKU1ZhbHVlKCk7Ci0gICAgCisKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKHJlc3VsdCk7CiB9CiAKQEAgLTY3MSw5ICs2NzMsOSBAQCBzdGF0aWMgdm9pZCogaGFuZGxl
SG9zdENhbGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBKU1ZhbHVlIGNhbGxlZSwgQ29kZVNwZWNp
YWxpegogICAgIGlmIChraW5kID09IENvZGVGb3JDYWxsKSB7CiAgICAgICAgIENhbGxEYXRhIGNh
bGxEYXRhOwogICAgICAgICBDYWxsVHlwZSBjYWxsVHlwZSA9IGdldENhbGxEYXRhKGNhbGxlZSwg
Y2FsbERhdGEpOwotICAgIAorCiAgICAgICAgIEFTU0VSVChjYWxsVHlwZSAhPSBDYWxsVHlwZUpT
KTsKLSAgICAKKwogICAgICAgICBpZiAoY2FsbFR5cGUgPT0gQ2FsbFR5cGVIb3N0KSB7CiAgICAg
ICAgICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjQ2FsbGVlKTsKICAg
ICAgICAgICAgIGV4ZWNDYWxsZWUtPnNldENhbGxlZShhc09iamVjdChjYWxsZWUpKTsKQEAgLTY4
MywxOSArNjg1LDE5IEBAIHN0YXRpYyB2b2lkKiBoYW5kbGVIb3N0Q2FsbChFeGVjU3RhdGUqIGV4
ZWNDYWxsZWUsIEpTVmFsdWUgY2FsbGVlLCBDb2RlU3BlY2lhbGl6CiAKICAgICAgICAgICAgIHJl
dHVybiByZWludGVycHJldF9jYXN0PHZvaWQqPihnZXRIb3N0Q2FsbFJldHVyblZhbHVlKTsKICAg
ICAgICAgfQotICAgIAorCiAgICAgICAgIEFTU0VSVChjYWxsVHlwZSA9PSBDYWxsVHlwZU5vbmUp
OwogICAgICAgICBleGVjLT52bSgpLnRocm93RXhjZXB0aW9uKGV4ZWMsIGNyZWF0ZU5vdEFGdW5j
dGlvbkVycm9yKGV4ZWMsIGNhbGxlZSkpOwogICAgICAgICByZXR1cm4gdm0tPmdldENUSVN0dWIo
dGhyb3dFeGNlcHRpb25Gcm9tQ2FsbFNsb3dQYXRoR2VuZXJhdG9yKS5jb2RlKCkuZXhlY3V0YWJs
ZUFkZHJlc3MoKTsKICAgICB9CiAKICAgICBBU1NFUlQoa2luZCA9PSBDb2RlRm9yQ29uc3RydWN0
KTsKLSAgICAKKwogICAgIENvbnN0cnVjdERhdGEgY29uc3RydWN0RGF0YTsKICAgICBDb25zdHJ1
Y3RUeXBlIGNvbnN0cnVjdFR5cGUgPSBnZXRDb25zdHJ1Y3REYXRhKGNhbGxlZSwgY29uc3RydWN0
RGF0YSk7Ci0gICAgCisKICAgICBBU1NFUlQoY29uc3RydWN0VHlwZSAhPSBDb25zdHJ1Y3RUeXBl
SlMpOwotICAgIAorCiAgICAgaWYgKGNvbnN0cnVjdFR5cGUgPT0gQ29uc3RydWN0VHlwZUhvc3Qp
IHsKICAgICAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlY0NhbGxlZSk7
CiAgICAgICAgIGV4ZWNDYWxsZWUtPnNldENhbGxlZShhc09iamVjdChjYWxsZWUpKTsKQEAgLTcw
NSw3ICs3MDcsNyBAQCBzdGF0aWMgdm9pZCogaGFuZGxlSG9zdENhbGwoRXhlY1N0YXRlKiBleGVj
Q2FsbGVlLCBKU1ZhbHVlIGNhbGxlZSwgQ29kZVNwZWNpYWxpegogCiAgICAgICAgIHJldHVybiBy
ZWludGVycHJldF9jYXN0PHZvaWQqPihnZXRIb3N0Q2FsbFJldHVyblZhbHVlKTsKICAgICB9Ci0g
ICAgCisKICAgICBBU1NFUlQoY29uc3RydWN0VHlwZSA9PSBDb25zdHJ1Y3RUeXBlTm9uZSk7CiAg
ICAgZXhlYy0+dm0oKS50aHJvd0V4Y2VwdGlvbihleGVjLCBjcmVhdGVOb3RBQ29uc3RydWN0b3JF
cnJvcihleGVjLCBjYWxsZWUpKTsKICAgICByZXR1cm4gdm0tPmdldENUSVN0dWIodGhyb3dFeGNl
cHRpb25Gcm9tQ2FsbFNsb3dQYXRoR2VuZXJhdG9yKS5jb2RlKCkuZXhlY3V0YWJsZUFkZHJlc3Mo
KTsKQEAgLTcxOCw3ICs3MjAsNyBAQCBpbmxpbmUgY2hhciogbGlua0ZvcigKICAgICBFeGVjU3Rh
dGUqIGV4ZWMgPSBleGVjQ2FsbGVlLT5jYWxsZXJGcmFtZSgpOwogICAgIFZNKiB2bSA9ICZleGVj
LT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAg
IAorCiAgICAgSlNWYWx1ZSBjYWxsZWVBc1ZhbHVlID0gZXhlY0NhbGxlZS0+Y2FsbGVlQXNWYWx1
ZSgpOwogICAgIEpTQ2VsbCogY2FsbGVlQXNGdW5jdGlvbkNlbGwgPSBnZXRKU0Z1bmN0aW9uKGNh
bGxlZUFzVmFsdWUpOwogICAgIGlmICghY2FsbGVlQXNGdW5jdGlvbkNlbGwpIHsKQEAgLTc2MSw3
ICs3NjMsNyBAQCBpbmxpbmUgY2hhciogbGlua0ZvcigKICAgICAgICAgY2FsbExpbmtJbmZvLT5z
ZXRTZWVuKCk7CiAgICAgZWxzZQogICAgICAgICBsaW5rRm9yKGV4ZWNDYWxsZWUsICpjYWxsTGlu
a0luZm8sIGNvZGVCbG9jaywgY2FsbGVlLCBjb2RlUHRyLCBraW5kLCByZWdpc3RlcnMpOwotICAg
IAorCiAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KGNvZGVQdHIuZXhlY3V0YWJs
ZUFkZHJlc3MoKSk7CiB9CiAKQEAgLTc5Nyw3ICs3OTksNyBAQCBpbmxpbmUgY2hhciogdmlydHVh
bEZvcldpdGhGdW5jdGlvbigKICAgICBjYWxsZWVBc0Z1bmN0aW9uQ2VsbCA9IGdldEpTRnVuY3Rp
b24oY2FsbGVlQXNWYWx1ZSk7CiAgICAgaWYgKFVOTElLRUxZKCFjYWxsZWVBc0Z1bmN0aW9uQ2Vs
bCkpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PGNoYXIqPihoYW5kbGVIb3N0Q2Fs
bChleGVjQ2FsbGVlLCBjYWxsZWVBc1ZhbHVlLCBraW5kKSk7Ci0gICAgCisKICAgICBKU0Z1bmN0
aW9uKiBmdW5jdGlvbiA9IGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY2FsbGVlQXNGdW5jdGlvbkNlbGwp
OwogICAgIEpTU2NvcGUqIHNjb3BlID0gZnVuY3Rpb24tPnNjb3BlVW5jaGVja2VkKCk7CiAgICAg
RXhlY3V0YWJsZUJhc2UqIGV4ZWN1dGFibGUgPSBmdW5jdGlvbi0+ZXhlY3V0YWJsZSgpOwpAQCAt
ODMyLDEyICs4MzQsMTIgQEAgY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25MaW5rUG9seW1v
cnBoaWNDYWxsKEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSwgQ2FsbExpbmsKICAgICBjaGFyKiByZXN1
bHQgPSB2aXJ0dWFsRm9yV2l0aEZ1bmN0aW9uKGV4ZWNDYWxsZWUsIENvZGVGb3JDYWxsLCBSZWdp
c3RlclByZXNlcnZhdGlvbk5vdFJlcXVpcmVkLCBjYWxsZWVBc0Z1bmN0aW9uQ2VsbCk7CiAKICAg
ICBsaW5rUG9seW1vcnBoaWNDYWxsKGV4ZWNDYWxsZWUsICpjYWxsTGlua0luZm8sIENhbGxWYXJp
YW50KGNhbGxlZUFzRnVuY3Rpb25DZWxsKSwgUmVnaXN0ZXJQcmVzZXJ2YXRpb25Ob3RSZXF1aXJl
ZCk7Ci0gICAgCisKICAgICByZXR1cm4gcmVzdWx0OwogfQogCiBjaGFyKiBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvblZpcnR1YWxDYWxsKEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSwgQ2FsbExpbmtJbmZv
KikKLXsgICAgCit7CiAgICAgcmV0dXJuIHZpcnR1YWxGb3IoZXhlY0NhbGxlZSwgQ29kZUZvckNh
bGwsIFJlZ2lzdGVyUHJlc2VydmF0aW9uTm90UmVxdWlyZWQpOwogfQogCkBAIC04NTIsMTIgKzg1
NCwxMiBAQCBjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkxpbmtQb2x5bW9ycGhpY0NhbGxU
aGF0UHJlc2VydmVzUmVncyhFeGVjU3RhdGUqIGV4ZQogICAgIGNoYXIqIHJlc3VsdCA9IHZpcnR1
YWxGb3JXaXRoRnVuY3Rpb24oZXhlY0NhbGxlZSwgQ29kZUZvckNhbGwsIE11c3RQcmVzZXJ2ZVJl
Z2lzdGVycywgY2FsbGVlQXNGdW5jdGlvbkNlbGwpOwogCiAgICAgbGlua1BvbHltb3JwaGljQ2Fs
bChleGVjQ2FsbGVlLCAqY2FsbExpbmtJbmZvLCBDYWxsVmFyaWFudChjYWxsZWVBc0Z1bmN0aW9u
Q2VsbCksIE11c3RQcmVzZXJ2ZVJlZ2lzdGVycyk7Ci0gICAgCisKICAgICByZXR1cm4gcmVzdWx0
OwogfQogCiBjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblZpcnR1YWxDYWxsVGhhdFByZXNl
cnZlc1JlZ3MoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBDYWxsTGlua0luZm8qKQoteyAgICAKK3sK
ICAgICByZXR1cm4gdmlydHVhbEZvcihleGVjQ2FsbGVlLCBDb2RlRm9yQ2FsbCwgTXVzdFByZXNl
cnZlUmVnaXN0ZXJzKTsKIH0KIApAQCAtODcwLDcgKzg3Miw3IEBAIHNpemVfdCBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkNvbXBhcmVMZXNzKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1l
VHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICByZXR1cm4ganNMZXNzPHRydWU+
KGV4ZWMsIEpTVmFsdWU6OmRlY29kZShlbmNvZGVkT3AxKSwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29k
ZWRPcDIpKTsKIH0KIApAQCAtOTAyLDcgKzkwNCw3IEBAIHNpemVfdCBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbkNvbnZlcnRKU1ZhbHVlVG9Cb29sZWFuKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpT
CiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2Vy
IHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICByZXR1cm4gSlNWYWx1ZTo6ZGVjb2RlKGVu
Y29kZWRPcCkudG9Cb29sZWFuKGV4ZWMpOwogfQogCkBAIC05MzYsNyArOTM4LDcgQEAgc2l6ZV90
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFzUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCBKU09i
amVjdCogYmFzZSwgSlNTdHIKICAgICBpbnQgcmVzdWx0ID0gYmFzZS0+aGFzUHJvcGVydHkoZXhl
YywgcHJvcGVydHktPnRvSWRlbnRpZmllcihleGVjKSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
LSAgICAKKwogCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5
V2l0aFByb2ZpbGUoRXhlY1N0YXRlKiBleGVjLCBBcnJheUFsbG9jYXRpb25Qcm9maWxlKiBwcm9m
aWxlLCBjb25zdCBKU1ZhbHVlKiB2YWx1ZXMsIGludCBzaXplKQogewpAQCAtOTc2LDExICs5Nzgs
NDQgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdGdW5jdGlvbldp
dGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGMKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KEpTRnVuY3Rpb246OmNyZWF0ZVdpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQo
dm0sIHN0YXRpY19jYXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KGZ1bmN0aW9uRXhlY3V0YWJsZSks
IHNjb3BlKSk7CiB9CiAKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3
QXJyb3dGdW5jdGlvbldpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQoRXhlY1N0
YXRlKiBleGVjLCBKU1Njb3BlKiBzY29wZSwgSlNDZWxsKiBmdW5jdGlvbkV4ZWN1dGFibGUsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSkKK3sKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgICAgICBBU1NFUlQoZnVuY3Rpb25FeGVjdXRhYmxlLT5pbmhlcml0cyhGdW5j
dGlvbkV4ZWN1dGFibGU6OmluZm8oKSkpOworICAgICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwor
ICAgICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CisgICAgICAg
IAorICAgICAgICBKU0Z1bmN0aW9uKiBmdW5jID0gIEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgc3Rh
dGljX2Nhc3Q8RnVuY3Rpb25FeGVjdXRhYmxlKj4oZnVuY3Rpb25FeGVjdXRhYmxlKSwgc2NvcGUp
OworICAgICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZXhlYy0+Y2FsbGVlKCkt
Pmdsb2JhbE9iamVjdCgpOworICAgICAgICAKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShKU0Fycm93RnVuY3Rpb246OmNyZWF0ZVdpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNo
cG9pbnQodm0sIGdsb2JhbE9iamVjdCwgZnVuYywgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkp
KTsKKyNlbHNlCisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7
CisjZW5kaWYKK30KKyAgICAKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
TmV3QXJyb3dGdW5jdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTU2NvcGUqIHNjb3BlLCBKU0NlbGwq
IGZ1bmN0aW9uRXhlY3V0YWJsZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlKQoreworI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgQVNTRVJUKGZ1bmN0aW9uRXhlY3V0
YWJsZS0+aW5oZXJpdHMoRnVuY3Rpb25FeGVjdXRhYmxlOjppbmZvKCkpKTsKKyAgICBWTSYgdm0g
PSBleGVjLT52bSgpOworICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVj
KTsKKworICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBleGVjLT5jYWxsZWUoKS0+
Z2xvYmFsT2JqZWN0KCk7CisgICAgSlNGdW5jdGlvbiogZnVuYyA9ICBKU0Z1bmN0aW9uOjpjcmVh
dGUodm0sIHN0YXRpY19jYXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KGZ1bmN0aW9uRXhlY3V0YWJs
ZSksIHNjb3BlKTsKKworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNBcnJvd0Z1bmN0aW9u
OjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgZnVuYywgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1
ZSkpKTsKKworI2Vsc2UKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkp
OworI2VuZGlmCit9CisKIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdPYmplY3Qo
RXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKIHsKICAgICBWTSogdm0gPSAm
ZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsK
LSAgICAKKwogICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBzdHJ1Y3R1cmUp
OwogfQogCkBAIC0xMDU0LDEzICsxMDg5LDEzIEBAIFNsb3dQYXRoUmV0dXJuVHlwZSBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvbk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgaW50MzJfdCBieXRlCiAg
ICAgLy8gdGhhdCBjYXNlIHdlIHdvdWxkIGhhdmUgYWxyZWFkeSBwbGFudGVkIHRoZSBvcHRpbWl6
ZWQgY29kZSBibG9jayBpbnRvIHRoZSBKUwogICAgIC8vIHN0YWNrLgogICAgIERlZmVyR0NGb3JB
V2hpbGUgZGVmZXJHQyh2bS5oZWFwKTsKLSAgICAKKwogICAgIENvZGVCbG9jayogY29kZUJsb2Nr
ID0gZXhlYy0+Y29kZUJsb2NrKCk7CiAgICAgaWYgKGNvZGVCbG9jay0+aml0VHlwZSgpICE9IEpJ
VENvZGU6OkJhc2VsaW5lSklUKSB7CiAgICAgICAgIGRhdGFMb2coIlVuZXhwZWN0ZWQgY29kZSBi
bG9jayBpbiBCYXNlbGluZS0+REZHIHRpZXItdXA6ICIsICpjb2RlQmxvY2ssICJcbiIpOwogICAg
ICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KLSAgICAKKwogICAgIGlm
IChieXRlY29kZUluZGV4KSB7CiAgICAgICAgIC8vIElmIHdlJ3JlIGF0dGVtcHRpbmcgdG8gT1NS
IGZyb20gYSBsb29wLCBhc3N1bWUgdGhhdCB0aGlzIHNob3VsZCBiZQogICAgICAgICAvLyBzZXBh
cmF0ZWx5IG9wdGltaXplZC4KQEAgLTEwODYsNyArMTEyMSw3IEBAIFNsb3dQYXRoUmV0dXJuVHlw
ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgaW50MzJf
dCBieXRlCiAgICAgICAgICAgICBkYXRhTG9nKCJDaG9vc2luZyBub3QgdG8gb3B0aW1pemUgIiwg
KmNvZGVCbG9jaywgIiB5ZXQsIGJlY2F1c2UgdGhlIHRocmVzaG9sZCBoYXNuJ3QgYmVlbiByZWFj
aGVkLlxuIik7CiAgICAgICAgIHJldHVybiBlbmNvZGVSZXN1bHQoMCwgMCk7CiAgICAgfQotICAg
IAorCiAgICAgaWYgKHZtLmVuYWJsZWRQcm9maWxlcigpKSB7CiAgICAgICAgIHVwZGF0ZUFsbFBy
ZWRpY3Rpb25zQW5kT3B0aW1pemVBZnRlcldhcm1VcChjb2RlQmxvY2spOwogICAgICAgICByZXR1
cm4gZW5jb2RlUmVzdWx0KDAsIDApOwpAQCAtMTEyMiw3ICsxMTU3LDcgQEAgU2xvd1BhdGhSZXR1
cm5UeXBlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uT3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBp
bnQzMl90IGJ5dGUKICAgICAgICAgLy8gY291bnQgdGhyZXNob2xkIGRlcGVuZGluZyBvbiB3aGF0
IGhhcHBlbmVkLCBzbyBpZiB0aGUgY29tcGlsYXRpb24gd2FzIGFueXRoaW5nCiAgICAgICAgIC8v
IGJ1dCBzdWNjZXNzZnVsIHdlIGp1c3Qgd2FudCB0byByZXR1cm4gZWFybHkuIFNlZSB0aGUgY2Fz
ZSBmb3Igd29ya2xpc3RTdGF0ZSA9PQogICAgICAgICAvLyBERkc6OldvcmtsaXN0OjpDb21waWxl
ZCwgYmVsb3cuCi0gICAgICAgIAorCiAgICAgICAgIC8vIE5vdGUgdGhhdCB3ZSBjb3VsZCBoYXZl
IGFsdGVybmF0aXZlbHkganVzdCBjYWxsZWQgV29ya2xpc3Q6OmNvbXBpbGF0aW9uU3RhdGUoKQog
ICAgICAgICAvLyBoZXJlLCBhbmQgaWYgaXQgcmV0dXJuZWQgQ29tcGlsZWQsIHdlIGNvdWxkIGhh
dmUgdGhlbiBjYWxsZWQKICAgICAgICAgLy8gY29tcGxldGVBbmRTY2hlZHVsZU9TUigpIGJlbG93
LiBCdXQgdGhhdCB3b3VsZCBoYXZlIG1lYW50IHRoYXQgaXQgY291bGQgdGFrZQpAQCAtMTE2NSw3
ICsxMjAwLDcgQEAgU2xvd1BhdGhSZXR1cm5UeXBlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uT3B0
aW1pemUoRXhlY1N0YXRlKiBleGVjLCBpbnQzMl90IGJ5dGUKICAgICAgICAgLy8gY3RpX29wdGlt
aXplIGZyb20gYSBsb29wLiBUaGF0J3MgYmVjYXVzZSBpZiB0aGVyZSdzIGFuIG9wdGltaXplZCBy
ZXBsYWNlbWVudCwKICAgICAgICAgLy8gdGhlbiBhbGwgY2FsbHMgdG8gdGhpcyBmdW5jdGlvbiB3
aWxsIGJlIHJlbGlua2VkIHRvIHRoZSByZXBsYWNlbWVudCBhbmQgc28KICAgICAgICAgLy8gdGhl
IHByb2xvZ3VlIE9TUiB3aWxsIG5ldmVyIGZpcmUuCi0gICAgICAgIAorCiAgICAgICAgIC8vIFRo
aXMgaXMgYW4gaW50ZXJlc3RpbmcgdGhyZXNob2xkIGNoZWNrLiBDb25zaWRlciB0aGF0IGEgZnVu
Y3Rpb24gT1NSIGV4aXRzCiAgICAgICAgIC8vIGluIHRoZSBtaWRkbGUgb2YgYSBsb29wLCB3aGls
ZSBoYXZpbmcgYSByZWxhdGl2ZWx5IGxvdyBleGl0IGNvdW50LiBUaGUgZXhpdAogICAgICAgICAv
LyB3aWxsIHJlc2V0IHRoZSBleGVjdXRpb24gY291bnRlciB0byBzb21lIHRhcmdldCB0aHJlc2hv
bGQsIG1lYW5pbmcgdGhhdCB0aGlzCkBAIC0xMjExLDE2ICsxMjQ2LDE2IEBAIFNsb3dQYXRoUmV0
dXJuVHlwZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywg
aW50MzJfdCBieXRlCiAgICAgICAgIENvbXBpbGF0aW9uUmVzdWx0IHJlc3VsdCA9IERGRzo6Y29t
cGlsZSgKICAgICAgICAgICAgIHZtLCByZXBsYWNlbWVudENvZGVCbG9jay5nZXQoKSwgMCwgREZH
OjpERkdNb2RlLCBieXRlY29kZUluZGV4LAogICAgICAgICAgICAgbXVzdEhhbmRsZVZhbHVlcywg
SklUVG9ERkdEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2s6OmNyZWF0ZSgpKTsKLSAgICAgICAg
CisKICAgICAgICAgaWYgKHJlc3VsdCAhPSBDb21waWxhdGlvblN1Y2Nlc3NmdWwpIHsKICAgICAg
ICAgICAgIEFTU0VSVChyZXN1bHQgPT0gQ29tcGlsYXRpb25EZWZlcnJlZCB8fCByZXBsYWNlbWVu
dENvZGVCbG9jay0+aGFzT25lUmVmKCkpOwogICAgICAgICAgICAgcmV0dXJuIGVuY29kZVJlc3Vs
dCgwLCAwKTsKICAgICAgICAgfQogICAgIH0KLSAgICAKKwogICAgIENvZGVCbG9jayogb3B0aW1p
emVkQ29kZUJsb2NrID0gY29kZUJsb2NrLT5yZXBsYWNlbWVudCgpOwogICAgIEFTU0VSVChKSVRD
b2RlOjppc09wdGltaXppbmdKSVQob3B0aW1pemVkQ29kZUJsb2NrLT5qaXRUeXBlKCkpKTsKLSAg
ICAKKwogICAgIGlmICh2b2lkKiBkYXRhQnVmZmVyID0gREZHOjpwcmVwYXJlT1NSRW50cnkoZXhl
Yywgb3B0aW1pemVkQ29kZUJsb2NrLCBieXRlY29kZUluZGV4KSkgewogICAgICAgICBpZiAoT3B0
aW9uczo6dmVyYm9zZU9TUigpKSB7CiAgICAgICAgICAgICBkYXRhTG9nKApAQCAtMTI2Myw3ICsx
Mjk4LDcgQEAgU2xvd1BhdGhSZXR1cm5UeXBlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uT3B0aW1p
emUoRXhlY1N0YXRlKiBleGVjLCBpbnQzMl90IGJ5dGUKICAgICAvLyBPU1IgZmFpbGVkIHRoaXMg
dGltZSwgYnV0IGl0IG1pZ2h0IHN1Y2NlZWQgbmV4dCB0aW1lISBMZXQgdGhlIGNvZGUgcnVuIGEg
Yml0CiAgICAgLy8gbG9uZ2VyIGFuZCB0aGVuIHRyeSBhZ2Fpbi4KICAgICBjb2RlQmxvY2stPm9w
dGltaXplQWZ0ZXJXYXJtVXAoKTsKLSAgICAKKwogICAgIHJldHVybiBlbmNvZGVSZXN1bHQoMCwg
MCk7CiB9CiAjZW5kaWYKQEAgLTE0MzksNyArMTQ3NCw3IEBAIHN0YXRpYyBKU1ZhbHVlIGdldEJ5
VmFsKEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBiYXNlVmFsdWUsIEpTVmFsdWUgc3Vic2NyaXB0
LCBSCiB9CiAKIGV4dGVybiAiQyIgewotICAgIAorCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkdldEJ5VmFsR2VuZXJpYyhFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1Zh
bHVlIGVuY29kZWRCYXNlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkU3Vic2NyaXB0KQogewogICAg
IFZNJiB2bSA9IGV4ZWMtPnZtKCk7CkBAIC0xNDU3LDcgKzE0OTIsNyBAQCBFbmNvZGVkSlNWYWx1
ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5VmFsRGVmYXVsdChFeGVjU3RhdGUqIGV4ZWMs
IEVuY29kZWRKUwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsK
ICAgICBKU1ZhbHVlIGJhc2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSk7CiAg
ICAgSlNWYWx1ZSBzdWJzY3JpcHQgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFN1YnNjcmlwdCk7
Ci0gICAgCisKICAgICBpZiAoYmFzZVZhbHVlLmlzT2JqZWN0KCkgJiYgc3Vic2NyaXB0LmlzSW50
MzIoKSkgewogICAgICAgICAvLyBTZWUgaWYgaXQncyB3b3J0aCBvcHRpbWl6aW5nIHRoaXMgYXQg
YWxsLgogICAgICAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QoYmFzZVZhbHVlKTsKQEAg
LTE0NjcsNyArMTUwMiw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
R2V0QnlWYWxEZWZhdWx0KEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTCiAgICAgICAgIEFTU0VS
VChieXRlY29kZU9mZnNldCk7CiAgICAgICAgIEJ5VmFsSW5mbyYgYnlWYWxJbmZvID0gZXhlYy0+
Y29kZUJsb2NrKCktPmdldEJ5VmFsSW5mbyhieXRlY29kZU9mZnNldCAtIDEpOwogICAgICAgICBB
U1NFUlQoIWJ5VmFsSW5mby5zdHViUm91dGluZSk7Ci0gICAgICAgIAorCiAgICAgICAgIGlmICho
YXNPcHRpbWl6YWJsZUluZGV4aW5nKG9iamVjdC0+c3RydWN0dXJlKHZtKSkpIHsKICAgICAgICAg
ICAgIC8vIEF0dGVtcHQgdG8gb3B0aW1pemUuCiAgICAgICAgICAgICBKSVRBcnJheU1vZGUgYXJy
YXlNb2RlID0gaml0QXJyYXlNb2RlRm9yU3RydWN0dXJlKG9iamVjdC0+c3RydWN0dXJlKHZtKSk7
CkBAIC0xNDc2LDcgKzE1MTEsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbkdldEJ5VmFsRGVmYXVsdChFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKUwogICAgICAgICAg
ICAgICAgIGRpZE9wdGltaXplID0gdHJ1ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAg
ICAgICAKKwogICAgICAgICBpZiAoIWRpZE9wdGltaXplKSB7CiAgICAgICAgICAgICAvLyBJZiB3
ZSB0YWtlIHNsb3cgcGF0aCBtb3JlIHRoYW4gMTAgdGltZXMgd2l0aG91dCBwYXRjaGluZyB0aGVu
IG1ha2Ugc3VyZSB3ZQogICAgICAgICAgICAgLy8gbmV2ZXIgbWFrZSB0aGF0IG1pc3Rha2UgYWdh
aW4uIE9yLCBpZiB3ZSBmYWlsZWQgdG8gcGF0Y2ggYW5kIHdlIGhhdmUgc29tZSBvYmplY3QKQEAg
LTE0OTAsMTggKzE1MjUsMTggQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRp
b25HZXRCeVZhbERlZmF1bHQoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlMKICAgICAgICAgICAg
IH0KICAgICAgICAgfQogICAgIH0KLSAgICAKKwogICAgIEpTVmFsdWUgcmVzdWx0ID0gZ2V0QnlW
YWwoZXhlYywgYmFzZVZhbHVlLCBzdWJzY3JpcHQsIFJldHVybkFkZHJlc3NQdHIoT1VSX1JFVFVS
Tl9BRERSRVNTKSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwogfQotICAg
IAorCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkhhc0luZGV4ZWRQcm9w
ZXJ0eURlZmF1bHQoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwg
RW5jb2RlZEpTVmFsdWUgZW5jb2RlZFN1YnNjcmlwdCkKIHsKICAgICBWTSYgdm0gPSBleGVjLT52
bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKICAgICBK
U1ZhbHVlIGJhc2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSk7CiAgICAgSlNW
YWx1ZSBzdWJzY3JpcHQgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFN1YnNjcmlwdCk7Ci0gICAg
CisKICAgICBBU1NFUlQoYmFzZVZhbHVlLmlzT2JqZWN0KCkpOwogICAgIEFTU0VSVChzdWJzY3Jp
cHQuaXNVSW50MzIoKSk7CiAKQEAgLTE1MTIsNyArMTU0Nyw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uSGFzSW5kZXhlZFByb3BlcnR5RGVmYXVsdChFeGVjU3RhdGUq
IGV4ZWMsCiAgICAgQVNTRVJUKGJ5dGVjb2RlT2Zmc2V0KTsKICAgICBCeVZhbEluZm8mIGJ5VmFs
SW5mbyA9IGV4ZWMtPmNvZGVCbG9jaygpLT5nZXRCeVZhbEluZm8oYnl0ZWNvZGVPZmZzZXQgLSAx
KTsKICAgICBBU1NFUlQoIWJ5VmFsSW5mby5zdHViUm91dGluZSk7Ci0gICAgCisKICAgICBpZiAo
aGFzT3B0aW1pemFibGVJbmRleGluZyhvYmplY3QtPnN0cnVjdHVyZSh2bSkpKSB7CiAgICAgICAg
IC8vIEF0dGVtcHQgdG8gb3B0aW1pemUuCiAgICAgICAgIEpJVEFycmF5TW9kZSBhcnJheU1vZGUg
PSBqaXRBcnJheU1vZGVGb3JTdHJ1Y3R1cmUob2JqZWN0LT5zdHJ1Y3R1cmUodm0pKTsKQEAgLTE1
MjEsNyArMTU1Niw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFz
SW5kZXhlZFByb3BlcnR5RGVmYXVsdChFeGVjU3RhdGUqIGV4ZWMsCiAgICAgICAgICAgICBkaWRP
cHRpbWl6ZSA9IHRydWU7CiAgICAgICAgIH0KICAgICB9Ci0gICAgCisKICAgICBpZiAoIWRpZE9w
dGltaXplKSB7CiAgICAgICAgIC8vIElmIHdlIHRha2Ugc2xvdyBwYXRoIG1vcmUgdGhhbiAxMCB0
aW1lcyB3aXRob3V0IHBhdGNoaW5nIHRoZW4gbWFrZSBzdXJlIHdlCiAgICAgICAgIC8vIG5ldmVy
IG1ha2UgdGhhdCBtaXN0YWtlIGFnYWluLiBPciwgaWYgd2UgZmFpbGVkIHRvIHBhdGNoIGFuZCB3
ZSBoYXZlIHNvbWUgb2JqZWN0CkBAIC0xNTMxLDM0ICsxNTY2LDM0IEBAIEVuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFzSW5kZXhlZFByb3BlcnR5RGVmYXVsdChFeGVjU3Rh
dGUqIGV4ZWMsCiAgICAgICAgIGlmICgrK2J5VmFsSW5mby5zbG93UGF0aENvdW50ID49IDEwCiAg
ICAgICAgICAgICB8fCBvYmplY3QtPnN0cnVjdHVyZSh2bSktPnR5cGVJbmZvKCkuaW50ZXJjZXB0
c0dldE93blByb3BlcnR5U2xvdEJ5SW5kZXhFdmVuV2hlbkxlbmd0aElzTm90WmVybygpKSB7CiAg
ICAgICAgICAgICAvLyBEb24ndCBldmVyIHRyeSB0byBvcHRpbWl6ZS4KLSAgICAgICAgICAgIGN0
aVBhdGNoQ2FsbEJ5UmV0dXJuQWRkcmVzcyhleGVjLT5jb2RlQmxvY2soKSwgUmV0dXJuQWRkcmVz
c1B0cihPVVJfUkVUVVJOX0FERFJFU1MpLCBGdW5jdGlvblB0cihvcGVyYXRpb25IYXNJbmRleGVk
UHJvcGVydHlHZW5lcmljKSk7IAorICAgICAgICAgICAgY3RpUGF0Y2hDYWxsQnlSZXR1cm5BZGRy
ZXNzKGV4ZWMtPmNvZGVCbG9jaygpLCBSZXR1cm5BZGRyZXNzUHRyKE9VUl9SRVRVUk5fQUREUkVT
UyksIEZ1bmN0aW9uUHRyKG9wZXJhdGlvbkhhc0luZGV4ZWRQcm9wZXJ0eUdlbmVyaWMpKTsKICAg
ICAgICAgfQogICAgIH0KLSAgICAKKwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29s
ZWFuKG9iamVjdC0+aGFzUHJvcGVydHkoZXhlYywgc3Vic2NyaXB0LmFzVUludDMyKCkpKSk7CiB9
Ci0gICAgCisKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFzSW5kZXhl
ZFByb3BlcnR5R2VuZXJpYyhFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRC
YXNlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkU3Vic2NyaXB0KQogewogICAgIFZNJiB2bSA9IGV4
ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOwog
ICAgIEpTVmFsdWUgYmFzZVZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKTsKICAg
ICBKU1ZhbHVlIHN1YnNjcmlwdCA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkU3Vic2NyaXB0KTsK
LSAgICAKKwogICAgIEFTU0VSVChiYXNlVmFsdWUuaXNPYmplY3QoKSk7CiAgICAgQVNTRVJUKHN1
YnNjcmlwdC5pc1VJbnQzMigpKTsKIAogICAgIEpTT2JqZWN0KiBvYmplY3QgPSBhc09iamVjdChi
YXNlVmFsdWUpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKG9iamVjdC0+
aGFzUHJvcGVydHkoZXhlYywgc3Vic2NyaXB0LmFzVUludDMyKCkpKSk7CiB9Ci0gICAgCisKIEVu
Y29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlWYWxTdHJpbmcoRXhlY1N0
YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFN1YnNjcmlwdCkKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIE5hdGl2ZUNh
bGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKICAgICBKU1ZhbHVlIGJhc2VWYWx1ZSA9
IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSk7CiAgICAgSlNWYWx1ZSBzdWJzY3JpcHQgPSBK
U1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFN1YnNjcmlwdCk7Ci0gICAgCisKICAgICBKU1ZhbHVlIHJl
c3VsdDsKICAgICBpZiAoTElLRUxZKHN1YnNjcmlwdC5pc1VJbnQzMigpKSkgewogICAgICAgICB1
aW50MzJfdCBpID0gc3Vic2NyaXB0LmFzVUludDMyKCk7CkBAIC0xNjAxLDcgKzE2MzYsNyBAQCBF
bmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkluc3RhbmNlT2YoRXhlY1N0YXRl
KiBleGVjLCBFbmNvZGVkSlNWYWx1ZQogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIo
JnZtLCBleGVjKTsKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRW
YWx1ZSk7CiAgICAgSlNWYWx1ZSBwcm90byA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkUHJvdG8p
OwotICAgIAorCiAgICAgQVNTRVJUKCF2YWx1ZS5pc09iamVjdCgpIHx8ICFwcm90by5pc09iamVj
dCgpKTsKIAogICAgIGJvb2wgcmVzdWx0ID0gSlNPYmplY3Q6OmRlZmF1bHRIYXNJbnN0YW5jZShl
eGVjLCB2YWx1ZSwgcHJvdG8pOwpAQCAtMTc1Nyw3ICsxNzkyLDcgQEAgdm9pZCBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvblB1dFRvU2NvcGUoRXhlY1N0YXRlKiBleGVjLCBJbnN0cnVjdGlvbiogYnl0
ZWNvZGVQQykKIAogICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KHNjb3BlLCBjb2RlQmxvY2stPmlz
U3RyaWN0TW9kZSgpKTsKICAgICBzY29wZS0+bWV0aG9kVGFibGUoKS0+cHV0KHNjb3BlLCBleGVj
LCBpZGVudCwgdmFsdWUsIHNsb3QpOwotICAgIAorCiAgICAgaWYgKGV4ZWMtPnZtKCkuZXhjZXB0
aW9uKCkpCiAgICAgICAgIHJldHVybjsKIApAQCAtMTc5MSw3ICsxODI2LDcgQEAgdm9pZCBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvbk9TUldyaXRlQmFycmllcihFeGVjU3RhdGUqIGV4ZWMsIEpTQ2Vs
bCogY2VsbCkKIH0KIAogLy8gTkI6IFdlIGRvbid0IGluY2x1ZGUgdGhlIHZhbHVlIGFzIHBhcnQg
b2YgdGhlIGJhcnJpZXIgYmVjYXVzZSB0aGUgd3JpdGUgYmFycmllciBlbGlzaW9uCi0vLyBwaGFz
ZSBpbiB0aGUgREZHIG9ubHkgdHJhY2tzIHdoZXRoZXIgdGhlIG9iamVjdCBiZWluZyBzdG9yZWQg
dG8gaGFzIGJlZW4gYmFycmllcmVkLiBJdCAKKy8vIHBoYXNlIGluIHRoZSBERkcgb25seSB0cmFj
a3Mgd2hldGhlciB0aGUgb2JqZWN0IGJlaW5nIHN0b3JlZCB0byBoYXMgYmVlbiBiYXJyaWVyZWQu
IEl0CiAvLyB3b3VsZCBiZSBtdWNoIG1vcmUgY29tcGxpY2F0ZWQgdG8gdHJ5IHRvIG1vZGVsIHRo
ZSB2YWx1ZSBiZWluZyBzdG9yZWQgYXMgd2VsbC4KIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRp
b25VbmNvbmRpdGlvbmFsV3JpdGVCYXJyaWVyKEV4ZWNTdGF0ZSogZXhlYywgSlNDZWxsKiBjZWxs
KQogewpAQCAtMTgxNSw3ICsxODUwLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIGxvb2t1cEV4Y2Vw
dGlvbkhhbmRsZXIoVk0qIHZtLCBFeGVjU3RhdGUqIGV4ZWMpCiAKICAgICBKU1ZhbHVlIGV4Y2Vw
dGlvblZhbHVlID0gdm0tPmV4Y2VwdGlvbigpOwogICAgIEFTU0VSVChleGNlcHRpb25WYWx1ZSk7
Ci0gICAgCisKICAgICBnZW5lcmljVW53aW5kKHZtLCBleGVjLCBleGNlcHRpb25WYWx1ZSk7CiAg
ICAgQVNTRVJUKHZtLT50YXJnZXRNYWNoaW5lUENGb3JUaHJvdyk7CiB9CkBAIC0xODMwLDcgKzE4
NjUsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gbG9va3VwRXhjZXB0aW9uSGFuZGxlckZyb21DYWxs
ZXJGcmFtZShWTSogdm0sIEV4ZWNTdGF0ZSogZXhlYwogCiAgICAgSlNWYWx1ZSBleGNlcHRpb25W
YWx1ZSA9IHZtLT5leGNlcHRpb24oKTsKICAgICBBU1NFUlQoZXhjZXB0aW9uVmFsdWUpOwotICAg
IAorCiAgICAgZ2VuZXJpY1Vud2luZCh2bSwgY2FsbGVyRnJhbWUsIGV4Y2VwdGlvblZhbHVlKTsK
ICAgICBBU1NFUlQodm0tPnRhcmdldE1hY2hpbmVQQ0ZvclRocm93KTsKIH0KQEAgLTE4NzcsNyAr
MTkxMiw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFzSW5kZXhl
ZFByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgSlNDZWxsCiAgICAgSlNPYmplY3QqIG9iamVjdCA9
IGJhc2VDZWxsLT50b09iamVjdChleGVjLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpOwog
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKG9iamVjdC0+aGFzUHJvcGVydHko
ZXhlYywgc3Vic2NyaXB0KSkpOwogfQotICAgIAorCiBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uR2V0UHJvcGVydHlFbnVtZXJhdG9yKEV4ZWNTdGF0ZSogZXhlYywgSlNDZWxsKiBjZWxs
KQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUT3BlcmF0aW9ucy5oCmluZGV4IGM2NWY4NzRkMWYyZTc3MmQ4ZjUzNWY0YmQxYzRjZTBkMjgw
NDRhZTcuLmRmM2I5ZmQzZjNkNjdhZmFlOTdkNWZmMzNkNDY3YTk1MGE1OWM4NDUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCkBAIC0yMCw3ICsyMCw3IEBACiAg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCiAgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKICAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgogICovCiAKICNpZm5kZWYgSklUT3BlcmF0aW9uc19oCkBAIC0xMTUsNiAr
MTE1LDcgQEAgdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVy
YXRpb25fRVBQKShFeGVjU3RhdGUqLCB2b2lkKiwgdm8KIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUg
SklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQUykoRXhlY1N0YXRlKiwgdm9pZCosIHNp
emVfdCk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJh
dGlvbl9FUGMpKEV4ZWNTdGF0ZSosIEluc3RydWN0aW9uKik7CiB0eXBlZGVmIEVuY29kZWRKU1Zh
bHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FSnNjQykoRXhlY1N0YXRlKiwgSlNT
Y29wZSosIEpTQ2VsbCopOwordHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgq
Sl9KSVRPcGVyYXRpb25fRUpzY0NKKShFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKiwgRW5j
b2RlZEpTVmFsdWUpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9K
SVRPcGVyYXRpb25fRVNTKShFeGVjU3RhdGUqLCBzaXplX3QsIHNpemVfdCk7CiB0eXBlZGVmIEVu
Y29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FU3NpQ0kpKEV4ZWNT
dGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgSlNDZWxsKiwgU3RyaW5nSW1wbCopOwogdHlwZWRl
ZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNzaUpJKShF
eGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlLCBTdHJpbmdJbXBs
Kik7CkBAIC0yNzksNiArMjgwLDggQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVy
YXRpb25OZXdBcnJheUJ1ZmZlcldpdGhQcm9maWxlKEV4ZWNTdGF0ZSosIEFycmEKIEVuY29kZWRK
U1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXlXaXRoU2l6ZUFuZFByb2ZpbGUo
RXhlY1N0YXRlKiwgQXJyYXlBbGxvY2F0aW9uUHJvZmlsZSosIEVuY29kZWRKU1ZhbHVlIHNpemUp
IFdURl9JTlRFUk5BTDsKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3
RnVuY3Rpb24oRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCopIFdURl9JTlRFUk5BTDsKIEVu
Y29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3RnVuY3Rpb25XaXRoSW52YWxp
ZGF0ZWRSZWFsbG9jYXRpb25XYXRjaHBvaW50KEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwq
KSBXVEZfSU5URVJOQUw7CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5l
d0Fycm93RnVuY3Rpb24oRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29kZWRKU1Zh
bHVlKSBXVEZfSU5URVJOQUw7CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
bk5ld0Fycm93RnVuY3Rpb25XaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRjaHBvaW50KEV4
ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVSTkFM
OwogSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3RhdGUqLCBT
dHJ1Y3R1cmUqKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbk5ld1JlZ2V4cChFeGVjU3RhdGUqLCB2b2lkKikgV1RGX0lOVEVSTkFMOwogdm9pZCBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvbkhhbmRsZVdhdGNoZG9nVGltZXIoRXhlY1N0YXRlKikgV1RG
X0lOVEVSTkFMOwpAQCAtNDA3LDQgKzQxMCwzIEBAIGlubGluZSBQX0pJVE9wZXJhdGlvbl9FQ2xp
IG9wZXJhdGlvbkxpbmtQb2x5bW9ycGhpY0NhbGxGb3IoUmVnaXN0ZXJQcmVzZXJ2YXRpb25NCiAj
ZW5kaWYgLy8gRU5BQkxFKEpJVCkKIAogI2VuZGlmIC8vIEpJVE9wZXJhdGlvbnNfaAotCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAppbmRleCAyMGJl
YmYzMmY2MTU0ZmE5ZjNmNDY5NjJmM2E2MTQwYTJlODQ2ZGMwLi43YTg1MDVmMjhmZWMyY2FlMmM2
NTM4NWNjMDk0YmNkZmNjMjRhZmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9MTEludFNsb3dQYXRocy5jcHAKQEAgLTM4LDYgKzM4LDggQEAKICNpbmNsdWRlICJJbnRlcnBy
ZXRlci5oIgogI2luY2x1ZGUgIkpJVC5oIgogI2luY2x1ZGUgIkpJVEV4Y2VwdGlvbnMuaCIKKyNp
bmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIK
ICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMu
aCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCkBAIC0xNzEsNiArMTczLDE1IEBAIG5hbWVzcGFj
ZSBKU0MgeyBuYW1lc3BhY2UgTExJbnQgewogICAgICAgICBMTElOVF9SRVRVUk5fVFdPKHBjLCBf
X3JjZl9leGVjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIH0gd2hpbGUg
KGZhbHNlKQogCisgICAgCisjZGVmaW5lIExMSU5UX0NBTENfUFJPUEVSVFlfRk9SX0ZVTkNfRVhQ
UigpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBMTElOVF9CRUdJ
TigpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+Y29kZUJsb2NrKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgSlNTY29wZSogc2NvcGUg
PSBleGVjLT51bmNoZWNrZWRSKHBjWzJdLnUub3BlcmFuZCkuUmVnaXN0ZXI6OnNjb3BlKCk7ICAg
ICAgIFwKKyAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUgPSBjb2RlQmxvY2stPmZ1
bmN0aW9uRXhwcihwY1szXS51Lm9wZXJhbmQpOyAgXAorICAgIAorZW51bSBGdW5jdGlvbkV4cHJl
c3Npb25UeXBlIHsgQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25UeXBlLCBDb21tb25GdW5jdGlvbkV4
cHJlc3Npb25UeXBlfTsKKyAgICAKIGV4dGVybiAiQyIgU2xvd1BhdGhSZXR1cm5UeXBlIGxsaW50
X3RyYWNlX29wZXJhbmQoRXhlY1N0YXRlKiBleGVjLCBJbnN0cnVjdGlvbiogcGMsIGludCBmcm9t
V2hlcmUsIGludCBvcGVyYW5kKQogewogICAgIExMSU5UX0JFR0lOKCk7CkBAIC0xMDAzLDE2ICsx
MDE0LDMzIEBAIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuYykKICNlbmRp
ZgogICAgIExMSU5UX1JFVFVSTihKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGNvZGVCbG9jay0+ZnVu
Y3Rpb25EZWNsKHBjWzNdLnUub3BlcmFuZCksIHNjb3BlKSk7CiB9Ci0KKyAgICAKIExMSU5UX1NM
T1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuY19leHApCiB7Ci0gICAgTExJTlRfQkVHSU4o
KTsKLSAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVCbG9jaygpOwotICAgIEpT
U2NvcGUqIHNjb3BlID0gZXhlYy0+dW5jaGVja2VkUihwY1syXS51Lm9wZXJhbmQpLlJlZ2lzdGVy
OjpzY29wZSgpOwotICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZnVuY3Rpb24gPSBjb2RlQmxvY2st
PmZ1bmN0aW9uRXhwcihwY1szXS51Lm9wZXJhbmQpOwotICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBK
U0Z1bmN0aW9uOjpjcmVhdGUodm0sIGZ1bmN0aW9uLCBzY29wZSk7CisgICAgTExJTlRfQ0FMQ19Q
Uk9QRVJUWV9GT1JfRlVOQ19FWFBSKCk7CisKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNGdW5j
dGlvbjo6Y3JlYXRlKHZtLCBleGVjdXRhYmxlLCBzY29wZSk7CisgICAgTExJTlRfUkVUVVJOKGZ1
bmMpOworfQorCisKK0xMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVu
Y19leHApCit7CisgICAgTExJTlRfQ0FMQ19QUk9QRVJUWV9GT1JfRlVOQ19FWFBSKCk7CisKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEpTVmFsdWUgdGhpc1ZhbHVl
ID0gTExJTlRfT1BfQyg0KS5qc1ZhbHVlKCk7CisgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCA9IGV4ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKICAgICAKKyAgICBKU0Z1bmN0
aW9uKiBmdW5jID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBleGVjdXRhYmxlLCBzY29wZSk7Cisg
ICAgCisgICAgY29uc3QgU3RyaW5nIGZ1bmNXaXRob3V0TmFtZSA9ICIiOworICAgIAorICAgIExM
SU5UX1JFVFVSTihKU0Fycm93RnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBmdW5j
LCB0aGlzVmFsdWUpKTsKKyNlbHNlCisgICAgSlNGdW5jdGlvbiogZnVuYyA9IEpTRnVuY3Rpb246
OmNyZWF0ZSh2bSwgZXhlY3V0YWJsZSwgc2NvcGUpOwogICAgIExMSU5UX1JFVFVSTihmdW5jKTsK
KyNlbmRpZgogfQogCiBzdGF0aWMgU2xvd1BhdGhSZXR1cm5UeXBlIGhhbmRsZUhvc3RDYWxsKEV4
ZWNTdGF0ZSogZXhlY0NhbGxlZSwgSW5zdHJ1Y3Rpb24qIHBjLCBKU1ZhbHVlIGNhbGxlZSwgQ29k
ZVNwZWNpYWxpemF0aW9uS2luZCBraW5kKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TExJbnRTbG93UGF0aHMuaAppbmRleCA0YmY3ZGViMGZhMGI2YzY0MzhlMzZmOTYzMjBlMmY2Njk3
MzlhZjY0Li5jN2ZhYjk2OTFjMThiOTM5NTZkMGVhMjlmMzM5NTYxMThjNWU3MWVlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaApAQCAtOTYsNiArOTYs
NyBAQCBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3N3aXRjaF9jaGFyKTsK
IExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfc3dpdGNoX3N0cmluZyk7CiBM
TElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX25ld19mdW5jKTsKIExMSU5UX1NM
T1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfbmV3X2Z1bmNfZXhwKTsKK0xMSU5UX1NMT1df
UEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKTsKIExMSU5UX1NM
T1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfY2FsbCk7CiBMTElOVF9TTE9XX1BBVEhfSElE
REVOX0RFQ0woc2xvd19wYXRoX2NvbnN0cnVjdCk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RF
Q0woc2xvd19wYXRoX3NpemVfZnJhbWVfZm9yX3ZhcmFyZ3MpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCmluZGV4IDU0M2Q5ZTkz
MzNjNTEzZTk3NjE3YjdiZGE3ZjY5OTg2NjgzOGExZTAuLjE4MmJiZDllNGVmNzg5MjhkYTUyZmJj
ZWM4ODJhNWRmMzZkYjc5NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KQEAgLTExNjksNiArMTE2OSwxMCBAQCBfbGxpbnRf
b3BfbmV3X2Z1bmNfZXhwOgogICAgIGNhbGxTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX25ld19m
dW5jX2V4cCkKICAgICBkaXNwYXRjaCg0KQogCitfbGxpbnRfb3BfbmV3X2Fycm93X2Z1bmNfZXhw
OgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0
aF9uZXdfYXJyb3dfZnVuY19leHApCisgICAgZGlzcGF0Y2goNSkKIAogX2xsaW50X29wX2NhbGw6
CiAgICAgdHJhY2VFeGVjdXRpb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9BU1RCdWlsZGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1
aWxkZXIuaAppbmRleCBhYTczNzA1MmNiM2M4MTUzNTdjOGE2ZmUzNjhhZDIxNTliYTMyYzBmLi45
ZDAzMTkxNDRiZDRkN2JlMTY2ZmQ3OTQwNTI1OGI5MmQyNGE0NjQ5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaApAQCAtMzU3LDYgKzM1NywxOSBAQCBwdWJsaWM6
CiAgICAgICAgICAgICBpblN0cmljdENvbnRleHQsIGNvbnN0cnVjdG9yS2luZCk7CiAgICAgfQog
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBFeHByZXNzaW9uTm9k
ZSogY3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlv
biwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPEFTVEJ1aWxkZXI+JiBpbmZvKQorICAgIHsKKyAg
ICAgICAgU291cmNlQ29kZSBzb3VyY2UgPSBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dG
dW5jdGlvbkJvZHlFeHByZXNzaW9uCisgICAgICAgID8gbV9zb3VyY2VDb2RlLT5zdWJBcnJvd0V4
cHJlc3Npb24oaW5mby5hcnJvd0Z1bmN0aW9uT2Zmc2V0LCBpbmZvLmNsb3NlQnJhY2VPZmZzZXQs
IGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1bW4pCisgICAgICAgIDogbV9z
b3VyY2VDb2RlLT5zdWJFeHByZXNzaW9uKGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBpbmZvLmNsb3Nl
QnJhY2VPZmZzZXQsIGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1bW4pOwor
CisgICAgICAgIEFycm93RnVuY0V4cHJOb2RlKiByZXN1bHQgPSBuZXcgKG1fcGFyc2VyQXJlbmEp
IEFycm93RnVuY0V4cHJOb2RlKGxvY2F0aW9uLCAqaW5mby5uYW1lLCBpbmZvLmJvZHksIHNvdXJj
ZSwgaW5mby5wYXJhbWV0ZXJzKTsKKyAgICAgICAgaW5mby5ib2R5LT5zZXRMb2MoaW5mby5ib2R5
U3RhcnRMaW5lLCBpbmZvLmJvZHlFbmRMaW5lLCBsb2NhdGlvbi5zdGFydE9mZnNldCwgbG9jYXRp
b24ubGluZVN0YXJ0T2Zmc2V0KTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisjZW5k
aWYKKwogICAgIE5FVkVSX0lOTElORSBQcm9wZXJ0eU5vZGUqIGNyZWF0ZUdldHRlck9yU2V0dGVy
UHJvcGVydHkoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgUHJvcGVydHlOb2RlOjpU
eXBlIHR5cGUsIGJvb2wsCiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUsIGNvbnN0IFBh
cnNlckZ1bmN0aW9uSW5mbzxBU1RCdWlsZGVyPiYgaW5mbywgU3VwZXJCaW5kaW5nIHN1cGVyQmlu
ZGluZykKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xl
eGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCmluZGV4IDk2
ZWI3YWFiMjM5YTM4NmQwN2Y2MGRiYTc0ZTZmYWQxZmE2Y2QzN2EuLmFkNzA1NmRkZTM4OGVmODZm
YjdmNjI3NmZkYTczZWFlODlkNDM0OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTGV4ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4
ZXIuY3BwCkBAIC0xNzA4LDYgKzE3MDgsMTggQEAgYm9vbCBMZXhlcjxUPjo6bmV4dFRva2VuSXND
b2xvbigpCiAgICAgcmV0dXJuIGNvZGUgPCBtX2NvZGVFbmQgJiYgKmNvZGUgPT0gJzonOwogfQog
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFt
ZSBUPgordm9pZCBMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlvbihKU1Rva2VuKiB0b2tlblJlY29y
ZCkKK3sKKyAgICBKU1Rva2VuRGF0YSogdG9rZW5EYXRhID0gJnRva2VuUmVjb3JkLT5tX2RhdGE7
CisgICAgdG9rZW5EYXRhLT5saW5lID0gbGluZU51bWJlcigpOworICAgIHRva2VuRGF0YS0+b2Zm
c2V0ID0gY3VycmVudE9mZnNldCgpOworICAgIHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0ID0g
Y3VycmVudExpbmVTdGFydE9mZnNldCgpOworICAgIEFTU0VSVCh0b2tlbkRhdGEtPm9mZnNldCA+
PSB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCk7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5
cGVuYW1lIFQ+CiBKU1Rva2VuVHlwZSBMZXhlcjxUPjo6bGV4KEpTVG9rZW4qIHRva2VuUmVjb3Jk
LCB1bnNpZ25lZCBsZXhlckZsYWdzLCBib29sIHN0cmljdE1vZGUpCiB7CkBAIC0xNzcxLDcgKzE3
ODMsMTIgQEAgc3RhcnQ6CiAgICAgICAgIH0KICAgICAgICAgdG9rZW4gPSBHVDsKICAgICAgICAg
YnJlYWs7Ci0gICAgY2FzZSBDaGFyYWN0ZXJFcXVhbDoKKyAgICBjYXNlIENoYXJhY3RlckVxdWFs
OiB7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdWludDMy
X3Qgc2F2ZWRsaW5lTnVtYmVyID0gdG9rZW5EYXRhLT5saW5lOworICAgICAgICB1aW50MzJfdCBz
YXZlZE9mZnNldCA9IGN1cnJlbnRPZmZzZXQoKTsKKyAgICAgICAgdWludDMyX3Qgc2F2ZWRMaW5l
U3RhcnRPZmZzZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0KCk7CisjZW5kaWYKICAgICAgICAg
c2hpZnQoKTsKICAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnPScpIHsKICAgICAgICAgICAgIHNo
aWZ0KCk7CkBAIC0xNzgzLDggKzE4MDAsMjIgQEAgc3RhcnQ6CiAgICAgICAgICAgICB0b2tlbiA9
IEVRRVE7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJz4nKSB7CisgICAg
ICAgICAgICBzaGlmdCgpOworICAgICAgICAgICAgdG9rZW4gPSBBUlJPV0ZVTkNUSU9OOworCisg
ICAgICAgICAgICB0b2tlbkRhdGEtPmxpbmUgPSBzYXZlZGxpbmVOdW1iZXI7CisgICAgICAgICAg
ICB0b2tlbkRhdGEtPm9mZnNldCA9IHNhdmVkT2Zmc2V0OworICAgICAgICAgICAgdG9rZW5EYXRh
LT5saW5lU3RhcnRPZmZzZXQgPSBzYXZlZExpbmVTdGFydE9mZnNldDsKKworICAgICAgICAgICAg
QVNTRVJUKHRva2VuRGF0YS0+b2Zmc2V0ID49IHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0KTsK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgdG9rZW4gPSBF
UVVBTDsKICAgICAgICAgYnJlYWs7CisgICAgfQogICAgIGNhc2UgQ2hhcmFjdGVyTGVzczoKICAg
ICAgICAgc2hpZnQoKTsKICAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnIScgJiYgcGVlaygxKSA9
PSAnLScgJiYgcGVlaygyKSA9PSAnLScpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvTGV4ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIu
aAppbmRleCA4YWZlZjI2MTEyMTA4YWVkN2U4NmVkMGU4NDc5Yjc5YzFkMDIyN2FiLi5iZGEzYmQ0
OWVhN2E1OWMzNWM0ZTEyODVjZjk0ODMyMjU1Yzg3ZmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9MZXhlci5oCkBAIC04Nyw2ICs4Nyw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldElzUmVw
YXJzaW5nKCkgeyBtX2lzUmVwYXJzaW5nID0gdHJ1ZTsgfQogICAgIGJvb2wgaXNSZXBhcnNpbmco
KSBjb25zdCB7IHJldHVybiBtX2lzUmVwYXJzaW5nOyB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgIHZvaWQgc2V0VG9rZW5Qb3NpdGlvbihKU1Rva2VuKiB0b2tl
blJlY29yZCk7CisjZW5kaWYKICAgICBKU1Rva2VuVHlwZSBsZXgoSlNUb2tlbiosIHVuc2lnbmVk
LCBib29sIHN0cmljdE1vZGUpOwogICAgIGJvb2wgbmV4dFRva2VuSXNDb2xvbigpOwogICAgIGlu
dCBsaW5lTnVtYmVyKCkgY29uc3QgeyByZXR1cm4gbV9saW5lTnVtYmVyOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCmluZGV4IDg5YjkyOGVj
ZjhiNDQwMDA2MjM2NjEyODJhOTcwYTU2MjFhNTFhOTIuLjFiNDBlZTNlMjFkOGUzNzAxNjFjYzlm
OWM0YWVlY2M3MDcyNjNmYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvTm9kZUNvbnN0cnVjdG9ycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
Tm9kZUNvbnN0cnVjdG9ycy5oCkBAIC04MzUsNiArODM1LDEzIEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICBtX2JvZHktPmZpbmlzaFBhcnNpbmcoc291cmNlLCBwYXJhbWV0ZXIsIGlkZW50LCBG
dW5jdGlvbkV4cHJlc3Npb24pOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgaW5saW5lIEFycm93RnVuY0V4cHJOb2RlOjpBcnJvd0Z1bmNFeHByTm9k
ZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBJZGVudGlmaWVyJiBpZGVu
dCwgRnVuY3Rpb25Cb2R5Tm9kZSogYm9keSwgY29uc3QgU291cmNlQ29kZSYgc291cmNlLCBQYXJh
bWV0ZXJOb2RlKiBwYXJhbWV0ZXIpCisgICAgICAgIDogRnVuY0V4cHJOb2RlKGxvY2F0aW9uLCBp
ZGVudCwgYm9keSwgc291cmNlLCBwYXJhbWV0ZXIpCisgICAgeworICAgIH0KKyNlbmRpZgorICAg
IAogICAgIGlubGluZSBGdW5jRGVjbE5vZGU6OkZ1bmNEZWNsTm9kZShjb25zdCBKU1Rva2VuTG9j
YXRpb24mIGxvY2F0aW9uLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgRnVuY3Rpb25Cb2R5Tm9k
ZSogYm9keSwgY29uc3QgU291cmNlQ29kZSYgc291cmNlLCBQYXJhbWV0ZXJOb2RlKiBwYXJhbWV0
ZXIpCiAgICAgICAgIDogU3RhdGVtZW50Tm9kZShsb2NhdGlvbikKICAgICAgICAgLCBtX2JvZHko
Ym9keSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAppbmRleCA3ODQ4MTg0ZTU1NGNm
NDBlYWYzOTA2N2U2NzhhNWVkOGFjNTQ5OWU4Li45NTQwYjFiNDUxNDUxNDM2MmUwNzlhODQ3YzAx
NWRlMGJjN2I1ZjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05v
ZGVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCkBAIC0xNTgs
NiArMTU4LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0RvdEFj
Y2Vzc29yTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwgYm9v
bCBpc0RlY29uc3RydWN0aW9uTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAg
IHZpcnR1YWwgYm9vbCBpc0Z1bmNFeHByTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Cisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdmlydHVhbCBib29s
IGlzQXJyb3dGdW5jRXhwck5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorI2VuZGlmCiAg
ICAgICAgIHZpcnR1YWwgYm9vbCBpc0NvbW1hTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc1NpbXBsZUFycmF5KCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzQWRkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KQEAgLTE3MjYsNiArMTcyOSwxOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgRnVuY3Rp
b25Cb2R5Tm9kZSogbV9ib2R5OwogICAgIH07CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIGNsYXNzIEFycm93RnVuY0V4cHJOb2RlIDogcHVibGljIEZ1bmNFeHBy
Tm9kZSB7CisgICAgcHVibGljOgorICAgICAgICBBcnJvd0Z1bmNFeHByTm9kZShjb25zdCBKU1Rv
a2VuTG9jYXRpb24mLCBjb25zdCBJZGVudGlmaWVyJiwgRnVuY3Rpb25Cb2R5Tm9kZSosIGNvbnN0
IFNvdXJjZUNvZGUmLCBQYXJhbWV0ZXJOb2RlKiA9IDApOworICAgIHByaXZhdGU6CisgICAgICAg
IHZpcnR1YWwgUmVnaXN0ZXJJRCogZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiwgUmVn
aXN0ZXJJRCogPSAwKSBvdmVycmlkZTsKKyAgICAgICAgCisgICAgICAgIHZpcnR1YWwgYm9vbCBp
c0Z1bmNFeHByTm9kZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgICAg
IAorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNBcnJvd0Z1bmNFeHByTm9kZSgpIGNvbnN0IG92ZXJy
aWRlIHsgcmV0dXJuIHRydWU7IH0KKyAgICB9OworI2VuZGlmCisKICNpZiBFTkFCTEUoRVM2X0NM
QVNTX1NZTlRBWCkKICAgICBjbGFzcyBDbGFzc0V4cHJOb2RlIGZpbmFsIDogcHVibGljIEV4cHJl
c3Npb25Ob2RlIHsKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1BhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNl
ci5jcHAKaW5kZXggMTQ4YzliMjRhY2JhZjUxODRlNWJkMWMwNDU0MDVkYWM1OTgzYjc4MS4uNmE5
ZjA0NzkyYWVlYzFiMDI0NmU1YTEyNDAxNjc4ZjY1ODg0MmM1YyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvUGFyc2VyLmNwcApAQCAtMjY0LDcgKzI2NCw3IEBAIFN0cmluZyBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VJbm5lcigpCiAgICAgaWYgKG1fbGV4ZXItPmlzUmVwYXJzaW5nKCkp
CiAgICAgICAgIG1fc3RhdGVtZW50RGVwdGgtLTsKICAgICBTY29wZVJlZiBzY29wZSA9IGN1cnJl
bnRTY29wZSgpOwotICAgIFNvdXJjZUVsZW1lbnRzKiBzb3VyY2VFbGVtZW50cyA9IHBhcnNlU291
cmNlRWxlbWVudHMoY29udGV4dCwgQ2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICBTb3VyY2VFbGVt
ZW50cyogc291cmNlRWxlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIENoZWNr
Rm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CiAgICAgaWYgKCFzb3Vy
Y2VFbGVtZW50cyB8fCAhY29uc3VtZShFT0ZUT0spKSB7CiAgICAgICAgIGlmIChoYXNFcnJvcigp
KQogICAgICAgICAgICAgcGFyc2VFcnJvciA9IG1fZXJyb3JNZXNzYWdlOwpAQCAtMzQzLDcgKzM0
Myw3IEBAIGJvb2wgUGFyc2VyPExleGVyVHlwZT46OmFsbG93QXV0b21hdGljU2VtaWNvbG9uKCkK
IH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KLXRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJj
ZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBTb3VyY2VFbGVtZW50c01vZGUgbW9kZSkK
K3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBTb3Vy
Y2VFbGVtZW50c01vZGUgbW9kZSwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25QYXJzZVR5cGUp
CiB7CiAgICAgY29uc3QgdW5zaWduZWQgbGVuZ3RoT2ZVc2VTdHJpY3RMaXRlcmFsID0gMTI7IC8v
ICJ1c2Ugc3RyaWN0Ii5sZW5ndGgKICAgICBUcmVlU291cmNlRWxlbWVudHMgc291cmNlRWxlbWVu
dHMgPSBjb250ZXh0LmNyZWF0ZVNvdXJjZUVsZW1lbnRzKCk7CkBAIC0zNTIsNyArMzUyLDcgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlU291cmNlRWwKICAgICB1bnNpZ25lZCBkaXJlY3RpdmVMaXRlcmFsTGVu
Z3RoID0gMDsKICAgICBhdXRvIHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwogICAgIGJv
b2wgaGFzU2V0U3RyaWN0ID0gZmFsc2U7Ci0gICAgd2hpbGUgKFRyZWVTdGF0ZW1lbnQgc3RhdGVt
ZW50ID0gcGFyc2VTdGF0ZW1lbnQoY29udGV4dCwgZGlyZWN0aXZlLCAmZGlyZWN0aXZlTGl0ZXJh
bExlbmd0aCkpIHsKKyAgICB3aGlsZSAoVHJlZVN0YXRlbWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0
YXRlbWVudChjb250ZXh0LCBkaXJlY3RpdmUsICZkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoLCBmdW5j
dGlvblBhcnNlVHlwZSkpIHsKICAgICAgICAgaWYgKG1vZGUgPT0gQ2hlY2tGb3JTdHJpY3RNb2Rl
ICYmICFzZWVuTm9uRGlyZWN0aXZlKSB7CiAgICAgICAgICAgICBpZiAoZGlyZWN0aXZlKSB7CiAg
ICAgICAgICAgICAgICAgLy8gInVzZSBzdHJpY3QiIG11c3QgYmUgdGhlIGV4YWN0IGxpdGVyYWwg
d2l0aG91dCBlc2NhcGUgc2VxdWVuY2VzIG9yIGxpbmUgY29udGludWF0aW9uLgpAQCAtNTg0LDYg
KzU4NCwzMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVEZWNvbnN0cnVjdGlv
blBhdHRlcm4gUGFyc2VyPExleGVyVHlwZT46OmNyZWF0ZQogICAgIHJldHVybiBjb250ZXh0LmNy
ZWF0ZUJpbmRpbmdMb2NhdGlvbih0b2tlbi5tX2xvY2F0aW9uLCBuYW1lLCB0b2tlbi5tX3N0YXJ0
UG9zaXRpb24sIHRva2VuLm1fZW5kUG9zaXRpb24pOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlQXJyb3dGdW5jdGlvblN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBB
U1NFUlQobWF0Y2goQVJST1dGVU5DVElPTikpOworCisgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0
aW9uKHRva2VuTG9jYXRpb24oKSk7CisgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0
YXJ0UG9zaXRpb24oKTsKKyAgICBKU1RleHRQb3NpdGlvbiBlbmQgPSB0b2tlbkVuZFBvc2l0aW9u
KCk7CisKKyAgICBuZXh0KCk7CisgICAgVHJlZUV4cHJlc3Npb24gZXhwciA9IHBhcnNlQXJyb3dG
dW5jdGlvbkV4cHJlc3Npb24oY29udGV4dCk7CisgICAgZmFpbElmRmFsc2UoZXhwciwgIkNhbm5v
dCBwYXJzZSB0aGUgYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgIGVuZCA9IGxhc3RU
b2tlbkVuZFBvc2l0aW9uKCk7CisKKyAgICBib29sIGNvcnJlY3RBcnJvd0ZpbmlzaCA9IGlzRW5k
T2ZBcnJvd0Z1bmN0aW9uKCkgfHwgbWF0Y2goRU9GVE9LKTsKKyAgICBmYWlsSWZGYWxzZShjb3Jy
ZWN0QXJyb3dGaW5pc2gsICJFeHBlY3RlZCBhICc7JywgJ10nLCAnfScsICcpJywgb3IgJywnIGZv
bGxvd2luZyBhIGFycm93IGZ1bmN0aW9uIHN0YXRlbWVudCIpOworCisgICAgZW5kID0gdG9rZW5F
bmRQb3NpdGlvbigpOworICAgIHNldEVuZE9mU3RhdGVtZW50KCk7CisKKyAgICByZXR1cm4gY29u
dGV4dC5jcmVhdGVSZXR1cm5TdGF0ZW1lbnQobG9jYXRpb24sIGV4cHIsIHN0YXJ0LCBlbmQpOwor
fQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gUGFyc2VyPExleGVyVHlw
ZT46OnRyeVBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuRXhwcmVzc2lvbihUcmVlQnVpbGRlciYg
Y29udGV4dCkKIHsKQEAgLTEwMzEsNyArMTA1Niw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZUNsYXVzZUxpc3QgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3dpdGNoQ2xhdXNl
CiAgICAgVHJlZUV4cHJlc3Npb24gY29uZGl0aW9uID0gcGFyc2VFeHByZXNzaW9uKGNvbnRleHQp
OwogICAgIGZhaWxJZkZhbHNlKGNvbmRpdGlvbiwgIkNhbm5vdCBwYXJzZSBzd2l0Y2ggY2xhdXNl
Iik7CiAgICAgY29uc3VtZU9yRmFpbChDT0xPTiwgIkV4cGVjdGVkIGEgJzonIGFmdGVyIHN3aXRj
aCBjbGF1c2UgZXhwcmVzc2lvbiIpOwotICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRz
ID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlKTsK
KyAgICBUcmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMo
Y29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlw
ZSk7CiAgICAgZmFpbElmRmFsc2Uoc3RhdGVtZW50cywgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBv
ZiBhIHN3aXRjaCBjbGF1c2UiKTsKICAgICBUcmVlQ2xhdXNlIGNsYXVzZSA9IGNvbnRleHQuY3Jl
YXRlQ2xhdXNlKGNvbmRpdGlvbiwgc3RhdGVtZW50cyk7CiAgICAgY29udGV4dC5zZXRTdGFydE9m
ZnNldChjbGF1c2UsIHN0YXJ0T2Zmc2V0KTsKQEAgLTEwNDQsNyArMTA2OSw3IEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUNsYXVzZUxpc3QgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlU3dpdGNoQ2xhdXNlCiAgICAgICAgIFRyZWVFeHByZXNzaW9uIGNvbmRpdGlvbiA9IHBhcnNl
RXhwcmVzc2lvbihjb250ZXh0KTsKICAgICAgICAgZmFpbElmRmFsc2UoY29uZGl0aW9uLCAiQ2Fu
bm90IHBhcnNlIHN3aXRjaCBjYXNlIGV4cHJlc3Npb24iKTsKICAgICAgICAgY29uc3VtZU9yRmFp
bChDT0xPTiwgIkV4cGVjdGVkIGEgJzonIGFmdGVyIHN3aXRjaCBjbGF1c2UgZXhwcmVzc2lvbiIp
OwotICAgICAgICBUcmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxl
bWVudHMoY29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSk7CisgICAgICAgIFRyZWVTb3Vy
Y2VFbGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250
Q2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICAgICAg
ZmFpbElmRmFsc2Uoc3RhdGVtZW50cywgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiBhIHN3aXRj
aCBjbGF1c2UiKTsKICAgICAgICAgY2xhdXNlID0gY29udGV4dC5jcmVhdGVDbGF1c2UoY29uZGl0
aW9uLCBzdGF0ZW1lbnRzKTsKICAgICAgICAgY29udGV4dC5zZXRTdGFydE9mZnNldChjbGF1c2Us
IHN0YXJ0T2Zmc2V0KTsKQEAgLTEwNjEsNyArMTA4Niw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZUNsYXVzZSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTd2l0Y2hEZWZhdWx0
Q2xhCiAgICAgdW5zaWduZWQgc3RhcnRPZmZzZXQgPSB0b2tlblN0YXJ0KCk7CiAgICAgbmV4dCgp
OwogICAgIGNvbnN1bWVPckZhaWwoQ09MT04sICJFeHBlY3RlZCBhICc6JyBhZnRlciBzd2l0Y2gg
ZGVmYXVsdCBjbGF1c2UiKTsKLSAgICBUcmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBh
cnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSk7CisgICAg
VHJlZVNvdXJjZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRl
eHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwog
ICAgIGZhaWxJZkZhbHNlKHN0YXRlbWVudHMsICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgYSBz
d2l0Y2ggZGVmYXVsdCBjbGF1c2UiKTsKICAgICBUcmVlQ2xhdXNlIHJlc3VsdCA9IGNvbnRleHQu
Y3JlYXRlQ2xhdXNlKDAsIHN0YXRlbWVudHMpOwogICAgIGNvbnRleHQuc2V0U3RhcnRPZmZzZXQo
cmVzdWx0LCBzdGFydE9mZnNldCk7CkBAIC0xMTQ2LDcgKzExNzEsNyBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQmxv
Y2tTdGF0ZW1lbgogICAgICAgICBjb250ZXh0LnNldEVuZE9mZnNldChyZXN1bHQsIGVuZE9mZnNl
dCk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIFRyZWVTb3VyY2VFbGVtZW50
cyBzdWJ0cmVlID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJp
Y3RNb2RlKTsKKyAgICBUcmVlU291cmNlRWxlbWVudHMgc3VidHJlZSA9IHBhcnNlU291cmNlRWxl
bWVudHMoY29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBh
cnNlVHlwZSk7CiAgICAgZmFpbElmRmFsc2Uoc3VidHJlZSwgIkNhbm5vdCBwYXJzZSB0aGUgYm9k
eSBvZiB0aGUgYmxvY2sgc3RhdGVtZW50Iik7CiAgICAgbWF0Y2hPckZhaWwoQ0xPU0VCUkFDRSwg
IkV4cGVjdGVkIGEgY2xvc2luZyAnfScgYXQgdGhlIGVuZCBvZiBhIGJsb2NrIHN0YXRlbWVudCIp
OwogICAgIGludCBlbmRPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CkBAIC0xMTU4LDcg
KzExODMsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlQmxvY2tTdGF0ZW1lbgogfQogCiB0ZW1wbGF0ZSA8dHlwZW5h
bWUgTGV4ZXJUeXBlPgotdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwg
Y29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxM
ZW5ndGgpCit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJ
ZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCwg
RnVuY3Rpb25QYXJzZVR5cGUgcGFyc2VUeXBlKQogewogICAgIERlcHRoTWFuYWdlciBzdGF0ZW1l
bnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7CiAgICAgbV9zdGF0ZW1lbnREZXB0aCsrOwpAQCAt
MTE2Nyw2ICsxMTkyLDIzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRl
bWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgZmFpbElmU3Rh
Y2tPdmVyZmxvdygpOwogICAgIFRyZWVTdGF0ZW1lbnQgcmVzdWx0ID0gMDsKICAgICBib29sIHNo
b3VsZFNldEVuZE9mZnNldCA9IHRydWU7CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgewor
ICAgICAgICBzd2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7CisgICAgICAgIGNhc2UgQ0xPU0VQQVJF
TjoKKyAgICAgICAgY2FzZSBDTE9TRUJSQUNLRVQ6CisgICAgICAgIGNhc2UgQ09NTUE6CisgICAg
ICAgIGNhc2UgU0VNSUNPTE9OOiB7CisgICAgICAgICAgICByZXN1bHQgPSAwOworICAgICAgICAg
ICAgY29udGV4dC5zZXRFbmRPZmZzZXQocmVzdWx0LCBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLm9m
ZnNldCk7CisgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICB9CisgICAgICAgIGRl
ZmF1bHQ6CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKyNlbmRpZgogICAg
IHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKICAgICBjYXNlIE9QRU5CUkFDRToKICAgICAgICAg
cmVzdWx0ID0gcGFyc2VCbG9ja1N0YXRlbWVudChjb250ZXh0KTsKQEAgLTEyMTIsNiArMTI1NCwx
NSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAgIGNhc2UgQlJFQUs6CiAgICAgICAgIHJl
c3VsdCA9IHBhcnNlQnJlYWtTdGF0ZW1lbnQoY29udGV4dCk7CiAgICAgICAgIGJyZWFrOworI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2FzZSBBUlJPV0ZVTkNUSU9O
OgorICAgICAgICByZXN1bHQgPSBwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoY29udGV4dCk7
CisgICAgICAgIC8vIENvbnN1bWUgdGhlIGVuZCBvZiBhcnJvdyBmdW5jdGlvbiAsO10pIGFuZCBw
cmV2ZW50CisgICAgICAgIC8vIHBhcnNlIHRoaXMgc3ltYm9scyBieSBwYXJzZVN0YXRlbWVudCBh
cyBzZXBhcmF0ZSBzdGF0ZW1lbnQKKyAgICAgICAgaWYgKHBhcnNlVHlwZSA9PSBTdGFuZGFyZEZ1
bmN0aW9uUGFyc2VUeXBlKQorICAgICAgICAgICAgbmV4dCgpOworICAgICAgICBicmVhazsKKyNl
bmRpZgogICAgIGNhc2UgUkVUVVJOOgogICAgICAgICByZXN1bHQgPSBwYXJzZVJldHVyblN0YXRl
bWVudChjb250ZXh0KTsKICAgICAgICAgYnJlYWs7CkBAIC0xMjc2LDIwICsxMzI3LDM0IEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUZvcm1hbFBhcmFtZXRlckxpc3QgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlRm9yCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRnVuY3Rpb25Cb2R5IFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZUZ1bmN0aW9uQm9keSgKICAgICBUcmVlQnVpbGRlciYgY29udGV4dCwgaW50IGZ1
bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIAotICAgIGludCBwYXJh
bWV0ZXJzU3RhcnQsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQpCisgICAgaW50IHBh
cmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCwgRnVuY3Rpb25Q
YXJzZVR5cGUgcGFyc2VUeXBlKQogewogICAgIEpTVG9rZW5Mb2NhdGlvbiBzdGFydExvY2F0aW9u
KHRva2VuTG9jYXRpb24oKSk7CiAgICAgdW5zaWduZWQgc3RhcnRDb2x1bW4gPSB0b2tlbkNvbHVt
bigpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaWYgKHBhcnNl
VHlwZSA9PSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIG5leHQoKTsKKyAg
ICAgICAgaWYgKG1hdGNoKENMT1NFQlJBQ0UpKSB7CisgICAgICAgICAgICB1bnNpZ25lZCBlbmRD
b2x1bW4gPSB0b2tlbkNvbHVtbigpOworICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRl
RnVuY3Rpb25Cb2R5KHN0YXJ0TG9jYXRpb24sIHRva2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1bW4s
IGVuZENvbHVtbiwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJh
bWV0ZXJzU3RhcnQsIHN0cmljdE1vZGUoKSwgY29uc3RydWN0b3JLaW5kKTsKKyAgICAgICAgfQor
ICAgIH0KKyNlbHNlCiAgICAgbmV4dCgpOwotCiAgICAgaWYgKG1hdGNoKENMT1NFQlJBQ0UpKSB7
CiAgICAgICAgIHVuc2lnbmVkIGVuZENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CiAgICAgICAgIHJl
dHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uQm9keShzdGFydExvY2F0aW9uLCB0b2tlbkxvY2F0
aW9uKCksIHN0YXJ0Q29sdW1uLCBlbmRDb2x1bW4sIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5j
dGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBzdHJpY3RNb2RlKCksIGNvbnN0cnVjdG9y
S2luZCk7CiAgICAgfQorI2VuZGlmCisKICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgo
Jm1fc3RhdGVtZW50RGVwdGgpOwogICAgIG1fc3RhdGVtZW50RGVwdGggPSAwOwogICAgIHR5cGVu
YW1lIFRyZWVCdWlsZGVyOjpGdW5jdGlvbkJvZHlCdWlsZGVyIGJvZHlCdWlsZGVyKGNvbnN0X2Nh
c3Q8Vk0qPihtX3ZtKSwgbV9sZXhlci5nZXQoKSk7Ci0gICAgZmFpbElmRmFsc2UocGFyc2VTb3Vy
Y2VFbGVtZW50cyhib2R5QnVpbGRlciwgQ2hlY2tGb3JTdHJpY3RNb2RlKSwgIkNhbm5vdCBwYXJz
ZSBib2R5IG9mIHRoaXMgZnVuY3Rpb24iKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgIGZhaWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMoYm9keUJ1aWxkZXIs
IENoZWNrRm9yU3RyaWN0TW9kZSwgcGFyc2VUeXBlKSwgcGFyc2VUeXBlID09IFN0YW5kYXJkRnVu
Y3Rpb25QYXJzZVR5cGUgPyAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBmdW5jdGlvbiIgOiAi
Q2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBhcnJvdyBmdW5jdGlvbiIpOworI2Vsc2UKKyAgICBm
YWlsSWZGYWxzZShwYXJzZVNvdXJjZUVsZW1lbnRzKGJvZHlCdWlsZGVyLCBDaGVja0ZvclN0cmlj
dE1vZGUsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpLCAiQ2Fubm90IHBhcnNlIGJvZHkgb2Yg
dGhpcyBmdW5jdGlvbiIpOworI2VuZGlmCiAgICAgdW5zaWduZWQgZW5kQ29sdW1uID0gdG9rZW5D
b2x1bW4oKTsKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRMb2Nh
dGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBmdW5jdGlvbktl
eXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgc3RyaWN0TW9k
ZSgpLCBjb25zdHJ1Y3RvcktpbmQpOwogfQpAQCAtMTM1MCwyOCArMTQxNSw3NiBAQCB0ZW1wbGF0
ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGludCBQ
YXJzZXI8TGV4ZXJUeXBlPgogICAgIAogICAgIHJldHVybiBwYXJhbWV0ZXJzU3RhcnQ7CiB9CisK
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1l
IExleGVyVHlwZT4gdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBpbnQgUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvblBhcmFtdGVycyhUcmVlQnVpbGRlciYgY29udGV4dCwg
RnVuY3Rpb25QYXJzZU1vZGUgbW9kZSwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYg
aW5mbykKK3sKKyAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0
YXJ0T2Zmc2V0OworICAgIGlmICghbWF0Y2goSURFTlQpICYmICFtYXRjaChPUEVOUEFSRU4pKSB7
CisgICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5jdGlvbk1v
ZGUobW9kZSksICIgbmFtZSIpOworICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVkIGFu
IGFycm93IGZ1bmN0aW9uIGlucHV0IHBhcmFtZXRlciIpOworICAgIH0gZWxzZSB7CisgICAgICAg
IGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgICAgICBjb25zdW1lKE9QRU5QQVJFTik7
CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGlmICghbWF0Y2goQ0xPU0VQQVJFTikpIHsKKyAg
ICAgICAgICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoY29u
dGV4dCk7CisgICAgICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJzLCAiQ2Fu
bm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1v
ZGUpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgY29uc3VtZU9y
RmFpbChDTE9TRVBBUkVOLCAiRXhwZWN0ZWQgYSAnKScgb3IgYSAnLCcgYWZ0ZXIgYSBwYXJhbWV0
ZXIgZGVjbGFyYXRpb24iKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGF1dG8gcGFy
YW1ldGVyID0gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oY29udGV4dCwgRGVjb25zdHJ1Y3RU
b1BhcmFtZXRlcnMpOworICAgICAgICAgICAgZmFpbElmRmFsc2UocGFyYW1ldGVyLCAiQ2Fubm90
IHBhcnNlIHBhcmFtZXRlciBwYXR0ZXJuIik7CisgICAgICAgICAgICBpbmZvLnBhcmFtZXRlcnMg
PSBjb250ZXh0LmNyZWF0ZUZvcm1hbFBhcmFtZXRlckxpc3QocGFyYW1ldGVyKTsKKyAgICAgICAg
ICAgIGZhaWxJZkZhbHNlKGluZm8ucGFyYW1ldGVycywgIkNhbm5vdCBwYXJzZSBwYXJhbWV0ZXJz
IGZvciB0aGlzICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7CisgICAgICAgIH0KKyAg
ICB9CiAgICAgCisgICAgcmV0dXJuIHBhcmFtZXRlcnNTdGFydDsKK30KKyNlbmRpZgorCiB0ZW1w
bGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBi
b29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYgY29u
dGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMgcmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9k
ZSBtb2RlLAotICAgIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2lu
ZCBvd25lckNsYXNzS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlv
bkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvKQorICAgIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2Nv
cGUsIENvbnN0cnVjdG9yS2luZCBvd25lckNsYXNzS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0
YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvLCBGdW5jdGlvblBhcnNl
VHlwZSBwYXJzZVR5cGUpCiB7CiAgICAgQXV0b1BvcFNjb3BlUmVmIGZ1bmN0aW9uU2NvcGUodGhp
cywgcHVzaFNjb3BlKCkpOwogICAgIGZ1bmN0aW9uU2NvcGUtPnNldElzRnVuY3Rpb24oKTsKICAg
ICBpbnQgZnVuY3Rpb25OYW1lU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7
CiAgICAgY29uc3QgSWRlbnRpZmllciogbGFzdEZ1bmN0aW9uTmFtZSA9IG1fbGFzdEZ1bmN0aW9u
TmFtZTsKICAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBudWxscHRyOworICAgIGludCBwYXJhbWV0
ZXJzU3RhcnQ7CisgICAgYm9vbCBpc0NsYXNzQ29uc3RydWN0b3I7CiAgICAgCi0gICAgaW50IHBh
cmFtZXRlcnNTdGFydCA9IHBhcnNlRnVuY3Rpb25QYXJhbXRlcnMoY29udGV4dCwgcmVxdWlyZW1l
bnRzLCBtb2RlLCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgZnVuY3Rpb25TY29wZSwgaW5mbyk7
Ci0KLSAgICBtYXRjaE9yRmFpbChPUEVOQlJBQ0UsICJFeHBlY3RlZCBhbiBvcGVuaW5nICd7JyBh
dCB0aGUgc3RhcnQgb2YgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIp
OwotCi0gICAgLy8gQnl0ZWNvZGVHZW5lcmF0b3IgZW1pdHMgY29kZSB0byB0aHJvdyBUeXBlRXJy
b3Igd2hlbiBhIGNsYXNzIGNvbnN0cnVjdG9yIGlzICJjYWxsImVkLgotICAgIC8vIFNldCBDb25z
dHJ1Y3RvcktpbmQgdG8gTm9uZSBmb3Igbm9uLWNvbnN0cnVjdG9yIG1ldGhvZHMgb2YgY2xhc3Nl
cy4KLSAgICBib29sIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IG1vZGUgPT0gTWV0aG9kTW9kZSAmJiBp
bmZvLm5hbWUgJiYgKmluZm8ubmFtZSA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3Rv
cjsKLSAgICBpZiAobV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kICE9IENvbnN0cnVjdG9yS2luZDo6
Tm9uZSkgewotICAgICAgICBvd25lckNsYXNzS2luZCA9IG1fZGVmYXVsdENvbnN0cnVjdG9yS2lu
ZDsKLSAgICAgICAgaXNDbGFzc0NvbnN0cnVjdG9yID0gdHJ1ZTsKKyAgICBzd2l0Y2ggKHBhcnNl
VHlwZSkgeworICAgIGNhc2UgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZTogeworICAgICAgICBw
YXJhbWV0ZXJzU3RhcnQgPSBwYXJzZUZ1bmN0aW9uUGFyYW10ZXJzKGNvbnRleHQsIHJlcXVpcmVt
ZW50cywgbW9kZSwgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIGZ1bmN0aW9uU2NvcGUsIGluZm8p
OworICAgICAgICAgICAgCisgICAgICAgIG1hdGNoT3JGYWlsKE9QRU5CUkFDRSwgIkV4cGVjdGVk
IGFuIG9wZW5pbmcgJ3snIGF0IHRoZSBzdGFydCBvZiBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9k
ZShtb2RlKSwgIiBib2R5Iik7CisgICAgICAgIAorICAgICAgICAvLyBCeXRlY29kZUdlbmVyYXRv
ciBlbWl0cyBjb2RlIHRvIHRocm93IFR5cGVFcnJvciB3aGVuIGEgY2xhc3MgY29uc3RydWN0b3Ig
aXMgImNhbGwiZWQuCisgICAgICAgIC8vIFNldCBDb25zdHJ1Y3RvcktpbmQgdG8gTm9uZSBmb3Ig
bm9uLWNvbnN0cnVjdG9yIG1ldGhvZHMgb2YgY2xhc3Nlcy4KKyAgICAgICAgaXNDbGFzc0NvbnN0
cnVjdG9yID0gbW9kZSA9PSBNZXRob2RNb2RlICYmIGluZm8ubmFtZSAmJiAqaW5mby5uYW1lID09
IG1fdm0tPnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yOworICAgICAgICBpZiAobV9kZWZhdWx0
Q29uc3RydWN0b3JLaW5kICE9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSkgeworICAgICAgICAgICAg
b3duZXJDbGFzc0tpbmQgPSBtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQ7CisgICAgICAgICAgICBp
c0NsYXNzQ29uc3RydWN0b3IgPSB0cnVlOworICAgICAgICB9CisgICAgICAgIGJyZWFrOwogICAg
IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2UgQXJyb3dG
dW5jdGlvblBhcnNlVHlwZTogeworICAgICAgICBwYXJhbWV0ZXJzU3RhcnQgPSBwYXJzZUFycm93
RnVuY3Rpb25QYXJhbXRlcnMoY29udGV4dCwgbW9kZSwgaW5mbyk7CisgICAgICAgIAorICAgICAg
ICBtYXRjaE9yRmFpbChBUlJPV0ZVTkNUSU9OLCAiRXhwZWN0ZWQgYSAnPT4nIGFmdGVyIGFycm93
IGZ1bmN0aW9uIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAgICAgICBpc0NsYXNzQ29uc3Ry
dWN0b3IgPSBmYWxzZTsKKyAgICAgICAgCisgICAgICAgIGluZm8uYXJyb3dGdW5jdGlvbk9mZnNl
dCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKKyAgICAgICAgYnJlYWs7CisgICAgfQorI2VuZGlm
CisgICAgfQorCiAgICAgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCA9IGlzQ2xhc3ND
b25zdHJ1Y3RvciA/IG93bmVyQ2xhc3NLaW5kIDogQ29uc3RydWN0b3JLaW5kOjpOb25lOwogCiAg
ICAgaW5mby5vcGVuQnJhY2VPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CkBAIC0xNDA1
LDggKzE1MTgsMTUgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgZmFpbElmRmFs
c2UocG9wU2NvcGUoZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxl
SW5mbyksICJQYXJzZXIgZXJyb3IiKTsKICAgICAgICAgCiAgICAgICAgIGluZm8uY2xvc2VCcmFj
ZU9mZnNldCA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VPZmZzZXQ7Ci0KLSAgICAgICAgbV90b2tl
biA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VUb2tlbigpOworICAgICAgICAKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAocGFyc2VUeXBlID09IEFycm93
RnVuY3Rpb25QYXJzZVR5cGUpCisgICAgICAgICAgICBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPSBj
YWNoZWRJbmZvLT5pc0JvZHlBcnJvd0V4cHJlc3Npb24gPyAgQXJyb3dGdW5jdGlvbkJvZHlFeHBy
ZXNzaW9uIDogQXJyb3dGdW5jdGlvbkJvZHlCbG9jazsKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgaW5mby5mdW5jdGlvbkJvZHlUeXBlID0gU3RhbmRhcmRGdW5jdGlvbkJvZHlCbG9jazsKKyNl
bmRpZgorICAgICAgICBtX3Rva2VuID0gY2FjaGVkSW5mby0+ZW5kRnVuY3Rpb25Ub2tlbigpOwor
ICAgICAgICAKICAgICAgICAgaWYgKGVuZENvbHVtbklzT25TdGFydExpbmUpCiAgICAgICAgICAg
ICBtX3Rva2VuLm1fbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVTdGFydE9m
ZnNldDsKIApAQCAtMTQxNSwxMyArMTUzNSw0MyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAog
CiAgICAgICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KGluZm8uYm9keSwgbV9sZXhlci0+Y3VycmVu
dE9mZnNldCgpKTsKICAgICAgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICAgICAgaWYgKHBhcnNlVHlwZSAhPSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlIHx8IGlu
Zm8uZnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrKQorICAgICAgICAg
ICAgbmV4dCgpOworI2Vsc2UKICAgICAgICAgbmV4dCgpOworI2VuZGlmCiAgICAgICAgIGluZm8u
Ym9keUVuZExpbmUgPSBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmU7CiAgICAgICAgIHJldHVy
biB0cnVlOwogICAgIH0KKyAgICAKICAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBsYXN0RnVuY3Rp
b25OYW1lOwogICAgIFBhcnNlclN0YXRlIG9sZFN0YXRlID0gc2F2ZVN0YXRlKCk7Ci0gICAgaW5m
by5ib2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQs
IGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCk7Cisg
ICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFyc2VU
eXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVQ
b2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgICAgICBuZXh0KCk7CisgICAgICAgIC8vIENo
ZWNrIGlmIGFycm93IGJvZHkgc3RhcnQgd2l0aCB7LiBJZiBpdCB0cnVlIGl0IG1lYW4gdGhhdCBh
cnJvdyBmdW5jdGlvbiBpcyBGYXQgYXJyb3cgZnVuY3Rpb24KKyAgICAgICAgLy8gYW5kIHdlIG5l
ZWQgdXNlIGNvbW1vbiBhcHByb2FjaCB0byBwYXJzZSBmdW5jdGlvbiBib2R5CisgICAgICAgIGlu
Zm8uZnVuY3Rpb25Cb2R5VHlwZSA9IG1hdGNoKE9QRU5CUkFDRSkgPyBBcnJvd0Z1bmN0aW9uQm9k
eUJsb2NrIDogQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOworICAgIAorICAgICAgICBpZiAo
aW5mby5mdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHsKKyAgICAg
ICAgICAgIGluZm8ub3BlbkJyYWNlT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAg
ICAgICAgICAgaW5mby5ib2R5U3RhcnRMaW5lID0gdG9rZW5MaW5lKCk7CisgICAgICAgICAgICBp
bmZvLmJvZHlTdGFydENvbHVtbiA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldCAtIG1fdG9rZW4ubV9k
YXRhLmxpbmVTdGFydE9mZnNldDsKKyAgICAgICAgCisgICAgICAgICAgICBpbmZvLmJvZHkgPSBw
YXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25O
YW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kLCBTdGFuZGFyZEZ1bmN0
aW9uUGFyc2VUeXBlKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHJlc3RvcmVTYXZl
UG9pbnQoc2F2ZVBvaW50KTsKKyAgICAgICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25C
b2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFy
YW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQsIEFycm93RnVuY3Rpb25QYXJzZVR5cGUpOwor
ICAgICAgICB9CisgICAgfSBlbHNlCisgICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25C
b2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFy
YW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUp
OworI2Vsc2UKKyAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5j
dGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29u
c3RydWN0b3JLaW5kLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNlbmRpZgorICAgIAog
ICAgIHJlc3RvcmVTdGF0ZShvbGRTdGF0ZSk7CiAgICAgZmFpbElmRmFsc2UoaW5mby5ib2R5LCAi
Q2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1v
ZGUpKTsKICAgICBjb250ZXh0LnNldEVuZE9mZnNldChpbmZvLmJvZHksIG1fbGV4ZXItPmN1cnJl
bnRPZmZzZXQoKSk7CkBAIC0xNDUyLDE4ICsxNjAyLDMyIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1
aWxkCiAgICAgICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmUgPSBjbG9zZUJyYWNlTGluZTsK
ICAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJyYWNlT2Zmc2V0ID0gaW5mby5jbG9zZUJyYWNlT2Zm
c2V0OwogICAgICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQgPSBjbG9z
ZUJyYWNlTGluZVN0YXJ0T2Zmc2V0OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCisgICAgICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgewor
ICAgICAgICAgICAgcGFyYW1ldGVycy5pc0JvZHlBcnJvd0V4cHJlc3Npb24gPSBpbmZvLmZ1bmN0
aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOworICAgICAgICAgICAg
cGFyYW1ldGVycy50b2tlblR5cGUgPSBtX3Rva2VuLm1fdHlwZTsKKyAgICAgICAgfQorI2VuZGlm
CiAgICAgICAgIGZ1bmN0aW9uU2NvcGUtPmZpbGxQYXJhbWV0ZXJzRm9yU291cmNlUHJvdmlkZXJD
YWNoZShwYXJhbWV0ZXJzKTsKICAgICAgICAgbmV3SW5mbyA9IFNvdXJjZVByb3ZpZGVyQ2FjaGVJ
dGVtOjpjcmVhdGUocGFyYW1ldGVycyk7Ci0KICAgICB9CiAgICAgCiAgICAgZmFpbElmRmFsc2Uo
cG9wU2NvcGUoZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5m
byksICJQYXJzZXIgZXJyb3IiKTsKKyAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgIGlmICgocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUgJiYg
aW5mby5mdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHx8IHBhcnNl
VHlwZSAhPSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIG1hdGNoT3JGYWlsKENM
T1NFQlJBQ0UsICJFeHBlY3RlZCBhIGNsb3NpbmcgJ30nIGFmdGVyIGEgIiwgc3RyaW5nRm9yRnVu
Y3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgbmV4dCgpOworICAgIH0gZWxzZQor
ICAgICAgICBmYWlsSWZGYWxzZShpc0VuZE9mQXJyb3dGdW5jdGlvbigpLCAiRXhwZWN0ZWQgdGhl
IGNsb3NpbmcgJzsnICcsJyAnXScgJyknICd9JyBhZnRlciBhcnJvdyBmdW5jdGlvbiIpOworI2Vs
c2UKICAgICBtYXRjaE9yRmFpbChDTE9TRUJSQUNFLCAiRXhwZWN0ZWQgYSBjbG9zaW5nICd9JyBh
ZnRlciBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7CisgICAgbmV4
dCgpOworI2VuZGlmCiAgICAgCiAgICAgaWYgKG5ld0luZm8pCiAgICAgICAgIG1fZnVuY3Rpb25D
YWNoZS0+YWRkKGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBXVEY6Om1vdmUobmV3SW5mbykpOwogICAg
IAotICAgIG5leHQoKTsKICAgICBpbmZvLmJvZHlFbmRMaW5lID0gbV9sYXN0VG9rZW5FbmRQb3Np
dGlvbi5saW5lOwogICAgIHJldHVybiB0cnVlOwogfQpAQCAtMTQ3Niw3ICsxNjQwLDcgQEAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZUZ1bmN0aW9uRGVjbGEKICAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9
IHRva2VuU3RhcnQoKTsKICAgICBuZXh0KCk7CiAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVC
dWlsZGVyPiBpbmZvOwotICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0
LCBGdW5jdGlvbk5lZWRzTmFtZSwgRnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6
Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvKSksICJDYW5ub3QgcGFyc2UgdGhpcyBm
dW5jdGlvbiIpOworICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBG
dW5jdGlvbk5lZWRzTmFtZSwgRnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5v
bmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBl
KSksICJDYW5ub3QgcGFyc2UgdGhpcyBmdW5jdGlvbiIpOwogICAgIGZhaWxJZkZhbHNlKGluZm8u
bmFtZSwgIkZ1bmN0aW9uIHN0YXRlbWVudHMgbXVzdCBoYXZlIGEgbmFtZSIpOwogICAgIGZhaWxJ
ZkZhbHNlSWZTdHJpY3QoZGVjbGFyZVZhcmlhYmxlKGluZm8ubmFtZSksICJDYW5ub3QgZGVjbGFy
ZSBhIGZ1bmN0aW9uIG5hbWVkICciLCBpbmZvLm5hbWUtPmltcGwoKSwgIicgaW4gc3RyaWN0IG1v
ZGUiKTsKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jRGVjbFN0YXRlbWVudChsb2NhdGlv
biwgaW5mbyk7CkBAIC0xNTczLDcgKzE3MzcsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVDbGFzc0V4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3MoVAog
ICAgICAgICAgICAgZmFpbElmRmFsc2UocHJvcGVydHksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRo
b2QiKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxU
cmVlQnVpbGRlcj4gbWV0aG9kSW5mbzsKLSAgICAgICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1
bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5lZWRzTmFtZSwgaXNTdGF0aWNNZXRob2QgPyBG
dW5jdGlvbk1vZGUgOiBNZXRob2RNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBtZXRob2RT
dGFydCwgbWV0aG9kSW5mbykpLCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9kIik7CisgICAgICAg
ICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OZWVk
c05hbWUsIGlzU3RhdGljTWV0aG9kID8gRnVuY3Rpb25Nb2RlIDogTWV0aG9kTW9kZSwgZmFsc2Us
IGNvbnN0cnVjdG9yS2luZCwgbWV0aG9kU3RhcnQsIG1ldGhvZEluZm8sIFN0YW5kYXJkRnVuY3Rp
b25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSB0aGlzIG1ldGhvZCIpOwogICAgICAgICAgICAg
ZmFpbElmRmFsc2UobWV0aG9kSW5mby5uYW1lLCAibWV0aG9kIG11c3QgaGF2ZSBhIG5hbWUiKTsK
ICAgICAgICAgICAgIGZhaWxJZkZhbHNlKGRlY2xhcmVWYXJpYWJsZShtZXRob2RJbmZvLm5hbWUp
LCAiQ2Fubm90IGRlY2xhcmUgYSBtZXRob2QgbmFtZWQgJyIsIG1ldGhvZEluZm8ubmFtZS0+aW1w
bCgpLCAiJyIpOwogCkBAIC0xNzg5LDYgKzE5NTMsMTggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlmU3RhdGVtZW50
KFQKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVJZlN0YXRlbWVudChpZkxvY2F0aW9uLCBjb25k
aXRpb24sIHRydWVCbG9jaywgc3RhdGVtZW50U3RhY2subGFzdCgpLCBzdGFydCwgZW5kKTsKIH0K
IAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5h
bWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lv
biBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVp
bGRlciYgY29udGV4dCkKK3sKKyAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7CisgICAgVHJlZUV4
cHJlc3Npb24gbm9kZSA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24oY29udGV4dCk7CisgICAg
ZmFpbElmRmFsc2Uobm9kZSwgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9uIik7CisgICAgY29udGV4
dC5zZXRFbmRPZmZzZXQobm9kZSwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5vZmZzZXQpOworICAg
IHJldHVybiBub2RlOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+
CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZUV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7CkBAIC0xODM2
LDYgKzIwMTIsNDEgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVz
c2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KICAgICAgICAgfQogICAgICAg
ICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CiAgICAgfQorCisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2lu
dCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgIGJvb2wgYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCA9
IGZhbHNlOworICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgIG5leHQoKTsKKyAg
ICAgICAgaWYgKG1hdGNoKENMT1NFUEFSRU4pKSB7CisgICAgICAgICAgICBuZXh0KCk7CisKKyAg
ICAgICAgICAgIGlmIChtYXRjaChBUlJPV0ZVTkNUSU9OKSkKKyAgICAgICAgICAgICAgICBhcnJv
d0Z1bmN0aW9uRW1wdHlMaXN0ID0gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICghYXJy
b3dGdW5jdGlvbkVtcHR5TGlzdCkKKyAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFy
cm93RnVuY3Rpb25Qb2ludCk7CisgICAgfQorCisgICAgVHJlZUV4cHJlc3Npb24gbGhzOworICAg
IGlmICghYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCkgeworICAgICAgICBsaHMgPSBwYXJzZUNvbmRp
dGlvbmFsRXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICAgICAgZmFpbElmRmFsc2UobGhzLCAiQ2Fu
GW5vdCBwYXJzZSBleHByZXNzaW9uIik7CisgICAgICAgIGlmIChpbml0aWFsTm9uTEhTQ291bnQg
IT0gbV9ub25MSFNDb3VudCkgeworICAgICAgICAgICAgaWYgKG1fdG9rZW4ubV90eXBlID49IEVR
VUFMICYmIG1fdG9rZW4ubV90eXBlIDw9IE9SRVFVQUwpCisgICAgICAgICAgICAgICAgc2VtYW50
aWNGYWlsKCJMZWZ0IGhhbmQgc2lkZSBvZiBvcGVyYXRvciAnIiwgZ2V0VG9rZW4oKSwgIicgbXVz
dCBiZSBhIHJlZmVyZW5jZSIpOworCisgICAgICAgICAgICByZXR1cm4gbGhzOworICAgICAgICB9
CisgICAgfQorCisgICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJT04pKSB7CisgICAgICAgIHJlc3Rv
cmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAgICAgIGxocyA9IHBhcnNl
QXJyb3dGdW5jdGlvbldyYXBwZXIoY29udGV4dCk7CisgICAgICAgIHJldHVybiBsaHM7CisgICAg
fQorI2Vsc2UKICAgICBUcmVlRXhwcmVzc2lvbiBsaHMgPSBwYXJzZUNvbmRpdGlvbmFsRXhwcmVz
c2lvbihjb250ZXh0KTsKICAgICBmYWlsSWZGYWxzZShsaHMsICJDYW5ub3QgcGFyc2UgZXhwcmVz
c2lvbiIpOwogICAgIGlmIChpbml0aWFsTm9uTEhTQ291bnQgIT0gbV9ub25MSFNDb3VudCkgewpA
QCAtMTg0NCw3ICsyMDU1LDggQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBUcmVl
RXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KIAogICAgICAgICBy
ZXR1cm4gbGhzOwogICAgIH0KLSAgICAKKyNlbmRpZgorCiAgICAgaW50IGFzc2lnbm1lbnRTdGFj
ayA9IDA7CiAgICAgT3BlcmF0b3Igb3A7CiAgICAgYm9vbCBoYWRBc3NpZ25tZW50ID0gZmFsc2U7
CkBAIC0yMDc2LDcgKzIyODgsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVF
eHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5TWV0aAogICAgIEpTVG9r
ZW5Mb2NhdGlvbiBtZXRob2RMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwogICAgIHVuc2lnbmVk
IG1ldGhvZFN0YXJ0ID0gdG9rZW5TdGFydCgpOwogICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVl
QnVpbGRlcj4gbWV0aG9kSW5mbzsKLSAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8o
Y29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgTWV0aG9kTW9kZSwgZmFsc2UsIENvbnN0
cnVjdG9yS2luZDo6Tm9uZSwgbWV0aG9kU3RhcnQsIG1ldGhvZEluZm8pKSwgIkNhbm5vdCBwYXJz
ZSB0aGlzIG1ldGhvZCIpOworICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250
ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBNZXRob2RNb2RlLCBmYWxzZSwgQ29uc3RydWN0
b3JLaW5kOjpOb25lLCBtZXRob2RTdGFydCwgbWV0aG9kSW5mbywgU3RhbmRhcmRGdW5jdGlvblBh
cnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9kIik7CiAgICAgbWV0aG9kSW5mby5u
YW1lID0gbWV0aG9kTmFtZTsKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkV4cHIo
bWV0aG9kTG9jYXRpb24sIG1ldGhvZEluZm8pOwogfQpAQCAtMjEwMiwxMCArMjMxNCwxMCBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VHZXR0ZXJTZXR0ZXIoVAogICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRl
cj4gaW5mbzsKICAgICBpZiAodHlwZSA9PSBQcm9wZXJ0eU5vZGU6OkdldHRlcikgewogICAgICAg
ICBmYWlsSWZGYWxzZShtYXRjaChPUEVOUEFSRU4pLCAiRXhwZWN0ZWQgYSBwYXJhbWV0ZXIgbGlz
dCBmb3IgZ2V0dGVyIGRlZmluaXRpb24iKTsKLSAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVu
Y3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEdldHRlck1vZGUsIGZh
bHNlLCBjb25zdHJ1Y3RvcktpbmQsIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIGluZm8pKSwg
IkNhbm5vdCBwYXJzZSBnZXR0ZXIgZGVmaW5pdGlvbiIpOworICAgICAgICBmYWlsSWZGYWxzZSgo
cGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgR2V0dGVy
TW9kZSwgZmFsc2UsIGNvbnN0cnVjdG9yS2luZCwgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwg
aW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIGdldHRlciBk
ZWZpbml0aW9uIik7CiAgICAgfSBlbHNlIHsKICAgICAgICAgZmFpbElmRmFsc2UobWF0Y2goT1BF
TlBBUkVOKSwgIkV4cGVjdGVkIGEgcGFyYW1ldGVyIGxpc3QgZm9yIHNldHRlciBkZWZpbml0aW9u
Iik7Ci0gICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5j
dGlvbk5vUmVxdWlyZW1lbnRzLCBTZXR0ZXJNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBn
ZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBpbmZvKSksICJDYW5ub3QgcGFyc2Ugc2V0dGVyIGRl
ZmluaXRpb24iKTsKKyAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRl
eHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIFNldHRlck1vZGUsIGZhbHNlLCBjb25zdHJ1Y3Rv
cktpbmQsIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIGluZm8sIFN0YW5kYXJkRnVuY3Rpb25Q
YXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSBzZXR0ZXIgZGVmaW5pdGlvbiIpOwogICAgIH0KICAg
ICBpZiAoc3RyaW5nUHJvcGVydHlOYW1lKQogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVH
ZXR0ZXJPclNldHRlclByb3BlcnR5KGxvY2F0aW9uLCB0eXBlLCBzdHJpY3QsIHN0cmluZ1Byb3Bl
cnR5TmFtZSwgaW5mbywgc3VwZXJCaW5kaW5nKTsKQEAgLTIzNTQsNyArMjU2Niw3IEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAgICAgIG5leHQoKTsKICAgICAgICAgUGFyc2VyRnVuY3Rp
b25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOwogICAgICAgICBpbmZvLm5hbWUgPSAmbV92bS0+cHJv
cGVydHlOYW1lcy0+bnVsbElkZW50aWZpZXI7Ci0gICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1
bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlvbk1vZGUs
IGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZv
KSksICJDYW5ub3QgcGFyc2UgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgICAgICBmYWlsSWZG
YWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywg
RnVuY3Rpb25Nb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBmdW5jdGlvbktleXdv
cmRTdGFydCwgaW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNl
IGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVu
Y3Rpb25FeHByKGxvY2F0aW9uLCBpbmZvKTsKICAgICB9CiAjaWYgRU5BQkxFKEVTNl9DTEFTU19T
WU5UQVgpCkBAIC0yMzgzLDYgKzI1OTUsMjMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUKICAg
ICAgICAgcmV0dXJuIGNvbnRleHQudGhpc0V4cHIobG9jYXRpb24sIG1fdGhpc1REWk1vZGUpOwog
ICAgIH0KICAgICBjYXNlIElERU5UOiB7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVT
YXZlUG9pbnQoKTsKKyAgICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9z
aXRpb24oKTsKKyAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0
YS5pZGVudDsKKyAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24o
KSk7CisgICAgICAgIG5leHQoKTsKKworICAgICAgICBpZiAoIW1hdGNoKEFSUk9XRlVOQ1RJT04p
KSB7CisgICAgICAgICAgICBjdXJyZW50U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRlbnQsIG1fdm0t
PnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmlkZW50KTsKKyAgICAgICAgICAgIG1fbGFzdElkZW50
aWZpZXIgPSBpZGVudDsKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJlc29sdmUo
bG9jYXRpb24sIGlkZW50LCBzdGFydCk7CisgICAgICAgIH0KKworICAgICAgICByZXN0b3JlU2F2
ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICBUcmVlRXhwcmVzc2lvbiBs
aHMgPSBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKGNvbnRleHQpOworICAgICAgICByZXR1cm4g
bGhzOworI2Vsc2UKICAgICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9z
aXRpb24oKTsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0
YS5pZGVudDsKICAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24o
KSk7CkBAIC0yMzkwLDYgKzI2MTksNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHByZQogICAgICAg
ICBjdXJyZW50U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRlbnQsIG1fdm0tPnByb3BlcnR5TmFtZXMt
PmV2YWwgPT0gKmlkZW50KTsKICAgICAgICAgbV9sYXN0SWRlbnRpZmllciA9IGlkZW50OwogICAg
ICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVSZXNvbHZlKGxvY2F0aW9uLCBpZGVudCwgc3RhcnQp
OworI2VuZGlmCiAgICAgfQogICAgIGNhc2UgU1RSSU5HOiB7CiAgICAgICAgIGNvbnN0IElkZW50
aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CkBAIC0yNTgxLDYgKzI4MTEsMzIg
QEAgZW5kTWVtYmVyRXhwcmVzc2lvbjoKICAgICByZXR1cm4gYmFzZTsKIH0KIAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBl
PgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihUcmVlQnVpbGRlciYgY29udGV4dCkK
K3sKKyAgICBUcmVlRXhwcmVzc2lvbiBiYXNlID0gMDsKKyAgICBKU1RleHRQb3NpdGlvbiBleHBy
ZXNzaW9uU3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICBpbnQgbmV3Q291bnQgPSAw
OworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbjsKKworICAgIGlmIChtYXRjaChJREVOVCkg
fHwgbWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRT
dGFydCA9IHRva2VuU3RhcnQoKTsKKyAgICAgICAgbG9jYXRpb24gPSB0b2tlbkxvY2F0aW9uKCk7
CisgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gaW5mbzsKKyAgICAgICAg
aW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyOworICAgICAg
ICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVp
cmVtZW50cywgRnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0
aW9uS2V5d29yZFN0YXJ0LCBpbmZvLCBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3Qg
cGFyc2UgYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgICAgICBiYXNlID0gY29udGV4
dC5jcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihsb2NhdGlvbiwgaW5mbyk7CisgICAgfSBlbHNlCisg
ICAgICAgIGJhc2UgPSBwYXJzZVByaW1hcnlFeHByZXNzaW9uKGNvbnRleHQpOworCisgICAgZmFp
bElmRmFsc2UoYmFzZSwgIkNhbm5vdCBwYXJzZSBiYXNlIGV4cHJlc3Npb24iKTsKKyAgICB3aGls
ZSAobmV3Q291bnQtLSkKKyAgICAgICAgYmFzZSA9IGNvbnRleHQuY3JlYXRlTmV3RXhwcihsb2Nh
dGlvbiwgYmFzZSwgZXhwcmVzc2lvblN0YXJ0LCBsYXN0VG9rZW5FbmRQb3NpdGlvbigpKTsKKyAg
ICByZXR1cm4gYmFzZTsKK30KKyNlbmRpZgorCiBzdGF0aWMgY29uc3QgY2hhciogb3BlcmF0b3JT
dHJpbmcoYm9vbCBwcmVmaXgsIHVuc2lnbmVkIHRvaykKIHsKICAgICBzd2l0Y2ggKHRvaykgewpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKaW5kZXggODc5ZTFlMjgxNjcxOTc3Mzg5
OWY1MjU3NWVmYTM1YzAyZTdkMTNmZS4uNzdhZTM5Njc3YWFhY2ZlN2EyNDYwMjRhZTFiYTExOWVk
MmE0N2FjNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC04MCw2ICs4
MCwxMSBAQCBjbGFzcyBTb3VyY2VDb2RlOwogQ09NUElMRV9BU1NFUlQoTGFzdFVudGFnZ2VkVG9r
ZW4gPCA2NCwgTGVzc1RoYW42NFVudGFnZ2VkVG9rZW5zKTsKIAogZW51bSBTb3VyY2VFbGVtZW50
c01vZGUgeyBDaGVja0ZvclN0cmljdE1vZGUsIERvbnRDaGVja0ZvclN0cmljdE1vZGUgfTsKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorZW51bSBGdW5jdGlvblBhcnNlVHlw
ZSB7IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUsIEFycm93RnVuY3Rpb25QYXJzZVR5cGUgfTsK
KyNlbHNlCitlbnVtIEZ1bmN0aW9uUGFyc2VUeXBlIHsgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlw
ZX07CisjZW5kaWYKIGVudW0gRnVuY3Rpb25SZXF1aXJlbWVudHMgeyBGdW5jdGlvbk5vUmVxdWly
ZW1lbnRzLCBGdW5jdGlvbk5lZWRzTmFtZSB9OwogZW51bSBGdW5jdGlvblBhcnNlTW9kZSB7CiAg
ICAgRnVuY3Rpb25Nb2RlLApAQCAtNjE4LDYgKzYyMywxMyBAQCBwcml2YXRlOgogICAgICAgICBy
ZXR1cm4gbV90b2tlbi5tX3R5cGUgPT0gSURFTlQgJiYgKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09
IG1fdm0tPnByb3BlcnR5TmFtZXMtPm9mOwogICAgIH0KICAgICAKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEFMV0FZU19JTkxJTkUgYm9vbCBpc0VuZE9mQXJyb3dG
dW5jdGlvbigpCisgICAgeworICAgICAgICByZXR1cm4gbWF0Y2goU0VNSUNPTE9OKSB8fCBtYXRj
aChDT01NQSkgfHwgbWF0Y2goQ0xPU0VQQVJFTikgfHwgbWF0Y2goQ0xPU0VCUkFDRSkgfHwgbWF0
Y2goQ0xPU0VCUkFDS0VUKTsKKyAgICB9CisjZW5kaWYKKyAgICAKICAgICBBTFdBWVNfSU5MSU5F
IHVuc2lnbmVkIHRva2VuU3RhcnQoKQogICAgIHsKICAgICAgICAgcmV0dXJuIG1fdG9rZW4ubV9s
b2NhdGlvbi5zdGFydE9mZnNldDsKQEAgLTcyMSw5ICs3MzMsOSBAQCBwcml2YXRlOgogICAgICAg
ICB9CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIAotICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNlU291cmNlRWxlbWVudHMo
VHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUpOwotICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYsIGNv
bnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVu
Z3RoID0gMCk7CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VF
bGVtZW50cyBwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxlbWVudHNN
b2RlLCBGdW5jdGlvblBhcnNlVHlwZSk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlU3RhdGVtZW50IHBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiwgY29uc3QgSWRlbnRp
ZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwLCBG
dW5jdGlvblBhcnNlVHlwZSB0eXBlID0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CiAjaWYg
RU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlU3RhdGVtZW50IHBhcnNlQ2xhc3NEZWNsYXJhdGlvbihUcmVlQnVpbGRlciYpOwogI2Vu
ZGlmCkBAIC03NjIsMjcgKzc3NCwzNiBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IHBhcnNlUHJvcGVydHkoVHJlZUJ1aWxkZXImLCBib29s
IHN0cmljdCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lv
biBwYXJzZVByb3BlcnR5TWV0aG9kKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlm
aWVyKiBtZXRob2ROYW1lKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQ
cm9wZXJ0eSBwYXJzZUdldHRlclNldHRlcihUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0LCBQcm9w
ZXJ0eU5vZGU6OlR5cGUsIHVuc2lnbmVkIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIENvbnN0
cnVjdG9yS2luZCA9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJCaW5kaW5nID0gU3VwZXJC
aW5kaW5nOjpOb3ROZWVkZWQpOwotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxX
QVlTX0lOTElORSBUcmVlRnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVy
JiwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIGludCBw
YXJhbWV0ZXJzU3RhcnQsIENvbnN0cnVjdG9yS2luZCk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VGdW5jdGlvbkJv
ZHkoVHJlZUJ1aWxkZXImLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5h
bWVTdGFydCwgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kLCBGdW5jdGlvblBh
cnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0IHBhcnNlRm9ybWFsUGFy
YW1ldGVycyhUcmVlQnVpbGRlciYpOwogICAgIGVudW0gVmFyRGVjbGFyYXRpb25MaXN0Q29udGV4
dCB7IEZvckxvb3BDb250ZXh0LCBWYXJEZWNsYXJhdGlvbkNvbnRleHQgfTsKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlVmFyRGVjbGFyYXRpb25M
aXN0KFRyZWVCdWlsZGVyJiwgaW50JiBkZWNsYXJhdGlvbnMsIFRyZWVEZWNvbnN0cnVjdGlvblBh
dHRlcm4mIGxhc3RQYXR0ZXJuLCBUcmVlRXhwcmVzc2lvbiYgbGFzdEluaXRpYWxpemVyLCBKU1Rl
eHRQb3NpdGlvbiYgaWRlbnRTdGFydCwgSlNUZXh0UG9zaXRpb24mIGluaXRTdGFydCwgSlNUZXh0
UG9zaXRpb24mIGluaXRFbmQsIFZhckRlY2xhcmF0aW9uTGlzdENvbnRleHQpOwogICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVDb25zdERlY2xMaXN0IHBh
cnNlQ29uc3REZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImKTsKIAorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlRXhwcmVzc2lvbiBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7
CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQXJy
b3dGdW5jdGlvblN0YXRlbWVudChUcmVlQnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihUcmVl
QnVpbGRlciYpOworI2VuZGlmCisKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5F
VkVSX0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIGNyZWF0ZUJpbmRpbmdQYXR0ZXJu
KFRyZWVCdWlsZGVyJiwgRGVjb25zdHJ1Y3Rpb25LaW5kLCBjb25zdCBJZGVudGlmaWVyJiwgaW50
IGRlcHRoLCBKU1Rva2VuKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVS
X0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIHBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0
ZXJuKFRyZWVCdWlsZGVyJiwgRGVjb25zdHJ1Y3Rpb25LaW5kLCBpbnQgZGVwdGggPSAwKTsKICAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1
Y3Rpb25QYXR0ZXJuIHRyeVBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuRXhwcmVzc2lvbihUcmVl
QnVpbGRlciYpOwotCi0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJ
TkUgYm9vbCBwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1l
bnRzLCBGdW5jdGlvblBhcnNlTW9kZSwgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29u
c3RydWN0b3JLaW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5m
bzxUcmVlQnVpbGRlcj4mKTsKLSAgICAKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IE5FVkVSX0lOTElORSBpbnQgcGFyc2VGdW5jdGlvblBhcmFtdGVycyhUcmVlQnVpbGRlciYsIEZ1
bmN0aW9uUmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSwgYm9vbCwgQXV0b1BvcFNjb3Bl
UmVmJiwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYpOwotI2lmIEVOQUJMRShFUzZf
Q0xBU1NfU1lOVEFYKQotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5M
SU5FIFRyZWVDbGFzc0V4cHJlc3Npb24gcGFyc2VDbGFzcyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9u
UmVxdWlyZW1lbnRzLCBQYXJzZXJDbGFzc0luZm88VHJlZUJ1aWxkZXI+Jik7CisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IE5FVkVSX0lOTElORSBpbnQgcGFyc2VBcnJvd0Z1bmN0aW9uUGFyYW10ZXJzKFRyZWVCdWls
ZGVyJiwgRnVuY3Rpb25QYXJzZU1vZGUsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4m
KTsKICNlbmRpZgorCiAjaWYgRU5BQkxFKEVTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkKICAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSB0eXBlbmFtZSBUcmVl
QnVpbGRlcjo6VGVtcGxhdGVTdHJpbmcgcGFyc2VUZW1wbGF0ZVN0cmluZyhUcmVlQnVpbGRlciYg
Y29udGV4dCwgYm9vbCBpc1RlbXBsYXRlSGVhZCwgYm9vbCYgZWxlbWVudElzVGFpbCk7CiAgICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgdHlwZW5hbWUgVHJlZUJ1
aWxkZXI6OlRlbXBsYXRlTGl0ZXJhbCBwYXJzZVRlbXBsYXRlTGl0ZXJhbChUcmVlQnVpbGRlciYp
OwogI2VuZGlmCiAKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElO
RSBib29sIHBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVu
dHMsIEZ1bmN0aW9uUGFyc2VNb2RlLCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBDb25z
dHJ1Y3RvcktpbmQsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rpb25JbmZv
PFRyZWVCdWlsZGVyPiYsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNp
ZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IE5FVkVSX0lOTElORSBUcmVlQ2xhc3NFeHByZXNzaW9uIHBhcnNlQ2xhc3MoVHJlZUJ1aWxk
ZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgUGFyc2VyQ2xhc3NJbmZvPFRyZWVCdWlsZGVyPiYp
OworI2VuZGlmCisKICAgICBBTFdBWVNfSU5MSU5FIGludCBpc0JpbmFyeU9wZXJhdG9yKEpTVG9r
ZW5UeXBlKTsKICAgICBib29sIGFsbG93QXV0b21hdGljU2VtaWNvbG9uKCk7CiAgICAgCkBAIC03
OTUsNiArODE2LDE0IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBhbGxvd0F1dG9tYXRpY1Nl
bWljb2xvbigpOwogICAgIH0KICAgICAKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgdm9pZCBzZXRFbmRPZlN0YXRlbWVudCgpCisgICAgeworICAgICAgICBtX2xl
eGVyLT5zZXRUb2tlblBvc2l0aW9uKCZtX3Rva2VuKTsKKyAgICB9CisjZW5kaWYKKwogICAgIGJv
b2wgY2FuUmVjdXJzZSgpCiAgICAgewogICAgICAgICByZXR1cm4gbV92bS0+aXNTYWZlVG9SZWN1
cnNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1
bmN0aW9uSW5mby5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlv
bkluZm8uaAppbmRleCA2YjczNjI4MmUyZDJhODFiYzYzZGMyZjNjMGU1YWU4Yzg1OGNkMWY4Li4w
Y2RlMGM2N2E5ZGUwZWRmMzQxNDRlMzI3OTFlNWU5MGI0YTIxNTE0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKQEAgLTI4LDYgKzI4
LDEwIEBACiAKIG5hbWVzcGFjZSBKU0MgewogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKK2VudW0gRnVuY3Rpb25Cb2R5VHlwZSB7IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVz
c2lvbiwgQXJyb3dGdW5jdGlvbkJvZHlCbG9jaywgU3RhbmRhcmRGdW5jdGlvbkJvZHlCbG9jayB9
OworI2VuZGlmCisKIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4KIHN0cnVjdCBQYXJzZXJG
dW5jdGlvbkluZm8gewogICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUgPSAwOwpAQCAtMzgsNiAr
NDIsMTEgQEAgc3RydWN0IFBhcnNlckZ1bmN0aW9uSW5mbyB7CiAgICAgaW50IGJvZHlTdGFydExp
bmUgPSAwOwogICAgIGludCBib2R5RW5kTGluZSA9IDA7CiAgICAgdW5zaWduZWQgYm9keVN0YXJ0
Q29sdW1uID0gMDsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHVu
c2lnbmVkIGFycm93RnVuY3Rpb25PZmZzZXQgPSAwOworICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9u
ID0gZmFsc2U7CisgICAgRnVuY3Rpb25Cb2R5VHlwZSBmdW5jdGlvbkJvZHlUeXBlID0gU3RhbmRh
cmRGdW5jdGlvbkJvZHlCbG9jazsKKyNlbmRpZgogfTsKIAogI2lmIEVOQUJMRShFUzZfQ0xBU1Nf
U1lOVEFYKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJU
b2tlbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKaW5k
ZXggMDI2ZTRmODBmNDM3ZDhiZmU0YTYxOWMzMGQxMWRjOWZjNjFlMjY0NS4uZTkxNTRjYWYwNTNj
NTM4MWI1ZjA5ODE2ZGJhMDU1OGE1NDM0YmYzNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1BhcnNlclRva2Vucy5oCkBAIC03NSw2ICs3NSw5IEBAIGVudW0gSlNUb2tlblR5cGUg
ewogICAgIEZJTkFMTFksCiAgICAgREVCVUdHRVIsCiAgICAgRUxTRSwKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEFSUk9XRlVOQ1RJT04sCisjZW5kaWYKICNpZiBF
TkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICBDTEFTU1RPS0VOLAogICAgIEVYVEVORFMsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCmluZGV4IDczZDIzZGI4MmFm
MjVlYTQ2YzBmODk3ODVjZTQyNGJiNjBlYjYxYTcuLjUwZDUyNjM5Nzk0M2UzODFkMzgwZWM0M2Q4
MmQ1YjYzZjdmMDhkYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
U291cmNlQ29kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29k
ZS5oCkBAIC0xMDUsNiArMTA1LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIAogICAgICAg
ICBTb3VyY2VDb2RlIHN1YkV4cHJlc3Npb24odW5zaWduZWQgb3BlbkJyYWNlLCB1bnNpZ25lZCBj
bG9zZUJyYWNlLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOwogCisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgU291cmNlQ29kZSBzdWJBcnJvd0V4
cHJlc3Npb24odW5zaWduZWQgc3RhcnRBcnJvd0Z1bmN0aW9uLCB1bnNpZ25lZCBlbmRBcnJvd0Z1
bmN0aW9uLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOworI2VuZGlmCiAgICAgcHJp
dmF0ZToKICAgICAgICAgUmVmUHRyPFNvdXJjZVByb3ZpZGVyPiBtX3Byb3ZpZGVyOwogICAgICAg
ICBpbnQgbV9zdGFydENoYXI7CkBAIC0xMTgsNiArMTIxLDE3IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICByZXR1cm4gU291cmNlQ29kZShTdHJpbmdTb3VyY2VQcm92aWRlcjo6Y3JlYXRlKHNv
dXJjZSwgdXJsLCBzdGFydFBvc2l0aW9uKSwgc3RhcnRQb3NpdGlvbi5tX2xpbmUub25lQmFzZWRJ
bnQoKSwgc3RhcnRQb3NpdGlvbi5tX2NvbHVtbi5vbmVCYXNlZEludCgpKTsKICAgICB9CiAKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlubGluZSBTb3VyY2VDb2Rl
IFNvdXJjZUNvZGU6OnN1YkFycm93RXhwcmVzc2lvbih1bnNpZ25lZCBzdGFydEFycm93RnVuY3Rp
b24sIHVuc2lnbmVkIGVuZEFycm93RnVuY3Rpb24sIGludCBmaXJzdExpbmUsIGludCBzdGFydENv
bHVtbikKKyAgICB7CisgICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFy
cm93RnVuY3Rpb25dID09ICc9JyAmJiBwcm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFycm93RnVu
Y3Rpb24gKyAxXSA9PSAnPicpOworICAgICAgICAvLyBGaXhtZTogVXNlIGJldHRlciBhcHByb2Fj
aCB0byBjaGVjayBzeW1ib2wKKyAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW2Vu
ZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnLCcgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJy
b3dGdW5jdGlvbiAtIDFdID09ICc7JyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1
bmN0aW9uIC0gMV0gPT0gJyknIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rp
b24gLSAxXSA9PSAnXScgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAt
IDFdID09ICd9Jyk7CisgICAgICAgIHN0YXJ0Q29sdW1uICs9IDE7IC8vIENvbnZlcnQgdG8gYmFz
ZSAxLgorICAgICAgICByZXR1cm4gU291cmNlQ29kZShwcm92aWRlcigpLCBzdGFydEFycm93RnVu
Y3Rpb24sIGVuZEFycm93RnVuY3Rpb24sIGZpcnN0TGluZSwgc3RhcnRDb2x1bW4pOworICAgIH0K
KyNlbmRpZgorCiAgICAgaW5saW5lIFNvdXJjZUNvZGUgU291cmNlQ29kZTo6c3ViRXhwcmVzc2lv
bih1bnNpZ25lZCBvcGVuQnJhY2UsIHVuc2lnbmVkIGNsb3NlQnJhY2UsIGludCBmaXJzdExpbmUs
IGludCBzdGFydENvbHVtbikKICAgICB7CiAgICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3Vy
Y2UoKVtvcGVuQnJhY2VdID09ICd7Jyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKaW5kZXggNjM1Mzc5ZTNmNDQ1NjY4
YzUyYjg3MmY3NjE2ZGNiNTkyMWE4Mjk0NC4uZjQyOGRiNTBhOGRhN2E3YWI0NjgyNGFiMzgwODNk
YjA1MmQ3Mzc3NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3Vy
Y2VQcm92aWRlckNhY2hlSXRlbS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaApAQCAtNDAsNiArNDAsMTAgQEAgc3RydWN0IFNvdXJj
ZVByb3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBib29sIG5lZWRzRnVs
bEFjdGl2YXRpb247CiAgICAgYm9vbCB1c2VzRXZhbDsKICAgICBib29sIHN0cmljdE1vZGU7Cisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBib29sIGlzQm9keUFycm93
RXhwcmVzc2lvbjsKKyAgICBKU1Rva2VuVHlwZSB0b2tlblR5cGU7CisjZW5kaWYKICAgICBWZWN0
b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiB1c2VkVmFyaWFibGVzOwogICAgIFZlY3RvcjxSZWZQdHI8
U3RyaW5nSW1wbD4+IHdyaXR0ZW5WYXJpYWJsZXM7CiB9OwpAQCAtNTUsMTAgKzU5LDE0IEBAIHB1
YmxpYzoKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVt
PiBjcmVhdGUoY29uc3QgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMm
KTsKICAgICB+U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0oKTsKIAotICAgIEpTVG9rZW4gY2xvc2VC
cmFjZVRva2VuKCkgY29uc3QgCisgICAgSlNUb2tlbiBlbmRGdW5jdGlvblRva2VuKCkgY29uc3Qg
CiAgICAgewogICAgICAgICBKU1Rva2VuIHRva2VuOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgICAgIHRva2VuLm1fdHlwZSA9IGlzQm9keUFycm93RXhwcmVzc2lv
biA/IHRva2VuVHlwZSA6IENMT1NFQlJBQ0U7CisjZWxzZQogICAgICAgICB0b2tlbi5tX3R5cGUg
PSBDTE9TRUJSQUNFOworI2VuZGlmCiAgICAgICAgIHRva2VuLm1fZGF0YS5vZmZzZXQgPSBjbG9z
ZUJyYWNlT2Zmc2V0OwogICAgICAgICB0b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0ID0gY2xv
c2VCcmFjZU9mZnNldDsKICAgICAgICAgdG9rZW4ubV9sb2NhdGlvbi5lbmRPZmZzZXQgPSBjbG9z
ZUJyYWNlT2Zmc2V0ICsgMTsKQEAgLTgyLDYgKzkwLDExIEBAIHB1YmxpYzoKICAgICB1bnNpZ25l
ZCB1c2VkVmFyaWFibGVzQ291bnQ7CiAgICAgdW5zaWduZWQgd3JpdHRlblZhcmlhYmxlc0NvdW50
OwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBib29sIGlzQm9k
eUFycm93RXhwcmVzc2lvbjsKKyAgICBKU1Rva2VuVHlwZSB0b2tlblR5cGU7CisjZW5kaWYKKwog
ICAgIFN0cmluZ0ltcGwqKiB1c2VkVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2Fz
dDxTdHJpbmdJbXBsKio+KG1fdmFyaWFibGVzKTsgfQogICAgIFN0cmluZ0ltcGwqKiB3cml0dGVu
VmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxTdHJpbmdJbXBsKio+KCZtX3Zh
cmlhYmxlc1t1c2VkVmFyaWFibGVzQ291bnRdKTsgfQogCkBAIC0xMTUsNiArMTI4LDEwIEBAIGlu
bGluZSBTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0oY29u
c3QgU291cmNlUHJvdmlkZXJDYWNoCiAgICAgLCBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0KHBh
cmFtZXRlcnMuY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldCkKICAgICAsIHVzZWRWYXJpYWJsZXND
b3VudChwYXJhbWV0ZXJzLnVzZWRWYXJpYWJsZXMuc2l6ZSgpKQogICAgICwgd3JpdHRlblZhcmlh
Ymxlc0NvdW50KHBhcmFtZXRlcnMud3JpdHRlblZhcmlhYmxlcy5zaXplKCkpCisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAsIGlzQm9keUFycm93RXhwcmVzc2lvbihw
YXJhbWV0ZXJzLmlzQm9keUFycm93RXhwcmVzc2lvbikKKyAgICAsIHRva2VuVHlwZShwYXJhbWV0
ZXJzLnRva2VuVHlwZSkKKyNlbmRpZgogewogICAgIHVuc2lnbmVkIGogPSAwOwogICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IGkgPCB1c2VkVmFyaWFibGVzQ291bnQ7ICsraSwgKytqKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCmluZGV4IDU1NGU1ZGY2
NGE3MjFmNDQ2MmQwZDg5YWIwMjNhZmRkNzUzYzU1YmUuLmY2MzVlZDFiYjM3ZTg4NTM2NDU0NzRj
MDgyM2Y0YjYxMzgwYTRkMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvU3ludGF4Q2hlY2tlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3lu
dGF4Q2hlY2tlci5oCkBAIC0xNzcsNiArMTc3LDEwIEBAIHB1YmxpYzoKICNlbmRpZgogICAgIEV4
cHJlc3Npb25UeXBlIGNyZWF0ZUZ1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBj
b25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5jdGlv
bkV4cHI7IH0KICAgICBpbnQgY3JlYXRlRnVuY3Rpb25Cb2R5KGNvbnN0IEpTVG9rZW5Mb2NhdGlv
biYsIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGludCwgaW50LCBib29sLCBpbnQsIGludCwgaW50
LCBDb25zdHJ1Y3RvcktpbmQpIHsgcmV0dXJuIEZ1bmN0aW9uQm9keVJlc3VsdDsgfQorI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRl
QXJyb3dGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFyc2VyRnVu
Y3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JikgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9CisjZW5k
aWYgCisgICAgdm9pZCBzZXRGdW5jdGlvbk5hbWVTdGFydChpbnQsIGludCkgeyB9CiAgICAgaW50
IGNyZWF0ZUFyZ3VtZW50cygpIHsgcmV0dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQogICAgIGludCBj
cmVhdGVBcmd1bWVudHMoaW50KSB7IHJldHVybiBBcmd1bWVudHNSZXN1bHQ7IH0KICAgICBFeHBy
ZXNzaW9uVHlwZSBjcmVhdGVTcHJlYWRFeHByZXNzaW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYs
IEV4cHJlc3Npb25UeXBlLCBpbnQsIGludCwgaW50KSB7IHJldHVybiBTcHJlYWRFeHByOyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24u
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hMDI3MTk2MDM5N2FiN2Q5OTUyNDhiMTJmMjk1YWI3ZTNhZTZkMzM0Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0
aW9uLmNwcApAQCAtMCwwICsxLDExOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorCisjaW5jbHVk
ZSAiRXJyb3IuaCIKKyNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCisjaW5jbHVkZSAiSlND
SW5saW5lcy5oIgorI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKKyNpbmNsdWRlICJKU0Z1bmN0aW9u
LmgiCisjaW5jbHVkZSAiSlNGdW5jdGlvbklubGluZXMuaCIKKyNpbmNsdWRlICJKU09iamVjdC5o
IgorI2luY2x1ZGUgIlByb3BlcnR5U2xvdC5oIgorI2luY2x1ZGUgIlZNLmgiCisKK25hbWVzcGFj
ZSBKU0MgeworICAgIAorY29uc3QgQ2xhc3NJbmZvIEpTQXJyb3dGdW5jdGlvbjo6c19pbmZvID0g
eyAiQXJyb3dGdW5jdGlvbiIsICZCYXNlOjpzX2luZm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUo
SlNBcnJvd0Z1bmN0aW9uKSB9OworCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycm93
RnVuY3Rpb25DYWxsKEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBKU0Fycm93RnVuY3Rpb24qIGFy
cm93RnVuY3Rpb24gPSBqc0Nhc3Q8SlNBcnJvd0Z1bmN0aW9uKj4oZXhlYy0+Y2FsbGVlKCkpOwor
ICAgICAgICAKKyAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmdzOworICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBleGVjLT5hcmd1bWVudENvdW50KCk7ICsraSkKKyAgICAgICAgYXJncy5h
cHBlbmQoZXhlYy0+dW5jaGVja2VkQXJndW1lbnQoaSkpOworICAgIAorICAgIEpTT2JqZWN0KiBm
dW5jdGlvbiA9IGFycm93RnVuY3Rpb24tPmFycm93RnVuY3Rpb24oKTsKKyAgICBDYWxsRGF0YSBj
YWxsRGF0YTsKKyAgICBDYWxsVHlwZSBjYWxsVHlwZSA9IGdldENhbGxEYXRhKGZ1bmN0aW9uLCBj
YWxsRGF0YSk7CisgICAgQVNTRVJUKGNhbGxUeXBlICE9IENhbGxUeXBlTm9uZSk7CisgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShjYWxsKGV4ZWMsIGZ1bmN0aW9uLCBjYWxsVHlwZSwgY2FsbERh
dGEsIGFycm93RnVuY3Rpb24tPmJvdW5kVGhpcygpLCBhcmdzKSk7Cit9CisgICAgCit2b2lkIEpT
QXJyb3dGdW5jdGlvbjo6ZGVzdHJveShKU0NlbGwqIGNlbGwpCit7CisgICAgc3RhdGljX2Nhc3Q8
SlNBcnJvd0Z1bmN0aW9uKj4oY2VsbCktPkpTQXJyb3dGdW5jdGlvbjo6fkpTQXJyb3dGdW5jdGlv
bigpOworfQorICAgIAorSlNBcnJvd0Z1bmN0aW9uOjpKU0Fycm93RnVuY3Rpb24oVk0mIHZtLCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNPYmpl
Y3QqIGFycm93RnVuY3Rpb24sIEpTVmFsdWUgYm91bmRUaGlzKQorICAgIDogQmFzZSh2bSwgZ2xv
YmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCisgICAgLCBtX2JvdW5kVGhpcyh2bSwgdGhpcywgYm91bmRU
aGlzKQorICAgICwgbV9hcnJvd0Z1bmN0aW9uKHZtLCB0aGlzLCBhcnJvd0Z1bmN0aW9uKQorewor
fQorCitKU0Fycm93RnVuY3Rpb24qIEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlV2l0aEludmFsaWRh
dGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludChWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIEpTT2JqZWN0KiBhcnJvd0Z1bmN0aW9uLCBKU1ZhbHVlIGJvdW5kVGhpcykKK3sKKyAg
ICBBU1NFUlQoanNDYXN0PEpTRnVuY3Rpb24qPihhcnJvd0Z1bmN0aW9uKS0+anNFeGVjdXRhYmxl
KCktPnNpbmdsZXRvbkZ1bmN0aW9uKCktPmhhc0JlZW5JbnZhbGlkYXRlZCgpKTsKKyAgICByZXR1
cm4gY3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIGFycm93RnVuY3Rpb24sIGJvdW5kVGhpcyk7Cit9
CisKK0pTQXJyb3dGdW5jdGlvbiogSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUoVk0mIHZtLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogYXJyb3dGdW5jdGlvbiwgSlNWYWx1
ZSBib3VuZFRoaXMpCit7CisgICAgTmF0aXZlRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9IHZtLmdl
dEhvc3RGdW5jdGlvbihhcnJvd0Z1bmN0aW9uQ2FsbCwgY2FsbEhvc3RGdW5jdGlvbkFzQ29uc3Ry
dWN0b3IpOworICAgIEpTQXJyb3dGdW5jdGlvbiogZnVuY3Rpb24gPSBuZXcgKE5vdE51bGwsIGFs
bG9jYXRlQ2VsbDxKU0Fycm93RnVuY3Rpb24+KHZtLmhlYXApKSBKU0Fycm93RnVuY3Rpb24odm0s
IGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCksIGFy
cm93RnVuY3Rpb24sIGJvdW5kVGhpcyk7CisgICAgZnVuY3Rpb24tPmZpbmlzaENyZWF0aW9uKHZt
LCBleGVjdXRhYmxlLCAwLCAiIik7CisKKyAgICByZXR1cm4gZnVuY3Rpb247Cit9CisgICAgCit2
b2lkIEpTQXJyb3dGdW5jdGlvbjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBOYXRpdmVFeGVjdXRh
YmxlKiBleGVjdXRhYmxlLCBpbnQgbGVuZ3RoLCBjb25zdCBTdHJpbmcmIG5hbWUpCit7CisgICAg
QmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIGV4ZWN1dGFibGUsIGxlbmd0aCwgbmFtZSk7CisgICAg
QVNTRVJUKGluaGVyaXRzKGluZm8oKSkpOworICAgIAorICAgIC8vIFByb3RvdHlwZSBvZiBhcnJv
dyBmdW5jdGlvbiBpcyB1bmRlZmluZWQKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFt
ZXMtPnByb3RvdHlwZSwganNVbmRlZmluZWQoKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgRG9u
dEVudW0pOworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+dGhpc0lkZW50aWZp
ZXIsIGJvdW5kVGhpcygpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51bSk7Cit9CisK
KyAgICAKK3ZvaWQgSlNBcnJvd0Z1bmN0aW9uOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwg
U2xvdFZpc2l0b3ImIHZpc2l0b3IpCit7CisgICAgSlNBcnJvd0Z1bmN0aW9uKiB0aGlzT2JqZWN0
ID0ganNDYXN0PEpTQXJyb3dGdW5jdGlvbio+KGNlbGwpOworICAgIEFTU0VSVF9HQ19PQkpFQ1Rf
SU5IRVJJVFModGhpc09iamVjdCwgaW5mbygpKTsKKyAgICBCYXNlOjp2aXNpdENoaWxkcmVuKHRo
aXNPYmplY3QsIHZpc2l0b3IpOworCisgICAgLy8gRml4bWU6IG1fYXJyb3dGdW5jdGlvbiBhbHJl
YWR5IHJlbW92ZWQgYnkgR0MsIGJlY2F1c2UgaXQgY3JlYXRlZCBpbiBiZWZvcmUgcnVuIEpTQXJy
b3dGdW5jdGlvbjo6Y3JlYXRlIG1ldGhvZAorICAgIC8vIEl0IGlzIHBvc3NpYmxlIGNhc2Ugd2hl
biBtX2Fycm93RnVuY3Rpb24gaXMgcmVtb3ZlZCBidXQgd3JhcHBlciBvYmplY3QgaXMgc3RpbGwg
ZXhpc3RzCisgICAgLy8gIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2Fycm93RnVuY3Rp
b24pOworICAgIAorICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2JvdW5kVGhpcyk7
Cit9CisgICAgCitDb25zdHJ1Y3RUeXBlIEpTQXJyb3dGdW5jdGlvbjo6Z2V0Q29uc3RydWN0RGF0
YShKU0NlbGwqIGNlbGwsIENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCit7CisgICAgSlNG
dW5jdGlvbiogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY2VsbCk7CisgICAgICAg
IAorICAgIGNvbnN0cnVjdERhdGEuanMuZnVuY3Rpb25FeGVjdXRhYmxlID0gdGhpc09iamVjdC0+
anNFeGVjdXRhYmxlKCk7CisgICAgY29uc3RydWN0RGF0YS5qcy5zY29wZSA9IHRoaXNPYmplY3Qt
PnNjb3BlKCk7CisgICAgcmV0dXJuIENvbnN0cnVjdFR5cGVOb25lOworfQorfSAvLyBuYW1lc3Bh
Y2UgSlNDCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQXJyb3dGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJv
d0Z1bmN0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTk3YmMxYTVmYmRmNmY4YjdhYzc2ZGZlZjAwOWU5ZWVl
Zjc5ZjhmMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQXJyb3dGdW5jdGlvbi5oCkBAIC0wLDAgKzEsODggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEpTQXJyb3dGdW5jdGlvbl9oCisjZGVm
aW5lIEpTQXJyb3dGdW5jdGlvbl9oCisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorCisjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0
LmgiCisKK25hbWVzcGFjZSBKU0MgeworCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFy
cm93RnVuY3Rpb25DYWxsKEV4ZWNTdGF0ZSopOworICAgIAorY2xhc3MgSlNBcnJvd0Z1bmN0aW9u
IDogcHVibGljIEpTRnVuY3Rpb24geworcHVibGljOgorICAgIHR5cGVkZWYgSlNGdW5jdGlvbiBC
YXNlOworCisgICAgc3RhdGljIEpTQXJyb3dGdW5jdGlvbiogY3JlYXRlKFZNJiwgSlNHbG9iYWxP
YmplY3QqLCBKU09iamVjdCosIEpTVmFsdWUpOworICAgIHN0YXRpYyBKU0Fycm93RnVuY3Rpb24q
IGNyZWF0ZVdpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQoVk0mLCBKU0dsb2Jh
bE9iamVjdCosIEpTT2JqZWN0KiwgSlNWYWx1ZSk7CisKKyAgICBzdGF0aWMgdm9pZCBkZXN0cm95
KEpTQ2VsbCopOworICAgIAorICAgIHN0YXRpYyBzaXplX3QgYWxsb2NhdGlvblNpemUoc2l6ZV90
IGlubGluZUNhcGFjaXR5KQorICAgIHsKKyAgICAgICAgQVNTRVJUX1VOVVNFRChpbmxpbmVDYXBh
Y2l0eSwgIWlubGluZUNhcGFjaXR5KTsKKyAgICAgICAgcmV0dXJuIHNpemVvZihKU0Fycm93RnVu
Y3Rpb24pOworICAgIH0KKyAgICAKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1
cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlw
ZSkKKyAgICB7CisgICAgICAgIEFTU0VSVChnbG9iYWxPYmplY3QpOworICAgICAgICByZXR1cm4g
U3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhK
U0Z1bmN0aW9uVHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOworICAgIH0KKyAgICAgICAg
CisgICAgc3RhdGljIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25z
dHJ1Y3REYXRhJik7CisKKyAgICBKU09iamVjdCogYXJyb3dGdW5jdGlvbigpIHsgcmV0dXJuIG1f
YXJyb3dGdW5jdGlvbi5nZXQoKTsgfQorICAgIEpTVmFsdWUgYm91bmRUaGlzKCkgeyByZXR1cm4g
bV9ib3VuZFRoaXMuZ2V0KCk7IH0KKyAgICAKKyAgICBERUNMQVJFX0lORk87CisgICAgCisgICAg
c3RhdGljIGlubGluZSBwdHJkaWZmX3Qgb2Zmc2V0T2ZUaGlzVmFsdWUoKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIE9CSkVDVF9PRkZTRVRPRihKU0Fycm93RnVuY3Rpb24sIG1fYm91bmRUaGlzKTsK
KyAgICB9CisgICAgCisgICAgY29uc3Qgc3RhdGljIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0g
T3ZlcnJpZGVzSGFzSW5zdGFuY2UgfCBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsKKworcHJvdGVjdGVk
OgorICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsK
KyAgICAgICAgCitwcml2YXRlOgorICAgIEpTQXJyb3dGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2Jq
ZWN0KiwgU3RydWN0dXJlKiwgSlNPYmplY3QqLCBKU1ZhbHVlKTsKKworICAgIHZvaWQgZmluaXNo
Q3JlYXRpb24oVk0mLCBOYXRpdmVFeGVjdXRhYmxlKiwgaW50LCBjb25zdCBTdHJpbmcmKTsKKyAg
ICAKKyAgICBXcml0ZUJhcnJpZXI8VW5rbm93bj4gbV9ib3VuZFRoaXM7CisgICAgV3JpdGVCYXJy
aWVyPEpTT2JqZWN0PiBtX2Fycm93RnVuY3Rpb247Cit9OworICAgIAorfSAvLyBuYW1lc3BhY2Ug
SlNDCisjZW5kaWYgLy8gRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYCisKKyNlbmRpZiAvLyBKU0Fy
cm93RnVuY3Rpb25faApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5o
CmluZGV4IDg2ZGZmMTJmOGZhNDdhMzFhMzNhNjg5NDA4N2NlNWMxMTVjZTUyYjYuLjhmMWQ2MTZh
ZTBiZDcxNGY0M2NiOGY4OGFhZDViNzRmMmVjYjc3ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKQEAgLTEzNyw2ICsxMzcsOSBAQCBwdWJsaWM6CiBwcm90
ZWN0ZWQ6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2Jq
ZWN0KiwgU3RydWN0dXJlKik7CiAgICAgSlNGdW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJs
ZSosIEpTU2NvcGUqKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
IEpTRnVuY3Rpb24oVk0mLCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBKU1Njb3BlKiwgU3RydWN0dXJl
Kik7CisjZW5kaWYKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBOYXRpdmVFeGVjdXRh
YmxlKiwgaW50IGxlbmd0aCwgY29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICB1c2luZyBCYXNlOjpm
aW5pc2hDcmVhdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTRnVuY3Rpb25JbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1
bmN0aW9uSW5saW5lcy5oCmluZGV4IGY2YzZkNThlYzZlNWMxMTY0Y2IyN2ZhNWU0MTYxOGI0Yjgx
NDJmMDIuLjM4NTA2Y2MxOTlhMDA4ZmY4Zjk2YWRmNjg5YmUzNjA5ODc1ZGVhNWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaApAQCAt
NDUsNiArNDUsMTUgQEAgaW5saW5lIEpTRnVuY3Rpb246OkpTRnVuY3Rpb24oVk0mIHZtLCBGdW5j
dGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpTU2NvcGUqIHMKIHsKIH0KIAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitpbmxpbmUgSlNGdW5jdGlvbjo6SlNGdW5jdGlv
bihWTSYgdm0sIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgSlNTY29wZSogc2NvcGUs
IFN0cnVjdHVyZSogc3RydWN0dXJlKQorICAgIDogQmFzZSh2bSwgc2NvcGUsIHN0cnVjdHVyZSkK
KyAgICAsIG1fZXhlY3V0YWJsZSh2bSwgdGhpcywgZXhlY3V0YWJsZSkKKyAgICAsIG1fcmFyZURh
dGEoKQoreworfQorI2VuZGlmCisgICAgCiBpbmxpbmUgRnVuY3Rpb25FeGVjdXRhYmxlKiBKU0Z1
bmN0aW9uOjpqc0V4ZWN1dGFibGUoKSBjb25zdAogewogICAgIEFTU0VSVCghaXNIb3N0RnVuY3Rp
b25Ob25JbmxpbmUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ds
b2JhbE9iamVjdC5jcHAKaW5kZXggNTA3ZDhiYzA0YmM5NDJhY2IxMzE5MTFhYzNkMzBhMDk4YWYw
ZDNjOS4uMzY1YWIxMWEwM2IyNjk3MDBlOGQ0YzAwNzkwNTliZjQxZTViOTczMyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtNTgs
NiArNTgsNyBAQAogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5oIgogI2luY2x1
ZGUgIkpTQXJyYXlCdWZmZXJQcm90b3R5cGUuaCIKICNpbmNsdWRlICJKU0FycmF5SXRlcmF0b3Iu
aCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0JvdW5kRnVuY3Rp
b24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDYWxsYmFja0NvbnN0
cnVjdG9yLmgiCkBAIC0yMzQsNiArMjM1LDkgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChW
TSYgdm0pCiAgICAgZXhlYy0+c2V0Q2FsbGVlKG1fZ2xvYmFsQ2FsbGVlLmdldCgpKTsKIAogICAg
IG1fZnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0Z1bmN0aW9uOjpjcmVhdGVTdHJ1
Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZS5z
ZXQodm0sIHRoaXMsIEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBt
X2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7CisjZW5kaWYKICAgICBtX2JvdW5kRnVuY3Rpb25T
dHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0JvdW5kRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2
bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOwogICAgIG1fbmFtZWRGdW5jdGlv
blN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9u
KHZtLCBtX2Z1bmN0aW9uU3RydWN0dXJlLmdldCgpLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBE
b250RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51bSwgbV9mdW5jdGlvbk5hbWVPZmZzZXQpKTsK
ICAgICBtX2ludGVybmFsRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBJbnRlcm5hbEZ1
bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0
KCkpKTsKQEAgLTc2Myw2ICs3NjcsOSBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojp2aXNpdENoaWxk
cmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCiAgICAgdmlzaXRvci5hcHBl
bmQoJnRoaXNPYmplY3QtPm1fY2FsbGVlU3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgm
dGhpc09iamVjdC0+bV9mdW5jdGlvblN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRo
aXNPYmplY3QtPm1fYm91bmRGdW5jdGlvblN0cnVjdHVyZSk7CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9hcnJv
d0Z1bmN0aW9uU3RydWN0dXJlKTsKKyNlbmRpZgogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2Jq
ZWN0LT5tX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlz
T2JqZWN0LT5tX3N5bWJvbE9iamVjdFN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRo
aXNPYmplY3QtPm1fcmVnRXhwU3RydWN0dXJlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5oCmluZGV4IDU4OWZhMzk2ZmUxOWM4N2RjZWMyNWM4MTAz
MmI0ZWY4YTJiMDAwY2MuLmRkMWFiMDMyYmQxNGIyOGRlYjE2MGY0YmRhMzg4NGZkZDY5NDg2NDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaApA
QCAtMjI5LDYgKzIyOSw5IEBAIHByb3RlY3RlZDoKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJl
PiBtX2NhbGxlZVN0cnVjdHVyZTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2Z1bmN0
aW9uU3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYm91bmRGdW5jdGlv
blN0cnVjdHVyZTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFdy
aXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZTsKKyNlbmRpZgog
ICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZTsKICAg
ICBQcm9wZXJ0eU9mZnNldCBtX2Z1bmN0aW9uTmFtZU9mZnNldDsKICAgICBXcml0ZUJhcnJpZXI8
U3RydWN0dXJlPiBtX3ByaXZhdGVOYW1lU3RydWN0dXJlOwpAQCAtNDY3LDYgKzQ3MCw5IEBAIHB1
YmxpYzoKICAgICBTdHJ1Y3R1cmUqIGNhbGxlZVN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1f
Y2FsbGVlU3RydWN0dXJlLmdldCgpOyB9CiAgICAgU3RydWN0dXJlKiBmdW5jdGlvblN0cnVjdHVy
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBTdHJ1
Y3R1cmUqIGJvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2JvdW5kRnVu
Y3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgIFN0cnVjdHVyZSogYXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0
dXJuIG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQorI2VuZGlmCiAgICAgU3RydWN0
dXJlKiBuYW1lZEZ1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lZEZ1bmN0
aW9uU3RydWN0dXJlLmdldCgpOyB9CiAgICAgUHJvcGVydHlPZmZzZXQgZnVuY3Rpb25OYW1lT2Zm
c2V0KCkgY29uc3QgeyByZXR1cm4gbV9mdW5jdGlvbk5hbWVPZmZzZXQ7IH0KICAgICBTdHJ1Y3R1
cmUqIG51bWJlck9iamVjdFN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fbnVtYmVyT2JqZWN0
U3RydWN0dXJlLmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci0xLmpzIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzcGFyYW10ZXItMS5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42MzYxYjhkYjAyMjgyNzk2ZDFiYjA0ZjVkYmQ0MDE5YjcyODlmMmNjCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LWFzcGFyYW10ZXItMS5qcwpAQCAtMCwwICsxLDggQEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEg
dGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdl
KSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIu
IEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsK
KyAgfQorfTsKKwordGVzdENhc2UoIiIgKyBbMSwgMiwgMywgNF0ubWFwKHggPT4geCwgMzIpLCAi
MSwyLDMsNCIsICJFcnJvcjogYXJyb3cgZnVuY3Rpb24gYXMgdGhlIHBhcmFtdGVycy4iKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1hc3BhcmFtdGVyLTIuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tYXNwYXJhbXRlci0yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNmMjkzMmZjMTQ0ZDM2Yzcw
ZjA2MWY4ZTY4ODg4M2U0NGFmY2ZkMTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci0yLmpzCkBAIC0w
LDAgKzEsMTUgQEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9
IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09
IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0
ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGYgPSBm
dW5jdGlvbiAoY2wsIHBhcmFtdGVyKSB7IHJldHVybiBjbChwYXJhbXRlcik7IH07Cit2YXIgZjIg
PSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVyMSwgcGFyYW10ZXIyKSB7IHJldHVybiBjbChwYXJhbXRl
cjEsIHBhcmFtdGVyMik7IH07CisKK3Jlc3VsdCA9IGYoeD0+e3JldHVybiB4ICogMjU7fSwgMTIx
KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjUqMTIxICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiBmKHggPT4ge3JldHVy
biB4ICogMjU7fSwgMTIxKSIpOworCityZXN1bHQgPSBmMigoeCwgeSk9PntyZXR1cm4geCAqIHk7
fSwgMTQsIDEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTQqMTIgLCJFcnJvcjogTm90IGNvcnJlY3Qg
ZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6IGYoKHgs
IHkpPT57cmV0dXJuIHggKiB5O30sIDE0LCAxMjEpKSIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHktMS5q
cyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3Nv
Y2lhdGl2aXR5LTEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmQxZDQ3YTQ4MDc1ZWM1OThjNmJlMWUwN2Q3OGEz
NTI2MzUzYTkxMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTEuanMKQEAgLTAsMCArMSwxMyBA
QAorLy8gSW5zcGlyZWQgYnkgbW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24g
KGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQp
IHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBi
dXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgYWYxLCBhZjIsIGFmMzsK
K2FmMSA9IGFmMiA9IGFmMyA9PiBhZjEgPSBhZjIgPSBhZjM7Cit0ZXN0Q2FzZShhZjEsIGFmMiwg
IkVycm9yOiB3cm9uZyBhc3NvY2lhdGl2aXR5ICMxLiIpOworYWYxKDEzKTsKK3Rlc3RDYXNlKGFm
MiwgMTMsICJFcnJvcjogd3JvbmcgYXNzb2NpYXRpdml0eSAjMi4iKTsKK3Rlc3RDYXNlKGFmMSwg
MTMsICJFcnJvcjogd3JvbmcgYXNzb2NpYXRpdml0eSAjMy4iKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5
LTIuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
YXNzb2NpYXRpdml0eS0yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJlZGQ4MzljNmJjN2VkNmE0MGVmZmJiYzg3
NTRlZDFiZmQ4MDZiNDMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0yLmpzCkBAIC0wLDAgKzEs
MTQgQEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0
aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVj
dGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAi
JywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIHM9IiI7CitzICs9
IHggPT4geC5uYW1lOworCisvLyBGaXggbWUuIFBvc3NpYmxlIHdlIGhhdmUgbm90IHVzZSB0aGUg
SlNCb3VudEZ1bmN0aW9uIHdyYXBwZXIgZm9yIHRoZSBsZXhpY2FsCisvLyBiaW5kaW5nIG9mIHRo
ZSB0aGlzIGFuZCB1c2UgZGlyZWN0IGluamVjdGlvbiBvZiB0aGUgJ3RoaXMnIHZhbHVlCisvLyBp
bnRvIGFycnJvdyBmdW5jdGlvbgorLy8gdGVzdENhc2UocywgInggPT4geC5uYW1lIiAsICJFcnJv
cjogd3JvbmcgdG9TdHJpbmcgY29udmVyc2lvbi4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LmpzIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0
aXZpdHkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNjdlZDE1M2NlZWJhNTI2MjI4ZWNhODIxMzA0NjlhOTI0NGIx
NGMwNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LmpzCkBAIC0wLDAgKzEsMTAgQEAKKy8vIElu
c3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWws
IGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAg
dGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAn
IiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGFmID0gYSA9PiBiID0+IGE7CisKK3Rl
c3RDYXNlKGFmKCdBQkMnKSgnREVGJyksICdBQkMnLCAiRXJyb3I6IHdyb25nIG5lc3RlZCBhcnJv
dyBmdW5jdGlvbnMuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2stMS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ibG9jay0xLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBjNTcxYmI3
MmZjZmVmNTMwYzU5ZGI0Yjg2MGNhNGYwYTk2YTQxMTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2stMS5qcwpA
QCAtMCwwICsxLDExIEBACisvLyBJbnNwaXJlZCBieSBtb3ppbGxhIHRlc3RzCit2YXIgdGVzdENh
c2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFs
ICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4
cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBm
ID0gKCkgPT4ge307Cit0ZXN0Q2FzZSh0eXBlb2YgZigpLCAndW5kZWZpbmVkJywgIkVycm9yOiB3
cm9uZyBhcnJvdyBmdW5jdGlvbiBibG9jay4iKTsKK3ZhciBnID0gKCkgPT4gKHt9KTsKK3Rlc3RD
YXNlKHR5cGVvZiBnKCksICdvYmplY3QnLCAiRXJyb3I6IHdyb25nIGFycm93IGZ1bmN0aW9uIGJs
b2NrLiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9h
cnJvd2Z1bmN0aW9uLWJsb2NrLTIuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2stMi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40N2VlMzUyY2YwMWQxMzZl
MzAyOTIyNzM2YzVjODBlZjUzYzAzZjZlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJsb2NrLTIuanMKQEAgLTAsMCAr
MSwxMCBAQAorLy8gSW5zcGlyZWQgYnkgbW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVu
Y3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhw
ZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCAr
ICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgYWYgPSBhID0+
IHsgYSArIDE7IH07CisKK3Rlc3RDYXNlKHR5cGVvZiBhZigwKSwgJ3VuZGVmaW5lZCcsICJFcnJv
cjogd3JvbmcgYXJyb3cgZnVuY3Rpb24gYmxvY2sgIzIuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYm91bmQuanMgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYm91bmQuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYTczMjBmNGVjNzg4ZWExNDkwYWZjNzJlYzEyNTFlZTBhNmUxZjdiNgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5j
dGlvbi1ib3VuZC5qcwpAQCAtMCwwICsxLDE2IEBACit2YXIgcmVzdWx0OworCisgdmFyIHRlc3RD
YXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVh
bCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBl
eHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIg
ZCA9IHsKKyAgeCA6ICJiYXIiLAorICB5IDogZnVuY3Rpb24oKSB7IHJldHVybiB6ID0+IHRoaXMu
eCArIHo7IH0KK307CisKK3ZhciBlID0geyB4IDogImJheiIgfTsKKwordGVzdENhc2UoZC55KCku
YmluZChlLCAibGV5IikoKSwgImJhcmxleSIsICJFcnJvcjogZnVuY3Rpb24gYmluZCBzaG91bGRu
J3QgY2hhbmdlIGxleGljYWwgYmluZGluZyBvZiB0aGUgYXJyb3cgZnVuY3Rpb24iKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1j
YWxsLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LWNhbGwuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNjRmOWFhNTA0ZDcwZDcwZDY4Y2RhYTVhNDgyYTQ2NTBhNDVm
ZGY3YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi1jYWxsLmpzCkBAIC0wLDAgKzEsMTggQEAKK3ZhciByZXN1bHQ7CisK
KyB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgewor
ICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBl
Y3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0K
K307CisKK3ZhciBkID0geworICB4IDogImZvbyIsCisgIHkgOiBmdW5jdGlvbigpIHsgcmV0dXJu
ICgpID0+IHRoaXMueDsgfQorfTsKKwordmFyIGUgPSB7IHggOiAiYmFyIiB9OworCit0ZXN0Q2Fz
ZShkLnkoKS5jYWxsKGUpLCAiZm9vIiwgIkVycm9yOiBmdW5jdGlvbiBjYWxsIHNob3Vsbid0IGNo
YW5nZSB0aGUgbGV4aWNhbCBiaW5kaW5nIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0
Q2FzZShkLnkoKS5hcHBseShlKSwgImZvbyIsICJFcnJvcjogZnVuY3Rpb24gYXBwbHkgc2hvdWxu
J3QgY2hhbmdlIHRoZSBsZXhpY2FsIGJpbmRpbmcgb2YgdGhlIGFycm93IGZ1bmN0aW9uIik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tY29uc3RydWN0b3IuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjU4YjE2ZDdiNWUyOTc0NGMz
M2Y3ODZiNGJmMTZiZjQ0ZmViMWUyOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1jb25zdHJ1Y3Rvci5qcwpAQCAtMCww
ICsxLDE4IEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVz
c2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2Ug
KyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAi
JyI7CisgIH0KK307CisKK3ZhciBzaW1wbGVBcnJvd0Z1bmN0aW9uID0gKCkgPT4ge307CisKK3Zh
ciBlcnJvck9uQ3JlYXRlID0gZmFsc2U7CisKK3RyeSB7CisgIHZhciBmYyA9IG5ldyBzaW1wbGVB
cnJvd0Z1bmN0aW9uKCk7Cit9CitjYXRjaCAoZSkgeworICBlcnJvck9uQ3JlYXRlID0gdHJ1ZTsK
K30KKwordGVzdENhc2UoZXJyb3JPbkNyZWF0ZSwgdHJ1ZSwgIkVycm9yOiBObyBleGNlcHRpb24g
ZHVyaW5nIHJ1biBuZXcgQXJyb3dGdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtYXJndW1lbnRzLmpz
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGlj
YWwtYXJndW1lbnRzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFlYjY3NjNhNjUyNjk4MTY1YzBmZGIyZDhiYzIw
NzNkMmJjZDNiMWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC1hcmd1bWVudHMuanMKQEAgLTAsMCArMSwx
NCBAQAordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2Up
IHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4g
RXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOwor
ICB9Cit9OworCitmdW5jdGlvbiBhZkNyZWF0b3IoKSB7CisgICAgcmV0dXJuIGEgPT4gYXJndW1l
bnRzWzBdOworfQorCit2YXIgYWYgPSBhZkNyZWF0b3IoMTIpOworCisvL0ZpeG1lOiBsZXhpY2Fs
IGJpbmQgb2YgdGhlIGFyZ3VtZW50cyBpcyBub3QgaW1wbGVtZW50ZWQKKy8vdGVzdENhc2UoYWYo
NiksIDEyLCAiRXJyb3I6IGFyZ3VtZW50cyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUg
b2YgdGhlIGFycm93IGZ1bmN0aW9uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTEuanMgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTEu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjU1MzFmNTc1NjJmMjg2OGVlYWQzOWZjZDY2ZWU1MDc4YmFjZWQxYgot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJy
b3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMtMS5qcwpAQCAtMCwwICsxLDE3IEBACit2YXIgcmVzdWx0
OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2Up
IHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4g
RXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOwor
ICB9Cit9OworCitmdW5jdGlvbiBEb2cobmFtZSkgeworICB0aGlzLm5hbWUgPSBuYW1lOworICB0
aGlzLmdldE5hbWUgPSAoKSA9PiBldmFsKCJ0aGlzLm5hbWUiKTsKKyAgdGhpcy5nZXROYW1lSGFy
ZCA9ICgpID0+IGV2YWwoIigoKSA9PiB0aGlzLm5hbWUpKCkiKTsKK30KKwordmFyIGQgPSBuZXcg
RG9nKCJNYXgiKTsKK3Rlc3RDYXNlKGQuZ2V0TmFtZSgpLCBkLm5hbWUsICJFcnJvcjogdGhpcyBp
cyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMxIik7
Cit0ZXN0Q2FzZShkLmdldE5hbWVIYXJkKCksIGQubmFtZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBs
ZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzIiKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1s
ZXhpY2FsLXRoaXMtMi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJy
b3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMtMi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45OGI1M2IyOThiYmIwYjUz
ZTQwNzFjOTk3ZDgxMjM1MTFhZjYzOWQ5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtdGhpcy0yLmpzCkBA
IC0wLDAgKzEsMzMgQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAo
YWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkg
eworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1
dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBhZk9iakxleEJpbmQyID0g
ZnVuY3Rpb24gKCkgeworICB0aGlzLmZ1bmMgPSAoKSA9PiB0aGlzOworfTsKKwordmFyIGFmT2Jq
TGV4QmluZDJJbnN0YW5jZSA9IG5ldyBhZk9iakxleEJpbmQyKCk7CisKK3Rlc3RDYXNlKGFmT2Jq
TGV4QmluZDJJbnN0YW5jZS5mdW5jKCkgPT09IGFmT2JqTGV4QmluZDJJbnN0YW5jZSwgdHJ1ZSwg
IkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24gIzIiKTsKKwordmFyIG9iaiA9IHsKKyAgbWV0aG9kOiBmdW5jdGlvbiAoKSB7Cisg
ICAgcmV0dXJuICgpID0+IHRoaXM7CisgIH0KK307CisKK3Rlc3RDYXNlKG9iai5tZXRob2QoKSgp
ID09PSBvYmosIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNp
ZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMzIik7CisKK3ZhciBmYWtlID0ge3N0ZWFsOiBvYmou
bWV0aG9kKCl9OwordGVzdENhc2UoZmFrZS5zdGVhbCgpID09PSBvYmosIHRydWUsICJFcnJvcjog
dGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9u
ICM0Iik7CisKKwordmFyIHJlYWwgPSB7Ym9ycm93OiBvYmoubWV0aG9kfTsKK3Rlc3RDYXNlKHJl
YWwuYm9ycm93KCkoKSA9PT0gcmVhbCwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2Fs
bHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzUiKTsKK3Rlc3RDYXNlKHJl
YWwuYm9ycm93KCkoKSA9PT0gcmVhbCwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2Fs
bHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzYiKTsKK3Rlc3RDYXNlKHJl
YWwuYm9ycm93KCkoKSA9PT0gcmVhbCwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2Fs
bHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzciKTsKK3Rlc3RDYXNlKHJl
YWwuYm9ycm93KCkoKSA9PT0gcmVhbCwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2Fs
bHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzgiKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1vdGhlcnMu
anMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tb3Ro
ZXJzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmZlYmExMWYzMDIyZTM0YTgwMDBhNTcwMDc2ZGIxYTU1YTRhMzJi
MjEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L2Fycm93ZnVuY3Rpb24tb3RoZXJzLmpzCkBAIC0wLDAgKzEsMTMgQEAKK3ZhciB0ZXN0Q2FzZSA9
IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09
IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0
ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIHNpbXBs
ZUFycm93RnVuY3Rpb24gPSAoKSA9PiB7fTsKKwordGVzdENhc2UoT2JqZWN0LmdldFByb3RvdHlw
ZU9mKHNpbXBsZUFycm93RnVuY3Rpb24pLCBGdW5jdGlvbi5wcm90b3R5cGUsICJFcnJvcjogTm90
IGNvcnJlY3QgZ2V0UHJvdG90eXBlT2YgdmFsdWUgZm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rl
c3RDYXNlKHNpbXBsZUFycm93RnVuY3Rpb24gaW5zdGFuY2VvZiBGdW5jdGlvbiwgdHJ1ZSwgIkVy
cm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIGluc3RhbmNlb2YgbWV0aG9kIGZvciBhcnJvdyBm
dW5jdGlvbiIpOworCit0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uLmNvbnN0cnVjdG9yID09
IEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgY29uc3RydWN0
b3IgbWV0aG9kIG9mIGFycm93IGZ1bmN0aW9uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTEuanMgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTEuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMDdhMWYwYTQ5Y2IxNjg2M2M1OTIxMzYxZjBhZGIxZTE0ZWM5YjY1YQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5j
dGlvbi1ydW4tMTAtMS5qcwpAQCAtMCwwICsxLDI0IEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlv
biAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3Rl
ZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIics
IGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK2Z1bmN0aW9uIHJ1bihjb3Vu
dCkgeworICB2YXIgcmVzdWx0ID0gdHJ1ZTsKKyAgZm9yKHZhciBpPTA7IGk8Y291bnQ7IGkrKykg
eworICAgIHZhciBPYmogPSBmdW5jdGlvbiAobmFtZSkgeworICAgICAgdGhpcy5uYW1lID0gbmFt
ZTsKKyAgICAgIHRoaXMuZ2V0TmFtZSA9ICgpID0+IHRoaXMubmFtZTsKKyAgICB9OworCisgICAg
dmFyIG9iaiA9IG5ldyBPYmooIkl0ZW0iICsgaSk7CisgICAgaWYgKG9iai5uYW1lICE9PSBvYmou
Z2V0TmFtZSgpKSB7CisgICAgICByZXN1bHQgPSBmYWxzZTsKKyAgICB9CisgIH0KKyAgcmV0dXJu
IHJlc3VsdDsKK30KKwordGVzdENhc2UocnVuKDEpLCB0cnVlLCAiRXJyb3I6IEVycm9yOiBkdXJp
bmcgZXhlY3V0aW9uIG9mIGFycm93IGZ1bmN0aW9uIG9uZSB0aW1lIik7Cit0ZXN0Q2FzZShydW4o
MTApLCB0cnVlLCAiRXJyb3I6IEVycm9yOiBkdXJpbmcgZXhlY3V0aW9uIG9mIGFycm93IGZ1bmN0
aW9uIDEwIHRpbWVzIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTIuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTIuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWRkY2Ri
M2M3MGExYjI3YzNkYmI1MjM4MDk1NWY1MzUzZDc2NzQyNQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAtMi5q
cwpAQCAtMCwwICsxLDI1IEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBl
Y3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93
IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBh
Y3R1YWwgKyAiJyI7CisgIH0KK307CisKK2Z1bmN0aW9uIHJ1bihjb3VudCkgeworICB2YXIgcmVz
dWx0ID0gdHJ1ZTsKKyAgZm9yKHZhciBpPTA7IGk8Y291bnQ7IGkrKykgeworICAgIHZhciBPYmog
PSBmdW5jdGlvbiAobmFtZSkgeworICAgICAgdGhpcy5uYW1lID0gbmFtZTsKKyAgICAgIHRoaXMu
Z2V0TmFtZSA9ICgpID0+IGV2YWwoInRoaXMubmFtZSIpOzsKKyAgICB9OworCisKKyAgICB2YXIg
b2JqID0gbmV3IE9iaigiSXRlbSIgKyBpKTsKKyAgICBpZiAob2JqLm5hbWUgIT09IG9iai5nZXRO
YW1lKCkpIHsKKyAgICAgIHJlc3VsdCA9IGZhbHNlOworICAgIH0KKyAgfQorICByZXR1cm4gcmVz
dWx0OworfQorCit0ZXN0Q2FzZShydW4oMSksIHRydWUsICJFcnJvcjogZHVyaW5nIGV4ZWN1dGlv
biBvZiBhcnJvdyBmdW5jdGlvbiBvbmUgdGltZSIpOwordGVzdENhc2UocnVuKDEwKSwgdHJ1ZSwg
IkVycm9yOiBkdXJpbmcgZXhlY3V0aW9uIG9mIGFycm93IGZ1bmN0aW9uIDEwIHRpbWVzIik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tcnVuLTEwMDAwLTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tcnVuLTEwMDAwLTEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGU1ZjZiYzg2YmQzMTQ1MWIw
MWNhMjdkMGI5NzIwYjU3ZThkNjA1MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAwMDAtMS5qcwpAQCAtMCww
ICsxLDIzIEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVz
c2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2Ug
KyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAi
JyI7CisgIH0KK307CisKK2Z1bmN0aW9uIHJ1bihjb3VudCkgeworICB2YXIgcmVzdWx0ID0gdHJ1
ZTsKKyAgZm9yKHZhciBpPTA7IGk8Y291bnQ7IGkrKykgeworICAgIHZhciBPYmogPSBmdW5jdGlv
biAobmFtZSkgeworICAgICAgdGhpcy5uYW1lID0gbmFtZTsKKyAgICAgIHRoaXMuZ2V0TmFtZSA9
ICgpID0+IHRoaXMubmFtZTsKKyAgICB9OworCisgICAgdmFyIG9iaiA9IG5ldyBPYmooIkl0ZW0i
ICsgaSk7CisgICAgaWYgKG9iai5uYW1lICE9PSBvYmouZ2V0TmFtZSgpKSB7CisgICAgICByZXN1
bHQgPSBmYWxzZTsKKyAgICB9CisgIH0KKyAgcmV0dXJuIHJlc3VsdDsKK30KKwordGVzdENhc2Uo
cnVuKDEwMDAwKSwgdHJ1ZSwgIkVycm9yOiBFcnJvcjogZHVyaW5nIGV4ZWN1dGlvbiBvZiBhcnJv
dyBmdW5jdGlvbiAxMDAwMCB0aW1lcyIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMDAwMC0yLmpzIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMDAwMC0yLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjk1MzBmMmMxZDVhN2Y1NWNlNDZiOGJlNjk5MDhiNGJjMjFlMDUyN2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tcnVuLTEwMDAwLTIuanMKQEAgLTAsMCArMSwyMyBAQAordmFyIHRlc3RDYXNlID0gZnVu
Y3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhw
ZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCAr
ICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCitmdW5jdGlvbiBydW4o
Y291bnQpIHsKKyAgdmFyIHJlc3VsdCA9IHRydWU7CisgIGZvcih2YXIgaT0wOyBpPGNvdW50OyBp
KyspIHsKKyAgICB2YXIgT2JqID0gZnVuY3Rpb24gKG5hbWUpIHsKKyAgICAgIHRoaXMubmFtZSA9
IG5hbWU7CisgICAgICB0aGlzLmdldE5hbWUgPSAoKSA9PiBldmFsKCJ0aGlzLm5hbWUiKTs7Cisg
ICAgfTsKKworICAgIHZhciBvYmogPSBuZXcgT2JqKCJJdGVtIiArIGkpOworICAgIGlmIChvYmou
bmFtZSAhPT0gb2JqLmdldE5hbWUoKSkgeworICAgICAgcmVzdWx0ID0gZmFsc2U7CisgICAgfQor
ICB9CisgIHJldHVybiByZXN1bHQ7Cit9CisKK3Rlc3RDYXNlKHJ1bigxMDAwMCksIHRydWUsICJF
cnJvcjogRXJyb3I6IGR1cmluZyBleGVjdXRpb24gb2YgYXJyb3cgZnVuY3Rpb24gMTAwMDAgdGlt
ZXMiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJy
b3dmdW5jdGlvbi1zeW50YXguanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L2Fycm93ZnVuY3Rpb24tc3ludGF4LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhmZTExZDViZWUwZGJkNTU2NDhh
YzQzZGZmY2U0ZTRlMmU5MGUyODgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tc3ludGF4LmpzCkBAIC0wLDAgKzEsMTE2
IEBACit2YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhw
ZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJv
dyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsg
YWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgYWYwID0gdiA9PiB2ICsgMTsKK3Rlc3RDYXNl
KGFmMCgxMCksIDExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb246IHYgPT4gdiArIDEiKTsKKwordmFyIGFmMSA9ICh2KSA9PiB2ICogMjsKK3Rlc3RD
YXNlKGFmMSgxMCksIDIwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJy
b3cgZnVuY3Rpb246ICh2KSA9PiB2ICsgMSIpOworCit2YXIgYWYyID0gKCkgPT4gMTAwMDsKK3Rl
c3RDYXNlKGFmMigxMjEyKSwgMTAwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uOiAoKSA9PiAxMDAwIik7CisKK3ZhciBhID0gMTUxOwordmFyIGFm
Ml8xID0gKCkgPT4gYTsKK3Rlc3RDYXNlKGFmMl8xKDEyMSksIGEgLCJFcnJvcjogTm90IGNvcnJl
Y3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKCkgPT4gdmFyaWFibGUiKTsKKwor
dmFyIGFmMyA9ICh2LCB4KSA9PiB2ICsgeDsKK3Rlc3RDYXNlKGFmMygxMSwxMiksIDIzICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICh4LCB5KSA9
PiB4ICsgeSIpOworCit2YXIgYWZ3cmFwcGVyID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRlcikgeyBy
ZXR1cm4gY2wocGFyYW10ZXIpOyB9OworCityZXN1bHQgPSBhZndyYXBwZXIoeCA9PiAxMjM0KTsK
K3Rlc3RDYXNlKHJlc3VsdCwgMTIzNCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYykiKTsKKworcmVzdWx0ID0g
YWZ3cmFwcGVyKHggPT4gMTIzNCwgMjM0NSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMzQgLCJFcnJv
cjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRl
cjogZih4ID0+IGMsIHkpIik7CisKK3Jlc3VsdCA9IGFmd3JhcHBlcih4ID0+IDEyMSArIDIzMik7
Cit0ZXN0Q2FzZShyZXN1bHQsIDM1MyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYzEgKyBjMikiKTsKKworcmVz
dWx0ID0gYWZ3cmFwcGVyKHggPT4gMTIzICsgMzIxLCA5OTk5KTsKK3Rlc3RDYXNlKHJlc3VsdCwg
NDQ0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24g
YXMgcGFyYW10ZXI6IGYoeCA9PiBjMSArIGMyLCB5KSIpOworCityZXN1bHQgPSBhZndyYXBwZXIo
eCA9PiB4ICsgMTIsIDIxKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzMgLCJFcnJvcjogTm90IGNvcnJl
Y3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IHgg
KyBjMSwgeSkiKTsKKworcmVzdWx0ID0gYWZ3cmFwcGVyKCh4KSA9PiB4ICsgMjEsIDMyKTsKK3Rl
c3RDYXNlKHJlc3VsdCwgNTMsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoeCkgPT4gYzEgKyBjMiwgeSkiKTsKKworcmVz
dWx0ID0gYWZ3cmFwcGVyKCgpID0+IDEwMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMCwgIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVy
OiBmKCgpID0+IGMpIik7CisKK3ZhciBleHRfdmFsdWUgPSAxMjE7CityZXN1bHQgPSBhZndyYXBw
ZXIoKCkgPT4gZXh0X3ZhbHVlKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIxLCAiRXJyb3I6IE5vdCBj
b3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkg
PT4gdikiKTsKKworcmVzdWx0ID0gYWZ3cmFwcGVyKCgpID0+IGV4dF92YWx1ZSAqIDEwKTsKK3Rl
c3RDYXNlKHJlc3VsdCwgMTIxMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhl
IGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IHYqeCkiKTsKKworcmVzdWx0ID0g
YWZ3cmFwcGVyKCh4KSA9PiBleHRfdmFsdWUgKiB4LCAzMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDMw
KmV4dF92YWx1ZSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1
bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCh4KSA9PiB2KngsIHkpIik7CisKK3Jlc3VsdCA9IGFmd3Jh
cHBlcigoKSA9PiAxMDAsIDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwICwiRXJyb3I6IE5vdCBj
b3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkg
PT4gYzEsIHkpIik7CisKKyByZXN1bHQgPSBhZndyYXBwZXIoKCkgPT4gMTAwICsgMTApOwordGVz
dENhc2UocmVzdWx0LCAxMTAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjMSArIGMyKSIpOworCityZXN1bHQg
PSBhZndyYXBwZXIoKCkgPT4gMTAwICsgMTEsIDEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTExICwi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFy
YW10ZXI6IGYoKCkgPT4gYzEgKyBjMiwgeSkiKTsKKwordmFyIGFycm93RnVuY3Rpb240ID0gdiA9
PiB2ICsgMSwgeHl6MSA9IDEwMTAxOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjQoMTAxMSk7Cit0
ZXN0Q2FzZShyZXN1bHQsIDEwMTIgLCJFcnJvcjogTm90IGNvcnJlY3QgcGFyc2luZyBvZiB0aCBh
cnJvdyBmdW5jdGlvbiBpbnNpZGUgb2YgdGhlIGxpc3Qgb2YgdmFyczogdmFyIGFmID0gdj0+IHYg
KyAxOyB6eGM9YzsiKTsKK3Rlc3RDYXNlKHh5ejEsIDEwMTAxICwiRXJyb3I6IE5vdCBjb3JyZWN0
IHBhcnNpbmcgb2YgdGggYXJyb3cgZnVuY3Rpb24gaW5zaWRlIG9mIHRoZSBsaXN0IG9mIHZhcnM6
IHZhciBhZiA9IHY9PiB2ICsgMTsgenhjPWM7Iik7CisKK3ZhciBhZndyYXBwZXIyID0gZnVuY3Rp
b24gKGNsLCBwYXJhbXRlcjEsIHBhcmFtdGVyMikgeyByZXR1cm4gY2wocGFyYW10ZXIxLCBwYXJh
bXRlcjIpOyB9OworcmVzdWx0ID0gYWZ3cmFwcGVyMigoeCwgeSkgPT4geCArIHksIDEyICw0Myk7
Cit0ZXN0Q2FzZShyZXN1bHQsIDU1ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0
aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW1ldGVyOiBmKCh4LCB5KSA9PiB4ICsgeSwgYzEsIGMy
KSIpOworCit2YXIgYWZBcnIwID0gW3YgPT4gdiAqIDEwXTsKK3Jlc3VsdCA9IGFmQXJyMFswXSgx
MCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24g
b2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFt2PT52KjEwXSIpOworCit2
YXIgYWZBcnIxID0gW3YgPT4gdiArIDEsIHYgPT4gdiArIDJdOworcmVzdWx0ID0gYWZBcnIxWzBd
KDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbdiA9PiB2ICsgMSwgIHYg
PT4gdiArIDJdIik7CityZXN1bHQgPSBhZkFycjFbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAx
MyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFz
IGl0ZW0gaW4gYXJyYXk6IFt2ID0+IHYgKyAxLCAgdiA9PiB2ICsgMl0iKTsKKwordmFyIGFmQXJy
MiA9IFsodikgPT4gdiArIDEsICh2KSA9PiB2ICsgMl07CityZXN1bHQgPSBhZkFycjJbMF0oMTEp
OwordGVzdENhc2UocmVzdWx0LCAxMiAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsodikgPT4gdiArIDEsICAodikg
PT4gdiArIDJdIik7CityZXN1bHQgPSBhZkFycjJbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAx
MyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFz
IGl0ZW0gaW4gYXJyYXk6IFsodikgPT4gdiArIDEsICAodikgPT4gdiArIDJdIik7CisKK3ZhciBh
ZkFycjMgPSBbKCkgPT4gMTAxLCAoKSA9PiAxMjMyM107CityZXN1bHQgPSBhZkFycjNbMF0oMTEp
OwordGVzdENhc2UocmVzdWx0LCAxMDEsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKCkgPT4gYzEsICAoKSA9PiBj
Ml0iKTsKK3Jlc3VsdCA9IGFmQXJyM1sxXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMzIzLCAi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRl
bSBpbiBhcnJheTogWygpID0+IGMxLCAgKCkgPT4gYzJdIik7CisKK3ZhciBhZk9iaiA9IHtmdW5j
IDogeSA9PiB5ICsgMTJ9OworcmVzdWx0ID0gYWZPYmouZnVuYygxMSk7Cit0ZXN0Q2FzZShyZXN1
bHQsIDIzICwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0
aW9uIGFzIHByb3BlcnR5OiB7ZnVuYyA6IHkgPT4geSArIDEyIH0iKTsKKwordmFyIGFmQmxvY2sw
ID0gKCkgPT4geyByZXR1cm4gMTAwMDsgfTsKK3Jlc3VsdCA9IGFmQmxvY2swKDExKTsKK3Rlc3RD
YXNlKHJlc3VsdCwgMTAwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFy
cm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogKCkgPT4geyByZXR1cm4gMTAwMDsgfSIp
OworCit2YXIgYWZCbG9jazEgPSB2ID0+IHsgdmFyIGludHZhbCA9IDEwMDsgcmV0dXJuIHYgKiBp
bnR2YWw7IH07CityZXN1bHQgPSBhZkJsb2NrMSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDExMDAg
LCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRo
IGJvZHkgYXMgYmxvY2s6IHggPT4geyB2YXIgdj0xMDAwOyByZXR1cm4gdip4OyB9Iik7CisKK3Zh
ciBhZkJsb2NrMiA9ICh2KSA9PiB7IHZhciBpbnQgPSAyMDA7IHJldHVybiB2ICogaW50OyB9Owor
cmVzdWx0ID0gYWZCbG9jazIoMTEpOwordGVzdENhc2UocmVzdWx0LCAyMjAwICwiRXJyb3I6IE5v
dCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJs
b2NrOiAoeCkgPT4geyB2YXIgdj0xMDAwOyByZXR1cm4gdip4OyB9Iik7CisKK3ZhciBhZkJsb2Nr
MyA9ICh2LCB4KSA9PiB7IHZhciByZXN1bHQgPSB4ICogdjsgcmV0dXJuIHJlc3VsdDsgfTsKK3Jl
c3VsdCA9IGFmQmxvY2szKDExLCAxMjIyMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDEzNDQ0MiAsIkVy
cm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9k
eSBhcyBibG9jazogKHYsIHgpID0+IHsgdmFyIHJlc3VsdCA9IHggKiB2OyByZXR1cm4gcmVzdWx0
OyB9Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tdGR6LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9h
cnJvd2Z1bmN0aW9uLXRkei5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOWQzNWNkZWE0YmFmNjY3NDMxYWY4YWJl
OGRhZGYyMmQwNGI5MGUxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXRkei5qcwpAQCAtMCwwICsxLDI0IEBACit2YXIg
QSA9IGNsYXNzIEEgeyB9OwordmFyIEIgPSBjbGFzcyBCIGV4dGVuZHMgQSB7CisgIGNvbnN0cnVj
dG9yKGFjY2Vzc1RoaXNCZWZvcmVTdXBlcikgeworICAgIGlmIChhY2Nlc3NUaGlzQmVmb3JlU3Vw
ZXIpIHsKKyAgICAgIHZhciBmID0gKCkgPT4gdGhpczsKKyAgICAgIHN1cGVyKCk7CisgICAgfSBl
bHNlIHsKKyAgICAgIHN1cGVyKCk7CisgICAgfQorICB9Cit9OworCit2YXIgZXhjZXB0aW9uID0g
bnVsbDsKK3RyeSB7CisgICAgIG5ldyBCKHRydWUpOworfSBjYXRjaCAoZSkgeworICAgIGV4Y2Vw
dGlvbiA9IGU7CisgICAgaWYgKCEoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSkKKyAgICAg
ICAgdGhyb3cgIkV4Y2VwdGlvbiB0aHJvd24gd2FzIG5vdCBhIHJlZmVyZW5jZSBlcnJvciI7Cit9
CitpZiAoIWV4Y2VwdGlvbikKKyAgICB0aHJvdyAiRXhjZXB0aW9uIG5vdCB0aHJvd24gZm9yIGFu
IHVuaXRpYWxpemVkIHRoaXMgYXQgaXRlcmF0aW9uIjsKKwordmFyIGUgPSBuZXcgQihmYWxzZSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tdHlwZW9mLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJv
d2Z1bmN0aW9uLXR5cGVvZi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZjJhN2Y1NDQ3NmFiYTljMjg5MjNjMzVm
MWRiM2M0MzI3YWM5NDY5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXR5cGVvZi5qcwpAQCAtMCwwICsxLDIxIEBACit2
YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBp
ZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3Rl
ZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307
CisKK3ZhciBhZjEgPSAoKSA9PiB7fTsKK3ZhciBhZjIgPSAoYSkgPT4ge2EgKyAxfTsKKwordGVz
dENhc2UodHlwZW9mIGFmMSwgImZ1bmN0aW9uIiwgIkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiAjMSIpOwordGVzdENhc2UodHlwZW9mIGFmMS5wcm90b3R5cGUg
PT09ICd1bmRlZmluZWQnLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJv
dG90eXBlIG9mIGFycm93IGZ1bmN0aW9uICMxIik7CisKK3Rlc3RDYXNlKHR5cGVvZiBhZjIsICJm
dW5jdGlvbiIsICJFcnJvcjogTm90IGNvcnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24g
IzIiKTsKK3Rlc3RDYXNlKHR5cGVvZiBhZjIucHJvdG90eXBlID09PSAndW5kZWZpbmVkJywgdHJ1
ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBmdW5j
dGlvbiAjMiIpOworCit0ZXN0Q2FzZSh0eXBlb2YgKCgpPT57fSksICJmdW5jdGlvbiIsICJFcnJv
cjogTm90IGNvcnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzMiKTsKK3Rlc3RDYXNl
KHR5cGVvZiAoKCk9Pnt9KS5wcm90b3R5cGUgPT09ICd1bmRlZmluZWQnLCB0cnVlLCAiRXJyb3I6
IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9uICMzIik7
CisKKwordGVzdENhc2UodHlwZW9mICgoYikgPT4ge2IgKyAxfSksICJmdW5jdGlvbiIsICJFcnJv
cjogTm90IGNvcnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzQiKTsKK3Rlc3RDYXNl
KHR5cGVvZiAoKGIpID0+IHtiICsgMX0pLnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUs
ICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBwcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rp
b24gIzQiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcKaW5kZXggZmM5MGY2MTE1NjIzMWE0MWNhOTEzN2YxN2M3OTU1ZThk
MzczYjBlYS4uMGM4ODQwZjZhYjUxODVmODM1NGI3MDYwM2UwMjVmMjVhMmE3OWY0YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKKysrIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKQEAgLTQ0LDYgKzQ0LDcgQEAgRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORyA9IEVOQUJM
RV9DQUNIRV9QQVJUSVRJT05JTkc7CiBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFT
X1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
ID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCA9IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfRVM2X0NMQVNT
X1NZTlRBWCA9IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYOwogRU5BQkxFX0VTNl9URU1QTEFURV9M
SVRFUkFMX1NZTlRBWCA9IEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVg7CiBFTkFC
TEVfQ09OVEVOVF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CkBAIC0yMTUs
NCArMjE2LDQgQEAgRU5BQkxFX0pJVCA9IEVOQUJMRV9KSVQ7CiAKIEVOQUJMRV9TQVRVUkFURURf
TEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwog
Ci1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElO
RykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQo
RU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxF
X0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9D
TEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkgJChFTkFC
TEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5J
TUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5B
QkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVO
QUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChF
TkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJM
RV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NT
M19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJ
U0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJP
QVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJB
TlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRF
UlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChF
TkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRM
SU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09S
S0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNT
X1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9J
T1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9M
RUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVE
SU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJM
RV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFf
U09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kp
ICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxF
X1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVO
VFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxF
X1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkg
JChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVS
WSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChF
TkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NV
QlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJU
RVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFU
RV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09S
RCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURF
T19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19N
RURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JF
UExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5B
QkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElN
RU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVO
QUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRB
VElPTl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZM
T1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRf
RUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFU
SCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFY
KSAkKEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVW
RUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09N
UE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dS
SURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVD
VE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChF
TkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAk
KEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JU
KSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1T
KSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikg
JChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIp
ICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVO
QUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xP
Q0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFC
TEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5B
QkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
TE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElN
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19W
RU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9M
RUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJM
RV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAk
KEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChF
TkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVf
TUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NP
TlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xP
Q0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJM
RV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FO
SU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JF
TU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxF
X1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVD
SF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRP
KSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJM
RV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkg
JChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxF
X1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQo
RU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5B
QkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5B
QkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElN
SU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5B
QkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfU0FUVVJB
VEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggNmNmOWQ5NjIxNGY3ZWYyMTNkYmU0MmI0MmYxOTdkODBjNTk0OTEwNi4uM2YyMDA1ZTJj
OTFkMzg4OTY0MDkyZDEyZDdjOTljNjJkN2VmNzk1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTYwMSw5ICsxNjAxLDkgQEAK
IAkJNDQzMTFDRDkxMkU0RTI1NzAwMEE4RDE5IC8qIERPTURvY3VtZW50RnJhZ21lbnRQcml2YXRl
LmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0NDMxMUNENDEyRTRFMjJEMDAwQThEMTkgLyogRE9NRG9jdW1lbnRGcmFnbWVudFBy
aXZhdGUuaCAqLzsgfTsKIAkJNDQzMTFGODIxMkU0RTY2QzAwMEE4RDE5IC8qIERPTURvY3VtZW50
RnJhZ21lbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODVFNzExNDUwQUM1RDUzNDAwNTMyNzBGIC8qIERPTURvY3VtZW50RnJhZ21lbnRJ
bnRlcm5hbC5oICovOyB9OwogCQk0NDM4MTdGRjFBOTFCMkY4MDA2RTA0RjIgLyogQ29yZU1lZGlh
U29mdExpbmsuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDQzODE3RkQxQTkxQjJGODAwNkUwNEYyIC8qIENvcmVNZWRpYVNvZnRMaW5rLmNwcCAqLzsg
fTsKLQkJNDQzOTE3RkYxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzOTE3RkQxQTkx
QjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tICovOyB9OwogCQk0NDM4MTgwMDFB
OTFCMkY4MDA2RTA0RjIgLyogQ29yZU1lZGlhU29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0MzgxN0ZFMUE5MUIyRjgwMDZFMDRGMiAvKiBD
b3JlTWVkaWFTb2Z0TGluay5oICovOyB9OwotCQk0NDM5MTgwMDFBOTFCMkY4MDA2RTA0RjIgLyog
UXVpY2tMb29rU29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQ0MzkxN0ZFMUE5MUIyRjgwMDZFMDRGMiAvKiBRdWlja0xvb2tTb2Z0TGluay5o
ICovOyB9OworCQk0NDM5MTdGRjFBOTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRM
aW5rLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQz
OTE3RkQxQTkxQjJGODAwNkUwNEYyIC8qIGlvcy9RdWlja0xvb2tTb2Z0TGluay5tbSAqLzsgfTsK
KwkJNDQzOTE4MDAxQTkxQjJGODAwNkUwNEYyIC8qIGlvcy9RdWlja0xvb2tTb2Z0TGluay5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzOTE3RkUxQTkx
QjJGODAwNkUwNEYyIC8qIGlvcy9RdWlja0xvb2tTb2Z0TGluay5oICovOyB9OwogCQk0NDNGMDQy
NzBFNzVDOEZCMDA3RTU0MDcgLyogTmV0d29ya1N0YXRlTm90aWZpZXJJT1MubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDNGMDQyNjBFNzVDOEZCMDA3
RTU0MDcgLyogTmV0d29ya1N0YXRlTm90aWZpZXJJT1MubW0gKi87IH07CiAJCTQ0NDlBNDA1MUE5
NjRCMDAwMEI2NEFENSAvKiBDb3JlTWVkaWFTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0NDlBNDA0MUE5NjRCMDAwMEI2NEFENSAvKiBDb3JlTWVk
aWFTUEkuaCAqLzsgfTsKIAkJNDQ0RDRFMjMwRjcwOEIyRTAwMzE1OEUwIC8qIFdlYkNvcmVVUkxS
ZXNwb25zZUlPUy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ0NEQ0RTIxMEY3MDhCMkUwMDMxNThFMCAvKiBXZWJDb3JlVVJMUmVzcG9uc2VJT1MubW0g
Ki87IH07CkBAIC04NzY5LDkgKzg3NjksOSBAQAogCQk0NDMxMUNENDEyRTRFMjJEMDAwQThEMTkg
LyogRE9NRG9jdW1lbnRGcmFnbWVudFByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gRE9NRG9jdW1lbnRGcmFnbWVudFByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDQzMTFDRDUxMkU0RTIyRDAwMEE4RDE5IC8qIERPTURvY3VtZW50UHJpdmF0
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01Eb2N1bWVudFByaXZhdGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQzODE3RkQxQTkxQjJGODAwNkUwNEYy
IC8qIENvcmVNZWRpYVNvZnRMaW5rLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IENvcmVNZWRpYVNvZnRMaW5rLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJNDQzOTE3RkQxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gaW9zL1F1aWNrTG9va1NvZnRMaW5r
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDM4MTdGRTFBOTFCMkY4MDA2RTA0
RjIgLyogQ29yZU1lZGlhU29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQ29yZU1lZGlhU29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDQz
OTE3RkUxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGlvcy9RdWlja0xvb2tTb2Z0TGluay5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk0NDM5MTdGRDFBOTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNr
TG9va1NvZnRMaW5rLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
aW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0
NDM5MTdGRTFBOTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGlvcy9RdWlja0xvb2tTb2Z0TGluay5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDNGMDQyNjBFNzVDOEZCMDA3RTU0MDcgLyogTmV0
d29ya1N0YXRlTm90aWZpZXJJT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBOZXR3b3JrU3RhdGVOb3RpZmllcklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDQ0OUE0MDQxQTk2NEIwMDAwQjY0QUQ1IC8qIENvcmVNZWRpYVNQSS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb3JlTWVkaWFTUEkuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDQ0RDRFMjEwRjcwOEIyRTAwMzE1OEUwIC8qIFdlYkNvcmVVUkxS
ZXNwb25zZUlPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdl
YkNvcmVVUkxSZXNwb25zZUlPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4
ODU3LDggKzE4ODU3LDggQEAKIAkJCQlDNTI3OEIwQjE3RjIxMkVBMDAzQTI5OTggLyogUGxhdGZv
cm1QYXN0ZWJvYXJkSU9TLm1tICovLAogCQkJCUU0NTM5MDMyMEVBRkQ2MzcwMDM2OTVDOCAvKiBQ
bGF0Zm9ybVNjcmVlbklPUy5tbSAqLywKIAkJCQlBQUUzNzU1RDE3NDI5QkNDMDA2MjAwQzIgLyog
UGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcklPUy5tbSAqLywKLQkJCQk0NDM5MTdGRTFBOTFCMkY4
MDA2RTA0RjIgLyogUXVpY2tMb29rU29mdExpbmsuaCAqLywKLQkJCQk0NDM5MTdGRDFBOTFCMkY4
MDA2RTA0RjIgLyogUXVpY2tMb29rU29mdExpbmsubW0gKi8sCisJCQkJNDQzOTE3RkUxQTkxQjJG
ODAwNkUwNEYyIC8qIGlvcy9RdWlja0xvb2tTb2Z0TGluay5oICovLAorCQkJCTQ0MzkxN0ZEMUE5
MUIyRjgwMDZFMDRGMiAvKiBpb3MvUXVpY2tMb29rU29mdExpbmsubW0gKi8sCiAJCQkJQ0RGQzM2
MDExOENBNjE2MzAwMjZFNTZGIC8qIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5oICovLAogCQkJ
CUNERkMzNjAyMThDQTYxNjMwMDI2RTU2RiAvKiBSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MubW0g
Ki8sCiAJCQkJNDRDMzYzRUUwRkFBN0JCMzAwOTdGOENDIC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNo
ZWNrc0lPUy5oICovLApAQCAtMjYwNjIsNyArMjYwNjIsNyBAQAogCQkJCTU1MEEwQkNBMDg1RjYw
MzkwMDczNTNENiAvKiBRdWFsaWZpZWROYW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRTEyNTIz
RDFBMTY3NkNEMDA4NjQ0ODAgLyogUXVhcnR6Q29yZVNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NDQyQUY3QTkxMDJDRERFQTAwOEZENEQzIC8qIFF1aWNrTG9vay5oIGluIEhlYWRlcnMgKi8sCi0J
CQkJNDQzOTE4MDAxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk0NDM5MTgwMDFBOTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1Nv
ZnRMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTQ5Nzg2RjFBQkFGMzM4MDBDRUY3RTQgLyog
Q29udGVudEZpbHRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0UxMjUyMzkxQTE2NkZBMDAwODY0
NDgwIC8qIFF1aWNrTG9va1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTEwREJGNDcxOEY5MjMx
NzAwMEQ3MEM2IC8qIFF1aWNrTG9va0hhbmRsZUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0y
OTU2Myw3ICsyOTU2Myw3IEBACiAJCQkJQ0RFRTM5MzcxNzk3NDI1OTAwMUQ3NTgwIC8qIFB1Ymxp
Y1VSTE1hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTUwQTBCQzkwODVGNjAzOTAwNzM1
M0Q2IC8qIFF1YWxpZmllZE5hbWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDQyQUY3QUExMDJD
RERFQTAwOEZENEQzIC8qIFF1aWNrTG9vay5tbSBpbiBTb3VyY2VzICovLAotCQkJCTQ0MzkxN0ZG
MUE5MUIyRjgwMDZFMDRGMiAvKiBRdWlja0xvb2tTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAor
CQkJCTQ0MzkxN0ZGMUE5MUIyRjgwMDZFMDRGMiAvKiBpb3MvUXVpY2tMb29rU29mdExpbmsubW0g
aW4gU291cmNlcyAqLywKIAkJCQkwNzJBRTFFNjE4M0MwNzQxMDAwQTU5ODggLyogUXVpY2tUaW1l
UGx1Z2luUmVwbGFjZW1lbnQubW0gaW4gU291cmNlcyAqLywKIAkJCQkzNzlFMzcxNjEzNzM2QTY2
MDBCOUU5MTkgLyogUXVvdGVkUHJpbnRhYmxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTVBNTc0
RjI4MTMxREI5NkQwMDQ3MUI4OCAvKiBRdW90ZXNEYXRhLmNwcCBpbiBTb3VyY2VzICovLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwppbmRleCBmYzkwZjYxMTU2MjMxYTQxY2E5MTM3ZjE3Yzc5NTVlOGQzNzNiMGVh
Li4wYzg4NDBmNmFiNTE4NWY4MzU0YjcwNjAzZTAyNWYyNWEyYTc5ZjRhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwpAQCAtNDQsNiArNDQsNyBAQCBFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HID0gRU5BQkxF
X0NBQ0hFX1BBUlRJVElPTklORzsKIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNf
UEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcg
PSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9FUzZfQ0xBU1Nf
U1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CiBFTkFCTEVfRVM2X1RFTVBMQVRFX0xJ
VEVSQUxfU1lOVEFYID0gRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWDsKIEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKQEAgLTIxNSw0
ICsyMTYsNCBAQCBFTkFCTEVfSklUID0gRU5BQkxFX0pJVDsKIAogRU5BQkxFX1NBVFVSQVRFRF9M
QVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAK
LUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5H
KSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChF
TkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVf
Q0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NM
QVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYKSAkKEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklN
QVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFC
TEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5B
QkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxF
X0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1Mz
X1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklT
SUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9B
UkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFO
U0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVS
U19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVO
QUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJ
TkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JL
RVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lP
U19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xF
R0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJ
TykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxF
X01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9T
T1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQp
ICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05B
VklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkg
JChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVf
UE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5U
UykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVf
UkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAk
KEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZ
KSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVO
QUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VC
VExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRF
UikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRF
X0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JE
KSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVP
X1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01F
RElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQ
TEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFC
TEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1F
T1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5B
QkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFU
SU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChF
TkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxP
V19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9F
TEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRI
KSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVO
QUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgp
ICQoRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZF
TF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01Q
T1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJ
RF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lN
QUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNU
T1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVO
QUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQo
RU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQp
ICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMp
ICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikg
JChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5B
QkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9D
QVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJM
RV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFC
TEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVM
T0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1F
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RB
UkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRP
U0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xF
R0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxF
X0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQo
RU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVO
QUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9N
SFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09O
VEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9D
SykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxF
X1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5J
TUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVN
T1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVf
UlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNI
X1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8p
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxF
X1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAk
KEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
VE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVf
VVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChF
TkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFC
TEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFC
TEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1J
TkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFC
TEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TQVRVUkFU
RURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKaW5kZXggZmM5MGY2MTE1NjIzMWE0MWNhOTEzN2YxN2M3OTU1ZThkMzczYjBlYS4u
MGM4ODQwZjZhYjUxODVmODM1NGI3MDYwM2UwMjVmMjVhMmE3OWY0YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIv
U291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAg
LTQ0LDYgKzQ0LDcgQEAgRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORyA9IEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkc7CiBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBF
TkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVO
QUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9
IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYOwogRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZ
TlRBWCA9IEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVg7CiBFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CkBAIC0yMTUsNCArMjE2LDQg
QEAgRU5BQkxFX0pJVCA9IEVOQUJMRV9KSVQ7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FS
SVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFC
TEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NB
Q0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19Q
Uk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5U
QVgpICQoRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19M
RVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19D
T01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
R1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VM
RUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAk
KEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkp
ICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBP
UlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRF
TVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxf
MikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQo
RU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVO
QUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChF
TkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9U
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NT
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5B
QkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwp
ICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAk
KEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
TE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5B
QkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1Rf
QU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVf
UkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFC
TEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQ
VE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5B
QkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5U
KSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFC
TEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykg
JChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChF
TkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChF
TkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9U
SU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChF
TkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TQVRV
UkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RF
KTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkg
JChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFC
TEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJM
RV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
KSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChF
TkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcp
ICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VU
KSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNP
TFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZF
TDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NT
M19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9D
VVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJM
RV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJM
RV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVf
RE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxF
X0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1F
UEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAk
KEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRB
VEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElF
X1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
X1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQo
RU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQo
RU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJF
RklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVO
RE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQ
UkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9N
RURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVE
SUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQo
RU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJ
TFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJ
T05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5B
QkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNf
U1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9G
UkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQ
RUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9C
QU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVT
SVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJM
RV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhP
TkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lD
T05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxF
Q1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RB
VEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdM
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9T
T0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVO
QUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQp
ICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9V
VF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UgYi9Tb3VyY2UvY21ha2UvV2Vi
S2l0RmVhdHVyZXMuY21ha2UKaW5kZXggZTk1OWZiZjYxZWY4OWRjNjMzYTg1MWMyYThlNmZmNTgz
ZmM3NDM5Mi4uYjRjMGU0MDQwYzJmY2Q4OWZiNWM4MWI3ZDlhMzk5OWVhNTMxYzcyZiAxMDA2NDQK
LS0tIGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFr
ZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQpAQCAtNTksNiArNTksNyBAQCBtYWNybyhXRUJLSVRfT1BU
SU9OX0JFR0lOKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DU1NfU0hBUEVTICJU
b2dnbGUgQ1NTIFNoYXBlcyBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9O
X0RFRklORShFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkgIlRvZ2dsZSBjdXJzb3IgdmlzaWJpbGl0
eSBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVf
Q1VTVE9NX1NDSEVNRV9IQU5ETEVSICJUb2dnbGUgQ3VzdG9tIFNjaGVtZSBIYW5kbGVyIHN1cHBv
cnQiIFBSSVZBVEUgT0ZGKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9FUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVggIlRvZ2dsZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1cHBv
cnQiIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCAiVG9nZ2xlIGRhc2hib2FyZCBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BU
SU9OX0RFRklORShFTkFCTEVfREFUQUNVRV9WQUxVRSAiVG9nZ2xlIGRhdGFjdWUgdmFsdWUgc3Vw
cG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0RBVEFM
SVNUX0VMRU1FTlQgIlRvZ2dsZSBIVE1MNSBkYXRhbGlzdCBzdXBwb3J0IiBQUklWQVRFIE9GRikK
QEAgLTE2OCw3ICsxNjksNiBAQCBtYWNybyhXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAgIFdFQktJ
VF9PUFRJT05fREVGSU5FKEVOQUJMRV9YSFJfVElNRU9VVCAiVG9nZ2xlIFhIUiB0aW1lb3V0IHN1
cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9YU0xU
ICJUb2dnbGUgWFNMVCBzdXBwb3J0IiBQUklWQVRFIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVG
SU5FKFVTRV9TWVNURU1fTUFMTE9DICJUb2dnbGUgc3lzdGVtIGFsbG9jYXRvciBpbnN0ZWFkIG9m
IFdlYktpdCdzIGN1c3RvbSBhbGxvY2F0b3IiIFBSSVZBVEUgT0ZGKQotCiAgICAgV0VCS0lUX09Q
VElPTl9ERVBFTkQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMiBFTkFCTEVfVklERU8pCiAgICAg
V0VCS0lUX09QVElPTl9ERVBFTkQoRU5BQkxFX0RGR19KSVQgRU5BQkxFX0pJVCkKICAgICBXRUJL
SVRfT1BUSU9OX0RFUEVORChFTkFCTEVfRlRMX05BVElWRV9DQUxMX0lOTElOSU5HIEVOQUJMRV9G
VExfSklUKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0
LnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCmluZGV4IGIwZDVh
YTFiM2JjNDQ4ZDZkMjYxMjcwYTVmYjU4MTQwMzQ2NWY1ZjUuLjQwYzExNWUzYjNlNGJhNDc1MmE3
MWQzOGQxZmVhMjI3ZWUyMGQxMjcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVy
bC9GZWF0dXJlTGlzdC5wbQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxp
c3QucG0KQEAgLTQ0LDYgKzQ0LDcgQEAgQkVHSU4gewogbXkgKAogICAgICR0aHJlZURUcmFuc2Zv
cm1zU3VwcG9ydCwKICAgICAkYWNjZWxlcmF0ZWQyRENhbnZhc1N1cHBvcnQsCisgICAgJGFycm93
ZnVuY3Rpb25TeW50YXgsCiAgICAgJGF0dGFjaG1lbnRFbGVtZW50U3VwcG9ydCwKICAgICAkYmF0
dGVyeVN0YXR1c1N1cHBvcnQsCiAgICAgJGNhbnZhc1BhdGhTdXBwb3J0LApAQCAtMTU2LDkgKzE1
NywxMyBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAgeyBvcHRpb24gPT4gImFjY2VsZXJhdGVkLTJk
LWNhbnZhcyIsIGRlc2MgPT4gIlRvZ2dsZSBBY2NlbGVyYXRlZCAyRCBDYW52YXMgc3VwcG9ydCIs
CiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMiLCBkZWZhdWx0
ID0+IGlzR3RrKCksIHZhbHVlID0+IFwkYWNjZWxlcmF0ZWQyRENhbnZhc1N1cHBvcnQgfSwKIAor
ICAgIHsgb3B0aW9uID0+ICJhcnJvd2Z1bmN0aW9uLXN5bnRheCIsIGRlc2MgPT4gIlRvZ2dsZSBF
UzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1cHBvcnQiLAorICAgICAgZGVmaW5lID0+ICJFTkFC
TEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGFy
cm93ZnVuY3Rpb25TeW50YXggfSwKKwogICAgIHsgb3B0aW9uID0+ICJhdHRhY2htZW50LWVsZW1l
bnQiLCBkZXNjID0+ICJUb2dnbGUgQXR0YWNobWVudCBFbGVtZW50IHN1cHBvcnQiLAogICAgICAg
ZGVmaW5lID0+ICJFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UIiwgZGVmYXVsdCA9PiAwLCB2YWx1
ZSA9PiBcJGF0dGFjaG1lbnRFbGVtZW50U3VwcG9ydCB9LAogCisKICAgICB7IG9wdGlvbiA9PiAi
YmF0dGVyeS1zdGF0dXMiLCBkZXNjID0+ICJUb2dnbGUgQmF0dGVyeSBTdGF0dXMgc3VwcG9ydCIs
CiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9CQVRURVJZX1NUQVRVUyIsIGRlZmF1bHQgPT4gaXNF
ZmwoKSwgdmFsdWUgPT4gXCRiYXR0ZXJ5U3RhdHVzU3VwcG9ydCB9LAogCmRpZmYgLS1naXQgYS9D
aGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggYmFiZGI3ZDExYzMxMTM0ZWM1MDZmZWEwNWM3MjEy
YTFhZTVhY2Y4Mi4uZDBiMTIzODI4YjRkMTQyNWRjMWM5NGQ2ZDVkZTUzMWY0ZmI1NjY0NSAxMDA2
NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE1
LTA1LTAxICAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisgICAg
ICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxh
ZyB0byBzd2l0Y2ggb24vb2ZmIGVzNiBhcnJvdyBmdW5jdGlvbiBFTkFCTEVfRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYCisKKyAgICAgICAgICogU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNt
YWtlOgorICAgICAgICAgKiBTb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZToKKwogMjAxNS0wNC0z
MCAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0NN
YWtlXSBBdXRvbWF0aWNhbGx5IGV4cG9zZSBXVEZfVVNFX0ZPTyB0byB0aGUgYnVpbGQgd2hlbiBV
U0VfRk9PIGlzIGV4cG9zZWQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252201</attachid>
            <date>2015-05-01 17:14:52 -0700</date>
            <delta_ts>2015-05-01 17:43:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150502031337.patch</filename>
            <type>text/plain</type>
            <size>206535</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzNjk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
MmJmOGRiNzU1MGVjYTRlZWEwNTMwZDk0M2ZjYmVjNmQzMmIyODQ5Li43Y2UxNjdjNDM2ZTVkZDIw
NTJiNzI0ODA4M2I1OTZiNDliOTEwMGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MTAgKzEsMTYxIEBACi0yMDE1LTA0LTEyICBBbGV4YW5kciBTa2FjaGtvdiAgPGdza2FjaGtvdkBn
bWFpbC5jb20+Ci0gICAgICAgIFNtYWxsIHJlZmFjdG9yaW5nIG9mIHRoZSBwYXJjZXIuY3BwIGZp
bGUuIEl0IGlzIG5lY2Vzc2FyeSB0byBpbmNyZWFzZSByZWFkYWJpbGl0eSBvZiB0aGUgcGF0Y2gK
LSAgICAgICAgd2l0aCBFUzYgQXJyb3cgZnVuY3Rpb24gaW1wbGVtZW50YXRpb24KKzIwMTUtMDUt
MDEgQWxla3NhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICAg
W0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgKICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQogCi0gICAgICAgICogcGFy
c2VyL1BhcnNlci5oOgorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAgQWRkZWQgc3VwcG9ydCBvZiBFUzYgYXJyb3cgZnVuY3Rpb24uIENoYW5nZXMgd2VyZSBt
YWRlIGFjY29yZGluZyBmb2xsb3dpbmcgc3BlYyBodHRwOi8vd2lraS5lY21hc2NyaXB0Lm9yZy9k
b2t1LnBocD9pZD1oYXJtb255OmFycm93X2Z1bmN0aW9uX3N5bnRheAorICAgICAgICBJbiBwYXRj
aCB3ZXJlIGltcGxlbWVudGVkIHRoZSBzaW1wbGVzdCBjYXNlczoKKyAgICAgICAgICAxIG5vIHBh
cmFtZXRlcnMgICAgICAgICAgICAgICAgKCkgPT4gMTAgKyAyMAorICAgICAgICAgIDIgc2luZ2xl
IHBhcmFtZXRlciAgICAgICAgICAgICAgeCA9PiB4ICsgMjAKKyAgICAgICAgICAzIG11bHRpcGxl
IHBhcmFtZXRlcnMgICAgICAoeCwgeSkgPT4geCArIHkKKyAgICAgICAgICA0IGFycm93IGZ1bmN0
aW9uIHdpdGggYmxvY2sgICAgIHggPT4geyByZXR1cm4geCoxMDsgfQorICAgICAgICAgIDUgbGV4
aWNhbCB0aGlzIC0gdmFyaWFibGUgdGhpcyBpcyBwb2ludCB0byB0aGUgdGhpcyBvZiB0aGUgZnVu
Y3Rpb24gd2hlcmUgYXJyb3cgZnVuY3Rpb24gaXMgZGVjbGFyZWQKKyAgICAgICAgICA2IE5vIGNv
bnN0cnVjdG9yIC0gdGhlIHVzaW5nIG9mIHRoZSBjb21tYW5kIG5ldyBmb3IgYXJyb3cgZnVuY3Rp
b24gbGVhZHMgdG8gcnVudGltZSBlcnJvci4gCisKKyAgICAgICAgICBOb3QgeWV0IGltcGxlbWVu
dGVkOgorICAgICAgICAgIDEgbGV4aWNhbCBiaW5kIG9mIHRoZSBhcmd1bWVudHMgJiBzdXBlcgor
ICAgICAgICAgIDIgSW5zaWRlIGFuIGFycm93IGZ1bmN0aW9uLCBuZXcudGFyZ2V0IHJlZmVycyB0
byB0aGUgbmV3LnRhcmdldCBvZiB0aGUgc3Vycm91bmRpbmcgbm9uLWFycm93IGZ1bmN0aW9uLgor
ICAgICAgICAgIDMgYXJyb3cgZnVuY3Rpb24gZG9lc27DosKAwpl0IGlubGluZSAmIGNvbXBpbGUg
aW4gREZHIG1vZGUuIAorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWc6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29y
ZS52Y3hwcm9qOgorICAgICAgICAqIGJ5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uOgorICAgICAg
ICAqIGJ5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmg6CisgICAgICAgIChKU0M6OkZ1bmN0b3I6OmNv
bXB1dGVVc2VzRm9yQnl0ZWNvZGVPZmZzZXQpOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9j
ay5jcHA6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6ZHVtcEJ5dGVjb2RlKToKKyAgICAgICAg
KiBieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRv
cjo6ZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKTogYWRkZWQKKyAgICAgICAgKEpTQzo6
Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRUaGlzTm9kZUJ5dGVjb2RlKTogYWRkZWQKKyAgICAgICAg
KiBieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6ZW1pdEJ5dGVj
b2RlOjplbWl0Qnl0ZWNvZGUpOiBhZGRlZAorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNFeHByTm9k
ZTo6ZW1pdEJ5dGVjb2RlKTogYWRkZWQKKyAgICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIu
Y3BwOgorICAgICAgICAoSlNDOjpCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayk6CisgICAgICAg
ICogZGZnL0RGR0NhcGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkNhcGFiaWxpdHlMZXZl
bDo6Y2FwYWJpbGl0eUxldmVsKToKKyAgICAgICAgKiBqaXQvSklULmg6CisgICAgICAgIChKU0M6
OkpJVDo6ZW1pdF9vcF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAgICAqIGppdC9K
SVRJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkpJVDo6Y2FsbE9wZXJhdGlvbik6IGFkZGVkCisg
ICAgICAgICogaml0L0pJVC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVN
YWluUGFzcyk6CisgICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgorICAgICAgICAoSlNDOjpK
SVQ6OmVtaXRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklU
T3BlcmF0aW9ucy5jcHA6CisgICAgICAgIChKU0M6OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5l
d0Fycm93RnVuY3Rpb24pOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmg6Cisg
ICAgICAgIChKU0M6OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24pOiBh
ZGRlZAorICAgICAgICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAgICAgICAgKExMSU5U
X1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAg
ICAgICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmg6CisgICAgICAgIChMTElOVF9TTE9XX1BBVEhf
REVDTChzbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKSk6IGFkZGVkCisgICAgICAgICogbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206CisgICAgICAgICogZGZnL0RGR0Fic3RyYWN0SW50
ZXJwcmV0ZXJJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RJbnRlcnByZXRl
cjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKToKKyAgICAgICAgKiBkZmcvREZH
Qnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpw
YXJzZUJsb2NrKToKKyAgICAgICAgKiBkZmcvREZHQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAgICAg
KEpTQzo6REZHOjpjYXBhYmlsaXR5TGV2ZWwpOgorICAgICAgICAqIGRmZy9ERkdDbG9iYmVyaXpl
Lmg6CisgICAgICAgIChKU0M6OkRGRzo6Y2xvYmJlcml6ZSk6CisgICAgICAgICogZGZnL0RGR0Rv
ZXNHQy5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6ZG9lc0dDKToKKyAgICAgICAgKiBkZmcvREZH
Rml4dXBQaGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Rml4dXBQaGFzZTo6Zml4dXBOb2Rl
KToKKyAgICAgICAgKiBkZmcvREZHTm9kZS5oOgorICAgICAgICAoSlNDOjpERkc6Ok5vZGU6Omhh
c0NlbGxPcGVyYW5kKToKKyAgICAgICAgKiBkZmcvREZHTm9kZVR5cGUuaDoKKyAgICAgICAgKiBk
ZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6
OlByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlOjpwcm9wYWdhdGUpOgorICAgICAgICAqIGRmZy9E
RkdTYWZlVG9FeGVjdXRlLmg6CisgICAgICAgIChKU0M6OkRGRzo6c2FmZVRvRXhlY3V0ZSk6Cisg
ICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmg6CisgICAgICAgIChKU0M6OkRGRzo6U3Bl
Y3VsYXRpdmVKSVQ6OmNhbGxPcGVyYXRpb24pOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2
ZUpJVDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwOgorICAgICAgICAoSlND
OjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBkZmcvREZHU3RydWN0
dXJlUmVnaXN0cmF0aW9uUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlN0cnVjdHVyZVJl
Z2lzdHJhdGlvblBoYXNlOjpydW4pOgorICAgICAgICAqIGZ0bC9GVExBYnN0cmFjdEhlYXBSZXBv
c2l0b3J5LmNwcDoKKyAgICAgICAgKiBmdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oOgor
ICAgICAgICAqIGZ0bC9GVExDYXBhYmlsaXRpZXMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OmNh
bkNvbXBpbGUpOgorICAgICAgICAqIGZ0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5Lmg6CisgICAg
ICAgICogZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpMb3dl
ckRGR1RvTExWTTo6Y29tcGlsZU5vZGUpOgorICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9M
TFZNOjpjb21waWxlTmV3QXJyb3dGdW5jdGlvbik6CisgICAgICAgICogcGFyc2VyL0FTVEJ1aWxk
ZXIuaDoKKyAgICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIp
OgorICAgICAgICAqIHBhcnNlci9MZXhlci5jcHA6CisgICAgICAgIChKU0M6OkxleGVyPFQ+Ojpz
ZXRUb2tlblBvc2l0aW9uKToKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OmxleCk6CisgICAgICAg
ICogcGFyc2VyL0xleGVyLmg6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRUb2tlblBvc2l0
aW9uKToKKyAgICAgICAgKiBwYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oOgorICAgICAgICAoSlND
OjpBcnJvd0Z1bmNFeHByTm9kZTo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZAorICAgICAgICAq
IHBhcnNlci9Ob2Rlcy5oOgorICAgICAgICAoSlNDOjpOb2RlOjppc0Fycm93RnVuY0V4cHJOb2Rl
KTogYWRkZWQKKyAgICAgICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZCBjbGFzcwog
ICAgICAgICAqIHBhcnNlci9QYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VTb3VyY2VFbGVtZW50cyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZVByaW1hcnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJz
ZVNvdXJjZUVsZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KToK
KyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyOjpwYXJzZVByaW1hcnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6
UGFyc2VyOjpwYXJzZUFycm93RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6c2V0
RW5kT2ZTdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlv
bldyYXBwZXIpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkluZm8p
OgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkJvZHkpOgorICAgICAg
ICAqIHBhcnNlci9QYXJzZXIuaDoKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpGdW5jdGlvblBhcnNl
VHlwZSk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VTb3VyY2VFbGVtZW50KToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyOjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6
cGFyc2VBcnJvd0V4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnNldEVuZE9mU3Rh
dGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVy
KToKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmg6CisgICAgICAgICogcGFy
c2VyL1BhcnNlclRva2Vucy5oOgorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbkluZm86OmFy
cm93RnVuY3Rpb25PZmZzZXQpOiBhZGRlZAorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlvbklu
Zm86OmlzQXJyb3dGdW5jdGlvbik6IGFkZGVkCisgICAgICAgIChKU0M6OlBhcnNlckZ1bmN0aW9u
SW5mbzo6YXJyb3dGdW5jdGlvbkJvZHlUeXBlKTogYWRkZWQKKyAgICAgICAgKiBwYXJzZXIvU291
cmNlQ29kZS5oOgorICAgICAgICAoSlNDOjpTb3VyY2VDb2RlOjpzdWJBcnJvd0V4cHJlc3Npb24p
OgorICAgICAgICAqIHBhcnNlci9TeW50YXhDaGVja2VyLmg6CisgICAgICAgIChKU0M6OlN5bnRh
eENoZWNrZXI6OmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAgICAgKiBwYXJzZXIvU291
cmNlUHJvdmlkZXJDYWNoZUl0ZW06CisgICAgICAgIChKU0M6OlNvdXJjZVByb3ZpZGVyQ2FjaGVJ
dGVtQ3JlYXRpb25QYXJhbWV0ZXJzKToKKyAgICAgICAgKEpTQzo6U291cmNlUHJvdmlkZXJDYWNo
ZUl0ZW0pOgorICAgICAgICAoSlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6ZW5kQXJyb3dG
dW5jdGlvblRva2VuKToKKyAgICAgICAgKiBydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oOiBhZGRl
ZCBjbGFzcyBmb3IgaGFuZGxlIGFycm93IGZ1bmN0aW9uIGNyZWF0aW9uIGFuZCBleGVjdXRpb24K
KyAgICAgICAgKiBydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHA6CisgICAgICAgICogcnVudGlt
ZS9KU0Z1bmN0aW9uLmg6CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OkpTRnVuY3Rpb24pOiBh
ZGRlZCBvbmUgbW9yZSBjb25zdHJ1Y3RvcgorICAgICAgICAqIHJ1bnRpbWUvSlNGdW5jdGlvbklu
bGluZXMuaDoKKyAgICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6SlNGdW5jdGlvbik6IGFkZGVkIGNv
bnN0cnVjdG9yIGltcGxlbWVudGF0aW9uCisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVj
dC5jcHA6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToKKyAgICAgICAgKEpT
Qzo6SlNHbG9iYWxPYmplY3Q6Om1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZSk6IGFkZGVkCisgICAg
ICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0OjphcnJvd0Z1bmN0aW9uU3RydWN0dXJlKToKKyAgICAg
ICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3BhcmFtdGVyLTEuanM6IEFkZGVkLgor
ICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzcGFyYW10ZXItMi5qczogQWRk
ZWQuCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYm91bmQuanM6IEFkZGVk
LgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNhbGwuanM6IEFkZGVkLgor
ICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNvbnN0cnVjdG9yLmpzOgorICAg
ICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtYXJndW1lbnRzLmpzOiBB
ZGRlZC4KKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMt
MS5qczogQWRkZWQuCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNh
bC10aGlzLTIuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LXJ1bi0xMC0xLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1ydW4tMTAtMi5qczogQWRkZWQuCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tcnVuLTEwMDAwLTEuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1
bmN0aW9uLXJ1bi0xMDAwMC0yLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJy
b3dmdW5jdGlvbi1zeW50YXguanM6IEFkZGVkLgogCiAyMDE1LTA1LTAxICBKb3JkYW4gSGFyYmFu
ZCAgPGxqaGFyYkBnbWFpbC5jb20+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0Y2YxZTNjMmQ1Y2E0ZDRjNWIw
NzUxMzUwNzJhYjdkMmI3MWNiMTUxLi4yYjJhZmFlY2Q4YWFhYmE4ZjQ5YmY2OWU4MjJlMzVkY2Jk
N2U5MTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDQtMTcgIFNrYWNoa292
IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBsZW1l
bnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJST1dG
VU5DVElPTl9TWU5UQVggZm9yIGFycm93IGZ1bmN0aW9uCisKKyAgICAgICAgKiBDb25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxNS0wNS0wMSAgQ29tbWl0IFF1ZXVl
ICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGlu
ZyBvdXQgcjE4MzY4Ny4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCBhZmViYjY2OTFjNDA4MzQ1MDE2OTI1
MGZlY2E3NmMyZTIyNmIxMTE0Li4zNTBlNTk0NzI3NjhhMDVjY2EyMDAwZTE2NmQ2OWJkYjlhMzk3
OTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDQtMTcgIFNrYWNo
a292IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBs
ZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVggZm9yIGFycm93IGZ1bmN0aW9uCisKKyAgICAgICAgKiBDb25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxNS0wNS0wMSAgQnJhZHkgRWlk
c29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIEFQSSB0byBkaXNhYmxlIG1l
dGEgcmVmcmVzaGVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlz
dHMudHh0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDY1ZDgz
YTQxMzliMmIzZTdhMmExZWQ4YmYzNGU2NjJlYzNhZGRkNmUuLjI0Y2M4YTIwZjQyZTlmMzA5ZjAz
MTkxOTA3OTYxNGI0NTQ4MjJjMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
TWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQK
QEAgLTQ3MCw2ICs0NzAsNyBAQCBzZXQoSmF2YVNjcmlwdENvcmVfUlVOVElNRV9TT1VSQ0VTCiAg
ICAgcnVudGltZS9KU0FycmF5QnVmZmVyVmlldy5jcHAKICAgICBydW50aW1lL0pTQXJyYXlJdGVy
YXRvci5jcHAKICAgICBydW50aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAKKyAgICBydW50aW1lL0pT
QXJyb3dGdW5jdGlvbi5jcHAKICAgICBydW50aW1lL0pTR2xvYmFsT2JqZWN0RGVidWdnYWJsZS5j
cHAKICAgICBydW50aW1lL0pTQ0pTVmFsdWUuY3BwCiAgICAgcnVudGltZS9KU0NhbGxlZS5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBmYzkwZjYxMTU2MjMxYTQxY2E5MTM3ZjE3Yzc5
NTVlOGQzNzNiMGVhLi4wYzg4NDBmNmFiNTE4NWY4MzU0YjcwNjAzZTAyNWYyNWEyYTc5ZjRhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00NCw2ICs0NCw3IEBAIEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkcgPSBFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HOwogRU5BQkxFX0NBTlZBU19Q
QVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKK0VOQUJMRV9F
UzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
OwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKIEVO
QUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVggPSBFTkFCTEVfRVM2X1RFTVBMQVRFX0xJ
VEVSQUxfU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRf
RklMVEVSSU5HOwpAQCAtMjE1LDQgKzIxNiw0IEBAIEVOQUJMRV9KSVQgPSBFTkFCTEVfSklUOwog
CiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9M
QVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNG
T1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRF
RF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRU
QUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NB
TlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfVEVNUExBVEVfTElU
RVJBTF9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVY
VCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNP
UkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJ
Q0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1B
R0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9D
U1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19T
SEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUsp
ICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRM
RVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5U
KSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQp
ICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RS
VUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
X1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMp
ICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1F
UEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFH
RV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9T
RVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVf
TU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVL
KSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xF
R0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElO
S19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJ
UFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChF
TkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNP
Ul9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklH
QVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZL
SVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVO
QUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5B
QkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVR
VUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JF
U09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9D
U1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVB
TVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5B
QkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElP
TikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAk
KEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFC
TEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9W
SURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5B
QkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVE
SU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9Q
SUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9O
UykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQp
ICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVO
QUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJM
RV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAk
KEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykg
JChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hB
Tk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFC
TEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFY
KSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxF
X0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVB
SykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJ
T04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMp
ICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVO
QUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9D
VVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJM
RV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVf
REFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFC
TEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9G
VUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNB
VEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVS
X1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05U
Uk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQo
RU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJ
Q0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gp
ICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVS
X0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQo
RU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05D
VVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikg
JChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElN
SVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkg
JChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NP
TVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01F
RElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9T
TkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChF
TkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RG
X0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxF
X1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJ
TElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5B
QkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01P
REVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJM
RV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpF
UykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxF
X1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9K
SVQpICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9f
UFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvaiBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oK
aW5kZXggZmViZGUyNzVjN2VkYmFmZDVkYzZiOWZjZWIxMjRhZTBiZTlhYTc2Yi4uNGQ5OWE4N2U1
M2UzNTNiOTc0NTU4MmE5NjgzN2NlYjk4NTY0ODVhYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2Ny
aXB0Q29yZS52Y3hwcm9qCkBAIC03MzUsNiArNzM1LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHAiIC8+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJWaWV3LmNwcCIgLz4KICAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNCb3VuZEZ1bmN0aW9uLmNwcCIgLz4KKyAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJvd0Z1bmN0aW9uLmNwcCIgLz4K
ICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZS5jcHAiIC8+CiAg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ2FsbGVlLmNwcCIgLz4KICAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDYXRjaFNjb3BlLmNwcCIgLz4KQEAgLTE1
MzcsNiArMTUzOCw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJy
YXlCdWZmZXJWaWV3SW5saW5lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVu
dGltZVxKU0FycmF5SXRlcmF0b3IuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1
bnRpbWVcSlNCb3VuZEZ1bmN0aW9uLmgiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxy
dW50aW1lXEpTQXJyb3dGdW5jdGlvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
cnVudGltZVxKU0NJbmxpbmVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50
aW1lXEpTQ0pTVmFsdWUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVc
SlNDSlNWYWx1ZUlubGluZXMuaCIgLz4KQEAgLTE4MTcsNCArMTgxOSw0IEBACiAgIDxJbXBvcnRH
cm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFZD
VGFyZ2V0c1BhdGgpXEJ1aWxkQ3VzdG9taXphdGlvbnNcbWFzbS50YXJnZXRzIiAvPgogICA8L0lt
cG9ydEdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvUHJv
amVjdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMWEyYjQ2MGU3ZjgzODhlYWE4
ZTMxOWJmMjU0ZWE2N2FmMmI5YjFlZi4uM2QwNjk2NjBmMDkxNDE0MzFlYjQ5OThlNDVjNDk4ODY5
MmY4OGI5MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTExMDYsNiArMTEwNiw4
IEBACiAJCTg2RjNFRUJGMTY4Q0RFOTMwMDc3QjkyQSAvKiBPYmpjUnVudGltZUV4dHJhcy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGM0VFQjYxNjg1
NUE1QjAwNzdCOTJBIC8qIE9iamNSdW50aW1lRXh0cmFzLmggKi87IH07CiAJCTg2RkE5RTkxMTQy
QkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpT
Qm91bmRGdW5jdGlvbi5jcHAgKi87IH07CiAJCTg2RkE5RTkyMTQyQkJCMkUwMDE3NzNCNyAvKiBK
U0JvdW5kRnVuY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLzsg
fTsKKwkJOEIwRjQyNEMxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QjBGNDI0QjFBQkQ2
REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCAqLzsgfTsKKwkJOEIwRjQyNEMxQUJE
NkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJy
b3dGdW5jdGlvbi5oICovOyB9OwogCQk5MDIxM0UzRDEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5
U3RhdGlzdGljcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5MDIxM0UzQjEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi87
IH07CiAJCTkwMjEzRTNFMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIxM0UzQzEyM0E0
MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkzMDUyQzM0MEZCNzkyMTkwMDQ4RkRDMyAvKiBQ
YXJzZXJBcmVuYS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA5MzA1MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwICovOyB9OwpA
QCAtMjg1NCw2ICsyODU2LDggQEAKIAkJODZGNzVFRkQxNTFDMDYyRjAwN0M5QkEzIC8qIFJlZ0V4
cE1hdGNoZXNBcnJheS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBS
ZWdFeHBNYXRjaGVzQXJyYXkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkZB
OUU4RjE0MkJCQjJEMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQm91bmRGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVu
Y3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9u
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdF
QSAvKiBKU0Fycm93RnVuY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcnJvd0Z1bmN0aW9uLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCThCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAv
KiBKU0Fycm93RnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNBcnJvd0Z1bmN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTAy
MTNFM0IxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVtb3J5U3RhdGlzdGljcy5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlT
dGF0aXN0aWNzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lbW9yeVN0YXRp
c3RpY3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzIwRkI3OTIxOTAw
NDhGREMzIC8qIFBhcnNlckFyZW5hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFBhcnNlckFyZW5hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ0
NjksNiArNDQ3Myw4IEBACiAJCQkJQTdCREFFQzUxN0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJyYXlJ
dGVyYXRvci5oICovLAogCQkJCTg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVu
Y3Rpb24uY3BwICovLAogCQkJCTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVu
Y3Rpb24uaCAqLywKKwkJCQk4QjBGNDI0QTFBQkQ2RDJGMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0
aW9uLmggKi8sCisJCQkJOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlv
bi5jcHAgKi8sCiAJCQkJNjU3Q0Y0NTYxOUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmNwcCAq
LywKIAkJCQk2NTdDRjQ1NzE5QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuaCAqLywKIAkJCQkw
RkQ5NDk3RTFBOTdEQjk2MDBFMjg5NjYgLyogSlNDYXRjaFNjb3BlLmNwcCAqLywKQEAgLTcyMjQs
NiArNzIzMCw3IEBACiAJCQkJMEZEOEEzMUIxN0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTE9TUkVudHJ5
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjM1QkRDMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExP
U1JFeGl0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGMjM1QkRGMTcxNzhFMUMwMDY5MEM3RiAv
KiBGVExPU1JFeGl0Q29tcGlsZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOEIwRjQyNEMxQUJE
NkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkw
RkVBMEEyQTE3MDk2Mjk2MDBCQjcyMkMgLyogRlRMT3V0cHV0LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTBGNDg1MzI5MTg3REZERUMwMDgzQjY4NyAvKiBGVExSZWNvdmVyeU9wY29kZS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkwRjZCMUNDMzE4NjJDNDc4MDA4NDVEOTcgLyogRlRMUmVnaXN0ZXJB
dE9mZnNldC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9CeXRlY29kZUxpc3QuanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9CeXRlY29kZUxpc3QuanNvbgppbmRleCBlM2VkMWRjZGE0ZTAzYTVmMTFlZjkxZTU2
MTE5ZWI5MzA1MWZiN2Y2Li41NmNiYTkzNmM0NzUwNWY1NDY4NDFlZDU3YmI5YjhlOGQzZDE2ZDhj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0
Lmpzb24KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5q
c29uCkBAIC05NSw2ICs5NSw3IEBACiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9zd2l0Y2hf
c3RyaW5nIiwgImxlbmd0aCIgOiA0IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdf
ZnVuYyIsICJsZW5ndGgiIDogNCB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfbmV3X2Z1
bmNfZXhwIiwgImxlbmd0aCIgOiA0IH0sCisgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdf
YXJyb3dfZnVuY19leHAiLCAibGVuZ3RoIiA6IDUgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDog
Im9wX2NhbGwiLCAibGVuZ3RoIiA6IDkgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2Nh
bGxfZXZhbCIsICJsZW5ndGgiIDogOSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2Fs
bF92YXJhcmdzIiwgImxlbmd0aCIgOiA5IH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9CeXRlY29kZVVzZURlZi5oCmluZGV4IDc2NjdlNjgzZTQ1NGE0OTk5ODZlZGFjZDkw
YjY0OTE3MjQyMDM3Y2QuLmRhNGEyYWFlZWMyODQ1OTQxYWUzNjZkY2ZiOTg1OTFjY2IzY2NkNDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURl
Zi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5o
CkBAIC0xMTUsNiArMTE1LDkgQEAgdm9pZCBjb21wdXRlVXNlc0ZvckJ5dGVjb2RlT2Zmc2V0KAog
ICAgIGNhc2Ugb3BfZ2V0X3Byb3BlcnR5X2VudW1lcmF0b3I6CiAgICAgY2FzZSBvcF9nZXRfZW51
bWVyYWJsZV9sZW5ndGg6CiAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoK
KyNlbmRpZgogICAgIGNhc2Ugb3BfdG9faW5kZXhfc3RyaW5nOgogICAgIGNhc2Ugb3BfaW5pdF9n
bG9iYWxfY29uc3Rfbm9wOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29uc3Q6CkBAIC0zMDcs
NiArMzEwLDkgQEAgdm9pZCBjb21wdXRlRGVmc0ZvckJ5dGVjb2RlT2Zmc2V0KENvZGVCbG9jayog
Y29kZUJsb2NrLCB1bnNpZ25lZCBieXRlY29kZU9mZnNldCwKICAgICBjYXNlIG9wX25ld19yZWdl
eHA6CiAgICAgY2FzZSBvcF9uZXdfZnVuYzoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93
X2Z1bmNfZXhwOgorI2VuZGlmCiAgICAgY2FzZSBvcF9jYWxsX3ZhcmFyZ3M6CiAgICAgY2FzZSBv
cF9jb25zdHJ1Y3RfdmFyYXJnczoKICAgICBjYXNlIG9wX2dldF9mcm9tX3Njb3BlOgpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAppbmRleCA5MDEzOGY5N2Ni
ZDgyOGY5NzJjYjIyNDQyYmY0MDQ0MWQxM2Y0MDU2Li43MTgzZDA0ZGQ4ODJiYjYyMjNmYmFjZTE3
ZTVmYmI1MDA5MWQ4MDA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQ29kZUJsb2NrLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29k
ZUJsb2NrLmNwcApAQCAtMTMwMSw2ICsxMzAxLDE3IEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wQnl0
ZWNvZGUoCiAgICAgICAgICAgICBvdXQucHJpbnRmKCIlcywgJXMsIGYlZCIsIHJlZ2lzdGVyTmFt
ZShyMCkuZGF0YSgpLCByZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjApOwogICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgICAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDogeworICAgICAgICAgICAgaW50IHIw
ID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUub3Bl
cmFuZDsKKyAgICAgICAgICAgIGludCBmMCA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAg
ICAgaW50IHIyID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBwcmludExvY2F0aW9u
QW5kT3Aob3V0LCBleGVjLCBsb2NhdGlvbiwgaXQsICJvcF9uZXdfYXJyb3dfZnVuY19leHAiKTsK
KyAgICAgICAgICAgIG91dC5wcmludGYoIiVzLCAlcywgZiVkLCAlcyIsIHJlZ2lzdGVyTmFtZShy
MCkuZGF0YSgpLCByZWdpc3Rlck5hbWUocjEpLmRhdGEoKSwgZjAsIHJlZ2lzdGVyTmFtZShyMiku
ZGF0YSgpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAg
Y2FzZSBvcF9uZXdfZnVuY19leHA6IHsKICAgICAgICAgICAgIGludCByMCA9ICgrK2l0KS0+dS5v
cGVyYW5kOwogICAgICAgICAgICAgaW50IHIxID0gKCsraXQpLT51Lm9wZXJhbmQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9y
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0
b3IuY3BwCmluZGV4IDJmMjFlNDliNjUxMGYxYmU1OGQwOWMzMTQwNWUzN2NhOWVkYjMxOWYuLjQx
ODg5YWEzNGRhZmZmMTA2NDAwNmZjODMwZDk3ZmYwZjA2NmIyYTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3Bw
CkBAIC0xNzc1LDYgKzE3NzUsMjIgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVt
aXROZXdGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogcjAsIEZ1bmNFeHAKICAgICBpbnN0
cnVjdGlvbnMoKS5hcHBlbmQoaW5kZXgpOwogICAgIHJldHVybiByMDsKIH0KKyAgICAKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5l
cmF0b3I6OmVtaXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVu
Y0V4cHJOb2RlKiBuKQoreworICAgIGVtaXRURFpDaGVjayh0aGlzUmVnaXN0ZXIoKSk7CisgICAg
RnVuY3Rpb25Cb2R5Tm9kZSogZnVuY3Rpb24gPSBuLT5ib2R5KCk7CisgICAgdW5zaWduZWQgaW5k
ZXggPSBtX2NvZGVCbG9jay0+YWRkRnVuY3Rpb25FeHByKG1ha2VGdW5jdGlvbihmdW5jdGlvbikp
OworICAgIAorICAgIGVtaXRPcGNvZGUob3BfbmV3X2Fycm93X2Z1bmNfZXhwKTsKKyAgICBpbnN0
cnVjdGlvbnMoKS5hcHBlbmQocjAtPmluZGV4KCkpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVu
ZChzY29wZVJlZ2lzdGVyKCktPmluZGV4KCkpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChp
bmRleCk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHRoaXNSZWdpc3RlcigpLT5pbmRleCgp
KTsKKyAgICByZXR1cm4gcjA7Cit9CisjZW5kaWYKIAogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5l
cmF0b3I6OmVtaXROZXdEZWZhdWx0Q29uc3RydWN0b3IoUmVnaXN0ZXJJRCogZHN0LCBDb25zdHJ1
Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKQogewpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVy
YXRvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVy
YXRvci5oCmluZGV4IDlhZjhkNGZjNDg1ZDk4OTI0MWIxMTExODA5MjdhYWE3NmE5NTMxYzQuLmNh
NjhhMjllNmJmMTViZWUyMGI2OTdhMDRmMjg3ZWNmZjhiYmM4Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAg
LTQ1NCw2ICs0NTQsMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVt
aXROZXdGdW5jdGlvbkludGVybmFsKFJlZ2lzdGVySUQqIGRzdCwgdW5zaWduZWQgaW5kZXgpOwog
ICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQq
IGRzdCwgRnVuY0V4cHJOb2RlKiBmdW5jKTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0Rl
ZmF1bHRDb25zdHJ1Y3RvcihSZWdpc3RlcklEKiBkc3QsIENvbnN0cnVjdG9yS2luZCwgY29uc3Qg
SWRlbnRpZmllciYgbmFtZSk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lz
dGVySUQqLCBGdW5jRXhwck5vZGUqKTsKKyAgICAgICAgUmVnaXN0ZXJJRCogZW1pdFRoaXNOb2Rl
Qnl0ZWNvZGUoUmVnaXN0ZXJJRCosIEpTVGV4dFBvc2l0aW9uKTsKKyNlbmRpZgogICAgICAgICBS
ZWdpc3RlcklEKiBlbWl0TmV3UmVnRXhwKFJlZ2lzdGVySUQqIGRzdCwgUmVnRXhwKik7CiAKICAg
ICAgICAgUmVnaXN0ZXJJRCogZW1pdE1vdmVMaW5rVGltZUNvbnN0YW50KFJlZ2lzdGVySUQqIGRz
dCwgTGlua1RpbWVDb25zdGFudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKaW5kZXggMGYwYjc4ZjBlNTkxZDliYjE2Yjk1ODFk
NWQ1NjA0ZDQ4ZTViNzc2Zi4uZDk0N2FmY2I2ODhmYWIwMDhmZmM5MjgwZTI4OWM1YWQ2YjlhMmRh
NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0Nv
ZGVnZW4uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXND
b2RlZ2VuLmNwcApAQCAtMjkwMSw2ICsyOTAxLDE0IEBAIFJlZ2lzdGVySUQqIEZ1bmNFeHByTm9k
ZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQq
CiAgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uKGdlbmVyYXRv
ci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHRoaXMpOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkgICAgCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0g
QXJyb3dGdW5jRXhwck5vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitSZWdp
c3RlcklEKiBBcnJvd0Z1bmNFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9y
JiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKK3sKKyAgICByZXR1cm4gZ2VuZXJhdG9yLmVt
aXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihk
c3QpLCB0aGlzKTsKK30KKyNlbmRpZgorICAgIAogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFY
KQogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIENsYXNzRGVjbE5vZGUgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaAppbmRleCA5MzQy
MDkzNWIzOGJlZjQ0NzhlZGEwYzk1ZjlkODU1MjYzYmZkNzAyLi4yNWUxYzczNjRhNmQ3Mjk4ODdi
ZDE0ZjlmYjI1OTc5OTBiZjkyZjljIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCkBAIC0xNTM0LDcgKzE1
MzQsMTMgQEAgYm9vbCBBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhl
Y3V0ZUVmZmVjdHModW5zaWduZWQgY2xvYmJlckxpbWkKICAgICBjYXNlIENyZWF0ZUNsb25lZEFy
Z3VtZW50czoKICAgICAgICAgZm9yTm9kZShub2RlKS5zZXRUeXBlKG1fZ3JhcGgsIFNwZWNPYmpl
Y3RPdGhlcik7CiAgICAgICAgIGJyZWFrOwotICAgICAgICAKKyAgICAgICAgICAgIAorICAgIGNh
c2UgTmV3QXJyb3dGdW5jdGlvbjoKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgICAgICBmb3JOb2RlKG5vZGUpLnNldCgKKyAgICAgICAgICAgIG1fZ3JhcGgsIG1fY29k
ZUJsb2NrLT5nbG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKS0+YXJyb3dGdW5j
dGlvblN0cnVjdHVyZSgpKTsKKyNlbmRpZgorICAgICAgICBicmVhazsKICAgICBjYXNlIE5ld0Z1
bmN0aW9uOgogICAgICAgICBmb3JOb2RlKG5vZGUpLnNldCgKICAgICAgICAgICAgIG1fZ3JhcGgs
IG1fY29kZUJsb2NrLT5nbG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKS0+ZnVu
Y3Rpb25TdHJ1Y3R1cmUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0NhcGFiaWxpdGllcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFi
aWxpdGllcy5jcHAKaW5kZXggZWY0YzI0NzQ5Yjc4ZmE2ZTA5YTRjM2Q5YzI5MDEzZWFhNjVkYWE5
Mi4uMGUzYzg4MGI3Y2NjYjliNzUwYWEzMDg5NWYwNjk1OThkNTJkZmZiMCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcApAQCAtMjMxLDYgKzIzMSw3
IEBAIENhcGFiaWxpdHlMZXZlbCBjYXBhYmlsaXR5TGV2ZWwoT3Bjb2RlSUQgb3Bjb2RlSUQsIENv
ZGVCbG9jayogY29kZUJsb2NrLCBJbnN0cnVjCiAgICAgY2FzZSBvcF9zd2l0Y2hfc3RyaW5nOiAv
LyBEb24ndCBpbmxpbmUgYmVjYXVzZSB3ZSBkb24ndCB3YW50IHRvIGNvcHkgc3RyaW5nIHRhYmxl
cyBpbiB0aGUgY29uY3VycmVudCBKSVQuCiAgICAgICAgIHJldHVybiBDYW5Db21waWxlOwogCisg
ICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6IC8vIEZpeG1lOiBBcnJvdyBmdW5jdGlvbiBj
YW5uJ3QgYmUgaW5saW5lIGFzIHRoZSBjb21tb24gZnVuY3Rpb24gYmVjYXVzZSBpdCBoYXMgbGV4
aWNhbHkgYmluZCB0aGlzL2FyZ3VtZW50cyBhbmQgZXRjLiBhbmQgIGFycm93IGZ1bmN0aW9uIGhh
cyB0byBoYXZlIGl0cyBvd24gY29tcGlsZSBhbmQgaW5saW5lIGFwcHJvYWNoLgogICAgIGRlZmF1
bHQ6CiAgICAgICAgIHJldHVybiBDYW5ub3RDb21waWxlOwogICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKaW5kZXggZDM4NTc5ZTM0YmI4MDY0MzI3MTk2ZWMy
NTBjNjkzMTExNDFmMWMwMy4uZWNjN2JmOGYyNWRkZmFmZmE4MjJiMmIzZTQ1ZGFjYjhjYzA2MzA5
NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKQEAgLTg2MSw3
ICs4NjEsOCBAQCB2b2lkIGNsb2JiZXJpemUoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlLCBjb25z
dCBSZWFkRnVuY3RvciYgcmVhZCwgY29uc3QgV3JpdGVGdQogICAgICAgICByZWFkKEhlYXBPYmpl
Y3RDb3VudCk7CiAgICAgICAgIHdyaXRlKEhlYXBPYmplY3RDb3VudCk7CiAgICAgICAgIHJldHVy
bjsKLSAgICAgICAgCisgICAgCisgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgogICAgIGNhc2Ug
TmV3RnVuY3Rpb246CiAgICAgICAgIGlmIChub2RlLT5jYXN0T3BlcmFuZDxGdW5jdGlvbkV4ZWN1
dGFibGUqPigpLT5zaW5nbGV0b25GdW5jdGlvbigpLT5pc1N0aWxsVmFsaWQoKSkKICAgICAgICAg
ICAgIHdyaXRlKFdhdGNocG9pbnRfZmlyZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0RvZXNHQy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Rv
ZXNHQy5jcHAKaW5kZXggNDg3MWYwYTk2MjMxZDE3M2VkOTAxNjI3NTBmMDk0YzdlMWIxMTViMi4u
NDFhNzIxMzg5YzUxYzFkOTJjZDhlZGYxNTZlODZmNTAyOTI0ZDY5ZiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcApAQCAtMjI4LDYgKzIyOCw3IEBAIGJvb2wgZG9lc0dD
KEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSkKICAgICBjYXNlIE5ld1JlZ2V4cDoKICAgICBjYXNl
IE5ld1N0cmluZ09iamVjdDoKICAgICBjYXNlIE1ha2VSb3BlOgorICAgIGNhc2UgTmV3QXJyb3dG
dW5jdGlvbjoKICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgIGNhc2UgTmV3VHlwZWRBcnJheToK
ICAgICBjYXNlIFRocm93UmVmZXJlbmNlRXJyb3I6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdGaXh1cFBoYXNlLmNwcAppbmRleCA2NTJjYjZhMjJhOTFlOGNiNmZhODMxNmMzZDhjMjll
YmJhN2Q1NmEzLi4zMTRiOGVmODBhOTk3NDkwMzcyZGU5MTFkMDlkZDdkYzlmYjE3MjE1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKQEAgLTExODIsNiAr
MTE4Miw3IEBAIHByaXZhdGU6CiAKICAgICAgICAgY2FzZSBDcmVhdGVTY29wZWRBcmd1bWVudHM6
CiAgICAgICAgIGNhc2UgQ3JlYXRlQWN0aXZhdGlvbjoKKyAgICAgICAgY2FzZSBOZXdBcnJvd0Z1
bmN0aW9uOgogICAgICAgICBjYXNlIE5ld0Z1bmN0aW9uOiB7CiAgICAgICAgICAgICBmaXhFZGdl
PENlbGxVc2U+KG5vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR05vZGUuaAppbmRleCBmYjQ0NWI3NjJmMWNiNTg0ZTQ5YTMxYjM4NjZjZmNi
YzMwOTgwMGJhLi4wY2Q2OWE3Nzk1YWJiMzlhYjdhYjZhMWU3NTU1OTI2YzFmNWQ5NjhmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaApAQCAtMTI2Nyw2ICsxMjY3LDcgQEAgc3RydWN0
IE5vZGUgewogICAgICAgICBjYXNlIENoZWNrQ2VsbDoKICAgICAgICAgY2FzZSBOYXRpdmVDb25z
dHJ1Y3Q6CiAgICAgICAgIGNhc2UgTmF0aXZlQ2FsbDoKKyAgICAgICAgY2FzZSBOZXdBcnJvd0Z1
bmN0aW9uOgogICAgICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgICAgIGRlZmF1bHQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR05vZGVUeXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBl
LmgKaW5kZXggYjlmMDI1ZmI5YWI4YjdkZDU1NzNkMGQ3ODRjNjVkZTM2NjBjNWUwOS4uNDc0ODcx
ZTdhZjU0ZmM0Nzg3M2NkNTBlZjVkZjFmOTViMTBiYjcwNSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHTm9kZVR5cGUuaApAQCAtMjkxLDYgKzI5MSw4IEBAIG5hbWVzcGFjZSBKU0MgeyBu
YW1lc3BhY2UgREZHIHsKICAgICBcCiAgICAgbWFjcm8oTmV3RnVuY3Rpb24sIE5vZGVSZXN1bHRK
UykgXAogICAgIFwKKyAgICBtYWNybyhOZXdBcnJvd0Z1bmN0aW9uLCBOb2RlUmVzdWx0SlMgfCBO
b2RlTXVzdEdlbmVyYXRlKSBcCisgICAgXAogICAgIC8qIFRoZXNlIGFyZW4ndCB0ZXJtaW5hbHMg
YnV0IGFsd2F5cyBleGl0ICovIFwKICAgICBtYWNybyhUaHJvdywgTm9kZU11c3RHZW5lcmF0ZSkg
XAogICAgIG1hY3JvKFRocm93UmVmZXJlbmNlRXJyb3IsIE5vZGVNdXN0R2VuZXJhdGUpIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0
aW9uUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJv
cGFnYXRpb25QaGFzZS5jcHAKaW5kZXggZmRiOGZkYTU4MWVmNGM1MGJkMTA1NTA4Mjc2YTE3YWVm
YjdiNmM4Yy4uMzAzMjliNWFmMjc0NDU2OGE5MzUxNjMzZmFkOWUxMjMzNmNjMTk4ZCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25Q
aGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJv
cGFnYXRpb25QaGFzZS5jcHAKQEAgLTIxNyw2ICsyMTcsNyBAQCBwcml2YXRlOgogICAgICAgICBj
YXNlIEdldEdldHRlcjoKICAgICAgICAgY2FzZSBHZXRTZXR0ZXI6CiAgICAgICAgIGNhc2UgR2V0
Q2FsbGVlOgorICAgICAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246CiAgICAgICAgIGNhc2UgTmV3
RnVuY3Rpb246IHsKICAgICAgICAgICAgIGNoYW5nZWQgfD0gc2V0UHJlZGljdGlvbihTcGVjRnVu
Y3Rpb24pOwogICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU2FmZVRvRXhlY3V0ZS5oCmluZGV4IGFhNWE3MWMxN2Y4OGI2ODhlM2ZhNWI1N2I4ZGNhYjIy
MzQ1ZDRmMWUuLmI2YzUwYjQ0NTdjMDY5YmYxZDA3MWYzOWIxN2ViZjdiOWRhZDM3NWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCkBAIC0yMjgsNiAr
MjI4LDcgQEAgYm9vbCBzYWZlVG9FeGVjdXRlKEFic3RyYWN0U3RhdGVUeXBlJiBzdGF0ZSwgR3Jh
cGgmIGdyYXBoLCBOb2RlKiBub2RlKQogICAgIGNhc2UgQ3JlYXRlQ2xvbmVkQXJndW1lbnRzOgog
ICAgIGNhc2UgR2V0RnJvbUFyZ3VtZW50czoKICAgICBjYXNlIFB1dFRvQXJndW1lbnRzOgorICAg
IGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgIGNhc2Ug
SnVtcDoKICAgICBjYXNlIEJyYW5jaDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQuaAppbmRleCA5ZDcyZTg5MzczMmNiN2FlOTY4ODY2NzNlZDA1ZTVlZjU1
ZDFkMWIxLi41NTdjNTMxNzkxNTcwZDVmNmVjN2IxMjY0NGY4ZGQxZTk0YTY0YTJhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCkBAIC0xMTk5LDYg
KzExOTksMTIgQEAgcHVibGljOgogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVj
U3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSk7CiAgICAgICAgIHJldHVybiBhcHBlbmRD
YWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKICAgICB9
CisgICAgCisgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlv
bl9FSnNjQ0ogb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgYXJnMSwgSlNDZWxsKiBj
ZWxsLCBHUFJSZWcgYXJnMikKKyAgICB7CisgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0
aEV4ZWNTdGF0ZShhcmcxLCBUcnVzdGVkSW1tUHRyKGNlbGwpLCBhcmcyKTsKKyAgICAgICAgcmV0
dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1
bHQpOworICAgIH0KIAogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRP
cGVyYXRpb25fRVdzIG9wZXJhdGlvbiwgV2F0Y2hwb2ludFNldCogd2F0Y2hwb2ludFNldCkKICAg
ICB7CkBAIC0xNjA1LDYgKzE2MTEsMTEgQEAgcHVibGljOgogICAgICAgICBtX2ppdC5zZXR1cEFy
Z3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSk7CiAgICAgICAg
IHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwg
cmVzdWx0UGF5bG9hZCwgcmVzdWx0VGFnKTsKICAgICB9CisgICAgSklUQ29tcGlsZXI6OkNhbGwg
Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0ogb3BlcmF0aW9uLCBHUFJSZWcgcmVz
dWx0VGFnLCBHUFJSZWcgcmVzdWx0UGF5bG9hZCwgR1BSUmVnIGFyZzEsIEpTQ2VsbCogY2VsbCwg
R1BSUmVnIGFyZzIpCisgICAgeworICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVj
U3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSwgYXJnMik7CisgICAgICAgIHJldHVybiBh
cHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0UGF5
bG9hZCwgcmVzdWx0VGFnKTsKKyAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJh
dGlvbihKX0pJVE9wZXJhdGlvbl9FU3NpQ0kgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0VGFnLCBH
UFJSZWcgcmVzdWx0UGF5bG9hZCwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcg
YXJnMSwgY29uc3QgU3RyaW5nSW1wbCogdWlkKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBB
cmd1bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIoc3R1YkluZm8pLCBhcmcxLCBUcnVz
dGVkSW1tUHRyKHVpZCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKaW5kZXggZmQ5ZjM1MGIxOGRjNWVhYTE4NmJiYjc2MTc1
NzliNWJhMDAxNzE2NS4uZjM2OTAyMjgxMjJiZjZkNGE5MGU2NjRiNjIwOTFjMDk2YThmZDg3MyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMy
XzY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklU
MzJfNjQuY3BwCkBAIC00MjgzLDcgKzQyODMsMTEgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29t
cGlsZShOb2RlKiBub2RlKQogICAgICAgICBjb21waWxlQ3JlYXRlQ2xvbmVkQXJndW1lbnRzKG5v
ZGUpOwogICAgICAgICBicmVhazsKICAgICB9Ci0gICAgICAgIAorICAgIAorICAgIGNhc2UgTmV3
QXJyb3dGdW5jdGlvbjoKKyAgICAgICAgREZHX0NSQVNIKG1faml0LmdyYXBoKCksIG5vZGUsICJB
cnJvdyBmdW5jdGlvbiBjYW5cJ3QgYmUgY29tcGlsZWQgaW4gREZHIik7CisgICAgICAgIGJyZWFr
OworICAgICAgICAgICAgCiAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICAgICAgY29tcGlsZU5l
d0Z1bmN0aW9uKG5vZGUpOwogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCmluZGV4IDFkMDg1N2YzZjVkN2IyYzFj
YzIwNDZhMTBlZGFlNDAzMzMzNDgzMzUuLjBmMzU3NWI1ZTIzMTU2NGFhZjNhYmE2Yzk1MDY2MmVi
ZDAxM2I4NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQ2NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxh
dGl2ZUpJVDY0LmNwcApAQCAtNDMxNywxMSArNDMxNywxNSBAQCB2b2lkIFNwZWN1bGF0aXZlSklU
Ojpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIGNvbXBpbGVDcmVhdGVDbG9uZWRBcmd1bWVu
dHMobm9kZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KLSAgICAgICAgCisKKyAgICBjYXNlIE5l
d0Fycm93RnVuY3Rpb246CisgICAgICAgIERGR19DUkFTSChtX2ppdC5ncmFwaCgpLCBub2RlLCAi
QXJyb3cgZnVuY3Rpb24gY2FuXCcgaW4gREZHIik7CisgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgCiAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICAgICAgY29tcGlsZU5ld0Z1bmN0aW9uKG5v
ZGUpOwogICAgICAgICBicmVhazsKLSAgICAgICAgCisKICAgICBjYXNlIEluOgogICAgICAgICBj
b21waWxlSW4obm9kZSk7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTdHJ1Y3R1cmVSZWdpc3RyYXRpb25QaGFzZS5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1N0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmNwcAppbmRl
eCAyODY0NmQxM2ZjZjRjOTY1YzYyMGQwMDIxMWIwZGNiZjAzYjM3YzJkLi4yYzQyZGYzYzAyMzgz
ZTcxZjVlYzk1ODZhMjc4ZmJiMWRiMTMwODBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1N0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1N0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmNwcApAQCAt
MTMwLDcgKzEzMCwxMSBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgY2FzZSBOZXdSZWdleHA6
CiAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyU3RydWN0dXJlKG1fZ3JhcGguZ2xvYmFsT2Jq
ZWN0Rm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyktPnJlZ0V4cFN0cnVjdHVyZSgpKTsKICAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAg
ICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgICAgICAgICAgICAgICAgICByZWdpc3RlclN0cnVjdHVyZShtX2dyYXBoLmds
b2JhbE9iamVjdEZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMpLT5hcnJvd0Z1bmN0aW9uU3RydWN0
dXJlKCkpOworI2VuZGlmCisgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAg
ICAgIGNhc2UgTmV3RnVuY3Rpb246CiAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyU3RydWN0
dXJlKG1fZ3JhcGguZ2xvYmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyktPmZ1bmN0
aW9uU3RydWN0dXJlKCkpOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuY3Bw
CmluZGV4IGU0MTZmZGFhZmVlMjIyOWY2NTNiOWFlMDYyNDgwMDA5OTk4NzVhMDAuLjNjMzg2NGNh
MTgwYWEzNmU0ODA4YzIzYTEzMDZiZTI4ZTVkN2I5MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmNwcApAQCAtMzAs
NiArMzAsNyBAQAogCiAjaW5jbHVkZSAiRGlyZWN0QXJndW1lbnRzLmgiCiAjaW5jbHVkZSAiR2V0
dGVyU2V0dGVyLmgiCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNF
bnZpcm9ubWVudFJlY29yZC5oIgogI2luY2x1ZGUgIkpTUHJvcGVydHlOYW1lRW51bWVyYXRvci5o
IgogI2luY2x1ZGUgIkpTU2NvcGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmgKaW5kZXggOTEyNzU0ZGZjNDAxNTJiMGVk
MjQ4MzZhYzc1YjhmOTY5ODQzOTliYi4uZWViMjA4YmUxZjQ2Y2ZjNDJiOTQ5NWE5ZmE5MjFmYmNk
NmQ4MmRhNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFj
dEhlYXBSZXBvc2l0b3J5LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0
cmFjdEhlYXBSZXBvc2l0b3J5LmgKQEAgLTg4LDYgKzg4LDEzIEBAIG5hbWVzcGFjZSBKU0MgeyBu
YW1lc3BhY2UgRlRMIHsKICAgICBtYWNybyhTdHJ1Y3R1cmVfZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1
cmU6Omdsb2JhbE9iamVjdE9mZnNldCgpKSBcCiAgICAgbWFjcm8oU3RydWN0dXJlX3Byb3RvdHlw
ZSwgU3RydWN0dXJlOjpwcm90b3R5cGVPZmZzZXQoKSkgXAogICAgIG1hY3JvKFN0cnVjdHVyZV9z
dHJ1Y3R1cmVJRCwgU3RydWN0dXJlOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKQorICAgIAorI2RlZmlu
ZSBGT1JfRUFDSF9BQlNUUkFDVF9GSUVMRF9BUlJPV0ZVTkNUSU9OKG1hY3JvKSBcCisgICAgbWFj
cm8oSlNBcnJvd0Z1bmN0aW9uX2V4ZWN1dGFibGUsIEpTQXJyb3dGdW5jdGlvbjo6b2Zmc2V0T2ZF
eGVjdXRhYmxlKCkpIFwKKyAgICBtYWNybyhKU0Fycm93RnVuY3Rpb25fc2NvcGUsIEpTQXJyb3dG
dW5jdGlvbjo6b2Zmc2V0T2ZTY29wZUNoYWluKCkpIFwKKyAgICBtYWNybyhKU0Fycm93RnVuY3Rp
b25fcmFyZURhdGEsIEpTQXJyb3dGdW5jdGlvbjo6b2Zmc2V0T2ZSYXJlRGF0YSgpKSBcCisgICAg
bWFjcm8oSlNBcnJvd0Z1bmN0aW9uX3RoaXMsIEpTQXJyb3dGdW5jdGlvbjo6b2Zmc2V0T2ZUaGlz
VmFsdWUoKSkKKyAgICAKIAogI2RlZmluZSBGT1JfRUFDSF9JTkRFWEVEX0FCU1RSQUNUX0hFQVAo
bWFjcm8pIFwKICAgICBtYWNybyhEaXJlY3RBcmd1bWVudHNfc3RvcmFnZSwgRGlyZWN0QXJndW1l
bnRzOjpzdG9yYWdlT2Zmc2V0KCksIHNpemVvZihFbmNvZGVkSlNWYWx1ZSkpIFwKQEAgLTEyOSw2
ICsxMzYsOSBAQCBwdWJsaWM6CiAKICNkZWZpbmUgQUJTVFJBQ1RfRklFTERfREVDTEFSQVRJT04o
bmFtZSwgb2Zmc2V0KSBBYnN0cmFjdEZpZWxkIG5hbWU7CiAgICAgRk9SX0VBQ0hfQUJTVFJBQ1Rf
RklFTEQoQUJTVFJBQ1RfRklFTERfREVDTEFSQVRJT04pCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICBGT1JfRUFDSF9BQlNUUkFDVF9GSUVMRF9BUlJPV0ZVTkNUSU9O
KEFCU1RSQUNUX0ZJRUxEX0RFQ0xBUkFUSU9OKQorI2VuZGlmCiAjdW5kZWYgQUJTVFJBQ1RfRklF
TERfREVDTEFSQVRJT04KICAgICAKICAgICBBYnN0cmFjdEZpZWxkJiBKU0NlbGxfZnJlZUxpc3RO
ZXh0OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRp
ZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCmlu
ZGV4IDYwZGNmNzkxOTMyM2M1NzViNDc4MDYwMTcyYjJjZDUzN2VkZGU2NzguLjhlZTc4ZmVkMGEy
YmRiODE0ZDVmMGExZDBlMDJkN2Y3OGY5NWJjZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAKQEAgLTEwMyw2ICsxMDMsNyBAQCBpbmxpbmUgQ2Fw
YWJpbGl0eUxldmVsIGNhbkNvbXBpbGUoTm9kZSogbm9kZSkKICAgICBjYXNlIExvb3BIaW50Ogog
ICAgIGNhc2UgU2tpcFNjb3BlOgogICAgIGNhc2UgQ3JlYXRlQWN0aXZhdGlvbjoKKyAgICBjYXNl
IE5ld0Fycm93RnVuY3Rpb246CiAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICBjYXNlIEdldENs
b3N1cmVWYXI6CiAgICAgY2FzZSBQdXRDbG9zdXJlVmFyOgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRvcnkuaAppbmRleCAwOTdiNzFjYzY0Mzc2
Mzc2ZWJiZWFjMDY3NDZmZGNjMGJiZmNlNjg4Li5kOWNmMDQ3OGEzOGJhMzYxYjI1YjQ1NDNkNjY2
ZWVjNDc2ZmJlODZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTElu
dHJpbnNpY1JlcG9zaXRvcnkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTElu
dHJpbnNpY1JlcG9zaXRvcnkuaApAQCAtODMsNiArODMsNyBAQCBuYW1lc3BhY2UgSlNDIHsgbmFt
ZXNwYWNlIEZUTCB7CiAgICAgbWFjcm8oSl9KSVRPcGVyYXRpb25fRUpDLCBmdW5jdGlvblR5cGUo
aW50NjQsIGludFB0ciwgaW50NjQsIGludFB0cikpIFwKICAgICBtYWNybyhKX0pJVE9wZXJhdGlv
bl9FSkosIGZ1bmN0aW9uVHlwZShpbnQ2NCwgaW50UHRyLCBpbnQ2NCwgaW50NjQpKSBcCiAgICAg
bWFjcm8oSl9KSVRPcGVyYXRpb25fRUpzY0MsIGZ1bmN0aW9uVHlwZShpbnRQdHIsIGludFB0ciwg
aW50UHRyLCBpbnRQdHIpKSBcCisgICAgbWFjcm8oSl9KSVRPcGVyYXRpb25fRUpzY0NKLCBmdW5j
dGlvblR5cGUoaW50NjQsIGludFB0ciwgaW50NjQsIGludDY0LCBpbnQ2NCkpXAogICAgIG1hY3Jv
KEpfSklUT3BlcmF0aW9uX0VKc3NaLCBmdW5jdGlvblR5cGUoaW50NjQsIGludFB0ciwgaW50UHRy
LCBpbnQzMikpIFwKICAgICBtYWNybyhKX0pJVE9wZXJhdGlvbl9FU3NpSkksIGZ1bmN0aW9uVHlw
ZShpbnQ2NCwgaW50UHRyLCBpbnRQdHIsIGludDY0LCBpbnRQdHIpKSBcCiAgICAgbWFjcm8oSnNz
X0pJVE9wZXJhdGlvbl9FWiwgZnVuY3Rpb25UeXBlKGludFB0ciwgaW50UHRyLCBpbnQzMikpIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0u
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKaW5k
ZXggZDkwMmFlNzM0MmU4YjQ2M2IzM2ExZTVkOTdkZTZlMTg4Njg5OWU0Mi4uZmQ4YWMzNzg5NDA5
MWIxNmM5Mjk0ZWY5NzMwMzkxZDg5ZjQxZGEwNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKQEAgLTQzLDYgKzQzLDcgQEAKICNpbmNsdWRl
ICJGVExPdXRwdXQuaCIKICNpbmNsdWRlICJGVExUaHVua3MuaCIKICNpbmNsdWRlICJGVExXZWln
aHRlZFRhcmdldC5oIgorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpT
Q0lubGluZXMuaCIKICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUg
Ik9wZXJhbmRzSW5saW5lcy5oIgpAQCAtNjA2LDYgKzYwNywxMSBAQCBwcml2YXRlOgogICAgICAg
ICBjYXNlIENyZWF0ZUFjdGl2YXRpb246CiAgICAgICAgICAgICBjb21waWxlQ3JlYXRlQWN0aXZh
dGlvbigpOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlv
bjoKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICAgICAgY29t
cGlsZU5ld0Fycm93RnVuY3Rpb24oKTsKKyNlbmRpZgorICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIGNhc2UgTmV3RnVuY3Rpb246CiAgICAgICAgICAgICBjb21waWxlTmV3RnVuY3Rpb24oKTsK
ICAgICAgICAgICAgIGJyZWFrOwpAQCAtMjk2Nyw2ICsyOTczLDUyIEBAIHByaXZhdGU6CiAgICAg
ICAgIHNldEpTVmFsdWUobV9vdXQucGhpKG1fb3V0LmludFB0ciwgZmFzdFJlc3VsdCwgc2xvd1Jl
c3VsdCkpOwogICAgIH0KICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgIHZvaWQgY29tcGlsZU5ld0Fycm93RnVuY3Rpb24oKQorICAgIHsKKworICAgICAgICBM
VmFsdWUgc2NvcGUgPSBsb3dDZWxsKG1fbm9kZS0+Y2hpbGQxKCkpOworICAgICAgICBMVmFsdWUg
dGhpc1ZhbHVlID0gbG93SlNWYWx1ZShtX25vZGUtPmNoaWxkMigpKTsKKyAgICAgICAgRnVuY3Rp
b25FeGVjdXRhYmxlKiBleGVjdXRhYmxlID0gbV9ub2RlLT5jYXN0T3BlcmFuZDxGdW5jdGlvbkV4
ZWN1dGFibGUqPigpOworICAgICAgICBpZiAoZXhlY3V0YWJsZS0+c2luZ2xldG9uRnVuY3Rpb24o
KS0+aXNTdGlsbFZhbGlkKCkpIHsKKyAgICAgICAgICAgIExWYWx1ZSBjYWxsUmVzdWx0ID0gdm1D
YWxsKAorICAgICAgICAgICAgICAgIG1fb3V0Lm9wZXJhdGlvbihvcGVyYXRpb25OZXdBcnJvd0Z1
bmN0aW9uKSwKKyAgICAgICAgICAgICAgICBtX2NhbGxGcmFtZSwgc2NvcGUsIHdlYWtQb2ludGVy
KGV4ZWN1dGFibGUpLCB0aGlzVmFsdWUpOworICAgICAgICAgICAgc2V0SlNWYWx1ZShjYWxsUmVz
dWx0KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihtX25vZGUtPm9y
aWdpbi5zZW1hbnRpYyktPmFycm93RnVuY3Rpb25TdHJ1Y3R1cmUoKTsKKyAgICAgICAgCisgICAg
ICAgIExCYXNpY0Jsb2NrIHNsb3dQYXRoID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJOZXdBcnJv
d0Z1bmN0aW9uIHNsb3cgcGF0aCIpKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgY29udGludWF0aW9u
ID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJOZXdBcnJvd0Z1bmN0aW9uIGNvbnRpbnVhdGlvbiIp
KTsKKyAgICAgICAgCisgICAgICAgIExCYXNpY0Jsb2NrIGxhc3ROZXh0ID0gbV9vdXQuaW5zZXJ0
TmV3QmxvY2tzQmVmb3JlKHNsb3dQYXRoKTsKKyAgICAgICAgCisgICAgICAgIExWYWx1ZSBmYXN0
T2JqZWN0ID0gYWxsb2NhdGVPYmplY3Q8SlNBcnJvd0Z1bmN0aW9uPihzdHJ1Y3R1cmUsIG1fb3V0
LmludFB0clplcm8sIHNsb3dQYXRoKTsKKyAgICAgICAgCisgICAgICAgIC8vIFdlIGRvbid0IG5l
ZWQgbWVtb3J5IGJhcnJpZXJzIHNpbmNlIHdlIGp1c3QgZmFzdC1jcmVhdGVkIHRoZSBmdW5jdGlv
biwgc28gaXQKKyAgICAgICAgLy8gbXVzdCBiZSB5b3VuZy4KKyAgICAgICAgbV9vdXQuc3RvcmVQ
dHIoc2NvcGUsIGZhc3RPYmplY3QsIG1faGVhcHMuSlNBcnJvd0Z1bmN0aW9uX3Njb3BlKTsKKyAg
ICAgICAgbV9vdXQuc3RvcmVQdHIod2Vha1BvaW50ZXIoZXhlY3V0YWJsZSksIGZhc3RPYmplY3Qs
IG1faGVhcHMuSlNBcnJvd0Z1bmN0aW9uX2V4ZWN1dGFibGUpOworICAgICAgICBtX291dC5zdG9y
ZVB0cih0aGlzVmFsdWUsIGZhc3RPYmplY3QsIG1faGVhcHMuSlNBcnJvd0Z1bmN0aW9uX3RoaXMp
OworICAgICAgICBtX291dC5zdG9yZVB0cihtX291dC5pbnRQdHJaZXJvLCBmYXN0T2JqZWN0LCBt
X2hlYXBzLkpTQXJyb3dGdW5jdGlvbl9yYXJlRGF0YSk7CisgICAgICAgIAorICAgICAgICBWYWx1
ZUZyb21CbG9jayBmYXN0UmVzdWx0ID0gbV9vdXQuYW5jaG9yKGZhc3RPYmplY3QpOworICAgICAg
ICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7CisgICAgICAgIAorICAgICAgICBtX291dC5hcHBl
bmRUbyhzbG93UGF0aCwgY29udGludWF0aW9uKTsKKyAgICAgICAgTFZhbHVlIGNhbGxSZXN1bHQg
PSB2bUNhbGwoCisgICAgICAgICAgICBtX291dC5vcGVyYXRpb24ob3BlcmF0aW9uTmV3QXJyb3dG
dW5jdGlvbldpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQpLAorICAgICAgICAg
ICAgbV9jYWxsRnJhbWUsIHNjb3BlLCB3ZWFrUG9pbnRlcihleGVjdXRhYmxlKSwgdGhpc1ZhbHVl
KTsKKyAgICAgICAgVmFsdWVGcm9tQmxvY2sgc2xvd1Jlc3VsdCA9IG1fb3V0LmFuY2hvcihjYWxs
UmVzdWx0KTsKKyAgICAgICAgbV9vdXQuanVtcChjb250aW51YXRpb24pOworICAgICAgICAKKyAg
ICAgICAgbV9vdXQuYXBwZW5kVG8oY29udGludWF0aW9uLCBsYXN0TmV4dCk7CisgICAgICAgIHNl
dEpTVmFsdWUobV9vdXQucGhpKG1fb3V0LmludFB0ciwgZmFzdFJlc3VsdCwgc2xvd1Jlc3VsdCkp
OworICAgIH0KKyNlbmRpZgorICAgIAogICAgIHZvaWQgY29tcGlsZUNyZWF0ZURpcmVjdEFyZ3Vt
ZW50cygpCiAgICAgewogICAgICAgICAvLyBGSVhNRTogQSBtb3JlIGVmZmVjdGl2ZSB3YXkgb2Yg
ZGVhbGluZyB3aXRoIHRoZSBhcmd1bWVudCBjb3VudCBhbmQgY2FsbGVlIGlzIHRvIGhhdmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCmlu
ZGV4IDE3ZGQzYjRmNDVmNTZmZjIwMDIzZDczYjc1ZGM3ZDcwYjYzNDk2OGYuLjIwMDA1YzA3MTUz
M2IxNjgzYWZkYTJkNjJkYzY1YzAxNjdkOTEwOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcApAQCAtNDQsNiArNDQsNyBAQAogI2lu
Y2x1ZGUgIkV4Y2VwdGlvbkhlbHBlcnMuaCIKICNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNp
bmNsdWRlICJKU0FycmF5LmgiCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCiAjaW5jbHVk
ZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUg
IkpTTGV4aWNhbEVudmlyb25tZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0NDYWxsSGVscGVycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhl
bHBlcnMuaAppbmRleCBmZDM0NGFkYmNhYmIxNWZiZDgxNGVkNmZiZDQ3OGY3NGI2MTU3NjNjLi4w
N2FjZDZkNTMyZDMyOGFmZGI3N2FjZjIwMTMzOTBlZjM5ZGQ5ZDY3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxsSGVscGVycy5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvQ0NhbGxIZWxwZXJzLmgKQEAgLTI3NCw2ICsyNzQsMTUgQEAgcHVibGljOgog
ICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMik7CiAgICAgICAgIGFkZENhbGxBcmd1bWVudChh
cmczKTsKICAgICB9CisgICAgCisgICAgQUxXQVlTX0lOTElORSB2b2lkIHNldHVwQXJndW1lbnRz
V2l0aEV4ZWNTdGF0ZShHUFJSZWcgYXJnMSwgVHJ1c3RlZEltbVB0ciBhcmcyLCBHUFJSZWcgYXJn
MykKKyAgICB7CisgICAgICAgIHJlc2V0Q2FsbEFyZ3VtZW50cygpOworICAgICAgICBhZGRDYWxs
QXJndW1lbnQoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOworICAgICAgICBhZGRDYWxsQXJn
dW1lbnQoYXJnMSk7CisgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmcyKTsKKyAgICAgICAgYWRk
Q2FsbEFyZ3VtZW50KGFyZzMpOworICAgIH0KIAogICAgIEFMV0FZU19JTkxJTkUgdm9pZCBzZXR1
cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyLCBUcnVzdGVk
SW1tMzIgYXJnMykKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKaW5kZXggYjQxMTNj
NDVlNzJjN2UxNThlYzFmMTkyM2NiZmUyOWM1ZWY1NDI4Mi4uOGExYmFjODdmZDEwYjk4N2Y2NGZk
MGMyMTEzMjEwY2E2NzA1ZWRiMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcApAQCAtMjYw
LDYgKzI2MCw3IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkKICAgICAgICAg
REVGSU5FX09QKG9wX25ld19hcnJheV9idWZmZXIpCiAgICAgICAgIERFRklORV9PUChvcF9uZXdf
ZnVuYykKICAgICAgICAgREVGSU5FX09QKG9wX25ld19mdW5jX2V4cCkKKyAgICAgICAgREVGSU5F
X09QKG9wX25ld19hcnJvd19mdW5jX2V4cCkgCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfb2Jq
ZWN0KQogICAgICAgICBERUZJTkVfT1Aob3BfbmV3X3JlZ2V4cCkKICAgICAgICAgREVGSU5FX09Q
KG9wX25vdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCmluZGV4IGQ3MjI1ZWE0YjJhZTU0MzE4Nzg0
NGMyMDc2ZWM2ZWI4ZDY1ZDIxYzkuLmRhYTUyMDk0ODg1NzkxNjBiYmQ5YzQ3ZDA3YjRhMDQ1OWZi
OGIwMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaApAQCAtNTIxLDYgKzUyMSw3IEBAIG5hbWVz
cGFjZSBKU0MgewogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2FycmF5X2J1ZmZlcihJbnN0cnVj
dGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2Z1bmMoSW5zdHJ1Y3Rpb24qKTsKICAg
ICAgICAgdm9pZCBlbWl0X29wX25ld19mdW5jX2V4cChJbnN0cnVjdGlvbiopOworICAgICAgICB2
b2lkIGVtaXRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZv
aWQgZW1pdF9vcF9uZXdfb2JqZWN0KEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9v
cF9uZXdfcmVnZXhwKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9ub3QoSW5z
dHJ1Y3Rpb24qKTsKQEAgLTcwMiw2ICs3MDMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAg
TWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSkosIGlu
dCwgR1BSUmVnLCBHUFJSZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3Bl
cmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2MsIEdQUlJlZyk7CiAgICAgICAgIE1hY3JvQXNzZW1i
bGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0MsIGludCwgR1BSUmVn
LCBKU0NlbGwqKTsKKyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihK
X0pJVE9wZXJhdGlvbl9FSnNjQ0osIGludCwgR1BSUmVnLCBKU0NlbGwqLCBHUFJSZWcpOwogICAg
ICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VK
c2NaLCBHUFJSZWcsIGludDMyX3QpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxs
T3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2NaLCBpbnQsIEdQUlJlZywgaW50MzJfdCk7CiAj
aWYgVVNFKEpTVkFMVUU2NCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUSW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKaW5k
ZXggOWVlMjRkMDkyMjhhOTg4MmVhNzY5NjI5ZDFhODdiNmMzNGE4NjMzNC4uYTBlNDBjNWM2MWZl
NjNlOTg2M2VkMjIzZWRmNWQ0NTFmMzE4YTc3NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRJbmxpbmVzLmgKQEAgLTI3MSw2ICsyNzEsMTIgQEAgQUxXQVlTX0lOTElORSBNYWNyb0Fzc2Vt
Ymxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0Mgb3BlcmEK
ICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldEpTVmFsdWVSZXN1bHQo
b3BlcmF0aW9uLCBkc3QpOwogfQogCitBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxs
IEpJVDo6Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0ogb3BlcmF0aW9uLCBpbnQg
ZHN0LCBHUFJSZWcgYXJnMSwgSlNDZWxsKiBjZWxsLCBHUFJSZWcgYXJnMikKK3sKKyAgICBzZXR1
cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSwgYXJnMik7
CisgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRKU1ZhbHVlUmVzdWx0
KG9wZXJhdGlvbiwgZHN0KTsKK30KKyAgICAKIEFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6
OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VQIG9wZXJhdGlvbiwgaW50
IGRzdCwgdm9pZCogcG9pbnRlcikKIHsKICAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUo
VHJ1c3RlZEltbVB0cihwb2ludGVyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVE9wY29kZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNv
ZGVzLmNwcAppbmRleCA1ZDRkMGI5ZmU4NzY4YWMyZmU1OTY1NzVlZDRhYTgxMjIwZGFkNmM3Li5k
Y2UzNzEyNWM0ZWZiMDU0YTgwNjE1NGUwYWQyM2FkZmY5ZWE0YjdjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKQEAgLTk4Nyw2ICs5ODcsMjkgQEAgdm9pZCBKSVQ6
OmVtaXRfb3BfbmV3X2Z1bmNfZXhwKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAg
ICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25OZXdGdW5jdGlvbiwgZHN0LCByZWdUMCwgZnVuY0V4
cHIpOwogICAgIGRvbmUubGluayh0aGlzKTsKIH0KKyAgICAKK3ZvaWQgSklUOjplbWl0X29wX25l
d19hcnJvd19mdW5jX2V4cChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQoreworICAg
IEp1bXAgbm90VW5kZWZpbmVkU2NvcGU7CisgICAgaW50IGRzdCA9IGN1cnJlbnRJbnN0cnVjdGlv
blsxXS51Lm9wZXJhbmQ7CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICBlbWl0R2V0VmlydHVhbFJl
Z2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQsIHJlZ1QwKTsKKyAgICBlbWl0
R2V0VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvbls0XS51Lm9wZXJhbmQsIHJlZ1Qx
KTsKKyAgICBub3RVbmRlZmluZWRTY29wZSA9IGJyYW5jaDY0KE5vdEVxdWFsLCByZWdUMCwgVHJ1
c3RlZEltbTY0KEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSkpOworICAgIHN0b3JlNjQo
VHJ1c3RlZEltbTY0KEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSksIEFkZHJlc3MoY2Fs
bEZyYW1lUmVnaXN0ZXIsIHNpemVvZihSZWdpc3RlcikgKiBkc3QpKTsKKyNlbHNlCisgICAgZW1p
dExvYWRQYXlsb2FkKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQsIHJlZ1QwKTsKKyAg
ICBlbWl0TG9hZFBheWxvYWQoY3VycmVudEluc3RydWN0aW9uWzRdLnUub3BlcmFuZCwgcmVnVDEp
OworICAgIG5vdFVuZGVmaW5lZFNjb3BlID0gYnJhbmNoMzIoTm90RXF1YWwsIHRhZ0ZvcihjdXJy
ZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSwgVHJ1c3RlZEltbTMyKEpTVmFsdWU6OlVuZGVm
aW5lZFRhZykpOworICAgIGVtaXRTdG9yZShkc3QsIGpzVW5kZWZpbmVkKCkpOworI2VuZGlmCisg
ICAgSnVtcCBkb25lID0ganVtcCgpOworICAgIG5vdFVuZGVmaW5lZFNjb3BlLmxpbmsodGhpcyk7
CisgICAgCisgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlvbiA9IG1fY29kZUJsb2NrLT5m
dW5jdGlvbkV4cHIoY3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZCk7CisgICAgY2FsbE9w
ZXJhdGlvbihvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uLCBkc3QsIHJlZ1QwLCBmdW5jdGlvbiwg
cmVnVDEpOworICAgIGRvbmUubGluayh0aGlzKTsKK30KIAogdm9pZCBKSVQ6OmVtaXRfb3BfbmV3
X2FycmF5KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAppbmRleCA5OGQ4NzczZjM4ZDk1ZjJiOGU1
OGNkYmQ3ODM2MDI5ODE1NDAwNzEzLi45NjdjYThlYWY3NWIxMGRlODAxMGYyMTRkNGVjNjc3MjQ3
ZmU0MmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlv
bnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAK
QEAgLTIwLDcgKzIwLDcgQEAKICAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKICAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
Ci0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAogI2luY2x1ZGUgImNvbmZp
Zy5oIgpAQCAtNDIsNiArNDIsOCBAQAogI2luY2x1ZGUgIkhvc3RDYWxsUmV0dXJuVmFsdWUuaCIK
ICNpbmNsdWRlICJKSVQuaCIKICNpbmNsdWRlICJKSVRUb0RGR0RlZmVycmVkQ29tcGlsYXRpb25D
YWxsYmFjay5oIgorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTQm91
bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0NhdGNo
U2NvcGUuaCIKICNpbmNsdWRlICJKU0Z1bmN0aW9uTmFtZVNjb3BlLmgiCkBAIC02Nyw3ICs2OSw3
IEBAIHZvaWQgcHVzaE5hbWVTY29wZShFeGVjU3RhdGUqIGV4ZWMsIGludDMyX3QgZHN0LCBTeW1i
b2xUYWJsZSogc3ltYm9sVGFibGUsIEVuY29kCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsK
ICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7Ci0gICAgCisKICAg
ICBBU1NFUlQoIUpJVENvZGU6OmlzT3B0aW1pemluZ0pJVChleGVjLT5jb2RlQmxvY2soKS0+aml0
VHlwZSgpKSk7CiAKICAgICAvLyBGSVhNRTogVGhpcyB3b24ndCB3b3JrIGlmIHRoaXMgb3BlcmF0
aW9uIGlzIGNhbGxlZCBmcm9tIHRoZSBERkcgb3IgRlRMLgpAQCAtMTUxLDcgKzE1Myw3IEBAIEVu
Y29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZChFeGVjU3RhdGUqIGV4
ZWMsIFN0cnVjdHVyZVN0dWJJbmZvCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAg
TmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBKU1Zh
bHVlIGJhc2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShiYXNlKTsKICAgICBQcm9wZXJ0eVNsb3Qg
c2xvdChiYXNlVmFsdWUpOwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVyOjpmcm9t
VWlkKHZtLCB1aWQpOwpAQCAtMTY5LDcgKzE3MSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uR2V0QnlJZEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVy
CiAgICAgSlNWYWx1ZSBiYXNlVmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoYmFzZSk7CiAgICAgUHJv
cGVydHlTbG90IHNsb3QoYmFzZVZhbHVlKTsKICAgICBib29sIGhhc1Jlc3VsdCA9IGJhc2VWYWx1
ZS5nZXRQcm9wZXJ0eVNsb3QoZXhlYywgaWRlbnQsIHNsb3QpOwotICAgIAorCiAgICAgaWYgKGFj
Y2Vzc1R5cGUgPT0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUp
KQogICAgICAgICBidWlsZEdldEJ5SURMaXN0KGV4ZWMsIGJhc2VWYWx1ZSwgaWRlbnQsIHNsb3Qs
ICpzdHViSW5mbyk7CiAKQEAgLTE4NCwxMyArMTg2LDEzIEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uR2V0QnlJZE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0
dXJlCiAKICAgICBKU1ZhbHVlIGJhc2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShiYXNlKTsKICAg
ICBQcm9wZXJ0eVNsb3Qgc2xvdChiYXNlVmFsdWUpOwotICAgIAorCiAgICAgYm9vbCBoYXNSZXN1
bHQgPSBiYXNlVmFsdWUuZ2V0UHJvcGVydHlTbG90KGV4ZWMsIGlkZW50LCBzbG90KTsKICAgICBp
ZiAoc3R1YkluZm8tPnNlZW4pCiAgICAgICAgIHJlcGF0Y2hHZXRCeUlEKGV4ZWMsIGJhc2VWYWx1
ZSwgaWRlbnQsIHNsb3QsICpzdHViSW5mbyk7CiAgICAgZWxzZQogICAgICAgICBzdHViSW5mby0+
c2VlbiA9IHRydWU7Ci0gICAgCisKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGhhc1Jlc3Vs
dD8gc2xvdC5nZXRWYWx1ZShleGVjLCBpZGVudCkgOiBqc1VuZGVmaW5lZCgpKTsKIAogfQpAQCAt
MTk5LDI1ICsyMDEsMjUgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25J
bk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkkKIHsKICAgICBWTSogdm0g
PSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVj
KTsKLSAgICAKKwogICAgIGlmICghYmFzZS0+aXNPYmplY3QoKSkgewogICAgICAgICB2bS0+dGhy
b3dFeGNlcHRpb24oZXhlYywgY3JlYXRlSW52YWxpZEluUGFyYW1ldGVyRXJyb3IoZXhlYywgYmFz
ZSkpOwogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogICAg
IH0KLSAgICAKKwogICAgIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSA9IHN0YXRpY19jYXN0PEFjY2Vz
c1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKTsKIAogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJ
ZGVudGlmaWVyOjpmcm9tVWlkKHZtLCBrZXkpOwogICAgIFByb3BlcnR5U2xvdCBzbG90KGJhc2Up
OwogICAgIGJvb2wgcmVzdWx0ID0gYXNPYmplY3QoYmFzZSktPmdldFByb3BlcnR5U2xvdChleGVj
LCBpZGVudCwgc2xvdCk7Ci0gICAgCisKICAgICBSRUxFQVNFX0FTU0VSVChhY2Nlc3NUeXBlID09
IHN0dWJJbmZvLT5hY2Nlc3NUeXBlKTsKLSAgICAKKwogICAgIGlmIChzdHViSW5mby0+c2VlbikK
ICAgICAgICAgcmVwYXRjaEluKGV4ZWMsIGJhc2UsIGlkZW50LCByZXN1bHQsIHNsb3QsICpzdHVi
SW5mbyk7CiAgICAgZWxzZQogICAgICAgICBzdHViSW5mby0+c2VlbiA9IHRydWU7Ci0gICAgCisK
ICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihyZXN1bHQpKTsKIH0KIApAQCAt
MjQ3LDcgKzI0OSw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0
KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qLCBFCiB7CiAgICAgVk0qIHZtID0g
JmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7
Ci0gICAgCisKICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwg
dWlkKTsKICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJh
c2UpLCB0cnVlLCBleGVjLT5jb2RlQmxvY2soKS0+cHV0QnlJZENvbnRleHQoKSk7CiAgICAgSlNW
YWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKS5wdXQoZXhlYywgaWRlbnQsIEpTVmFsdWU6OmRlY29k
ZShlbmNvZGVkVmFsdWUpLCBzbG90KTsKQEAgLTI1Nyw3ICsyNTksNyBAQCB2b2lkIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVy
ZVN0dWJJbmZvKgogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxG
cmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAgSWRlbnRpZmllciBpZGVu
dCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIHVpZCk7CiAgICAgUHV0UHJvcGVydHlTbG90IHNs
b3QoSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKSwgZmFsc2UsIGV4ZWMtPmNvZGVCbG9jaygp
LT5wdXRCeUlkQ29udGV4dCgpKTsKICAgICBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpLnB1
dChleGVjLCBpZGVudCwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSksIHNsb3QpOwpAQCAt
MjY3LDcgKzI2OSw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0
U3RyaWN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluCiB7CiAgICAgVk0qIHZtID0g
JmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7
Ci0gICAgCisKICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwg
dWlkKTsKICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJh
c2UpLCB0cnVlLCBleGVjLT5jb2RlQmxvY2soKS0+cHV0QnlJZENvbnRleHQoKSk7CiAgICAgYXNP
YmplY3QoSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKSktPnB1dERpcmVjdChleGVjLT52bSgp
LCBpZGVudCwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSksIHNsb3QpOwpAQCAtMjc3LDcg
KzI3OSw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3Ry
aWN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1CiB7CiAgICAgVk0qIHZtID0gJmV4ZWMt
PnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAg
CisKICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsK
ICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpLCBm
YWxzZSwgZXhlYy0+Y29kZUJsb2NrKCktPnB1dEJ5SWRDb250ZXh0KCkpOwogICAgIGFzT2JqZWN0
KEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSkpLT5wdXREaXJlY3QoZXhlYy0+dm0oKSwgaWRl
bnQsIEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpLCBzbG90KTsKQEAgLTI4Nyw3ICsyODks
NyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZFN0cmljdE9wdGltaXplKEV4
ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YgogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgp
OwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAg
ICAgSWRlbnRpZmllciBpZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIHVpZCk7CiAgICAg
QWNjZXNzVHlwZSBhY2Nlc3NUeXBlID0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8t
PmFjY2Vzc1R5cGUpOwogCkBAIC0yOTcsMTAgKzI5OSwxMCBAQCB2b2lkIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uUHV0QnlJZFN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJl
U3R1YgogCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlVmFsdWUuaXNDZWxsKCkgPyBi
YXNlVmFsdWUuYXNDZWxsKCktPnN0cnVjdHVyZSgqdm0pIDogbnVsbHB0cjsKICAgICBiYXNlVmFs
dWUucHV0KGV4ZWMsIGlkZW50LCB2YWx1ZSwgc2xvdCk7Ci0gICAgCisKICAgICBpZiAoYWNjZXNz
VHlwZSAhPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSkpCiAg
ICAgICAgIHJldHVybjsKLSAgICAKKwogICAgIGlmIChzdHViSW5mby0+c2VlbikKICAgICAgICAg
cmVwYXRjaFB1dEJ5SUQoZXhlYywgYmFzZVZhbHVlLCBzdHJ1Y3R1cmUsIGlkZW50LCBzbG90LCAq
c3R1YkluZm8sIE5vdERpcmVjdCk7CiAgICAgZWxzZQpAQCAtMzExLDcgKzMxMyw3IEBAIHZvaWQg
SklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRl
KiBleGVjLCBTdHJ1Y3R1cmVTCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0
aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJZGVudGlm
aWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBBY2Nlc3NUeXBl
IGFjY2Vzc1R5cGUgPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlw
ZSk7CiAKQEAgLTMxOSwxMiArMzIxLDEyIEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25Q
dXRCeUlkTm9uU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTCiAgICAg
SlNWYWx1ZSBiYXNlVmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpOwogICAgIFB1
dFByb3BlcnR5U2xvdCBzbG90KGJhc2VWYWx1ZSwgZmFsc2UsIGV4ZWMtPmNvZGVCbG9jaygpLT5w
dXRCeUlkQ29udGV4dCgpKTsKIAotICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZVZhbHVl
LmlzQ2VsbCgpID8gYmFzZVZhbHVlLmFzQ2VsbCgpLT5zdHJ1Y3R1cmUoKnZtKSA6IG51bGxwdHI7
ICAgIAorICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZVZhbHVlLmlzQ2VsbCgpID8gYmFz
ZVZhbHVlLmFzQ2VsbCgpLT5zdHJ1Y3R1cmUoKnZtKSA6IG51bGxwdHI7CiAgICAgYmFzZVZhbHVl
LnB1dChleGVjLCBpZGVudCwgdmFsdWUsIHNsb3QpOwotICAgIAorCiAgICAgaWYgKGFjY2Vzc1R5
cGUgIT0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpKQogICAg
ICAgICByZXR1cm47Ci0gICAgCisKICAgICBpZiAoc3R1YkluZm8tPnNlZW4pCiAgICAgICAgIHJl
cGF0Y2hQdXRCeUlEKGV4ZWMsIGJhc2VWYWx1ZSwgc3RydWN0dXJlLCBpZGVudCwgc2xvdCwgKnN0
dWJJbmZvLCBOb3REaXJlY3QpOwogICAgIGVsc2UKQEAgLTMzNSwyMCArMzM3LDIwIEBAIHZvaWQg
SklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0T3B0aW1pemUoRXhlY1N0
YXRlKiBleGVjLCBTdHJ1Y3R1CiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0
aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJZGVudGlm
aWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBBY2Nlc3NUeXBl
IGFjY2Vzc1R5cGUgPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlw
ZSk7CiAKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7
CiAgICAgSlNPYmplY3QqIGJhc2VPYmplY3QgPSBhc09iamVjdChKU1ZhbHVlOjpkZWNvZGUoZW5j
b2RlZEJhc2UpKTsKICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChiYXNlT2JqZWN0LCB0cnVlLCBl
eGVjLT5jb2RlQmxvY2soKS0+cHV0QnlJZENvbnRleHQoKSk7Ci0gICAgCisKICAgICBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA9IGJhc2VPYmplY3QtPnN0cnVjdHVyZSgqdm0pOwogICAgIGJhc2VPYmpl
Y3QtPnB1dERpcmVjdChleGVjLT52bSgpLCBpZGVudCwgdmFsdWUsIHNsb3QpOwotICAgIAorCiAg
ICAgaWYgKGFjY2Vzc1R5cGUgIT0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFj
Y2Vzc1R5cGUpKQogICAgICAgICByZXR1cm47Ci0gICAgCisKICAgICBpZiAoc3R1YkluZm8tPnNl
ZW4pCiAgICAgICAgIHJlcGF0Y2hQdXRCeUlEKGV4ZWMsIGJhc2VPYmplY3QsIHN0cnVjdHVyZSwg
aWRlbnQsIHNsb3QsICpzdHViSW5mbywgRGlyZWN0KTsKICAgICBlbHNlCkBAIC0zNTksMjAgKzM2
MSwyMCBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmlj
dE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydQogewogICAgIFZNKiB2bSA9ICZleGVjLT52
bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAor
CiAgICAgSWRlbnRpZmllciBpZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIHVpZCk7CiAg
ICAgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlID0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1Yklu
Zm8tPmFjY2Vzc1R5cGUpOwogCiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShl
bmNvZGVkVmFsdWUpOwogICAgIEpTT2JqZWN0KiBiYXNlT2JqZWN0ID0gYXNPYmplY3QoSlNWYWx1
ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKSk7CiAgICAgUHV0UHJvcGVydHlTbG90IHNsb3QoYmFzZU9i
amVjdCwgZmFsc2UsIGV4ZWMtPmNvZGVCbG9jaygpLT5wdXRCeUlkQ29udGV4dCgpKTsKLSAgICAK
KwogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZU9iamVjdC0+c3RydWN0dXJlKCp2bSk7
CiAgICAgYmFzZU9iamVjdC0+cHV0RGlyZWN0KGV4ZWMtPnZtKCksIGlkZW50LCB2YWx1ZSwgc2xv
dCk7Ci0gICAgCisKICAgICBpZiAoYWNjZXNzVHlwZSAhPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBl
PihzdHViSW5mby0+YWNjZXNzVHlwZSkpCiAgICAgICAgIHJldHVybjsKLSAgICAKKwogICAgIGlm
IChzdHViSW5mby0+c2VlbikKICAgICAgICAgcmVwYXRjaFB1dEJ5SUQoZXhlYywgYmFzZU9iamVj
dCwgc3RydWN0dXJlLCBpZGVudCwgc2xvdCwgKnN0dWJJbmZvLCBEaXJlY3QpOwogICAgIGVsc2UK
QEAgLTM4MywxNSArMzg1LDE1IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlk
U3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1CiB7CiAgICAgVk0q
IHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwg
ZXhlYyk7Ci0gICAgCisKICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVp
ZCh2bSwgdWlkKTsKICAgICBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUgPSBzdGF0aWNfY2FzdDxBY2Nl
c3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSk7CiAKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNW
YWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CiAgICAgSlNWYWx1ZSBiYXNlVmFsdWUgPSBKU1Zh
bHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpOwogICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KGJhc2VW
YWx1ZSwgdHJ1ZSwgZXhlYy0+Y29kZUJsb2NrKCktPnB1dEJ5SWRDb250ZXh0KCkpOwotICAgIAot
ICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZVZhbHVlLmlzQ2VsbCgpID8gYmFzZVZhbHVl
LmFzQ2VsbCgpLT5zdHJ1Y3R1cmUoKnZtKSA6IG51bGxwdHI7IAorCisgICAgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUgPSBiYXNlVmFsdWUuaXNDZWxsKCkgPyBiYXNlVmFsdWUuYXNDZWxsKCktPnN0cnVj
dHVyZSgqdm0pIDogbnVsbHB0cjsKICAgICBiYXNlVmFsdWUucHV0KGV4ZWMsIGlkZW50LCB2YWx1
ZSwgc2xvdCk7CiAKICAgICBpZiAoYWNjZXNzVHlwZSAhPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBl
PihzdHViSW5mby0+YWNjZXNzVHlwZSkpCkBAIC00MDQsNyArNDA2LDcgQEAgdm9pZCBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVj
LCBTdHJ1Y3R1cmUKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxs
RnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAgIElkZW50aWZpZXIgaWRl
bnQgPSBJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCB1aWQpOwogICAgIEFjY2Vzc1R5cGUgYWNjZXNz
VHlwZSA9IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKTsKIApA
QCAtNDE0LDEwICs0MTYsMTAgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRO
b25TdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUKIAogICAgIFN0cnVj
dHVyZSogc3RydWN0dXJlID0gYmFzZVZhbHVlLmlzQ2VsbCgpID8gYmFzZVZhbHVlLmFzQ2VsbCgp
LT5zdHJ1Y3R1cmUoKnZtKSA6IG51bGxwdHI7CiAgICAgYmFzZVZhbHVlLnB1dChleGVjLCBpZGVu
dCwgdmFsdWUsIHNsb3QpOwotICAgIAorCiAgICAgaWYgKGFjY2Vzc1R5cGUgIT0gc3RhdGljX2Nh
c3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpKQogICAgICAgICByZXR1cm47Ci0g
ICAgCisKICAgICBidWlsZFB1dEJ5SWRMaXN0KGV4ZWMsIGJhc2VWYWx1ZSwgc3RydWN0dXJlLCBp
ZGVudCwgc2xvdCwgKnN0dWJJbmZvLCBOb3REaXJlY3QpOwogfQogCkBAIC00MjUsMjAgKzQyNywy
MCBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdEJ1aWxk
TGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdAogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgp
OwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAg
ICAgSWRlbnRpZmllciBpZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIHVpZCk7CiAgICAg
QWNjZXNzVHlwZSBhY2Nlc3NUeXBlID0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8t
PmFjY2Vzc1R5cGUpOwotICAgIAorCiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29k
ZShlbmNvZGVkVmFsdWUpOwogICAgIEpTT2JqZWN0KiBiYXNlT2JqZWN0ID0gYXNPYmplY3QoSlNW
YWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKSk7CiAgICAgUHV0UHJvcGVydHlTbG90IHNsb3QoYmFz
ZU9iamVjdCwgdHJ1ZSwgZXhlYy0+Y29kZUJsb2NrKCktPnB1dEJ5SWRDb250ZXh0KCkpOwogCi0g
ICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlT2JqZWN0LT5zdHJ1Y3R1cmUoKnZtKTsgICAg
CisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlT2JqZWN0LT5zdHJ1Y3R1cmUoKnZtKTsK
ICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3QoKnZtLCBpZGVudCwgdmFsdWUsIHNsb3QpOwotICAg
IAorCiAgICAgaWYgKGFjY2Vzc1R5cGUgIT0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1Yklu
Zm8tPmFjY2Vzc1R5cGUpKQogICAgICAgICByZXR1cm47Ci0gICAgCisKICAgICBidWlsZFB1dEJ5
SWRMaXN0KGV4ZWMsIGJhc2VPYmplY3QsIHN0cnVjdHVyZSwgaWRlbnQsIHNsb3QsICpzdHViSW5m
bywgRGlyZWN0KTsKIH0KIApAQCAtNDQ2LDcgKzQ0OCw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywg
U3RyCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJh
Y2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRl
bnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUgPSBz
dGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSk7CiAKQEAgLTQ1NCwx
MiArNDU2LDEyIEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9u
U3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RyCiAgICAgSlNPYmplY3QqIGJhc2VP
YmplY3QgPSBhc09iamVjdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpKTsKICAgICBQdXRQ
cm9wZXJ0eVNsb3Qgc2xvdChiYXNlT2JqZWN0LCBmYWxzZSwgZXhlYy0+Y29kZUJsb2NrKCktPnB1
dEJ5SWRDb250ZXh0KCkpOwogCi0gICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlT2JqZWN0
LT5zdHJ1Y3R1cmUoKnZtKTsgICAgCisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlT2Jq
ZWN0LT5zdHJ1Y3R1cmUoKnZtKTsKICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3QoKnZtLCBpZGVu
dCwgdmFsdWUsIHNsb3QpOwogCiAgICAgaWYgKGFjY2Vzc1R5cGUgIT0gc3RhdGljX2Nhc3Q8QWNj
ZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpKQogICAgICAgICByZXR1cm47Ci0gICAgCisK
ICAgICBidWlsZFB1dEJ5SWRMaXN0KGV4ZWMsIGJhc2VPYmplY3QsIHN0cnVjdHVyZSwgaWRlbnQs
IHNsb3QsICpzdHViSW5mbywgRGlyZWN0KTsKIH0KIApAQCAtNTc2LDcgKzU3OCw3IEBAIHZvaWQg
SklUX09QRVJBVElPTiBvcGVyYXRpb25EaXJlY3RQdXRCeVZhbChFeGVjU3RhdGUqIGNhbGxGcmFt
ZSwgRW5jb2RlZEpTVmFsdWUKIHsKICAgICBWTSYgdm0gPSBjYWxsRnJhbWUtPnZtKCk7CiAgICAg
TmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGNhbGxGcmFtZSk7Ci0gICAgCisKICAg
ICBKU1ZhbHVlIGJhc2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZVZhbHVlKTsK
ICAgICBKU1ZhbHVlIHN1YnNjcmlwdCA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkU3Vic2NyaXB0
KTsKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CkBA
IC01ODUsMTIgKzU4NywxMiBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uRGlyZWN0UHV0
QnlWYWwoRXhlY1N0YXRlKiBjYWxsRnJhbWUsIEVuY29kZWRKU1ZhbHVlCiAgICAgaWYgKHN1YnNj
cmlwdC5pc0ludDMyKCkpIHsKICAgICAgICAgLy8gU2VlIGlmIGl0J3Mgd29ydGggb3B0aW1pemlu
ZyBhdCBhbGwuCiAgICAgICAgIGJvb2wgZGlkT3B0aW1pemUgPSBmYWxzZTsKLSAgICAgICAgCisK
ICAgICAgICAgdW5zaWduZWQgYnl0ZWNvZGVPZmZzZXQgPSBjYWxsRnJhbWUtPmxvY2F0aW9uQXNC
eXRlY29kZU9mZnNldCgpOwogICAgICAgICBBU1NFUlQoYnl0ZWNvZGVPZmZzZXQpOwogICAgICAg
ICBCeVZhbEluZm8mIGJ5VmFsSW5mbyA9IGNhbGxGcmFtZS0+Y29kZUJsb2NrKCktPmdldEJ5VmFs
SW5mbyhieXRlY29kZU9mZnNldCAtIDEpOwogICAgICAgICBBU1NFUlQoIWJ5VmFsSW5mby5zdHVi
Um91dGluZSk7Ci0gICAgICAgIAorCiAgICAgICAgIGlmIChoYXNPcHRpbWl6YWJsZUluZGV4aW5n
KG9iamVjdC0+c3RydWN0dXJlKHZtKSkpIHsKICAgICAgICAgICAgIC8vIEF0dGVtcHQgdG8gb3B0
aW1pemUuCiAgICAgICAgICAgICBKSVRBcnJheU1vZGUgYXJyYXlNb2RlID0gaml0QXJyYXlNb2Rl
Rm9yU3RydWN0dXJlKG9iamVjdC0+c3RydWN0dXJlKHZtKSk7CkBAIC01OTksNyArNjAxLDcgQEAg
dm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkRpcmVjdFB1dEJ5VmFsKEV4ZWNTdGF0ZSogY2Fs
bEZyYW1lLCBFbmNvZGVkSlNWYWx1ZQogICAgICAgICAgICAgICAgIGRpZE9wdGltaXplID0gdHJ1
ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICAKKwogICAgICAgICBpZiAoIWRp
ZE9wdGltaXplKSB7CiAgICAgICAgICAgICAvLyBJZiB3ZSB0YWtlIHNsb3cgcGF0aCBtb3JlIHRo
YW4gMTAgdGltZXMgd2l0aG91dCBwYXRjaGluZyB0aGVuIG1ha2Ugc3VyZSB3ZQogICAgICAgICAg
ICAgLy8gbmV2ZXIgbWFrZSB0aGF0IG1pc3Rha2UgYWdhaW4uIE9yLCBpZiB3ZSBmYWlsZWQgdG8g
cGF0Y2ggYW5kIHdlIGhhdmUgc29tZSBvYmplY3QKQEAgLTYyMCw3ICs2MjIsNyBAQCB2b2lkIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlWYWxHZW5lcmljKEV4ZWNTdGF0ZSogZXhlYywgRW5j
b2RlZEpTVmFsdWUgZW5jbwogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgTmF0aXZl
Q2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOwotICAgIAorCiAgICAgSlNWYWx1ZSBi
YXNlVmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2VWYWx1ZSk7CiAgICAgSlNWYWx1
ZSBzdWJzY3JpcHQgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFN1YnNjcmlwdCk7CiAgICAgSlNW
YWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOwpAQCAtNjMzLDcgKzYz
NSw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25EaXJlY3RQdXRCeVZhbEdlbmVyaWMo
RXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1CiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0o
KTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7Ci0gICAgCisK
ICAgICBKU1ZhbHVlIGJhc2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZVZhbHVl
KTsKICAgICBKU1ZhbHVlIHN1YnNjcmlwdCA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkU3Vic2Ny
aXB0KTsKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7
CkBAIC02NTcsNyArNjU5LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRp
b25DYWxsRXZhbChFeGVjU3RhdGUqIGV4ZWMsIEV4ZWNTdGF0ZSogZXhlY0MKICAgICBKU1ZhbHVl
IHJlc3VsdCA9IGV2YWwoZXhlY0NhbGxlZSk7CiAgICAgaWYgKHZtLT5leGNlcHRpb24oKSkKICAg
ICAgICAgcmV0dXJuIEVuY29kZWRKU1ZhbHVlKCk7Ci0gICAgCisKICAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKHJlc3VsdCk7CiB9CiAKQEAgLTY3MSw5ICs2NzMsOSBAQCBzdGF0aWMgdm9pZCog
aGFuZGxlSG9zdENhbGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBKU1ZhbHVlIGNhbGxlZSwgQ29k
ZVNwZWNpYWxpegogICAgIGlmIChraW5kID09IENvZGVGb3JDYWxsKSB7CiAgICAgICAgIENhbGxE
YXRhIGNhbGxEYXRhOwogICAgICAgICBDYWxsVHlwZSBjYWxsVHlwZSA9IGdldENhbGxEYXRhKGNh
bGxlZSwgY2FsbERhdGEpOwotICAgIAorCiAgICAgICAgIEFTU0VSVChjYWxsVHlwZSAhPSBDYWxs
VHlwZUpTKTsKLSAgICAKKwogICAgICAgICBpZiAoY2FsbFR5cGUgPT0gQ2FsbFR5cGVIb3N0KSB7
CiAgICAgICAgICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjQ2FsbGVl
KTsKICAgICAgICAgICAgIGV4ZWNDYWxsZWUtPnNldENhbGxlZShhc09iamVjdChjYWxsZWUpKTsK
QEAgLTY4MywxOSArNjg1LDE5IEBAIHN0YXRpYyB2b2lkKiBoYW5kbGVIb3N0Q2FsbChFeGVjU3Rh
dGUqIGV4ZWNDYWxsZWUsIEpTVmFsdWUgY2FsbGVlLCBDb2RlU3BlY2lhbGl6CiAKICAgICAgICAg
ICAgIHJldHVybiByZWludGVycHJldF9jYXN0PHZvaWQqPihnZXRIb3N0Q2FsbFJldHVyblZhbHVl
KTsKICAgICAgICAgfQotICAgIAorCiAgICAgICAgIEFTU0VSVChjYWxsVHlwZSA9PSBDYWxsVHlw
ZU5vbmUpOwogICAgICAgICBleGVjLT52bSgpLnRocm93RXhjZXB0aW9uKGV4ZWMsIGNyZWF0ZU5v
dEFGdW5jdGlvbkVycm9yKGV4ZWMsIGNhbGxlZSkpOwogICAgICAgICByZXR1cm4gdm0tPmdldENU
SVN0dWIodGhyb3dFeGNlcHRpb25Gcm9tQ2FsbFNsb3dQYXRoR2VuZXJhdG9yKS5jb2RlKCkuZXhl
Y3V0YWJsZUFkZHJlc3MoKTsKICAgICB9CiAKICAgICBBU1NFUlQoa2luZCA9PSBDb2RlRm9yQ29u
c3RydWN0KTsKLSAgICAKKwogICAgIENvbnN0cnVjdERhdGEgY29uc3RydWN0RGF0YTsKICAgICBD
b25zdHJ1Y3RUeXBlIGNvbnN0cnVjdFR5cGUgPSBnZXRDb25zdHJ1Y3REYXRhKGNhbGxlZSwgY29u
c3RydWN0RGF0YSk7Ci0gICAgCisKICAgICBBU1NFUlQoY29uc3RydWN0VHlwZSAhPSBDb25zdHJ1
Y3RUeXBlSlMpOwotICAgIAorCiAgICAgaWYgKGNvbnN0cnVjdFR5cGUgPT0gQ29uc3RydWN0VHlw
ZUhvc3QpIHsKICAgICAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlY0Nh
bGxlZSk7CiAgICAgICAgIGV4ZWNDYWxsZWUtPnNldENhbGxlZShhc09iamVjdChjYWxsZWUpKTsK
QEAgLTcwNSw3ICs3MDcsNyBAQCBzdGF0aWMgdm9pZCogaGFuZGxlSG9zdENhbGwoRXhlY1N0YXRl
KiBleGVjQ2FsbGVlLCBKU1ZhbHVlIGNhbGxlZSwgQ29kZVNwZWNpYWxpegogCiAgICAgICAgIHJl
dHVybiByZWludGVycHJldF9jYXN0PHZvaWQqPihnZXRIb3N0Q2FsbFJldHVyblZhbHVlKTsKICAg
ICB9Ci0gICAgCisKICAgICBBU1NFUlQoY29uc3RydWN0VHlwZSA9PSBDb25zdHJ1Y3RUeXBlTm9u
ZSk7CiAgICAgZXhlYy0+dm0oKS50aHJvd0V4Y2VwdGlvbihleGVjLCBjcmVhdGVOb3RBQ29uc3Ry
dWN0b3JFcnJvcihleGVjLCBjYWxsZWUpKTsKICAgICByZXR1cm4gdm0tPmdldENUSVN0dWIodGhy
b3dFeGNlcHRpb25Gcm9tQ2FsbFNsb3dQYXRoR2VuZXJhdG9yKS5jb2RlKCkuZXhlY3V0YWJsZUFk
ZHJlc3MoKTsKQEAgLTcxOCw3ICs3MjAsNyBAQCBpbmxpbmUgY2hhciogbGlua0ZvcigKICAgICBF
eGVjU3RhdGUqIGV4ZWMgPSBleGVjQ2FsbGVlLT5jYWxsZXJGcmFtZSgpOwogICAgIFZNKiB2bSA9
ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMp
OwotICAgIAorCiAgICAgSlNWYWx1ZSBjYWxsZWVBc1ZhbHVlID0gZXhlY0NhbGxlZS0+Y2FsbGVl
QXNWYWx1ZSgpOwogICAgIEpTQ2VsbCogY2FsbGVlQXNGdW5jdGlvbkNlbGwgPSBnZXRKU0Z1bmN0
aW9uKGNhbGxlZUFzVmFsdWUpOwogICAgIGlmICghY2FsbGVlQXNGdW5jdGlvbkNlbGwpIHsKQEAg
LTc2MSw3ICs3NjMsNyBAQCBpbmxpbmUgY2hhciogbGlua0ZvcigKICAgICAgICAgY2FsbExpbmtJ
bmZvLT5zZXRTZWVuKCk7CiAgICAgZWxzZQogICAgICAgICBsaW5rRm9yKGV4ZWNDYWxsZWUsICpj
YWxsTGlua0luZm8sIGNvZGVCbG9jaywgY2FsbGVlLCBjb2RlUHRyLCBraW5kLCByZWdpc3RlcnMp
OwotICAgIAorCiAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KGNvZGVQdHIuZXhl
Y3V0YWJsZUFkZHJlc3MoKSk7CiB9CiAKQEAgLTc5Nyw3ICs3OTksNyBAQCBpbmxpbmUgY2hhciog
dmlydHVhbEZvcldpdGhGdW5jdGlvbigKICAgICBjYWxsZWVBc0Z1bmN0aW9uQ2VsbCA9IGdldEpT
RnVuY3Rpb24oY2FsbGVlQXNWYWx1ZSk7CiAgICAgaWYgKFVOTElLRUxZKCFjYWxsZWVBc0Z1bmN0
aW9uQ2VsbCkpCiAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PGNoYXIqPihoYW5kbGVI
b3N0Q2FsbChleGVjQ2FsbGVlLCBjYWxsZWVBc1ZhbHVlLCBraW5kKSk7Ci0gICAgCisKICAgICBK
U0Z1bmN0aW9uKiBmdW5jdGlvbiA9IGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY2FsbGVlQXNGdW5jdGlv
bkNlbGwpOwogICAgIEpTU2NvcGUqIHNjb3BlID0gZnVuY3Rpb24tPnNjb3BlVW5jaGVja2VkKCk7
CiAgICAgRXhlY3V0YWJsZUJhc2UqIGV4ZWN1dGFibGUgPSBmdW5jdGlvbi0+ZXhlY3V0YWJsZSgp
OwpAQCAtODMyLDEyICs4MzQsMTIgQEAgY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25MaW5r
UG9seW1vcnBoaWNDYWxsKEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSwgQ2FsbExpbmsKICAgICBjaGFy
KiByZXN1bHQgPSB2aXJ0dWFsRm9yV2l0aEZ1bmN0aW9uKGV4ZWNDYWxsZWUsIENvZGVGb3JDYWxs
LCBSZWdpc3RlclByZXNlcnZhdGlvbk5vdFJlcXVpcmVkLCBjYWxsZWVBc0Z1bmN0aW9uQ2VsbCk7
CiAKICAgICBsaW5rUG9seW1vcnBoaWNDYWxsKGV4ZWNDYWxsZWUsICpjYWxsTGlua0luZm8sIENh
bGxWYXJpYW50KGNhbGxlZUFzRnVuY3Rpb25DZWxsKSwgUmVnaXN0ZXJQcmVzZXJ2YXRpb25Ob3RS
ZXF1aXJlZCk7Ci0gICAgCisKICAgICByZXR1cm4gcmVzdWx0OwogfQogCiBjaGFyKiBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvblZpcnR1YWxDYWxsKEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSwgQ2FsbExp
bmtJbmZvKikKLXsgICAgCit7CiAgICAgcmV0dXJuIHZpcnR1YWxGb3IoZXhlY0NhbGxlZSwgQ29k
ZUZvckNhbGwsIFJlZ2lzdGVyUHJlc2VydmF0aW9uTm90UmVxdWlyZWQpOwogfQogCkBAIC04NTIs
MTIgKzg1NCwxMiBAQCBjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkxpbmtQb2x5bW9ycGhp
Y0NhbGxUaGF0UHJlc2VydmVzUmVncyhFeGVjU3RhdGUqIGV4ZQogICAgIGNoYXIqIHJlc3VsdCA9
IHZpcnR1YWxGb3JXaXRoRnVuY3Rpb24oZXhlY0NhbGxlZSwgQ29kZUZvckNhbGwsIE11c3RQcmVz
ZXJ2ZVJlZ2lzdGVycywgY2FsbGVlQXNGdW5jdGlvbkNlbGwpOwogCiAgICAgbGlua1BvbHltb3Jw
aGljQ2FsbChleGVjQ2FsbGVlLCAqY2FsbExpbmtJbmZvLCBDYWxsVmFyaWFudChjYWxsZWVBc0Z1
bmN0aW9uQ2VsbCksIE11c3RQcmVzZXJ2ZVJlZ2lzdGVycyk7Ci0gICAgCisKICAgICByZXR1cm4g
cmVzdWx0OwogfQogCiBjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblZpcnR1YWxDYWxsVGhh
dFByZXNlcnZlc1JlZ3MoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBDYWxsTGlua0luZm8qKQoteyAg
ICAKK3sKICAgICByZXR1cm4gdmlydHVhbEZvcihleGVjQ2FsbGVlLCBDb2RlRm9yQ2FsbCwgTXVz
dFByZXNlcnZlUmVnaXN0ZXJzKTsKIH0KIApAQCAtODcwLDcgKzg3Miw3IEBAIHNpemVfdCBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvbkNvbXBhcmVMZXNzKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2Fs
bEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICByZXR1cm4ganNMZXNz
PHRydWU+KGV4ZWMsIEpTVmFsdWU6OmRlY29kZShlbmNvZGVkT3AxKSwgSlNWYWx1ZTo6ZGVjb2Rl
KGVuY29kZWRPcDIpKTsKIH0KIApAQCAtOTAyLDcgKzkwNCw3IEBAIHNpemVfdCBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkNvbnZlcnRKU1ZhbHVlVG9Cb29sZWFuKEV4ZWNTdGF0ZSogZXhlYywgRW5j
b2RlZEpTCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1l
VHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICByZXR1cm4gSlNWYWx1ZTo6ZGVj
b2RlKGVuY29kZWRPcCkudG9Cb29sZWFuKGV4ZWMpOwogfQogCkBAIC05MzYsNyArOTM4LDcgQEAg
c2l6ZV90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFzUHJvcGVydHkoRXhlY1N0YXRlKiBleGVj
LCBKU09iamVjdCogYmFzZSwgSlNTdHIKICAgICBpbnQgcmVzdWx0ID0gYmFzZS0+aGFzUHJvcGVy
dHkoZXhlYywgcHJvcGVydHktPnRvSWRlbnRpZmllcihleGVjKSk7CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KLSAgICAKKwogCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5l
d0FycmF5V2l0aFByb2ZpbGUoRXhlY1N0YXRlKiBleGVjLCBBcnJheUFsbG9jYXRpb25Qcm9maWxl
KiBwcm9maWxlLCBjb25zdCBKU1ZhbHVlKiB2YWx1ZXMsIGludCBzaXplKQogewpAQCAtOTc2LDEx
ICs5NzgsNDQgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdGdW5j
dGlvbldpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGMKICAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKEpTRnVuY3Rpb246OmNyZWF0ZVdpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNo
cG9pbnQodm0sIHN0YXRpY19jYXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KGZ1bmN0aW9uRXhlY3V0
YWJsZSksIHNjb3BlKSk7CiB9CiAKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uTmV3QXJyb3dGdW5jdGlvbldpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQo
RXhlY1N0YXRlKiBleGVjLCBKU1Njb3BlKiBzY29wZSwgSlNDZWxsKiBmdW5jdGlvbkV4ZWN1dGFi
bGUsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSkKK3sKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgICAgICBBU1NFUlQoZnVuY3Rpb25FeGVjdXRhYmxlLT5pbmhlcml0
cyhGdW5jdGlvbkV4ZWN1dGFibGU6OmluZm8oKSkpOworICAgICAgICBWTSYgdm0gPSBleGVjLT52
bSgpOworICAgICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7Cisg
ICAgICAgIAorICAgICAgICBKU0Z1bmN0aW9uKiBmdW5jID0gIEpTRnVuY3Rpb246OmNyZWF0ZSh2
bSwgc3RhdGljX2Nhc3Q8RnVuY3Rpb25FeGVjdXRhYmxlKj4oZnVuY3Rpb25FeGVjdXRhYmxlKSwg
c2NvcGUpOworICAgICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZXhlYy0+Y2Fs
bGVlKCktPmdsb2JhbE9iamVjdCgpOworICAgICAgICAKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShKU0Fycm93RnVuY3Rpb246OmNyZWF0ZVdpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlv
bldhdGNocG9pbnQodm0sIGdsb2JhbE9iamVjdCwgZnVuYywgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNW
YWx1ZSkpKTsKKyNlbHNlCisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmlu
ZWQoKSk7CisjZW5kaWYKK30KKyAgICAKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uTmV3QXJyb3dGdW5jdGlvbihFeGVjU3RhdGUqIGV4ZWMsIEpTU2NvcGUqIHNjb3BlLCBK
U0NlbGwqIGZ1bmN0aW9uRXhlY3V0YWJsZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlKQorewor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgQVNTRVJUKGZ1bmN0aW9u
RXhlY3V0YWJsZS0+aW5oZXJpdHMoRnVuY3Rpb25FeGVjdXRhYmxlOjppbmZvKCkpKTsKKyAgICBW
TSYgdm0gPSBleGVjLT52bSgpOworICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZt
LCBleGVjKTsKKworICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBleGVjLT5jYWxs
ZWUoKS0+Z2xvYmFsT2JqZWN0KCk7CisgICAgSlNGdW5jdGlvbiogZnVuYyA9ICBKU0Z1bmN0aW9u
OjpjcmVhdGUodm0sIHN0YXRpY19jYXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KGZ1bmN0aW9uRXhl
Y3V0YWJsZSksIHNjb3BlKTsKKworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNBcnJvd0Z1
bmN0aW9uOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgZnVuYywgSlNWYWx1ZTo6ZGVjb2RlKHRo
aXNWYWx1ZSkpKTsKKworI2Vsc2UKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZp
bmVkKCkpOworI2VuZGlmCit9CisKIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdP
YmplY3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKIHsKICAgICBWTSog
dm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBl
eGVjKTsKLSAgICAKKwogICAgIHJldHVybiBjb25zdHJ1Y3RFbXB0eU9iamVjdChleGVjLCBzdHJ1
Y3R1cmUpOwogfQogCkBAIC0xMDU0LDEzICsxMDg5LDEzIEBAIFNsb3dQYXRoUmV0dXJuVHlwZSBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvbk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgaW50MzJfdCBi
eXRlCiAgICAgLy8gdGhhdCBjYXNlIHdlIHdvdWxkIGhhdmUgYWxyZWFkeSBwbGFudGVkIHRoZSBv
cHRpbWl6ZWQgY29kZSBibG9jayBpbnRvIHRoZSBKUwogICAgIC8vIHN0YWNrLgogICAgIERlZmVy
R0NGb3JBV2hpbGUgZGVmZXJHQyh2bS5oZWFwKTsKLSAgICAKKwogICAgIENvZGVCbG9jayogY29k
ZUJsb2NrID0gZXhlYy0+Y29kZUJsb2NrKCk7CiAgICAgaWYgKGNvZGVCbG9jay0+aml0VHlwZSgp
ICE9IEpJVENvZGU6OkJhc2VsaW5lSklUKSB7CiAgICAgICAgIGRhdGFMb2coIlVuZXhwZWN0ZWQg
Y29kZSBibG9jayBpbiBCYXNlbGluZS0+REZHIHRpZXItdXA6ICIsICpjb2RlQmxvY2ssICJcbiIp
OwogICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KLSAgICAKKwog
ICAgIGlmIChieXRlY29kZUluZGV4KSB7CiAgICAgICAgIC8vIElmIHdlJ3JlIGF0dGVtcHRpbmcg
dG8gT1NSIGZyb20gYSBsb29wLCBhc3N1bWUgdGhhdCB0aGlzIHNob3VsZCBiZQogICAgICAgICAv
LyBzZXBhcmF0ZWx5IG9wdGltaXplZC4KQEAgLTEwODYsNyArMTEyMSw3IEBAIFNsb3dQYXRoUmV0
dXJuVHlwZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywg
aW50MzJfdCBieXRlCiAgICAgICAgICAgICBkYXRhTG9nKCJDaG9vc2luZyBub3QgdG8gb3B0aW1p
emUgIiwgKmNvZGVCbG9jaywgIiB5ZXQsIGJlY2F1c2UgdGhlIHRocmVzaG9sZCBoYXNuJ3QgYmVl
biByZWFjaGVkLlxuIik7CiAgICAgICAgIHJldHVybiBlbmNvZGVSZXN1bHQoMCwgMCk7CiAgICAg
fQotICAgIAorCiAgICAgaWYgKHZtLmVuYWJsZWRQcm9maWxlcigpKSB7CiAgICAgICAgIHVwZGF0
ZUFsbFByZWRpY3Rpb25zQW5kT3B0aW1pemVBZnRlcldhcm1VcChjb2RlQmxvY2spOwogICAgICAg
ICByZXR1cm4gZW5jb2RlUmVzdWx0KDAsIDApOwpAQCAtMTEyMiw3ICsxMTU3LDcgQEAgU2xvd1Bh
dGhSZXR1cm5UeXBlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uT3B0aW1pemUoRXhlY1N0YXRlKiBl
eGVjLCBpbnQzMl90IGJ5dGUKICAgICAgICAgLy8gY291bnQgdGhyZXNob2xkIGRlcGVuZGluZyBv
biB3aGF0IGhhcHBlbmVkLCBzbyBpZiB0aGUgY29tcGlsYXRpb24gd2FzIGFueXRoaW5nCiAgICAg
ICAgIC8vIGJ1dCBzdWNjZXNzZnVsIHdlIGp1c3Qgd2FudCB0byByZXR1cm4gZWFybHkuIFNlZSB0
aGUgY2FzZSBmb3Igd29ya2xpc3RTdGF0ZSA9PQogICAgICAgICAvLyBERkc6OldvcmtsaXN0OjpD
b21waWxlZCwgYmVsb3cuCi0gICAgICAgIAorCiAgICAgICAgIC8vIE5vdGUgdGhhdCB3ZSBjb3Vs
ZCBoYXZlIGFsdGVybmF0aXZlbHkganVzdCBjYWxsZWQgV29ya2xpc3Q6OmNvbXBpbGF0aW9uU3Rh
dGUoKQogICAgICAgICAvLyBoZXJlLCBhbmQgaWYgaXQgcmV0dXJuZWQgQ29tcGlsZWQsIHdlIGNv
dWxkIGhhdmUgdGhlbiBjYWxsZWQKICAgICAgICAgLy8gY29tcGxldGVBbmRTY2hlZHVsZU9TUigp
IGJlbG93LiBCdXQgdGhhdCB3b3VsZCBoYXZlIG1lYW50IHRoYXQgaXQgY291bGQgdGFrZQpAQCAt
MTE2NSw3ICsxMjAwLDcgQEAgU2xvd1BhdGhSZXR1cm5UeXBlIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uT3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBpbnQzMl90IGJ5dGUKICAgICAgICAgLy8gY3Rp
X29wdGltaXplIGZyb20gYSBsb29wLiBUaGF0J3MgYmVjYXVzZSBpZiB0aGVyZSdzIGFuIG9wdGlt
aXplZCByZXBsYWNlbWVudCwKICAgICAgICAgLy8gdGhlbiBhbGwgY2FsbHMgdG8gdGhpcyBmdW5j
dGlvbiB3aWxsIGJlIHJlbGlua2VkIHRvIHRoZSByZXBsYWNlbWVudCBhbmQgc28KICAgICAgICAg
Ly8gdGhlIHByb2xvZ3VlIE9TUiB3aWxsIG5ldmVyIGZpcmUuCi0gICAgICAgIAorCiAgICAgICAg
IC8vIFRoaXMgaXMgYW4gaW50ZXJlc3RpbmcgdGhyZXNob2xkIGNoZWNrLiBDb25zaWRlciB0aGF0
IGEgZnVuY3Rpb24gT1NSIGV4aXRzCiAgICAgICAgIC8vIGluIHRoZSBtaWRkbGUgb2YgYSBsb29w
LCB3aGlsZSBoYXZpbmcgYSByZWxhdGl2ZWx5IGxvdyBleGl0IGNvdW50LiBUaGUgZXhpdAogICAg
ICAgICAvLyB3aWxsIHJlc2V0IHRoZSBleGVjdXRpb24gY291bnRlciB0byBzb21lIHRhcmdldCB0
aHJlc2hvbGQsIG1lYW5pbmcgdGhhdCB0aGlzCkBAIC0xMjExLDE2ICsxMjQ2LDE2IEBAIFNsb3dQ
YXRoUmV0dXJuVHlwZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk9wdGltaXplKEV4ZWNTdGF0ZSog
ZXhlYywgaW50MzJfdCBieXRlCiAgICAgICAgIENvbXBpbGF0aW9uUmVzdWx0IHJlc3VsdCA9IERG
Rzo6Y29tcGlsZSgKICAgICAgICAgICAgIHZtLCByZXBsYWNlbWVudENvZGVCbG9jay5nZXQoKSwg
MCwgREZHOjpERkdNb2RlLCBieXRlY29kZUluZGV4LAogICAgICAgICAgICAgbXVzdEhhbmRsZVZh
bHVlcywgSklUVG9ERkdEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2s6OmNyZWF0ZSgpKTsKLSAg
ICAgICAgCisKICAgICAgICAgaWYgKHJlc3VsdCAhPSBDb21waWxhdGlvblN1Y2Nlc3NmdWwpIHsK
ICAgICAgICAgICAgIEFTU0VSVChyZXN1bHQgPT0gQ29tcGlsYXRpb25EZWZlcnJlZCB8fCByZXBs
YWNlbWVudENvZGVCbG9jay0+aGFzT25lUmVmKCkpOwogICAgICAgICAgICAgcmV0dXJuIGVuY29k
ZVJlc3VsdCgwLCAwKTsKICAgICAgICAgfQogICAgIH0KLSAgICAKKwogICAgIENvZGVCbG9jayog
b3B0aW1pemVkQ29kZUJsb2NrID0gY29kZUJsb2NrLT5yZXBsYWNlbWVudCgpOwogICAgIEFTU0VS
VChKSVRDb2RlOjppc09wdGltaXppbmdKSVQob3B0aW1pemVkQ29kZUJsb2NrLT5qaXRUeXBlKCkp
KTsKLSAgICAKKwogICAgIGlmICh2b2lkKiBkYXRhQnVmZmVyID0gREZHOjpwcmVwYXJlT1NSRW50
cnkoZXhlYywgb3B0aW1pemVkQ29kZUJsb2NrLCBieXRlY29kZUluZGV4KSkgewogICAgICAgICBp
ZiAoT3B0aW9uczo6dmVyYm9zZU9TUigpKSB7CiAgICAgICAgICAgICBkYXRhTG9nKApAQCAtMTI2
Myw3ICsxMjk4LDcgQEAgU2xvd1BhdGhSZXR1cm5UeXBlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBpbnQzMl90IGJ5dGUKICAgICAvLyBPU1IgZmFpbGVk
IHRoaXMgdGltZSwgYnV0IGl0IG1pZ2h0IHN1Y2NlZWQgbmV4dCB0aW1lISBMZXQgdGhlIGNvZGUg
cnVuIGEgYml0CiAgICAgLy8gbG9uZ2VyIGFuZCB0aGVuIHRyeSBhZ2Fpbi4KICAgICBjb2RlQmxv
Y2stPm9wdGltaXplQWZ0ZXJXYXJtVXAoKTsKLSAgICAKKwogICAgIHJldHVybiBlbmNvZGVSZXN1
bHQoMCwgMCk7CiB9CiAjZW5kaWYKQEAgLTE0MzksNyArMTQ3NCw3IEBAIHN0YXRpYyBKU1ZhbHVl
IGdldEJ5VmFsKEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSBiYXNlVmFsdWUsIEpTVmFsdWUgc3Vi
c2NyaXB0LCBSCiB9CiAKIGV4dGVybiAiQyIgewotICAgIAorCiBFbmNvZGVkSlNWYWx1ZSBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5VmFsR2VuZXJpYyhFeGVjU3RhdGUqIGV4ZWMsIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkU3Vic2NyaXB0KQog
ewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CkBAIC0xNDU3LDcgKzE0OTIsNyBAQCBFbmNvZGVk
SlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5VmFsRGVmYXVsdChFeGVjU3RhdGUq
IGV4ZWMsIEVuY29kZWRKUwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBl
eGVjKTsKICAgICBKU1ZhbHVlIGJhc2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFz
ZSk7CiAgICAgSlNWYWx1ZSBzdWJzY3JpcHQgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFN1YnNj
cmlwdCk7Ci0gICAgCisKICAgICBpZiAoYmFzZVZhbHVlLmlzT2JqZWN0KCkgJiYgc3Vic2NyaXB0
LmlzSW50MzIoKSkgewogICAgICAgICAvLyBTZWUgaWYgaXQncyB3b3J0aCBvcHRpbWl6aW5nIHRo
aXMgYXQgYWxsLgogICAgICAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QoYmFzZVZhbHVl
KTsKQEAgLTE0NjcsNyArMTUwMiw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uR2V0QnlWYWxEZWZhdWx0KEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTCiAgICAgICAg
IEFTU0VSVChieXRlY29kZU9mZnNldCk7CiAgICAgICAgIEJ5VmFsSW5mbyYgYnlWYWxJbmZvID0g
ZXhlYy0+Y29kZUJsb2NrKCktPmdldEJ5VmFsSW5mbyhieXRlY29kZU9mZnNldCAtIDEpOwogICAg
ICAgICBBU1NFUlQoIWJ5VmFsSW5mby5zdHViUm91dGluZSk7Ci0gICAgICAgIAorCiAgICAgICAg
IGlmIChoYXNPcHRpbWl6YWJsZUluZGV4aW5nKG9iamVjdC0+c3RydWN0dXJlKHZtKSkpIHsKICAg
ICAgICAgICAgIC8vIEF0dGVtcHQgdG8gb3B0aW1pemUuCiAgICAgICAgICAgICBKSVRBcnJheU1v
ZGUgYXJyYXlNb2RlID0gaml0QXJyYXlNb2RlRm9yU3RydWN0dXJlKG9iamVjdC0+c3RydWN0dXJl
KHZtKSk7CkBAIC0xNDc2LDcgKzE1MTEsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbkdldEJ5VmFsRGVmYXVsdChFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKUwogICAg
ICAgICAgICAgICAgIGRpZE9wdGltaXplID0gdHJ1ZTsKICAgICAgICAgICAgIH0KICAgICAgICAg
fQotICAgICAgICAKKwogICAgICAgICBpZiAoIWRpZE9wdGltaXplKSB7CiAgICAgICAgICAgICAv
LyBJZiB3ZSB0YWtlIHNsb3cgcGF0aCBtb3JlIHRoYW4gMTAgdGltZXMgd2l0aG91dCBwYXRjaGlu
ZyB0aGVuIG1ha2Ugc3VyZSB3ZQogICAgICAgICAgICAgLy8gbmV2ZXIgbWFrZSB0aGF0IG1pc3Rh
a2UgYWdhaW4uIE9yLCBpZiB3ZSBmYWlsZWQgdG8gcGF0Y2ggYW5kIHdlIGhhdmUgc29tZSBvYmpl
Y3QKQEAgLTE0OTAsMTggKzE1MjUsMTggQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBv
cGVyYXRpb25HZXRCeVZhbERlZmF1bHQoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlMKICAgICAg
ICAgICAgIH0KICAgICAgICAgfQogICAgIH0KLSAgICAKKwogICAgIEpTVmFsdWUgcmVzdWx0ID0g
Z2V0QnlWYWwoZXhlYywgYmFzZVZhbHVlLCBzdWJzY3JpcHQsIFJldHVybkFkZHJlc3NQdHIoT1VS
X1JFVFVSTl9BRERSRVNTKSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwog
fQotICAgIAorCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkhhc0luZGV4
ZWRQcm9wZXJ0eURlZmF1bHQoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVk
QmFzZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFN1YnNjcmlwdCkKIHsKICAgICBWTSYgdm0gPSBl
eGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsK
ICAgICBKU1ZhbHVlIGJhc2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSk7CiAg
ICAgSlNWYWx1ZSBzdWJzY3JpcHQgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFN1YnNjcmlwdCk7
Ci0gICAgCisKICAgICBBU1NFUlQoYmFzZVZhbHVlLmlzT2JqZWN0KCkpOwogICAgIEFTU0VSVChz
dWJzY3JpcHQuaXNVSW50MzIoKSk7CiAKQEAgLTE1MTIsNyArMTU0Nyw3IEBAIEVuY29kZWRKU1Zh
bHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFzSW5kZXhlZFByb3BlcnR5RGVmYXVsdChFeGVj
U3RhdGUqIGV4ZWMsCiAgICAgQVNTRVJUKGJ5dGVjb2RlT2Zmc2V0KTsKICAgICBCeVZhbEluZm8m
IGJ5VmFsSW5mbyA9IGV4ZWMtPmNvZGVCbG9jaygpLT5nZXRCeVZhbEluZm8oYnl0ZWNvZGVPZmZz
ZXQgLSAxKTsKICAgICBBU1NFUlQoIWJ5VmFsSW5mby5zdHViUm91dGluZSk7Ci0gICAgCisKICAg
ICBpZiAoaGFzT3B0aW1pemFibGVJbmRleGluZyhvYmplY3QtPnN0cnVjdHVyZSh2bSkpKSB7CiAg
ICAgICAgIC8vIEF0dGVtcHQgdG8gb3B0aW1pemUuCiAgICAgICAgIEpJVEFycmF5TW9kZSBhcnJh
eU1vZGUgPSBqaXRBcnJheU1vZGVGb3JTdHJ1Y3R1cmUob2JqZWN0LT5zdHJ1Y3R1cmUodm0pKTsK
QEAgLTE1MjEsNyArMTU1Niw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uSGFzSW5kZXhlZFByb3BlcnR5RGVmYXVsdChFeGVjU3RhdGUqIGV4ZWMsCiAgICAgICAgICAg
ICBkaWRPcHRpbWl6ZSA9IHRydWU7CiAgICAgICAgIH0KICAgICB9Ci0gICAgCisKICAgICBpZiAo
IWRpZE9wdGltaXplKSB7CiAgICAgICAgIC8vIElmIHdlIHRha2Ugc2xvdyBwYXRoIG1vcmUgdGhh
biAxMCB0aW1lcyB3aXRob3V0IHBhdGNoaW5nIHRoZW4gbWFrZSBzdXJlIHdlCiAgICAgICAgIC8v
IG5ldmVyIG1ha2UgdGhhdCBtaXN0YWtlIGFnYWluLiBPciwgaWYgd2UgZmFpbGVkIHRvIHBhdGNo
IGFuZCB3ZSBoYXZlIHNvbWUgb2JqZWN0CkBAIC0xNTMxLDM0ICsxNTY2LDM0IEBAIEVuY29kZWRK
U1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFzSW5kZXhlZFByb3BlcnR5RGVmYXVsdChF
eGVjU3RhdGUqIGV4ZWMsCiAgICAgICAgIGlmICgrK2J5VmFsSW5mby5zbG93UGF0aENvdW50ID49
IDEwCiAgICAgICAgICAgICB8fCBvYmplY3QtPnN0cnVjdHVyZSh2bSktPnR5cGVJbmZvKCkuaW50
ZXJjZXB0c0dldE93blByb3BlcnR5U2xvdEJ5SW5kZXhFdmVuV2hlbkxlbmd0aElzTm90WmVybygp
KSB7CiAgICAgICAgICAgICAvLyBEb24ndCBldmVyIHRyeSB0byBvcHRpbWl6ZS4KLSAgICAgICAg
ICAgIGN0aVBhdGNoQ2FsbEJ5UmV0dXJuQWRkcmVzcyhleGVjLT5jb2RlQmxvY2soKSwgUmV0dXJu
QWRkcmVzc1B0cihPVVJfUkVUVVJOX0FERFJFU1MpLCBGdW5jdGlvblB0cihvcGVyYXRpb25IYXNJ
bmRleGVkUHJvcGVydHlHZW5lcmljKSk7IAorICAgICAgICAgICAgY3RpUGF0Y2hDYWxsQnlSZXR1
cm5BZGRyZXNzKGV4ZWMtPmNvZGVCbG9jaygpLCBSZXR1cm5BZGRyZXNzUHRyKE9VUl9SRVRVUk5f
QUREUkVTUyksIEZ1bmN0aW9uUHRyKG9wZXJhdGlvbkhhc0luZGV4ZWRQcm9wZXJ0eUdlbmVyaWMp
KTsKICAgICAgICAgfQogICAgIH0KLSAgICAKKwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
anNCb29sZWFuKG9iamVjdC0+aGFzUHJvcGVydHkoZXhlYywgc3Vic2NyaXB0LmFzVUludDMyKCkp
KSk7CiB9Ci0gICAgCisKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFz
SW5kZXhlZFByb3BlcnR5R2VuZXJpYyhFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVu
Y29kZWRCYXNlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkU3Vic2NyaXB0KQogewogICAgIFZNJiB2
bSA9IGV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4
ZWMpOwogICAgIEpTVmFsdWUgYmFzZVZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNl
KTsKICAgICBKU1ZhbHVlIHN1YnNjcmlwdCA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkU3Vic2Ny
aXB0KTsKLSAgICAKKwogICAgIEFTU0VSVChiYXNlVmFsdWUuaXNPYmplY3QoKSk7CiAgICAgQVNT
RVJUKHN1YnNjcmlwdC5pc1VJbnQzMigpKTsKIAogICAgIEpTT2JqZWN0KiBvYmplY3QgPSBhc09i
amVjdChiYXNlVmFsdWUpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKG9i
amVjdC0+aGFzUHJvcGVydHkoZXhlYywgc3Vic2NyaXB0LmFzVUludDMyKCkpKSk7CiB9Ci0gICAg
CisKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlWYWxTdHJpbmco
RXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZFN1YnNjcmlwdCkKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIE5h
dGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKICAgICBKU1ZhbHVlIGJhc2VW
YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSk7CiAgICAgSlNWYWx1ZSBzdWJzY3Jp
cHQgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFN1YnNjcmlwdCk7Ci0gICAgCisKICAgICBKU1Zh
bHVlIHJlc3VsdDsKICAgICBpZiAoTElLRUxZKHN1YnNjcmlwdC5pc1VJbnQzMigpKSkgewogICAg
ICAgICB1aW50MzJfdCBpID0gc3Vic2NyaXB0LmFzVUludDMyKCk7CkBAIC0xNjAxLDcgKzE2MzYs
NyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkluc3RhbmNlT2YoRXhl
Y1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZQogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0
cmFjZXIoJnZtLCBleGVjKTsKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVu
Y29kZWRWYWx1ZSk7CiAgICAgSlNWYWx1ZSBwcm90byA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVk
UHJvdG8pOwotICAgIAorCiAgICAgQVNTRVJUKCF2YWx1ZS5pc09iamVjdCgpIHx8ICFwcm90by5p
c09iamVjdCgpKTsKIAogICAgIGJvb2wgcmVzdWx0ID0gSlNPYmplY3Q6OmRlZmF1bHRIYXNJbnN0
YW5jZShleGVjLCB2YWx1ZSwgcHJvdG8pOwpAQCAtMTc1Nyw3ICsxNzkyLDcgQEAgdm9pZCBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvblB1dFRvU2NvcGUoRXhlY1N0YXRlKiBleGVjLCBJbnN0cnVjdGlv
biogYnl0ZWNvZGVQQykKIAogICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KHNjb3BlLCBjb2RlQmxv
Y2stPmlzU3RyaWN0TW9kZSgpKTsKICAgICBzY29wZS0+bWV0aG9kVGFibGUoKS0+cHV0KHNjb3Bl
LCBleGVjLCBpZGVudCwgdmFsdWUsIHNsb3QpOwotICAgIAorCiAgICAgaWYgKGV4ZWMtPnZtKCku
ZXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybjsKIApAQCAtMTc5MSw3ICsxODI2LDcgQEAgdm9p
ZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk9TUldyaXRlQmFycmllcihFeGVjU3RhdGUqIGV4ZWMs
IEpTQ2VsbCogY2VsbCkKIH0KIAogLy8gTkI6IFdlIGRvbid0IGluY2x1ZGUgdGhlIHZhbHVlIGFz
IHBhcnQgb2YgdGhlIGJhcnJpZXIgYmVjYXVzZSB0aGUgd3JpdGUgYmFycmllciBlbGlzaW9uCi0v
LyBwaGFzZSBpbiB0aGUgREZHIG9ubHkgdHJhY2tzIHdoZXRoZXIgdGhlIG9iamVjdCBiZWluZyBz
dG9yZWQgdG8gaGFzIGJlZW4gYmFycmllcmVkLiBJdCAKKy8vIHBoYXNlIGluIHRoZSBERkcgb25s
eSB0cmFja3Mgd2hldGhlciB0aGUgb2JqZWN0IGJlaW5nIHN0b3JlZCB0byBoYXMgYmVlbiBiYXJy
aWVyZWQuIEl0CiAvLyB3b3VsZCBiZSBtdWNoIG1vcmUgY29tcGxpY2F0ZWQgdG8gdHJ5IHRvIG1v
ZGVsIHRoZSB2YWx1ZSBiZWluZyBzdG9yZWQgYXMgd2VsbC4KIHZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25VbmNvbmRpdGlvbmFsV3JpdGVCYXJyaWVyKEV4ZWNTdGF0ZSogZXhlYywgSlNDZWxs
KiBjZWxsKQogewpAQCAtMTgxNSw3ICsxODUwLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIGxvb2t1
cEV4Y2VwdGlvbkhhbmRsZXIoVk0qIHZtLCBFeGVjU3RhdGUqIGV4ZWMpCiAKICAgICBKU1ZhbHVl
IGV4Y2VwdGlvblZhbHVlID0gdm0tPmV4Y2VwdGlvbigpOwogICAgIEFTU0VSVChleGNlcHRpb25W
YWx1ZSk7Ci0gICAgCisKICAgICBnZW5lcmljVW53aW5kKHZtLCBleGVjLCBleGNlcHRpb25WYWx1
ZSk7CiAgICAgQVNTRVJUKHZtLT50YXJnZXRNYWNoaW5lUENGb3JUaHJvdyk7CiB9CkBAIC0xODMw
LDcgKzE4NjUsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gbG9va3VwRXhjZXB0aW9uSGFuZGxlckZy
b21DYWxsZXJGcmFtZShWTSogdm0sIEV4ZWNTdGF0ZSogZXhlYwogCiAgICAgSlNWYWx1ZSBleGNl
cHRpb25WYWx1ZSA9IHZtLT5leGNlcHRpb24oKTsKICAgICBBU1NFUlQoZXhjZXB0aW9uVmFsdWUp
OwotICAgIAorCiAgICAgZ2VuZXJpY1Vud2luZCh2bSwgY2FsbGVyRnJhbWUsIGV4Y2VwdGlvblZh
bHVlKTsKICAgICBBU1NFUlQodm0tPnRhcmdldE1hY2hpbmVQQ0ZvclRocm93KTsKIH0KQEAgLTE4
NzcsNyArMTkxMiw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFz
SW5kZXhlZFByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgSlNDZWxsCiAgICAgSlNPYmplY3QqIG9i
amVjdCA9IGJhc2VDZWxsLT50b09iamVjdChleGVjLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0
KCkpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKG9iamVjdC0+aGFzUHJv
cGVydHkoZXhlYywgc3Vic2NyaXB0KSkpOwogfQotICAgIAorCiBKU0NlbGwqIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uR2V0UHJvcGVydHlFbnVtZXJhdG9yKEV4ZWNTdGF0ZSogZXhlYywgSlNDZWxs
KiBjZWxsKQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3BlcmF0aW9ucy5oCmluZGV4IGM2NWY4NzRkMWYyZTc3MmQ4ZjUzNWY0YmQxYzRj
ZTBkMjgwNDRhZTcuLmRmM2I5ZmQzZjNkNjdhZmFlOTdkNWZmMzNkNDY3YTk1MGE1OWM4NDUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCkBAIC0yMCw3ICsyMCw3
IEBACiAgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCiAgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKICAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKICNpZm5kZWYgSklUT3BlcmF0aW9uc19oCkBAIC0x
MTUsNiArMTE1LDcgQEAgdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9K
SVRPcGVyYXRpb25fRVBQKShFeGVjU3RhdGUqLCB2b2lkKiwgdm8KIHR5cGVkZWYgRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQUykoRXhlY1N0YXRlKiwgdm9p
ZCosIHNpemVfdCk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJ
VE9wZXJhdGlvbl9FUGMpKEV4ZWNTdGF0ZSosIEluc3RydWN0aW9uKik7CiB0eXBlZGVmIEVuY29k
ZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FSnNjQykoRXhlY1N0YXRl
KiwgSlNTY29wZSosIEpTQ2VsbCopOwordHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OICgqSl9KSVRPcGVyYXRpb25fRUpzY0NKKShFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxs
KiwgRW5jb2RlZEpTVmFsdWUpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
ICgqSl9KSVRPcGVyYXRpb25fRVNTKShFeGVjU3RhdGUqLCBzaXplX3QsIHNpemVfdCk7CiB0eXBl
ZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FU3NpQ0kp
KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgSlNDZWxsKiwgU3RyaW5nSW1wbCopOwog
dHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNz
aUpJKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlLCBTdHJp
bmdJbXBsKik7CkBAIC0yNzksNiArMjgwLDggQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElP
TiBvcGVyYXRpb25OZXdBcnJheUJ1ZmZlcldpdGhQcm9maWxlKEV4ZWNTdGF0ZSosIEFycmEKIEVu
Y29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXlXaXRoU2l6ZUFuZFBy
b2ZpbGUoRXhlY1N0YXRlKiwgQXJyYXlBbGxvY2F0aW9uUHJvZmlsZSosIEVuY29kZWRKU1ZhbHVl
IHNpemUpIFdURl9JTlRFUk5BTDsKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uTmV3RnVuY3Rpb24oRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCopIFdURl9JTlRFUk5B
TDsKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3RnVuY3Rpb25XaXRo
SW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRjaHBvaW50KEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBK
U0NlbGwqKSBXVEZfSU5URVJOQUw7CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbk5ld0Fycm93RnVuY3Rpb24oRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29k
ZWRKU1ZhbHVlKSBXVEZfSU5URVJOQUw7CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbk5ld0Fycm93RnVuY3Rpb25XaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRjaHBv
aW50KEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lO
VEVSTkFMOwogSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3Rh
dGUqLCBTdHJ1Y3R1cmUqKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbk5ld1JlZ2V4cChFeGVjU3RhdGUqLCB2b2lkKikgV1RGX0lOVEVSTkFMOwog
dm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkhhbmRsZVdhdGNoZG9nVGltZXIoRXhlY1N0YXRl
KikgV1RGX0lOVEVSTkFMOwpAQCAtNDA3LDQgKzQxMCwzIEBAIGlubGluZSBQX0pJVE9wZXJhdGlv
bl9FQ2xpIG9wZXJhdGlvbkxpbmtQb2x5bW9ycGhpY0NhbGxGb3IoUmVnaXN0ZXJQcmVzZXJ2YXRp
b25NCiAjZW5kaWYgLy8gRU5BQkxFKEpJVCkKIAogI2VuZGlmIC8vIEpJVE9wZXJhdGlvbnNfaAot
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAppbmRl
eCAyMGJlYmYzMmY2MTU0ZmE5ZjNmNDY5NjJmM2E2MTQwYTJlODQ2ZGMwLi43YTg1MDVmMjhmZWMy
Y2FlMmM2NTM4NWNjMDk0YmNkZmNjMjRhZmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKQEAgLTM4LDYgKzM4LDggQEAKICNpbmNsdWRlICJJ
bnRlcnByZXRlci5oIgogI2luY2x1ZGUgIkpJVC5oIgogI2luY2x1ZGUgIkpJVEV4Y2VwdGlvbnMu
aCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU0JvdW5kRnVuY3Rp
b24uaCIKICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIkpTQ0lu
bGluZXMuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCkBAIC0xNzEsNiArMTczLDE1IEBAIG5h
bWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgTExJbnQgewogICAgICAgICBMTElOVF9SRVRVUk5fVFdP
KHBjLCBfX3JjZl9leGVjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIH0g
d2hpbGUgKGZhbHNlKQogCisgICAgCisjZGVmaW5lIExMSU5UX0NBTENfUFJPUEVSVFlfRk9SX0ZV
TkNfRVhQUigpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBMTElO
VF9CRUdJTigpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAorICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+Y29kZUJs
b2NrKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgSlNTY29wZSog
c2NvcGUgPSBleGVjLT51bmNoZWNrZWRSKHBjWzJdLnUub3BlcmFuZCkuUmVnaXN0ZXI6OnNjb3Bl
KCk7ICAgICAgIFwKKyAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUgPSBjb2RlQmxv
Y2stPmZ1bmN0aW9uRXhwcihwY1szXS51Lm9wZXJhbmQpOyAgXAorICAgIAorZW51bSBGdW5jdGlv
bkV4cHJlc3Npb25UeXBlIHsgQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25UeXBlLCBDb21tb25GdW5j
dGlvbkV4cHJlc3Npb25UeXBlfTsKKyAgICAKIGV4dGVybiAiQyIgU2xvd1BhdGhSZXR1cm5UeXBl
IGxsaW50X3RyYWNlX29wZXJhbmQoRXhlY1N0YXRlKiBleGVjLCBJbnN0cnVjdGlvbiogcGMsIGlu
dCBmcm9tV2hlcmUsIGludCBvcGVyYW5kKQogewogICAgIExMSU5UX0JFR0lOKCk7CkBAIC0xMDAz
LDE2ICsxMDE0LDMzIEBAIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuYykK
ICNlbmRpZgogICAgIExMSU5UX1JFVFVSTihKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGNvZGVCbG9j
ay0+ZnVuY3Rpb25EZWNsKHBjWzNdLnUub3BlcmFuZCksIHNjb3BlKSk7CiB9Ci0KKyAgICAKIExM
SU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuY19leHApCiB7Ci0gICAgTExJTlRf
QkVHSU4oKTsKLSAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVCbG9jaygpOwot
ICAgIEpTU2NvcGUqIHNjb3BlID0gZXhlYy0+dW5jaGVja2VkUihwY1syXS51Lm9wZXJhbmQpLlJl
Z2lzdGVyOjpzY29wZSgpOwotICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZnVuY3Rpb24gPSBjb2Rl
QmxvY2stPmZ1bmN0aW9uRXhwcihwY1szXS51Lm9wZXJhbmQpOwotICAgIEpTRnVuY3Rpb24qIGZ1
bmMgPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGZ1bmN0aW9uLCBzY29wZSk7CisgICAgTExJTlRf
Q0FMQ19QUk9QRVJUWV9GT1JfRlVOQ19FWFBSKCk7CisKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0g
SlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBleGVjdXRhYmxlLCBzY29wZSk7CisgICAgTExJTlRfUkVU
VVJOKGZ1bmMpOworfQorCisKK0xMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfYXJy
b3dfZnVuY19leHApCit7CisgICAgTExJTlRfQ0FMQ19QUk9QRVJUWV9GT1JfRlVOQ19FWFBSKCk7
CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEpTVmFsdWUgdGhp
c1ZhbHVlID0gTExJTlRfT1BfQyg0KS5qc1ZhbHVlKCk7CisgICAgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCA9IGV4ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKICAgICAKKyAgICBK
U0Z1bmN0aW9uKiBmdW5jID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBleGVjdXRhYmxlLCBzY29w
ZSk7CisgICAgCisgICAgY29uc3QgU3RyaW5nIGZ1bmNXaXRob3V0TmFtZSA9ICIiOworICAgIAor
ICAgIExMSU5UX1JFVFVSTihKU0Fycm93RnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0
LCBmdW5jLCB0aGlzVmFsdWUpKTsKKyNlbHNlCisgICAgSlNGdW5jdGlvbiogZnVuYyA9IEpTRnVu
Y3Rpb246OmNyZWF0ZSh2bSwgZXhlY3V0YWJsZSwgc2NvcGUpOwogICAgIExMSU5UX1JFVFVSTihm
dW5jKTsKKyNlbmRpZgogfQogCiBzdGF0aWMgU2xvd1BhdGhSZXR1cm5UeXBlIGhhbmRsZUhvc3RD
YWxsKEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSwgSW5zdHJ1Y3Rpb24qIHBjLCBKU1ZhbHVlIGNhbGxl
ZSwgQ29kZVNwZWNpYWxpemF0aW9uS2luZCBraW5kKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTExJbnRTbG93UGF0aHMuaAppbmRleCA0YmY3ZGViMGZhMGI2YzY0MzhlMzZmOTYzMjBl
MmY2Njk3MzlhZjY0Li5jN2ZhYjk2OTFjMThiOTM5NTZkMGVhMjlmMzM5NTYxMThjNWU3MWVlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaApAQCAtOTYs
NiArOTYsNyBAQCBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3N3aXRjaF9j
aGFyKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfc3dpdGNoX3N0cmlu
Zyk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX25ld19mdW5jKTsKIExM
SU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfbmV3X2Z1bmNfZXhwKTsKK0xMSU5U
X1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKTsKIExM
SU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfY2FsbCk7CiBMTElOVF9TTE9XX1BB
VEhfSElEREVOX0RFQ0woc2xvd19wYXRoX2NvbnN0cnVjdCk7CiBMTElOVF9TTE9XX1BBVEhfSElE
REVOX0RFQ0woc2xvd19wYXRoX3NpemVfZnJhbWVfZm9yX3ZhcmFyZ3MpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCmluZGV4IDU0
M2Q5ZTkzMzNjNTEzZTk3NjE3YjdiZGE3ZjY5OTg2NjgzOGExZTAuLjE4MmJiZDllNGVmNzg5Mjhk
YTUyZmJjZWM4ODJhNWRmMzZkYjc5NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KQEAgLTExNjksNiArMTE2OSwxMCBAQCBf
bGxpbnRfb3BfbmV3X2Z1bmNfZXhwOgogICAgIGNhbGxTbG93UGF0aChfbGxpbnRfc2xvd19wYXRo
X25ld19mdW5jX2V4cCkKICAgICBkaXNwYXRjaCg0KQogCitfbGxpbnRfb3BfbmV3X2Fycm93X2Z1
bmNfZXhwOgorICAgIHRyYWNlRXhlY3V0aW9uKCkKKyAgICBjYWxsU2xvd1BhdGgoX2xsaW50X3Ns
b3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApCisgICAgZGlzcGF0Y2goNSkKIAogX2xsaW50X29w
X2NhbGw6CiAgICAgdHJhY2VFeGVjdXRpb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L0FTVEJ1aWxkZXIuaAppbmRleCBhYTczNzA1MmNiM2M4MTUzNTdjOGE2ZmUzNjhhZDIxNTliYTMy
YzBmLi45ZDAzMTkxNDRiZDRkN2JlMTY2ZmQ3OTQwNTI1OGI5MmQyNGE0NjQ5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaApAQCAtMzU3LDYgKzM1NywxOSBAQCBw
dWJsaWM6CiAgICAgICAgICAgICBpblN0cmljdENvbnRleHQsIGNvbnN0cnVjdG9yS2luZCk7CiAg
ICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBFeHByZXNz
aW9uTm9kZSogY3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBs
b2NhdGlvbiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPEFTVEJ1aWxkZXI+JiBpbmZvKQorICAg
IHsKKyAgICAgICAgU291cmNlQ29kZSBzb3VyY2UgPSBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0g
QXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uCisgICAgICAgID8gbV9zb3VyY2VDb2RlLT5zdWJB
cnJvd0V4cHJlc3Npb24oaW5mby5hcnJvd0Z1bmN0aW9uT2Zmc2V0LCBpbmZvLmNsb3NlQnJhY2VP
ZmZzZXQsIGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1bW4pCisgICAgICAg
IDogbV9zb3VyY2VDb2RlLT5zdWJFeHByZXNzaW9uKGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBpbmZv
LmNsb3NlQnJhY2VPZmZzZXQsIGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5U3RhcnRDb2x1
bW4pOworCisgICAgICAgIEFycm93RnVuY0V4cHJOb2RlKiByZXN1bHQgPSBuZXcgKG1fcGFyc2Vy
QXJlbmEpIEFycm93RnVuY0V4cHJOb2RlKGxvY2F0aW9uLCAqaW5mby5uYW1lLCBpbmZvLmJvZHks
IHNvdXJjZSwgaW5mby5wYXJhbWV0ZXJzKTsKKyAgICAgICAgaW5mby5ib2R5LT5zZXRMb2MoaW5m
by5ib2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlFbmRMaW5lLCBsb2NhdGlvbi5zdGFydE9mZnNldCwg
bG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0KTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9
CisjZW5kaWYKKwogICAgIE5FVkVSX0lOTElORSBQcm9wZXJ0eU5vZGUqIGNyZWF0ZUdldHRlck9y
U2V0dGVyUHJvcGVydHkoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgUHJvcGVydHlO
b2RlOjpUeXBlIHR5cGUsIGJvb2wsCiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUsIGNv
bnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RCdWlsZGVyPiYgaW5mbywgU3VwZXJCaW5kaW5nIHN1
cGVyQmluZGluZykKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL0xleGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCmlu
ZGV4IDk2ZWI3YWFiMjM5YTM4NmQwN2Y2MGRiYTc0ZTZmYWQxZmE2Y2QzN2EuLmFkNzA1NmRkZTM4
OGVmODZmYjdmNjI3NmZkYTczZWFlODlkNDM0OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvTGV4ZXIuY3BwCkBAIC0xNzA4LDYgKzE3MDgsMTggQEAgYm9vbCBMZXhlcjxUPjo6bmV4dFRv
a2VuSXNDb2xvbigpCiAgICAgcmV0dXJuIGNvZGUgPCBtX2NvZGVFbmQgJiYgKmNvZGUgPT0gJzon
OwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0
eXBlbmFtZSBUPgordm9pZCBMZXhlcjxUPjo6c2V0VG9rZW5Qb3NpdGlvbihKU1Rva2VuKiB0b2tl
blJlY29yZCkKK3sKKyAgICBKU1Rva2VuRGF0YSogdG9rZW5EYXRhID0gJnRva2VuUmVjb3JkLT5t
X2RhdGE7CisgICAgdG9rZW5EYXRhLT5saW5lID0gbGluZU51bWJlcigpOworICAgIHRva2VuRGF0
YS0+b2Zmc2V0ID0gY3VycmVudE9mZnNldCgpOworICAgIHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zm
c2V0ID0gY3VycmVudExpbmVTdGFydE9mZnNldCgpOworICAgIEFTU0VSVCh0b2tlbkRhdGEtPm9m
ZnNldCA+PSB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCk7Cit9CisjZW5kaWYKKwogdGVtcGxh
dGUgPHR5cGVuYW1lIFQ+CiBKU1Rva2VuVHlwZSBMZXhlcjxUPjo6bGV4KEpTVG9rZW4qIHRva2Vu
UmVjb3JkLCB1bnNpZ25lZCBsZXhlckZsYWdzLCBib29sIHN0cmljdE1vZGUpCiB7CkBAIC0xNzcx
LDcgKzE3ODMsMTIgQEAgc3RhcnQ6CiAgICAgICAgIH0KICAgICAgICAgdG9rZW4gPSBHVDsKICAg
ICAgICAgYnJlYWs7Ci0gICAgY2FzZSBDaGFyYWN0ZXJFcXVhbDoKKyAgICBjYXNlIENoYXJhY3Rl
ckVxdWFsOiB7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAg
dWludDMyX3Qgc2F2ZWRsaW5lTnVtYmVyID0gdG9rZW5EYXRhLT5saW5lOworICAgICAgICB1aW50
MzJfdCBzYXZlZE9mZnNldCA9IGN1cnJlbnRPZmZzZXQoKTsKKyAgICAgICAgdWludDMyX3Qgc2F2
ZWRMaW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0KCk7CisjZW5kaWYKICAg
ICAgICAgc2hpZnQoKTsKICAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnPScpIHsKICAgICAgICAg
ICAgIHNoaWZ0KCk7CkBAIC0xNzgzLDggKzE4MDAsMjIgQEAgc3RhcnQ6CiAgICAgICAgICAgICB0
b2tlbiA9IEVRRVE7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJz4nKSB7
CisgICAgICAgICAgICBzaGlmdCgpOworICAgICAgICAgICAgdG9rZW4gPSBBUlJPV0ZVTkNUSU9O
OworCisgICAgICAgICAgICB0b2tlbkRhdGEtPmxpbmUgPSBzYXZlZGxpbmVOdW1iZXI7CisgICAg
ICAgICAgICB0b2tlbkRhdGEtPm9mZnNldCA9IHNhdmVkT2Zmc2V0OworICAgICAgICAgICAgdG9r
ZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQgPSBzYXZlZExpbmVTdGFydE9mZnNldDsKKworICAgICAg
ICAgICAgQVNTRVJUKHRva2VuRGF0YS0+b2Zmc2V0ID49IHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zm
c2V0KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgdG9r
ZW4gPSBFUVVBTDsKICAgICAgICAgYnJlYWs7CisgICAgfQogICAgIGNhc2UgQ2hhcmFjdGVyTGVz
czoKICAgICAgICAgc2hpZnQoKTsKICAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnIScgJiYgcGVl
aygxKSA9PSAnLScgJiYgcGVlaygyKSA9PSAnLScpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
TGV4ZXIuaAppbmRleCA4YWZlZjI2MTEyMTA4YWVkN2U4NmVkMGU4NDc5Yjc5YzFkMDIyN2FiLi5i
ZGEzYmQ0OWVhN2E1OWMzNWM0ZTEyODVjZjk0ODMyMjU1Yzg3ZmVhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9MZXhlci5oCkBAIC04Nyw2ICs4Nyw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNl
dElzUmVwYXJzaW5nKCkgeyBtX2lzUmVwYXJzaW5nID0gdHJ1ZTsgfQogICAgIGJvb2wgaXNSZXBh
cnNpbmcoKSBjb25zdCB7IHJldHVybiBtX2lzUmVwYXJzaW5nOyB9CiAKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHZvaWQgc2V0VG9rZW5Qb3NpdGlvbihKU1Rva2Vu
KiB0b2tlblJlY29yZCk7CisjZW5kaWYKICAgICBKU1Rva2VuVHlwZSBsZXgoSlNUb2tlbiosIHVu
c2lnbmVkLCBib29sIHN0cmljdE1vZGUpOwogICAgIGJvb2wgbmV4dFRva2VuSXNDb2xvbigpOwog
ICAgIGludCBsaW5lTnVtYmVyKCkgY29uc3QgeyByZXR1cm4gbV9saW5lTnVtYmVyOyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCmluZGV4IDg5
YjkyOGVjZjhiNDQwMDA2MjM2NjEyODJhOTcwYTU2MjFhNTFhOTIuLjFiNDBlZTNlMjFkOGUzNzAx
NjFjYzlmOWM0YWVlY2M3MDcyNjNmYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCkBAIC04MzUsNiArODM1LDEzIEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICBtX2JvZHktPmZpbmlzaFBhcnNpbmcoc291cmNlLCBwYXJhbWV0ZXIsIGlk
ZW50LCBGdW5jdGlvbkV4cHJlc3Npb24pOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgaW5saW5lIEFycm93RnVuY0V4cHJOb2RlOjpBcnJvd0Z1bmNF
eHByTm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBJZGVudGlmaWVy
JiBpZGVudCwgRnVuY3Rpb25Cb2R5Tm9kZSogYm9keSwgY29uc3QgU291cmNlQ29kZSYgc291cmNl
LCBQYXJhbWV0ZXJOb2RlKiBwYXJhbWV0ZXIpCisgICAgICAgIDogRnVuY0V4cHJOb2RlKGxvY2F0
aW9uLCBpZGVudCwgYm9keSwgc291cmNlLCBwYXJhbWV0ZXIpCisgICAgeworICAgIH0KKyNlbmRp
ZgorICAgIAogICAgIGlubGluZSBGdW5jRGVjbE5vZGU6OkZ1bmNEZWNsTm9kZShjb25zdCBKU1Rv
a2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgRnVuY3Rpb25C
b2R5Tm9kZSogYm9keSwgY29uc3QgU291cmNlQ29kZSYgc291cmNlLCBQYXJhbWV0ZXJOb2RlKiBw
YXJhbWV0ZXIpCiAgICAgICAgIDogU3RhdGVtZW50Tm9kZShsb2NhdGlvbikKICAgICAgICAgLCBt
X2JvZHkoYm9keSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9k
ZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAppbmRleCA3ODQ4MTg0
ZTU1NGNmNDBlYWYzOTA2N2U2NzhhNWVkOGFjNTQ5OWU4Li45NTQwYjFiNDUxNDUxNDM2MmUwNzlh
ODQ3YzAxNWRlMGJjN2I1ZjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL05vZGVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCkBA
IC0xNTgsNiArMTU4LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBp
c0RvdEFjY2Vzc29yTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1
YWwgYm9vbCBpc0RlY29uc3RydWN0aW9uTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAg
ICAgICAgIHZpcnR1YWwgYm9vbCBpc0Z1bmNFeHByTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNl
OyB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdmlydHVh
bCBib29sIGlzQXJyb3dGdW5jRXhwck5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorI2Vu
ZGlmCiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0NvbW1hTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc1NpbXBsZUFycmF5KCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzQWRkKCkgY29uc3QgeyByZXR1cm4g
ZmFsc2U7IH0KQEAgLTE3MjYsNiArMTcyOSwxOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAg
RnVuY3Rpb25Cb2R5Tm9kZSogbV9ib2R5OwogICAgIH07CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgIGNsYXNzIEFycm93RnVuY0V4cHJOb2RlIDogcHVibGljIEZ1
bmNFeHByTm9kZSB7CisgICAgcHVibGljOgorICAgICAgICBBcnJvd0Z1bmNFeHByTm9kZShjb25z
dCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBJZGVudGlmaWVyJiwgRnVuY3Rpb25Cb2R5Tm9kZSos
IGNvbnN0IFNvdXJjZUNvZGUmLCBQYXJhbWV0ZXJOb2RlKiA9IDApOworICAgIHByaXZhdGU6Cisg
ICAgICAgIHZpcnR1YWwgUmVnaXN0ZXJJRCogZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9y
JiwgUmVnaXN0ZXJJRCogPSAwKSBvdmVycmlkZTsKKyAgICAgICAgCisgICAgICAgIHZpcnR1YWwg
Ym9vbCBpc0Z1bmNFeHByTm9kZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9Cisg
ICAgICAgIAorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNBcnJvd0Z1bmNFeHByTm9kZSgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KKyAgICB9OworI2VuZGlmCisKICNpZiBFTkFCTEUo
RVM2X0NMQVNTX1NZTlRBWCkKICAgICBjbGFzcyBDbGFzc0V4cHJOb2RlIGZpbmFsIDogcHVibGlj
IEV4cHJlc3Npb25Ob2RlIHsKICAgICBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1BhcnNlci5jcHAKaW5kZXggMTQ4YzliMjRhY2JhZjUxODRlNWJkMWMwNDU0MDVkYWM1OTgzYjc4
MS4uNmE5ZjA0NzkyYWVlYzFiMDI0NmU1YTEyNDAxNjc4ZjY1ODg0MmM1YyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcApAQCAtMjY0LDcgKzI2NCw3IEBAIFN0cmluZyBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VJbm5lcigpCiAgICAgaWYgKG1fbGV4ZXItPmlzUmVwYXJz
aW5nKCkpCiAgICAgICAgIG1fc3RhdGVtZW50RGVwdGgtLTsKICAgICBTY29wZVJlZiBzY29wZSA9
IGN1cnJlbnRTY29wZSgpOwotICAgIFNvdXJjZUVsZW1lbnRzKiBzb3VyY2VFbGVtZW50cyA9IHBh
cnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgQ2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICBTb3Vy
Y2VFbGVtZW50cyogc291cmNlRWxlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQs
IENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CiAgICAgaWYg
KCFzb3VyY2VFbGVtZW50cyB8fCAhY29uc3VtZShFT0ZUT0spKSB7CiAgICAgICAgIGlmIChoYXNF
cnJvcigpKQogICAgICAgICAgICAgcGFyc2VFcnJvciA9IG1fZXJyb3JNZXNzYWdlOwpAQCAtMzQz
LDcgKzM0Myw3IEBAIGJvb2wgUGFyc2VyPExleGVyVHlwZT46OmFsbG93QXV0b21hdGljU2VtaWNv
bG9uKCkKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KLXRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBTb3VyY2VFbGVtZW50c01vZGUg
bW9kZSkKK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiBjb250ZXh0
LCBTb3VyY2VFbGVtZW50c01vZGUgbW9kZSwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25QYXJz
ZVR5cGUpCiB7CiAgICAgY29uc3QgdW5zaWduZWQgbGVuZ3RoT2ZVc2VTdHJpY3RMaXRlcmFsID0g
MTI7IC8vICJ1c2Ugc3RyaWN0Ii5sZW5ndGgKICAgICBUcmVlU291cmNlRWxlbWVudHMgc291cmNl
RWxlbWVudHMgPSBjb250ZXh0LmNyZWF0ZVNvdXJjZUVsZW1lbnRzKCk7CkBAIC0zNTIsNyArMzUy
LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWwKICAgICB1bnNpZ25lZCBkaXJlY3RpdmVMaXRl
cmFsTGVuZ3RoID0gMDsKICAgICBhdXRvIHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwog
ICAgIGJvb2wgaGFzU2V0U3RyaWN0ID0gZmFsc2U7Ci0gICAgd2hpbGUgKFRyZWVTdGF0ZW1lbnQg
c3RhdGVtZW50ID0gcGFyc2VTdGF0ZW1lbnQoY29udGV4dCwgZGlyZWN0aXZlLCAmZGlyZWN0aXZl
TGl0ZXJhbExlbmd0aCkpIHsKKyAgICB3aGlsZSAoVHJlZVN0YXRlbWVudCBzdGF0ZW1lbnQgPSBw
YXJzZVN0YXRlbWVudChjb250ZXh0LCBkaXJlY3RpdmUsICZkaXJlY3RpdmVMaXRlcmFsTGVuZ3Ro
LCBmdW5jdGlvblBhcnNlVHlwZSkpIHsKICAgICAgICAgaWYgKG1vZGUgPT0gQ2hlY2tGb3JTdHJp
Y3RNb2RlICYmICFzZWVuTm9uRGlyZWN0aXZlKSB7CiAgICAgICAgICAgICBpZiAoZGlyZWN0aXZl
KSB7CiAgICAgICAgICAgICAgICAgLy8gInVzZSBzdHJpY3QiIG11c3QgYmUgdGhlIGV4YWN0IGxp
dGVyYWwgd2l0aG91dCBlc2NhcGUgc2VxdWVuY2VzIG9yIGxpbmUgY29udGludWF0aW9uLgpAQCAt
NTg0LDYgKzU4NCwzMSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVEZWNvbnN0
cnVjdGlvblBhdHRlcm4gUGFyc2VyPExleGVyVHlwZT46OmNyZWF0ZQogICAgIHJldHVybiBjb250
ZXh0LmNyZWF0ZUJpbmRpbmdMb2NhdGlvbih0b2tlbi5tX2xvY2F0aW9uLCBuYW1lLCB0b2tlbi5t
X3N0YXJ0UG9zaXRpb24sIHRva2VuLm1fZW5kUG9zaXRpb24pOwogfQogCisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlQXJyb3dGdW5jdGlvblN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCkKK3sK
KyAgICBBU1NFUlQobWF0Y2goQVJST1dGVU5DVElPTikpOworCisgICAgSlNUb2tlbkxvY2F0aW9u
IGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CisgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0
b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICBKU1RleHRQb3NpdGlvbiBlbmQgPSB0b2tlbkVuZFBv
c2l0aW9uKCk7CisKKyAgICBuZXh0KCk7CisgICAgVHJlZUV4cHJlc3Npb24gZXhwciA9IHBhcnNl
QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oY29udGV4dCk7CisgICAgZmFpbElmRmFsc2UoZXhwciwg
IkNhbm5vdCBwYXJzZSB0aGUgYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgIGVuZCA9
IGxhc3RUb2tlbkVuZFBvc2l0aW9uKCk7CisKKyAgICBib29sIGNvcnJlY3RBcnJvd0ZpbmlzaCA9
IGlzRW5kT2ZBcnJvd0Z1bmN0aW9uKCkgfHwgbWF0Y2goRU9GVE9LKTsKKyAgICBmYWlsSWZGYWxz
ZShjb3JyZWN0QXJyb3dGaW5pc2gsICJFeHBlY3RlZCBhICc7JywgJ10nLCAnfScsICcpJywgb3Ig
JywnIGZvbGxvd2luZyBhIGFycm93IGZ1bmN0aW9uIHN0YXRlbWVudCIpOworCisgICAgZW5kID0g
dG9rZW5FbmRQb3NpdGlvbigpOworICAgIHNldEVuZE9mU3RhdGVtZW50KCk7CisKKyAgICByZXR1
cm4gY29udGV4dC5jcmVhdGVSZXR1cm5TdGF0ZW1lbnQobG9jYXRpb24sIGV4cHIsIHN0YXJ0LCBl
bmQpOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gUGFyc2VyPExl
eGVyVHlwZT46OnRyeVBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuRXhwcmVzc2lvbihUcmVlQnVp
bGRlciYgY29udGV4dCkKIHsKQEAgLTEwMzEsNyArMTA1Niw3IEBAIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZUNsYXVzZUxpc3QgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3dpdGNo
Q2xhdXNlCiAgICAgVHJlZUV4cHJlc3Npb24gY29uZGl0aW9uID0gcGFyc2VFeHByZXNzaW9uKGNv
bnRleHQpOwogICAgIGZhaWxJZkZhbHNlKGNvbmRpdGlvbiwgIkNhbm5vdCBwYXJzZSBzd2l0Y2gg
Y2xhdXNlIik7CiAgICAgY29uc3VtZU9yRmFpbChDT0xPTiwgIkV4cGVjdGVkIGEgJzonIGFmdGVy
IHN3aXRjaCBjbGF1c2UgZXhwcmVzc2lvbiIpOwotICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0
ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RN
b2RlKTsKKyAgICBUcmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxl
bWVudHMoY29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBh
cnNlVHlwZSk7CiAgICAgZmFpbElmRmFsc2Uoc3RhdGVtZW50cywgIkNhbm5vdCBwYXJzZSB0aGUg
Ym9keSBvZiBhIHN3aXRjaCBjbGF1c2UiKTsKICAgICBUcmVlQ2xhdXNlIGNsYXVzZSA9IGNvbnRl
eHQuY3JlYXRlQ2xhdXNlKGNvbmRpdGlvbiwgc3RhdGVtZW50cyk7CiAgICAgY29udGV4dC5zZXRT
dGFydE9mZnNldChjbGF1c2UsIHN0YXJ0T2Zmc2V0KTsKQEAgLTEwNDQsNyArMTA2OSw3IEBAIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUNsYXVzZUxpc3QgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlU3dpdGNoQ2xhdXNlCiAgICAgICAgIFRyZWVFeHByZXNzaW9uIGNvbmRpdGlvbiA9
IHBhcnNlRXhwcmVzc2lvbihjb250ZXh0KTsKICAgICAgICAgZmFpbElmRmFsc2UoY29uZGl0aW9u
LCAiQ2Fubm90IHBhcnNlIHN3aXRjaCBjYXNlIGV4cHJlc3Npb24iKTsKICAgICAgICAgY29uc3Vt
ZU9yRmFpbChDT0xPTiwgIkV4cGVjdGVkIGEgJzonIGFmdGVyIHN3aXRjaCBjbGF1c2UgZXhwcmVz
c2lvbiIpOwotICAgICAgICBUcmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291
cmNlRWxlbWVudHMoY29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSk7CisgICAgICAgIFRy
ZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0
LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAg
ICAgICAgZmFpbElmRmFsc2Uoc3RhdGVtZW50cywgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiBh
IHN3aXRjaCBjbGF1c2UiKTsKICAgICAgICAgY2xhdXNlID0gY29udGV4dC5jcmVhdGVDbGF1c2Uo
Y29uZGl0aW9uLCBzdGF0ZW1lbnRzKTsKICAgICAgICAgY29udGV4dC5zZXRTdGFydE9mZnNldChj
bGF1c2UsIHN0YXJ0T2Zmc2V0KTsKQEAgLTEwNjEsNyArMTA4Niw3IEBAIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZUNsYXVzZSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTd2l0Y2hE
ZWZhdWx0Q2xhCiAgICAgdW5zaWduZWQgc3RhcnRPZmZzZXQgPSB0b2tlblN0YXJ0KCk7CiAgICAg
bmV4dCgpOwogICAgIGNvbnN1bWVPckZhaWwoQ09MT04sICJFeHBlY3RlZCBhICc6JyBhZnRlciBz
d2l0Y2ggZGVmYXVsdCBjbGF1c2UiKTsKLSAgICBUcmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50
cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSk7
CisgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRz
KGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5
cGUpOwogICAgIGZhaWxJZkZhbHNlKHN0YXRlbWVudHMsICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkg
b2YgYSBzd2l0Y2ggZGVmYXVsdCBjbGF1c2UiKTsKICAgICBUcmVlQ2xhdXNlIHJlc3VsdCA9IGNv
bnRleHQuY3JlYXRlQ2xhdXNlKDAsIHN0YXRlbWVudHMpOwogICAgIGNvbnRleHQuc2V0U3RhcnRP
ZmZzZXQocmVzdWx0LCBzdGFydE9mZnNldCk7CkBAIC0xMTQ2LDcgKzExNzEsNyBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlQmxvY2tTdGF0ZW1lbgogICAgICAgICBjb250ZXh0LnNldEVuZE9mZnNldChyZXN1bHQsIGVu
ZE9mZnNldCk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIFRyZWVTb3VyY2VF
bGVtZW50cyBzdWJ0cmVlID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tG
b3JTdHJpY3RNb2RlKTsKKyAgICBUcmVlU291cmNlRWxlbWVudHMgc3VidHJlZSA9IHBhcnNlU291
cmNlRWxlbWVudHMoY29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5j
dGlvblBhcnNlVHlwZSk7CiAgICAgZmFpbElmRmFsc2Uoc3VidHJlZSwgIkNhbm5vdCBwYXJzZSB0
aGUgYm9keSBvZiB0aGUgYmxvY2sgc3RhdGVtZW50Iik7CiAgICAgbWF0Y2hPckZhaWwoQ0xPU0VC
UkFDRSwgIkV4cGVjdGVkIGEgY2xvc2luZyAnfScgYXQgdGhlIGVuZCBvZiBhIGJsb2NrIHN0YXRl
bWVudCIpOwogICAgIGludCBlbmRPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CkBAIC0x
MTU4LDcgKzExODMsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1l
bnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQmxvY2tTdGF0ZW1lbgogfQogCiB0ZW1wbGF0ZSA8
dHlwZW5hbWUgTGV4ZXJUeXBlPgotdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3Rh
dGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYgY29u
dGV4dCwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxp
dGVyYWxMZW5ndGgpCit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQg
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBj
b25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExl
bmd0aCwgRnVuY3Rpb25QYXJzZVR5cGUgcGFyc2VUeXBlKQogewogICAgIERlcHRoTWFuYWdlciBz
dGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7CiAgICAgbV9zdGF0ZW1lbnREZXB0aCsr
OwpAQCAtMTE2Nyw2ICsxMTkyLDIzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgZmFp
bElmU3RhY2tPdmVyZmxvdygpOwogICAgIFRyZWVTdGF0ZW1lbnQgcmVzdWx0ID0gMDsKICAgICBi
b29sIHNob3VsZFNldEVuZE9mZnNldCA9IHRydWU7CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlw
ZSkgeworICAgICAgICBzd2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7CisgICAgICAgIGNhc2UgQ0xP
U0VQQVJFTjoKKyAgICAgICAgY2FzZSBDTE9TRUJSQUNLRVQ6CisgICAgICAgIGNhc2UgQ09NTUE6
CisgICAgICAgIGNhc2UgU0VNSUNPTE9OOiB7CisgICAgICAgICAgICByZXN1bHQgPSAwOworICAg
ICAgICAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQocmVzdWx0LCBtX2xhc3RUb2tlbkVuZFBvc2l0
aW9uLm9mZnNldCk7CisgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICB9CisgICAg
ICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKyNlbmRp
ZgogICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKICAgICBjYXNlIE9QRU5CUkFDRToKICAg
ICAgICAgcmVzdWx0ID0gcGFyc2VCbG9ja1N0YXRlbWVudChjb250ZXh0KTsKQEAgLTEyMTIsNiAr
MTI1NCwxNSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAgIGNhc2UgQlJFQUs6CiAgICAg
ICAgIHJlc3VsdCA9IHBhcnNlQnJlYWtTdGF0ZW1lbnQoY29udGV4dCk7CiAgICAgICAgIGJyZWFr
OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2FzZSBBUlJPV0ZV
TkNUSU9OOgorICAgICAgICByZXN1bHQgPSBwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoY29u
dGV4dCk7CisgICAgICAgIC8vIENvbnN1bWUgdGhlIGVuZCBvZiBhcnJvdyBmdW5jdGlvbiAsO10p
IGFuZCBwcmV2ZW50CisgICAgICAgIC8vIHBhcnNlIHRoaXMgc3ltYm9scyBieSBwYXJzZVN0YXRl
bWVudCBhcyBzZXBhcmF0ZSBzdGF0ZW1lbnQKKyAgICAgICAgaWYgKHBhcnNlVHlwZSA9PSBTdGFu
ZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKQorICAgICAgICAgICAgbmV4dCgpOworICAgICAgICBicmVh
azsKKyNlbmRpZgogICAgIGNhc2UgUkVUVVJOOgogICAgICAgICByZXN1bHQgPSBwYXJzZVJldHVy
blN0YXRlbWVudChjb250ZXh0KTsKICAgICAgICAgYnJlYWs7CkBAIC0xMjc2LDIwICsxMzI3LDM0
IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUZvcm1hbFBhcmFtZXRlckxpc3Qg
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRm9yCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBl
PgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRnVuY3Rpb25Cb2R5IFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uQm9keSgKICAgICBUcmVlQnVpbGRlciYgY29udGV4dCwg
aW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIAotICAgIGlu
dCBwYXJhbWV0ZXJzU3RhcnQsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQpCisgICAg
aW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCwgRnVu
Y3Rpb25QYXJzZVR5cGUgcGFyc2VUeXBlKQogewogICAgIEpTVG9rZW5Mb2NhdGlvbiBzdGFydExv
Y2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CiAgICAgdW5zaWduZWQgc3RhcnRDb2x1bW4gPSB0b2tl
bkNvbHVtbigpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaWYg
KHBhcnNlVHlwZSA9PSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIG5leHQo
KTsKKyAgICAgICAgaWYgKG1hdGNoKENMT1NFQlJBQ0UpKSB7CisgICAgICAgICAgICB1bnNpZ25l
ZCBlbmRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOworICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQu
Y3JlYXRlRnVuY3Rpb25Cb2R5KHN0YXJ0TG9jYXRpb24sIHRva2VuTG9jYXRpb24oKSwgc3RhcnRD
b2x1bW4sIGVuZENvbHVtbiwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0
LCBwYXJhbWV0ZXJzU3RhcnQsIHN0cmljdE1vZGUoKSwgY29uc3RydWN0b3JLaW5kKTsKKyAgICAg
ICAgfQorICAgIH0KKyNlbHNlCiAgICAgbmV4dCgpOwotCiAgICAgaWYgKG1hdGNoKENMT1NFQlJB
Q0UpKSB7CiAgICAgICAgIHVuc2lnbmVkIGVuZENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CiAgICAg
ICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uQm9keShzdGFydExvY2F0aW9uLCB0b2tl
bkxvY2F0aW9uKCksIHN0YXJ0Q29sdW1uLCBlbmRDb2x1bW4sIGZ1bmN0aW9uS2V5d29yZFN0YXJ0
LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBzdHJpY3RNb2RlKCksIGNvbnN0
cnVjdG9yS2luZCk7CiAgICAgfQorI2VuZGlmCisKICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50
RGVwdGgoJm1fc3RhdGVtZW50RGVwdGgpOwogICAgIG1fc3RhdGVtZW50RGVwdGggPSAwOwogICAg
IHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpGdW5jdGlvbkJvZHlCdWlsZGVyIGJvZHlCdWlsZGVyKGNv
bnN0X2Nhc3Q8Vk0qPihtX3ZtKSwgbV9sZXhlci5nZXQoKSk7Ci0gICAgZmFpbElmRmFsc2UocGFy
c2VTb3VyY2VFbGVtZW50cyhib2R5QnVpbGRlciwgQ2hlY2tGb3JTdHJpY3RNb2RlKSwgIkNhbm5v
dCBwYXJzZSBib2R5IG9mIHRoaXMgZnVuY3Rpb24iKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIGZhaWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMoYm9keUJ1
aWxkZXIsIENoZWNrRm9yU3RyaWN0TW9kZSwgcGFyc2VUeXBlKSwgcGFyc2VUeXBlID09IFN0YW5k
YXJkRnVuY3Rpb25QYXJzZVR5cGUgPyAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBmdW5jdGlv
biIgOiAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBhcnJvdyBmdW5jdGlvbiIpOworI2Vsc2UK
KyAgICBmYWlsSWZGYWxzZShwYXJzZVNvdXJjZUVsZW1lbnRzKGJvZHlCdWlsZGVyLCBDaGVja0Zv
clN0cmljdE1vZGUsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpLCAiQ2Fubm90IHBhcnNlIGJv
ZHkgb2YgdGhpcyBmdW5jdGlvbiIpOworI2VuZGlmCiAgICAgdW5zaWduZWQgZW5kQ29sdW1uID0g
dG9rZW5Db2x1bW4oKTsKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3Rh
cnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBmdW5j
dGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgc3Ry
aWN0TW9kZSgpLCBjb25zdHJ1Y3RvcktpbmQpOwogfQpAQCAtMTM1MCwyOCArMTQxNSw3NiBAQCB0
ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IGludCBQYXJzZXI8TGV4ZXJUeXBlPgogICAgIAogICAgIHJldHVybiBwYXJhbWV0ZXJzU3RhcnQ7
CiB9CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5
cGVuYW1lIExleGVyVHlwZT4gdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBpbnQgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvblBhcmFtdGVycyhUcmVlQnVpbGRlciYgY29u
dGV4dCwgRnVuY3Rpb25QYXJzZU1vZGUgbW9kZSwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWls
ZGVyPiYgaW5mbykKK3sKKyAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0ID0gbV90b2tlbi5tX2xvY2F0
aW9uLnN0YXJ0T2Zmc2V0OworICAgIGlmICghbWF0Y2goSURFTlQpICYmICFtYXRjaChPUEVOUEFS
RU4pKSB7CisgICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5j
dGlvbk1vZGUobW9kZSksICIgbmFtZSIpOworICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVj
dGVkIGFuIGFycm93IGZ1bmN0aW9uIGlucHV0IHBhcmFtZXRlciIpOworICAgIH0gZWxzZSB7Cisg
ICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgICAgICBjb25zdW1lKE9QRU5Q
QVJFTik7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGlmICghbWF0Y2goQ0xPU0VQQVJFTikp
IHsKKyAgICAgICAgICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBwYXJzZUZvcm1hbFBhcmFtZXRl
cnMoY29udGV4dCk7CisgICAgICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJz
LCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25N
b2RlKG1vZGUpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgY29u
c3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiRXhwZWN0ZWQgYSAnKScgb3IgYSAnLCcgYWZ0ZXIgYSBw
YXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGF1
dG8gcGFyYW1ldGVyID0gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oY29udGV4dCwgRGVjb25z
dHJ1Y3RUb1BhcmFtZXRlcnMpOworICAgICAgICAgICAgZmFpbElmRmFsc2UocGFyYW1ldGVyLCAi
Q2Fubm90IHBhcnNlIHBhcmFtZXRlciBwYXR0ZXJuIik7CisgICAgICAgICAgICBpbmZvLnBhcmFt
ZXRlcnMgPSBjb250ZXh0LmNyZWF0ZUZvcm1hbFBhcmFtZXRlckxpc3QocGFyYW1ldGVyKTsKKyAg
ICAgICAgICAgIGZhaWxJZkZhbHNlKGluZm8ucGFyYW1ldGVycywgIkNhbm5vdCBwYXJzZSBwYXJh
bWV0ZXJzIGZvciB0aGlzICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7CisgICAgICAg
IH0KKyAgICB9CiAgICAgCisgICAgcmV0dXJuIHBhcmFtZXRlcnNTdGFydDsKK30KKyNlbmRpZgor
CiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRl
ciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMgcmVxdWlyZW1lbnRzLCBGdW5jdGlvblBh
cnNlTW9kZSBtb2RlLAotICAgIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENvbnN0cnVj
dG9yS2luZCBvd25lckNsYXNzS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJG
dW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvKQorICAgIGJvb2wgbmFtZUlzSW5Db250YWlu
aW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCBvd25lckNsYXNzS2luZCwgaW50IGZ1bmN0aW9uS2V5
d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvLCBGdW5jdGlv
blBhcnNlVHlwZSBwYXJzZVR5cGUpCiB7CiAgICAgQXV0b1BvcFNjb3BlUmVmIGZ1bmN0aW9uU2Nv
cGUodGhpcywgcHVzaFNjb3BlKCkpOwogICAgIGZ1bmN0aW9uU2NvcGUtPnNldElzRnVuY3Rpb24o
KTsKICAgICBpbnQgZnVuY3Rpb25OYW1lU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRP
ZmZzZXQ7CiAgICAgY29uc3QgSWRlbnRpZmllciogbGFzdEZ1bmN0aW9uTmFtZSA9IG1fbGFzdEZ1
bmN0aW9uTmFtZTsKICAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBudWxscHRyOworICAgIGludCBw
YXJhbWV0ZXJzU3RhcnQ7CisgICAgYm9vbCBpc0NsYXNzQ29uc3RydWN0b3I7CiAgICAgCi0gICAg
aW50IHBhcmFtZXRlcnNTdGFydCA9IHBhcnNlRnVuY3Rpb25QYXJhbXRlcnMoY29udGV4dCwgcmVx
dWlyZW1lbnRzLCBtb2RlLCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgZnVuY3Rpb25TY29wZSwg
aW5mbyk7Ci0KLSAgICBtYXRjaE9yRmFpbChPUEVOQlJBQ0UsICJFeHBlY3RlZCBhbiBvcGVuaW5n
ICd7JyBhdCB0aGUgc3RhcnQgb2YgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIg
Ym9keSIpOwotCi0gICAgLy8gQnl0ZWNvZGVHZW5lcmF0b3IgZW1pdHMgY29kZSB0byB0aHJvdyBU
eXBlRXJyb3Igd2hlbiBhIGNsYXNzIGNvbnN0cnVjdG9yIGlzICJjYWxsImVkLgotICAgIC8vIFNl
dCBDb25zdHJ1Y3RvcktpbmQgdG8gTm9uZSBmb3Igbm9uLWNvbnN0cnVjdG9yIG1ldGhvZHMgb2Yg
Y2xhc3Nlcy4KLSAgICBib29sIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IG1vZGUgPT0gTWV0aG9kTW9k
ZSAmJiBpbmZvLm5hbWUgJiYgKmluZm8ubmFtZSA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5jb25z
dHJ1Y3RvcjsKLSAgICBpZiAobV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kICE9IENvbnN0cnVjdG9y
S2luZDo6Tm9uZSkgewotICAgICAgICBvd25lckNsYXNzS2luZCA9IG1fZGVmYXVsdENvbnN0cnVj
dG9yS2luZDsKLSAgICAgICAgaXNDbGFzc0NvbnN0cnVjdG9yID0gdHJ1ZTsKKyAgICBzd2l0Y2gg
KHBhcnNlVHlwZSkgeworICAgIGNhc2UgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZTogeworICAg
ICAgICBwYXJhbWV0ZXJzU3RhcnQgPSBwYXJzZUZ1bmN0aW9uUGFyYW10ZXJzKGNvbnRleHQsIHJl
cXVpcmVtZW50cywgbW9kZSwgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIGZ1bmN0aW9uU2NvcGUs
IGluZm8pOworICAgICAgICAgICAgCisgICAgICAgIG1hdGNoT3JGYWlsKE9QRU5CUkFDRSwgIkV4
cGVjdGVkIGFuIG9wZW5pbmcgJ3snIGF0IHRoZSBzdGFydCBvZiBhICIsIHN0cmluZ0ZvckZ1bmN0
aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7CisgICAgICAgIAorICAgICAgICAvLyBCeXRlY29kZUdl
bmVyYXRvciBlbWl0cyBjb2RlIHRvIHRocm93IFR5cGVFcnJvciB3aGVuIGEgY2xhc3MgY29uc3Ry
dWN0b3IgaXMgImNhbGwiZWQuCisgICAgICAgIC8vIFNldCBDb25zdHJ1Y3RvcktpbmQgdG8gTm9u
ZSBmb3Igbm9uLWNvbnN0cnVjdG9yIG1ldGhvZHMgb2YgY2xhc3Nlcy4KKyAgICAgICAgaXNDbGFz
c0NvbnN0cnVjdG9yID0gbW9kZSA9PSBNZXRob2RNb2RlICYmIGluZm8ubmFtZSAmJiAqaW5mby5u
YW1lID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yOworICAgICAgICBpZiAobV9k
ZWZhdWx0Q29uc3RydWN0b3JLaW5kICE9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSkgeworICAgICAg
ICAgICAgb3duZXJDbGFzc0tpbmQgPSBtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQ7CisgICAgICAg
ICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSB0cnVlOworICAgICAgICB9CisgICAgICAgIGJyZWFr
OwogICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ug
QXJyb3dGdW5jdGlvblBhcnNlVHlwZTogeworICAgICAgICBwYXJhbWV0ZXJzU3RhcnQgPSBwYXJz
ZUFycm93RnVuY3Rpb25QYXJhbXRlcnMoY29udGV4dCwgbW9kZSwgaW5mbyk7CisgICAgICAgIAor
ICAgICAgICBtYXRjaE9yRmFpbChBUlJPV0ZVTkNUSU9OLCAiRXhwZWN0ZWQgYSAnPT4nIGFmdGVy
IGFycm93IGZ1bmN0aW9uIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAgICAgICBpc0NsYXNz
Q29uc3RydWN0b3IgPSBmYWxzZTsKKyAgICAgICAgCisgICAgICAgIGluZm8uYXJyb3dGdW5jdGlv
bk9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKKyAgICAgICAgYnJlYWs7CisgICAgfQor
I2VuZGlmCisgICAgfQorCiAgICAgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCA9IGlz
Q2xhc3NDb25zdHJ1Y3RvciA/IG93bmVyQ2xhc3NLaW5kIDogQ29uc3RydWN0b3JLaW5kOjpOb25l
OwogCiAgICAgaW5mby5vcGVuQnJhY2VPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CkBA
IC0xNDA1LDggKzE1MTgsMTUgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgZmFp
bElmRmFsc2UocG9wU2NvcGUoZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZh
cmlhYmxlSW5mbyksICJQYXJzZXIgZXJyb3IiKTsKICAgICAgICAgCiAgICAgICAgIGluZm8uY2xv
c2VCcmFjZU9mZnNldCA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VPZmZzZXQ7Ci0KLSAgICAgICAg
bV90b2tlbiA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VUb2tlbigpOworICAgICAgICAKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAocGFyc2VUeXBlID09
IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpCisgICAgICAgICAgICBpbmZvLmZ1bmN0aW9uQm9keVR5
cGUgPSBjYWNoZWRJbmZvLT5pc0JvZHlBcnJvd0V4cHJlc3Npb24gPyAgQXJyb3dGdW5jdGlvbkJv
ZHlFeHByZXNzaW9uIDogQXJyb3dGdW5jdGlvbkJvZHlCbG9jazsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgaW5mby5mdW5jdGlvbkJvZHlUeXBlID0gU3RhbmRhcmRGdW5jdGlvbkJvZHlCbG9j
azsKKyNlbmRpZgorICAgICAgICBtX3Rva2VuID0gY2FjaGVkSW5mby0+ZW5kRnVuY3Rpb25Ub2tl
bigpOworICAgICAgICAKICAgICAgICAgaWYgKGVuZENvbHVtbklzT25TdGFydExpbmUpCiAgICAg
ICAgICAgICBtX3Rva2VuLm1fbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVT
dGFydE9mZnNldDsKIApAQCAtMTQxNSwxMyArMTUzNSw0MyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVC
dWlsZAogCiAgICAgICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KGluZm8uYm9keSwgbV9sZXhlci0+
Y3VycmVudE9mZnNldCgpKTsKICAgICAgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICAgICAgaWYgKHBhcnNlVHlwZSAhPSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBl
IHx8IGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrKQorICAg
ICAgICAgICAgbmV4dCgpOworI2Vsc2UKICAgICAgICAgbmV4dCgpOworI2VuZGlmCiAgICAgICAg
IGluZm8uYm9keUVuZExpbmUgPSBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmU7CiAgICAgICAg
IHJldHVybiB0cnVlOwogICAgIH0KKyAgICAKICAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBsYXN0
RnVuY3Rpb25OYW1lOwogICAgIFBhcnNlclN0YXRlIG9sZFN0YXRlID0gc2F2ZVN0YXRlKCk7Ci0g
ICAgaW5mby5ib2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3Jk
U3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2lu
ZCk7CisgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAo
cGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgU2F2ZVBvaW50
IHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgICAgICBuZXh0KCk7CisgICAgICAg
IC8vIENoZWNrIGlmIGFycm93IGJvZHkgc3RhcnQgd2l0aCB7LiBJZiBpdCB0cnVlIGl0IG1lYW4g
dGhhdCBhcnJvdyBmdW5jdGlvbiBpcyBGYXQgYXJyb3cgZnVuY3Rpb24KKyAgICAgICAgLy8gYW5k
IHdlIG5lZWQgdXNlIGNvbW1vbiBhcHByb2FjaCB0byBwYXJzZSBmdW5jdGlvbiBib2R5CisgICAg
ICAgIGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9IG1hdGNoKE9QRU5CUkFDRSkgPyBBcnJvd0Z1bmN0
aW9uQm9keUJsb2NrIDogQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOworICAgIAorICAgICAg
ICBpZiAoaW5mby5mdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHsK
KyAgICAgICAgICAgIGluZm8ub3BlbkJyYWNlT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0
OworICAgICAgICAgICAgaW5mby5ib2R5U3RhcnRMaW5lID0gdG9rZW5MaW5lKCk7CisgICAgICAg
ICAgICBpbmZvLmJvZHlTdGFydENvbHVtbiA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldCAtIG1fdG9r
ZW4ubV9kYXRhLmxpbmVTdGFydE9mZnNldDsKKyAgICAgICAgCisgICAgICAgICAgICBpbmZvLmJv
ZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVu
Y3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kLCBTdGFuZGFy
ZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHJlc3Rv
cmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKKyAgICAgICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVu
Y3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFy
dCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQsIEFycm93RnVuY3Rpb25QYXJzZVR5
cGUpOworICAgICAgICB9CisgICAgfSBlbHNlCisgICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVu
Y3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFy
dCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQsIFN0YW5kYXJkRnVuY3Rpb25QYXJz
ZVR5cGUpOworI2Vsc2UKKyAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0
LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFy
dCwgY29uc3RydWN0b3JLaW5kLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNlbmRpZgor
ICAgIAogICAgIHJlc3RvcmVTdGF0ZShvbGRTdGF0ZSk7CiAgICAgZmFpbElmRmFsc2UoaW5mby5i
b2R5LCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25N
b2RlKG1vZGUpKTsKICAgICBjb250ZXh0LnNldEVuZE9mZnNldChpbmZvLmJvZHksIG1fbGV4ZXIt
PmN1cnJlbnRPZmZzZXQoKSk7CkBAIC0xNDUyLDE4ICsxNjAyLDMyIEBAIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8o
VHJlZUJ1aWxkCiAgICAgICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmUgPSBjbG9zZUJyYWNl
TGluZTsKICAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJyYWNlT2Zmc2V0ID0gaW5mby5jbG9zZUJy
YWNlT2Zmc2V0OwogICAgICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQg
PSBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlw
ZSkgeworICAgICAgICAgICAgcGFyYW1ldGVycy5pc0JvZHlBcnJvd0V4cHJlc3Npb24gPSBpbmZv
LmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOworICAgICAg
ICAgICAgcGFyYW1ldGVycy50b2tlblR5cGUgPSBtX3Rva2VuLm1fdHlwZTsKKyAgICAgICAgfQor
I2VuZGlmCiAgICAgICAgIGZ1bmN0aW9uU2NvcGUtPmZpbGxQYXJhbWV0ZXJzRm9yU291cmNlUHJv
dmlkZXJDYWNoZShwYXJhbWV0ZXJzKTsKICAgICAgICAgbmV3SW5mbyA9IFNvdXJjZVByb3ZpZGVy
Q2FjaGVJdGVtOjpjcmVhdGUocGFyYW1ldGVycyk7Ci0KICAgICB9CiAgICAgCiAgICAgZmFpbElm
RmFsc2UocG9wU2NvcGUoZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlh
YmxlSW5mbyksICJQYXJzZXIgZXJyb3IiKTsKKyAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIGlmICgocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5
cGUgJiYgaW5mby5mdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHx8
IHBhcnNlVHlwZSAhPSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIG1hdGNoT3JG
YWlsKENMT1NFQlJBQ0UsICJFeHBlY3RlZCBhIGNsb3NpbmcgJ30nIGFmdGVyIGEgIiwgc3RyaW5n
Rm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgbmV4dCgpOworICAgIH0g
ZWxzZQorICAgICAgICBmYWlsSWZGYWxzZShpc0VuZE9mQXJyb3dGdW5jdGlvbigpLCAiRXhwZWN0
ZWQgdGhlIGNsb3NpbmcgJzsnICcsJyAnXScgJyknICd9JyBhZnRlciBhcnJvdyBmdW5jdGlvbiIp
OworI2Vsc2UKICAgICBtYXRjaE9yRmFpbChDTE9TRUJSQUNFLCAiRXhwZWN0ZWQgYSBjbG9zaW5n
ICd9JyBhZnRlciBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7Cisg
ICAgbmV4dCgpOworI2VuZGlmCiAgICAgCiAgICAgaWYgKG5ld0luZm8pCiAgICAgICAgIG1fZnVu
Y3Rpb25DYWNoZS0+YWRkKGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBXVEY6Om1vdmUobmV3SW5mbykp
OwogICAgIAotICAgIG5leHQoKTsKICAgICBpbmZvLmJvZHlFbmRMaW5lID0gbV9sYXN0VG9rZW5F
bmRQb3NpdGlvbi5saW5lOwogICAgIHJldHVybiB0cnVlOwogfQpAQCAtMTQ3Niw3ICsxNjQwLDcg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGEKICAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRT
dGFydCA9IHRva2VuU3RhcnQoKTsKICAgICBuZXh0KCk7CiAgICAgUGFyc2VyRnVuY3Rpb25JbmZv
PFRyZWVCdWlsZGVyPiBpbmZvOwotICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhj
b250ZXh0LCBGdW5jdGlvbk5lZWRzTmFtZSwgRnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3Rv
cktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvKSksICJDYW5ub3QgcGFyc2Ug
dGhpcyBmdW5jdGlvbiIpOworICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250
ZXh0LCBGdW5jdGlvbk5lZWRzTmFtZSwgRnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3Rvcktp
bmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFy
c2VUeXBlKSksICJDYW5ub3QgcGFyc2UgdGhpcyBmdW5jdGlvbiIpOwogICAgIGZhaWxJZkZhbHNl
KGluZm8ubmFtZSwgIkZ1bmN0aW9uIHN0YXRlbWVudHMgbXVzdCBoYXZlIGEgbmFtZSIpOwogICAg
IGZhaWxJZkZhbHNlSWZTdHJpY3QoZGVjbGFyZVZhcmlhYmxlKGluZm8ubmFtZSksICJDYW5ub3Qg
ZGVjbGFyZSBhIGZ1bmN0aW9uIG5hbWVkICciLCBpbmZvLm5hbWUtPmltcGwoKSwgIicgaW4gc3Ry
aWN0IG1vZGUiKTsKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jRGVjbFN0YXRlbWVudChs
b2NhdGlvbiwgaW5mbyk7CkBAIC0xNTczLDcgKzE3MzcsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVDbGFzc0V4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xh
c3MoVAogICAgICAgICAgICAgZmFpbElmRmFsc2UocHJvcGVydHksICJDYW5ub3QgcGFyc2UgdGhp
cyBtZXRob2QiKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIFBhcnNlckZ1bmN0aW9u
SW5mbzxUcmVlQnVpbGRlcj4gbWV0aG9kSW5mbzsKLSAgICAgICAgICAgIGZhaWxJZkZhbHNlKChw
YXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5lZWRzTmFtZSwgaXNTdGF0aWNNZXRo
b2QgPyBGdW5jdGlvbk1vZGUgOiBNZXRob2RNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBt
ZXRob2RTdGFydCwgbWV0aG9kSW5mbykpLCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9kIik7Cisg
ICAgICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rp
b25OZWVkc05hbWUsIGlzU3RhdGljTWV0aG9kID8gRnVuY3Rpb25Nb2RlIDogTWV0aG9kTW9kZSwg
ZmFsc2UsIGNvbnN0cnVjdG9yS2luZCwgbWV0aG9kU3RhcnQsIG1ldGhvZEluZm8sIFN0YW5kYXJk
RnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSB0aGlzIG1ldGhvZCIpOwogICAgICAg
ICAgICAgZmFpbElmRmFsc2UobWV0aG9kSW5mby5uYW1lLCAibWV0aG9kIG11c3QgaGF2ZSBhIG5h
bWUiKTsKICAgICAgICAgICAgIGZhaWxJZkZhbHNlKGRlY2xhcmVWYXJpYWJsZShtZXRob2RJbmZv
Lm5hbWUpLCAiQ2Fubm90IGRlY2xhcmUgYSBtZXRob2QgbmFtZWQgJyIsIG1ldGhvZEluZm8ubmFt
ZS0+aW1wbCgpLCAiJyIpOwogCkBAIC0xNzg5LDYgKzE5NTMsMTggQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlmU3Rh
dGVtZW50KFQKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVJZlN0YXRlbWVudChpZkxvY2F0aW9u
LCBjb25kaXRpb24sIHRydWVCbG9jaywgc3RhdGVtZW50U3RhY2subGFzdCgpLCBzdGFydCwgZW5k
KTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8
dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhw
cmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihU
cmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7CisgICAg
VHJlZUV4cHJlc3Npb24gbm9kZSA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24oY29udGV4dCk7
CisgICAgZmFpbElmRmFsc2Uobm9kZSwgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9uIik7CisgICAg
Y29udGV4dC5zZXRFbmRPZmZzZXQobm9kZSwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5vZmZzZXQp
OworICAgIHJldHVybiBub2RlOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhl
clR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7CkBA
IC0xODM2LDYgKzIwMTIsNDEgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBUcmVl
RXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KICAgICAgICAgfQog
ICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CiAgICAgfQorCisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rp
b25Qb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgIGJvb2wgYXJyb3dGdW5jdGlvbkVtcHR5
TGlzdCA9IGZhbHNlOworICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgIG5leHQo
KTsKKyAgICAgICAgaWYgKG1hdGNoKENMT1NFUEFSRU4pKSB7CisgICAgICAgICAgICBuZXh0KCk7
CisKKyAgICAgICAgICAgIGlmIChtYXRjaChBUlJPV0ZVTkNUSU9OKSkKKyAgICAgICAgICAgICAg
ICBhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0ID0gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIGlm
ICghYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCkKKyAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQo
c2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAgfQorCisgICAgVHJlZUV4cHJlc3Npb24gbGhz
OworICAgIGlmICghYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCkgeworICAgICAgICBsaHMgPSBwYXJz
ZUNvbmRpdGlvbmFsRXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICAgICAgZmFpbElmRmFsc2UobGhz
LCAiQ2FuGW5vdCBwYXJzZSBleHByZXNzaW9uIik7CisgICAgICAgIGlmIChpbml0aWFsTm9uTEhT
Q291bnQgIT0gbV9ub25MSFNDb3VudCkgeworICAgICAgICAgICAgaWYgKG1fdG9rZW4ubV90eXBl
ID49IEVRVUFMICYmIG1fdG9rZW4ubV90eXBlIDw9IE9SRVFVQUwpCisgICAgICAgICAgICAgICAg
c2VtYW50aWNGYWlsKCJMZWZ0IGhhbmQgc2lkZSBvZiBvcGVyYXRvciAnIiwgZ2V0VG9rZW4oKSwg
IicgbXVzdCBiZSBhIHJlZmVyZW5jZSIpOworCisgICAgICAgICAgICByZXR1cm4gbGhzOworICAg
ICAgICB9CisgICAgfQorCisgICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJT04pKSB7CisgICAgICAg
IHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAgICAgIGxocyA9
IHBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoY29udGV4dCk7CisgICAgICAgIHJldHVybiBsaHM7
CisgICAgfQorI2Vsc2UKICAgICBUcmVlRXhwcmVzc2lvbiBsaHMgPSBwYXJzZUNvbmRpdGlvbmFs
RXhwcmVzc2lvbihjb250ZXh0KTsKICAgICBmYWlsSWZGYWxzZShsaHMsICJDYW5ub3QgcGFyc2Ug
ZXhwcmVzc2lvbiIpOwogICAgIGlmIChpbml0aWFsTm9uTEhTQ291bnQgIT0gbV9ub25MSFNDb3Vu
dCkgewpAQCAtMTg0NCw3ICsyMDU1LDggQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVy
PiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KIAogICAg
ICAgICByZXR1cm4gbGhzOwogICAgIH0KLSAgICAKKyNlbmRpZgorCiAgICAgaW50IGFzc2lnbm1l
bnRTdGFjayA9IDA7CiAgICAgT3BlcmF0b3Igb3A7CiAgICAgYm9vbCBoYWRBc3NpZ25tZW50ID0g
ZmFsc2U7CkBAIC0yMDc2LDcgKzIyODgsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5TWV0aAogICAg
IEpTVG9rZW5Mb2NhdGlvbiBtZXRob2RMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwogICAgIHVu
c2lnbmVkIG1ldGhvZFN0YXJ0ID0gdG9rZW5TdGFydCgpOwogICAgIFBhcnNlckZ1bmN0aW9uSW5m
bzxUcmVlQnVpbGRlcj4gbWV0aG9kSW5mbzsKLSAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlv
bkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgTWV0aG9kTW9kZSwgZmFsc2Us
IENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgbWV0aG9kU3RhcnQsIG1ldGhvZEluZm8pKSwgIkNhbm5v
dCBwYXJzZSB0aGlzIG1ldGhvZCIpOworICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5m
byhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBNZXRob2RNb2RlLCBmYWxzZSwgQ29u
c3RydWN0b3JLaW5kOjpOb25lLCBtZXRob2RTdGFydCwgbWV0aG9kSW5mbywgU3RhbmRhcmRGdW5j
dGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9kIik7CiAgICAgbWV0aG9k
SW5mby5uYW1lID0gbWV0aG9kTmFtZTsKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlv
bkV4cHIobWV0aG9kTG9jYXRpb24sIG1ldGhvZEluZm8pOwogfQpAQCAtMjEwMiwxMCArMjMxNCwx
MCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VHZXR0ZXJTZXR0ZXIoVAogICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVl
QnVpbGRlcj4gaW5mbzsKICAgICBpZiAodHlwZSA9PSBQcm9wZXJ0eU5vZGU6OkdldHRlcikgewog
ICAgICAgICBmYWlsSWZGYWxzZShtYXRjaChPUEVOUEFSRU4pLCAiRXhwZWN0ZWQgYSBwYXJhbWV0
ZXIgbGlzdCBmb3IgZ2V0dGVyIGRlZmluaXRpb24iKTsKLSAgICAgICAgZmFpbElmRmFsc2UoKHBh
cnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEdldHRlck1v
ZGUsIGZhbHNlLCBjb25zdHJ1Y3RvcktpbmQsIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIGlu
Zm8pKSwgIkNhbm5vdCBwYXJzZSBnZXR0ZXIgZGVmaW5pdGlvbiIpOworICAgICAgICBmYWlsSWZG
YWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywg
R2V0dGVyTW9kZSwgZmFsc2UsIGNvbnN0cnVjdG9yS2luZCwgZ2V0dGVyT3JTZXR0ZXJTdGFydE9m
ZnNldCwgaW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIGdl
dHRlciBkZWZpbml0aW9uIik7CiAgICAgfSBlbHNlIHsKICAgICAgICAgZmFpbElmRmFsc2UobWF0
Y2goT1BFTlBBUkVOKSwgIkV4cGVjdGVkIGEgcGFyYW1ldGVyIGxpc3QgZm9yIHNldHRlciBkZWZp
bml0aW9uIik7Ci0gICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0
LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBTZXR0ZXJNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JL
aW5kLCBnZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBpbmZvKSksICJDYW5ub3QgcGFyc2Ugc2V0
dGVyIGRlZmluaXRpb24iKTsKKyAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZv
KGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIFNldHRlck1vZGUsIGZhbHNlLCBjb25z
dHJ1Y3RvcktpbmQsIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIGluZm8sIFN0YW5kYXJkRnVu
Y3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSBzZXR0ZXIgZGVmaW5pdGlvbiIpOwogICAg
IH0KICAgICBpZiAoc3RyaW5nUHJvcGVydHlOYW1lKQogICAgICAgICByZXR1cm4gY29udGV4dC5j
cmVhdGVHZXR0ZXJPclNldHRlclByb3BlcnR5KGxvY2F0aW9uLCB0eXBlLCBzdHJpY3QsIHN0cmlu
Z1Byb3BlcnR5TmFtZSwgaW5mbywgc3VwZXJCaW5kaW5nKTsKQEAgLTIzNTQsNyArMjU2Niw3IEBA
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVy
VHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAgICAgIG5leHQoKTsKICAgICAgICAgUGFyc2Vy
RnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOwogICAgICAgICBpbmZvLm5hbWUgPSAmbV92
bS0+cHJvcGVydHlOYW1lcy0+bnVsbElkZW50aWZpZXI7Ci0gICAgICAgIGZhaWxJZkZhbHNlKChw
YXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlv
bk1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0
LCBpbmZvKSksICJDYW5ub3QgcGFyc2UgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgICAgICBm
YWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVt
ZW50cywgRnVuY3Rpb25Nb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBmdW5jdGlv
bktleXdvcmRTdGFydCwgaW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90
IHBhcnNlIGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3Jl
YXRlRnVuY3Rpb25FeHByKGxvY2F0aW9uLCBpbmZvKTsKICAgICB9CiAjaWYgRU5BQkxFKEVTNl9D
TEFTU19TWU5UQVgpCkBAIC0yMzgzLDYgKzI1OTUsMjMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhw
cmUKICAgICAgICAgcmV0dXJuIGNvbnRleHQudGhpc0V4cHIobG9jYXRpb24sIG1fdGhpc1REWk1v
ZGUpOwogICAgIH0KICAgICBjYXNlIElERU5UOiB7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBj
cmVhdGVTYXZlUG9pbnQoKTsKKyAgICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0
YXJ0UG9zaXRpb24oKTsKKyAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2Vu
Lm1fZGF0YS5pZGVudDsKKyAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9j
YXRpb24oKSk7CisgICAgICAgIG5leHQoKTsKKworICAgICAgICBpZiAoIW1hdGNoKEFSUk9XRlVO
Q1RJT04pKSB7CisgICAgICAgICAgICBjdXJyZW50U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRlbnQs
IG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmlkZW50KTsKKyAgICAgICAgICAgIG1fbGFz
dElkZW50aWZpZXIgPSBpZGVudDsKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJl
c29sdmUobG9jYXRpb24sIGlkZW50LCBzdGFydCk7CisgICAgICAgIH0KKworICAgICAgICByZXN0
b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICBUcmVlRXhwcmVz
c2lvbiBsaHMgPSBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKGNvbnRleHQpOworICAgICAgICBy
ZXR1cm4gbGhzOworI2Vsc2UKICAgICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0
YXJ0UG9zaXRpb24oKTsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2Vu
Lm1fZGF0YS5pZGVudDsKICAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9j
YXRpb24oKSk7CkBAIC0yMzkwLDYgKzI2MTksNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHByZQog
ICAgICAgICBjdXJyZW50U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRlbnQsIG1fdm0tPnByb3BlcnR5
TmFtZXMtPmV2YWwgPT0gKmlkZW50KTsKICAgICAgICAgbV9sYXN0SWRlbnRpZmllciA9IGlkZW50
OwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVSZXNvbHZlKGxvY2F0aW9uLCBpZGVudCwg
c3RhcnQpOworI2VuZGlmCiAgICAgfQogICAgIGNhc2UgU1RSSU5HOiB7CiAgICAgICAgIGNvbnN0
IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CkBAIC0yNTgxLDYgKzI4
MTEsMzIgQEAgZW5kTWVtYmVyRXhwcmVzc2lvbjoKICAgICByZXR1cm4gYmFzZTsKIH0KIAorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4
ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihUcmVlQnVpbGRlciYgY29u
dGV4dCkKK3sKKyAgICBUcmVlRXhwcmVzc2lvbiBiYXNlID0gMDsKKyAgICBKU1RleHRQb3NpdGlv
biBleHByZXNzaW9uU3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICBpbnQgbmV3Q291
bnQgPSAwOworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbjsKKworICAgIGlmIChtYXRjaChJ
REVOVCkgfHwgbWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICB1bnNpZ25lZCBmdW5jdGlvbktl
eXdvcmRTdGFydCA9IHRva2VuU3RhcnQoKTsKKyAgICAgICAgbG9jYXRpb24gPSB0b2tlbkxvY2F0
aW9uKCk7CisgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gaW5mbzsKKyAg
ICAgICAgaW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyOwor
ICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25O
b1JlcXVpcmVtZW50cywgRnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUs
IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvLCBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSksICJD
YW5ub3QgcGFyc2UgYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgICAgICBiYXNlID0g
Y29udGV4dC5jcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihsb2NhdGlvbiwgaW5mbyk7CisgICAgfSBl
bHNlCisgICAgICAgIGJhc2UgPSBwYXJzZVByaW1hcnlFeHByZXNzaW9uKGNvbnRleHQpOworCisg
ICAgZmFpbElmRmFsc2UoYmFzZSwgIkNhbm5vdCBwYXJzZSBiYXNlIGV4cHJlc3Npb24iKTsKKyAg
ICB3aGlsZSAobmV3Q291bnQtLSkKKyAgICAgICAgYmFzZSA9IGNvbnRleHQuY3JlYXRlTmV3RXhw
cihsb2NhdGlvbiwgYmFzZSwgZXhwcmVzc2lvblN0YXJ0LCBsYXN0VG9rZW5FbmRQb3NpdGlvbigp
KTsKKyAgICByZXR1cm4gYmFzZTsKK30KKyNlbmRpZgorCiBzdGF0aWMgY29uc3QgY2hhciogb3Bl
cmF0b3JTdHJpbmcoYm9vbCBwcmVmaXgsIHVuc2lnbmVkIHRvaykKIHsKICAgICBzd2l0Y2ggKHRv
aykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKaW5kZXggODc5ZTFlMjgxNjcx
OTc3Mzg5OWY1MjU3NWVmYTM1YzAyZTdkMTNmZS4uNzdhZTM5Njc3YWFhY2ZlN2EyNDYwMjRhZTFi
YTExOWVkMmE0N2FjNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC04
MCw2ICs4MCwxMSBAQCBjbGFzcyBTb3VyY2VDb2RlOwogQ09NUElMRV9BU1NFUlQoTGFzdFVudGFn
Z2VkVG9rZW4gPCA2NCwgTGVzc1RoYW42NFVudGFnZ2VkVG9rZW5zKTsKIAogZW51bSBTb3VyY2VF
bGVtZW50c01vZGUgeyBDaGVja0ZvclN0cmljdE1vZGUsIERvbnRDaGVja0ZvclN0cmljdE1vZGUg
fTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorZW51bSBGdW5jdGlvblBh
cnNlVHlwZSB7IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUsIEFycm93RnVuY3Rpb25QYXJzZVR5
cGUgfTsKKyNlbHNlCitlbnVtIEZ1bmN0aW9uUGFyc2VUeXBlIHsgU3RhbmRhcmRGdW5jdGlvblBh
cnNlVHlwZX07CisjZW5kaWYKIGVudW0gRnVuY3Rpb25SZXF1aXJlbWVudHMgeyBGdW5jdGlvbk5v
UmVxdWlyZW1lbnRzLCBGdW5jdGlvbk5lZWRzTmFtZSB9OwogZW51bSBGdW5jdGlvblBhcnNlTW9k
ZSB7CiAgICAgRnVuY3Rpb25Nb2RlLApAQCAtNjE4LDYgKzYyMywxMyBAQCBwcml2YXRlOgogICAg
ICAgICByZXR1cm4gbV90b2tlbi5tX3R5cGUgPT0gSURFTlQgJiYgKm1fdG9rZW4ubV9kYXRhLmlk
ZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPm9mOwogICAgIH0KICAgICAKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEFMV0FZU19JTkxJTkUgYm9vbCBpc0VuZE9m
QXJyb3dGdW5jdGlvbigpCisgICAgeworICAgICAgICByZXR1cm4gbWF0Y2goU0VNSUNPTE9OKSB8
fCBtYXRjaChDT01NQSkgfHwgbWF0Y2goQ0xPU0VQQVJFTikgfHwgbWF0Y2goQ0xPU0VCUkFDRSkg
fHwgbWF0Y2goQ0xPU0VCUkFDS0VUKTsKKyAgICB9CisjZW5kaWYKKyAgICAKICAgICBBTFdBWVNf
SU5MSU5FIHVuc2lnbmVkIHRva2VuU3RhcnQoKQogICAgIHsKICAgICAgICAgcmV0dXJuIG1fdG9r
ZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKQEAgLTcyMSw5ICs3MzMsOSBAQCBwcml2YXRlOgog
ICAgICAgICB9CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIAotICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNlU291cmNlRWxl
bWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUpOwotICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRl
ciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRl
cmFsTGVuZ3RoID0gMCk7CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
b3VyY2VFbGVtZW50cyBwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxl
bWVudHNNb2RlLCBGdW5jdGlvblBhcnNlVHlwZSk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiwgY29uc3Qg
SWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgg
PSAwLCBGdW5jdGlvblBhcnNlVHlwZSB0eXBlID0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7
CiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQ2xhc3NEZWNsYXJhdGlvbihUcmVlQnVpbGRlciYp
OwogI2VuZGlmCkBAIC03NjIsMjcgKzc3NCwzNiBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IHBhcnNlUHJvcGVydHkoVHJlZUJ1aWxkZXIm
LCBib29sIHN0cmljdCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhw
cmVzc2lvbiBwYXJzZVByb3BlcnR5TWV0aG9kKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJ
ZGVudGlmaWVyKiBtZXRob2ROYW1lKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVQcm9wZXJ0eSBwYXJzZUdldHRlclNldHRlcihUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0
LCBQcm9wZXJ0eU5vZGU6OlR5cGUsIHVuc2lnbmVkIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQs
IENvbnN0cnVjdG9yS2luZCA9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJCaW5kaW5nID0g
U3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQpOwotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gQUxXQVlTX0lOTElORSBUcmVlRnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rpb25Cb2R5KFRyZWVC
dWlsZGVyJiwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQs
IGludCBwYXJhbWV0ZXJzU3RhcnQsIENvbnN0cnVjdG9yS2luZCk7CisgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VGdW5j
dGlvbkJvZHkoVHJlZUJ1aWxkZXImLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5j
dGlvbk5hbWVTdGFydCwgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kLCBGdW5j
dGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0IHBhcnNlRm9y
bWFsUGFyYW1ldGVycyhUcmVlQnVpbGRlciYpOwogICAgIGVudW0gVmFyRGVjbGFyYXRpb25MaXN0
Q29udGV4dCB7IEZvckxvb3BDb250ZXh0LCBWYXJEZWNsYXJhdGlvbkNvbnRleHQgfTsKICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlVmFyRGVjbGFy
YXRpb25MaXN0KFRyZWVCdWlsZGVyJiwgaW50JiBkZWNsYXJhdGlvbnMsIFRyZWVEZWNvbnN0cnVj
dGlvblBhdHRlcm4mIGxhc3RQYXR0ZXJuLCBUcmVlRXhwcmVzc2lvbiYgbGFzdEluaXRpYWxpemVy
LCBKU1RleHRQb3NpdGlvbiYgaWRlbnRTdGFydCwgSlNUZXh0UG9zaXRpb24mIGluaXRTdGFydCwg
SlNUZXh0UG9zaXRpb24mIGluaXRFbmQsIFZhckRlY2xhcmF0aW9uTGlzdENvbnRleHQpOwogICAg
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVDb25zdERlY2xM
aXN0IHBhcnNlQ29uc3REZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImKTsKIAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWls
ZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBh
cnNlQXJyb3dGdW5jdGlvblN0YXRlbWVudChUcmVlQnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBl
cihUcmVlQnVpbGRlciYpOworI2VuZGlmCisKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIGNyZWF0ZUJpbmRpbmdQ
YXR0ZXJuKFRyZWVCdWlsZGVyJiwgRGVjb25zdHJ1Y3Rpb25LaW5kLCBjb25zdCBJZGVudGlmaWVy
JiwgaW50IGRlcHRoLCBKU1Rva2VuKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIHBhcnNlRGVjb25zdHJ1Y3Rp
b25QYXR0ZXJuKFRyZWVCdWlsZGVyJiwgRGVjb25zdHJ1Y3Rpb25LaW5kLCBpbnQgZGVwdGggPSAw
KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVj
b25zdHJ1Y3Rpb25QYXR0ZXJuIHRyeVBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuRXhwcmVzc2lv
bihUcmVlQnVpbGRlciYpOwotCi0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZF
Ul9JTkxJTkUgYm9vbCBwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVx
dWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSwgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29w
ZSwgQ29uc3RydWN0b3JLaW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0
aW9uSW5mbzxUcmVlQnVpbGRlcj4mKTsKLSAgICAKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IE5FVkVSX0lOTElORSBpbnQgcGFyc2VGdW5jdGlvblBhcmFtdGVycyhUcmVlQnVpbGRl
ciYsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSwgYm9vbCwgQXV0b1Bv
cFNjb3BlUmVmJiwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYpOwotI2lmIEVOQUJM
RShFUzZfQ0xBU1NfU1lOVEFYKQotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVW
RVJfSU5MSU5FIFRyZWVDbGFzc0V4cHJlc3Npb24gcGFyc2VDbGFzcyhUcmVlQnVpbGRlciYsIEZ1
bmN0aW9uUmVxdWlyZW1lbnRzLCBQYXJzZXJDbGFzc0luZm88VHJlZUJ1aWxkZXI+Jik7CisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBpbnQgcGFyc2VBcnJvd0Z1bmN0aW9uUGFyYW10ZXJzKFRy
ZWVCdWlsZGVyJiwgRnVuY3Rpb25QYXJzZU1vZGUsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVp
bGRlcj4mKTsKICNlbmRpZgorCiAjaWYgRU5BQkxFKEVTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRB
WCkKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSB0eXBlbmFt
ZSBUcmVlQnVpbGRlcjo6VGVtcGxhdGVTdHJpbmcgcGFyc2VUZW1wbGF0ZVN0cmluZyhUcmVlQnVp
bGRlciYgY29udGV4dCwgYm9vbCBpc1RlbXBsYXRlSGVhZCwgYm9vbCYgZWxlbWVudElzVGFpbCk7
CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgdHlwZW5hbWUg
VHJlZUJ1aWxkZXI6OlRlbXBsYXRlTGl0ZXJhbCBwYXJzZVRlbXBsYXRlTGl0ZXJhbChUcmVlQnVp
bGRlciYpOwogI2VuZGlmCiAKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVS
X0lOTElORSBib29sIHBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1
aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlLCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3Bl
LCBDb25zdHJ1Y3RvcktpbmQsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rp
b25JbmZvPFRyZWVCdWlsZGVyPiYsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBl
KTsKKyNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlQ2xhc3NFeHByZXNzaW9uIHBhcnNlQ2xhc3MoVHJl
ZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgUGFyc2VyQ2xhc3NJbmZvPFRyZWVCdWls
ZGVyPiYpOworI2VuZGlmCisKICAgICBBTFdBWVNfSU5MSU5FIGludCBpc0JpbmFyeU9wZXJhdG9y
KEpTVG9rZW5UeXBlKTsKICAgICBib29sIGFsbG93QXV0b21hdGljU2VtaWNvbG9uKCk7CiAgICAg
CkBAIC03OTUsNiArODE2LDE0IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBhbGxvd0F1dG9t
YXRpY1NlbWljb2xvbigpOwogICAgIH0KICAgICAKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgdm9pZCBzZXRFbmRPZlN0YXRlbWVudCgpCisgICAgeworICAgICAg
ICBtX2xleGVyLT5zZXRUb2tlblBvc2l0aW9uKCZtX3Rva2VuKTsKKyAgICB9CisjZW5kaWYKKwog
ICAgIGJvb2wgY2FuUmVjdXJzZSgpCiAgICAgewogICAgICAgICByZXR1cm4gbV92bS0+aXNTYWZl
VG9SZWN1cnNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlckZ1bmN0aW9uSW5mby5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJG
dW5jdGlvbkluZm8uaAppbmRleCA2YjczNjI4MmUyZDJhODFiYzYzZGMyZjNjMGU1YWU4Yzg1OGNk
MWY4Li4wY2RlMGM2N2E5ZGUwZWRmMzQxNDRlMzI3OTFlNWU5MGI0YTIxNTE0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKQEAgLTI4
LDYgKzI4LDEwIEBACiAKIG5hbWVzcGFjZSBKU0MgewogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKK2VudW0gRnVuY3Rpb25Cb2R5VHlwZSB7IEFycm93RnVuY3Rpb25Cb2R5
RXhwcmVzc2lvbiwgQXJyb3dGdW5jdGlvbkJvZHlCbG9jaywgU3RhbmRhcmRGdW5jdGlvbkJvZHlC
bG9jayB9OworI2VuZGlmCisKIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4KIHN0cnVjdCBQ
YXJzZXJGdW5jdGlvbkluZm8gewogICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUgPSAwOwpAQCAt
MzgsNiArNDIsMTEgQEAgc3RydWN0IFBhcnNlckZ1bmN0aW9uSW5mbyB7CiAgICAgaW50IGJvZHlT
dGFydExpbmUgPSAwOwogICAgIGludCBib2R5RW5kTGluZSA9IDA7CiAgICAgdW5zaWduZWQgYm9k
eVN0YXJ0Q29sdW1uID0gMDsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIHVuc2lnbmVkIGFycm93RnVuY3Rpb25PZmZzZXQgPSAwOworICAgIGJvb2wgaXNBcnJvd0Z1
bmN0aW9uID0gZmFsc2U7CisgICAgRnVuY3Rpb25Cb2R5VHlwZSBmdW5jdGlvbkJvZHlUeXBlID0g
U3RhbmRhcmRGdW5jdGlvbkJvZHlCbG9jazsKKyNlbmRpZgogfTsKIAogI2lmIEVOQUJMRShFUzZf
Q0xBU1NfU1lOVEFYKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXJUb2tlbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5z
LmgKaW5kZXggMDI2ZTRmODBmNDM3ZDhiZmU0YTYxOWMzMGQxMWRjOWZjNjFlMjY0NS4uZTkxNTRj
YWYwNTNjNTM4MWI1ZjA5ODE2ZGJhMDU1OGE1NDM0YmYzNyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCkBAIC03NSw2ICs3NSw5IEBAIGVudW0gSlNUb2tl
blR5cGUgewogICAgIEZJTkFMTFksCiAgICAgREVCVUdHRVIsCiAgICAgRUxTRSwKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEFSUk9XRlVOQ1RJT04sCisjZW5kaWYK
ICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICBDTEFTU1RPS0VOLAogICAgIEVYVEVO
RFMsCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCmluZGV4IDczZDIz
ZGI4MmFmMjVlYTQ2YzBmODk3ODVjZTQyNGJiNjBlYjYxYTcuLjUwZDUyNjM5Nzk0M2UzODFkMzgw
ZWM0M2Q4MmQ1YjYzZjdmMDhkYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvU291cmNlQ29kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291
cmNlQ29kZS5oCkBAIC0xMDUsNiArMTA1LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIAog
ICAgICAgICBTb3VyY2VDb2RlIHN1YkV4cHJlc3Npb24odW5zaWduZWQgb3BlbkJyYWNlLCB1bnNp
Z25lZCBjbG9zZUJyYWNlLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOwogCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgU291cmNlQ29kZSBzdWJB
cnJvd0V4cHJlc3Npb24odW5zaWduZWQgc3RhcnRBcnJvd0Z1bmN0aW9uLCB1bnNpZ25lZCBlbmRB
cnJvd0Z1bmN0aW9uLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOworI2VuZGlmCiAg
ICAgcHJpdmF0ZToKICAgICAgICAgUmVmUHRyPFNvdXJjZVByb3ZpZGVyPiBtX3Byb3ZpZGVyOwog
ICAgICAgICBpbnQgbV9zdGFydENoYXI7CkBAIC0xMTgsNiArMTIxLDE3IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICByZXR1cm4gU291cmNlQ29kZShTdHJpbmdTb3VyY2VQcm92aWRlcjo6Y3Jl
YXRlKHNvdXJjZSwgdXJsLCBzdGFydFBvc2l0aW9uKSwgc3RhcnRQb3NpdGlvbi5tX2xpbmUub25l
QmFzZWRJbnQoKSwgc3RhcnRQb3NpdGlvbi5tX2NvbHVtbi5vbmVCYXNlZEludCgpKTsKICAgICB9
CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlubGluZSBTb3Vy
Y2VDb2RlIFNvdXJjZUNvZGU6OnN1YkFycm93RXhwcmVzc2lvbih1bnNpZ25lZCBzdGFydEFycm93
RnVuY3Rpb24sIHVuc2lnbmVkIGVuZEFycm93RnVuY3Rpb24sIGludCBmaXJzdExpbmUsIGludCBz
dGFydENvbHVtbikKKyAgICB7CisgICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtz
dGFydEFycm93RnVuY3Rpb25dID09ICc9JyAmJiBwcm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFy
cm93RnVuY3Rpb24gKyAxXSA9PSAnPicpOworICAgICAgICAvLyBGaXhtZTogVXNlIGJldHRlciBh
cHByb2FjaCB0byBjaGVjayBzeW1ib2wKKyAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJj
ZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnLCcgfHwgcHJvdmlkZXIoKS0+c291cmNlKClb
ZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICc7JyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRB
cnJvd0Z1bmN0aW9uIC0gMV0gPT0gJyknIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93
RnVuY3Rpb24gLSAxXSA9PSAnXScgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5j
dGlvbiAtIDFdID09ICd9Jyk7CisgICAgICAgIHN0YXJ0Q29sdW1uICs9IDE7IC8vIENvbnZlcnQg
dG8gYmFzZSAxLgorICAgICAgICByZXR1cm4gU291cmNlQ29kZShwcm92aWRlcigpLCBzdGFydEFy
cm93RnVuY3Rpb24sIGVuZEFycm93RnVuY3Rpb24sIGZpcnN0TGluZSwgc3RhcnRDb2x1bW4pOwor
ICAgIH0KKyNlbmRpZgorCiAgICAgaW5saW5lIFNvdXJjZUNvZGUgU291cmNlQ29kZTo6c3ViRXhw
cmVzc2lvbih1bnNpZ25lZCBvcGVuQnJhY2UsIHVuc2lnbmVkIGNsb3NlQnJhY2UsIGludCBmaXJz
dExpbmUsIGludCBzdGFydENvbHVtbikKICAgICB7CiAgICAgICAgIEFTU0VSVChwcm92aWRlcigp
LT5zb3VyY2UoKVtvcGVuQnJhY2VdID09ICd7Jyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKaW5kZXggNjM1Mzc5ZTNm
NDQ1NjY4YzUyYjg3MmY3NjE2ZGNiNTkyMWE4Mjk0NC4uZjQyOGRiNTBhOGRhN2E3YWI0NjgyNGFi
MzgwODNkYjA1MmQ3Mzc3NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaApAQCAtNDAsNiArNDAsMTAgQEAgc3RydWN0
IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBib29sIG5l
ZWRzRnVsbEFjdGl2YXRpb247CiAgICAgYm9vbCB1c2VzRXZhbDsKICAgICBib29sIHN0cmljdE1v
ZGU7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBib29sIGlzQm9k
eUFycm93RXhwcmVzc2lvbjsKKyAgICBKU1Rva2VuVHlwZSB0b2tlblR5cGU7CisjZW5kaWYKICAg
ICBWZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiB1c2VkVmFyaWFibGVzOwogICAgIFZlY3RvcjxS
ZWZQdHI8U3RyaW5nSW1wbD4+IHdyaXR0ZW5WYXJpYWJsZXM7CiB9OwpAQCAtNTUsMTAgKzU5LDE0
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFNvdXJjZVByb3ZpZGVyQ2Fj
aGVJdGVtPiBjcmVhdGUoY29uc3QgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFt
ZXRlcnMmKTsKICAgICB+U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0oKTsKIAotICAgIEpTVG9rZW4g
Y2xvc2VCcmFjZVRva2VuKCkgY29uc3QgCisgICAgSlNUb2tlbiBlbmRGdW5jdGlvblRva2VuKCkg
Y29uc3QgCiAgICAgewogICAgICAgICBKU1Rva2VuIHRva2VuOworI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIHRva2VuLm1fdHlwZSA9IGlzQm9keUFycm93RXhw
cmVzc2lvbiA/IHRva2VuVHlwZSA6IENMT1NFQlJBQ0U7CisjZWxzZQogICAgICAgICB0b2tlbi5t
X3R5cGUgPSBDTE9TRUJSQUNFOworI2VuZGlmCiAgICAgICAgIHRva2VuLm1fZGF0YS5vZmZzZXQg
PSBjbG9zZUJyYWNlT2Zmc2V0OwogICAgICAgICB0b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0
ID0gY2xvc2VCcmFjZU9mZnNldDsKICAgICAgICAgdG9rZW4ubV9sb2NhdGlvbi5lbmRPZmZzZXQg
PSBjbG9zZUJyYWNlT2Zmc2V0ICsgMTsKQEAgLTgyLDYgKzkwLDExIEBAIHB1YmxpYzoKICAgICB1
bnNpZ25lZCB1c2VkVmFyaWFibGVzQ291bnQ7CiAgICAgdW5zaWduZWQgd3JpdHRlblZhcmlhYmxl
c0NvdW50OwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBib29s
IGlzQm9keUFycm93RXhwcmVzc2lvbjsKKyAgICBKU1Rva2VuVHlwZSB0b2tlblR5cGU7CisjZW5k
aWYKKwogICAgIFN0cmluZ0ltcGwqKiB1c2VkVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gY29u
c3RfY2FzdDxTdHJpbmdJbXBsKio+KG1fdmFyaWFibGVzKTsgfQogICAgIFN0cmluZ0ltcGwqKiB3
cml0dGVuVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxTdHJpbmdJbXBsKio+
KCZtX3ZhcmlhYmxlc1t1c2VkVmFyaWFibGVzQ291bnRdKTsgfQogCkBAIC0xMTUsNiArMTI4LDEw
IEBAIGlubGluZSBTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6U291cmNlUHJvdmlkZXJDYWNoZUl0
ZW0oY29uc3QgU291cmNlUHJvdmlkZXJDYWNoCiAgICAgLCBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zm
c2V0KHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldCkKICAgICAsIHVzZWRWYXJp
YWJsZXNDb3VudChwYXJhbWV0ZXJzLnVzZWRWYXJpYWJsZXMuc2l6ZSgpKQogICAgICwgd3JpdHRl
blZhcmlhYmxlc0NvdW50KHBhcmFtZXRlcnMud3JpdHRlblZhcmlhYmxlcy5zaXplKCkpCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAsIGlzQm9keUFycm93RXhwcmVz
c2lvbihwYXJhbWV0ZXJzLmlzQm9keUFycm93RXhwcmVzc2lvbikKKyAgICAsIHRva2VuVHlwZShw
YXJhbWV0ZXJzLnRva2VuVHlwZSkKKyNlbmRpZgogewogICAgIHVuc2lnbmVkIGogPSAwOwogICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB1c2VkVmFyaWFibGVzQ291bnQ7ICsraSwgKytqKSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCmluZGV4IDU1
NGU1ZGY2NGE3MjFmNDQ2MmQwZDg5YWIwMjNhZmRkNzUzYzU1YmUuLmY2MzVlZDFiYjM3ZTg4NTM2
NDU0NzRjMDgyM2Y0YjYxMzgwYTRkMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvU3ludGF4Q2hlY2tlci5oCkBAIC0xNzcsNiArMTc3LDEwIEBAIHB1YmxpYzoKICNlbmRpZgog
ICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUZ1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRp
b24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBG
dW5jdGlvbkV4cHI7IH0KICAgICBpbnQgY3JlYXRlRnVuY3Rpb25Cb2R5KGNvbnN0IEpTVG9rZW5M
b2NhdGlvbiYsIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGludCwgaW50LCBib29sLCBpbnQsIGlu
dCwgaW50LCBDb25zdHJ1Y3RvcktpbmQpIHsgcmV0dXJuIEZ1bmN0aW9uQm9keVJlc3VsdDsgfQor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgRXhwcmVzc2lvblR5cGUg
Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFy
c2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JikgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9
CisjZW5kaWYgCisgICAgdm9pZCBzZXRGdW5jdGlvbk5hbWVTdGFydChpbnQsIGludCkgeyB9CiAg
ICAgaW50IGNyZWF0ZUFyZ3VtZW50cygpIHsgcmV0dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQogICAg
IGludCBjcmVhdGVBcmd1bWVudHMoaW50KSB7IHJldHVybiBBcmd1bWVudHNSZXN1bHQ7IH0KICAg
ICBFeHByZXNzaW9uVHlwZSBjcmVhdGVTcHJlYWRFeHByZXNzaW9uKGNvbnN0IEpTVG9rZW5Mb2Nh
dGlvbiYsIEV4cHJlc3Npb25UeXBlLCBpbnQsIGludCwgaW50KSB7IHJldHVybiBTcHJlYWRFeHBy
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVu
Y3Rpb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9u
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5hMDI3MTk2MDM5N2FiN2Q5OTUyNDhiMTJmMjk1YWI3ZTNhZTZkMzM0
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJv
d0Z1bmN0aW9uLmNwcApAQCAtMCwwICsxLDExOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorCisj
aW5jbHVkZSAiRXJyb3IuaCIKKyNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCisjaW5jbHVk
ZSAiSlNDSW5saW5lcy5oIgorI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKKyNpbmNsdWRlICJKU0Z1
bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNGdW5jdGlvbklubGluZXMuaCIKKyNpbmNsdWRlICJKU09i
amVjdC5oIgorI2luY2x1ZGUgIlByb3BlcnR5U2xvdC5oIgorI2luY2x1ZGUgIlZNLmgiCisKK25h
bWVzcGFjZSBKU0MgeworICAgIAorY29uc3QgQ2xhc3NJbmZvIEpTQXJyb3dGdW5jdGlvbjo6c19p
bmZvID0geyAiQXJyb3dGdW5jdGlvbiIsICZCYXNlOjpzX2luZm8sIDAsIENSRUFURV9NRVRIT0Rf
VEFCTEUoSlNBcnJvd0Z1bmN0aW9uKSB9OworCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGFycm93RnVuY3Rpb25DYWxsKEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBKU0Fycm93RnVuY3Rp
b24qIGFycm93RnVuY3Rpb24gPSBqc0Nhc3Q8SlNBcnJvd0Z1bmN0aW9uKj4oZXhlYy0+Y2FsbGVl
KCkpOworICAgICAgICAKKyAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmdzOworICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IGkgPCBleGVjLT5hcmd1bWVudENvdW50KCk7ICsraSkKKyAgICAgICAg
YXJncy5hcHBlbmQoZXhlYy0+dW5jaGVja2VkQXJndW1lbnQoaSkpOworICAgIAorICAgIEpTT2Jq
ZWN0KiBmdW5jdGlvbiA9IGFycm93RnVuY3Rpb24tPmFycm93RnVuY3Rpb24oKTsKKyAgICBDYWxs
RGF0YSBjYWxsRGF0YTsKKyAgICBDYWxsVHlwZSBjYWxsVHlwZSA9IGdldENhbGxEYXRhKGZ1bmN0
aW9uLCBjYWxsRGF0YSk7CisgICAgQVNTRVJUKGNhbGxUeXBlICE9IENhbGxUeXBlTm9uZSk7Cisg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShjYWxsKGV4ZWMsIGZ1bmN0aW9uLCBjYWxsVHlwZSwg
Y2FsbERhdGEsIGFycm93RnVuY3Rpb24tPmJvdW5kVGhpcygpLCBhcmdzKSk7Cit9CisgICAgCit2
b2lkIEpTQXJyb3dGdW5jdGlvbjo6ZGVzdHJveShKU0NlbGwqIGNlbGwpCit7CisgICAgc3RhdGlj
X2Nhc3Q8SlNBcnJvd0Z1bmN0aW9uKj4oY2VsbCktPkpTQXJyb3dGdW5jdGlvbjo6fkpTQXJyb3dG
dW5jdGlvbigpOworfQorICAgIAorSlNBcnJvd0Z1bmN0aW9uOjpKU0Fycm93RnVuY3Rpb24oVk0m
IHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwg
SlNPYmplY3QqIGFycm93RnVuY3Rpb24sIEpTVmFsdWUgYm91bmRUaGlzKQorICAgIDogQmFzZSh2
bSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCisgICAgLCBtX2JvdW5kVGhpcyh2bSwgdGhpcywg
Ym91bmRUaGlzKQorICAgICwgbV9hcnJvd0Z1bmN0aW9uKHZtLCB0aGlzLCBhcnJvd0Z1bmN0aW9u
KQoreworfQorCitKU0Fycm93RnVuY3Rpb24qIEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlV2l0aElu
dmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludChWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIEpTT2JqZWN0KiBhcnJvd0Z1bmN0aW9uLCBKU1ZhbHVlIGJvdW5kVGhpcykK
K3sKKyAgICBBU1NFUlQoanNDYXN0PEpTRnVuY3Rpb24qPihhcnJvd0Z1bmN0aW9uKS0+anNFeGVj
dXRhYmxlKCktPnNpbmdsZXRvbkZ1bmN0aW9uKCktPmhhc0JlZW5JbnZhbGlkYXRlZCgpKTsKKyAg
ICByZXR1cm4gY3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIGFycm93RnVuY3Rpb24sIGJvdW5kVGhp
cyk7Cit9CisKK0pTQXJyb3dGdW5jdGlvbiogSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUoVk0mIHZt
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogYXJyb3dGdW5jdGlvbiwg
SlNWYWx1ZSBib3VuZFRoaXMpCit7CisgICAgTmF0aXZlRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9
IHZtLmdldEhvc3RGdW5jdGlvbihhcnJvd0Z1bmN0aW9uQ2FsbCwgY2FsbEhvc3RGdW5jdGlvbkFz
Q29uc3RydWN0b3IpOworICAgIEpTQXJyb3dGdW5jdGlvbiogZnVuY3Rpb24gPSBuZXcgKE5vdE51
bGwsIGFsbG9jYXRlQ2VsbDxKU0Fycm93RnVuY3Rpb24+KHZtLmhlYXApKSBKU0Fycm93RnVuY3Rp
b24odm0sIGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJl
KCksIGFycm93RnVuY3Rpb24sIGJvdW5kVGhpcyk7CisgICAgZnVuY3Rpb24tPmZpbmlzaENyZWF0
aW9uKHZtLCBleGVjdXRhYmxlLCAwLCAiIik7CisKKyAgICByZXR1cm4gZnVuY3Rpb247Cit9Cisg
ICAgCit2b2lkIEpTQXJyb3dGdW5jdGlvbjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBOYXRpdmVF
eGVjdXRhYmxlKiBleGVjdXRhYmxlLCBpbnQgbGVuZ3RoLCBjb25zdCBTdHJpbmcmIG5hbWUpCit7
CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIGV4ZWN1dGFibGUsIGxlbmd0aCwgbmFtZSk7
CisgICAgQVNTRVJUKGluaGVyaXRzKGluZm8oKSkpOworICAgIAorICAgIC8vIFByb3RvdHlwZSBv
ZiBhcnJvdyBmdW5jdGlvbiBpcyB1bmRlZmluZWQKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3Bl
cnR5TmFtZXMtPnByb3RvdHlwZSwganNVbmRlZmluZWQoKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5
IHwgRG9udEVudW0pOworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+dGhpc0lk
ZW50aWZpZXIsIGJvdW5kVGhpcygpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51bSk7
Cit9CisKKyAgICAKK3ZvaWQgSlNBcnJvd0Z1bmN0aW9uOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCog
Y2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCit7CisgICAgSlNBcnJvd0Z1bmN0aW9uKiB0aGlz
T2JqZWN0ID0ganNDYXN0PEpTQXJyb3dGdW5jdGlvbio+KGNlbGwpOworICAgIEFTU0VSVF9HQ19P
QkpFQ1RfSU5IRVJJVFModGhpc09iamVjdCwgaW5mbygpKTsKKyAgICBCYXNlOjp2aXNpdENoaWxk
cmVuKHRoaXNPYmplY3QsIHZpc2l0b3IpOworCisgICAgLy8gRml4bWU6IG1fYXJyb3dGdW5jdGlv
biBhbHJlYWR5IHJlbW92ZWQgYnkgR0MsIGJlY2F1c2UgaXQgY3JlYXRlZCBpbiBiZWZvcmUgcnVu
IEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlIG1ldGhvZAorICAgIC8vIEl0IGlzIHBvc3NpYmxlIGNh
c2Ugd2hlbiBtX2Fycm93RnVuY3Rpb24gaXMgcmVtb3ZlZCBidXQgd3JhcHBlciBvYmplY3QgaXMg
c3RpbGwgZXhpc3RzCisgICAgLy8gIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2Fycm93
RnVuY3Rpb24pOworICAgIAorICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2JvdW5k
VGhpcyk7Cit9CisgICAgCitDb25zdHJ1Y3RUeXBlIEpTQXJyb3dGdW5jdGlvbjo6Z2V0Q29uc3Ry
dWN0RGF0YShKU0NlbGwqIGNlbGwsIENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCit7Cisg
ICAgSlNGdW5jdGlvbiogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY2VsbCk7Cisg
ICAgICAgIAorICAgIGNvbnN0cnVjdERhdGEuanMuZnVuY3Rpb25FeGVjdXRhYmxlID0gdGhpc09i
amVjdC0+anNFeGVjdXRhYmxlKCk7CisgICAgY29uc3RydWN0RGF0YS5qcy5zY29wZSA9IHRoaXNP
YmplY3QtPnNjb3BlKCk7CisgICAgcmV0dXJuIENvbnN0cnVjdFR5cGVOb25lOworfQorfSAvLyBu
YW1lc3BhY2UgSlNDCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNBcnJvd0Z1bmN0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTk3YmMxYTVmYmRmNmY4YjdhYzc2ZGZlZjAw
OWU5ZWVlZjc5ZjhmMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oCkBAIC0wLDAgKzEsODggQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEpTQXJyb3dGdW5jdGlvbl9o
CisjZGVmaW5lIEpTQXJyb3dGdW5jdGlvbl9oCisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorCisjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTR2xvYmFs
T2JqZWN0LmgiCisKK25hbWVzcGFjZSBKU0MgeworCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGFycm93RnVuY3Rpb25DYWxsKEV4ZWNTdGF0ZSopOworICAgIAorY2xhc3MgSlNBcnJvd0Z1
bmN0aW9uIDogcHVibGljIEpTRnVuY3Rpb24geworcHVibGljOgorICAgIHR5cGVkZWYgSlNGdW5j
dGlvbiBCYXNlOworCisgICAgc3RhdGljIEpTQXJyb3dGdW5jdGlvbiogY3JlYXRlKFZNJiwgSlNH
bG9iYWxPYmplY3QqLCBKU09iamVjdCosIEpTVmFsdWUpOworICAgIHN0YXRpYyBKU0Fycm93RnVu
Y3Rpb24qIGNyZWF0ZVdpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQoVk0mLCBK
U0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgSlNWYWx1ZSk7CisKKyAgICBzdGF0aWMgdm9pZCBk
ZXN0cm95KEpTQ2VsbCopOworICAgIAorICAgIHN0YXRpYyBzaXplX3QgYWxsb2NhdGlvblNpemUo
c2l6ZV90IGlubGluZUNhcGFjaXR5KQorICAgIHsKKyAgICAgICAgQVNTRVJUX1VOVVNFRChpbmxp
bmVDYXBhY2l0eSwgIWlubGluZUNhcGFjaXR5KTsKKyAgICAgICAgcmV0dXJuIHNpemVvZihKU0Fy
cm93RnVuY3Rpb24pOworICAgIH0KKyAgICAKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVT
dHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHBy
b3RvdHlwZSkKKyAgICB7CisgICAgICAgIEFTU0VSVChnbG9iYWxPYmplY3QpOworICAgICAgICBy
ZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBl
SW5mbyhKU0Z1bmN0aW9uVHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOworICAgIH0KKyAg
ICAgICAgCisgICAgc3RhdGljIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShKU0NlbGwq
LCBDb25zdHJ1Y3REYXRhJik7CisKKyAgICBKU09iamVjdCogYXJyb3dGdW5jdGlvbigpIHsgcmV0
dXJuIG1fYXJyb3dGdW5jdGlvbi5nZXQoKTsgfQorICAgIEpTVmFsdWUgYm91bmRUaGlzKCkgeyBy
ZXR1cm4gbV9ib3VuZFRoaXMuZ2V0KCk7IH0KKyAgICAKKyAgICBERUNMQVJFX0lORk87CisgICAg
CisgICAgc3RhdGljIGlubGluZSBwdHJkaWZmX3Qgb2Zmc2V0T2ZUaGlzVmFsdWUoKQorICAgIHsK
KyAgICAgICAgcmV0dXJuIE9CSkVDVF9PRkZTRVRPRihKU0Fycm93RnVuY3Rpb24sIG1fYm91bmRU
aGlzKTsKKyAgICB9CisgICAgCisgICAgY29uc3Qgc3RhdGljIHVuc2lnbmVkIFN0cnVjdHVyZUZs
YWdzID0gT3ZlcnJpZGVzSGFzSW5zdGFuY2UgfCBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsKKworcHJv
dGVjdGVkOgorICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0
b3ImKTsKKyAgICAgICAgCitwcml2YXRlOgorICAgIEpTQXJyb3dGdW5jdGlvbihWTSYsIEpTR2xv
YmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgSlNPYmplY3QqLCBKU1ZhbHVlKTsKKworICAgIHZvaWQg
ZmluaXNoQ3JlYXRpb24oVk0mLCBOYXRpdmVFeGVjdXRhYmxlKiwgaW50LCBjb25zdCBTdHJpbmcm
KTsKKyAgICAKKyAgICBXcml0ZUJhcnJpZXI8VW5rbm93bj4gbV9ib3VuZFRoaXM7CisgICAgV3Jp
dGVCYXJyaWVyPEpTT2JqZWN0PiBtX2Fycm93RnVuY3Rpb247Cit9OworICAgIAorfSAvLyBuYW1l
c3BhY2UgSlNDCisjZW5kaWYgLy8gRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYCisKKyNlbmRpZiAv
LyBKU0Fycm93RnVuY3Rpb25faApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5j
dGlvbi5oCmluZGV4IDg2ZGZmMTJmOGZhNDdhMzFhMzNhNjg5NDA4N2NlNWMxMTVjZTUyYjYuLjhm
MWQ2MTZhZTBiZDcxNGY0M2NiOGY4OGFhZDViNzRmMmVjYjc3ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKQEAgLTEzNyw2ICsxMzcsOSBAQCBwdWJsaWM6
CiBwcm90ZWN0ZWQ6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNGdW5jdGlvbihWTSYsIEpTR2xv
YmFsT2JqZWN0KiwgU3RydWN0dXJlKik7CiAgICAgSlNGdW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhl
Y3V0YWJsZSosIEpTU2NvcGUqKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgIEpTRnVuY3Rpb24oVk0mLCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBKU1Njb3BlKiwgU3Ry
dWN0dXJlKik7CisjZW5kaWYKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBOYXRpdmVF
eGVjdXRhYmxlKiwgaW50IGxlbmd0aCwgY29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICB1c2luZyBC
YXNlOjpmaW5pc2hDcmVhdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0Z1bmN0aW9uSW5saW5lcy5oCmluZGV4IGY2YzZkNThlYzZlNWMxMTY0Y2IyN2ZhNWU0MTYx
OGI0YjgxNDJmMDIuLjM4NTA2Y2MxOTlhMDA4ZmY4Zjk2YWRmNjg5YmUzNjA5ODc1ZGVhNWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVz
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMu
aApAQCAtNDUsNiArNDUsMTUgQEAgaW5saW5lIEpTRnVuY3Rpb246OkpTRnVuY3Rpb24oVk0mIHZt
LCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpTU2NvcGUqIHMKIHsKIH0KIAorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitpbmxpbmUgSlNGdW5jdGlvbjo6SlNG
dW5jdGlvbihWTSYgdm0sIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgSlNTY29wZSog
c2NvcGUsIFN0cnVjdHVyZSogc3RydWN0dXJlKQorICAgIDogQmFzZSh2bSwgc2NvcGUsIHN0cnVj
dHVyZSkKKyAgICAsIG1fZXhlY3V0YWJsZSh2bSwgdGhpcywgZXhlY3V0YWJsZSkKKyAgICAsIG1f
cmFyZURhdGEoKQoreworfQorI2VuZGlmCisgICAgCiBpbmxpbmUgRnVuY3Rpb25FeGVjdXRhYmxl
KiBKU0Z1bmN0aW9uOjpqc0V4ZWN1dGFibGUoKSBjb25zdAogewogICAgIEFTU0VSVCghaXNIb3N0
RnVuY3Rpb25Ob25JbmxpbmUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggNTA3ZDhiYzA0YmM5NDJhY2IxMzE5MTFhYzNkMzBh
MDk4YWYwZDNjOS4uMzY1YWIxMWEwM2IyNjk3MDBlOGQ0YzAwNzkwNTliZjQxZTViOTczMyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApA
QCAtNTgsNiArNTgsNyBAQAogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5oIgog
I2luY2x1ZGUgIkpTQXJyYXlCdWZmZXJQcm90b3R5cGUuaCIKICNpbmNsdWRlICJKU0FycmF5SXRl
cmF0b3IuaCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0JvdW5k
RnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDYWxsYmFj
a0NvbnN0cnVjdG9yLmgiCkBAIC0yMzQsNiArMjM1LDkgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6
aW5pdChWTSYgdm0pCiAgICAgZXhlYy0+c2V0Q2FsbGVlKG1fZ2xvYmFsQ2FsbGVlLmdldCgpKTsK
IAogICAgIG1fZnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0Z1bmN0aW9uOjpjcmVh
dGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIG1fYXJyb3dGdW5jdGlvblN0cnVj
dHVyZS5zZXQodm0sIHRoaXMsIEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0
aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7CisjZW5kaWYKICAgICBtX2JvdW5kRnVu
Y3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0JvdW5kRnVuY3Rpb246OmNyZWF0ZVN0cnVj
dHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOwogICAgIG1fbmFtZWRG
dW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFu
c2l0aW9uKHZtLCBtX2Z1bmN0aW9uU3RydWN0dXJlLmdldCgpLCB2bS5wcm9wZXJ0eU5hbWVzLT5u
YW1lLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51bSwgbV9mdW5jdGlvbk5hbWVPZmZz
ZXQpKTsKICAgICBtX2ludGVybmFsRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBJbnRl
cm5hbEZ1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5
cGUuZ2V0KCkpKTsKQEAgLTc2Myw2ICs3NjcsOSBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojp2aXNp
dENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCiAgICAgdmlzaXRv
ci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fY2FsbGVlU3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFw
cGVuZCgmdGhpc09iamVjdC0+bV9mdW5jdGlvblN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBl
bmQoJnRoaXNPYmplY3QtPm1fYm91bmRGdW5jdGlvblN0cnVjdHVyZSk7CisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+
bV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKTsKKyNlbmRpZgogICAgIHZpc2l0b3IuYXBwZW5kKCZ0
aGlzT2JqZWN0LT5tX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5k
KCZ0aGlzT2JqZWN0LT5tX3N5bWJvbE9iamVjdFN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBl
bmQoJnRoaXNPYmplY3QtPm1fcmVnRXhwU3RydWN0dXJlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCmluZGV4IDU4OWZhMzk2ZmUxOWM4N2RjZWMy
NWM4MTAzMmI0ZWY4YTJiMDAwY2MuLmRkMWFiMDMyYmQxNGIyOGRlYjE2MGY0YmRhMzg4NGZkZDY5
NDg2NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
T2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmpl
Y3QuaApAQCAtMjI5LDYgKzIyOSw5IEBAIHByb3RlY3RlZDoKICAgICBXcml0ZUJhcnJpZXI8U3Ry
dWN0dXJlPiBtX2NhbGxlZVN0cnVjdHVyZTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBt
X2Z1bmN0aW9uU3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYm91bmRG
dW5jdGlvblN0cnVjdHVyZTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZTsKKyNl
bmRpZgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fbmFtZWRGdW5jdGlvblN0cnVjdHVy
ZTsKICAgICBQcm9wZXJ0eU9mZnNldCBtX2Z1bmN0aW9uTmFtZU9mZnNldDsKICAgICBXcml0ZUJh
cnJpZXI8U3RydWN0dXJlPiBtX3ByaXZhdGVOYW1lU3RydWN0dXJlOwpAQCAtNDY3LDYgKzQ3MCw5
IEBAIHB1YmxpYzoKICAgICBTdHJ1Y3R1cmUqIGNhbGxlZVN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0
dXJuIG1fY2FsbGVlU3RydWN0dXJlLmdldCgpOyB9CiAgICAgU3RydWN0dXJlKiBmdW5jdGlvblN0
cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fZnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KICAg
ICBTdHJ1Y3R1cmUqIGJvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2Jv
dW5kRnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIFN0cnVjdHVyZSogYXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0
IHsgcmV0dXJuIG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQorI2VuZGlmCiAgICAg
U3RydWN0dXJlKiBuYW1lZEZ1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9uYW1l
ZEZ1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CiAgICAgUHJvcGVydHlPZmZzZXQgZnVuY3Rpb25O
YW1lT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9mdW5jdGlvbk5hbWVPZmZzZXQ7IH0KICAgICBT
dHJ1Y3R1cmUqIG51bWJlck9iamVjdFN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fbnVtYmVy
T2JqZWN0U3RydWN0dXJlLmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci0xLmpzIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzcGFyYW10ZXItMS5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42MzYxYjhkYjAyMjgyNzk2ZDFiYjA0ZjVkYmQ0MDE5YjcyODlmMmNjCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1
bmN0aW9uLWFzcGFyYW10ZXItMS5qcwpAQCAtMCwwICsxLDggQEAKKy8vIEluc3BpcmVkIGJ5IG1v
emlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBt
ZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2Fn
ZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCAr
ICInIjsKKyAgfQorfTsKKwordGVzdENhc2UoIiIgKyBbMSwgMiwgMywgNF0ubWFwKHggPT4geCwg
MzIpLCAiMSwyLDMsNCIsICJFcnJvcjogYXJyb3cgZnVuY3Rpb24gYXMgdGhlIHBhcmFtdGVycy4i
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1hc3BhcmFtdGVyLTIuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci0yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNmMjkzMmZjMTQ0
ZDM2YzcwZjA2MWY4ZTY4ODg4M2U0NGFmY2ZkMTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci0yLmpz
CkBAIC0wLDAgKzEsMTUgQEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0
Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1
YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsg
ZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFy
IGYgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVyKSB7IHJldHVybiBjbChwYXJhbXRlcik7IH07Cit2
YXIgZjIgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVyMSwgcGFyYW10ZXIyKSB7IHJldHVybiBjbChw
YXJhbXRlcjEsIHBhcmFtdGVyMik7IH07CisKK3Jlc3VsdCA9IGYoeD0+e3JldHVybiB4ICogMjU7
fSwgMTIxKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjUqMTIxICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiBmKHggPT4g
e3JldHVybiB4ICogMjU7fSwgMTIxKSIpOworCityZXN1bHQgPSBmMigoeCwgeSk9PntyZXR1cm4g
eCAqIHk7fSwgMTQsIDEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTQqMTIgLCJFcnJvcjogTm90IGNv
cnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6
IGYoKHgsIHkpPT57cmV0dXJuIHggKiB5O30sIDE0LCAxMjEpKSIpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZp
dHktMS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1hc3NvY2lhdGl2aXR5LTEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmQxZDQ3YTQ4MDc1ZWM1OThjNmJlMWUw
N2Q3OGEzNTI2MzUzYTkxMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTEuanMKQEAgLTAsMCAr
MSwxMyBAQAorLy8gSW5zcGlyZWQgYnkgbW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVu
Y3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhw
ZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCAr
ICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgYWYxLCBhZjIs
IGFmMzsKK2FmMSA9IGFmMiA9IGFmMyA9PiBhZjEgPSBhZjIgPSBhZjM7Cit0ZXN0Q2FzZShhZjEs
IGFmMiwgIkVycm9yOiB3cm9uZyBhc3NvY2lhdGl2aXR5ICMxLiIpOworYWYxKDEzKTsKK3Rlc3RD
YXNlKGFmMiwgMTMsICJFcnJvcjogd3JvbmcgYXNzb2NpYXRpdml0eSAjMi4iKTsKK3Rlc3RDYXNl
KGFmMSwgMTMsICJFcnJvcjogd3JvbmcgYXNzb2NpYXRpdml0eSAjMy4iKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lh
dGl2aXR5LTIuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tYXNzb2NpYXRpdml0eS0yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJlZGQ4MzljNmJjN2VkNmE0MGVm
ZmJiYzg3NTRlZDFiZmQ4MDZiNDMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0yLmpzCkBAIC0w
LDAgKzEsMTQgQEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9
IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09
IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0
ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIHM9IiI7
CitzICs9IHggPT4geC5uYW1lOworCisvLyBGaXggbWUuIFBvc3NpYmxlIHdlIGhhdmUgbm90IHVz
ZSB0aGUgSlNCb3VudEZ1bmN0aW9uIHdyYXBwZXIgZm9yIHRoZSBsZXhpY2FsCisvLyBiaW5kaW5n
IG9mIHRoZSB0aGlzIGFuZCB1c2UgZGlyZWN0IGluamVjdGlvbiBvZiB0aGUgJ3RoaXMnIHZhbHVl
CisvLyBpbnRvIGFycnJvdyBmdW5jdGlvbgorLy8gdGVzdENhc2UocywgInggPT4geC5uYW1lIiAs
ICJFcnJvcjogd3JvbmcgdG9TdHJpbmcgY29udmVyc2lvbi4iKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5
LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFz
c29jaWF0aXZpdHkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjdlZDE1M2NlZWJhNTI2MjI4ZWNhODIxMzA0Njlh
OTI0NGIxNGMwNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LmpzCkBAIC0wLDAgKzEsMTAgQEAK
Ky8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChh
Y3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7
CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0
IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGFmID0gYSA9PiBiID0+IGE7
CisKK3Rlc3RDYXNlKGFmKCdBQkMnKSgnREVGJyksICdBQkMnLCAiRXJyb3I6IHdyb25nIG5lc3Rl
ZCBhcnJvdyBmdW5jdGlvbnMuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2stMS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ibG9jay0xLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBj
NTcxYmI3MmZjZmVmNTMwYzU5ZGI0Yjg2MGNhNGYwYTk2YTQxMTYKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2st
MS5qcwpAQCAtMCwwICsxLDExIEBACisvLyBJbnNwaXJlZCBieSBtb3ppbGxhIHRlc3RzCit2YXIg
dGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAo
YWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAn
IiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisK
K3ZhciBmID0gKCkgPT4ge307Cit0ZXN0Q2FzZSh0eXBlb2YgZigpLCAndW5kZWZpbmVkJywgIkVy
cm9yOiB3cm9uZyBhcnJvdyBmdW5jdGlvbiBibG9jay4iKTsKK3ZhciBnID0gKCkgPT4gKHt9KTsK
K3Rlc3RDYXNlKHR5cGVvZiBnKCksICdvYmplY3QnLCAiRXJyb3I6IHdyb25nIGFycm93IGZ1bmN0
aW9uIGJsb2NrLiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9hcnJvd2Z1bmN0aW9uLWJsb2NrLTIuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2stMi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40N2VlMzUyY2Yw
MWQxMzZlMzAyOTIyNzM2YzVjODBlZjUzYzAzZjZlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJsb2NrLTIuanMKQEAg
LTAsMCArMSwxMCBAQAorLy8gSW5zcGlyZWQgYnkgbW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNl
ID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAh
PT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBl
Y3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgYWYg
PSBhID0+IHsgYSArIDE7IH07CisKK3Rlc3RDYXNlKHR5cGVvZiBhZigwKSwgJ3VuZGVmaW5lZCcs
ICJFcnJvcjogd3JvbmcgYXJyb3cgZnVuY3Rpb24gYmxvY2sgIzIuIik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYm91bmQuanMg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYm91bmQu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYTczMjBmNGVjNzg4ZWExNDkwYWZjNzJlYzEyNTFlZTBhNmUxZjdiNgot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJy
b3dmdW5jdGlvbi1ib3VuZC5qcwpAQCAtMCwwICsxLDE2IEBACit2YXIgcmVzdWx0OworCisgdmFy
IHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYg
KGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQg
JyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9Owor
Cit2YXIgZCA9IHsKKyAgeCA6ICJiYXIiLAorICB5IDogZnVuY3Rpb24oKSB7IHJldHVybiB6ID0+
IHRoaXMueCArIHo7IH0KK307CisKK3ZhciBlID0geyB4IDogImJheiIgfTsKKwordGVzdENhc2Uo
ZC55KCkuYmluZChlLCAibGV5IikoKSwgImJhcmxleSIsICJFcnJvcjogZnVuY3Rpb24gYmluZCBz
aG91bGRuJ3QgY2hhbmdlIGxleGljYWwgYmluZGluZyBvZiB0aGUgYXJyb3cgZnVuY3Rpb24iKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5j
dGlvbi1jYWxsLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1
bmN0aW9uLWNhbGwuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjRmOWFhNTA0ZDcwZDcwZDY4Y2RhYTVhNDgyYTQ2
NTBhNDVmZGY3YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1jYWxsLmpzCkBAIC0wLDAgKzEsMTggQEAKK3ZhciByZXN1
bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2Fn
ZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAi
LiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7
CisgIH0KK307CisKK3ZhciBkID0geworICB4IDogImZvbyIsCisgIHkgOiBmdW5jdGlvbigpIHsg
cmV0dXJuICgpID0+IHRoaXMueDsgfQorfTsKKwordmFyIGUgPSB7IHggOiAiYmFyIiB9OworCit0
ZXN0Q2FzZShkLnkoKS5jYWxsKGUpLCAiZm9vIiwgIkVycm9yOiBmdW5jdGlvbiBjYWxsIHNob3Vs
bid0IGNoYW5nZSB0aGUgbGV4aWNhbCBiaW5kaW5nIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiIpOwor
Cit0ZXN0Q2FzZShkLnkoKS5hcHBseShlKSwgImZvbyIsICJFcnJvcjogZnVuY3Rpb24gYXBwbHkg
c2hvdWxuJ3QgY2hhbmdlIHRoZSBsZXhpY2FsIGJpbmRpbmcgb2YgdGhlIGFycm93IGZ1bmN0aW9u
Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93
ZnVuY3Rpb24tY29uc3RydWN0b3IuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tY29uc3RydWN0b3IuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjU4YjE2ZDdiNWUy
OTc0NGMzM2Y3ODZiNGJmMTZiZjQ0ZmViMWUyOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1jb25zdHJ1Y3Rvci5qcwpA
QCAtMCwwICsxLDE4IEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3Rl
ZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1l
c3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1
YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBzaW1wbGVBcnJvd0Z1bmN0aW9uID0gKCkgPT4ge307
CisKK3ZhciBlcnJvck9uQ3JlYXRlID0gZmFsc2U7CisKK3RyeSB7CisgIHZhciBmYyA9IG5ldyBz
aW1wbGVBcnJvd0Z1bmN0aW9uKCk7Cit9CitjYXRjaCAoZSkgeworICBlcnJvck9uQ3JlYXRlID0g
dHJ1ZTsKK30KKwordGVzdENhc2UoZXJyb3JPbkNyZWF0ZSwgdHJ1ZSwgIkVycm9yOiBObyBleGNl
cHRpb24gZHVyaW5nIHJ1biBuZXcgQXJyb3dGdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtYXJndW1l
bnRzLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LWxleGljYWwtYXJndW1lbnRzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFlYjY3NjNhNjUyNjk4MTY1YzBmZGIy
ZDhiYzIwNzNkMmJjZDNiMWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC1hcmd1bWVudHMuanMKQEAgLTAs
MCArMSwxNCBAQAordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1l
c3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdl
ICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsg
IiciOworICB9Cit9OworCitmdW5jdGlvbiBhZkNyZWF0b3IoKSB7CisgICAgcmV0dXJuIGEgPT4g
YXJndW1lbnRzWzBdOworfQorCit2YXIgYWYgPSBhZkNyZWF0b3IoMTIpOworCisvL0ZpeG1lOiBs
ZXhpY2FsIGJpbmQgb2YgdGhlIGFyZ3VtZW50cyBpcyBub3QgaW1wbGVtZW50ZWQKKy8vdGVzdENh
c2UoYWYoNiksIDEyLCAiRXJyb3I6IGFyZ3VtZW50cyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBp
bnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTEuanMgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10
aGlzLTEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjU1MzFmNTc1NjJmMjg2OGVlYWQzOWZjZDY2ZWU1MDc4YmFj
ZWQxYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMtMS5qcwpAQCAtMCwwICsxLDE3IEBACit2YXIg
cmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1l
c3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdl
ICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsg
IiciOworICB9Cit9OworCitmdW5jdGlvbiBEb2cobmFtZSkgeworICB0aGlzLm5hbWUgPSBuYW1l
OworICB0aGlzLmdldE5hbWUgPSAoKSA9PiBldmFsKCJ0aGlzLm5hbWUiKTsKKyAgdGhpcy5nZXRO
YW1lSGFyZCA9ICgpID0+IGV2YWwoIigoKSA9PiB0aGlzLm5hbWUpKCkiKTsKK30KKwordmFyIGQg
PSBuZXcgRG9nKCJNYXgiKTsKK3Rlc3RDYXNlKGQuZ2V0TmFtZSgpLCBkLm5hbWUsICJFcnJvcjog
dGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9u
ICMxIik7Cit0ZXN0Q2FzZShkLmdldE5hbWVIYXJkKCksIGQubmFtZSwgIkVycm9yOiB0aGlzIGlz
IG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzIiKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5j
dGlvbi1sZXhpY2FsLXRoaXMtMi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMtMi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45OGI1M2IyOThi
YmIwYjUzZTQwNzFjOTk3ZDgxMjM1MTFhZjYzOWQ5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtdGhpcy0y
LmpzCkBAIC0wLDAgKzEsMzMgQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5j
dGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBl
Y3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsg
IicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBhZk9iakxleEJp
bmQyID0gZnVuY3Rpb24gKCkgeworICB0aGlzLmZ1bmMgPSAoKSA9PiB0aGlzOworfTsKKwordmFy
IGFmT2JqTGV4QmluZDJJbnN0YW5jZSA9IG5ldyBhZk9iakxleEJpbmQyKCk7CisKK3Rlc3RDYXNl
KGFmT2JqTGV4QmluZDJJbnN0YW5jZS5mdW5jKCkgPT09IGFmT2JqTGV4QmluZDJJbnN0YW5jZSwg
dHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gIzIiKTsKKwordmFyIG9iaiA9IHsKKyAgbWV0aG9kOiBmdW5jdGlvbiAo
KSB7CisgICAgcmV0dXJuICgpID0+IHRoaXM7CisgIH0KK307CisKK3Rlc3RDYXNlKG9iai5tZXRo
b2QoKSgpID09PSBvYmosIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRl
ZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMzIik7CisKK3ZhciBmYWtlID0ge3N0ZWFs
OiBvYmoubWV0aG9kKCl9OwordGVzdENhc2UoZmFrZS5zdGVhbCgpID09PSBvYmosIHRydWUsICJF
cnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1
bmN0aW9uICM0Iik7CisKKwordmFyIHJlYWwgPSB7Ym9ycm93OiBvYmoubWV0aG9kfTsKK3Rlc3RD
YXNlKHJlYWwuYm9ycm93KCkoKSA9PT0gcmVhbCwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBs
ZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzUiKTsKK3Rlc3RD
YXNlKHJlYWwuYm9ycm93KCkoKSA9PT0gcmVhbCwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBs
ZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzYiKTsKK3Rlc3RD
YXNlKHJlYWwuYm9ycm93KCkoKSA9PT0gcmVhbCwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBs
ZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzciKTsKK3Rlc3RD
YXNlKHJlYWwuYm9ycm93KCkoKSA9PT0gcmVhbCwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBs
ZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzgiKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1v
dGhlcnMuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tb3RoZXJzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlYmExMWYzMDIyZTM0YTgwMDBhNTcwMDc2ZGIxYTU1
YTRhMzJiMjEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tb3RoZXJzLmpzCkBAIC0wLDAgKzEsMTMgQEAKK3ZhciB0ZXN0
Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1
YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsg
ZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFy
IHNpbXBsZUFycm93RnVuY3Rpb24gPSAoKSA9PiB7fTsKKwordGVzdENhc2UoT2JqZWN0LmdldFBy
b3RvdHlwZU9mKHNpbXBsZUFycm93RnVuY3Rpb24pLCBGdW5jdGlvbi5wcm90b3R5cGUsICJFcnJv
cjogTm90IGNvcnJlY3QgZ2V0UHJvdG90eXBlT2YgdmFsdWUgZm9yIGFycm93IGZ1bmN0aW9uIik7
CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93RnVuY3Rpb24gaW5zdGFuY2VvZiBGdW5jdGlvbiwgdHJ1
ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIGluc3RhbmNlb2YgbWV0aG9kIGZvciBh
cnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uLmNvbnN0cnVj
dG9yID09IEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgY29u
c3RydWN0b3IgbWV0aG9kIG9mIGFycm93IGZ1bmN0aW9uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTEuanMgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTEu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMDdhMWYwYTQ5Y2IxNjg2M2M1OTIxMzYxZjBhZGIxZTE0ZWM5YjY1YQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJy
b3dmdW5jdGlvbi1ydW4tMTAtMS5qcwpAQCAtMCwwICsxLDI0IEBACit2YXIgdGVzdENhc2UgPSBm
dW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBl
eHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVk
ICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK2Z1bmN0aW9uIHJ1
bihjb3VudCkgeworICB2YXIgcmVzdWx0ID0gdHJ1ZTsKKyAgZm9yKHZhciBpPTA7IGk8Y291bnQ7
IGkrKykgeworICAgIHZhciBPYmogPSBmdW5jdGlvbiAobmFtZSkgeworICAgICAgdGhpcy5uYW1l
ID0gbmFtZTsKKyAgICAgIHRoaXMuZ2V0TmFtZSA9ICgpID0+IHRoaXMubmFtZTsKKyAgICB9Owor
CisgICAgdmFyIG9iaiA9IG5ldyBPYmooIkl0ZW0iICsgaSk7CisgICAgaWYgKG9iai5uYW1lICE9
PSBvYmouZ2V0TmFtZSgpKSB7CisgICAgICByZXN1bHQgPSBmYWxzZTsKKyAgICB9CisgIH0KKyAg
cmV0dXJuIHJlc3VsdDsKK30KKwordGVzdENhc2UocnVuKDEpLCB0cnVlLCAiRXJyb3I6IEVycm9y
OiBkdXJpbmcgZXhlY3V0aW9uIG9mIGFycm93IGZ1bmN0aW9uIG9uZSB0aW1lIik7Cit0ZXN0Q2Fz
ZShydW4oMTApLCB0cnVlLCAiRXJyb3I6IEVycm9yOiBkdXJpbmcgZXhlY3V0aW9uIG9mIGFycm93
IGZ1bmN0aW9uIDEwIHRpbWVzIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTIuanMgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTIuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NWRkY2RiM2M3MGExYjI3YzNkYmI1MjM4MDk1NWY1MzUzZDc2NzQyNQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4t
MTAtMi5qcwpAQCAtMCwwICsxLDI1IEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFs
LCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAg
IHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMg
JyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK2Z1bmN0aW9uIHJ1bihjb3VudCkgeworICB2
YXIgcmVzdWx0ID0gdHJ1ZTsKKyAgZm9yKHZhciBpPTA7IGk8Y291bnQ7IGkrKykgeworICAgIHZh
ciBPYmogPSBmdW5jdGlvbiAobmFtZSkgeworICAgICAgdGhpcy5uYW1lID0gbmFtZTsKKyAgICAg
IHRoaXMuZ2V0TmFtZSA9ICgpID0+IGV2YWwoInRoaXMubmFtZSIpOzsKKyAgICB9OworCisKKyAg
ICB2YXIgb2JqID0gbmV3IE9iaigiSXRlbSIgKyBpKTsKKyAgICBpZiAob2JqLm5hbWUgIT09IG9i
ai5nZXROYW1lKCkpIHsKKyAgICAgIHJlc3VsdCA9IGZhbHNlOworICAgIH0KKyAgfQorICByZXR1
cm4gcmVzdWx0OworfQorCit0ZXN0Q2FzZShydW4oMSksIHRydWUsICJFcnJvcjogZHVyaW5nIGV4
ZWN1dGlvbiBvZiBhcnJvdyBmdW5jdGlvbiBvbmUgdGltZSIpOwordGVzdENhc2UocnVuKDEwKSwg
dHJ1ZSwgIkVycm9yOiBkdXJpbmcgZXhlY3V0aW9uIG9mIGFycm93IGZ1bmN0aW9uIDEwIHRpbWVz
Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93
ZnVuY3Rpb24tcnVuLTEwMDAwLTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwMDAwLTEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGU1ZjZiYzg2YmQz
MTQ1MWIwMWNhMjdkMGI5NzIwYjU3ZThkNjA1MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAwMDAtMS5qcwpA
QCAtMCwwICsxLDIzIEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3Rl
ZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1l
c3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1
YWwgKyAiJyI7CisgIH0KK307CisKK2Z1bmN0aW9uIHJ1bihjb3VudCkgeworICB2YXIgcmVzdWx0
ID0gdHJ1ZTsKKyAgZm9yKHZhciBpPTA7IGk8Y291bnQ7IGkrKykgeworICAgIHZhciBPYmogPSBm
dW5jdGlvbiAobmFtZSkgeworICAgICAgdGhpcy5uYW1lID0gbmFtZTsKKyAgICAgIHRoaXMuZ2V0
TmFtZSA9ICgpID0+IHRoaXMubmFtZTsKKyAgICB9OworCisgICAgdmFyIG9iaiA9IG5ldyBPYmoo
Ikl0ZW0iICsgaSk7CisgICAgaWYgKG9iai5uYW1lICE9PSBvYmouZ2V0TmFtZSgpKSB7CisgICAg
ICByZXN1bHQgPSBmYWxzZTsKKyAgICB9CisgIH0KKyAgcmV0dXJuIHJlc3VsdDsKK30KKwordGVz
dENhc2UocnVuKDEwMDAwKSwgdHJ1ZSwgIkVycm9yOiBFcnJvcjogZHVyaW5nIGV4ZWN1dGlvbiBv
ZiBhcnJvdyBmdW5jdGlvbiAxMDAwMCB0aW1lcyIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMDAwMC0yLmpzIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMDAwMC0y
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjk1MzBmMmMxZDVhN2Y1NWNlNDZiOGJlNjk5MDhiNGJjMjFlMDUyN2IK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tcnVuLTEwMDAwLTIuanMKQEAgLTAsMCArMSwyMyBAQAordmFyIHRlc3RDYXNl
ID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAh
PT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBl
Y3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCitmdW5jdGlv
biBydW4oY291bnQpIHsKKyAgdmFyIHJlc3VsdCA9IHRydWU7CisgIGZvcih2YXIgaT0wOyBpPGNv
dW50OyBpKyspIHsKKyAgICB2YXIgT2JqID0gZnVuY3Rpb24gKG5hbWUpIHsKKyAgICAgIHRoaXMu
bmFtZSA9IG5hbWU7CisgICAgICB0aGlzLmdldE5hbWUgPSAoKSA9PiBldmFsKCJ0aGlzLm5hbWUi
KTs7CisgICAgfTsKKworICAgIHZhciBvYmogPSBuZXcgT2JqKCJJdGVtIiArIGkpOworICAgIGlm
IChvYmoubmFtZSAhPT0gb2JqLmdldE5hbWUoKSkgeworICAgICAgcmVzdWx0ID0gZmFsc2U7Cisg
ICAgfQorICB9CisgIHJldHVybiByZXN1bHQ7Cit9CisKK3Rlc3RDYXNlKHJ1bigxMDAwMCksIHRy
dWUsICJFcnJvcjogRXJyb3I6IGR1cmluZyBleGVjdXRpb24gb2YgYXJyb3cgZnVuY3Rpb24gMTAw
MDAgdGltZXMiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi1zeW50YXguanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tc3ludGF4LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhmZTExZDViZWUwZGJk
NTU2NDhhYzQzZGZmY2U0ZTRlMmU5MGUyODgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tc3ludGF4LmpzCkBAIC0wLDAg
KzEsMTE2IEBACit2YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVh
bCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAg
ICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2Fz
ICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgYWYwID0gdiA9PiB2ICsgMTsKK3Rl
c3RDYXNlKGFmMCgxMCksIDExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUg
YXJyb3cgZnVuY3Rpb246IHYgPT4gdiArIDEiKTsKKwordmFyIGFmMSA9ICh2KSA9PiB2ICogMjsK
K3Rlc3RDYXNlKGFmMSgxMCksIDIwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0
aGUgYXJyb3cgZnVuY3Rpb246ICh2KSA9PiB2ICsgMSIpOworCit2YXIgYWYyID0gKCkgPT4gMTAw
MDsKK3Rlc3RDYXNlKGFmMigxMjEyKSwgMTAwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAoKSA9PiAxMDAwIik7CisKK3ZhciBhID0gMTUxOwor
dmFyIGFmMl8xID0gKCkgPT4gYTsKK3Rlc3RDYXNlKGFmMl8xKDEyMSksIGEgLCJFcnJvcjogTm90
IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKCkgPT4gdmFyaWFibGUi
KTsKKwordmFyIGFmMyA9ICh2LCB4KSA9PiB2ICsgeDsKK3Rlc3RDYXNlKGFmMygxMSwxMiksIDIz
ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICh4
LCB5KSA9PiB4ICsgeSIpOworCit2YXIgYWZ3cmFwcGVyID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRl
cikgeyByZXR1cm4gY2wocGFyYW10ZXIpOyB9OworCityZXN1bHQgPSBhZndyYXBwZXIoeCA9PiAx
MjM0KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIzNCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYykiKTsKKworcmVz
dWx0ID0gYWZ3cmFwcGVyKHggPT4gMTIzNCwgMjM0NSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMzQg
LCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBw
YXJhbXRlcjogZih4ID0+IGMsIHkpIik7CisKK3Jlc3VsdCA9IGFmd3JhcHBlcih4ID0+IDEyMSAr
IDIzMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDM1MyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYzEgKyBjMikiKTsK
KworcmVzdWx0ID0gYWZ3cmFwcGVyKHggPT4gMTIzICsgMzIxLCA5OTk5KTsKK3Rlc3RDYXNlKHJl
c3VsdCwgNDQ0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjMSArIGMyLCB5KSIpOworCityZXN1bHQgPSBhZndy
YXBwZXIoeCA9PiB4ICsgMTIsIDIxKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzMgLCJFcnJvcjogTm90
IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4
ID0+IHggKyBjMSwgeSkiKTsKKworcmVzdWx0ID0gYWZ3cmFwcGVyKCh4KSA9PiB4ICsgMjEsIDMy
KTsKK3Rlc3RDYXNlKHJlc3VsdCwgNTMsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoeCkgPT4gYzEgKyBjMiwgeSkiKTsK
KworcmVzdWx0ID0gYWZ3cmFwcGVyKCgpID0+IDEwMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMCwg
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBh
cmFtdGVyOiBmKCgpID0+IGMpIik7CisKK3ZhciBleHRfdmFsdWUgPSAxMjE7CityZXN1bHQgPSBh
ZndyYXBwZXIoKCkgPT4gZXh0X3ZhbHVlKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIxLCAiRXJyb3I6
IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6
IGYoKCkgPT4gdikiKTsKKworcmVzdWx0ID0gYWZ3cmFwcGVyKCgpID0+IGV4dF92YWx1ZSAqIDEw
KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIxMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24g
b2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IHYqeCkiKTsKKworcmVz
dWx0ID0gYWZ3cmFwcGVyKCh4KSA9PiBleHRfdmFsdWUgKiB4LCAzMCk7Cit0ZXN0Q2FzZShyZXN1
bHQsIDMwKmV4dF92YWx1ZSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFy
cm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCh4KSA9PiB2KngsIHkpIik7CisKK3Jlc3VsdCA9
IGFmd3JhcHBlcigoKSA9PiAxMDAsIDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwICwiRXJyb3I6
IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6
IGYoKCkgPT4gYzEsIHkpIik7CisKKyByZXN1bHQgPSBhZndyYXBwZXIoKCkgPT4gMTAwICsgMTAp
OwordGVzdENhc2UocmVzdWx0LCAxMTAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjMSArIGMyKSIpOworCity
ZXN1bHQgPSBhZndyYXBwZXIoKCkgPT4gMTAwICsgMTEsIDEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwg
MTExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24g
YXMgcGFyYW10ZXI6IGYoKCkgPT4gYzEgKyBjMiwgeSkiKTsKKwordmFyIGFycm93RnVuY3Rpb240
ID0gdiA9PiB2ICsgMSwgeHl6MSA9IDEwMTAxOworcmVzdWx0ID0gYXJyb3dGdW5jdGlvbjQoMTAx
MSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMTIgLCJFcnJvcjogTm90IGNvcnJlY3QgcGFyc2luZyBv
ZiB0aCBhcnJvdyBmdW5jdGlvbiBpbnNpZGUgb2YgdGhlIGxpc3Qgb2YgdmFyczogdmFyIGFmID0g
dj0+IHYgKyAxOyB6eGM9YzsiKTsKK3Rlc3RDYXNlKHh5ejEsIDEwMTAxICwiRXJyb3I6IE5vdCBj
b3JyZWN0IHBhcnNpbmcgb2YgdGggYXJyb3cgZnVuY3Rpb24gaW5zaWRlIG9mIHRoZSBsaXN0IG9m
IHZhcnM6IHZhciBhZiA9IHY9PiB2ICsgMTsgenhjPWM7Iik7CisKK3ZhciBhZndyYXBwZXIyID0g
ZnVuY3Rpb24gKGNsLCBwYXJhbXRlcjEsIHBhcmFtdGVyMikgeyByZXR1cm4gY2wocGFyYW10ZXIx
LCBwYXJhbXRlcjIpOyB9OworcmVzdWx0ID0gYWZ3cmFwcGVyMigoeCwgeSkgPT4geCArIHksIDEy
ICw0Myk7Cit0ZXN0Q2FzZShyZXN1bHQsIDU1ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW1ldGVyOiBmKCh4LCB5KSA9PiB4ICsgeSwg
YzEsIGMyKSIpOworCit2YXIgYWZBcnIwID0gW3YgPT4gdiAqIDEwXTsKK3Jlc3VsdCA9IGFmQXJy
MFswXSgxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVj
dXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFt2PT52KjEwXSIp
OworCit2YXIgYWZBcnIxID0gW3YgPT4gdiArIDEsIHYgPT4gdiArIDJdOworcmVzdWx0ID0gYWZB
cnIxWzBdKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhl
Y3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbdiA9PiB2ICsg
MSwgIHYgPT4gdiArIDJdIik7CityZXN1bHQgPSBhZkFycjFbMV0oMTEpOwordGVzdENhc2UocmVz
dWx0LCAxMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0
aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFt2ID0+IHYgKyAxLCAgdiA9PiB2ICsgMl0iKTsKKwordmFy
IGFmQXJyMiA9IFsodikgPT4gdiArIDEsICh2KSA9PiB2ICsgMl07CityZXN1bHQgPSBhZkFycjJb
MF0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMiAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsodikgPT4gdiArIDEs
ICAodikgPT4gdiArIDJdIik7CityZXN1bHQgPSBhZkFycjJbMV0oMTEpOwordGVzdENhc2UocmVz
dWx0LCAxMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0
aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsodikgPT4gdiArIDEsICAodikgPT4gdiArIDJdIik7CisK
K3ZhciBhZkFycjMgPSBbKCkgPT4gMTAxLCAoKSA9PiAxMjMyM107CityZXN1bHQgPSBhZkFycjNb
MF0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDEsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKCkgPT4gYzEsICAo
KSA9PiBjMl0iKTsKK3Jlc3VsdCA9IGFmQXJyM1sxXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEy
MzIzLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24g
YXMgaXRlbSBpbiBhcnJheTogWygpID0+IGMxLCAgKCkgPT4gYzJdIik7CisKK3ZhciBhZk9iaiA9
IHtmdW5jIDogeSA9PiB5ICsgMTJ9OworcmVzdWx0ID0gYWZPYmouZnVuYygxMSk7Cit0ZXN0Q2Fz
ZShyZXN1bHQsIDIzICwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIHByb3BlcnR5OiB7ZnVuYyA6IHkgPT4geSArIDEyIH0iKTsKKwordmFyIGFm
QmxvY2swID0gKCkgPT4geyByZXR1cm4gMTAwMDsgfTsKK3Jlc3VsdCA9IGFmQmxvY2swKDExKTsK
K3Rlc3RDYXNlKHJlc3VsdCwgMTAwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogKCkgPT4geyByZXR1cm4gMTAw
MDsgfSIpOworCit2YXIgYWZCbG9jazEgPSB2ID0+IHsgdmFyIGludHZhbCA9IDEwMDsgcmV0dXJu
IHYgKiBpbnR2YWw7IH07CityZXN1bHQgPSBhZkJsb2NrMSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQs
IDExMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlv
biB3aXRoIGJvZHkgYXMgYmxvY2s6IHggPT4geyB2YXIgdj0xMDAwOyByZXR1cm4gdip4OyB9Iik7
CisKK3ZhciBhZkJsb2NrMiA9ICh2KSA9PiB7IHZhciBpbnQgPSAyMDA7IHJldHVybiB2ICogaW50
OyB9OworcmVzdWx0ID0gYWZCbG9jazIoMTEpOwordGVzdENhc2UocmVzdWx0LCAyMjAwICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5
IGFzIGJsb2NrOiAoeCkgPT4geyB2YXIgdj0xMDAwOyByZXR1cm4gdip4OyB9Iik7CisKK3ZhciBh
ZkJsb2NrMyA9ICh2LCB4KSA9PiB7IHZhciByZXN1bHQgPSB4ICogdjsgcmV0dXJuIHJlc3VsdDsg
fTsKK3Jlc3VsdCA9IGFmQmxvY2szKDExLCAxMjIyMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDEzNDQ0
MiAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdp
dGggYm9keSBhcyBibG9jazogKHYsIHgpID0+IHsgdmFyIHJlc3VsdCA9IHggKiB2OyByZXR1cm4g
cmVzdWx0OyB9Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tdGR6LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9hcnJvd2Z1bmN0aW9uLXRkei5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOWQzNWNkZWE0YmFmNjY3NDMx
YWY4YWJlOGRhZGYyMmQwNGI5MGUxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXRkei5qcwpAQCAtMCwwICsxLDI0IEBA
Cit2YXIgQSA9IGNsYXNzIEEgeyB9OwordmFyIEIgPSBjbGFzcyBCIGV4dGVuZHMgQSB7CisgIGNv
bnN0cnVjdG9yKGFjY2Vzc1RoaXNCZWZvcmVTdXBlcikgeworICAgIGlmIChhY2Nlc3NUaGlzQmVm
b3JlU3VwZXIpIHsKKyAgICAgIHZhciBmID0gKCkgPT4gdGhpczsKKyAgICAgIHN1cGVyKCk7Cisg
ICAgfSBlbHNlIHsKKyAgICAgIHN1cGVyKCk7CisgICAgfQorICB9Cit9OworCit2YXIgZXhjZXB0
aW9uID0gbnVsbDsKK3RyeSB7CisgICAgIG5ldyBCKHRydWUpOworfSBjYXRjaCAoZSkgeworICAg
IGV4Y2VwdGlvbiA9IGU7CisgICAgaWYgKCEoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSkK
KyAgICAgICAgdGhyb3cgIkV4Y2VwdGlvbiB0aHJvd24gd2FzIG5vdCBhIHJlZmVyZW5jZSBlcnJv
ciI7Cit9CitpZiAoIWV4Y2VwdGlvbikKKyAgICB0aHJvdyAiRXhjZXB0aW9uIG5vdCB0aHJvd24g
Zm9yIGFuIHVuaXRpYWxpemVkIHRoaXMgYXQgaXRlcmF0aW9uIjsKKwordmFyIGUgPSBuZXcgQihm
YWxzZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tdHlwZW9mLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9hcnJvd2Z1bmN0aW9uLXR5cGVvZi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZjJhN2Y1NDQ3NmFiYTljMjg5
MjNjMzVmMWRiM2M0MzI3YWM5NDY5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXR5cGVvZi5qcwpAQCAtMCwwICsxLDIx
IEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkg
eworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBF
eHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7Cisg
IH0KK307CisKK3ZhciBhZjEgPSAoKSA9PiB7fTsKK3ZhciBhZjIgPSAoYSkgPT4ge2EgKyAxfTsK
KwordGVzdENhc2UodHlwZW9mIGFmMSwgImZ1bmN0aW9uIiwgIkVycm9yOiBOb3QgY29ycmVjdCB0
eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMSIpOwordGVzdENhc2UodHlwZW9mIGFmMS5wcm90
b3R5cGUgPT09ICd1bmRlZmluZWQnLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBm
b3IgcHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9uICMxIik7CisKK3Rlc3RDYXNlKHR5cGVvZiBh
ZjIsICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNvcnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb24gIzIiKTsKK3Rlc3RDYXNlKHR5cGVvZiBhZjIucHJvdG90eXBlID09PSAndW5kZWZpbmVk
JywgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJv
dyBmdW5jdGlvbiAjMiIpOworCit0ZXN0Q2FzZSh0eXBlb2YgKCgpPT57fSksICJmdW5jdGlvbiIs
ICJFcnJvcjogTm90IGNvcnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzMiKTsKK3Rl
c3RDYXNlKHR5cGVvZiAoKCk9Pnt9KS5wcm90b3R5cGUgPT09ICd1bmRlZmluZWQnLCB0cnVlLCAi
RXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9u
ICMzIik7CisKKwordGVzdENhc2UodHlwZW9mICgoYikgPT4ge2IgKyAxfSksICJmdW5jdGlvbiIs
ICJFcnJvcjogTm90IGNvcnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzQiKTsKK3Rl
c3RDYXNlKHR5cGVvZiAoKGIpID0+IHtiICsgMX0pLnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5lZCcs
IHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBwcm90b3R5cGUgb2YgYXJyb3cg
ZnVuY3Rpb24gIzQiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggZmM5MGY2MTE1NjIzMWE0MWNhOTEzN2YxN2M3
OTU1ZThkMzczYjBlYS4uMGM4ODQwZjZhYjUxODVmODM1NGI3MDYwM2UwMjVmMjVhMmE3OWY0YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKQEAgLTQ0LDYgKzQ0LDcgQEAgRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORyA9
IEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkc7CiBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVf
Q0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfRVM2
X0NMQVNTX1NZTlRBWCA9IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYOwogRU5BQkxFX0VTNl9URU1Q
TEFURV9MSVRFUkFMX1NZTlRBWCA9IEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVg7
CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CkBA
IC0yMTUsNCArMjE2LDQgQEAgRU5BQkxFX0pJVCA9IEVOQUJMRV9KSVQ7CiAKIEVOQUJMRV9TQVRV
UkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1F
VElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1ND
Uk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1F
TlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQo
RU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxF
X0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkg
JChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9D
U1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsp
ICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9O
KSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAk
KEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFC
TEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VS
U09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVf
REFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RB
VEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVW
SUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFC
TEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxF
X0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVM
TFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRF
RCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9U
SFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Vf
SU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Ip
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9X
RUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAk
KEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVf
TUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9F
TEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVO
QUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VS
UkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQo
RU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlU
WV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01Q
TEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJ
QV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05B
UCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5B
QkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9D
T05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9U
RU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJ
TkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJM
RV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RF
X0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVf
V0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMp
ICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9Y
SFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklU
KSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BS
RVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9S
TVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURf
T1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFD
SE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5W
QVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RykgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9FUzZfQ0xBU1Nf
U1lOVEFYKSAkKEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVgpICQoRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElP
TlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9D
U1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVf
Q1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NT
X1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVY
VCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklM
SVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9T
VVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVS
X0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xF
VkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
KSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykg
JChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMp
ICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAk
KEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFU
SE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJD
RSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChF
TkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdB
VE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lO
VEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAk
KEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFV
RVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5B
QkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQo
RU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxF
X1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVf
Q1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAk
KEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxF
TUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQo
RU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJB
Q0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkp
ICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9X
RUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQp
ICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVf
U0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05f
TU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggNmNmOWQ5NjIxNGY3ZWYyMTNkYmU0MmI0MmYxOTdkODBjNTk0OTEwNi4uM2Yy
MDA1ZTJjOTFkMzg4OTY0MDkyZDEyZDdjOTljNjJkN2VmNzk1ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTYwMSw5ICsxNjAx
LDkgQEAKIAkJNDQzMTFDRDkxMkU0RTI1NzAwMEE4RDE5IC8qIERPTURvY3VtZW50RnJhZ21lbnRQ
cml2YXRlLmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0NDMxMUNENDEyRTRFMjJEMDAwQThEMTkgLyogRE9NRG9jdW1lbnRGcmFn
bWVudFByaXZhdGUuaCAqLzsgfTsKIAkJNDQzMTFGODIxMkU0RTY2QzAwMEE4RDE5IC8qIERPTURv
Y3VtZW50RnJhZ21lbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODVFNzExNDUwQUM1RDUzNDAwNTMyNzBGIC8qIERPTURvY3VtZW50RnJh
Z21lbnRJbnRlcm5hbC5oICovOyB9OwogCQk0NDM4MTdGRjFBOTFCMkY4MDA2RTA0RjIgLyogQ29y
ZU1lZGlhU29mdExpbmsuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDQzODE3RkQxQTkxQjJGODAwNkUwNEYyIC8qIENvcmVNZWRpYVNvZnRMaW5rLmNw
cCAqLzsgfTsKLQkJNDQzOTE3RkYxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5r
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzOTE3
RkQxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tICovOyB9OwogCQk0NDM4
MTgwMDFBOTFCMkY4MDA2RTA0RjIgLyogQ29yZU1lZGlhU29mdExpbmsuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0MzgxN0ZFMUE5MUIyRjgwMDZFMDRG
MiAvKiBDb3JlTWVkaWFTb2Z0TGluay5oICovOyB9OwotCQk0NDM5MTgwMDFBOTFCMkY4MDA2RTA0
RjIgLyogUXVpY2tMb29rU29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQ0MzkxN0ZFMUE5MUIyRjgwMDZFMDRGMiAvKiBRdWlja0xvb2tTb2Z0
TGluay5oICovOyB9OworCQk0NDM5MTdGRjFBOTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9v
a1NvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDQzOTE3RkQxQTkxQjJGODAwNkUwNEYyIC8qIGlvcy9RdWlja0xvb2tTb2Z0TGluay5tbSAq
LzsgfTsKKwkJNDQzOTE4MDAxQTkxQjJGODAwNkUwNEYyIC8qIGlvcy9RdWlja0xvb2tTb2Z0TGlu
ay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzOTE3
RkUxQTkxQjJGODAwNkUwNEYyIC8qIGlvcy9RdWlja0xvb2tTb2Z0TGluay5oICovOyB9OwogCQk0
NDNGMDQyNzBFNzVDOEZCMDA3RTU0MDcgLyogTmV0d29ya1N0YXRlTm90aWZpZXJJT1MubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDNGMDQyNjBFNzVD
OEZCMDA3RTU0MDcgLyogTmV0d29ya1N0YXRlTm90aWZpZXJJT1MubW0gKi87IH07CiAJCTQ0NDlB
NDA1MUE5NjRCMDAwMEI2NEFENSAvKiBDb3JlTWVkaWFTUEkuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0NDlBNDA0MUE5NjRCMDAwMEI2NEFENSAvKiBD
b3JlTWVkaWFTUEkuaCAqLzsgfTsKIAkJNDQ0RDRFMjMwRjcwOEIyRTAwMzE1OEUwIC8qIFdlYkNv
cmVVUkxSZXNwb25zZUlPUy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQ0NEQ0RTIxMEY3MDhCMkUwMDMxNThFMCAvKiBXZWJDb3JlVVJMUmVzcG9uc2VJ
T1MubW0gKi87IH07CkBAIC04NzY5LDkgKzg3NjksOSBAQAogCQk0NDMxMUNENDEyRTRFMjJEMDAw
QThEMTkgLyogRE9NRG9jdW1lbnRGcmFnbWVudFByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRE9NRG9jdW1lbnRGcmFnbWVudFByaXZhdGUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDQzMTFDRDUxMkU0RTIyRDAwMEE4RDE5IC8qIERPTURvY3VtZW50
UHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01Eb2N1bWVudFBy
aXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQzODE3RkQxQTkxQjJGODAw
NkUwNEYyIC8qIENvcmVNZWRpYVNvZnRMaW5rLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IENvcmVNZWRpYVNvZnRMaW5rLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJNDQzOTE3RkQxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gaW9zL1F1aWNrTG9va1Nv
ZnRMaW5rLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDM4MTdGRTFBOTFCMkY4
MDA2RTA0RjIgLyogQ29yZU1lZGlhU29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQ29yZU1lZGlhU29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJNDQzOTE3RkUxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGlvcy9RdWlja0xvb2tTb2Z0TGluay5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NDM5MTdGRDFBOTFCMkY4MDA2RTA0RjIgLyogaW9z
L1F1aWNrTG9va1NvZnRMaW5rLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk0NDM5MTdGRTFBOTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGlvcy9RdWlja0xvb2tTb2Z0TGluay5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDNGMDQyNjBFNzVDOEZCMDA3RTU0MDcg
LyogTmV0d29ya1N0YXRlTm90aWZpZXJJT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBOZXR3b3JrU3RhdGVOb3RpZmllcklPUy5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDQ0OUE0MDQxQTk2NEIwMDAwQjY0QUQ1IC8qIENvcmVNZWRpYVNQSS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb3JlTWVkaWFTUEkuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQ0RDRFMjEwRjcwOEIyRTAwMzE1OEUwIC8qIFdlYkNv
cmVVUkxSZXNwb25zZUlPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IFdlYkNvcmVVUkxSZXNwb25zZUlPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTE4ODU3LDggKzE4ODU3LDggQEAKIAkJCQlDNTI3OEIwQjE3RjIxMkVBMDAzQTI5OTggLyog
UGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tICovLAogCQkJCUU0NTM5MDMyMEVBRkQ2MzcwMDM2OTVD
OCAvKiBQbGF0Zm9ybVNjcmVlbklPUy5tbSAqLywKIAkJCQlBQUUzNzU1RDE3NDI5QkNDMDA2MjAw
QzIgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcklPUy5tbSAqLywKLQkJCQk0NDM5MTdGRTFB
OTFCMkY4MDA2RTA0RjIgLyogUXVpY2tMb29rU29mdExpbmsuaCAqLywKLQkJCQk0NDM5MTdGRDFB
OTFCMkY4MDA2RTA0RjIgLyogUXVpY2tMb29rU29mdExpbmsubW0gKi8sCisJCQkJNDQzOTE3RkUx
QTkxQjJGODAwNkUwNEYyIC8qIGlvcy9RdWlja0xvb2tTb2Z0TGluay5oICovLAorCQkJCTQ0Mzkx
N0ZEMUE5MUIyRjgwMDZFMDRGMiAvKiBpb3MvUXVpY2tMb29rU29mdExpbmsubW0gKi8sCiAJCQkJ
Q0RGQzM2MDExOENBNjE2MzAwMjZFNTZGIC8qIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5oICov
LAogCQkJCUNERkMzNjAyMThDQTYxNjMwMDI2RTU2RiAvKiBSZW1vdGVDb21tYW5kTGlzdGVuZXJJ
T1MubW0gKi8sCiAJCQkJNDRDMzYzRUUwRkFBN0JCMzAwOTdGOENDIC8qIFJ1bnRpbWVBcHBsaWNh
dGlvbkNoZWNrc0lPUy5oICovLApAQCAtMjYwNjIsNyArMjYwNjIsNyBAQAogCQkJCTU1MEEwQkNB
MDg1RjYwMzkwMDczNTNENiAvKiBRdWFsaWZpZWROYW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQlD
RTEyNTIzRDFBMTY3NkNEMDA4NjQ0ODAgLyogUXVhcnR6Q29yZVNQSS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNDQyQUY3QTkxMDJDRERFQTAwOEZENEQzIC8qIFF1aWNrTG9vay5oIGluIEhlYWRlcnMg
Ki8sCi0JCQkJNDQzOTE4MDAxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLmgg
aW4gSGVhZGVycyAqLywKKwkJCQk0NDM5MTgwMDFBOTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNr
TG9va1NvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTQ5Nzg2RjFBQkFGMzM4MDBDRUY3
RTQgLyogQ29udGVudEZpbHRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0UxMjUyMzkxQTE2NkZB
MDAwODY0NDgwIC8qIFF1aWNrTG9va1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTEwREJGNDcx
OEY5MjMxNzAwMEQ3MEM2IC8qIFF1aWNrTG9va0hhbmRsZUNsaWVudC5oIGluIEhlYWRlcnMgKi8s
CkBAIC0yOTU2Myw3ICsyOTU2Myw3IEBACiAJCQkJQ0RFRTM5MzcxNzk3NDI1OTAwMUQ3NTgwIC8q
IFB1YmxpY1VSTE1hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTUwQTBCQzkwODVGNjAz
OTAwNzM1M0Q2IC8qIFF1YWxpZmllZE5hbWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDQyQUY3
QUExMDJDRERFQTAwOEZENEQzIC8qIFF1aWNrTG9vay5tbSBpbiBTb3VyY2VzICovLAotCQkJCTQ0
MzkxN0ZGMUE5MUIyRjgwMDZFMDRGMiAvKiBRdWlja0xvb2tTb2Z0TGluay5tbSBpbiBTb3VyY2Vz
ICovLAorCQkJCTQ0MzkxN0ZGMUE5MUIyRjgwMDZFMDRGMiAvKiBpb3MvUXVpY2tMb29rU29mdExp
bmsubW0gaW4gU291cmNlcyAqLywKIAkJCQkwNzJBRTFFNjE4M0MwNzQxMDAwQTU5ODggLyogUXVp
Y2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQubW0gaW4gU291cmNlcyAqLywKIAkJCQkzNzlFMzcxNjEz
NzM2QTY2MDBCOUU5MTkgLyogUXVvdGVkUHJpbnRhYmxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTVBNTc0RjI4MTMxREI5NkQwMDQ3MUI4OCAvKiBRdW90ZXNEYXRhLmNwcCBpbiBTb3VyY2VzICov
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwppbmRleCBmYzkwZjYxMTU2MjMxYTQxY2E5MTM3ZjE3Yzc5NTVlOGQz
NzNiMGVhLi4wYzg4NDBmNmFiNTE4NWY4MzU0YjcwNjAzZTAyNWYyNWEyYTc5ZjRhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwpAQCAtNDQsNiArNDQsNyBAQCBFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HID0g
RU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORzsKIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9D
QU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9FUzZf
Q0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CiBFTkFCTEVfRVM2X1RFTVBM
QVRFX0xJVEVSQUxfU1lOVEFYID0gRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWDsK
IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKQEAg
LTIxNSw0ICsyMTYsNCBAQCBFTkFCTEVfSklUID0gRU5BQkxFX0pJVDsKIAogRU5BQkxFX1NBVFVS
QVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVU
SUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NS
T0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVO
VCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChF
TkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
RVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYKSAk
KEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NT
U19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykg
JChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04p
ICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQo
RU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJM
RV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJT
T1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9E
QVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFU
QV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJ
Q0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVf
RklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxM
U0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVE
KSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RI
Uk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9M
UykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9J
Tl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikg
JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lS
RUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5B
QkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dF
Ql9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQo
RU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9N
RURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VM
RU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5B
QkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJS
RU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChF
TkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZ
X0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChF
TkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBM
RVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElB
X1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQ
KSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFC
TEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NP
TlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RF
TVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElO
R19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxF
X1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVf
Q1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9X
RUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykg
JChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hI
Ul9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQp
ICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJF
U0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JN
UykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9P
VkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNI
TUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZB
U19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
KSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0VTNl9DTEFTU19T
WU5UQVgpICQoRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkgJChFTkFCTEVfQ09O
VEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9O
U19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NT
U19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9D
U1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVf
Q1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1Nf
U0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhU
KSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJ
VFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NV
UFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJf
SVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVE
X01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVW
RUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkp
ICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVf
R0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAk
KEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykg
JChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lO
UFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlC
QUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVY
VF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lf
Q1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5B
QkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQo
RU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRI
TUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNF
KSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVO
QUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FU
T1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5B
QkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5U
RVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQo
RU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVF
U1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFC
TEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChF
TkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVf
U1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9D
UllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQo
RU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVN
RU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChF
TkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChF
TkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFD
SykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkg
JChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkg
JChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dF
Ql9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkg
JChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9T
QVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9N
T0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVE
ZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKaW5kZXggZmM5MGY2MTE1NjIzMWE0MWNhOTEzN2YxN2M3OTU1ZThkMzcz
YjBlYS4uMGM4ODQwZjZhYjUxODVmODM1NGI3MDYwM2UwMjVmMjVhMmE3OWY0YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
KysrIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25m
aWcKQEAgLTQ0LDYgKzQ0LDcgQEAgRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORyA9IEVOQUJMRV9D
QUNIRV9QQVJUSVRJT05JTkc7CiBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BB
VEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0g
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCA9IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfRVM2X0NMQVNTX1NZ
TlRBWCA9IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYOwogRU5BQkxFX0VTNl9URU1QTEFURV9MSVRF
UkFMX1NZTlRBWCA9IEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVg7CiBFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CkBAIC0yMTUsNCAr
MjE2LDQgQEAgRU5BQkxFX0pJVCA9IEVOQUJMRV9KSVQ7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZ
T1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1G
RUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykg
JChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5B
QkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NB
TlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFT
U19TWU5UQVgpICQoRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkgJChFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFU
SU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxF
X0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJM
RV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFC
TEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9D
U1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19U
RVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lC
SUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJE
X1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNG
RVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNf
TEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9B
UEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFC
TEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5H
KSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VS
UykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BM
QVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1Nf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdB
Q1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQo
RU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8p
ICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9N
QVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09V
UkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAk
KEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJ
R0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQo
RU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BP
SU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMp
ICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JF
UVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChF
TkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkg
JChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFC
TEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRM
RV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIp
ICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9F
TEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkg
JChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19U
UkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJ
QSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExB
WSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxF
X1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9V
VCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJM
RV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElP
Tl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1df
U0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxF
TUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkg
JChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFC
TEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAk
KEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklM
VEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxf
MikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9T
SVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURf
TEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFH
RV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9S
U19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFC
TEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVO
QUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAk
KEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAk
KEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChF
TkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQo
RU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJM
RV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FU
SU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVf
SUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxF
X0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9D
QUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJH
RVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJ
WklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5E
T1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdB
Q1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9M
RVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVO
QUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFC
TEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhU
TUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRF
TlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0sp
ICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9Q
VUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1B
VElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9U
RV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JV
QkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9T
WU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAk
KEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9U
RUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChF
TkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RP
VUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VT
RVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5B
QkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxF
X1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxF
X1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5H
KSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxF
X1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfU0FUVVJBVEVE
X0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UgYi9Tb3VyY2UvY21h
a2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKaW5kZXggZTk1OWZiZjYxZWY4OWRjNjMzYTg1MWMyYThl
NmZmNTgzZmM3NDM5Mi4uYjRjMGU0MDQwYzJmY2Q4OWZiNWM4MWI3ZDlhMzk5OWVhNTMxYzcyZiAx
MDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCisrKyBiL1NvdXJj
ZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQpAQCAtNTksNiArNTksNyBAQCBtYWNybyhXRUJL
SVRfT1BUSU9OX0JFR0lOKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9DU1NfU0hB
UEVTICJUb2dnbGUgQ1NTIFNoYXBlcyBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRf
T1BUSU9OX0RFRklORShFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkgIlRvZ2dsZSBjdXJzb3Igdmlz
aWJpbGl0eSBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShF
TkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSICJUb2dnbGUgQ3VzdG9tIFNjaGVtZSBIYW5kbGVy
IHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9F
UzZfQVJST1dGVU5DVElPTl9TWU5UQVggIlRvZ2dsZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4
IHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVCAiVG9nZ2xlIGRhc2hib2FyZCBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJL
SVRfT1BUSU9OX0RFRklORShFTkFCTEVfREFUQUNVRV9WQUxVRSAiVG9nZ2xlIGRhdGFjdWUgdmFs
dWUgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQgIlRvZ2dsZSBIVE1MNSBkYXRhbGlzdCBzdXBwb3J0IiBQUklWQVRF
IE9GRikKQEAgLTE2OCw3ICsxNjksNiBAQCBtYWNybyhXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAg
IFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9YSFJfVElNRU9VVCAiVG9nZ2xlIFhIUiB0aW1l
b3V0IHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJM
RV9YU0xUICJUb2dnbGUgWFNMVCBzdXBwb3J0IiBQUklWQVRFIE9OKQogICAgIFdFQktJVF9PUFRJ
T05fREVGSU5FKFVTRV9TWVNURU1fTUFMTE9DICJUb2dnbGUgc3lzdGVtIGFsbG9jYXRvciBpbnN0
ZWFkIG9mIFdlYktpdCdzIGN1c3RvbSBhbGxvY2F0b3IiIFBSSVZBVEUgT0ZGKQotCiAgICAgV0VC
S0lUX09QVElPTl9ERVBFTkQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMiBFTkFCTEVfVklERU8p
CiAgICAgV0VCS0lUX09QVElPTl9ERVBFTkQoRU5BQkxFX0RGR19KSVQgRU5BQkxFX0pJVCkKICAg
ICBXRUJLSVRfT1BUSU9OX0RFUEVORChFTkFCTEVfRlRMX05BVElWRV9DQUxMX0lOTElOSU5HIEVO
QUJMRV9GVExfSklUKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1
cmVMaXN0LnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCmluZGV4
IGIwZDVhYTFiM2JjNDQ4ZDZkMjYxMjcwYTVmYjU4MTQwMzQ2NWY1ZjUuLjQwYzExNWUzYjNlNGJh
NDc1MmE3MWQzOGQxZmVhMjI3ZWUyMGQxMjcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cGVybC9GZWF0dXJlTGlzdC5wbQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVh
dHVyZUxpc3QucG0KQEAgLTQ0LDYgKzQ0LDcgQEAgQkVHSU4gewogbXkgKAogICAgICR0aHJlZURU
cmFuc2Zvcm1zU3VwcG9ydCwKICAgICAkYWNjZWxlcmF0ZWQyRENhbnZhc1N1cHBvcnQsCisgICAg
JGFycm93ZnVuY3Rpb25TeW50YXgsCiAgICAgJGF0dGFjaG1lbnRFbGVtZW50U3VwcG9ydCwKICAg
ICAkYmF0dGVyeVN0YXR1c1N1cHBvcnQsCiAgICAgJGNhbnZhc1BhdGhTdXBwb3J0LApAQCAtMTU2
LDkgKzE1NywxMyBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAgeyBvcHRpb24gPT4gImFjY2VsZXJh
dGVkLTJkLWNhbnZhcyIsIGRlc2MgPT4gIlRvZ2dsZSBBY2NlbGVyYXRlZCAyRCBDYW52YXMgc3Vw
cG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMiLCBk
ZWZhdWx0ID0+IGlzR3RrKCksIHZhbHVlID0+IFwkYWNjZWxlcmF0ZWQyRENhbnZhc1N1cHBvcnQg
fSwKIAorICAgIHsgb3B0aW9uID0+ICJhcnJvd2Z1bmN0aW9uLXN5bnRheCIsIGRlc2MgPT4gIlRv
Z2dsZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1cHBvcnQiLAorICAgICAgZGVmaW5lID0+
ICJFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9
PiBcJGFycm93ZnVuY3Rpb25TeW50YXggfSwKKwogICAgIHsgb3B0aW9uID0+ICJhdHRhY2htZW50
LWVsZW1lbnQiLCBkZXNjID0+ICJUb2dnbGUgQXR0YWNobWVudCBFbGVtZW50IHN1cHBvcnQiLAog
ICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UIiwgZGVmYXVsdCA9PiAw
LCB2YWx1ZSA9PiBcJGF0dGFjaG1lbnRFbGVtZW50U3VwcG9ydCB9LAogCisKICAgICB7IG9wdGlv
biA9PiAiYmF0dGVyeS1zdGF0dXMiLCBkZXNjID0+ICJUb2dnbGUgQmF0dGVyeSBTdGF0dXMgc3Vw
cG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9CQVRURVJZX1NUQVRVUyIsIGRlZmF1bHQg
PT4gaXNFZmwoKSwgdmFsdWUgPT4gXCRiYXR0ZXJ5U3RhdHVzU3VwcG9ydCB9LAogCmRpZmYgLS1n
aXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggYmFiZGI3ZDExYzMxMTM0ZWM1MDZmZWEw
NWM3MjEyYTFhZTVhY2Y4Mi4uZDBiMTIzODI4YjRkMTQyNWRjMWM5NGQ2ZDVkZTUzMWY0ZmI1NjY0
NSAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDE1LTA1LTAxICAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgor
CisgICAgICAgIFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIGZlYXR1
cmUgZmxhZyB0byBzd2l0Y2ggb24vb2ZmIGVzNiBhcnJvdyBmdW5jdGlvbiBFTkFCTEVfRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYCisKKyAgICAgICAgICogU291cmNlL2NtYWtlL1dlYktpdEZlYXR1
cmVzLmNtYWtlOgorICAgICAgICAgKiBTb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZToKKwogMjAx
NS0wNC0zMCAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgW0NNYWtlXSBBdXRvbWF0aWNhbGx5IGV4cG9zZSBXVEZfVVNFX0ZPTyB0byB0aGUgYnVpbGQg
d2hlbiBVU0VfRk9PIGlzIGV4cG9zZWQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252204</attachid>
            <date>2015-05-01 17:30:08 -0700</date>
            <delta_ts>2015-05-01 17:42:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150502032854.patch</filename>
            <type>text/plain</type>
            <size>205829</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzNzAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
ZjczMDBjNmM2YzAyYWMwZTA0ZmEwMzg1Y2IwNTM4YmU3NmE0ODM0Li44NjkzYjljYWYwMGNmMDgx
ZWM1MmYzZjJkYWEwMTFmMjliNmYzOWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNjMgQEAKKzIwMTUtMDUtMDEgQWxla3NhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MDg1NQorCisgICAgICAgICAqIHBhcnNlci9QYXJzZXIuaDoKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIHN1cHBvcnQgb2YgRVM2IGFycm93IGZ1
bmN0aW9uLiBDaGFuZ2VzIHdlcmUgbWFkZSBhY2NvcmRpbmcgZm9sbG93aW5nIHNwZWMgaHR0cDov
L3dpa2kuZWNtYXNjcmlwdC5vcmcvZG9rdS5waHA/aWQ9aGFybW9ueTphcnJvd19mdW5jdGlvbl9z
eW50YXgKKyAgICAgICAgSW4gcGF0Y2ggd2VyZSBpbXBsZW1lbnRlZCB0aGUgc2ltcGxlc3QgY2Fz
ZXM6CisgICAgICAgICAgMSBubyBwYXJhbWV0ZXJzICAgICAgICAgICAgICAgICgpID0+IDEwICsg
MjAKKyAgICAgICAgICAyIHNpbmdsZSBwYXJhbWV0ZXIgICAgICAgICAgICAgIHggPT4geCArIDIw
CisgICAgICAgICAgMyBtdWx0aXBsZSBwYXJhbWV0ZXJzICAgICAgKHgsIHkpID0+IHggKyB5Cisg
ICAgICAgICAgNCBhcnJvdyBmdW5jdGlvbiB3aXRoIGJsb2NrICAgICB4ID0+IHsgcmV0dXJuIHgq
MTA7IH0KKyAgICAgICAgICA1IGxleGljYWwgdGhpcyAtIHZhcmlhYmxlIHRoaXMgaXMgcG9pbnQg
dG8gdGhlIHRoaXMgb2YgdGhlIGZ1bmN0aW9uIHdoZXJlIGFycm93IGZ1bmN0aW9uIGlzIGRlY2xh
cmVkCisgICAgICAgICAgNiBObyBjb25zdHJ1Y3RvciAtIHRoZSB1c2luZyBvZiB0aGUgY29tbWFu
ZCBuZXcgZm9yIGFycm93IGZ1bmN0aW9uIGxlYWRzIHRvIHJ1bnRpbWUgZXJyb3IuIAorCisgICAg
ICAgICAgTm90IHlldCBpbXBsZW1lbnRlZDoKKyAgICAgICAgICAxIGxleGljYWwgYmluZCBvZiB0
aGUgYXJndW1lbnRzICYgc3VwZXIKKyAgICAgICAgICAyIEluc2lkZSBhbiBhcnJvdyBmdW5jdGlv
biwgbmV3LnRhcmdldCByZWZlcnMgdG8gdGhlIG5ldy50YXJnZXQgb2YgdGhlIHN1cnJvdW5kaW5n
IG5vbi1hcnJvdyBmdW5jdGlvbi4KKyAgICAgICAgICAzIGFycm93IGZ1bmN0aW9uIGRvZXNuw6LC
gMKZdCBpbmxpbmUgJiBjb21waWxlIGluIERGRyBtb2RlLiAKKworICAgICAgICAgKiBDb25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29y
ZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2o6CisgICAgICAgICogYnl0ZWNvZGUvQnl0
ZWNvZGVMaXN0Lmpzb246CisgICAgICAgICogYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaDoKKyAg
ICAgICAgKEpTQzo6RnVuY3Rvcjo6Y29tcHV0ZVVzZXNGb3JCeXRlY29kZU9mZnNldCk6CisgICAg
ICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpk
dW1wQnl0ZWNvZGUpOgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5o
OgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHA6CisgICAgICAg
IChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24p
OiBhZGRlZAorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFRoaXNOb2RlQnl0
ZWNvZGUpOiBhZGRlZAorICAgICAgICAqIGJ5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgor
ICAgICAgICAoSlNDOjplbWl0Qnl0ZWNvZGU6OmVtaXRCeXRlY29kZSk6IGFkZGVkCisgICAgICAg
IChKU0M6OkFycm93RnVuY0V4cHJOb2RlOjplbWl0Qnl0ZWNvZGUpOiBhZGRlZAorICAgICAgICAq
IGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6CisgICAgICAgIChKU0M6OkJ5dGVDb2RlUGFyc2Vy
OjpwYXJzZUJsb2NrKToKKyAgICAgICAgKiBkZmcvREZHQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAg
ICAgKEpTQzo6Q2FwYWJpbGl0eUxldmVsOjpjYXBhYmlsaXR5TGV2ZWwpOgorICAgICAgICAqIGpp
dC9KSVQuaDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX25ld19hcnJvd19mdW5jX2V4cCk6
IGFkZGVkCisgICAgICAgICogaml0L0pJVElubGluZXMuaDoKKyAgICAgICAgKEpTQzo6SklUOjpj
YWxsT3BlcmF0aW9uKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklULmNwcDoKKyAgICAgICAgKEpT
Qzo6SklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKToKKyAgICAgICAgKiBqaXQvSklUT3Bjb2Rl
cy5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9uZXdfYXJyb3dfZnVuY19leHApOiBh
ZGRlZAorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKEpTQzo6SklU
X09QRVJBVElPTjo6b3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbik6IGFkZGVkCisgICAgICAgICog
aml0L0pJVE9wZXJhdGlvbnMuaDoKKyAgICAgICAgKEpTQzo6SklUX09QRVJBVElPTjo6b3BlcmF0
aW9uTmV3QXJyb3dGdW5jdGlvbik6IGFkZGVkCisgICAgICAgICogbGxpbnQvTExJbnRTbG93UGF0
aHMuY3BwOgorICAgICAgICAoTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX25ld19hcnJv
d19mdW5jX2V4cCk6IGFkZGVkCisgICAgICAgICogbGxpbnQvTExJbnRTbG93UGF0aHMuaDoKKyAg
ICAgICAgKExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHAp
KTogYWRkZWQKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToKKyAgICAg
ICAgKiBkZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6
REZHOjpBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVj
dHMpOgorICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6CisgICAgICAgIChKU0M6
OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAqIGRmZy9ERkdDYXBh
YmlsaXRpZXMuY3BwOgorICAgICAgICAoSlNDOjpERkc6OmNhcGFiaWxpdHlMZXZlbCk6CisgICAg
ICAgICogZGZnL0RGR0Nsb2JiZXJpemUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpjbG9iYmVyaXpl
KToKKyAgICAgICAgKiBkZmcvREZHRG9lc0dDLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpkb2Vz
R0MpOgorICAgICAgICAqIGRmZy9ERkdGaXh1cFBoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpGaXh1cFBoYXNlOjpmaXh1cE5vZGUpOgorICAgICAgICAqIGRmZy9ERkdOb2RlLmg6CisgICAg
ICAgIChKU0M6OkRGRzo6Tm9kZTo6aGFzQ2VsbE9wZXJhbmQpOgorICAgICAgICAqIGRmZy9ERkdO
b2RlVHlwZS5oOgorICAgICAgICAqIGRmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5j
cHA6CisgICAgICAgIChKU0M6OkRGRzo6UHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2U6OnByb3Bh
Z2F0ZSk6CisgICAgICAgICogZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaDoKKyAgICAgICAgKEpTQzo6
REZHOjpzYWZlVG9FeGVjdXRlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuaDoK
KyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y2FsbE9wZXJhdGlvbik6CisgICAg
ICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6
OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVK
SVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgor
ICAgICAgICAqIGRmZy9ERkdTdHJ1Y3R1cmVSZWdpc3RyYXRpb25QaGFzZS5jcHA6CisgICAgICAg
IChKU0M6OkRGRzo6U3RydWN0dXJlUmVnaXN0cmF0aW9uUGhhc2U6OnJ1bik6CisgICAgICAgICog
ZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuY3BwOgorICAgICAgICAqIGZ0bC9GVExBYnN0
cmFjdEhlYXBSZXBvc2l0b3J5Lmg6CisgICAgICAgICogZnRsL0ZUTENhcGFiaWxpdGllcy5jcHA6
CisgICAgICAgIChKU0M6OkZUTDo6Y2FuQ29tcGlsZSk6CisgICAgICAgICogZnRsL0ZUTEludHJp
bnNpY1JlcG9zaXRvcnkuaDoKKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwOgor
ICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlTm9kZSk6CisgICAgICAg
IChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVOZXdBcnJvd0Z1bmN0aW9uKToKKyAg
ICAgICAgKiBwYXJzZXIvQVNUQnVpbGRlci5oOgorICAgICAgICAoSlNDOjpBU1RCdWlsZGVyOjpj
cmVhdGVBcnJvd0Z1bmN0aW9uRXhwcik6CisgICAgICAgICogcGFyc2VyL0xleGVyLmNwcDoKKyAg
ICAgICAgKEpTQzo6TGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24pOgorICAgICAgICAoSlNDOjpM
ZXhlcjxUPjo6bGV4KToKKyAgICAgICAgKiBwYXJzZXIvTGV4ZXIuaDoKKyAgICAgICAgKEpTQzo6
TGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24pOgorICAgICAgICAqIHBhcnNlci9Ob2RlQ29uc3Ry
dWN0b3JzLmg6CisgICAgICAgIChKU0M6OkFycm93RnVuY0V4cHJOb2RlOjpBcnJvd0Z1bmNFeHBy
Tm9kZSk6IGFkZGVkCisgICAgICAgICogcGFyc2VyL05vZGVzLmg6CisgICAgICAgIChKU0M6Ok5v
ZGU6OmlzQXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZAorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNF
eHByTm9kZSk6IGFkZGVkIGNsYXNzCisgICAgICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisgICAg
ICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsZW1lbnRzKToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlc3Npb24pOgorICAg
ICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU291cmNlRWxlbWVudCk6CisgICAgICAgIChKU0M6OlBh
cnNlcjo6cGFyc2VTdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXNzaWdu
bWVudEV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlUHJpbWFyeUV4cHJl
c3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dFeHByZXNzaW9uKToKKyAg
ICAgICAgKEpTQzo6UGFyc2VyOjpzZXRFbmRPZlN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBh
cnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6
cGFyc2VBcnJvd0Z1bmN0aW9uSW5mbyk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJv
d0Z1bmN0aW9uQm9keSk6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorICAgICAgICAoSlND
OjpQYXJzZXI6OkZ1bmN0aW9uUGFyc2VUeXBlKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJz
ZVNvdXJjZUVsZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KToK
KyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RXhwcmVzc2lvbik6CisgICAgICAgIChK
U0M6OlBhcnNlcjo6c2V0RW5kT2ZTdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBh
cnNlQXJyb3dGdW5jdGlvbldyYXBwZXIpOgorICAgICAgICAqIHBhcnNlci9QYXJzZXJGdW5jdGlv
bkluZm8uaDoKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyVG9rZW5zLmg6CisgICAgICAgIChKU0M6
OlBhcnNlckZ1bmN0aW9uSW5mbzo6YXJyb3dGdW5jdGlvbk9mZnNldCk6IGFkZGVkCisgICAgICAg
IChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6aXNBcnJvd0Z1bmN0aW9uKTogYWRkZWQKKyAgICAg
ICAgKEpTQzo6UGFyc2VyRnVuY3Rpb25JbmZvOjphcnJvd0Z1bmN0aW9uQm9keVR5cGUpOiBhZGRl
ZAorICAgICAgICAqIHBhcnNlci9Tb3VyY2VDb2RlLmg6CisgICAgICAgIChKU0M6OlNvdXJjZUNv
ZGU6OnN1YkFycm93RXhwcmVzc2lvbik6CisgICAgICAgICogcGFyc2VyL1N5bnRheENoZWNrZXIu
aDoKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIp
OgorICAgICAgICAqIHBhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbToKKyAgICAgICAgKEpT
Qzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMpOgorICAgICAgICAo
SlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbSk6CisgICAgICAgIChKU0M6OlNvdXJjZVByb3Zp
ZGVyQ2FjaGVJdGVtOjplbmRBcnJvd0Z1bmN0aW9uVG9rZW4pOgorICAgICAgICAqIHJ1bnRpbWUv
SlNBcnJvd0Z1bmN0aW9uLmg6IGFkZGVkIGNsYXNzIGZvciBoYW5kbGUgYXJyb3cgZnVuY3Rpb24g
Y3JlYXRpb24gYW5kIGV4ZWN1dGlvbgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJvd0Z1bmN0aW9u
LmNwcDoKKyAgICAgICAgKiBydW50aW1lL0pTRnVuY3Rpb24uaDoKKyAgICAgICAgKEpTQzo6SlNG
dW5jdGlvbjo6SlNGdW5jdGlvbik6IGFkZGVkIG9uZSBtb3JlIGNvbnN0cnVjdG9yCisgICAgICAg
ICogcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oOgorICAgICAgICAoSlNDOjpKU0Z1bmN0aW9u
OjpKU0Z1bmN0aW9uKTogYWRkZWQgY29uc3RydWN0b3IgaW1wbGVtZW50YXRpb24KKyAgICAgICAg
KiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmpl
Y3Q6OmluaXQpOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6bV9hcnJvd0Z1bmN0aW9u
U3RydWN0dXJlKTogYWRkZWQKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmFycm93RnVu
Y3Rpb25TdHJ1Y3R1cmUpOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFz
cGFyYW10ZXItMS5qczogQWRkZWQuCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tYXNwYXJhbXRlci0yLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1ib3VuZC5qczogQWRkZWQuCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tY2FsbC5qczogQWRkZWQuCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tY29uc3RydWN0b3IuanM6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
bGV4aWNhbC1hcmd1bWVudHMuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJv
d2Z1bmN0aW9uLWxleGljYWwtdGhpcy0xLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMtMi5qczogQWRkZWQuCisgICAgICAgICogdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTEuanM6IEFkZGVkLgorICAgICAgICAqIHRl
c3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMC0yLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAwMDAtMS5qczogQWRkZWQuCisgICAgICAg
ICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwMDAwLTIuanM6IEFkZGVkLgorICAg
ICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXN5bnRheC5qczogQWRkZWQuCisKIDIw
MTUtMDQtMTIgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KICAgICAg
ICAgU21hbGwgcmVmYWN0b3Jpbmcgb2YgdGhlIHBhcmNlci5jcHAgZmlsZS4gSXQgaXMgbmVjZXNz
YXJ5IHRvIGluY3JlYXNlIHJlYWRhYmlsaXR5IG9mIHRoZSBwYXRjaAogICAgICAgICB3aXRoIEVT
NiBBcnJvdyBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDVlMTYxMWRlYTY0
ZDBmM2FjYzI0NDg5MmQwNDk3MjJlZjgzYzQyZmUuLmI3ZGU0ZTNiNTgzZWEwMDMzMDU1ZWQ3MTBl
MzZhYzFiODUyMDhiM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNS0wNC0xNyAg
U2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZd
IEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmZWF0dXJlIGZsYWcgRU5BQkxFX0VT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rpb24KKworICAgICAgICAqIENv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1LTA1LTAxICBKb3Nl
cGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgSW5saW5lIHNvbWUg
c21hbGwgbWV0aG9kcyBpbnN0ZWFkIG9mIHRoZW0gYmVpbmcgRVhQT1JUJ2QgYW5kIG91dCBvZiBs
aW5lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggZmZmYThjMzM0ODI5MDhlYzZkOTZlMzU0MTI2NjQ1MGMy
N2M1M2U4Ny4uZmJkZjNiZTVjNDVlYzRhMzA3ZDMzZjRjNDgzMTYzZTY1NmVjZWU1NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTA0LTE3ICBTa2FjaGtvdiBBbGV4YW5k
ciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBh
cnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE0MDg1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTUtMDUtMDEgIE1hcnRpbiBSb2JpbnNvbiAgPG1y
b2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVTRSguLi4pIG1hY3JvIHNob3VsZCBleHBl
Y3QgdW5wcmVmaXhlZCB2YXJpYWJsZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dApp
bmRleCA1NTBlOGQ2YTA4MzZmMTk1NjhjZDc1NjU2ZGJiYmQzMWY1MGFlMmUxLi5iYzk2YTVkNmVi
Nzc3MDc4OTVkZmMzOWZkYzg1N2FhYjdjZDhmNGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtl
TGlzdHMudHh0CkBAIC00NzAsNiArNDcwLDcgQEAgc2V0KEphdmFTY3JpcHRDb3JlX1JVTlRJTUVf
U09VUkNFUwogICAgIHJ1bnRpbWUvSlNBcnJheUJ1ZmZlclZpZXcuY3BwCiAgICAgcnVudGltZS9K
U0FycmF5SXRlcmF0b3IuY3BwCiAgICAgcnVudGltZS9KU0JvdW5kRnVuY3Rpb24uY3BwCisgICAg
cnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwCiAgICAgcnVudGltZS9KU0dsb2JhbE9iamVjdERl
YnVnZ2FibGUuY3BwCiAgICAgcnVudGltZS9KU0NKU1ZhbHVlLmNwcAogICAgIHJ1bnRpbWUvSlND
YWxsZWUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggZmM5MGY2MTE1NjIzMWE0MWNh
OTEzN2YxN2M3OTU1ZThkMzczYjBlYS4uMGM4ODQwZjZhYjUxODVmODM1NGI3MDYwM2UwMjVmMjVh
MmE3OWY0YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDQsNiArNDQsNyBAQCBFTkFC
TEVfQ0FDSEVfUEFSVElUSU9OSU5HID0gRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORzsKIEVOQUJM
RV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkg
PSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7
CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWDsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19T
WU5UQVg7CiBFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYID0gRU5BQkxFX0VTNl9U
RU1QTEFURV9MSVRFUkFMX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORzsKQEAgLTIxNSw0ICsyMTYsNCBAQCBFTkFCTEVfSklUID0gRU5B
QkxFX0pJVDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9T
QVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
XzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVf
QUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQo
RU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAk
KEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X1RF
TVBMQVRFX0xJVEVSQUxfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFC
TEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NT
U19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJM
RV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFC
TEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikg
JChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVO
QUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9M
SU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1ND
SEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJ
U1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlM
U19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZF
TlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZ
UFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xP
QURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChF
TkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVf
SElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkg
JChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChF
TkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVS
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVf
SU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9J
T1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVG
SVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQo
RU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09O
VFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJ
U1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9N
T1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVO
QUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChF
TkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9N
SVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9M
SVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQo
RU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAk
KEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykg
JChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVO
QUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZP
TlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJF
Ul9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJ
TkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkg
JChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZB
TFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFC
TEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykg
JChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VC
VlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJM
RV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhN
RVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVT
ID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFT
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9D
QVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJU
SVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQo
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9URU1QTEFURV9MSVRF
UkFMX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhU
KSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09S
QVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklD
RV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFH
RV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NT
U19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NI
QVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykg
JChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExF
UikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQp
ICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkg
JChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJV
Q1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFf
VjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykg
JChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQ
QURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdF
X0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NF
UlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9N
T05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUsp
ICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5L
X1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQ
VCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09S
X1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdB
VE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJ
VF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5B
QkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFC
TEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFV
RVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVT
T0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NT
U19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFN
U19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9O
KSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJM
RV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJ
REVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFC
TEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJ
TykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJ
Q1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05T
KSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkg
JChFTkFCTEVfSklUKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5B
QkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ogYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29y
ZS52Y3hwcm9qCmluZGV4IGZlYmRlMjc1YzdlZGJhZmQ1ZGM2YjlmY2ViMTI0YWUwYmU5YWE3NmIu
LjRkOTlhODdlNTNlMzUzYjk3NDU1ODJhOTY4MzdjZWI5ODU2NDg1YWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3Jl
LnZjeHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHBy
b2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagpAQCAtNzM1LDYgKzczNSw3IEBACiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJQcm90b3R5cGUuY3BwIiAvPgog
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0FycmF5QnVmZmVyVmlldy5jcHAi
IC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQm91bmRGdW5jdGlvbi5j
cHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyb3dGdW5jdGlv
bi5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0pTVmFsdWUu
Y3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NhbGxlZS5jcHAi
IC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ2F0Y2hTY29wZS5jcHAi
IC8+CkBAIC0xNTM3LDYgKzE1MzgsNyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVu
dGltZVxKU0FycmF5QnVmZmVyVmlld0lubGluZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJheUl0ZXJhdG9yLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxydW50aW1lXEpTQm91bmRGdW5jdGlvbi5oIiAvPgorICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5ccnVudGltZVxKU0Fycm93RnVuY3Rpb24uaCIgLz4KICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSW5saW5lcy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5ccnVudGltZVxKU0NKU1ZhbHVlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxydW50aW1lXEpTQ0pTVmFsdWVJbmxpbmVzLmgiIC8+CkBAIC0xODE3LDQgKzE4MTksNCBAQAog
ICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblRhcmdldHMiPgogICAgIDxJbXBvcnQgUHJv
amVjdD0iJChWQ1RhcmdldHNQYXRoKVxCdWlsZEN1c3RvbWl6YXRpb25zXG1hc20udGFyZ2V0cyIg
Lz4KICAgPC9JbXBvcnRHcm91cD4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDFhMmI0NjBl
N2Y4Mzg4ZWFhOGUzMTliZjI1NGVhNjdhZjJiOWIxZWYuLjNkMDY5NjYwZjA5MTQxNDMxZWI0OTk4
ZTQ1YzQ5ODg2OTJmODhiOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMTA2
LDYgKzExMDYsOCBAQAogCQk4NkYzRUVCRjE2OENERTkzMDA3N0I5MkEgLyogT2JqY1J1bnRpbWVF
eHRyYXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2
RjNFRUI2MTY4NTVBNUIwMDc3QjkyQSAvKiBPYmpjUnVudGltZUV4dHJhcy5oICovOyB9OwogCQk4
NkZBOUU5MTE0MkJCQjJFMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RkE5RThGMTQyQkJCMkQwMDE3
NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwICovOyB9OwogCQk4NkZBOUU5MjE0MkJCQjJFMDAx
NzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4NkZBOUU5MDE0MkJCQjJFMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0
aW9uLmggKi87IH07CisJCThCMEY0MjRDMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rp
b24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOEIw
RjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgKi87IH07CisJCThC
MEY0MjRDMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uaCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhCMEY0MjRCMUFCRDZERTIwMDM5MTdF
QSAvKiBKU0Fycm93RnVuY3Rpb24uaCAqLzsgfTsKIAkJOTAyMTNFM0QxMjNBNDBDMjAwRDQyMkYz
IC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTAyMTNFM0IxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3Rp
Y3MuY3BwICovOyB9OwogCQk5MDIxM0UzRTEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlz
dGljcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTAy
MTNFM0MxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5MzA1MkMzNDBGQjc5MjE5MDA0
OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNw
cCAqLzsgfTsKQEAgLTI4NTQsNiArMjg1Niw4IEBACiAJCTg2Rjc1RUZEMTUxQzA2MkYwMDdDOUJB
MyAvKiBSZWdFeHBNYXRjaGVzQXJyYXkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gUmVnRXhwTWF0Y2hlc0FycmF5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0JvdW5kRnVuY3Rpb24uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkZBOUU5MDE0MkJCQjJFMDAxNzczQjcgLyog
SlNCb3VuZEZ1bmN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQm91
bmRGdW5jdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4QjBGNDI0QTFBQkQ2
RDJGMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQXJyb3dG
dW5jdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4QjBGNDI0QjFBQkQ2REUy
MDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTQXJyb3dGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTkwMjEzRTNCMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lbW9yeVN0YXRpc3RpY3MuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MDIxM0UzQzEyM0E0MEMyMDBENDIyRjMg
LyogTWVtb3J5U3RhdGlzdGljcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBN
ZW1vcnlTdGF0aXN0aWNzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkzMDUyQzMy
MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBQYXJzZXJBcmVuYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC00NDY5LDYgKzQ0NzMsOCBAQAogCQkJCUE3QkRBRUM1MTdGNEVBMTQwMEY2MTQwQyAv
KiBKU0FycmF5SXRlcmF0b3IuaCAqLywKIAkJCQk4NkZBOUU4RjE0MkJCQjJEMDAxNzczQjcgLyog
SlNCb3VuZEZ1bmN0aW9uLmNwcCAqLywKIAkJCQk4NkZBOUU5MDE0MkJCQjJFMDAxNzczQjcgLyog
SlNCb3VuZEZ1bmN0aW9uLmggKi8sCisJCQkJOEIwRjQyNEExQUJENkQyRjAwMzkxN0VBIC8qIEpT
QXJyb3dGdW5jdGlvbi5oICovLAorCQkJCThCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fy
cm93RnVuY3Rpb24uY3BwICovLAogCQkJCTY1N0NGNDU2MTlCRjY2NjIwMDRBQ0JGMiAvKiBKU0Nh
bGxlZS5jcHAgKi8sCiAJCQkJNjU3Q0Y0NTcxOUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmgg
Ki8sCiAJCQkJMEZEOTQ5N0UxQTk3REI5NjAwRTI4OTY2IC8qIEpTQ2F0Y2hTY29wZS5jcHAgKi8s
CkBAIC03MjI0LDYgKzcyMzAsNyBAQAogCQkJCTBGRDhBMzFCMTdENTFGMjIwMENBMkM0MCAvKiBG
VExPU1JFbnRyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjIzNUJEQzE3MTc4RTFDMDA2OTBD
N0YgLyogRlRMT1NSRXhpdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjIzNUJERjE3MTc4RTFD
MDA2OTBDN0YgLyogRlRMT1NSRXhpdENvbXBpbGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCThC
MEY0MjRDMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMEZFQTBBMkExNzA5NjI5NjAwQkI3MjJDIC8qIEZUTE91dHB1dC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkwRjQ4NTMyOTE4N0RGREVDMDA4M0I2ODcgLyogRlRMUmVjb3ZlcnlPcGNv
ZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY2QjFDQzMxODYyQzQ3ODAwODQ1RDk3IC8qIEZU
TFJlZ2lzdGVyQXRPZmZzZXQuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24gYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24KaW5kZXggZTNlZDFkY2RhNGUwM2E1
ZjExZWY5MWU1NjExOWViOTMwNTFmYjdmNi4uNTZjYmE5MzZjNDc1MDVmNTQ2ODQxZWQ1N2JiOWI4
ZThkM2QxNmQ4YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5
dGVjb2RlTGlzdC5qc29uCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRl
Y29kZUxpc3QuanNvbgpAQCAtOTUsNiArOTUsNyBAQAogICAgICAgICAgICAgeyAibmFtZSIgOiAi
b3Bfc3dpdGNoX3N0cmluZyIsICJsZW5ndGgiIDogNCB9LAogICAgICAgICAgICAgeyAibmFtZSIg
OiAib3BfbmV3X2Z1bmMiLCAibGVuZ3RoIiA6IDQgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDog
Im9wX25ld19mdW5jX2V4cCIsICJsZW5ndGgiIDogNCB9LAorICAgICAgICAgICAgeyAibmFtZSIg
OiAib3BfbmV3X2Fycm93X2Z1bmNfZXhwIiwgImxlbmd0aCIgOiA1IH0sCiAgICAgICAgICAgICB7
ICJuYW1lIiA6ICJvcF9jYWxsIiwgImxlbmd0aCIgOiA5IH0sCiAgICAgICAgICAgICB7ICJuYW1l
IiA6ICJvcF9jYWxsX2V2YWwiLCAibGVuZ3RoIiA6IDkgfSwKICAgICAgICAgICAgIHsgIm5hbWUi
IDogIm9wX2NhbGxfdmFyYXJncyIsICJsZW5ndGgiIDogOSB9LApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaAppbmRleCA3NjY3ZTY4M2U0NTRhNDk5
OTg2ZWRhY2Q5MGI2NDkxNzI0MjAzN2NkLi5kYTRhMmFhZWVjMjg0NTk0MWFlMzY2ZGNmYjk4NTkx
Y2NiM2NjZDQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0
ZWNvZGVVc2VEZWYuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNv
ZGVVc2VEZWYuaApAQCAtMTE1LDYgKzExNSw5IEBAIHZvaWQgY29tcHV0ZVVzZXNGb3JCeXRlY29k
ZU9mZnNldCgKICAgICBjYXNlIG9wX2dldF9wcm9wZXJ0eV9lbnVtZXJhdG9yOgogICAgIGNhc2Ug
b3BfZ2V0X2VudW1lcmFibGVfbGVuZ3RoOgogICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOgorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2FzZSBvcF9uZXdfYXJyb3df
ZnVuY19leHA6CisjZW5kaWYKICAgICBjYXNlIG9wX3RvX2luZGV4X3N0cmluZzoKICAgICBjYXNl
IG9wX2luaXRfZ2xvYmFsX2NvbnN0X25vcDoKICAgICBjYXNlIG9wX2luaXRfZ2xvYmFsX2NvbnN0
OgpAQCAtMzA3LDYgKzMxMCw5IEBAIHZvaWQgY29tcHV0ZURlZnNGb3JCeXRlY29kZU9mZnNldChD
b2RlQmxvY2sqIGNvZGVCbG9jaywgdW5zaWduZWQgYnl0ZWNvZGVPZmZzZXQsCiAgICAgY2FzZSBv
cF9uZXdfcmVnZXhwOgogICAgIGNhc2Ugb3BfbmV3X2Z1bmM6CiAgICAgY2FzZSBvcF9uZXdfZnVu
Y19leHA6CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIG9w
X25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRpZgogICAgIGNhc2Ugb3BfY2FsbF92YXJhcmdzOgog
ICAgIGNhc2Ugb3BfY29uc3RydWN0X3ZhcmFyZ3M6CiAgICAgY2FzZSBvcF9nZXRfZnJvbV9zY29w
ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2su
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKaW5kZXgg
OTAxMzhmOTdjYmQ4MjhmOTcyY2IyMjQ0MmJmNDA0NDFkMTNmNDA1Ni4uNzE4M2QwNGRkODgyYmI2
MjIzZmJhY2UxN2U1ZmJiNTAwOTFkODAwNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0NvZGVCbG9jay5jcHAKQEAgLTEzMDEsNiArMTMwMSwxNyBAQCB2b2lkIENvZGVCbG9j
azo6ZHVtcEJ5dGVjb2RlKAogICAgICAgICAgICAgb3V0LnByaW50ZigiJXMsICVzLCBmJWQiLCBy
ZWdpc3Rlck5hbWUocjApLmRhdGEoKSwgcmVnaXN0ZXJOYW1lKHIxKS5kYXRhKCksIGYwKTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICAgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6IHsKKyAgICAgICAg
ICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgaW50IHIxID0gKCsr
aXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBpbnQgZjAgPSAoKytpdCktPnUub3BlcmFuZDsK
KyAgICAgICAgICAgIGludCByMiA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgcHJp
bnRMb2NhdGlvbkFuZE9wKG91dCwgZXhlYywgbG9jYXRpb24sIGl0LCAib3BfbmV3X2Fycm93X2Z1
bmNfZXhwIik7CisgICAgICAgICAgICBvdXQucHJpbnRmKCIlcywgJXMsIGYlZCwgJXMiLCByZWdp
c3Rlck5hbWUocjApLmRhdGEoKSwgcmVnaXN0ZXJOYW1lKHIxKS5kYXRhKCksIGYwLCByZWdpc3Rl
ck5hbWUocjIpLmRhdGEoKSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorI2VuZGlm
CiAgICAgICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOiB7CiAgICAgICAgICAgICBpbnQgcjAgPSAo
KytpdCktPnUub3BlcmFuZDsKICAgICAgICAgICAgIGludCByMSA9ICgrK2l0KS0+dS5vcGVyYW5k
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29k
ZUdlbmVyYXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVj
b2RlR2VuZXJhdG9yLmNwcAppbmRleCAyZjIxZTQ5YjY1MTBmMWJlNThkMDljMzE0MDVlMzdjYTll
ZGIzMTlmLi40MTg4OWFhMzRkYWZmZjEwNjQwMDZmYzgzMGQ5N2ZmMGYwNjZiMmE2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9y
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmNwcApAQCAtMTc3NSw2ICsxNzc1LDIyIEBAIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2Vu
ZXJhdG9yOjplbWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIHIwLCBGdW5jRXhw
CiAgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKGluZGV4KTsKICAgICByZXR1cm4gcjA7CiB9Cisg
ICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK1JlZ2lzdGVySUQqIEJ5
dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJ
RCogcjAsIEZ1bmNFeHByTm9kZSogbikKK3sKKyAgICBlbWl0VERaQ2hlY2sodGhpc1JlZ2lzdGVy
KCkpOworICAgIEZ1bmN0aW9uQm9keU5vZGUqIGZ1bmN0aW9uID0gbi0+Ym9keSgpOworICAgIHVu
c2lnbmVkIGluZGV4ID0gbV9jb2RlQmxvY2stPmFkZEZ1bmN0aW9uRXhwcihtYWtlRnVuY3Rpb24o
ZnVuY3Rpb24pKTsKKyAgICAKKyAgICBlbWl0T3Bjb2RlKG9wX25ld19hcnJvd19mdW5jX2V4cCk7
CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHIwLT5pbmRleCgpKTsKKyAgICBpbnN0cnVjdGlv
bnMoKS5hcHBlbmQoc2NvcGVSZWdpc3RlcigpLT5pbmRleCgpKTsKKyAgICBpbnN0cnVjdGlvbnMo
KS5hcHBlbmQoaW5kZXgpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZCh0aGlzUmVnaXN0ZXIo
KS0+aW5kZXgoKSk7CisgICAgcmV0dXJuIHIwOworfQorI2VuZGlmCiAKIFJlZ2lzdGVySUQqIEJ5
dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3RGVmYXVsdENvbnN0cnVjdG9yKFJlZ2lzdGVySUQqIGRz
dCwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCwgY29uc3QgSWRlbnRpZmllciYgbmFt
ZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0
ZWNvZGVHZW5lcmF0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0
ZWNvZGVHZW5lcmF0b3IuaAppbmRleCA5YWY4ZDRmYzQ4NWQ5ODkyNDFiMTExMTgwOTI3YWFhNzZh
OTUzMWM0Li5jYTY4YTI5ZTZiZjE1YmVlMjBiNjk3YTA0ZjI4N2VjZmY4YmJjOGNkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9y
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVy
YXRvci5oCkBAIC00NTQsNiArNDU0LDEwIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBSZWdp
c3RlcklEKiBlbWl0TmV3RnVuY3Rpb25JbnRlcm5hbChSZWdpc3RlcklEKiBkc3QsIHVuc2lnbmVk
IGluZGV4KTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lvbihS
ZWdpc3RlcklEKiBkc3QsIEZ1bmNFeHByTm9kZSogZnVuYyk7CiAgICAgICAgIFJlZ2lzdGVySUQq
IGVtaXROZXdEZWZhdWx0Q29uc3RydWN0b3IoUmVnaXN0ZXJJRCogZHN0LCBDb25zdHJ1Y3Rvcktp
bmQsIGNvbnN0IElkZW50aWZpZXImIG5hbWUpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdBcnJvd0Z1bmN0aW9uRXhwcmVz
c2lvbihSZWdpc3RlcklEKiwgRnVuY0V4cHJOb2RlKik7CisgICAgICAgIFJlZ2lzdGVySUQqIGVt
aXRUaGlzTm9kZUJ5dGVjb2RlKFJlZ2lzdGVySUQqLCBKU1RleHRQb3NpdGlvbik7CisjZW5kaWYK
ICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld1JlZ0V4cChSZWdpc3RlcklEKiBkc3QsIFJlZ0V4
cCopOwogCiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRNb3ZlTGlua1RpbWVDb25zdGFudChSZWdp
c3RlcklEKiBkc3QsIExpbmtUaW1lQ29uc3RhbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCmluZGV4IDBmMGI3OGYwZTU5MWQ5
YmIxNmI5NTgxZDVkNTYwNGQ0OGU1Yjc3NmYuLmQ5NDdhZmNiNjg4ZmFiMDA4ZmZjOTI4MGUyODlj
NWFkNmI5YTJkYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGls
ZXIvTm9kZXNDb2RlZ2VuLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL05vZGVzQ29kZWdlbi5jcHAKQEAgLTI5MDEsNiArMjkwMSwxNCBAQCBSZWdpc3RlcklEKiBG
dW5jRXhwck5vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBS
ZWdpc3RlcklEKgogICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lv
bihnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QpLCB0aGlzKTsKIH0KIAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICAgIAorLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tIEFycm93RnVuY0V4cHJOb2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorUmVnaXN0ZXJJRCogQXJyb3dGdW5jRXhwck5vZGU6OmVtaXRCeXRlY29kZShCeXRlY29k
ZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3RlcklEKiBkc3QpCit7CisgICAgcmV0dXJuIGdl
bmVyYXRvci5lbWl0TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oZ2VuZXJhdG9yLmZpbmFsRGVz
dGluYXRpb24oZHN0KSwgdGhpcyk7Cit9CisjZW5kaWYKKyAgICAKICNpZiBFTkFCTEUoRVM2X0NM
QVNTX1NZTlRBWCkKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBDbGFzc0RlY2xO
b2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgK
aW5kZXggOTM0MjA5MzViMzhiZWY0NDc4ZWRhMGM5NWY5ZDg1NTI2M2JmZDcwMi4uMjVlMWM3MzY0
YTZkNzI5ODg3YmQxNGY5ZmIyNTk3OTkwYmY5MmY5YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaApAQCAt
MTUzNCw3ICsxNTM0LDEzIEBAIGJvb2wgQWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRl
VHlwZT46OmV4ZWN1dGVFZmZlY3RzKHVuc2lnbmVkIGNsb2JiZXJMaW1pCiAgICAgY2FzZSBDcmVh
dGVDbG9uZWRBcmd1bWVudHM6CiAgICAgICAgIGZvck5vZGUobm9kZSkuc2V0VHlwZShtX2dyYXBo
LCBTcGVjT2JqZWN0T3RoZXIpOwogICAgICAgICBicmVhazsKLSAgICAgICAgCisgICAgICAgICAg
ICAKKyAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICAgICAgZm9yTm9kZShub2RlKS5zZXQoCisgICAgICAgICAgICBtX2dy
YXBoLCBtX2NvZGVCbG9jay0+Z2xvYmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYykt
PmFycm93RnVuY3Rpb25TdHJ1Y3R1cmUoKSk7CisjZW5kaWYKKyAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBOZXdGdW5jdGlvbjoKICAgICAgICAgZm9yTm9kZShub2RlKS5zZXQoCiAgICAgICAgICAg
ICBtX2dyYXBoLCBtX2NvZGVCbG9jay0+Z2xvYmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdpbi5zZW1h
bnRpYyktPmZ1bmN0aW9uU3RydWN0dXJlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdDYXBhYmlsaXRpZXMuY3BwCmluZGV4IGVmNGMyNDc0OWI3OGZhNmUwOWE0YzNkOWMyOTAx
M2VhYTY1ZGFhOTIuLjBlM2M4ODBiN2NjY2I5Yjc1MGFhMzA4OTVmMDY5NTk4ZDUyZGZmYjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKQEAgLTIz
MSw2ICsyMzEsNyBAQCBDYXBhYmlsaXR5TGV2ZWwgY2FwYWJpbGl0eUxldmVsKE9wY29kZUlEIG9w
Y29kZUlELCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgSW5zdHJ1YwogICAgIGNhc2Ugb3Bfc3dpdGNo
X3N0cmluZzogLy8gRG9uJ3QgaW5saW5lIGJlY2F1c2Ugd2UgZG9uJ3Qgd2FudCB0byBjb3B5IHN0
cmluZyB0YWJsZXMgaW4gdGhlIGNvbmN1cnJlbnQgSklULgogICAgICAgICByZXR1cm4gQ2FuQ29t
cGlsZTsKIAorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOiAvLyBGaXhtZTogQXJyb3cg
ZnVuY3Rpb24gY2Fubid0IGJlIGlubGluZSBhcyB0aGUgY29tbW9uIGZ1bmN0aW9uIGJlY2F1c2Ug
aXQgaGFzIGxleGljYWx5IGJpbmQgdGhpcy9hcmd1bWVudHMgYW5kIGV0Yy4gYW5kICBhcnJvdyBm
dW5jdGlvbiBoYXMgdG8gaGF2ZSBpdHMgb3duIGNvbXBpbGUgYW5kIGlubGluZSBhcHByb2FjaC4K
ICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gQ2Fubm90Q29tcGlsZTsKICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCmluZGV4IGQzODU3OWUzNGJiODA2
NDMyNzE5NmVjMjUwYzY5MzExMTQxZjFjMDMuLmVjYzdiZjhmMjVkZGZhZmZhODIyYjJiM2U0NWRh
Y2I4Y2MwNjMwOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xv
YmJlcml6ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5o
CkBAIC04NjEsNyArODYxLDggQEAgdm9pZCBjbG9iYmVyaXplKEdyYXBoJiBncmFwaCwgTm9kZSog
bm9kZSwgY29uc3QgUmVhZEZ1bmN0b3ImIHJlYWQsIGNvbnN0IFdyaXRlRnUKICAgICAgICAgcmVh
ZChIZWFwT2JqZWN0Q291bnQpOwogICAgICAgICB3cml0ZShIZWFwT2JqZWN0Q291bnQpOwogICAg
ICAgICByZXR1cm47Ci0gICAgICAgIAorICAgIAorICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoK
ICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgICAgICBpZiAobm9kZS0+Y2FzdE9wZXJhbmQ8RnVu
Y3Rpb25FeGVjdXRhYmxlKj4oKS0+c2luZ2xldG9uRnVuY3Rpb24oKS0+aXNTdGlsbFZhbGlkKCkp
CiAgICAgICAgICAgICB3cml0ZShXYXRjaHBvaW50X2ZpcmUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdEb2VzR0MuY3BwCmluZGV4IDQ4NzFmMGE5NjIzMWQxNzNlZDkwMTYyNzUwZjA5NGM3
ZTFiMTE1YjIuLjQxYTcyMTM4OWM1MWMxZDkyY2Q4ZWRmMTU2ZTg2ZjUwMjkyNGQ2OWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAKQEAgLTIyOCw2ICsyMjgsNyBAQCBi
b29sIGRvZXNHQyhHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUpCiAgICAgY2FzZSBOZXdSZWdleHA6
CiAgICAgY2FzZSBOZXdTdHJpbmdPYmplY3Q6CiAgICAgY2FzZSBNYWtlUm9wZToKKyAgICBjYXNl
IE5ld0Fycm93RnVuY3Rpb246CiAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICBjYXNlIE5ld1R5
cGVkQXJyYXk6CiAgICAgY2FzZSBUaHJvd1JlZmVyZW5jZUVycm9yOgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKaW5kZXggNjUyY2I2YTIyYTkxZThjYjZmYTgz
MTZjM2Q4YzI5ZWJiYTdkNTZhMy4uMzE0YjhlZjgwYTk5NzQ5MDM3MmRlOTExZDA5ZGQ3ZGM5ZmIx
NzIxNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNl
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCkBA
IC0xMTgyLDYgKzExODIsNyBAQCBwcml2YXRlOgogCiAgICAgICAgIGNhc2UgQ3JlYXRlU2NvcGVk
QXJndW1lbnRzOgogICAgICAgICBjYXNlIENyZWF0ZUFjdGl2YXRpb246CisgICAgICAgIGNhc2Ug
TmV3QXJyb3dGdW5jdGlvbjoKICAgICAgICAgY2FzZSBOZXdGdW5jdGlvbjogewogICAgICAgICAg
ICAgZml4RWRnZTxDZWxsVXNlPihub2RlLT5jaGlsZDEoKSk7CiAgICAgICAgICAgICBicmVhazsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgKaW5kZXggZmI0NDViNzYyZjFjYjU4NGU0OWEz
MWIzODY2Y2ZjYmMzMDk4MDBiYS4uMGNkNjlhNzc5NWFiYjM5YWI3YWI2YTFlNzU1NTkyNmMxZjVk
OTY4ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgKQEAgLTEyNjcsNiArMTI2Nyw3
IEBAIHN0cnVjdCBOb2RlIHsKICAgICAgICAgY2FzZSBDaGVja0NlbGw6CiAgICAgICAgIGNhc2Ug
TmF0aXZlQ29uc3RydWN0OgogICAgICAgICBjYXNlIE5hdGl2ZUNhbGw6CisgICAgICAgIGNhc2Ug
TmV3QXJyb3dGdW5jdGlvbjoKICAgICAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICAgICAgICAg
IHJldHVybiB0cnVlOwogICAgICAgICBkZWZhdWx0OgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdOb2RlVHlwZS5oCmluZGV4IGI5ZjAyNWZiOWFiOGI3ZGQ1NTczZDBkNzg0YzY1ZGUzNjYwYzVl
MDkuLjQ3NDg3MWU3YWY1NGZjNDc4NzNjZDUwZWY1ZGYxZjk1YjEwYmI3MDUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKQEAgLTI5MSw2ICsyOTEsOCBAQCBuYW1lc3Bh
Y2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CiAgICAgXAogICAgIG1hY3JvKE5ld0Z1bmN0aW9uLCBO
b2RlUmVzdWx0SlMpIFwKICAgICBcCisgICAgbWFjcm8oTmV3QXJyb3dGdW5jdGlvbiwgTm9kZVJl
c3VsdEpTIHwgTm9kZU11c3RHZW5lcmF0ZSkgXAorICAgIFwKICAgICAvKiBUaGVzZSBhcmVuJ3Qg
dGVybWluYWxzIGJ1dCBhbHdheXMgZXhpdCAqLyBcCiAgICAgbWFjcm8oVGhyb3csIE5vZGVNdXN0
R2VuZXJhdGUpIFwKICAgICBtYWNybyhUaHJvd1JlZmVyZW5jZUVycm9yLCBOb2RlTXVzdEdlbmVy
YXRlKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rp
b25Qcm9wYWdhdGlvblBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJl
ZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCmluZGV4IGZkYjhmZGE1ODFlZjRjNTBiZDEwNTUw
ODI3NmExN2FlZmI3YjZjOGMuLjMwMzI5YjVhZjI3NDQ1NjhhOTM1MTYzM2ZhZDllMTIzMzZjYzE5
OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblBy
b3BhZ2F0aW9uUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJl
ZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCkBAIC0yMTcsNiArMjE3LDcgQEAgcHJpdmF0ZToK
ICAgICAgICAgY2FzZSBHZXRHZXR0ZXI6CiAgICAgICAgIGNhc2UgR2V0U2V0dGVyOgogICAgICAg
ICBjYXNlIEdldENhbGxlZToKKyAgICAgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgogICAgICAg
ICBjYXNlIE5ld0Z1bmN0aW9uOiB7CiAgICAgICAgICAgICBjaGFuZ2VkIHw9IHNldFByZWRpY3Rp
b24oU3BlY0Z1bmN0aW9uKTsKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaAppbmRleCBhYTVhNzFjMTdmODhiNjg4ZTNmYTVi
NTdiOGRjYWIyMjM0NWQ0ZjFlLi5iNmM1MGI0NDU3YzA2OWJmMWQwNzFmMzliMTdlYmY3YjlkYWQz
NzViIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1
dGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaApA
QCAtMjI4LDYgKzIyOCw3IEBAIGJvb2wgc2FmZVRvRXhlY3V0ZShBYnN0cmFjdFN0YXRlVHlwZSYg
c3RhdGUsIEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSkKICAgICBjYXNlIENyZWF0ZUNsb25lZEFy
Z3VtZW50czoKICAgICBjYXNlIEdldEZyb21Bcmd1bWVudHM6CiAgICAgY2FzZSBQdXRUb0FyZ3Vt
ZW50czoKKyAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246CiAgICAgY2FzZSBOZXdGdW5jdGlvbjoK
ICAgICBjYXNlIEp1bXA6CiAgICAgY2FzZSBCcmFuY2g6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKaW5kZXggOWQ3MmU4OTM3MzJjYjdhZTk2ODg2Njcz
ZWQwNWU1ZWY1NWQxZDFiMS4uNTU3YzUzMTc5MTU3MGQ1ZjZlYzdiMTI2NDRmOGRkMWU5NGE2NGEy
YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaApA
QCAtMTE5OSw2ICsxMTk5LDEyIEBAIHB1YmxpYzoKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVu
dHNXaXRoRXhlY1N0YXRlKGFyZzEsIFRydXN0ZWRJbW1QdHIoY2VsbCkpOwogICAgICAgICByZXR1
cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3Vs
dCk7CiAgICAgfQorICAgIAorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9K
SVRPcGVyYXRpb25fRUpzY0NKIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgR1BSUmVnIGFyZzEs
IEpTQ2VsbCogY2VsbCwgR1BSUmVnIGFyZzIpCisgICAgeworICAgICAgICBtX2ppdC5zZXR1cEFy
Z3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSwgYXJnMik7Cisg
ICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJh
dGlvbiwgcmVzdWx0KTsKKyAgICB9CiAKICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0
aW9uKFZfSklUT3BlcmF0aW9uX0VXcyBvcGVyYXRpb24sIFdhdGNocG9pbnRTZXQqIHdhdGNocG9p
bnRTZXQpCiAgICAgewpAQCAtMTYwNSw2ICsxNjExLDExIEBAIHB1YmxpYzoKICAgICAgICAgbV9q
aXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIFRydXN0ZWRJbW1QdHIoY2VsbCkp
OwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChv
cGVyYXRpb24sIHJlc3VsdFBheWxvYWQsIHJlc3VsdFRhZyk7CiAgICAgfQorICAgIEpJVENvbXBp
bGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0NKIG9wZXJhdGlvbiwg
R1BSUmVnIHJlc3VsdFRhZywgR1BSUmVnIHJlc3VsdFBheWxvYWQsIEdQUlJlZyBhcmcxLCBKU0Nl
bGwqIGNlbGwsIEdQUlJlZyBhcmcyKQorICAgIHsKKyAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVu
dHNXaXRoRXhlY1N0YXRlKGFyZzEsIFRydXN0ZWRJbW1QdHIoY2VsbCksIGFyZzIpOworICAgICAg
ICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24s
IHJlc3VsdFBheWxvYWQsIHJlc3VsdFRhZyk7CisgICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxs
IGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRVNzaUNJIG9wZXJhdGlvbiwgR1BSUmVnIHJl
c3VsdFRhZywgR1BSUmVnIHJlc3VsdFBheWxvYWQsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5m
bywgR1BSUmVnIGFyZzEsIGNvbnN0IFN0cmluZ0ltcGwqIHVpZCkKICAgICB7CiAgICAgICAgIG1f
aml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHN0dWJJbmZvKSwg
YXJnMSwgVHJ1c3RlZEltbVB0cih1aWQpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCmluZGV4IGZkOWYzNTBiMThkYzVlYWEx
ODZiYmI3NjE3NTc5YjViYTAwMTcxNjUuLmYzNjkwMjI4MTIyYmY2ZDRhOTBlNjY0YjYyMDkxYzA5
NmE4ZmQ4NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQzMl82NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVDMyXzY0LmNwcApAQCAtNDI4Myw3ICs0MjgzLDExIEBAIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgY29tcGlsZUNyZWF0ZUNsb25lZEFy
Z3VtZW50cyhub2RlKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgICAgICAKKyAgICAKKyAg
ICBjYXNlIE5ld0Fycm93RnVuY3Rpb246CisgICAgICAgIERGR19DUkFTSChtX2ppdC5ncmFwaCgp
LCBub2RlLCAiQXJyb3cgZnVuY3Rpb24gY2FuXCd0IGJlIGNvbXBpbGVkIGluIERGRyIpOworICAg
ICAgICBicmVhazsKKyAgICAgICAgICAgIAogICAgIGNhc2UgTmV3RnVuY3Rpb246CiAgICAgICAg
IGNvbXBpbGVOZXdGdW5jdGlvbihub2RlKTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAppbmRleCAxZDA4NTdm
M2Y1ZDdiMmMxY2MyMDQ2YTEwZWRhZTQwMzMzMzQ4MzM1Li4wZjM1NzViNWUyMzE1NjRhYWYzYWJh
NmM5NTA2NjJlYmQwMTNiODRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKQEAgLTQzMTcsMTEgKzQzMTcsMTUgQEAgdm9pZCBTcGVj
dWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBjb21waWxlQ3JlYXRlQ2xv
bmVkQXJndW1lbnRzKG5vZGUpOwogICAgICAgICBicmVhazsKICAgICB9Ci0gICAgICAgIAorCisg
ICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgorICAgICAgICBERkdfQ1JBU0gobV9qaXQuZ3JhcGgo
KSwgbm9kZSwgIkFycm93IGZ1bmN0aW9uIGNhblwnIGluIERGRyIpOworICAgICAgICBicmVhazsK
KyAgICAgICAgICAgIAogICAgIGNhc2UgTmV3RnVuY3Rpb246CiAgICAgICAgIGNvbXBpbGVOZXdG
dW5jdGlvbihub2RlKTsKICAgICAgICAgYnJlYWs7Ci0gICAgICAgIAorCiAgICAgY2FzZSBJbjoK
ICAgICAgICAgY29tcGlsZUluKG5vZGUpOwogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RydWN0dXJlUmVnaXN0cmF0aW9uUGhhc2UuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTdHJ1Y3R1cmVSZWdpc3RyYXRpb25QaGFz
ZS5jcHAKaW5kZXggMjg2NDZkMTNmY2Y0Yzk2NWM2MjBkMDAyMTFiMGRjYmYwM2IzN2MyZC4uMmM0
MmRmM2MwMjM4M2U3MWY1ZWM5NTg2YTI3OGZiYjFkYjEzMDgwZCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTdHJ1Y3R1cmVSZWdpc3RyYXRpb25QaGFzZS5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTdHJ1Y3R1cmVSZWdpc3RyYXRpb25QaGFz
ZS5jcHAKQEAgLTEzMCw3ICsxMzAsMTEgQEAgcHVibGljOgogICAgICAgICAgICAgICAgIGNhc2Ug
TmV3UmVnZXhwOgogICAgICAgICAgICAgICAgICAgICByZWdpc3RlclN0cnVjdHVyZShtX2dyYXBo
Lmdsb2JhbE9iamVjdEZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMpLT5yZWdFeHBTdHJ1Y3R1cmUo
KSk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICAKKyAg
ICAgICAgICAgICAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246CisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXJTdHJ1Y3R1cmUo
bV9ncmFwaC5nbG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKS0+YXJyb3dGdW5j
dGlvblN0cnVjdHVyZSgpKTsKKyNlbmRpZgorICAgICAgICAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgICAgICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgICAgICAgICAgICAgICAgICByZWdp
c3RlclN0cnVjdHVyZShtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihub2RlLT5vcmlnaW4uc2VtYW50
aWMpLT5mdW5jdGlvblN0cnVjdHVyZSgpKTsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9z
aXRvcnkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBv
c2l0b3J5LmNwcAppbmRleCBlNDE2ZmRhYWZlZTIyMjlmNjUzYjlhZTA2MjQ4MDAwOTk5ODc1YTAw
Li4zYzM4NjRjYTE4MGFhMzZlNDgwOGMyM2ExMzA2YmUyOGU1ZDdiOTAxIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5j
cHAKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkRpcmVjdEFyZ3VtZW50cy5oIgogI2lu
Y2x1ZGUgIkdldHRlclNldHRlci5oIgorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgogI2lu
Y2x1ZGUgIkpTRW52aXJvbm1lbnRSZWNvcmQuaCIKICNpbmNsdWRlICJKU1Byb3BlcnR5TmFtZUVu
dW1lcmF0b3IuaCIKICNpbmNsdWRlICJKU1Njb3BlLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oCmluZGV4IDkxMjc1NGRm
YzQwMTUyYjBlZDI0ODM2YWM3NWI4Zjk2OTg0Mzk5YmIuLmVlYjIwOGJlMWY0NmNmYzQyYjk0OTVh
OWZhOTIxZmJjZDZkODJkYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oCkBAIC04OCw2ICs4OCwxMyBAQCBuYW1lc3Bh
Y2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CiAgICAgbWFjcm8oU3RydWN0dXJlX2dsb2JhbE9iamVj
dCwgU3RydWN0dXJlOjpnbG9iYWxPYmplY3RPZmZzZXQoKSkgXAogICAgIG1hY3JvKFN0cnVjdHVy
ZV9wcm90b3R5cGUsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0KCkpIFwKICAgICBtYWNybyhT
dHJ1Y3R1cmVfc3RydWN0dXJlSUQsIFN0cnVjdHVyZTo6c3RydWN0dXJlSURPZmZzZXQoKSkKKyAg
ICAKKyNkZWZpbmUgRk9SX0VBQ0hfQUJTVFJBQ1RfRklFTERfQVJST1dGVU5DVElPTihtYWNybykg
XAorICAgIG1hY3JvKEpTQXJyb3dGdW5jdGlvbl9leGVjdXRhYmxlLCBKU0Fycm93RnVuY3Rpb246
Om9mZnNldE9mRXhlY3V0YWJsZSgpKSBcCisgICAgbWFjcm8oSlNBcnJvd0Z1bmN0aW9uX3Njb3Bl
LCBKU0Fycm93RnVuY3Rpb246Om9mZnNldE9mU2NvcGVDaGFpbigpKSBcCisgICAgbWFjcm8oSlNB
cnJvd0Z1bmN0aW9uX3JhcmVEYXRhLCBKU0Fycm93RnVuY3Rpb246Om9mZnNldE9mUmFyZURhdGEo
KSkgXAorICAgIG1hY3JvKEpTQXJyb3dGdW5jdGlvbl90aGlzLCBKU0Fycm93RnVuY3Rpb246Om9m
ZnNldE9mVGhpc1ZhbHVlKCkpCisgICAgCiAKICNkZWZpbmUgRk9SX0VBQ0hfSU5ERVhFRF9BQlNU
UkFDVF9IRUFQKG1hY3JvKSBcCiAgICAgbWFjcm8oRGlyZWN0QXJndW1lbnRzX3N0b3JhZ2UsIERp
cmVjdEFyZ3VtZW50czo6c3RvcmFnZU9mZnNldCgpLCBzaXplb2YoRW5jb2RlZEpTVmFsdWUpKSBc
CkBAIC0xMjksNiArMTM2LDkgQEAgcHVibGljOgogCiAjZGVmaW5lIEFCU1RSQUNUX0ZJRUxEX0RF
Q0xBUkFUSU9OKG5hbWUsIG9mZnNldCkgQWJzdHJhY3RGaWVsZCBuYW1lOwogICAgIEZPUl9FQUNI
X0FCU1RSQUNUX0ZJRUxEKEFCU1RSQUNUX0ZJRUxEX0RFQ0xBUkFUSU9OKQorI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgRk9SX0VBQ0hfQUJTVFJBQ1RfRklFTERfQVJS
T1dGVU5DVElPTihBQlNUUkFDVF9GSUVMRF9ERUNMQVJBVElPTikKKyNlbmRpZgogI3VuZGVmIEFC
U1RSQUNUX0ZJRUxEX0RFQ0xBUkFUSU9OCiAgICAgCiAgICAgQWJzdHJhY3RGaWVsZCYgSlNDZWxs
X2ZyZWVMaXN0TmV4dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
Q2FwYWJpbGl0aWVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0
aWVzLmNwcAppbmRleCA2MGRjZjc5MTkzMjNjNTc1YjQ3ODA2MDE3MmIyY2Q1MzdlZGRlNjc4Li44
ZWU3OGZlZDBhMmJkYjgxNGQ1ZjBhMWQwZTAyZDdmNzhmOTViY2Y1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCkBAIC0xMDMsNiArMTAzLDcgQEAg
aW5saW5lIENhcGFiaWxpdHlMZXZlbCBjYW5Db21waWxlKE5vZGUqIG5vZGUpCiAgICAgY2FzZSBM
b29wSGludDoKICAgICBjYXNlIFNraXBTY29wZToKICAgICBjYXNlIENyZWF0ZUFjdGl2YXRpb246
CisgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgogICAgIGNhc2UgTmV3RnVuY3Rpb246CiAgICAg
Y2FzZSBHZXRDbG9zdXJlVmFyOgogICAgIGNhc2UgUHV0Q2xvc3VyZVZhcjoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSW50cmluc2ljUmVwb3NpdG9yeS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmgKaW5kZXggMDk3
YjcxY2M2NDM3NjM3NmViYmVhYzA2NzQ2ZmRjYzBiYmZjZTY4OC4uZDljZjA0NzhhMzhiYTM2MWIy
NWI0NTQzZDY2NmVlYzQ3NmZiZTg2YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmgKQEAgLTgzLDYgKzgzLDcgQEAgbmFtZXNwYWNl
IEpTQyB7IG5hbWVzcGFjZSBGVEwgewogICAgIG1hY3JvKEpfSklUT3BlcmF0aW9uX0VKQywgZnVu
Y3Rpb25UeXBlKGludDY0LCBpbnRQdHIsIGludDY0LCBpbnRQdHIpKSBcCiAgICAgbWFjcm8oSl9K
SVRPcGVyYXRpb25fRUpKLCBmdW5jdGlvblR5cGUoaW50NjQsIGludFB0ciwgaW50NjQsIGludDY0
KSkgXAogICAgIG1hY3JvKEpfSklUT3BlcmF0aW9uX0VKc2NDLCBmdW5jdGlvblR5cGUoaW50UHRy
LCBpbnRQdHIsIGludFB0ciwgaW50UHRyKSkgXAorICAgIG1hY3JvKEpfSklUT3BlcmF0aW9uX0VK
c2NDSiwgZnVuY3Rpb25UeXBlKGludDY0LCBpbnRQdHIsIGludDY0LCBpbnQ2NCwgaW50NjQpKVwK
ICAgICBtYWNybyhKX0pJVE9wZXJhdGlvbl9FSnNzWiwgZnVuY3Rpb25UeXBlKGludDY0LCBpbnRQ
dHIsIGludFB0ciwgaW50MzIpKSBcCiAgICAgbWFjcm8oSl9KSVRPcGVyYXRpb25fRVNzaUpJLCBm
dW5jdGlvblR5cGUoaW50NjQsIGludFB0ciwgaW50UHRyLCBpbnQ2NCwgaW50UHRyKSkgXAogICAg
IG1hY3JvKEpzc19KSVRPcGVyYXRpb25fRVosIGZ1bmN0aW9uVHlwZShpbnRQdHIsIGludFB0ciwg
aW50MzIpKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2Vy
REZHVG9MTFZNLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xM
Vk0uY3BwCmluZGV4IGQ5MDJhZTczNDJlOGI0NjNiMzNhMWU1ZDk3ZGU2ZTE4ODY4OTllNDIuLmZk
OGFjMzc4OTQwOTFiMTZjOTI5NGVmOTczMDM5MWQ4OWY0MWRhMDQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCkBAIC00Myw2ICs0Myw3IEBA
CiAjaW5jbHVkZSAiRlRMT3V0cHV0LmgiCiAjaW5jbHVkZSAiRlRMVGh1bmtzLmgiCiAjaW5jbHVk
ZSAiRlRMV2VpZ2h0ZWRUYXJnZXQuaCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKICNp
bmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNMZXhpY2FsRW52aXJvbm1lbnQuaCIK
ICNpbmNsdWRlICJPcGVyYW5kc0lubGluZXMuaCIKQEAgLTYwNiw2ICs2MDcsMTEgQEAgcHJpdmF0
ZToKICAgICAgICAgY2FzZSBDcmVhdGVBY3RpdmF0aW9uOgogICAgICAgICAgICAgY29tcGlsZUNy
ZWF0ZUFjdGl2YXRpb24oKTsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIE5ld0Fy
cm93RnVuY3Rpb246CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAg
ICAgICAgIGNvbXBpbGVOZXdBcnJvd0Z1bmN0aW9uKCk7CisjZW5kaWYKKyAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgICAgICAgICAgY29tcGlsZU5ld0Z1
bmN0aW9uKCk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTI5NjcsNiArMjk3Myw1MiBAQCBwcml2
YXRlOgogICAgICAgICBzZXRKU1ZhbHVlKG1fb3V0LnBoaShtX291dC5pbnRQdHIsIGZhc3RSZXN1
bHQsIHNsb3dSZXN1bHQpKTsKICAgICB9CiAgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICB2b2lkIGNvbXBpbGVOZXdBcnJvd0Z1bmN0aW9uKCkKKyAgICB7CisK
KyAgICAgICAgTFZhbHVlIHNjb3BlID0gbG93Q2VsbChtX25vZGUtPmNoaWxkMSgpKTsKKyAgICAg
ICAgTFZhbHVlIHRoaXNWYWx1ZSA9IGxvd0pTVmFsdWUobV9ub2RlLT5jaGlsZDIoKSk7CisgICAg
ICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9IG1fbm9kZS0+Y2FzdE9wZXJhbmQ8
RnVuY3Rpb25FeGVjdXRhYmxlKj4oKTsKKyAgICAgICAgaWYgKGV4ZWN1dGFibGUtPnNpbmdsZXRv
bkZ1bmN0aW9uKCktPmlzU3RpbGxWYWxpZCgpKSB7CisgICAgICAgICAgICBMVmFsdWUgY2FsbFJl
c3VsdCA9IHZtQ2FsbCgKKyAgICAgICAgICAgICAgICBtX291dC5vcGVyYXRpb24ob3BlcmF0aW9u
TmV3QXJyb3dGdW5jdGlvbiksCisgICAgICAgICAgICAgICAgbV9jYWxsRnJhbWUsIHNjb3BlLCB3
ZWFrUG9pbnRlcihleGVjdXRhYmxlKSwgdGhpc1ZhbHVlKTsKKyAgICAgICAgICAgIHNldEpTVmFs
dWUoY2FsbFJlc3VsdCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAg
CisgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gbV9ncmFwaC5nbG9iYWxPYmplY3RGb3Io
bV9ub2RlLT5vcmlnaW4uc2VtYW50aWMpLT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCk7CisgICAg
ICAgIAorICAgICAgICBMQmFzaWNCbG9jayBzbG93UGF0aCA9IEZUTF9ORVdfQkxPQ0sobV9vdXQs
ICgiTmV3QXJyb3dGdW5jdGlvbiBzbG93IHBhdGgiKSk7CisgICAgICAgIExCYXNpY0Jsb2NrIGNv
bnRpbnVhdGlvbiA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiTmV3QXJyb3dGdW5jdGlvbiBjb250
aW51YXRpb24iKSk7CisgICAgICAgIAorICAgICAgICBMQmFzaWNCbG9jayBsYXN0TmV4dCA9IG1f
b3V0Lmluc2VydE5ld0Jsb2Nrc0JlZm9yZShzbG93UGF0aCk7CisgICAgICAgIAorICAgICAgICBM
VmFsdWUgZmFzdE9iamVjdCA9IGFsbG9jYXRlT2JqZWN0PEpTQXJyb3dGdW5jdGlvbj4oc3RydWN0
dXJlLCBtX291dC5pbnRQdHJaZXJvLCBzbG93UGF0aCk7CisgICAgICAgIAorICAgICAgICAvLyBX
ZSBkb24ndCBuZWVkIG1lbW9yeSBiYXJyaWVycyBzaW5jZSB3ZSBqdXN0IGZhc3QtY3JlYXRlZCB0
aGUgZnVuY3Rpb24sIHNvIGl0CisgICAgICAgIC8vIG11c3QgYmUgeW91bmcuCisgICAgICAgIG1f
b3V0LnN0b3JlUHRyKHNjb3BlLCBmYXN0T2JqZWN0LCBtX2hlYXBzLkpTQXJyb3dGdW5jdGlvbl9z
Y29wZSk7CisgICAgICAgIG1fb3V0LnN0b3JlUHRyKHdlYWtQb2ludGVyKGV4ZWN1dGFibGUpLCBm
YXN0T2JqZWN0LCBtX2hlYXBzLkpTQXJyb3dGdW5jdGlvbl9leGVjdXRhYmxlKTsKKyAgICAgICAg
bV9vdXQuc3RvcmVQdHIodGhpc1ZhbHVlLCBmYXN0T2JqZWN0LCBtX2hlYXBzLkpTQXJyb3dGdW5j
dGlvbl90aGlzKTsKKyAgICAgICAgbV9vdXQuc3RvcmVQdHIobV9vdXQuaW50UHRyWmVybywgZmFz
dE9iamVjdCwgbV9oZWFwcy5KU0Fycm93RnVuY3Rpb25fcmFyZURhdGEpOworICAgICAgICAKKyAg
ICAgICAgVmFsdWVGcm9tQmxvY2sgZmFzdFJlc3VsdCA9IG1fb3V0LmFuY2hvcihmYXN0T2JqZWN0
KTsKKyAgICAgICAgbV9vdXQuanVtcChjb250aW51YXRpb24pOworICAgICAgICAKKyAgICAgICAg
bV9vdXQuYXBwZW5kVG8oc2xvd1BhdGgsIGNvbnRpbnVhdGlvbik7CisgICAgICAgIExWYWx1ZSBj
YWxsUmVzdWx0ID0gdm1DYWxsKAorICAgICAgICAgICAgbV9vdXQub3BlcmF0aW9uKG9wZXJhdGlv
bk5ld0Fycm93RnVuY3Rpb25XaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRjaHBvaW50KSwK
KyAgICAgICAgICAgIG1fY2FsbEZyYW1lLCBzY29wZSwgd2Vha1BvaW50ZXIoZXhlY3V0YWJsZSks
IHRoaXNWYWx1ZSk7CisgICAgICAgIFZhbHVlRnJvbUJsb2NrIHNsb3dSZXN1bHQgPSBtX291dC5h
bmNob3IoY2FsbFJlc3VsdCk7CisgICAgICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9uKTsKKyAg
ICAgICAgCisgICAgICAgIG1fb3V0LmFwcGVuZFRvKGNvbnRpbnVhdGlvbiwgbGFzdE5leHQpOwor
ICAgICAgICBzZXRKU1ZhbHVlKG1fb3V0LnBoaShtX291dC5pbnRQdHIsIGZhc3RSZXN1bHQsIHNs
b3dSZXN1bHQpKTsKKyAgICB9CisjZW5kaWYKKyAgICAKICAgICB2b2lkIGNvbXBpbGVDcmVhdGVE
aXJlY3RBcmd1bWVudHMoKQogICAgIHsKICAgICAgICAgLy8gRklYTUU6IEEgbW9yZSBlZmZlY3Rp
dmUgd2F5IG9mIGRlYWxpbmcgd2l0aCB0aGUgYXJndW1lbnQgY291bnQgYW5kIGNhbGxlZSBpcyB0
byBoYXZlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50
ZXJwcmV0ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJl
dGVyLmNwcAppbmRleCAxN2RkM2I0ZjQ1ZjU2ZmYyMDAyM2Q3M2I3NWRjN2Q3MGI2MzQ5NjhmLi4y
MDAwNWMwNzE1MzNiMTY4M2FmZGEyZDYyZGM2NWMwMTY3ZDkxMDk0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKQEAgLTQ0LDYgKzQ0
LDcgQEAKICNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCiAjaW5jbHVkZSAiR2V0dGVyU2V0
dGVyLmgiCiAjaW5jbHVkZSAiSlNBcnJheS5oIgorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5o
IgogI2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIK
ICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhlbHBlcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvQ0NhbGxIZWxwZXJzLmgKaW5kZXggZmQzNDRhZGJjYWJiMTVmYmQ4MTRlZDZmYmQ0NzhmNzRi
NjE1NzYzYy4uMDdhY2Q2ZDUzMmQzMjhhZmRiNzdhY2YyMDEzMzkwZWYzOWRkOWQ2NyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhlbHBlcnMuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxsSGVscGVycy5oCkBAIC0yNzQsNiArMjc0LDE1IEBA
IHB1YmxpYzoKICAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzIpOwogICAgICAgICBhZGRDYWxs
QXJndW1lbnQoYXJnMyk7CiAgICAgfQorICAgIAorICAgIEFMV0FZU19JTkxJTkUgdm9pZCBzZXR1
cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoR1BSUmVnIGFyZzEsIFRydXN0ZWRJbW1QdHIgYXJnMiwg
R1BSUmVnIGFyZzMpCisgICAgeworICAgICAgICByZXNldENhbGxBcmd1bWVudHMoKTsKKyAgICAg
ICAgYWRkQ2FsbEFyZ3VtZW50KEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyKTsKKyAgICAgICAg
YWRkQ2FsbEFyZ3VtZW50KGFyZzEpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMik7Cisg
ICAgICAgIGFkZENhbGxBcmd1bWVudChhcmczKTsKKyAgICB9CiAKICAgICBBTFdBWVNfSU5MSU5F
IHZvaWQgc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJn
MiwgVHJ1c3RlZEltbTMyIGFyZzMpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCmlu
ZGV4IGI0MTEzYzQ1ZTcyYzdlMTU4ZWMxZjE5MjNjYmZlMjljNWVmNTQyODIuLjhhMWJhYzg3ZmQx
MGI5ODdmNjRmZDBjMjExMzIxMGNhNjcwNWVkYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5j
cHAKQEAgLTI2MCw2ICsyNjAsNyBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcygp
CiAgICAgICAgIERFRklORV9PUChvcF9uZXdfYXJyYXlfYnVmZmVyKQogICAgICAgICBERUZJTkVf
T1Aob3BfbmV3X2Z1bmMpCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfZnVuY19leHApCisgICAg
ICAgIERFRklORV9PUChvcF9uZXdfYXJyb3dfZnVuY19leHApIAogICAgICAgICBERUZJTkVfT1Ao
b3BfbmV3X29iamVjdCkKICAgICAgICAgREVGSU5FX09QKG9wX25ld19yZWdleHApCiAgICAgICAg
IERFRklORV9PUChvcF9ub3QpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAppbmRleCBkNzIyNWVhNGIy
YWU1NDMxODc4NDRjMjA3NmVjNmViOGQ2NWQyMWM5Li5kYWE1MjA5NDg4NTc5MTYwYmJkOWM0N2Qw
N2I0YTA0NTlmYjhiMDEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKQEAgLTUyMSw2ICs1MjEs
NyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBlbWl0X29wX25ld19hcnJheV9idWZm
ZXIoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX25ld19mdW5jKEluc3RydWN0
aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfZnVuY19leHAoSW5zdHJ1Y3Rpb24qKTsK
KyAgICAgICAgdm9pZCBlbWl0X29wX25ld19hcnJvd19mdW5jX2V4cChJbnN0cnVjdGlvbiopOwog
ICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X29iamVjdChJbnN0cnVjdGlvbiopOwogICAgICAgICB2
b2lkIGVtaXRfb3BfbmV3X3JlZ2V4cChJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRf
b3Bfbm90KEluc3RydWN0aW9uKik7CkBAIC03MDIsNiArNzAzLDcgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRp
b25fRUpKLCBpbnQsIEdQUlJlZywgR1BSUmVnKTsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNh
bGwgY2FsbE9wZXJhdGlvbihDX0pJVE9wZXJhdGlvbl9FSnNjLCBHUFJSZWcpOwogICAgICAgICBN
YWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKc2NDLCBp
bnQsIEdQUlJlZywgSlNDZWxsKik7CisgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxP
cGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0NKLCBpbnQsIEdQUlJlZywgSlNDZWxsKiwgR1BS
UmVnKTsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihDX0pJVE9w
ZXJhdGlvbl9FSnNjWiwgR1BSUmVnLCBpbnQzMl90KTsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6
OkNhbGwgY2FsbE9wZXJhdGlvbihDX0pJVE9wZXJhdGlvbl9FSnNjWiwgaW50LCBHUFJSZWcsIGlu
dDMyX3QpOwogI2lmIFVTRShKU1ZBTFVFNjQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVElubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5s
aW5lcy5oCmluZGV4IDllZTI0ZDA5MjI4YTk4ODJlYTc2OTYyOWQxYTg3YjZjMzRhODYzMzQuLmEw
ZTQwYzVjNjFmZTYzZTk4NjNlZDIyM2VkZjVkNDUxZjMxOGE3NzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUSW5saW5lcy5oCkBAIC0yNzEsNiArMjcxLDEyIEBAIEFMV0FZU19JTkxJTkUg
TWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VK
c2NDIG9wZXJhCiAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRKU1Zh
bHVlUmVzdWx0KG9wZXJhdGlvbiwgZHN0KTsKIH0KIAorQUxXQVlTX0lOTElORSBNYWNyb0Fzc2Vt
Ymxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0NKIG9wZXJh
dGlvbiwgaW50IGRzdCwgR1BSUmVnIGFyZzEsIEpTQ2VsbCogY2VsbCwgR1BSUmVnIGFyZzIpCit7
CisgICAgc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIFRydXN0ZWRJbW1QdHIoY2Vs
bCksIGFyZzIpOworICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0SlNW
YWx1ZVJlc3VsdChvcGVyYXRpb24sIGRzdCk7Cit9CisgICAgCiBBTFdBWVNfSU5MSU5FIE1hY3Jv
QXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FUCBvcGVy
YXRpb24sIGludCBkc3QsIHZvaWQqIHBvaW50ZXIpCiB7CiAgICAgc2V0dXBBcmd1bWVudHNXaXRo
RXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIocG9pbnRlcikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUT3Bjb2Rlcy5jcHAKaW5kZXggNWQ0ZDBiOWZlODc2OGFjMmZlNTk2NTc1ZWQ0YWE4MTIy
MGRhZDZjNy4uZGNlMzcxMjVjNGVmYjA1NGE4MDYxNTRlMGFkMjNhZGZmOWVhNGI3YyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCkBAIC05ODcsNiArOTg3LDI5IEBA
IHZvaWQgSklUOjplbWl0X29wX25ld19mdW5jX2V4cChJbnN0cnVjdGlvbiogY3VycmVudEluc3Ry
dWN0aW9uKQogICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uTmV3RnVuY3Rpb24sIGRzdCwgcmVn
VDAsIGZ1bmNFeHByKTsKICAgICBkb25lLmxpbmsodGhpcyk7CiB9CisgICAgCit2b2lkIEpJVDo6
ZW1pdF9vcF9uZXdfYXJyb3dfZnVuY19leHAoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlv
bikKK3sKKyAgICBKdW1wIG5vdFVuZGVmaW5lZFNjb3BlOworICAgIGludCBkc3QgPSBjdXJyZW50
SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kOworI2lmIFVTRShKU1ZBTFVFNjQpCisgICAgZW1pdEdl
dFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kLCByZWdUMCk7
CisgICAgZW1pdEdldFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bNF0udS5vcGVy
YW5kLCByZWdUMSk7CisgICAgbm90VW5kZWZpbmVkU2NvcGUgPSBicmFuY2g2NChOb3RFcXVhbCwg
cmVnVDAsIFRydXN0ZWRJbW02NChKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSkpKTsKKyAg
ICBzdG9yZTY0KFRydXN0ZWRJbW02NChKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSkpLCBB
ZGRyZXNzKGNhbGxGcmFtZVJlZ2lzdGVyLCBzaXplb2YoUmVnaXN0ZXIpICogZHN0KSk7CisjZWxz
ZQorICAgIGVtaXRMb2FkUGF5bG9hZChjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kLCBy
ZWdUMCk7CisgICAgZW1pdExvYWRQYXlsb2FkKGN1cnJlbnRJbnN0cnVjdGlvbls0XS51Lm9wZXJh
bmQsIHJlZ1QxKTsKKyAgICBub3RVbmRlZmluZWRTY29wZSA9IGJyYW5jaDMyKE5vdEVxdWFsLCB0
YWdGb3IoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCksIFRydXN0ZWRJbW0zMihKU1Zh
bHVlOjpVbmRlZmluZWRUYWcpKTsKKyAgICBlbWl0U3RvcmUoZHN0LCBqc1VuZGVmaW5lZCgpKTsK
KyNlbmRpZgorICAgIEp1bXAgZG9uZSA9IGp1bXAoKTsKKyAgICBub3RVbmRlZmluZWRTY29wZS5s
aW5rKHRoaXMpOworICAgIAorICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZnVuY3Rpb24gPSBtX2Nv
ZGVCbG9jay0+ZnVuY3Rpb25FeHByKGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9wZXJhbmQpOwor
ICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbiwgZHN0LCByZWdUMCwg
ZnVuY3Rpb24sIHJlZ1QxKTsKKyAgICBkb25lLmxpbmsodGhpcyk7Cit9CiAKIHZvaWQgSklUOjpl
bWl0X29wX25ld19hcnJheShJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogewpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKaW5kZXggOThkODc3M2Yz
OGQ5NWYyYjhlNThjZGJkNzgzNjAyOTgxNTQwMDcxMy4uOTY3Y2E4ZWFmNzViMTBkZTgwMTBmMjE0
ZDRlYzY3NzI0N2ZlNDJjMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRPcGVyYXRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJh
dGlvbnMuY3BwCkBAIC0yMCw3ICsyMCw3IEBACiAgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCiAgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKICAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKICNpbmNs
dWRlICJjb25maWcuaCIKQEAgLTQyLDYgKzQyLDggQEAKICNpbmNsdWRlICJIb3N0Q2FsbFJldHVy
blZhbHVlLmgiCiAjaW5jbHVkZSAiSklULmgiCiAjaW5jbHVkZSAiSklUVG9ERkdEZWZlcnJlZENv
bXBpbGF0aW9uQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKKyNpbmNs
dWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVk
ZSAiSlNDYXRjaFNjb3BlLmgiCiAjaW5jbHVkZSAiSlNGdW5jdGlvbk5hbWVTY29wZS5oIgpAQCAt
NjcsNyArNjksNyBAQCB2b2lkIHB1c2hOYW1lU2NvcGUoRXhlY1N0YXRlKiBleGVjLCBpbnQzMl90
IGRzdCwgU3ltYm9sVGFibGUqIHN5bWJvbFRhYmxlLCBFbmNvZAogewogICAgIFZNJiB2bSA9IGV4
ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOwot
ICAgIAorCiAgICAgQVNTRVJUKCFKSVRDb2RlOjppc09wdGltaXppbmdKSVQoZXhlYy0+Y29kZUJs
b2NrKCktPmppdFR5cGUoKSkpOwogCiAgICAgLy8gRklYTUU6IFRoaXMgd29uJ3Qgd29yayBpZiB0
aGlzIG9wZXJhdGlvbiBpcyBjYWxsZWQgZnJvbSB0aGUgREZHIG9yIEZUTC4KQEAgLTE1MSw3ICsx
NTMsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWQoRXhl
Y1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbwogewogICAgIFZNKiB2bSA9ICZleGVjLT52
bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAor
CiAgICAgSlNWYWx1ZSBiYXNlVmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoYmFzZSk7CiAgICAgUHJv
cGVydHlTbG90IHNsb3QoYmFzZVZhbHVlKTsKICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRlbnRp
Zmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKQEAgLTE2OSw3ICsxNzEsNyBAQCBFbmNvZGVkSlNWYWx1
ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWRCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVj
LCBTdHJ1Y3R1cgogICAgIEpTVmFsdWUgYmFzZVZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGJhc2Up
OwogICAgIFByb3BlcnR5U2xvdCBzbG90KGJhc2VWYWx1ZSk7CiAgICAgYm9vbCBoYXNSZXN1bHQg
PSBiYXNlVmFsdWUuZ2V0UHJvcGVydHlTbG90KGV4ZWMsIGlkZW50LCBzbG90KTsKLSAgICAKKwog
ICAgIGlmIChhY2Nlc3NUeXBlID09IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5h
Y2Nlc3NUeXBlKSkKICAgICAgICAgYnVpbGRHZXRCeUlETGlzdChleGVjLCBiYXNlVmFsdWUsIGlk
ZW50LCBzbG90LCAqc3R1YkluZm8pOwogCkBAIC0xODQsMTMgKzE4NiwxMyBAQCBFbmNvZGVkSlNW
YWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWRPcHRpbWl6ZShFeGVjU3RhdGUqIGV4
ZWMsIFN0cnVjdHVyZQogCiAgICAgSlNWYWx1ZSBiYXNlVmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUo
YmFzZSk7CiAgICAgUHJvcGVydHlTbG90IHNsb3QoYmFzZVZhbHVlKTsKLSAgICAKKwogICAgIGJv
b2wgaGFzUmVzdWx0ID0gYmFzZVZhbHVlLmdldFByb3BlcnR5U2xvdChleGVjLCBpZGVudCwgc2xv
dCk7CiAgICAgaWYgKHN0dWJJbmZvLT5zZWVuKQogICAgICAgICByZXBhdGNoR2V0QnlJRChleGVj
LCBiYXNlVmFsdWUsIGlkZW50LCBzbG90LCAqc3R1YkluZm8pOwogICAgIGVsc2UKICAgICAgICAg
c3R1YkluZm8tPnNlZW4gPSB0cnVlOwotICAgIAorCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShoYXNSZXN1bHQ/IHNsb3QuZ2V0VmFsdWUoZXhlYywgaWRlbnQpIDoganNVbmRlZmluZWQoKSk7
CiAKIH0KQEAgLTE5OSwyNSArMjAxLDI1IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uSW5PcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJCiB7CiAg
ICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNl
cih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBpZiAoIWJhc2UtPmlzT2JqZWN0KCkpIHsKICAgICAg
ICAgdm0tPnRocm93RXhjZXB0aW9uKGV4ZWMsIGNyZWF0ZUludmFsaWRJblBhcmFtZXRlckVycm9y
KGV4ZWMsIGJhc2UpKTsKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5l
ZCgpKTsKICAgICB9Ci0gICAgCisKICAgICBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUgPSBzdGF0aWNf
Y2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSk7CiAKICAgICBJZGVudGlmaWVy
IGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwga2V5KTsKICAgICBQcm9wZXJ0eVNsb3Qg
c2xvdChiYXNlKTsKICAgICBib29sIHJlc3VsdCA9IGFzT2JqZWN0KGJhc2UpLT5nZXRQcm9wZXJ0
eVNsb3QoZXhlYywgaWRlbnQsIHNsb3QpOwotICAgIAorCiAgICAgUkVMRUFTRV9BU1NFUlQoYWNj
ZXNzVHlwZSA9PSBzdHViSW5mby0+YWNjZXNzVHlwZSk7Ci0gICAgCisKICAgICBpZiAoc3R1Yklu
Zm8tPnNlZW4pCiAgICAgICAgIHJlcGF0Y2hJbihleGVjLCBiYXNlLCBpZGVudCwgcmVzdWx0LCBz
bG90LCAqc3R1YkluZm8pOwogICAgIGVsc2UKICAgICAgICAgc3R1YkluZm8tPnNlZW4gPSB0cnVl
OwotICAgIAorCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4ocmVzdWx0KSk7
CiB9CiAKQEAgLTI0Nyw3ICsyNDksNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0
QnlJZFN0cmljdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbmZvKiwgRQogewogICAg
IFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIo
dm0sIGV4ZWMpOwotICAgIAorCiAgICAgSWRlbnRpZmllciBpZGVudCA9IElkZW50aWZpZXI6OmZy
b21VaWQodm0sIHVpZCk7CiAgICAgUHV0UHJvcGVydHlTbG90IHNsb3QoSlNWYWx1ZTo6ZGVjb2Rl
KGVuY29kZWRCYXNlKSwgdHJ1ZSwgZXhlYy0+Y29kZUJsb2NrKCktPnB1dEJ5SWRDb250ZXh0KCkp
OwogICAgIEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSkucHV0KGV4ZWMsIGlkZW50LCBKU1Zh
bHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKSwgc2xvdCk7CkBAIC0yNTcsNyArMjU5LDcgQEAgdm9p
ZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3QoRXhlY1N0YXRlKiBleGVj
LCBTdHJ1Y3R1cmVTdHViSW5mbyoKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBO
YXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAgIElkZW50
aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCB1aWQpOwogICAgIFB1dFByb3Bl
cnR5U2xvdCBzbG90KEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSksIGZhbHNlLCBleGVjLT5j
b2RlQmxvY2soKS0+cHV0QnlJZENvbnRleHQoKSk7CiAgICAgSlNWYWx1ZTo6ZGVjb2RlKGVuY29k
ZWRCYXNlKS5wdXQoZXhlYywgaWRlbnQsIEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpLCBz
bG90KTsKQEAgLTI2Nyw3ICsyNjksNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0
QnlJZERpcmVjdFN0cmljdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWJJbgogewogICAg
IFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIo
dm0sIGV4ZWMpOwotICAgIAorCiAgICAgSWRlbnRpZmllciBpZGVudCA9IElkZW50aWZpZXI6OmZy
b21VaWQodm0sIHVpZCk7CiAgICAgUHV0UHJvcGVydHlTbG90IHNsb3QoSlNWYWx1ZTo6ZGVjb2Rl
KGVuY29kZWRCYXNlKSwgdHJ1ZSwgZXhlYy0+Y29kZUJsb2NrKCktPnB1dEJ5SWRDb250ZXh0KCkp
OwogICAgIGFzT2JqZWN0KEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSkpLT5wdXREaXJlY3Qo
ZXhlYy0+dm0oKSwgaWRlbnQsIEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpLCBzbG90KTsK
QEAgLTI3Nyw3ICsyNzksNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERp
cmVjdE5vblN0cmljdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dQogewogICAgIFZNKiB2
bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4
ZWMpOwotICAgIAorCiAgICAgSWRlbnRpZmllciBpZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQo
dm0sIHVpZCk7CiAgICAgUHV0UHJvcGVydHlTbG90IHNsb3QoSlNWYWx1ZTo6ZGVjb2RlKGVuY29k
ZWRCYXNlKSwgZmFsc2UsIGV4ZWMtPmNvZGVCbG9jaygpLT5wdXRCeUlkQ29udGV4dCgpKTsKICAg
ICBhc09iamVjdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpKS0+cHV0RGlyZWN0KGV4ZWMt
PnZtKCksIGlkZW50LCBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKSwgc2xvdCk7CkBAIC0y
ODcsNyArMjg5LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3RP
cHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWIKIHsKICAgICBWTSogdm0gPSAm
ZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsK
LSAgICAKKwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCB1
aWQpOwogICAgIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSA9IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+
KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKTsKIApAQCAtMjk3LDEwICsyOTksMTAgQEAgdm9pZCBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMs
IFN0cnVjdHVyZVN0dWIKIAogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZVZhbHVlLmlz
Q2VsbCgpID8gYmFzZVZhbHVlLmFzQ2VsbCgpLT5zdHJ1Y3R1cmUoKnZtKSA6IG51bGxwdHI7CiAg
ICAgYmFzZVZhbHVlLnB1dChleGVjLCBpZGVudCwgdmFsdWUsIHNsb3QpOwotICAgIAorCiAgICAg
aWYgKGFjY2Vzc1R5cGUgIT0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vz
c1R5cGUpKQogICAgICAgICByZXR1cm47Ci0gICAgCisKICAgICBpZiAoc3R1YkluZm8tPnNlZW4p
CiAgICAgICAgIHJlcGF0Y2hQdXRCeUlEKGV4ZWMsIGJhc2VWYWx1ZSwgc3RydWN0dXJlLCBpZGVu
dCwgc2xvdCwgKnN0dWJJbmZvLCBOb3REaXJlY3QpOwogICAgIGVsc2UKQEAgLTMxMSw3ICszMTMs
NyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdE9wdGltaXpl
KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlUwogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgp
OwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAg
ICAgSWRlbnRpZmllciBpZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIHVpZCk7CiAgICAg
QWNjZXNzVHlwZSBhY2Nlc3NUeXBlID0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8t
PmFjY2Vzc1R5cGUpOwogCkBAIC0zMTksMTIgKzMyMSwxMiBAQCB2b2lkIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0
dXJlUwogICAgIEpTVmFsdWUgYmFzZVZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNl
KTsKICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChiYXNlVmFsdWUsIGZhbHNlLCBleGVjLT5jb2Rl
QmxvY2soKS0+cHV0QnlJZENvbnRleHQoKSk7CiAKLSAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9
IGJhc2VWYWx1ZS5pc0NlbGwoKSA/IGJhc2VWYWx1ZS5hc0NlbGwoKS0+c3RydWN0dXJlKCp2bSkg
OiBudWxscHRyOyAgICAKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2VWYWx1ZS5pc0Nl
bGwoKSA/IGJhc2VWYWx1ZS5hc0NlbGwoKS0+c3RydWN0dXJlKCp2bSkgOiBudWxscHRyOwogICAg
IGJhc2VWYWx1ZS5wdXQoZXhlYywgaWRlbnQsIHZhbHVlLCBzbG90KTsKLSAgICAKKwogICAgIGlm
IChhY2Nlc3NUeXBlICE9IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NU
eXBlKSkKICAgICAgICAgcmV0dXJuOwotICAgIAorCiAgICAgaWYgKHN0dWJJbmZvLT5zZWVuKQog
ICAgICAgICByZXBhdGNoUHV0QnlJRChleGVjLCBiYXNlVmFsdWUsIHN0cnVjdHVyZSwgaWRlbnQs
IHNsb3QsICpzdHViSW5mbywgTm90RGlyZWN0KTsKICAgICBlbHNlCkBAIC0zMzUsMjAgKzMzNywy
MCBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdE9wdGlt
aXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgp
OwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAg
ICAgSWRlbnRpZmllciBpZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIHVpZCk7CiAgICAg
QWNjZXNzVHlwZSBhY2Nlc3NUeXBlID0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8t
PmFjY2Vzc1R5cGUpOwogCiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNv
ZGVkVmFsdWUpOwogICAgIEpTT2JqZWN0KiBiYXNlT2JqZWN0ID0gYXNPYmplY3QoSlNWYWx1ZTo6
ZGVjb2RlKGVuY29kZWRCYXNlKSk7CiAgICAgUHV0UHJvcGVydHlTbG90IHNsb3QoYmFzZU9iamVj
dCwgdHJ1ZSwgZXhlYy0+Y29kZUJsb2NrKCktPnB1dEJ5SWRDb250ZXh0KCkpOwotICAgIAorCiAg
ICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlT2JqZWN0LT5zdHJ1Y3R1cmUoKnZtKTsKICAg
ICBiYXNlT2JqZWN0LT5wdXREaXJlY3QoZXhlYy0+dm0oKSwgaWRlbnQsIHZhbHVlLCBzbG90KTsK
LSAgICAKKwogICAgIGlmIChhY2Nlc3NUeXBlICE9IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0
dWJJbmZvLT5hY2Nlc3NUeXBlKSkKICAgICAgICAgcmV0dXJuOwotICAgIAorCiAgICAgaWYgKHN0
dWJJbmZvLT5zZWVuKQogICAgICAgICByZXBhdGNoUHV0QnlJRChleGVjLCBiYXNlT2JqZWN0LCBz
dHJ1Y3R1cmUsIGlkZW50LCBzbG90LCAqc3R1YkluZm8sIERpcmVjdCk7CiAgICAgZWxzZQpAQCAt
MzU5LDIwICszNjEsMjAgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJl
Y3ROb25TdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnUKIHsKICAgICBWTSogdm0g
PSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVj
KTsKLSAgICAKKwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVyOjpmcm9tVWlkKHZt
LCB1aWQpOwogICAgIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSA9IHN0YXRpY19jYXN0PEFjY2Vzc1R5
cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKTsKIAogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVl
OjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKICAgICBKU09iamVjdCogYmFzZU9iamVjdCA9IGFzT2Jq
ZWN0KEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSkpOwogICAgIFB1dFByb3BlcnR5U2xvdCBz
bG90KGJhc2VPYmplY3QsIGZhbHNlLCBleGVjLT5jb2RlQmxvY2soKS0+cHV0QnlJZENvbnRleHQo
KSk7Ci0gICAgCisKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2VPYmplY3QtPnN0cnVj
dHVyZSgqdm0pOwogICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdChleGVjLT52bSgpLCBpZGVudCwg
dmFsdWUsIHNsb3QpOwotICAgIAorCiAgICAgaWYgKGFjY2Vzc1R5cGUgIT0gc3RhdGljX2Nhc3Q8
QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpKQogICAgICAgICByZXR1cm47Ci0gICAg
CisKICAgICBpZiAoc3R1YkluZm8tPnNlZW4pCiAgICAgICAgIHJlcGF0Y2hQdXRCeUlEKGV4ZWMs
IGJhc2VPYmplY3QsIHN0cnVjdHVyZSwgaWRlbnQsIHNsb3QsICpzdHViSW5mbywgRGlyZWN0KTsK
ICAgICBlbHNlCkBAIC0zODMsMTUgKzM4NSwxNSBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uUHV0QnlJZFN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dQog
ewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0
cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAgSWRlbnRpZmllciBpZGVudCA9IElkZW50aWZp
ZXI6OmZyb21VaWQodm0sIHVpZCk7CiAgICAgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlID0gc3RhdGlj
X2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpOwogCiAgICAgSlNWYWx1ZSB2
YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOwogICAgIEpTVmFsdWUgYmFzZVZh
bHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKTsKICAgICBQdXRQcm9wZXJ0eVNsb3Qg
c2xvdChiYXNlVmFsdWUsIHRydWUsIGV4ZWMtPmNvZGVCbG9jaygpLT5wdXRCeUlkQ29udGV4dCgp
KTsKLSAgICAKLSAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2VWYWx1ZS5pc0NlbGwoKSA/
IGJhc2VWYWx1ZS5hc0NlbGwoKS0+c3RydWN0dXJlKCp2bSkgOiBudWxscHRyOyAKKworICAgIFN0
cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZVZhbHVlLmlzQ2VsbCgpID8gYmFzZVZhbHVlLmFzQ2Vs
bCgpLT5zdHJ1Y3R1cmUoKnZtKSA6IG51bGxwdHI7CiAgICAgYmFzZVZhbHVlLnB1dChleGVjLCBp
ZGVudCwgdmFsdWUsIHNsb3QpOwogCiAgICAgaWYgKGFjY2Vzc1R5cGUgIT0gc3RhdGljX2Nhc3Q8
QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpKQpAQCAtNDA0LDcgKzQwNiw3IEBAIHZv
aWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0QnVpbGRMaXN0KEV4ZWNT
dGF0ZSogZXhlYywgU3RydWN0dXJlCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAg
TmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJZGVu
dGlmaWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBBY2Nlc3NU
eXBlIGFjY2Vzc1R5cGUgPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNz
VHlwZSk7CiAKQEAgLTQxNCwxMCArNDE2LDEwIEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRp
b25QdXRCeUlkTm9uU3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlCiAK
ICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2VWYWx1ZS5pc0NlbGwoKSA/IGJhc2VWYWx1
ZS5hc0NlbGwoKS0+c3RydWN0dXJlKCp2bSkgOiBudWxscHRyOwogICAgIGJhc2VWYWx1ZS5wdXQo
ZXhlYywgaWRlbnQsIHZhbHVlLCBzbG90KTsKLSAgICAKKwogICAgIGlmIChhY2Nlc3NUeXBlICE9
IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKSkKICAgICAgICAg
cmV0dXJuOwotICAgIAorCiAgICAgYnVpbGRQdXRCeUlkTGlzdChleGVjLCBiYXNlVmFsdWUsIHN0
cnVjdHVyZSwgaWRlbnQsIHNsb3QsICpzdHViSW5mbywgTm90RGlyZWN0KTsKIH0KIApAQCAtNDI1
LDIwICs0MjcsMjAgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RT
dHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3QKIHsKICAgICBWTSogdm0gPSAm
ZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsK
LSAgICAKKwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCB1
aWQpOwogICAgIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSA9IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+
KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKTsKLSAgICAKKwogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1Zh
bHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKICAgICBKU09iamVjdCogYmFzZU9iamVjdCA9IGFz
T2JqZWN0KEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSkpOwogICAgIFB1dFByb3BlcnR5U2xv
dCBzbG90KGJhc2VPYmplY3QsIHRydWUsIGV4ZWMtPmNvZGVCbG9jaygpLT5wdXRCeUlkQ29udGV4
dCgpKTsKIAotICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZU9iamVjdC0+c3RydWN0dXJl
KCp2bSk7ICAgIAorICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZU9iamVjdC0+c3RydWN0
dXJlKCp2bSk7CiAgICAgYmFzZU9iamVjdC0+cHV0RGlyZWN0KCp2bSwgaWRlbnQsIHZhbHVlLCBz
bG90KTsKLSAgICAKKwogICAgIGlmIChhY2Nlc3NUeXBlICE9IHN0YXRpY19jYXN0PEFjY2Vzc1R5
cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKSkKICAgICAgICAgcmV0dXJuOwotICAgIAorCiAgICAg
YnVpbGRQdXRCeUlkTGlzdChleGVjLCBiYXNlT2JqZWN0LCBzdHJ1Y3R1cmUsIGlkZW50LCBzbG90
LCAqc3R1YkluZm8sIERpcmVjdCk7CiB9CiAKQEAgLTQ0Niw3ICs0NDgsNyBAQCB2b2lkIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmljdEJ1aWxkTGlzdChFeGVjU3Rh
dGUqIGV4ZWMsIFN0cgogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNh
bGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAgSWRlbnRpZmllciBp
ZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIHVpZCk7CiAgICAgQWNjZXNzVHlwZSBhY2Nl
c3NUeXBlID0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpOwog
CkBAIC00NTQsMTIgKzQ1NiwxMiBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJ
ZERpcmVjdE5vblN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cgogICAgIEpTT2Jq
ZWN0KiBiYXNlT2JqZWN0ID0gYXNPYmplY3QoSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKSk7
CiAgICAgUHV0UHJvcGVydHlTbG90IHNsb3QoYmFzZU9iamVjdCwgZmFsc2UsIGV4ZWMtPmNvZGVC
bG9jaygpLT5wdXRCeUlkQ29udGV4dCgpKTsKIAotICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0g
YmFzZU9iamVjdC0+c3RydWN0dXJlKCp2bSk7ICAgIAorICAgIFN0cnVjdHVyZSogc3RydWN0dXJl
ID0gYmFzZU9iamVjdC0+c3RydWN0dXJlKCp2bSk7CiAgICAgYmFzZU9iamVjdC0+cHV0RGlyZWN0
KCp2bSwgaWRlbnQsIHZhbHVlLCBzbG90KTsKIAogICAgIGlmIChhY2Nlc3NUeXBlICE9IHN0YXRp
Y19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKSkKICAgICAgICAgcmV0dXJu
OwotICAgIAorCiAgICAgYnVpbGRQdXRCeUlkTGlzdChleGVjLCBiYXNlT2JqZWN0LCBzdHJ1Y3R1
cmUsIGlkZW50LCBzbG90LCAqc3R1YkluZm8sIERpcmVjdCk7CiB9CiAKQEAgLTU3Niw3ICs1Nzgs
NyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uRGlyZWN0UHV0QnlWYWwoRXhlY1N0YXRl
KiBjYWxsRnJhbWUsIEVuY29kZWRKU1ZhbHVlCiB7CiAgICAgVk0mIHZtID0gY2FsbEZyYW1lLT52
bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBjYWxsRnJhbWUpOwot
ICAgIAorCiAgICAgSlNWYWx1ZSBiYXNlVmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJh
c2VWYWx1ZSk7CiAgICAgSlNWYWx1ZSBzdWJzY3JpcHQgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2Rl
ZFN1YnNjcmlwdCk7CiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVk
VmFsdWUpOwpAQCAtNTg1LDEyICs1ODcsMTIgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
bkRpcmVjdFB1dEJ5VmFsKEV4ZWNTdGF0ZSogY2FsbEZyYW1lLCBFbmNvZGVkSlNWYWx1ZQogICAg
IGlmIChzdWJzY3JpcHQuaXNJbnQzMigpKSB7CiAgICAgICAgIC8vIFNlZSBpZiBpdCdzIHdvcnRo
IG9wdGltaXppbmcgYXQgYWxsLgogICAgICAgICBib29sIGRpZE9wdGltaXplID0gZmFsc2U7Ci0g
ICAgICAgIAorCiAgICAgICAgIHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0ID0gY2FsbEZyYW1lLT5s
b2NhdGlvbkFzQnl0ZWNvZGVPZmZzZXQoKTsKICAgICAgICAgQVNTRVJUKGJ5dGVjb2RlT2Zmc2V0
KTsKICAgICAgICAgQnlWYWxJbmZvJiBieVZhbEluZm8gPSBjYWxsRnJhbWUtPmNvZGVCbG9jaygp
LT5nZXRCeVZhbEluZm8oYnl0ZWNvZGVPZmZzZXQgLSAxKTsKICAgICAgICAgQVNTRVJUKCFieVZh
bEluZm8uc3R1YlJvdXRpbmUpOwotICAgICAgICAKKwogICAgICAgICBpZiAoaGFzT3B0aW1pemFi
bGVJbmRleGluZyhvYmplY3QtPnN0cnVjdHVyZSh2bSkpKSB7CiAgICAgICAgICAgICAvLyBBdHRl
bXB0IHRvIG9wdGltaXplLgogICAgICAgICAgICAgSklUQXJyYXlNb2RlIGFycmF5TW9kZSA9IGpp
dEFycmF5TW9kZUZvclN0cnVjdHVyZShvYmplY3QtPnN0cnVjdHVyZSh2bSkpOwpAQCAtNTk5LDcg
KzYwMSw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25EaXJlY3RQdXRCeVZhbChFeGVj
U3RhdGUqIGNhbGxGcmFtZSwgRW5jb2RlZEpTVmFsdWUKICAgICAgICAgICAgICAgICBkaWRPcHRp
bWl6ZSA9IHRydWU7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICAgICAgCisKICAgICAg
ICAgaWYgKCFkaWRPcHRpbWl6ZSkgewogICAgICAgICAgICAgLy8gSWYgd2UgdGFrZSBzbG93IHBh
dGggbW9yZSB0aGFuIDEwIHRpbWVzIHdpdGhvdXQgcGF0Y2hpbmcgdGhlbiBtYWtlIHN1cmUgd2UK
ICAgICAgICAgICAgIC8vIG5ldmVyIG1ha2UgdGhhdCBtaXN0YWtlIGFnYWluLiBPciwgaWYgd2Ug
ZmFpbGVkIHRvIHBhdGNoIGFuZCB3ZSBoYXZlIHNvbWUgb2JqZWN0CkBAIC02MjAsNyArNjIyLDcg
QEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5VmFsR2VuZXJpYyhFeGVjU3RhdGUq
IGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY28KIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwog
ICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKLSAgICAKKwogICAg
IEpTVmFsdWUgYmFzZVZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlVmFsdWUpOwog
ICAgIEpTVmFsdWUgc3Vic2NyaXB0ID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRTdWJzY3JpcHQp
OwogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKQEAg
LTYzMyw3ICs2MzUsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uRGlyZWN0UHV0QnlW
YWxHZW5lcmljKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdQogewogICAgIFZNJiB2bSA9
IGV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMp
OwotICAgIAorCiAgICAgSlNWYWx1ZSBiYXNlVmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2Rl
ZEJhc2VWYWx1ZSk7CiAgICAgSlNWYWx1ZSBzdWJzY3JpcHQgPSBKU1ZhbHVlOjpkZWNvZGUoZW5j
b2RlZFN1YnNjcmlwdCk7CiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNv
ZGVkVmFsdWUpOwpAQCAtNjU3LDcgKzY1OSw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uQ2FsbEV2YWwoRXhlY1N0YXRlKiBleGVjLCBFeGVjU3RhdGUqIGV4ZWNDCiAg
ICAgSlNWYWx1ZSByZXN1bHQgPSBldmFsKGV4ZWNDYWxsZWUpOwogICAgIGlmICh2bS0+ZXhjZXB0
aW9uKCkpCiAgICAgICAgIHJldHVybiBFbmNvZGVkSlNWYWx1ZSgpOwotICAgIAorCiAgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwogfQogCkBAIC02NzEsOSArNjczLDkgQEAgc3Rh
dGljIHZvaWQqIGhhbmRsZUhvc3RDYWxsKEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSwgSlNWYWx1ZSBj
YWxsZWUsIENvZGVTcGVjaWFsaXoKICAgICBpZiAoa2luZCA9PSBDb2RlRm9yQ2FsbCkgewogICAg
ICAgICBDYWxsRGF0YSBjYWxsRGF0YTsKICAgICAgICAgQ2FsbFR5cGUgY2FsbFR5cGUgPSBnZXRD
YWxsRGF0YShjYWxsZWUsIGNhbGxEYXRhKTsKLSAgICAKKwogICAgICAgICBBU1NFUlQoY2FsbFR5
cGUgIT0gQ2FsbFR5cGVKUyk7Ci0gICAgCisKICAgICAgICAgaWYgKGNhbGxUeXBlID09IENhbGxU
eXBlSG9zdCkgewogICAgICAgICAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwg
ZXhlY0NhbGxlZSk7CiAgICAgICAgICAgICBleGVjQ2FsbGVlLT5zZXRDYWxsZWUoYXNPYmplY3Qo
Y2FsbGVlKSk7CkBAIC02ODMsMTkgKzY4NSwxOSBAQCBzdGF0aWMgdm9pZCogaGFuZGxlSG9zdENh
bGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBKU1ZhbHVlIGNhbGxlZSwgQ29kZVNwZWNpYWxpegog
CiAgICAgICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oZ2V0SG9zdENhbGxS
ZXR1cm5WYWx1ZSk7CiAgICAgICAgIH0KLSAgICAKKwogICAgICAgICBBU1NFUlQoY2FsbFR5cGUg
PT0gQ2FsbFR5cGVOb25lKTsKICAgICAgICAgZXhlYy0+dm0oKS50aHJvd0V4Y2VwdGlvbihleGVj
LCBjcmVhdGVOb3RBRnVuY3Rpb25FcnJvcihleGVjLCBjYWxsZWUpKTsKICAgICAgICAgcmV0dXJu
IHZtLT5nZXRDVElTdHViKHRocm93RXhjZXB0aW9uRnJvbUNhbGxTbG93UGF0aEdlbmVyYXRvciku
Y29kZSgpLmV4ZWN1dGFibGVBZGRyZXNzKCk7CiAgICAgfQogCiAgICAgQVNTRVJUKGtpbmQgPT0g
Q29kZUZvckNvbnN0cnVjdCk7Ci0gICAgCisKICAgICBDb25zdHJ1Y3REYXRhIGNvbnN0cnVjdERh
dGE7CiAgICAgQ29uc3RydWN0VHlwZSBjb25zdHJ1Y3RUeXBlID0gZ2V0Q29uc3RydWN0RGF0YShj
YWxsZWUsIGNvbnN0cnVjdERhdGEpOwotICAgIAorCiAgICAgQVNTRVJUKGNvbnN0cnVjdFR5cGUg
IT0gQ29uc3RydWN0VHlwZUpTKTsKLSAgICAKKwogICAgIGlmIChjb25zdHJ1Y3RUeXBlID09IENv
bnN0cnVjdFR5cGVIb3N0KSB7CiAgICAgICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIo
dm0sIGV4ZWNDYWxsZWUpOwogICAgICAgICBleGVjQ2FsbGVlLT5zZXRDYWxsZWUoYXNPYmplY3Qo
Y2FsbGVlKSk7CkBAIC03MDUsNyArNzA3LDcgQEAgc3RhdGljIHZvaWQqIGhhbmRsZUhvc3RDYWxs
KEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSwgSlNWYWx1ZSBjYWxsZWUsIENvZGVTcGVjaWFsaXoKIAog
ICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oZ2V0SG9zdENhbGxSZXR1cm5W
YWx1ZSk7CiAgICAgfQotICAgIAorCiAgICAgQVNTRVJUKGNvbnN0cnVjdFR5cGUgPT0gQ29uc3Ry
dWN0VHlwZU5vbmUpOwogICAgIGV4ZWMtPnZtKCkudGhyb3dFeGNlcHRpb24oZXhlYywgY3JlYXRl
Tm90QUNvbnN0cnVjdG9yRXJyb3IoZXhlYywgY2FsbGVlKSk7CiAgICAgcmV0dXJuIHZtLT5nZXRD
VElTdHViKHRocm93RXhjZXB0aW9uRnJvbUNhbGxTbG93UGF0aEdlbmVyYXRvcikuY29kZSgpLmV4
ZWN1dGFibGVBZGRyZXNzKCk7CkBAIC03MTgsNyArNzIwLDcgQEAgaW5saW5lIGNoYXIqIGxpbmtG
b3IoCiAgICAgRXhlY1N0YXRlKiBleGVjID0gZXhlY0NhbGxlZS0+Y2FsbGVyRnJhbWUoKTsKICAg
ICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2Vy
KHZtLCBleGVjKTsKLSAgICAKKwogICAgIEpTVmFsdWUgY2FsbGVlQXNWYWx1ZSA9IGV4ZWNDYWxs
ZWUtPmNhbGxlZUFzVmFsdWUoKTsKICAgICBKU0NlbGwqIGNhbGxlZUFzRnVuY3Rpb25DZWxsID0g
Z2V0SlNGdW5jdGlvbihjYWxsZWVBc1ZhbHVlKTsKICAgICBpZiAoIWNhbGxlZUFzRnVuY3Rpb25D
ZWxsKSB7CkBAIC03NjEsNyArNzYzLDcgQEAgaW5saW5lIGNoYXIqIGxpbmtGb3IoCiAgICAgICAg
IGNhbGxMaW5rSW5mby0+c2V0U2VlbigpOwogICAgIGVsc2UKICAgICAgICAgbGlua0ZvcihleGVj
Q2FsbGVlLCAqY2FsbExpbmtJbmZvLCBjb2RlQmxvY2ssIGNhbGxlZSwgY29kZVB0ciwga2luZCwg
cmVnaXN0ZXJzKTsKLSAgICAKKwogICAgIHJldHVybiByZWludGVycHJldF9jYXN0PGNoYXIqPihj
b2RlUHRyLmV4ZWN1dGFibGVBZGRyZXNzKCkpOwogfQogCkBAIC03OTcsNyArNzk5LDcgQEAgaW5s
aW5lIGNoYXIqIHZpcnR1YWxGb3JXaXRoRnVuY3Rpb24oCiAgICAgY2FsbGVlQXNGdW5jdGlvbkNl
bGwgPSBnZXRKU0Z1bmN0aW9uKGNhbGxlZUFzVmFsdWUpOwogICAgIGlmIChVTkxJS0VMWSghY2Fs
bGVlQXNGdW5jdGlvbkNlbGwpKQogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxjaGFy
Kj4oaGFuZGxlSG9zdENhbGwoZXhlY0NhbGxlZSwgY2FsbGVlQXNWYWx1ZSwga2luZCkpOwotICAg
IAorCiAgICAgSlNGdW5jdGlvbiogZnVuY3Rpb24gPSBqc0Nhc3Q8SlNGdW5jdGlvbio+KGNhbGxl
ZUFzRnVuY3Rpb25DZWxsKTsKICAgICBKU1Njb3BlKiBzY29wZSA9IGZ1bmN0aW9uLT5zY29wZVVu
Y2hlY2tlZCgpOwogICAgIEV4ZWN1dGFibGVCYXNlKiBleGVjdXRhYmxlID0gZnVuY3Rpb24tPmV4
ZWN1dGFibGUoKTsKQEAgLTgzMiwxMiArODM0LDEyIEBAIGNoYXIqIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uTGlua1BvbHltb3JwaGljQ2FsbChFeGVjU3RhdGUqIGV4ZWNDYWxsZWUsIENhbGxMaW5r
CiAgICAgY2hhciogcmVzdWx0ID0gdmlydHVhbEZvcldpdGhGdW5jdGlvbihleGVjQ2FsbGVlLCBD
b2RlRm9yQ2FsbCwgUmVnaXN0ZXJQcmVzZXJ2YXRpb25Ob3RSZXF1aXJlZCwgY2FsbGVlQXNGdW5j
dGlvbkNlbGwpOwogCiAgICAgbGlua1BvbHltb3JwaGljQ2FsbChleGVjQ2FsbGVlLCAqY2FsbExp
bmtJbmZvLCBDYWxsVmFyaWFudChjYWxsZWVBc0Z1bmN0aW9uQ2VsbCksIFJlZ2lzdGVyUHJlc2Vy
dmF0aW9uTm90UmVxdWlyZWQpOwotICAgIAorCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogY2hh
ciogSklUX09QRVJBVElPTiBvcGVyYXRpb25WaXJ0dWFsQ2FsbChFeGVjU3RhdGUqIGV4ZWNDYWxs
ZWUsIENhbGxMaW5rSW5mbyopCi17ICAgIAorewogICAgIHJldHVybiB2aXJ0dWFsRm9yKGV4ZWND
YWxsZWUsIENvZGVGb3JDYWxsLCBSZWdpc3RlclByZXNlcnZhdGlvbk5vdFJlcXVpcmVkKTsKIH0K
IApAQCAtODUyLDEyICs4NTQsMTIgQEAgY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25MaW5r
UG9seW1vcnBoaWNDYWxsVGhhdFByZXNlcnZlc1JlZ3MoRXhlY1N0YXRlKiBleGUKICAgICBjaGFy
KiByZXN1bHQgPSB2aXJ0dWFsRm9yV2l0aEZ1bmN0aW9uKGV4ZWNDYWxsZWUsIENvZGVGb3JDYWxs
LCBNdXN0UHJlc2VydmVSZWdpc3RlcnMsIGNhbGxlZUFzRnVuY3Rpb25DZWxsKTsKIAogICAgIGxp
bmtQb2x5bW9ycGhpY0NhbGwoZXhlY0NhbGxlZSwgKmNhbGxMaW5rSW5mbywgQ2FsbFZhcmlhbnQo
Y2FsbGVlQXNGdW5jdGlvbkNlbGwpLCBNdXN0UHJlc2VydmVSZWdpc3RlcnMpOwotICAgIAorCiAg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25WaXJ0
dWFsQ2FsbFRoYXRQcmVzZXJ2ZXNSZWdzKEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSwgQ2FsbExpbmtJ
bmZvKikKLXsgICAgCit7CiAgICAgcmV0dXJuIHZpcnR1YWxGb3IoZXhlY0NhbGxlZSwgQ29kZUZv
ckNhbGwsIE11c3RQcmVzZXJ2ZVJlZ2lzdGVycyk7CiB9CiAKQEAgLTg3MCw3ICs4NzIsNyBAQCBz
aXplX3QgSklUX09QRVJBVElPTiBvcGVyYXRpb25Db21wYXJlTGVzcyhFeGVjU3RhdGUqIGV4ZWMs
IEVuY29kZWRKU1ZhbHVlIGVuY29kZQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAg
IE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAgcmV0
dXJuIGpzTGVzczx0cnVlPihleGVjLCBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZE9wMSksIEpTVmFs
dWU6OmRlY29kZShlbmNvZGVkT3AyKSk7CiB9CiAKQEAgLTkwMiw3ICs5MDQsNyBAQCBzaXplX3Qg
SklUX09QRVJBVElPTiBvcGVyYXRpb25Db252ZXJ0SlNWYWx1ZVRvQm9vbGVhbihFeGVjU3RhdGUq
IGV4ZWMsIEVuY29kZWRKUwogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2
ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAgcmV0dXJuIEpT
VmFsdWU6OmRlY29kZShlbmNvZGVkT3ApLnRvQm9vbGVhbihleGVjKTsKIH0KIApAQCAtOTM2LDcg
KzkzOCw3IEBAIHNpemVfdCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkhhc1Byb3BlcnR5KEV4ZWNT
dGF0ZSogZXhlYywgSlNPYmplY3QqIGJhc2UsIEpTU3RyCiAgICAgaW50IHJlc3VsdCA9IGJhc2Ut
Pmhhc1Byb3BlcnR5KGV4ZWMsIHByb3BlcnR5LT50b0lkZW50aWZpZXIoZXhlYykpOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9Ci0gICAgCisKIAogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBv
cGVyYXRpb25OZXdBcnJheVdpdGhQcm9maWxlKEV4ZWNTdGF0ZSogZXhlYywgQXJyYXlBbGxvY2F0
aW9uUHJvZmlsZSogcHJvZmlsZSwgY29uc3QgSlNWYWx1ZSogdmFsdWVzLCBpbnQgc2l6ZSkKIHsK
QEAgLTk3NiwxMSArOTc4LDQ0IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uTmV3RnVuY3Rpb25XaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRjCiAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShKU0Z1bmN0aW9uOjpjcmVhdGVXaXRoSW52YWxpZGF0ZWRSZWFsbG9j
YXRpb25XYXRjaHBvaW50KHZtLCBzdGF0aWNfY2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihmdW5j
dGlvbkV4ZWN1dGFibGUpLCBzY29wZSkpOwogfQogCitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb25XaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25X
YXRjaHBvaW50KEV4ZWNTdGF0ZSogZXhlYywgSlNTY29wZSogc2NvcGUsIEpTQ2VsbCogZnVuY3Rp
b25FeGVjdXRhYmxlLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUpCit7CisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgQVNTRVJUKGZ1bmN0aW9uRXhlY3V0YWJs
ZS0+aW5oZXJpdHMoRnVuY3Rpb25FeGVjdXRhYmxlOjppbmZvKCkpKTsKKyAgICAgICAgVk0mIHZt
ID0gZXhlYy0+dm0oKTsKKyAgICAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0s
IGV4ZWMpOworICAgICAgICAKKyAgICAgICAgSlNGdW5jdGlvbiogZnVuYyA9ICBKU0Z1bmN0aW9u
OjpjcmVhdGUodm0sIHN0YXRpY19jYXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KGZ1bmN0aW9uRXhl
Y3V0YWJsZSksIHNjb3BlKTsKKyAgICAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9
IGV4ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKKyAgICAgICAgCisgICAgICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGVXaXRoSW52YWxpZGF0ZWRS
ZWFsbG9jYXRpb25XYXRjaHBvaW50KHZtLCBnbG9iYWxPYmplY3QsIGZ1bmMsIEpTVmFsdWU6OmRl
Y29kZSh0aGlzVmFsdWUpKSk7CisjZWxzZQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KGpzVW5kZWZpbmVkKCkpOworI2VuZGlmCit9CisgICAgCitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBKU1Njb3Bl
KiBzY29wZSwgSlNDZWxsKiBmdW5jdGlvbkV4ZWN1dGFibGUsIEVuY29kZWRKU1ZhbHVlIHRoaXNW
YWx1ZSkKK3sKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEFTU0VS
VChmdW5jdGlvbkV4ZWN1dGFibGUtPmluaGVyaXRzKEZ1bmN0aW9uRXhlY3V0YWJsZTo6aW5mbygp
KSk7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIg
dHJhY2VyKCZ2bSwgZXhlYyk7CisKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0g
ZXhlYy0+Y2FsbGVlKCktPmdsb2JhbE9iamVjdCgpOworICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSAg
SlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBzdGF0aWNfY2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihm
dW5jdGlvbkV4ZWN1dGFibGUpLCBzY29wZSk7CisKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIGZ1bmMsIEpTVmFsdWU6
OmRlY29kZSh0aGlzVmFsdWUpKSk7CisKKyNlbHNlCisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc1VuZGVmaW5lZCgpKTsKKyNlbmRpZgorfQorCiBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uTmV3T2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiB7
CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRy
YWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICByZXR1cm4gY29uc3RydWN0RW1wdHlPYmplY3Qo
ZXhlYywgc3RydWN0dXJlKTsKIH0KIApAQCAtMTA1NCwxMyArMTA4OSwxMyBAQCBTbG93UGF0aFJl
dHVyblR5cGUgSklUX09QRVJBVElPTiBvcGVyYXRpb25PcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMs
IGludDMyX3QgYnl0ZQogICAgIC8vIHRoYXQgY2FzZSB3ZSB3b3VsZCBoYXZlIGFscmVhZHkgcGxh
bnRlZCB0aGUgb3B0aW1pemVkIGNvZGUgYmxvY2sgaW50byB0aGUgSlMKICAgICAvLyBzdGFjay4K
ICAgICBEZWZlckdDRm9yQVdoaWxlIGRlZmVyR0Modm0uaGVhcCk7Ci0gICAgCisKICAgICBDb2Rl
QmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVCbG9jaygpOwogICAgIGlmIChjb2RlQmxvY2st
PmppdFR5cGUoKSAhPSBKSVRDb2RlOjpCYXNlbGluZUpJVCkgewogICAgICAgICBkYXRhTG9nKCJV
bmV4cGVjdGVkIGNvZGUgYmxvY2sgaW4gQmFzZWxpbmUtPkRGRyB0aWVyLXVwOiAiLCAqY29kZUJs
b2NrLCAiXG4iKTsKICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9
Ci0gICAgCisKICAgICBpZiAoYnl0ZWNvZGVJbmRleCkgewogICAgICAgICAvLyBJZiB3ZSdyZSBh
dHRlbXB0aW5nIHRvIE9TUiBmcm9tIGEgbG9vcCwgYXNzdW1lIHRoYXQgdGhpcyBzaG91bGQgYmUK
ICAgICAgICAgLy8gc2VwYXJhdGVseSBvcHRpbWl6ZWQuCkBAIC0xMDg2LDcgKzExMjEsNyBAQCBT
bG93UGF0aFJldHVyblR5cGUgSklUX09QRVJBVElPTiBvcGVyYXRpb25PcHRpbWl6ZShFeGVjU3Rh
dGUqIGV4ZWMsIGludDMyX3QgYnl0ZQogICAgICAgICAgICAgZGF0YUxvZygiQ2hvb3Npbmcgbm90
IHRvIG9wdGltaXplICIsICpjb2RlQmxvY2ssICIgeWV0LCBiZWNhdXNlIHRoZSB0aHJlc2hvbGQg
aGFzbid0IGJlZW4gcmVhY2hlZC5cbiIpOwogICAgICAgICByZXR1cm4gZW5jb2RlUmVzdWx0KDAs
IDApOwogICAgIH0KLSAgICAKKwogICAgIGlmICh2bS5lbmFibGVkUHJvZmlsZXIoKSkgewogICAg
ICAgICB1cGRhdGVBbGxQcmVkaWN0aW9uc0FuZE9wdGltaXplQWZ0ZXJXYXJtVXAoY29kZUJsb2Nr
KTsKICAgICAgICAgcmV0dXJuIGVuY29kZVJlc3VsdCgwLCAwKTsKQEAgLTExMjIsNyArMTE1Nyw3
IEBAIFNsb3dQYXRoUmV0dXJuVHlwZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk9wdGltaXplKEV4
ZWNTdGF0ZSogZXhlYywgaW50MzJfdCBieXRlCiAgICAgICAgIC8vIGNvdW50IHRocmVzaG9sZCBk
ZXBlbmRpbmcgb24gd2hhdCBoYXBwZW5lZCwgc28gaWYgdGhlIGNvbXBpbGF0aW9uIHdhcyBhbnl0
aGluZwogICAgICAgICAvLyBidXQgc3VjY2Vzc2Z1bCB3ZSBqdXN0IHdhbnQgdG8gcmV0dXJuIGVh
cmx5LiBTZWUgdGhlIGNhc2UgZm9yIHdvcmtsaXN0U3RhdGUgPT0KICAgICAgICAgLy8gREZHOjpX
b3JrbGlzdDo6Q29tcGlsZWQsIGJlbG93LgotICAgICAgICAKKwogICAgICAgICAvLyBOb3RlIHRo
YXQgd2UgY291bGQgaGF2ZSBhbHRlcm5hdGl2ZWx5IGp1c3QgY2FsbGVkIFdvcmtsaXN0Ojpjb21w
aWxhdGlvblN0YXRlKCkKICAgICAgICAgLy8gaGVyZSwgYW5kIGlmIGl0IHJldHVybmVkIENvbXBp
bGVkLCB3ZSBjb3VsZCBoYXZlIHRoZW4gY2FsbGVkCiAgICAgICAgIC8vIGNvbXBsZXRlQW5kU2No
ZWR1bGVPU1IoKSBiZWxvdy4gQnV0IHRoYXQgd291bGQgaGF2ZSBtZWFudCB0aGF0IGl0IGNvdWxk
IHRha2UKQEAgLTExNjUsNyArMTIwMCw3IEBAIFNsb3dQYXRoUmV0dXJuVHlwZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgaW50MzJfdCBieXRlCiAgICAg
ICAgIC8vIGN0aV9vcHRpbWl6ZSBmcm9tIGEgbG9vcC4gVGhhdCdzIGJlY2F1c2UgaWYgdGhlcmUn
cyBhbiBvcHRpbWl6ZWQgcmVwbGFjZW1lbnQsCiAgICAgICAgIC8vIHRoZW4gYWxsIGNhbGxzIHRv
IHRoaXMgZnVuY3Rpb24gd2lsbCBiZSByZWxpbmtlZCB0byB0aGUgcmVwbGFjZW1lbnQgYW5kIHNv
CiAgICAgICAgIC8vIHRoZSBwcm9sb2d1ZSBPU1Igd2lsbCBuZXZlciBmaXJlLgotICAgICAgICAK
KwogICAgICAgICAvLyBUaGlzIGlzIGFuIGludGVyZXN0aW5nIHRocmVzaG9sZCBjaGVjay4gQ29u
c2lkZXIgdGhhdCBhIGZ1bmN0aW9uIE9TUiBleGl0cwogICAgICAgICAvLyBpbiB0aGUgbWlkZGxl
IG9mIGEgbG9vcCwgd2hpbGUgaGF2aW5nIGEgcmVsYXRpdmVseSBsb3cgZXhpdCBjb3VudC4gVGhl
IGV4aXQKICAgICAgICAgLy8gd2lsbCByZXNldCB0aGUgZXhlY3V0aW9uIGNvdW50ZXIgdG8gc29t
ZSB0YXJnZXQgdGhyZXNob2xkLCBtZWFuaW5nIHRoYXQgdGhpcwpAQCAtMTIxMSwxNiArMTI0Niwx
NiBAQCBTbG93UGF0aFJldHVyblR5cGUgSklUX09QRVJBVElPTiBvcGVyYXRpb25PcHRpbWl6ZShF
eGVjU3RhdGUqIGV4ZWMsIGludDMyX3QgYnl0ZQogICAgICAgICBDb21waWxhdGlvblJlc3VsdCBy
ZXN1bHQgPSBERkc6OmNvbXBpbGUoCiAgICAgICAgICAgICB2bSwgcmVwbGFjZW1lbnRDb2RlQmxv
Y2suZ2V0KCksIDAsIERGRzo6REZHTW9kZSwgYnl0ZWNvZGVJbmRleCwKICAgICAgICAgICAgIG11
c3RIYW5kbGVWYWx1ZXMsIEpJVFRvREZHRGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrOjpjcmVh
dGUoKSk7Ci0gICAgICAgIAorCiAgICAgICAgIGlmIChyZXN1bHQgIT0gQ29tcGlsYXRpb25TdWNj
ZXNzZnVsKSB7CiAgICAgICAgICAgICBBU1NFUlQocmVzdWx0ID09IENvbXBpbGF0aW9uRGVmZXJy
ZWQgfHwgcmVwbGFjZW1lbnRDb2RlQmxvY2stPmhhc09uZVJlZigpKTsKICAgICAgICAgICAgIHJl
dHVybiBlbmNvZGVSZXN1bHQoMCwgMCk7CiAgICAgICAgIH0KICAgICB9Ci0gICAgCisKICAgICBD
b2RlQmxvY2sqIG9wdGltaXplZENvZGVCbG9jayA9IGNvZGVCbG9jay0+cmVwbGFjZW1lbnQoKTsK
ICAgICBBU1NFUlQoSklUQ29kZTo6aXNPcHRpbWl6aW5nSklUKG9wdGltaXplZENvZGVCbG9jay0+
aml0VHlwZSgpKSk7Ci0gICAgCisKICAgICBpZiAodm9pZCogZGF0YUJ1ZmZlciA9IERGRzo6cHJl
cGFyZU9TUkVudHJ5KGV4ZWMsIG9wdGltaXplZENvZGVCbG9jaywgYnl0ZWNvZGVJbmRleCkpIHsK
ICAgICAgICAgaWYgKE9wdGlvbnM6OnZlcmJvc2VPU1IoKSkgewogICAgICAgICAgICAgZGF0YUxv
ZygKQEAgLTEyNjMsNyArMTI5OCw3IEBAIFNsb3dQYXRoUmV0dXJuVHlwZSBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgaW50MzJfdCBieXRlCiAgICAgLy8g
T1NSIGZhaWxlZCB0aGlzIHRpbWUsIGJ1dCBpdCBtaWdodCBzdWNjZWVkIG5leHQgdGltZSEgTGV0
IHRoZSBjb2RlIHJ1biBhIGJpdAogICAgIC8vIGxvbmdlciBhbmQgdGhlbiB0cnkgYWdhaW4uCiAg
ICAgY29kZUJsb2NrLT5vcHRpbWl6ZUFmdGVyV2FybVVwKCk7Ci0gICAgCisKICAgICByZXR1cm4g
ZW5jb2RlUmVzdWx0KDAsIDApOwogfQogI2VuZGlmCkBAIC0xNDM5LDcgKzE0NzQsNyBAQCBzdGF0
aWMgSlNWYWx1ZSBnZXRCeVZhbChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgYmFzZVZhbHVlLCBK
U1ZhbHVlIHN1YnNjcmlwdCwgUgogfQogCiBleHRlcm4gIkMiIHsKLSAgICAKKwogRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeVZhbEdlbmVyaWMoRXhlY1N0YXRlKiBl
eGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFN1
YnNjcmlwdCkKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwpAQCAtMTQ1Nyw3ICsxNDkyLDcg
QEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeVZhbERlZmF1bHQo
RXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlMKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJh
Y2VyKCZ2bSwgZXhlYyk7CiAgICAgSlNWYWx1ZSBiYXNlVmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUo
ZW5jb2RlZEJhc2UpOwogICAgIEpTVmFsdWUgc3Vic2NyaXB0ID0gSlNWYWx1ZTo6ZGVjb2RlKGVu
Y29kZWRTdWJzY3JpcHQpOwotICAgIAorCiAgICAgaWYgKGJhc2VWYWx1ZS5pc09iamVjdCgpICYm
IHN1YnNjcmlwdC5pc0ludDMyKCkpIHsKICAgICAgICAgLy8gU2VlIGlmIGl0J3Mgd29ydGggb3B0
aW1pemluZyB0aGlzIGF0IGFsbC4KICAgICAgICAgSlNPYmplY3QqIG9iamVjdCA9IGFzT2JqZWN0
KGJhc2VWYWx1ZSk7CkBAIC0xNDY3LDcgKzE1MDIsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvbkdldEJ5VmFsRGVmYXVsdChFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRK
UwogICAgICAgICBBU1NFUlQoYnl0ZWNvZGVPZmZzZXQpOwogICAgICAgICBCeVZhbEluZm8mIGJ5
VmFsSW5mbyA9IGV4ZWMtPmNvZGVCbG9jaygpLT5nZXRCeVZhbEluZm8oYnl0ZWNvZGVPZmZzZXQg
LSAxKTsKICAgICAgICAgQVNTRVJUKCFieVZhbEluZm8uc3R1YlJvdXRpbmUpOwotICAgICAgICAK
KwogICAgICAgICBpZiAoaGFzT3B0aW1pemFibGVJbmRleGluZyhvYmplY3QtPnN0cnVjdHVyZSh2
bSkpKSB7CiAgICAgICAgICAgICAvLyBBdHRlbXB0IHRvIG9wdGltaXplLgogICAgICAgICAgICAg
SklUQXJyYXlNb2RlIGFycmF5TW9kZSA9IGppdEFycmF5TW9kZUZvclN0cnVjdHVyZShvYmplY3Qt
PnN0cnVjdHVyZSh2bSkpOwpAQCAtMTQ3Niw3ICsxNTExLDcgQEAgRW5jb2RlZEpTVmFsdWUgSklU
X09QRVJBVElPTiBvcGVyYXRpb25HZXRCeVZhbERlZmF1bHQoRXhlY1N0YXRlKiBleGVjLCBFbmNv
ZGVkSlMKICAgICAgICAgICAgICAgICBkaWRPcHRpbWl6ZSA9IHRydWU7CiAgICAgICAgICAgICB9
CiAgICAgICAgIH0KLSAgICAgICAgCisKICAgICAgICAgaWYgKCFkaWRPcHRpbWl6ZSkgewogICAg
ICAgICAgICAgLy8gSWYgd2UgdGFrZSBzbG93IHBhdGggbW9yZSB0aGFuIDEwIHRpbWVzIHdpdGhv
dXQgcGF0Y2hpbmcgdGhlbiBtYWtlIHN1cmUgd2UKICAgICAgICAgICAgIC8vIG5ldmVyIG1ha2Ug
dGhhdCBtaXN0YWtlIGFnYWluLiBPciwgaWYgd2UgZmFpbGVkIHRvIHBhdGNoIGFuZCB3ZSBoYXZl
IHNvbWUgb2JqZWN0CkBAIC0xNDkwLDE4ICsxNTI1LDE4IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uR2V0QnlWYWxEZWZhdWx0KEV4ZWNTdGF0ZSogZXhlYywgRW5jb2Rl
ZEpTCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9Ci0gICAgCisKICAgICBKU1ZhbHVl
IHJlc3VsdCA9IGdldEJ5VmFsKGV4ZWMsIGJhc2VWYWx1ZSwgc3Vic2NyaXB0LCBSZXR1cm5BZGRy
ZXNzUHRyKE9VUl9SRVRVUk5fQUREUkVTUykpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
cmVzdWx0KTsKIH0KLSAgICAKKwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRp
b25IYXNJbmRleGVkUHJvcGVydHlEZWZhdWx0KEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFs
dWUgZW5jb2RlZEJhc2UsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRTdWJzY3JpcHQpCiB7CiAgICAg
Vk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2
bSwgZXhlYyk7CiAgICAgSlNWYWx1ZSBiYXNlVmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2Rl
ZEJhc2UpOwogICAgIEpTVmFsdWUgc3Vic2NyaXB0ID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRT
dWJzY3JpcHQpOwotICAgIAorCiAgICAgQVNTRVJUKGJhc2VWYWx1ZS5pc09iamVjdCgpKTsKICAg
ICBBU1NFUlQoc3Vic2NyaXB0LmlzVUludDMyKCkpOwogCkBAIC0xNTEyLDcgKzE1NDcsNyBAQCBF
bmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkhhc0luZGV4ZWRQcm9wZXJ0eURl
ZmF1bHQoRXhlY1N0YXRlKiBleGVjLAogICAgIEFTU0VSVChieXRlY29kZU9mZnNldCk7CiAgICAg
QnlWYWxJbmZvJiBieVZhbEluZm8gPSBleGVjLT5jb2RlQmxvY2soKS0+Z2V0QnlWYWxJbmZvKGJ5
dGVjb2RlT2Zmc2V0IC0gMSk7CiAgICAgQVNTRVJUKCFieVZhbEluZm8uc3R1YlJvdXRpbmUpOwot
ICAgIAorCiAgICAgaWYgKGhhc09wdGltaXphYmxlSW5kZXhpbmcob2JqZWN0LT5zdHJ1Y3R1cmUo
dm0pKSkgewogICAgICAgICAvLyBBdHRlbXB0IHRvIG9wdGltaXplLgogICAgICAgICBKSVRBcnJh
eU1vZGUgYXJyYXlNb2RlID0gaml0QXJyYXlNb2RlRm9yU3RydWN0dXJlKG9iamVjdC0+c3RydWN0
dXJlKHZtKSk7CkBAIC0xNTIxLDcgKzE1NTYsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkhhc0luZGV4ZWRQcm9wZXJ0eURlZmF1bHQoRXhlY1N0YXRlKiBleGVjLAog
ICAgICAgICAgICAgZGlkT3B0aW1pemUgPSB0cnVlOwogICAgICAgICB9CiAgICAgfQotICAgIAor
CiAgICAgaWYgKCFkaWRPcHRpbWl6ZSkgewogICAgICAgICAvLyBJZiB3ZSB0YWtlIHNsb3cgcGF0
aCBtb3JlIHRoYW4gMTAgdGltZXMgd2l0aG91dCBwYXRjaGluZyB0aGVuIG1ha2Ugc3VyZSB3ZQog
ICAgICAgICAvLyBuZXZlciBtYWtlIHRoYXQgbWlzdGFrZSBhZ2Fpbi4gT3IsIGlmIHdlIGZhaWxl
ZCB0byBwYXRjaCBhbmQgd2UgaGF2ZSBzb21lIG9iamVjdApAQCAtMTUzMSwzNCArMTU2NiwzNCBA
QCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkhhc0luZGV4ZWRQcm9wZXJ0
eURlZmF1bHQoRXhlY1N0YXRlKiBleGVjLAogICAgICAgICBpZiAoKytieVZhbEluZm8uc2xvd1Bh
dGhDb3VudCA+PSAxMAogICAgICAgICAgICAgfHwgb2JqZWN0LT5zdHJ1Y3R1cmUodm0pLT50eXBl
SW5mbygpLmludGVyY2VwdHNHZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4RXZlbldoZW5MZW5ndGhJ
c05vdFplcm8oKSkgewogICAgICAgICAgICAgLy8gRG9uJ3QgZXZlciB0cnkgdG8gb3B0aW1pemUu
Ci0gICAgICAgICAgICBjdGlQYXRjaENhbGxCeVJldHVybkFkZHJlc3MoZXhlYy0+Y29kZUJsb2Nr
KCksIFJldHVybkFkZHJlc3NQdHIoT1VSX1JFVFVSTl9BRERSRVNTKSwgRnVuY3Rpb25QdHIob3Bl
cmF0aW9uSGFzSW5kZXhlZFByb3BlcnR5R2VuZXJpYykpOyAKKyAgICAgICAgICAgIGN0aVBhdGNo
Q2FsbEJ5UmV0dXJuQWRkcmVzcyhleGVjLT5jb2RlQmxvY2soKSwgUmV0dXJuQWRkcmVzc1B0cihP
VVJfUkVUVVJOX0FERFJFU1MpLCBGdW5jdGlvblB0cihvcGVyYXRpb25IYXNJbmRleGVkUHJvcGVy
dHlHZW5lcmljKSk7CiAgICAgICAgIH0KICAgICB9Ci0gICAgCisKICAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzQm9vbGVhbihvYmplY3QtPmhhc1Byb3BlcnR5KGV4ZWMsIHN1YnNjcmlwdC5h
c1VJbnQzMigpKSkpOwogfQotICAgIAorCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbkhhc0luZGV4ZWRQcm9wZXJ0eUdlbmVyaWMoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkQmFzZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFN1YnNjcmlwdCkKIHsK
ICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFj
ZXIoJnZtLCBleGVjKTsKICAgICBKU1ZhbHVlIGJhc2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShl
bmNvZGVkQmFzZSk7CiAgICAgSlNWYWx1ZSBzdWJzY3JpcHQgPSBKU1ZhbHVlOjpkZWNvZGUoZW5j
b2RlZFN1YnNjcmlwdCk7Ci0gICAgCisKICAgICBBU1NFUlQoYmFzZVZhbHVlLmlzT2JqZWN0KCkp
OwogICAgIEFTU0VSVChzdWJzY3JpcHQuaXNVSW50MzIoKSk7CiAKICAgICBKU09iamVjdCogb2Jq
ZWN0ID0gYXNPYmplY3QoYmFzZVZhbHVlKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpz
Qm9vbGVhbihvYmplY3QtPmhhc1Byb3BlcnR5KGV4ZWMsIHN1YnNjcmlwdC5hc1VJbnQzMigpKSkp
OwogfQotICAgIAorCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5
VmFsU3RyaW5nKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRTdWJzY3JpcHQpCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0o
KTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CiAgICAgSlNW
YWx1ZSBiYXNlVmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpOwogICAgIEpTVmFs
dWUgc3Vic2NyaXB0ID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRTdWJzY3JpcHQpOwotICAgIAor
CiAgICAgSlNWYWx1ZSByZXN1bHQ7CiAgICAgaWYgKExJS0VMWShzdWJzY3JpcHQuaXNVSW50MzIo
KSkpIHsKICAgICAgICAgdWludDMyX3QgaSA9IHN1YnNjcmlwdC5hc1VJbnQzMigpOwpAQCAtMTYw
MSw3ICsxNjM2LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25JbnN0
YW5jZU9mKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUKICAgICBOYXRpdmVDYWxsRnJh
bWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6
OmRlY29kZShlbmNvZGVkVmFsdWUpOwogICAgIEpTVmFsdWUgcHJvdG8gPSBKU1ZhbHVlOjpkZWNv
ZGUoZW5jb2RlZFByb3RvKTsKLSAgICAKKwogICAgIEFTU0VSVCghdmFsdWUuaXNPYmplY3QoKSB8
fCAhcHJvdG8uaXNPYmplY3QoKSk7CiAKICAgICBib29sIHJlc3VsdCA9IEpTT2JqZWN0OjpkZWZh
dWx0SGFzSW5zdGFuY2UoZXhlYywgdmFsdWUsIHByb3RvKTsKQEAgLTE3NTcsNyArMTc5Miw3IEBA
IHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRUb1Njb3BlKEV4ZWNTdGF0ZSogZXhlYywg
SW5zdHJ1Y3Rpb24qIGJ5dGVjb2RlUEMpCiAKICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChzY29w
ZSwgY29kZUJsb2NrLT5pc1N0cmljdE1vZGUoKSk7CiAgICAgc2NvcGUtPm1ldGhvZFRhYmxlKCkt
PnB1dChzY29wZSwgZXhlYywgaWRlbnQsIHZhbHVlLCBzbG90KTsKLSAgICAKKwogICAgIGlmIChl
eGVjLT52bSgpLmV4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm47CiAKQEAgLTE3OTEsNyArMTgy
Niw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25PU1JXcml0ZUJhcnJpZXIoRXhlY1N0
YXRlKiBleGVjLCBKU0NlbGwqIGNlbGwpCiB9CiAKIC8vIE5COiBXZSBkb24ndCBpbmNsdWRlIHRo
ZSB2YWx1ZSBhcyBwYXJ0IG9mIHRoZSBiYXJyaWVyIGJlY2F1c2UgdGhlIHdyaXRlIGJhcnJpZXIg
ZWxpc2lvbgotLy8gcGhhc2UgaW4gdGhlIERGRyBvbmx5IHRyYWNrcyB3aGV0aGVyIHRoZSBvYmpl
Y3QgYmVpbmcgc3RvcmVkIHRvIGhhcyBiZWVuIGJhcnJpZXJlZC4gSXQgCisvLyBwaGFzZSBpbiB0
aGUgREZHIG9ubHkgdHJhY2tzIHdoZXRoZXIgdGhlIG9iamVjdCBiZWluZyBzdG9yZWQgdG8gaGFz
IGJlZW4gYmFycmllcmVkLiBJdAogLy8gd291bGQgYmUgbXVjaCBtb3JlIGNvbXBsaWNhdGVkIHRv
IHRyeSB0byBtb2RlbCB0aGUgdmFsdWUgYmVpbmcgc3RvcmVkIGFzIHdlbGwuCiB2b2lkIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uVW5jb25kaXRpb25hbFdyaXRlQmFycmllcihFeGVjU3RhdGUqIGV4
ZWMsIEpTQ2VsbCogY2VsbCkKIHsKQEAgLTE4MTUsNyArMTg1MCw3IEBAIHZvaWQgSklUX09QRVJB
VElPTiBsb29rdXBFeGNlcHRpb25IYW5kbGVyKFZNKiB2bSwgRXhlY1N0YXRlKiBleGVjKQogCiAg
ICAgSlNWYWx1ZSBleGNlcHRpb25WYWx1ZSA9IHZtLT5leGNlcHRpb24oKTsKICAgICBBU1NFUlQo
ZXhjZXB0aW9uVmFsdWUpOwotICAgIAorCiAgICAgZ2VuZXJpY1Vud2luZCh2bSwgZXhlYywgZXhj
ZXB0aW9uVmFsdWUpOwogICAgIEFTU0VSVCh2bS0+dGFyZ2V0TWFjaGluZVBDRm9yVGhyb3cpOwog
fQpAQCAtMTgzMCw3ICsxODY1LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIGxvb2t1cEV4Y2VwdGlv
bkhhbmRsZXJGcm9tQ2FsbGVyRnJhbWUoVk0qIHZtLCBFeGVjU3RhdGUqIGV4ZWMKIAogICAgIEpT
VmFsdWUgZXhjZXB0aW9uVmFsdWUgPSB2bS0+ZXhjZXB0aW9uKCk7CiAgICAgQVNTRVJUKGV4Y2Vw
dGlvblZhbHVlKTsKLSAgICAKKwogICAgIGdlbmVyaWNVbndpbmQodm0sIGNhbGxlckZyYW1lLCBl
eGNlcHRpb25WYWx1ZSk7CiAgICAgQVNTRVJUKHZtLT50YXJnZXRNYWNoaW5lUENGb3JUaHJvdyk7
CiB9CkBAIC0xODc3LDcgKzE5MTIsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbkhhc0luZGV4ZWRQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIEpTQ2VsbAogICAgIEpT
T2JqZWN0KiBvYmplY3QgPSBiYXNlQ2VsbC0+dG9PYmplY3QoZXhlYywgZXhlYy0+bGV4aWNhbEds
b2JhbE9iamVjdCgpKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihvYmpl
Y3QtPmhhc1Byb3BlcnR5KGV4ZWMsIHN1YnNjcmlwdCkpKTsKIH0KLSAgICAKKwogSlNDZWxsKiBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldFByb3BlcnR5RW51bWVyYXRvcihFeGVjU3RhdGUqIGV4
ZWMsIEpTQ2VsbCogY2VsbCkKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaAppbmRleCBjNjVmODc0ZDFmMmU3NzJkOGY1
MzVmNGJkMWM0Y2UwZDI4MDQ0YWU3Li5kZjNiOWZkM2YzZDY3YWZhZTk3ZDVmZjMzZDQ2N2E5NTBh
NTljODQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlv
bnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaApAQCAt
MjAsNyArMjAsNyBAQAogICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQogICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCiAjaWZuZGVmIEpJVE9wZXJhdGlv
bnNfaApAQCAtMTE1LDYgKzExNSw3IEBAIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJB
VElPTiAoKkpfSklUT3BlcmF0aW9uX0VQUCkoRXhlY1N0YXRlKiwgdm9pZCosIHZvCiB0eXBlZGVm
IEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FUFMpKEV4ZWNT
dGF0ZSosIHZvaWQqLCBzaXplX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OICgqSl9KSVRPcGVyYXRpb25fRVBjKShFeGVjU3RhdGUqLCBJbnN0cnVjdGlvbiopOwogdHlw
ZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUpzY0Mp
KEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKTsKK3R5cGVkZWYgRW5jb2RlZEpTVmFsdWUg
SklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VKc2NDSikoRXhlY1N0YXRlKiwgSlNTY29w
ZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklU
X09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTUykoRXhlY1N0YXRlKiwgc2l6ZV90LCBzaXpl
X3QpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRp
b25fRVNzaUNJKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEpTQ2VsbCosIFN0cmlu
Z0ltcGwqKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3Bl
cmF0aW9uX0VTc2lKSSkoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNW
YWx1ZSwgU3RyaW5nSW1wbCopOwpAQCAtMjc5LDYgKzI4MCw4IEBAIEVuY29kZWRKU1ZhbHVlIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXlCdWZmZXJXaXRoUHJvZmlsZShFeGVjU3RhdGUq
LCBBcnJhCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5V2l0
aFNpemVBbmRQcm9maWxlKEV4ZWNTdGF0ZSosIEFycmF5QWxsb2NhdGlvblByb2ZpbGUqLCBFbmNv
ZGVkSlNWYWx1ZSBzaXplKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbk5ld0Z1bmN0aW9uKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKSBX
VEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Z1
bmN0aW9uV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludChFeGVjU3RhdGUqLCBK
U1Njb3BlKiwgSlNDZWxsKikgV1RGX0lOVEVSTkFMOworRW5jb2RlZEpTVmFsdWUgSklUX09QRVJB
VElPTiBvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0Nl
bGwqLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVSTkFMOworRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0
aW9uV2F0Y2hwb2ludChFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFs
dWUpIFdURl9JTlRFUk5BTDsKIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdPYmpl
Y3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlKikgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUg
SklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdSZWdleHAoRXhlY1N0YXRlKiwgdm9pZCopIFdURl9J
TlRFUk5BTDsKIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25IYW5kbGVXYXRjaGRvZ1RpbWVy
KEV4ZWNTdGF0ZSopIFdURl9JTlRFUk5BTDsKQEAgLTQwNyw0ICs0MTAsMyBAQCBpbmxpbmUgUF9K
SVRPcGVyYXRpb25fRUNsaSBvcGVyYXRpb25MaW5rUG9seW1vcnBoaWNDYWxsRm9yKFJlZ2lzdGVy
UHJlc2VydmF0aW9uTQogI2VuZGlmIC8vIEVOQUJMRShKSVQpCiAKICNlbmRpZiAvLyBKSVRPcGVy
YXRpb25zX2gKLQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50
U2xvd1BhdGhzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRo
cy5jcHAKaW5kZXggMjBiZWJmMzJmNjE1NGZhOWYzZjQ2OTYyZjNhNjE0MGEyZTg0NmRjMC4uN2E4
NTA1ZjI4ZmVjMmNhZTJjNjUzODVjYzA5NGJjZGZjYzI0YWZkOCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCkBAIC0zOCw2ICszOCw4IEBACiAj
aW5jbHVkZSAiSW50ZXJwcmV0ZXIuaCIKICNpbmNsdWRlICJKSVQuaCIKICNpbmNsdWRlICJKSVRF
eGNlcHRpb25zLmgiCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNC
b3VuZEZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNMZXhpY2FsRW52aXJvbm1lbnQuaCIKICNpbmNs
dWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDSlNWYWx1ZS5oIgpAQCAtMTcxLDYgKzE3
MywxNSBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIExMSW50IHsKICAgICAgICAgTExJTlRf
UkVUVVJOX1RXTyhwYywgX19yY2ZfZXhlYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKICAgICB9IHdoaWxlIChmYWxzZSkKIAorICAgIAorI2RlZmluZSBMTElOVF9DQUxDX1BST1BF
UlRZX0ZPUl9GVU5DX0VYUFIoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgTExJTlRfQkVHSU4oKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4
ZWMtPmNvZGVCbG9jaygpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAg
IEpTU2NvcGUqIHNjb3BlID0gZXhlYy0+dW5jaGVja2VkUihwY1syXS51Lm9wZXJhbmQpLlJlZ2lz
dGVyOjpzY29wZSgpOyAgICAgICBcCisgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxl
ID0gY29kZUJsb2NrLT5mdW5jdGlvbkV4cHIocGNbM10udS5vcGVyYW5kKTsgIFwKKyAgICAKK2Vu
dW0gRnVuY3Rpb25FeHByZXNzaW9uVHlwZSB7IEFycm93RnVuY3Rpb25FeHByZXNzaW9uVHlwZSwg
Q29tbW9uRnVuY3Rpb25FeHByZXNzaW9uVHlwZX07CisgICAgCiBleHRlcm4gIkMiIFNsb3dQYXRo
UmV0dXJuVHlwZSBsbGludF90cmFjZV9vcGVyYW5kKEV4ZWNTdGF0ZSogZXhlYywgSW5zdHJ1Y3Rp
b24qIHBjLCBpbnQgZnJvbVdoZXJlLCBpbnQgb3BlcmFuZCkKIHsKICAgICBMTElOVF9CRUdJTigp
OwpAQCAtMTAwMywxNiArMTAxNCwzMyBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhf
bmV3X2Z1bmMpCiAjZW5kaWYKICAgICBMTElOVF9SRVRVUk4oSlNGdW5jdGlvbjo6Y3JlYXRlKHZt
LCBjb2RlQmxvY2stPmZ1bmN0aW9uRGVjbChwY1szXS51Lm9wZXJhbmQpLCBzY29wZSkpOwogfQot
CisgICAgCiBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfbmV3X2Z1bmNfZXhwKQogewot
ICAgIExMSU5UX0JFR0lOKCk7Ci0gICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVjLT5jb2Rl
QmxvY2soKTsKLSAgICBKU1Njb3BlKiBzY29wZSA9IGV4ZWMtPnVuY2hlY2tlZFIocGNbMl0udS5v
cGVyYW5kKS5SZWdpc3Rlcjo6c2NvcGUoKTsKLSAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmN0
aW9uID0gY29kZUJsb2NrLT5mdW5jdGlvbkV4cHIocGNbM10udS5vcGVyYW5kKTsKLSAgICBKU0Z1
bmN0aW9uKiBmdW5jID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBmdW5jdGlvbiwgc2NvcGUpOwor
ICAgIExMSU5UX0NBTENfUFJPUEVSVFlfRk9SX0ZVTkNfRVhQUigpOworCisgICAgSlNGdW5jdGlv
biogZnVuYyA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgZXhlY3V0YWJsZSwgc2NvcGUpOworICAg
IExMSU5UX1JFVFVSTihmdW5jKTsKK30KKworCitMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3Bh
dGhfbmV3X2Fycm93X2Z1bmNfZXhwKQoreworICAgIExMSU5UX0NBTENfUFJPUEVSVFlfRk9SX0ZV
TkNfRVhQUigpOworCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBK
U1ZhbHVlIHRoaXNWYWx1ZSA9IExMSU5UX09QX0MoNCkuanNWYWx1ZSgpOworICAgIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QgPSBleGVjLT5jYWxsZWUoKS0+Z2xvYmFsT2JqZWN0KCk7CiAg
ICAgCisgICAgSlNGdW5jdGlvbiogZnVuYyA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgZXhlY3V0
YWJsZSwgc2NvcGUpOworICAgIAorICAgIGNvbnN0IFN0cmluZyBmdW5jV2l0aG91dE5hbWUgPSAi
IjsKKyAgICAKKyAgICBMTElOVF9SRVRVUk4oSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUodm0sIGds
b2JhbE9iamVjdCwgZnVuYywgdGhpc1ZhbHVlKSk7CisjZWxzZQorICAgIEpTRnVuY3Rpb24qIGZ1
bmMgPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGV4ZWN1dGFibGUsIHNjb3BlKTsKICAgICBMTElO
VF9SRVRVUk4oZnVuYyk7CisjZW5kaWYKIH0KIAogc3RhdGljIFNsb3dQYXRoUmV0dXJuVHlwZSBo
YW5kbGVIb3N0Q2FsbChFeGVjU3RhdGUqIGV4ZWNDYWxsZWUsIEluc3RydWN0aW9uKiBwYywgSlNW
YWx1ZSBjYWxsZWUsIENvZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgKaW5kZXggNGJmN2RlYjBmYTBiNmM2NDM4
ZTM2Zjk2MzIwZTJmNjY5NzM5YWY2NC4uYzdmYWI5NjkxYzE4YjkzOTU2ZDBlYTI5ZjMzOTU2MTE4
YzVlNzFlZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xv
d1BhdGhzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhz
LmgKQEAgLTk2LDYgKzk2LDcgQEAgTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0
aF9zd2l0Y2hfY2hhcik7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3N3
aXRjaF9zdHJpbmcpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdf
ZnVuYyk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX25ld19mdW5jX2V4
cCk7CitMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX25ld19hcnJvd19mdW5j
X2V4cCk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX2NhbGwpOwogTExJ
TlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9jb25zdHJ1Y3QpOwogTExJTlRfU0xP
V19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9zaXplX2ZyYW1lX2Zvcl92YXJhcmdzKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bQppbmRleCA1NDNkOWU5MzMzYzUxM2U5NzYxN2I3YmRhN2Y2OTk4NjY4MzhhMWUwLi4xODJiYmQ5
ZTRlZjc4OTI4ZGE1MmZiY2VjODgyYTVkZjM2ZGI3OTQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCkBAIC0xMTY5LDYgKzEx
NjksMTAgQEAgX2xsaW50X29wX25ld19mdW5jX2V4cDoKICAgICBjYWxsU2xvd1BhdGgoX2xsaW50
X3Nsb3dfcGF0aF9uZXdfZnVuY19leHApCiAgICAgZGlzcGF0Y2goNCkKIAorX2xsaW50X29wX25l
d19hcnJvd19mdW5jX2V4cDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2FsbFNsb3dQYXRo
KF9sbGludF9zbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKQorICAgIGRpc3BhdGNoKDUpCiAK
IF9sbGludF9vcF9jYWxsOgogICAgIHRyYWNlRXhlY3V0aW9uKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKaW5kZXggYWE3MzcwNTJjYjNjODE1MzU3YzhhNmZlMzY4
YWQyMTU5YmEzMmMwZi4uOWQwMzE5MTQ0YmQ0ZDdiZTE2NmZkNzk0MDUyNThiOTJkMjRhNDY0OSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKQEAgLTM1Nyw2ICsz
NTcsMTkgQEAgcHVibGljOgogICAgICAgICAgICAgaW5TdHJpY3RDb250ZXh0LCBjb25zdHJ1Y3Rv
cktpbmQpOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgRXhwcmVzc2lvbk5vZGUqIGNyZWF0ZUFycm93RnVuY3Rpb25FeHByKGNvbnN0IEpTVG9rZW5M
b2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RCdWlsZGVyPiYg
aW5mbykKKyAgICB7CisgICAgICAgIFNvdXJjZUNvZGUgc291cmNlID0gaW5mby5mdW5jdGlvbkJv
ZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbgorICAgICAgICA/IG1fc291cmNl
Q29kZS0+c3ViQXJyb3dFeHByZXNzaW9uKGluZm8uYXJyb3dGdW5jdGlvbk9mZnNldCwgaW5mby5j
bG9zZUJyYWNlT2Zmc2V0LCBpbmZvLmJvZHlTdGFydExpbmUsIGluZm8uYm9keVN0YXJ0Q29sdW1u
KQorICAgICAgICA6IG1fc291cmNlQ29kZS0+c3ViRXhwcmVzc2lvbihpbmZvLm9wZW5CcmFjZU9m
ZnNldCwgaW5mby5jbG9zZUJyYWNlT2Zmc2V0LCBpbmZvLmJvZHlTdGFydExpbmUsIGluZm8uYm9k
eVN0YXJ0Q29sdW1uKTsKKworICAgICAgICBBcnJvd0Z1bmNFeHByTm9kZSogcmVzdWx0ID0gbmV3
IChtX3BhcnNlckFyZW5hKSBBcnJvd0Z1bmNFeHByTm9kZShsb2NhdGlvbiwgKmluZm8ubmFtZSwg
aW5mby5ib2R5LCBzb3VyY2UsIGluZm8ucGFyYW1ldGVycyk7CisgICAgICAgIGluZm8uYm9keS0+
c2V0TG9jKGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5RW5kTGluZSwgbG9jYXRpb24uc3Rh
cnRPZmZzZXQsIGxvY2F0aW9uLmxpbmVTdGFydE9mZnNldCk7CisgICAgICAgIHJldHVybiByZXN1
bHQ7CisgICAgfQorI2VuZGlmCisKICAgICBORVZFUl9JTkxJTkUgUHJvcGVydHlOb2RlKiBjcmVh
dGVHZXR0ZXJPclNldHRlclByb3BlcnR5KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24s
IFByb3BlcnR5Tm9kZTo6VHlwZSB0eXBlLCBib29sLAogICAgICAgICBjb25zdCBJZGVudGlmaWVy
KiBuYW1lLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88QVNUQnVpbGRlcj4mIGluZm8sIFN1cGVy
QmluZGluZyBzdXBlckJpbmRpbmcpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9MZXhlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xl
eGVyLmNwcAppbmRleCA5NmViN2FhYjIzOWEzODZkMDdmNjBkYmE3NGU2ZmFkMWZhNmNkMzdhLi5h
ZDcwNTZkZGUzODhlZjg2ZmI3ZjYyNzZmZGE3M2VhZTg5ZDQzNDhkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL0xleGVyLmNwcApAQCAtMTcwOCw2ICsxNzA4LDE4IEBAIGJvb2wgTGV4ZXI8
VD46Om5leHRUb2tlbklzQ29sb24oKQogICAgIHJldHVybiBjb2RlIDwgbV9jb2RlRW5kICYmICpj
b2RlID09ICc6JzsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0
ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK3ZvaWQgTGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24oSlNU
b2tlbiogdG9rZW5SZWNvcmQpCit7CisgICAgSlNUb2tlbkRhdGEqIHRva2VuRGF0YSA9ICZ0b2tl
blJlY29yZC0+bV9kYXRhOworICAgIHRva2VuRGF0YS0+bGluZSA9IGxpbmVOdW1iZXIoKTsKKyAg
ICB0b2tlbkRhdGEtPm9mZnNldCA9IGN1cnJlbnRPZmZzZXQoKTsKKyAgICB0b2tlbkRhdGEtPmxp
bmVTdGFydE9mZnNldCA9IGN1cnJlbnRMaW5lU3RhcnRPZmZzZXQoKTsKKyAgICBBU1NFUlQodG9r
ZW5EYXRhLT5vZmZzZXQgPj0gdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQpOworfQorI2VuZGlm
CisKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgogSlNUb2tlblR5cGUgTGV4ZXI8VD46OmxleChKU1Rv
a2VuKiB0b2tlblJlY29yZCwgdW5zaWduZWQgbGV4ZXJGbGFncywgYm9vbCBzdHJpY3RNb2RlKQog
ewpAQCAtMTc3MSw3ICsxNzgzLDEyIEBAIHN0YXJ0OgogICAgICAgICB9CiAgICAgICAgIHRva2Vu
ID0gR1Q7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ2hhcmFjdGVyRXF1YWw6CisgICAgY2Fz
ZSBDaGFyYWN0ZXJFcXVhbDogeworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgICAgIHVpbnQzMl90IHNhdmVkbGluZU51bWJlciA9IHRva2VuRGF0YS0+bGluZTsKKyAg
ICAgICAgdWludDMyX3Qgc2F2ZWRPZmZzZXQgPSBjdXJyZW50T2Zmc2V0KCk7CisgICAgICAgIHVp
bnQzMl90IHNhdmVkTGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVTdGFydE9mZnNldCgpOwor
I2VuZGlmCiAgICAgICAgIHNoaWZ0KCk7CiAgICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJz0nKSB7
CiAgICAgICAgICAgICBzaGlmdCgpOwpAQCAtMTc4Myw4ICsxODAwLDIyIEBAIHN0YXJ0OgogICAg
ICAgICAgICAgdG9rZW4gPSBFUUVROwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAobV9jdXJyZW50
ID09ICc+JykgeworICAgICAgICAgICAgc2hpZnQoKTsKKyAgICAgICAgICAgIHRva2VuID0gQVJS
T1dGVU5DVElPTjsKKworICAgICAgICAgICAgdG9rZW5EYXRhLT5saW5lID0gc2F2ZWRsaW5lTnVt
YmVyOworICAgICAgICAgICAgdG9rZW5EYXRhLT5vZmZzZXQgPSBzYXZlZE9mZnNldDsKKyAgICAg
ICAgICAgIHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0ID0gc2F2ZWRMaW5lU3RhcnRPZmZzZXQ7
CisKKyAgICAgICAgICAgIEFTU0VSVCh0b2tlbkRhdGEtPm9mZnNldCA+PSB0b2tlbkRhdGEtPmxp
bmVTdGFydE9mZnNldCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorI2VuZGlmCiAg
ICAgICAgIHRva2VuID0gRVFVQUw7CiAgICAgICAgIGJyZWFrOworICAgIH0KICAgICBjYXNlIENo
YXJhY3Rlckxlc3M6CiAgICAgICAgIHNoaWZ0KCk7CiAgICAgICAgIGlmIChtX2N1cnJlbnQgPT0g
JyEnICYmIHBlZWsoMSkgPT0gJy0nICYmIHBlZWsoMikgPT0gJy0nKSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL0xleGVyLmgKaW5kZXggOGFmZWYyNjExMjEwOGFlZDdlODZlZDBlODQ3OWI3OWMx
ZDAyMjdhYi4uYmRhM2JkNDllYTdhNTljMzVjNGUxMjg1Y2Y5NDgzMjI1NWM4N2ZlYSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaApAQCAtODcsNiArODcsOSBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzZXRJc1JlcGFyc2luZygpIHsgbV9pc1JlcGFyc2luZyA9IHRydWU7IH0KICAgICBi
b29sIGlzUmVwYXJzaW5nKCkgY29uc3QgeyByZXR1cm4gbV9pc1JlcGFyc2luZzsgfQogCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2b2lkIHNldFRva2VuUG9zaXRp
b24oSlNUb2tlbiogdG9rZW5SZWNvcmQpOworI2VuZGlmCiAgICAgSlNUb2tlblR5cGUgbGV4KEpT
VG9rZW4qLCB1bnNpZ25lZCwgYm9vbCBzdHJpY3RNb2RlKTsKICAgICBib29sIG5leHRUb2tlbklz
Q29sb24oKTsKICAgICBpbnQgbGluZU51bWJlcigpIGNvbnN0IHsgcmV0dXJuIG1fbGluZU51bWJl
cjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3Ry
dWN0b3JzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMu
aAppbmRleCA4OWI5MjhlY2Y4YjQ0MDAwNjIzNjYxMjgyYTk3MGE1NjIxYTUxYTkyLi4xYjQwZWUz
ZTIxZDhlMzcwMTYxY2M5ZjljNGFlZWNjNzA3MjYzZmExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaApAQCAtODM1LDYgKzgzNSwxMyBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgbV9ib2R5LT5maW5pc2hQYXJzaW5nKHNvdXJjZSwgcGFy
YW1ldGVyLCBpZGVudCwgRnVuY3Rpb25FeHByZXNzaW9uKTsKICAgICB9CiAKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlubGluZSBBcnJvd0Z1bmNFeHByTm9kZTo6
QXJyb3dGdW5jRXhwck5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29uc3Qg
SWRlbnRpZmllciYgaWRlbnQsIEZ1bmN0aW9uQm9keU5vZGUqIGJvZHksIGNvbnN0IFNvdXJjZUNv
ZGUmIHNvdXJjZSwgUGFyYW1ldGVyTm9kZSogcGFyYW1ldGVyKQorICAgICAgICA6IEZ1bmNFeHBy
Tm9kZShsb2NhdGlvbiwgaWRlbnQsIGJvZHksIHNvdXJjZSwgcGFyYW1ldGVyKQorICAgIHsKKyAg
ICB9CisjZW5kaWYKKyAgICAKICAgICBpbmxpbmUgRnVuY0RlY2xOb2RlOjpGdW5jRGVjbE5vZGUo
Y29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQs
IEZ1bmN0aW9uQm9keU5vZGUqIGJvZHksIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgUGFyYW1l
dGVyTm9kZSogcGFyYW1ldGVyKQogICAgICAgICA6IFN0YXRlbWVudE5vZGUobG9jYXRpb24pCiAg
ICAgICAgICwgbV9ib2R5KGJvZHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL05vZGVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKaW5k
ZXggNzg0ODE4NGU1NTRjZjQwZWFmMzkwNjdlNjc4YTVlZDhhYzU0OTllOC4uOTU0MGIxYjQ1MTQ1
MTQzNjJlMDc5YTg0N2MwMTVkZTBiYzdiNWY4ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9Ob2Rlcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
Tm9kZXMuaApAQCAtMTU4LDYgKzE1OCw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2aXJ0
dWFsIGJvb2wgaXNEb3RBY2Nlc3Nvck5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAg
ICAgICB2aXJ0dWFsIGJvb2wgaXNEZWNvbnN0cnVjdGlvbk5vZGUoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNGdW5jRXhwck5vZGUoKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAg
ICAgIHZpcnR1YWwgYm9vbCBpc0Fycm93RnVuY0V4cHJOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KKyNlbmRpZgogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNDb21tYU5vZGUoKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNTaW1wbGVBcnJheSgpIGNv
bnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0FkZCgpIGNvbnN0
IHsgcmV0dXJuIGZhbHNlOyB9CkBAIC0xNzI2LDYgKzE3MjksMTkgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgICAgIEZ1bmN0aW9uQm9keU5vZGUqIG1fYm9keTsKICAgICB9OwogCisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjbGFzcyBBcnJvd0Z1bmNFeHByTm9kZSA6
IHB1YmxpYyBGdW5jRXhwck5vZGUgeworICAgIHB1YmxpYzoKKyAgICAgICAgQXJyb3dGdW5jRXhw
ck5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgSWRlbnRpZmllciYsIEZ1bmN0aW9u
Qm9keU5vZGUqLCBjb25zdCBTb3VyY2VDb2RlJiwgUGFyYW1ldGVyTm9kZSogPSAwKTsKKyAgICBw
cml2YXRlOgorICAgICAgICB2aXJ0dWFsIFJlZ2lzdGVySUQqIGVtaXRCeXRlY29kZShCeXRlY29k
ZUdlbmVyYXRvciYsIFJlZ2lzdGVySUQqID0gMCkgb3ZlcnJpZGU7CisgICAgICAgIAorICAgICAg
ICB2aXJ0dWFsIGJvb2wgaXNGdW5jRXhwck5vZGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBm
YWxzZTsgfQorICAgICAgICAKKyAgICAgICAgdmlydHVhbCBib29sIGlzQXJyb3dGdW5jRXhwck5v
ZGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CisgICAgfTsKKyNlbmRpZgorCiAj
aWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAgICAgY2xhc3MgQ2xhc3NFeHByTm9kZSBmaW5h
bCA6IHB1YmxpYyBFeHByZXNzaW9uTm9kZSB7CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9QYXJzZXIuY3BwCmluZGV4IDE0OGM5YjI0YWNiYWY1MTg0ZTViZDFjMDQ1NDA1
ZGFjNTk4M2I3ODEuLjZhOWYwNDc5MmFlZWMxYjAyNDZlNWExMjQwMTY3OGY2NTg4NDJjNWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKQEAgLTI2NCw3ICsyNjQsNyBA
QCBTdHJpbmcgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW5uZXIoKQogICAgIGlmIChtX2xleGVy
LT5pc1JlcGFyc2luZygpKQogICAgICAgICBtX3N0YXRlbWVudERlcHRoLS07CiAgICAgU2NvcGVS
ZWYgc2NvcGUgPSBjdXJyZW50U2NvcGUoKTsKLSAgICBTb3VyY2VFbGVtZW50cyogc291cmNlRWxl
bWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIENoZWNrRm9yU3RyaWN0TW9kZSk7
CisgICAgU291cmNlRWxlbWVudHMqIHNvdXJjZUVsZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50
cyhjb250ZXh0LCBDaGVja0ZvclN0cmljdE1vZGUsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUp
OwogICAgIGlmICghc291cmNlRWxlbWVudHMgfHwgIWNvbnN1bWUoRU9GVE9LKSkgewogICAgICAg
ICBpZiAoaGFzRXJyb3IoKSkKICAgICAgICAgICAgIHBhcnNlRXJyb3IgPSBtX2Vycm9yTWVzc2Fn
ZTsKQEAgLTM0Myw3ICszNDMsNyBAQCBib29sIFBhcnNlcjxMZXhlclR5cGU+OjphbGxvd0F1dG9t
YXRpY1NlbWljb2xvbigpCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Ci10ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYgY29udGV4dCwgU291cmNlRWxl
bWVudHNNb2RlIG1vZGUpCit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VF
bGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRl
ciYgY29udGV4dCwgU291cmNlRWxlbWVudHNNb2RlIG1vZGUsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1
bmN0aW9uUGFyc2VUeXBlKQogewogICAgIGNvbnN0IHVuc2lnbmVkIGxlbmd0aE9mVXNlU3RyaWN0
TGl0ZXJhbCA9IDEyOyAvLyAidXNlIHN0cmljdCIubGVuZ3RoCiAgICAgVHJlZVNvdXJjZUVsZW1l
bnRzIHNvdXJjZUVsZW1lbnRzID0gY29udGV4dC5jcmVhdGVTb3VyY2VFbGVtZW50cygpOwpAQCAt
MzUyLDcgKzM1Miw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVs
ZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsCiAgICAgdW5zaWduZWQgZGly
ZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDA7CiAgICAgYXV0byBzYXZlUG9pbnQgPSBjcmVhdGVTYXZl
UG9pbnQoKTsKICAgICBib29sIGhhc1NldFN0cmljdCA9IGZhbHNlOwotICAgIHdoaWxlIChUcmVl
U3RhdGVtZW50IHN0YXRlbWVudCA9IHBhcnNlU3RhdGVtZW50KGNvbnRleHQsIGRpcmVjdGl2ZSwg
JmRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgpKSB7CisgICAgd2hpbGUgKFRyZWVTdGF0ZW1lbnQgc3Rh
dGVtZW50ID0gcGFyc2VTdGF0ZW1lbnQoY29udGV4dCwgZGlyZWN0aXZlLCAmZGlyZWN0aXZlTGl0
ZXJhbExlbmd0aCwgZnVuY3Rpb25QYXJzZVR5cGUpKSB7CiAgICAgICAgIGlmIChtb2RlID09IENo
ZWNrRm9yU3RyaWN0TW9kZSAmJiAhc2Vlbk5vbkRpcmVjdGl2ZSkgewogICAgICAgICAgICAgaWYg
KGRpcmVjdGl2ZSkgewogICAgICAgICAgICAgICAgIC8vICJ1c2Ugc3RyaWN0IiBtdXN0IGJlIHRo
ZSBleGFjdCBsaXRlcmFsIHdpdGhvdXQgZXNjYXBlIHNlcXVlbmNlcyBvciBsaW5lIGNvbnRpbnVh
dGlvbi4KQEAgLTU4NCw2ICs1ODQsMzEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIFBhcnNlcjxMZXhlclR5cGU+OjpjcmVhdGUKICAgICBy
ZXR1cm4gY29udGV4dC5jcmVhdGVCaW5kaW5nTG9jYXRpb24odG9rZW4ubV9sb2NhdGlvbiwgbmFt
ZSwgdG9rZW4ubV9zdGFydFBvc2l0aW9uLCB0b2tlbi5tX2VuZFBvc2l0aW9uKTsKIH0KIAorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4
ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNv
bnRleHQpCit7CisgICAgQVNTRVJUKG1hdGNoKEFSUk9XRlVOQ1RJT04pKTsKKworICAgIEpTVG9r
ZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgIEpTVGV4dFBvc2l0aW9u
IHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgSlNUZXh0UG9zaXRpb24gZW5kID0g
dG9rZW5FbmRQb3NpdGlvbigpOworCisgICAgbmV4dCgpOworICAgIFRyZWVFeHByZXNzaW9uIGV4
cHIgPSBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKGNvbnRleHQpOworICAgIGZhaWxJZkZh
bHNlKGV4cHIsICJDYW5ub3QgcGFyc2UgdGhlIGFycm93IGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsK
KyAgICBlbmQgPSBsYXN0VG9rZW5FbmRQb3NpdGlvbigpOworCisgICAgYm9vbCBjb3JyZWN0QXJy
b3dGaW5pc2ggPSBpc0VuZE9mQXJyb3dGdW5jdGlvbigpIHx8IG1hdGNoKEVPRlRPSyk7CisgICAg
ZmFpbElmRmFsc2UoY29ycmVjdEFycm93RmluaXNoLCAiRXhwZWN0ZWQgYSAnOycsICddJywgJ30n
LCAnKScsIG9yICcsJyBmb2xsb3dpbmcgYSBhcnJvdyBmdW5jdGlvbiBzdGF0ZW1lbnQiKTsKKwor
ICAgIGVuZCA9IHRva2VuRW5kUG9zaXRpb24oKTsKKyAgICBzZXRFbmRPZlN0YXRlbWVudCgpOwor
CisgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUmV0dXJuU3RhdGVtZW50KGxvY2F0aW9uLCBleHBy
LCBzdGFydCwgZW5kKTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBl
PgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJu
IFBhcnNlcjxMZXhlclR5cGU+Ojp0cnlQYXJzZURlY29uc3RydWN0aW9uUGF0dGVybkV4cHJlc3Np
b24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7CkBAIC0xMDMxLDcgKzEwNTYsNyBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVDbGF1c2VMaXN0IFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZVN3aXRjaENsYXVzZQogICAgIFRyZWVFeHByZXNzaW9uIGNvbmRpdGlvbiA9IHBhcnNlRXhw
cmVzc2lvbihjb250ZXh0KTsKICAgICBmYWlsSWZGYWxzZShjb25kaXRpb24sICJDYW5ub3QgcGFy
c2Ugc3dpdGNoIGNsYXVzZSIpOwogICAgIGNvbnN1bWVPckZhaWwoQ09MT04sICJFeHBlY3RlZCBh
ICc6JyBhZnRlciBzd2l0Y2ggY2xhdXNlIGV4cHJlc3Npb24iKTsKLSAgICBUcmVlU291cmNlRWxl
bWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgRG9udENoZWNr
Rm9yU3RyaWN0TW9kZSk7CisgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJz
ZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUsIFN0YW5kYXJk
RnVuY3Rpb25QYXJzZVR5cGUpOwogICAgIGZhaWxJZkZhbHNlKHN0YXRlbWVudHMsICJDYW5ub3Qg
cGFyc2UgdGhlIGJvZHkgb2YgYSBzd2l0Y2ggY2xhdXNlIik7CiAgICAgVHJlZUNsYXVzZSBjbGF1
c2UgPSBjb250ZXh0LmNyZWF0ZUNsYXVzZShjb25kaXRpb24sIHN0YXRlbWVudHMpOwogICAgIGNv
bnRleHQuc2V0U3RhcnRPZmZzZXQoY2xhdXNlLCBzdGFydE9mZnNldCk7CkBAIC0xMDQ0LDcgKzEw
NjksNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVDbGF1c2VMaXN0IFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZVN3aXRjaENsYXVzZQogICAgICAgICBUcmVlRXhwcmVzc2lvbiBj
b25kaXRpb24gPSBwYXJzZUV4cHJlc3Npb24oY29udGV4dCk7CiAgICAgICAgIGZhaWxJZkZhbHNl
KGNvbmRpdGlvbiwgIkNhbm5vdCBwYXJzZSBzd2l0Y2ggY2FzZSBleHByZXNzaW9uIik7CiAgICAg
ICAgIGNvbnN1bWVPckZhaWwoQ09MT04sICJFeHBlY3RlZCBhICc6JyBhZnRlciBzd2l0Y2ggY2xh
dXNlIGV4cHJlc3Npb24iKTsKLSAgICAgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN0YXRlbWVudHMg
PSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUpOwor
ICAgICAgICBUcmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVu
dHMoY29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNl
VHlwZSk7CiAgICAgICAgIGZhaWxJZkZhbHNlKHN0YXRlbWVudHMsICJDYW5ub3QgcGFyc2UgdGhl
IGJvZHkgb2YgYSBzd2l0Y2ggY2xhdXNlIik7CiAgICAgICAgIGNsYXVzZSA9IGNvbnRleHQuY3Jl
YXRlQ2xhdXNlKGNvbmRpdGlvbiwgc3RhdGVtZW50cyk7CiAgICAgICAgIGNvbnRleHQuc2V0U3Rh
cnRPZmZzZXQoY2xhdXNlLCBzdGFydE9mZnNldCk7CkBAIC0xMDYxLDcgKzEwODYsNyBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVDbGF1c2UgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlU3dpdGNoRGVmYXVsdENsYQogICAgIHVuc2lnbmVkIHN0YXJ0T2Zmc2V0ID0gdG9rZW5TdGFy
dCgpOwogICAgIG5leHQoKTsKICAgICBjb25zdW1lT3JGYWlsKENPTE9OLCAiRXhwZWN0ZWQgYSAn
OicgYWZ0ZXIgc3dpdGNoIGRlZmF1bHQgY2xhdXNlIik7Ci0gICAgVHJlZVNvdXJjZUVsZW1lbnRz
IHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0
cmljdE1vZGUpOworICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3Vy
Y2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0
aW9uUGFyc2VUeXBlKTsKICAgICBmYWlsSWZGYWxzZShzdGF0ZW1lbnRzLCAiQ2Fubm90IHBhcnNl
IHRoZSBib2R5IG9mIGEgc3dpdGNoIGRlZmF1bHQgY2xhdXNlIik7CiAgICAgVHJlZUNsYXVzZSBy
ZXN1bHQgPSBjb250ZXh0LmNyZWF0ZUNsYXVzZSgwLCBzdGF0ZW1lbnRzKTsKICAgICBjb250ZXh0
LnNldFN0YXJ0T2Zmc2V0KHJlc3VsdCwgc3RhcnRPZmZzZXQpOwpAQCAtMTE0Niw3ICsxMTcxLDcg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZUJsb2NrU3RhdGVtZW4KICAgICAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQo
cmVzdWx0LCBlbmRPZmZzZXQpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KLSAgICBU
cmVlU291cmNlRWxlbWVudHMgc3VidHJlZSA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwg
RG9udENoZWNrRm9yU3RyaWN0TW9kZSk7CisgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN1YnRyZWUg
PSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUsIFN0
YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwogICAgIGZhaWxJZkZhbHNlKHN1YnRyZWUsICJDYW5u
b3QgcGFyc2UgdGhlIGJvZHkgb2YgdGhlIGJsb2NrIHN0YXRlbWVudCIpOwogICAgIG1hdGNoT3JG
YWlsKENMT1NFQlJBQ0UsICJFeHBlY3RlZCBhIGNsb3NpbmcgJ30nIGF0IHRoZSBlbmQgb2YgYSBi
bG9jayBzdGF0ZW1lbnQiKTsKICAgICBpbnQgZW5kT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zm
c2V0OwpAQCAtMTE1OCw3ICsxMTgzLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUJsb2NrU3RhdGVtZW4KIH0KIAog
dGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KLXRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1
aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBk
aXJlY3RpdmVMaXRlcmFsTGVuZ3RoKQordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
U3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYg
Y29udGV4dCwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2
ZUxpdGVyYWxMZW5ndGgsIEZ1bmN0aW9uUGFyc2VUeXBlIHBhcnNlVHlwZSkKIHsKICAgICBEZXB0
aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50RGVwdGgpOwogICAgIG1fc3RhdGVt
ZW50RGVwdGgrKzsKQEAgLTExNjcsNiArMTE5MiwyMyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRy
ZQogICAgIGZhaWxJZlN0YWNrT3ZlcmZsb3coKTsKICAgICBUcmVlU3RhdGVtZW50IHJlc3VsdCA9
IDA7CiAgICAgYm9vbCBzaG91bGRTZXRFbmRPZmZzZXQgPSB0cnVlOworCisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rp
b25QYXJzZVR5cGUpIHsKKyAgICAgICAgc3dpdGNoIChtX3Rva2VuLm1fdHlwZSkgeworICAgICAg
ICBjYXNlIENMT1NFUEFSRU46CisgICAgICAgIGNhc2UgQ0xPU0VCUkFDS0VUOgorICAgICAgICBj
YXNlIENPTU1BOgorICAgICAgICBjYXNlIFNFTUlDT0xPTjogeworICAgICAgICAgICAgcmVzdWx0
ID0gMDsKKyAgICAgICAgICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KHJlc3VsdCwgbV9sYXN0VG9r
ZW5FbmRQb3NpdGlvbi5vZmZzZXQpOworICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAg
ICAgfQorICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAg
ICB9CisjZW5kaWYKICAgICBzd2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7CiAgICAgY2FzZSBPUEVO
QlJBQ0U6CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlQmxvY2tTdGF0ZW1lbnQoY29udGV4dCk7CkBA
IC0xMjEyLDYgKzEyNTQsMTUgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3Rh
dGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmUKICAgICBjYXNlIEJS
RUFLOgogICAgICAgICByZXN1bHQgPSBwYXJzZUJyZWFrU3RhdGVtZW50KGNvbnRleHQpOwogICAg
ICAgICBicmVhazsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNh
c2UgQVJST1dGVU5DVElPTjoKKyAgICAgICAgcmVzdWx0ID0gcGFyc2VBcnJvd0Z1bmN0aW9uU3Rh
dGVtZW50KGNvbnRleHQpOworICAgICAgICAvLyBDb25zdW1lIHRoZSBlbmQgb2YgYXJyb3cgZnVu
Y3Rpb24gLDtdKSBhbmQgcHJldmVudAorICAgICAgICAvLyBwYXJzZSB0aGlzIHN5bWJvbHMgYnkg
cGFyc2VTdGF0ZW1lbnQgYXMgc2VwYXJhdGUgc3RhdGVtZW50CisgICAgICAgIGlmIChwYXJzZVR5
cGUgPT0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkKKyAgICAgICAgICAgIG5leHQoKTsKKyAg
ICAgICAgYnJlYWs7CisjZW5kaWYKICAgICBjYXNlIFJFVFVSTjoKICAgICAgICAgcmVzdWx0ID0g
cGFyc2VSZXR1cm5TdGF0ZW1lbnQoY29udGV4dCk7CiAgICAgICAgIGJyZWFrOwpAQCAtMTI3Niwy
MCArMTMyNywzNCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGb3JtYWxQYXJh
bWV0ZXJMaXN0IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZvcgogdGVtcGxhdGUgPHR5cGVuYW1l
IExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUZ1bmN0aW9uQm9k
eSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkJvZHkoCiAgICAgVHJlZUJ1aWxkZXIm
IGNvbnRleHQsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0
LCAKLSAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JL
aW5kKQorICAgIGludCBwYXJhbWV0ZXJzU3RhcnQsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3Rv
cktpbmQsIEZ1bmN0aW9uUGFyc2VUeXBlIHBhcnNlVHlwZSkKIHsKICAgICBKU1Rva2VuTG9jYXRp
b24gc3RhcnRMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwogICAgIHVuc2lnbmVkIHN0YXJ0Q29s
dW1uID0gdG9rZW5Db2x1bW4oKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgIGlmIChwYXJzZVR5cGUgPT0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkgeworICAg
ICAgICBuZXh0KCk7CisgICAgICAgIGlmIChtYXRjaChDTE9TRUJSQUNFKSkgeworICAgICAgICAg
ICAgdW5zaWduZWQgZW5kQ29sdW1uID0gdG9rZW5Db2x1bW4oKTsKKyAgICAgICAgICAgIHJldHVy
biBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uQm9keShzdGFydExvY2F0aW9uLCB0b2tlbkxvY2F0aW9u
KCksIHN0YXJ0Q29sdW1uLCBlbmRDb2x1bW4sIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlv
bk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBzdHJpY3RNb2RlKCksIGNvbnN0cnVjdG9yS2lu
ZCk7CisgICAgICAgIH0KKyAgICB9CisjZWxzZQogICAgIG5leHQoKTsKLQogICAgIGlmIChtYXRj
aChDTE9TRUJSQUNFKSkgewogICAgICAgICB1bnNpZ25lZCBlbmRDb2x1bW4gPSB0b2tlbkNvbHVt
bigpOwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRMb2Nh
dGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBmdW5jdGlvbktl
eXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgc3RyaWN0TW9k
ZSgpLCBjb25zdHJ1Y3RvcktpbmQpOwogICAgIH0KKyNlbmRpZgorCiAgICAgRGVwdGhNYW5hZ2Vy
IHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKICAgICBtX3N0YXRlbWVudERlcHRo
ID0gMDsKICAgICB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6RnVuY3Rpb25Cb2R5QnVpbGRlciBib2R5
QnVpbGRlcihjb25zdF9jYXN0PFZNKj4obV92bSksIG1fbGV4ZXIuZ2V0KCkpOwotICAgIGZhaWxJ
ZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMoYm9keUJ1aWxkZXIsIENoZWNrRm9yU3RyaWN0TW9k
ZSksICJDYW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGZ1bmN0aW9uIik7CisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBmYWlsSWZGYWxzZShwYXJzZVNvdXJjZUVsZW1l
bnRzKGJvZHlCdWlsZGVyLCBDaGVja0ZvclN0cmljdE1vZGUsIHBhcnNlVHlwZSksIHBhcnNlVHlw
ZSA9PSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlID8gIkNhbm5vdCBwYXJzZSBib2R5IG9mIHRo
aXMgZnVuY3Rpb24iIDogIkNhbm5vdCBwYXJzZSBib2R5IG9mIHRoaXMgYXJyb3cgZnVuY3Rpb24i
KTsKKyNlbHNlCisgICAgZmFpbElmRmFsc2UocGFyc2VTb3VyY2VFbGVtZW50cyhib2R5QnVpbGRl
ciwgQ2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSwgIkNhbm5v
dCBwYXJzZSBib2R5IG9mIHRoaXMgZnVuY3Rpb24iKTsKKyNlbmRpZgogICAgIHVuc2lnbmVkIGVu
ZENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rp
b25Cb2R5KHN0YXJ0TG9jYXRpb24sIHRva2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1bW4sIGVuZENv
bHVtbiwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJz
U3RhcnQsIHN0cmljdE1vZGUoKSwgY29uc3RydWN0b3JLaW5kKTsKIH0KQEAgLTEzNTAsMjggKzE0
MTUsNzYgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4gdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBpbnQgUGFyc2VyPExleGVyVHlwZT4KICAgICAKICAgICByZXR1cm4gcGFyYW1l
dGVyc1N0YXJ0OwogfQorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3Rl
bXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
aW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25QYXJhbXRlcnMoVHJlZUJ1
aWxkZXImIGNvbnRleHQsIEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUsIFBhcnNlckZ1bmN0aW9uSW5m
bzxUcmVlQnVpbGRlcj4mIGluZm8pCit7CisgICAgaW50IHBhcmFtZXRlcnNTdGFydCA9IG1fdG9r
ZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKKyAgICBpZiAoIW1hdGNoKElERU5UKSAmJiAhbWF0
Y2goT1BFTlBBUkVOKSkgeworICAgICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVUb0tleXdvcmQoc3Ry
aW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUiKTsKKyAgICAgICAgZmFpbFdpdGhNZXNz
YWdlKCJFeHBlY3RlZCBhbiBhcnJvdyBmdW5jdGlvbiBpbnB1dCBwYXJhbWV0ZXIiKTsKKyAgICB9
IGVsc2UgeworICAgICAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICAgICAgY29u
c3VtZShPUEVOUEFSRU4pOworICAgICAgICAgICAgCisgICAgICAgICAgICBpZiAoIW1hdGNoKENM
T1NFUEFSRU4pKSB7CisgICAgICAgICAgICAgICAgaW5mby5wYXJhbWV0ZXJzID0gcGFyc2VGb3Jt
YWxQYXJhbWV0ZXJzKGNvbnRleHQpOworICAgICAgICAgICAgICAgIGZhaWxJZkZhbHNlKGluZm8u
cGFyYW1ldGVycywgIkNhbm5vdCBwYXJzZSBwYXJhbWV0ZXJzIGZvciB0aGlzICIsIHN0cmluZ0Zv
ckZ1bmN0aW9uTW9kZShtb2RlKSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAg
ICAgICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJFTiwgIkV4cGVjdGVkIGEgJyknIG9yIGEgJywn
IGFmdGVyIGEgcGFyYW1ldGVyIGRlY2xhcmF0aW9uIik7CisgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICBhdXRvIHBhcmFtZXRlciA9IHBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuKGNvbnRl
eHQsIERlY29uc3RydWN0VG9QYXJhbWV0ZXJzKTsKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKHBh
cmFtZXRlciwgIkNhbm5vdCBwYXJzZSBwYXJhbWV0ZXIgcGF0dGVybiIpOworICAgICAgICAgICAg
aW5mby5wYXJhbWV0ZXJzID0gY29udGV4dC5jcmVhdGVGb3JtYWxQYXJhbWV0ZXJMaXN0KHBhcmFt
ZXRlcik7CisgICAgICAgICAgICBmYWlsSWZGYWxzZShpbmZvLnBhcmFtZXRlcnMsICJDYW5ub3Qg
cGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkp
OworICAgICAgICB9CisgICAgfQogICAgIAorICAgIHJldHVybiBwYXJhbWV0ZXJzU3RhcnQ7Cit9
CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8o
VHJlZUJ1aWxkZXImIGNvbnRleHQsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzIHJlcXVpcmVtZW50cywg
RnVuY3Rpb25QYXJzZU1vZGUgbW9kZSwKLSAgICBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3Bl
LCBDb25zdHJ1Y3RvcktpbmQgb3duZXJDbGFzc0tpbmQsIGludCBmdW5jdGlvbktleXdvcmRTdGFy
dCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYgaW5mbykKKyAgICBib29sIG5hbWVJ
c0luQ29udGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQgb3duZXJDbGFzc0tpbmQsIGludCBm
dW5jdGlvbktleXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYgaW5m
bywgRnVuY3Rpb25QYXJzZVR5cGUgcGFyc2VUeXBlKQogewogICAgIEF1dG9Qb3BTY29wZVJlZiBm
dW5jdGlvblNjb3BlKHRoaXMsIHB1c2hTY29wZSgpKTsKICAgICBmdW5jdGlvblNjb3BlLT5zZXRJ
c0Z1bmN0aW9uKCk7CiAgICAgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0ID0gbV90b2tlbi5tX2xvY2F0
aW9uLnN0YXJ0T2Zmc2V0OwogICAgIGNvbnN0IElkZW50aWZpZXIqIGxhc3RGdW5jdGlvbk5hbWUg
PSBtX2xhc3RGdW5jdGlvbk5hbWU7CiAgICAgbV9sYXN0RnVuY3Rpb25OYW1lID0gbnVsbHB0cjsK
KyAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0OworICAgIGJvb2wgaXNDbGFzc0NvbnN0cnVjdG9yOwog
ICAgIAotICAgIGludCBwYXJhbWV0ZXJzU3RhcnQgPSBwYXJzZUZ1bmN0aW9uUGFyYW10ZXJzKGNv
bnRleHQsIHJlcXVpcmVtZW50cywgbW9kZSwgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIGZ1bmN0
aW9uU2NvcGUsIGluZm8pOwotCi0gICAgbWF0Y2hPckZhaWwoT1BFTkJSQUNFLCAiRXhwZWN0ZWQg
YW4gb3BlbmluZyAneycgYXQgdGhlIHN0YXJ0IG9mIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2Rl
KG1vZGUpLCAiIGJvZHkiKTsKLQotICAgIC8vIEJ5dGVjb2RlR2VuZXJhdG9yIGVtaXRzIGNvZGUg
dG8gdGhyb3cgVHlwZUVycm9yIHdoZW4gYSBjbGFzcyBjb25zdHJ1Y3RvciBpcyAiY2FsbCJlZC4K
LSAgICAvLyBTZXQgQ29uc3RydWN0b3JLaW5kIHRvIE5vbmUgZm9yIG5vbi1jb25zdHJ1Y3RvciBt
ZXRob2RzIG9mIGNsYXNzZXMuCi0gICAgYm9vbCBpc0NsYXNzQ29uc3RydWN0b3IgPSBtb2RlID09
IE1ldGhvZE1vZGUgJiYgaW5mby5uYW1lICYmICppbmZvLm5hbWUgPT0gbV92bS0+cHJvcGVydHlO
YW1lcy0+Y29uc3RydWN0b3I7Ci0gICAgaWYgKG1fZGVmYXVsdENvbnN0cnVjdG9yS2luZCAhPSBD
b25zdHJ1Y3RvcktpbmQ6Ok5vbmUpIHsKLSAgICAgICAgb3duZXJDbGFzc0tpbmQgPSBtX2RlZmF1
bHRDb25zdHJ1Y3RvcktpbmQ7Ci0gICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IHRydWU7Cisg
ICAgc3dpdGNoIChwYXJzZVR5cGUpIHsKKyAgICBjYXNlIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5
cGU6IHsKKyAgICAgICAgcGFyYW1ldGVyc1N0YXJ0ID0gcGFyc2VGdW5jdGlvblBhcmFtdGVycyhj
b250ZXh0LCByZXF1aXJlbWVudHMsIG1vZGUsIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBmdW5j
dGlvblNjb3BlLCBpbmZvKTsKKyAgICAgICAgICAgIAorICAgICAgICBtYXRjaE9yRmFpbChPUEVO
QlJBQ0UsICJFeHBlY3RlZCBhbiBvcGVuaW5nICd7JyBhdCB0aGUgc3RhcnQgb2YgYSAiLCBzdHJp
bmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOworICAgICAgICAKKyAgICAgICAgLy8g
Qnl0ZWNvZGVHZW5lcmF0b3IgZW1pdHMgY29kZSB0byB0aHJvdyBUeXBlRXJyb3Igd2hlbiBhIGNs
YXNzIGNvbnN0cnVjdG9yIGlzICJjYWxsImVkLgorICAgICAgICAvLyBTZXQgQ29uc3RydWN0b3JL
aW5kIHRvIE5vbmUgZm9yIG5vbi1jb25zdHJ1Y3RvciBtZXRob2RzIG9mIGNsYXNzZXMuCisgICAg
ICAgIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IG1vZGUgPT0gTWV0aG9kTW9kZSAmJiBpbmZvLm5hbWUg
JiYgKmluZm8ubmFtZSA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvcjsKKyAgICAg
ICAgaWYgKG1fZGVmYXVsdENvbnN0cnVjdG9yS2luZCAhPSBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUp
IHsKKyAgICAgICAgICAgIG93bmVyQ2xhc3NLaW5kID0gbV9kZWZhdWx0Q29uc3RydWN0b3JLaW5k
OworICAgICAgICAgICAgaXNDbGFzc0NvbnN0cnVjdG9yID0gdHJ1ZTsKKyAgICAgICAgfQorICAg
ICAgICBicmVhazsKICAgICB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICBjYXNlIEFycm93RnVuY3Rpb25QYXJzZVR5cGU6IHsKKyAgICAgICAgcGFyYW1ldGVyc1N0
YXJ0ID0gcGFyc2VBcnJvd0Z1bmN0aW9uUGFyYW10ZXJzKGNvbnRleHQsIG1vZGUsIGluZm8pOwor
ICAgICAgICAKKyAgICAgICAgbWF0Y2hPckZhaWwoQVJST1dGVU5DVElPTiwgIkV4cGVjdGVkIGEg
Jz0+JyBhZnRlciBhcnJvdyBmdW5jdGlvbiBwYXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsKKyAgICAg
ICAgaXNDbGFzc0NvbnN0cnVjdG9yID0gZmFsc2U7CisgICAgICAgIAorICAgICAgICBpbmZvLmFy
cm93RnVuY3Rpb25PZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CisgICAgICAgIGJyZWFr
OworICAgIH0KKyNlbmRpZgorICAgIH0KKwogICAgIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3Rv
cktpbmQgPSBpc0NsYXNzQ29uc3RydWN0b3IgPyBvd25lckNsYXNzS2luZCA6IENvbnN0cnVjdG9y
S2luZDo6Tm9uZTsKIAogICAgIGluZm8ub3BlbkJyYWNlT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEu
b2Zmc2V0OwpAQCAtMTQwNSw4ICsxNTE4LDE1IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAg
ICAgICAgIGZhaWxJZkZhbHNlKHBvcFNjb3BlKGZ1bmN0aW9uU2NvcGUsIFRyZWVCdWlsZGVyOjpO
ZWVkc0ZyZWVWYXJpYWJsZUluZm8pLCAiUGFyc2VyIGVycm9yIik7CiAgICAgICAgIAogICAgICAg
ICBpbmZvLmNsb3NlQnJhY2VPZmZzZXQgPSBjYWNoZWRJbmZvLT5jbG9zZUJyYWNlT2Zmc2V0Owot
Ci0gICAgICAgIG1fdG9rZW4gPSBjYWNoZWRJbmZvLT5jbG9zZUJyYWNlVG9rZW4oKTsKKyAgICAg
ICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKHBh
cnNlVHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKQorICAgICAgICAgICAgaW5mby5mdW5j
dGlvbkJvZHlUeXBlID0gY2FjaGVkSW5mby0+aXNCb2R5QXJyb3dFeHByZXNzaW9uID8gIEFycm93
RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiA6IEFycm93RnVuY3Rpb25Cb2R5QmxvY2s7CisgICAgICAg
IGVsc2UKKyAgICAgICAgICAgIGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9IFN0YW5kYXJkRnVuY3Rp
b25Cb2R5QmxvY2s7CisjZW5kaWYKKyAgICAgICAgbV90b2tlbiA9IGNhY2hlZEluZm8tPmVuZEZ1
bmN0aW9uVG9rZW4oKTsKKyAgICAgICAgCiAgICAgICAgIGlmIChlbmRDb2x1bW5Jc09uU3RhcnRM
aW5lKQogICAgICAgICAgICAgbV90b2tlbi5tX2xvY2F0aW9uLmxpbmVTdGFydE9mZnNldCA9IGN1
cnJlbnRMaW5lU3RhcnRPZmZzZXQ7CiAKQEAgLTE0MTUsMTMgKzE1MzUsNDMgQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9u
SW5mbyhUcmVlQnVpbGQKIAogICAgICAgICBjb250ZXh0LnNldEVuZE9mZnNldChpbmZvLmJvZHks
IG1fbGV4ZXItPmN1cnJlbnRPZmZzZXQoKSk7CiAgICAgICAgIAorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChwYXJzZVR5cGUgIT0gQXJyb3dGdW5jdGlv
blBhcnNlVHlwZSB8fCBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlC
bG9jaykKKyAgICAgICAgICAgIG5leHQoKTsKKyNlbHNlCiAgICAgICAgIG5leHQoKTsKKyNlbmRp
ZgogICAgICAgICBpbmZvLmJvZHlFbmRMaW5lID0gbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5l
OwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CisgICAgCiAgICAgbV9sYXN0RnVuY3Rpb25O
YW1lID0gbGFzdEZ1bmN0aW9uTmFtZTsKICAgICBQYXJzZXJTdGF0ZSBvbGRTdGF0ZSA9IHNhdmVT
dGF0ZSgpOwotICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0
aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25z
dHJ1Y3RvcktpbmQpOworICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAg
IFNhdmVQb2ludCBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICAgICAgbmV4dCgp
OworICAgICAgICAvLyBDaGVjayBpZiBhcnJvdyBib2R5IHN0YXJ0IHdpdGggey4gSWYgaXQgdHJ1
ZSBpdCBtZWFuIHRoYXQgYXJyb3cgZnVuY3Rpb24gaXMgRmF0IGFycm93IGZ1bmN0aW9uCisgICAg
ICAgIC8vIGFuZCB3ZSBuZWVkIHVzZSBjb21tb24gYXBwcm9hY2ggdG8gcGFyc2UgZnVuY3Rpb24g
Ym9keQorICAgICAgICBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPSBtYXRjaChPUEVOQlJBQ0UpID8g
QXJyb3dGdW5jdGlvbkJvZHlCbG9jayA6IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbjsKKyAg
ICAKKyAgICAgICAgaWYgKGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9k
eUJsb2NrKSB7CisgICAgICAgICAgICBpbmZvLm9wZW5CcmFjZU9mZnNldCA9IG1fdG9rZW4ubV9k
YXRhLm9mZnNldDsKKyAgICAgICAgICAgIGluZm8uYm9keVN0YXJ0TGluZSA9IHRva2VuTGluZSgp
OworICAgICAgICAgICAgaW5mby5ib2R5U3RhcnRDb2x1bW4gPSBtX3Rva2VuLm1fZGF0YS5vZmZz
ZXQgLSBtX3Rva2VuLm1fZGF0YS5saW5lU3RhcnRPZmZzZXQ7CisgICAgICAgIAorICAgICAgICAg
ICAgaW5mby5ib2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3Jk
U3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2lu
ZCwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CisgICAgICAgICAgICBpbmZvLmJvZHkg
PSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rp
b25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kLCBBcnJvd0Z1bmN0
aW9uUGFyc2VUeXBlKTsKKyAgICAgICAgfQorICAgIH0gZWxzZQorICAgICAgICBpbmZvLmJvZHkg
PSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rp
b25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kLCBTdGFuZGFyZEZ1
bmN0aW9uUGFyc2VUeXBlKTsKKyNlbHNlCisgICAgaW5mby5ib2R5ID0gcGFyc2VGdW5jdGlvbkJv
ZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJh
bWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7
CisjZW5kaWYKKyAgICAKICAgICByZXN0b3JlU3RhdGUob2xkU3RhdGUpOwogICAgIGZhaWxJZkZh
bHNlKGluZm8uYm9keSwgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiB0aGlzICIsIHN0cmluZ0Zv
ckZ1bmN0aW9uTW9kZShtb2RlKSk7CiAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQoaW5mby5ib2R5
LCBtX2xleGVyLT5jdXJyZW50T2Zmc2V0KCkpOwpAQCAtMTQ1MiwxOCArMTYwMiwzMiBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVu
Y3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VMaW5lID0g
Y2xvc2VCcmFjZUxpbmU7CiAgICAgICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFjZU9mZnNldCA9IGlu
Zm8uY2xvc2VCcmFjZU9mZnNldDsKICAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJyYWNlTGluZVN0
YXJ0T2Zmc2V0ID0gY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldDsKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rp
b25QYXJzZVR5cGUpIHsKKyAgICAgICAgICAgIHBhcmFtZXRlcnMuaXNCb2R5QXJyb3dFeHByZXNz
aW9uID0gaW5mby5mdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lv
bjsKKyAgICAgICAgICAgIHBhcmFtZXRlcnMudG9rZW5UeXBlID0gbV90b2tlbi5tX3R5cGU7Cisg
ICAgICAgIH0KKyNlbmRpZgogICAgICAgICBmdW5jdGlvblNjb3BlLT5maWxsUGFyYW1ldGVyc0Zv
clNvdXJjZVByb3ZpZGVyQ2FjaGUocGFyYW1ldGVycyk7CiAgICAgICAgIG5ld0luZm8gPSBTb3Vy
Y2VQcm92aWRlckNhY2hlSXRlbTo6Y3JlYXRlKHBhcmFtZXRlcnMpOwotCiAgICAgfQogICAgIAog
ICAgIGZhaWxJZkZhbHNlKHBvcFNjb3BlKGZ1bmN0aW9uU2NvcGUsIFRyZWVCdWlsZGVyOjpOZWVk
c0ZyZWVWYXJpYWJsZUluZm8pLCAiUGFyc2VyIGVycm9yIik7CisgICAgCisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAoKHBhcnNlVHlwZSA9PSBBcnJvd0Z1bmN0
aW9uUGFyc2VUeXBlICYmIGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9k
eUJsb2NrKSB8fCBwYXJzZVR5cGUgIT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAg
ICBtYXRjaE9yRmFpbChDTE9TRUJSQUNFLCAiRXhwZWN0ZWQgYSBjbG9zaW5nICd9JyBhZnRlciBh
ICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7CisgICAgICAgIG5leHQo
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgZmFpbElmRmFsc2UoaXNFbmRPZkFycm93RnVuY3Rpb24o
KSwgIkV4cGVjdGVkIHRoZSBjbG9zaW5nICc7JyAnLCcgJ10nICcpJyAnfScgYWZ0ZXIgYXJyb3cg
ZnVuY3Rpb24iKTsKKyNlbHNlCiAgICAgbWF0Y2hPckZhaWwoQ0xPU0VCUkFDRSwgIkV4cGVjdGVk
IGEgY2xvc2luZyAnfScgYWZ0ZXIgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIg
Ym9keSIpOworICAgIG5leHQoKTsKKyNlbmRpZgogICAgIAogICAgIGlmIChuZXdJbmZvKQogICAg
ICAgICBtX2Z1bmN0aW9uQ2FjaGUtPmFkZChpbmZvLm9wZW5CcmFjZU9mZnNldCwgV1RGOjptb3Zl
KG5ld0luZm8pKTsKICAgICAKLSAgICBuZXh0KCk7CiAgICAgaW5mby5ib2R5RW5kTGluZSA9IG1f
bGFzdFRva2VuRW5kUG9zaXRpb24ubGluZTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KQEAgLTE0NzYs
NyArMTY0MCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkRlY2xhCiAgICAgdW5zaWduZWQgZnVuY3Rp
b25LZXl3b3JkU3RhcnQgPSB0b2tlblN0YXJ0KCk7CiAgICAgbmV4dCgpOwogICAgIFBhcnNlckZ1
bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gaW5mbzsKLSAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5j
dGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OZWVkc05hbWUsIEZ1bmN0aW9uTW9kZSwgdHJ1ZSwg
Q29uc3RydWN0b3JLaW5kOjpOb25lLCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW5mbykpLCAiQ2Fu
bm90IHBhcnNlIHRoaXMgZnVuY3Rpb24iKTsKKyAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlv
bkluZm8oY29udGV4dCwgRnVuY3Rpb25OZWVkc05hbWUsIEZ1bmN0aW9uTW9kZSwgdHJ1ZSwgQ29u
c3RydWN0b3JLaW5kOjpOb25lLCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW5mbywgU3RhbmRhcmRG
dW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIHRoaXMgZnVuY3Rpb24iKTsKICAgICBm
YWlsSWZGYWxzZShpbmZvLm5hbWUsICJGdW5jdGlvbiBzdGF0ZW1lbnRzIG11c3QgaGF2ZSBhIG5h
bWUiKTsKICAgICBmYWlsSWZGYWxzZUlmU3RyaWN0KGRlY2xhcmVWYXJpYWJsZShpbmZvLm5hbWUp
LCAiQ2Fubm90IGRlY2xhcmUgYSBmdW5jdGlvbiBuYW1lZCAnIiwgaW5mby5uYW1lLT5pbXBsKCks
ICInIGluIHN0cmljdCBtb2RlIik7CiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY0RlY2xT
dGF0ZW1lbnQobG9jYXRpb24sIGluZm8pOwpAQCAtMTU3Myw3ICsxNzM3LDcgQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhc3NFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZUNsYXNzKFQKICAgICAgICAgICAgIGZhaWxJZkZhbHNlKHByb3BlcnR5LCAiQ2Fubm90
IHBhcnNlIHRoaXMgbWV0aG9kIik7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBQYXJz
ZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IG1ldGhvZEluZm87Ci0gICAgICAgICAgICBmYWls
SWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OZWVkc05hbWUsIGlz
U3RhdGljTWV0aG9kID8gRnVuY3Rpb25Nb2RlIDogTWV0aG9kTW9kZSwgZmFsc2UsIGNvbnN0cnVj
dG9yS2luZCwgbWV0aG9kU3RhcnQsIG1ldGhvZEluZm8pKSwgIkNhbm5vdCBwYXJzZSB0aGlzIG1l
dGhvZCIpOworICAgICAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRl
eHQsIEZ1bmN0aW9uTmVlZHNOYW1lLCBpc1N0YXRpY01ldGhvZCA/IEZ1bmN0aW9uTW9kZSA6IE1l
dGhvZE1vZGUsIGZhbHNlLCBjb25zdHJ1Y3RvcktpbmQsIG1ldGhvZFN0YXJ0LCBtZXRob2RJbmZv
LCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2Qi
KTsKICAgICAgICAgICAgIGZhaWxJZkZhbHNlKG1ldGhvZEluZm8ubmFtZSwgIm1ldGhvZCBtdXN0
IGhhdmUgYSBuYW1lIik7CiAgICAgICAgICAgICBmYWlsSWZGYWxzZShkZWNsYXJlVmFyaWFibGUo
bWV0aG9kSW5mby5uYW1lKSwgIkNhbm5vdCBkZWNsYXJlIGEgbWV0aG9kIG5hbWVkICciLCBtZXRo
b2RJbmZvLm5hbWUtPmltcGwoKSwgIiciKTsKIApAQCAtMTc4OSw2ICsxOTUzLDE4IEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VJZlN0YXRlbWVudChUCiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlSWZTdGF0ZW1lbnQo
aWZMb2NhdGlvbiwgY29uZGl0aW9uLCB0cnVlQmxvY2ssIHN0YXRlbWVudFN0YWNrLmxhc3QoKSwg
c3RhcnQsIGVuZCk7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
dGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbkV4
cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAgZmFpbElmU3RhY2tPdmVyZmxv
dygpOworICAgIFRyZWVFeHByZXNzaW9uIG5vZGUgPSBwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9u
KGNvbnRleHQpOworICAgIGZhaWxJZkZhbHNlKG5vZGUsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lv
biIpOworICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KG5vZGUsIG1fbGFzdFRva2VuRW5kUG9zaXRp
b24ub2Zmc2V0KTsKKyAgICByZXR1cm4gbm9kZTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVz
c2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VFeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250
ZXh0KQogewpAQCAtMTgzNiw2ICsyMDEyLDQxIEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBUcmVlQnVp
bGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXNzaWdubWVuCiAg
ICAgICAgIH0KICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlUG9pbnQpOwogICAgIH0KKwor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgU2F2ZVBvaW50IHNhdmVB
cnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICBib29sIGFycm93RnVu
Y3Rpb25FbXB0eUxpc3QgPSBmYWxzZTsKKyAgICBpZiAobWF0Y2goT1BFTlBBUkVOKSkgeworICAg
ICAgICBuZXh0KCk7CisgICAgICAgIGlmIChtYXRjaChDTE9TRVBBUkVOKSkgeworICAgICAgICAg
ICAgbmV4dCgpOworCisgICAgICAgICAgICBpZiAobWF0Y2goQVJST1dGVU5DVElPTikpCisgICAg
ICAgICAgICAgICAgYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCA9IHRydWU7CisgICAgICAgIH0KKwor
ICAgICAgICBpZiAoIWFycm93RnVuY3Rpb25FbXB0eUxpc3QpCisgICAgICAgICAgICByZXN0b3Jl
U2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgIH0KKworICAgIFRyZWVFeHBy
ZXNzaW9uIGxoczsKKyAgICBpZiAoIWFycm93RnVuY3Rpb25FbXB0eUxpc3QpIHsKKyAgICAgICAg
bGhzID0gcGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24oY29udGV4dCk7CisgICAgICAgIGZhaWxJ
ZkZhbHNlKGxocywgIkNhbhlub3QgcGFyc2UgZXhwcmVzc2lvbiIpOworICAgICAgICBpZiAoaW5p
dGlhbE5vbkxIU0NvdW50ICE9IG1fbm9uTEhTQ291bnQpIHsKKyAgICAgICAgICAgIGlmIChtX3Rv
a2VuLm1fdHlwZSA+PSBFUVVBTCAmJiBtX3Rva2VuLm1fdHlwZSA8PSBPUkVRVUFMKQorICAgICAg
ICAgICAgICAgIHNlbWFudGljRmFpbCgiTGVmdCBoYW5kIHNpZGUgb2Ygb3BlcmF0b3IgJyIsIGdl
dFRva2VuKCksICInIG11c3QgYmUgYSByZWZlcmVuY2UiKTsKKworICAgICAgICAgICAgcmV0dXJu
IGxoczsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmIChtYXRjaChBUlJPV0ZVTkNUSU9OKSkg
eworICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAg
ICAgICBsaHMgPSBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKGNvbnRleHQpOworICAgICAgICBy
ZXR1cm4gbGhzOworICAgIH0KKyNlbHNlCiAgICAgVHJlZUV4cHJlc3Npb24gbGhzID0gcGFyc2VD
b25kaXRpb25hbEV4cHJlc3Npb24oY29udGV4dCk7CiAgICAgZmFpbElmRmFsc2UobGhzLCAiQ2Fu
bm90IHBhcnNlIGV4cHJlc3Npb24iKTsKICAgICBpZiAoaW5pdGlhbE5vbkxIU0NvdW50ICE9IG1f
bm9uTEhTQ291bnQpIHsKQEAgLTE4NDQsNyArMjA1NSw4IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBU
cmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXNzaWdu
bWVuCiAKICAgICAgICAgcmV0dXJuIGxoczsKICAgICB9Ci0gICAgCisjZW5kaWYKKwogICAgIGlu
dCBhc3NpZ25tZW50U3RhY2sgPSAwOwogICAgIE9wZXJhdG9yIG9wOwogICAgIGJvb2wgaGFkQXNz
aWdubWVudCA9IGZhbHNlOwpAQCAtMjA3Niw3ICsyMjg4LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcm9wZXJ0
eU1ldGgKICAgICBKU1Rva2VuTG9jYXRpb24gbWV0aG9kTG9jYXRpb24odG9rZW5Mb2NhdGlvbigp
KTsKICAgICB1bnNpZ25lZCBtZXRob2RTdGFydCA9IHRva2VuU3RhcnQoKTsKICAgICBQYXJzZXJG
dW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IG1ldGhvZEluZm87Ci0gICAgZmFpbElmRmFsc2UoKHBh
cnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIE1ldGhvZE1v
ZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIG1ldGhvZFN0YXJ0LCBtZXRob2RJbmZv
KSksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2QiKTsKKyAgICBmYWlsSWZGYWxzZSgocGFyc2VG
dW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgTWV0aG9kTW9kZSwg
ZmFsc2UsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgbWV0aG9kU3RhcnQsIG1ldGhvZEluZm8sIFN0
YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSB0aGlzIG1ldGhvZCIpOwog
ICAgIG1ldGhvZEluZm8ubmFtZSA9IG1ldGhvZE5hbWU7CiAgICAgcmV0dXJuIGNvbnRleHQuY3Jl
YXRlRnVuY3Rpb25FeHByKG1ldGhvZExvY2F0aW9uLCBtZXRob2RJbmZvKTsKIH0KQEAgLTIxMDIs
MTAgKzIzMTQsMTAgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkg
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlR2V0dGVyU2V0dGVyKFQKICAgICBQYXJzZXJGdW5jdGlv
bkluZm88VHJlZUJ1aWxkZXI+IGluZm87CiAgICAgaWYgKHR5cGUgPT0gUHJvcGVydHlOb2RlOjpH
ZXR0ZXIpIHsKICAgICAgICAgZmFpbElmRmFsc2UobWF0Y2goT1BFTlBBUkVOKSwgIkV4cGVjdGVk
IGEgcGFyYW1ldGVyIGxpc3QgZm9yIGdldHRlciBkZWZpbml0aW9uIik7Ci0gICAgICAgIGZhaWxJ
ZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRz
LCBHZXR0ZXJNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBnZXR0ZXJPclNldHRlclN0YXJ0
T2Zmc2V0LCBpbmZvKSksICJDYW5ub3QgcGFyc2UgZ2V0dGVyIGRlZmluaXRpb24iKTsKKyAgICAg
ICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1
aXJlbWVudHMsIEdldHRlck1vZGUsIGZhbHNlLCBjb25zdHJ1Y3RvcktpbmQsIGdldHRlck9yU2V0
dGVyU3RhcnRPZmZzZXQsIGluZm8sIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5v
dCBwYXJzZSBnZXR0ZXIgZGVmaW5pdGlvbiIpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGZhaWxJ
ZkZhbHNlKG1hdGNoKE9QRU5QQVJFTiksICJFeHBlY3RlZCBhIHBhcmFtZXRlciBsaXN0IGZvciBz
ZXR0ZXIgZGVmaW5pdGlvbiIpOwotICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbklu
Zm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgU2V0dGVyTW9kZSwgZmFsc2UsIGNv
bnN0cnVjdG9yS2luZCwgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgaW5mbykpLCAiQ2Fubm90
IHBhcnNlIHNldHRlciBkZWZpbml0aW9uIik7CisgICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1
bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBTZXR0ZXJNb2RlLCBm
YWxzZSwgY29uc3RydWN0b3JLaW5kLCBnZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBpbmZvLCBT
dGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2Ugc2V0dGVyIGRlZmluaXRp
b24iKTsKICAgICB9CiAgICAgaWYgKHN0cmluZ1Byb3BlcnR5TmFtZSkKICAgICAgICAgcmV0dXJu
IGNvbnRleHQuY3JlYXRlR2V0dGVyT3JTZXR0ZXJQcm9wZXJ0eShsb2NhdGlvbiwgdHlwZSwgc3Ry
aWN0LCBzdHJpbmdQcm9wZXJ0eU5hbWUsIGluZm8sIHN1cGVyQmluZGluZyk7CkBAIC0yMzU0LDcg
KzI1NjYsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHByZQogICAgICAgICBuZXh0KCk7CiAgICAg
ICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gaW5mbzsKICAgICAgICAgaW5mby5u
YW1lID0gJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyOwotICAgICAgICBmYWls
SWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50
cywgRnVuY3Rpb25Nb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBmdW5jdGlvbktl
eXdvcmRTdGFydCwgaW5mbykpLCAiQ2Fubm90IHBhcnNlIGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsK
KyAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9u
Tm9SZXF1aXJlbWVudHMsIEZ1bmN0aW9uTW9kZSwgZmFsc2UsIENvbnN0cnVjdG9yS2luZDo6Tm9u
ZSwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8sIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUp
KSwgIkNhbm5vdCBwYXJzZSBmdW5jdGlvbiBleHByZXNzaW9uIik7CiAgICAgICAgIHJldHVybiBj
b250ZXh0LmNyZWF0ZUZ1bmN0aW9uRXhwcihsb2NhdGlvbiwgaW5mbyk7CiAgICAgfQogI2lmIEVO
QUJMRShFUzZfQ0xBU1NfU1lOVEFYKQpAQCAtMjM4Myw2ICsyNTk1LDIzIEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
UHJpbWFyeUV4cHJlCiAgICAgICAgIHJldHVybiBjb250ZXh0LnRoaXNFeHByKGxvY2F0aW9uLCBt
X3RoaXNURFpNb2RlKTsKICAgICB9CiAgICAgY2FzZSBJREVOVDogeworI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIFNhdmVQb2ludCBzYXZlQXJyb3dGdW5jdGlv
blBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0
ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50
ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CisgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlv
bih0b2tlbkxvY2F0aW9uKCkpOworICAgICAgICBuZXh0KCk7CisKKyAgICAgICAgaWYgKCFtYXRj
aChBUlJPV0ZVTkNUSU9OKSkgeworICAgICAgICAgICAgY3VycmVudFNjb3BlKCktPnVzZVZhcmlh
YmxlKGlkZW50LCBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09ICppZGVudCk7CisgICAgICAg
ICAgICBtX2xhc3RJZGVudGlmaWVyID0gaWRlbnQ7CisgICAgICAgICAgICByZXR1cm4gY29udGV4
dC5jcmVhdGVSZXNvbHZlKGxvY2F0aW9uLCBpZGVudCwgc3RhcnQpOworICAgICAgICB9CisKKyAg
ICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAg
VHJlZUV4cHJlc3Npb24gbGhzID0gcGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihjb250ZXh0KTsK
KyAgICAgICAgcmV0dXJuIGxoczsKKyNlbHNlCiAgICAgICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0
ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50
ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlv
bih0b2tlbkxvY2F0aW9uKCkpOwpAQCAtMjM5MCw2ICsyNjE5LDcgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmlt
YXJ5RXhwcmUKICAgICAgICAgY3VycmVudFNjb3BlKCktPnVzZVZhcmlhYmxlKGlkZW50LCBtX3Zt
LT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09ICppZGVudCk7CiAgICAgICAgIG1fbGFzdElkZW50aWZp
ZXIgPSBpZGVudDsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUmVzb2x2ZShsb2NhdGlv
biwgaWRlbnQsIHN0YXJ0KTsKKyNlbmRpZgogICAgIH0KICAgICBjYXNlIFNUUklORzogewogICAg
ICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwpAQCAt
MjU4MSw2ICsyODExLDMyIEBAIGVuZE1lbWJlckV4cHJlc3Npb246CiAgICAgcmV0dXJuIGJhc2U7
CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5
cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJl
c3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoVHJlZUJ1
aWxkZXImIGNvbnRleHQpCit7CisgICAgVHJlZUV4cHJlc3Npb24gYmFzZSA9IDA7CisgICAgSlNU
ZXh0UG9zaXRpb24gZXhwcmVzc2lvblN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAg
aW50IG5ld0NvdW50ID0gMDsKKyAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb247CisKKyAgICBp
ZiAobWF0Y2goSURFTlQpIHx8IG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgdW5zaWduZWQg
ZnVuY3Rpb25LZXl3b3JkU3RhcnQgPSB0b2tlblN0YXJ0KCk7CisgICAgICAgIGxvY2F0aW9uID0g
dG9rZW5Mb2NhdGlvbigpOworICAgICAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+
IGluZm87CisgICAgICAgIGluZm8ubmFtZSA9ICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRl
bnRpZmllcjsKKyAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQs
IEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEZ1bmN0aW9uTW9kZSwgdHJ1ZSwgQ29uc3RydWN0b3JL
aW5kOjpOb25lLCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW5mbywgQXJyb3dGdW5jdGlvblBhcnNl
VHlwZSkpLCAiQ2Fubm90IHBhcnNlIGFycm93IGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsKKyAgICAg
ICAgYmFzZSA9IGNvbnRleHQuY3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIobG9jYXRpb24sIGluZm8p
OworICAgIH0gZWxzZQorICAgICAgICBiYXNlID0gcGFyc2VQcmltYXJ5RXhwcmVzc2lvbihjb250
ZXh0KTsKKworICAgIGZhaWxJZkZhbHNlKGJhc2UsICJDYW5ub3QgcGFyc2UgYmFzZSBleHByZXNz
aW9uIik7CisgICAgd2hpbGUgKG5ld0NvdW50LS0pCisgICAgICAgIGJhc2UgPSBjb250ZXh0LmNy
ZWF0ZU5ld0V4cHIobG9jYXRpb24sIGJhc2UsIGV4cHJlc3Npb25TdGFydCwgbGFzdFRva2VuRW5k
UG9zaXRpb24oKSk7CisgICAgcmV0dXJuIGJhc2U7Cit9CisjZW5kaWYKKwogc3RhdGljIGNvbnN0
IGNoYXIqIG9wZXJhdG9yU3RyaW5nKGJvb2wgcHJlZml4LCB1bnNpZ25lZCB0b2spCiB7CiAgICAg
c3dpdGNoICh0b2spIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCmluZGV4IDg3
OWUxZTI4MTY3MTk3NzM4OTlmNTI1NzVlZmEzNWMwMmU3ZDEzZmUuLjc3YWUzOTY3N2FhYWNmZTdh
MjQ2MDI0YWUxYmExMTllZDJhNDdhYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJz
ZXIuaApAQCAtODAsNiArODAsMTEgQEAgY2xhc3MgU291cmNlQ29kZTsKIENPTVBJTEVfQVNTRVJU
KExhc3RVbnRhZ2dlZFRva2VuIDwgNjQsIExlc3NUaGFuNjRVbnRhZ2dlZFRva2Vucyk7CiAKIGVu
dW0gU291cmNlRWxlbWVudHNNb2RlIHsgQ2hlY2tGb3JTdHJpY3RNb2RlLCBEb250Q2hlY2tGb3JT
dHJpY3RNb2RlIH07CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK2VudW0g
RnVuY3Rpb25QYXJzZVR5cGUgeyBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlLCBBcnJvd0Z1bmN0
aW9uUGFyc2VUeXBlIH07CisjZWxzZQorZW51bSBGdW5jdGlvblBhcnNlVHlwZSB7IFN0YW5kYXJk
RnVuY3Rpb25QYXJzZVR5cGV9OworI2VuZGlmCiBlbnVtIEZ1bmN0aW9uUmVxdWlyZW1lbnRzIHsg
RnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgRnVuY3Rpb25OZWVkc05hbWUgfTsKIGVudW0gRnVuY3Rp
b25QYXJzZU1vZGUgewogICAgIEZ1bmN0aW9uTW9kZSwKQEAgLTYxOCw2ICs2MjMsMTMgQEAgcHJp
dmF0ZToKICAgICAgICAgcmV0dXJuIG1fdG9rZW4ubV90eXBlID09IElERU5UICYmICptX3Rva2Vu
Lm1fZGF0YS5pZGVudCA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5vZjsKICAgICB9CiAgICAgCisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBBTFdBWVNfSU5MSU5FIGJv
b2wgaXNFbmRPZkFycm93RnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIG1hdGNoKFNF
TUlDT0xPTikgfHwgbWF0Y2goQ09NTUEpIHx8IG1hdGNoKENMT1NFUEFSRU4pIHx8IG1hdGNoKENM
T1NFQlJBQ0UpIHx8IG1hdGNoKENMT1NFQlJBQ0tFVCk7CisgICAgfQorI2VuZGlmCisgICAgCiAg
ICAgQUxXQVlTX0lOTElORSB1bnNpZ25lZCB0b2tlblN0YXJ0KCkKICAgICB7CiAgICAgICAgIHJl
dHVybiBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CkBAIC03MjEsOSArNzMzLDkgQEAg
cHJpdmF0ZToKICAgICAgICAgfQogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KLSAgICAK
LSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJz
ZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxlbWVudHNNb2RlKTsKLSAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VTdGF0ZW1lbnQo
VHJlZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGly
ZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDApOworCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlU291cmNlRWxlbWVudHMgcGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYs
IFNvdXJjZUVsZW1lbnRzTW9kZSwgRnVuY3Rpb25QYXJzZVR5cGUpOworICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRl
ciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRl
cmFsTGVuZ3RoID0gMCwgRnVuY3Rpb25QYXJzZVR5cGUgdHlwZSA9IFN0YW5kYXJkRnVuY3Rpb25Q
YXJzZVR5cGUpOwogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZUNsYXNzRGVjbGFyYXRpb24oVHJl
ZUJ1aWxkZXImKTsKICNlbmRpZgpAQCAtNzYyLDI3ICs3NzQsMzYgQEAgcHJpdmF0ZToKICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBwYXJzZVByb3BlcnR5KFRy
ZWVCdWlsZGVyJiwgYm9vbCBzdHJpY3QpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZUV4cHJlc3Npb24gcGFyc2VQcm9wZXJ0eU1ldGhvZChUcmVlQnVpbGRlciYgY29udGV4
dCwgY29uc3QgSWRlbnRpZmllciogbWV0aG9kTmFtZSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgcGFyc2VHZXR0ZXJTZXR0ZXIoVHJlZUJ1aWxkZXImLCBi
b29sIHN0cmljdCwgUHJvcGVydHlOb2RlOjpUeXBlLCB1bnNpZ25lZCBnZXR0ZXJPclNldHRlclN0
YXJ0T2Zmc2V0LCBDb25zdHJ1Y3RvcktpbmQgPSBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVy
QmluZGluZyA9IFN1cGVyQmluZGluZzo6Tm90TmVlZGVkKTsKLSAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZ1bmN0aW9uQm9keSBwYXJzZUZ1bmN0aW9u
Qm9keShUcmVlQnVpbGRlciYsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW50IGZ1bmN0aW9u
TmFtZVN0YXJ0LCBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQpOworICAgIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRnVuY3Rpb25Cb2R5
IHBhcnNlRnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVyJiwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0
LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIGludCBwYXJhbWV0ZXJzU3RhcnQsIENvbnN0cnVjdG9y
S2luZCwgRnVuY3Rpb25QYXJzZVR5cGUgZnVuY3Rpb25QYXJzZVR5cGUpOwogICAgIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRm9ybWFsUGFyYW1ldGVyTGlz
dCBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoVHJlZUJ1aWxkZXImKTsKICAgICBlbnVtIFZhckRlY2xh
cmF0aW9uTGlzdENvbnRleHQgeyBGb3JMb29wQ29udGV4dCwgVmFyRGVjbGFyYXRpb25Db250ZXh0
IH07CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJz
ZVZhckRlY2xhcmF0aW9uTGlzdChUcmVlQnVpbGRlciYsIGludCYgZGVjbGFyYXRpb25zLCBUcmVl
RGVjb25zdHJ1Y3Rpb25QYXR0ZXJuJiBsYXN0UGF0dGVybiwgVHJlZUV4cHJlc3Npb24mIGxhc3RJ
bml0aWFsaXplciwgSlNUZXh0UG9zaXRpb24mIGlkZW50U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBp
bml0U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0RW5kLCBWYXJEZWNsYXJhdGlvbkxpc3RDb250
ZXh0KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVl
Q29uc3REZWNsTGlzdCBwYXJzZUNvbnN0RGVjbGFyYXRpb25MaXN0KFRyZWVCdWlsZGVyJik7CiAK
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lv
bihUcmVlQnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0
YXRlbWVudCBwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImKTsKKyAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlQXJyb3dGdW5j
dGlvbldyYXBwZXIoVHJlZUJ1aWxkZXImKTsKKyNlbmRpZgorCiAgICAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBjcmVh
dGVCaW5kaW5nUGF0dGVybihUcmVlQnVpbGRlciYsIERlY29uc3RydWN0aW9uS2luZCwgY29uc3Qg
SWRlbnRpZmllciYsIGludCBkZXB0aCwgSlNUb2tlbik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBwYXJzZURl
Y29uc3RydWN0aW9uUGF0dGVybihUcmVlQnVpbGRlciYsIERlY29uc3RydWN0aW9uS2luZCwgaW50
IGRlcHRoID0gMCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJ
TkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiB0cnlQYXJzZURlY29uc3RydWN0aW9uUGF0dGVy
bkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKLQotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gTkVWRVJfSU5MSU5FIGJvb2wgcGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImLCBG
dW5jdGlvblJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUsIGJvb2wgbmFtZUlzSW5Db250
YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQ
YXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+Jik7Ci0gICAgCiAgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgaW50IHBhcnNlRnVuY3Rpb25QYXJhbXRlcnMo
VHJlZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUsIGJv
b2wsIEF1dG9Qb3BTY29wZVJlZiYsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mKTsK
LSNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlQ2xhc3NFeHByZXNzaW9uIHBhcnNlQ2xhc3MoVHJlZUJ1
aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgUGFyc2VyQ2xhc3NJbmZvPFRyZWVCdWlsZGVy
PiYpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgaW50IHBhcnNlQXJyb3dGdW5jdGlvblBh
cmFtdGVycyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUGFyc2VNb2RlLCBQYXJzZXJGdW5jdGlvbklu
Zm88VHJlZUJ1aWxkZXI+Jik7CiAjZW5kaWYKKwogI2lmIEVOQUJMRShFUzZfVEVNUExBVEVfTElU
RVJBTF9TWU5UQVgpCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJ
TkUgdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OlRlbXBsYXRlU3RyaW5nIHBhcnNlVGVtcGxhdGVTdHJp
bmcoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGJvb2wgaXNUZW1wbGF0ZUhlYWQsIGJvb2wmIGVsZW1l
bnRJc1RhaWwpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5F
IHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpUZW1wbGF0ZUxpdGVyYWwgcGFyc2VUZW1wbGF0ZUxpdGVy
YWwoVHJlZUJ1aWxkZXImKTsKICNlbmRpZgogCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBORVZFUl9JTkxJTkUgYm9vbCBwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYsIEZ1
bmN0aW9uUmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSwgYm9vbCBuYW1lSXNJbkNvbnRh
aW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBh
cnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlv
blBhcnNlVHlwZSk7CisjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCisgICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZUNsYXNzRXhwcmVzc2lvbiBwYXJz
ZUNsYXNzKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIFBhcnNlckNsYXNzSW5m
bzxUcmVlQnVpbGRlcj4mKTsKKyNlbmRpZgorCiAgICAgQUxXQVlTX0lOTElORSBpbnQgaXNCaW5h
cnlPcGVyYXRvcihKU1Rva2VuVHlwZSk7CiAgICAgYm9vbCBhbGxvd0F1dG9tYXRpY1NlbWljb2xv
bigpOwogICAgIApAQCAtNzk1LDYgKzgxNiwxNCBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4g
YWxsb3dBdXRvbWF0aWNTZW1pY29sb24oKTsKICAgICB9CiAgICAgCisKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHZvaWQgc2V0RW5kT2ZTdGF0ZW1lbnQoKQorICAg
IHsKKyAgICAgICAgbV9sZXhlci0+c2V0VG9rZW5Qb3NpdGlvbigmbV90b2tlbik7CisgICAgfQor
I2VuZGlmCisKICAgICBib29sIGNhblJlY3Vyc2UoKQogICAgIHsKICAgICAgICAgcmV0dXJuIG1f
dm0tPmlzU2FmZVRvUmVjdXJzZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKaW5kZXggNmI3MzYyODJlMmQyYTgxYmM2M2RjMmYzYzBl
NWFlOGM4NThjZDFmOC4uMGNkZTBjNjdhOWRlMGVkZjM0MTQ0ZTMyNzkxZTVlOTBiNGEyMTUxNCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbklu
Zm8uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5m
by5oCkBAIC0yOCw2ICsyOCwxMCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAorI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitlbnVtIEZ1bmN0aW9uQm9keVR5cGUgeyBBcnJvd0Z1
bmN0aW9uQm9keUV4cHJlc3Npb24sIEFycm93RnVuY3Rpb25Cb2R5QmxvY2ssIFN0YW5kYXJkRnVu
Y3Rpb25Cb2R5QmxvY2sgfTsKKyNlbmRpZgorCiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
CiBzdHJ1Y3QgUGFyc2VyRnVuY3Rpb25JbmZvIHsKICAgICBjb25zdCBJZGVudGlmaWVyKiBuYW1l
ID0gMDsKQEAgLTM4LDYgKzQyLDExIEBAIHN0cnVjdCBQYXJzZXJGdW5jdGlvbkluZm8gewogICAg
IGludCBib2R5U3RhcnRMaW5lID0gMDsKICAgICBpbnQgYm9keUVuZExpbmUgPSAwOwogICAgIHVu
c2lnbmVkIGJvZHlTdGFydENvbHVtbiA9IDA7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICB1bnNpZ25lZCBhcnJvd0Z1bmN0aW9uT2Zmc2V0ID0gMDsKKyAgICBib29s
IGlzQXJyb3dGdW5jdGlvbiA9IGZhbHNlOworICAgIEZ1bmN0aW9uQm9keVR5cGUgZnVuY3Rpb25C
b2R5VHlwZSA9IFN0YW5kYXJkRnVuY3Rpb25Cb2R5QmxvY2s7CisjZW5kaWYKIH07CiAKICNpZiBF
TkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlclRva2Vucy5oCmluZGV4IDAyNmU0ZjgwZjQzN2Q4YmZlNGE2MTljMzBkMTFkYzlmYzYxZTI2
NDUuLmU5MTU0Y2FmMDUzYzUzODFiNWYwOTgxNmRiYTA1NThhNTQzNGJmMzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaApAQCAtNzUsNiArNzUsOSBAQCBl
bnVtIEpTVG9rZW5UeXBlIHsKICAgICBGSU5BTExZLAogICAgIERFQlVHR0VSLAogICAgIEVMU0Us
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBBUlJPV0ZVTkNUSU9O
LAorI2VuZGlmCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAgICAgQ0xBU1NUT0tFTiwK
ICAgICBFWFRFTkRTLApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9T
b3VyY2VDb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaApp
bmRleCA3M2QyM2RiODJhZjI1ZWE0NmMwZjg5Nzg1Y2U0MjRiYjYwZWI2MWE3Li41MGQ1MjYzOTc5
NDNlMzgxZDM4MGVjNDNkODJkNWI2M2Y3ZjA4ZGM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1NvdXJjZUNvZGUuaApAQCAtMTA1LDYgKzEwNSw5IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICAKICAgICAgICAgU291cmNlQ29kZSBzdWJFeHByZXNzaW9uKHVuc2lnbmVkIG9wZW5C
cmFjZSwgdW5zaWduZWQgY2xvc2VCcmFjZSwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1u
KTsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIFNvdXJj
ZUNvZGUgc3ViQXJyb3dFeHByZXNzaW9uKHVuc2lnbmVkIHN0YXJ0QXJyb3dGdW5jdGlvbiwgdW5z
aWduZWQgZW5kQXJyb3dGdW5jdGlvbiwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKTsK
KyNlbmRpZgogICAgIHByaXZhdGU6CiAgICAgICAgIFJlZlB0cjxTb3VyY2VQcm92aWRlcj4gbV9w
cm92aWRlcjsKICAgICAgICAgaW50IG1fc3RhcnRDaGFyOwpAQCAtMTE4LDYgKzEyMSwxNyBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgcmV0dXJuIFNvdXJjZUNvZGUoU3RyaW5nU291cmNlUHJv
dmlkZXI6OmNyZWF0ZShzb3VyY2UsIHVybCwgc3RhcnRQb3NpdGlvbiksIHN0YXJ0UG9zaXRpb24u
bV9saW5lLm9uZUJhc2VkSW50KCksIHN0YXJ0UG9zaXRpb24ubV9jb2x1bW4ub25lQmFzZWRJbnQo
KSk7CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBp
bmxpbmUgU291cmNlQ29kZSBTb3VyY2VDb2RlOjpzdWJBcnJvd0V4cHJlc3Npb24odW5zaWduZWQg
c3RhcnRBcnJvd0Z1bmN0aW9uLCB1bnNpZ25lZCBlbmRBcnJvd0Z1bmN0aW9uLCBpbnQgZmlyc3RM
aW5lLCBpbnQgc3RhcnRDb2x1bW4pCisgICAgeworICAgICAgICBBU1NFUlQocHJvdmlkZXIoKS0+
c291cmNlKClbc3RhcnRBcnJvd0Z1bmN0aW9uXSA9PSAnPScgJiYgcHJvdmlkZXIoKS0+c291cmNl
KClbc3RhcnRBcnJvd0Z1bmN0aW9uICsgMV0gPT0gJz4nKTsKKyAgICAgICAgLy8gRml4bWU6IFVz
ZSBiZXR0ZXIgYXBwcm9hY2ggdG8gY2hlY2sgc3ltYm9sCisgICAgICAgIEFTU0VSVChwcm92aWRl
cigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJywnIHx8IHByb3ZpZGVyKCkt
PnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnOycgfHwgcHJvdmlkZXIoKS0+c291
cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICcpJyB8fCBwcm92aWRlcigpLT5zb3VyY2Uo
KVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJ10nIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2Vu
ZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnfScpOworICAgICAgICBzdGFydENvbHVtbiArPSAxOyAv
LyBDb252ZXJ0IHRvIGJhc2UgMS4KKyAgICAgICAgcmV0dXJuIFNvdXJjZUNvZGUocHJvdmlkZXIo
KSwgc3RhcnRBcnJvd0Z1bmN0aW9uLCBlbmRBcnJvd0Z1bmN0aW9uLCBmaXJzdExpbmUsIHN0YXJ0
Q29sdW1uKTsKKyAgICB9CisjZW5kaWYKKwogICAgIGlubGluZSBTb3VyY2VDb2RlIFNvdXJjZUNv
ZGU6OnN1YkV4cHJlc3Npb24odW5zaWduZWQgb3BlbkJyYWNlLCB1bnNpZ25lZCBjbG9zZUJyYWNl
LCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pCiAgICAgewogICAgICAgICBBU1NFUlQo
cHJvdmlkZXIoKS0+c291cmNlKClbb3BlbkJyYWNlXSA9PSAneycpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCmluZGV4
IDYzNTM3OWUzZjQ0NTY2OGM1MmI4NzJmNzYxNmRjYjU5MjFhODI5NDQuLmY0MjhkYjUwYThkYTdh
N2FiNDY4MjRhYjM4MDgzZGIwNTJkNzM3NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKQEAgLTQwLDYgKzQwLDEw
IEBAIHN0cnVjdCBTb3VyY2VQcm92aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFyYW1ldGVycyB7CiAg
ICAgYm9vbCBuZWVkc0Z1bGxBY3RpdmF0aW9uOwogICAgIGJvb2wgdXNlc0V2YWw7CiAgICAgYm9v
bCBzdHJpY3RNb2RlOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAg
Ym9vbCBpc0JvZHlBcnJvd0V4cHJlc3Npb247CisgICAgSlNUb2tlblR5cGUgdG9rZW5UeXBlOwor
I2VuZGlmCiAgICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4gdXNlZFZhcmlhYmxlczsKICAg
ICBWZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiB3cml0dGVuVmFyaWFibGVzOwogfTsKQEAgLTU1
LDEwICs1OSwxNCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxTb3VyY2VQ
cm92aWRlckNhY2hlSXRlbT4gY3JlYXRlKGNvbnN0IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtQ3Jl
YXRpb25QYXJhbWV0ZXJzJik7CiAgICAgflNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtKCk7CiAKLSAg
ICBKU1Rva2VuIGNsb3NlQnJhY2VUb2tlbigpIGNvbnN0IAorICAgIEpTVG9rZW4gZW5kRnVuY3Rp
b25Ub2tlbigpIGNvbnN0IAogICAgIHsKICAgICAgICAgSlNUb2tlbiB0b2tlbjsKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB0b2tlbi5tX3R5cGUgPSBpc0Jv
ZHlBcnJvd0V4cHJlc3Npb24gPyB0b2tlblR5cGUgOiBDTE9TRUJSQUNFOworI2Vsc2UKICAgICAg
ICAgdG9rZW4ubV90eXBlID0gQ0xPU0VCUkFDRTsKKyNlbmRpZgogICAgICAgICB0b2tlbi5tX2Rh
dGEub2Zmc2V0ID0gY2xvc2VCcmFjZU9mZnNldDsKICAgICAgICAgdG9rZW4ubV9sb2NhdGlvbi5z
dGFydE9mZnNldCA9IGNsb3NlQnJhY2VPZmZzZXQ7CiAgICAgICAgIHRva2VuLm1fbG9jYXRpb24u
ZW5kT2Zmc2V0ID0gY2xvc2VCcmFjZU9mZnNldCArIDE7CkBAIC04Miw2ICs5MCwxMSBAQCBwdWJs
aWM6CiAgICAgdW5zaWduZWQgdXNlZFZhcmlhYmxlc0NvdW50OwogICAgIHVuc2lnbmVkIHdyaXR0
ZW5WYXJpYWJsZXNDb3VudDsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgYm9vbCBpc0JvZHlBcnJvd0V4cHJlc3Npb247CisgICAgSlNUb2tlblR5cGUgdG9rZW5U
eXBlOworI2VuZGlmCisKICAgICBTdHJpbmdJbXBsKiogdXNlZFZhcmlhYmxlcygpIGNvbnN0IHsg
cmV0dXJuIGNvbnN0X2Nhc3Q8U3RyaW5nSW1wbCoqPihtX3ZhcmlhYmxlcyk7IH0KICAgICBTdHJp
bmdJbXBsKiogd3JpdHRlblZhcmlhYmxlcygpIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8U3Ry
aW5nSW1wbCoqPigmbV92YXJpYWJsZXNbdXNlZFZhcmlhYmxlc0NvdW50XSk7IH0KIApAQCAtMTE1
LDYgKzEyOCwxMCBAQCBpbmxpbmUgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW06OlNvdXJjZVByb3Zp
ZGVyQ2FjaGVJdGVtKGNvbnN0IFNvdXJjZVByb3ZpZGVyQ2FjaAogICAgICwgY2xvc2VCcmFjZUxp
bmVTdGFydE9mZnNldChwYXJhbWV0ZXJzLmNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQpCiAgICAg
LCB1c2VkVmFyaWFibGVzQ291bnQocGFyYW1ldGVycy51c2VkVmFyaWFibGVzLnNpemUoKSkKICAg
ICAsIHdyaXR0ZW5WYXJpYWJsZXNDb3VudChwYXJhbWV0ZXJzLndyaXR0ZW5WYXJpYWJsZXMuc2l6
ZSgpKQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgLCBpc0JvZHlB
cnJvd0V4cHJlc3Npb24ocGFyYW1ldGVycy5pc0JvZHlBcnJvd0V4cHJlc3Npb24pCisgICAgLCB0
b2tlblR5cGUocGFyYW1ldGVycy50b2tlblR5cGUpCisjZW5kaWYKIHsKICAgICB1bnNpZ25lZCBq
ID0gMDsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdXNlZFZhcmlhYmxlc0NvdW50OyAr
K2ksICsraikgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50
YXhDaGVja2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIu
aAppbmRleCA1NTRlNWRmNjRhNzIxZjQ0NjJkMGQ4OWFiMDIzYWZkZDc1M2M1NWJlLi5mNjM1ZWQx
YmIzN2U4ODUzNjQ1NDc0YzA4MjNmNGI2MTM4MGE0ZDMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaApAQCAtMTc3LDYgKzE3NywxMCBAQCBwdWJsaWM6
CiAjZW5kaWYKICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVGdW5jdGlvbkV4cHIoY29uc3QgSlNU
b2tlbkxvY2F0aW9uJiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+Jikg
eyByZXR1cm4gRnVuY3Rpb25FeHByOyB9CiAgICAgaW50IGNyZWF0ZUZ1bmN0aW9uQm9keShjb25z
dCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBpbnQsIGludCwgYm9v
bCwgaW50LCBpbnQsIGludCwgQ29uc3RydWN0b3JLaW5kKSB7IHJldHVybiBGdW5jdGlvbkJvZHlS
ZXN1bHQ7IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEV4cHJl
c3Npb25UeXBlIGNyZWF0ZUFycm93RnVuY3Rpb25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYs
IGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0
aW9uRXhwcjsgfQorI2VuZGlmIAorICAgIHZvaWQgc2V0RnVuY3Rpb25OYW1lU3RhcnQoaW50LCBp
bnQpIHsgfQogICAgIGludCBjcmVhdGVBcmd1bWVudHMoKSB7IHJldHVybiBBcmd1bWVudHNSZXN1
bHQ7IH0KICAgICBpbnQgY3JlYXRlQXJndW1lbnRzKGludCkgeyByZXR1cm4gQXJndW1lbnRzUmVz
dWx0OyB9CiAgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlU3ByZWFkRXhwcmVzc2lvbihjb25zdCBK
U1Rva2VuTG9jYXRpb24mLCBFeHByZXNzaW9uVHlwZSwgaW50LCBpbnQsIGludCkgeyByZXR1cm4g
U3ByZWFkRXhwcjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNBcnJvd0Z1bmN0aW9uLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJy
b3dGdW5jdGlvbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTAyNzE5NjAzOTdhYjdkOTk1MjQ4YjEyZjI5NWFi
N2UzYWU2ZDMzNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAKQEAgLTAsMCArMSwxMTkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rp
b24uaCIKKworI2luY2x1ZGUgIkVycm9yLmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uSGVscGVycy5o
IgorI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKKyNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCisjaW5j
bHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTRnVuY3Rpb25JbmxpbmVzLmgiCisjaW5j
bHVkZSAiSlNPYmplY3QuaCIKKyNpbmNsdWRlICJQcm9wZXJ0eVNsb3QuaCIKKyNpbmNsdWRlICJW
TS5oIgorCituYW1lc3BhY2UgSlNDIHsKKyAgICAKK2NvbnN0IENsYXNzSW5mbyBKU0Fycm93RnVu
Y3Rpb246OnNfaW5mbyA9IHsgIkFycm93RnVuY3Rpb24iLCAmQmFzZTo6c19pbmZvLCAwLCBDUkVB
VEVfTUVUSE9EX1RBQkxFKEpTQXJyb3dGdW5jdGlvbikgfTsKKworRW5jb2RlZEpTVmFsdWUgSlND
X0hPU1RfQ0FMTCBhcnJvd0Z1bmN0aW9uQ2FsbChFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgSlNB
cnJvd0Z1bmN0aW9uKiBhcnJvd0Z1bmN0aW9uID0ganNDYXN0PEpTQXJyb3dGdW5jdGlvbio+KGV4
ZWMtPmNhbGxlZSgpKTsKKyAgICAgICAgCisgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgYXJnczsK
KyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZXhlYy0+YXJndW1lbnRDb3VudCgpOyArK2kp
CisgICAgICAgIGFyZ3MuYXBwZW5kKGV4ZWMtPnVuY2hlY2tlZEFyZ3VtZW50KGkpKTsKKyAgICAK
KyAgICBKU09iamVjdCogZnVuY3Rpb24gPSBhcnJvd0Z1bmN0aW9uLT5hcnJvd0Z1bmN0aW9uKCk7
CisgICAgQ2FsbERhdGEgY2FsbERhdGE7CisgICAgQ2FsbFR5cGUgY2FsbFR5cGUgPSBnZXRDYWxs
RGF0YShmdW5jdGlvbiwgY2FsbERhdGEpOworICAgIEFTU0VSVChjYWxsVHlwZSAhPSBDYWxsVHlw
ZU5vbmUpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoY2FsbChleGVjLCBmdW5jdGlvbiwg
Y2FsbFR5cGUsIGNhbGxEYXRhLCBhcnJvd0Z1bmN0aW9uLT5ib3VuZFRoaXMoKSwgYXJncykpOwor
fQorICAgIAordm9pZCBKU0Fycm93RnVuY3Rpb246OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQorewor
ICAgIHN0YXRpY19jYXN0PEpTQXJyb3dGdW5jdGlvbio+KGNlbGwpLT5KU0Fycm93RnVuY3Rpb246
On5KU0Fycm93RnVuY3Rpb24oKTsKK30KKyAgICAKK0pTQXJyb3dGdW5jdGlvbjo6SlNBcnJvd0Z1
bmN0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUsIEpTT2JqZWN0KiBhcnJvd0Z1bmN0aW9uLCBKU1ZhbHVlIGJvdW5kVGhpcykKKyAg
ICA6IEJhc2Uodm0sIGdsb2JhbE9iamVjdCwgc3RydWN0dXJlKQorICAgICwgbV9ib3VuZFRoaXMo
dm0sIHRoaXMsIGJvdW5kVGhpcykKKyAgICAsIG1fYXJyb3dGdW5jdGlvbih2bSwgdGhpcywgYXJy
b3dGdW5jdGlvbikKK3sKK30KKworSlNBcnJvd0Z1bmN0aW9uKiBKU0Fycm93RnVuY3Rpb246OmNy
ZWF0ZVdpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQoVk0mIHZtLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogYXJyb3dGdW5jdGlvbiwgSlNWYWx1ZSBi
b3VuZFRoaXMpCit7CisgICAgQVNTRVJUKGpzQ2FzdDxKU0Z1bmN0aW9uKj4oYXJyb3dGdW5jdGlv
biktPmpzRXhlY3V0YWJsZSgpLT5zaW5nbGV0b25GdW5jdGlvbigpLT5oYXNCZWVuSW52YWxpZGF0
ZWQoKSk7CisgICAgcmV0dXJuIGNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBhcnJvd0Z1bmN0aW9u
LCBib3VuZFRoaXMpOworfQorCitKU0Fycm93RnVuY3Rpb24qIEpTQXJyb3dGdW5jdGlvbjo6Y3Jl
YXRlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIGFycm93
RnVuY3Rpb24sIEpTVmFsdWUgYm91bmRUaGlzKQoreworICAgIE5hdGl2ZUV4ZWN1dGFibGUqIGV4
ZWN1dGFibGUgPSB2bS5nZXRIb3N0RnVuY3Rpb24oYXJyb3dGdW5jdGlvbkNhbGwsIGNhbGxIb3N0
RnVuY3Rpb25Bc0NvbnN0cnVjdG9yKTsKKyAgICBKU0Fycm93RnVuY3Rpb24qIGZ1bmN0aW9uID0g
bmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8SlNBcnJvd0Z1bmN0aW9uPih2bS5oZWFwKSkgSlNB
cnJvd0Z1bmN0aW9uKHZtLCBnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC0+YXJyb3dGdW5jdGlv
blN0cnVjdHVyZSgpLCBhcnJvd0Z1bmN0aW9uLCBib3VuZFRoaXMpOworICAgIGZ1bmN0aW9uLT5m
aW5pc2hDcmVhdGlvbih2bSwgZXhlY3V0YWJsZSwgMCwgIiIpOworCisgICAgcmV0dXJuIGZ1bmN0
aW9uOworfQorICAgIAordm9pZCBKU0Fycm93RnVuY3Rpb246OmZpbmlzaENyZWF0aW9uKFZNJiB2
bSwgTmF0aXZlRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgaW50IGxlbmd0aCwgY29uc3QgU3RyaW5n
JiBuYW1lKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCBleGVjdXRhYmxlLCBsZW5n
dGgsIG5hbWUpOworICAgIEFTU0VSVChpbmhlcml0cyhpbmZvKCkpKTsKKyAgICAKKyAgICAvLyBQ
cm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24gaXMgdW5kZWZpbmVkCisgICAgcHV0RGlyZWN0KHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUsIGpzVW5kZWZpbmVkKCksIERvbnREZWxldGUg
fCBSZWFkT25seSB8IERvbnRFbnVtKTsKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFt
ZXMtPnRoaXNJZGVudGlmaWVyLCBib3VuZFRoaXMoKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwg
RG9udEVudW0pOworfQorCisgICAgCit2b2lkIEpTQXJyb3dGdW5jdGlvbjo6dmlzaXRDaGlsZHJl
bihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQoreworICAgIEpTQXJyb3dGdW5j
dGlvbiogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0Fycm93RnVuY3Rpb24qPihjZWxsKTsKKyAgICBB
U1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKHRoaXNPYmplY3QsIGluZm8oKSk7CisgICAgQmFzZTo6
dmlzaXRDaGlsZHJlbih0aGlzT2JqZWN0LCB2aXNpdG9yKTsKKworICAgIC8vIEZpeG1lOiBtX2Fy
cm93RnVuY3Rpb24gYWxyZWFkeSByZW1vdmVkIGJ5IEdDLCBiZWNhdXNlIGl0IGNyZWF0ZWQgaW4g
YmVmb3JlIHJ1biBKU0Fycm93RnVuY3Rpb246OmNyZWF0ZSBtZXRob2QKKyAgICAvLyBJdCBpcyBw
b3NzaWJsZSBjYXNlIHdoZW4gbV9hcnJvd0Z1bmN0aW9uIGlzIHJlbW92ZWQgYnV0IHdyYXBwZXIg
b2JqZWN0IGlzIHN0aWxsIGV4aXN0cworICAgIC8vICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVj
dC0+bV9hcnJvd0Z1bmN0aW9uKTsKKyAgICAKKyAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVj
dC0+bV9ib3VuZFRoaXMpOworfQorICAgIAorQ29uc3RydWN0VHlwZSBKU0Fycm93RnVuY3Rpb246
OmdldENvbnN0cnVjdERhdGEoSlNDZWxsKiBjZWxsLCBDb25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3RE
YXRhKQoreworICAgIEpTRnVuY3Rpb24qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNGdW5jdGlvbio+
KGNlbGwpOworICAgICAgICAKKyAgICBjb25zdHJ1Y3REYXRhLmpzLmZ1bmN0aW9uRXhlY3V0YWJs
ZSA9IHRoaXNPYmplY3QtPmpzRXhlY3V0YWJsZSgpOworICAgIGNvbnN0cnVjdERhdGEuanMuc2Nv
cGUgPSB0aGlzT2JqZWN0LT5zY29wZSgpOworICAgIHJldHVybiBDb25zdHJ1Y3RUeXBlTm9uZTsK
K30KK30gLy8gbmFtZXNwYWNlIEpTQworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU5N2JjMWE1ZmJkZjZmOGI3
YWM3NmRmZWYwMDllOWVlZWY3OWY4ZjMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uaApAQCAtMCwwICsxLDg4IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBKU0Fycm93
RnVuY3Rpb25faAorI2RlZmluZSBKU0Fycm93RnVuY3Rpb25faAorCisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKworI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKKyNpbmNsdWRl
ICJKU0dsb2JhbE9iamVjdC5oIgorCituYW1lc3BhY2UgSlNDIHsKKworRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBhcnJvd0Z1bmN0aW9uQ2FsbChFeGVjU3RhdGUqKTsKKyAgICAKK2NsYXNz
IEpTQXJyb3dGdW5jdGlvbiA6IHB1YmxpYyBKU0Z1bmN0aW9uIHsKK3B1YmxpYzoKKyAgICB0eXBl
ZGVmIEpTRnVuY3Rpb24gQmFzZTsKKworICAgIHN0YXRpYyBKU0Fycm93RnVuY3Rpb24qIGNyZWF0
ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCBKU1ZhbHVlKTsKKyAgICBzdGF0aWMg
SlNBcnJvd0Z1bmN0aW9uKiBjcmVhdGVXaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRjaHBv
aW50KFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCosIEpTVmFsdWUpOworCisgICAgc3Rh
dGljIHZvaWQgZGVzdHJveShKU0NlbGwqKTsKKyAgICAKKyAgICBzdGF0aWMgc2l6ZV90IGFsbG9j
YXRpb25TaXplKHNpemVfdCBpbmxpbmVDYXBhY2l0eSkKKyAgICB7CisgICAgICAgIEFTU0VSVF9V
TlVTRUQoaW5saW5lQ2FwYWNpdHksICFpbmxpbmVDYXBhY2l0eSk7CisgICAgICAgIHJldHVybiBz
aXplb2YoSlNBcnJvd0Z1bmN0aW9uKTsKKyAgICB9CisgICAgCisgICAgc3RhdGljIFN0cnVjdHVy
ZSogY3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
SlNWYWx1ZSBwcm90b3R5cGUpCisgICAgeworICAgICAgICBBU1NFUlQoZ2xvYmFsT2JqZWN0KTsK
KyAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3Rv
dHlwZSwgVHlwZUluZm8oSlNGdW5jdGlvblR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsK
KyAgICB9CisgICAgICAgIAorICAgIHN0YXRpYyBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERh
dGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYpOworCisgICAgSlNPYmplY3QqIGFycm93RnVuY3Rp
b24oKSB7IHJldHVybiBtX2Fycm93RnVuY3Rpb24uZ2V0KCk7IH0KKyAgICBKU1ZhbHVlIGJvdW5k
VGhpcygpIHsgcmV0dXJuIG1fYm91bmRUaGlzLmdldCgpOyB9CisgICAgCisgICAgREVDTEFSRV9J
TkZPOworICAgIAorICAgIHN0YXRpYyBpbmxpbmUgcHRyZGlmZl90IG9mZnNldE9mVGhpc1ZhbHVl
KCkKKyAgICB7CisgICAgICAgIHJldHVybiBPQkpFQ1RfT0ZGU0VUT0YoSlNBcnJvd0Z1bmN0aW9u
LCBtX2JvdW5kVGhpcyk7CisgICAgfQorICAgIAorICAgIGNvbnN0IHN0YXRpYyB1bnNpZ25lZCBT
dHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0hhc0luc3RhbmNlIHwgQmFzZTo6U3RydWN0dXJlRmxh
Z3M7CisKK3Byb3RlY3RlZDoKKyAgICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCos
IFNsb3RWaXNpdG9yJik7CisgICAgICAgIAorcHJpdmF0ZToKKyAgICBKU0Fycm93RnVuY3Rpb24o
Vk0mLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEpTT2JqZWN0KiwgSlNWYWx1ZSk7CisK
KyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgTmF0aXZlRXhlY3V0YWJsZSosIGludCwgY29u
c3QgU3RyaW5nJik7CisgICAgCisgICAgV3JpdGVCYXJyaWVyPFVua25vd24+IG1fYm91bmRUaGlz
OworICAgIFdyaXRlQmFycmllcjxKU09iamVjdD4gbV9hcnJvd0Z1bmN0aW9uOworfTsKKyAgICAK
K30gLy8gbmFtZXNwYWNlIEpTQworI2VuZGlmIC8vIEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWAor
CisjZW5kaWYgLy8gSlNBcnJvd0Z1bmN0aW9uX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTRnVuY3Rpb24uaAppbmRleCA4NmRmZjEyZjhmYTQ3YTMxYTMzYTY4OTQwODdjZTVjMTE1
Y2U1MmI2Li44ZjFkNjE2YWUwYmQ3MTRmNDNjYjhmODhhYWQ1Yjc0ZjJlY2I3N2ZjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCkBAIC0xMzcsNiArMTM3LDkg
QEAgcHVibGljOgogcHJvdGVjdGVkOgogICAgIEpTX0VYUE9SVF9QUklWQVRFIEpTRnVuY3Rpb24o
Vk0mLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSopOwogICAgIEpTRnVuY3Rpb24oVk0mLCBG
dW5jdGlvbkV4ZWN1dGFibGUqLCBKU1Njb3BlKik7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICBKU0Z1bmN0aW9uKFZNJiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgSlNT
Y29wZSosIFN0cnVjdHVyZSopOworI2VuZGlmCiAKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZN
JiwgTmF0aXZlRXhlY3V0YWJsZSosIGludCBsZW5ndGgsIGNvbnN0IFN0cmluZyYgbmFtZSk7CiAg
ICAgdXNpbmcgQmFzZTo6ZmluaXNoQ3JlYXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaAppbmRleCBmNmM2ZDU4ZWM2ZTVjMTE2NGNi
MjdmYTVlNDE2MThiNGI4MTQyZjAyLi4zODUwNmNjMTk5YTAwOGZmOGY5NmFkZjY4OWJlMzYwOTg3
NWRlYTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0
aW9uSW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rp
b25JbmxpbmVzLmgKQEAgLTQ1LDYgKzQ1LDE1IEBAIGlubGluZSBKU0Z1bmN0aW9uOjpKU0Z1bmN0
aW9uKFZNJiB2bSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBKU1Njb3BlKiBzCiB7
CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQoraW5saW5lIEpTRnVu
Y3Rpb246OkpTRnVuY3Rpb24oVk0mIHZtLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUs
IEpTU2NvcGUqIHNjb3BlLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICA6IEJhc2Uodm0sIHNj
b3BlLCBzdHJ1Y3R1cmUpCisgICAgLCBtX2V4ZWN1dGFibGUodm0sIHRoaXMsIGV4ZWN1dGFibGUp
CisgICAgLCBtX3JhcmVEYXRhKCkKK3sKK30KKyNlbmRpZgorICAgIAogaW5saW5lIEZ1bmN0aW9u
RXhlY3V0YWJsZSogSlNGdW5jdGlvbjo6anNFeGVjdXRhYmxlKCkgY29uc3QKIHsKICAgICBBU1NF
UlQoIWlzSG9zdEZ1bmN0aW9uTm9uSW5saW5lKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCmluZGV4IDUwN2Q4YmMwNGJjOTQyYWNiMTMx
OTExYWMzZDMwYTA5OGFmMGQzYzkuLjM2NWFiMTFhMDNiMjY5NzAwZThkNGMwMDc5MDU5YmY0MWU1
Yjk3MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9i
amVjdC5jcHAKQEAgLTU4LDYgKzU4LDcgQEAKICNpbmNsdWRlICJKU0FycmF5QnVmZmVyQ29uc3Ry
dWN0b3IuaCIKICNpbmNsdWRlICJKU0FycmF5QnVmZmVyUHJvdG90eXBlLmgiCiAjaW5jbHVkZSAi
SlNBcnJheUl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCiAjaW5jbHVk
ZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUg
IkpTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5oIgpAQCAtMjM0LDYgKzIzNSw5IEBAIHZvaWQgSlNHbG9i
YWxPYmplY3Q6OmluaXQoVk0mIHZtKQogICAgIGV4ZWMtPnNldENhbGxlZShtX2dsb2JhbENhbGxl
ZS5nZXQoKSk7CiAKICAgICBtX2Z1bmN0aW9uU3RydWN0dXJlLnNldCh2bSwgdGhpcywgSlNGdW5j
dGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgp
KSk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBtX2Fycm93RnVu
Y3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0Fycm93RnVuY3Rpb246OmNyZWF0ZVN0cnVj
dHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOworI2VuZGlmCiAgICAg
bV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlLnNldCh2bSwgdGhpcywgSlNCb3VuZEZ1bmN0aW9uOjpj
cmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKICAg
ICBtX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBTdHJ1Y3R1cmU6OmFkZFBy
b3BlcnR5VHJhbnNpdGlvbih2bSwgbV9mdW5jdGlvblN0cnVjdHVyZS5nZXQoKSwgdm0ucHJvcGVy
dHlOYW1lcy0+bmFtZSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgRG9udEVudW0sIG1fZnVuY3Rp
b25OYW1lT2Zmc2V0KSk7CiAgICAgbV9pbnRlcm5hbEZ1bmN0aW9uU3RydWN0dXJlLnNldCh2bSwg
dGhpcywgSW50ZXJuYWxGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0
aW9uUHJvdG90eXBlLmdldCgpKSk7CkBAIC03NjMsNiArNzY3LDkgQEAgdm9pZCBKU0dsb2JhbE9i
amVjdDo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQog
ICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2NhbGxlZVN0cnVjdHVyZSk7CiAgICAg
dmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fZnVuY3Rpb25TdHJ1Y3R1cmUpOwogICAgIHZp
c2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUpOworI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdmlzaXRvci5hcHBlbmQoJnRo
aXNPYmplY3QtPm1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZSk7CisjZW5kaWYKICAgICB2aXNpdG9y
LmFwcGVuZCgmdGhpc09iamVjdC0+bV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlKTsKICAgICB2aXNp
dG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9zeW1ib2xPYmplY3RTdHJ1Y3R1cmUpOwogICAgIHZp
c2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX3JlZ0V4cFN0cnVjdHVyZSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCA1ODlmYTM5NmZl
MTljODdkY2VjMjVjODEwMzJiNGVmOGEyYjAwMGNjLi5kZDFhYjAzMmJkMTRiMjhkZWIxNjBmNGJk
YTM4ODRmZGQ2OTQ4NjQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0dsb2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmgKQEAgLTIyOSw2ICsyMjksOSBAQCBwcm90ZWN0ZWQ6CiAgICAgV3JpdGVC
YXJyaWVyPFN0cnVjdHVyZT4gbV9jYWxsZWVTdHJ1Y3R1cmU7CiAgICAgV3JpdGVCYXJyaWVyPFN0
cnVjdHVyZT4gbV9mdW5jdGlvblN0cnVjdHVyZTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJl
PiBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmU7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2Fycm93RnVuY3Rpb25TdHJ1
Y3R1cmU7CisjZW5kaWYKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX25hbWVkRnVuY3Rp
b25TdHJ1Y3R1cmU7CiAgICAgUHJvcGVydHlPZmZzZXQgbV9mdW5jdGlvbk5hbWVPZmZzZXQ7CiAg
ICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9wcml2YXRlTmFtZVN0cnVjdHVyZTsKQEAgLTQ2
Nyw2ICs0NzAsOSBAQCBwdWJsaWM6CiAgICAgU3RydWN0dXJlKiBjYWxsZWVTdHJ1Y3R1cmUoKSBj
b25zdCB7IHJldHVybiBtX2NhbGxlZVN0cnVjdHVyZS5nZXQoKTsgfQogICAgIFN0cnVjdHVyZSog
ZnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2Z1bmN0aW9uU3RydWN0dXJlLmdl
dCgpOyB9CiAgICAgU3RydWN0dXJlKiBib3VuZEZ1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyBy
ZXR1cm4gbV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBTdHJ1Y3R1cmUqIGFycm93RnVuY3Rpb25TdHJ1Y3R1
cmUoKSBjb25zdCB7IHJldHVybiBtX2Fycm93RnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KKyNl
bmRpZgogICAgIFN0cnVjdHVyZSogbmFtZWRGdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0
dXJuIG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQogICAgIFByb3BlcnR5T2Zmc2V0
IGZ1bmN0aW9uTmFtZU9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fZnVuY3Rpb25OYW1lT2Zmc2V0
OyB9CiAgICAgU3RydWN0dXJlKiBudW1iZXJPYmplY3RTdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVy
biBtX251bWJlck9iamVjdFN0cnVjdHVyZS5nZXQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzcGFyYW10ZXItMS5qcyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3BhcmFt
dGVyLTEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNjM2MWI4ZGIwMjI4Mjc5NmQxYmIwNGY1ZGJkNDAxOWI3Mjg5
ZjJjYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi1hc3BhcmFtdGVyLTEuanMKQEAgLTAsMCArMSw4IEBACisvLyBJbnNw
aXJlZCBieSBtb3ppbGxhIHRlc3RzCit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBl
eHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRo
cm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIg
KyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3Rlc3RDYXNlKCIiICsgWzEsIDIsIDMsIDRdLm1h
cCh4ID0+IHgsIDMyKSwgIjEsMiwzLDQiLCAiRXJyb3I6IGFycm93IGZ1bmN0aW9uIGFzIHRoZSBw
YXJhbXRlcnMuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci0yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzcGFyYW10ZXItMi5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
ZjI5MzJmYzE0NGQzNmM3MGYwNjFmOGU2ODg4ODNlNDRhZmNmZDE5Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzcGFy
YW10ZXItMi5qcwpAQCAtMCwwICsxLDE1IEBACisvLyBJbnNwaXJlZCBieSBtb3ppbGxhIHRlc3Rz
Cit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgewor
ICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBl
Y3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0K
K307CisKK3ZhciBmID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRlcikgeyByZXR1cm4gY2wocGFyYW10
ZXIpOyB9OwordmFyIGYyID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRlcjEsIHBhcmFtdGVyMikgeyBy
ZXR1cm4gY2wocGFyYW10ZXIxLCBwYXJhbXRlcjIpOyB9OworCityZXN1bHQgPSBmKHg9PntyZXR1
cm4geCAqIDI1O30sIDEyMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDI1KjEyMSAsIkVycm9yOiBOb3Qg
Y29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9j
azogZih4ID0+IHtyZXR1cm4geCAqIDI1O30sIDEyMSkiKTsKKworcmVzdWx0ID0gZjIoKHgsIHkp
PT57cmV0dXJuIHggKiB5O30sIDE0LCAxMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDE0KjEyICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5
IGFzIGJsb2NrOiBmKCh4LCB5KT0+e3JldHVybiB4ICogeTt9LCAxNCwgMTIxKSkiKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1h
c3NvY2lhdGl2aXR5LTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0xLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkMWQ0N2E0ODA3NWVj
NTk4YzZiZTFlMDdkNzhhMzUyNjM1M2E5MTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0xLmpz
CkBAIC0wLDAgKzEsMTMgQEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0
Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1
YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsg
ZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFy
IGFmMSwgYWYyLCBhZjM7CithZjEgPSBhZjIgPSBhZjMgPT4gYWYxID0gYWYyID0gYWYzOwordGVz
dENhc2UoYWYxLCBhZjIsICJFcnJvcjogd3JvbmcgYXNzb2NpYXRpdml0eSAjMS4iKTsKK2FmMSgx
Myk7Cit0ZXN0Q2FzZShhZjIsIDEzLCAiRXJyb3I6IHdyb25nIGFzc29jaWF0aXZpdHkgIzIuIik7
Cit0ZXN0Q2FzZShhZjEsIDEzLCAiRXJyb3I6IHdyb25nIGFzc29jaWF0aXZpdHkgIzMuIik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tYXNzb2NpYXRpdml0eS0yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHktMi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZWRkODM5YzZi
YzdlZDZhNDBlZmZiYmM4NzU0ZWQxYmZkODA2YjQzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHkt
Mi5qcwpAQCAtMCwwICsxLDE0IEBACisvLyBJbnNwaXJlZCBieSBtb3ppbGxhIHRlc3RzCit2YXIg
dGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAo
YWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAn
IiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisK
K3ZhciBzPSIiOworcyArPSB4ID0+IHgubmFtZTsKKworLy8gRml4IG1lLiBQb3NzaWJsZSB3ZSBo
YXZlIG5vdCB1c2UgdGhlIEpTQm91bnRGdW5jdGlvbiB3cmFwcGVyIGZvciB0aGUgbGV4aWNhbAor
Ly8gYmluZGluZyBvZiB0aGUgdGhpcyBhbmQgdXNlIGRpcmVjdCBpbmplY3Rpb24gb2YgdGhlICd0
aGlzJyB2YWx1ZQorLy8gaW50byBhcnJyb3cgZnVuY3Rpb24KKy8vIHRlc3RDYXNlKHMsICJ4ID0+
IHgubmFtZSIgLCAiRXJyb3I6IHdyb25nIHRvU3RyaW5nIGNvbnZlcnNpb24uIik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNz
b2NpYXRpdml0eS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1hc3NvY2lhdGl2aXR5LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY3ZWQxNTNjZWViYTUyNjIyOGVj
YTgyMTMwNDY5YTkyNDRiMTRjMDUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS5qcwpAQCAtMCww
ICsxLDEwIEBACisvLyBJbnNwaXJlZCBieSBtb3ppbGxhIHRlc3RzCit2YXIgdGVzdENhc2UgPSBm
dW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBl
eHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVk
ICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBhZiA9IGEg
PT4gYiA9PiBhOworCit0ZXN0Q2FzZShhZignQUJDJykoJ0RFRicpLCAnQUJDJywgIkVycm9yOiB3
cm9uZyBuZXN0ZWQgYXJyb3cgZnVuY3Rpb25zLiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJsb2NrLTEuanMgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2stMS5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4wYzU3MWJiNzJmY2ZlZjUzMGM1OWRiNGI4NjBjYTRmMGE5NmE0MTE2Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0
aW9uLWJsb2NrLTEuanMKQEAgLTAsMCArMSwxMSBAQAorLy8gSW5zcGlyZWQgYnkgbW96aWxsYSB0
ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2Up
IHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4g
RXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOwor
ICB9Cit9OworCit2YXIgZiA9ICgpID0+IHt9OwordGVzdENhc2UodHlwZW9mIGYoKSwgJ3VuZGVm
aW5lZCcsICJFcnJvcjogd3JvbmcgYXJyb3cgZnVuY3Rpb24gYmxvY2suIik7Cit2YXIgZyA9ICgp
ID0+ICh7fSk7Cit0ZXN0Q2FzZSh0eXBlb2YgZygpLCAnb2JqZWN0JywgIkVycm9yOiB3cm9uZyBh
cnJvdyBmdW5jdGlvbiBibG9jay4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ibG9jay0yLmpzIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJsb2NrLTIuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NDdlZTM1MmNmMDFkMTM2ZTMwMjkyMjczNmM1YzgwZWY1M2MwM2Y2ZQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ibG9j
ay0yLmpzCkBAIC0wLDAgKzEsMTAgQEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3Zh
ciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlm
IChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVk
ICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsK
KwordmFyIGFmID0gYSA9PiB7IGEgKyAxOyB9OworCit0ZXN0Q2FzZSh0eXBlb2YgYWYoMCksICd1
bmRlZmluZWQnLCAiRXJyb3I6IHdyb25nIGFycm93IGZ1bmN0aW9uIGJsb2NrICMyLiIpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LWJvdW5kLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0
aW9uLWJvdW5kLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE3MzIwZjRlYzc4OGVhMTQ5MGFmYzcyZWMxMjUxZWUw
YTZlMWY3YjYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tYm91bmQuanMKQEAgLTAsMCArMSwxNiBAQAordmFyIHJlc3Vs
dDsKKworIHZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdl
KSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIu
IEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsK
KyAgfQorfTsKKwordmFyIGQgPSB7CisgIHggOiAiYmFyIiwKKyAgeSA6IGZ1bmN0aW9uKCkgeyBy
ZXR1cm4geiA9PiB0aGlzLnggKyB6OyB9Cit9OworCit2YXIgZSA9IHsgeCA6ICJiYXoiIH07CisK
K3Rlc3RDYXNlKGQueSgpLmJpbmQoZSwgImxleSIpKCksICJiYXJsZXkiLCAiRXJyb3I6IGZ1bmN0
aW9uIGJpbmQgc2hvdWxkbid0IGNoYW5nZSBsZXhpY2FsIGJpbmRpbmcgb2YgdGhlIGFycm93IGZ1
bmN0aW9uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L2Fycm93ZnVuY3Rpb24tY2FsbC5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi1jYWxsLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY0ZjlhYTUwNGQ3MGQ3MGQ2OGNk
YWE1YTQ4MmE0NjUwYTQ1ZmRmN2MKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY2FsbC5qcwpAQCAtMCwwICsxLDE4IEBA
Cit2YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0
ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBt
ZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0
dWFsICsgIiciOworICB9Cit9OworCit2YXIgZCA9IHsKKyAgeCA6ICJmb28iLAorICB5IDogZnVu
Y3Rpb24oKSB7IHJldHVybiAoKSA9PiB0aGlzLng7IH0KK307CisKK3ZhciBlID0geyB4IDogImJh
ciIgfTsKKwordGVzdENhc2UoZC55KCkuY2FsbChlKSwgImZvbyIsICJFcnJvcjogZnVuY3Rpb24g
Y2FsbCBzaG91bG4ndCBjaGFuZ2UgdGhlIGxleGljYWwgYmluZGluZyBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb24iKTsKKwordGVzdENhc2UoZC55KCkuYXBwbHkoZSksICJmb28iLCAiRXJyb3I6IGZ1bmN0
aW9uIGFwcGx5IHNob3Vsbid0IGNoYW5nZSB0aGUgbGV4aWNhbCBiaW5kaW5nIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9hcnJvd2Z1bmN0aW9uLWNvbnN0cnVjdG9yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNvbnN0cnVjdG9yLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI1
OGIxNmQ3YjVlMjk3NDRjMzNmNzg2YjRiZjE2YmY0NGZlYjFlMjgKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY29uc3Ry
dWN0b3IuanMKQEAgLTAsMCArMSwxOCBAQAordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVh
bCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAg
ICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2Fz
ICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgc2ltcGxlQXJyb3dGdW5jdGlvbiA9
ICgpID0+IHt9OworCit2YXIgZXJyb3JPbkNyZWF0ZSA9IGZhbHNlOworCit0cnkgeworICB2YXIg
ZmMgPSBuZXcgc2ltcGxlQXJyb3dGdW5jdGlvbigpOworfQorY2F0Y2ggKGUpIHsKKyAgZXJyb3JP
bkNyZWF0ZSA9IHRydWU7Cit9CisKK3Rlc3RDYXNlKGVycm9yT25DcmVhdGUsIHRydWUsICJFcnJv
cjogTm8gZXhjZXB0aW9uIGR1cmluZyBydW4gbmV3IEFycm93RnVuY3Rpb24iKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhp
Y2FsLWFyZ3VtZW50cy5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJy
b3dmdW5jdGlvbi1sZXhpY2FsLWFyZ3VtZW50cy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZWI2NzYzYTY1MjY5
ODE2NWMwZmRiMmQ4YmMyMDczZDJiY2QzYjFmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtYXJndW1lbnRz
LmpzCkBAIC0wLDAgKzEsMTQgQEAKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4
cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhy
b3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiAr
IGFjdHVhbCArICInIjsKKyAgfQorfTsKKworZnVuY3Rpb24gYWZDcmVhdG9yKCkgeworICAgIHJl
dHVybiBhID0+IGFyZ3VtZW50c1swXTsKK30KKwordmFyIGFmID0gYWZDcmVhdG9yKDEyKTsKKwor
Ly9GaXhtZTogbGV4aWNhbCBiaW5kIG9mIHRoZSBhcmd1bWVudHMgaXMgbm90IGltcGxlbWVudGVk
CisvL3Rlc3RDYXNlKGFmKDYpLCAxMiwgIkVycm9yOiBhcmd1bWVudHMgaXMgbm90IGxleGljYWxs
eSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtdGhp
cy0xLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LWxleGljYWwtdGhpcy0xLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1NTMxZjU3NTYyZjI4NjhlZWFkMzlmY2Q2
NmVlNTA3OGJhY2VkMWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTEuanMKQEAgLTAsMCArMSwx
NyBAQAordmFyIHJlc3VsdDsKKworIHZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4
cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhy
b3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiAr
IGFjdHVhbCArICInIjsKKyAgfQorfTsKKworZnVuY3Rpb24gRG9nKG5hbWUpIHsKKyAgdGhpcy5u
YW1lID0gbmFtZTsKKyAgdGhpcy5nZXROYW1lID0gKCkgPT4gZXZhbCgidGhpcy5uYW1lIik7Cisg
IHRoaXMuZ2V0TmFtZUhhcmQgPSAoKSA9PiBldmFsKCIoKCkgPT4gdGhpcy5uYW1lKSgpIik7Cit9
CisKK3ZhciBkID0gbmV3IERvZygiTWF4Iik7Cit0ZXN0Q2FzZShkLmdldE5hbWUoKSwgZC5uYW1l
LCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbiAjMSIpOwordGVzdENhc2UoZC5nZXROYW1lSGFyZCgpLCBkLm5hbWUsICJFcnJv
cjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0
aW9uICMyIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTIuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTIuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OThiNTNiMjk4YmJiMGI1M2U0MDcxYzk5N2Q4MTIzNTExYWY2MzlkOQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhp
Y2FsLXRoaXMtMi5qcwpAQCAtMCwwICsxLDMzIEBACit2YXIgcmVzdWx0OworCisgdmFyIHRlc3RD
YXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVh
bCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBl
eHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIg
YWZPYmpMZXhCaW5kMiA9IGZ1bmN0aW9uICgpIHsKKyAgdGhpcy5mdW5jID0gKCkgPT4gdGhpczsK
K307CisKK3ZhciBhZk9iakxleEJpbmQySW5zdGFuY2UgPSBuZXcgYWZPYmpMZXhCaW5kMigpOwor
Cit0ZXN0Q2FzZShhZk9iakxleEJpbmQySW5zdGFuY2UuZnVuYygpID09PSBhZk9iakxleEJpbmQy
SW5zdGFuY2UsIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNp
ZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMyIik7CisKK3ZhciBvYmogPSB7CisgIG1ldGhvZDog
ZnVuY3Rpb24gKCkgeworICAgIHJldHVybiAoKSA9PiB0aGlzOworICB9Cit9OworCit0ZXN0Q2Fz
ZShvYmoubWV0aG9kKCkoKSA9PT0gb2JqLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGlj
YWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMyIpOworCit2YXIgZmFr
ZSA9IHtzdGVhbDogb2JqLm1ldGhvZCgpfTsKK3Rlc3RDYXNlKGZha2Uuc3RlYWwoKSA9PT0gb2Jq
LCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiAjNCIpOworCisKK3ZhciByZWFsID0ge2JvcnJvdzogb2JqLm1ldGhv
ZH07Cit0ZXN0Q2FzZShyZWFsLmJvcnJvdygpKCkgPT09IHJlYWwsIHRydWUsICJFcnJvcjogdGhp
cyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM1
Iik7Cit0ZXN0Q2FzZShyZWFsLmJvcnJvdygpKCkgPT09IHJlYWwsIHRydWUsICJFcnJvcjogdGhp
cyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM2
Iik7Cit0ZXN0Q2FzZShyZWFsLmJvcnJvdygpKCkgPT09IHJlYWwsIHRydWUsICJFcnJvcjogdGhp
cyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM3
Iik7Cit0ZXN0Q2FzZShyZWFsLmJvcnJvdygpKCkgPT09IHJlYWwsIHRydWUsICJFcnJvcjogdGhp
cyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM4
Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93
ZnVuY3Rpb24tb3RoZXJzLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9h
cnJvd2Z1bmN0aW9uLW90aGVycy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZWJhMTFmMzAyMmUzNGE4MDAwYTU3
MDA3NmRiMWE1NWE0YTMyYjIxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLW90aGVycy5qcwpAQCAtMCwwICsxLDEzIEBA
Cit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgewor
ICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBl
Y3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0K
K307CisKK3ZhciBzaW1wbGVBcnJvd0Z1bmN0aW9uID0gKCkgPT4ge307CisKK3Rlc3RDYXNlKE9i
amVjdC5nZXRQcm90b3R5cGVPZihzaW1wbGVBcnJvd0Z1bmN0aW9uKSwgRnVuY3Rpb24ucHJvdG90
eXBlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGdldFByb3RvdHlwZU9mIHZhbHVlIGZvciBhcnJvdyBm
dW5jdGlvbiIpOworCit0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uIGluc3RhbmNlb2YgRnVu
Y3Rpb24sIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBpbnN0YW5jZW9mIG1l
dGhvZCBmb3IgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2Uoc2ltcGxlQXJyb3dGdW5jdGlv
bi5jb25zdHJ1Y3RvciA9PSBGdW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1
bHQgZm9yIGNvbnN0cnVjdG9yIG1ldGhvZCBvZiBhcnJvdyBmdW5jdGlvbiIpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0x
MC0xLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LXJ1bi0xMC0xLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA3YTFmMGE0OWNiMTY4NjNjNTkyMTM2MWYwYWRiMWUx
NGVjOWI2NWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTEuanMKQEAgLTAsMCArMSwyNCBAQAordmFyIHRl
c3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFj
dHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIg
KyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCitm
dW5jdGlvbiBydW4oY291bnQpIHsKKyAgdmFyIHJlc3VsdCA9IHRydWU7CisgIGZvcih2YXIgaT0w
OyBpPGNvdW50OyBpKyspIHsKKyAgICB2YXIgT2JqID0gZnVuY3Rpb24gKG5hbWUpIHsKKyAgICAg
IHRoaXMubmFtZSA9IG5hbWU7CisgICAgICB0aGlzLmdldE5hbWUgPSAoKSA9PiB0aGlzLm5hbWU7
CisgICAgfTsKKworICAgIHZhciBvYmogPSBuZXcgT2JqKCJJdGVtIiArIGkpOworICAgIGlmIChv
YmoubmFtZSAhPT0gb2JqLmdldE5hbWUoKSkgeworICAgICAgcmVzdWx0ID0gZmFsc2U7CisgICAg
fQorICB9CisgIHJldHVybiByZXN1bHQ7Cit9CisKK3Rlc3RDYXNlKHJ1bigxKSwgdHJ1ZSwgIkVy
cm9yOiBFcnJvcjogZHVyaW5nIGV4ZWN1dGlvbiBvZiBhcnJvdyBmdW5jdGlvbiBvbmUgdGltZSIp
OwordGVzdENhc2UocnVuKDEwKSwgdHJ1ZSwgIkVycm9yOiBFcnJvcjogZHVyaW5nIGV4ZWN1dGlv
biBvZiBhcnJvdyBmdW5jdGlvbiAxMCB0aW1lcyIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMC0yLmpzIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMC0yLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjVkZGNkYjNjNzBhMWIyN2MzZGJiNTIzODA5NTVmNTM1M2Q3Njc0MjUKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tcnVuLTEwLTIuanMKQEAgLTAsMCArMSwyNSBAQAordmFyIHRlc3RDYXNlID0gZnVuY3Rp
b24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0
ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICIn
LCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCitmdW5jdGlvbiBydW4oY291
bnQpIHsKKyAgdmFyIHJlc3VsdCA9IHRydWU7CisgIGZvcih2YXIgaT0wOyBpPGNvdW50OyBpKysp
IHsKKyAgICB2YXIgT2JqID0gZnVuY3Rpb24gKG5hbWUpIHsKKyAgICAgIHRoaXMubmFtZSA9IG5h
bWU7CisgICAgICB0aGlzLmdldE5hbWUgPSAoKSA9PiBldmFsKCJ0aGlzLm5hbWUiKTs7CisgICAg
fTsKKworCisgICAgdmFyIG9iaiA9IG5ldyBPYmooIkl0ZW0iICsgaSk7CisgICAgaWYgKG9iai5u
YW1lICE9PSBvYmouZ2V0TmFtZSgpKSB7CisgICAgICByZXN1bHQgPSBmYWxzZTsKKyAgICB9Cisg
IH0KKyAgcmV0dXJuIHJlc3VsdDsKK30KKwordGVzdENhc2UocnVuKDEpLCB0cnVlLCAiRXJyb3I6
IGR1cmluZyBleGVjdXRpb24gb2YgYXJyb3cgZnVuY3Rpb24gb25lIHRpbWUiKTsKK3Rlc3RDYXNl
KHJ1bigxMCksIHRydWUsICJFcnJvcjogZHVyaW5nIGV4ZWN1dGlvbiBvZiBhcnJvdyBmdW5jdGlv
biAxMCB0aW1lcyIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMDAwMC0xLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMDAwMC0xLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBl
NWY2YmM4NmJkMzE0NTFiMDFjYTI3ZDBiOTcyMGI1N2U4ZDYwNTEKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEw
MDAwLTEuanMKQEAgLTAsMCArMSwyMyBAQAordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVh
bCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAg
ICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2Fz
ICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCitmdW5jdGlvbiBydW4oY291bnQpIHsKKyAg
dmFyIHJlc3VsdCA9IHRydWU7CisgIGZvcih2YXIgaT0wOyBpPGNvdW50OyBpKyspIHsKKyAgICB2
YXIgT2JqID0gZnVuY3Rpb24gKG5hbWUpIHsKKyAgICAgIHRoaXMubmFtZSA9IG5hbWU7CisgICAg
ICB0aGlzLmdldE5hbWUgPSAoKSA9PiB0aGlzLm5hbWU7CisgICAgfTsKKworICAgIHZhciBvYmog
PSBuZXcgT2JqKCJJdGVtIiArIGkpOworICAgIGlmIChvYmoubmFtZSAhPT0gb2JqLmdldE5hbWUo
KSkgeworICAgICAgcmVzdWx0ID0gZmFsc2U7CisgICAgfQorICB9CisgIHJldHVybiByZXN1bHQ7
Cit9CisKK3Rlc3RDYXNlKHJ1bigxMDAwMCksIHRydWUsICJFcnJvcjogRXJyb3I6IGR1cmluZyBl
eGVjdXRpb24gb2YgYXJyb3cgZnVuY3Rpb24gMTAwMDAgdGltZXMiKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAwMDAt
Mi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1y
dW4tMTAwMDAtMi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NTMwZjJjMWQ1YTdmNTVjZTQ2YjhiZTY5OTA4YjRi
YzIxZTA1MjdiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMDAwMC0yLmpzCkBAIC0wLDAgKzEsMjMgQEAKK3Zh
ciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlm
IChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVk
ICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsK
KworZnVuY3Rpb24gcnVuKGNvdW50KSB7CisgIHZhciByZXN1bHQgPSB0cnVlOworICBmb3IodmFy
IGk9MDsgaTxjb3VudDsgaSsrKSB7CisgICAgdmFyIE9iaiA9IGZ1bmN0aW9uIChuYW1lKSB7Cisg
ICAgICB0aGlzLm5hbWUgPSBuYW1lOworICAgICAgdGhpcy5nZXROYW1lID0gKCkgPT4gZXZhbCgi
dGhpcy5uYW1lIik7OworICAgIH07CisKKyAgICB2YXIgb2JqID0gbmV3IE9iaigiSXRlbSIgKyBp
KTsKKyAgICBpZiAob2JqLm5hbWUgIT09IG9iai5nZXROYW1lKCkpIHsKKyAgICAgIHJlc3VsdCA9
IGZhbHNlOworICAgIH0KKyAgfQorICByZXR1cm4gcmVzdWx0OworfQorCit0ZXN0Q2FzZShydW4o
MTAwMDApLCB0cnVlLCAiRXJyb3I6IEVycm9yOiBkdXJpbmcgZXhlY3V0aW9uIG9mIGFycm93IGZ1
bmN0aW9uIDEwMDAwIHRpbWVzIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tc3ludGF4LmpzIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXN5bnRheC5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZmUx
MWQ1YmVlMGRiZDU1NjQ4YWM0M2RmZmNlNGU0ZTJlOTBlMjg4Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXN5bnRheC5q
cwpAQCAtMCwwICsxLDExNiBAQAordmFyIHJlc3VsdDsKKworIHZhciB0ZXN0Q2FzZSA9IGZ1bmN0
aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVj
dGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAi
JywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGFmMCA9IHYgPT4g
diArIDE7Cit0ZXN0Q2FzZShhZjAoMTApLCAxMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiB2ID0+IHYgKyAxIik7CisKK3ZhciBhZjEgPSAodikg
PT4gdiAqIDI7Cit0ZXN0Q2FzZShhZjEoMTApLCAyMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVj
dXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAodikgPT4gdiArIDEiKTsKKwordmFyIGFmMiA9
ICgpID0+IDEwMDA7Cit0ZXN0Q2FzZShhZjIoMTIxMiksIDEwMDAgLCJFcnJvcjogTm90IGNvcnJl
Y3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKCkgPT4gMTAwMCIpOworCit2YXIg
YSA9IDE1MTsKK3ZhciBhZjJfMSA9ICgpID0+IGE7Cit0ZXN0Q2FzZShhZjJfMSgxMjEpLCBhICwi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICgpID0+
IHZhcmlhYmxlIik7CisKK3ZhciBhZjMgPSAodiwgeCkgPT4gdiArIHg7Cit0ZXN0Q2FzZShhZjMo
MTEsMTIpLCAyMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1
bmN0aW9uOiAoeCwgeSkgPT4geCArIHkiKTsKKwordmFyIGFmd3JhcHBlciA9IGZ1bmN0aW9uIChj
bCwgcGFyYW10ZXIpIHsgcmV0dXJuIGNsKHBhcmFtdGVyKTsgfTsKKworcmVzdWx0ID0gYWZ3cmFw
cGVyKHggPT4gMTIzNCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMzQgLCJFcnJvcjogTm90IGNvcnJl
Y3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMp
Iik7CisKK3Jlc3VsdCA9IGFmd3JhcHBlcih4ID0+IDEyMzQsIDIzNDUpOwordGVzdENhc2UocmVz
dWx0LCAxMjM0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjLCB5KSIpOworCityZXN1bHQgPSBhZndyYXBwZXIo
eCA9PiAxMjEgKyAyMzIpOwordGVzdENhc2UocmVzdWx0LCAzNTMgLCJFcnJvcjogTm90IGNvcnJl
Y3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMx
ICsgYzIpIik7CisKK3Jlc3VsdCA9IGFmd3JhcHBlcih4ID0+IDEyMyArIDMyMSwgOTk5OSk7Cit0
ZXN0Q2FzZShyZXN1bHQsIDQ0NCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhl
IGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYzEgKyBjMiwgeSkiKTsKKworcmVz
dWx0ID0gYWZ3cmFwcGVyKHggPT4geCArIDEyLCAyMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDMzICwi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFy
YW10ZXI6IGYoeCA9PiB4ICsgYzEsIHkpIik7CisKK3Jlc3VsdCA9IGFmd3JhcHBlcigoeCkgPT4g
eCArIDIxLCAzMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDUzLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKHgpID0+IGMxICsg
YzIsIHkpIik7CisKK3Jlc3VsdCA9IGFmd3JhcHBlcigoKSA9PiAxMDApOwordGVzdENhc2UocmVz
dWx0LCAxMDAsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjKSIpOworCit2YXIgZXh0X3ZhbHVlID0gMTIxOwor
cmVzdWx0ID0gYWZ3cmFwcGVyKCgpID0+IGV4dF92YWx1ZSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEy
MSwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFz
IHBhcmFtdGVyOiBmKCgpID0+IHYpIik7CisKK3Jlc3VsdCA9IGFmd3JhcHBlcigoKSA9PiBleHRf
dmFsdWUgKiAxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMTAgLCJFcnJvcjogTm90IGNvcnJlY3Qg
ZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiB2Kngp
Iik7CisKK3Jlc3VsdCA9IGFmd3JhcHBlcigoeCkgPT4gZXh0X3ZhbHVlICogeCwgMzApOwordGVz
dENhc2UocmVzdWx0LCAzMCpleHRfdmFsdWUgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoeCkgPT4gdip4LCB5KSIpOwor
CityZXN1bHQgPSBhZndyYXBwZXIoKCkgPT4gMTAwLCAxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEw
MCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFz
IHBhcmFtdGVyOiBmKCgpID0+IGMxLCB5KSIpOworCisgcmVzdWx0ID0gYWZ3cmFwcGVyKCgpID0+
IDEwMCArIDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYzEgKyBj
MikiKTsKKworcmVzdWx0ID0gYWZ3cmFwcGVyKCgpID0+IDEwMCArIDExLCAxMik7Cit0ZXN0Q2Fz
ZShyZXN1bHQsIDExMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMxICsgYzIsIHkpIik7CisKK3ZhciBhcnJv
d0Z1bmN0aW9uNCA9IHYgPT4gdiArIDEsIHh5ejEgPSAxMDEwMTsKK3Jlc3VsdCA9IGFycm93RnVu
Y3Rpb240KDEwMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDEyICwiRXJyb3I6IE5vdCBjb3JyZWN0
IHBhcnNpbmcgb2YgdGggYXJyb3cgZnVuY3Rpb24gaW5zaWRlIG9mIHRoZSBsaXN0IG9mIHZhcnM6
IHZhciBhZiA9IHY9PiB2ICsgMTsgenhjPWM7Iik7Cit0ZXN0Q2FzZSh4eXoxLCAxMDEwMSAsIkVy
cm9yOiBOb3QgY29ycmVjdCBwYXJzaW5nIG9mIHRoIGFycm93IGZ1bmN0aW9uIGluc2lkZSBvZiB0
aGUgbGlzdCBvZiB2YXJzOiB2YXIgYWYgPSB2PT4gdiArIDE7IHp4Yz1jOyIpOworCit2YXIgYWZ3
cmFwcGVyMiA9IGZ1bmN0aW9uIChjbCwgcGFyYW10ZXIxLCBwYXJhbXRlcjIpIHsgcmV0dXJuIGNs
KHBhcmFtdGVyMSwgcGFyYW10ZXIyKTsgfTsKK3Jlc3VsdCA9IGFmd3JhcHBlcjIoKHgsIHkpID0+
IHggKyB5LCAxMiAsNDMpOwordGVzdENhc2UocmVzdWx0LCA1NSAsIkVycm9yOiBOb3QgY29ycmVj
dCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtZXRlcjogZigoeCwgeSkg
PT4geCArIHksIGMxLCBjMikiKTsKKwordmFyIGFmQXJyMCA9IFt2ID0+IHYgKiAxMF07CityZXN1
bHQgPSBhZkFycjBbMF0oMTApOwordGVzdENhc2UocmVzdWx0LCAxMDAgLCJFcnJvcjogTm90IGNv
cnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBb
dj0+dioxMF0iKTsKKwordmFyIGFmQXJyMSA9IFt2ID0+IHYgKyAxLCB2ID0+IHYgKyAyXTsKK3Jl
c3VsdCA9IGFmQXJyMVswXSgxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDExICwiRXJyb3I6IE5vdCBj
b3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTog
W3YgPT4gdiArIDEsICB2ID0+IHYgKyAyXSIpOworcmVzdWx0ID0gYWZBcnIxWzFdKDExKTsKK3Rl
c3RDYXNlKHJlc3VsdCwgMTMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbdiA9PiB2ICsgMSwgIHYgPT4gdiArIDJd
Iik7CisKK3ZhciBhZkFycjIgPSBbKHYpID0+IHYgKyAxLCAodikgPT4gdiArIDJdOworcmVzdWx0
ID0gYWZBcnIyWzBdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIgLCJFcnJvcjogTm90IGNvcnJl
Y3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKHYp
ID0+IHYgKyAxLCAgKHYpID0+IHYgKyAyXSIpOworcmVzdWx0ID0gYWZBcnIyWzFdKDExKTsKK3Rl
c3RDYXNlKHJlc3VsdCwgMTMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKHYpID0+IHYgKyAxLCAgKHYpID0+IHYg
KyAyXSIpOworCit2YXIgYWZBcnIzID0gWygpID0+IDEwMSwgKCkgPT4gMTIzMjNdOworcmVzdWx0
ID0gYWZBcnIzWzBdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAxLCAiRXJyb3I6IE5vdCBjb3Jy
ZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogWygp
ID0+IGMxLCAgKCkgPT4gYzJdIik7CityZXN1bHQgPSBhZkFycjNbMV0oMTEpOwordGVzdENhc2Uo
cmVzdWx0LCAxMjMyMywgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsoKSA9PiBjMSwgICgpID0+IGMyXSIpOworCit2
YXIgYWZPYmogPSB7ZnVuYyA6IHkgPT4geSArIDEyfTsKK3Jlc3VsdCA9IGFmT2JqLmZ1bmMoMTEp
OwordGVzdENhc2UocmVzdWx0LCAyMyAsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwcm9wZXJ0eToge2Z1bmMgOiB5ID0+IHkgKyAxMiB9Iik7
CisKK3ZhciBhZkJsb2NrMCA9ICgpID0+IHsgcmV0dXJuIDEwMDA7IH07CityZXN1bHQgPSBhZkJs
b2NrMCgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhl
Y3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICgpID0+IHsg
cmV0dXJuIDEwMDA7IH0iKTsKKwordmFyIGFmQmxvY2sxID0gdiA9PiB7IHZhciBpbnR2YWwgPSAx
MDA7IHJldHVybiB2ICogaW50dmFsOyB9OworcmVzdWx0ID0gYWZCbG9jazEoMTEpOwordGVzdENh
c2UocmVzdWx0LCAxMTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiB4ID0+IHsgdmFyIHY9MTAwMDsgcmV0dXJu
IHYqeDsgfSIpOworCit2YXIgYWZCbG9jazIgPSAodikgPT4geyB2YXIgaW50ID0gMjAwOyByZXR1
cm4gdiAqIGludDsgfTsKK3Jlc3VsdCA9IGFmQmxvY2syKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwg
MjIwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9u
IHdpdGggYm9keSBhcyBibG9jazogKHgpID0+IHsgdmFyIHY9MTAwMDsgcmV0dXJuIHYqeDsgfSIp
OworCit2YXIgYWZCbG9jazMgPSAodiwgeCkgPT4geyB2YXIgcmVzdWx0ID0geCAqIHY7IHJldHVy
biByZXN1bHQ7IH07CityZXN1bHQgPSBhZkJsb2NrMygxMSwgMTIyMjIpOwordGVzdENhc2UocmVz
dWx0LCAxMzQ0NDIgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICh2LCB4KSA9PiB7IHZhciByZXN1bHQgPSB4ICog
djsgcmV0dXJuIHJlc3VsdDsgfSIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXRkei5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi10ZHouanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTlkMzVjZGVh
NGJhZjY2NzQzMWFmOGFiZThkYWRmMjJkMDRiOTBlMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi10ZHouanMKQEAgLTAs
MCArMSwyNCBAQAordmFyIEEgPSBjbGFzcyBBIHsgfTsKK3ZhciBCID0gY2xhc3MgQiBleHRlbmRz
IEEgeworICBjb25zdHJ1Y3RvcihhY2Nlc3NUaGlzQmVmb3JlU3VwZXIpIHsKKyAgICBpZiAoYWNj
ZXNzVGhpc0JlZm9yZVN1cGVyKSB7CisgICAgICB2YXIgZiA9ICgpID0+IHRoaXM7CisgICAgICBz
dXBlcigpOworICAgIH0gZWxzZSB7CisgICAgICBzdXBlcigpOworICAgIH0KKyAgfQorfTsKKwor
dmFyIGV4Y2VwdGlvbiA9IG51bGw7Cit0cnkgeworICAgICBuZXcgQih0cnVlKTsKK30gY2F0Y2gg
KGUpIHsKKyAgICBleGNlcHRpb24gPSBlOworICAgIGlmICghKGUgaW5zdGFuY2VvZiBSZWZlcmVu
Y2VFcnJvcikpCisgICAgICAgIHRocm93ICJFeGNlcHRpb24gdGhyb3duIHdhcyBub3QgYSByZWZl
cmVuY2UgZXJyb3IiOworfQoraWYgKCFleGNlcHRpb24pCisgICAgdGhyb3cgIkV4Y2VwdGlvbiBu
b3QgdGhyb3duIGZvciBhbiB1bml0aWFsaXplZCB0aGlzIGF0IGl0ZXJhdGlvbiI7CisKK3ZhciBl
ID0gbmV3IEIoZmFsc2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXR5cGVvZi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi10eXBlb2YuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWYyYTdmNTQ0
NzZhYmE5YzI4OTIzYzM1ZjFkYjNjNDMyN2FjOTQ2OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi10eXBlb2YuanMKQEAg
LTAsMCArMSwyMSBAQAordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQs
IG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNz
YWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFs
ICsgIiciOworICB9Cit9OworCit2YXIgYWYxID0gKCkgPT4ge307Cit2YXIgYWYyID0gKGEpID0+
IHthICsgMX07CisKK3Rlc3RDYXNlKHR5cGVvZiBhZjEsICJmdW5jdGlvbiIsICJFcnJvcjogTm90
IGNvcnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzEiKTsKK3Rlc3RDYXNlKHR5cGVv
ZiBhZjEucHJvdG90eXBlID09PSAndW5kZWZpbmVkJywgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVj
dCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiAjMSIpOworCit0ZXN0Q2Fz
ZSh0eXBlb2YgYWYyLCAiZnVuY3Rpb24iLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHR5cGUgb2YgdGhl
IGFycm93IGZ1bmN0aW9uICMyIik7Cit0ZXN0Q2FzZSh0eXBlb2YgYWYyLnByb3RvdHlwZSA9PT0g
J3VuZGVmaW5lZCcsIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBwcm90b3R5
cGUgb2YgYXJyb3cgZnVuY3Rpb24gIzIiKTsKKwordGVzdENhc2UodHlwZW9mICgoKT0+e30pLCAi
ZnVuY3Rpb24iLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHR5cGUgb2YgdGhlIGFycm93IGZ1bmN0aW9u
ICMzIik7Cit0ZXN0Q2FzZSh0eXBlb2YgKCgpPT57fSkucHJvdG90eXBlID09PSAndW5kZWZpbmVk
JywgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJv
dyBmdW5jdGlvbiAjMyIpOworCisKK3Rlc3RDYXNlKHR5cGVvZiAoKGIpID0+IHtiICsgMX0pLCAi
ZnVuY3Rpb24iLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHR5cGUgb2YgdGhlIGFycm93IGZ1bmN0aW9u
ICM0Iik7Cit0ZXN0Q2FzZSh0eXBlb2YgKChiKSA9PiB7YiArIDF9KS5wcm90b3R5cGUgPT09ICd1
bmRlZmluZWQnLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJvdG90eXBl
IG9mIGFycm93IGZ1bmN0aW9uICM0Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Db25m
aWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGZjOTBmNjExNTYyMzFhNDFj
YTkxMzdmMTdjNzk1NWU4ZDM3M2IwZWEuLjBjODg0MGY2YWI1MTg1ZjgzNTRiNzA2MDNlMDI1ZjI1
YTJhNzlmNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00NCw2ICs0NCw3IEBAIEVOQUJMRV9DQUNIRV9QQVJU
SVRJT05JTkcgPSBFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HOwogRU5BQkxFX0NBTlZBU19QQVRI
ID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKK0VOQUJMRV9FUzZf
QVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwog
RU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKIEVOQUJM
RV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVggPSBFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVS
QUxfU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklM
VEVSSU5HOwpAQCAtMjE1LDQgKzIxNiw0IEBAIEVOQUJMRV9KSVQgPSBFTkFCTEVfSklUOwogCiBF
TkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlP
VVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JN
UykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9P
VkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNI
TUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZB
U19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5H
KSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJB
TF9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkg
JChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFU
SU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0Vf
QURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1Nf
UkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQ
RVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQo
RU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIp
ICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAk
KEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQo
RU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNU
T1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1Yy
KSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQo
RU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFE
X0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9E
T01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJW
SUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9O
VEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAk
KEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19Q
UkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQp
ICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFC
TEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9T
Q0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRP
Ul9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRf
UExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJM
RV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxF
X1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVT
VF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09M
VVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1Nf
U0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNf
QVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVf
Q1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURF
TykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxF
X1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8p
ICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNU
VVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykg
JChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQo
RU5BQkxFX0pJVCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJM
RV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8z
RF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVO
QUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChF
TkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVf
RVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYKSAk
KEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NT
U19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykg
JChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04p
ICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQo
RU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJM
RV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJT
T1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9E
QVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFU
QV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJ
Q0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVf
RklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxM
U0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVE
KSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RI
Uk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9M
UykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9J
Tl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikg
JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lS
RUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5B
QkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FU
SU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dF
Ql9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQo
RU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9N
RURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VM
RU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5B
QkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJS
RU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChF
TkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZ
X0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChF
TkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBM
RVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElB
X1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQ
KSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFC
TEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NP
TlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RF
TVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElO
R19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxF
X1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVf
Q1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9X
RUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykg
JChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hI
Ul9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQp
ICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJF
U0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IDZjZjlkOTYyMTRmN2VmMjEzZGJlNDJiNDJmMTk3ZDgwYzU5
NDkxMDYuLjNmMjAwNWUyYzkxZDM4ODk2NDA5MmQxMmQ3Yzk5YzYyZDdlZjc5NWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE2
MDEsOSArMTYwMSw5IEBACiAJCTQ0MzExQ0Q5MTJFNEUyNTcwMDBBOEQxOSAvKiBET01Eb2N1bWVu
dEZyYWdtZW50UHJpdmF0ZS5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzMTFDRDQxMkU0RTIyRDAwMEE4RDE5IC8qIERPTURv
Y3VtZW50RnJhZ21lbnRQcml2YXRlLmggKi87IH07CiAJCTQ0MzExRjgyMTJFNEU2NkMwMDBBOEQx
OSAvKiBET01Eb2N1bWVudEZyYWdtZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1RTcxMTQ1MEFDNUQ1MzQwMDUzMjcwRiAvKiBET01E
b2N1bWVudEZyYWdtZW50SW50ZXJuYWwuaCAqLzsgfTsKIAkJNDQzODE3RkYxQTkxQjJGODAwNkUw
NEYyIC8qIENvcmVNZWRpYVNvZnRMaW5rLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ0MzgxN0ZEMUE5MUIyRjgwMDZFMDRGMiAvKiBDb3JlTWVkaWFT
b2Z0TGluay5jcHAgKi87IH07Ci0JCTQ0MzkxN0ZGMUE5MUIyRjgwMDZFMDRGMiAvKiBRdWlja0xv
b2tTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ0MzkxN0ZEMUE5MUIyRjgwMDZFMDRGMiAvKiBRdWlja0xvb2tTb2Z0TGluay5tbSAqLzsg
fTsKIAkJNDQzODE4MDAxQTkxQjJGODAwNkUwNEYyIC8qIENvcmVNZWRpYVNvZnRMaW5rLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDM4MTdGRTFBOTFC
MkY4MDA2RTA0RjIgLyogQ29yZU1lZGlhU29mdExpbmsuaCAqLzsgfTsKLQkJNDQzOTE4MDAxQTkx
QjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDM5MTdGRTFBOTFCMkY4MDA2RTA0RjIgLyogUXVp
Y2tMb29rU29mdExpbmsuaCAqLzsgfTsKKwkJNDQzOTE3RkYxQTkxQjJGODAwNkUwNEYyIC8qIGlv
cy9RdWlja0xvb2tTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ0MzkxN0ZEMUE5MUIyRjgwMDZFMDRGMiAvKiBpb3MvUXVpY2tMb29rU29m
dExpbmsubW0gKi87IH07CisJCTQ0MzkxODAwMUE5MUIyRjgwMDZFMDRGMiAvKiBpb3MvUXVpY2tM
b29rU29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ0MzkxN0ZFMUE5MUIyRjgwMDZFMDRGMiAvKiBpb3MvUXVpY2tMb29rU29mdExpbmsuaCAq
LzsgfTsKIAkJNDQzRjA0MjcwRTc1QzhGQjAwN0U1NDA3IC8qIE5ldHdvcmtTdGF0ZU5vdGlmaWVy
SU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQz
RjA0MjYwRTc1QzhGQjAwN0U1NDA3IC8qIE5ldHdvcmtTdGF0ZU5vdGlmaWVySU9TLm1tICovOyB9
OwogCQk0NDQ5QTQwNTFBOTY0QjAwMDBCNjRBRDUgLyogQ29yZU1lZGlhU1BJLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDQ5QTQwNDFBOTY0QjAwMDBC
NjRBRDUgLyogQ29yZU1lZGlhU1BJLmggKi87IH07CiAJCTQ0NEQ0RTIzMEY3MDhCMkUwMDMxNThF
MCAvKiBXZWJDb3JlVVJMUmVzcG9uc2VJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NDRENEUyMTBGNzA4QjJFMDAzMTU4RTAgLyogV2ViQ29yZVVS
TFJlc3BvbnNlSU9TLm1tICovOyB9OwpAQCAtODc2OSw5ICs4NzY5LDkgQEAKIAkJNDQzMTFDRDQx
MkU0RTIyRDAwMEE4RDE5IC8qIERPTURvY3VtZW50RnJhZ21lbnRQcml2YXRlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTURvY3VtZW50RnJhZ21lbnRQcml2YXRlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0MzExQ0Q1MTJFNEUyMkQwMDBBOEQxOSAvKiBE
T01Eb2N1bWVudFByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9N
RG9jdW1lbnRQcml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0MzgxN0ZE
MUE5MUIyRjgwMDZFMDRGMiAvKiBDb3JlTWVkaWFTb2Z0TGluay5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb3JlTWVkaWFTb2Z0TGluay5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTQ0MzkxN0ZEMUE5MUIyRjgwMDZFMDRGMiAvKiBRdWlja0xvb2tT
b2Z0TGluay5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IGlvcy9R
dWlja0xvb2tTb2Z0TGluay5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQzODE3
RkUxQTkxQjJGODAwNkUwNEYyIC8qIENvcmVNZWRpYVNvZnRMaW5rLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENvcmVNZWRpYVNvZnRMaW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCTQ0MzkxN0ZFMUE5MUIyRjgwMDZFMDRGMiAvKiBRdWlja0xvb2tTb2Z0TGlu
ay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBpb3MvUXVpY2tMb29rU29mdExp
bmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDQzOTE3RkQxQTkxQjJGODAwNkUw
NEYyIC8qIGlvcy9RdWlja0xvb2tTb2Z0TGluay5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IGlvcy9RdWlja0xvb2tTb2Z0TGluay5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNDQzOTE3RkUxQTkxQjJGODAwNkUwNEYyIC8qIGlvcy9RdWlja0xvb2tT
b2Z0TGluay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBpb3MvUXVpY2tMb29r
U29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQzRjA0MjYwRTc1QzhG
QjAwN0U1NDA3IC8qIE5ldHdvcmtTdGF0ZU5vdGlmaWVySU9TLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gTmV0d29ya1N0YXRlTm90aWZpZXJJT1MubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0NDlBNDA0MUE5NjRCMDAwMEI2NEFENSAvKiBDb3Jl
TWVkaWFTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29yZU1lZGlhU1BJ
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0NEQ0RTIxMEY3MDhCMkUwMDMxNThF
MCAvKiBXZWJDb3JlVVJMUmVzcG9uc2VJT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBXZWJDb3JlVVJMUmVzcG9uc2VJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0xODg1Nyw4ICsxODg1Nyw4IEBACiAJCQkJQzUyNzhCMEIxN0YyMTJFQTAw
M0EyOTk4IC8qIFBsYXRmb3JtUGFzdGVib2FyZElPUy5tbSAqLywKIAkJCQlFNDUzOTAzMjBFQUZE
NjM3MDAzNjk1QzggLyogUGxhdGZvcm1TY3JlZW5JT1MubW0gKi8sCiAJCQkJQUFFMzc1NUQxNzQy
OUJDQzAwNjIwMEMyIC8qIFBsYXRmb3JtU3BlZWNoU3ludGhlc2l6ZXJJT1MubW0gKi8sCi0JCQkJ
NDQzOTE3RkUxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLmggKi8sCi0JCQkJ
NDQzOTE3RkQxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tICovLAorCQkJ
CTQ0MzkxN0ZFMUE5MUIyRjgwMDZFMDRGMiAvKiBpb3MvUXVpY2tMb29rU29mdExpbmsuaCAqLywK
KwkJCQk0NDM5MTdGRDFBOTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1t
ICovLAogCQkJCUNERkMzNjAxMThDQTYxNjMwMDI2RTU2RiAvKiBSZW1vdGVDb21tYW5kTGlzdGVu
ZXJJT1MuaCAqLywKIAkJCQlDREZDMzYwMjE4Q0E2MTYzMDAyNkU1NkYgLyogUmVtb3RlQ29tbWFu
ZExpc3RlbmVySU9TLm1tICovLAogCQkJCTQ0QzM2M0VFMEZBQTdCQjMwMDk3RjhDQyAvKiBSdW50
aW1lQXBwbGljYXRpb25DaGVja3NJT1MuaCAqLywKQEAgLTI2MDYyLDcgKzI2MDYyLDcgQEAKIAkJ
CQk1NTBBMEJDQTA4NUY2MDM5MDA3MzUzRDYgLyogUXVhbGlmaWVkTmFtZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQ0UxMjUyM0QxQTE2NzZDRDAwODY0NDgwIC8qIFF1YXJ0ekNvcmVTUEkuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTQ0MkFGN0E5MTAyQ0RERUEwMDhGRDREMyAvKiBRdWlja0xvb2suaCBp
biBIZWFkZXJzICovLAotCQkJCTQ0MzkxODAwMUE5MUIyRjgwMDZFMDRGMiAvKiBRdWlja0xvb2tT
b2Z0TGluay5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDQzOTE4MDAxQTkxQjJGODAwNkUwNEYyIC8q
IGlvcy9RdWlja0xvb2tTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE0OTc4NkYxQUJB
RjMzODAwQ0VGN0U0IC8qIENvbnRlbnRGaWx0ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFMTI1
MjM5MUExNjZGQTAwMDg2NDQ4MCAvKiBRdWlja0xvb2tTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUExMERCRjQ3MThGOTIzMTcwMDBENzBDNiAvKiBRdWlja0xvb2tIYW5kbGVDbGllbnQuaCBpbiBI
ZWFkZXJzICovLApAQCAtMjk1NjMsNyArMjk1NjMsNyBAQAogCQkJCUNERUUzOTM3MTc5NzQyNTkw
MDFENzU4MCAvKiBQdWJsaWNVUkxNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU1MEEw
QkM5MDg1RjYwMzkwMDczNTNENiAvKiBRdWFsaWZpZWROYW1lLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTQ0MkFGN0FBMTAyQ0RERUEwMDhGRDREMyAvKiBRdWlja0xvb2subW0gaW4gU291cmNlcyAq
LywKLQkJCQk0NDM5MTdGRjFBOTFCMkY4MDA2RTA0RjIgLyogUXVpY2tMb29rU29mdExpbmsubW0g
aW4gU291cmNlcyAqLywKKwkJCQk0NDM5MTdGRjFBOTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNr
TG9va1NvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMDcyQUUxRTYxODNDMDc0MTAwMEE1
OTg4IC8qIFF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
Mzc5RTM3MTYxMzczNkE2NjAwQjlFOTE5IC8qIFF1b3RlZFByaW50YWJsZS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk1QTU3NEYyODEzMURCOTZEMDA0NzFCODggLyogUXVvdGVzRGF0YS5jcHAgaW4g
U291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggZmM5MGY2MTE1NjIzMWE0MWNhOTEzN2Yx
N2M3OTU1ZThkMzczYjBlYS4uMGM4ODQwZjZhYjUxODVmODM1NGI3MDYwM2UwMjVmMjVhMmE3OWY0
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ0LDYgKzQ0LDcgQEAgRU5BQkxFX0NBQ0hFX1BBUlRJ
VElPTklORyA9IEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkc7CiBFTkFCTEVfQ0FOVkFTX1BBVEgg
PSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOworRU5BQkxFX0VTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBF
TkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYOwogRU5BQkxF
X0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCA9IEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJB
TF9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxU
RVJJTkc7CkBAIC0yMTUsNCArMjE2LDQgQEAgRU5BQkxFX0pJVCA9IEVOQUJMRV9KSVQ7CiAKIEVO
QUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9V
VF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1T
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09W
RVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hN
RU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFT
X1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFM
X1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAk
KEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJ
T05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9B
REFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9P
UklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19S
RUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBF
UykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChF
TkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikg
JChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQo
RU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChF
TkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RP
UikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIp
ICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURf
REVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RP
TV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJ
Q0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05U
SCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQo
RU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZF
TlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxF
X0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BS
RUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkg
JChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1ND
QUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9S
X0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9Q
TFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxF
X1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVf
UVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNU
X0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xV
VElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19T
Q1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19B
UEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVf
U1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAk
KEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9D
U1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVP
KSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVf
VklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykg
JChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RV
UkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAk
KEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChF
TkFCTEVfSklUKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxF
X1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNE
X1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUND
RUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5B
QkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVO
QUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORykgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9F
UzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVgpICQo
RU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NT
X0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAk
KEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikg
JChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChF
TkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxF
X0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNP
Ul9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRB
X1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklD
RV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxF
X0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9G
SUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExT
Q1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQp
ICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhS
T1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xT
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lO
X1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxF
X0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJF
TEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFC
TEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJ
T05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VC
X0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChF
TkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01F
RElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxF
TUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFC
TEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJF
TkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVO
QUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlf
RVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVO
QUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExF
VEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFf
UVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVAp
ICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJM
RV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09O
VkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVN
UExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9F
VkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5H
X1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
VklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9D
U1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dF
Ql9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAk
KEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhS
X1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkg
JChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVT
RU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGZjOTBmNjExNTYyMzFhNDFjYTkxMzdmMTdj
Nzk1NWU4ZDM3M2IwZWEuLjBjODg0MGY2YWI1MTg1ZjgzNTRiNzA2MDNlMDI1ZjI1YTJhNzlmNGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCkBAIC00NCw2ICs0NCw3IEBAIEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcg
PSBFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HOwogRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxF
X0NBTlZBU19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKK0VOQUJMRV9FUzZfQVJST1dGVU5D
VElPTl9TWU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0VT
Nl9DTEFTU19TWU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKIEVOQUJMRV9FUzZfVEVN
UExBVEVfTElURVJBTF9TWU5UQVggPSBFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFY
OwogRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwpA
QCAtMjE1LDQgKzIxNiw0IEBAIEVOQUJMRV9KSVQgPSBFTkFCTEVfSklUOwogCiBFTkFCTEVfU0FU
VVJBVEVEX0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhN
RVRJQzsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19T
Q1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVN
RU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAk
KEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVgp
ICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVf
Q1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFL
KSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElP
TikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykg
JChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5B
QkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NV
UlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxF
X0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9E
QVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RF
VklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJM
RV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZV
TExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FU
RUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJf
VEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRS
T0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
X0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5B
QkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChF
TkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChF
TkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
V0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkg
JChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJf
RUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChF
TkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNV
UlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAk
KEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1J
VFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAk
KEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09N
UExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVE
SUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NO
QVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVO
QUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZf
Q09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVf
VEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VD
SF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlM
SU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFC
TEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9E
RV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxF
X1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVT
KSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVf
WEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJ
VCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19Q
UkVTRU5UQVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZP
Uk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRB
Q0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FO
VkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfRVM2X0NMQVNT
X1NZTlRBWCkgJChFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYKSAkKEVOQUJMRV9D
T05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJ
T05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVf
Q1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxF
X0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NT
U19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RF
WFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJ
TElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRf
U1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZF
Ul9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBU
RURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19M
RVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQ
SSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJM
RV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcp
ICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJT
KSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FD
WV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChF
TkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykg
JChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01B
VEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VS
Q0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQo
RU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklH
QVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChF
TkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9J
TlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykg
JChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVR
VUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVO
QUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAk
KEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJM
RV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExF
X0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikg
JChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VM
RU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAk
KEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RS
QUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElB
KSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZ
KSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVf
V0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VU
KSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxF
X1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9O
X01PREUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlIGIv
U291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCmluZGV4IGJjYjM5YWVkN2NmNzJkNTZl
MDE5ZGQyMDU5NmZhZDM2OTczYjg4MDEuLjA2NTA1YmNhNGQ1Y2RmNjUwYWIyY2NlYjQ0N2IwMDE4
YzkyMjk4NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQor
KysgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKQEAgLTU5LDYgKzU5LDcgQEAg
bWFjcm8oV0VCS0lUX09QVElPTl9CRUdJTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFC
TEVfQ1NTX1NIQVBFUyAiVG9nZ2xlIENTUyBTaGFwZXMgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAg
ICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZICJUb2dnbGUg
Y3Vyc29yIHZpc2liaWxpdHkgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElP
Tl9ERUZJTkUoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUiAiVG9nZ2xlIEN1c3RvbSBTY2hl
bWUgSGFuZGxlciBzdXBwb3J0IiBQUklWQVRFIE9GRikKKyAgICBXRUJLSVRfT1BUSU9OX0RFRklO
RShFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYICJUb2dnbGUgRVM2IGFycm93IGZ1bmN0
aW9uIHN5bnRheCBzdXBwb3J0IiBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVf
REFTSEJPQVJEX1NVUFBPUlQgIlRvZ2dsZSBkYXNoYm9hcmQgc3VwcG9ydCIgUFJJVkFURSBPRkYp
CiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0RBVEFDVUVfVkFMVUUgIlRvZ2dsZSBk
YXRhY3VlIHZhbHVlIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVG
SU5FKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UICJUb2dnbGUgSFRNTDUgZGF0YWxpc3Qgc3VwcG9y
dCIgUFJJVkFURSBPRkYpCkBAIC0xNjgsNyArMTY5LDYgQEAgbWFjcm8oV0VCS0lUX09QVElPTl9C
RUdJTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfWEhSX1RJTUVPVVQgIlRvZ2ds
ZSBYSFIgdGltZW91dCBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RF
RklORShFTkFCTEVfWFNMVCAiVG9nZ2xlIFhTTFQgc3VwcG9ydCIgUFJJVkFURSBPTikKICAgICBX
RUJLSVRfT1BUSU9OX0RFRklORShVU0VfU1lTVEVNX01BTExPQyAiVG9nZ2xlIHN5c3RlbSBhbGxv
Y2F0b3IgaW5zdGVhZCBvZiBXZWJLaXQncyBjdXN0b20gYWxsb2NhdG9yIiBQUklWQVRFIE9GRikK
LQogICAgIFdFQktJVF9PUFRJT05fREVQRU5EKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIgRU5B
QkxFX1ZJREVPKQogICAgIFdFQktJVF9PUFRJT05fREVQRU5EKEVOQUJMRV9ERkdfSklUIEVOQUJM
RV9KSVQpCiAgICAgV0VCS0lUX09QVElPTl9ERVBFTkQoRU5BQkxFX0ZUTF9OQVRJVkVfQ0FMTF9J
TkxJTklORyBFTkFCTEVfRlRMX0pJVCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cGVybC9GZWF0dXJlTGlzdC5wbSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlz
dC5wbQppbmRleCBiMGQ1YWExYjNiYzQ0OGQ2ZDI2MTI3MGE1ZmI1ODE0MDM0NjVmNWY1Li40MGMx
MTVlM2IzZTRiYTQ3NTJhNzFkMzhkMWZlYTIyN2VlMjBkMTI3IDEwMDY0NAotLS0gYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRwZXJsL0ZlYXR1cmVMaXN0LnBtCkBAIC00NCw2ICs0NCw3IEBAIEJFR0lOIHsKIG15ICgKICAg
ICAkdGhyZWVEVHJhbnNmb3Jtc1N1cHBvcnQsCiAgICAgJGFjY2VsZXJhdGVkMkRDYW52YXNTdXBw
b3J0LAorICAgICRhcnJvd2Z1bmN0aW9uU3ludGF4LAogICAgICRhdHRhY2htZW50RWxlbWVudFN1
cHBvcnQsCiAgICAgJGJhdHRlcnlTdGF0dXNTdXBwb3J0LAogICAgICRjYW52YXNQYXRoU3VwcG9y
dCwKQEAgLTE1Niw5ICsxNTcsMTMgQEAgbXkgQGZlYXR1cmVzID0gKAogICAgIHsgb3B0aW9uID0+
ICJhY2NlbGVyYXRlZC0yZC1jYW52YXMiLCBkZXNjID0+ICJUb2dnbGUgQWNjZWxlcmF0ZWQgMkQg
Q2FudmFzIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQUNDRUxFUkFURURfMkRf
Q0FOVkFTIiwgZGVmYXVsdCA9PiBpc0d0aygpLCB2YWx1ZSA9PiBcJGFjY2VsZXJhdGVkMkRDYW52
YXNTdXBwb3J0IH0sCiAKKyAgICB7IG9wdGlvbiA9PiAiYXJyb3dmdW5jdGlvbi1zeW50YXgiLCBk
ZXNjID0+ICJUb2dnbGUgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheCBzdXBwb3J0IiwKKyAgICAg
IGRlZmluZSA9PiAiRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCIsIGRlZmF1bHQgPT4g
MSwgdmFsdWUgPT4gXCRhcnJvd2Z1bmN0aW9uU3ludGF4IH0sCisKICAgICB7IG9wdGlvbiA9PiAi
YXR0YWNobWVudC1lbGVtZW50IiwgZGVzYyA9PiAiVG9nZ2xlIEF0dGFjaG1lbnQgRWxlbWVudCBz
dXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCIsIGRl
ZmF1bHQgPT4gMCwgdmFsdWUgPT4gXCRhdHRhY2htZW50RWxlbWVudFN1cHBvcnQgfSwKIAorCiAg
ICAgeyBvcHRpb24gPT4gImJhdHRlcnktc3RhdHVzIiwgZGVzYyA9PiAiVG9nZ2xlIEJhdHRlcnkg
U3RhdHVzIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQkFUVEVSWV9TVEFUVVMi
LCBkZWZhdWx0ID0+IGlzRWZsKCksIHZhbHVlID0+IFwkYmF0dGVyeVN0YXR1c1N1cHBvcnQgfSwK
IAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252205</attachid>
            <date>2015-05-01 17:37:19 -0700</date>
            <delta_ts>2015-05-07 15:05:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150502033605.patch</filename>
            <type>text/plain</type>
            <size>207436</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzNzAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
OWE5NjQ3OTQwZTYyNmM1YWVlY2NmNDg1YjcwYmM3YTI0YmY2M2YzLi44NjkzYjljYWYwMGNmMDgx
ZWM1MmYzZjJkYWEwMTFmMjliNmYzOWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNzEgQEAKKzIwMTUtMDUtMDEgQWxla3NhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MDg1NQorCisgICAgICAgICAqIHBhcnNlci9QYXJzZXIuaDoKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIHN1cHBvcnQgb2YgRVM2IGFycm93IGZ1
bmN0aW9uLiBDaGFuZ2VzIHdlcmUgbWFkZSBhY2NvcmRpbmcgZm9sbG93aW5nIHNwZWMgaHR0cDov
L3dpa2kuZWNtYXNjcmlwdC5vcmcvZG9rdS5waHA/aWQ9aGFybW9ueTphcnJvd19mdW5jdGlvbl9z
eW50YXgKKyAgICAgICAgSW4gcGF0Y2ggd2VyZSBpbXBsZW1lbnRlZCB0aGUgc2ltcGxlc3QgY2Fz
ZXM6CisgICAgICAgICAgMSBubyBwYXJhbWV0ZXJzICAgICAgICAgICAgICAgICgpID0+IDEwICsg
MjAKKyAgICAgICAgICAyIHNpbmdsZSBwYXJhbWV0ZXIgICAgICAgICAgICAgIHggPT4geCArIDIw
CisgICAgICAgICAgMyBtdWx0aXBsZSBwYXJhbWV0ZXJzICAgICAgKHgsIHkpID0+IHggKyB5Cisg
ICAgICAgICAgNCBhcnJvdyBmdW5jdGlvbiB3aXRoIGJsb2NrICAgICB4ID0+IHsgcmV0dXJuIHgq
MTA7IH0KKyAgICAgICAgICA1IGxleGljYWwgdGhpcyAtIHZhcmlhYmxlIHRoaXMgaXMgcG9pbnQg
dG8gdGhlIHRoaXMgb2YgdGhlIGZ1bmN0aW9uIHdoZXJlIGFycm93IGZ1bmN0aW9uIGlzIGRlY2xh
cmVkCisgICAgICAgICAgNiBObyBjb25zdHJ1Y3RvciAtIHRoZSB1c2luZyBvZiB0aGUgY29tbWFu
ZCBuZXcgZm9yIGFycm93IGZ1bmN0aW9uIGxlYWRzIHRvIHJ1bnRpbWUgZXJyb3IuIAorCisgICAg
ICAgICAgTm90IHlldCBpbXBsZW1lbnRlZDoKKyAgICAgICAgICAxIGxleGljYWwgYmluZCBvZiB0
aGUgYXJndW1lbnRzICYgc3VwZXIKKyAgICAgICAgICAyIEluc2lkZSBhbiBhcnJvdyBmdW5jdGlv
biwgbmV3LnRhcmdldCByZWZlcnMgdG8gdGhlIG5ldy50YXJnZXQgb2YgdGhlIHN1cnJvdW5kaW5n
IG5vbi1hcnJvdyBmdW5jdGlvbi4KKyAgICAgICAgICAzIGFycm93IGZ1bmN0aW9uIGRvZXNuw6LC
gMKZdCBpbmxpbmUgJiBjb21waWxlIGluIERGRyBtb2RlLiAKKworICAgICAgICAgKiBDb25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29y
ZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2o6CisgICAgICAgICogYnl0ZWNvZGUvQnl0
ZWNvZGVMaXN0Lmpzb246CisgICAgICAgICogYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaDoKKyAg
ICAgICAgKEpTQzo6RnVuY3Rvcjo6Y29tcHV0ZVVzZXNGb3JCeXRlY29kZU9mZnNldCk6CisgICAg
ICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpk
dW1wQnl0ZWNvZGUpOgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5o
OgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHA6CisgICAgICAg
IChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24p
OiBhZGRlZAorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFRoaXNOb2RlQnl0
ZWNvZGUpOiBhZGRlZAorICAgICAgICAqIGJ5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgor
ICAgICAgICAoSlNDOjplbWl0Qnl0ZWNvZGU6OmVtaXRCeXRlY29kZSk6IGFkZGVkCisgICAgICAg
IChKU0M6OkFycm93RnVuY0V4cHJOb2RlOjplbWl0Qnl0ZWNvZGUpOiBhZGRlZAorICAgICAgICAq
IGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6CisgICAgICAgIChKU0M6OkJ5dGVDb2RlUGFyc2Vy
OjpwYXJzZUJsb2NrKToKKyAgICAgICAgKiBkZmcvREZHQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAg
ICAgKEpTQzo6Q2FwYWJpbGl0eUxldmVsOjpjYXBhYmlsaXR5TGV2ZWwpOgorICAgICAgICAqIGpp
dC9KSVQuaDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX25ld19hcnJvd19mdW5jX2V4cCk6
IGFkZGVkCisgICAgICAgICogaml0L0pJVElubGluZXMuaDoKKyAgICAgICAgKEpTQzo6SklUOjpj
YWxsT3BlcmF0aW9uKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklULmNwcDoKKyAgICAgICAgKEpT
Qzo6SklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKToKKyAgICAgICAgKiBqaXQvSklUT3Bjb2Rl
cy5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9uZXdfYXJyb3dfZnVuY19leHApOiBh
ZGRlZAorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKEpTQzo6SklU
X09QRVJBVElPTjo6b3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbik6IGFkZGVkCisgICAgICAgICog
aml0L0pJVE9wZXJhdGlvbnMuaDoKKyAgICAgICAgKEpTQzo6SklUX09QRVJBVElPTjo6b3BlcmF0
aW9uTmV3QXJyb3dGdW5jdGlvbik6IGFkZGVkCisgICAgICAgICogbGxpbnQvTExJbnRTbG93UGF0
aHMuY3BwOgorICAgICAgICAoTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX25ld19hcnJv
d19mdW5jX2V4cCk6IGFkZGVkCisgICAgICAgICogbGxpbnQvTExJbnRTbG93UGF0aHMuaDoKKyAg
ICAgICAgKExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHAp
KTogYWRkZWQKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToKKyAgICAg
ICAgKiBkZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6
REZHOjpBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVj
dHMpOgorICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6CisgICAgICAgIChKU0M6
OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAqIGRmZy9ERkdDYXBh
YmlsaXRpZXMuY3BwOgorICAgICAgICAoSlNDOjpERkc6OmNhcGFiaWxpdHlMZXZlbCk6CisgICAg
ICAgICogZGZnL0RGR0Nsb2JiZXJpemUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpjbG9iYmVyaXpl
KToKKyAgICAgICAgKiBkZmcvREZHRG9lc0dDLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpkb2Vz
R0MpOgorICAgICAgICAqIGRmZy9ERkdGaXh1cFBoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpGaXh1cFBoYXNlOjpmaXh1cE5vZGUpOgorICAgICAgICAqIGRmZy9ERkdOb2RlLmg6CisgICAg
ICAgIChKU0M6OkRGRzo6Tm9kZTo6aGFzQ2VsbE9wZXJhbmQpOgorICAgICAgICAqIGRmZy9ERkdO
b2RlVHlwZS5oOgorICAgICAgICAqIGRmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5j
cHA6CisgICAgICAgIChKU0M6OkRGRzo6UHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2U6OnByb3Bh
Z2F0ZSk6CisgICAgICAgICogZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaDoKKyAgICAgICAgKEpTQzo6
REZHOjpzYWZlVG9FeGVjdXRlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuaDoK
KyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y2FsbE9wZXJhdGlvbik6CisgICAg
ICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6
OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVK
SVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgor
ICAgICAgICAqIGRmZy9ERkdTdHJ1Y3R1cmVSZWdpc3RyYXRpb25QaGFzZS5jcHA6CisgICAgICAg
IChKU0M6OkRGRzo6U3RydWN0dXJlUmVnaXN0cmF0aW9uUGhhc2U6OnJ1bik6CisgICAgICAgICog
ZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuY3BwOgorICAgICAgICAqIGZ0bC9GVExBYnN0
cmFjdEhlYXBSZXBvc2l0b3J5Lmg6CisgICAgICAgICogZnRsL0ZUTENhcGFiaWxpdGllcy5jcHA6
CisgICAgICAgIChKU0M6OkZUTDo6Y2FuQ29tcGlsZSk6CisgICAgICAgICogZnRsL0ZUTEludHJp
bnNpY1JlcG9zaXRvcnkuaDoKKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwOgor
ICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlTm9kZSk6CisgICAgICAg
IChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVOZXdBcnJvd0Z1bmN0aW9uKToKKyAg
ICAgICAgKiBwYXJzZXIvQVNUQnVpbGRlci5oOgorICAgICAgICAoSlNDOjpBU1RCdWlsZGVyOjpj
cmVhdGVBcnJvd0Z1bmN0aW9uRXhwcik6CisgICAgICAgICogcGFyc2VyL0xleGVyLmNwcDoKKyAg
ICAgICAgKEpTQzo6TGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24pOgorICAgICAgICAoSlNDOjpM
ZXhlcjxUPjo6bGV4KToKKyAgICAgICAgKiBwYXJzZXIvTGV4ZXIuaDoKKyAgICAgICAgKEpTQzo6
TGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24pOgorICAgICAgICAqIHBhcnNlci9Ob2RlQ29uc3Ry
dWN0b3JzLmg6CisgICAgICAgIChKU0M6OkFycm93RnVuY0V4cHJOb2RlOjpBcnJvd0Z1bmNFeHBy
Tm9kZSk6IGFkZGVkCisgICAgICAgICogcGFyc2VyL05vZGVzLmg6CisgICAgICAgIChKU0M6Ok5v
ZGU6OmlzQXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZAorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNF
eHByTm9kZSk6IGFkZGVkIGNsYXNzCisgICAgICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisgICAg
ICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsZW1lbnRzKToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlc3Npb24pOgorICAg
ICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU291cmNlRWxlbWVudCk6CisgICAgICAgIChKU0M6OlBh
cnNlcjo6cGFyc2VTdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXNzaWdu
bWVudEV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlUHJpbWFyeUV4cHJl
c3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dFeHByZXNzaW9uKToKKyAg
ICAgICAgKEpTQzo6UGFyc2VyOjpzZXRFbmRPZlN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBh
cnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6
cGFyc2VBcnJvd0Z1bmN0aW9uSW5mbyk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJv
d0Z1bmN0aW9uQm9keSk6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorICAgICAgICAoSlND
OjpQYXJzZXI6OkZ1bmN0aW9uUGFyc2VUeXBlKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJz
ZVNvdXJjZUVsZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KToK
KyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RXhwcmVzc2lvbik6CisgICAgICAgIChK
U0M6OlBhcnNlcjo6c2V0RW5kT2ZTdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBh
cnNlQXJyb3dGdW5jdGlvbldyYXBwZXIpOgorICAgICAgICAqIHBhcnNlci9QYXJzZXJGdW5jdGlv
bkluZm8uaDoKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyVG9rZW5zLmg6CisgICAgICAgIChKU0M6
OlBhcnNlckZ1bmN0aW9uSW5mbzo6YXJyb3dGdW5jdGlvbk9mZnNldCk6IGFkZGVkCisgICAgICAg
IChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6aXNBcnJvd0Z1bmN0aW9uKTogYWRkZWQKKyAgICAg
ICAgKEpTQzo6UGFyc2VyRnVuY3Rpb25JbmZvOjphcnJvd0Z1bmN0aW9uQm9keVR5cGUpOiBhZGRl
ZAorICAgICAgICAqIHBhcnNlci9Tb3VyY2VDb2RlLmg6CisgICAgICAgIChKU0M6OlNvdXJjZUNv
ZGU6OnN1YkFycm93RXhwcmVzc2lvbik6CisgICAgICAgICogcGFyc2VyL1N5bnRheENoZWNrZXIu
aDoKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIp
OgorICAgICAgICAqIHBhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbToKKyAgICAgICAgKEpT
Qzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMpOgorICAgICAgICAo
SlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbSk6CisgICAgICAgIChKU0M6OlNvdXJjZVByb3Zp
ZGVyQ2FjaGVJdGVtOjplbmRBcnJvd0Z1bmN0aW9uVG9rZW4pOgorICAgICAgICAqIHJ1bnRpbWUv
SlNBcnJvd0Z1bmN0aW9uLmg6IGFkZGVkIGNsYXNzIGZvciBoYW5kbGUgYXJyb3cgZnVuY3Rpb24g
Y3JlYXRpb24gYW5kIGV4ZWN1dGlvbgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJvd0Z1bmN0aW9u
LmNwcDoKKyAgICAgICAgKiBydW50aW1lL0pTRnVuY3Rpb24uaDoKKyAgICAgICAgKEpTQzo6SlNG
dW5jdGlvbjo6SlNGdW5jdGlvbik6IGFkZGVkIG9uZSBtb3JlIGNvbnN0cnVjdG9yCisgICAgICAg
ICogcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oOgorICAgICAgICAoSlNDOjpKU0Z1bmN0aW9u
OjpKU0Z1bmN0aW9uKTogYWRkZWQgY29uc3RydWN0b3IgaW1wbGVtZW50YXRpb24KKyAgICAgICAg
KiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmpl
Y3Q6OmluaXQpOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6bV9hcnJvd0Z1bmN0aW9u
U3RydWN0dXJlKTogYWRkZWQKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmFycm93RnVu
Y3Rpb25TdHJ1Y3R1cmUpOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFz
cGFyYW10ZXItMS5qczogQWRkZWQuCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tYXNwYXJhbXRlci0yLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1ib3VuZC5qczogQWRkZWQuCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tY2FsbC5qczogQWRkZWQuCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tY29uc3RydWN0b3IuanM6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
bGV4aWNhbC1hcmd1bWVudHMuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJv
d2Z1bmN0aW9uLWxleGljYWwtdGhpcy0xLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMtMi5qczogQWRkZWQuCisgICAgICAgICogdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTEuanM6IEFkZGVkLgorICAgICAgICAqIHRl
c3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMC0yLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAwMDAtMS5qczogQWRkZWQuCisgICAgICAg
ICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwMDAwLTIuanM6IEFkZGVkLgorICAg
ICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXN5bnRheC5qczogQWRkZWQuCisKKzIw
MTUtMDQtMTIgIEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKyAgICAg
ICAgU21hbGwgcmVmYWN0b3Jpbmcgb2YgdGhlIHBhcmNlci5jcHAgZmlsZS4gSXQgaXMgbmVjZXNz
YXJ5IHRvIGluY3JlYXNlIHJlYWRhYmlsaXR5IG9mIHRoZSBwYXRjaAorICAgICAgICB3aXRoIEVT
NiBBcnJvdyBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgKiBwYXJzZXIvUGFyc2Vy
Lmg6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisKIDIwMTUtMDUtMDEgIE1hcnRpbiBS
b2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVTRSguLi4pIG1hY3Jv
IHNob3VsZCBleHBlY3QgdW5wcmVmaXhlZCB2YXJpYWJsZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1ZTE2MTFk
ZWE2NGQwZjNhY2MyNDQ4OTJkMDQ5NzIyZWY4M2M0MmZlLi5iN2RlNGUzYjU4M2VhMDAzMzA1NWVk
NzEwZTM2YWMxYjg1MjA4YjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDQt
MTcgIFNrYWNoa292IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBb
RVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJM
RV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggZm9yIGFycm93IGZ1bmN0aW9uCisKKyAgICAgICAg
KiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxNS0wNS0wMSAg
Sm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIElubGluZSBz
b21lIHNtYWxsIG1ldGhvZHMgaW5zdGVhZCBvZiB0aGVtIGJlaW5nIEVYUE9SVCdkIGFuZCBvdXQg
b2YgbGluZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGZmZmE4YzMzNDgyOTA4ZWM2ZDk2ZTM1NDEyNjY0
NTBjMjdjNTNlODcuLmZiZGYzYmU1YzQ1ZWM0YTMwN2QzM2Y0YzQ4MzE2M2U2NTZlY2VlNTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNS0wNC0xNyAgU2thY2hrb3YgQWxl
eGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIEltcGxlbWVudCBF
UzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGRlZCBmZWF0dXJlIGZsYWcgRU5BQkxFX0VTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rpb24KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1LTA1LTAxICBNYXJ0aW4gUm9iaW5zb24g
IDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBVU0UoLi4uKSBtYWNybyBzaG91bGQg
ZXhwZWN0IHVucHJlZml4ZWQgdmFyaWFibGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50
eHQKaW5kZXggNTUwZThkNmEwODM2ZjE5NTY4Y2Q3NTY1NmRiYmJkMzFmNTBhZTJlMS4uYmM5NmE1
ZDZlYjc3NzA3ODk1ZGZjMzlmZGM4NTdhYWI3Y2Q4ZjRlNyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
TWFrZUxpc3RzLnR4dApAQCAtNDcwLDYgKzQ3MCw3IEBAIHNldChKYXZhU2NyaXB0Q29yZV9SVU5U
SU1FX1NPVVJDRVMKICAgICBydW50aW1lL0pTQXJyYXlCdWZmZXJWaWV3LmNwcAogICAgIHJ1bnRp
bWUvSlNBcnJheUl0ZXJhdG9yLmNwcAogICAgIHJ1bnRpbWUvSlNCb3VuZEZ1bmN0aW9uLmNwcAor
ICAgIHJ1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcAogICAgIHJ1bnRpbWUvSlNHbG9iYWxPYmpl
Y3REZWJ1Z2dhYmxlLmNwcAogICAgIHJ1bnRpbWUvSlNDSlNWYWx1ZS5jcHAKICAgICBydW50aW1l
L0pTQ2FsbGVlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IGZjOTBmNjExNTYyMzFh
NDFjYTkxMzdmMTdjNzk1NWU4ZDM3M2IwZWEuLjBjODg0MGY2YWI1MTg1ZjgzNTRiNzA2MDNlMDI1
ZjI1YTJhNzlmNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0
aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ0LDYgKzQ0LDcgQEAg
RU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORyA9IEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkc7CiBF
TkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BS
T1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dG
VU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IEVOQUJMRV9FUzZfQ0xB
U1NfU1lOVEFYOwogRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCA9IEVOQUJMRV9F
UzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CkBAIC0yMTUsNCArMjE2LDQgQEAgRU5BQkxFX0pJVCA9
IEVOQUJMRV9KSVQ7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFC
TEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVO
QUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05T
KSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklO
RykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VT
Nl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQo
RU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJM
RV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChF
TkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQo
RU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkg
JChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RF
WFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RP
TV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RB
VEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RF
VEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000
X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9F
TkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9O
VF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQp
ICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5B
QkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJB
U0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Up
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9Q
T1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFC
TEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNT
KSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElB
X0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFC
TEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykg
JChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVf
UFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZG
SVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1F
KSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RP
UikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJ
TkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykg
JChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NW
R19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9O
VU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9M
T0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9B
TEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNV
RV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQo
RU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tF
VFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxF
X1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChF
TkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FS
SVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVG
SU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NB
TlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9B
VkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVf
UEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZ
KSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfVEVNUExBVEVf
TElURVJBTF9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1Bf
TkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9E
RUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19E
RVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJM
RV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NT
U19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJF
QUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hB
TkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVN
RU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1F
TlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09O
U1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVO
VFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9H
QU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5f
UEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBM
RVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9X
RUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxF
X0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVf
TElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19T
Q1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykg
JChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NV
UlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05B
VklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
REZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAk
KEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQo
RU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVf
UkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxF
X1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJM
RV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NU
UkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQo
RU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVD
VElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChF
TkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQo
RU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJf
QVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJM
RV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVH
SU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9K
SVQpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAk
KEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9q
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlw
dENvcmUudmN4cHJvagppbmRleCBmZWJkZTI3NWM3ZWRiYWZkNWRjNmI5ZmNlYjEyNGFlMGJlOWFh
NzZiLi40ZDk5YTg3ZTUzZTM1M2I5NzQ1NTgyYTk2ODM3Y2ViOTg1NjQ4NWFhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0
Q29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52
Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKQEAgLTczNSw2ICs3MzUsNyBAQAogICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0FycmF5QnVmZmVyUHJvdG90eXBlLmNwcCIg
Lz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJheUJ1ZmZlclZpZXcu
Y3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0JvdW5kRnVuY3Rp
b24uY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0Fycm93RnVu
Y3Rpb24uY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NKU1Zh
bHVlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDYWxsZWUu
Y3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NhdGNoU2NvcGUu
Y3BwIiAvPgpAQCAtMTUzNyw2ICsxNTM4LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHJ1bnRpbWVcSlNBcnJheUJ1ZmZlclZpZXdJbmxpbmVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlJdGVyYXRvci5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5ccnVudGltZVxKU0JvdW5kRnVuY3Rpb24uaCIgLz4KKyAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJvd0Z1bmN0aW9uLmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0lubGluZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5ccnVudGltZVxKU0NKU1ZhbHVlSW5saW5lcy5oIiAvPgpAQCAtMTgxNyw0ICsxODE5LDQg
QEAKICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KICAgICA8SW1wb3J0
IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcQnVpbGRDdXN0b21pemF0aW9uc1xtYXNtLnRhcmdl
dHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAxYTJi
NDYwZTdmODM4OGVhYThlMzE5YmYyNTRlYTY3YWYyYjliMWVmLi4zZDA2OTY2MGYwOTE0MTQzMWVi
NDk5OGU0NWM0OTg4NjkyZjg4YjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
SmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAt
MTEwNiw2ICsxMTA2LDggQEAKIAkJODZGM0VFQkYxNjhDREU5MzAwNzdCOTJBIC8qIE9iamNSdW50
aW1lRXh0cmFzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4NkYzRUVCNjE2ODU1QTVCMDA3N0I5MkEgLyogT2JqY1J1bnRpbWVFeHRyYXMuaCAqLzsgfTsK
IAkJODZGQTlFOTExNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkZBOUU4RjE0MkJCQjJE
MDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAqLzsgfTsKIAkJODZGQTlFOTIxNDJCQkIy
RTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRG
dW5jdGlvbi5oICovOyB9OworCQk4QjBGNDI0QzFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1
bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDhCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uY3BwICovOyB9Owor
CQk4QjBGNDI0QzFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUyMDAz
OTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggKi87IH07CiAJCTkwMjEzRTNEMTIzQTQwQzIwMEQ0
MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDkwMjEzRTNCMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0
aXN0aWNzLmNwcCAqLzsgfTsKIAkJOTAyMTNFM0UxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0
YXRpc3RpY3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTMwNTJDMzQwRkI3OTIx
OTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDkzMDUyQzMyMEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVu
YS5jcHAgKi87IH07CkBAIC0yODU0LDYgKzI4NTYsOCBAQAogCQk4NkY3NUVGRDE1MUMwNjJGMDA3
QzlCQTMgLyogUmVnRXhwTWF0Y2hlc0FycmF5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFJlZ0V4cE1hdGNoZXNBcnJheS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3
IC8qIEpTQm91bmRGdW5jdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U0JvdW5kRnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOEIwRjQyNEEx
QUJENkQyRjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Fy
cm93RnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOEIwRjQyNEIxQUJE
NkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU0Fycm93RnVuY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk5MDIxM0UzQjEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZW1vcnlTdGF0aXN0aWNz
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTAyMTNFM0MxMjNBNDBDMjAwRDQy
MkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTWVtb3J5U3RhdGlzdGljcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MzA1
MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gUGFyc2VyQXJlbmEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtNDQ2OSw2ICs0NDczLDggQEAKIAkJCQlBN0JEQUVDNTE3RjRFQTE0MDBGNjE0
MEMgLyogSlNBcnJheUl0ZXJhdG9yLmggKi8sCiAJCQkJODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3
IC8qIEpTQm91bmRGdW5jdGlvbi5jcHAgKi8sCiAJCQkJODZGQTlFOTAxNDJCQkIyRTAwMTc3M0I3
IC8qIEpTQm91bmRGdW5jdGlvbi5oICovLAorCQkJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdFQSAv
KiBKU0Fycm93RnVuY3Rpb24uaCAqLywKKwkJCQk4QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEgLyog
SlNBcnJvd0Z1bmN0aW9uLmNwcCAqLywKIAkJCQk2NTdDRjQ1NjE5QkY2NjYyMDA0QUNCRjIgLyog
SlNDYWxsZWUuY3BwICovLAogCQkJCTY1N0NGNDU3MTlCRjY2NjIwMDRBQ0JGMiAvKiBKU0NhbGxl
ZS5oICovLAogCQkJCTBGRDk0OTdFMUE5N0RCOTYwMEUyODk2NiAvKiBKU0NhdGNoU2NvcGUuY3Bw
ICovLApAQCAtNzIyNCw2ICs3MjMwLDcgQEAKIAkJCQkwRkQ4QTMxQjE3RDUxRjIyMDBDQTJDNDAg
LyogRlRMT1NSRW50cnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyMzVCREMxNzE3OEUxQzAw
NjkwQzdGIC8qIEZUTE9TUkV4aXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyMzVCREYxNzE3
OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4aXRDb21waWxlci5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQk4QjBGNDI0QzFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTBGRUEwQTJBMTcwOTYyOTYwMEJCNzIyQyAvKiBGVExPdXRwdXQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMEY0ODUzMjkxODdERkRFQzAwODNCNjg3IC8qIEZUTFJlY292ZXJ5
T3Bjb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNkIxQ0MzMTg2MkM0NzgwMDg0NUQ5NyAv
KiBGVExSZWdpc3RlckF0T2Zmc2V0LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCmluZGV4IGUzZWQxZGNkYTRl
MDNhNWYxMWVmOTFlNTYxMTllYjkzMDUxZmI3ZjYuLjU2Y2JhOTM2YzQ3NTA1ZjU0Njg0MWVkNTdi
YjliOGU4ZDNkMTZkOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9CeXRlY29kZUxpc3QuanNvbgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Qnl0ZWNvZGVMaXN0Lmpzb24KQEAgLTk1LDYgKzk1LDcgQEAKICAgICAgICAgICAgIHsgIm5hbWUi
IDogIm9wX3N3aXRjaF9zdHJpbmciLCAibGVuZ3RoIiA6IDQgfSwKICAgICAgICAgICAgIHsgIm5h
bWUiIDogIm9wX25ld19mdW5jIiwgImxlbmd0aCIgOiA0IH0sCiAgICAgICAgICAgICB7ICJuYW1l
IiA6ICJvcF9uZXdfZnVuY19leHAiLCAibGVuZ3RoIiA6IDQgfSwKKyAgICAgICAgICAgIHsgIm5h
bWUiIDogIm9wX25ld19hcnJvd19mdW5jX2V4cCIsICJsZW5ndGgiIDogNSB9LAogICAgICAgICAg
ICAgeyAibmFtZSIgOiAib3BfY2FsbCIsICJsZW5ndGgiIDogOSB9LAogICAgICAgICAgICAgeyAi
bmFtZSIgOiAib3BfY2FsbF9ldmFsIiwgImxlbmd0aCIgOiA5IH0sCiAgICAgICAgICAgICB7ICJu
YW1lIiA6ICJvcF9jYWxsX3ZhcmFyZ3MiLCAibGVuZ3RoIiA6IDkgfSwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgKaW5kZXggNzY2N2U2ODNlNDU0
YTQ5OTk4NmVkYWNkOTBiNjQ5MTcyNDIwMzdjZC4uZGE0YTJhYWVlYzI4NDU5NDFhZTM2NmRjZmI5
ODU5MWNjYjNjY2Q0NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0J5dGVjb2RlVXNlRGVmLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5
dGVjb2RlVXNlRGVmLmgKQEAgLTExNSw2ICsxMTUsOSBAQCB2b2lkIGNvbXB1dGVVc2VzRm9yQnl0
ZWNvZGVPZmZzZXQoCiAgICAgY2FzZSBvcF9nZXRfcHJvcGVydHlfZW51bWVyYXRvcjoKICAgICBj
YXNlIG9wX2dldF9lbnVtZXJhYmxlX2xlbmd0aDoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoK
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fy
cm93X2Z1bmNfZXhwOgorI2VuZGlmCiAgICAgY2FzZSBvcF90b19pbmRleF9zdHJpbmc6CiAgICAg
Y2FzZSBvcF9pbml0X2dsb2JhbF9jb25zdF9ub3A6CiAgICAgY2FzZSBvcF9pbml0X2dsb2JhbF9j
b25zdDoKQEAgLTMwNyw2ICszMTAsOSBAQCB2b2lkIGNvbXB1dGVEZWZzRm9yQnl0ZWNvZGVPZmZz
ZXQoQ29kZUJsb2NrKiBjb2RlQmxvY2ssIHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0LAogICAgIGNh
c2Ugb3BfbmV3X3JlZ2V4cDoKICAgICBjYXNlIG9wX25ld19mdW5jOgogICAgIGNhc2Ugb3BfbmV3
X2Z1bmNfZXhwOgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2Fz
ZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6CisjZW5kaWYKICAgICBjYXNlIG9wX2NhbGxfdmFyYXJn
czoKICAgICBjYXNlIG9wX2NvbnN0cnVjdF92YXJhcmdzOgogICAgIGNhc2Ugb3BfZ2V0X2Zyb21f
c2NvcGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJs
b2NrLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCmlu
ZGV4IDkwMTM4Zjk3Y2JkODI4Zjk3MmNiMjI0NDJiZjQwNDQxZDEzZjQwNTYuLjcxODNkMDRkZDg4
MmJiNjIyM2ZiYWNlMTdlNWZiYjUwMDkxZDgwMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCkBAIC0xMzAxLDYgKzEzMDEsMTcgQEAgdm9pZCBDb2Rl
QmxvY2s6OmR1bXBCeXRlY29kZSgKICAgICAgICAgICAgIG91dC5wcmludGYoIiVzLCAlcywgZiVk
IiwgcmVnaXN0ZXJOYW1lKHIwKS5kYXRhKCksIHJlZ2lzdGVyTmFtZShyMSkuZGF0YSgpLCBmMCk7
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOiB7CisgICAg
ICAgICAgICBpbnQgcjAgPSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAgICAgICAgIGludCByMSA9
ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgaW50IGYwID0gKCsraXQpLT51Lm9wZXJh
bmQ7CisgICAgICAgICAgICBpbnQgcjIgPSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAgICAgICAg
IHByaW50TG9jYXRpb25BbmRPcChvdXQsIGV4ZWMsIGxvY2F0aW9uLCBpdCwgIm9wX25ld19hcnJv
d19mdW5jX2V4cCIpOworICAgICAgICAgICAgb3V0LnByaW50ZigiJXMsICVzLCBmJWQsICVzIiwg
cmVnaXN0ZXJOYW1lKHIwKS5kYXRhKCksIHJlZ2lzdGVyTmFtZShyMSkuZGF0YSgpLCBmMCwgcmVn
aXN0ZXJOYW1lKHIyKS5kYXRhKCkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyNl
bmRpZgogICAgICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDogewogICAgICAgICAgICAgaW50IHIw
ID0gKCsraXQpLT51Lm9wZXJhbmQ7CiAgICAgICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUub3Bl
cmFuZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0
ZWNvZGVHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9C
eXRlY29kZUdlbmVyYXRvci5jcHAKaW5kZXggMmYyMWU0OWI2NTEwZjFiZTU4ZDA5YzMxNDA1ZTM3
Y2E5ZWRiMzE5Zi4uNDE4ODlhYTM0ZGFmZmYxMDY0MDA2ZmM4MzBkOTdmZjBmMDY2YjJhNiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVy
YXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29k
ZUdlbmVyYXRvci5jcHAKQEAgLTE3NzUsNiArMTc3NSwyMiBAQCBSZWdpc3RlcklEKiBCeXRlY29k
ZUdlbmVyYXRvcjo6ZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVu
Y0V4cAogICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChpbmRleCk7CiAgICAgcmV0dXJuIHIwOwog
fQorICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitSZWdpc3RlcklE
KiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lz
dGVySUQqIHIwLCBGdW5jRXhwck5vZGUqIG4pCit7CisgICAgZW1pdFREWkNoZWNrKHRoaXNSZWdp
c3RlcigpKTsKKyAgICBGdW5jdGlvbkJvZHlOb2RlKiBmdW5jdGlvbiA9IG4tPmJvZHkoKTsKKyAg
ICB1bnNpZ25lZCBpbmRleCA9IG1fY29kZUJsb2NrLT5hZGRGdW5jdGlvbkV4cHIobWFrZUZ1bmN0
aW9uKGZ1bmN0aW9uKSk7CisgICAgCisgICAgZW1pdE9wY29kZShvcF9uZXdfYXJyb3dfZnVuY19l
eHApOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChyMC0+aW5kZXgoKSk7CisgICAgaW5zdHJ1
Y3Rpb25zKCkuYXBwZW5kKHNjb3BlUmVnaXN0ZXIoKS0+aW5kZXgoKSk7CisgICAgaW5zdHJ1Y3Rp
b25zKCkuYXBwZW5kKGluZGV4KTsKKyAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQodGhpc1JlZ2lz
dGVyKCktPmluZGV4KCkpOworICAgIHJldHVybiByMDsKK30KKyNlbmRpZgogCiBSZWdpc3RlcklE
KiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0RlZmF1bHRDb25zdHJ1Y3RvcihSZWdpc3RlcklE
KiBkc3QsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQsIGNvbnN0IElkZW50aWZpZXIm
IG5hbWUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVy
L0J5dGVjb2RlR2VuZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVy
L0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggOWFmOGQ0ZmM0ODVkOTg5MjQxYjExMTE4MDkyN2Fh
YTc2YTk1MzFjNC4uY2E2OGEyOWU2YmYxNWJlZTIwYjY5N2EwNGYyODdlY2ZmOGJiYzhjZCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVy
YXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVH
ZW5lcmF0b3IuaApAQCAtNDU0LDYgKzQ1NCwxMCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAg
UmVnaXN0ZXJJRCogZW1pdE5ld0Z1bmN0aW9uSW50ZXJuYWwoUmVnaXN0ZXJJRCogZHN0LCB1bnNp
Z25lZCBpbmRleCk7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5jdGlvbkV4cHJlc3Np
b24oUmVnaXN0ZXJJRCogZHN0LCBGdW5jRXhwck5vZGUqIGZ1bmMpOwogICAgICAgICBSZWdpc3Rl
cklEKiBlbWl0TmV3RGVmYXVsdENvbnN0cnVjdG9yKFJlZ2lzdGVySUQqIGRzdCwgQ29uc3RydWN0
b3JLaW5kLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3QXJyb3dGdW5jdGlvbkV4
cHJlc3Npb24oUmVnaXN0ZXJJRCosIEZ1bmNFeHByTm9kZSopOworICAgICAgICBSZWdpc3RlcklE
KiBlbWl0VGhpc05vZGVCeXRlY29kZShSZWdpc3RlcklEKiwgSlNUZXh0UG9zaXRpb24pOworI2Vu
ZGlmCiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdSZWdFeHAoUmVnaXN0ZXJJRCogZHN0LCBS
ZWdFeHAqKTsKIAogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TW92ZUxpbmtUaW1lQ29uc3RhbnQo
UmVnaXN0ZXJJRCogZHN0LCBMaW5rVGltZUNvbnN0YW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAppbmRleCAwZjBiNzhmMGU1
OTFkOWJiMTZiOTU4MWQ1ZDU2MDRkNDhlNWI3NzZmLi5kOTQ3YWZjYjY4OGZhYjAwOGZmYzkyODBl
Mjg5YzVhZDZiOWEyZGE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
bXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCkBAIC0yOTAxLDYgKzI5MDEsMTQgQEAgUmVnaXN0ZXJJ
RCogRnVuY0V4cHJOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRv
ciwgUmVnaXN0ZXJJRCoKICAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXROZXdGdW5jdGlvbkV4cHJl
c3Npb24oZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0KSwgdGhpcyk7CiB9CiAKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAgICAKKy8vIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLSBBcnJvd0Z1bmNFeHByTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KK1JlZ2lzdGVySUQqIEFycm93RnVuY0V4cHJOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0
ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0KQoreworICAgIHJldHVy
biBnZW5lcmF0b3IuZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKGdlbmVyYXRvci5maW5h
bERlc3RpbmF0aW9uKGRzdCksIHRoaXMpOworfQorI2VuZGlmCisgICAgCiAjaWYgRU5BQkxFKEVT
Nl9DTEFTU19TWU5UQVgpCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ2xhc3NE
ZWNsTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5l
cy5oCmluZGV4IDkzNDIwOTM1YjM4YmVmNDQ3OGVkYTBjOTVmOWQ4NTUyNjNiZmQ3MDIuLjI1ZTFj
NzM2NGE2ZDcyOTg4N2JkMTRmOWZiMjU5Nzk5MGJmOTJmOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgK
QEAgLTE1MzQsNyArMTUzNCwxMyBAQCBib29sIEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RT
dGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyh1bnNpZ25lZCBjbG9iYmVyTGltaQogICAgIGNhc2Ug
Q3JlYXRlQ2xvbmVkQXJndW1lbnRzOgogICAgICAgICBmb3JOb2RlKG5vZGUpLnNldFR5cGUobV9n
cmFwaCwgU3BlY09iamVjdE90aGVyKTsKICAgICAgICAgYnJlYWs7Ci0gICAgICAgIAorICAgICAg
ICAgICAgCisgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgorI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgICAgIGZvck5vZGUobm9kZSkuc2V0KAorICAgICAgICAgICAg
bV9ncmFwaCwgbV9jb2RlQmxvY2stPmdsb2JhbE9iamVjdEZvcihub2RlLT5vcmlnaW4uc2VtYW50
aWMpLT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCkpOworI2VuZGlmCisgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgTmV3RnVuY3Rpb246CiAgICAgICAgIGZvck5vZGUobm9kZSkuc2V0KAogICAgICAg
ICAgICAgbV9ncmFwaCwgbV9jb2RlQmxvY2stPmdsb2JhbE9iamVjdEZvcihub2RlLT5vcmlnaW4u
c2VtYW50aWMpLT5mdW5jdGlvblN0cnVjdHVyZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAppbmRleCBlZjRjMjQ3NDliNzhmYTZlMDlhNGMzZDlj
MjkwMTNlYWE2NWRhYTkyLi4wZTNjODgwYjdjY2NiOWI3NTBhYTMwODk1ZjA2OTU5OGQ1MmRmZmIw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCkBA
IC0yMzEsNiArMjMxLDcgQEAgQ2FwYWJpbGl0eUxldmVsIGNhcGFiaWxpdHlMZXZlbChPcGNvZGVJ
RCBvcGNvZGVJRCwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIEluc3RydWMKICAgICBjYXNlIG9wX3N3
aXRjaF9zdHJpbmc6IC8vIERvbid0IGlubGluZSBiZWNhdXNlIHdlIGRvbid0IHdhbnQgdG8gY29w
eSBzdHJpbmcgdGFibGVzIGluIHRoZSBjb25jdXJyZW50IEpJVC4KICAgICAgICAgcmV0dXJuIENh
bkNvbXBpbGU7CiAKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDogLy8gRml4bWU6IEFy
cm93IGZ1bmN0aW9uIGNhbm4ndCBiZSBpbmxpbmUgYXMgdGhlIGNvbW1vbiBmdW5jdGlvbiBiZWNh
dXNlIGl0IGhhcyBsZXhpY2FseSBiaW5kIHRoaXMvYXJndW1lbnRzIGFuZCBldGMuIGFuZCAgYXJy
b3cgZnVuY3Rpb24gaGFzIHRvIGhhdmUgaXRzIG93biBjb21waWxlIGFuZCBpbmxpbmUgYXBwcm9h
Y2guCiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIENhbm5vdENvbXBpbGU7CiAgICAgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaAppbmRleCBkMzg1NzllMzRi
YjgwNjQzMjcxOTZlYzI1MGM2OTMxMTE0MWYxYzAzLi5lY2M3YmY4ZjI1ZGRmYWZmYTgyMmIyYjNl
NDVkYWNiOGNjMDYzMDk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0Nsb2JiZXJpemUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJp
emUuaApAQCAtODYxLDcgKzg2MSw4IEBAIHZvaWQgY2xvYmJlcml6ZShHcmFwaCYgZ3JhcGgsIE5v
ZGUqIG5vZGUsIGNvbnN0IFJlYWRGdW5jdG9yJiByZWFkLCBjb25zdCBXcml0ZUZ1CiAgICAgICAg
IHJlYWQoSGVhcE9iamVjdENvdW50KTsKICAgICAgICAgd3JpdGUoSGVhcE9iamVjdENvdW50KTsK
ICAgICAgICAgcmV0dXJuOwotICAgICAgICAKKyAgICAKKyAgICBjYXNlIE5ld0Fycm93RnVuY3Rp
b246CiAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICAgICAgaWYgKG5vZGUtPmNhc3RPcGVyYW5k
PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KCktPnNpbmdsZXRvbkZ1bmN0aW9uKCktPmlzU3RpbGxWYWxp
ZCgpKQogICAgICAgICAgICAgd3JpdGUoV2F0Y2hwb2ludF9maXJlKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHRG9lc0dDLmNwcAppbmRleCA0ODcxZjBhOTYyMzFkMTczZWQ5MDE2Mjc1MGYw
OTRjN2UxYjExNWIyLi40MWE3MjEzODljNTFjMWQ5MmNkOGVkZjE1NmU4NmY1MDI5MjRkNjlmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCkBAIC0yMjgsNiArMjI4LDcg
QEAgYm9vbCBkb2VzR0MoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlKQogICAgIGNhc2UgTmV3UmVn
ZXhwOgogICAgIGNhc2UgTmV3U3RyaW5nT2JqZWN0OgogICAgIGNhc2UgTWFrZVJvcGU6CisgICAg
Y2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgogICAgIGNhc2UgTmV3RnVuY3Rpb246CiAgICAgY2FzZSBO
ZXdUeXBlZEFycmF5OgogICAgIGNhc2UgVGhyb3dSZWZlcmVuY2VFcnJvcjoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCmluZGV4IDY1MmNiNmEyMmE5MWU4Y2I2
ZmE4MzE2YzNkOGMyOWViYmE3ZDU2YTMuLjMxNGI4ZWY4MGE5OTc0OTAzNzJkZTkxMWQwOWRkN2Rj
OWZiMTcyMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQ
aGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNw
cApAQCAtMTE4Miw2ICsxMTgyLDcgQEAgcHJpdmF0ZToKIAogICAgICAgICBjYXNlIENyZWF0ZVNj
b3BlZEFyZ3VtZW50czoKICAgICAgICAgY2FzZSBDcmVhdGVBY3RpdmF0aW9uOgorICAgICAgICBj
YXNlIE5ld0Fycm93RnVuY3Rpb246CiAgICAgICAgIGNhc2UgTmV3RnVuY3Rpb246IHsKICAgICAg
ICAgICAgIGZpeEVkZ2U8Q2VsbFVzZT4obm9kZS0+Y2hpbGQxKCkpOwogICAgICAgICAgICAgYnJl
YWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCmluZGV4IGZiNDQ1Yjc2MmYxY2I1ODRl
NDlhMzFiMzg2NmNmY2JjMzA5ODAwYmEuLjBjZDY5YTc3OTVhYmIzOWFiN2FiNmExZTc1NTU5MjZj
MWY1ZDk2OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCkBAIC0xMjY3LDYgKzEy
NjcsNyBAQCBzdHJ1Y3QgTm9kZSB7CiAgICAgICAgIGNhc2UgQ2hlY2tDZWxsOgogICAgICAgICBj
YXNlIE5hdGl2ZUNvbnN0cnVjdDoKICAgICAgICAgY2FzZSBOYXRpdmVDYWxsOgorICAgICAgICBj
YXNlIE5ld0Fycm93RnVuY3Rpb246CiAgICAgICAgIGNhc2UgTmV3RnVuY3Rpb246CiAgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgZGVmYXVsdDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHTm9kZVR5cGUuaAppbmRleCBiOWYwMjVmYjlhYjhiN2RkNTU3M2QwZDc4NGM2NWRlMzY2
MGM1ZTA5Li40NzQ4NzFlN2FmNTRmYzQ3ODczY2Q1MGVmNWRmMWY5NWIxMGJiNzA1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCkBAIC0yOTEsNiArMjkxLDggQEAgbmFt
ZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewogICAgIFwKICAgICBtYWNybyhOZXdGdW5jdGlv
biwgTm9kZVJlc3VsdEpTKSBcCiAgICAgXAorICAgIG1hY3JvKE5ld0Fycm93RnVuY3Rpb24sIE5v
ZGVSZXN1bHRKUyB8IE5vZGVNdXN0R2VuZXJhdGUpIFwKKyAgICBcCiAgICAgLyogVGhlc2UgYXJl
bid0IHRlcm1pbmFscyBidXQgYWx3YXlzIGV4aXQgKi8gXAogICAgIG1hY3JvKFRocm93LCBOb2Rl
TXVzdEdlbmVyYXRlKSBcCiAgICAgbWFjcm8oVGhyb3dSZWZlcmVuY2VFcnJvciwgTm9kZU11c3RH
ZW5lcmF0ZSkgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVk
aWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcAppbmRleCBmZGI4ZmRhNTgxZWY0YzUwYmQx
MDU1MDgyNzZhMTdhZWZiN2I2YzhjLi4zMDMyOWI1YWYyNzQ0NTY4YTkzNTE2MzNmYWQ5ZTEyMzM2
Y2MxOThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rp
b25Qcm9wYWdhdGlvblBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcApAQCAtMjE3LDYgKzIxNyw3IEBAIHByaXZh
dGU6CiAgICAgICAgIGNhc2UgR2V0R2V0dGVyOgogICAgICAgICBjYXNlIEdldFNldHRlcjoKICAg
ICAgICAgY2FzZSBHZXRDYWxsZWU6CisgICAgICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKICAg
ICAgICAgY2FzZSBOZXdGdW5jdGlvbjogewogICAgICAgICAgICAgY2hhbmdlZCB8PSBzZXRQcmVk
aWN0aW9uKFNwZWNGdW5jdGlvbik7CiAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKaW5kZXggYWE1YTcxYzE3Zjg4YjY4OGUz
ZmE1YjU3YjhkY2FiMjIzNDVkNGYxZS4uYjZjNTBiNDQ1N2MwNjliZjFkMDcxZjM5YjE3ZWJmN2I5
ZGFkMzc1YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9F
eGVjdXRlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRl
LmgKQEAgLTIyOCw2ICsyMjgsNyBAQCBib29sIHNhZmVUb0V4ZWN1dGUoQWJzdHJhY3RTdGF0ZVR5
cGUmIHN0YXRlLCBHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUpCiAgICAgY2FzZSBDcmVhdGVDbG9u
ZWRBcmd1bWVudHM6CiAgICAgY2FzZSBHZXRGcm9tQXJndW1lbnRzOgogICAgIGNhc2UgUHV0VG9B
cmd1bWVudHM6CisgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgogICAgIGNhc2UgTmV3RnVuY3Rp
b246CiAgICAgY2FzZSBKdW1wOgogICAgIGNhc2UgQnJhbmNoOgpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCmluZGV4IDlkNzJlODkzNzMyY2I3YWU5Njg4
NjY3M2VkMDVlNWVmNTVkMWQxYjEuLjU1N2M1MzE3OTE1NzBkNWY2ZWM3YjEyNjQ0ZjhkZDFlOTRh
NjRhMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklU
LmgKQEAgLTExOTksNiArMTE5OSwxMiBAQCBwdWJsaWM6CiAgICAgICAgIG1faml0LnNldHVwQXJn
dW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBUcnVzdGVkSW1tUHRyKGNlbGwpKTsKICAgICAgICAg
cmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCBy
ZXN1bHQpOwogICAgIH0KKyAgICAKKyAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9u
KEpfSklUT3BlcmF0aW9uX0VKc2NDSiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBh
cmcxLCBKU0NlbGwqIGNlbGwsIEdQUlJlZyBhcmcyKQorICAgIHsKKyAgICAgICAgbV9qaXQuc2V0
dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIFRydXN0ZWRJbW1QdHIoY2VsbCksIGFyZzIp
OworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChv
cGVyYXRpb24sIHJlc3VsdCk7CisgICAgfQogCiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9w
ZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FV3Mgb3BlcmF0aW9uLCBXYXRjaHBvaW50U2V0KiB3YXRj
aHBvaW50U2V0KQogICAgIHsKQEAgLTE2MDUsNiArMTYxMSwxMSBAQCBwdWJsaWM6CiAgICAgICAg
IG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBUcnVzdGVkSW1tUHRyKGNl
bGwpKTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1
bHQob3BlcmF0aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcpOwogICAgIH0KKyAgICBKSVRD
b21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKc2NDSiBvcGVyYXRp
b24sIEdQUlJlZyByZXN1bHRUYWcsIEdQUlJlZyByZXN1bHRQYXlsb2FkLCBHUFJSZWcgYXJnMSwg
SlNDZWxsKiBjZWxsLCBHUFJSZWcgYXJnMikKKyAgICB7CisgICAgICAgIG1faml0LnNldHVwQXJn
dW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBUcnVzdGVkSW1tUHRyKGNlbGwpLCBhcmcyKTsKKyAg
ICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0
aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcpOworICAgIH0KICAgICBKSVRDb21waWxlcjo6
Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VTc2lDSSBvcGVyYXRpb24sIEdQUlJl
ZyByZXN1bHRUYWcsIEdQUlJlZyByZXN1bHRQYXlsb2FkLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1
YkluZm8sIEdQUlJlZyBhcmcxLCBjb25zdCBTdHJpbmdJbXBsKiB1aWQpCiAgICAgewogICAgICAg
ICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihzdHViSW5m
byksIGFyZzEsIFRydXN0ZWRJbW1QdHIodWlkKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAppbmRleCBmZDlmMzUwYjE4ZGM1
ZWFhMTg2YmJiNzYxNzU3OWI1YmEwMDE3MTY1Li5mMzY5MDIyODEyMmJmNmQ0YTkwZTY2NGI2MjA5
MWMwOTZhOGZkODczIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUMzJfNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKQEAgLTQyODMsNyArNDI4MywxMSBAQCB2b2lkIFNwZWN1
bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIGNvbXBpbGVDcmVhdGVDbG9u
ZWRBcmd1bWVudHMobm9kZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KLSAgICAgICAgCisgICAg
CisgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgorICAgICAgICBERkdfQ1JBU0gobV9qaXQuZ3Jh
cGgoKSwgbm9kZSwgIkFycm93IGZ1bmN0aW9uIGNhblwndCBiZSBjb21waWxlZCBpbiBERkciKTsK
KyAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAKICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAg
ICAgICBjb21waWxlTmV3RnVuY3Rpb24obm9kZSk7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKaW5kZXggMWQw
ODU3ZjNmNWQ3YjJjMWNjMjA0NmExMGVkYWU0MDMzMzM0ODMzNS4uMGYzNTc1YjVlMjMxNTY0YWFm
M2FiYTZjOTUwNjYyZWJkMDEzYjg0ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCkBAIC00MzE3LDExICs0MzE3LDE1IEBAIHZvaWQg
U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgY29tcGlsZUNyZWF0
ZUNsb25lZEFyZ3VtZW50cyhub2RlKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgICAgICAK
KworICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKKyAgICAgICAgREZHX0NSQVNIKG1faml0Lmdy
YXBoKCksIG5vZGUsICJBcnJvdyBmdW5jdGlvbiBjYW5cJyBpbiBERkciKTsKKyAgICAgICAgYnJl
YWs7CisgICAgICAgICAgICAKICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgICAgICBjb21waWxl
TmV3RnVuY3Rpb24obm9kZSk7CiAgICAgICAgIGJyZWFrOwotICAgICAgICAKKwogICAgIGNhc2Ug
SW46CiAgICAgICAgIGNvbXBpbGVJbihub2RlKTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1N0cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNl
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RydWN0dXJlUmVnaXN0cmF0aW9u
UGhhc2UuY3BwCmluZGV4IDI4NjQ2ZDEzZmNmNGM5NjVjNjIwZDAwMjExYjBkY2JmMDNiMzdjMmQu
LjJjNDJkZjNjMDIzODNlNzFmNWVjOTU4NmEyNzhmYmIxZGIxMzA4MGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RydWN0dXJlUmVnaXN0cmF0aW9uUGhhc2UuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RydWN0dXJlUmVnaXN0cmF0aW9u
UGhhc2UuY3BwCkBAIC0xMzAsNyArMTMwLDExIEBAIHB1YmxpYzoKICAgICAgICAgICAgICAgICBj
YXNlIE5ld1JlZ2V4cDoKICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXJTdHJ1Y3R1cmUobV9n
cmFwaC5nbG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKS0+cmVnRXhwU3RydWN0
dXJlKCkpOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAg
CisgICAgICAgICAgICAgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyU3RydWN0
dXJlKG1fZ3JhcGguZ2xvYmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyktPmFycm93
RnVuY3Rpb25TdHJ1Y3R1cmUoKSk7CisjZW5kaWYKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgICAgICAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICAgICAgICAgICAgICAgICAg
cmVnaXN0ZXJTdHJ1Y3R1cmUobV9ncmFwaC5nbG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNl
bWFudGljKS0+ZnVuY3Rpb25TdHJ1Y3R1cmUoKSk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFr
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXBS
ZXBvc2l0b3J5LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFw
UmVwb3NpdG9yeS5jcHAKaW5kZXggZTQxNmZkYWFmZWUyMjI5ZjY1M2I5YWUwNjI0ODAwMDk5OTg3
NWEwMC4uM2MzODY0Y2ExODBhYTM2ZTQ4MDhjMjNhMTMwNmJlMjhlNWQ3YjkwMSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRv
cnkuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJEaXJlY3RBcmd1bWVudHMuaCIK
ICNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIK
ICNpbmNsdWRlICJKU0Vudmlyb25tZW50UmVjb3JkLmgiCiAjaW5jbHVkZSAiSlNQcm9wZXJ0eU5h
bWVFbnVtZXJhdG9yLmgiCiAjaW5jbHVkZSAiSlNTY29wZS5oIgpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaAppbmRleCA5MTI3
NTRkZmM0MDE1MmIwZWQyNDgzNmFjNzViOGY5Njk4NDM5OWJiLi5lZWIyMDhiZTFmNDZjZmM0MmI5
NDk1YTlmYTkyMWZiY2Q2ZDgyZGE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaApAQCAtODgsNiArODgsMTMgQEAgbmFt
ZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgewogICAgIG1hY3JvKFN0cnVjdHVyZV9nbG9iYWxP
YmplY3QsIFN0cnVjdHVyZTo6Z2xvYmFsT2JqZWN0T2Zmc2V0KCkpIFwKICAgICBtYWNybyhTdHJ1
Y3R1cmVfcHJvdG90eXBlLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9mZnNldCgpKSBcCiAgICAgbWFj
cm8oU3RydWN0dXJlX3N0cnVjdHVyZUlELCBTdHJ1Y3R1cmU6OnN0cnVjdHVyZUlET2Zmc2V0KCkp
CisgICAgCisjZGVmaW5lIEZPUl9FQUNIX0FCU1RSQUNUX0ZJRUxEX0FSUk9XRlVOQ1RJT04obWFj
cm8pIFwKKyAgICBtYWNybyhKU0Fycm93RnVuY3Rpb25fZXhlY3V0YWJsZSwgSlNBcnJvd0Z1bmN0
aW9uOjpvZmZzZXRPZkV4ZWN1dGFibGUoKSkgXAorICAgIG1hY3JvKEpTQXJyb3dGdW5jdGlvbl9z
Y29wZSwgSlNBcnJvd0Z1bmN0aW9uOjpvZmZzZXRPZlNjb3BlQ2hhaW4oKSkgXAorICAgIG1hY3Jv
KEpTQXJyb3dGdW5jdGlvbl9yYXJlRGF0YSwgSlNBcnJvd0Z1bmN0aW9uOjpvZmZzZXRPZlJhcmVE
YXRhKCkpIFwKKyAgICBtYWNybyhKU0Fycm93RnVuY3Rpb25fdGhpcywgSlNBcnJvd0Z1bmN0aW9u
OjpvZmZzZXRPZlRoaXNWYWx1ZSgpKQorICAgIAogCiAjZGVmaW5lIEZPUl9FQUNIX0lOREVYRURf
QUJTVFJBQ1RfSEVBUChtYWNybykgXAogICAgIG1hY3JvKERpcmVjdEFyZ3VtZW50c19zdG9yYWdl
LCBEaXJlY3RBcmd1bWVudHM6OnN0b3JhZ2VPZmZzZXQoKSwgc2l6ZW9mKEVuY29kZWRKU1ZhbHVl
KSkgXApAQCAtMTI5LDYgKzEzNiw5IEBAIHB1YmxpYzoKIAogI2RlZmluZSBBQlNUUkFDVF9GSUVM
RF9ERUNMQVJBVElPTihuYW1lLCBvZmZzZXQpIEFic3RyYWN0RmllbGQgbmFtZTsKICAgICBGT1Jf
RUFDSF9BQlNUUkFDVF9GSUVMRChBQlNUUkFDVF9GSUVMRF9ERUNMQVJBVElPTikKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEZPUl9FQUNIX0FCU1RSQUNUX0ZJRUxE
X0FSUk9XRlVOQ1RJT04oQUJTVFJBQ1RfRklFTERfREVDTEFSQVRJT04pCisjZW5kaWYKICN1bmRl
ZiBBQlNUUkFDVF9GSUVMRF9ERUNMQVJBVElPTgogICAgIAogICAgIEFic3RyYWN0RmllbGQmIEpT
Q2VsbF9mcmVlTGlzdE5leHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTENhcGFiaWxpdGllcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFi
aWxpdGllcy5jcHAKaW5kZXggNjBkY2Y3OTE5MzIzYzU3NWI0NzgwNjAxNzJiMmNkNTM3ZWRkZTY3
OC4uOGVlNzhmZWQwYTJiZGI4MTRkNWYwYTFkMGUwMmQ3Zjc4Zjk1YmNmNSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcApAQCAtMTAzLDYgKzEwMyw3
IEBAIGlubGluZSBDYXBhYmlsaXR5TGV2ZWwgY2FuQ29tcGlsZShOb2RlKiBub2RlKQogICAgIGNh
c2UgTG9vcEhpbnQ6CiAgICAgY2FzZSBTa2lwU2NvcGU6CiAgICAgY2FzZSBDcmVhdGVBY3RpdmF0
aW9uOgorICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKICAgICBjYXNlIE5ld0Z1bmN0aW9uOgog
ICAgIGNhc2UgR2V0Q2xvc3VyZVZhcjoKICAgICBjYXNlIFB1dENsb3N1cmVWYXI6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRvcnkuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSW50cmluc2ljUmVwb3NpdG9yeS5oCmluZGV4
IDA5N2I3MWNjNjQzNzYzNzZlYmJlYWMwNjc0NmZkY2MwYmJmY2U2ODguLmQ5Y2YwNDc4YTM4YmEz
NjFiMjViNDU0M2Q2NjZlZWM0NzZmYmU4NmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMSW50cmluc2ljUmVwb3NpdG9yeS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMSW50cmluc2ljUmVwb3NpdG9yeS5oCkBAIC04Myw2ICs4Myw3IEBAIG5hbWVz
cGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKICAgICBtYWNybyhKX0pJVE9wZXJhdGlvbl9FSkMs
IGZ1bmN0aW9uVHlwZShpbnQ2NCwgaW50UHRyLCBpbnQ2NCwgaW50UHRyKSkgXAogICAgIG1hY3Jv
KEpfSklUT3BlcmF0aW9uX0VKSiwgZnVuY3Rpb25UeXBlKGludDY0LCBpbnRQdHIsIGludDY0LCBp
bnQ2NCkpIFwKICAgICBtYWNybyhKX0pJVE9wZXJhdGlvbl9FSnNjQywgZnVuY3Rpb25UeXBlKGlu
dFB0ciwgaW50UHRyLCBpbnRQdHIsIGludFB0cikpIFwKKyAgICBtYWNybyhKX0pJVE9wZXJhdGlv
bl9FSnNjQ0osIGZ1bmN0aW9uVHlwZShpbnQ2NCwgaW50UHRyLCBpbnQ2NCwgaW50NjQsIGludDY0
KSlcCiAgICAgbWFjcm8oSl9KSVRPcGVyYXRpb25fRUpzc1osIGZ1bmN0aW9uVHlwZShpbnQ2NCwg
aW50UHRyLCBpbnRQdHIsIGludDMyKSkgXAogICAgIG1hY3JvKEpfSklUT3BlcmF0aW9uX0VTc2lK
SSwgZnVuY3Rpb25UeXBlKGludDY0LCBpbnRQdHIsIGludFB0ciwgaW50NjQsIGludFB0cikpIFwK
ICAgICBtYWNybyhKc3NfSklUT3BlcmF0aW9uX0VaLCBmdW5jdGlvblR5cGUoaW50UHRyLCBpbnRQ
dHIsIGludDMyKSkgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExM
b3dlckRGR1RvTExWTS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZH
VG9MTFZNLmNwcAppbmRleCBkOTAyYWU3MzQyZThiNDYzYjMzYTFlNWQ5N2RlNmUxODg2ODk5ZTQy
Li5mZDhhYzM3ODk0MDkxYjE2YzkyOTRlZjk3MzAzOTFkODlmNDFkYTA0IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcApAQCAtNDMsNiArNDMs
NyBAQAogI2luY2x1ZGUgIkZUTE91dHB1dC5oIgogI2luY2x1ZGUgIkZUTFRodW5rcy5oIgogI2lu
Y2x1ZGUgIkZUTFdlaWdodGVkVGFyZ2V0LmgiCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgi
CiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTTGV4aWNhbEVudmlyb25tZW50
LmgiCiAjaW5jbHVkZSAiT3BlcmFuZHNJbmxpbmVzLmgiCkBAIC02MDYsNiArNjA3LDExIEBAIHBy
aXZhdGU6CiAgICAgICAgIGNhc2UgQ3JlYXRlQWN0aXZhdGlvbjoKICAgICAgICAgICAgIGNvbXBp
bGVDcmVhdGVBY3RpdmF0aW9uKCk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBO
ZXdBcnJvd0Z1bmN0aW9uOgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgICAgICAgICBjb21waWxlTmV3QXJyb3dGdW5jdGlvbigpOworI2VuZGlmCisgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICAgICAgICAgIGNvbXBpbGVO
ZXdGdW5jdGlvbigpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC0yOTY3LDYgKzI5NzMsNTIgQEAg
cHJpdmF0ZToKICAgICAgICAgc2V0SlNWYWx1ZShtX291dC5waGkobV9vdXQuaW50UHRyLCBmYXN0
UmVzdWx0LCBzbG93UmVzdWx0KSk7CiAgICAgfQogICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgdm9pZCBjb21waWxlTmV3QXJyb3dGdW5jdGlvbigpCisgICAg
eworCisgICAgICAgIExWYWx1ZSBzY29wZSA9IGxvd0NlbGwobV9ub2RlLT5jaGlsZDEoKSk7Cisg
ICAgICAgIExWYWx1ZSB0aGlzVmFsdWUgPSBsb3dKU1ZhbHVlKG1fbm9kZS0+Y2hpbGQyKCkpOwor
ICAgICAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUgPSBtX25vZGUtPmNhc3RPcGVy
YW5kPEZ1bmN0aW9uRXhlY3V0YWJsZSo+KCk7CisgICAgICAgIGlmIChleGVjdXRhYmxlLT5zaW5n
bGV0b25GdW5jdGlvbigpLT5pc1N0aWxsVmFsaWQoKSkgeworICAgICAgICAgICAgTFZhbHVlIGNh
bGxSZXN1bHQgPSB2bUNhbGwoCisgICAgICAgICAgICAgICAgbV9vdXQub3BlcmF0aW9uKG9wZXJh
dGlvbk5ld0Fycm93RnVuY3Rpb24pLAorICAgICAgICAgICAgICAgIG1fY2FsbEZyYW1lLCBzY29w
ZSwgd2Vha1BvaW50ZXIoZXhlY3V0YWJsZSksIHRoaXNWYWx1ZSk7CisgICAgICAgICAgICBzZXRK
U1ZhbHVlKGNhbGxSZXN1bHQpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAg
ICAgIAorICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG1fZ3JhcGguZ2xvYmFsT2JqZWN0
Rm9yKG1fbm9kZS0+b3JpZ2luLnNlbWFudGljKS0+YXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpOwor
ICAgICAgICAKKyAgICAgICAgTEJhc2ljQmxvY2sgc2xvd1BhdGggPSBGVExfTkVXX0JMT0NLKG1f
b3V0LCAoIk5ld0Fycm93RnVuY3Rpb24gc2xvdyBwYXRoIikpOworICAgICAgICBMQmFzaWNCbG9j
ayBjb250aW51YXRpb24gPSBGVExfTkVXX0JMT0NLKG1fb3V0LCAoIk5ld0Fycm93RnVuY3Rpb24g
Y29udGludWF0aW9uIikpOworICAgICAgICAKKyAgICAgICAgTEJhc2ljQmxvY2sgbGFzdE5leHQg
PSBtX291dC5pbnNlcnROZXdCbG9ja3NCZWZvcmUoc2xvd1BhdGgpOworICAgICAgICAKKyAgICAg
ICAgTFZhbHVlIGZhc3RPYmplY3QgPSBhbGxvY2F0ZU9iamVjdDxKU0Fycm93RnVuY3Rpb24+KHN0
cnVjdHVyZSwgbV9vdXQuaW50UHRyWmVybywgc2xvd1BhdGgpOworICAgICAgICAKKyAgICAgICAg
Ly8gV2UgZG9uJ3QgbmVlZCBtZW1vcnkgYmFycmllcnMgc2luY2Ugd2UganVzdCBmYXN0LWNyZWF0
ZWQgdGhlIGZ1bmN0aW9uLCBzbyBpdAorICAgICAgICAvLyBtdXN0IGJlIHlvdW5nLgorICAgICAg
ICBtX291dC5zdG9yZVB0cihzY29wZSwgZmFzdE9iamVjdCwgbV9oZWFwcy5KU0Fycm93RnVuY3Rp
b25fc2NvcGUpOworICAgICAgICBtX291dC5zdG9yZVB0cih3ZWFrUG9pbnRlcihleGVjdXRhYmxl
KSwgZmFzdE9iamVjdCwgbV9oZWFwcy5KU0Fycm93RnVuY3Rpb25fZXhlY3V0YWJsZSk7CisgICAg
ICAgIG1fb3V0LnN0b3JlUHRyKHRoaXNWYWx1ZSwgZmFzdE9iamVjdCwgbV9oZWFwcy5KU0Fycm93
RnVuY3Rpb25fdGhpcyk7CisgICAgICAgIG1fb3V0LnN0b3JlUHRyKG1fb3V0LmludFB0clplcm8s
IGZhc3RPYmplY3QsIG1faGVhcHMuSlNBcnJvd0Z1bmN0aW9uX3JhcmVEYXRhKTsKKyAgICAgICAg
CisgICAgICAgIFZhbHVlRnJvbUJsb2NrIGZhc3RSZXN1bHQgPSBtX291dC5hbmNob3IoZmFzdE9i
amVjdCk7CisgICAgICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9uKTsKKyAgICAgICAgCisgICAg
ICAgIG1fb3V0LmFwcGVuZFRvKHNsb3dQYXRoLCBjb250aW51YXRpb24pOworICAgICAgICBMVmFs
dWUgY2FsbFJlc3VsdCA9IHZtQ2FsbCgKKyAgICAgICAgICAgIG1fb3V0Lm9wZXJhdGlvbihvcGVy
YXRpb25OZXdBcnJvd0Z1bmN0aW9uV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2lu
dCksCisgICAgICAgICAgICBtX2NhbGxGcmFtZSwgc2NvcGUsIHdlYWtQb2ludGVyKGV4ZWN1dGFi
bGUpLCB0aGlzVmFsdWUpOworICAgICAgICBWYWx1ZUZyb21CbG9jayBzbG93UmVzdWx0ID0gbV9v
dXQuYW5jaG9yKGNhbGxSZXN1bHQpOworICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7
CisgICAgICAgIAorICAgICAgICBtX291dC5hcHBlbmRUbyhjb250aW51YXRpb24sIGxhc3ROZXh0
KTsKKyAgICAgICAgc2V0SlNWYWx1ZShtX291dC5waGkobV9vdXQuaW50UHRyLCBmYXN0UmVzdWx0
LCBzbG93UmVzdWx0KSk7CisgICAgfQorI2VuZGlmCisgICAgCiAgICAgdm9pZCBjb21waWxlQ3Jl
YXRlRGlyZWN0QXJndW1lbnRzKCkKICAgICB7CiAgICAgICAgIC8vIEZJWE1FOiBBIG1vcmUgZWZm
ZWN0aXZlIHdheSBvZiBkZWFsaW5nIHdpdGggdGhlIGFyZ3VtZW50IGNvdW50IGFuZCBjYWxsZWUg
aXMgdG8gaGF2ZQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVy
L0ludGVycHJldGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRl
cnByZXRlci5jcHAKaW5kZXggMTdkZDNiNGY0NWY1NmZmMjAwMjNkNzNiNzVkYzdkNzBiNjM0OTY4
Zi4uMjAwMDVjMDcxNTMzYjE2ODNhZmRhMmQ2MmRjNjVjMDE2N2Q5MTA5NCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCkBAIC00NCw2
ICs0NCw3IEBACiAjaW5jbHVkZSAiRXhjZXB0aW9uSGVscGVycy5oIgogI2luY2x1ZGUgIkdldHRl
clNldHRlci5oIgogI2luY2x1ZGUgIkpTQXJyYXkuaCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rp
b24uaCIKICNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVz
LmgiCiAjaW5jbHVkZSAiSlNMZXhpY2FsRW52aXJvbm1lbnQuaCIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxwZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0NDYWxsSGVscGVycy5oCmluZGV4IGZkMzQ0YWRiY2FiYjE1ZmJkODE0ZWQ2ZmJkNDc4
Zjc0YjYxNTc2M2MuLjA3YWNkNmQ1MzJkMzI4YWZkYjc3YWNmMjAxMzM5MGVmMzlkZDlkNjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxwZXJzLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhlbHBlcnMuaApAQCAtMjc0LDYgKzI3NCwx
NSBAQCBwdWJsaWM6CiAgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmcyKTsKICAgICAgICAgYWRk
Q2FsbEFyZ3VtZW50KGFyZzMpOwogICAgIH0KKyAgICAKKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQg
c2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKEdQUlJlZyBhcmcxLCBUcnVzdGVkSW1tUHRyIGFy
ZzIsIEdQUlJlZyBhcmczKQorICAgIHsKKyAgICAgICAgcmVzZXRDYWxsQXJndW1lbnRzKCk7Cisg
ICAgICAgIGFkZENhbGxBcmd1bWVudChHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rlcik7CisgICAg
ICAgIGFkZENhbGxBcmd1bWVudChhcmcxKTsKKyAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzIp
OworICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMyk7CisgICAgfQogCiAgICAgQUxXQVlTX0lO
TElORSB2b2lkIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShHUFJSZWcgYXJnMSwgR1BSUmVn
IGFyZzIsIFRydXN0ZWRJbW0zMiBhcmczKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklULmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNw
cAppbmRleCBiNDExM2M0NWU3MmM3ZTE1OGVjMWYxOTIzY2JmZTI5YzVlZjU0MjgyLi44YTFiYWM4
N2ZkMTBiOTg3ZjY0ZmQwYzIxMTMyMTBjYTY3MDVlZGIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVQuY3BwCkBAIC0yNjAsNiArMjYwLDcgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlTWFpblBh
c3MoKQogICAgICAgICBERUZJTkVfT1Aob3BfbmV3X2FycmF5X2J1ZmZlcikKICAgICAgICAgREVG
SU5FX09QKG9wX25ld19mdW5jKQogICAgICAgICBERUZJTkVfT1Aob3BfbmV3X2Z1bmNfZXhwKQor
ICAgICAgICBERUZJTkVfT1Aob3BfbmV3X2Fycm93X2Z1bmNfZXhwKSAKICAgICAgICAgREVGSU5F
X09QKG9wX25ld19vYmplY3QpCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfcmVnZXhwKQogICAg
ICAgICBERUZJTkVfT1Aob3Bfbm90KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKaW5kZXggZDcyMjVl
YTRiMmFlNTQzMTg3ODQ0YzIwNzZlYzZlYjhkNjVkMjFjOS4uZGFhNTIwOTQ4ODU3OTE2MGJiZDlj
NDdkMDdiNGEwNDU5ZmI4YjAxMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCkBAIC01MjEsNiAr
NTIxLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfYXJyYXlf
YnVmZmVyKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfZnVuYyhJbnN0
cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2Z1bmNfZXhwKEluc3RydWN0aW9u
Kik7CisgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfYXJyb3dfZnVuY19leHAoSW5zdHJ1Y3Rpb24q
KTsKICAgICAgICAgdm9pZCBlbWl0X29wX25ld19vYmplY3QoSW5zdHJ1Y3Rpb24qKTsKICAgICAg
ICAgdm9pZCBlbWl0X29wX25ld19yZWdleHAoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBl
bWl0X29wX25vdChJbnN0cnVjdGlvbiopOwpAQCAtNzAyLDYgKzcwMyw3IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3Bl
cmF0aW9uX0VKSiwgaW50LCBHUFJSZWcsIEdQUlJlZyk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVy
OjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUpzYywgR1BSUmVnKTsKICAgICAg
ICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNj
QywgaW50LCBHUFJSZWcsIEpTQ2VsbCopOworICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBj
YWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKc2NDSiwgaW50LCBHUFJSZWcsIEpTQ2VsbCos
IEdQUlJlZyk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19K
SVRPcGVyYXRpb25fRUpzY1osIEdQUlJlZywgaW50MzJfdCk7CiAgICAgICAgIE1hY3JvQXNzZW1i
bGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUpzY1osIGludCwgR1BSUmVn
LCBpbnQzMl90KTsKICNpZiBVU0UoSlNWQUxVRTY0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VElubGluZXMuaAppbmRleCA5ZWUyNGQwOTIyOGE5ODgyZWE3Njk2MjlkMWE4N2I2YzM0YTg2MzM0
Li5hMGU0MGM1YzYxZmU2M2U5ODYzZWQyMjNlZGY1ZDQ1MWYzMThhNzc0IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVElubGluZXMuaApAQCAtMjcxLDYgKzI3MSwxMiBAQCBBTFdBWVNfSU5M
SU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlv
bl9FSnNjQyBvcGVyYQogICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0
SlNWYWx1ZVJlc3VsdChvcGVyYXRpb24sIGRzdCk7CiB9CiAKK0FMV0FZU19JTkxJTkUgTWFjcm9B
c3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKc2NDSiBv
cGVyYXRpb24sIGludCBkc3QsIEdQUlJlZyBhcmcxLCBKU0NlbGwqIGNlbGwsIEdQUlJlZyBhcmcy
KQoreworICAgIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBUcnVzdGVkSW1tUHRy
KGNlbGwpLCBhcmcyKTsKKyAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1Nl
dEpTVmFsdWVSZXN1bHQob3BlcmF0aW9uLCBkc3QpOworfQorICAgIAogQUxXQVlTX0lOTElORSBN
YWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRVAg
b3BlcmF0aW9uLCBpbnQgZHN0LCB2b2lkKiBwb2ludGVyKQogewogICAgIHNldHVwQXJndW1lbnRz
V2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHBvaW50ZXIpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVE9wY29kZXMuY3BwCmluZGV4IDVkNGQwYjlmZTg3NjhhYzJmZTU5NjU3NWVkNGFh
ODEyMjBkYWQ2YzcuLmRjZTM3MTI1YzRlZmIwNTRhODA2MTU0ZTBhZDIzYWRmZjllYTRiN2MgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcApAQCAtOTg3LDYgKzk4Nywy
OSBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9uZXdfZnVuY19leHAoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJ
bnN0cnVjdGlvbikKICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbk5ld0Z1bmN0aW9uLCBkc3Qs
IHJlZ1QwLCBmdW5jRXhwcik7CiAgICAgZG9uZS5saW5rKHRoaXMpOwogfQorICAgIAordm9pZCBK
SVQ6OmVtaXRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1
Y3Rpb24pCit7CisgICAgSnVtcCBub3RVbmRlZmluZWRTY29wZTsKKyAgICBpbnQgZHN0ID0gY3Vy
cmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZDsKKyNpZiBVU0UoSlNWQUxVRTY0KQorICAgIGVt
aXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCwgcmVn
VDApOworICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzRdLnUu
b3BlcmFuZCwgcmVnVDEpOworICAgIG5vdFVuZGVmaW5lZFNjb3BlID0gYnJhbmNoNjQoTm90RXF1
YWwsIHJlZ1QwLCBUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpKSk7
CisgICAgc3RvcmU2NChUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkp
KSwgQWRkcmVzcyhjYWxsRnJhbWVSZWdpc3Rlciwgc2l6ZW9mKFJlZ2lzdGVyKSAqIGRzdCkpOwor
I2Vsc2UKKyAgICBlbWl0TG9hZFBheWxvYWQoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFu
ZCwgcmVnVDApOworICAgIGVtaXRMb2FkUGF5bG9hZChjdXJyZW50SW5zdHJ1Y3Rpb25bNF0udS5v
cGVyYW5kLCByZWdUMSk7CisgICAgbm90VW5kZWZpbmVkU2NvcGUgPSBicmFuY2gzMihOb3RFcXVh
bCwgdGFnRm9yKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpLCBUcnVzdGVkSW1tMzIo
SlNWYWx1ZTo6VW5kZWZpbmVkVGFnKSk7CisgICAgZW1pdFN0b3JlKGRzdCwganNVbmRlZmluZWQo
KSk7CisjZW5kaWYKKyAgICBKdW1wIGRvbmUgPSBqdW1wKCk7CisgICAgbm90VW5kZWZpbmVkU2Nv
cGUubGluayh0aGlzKTsKKyAgICAKKyAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmN0aW9uID0g
bV9jb2RlQmxvY2stPmZ1bmN0aW9uRXhwcihjdXJyZW50SW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5k
KTsKKyAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24sIGRzdCwgcmVn
VDAsIGZ1bmN0aW9uLCByZWdUMSk7CisgICAgZG9uZS5saW5rKHRoaXMpOworfQogCiB2b2lkIEpJ
VDo6ZW1pdF9vcF9uZXdfYXJyYXkoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCmluZGV4IDk4ZDg3
NzNmMzhkOTVmMmI4ZTU4Y2RiZDc4MzYwMjk4MTU0MDA3MTMuLjk2N2NhOGVhZjc1YjEwZGU4MDEw
ZjIxNGQ0ZWM2NzcyNDdmZTQyYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRP
cGVyYXRpb25zLmNwcApAQCAtMjAsNyArMjAsNyBAQAogICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQogICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCiAj
aW5jbHVkZSAiY29uZmlnLmgiCkBAIC00Miw2ICs0Miw4IEBACiAjaW5jbHVkZSAiSG9zdENhbGxS
ZXR1cm5WYWx1ZS5oIgogI2luY2x1ZGUgIkpJVC5oIgogI2luY2x1ZGUgIkpJVFRvREZHRGVmZXJy
ZWRDb21waWxhdGlvbkNhbGxiYWNrLmgiCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCisj
aW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2lu
Y2x1ZGUgIkpTQ2F0Y2hTY29wZS5oIgogI2luY2x1ZGUgIkpTRnVuY3Rpb25OYW1lU2NvcGUuaCIK
QEAgLTY3LDcgKzY5LDcgQEAgdm9pZCBwdXNoTmFtZVNjb3BlKEV4ZWNTdGF0ZSogZXhlYywgaW50
MzJfdCBkc3QsIFN5bWJvbFRhYmxlKiBzeW1ib2xUYWJsZSwgRW5jb2QKIHsKICAgICBWTSYgdm0g
PSBleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVj
KTsKLSAgICAKKwogICAgIEFTU0VSVCghSklUQ29kZTo6aXNPcHRpbWl6aW5nSklUKGV4ZWMtPmNv
ZGVCbG9jaygpLT5qaXRUeXBlKCkpKTsKIAogICAgIC8vIEZJWE1FOiBUaGlzIHdvbid0IHdvcmsg
aWYgdGhpcyBvcGVyYXRpb24gaXMgY2FsbGVkIGZyb20gdGhlIERGRyBvciBGVEwuCkBAIC0xNTEs
NyArMTUzLDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlk
KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8KIHsKICAgICBWTSogdm0gPSAmZXhl
Yy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAg
ICAKKwogICAgIEpTVmFsdWUgYmFzZVZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGJhc2UpOwogICAg
IFByb3BlcnR5U2xvdCBzbG90KGJhc2VWYWx1ZSk7CiAgICAgSWRlbnRpZmllciBpZGVudCA9IElk
ZW50aWZpZXI6OmZyb21VaWQodm0sIHVpZCk7CkBAIC0xNjksNyArMTcxLDcgQEAgRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlkQnVpbGRMaXN0KEV4ZWNTdGF0ZSog
ZXhlYywgU3RydWN0dXIKICAgICBKU1ZhbHVlIGJhc2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShi
YXNlKTsKICAgICBQcm9wZXJ0eVNsb3Qgc2xvdChiYXNlVmFsdWUpOwogICAgIGJvb2wgaGFzUmVz
dWx0ID0gYmFzZVZhbHVlLmdldFByb3BlcnR5U2xvdChleGVjLCBpZGVudCwgc2xvdCk7Ci0gICAg
CisKICAgICBpZiAoYWNjZXNzVHlwZSA9PSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5m
by0+YWNjZXNzVHlwZSkpCiAgICAgICAgIGJ1aWxkR2V0QnlJRExpc3QoZXhlYywgYmFzZVZhbHVl
LCBpZGVudCwgc2xvdCwgKnN0dWJJbmZvKTsKIApAQCAtMTg0LDEzICsxODYsMTMgQEAgRW5jb2Rl
ZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlkT3B0aW1pemUoRXhlY1N0YXRl
KiBleGVjLCBTdHJ1Y3R1cmUKIAogICAgIEpTVmFsdWUgYmFzZVZhbHVlID0gSlNWYWx1ZTo6ZGVj
b2RlKGJhc2UpOwogICAgIFByb3BlcnR5U2xvdCBzbG90KGJhc2VWYWx1ZSk7Ci0gICAgCisKICAg
ICBib29sIGhhc1Jlc3VsdCA9IGJhc2VWYWx1ZS5nZXRQcm9wZXJ0eVNsb3QoZXhlYywgaWRlbnQs
IHNsb3QpOwogICAgIGlmIChzdHViSW5mby0+c2VlbikKICAgICAgICAgcmVwYXRjaEdldEJ5SUQo
ZXhlYywgYmFzZVZhbHVlLCBpZGVudCwgc2xvdCwgKnN0dWJJbmZvKTsKICAgICBlbHNlCiAgICAg
ICAgIHN0dWJJbmZvLT5zZWVuID0gdHJ1ZTsKLSAgICAKKwogICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoaGFzUmVzdWx0PyBzbG90LmdldFZhbHVlKGV4ZWMsIGlkZW50KSA6IGpzVW5kZWZpbmVk
KCkpOwogCiB9CkBAIC0xOTksMjUgKzIwMSwyNSBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkluT3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSQog
ewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0
cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAgaWYgKCFiYXNlLT5pc09iamVjdCgpKSB7CiAg
ICAgICAgIHZtLT50aHJvd0V4Y2VwdGlvbihleGVjLCBjcmVhdGVJbnZhbGlkSW5QYXJhbWV0ZXJF
cnJvcihleGVjLCBiYXNlKSk7CiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRl
ZmluZWQoKSk7CiAgICAgfQotICAgIAorCiAgICAgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlID0gc3Rh
dGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpOwogCiAgICAgSWRlbnRp
ZmllciBpZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIGtleSk7CiAgICAgUHJvcGVydHlT
bG90IHNsb3QoYmFzZSk7CiAgICAgYm9vbCByZXN1bHQgPSBhc09iamVjdChiYXNlKS0+Z2V0UHJv
cGVydHlTbG90KGV4ZWMsIGlkZW50LCBzbG90KTsKLSAgICAKKwogICAgIFJFTEVBU0VfQVNTRVJU
KGFjY2Vzc1R5cGUgPT0gc3R1YkluZm8tPmFjY2Vzc1R5cGUpOwotICAgIAorCiAgICAgaWYgKHN0
dWJJbmZvLT5zZWVuKQogICAgICAgICByZXBhdGNoSW4oZXhlYywgYmFzZSwgaWRlbnQsIHJlc3Vs
dCwgc2xvdCwgKnN0dWJJbmZvKTsKICAgICBlbHNlCiAgICAgICAgIHN0dWJJbmZvLT5zZWVuID0g
dHJ1ZTsKLSAgICAKKwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKHJlc3Vs
dCkpOwogfQogCkBAIC0yNDcsNyArMjQ5LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
blB1dEJ5SWRTdHJpY3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyosIEUKIHsK
ICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJh
Y2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVy
Ojpmcm9tVWlkKHZtLCB1aWQpOwogICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KEpTVmFsdWU6OmRl
Y29kZShlbmNvZGVkQmFzZSksIHRydWUsIGV4ZWMtPmNvZGVCbG9jaygpLT5wdXRCeUlkQ29udGV4
dCgpKTsKICAgICBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpLnB1dChleGVjLCBpZGVudCwg
SlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSksIHNsb3QpOwpAQCAtMjU3LDcgKzI1OSw3IEBA
IHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0KEV4ZWNTdGF0ZSog
ZXhlYywgU3RydWN0dXJlU3R1YkluZm8qCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAg
ICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJ
ZGVudGlmaWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBQdXRQ
cm9wZXJ0eVNsb3Qgc2xvdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpLCBmYWxzZSwgZXhl
Yy0+Y29kZUJsb2NrKCktPnB1dEJ5SWRDb250ZXh0KCkpOwogICAgIEpTVmFsdWU6OmRlY29kZShl
bmNvZGVkQmFzZSkucHV0KGV4ZWMsIGlkZW50LCBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVl
KSwgc2xvdCk7CkBAIC0yNjcsNyArMjY5LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
blB1dEJ5SWREaXJlY3RTdHJpY3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW4KIHsK
ICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJh
Y2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVy
Ojpmcm9tVWlkKHZtLCB1aWQpOwogICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KEpTVmFsdWU6OmRl
Y29kZShlbmNvZGVkQmFzZSksIHRydWUsIGV4ZWMtPmNvZGVCbG9jaygpLT5wdXRCeUlkQ29udGV4
dCgpKTsKICAgICBhc09iamVjdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpKS0+cHV0RGly
ZWN0KGV4ZWMtPnZtKCksIGlkZW50LCBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKSwgc2xv
dCk7CkBAIC0yNzcsNyArMjc5LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5
SWREaXJlY3ROb25TdHJpY3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHUKIHsKICAgICBW
TSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZt
LCBleGVjKTsKLSAgICAKKwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVyOjpmcm9t
VWlkKHZtLCB1aWQpOwogICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KEpTVmFsdWU6OmRlY29kZShl
bmNvZGVkQmFzZSksIGZhbHNlLCBleGVjLT5jb2RlQmxvY2soKS0+cHV0QnlJZENvbnRleHQoKSk7
CiAgICAgYXNPYmplY3QoSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKSktPnB1dERpcmVjdChl
eGVjLT52bSgpLCBpZGVudCwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSksIHNsb3QpOwpA
QCAtMjg3LDcgKzI4OSw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3Ry
aWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViCiB7CiAgICAgVk0qIHZt
ID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhl
Yyk7Ci0gICAgCisKICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2
bSwgdWlkKTsKICAgICBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUgPSBzdGF0aWNfY2FzdDxBY2Nlc3NU
eXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSk7CiAKQEAgLTI5NywxMCArMjk5LDEwIEBAIHZvaWQg
SklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBl
eGVjLCBTdHJ1Y3R1cmVTdHViCiAKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2VWYWx1
ZS5pc0NlbGwoKSA/IGJhc2VWYWx1ZS5hc0NlbGwoKS0+c3RydWN0dXJlKCp2bSkgOiBudWxscHRy
OwogICAgIGJhc2VWYWx1ZS5wdXQoZXhlYywgaWRlbnQsIHZhbHVlLCBzbG90KTsKLSAgICAKKwog
ICAgIGlmIChhY2Nlc3NUeXBlICE9IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5h
Y2Nlc3NUeXBlKSkKICAgICAgICAgcmV0dXJuOwotICAgIAorCiAgICAgaWYgKHN0dWJJbmZvLT5z
ZWVuKQogICAgICAgICByZXBhdGNoUHV0QnlJRChleGVjLCBiYXNlVmFsdWUsIHN0cnVjdHVyZSwg
aWRlbnQsIHNsb3QsICpzdHViSW5mbywgTm90RGlyZWN0KTsKICAgICBlbHNlCkBAIC0zMTEsNyAr
MzEzLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3RPcHRp
bWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVMKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+
dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAK
KwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCB1aWQpOwog
ICAgIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSA9IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJ
bmZvLT5hY2Nlc3NUeXBlKTsKIApAQCAtMzE5LDEyICszMjEsMTIgQEAgdm9pZCBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0
cnVjdHVyZVMKICAgICBKU1ZhbHVlIGJhc2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVk
QmFzZSk7CiAgICAgUHV0UHJvcGVydHlTbG90IHNsb3QoYmFzZVZhbHVlLCBmYWxzZSwgZXhlYy0+
Y29kZUJsb2NrKCktPnB1dEJ5SWRDb250ZXh0KCkpOwogCi0gICAgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgPSBiYXNlVmFsdWUuaXNDZWxsKCkgPyBiYXNlVmFsdWUuYXNDZWxsKCktPnN0cnVjdHVyZSgq
dm0pIDogbnVsbHB0cjsgICAgCisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlVmFsdWUu
aXNDZWxsKCkgPyBiYXNlVmFsdWUuYXNDZWxsKCktPnN0cnVjdHVyZSgqdm0pIDogbnVsbHB0cjsK
ICAgICBiYXNlVmFsdWUucHV0KGV4ZWMsIGlkZW50LCB2YWx1ZSwgc2xvdCk7Ci0gICAgCisKICAg
ICBpZiAoYWNjZXNzVHlwZSAhPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNj
ZXNzVHlwZSkpCiAgICAgICAgIHJldHVybjsKLSAgICAKKwogICAgIGlmIChzdHViSW5mby0+c2Vl
bikKICAgICAgICAgcmVwYXRjaFB1dEJ5SUQoZXhlYywgYmFzZVZhbHVlLCBzdHJ1Y3R1cmUsIGlk
ZW50LCBzbG90LCAqc3R1YkluZm8sIE5vdERpcmVjdCk7CiAgICAgZWxzZQpAQCAtMzM1LDIwICsz
MzcsMjAgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJpY3RP
cHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHUKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+
dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAK
KwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCB1aWQpOwog
ICAgIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSA9IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJ
bmZvLT5hY2Nlc3NUeXBlKTsKIAogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUo
ZW5jb2RlZFZhbHVlKTsKICAgICBKU09iamVjdCogYmFzZU9iamVjdCA9IGFzT2JqZWN0KEpTVmFs
dWU6OmRlY29kZShlbmNvZGVkQmFzZSkpOwogICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KGJhc2VP
YmplY3QsIHRydWUsIGV4ZWMtPmNvZGVCbG9jaygpLT5wdXRCeUlkQ29udGV4dCgpKTsKLSAgICAK
KwogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZU9iamVjdC0+c3RydWN0dXJlKCp2bSk7
CiAgICAgYmFzZU9iamVjdC0+cHV0RGlyZWN0KGV4ZWMtPnZtKCksIGlkZW50LCB2YWx1ZSwgc2xv
dCk7Ci0gICAgCisKICAgICBpZiAoYWNjZXNzVHlwZSAhPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBl
PihzdHViSW5mby0+YWNjZXNzVHlwZSkpCiAgICAgICAgIHJldHVybjsKLSAgICAKKwogICAgIGlm
IChzdHViSW5mby0+c2VlbikKICAgICAgICAgcmVwYXRjaFB1dEJ5SUQoZXhlYywgYmFzZU9iamVj
dCwgc3RydWN0dXJlLCBpZGVudCwgc2xvdCwgKnN0dWJJbmZvLCBEaXJlY3QpOwogICAgIGVsc2UK
QEAgLTM1OSwyMCArMzYxLDIwIEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlk
RGlyZWN0Tm9uU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1CiB7CiAgICAgVk0q
IHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwg
ZXhlYyk7Ci0gICAgCisKICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVp
ZCh2bSwgdWlkKTsKICAgICBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUgPSBzdGF0aWNfY2FzdDxBY2Nl
c3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSk7CiAKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNW
YWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CiAgICAgSlNPYmplY3QqIGJhc2VPYmplY3QgPSBh
c09iamVjdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpKTsKICAgICBQdXRQcm9wZXJ0eVNs
b3Qgc2xvdChiYXNlT2JqZWN0LCBmYWxzZSwgZXhlYy0+Y29kZUJsb2NrKCktPnB1dEJ5SWRDb250
ZXh0KCkpOwotICAgIAorCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlT2JqZWN0LT5z
dHJ1Y3R1cmUoKnZtKTsKICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3QoZXhlYy0+dm0oKSwgaWRl
bnQsIHZhbHVlLCBzbG90KTsKLSAgICAKKwogICAgIGlmIChhY2Nlc3NUeXBlICE9IHN0YXRpY19j
YXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKSkKICAgICAgICAgcmV0dXJuOwot
ICAgIAorCiAgICAgaWYgKHN0dWJJbmZvLT5zZWVuKQogICAgICAgICByZXBhdGNoUHV0QnlJRChl
eGVjLCBiYXNlT2JqZWN0LCBzdHJ1Y3R1cmUsIGlkZW50LCBzbG90LCAqc3R1YkluZm8sIERpcmVj
dCk7CiAgICAgZWxzZQpAQCAtMzgzLDE1ICszODUsMTUgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvblB1dEJ5SWRTdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVT
dHUKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFj
ZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVu
dGlmaWVyOjpmcm9tVWlkKHZtLCB1aWQpOwogICAgIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSA9IHN0
YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKTsKIAogICAgIEpTVmFs
dWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKICAgICBKU1ZhbHVlIGJh
c2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSk7CiAgICAgUHV0UHJvcGVydHlT
bG90IHNsb3QoYmFzZVZhbHVlLCB0cnVlLCBleGVjLT5jb2RlQmxvY2soKS0+cHV0QnlJZENvbnRl
eHQoKSk7Ci0gICAgCi0gICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlVmFsdWUuaXNDZWxs
KCkgPyBiYXNlVmFsdWUuYXNDZWxsKCktPnN0cnVjdHVyZSgqdm0pIDogbnVsbHB0cjsgCisKKyAg
ICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2VWYWx1ZS5pc0NlbGwoKSA/IGJhc2VWYWx1ZS5h
c0NlbGwoKS0+c3RydWN0dXJlKCp2bSkgOiBudWxscHRyOwogICAgIGJhc2VWYWx1ZS5wdXQoZXhl
YywgaWRlbnQsIHZhbHVlLCBzbG90KTsKIAogICAgIGlmIChhY2Nlc3NUeXBlICE9IHN0YXRpY19j
YXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKSkKQEAgLTQwNCw3ICs0MDYsNyBA
QCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdEJ1aWxkTGlzdChF
eGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwog
ICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAg
SWRlbnRpZmllciBpZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIHVpZCk7CiAgICAgQWNj
ZXNzVHlwZSBhY2Nlc3NUeXBlID0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFj
Y2Vzc1R5cGUpOwogCkBAIC00MTQsMTAgKzQxNiwxMCBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uUHV0QnlJZE5vblN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVy
ZQogCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlVmFsdWUuaXNDZWxsKCkgPyBiYXNl
VmFsdWUuYXNDZWxsKCktPnN0cnVjdHVyZSgqdm0pIDogbnVsbHB0cjsKICAgICBiYXNlVmFsdWUu
cHV0KGV4ZWMsIGlkZW50LCB2YWx1ZSwgc2xvdCk7Ci0gICAgCisKICAgICBpZiAoYWNjZXNzVHlw
ZSAhPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSkpCiAgICAg
ICAgIHJldHVybjsKLSAgICAKKwogICAgIGJ1aWxkUHV0QnlJZExpc3QoZXhlYywgYmFzZVZhbHVl
LCBzdHJ1Y3R1cmUsIGlkZW50LCBzbG90LCAqc3R1YkluZm8sIE5vdERpcmVjdCk7CiB9CiAKQEAg
LTQyNSwyMCArNDI3LDIwIEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGly
ZWN0U3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0CiB7CiAgICAgVk0qIHZt
ID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhl
Yyk7Ci0gICAgCisKICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2
bSwgdWlkKTsKICAgICBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUgPSBzdGF0aWNfY2FzdDxBY2Nlc3NU
eXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSk7Ci0gICAgCisKICAgICBKU1ZhbHVlIHZhbHVlID0g
SlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CiAgICAgSlNPYmplY3QqIGJhc2VPYmplY3Qg
PSBhc09iamVjdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpKTsKICAgICBQdXRQcm9wZXJ0
eVNsb3Qgc2xvdChiYXNlT2JqZWN0LCB0cnVlLCBleGVjLT5jb2RlQmxvY2soKS0+cHV0QnlJZENv
bnRleHQoKSk7CiAKLSAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2VPYmplY3QtPnN0cnVj
dHVyZSgqdm0pOyAgICAKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2VPYmplY3QtPnN0
cnVjdHVyZSgqdm0pOwogICAgIGJhc2VPYmplY3QtPnB1dERpcmVjdCgqdm0sIGlkZW50LCB2YWx1
ZSwgc2xvdCk7Ci0gICAgCisKICAgICBpZiAoYWNjZXNzVHlwZSAhPSBzdGF0aWNfY2FzdDxBY2Nl
c3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSkpCiAgICAgICAgIHJldHVybjsKLSAgICAKKwog
ICAgIGJ1aWxkUHV0QnlJZExpc3QoZXhlYywgYmFzZU9iamVjdCwgc3RydWN0dXJlLCBpZGVudCwg
c2xvdCwgKnN0dWJJbmZvLCBEaXJlY3QpOwogfQogCkBAIC00NDYsNyArNDQ4LDcgQEAgdm9pZCBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3RCdWlsZExpc3QoRXhl
Y1N0YXRlKiBleGVjLCBTdHIKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRp
dmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAgIElkZW50aWZp
ZXIgaWRlbnQgPSBJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCB1aWQpOwogICAgIEFjY2Vzc1R5cGUg
YWNjZXNzVHlwZSA9IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBl
KTsKIApAQCAtNDU0LDEyICs0NTYsMTIgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1
dEJ5SWREaXJlY3ROb25TdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHIKICAgICBK
U09iamVjdCogYmFzZU9iamVjdCA9IGFzT2JqZWN0KEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFz
ZSkpOwogICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KGJhc2VPYmplY3QsIGZhbHNlLCBleGVjLT5j
b2RlQmxvY2soKS0+cHV0QnlJZENvbnRleHQoKSk7CiAKLSAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSA9IGJhc2VPYmplY3QtPnN0cnVjdHVyZSgqdm0pOyAgICAKKyAgICBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSA9IGJhc2VPYmplY3QtPnN0cnVjdHVyZSgqdm0pOwogICAgIGJhc2VPYmplY3QtPnB1dERp
cmVjdCgqdm0sIGlkZW50LCB2YWx1ZSwgc2xvdCk7CiAKICAgICBpZiAoYWNjZXNzVHlwZSAhPSBz
dGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSkpCiAgICAgICAgIHJl
dHVybjsKLSAgICAKKwogICAgIGJ1aWxkUHV0QnlJZExpc3QoZXhlYywgYmFzZU9iamVjdCwgc3Ry
dWN0dXJlLCBpZGVudCwgc2xvdCwgKnN0dWJJbmZvLCBEaXJlY3QpOwogfQogCkBAIC01NzYsNyAr
NTc4LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkRpcmVjdFB1dEJ5VmFsKEV4ZWNT
dGF0ZSogY2FsbEZyYW1lLCBFbmNvZGVkSlNWYWx1ZQogewogICAgIFZNJiB2bSA9IGNhbGxGcmFt
ZS0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgY2FsbEZyYW1l
KTsKLSAgICAKKwogICAgIEpTVmFsdWUgYmFzZVZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29k
ZWRCYXNlVmFsdWUpOwogICAgIEpTVmFsdWUgc3Vic2NyaXB0ID0gSlNWYWx1ZTo6ZGVjb2RlKGVu
Y29kZWRTdWJzY3JpcHQpOwogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5j
b2RlZFZhbHVlKTsKQEAgLTU4NSwxMiArNTg3LDEyIEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVy
YXRpb25EaXJlY3RQdXRCeVZhbChFeGVjU3RhdGUqIGNhbGxGcmFtZSwgRW5jb2RlZEpTVmFsdWUK
ICAgICBpZiAoc3Vic2NyaXB0LmlzSW50MzIoKSkgewogICAgICAgICAvLyBTZWUgaWYgaXQncyB3
b3J0aCBvcHRpbWl6aW5nIGF0IGFsbC4KICAgICAgICAgYm9vbCBkaWRPcHRpbWl6ZSA9IGZhbHNl
OwotICAgICAgICAKKwogICAgICAgICB1bnNpZ25lZCBieXRlY29kZU9mZnNldCA9IGNhbGxGcmFt
ZS0+bG9jYXRpb25Bc0J5dGVjb2RlT2Zmc2V0KCk7CiAgICAgICAgIEFTU0VSVChieXRlY29kZU9m
ZnNldCk7CiAgICAgICAgIEJ5VmFsSW5mbyYgYnlWYWxJbmZvID0gY2FsbEZyYW1lLT5jb2RlQmxv
Y2soKS0+Z2V0QnlWYWxJbmZvKGJ5dGVjb2RlT2Zmc2V0IC0gMSk7CiAgICAgICAgIEFTU0VSVCgh
YnlWYWxJbmZvLnN0dWJSb3V0aW5lKTsKLSAgICAgICAgCisKICAgICAgICAgaWYgKGhhc09wdGlt
aXphYmxlSW5kZXhpbmcob2JqZWN0LT5zdHJ1Y3R1cmUodm0pKSkgewogICAgICAgICAgICAgLy8g
QXR0ZW1wdCB0byBvcHRpbWl6ZS4KICAgICAgICAgICAgIEpJVEFycmF5TW9kZSBhcnJheU1vZGUg
PSBqaXRBcnJheU1vZGVGb3JTdHJ1Y3R1cmUob2JqZWN0LT5zdHJ1Y3R1cmUodm0pKTsKQEAgLTU5
OSw3ICs2MDEsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uRGlyZWN0UHV0QnlWYWwo
RXhlY1N0YXRlKiBjYWxsRnJhbWUsIEVuY29kZWRKU1ZhbHVlCiAgICAgICAgICAgICAgICAgZGlk
T3B0aW1pemUgPSB0cnVlOwogICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgICAgIAorCiAg
ICAgICAgIGlmICghZGlkT3B0aW1pemUpIHsKICAgICAgICAgICAgIC8vIElmIHdlIHRha2Ugc2xv
dyBwYXRoIG1vcmUgdGhhbiAxMCB0aW1lcyB3aXRob3V0IHBhdGNoaW5nIHRoZW4gbWFrZSBzdXJl
IHdlCiAgICAgICAgICAgICAvLyBuZXZlciBtYWtlIHRoYXQgbWlzdGFrZSBhZ2Fpbi4gT3IsIGlm
IHdlIGZhaWxlZCB0byBwYXRjaCBhbmQgd2UgaGF2ZSBzb21lIG9iamVjdApAQCAtNjIwLDcgKzYy
Miw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeVZhbEdlbmVyaWMoRXhlY1N0
YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0o
KTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7Ci0gICAgCisK
ICAgICBKU1ZhbHVlIGJhc2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZVZhbHVl
KTsKICAgICBKU1ZhbHVlIHN1YnNjcmlwdCA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkU3Vic2Ny
aXB0KTsKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7
CkBAIC02MzMsNyArNjM1LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkRpcmVjdFB1
dEJ5VmFsR2VuZXJpYyhFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHUKIHsKICAgICBWTSYg
dm0gPSBleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBl
eGVjKTsKLSAgICAKKwogICAgIEpTVmFsdWUgYmFzZVZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVu
Y29kZWRCYXNlVmFsdWUpOwogICAgIEpTVmFsdWUgc3Vic2NyaXB0ID0gSlNWYWx1ZTo6ZGVjb2Rl
KGVuY29kZWRTdWJzY3JpcHQpOwogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUo
ZW5jb2RlZFZhbHVlKTsKQEAgLTY1Nyw3ICs2NTksNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvbkNhbGxFdmFsKEV4ZWNTdGF0ZSogZXhlYywgRXhlY1N0YXRlKiBleGVj
QwogICAgIEpTVmFsdWUgcmVzdWx0ID0gZXZhbChleGVjQ2FsbGVlKTsKICAgICBpZiAodm0tPmV4
Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4gRW5jb2RlZEpTVmFsdWUoKTsKLSAgICAKKwogICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKIH0KIApAQCAtNjcxLDkgKzY3Myw5IEBA
IHN0YXRpYyB2b2lkKiBoYW5kbGVIb3N0Q2FsbChFeGVjU3RhdGUqIGV4ZWNDYWxsZWUsIEpTVmFs
dWUgY2FsbGVlLCBDb2RlU3BlY2lhbGl6CiAgICAgaWYgKGtpbmQgPT0gQ29kZUZvckNhbGwpIHsK
ICAgICAgICAgQ2FsbERhdGEgY2FsbERhdGE7CiAgICAgICAgIENhbGxUeXBlIGNhbGxUeXBlID0g
Z2V0Q2FsbERhdGEoY2FsbGVlLCBjYWxsRGF0YSk7Ci0gICAgCisKICAgICAgICAgQVNTRVJUKGNh
bGxUeXBlICE9IENhbGxUeXBlSlMpOwotICAgIAorCiAgICAgICAgIGlmIChjYWxsVHlwZSA9PSBD
YWxsVHlwZUhvc3QpIHsKICAgICAgICAgICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIo
dm0sIGV4ZWNDYWxsZWUpOwogICAgICAgICAgICAgZXhlY0NhbGxlZS0+c2V0Q2FsbGVlKGFzT2Jq
ZWN0KGNhbGxlZSkpOwpAQCAtNjgzLDE5ICs2ODUsMTkgQEAgc3RhdGljIHZvaWQqIGhhbmRsZUhv
c3RDYWxsKEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSwgSlNWYWx1ZSBjYWxsZWUsIENvZGVTcGVjaWFs
aXoKIAogICAgICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KGdldEhvc3RD
YWxsUmV0dXJuVmFsdWUpOwogICAgICAgICB9Ci0gICAgCisKICAgICAgICAgQVNTRVJUKGNhbGxU
eXBlID09IENhbGxUeXBlTm9uZSk7CiAgICAgICAgIGV4ZWMtPnZtKCkudGhyb3dFeGNlcHRpb24o
ZXhlYywgY3JlYXRlTm90QUZ1bmN0aW9uRXJyb3IoZXhlYywgY2FsbGVlKSk7CiAgICAgICAgIHJl
dHVybiB2bS0+Z2V0Q1RJU3R1Yih0aHJvd0V4Y2VwdGlvbkZyb21DYWxsU2xvd1BhdGhHZW5lcmF0
b3IpLmNvZGUoKS5leGVjdXRhYmxlQWRkcmVzcygpOwogICAgIH0KIAogICAgIEFTU0VSVChraW5k
ID09IENvZGVGb3JDb25zdHJ1Y3QpOwotICAgIAorCiAgICAgQ29uc3RydWN0RGF0YSBjb25zdHJ1
Y3REYXRhOwogICAgIENvbnN0cnVjdFR5cGUgY29uc3RydWN0VHlwZSA9IGdldENvbnN0cnVjdERh
dGEoY2FsbGVlLCBjb25zdHJ1Y3REYXRhKTsKLSAgICAKKwogICAgIEFTU0VSVChjb25zdHJ1Y3RU
eXBlICE9IENvbnN0cnVjdFR5cGVKUyk7Ci0gICAgCisKICAgICBpZiAoY29uc3RydWN0VHlwZSA9
PSBDb25zdHJ1Y3RUeXBlSG9zdCkgewogICAgICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJh
Y2VyKHZtLCBleGVjQ2FsbGVlKTsKICAgICAgICAgZXhlY0NhbGxlZS0+c2V0Q2FsbGVlKGFzT2Jq
ZWN0KGNhbGxlZSkpOwpAQCAtNzA1LDcgKzcwNyw3IEBAIHN0YXRpYyB2b2lkKiBoYW5kbGVIb3N0
Q2FsbChFeGVjU3RhdGUqIGV4ZWNDYWxsZWUsIEpTVmFsdWUgY2FsbGVlLCBDb2RlU3BlY2lhbGl6
CiAKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KGdldEhvc3RDYWxsUmV0
dXJuVmFsdWUpOwogICAgIH0KLSAgICAKKwogICAgIEFTU0VSVChjb25zdHJ1Y3RUeXBlID09IENv
bnN0cnVjdFR5cGVOb25lKTsKICAgICBleGVjLT52bSgpLnRocm93RXhjZXB0aW9uKGV4ZWMsIGNy
ZWF0ZU5vdEFDb25zdHJ1Y3RvckVycm9yKGV4ZWMsIGNhbGxlZSkpOwogICAgIHJldHVybiB2bS0+
Z2V0Q1RJU3R1Yih0aHJvd0V4Y2VwdGlvbkZyb21DYWxsU2xvd1BhdGhHZW5lcmF0b3IpLmNvZGUo
KS5leGVjdXRhYmxlQWRkcmVzcygpOwpAQCAtNzE4LDcgKzcyMCw3IEBAIGlubGluZSBjaGFyKiBs
aW5rRm9yKAogICAgIEV4ZWNTdGF0ZSogZXhlYyA9IGV4ZWNDYWxsZWUtPmNhbGxlckZyYW1lKCk7
CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRy
YWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBKU1ZhbHVlIGNhbGxlZUFzVmFsdWUgPSBleGVj
Q2FsbGVlLT5jYWxsZWVBc1ZhbHVlKCk7CiAgICAgSlNDZWxsKiBjYWxsZWVBc0Z1bmN0aW9uQ2Vs
bCA9IGdldEpTRnVuY3Rpb24oY2FsbGVlQXNWYWx1ZSk7CiAgICAgaWYgKCFjYWxsZWVBc0Z1bmN0
aW9uQ2VsbCkgewpAQCAtNzYxLDcgKzc2Myw3IEBAIGlubGluZSBjaGFyKiBsaW5rRm9yKAogICAg
ICAgICBjYWxsTGlua0luZm8tPnNldFNlZW4oKTsKICAgICBlbHNlCiAgICAgICAgIGxpbmtGb3Io
ZXhlY0NhbGxlZSwgKmNhbGxMaW5rSW5mbywgY29kZUJsb2NrLCBjYWxsZWUsIGNvZGVQdHIsIGtp
bmQsIHJlZ2lzdGVycyk7Ci0gICAgCisKICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxjaGFy
Kj4oY29kZVB0ci5leGVjdXRhYmxlQWRkcmVzcygpKTsKIH0KIApAQCAtNzk3LDcgKzc5OSw3IEBA
IGlubGluZSBjaGFyKiB2aXJ0dWFsRm9yV2l0aEZ1bmN0aW9uKAogICAgIGNhbGxlZUFzRnVuY3Rp
b25DZWxsID0gZ2V0SlNGdW5jdGlvbihjYWxsZWVBc1ZhbHVlKTsKICAgICBpZiAoVU5MSUtFTFko
IWNhbGxlZUFzRnVuY3Rpb25DZWxsKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8
Y2hhcio+KGhhbmRsZUhvc3RDYWxsKGV4ZWNDYWxsZWUsIGNhbGxlZUFzVmFsdWUsIGtpbmQpKTsK
LSAgICAKKwogICAgIEpTRnVuY3Rpb24qIGZ1bmN0aW9uID0ganNDYXN0PEpTRnVuY3Rpb24qPihj
YWxsZWVBc0Z1bmN0aW9uQ2VsbCk7CiAgICAgSlNTY29wZSogc2NvcGUgPSBmdW5jdGlvbi0+c2Nv
cGVVbmNoZWNrZWQoKTsKICAgICBFeGVjdXRhYmxlQmFzZSogZXhlY3V0YWJsZSA9IGZ1bmN0aW9u
LT5leGVjdXRhYmxlKCk7CkBAIC04MzIsMTIgKzgzNCwxMiBAQCBjaGFyKiBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbkxpbmtQb2x5bW9ycGhpY0NhbGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBDYWxs
TGluawogICAgIGNoYXIqIHJlc3VsdCA9IHZpcnR1YWxGb3JXaXRoRnVuY3Rpb24oZXhlY0NhbGxl
ZSwgQ29kZUZvckNhbGwsIFJlZ2lzdGVyUHJlc2VydmF0aW9uTm90UmVxdWlyZWQsIGNhbGxlZUFz
RnVuY3Rpb25DZWxsKTsKIAogICAgIGxpbmtQb2x5bW9ycGhpY0NhbGwoZXhlY0NhbGxlZSwgKmNh
bGxMaW5rSW5mbywgQ2FsbFZhcmlhbnQoY2FsbGVlQXNGdW5jdGlvbkNlbGwpLCBSZWdpc3RlclBy
ZXNlcnZhdGlvbk5vdFJlcXVpcmVkKTsKLSAgICAKKwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAK
IGNoYXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uVmlydHVhbENhbGwoRXhlY1N0YXRlKiBleGVj
Q2FsbGVlLCBDYWxsTGlua0luZm8qKQoteyAgICAKK3sKICAgICByZXR1cm4gdmlydHVhbEZvcihl
eGVjQ2FsbGVlLCBDb2RlRm9yQ2FsbCwgUmVnaXN0ZXJQcmVzZXJ2YXRpb25Ob3RSZXF1aXJlZCk7
CiB9CiAKQEAgLTg1MiwxMiArODU0LDEyIEBAIGNoYXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
TGlua1BvbHltb3JwaGljQ2FsbFRoYXRQcmVzZXJ2ZXNSZWdzKEV4ZWNTdGF0ZSogZXhlCiAgICAg
Y2hhciogcmVzdWx0ID0gdmlydHVhbEZvcldpdGhGdW5jdGlvbihleGVjQ2FsbGVlLCBDb2RlRm9y
Q2FsbCwgTXVzdFByZXNlcnZlUmVnaXN0ZXJzLCBjYWxsZWVBc0Z1bmN0aW9uQ2VsbCk7CiAKICAg
ICBsaW5rUG9seW1vcnBoaWNDYWxsKGV4ZWNDYWxsZWUsICpjYWxsTGlua0luZm8sIENhbGxWYXJp
YW50KGNhbGxlZUFzRnVuY3Rpb25DZWxsKSwgTXVzdFByZXNlcnZlUmVnaXN0ZXJzKTsKLSAgICAK
KwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIGNoYXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
VmlydHVhbENhbGxUaGF0UHJlc2VydmVzUmVncyhFeGVjU3RhdGUqIGV4ZWNDYWxsZWUsIENhbGxM
aW5rSW5mbyopCi17ICAgIAorewogICAgIHJldHVybiB2aXJ0dWFsRm9yKGV4ZWNDYWxsZWUsIENv
ZGVGb3JDYWxsLCBNdXN0UHJlc2VydmVSZWdpc3RlcnMpOwogfQogCkBAIC04NzAsNyArODcyLDcg
QEAgc2l6ZV90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uQ29tcGFyZUxlc3MoRXhlY1N0YXRlKiBl
eGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGUKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsK
ICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAg
IHJldHVybiBqc0xlc3M8dHJ1ZT4oZXhlYywgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRPcDEpLCBK
U1ZhbHVlOjpkZWNvZGUoZW5jb2RlZE9wMikpOwogfQogCkBAIC05MDIsNyArOTA0LDcgQEAgc2l6
ZV90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uQ29udmVydEpTVmFsdWVUb0Jvb2xlYW4oRXhlY1N0
YXRlKiBleGVjLCBFbmNvZGVkSlMKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBO
YXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAgIHJldHVy
biBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZE9wKS50b0Jvb2xlYW4oZXhlYyk7CiB9CiAKQEAgLTkz
Niw3ICs5MzgsNyBAQCBzaXplX3QgSklUX09QRVJBVElPTiBvcGVyYXRpb25IYXNQcm9wZXJ0eShF
eGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBiYXNlLCBKU1N0cgogICAgIGludCByZXN1bHQgPSBi
YXNlLT5oYXNQcm9wZXJ0eShleGVjLCBwcm9wZXJ0eS0+dG9JZGVudGlmaWVyKGV4ZWMpKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQotICAgIAorCiAKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uTmV3QXJyYXlXaXRoUHJvZmlsZShFeGVjU3RhdGUqIGV4ZWMsIEFycmF5QWxs
b2NhdGlvblByb2ZpbGUqIHByb2ZpbGUsIGNvbnN0IEpTVmFsdWUqIHZhbHVlcywgaW50IHNpemUp
CiB7CkBAIC05NzYsMTEgKzk3OCw0NCBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbk5ld0Z1bmN0aW9uV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0YwogICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoSlNGdW5jdGlvbjo6Y3JlYXRlV2l0aEludmFsaWRhdGVkUmVh
bGxvY2F0aW9uV2F0Y2hwb2ludCh2bSwgc3RhdGljX2Nhc3Q8RnVuY3Rpb25FeGVjdXRhYmxlKj4o
ZnVuY3Rpb25FeGVjdXRhYmxlKSwgc2NvcGUpKTsKIH0KIAorRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0
aW9uV2F0Y2hwb2ludChFeGVjU3RhdGUqIGV4ZWMsIEpTU2NvcGUqIHNjb3BlLCBKU0NlbGwqIGZ1
bmN0aW9uRXhlY3V0YWJsZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlKQoreworI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIEFTU0VSVChmdW5jdGlvbkV4ZWN1
dGFibGUtPmluaGVyaXRzKEZ1bmN0aW9uRXhlY3V0YWJsZTo6aW5mbygpKSk7CisgICAgICAgIFZN
JiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIo
JnZtLCBleGVjKTsKKyAgICAgICAgCisgICAgICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSAgSlNGdW5j
dGlvbjo6Y3JlYXRlKHZtLCBzdGF0aWNfY2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihmdW5jdGlv
bkV4ZWN1dGFibGUpLCBzY29wZSk7CisgICAgICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QgPSBleGVjLT5jYWxsZWUoKS0+Z2xvYmFsT2JqZWN0KCk7CisgICAgICAgIAorICAgICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlV2l0aEludmFsaWRh
dGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludCh2bSwgZ2xvYmFsT2JqZWN0LCBmdW5jLCBKU1ZhbHVl
OjpkZWNvZGUodGhpc1ZhbHVlKSkpOworI2Vsc2UKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShqc1VuZGVmaW5lZCgpKTsKKyNlbmRpZgorfQorICAgIAorRW5jb2RlZEpTVmFsdWUgSklU
X09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNT
Y29wZSogc2NvcGUsIEpTQ2VsbCogZnVuY3Rpb25FeGVjdXRhYmxlLCBFbmNvZGVkSlNWYWx1ZSB0
aGlzVmFsdWUpCit7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBB
U1NFUlQoZnVuY3Rpb25FeGVjdXRhYmxlLT5pbmhlcml0cyhGdW5jdGlvbkV4ZWN1dGFibGU6Omlu
Zm8oKSkpOworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgTmF0aXZlQ2FsbEZyYW1lVHJh
Y2VyIHRyYWNlcigmdm0sIGV4ZWMpOworCisgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCA9IGV4ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKKyAgICBKU0Z1bmN0aW9uKiBmdW5j
ID0gIEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgc3RhdGljX2Nhc3Q8RnVuY3Rpb25FeGVjdXRhYmxl
Kj4oZnVuY3Rpb25FeGVjdXRhYmxlKSwgc2NvcGUpOworCisgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShKU0Fycm93RnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBmdW5jLCBKU1Zh
bHVlOjpkZWNvZGUodGhpc1ZhbHVlKSkpOworCisjZWxzZQorICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoanNVbmRlZmluZWQoKSk7CisjZW5kaWYKK30KKwogSlNDZWxsKiBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJl
KQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNl
ciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAgcmV0dXJuIGNvbnN0cnVjdEVtcHR5T2Jq
ZWN0KGV4ZWMsIHN0cnVjdHVyZSk7CiB9CiAKQEAgLTEwNTQsMTMgKzEwODksMTMgQEAgU2xvd1Bh
dGhSZXR1cm5UeXBlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uT3B0aW1pemUoRXhlY1N0YXRlKiBl
eGVjLCBpbnQzMl90IGJ5dGUKICAgICAvLyB0aGF0IGNhc2Ugd2Ugd291bGQgaGF2ZSBhbHJlYWR5
IHBsYW50ZWQgdGhlIG9wdGltaXplZCBjb2RlIGJsb2NrIGludG8gdGhlIEpTCiAgICAgLy8gc3Rh
Y2suCiAgICAgRGVmZXJHQ0ZvckFXaGlsZSBkZWZlckdDKHZtLmhlYXApOwotICAgIAorCiAgICAg
Q29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVjLT5jb2RlQmxvY2soKTsKICAgICBpZiAoY29kZUJs
b2NrLT5qaXRUeXBlKCkgIT0gSklUQ29kZTo6QmFzZWxpbmVKSVQpIHsKICAgICAgICAgZGF0YUxv
ZygiVW5leHBlY3RlZCBjb2RlIGJsb2NrIGluIEJhc2VsaW5lLT5ERkcgdGllci11cDogIiwgKmNv
ZGVCbG9jaywgIlxuIik7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAg
ICAgfQotICAgIAorCiAgICAgaWYgKGJ5dGVjb2RlSW5kZXgpIHsKICAgICAgICAgLy8gSWYgd2Un
cmUgYXR0ZW1wdGluZyB0byBPU1IgZnJvbSBhIGxvb3AsIGFzc3VtZSB0aGF0IHRoaXMgc2hvdWxk
IGJlCiAgICAgICAgIC8vIHNlcGFyYXRlbHkgb3B0aW1pemVkLgpAQCAtMTA4Niw3ICsxMTIxLDcg
QEAgU2xvd1BhdGhSZXR1cm5UeXBlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uT3B0aW1pemUoRXhl
Y1N0YXRlKiBleGVjLCBpbnQzMl90IGJ5dGUKICAgICAgICAgICAgIGRhdGFMb2coIkNob29zaW5n
IG5vdCB0byBvcHRpbWl6ZSAiLCAqY29kZUJsb2NrLCAiIHlldCwgYmVjYXVzZSB0aGUgdGhyZXNo
b2xkIGhhc24ndCBiZWVuIHJlYWNoZWQuXG4iKTsKICAgICAgICAgcmV0dXJuIGVuY29kZVJlc3Vs
dCgwLCAwKTsKICAgICB9Ci0gICAgCisKICAgICBpZiAodm0uZW5hYmxlZFByb2ZpbGVyKCkpIHsK
ICAgICAgICAgdXBkYXRlQWxsUHJlZGljdGlvbnNBbmRPcHRpbWl6ZUFmdGVyV2FybVVwKGNvZGVC
bG9jayk7CiAgICAgICAgIHJldHVybiBlbmNvZGVSZXN1bHQoMCwgMCk7CkBAIC0xMTIyLDcgKzEx
NTcsNyBAQCBTbG93UGF0aFJldHVyblR5cGUgSklUX09QRVJBVElPTiBvcGVyYXRpb25PcHRpbWl6
ZShFeGVjU3RhdGUqIGV4ZWMsIGludDMyX3QgYnl0ZQogICAgICAgICAvLyBjb3VudCB0aHJlc2hv
bGQgZGVwZW5kaW5nIG9uIHdoYXQgaGFwcGVuZWQsIHNvIGlmIHRoZSBjb21waWxhdGlvbiB3YXMg
YW55dGhpbmcKICAgICAgICAgLy8gYnV0IHN1Y2Nlc3NmdWwgd2UganVzdCB3YW50IHRvIHJldHVy
biBlYXJseS4gU2VlIHRoZSBjYXNlIGZvciB3b3JrbGlzdFN0YXRlID09CiAgICAgICAgIC8vIERG
Rzo6V29ya2xpc3Q6OkNvbXBpbGVkLCBiZWxvdy4KLSAgICAgICAgCisKICAgICAgICAgLy8gTm90
ZSB0aGF0IHdlIGNvdWxkIGhhdmUgYWx0ZXJuYXRpdmVseSBqdXN0IGNhbGxlZCBXb3JrbGlzdDo6
Y29tcGlsYXRpb25TdGF0ZSgpCiAgICAgICAgIC8vIGhlcmUsIGFuZCBpZiBpdCByZXR1cm5lZCBD
b21waWxlZCwgd2UgY291bGQgaGF2ZSB0aGVuIGNhbGxlZAogICAgICAgICAvLyBjb21wbGV0ZUFu
ZFNjaGVkdWxlT1NSKCkgYmVsb3cuIEJ1dCB0aGF0IHdvdWxkIGhhdmUgbWVhbnQgdGhhdCBpdCBj
b3VsZCB0YWtlCkBAIC0xMTY1LDcgKzEyMDAsNyBAQCBTbG93UGF0aFJldHVyblR5cGUgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25PcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIGludDMyX3QgYnl0ZQog
ICAgICAgICAvLyBjdGlfb3B0aW1pemUgZnJvbSBhIGxvb3AuIFRoYXQncyBiZWNhdXNlIGlmIHRo
ZXJlJ3MgYW4gb3B0aW1pemVkIHJlcGxhY2VtZW50LAogICAgICAgICAvLyB0aGVuIGFsbCBjYWxs
cyB0byB0aGlzIGZ1bmN0aW9uIHdpbGwgYmUgcmVsaW5rZWQgdG8gdGhlIHJlcGxhY2VtZW50IGFu
ZCBzbwogICAgICAgICAvLyB0aGUgcHJvbG9ndWUgT1NSIHdpbGwgbmV2ZXIgZmlyZS4KLSAgICAg
ICAgCisKICAgICAgICAgLy8gVGhpcyBpcyBhbiBpbnRlcmVzdGluZyB0aHJlc2hvbGQgY2hlY2su
IENvbnNpZGVyIHRoYXQgYSBmdW5jdGlvbiBPU1IgZXhpdHMKICAgICAgICAgLy8gaW4gdGhlIG1p
ZGRsZSBvZiBhIGxvb3AsIHdoaWxlIGhhdmluZyBhIHJlbGF0aXZlbHkgbG93IGV4aXQgY291bnQu
IFRoZSBleGl0CiAgICAgICAgIC8vIHdpbGwgcmVzZXQgdGhlIGV4ZWN1dGlvbiBjb3VudGVyIHRv
IHNvbWUgdGFyZ2V0IHRocmVzaG9sZCwgbWVhbmluZyB0aGF0IHRoaXMKQEAgLTEyMTEsMTYgKzEy
NDYsMTYgQEAgU2xvd1BhdGhSZXR1cm5UeXBlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uT3B0aW1p
emUoRXhlY1N0YXRlKiBleGVjLCBpbnQzMl90IGJ5dGUKICAgICAgICAgQ29tcGlsYXRpb25SZXN1
bHQgcmVzdWx0ID0gREZHOjpjb21waWxlKAogICAgICAgICAgICAgdm0sIHJlcGxhY2VtZW50Q29k
ZUJsb2NrLmdldCgpLCAwLCBERkc6OkRGR01vZGUsIGJ5dGVjb2RlSW5kZXgsCiAgICAgICAgICAg
ICBtdXN0SGFuZGxlVmFsdWVzLCBKSVRUb0RGR0RlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjazo6
Y3JlYXRlKCkpOwotICAgICAgICAKKwogICAgICAgICBpZiAocmVzdWx0ICE9IENvbXBpbGF0aW9u
U3VjY2Vzc2Z1bCkgewogICAgICAgICAgICAgQVNTRVJUKHJlc3VsdCA9PSBDb21waWxhdGlvbkRl
ZmVycmVkIHx8IHJlcGxhY2VtZW50Q29kZUJsb2NrLT5oYXNPbmVSZWYoKSk7CiAgICAgICAgICAg
ICByZXR1cm4gZW5jb2RlUmVzdWx0KDAsIDApOwogICAgICAgICB9CiAgICAgfQotICAgIAorCiAg
ICAgQ29kZUJsb2NrKiBvcHRpbWl6ZWRDb2RlQmxvY2sgPSBjb2RlQmxvY2stPnJlcGxhY2VtZW50
KCk7CiAgICAgQVNTRVJUKEpJVENvZGU6OmlzT3B0aW1pemluZ0pJVChvcHRpbWl6ZWRDb2RlQmxv
Y2stPmppdFR5cGUoKSkpOwotICAgIAorCiAgICAgaWYgKHZvaWQqIGRhdGFCdWZmZXIgPSBERkc6
OnByZXBhcmVPU1JFbnRyeShleGVjLCBvcHRpbWl6ZWRDb2RlQmxvY2ssIGJ5dGVjb2RlSW5kZXgp
KSB7CiAgICAgICAgIGlmIChPcHRpb25zOjp2ZXJib3NlT1NSKCkpIHsKICAgICAgICAgICAgIGRh
dGFMb2coCkBAIC0xMjYzLDcgKzEyOTgsNyBAQCBTbG93UGF0aFJldHVyblR5cGUgSklUX09QRVJB
VElPTiBvcGVyYXRpb25PcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIGludDMyX3QgYnl0ZQogICAg
IC8vIE9TUiBmYWlsZWQgdGhpcyB0aW1lLCBidXQgaXQgbWlnaHQgc3VjY2VlZCBuZXh0IHRpbWUh
IExldCB0aGUgY29kZSBydW4gYSBiaXQKICAgICAvLyBsb25nZXIgYW5kIHRoZW4gdHJ5IGFnYWlu
LgogICAgIGNvZGVCbG9jay0+b3B0aW1pemVBZnRlcldhcm1VcCgpOwotICAgIAorCiAgICAgcmV0
dXJuIGVuY29kZVJlc3VsdCgwLCAwKTsKIH0KICNlbmRpZgpAQCAtMTQzOSw3ICsxNDc0LDcgQEAg
c3RhdGljIEpTVmFsdWUgZ2V0QnlWYWwoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIGJhc2VWYWx1
ZSwgSlNWYWx1ZSBzdWJzY3JpcHQsIFIKIH0KIAogZXh0ZXJuICJDIiB7Ci0gICAgCisKIEVuY29k
ZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlWYWxHZW5lcmljKEV4ZWNTdGF0
ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRTdWJzY3JpcHQpCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKQEAgLTE0NTcsNyArMTQ5
Miw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlWYWxEZWZh
dWx0KEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTCiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2Vy
IHRyYWNlcigmdm0sIGV4ZWMpOwogICAgIEpTVmFsdWUgYmFzZVZhbHVlID0gSlNWYWx1ZTo6ZGVj
b2RlKGVuY29kZWRCYXNlKTsKICAgICBKU1ZhbHVlIHN1YnNjcmlwdCA9IEpTVmFsdWU6OmRlY29k
ZShlbmNvZGVkU3Vic2NyaXB0KTsKLSAgICAKKwogICAgIGlmIChiYXNlVmFsdWUuaXNPYmplY3Qo
KSAmJiBzdWJzY3JpcHQuaXNJbnQzMigpKSB7CiAgICAgICAgIC8vIFNlZSBpZiBpdCdzIHdvcnRo
IG9wdGltaXppbmcgdGhpcyBhdCBhbGwuCiAgICAgICAgIEpTT2JqZWN0KiBvYmplY3QgPSBhc09i
amVjdChiYXNlVmFsdWUpOwpAQCAtMTQ2Nyw3ICsxNTAyLDcgQEAgRW5jb2RlZEpTVmFsdWUgSklU
X09QRVJBVElPTiBvcGVyYXRpb25HZXRCeVZhbERlZmF1bHQoRXhlY1N0YXRlKiBleGVjLCBFbmNv
ZGVkSlMKICAgICAgICAgQVNTRVJUKGJ5dGVjb2RlT2Zmc2V0KTsKICAgICAgICAgQnlWYWxJbmZv
JiBieVZhbEluZm8gPSBleGVjLT5jb2RlQmxvY2soKS0+Z2V0QnlWYWxJbmZvKGJ5dGVjb2RlT2Zm
c2V0IC0gMSk7CiAgICAgICAgIEFTU0VSVCghYnlWYWxJbmZvLnN0dWJSb3V0aW5lKTsKLSAgICAg
ICAgCisKICAgICAgICAgaWYgKGhhc09wdGltaXphYmxlSW5kZXhpbmcob2JqZWN0LT5zdHJ1Y3R1
cmUodm0pKSkgewogICAgICAgICAgICAgLy8gQXR0ZW1wdCB0byBvcHRpbWl6ZS4KICAgICAgICAg
ICAgIEpJVEFycmF5TW9kZSBhcnJheU1vZGUgPSBqaXRBcnJheU1vZGVGb3JTdHJ1Y3R1cmUob2Jq
ZWN0LT5zdHJ1Y3R1cmUodm0pKTsKQEAgLTE0NzYsNyArMTUxMSw3IEBAIEVuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlWYWxEZWZhdWx0KEV4ZWNTdGF0ZSogZXhlYywg
RW5jb2RlZEpTCiAgICAgICAgICAgICAgICAgZGlkT3B0aW1pemUgPSB0cnVlOwogICAgICAgICAg
ICAgfQogICAgICAgICB9Ci0gICAgICAgIAorCiAgICAgICAgIGlmICghZGlkT3B0aW1pemUpIHsK
ICAgICAgICAgICAgIC8vIElmIHdlIHRha2Ugc2xvdyBwYXRoIG1vcmUgdGhhbiAxMCB0aW1lcyB3
aXRob3V0IHBhdGNoaW5nIHRoZW4gbWFrZSBzdXJlIHdlCiAgICAgICAgICAgICAvLyBuZXZlciBt
YWtlIHRoYXQgbWlzdGFrZSBhZ2Fpbi4gT3IsIGlmIHdlIGZhaWxlZCB0byBwYXRjaCBhbmQgd2Ug
aGF2ZSBzb21lIG9iamVjdApAQCAtMTQ5MCwxOCArMTUyNSwxOCBAQCBFbmNvZGVkSlNWYWx1ZSBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5VmFsRGVmYXVsdChFeGVjU3RhdGUqIGV4ZWMsIEVu
Y29kZWRKUwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQotICAgIAorCiAgICAgSlNW
YWx1ZSByZXN1bHQgPSBnZXRCeVZhbChleGVjLCBiYXNlVmFsdWUsIHN1YnNjcmlwdCwgUmV0dXJu
QWRkcmVzc1B0cihPVVJfUkVUVVJOX0FERFJFU1MpKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKHJlc3VsdCk7CiB9Ci0gICAgCisKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uSGFzSW5kZXhlZFByb3BlcnR5RGVmYXVsdChFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRCYXNlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkU3Vic2NyaXB0KQogewog
ICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNl
cigmdm0sIGV4ZWMpOwogICAgIEpTVmFsdWUgYmFzZVZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVu
Y29kZWRCYXNlKTsKICAgICBKU1ZhbHVlIHN1YnNjcmlwdCA9IEpTVmFsdWU6OmRlY29kZShlbmNv
ZGVkU3Vic2NyaXB0KTsKLSAgICAKKwogICAgIEFTU0VSVChiYXNlVmFsdWUuaXNPYmplY3QoKSk7
CiAgICAgQVNTRVJUKHN1YnNjcmlwdC5pc1VJbnQzMigpKTsKIApAQCAtMTUxMiw3ICsxNTQ3LDcg
QEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25IYXNJbmRleGVkUHJvcGVy
dHlEZWZhdWx0KEV4ZWNTdGF0ZSogZXhlYywKICAgICBBU1NFUlQoYnl0ZWNvZGVPZmZzZXQpOwog
ICAgIEJ5VmFsSW5mbyYgYnlWYWxJbmZvID0gZXhlYy0+Y29kZUJsb2NrKCktPmdldEJ5VmFsSW5m
byhieXRlY29kZU9mZnNldCAtIDEpOwogICAgIEFTU0VSVCghYnlWYWxJbmZvLnN0dWJSb3V0aW5l
KTsKLSAgICAKKwogICAgIGlmIChoYXNPcHRpbWl6YWJsZUluZGV4aW5nKG9iamVjdC0+c3RydWN0
dXJlKHZtKSkpIHsKICAgICAgICAgLy8gQXR0ZW1wdCB0byBvcHRpbWl6ZS4KICAgICAgICAgSklU
QXJyYXlNb2RlIGFycmF5TW9kZSA9IGppdEFycmF5TW9kZUZvclN0cnVjdHVyZShvYmplY3QtPnN0
cnVjdHVyZSh2bSkpOwpAQCAtMTUyMSw3ICsxNTU2LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25IYXNJbmRleGVkUHJvcGVydHlEZWZhdWx0KEV4ZWNTdGF0ZSogZXhl
YywKICAgICAgICAgICAgIGRpZE9wdGltaXplID0gdHJ1ZTsKICAgICAgICAgfQogICAgIH0KLSAg
ICAKKwogICAgIGlmICghZGlkT3B0aW1pemUpIHsKICAgICAgICAgLy8gSWYgd2UgdGFrZSBzbG93
IHBhdGggbW9yZSB0aGFuIDEwIHRpbWVzIHdpdGhvdXQgcGF0Y2hpbmcgdGhlbiBtYWtlIHN1cmUg
d2UKICAgICAgICAgLy8gbmV2ZXIgbWFrZSB0aGF0IG1pc3Rha2UgYWdhaW4uIE9yLCBpZiB3ZSBm
YWlsZWQgdG8gcGF0Y2ggYW5kIHdlIGhhdmUgc29tZSBvYmplY3QKQEAgLTE1MzEsMzQgKzE1NjYs
MzQgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25IYXNJbmRleGVkUHJv
cGVydHlEZWZhdWx0KEV4ZWNTdGF0ZSogZXhlYywKICAgICAgICAgaWYgKCsrYnlWYWxJbmZvLnNs
b3dQYXRoQ291bnQgPj0gMTAKICAgICAgICAgICAgIHx8IG9iamVjdC0+c3RydWN0dXJlKHZtKS0+
dHlwZUluZm8oKS5pbnRlcmNlcHRzR2V0T3duUHJvcGVydHlTbG90QnlJbmRleEV2ZW5XaGVuTGVu
Z3RoSXNOb3RaZXJvKCkpIHsKICAgICAgICAgICAgIC8vIERvbid0IGV2ZXIgdHJ5IHRvIG9wdGlt
aXplLgotICAgICAgICAgICAgY3RpUGF0Y2hDYWxsQnlSZXR1cm5BZGRyZXNzKGV4ZWMtPmNvZGVC
bG9jaygpLCBSZXR1cm5BZGRyZXNzUHRyKE9VUl9SRVRVUk5fQUREUkVTUyksIEZ1bmN0aW9uUHRy
KG9wZXJhdGlvbkhhc0luZGV4ZWRQcm9wZXJ0eUdlbmVyaWMpKTsgCisgICAgICAgICAgICBjdGlQ
YXRjaENhbGxCeVJldHVybkFkZHJlc3MoZXhlYy0+Y29kZUJsb2NrKCksIFJldHVybkFkZHJlc3NQ
dHIoT1VSX1JFVFVSTl9BRERSRVNTKSwgRnVuY3Rpb25QdHIob3BlcmF0aW9uSGFzSW5kZXhlZFBy
b3BlcnR5R2VuZXJpYykpOwogICAgICAgICB9CiAgICAgfQotICAgIAorCiAgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShqc0Jvb2xlYW4ob2JqZWN0LT5oYXNQcm9wZXJ0eShleGVjLCBzdWJzY3Jp
cHQuYXNVSW50MzIoKSkpKTsKIH0KLSAgICAKKwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElP
TiBvcGVyYXRpb25IYXNJbmRleGVkUHJvcGVydHlHZW5lcmljKEV4ZWNTdGF0ZSogZXhlYywgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRTdWJzY3JpcHQp
CiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIg
dHJhY2VyKCZ2bSwgZXhlYyk7CiAgICAgSlNWYWx1ZSBiYXNlVmFsdWUgPSBKU1ZhbHVlOjpkZWNv
ZGUoZW5jb2RlZEJhc2UpOwogICAgIEpTVmFsdWUgc3Vic2NyaXB0ID0gSlNWYWx1ZTo6ZGVjb2Rl
KGVuY29kZWRTdWJzY3JpcHQpOwotICAgIAorCiAgICAgQVNTRVJUKGJhc2VWYWx1ZS5pc09iamVj
dCgpKTsKICAgICBBU1NFUlQoc3Vic2NyaXB0LmlzVUludDMyKCkpOwogCiAgICAgSlNPYmplY3Qq
IG9iamVjdCA9IGFzT2JqZWN0KGJhc2VWYWx1ZSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc0Jvb2xlYW4ob2JqZWN0LT5oYXNQcm9wZXJ0eShleGVjLCBzdWJzY3JpcHQuYXNVSW50MzIo
KSkpKTsKIH0KLSAgICAKKwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25H
ZXRCeVZhbFN0cmluZyhFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNl
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkU3Vic2NyaXB0KQogewogICAgIFZNJiB2bSA9IGV4ZWMt
PnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOwogICAg
IEpTVmFsdWUgYmFzZVZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKTsKICAgICBK
U1ZhbHVlIHN1YnNjcmlwdCA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkU3Vic2NyaXB0KTsKLSAg
ICAKKwogICAgIEpTVmFsdWUgcmVzdWx0OwogICAgIGlmIChMSUtFTFkoc3Vic2NyaXB0LmlzVUlu
dDMyKCkpKSB7CiAgICAgICAgIHVpbnQzMl90IGkgPSBzdWJzY3JpcHQuYXNVSW50MzIoKTsKQEAg
LTE2MDEsNyArMTYzNiw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
SW5zdGFuY2VPZihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlCiAgICAgTmF0aXZlQ2Fs
bEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOwogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1Zh
bHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKICAgICBKU1ZhbHVlIHByb3RvID0gSlNWYWx1ZTo6
ZGVjb2RlKGVuY29kZWRQcm90byk7Ci0gICAgCisKICAgICBBU1NFUlQoIXZhbHVlLmlzT2JqZWN0
KCkgfHwgIXByb3RvLmlzT2JqZWN0KCkpOwogCiAgICAgYm9vbCByZXN1bHQgPSBKU09iamVjdDo6
ZGVmYXVsdEhhc0luc3RhbmNlKGV4ZWMsIHZhbHVlLCBwcm90byk7CkBAIC0xNzU3LDcgKzE3OTIs
NyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0VG9TY29wZShFeGVjU3RhdGUqIGV4
ZWMsIEluc3RydWN0aW9uKiBieXRlY29kZVBDKQogCiAgICAgUHV0UHJvcGVydHlTbG90IHNsb3Qo
c2NvcGUsIGNvZGVCbG9jay0+aXNTdHJpY3RNb2RlKCkpOwogICAgIHNjb3BlLT5tZXRob2RUYWJs
ZSgpLT5wdXQoc2NvcGUsIGV4ZWMsIGlkZW50LCB2YWx1ZSwgc2xvdCk7Ci0gICAgCisKICAgICBp
ZiAoZXhlYy0+dm0oKS5leGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuOwogCkBAIC0xNzkxLDcg
KzE4MjYsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uT1NSV3JpdGVCYXJyaWVyKEV4
ZWNTdGF0ZSogZXhlYywgSlNDZWxsKiBjZWxsKQogfQogCiAvLyBOQjogV2UgZG9uJ3QgaW5jbHVk
ZSB0aGUgdmFsdWUgYXMgcGFydCBvZiB0aGUgYmFycmllciBiZWNhdXNlIHRoZSB3cml0ZSBiYXJy
aWVyIGVsaXNpb24KLS8vIHBoYXNlIGluIHRoZSBERkcgb25seSB0cmFja3Mgd2hldGhlciB0aGUg
b2JqZWN0IGJlaW5nIHN0b3JlZCB0byBoYXMgYmVlbiBiYXJyaWVyZWQuIEl0IAorLy8gcGhhc2Ug
aW4gdGhlIERGRyBvbmx5IHRyYWNrcyB3aGV0aGVyIHRoZSBvYmplY3QgYmVpbmcgc3RvcmVkIHRv
IGhhcyBiZWVuIGJhcnJpZXJlZC4gSXQKIC8vIHdvdWxkIGJlIG11Y2ggbW9yZSBjb21wbGljYXRl
ZCB0byB0cnkgdG8gbW9kZWwgdGhlIHZhbHVlIGJlaW5nIHN0b3JlZCBhcyB3ZWxsLgogdm9pZCBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvblVuY29uZGl0aW9uYWxXcml0ZUJhcnJpZXIoRXhlY1N0YXRl
KiBleGVjLCBKU0NlbGwqIGNlbGwpCiB7CkBAIC0xODE1LDcgKzE4NTAsNyBAQCB2b2lkIEpJVF9P
UEVSQVRJT04gbG9va3VwRXhjZXB0aW9uSGFuZGxlcihWTSogdm0sIEV4ZWNTdGF0ZSogZXhlYykK
IAogICAgIEpTVmFsdWUgZXhjZXB0aW9uVmFsdWUgPSB2bS0+ZXhjZXB0aW9uKCk7CiAgICAgQVNT
RVJUKGV4Y2VwdGlvblZhbHVlKTsKLSAgICAKKwogICAgIGdlbmVyaWNVbndpbmQodm0sIGV4ZWMs
IGV4Y2VwdGlvblZhbHVlKTsKICAgICBBU1NFUlQodm0tPnRhcmdldE1hY2hpbmVQQ0ZvclRocm93
KTsKIH0KQEAgLTE4MzAsNyArMTg2NSw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBsb29rdXBFeGNl
cHRpb25IYW5kbGVyRnJvbUNhbGxlckZyYW1lKFZNKiB2bSwgRXhlY1N0YXRlKiBleGVjCiAKICAg
ICBKU1ZhbHVlIGV4Y2VwdGlvblZhbHVlID0gdm0tPmV4Y2VwdGlvbigpOwogICAgIEFTU0VSVChl
eGNlcHRpb25WYWx1ZSk7Ci0gICAgCisKICAgICBnZW5lcmljVW53aW5kKHZtLCBjYWxsZXJGcmFt
ZSwgZXhjZXB0aW9uVmFsdWUpOwogICAgIEFTU0VSVCh2bS0+dGFyZ2V0TWFjaGluZVBDRm9yVGhy
b3cpOwogfQpAQCAtMTg3Nyw3ICsxOTEyLDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElP
TiBvcGVyYXRpb25IYXNJbmRleGVkUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCBKU0NlbGwKICAg
ICBKU09iamVjdCogb2JqZWN0ID0gYmFzZUNlbGwtPnRvT2JqZWN0KGV4ZWMsIGV4ZWMtPmxleGlj
YWxHbG9iYWxPYmplY3QoKSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4o
b2JqZWN0LT5oYXNQcm9wZXJ0eShleGVjLCBzdWJzY3JpcHQpKSk7CiB9Ci0gICAgCisKIEpTQ2Vs
bCogSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRQcm9wZXJ0eUVudW1lcmF0b3IoRXhlY1N0YXRl
KiBleGVjLCBKU0NlbGwqIGNlbGwpCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKaW5kZXggYzY1Zjg3NGQxZjJlNzcy
ZDhmNTM1ZjRiZDFjNGNlMGQyODA0NGFlNy4uZGYzYjlmZDNmM2Q2N2FmYWU5N2Q1ZmYzM2Q0Njdh
OTUwYTU5Yzg0NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVy
YXRpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgK
QEAgLTIwLDcgKzIwLDcgQEAKICAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKICAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
Ci0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAogI2lmbmRlZiBKSVRPcGVy
YXRpb25zX2gKQEAgLTExNSw2ICsxMTUsNyBAQCB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9P
UEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FUFApKEV4ZWNTdGF0ZSosIHZvaWQqLCB2bwogdHlw
ZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVBTKShF
eGVjU3RhdGUqLCB2b2lkKiwgc2l6ZV90KTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQYykoRXhlY1N0YXRlKiwgSW5zdHJ1Y3Rpb24qKTsK
IHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VK
c2NDKShFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKik7Cit0eXBlZGVmIEVuY29kZWRKU1Zh
bHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FSnNjQ0opKEV4ZWNTdGF0ZSosIEpT
U2NvcGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FU1MpKEV4ZWNTdGF0ZSosIHNpemVfdCwg
c2l6ZV90KTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3Bl
cmF0aW9uX0VTc2lDSSkoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1YkluZm8qLCBKU0NlbGwqLCBT
dHJpbmdJbXBsKik7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJ
VE9wZXJhdGlvbl9FU3NpSkkpKEV4ZWNTdGF0ZSosIFN0cnVjdHVyZVN0dWJJbmZvKiwgRW5jb2Rl
ZEpTVmFsdWUsIFN0cmluZ0ltcGwqKTsKQEAgLTI3OSw2ICsyODAsOCBAQCBFbmNvZGVkSlNWYWx1
ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5QnVmZmVyV2l0aFByb2ZpbGUoRXhlY1N0
YXRlKiwgQXJyYQogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJh
eVdpdGhTaXplQW5kUHJvZmlsZShFeGVjU3RhdGUqLCBBcnJheUFsbG9jYXRpb25Qcm9maWxlKiwg
RW5jb2RlZEpTVmFsdWUgc2l6ZSkgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25OZXdGdW5jdGlvbihFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxs
KikgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25O
ZXdGdW5jdGlvbldpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQoRXhlY1N0YXRl
KiwgSlNTY29wZSosIEpTQ2VsbCopIFdURl9JTlRFUk5BTDsKK0VuY29kZWRKU1ZhbHVlIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbihFeGVjU3RhdGUqLCBKU1Njb3BlKiwg
SlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUpIFdURl9JTlRFUk5BTDsKK0VuY29kZWRKU1ZhbHVlIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbldpdGhJbnZhbGlkYXRlZFJlYWxs
b2NhdGlvbldhdGNocG9pbnQoRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29kZWRK
U1ZhbHVlKSBXVEZfSU5URVJOQUw7CiBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3
T2JqZWN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSopIFdURl9JTlRFUk5BTDsKIEVuY29kZWRKU1Zh
bHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3UmVnZXhwKEV4ZWNTdGF0ZSosIHZvaWQqKSBX
VEZfSU5URVJOQUw7CiB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFuZGxlV2F0Y2hkb2dU
aW1lcihFeGVjU3RhdGUqKSBXVEZfSU5URVJOQUw7CkBAIC00MDcsNCArNDEwLDMgQEAgaW5saW5l
IFBfSklUT3BlcmF0aW9uX0VDbGkgb3BlcmF0aW9uTGlua1BvbHltb3JwaGljQ2FsbEZvcihSZWdp
c3RlclByZXNlcnZhdGlvbk0KICNlbmRpZiAvLyBFTkFCTEUoSklUKQogCiAjZW5kaWYgLy8gSklU
T3BlcmF0aW9uc19oCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
TEludFNsb3dQYXRocy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93
UGF0aHMuY3BwCmluZGV4IDIwYmViZjMyZjYxNTRmYTlmM2Y0Njk2MmYzYTYxNDBhMmU4NDZkYzAu
LjdhODUwNWYyOGZlYzJjYWUyYzY1Mzg1Y2MwOTRiY2RmY2MyNGFmZDggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcApAQCAtMzgsNiArMzgsOCBA
QAogI2luY2x1ZGUgIkludGVycHJldGVyLmgiCiAjaW5jbHVkZSAiSklULmgiCiAjaW5jbHVkZSAi
SklURXhjZXB0aW9ucy5oIgorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorI2luY2x1ZGUg
IkpTQm91bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTTGV4aWNhbEVudmlyb25tZW50LmgiCiAj
aW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKQEAgLTE3MSw2
ICsxNzMsMTUgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBMTEludCB7CiAgICAgICAgIExM
SU5UX1JFVFVSTl9UV08ocGMsIF9fcmNmX2V4ZWMpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCiAgICAgfSB3aGlsZSAoZmFsc2UpCiAKKyAgICAKKyNkZWZpbmUgTExJTlRfQ0FMQ19Q
Uk9QRVJUWV9GT1JfRlVOQ19FWFBSKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgIExMSU5UX0JFR0lOKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sg
PSBleGVjLT5jb2RlQmxvY2soKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICBKU1Njb3BlKiBzY29wZSA9IGV4ZWMtPnVuY2hlY2tlZFIocGNbMl0udS5vcGVyYW5kKS5S
ZWdpc3Rlcjo6c2NvcGUoKTsgICAgICAgXAorICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0
YWJsZSA9IGNvZGVCbG9jay0+ZnVuY3Rpb25FeHByKHBjWzNdLnUub3BlcmFuZCk7ICBcCisgICAg
CitlbnVtIEZ1bmN0aW9uRXhwcmVzc2lvblR5cGUgeyBBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblR5
cGUsIENvbW1vbkZ1bmN0aW9uRXhwcmVzc2lvblR5cGV9OworICAgIAogZXh0ZXJuICJDIiBTbG93
UGF0aFJldHVyblR5cGUgbGxpbnRfdHJhY2Vfb3BlcmFuZChFeGVjU3RhdGUqIGV4ZWMsIEluc3Ry
dWN0aW9uKiBwYywgaW50IGZyb21XaGVyZSwgaW50IG9wZXJhbmQpCiB7CiAgICAgTExJTlRfQkVH
SU4oKTsKQEAgLTEwMDMsMTYgKzEwMTQsMzMgQEAgTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19w
YXRoX25ld19mdW5jKQogI2VuZGlmCiAgICAgTExJTlRfUkVUVVJOKEpTRnVuY3Rpb246OmNyZWF0
ZSh2bSwgY29kZUJsb2NrLT5mdW5jdGlvbkRlY2wocGNbM10udS5vcGVyYW5kKSwgc2NvcGUpKTsK
IH0KLQorICAgIAogTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX25ld19mdW5jX2V4cCkK
IHsKLSAgICBMTElOVF9CRUdJTigpOwotICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+
Y29kZUJsb2NrKCk7Ci0gICAgSlNTY29wZSogc2NvcGUgPSBleGVjLT51bmNoZWNrZWRSKHBjWzJd
LnUub3BlcmFuZCkuUmVnaXN0ZXI6OnNjb3BlKCk7Ci0gICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBm
dW5jdGlvbiA9IGNvZGVCbG9jay0+ZnVuY3Rpb25FeHByKHBjWzNdLnUub3BlcmFuZCk7Ci0gICAg
SlNGdW5jdGlvbiogZnVuYyA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgZnVuY3Rpb24sIHNjb3Bl
KTsKKyAgICBMTElOVF9DQUxDX1BST1BFUlRZX0ZPUl9GVU5DX0VYUFIoKTsKKworICAgIEpTRnVu
Y3Rpb24qIGZ1bmMgPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGV4ZWN1dGFibGUsIHNjb3BlKTsK
KyAgICBMTElOVF9SRVRVUk4oZnVuYyk7Cit9CisKKworTExJTlRfU0xPV19QQVRIX0RFQ0woc2xv
d19wYXRoX25ld19hcnJvd19mdW5jX2V4cCkKK3sKKyAgICBMTElOVF9DQUxDX1BST1BFUlRZX0ZP
Ul9GVU5DX0VYUFIoKTsKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBMTElOVF9PUF9DKDQpLmpzVmFsdWUoKTsKKyAgICBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZXhlYy0+Y2FsbGVlKCktPmdsb2JhbE9iamVjdCgp
OwogICAgIAorICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGV4
ZWN1dGFibGUsIHNjb3BlKTsKKyAgICAKKyAgICBjb25zdCBTdHJpbmcgZnVuY1dpdGhvdXROYW1l
ID0gIiI7CisgICAgCisgICAgTExJTlRfUkVUVVJOKEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlKHZt
LCBnbG9iYWxPYmplY3QsIGZ1bmMsIHRoaXNWYWx1ZSkpOworI2Vsc2UKKyAgICBKU0Z1bmN0aW9u
KiBmdW5jID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBleGVjdXRhYmxlLCBzY29wZSk7CiAgICAg
TExJTlRfUkVUVVJOKGZ1bmMpOworI2VuZGlmCiB9CiAKIHN0YXRpYyBTbG93UGF0aFJldHVyblR5
cGUgaGFuZGxlSG9zdENhbGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBJbnN0cnVjdGlvbiogcGMs
IEpTVmFsdWUgY2FsbGVlLCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGtpbmQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCmluZGV4IDRiZjdkZWIwZmEwYjZj
NjQzOGUzNmY5NjMyMGUyZjY2OTczOWFmNjQuLmM3ZmFiOTY5MWMxOGI5Mzk1NmQwZWEyOWYzMzk1
NjExOGM1ZTcxZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTElu
dFNsb3dQYXRocy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQ
YXRocy5oCkBAIC05Niw2ICs5Niw3IEBAIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93
X3BhdGhfc3dpdGNoX2NoYXIpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0
aF9zd2l0Y2hfc3RyaW5nKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhf
bmV3X2Z1bmMpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdfZnVu
Y19leHApOworTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3df
ZnVuY19leHApOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9jYWxsKTsK
IExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfY29uc3RydWN0KTsKIExMSU5U
X1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfc2l6ZV9mcmFtZV9mb3JfdmFyYXJncyk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc20KaW5kZXggNTQzZDllOTMzM2M1MTNlOTc2MTdiN2JkYTdmNjk5ODY2ODM4YTFlMC4uMTgy
YmJkOWU0ZWY3ODkyOGRhNTJmYmNlYzg4MmE1ZGYzNmRiNzk0MSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQpAQCAtMTE2OSw2
ICsxMTY5LDEwIEBAIF9sbGludF9vcF9uZXdfZnVuY19leHA6CiAgICAgY2FsbFNsb3dQYXRoKF9s
bGludF9zbG93X3BhdGhfbmV3X2Z1bmNfZXhwKQogICAgIGRpc3BhdGNoKDQpCiAKK19sbGludF9v
cF9uZXdfYXJyb3dfZnVuY19leHA6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxTbG93
UGF0aChfbGxpbnRfc2xvd19wYXRoX25ld19hcnJvd19mdW5jX2V4cCkKKyAgICBkaXNwYXRjaCg1
KQogCiBfbGxpbnRfb3BfY2FsbDoKICAgICB0cmFjZUV4ZWN1dGlvbigpCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCmluZGV4IGFhNzM3MDUyY2IzYzgxNTM1N2M4YTZm
ZTM2OGFkMjE1OWJhMzJjMGYuLjlkMDMxOTE0NGJkNGQ3YmUxNjZmZDc5NDA1MjU4YjkyZDI0YTQ2
NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCkBAIC0zNTcs
NiArMzU3LDE5IEBAIHB1YmxpYzoKICAgICAgICAgICAgIGluU3RyaWN0Q29udGV4dCwgY29uc3Ry
dWN0b3JLaW5kKTsKICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgIEV4cHJlc3Npb25Ob2RlKiBjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihjb25zdCBKU1Rv
a2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88QVNUQnVpbGRl
cj4mIGluZm8pCisgICAgeworICAgICAgICBTb3VyY2VDb2RlIHNvdXJjZSA9IGluZm8uZnVuY3Rp
b25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24KKyAgICAgICAgPyBtX3Nv
dXJjZUNvZGUtPnN1YkFycm93RXhwcmVzc2lvbihpbmZvLmFycm93RnVuY3Rpb25PZmZzZXQsIGlu
Zm8uY2xvc2VCcmFjZU9mZnNldCwgaW5mby5ib2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlTdGFydENv
bHVtbikKKyAgICAgICAgOiBtX3NvdXJjZUNvZGUtPnN1YkV4cHJlc3Npb24oaW5mby5vcGVuQnJh
Y2VPZmZzZXQsIGluZm8uY2xvc2VCcmFjZU9mZnNldCwgaW5mby5ib2R5U3RhcnRMaW5lLCBpbmZv
LmJvZHlTdGFydENvbHVtbik7CisKKyAgICAgICAgQXJyb3dGdW5jRXhwck5vZGUqIHJlc3VsdCA9
IG5ldyAobV9wYXJzZXJBcmVuYSkgQXJyb3dGdW5jRXhwck5vZGUobG9jYXRpb24sICppbmZvLm5h
bWUsIGluZm8uYm9keSwgc291cmNlLCBpbmZvLnBhcmFtZXRlcnMpOworICAgICAgICBpbmZvLmJv
ZHktPnNldExvYyhpbmZvLmJvZHlTdGFydExpbmUsIGluZm8uYm9keUVuZExpbmUsIGxvY2F0aW9u
LnN0YXJ0T2Zmc2V0LCBsb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQpOworICAgICAgICByZXR1cm4g
cmVzdWx0OworICAgIH0KKyNlbmRpZgorCiAgICAgTkVWRVJfSU5MSU5FIFByb3BlcnR5Tm9kZSog
Y3JlYXRlR2V0dGVyT3JTZXR0ZXJQcm9wZXJ0eShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0
aW9uLCBQcm9wZXJ0eU5vZGU6OlR5cGUgdHlwZSwgYm9vbCwKICAgICAgICAgY29uc3QgSWRlbnRp
ZmllciogbmFtZSwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPEFTVEJ1aWxkZXI+JiBpbmZvLCBT
dXBlckJpbmRpbmcgc3VwZXJCaW5kaW5nKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9MZXhlci5jcHAKaW5kZXggOTZlYjdhYWIyMzlhMzg2ZDA3ZjYwZGJhNzRlNmZhZDFmYTZjZDM3
YS4uYWQ3MDU2ZGRlMzg4ZWY4NmZiN2Y2Mjc2ZmRhNzNlYWU4OWQ0MzQ4ZCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKQEAgLTE3MDgsNiArMTcwOCwxOCBAQCBib29sIExl
eGVyPFQ+OjpuZXh0VG9rZW5Jc0NvbG9uKCkKICAgICByZXR1cm4gY29kZSA8IG1fY29kZUVuZCAm
JiAqY29kZSA9PSAnOic7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQordGVtcGxhdGUgPHR5cGVuYW1lIFQ+Cit2b2lkIExleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9u
KEpTVG9rZW4qIHRva2VuUmVjb3JkKQoreworICAgIEpTVG9rZW5EYXRhKiB0b2tlbkRhdGEgPSAm
dG9rZW5SZWNvcmQtPm1fZGF0YTsKKyAgICB0b2tlbkRhdGEtPmxpbmUgPSBsaW5lTnVtYmVyKCk7
CisgICAgdG9rZW5EYXRhLT5vZmZzZXQgPSBjdXJyZW50T2Zmc2V0KCk7CisgICAgdG9rZW5EYXRh
LT5saW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0KCk7CisgICAgQVNTRVJU
KHRva2VuRGF0YS0+b2Zmc2V0ID49IHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0KTsKK30KKyNl
bmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KIEpTVG9rZW5UeXBlIExleGVyPFQ+OjpsZXgo
SlNUb2tlbiogdG9rZW5SZWNvcmQsIHVuc2lnbmVkIGxleGVyRmxhZ3MsIGJvb2wgc3RyaWN0TW9k
ZSkKIHsKQEAgLTE3NzEsNyArMTc4MywxMiBAQCBzdGFydDoKICAgICAgICAgfQogICAgICAgICB0
b2tlbiA9IEdUOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIENoYXJhY3RlckVxdWFsOgorICAg
IGNhc2UgQ2hhcmFjdGVyRXF1YWw6IHsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgICAgICB1aW50MzJfdCBzYXZlZGxpbmVOdW1iZXIgPSB0b2tlbkRhdGEtPmxpbmU7
CisgICAgICAgIHVpbnQzMl90IHNhdmVkT2Zmc2V0ID0gY3VycmVudE9mZnNldCgpOworICAgICAg
ICB1aW50MzJfdCBzYXZlZExpbmVTdGFydE9mZnNldCA9IGN1cnJlbnRMaW5lU3RhcnRPZmZzZXQo
KTsKKyNlbmRpZgogICAgICAgICBzaGlmdCgpOwogICAgICAgICBpZiAobV9jdXJyZW50ID09ICc9
JykgewogICAgICAgICAgICAgc2hpZnQoKTsKQEAgLTE3ODMsOCArMTgwMCwyMiBAQCBzdGFydDoK
ICAgICAgICAgICAgIHRva2VuID0gRVFFUTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKG1fY3Vy
cmVudCA9PSAnPicpIHsKKyAgICAgICAgICAgIHNoaWZ0KCk7CisgICAgICAgICAgICB0b2tlbiA9
IEFSUk9XRlVOQ1RJT047CisKKyAgICAgICAgICAgIHRva2VuRGF0YS0+bGluZSA9IHNhdmVkbGlu
ZU51bWJlcjsKKyAgICAgICAgICAgIHRva2VuRGF0YS0+b2Zmc2V0ID0gc2F2ZWRPZmZzZXQ7Cisg
ICAgICAgICAgICB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCA9IHNhdmVkTGluZVN0YXJ0T2Zm
c2V0OworCisgICAgICAgICAgICBBU1NFUlQodG9rZW5EYXRhLT5vZmZzZXQgPj0gdG9rZW5EYXRh
LT5saW5lU3RhcnRPZmZzZXQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyNlbmRp
ZgogICAgICAgICB0b2tlbiA9IEVRVUFMOwogICAgICAgICBicmVhazsKKyAgICB9CiAgICAgY2Fz
ZSBDaGFyYWN0ZXJMZXNzOgogICAgICAgICBzaGlmdCgpOwogICAgICAgICBpZiAobV9jdXJyZW50
ID09ICchJyAmJiBwZWVrKDEpID09ICctJyAmJiBwZWVrKDIpID09ICctJykgewpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9MZXhlci5oCmluZGV4IDhhZmVmMjYxMTIxMDhhZWQ3ZTg2ZWQwZTg0Nzli
NzljMWQwMjI3YWIuLmJkYTNiZDQ5ZWE3YTU5YzM1YzRlMTI4NWNmOTQ4MzIyNTVjODdmZWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKQEAgLTg3LDYgKzg3LDkgQEAgcHVibGlj
OgogICAgIHZvaWQgc2V0SXNSZXBhcnNpbmcoKSB7IG1faXNSZXBhcnNpbmcgPSB0cnVlOyB9CiAg
ICAgYm9vbCBpc1JlcGFyc2luZygpIGNvbnN0IHsgcmV0dXJuIG1faXNSZXBhcnNpbmc7IH0KIAor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdm9pZCBzZXRUb2tlblBv
c2l0aW9uKEpTVG9rZW4qIHRva2VuUmVjb3JkKTsKKyNlbmRpZgogICAgIEpTVG9rZW5UeXBlIGxl
eChKU1Rva2VuKiwgdW5zaWduZWQsIGJvb2wgc3RyaWN0TW9kZSk7CiAgICAgYm9vbCBuZXh0VG9r
ZW5Jc0NvbG9uKCk7CiAgICAgaW50IGxpbmVOdW1iZXIoKSBjb25zdCB7IHJldHVybiBtX2xpbmVO
dW1iZXI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNv
bnN0cnVjdG9ycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0
b3JzLmgKaW5kZXggODliOTI4ZWNmOGI0NDAwMDYyMzY2MTI4MmE5NzBhNTYyMWE1MWE5Mi4uMWI0
MGVlM2UyMWQ4ZTM3MDE2MWNjOWY5YzRhZWVjYzcwNzI2M2ZhMSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKQEAgLTgzNSw2ICs4MzUsMTMg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIG1fYm9keS0+ZmluaXNoUGFyc2luZyhzb3VyY2Us
IHBhcmFtZXRlciwgaWRlbnQsIEZ1bmN0aW9uRXhwcmVzc2lvbik7CiAgICAgfQogCisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpbmxpbmUgQXJyb3dGdW5jRXhwck5v
ZGU6OkFycm93RnVuY0V4cHJOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNv
bnN0IElkZW50aWZpZXImIGlkZW50LCBGdW5jdGlvbkJvZHlOb2RlKiBib2R5LCBjb25zdCBTb3Vy
Y2VDb2RlJiBzb3VyY2UsIFBhcmFtZXRlck5vZGUqIHBhcmFtZXRlcikKKyAgICAgICAgOiBGdW5j
RXhwck5vZGUobG9jYXRpb24sIGlkZW50LCBib2R5LCBzb3VyY2UsIHBhcmFtZXRlcikKKyAgICB7
CisgICAgfQorI2VuZGlmCisgICAgCiAgICAgaW5saW5lIEZ1bmNEZWNsTm9kZTo6RnVuY0RlY2xO
b2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IElkZW50aWZpZXImIGlk
ZW50LCBGdW5jdGlvbkJvZHlOb2RlKiBib2R5LCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIFBh
cmFtZXRlck5vZGUqIHBhcmFtZXRlcikKICAgICAgICAgOiBTdGF0ZW1lbnROb2RlKGxvY2F0aW9u
KQogICAgICAgICAsIG1fYm9keShib2R5KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9Ob2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5o
CmluZGV4IDc4NDgxODRlNTU0Y2Y0MGVhZjM5MDY3ZTY3OGE1ZWQ4YWM1NDk5ZTguLjk1NDBiMWI0
NTE0NTE0MzYyZTA3OWE4NDdjMDE1ZGUwYmM3YjVmOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL05vZGVzLmgKQEAgLTE1OCw2ICsxNTgsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAg
dmlydHVhbCBib29sIGlzRG90QWNjZXNzb3JOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
ICAgICAgICAgdmlydHVhbCBib29sIGlzRGVjb25zdHJ1Y3Rpb25Ob2RlKCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzRnVuY0V4cHJOb2RlKCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgICAgICB2aXJ0dWFsIGJvb2wgaXNBcnJvd0Z1bmNFeHByTm9kZSgpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CisjZW5kaWYKICAgICAgICAgdmlydHVhbCBib29sIGlzQ29tbWFOb2RlKCkgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzU2ltcGxlQXJyYXko
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNBZGQoKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQpAQCAtMTcyNiw2ICsxNzI5LDE5IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICBGdW5jdGlvbkJvZHlOb2RlKiBtX2JvZHk7CiAgICAgfTsKIAorI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2xhc3MgQXJyb3dGdW5jRXhwck5v
ZGUgOiBwdWJsaWMgRnVuY0V4cHJOb2RlIHsKKyAgICBwdWJsaWM6CisgICAgICAgIEFycm93RnVu
Y0V4cHJOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IElkZW50aWZpZXImLCBGdW5j
dGlvbkJvZHlOb2RlKiwgY29uc3QgU291cmNlQ29kZSYsIFBhcmFtZXRlck5vZGUqID0gMCk7Cisg
ICAgcHJpdmF0ZToKKyAgICAgICAgdmlydHVhbCBSZWdpc3RlcklEKiBlbWl0Qnl0ZWNvZGUoQnl0
ZWNvZGVHZW5lcmF0b3ImLCBSZWdpc3RlcklEKiA9IDApIG92ZXJyaWRlOworICAgICAgICAKKyAg
ICAgICAgdmlydHVhbCBib29sIGlzRnVuY0V4cHJOb2RlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gZmFsc2U7IH0KKyAgICAgICAgCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Fycm93RnVuY0V4
cHJOb2RlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQorICAgIH07CisjZW5kaWYK
KwogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogICAgIGNsYXNzIENsYXNzRXhwck5vZGUg
ZmluYWwgOiBwdWJsaWMgRXhwcmVzc2lvbk5vZGUgewogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAppbmRleCBjNzA4OGU3MTkyOGNjMmJlNTg3OTYwOWJi
MzA5MDhjMWU1ODM0NTU5Li42YTlmMDQ3OTJhZWVjMWIwMjQ2ZTVhMTI0MDE2NzhmNjU4ODQyYzVj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCkBAIC0yNjQsNyArMjY0
LDcgQEAgU3RyaW5nIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlubmVyKCkKICAgICBpZiAobV9s
ZXhlci0+aXNSZXBhcnNpbmcoKSkKICAgICAgICAgbV9zdGF0ZW1lbnREZXB0aC0tOwogICAgIFNj
b3BlUmVmIHNjb3BlID0gY3VycmVudFNjb3BlKCk7Ci0gICAgU291cmNlRWxlbWVudHMqIHNvdXJj
ZUVsZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBDaGVja0ZvclN0cmljdE1v
ZGUpOworICAgIFNvdXJjZUVsZW1lbnRzKiBzb3VyY2VFbGVtZW50cyA9IHBhcnNlU291cmNlRWxl
bWVudHMoY29udGV4dCwgQ2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VU
eXBlKTsKICAgICBpZiAoIXNvdXJjZUVsZW1lbnRzIHx8ICFjb25zdW1lKEVPRlRPSykpIHsKICAg
ICAgICAgaWYgKGhhc0Vycm9yKCkpCiAgICAgICAgICAgICBwYXJzZUVycm9yID0gbV9lcnJvck1l
c3NhZ2U7CkBAIC0zNDMsNyArMzQzLDcgQEAgYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6YWxsb3dB
dXRvbWF0aWNTZW1pY29sb24oKQogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgot
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJj
ZUVsZW1lbnRzTW9kZSBtb2RlKQordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291
cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1
aWxkZXImIGNvbnRleHQsIFNvdXJjZUVsZW1lbnRzTW9kZSBtb2RlLCBGdW5jdGlvblBhcnNlVHlw
ZSBmdW5jdGlvblBhcnNlVHlwZSkKIHsKICAgICBjb25zdCB1bnNpZ25lZCBsZW5ndGhPZlVzZVN0
cmljdExpdGVyYWwgPSAxMjsgLy8gInVzZSBzdHJpY3QiLmxlbmd0aAogICAgIFRyZWVTb3VyY2VF
bGVtZW50cyBzb3VyY2VFbGVtZW50cyA9IGNvbnRleHQuY3JlYXRlU291cmNlRWxlbWVudHMoKTsK
QEAgLTM1Miw3ICszNTIsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3Vy
Y2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3VyY2VFbAogICAgIHVuc2lnbmVk
IGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwOwogICAgIGF1dG8gc2F2ZVBvaW50ID0gY3JlYXRl
U2F2ZVBvaW50KCk7CiAgICAgYm9vbCBoYXNTZXRTdHJpY3QgPSBmYWxzZTsKLSAgICB3aGlsZSAo
VHJlZVN0YXRlbWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVudChjb250ZXh0LCBkaXJlY3Rp
dmUsICZkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoKSkgeworICAgIHdoaWxlIChUcmVlU3RhdGVtZW50
IHN0YXRlbWVudCA9IHBhcnNlU3RhdGVtZW50KGNvbnRleHQsIGRpcmVjdGl2ZSwgJmRpcmVjdGl2
ZUxpdGVyYWxMZW5ndGgsIGZ1bmN0aW9uUGFyc2VUeXBlKSkgewogICAgICAgICBpZiAobW9kZSA9
PSBDaGVja0ZvclN0cmljdE1vZGUgJiYgIXNlZW5Ob25EaXJlY3RpdmUpIHsKICAgICAgICAgICAg
IGlmIChkaXJlY3RpdmUpIHsKICAgICAgICAgICAgICAgICAvLyAidXNlIHN0cmljdCIgbXVzdCBi
ZSB0aGUgZXhhY3QgbGl0ZXJhbCB3aXRob3V0IGVzY2FwZSBzZXF1ZW5jZXMgb3IgbGluZSBjb250
aW51YXRpb24uCkBAIC01ODQsNiArNTg0LDMxIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6Y3JlYXRlCiAg
ICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlQmluZGluZ0xvY2F0aW9uKHRva2VuLm1fbG9jYXRpb24s
IG5hbWUsIHRva2VuLm1fc3RhcnRQb3NpdGlvbiwgdG9rZW4ubV9lbmRQb3NpdGlvbik7CiB9CiAK
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1l
IExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVy
JiBjb250ZXh0KQoreworICAgIEFTU0VSVChtYXRjaChBUlJPV0ZVTkNUSU9OKSk7CisKKyAgICBK
U1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICBKU1RleHRQb3Np
dGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAgIEpTVGV4dFBvc2l0aW9uIGVu
ZCA9IHRva2VuRW5kUG9zaXRpb24oKTsKKworICAgIG5leHQoKTsKKyAgICBUcmVlRXhwcmVzc2lv
biBleHByID0gcGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICBmYWls
SWZGYWxzZShleHByLCAiQ2Fubm90IHBhcnNlIHRoZSBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9u
Iik7CisgICAgZW5kID0gbGFzdFRva2VuRW5kUG9zaXRpb24oKTsKKworICAgIGJvb2wgY29ycmVj
dEFycm93RmluaXNoID0gaXNFbmRPZkFycm93RnVuY3Rpb24oKSB8fCBtYXRjaChFT0ZUT0spOwor
ICAgIGZhaWxJZkZhbHNlKGNvcnJlY3RBcnJvd0ZpbmlzaCwgIkV4cGVjdGVkIGEgJzsnLCAnXScs
ICd9JywgJyknLCBvciAnLCcgZm9sbG93aW5nIGEgYXJyb3cgZnVuY3Rpb24gc3RhdGVtZW50Iik7
CisKKyAgICBlbmQgPSB0b2tlbkVuZFBvc2l0aW9uKCk7CisgICAgc2V0RW5kT2ZTdGF0ZW1lbnQo
KTsKKworICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJldHVyblN0YXRlbWVudChsb2NhdGlvbiwg
ZXhwciwgc3RhcnQsIGVuZCk7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVy
VHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlY29uc3RydWN0aW9uUGF0
dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6dHJ5UGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm5FeHBy
ZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewpAQCAtMTAzMSw3ICsxMDU2LDcgQEAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhdXNlTGlzdCBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VTd2l0Y2hDbGF1c2UKICAgICBUcmVlRXhwcmVzc2lvbiBjb25kaXRpb24gPSBwYXJz
ZUV4cHJlc3Npb24oY29udGV4dCk7CiAgICAgZmFpbElmRmFsc2UoY29uZGl0aW9uLCAiQ2Fubm90
IHBhcnNlIHN3aXRjaCBjbGF1c2UiKTsKICAgICBjb25zdW1lT3JGYWlsKENPTE9OLCAiRXhwZWN0
ZWQgYSAnOicgYWZ0ZXIgc3dpdGNoIGNsYXVzZSBleHByZXNzaW9uIik7Ci0gICAgVHJlZVNvdXJj
ZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRD
aGVja0ZvclN0cmljdE1vZGUpOworICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRzID0g
cGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFu
ZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICBmYWlsSWZGYWxzZShzdGF0ZW1lbnRzLCAiQ2Fu
bm90IHBhcnNlIHRoZSBib2R5IG9mIGEgc3dpdGNoIGNsYXVzZSIpOwogICAgIFRyZWVDbGF1c2Ug
Y2xhdXNlID0gY29udGV4dC5jcmVhdGVDbGF1c2UoY29uZGl0aW9uLCBzdGF0ZW1lbnRzKTsKICAg
ICBjb250ZXh0LnNldFN0YXJ0T2Zmc2V0KGNsYXVzZSwgc3RhcnRPZmZzZXQpOwpAQCAtMTA0NCw3
ICsxMDY5LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhdXNlTGlzdCBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTd2l0Y2hDbGF1c2UKICAgICAgICAgVHJlZUV4cHJlc3Np
b24gY29uZGl0aW9uID0gcGFyc2VFeHByZXNzaW9uKGNvbnRleHQpOwogICAgICAgICBmYWlsSWZG
YWxzZShjb25kaXRpb24sICJDYW5ub3QgcGFyc2Ugc3dpdGNoIGNhc2UgZXhwcmVzc2lvbiIpOwog
ICAgICAgICBjb25zdW1lT3JGYWlsKENPTE9OLCAiRXhwZWN0ZWQgYSAnOicgYWZ0ZXIgc3dpdGNo
IGNsYXVzZSBleHByZXNzaW9uIik7Ci0gICAgICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1l
bnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2Rl
KTsKKyAgICAgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVs
ZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUsIFN0YW5kYXJkRnVuY3Rpb25Q
YXJzZVR5cGUpOwogICAgICAgICBmYWlsSWZGYWxzZShzdGF0ZW1lbnRzLCAiQ2Fubm90IHBhcnNl
IHRoZSBib2R5IG9mIGEgc3dpdGNoIGNsYXVzZSIpOwogICAgICAgICBjbGF1c2UgPSBjb250ZXh0
LmNyZWF0ZUNsYXVzZShjb25kaXRpb24sIHN0YXRlbWVudHMpOwogICAgICAgICBjb250ZXh0LnNl
dFN0YXJ0T2Zmc2V0KGNsYXVzZSwgc3RhcnRPZmZzZXQpOwpAQCAtMTA2MSw3ICsxMDg2LDcgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhdXNlIFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZVN3aXRjaERlZmF1bHRDbGEKICAgICB1bnNpZ25lZCBzdGFydE9mZnNldCA9IHRva2Vu
U3RhcnQoKTsKICAgICBuZXh0KCk7CiAgICAgY29uc3VtZU9yRmFpbChDT0xPTiwgIkV4cGVjdGVk
IGEgJzonIGFmdGVyIHN3aXRjaCBkZWZhdWx0IGNsYXVzZSIpOwotICAgIFRyZWVTb3VyY2VFbGVt
ZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tG
b3JTdHJpY3RNb2RlKTsKKyAgICBUcmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBhcnNl
U291cmNlRWxlbWVudHMoY29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRG
dW5jdGlvblBhcnNlVHlwZSk7CiAgICAgZmFpbElmRmFsc2Uoc3RhdGVtZW50cywgIkNhbm5vdCBw
YXJzZSB0aGUgYm9keSBvZiBhIHN3aXRjaCBkZWZhdWx0IGNsYXVzZSIpOwogICAgIFRyZWVDbGF1
c2UgcmVzdWx0ID0gY29udGV4dC5jcmVhdGVDbGF1c2UoMCwgc3RhdGVtZW50cyk7CiAgICAgY29u
dGV4dC5zZXRTdGFydE9mZnNldChyZXN1bHQsIHN0YXJ0T2Zmc2V0KTsKQEAgLTExNDYsNyArMTE3
MSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VCbG9ja1N0YXRlbWVuCiAgICAgICAgIGNvbnRleHQuc2V0RW5kT2Zm
c2V0KHJlc3VsdCwgZW5kT2Zmc2V0KTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0g
ICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN1YnRyZWUgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRl
eHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUpOworICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdWJ0
cmVlID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2Rl
LCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICBmYWlsSWZGYWxzZShzdWJ0cmVlLCAi
Q2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIHRoZSBibG9jayBzdGF0ZW1lbnQiKTsKICAgICBtYXRj
aE9yRmFpbChDTE9TRUJSQUNFLCAiRXhwZWN0ZWQgYSBjbG9zaW5nICd9JyBhdCB0aGUgZW5kIG9m
IGEgYmxvY2sgc3RhdGVtZW50Iik7CiAgICAgaW50IGVuZE9mZnNldCA9IG1fdG9rZW4ubV9kYXRh
Lm9mZnNldDsKQEAgLTExNTgsNyArMTE4Myw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VCbG9ja1N0YXRlbWVuCiB9
CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Ci10ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRy
ZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25l
ZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCkKK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxk
ZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJl
Y3RpdmVMaXRlcmFsTGVuZ3RoLCBGdW5jdGlvblBhcnNlVHlwZSBwYXJzZVR5cGUpCiB7CiAgICAg
RGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKICAgICBtX3N0
YXRlbWVudERlcHRoKys7CkBAIC0xMTY3LDYgKzExOTIsMjMgQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVu
dChUcmUKICAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7CiAgICAgVHJlZVN0YXRlbWVudCByZXN1
bHQgPSAwOwogICAgIGJvb2wgc2hvdWxkU2V0RW5kT2Zmc2V0ID0gdHJ1ZTsKKworI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJvd0Z1
bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKKyAg
ICAgICAgY2FzZSBDTE9TRVBBUkVOOgorICAgICAgICBjYXNlIENMT1NFQlJBQ0tFVDoKKyAgICAg
ICAgY2FzZSBDT01NQToKKyAgICAgICAgY2FzZSBTRU1JQ09MT046IHsKKyAgICAgICAgICAgIHJl
c3VsdCA9IDA7CisgICAgICAgICAgICBjb250ZXh0LnNldEVuZE9mZnNldChyZXN1bHQsIG1fbGFz
dFRva2VuRW5kUG9zaXRpb24ub2Zmc2V0KTsKKyAgICAgICAgICAgIHJldHVybiByZXN1bHQ7Cisg
ICAgICAgIH0KKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9
CisgICAgfQorI2VuZGlmCiAgICAgc3dpdGNoIChtX3Rva2VuLm1fdHlwZSkgewogICAgIGNhc2Ug
T1BFTkJSQUNFOgogICAgICAgICByZXN1bHQgPSBwYXJzZUJsb2NrU3RhdGVtZW50KGNvbnRleHQp
OwpAQCAtMTIxMiw2ICsxMjU0LDE1IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgY2Fz
ZSBCUkVBSzoKICAgICAgICAgcmVzdWx0ID0gcGFyc2VCcmVha1N0YXRlbWVudChjb250ZXh0KTsK
ICAgICAgICAgYnJlYWs7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICBjYXNlIEFSUk9XRlVOQ1RJT046CisgICAgICAgIHJlc3VsdCA9IHBhcnNlQXJyb3dGdW5jdGlv
blN0YXRlbWVudChjb250ZXh0KTsKKyAgICAgICAgLy8gQ29uc3VtZSB0aGUgZW5kIG9mIGFycm93
IGZ1bmN0aW9uICw7XSkgYW5kIHByZXZlbnQKKyAgICAgICAgLy8gcGFyc2UgdGhpcyBzeW1ib2xz
IGJ5IHBhcnNlU3RhdGVtZW50IGFzIHNlcGFyYXRlIHN0YXRlbWVudAorICAgICAgICBpZiAocGFy
c2VUeXBlID09IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpCisgICAgICAgICAgICBuZXh0KCk7
CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgY2FzZSBSRVRVUk46CiAgICAgICAgIHJlc3Vs
dCA9IHBhcnNlUmV0dXJuU3RhdGVtZW50KGNvbnRleHQpOwogICAgICAgICBicmVhazsKQEAgLTEy
NzYsMjAgKzEzMjcsMzQgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRm9ybWFs
UGFyYW1ldGVyTGlzdCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGb3IKIHRlbXBsYXRlIDx0eXBl
bmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGdW5jdGlv
bkJvZHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25Cb2R5KAogICAgIFRyZWVCdWls
ZGVyJiBjb250ZXh0LCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVT
dGFydCwgCi0gICAgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVj
dG9yS2luZCkKKyAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQgY29uc3Ry
dWN0b3JLaW5kLCBGdW5jdGlvblBhcnNlVHlwZSBwYXJzZVR5cGUpCiB7CiAgICAgSlNUb2tlbkxv
Y2F0aW9uIHN0YXJ0TG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKICAgICB1bnNpZ25lZCBzdGFy
dENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICBpZiAocGFyc2VUeXBlID09IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpIHsK
KyAgICAgICAgbmV4dCgpOworICAgICAgICBpZiAobWF0Y2goQ0xPU0VCUkFDRSkpIHsKKyAgICAg
ICAgICAgIHVuc2lnbmVkIGVuZENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CisgICAgICAgICAgICBy
ZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgdG9rZW5Mb2Nh
dGlvbigpLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVu
Y3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgc3RyaWN0TW9kZSgpLCBjb25zdHJ1Y3Rv
cktpbmQpOworICAgICAgICB9CisgICAgfQorI2Vsc2UKICAgICBuZXh0KCk7Ci0KICAgICBpZiAo
bWF0Y2goQ0xPU0VCUkFDRSkpIHsKICAgICAgICAgdW5zaWduZWQgZW5kQ29sdW1uID0gdG9rZW5D
b2x1bW4oKTsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0YXJ0
TG9jYXRpb24sIHRva2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgZnVuY3Rp
b25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0cmlj
dE1vZGUoKSwgY29uc3RydWN0b3JLaW5kKTsKICAgICB9CisjZW5kaWYKKwogICAgIERlcHRoTWFu
YWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7CiAgICAgbV9zdGF0ZW1lbnRE
ZXB0aCA9IDA7CiAgICAgdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkZ1bmN0aW9uQm9keUJ1aWxkZXIg
Ym9keUJ1aWxkZXIoY29uc3RfY2FzdDxWTSo+KG1fdm0pLCBtX2xleGVyLmdldCgpKTsKLSAgICBm
YWlsSWZGYWxzZShwYXJzZVNvdXJjZUVsZW1lbnRzKGJvZHlCdWlsZGVyLCBDaGVja0ZvclN0cmlj
dE1vZGUpLCAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBmdW5jdGlvbiIpOworI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgZmFpbElmRmFsc2UocGFyc2VTb3VyY2VF
bGVtZW50cyhib2R5QnVpbGRlciwgQ2hlY2tGb3JTdHJpY3RNb2RlLCBwYXJzZVR5cGUpLCBwYXJz
ZVR5cGUgPT0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSA/ICJDYW5ub3QgcGFyc2UgYm9keSBv
ZiB0aGlzIGZ1bmN0aW9uIiA6ICJDYW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGFycm93IGZ1bmN0
aW9uIik7CisjZWxzZQorICAgIGZhaWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMoYm9keUJ1
aWxkZXIsIENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSksICJD
YW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGZ1bmN0aW9uIik7CisjZW5kaWYKICAgICB1bnNpZ25l
ZCBlbmRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOwogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1
bmN0aW9uQm9keShzdGFydExvY2F0aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0YXJ0Q29sdW1uLCBl
bmRDb2x1bW4sIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1l
dGVyc1N0YXJ0LCBzdHJpY3RNb2RlKCksIGNvbnN0cnVjdG9yS2luZCk7CiB9CkBAIC0xMzEwLDE1
ICsxMzc1LDggQEAgc3RhdGljIGNvbnN0IGNoYXIqIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShGdW5j
dGlvblBhcnNlTW9kZSBtb2RlKQogICAgIHJldHVybiBudWxscHRyOwogfQogCi10ZW1wbGF0ZSA8
dHlwZW5hbWUgTGV4ZXJUeXBlPgotdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYgY29udGV4dCwg
RnVuY3Rpb25SZXF1aXJlbWVudHMgcmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSBtb2Rl
LAotICAgIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCBvd25l
ckNsYXNzS2luZCwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88
VHJlZUJ1aWxkZXI+JiBpbmZvKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4gdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBpbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rp
b25QYXJhbXRlcnMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzIHJl
cXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUgbW9kZSwgYm9vbCBuYW1lSXNJbkNvbnRhaW5p
bmdTY29wZSwgQXV0b1BvcFNjb3BlUmVmJiBmdW5jdGlvblNjb3BlLCBQYXJzZXJGdW5jdGlvbklu
Zm88VHJlZUJ1aWxkZXI+JiBpbmZvKQogewotICAgIEF1dG9Qb3BTY29wZVJlZiBmdW5jdGlvblNj
b3BlKHRoaXMsIHB1c2hTY29wZSgpKTsKLSAgICBmdW5jdGlvblNjb3BlLT5zZXRJc0Z1bmN0aW9u
KCk7Ci0gICAgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0
T2Zmc2V0OwotICAgIGNvbnN0IElkZW50aWZpZXIqIGxhc3RGdW5jdGlvbk5hbWUgPSBtX2xhc3RG
dW5jdGlvbk5hbWU7Ci0gICAgbV9sYXN0RnVuY3Rpb25OYW1lID0gbnVsbHB0cjsKICAgICBpZiAo
bWF0Y2goSURFTlQpKSB7CiAgICAgICAgIGluZm8ubmFtZSA9IG1fdG9rZW4ubV9kYXRhLmlkZW50
OwogICAgICAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBpbmZvLm5hbWU7CkBAIC0xMzM3LDcgKzEz
OTUsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICBzZW1hbnRpY0ZhaWx1cmVE
dWVUb0tleXdvcmQoc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUiKTsKICAgICAg
ICAgZmFpbFdpdGhNZXNzYWdlKCJFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSAiLCBz
dHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIncyBwYXJhbWV0ZXIgbGlzdCIpOwogICAgIH0K
LQorICAgIAogICAgIGlmIChtb2RlID09IEdldHRlck1vZGUpCiAgICAgICAgIGNvbnN1bWVPckZh
aWwoQ0xPU0VQQVJFTiwgImdldHRlciBmdW5jdGlvbnMgbXVzdCBoYXZlIG5vIHBhcmFtZXRlcnMi
KTsKICAgICBlbHNlIGlmIChtb2RlID09IFNldHRlck1vZGUpIHsKQEAgLTEzNTQsMTYgKzE0MTIs
NzkgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgfQogICAgICAgICBjb25zdW1l
T3JGYWlsKENMT1NFUEFSRU4sICJFeHBlY3RlZCBhICcpJyBvciBhICcsJyBhZnRlciBhIHBhcmFt
ZXRlciBkZWNsYXJhdGlvbiIpOwogICAgIH0KKyAgICAKKyAgICByZXR1cm4gcGFyYW1ldGVyc1N0
YXJ0OworfQogCi0gICAgbWF0Y2hPckZhaWwoT1BFTkJSQUNFLCAiRXhwZWN0ZWQgYW4gb3Blbmlu
ZyAneycgYXQgdGhlIHN0YXJ0IG9mIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAi
IGJvZHkiKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUg
PHR5cGVuYW1lIExleGVyVHlwZT4gdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBpbnQgUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvblBhcmFtdGVycyhUcmVlQnVpbGRlciYg
Y29udGV4dCwgRnVuY3Rpb25QYXJzZU1vZGUgbW9kZSwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVC
dWlsZGVyPiYgaW5mbykKK3sKKyAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0ID0gbV90b2tlbi5tX2xv
Y2F0aW9uLnN0YXJ0T2Zmc2V0OworICAgIGlmICghbWF0Y2goSURFTlQpICYmICFtYXRjaChPUEVO
UEFSRU4pKSB7CisgICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JG
dW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSIpOworICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4
cGVjdGVkIGFuIGFycm93IGZ1bmN0aW9uIGlucHV0IHBhcmFtZXRlciIpOworICAgIH0gZWxzZSB7
CisgICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgICAgICBjb25zdW1lKE9Q
RU5QQVJFTik7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGlmICghbWF0Y2goQ0xPU0VQQVJF
TikpIHsKKyAgICAgICAgICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBwYXJzZUZvcm1hbFBhcmFt
ZXRlcnMoY29udGV4dCk7CisgICAgICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0
ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rp
b25Nb2RlKG1vZGUpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAg
Y29uc3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiRXhwZWN0ZWQgYSAnKScgb3IgYSAnLCcgYWZ0ZXIg
YSBwYXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
IGF1dG8gcGFyYW1ldGVyID0gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oY29udGV4dCwgRGVj
b25zdHJ1Y3RUb1BhcmFtZXRlcnMpOworICAgICAgICAgICAgZmFpbElmRmFsc2UocGFyYW1ldGVy
LCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlciBwYXR0ZXJuIik7CisgICAgICAgICAgICBpbmZvLnBh
cmFtZXRlcnMgPSBjb250ZXh0LmNyZWF0ZUZvcm1hbFBhcmFtZXRlckxpc3QocGFyYW1ldGVyKTsK
KyAgICAgICAgICAgIGZhaWxJZkZhbHNlKGluZm8ucGFyYW1ldGVycywgIkNhbm5vdCBwYXJzZSBw
YXJhbWV0ZXJzIGZvciB0aGlzICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7CisgICAg
ICAgIH0KKyAgICB9CisgICAgCisgICAgcmV0dXJuIHBhcmFtZXRlcnNTdGFydDsKK30KKyNlbmRp
ZgogCi0gICAgLy8gQnl0ZWNvZGVHZW5lcmF0b3IgZW1pdHMgY29kZSB0byB0aHJvdyBUeXBlRXJy
b3Igd2hlbiBhIGNsYXNzIGNvbnN0cnVjdG9yIGlzICJjYWxsImVkLgotICAgIC8vIFNldCBDb25z
dHJ1Y3RvcktpbmQgdG8gTm9uZSBmb3Igbm9uLWNvbnN0cnVjdG9yIG1ldGhvZHMgb2YgY2xhc3Nl
cy4KLSAgICBib29sIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IG1vZGUgPT0gTWV0aG9kTW9kZSAmJiBp
bmZvLm5hbWUgJiYgKmluZm8ubmFtZSA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3Rv
cjsKLSAgICBpZiAobV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kICE9IENvbnN0cnVjdG9yS2luZDo6
Tm9uZSkgewotICAgICAgICBvd25lckNsYXNzS2luZCA9IG1fZGVmYXVsdENvbnN0cnVjdG9yS2lu
ZDsKLSAgICAgICAgaXNDbGFzc0NvbnN0cnVjdG9yID0gdHJ1ZTsKK3RlbXBsYXRlIDx0eXBlbmFt
ZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlv
blJlcXVpcmVtZW50cyByZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUsCisgICAg
Ym9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kIG93bmVyQ2xhc3NL
aW5kLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVp
bGRlcj4mIGluZm8sIEZ1bmN0aW9uUGFyc2VUeXBlIHBhcnNlVHlwZSkKK3sKKyAgICBBdXRvUG9w
U2NvcGVSZWYgZnVuY3Rpb25TY29wZSh0aGlzLCBwdXNoU2NvcGUoKSk7CisgICAgZnVuY3Rpb25T
Y29wZS0+c2V0SXNGdW5jdGlvbigpOworICAgIGludCBmdW5jdGlvbk5hbWVTdGFydCA9IG1fdG9r
ZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKKyAgICBjb25zdCBJZGVudGlmaWVyKiBsYXN0RnVu
Y3Rpb25OYW1lID0gbV9sYXN0RnVuY3Rpb25OYW1lOworICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9
IG51bGxwdHI7CisgICAgaW50IHBhcmFtZXRlcnNTdGFydDsKKyAgICBib29sIGlzQ2xhc3NDb25z
dHJ1Y3RvcjsKKyAgICAKKyAgICBzd2l0Y2ggKHBhcnNlVHlwZSkgeworICAgIGNhc2UgU3RhbmRh
cmRGdW5jdGlvblBhcnNlVHlwZTogeworICAgICAgICBwYXJhbWV0ZXJzU3RhcnQgPSBwYXJzZUZ1
bmN0aW9uUGFyYW10ZXJzKGNvbnRleHQsIHJlcXVpcmVtZW50cywgbW9kZSwgbmFtZUlzSW5Db250
YWluaW5nU2NvcGUsIGZ1bmN0aW9uU2NvcGUsIGluZm8pOworICAgICAgICAgICAgCisgICAgICAg
IG1hdGNoT3JGYWlsKE9QRU5CUkFDRSwgIkV4cGVjdGVkIGFuIG9wZW5pbmcgJ3snIGF0IHRoZSBz
dGFydCBvZiBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7CisgICAg
ICAgIAorICAgICAgICAvLyBCeXRlY29kZUdlbmVyYXRvciBlbWl0cyBjb2RlIHRvIHRocm93IFR5
cGVFcnJvciB3aGVuIGEgY2xhc3MgY29uc3RydWN0b3IgaXMgImNhbGwiZWQuCisgICAgICAgIC8v
IFNldCBDb25zdHJ1Y3RvcktpbmQgdG8gTm9uZSBmb3Igbm9uLWNvbnN0cnVjdG9yIG1ldGhvZHMg
b2YgY2xhc3Nlcy4KKyAgICAgICAgaXNDbGFzc0NvbnN0cnVjdG9yID0gbW9kZSA9PSBNZXRob2RN
b2RlICYmIGluZm8ubmFtZSAmJiAqaW5mby5uYW1lID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPmNv
bnN0cnVjdG9yOworICAgICAgICBpZiAobV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kICE9IENvbnN0
cnVjdG9yS2luZDo6Tm9uZSkgeworICAgICAgICAgICAgb3duZXJDbGFzc0tpbmQgPSBtX2RlZmF1
bHRDb25zdHJ1Y3RvcktpbmQ7CisgICAgICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSB0cnVl
OworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2UgQXJyb3dGdW5jdGlvblBhcnNlVHlwZTogeworICAg
ICAgICBwYXJhbWV0ZXJzU3RhcnQgPSBwYXJzZUFycm93RnVuY3Rpb25QYXJhbXRlcnMoY29udGV4
dCwgbW9kZSwgaW5mbyk7CisgICAgICAgIAorICAgICAgICBtYXRjaE9yRmFpbChBUlJPV0ZVTkNU
SU9OLCAiRXhwZWN0ZWQgYSAnPT4nIGFmdGVyIGFycm93IGZ1bmN0aW9uIHBhcmFtZXRlciBkZWNs
YXJhdGlvbiIpOworICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSBmYWxzZTsKKyAgICAgICAg
CisgICAgICAgIGluZm8uYXJyb3dGdW5jdGlvbk9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNl
dDsKKyAgICAgICAgYnJlYWs7CiAgICAgfQorI2VuZGlmCisgICAgfQorCiAgICAgQ29uc3RydWN0
b3JLaW5kIGNvbnN0cnVjdG9yS2luZCA9IGlzQ2xhc3NDb25zdHJ1Y3RvciA/IG93bmVyQ2xhc3NL
aW5kIDogQ29uc3RydWN0b3JLaW5kOjpOb25lOwogCiAgICAgaW5mby5vcGVuQnJhY2VPZmZzZXQg
PSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CkBAIC0xMzk3LDggKzE1MTgsMTUgQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9u
SW5mbyhUcmVlQnVpbGQKICAgICAgICAgZmFpbElmRmFsc2UocG9wU2NvcGUoZnVuY3Rpb25TY29w
ZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQYXJzZXIgZXJyb3IiKTsK
ICAgICAgICAgCiAgICAgICAgIGluZm8uY2xvc2VCcmFjZU9mZnNldCA9IGNhY2hlZEluZm8tPmNs
b3NlQnJhY2VPZmZzZXQ7Ci0KLSAgICAgICAgbV90b2tlbiA9IGNhY2hlZEluZm8tPmNsb3NlQnJh
Y2VUb2tlbigpOworICAgICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgICAgICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpCisgICAg
ICAgICAgICBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPSBjYWNoZWRJbmZvLT5pc0JvZHlBcnJvd0V4
cHJlc3Npb24gPyAgQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uIDogQXJyb3dGdW5jdGlvbkJv
ZHlCbG9jazsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgaW5mby5mdW5jdGlvbkJvZHlUeXBl
ID0gU3RhbmRhcmRGdW5jdGlvbkJvZHlCbG9jazsKKyNlbmRpZgorICAgICAgICBtX3Rva2VuID0g
Y2FjaGVkSW5mby0+ZW5kRnVuY3Rpb25Ub2tlbigpOworICAgICAgICAKICAgICAgICAgaWYgKGVu
ZENvbHVtbklzT25TdGFydExpbmUpCiAgICAgICAgICAgICBtX3Rva2VuLm1fbG9jYXRpb24ubGlu
ZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVTdGFydE9mZnNldDsKIApAQCAtMTQwNywxMyArMTUz
NSw0MyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogCiAgICAgICAgIGNvbnRleHQuc2V0RW5k
T2Zmc2V0KGluZm8uYm9keSwgbV9sZXhlci0+Y3VycmVudE9mZnNldCgpKTsKICAgICAgICAgCisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKHBhcnNlVHlw
ZSAhPSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlIHx8IGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9PSBB
cnJvd0Z1bmN0aW9uQm9keUJsb2NrKQorICAgICAgICAgICAgbmV4dCgpOworI2Vsc2UKICAgICAg
ICAgbmV4dCgpOworI2VuZGlmCiAgICAgICAgIGluZm8uYm9keUVuZExpbmUgPSBtX2xhc3RUb2tl
bkVuZFBvc2l0aW9uLmxpbmU7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KKyAgICAKICAg
ICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBsYXN0RnVuY3Rpb25OYW1lOwogICAgIFBhcnNlclN0YXRl
IG9sZFN0YXRlID0gc2F2ZVN0YXRlKCk7Ci0gICAgaW5mby5ib2R5ID0gcGFyc2VGdW5jdGlvbkJv
ZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJh
bWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCk7CisgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJz
ZVR5cGUpIHsKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgp
OworICAgICAgICBuZXh0KCk7CisgICAgICAgIC8vIENoZWNrIGlmIGFycm93IGJvZHkgc3RhcnQg
d2l0aCB7LiBJZiBpdCB0cnVlIGl0IG1lYW4gdGhhdCBhcnJvdyBmdW5jdGlvbiBpcyBGYXQgYXJy
b3cgZnVuY3Rpb24KKyAgICAgICAgLy8gYW5kIHdlIG5lZWQgdXNlIGNvbW1vbiBhcHByb2FjaCB0
byBwYXJzZSBmdW5jdGlvbiBib2R5CisgICAgICAgIGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9IG1h
dGNoKE9QRU5CUkFDRSkgPyBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrIDogQXJyb3dGdW5jdGlvbkJv
ZHlFeHByZXNzaW9uOworICAgIAorICAgICAgICBpZiAoaW5mby5mdW5jdGlvbkJvZHlUeXBlID09
IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHsKKyAgICAgICAgICAgIGluZm8ub3BlbkJyYWNlT2Zm
c2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgICAgICAgICAgaW5mby5ib2R5U3RhcnRM
aW5lID0gdG9rZW5MaW5lKCk7CisgICAgICAgICAgICBpbmZvLmJvZHlTdGFydENvbHVtbiA9IG1f
dG9rZW4ubV9kYXRhLm9mZnNldCAtIG1fdG9rZW4ubV9kYXRhLmxpbmVTdGFydE9mZnNldDsKKyAg
ICAgICAgCisgICAgICAgICAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0
LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFy
dCwgY29uc3RydWN0b3JLaW5kLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKKyAgICAg
ICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5
d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3Rv
cktpbmQsIEFycm93RnVuY3Rpb25QYXJzZVR5cGUpOworICAgICAgICB9CisgICAgfSBlbHNlCisg
ICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5
d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3Rv
cktpbmQsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOworI2Vsc2UKKyAgICBpbmZvLmJvZHkg
PSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rp
b25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kLCBTdGFuZGFyZEZ1
bmN0aW9uUGFyc2VUeXBlKTsKKyNlbmRpZgorICAgIAogICAgIHJlc3RvcmVTdGF0ZShvbGRTdGF0
ZSk7CiAgICAgZmFpbElmRmFsc2UoaW5mby5ib2R5LCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9m
IHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKICAgICBjb250ZXh0LnNldEVu
ZE9mZnNldChpbmZvLmJvZHksIG1fbGV4ZXItPmN1cnJlbnRPZmZzZXQoKSk7CkBAIC0xNDQ0LDE4
ICsxNjAyLDMyIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIHBhcmFtZXRlcnMu
Y2xvc2VCcmFjZUxpbmUgPSBjbG9zZUJyYWNlTGluZTsKICAgICAgICAgcGFyYW1ldGVycy5jbG9z
ZUJyYWNlT2Zmc2V0ID0gaW5mby5jbG9zZUJyYWNlT2Zmc2V0OwogICAgICAgICBwYXJhbWV0ZXJz
LmNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0Owor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChwYXJzZVR5
cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICAgICAgcGFyYW1ldGVycy5p
c0JvZHlBcnJvd0V4cHJlc3Npb24gPSBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5j
dGlvbkJvZHlFeHByZXNzaW9uOworICAgICAgICAgICAgcGFyYW1ldGVycy50b2tlblR5cGUgPSBt
X3Rva2VuLm1fdHlwZTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIGZ1bmN0aW9uU2NvcGUt
PmZpbGxQYXJhbWV0ZXJzRm9yU291cmNlUHJvdmlkZXJDYWNoZShwYXJhbWV0ZXJzKTsKICAgICAg
ICAgbmV3SW5mbyA9IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjpjcmVhdGUocGFyYW1ldGVycyk7
Ci0KICAgICB9CiAgICAgCiAgICAgZmFpbElmRmFsc2UocG9wU2NvcGUoZnVuY3Rpb25TY29wZSwg
VHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQYXJzZXIgZXJyb3IiKTsKKyAg
ICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlmICgocGFyc2VU
eXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUgJiYgaW5mby5mdW5jdGlvbkJvZHlUeXBlID09
IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHx8IHBhcnNlVHlwZSAhPSBBcnJvd0Z1bmN0aW9uUGFy
c2VUeXBlKSB7CisgICAgICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0UsICJFeHBlY3RlZCBhIGNs
b3NpbmcgJ30nIGFmdGVyIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHki
KTsKKyAgICAgICAgbmV4dCgpOworICAgIH0gZWxzZQorICAgICAgICBmYWlsSWZGYWxzZShpc0Vu
ZE9mQXJyb3dGdW5jdGlvbigpLCAiRXhwZWN0ZWQgdGhlIGNsb3NpbmcgJzsnICcsJyAnXScgJykn
ICd9JyBhZnRlciBhcnJvdyBmdW5jdGlvbiIpOworI2Vsc2UKICAgICBtYXRjaE9yRmFpbChDTE9T
RUJSQUNFLCAiRXhwZWN0ZWQgYSBjbG9zaW5nICd9JyBhZnRlciBhICIsIHN0cmluZ0ZvckZ1bmN0
aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7CisgICAgbmV4dCgpOworI2VuZGlmCiAgICAgCiAgICAg
aWYgKG5ld0luZm8pCiAgICAgICAgIG1fZnVuY3Rpb25DYWNoZS0+YWRkKGluZm8ub3BlbkJyYWNl
T2Zmc2V0LCBXVEY6Om1vdmUobmV3SW5mbykpOwogICAgIAotICAgIG5leHQoKTsKICAgICBpbmZv
LmJvZHlFbmRMaW5lID0gbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lOwogICAgIHJldHVybiB0
cnVlOwogfQpAQCAtMTQ2OCw3ICsxNjQwLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGEKICAg
ICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2VuU3RhcnQoKTsKICAgICBuZXh0
KCk7CiAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOwotICAgIGZhaWxJ
ZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5lZWRzTmFtZSwgRnVu
Y3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0
YXJ0LCBpbmZvKSksICJDYW5ub3QgcGFyc2UgdGhpcyBmdW5jdGlvbiIpOworICAgIGZhaWxJZkZh
bHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5lZWRzTmFtZSwgRnVuY3Rp
b25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0
LCBpbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2UgdGhpcyBm
dW5jdGlvbiIpOwogICAgIGZhaWxJZkZhbHNlKGluZm8ubmFtZSwgIkZ1bmN0aW9uIHN0YXRlbWVu
dHMgbXVzdCBoYXZlIGEgbmFtZSIpOwogICAgIGZhaWxJZkZhbHNlSWZTdHJpY3QoZGVjbGFyZVZh
cmlhYmxlKGluZm8ubmFtZSksICJDYW5ub3QgZGVjbGFyZSBhIGZ1bmN0aW9uIG5hbWVkICciLCBp
bmZvLm5hbWUtPmltcGwoKSwgIicgaW4gc3RyaWN0IG1vZGUiKTsKICAgICByZXR1cm4gY29udGV4
dC5jcmVhdGVGdW5jRGVjbFN0YXRlbWVudChsb2NhdGlvbiwgaW5mbyk7CkBAIC0xNTY1LDcgKzE3
MzcsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVDbGFzc0V4cHJlc3Npb24g
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQ2xhc3MoVAogICAgICAgICAgICAgZmFpbElmRmFsc2Uo
cHJvcGVydHksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2QiKTsKICAgICAgICAgfSBlbHNlIHsK
ICAgICAgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gbWV0aG9kSW5mbzsK
LSAgICAgICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5j
dGlvbk5lZWRzTmFtZSwgaXNTdGF0aWNNZXRob2QgPyBGdW5jdGlvbk1vZGUgOiBNZXRob2RNb2Rl
LCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBtZXRob2RTdGFydCwgbWV0aG9kSW5mbykpLCAiQ2Fu
bm90IHBhcnNlIHRoaXMgbWV0aG9kIik7CisgICAgICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VG
dW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25OZWVkc05hbWUsIGlzU3RhdGljTWV0aG9kID8g
RnVuY3Rpb25Nb2RlIDogTWV0aG9kTW9kZSwgZmFsc2UsIGNvbnN0cnVjdG9yS2luZCwgbWV0aG9k
U3RhcnQsIG1ldGhvZEluZm8sIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBw
YXJzZSB0aGlzIG1ldGhvZCIpOwogICAgICAgICAgICAgZmFpbElmRmFsc2UobWV0aG9kSW5mby5u
YW1lLCAibWV0aG9kIG11c3QgaGF2ZSBhIG5hbWUiKTsKICAgICAgICAgICAgIGZhaWxJZkZhbHNl
KGRlY2xhcmVWYXJpYWJsZShtZXRob2RJbmZvLm5hbWUpLCAiQ2Fubm90IGRlY2xhcmUgYSBtZXRo
b2QgbmFtZWQgJyIsIG1ldGhvZEluZm8ubmFtZS0+aW1wbCgpLCAiJyIpOwogCkBAIC0xNzgxLDYg
KzE5NTMsMTggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUlmU3RhdGVtZW50KFQKICAgICByZXR1cm4gY29udGV4dC5j
cmVhdGVJZlN0YXRlbWVudChpZkxvY2F0aW9uLCBjb25kaXRpb24sIHRydWVCbG9jaywgc3RhdGVt
ZW50U3RhY2subGFzdCgpLCBzdGFydCwgZW5kKTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBm
YWlsSWZTdGFja092ZXJmbG93KCk7CisgICAgVHJlZUV4cHJlc3Npb24gbm9kZSA9IHBhcnNlQXNz
aWdubWVudEV4cHJlc3Npb24oY29udGV4dCk7CisgICAgZmFpbElmRmFsc2Uobm9kZSwgIkNhbm5v
dCBwYXJzZSBleHByZXNzaW9uIik7CisgICAgY29udGV4dC5zZXRFbmRPZmZzZXQobm9kZSwgbV9s
YXN0VG9rZW5FbmRQb3NpdGlvbi5vZmZzZXQpOworICAgIHJldHVybiBub2RlOworfQorI2VuZGlm
CisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cHJlc3Npb24o
VHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7CkBAIC0xODI4LDYgKzIwMTIsNDEgQEAgdGVtcGxhdGUg
PHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VBc3NpZ25tZW4KICAgICAgICAgfQogICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQ
b2ludCk7CiAgICAgfQorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOwor
ICAgIGJvb2wgYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCA9IGZhbHNlOworICAgIGlmIChtYXRjaChP
UEVOUEFSRU4pKSB7CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgaWYgKG1hdGNoKENMT1NFUEFS
RU4pKSB7CisgICAgICAgICAgICBuZXh0KCk7CisKKyAgICAgICAgICAgIGlmIChtYXRjaChBUlJP
V0ZVTkNUSU9OKSkKKyAgICAgICAgICAgICAgICBhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0ID0gdHJ1
ZTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICghYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCkKKyAg
ICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAg
fQorCisgICAgVHJlZUV4cHJlc3Npb24gbGhzOworICAgIGlmICghYXJyb3dGdW5jdGlvbkVtcHR5
TGlzdCkgeworICAgICAgICBsaHMgPSBwYXJzZUNvbmRpdGlvbmFsRXhwcmVzc2lvbihjb250ZXh0
KTsKKyAgICAgICAgZmFpbElmRmFsc2UobGhzLCAiQ2FuGW5vdCBwYXJzZSBleHByZXNzaW9uIik7
CisgICAgICAgIGlmIChpbml0aWFsTm9uTEhTQ291bnQgIT0gbV9ub25MSFNDb3VudCkgeworICAg
ICAgICAgICAgaWYgKG1fdG9rZW4ubV90eXBlID49IEVRVUFMICYmIG1fdG9rZW4ubV90eXBlIDw9
IE9SRVFVQUwpCisgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsKCJMZWZ0IGhhbmQgc2lkZSBv
ZiBvcGVyYXRvciAnIiwgZ2V0VG9rZW4oKSwgIicgbXVzdCBiZSBhIHJlZmVyZW5jZSIpOworCisg
ICAgICAgICAgICByZXR1cm4gbGhzOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKG1hdGNo
KEFSUk9XRlVOQ1RJT04pKSB7CisgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVu
Y3Rpb25Qb2ludCk7CisgICAgICAgIGxocyA9IHBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoY29u
dGV4dCk7CisgICAgICAgIHJldHVybiBsaHM7CisgICAgfQorI2Vsc2UKICAgICBUcmVlRXhwcmVz
c2lvbiBsaHMgPSBwYXJzZUNvbmRpdGlvbmFsRXhwcmVzc2lvbihjb250ZXh0KTsKICAgICBmYWls
SWZGYWxzZShsaHMsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lvbiIpOwogICAgIGlmIChpbml0aWFs
Tm9uTEhTQ291bnQgIT0gbV9ub25MSFNDb3VudCkgewpAQCAtMTgzNiw3ICsyMDU1LDggQEAgdGVt
cGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VBc3NpZ25tZW4KIAogICAgICAgICByZXR1cm4gbGhzOwogICAgIH0KLSAgICAK
KyNlbmRpZgorCiAgICAgaW50IGFzc2lnbm1lbnRTdGFjayA9IDA7CiAgICAgT3BlcmF0b3Igb3A7
CiAgICAgYm9vbCBoYWRBc3NpZ25tZW50ID0gZmFsc2U7CkBAIC0yMDY4LDcgKzIyODgsNyBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZVByb3BlcnR5TWV0aAogICAgIEpTVG9rZW5Mb2NhdGlvbiBtZXRob2RMb2NhdGlv
bih0b2tlbkxvY2F0aW9uKCkpOwogICAgIHVuc2lnbmVkIG1ldGhvZFN0YXJ0ID0gdG9rZW5TdGFy
dCgpOwogICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gbWV0aG9kSW5mbzsKLSAg
ICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVp
cmVtZW50cywgTWV0aG9kTW9kZSwgZmFsc2UsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgbWV0aG9k
U3RhcnQsIG1ldGhvZEluZm8pKSwgIkNhbm5vdCBwYXJzZSB0aGlzIG1ldGhvZCIpOworICAgIGZh
aWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1l
bnRzLCBNZXRob2RNb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBtZXRob2RTdGFy
dCwgbWV0aG9kSW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNl
IHRoaXMgbWV0aG9kIik7CiAgICAgbWV0aG9kSW5mby5uYW1lID0gbWV0aG9kTmFtZTsKICAgICBy
ZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkV4cHIobWV0aG9kTG9jYXRpb24sIG1ldGhvZElu
Zm8pOwogfQpAQCAtMjA5NCwxMCArMjMxNCwxMCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVQcm9wZXJ0eSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VHZXR0ZXJTZXR0ZXIoVAog
ICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gaW5mbzsKICAgICBpZiAodHlwZSA9
PSBQcm9wZXJ0eU5vZGU6OkdldHRlcikgewogICAgICAgICBmYWlsSWZGYWxzZShtYXRjaChPUEVO
UEFSRU4pLCAiRXhwZWN0ZWQgYSBwYXJhbWV0ZXIgbGlzdCBmb3IgZ2V0dGVyIGRlZmluaXRpb24i
KTsKLSAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0
aW9uTm9SZXF1aXJlbWVudHMsIEdldHRlck1vZGUsIGZhbHNlLCBjb25zdHJ1Y3RvcktpbmQsIGdl
dHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIGluZm8pKSwgIkNhbm5vdCBwYXJzZSBnZXR0ZXIgZGVm
aW5pdGlvbiIpOworICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4
dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgR2V0dGVyTW9kZSwgZmFsc2UsIGNvbnN0cnVjdG9y
S2luZCwgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgaW5mbywgU3RhbmRhcmRGdW5jdGlvblBh
cnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIGdldHRlciBkZWZpbml0aW9uIik7CiAgICAgfSBlbHNl
IHsKICAgICAgICAgZmFpbElmRmFsc2UobWF0Y2goT1BFTlBBUkVOKSwgIkV4cGVjdGVkIGEgcGFy
YW1ldGVyIGxpc3QgZm9yIHNldHRlciBkZWZpbml0aW9uIik7Ci0gICAgICAgIGZhaWxJZkZhbHNl
KChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBTZXR0
ZXJNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBnZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0
LCBpbmZvKSksICJDYW5ub3QgcGFyc2Ugc2V0dGVyIGRlZmluaXRpb24iKTsKKyAgICAgICAgZmFp
bElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVu
dHMsIFNldHRlck1vZGUsIGZhbHNlLCBjb25zdHJ1Y3RvcktpbmQsIGdldHRlck9yU2V0dGVyU3Rh
cnRPZmZzZXQsIGluZm8sIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJz
ZSBzZXR0ZXIgZGVmaW5pdGlvbiIpOwogICAgIH0KICAgICBpZiAoc3RyaW5nUHJvcGVydHlOYW1l
KQogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVHZXR0ZXJPclNldHRlclByb3BlcnR5KGxv
Y2F0aW9uLCB0eXBlLCBzdHJpY3QsIHN0cmluZ1Byb3BlcnR5TmFtZSwgaW5mbywgc3VwZXJCaW5k
aW5nKTsKQEAgLTIzNDYsNyArMjU2Niw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAg
ICAgIG5leHQoKTsKICAgICAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZv
OwogICAgICAgICBpbmZvLm5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1lcy0+bnVsbElkZW50aWZp
ZXI7Ci0gICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5j
dGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlvbk1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6
Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvKSksICJDYW5ub3QgcGFyc2UgZnVuY3Rp
b24gZXhwcmVzc2lvbiIpOworICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8o
Y29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgRnVuY3Rpb25Nb2RlLCBmYWxzZSwgQ29u
c3RydWN0b3JLaW5kOjpOb25lLCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW5mbywgU3RhbmRhcmRG
dW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsK
ICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25FeHByKGxvY2F0aW9uLCBpbmZv
KTsKICAgICB9CiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCkBAIC0yMzc1LDYgKzI1OTUs
MjMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAgcmV0dXJuIGNvbnRleHQudGhp
c0V4cHIobG9jYXRpb24sIG1fdGhpc1REWk1vZGUpOwogICAgIH0KICAgICBjYXNlIElERU5UOiB7
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgU2F2ZVBvaW50
IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAgICAgICAgSlNU
ZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICAgICAgY29uc3Qg
SWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKKyAgICAgICAgSlNUb2tl
bkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CisgICAgICAgIG5leHQoKTsKKwor
ICAgICAgICBpZiAoIW1hdGNoKEFSUk9XRlVOQ1RJT04pKSB7CisgICAgICAgICAgICBjdXJyZW50
U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRlbnQsIG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0g
KmlkZW50KTsKKyAgICAgICAgICAgIG1fbGFzdElkZW50aWZpZXIgPSBpZGVudDsKKyAgICAgICAg
ICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJlc29sdmUobG9jYXRpb24sIGlkZW50LCBzdGFydCk7
CisgICAgICAgIH0KKworICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9u
UG9pbnQpOworICAgICAgICBUcmVlRXhwcmVzc2lvbiBsaHMgPSBwYXJzZUFycm93RnVuY3Rpb25X
cmFwcGVyKGNvbnRleHQpOworICAgICAgICByZXR1cm4gbGhzOworI2Vsc2UKICAgICAgICAgSlNU
ZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKICAgICAgICAgY29uc3Qg
SWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAgICAgSlNUb2tl
bkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CkBAIC0yMzgyLDYgKzI2MTksNyBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZVByaW1hcnlFeHByZQogICAgICAgICBjdXJyZW50U2NvcGUoKS0+dXNlVmFy
aWFibGUoaWRlbnQsIG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmlkZW50KTsKICAgICAg
ICAgbV9sYXN0SWRlbnRpZmllciA9IGlkZW50OwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVh
dGVSZXNvbHZlKGxvY2F0aW9uLCBpZGVudCwgc3RhcnQpOworI2VuZGlmCiAgICAgfQogICAgIGNh
c2UgU1RSSU5HOiB7CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5t
X2RhdGEuaWRlbnQ7CkBAIC0yNTczLDYgKzI4MTEsMzIgQEAgZW5kTWVtYmVyRXhwcmVzc2lvbjoK
ICAgICByZXR1cm4gYmFzZTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0
aW9uV3JhcHBlcihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBUcmVlRXhwcmVzc2lvbiBi
YXNlID0gMDsKKyAgICBKU1RleHRQb3NpdGlvbiBleHByZXNzaW9uU3RhcnQgPSB0b2tlblN0YXJ0
UG9zaXRpb24oKTsKKyAgICBpbnQgbmV3Q291bnQgPSAwOworICAgIEpTVG9rZW5Mb2NhdGlvbiBs
b2NhdGlvbjsKKworICAgIGlmIChtYXRjaChJREVOVCkgfHwgbWF0Y2goT1BFTlBBUkVOKSkgewor
ICAgICAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2VuU3RhcnQoKTsKKyAg
ICAgICAgbG9jYXRpb24gPSB0b2tlbkxvY2F0aW9uKCk7CisgICAgICAgIFBhcnNlckZ1bmN0aW9u
SW5mbzxUcmVlQnVpbGRlcj4gaW5mbzsKKyAgICAgICAgaW5mby5uYW1lID0gJm1fdm0tPnByb3Bl
cnR5TmFtZXMtPm51bGxJZGVudGlmaWVyOworICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5j
dGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgRnVuY3Rpb25Nb2RlLCB0
cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvLCBB
cnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2UgYXJyb3cgZnVuY3Rpb24gZXhw
cmVzc2lvbiIpOworICAgICAgICBiYXNlID0gY29udGV4dC5jcmVhdGVBcnJvd0Z1bmN0aW9uRXhw
cihsb2NhdGlvbiwgaW5mbyk7CisgICAgfSBlbHNlCisgICAgICAgIGJhc2UgPSBwYXJzZVByaW1h
cnlFeHByZXNzaW9uKGNvbnRleHQpOworCisgICAgZmFpbElmRmFsc2UoYmFzZSwgIkNhbm5vdCBw
YXJzZSBiYXNlIGV4cHJlc3Npb24iKTsKKyAgICB3aGlsZSAobmV3Q291bnQtLSkKKyAgICAgICAg
YmFzZSA9IGNvbnRleHQuY3JlYXRlTmV3RXhwcihsb2NhdGlvbiwgYmFzZSwgZXhwcmVzc2lvblN0
YXJ0LCBsYXN0VG9rZW5FbmRQb3NpdGlvbigpKTsKKyAgICByZXR1cm4gYmFzZTsKK30KKyNlbmRp
ZgorCiBzdGF0aWMgY29uc3QgY2hhciogb3BlcmF0b3JTdHJpbmcoYm9vbCBwcmVmaXgsIHVuc2ln
bmVkIHRvaykKIHsKICAgICBzd2l0Y2ggKHRvaykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyLmgKaW5kZXggYmRlNGIwZWUxMjgzZWMwYTFkMzMzZjljZWY1Y2RlMDgzYTA5ZjVhMC4u
NzdhZTM5Njc3YWFhY2ZlN2EyNDYwMjRhZTFiYTExOWVkMmE0N2FjNyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC04MCw2ICs4MCwxMSBAQCBjbGFzcyBTb3VyY2VDb2Rl
OwogQ09NUElMRV9BU1NFUlQoTGFzdFVudGFnZ2VkVG9rZW4gPCA2NCwgTGVzc1RoYW42NFVudGFn
Z2VkVG9rZW5zKTsKIAogZW51bSBTb3VyY2VFbGVtZW50c01vZGUgeyBDaGVja0ZvclN0cmljdE1v
ZGUsIERvbnRDaGVja0ZvclN0cmljdE1vZGUgfTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorZW51bSBGdW5jdGlvblBhcnNlVHlwZSB7IFN0YW5kYXJkRnVuY3Rpb25QYXJz
ZVR5cGUsIEFycm93RnVuY3Rpb25QYXJzZVR5cGUgfTsKKyNlbHNlCitlbnVtIEZ1bmN0aW9uUGFy
c2VUeXBlIHsgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZX07CisjZW5kaWYKIGVudW0gRnVuY3Rp
b25SZXF1aXJlbWVudHMgeyBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlvbk5lZWRzTmFt
ZSB9OwogZW51bSBGdW5jdGlvblBhcnNlTW9kZSB7CiAgICAgRnVuY3Rpb25Nb2RlLApAQCAtNjE4
LDYgKzYyMywxMyBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gbV90b2tlbi5tX3R5cGUgPT0g
SURFTlQgJiYgKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPm9m
OwogICAgIH0KICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
IEFMV0FZU19JTkxJTkUgYm9vbCBpc0VuZE9mQXJyb3dGdW5jdGlvbigpCisgICAgeworICAgICAg
ICByZXR1cm4gbWF0Y2goU0VNSUNPTE9OKSB8fCBtYXRjaChDT01NQSkgfHwgbWF0Y2goQ0xPU0VQ
QVJFTikgfHwgbWF0Y2goQ0xPU0VCUkFDRSkgfHwgbWF0Y2goQ0xPU0VCUkFDS0VUKTsKKyAgICB9
CisjZW5kaWYKKyAgICAKICAgICBBTFdBWVNfSU5MSU5FIHVuc2lnbmVkIHRva2VuU3RhcnQoKQog
ICAgIHsKICAgICAgICAgcmV0dXJuIG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKQEAg
LTcyMSw5ICs3MzMsOSBAQCBwcml2YXRlOgogICAgICAgICB9CiAgICAgICAgIHJldHVybiByZXN1
bHQ7CiAgICAgfQotICAgIAotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNv
dXJjZUVsZW1lbnRzIHBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVt
ZW50c01vZGUpOwotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVu
dCBwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3Rp
dmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMCk7CisKKyAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJzZVNvdXJjZUVsZW1l
bnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxlbWVudHNNb2RlLCBGdW5jdGlvblBhcnNlVHlwZSk7
CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3Rh
dGVtZW50KFRyZWVCdWlsZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWdu
ZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwLCBGdW5jdGlvblBhcnNlVHlwZSB0eXBlID0g
U3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgp
CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQ2xh
c3NEZWNsYXJhdGlvbihUcmVlQnVpbGRlciYpOwogI2VuZGlmCkBAIC03NjIsMjUgKzc3NCwzNiBA
QCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5
IHBhcnNlUHJvcGVydHkoVHJlZUJ1aWxkZXImLCBib29sIHN0cmljdCk7CiAgICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZVByb3BlcnR5TWV0aG9kKFRy
ZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiBtZXRob2ROYW1lKTsKICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBwYXJzZUdldHRlclNldHRl
cihUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0LCBQcm9wZXJ0eU5vZGU6OlR5cGUsIHVuc2lnbmVk
IGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIENvbnN0cnVjdG9yS2luZCA9IENvbnN0cnVjdG9y
S2luZDo6Tm9uZSwgU3VwZXJCaW5kaW5nID0gU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQpOwotICAg
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRnVuY3Rpb25C
b2R5IHBhcnNlRnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVyJiwgaW50IGZ1bmN0aW9uS2V5d29yZFN0
YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIGludCBwYXJhbWV0ZXJzU3RhcnQsIENvbnN0cnVj
dG9yS2luZCk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5F
IFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VGdW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImLCBpbnQgZnVu
Y3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwgaW50IHBhcmFtZXRlcnNT
dGFydCwgQ29uc3RydWN0b3JLaW5kLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlw
ZSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVG
b3JtYWxQYXJhbWV0ZXJMaXN0IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhUcmVlQnVpbGRlciYpOwog
ICAgIGVudW0gVmFyRGVjbGFyYXRpb25MaXN0Q29udGV4dCB7IEZvckxvb3BDb250ZXh0LCBWYXJE
ZWNsYXJhdGlvbkNvbnRleHQgfTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVFeHByZXNzaW9uIHBhcnNlVmFyRGVjbGFyYXRpb25MaXN0KFRyZWVCdWlsZGVyJiwgaW50JiBk
ZWNsYXJhdGlvbnMsIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4mIGxhc3RQYXR0ZXJuLCBUcmVl
RXhwcmVzc2lvbiYgbGFzdEluaXRpYWxpemVyLCBKU1RleHRQb3NpdGlvbiYgaWRlbnRTdGFydCwg
SlNUZXh0UG9zaXRpb24mIGluaXRTdGFydCwgSlNUZXh0UG9zaXRpb24mIGluaXRFbmQsIFZhckRl
Y2xhcmF0aW9uTGlzdENvbnRleHQpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
TkVWRVJfSU5MSU5FIFRyZWVDb25zdERlY2xMaXN0IHBhcnNlQ29uc3REZWNsYXJhdGlvbkxpc3Qo
VHJlZUJ1aWxkZXImKTsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFycm93
RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQXJyb3dGdW5jdGlvblN0YXRlbWVudChUcmVl
QnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Np
b24gcGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihUcmVlQnVpbGRlciYpOworI2VuZGlmCisKICAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1
Y3Rpb25QYXR0ZXJuIGNyZWF0ZUJpbmRpbmdQYXR0ZXJuKFRyZWVCdWlsZGVyJiwgRGVjb25zdHJ1
Y3Rpb25LaW5kLCBjb25zdCBJZGVudGlmaWVyJiwgaW50IGRlcHRoLCBKU1Rva2VuKTsKICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rp
b25QYXR0ZXJuIHBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuKFRyZWVCdWlsZGVyJiwgRGVjb25z
dHJ1Y3Rpb25LaW5kLCBpbnQgZGVwdGggPSAwKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIHRyeVBhcnNlRGVj
b25zdHJ1Y3Rpb25QYXR0ZXJuRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOwotCi0gICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgYm9vbCBwYXJzZUZ1bmN0aW9uSW5m
byhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSwg
Ym9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kLCBpbnQgZnVuY3Rp
b25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mKTsKLSNpZiBF
TkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IE5FVkVSX0lOTElORSBUcmVlQ2xhc3NFeHByZXNzaW9uIHBhcnNlQ2xhc3MoVHJlZUJ1aWxkZXIm
LCBGdW5jdGlvblJlcXVpcmVtZW50cywgUGFyc2VyQ2xhc3NJbmZvPFRyZWVCdWlsZGVyPiYpOwor
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIGludCBwYXJzZUZ1
bmN0aW9uUGFyYW10ZXJzKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIEZ1bmN0
aW9uUGFyc2VNb2RlLCBib29sLCBBdXRvUG9wU2NvcGVSZWYmLCBQYXJzZXJGdW5jdGlvbkluZm88
VHJlZUJ1aWxkZXI+Jik7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBpbnQgcGFyc2VBcnJv
d0Z1bmN0aW9uUGFyYW10ZXJzKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25QYXJzZU1vZGUsIFBhcnNl
ckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mKTsKICNlbmRpZgorCiAjaWYgRU5BQkxFKEVTNl9U
RU1QTEFURV9MSVRFUkFMX1NZTlRBWCkKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IE5FVkVSX0lOTElORSB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6VGVtcGxhdGVTdHJpbmcgcGFyc2VU
ZW1wbGF0ZVN0cmluZyhUcmVlQnVpbGRlciYgY29udGV4dCwgYm9vbCBpc1RlbXBsYXRlSGVhZCwg
Ym9vbCYgZWxlbWVudElzVGFpbCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBO
RVZFUl9JTkxJTkUgdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OlRlbXBsYXRlTGl0ZXJhbCBwYXJzZVRl
bXBsYXRlTGl0ZXJhbChUcmVlQnVpbGRlciYpOwogI2VuZGlmCiAKKyAgICB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBib29sIHBhcnNlRnVuY3Rpb25JbmZvKFRyZWVC
dWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlLCBib29sIG5h
bWVJc0luQ29udGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQsIGludCBmdW5jdGlvbktleXdv
cmRTdGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYsIEZ1bmN0aW9uUGFyc2VU
eXBlIGZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKKyAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlQ2xhc3NFeHBy
ZXNzaW9uIHBhcnNlQ2xhc3MoVHJlZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgUGFy
c2VyQ2xhc3NJbmZvPFRyZWVCdWlsZGVyPiYpOworI2VuZGlmCisKICAgICBBTFdBWVNfSU5MSU5F
IGludCBpc0JpbmFyeU9wZXJhdG9yKEpTVG9rZW5UeXBlKTsKICAgICBib29sIGFsbG93QXV0b21h
dGljU2VtaWNvbG9uKCk7CiAgICAgCkBAIC03OTMsNiArODE2LDE0IEBAIHByaXZhdGU6CiAgICAg
ICAgIHJldHVybiBhbGxvd0F1dG9tYXRpY1NlbWljb2xvbigpOwogICAgIH0KICAgICAKKworI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdm9pZCBzZXRFbmRPZlN0YXRl
bWVudCgpCisgICAgeworICAgICAgICBtX2xleGVyLT5zZXRUb2tlblBvc2l0aW9uKCZtX3Rva2Vu
KTsKKyAgICB9CisjZW5kaWYKKwogICAgIGJvb2wgY2FuUmVjdXJzZSgpCiAgICAgewogICAgICAg
ICByZXR1cm4gbV92bS0+aXNTYWZlVG9SZWN1cnNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaAppbmRleCA2YjczNjI4MmUyZDJhODFi
YzYzZGMyZjNjMGU1YWU4Yzg1OGNkMWY4Li4wY2RlMGM2N2E5ZGUwZWRmMzQxNDRlMzI3OTFlNWU5
MGI0YTIxNTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNl
ckZ1bmN0aW9uSW5mby5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2Vy
RnVuY3Rpb25JbmZvLmgKQEAgLTI4LDYgKzI4LDEwIEBACiAKIG5hbWVzcGFjZSBKU0MgewogCisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK2VudW0gRnVuY3Rpb25Cb2R5VHlw
ZSB7IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiwgQXJyb3dGdW5jdGlvbkJvZHlCbG9jaywg
U3RhbmRhcmRGdW5jdGlvbkJvZHlCbG9jayB9OworI2VuZGlmCisKIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4KIHN0cnVjdCBQYXJzZXJGdW5jdGlvbkluZm8gewogICAgIGNvbnN0IElkZW50
aWZpZXIqIG5hbWUgPSAwOwpAQCAtMzgsNiArNDIsMTEgQEAgc3RydWN0IFBhcnNlckZ1bmN0aW9u
SW5mbyB7CiAgICAgaW50IGJvZHlTdGFydExpbmUgPSAwOwogICAgIGludCBib2R5RW5kTGluZSA9
IDA7CiAgICAgdW5zaWduZWQgYm9keVN0YXJ0Q29sdW1uID0gMDsKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHVuc2lnbmVkIGFycm93RnVuY3Rpb25PZmZzZXQgPSAw
OworICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uID0gZmFsc2U7CisgICAgRnVuY3Rpb25Cb2R5VHlw
ZSBmdW5jdGlvbkJvZHlUeXBlID0gU3RhbmRhcmRGdW5jdGlvbkJvZHlCbG9jazsKKyNlbmRpZgog
fTsKIAogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKaW5kZXggMDI2ZTRmODBmNDM3ZDhiZmU0YTYxOWMzMGQx
MWRjOWZjNjFlMjY0NS4uZTkxNTRjYWYwNTNjNTM4MWI1ZjA5ODE2ZGJhMDU1OGE1NDM0YmYzNyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCkBAIC03NSw2
ICs3NSw5IEBAIGVudW0gSlNUb2tlblR5cGUgewogICAgIEZJTkFMTFksCiAgICAgREVCVUdHRVIs
CiAgICAgRUxTRSwKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEFS
Uk9XRlVOQ1RJT04sCisjZW5kaWYKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICBD
TEFTU1RPS0VOLAogICAgIEVYVEVORFMsCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1NvdXJjZUNvZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291
cmNlQ29kZS5oCmluZGV4IDczZDIzZGI4MmFmMjVlYTQ2YzBmODk3ODVjZTQyNGJiNjBlYjYxYTcu
LjUwZDUyNjM5Nzk0M2UzODFkMzgwZWM0M2Q4MmQ1YjYzZjdmMDhkYzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCkBAIC0xMDUsNiArMTA1LDkgQEAgbmFtZXNw
YWNlIEpTQyB7CiAgICAgICAgIAogICAgICAgICBTb3VyY2VDb2RlIHN1YkV4cHJlc3Npb24odW5z
aWduZWQgb3BlbkJyYWNlLCB1bnNpZ25lZCBjbG9zZUJyYWNlLCBpbnQgZmlyc3RMaW5lLCBpbnQg
c3RhcnRDb2x1bW4pOwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICAgICAgU291cmNlQ29kZSBzdWJBcnJvd0V4cHJlc3Npb24odW5zaWduZWQgc3RhcnRBcnJvd0Z1
bmN0aW9uLCB1bnNpZ25lZCBlbmRBcnJvd0Z1bmN0aW9uLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3Rh
cnRDb2x1bW4pOworI2VuZGlmCiAgICAgcHJpdmF0ZToKICAgICAgICAgUmVmUHRyPFNvdXJjZVBy
b3ZpZGVyPiBtX3Byb3ZpZGVyOwogICAgICAgICBpbnQgbV9zdGFydENoYXI7CkBAIC0xMTgsNiAr
MTIxLDE3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4gU291cmNlQ29kZShTdHJp
bmdTb3VyY2VQcm92aWRlcjo6Y3JlYXRlKHNvdXJjZSwgdXJsLCBzdGFydFBvc2l0aW9uKSwgc3Rh
cnRQb3NpdGlvbi5tX2xpbmUub25lQmFzZWRJbnQoKSwgc3RhcnRQb3NpdGlvbi5tX2NvbHVtbi5v
bmVCYXNlZEludCgpKTsKICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgIGlubGluZSBTb3VyY2VDb2RlIFNvdXJjZUNvZGU6OnN1YkFycm93RXhwcmVzc2lv
bih1bnNpZ25lZCBzdGFydEFycm93RnVuY3Rpb24sIHVuc2lnbmVkIGVuZEFycm93RnVuY3Rpb24s
IGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbikKKyAgICB7CisgICAgICAgIEFTU0VSVChw
cm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFycm93RnVuY3Rpb25dID09ICc9JyAmJiBwcm92aWRl
cigpLT5zb3VyY2UoKVtzdGFydEFycm93RnVuY3Rpb24gKyAxXSA9PSAnPicpOworICAgICAgICAv
LyBGaXhtZTogVXNlIGJldHRlciBhcHByb2FjaCB0byBjaGVjayBzeW1ib2wKKyAgICAgICAgQVNT
RVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnLCcgfHwg
cHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICc7JyB8fCBwcm92
aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJyknIHx8IHByb3ZpZGVy
KCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnXScgfHwgcHJvdmlkZXIoKS0+
c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICd9Jyk7CisgICAgICAgIHN0YXJ0Q29s
dW1uICs9IDE7IC8vIENvbnZlcnQgdG8gYmFzZSAxLgorICAgICAgICByZXR1cm4gU291cmNlQ29k
ZShwcm92aWRlcigpLCBzdGFydEFycm93RnVuY3Rpb24sIGVuZEFycm93RnVuY3Rpb24sIGZpcnN0
TGluZSwgc3RhcnRDb2x1bW4pOworICAgIH0KKyNlbmRpZgorCiAgICAgaW5saW5lIFNvdXJjZUNv
ZGUgU291cmNlQ29kZTo6c3ViRXhwcmVzc2lvbih1bnNpZ25lZCBvcGVuQnJhY2UsIHVuc2lnbmVk
IGNsb3NlQnJhY2UsIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbikKICAgICB7CiAgICAg
ICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtvcGVuQnJhY2VdID09ICd7Jyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJ
dGVtLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJ
dGVtLmgKaW5kZXggNjM1Mzc5ZTNmNDQ1NjY4YzUyYjg3MmY3NjE2ZGNiNTkyMWE4Mjk0NC4uZjQy
OGRiNTBhOGRhN2E3YWI0NjgyNGFiMzgwODNkYjA1MmQ3Mzc3NiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaApAQCAt
NDAsNiArNDAsMTAgQEAgc3RydWN0IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJh
bWV0ZXJzIHsKICAgICBib29sIG5lZWRzRnVsbEFjdGl2YXRpb247CiAgICAgYm9vbCB1c2VzRXZh
bDsKICAgICBib29sIHN0cmljdE1vZGU7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICBib29sIGlzQm9keUFycm93RXhwcmVzc2lvbjsKKyAgICBKU1Rva2VuVHlwZSB0
b2tlblR5cGU7CisjZW5kaWYKICAgICBWZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiB1c2VkVmFy
aWFibGVzOwogICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+IHdyaXR0ZW5WYXJpYWJsZXM7
CiB9OwpAQCAtNTUsMTAgKzU5LDE0IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVf
cHRyPFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtPiBjcmVhdGUoY29uc3QgU291cmNlUHJvdmlkZXJD
YWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMmKTsKICAgICB+U291cmNlUHJvdmlkZXJDYWNoZUl0
ZW0oKTsKIAotICAgIEpTVG9rZW4gY2xvc2VCcmFjZVRva2VuKCkgY29uc3QgCisgICAgSlNUb2tl
biBlbmRGdW5jdGlvblRva2VuKCkgY29uc3QgCiAgICAgewogICAgICAgICBKU1Rva2VuIHRva2Vu
OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIHRva2VuLm1f
dHlwZSA9IGlzQm9keUFycm93RXhwcmVzc2lvbiA/IHRva2VuVHlwZSA6IENMT1NFQlJBQ0U7Cisj
ZWxzZQogICAgICAgICB0b2tlbi5tX3R5cGUgPSBDTE9TRUJSQUNFOworI2VuZGlmCiAgICAgICAg
IHRva2VuLm1fZGF0YS5vZmZzZXQgPSBjbG9zZUJyYWNlT2Zmc2V0OwogICAgICAgICB0b2tlbi5t
X2xvY2F0aW9uLnN0YXJ0T2Zmc2V0ID0gY2xvc2VCcmFjZU9mZnNldDsKICAgICAgICAgdG9rZW4u
bV9sb2NhdGlvbi5lbmRPZmZzZXQgPSBjbG9zZUJyYWNlT2Zmc2V0ICsgMTsKQEAgLTgyLDYgKzkw
LDExIEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCB1c2VkVmFyaWFibGVzQ291bnQ7CiAgICAgdW5z
aWduZWQgd3JpdHRlblZhcmlhYmxlc0NvdW50OwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICBib29sIGlzQm9keUFycm93RXhwcmVzc2lvbjsKKyAgICBKU1Rva2Vu
VHlwZSB0b2tlblR5cGU7CisjZW5kaWYKKwogICAgIFN0cmluZ0ltcGwqKiB1c2VkVmFyaWFibGVz
KCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxTdHJpbmdJbXBsKio+KG1fdmFyaWFibGVzKTsg
fQogICAgIFN0cmluZ0ltcGwqKiB3cml0dGVuVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gY29u
c3RfY2FzdDxTdHJpbmdJbXBsKio+KCZtX3ZhcmlhYmxlc1t1c2VkVmFyaWFibGVzQ291bnRdKTsg
fQogCkBAIC0xMTUsNiArMTI4LDEwIEBAIGlubGluZSBTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6
U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0oY29uc3QgU291cmNlUHJvdmlkZXJDYWNoCiAgICAgLCBj
bG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0KHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmVTdGFydE9m
ZnNldCkKICAgICAsIHVzZWRWYXJpYWJsZXNDb3VudChwYXJhbWV0ZXJzLnVzZWRWYXJpYWJsZXMu
c2l6ZSgpKQogICAgICwgd3JpdHRlblZhcmlhYmxlc0NvdW50KHBhcmFtZXRlcnMud3JpdHRlblZh
cmlhYmxlcy5zaXplKCkpCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICAsIGlzQm9keUFycm93RXhwcmVzc2lvbihwYXJhbWV0ZXJzLmlzQm9keUFycm93RXhwcmVzc2lv
bikKKyAgICAsIHRva2VuVHlwZShwYXJhbWV0ZXJzLnRva2VuVHlwZSkKKyNlbmRpZgogewogICAg
IHVuc2lnbmVkIGogPSAwOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB1c2VkVmFyaWFi
bGVzQ291bnQ7ICsraSwgKytqKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1N5bnRheENoZWNrZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3lu
dGF4Q2hlY2tlci5oCmluZGV4IDU1NGU1ZGY2NGE3MjFmNDQ2MmQwZDg5YWIwMjNhZmRkNzUzYzU1
YmUuLmY2MzVlZDFiYjM3ZTg4NTM2NDU0NzRjMDgyM2Y0YjYxMzgwYTRkMzMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCkBAIC0xNzcsNiArMTc3LDEw
IEBAIHB1YmxpYzoKICNlbmRpZgogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUZ1bmN0aW9uRXhw
cihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4
Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KICAgICBpbnQgY3JlYXRlRnVuY3Rp
b25Cb2R5KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGlu
dCwgaW50LCBib29sLCBpbnQsIGludCwgaW50LCBDb25zdHJ1Y3RvcktpbmQpIHsgcmV0dXJuIEZ1
bmN0aW9uQm9keVJlc3VsdDsgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tl
bkxvY2F0aW9uJiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JikgeyBy
ZXR1cm4gRnVuY3Rpb25FeHByOyB9CisjZW5kaWYgCisgICAgdm9pZCBzZXRGdW5jdGlvbk5hbWVT
dGFydChpbnQsIGludCkgeyB9CiAgICAgaW50IGNyZWF0ZUFyZ3VtZW50cygpIHsgcmV0dXJuIEFy
Z3VtZW50c1Jlc3VsdDsgfQogICAgIGludCBjcmVhdGVBcmd1bWVudHMoaW50KSB7IHJldHVybiBB
cmd1bWVudHNSZXN1bHQ7IH0KICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVTcHJlYWRFeHByZXNz
aW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIEV4cHJlc3Npb25UeXBlLCBpbnQsIGludCwgaW50
KSB7IHJldHVybiBTcHJlYWRFeHByOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMDI3MTk2MDM5N2FiN2Q5OTUy
NDhiMTJmMjk1YWI3ZTNhZTZkMzM0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcApAQCAtMCwwICsxLDExOSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorI2luY2x1ZGUgIkpT
QXJyb3dGdW5jdGlvbi5oIgorCisjaW5jbHVkZSAiRXJyb3IuaCIKKyNpbmNsdWRlICJFeGNlcHRp
b25IZWxwZXJzLmgiCisjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgorI2luY2x1ZGUgIkpTQ0pTVmFs
dWUuaCIKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNGdW5jdGlvbklubGlu
ZXMuaCIKKyNpbmNsdWRlICJKU09iamVjdC5oIgorI2luY2x1ZGUgIlByb3BlcnR5U2xvdC5oIgor
I2luY2x1ZGUgIlZNLmgiCisKK25hbWVzcGFjZSBKU0MgeworICAgIAorY29uc3QgQ2xhc3NJbmZv
IEpTQXJyb3dGdW5jdGlvbjo6c19pbmZvID0geyAiQXJyb3dGdW5jdGlvbiIsICZCYXNlOjpzX2lu
Zm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNBcnJvd0Z1bmN0aW9uKSB9OworCitFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycm93RnVuY3Rpb25DYWxsKEV4ZWNTdGF0ZSogZXhlYykK
K3sKKyAgICBKU0Fycm93RnVuY3Rpb24qIGFycm93RnVuY3Rpb24gPSBqc0Nhc3Q8SlNBcnJvd0Z1
bmN0aW9uKj4oZXhlYy0+Y2FsbGVlKCkpOworICAgICAgICAKKyAgICBNYXJrZWRBcmd1bWVudEJ1
ZmZlciBhcmdzOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBleGVjLT5hcmd1bWVudENv
dW50KCk7ICsraSkKKyAgICAgICAgYXJncy5hcHBlbmQoZXhlYy0+dW5jaGVja2VkQXJndW1lbnQo
aSkpOworICAgIAorICAgIEpTT2JqZWN0KiBmdW5jdGlvbiA9IGFycm93RnVuY3Rpb24tPmFycm93
RnVuY3Rpb24oKTsKKyAgICBDYWxsRGF0YSBjYWxsRGF0YTsKKyAgICBDYWxsVHlwZSBjYWxsVHlw
ZSA9IGdldENhbGxEYXRhKGZ1bmN0aW9uLCBjYWxsRGF0YSk7CisgICAgQVNTRVJUKGNhbGxUeXBl
ICE9IENhbGxUeXBlTm9uZSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShjYWxsKGV4ZWMs
IGZ1bmN0aW9uLCBjYWxsVHlwZSwgY2FsbERhdGEsIGFycm93RnVuY3Rpb24tPmJvdW5kVGhpcygp
LCBhcmdzKSk7Cit9CisgICAgCit2b2lkIEpTQXJyb3dGdW5jdGlvbjo6ZGVzdHJveShKU0NlbGwq
IGNlbGwpCit7CisgICAgc3RhdGljX2Nhc3Q8SlNBcnJvd0Z1bmN0aW9uKj4oY2VsbCktPkpTQXJy
b3dGdW5jdGlvbjo6fkpTQXJyb3dGdW5jdGlvbigpOworfQorICAgIAorSlNBcnJvd0Z1bmN0aW9u
OjpKU0Fycm93RnVuY3Rpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNPYmplY3QqIGFycm93RnVuY3Rpb24sIEpTVmFsdWUgYm91
bmRUaGlzKQorICAgIDogQmFzZSh2bSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCisgICAgLCBt
X2JvdW5kVGhpcyh2bSwgdGhpcywgYm91bmRUaGlzKQorICAgICwgbV9hcnJvd0Z1bmN0aW9uKHZt
LCB0aGlzLCBhcnJvd0Z1bmN0aW9uKQoreworfQorCitKU0Fycm93RnVuY3Rpb24qIEpTQXJyb3dG
dW5jdGlvbjo6Y3JlYXRlV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludChWTSYg
dm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBhcnJvd0Z1bmN0aW9u
LCBKU1ZhbHVlIGJvdW5kVGhpcykKK3sKKyAgICBBU1NFUlQoanNDYXN0PEpTRnVuY3Rpb24qPihh
cnJvd0Z1bmN0aW9uKS0+anNFeGVjdXRhYmxlKCktPnNpbmdsZXRvbkZ1bmN0aW9uKCktPmhhc0Jl
ZW5JbnZhbGlkYXRlZCgpKTsKKyAgICByZXR1cm4gY3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIGFy
cm93RnVuY3Rpb24sIGJvdW5kVGhpcyk7Cit9CisKK0pTQXJyb3dGdW5jdGlvbiogSlNBcnJvd0Z1
bmN0aW9uOjpjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09i
amVjdCogYXJyb3dGdW5jdGlvbiwgSlNWYWx1ZSBib3VuZFRoaXMpCit7CisgICAgTmF0aXZlRXhl
Y3V0YWJsZSogZXhlY3V0YWJsZSA9IHZtLmdldEhvc3RGdW5jdGlvbihhcnJvd0Z1bmN0aW9uQ2Fs
bCwgY2FsbEhvc3RGdW5jdGlvbkFzQ29uc3RydWN0b3IpOworICAgIEpTQXJyb3dGdW5jdGlvbiog
ZnVuY3Rpb24gPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxKU0Fycm93RnVuY3Rpb24+KHZt
LmhlYXApKSBKU0Fycm93RnVuY3Rpb24odm0sIGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5h
cnJvd0Z1bmN0aW9uU3RydWN0dXJlKCksIGFycm93RnVuY3Rpb24sIGJvdW5kVGhpcyk7CisgICAg
ZnVuY3Rpb24tPmZpbmlzaENyZWF0aW9uKHZtLCBleGVjdXRhYmxlLCAwLCAiIik7CisKKyAgICBy
ZXR1cm4gZnVuY3Rpb247Cit9CisgICAgCit2b2lkIEpTQXJyb3dGdW5jdGlvbjo6ZmluaXNoQ3Jl
YXRpb24oVk0mIHZtLCBOYXRpdmVFeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBpbnQgbGVuZ3RoLCBj
b25zdCBTdHJpbmcmIG5hbWUpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIGV4ZWN1
dGFibGUsIGxlbmd0aCwgbmFtZSk7CisgICAgQVNTRVJUKGluaGVyaXRzKGluZm8oKSkpOworICAg
IAorICAgIC8vIFByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiBpcyB1bmRlZmluZWQKKyAgICBw
dXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwganNVbmRlZmluZWQoKSwg
RG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgRG9udEVudW0pOworICAgIHB1dERpcmVjdCh2bSwgdm0u
cHJvcGVydHlOYW1lcy0+dGhpc0lkZW50aWZpZXIsIGJvdW5kVGhpcygpLCBEb250RGVsZXRlIHwg
UmVhZE9ubHkgfCBEb250RW51bSk7Cit9CisKKyAgICAKK3ZvaWQgSlNBcnJvd0Z1bmN0aW9uOjp2
aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCit7CisgICAg
SlNBcnJvd0Z1bmN0aW9uKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTQXJyb3dGdW5jdGlvbio+KGNl
bGwpOworICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVjdCwgaW5mbygpKTsK
KyAgICBCYXNlOjp2aXNpdENoaWxkcmVuKHRoaXNPYmplY3QsIHZpc2l0b3IpOworCisgICAgLy8g
Rml4bWU6IG1fYXJyb3dGdW5jdGlvbiBhbHJlYWR5IHJlbW92ZWQgYnkgR0MsIGJlY2F1c2UgaXQg
Y3JlYXRlZCBpbiBiZWZvcmUgcnVuIEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlIG1ldGhvZAorICAg
IC8vIEl0IGlzIHBvc3NpYmxlIGNhc2Ugd2hlbiBtX2Fycm93RnVuY3Rpb24gaXMgcmVtb3ZlZCBi
dXQgd3JhcHBlciBvYmplY3QgaXMgc3RpbGwgZXhpc3RzCisgICAgLy8gIHZpc2l0b3IuYXBwZW5k
KCZ0aGlzT2JqZWN0LT5tX2Fycm93RnVuY3Rpb24pOworICAgIAorICAgIHZpc2l0b3IuYXBwZW5k
KCZ0aGlzT2JqZWN0LT5tX2JvdW5kVGhpcyk7Cit9CisgICAgCitDb25zdHJ1Y3RUeXBlIEpTQXJy
b3dGdW5jdGlvbjo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwqIGNlbGwsIENvbnN0cnVjdERhdGEm
IGNvbnN0cnVjdERhdGEpCit7CisgICAgSlNGdW5jdGlvbiogdGhpc09iamVjdCA9IGpzQ2FzdDxK
U0Z1bmN0aW9uKj4oY2VsbCk7CisgICAgICAgIAorICAgIGNvbnN0cnVjdERhdGEuanMuZnVuY3Rp
b25FeGVjdXRhYmxlID0gdGhpc09iamVjdC0+anNFeGVjdXRhYmxlKCk7CisgICAgY29uc3RydWN0
RGF0YS5qcy5zY29wZSA9IHRoaXNPYmplY3QtPnNjb3BlKCk7CisgICAgcmV0dXJuIENvbnN0cnVj
dFR5cGVOb25lOworfQorfSAvLyBuYW1lc3BhY2UgSlNDCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTk3YmMx
YTVmYmRmNmY4YjdhYzc2ZGZlZjAwOWU5ZWVlZjc5ZjhmMwotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oCkBAIC0wLDAgKzEs
ODggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIEpTQXJyb3dGdW5jdGlvbl9oCisjZGVmaW5lIEpTQXJyb3dGdW5jdGlvbl9oCisKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorCisjaW5jbHVkZSAiSlNGdW5jdGlvbi5o
IgorI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCisKK25hbWVzcGFjZSBKU0MgeworCitFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycm93RnVuY3Rpb25DYWxsKEV4ZWNTdGF0ZSopOwor
ICAgIAorY2xhc3MgSlNBcnJvd0Z1bmN0aW9uIDogcHVibGljIEpTRnVuY3Rpb24geworcHVibGlj
OgorICAgIHR5cGVkZWYgSlNGdW5jdGlvbiBCYXNlOworCisgICAgc3RhdGljIEpTQXJyb3dGdW5j
dGlvbiogY3JlYXRlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCosIEpTVmFsdWUpOwor
ICAgIHN0YXRpYyBKU0Fycm93RnVuY3Rpb24qIGNyZWF0ZVdpdGhJbnZhbGlkYXRlZFJlYWxsb2Nh
dGlvbldhdGNocG9pbnQoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgSlNWYWx1ZSk7
CisKKyAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2VsbCopOworICAgIAorICAgIHN0YXRpYyBz
aXplX3QgYWxsb2NhdGlvblNpemUoc2l6ZV90IGlubGluZUNhcGFjaXR5KQorICAgIHsKKyAgICAg
ICAgQVNTRVJUX1VOVVNFRChpbmxpbmVDYXBhY2l0eSwgIWlubGluZUNhcGFjaXR5KTsKKyAgICAg
ICAgcmV0dXJuIHNpemVvZihKU0Fycm93RnVuY3Rpb24pOworICAgIH0KKyAgICAKKyAgICBzdGF0
aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkKKyAgICB7CisgICAgICAgIEFTU0VSVChnbG9i
YWxPYmplY3QpOworICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9i
amVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhKU0Z1bmN0aW9uVHlwZSwgU3RydWN0dXJlRmxhZ3Mp
LCBpbmZvKCkpOworICAgIH0KKyAgICAgICAgCisgICAgc3RhdGljIENvbnN0cnVjdFR5cGUgZ2V0
Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJik7CisKKyAgICBKU09iamVjdCog
YXJyb3dGdW5jdGlvbigpIHsgcmV0dXJuIG1fYXJyb3dGdW5jdGlvbi5nZXQoKTsgfQorICAgIEpT
VmFsdWUgYm91bmRUaGlzKCkgeyByZXR1cm4gbV9ib3VuZFRoaXMuZ2V0KCk7IH0KKyAgICAKKyAg
ICBERUNMQVJFX0lORk87CisgICAgCisgICAgc3RhdGljIGlubGluZSBwdHJkaWZmX3Qgb2Zmc2V0
T2ZUaGlzVmFsdWUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIE9CSkVDVF9PRkZTRVRPRihKU0Fy
cm93RnVuY3Rpb24sIG1fYm91bmRUaGlzKTsKKyAgICB9CisgICAgCisgICAgY29uc3Qgc3RhdGlj
IHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzSGFzSW5zdGFuY2UgfCBCYXNlOjpT
dHJ1Y3R1cmVGbGFnczsKKworcHJvdGVjdGVkOgorICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRy
ZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKKyAgICAgICAgCitwcml2YXRlOgorICAgIEpTQXJy
b3dGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgSlNPYmplY3QqLCBK
U1ZhbHVlKTsKKworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBOYXRpdmVFeGVjdXRhYmxl
KiwgaW50LCBjb25zdCBTdHJpbmcmKTsKKyAgICAKKyAgICBXcml0ZUJhcnJpZXI8VW5rbm93bj4g
bV9ib3VuZFRoaXM7CisgICAgV3JpdGVCYXJyaWVyPEpTT2JqZWN0PiBtX2Fycm93RnVuY3Rpb247
Cit9OworICAgIAorfSAvLyBuYW1lc3BhY2UgSlNDCisjZW5kaWYgLy8gRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYCisKKyNlbmRpZiAvLyBKU0Fycm93RnVuY3Rpb25faApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCmluZGV4IDg2ZGZmMTJmOGZhNDdhMzFhMzNhNjg5
NDA4N2NlNWMxMTVjZTUyYjYuLjhmMWQ2MTZhZTBiZDcxNGY0M2NiOGY4OGFhZDViNzRmMmVjYjc3
ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24u
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKQEAgLTEz
Nyw2ICsxMzcsOSBAQCBwdWJsaWM6CiBwcm90ZWN0ZWQ6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUg
SlNGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKik7CiAgICAgSlNGdW5j
dGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSosIEpTU2NvcGUqKTsKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEpTRnVuY3Rpb24oVk0mLCBGdW5jdGlvbkV4ZWN1
dGFibGUqLCBKU1Njb3BlKiwgU3RydWN0dXJlKik7CisjZW5kaWYKIAogICAgIHZvaWQgZmluaXNo
Q3JlYXRpb24oVk0mLCBOYXRpdmVFeGVjdXRhYmxlKiwgaW50IGxlbmd0aCwgY29uc3QgU3RyaW5n
JiBuYW1lKTsKICAgICB1c2luZyBCYXNlOjpmaW5pc2hDcmVhdGlvbjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oCmluZGV4IGY2YzZkNThl
YzZlNWMxMTY0Y2IyN2ZhNWU0MTYxOGI0YjgxNDJmMDIuLjM4NTA2Y2MxOTlhMDA4ZmY4Zjk2YWRm
Njg5YmUzNjA5ODc1ZGVhNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNGdW5jdGlvbklubGluZXMuaApAQCAtNDUsNiArNDUsMTUgQEAgaW5saW5lIEpTRnVuY3Rp
b246OkpTRnVuY3Rpb24oVk0mIHZtLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpT
U2NvcGUqIHMKIHsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitp
bmxpbmUgSlNGdW5jdGlvbjo6SlNGdW5jdGlvbihWTSYgdm0sIEZ1bmN0aW9uRXhlY3V0YWJsZSog
ZXhlY3V0YWJsZSwgSlNTY29wZSogc2NvcGUsIFN0cnVjdHVyZSogc3RydWN0dXJlKQorICAgIDog
QmFzZSh2bSwgc2NvcGUsIHN0cnVjdHVyZSkKKyAgICAsIG1fZXhlY3V0YWJsZSh2bSwgdGhpcywg
ZXhlY3V0YWJsZSkKKyAgICAsIG1fcmFyZURhdGEoKQoreworfQorI2VuZGlmCisgICAgCiBpbmxp
bmUgRnVuY3Rpb25FeGVjdXRhYmxlKiBKU0Z1bmN0aW9uOjpqc0V4ZWN1dGFibGUoKSBjb25zdAog
ewogICAgIEFTU0VSVCghaXNIb3N0RnVuY3Rpb25Ob25JbmxpbmUoKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggNTA3ZDhiYzA0
YmM5NDJhY2IxMzE5MTFhYzNkMzBhMDk4YWYwZDNjOS4uMzY1YWIxMWEwM2IyNjk3MDBlOGQ0YzAw
NzkwNTliZjQxZTViOTczMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtNTgsNiArNTgsNyBAQAogI2luY2x1ZGUgIkpTQXJyYXlC
dWZmZXJDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXJQcm90b3R5cGUuaCIK
ICNpbmNsdWRlICJKU0FycmF5SXRlcmF0b3IuaCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24u
aCIKICNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgi
CiAjaW5jbHVkZSAiSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgiCkBAIC0yMzQsNiArMjM1LDkgQEAg
dm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChWTSYgdm0pCiAgICAgZXhlYy0+c2V0Q2FsbGVlKG1f
Z2xvYmFsQ2FsbGVlLmdldCgpKTsKIAogICAgIG1fZnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0
aGlzLCBKU0Z1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90
b3R5cGUuZ2V0KCkpKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
IG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpTQXJyb3dGdW5jdGlvbjo6
Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7Cisj
ZW5kaWYKICAgICBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0JvdW5k
RnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5n
ZXQoKSkpOwogICAgIG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIFN0cnVj
dHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBtX2Z1bmN0aW9uU3RydWN0dXJlLmdldCgp
LCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51
bSwgbV9mdW5jdGlvbk5hbWVPZmZzZXQpKTsKICAgICBtX2ludGVybmFsRnVuY3Rpb25TdHJ1Y3R1
cmUuc2V0KHZtLCB0aGlzLCBJbnRlcm5hbEZ1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRo
aXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKQEAgLTc2Myw2ICs3NjcsOSBAQCB2b2lk
IEpTR2xvYmFsT2JqZWN0Ojp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3Im
IHZpc2l0b3IpCiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fY2FsbGVlU3RydWN0
dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9mdW5jdGlvblN0cnVjdHVy
ZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYm91bmRGdW5jdGlvblN0cnVj
dHVyZSk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2aXNpdG9y
LmFwcGVuZCgmdGhpc09iamVjdC0+bV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKTsKKyNlbmRpZgog
ICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUp
OwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX3N5bWJvbE9iamVjdFN0cnVjdHVy
ZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fcmVnRXhwU3RydWN0dXJlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCmluZGV4
IDU4OWZhMzk2ZmUxOWM4N2RjZWMyNWM4MTAzMmI0ZWY4YTJiMDAwY2MuLmRkMWFiMDMyYmQxNGIy
OGRlYjE2MGY0YmRhMzg4NGZkZDY5NDg2NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtMjI5LDYgKzIyOSw5IEBAIHByb3RlY3RlZDoK
ICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2NhbGxlZVN0cnVjdHVyZTsKICAgICBXcml0
ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2Z1bmN0aW9uU3RydWN0dXJlOwogICAgIFdyaXRlQmFycmll
cjxTdHJ1Y3R1cmU+IG1fYm91bmRGdW5jdGlvblN0cnVjdHVyZTsKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYXJyb3dG
dW5jdGlvblN0cnVjdHVyZTsKKyNlbmRpZgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1f
bmFtZWRGdW5jdGlvblN0cnVjdHVyZTsKICAgICBQcm9wZXJ0eU9mZnNldCBtX2Z1bmN0aW9uTmFt
ZU9mZnNldDsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3ByaXZhdGVOYW1lU3RydWN0
dXJlOwpAQCAtNDY3LDYgKzQ3MCw5IEBAIHB1YmxpYzoKICAgICBTdHJ1Y3R1cmUqIGNhbGxlZVN0
cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbGVlU3RydWN0dXJlLmdldCgpOyB9CiAgICAg
U3RydWN0dXJlKiBmdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fZnVuY3Rpb25T
dHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUqIGJvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUo
KSBjb25zdCB7IHJldHVybiBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFN0cnVjdHVyZSogYXJyb3dGdW5j
dGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZS5n
ZXQoKTsgfQorI2VuZGlmCiAgICAgU3RydWN0dXJlKiBuYW1lZEZ1bmN0aW9uU3RydWN0dXJlKCkg
Y29uc3QgeyByZXR1cm4gbV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CiAgICAgUHJv
cGVydHlPZmZzZXQgZnVuY3Rpb25OYW1lT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9mdW5jdGlv
bk5hbWVPZmZzZXQ7IH0KICAgICBTdHJ1Y3R1cmUqIG51bWJlck9iamVjdFN0cnVjdHVyZSgpIGNv
bnN0IHsgcmV0dXJuIG1fbnVtYmVyT2JqZWN0U3RydWN0dXJlLmdldCgpOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJh
bXRlci0xLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0
aW9uLWFzcGFyYW10ZXItMS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MzYxYjhkYjAyMjgyNzk2ZDFiYjA0ZjVk
YmQ0MDE5YjcyODlmMmNjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzcGFyYW10ZXItMS5qcwpAQCAtMCwwICsxLDgg
QEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9u
IChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVk
KSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywg
YnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordGVzdENhc2UoIiIgKyBbMSwg
MiwgMywgNF0ubWFwKHggPT4geCwgMzIpLCAiMSwyLDMsNCIsICJFcnJvcjogYXJyb3cgZnVuY3Rp
b24gYXMgdGhlIHBhcmFtdGVycy4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3BhcmFtdGVyLTIuanMgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci0yLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjNmMjkzMmZjMTQ0ZDM2YzcwZjA2MWY4ZTY4ODg4M2U0NGFmY2ZkMTkKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tYXNwYXJhbXRlci0yLmpzCkBAIC0wLDAgKzEsMTUgQEAKKy8vIEluc3BpcmVkIGJ5IG1v
emlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBt
ZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2Fn
ZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCAr
ICInIjsKKyAgfQorfTsKKwordmFyIGYgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVyKSB7IHJldHVy
biBjbChwYXJhbXRlcik7IH07Cit2YXIgZjIgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVyMSwgcGFy
YW10ZXIyKSB7IHJldHVybiBjbChwYXJhbXRlcjEsIHBhcmFtdGVyMik7IH07CisKK3Jlc3VsdCA9
IGYoeD0+e3JldHVybiB4ICogMjU7fSwgMTIxKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjUqMTIxICwi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBi
b2R5IGFzIGJsb2NrOiBmKHggPT4ge3JldHVybiB4ICogMjU7fSwgMTIxKSIpOworCityZXN1bHQg
PSBmMigoeCwgeSk9PntyZXR1cm4geCAqIHk7fSwgMTQsIDEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwg
MTQqMTIgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlv
biB3aXRoIGJvZHkgYXMgYmxvY2s6IGYoKHgsIHkpPT57cmV0dXJuIHggKiB5O30sIDE0LCAxMjEp
KSIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJv
d2Z1bmN0aW9uLWFzc29jaWF0aXZpdHktMS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTEuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmQx
ZDQ3YTQ4MDc1ZWM1OThjNmJlMWUwN2Q3OGEzNTI2MzUzYTkxMgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lh
dGl2aXR5LTEuanMKQEAgLTAsMCArMSwxMyBAQAorLy8gSW5zcGlyZWQgYnkgbW96aWxsYSB0ZXN0
cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsK
KyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhw
ZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9
Cit9OworCit2YXIgYWYxLCBhZjIsIGFmMzsKK2FmMSA9IGFmMiA9IGFmMyA9PiBhZjEgPSBhZjIg
PSBhZjM7Cit0ZXN0Q2FzZShhZjEsIGFmMiwgIkVycm9yOiB3cm9uZyBhc3NvY2lhdGl2aXR5ICMx
LiIpOworYWYxKDEzKTsKK3Rlc3RDYXNlKGFmMiwgMTMsICJFcnJvcjogd3JvbmcgYXNzb2NpYXRp
dml0eSAjMi4iKTsKK3Rlc3RDYXNlKGFmMSwgMTMsICJFcnJvcjogd3JvbmcgYXNzb2NpYXRpdml0
eSAjMy4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTIuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0yLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjJlZGQ4MzljNmJjN2VkNmE0MGVmZmJiYzg3NTRlZDFiZmQ4MDZiNDMKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNz
b2NpYXRpdml0eS0yLmpzCkBAIC0wLDAgKzEsMTQgQEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEg
dGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdl
KSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIu
IEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsK
KyAgfQorfTsKKwordmFyIHM9IiI7CitzICs9IHggPT4geC5uYW1lOworCisvLyBGaXggbWUuIFBv
c3NpYmxlIHdlIGhhdmUgbm90IHVzZSB0aGUgSlNCb3VudEZ1bmN0aW9uIHdyYXBwZXIgZm9yIHRo
ZSBsZXhpY2FsCisvLyBiaW5kaW5nIG9mIHRoZSB0aGlzIGFuZCB1c2UgZGlyZWN0IGluamVjdGlv
biBvZiB0aGUgJ3RoaXMnIHZhbHVlCisvLyBpbnRvIGFycnJvdyBmdW5jdGlvbgorLy8gdGVzdENh
c2UocywgInggPT4geC5uYW1lIiAsICJFcnJvcjogd3JvbmcgdG9TdHJpbmcgY29udmVyc2lvbi4i
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1hc3NvY2lhdGl2aXR5LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjdlZDE1M2Nl
ZWJhNTI2MjI4ZWNhODIxMzA0NjlhOTI0NGIxNGMwNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5
LmpzCkBAIC0wLDAgKzEsMTAgQEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0
ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChh
Y3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICci
ICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwor
dmFyIGFmID0gYSA9PiBiID0+IGE7CisKK3Rlc3RDYXNlKGFmKCdBQkMnKSgnREVGJyksICdBQkMn
LCAiRXJyb3I6IHdyb25nIG5lc3RlZCBhcnJvdyBmdW5jdGlvbnMuIik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2stMS5q
cyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ibG9j
ay0xLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjBjNTcxYmI3MmZjZmVmNTMwYzU5ZGI0Yjg2MGNhNGYwYTk2YTQx
MTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L2Fycm93ZnVuY3Rpb24tYmxvY2stMS5qcwpAQCAtMCwwICsxLDExIEBACisvLyBJbnNwaXJlZCBi
eSBtb3ppbGxhIHRlc3RzCit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3Rl
ZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1l
c3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1
YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBmID0gKCkgPT4ge307Cit0ZXN0Q2FzZSh0eXBlb2Yg
ZigpLCAndW5kZWZpbmVkJywgIkVycm9yOiB3cm9uZyBhcnJvdyBmdW5jdGlvbiBibG9jay4iKTsK
K3ZhciBnID0gKCkgPT4gKHt9KTsKK3Rlc3RDYXNlKHR5cGVvZiBnKCksICdvYmplY3QnLCAiRXJy
b3I6IHdyb25nIGFycm93IGZ1bmN0aW9uIGJsb2NrLiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJsb2NrLTIuanMgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2stMi5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi40N2VlMzUyY2YwMWQxMzZlMzAyOTIyNzM2YzVjODBlZjUzYzAzZjZlCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1
bmN0aW9uLWJsb2NrLTIuanMKQEAgLTAsMCArMSwxMCBAQAorLy8gSW5zcGlyZWQgYnkgbW96aWxs
YSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3Nh
Z2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsg
Ii4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIici
OworICB9Cit9OworCit2YXIgYWYgPSBhID0+IHsgYSArIDE7IH07CisKK3Rlc3RDYXNlKHR5cGVv
ZiBhZigwKSwgJ3VuZGVmaW5lZCcsICJFcnJvcjogd3JvbmcgYXJyb3cgZnVuY3Rpb24gYmxvY2sg
IzIuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tYm91bmQuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L2Fycm93ZnVuY3Rpb24tYm91bmQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTczMjBmNGVjNzg4ZWExNDkwYWZj
NzJlYzEyNTFlZTBhNmUxZjdiNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ib3VuZC5qcwpAQCAtMCwwICsxLDE2IEBA
Cit2YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0
ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBt
ZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0
dWFsICsgIiciOworICB9Cit9OworCit2YXIgZCA9IHsKKyAgeCA6ICJiYXIiLAorICB5IDogZnVu
Y3Rpb24oKSB7IHJldHVybiB6ID0+IHRoaXMueCArIHo7IH0KK307CisKK3ZhciBlID0geyB4IDog
ImJheiIgfTsKKwordGVzdENhc2UoZC55KCkuYmluZChlLCAibGV5IikoKSwgImJhcmxleSIsICJF
cnJvcjogZnVuY3Rpb24gYmluZCBzaG91bGRuJ3QgY2hhbmdlIGxleGljYWwgYmluZGluZyBvZiB0
aGUgYXJyb3cgZnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1jYWxsLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNhbGwuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjRmOWFhNTA0
ZDcwZDcwZDY4Y2RhYTVhNDgyYTQ2NTBhNDVmZGY3YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1jYWxsLmpzCkBAIC0w
LDAgKzEsMTggQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0
dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgewor
ICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3
YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBkID0geworICB4IDogImZvbyIs
CisgIHkgOiBmdW5jdGlvbigpIHsgcmV0dXJuICgpID0+IHRoaXMueDsgfQorfTsKKwordmFyIGUg
PSB7IHggOiAiYmFyIiB9OworCit0ZXN0Q2FzZShkLnkoKS5jYWxsKGUpLCAiZm9vIiwgIkVycm9y
OiBmdW5jdGlvbiBjYWxsIHNob3Vsbid0IGNoYW5nZSB0aGUgbGV4aWNhbCBiaW5kaW5nIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShkLnkoKS5hcHBseShlKSwgImZvbyIsICJF
cnJvcjogZnVuY3Rpb24gYXBwbHkgc2hvdWxuJ3QgY2hhbmdlIHRoZSBsZXhpY2FsIGJpbmRpbmcg
b2YgdGhlIGFycm93IGZ1bmN0aW9uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY29uc3RydWN0b3IuanMgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY29uc3RydWN0b3IuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYjU4YjE2ZDdiNWUyOTc0NGMzM2Y3ODZiNGJmMTZiZjQ0ZmViMWUyOAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5j
dGlvbi1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDE4IEBACit2YXIgdGVzdENhc2UgPSBmdW5j
dGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBl
Y3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsg
IicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBzaW1wbGVBcnJv
d0Z1bmN0aW9uID0gKCkgPT4ge307CisKK3ZhciBlcnJvck9uQ3JlYXRlID0gZmFsc2U7CisKK3Ry
eSB7CisgIHZhciBmYyA9IG5ldyBzaW1wbGVBcnJvd0Z1bmN0aW9uKCk7Cit9CitjYXRjaCAoZSkg
eworICBlcnJvck9uQ3JlYXRlID0gdHJ1ZTsKK30KKwordGVzdENhc2UoZXJyb3JPbkNyZWF0ZSwg
dHJ1ZSwgIkVycm9yOiBObyBleGNlcHRpb24gZHVyaW5nIHJ1biBuZXcgQXJyb3dGdW5jdGlvbiIp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1
bmN0aW9uLWxleGljYWwtYXJndW1lbnRzLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtYXJndW1lbnRzLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFl
YjY3NjNhNjUyNjk4MTY1YzBmZGIyZDhiYzIwNzNkMmJjZDNiMWYKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNh
bC1hcmd1bWVudHMuanMKQEAgLTAsMCArMSwxNCBAQAordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24g
KGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQp
IHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBi
dXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCitmdW5jdGlvbiBhZkNyZWF0b3Io
KSB7CisgICAgcmV0dXJuIGEgPT4gYXJndW1lbnRzWzBdOworfQorCit2YXIgYWYgPSBhZkNyZWF0
b3IoMTIpOworCisvL0ZpeG1lOiBsZXhpY2FsIGJpbmQgb2YgdGhlIGFyZ3VtZW50cyBpcyBub3Qg
aW1wbGVtZW50ZWQKKy8vdGVzdENhc2UoYWYoNiksIDEyLCAiRXJyb3I6IGFyZ3VtZW50cyBpcyBu
b3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uIik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
bGV4aWNhbC10aGlzLTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjU1MzFmNTc1NjJmMjg2
OGVlYWQzOWZjZDY2ZWU1MDc4YmFjZWQxYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMtMS5qcwpA
QCAtMCwwICsxLDE3IEBACit2YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24g
KGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQp
IHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBi
dXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCitmdW5jdGlvbiBEb2cobmFtZSkg
eworICB0aGlzLm5hbWUgPSBuYW1lOworICB0aGlzLmdldE5hbWUgPSAoKSA9PiBldmFsKCJ0aGlz
Lm5hbWUiKTsKKyAgdGhpcy5nZXROYW1lSGFyZCA9ICgpID0+IGV2YWwoIigoKSA9PiB0aGlzLm5h
bWUpKCkiKTsKK30KKwordmFyIGQgPSBuZXcgRG9nKCJNYXgiKTsKK3Rlc3RDYXNlKGQuZ2V0TmFt
ZSgpLCBkLm5hbWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUg
b2YgdGhlIGFycm93IGZ1bmN0aW9uICMxIik7Cit0ZXN0Q2FzZShkLmdldE5hbWVIYXJkKCksIGQu
bmFtZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gIzIiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMtMi5qcyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMtMi5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi45OGI1M2IyOThiYmIwYjUzZTQwNzFjOTk3ZDgxMjM1MTFhZjYzOWQ5Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1
bmN0aW9uLWxleGljYWwtdGhpcy0yLmpzCkBAIC0wLDAgKzEsMzMgQEAKK3ZhciByZXN1bHQ7CisK
KyB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgewor
ICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBl
Y3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0K
K307CisKK3ZhciBhZk9iakxleEJpbmQyID0gZnVuY3Rpb24gKCkgeworICB0aGlzLmZ1bmMgPSAo
KSA9PiB0aGlzOworfTsKKwordmFyIGFmT2JqTGV4QmluZDJJbnN0YW5jZSA9IG5ldyBhZk9iakxl
eEJpbmQyKCk7CisKK3Rlc3RDYXNlKGFmT2JqTGV4QmluZDJJbnN0YW5jZS5mdW5jKCkgPT09IGFm
T2JqTGV4QmluZDJJbnN0YW5jZSwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkg
YmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzIiKTsKKwordmFyIG9iaiA9IHsK
KyAgbWV0aG9kOiBmdW5jdGlvbiAoKSB7CisgICAgcmV0dXJuICgpID0+IHRoaXM7CisgIH0KK307
CisKK3Rlc3RDYXNlKG9iai5tZXRob2QoKSgpID09PSBvYmosIHRydWUsICJFcnJvcjogdGhpcyBp
cyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMzIik7
CisKK3ZhciBmYWtlID0ge3N0ZWFsOiBvYmoubWV0aG9kKCl9OwordGVzdENhc2UoZmFrZS5zdGVh
bCgpID09PSBvYmosIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBp
bnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM0Iik7CisKKwordmFyIHJlYWwgPSB7Ym9ycm93
OiBvYmoubWV0aG9kfTsKK3Rlc3RDYXNlKHJlYWwuYm9ycm93KCkoKSA9PT0gcmVhbCwgdHJ1ZSwg
IkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24gIzUiKTsKK3Rlc3RDYXNlKHJlYWwuYm9ycm93KCkoKSA9PT0gcmVhbCwgdHJ1ZSwg
IkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24gIzYiKTsKK3Rlc3RDYXNlKHJlYWwuYm9ycm93KCkoKSA9PT0gcmVhbCwgdHJ1ZSwg
IkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24gIzciKTsKK3Rlc3RDYXNlKHJlYWwuYm9ycm93KCkoKSA9PT0gcmVhbCwgdHJ1ZSwg
IkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24gIzgiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvYXJyb3dmdW5jdGlvbi1vdGhlcnMuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tb3RoZXJzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlYmExMWYzMDIy
ZTM0YTgwMDBhNTcwMDc2ZGIxYTU1YTRhMzJiMjEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tb3RoZXJzLmpzCkBAIC0w
LDAgKzEsMTMgQEAKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBt
ZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2Fn
ZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCAr
ICInIjsKKyAgfQorfTsKKwordmFyIHNpbXBsZUFycm93RnVuY3Rpb24gPSAoKSA9PiB7fTsKKwor
dGVzdENhc2UoT2JqZWN0LmdldFByb3RvdHlwZU9mKHNpbXBsZUFycm93RnVuY3Rpb24pLCBGdW5j
dGlvbi5wcm90b3R5cGUsICJFcnJvcjogTm90IGNvcnJlY3QgZ2V0UHJvdG90eXBlT2YgdmFsdWUg
Zm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93RnVuY3Rpb24gaW5z
dGFuY2VvZiBGdW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIGlu
c3RhbmNlb2YgbWV0aG9kIGZvciBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShzaW1wbGVB
cnJvd0Z1bmN0aW9uLmNvbnN0cnVjdG9yID09IEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBj
b3JyZWN0IHJlc3VsdCBmb3IgY29uc3RydWN0b3IgbWV0aG9kIG9mIGFycm93IGZ1bmN0aW9uIik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tcnVuLTEwLTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tcnVuLTEwLTEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDdhMWYwYTQ5Y2IxNjg2M2M1OTIx
MzYxZjBhZGIxZTE0ZWM5YjY1YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAtMS5qcwpAQCAtMCwwICsxLDI0
IEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkg
eworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBF
eHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7Cisg
IH0KK307CisKK2Z1bmN0aW9uIHJ1bihjb3VudCkgeworICB2YXIgcmVzdWx0ID0gdHJ1ZTsKKyAg
Zm9yKHZhciBpPTA7IGk8Y291bnQ7IGkrKykgeworICAgIHZhciBPYmogPSBmdW5jdGlvbiAobmFt
ZSkgeworICAgICAgdGhpcy5uYW1lID0gbmFtZTsKKyAgICAgIHRoaXMuZ2V0TmFtZSA9ICgpID0+
IHRoaXMubmFtZTsKKyAgICB9OworCisgICAgdmFyIG9iaiA9IG5ldyBPYmooIkl0ZW0iICsgaSk7
CisgICAgaWYgKG9iai5uYW1lICE9PSBvYmouZ2V0TmFtZSgpKSB7CisgICAgICByZXN1bHQgPSBm
YWxzZTsKKyAgICB9CisgIH0KKyAgcmV0dXJuIHJlc3VsdDsKK30KKwordGVzdENhc2UocnVuKDEp
LCB0cnVlLCAiRXJyb3I6IEVycm9yOiBkdXJpbmcgZXhlY3V0aW9uIG9mIGFycm93IGZ1bmN0aW9u
IG9uZSB0aW1lIik7Cit0ZXN0Q2FzZShydW4oMTApLCB0cnVlLCAiRXJyb3I6IEVycm9yOiBkdXJp
bmcgZXhlY3V0aW9uIG9mIGFycm93IGZ1bmN0aW9uIDEwIHRpbWVzIik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTIu
anMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVu
LTEwLTIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNWRkY2RiM2M3MGExYjI3YzNkYmI1MjM4MDk1NWY1MzUzZDc2
NzQyNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAtMi5qcwpAQCAtMCwwICsxLDI1IEBACit2YXIgdGVzdENh
c2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFs
ICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4
cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK2Z1bmN0
aW9uIHJ1bihjb3VudCkgeworICB2YXIgcmVzdWx0ID0gdHJ1ZTsKKyAgZm9yKHZhciBpPTA7IGk8
Y291bnQ7IGkrKykgeworICAgIHZhciBPYmogPSBmdW5jdGlvbiAobmFtZSkgeworICAgICAgdGhp
cy5uYW1lID0gbmFtZTsKKyAgICAgIHRoaXMuZ2V0TmFtZSA9ICgpID0+IGV2YWwoInRoaXMubmFt
ZSIpOzsKKyAgICB9OworCisKKyAgICB2YXIgb2JqID0gbmV3IE9iaigiSXRlbSIgKyBpKTsKKyAg
ICBpZiAob2JqLm5hbWUgIT09IG9iai5nZXROYW1lKCkpIHsKKyAgICAgIHJlc3VsdCA9IGZhbHNl
OworICAgIH0KKyAgfQorICByZXR1cm4gcmVzdWx0OworfQorCit0ZXN0Q2FzZShydW4oMSksIHRy
dWUsICJFcnJvcjogZHVyaW5nIGV4ZWN1dGlvbiBvZiBhcnJvdyBmdW5jdGlvbiBvbmUgdGltZSIp
OwordGVzdENhc2UocnVuKDEwKSwgdHJ1ZSwgIkVycm9yOiBkdXJpbmcgZXhlY3V0aW9uIG9mIGFy
cm93IGZ1bmN0aW9uIDEwIHRpbWVzIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwMDAwLTEuanMgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwMDAwLTEuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMGU1ZjZiYzg2YmQzMTQ1MWIwMWNhMjdkMGI5NzIwYjU3ZThkNjA1MQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5j
dGlvbi1ydW4tMTAwMDAtMS5qcwpAQCAtMCwwICsxLDIzIEBACit2YXIgdGVzdENhc2UgPSBmdW5j
dGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBl
Y3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsg
IicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK2Z1bmN0aW9uIHJ1bihj
b3VudCkgeworICB2YXIgcmVzdWx0ID0gdHJ1ZTsKKyAgZm9yKHZhciBpPTA7IGk8Y291bnQ7IGkr
KykgeworICAgIHZhciBPYmogPSBmdW5jdGlvbiAobmFtZSkgeworICAgICAgdGhpcy5uYW1lID0g
bmFtZTsKKyAgICAgIHRoaXMuZ2V0TmFtZSA9ICgpID0+IHRoaXMubmFtZTsKKyAgICB9OworCisg
ICAgdmFyIG9iaiA9IG5ldyBPYmooIkl0ZW0iICsgaSk7CisgICAgaWYgKG9iai5uYW1lICE9PSBv
YmouZ2V0TmFtZSgpKSB7CisgICAgICByZXN1bHQgPSBmYWxzZTsKKyAgICB9CisgIH0KKyAgcmV0
dXJuIHJlc3VsdDsKK30KKwordGVzdENhc2UocnVuKDEwMDAwKSwgdHJ1ZSwgIkVycm9yOiBFcnJv
cjogZHVyaW5nIGV4ZWN1dGlvbiBvZiBhcnJvdyBmdW5jdGlvbiAxMDAwMCB0aW1lcyIpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LXJ1bi0xMDAwMC0yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJv
d2Z1bmN0aW9uLXJ1bi0xMDAwMC0yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk1MzBmMmMxZDVhN2Y1NWNlNDZi
OGJlNjk5MDhiNGJjMjFlMDUyN2IKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwMDAwLTIuanMKQEAgLTAsMCAr
MSwyMyBAQAordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3Nh
Z2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsg
Ii4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIici
OworICB9Cit9OworCitmdW5jdGlvbiBydW4oY291bnQpIHsKKyAgdmFyIHJlc3VsdCA9IHRydWU7
CisgIGZvcih2YXIgaT0wOyBpPGNvdW50OyBpKyspIHsKKyAgICB2YXIgT2JqID0gZnVuY3Rpb24g
KG5hbWUpIHsKKyAgICAgIHRoaXMubmFtZSA9IG5hbWU7CisgICAgICB0aGlzLmdldE5hbWUgPSAo
KSA9PiBldmFsKCJ0aGlzLm5hbWUiKTs7CisgICAgfTsKKworICAgIHZhciBvYmogPSBuZXcgT2Jq
KCJJdGVtIiArIGkpOworICAgIGlmIChvYmoubmFtZSAhPT0gb2JqLmdldE5hbWUoKSkgeworICAg
ICAgcmVzdWx0ID0gZmFsc2U7CisgICAgfQorICB9CisgIHJldHVybiByZXN1bHQ7Cit9CisKK3Rl
c3RDYXNlKHJ1bigxMDAwMCksIHRydWUsICJFcnJvcjogRXJyb3I6IGR1cmluZyBleGVjdXRpb24g
b2YgYXJyb3cgZnVuY3Rpb24gMTAwMDAgdGltZXMiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1zeW50YXguanMgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tc3ludGF4LmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjhmZTExZDViZWUwZGJkNTU2NDhhYzQzZGZmY2U0ZTRlMmU5MGUyODgKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tc3ludGF4LmpzCkBAIC0wLDAgKzEsMTE2IEBACit2YXIgcmVzdWx0OworCisgdmFyIHRlc3RD
YXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVh
bCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBl
eHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIg
YWYwID0gdiA9PiB2ICsgMTsKK3Rlc3RDYXNlKGFmMCgxMCksIDExICwiRXJyb3I6IE5vdCBjb3Jy
ZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246IHYgPT4gdiArIDEiKTsKKwordmFy
IGFmMSA9ICh2KSA9PiB2ICogMjsKK3Rlc3RDYXNlKGFmMSgxMCksIDIwICwiRXJyb3I6IE5vdCBj
b3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICh2KSA9PiB2ICsgMSIpOwor
Cit2YXIgYWYyID0gKCkgPT4gMTAwMDsKK3Rlc3RDYXNlKGFmMigxMjEyKSwgMTAwMCAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAoKSA9PiAxMDAw
Iik7CisKK3ZhciBhID0gMTUxOwordmFyIGFmMl8xID0gKCkgPT4gYTsKK3Rlc3RDYXNlKGFmMl8x
KDEyMSksIGEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbjogKCkgPT4gdmFyaWFibGUiKTsKKwordmFyIGFmMyA9ICh2LCB4KSA9PiB2ICsgeDsKK3Rl
c3RDYXNlKGFmMygxMSwxMiksIDIzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0
aGUgYXJyb3cgZnVuY3Rpb246ICh4LCB5KSA9PiB4ICsgeSIpOworCit2YXIgYWZ3cmFwcGVyID0g
ZnVuY3Rpb24gKGNsLCBwYXJhbXRlcikgeyByZXR1cm4gY2wocGFyYW10ZXIpOyB9OworCityZXN1
bHQgPSBhZndyYXBwZXIoeCA9PiAxMjM0KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIzNCAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVy
OiBmKHggPT4gYykiKTsKKworcmVzdWx0ID0gYWZ3cmFwcGVyKHggPT4gMTIzNCwgMjM0NSk7Cit0
ZXN0Q2FzZShyZXN1bHQsIDEyMzQgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMsIHkpIik7CisKK3Jlc3VsdCA9
IGFmd3JhcHBlcih4ID0+IDEyMSArIDIzMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDM1MyAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVy
OiBmKHggPT4gYzEgKyBjMikiKTsKKworcmVzdWx0ID0gYWZ3cmFwcGVyKHggPT4gMTIzICsgMzIx
LCA5OTk5KTsKK3Rlc3RDYXNlKHJlc3VsdCwgNDQ0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1
dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjMSArIGMyLCB5
KSIpOworCityZXN1bHQgPSBhZndyYXBwZXIoeCA9PiB4ICsgMTIsIDIxKTsKK3Rlc3RDYXNlKHJl
c3VsdCwgMzMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IHggKyBjMSwgeSkiKTsKKworcmVzdWx0ID0gYWZ3cmFw
cGVyKCh4KSA9PiB4ICsgMjEsIDMyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgNTMsICJFcnJvcjogTm90
IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigo
eCkgPT4gYzEgKyBjMiwgeSkiKTsKKworcmVzdWx0ID0gYWZ3cmFwcGVyKCgpID0+IDEwMCk7Cit0
ZXN0Q2FzZShyZXN1bHQsIDEwMCwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhl
IGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMpIik7CisKK3ZhciBleHRfdmFs
dWUgPSAxMjE7CityZXN1bHQgPSBhZndyYXBwZXIoKCkgPT4gZXh0X3ZhbHVlKTsKK3Rlc3RDYXNl
KHJlc3VsdCwgMTIxLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gdikiKTsKKworcmVzdWx0ID0gYWZ3cmFwcGVy
KCgpID0+IGV4dF92YWx1ZSAqIDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIxMCAsIkVycm9yOiBO
b3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBm
KCgpID0+IHYqeCkiKTsKKworcmVzdWx0ID0gYWZ3cmFwcGVyKCh4KSA9PiBleHRfdmFsdWUgKiB4
LCAzMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDMwKmV4dF92YWx1ZSAsIkVycm9yOiBOb3QgY29ycmVj
dCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCh4KSA9PiB2
KngsIHkpIik7CisKK3Jlc3VsdCA9IGFmd3JhcHBlcigoKSA9PiAxMDAsIDExKTsKK3Rlc3RDYXNl
KHJlc3VsdCwgMTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYzEsIHkpIik7CisKKyByZXN1bHQgPSBhZndy
YXBwZXIoKCkgPT4gMTAwICsgMTApOwordGVzdENhc2UocmVzdWx0LCAxMTAgLCJFcnJvcjogTm90
IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigo
KSA9PiBjMSArIGMyKSIpOworCityZXN1bHQgPSBhZndyYXBwZXIoKCkgPT4gMTAwICsgMTEsIDEy
KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYzEgKyBjMiwgeSkiKTsK
KwordmFyIGFycm93RnVuY3Rpb240ID0gdiA9PiB2ICsgMSwgeHl6MSA9IDEwMTAxOworcmVzdWx0
ID0gYXJyb3dGdW5jdGlvbjQoMTAxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMTIgLCJFcnJvcjog
Tm90IGNvcnJlY3QgcGFyc2luZyBvZiB0aCBhcnJvdyBmdW5jdGlvbiBpbnNpZGUgb2YgdGhlIGxp
c3Qgb2YgdmFyczogdmFyIGFmID0gdj0+IHYgKyAxOyB6eGM9YzsiKTsKK3Rlc3RDYXNlKHh5ejEs
IDEwMTAxICwiRXJyb3I6IE5vdCBjb3JyZWN0IHBhcnNpbmcgb2YgdGggYXJyb3cgZnVuY3Rpb24g
aW5zaWRlIG9mIHRoZSBsaXN0IG9mIHZhcnM6IHZhciBhZiA9IHY9PiB2ICsgMTsgenhjPWM7Iik7
CisKK3ZhciBhZndyYXBwZXIyID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRlcjEsIHBhcmFtdGVyMikg
eyByZXR1cm4gY2wocGFyYW10ZXIxLCBwYXJhbXRlcjIpOyB9OworcmVzdWx0ID0gYWZ3cmFwcGVy
MigoeCwgeSkgPT4geCArIHksIDEyICw0Myk7Cit0ZXN0Q2FzZShyZXN1bHQsIDU1ICwiRXJyb3I6
IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW1ldGVy
OiBmKCh4LCB5KSA9PiB4ICsgeSwgYzEsIGMyKSIpOworCit2YXIgYWZBcnIwID0gW3YgPT4gdiAq
IDEwXTsKK3Jlc3VsdCA9IGFmQXJyMFswXSgxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMCAsIkVy
cm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0g
aW4gYXJyYXk6IFt2PT52KjEwXSIpOworCit2YXIgYWZBcnIxID0gW3YgPT4gdiArIDEsIHYgPT4g
diArIDJdOworcmVzdWx0ID0gYWZBcnIxWzBdKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEgLCJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVt
IGluIGFycmF5OiBbdiA9PiB2ICsgMSwgIHYgPT4gdiArIDJdIik7CityZXN1bHQgPSBhZkFycjFb
MV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFt2ID0+IHYgKyAxLCAg
diA9PiB2ICsgMl0iKTsKKwordmFyIGFmQXJyMiA9IFsodikgPT4gdiArIDEsICh2KSA9PiB2ICsg
Ml07CityZXN1bHQgPSBhZkFycjJbMF0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMiAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4g
YXJyYXk6IFsodikgPT4gdiArIDEsICAodikgPT4gdiArIDJdIik7CityZXN1bHQgPSBhZkFycjJb
MV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsodikgPT4gdiArIDEs
ICAodikgPT4gdiArIDJdIik7CisKK3ZhciBhZkFycjMgPSBbKCkgPT4gMTAxLCAoKSA9PiAxMjMy
M107CityZXN1bHQgPSBhZkFycjNbMF0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDEsICJFcnJv
cjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGlu
IGFycmF5OiBbKCkgPT4gYzEsICAoKSA9PiBjMl0iKTsKK3Jlc3VsdCA9IGFmQXJyM1sxXSgxMSk7
Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMzIzLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogWygpID0+IGMxLCAgKCkgPT4g
YzJdIik7CisKK3ZhciBhZk9iaiA9IHtmdW5jIDogeSA9PiB5ICsgMTJ9OworcmVzdWx0ID0gYWZP
YmouZnVuYygxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIzICwgIkVycm9yOiBOb3QgY29ycmVjdCBl
eGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHByb3BlcnR5OiB7ZnVuYyA6IHkgPT4g
eSArIDEyIH0iKTsKKwordmFyIGFmQmxvY2swID0gKCkgPT4geyByZXR1cm4gMTAwMDsgfTsKK3Jl
c3VsdCA9IGFmQmxvY2swKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwMCAsIkVycm9yOiBOb3Qg
Y29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9j
azogKCkgPT4geyByZXR1cm4gMTAwMDsgfSIpOworCit2YXIgYWZCbG9jazEgPSB2ID0+IHsgdmFy
IGludHZhbCA9IDEwMDsgcmV0dXJuIHYgKiBpbnR2YWw7IH07CityZXN1bHQgPSBhZkJsb2NrMSgx
MSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDExMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6IHggPT4geyB2YXIgdj0x
MDAwOyByZXR1cm4gdip4OyB9Iik7CisKK3ZhciBhZkJsb2NrMiA9ICh2KSA9PiB7IHZhciBpbnQg
PSAyMDA7IHJldHVybiB2ICogaW50OyB9OworcmVzdWx0ID0gYWZCbG9jazIoMTEpOwordGVzdENh
c2UocmVzdWx0LCAyMjAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiAoeCkgPT4geyB2YXIgdj0xMDAwOyByZXR1
cm4gdip4OyB9Iik7CisKK3ZhciBhZkJsb2NrMyA9ICh2LCB4KSA9PiB7IHZhciByZXN1bHQgPSB4
ICogdjsgcmV0dXJuIHJlc3VsdDsgfTsKK3Jlc3VsdCA9IGFmQmxvY2szKDExLCAxMjIyMik7Cit0
ZXN0Q2FzZShyZXN1bHQsIDEzNDQ0MiAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogKHYsIHgpID0+IHsgdmFyIHJl
c3VsdCA9IHggKiB2OyByZXR1cm4gcmVzdWx0OyB9Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tdGR6LmpzIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXRkei5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lOWQzNWNkZWE0YmFmNjY3NDMxYWY4YWJlOGRhZGYyMmQwNGI5MGUxCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXRk
ei5qcwpAQCAtMCwwICsxLDI0IEBACit2YXIgQSA9IGNsYXNzIEEgeyB9OwordmFyIEIgPSBjbGFz
cyBCIGV4dGVuZHMgQSB7CisgIGNvbnN0cnVjdG9yKGFjY2Vzc1RoaXNCZWZvcmVTdXBlcikgewor
ICAgIGlmIChhY2Nlc3NUaGlzQmVmb3JlU3VwZXIpIHsKKyAgICAgIHZhciBmID0gKCkgPT4gdGhp
czsKKyAgICAgIHN1cGVyKCk7CisgICAgfSBlbHNlIHsKKyAgICAgIHN1cGVyKCk7CisgICAgfQor
ICB9Cit9OworCit2YXIgZXhjZXB0aW9uID0gbnVsbDsKK3RyeSB7CisgICAgIG5ldyBCKHRydWUp
OworfSBjYXRjaCAoZSkgeworICAgIGV4Y2VwdGlvbiA9IGU7CisgICAgaWYgKCEoZSBpbnN0YW5j
ZW9mIFJlZmVyZW5jZUVycm9yKSkKKyAgICAgICAgdGhyb3cgIkV4Y2VwdGlvbiB0aHJvd24gd2Fz
IG5vdCBhIHJlZmVyZW5jZSBlcnJvciI7Cit9CitpZiAoIWV4Y2VwdGlvbikKKyAgICB0aHJvdyAi
RXhjZXB0aW9uIG5vdCB0aHJvd24gZm9yIGFuIHVuaXRpYWxpemVkIHRoaXMgYXQgaXRlcmF0aW9u
IjsKKwordmFyIGUgPSBuZXcgQihmYWxzZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tdHlwZW9mLmpzIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXR5cGVvZi5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lZjJhN2Y1NDQ3NmFiYTljMjg5MjNjMzVmMWRiM2M0MzI3YWM5NDY5Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXR5
cGVvZi5qcwpAQCAtMCwwICsxLDIxIEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFs
LCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAg
IHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMg
JyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBhZjEgPSAoKSA9PiB7fTsKK3ZhciBh
ZjIgPSAoYSkgPT4ge2EgKyAxfTsKKwordGVzdENhc2UodHlwZW9mIGFmMSwgImZ1bmN0aW9uIiwg
IkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMSIpOwordGVz
dENhc2UodHlwZW9mIGFmMS5wcm90b3R5cGUgPT09ICd1bmRlZmluZWQnLCB0cnVlLCAiRXJyb3I6
IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9uICMxIik7
CisKK3Rlc3RDYXNlKHR5cGVvZiBhZjIsICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNvcnJlY3Qg
dHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzIiKTsKK3Rlc3RDYXNlKHR5cGVvZiBhZjIucHJv
dG90eXBlID09PSAndW5kZWZpbmVkJywgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQg
Zm9yIHByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiAjMiIpOworCit0ZXN0Q2FzZSh0eXBlb2Yg
KCgpPT57fSksICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNvcnJlY3QgdHlwZSBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24gIzMiKTsKK3Rlc3RDYXNlKHR5cGVvZiAoKCk9Pnt9KS5wcm90b3R5cGUgPT09
ICd1bmRlZmluZWQnLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJvdG90
eXBlIG9mIGFycm93IGZ1bmN0aW9uICMzIik7CisKKwordGVzdENhc2UodHlwZW9mICgoYikgPT4g
e2IgKyAxfSksICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNvcnJlY3QgdHlwZSBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24gIzQiKTsKK3Rlc3RDYXNlKHR5cGVvZiAoKGIpID0+IHtiICsgMX0pLnByb3Rv
dHlwZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZv
ciBwcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24gIzQiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dl
YkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggZmM5MGY2
MTE1NjIzMWE0MWNhOTEzN2YxN2M3OTU1ZThkMzczYjBlYS4uMGM4ODQwZjZhYjUxODVmODM1NGI3
MDYwM2UwMjVmMjVhMmE3OWY0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ0LDYgKzQ0LDcgQEAgRU5BQkxF
X0NBQ0hFX1BBUlRJVElPTklORyA9IEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkc7CiBFTkFCTEVf
Q0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0g
OwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOwor
RU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVg7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IEVOQUJMRV9FUzZfQ0xBU1NfU1lO
VEFYOwogRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCA9IEVOQUJMRV9FUzZfVEVN
UExBVEVfTElURVJBTF9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkc7CkBAIC0yMTUsNCArMjE2LDQgQEAgRU5BQkxFX0pJVCA9IEVOQUJM
RV9KSVQ7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FU
VVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8z
RF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVO
QUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChF
TkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9URU1Q
TEFURV9MSVRFUkFMX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxF
X0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1Nf
Qk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVf
Q1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxF
X0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQo
RU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFC
TEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElO
RV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hF
TUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNU
X0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNf
RUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5U
U19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBU
RURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FE
X0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5B
QkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJ
RERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lO
Q09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9T
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9J
T1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChF
TkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVO
QUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRS
T0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9V
U0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFC
TEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5B
QkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlT
RVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElT
VCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVO
QUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChF
TkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQo
RU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFC
TEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05U
UykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJf
REVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9T
SVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5H
KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQo
RU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxV
RSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxF
X1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQo
RU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZU
VF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVf
RlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVU
SUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9
ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykg
JChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQ
VElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElU
SU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVO
QUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJB
TF9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkg
JChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFU
SU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0Vf
QURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
T1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1Nf
UkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQ
RVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQo
RU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIp
ICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAk
KEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQo
RU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNU
T1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1Yy
KSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQo
RU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFE
X0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9E
T01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJW
SUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9O
VEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAk
KEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FD
WV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJM
RV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19Q
UkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQp
ICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFC
TEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9T
Q0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRP
Ul9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRf
UExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJM
RV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxF
X1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVT
VF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09M
VVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1Nf
U0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNf
QVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVf
Q1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURF
TykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxF
X1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8p
ICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNU
VVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykg
JChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQo
RU5BQkxFX0pJVCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJM
RV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNmNmOWQ5NjIxNGY3ZWYyMTNkYmU0MmI0
MmYxOTdkODBjNTk0OTEwNi4uM2YyMDA1ZTJjOTFkMzg4OTY0MDkyZDEyZDdjOTljNjJkN2VmNzk1
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtMTYwMSw5ICsxNjAxLDkgQEAKIAkJNDQzMTFDRDkxMkU0RTI1NzAwMEE4RDE5IC8q
IERPTURvY3VtZW50RnJhZ21lbnRQcml2YXRlLmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDMxMUNENDEyRTRFMjJEMDAwQThE
MTkgLyogRE9NRG9jdW1lbnRGcmFnbWVudFByaXZhdGUuaCAqLzsgfTsKIAkJNDQzMTFGODIxMkU0
RTY2QzAwMEE4RDE5IC8qIERPTURvY3VtZW50RnJhZ21lbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVFNzExNDUwQUM1RDUzNDAwNTMy
NzBGIC8qIERPTURvY3VtZW50RnJhZ21lbnRJbnRlcm5hbC5oICovOyB9OwogCQk0NDM4MTdGRjFB
OTFCMkY4MDA2RTA0RjIgLyogQ29yZU1lZGlhU29mdExpbmsuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzODE3RkQxQTkxQjJGODAwNkUwNEYyIC8q
IENvcmVNZWRpYVNvZnRMaW5rLmNwcCAqLzsgfTsKLQkJNDQzOTE3RkYxQTkxQjJGODAwNkUwNEYy
IC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDQzOTE3RkQxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRM
aW5rLm1tICovOyB9OwogCQk0NDM4MTgwMDFBOTFCMkY4MDA2RTA0RjIgLyogQ29yZU1lZGlhU29m
dExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0
MzgxN0ZFMUE5MUIyRjgwMDZFMDRGMiAvKiBDb3JlTWVkaWFTb2Z0TGluay5oICovOyB9OwotCQk0
NDM5MTgwMDFBOTFCMkY4MDA2RTA0RjIgLyogUXVpY2tMb29rU29mdExpbmsuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0MzkxN0ZFMUE5MUIyRjgwMDZF
MDRGMiAvKiBRdWlja0xvb2tTb2Z0TGluay5oICovOyB9OworCQk0NDM5MTdGRjFBOTFCMkY4MDA2
RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzOTE3RkQxQTkxQjJGODAwNkUwNEYyIC8qIGlvcy9R
dWlja0xvb2tTb2Z0TGluay5tbSAqLzsgfTsKKwkJNDQzOTE4MDAxQTkxQjJGODAwNkUwNEYyIC8q
IGlvcy9RdWlja0xvb2tTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDQzOTE3RkUxQTkxQjJGODAwNkUwNEYyIC8qIGlvcy9RdWlja0xvb2tT
b2Z0TGluay5oICovOyB9OwogCQk0NDNGMDQyNzBFNzVDOEZCMDA3RTU0MDcgLyogTmV0d29ya1N0
YXRlTm90aWZpZXJJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0NDNGMDQyNjBFNzVDOEZCMDA3RTU0MDcgLyogTmV0d29ya1N0YXRlTm90aWZpZXJJ
T1MubW0gKi87IH07CiAJCTQ0NDlBNDA1MUE5NjRCMDAwMEI2NEFENSAvKiBDb3JlTWVkaWFTUEku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0NDlBNDA0
MUE5NjRCMDAwMEI2NEFENSAvKiBDb3JlTWVkaWFTUEkuaCAqLzsgfTsKIAkJNDQ0RDRFMjMwRjcw
OEIyRTAwMzE1OEUwIC8qIFdlYkNvcmVVUkxSZXNwb25zZUlPUy5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0NEQ0RTIxMEY3MDhCMkUwMDMxNThFMCAv
KiBXZWJDb3JlVVJMUmVzcG9uc2VJT1MubW0gKi87IH07CkBAIC04NzY5LDkgKzg3NjksOSBAQAog
CQk0NDMxMUNENDEyRTRFMjJEMDAwQThEMTkgLyogRE9NRG9jdW1lbnRGcmFnbWVudFByaXZhdGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NRG9jdW1lbnRGcmFnbWVudFBy
aXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQzMTFDRDUxMkU0RTIyRDAw
MEE4RDE5IC8qIERPTURvY3VtZW50UHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBET01Eb2N1bWVudFByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDQzODE3RkQxQTkxQjJGODAwNkUwNEYyIC8qIENvcmVNZWRpYVNvZnRMaW5rLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvcmVNZWRpYVNvZnRMaW5rLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDQzOTE3RkQxQTkxQjJGODAwNkUwNEYyIC8q
IFF1aWNrTG9va1NvZnRMaW5rLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0NDM4MTdGRTFBOTFCMkY4MDA2RTA0RjIgLyogQ29yZU1lZGlhU29mdExpbmsuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29yZU1lZGlhU29mdExpbmsuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDQzOTE3RkUxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNr
TG9va1NvZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGlvcy9RdWlj
a0xvb2tTb2Z0TGluay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NDM5MTdGRDFB
OTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NDM5MTdGRTFBOTFCMkY4MDA2RTA0RjIgLyogaW9z
L1F1aWNrTG9va1NvZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGlv
cy9RdWlja0xvb2tTb2Z0TGluay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDNG
MDQyNjBFNzVDOEZCMDA3RTU0MDcgLyogTmV0d29ya1N0YXRlTm90aWZpZXJJT1MubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBOZXR3b3JrU3RhdGVOb3RpZmllcklP
Uy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQ0OUE0MDQxQTk2NEIwMDAwQjY0
QUQ1IC8qIENvcmVNZWRpYVNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
b3JlTWVkaWFTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQ0RDRFMjEwRjcw
OEIyRTAwMzE1OEUwIC8qIFdlYkNvcmVVUkxSZXNwb25zZUlPUy5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkNvcmVVUkxSZXNwb25zZUlPUy5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4ODU3LDggKzE4ODU3LDggQEAKIAkJCQlDNTI3OEIw
QjE3RjIxMkVBMDAzQTI5OTggLyogUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tICovLAogCQkJCUU0
NTM5MDMyMEVBRkQ2MzcwMDM2OTVDOCAvKiBQbGF0Zm9ybVNjcmVlbklPUy5tbSAqLywKIAkJCQlB
QUUzNzU1RDE3NDI5QkNDMDA2MjAwQzIgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcklPUy5t
bSAqLywKLQkJCQk0NDM5MTdGRTFBOTFCMkY4MDA2RTA0RjIgLyogUXVpY2tMb29rU29mdExpbmsu
aCAqLywKLQkJCQk0NDM5MTdGRDFBOTFCMkY4MDA2RTA0RjIgLyogUXVpY2tMb29rU29mdExpbmsu
bW0gKi8sCisJCQkJNDQzOTE3RkUxQTkxQjJGODAwNkUwNEYyIC8qIGlvcy9RdWlja0xvb2tTb2Z0
TGluay5oICovLAorCQkJCTQ0MzkxN0ZEMUE5MUIyRjgwMDZFMDRGMiAvKiBpb3MvUXVpY2tMb29r
U29mdExpbmsubW0gKi8sCiAJCQkJQ0RGQzM2MDExOENBNjE2MzAwMjZFNTZGIC8qIFJlbW90ZUNv
bW1hbmRMaXN0ZW5lcklPUy5oICovLAogCQkJCUNERkMzNjAyMThDQTYxNjMwMDI2RTU2RiAvKiBS
ZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MubW0gKi8sCiAJCQkJNDRDMzYzRUUwRkFBN0JCMzAwOTdG
OENDIC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0lPUy5oICovLApAQCAtMjYwNjIsNyArMjYw
NjIsNyBAQAogCQkJCTU1MEEwQkNBMDg1RjYwMzkwMDczNTNENiAvKiBRdWFsaWZpZWROYW1lLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlDRTEyNTIzRDFBMTY3NkNEMDA4NjQ0ODAgLyogUXVhcnR6Q29y
ZVNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDQyQUY3QTkxMDJDRERFQTAwOEZENEQzIC8qIFF1
aWNrTG9vay5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDQzOTE4MDAxQTkxQjJGODAwNkUwNEYyIC8q
IFF1aWNrTG9va1NvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKKwkJCQk0NDM5MTgwMDFBOTFCMkY4
MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
MTQ5Nzg2RjFBQkFGMzM4MDBDRUY3RTQgLyogQ29udGVudEZpbHRlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQ0UxMjUyMzkxQTE2NkZBMDAwODY0NDgwIC8qIFF1aWNrTG9va1NQSS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQTEwREJGNDcxOEY5MjMxNzAwMEQ3MEM2IC8qIFF1aWNrTG9va0hhbmRsZUNs
aWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yOTU2Myw3ICsyOTU2Myw3IEBACiAJCQkJQ0RFRTM5
MzcxNzk3NDI1OTAwMUQ3NTgwIC8qIFB1YmxpY1VSTE1hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNTUwQTBCQzkwODVGNjAzOTAwNzM1M0Q2IC8qIFF1YWxpZmllZE5hbWUuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNDQyQUY3QUExMDJDRERFQTAwOEZENEQzIC8qIFF1aWNrTG9vay5tbSBp
biBTb3VyY2VzICovLAotCQkJCTQ0MzkxN0ZGMUE5MUIyRjgwMDZFMDRGMiAvKiBRdWlja0xvb2tT
b2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAorCQkJCTQ0MzkxN0ZGMUE5MUIyRjgwMDZFMDRGMiAv
KiBpb3MvUXVpY2tMb29rU29mdExpbmsubW0gaW4gU291cmNlcyAqLywKIAkJCQkwNzJBRTFFNjE4
M0MwNzQxMDAwQTU5ODggLyogUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQubW0gaW4gU291cmNl
cyAqLywKIAkJCQkzNzlFMzcxNjEzNzM2QTY2MDBCOUU5MTkgLyogUXVvdGVkUHJpbnRhYmxlLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTVBNTc0RjI4MTMxREI5NkQwMDQ3MUI4OCAvKiBRdW90ZXNE
YXRhLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L21hYy9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBmYzkwZjYxMTU2MjMx
YTQxY2E5MTM3ZjE3Yzc5NTVlOGQzNzNiMGVhLi4wYzg4NDBmNmFiNTE4NWY4MzU0YjcwNjAzZTAy
NWYyNWEyYTc5ZjRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9u
cy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDQsNiArNDQsNyBAQCBFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HID0gRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORzsKIEVOQUJMRV9D
QU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7
CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7CitF
TkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWDsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19TWU5U
QVg7CiBFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYID0gRU5BQkxFX0VTNl9URU1Q
TEFURV9MSVRFUkFMX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9D
T05URU5UX0ZJTFRFUklORzsKQEAgLTIxNSw0ICsyMTYsNCBAQCBFTkFCTEVfSklUID0gRU5BQkxF
X0pJVDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRV
UkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNE
X1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUND
RUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5B
QkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVO
QUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X1RFTVBM
QVRFX0xJVEVSQUxfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVf
Q1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19C
T1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9D
U1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVf
Q1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChF
TkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJM
RV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5F
X0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVN
RV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1Rf
RUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19F
TEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRT
X0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURf
RVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFC
TEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElE
REVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChF
TkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5D
T01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1Nf
R0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lP
U19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVO
QUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5B
QkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJP
TFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJ
Q1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VT
RV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJM
RV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFC
TEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNF
UykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNU
KSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5B
QkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVO
QUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChF
TkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJM
RV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRT
KSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9E
RVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJ
WklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcp
ICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChF
TkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVF
KSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVf
V0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChF
TkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRU
X1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9G
VExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJ
QykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0g
JChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBU
SU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJ
T05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
ICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFM
X1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAk
KEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJ
T05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9B
REFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9P
UklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19S
RUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBF
UykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChF
TkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikg
JChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQo
RU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChF
TkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RP
UikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIp
ICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURf
REVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RP
TV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJ
Q0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05U
SCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQo
RU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZF
TlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxF
X0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BS
RUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkg
JChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJM
RV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1ND
QUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9S
X0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9Q
TFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxF
X1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVf
UVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNU
X0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xV
VElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19T
Q1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19B
UEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVf
U1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAk
KEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9D
U1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVP
KSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVf
VklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykg
JChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RV
UkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAk
KEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChF
TkFCTEVfSklUKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxF
X1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdDIvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggZmM5MGY2MTE1NjIzMWE0
MWNhOTEzN2YxN2M3OTU1ZThkMzczYjBlYS4uMGM4ODQwZjZhYjUxODVmODM1NGI3MDYwM2UwMjVm
MjVhMmE3OWY0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ0LDYgKzQ0LDcgQEAgRU5BQkxFX0NBQ0hFX1BB
UlRJVElPTklORyA9IEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkc7CiBFTkFCTEVfQ0FOVkFTX1BB
VEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOworRU5BQkxFX0VT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7
CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYOwogRU5B
QkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCA9IEVOQUJMRV9FUzZfVEVNUExBVEVfTElU
RVJBTF9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkc7CkBAIC0yMTUsNCArMjE2LDQgQEAgRU5BQkxFX0pJVCA9IEVOQUJMRV9KSVQ7CiAK
IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xB
WU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZP
Uk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRB
Q0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FO
VkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9URU1QTEFURV9MSVRF
UkFMX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhU
KSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09S
QVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklD
RV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFH
RV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NT
U19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NI
QVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykg
JChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExF
UikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQp
ICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkg
JChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJV
Q1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFf
VjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykg
JChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQ
QURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdF
X0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NF
UlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVY
RURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9N
T05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUsp
ICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hf
RVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5L
X1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQ
VCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVO
QUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09S
X1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdB
VE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJ
VF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5B
QkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFC
TEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFV
RVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVT
T0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NT
U19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFN
U19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9O
KSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJM
RV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJ
REVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFC
TEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJ
TykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJ
Q1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05T
KSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkg
JChFTkFCTEVfSklUKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5B
QkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
XzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVf
QUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQo
RU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAk
KEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJM
RV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVgp
ICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVf
Q1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFL
KSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElP
TikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykg
JChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5B
QkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NV
UlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxF
X0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9E
QVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RF
VklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJM
RV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZV
TExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FU
RUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJf
VEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRS
T0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
X0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5B
QkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChF
TkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChF
TkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lf
V0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkg
JChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxF
X01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJf
RUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChF
TkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNV
UlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAk
KEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1J
VFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAk
KEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09N
UExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVE
SUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NO
QVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVO
QUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZf
Q09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVf
VEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VD
SF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlM
SU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFC
TEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9E
RV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxF
X1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVT
KSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVf
WEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJ
VCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19Q
UkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVy
ZXMuY21ha2UgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKaW5kZXggYmNiMzlh
ZWQ3Y2Y3MmQ1NmUwMTlkZDIwNTk2ZmFkMzY5NzNiODgwMS4uMDY1MDViY2E0ZDVjZGY2NTBhYjJj
Y2ViNDQ3YjAwMThjOTIyOTg3MSAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1
cmVzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQpAQCAtNTks
NiArNTksNyBAQCBtYWNybyhXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAgIFdFQktJVF9PUFRJT05f
REVGSU5FKEVOQUJMRV9DU1NfU0hBUEVTICJUb2dnbGUgQ1NTIFNoYXBlcyBzdXBwb3J0IiBQUklW
QVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJ
VFkgIlRvZ2dsZSBjdXJzb3IgdmlzaWJpbGl0eSBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBX
RUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSICJUb2dnbGUg
Q3VzdG9tIFNjaGVtZSBIYW5kbGVyIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQorICAgIFdFQktJVF9P
UFRJT05fREVGSU5FKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggIlRvZ2dsZSBFUzYg
YXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVG
SU5FKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCAiVG9nZ2xlIGRhc2hib2FyZCBzdXBwb3J0IiBQ
UklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfREFUQUNVRV9WQUxV
RSAiVG9nZ2xlIGRhdGFjdWUgdmFsdWUgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lU
X09QVElPTl9ERUZJTkUoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQgIlRvZ2dsZSBIVE1MNSBkYXRh
bGlzdCBzdXBwb3J0IiBQUklWQVRFIE9GRikKQEAgLTE2OCw3ICsxNjksNiBAQCBtYWNybyhXRUJL
SVRfT1BUSU9OX0JFR0lOKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9YSFJfVElN
RU9VVCAiVG9nZ2xlIFhIUiB0aW1lb3V0IHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJ
VF9PUFRJT05fREVGSU5FKEVOQUJMRV9YU0xUICJUb2dnbGUgWFNMVCBzdXBwb3J0IiBQUklWQVRF
IE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKFVTRV9TWVNURU1fTUFMTE9DICJUb2dnbGUg
c3lzdGVtIGFsbG9jYXRvciBpbnN0ZWFkIG9mIFdlYktpdCdzIGN1c3RvbSBhbGxvY2F0b3IiIFBS
SVZBVEUgT0ZGKQotCiAgICAgV0VCS0lUX09QVElPTl9ERVBFTkQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQV9WMiBFTkFCTEVfVklERU8pCiAgICAgV0VCS0lUX09QVElPTl9ERVBFTkQoRU5BQkxFX0RG
R19KSVQgRU5BQkxFX0pJVCkKICAgICBXRUJLSVRfT1BUSU9OX0RFUEVORChFTkFCTEVfRlRMX05B
VElWRV9DQUxMX0lOTElOSU5HIEVOQUJMRV9GVExfSklUKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJs
L0ZlYXR1cmVMaXN0LnBtCmluZGV4IGIwZDVhYTFiM2JjNDQ4ZDZkMjYxMjcwYTVmYjU4MTQwMzQ2
NWY1ZjUuLjQwYzExNWUzYjNlNGJhNDc1MmE3MWQzOGQxZmVhMjI3ZWUyMGQxMjcgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KQEAgLTQ0LDYgKzQ0LDcgQEAgQkVHSU4g
ewogbXkgKAogICAgICR0aHJlZURUcmFuc2Zvcm1zU3VwcG9ydCwKICAgICAkYWNjZWxlcmF0ZWQy
RENhbnZhc1N1cHBvcnQsCisgICAgJGFycm93ZnVuY3Rpb25TeW50YXgsCiAgICAgJGF0dGFjaG1l
bnRFbGVtZW50U3VwcG9ydCwKICAgICAkYmF0dGVyeVN0YXR1c1N1cHBvcnQsCiAgICAgJGNhbnZh
c1BhdGhTdXBwb3J0LApAQCAtMTU2LDkgKzE1NywxMyBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAg
eyBvcHRpb24gPT4gImFjY2VsZXJhdGVkLTJkLWNhbnZhcyIsIGRlc2MgPT4gIlRvZ2dsZSBBY2Nl
bGVyYXRlZCAyRCBDYW52YXMgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9BQ0NF
TEVSQVRFRF8yRF9DQU5WQVMiLCBkZWZhdWx0ID0+IGlzR3RrKCksIHZhbHVlID0+IFwkYWNjZWxl
cmF0ZWQyRENhbnZhc1N1cHBvcnQgfSwKIAorICAgIHsgb3B0aW9uID0+ICJhcnJvd2Z1bmN0aW9u
LXN5bnRheCIsIGRlc2MgPT4gIlRvZ2dsZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1cHBv
cnQiLAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIiwg
ZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGFycm93ZnVuY3Rpb25TeW50YXggfSwKKwogICAgIHsg
b3B0aW9uID0+ICJhdHRhY2htZW50LWVsZW1lbnQiLCBkZXNjID0+ICJUb2dnbGUgQXR0YWNobWVu
dCBFbGVtZW50IHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQVRUQUNITUVOVF9F
TEVNRU5UIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBcJGF0dGFjaG1lbnRFbGVtZW50U3VwcG9y
dCB9LAogCisKICAgICB7IG9wdGlvbiA9PiAiYmF0dGVyeS1zdGF0dXMiLCBkZXNjID0+ICJUb2dn
bGUgQmF0dGVyeSBTdGF0dXMgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9CQVRU
RVJZX1NUQVRVUyIsIGRlZmF1bHQgPT4gaXNFZmwoKSwgdmFsdWUgPT4gXCRiYXR0ZXJ5U3RhdHVz
U3VwcG9ydCB9LAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252411</attachid>
            <date>2015-05-05 15:21:07 -0700</date>
            <delta_ts>2015-05-05 15:33:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150506011949.patch</filename>
            <type>text/plain</type>
            <size>207727</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzODIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
NDdiZWZlOTk4MThhOTZmYzVkOTgxOWM2MDJmMzg0YTFlNjZjYmM5Li4wY2I3M2E1MTY5NGNiODk2
NDdlYTljNjYzNGQzMjIwMGM1YTIwYTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNjMgQEAKKzIwMTUtMDUtMDEgQWxla3NhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MDg1NQorCisgICAgICAgICAqIHBhcnNlci9QYXJzZXIuaDoKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIHN1cHBvcnQgb2YgRVM2IGFycm93IGZ1
bmN0aW9uLiBDaGFuZ2VzIHdlcmUgbWFkZSBhY2NvcmRpbmcgZm9sbG93aW5nIHNwZWMgaHR0cDov
L3dpa2kuZWNtYXNjcmlwdC5vcmcvZG9rdS5waHA/aWQ9aGFybW9ueTphcnJvd19mdW5jdGlvbl9z
eW50YXgKKyAgICAgICAgSW4gcGF0Y2ggd2VyZSBpbXBsZW1lbnRlZCB0aGUgc2ltcGxlc3QgY2Fz
ZXM6CisgICAgICAgICAgMSBubyBwYXJhbWV0ZXJzICAgICAgICAgICAgICAgICgpID0+IDEwICsg
MjAKKyAgICAgICAgICAyIHNpbmdsZSBwYXJhbWV0ZXIgICAgICAgICAgICAgIHggPT4geCArIDIw
CisgICAgICAgICAgMyBtdWx0aXBsZSBwYXJhbWV0ZXJzICAgICAgKHgsIHkpID0+IHggKyB5Cisg
ICAgICAgICAgNCBhcnJvdyBmdW5jdGlvbiB3aXRoIGJsb2NrICAgICB4ID0+IHsgcmV0dXJuIHgq
MTA7IH0KKyAgICAgICAgICA1IGxleGljYWwgdGhpcyAtIHZhcmlhYmxlIHRoaXMgaXMgcG9pbnQg
dG8gdGhlIHRoaXMgb2YgdGhlIGZ1bmN0aW9uIHdoZXJlIGFycm93IGZ1bmN0aW9uIGlzIGRlY2xh
cmVkCisgICAgICAgICAgNiBObyBjb25zdHJ1Y3RvciAtIHRoZSB1c2luZyBvZiB0aGUgY29tbWFu
ZCBuZXcgZm9yIGFycm93IGZ1bmN0aW9uIGxlYWRzIHRvIHJ1bnRpbWUgZXJyb3IuIAorCisgICAg
ICAgICAgTm90IHlldCBpbXBsZW1lbnRlZDoKKyAgICAgICAgICAxIGxleGljYWwgYmluZCBvZiB0
aGUgYXJndW1lbnRzICYgc3VwZXIKKyAgICAgICAgICAyIEluc2lkZSBhbiBhcnJvdyBmdW5jdGlv
biwgbmV3LnRhcmdldCByZWZlcnMgdG8gdGhlIG5ldy50YXJnZXQgb2YgdGhlIHN1cnJvdW5kaW5n
IG5vbi1hcnJvdyBmdW5jdGlvbi4KKyAgICAgICAgICAzIGFycm93IGZ1bmN0aW9uIGRvZXNuw6LC
gMKZdCBpbmxpbmUgJiBjb21waWxlIGluIERGRyBtb2RlLiAKKworICAgICAgICAgKiBDb25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29y
ZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2o6CisgICAgICAgICogYnl0ZWNvZGUvQnl0
ZWNvZGVMaXN0Lmpzb246CisgICAgICAgICogYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaDoKKyAg
ICAgICAgKEpTQzo6RnVuY3Rvcjo6Y29tcHV0ZVVzZXNGb3JCeXRlY29kZU9mZnNldCk6CisgICAg
ICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpk
dW1wQnl0ZWNvZGUpOgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5o
OgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHA6CisgICAgICAg
IChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24p
OiBhZGRlZAorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFRoaXNOb2RlQnl0
ZWNvZGUpOiBhZGRlZAorICAgICAgICAqIGJ5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgor
ICAgICAgICAoSlNDOjplbWl0Qnl0ZWNvZGU6OmVtaXRCeXRlY29kZSk6IGFkZGVkCisgICAgICAg
IChKU0M6OkFycm93RnVuY0V4cHJOb2RlOjplbWl0Qnl0ZWNvZGUpOiBhZGRlZAorICAgICAgICAq
IGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6CisgICAgICAgIChKU0M6OkJ5dGVDb2RlUGFyc2Vy
OjpwYXJzZUJsb2NrKToKKyAgICAgICAgKiBkZmcvREZHQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAg
ICAgKEpTQzo6Q2FwYWJpbGl0eUxldmVsOjpjYXBhYmlsaXR5TGV2ZWwpOgorICAgICAgICAqIGpp
dC9KSVQuaDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX25ld19hcnJvd19mdW5jX2V4cCk6
IGFkZGVkCisgICAgICAgICogaml0L0pJVElubGluZXMuaDoKKyAgICAgICAgKEpTQzo6SklUOjpj
YWxsT3BlcmF0aW9uKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklULmNwcDoKKyAgICAgICAgKEpT
Qzo6SklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKToKKyAgICAgICAgKiBqaXQvSklUT3Bjb2Rl
cy5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9uZXdfYXJyb3dfZnVuY19leHApOiBh
ZGRlZAorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKEpTQzo6SklU
X09QRVJBVElPTjo6b3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbik6IGFkZGVkCisgICAgICAgICog
aml0L0pJVE9wZXJhdGlvbnMuaDoKKyAgICAgICAgKEpTQzo6SklUX09QRVJBVElPTjo6b3BlcmF0
aW9uTmV3QXJyb3dGdW5jdGlvbik6IGFkZGVkCisgICAgICAgICogbGxpbnQvTExJbnRTbG93UGF0
aHMuY3BwOgorICAgICAgICAoTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX25ld19hcnJv
d19mdW5jX2V4cCk6IGFkZGVkCisgICAgICAgICogbGxpbnQvTExJbnRTbG93UGF0aHMuaDoKKyAg
ICAgICAgKExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHAp
KTogYWRkZWQKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToKKyAgICAg
ICAgKiBkZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6
REZHOjpBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVj
dHMpOgorICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6CisgICAgICAgIChKU0M6
OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAqIGRmZy9ERkdDYXBh
YmlsaXRpZXMuY3BwOgorICAgICAgICAoSlNDOjpERkc6OmNhcGFiaWxpdHlMZXZlbCk6CisgICAg
ICAgICogZGZnL0RGR0Nsb2JiZXJpemUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpjbG9iYmVyaXpl
KToKKyAgICAgICAgKiBkZmcvREZHRG9lc0dDLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpkb2Vz
R0MpOgorICAgICAgICAqIGRmZy9ERkdGaXh1cFBoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpGaXh1cFBoYXNlOjpmaXh1cE5vZGUpOgorICAgICAgICAqIGRmZy9ERkdOb2RlLmg6CisgICAg
ICAgIChKU0M6OkRGRzo6Tm9kZTo6aGFzQ2VsbE9wZXJhbmQpOgorICAgICAgICAqIGRmZy9ERkdO
b2RlVHlwZS5oOgorICAgICAgICAqIGRmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5j
cHA6CisgICAgICAgIChKU0M6OkRGRzo6UHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2U6OnByb3Bh
Z2F0ZSk6CisgICAgICAgICogZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaDoKKyAgICAgICAgKEpTQzo6
REZHOjpzYWZlVG9FeGVjdXRlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuaDoK
KyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y2FsbE9wZXJhdGlvbik6CisgICAg
ICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6
OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVK
SVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgor
ICAgICAgICAqIGRmZy9ERkdTdHJ1Y3R1cmVSZWdpc3RyYXRpb25QaGFzZS5jcHA6CisgICAgICAg
IChKU0M6OkRGRzo6U3RydWN0dXJlUmVnaXN0cmF0aW9uUGhhc2U6OnJ1bik6CisgICAgICAgICog
ZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuY3BwOgorICAgICAgICAqIGZ0bC9GVExBYnN0
cmFjdEhlYXBSZXBvc2l0b3J5Lmg6CisgICAgICAgICogZnRsL0ZUTENhcGFiaWxpdGllcy5jcHA6
CisgICAgICAgIChKU0M6OkZUTDo6Y2FuQ29tcGlsZSk6CisgICAgICAgICogZnRsL0ZUTEludHJp
bnNpY1JlcG9zaXRvcnkuaDoKKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwOgor
ICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlTm9kZSk6CisgICAgICAg
IChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVOZXdBcnJvd0Z1bmN0aW9uKToKKyAg
ICAgICAgKiBwYXJzZXIvQVNUQnVpbGRlci5oOgorICAgICAgICAoSlNDOjpBU1RCdWlsZGVyOjpj
cmVhdGVBcnJvd0Z1bmN0aW9uRXhwcik6CisgICAgICAgICogcGFyc2VyL0xleGVyLmNwcDoKKyAg
ICAgICAgKEpTQzo6TGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24pOgorICAgICAgICAoSlNDOjpM
ZXhlcjxUPjo6bGV4KToKKyAgICAgICAgKiBwYXJzZXIvTGV4ZXIuaDoKKyAgICAgICAgKEpTQzo6
TGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24pOgorICAgICAgICAqIHBhcnNlci9Ob2RlQ29uc3Ry
dWN0b3JzLmg6CisgICAgICAgIChKU0M6OkFycm93RnVuY0V4cHJOb2RlOjpBcnJvd0Z1bmNFeHBy
Tm9kZSk6IGFkZGVkCisgICAgICAgICogcGFyc2VyL05vZGVzLmg6CisgICAgICAgIChKU0M6Ok5v
ZGU6OmlzQXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZAorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNF
eHByTm9kZSk6IGFkZGVkIGNsYXNzCisgICAgICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisgICAg
ICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsZW1lbnRzKToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlc3Npb24pOgorICAg
ICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU291cmNlRWxlbWVudCk6CisgICAgICAgIChKU0M6OlBh
cnNlcjo6cGFyc2VTdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXNzaWdu
bWVudEV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlUHJpbWFyeUV4cHJl
c3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dFeHByZXNzaW9uKToKKyAg
ICAgICAgKEpTQzo6UGFyc2VyOjpzZXRFbmRPZlN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBh
cnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6
cGFyc2VBcnJvd0Z1bmN0aW9uSW5mbyk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJv
d0Z1bmN0aW9uQm9keSk6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorICAgICAgICAoSlND
OjpQYXJzZXI6OkZ1bmN0aW9uUGFyc2VUeXBlKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJz
ZVNvdXJjZUVsZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KToK
KyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RXhwcmVzc2lvbik6CisgICAgICAgIChK
U0M6OlBhcnNlcjo6c2V0RW5kT2ZTdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBh
cnNlQXJyb3dGdW5jdGlvbldyYXBwZXIpOgorICAgICAgICAqIHBhcnNlci9QYXJzZXJGdW5jdGlv
bkluZm8uaDoKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyVG9rZW5zLmg6CisgICAgICAgIChKU0M6
OlBhcnNlckZ1bmN0aW9uSW5mbzo6YXJyb3dGdW5jdGlvbk9mZnNldCk6IGFkZGVkCisgICAgICAg
IChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6aXNBcnJvd0Z1bmN0aW9uKTogYWRkZWQKKyAgICAg
ICAgKEpTQzo6UGFyc2VyRnVuY3Rpb25JbmZvOjphcnJvd0Z1bmN0aW9uQm9keVR5cGUpOiBhZGRl
ZAorICAgICAgICAqIHBhcnNlci9Tb3VyY2VDb2RlLmg6CisgICAgICAgIChKU0M6OlNvdXJjZUNv
ZGU6OnN1YkFycm93RXhwcmVzc2lvbik6CisgICAgICAgICogcGFyc2VyL1N5bnRheENoZWNrZXIu
aDoKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIp
OgorICAgICAgICAqIHBhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbToKKyAgICAgICAgKEpT
Qzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMpOgorICAgICAgICAo
SlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbSk6CisgICAgICAgIChKU0M6OlNvdXJjZVByb3Zp
ZGVyQ2FjaGVJdGVtOjplbmRBcnJvd0Z1bmN0aW9uVG9rZW4pOgorICAgICAgICAqIHJ1bnRpbWUv
SlNBcnJvd0Z1bmN0aW9uLmg6IGFkZGVkIGNsYXNzIGZvciBoYW5kbGUgYXJyb3cgZnVuY3Rpb24g
Y3JlYXRpb24gYW5kIGV4ZWN1dGlvbgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJvd0Z1bmN0aW9u
LmNwcDoKKyAgICAgICAgKiBydW50aW1lL0pTRnVuY3Rpb24uaDoKKyAgICAgICAgKEpTQzo6SlNG
dW5jdGlvbjo6SlNGdW5jdGlvbik6IGFkZGVkIG9uZSBtb3JlIGNvbnN0cnVjdG9yCisgICAgICAg
ICogcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oOgorICAgICAgICAoSlNDOjpKU0Z1bmN0aW9u
OjpKU0Z1bmN0aW9uKTogYWRkZWQgY29uc3RydWN0b3IgaW1wbGVtZW50YXRpb24KKyAgICAgICAg
KiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmpl
Y3Q6OmluaXQpOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6bV9hcnJvd0Z1bmN0aW9u
U3RydWN0dXJlKTogYWRkZWQKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmFycm93RnVu
Y3Rpb25TdHJ1Y3R1cmUpOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFz
cGFyYW10ZXItMS5qczogQWRkZWQuCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tYXNwYXJhbXRlci0yLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1ib3VuZC5qczogQWRkZWQuCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tY2FsbC5qczogQWRkZWQuCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tY29uc3RydWN0b3IuanM6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
bGV4aWNhbC1hcmd1bWVudHMuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJv
d2Z1bmN0aW9uLWxleGljYWwtdGhpcy0xLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMtMi5qczogQWRkZWQuCisgICAgICAgICogdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTEuanM6IEFkZGVkLgorICAgICAgICAqIHRl
c3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMC0yLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAwMDAtMS5qczogQWRkZWQuCisgICAgICAg
ICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwMDAwLTIuanM6IEFkZGVkLgorICAg
ICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXN5bnRheC5qczogQWRkZWQuCisKIDIw
MTUtMDUtMDUgIEJhc2lsZSBDbGVtZW50ICA8YmFzaWxlX2NsZW1lbnRAYXBwbGUuY29tPgogCiAg
ICAgICAgIEZpeCBkZWJ1ZyBidWlsZHMgYWZ0ZXIgcjE4MzgxMgpAQCAtNjcwLDYgKzgzMCwxNCBA
QAogICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpwcm92ZW5WYWx1ZSk6CiAgICAg
ICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmFic3RyYWN0U3RydWN0dXJlKToKIAorMjAx
NS0wNC0xMiAgQWxleGFuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorICAgICAg
ICBTbWFsbCByZWZhY3RvcmluZyBvZiB0aGUgcGFyY2VyLmNwcCBmaWxlLiBJdCBpcyBuZWNlc3Nh
cnkgdG8gaW5jcmVhc2UgcmVhZGFiaWxpdHkgb2YgdGhlIHBhdGNoCisgICAgICAgIHdpdGggRVM2
IEFycm93IGZ1bmN0aW9uIGltcGxlbWVudGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAqIHBhcnNlci9QYXJzZXIu
aDoKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKwogMjAxNS0wNS0wMSAgTWFydGluIFJv
Ymluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgVVNFKC4uLikgbWFjcm8g
c2hvdWxkIGV4cGVjdCB1bnByZWZpeGVkIHZhcmlhYmxlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGUzMWFiYjRl
NDBhNDdjMWM4OTZmODU3YzhmNTQ5Y2U2MjM3Y2Q4ZTEuLjU3Njc4YThlZmNiNGVjYjVmMTM0YzQz
N2ZlZDdjOTcyMTliNTZjZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNS0wNC0x
NyAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisgICAgICAgIFtF
UzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmZWF0dXJlIGZsYWcgRU5BQkxF
X0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rpb24KKworICAgICAgICAq
IENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1LTA1LTA0ICBS
b2dlciBGb25nICA8cm9nZXJfZm9uZ0BhcHBsZS5jb20+CiAKICAgICAgICAgTWVkaWEgY29udHJv
bCB2b2x1bWUgc2xpZGVyIGlzIG9wYXF1ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA1MjlmZjlhODgz
OWVlOTM1NWE0MjBjOGZmOTJlYWYwOTdkNDZiNmFhLi45YWFmYzE4OGZjYjg3YmZhYmMzOWY1ZGFj
NzIyODczMGQzZDkzMGRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUt
MDQtMTcgIFNrYWNoa292IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAg
ICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVO
QUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggZm9yIGFycm93IGZ1bmN0aW9uCisKKyAgICAg
ICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxNS0wNS0w
NCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBUb2dnbGluZyB1
bmRlcmxpbmUgb3Igc3RyaWtlIHRocm91Z2ggYWZmZWN0cyBlYWNoIG90aGVyCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggODhjOTk3YmVjNjlmNWEzNmRlMzc1NTE3YzcyMmIy
MDFmNzE0NWMwMy4uM2UxOTY5NDZmYmM1NTkyYzFlOWU5NmQwMTk5ZDA1NjI0NTAzODE5YiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNDc0LDYgKzQ3NCw3IEBAIHNldChK
YXZhU2NyaXB0Q29yZV9SVU5USU1FX1NPVVJDRVMKICAgICBydW50aW1lL0pTQXJyYXlCdWZmZXJW
aWV3LmNwcAogICAgIHJ1bnRpbWUvSlNBcnJheUl0ZXJhdG9yLmNwcAogICAgIHJ1bnRpbWUvSlNC
b3VuZEZ1bmN0aW9uLmNwcAorICAgIHJ1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcAogICAgIHJ1
bnRpbWUvSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxlLmNwcAogICAgIHJ1bnRpbWUvSlNDSlNWYWx1
ZS5jcHAKICAgICBydW50aW1lL0pTQ2FsbGVlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmlu
ZGV4IGZjOTBmNjExNTYyMzFhNDFjYTkxMzdmMTdjNzk1NWU4ZDM3M2IwZWEuLjBjODg0MGY2YWI1
MTg1ZjgzNTRiNzA2MDNlMDI1ZjI1YTJhNzlmNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
QEAgLTQ0LDYgKzQ0LDcgQEAgRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORyA9IEVOQUJMRV9DQUNI
RV9QQVJUSVRJT05JTkc7CiBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7
CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9
IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRB
WCA9IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYOwogRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFM
X1NZTlRBWCA9IEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVg7CiBFTkFCTEVfQ09O
VEVOVF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CkBAIC0yMTUsNCArMjE2
LDQgQEAgRU5BQkxFX0pJVCA9IEVOQUJMRV9KSVQ7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VU
X0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFU
VVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRF
RF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChF
TkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxF
X0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZB
U19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19T
WU5UQVgpICQoRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkgJChFTkFCTEVfQ09O
VEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9O
U19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NT
U19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9D
U1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVf
Q1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1Nf
U0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhU
KSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJ
VFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NV
UFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJf
SVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVE
X01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVW
RUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkp
ICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVf
R0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAk
KEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykg
JChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lO
UFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlC
QUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVY
VF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lf
Q1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5B
QkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQo
RU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRI
TUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNF
KSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVO
QUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FU
T1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5B
QkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5U
RVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQo
RU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVF
U1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFC
TEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChF
TkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVf
U1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9D
UllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQo
RU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVN
RU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChF
TkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChF
TkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFD
SykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkg
JChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkg
JChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dF
Ql9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkg
JChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9T
QVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9N
T0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NS
T0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVO
VCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChF
TkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVO
QUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVS
SU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikg
JChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJ
TkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZ
T1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9S
RVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19M
RVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVf
Q1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJM
RV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVO
QUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVO
QUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFC
TEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5B
QkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9H
QU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNP
TkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lO
RElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQp
ICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRU
RVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVf
TUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwp
ICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRf
VVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQo
RU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJM
SUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElP
Tl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9J
TlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJF
Ul9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5U
SEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVO
QUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxF
UEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFC
TEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNI
X0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJT
RUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxF
X0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dF
QkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dF
Ql9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAk
KEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hT
TFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfU0FUVVJBVEVEX0xB
WU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZh
U2NyaXB0Q29yZS52Y3hwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagppbmRleCBhNTU1YWU5NWEzZWRiODhiYjE2
NGM2MGM0NDdiM2I3NWRiNWJmNTE3Li5mMDczMjY5N2MyM2ExYjM0YmNjMGJmOTA5ODI0NzQyM2Zh
MWI1YWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
dmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKQEAgLTczNSw2
ICs3MzUsNyBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0FycmF5QnVm
ZmVyUHJvdG90eXBlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVc
SlNBcnJheUJ1ZmZlclZpZXcuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVu
dGltZVxKU0JvdW5kRnVuY3Rpb24uY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
cnVudGltZVxKU0Fycm93RnVuY3Rpb24uY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5ccnVudGltZVxKU0NKU1ZhbHVlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XHJ1bnRpbWVcSlNDYWxsZWUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVu
dGltZVxKU0NhdGNoU2NvcGUuY3BwIiAvPgpAQCAtMTUzOCw2ICsxNTM5LDcgQEAKICAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJheUJ1ZmZlclZpZXdJbmxpbmVzLmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlJdGVyYXRvci5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0JvdW5kRnVuY3Rpb24uaCIg
Lz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJvd0Z1bmN0aW9uLmgi
IC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0lubGluZXMuaCIgLz4K
ICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZS5oIiAvPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NKU1ZhbHVlSW5saW5lcy5oIiAvPgpA
QCAtMTgxOSw0ICsxODIxLDQgQEAKICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJn
ZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcQnVpbGRDdXN0b21p
emF0aW9uc1xtYXNtLnRhcmdldHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+Ci08L1Byb2plY3Q+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCAxZjA0ZjM1NzkzODE1YTEzZTJhMTkxMTViNWY0YjdhNmMwOTE5MGQzLi5k
YjA2MTQ1MDQyODRjMzVhNjAxNTkzMThmODhlNGUzMGZlZjU3ZWJmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtMTEwOCw2ICsxMTA4LDggQEAKIAkJODZGM0VFQkYxNjhDREU5MzAw
NzdCOTJBIC8qIE9iamNSdW50aW1lRXh0cmFzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4NkYzRUVCNjE2ODU1QTVCMDA3N0I5MkEgLyogT2JqY1J1bnRp
bWVFeHRyYXMuaCAqLzsgfTsKIAkJODZGQTlFOTExNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRG
dW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4NkZBOUU4RjE0MkJCQjJEMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAqLzsgfTsK
IAkJODZGQTlFOTIxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGQTlFOTAxNDJCQkIyRTAw
MTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICovOyB9OworCQk4QjBGNDI0QzFBQkQ2REUyMDAz
OTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDhCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVu
Y3Rpb24uY3BwICovOyB9OworCQk4QjBGNDI0QzFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1
bmN0aW9uLmggaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggKi87IH07CiAJCTkw
MjEzRTNEMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkwMjEzRTNCMTIzQTQwQzIwMEQ0
MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmNwcCAqLzsgfTsKIAkJOTAyMTNFM0UxMjNBNDBDMjAw
RDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0
aXN0aWNzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJOTMwNTJDMzQwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMDUyQzMyMEZCNzkyMTkwMDQ4
RkRDMyAvKiBQYXJzZXJBcmVuYS5jcHAgKi87IH07CkBAIC0yODU4LDYgKzI4NjAsOCBAQAogCQk4
NkY3NUVGRDE1MUMwNjJGMDA3QzlCQTMgLyogUmVnRXhwTWF0Y2hlc0FycmF5LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZ0V4cE1hdGNoZXNBcnJheS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBK
U0JvdW5kRnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNCb3VuZEZ1bmN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODZGQTlF
OTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU0JvdW5kRnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJOEIwRjQyNEExQUJENkQyRjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU0Fycm93RnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Fycm93RnVuY3Rpb24uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MDIxM0UzQjEyM0E0MEMyMDBENDIyRjMgLyog
TWVtb3J5U3RhdGlzdGljcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBNZW1vcnlTdGF0aXN0aWNzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTAy
MTNFM0MxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gTWVtb3J5U3RhdGlzdGljcy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk5MzA1MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFyc2VyQXJlbmEuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDQ3Myw2ICs0NDc3LDggQEAKIAkJCQlBN0JE
QUVDNTE3RjRFQTE0MDBGNjE0MEMgLyogSlNBcnJheUl0ZXJhdG9yLmggKi8sCiAJCQkJODZGQTlF
OEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5jcHAgKi8sCiAJCQkJODZGQTlF
OTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICovLAorCQkJCThCMEY0MjRB
MUFCRDZEMkYwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uaCAqLywKKwkJCQk4QjBGNDI0QjFB
QkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCAqLywKIAkJCQk2NTdDRjQ1NjE5
QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuY3BwICovLAogCQkJCTY1N0NGNDU3MTlCRjY2NjIw
MDRBQ0JGMiAvKiBKU0NhbGxlZS5oICovLAogCQkJCTBGRDk0OTdFMUE5N0RCOTYwMEUyODk2NiAv
KiBKU0NhdGNoU2NvcGUuY3BwICovLApAQCAtNzIzMSw2ICs3MjM3LDcgQEAKIAkJCQkwRkQ4QTMx
QjE3RDUxRjIyMDBDQTJDNDAgLyogRlRMT1NSRW50cnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MEYyMzVCREMxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4aXQuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMEYyMzVCREYxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4aXRDb21waWxlci5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQk4QjBGNDI0QzFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1
bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRUEwQTJBMTcwOTYyOTYwMEJCNzIyQyAv
KiBGVExPdXRwdXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY0ODUzMjkxODdERkRFQzAwODNC
Njg3IC8qIEZUTFJlY292ZXJ5T3Bjb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNkIxQ0Mz
MTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExSZWdpc3RlckF0T2Zmc2V0LmNwcCBpbiBTb3VyY2VzICov
LApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlz
dC5qc29uIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29u
CmluZGV4IGUzZWQxZGNkYTRlMDNhNWYxMWVmOTFlNTYxMTllYjkzMDUxZmI3ZjYuLjU2Y2JhOTM2
YzQ3NTA1ZjU0Njg0MWVkNTdiYjliOGU4ZDNkMTZkOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxpc3QuanNvbgorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24KQEAgLTk1LDYgKzk1LDcgQEAKICAg
ICAgICAgICAgIHsgIm5hbWUiIDogIm9wX3N3aXRjaF9zdHJpbmciLCAibGVuZ3RoIiA6IDQgfSwK
ICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX25ld19mdW5jIiwgImxlbmd0aCIgOiA0IH0sCiAg
ICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfZnVuY19leHAiLCAibGVuZ3RoIiA6IDQgfSwK
KyAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX25ld19hcnJvd19mdW5jX2V4cCIsICJsZW5ndGgi
IDogNSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbCIsICJsZW5ndGgiIDogOSB9
LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbF9ldmFsIiwgImxlbmd0aCIgOiA5IH0s
CiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9jYWxsX3ZhcmFyZ3MiLCAibGVuZ3RoIiA6IDkg
fSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVz
ZURlZi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgK
aW5kZXggNzY2N2U2ODNlNDU0YTQ5OTk4NmVkYWNkOTBiNjQ5MTcyNDIwMzdjZC4uZGE0YTJhYWVl
YzI4NDU5NDFhZTM2NmRjZmI5ODU5MWNjYjNjY2Q0NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgKQEAgLTExNSw2ICsxMTUsOSBAQCB2b2lk
IGNvbXB1dGVVc2VzRm9yQnl0ZWNvZGVPZmZzZXQoCiAgICAgY2FzZSBvcF9nZXRfcHJvcGVydHlf
ZW51bWVyYXRvcjoKICAgICBjYXNlIG9wX2dldF9lbnVtZXJhYmxlX2xlbmd0aDoKICAgICBjYXNl
IG9wX25ld19mdW5jX2V4cDoKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorI2VuZGlmCiAgICAgY2FzZSBvcF90b19p
bmRleF9zdHJpbmc6CiAgICAgY2FzZSBvcF9pbml0X2dsb2JhbF9jb25zdF9ub3A6CiAgICAgY2Fz
ZSBvcF9pbml0X2dsb2JhbF9jb25zdDoKQEAgLTMwNyw2ICszMTAsOSBAQCB2b2lkIGNvbXB1dGVE
ZWZzRm9yQnl0ZWNvZGVPZmZzZXQoQ29kZUJsb2NrKiBjb2RlQmxvY2ssIHVuc2lnbmVkIGJ5dGVj
b2RlT2Zmc2V0LAogICAgIGNhc2Ugb3BfbmV3X3JlZ2V4cDoKICAgICBjYXNlIG9wX25ld19mdW5j
OgogICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6CisjZW5kaWYKICAgICBj
YXNlIG9wX2NhbGxfdmFyYXJnczoKICAgICBjYXNlIG9wX2NvbnN0cnVjdF92YXJhcmdzOgogICAg
IGNhc2Ugb3BfZ2V0X2Zyb21fc2NvcGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Db2RlQmxvY2suY3BwCmluZGV4IDkwMTM4Zjk3Y2JkODI4Zjk3MmNiMjI0NDJiZjQwNDQxZDEz
ZjQwNTYuLjcxODNkMDRkZDg4MmJiNjIyM2ZiYWNlMTdlNWZiYjUwMDkxZDgwMDQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCkBAIC0xMzAxLDYgKzEz
MDEsMTcgQEAgdm9pZCBDb2RlQmxvY2s6OmR1bXBCeXRlY29kZSgKICAgICAgICAgICAgIG91dC5w
cmludGYoIiVzLCAlcywgZiVkIiwgcmVnaXN0ZXJOYW1lKHIwKS5kYXRhKCksIHJlZ2lzdGVyTmFt
ZShyMSkuZGF0YSgpLCBmMCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGNhc2Ugb3BfbmV3X2Fycm93
X2Z1bmNfZXhwOiB7CisgICAgICAgICAgICBpbnQgcjAgPSAoKytpdCktPnUub3BlcmFuZDsKKyAg
ICAgICAgICAgIGludCByMSA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgaW50IGYw
ID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBpbnQgcjIgPSAoKytpdCktPnUub3Bl
cmFuZDsKKyAgICAgICAgICAgIHByaW50TG9jYXRpb25BbmRPcChvdXQsIGV4ZWMsIGxvY2F0aW9u
LCBpdCwgIm9wX25ld19hcnJvd19mdW5jX2V4cCIpOworICAgICAgICAgICAgb3V0LnByaW50Zigi
JXMsICVzLCBmJWQsICVzIiwgcmVnaXN0ZXJOYW1lKHIwKS5kYXRhKCksIHJlZ2lzdGVyTmFtZShy
MSkuZGF0YSgpLCBmMCwgcmVnaXN0ZXJOYW1lKHIyKS5kYXRhKCkpOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDogewog
ICAgICAgICAgICAgaW50IHIwID0gKCsraXQpLT51Lm9wZXJhbmQ7CiAgICAgICAgICAgICBpbnQg
cjEgPSAoKytpdCktPnUub3BlcmFuZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKaW5kZXggMmYyMWU0OWI2NTEw
ZjFiZTU4ZDA5YzMxNDA1ZTM3Y2E5ZWRiMzE5Zi4uNDE4ODlhYTM0ZGFmZmYxMDY0MDA2ZmM4MzBk
OTdmZjBmMDY2YjJhNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21w
aWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKQEAgLTE3NzUsNiArMTc3NSwyMiBAQCBS
ZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lvbihS
ZWdpc3RlcklEKiByMCwgRnVuY0V4cAogICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChpbmRleCk7
CiAgICAgcmV0dXJuIHIwOwogfQorICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCitSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Fycm93RnVuY3Rp
b25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIHIwLCBGdW5jRXhwck5vZGUqIG4pCit7CisgICAgZW1p
dFREWkNoZWNrKHRoaXNSZWdpc3RlcigpKTsKKyAgICBGdW5jdGlvbkJvZHlOb2RlKiBmdW5jdGlv
biA9IG4tPmJvZHkoKTsKKyAgICB1bnNpZ25lZCBpbmRleCA9IG1fY29kZUJsb2NrLT5hZGRGdW5j
dGlvbkV4cHIobWFrZUZ1bmN0aW9uKGZ1bmN0aW9uKSk7CisgICAgCisgICAgZW1pdE9wY29kZShv
cF9uZXdfYXJyb3dfZnVuY19leHApOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChyMC0+aW5k
ZXgoKSk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHNjb3BlUmVnaXN0ZXIoKS0+aW5kZXgo
KSk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKGluZGV4KTsKKyAgICBpbnN0cnVjdGlvbnMo
KS5hcHBlbmQodGhpc1JlZ2lzdGVyKCktPmluZGV4KCkpOworICAgIHJldHVybiByMDsKK30KKyNl
bmRpZgogCiBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0RlZmF1bHRDb25z
dHJ1Y3RvcihSZWdpc3RlcklEKiBkc3QsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQs
IGNvbnN0IElkZW50aWZpZXImIG5hbWUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggOWFmOGQ0ZmM0ODVk
OTg5MjQxYjExMTE4MDkyN2FhYTc2YTk1MzFjNC4uY2E2OGEyOWU2YmYxNWJlZTIwYjY5N2EwNGYy
ODdlY2ZmOGJiYzhjZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21w
aWxlci9CeXRlY29kZUdlbmVyYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaApAQCAtNDU0LDYgKzQ1NCwxMCBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0Z1bmN0aW9uSW50ZXJuYWwoUmVn
aXN0ZXJJRCogZHN0LCB1bnNpZ25lZCBpbmRleCk7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRO
ZXdGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogZHN0LCBGdW5jRXhwck5vZGUqIGZ1bmMp
OwogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3RGVmYXVsdENvbnN0cnVjdG9yKFJlZ2lzdGVy
SUQqIGRzdCwgQ29uc3RydWN0b3JLaW5kLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKTsKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBSZWdpc3RlcklEKiBlbWl0
TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCosIEZ1bmNFeHByTm9kZSopOwor
ICAgICAgICBSZWdpc3RlcklEKiBlbWl0VGhpc05vZGVCeXRlY29kZShSZWdpc3RlcklEKiwgSlNU
ZXh0UG9zaXRpb24pOworI2VuZGlmCiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdSZWdFeHAo
UmVnaXN0ZXJJRCogZHN0LCBSZWdFeHAqKTsKIAogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TW92
ZUxpbmtUaW1lQ29uc3RhbnQoUmVnaXN0ZXJJRCogZHN0LCBMaW5rVGltZUNvbnN0YW50KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2Vu
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNw
cAppbmRleCAwMjkwYzgxYWIwOTczY2VkMDZkNWE2ZGZlNzhjMjI1MTk2YjIyYjJmLi5kMzQzOGJl
MzQ0MmIzNGEwZmE5ZDJjMzk1MjhjYjE2ZTY4Njg1YmQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCkBAIC0yOTAxLDYgKzI5
MDEsMTQgQEAgUmVnaXN0ZXJJRCogRnVuY0V4cHJOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVH
ZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCoKICAgICByZXR1cm4gZ2VuZXJhdG9yLmVt
aXROZXdGdW5jdGlvbkV4cHJlc3Npb24oZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0KSwg
dGhpcyk7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAgICAKKy8v
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBBcnJvd0Z1bmNFeHByTm9kZSAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1JlZ2lzdGVySUQqIEFycm93RnVuY0V4cHJOb2Rl
OjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCog
ZHN0KQoreworICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNz
aW9uKGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHRoaXMpOworfQorI2VuZGlmCisg
ICAgCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0gQ2xhc3NEZWNsTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdElu
dGVycHJldGVySW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFj
dEludGVycHJldGVySW5saW5lcy5oCmluZGV4IDUzYzg0NWY1NmViNDA0MDg1M2Y0MTcyMTIwMGQ1
NTU0MDE4YTk3OTEuLmQ5ZjE5N2Q0MjJhNWU5MTMzM2EzNTQyMGYxOTExNmQwY2I4MDE2MzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRl
cklubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50
ZXJwcmV0ZXJJbmxpbmVzLmgKQEAgLTE1MzYsNyArMTUzNiwxMyBAQCBib29sIEFic3RyYWN0SW50
ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyh1bnNpZ25lZCBjbG9i
YmVyTGltaQogICAgIGNhc2UgQ3JlYXRlQ2xvbmVkQXJndW1lbnRzOgogICAgICAgICBmb3JOb2Rl
KG5vZGUpLnNldFR5cGUobV9ncmFwaCwgU3BlY09iamVjdE90aGVyKTsKICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIAorICAgICAgICAgICAgCisgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGZvck5vZGUobm9kZSku
c2V0KAorICAgICAgICAgICAgbV9ncmFwaCwgbV9jb2RlQmxvY2stPmdsb2JhbE9iamVjdEZvcihu
b2RlLT5vcmlnaW4uc2VtYW50aWMpLT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCkpOworI2VuZGlm
CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgTmV3RnVuY3Rpb246CiAgICAgICAgIGZvck5vZGUo
bm9kZSkuc2V0KAogICAgICAgICAgICAgbV9ncmFwaCwgbV9jb2RlQmxvY2stPmdsb2JhbE9iamVj
dEZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMpLT5mdW5jdGlvblN0cnVjdHVyZSgpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAppbmRleCBlZjRjMjQ3
NDliNzhmYTZlMDlhNGMzZDljMjkwMTNlYWE2NWRhYTkyLi4wZTNjODgwYjdjY2NiOWI3NTBhYTMw
ODk1ZjA2OTU5OGQ1MmRmZmIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0NhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdD
YXBhYmlsaXRpZXMuY3BwCkBAIC0yMzEsNiArMjMxLDcgQEAgQ2FwYWJpbGl0eUxldmVsIGNhcGFi
aWxpdHlMZXZlbChPcGNvZGVJRCBvcGNvZGVJRCwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIEluc3Ry
dWMKICAgICBjYXNlIG9wX3N3aXRjaF9zdHJpbmc6IC8vIERvbid0IGlubGluZSBiZWNhdXNlIHdl
IGRvbid0IHdhbnQgdG8gY29weSBzdHJpbmcgdGFibGVzIGluIHRoZSBjb25jdXJyZW50IEpJVC4K
ICAgICAgICAgcmV0dXJuIENhbkNvbXBpbGU7CiAKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5j
X2V4cDogLy8gRml4bWU6IEFycm93IGZ1bmN0aW9uIGNhbm4ndCBiZSBpbmxpbmUgYXMgdGhlIGNv
bW1vbiBmdW5jdGlvbiBiZWNhdXNlIGl0IGhhcyBsZXhpY2FseSBiaW5kIHRoaXMvYXJndW1lbnRz
IGFuZCBldGMuIGFuZCAgYXJyb3cgZnVuY3Rpb24gaGFzIHRvIGhhdmUgaXRzIG93biBjb21waWxl
IGFuZCBpbmxpbmUgYXBwcm9hY2guCiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIENhbm5v
dENvbXBpbGU7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdDbG9iYmVyaXplLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUu
aAppbmRleCA2MGE4OTk0ODNiMDVhODkzZmQ2ZjM4NWI0MjM5NDRjYTFkNTY5ZWRjLi43ODVmNjc3
YmNlN2RmMDUxNjBkMTNmNDQ2ODZmNmQ5YTYwMjI4OGZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0Nsb2JiZXJpemUuaApAQCAtODU5LDcgKzg1OSw4IEBAIHZvaWQgY2xvYmJlcml6
ZShHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUsIGNvbnN0IFJlYWRGdW5jdG9yJiByZWFkLCBjb25z
dCBXcml0ZUZ1CiAgICAgICAgIHJlYWQoSGVhcE9iamVjdENvdW50KTsKICAgICAgICAgd3JpdGUo
SGVhcE9iamVjdENvdW50KTsKICAgICAgICAgcmV0dXJuOwotICAgICAgICAKKyAgICAKKyAgICBj
YXNlIE5ld0Fycm93RnVuY3Rpb246CiAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICAgICAgaWYg
KG5vZGUtPmNhc3RPcGVyYW5kPEZ1bmN0aW9uRXhlY3V0YWJsZSo+KCktPnNpbmdsZXRvbkZ1bmN0
aW9uKCktPmlzU3RpbGxWYWxpZCgpKQogICAgICAgICAgICAgd3JpdGUoV2F0Y2hwb2ludF9maXJl
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcAppbmRleCBhOWUzMGFjYjRi
MGEzZTQ2ZDE5YWMyOGM5MzE2NzEwZTBkZWFjMDQ1Li44NmIwZjAzMGZiMWYzZThlM2VhNGE5MDgw
OTlkZjk2ODcxMGU5Yjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0RvZXNHQy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3Bw
CkBAIC0yMjksNiArMjI5LDcgQEAgYm9vbCBkb2VzR0MoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2Rl
KQogICAgIGNhc2UgTmV3UmVnZXhwOgogICAgIGNhc2UgTmV3U3RyaW5nT2JqZWN0OgogICAgIGNh
c2UgTWFrZVJvcGU6CisgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgogICAgIGNhc2UgTmV3RnVu
Y3Rpb246CiAgICAgY2FzZSBOZXdUeXBlZEFycmF5OgogICAgIGNhc2UgVGhyb3dSZWZlcmVuY2VF
cnJvcjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFz
ZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCmluZGV4
IDliZWE2YzhhOTc2YWM2MmYzM2RmMjQ5MWNlZDQ2NDhmYzYzYTE1NGIuLjkwODVjNjM0NmU1ZTAz
YTExZmQwNzhjZDViNGM0ZTU1YTg5MmQ2YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdGaXh1cFBoYXNlLmNwcApAQCAtMTE3Niw2ICsxMTc2LDcgQEAgcHJpdmF0ZToKIAogICAg
ICAgICBjYXNlIENyZWF0ZVNjb3BlZEFyZ3VtZW50czoKICAgICAgICAgY2FzZSBDcmVhdGVBY3Rp
dmF0aW9uOgorICAgICAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246CiAgICAgICAgIGNhc2UgTmV3
RnVuY3Rpb246IHsKICAgICAgICAgICAgIGZpeEVkZ2U8Q2VsbFVzZT4obm9kZS0+Y2hpbGQxKCkp
OwogICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR05vZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCmluZGV4
IDJkNzc1ZjUxZTVkNTllMjc4NTI3OTE0ODFkNDczZGU1MDMzMmJkMDkuLmMyOTU4MmFhOWRiZWE1
YTNmMTJkNzg1YWU4NzNlZWEyNTFiOTA3ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHTm9kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9k
ZS5oCkBAIC0xMjg2LDYgKzEyODYsNyBAQCBzdHJ1Y3QgTm9kZSB7CiAgICAgICAgIGNhc2UgQ2hl
Y2tDZWxsOgogICAgICAgICBjYXNlIE5hdGl2ZUNvbnN0cnVjdDoKICAgICAgICAgY2FzZSBOYXRp
dmVDYWxsOgorICAgICAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246CiAgICAgICAgIGNhc2UgTmV3
RnVuY3Rpb246CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgZGVmYXVsdDoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAppbmRleCA3NWM4ODQyMzdhMDBiMTZk
ODcwZDI0MDE0NTkzMThkZWRjMWFlOGZjLi5mM2UzODkyOTczMGUzODgxMDEwYjVmMzYxM2ZhNTM4
NzgzNTU2OTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVU
eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCkBAIC0y
OTMsNiArMjkzLDggQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewogICAgIFwKICAg
ICBtYWNybyhOZXdGdW5jdGlvbiwgTm9kZVJlc3VsdEpTKSBcCiAgICAgXAorICAgIG1hY3JvKE5l
d0Fycm93RnVuY3Rpb24sIE5vZGVSZXN1bHRKUyB8IE5vZGVNdXN0R2VuZXJhdGUpIFwKKyAgICBc
CiAgICAgLyogVGhlc2UgYXJlbid0IHRlcm1pbmFscyBidXQgYWx3YXlzIGV4aXQgKi8gXAogICAg
IG1hY3JvKFRocm93LCBOb2RlTXVzdEdlbmVyYXRlKSBcCiAgICAgbWFjcm8oVGhyb3dSZWZlcmVu
Y2VFcnJvciwgTm9kZU11c3RHZW5lcmF0ZSkgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcAppbmRleCAz
MWQ2NmFiZTVjOGFjNzQ3MDZmMWQyZGFkOTI5ODEzM2Y3Yzg1ODY1Li5iNzA4NDExZDljY2Y0Mjkz
Y2EyNTNmNWI0NTRiYzYwNWQ5MTAzYTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcApAQCAtMjE3
LDYgKzIxNyw3IEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgR2V0R2V0dGVyOgogICAgICAgICBj
YXNlIEdldFNldHRlcjoKICAgICAgICAgY2FzZSBHZXRDYWxsZWU6CisgICAgICAgIGNhc2UgTmV3
QXJyb3dGdW5jdGlvbjoKICAgICAgICAgY2FzZSBOZXdGdW5jdGlvbjogewogICAgICAgICAgICAg
Y2hhbmdlZCB8PSBzZXRQcmVkaWN0aW9uKFNwZWNGdW5jdGlvbik7CiAgICAgICAgICAgICBicmVh
azsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0
ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKaW5kZXgg
ZjRiMDc5Zjg3YjAxOGMwMDU3MzI2ZWIwOTUxNDI2MDc4NWUzMmVjNi4uNWU1MmI0ZWE4NDg2Y2U5
OThjM2FhMjgzOTM0Y2E4Y2Q0YmYwZDY1NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTYWZlVG9FeGVjdXRlLmgKQEAgLTIyOCw2ICsyMjgsNyBAQCBib29sIHNhZmVUb0V4ZWN1
dGUoQWJzdHJhY3RTdGF0ZVR5cGUmIHN0YXRlLCBHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUpCiAg
ICAgY2FzZSBDcmVhdGVDbG9uZWRBcmd1bWVudHM6CiAgICAgY2FzZSBHZXRGcm9tQXJndW1lbnRz
OgogICAgIGNhc2UgUHV0VG9Bcmd1bWVudHM6CisgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgog
ICAgIGNhc2UgTmV3RnVuY3Rpb246CiAgICAgY2FzZSBKdW1wOgogICAgIGNhc2UgQnJhbmNoOgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCmluZGV4IDY3
ZTY3M2IxYzFiNmIyMWFlNzEwMzgzNGM5YWZiMmMwNmU3MWQ5MWQuLjMwYmJlYjE2NGM3MzJlYzMw
NDJjMTE1MGZmZDFjZmU0OTg0MTczODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NwZWN1bGF0aXZlSklULmgKQEAgLTEyMDUsNiArMTIwNSwxMiBAQCBwdWJsaWM6CiAgICAg
ICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBUcnVzdGVkSW1tUHRy
KGNlbGwpKTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRS
ZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KKyAgICAKKyAgICBKSVRDb21waWxlcjo6
Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKc2NDSiBvcGVyYXRpb24sIEdQUlJl
ZyByZXN1bHQsIEdQUlJlZyBhcmcxLCBKU0NlbGwqIGNlbGwsIEdQUlJlZyBhcmcyKQorICAgIHsK
KyAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIFRydXN0ZWRJ
bW1QdHIoY2VsbCksIGFyZzIpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRp
b25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CisgICAgfQogCiAgICAgSklUQ29t
cGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FV3Mgb3BlcmF0aW9uLCBX
YXRjaHBvaW50U2V0KiB3YXRjaHBvaW50U2V0KQogICAgIHsKQEAgLTE2MTEsNiArMTYxNywxMSBA
QCBwdWJsaWM6CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcx
LCBUcnVzdGVkSW1tUHRyKGNlbGwpKTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhj
ZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcp
OwogICAgIH0KKyAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0
aW9uX0VKc2NDSiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHRUYWcsIEdQUlJlZyByZXN1bHRQYXls
b2FkLCBHUFJSZWcgYXJnMSwgSlNDZWxsKiBjZWxsLCBHUFJSZWcgYXJnMikKKyAgICB7CisgICAg
ICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBUcnVzdGVkSW1tUHRy
KGNlbGwpLCBhcmcyKTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hl
Y2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcpOworICAgIH0K
ICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VTc2lD
SSBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHRUYWcsIEdQUlJlZyByZXN1bHRQYXlsb2FkLCBTdHJ1
Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEdQUlJlZyBhcmcxLCBjb25zdCBTdHJpbmdJbXBsKiB1
aWQpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1
c3RlZEltbVB0cihzdHViSW5mbyksIGFyZzEsIFRydXN0ZWRJbW1QdHIodWlkKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcApp
bmRleCAyM2NmMjQ0YjBjODNjOTcxNWJlNzExNTRlYjZjMjY3ZWQ1YTMzODc0Li44OGQ5ZWU5OTVk
MDY1MzU3YmUwMTcyMDMxZjZjNTQ0YTI4MjdlNDAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKQEAgLTQyMTMsNyArNDIx
MywxMSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAg
IGNvbXBpbGVDcmVhdGVDbG9uZWRBcmd1bWVudHMobm9kZSk7CiAgICAgICAgIGJyZWFrOwogICAg
IH0KLSAgICAgICAgCisgICAgCisgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgorICAgICAgICBE
RkdfQ1JBU0gobV9qaXQuZ3JhcGgoKSwgbm9kZSwgIkFycm93IGZ1bmN0aW9uIGNhblwndCBiZSBj
b21waWxlZCBpbiBERkciKTsKKyAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAKICAgICBjYXNl
IE5ld0Z1bmN0aW9uOgogICAgICAgICBjb21waWxlTmV3RnVuY3Rpb24obm9kZSk7CiAgICAgICAg
IGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxh
dGl2ZUpJVDY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQ2NC5jcHAKaW5kZXggM2U1NzRkNGY2OWIwNTkzNjE0Y2M3ZjJiZDMxY2ViOWQ1OGVlY2UzMC4u
Zjc3NDA4YWZhMzJmYzEyNzViOWZjOTllZTA1NzIxYjgxMmZkMjQ3MSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCkBAIC00MjUyLDEx
ICs0MjUyLDE1IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAg
ICAgICAgY29tcGlsZUNyZWF0ZUNsb25lZEFyZ3VtZW50cyhub2RlKTsKICAgICAgICAgYnJlYWs7
CiAgICAgfQotICAgICAgICAKKworICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKKyAgICAgICAg
REZHX0NSQVNIKG1faml0LmdyYXBoKCksIG5vZGUsICJBcnJvdyBmdW5jdGlvbiBjYW5cJyBpbiBE
RkciKTsKKyAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAKICAgICBjYXNlIE5ld0Z1bmN0aW9u
OgogICAgICAgICBjb21waWxlTmV3RnVuY3Rpb24obm9kZSk7CiAgICAgICAgIGJyZWFrOwotICAg
ICAgICAKKwogICAgIGNhc2UgSW46CiAgICAgICAgIGNvbXBpbGVJbihub2RlKTsKICAgICAgICAg
YnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1N0cnVjdHVy
ZVJlZ2lzdHJhdGlvblBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Ry
dWN0dXJlUmVnaXN0cmF0aW9uUGhhc2UuY3BwCmluZGV4IDI4NjQ2ZDEzZmNmNGM5NjVjNjIwZDAw
MjExYjBkY2JmMDNiMzdjMmQuLjJjNDJkZjNjMDIzODNlNzFmNWVjOTU4NmEyNzhmYmIxZGIxMzA4
MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RydWN0dXJlUmVn
aXN0cmF0aW9uUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Ry
dWN0dXJlUmVnaXN0cmF0aW9uUGhhc2UuY3BwCkBAIC0xMzAsNyArMTMwLDExIEBAIHB1YmxpYzoK
ICAgICAgICAgICAgICAgICBjYXNlIE5ld1JlZ2V4cDoKICAgICAgICAgICAgICAgICAgICAgcmVn
aXN0ZXJTdHJ1Y3R1cmUobV9ncmFwaC5nbG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFu
dGljKS0+cmVnRXhwU3RydWN0dXJlKCkpOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9u
OgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgICAgICAgICAg
ICAgIHJlZ2lzdGVyU3RydWN0dXJlKG1fZ3JhcGguZ2xvYmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdp
bi5zZW1hbnRpYyktPmFycm93RnVuY3Rpb25TdHJ1Y3R1cmUoKSk7CisjZW5kaWYKKyAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAg
ICAgICAgICAgICAgICAgICAgcmVnaXN0ZXJTdHJ1Y3R1cmUobV9ncmFwaC5nbG9iYWxPYmplY3RG
b3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKS0+ZnVuY3Rpb25TdHJ1Y3R1cmUoKSk7CiAgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5jcHAKaW5kZXggZTQxNmZkYWFmZWUyMjI5ZjY1
M2I5YWUwNjI0ODAwMDk5OTg3NWEwMC4uM2MzODY0Y2ExODBhYTM2ZTQ4MDhjMjNhMTMwNmJlMjhl
NWQ3YjkwMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFj
dEhlYXBSZXBvc2l0b3J5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFi
c3RyYWN0SGVhcFJlcG9zaXRvcnkuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJE
aXJlY3RBcmd1bWVudHMuaCIKICNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKKyNpbmNsdWRlICJK
U0Fycm93RnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0Vudmlyb25tZW50UmVjb3JkLmgiCiAjaW5j
bHVkZSAiSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgiCiAjaW5jbHVkZSAiSlNTY29wZS5oIgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBv
c2l0b3J5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9z
aXRvcnkuaAppbmRleCA5MTI3NTRkZmM0MDE1MmIwZWQyNDgzNmFjNzViOGY5Njk4NDM5OWJiLi5l
ZWIyMDhiZTFmNDZjZmM0MmI5NDk1YTlmYTkyMWZiY2Q2ZDgyZGE3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaApAQCAt
ODgsNiArODgsMTMgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgewogICAgIG1hY3Jv
KFN0cnVjdHVyZV9nbG9iYWxPYmplY3QsIFN0cnVjdHVyZTo6Z2xvYmFsT2JqZWN0T2Zmc2V0KCkp
IFwKICAgICBtYWNybyhTdHJ1Y3R1cmVfcHJvdG90eXBlLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9m
ZnNldCgpKSBcCiAgICAgbWFjcm8oU3RydWN0dXJlX3N0cnVjdHVyZUlELCBTdHJ1Y3R1cmU6OnN0
cnVjdHVyZUlET2Zmc2V0KCkpCisgICAgCisjZGVmaW5lIEZPUl9FQUNIX0FCU1RSQUNUX0ZJRUxE
X0FSUk9XRlVOQ1RJT04obWFjcm8pIFwKKyAgICBtYWNybyhKU0Fycm93RnVuY3Rpb25fZXhlY3V0
YWJsZSwgSlNBcnJvd0Z1bmN0aW9uOjpvZmZzZXRPZkV4ZWN1dGFibGUoKSkgXAorICAgIG1hY3Jv
KEpTQXJyb3dGdW5jdGlvbl9zY29wZSwgSlNBcnJvd0Z1bmN0aW9uOjpvZmZzZXRPZlNjb3BlQ2hh
aW4oKSkgXAorICAgIG1hY3JvKEpTQXJyb3dGdW5jdGlvbl9yYXJlRGF0YSwgSlNBcnJvd0Z1bmN0
aW9uOjpvZmZzZXRPZlJhcmVEYXRhKCkpIFwKKyAgICBtYWNybyhKU0Fycm93RnVuY3Rpb25fdGhp
cywgSlNBcnJvd0Z1bmN0aW9uOjpvZmZzZXRPZlRoaXNWYWx1ZSgpKQorICAgIAogCiAjZGVmaW5l
IEZPUl9FQUNIX0lOREVYRURfQUJTVFJBQ1RfSEVBUChtYWNybykgXAogICAgIG1hY3JvKERpcmVj
dEFyZ3VtZW50c19zdG9yYWdlLCBEaXJlY3RBcmd1bWVudHM6OnN0b3JhZ2VPZmZzZXQoKSwgc2l6
ZW9mKEVuY29kZWRKU1ZhbHVlKSkgXApAQCAtMTI5LDYgKzEzNiw5IEBAIHB1YmxpYzoKIAogI2Rl
ZmluZSBBQlNUUkFDVF9GSUVMRF9ERUNMQVJBVElPTihuYW1lLCBvZmZzZXQpIEFic3RyYWN0Rmll
bGQgbmFtZTsKICAgICBGT1JfRUFDSF9BQlNUUkFDVF9GSUVMRChBQlNUUkFDVF9GSUVMRF9ERUNM
QVJBVElPTikKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEZPUl9F
QUNIX0FCU1RSQUNUX0ZJRUxEX0FSUk9XRlVOQ1RJT04oQUJTVFJBQ1RfRklFTERfREVDTEFSQVRJ
T04pCisjZW5kaWYKICN1bmRlZiBBQlNUUkFDVF9GSUVMRF9ERUNMQVJBVElPTgogICAgIAogICAg
IEFic3RyYWN0RmllbGQmIEpTQ2VsbF9mcmVlTGlzdE5leHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAKaW5kZXggMGJmZGZjY2M2ZDMyYWVkYjQ4MGM3
Mzg5YWRjYmUxNjViNzdiNGUyMy4uM2JmMzg3OTA3MjljNTZhNTdhMzY3MzMxYmEzMmY5M2Y0MjQy
ZDQ2MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRp
ZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNw
cApAQCAtMTAzLDYgKzEwMyw3IEBAIGlubGluZSBDYXBhYmlsaXR5TGV2ZWwgY2FuQ29tcGlsZShO
b2RlKiBub2RlKQogICAgIGNhc2UgTG9vcEhpbnQ6CiAgICAgY2FzZSBTa2lwU2NvcGU6CiAgICAg
Y2FzZSBDcmVhdGVBY3RpdmF0aW9uOgorICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKICAgICBj
YXNlIE5ld0Z1bmN0aW9uOgogICAgIGNhc2UgR2V0Q2xvc3VyZVZhcjoKICAgICBjYXNlIFB1dENs
b3N1cmVWYXI6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEludHJp
bnNpY1JlcG9zaXRvcnkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSW50cmluc2lj
UmVwb3NpdG9yeS5oCmluZGV4IDNkNjZlY2E4OGQwNDNiYjM1NmNiOTY2N2U5ZjZlMzVhZjk4NmI4
ZDMuLjhmYjdhZWU0Y2I0MDFjN2ZhMmFjZTIyOTkyZmYxNTYwZGQ3OWZmZWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSW50cmluc2ljUmVwb3NpdG9yeS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSW50cmluc2ljUmVwb3NpdG9yeS5oCkBAIC04
NCw2ICs4NCw3IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKICAgICBtYWNybyhK
X0pJVE9wZXJhdGlvbl9FSkMsIGZ1bmN0aW9uVHlwZShpbnQ2NCwgaW50UHRyLCBpbnQ2NCwgaW50
UHRyKSkgXAogICAgIG1hY3JvKEpfSklUT3BlcmF0aW9uX0VKSiwgZnVuY3Rpb25UeXBlKGludDY0
LCBpbnRQdHIsIGludDY0LCBpbnQ2NCkpIFwKICAgICBtYWNybyhKX0pJVE9wZXJhdGlvbl9FSnNj
QywgZnVuY3Rpb25UeXBlKGludFB0ciwgaW50UHRyLCBpbnRQdHIsIGludFB0cikpIFwKKyAgICBt
YWNybyhKX0pJVE9wZXJhdGlvbl9FSnNjQ0osIGZ1bmN0aW9uVHlwZShpbnQ2NCwgaW50UHRyLCBp
bnQ2NCwgaW50NjQsIGludDY0KSlcCiAgICAgbWFjcm8oSl9KSVRPcGVyYXRpb25fRUpzc1osIGZ1
bmN0aW9uVHlwZShpbnQ2NCwgaW50UHRyLCBpbnRQdHIsIGludDMyKSkgXAogICAgIG1hY3JvKEpf
SklUT3BlcmF0aW9uX0VTc2lKSSwgZnVuY3Rpb25UeXBlKGludDY0LCBpbnRQdHIsIGludFB0ciwg
aW50NjQsIGludFB0cikpIFwKICAgICBtYWNybyhKc3NfSklUT3BlcmF0aW9uX0VaLCBmdW5jdGlv
blR5cGUoaW50UHRyLCBpbnRQdHIsIGludDMyKSkgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAppbmRleCBlMGQ4MmJhMDEyMmU5ODQ5Zjg4Mzg4
MDVjNjQ2MGJkMDZiNTYxOTY2Li5jNGJhYjFmYjVjNTZiNTMyMzdjMjQzYTQwMzhlMzY1MTMyMjQx
NmU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9M
TFZNLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZN
LmNwcApAQCAtNDMsNiArNDMsNyBAQAogI2luY2x1ZGUgIkZUTE91dHB1dC5oIgogI2luY2x1ZGUg
IkZUTFRodW5rcy5oIgogI2luY2x1ZGUgIkZUTFdlaWdodGVkVGFyZ2V0LmgiCisjaW5jbHVkZSAi
SlNBcnJvd0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpT
TGV4aWNhbEVudmlyb25tZW50LmgiCiAjaW5jbHVkZSAiT3BlcmFuZHNJbmxpbmVzLmgiCkBAIC02
MDYsNiArNjA3LDExIEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgQ3JlYXRlQWN0aXZhdGlvbjoK
ICAgICAgICAgICAgIGNvbXBpbGVDcmVhdGVBY3RpdmF0aW9uKCk7CiAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgorI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgICAgICAgICBjb21waWxlTmV3QXJyb3dGdW5jdGlvbigpOwor
I2VuZGlmCisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAg
ICAgICAgICAgIGNvbXBpbGVOZXdGdW5jdGlvbigpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC0y
OTgyLDYgKzI5ODgsNTIgQEAgcHJpdmF0ZToKICAgICAgICAgc2V0SlNWYWx1ZShtX291dC5waGko
bV9vdXQuaW50UHRyLCBmYXN0UmVzdWx0LCBzbG93UmVzdWx0KSk7CiAgICAgfQogICAgIAorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdm9pZCBjb21waWxlTmV3QXJy
b3dGdW5jdGlvbigpCisgICAgeworCisgICAgICAgIExWYWx1ZSBzY29wZSA9IGxvd0NlbGwobV9u
b2RlLT5jaGlsZDEoKSk7CisgICAgICAgIExWYWx1ZSB0aGlzVmFsdWUgPSBsb3dKU1ZhbHVlKG1f
bm9kZS0+Y2hpbGQyKCkpOworICAgICAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUg
PSBtX25vZGUtPmNhc3RPcGVyYW5kPEZ1bmN0aW9uRXhlY3V0YWJsZSo+KCk7CisgICAgICAgIGlm
IChleGVjdXRhYmxlLT5zaW5nbGV0b25GdW5jdGlvbigpLT5pc1N0aWxsVmFsaWQoKSkgeworICAg
ICAgICAgICAgTFZhbHVlIGNhbGxSZXN1bHQgPSB2bUNhbGwoCisgICAgICAgICAgICAgICAgbV9v
dXQub3BlcmF0aW9uKG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24pLAorICAgICAgICAgICAgICAg
IG1fY2FsbEZyYW1lLCBzY29wZSwgd2Vha1BvaW50ZXIoZXhlY3V0YWJsZSksIHRoaXNWYWx1ZSk7
CisgICAgICAgICAgICBzZXRKU1ZhbHVlKGNhbGxSZXN1bHQpOworICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG1f
Z3JhcGguZ2xvYmFsT2JqZWN0Rm9yKG1fbm9kZS0+b3JpZ2luLnNlbWFudGljKS0+YXJyb3dGdW5j
dGlvblN0cnVjdHVyZSgpOworICAgICAgICAKKyAgICAgICAgTEJhc2ljQmxvY2sgc2xvd1BhdGgg
PSBGVExfTkVXX0JMT0NLKG1fb3V0LCAoIk5ld0Fycm93RnVuY3Rpb24gc2xvdyBwYXRoIikpOwor
ICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBGVExfTkVXX0JMT0NLKG1fb3V0LCAo
Ik5ld0Fycm93RnVuY3Rpb24gY29udGludWF0aW9uIikpOworICAgICAgICAKKyAgICAgICAgTEJh
c2ljQmxvY2sgbGFzdE5leHQgPSBtX291dC5pbnNlcnROZXdCbG9ja3NCZWZvcmUoc2xvd1BhdGgp
OworICAgICAgICAKKyAgICAgICAgTFZhbHVlIGZhc3RPYmplY3QgPSBhbGxvY2F0ZU9iamVjdDxK
U0Fycm93RnVuY3Rpb24+KHN0cnVjdHVyZSwgbV9vdXQuaW50UHRyWmVybywgc2xvd1BhdGgpOwor
ICAgICAgICAKKyAgICAgICAgLy8gV2UgZG9uJ3QgbmVlZCBtZW1vcnkgYmFycmllcnMgc2luY2Ug
d2UganVzdCBmYXN0LWNyZWF0ZWQgdGhlIGZ1bmN0aW9uLCBzbyBpdAorICAgICAgICAvLyBtdXN0
IGJlIHlvdW5nLgorICAgICAgICBtX291dC5zdG9yZVB0cihzY29wZSwgZmFzdE9iamVjdCwgbV9o
ZWFwcy5KU0Fycm93RnVuY3Rpb25fc2NvcGUpOworICAgICAgICBtX291dC5zdG9yZVB0cih3ZWFr
UG9pbnRlcihleGVjdXRhYmxlKSwgZmFzdE9iamVjdCwgbV9oZWFwcy5KU0Fycm93RnVuY3Rpb25f
ZXhlY3V0YWJsZSk7CisgICAgICAgIG1fb3V0LnN0b3JlUHRyKHRoaXNWYWx1ZSwgZmFzdE9iamVj
dCwgbV9oZWFwcy5KU0Fycm93RnVuY3Rpb25fdGhpcyk7CisgICAgICAgIG1fb3V0LnN0b3JlUHRy
KG1fb3V0LmludFB0clplcm8sIGZhc3RPYmplY3QsIG1faGVhcHMuSlNBcnJvd0Z1bmN0aW9uX3Jh
cmVEYXRhKTsKKyAgICAgICAgCisgICAgICAgIFZhbHVlRnJvbUJsb2NrIGZhc3RSZXN1bHQgPSBt
X291dC5hbmNob3IoZmFzdE9iamVjdCk7CisgICAgICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9u
KTsKKyAgICAgICAgCisgICAgICAgIG1fb3V0LmFwcGVuZFRvKHNsb3dQYXRoLCBjb250aW51YXRp
b24pOworICAgICAgICBMVmFsdWUgY2FsbFJlc3VsdCA9IHZtQ2FsbCgKKyAgICAgICAgICAgIG1f
b3V0Lm9wZXJhdGlvbihvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uV2l0aEludmFsaWRhdGVkUmVh
bGxvY2F0aW9uV2F0Y2hwb2ludCksCisgICAgICAgICAgICBtX2NhbGxGcmFtZSwgc2NvcGUsIHdl
YWtQb2ludGVyKGV4ZWN1dGFibGUpLCB0aGlzVmFsdWUpOworICAgICAgICBWYWx1ZUZyb21CbG9j
ayBzbG93UmVzdWx0ID0gbV9vdXQuYW5jaG9yKGNhbGxSZXN1bHQpOworICAgICAgICBtX291dC5q
dW1wKGNvbnRpbnVhdGlvbik7CisgICAgICAgIAorICAgICAgICBtX291dC5hcHBlbmRUbyhjb250
aW51YXRpb24sIGxhc3ROZXh0KTsKKyAgICAgICAgc2V0SlNWYWx1ZShtX291dC5waGkobV9vdXQu
aW50UHRyLCBmYXN0UmVzdWx0LCBzbG93UmVzdWx0KSk7CisgICAgfQorI2VuZGlmCisgICAgCiAg
ICAgdm9pZCBjb21waWxlQ3JlYXRlRGlyZWN0QXJndW1lbnRzKCkKICAgICB7CiAgICAgICAgIC8v
IEZJWE1FOiBBIG1vcmUgZWZmZWN0aXZlIHdheSBvZiBkZWFsaW5nIHdpdGggdGhlIGFyZ3VtZW50
IGNvdW50IGFuZCBjYWxsZWUgaXMgdG8gaGF2ZQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKaW5kZXggMTdkZDNiNGY0NWY1NmZmMjAwMjNk
NzNiNzVkYzdkNzBiNjM0OTY4Zi4uMjAwMDVjMDcxNTMzYjE2ODNhZmRhMmQ2MmRjNjVjMDE2N2Q5
MTA5NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVy
cHJldGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJw
cmV0ZXIuY3BwCkBAIC00NCw2ICs0NCw3IEBACiAjaW5jbHVkZSAiRXhjZXB0aW9uSGVscGVycy5o
IgogI2luY2x1ZGUgIkdldHRlclNldHRlci5oIgogI2luY2x1ZGUgIkpTQXJyYXkuaCIKKyNpbmNs
dWRlICJKU0Fycm93RnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNp
bmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNMZXhpY2FsRW52aXJvbm1lbnQuaCIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxwZXJzLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxsSGVscGVycy5oCmluZGV4IGZkMzQ0YWRiY2Fi
YjE1ZmJkODE0ZWQ2ZmJkNDc4Zjc0YjYxNTc2M2MuLjA3YWNkNmQ1MzJkMzI4YWZkYjc3YWNmMjAx
MzM5MGVmMzlkZDlkNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0Nh
bGxIZWxwZXJzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhlbHBlcnMu
aApAQCAtMjc0LDYgKzI3NCwxNSBAQCBwdWJsaWM6CiAgICAgICAgIGFkZENhbGxBcmd1bWVudChh
cmcyKTsKICAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzMpOwogICAgIH0KKyAgICAKKyAgICBB
TFdBWVNfSU5MSU5FIHZvaWQgc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKEdQUlJlZyBhcmcx
LCBUcnVzdGVkSW1tUHRyIGFyZzIsIEdQUlJlZyBhcmczKQorICAgIHsKKyAgICAgICAgcmVzZXRD
YWxsQXJndW1lbnRzKCk7CisgICAgICAgIGFkZENhbGxBcmd1bWVudChHUFJJbmZvOjpjYWxsRnJh
bWVSZWdpc3Rlcik7CisgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmcxKTsKKyAgICAgICAgYWRk
Q2FsbEFyZ3VtZW50KGFyZzIpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMyk7CisgICAg
fQogCiAgICAgQUxXQVlTX0lOTElORSB2b2lkIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShH
UFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIsIFRydXN0ZWRJbW0zMiBhcmczKQogICAgIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklULmNwcAppbmRleCBiNDExM2M0NWU3MmM3ZTE1OGVjMWYxOTIzY2JmZTI5
YzVlZjU0MjgyLi44YTFiYWM4N2ZkMTBiOTg3ZjY0ZmQwYzIxMTMyMTBjYTY3MDVlZGIxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCkBAIC0yNjAsNiArMjYwLDcgQEAgdm9pZCBKSVQ6OnBy
aXZhdGVDb21waWxlTWFpblBhc3MoKQogICAgICAgICBERUZJTkVfT1Aob3BfbmV3X2FycmF5X2J1
ZmZlcikKICAgICAgICAgREVGSU5FX09QKG9wX25ld19mdW5jKQogICAgICAgICBERUZJTkVfT1Ao
b3BfbmV3X2Z1bmNfZXhwKQorICAgICAgICBERUZJTkVfT1Aob3BfbmV3X2Fycm93X2Z1bmNfZXhw
KSAKICAgICAgICAgREVGSU5FX09QKG9wX25ld19vYmplY3QpCiAgICAgICAgIERFRklORV9PUChv
cF9uZXdfcmVnZXhwKQogICAgICAgICBERUZJTkVfT1Aob3Bfbm90KQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklULmgKaW5kZXggZDcyMjVlYTRiMmFlNTQzMTg3ODQ0YzIwNzZlYzZlYjhkNjVkMjFjOS4uZGFh
NTIwOTQ4ODU3OTE2MGJiZDljNDdkMDdiNGEwNDU5ZmI4YjAxMiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVC5oCkBAIC01MjEsNiArNTIxLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZvaWQg
ZW1pdF9vcF9uZXdfYXJyYXlfYnVmZmVyKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1p
dF9vcF9uZXdfZnVuYyhJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2Z1
bmNfZXhwKEluc3RydWN0aW9uKik7CisgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfYXJyb3dfZnVu
Y19leHAoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX25ld19vYmplY3QoSW5z
dHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX25ld19yZWdleHAoSW5zdHJ1Y3Rpb24q
KTsKICAgICAgICAgdm9pZCBlbWl0X29wX25vdChJbnN0cnVjdGlvbiopOwpAQCAtNzAyLDYgKzcw
Myw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxs
T3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKSiwgaW50LCBHUFJSZWcsIEdQUlJlZyk7CiAgICAg
ICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUpz
YywgR1BSUmVnKTsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihK
X0pJVE9wZXJhdGlvbl9FSnNjQywgaW50LCBHUFJSZWcsIEpTQ2VsbCopOworICAgICAgICBNYWNy
b0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKc2NDSiwgaW50
LCBHUFJSZWcsIEpTQ2VsbCosIEdQUlJlZyk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxs
IGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUpzY1osIEdQUlJlZywgaW50MzJfdCk7CiAg
ICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25f
RUpzY1osIGludCwgR1BSUmVnLCBpbnQzMl90KTsKICNpZiBVU0UoSlNWQUxVRTY0KQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaAppbmRleCA5ZWUyNGQwOTIyOGE5ODgyZWE3Njk2
MjlkMWE4N2I2YzM0YTg2MzM0Li5hMGU0MGM1YzYxZmU2M2U5ODYzZWQyMjNlZGY1ZDQ1MWYzMThh
Nzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaApAQCAtMjcxLDYgKzI3
MSwxMiBAQCBBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJh
dGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQyBvcGVyYQogICAgIHJldHVybiBhcHBlbmRDYWxsV2l0
aEV4Y2VwdGlvbkNoZWNrU2V0SlNWYWx1ZVJlc3VsdChvcGVyYXRpb24sIGRzdCk7CiB9CiAKK0FM
V0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpfSklU
T3BlcmF0aW9uX0VKc2NDSiBvcGVyYXRpb24sIGludCBkc3QsIEdQUlJlZyBhcmcxLCBKU0NlbGwq
IGNlbGwsIEdQUlJlZyBhcmcyKQoreworICAgIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShh
cmcxLCBUcnVzdGVkSW1tUHRyKGNlbGwpLCBhcmcyKTsKKyAgICByZXR1cm4gYXBwZW5kQ2FsbFdp
dGhFeGNlcHRpb25DaGVja1NldEpTVmFsdWVSZXN1bHQob3BlcmF0aW9uLCBkc3QpOworfQorICAg
IAogQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24o
Sl9KSVRPcGVyYXRpb25fRVAgb3BlcmF0aW9uLCBpbnQgZHN0LCB2b2lkKiBwb2ludGVyKQogewog
ICAgIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHBvaW50ZXIpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCmluZGV4IDVkNGQwYjlmZTg3
NjhhYzJmZTU5NjU3NWVkNGFhODEyMjBkYWQ2YzcuLmRjZTM3MTI1YzRlZmIwNTRhODA2MTU0ZTBh
ZDIzYWRmZjllYTRiN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3Bjb2Rlcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNw
cApAQCAtOTg3LDYgKzk4NywyOSBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9uZXdfZnVuY19leHAoSW5z
dHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlv
bk5ld0Z1bmN0aW9uLCBkc3QsIHJlZ1QwLCBmdW5jRXhwcik7CiAgICAgZG9uZS5saW5rKHRoaXMp
OwogfQorICAgIAordm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwKEluc3RydWN0
aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCit7CisgICAgSnVtcCBub3RVbmRlZmluZWRTY29wZTsK
KyAgICBpbnQgZHN0ID0gY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZDsKKyNpZiBVU0Uo
SlNWQUxVRTY0KQorICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9u
WzJdLnUub3BlcmFuZCwgcmVnVDApOworICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVu
dEluc3RydWN0aW9uWzRdLnUub3BlcmFuZCwgcmVnVDEpOworICAgIG5vdFVuZGVmaW5lZFNjb3Bl
ID0gYnJhbmNoNjQoTm90RXF1YWwsIHJlZ1QwLCBUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5jb2Rl
KGpzVW5kZWZpbmVkKCkpKSk7CisgICAgc3RvcmU2NChUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5j
b2RlKGpzVW5kZWZpbmVkKCkpKSwgQWRkcmVzcyhjYWxsRnJhbWVSZWdpc3Rlciwgc2l6ZW9mKFJl
Z2lzdGVyKSAqIGRzdCkpOworI2Vsc2UKKyAgICBlbWl0TG9hZFBheWxvYWQoY3VycmVudEluc3Ry
dWN0aW9uWzJdLnUub3BlcmFuZCwgcmVnVDApOworICAgIGVtaXRMb2FkUGF5bG9hZChjdXJyZW50
SW5zdHJ1Y3Rpb25bNF0udS5vcGVyYW5kLCByZWdUMSk7CisgICAgbm90VW5kZWZpbmVkU2NvcGUg
PSBicmFuY2gzMihOb3RFcXVhbCwgdGFnRm9yKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJh
bmQpLCBUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6VW5kZWZpbmVkVGFnKSk7CisgICAgZW1pdFN0b3Jl
KGRzdCwganNVbmRlZmluZWQoKSk7CisjZW5kaWYKKyAgICBKdW1wIGRvbmUgPSBqdW1wKCk7Cisg
ICAgbm90VW5kZWZpbmVkU2NvcGUubGluayh0aGlzKTsKKyAgICAKKyAgICBGdW5jdGlvbkV4ZWN1
dGFibGUqIGZ1bmN0aW9uID0gbV9jb2RlQmxvY2stPmZ1bmN0aW9uRXhwcihjdXJyZW50SW5zdHJ1
Y3Rpb25bM10udS5vcGVyYW5kKTsKKyAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbk5ld0Fycm93
RnVuY3Rpb24sIGRzdCwgcmVnVDAsIGZ1bmN0aW9uLCByZWdUMSk7CisgICAgZG9uZS5saW5rKHRo
aXMpOworfQogCiB2b2lkIEpJVDo6ZW1pdF9vcF9uZXdfYXJyYXkoSW5zdHJ1Y3Rpb24qIGN1cnJl
bnRJbnN0cnVjdGlvbikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUT3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlv
bnMuY3BwCmluZGV4IDk4ZDg3NzNmMzhkOTVmMmI4ZTU4Y2RiZDc4MzYwMjk4MTU0MDA3MTMuLjk2
N2NhOGVhZjc1YjEwZGU4MDEwZjIxNGQ0ZWM2NzcyNDdmZTQyYzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcApAQCAtMjAsNyArMjAsNyBAQAogICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQogICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCiAgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCkBAIC00Miw2ICs0Miw4IEBACiAj
aW5jbHVkZSAiSG9zdENhbGxSZXR1cm5WYWx1ZS5oIgogI2luY2x1ZGUgIkpJVC5oIgogI2luY2x1
ZGUgIkpJVFRvREZHRGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmgiCisjaW5jbHVkZSAiSlNB
cnJvd0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAi
SlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTQ2F0Y2hTY29wZS5oIgogI2luY2x1ZGUgIkpTRnVu
Y3Rpb25OYW1lU2NvcGUuaCIKQEAgLTY3LDcgKzY5LDcgQEAgdm9pZCBwdXNoTmFtZVNjb3BlKEV4
ZWNTdGF0ZSogZXhlYywgaW50MzJfdCBkc3QsIFN5bWJvbFRhYmxlKiBzeW1ib2xUYWJsZSwgRW5j
b2QKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNl
ciB0cmFjZXIoJnZtLCBleGVjKTsKLSAgICAKKwogICAgIEFTU0VSVCghSklUQ29kZTo6aXNPcHRp
bWl6aW5nSklUKGV4ZWMtPmNvZGVCbG9jaygpLT5qaXRUeXBlKCkpKTsKIAogICAgIC8vIEZJWE1F
OiBUaGlzIHdvbid0IHdvcmsgaWYgdGhpcyBvcGVyYXRpb24gaXMgY2FsbGVkIGZyb20gdGhlIERG
RyBvciBGVEwuCkBAIC0xNTEsNyArMTUzLDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElP
TiBvcGVyYXRpb25HZXRCeUlkKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8KIHsK
ICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJh
Y2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAgIEpTVmFsdWUgYmFzZVZhbHVlID0gSlNWYWx1ZTo6
ZGVjb2RlKGJhc2UpOwogICAgIFByb3BlcnR5U2xvdCBzbG90KGJhc2VWYWx1ZSk7CiAgICAgSWRl
bnRpZmllciBpZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIHVpZCk7CkBAIC0xNjksNyAr
MTcxLDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlkQnVp
bGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXIKICAgICBKU1ZhbHVlIGJhc2VWYWx1ZSA9
IEpTVmFsdWU6OmRlY29kZShiYXNlKTsKICAgICBQcm9wZXJ0eVNsb3Qgc2xvdChiYXNlVmFsdWUp
OwogICAgIGJvb2wgaGFzUmVzdWx0ID0gYmFzZVZhbHVlLmdldFByb3BlcnR5U2xvdChleGVjLCBp
ZGVudCwgc2xvdCk7Ci0gICAgCisKICAgICBpZiAoYWNjZXNzVHlwZSA9PSBzdGF0aWNfY2FzdDxB
Y2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSkpCiAgICAgICAgIGJ1aWxkR2V0QnlJRExp
c3QoZXhlYywgYmFzZVZhbHVlLCBpZGVudCwgc2xvdCwgKnN0dWJJbmZvKTsKIApAQCAtMTg0LDEz
ICsxODYsMTMgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlk
T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUKIAogICAgIEpTVmFsdWUgYmFzZVZh
bHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGJhc2UpOwogICAgIFByb3BlcnR5U2xvdCBzbG90KGJhc2VW
YWx1ZSk7Ci0gICAgCisKICAgICBib29sIGhhc1Jlc3VsdCA9IGJhc2VWYWx1ZS5nZXRQcm9wZXJ0
eVNsb3QoZXhlYywgaWRlbnQsIHNsb3QpOwogICAgIGlmIChzdHViSW5mby0+c2VlbikKICAgICAg
ICAgcmVwYXRjaEdldEJ5SUQoZXhlYywgYmFzZVZhbHVlLCBpZGVudCwgc2xvdCwgKnN0dWJJbmZv
KTsKICAgICBlbHNlCiAgICAgICAgIHN0dWJJbmZvLT5zZWVuID0gdHJ1ZTsKLSAgICAKKwogICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoaGFzUmVzdWx0PyBzbG90LmdldFZhbHVlKGV4ZWMsIGlk
ZW50KSA6IGpzVW5kZWZpbmVkKCkpOwogCiB9CkBAIC0xOTksMjUgKzIwMSwyNSBAQCBFbmNvZGVk
SlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkluT3B0aW1pemUoRXhlY1N0YXRlKiBleGVj
LCBTdHJ1Y3R1cmVTdHViSQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2
ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAgaWYgKCFiYXNl
LT5pc09iamVjdCgpKSB7CiAgICAgICAgIHZtLT50aHJvd0V4Y2VwdGlvbihleGVjLCBjcmVhdGVJ
bnZhbGlkSW5QYXJhbWV0ZXJFcnJvcihleGVjLCBiYXNlKSk7CiAgICAgICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAgICAgfQotICAgIAorCiAgICAgQWNjZXNzVHlw
ZSBhY2Nlc3NUeXBlID0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5
cGUpOwogCiAgICAgSWRlbnRpZmllciBpZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIGtl
eSk7CiAgICAgUHJvcGVydHlTbG90IHNsb3QoYmFzZSk7CiAgICAgYm9vbCByZXN1bHQgPSBhc09i
amVjdChiYXNlKS0+Z2V0UHJvcGVydHlTbG90KGV4ZWMsIGlkZW50LCBzbG90KTsKLSAgICAKKwog
ICAgIFJFTEVBU0VfQVNTRVJUKGFjY2Vzc1R5cGUgPT0gc3R1YkluZm8tPmFjY2Vzc1R5cGUpOwot
ICAgIAorCiAgICAgaWYgKHN0dWJJbmZvLT5zZWVuKQogICAgICAgICByZXBhdGNoSW4oZXhlYywg
YmFzZSwgaWRlbnQsIHJlc3VsdCwgc2xvdCwgKnN0dWJJbmZvKTsKICAgICBlbHNlCiAgICAgICAg
IHN0dWJJbmZvLT5zZWVuID0gdHJ1ZTsKLSAgICAKKwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoanNCb29sZWFuKHJlc3VsdCkpOwogfQogCkBAIC0yNDcsNyArMjQ5LDcgQEAgdm9pZCBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1
cmVTdHViSW5mbyosIEUKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVD
YWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAgIElkZW50aWZpZXIg
aWRlbnQgPSBJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCB1aWQpOwogICAgIFB1dFByb3BlcnR5U2xv
dCBzbG90KEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSksIHRydWUsIGV4ZWMtPmNvZGVCbG9j
aygpLT5wdXRCeUlkQ29udGV4dCgpKTsKICAgICBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2Up
LnB1dChleGVjLCBpZGVudCwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSksIHNsb3QpOwpA
QCAtMjU3LDcgKzI1OSw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9u
U3RyaWN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qCiB7CiAgICAgVk0qIHZt
ID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhl
Yyk7Ci0gICAgCisKICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2
bSwgdWlkKTsKICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2Rl
ZEJhc2UpLCBmYWxzZSwgZXhlYy0+Y29kZUJsb2NrKCktPnB1dEJ5SWRDb250ZXh0KCkpOwogICAg
IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSkucHV0KGV4ZWMsIGlkZW50LCBKU1ZhbHVlOjpk
ZWNvZGUoZW5jb2RlZFZhbHVlKSwgc2xvdCk7CkBAIC0yNjcsNyArMjY5LDcgQEAgdm9pZCBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJpY3QoRXhlY1N0YXRlKiBleGVjLCBT
dHJ1Y3R1cmVTdHViSW4KIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVD
YWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAgIElkZW50aWZpZXIg
aWRlbnQgPSBJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCB1aWQpOwogICAgIFB1dFByb3BlcnR5U2xv
dCBzbG90KEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSksIHRydWUsIGV4ZWMtPmNvZGVCbG9j
aygpLT5wdXRCeUlkQ29udGV4dCgpKTsKICAgICBhc09iamVjdChKU1ZhbHVlOjpkZWNvZGUoZW5j
b2RlZEJhc2UpKS0+cHV0RGlyZWN0KGV4ZWMtPnZtKCksIGlkZW50LCBKU1ZhbHVlOjpkZWNvZGUo
ZW5jb2RlZFZhbHVlKSwgc2xvdCk7CkBAIC0yNzcsNyArMjc5LDcgQEAgdm9pZCBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1
Y3R1cmVTdHUKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJh
bWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAgIElkZW50aWZpZXIgaWRlbnQg
PSBJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCB1aWQpOwogICAgIFB1dFByb3BlcnR5U2xvdCBzbG90
KEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSksIGZhbHNlLCBleGVjLT5jb2RlQmxvY2soKS0+
cHV0QnlJZENvbnRleHQoKSk7CiAgICAgYXNPYmplY3QoSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRC
YXNlKSktPnB1dERpcmVjdChleGVjLT52bSgpLCBpZGVudCwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29k
ZWRWYWx1ZSksIHNsb3QpOwpAQCAtMjg3LDcgKzI4OSw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25QdXRCeUlkU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVT
dHViCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJh
Y2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRl
bnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUgPSBz
dGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSk7CiAKQEAgLTI5Nywx
MCArMjk5LDEwIEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0T3B0
aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViCiAKICAgICBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSA9IGJhc2VWYWx1ZS5pc0NlbGwoKSA/IGJhc2VWYWx1ZS5hc0NlbGwoKS0+c3RydWN0
dXJlKCp2bSkgOiBudWxscHRyOwogICAgIGJhc2VWYWx1ZS5wdXQoZXhlYywgaWRlbnQsIHZhbHVl
LCBzbG90KTsKLSAgICAKKwogICAgIGlmIChhY2Nlc3NUeXBlICE9IHN0YXRpY19jYXN0PEFjY2Vz
c1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKSkKICAgICAgICAgcmV0dXJuOwotICAgIAorCiAg
ICAgaWYgKHN0dWJJbmZvLT5zZWVuKQogICAgICAgICByZXBhdGNoUHV0QnlJRChleGVjLCBiYXNl
VmFsdWUsIHN0cnVjdHVyZSwgaWRlbnQsIHNsb3QsICpzdHViSW5mbywgTm90RGlyZWN0KTsKICAg
ICBlbHNlCkBAIC0zMTEsNyArMzEzLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1
dEJ5SWROb25TdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVMKIHsKICAg
ICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2Vy
KHZtLCBleGVjKTsKLSAgICAKKwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVyOjpm
cm9tVWlkKHZtLCB1aWQpOwogICAgIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSA9IHN0YXRpY19jYXN0
PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKTsKIApAQCAtMzE5LDEyICszMjEsMTIg
QEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3RPcHRpbWl6ZShF
eGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVMKICAgICBKU1ZhbHVlIGJhc2VWYWx1ZSA9IEpTVmFs
dWU6OmRlY29kZShlbmNvZGVkQmFzZSk7CiAgICAgUHV0UHJvcGVydHlTbG90IHNsb3QoYmFzZVZh
bHVlLCBmYWxzZSwgZXhlYy0+Y29kZUJsb2NrKCktPnB1dEJ5SWRDb250ZXh0KCkpOwogCi0gICAg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlVmFsdWUuaXNDZWxsKCkgPyBiYXNlVmFsdWUuYXND
ZWxsKCktPnN0cnVjdHVyZSgqdm0pIDogbnVsbHB0cjsgICAgCisgICAgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUgPSBiYXNlVmFsdWUuaXNDZWxsKCkgPyBiYXNlVmFsdWUuYXNDZWxsKCktPnN0cnVjdHVy
ZSgqdm0pIDogbnVsbHB0cjsKICAgICBiYXNlVmFsdWUucHV0KGV4ZWMsIGlkZW50LCB2YWx1ZSwg
c2xvdCk7Ci0gICAgCisKICAgICBpZiAoYWNjZXNzVHlwZSAhPSBzdGF0aWNfY2FzdDxBY2Nlc3NU
eXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSkpCiAgICAgICAgIHJldHVybjsKLSAgICAKKwogICAg
IGlmIChzdHViSW5mby0+c2VlbikKICAgICAgICAgcmVwYXRjaFB1dEJ5SUQoZXhlYywgYmFzZVZh
bHVlLCBzdHJ1Y3R1cmUsIGlkZW50LCBzbG90LCAqc3R1YkluZm8sIE5vdERpcmVjdCk7CiAgICAg
ZWxzZQpAQCAtMzM1LDIwICszMzcsMjAgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1
dEJ5SWREaXJlY3RTdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHUKIHsKICAg
ICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2Vy
KHZtLCBleGVjKTsKLSAgICAKKwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVyOjpm
cm9tVWlkKHZtLCB1aWQpOwogICAgIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSA9IHN0YXRpY19jYXN0
PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKTsKIAogICAgIEpTVmFsdWUgdmFsdWUg
PSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKICAgICBKU09iamVjdCogYmFzZU9iamVj
dCA9IGFzT2JqZWN0KEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSkpOwogICAgIFB1dFByb3Bl
cnR5U2xvdCBzbG90KGJhc2VPYmplY3QsIHRydWUsIGV4ZWMtPmNvZGVCbG9jaygpLT5wdXRCeUlk
Q29udGV4dCgpKTsKLSAgICAKKwogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZU9iamVj
dC0+c3RydWN0dXJlKCp2bSk7CiAgICAgYmFzZU9iamVjdC0+cHV0RGlyZWN0KGV4ZWMtPnZtKCks
IGlkZW50LCB2YWx1ZSwgc2xvdCk7Ci0gICAgCisKICAgICBpZiAoYWNjZXNzVHlwZSAhPSBzdGF0
aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSkpCiAgICAgICAgIHJldHVy
bjsKLSAgICAKKwogICAgIGlmIChzdHViSW5mby0+c2VlbikKICAgICAgICAgcmVwYXRjaFB1dEJ5
SUQoZXhlYywgYmFzZU9iamVjdCwgc3RydWN0dXJlLCBpZGVudCwgc2xvdCwgKnN0dWJJbmZvLCBE
aXJlY3QpOwogICAgIGVsc2UKQEAgLTM1OSwyMCArMzYxLDIwIEBAIHZvaWQgSklUX09QRVJBVElP
TiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVj
LCBTdHJ1CiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1l
VHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJZGVudGlmaWVyIGlkZW50ID0g
SWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUg
PSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSk7CiAKICAgICBK
U1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CiAgICAgSlNPYmpl
Y3QqIGJhc2VPYmplY3QgPSBhc09iamVjdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpKTsK
ICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChiYXNlT2JqZWN0LCBmYWxzZSwgZXhlYy0+Y29kZUJs
b2NrKCktPnB1dEJ5SWRDb250ZXh0KCkpOwotICAgIAorCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgPSBiYXNlT2JqZWN0LT5zdHJ1Y3R1cmUoKnZtKTsKICAgICBiYXNlT2JqZWN0LT5wdXREaXJl
Y3QoZXhlYy0+dm0oKSwgaWRlbnQsIHZhbHVlLCBzbG90KTsKLSAgICAKKwogICAgIGlmIChhY2Nl
c3NUeXBlICE9IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKSkK
ICAgICAgICAgcmV0dXJuOwotICAgIAorCiAgICAgaWYgKHN0dWJJbmZvLT5zZWVuKQogICAgICAg
ICByZXBhdGNoUHV0QnlJRChleGVjLCBiYXNlT2JqZWN0LCBzdHJ1Y3R1cmUsIGlkZW50LCBzbG90
LCAqc3R1YkluZm8sIERpcmVjdCk7CiAgICAgZWxzZQpAQCAtMzgzLDE1ICszODUsMTUgQEAgdm9p
ZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRl
KiBleGVjLCBTdHJ1Y3R1cmVTdHUKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBO
YXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAgIElkZW50
aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCB1aWQpOwogICAgIEFjY2Vzc1R5
cGUgYWNjZXNzVHlwZSA9IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NU
eXBlKTsKIAogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVl
KTsKICAgICBKU1ZhbHVlIGJhc2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSk7
CiAgICAgUHV0UHJvcGVydHlTbG90IHNsb3QoYmFzZVZhbHVlLCB0cnVlLCBleGVjLT5jb2RlQmxv
Y2soKS0+cHV0QnlJZENvbnRleHQoKSk7Ci0gICAgCi0gICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUg
PSBiYXNlVmFsdWUuaXNDZWxsKCkgPyBiYXNlVmFsdWUuYXNDZWxsKCktPnN0cnVjdHVyZSgqdm0p
IDogbnVsbHB0cjsgCisKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2VWYWx1ZS5pc0Nl
bGwoKSA/IGJhc2VWYWx1ZS5hc0NlbGwoKS0+c3RydWN0dXJlKCp2bSkgOiBudWxscHRyOwogICAg
IGJhc2VWYWx1ZS5wdXQoZXhlYywgaWRlbnQsIHZhbHVlLCBzbG90KTsKIAogICAgIGlmIChhY2Nl
c3NUeXBlICE9IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKSkK
QEAgLTQwNCw3ICs0MDYsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZE5v
blN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZQogewogICAgIFZNKiB2
bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4
ZWMpOwotICAgIAorCiAgICAgSWRlbnRpZmllciBpZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQo
dm0sIHVpZCk7CiAgICAgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlID0gc3RhdGljX2Nhc3Q8QWNjZXNz
VHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpOwogCkBAIC00MTQsMTAgKzQxNiwxMCBAQCB2b2lk
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdEJ1aWxkTGlzdChFeGVjU3Rh
dGUqIGV4ZWMsIFN0cnVjdHVyZQogCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlVmFs
dWUuaXNDZWxsKCkgPyBiYXNlVmFsdWUuYXNDZWxsKCktPnN0cnVjdHVyZSgqdm0pIDogbnVsbHB0
cjsKICAgICBiYXNlVmFsdWUucHV0KGV4ZWMsIGlkZW50LCB2YWx1ZSwgc2xvdCk7Ci0gICAgCisK
ICAgICBpZiAoYWNjZXNzVHlwZSAhPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+
YWNjZXNzVHlwZSkpCiAgICAgICAgIHJldHVybjsKLSAgICAKKwogICAgIGJ1aWxkUHV0QnlJZExp
c3QoZXhlYywgYmFzZVZhbHVlLCBzdHJ1Y3R1cmUsIGlkZW50LCBzbG90LCAqc3R1YkluZm8sIE5v
dERpcmVjdCk7CiB9CiAKQEAgLTQyNSwyMCArNDI3LDIwIEBAIHZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3Ry
dWN0CiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJh
Y2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRl
bnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUgPSBz
dGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSk7Ci0gICAgCisKICAg
ICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CiAgICAgSlNP
YmplY3QqIGJhc2VPYmplY3QgPSBhc09iamVjdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2Up
KTsKICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChiYXNlT2JqZWN0LCB0cnVlLCBleGVjLT5jb2Rl
QmxvY2soKS0+cHV0QnlJZENvbnRleHQoKSk7CiAKLSAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9
IGJhc2VPYmplY3QtPnN0cnVjdHVyZSgqdm0pOyAgICAKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSA9IGJhc2VPYmplY3QtPnN0cnVjdHVyZSgqdm0pOwogICAgIGJhc2VPYmplY3QtPnB1dERpcmVj
dCgqdm0sIGlkZW50LCB2YWx1ZSwgc2xvdCk7Ci0gICAgCisKICAgICBpZiAoYWNjZXNzVHlwZSAh
PSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSkpCiAgICAgICAg
IHJldHVybjsKLSAgICAKKwogICAgIGJ1aWxkUHV0QnlJZExpc3QoZXhlYywgYmFzZU9iamVjdCwg
c3RydWN0dXJlLCBpZGVudCwgc2xvdCwgKnN0dWJJbmZvLCBEaXJlY3QpOwogfQogCkBAIC00NDYs
NyArNDQ4LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25T
dHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHIKIHsKICAgICBWTSogdm0gPSAmZXhl
Yy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAg
ICAKKwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCB1aWQp
OwogICAgIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSA9IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0
dWJJbmZvLT5hY2Nlc3NUeXBlKTsKIApAQCAtNDU0LDEyICs0NTYsMTIgQEAgdm9pZCBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRl
KiBleGVjLCBTdHIKICAgICBKU09iamVjdCogYmFzZU9iamVjdCA9IGFzT2JqZWN0KEpTVmFsdWU6
OmRlY29kZShlbmNvZGVkQmFzZSkpOwogICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KGJhc2VPYmpl
Y3QsIGZhbHNlLCBleGVjLT5jb2RlQmxvY2soKS0+cHV0QnlJZENvbnRleHQoKSk7CiAKLSAgICBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2VPYmplY3QtPnN0cnVjdHVyZSgqdm0pOyAgICAKKyAg
ICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2VPYmplY3QtPnN0cnVjdHVyZSgqdm0pOwogICAg
IGJhc2VPYmplY3QtPnB1dERpcmVjdCgqdm0sIGlkZW50LCB2YWx1ZSwgc2xvdCk7CiAKICAgICBp
ZiAoYWNjZXNzVHlwZSAhPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNz
VHlwZSkpCiAgICAgICAgIHJldHVybjsKLSAgICAKKwogICAgIGJ1aWxkUHV0QnlJZExpc3QoZXhl
YywgYmFzZU9iamVjdCwgc3RydWN0dXJlLCBpZGVudCwgc2xvdCwgKnN0dWJJbmZvLCBEaXJlY3Qp
OwogfQogCkBAIC01NzYsNyArNTc4LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkRp
cmVjdFB1dEJ5VmFsKEV4ZWNTdGF0ZSogY2FsbEZyYW1lLCBFbmNvZGVkSlNWYWx1ZQogewogICAg
IFZNJiB2bSA9IGNhbGxGcmFtZS0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJh
Y2VyKCZ2bSwgY2FsbEZyYW1lKTsKLSAgICAKKwogICAgIEpTVmFsdWUgYmFzZVZhbHVlID0gSlNW
YWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlVmFsdWUpOwogICAgIEpTVmFsdWUgc3Vic2NyaXB0ID0g
SlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRTdWJzY3JpcHQpOwogICAgIEpTVmFsdWUgdmFsdWUgPSBK
U1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKQEAgLTU4NSwxMiArNTg3LDEyIEBAIHZvaWQg
SklUX09QRVJBVElPTiBvcGVyYXRpb25EaXJlY3RQdXRCeVZhbChFeGVjU3RhdGUqIGNhbGxGcmFt
ZSwgRW5jb2RlZEpTVmFsdWUKICAgICBpZiAoc3Vic2NyaXB0LmlzSW50MzIoKSkgewogICAgICAg
ICAvLyBTZWUgaWYgaXQncyB3b3J0aCBvcHRpbWl6aW5nIGF0IGFsbC4KICAgICAgICAgYm9vbCBk
aWRPcHRpbWl6ZSA9IGZhbHNlOwotICAgICAgICAKKwogICAgICAgICB1bnNpZ25lZCBieXRlY29k
ZU9mZnNldCA9IGNhbGxGcmFtZS0+bG9jYXRpb25Bc0J5dGVjb2RlT2Zmc2V0KCk7CiAgICAgICAg
IEFTU0VSVChieXRlY29kZU9mZnNldCk7CiAgICAgICAgIEJ5VmFsSW5mbyYgYnlWYWxJbmZvID0g
Y2FsbEZyYW1lLT5jb2RlQmxvY2soKS0+Z2V0QnlWYWxJbmZvKGJ5dGVjb2RlT2Zmc2V0IC0gMSk7
CiAgICAgICAgIEFTU0VSVCghYnlWYWxJbmZvLnN0dWJSb3V0aW5lKTsKLSAgICAgICAgCisKICAg
ICAgICAgaWYgKGhhc09wdGltaXphYmxlSW5kZXhpbmcob2JqZWN0LT5zdHJ1Y3R1cmUodm0pKSkg
ewogICAgICAgICAgICAgLy8gQXR0ZW1wdCB0byBvcHRpbWl6ZS4KICAgICAgICAgICAgIEpJVEFy
cmF5TW9kZSBhcnJheU1vZGUgPSBqaXRBcnJheU1vZGVGb3JTdHJ1Y3R1cmUob2JqZWN0LT5zdHJ1
Y3R1cmUodm0pKTsKQEAgLTU5OSw3ICs2MDEsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uRGlyZWN0UHV0QnlWYWwoRXhlY1N0YXRlKiBjYWxsRnJhbWUsIEVuY29kZWRKU1ZhbHVlCiAg
ICAgICAgICAgICAgICAgZGlkT3B0aW1pemUgPSB0cnVlOwogICAgICAgICAgICAgfQogICAgICAg
ICB9Ci0gICAgICAgIAorCiAgICAgICAgIGlmICghZGlkT3B0aW1pemUpIHsKICAgICAgICAgICAg
IC8vIElmIHdlIHRha2Ugc2xvdyBwYXRoIG1vcmUgdGhhbiAxMCB0aW1lcyB3aXRob3V0IHBhdGNo
aW5nIHRoZW4gbWFrZSBzdXJlIHdlCiAgICAgICAgICAgICAvLyBuZXZlciBtYWtlIHRoYXQgbWlz
dGFrZSBhZ2Fpbi4gT3IsIGlmIHdlIGZhaWxlZCB0byBwYXRjaCBhbmQgd2UgaGF2ZSBzb21lIG9i
amVjdApAQCAtNjIwLDcgKzYyMiw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRC
eVZhbEdlbmVyaWMoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvCiB7CiAgICAg
Vk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2
bSwgZXhlYyk7Ci0gICAgCisKICAgICBKU1ZhbHVlIGJhc2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29k
ZShlbmNvZGVkQmFzZVZhbHVlKTsKICAgICBKU1ZhbHVlIHN1YnNjcmlwdCA9IEpTVmFsdWU6OmRl
Y29kZShlbmNvZGVkU3Vic2NyaXB0KTsKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVj
b2RlKGVuY29kZWRWYWx1ZSk7CkBAIC02MzMsNyArNjM1LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbkRpcmVjdFB1dEJ5VmFsR2VuZXJpYyhFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRK
U1ZhbHUKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRy
YWNlciB0cmFjZXIoJnZtLCBleGVjKTsKLSAgICAKKwogICAgIEpTVmFsdWUgYmFzZVZhbHVlID0g
SlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlVmFsdWUpOwogICAgIEpTVmFsdWUgc3Vic2NyaXB0
ID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRTdWJzY3JpcHQpOwogICAgIEpTVmFsdWUgdmFsdWUg
PSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKQEAgLTY1Nyw3ICs2NTksNyBAQCBFbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNhbGxFdmFsKEV4ZWNTdGF0ZSogZXhl
YywgRXhlY1N0YXRlKiBleGVjQwogICAgIEpTVmFsdWUgcmVzdWx0ID0gZXZhbChleGVjQ2FsbGVl
KTsKICAgICBpZiAodm0tPmV4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4gRW5jb2RlZEpTVmFs
dWUoKTsKLSAgICAKKwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKIH0KIApA
QCAtNjcxLDkgKzY3Myw5IEBAIHN0YXRpYyB2b2lkKiBoYW5kbGVIb3N0Q2FsbChFeGVjU3RhdGUq
IGV4ZWNDYWxsZWUsIEpTVmFsdWUgY2FsbGVlLCBDb2RlU3BlY2lhbGl6CiAgICAgaWYgKGtpbmQg
PT0gQ29kZUZvckNhbGwpIHsKICAgICAgICAgQ2FsbERhdGEgY2FsbERhdGE7CiAgICAgICAgIENh
bGxUeXBlIGNhbGxUeXBlID0gZ2V0Q2FsbERhdGEoY2FsbGVlLCBjYWxsRGF0YSk7Ci0gICAgCisK
ICAgICAgICAgQVNTRVJUKGNhbGxUeXBlICE9IENhbGxUeXBlSlMpOwotICAgIAorCiAgICAgICAg
IGlmIChjYWxsVHlwZSA9PSBDYWxsVHlwZUhvc3QpIHsKICAgICAgICAgICAgIE5hdGl2ZUNhbGxG
cmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWNDYWxsZWUpOwogICAgICAgICAgICAgZXhlY0NhbGxl
ZS0+c2V0Q2FsbGVlKGFzT2JqZWN0KGNhbGxlZSkpOwpAQCAtNjgzLDE5ICs2ODUsMTkgQEAgc3Rh
dGljIHZvaWQqIGhhbmRsZUhvc3RDYWxsKEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSwgSlNWYWx1ZSBj
YWxsZWUsIENvZGVTcGVjaWFsaXoKIAogICAgICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nh
c3Q8dm9pZCo+KGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpOwogICAgICAgICB9Ci0gICAgCisKICAg
ICAgICAgQVNTRVJUKGNhbGxUeXBlID09IENhbGxUeXBlTm9uZSk7CiAgICAgICAgIGV4ZWMtPnZt
KCkudGhyb3dFeGNlcHRpb24oZXhlYywgY3JlYXRlTm90QUZ1bmN0aW9uRXJyb3IoZXhlYywgY2Fs
bGVlKSk7CiAgICAgICAgIHJldHVybiB2bS0+Z2V0Q1RJU3R1Yih0aHJvd0V4Y2VwdGlvbkZyb21D
YWxsU2xvd1BhdGhHZW5lcmF0b3IpLmNvZGUoKS5leGVjdXRhYmxlQWRkcmVzcygpOwogICAgIH0K
IAogICAgIEFTU0VSVChraW5kID09IENvZGVGb3JDb25zdHJ1Y3QpOwotICAgIAorCiAgICAgQ29u
c3RydWN0RGF0YSBjb25zdHJ1Y3REYXRhOwogICAgIENvbnN0cnVjdFR5cGUgY29uc3RydWN0VHlw
ZSA9IGdldENvbnN0cnVjdERhdGEoY2FsbGVlLCBjb25zdHJ1Y3REYXRhKTsKLSAgICAKKwogICAg
IEFTU0VSVChjb25zdHJ1Y3RUeXBlICE9IENvbnN0cnVjdFR5cGVKUyk7Ci0gICAgCisKICAgICBp
ZiAoY29uc3RydWN0VHlwZSA9PSBDb25zdHJ1Y3RUeXBlSG9zdCkgewogICAgICAgICBOYXRpdmVD
YWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjQ2FsbGVlKTsKICAgICAgICAgZXhlY0NhbGxl
ZS0+c2V0Q2FsbGVlKGFzT2JqZWN0KGNhbGxlZSkpOwpAQCAtNzA1LDcgKzcwNyw3IEBAIHN0YXRp
YyB2b2lkKiBoYW5kbGVIb3N0Q2FsbChFeGVjU3RhdGUqIGV4ZWNDYWxsZWUsIEpTVmFsdWUgY2Fs
bGVlLCBDb2RlU3BlY2lhbGl6CiAKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8dm9p
ZCo+KGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpOwogICAgIH0KLSAgICAKKwogICAgIEFTU0VSVChj
b25zdHJ1Y3RUeXBlID09IENvbnN0cnVjdFR5cGVOb25lKTsKICAgICBleGVjLT52bSgpLnRocm93
RXhjZXB0aW9uKGV4ZWMsIGNyZWF0ZU5vdEFDb25zdHJ1Y3RvckVycm9yKGV4ZWMsIGNhbGxlZSkp
OwogICAgIHJldHVybiB2bS0+Z2V0Q1RJU3R1Yih0aHJvd0V4Y2VwdGlvbkZyb21DYWxsU2xvd1Bh
dGhHZW5lcmF0b3IpLmNvZGUoKS5leGVjdXRhYmxlQWRkcmVzcygpOwpAQCAtNzE4LDcgKzcyMCw3
IEBAIGlubGluZSBjaGFyKiBsaW5rRm9yKAogICAgIEV4ZWNTdGF0ZSogZXhlYyA9IGV4ZWNDYWxs
ZWUtPmNhbGxlckZyYW1lKCk7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZl
Q2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBKU1ZhbHVlIGNh
bGxlZUFzVmFsdWUgPSBleGVjQ2FsbGVlLT5jYWxsZWVBc1ZhbHVlKCk7CiAgICAgSlNDZWxsKiBj
YWxsZWVBc0Z1bmN0aW9uQ2VsbCA9IGdldEpTRnVuY3Rpb24oY2FsbGVlQXNWYWx1ZSk7CiAgICAg
aWYgKCFjYWxsZWVBc0Z1bmN0aW9uQ2VsbCkgewpAQCAtNzYxLDcgKzc2Myw3IEBAIGlubGluZSBj
aGFyKiBsaW5rRm9yKAogICAgICAgICBjYWxsTGlua0luZm8tPnNldFNlZW4oKTsKICAgICBlbHNl
CiAgICAgICAgIGxpbmtGb3IoZXhlY0NhbGxlZSwgKmNhbGxMaW5rSW5mbywgY29kZUJsb2NrLCBj
YWxsZWUsIGNvZGVQdHIsIGtpbmQsIHJlZ2lzdGVycyk7Ci0gICAgCisKICAgICByZXR1cm4gcmVp
bnRlcnByZXRfY2FzdDxjaGFyKj4oY29kZVB0ci5leGVjdXRhYmxlQWRkcmVzcygpKTsKIH0KIApA
QCAtNzk3LDcgKzc5OSw3IEBAIGlubGluZSBjaGFyKiB2aXJ0dWFsRm9yV2l0aEZ1bmN0aW9uKAog
ICAgIGNhbGxlZUFzRnVuY3Rpb25DZWxsID0gZ2V0SlNGdW5jdGlvbihjYWxsZWVBc1ZhbHVlKTsK
ICAgICBpZiAoVU5MSUtFTFkoIWNhbGxlZUFzRnVuY3Rpb25DZWxsKSkKICAgICAgICAgcmV0dXJu
IHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KGhhbmRsZUhvc3RDYWxsKGV4ZWNDYWxsZWUsIGNhbGxl
ZUFzVmFsdWUsIGtpbmQpKTsKLSAgICAKKwogICAgIEpTRnVuY3Rpb24qIGZ1bmN0aW9uID0ganND
YXN0PEpTRnVuY3Rpb24qPihjYWxsZWVBc0Z1bmN0aW9uQ2VsbCk7CiAgICAgSlNTY29wZSogc2Nv
cGUgPSBmdW5jdGlvbi0+c2NvcGVVbmNoZWNrZWQoKTsKICAgICBFeGVjdXRhYmxlQmFzZSogZXhl
Y3V0YWJsZSA9IGZ1bmN0aW9uLT5leGVjdXRhYmxlKCk7CkBAIC04MzIsMTIgKzgzNCwxMiBAQCBj
aGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkxpbmtQb2x5bW9ycGhpY0NhbGwoRXhlY1N0YXRl
KiBleGVjQ2FsbGVlLCBDYWxsTGluawogICAgIGNoYXIqIHJlc3VsdCA9IHZpcnR1YWxGb3JXaXRo
RnVuY3Rpb24oZXhlY0NhbGxlZSwgQ29kZUZvckNhbGwsIFJlZ2lzdGVyUHJlc2VydmF0aW9uTm90
UmVxdWlyZWQsIGNhbGxlZUFzRnVuY3Rpb25DZWxsKTsKIAogICAgIGxpbmtQb2x5bW9ycGhpY0Nh
bGwoZXhlY0NhbGxlZSwgKmNhbGxMaW5rSW5mbywgQ2FsbFZhcmlhbnQoY2FsbGVlQXNGdW5jdGlv
bkNlbGwpLCBSZWdpc3RlclByZXNlcnZhdGlvbk5vdFJlcXVpcmVkKTsKLSAgICAKKwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiAKIGNoYXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uVmlydHVhbENh
bGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBDYWxsTGlua0luZm8qKQoteyAgICAKK3sKICAgICBy
ZXR1cm4gdmlydHVhbEZvcihleGVjQ2FsbGVlLCBDb2RlRm9yQ2FsbCwgUmVnaXN0ZXJQcmVzZXJ2
YXRpb25Ob3RSZXF1aXJlZCk7CiB9CiAKQEAgLTg1MiwxMiArODU0LDEyIEBAIGNoYXIqIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uTGlua1BvbHltb3JwaGljQ2FsbFRoYXRQcmVzZXJ2ZXNSZWdzKEV4
ZWNTdGF0ZSogZXhlCiAgICAgY2hhciogcmVzdWx0ID0gdmlydHVhbEZvcldpdGhGdW5jdGlvbihl
eGVjQ2FsbGVlLCBDb2RlRm9yQ2FsbCwgTXVzdFByZXNlcnZlUmVnaXN0ZXJzLCBjYWxsZWVBc0Z1
bmN0aW9uQ2VsbCk7CiAKICAgICBsaW5rUG9seW1vcnBoaWNDYWxsKGV4ZWNDYWxsZWUsICpjYWxs
TGlua0luZm8sIENhbGxWYXJpYW50KGNhbGxlZUFzRnVuY3Rpb25DZWxsKSwgTXVzdFByZXNlcnZl
UmVnaXN0ZXJzKTsKLSAgICAKKwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIGNoYXIqIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uVmlydHVhbENhbGxUaGF0UHJlc2VydmVzUmVncyhFeGVjU3RhdGUq
IGV4ZWNDYWxsZWUsIENhbGxMaW5rSW5mbyopCi17ICAgIAorewogICAgIHJldHVybiB2aXJ0dWFs
Rm9yKGV4ZWNDYWxsZWUsIENvZGVGb3JDYWxsLCBNdXN0UHJlc2VydmVSZWdpc3RlcnMpOwogfQog
CkBAIC04NzAsNyArODcyLDcgQEAgc2l6ZV90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uQ29tcGFy
ZUxlc3MoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGUKIHsKICAgICBWTSog
dm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBl
eGVjKTsKLSAgICAKKwogICAgIHJldHVybiBqc0xlc3M8dHJ1ZT4oZXhlYywgSlNWYWx1ZTo6ZGVj
b2RlKGVuY29kZWRPcDEpLCBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZE9wMikpOwogfQogCkBAIC05
MDIsNyArOTA0LDcgQEAgc2l6ZV90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uQ29udmVydEpTVmFs
dWVUb0Jvb2xlYW4oRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlMKIHsKICAgICBWTSogdm0gPSAm
ZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsK
LSAgICAKKwogICAgIHJldHVybiBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZE9wKS50b0Jvb2xlYW4o
ZXhlYyk7CiB9CiAKQEAgLTkzNiw3ICs5MzgsNyBAQCBzaXplX3QgSklUX09QRVJBVElPTiBvcGVy
YXRpb25IYXNQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBiYXNlLCBKU1N0cgog
ICAgIGludCByZXN1bHQgPSBiYXNlLT5oYXNQcm9wZXJ0eShleGVjLCBwcm9wZXJ0eS0+dG9JZGVu
dGlmaWVyKGV4ZWMpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotICAgIAorCiAKIEVuY29kZWRK
U1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXlXaXRoUHJvZmlsZShFeGVjU3Rh
dGUqIGV4ZWMsIEFycmF5QWxsb2NhdGlvblByb2ZpbGUqIHByb2ZpbGUsIGNvbnN0IEpTVmFsdWUq
IHZhbHVlcywgaW50IHNpemUpCiB7CkBAIC05NzYsMTEgKzk3OCw0NCBAQCBFbmNvZGVkSlNWYWx1
ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Z1bmN0aW9uV2l0aEludmFsaWRhdGVkUmVhbGxv
Y2F0aW9uV2F0YwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNGdW5jdGlvbjo6Y3JlYXRl
V2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludCh2bSwgc3RhdGljX2Nhc3Q8RnVu
Y3Rpb25FeGVjdXRhYmxlKj4oZnVuY3Rpb25FeGVjdXRhYmxlKSwgc2NvcGUpKTsKIH0KIAorRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uV2l0aElu
dmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludChFeGVjU3RhdGUqIGV4ZWMsIEpTU2NvcGUq
IHNjb3BlLCBKU0NlbGwqIGZ1bmN0aW9uRXhlY3V0YWJsZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlKQoreworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIEFT
U0VSVChmdW5jdGlvbkV4ZWN1dGFibGUtPmluaGVyaXRzKEZ1bmN0aW9uRXhlY3V0YWJsZTo6aW5m
bygpKSk7CisgICAgICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgICAgIE5hdGl2ZUNhbGxG
cmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKKyAgICAgICAgCisgICAgICAgIEpTRnVuY3Rp
b24qIGZ1bmMgPSAgSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBzdGF0aWNfY2FzdDxGdW5jdGlvbkV4
ZWN1dGFibGUqPihmdW5jdGlvbkV4ZWN1dGFibGUpLCBzY29wZSk7CisgICAgICAgIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QgPSBleGVjLT5jYWxsZWUoKS0+Z2xvYmFsT2JqZWN0KCk7Cisg
ICAgICAgIAorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTQXJyb3dGdW5jdGlvbjo6
Y3JlYXRlV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludCh2bSwgZ2xvYmFsT2Jq
ZWN0LCBmdW5jLCBKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSkpOworI2Vsc2UKKyAgICAgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyNlbmRpZgorfQorICAgIAor
RW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKEV4
ZWNTdGF0ZSogZXhlYywgSlNTY29wZSogc2NvcGUsIEpTQ2VsbCogZnVuY3Rpb25FeGVjdXRhYmxl
LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUpCit7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICBBU1NFUlQoZnVuY3Rpb25FeGVjdXRhYmxlLT5pbmhlcml0cyhGdW5j
dGlvbkV4ZWN1dGFibGU6OmluZm8oKSkpOworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAg
TmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOworCisgICAgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCA9IGV4ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKKyAg
ICBKU0Z1bmN0aW9uKiBmdW5jID0gIEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgc3RhdGljX2Nhc3Q8
RnVuY3Rpb25FeGVjdXRhYmxlKj4oZnVuY3Rpb25FeGVjdXRhYmxlKSwgc2NvcGUpOworCisgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU0Fycm93RnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFs
T2JqZWN0LCBmdW5jLCBKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSkpOworCisjZWxzZQorICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisjZW5kaWYKK30KKwogSlND
ZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3RhdGUqIGV4ZWMsIFN0
cnVjdHVyZSogc3RydWN0dXJlKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5h
dGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAgcmV0dXJu
IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIHN0cnVjdHVyZSk7CiB9CiAKQEAgLTEwNTQsMTMg
KzEwODksMTMgQEAgU2xvd1BhdGhSZXR1cm5UeXBlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uT3B0
aW1pemUoRXhlY1N0YXRlKiBleGVjLCBpbnQzMl90IGJ5dGUKICAgICAvLyB0aGF0IGNhc2Ugd2Ug
d291bGQgaGF2ZSBhbHJlYWR5IHBsYW50ZWQgdGhlIG9wdGltaXplZCBjb2RlIGJsb2NrIGludG8g
dGhlIEpTCiAgICAgLy8gc3RhY2suCiAgICAgRGVmZXJHQ0ZvckFXaGlsZSBkZWZlckdDKHZtLmhl
YXApOwotICAgIAorCiAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVjLT5jb2RlQmxvY2so
KTsKICAgICBpZiAoY29kZUJsb2NrLT5qaXRUeXBlKCkgIT0gSklUQ29kZTo6QmFzZWxpbmVKSVQp
IHsKICAgICAgICAgZGF0YUxvZygiVW5leHBlY3RlZCBjb2RlIGJsb2NrIGluIEJhc2VsaW5lLT5E
RkcgdGllci11cDogIiwgKmNvZGVCbG9jaywgIlxuIik7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJU
X05PVF9SRUFDSEVEKCk7CiAgICAgfQotICAgIAorCiAgICAgaWYgKGJ5dGVjb2RlSW5kZXgpIHsK
ICAgICAgICAgLy8gSWYgd2UncmUgYXR0ZW1wdGluZyB0byBPU1IgZnJvbSBhIGxvb3AsIGFzc3Vt
ZSB0aGF0IHRoaXMgc2hvdWxkIGJlCiAgICAgICAgIC8vIHNlcGFyYXRlbHkgb3B0aW1pemVkLgpA
QCAtMTA4Niw3ICsxMTIxLDcgQEAgU2xvd1BhdGhSZXR1cm5UeXBlIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uT3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBpbnQzMl90IGJ5dGUKICAgICAgICAgICAg
IGRhdGFMb2coIkNob29zaW5nIG5vdCB0byBvcHRpbWl6ZSAiLCAqY29kZUJsb2NrLCAiIHlldCwg
YmVjYXVzZSB0aGUgdGhyZXNob2xkIGhhc24ndCBiZWVuIHJlYWNoZWQuXG4iKTsKICAgICAgICAg
cmV0dXJuIGVuY29kZVJlc3VsdCgwLCAwKTsKICAgICB9Ci0gICAgCisKICAgICBpZiAodm0uZW5h
YmxlZFByb2ZpbGVyKCkpIHsKICAgICAgICAgdXBkYXRlQWxsUHJlZGljdGlvbnNBbmRPcHRpbWl6
ZUFmdGVyV2FybVVwKGNvZGVCbG9jayk7CiAgICAgICAgIHJldHVybiBlbmNvZGVSZXN1bHQoMCwg
MCk7CkBAIC0xMTIyLDcgKzExNTcsNyBAQCBTbG93UGF0aFJldHVyblR5cGUgSklUX09QRVJBVElP
TiBvcGVyYXRpb25PcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIGludDMyX3QgYnl0ZQogICAgICAg
ICAvLyBjb3VudCB0aHJlc2hvbGQgZGVwZW5kaW5nIG9uIHdoYXQgaGFwcGVuZWQsIHNvIGlmIHRo
ZSBjb21waWxhdGlvbiB3YXMgYW55dGhpbmcKICAgICAgICAgLy8gYnV0IHN1Y2Nlc3NmdWwgd2Ug
anVzdCB3YW50IHRvIHJldHVybiBlYXJseS4gU2VlIHRoZSBjYXNlIGZvciB3b3JrbGlzdFN0YXRl
ID09CiAgICAgICAgIC8vIERGRzo6V29ya2xpc3Q6OkNvbXBpbGVkLCBiZWxvdy4KLSAgICAgICAg
CisKICAgICAgICAgLy8gTm90ZSB0aGF0IHdlIGNvdWxkIGhhdmUgYWx0ZXJuYXRpdmVseSBqdXN0
IGNhbGxlZCBXb3JrbGlzdDo6Y29tcGlsYXRpb25TdGF0ZSgpCiAgICAgICAgIC8vIGhlcmUsIGFu
ZCBpZiBpdCByZXR1cm5lZCBDb21waWxlZCwgd2UgY291bGQgaGF2ZSB0aGVuIGNhbGxlZAogICAg
ICAgICAvLyBjb21wbGV0ZUFuZFNjaGVkdWxlT1NSKCkgYmVsb3cuIEJ1dCB0aGF0IHdvdWxkIGhh
dmUgbWVhbnQgdGhhdCBpdCBjb3VsZCB0YWtlCkBAIC0xMTY1LDcgKzEyMDAsNyBAQCBTbG93UGF0
aFJldHVyblR5cGUgSklUX09QRVJBVElPTiBvcGVyYXRpb25PcHRpbWl6ZShFeGVjU3RhdGUqIGV4
ZWMsIGludDMyX3QgYnl0ZQogICAgICAgICAvLyBjdGlfb3B0aW1pemUgZnJvbSBhIGxvb3AuIFRo
YXQncyBiZWNhdXNlIGlmIHRoZXJlJ3MgYW4gb3B0aW1pemVkIHJlcGxhY2VtZW50LAogICAgICAg
ICAvLyB0aGVuIGFsbCBjYWxscyB0byB0aGlzIGZ1bmN0aW9uIHdpbGwgYmUgcmVsaW5rZWQgdG8g
dGhlIHJlcGxhY2VtZW50IGFuZCBzbwogICAgICAgICAvLyB0aGUgcHJvbG9ndWUgT1NSIHdpbGwg
bmV2ZXIgZmlyZS4KLSAgICAgICAgCisKICAgICAgICAgLy8gVGhpcyBpcyBhbiBpbnRlcmVzdGlu
ZyB0aHJlc2hvbGQgY2hlY2suIENvbnNpZGVyIHRoYXQgYSBmdW5jdGlvbiBPU1IgZXhpdHMKICAg
ICAgICAgLy8gaW4gdGhlIG1pZGRsZSBvZiBhIGxvb3AsIHdoaWxlIGhhdmluZyBhIHJlbGF0aXZl
bHkgbG93IGV4aXQgY291bnQuIFRoZSBleGl0CiAgICAgICAgIC8vIHdpbGwgcmVzZXQgdGhlIGV4
ZWN1dGlvbiBjb3VudGVyIHRvIHNvbWUgdGFyZ2V0IHRocmVzaG9sZCwgbWVhbmluZyB0aGF0IHRo
aXMKQEAgLTEyMTEsMTYgKzEyNDYsMTYgQEAgU2xvd1BhdGhSZXR1cm5UeXBlIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uT3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBpbnQzMl90IGJ5dGUKICAgICAg
ICAgQ29tcGlsYXRpb25SZXN1bHQgcmVzdWx0ID0gREZHOjpjb21waWxlKAogICAgICAgICAgICAg
dm0sIHJlcGxhY2VtZW50Q29kZUJsb2NrLmdldCgpLCAwLCBERkc6OkRGR01vZGUsIGJ5dGVjb2Rl
SW5kZXgsCiAgICAgICAgICAgICBtdXN0SGFuZGxlVmFsdWVzLCBKSVRUb0RGR0RlZmVycmVkQ29t
cGlsYXRpb25DYWxsYmFjazo6Y3JlYXRlKCkpOwotICAgICAgICAKKwogICAgICAgICBpZiAocmVz
dWx0ICE9IENvbXBpbGF0aW9uU3VjY2Vzc2Z1bCkgewogICAgICAgICAgICAgQVNTRVJUKHJlc3Vs
dCA9PSBDb21waWxhdGlvbkRlZmVycmVkIHx8IHJlcGxhY2VtZW50Q29kZUJsb2NrLT5oYXNPbmVS
ZWYoKSk7CiAgICAgICAgICAgICByZXR1cm4gZW5jb2RlUmVzdWx0KDAsIDApOwogICAgICAgICB9
CiAgICAgfQotICAgIAorCiAgICAgQ29kZUJsb2NrKiBvcHRpbWl6ZWRDb2RlQmxvY2sgPSBjb2Rl
QmxvY2stPnJlcGxhY2VtZW50KCk7CiAgICAgQVNTRVJUKEpJVENvZGU6OmlzT3B0aW1pemluZ0pJ
VChvcHRpbWl6ZWRDb2RlQmxvY2stPmppdFR5cGUoKSkpOwotICAgIAorCiAgICAgaWYgKHZvaWQq
IGRhdGFCdWZmZXIgPSBERkc6OnByZXBhcmVPU1JFbnRyeShleGVjLCBvcHRpbWl6ZWRDb2RlQmxv
Y2ssIGJ5dGVjb2RlSW5kZXgpKSB7CiAgICAgICAgIGlmIChPcHRpb25zOjp2ZXJib3NlT1NSKCkp
IHsKICAgICAgICAgICAgIGRhdGFMb2coCkBAIC0xMjYzLDcgKzEyOTgsNyBAQCBTbG93UGF0aFJl
dHVyblR5cGUgSklUX09QRVJBVElPTiBvcGVyYXRpb25PcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMs
IGludDMyX3QgYnl0ZQogICAgIC8vIE9TUiBmYWlsZWQgdGhpcyB0aW1lLCBidXQgaXQgbWlnaHQg
c3VjY2VlZCBuZXh0IHRpbWUhIExldCB0aGUgY29kZSBydW4gYSBiaXQKICAgICAvLyBsb25nZXIg
YW5kIHRoZW4gdHJ5IGFnYWluLgogICAgIGNvZGVCbG9jay0+b3B0aW1pemVBZnRlcldhcm1VcCgp
OwotICAgIAorCiAgICAgcmV0dXJuIGVuY29kZVJlc3VsdCgwLCAwKTsKIH0KICNlbmRpZgpAQCAt
MTQzOSw3ICsxNDc0LDcgQEAgc3RhdGljIEpTVmFsdWUgZ2V0QnlWYWwoRXhlY1N0YXRlKiBleGVj
LCBKU1ZhbHVlIGJhc2VWYWx1ZSwgSlNWYWx1ZSBzdWJzY3JpcHQsIFIKIH0KIAogZXh0ZXJuICJD
IiB7Ci0gICAgCisKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlW
YWxHZW5lcmljKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRTdWJzY3JpcHQpCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0o
KTsKQEAgLTE0NTcsNyArMTQ5Miw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uR2V0QnlWYWxEZWZhdWx0KEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTCiAgICAgTmF0
aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOwogICAgIEpTVmFsdWUgYmFzZVZh
bHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKTsKICAgICBKU1ZhbHVlIHN1YnNjcmlw
dCA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkU3Vic2NyaXB0KTsKLSAgICAKKwogICAgIGlmIChi
YXNlVmFsdWUuaXNPYmplY3QoKSAmJiBzdWJzY3JpcHQuaXNJbnQzMigpKSB7CiAgICAgICAgIC8v
IFNlZSBpZiBpdCdzIHdvcnRoIG9wdGltaXppbmcgdGhpcyBhdCBhbGwuCiAgICAgICAgIEpTT2Jq
ZWN0KiBvYmplY3QgPSBhc09iamVjdChiYXNlVmFsdWUpOwpAQCAtMTQ2Nyw3ICsxNTAyLDcgQEAg
RW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeVZhbERlZmF1bHQoRXhl
Y1N0YXRlKiBleGVjLCBFbmNvZGVkSlMKICAgICAgICAgQVNTRVJUKGJ5dGVjb2RlT2Zmc2V0KTsK
ICAgICAgICAgQnlWYWxJbmZvJiBieVZhbEluZm8gPSBleGVjLT5jb2RlQmxvY2soKS0+Z2V0QnlW
YWxJbmZvKGJ5dGVjb2RlT2Zmc2V0IC0gMSk7CiAgICAgICAgIEFTU0VSVCghYnlWYWxJbmZvLnN0
dWJSb3V0aW5lKTsKLSAgICAgICAgCisKICAgICAgICAgaWYgKGhhc09wdGltaXphYmxlSW5kZXhp
bmcob2JqZWN0LT5zdHJ1Y3R1cmUodm0pKSkgewogICAgICAgICAgICAgLy8gQXR0ZW1wdCB0byBv
cHRpbWl6ZS4KICAgICAgICAgICAgIEpJVEFycmF5TW9kZSBhcnJheU1vZGUgPSBqaXRBcnJheU1v
ZGVGb3JTdHJ1Y3R1cmUob2JqZWN0LT5zdHJ1Y3R1cmUodm0pKTsKQEAgLTE0NzYsNyArMTUxMSw3
IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlWYWxEZWZhdWx0
KEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTCiAgICAgICAgICAgICAgICAgZGlkT3B0aW1pemUg
PSB0cnVlOwogICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgICAgIAorCiAgICAgICAgIGlm
ICghZGlkT3B0aW1pemUpIHsKICAgICAgICAgICAgIC8vIElmIHdlIHRha2Ugc2xvdyBwYXRoIG1v
cmUgdGhhbiAxMCB0aW1lcyB3aXRob3V0IHBhdGNoaW5nIHRoZW4gbWFrZSBzdXJlIHdlCiAgICAg
ICAgICAgICAvLyBuZXZlciBtYWtlIHRoYXQgbWlzdGFrZSBhZ2Fpbi4gT3IsIGlmIHdlIGZhaWxl
ZCB0byBwYXRjaCBhbmQgd2UgaGF2ZSBzb21lIG9iamVjdApAQCAtMTQ5MCwxOCArMTUyNSwxOCBA
QCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5VmFsRGVmYXVsdChF
eGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKUwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAg
fQotICAgIAorCiAgICAgSlNWYWx1ZSByZXN1bHQgPSBnZXRCeVZhbChleGVjLCBiYXNlVmFsdWUs
IHN1YnNjcmlwdCwgUmV0dXJuQWRkcmVzc1B0cihPVVJfUkVUVVJOX0FERFJFU1MpKTsKICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CiB9Ci0gICAgCisKIEVuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFzSW5kZXhlZFByb3BlcnR5RGVmYXVsdChFeGVjU3Rh
dGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkU3Vic2NyaXB0KQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2Fs
bEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOwogICAgIEpTVmFsdWUgYmFzZVZhbHVlID0g
SlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKTsKICAgICBKU1ZhbHVlIHN1YnNjcmlwdCA9IEpT
VmFsdWU6OmRlY29kZShlbmNvZGVkU3Vic2NyaXB0KTsKLSAgICAKKwogICAgIEFTU0VSVChiYXNl
VmFsdWUuaXNPYmplY3QoKSk7CiAgICAgQVNTRVJUKHN1YnNjcmlwdC5pc1VJbnQzMigpKTsKIApA
QCAtMTUxMiw3ICsxNTQ3LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRp
b25IYXNJbmRleGVkUHJvcGVydHlEZWZhdWx0KEV4ZWNTdGF0ZSogZXhlYywKICAgICBBU1NFUlQo
Ynl0ZWNvZGVPZmZzZXQpOwogICAgIEJ5VmFsSW5mbyYgYnlWYWxJbmZvID0gZXhlYy0+Y29kZUJs
b2NrKCktPmdldEJ5VmFsSW5mbyhieXRlY29kZU9mZnNldCAtIDEpOwogICAgIEFTU0VSVCghYnlW
YWxJbmZvLnN0dWJSb3V0aW5lKTsKLSAgICAKKwogICAgIGlmIChoYXNPcHRpbWl6YWJsZUluZGV4
aW5nKG9iamVjdC0+c3RydWN0dXJlKHZtKSkpIHsKICAgICAgICAgLy8gQXR0ZW1wdCB0byBvcHRp
bWl6ZS4KICAgICAgICAgSklUQXJyYXlNb2RlIGFycmF5TW9kZSA9IGppdEFycmF5TW9kZUZvclN0
cnVjdHVyZShvYmplY3QtPnN0cnVjdHVyZSh2bSkpOwpAQCAtMTUyMSw3ICsxNTU2LDcgQEAgRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25IYXNJbmRleGVkUHJvcGVydHlEZWZh
dWx0KEV4ZWNTdGF0ZSogZXhlYywKICAgICAgICAgICAgIGRpZE9wdGltaXplID0gdHJ1ZTsKICAg
ICAgICAgfQogICAgIH0KLSAgICAKKwogICAgIGlmICghZGlkT3B0aW1pemUpIHsKICAgICAgICAg
Ly8gSWYgd2UgdGFrZSBzbG93IHBhdGggbW9yZSB0aGFuIDEwIHRpbWVzIHdpdGhvdXQgcGF0Y2hp
bmcgdGhlbiBtYWtlIHN1cmUgd2UKICAgICAgICAgLy8gbmV2ZXIgbWFrZSB0aGF0IG1pc3Rha2Ug
YWdhaW4uIE9yLCBpZiB3ZSBmYWlsZWQgdG8gcGF0Y2ggYW5kIHdlIGhhdmUgc29tZSBvYmplY3QK
QEAgLTE1MzEsMzQgKzE1NjYsMzQgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVy
YXRpb25IYXNJbmRleGVkUHJvcGVydHlEZWZhdWx0KEV4ZWNTdGF0ZSogZXhlYywKICAgICAgICAg
aWYgKCsrYnlWYWxJbmZvLnNsb3dQYXRoQ291bnQgPj0gMTAKICAgICAgICAgICAgIHx8IG9iamVj
dC0+c3RydWN0dXJlKHZtKS0+dHlwZUluZm8oKS5pbnRlcmNlcHRzR2V0T3duUHJvcGVydHlTbG90
QnlJbmRleEV2ZW5XaGVuTGVuZ3RoSXNOb3RaZXJvKCkpIHsKICAgICAgICAgICAgIC8vIERvbid0
IGV2ZXIgdHJ5IHRvIG9wdGltaXplLgotICAgICAgICAgICAgY3RpUGF0Y2hDYWxsQnlSZXR1cm5B
ZGRyZXNzKGV4ZWMtPmNvZGVCbG9jaygpLCBSZXR1cm5BZGRyZXNzUHRyKE9VUl9SRVRVUk5fQURE
UkVTUyksIEZ1bmN0aW9uUHRyKG9wZXJhdGlvbkhhc0luZGV4ZWRQcm9wZXJ0eUdlbmVyaWMpKTsg
CisgICAgICAgICAgICBjdGlQYXRjaENhbGxCeVJldHVybkFkZHJlc3MoZXhlYy0+Y29kZUJsb2Nr
KCksIFJldHVybkFkZHJlc3NQdHIoT1VSX1JFVFVSTl9BRERSRVNTKSwgRnVuY3Rpb25QdHIob3Bl
cmF0aW9uSGFzSW5kZXhlZFByb3BlcnR5R2VuZXJpYykpOwogICAgICAgICB9CiAgICAgfQotICAg
IAorCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4ob2JqZWN0LT5oYXNQcm9w
ZXJ0eShleGVjLCBzdWJzY3JpcHQuYXNVSW50MzIoKSkpKTsKIH0KLSAgICAKKwogRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25IYXNJbmRleGVkUHJvcGVydHlHZW5lcmljKEV4
ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRTdWJzY3JpcHQpCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBOYXRp
dmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CiAgICAgSlNWYWx1ZSBiYXNlVmFs
dWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpOwogICAgIEpTVmFsdWUgc3Vic2NyaXB0
ID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRTdWJzY3JpcHQpOwotICAgIAorCiAgICAgQVNTRVJU
KGJhc2VWYWx1ZS5pc09iamVjdCgpKTsKICAgICBBU1NFUlQoc3Vic2NyaXB0LmlzVUludDMyKCkp
OwogCiAgICAgSlNPYmplY3QqIG9iamVjdCA9IGFzT2JqZWN0KGJhc2VWYWx1ZSk7CiAgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4ob2JqZWN0LT5oYXNQcm9wZXJ0eShleGVjLCBz
dWJzY3JpcHQuYXNVSW50MzIoKSkpKTsKIH0KLSAgICAKKwogRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25HZXRCeVZhbFN0cmluZyhFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRCYXNlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkU3Vic2NyaXB0KQogewog
ICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNl
cigmdm0sIGV4ZWMpOwogICAgIEpTVmFsdWUgYmFzZVZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVu
Y29kZWRCYXNlKTsKICAgICBKU1ZhbHVlIHN1YnNjcmlwdCA9IEpTVmFsdWU6OmRlY29kZShlbmNv
ZGVkU3Vic2NyaXB0KTsKLSAgICAKKwogICAgIEpTVmFsdWUgcmVzdWx0OwogICAgIGlmIChMSUtF
TFkoc3Vic2NyaXB0LmlzVUludDMyKCkpKSB7CiAgICAgICAgIHVpbnQzMl90IGkgPSBzdWJzY3Jp
cHQuYXNVSW50MzIoKTsKQEAgLTE2MDEsNyArMTYzNiw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uSW5zdGFuY2VPZihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1Zh
bHVlCiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOwogICAgIEpT
VmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKICAgICBKU1ZhbHVl
IHByb3RvID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRQcm90byk7Ci0gICAgCisKICAgICBBU1NF
UlQoIXZhbHVlLmlzT2JqZWN0KCkgfHwgIXByb3RvLmlzT2JqZWN0KCkpOwogCiAgICAgYm9vbCBy
ZXN1bHQgPSBKU09iamVjdDo6ZGVmYXVsdEhhc0luc3RhbmNlKGV4ZWMsIHZhbHVlLCBwcm90byk7
CkBAIC0xNzU3LDcgKzE3OTIsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0VG9T
Y29wZShFeGVjU3RhdGUqIGV4ZWMsIEluc3RydWN0aW9uKiBieXRlY29kZVBDKQogCiAgICAgUHV0
UHJvcGVydHlTbG90IHNsb3Qoc2NvcGUsIGNvZGVCbG9jay0+aXNTdHJpY3RNb2RlKCkpOwogICAg
IHNjb3BlLT5tZXRob2RUYWJsZSgpLT5wdXQoc2NvcGUsIGV4ZWMsIGlkZW50LCB2YWx1ZSwgc2xv
dCk7Ci0gICAgCisKICAgICBpZiAoZXhlYy0+dm0oKS5leGNlcHRpb24oKSkKICAgICAgICAgcmV0
dXJuOwogCkBAIC0xNzkxLDcgKzE4MjYsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
T1NSV3JpdGVCYXJyaWVyKEV4ZWNTdGF0ZSogZXhlYywgSlNDZWxsKiBjZWxsKQogfQogCiAvLyBO
QjogV2UgZG9uJ3QgaW5jbHVkZSB0aGUgdmFsdWUgYXMgcGFydCBvZiB0aGUgYmFycmllciBiZWNh
dXNlIHRoZSB3cml0ZSBiYXJyaWVyIGVsaXNpb24KLS8vIHBoYXNlIGluIHRoZSBERkcgb25seSB0
cmFja3Mgd2hldGhlciB0aGUgb2JqZWN0IGJlaW5nIHN0b3JlZCB0byBoYXMgYmVlbiBiYXJyaWVy
ZWQuIEl0IAorLy8gcGhhc2UgaW4gdGhlIERGRyBvbmx5IHRyYWNrcyB3aGV0aGVyIHRoZSBvYmpl
Y3QgYmVpbmcgc3RvcmVkIHRvIGhhcyBiZWVuIGJhcnJpZXJlZC4gSXQKIC8vIHdvdWxkIGJlIG11
Y2ggbW9yZSBjb21wbGljYXRlZCB0byB0cnkgdG8gbW9kZWwgdGhlIHZhbHVlIGJlaW5nIHN0b3Jl
ZCBhcyB3ZWxsLgogdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblVuY29uZGl0aW9uYWxXcml0
ZUJhcnJpZXIoRXhlY1N0YXRlKiBleGVjLCBKU0NlbGwqIGNlbGwpCiB7CkBAIC0xODE1LDcgKzE4
NTAsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gbG9va3VwRXhjZXB0aW9uSGFuZGxlcihWTSogdm0s
IEV4ZWNTdGF0ZSogZXhlYykKIAogICAgIEpTVmFsdWUgZXhjZXB0aW9uVmFsdWUgPSB2bS0+ZXhj
ZXB0aW9uKCk7CiAgICAgQVNTRVJUKGV4Y2VwdGlvblZhbHVlKTsKLSAgICAKKwogICAgIGdlbmVy
aWNVbndpbmQodm0sIGV4ZWMsIGV4Y2VwdGlvblZhbHVlKTsKICAgICBBU1NFUlQodm0tPnRhcmdl
dE1hY2hpbmVQQ0ZvclRocm93KTsKIH0KQEAgLTE4MzAsNyArMTg2NSw3IEBAIHZvaWQgSklUX09Q
RVJBVElPTiBsb29rdXBFeGNlcHRpb25IYW5kbGVyRnJvbUNhbGxlckZyYW1lKFZNKiB2bSwgRXhl
Y1N0YXRlKiBleGVjCiAKICAgICBKU1ZhbHVlIGV4Y2VwdGlvblZhbHVlID0gdm0tPmV4Y2VwdGlv
bigpOwogICAgIEFTU0VSVChleGNlcHRpb25WYWx1ZSk7Ci0gICAgCisKICAgICBnZW5lcmljVW53
aW5kKHZtLCBjYWxsZXJGcmFtZSwgZXhjZXB0aW9uVmFsdWUpOwogICAgIEFTU0VSVCh2bS0+dGFy
Z2V0TWFjaGluZVBDRm9yVGhyb3cpOwogfQpAQCAtMTg3Nyw3ICsxOTEyLDcgQEAgRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25IYXNJbmRleGVkUHJvcGVydHkoRXhlY1N0YXRl
KiBleGVjLCBKU0NlbGwKICAgICBKU09iamVjdCogb2JqZWN0ID0gYmFzZUNlbGwtPnRvT2JqZWN0
KGV4ZWMsIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShqc0Jvb2xlYW4ob2JqZWN0LT5oYXNQcm9wZXJ0eShleGVjLCBzdWJzY3JpcHQpKSk7
CiB9Ci0gICAgCisKIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRQcm9wZXJ0eUVu
dW1lcmF0b3IoRXhlY1N0YXRlKiBleGVjLCBKU0NlbGwqIGNlbGwpCiB7CiAgICAgVk0mIHZtID0g
ZXhlYy0+dm0oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bl
cmF0aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKaW5k
ZXggNGM4MWQ4NTQ3YzhjZjY3MDZmMDhkZjA2MTdjZDlhOTE2ODhlZjk2NS4uZmM1N2Y4N2QyODI4
YzRmNmM5ZTlhNmJjODIyZTRmMDdiZGEyZTM2NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRPcGVyYXRpb25zLmgKQEAgLTIwLDcgKzIwLDcgQEAKICAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKICAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAogICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8K
IAogI2lmbmRlZiBKSVRPcGVyYXRpb25zX2gKQEAgLTExNiw2ICsxMTYsNyBAQCB0eXBlZGVmIEVu
Y29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FUFApKEV4ZWNTdGF0
ZSosIHZvaWQqLCB2bwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9K
SVRPcGVyYXRpb25fRVBTKShFeGVjU3RhdGUqLCB2b2lkKiwgc2l6ZV90KTsKIHR5cGVkZWYgRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQYykoRXhlY1N0YXRl
KiwgSW5zdHJ1Y3Rpb24qKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAo
KkpfSklUT3BlcmF0aW9uX0VKc2NDKShFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKik7Cit0
eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FSnNj
Q0opKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSk7CiB0eXBl
ZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FU1MpKEV4
ZWNTdGF0ZSosIHNpemVfdCwgc2l6ZV90KTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTc2lDSSkoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1
YkluZm8qLCBKU0NlbGwqLCBTdHJpbmdJbXBsKik7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJ
VF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FU3NpSkkpKEV4ZWNTdGF0ZSosIFN0cnVjdHVy
ZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUsIFN0cmluZ0ltcGwqKTsKQEAgLTI4Myw2ICsyODQs
OCBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5QnVmZmVy
V2l0aFByb2ZpbGUoRXhlY1N0YXRlKiwgQXJyYQogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElP
TiBvcGVyYXRpb25OZXdBcnJheVdpdGhTaXplQW5kUHJvZmlsZShFeGVjU3RhdGUqLCBBcnJheUFs
bG9jYXRpb25Qcm9maWxlKiwgRW5jb2RlZEpTVmFsdWUgc2l6ZSkgV1RGX0lOVEVSTkFMOwogRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdGdW5jdGlvbihFeGVjU3RhdGUq
LCBKU1Njb3BlKiwgSlNDZWxsKikgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25OZXdGdW5jdGlvbldpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldh
dGNocG9pbnQoRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCopIFdURl9JTlRFUk5BTDsKK0Vu
Y29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbihFeGVj
U3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUpIFdURl9JTlRFUk5BTDsK
K0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbldp
dGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQoRXhlY1N0YXRlKiwgSlNTY29wZSos
IEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlKSBXVEZfSU5URVJOQUw7CiBKU0NlbGwqIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uTmV3T2JqZWN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSopIFdURl9JTlRF
Uk5BTDsKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3UmVnZXhwKEV4
ZWNTdGF0ZSosIHZvaWQqKSBXVEZfSU5URVJOQUw7CiB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uSGFuZGxlV2F0Y2hkb2dUaW1lcihFeGVjU3RhdGUqKSBXVEZfSU5URVJOQUw7CkBAIC00MTEs
NCArNDE0LDMgQEAgaW5saW5lIFBfSklUT3BlcmF0aW9uX0VDbGkgb3BlcmF0aW9uTGlua1BvbHlt
b3JwaGljQ2FsbEZvcihSZWdpc3RlclByZXNlcnZhdGlvbk0KICNlbmRpZiAvLyBFTkFCTEUoSklU
KQogCiAjZW5kaWYgLy8gSklUT3BlcmF0aW9uc19oCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCmluZGV4IDIwYmViZjMyZjYxNTRmYTlmM2Y0Njk2
MmYzYTYxNDBhMmU4NDZkYzAuLjdhODUwNWYyOGZlYzJjYWUyYzY1Mzg1Y2MwOTRiY2RmY2MyNGFm
ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRo
cy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNw
cApAQCAtMzgsNiArMzgsOCBAQAogI2luY2x1ZGUgIkludGVycHJldGVyLmgiCiAjaW5jbHVkZSAi
SklULmgiCiAjaW5jbHVkZSAiSklURXhjZXB0aW9ucy5oIgorI2luY2x1ZGUgIkpTQXJyb3dGdW5j
dGlvbi5oIgorI2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTTGV4aWNh
bEVudmlyb25tZW50LmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTQ0pT
VmFsdWUuaCIKQEAgLTE3MSw2ICsxNzMsMTUgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBM
TEludCB7CiAgICAgICAgIExMSU5UX1JFVFVSTl9UV08ocGMsIF9fcmNmX2V4ZWMpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgfSB3aGlsZSAoZmFsc2UpCiAKKyAgICAKKyNk
ZWZpbmUgTExJTlRfQ0FMQ19QUk9QRVJUWV9GT1JfRlVOQ19FWFBSKCkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgIExMSU5UX0JFR0lOKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQ29k
ZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVjLT5jb2RlQmxvY2soKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICBKU1Njb3BlKiBzY29wZSA9IGV4ZWMtPnVuY2hlY2tlZFIo
cGNbMl0udS5vcGVyYW5kKS5SZWdpc3Rlcjo6c2NvcGUoKTsgICAgICAgXAorICAgIEZ1bmN0aW9u
RXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9IGNvZGVCbG9jay0+ZnVuY3Rpb25FeHByKHBjWzNdLnUu
b3BlcmFuZCk7ICBcCisgICAgCitlbnVtIEZ1bmN0aW9uRXhwcmVzc2lvblR5cGUgeyBBcnJvd0Z1
bmN0aW9uRXhwcmVzc2lvblR5cGUsIENvbW1vbkZ1bmN0aW9uRXhwcmVzc2lvblR5cGV9OworICAg
IAogZXh0ZXJuICJDIiBTbG93UGF0aFJldHVyblR5cGUgbGxpbnRfdHJhY2Vfb3BlcmFuZChFeGVj
U3RhdGUqIGV4ZWMsIEluc3RydWN0aW9uKiBwYywgaW50IGZyb21XaGVyZSwgaW50IG9wZXJhbmQp
CiB7CiAgICAgTExJTlRfQkVHSU4oKTsKQEAgLTEwMDMsMTYgKzEwMTQsMzMgQEAgTExJTlRfU0xP
V19QQVRIX0RFQ0woc2xvd19wYXRoX25ld19mdW5jKQogI2VuZGlmCiAgICAgTExJTlRfUkVUVVJO
KEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgY29kZUJsb2NrLT5mdW5jdGlvbkRlY2wocGNbM10udS5v
cGVyYW5kKSwgc2NvcGUpKTsKIH0KLQorICAgIAogTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19w
YXRoX25ld19mdW5jX2V4cCkKIHsKLSAgICBMTElOVF9CRUdJTigpOwotICAgIENvZGVCbG9jayog
Y29kZUJsb2NrID0gZXhlYy0+Y29kZUJsb2NrKCk7Ci0gICAgSlNTY29wZSogc2NvcGUgPSBleGVj
LT51bmNoZWNrZWRSKHBjWzJdLnUub3BlcmFuZCkuUmVnaXN0ZXI6OnNjb3BlKCk7Ci0gICAgRnVu
Y3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlvbiA9IGNvZGVCbG9jay0+ZnVuY3Rpb25FeHByKHBjWzNd
LnUub3BlcmFuZCk7Ci0gICAgSlNGdW5jdGlvbiogZnVuYyA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2
bSwgZnVuY3Rpb24sIHNjb3BlKTsKKyAgICBMTElOVF9DQUxDX1BST1BFUlRZX0ZPUl9GVU5DX0VY
UFIoKTsKKworICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGV4
ZWN1dGFibGUsIHNjb3BlKTsKKyAgICBMTElOVF9SRVRVUk4oZnVuYyk7Cit9CisKKworTExJTlRf
U0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX25ld19hcnJvd19mdW5jX2V4cCkKK3sKKyAgICBMTElO
VF9DQUxDX1BST1BFUlRZX0ZPUl9GVU5DX0VYUFIoKTsKKworI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBMTElOVF9PUF9DKDQpLmpz
VmFsdWUoKTsKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZXhlYy0+Y2FsbGVl
KCktPmdsb2JhbE9iamVjdCgpOwogICAgIAorICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Z1bmN0
aW9uOjpjcmVhdGUodm0sIGV4ZWN1dGFibGUsIHNjb3BlKTsKKyAgICAKKyAgICBjb25zdCBTdHJp
bmcgZnVuY1dpdGhvdXROYW1lID0gIiI7CisgICAgCisgICAgTExJTlRfUkVUVVJOKEpTQXJyb3dG
dW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIGZ1bmMsIHRoaXNWYWx1ZSkpOworI2Vs
c2UKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBleGVjdXRh
YmxlLCBzY29wZSk7CiAgICAgTExJTlRfUkVUVVJOKGZ1bmMpOworI2VuZGlmCiB9CiAKIHN0YXRp
YyBTbG93UGF0aFJldHVyblR5cGUgaGFuZGxlSG9zdENhbGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVl
LCBJbnN0cnVjdGlvbiogcGMsIEpTVmFsdWUgY2FsbGVlLCBDb2RlU3BlY2lhbGl6YXRpb25LaW5k
IGtpbmQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93
UGF0aHMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCmlu
ZGV4IDRiZjdkZWIwZmEwYjZjNjQzOGUzNmY5NjMyMGUyZjY2OTczOWFmNjQuLmM3ZmFiOTY5MWMx
OGI5Mzk1NmQwZWEyOWYzMzk1NjExOGM1ZTcxZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9MTEludFNsb3dQYXRocy5oCkBAIC05Niw2ICs5Niw3IEBAIExMSU5UX1NMT1dfUEFU
SF9ISURERU5fREVDTChzbG93X3BhdGhfc3dpdGNoX2NoYXIpOwogTExJTlRfU0xPV19QQVRIX0hJ
RERFTl9ERUNMKHNsb3dfcGF0aF9zd2l0Y2hfc3RyaW5nKTsKIExMSU5UX1NMT1dfUEFUSF9ISURE
RU5fREVDTChzbG93X3BhdGhfbmV3X2Z1bmMpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNM
KHNsb3dfcGF0aF9uZXdfZnVuY19leHApOworTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNs
b3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNM
KHNsb3dfcGF0aF9jYWxsKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhf
Y29uc3RydWN0KTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfc2l6ZV9m
cmFtZV9mb3JfdmFyYXJncyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc20KaW5kZXggNTQzZDllOTMzM2M1MTNlOTc2MTdiN2JkYTdm
Njk5ODY2ODM4YTFlMC4uMTgyYmJkOWU0ZWY3ODkyOGRhNTJmYmNlYzg4MmE1ZGYzNmRiNzk0MSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbQpAQCAtMTE2OSw2ICsxMTY5LDEwIEBAIF9sbGludF9vcF9uZXdfZnVuY19leHA6CiAg
ICAgY2FsbFNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfbmV3X2Z1bmNfZXhwKQogICAgIGRpc3Bh
dGNoKDQpCiAKK19sbGludF9vcF9uZXdfYXJyb3dfZnVuY19leHA6CisgICAgdHJhY2VFeGVjdXRp
b24oKQorICAgIGNhbGxTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX25ld19hcnJvd19mdW5jX2V4
cCkKKyAgICBkaXNwYXRjaCg1KQogCiBfbGxpbnRfb3BfY2FsbDoKICAgICB0cmFjZUV4ZWN1dGlv
bigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCmluZGV4IGFhNzM3
MDUyY2IzYzgxNTM1N2M4YTZmZTM2OGFkMjE1OWJhMzJjMGYuLjlkMDMxOTE0NGJkNGQ3YmUxNjZm
ZDc5NDA1MjU4YjkyZDI0YTQ2NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvQVNUQnVpbGRlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNU
QnVpbGRlci5oCkBAIC0zNTcsNiArMzU3LDE5IEBAIHB1YmxpYzoKICAgICAgICAgICAgIGluU3Ry
aWN0Q29udGV4dCwgY29uc3RydWN0b3JLaW5kKTsKICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEV4cHJlc3Npb25Ob2RlKiBjcmVhdGVBcnJvd0Z1bmN0
aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBQYXJzZXJGdW5j
dGlvbkluZm88QVNUQnVpbGRlcj4mIGluZm8pCisgICAgeworICAgICAgICBTb3VyY2VDb2RlIHNv
dXJjZSA9IGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Np
b24KKyAgICAgICAgPyBtX3NvdXJjZUNvZGUtPnN1YkFycm93RXhwcmVzc2lvbihpbmZvLmFycm93
RnVuY3Rpb25PZmZzZXQsIGluZm8uY2xvc2VCcmFjZU9mZnNldCwgaW5mby5ib2R5U3RhcnRMaW5l
LCBpbmZvLmJvZHlTdGFydENvbHVtbikKKyAgICAgICAgOiBtX3NvdXJjZUNvZGUtPnN1YkV4cHJl
c3Npb24oaW5mby5vcGVuQnJhY2VPZmZzZXQsIGluZm8uY2xvc2VCcmFjZU9mZnNldCwgaW5mby5i
b2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlTdGFydENvbHVtbik7CisKKyAgICAgICAgQXJyb3dGdW5j
RXhwck5vZGUqIHJlc3VsdCA9IG5ldyAobV9wYXJzZXJBcmVuYSkgQXJyb3dGdW5jRXhwck5vZGUo
bG9jYXRpb24sICppbmZvLm5hbWUsIGluZm8uYm9keSwgc291cmNlLCBpbmZvLnBhcmFtZXRlcnMp
OworICAgICAgICBpbmZvLmJvZHktPnNldExvYyhpbmZvLmJvZHlTdGFydExpbmUsIGluZm8uYm9k
eUVuZExpbmUsIGxvY2F0aW9uLnN0YXJ0T2Zmc2V0LCBsb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQp
OworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKyNlbmRpZgorCiAgICAgTkVWRVJfSU5M
SU5FIFByb3BlcnR5Tm9kZSogY3JlYXRlR2V0dGVyT3JTZXR0ZXJQcm9wZXJ0eShjb25zdCBKU1Rv
a2VuTG9jYXRpb24mIGxvY2F0aW9uLCBQcm9wZXJ0eU5vZGU6OlR5cGUgdHlwZSwgYm9vbCwKICAg
ICAgICAgY29uc3QgSWRlbnRpZmllciogbmFtZSwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPEFT
VEJ1aWxkZXI+JiBpbmZvLCBTdXBlckJpbmRpbmcgc3VwZXJCaW5kaW5nKQogICAgIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKaW5kZXggOTZlYjdhYWIyMzlhMzg2ZDA3ZjYw
ZGJhNzRlNmZhZDFmYTZjZDM3YS4uYWQ3MDU2ZGRlMzg4ZWY4NmZiN2Y2Mjc2ZmRhNzNlYWU4OWQ0
MzQ4ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKQEAgLTE3MDgsNiAr
MTcwOCwxOCBAQCBib29sIExleGVyPFQ+OjpuZXh0VG9rZW5Jc0NvbG9uKCkKICAgICByZXR1cm4g
Y29kZSA8IG1fY29kZUVuZCAmJiAqY29kZSA9PSAnOic7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIFQ+Cit2b2lkIExleGVyPFQ+
OjpzZXRUb2tlblBvc2l0aW9uKEpTVG9rZW4qIHRva2VuUmVjb3JkKQoreworICAgIEpTVG9rZW5E
YXRhKiB0b2tlbkRhdGEgPSAmdG9rZW5SZWNvcmQtPm1fZGF0YTsKKyAgICB0b2tlbkRhdGEtPmxp
bmUgPSBsaW5lTnVtYmVyKCk7CisgICAgdG9rZW5EYXRhLT5vZmZzZXQgPSBjdXJyZW50T2Zmc2V0
KCk7CisgICAgdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zm
c2V0KCk7CisgICAgQVNTRVJUKHRva2VuRGF0YS0+b2Zmc2V0ID49IHRva2VuRGF0YS0+bGluZVN0
YXJ0T2Zmc2V0KTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KIEpTVG9rZW5U
eXBlIExleGVyPFQ+OjpsZXgoSlNUb2tlbiogdG9rZW5SZWNvcmQsIHVuc2lnbmVkIGxleGVyRmxh
Z3MsIGJvb2wgc3RyaWN0TW9kZSkKIHsKQEAgLTE3NzEsNyArMTc4MywxMiBAQCBzdGFydDoKICAg
ICAgICAgfQogICAgICAgICB0b2tlbiA9IEdUOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIENo
YXJhY3RlckVxdWFsOgorICAgIGNhc2UgQ2hhcmFjdGVyRXF1YWw6IHsKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB1aW50MzJfdCBzYXZlZGxpbmVOdW1iZXIg
PSB0b2tlbkRhdGEtPmxpbmU7CisgICAgICAgIHVpbnQzMl90IHNhdmVkT2Zmc2V0ID0gY3VycmVu
dE9mZnNldCgpOworICAgICAgICB1aW50MzJfdCBzYXZlZExpbmVTdGFydE9mZnNldCA9IGN1cnJl
bnRMaW5lU3RhcnRPZmZzZXQoKTsKKyNlbmRpZgogICAgICAgICBzaGlmdCgpOwogICAgICAgICBp
ZiAobV9jdXJyZW50ID09ICc9JykgewogICAgICAgICAgICAgc2hpZnQoKTsKQEAgLTE3ODMsOCAr
MTgwMCwyMiBAQCBzdGFydDoKICAgICAgICAgICAgIHRva2VuID0gRVFFUTsKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnPicpIHsKKyAgICAgICAgICAgIHNoaWZ0KCk7Cisg
ICAgICAgICAgICB0b2tlbiA9IEFSUk9XRlVOQ1RJT047CisKKyAgICAgICAgICAgIHRva2VuRGF0
YS0+bGluZSA9IHNhdmVkbGluZU51bWJlcjsKKyAgICAgICAgICAgIHRva2VuRGF0YS0+b2Zmc2V0
ID0gc2F2ZWRPZmZzZXQ7CisgICAgICAgICAgICB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCA9
IHNhdmVkTGluZVN0YXJ0T2Zmc2V0OworCisgICAgICAgICAgICBBU1NFUlQodG9rZW5EYXRhLT5v
ZmZzZXQgPj0gdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQpOworICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICB0b2tlbiA9IEVRVUFMOwogICAgICAgICBicmVh
azsKKyAgICB9CiAgICAgY2FzZSBDaGFyYWN0ZXJMZXNzOgogICAgICAgICBzaGlmdCgpOwogICAg
ICAgICBpZiAobV9jdXJyZW50ID09ICchJyAmJiBwZWVrKDEpID09ICctJyAmJiBwZWVrKDIpID09
ICctJykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCmluZGV4IDhhZmVmMjYxMTIx
MDhhZWQ3ZTg2ZWQwZTg0NzliNzljMWQwMjI3YWIuLmJkYTNiZDQ5ZWE3YTU5YzM1YzRlMTI4NWNm
OTQ4MzIyNTVjODdmZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
TGV4ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKQEAgLTg3
LDYgKzg3LDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SXNSZXBhcnNpbmcoKSB7IG1faXNSZXBh
cnNpbmcgPSB0cnVlOyB9CiAgICAgYm9vbCBpc1JlcGFyc2luZygpIGNvbnN0IHsgcmV0dXJuIG1f
aXNSZXBhcnNpbmc7IH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgdm9pZCBzZXRUb2tlblBvc2l0aW9uKEpTVG9rZW4qIHRva2VuUmVjb3JkKTsKKyNlbmRpZgog
ICAgIEpTVG9rZW5UeXBlIGxleChKU1Rva2VuKiwgdW5zaWduZWQsIGJvb2wgc3RyaWN0TW9kZSk7
CiAgICAgYm9vbCBuZXh0VG9rZW5Jc0NvbG9uKCk7CiAgICAgaW50IGxpbmVOdW1iZXIoKSBjb25z
dCB7IHJldHVybiBtX2xpbmVOdW1iZXI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKaW5kZXggODliOTI4ZWNmOGI0NDAwMDYyMzY2MTI4MmE5
NzBhNTYyMWE1MWE5Mi4uMWI0MGVlM2UyMWQ4ZTM3MDE2MWNjOWY5YzRhZWVjYzcwNzI2M2ZhMSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3Jz
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgK
QEAgLTgzNSw2ICs4MzUsMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIG1fYm9keS0+Zmlu
aXNoUGFyc2luZyhzb3VyY2UsIHBhcmFtZXRlciwgaWRlbnQsIEZ1bmN0aW9uRXhwcmVzc2lvbik7
CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpbmxp
bmUgQXJyb3dGdW5jRXhwck5vZGU6OkFycm93RnVuY0V4cHJOb2RlKGNvbnN0IEpTVG9rZW5Mb2Nh
dGlvbiYgbG9jYXRpb24sIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBGdW5jdGlvbkJvZHlOb2Rl
KiBib2R5LCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIFBhcmFtZXRlck5vZGUqIHBhcmFtZXRl
cikKKyAgICAgICAgOiBGdW5jRXhwck5vZGUobG9jYXRpb24sIGlkZW50LCBib2R5LCBzb3VyY2Us
IHBhcmFtZXRlcikKKyAgICB7CisgICAgfQorI2VuZGlmCisgICAgCiAgICAgaW5saW5lIEZ1bmNE
ZWNsTm9kZTo6RnVuY0RlY2xOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNv
bnN0IElkZW50aWZpZXImIGlkZW50LCBGdW5jdGlvbkJvZHlOb2RlKiBib2R5LCBjb25zdCBTb3Vy
Y2VDb2RlJiBzb3VyY2UsIFBhcmFtZXRlck5vZGUqIHBhcmFtZXRlcikKICAgICAgICAgOiBTdGF0
ZW1lbnROb2RlKGxvY2F0aW9uKQogICAgICAgICAsIG1fYm9keShib2R5KQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9Ob2Rlcy5oCmluZGV4IDc4NDgxODRlNTU0Y2Y0MGVhZjM5MDY3ZTY3OGE1ZWQ4
YWM1NDk5ZTguLjk1NDBiMWI0NTE0NTE0MzYyZTA3OWE4NDdjMDE1ZGUwYmM3YjVmOGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKQEAgLTE1OCw2ICsxNTgsOSBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgdmlydHVhbCBib29sIGlzRG90QWNjZXNzb3JOb2RlKCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzRGVjb25zdHJ1Y3Rpb25O
b2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzRnVu
Y0V4cHJOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNBcnJvd0Z1bmNFeHByTm9k
ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjZW5kaWYKICAgICAgICAgdmlydHVhbCBib29s
IGlzQ29tbWFOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBi
b29sIGlzU2ltcGxlQXJyYXkoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0
dWFsIGJvb2wgaXNBZGQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpAQCAtMTcyNiw2ICsxNzI5
LDE5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBGdW5jdGlvbkJvZHlOb2RlKiBtX2JvZHk7
CiAgICAgfTsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2xh
c3MgQXJyb3dGdW5jRXhwck5vZGUgOiBwdWJsaWMgRnVuY0V4cHJOb2RlIHsKKyAgICBwdWJsaWM6
CisgICAgICAgIEFycm93RnVuY0V4cHJOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0
IElkZW50aWZpZXImLCBGdW5jdGlvbkJvZHlOb2RlKiwgY29uc3QgU291cmNlQ29kZSYsIFBhcmFt
ZXRlck5vZGUqID0gMCk7CisgICAgcHJpdmF0ZToKKyAgICAgICAgdmlydHVhbCBSZWdpc3RlcklE
KiBlbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImLCBSZWdpc3RlcklEKiA9IDApIG92ZXJy
aWRlOworICAgICAgICAKKyAgICAgICAgdmlydHVhbCBib29sIGlzRnVuY0V4cHJOb2RlKCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKyAgICAgICAgCisgICAgICAgIHZpcnR1YWwg
Ym9vbCBpc0Fycm93RnVuY0V4cHJOb2RlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsg
fQorICAgIH07CisjZW5kaWYKKwogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogICAgIGNs
YXNzIENsYXNzRXhwck5vZGUgZmluYWwgOiBwdWJsaWMgRXhwcmVzc2lvbk5vZGUgewogICAgIHB1
YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAppbmRleCA0OWJjZDk2
NTQyNTliYzI2MjM5MWIzNDFiODgzNDQ4ZTZjMDIzNGM2Li5mMTkyN2NiOGVjNjc4OWJhMDRhOTBh
MzI3NmZkYWUyYzAwODc4N2ZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIu
Y3BwCkBAIC0yNjQsNyArMjY0LDcgQEAgU3RyaW5nIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlu
bmVyKCkKICAgICBpZiAobV9sZXhlci0+aXNSZXBhcnNpbmcoKSkKICAgICAgICAgbV9zdGF0ZW1l
bnREZXB0aC0tOwogICAgIFNjb3BlUmVmIHNjb3BlID0gY3VycmVudFNjb3BlKCk7Ci0gICAgU291
cmNlRWxlbWVudHMqIHNvdXJjZUVsZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0
LCBDaGVja0ZvclN0cmljdE1vZGUpOworICAgIFNvdXJjZUVsZW1lbnRzKiBzb3VyY2VFbGVtZW50
cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgQ2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFu
ZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICBpZiAoIXNvdXJjZUVsZW1lbnRzIHx8ICFjb25z
dW1lKEVPRlRPSykpIHsKICAgICAgICAgaWYgKGhhc0Vycm9yKCkpCiAgICAgICAgICAgICBwYXJz
ZUVycm9yID0gbV9lcnJvck1lc3NhZ2U7CkBAIC0zNDMsNyArMzQzLDcgQEAgYm9vbCBQYXJzZXI8
TGV4ZXJUeXBlPjo6YWxsb3dBdXRvbWF0aWNTZW1pY29sb24oKQogfQogCiB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgTGV4ZXJUeXBlPgotdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNl
RWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxk
ZXImIGNvbnRleHQsIFNvdXJjZUVsZW1lbnRzTW9kZSBtb2RlKQordGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291
cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZUVsZW1lbnRzTW9kZSBtb2Rl
LCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSkKIHsKICAgICBjb25zdCB1bnNp
Z25lZCBsZW5ndGhPZlVzZVN0cmljdExpdGVyYWwgPSAxMjsgLy8gInVzZSBzdHJpY3QiLmxlbmd0
aAogICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzb3VyY2VFbGVtZW50cyA9IGNvbnRleHQuY3JlYXRl
U291cmNlRWxlbWVudHMoKTsKQEAgLTM1Miw3ICszNTIsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3Vy
Y2VFbAogICAgIHVuc2lnbmVkIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwOwogICAgIGF1dG8g
c2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CiAgICAgYm9vbCBoYXNTZXRTdHJpY3QgPSBm
YWxzZTsKLSAgICB3aGlsZSAoVHJlZVN0YXRlbWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVu
dChjb250ZXh0LCBkaXJlY3RpdmUsICZkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoKSkgeworICAgIHdo
aWxlIChUcmVlU3RhdGVtZW50IHN0YXRlbWVudCA9IHBhcnNlU3RhdGVtZW50KGNvbnRleHQsIGRp
cmVjdGl2ZSwgJmRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgsIGZ1bmN0aW9uUGFyc2VUeXBlKSkgewog
ICAgICAgICBpZiAobW9kZSA9PSBDaGVja0ZvclN0cmljdE1vZGUgJiYgIXNlZW5Ob25EaXJlY3Rp
dmUpIHsKICAgICAgICAgICAgIGlmIChkaXJlY3RpdmUpIHsKICAgICAgICAgICAgICAgICAvLyAi
dXNlIHN0cmljdCIgbXVzdCBiZSB0aGUgZXhhY3QgbGl0ZXJhbCB3aXRob3V0IGVzY2FwZSBzZXF1
ZW5jZXMgb3IgbGluZSBjb250aW51YXRpb24uCkBAIC01ODQsNiArNTg0LDMxIEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBQYXJzZXI8TGV4
ZXJUeXBlPjo6Y3JlYXRlCiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlQmluZGluZ0xvY2F0aW9u
KHRva2VuLm1fbG9jYXRpb24sIG5hbWUsIHRva2VuLm1fc3RhcnRQb3NpdGlvbiwgdG9rZW4ubV9l
bmRQb3NpdGlvbik7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
dGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uU3Rh
dGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0KQoreworICAgIEFTU0VSVChtYXRjaChBUlJPV0ZV
TkNUSU9OKSk7CisKKyAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigp
KTsKKyAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAg
IEpTVGV4dFBvc2l0aW9uIGVuZCA9IHRva2VuRW5kUG9zaXRpb24oKTsKKworICAgIG5leHQoKTsK
KyAgICBUcmVlRXhwcmVzc2lvbiBleHByID0gcGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihj
b250ZXh0KTsKKyAgICBmYWlsSWZGYWxzZShleHByLCAiQ2Fubm90IHBhcnNlIHRoZSBhcnJvdyBm
dW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgZW5kID0gbGFzdFRva2VuRW5kUG9zaXRpb24oKTsK
KworICAgIGJvb2wgY29ycmVjdEFycm93RmluaXNoID0gaXNFbmRPZkFycm93RnVuY3Rpb24oKSB8
fCBtYXRjaChFT0ZUT0spOworICAgIGZhaWxJZkZhbHNlKGNvcnJlY3RBcnJvd0ZpbmlzaCwgIkV4
cGVjdGVkIGEgJzsnLCAnXScsICd9JywgJyknLCBvciAnLCcgZm9sbG93aW5nIGEgYXJyb3cgZnVu
Y3Rpb24gc3RhdGVtZW50Iik7CisKKyAgICBlbmQgPSB0b2tlbkVuZFBvc2l0aW9uKCk7CisgICAg
c2V0RW5kT2ZTdGF0ZW1lbnQoKTsKKworICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJldHVyblN0
YXRlbWVudChsb2NhdGlvbiwgZXhwciwgc3RhcnQsIGVuZCk7Cit9CisjZW5kaWYKKwogdGVtcGxh
dGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZURlY29uc3RydWN0aW9uUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6dHJ5UGFyc2VEZWNvbnN0
cnVjdGlvblBhdHRlcm5FeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewpAQCAtMTAz
MSw3ICsxMDU2LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhdXNlTGlz
dCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTd2l0Y2hDbGF1c2UKICAgICBUcmVlRXhwcmVzc2lv
biBjb25kaXRpb24gPSBwYXJzZUV4cHJlc3Npb24oY29udGV4dCk7CiAgICAgZmFpbElmRmFsc2Uo
Y29uZGl0aW9uLCAiQ2Fubm90IHBhcnNlIHN3aXRjaCBjbGF1c2UiKTsKICAgICBjb25zdW1lT3JG
YWlsKENPTE9OLCAiRXhwZWN0ZWQgYSAnOicgYWZ0ZXIgc3dpdGNoIGNsYXVzZSBleHByZXNzaW9u
Iik7Ci0gICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1l
bnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUpOworICAgIFRyZWVTb3VyY2VFbGVt
ZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tG
b3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICBmYWlsSWZGYWxz
ZShzdGF0ZW1lbnRzLCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIGEgc3dpdGNoIGNsYXVzZSIp
OwogICAgIFRyZWVDbGF1c2UgY2xhdXNlID0gY29udGV4dC5jcmVhdGVDbGF1c2UoY29uZGl0aW9u
LCBzdGF0ZW1lbnRzKTsKICAgICBjb250ZXh0LnNldFN0YXJ0T2Zmc2V0KGNsYXVzZSwgc3RhcnRP
ZmZzZXQpOwpAQCAtMTA0NCw3ICsxMDY5LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlQ2xhdXNlTGlzdCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTd2l0Y2hDbGF1c2UKICAg
ICAgICAgVHJlZUV4cHJlc3Npb24gY29uZGl0aW9uID0gcGFyc2VFeHByZXNzaW9uKGNvbnRleHQp
OwogICAgICAgICBmYWlsSWZGYWxzZShjb25kaXRpb24sICJDYW5ub3QgcGFyc2Ugc3dpdGNoIGNh
c2UgZXhwcmVzc2lvbiIpOwogICAgICAgICBjb25zdW1lT3JGYWlsKENPTE9OLCAiRXhwZWN0ZWQg
YSAnOicgYWZ0ZXIgc3dpdGNoIGNsYXVzZSBleHByZXNzaW9uIik7Ci0gICAgICAgIFRyZWVTb3Vy
Y2VFbGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250
Q2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICAgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN0YXRlbWVu
dHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUs
IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwogICAgICAgICBmYWlsSWZGYWxzZShzdGF0ZW1l
bnRzLCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIGEgc3dpdGNoIGNsYXVzZSIpOwogICAgICAg
ICBjbGF1c2UgPSBjb250ZXh0LmNyZWF0ZUNsYXVzZShjb25kaXRpb24sIHN0YXRlbWVudHMpOwog
ICAgICAgICBjb250ZXh0LnNldFN0YXJ0T2Zmc2V0KGNsYXVzZSwgc3RhcnRPZmZzZXQpOwpAQCAt
MTA2MSw3ICsxMDg2LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhdXNl
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN3aXRjaERlZmF1bHRDbGEKICAgICB1bnNpZ25lZCBz
dGFydE9mZnNldCA9IHRva2VuU3RhcnQoKTsKICAgICBuZXh0KCk7CiAgICAgY29uc3VtZU9yRmFp
bChDT0xPTiwgIkV4cGVjdGVkIGEgJzonIGFmdGVyIHN3aXRjaCBkZWZhdWx0IGNsYXVzZSIpOwot
ICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhj
b250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICBUcmVlU291cmNlRWxlbWVudHMg
c3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgRG9udENoZWNrRm9yU3Ry
aWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CiAgICAgZmFpbElmRmFsc2Uoc3Rh
dGVtZW50cywgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiBhIHN3aXRjaCBkZWZhdWx0IGNsYXVz
ZSIpOwogICAgIFRyZWVDbGF1c2UgcmVzdWx0ID0gY29udGV4dC5jcmVhdGVDbGF1c2UoMCwgc3Rh
dGVtZW50cyk7CiAgICAgY29udGV4dC5zZXRTdGFydE9mZnNldChyZXN1bHQsIHN0YXJ0T2Zmc2V0
KTsKQEAgLTExNDYsNyArMTE3MSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VCbG9ja1N0YXRlbWVuCiAgICAgICAg
IGNvbnRleHQuc2V0RW5kT2Zmc2V0KHJlc3VsdCwgZW5kT2Zmc2V0KTsKICAgICAgICAgcmV0dXJu
IHJlc3VsdDsKICAgICB9Ci0gICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN1YnRyZWUgPSBwYXJzZVNv
dXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUpOworICAgIFRyZWVT
b3VyY2VFbGVtZW50cyBzdWJ0cmVlID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250
Q2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICBmYWls
SWZGYWxzZShzdWJ0cmVlLCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIHRoZSBibG9jayBzdGF0
ZW1lbnQiKTsKICAgICBtYXRjaE9yRmFpbChDTE9TRUJSQUNFLCAiRXhwZWN0ZWQgYSBjbG9zaW5n
ICd9JyBhdCB0aGUgZW5kIG9mIGEgYmxvY2sgc3RhdGVtZW50Iik7CiAgICAgaW50IGVuZE9mZnNl
dCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKQEAgLTExNTgsNyArMTE4Myw3IEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VCbG9ja1N0YXRlbWVuCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Ci10ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiYg
ZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCkKK3RlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VT
dGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3Rp
dmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoLCBGdW5jdGlvblBhcnNlVHlwZSBw
YXJzZVR5cGUpCiB7CiAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVu
dERlcHRoKTsKICAgICBtX3N0YXRlbWVudERlcHRoKys7CkBAIC0xMTY3LDYgKzExOTIsMjMgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZVN0YXRlbWVudChUcmUKICAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7CiAgICAg
VHJlZVN0YXRlbWVudCByZXN1bHQgPSAwOwogICAgIGJvb2wgc2hvdWxkU2V0RW5kT2Zmc2V0ID0g
dHJ1ZTsKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaWYgKHBh
cnNlVHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIHN3aXRjaCAobV90
b2tlbi5tX3R5cGUpIHsKKyAgICAgICAgY2FzZSBDTE9TRVBBUkVOOgorICAgICAgICBjYXNlIENM
T1NFQlJBQ0tFVDoKKyAgICAgICAgY2FzZSBDT01NQToKKyAgICAgICAgY2FzZSBTRU1JQ09MT046
IHsKKyAgICAgICAgICAgIHJlc3VsdCA9IDA7CisgICAgICAgICAgICBjb250ZXh0LnNldEVuZE9m
ZnNldChyZXN1bHQsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ub2Zmc2V0KTsKKyAgICAgICAgICAg
IHJldHVybiByZXN1bHQ7CisgICAgICAgIH0KKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICB9CisgICAgfQorI2VuZGlmCiAgICAgc3dpdGNoIChtX3Rva2VuLm1f
dHlwZSkgewogICAgIGNhc2UgT1BFTkJSQUNFOgogICAgICAgICByZXN1bHQgPSBwYXJzZUJsb2Nr
U3RhdGVtZW50KGNvbnRleHQpOwpAQCAtMTIxMiw2ICsxMjU0LDE1IEBAIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0
ZW1lbnQoVHJlCiAgICAgY2FzZSBCUkVBSzoKICAgICAgICAgcmVzdWx0ID0gcGFyc2VCcmVha1N0
YXRlbWVudChjb250ZXh0KTsKICAgICAgICAgYnJlYWs7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIEFSUk9XRlVOQ1RJT046CisgICAgICAgIHJlc3VsdCA9
IHBhcnNlQXJyb3dGdW5jdGlvblN0YXRlbWVudChjb250ZXh0KTsKKyAgICAgICAgLy8gQ29uc3Vt
ZSB0aGUgZW5kIG9mIGFycm93IGZ1bmN0aW9uICw7XSkgYW5kIHByZXZlbnQKKyAgICAgICAgLy8g
cGFyc2UgdGhpcyBzeW1ib2xzIGJ5IHBhcnNlU3RhdGVtZW50IGFzIHNlcGFyYXRlIHN0YXRlbWVu
dAorICAgICAgICBpZiAocGFyc2VUeXBlID09IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpCisg
ICAgICAgICAgICBuZXh0KCk7CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgY2FzZSBSRVRV
Uk46CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlUmV0dXJuU3RhdGVtZW50KGNvbnRleHQpOwogICAg
ICAgICBicmVhazsKQEAgLTEyNzYsMjAgKzEzMjcsMzQgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlRm9ybWFsUGFyYW1ldGVyTGlzdCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VG
b3IKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVGdW5jdGlvbkJvZHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25C
b2R5KAogICAgIFRyZWVCdWlsZGVyJiBjb250ZXh0LCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQs
IGludCBmdW5jdGlvbk5hbWVTdGFydCwgCi0gICAgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3Ry
dWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCkKKyAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25z
dHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kLCBGdW5jdGlvblBhcnNlVHlwZSBwYXJzZVR5cGUp
CiB7CiAgICAgSlNUb2tlbkxvY2F0aW9uIHN0YXJ0TG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsK
ICAgICB1bnNpZ25lZCBzdGFydENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBlID09IFN0YW5kYXJkRnVu
Y3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgbmV4dCgpOworICAgICAgICBpZiAobWF0Y2goQ0xP
U0VCUkFDRSkpIHsKKyAgICAgICAgICAgIHVuc2lnbmVkIGVuZENvbHVtbiA9IHRva2VuQ29sdW1u
KCk7CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRM
b2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBmdW5jdGlv
bktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgc3RyaWN0
TW9kZSgpLCBjb25zdHJ1Y3RvcktpbmQpOworICAgICAgICB9CisgICAgfQorI2Vsc2UKICAgICBu
ZXh0KCk7Ci0KICAgICBpZiAobWF0Y2goQ0xPU0VCUkFDRSkpIHsKICAgICAgICAgdW5zaWduZWQg
ZW5kQ29sdW1uID0gdG9rZW5Db2x1bW4oKTsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRl
RnVuY3Rpb25Cb2R5KHN0YXJ0TG9jYXRpb24sIHRva2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1bW4s
IGVuZENvbHVtbiwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJh
bWV0ZXJzU3RhcnQsIHN0cmljdE1vZGUoKSwgY29uc3RydWN0b3JLaW5kKTsKICAgICB9CisjZW5k
aWYKKwogICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7
CiAgICAgbV9zdGF0ZW1lbnREZXB0aCA9IDA7CiAgICAgdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkZ1
bmN0aW9uQm9keUJ1aWxkZXIgYm9keUJ1aWxkZXIoY29uc3RfY2FzdDxWTSo+KG1fdm0pLCBtX2xl
eGVyLmdldCgpKTsKLSAgICBmYWlsSWZGYWxzZShwYXJzZVNvdXJjZUVsZW1lbnRzKGJvZHlCdWls
ZGVyLCBDaGVja0ZvclN0cmljdE1vZGUpLCAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBmdW5j
dGlvbiIpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgZmFpbElm
RmFsc2UocGFyc2VTb3VyY2VFbGVtZW50cyhib2R5QnVpbGRlciwgQ2hlY2tGb3JTdHJpY3RNb2Rl
LCBwYXJzZVR5cGUpLCBwYXJzZVR5cGUgPT0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSA/ICJD
YW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGZ1bmN0aW9uIiA6ICJDYW5ub3QgcGFyc2UgYm9keSBv
ZiB0aGlzIGFycm93IGZ1bmN0aW9uIik7CisjZWxzZQorICAgIGZhaWxJZkZhbHNlKHBhcnNlU291
cmNlRWxlbWVudHMoYm9keUJ1aWxkZXIsIENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5j
dGlvblBhcnNlVHlwZSksICJDYW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGZ1bmN0aW9uIik7Cisj
ZW5kaWYKICAgICB1bnNpZ25lZCBlbmRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOwogICAgIHJldHVy
biBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uQm9keShzdGFydExvY2F0aW9uLCB0b2tlbkxvY2F0aW9u
KCksIHN0YXJ0Q29sdW1uLCBlbmRDb2x1bW4sIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlv
bk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBzdHJpY3RNb2RlKCksIGNvbnN0cnVjdG9yS2lu
ZCk7CiB9CkBAIC0xMzEwLDE1ICsxMzc1LDggQEAgc3RhdGljIGNvbnN0IGNoYXIqIHN0cmluZ0Zv
ckZ1bmN0aW9uTW9kZShGdW5jdGlvblBhcnNlTW9kZSBtb2RlKQogICAgIHJldHVybiBudWxscHRy
OwogfQogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgotdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVl
QnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMgcmVxdWlyZW1lbnRzLCBGdW5j
dGlvblBhcnNlTW9kZSBtb2RlLAotICAgIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENv
bnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQsIFN1cGVyQmluZGluZyBleHBlY3RlZFN1cGVy
QmluZGluZywgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJl
ZUJ1aWxkZXI+JiBpbmZvKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4gdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBpbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25Q
YXJhbXRlcnMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzIHJlcXVp
cmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUgbW9kZSwgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdT
Y29wZSwgQXV0b1BvcFNjb3BlUmVmJiBmdW5jdGlvblNjb3BlLCBQYXJzZXJGdW5jdGlvbkluZm88
VHJlZUJ1aWxkZXI+JiBpbmZvKQogewotICAgIEF1dG9Qb3BTY29wZVJlZiBmdW5jdGlvblNjb3Bl
KHRoaXMsIHB1c2hTY29wZSgpKTsKLSAgICBmdW5jdGlvblNjb3BlLT5zZXRJc0Z1bmN0aW9uKCk7
Ci0gICAgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zm
c2V0OwotICAgIGNvbnN0IElkZW50aWZpZXIqIGxhc3RGdW5jdGlvbk5hbWUgPSBtX2xhc3RGdW5j
dGlvbk5hbWU7Ci0gICAgbV9sYXN0RnVuY3Rpb25OYW1lID0gbnVsbHB0cjsKICAgICBpZiAobWF0
Y2goSURFTlQpKSB7CiAgICAgICAgIGluZm8ubmFtZSA9IG1fdG9rZW4ubV9kYXRhLmlkZW50Owog
ICAgICAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBpbmZvLm5hbWU7CkBAIC0xMzM3LDcgKzEzOTUs
NyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVU
b0tleXdvcmQoc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUiKTsKICAgICAgICAg
ZmFpbFdpdGhNZXNzYWdlKCJFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSAiLCBzdHJp
bmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIncyBwYXJhbWV0ZXIgbGlzdCIpOwogICAgIH0KLQor
ICAgIAogICAgIGlmIChtb2RlID09IEdldHRlck1vZGUpCiAgICAgICAgIGNvbnN1bWVPckZhaWwo
Q0xPU0VQQVJFTiwgImdldHRlciBmdW5jdGlvbnMgbXVzdCBoYXZlIG5vIHBhcmFtZXRlcnMiKTsK
ICAgICBlbHNlIGlmIChtb2RlID09IFNldHRlck1vZGUpIHsKQEAgLTEzNTQsMTYgKzE0MTIsODEg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgfQogICAgICAgICBjb25zdW1lT3JG
YWlsKENMT1NFUEFSRU4sICJFeHBlY3RlZCBhICcpJyBvciBhICcsJyBhZnRlciBhIHBhcmFtZXRl
ciBkZWNsYXJhdGlvbiIpOwogICAgIH0KKyAgICAKKyAgICByZXR1cm4gcGFyYW1ldGVyc1N0YXJ0
OworfQogCi0gICAgbWF0Y2hPckZhaWwoT1BFTkJSQUNFLCAiRXhwZWN0ZWQgYW4gb3BlbmluZyAn
eycgYXQgdGhlIHN0YXJ0IG9mIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJv
ZHkiKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5
cGVuYW1lIExleGVyVHlwZT4gdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBpbnQgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvblBhcmFtdGVycyhUcmVlQnVpbGRlciYgY29u
dGV4dCwgRnVuY3Rpb25QYXJzZU1vZGUgbW9kZSwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWls
ZGVyPiYgaW5mbykKK3sKKyAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0ID0gbV90b2tlbi5tX2xvY2F0
aW9uLnN0YXJ0T2Zmc2V0OworICAgIGlmICghbWF0Y2goSURFTlQpICYmICFtYXRjaChPUEVOUEFS
RU4pKSB7CisgICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5j
dGlvbk1vZGUobW9kZSksICIgbmFtZSIpOworICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVj
dGVkIGFuIGFycm93IGZ1bmN0aW9uIGlucHV0IHBhcmFtZXRlciIpOworICAgIH0gZWxzZSB7Cisg
ICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgICAgICBjb25zdW1lKE9QRU5Q
QVJFTik7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGlmICghbWF0Y2goQ0xPU0VQQVJFTikp
IHsKKyAgICAgICAgICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBwYXJzZUZvcm1hbFBhcmFtZXRl
cnMoY29udGV4dCk7CisgICAgICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJz
LCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25N
b2RlKG1vZGUpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgY29u
c3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiRXhwZWN0ZWQgYSAnKScgb3IgYSAnLCcgYWZ0ZXIgYSBw
YXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGF1
dG8gcGFyYW1ldGVyID0gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oY29udGV4dCwgRGVjb25z
dHJ1Y3RUb1BhcmFtZXRlcnMpOworICAgICAgICAgICAgZmFpbElmRmFsc2UocGFyYW1ldGVyLCAi
Q2Fubm90IHBhcnNlIHBhcmFtZXRlciBwYXR0ZXJuIik7CisgICAgICAgICAgICBpbmZvLnBhcmFt
ZXRlcnMgPSBjb250ZXh0LmNyZWF0ZUZvcm1hbFBhcmFtZXRlckxpc3QocGFyYW1ldGVyKTsKKyAg
ICAgICAgICAgIGZhaWxJZkZhbHNlKGluZm8ucGFyYW1ldGVycywgIkNhbm5vdCBwYXJzZSBwYXJh
bWV0ZXJzIGZvciB0aGlzICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7CisgICAgICAg
IH0KKyAgICB9CisgICAgCisgICAgcmV0dXJuIHBhcmFtZXRlcnNTdGFydDsKK30KKyNlbmRpZgog
Ci0gICAgLy8gQnl0ZWNvZGVHZW5lcmF0b3IgZW1pdHMgY29kZSB0byB0aHJvdyBUeXBlRXJyb3Ig
d2hlbiBhIGNsYXNzIGNvbnN0cnVjdG9yIGlzICJjYWxsImVkLgotICAgIC8vIFNldCBDb25zdHJ1
Y3RvcktpbmQgdG8gTm9uZSBmb3Igbm9uLWNvbnN0cnVjdG9yIG1ldGhvZHMgb2YgY2xhc3Nlcy4K
LSAgICBpZiAobV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kICE9IENvbnN0cnVjdG9yS2luZDo6Tm9u
ZSkgewotICAgICAgICBjb25zdHJ1Y3RvcktpbmQgPSBtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQ7
Ci0gICAgICAgIGV4cGVjdGVkU3VwZXJCaW5kaW5nID0gbV9kZWZhdWx0Q29uc3RydWN0b3JLaW5k
ID09IENvbnN0cnVjdG9yS2luZDo6RGVyaXZlZCA/IFN1cGVyQmluZGluZzo6TmVlZGVkIDogU3Vw
ZXJCaW5kaW5nOjpOb3ROZWVkZWQ7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1
bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMgcmVx
dWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLCBib29sIG5hbWVJc0luQ29udGFpbmlu
Z1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kLCBTdXBlckJpbmRpbmcgZXhw
ZWN0ZWRTdXBlckJpbmRpbmcsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rp
b25JbmZvPFRyZWVCdWlsZGVyPiYgaW5mbywgRnVuY3Rpb25QYXJzZVR5cGUgcGFyc2VUeXBlKQor
eworICAgIEF1dG9Qb3BTY29wZVJlZiBmdW5jdGlvblNjb3BlKHRoaXMsIHB1c2hTY29wZSgpKTsK
KyAgICBmdW5jdGlvblNjb3BlLT5zZXRJc0Z1bmN0aW9uKCk7CisgICAgaW50IGZ1bmN0aW9uTmFt
ZVN0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OworICAgIGNvbnN0IElkZW50
aWZpZXIqIGxhc3RGdW5jdGlvbk5hbWUgPSBtX2xhc3RGdW5jdGlvbk5hbWU7CisgICAgbV9sYXN0
RnVuY3Rpb25OYW1lID0gbnVsbHB0cjsKKyAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0OworICAgIGJv
b2wgaXNDbGFzc0NvbnN0cnVjdG9yOworICAgIAorICAgIHN3aXRjaCAocGFyc2VUeXBlKSB7Cisg
ICAgY2FzZSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlOiB7CisgICAgICAgIHBhcmFtZXRlcnNT
dGFydCA9IHBhcnNlRnVuY3Rpb25QYXJhbXRlcnMoY29udGV4dCwgcmVxdWlyZW1lbnRzLCBtb2Rl
LCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgZnVuY3Rpb25TY29wZSwgaW5mbyk7CisgICAgICAg
ICAgICAKKyAgICAgICAgbWF0Y2hPckZhaWwoT1BFTkJSQUNFLCAiRXhwZWN0ZWQgYW4gb3Blbmlu
ZyAneycgYXQgdGhlIHN0YXJ0IG9mIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAi
IGJvZHkiKTsKKyAgICAgICAgCisgICAgICAgIC8vIEJ5dGVjb2RlR2VuZXJhdG9yIGVtaXRzIGNv
ZGUgdG8gdGhyb3cgVHlwZUVycm9yIHdoZW4gYSBjbGFzcyBjb25zdHJ1Y3RvciBpcyAiY2FsbCJl
ZC4KKyAgICAgICAgLy8gU2V0IENvbnN0cnVjdG9yS2luZCB0byBOb25lIGZvciBub24tY29uc3Ry
dWN0b3IgbWV0aG9kcyBvZiBjbGFzc2VzLgorICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSBt
b2RlID09IE1ldGhvZE1vZGUgJiYgaW5mby5uYW1lICYmICppbmZvLm5hbWUgPT0gbV92bS0+cHJv
cGVydHlOYW1lcy0+Y29uc3RydWN0b3I7CisgICAgICAgIGlmIChtX2RlZmF1bHRDb25zdHJ1Y3Rv
cktpbmQgIT0gQ29uc3RydWN0b3JLaW5kOjpOb25lKSB7CisgICAgICAgICAgICBjb25zdHJ1Y3Rv
cktpbmQgPSBtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQ7CisgICAgICAgICAgICBleHBlY3RlZFN1
cGVyQmluZGluZyA9IG1fZGVmYXVsdENvbnN0cnVjdG9yS2luZCA9PSBDb25zdHJ1Y3RvcktpbmQ6
OkRlcml2ZWQgPyBTdXBlckJpbmRpbmc6Ok5lZWRlZCA6IFN1cGVyQmluZGluZzo6Tm90TmVlZGVk
OworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSBjb25z
dHJ1Y3RvcktpbmQgIT0gQ29uc3RydWN0b3JLaW5kOjpOb25lOworICAgICAgICBicmVhazsKKyAg
ICB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIEFycm93
RnVuY3Rpb25QYXJzZVR5cGU6IHsKKyAgICAgICAgcGFyYW1ldGVyc1N0YXJ0ID0gcGFyc2VBcnJv
d0Z1bmN0aW9uUGFyYW10ZXJzKGNvbnRleHQsIG1vZGUsIGluZm8pOworICAgICAgICAKKyAgICAg
ICAgbWF0Y2hPckZhaWwoQVJST1dGVU5DVElPTiwgIkV4cGVjdGVkIGEgJz0+JyBhZnRlciBhcnJv
dyBmdW5jdGlvbiBwYXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsKKyAgICAgICAgaXNDbGFzc0NvbnN0
cnVjdG9yID0gZmFsc2U7CisgICAgICAgIAorICAgICAgICBpbmZvLmFycm93RnVuY3Rpb25PZmZz
ZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CisgICAgICAgIGJyZWFrOworICAgIH0KKyNlbmRp
ZgogICAgIH0KLSAgICBib29sIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IGNvbnN0cnVjdG9yS2luZCAh
PSBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmU7CisgICAgCisgICAgY29uc3RydWN0b3JLaW5kID0gaXND
bGFzc0NvbnN0cnVjdG9yID8gY29uc3RydWN0b3JLaW5kIDogQ29uc3RydWN0b3JLaW5kOjpOb25l
OwogCiAgICAgaW5mby5vcGVuQnJhY2VPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CiAg
ICAgaW5mby5ib2R5U3RhcnRMaW5lID0gdG9rZW5MaW5lKCk7CkBAIC0xMzk2LDggKzE1MTksMTUg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgZmFpbElmRmFsc2UocG9wU2NvcGUo
ZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQYXJz
ZXIgZXJyb3IiKTsKICAgICAgICAgCiAgICAgICAgIGluZm8uY2xvc2VCcmFjZU9mZnNldCA9IGNh
Y2hlZEluZm8tPmNsb3NlQnJhY2VPZmZzZXQ7Ci0KLSAgICAgICAgbV90b2tlbiA9IGNhY2hlZElu
Zm8tPmNsb3NlQnJhY2VUb2tlbigpOworICAgICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgICAgICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJz
ZVR5cGUpCisgICAgICAgICAgICBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPSBjYWNoZWRJbmZvLT5p
c0JvZHlBcnJvd0V4cHJlc3Npb24gPyAgQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uIDogQXJy
b3dGdW5jdGlvbkJvZHlCbG9jazsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgaW5mby5mdW5j
dGlvbkJvZHlUeXBlID0gU3RhbmRhcmRGdW5jdGlvbkJvZHlCbG9jazsKKyNlbmRpZgorICAgICAg
ICBtX3Rva2VuID0gY2FjaGVkSW5mby0+ZW5kRnVuY3Rpb25Ub2tlbigpOworICAgICAgICAKICAg
ICAgICAgaWYgKGVuZENvbHVtbklzT25TdGFydExpbmUpCiAgICAgICAgICAgICBtX3Rva2VuLm1f
bG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVTdGFydE9mZnNldDsKIApAQCAt
MTQwNiwxMyArMTUzNiw0MyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogCiAgICAgICAgIGNv
bnRleHQuc2V0RW5kT2Zmc2V0KGluZm8uYm9keSwgbV9sZXhlci0+Y3VycmVudE9mZnNldCgpKTsK
ICAgICAgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAg
aWYgKHBhcnNlVHlwZSAhPSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlIHx8IGluZm8uZnVuY3Rpb25C
b2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrKQorICAgICAgICAgICAgbmV4dCgpOwor
I2Vsc2UKICAgICAgICAgbmV4dCgpOworI2VuZGlmCiAgICAgICAgIGluZm8uYm9keUVuZExpbmUg
PSBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmU7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAg
IH0KKyAgICAKICAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBsYXN0RnVuY3Rpb25OYW1lOwogICAg
IFBhcnNlclN0YXRlIG9sZFN0YXRlID0gc2F2ZVN0YXRlKCk7Ci0gICAgaW5mby5ib2R5ID0gcGFy
c2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFt
ZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCk7CisgICAgCisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBlID09IEFycm93
RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVQb2ludCA9IGNyZWF0
ZVNhdmVQb2ludCgpOworICAgICAgICBuZXh0KCk7CisgICAgICAgIC8vIENoZWNrIGlmIGFycm93
IGJvZHkgc3RhcnQgd2l0aCB7LiBJZiBpdCB0cnVlIGl0IG1lYW4gdGhhdCBhcnJvdyBmdW5jdGlv
biBpcyBGYXQgYXJyb3cgZnVuY3Rpb24KKyAgICAgICAgLy8gYW5kIHdlIG5lZWQgdXNlIGNvbW1v
biBhcHByb2FjaCB0byBwYXJzZSBmdW5jdGlvbiBib2R5CisgICAgICAgIGluZm8uZnVuY3Rpb25C
b2R5VHlwZSA9IG1hdGNoKE9QRU5CUkFDRSkgPyBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrIDogQXJy
b3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOworICAgIAorICAgICAgICBpZiAoaW5mby5mdW5jdGlv
bkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHsKKyAgICAgICAgICAgIGluZm8u
b3BlbkJyYWNlT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgICAgICAgICAgaW5m
by5ib2R5U3RhcnRMaW5lID0gdG9rZW5MaW5lKCk7CisgICAgICAgICAgICBpbmZvLmJvZHlTdGFy
dENvbHVtbiA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldCAtIG1fdG9rZW4ubV9kYXRhLmxpbmVTdGFy
dE9mZnNldDsKKyAgICAgICAgCisgICAgICAgICAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9u
Qm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBh
cmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBl
KTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBv
aW50KTsKKyAgICAgICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQs
IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0
LCBjb25zdHJ1Y3RvcktpbmQsIEFycm93RnVuY3Rpb25QYXJzZVR5cGUpOworICAgICAgICB9Cisg
ICAgfSBlbHNlCisgICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQs
IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0
LCBjb25zdHJ1Y3RvcktpbmQsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOworI2Vsc2UKKyAg
ICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRT
dGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5k
LCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNlbmRpZgorICAgIAogICAgIHJlc3RvcmVT
dGF0ZShvbGRTdGF0ZSk7CiAgICAgZmFpbElmRmFsc2UoaW5mby5ib2R5LCAiQ2Fubm90IHBhcnNl
IHRoZSBib2R5IG9mIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKICAgICBj
b250ZXh0LnNldEVuZE9mZnNldChpbmZvLmJvZHksIG1fbGV4ZXItPmN1cnJlbnRPZmZzZXQoKSk7
CkBAIC0xNDQzLDE4ICsxNjAzLDMyIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9v
bCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAg
IHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmUgPSBjbG9zZUJyYWNlTGluZTsKICAgICAgICAgcGFy
YW1ldGVycy5jbG9zZUJyYWNlT2Zmc2V0ID0gaW5mby5jbG9zZUJyYWNlT2Zmc2V0OwogICAgICAg
ICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNlTGluZVN0
YXJ0T2Zmc2V0OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAg
IGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICAgICAg
cGFyYW1ldGVycy5pc0JvZHlBcnJvd0V4cHJlc3Npb24gPSBpbmZvLmZ1bmN0aW9uQm9keVR5cGUg
PT0gQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOworICAgICAgICAgICAgcGFyYW1ldGVycy50
b2tlblR5cGUgPSBtX3Rva2VuLm1fdHlwZTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIGZ1
bmN0aW9uU2NvcGUtPmZpbGxQYXJhbWV0ZXJzRm9yU291cmNlUHJvdmlkZXJDYWNoZShwYXJhbWV0
ZXJzKTsKICAgICAgICAgbmV3SW5mbyA9IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjpjcmVhdGUo
cGFyYW1ldGVycyk7Ci0KICAgICB9CiAgICAgCiAgICAgZmFpbElmRmFsc2UocG9wU2NvcGUoZnVu
Y3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQYXJzZXIg
ZXJyb3IiKTsKKyAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
IGlmICgocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUgJiYgaW5mby5mdW5jdGlv
bkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHx8IHBhcnNlVHlwZSAhPSBBcnJv
d0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0UsICJF
eHBlY3RlZCBhIGNsb3NpbmcgJ30nIGFmdGVyIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1v
ZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgbmV4dCgpOworICAgIH0gZWxzZQorICAgICAgICBmYWls
SWZGYWxzZShpc0VuZE9mQXJyb3dGdW5jdGlvbigpLCAiRXhwZWN0ZWQgdGhlIGNsb3NpbmcgJzsn
ICcsJyAnXScgJyknICd9JyBhZnRlciBhcnJvdyBmdW5jdGlvbiIpOworI2Vsc2UKICAgICBtYXRj
aE9yRmFpbChDTE9TRUJSQUNFLCAiRXhwZWN0ZWQgYSBjbG9zaW5nICd9JyBhZnRlciBhICIsIHN0
cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7CisgICAgbmV4dCgpOworI2VuZGlm
CiAgICAgCiAgICAgaWYgKG5ld0luZm8pCiAgICAgICAgIG1fZnVuY3Rpb25DYWNoZS0+YWRkKGlu
Zm8ub3BlbkJyYWNlT2Zmc2V0LCBXVEY6Om1vdmUobmV3SW5mbykpOwogICAgIAotICAgIG5leHQo
KTsKICAgICBpbmZvLmJvZHlFbmRMaW5lID0gbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lOwog
ICAgIHJldHVybiB0cnVlOwogfQpAQCAtMTQ2OCw3ICsxNjQyLDcgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0
aW9uRGVjbGEKICAgICBuZXh0KCk7CiAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVy
PiBpbmZvOwogICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5j
dGlvbk5lZWRzTmFtZSwgRnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUs
IFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLAotICAgICAgICBmdW5jdGlvbktleXdvcmRTdGFydCwg
aW5mbykpLCAiQ2Fubm90IHBhcnNlIHRoaXMgZnVuY3Rpb24iKTsKKyAgICAgICAgZnVuY3Rpb25L
ZXl3b3JkU3RhcnQsIGluZm8sIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBw
YXJzZSB0aGlzIGZ1bmN0aW9uIik7CiAgICAgZmFpbElmRmFsc2UoaW5mby5uYW1lLCAiRnVuY3Rp
b24gc3RhdGVtZW50cyBtdXN0IGhhdmUgYSBuYW1lIik7CiAgICAgZmFpbElmRmFsc2VJZlN0cmlj
dChkZWNsYXJlVmFyaWFibGUoaW5mby5uYW1lKSwgIkNhbm5vdCBkZWNsYXJlIGEgZnVuY3Rpb24g
bmFtZWQgJyIsIGluZm8ubmFtZS0+aW1wbCgpLCAiJyBpbiBzdHJpY3QgbW9kZSIpOwogICAgIHJl
dHVybiBjb250ZXh0LmNyZWF0ZUZ1bmNEZWNsU3RhdGVtZW50KGxvY2F0aW9uLCBpbmZvKTsKQEAg
LTE1ODQsOCArMTc1OCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUNsYXNz
RXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VDbGFzcyhUCiAgICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IG1ldGhvZElu
Zm87CiAgICAgICAgICAgICBib29sIGlzQ29uc3RydWN0b3IgPSAhaXNTdGF0aWNNZXRob2QgJiYg
KmlkZW50ID09IHByb3BlcnR5TmFtZXMuY29uc3RydWN0b3I7Ci0gICAgICAgICAgICBmYWlsSWZG
YWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywg
aXNTdGF0aWNNZXRob2QgPyBGdW5jdGlvbk1vZGUgOiBNZXRob2RNb2RlLCBmYWxzZSwKLSAgICAg
ICAgICAgICAgICBpc0NvbnN0cnVjdG9yID8gY29uc3RydWN0b3JLaW5kIDogQ29uc3RydWN0b3JL
aW5kOjpOb25lLCBTdXBlckJpbmRpbmc6Ok5lZWRlZCwgbWV0aG9kU3RhcnQsIG1ldGhvZEluZm8p
KSwgIkNhbm5vdCBwYXJzZSB0aGlzIG1ldGhvZCIpOworICAgICAgICAgICAgZmFpbElmRmFsc2Uo
KHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIGlzU3Rh
dGljTWV0aG9kID8gRnVuY3Rpb25Nb2RlIDogTWV0aG9kTW9kZSwgZmFsc2UsIGlzQ29uc3RydWN0
b3IgPyBjb25zdHJ1Y3RvcktpbmQgOiBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGlu
Zzo6TmVlZGVkLCBtZXRob2RTdGFydCwgbWV0aG9kSW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNl
VHlwZSkpLCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9kIik7CiAgICAgICAgICAgICBmYWlsSWZG
YWxzZShpZGVudCAmJiBkZWNsYXJlVmFyaWFibGUoaWRlbnQpLCAiQ2Fubm90IGRlY2xhcmUgYSBt
ZXRob2QgbmFtZWQgJyIsIG1ldGhvZEluZm8ubmFtZS0+aW1wbCgpLCAiJyIpOwogICAgICAgICAg
ICAgbWV0aG9kSW5mby5uYW1lID0gaXNDb25zdHJ1Y3RvciA/IGNsYXNzTmFtZSA6IGlkZW50Owog
CkBAIC0xNzk3LDYgKzE5NzAsMTggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
U3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlmU3RhdGVtZW50KFQKICAgICByZXR1
cm4gY29udGV4dC5jcmVhdGVJZlN0YXRlbWVudChpZkxvY2F0aW9uLCBjb25kaXRpb24sIHRydWVC
bG9jaywgc3RhdGVtZW50U3RhY2subGFzdCgpLCBzdGFydCwgZW5kKTsKIH0KIAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBl
PgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4
dCkKK3sKKyAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7CisgICAgVHJlZUV4cHJlc3Npb24gbm9k
ZSA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24oY29udGV4dCk7CisgICAgZmFpbElmRmFsc2Uo
bm9kZSwgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9uIik7CisgICAgY29udGV4dC5zZXRFbmRPZmZz
ZXQobm9kZSwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5vZmZzZXQpOworICAgIHJldHVybiBub2Rl
OworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7CkBAIC0xODQ0LDYgKzIwMjksNDEg
QEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KICAgICAgICAgfQogICAgICAgICByZXN0b3JlU2F2
ZVBvaW50KHNhdmVQb2ludCk7CiAgICAgfQorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNh
dmVQb2ludCgpOworICAgIGJvb2wgYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCA9IGZhbHNlOworICAg
IGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgaWYgKG1h
dGNoKENMT1NFUEFSRU4pKSB7CisgICAgICAgICAgICBuZXh0KCk7CisKKyAgICAgICAgICAgIGlm
IChtYXRjaChBUlJPV0ZVTkNUSU9OKSkKKyAgICAgICAgICAgICAgICBhcnJvd0Z1bmN0aW9uRW1w
dHlMaXN0ID0gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICghYXJyb3dGdW5jdGlvbkVt
cHR5TGlzdCkKKyAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Q
b2ludCk7CisgICAgfQorCisgICAgVHJlZUV4cHJlc3Npb24gbGhzOworICAgIGlmICghYXJyb3dG
dW5jdGlvbkVtcHR5TGlzdCkgeworICAgICAgICBsaHMgPSBwYXJzZUNvbmRpdGlvbmFsRXhwcmVz
c2lvbihjb250ZXh0KTsKKyAgICAgICAgZmFpbElmRmFsc2UobGhzLCAiQ2FuGW5vdCBwYXJzZSBl
eHByZXNzaW9uIik7CisgICAgICAgIGlmIChpbml0aWFsTm9uTEhTQ291bnQgIT0gbV9ub25MSFND
b3VudCkgeworICAgICAgICAgICAgaWYgKG1fdG9rZW4ubV90eXBlID49IEVRVUFMICYmIG1fdG9r
ZW4ubV90eXBlIDw9IE9SRVFVQUwpCisgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsKCJMZWZ0
IGhhbmQgc2lkZSBvZiBvcGVyYXRvciAnIiwgZ2V0VG9rZW4oKSwgIicgbXVzdCBiZSBhIHJlZmVy
ZW5jZSIpOworCisgICAgICAgICAgICByZXR1cm4gbGhzOworICAgICAgICB9CisgICAgfQorCisg
ICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJT04pKSB7CisgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQo
c2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAgICAgIGxocyA9IHBhcnNlQXJyb3dGdW5jdGlv
bldyYXBwZXIoY29udGV4dCk7CisgICAgICAgIHJldHVybiBsaHM7CisgICAgfQorI2Vsc2UKICAg
ICBUcmVlRXhwcmVzc2lvbiBsaHMgPSBwYXJzZUNvbmRpdGlvbmFsRXhwcmVzc2lvbihjb250ZXh0
KTsKICAgICBmYWlsSWZGYWxzZShsaHMsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lvbiIpOwogICAg
IGlmIChpbml0aWFsTm9uTEhTQ291bnQgIT0gbV9ub25MSFNDb3VudCkgewpAQCAtMTg1Miw3ICsy
MDcyLDggQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KIAogICAgICAgICByZXR1cm4gbGhzOwog
ICAgIH0KLSAgICAKKyNlbmRpZgorCiAgICAgaW50IGFzc2lnbm1lbnRTdGFjayA9IDA7CiAgICAg
T3BlcmF0b3Igb3A7CiAgICAgYm9vbCBoYWRBc3NpZ25tZW50ID0gZmFsc2U7CkBAIC0yMDg0LDgg
KzIzMDUsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5TWV0aAogICAgIEpTVG9rZW5Mb2NhdGlvbiBt
ZXRob2RMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwogICAgIHVuc2lnbmVkIG1ldGhvZFN0YXJ0
ID0gdG9rZW5TdGFydCgpOwogICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gbWV0
aG9kSW5mbzsKLSAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVu
Y3Rpb25Ob1JlcXVpcmVtZW50cywgTWV0aG9kTW9kZSwgZmFsc2UsIENvbnN0cnVjdG9yS2luZDo6
Tm9uZSwgU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQsCi0gICAgICAgIG1ldGhvZFN0YXJ0LCBtZXRo
b2RJbmZvKSksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2QiKTsKKyAgICBmYWlsSWZGYWxzZSgo
cGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgTWV0aG9k
TW9kZSwgZmFsc2UsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJCaW5kaW5nOjpOb3ROZWVk
ZWQsIG1ldGhvZFN0YXJ0LCBtZXRob2RJbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSks
ICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2QiKTsKICAgICBtZXRob2RJbmZvLm5hbWUgPSBtZXRo
b2ROYW1lOwogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uRXhwcihtZXRob2RMb2Nh
dGlvbiwgbWV0aG9kSW5mbyk7CiB9CkBAIC0yMTEyLDExICsyMzMyLDExIEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUdl
dHRlclNldHRlcihUCiAgICAgaWYgKHR5cGUgPT0gUHJvcGVydHlOb2RlOjpHZXR0ZXIpIHsKICAg
ICAgICAgZmFpbElmRmFsc2UobWF0Y2goT1BFTlBBUkVOKSwgIkV4cGVjdGVkIGEgcGFyYW1ldGVy
IGxpc3QgZm9yIGdldHRlciBkZWZpbml0aW9uIik7CiAgICAgICAgIGZhaWxJZkZhbHNlKChwYXJz
ZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBHZXR0ZXJNb2Rl
LCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBzdXBlckJpbmRpbmcsCi0gICAgICAgICAgICBnZXR0
ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBpbmZvKSksICJDYW5ub3QgcGFyc2UgZ2V0dGVyIGRlZmlu
aXRpb24iKTsKKyAgICAgICAgICAgIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIGluZm8sIFN0
YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSBnZXR0ZXIgZGVmaW5pdGlv
biIpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGZhaWxJZkZhbHNlKG1hdGNoKE9QRU5QQVJFTiks
ICJFeHBlY3RlZCBhIHBhcmFtZXRlciBsaXN0IGZvciBzZXR0ZXIgZGVmaW5pdGlvbiIpOwogICAg
ICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1Jl
cXVpcmVtZW50cywgU2V0dGVyTW9kZSwgZmFsc2UsIGNvbnN0cnVjdG9yS2luZCwgc3VwZXJCaW5k
aW5nLAotICAgICAgICAgICAgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgaW5mbykpLCAiQ2Fu
bm90IHBhcnNlIHNldHRlciBkZWZpbml0aW9uIik7CisgICAgICAgICAgICBnZXR0ZXJPclNldHRl
clN0YXJ0T2Zmc2V0LCBpbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3Qg
cGFyc2Ugc2V0dGVyIGRlZmluaXRpb24iKTsKICAgICB9CiAgICAgaWYgKHN0cmluZ1Byb3BlcnR5
TmFtZSkKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlR2V0dGVyT3JTZXR0ZXJQcm9wZXJ0
eShsb2NhdGlvbiwgdHlwZSwgc3RyaWN0LCBzdHJpbmdQcm9wZXJ0eU5hbWUsIGluZm8sIHN1cGVy
QmluZGluZyk7CkBAIC0yMzY1LDggKzI1ODUsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHByZQog
ICAgICAgICBuZXh0KCk7CiAgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4g
aW5mbzsKICAgICAgICAgaW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVu
dGlmaWVyOwotICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwg
RnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgRnVuY3Rpb25Nb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JL
aW5kOjpOb25lLCBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwKLSAgICAgICAgICAgIGZ1bmN0aW9u
S2V5d29yZFN0YXJ0LCBpbmZvKSksICJDYW5ub3QgcGFyc2UgZnVuY3Rpb24gZXhwcmVzc2lvbiIp
OworICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rp
b25Ob1JlcXVpcmVtZW50cywgRnVuY3Rpb25Nb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpO
b25lLCBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8s
IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSBmdW5jdGlvbiBleHBy
ZXNzaW9uIik7CiAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uRXhwcihsb2Nh
dGlvbiwgaW5mbyk7CiAgICAgfQogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQpAQCAtMjM5
NSw2ICsyNjE0LDIzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Np
b24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAgICAgIHJldHVybiBj
b250ZXh0LnRoaXNFeHByKGxvY2F0aW9uLCBtX3RoaXNURFpNb2RlKTsKICAgICB9CiAgICAgY2Fz
ZSBJREVOVDogeworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAg
IFNhdmVQb2ludCBzYXZlQXJyb3dGdW5jdGlvblBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7Cisg
ICAgICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAg
ICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CisgICAg
ICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgICAgICBu
ZXh0KCk7CisKKyAgICAgICAgaWYgKCFtYXRjaChBUlJPV0ZVTkNUSU9OKSkgeworICAgICAgICAg
ICAgY3VycmVudFNjb3BlKCktPnVzZVZhcmlhYmxlKGlkZW50LCBtX3ZtLT5wcm9wZXJ0eU5hbWVz
LT5ldmFsID09ICppZGVudCk7CisgICAgICAgICAgICBtX2xhc3RJZGVudGlmaWVyID0gaWRlbnQ7
CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVSZXNvbHZlKGxvY2F0aW9uLCBpZGVu
dCwgc3RhcnQpOworICAgICAgICB9CisKKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJy
b3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAgVHJlZUV4cHJlc3Npb24gbGhzID0gcGFyc2VBcnJv
d0Z1bmN0aW9uV3JhcHBlcihjb250ZXh0KTsKKyAgICAgICAgcmV0dXJuIGxoczsKKyNlbHNlCiAg
ICAgICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CiAgICAg
ICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAg
ICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwpAQCAtMjQwMiw2
ICsyNjM4LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAgY3VycmVudFNjb3Bl
KCktPnVzZVZhcmlhYmxlKGlkZW50LCBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09ICppZGVu
dCk7CiAgICAgICAgIG1fbGFzdElkZW50aWZpZXIgPSBpZGVudDsKICAgICAgICAgcmV0dXJuIGNv
bnRleHQuY3JlYXRlUmVzb2x2ZShsb2NhdGlvbiwgaWRlbnQsIHN0YXJ0KTsKKyNlbmRpZgogICAg
IH0KICAgICBjYXNlIFNUUklORzogewogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9
IG1fdG9rZW4ubV9kYXRhLmlkZW50OwpAQCAtMjU5NCw2ICsyODMxLDMzIEBAIGVuZE1lbWJlckV4
cHJlc3Npb246CiAgICAgcmV0dXJuIGJhc2U7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
QXJyb3dGdW5jdGlvbldyYXBwZXIoVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAgVHJlZUV4
cHJlc3Npb24gYmFzZSA9IDA7CisgICAgSlNUZXh0UG9zaXRpb24gZXhwcmVzc2lvblN0YXJ0ID0g
dG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgaW50IG5ld0NvdW50ID0gMDsKKyAgICBKU1Rva2Vu
TG9jYXRpb24gbG9jYXRpb247CisKKyAgICBpZiAobWF0Y2goSURFTlQpIHx8IG1hdGNoKE9QRU5Q
QVJFTikpIHsKKyAgICAgICAgdW5zaWduZWQgZnVuY3Rpb25LZXl3b3JkU3RhcnQgPSB0b2tlblN0
YXJ0KCk7CisgICAgICAgIGxvY2F0aW9uID0gdG9rZW5Mb2NhdGlvbigpOworICAgICAgICBQYXJz
ZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87CisgICAgICAgIGluZm8ubmFtZSA9ICZt
X3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllcjsKKyAgICAgICAgZmFpbElmRmFsc2Uo
KHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEZ1bmN0
aW9uTW9kZSwgdHJ1ZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBTdXBlckJpbmRpbmc6Ok5vdE5l
ZWRlZCwKKyAgICAgICAgICAgIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvLCBBcnJvd0Z1bmN0
aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2UgYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIp
OworICAgICAgICBiYXNlID0gY29udGV4dC5jcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihsb2NhdGlv
biwgaW5mbyk7CisgICAgfSBlbHNlCisgICAgICAgIGJhc2UgPSBwYXJzZVByaW1hcnlFeHByZXNz
aW9uKGNvbnRleHQpOworCisgICAgZmFpbElmRmFsc2UoYmFzZSwgIkNhbm5vdCBwYXJzZSBiYXNl
IGV4cHJlc3Npb24iKTsKKyAgICB3aGlsZSAobmV3Q291bnQtLSkKKyAgICAgICAgYmFzZSA9IGNv
bnRleHQuY3JlYXRlTmV3RXhwcihsb2NhdGlvbiwgYmFzZSwgZXhwcmVzc2lvblN0YXJ0LCBsYXN0
VG9rZW5FbmRQb3NpdGlvbigpKTsKKyAgICByZXR1cm4gYmFzZTsKK30KKyNlbmRpZgorCiBzdGF0
aWMgY29uc3QgY2hhciogb3BlcmF0b3JTdHJpbmcoYm9vbCBwcmVmaXgsIHVuc2lnbmVkIHRvaykK
IHsKICAgICBzd2l0Y2ggKHRvaykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgK
aW5kZXggM2RmZjhlNDliMzA1N2M0OTkxNDQ1ZjZmYzRlZDQyYzlmMzQ2NWFjOC4uMjc0MWM4YWI5
MDMxN2Y0OWQ1ZWQ1OGQ2NDljZjk2MzNiODc2NmYwZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlci5oCkBAIC04MCw2ICs4MCwxMSBAQCBjbGFzcyBTb3VyY2VDb2RlOwogQ09NUElM
RV9BU1NFUlQoTGFzdFVudGFnZ2VkVG9rZW4gPCA2NCwgTGVzc1RoYW42NFVudGFnZ2VkVG9rZW5z
KTsKIAogZW51bSBTb3VyY2VFbGVtZW50c01vZGUgeyBDaGVja0ZvclN0cmljdE1vZGUsIERvbnRD
aGVja0ZvclN0cmljdE1vZGUgfTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorZW51bSBGdW5jdGlvblBhcnNlVHlwZSB7IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUsIEFy
cm93RnVuY3Rpb25QYXJzZVR5cGUgfTsKKyNlbHNlCitlbnVtIEZ1bmN0aW9uUGFyc2VUeXBlIHsg
U3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZX07CisjZW5kaWYKIGVudW0gRnVuY3Rpb25SZXF1aXJl
bWVudHMgeyBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlvbk5lZWRzTmFtZSB9OwogZW51
bSBGdW5jdGlvblBhcnNlTW9kZSB7CiAgICAgRnVuY3Rpb25Nb2RlLApAQCAtNjE4LDYgKzYyMywx
MyBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gbV90b2tlbi5tX3R5cGUgPT0gSURFTlQgJiYg
Km1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPm9mOwogICAgIH0K
ICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEFMV0FZU19J
TkxJTkUgYm9vbCBpc0VuZE9mQXJyb3dGdW5jdGlvbigpCisgICAgeworICAgICAgICByZXR1cm4g
bWF0Y2goU0VNSUNPTE9OKSB8fCBtYXRjaChDT01NQSkgfHwgbWF0Y2goQ0xPU0VQQVJFTikgfHwg
bWF0Y2goQ0xPU0VCUkFDRSkgfHwgbWF0Y2goQ0xPU0VCUkFDS0VUKTsKKyAgICB9CisjZW5kaWYK
KyAgICAKICAgICBBTFdBWVNfSU5MSU5FIHVuc2lnbmVkIHRva2VuU3RhcnQoKQogICAgIHsKICAg
ICAgICAgcmV0dXJuIG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKQEAgLTcyMSw5ICs3
MzMsOSBAQCBwcml2YXRlOgogICAgICAgICB9CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAg
fQotICAgIAotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1l
bnRzIHBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUp
OwotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0
YXRlbWVudChUcmVlQnVpbGRlciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2ln
bmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMCk7CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVC
dWlsZGVyJiwgU291cmNlRWxlbWVudHNNb2RlLCBGdW5jdGlvblBhcnNlVHlwZSk7CisgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3RhdGVtZW50KFRy
ZWVCdWlsZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVj
dGl2ZUxpdGVyYWxMZW5ndGggPSAwLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlw
ZSA9IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lO
VEFYKQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJz
ZUNsYXNzRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImKTsKICNlbmRpZgpAQCAtNzYyLDIwICs3NzQs
MzQgQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9w
ZXJ0eSBwYXJzZVByb3BlcnR5KFRyZWVCdWlsZGVyJiwgYm9vbCBzdHJpY3QpOwogICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VQcm9wZXJ0eU1ldGhv
ZChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciogbWV0aG9kTmFtZSk7CiAg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgcGFyc2VHZXR0ZXJT
ZXR0ZXIoVHJlZUJ1aWxkZXImLCBib29sIHN0cmljdCwgUHJvcGVydHlOb2RlOjpUeXBlLCB1bnNp
Z25lZCBnZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBDb25zdHJ1Y3RvcktpbmQgPSBDb25zdHJ1
Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZyA9IFN1cGVyQmluZGluZzo6Tm90TmVlZGVkKTsK
LSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZ1bmN0
aW9uQm9keSBwYXJzZUZ1bmN0aW9uQm9keShUcmVlQnVpbGRlciYsIGludCBmdW5jdGlvbktleXdv
cmRTdGFydCwgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25z
dHJ1Y3RvcktpbmQpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lO
TElORSBUcmVlRnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVyJiwgaW50
IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIGludCBwYXJhbWV0
ZXJzU3RhcnQsIENvbnN0cnVjdG9yS2luZCwgRnVuY3Rpb25QYXJzZVR5cGUpOwogICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRm9ybWFsUGFyYW1ldGVy
TGlzdCBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoVHJlZUJ1aWxkZXImKTsKICAgICBlbnVtIFZhckRl
Y2xhcmF0aW9uTGlzdENvbnRleHQgeyBGb3JMb29wQ29udGV4dCwgVmFyRGVjbGFyYXRpb25Db250
ZXh0IH07CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBw
YXJzZVZhckRlY2xhcmF0aW9uTGlzdChUcmVlQnVpbGRlciYsIGludCYgZGVjbGFyYXRpb25zLCBU
cmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuJiBsYXN0UGF0dGVybiwgVHJlZUV4cHJlc3Npb24mIGxh
c3RJbml0aWFsaXplciwgSlNUZXh0UG9zaXRpb24mIGlkZW50U3RhcnQsIEpTVGV4dFBvc2l0aW9u
JiBpbml0U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0RW5kLCBWYXJEZWNsYXJhdGlvbkxpc3RD
b250ZXh0KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBU
cmVlQ29uc3REZWNsTGlzdCBwYXJzZUNvbnN0RGVjbGFyYXRpb25MaXN0KFRyZWVCdWlsZGVyJik7
CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVz
c2lvbihUcmVlQnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZVN0YXRlbWVudCBwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImKTsKKyAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlQXJyb3dG
dW5jdGlvbldyYXBwZXIoVHJlZUJ1aWxkZXImKTsKKyNlbmRpZgorCiAgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBj
cmVhdGVCaW5kaW5nUGF0dGVybihUcmVlQnVpbGRlciYsIERlY29uc3RydWN0aW9uS2luZCwgY29u
c3QgSWRlbnRpZmllciYsIGludCBkZXB0aCwgSlNUb2tlbik7CiAgICAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBwYXJz
ZURlY29uc3RydWN0aW9uUGF0dGVybihUcmVlQnVpbGRlciYsIERlY29uc3RydWN0aW9uS2luZCwg
aW50IGRlcHRoID0gMCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9J
TkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiB0cnlQYXJzZURlY29uc3RydWN0aW9uUGF0
dGVybkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKIAotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gTkVWRVJfSU5MSU5FIGJvb2wgcGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXIm
LCBGdW5jdGlvblJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUsIGJvb2wgbmFtZUlzSW5D
b250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCwgU3VwZXJCaW5kaW5nLCBpbnQgZnVuY3Rp
b25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mKTsKKyAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBib29sIHBhcnNlRnVuY3Rp
b25JbmZvKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VN
b2RlLCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQsIFN1cGVy
QmluZGluZywgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJl
ZUJ1aWxkZXI+JiwgRnVuY3Rpb25QYXJzZVR5cGUpOworICAgIAorICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIGludCBwYXJzZUZ1bmN0aW9uUGFyYW10ZXJzKFRy
ZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlLCBib29s
LCBBdXRvUG9wU2NvcGVSZWYmLCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+Jik7CisK
ICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlQ2xhc3NFeHByZXNzaW9uIHBhcnNlQ2xhc3MoVHJlZUJ1
aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgUGFyc2VyQ2xhc3NJbmZvPFRyZWVCdWlsZGVy
PiYpOwogI2VuZGlmCisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIGludCBwYXJzZUFycm93
RnVuY3Rpb25QYXJhbXRlcnMoVHJlZUJ1aWxkZXImLCBGdW5jdGlvblBhcnNlTW9kZSwgUGFyc2Vy
RnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYpOworI2VuZGlmCisKICNpZiBFTkFCTEUoRVM2X1RF
TVBMQVRFX0xJVEVSQUxfU1lOVEFYKQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
TkVWRVJfSU5MSU5FIHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpUZW1wbGF0ZVN0cmluZyBwYXJzZVRl
bXBsYXRlU3RyaW5nKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBib29sIGlzVGVtcGxhdGVIZWFkLCBi
b29sJiBlbGVtZW50SXNUYWlsKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5F
VkVSX0lOTElORSB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6VGVtcGxhdGVMaXRlcmFsIHBhcnNlVGVt
cGxhdGVMaXRlcmFsKFRyZWVCdWlsZGVyJik7CkBAIC03OTMsNiArODE5LDE0IEBAIHByaXZhdGU6
CiAgICAgICAgIHJldHVybiBhbGxvd0F1dG9tYXRpY1NlbWljb2xvbigpOwogICAgIH0KICAgICAK
KworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdm9pZCBzZXRFbmRP
ZlN0YXRlbWVudCgpCisgICAgeworICAgICAgICBtX2xleGVyLT5zZXRUb2tlblBvc2l0aW9uKCZt
X3Rva2VuKTsKKyAgICB9CisjZW5kaWYKKwogICAgIGJvb2wgY2FuUmVjdXJzZSgpCiAgICAgewog
ICAgICAgICByZXR1cm4gbV92bS0+aXNTYWZlVG9SZWN1cnNlKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaAppbmRleCA2YjczNjI4MmUy
ZDJhODFiYzYzZGMyZjNjMGU1YWU4Yzg1OGNkMWY4Li4wY2RlMGM2N2E5ZGUwZWRmMzQxNDRlMzI3
OTFlNWU5MGI0YTIxNTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1BhcnNlckZ1bmN0aW9uSW5mby5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyRnVuY3Rpb25JbmZvLmgKQEAgLTI4LDYgKzI4LDEwIEBACiAKIG5hbWVzcGFjZSBKU0Mg
ewogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK2VudW0gRnVuY3Rpb25C
b2R5VHlwZSB7IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiwgQXJyb3dGdW5jdGlvbkJvZHlC
bG9jaywgU3RhbmRhcmRGdW5jdGlvbkJvZHlCbG9jayB9OworI2VuZGlmCisKIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4KIHN0cnVjdCBQYXJzZXJGdW5jdGlvbkluZm8gewogICAgIGNvbnN0
IElkZW50aWZpZXIqIG5hbWUgPSAwOwpAQCAtMzgsNiArNDIsMTEgQEAgc3RydWN0IFBhcnNlckZ1
bmN0aW9uSW5mbyB7CiAgICAgaW50IGJvZHlTdGFydExpbmUgPSAwOwogICAgIGludCBib2R5RW5k
TGluZSA9IDA7CiAgICAgdW5zaWduZWQgYm9keVN0YXJ0Q29sdW1uID0gMDsKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHVuc2lnbmVkIGFycm93RnVuY3Rpb25PZmZz
ZXQgPSAwOworICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uID0gZmFsc2U7CisgICAgRnVuY3Rpb25C
b2R5VHlwZSBmdW5jdGlvbkJvZHlUeXBlID0gU3RhbmRhcmRGdW5jdGlvbkJvZHlCbG9jazsKKyNl
bmRpZgogfTsKIAogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKaW5kZXggMDI2ZTRmODBmNDM3ZDhiZmU0YTYx
OWMzMGQxMWRjOWZjNjFlMjY0NS4uZTkxNTRjYWYwNTNjNTM4MWI1ZjA5ODE2ZGJhMDU1OGE1NDM0
YmYzNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tl
bnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCkBA
IC03NSw2ICs3NSw5IEBAIGVudW0gSlNUb2tlblR5cGUgewogICAgIEZJTkFMTFksCiAgICAgREVC
VUdHRVIsCiAgICAgRUxTRSwKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIEFSUk9XRlVOQ1RJT04sCisjZW5kaWYKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkK
ICAgICBDTEFTU1RPS0VOLAogICAgIEVYVEVORFMsCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvU291cmNlQ29kZS5oCmluZGV4IDczZDIzZGI4MmFmMjVlYTQ2YzBmODk3ODVjZTQyNGJiNjBl
YjYxYTcuLjUwZDUyNjM5Nzk0M2UzODFkMzgwZWM0M2Q4MmQ1YjYzZjdmMDhkYzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCkBAIC0xMDUsNiArMTA1LDkgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIAogICAgICAgICBTb3VyY2VDb2RlIHN1YkV4cHJlc3Np
b24odW5zaWduZWQgb3BlbkJyYWNlLCB1bnNpZ25lZCBjbG9zZUJyYWNlLCBpbnQgZmlyc3RMaW5l
LCBpbnQgc3RhcnRDb2x1bW4pOwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICAgICAgU291cmNlQ29kZSBzdWJBcnJvd0V4cHJlc3Npb24odW5zaWduZWQgc3RhcnRB
cnJvd0Z1bmN0aW9uLCB1bnNpZ25lZCBlbmRBcnJvd0Z1bmN0aW9uLCBpbnQgZmlyc3RMaW5lLCBp
bnQgc3RhcnRDb2x1bW4pOworI2VuZGlmCiAgICAgcHJpdmF0ZToKICAgICAgICAgUmVmUHRyPFNv
dXJjZVByb3ZpZGVyPiBtX3Byb3ZpZGVyOwogICAgICAgICBpbnQgbV9zdGFydENoYXI7CkBAIC0x
MTgsNiArMTIxLDE3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4gU291cmNlQ29k
ZShTdHJpbmdTb3VyY2VQcm92aWRlcjo6Y3JlYXRlKHNvdXJjZSwgdXJsLCBzdGFydFBvc2l0aW9u
KSwgc3RhcnRQb3NpdGlvbi5tX2xpbmUub25lQmFzZWRJbnQoKSwgc3RhcnRQb3NpdGlvbi5tX2Nv
bHVtbi5vbmVCYXNlZEludCgpKTsKICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIGlubGluZSBTb3VyY2VDb2RlIFNvdXJjZUNvZGU6OnN1YkFycm93RXhw
cmVzc2lvbih1bnNpZ25lZCBzdGFydEFycm93RnVuY3Rpb24sIHVuc2lnbmVkIGVuZEFycm93RnVu
Y3Rpb24sIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbikKKyAgICB7CisgICAgICAgIEFT
U0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFycm93RnVuY3Rpb25dID09ICc9JyAmJiBw
cm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFycm93RnVuY3Rpb24gKyAxXSA9PSAnPicpOworICAg
ICAgICAvLyBGaXhtZTogVXNlIGJldHRlciBhcHByb2FjaCB0byBjaGVjayBzeW1ib2wKKyAgICAg
ICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAn
LCcgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICc7JyB8
fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJyknIHx8IHBy
b3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnXScgfHwgcHJvdmlk
ZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICd9Jyk7CisgICAgICAgIHN0
YXJ0Q29sdW1uICs9IDE7IC8vIENvbnZlcnQgdG8gYmFzZSAxLgorICAgICAgICByZXR1cm4gU291
cmNlQ29kZShwcm92aWRlcigpLCBzdGFydEFycm93RnVuY3Rpb24sIGVuZEFycm93RnVuY3Rpb24s
IGZpcnN0TGluZSwgc3RhcnRDb2x1bW4pOworICAgIH0KKyNlbmRpZgorCiAgICAgaW5saW5lIFNv
dXJjZUNvZGUgU291cmNlQ29kZTo6c3ViRXhwcmVzc2lvbih1bnNpZ25lZCBvcGVuQnJhY2UsIHVu
c2lnbmVkIGNsb3NlQnJhY2UsIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbikKICAgICB7
CiAgICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtvcGVuQnJhY2VdID09ICd7Jyk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVy
Q2FjaGVJdGVtLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVy
Q2FjaGVJdGVtLmgKaW5kZXggNjM1Mzc5ZTNmNDQ1NjY4YzUyYjg3MmY3NjE2ZGNiNTkyMWE4Mjk0
NC4uZjQyOGRiNTBhOGRhN2E3YWI0NjgyNGFiMzgwODNkYjA1MmQ3Mzc3NiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0u
aApAQCAtNDAsNiArNDAsMTAgQEAgc3RydWN0IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtQ3JlYXRp
b25QYXJhbWV0ZXJzIHsKICAgICBib29sIG5lZWRzRnVsbEFjdGl2YXRpb247CiAgICAgYm9vbCB1
c2VzRXZhbDsKICAgICBib29sIHN0cmljdE1vZGU7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICBib29sIGlzQm9keUFycm93RXhwcmVzc2lvbjsKKyAgICBKU1Rva2Vu
VHlwZSB0b2tlblR5cGU7CisjZW5kaWYKICAgICBWZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiB1
c2VkVmFyaWFibGVzOwogICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+IHdyaXR0ZW5WYXJp
YWJsZXM7CiB9OwpAQCAtNTUsMTAgKzU5LDE0IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgc3RkOjp1
bmlxdWVfcHRyPFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtPiBjcmVhdGUoY29uc3QgU291cmNlUHJv
dmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMmKTsKICAgICB+U291cmNlUHJvdmlkZXJD
YWNoZUl0ZW0oKTsKIAotICAgIEpTVG9rZW4gY2xvc2VCcmFjZVRva2VuKCkgY29uc3QgCisgICAg
SlNUb2tlbiBlbmRGdW5jdGlvblRva2VuKCkgY29uc3QgCiAgICAgewogICAgICAgICBKU1Rva2Vu
IHRva2VuOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIHRv
a2VuLm1fdHlwZSA9IGlzQm9keUFycm93RXhwcmVzc2lvbiA/IHRva2VuVHlwZSA6IENMT1NFQlJB
Q0U7CisjZWxzZQogICAgICAgICB0b2tlbi5tX3R5cGUgPSBDTE9TRUJSQUNFOworI2VuZGlmCiAg
ICAgICAgIHRva2VuLm1fZGF0YS5vZmZzZXQgPSBjbG9zZUJyYWNlT2Zmc2V0OwogICAgICAgICB0
b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0ID0gY2xvc2VCcmFjZU9mZnNldDsKICAgICAgICAg
dG9rZW4ubV9sb2NhdGlvbi5lbmRPZmZzZXQgPSBjbG9zZUJyYWNlT2Zmc2V0ICsgMTsKQEAgLTgy
LDYgKzkwLDExIEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCB1c2VkVmFyaWFibGVzQ291bnQ7CiAg
ICAgdW5zaWduZWQgd3JpdHRlblZhcmlhYmxlc0NvdW50OwogCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBib29sIGlzQm9keUFycm93RXhwcmVzc2lvbjsKKyAgICBK
U1Rva2VuVHlwZSB0b2tlblR5cGU7CisjZW5kaWYKKwogICAgIFN0cmluZ0ltcGwqKiB1c2VkVmFy
aWFibGVzKCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxTdHJpbmdJbXBsKio+KG1fdmFyaWFi
bGVzKTsgfQogICAgIFN0cmluZ0ltcGwqKiB3cml0dGVuVmFyaWFibGVzKCkgY29uc3QgeyByZXR1
cm4gY29uc3RfY2FzdDxTdHJpbmdJbXBsKio+KCZtX3ZhcmlhYmxlc1t1c2VkVmFyaWFibGVzQ291
bnRdKTsgfQogCkBAIC0xMTUsNiArMTI4LDEwIEBAIGlubGluZSBTb3VyY2VQcm92aWRlckNhY2hl
SXRlbTo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0oY29uc3QgU291cmNlUHJvdmlkZXJDYWNoCiAg
ICAgLCBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0KHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmVT
dGFydE9mZnNldCkKICAgICAsIHVzZWRWYXJpYWJsZXNDb3VudChwYXJhbWV0ZXJzLnVzZWRWYXJp
YWJsZXMuc2l6ZSgpKQogICAgICwgd3JpdHRlblZhcmlhYmxlc0NvdW50KHBhcmFtZXRlcnMud3Jp
dHRlblZhcmlhYmxlcy5zaXplKCkpCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICAsIGlzQm9keUFycm93RXhwcmVzc2lvbihwYXJhbWV0ZXJzLmlzQm9keUFycm93RXhw
cmVzc2lvbikKKyAgICAsIHRva2VuVHlwZShwYXJhbWV0ZXJzLnRva2VuVHlwZSkKKyNlbmRpZgog
ewogICAgIHVuc2lnbmVkIGogPSAwOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB1c2Vk
VmFyaWFibGVzQ291bnQ7ICsraSwgKytqKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvU3ludGF4Q2hlY2tlci5oCmluZGV4IDU1NGU1ZGY2NGE3MjFmNDQ2MmQwZDg5YWIwMjNhZmRk
NzUzYzU1YmUuLmY2MzVlZDFiYjM3ZTg4NTM2NDU0NzRjMDgyM2Y0YjYxMzgwYTRkMzMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCkBAIC0xNzcsNiAr
MTc3LDEwIEBAIHB1YmxpYzoKICNlbmRpZgogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUZ1bmN0
aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88
U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KICAgICBpbnQgY3JlYXRl
RnVuY3Rpb25Cb2R5KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IEpTVG9rZW5Mb2NhdGlv
biYsIGludCwgaW50LCBib29sLCBpbnQsIGludCwgaW50LCBDb25zdHJ1Y3RvcktpbmQpIHsgcmV0
dXJuIEZ1bmN0aW9uQm9keVJlc3VsdDsgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIoY29uc3Qg
SlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+
JikgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9CisjZW5kaWYgCisgICAgdm9pZCBzZXRGdW5jdGlv
bk5hbWVTdGFydChpbnQsIGludCkgeyB9CiAgICAgaW50IGNyZWF0ZUFyZ3VtZW50cygpIHsgcmV0
dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQogICAgIGludCBjcmVhdGVBcmd1bWVudHMoaW50KSB7IHJl
dHVybiBBcmd1bWVudHNSZXN1bHQ7IH0KICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVTcHJlYWRF
eHByZXNzaW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIEV4cHJlc3Npb25UeXBlLCBpbnQsIGlu
dCwgaW50KSB7IHJldHVybiBTcHJlYWRFeHByOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMDI3MTk2MDM5N2Fi
N2Q5OTUyNDhiMTJmMjk1YWI3ZTNhZTZkMzM0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcApAQCAtMCwwICsxLDExOSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorI2luY2x1
ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorCisjaW5jbHVkZSAiRXJyb3IuaCIKKyNpbmNsdWRlICJF
eGNlcHRpb25IZWxwZXJzLmgiCisjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgorI2luY2x1ZGUgIkpT
Q0pTVmFsdWUuaCIKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNGdW5jdGlv
bklubGluZXMuaCIKKyNpbmNsdWRlICJKU09iamVjdC5oIgorI2luY2x1ZGUgIlByb3BlcnR5U2xv
dC5oIgorI2luY2x1ZGUgIlZNLmgiCisKK25hbWVzcGFjZSBKU0MgeworICAgIAorY29uc3QgQ2xh
c3NJbmZvIEpTQXJyb3dGdW5jdGlvbjo6c19pbmZvID0geyAiQXJyb3dGdW5jdGlvbiIsICZCYXNl
OjpzX2luZm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNBcnJvd0Z1bmN0aW9uKSB9OworCitF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycm93RnVuY3Rpb25DYWxsKEV4ZWNTdGF0ZSog
ZXhlYykKK3sKKyAgICBKU0Fycm93RnVuY3Rpb24qIGFycm93RnVuY3Rpb24gPSBqc0Nhc3Q8SlNB
cnJvd0Z1bmN0aW9uKj4oZXhlYy0+Y2FsbGVlKCkpOworICAgICAgICAKKyAgICBNYXJrZWRBcmd1
bWVudEJ1ZmZlciBhcmdzOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBleGVjLT5hcmd1
bWVudENvdW50KCk7ICsraSkKKyAgICAgICAgYXJncy5hcHBlbmQoZXhlYy0+dW5jaGVja2VkQXJn
dW1lbnQoaSkpOworICAgIAorICAgIEpTT2JqZWN0KiBmdW5jdGlvbiA9IGFycm93RnVuY3Rpb24t
PmFycm93RnVuY3Rpb24oKTsKKyAgICBDYWxsRGF0YSBjYWxsRGF0YTsKKyAgICBDYWxsVHlwZSBj
YWxsVHlwZSA9IGdldENhbGxEYXRhKGZ1bmN0aW9uLCBjYWxsRGF0YSk7CisgICAgQVNTRVJUKGNh
bGxUeXBlICE9IENhbGxUeXBlTm9uZSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShjYWxs
KGV4ZWMsIGZ1bmN0aW9uLCBjYWxsVHlwZSwgY2FsbERhdGEsIGFycm93RnVuY3Rpb24tPmJvdW5k
VGhpcygpLCBhcmdzKSk7Cit9CisgICAgCit2b2lkIEpTQXJyb3dGdW5jdGlvbjo6ZGVzdHJveShK
U0NlbGwqIGNlbGwpCit7CisgICAgc3RhdGljX2Nhc3Q8SlNBcnJvd0Z1bmN0aW9uKj4oY2VsbCkt
PkpTQXJyb3dGdW5jdGlvbjo6fkpTQXJyb3dGdW5jdGlvbigpOworfQorICAgIAorSlNBcnJvd0Z1
bmN0aW9uOjpKU0Fycm93RnVuY3Rpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNPYmplY3QqIGFycm93RnVuY3Rpb24sIEpTVmFs
dWUgYm91bmRUaGlzKQorICAgIDogQmFzZSh2bSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCisg
ICAgLCBtX2JvdW5kVGhpcyh2bSwgdGhpcywgYm91bmRUaGlzKQorICAgICwgbV9hcnJvd0Z1bmN0
aW9uKHZtLCB0aGlzLCBhcnJvd0Z1bmN0aW9uKQoreworfQorCitKU0Fycm93RnVuY3Rpb24qIEpT
QXJyb3dGdW5jdGlvbjo6Y3JlYXRlV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2lu
dChWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBhcnJvd0Z1
bmN0aW9uLCBKU1ZhbHVlIGJvdW5kVGhpcykKK3sKKyAgICBBU1NFUlQoanNDYXN0PEpTRnVuY3Rp
b24qPihhcnJvd0Z1bmN0aW9uKS0+anNFeGVjdXRhYmxlKCktPnNpbmdsZXRvbkZ1bmN0aW9uKCkt
Pmhhc0JlZW5JbnZhbGlkYXRlZCgpKTsKKyAgICByZXR1cm4gY3JlYXRlKHZtLCBnbG9iYWxPYmpl
Y3QsIGFycm93RnVuY3Rpb24sIGJvdW5kVGhpcyk7Cit9CisKK0pTQXJyb3dGdW5jdGlvbiogSlNB
cnJvd0Z1bmN0aW9uOjpjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBKU09iamVjdCogYXJyb3dGdW5jdGlvbiwgSlNWYWx1ZSBib3VuZFRoaXMpCit7CisgICAgTmF0
aXZlRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9IHZtLmdldEhvc3RGdW5jdGlvbihhcnJvd0Z1bmN0
aW9uQ2FsbCwgY2FsbEhvc3RGdW5jdGlvbkFzQ29uc3RydWN0b3IpOworICAgIEpTQXJyb3dGdW5j
dGlvbiogZnVuY3Rpb24gPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxKU0Fycm93RnVuY3Rp
b24+KHZtLmhlYXApKSBKU0Fycm93RnVuY3Rpb24odm0sIGdsb2JhbE9iamVjdCwgZ2xvYmFsT2Jq
ZWN0LT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCksIGFycm93RnVuY3Rpb24sIGJvdW5kVGhpcyk7
CisgICAgZnVuY3Rpb24tPmZpbmlzaENyZWF0aW9uKHZtLCBleGVjdXRhYmxlLCAwLCAiIik7CisK
KyAgICByZXR1cm4gZnVuY3Rpb247Cit9CisgICAgCit2b2lkIEpTQXJyb3dGdW5jdGlvbjo6Zmlu
aXNoQ3JlYXRpb24oVk0mIHZtLCBOYXRpdmVFeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBpbnQgbGVu
Z3RoLCBjb25zdCBTdHJpbmcmIG5hbWUpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0s
IGV4ZWN1dGFibGUsIGxlbmd0aCwgbmFtZSk7CisgICAgQVNTRVJUKGluaGVyaXRzKGluZm8oKSkp
OworICAgIAorICAgIC8vIFByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiBpcyB1bmRlZmluZWQK
KyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwganNVbmRlZmlu
ZWQoKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgRG9udEVudW0pOworICAgIHB1dERpcmVjdCh2
bSwgdm0ucHJvcGVydHlOYW1lcy0+dGhpc0lkZW50aWZpZXIsIGJvdW5kVGhpcygpLCBEb250RGVs
ZXRlIHwgUmVhZE9ubHkgfCBEb250RW51bSk7Cit9CisKKyAgICAKK3ZvaWQgSlNBcnJvd0Z1bmN0
aW9uOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCit7
CisgICAgSlNBcnJvd0Z1bmN0aW9uKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTQXJyb3dGdW5jdGlv
bio+KGNlbGwpOworICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVjdCwgaW5m
bygpKTsKKyAgICBCYXNlOjp2aXNpdENoaWxkcmVuKHRoaXNPYmplY3QsIHZpc2l0b3IpOworCisg
ICAgLy8gRml4bWU6IG1fYXJyb3dGdW5jdGlvbiBhbHJlYWR5IHJlbW92ZWQgYnkgR0MsIGJlY2F1
c2UgaXQgY3JlYXRlZCBpbiBiZWZvcmUgcnVuIEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlIG1ldGhv
ZAorICAgIC8vIEl0IGlzIHBvc3NpYmxlIGNhc2Ugd2hlbiBtX2Fycm93RnVuY3Rpb24gaXMgcmVt
b3ZlZCBidXQgd3JhcHBlciBvYmplY3QgaXMgc3RpbGwgZXhpc3RzCisgICAgLy8gIHZpc2l0b3Iu
YXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2Fycm93RnVuY3Rpb24pOworICAgIAorICAgIHZpc2l0b3Iu
YXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2JvdW5kVGhpcyk7Cit9CisgICAgCitDb25zdHJ1Y3RUeXBl
IEpTQXJyb3dGdW5jdGlvbjo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwqIGNlbGwsIENvbnN0cnVj
dERhdGEmIGNvbnN0cnVjdERhdGEpCit7CisgICAgSlNGdW5jdGlvbiogdGhpc09iamVjdCA9IGpz
Q2FzdDxKU0Z1bmN0aW9uKj4oY2VsbCk7CisgICAgICAgIAorICAgIGNvbnN0cnVjdERhdGEuanMu
ZnVuY3Rpb25FeGVjdXRhYmxlID0gdGhpc09iamVjdC0+anNFeGVjdXRhYmxlKCk7CisgICAgY29u
c3RydWN0RGF0YS5qcy5zY29wZSA9IHRoaXNPYmplY3QtPnNjb3BlKCk7CisgICAgcmV0dXJuIENv
bnN0cnVjdFR5cGVOb25lOworfQorfSAvLyBuYW1lc3BhY2UgSlNDCisjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZTk3YmMxYTVmYmRmNmY4YjdhYzc2ZGZlZjAwOWU5ZWVlZjc5ZjhmMwotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oCkBAIC0w
LDAgKzEsODggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaWZuZGVmIEpTQXJyb3dGdW5jdGlvbl9oCisjZGVmaW5lIEpTQXJyb3dGdW5jdGlvbl9oCisK
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorCisjaW5jbHVkZSAiSlNGdW5j
dGlvbi5oIgorI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCisKK25hbWVzcGFjZSBKU0Mgewor
CitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycm93RnVuY3Rpb25DYWxsKEV4ZWNTdGF0
ZSopOworICAgIAorY2xhc3MgSlNBcnJvd0Z1bmN0aW9uIDogcHVibGljIEpTRnVuY3Rpb24gewor
cHVibGljOgorICAgIHR5cGVkZWYgSlNGdW5jdGlvbiBCYXNlOworCisgICAgc3RhdGljIEpTQXJy
b3dGdW5jdGlvbiogY3JlYXRlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCosIEpTVmFs
dWUpOworICAgIHN0YXRpYyBKU0Fycm93RnVuY3Rpb24qIGNyZWF0ZVdpdGhJbnZhbGlkYXRlZFJl
YWxsb2NhdGlvbldhdGNocG9pbnQoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgSlNW
YWx1ZSk7CisKKyAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2VsbCopOworICAgIAorICAgIHN0
YXRpYyBzaXplX3QgYWxsb2NhdGlvblNpemUoc2l6ZV90IGlubGluZUNhcGFjaXR5KQorICAgIHsK
KyAgICAgICAgQVNTRVJUX1VOVVNFRChpbmxpbmVDYXBhY2l0eSwgIWlubGluZUNhcGFjaXR5KTsK
KyAgICAgICAgcmV0dXJuIHNpemVvZihKU0Fycm93RnVuY3Rpb24pOworICAgIH0KKyAgICAKKyAg
ICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkKKyAgICB7CisgICAgICAgIEFTU0VS
VChnbG9iYWxPYmplY3QpOworICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGds
b2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhKU0Z1bmN0aW9uVHlwZSwgU3RydWN0dXJl
RmxhZ3MpLCBpbmZvKCkpOworICAgIH0KKyAgICAgICAgCisgICAgc3RhdGljIENvbnN0cnVjdFR5
cGUgZ2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJik7CisKKyAgICBKU09i
amVjdCogYXJyb3dGdW5jdGlvbigpIHsgcmV0dXJuIG1fYXJyb3dGdW5jdGlvbi5nZXQoKTsgfQor
ICAgIEpTVmFsdWUgYm91bmRUaGlzKCkgeyByZXR1cm4gbV9ib3VuZFRoaXMuZ2V0KCk7IH0KKyAg
ICAKKyAgICBERUNMQVJFX0lORk87CisgICAgCisgICAgc3RhdGljIGlubGluZSBwdHJkaWZmX3Qg
b2Zmc2V0T2ZUaGlzVmFsdWUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIE9CSkVDVF9PRkZTRVRP
RihKU0Fycm93RnVuY3Rpb24sIG1fYm91bmRUaGlzKTsKKyAgICB9CisgICAgCisgICAgY29uc3Qg
c3RhdGljIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzSGFzSW5zdGFuY2UgfCBC
YXNlOjpTdHJ1Y3R1cmVGbGFnczsKKworcHJvdGVjdGVkOgorICAgIHN0YXRpYyB2b2lkIHZpc2l0
Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKKyAgICAgICAgCitwcml2YXRlOgorICAg
IEpTQXJyb3dGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgSlNPYmpl
Y3QqLCBKU1ZhbHVlKTsKKworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBOYXRpdmVFeGVj
dXRhYmxlKiwgaW50LCBjb25zdCBTdHJpbmcmKTsKKyAgICAKKyAgICBXcml0ZUJhcnJpZXI8VW5r
bm93bj4gbV9ib3VuZFRoaXM7CisgICAgV3JpdGVCYXJyaWVyPEpTT2JqZWN0PiBtX2Fycm93RnVu
Y3Rpb247Cit9OworICAgIAorfSAvLyBuYW1lc3BhY2UgSlNDCisjZW5kaWYgLy8gRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYCisKKyNlbmRpZiAvLyBKU0Fycm93RnVuY3Rpb25faApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCmluZGV4IDg2ZGZmMTJmOGZhNDdhMzFh
MzNhNjg5NDA4N2NlNWMxMTVjZTUyYjYuLjhmMWQ2MTZhZTBiZDcxNGY0M2NiOGY4OGFhZDViNzRm
MmVjYjc3ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVu
Y3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgK
QEAgLTEzNyw2ICsxMzcsOSBAQCBwdWJsaWM6CiBwcm90ZWN0ZWQ6CiAgICAgSlNfRVhQT1JUX1BS
SVZBVEUgSlNGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKik7CiAgICAg
SlNGdW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSosIEpTU2NvcGUqKTsKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEpTRnVuY3Rpb24oVk0mLCBGdW5jdGlv
bkV4ZWN1dGFibGUqLCBKU1Njb3BlKiwgU3RydWN0dXJlKik7CisjZW5kaWYKIAogICAgIHZvaWQg
ZmluaXNoQ3JlYXRpb24oVk0mLCBOYXRpdmVFeGVjdXRhYmxlKiwgaW50IGxlbmd0aCwgY29uc3Qg
U3RyaW5nJiBuYW1lKTsKICAgICB1c2luZyBCYXNlOjpmaW5pc2hDcmVhdGlvbjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oCmluZGV4IGY2
YzZkNThlYzZlNWMxMTY0Y2IyN2ZhNWU0MTYxOGI0YjgxNDJmMDIuLjM4NTA2Y2MxOTlhMDA4ZmY4
Zjk2YWRmNjg5YmUzNjA5ODc1ZGVhNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaApAQCAtNDUsNiArNDUsMTUgQEAgaW5saW5lIEpT
RnVuY3Rpb246OkpTRnVuY3Rpb24oVk0mIHZtLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFi
bGUsIEpTU2NvcGUqIHMKIHsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCitpbmxpbmUgSlNGdW5jdGlvbjo6SlNGdW5jdGlvbihWTSYgdm0sIEZ1bmN0aW9uRXhlY3V0
YWJsZSogZXhlY3V0YWJsZSwgSlNTY29wZSogc2NvcGUsIFN0cnVjdHVyZSogc3RydWN0dXJlKQor
ICAgIDogQmFzZSh2bSwgc2NvcGUsIHN0cnVjdHVyZSkKKyAgICAsIG1fZXhlY3V0YWJsZSh2bSwg
dGhpcywgZXhlY3V0YWJsZSkKKyAgICAsIG1fcmFyZURhdGEoKQoreworfQorI2VuZGlmCisgICAg
CiBpbmxpbmUgRnVuY3Rpb25FeGVjdXRhYmxlKiBKU0Z1bmN0aW9uOjpqc0V4ZWN1dGFibGUoKSBj
b25zdAogewogICAgIEFTU0VSVCghaXNIb3N0RnVuY3Rpb25Ob25JbmxpbmUoKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggOWY4
NmU3MzFlOWQ5YzhjODBlZDY2NzY0NzE0OWRlMDViN2UzOGEyNS4uZDczYzAxOWI2MmU4NjExZjhm
ZDUzMDQ1OTUwOTkxMjY0ZWM4MzkzNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtNTgsNiArNTgsNyBAQAogI2luY2x1ZGUgIkpT
QXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXJQcm90b3R5
cGUuaCIKICNpbmNsdWRlICJKU0FycmF5SXRlcmF0b3IuaCIKKyNpbmNsdWRlICJKU0Fycm93RnVu
Y3Rpb24uaCIKICNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxp
bmVzLmgiCiAjaW5jbHVkZSAiSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgiCkBAIC0yMzQsNiArMjM1
LDkgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChWTSYgdm0pCiAgICAgZXhlYy0+c2V0Q2Fs
bGVlKG1fZ2xvYmFsQ2FsbGVlLmdldCgpKTsKIAogICAgIG1fZnVuY3Rpb25TdHJ1Y3R1cmUuc2V0
KHZtLCB0aGlzLCBKU0Z1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rp
b25Qcm90b3R5cGUuZ2V0KCkpKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgIG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpTQXJyb3dGdW5j
dGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgp
KSk7CisjZW5kaWYKICAgICBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBK
U0JvdW5kRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3Rv
dHlwZS5nZXQoKSkpOwogICAgIG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMs
IFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBtX2Z1bmN0aW9uU3RydWN0dXJl
LmdldCgpLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBE
b250RW51bSwgbV9mdW5jdGlvbk5hbWVPZmZzZXQpKTsKICAgICBtX2ludGVybmFsRnVuY3Rpb25T
dHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBJbnRlcm5hbEZ1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUo
dm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKQEAgLTc2Myw2ICs3NjcsOSBA
QCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZp
c2l0b3ImIHZpc2l0b3IpCiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fY2FsbGVl
U3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9mdW5jdGlvblN0
cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYm91bmRGdW5jdGlv
blN0cnVjdHVyZSk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2
aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKTsKKyNl
bmRpZgogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX25hbWVkRnVuY3Rpb25TdHJ1
Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX3N5bWJvbE9iamVjdFN0
cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fcmVnRXhwU3RydWN0
dXJlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
T2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5o
CmluZGV4IDdhY2MxZGQ5MzI3ZGNlMWRiM2M4MDA3MDExYzg0ZTc3Mzc2YWY1YTIuLmYxYTY1MDk3
YWI5OGY3YzAyZmU3ODdiMmRiYmE0MDUyYjY1MzIxNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtMjI5LDYgKzIyOSw5IEBAIHByb3Rl
Y3RlZDoKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2NhbGxlZVN0cnVjdHVyZTsKICAg
ICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2Z1bmN0aW9uU3RydWN0dXJlOwogICAgIFdyaXRl
QmFycmllcjxTdHJ1Y3R1cmU+IG1fYm91bmRGdW5jdGlvblN0cnVjdHVyZTsKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1f
YXJyb3dGdW5jdGlvblN0cnVjdHVyZTsKKyNlbmRpZgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1
cmU+IG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZTsKICAgICBQcm9wZXJ0eU9mZnNldCBtX2Z1bmN0
aW9uTmFtZU9mZnNldDsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3ByaXZhdGVOYW1l
U3RydWN0dXJlOwpAQCAtNDY3LDYgKzQ3MCw5IEBAIHB1YmxpYzoKICAgICBTdHJ1Y3R1cmUqIGNh
bGxlZVN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbGVlU3RydWN0dXJlLmdldCgpOyB9
CiAgICAgU3RydWN0dXJlKiBmdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fZnVu
Y3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUqIGJvdW5kRnVuY3Rpb25TdHJ1
Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0K
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFN0cnVjdHVyZSogYXJy
b3dGdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXJyb3dGdW5jdGlvblN0cnVj
dHVyZS5nZXQoKTsgfQorI2VuZGlmCiAgICAgU3RydWN0dXJlKiBuYW1lZEZ1bmN0aW9uU3RydWN0
dXJlKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CiAg
ICAgUHJvcGVydHlPZmZzZXQgZnVuY3Rpb25OYW1lT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9m
dW5jdGlvbk5hbWVPZmZzZXQ7IH0KICAgICBTdHJ1Y3R1cmUqIG51bWJlck9iamVjdFN0cnVjdHVy
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbnVtYmVyT2JqZWN0U3RydWN0dXJlLmdldCgpOyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
YXNwYXJhbXRlci0xLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJv
d2Z1bmN0aW9uLWFzcGFyYW10ZXItMS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MzYxYjhkYjAyMjgyNzk2ZDFi
YjA0ZjVkYmQ0MDE5YjcyODlmMmNjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzcGFyYW10ZXItMS5qcwpAQCAtMCww
ICsxLDggQEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1
bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4
cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQg
KyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordGVzdENhc2UoIiIg
KyBbMSwgMiwgMywgNF0ubWFwKHggPT4geCwgMzIpLCAiMSwyLDMsNCIsICJFcnJvcjogYXJyb3cg
ZnVuY3Rpb24gYXMgdGhlIHBhcmFtdGVycy4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3BhcmFtdGVyLTIuanMgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci0y
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjNmMjkzMmZjMTQ0ZDM2YzcwZjA2MWY4ZTY4ODg4M2U0NGFmY2ZkMTkK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tYXNwYXJhbXRlci0yLmpzCkBAIC0wLDAgKzEsMTUgQEAKKy8vIEluc3BpcmVk
IGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVj
dGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cg
bWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFj
dHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGYgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVyKSB7
IHJldHVybiBjbChwYXJhbXRlcik7IH07Cit2YXIgZjIgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVy
MSwgcGFyYW10ZXIyKSB7IHJldHVybiBjbChwYXJhbXRlcjEsIHBhcmFtdGVyMik7IH07CisKK3Jl
c3VsdCA9IGYoeD0+e3JldHVybiB4ICogMjU7fSwgMTIxKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjUq
MTIxICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24g
d2l0aCBib2R5IGFzIGJsb2NrOiBmKHggPT4ge3JldHVybiB4ICogMjU7fSwgMTIxKSIpOworCity
ZXN1bHQgPSBmMigoeCwgeSk9PntyZXR1cm4geCAqIHk7fSwgMTQsIDEyKTsKK3Rlc3RDYXNlKHJl
c3VsdCwgMTQqMTIgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6IGYoKHgsIHkpPT57cmV0dXJuIHggKiB5O30sIDE0
LCAxMjEpKSIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHktMS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTEuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZmQxZDQ3YTQ4MDc1ZWM1OThjNmJlMWUwN2Q3OGEzNTI2MzUzYTkxMgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1h
c3NvY2lhdGl2aXR5LTEuanMKQEAgLTAsMCArMSwxMyBAQAorLy8gSW5zcGlyZWQgYnkgbW96aWxs
YSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3Nh
Z2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsg
Ii4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIici
OworICB9Cit9OworCit2YXIgYWYxLCBhZjIsIGFmMzsKK2FmMSA9IGFmMiA9IGFmMyA9PiBhZjEg
PSBhZjIgPSBhZjM7Cit0ZXN0Q2FzZShhZjEsIGFmMiwgIkVycm9yOiB3cm9uZyBhc3NvY2lhdGl2
aXR5ICMxLiIpOworYWYxKDEzKTsKK3Rlc3RDYXNlKGFmMiwgMTMsICJFcnJvcjogd3JvbmcgYXNz
b2NpYXRpdml0eSAjMi4iKTsKK3Rlc3RDYXNlKGFmMSwgMTMsICJFcnJvcjogd3JvbmcgYXNzb2Np
YXRpdml0eSAjMy4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTIuanMgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0yLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjJlZGQ4MzljNmJjN2VkNmE0MGVmZmJiYzg3NTRlZDFiZmQ4MDZiNDMKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tYXNzb2NpYXRpdml0eS0yLmpzCkBAIC0wLDAgKzEsMTQgQEAKKy8vIEluc3BpcmVkIGJ5IG1v
emlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBt
ZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2Fn
ZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCAr
ICInIjsKKyAgfQorfTsKKwordmFyIHM9IiI7CitzICs9IHggPT4geC5uYW1lOworCisvLyBGaXgg
bWUuIFBvc3NpYmxlIHdlIGhhdmUgbm90IHVzZSB0aGUgSlNCb3VudEZ1bmN0aW9uIHdyYXBwZXIg
Zm9yIHRoZSBsZXhpY2FsCisvLyBiaW5kaW5nIG9mIHRoZSB0aGlzIGFuZCB1c2UgZGlyZWN0IGlu
amVjdGlvbiBvZiB0aGUgJ3RoaXMnIHZhbHVlCisvLyBpbnRvIGFycnJvdyBmdW5jdGlvbgorLy8g
dGVzdENhc2UocywgInggPT4geC5uYW1lIiAsICJFcnJvcjogd3JvbmcgdG9TdHJpbmcgY29udmVy
c2lvbi4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rl
c3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHkuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjdl
ZDE1M2NlZWJhNTI2MjI4ZWNhODIxMzA0NjlhOTI0NGIxNGMwNQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lh
dGl2aXR5LmpzCkBAIC0wLDAgKzEsMTAgQEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMK
K3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7Cisg
IGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVj
dGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQor
fTsKKwordmFyIGFmID0gYSA9PiBiID0+IGE7CisKK3Rlc3RDYXNlKGFmKCdBQkMnKSgnREVGJyks
ICdBQkMnLCAiRXJyb3I6IHdyb25nIG5lc3RlZCBhcnJvdyBmdW5jdGlvbnMuIik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxv
Y2stMS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1ibG9jay0xLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBjNTcxYmI3MmZjZmVmNTMwYzU5ZGI0Yjg2MGNhNGYw
YTk2YTQxMTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2stMS5qcwpAQCAtMCwwICsxLDExIEBACisvLyBJbnNw
aXJlZCBieSBtb3ppbGxhIHRlc3RzCit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBl
eHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRo
cm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIg
KyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBmID0gKCkgPT4ge307Cit0ZXN0Q2FzZSh0
eXBlb2YgZigpLCAndW5kZWZpbmVkJywgIkVycm9yOiB3cm9uZyBhcnJvdyBmdW5jdGlvbiBibG9j
ay4iKTsKK3ZhciBnID0gKCkgPT4gKHt9KTsKK3Rlc3RDYXNlKHR5cGVvZiBnKCksICdvYmplY3Qn
LCAiRXJyb3I6IHdyb25nIGFycm93IGZ1bmN0aW9uIGJsb2NrLiIpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJsb2NrLTIuanMg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2st
Mi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40N2VlMzUyY2YwMWQxMzZlMzAyOTIyNzM2YzVjODBlZjUzYzAzZjZl
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9h
cnJvd2Z1bmN0aW9uLWJsb2NrLTIuanMKQEAgLTAsMCArMSwxMCBAQAorLy8gSW5zcGlyZWQgYnkg
bW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQs
IG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNz
YWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFs
ICsgIiciOworICB9Cit9OworCit2YXIgYWYgPSBhID0+IHsgYSArIDE7IH07CisKK3Rlc3RDYXNl
KHR5cGVvZiBhZigwKSwgJ3VuZGVmaW5lZCcsICJFcnJvcjogd3JvbmcgYXJyb3cgZnVuY3Rpb24g
YmxvY2sgIzIuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tYm91bmQuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tYm91bmQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTczMjBmNGVjNzg4ZWEx
NDkwYWZjNzJlYzEyNTFlZTBhNmUxZjdiNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ib3VuZC5qcwpAQCAtMCwwICsx
LDE2IEBACit2YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwg
ZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0
aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICci
ICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgZCA9IHsKKyAgeCA6ICJiYXIiLAorICB5
IDogZnVuY3Rpb24oKSB7IHJldHVybiB6ID0+IHRoaXMueCArIHo7IH0KK307CisKK3ZhciBlID0g
eyB4IDogImJheiIgfTsKKwordGVzdENhc2UoZC55KCkuYmluZChlLCAibGV5IikoKSwgImJhcmxl
eSIsICJFcnJvcjogZnVuY3Rpb24gYmluZCBzaG91bGRuJ3QgY2hhbmdlIGxleGljYWwgYmluZGlu
ZyBvZiB0aGUgYXJyb3cgZnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1jYWxsLmpzIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNhbGwuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjRm
OWFhNTA0ZDcwZDcwZDY4Y2RhYTVhNDgyYTQ2NTBhNDVmZGY3YwotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1jYWxsLmpz
CkBAIC0wLDAgKzEsMTggQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5jdGlv
biAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3Rl
ZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIics
IGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBkID0geworICB4IDog
ImZvbyIsCisgIHkgOiBmdW5jdGlvbigpIHsgcmV0dXJuICgpID0+IHRoaXMueDsgfQorfTsKKwor
dmFyIGUgPSB7IHggOiAiYmFyIiB9OworCit0ZXN0Q2FzZShkLnkoKS5jYWxsKGUpLCAiZm9vIiwg
IkVycm9yOiBmdW5jdGlvbiBjYWxsIHNob3Vsbid0IGNoYW5nZSB0aGUgbGV4aWNhbCBiaW5kaW5n
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShkLnkoKS5hcHBseShlKSwgImZv
byIsICJFcnJvcjogZnVuY3Rpb24gYXBwbHkgc2hvdWxuJ3QgY2hhbmdlIHRoZSBsZXhpY2FsIGJp
bmRpbmcgb2YgdGhlIGFycm93IGZ1bmN0aW9uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY29uc3RydWN0b3IuanMgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY29uc3RydWN0b3Iu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYjU4YjE2ZDdiNWUyOTc0NGMzM2Y3ODZiNGJmMTZiZjQ0ZmViMWUyOAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJy
b3dmdW5jdGlvbi1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDE4IEBACit2YXIgdGVzdENhc2Ug
PSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9
PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVj
dGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBzaW1w
bGVBcnJvd0Z1bmN0aW9uID0gKCkgPT4ge307CisKK3ZhciBlcnJvck9uQ3JlYXRlID0gZmFsc2U7
CisKK3RyeSB7CisgIHZhciBmYyA9IG5ldyBzaW1wbGVBcnJvd0Z1bmN0aW9uKCk7Cit9CitjYXRj
aCAoZSkgeworICBlcnJvck9uQ3JlYXRlID0gdHJ1ZTsKK30KKwordGVzdENhc2UoZXJyb3JPbkNy
ZWF0ZSwgdHJ1ZSwgIkVycm9yOiBObyBleGNlcHRpb24gZHVyaW5nIHJ1biBuZXcgQXJyb3dGdW5j
dGlvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9h
cnJvd2Z1bmN0aW9uLWxleGljYWwtYXJndW1lbnRzLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtYXJndW1lbnRzLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjFlYjY3NjNhNjUyNjk4MTY1YzBmZGIyZDhiYzIwNzNkMmJjZDNiMWYKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
bGV4aWNhbC1hcmd1bWVudHMuanMKQEAgLTAsMCArMSwxNCBAQAordmFyIHRlc3RDYXNlID0gZnVu
Y3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhw
ZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCAr
ICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCitmdW5jdGlvbiBhZkNy
ZWF0b3IoKSB7CisgICAgcmV0dXJuIGEgPT4gYXJndW1lbnRzWzBdOworfQorCit2YXIgYWYgPSBh
ZkNyZWF0b3IoMTIpOworCisvL0ZpeG1lOiBsZXhpY2FsIGJpbmQgb2YgdGhlIGFyZ3VtZW50cyBp
cyBub3QgaW1wbGVtZW50ZWQKKy8vdGVzdENhc2UoYWYoNiksIDEyLCAiRXJyb3I6IGFyZ3VtZW50
cyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uIik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tbGV4aWNhbC10aGlzLTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjU1MzFmNTc1
NjJmMjg2OGVlYWQzOWZjZDY2ZWU1MDc4YmFjZWQxYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMt
MS5qcwpAQCAtMCwwICsxLDE3IEBACit2YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVu
Y3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhw
ZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCAr
ICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCitmdW5jdGlvbiBEb2co
bmFtZSkgeworICB0aGlzLm5hbWUgPSBuYW1lOworICB0aGlzLmdldE5hbWUgPSAoKSA9PiBldmFs
KCJ0aGlzLm5hbWUiKTsKKyAgdGhpcy5nZXROYW1lSGFyZCA9ICgpID0+IGV2YWwoIigoKSA9PiB0
aGlzLm5hbWUpKCkiKTsKK30KKwordmFyIGQgPSBuZXcgRG9nKCJNYXgiKTsKK3Rlc3RDYXNlKGQu
Z2V0TmFtZSgpLCBkLm5hbWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBp
bnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMxIik7Cit0ZXN0Q2FzZShkLmdldE5hbWVIYXJk
KCksIGQubmFtZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzIiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMtMi5qcyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMt
Mi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45OGI1M2IyOThiYmIwYjUzZTQwNzFjOTk3ZDgxMjM1MTFhZjYzOWQ5
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9h
cnJvd2Z1bmN0aW9uLWxleGljYWwtdGhpcy0yLmpzCkBAIC0wLDAgKzEsMzMgQEAKK3ZhciByZXN1
bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2Fn
ZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAi
LiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7
CisgIH0KK307CisKK3ZhciBhZk9iakxleEJpbmQyID0gZnVuY3Rpb24gKCkgeworICB0aGlzLmZ1
bmMgPSAoKSA9PiB0aGlzOworfTsKKwordmFyIGFmT2JqTGV4QmluZDJJbnN0YW5jZSA9IG5ldyBh
Zk9iakxleEJpbmQyKCk7CisKK3Rlc3RDYXNlKGFmT2JqTGV4QmluZDJJbnN0YW5jZS5mdW5jKCkg
PT09IGFmT2JqTGV4QmluZDJJbnN0YW5jZSwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhp
Y2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzIiKTsKKwordmFyIG9i
aiA9IHsKKyAgbWV0aG9kOiBmdW5jdGlvbiAoKSB7CisgICAgcmV0dXJuICgpID0+IHRoaXM7Cisg
IH0KK307CisKK3Rlc3RDYXNlKG9iai5tZXRob2QoKSgpID09PSBvYmosIHRydWUsICJFcnJvcjog
dGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9u
ICMzIik7CisKK3ZhciBmYWtlID0ge3N0ZWFsOiBvYmoubWV0aG9kKCl9OwordGVzdENhc2UoZmFr
ZS5zdGVhbCgpID09PSBvYmosIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJp
bmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM0Iik7CisKKwordmFyIHJlYWwgPSB7
Ym9ycm93OiBvYmoubWV0aG9kfTsKK3Rlc3RDYXNlKHJlYWwuYm9ycm93KCkoKSA9PT0gcmVhbCwg
dHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gIzUiKTsKK3Rlc3RDYXNlKHJlYWwuYm9ycm93KCkoKSA9PT0gcmVhbCwg
dHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gIzYiKTsKK3Rlc3RDYXNlKHJlYWwuYm9ycm93KCkoKSA9PT0gcmVhbCwg
dHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gIzciKTsKK3Rlc3RDYXNlKHJlYWwuYm9ycm93KCkoKSA9PT0gcmVhbCwg
dHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gIzgiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1vdGhlcnMuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tb3RoZXJzLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlYmEx
MWYzMDIyZTM0YTgwMDBhNTcwMDc2ZGIxYTU1YTRhMzJiMjEKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tb3RoZXJzLmpz
CkBAIC0wLDAgKzEsMTMgQEAKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVj
dGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cg
bWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFj
dHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIHNpbXBsZUFycm93RnVuY3Rpb24gPSAoKSA9PiB7
fTsKKwordGVzdENhc2UoT2JqZWN0LmdldFByb3RvdHlwZU9mKHNpbXBsZUFycm93RnVuY3Rpb24p
LCBGdW5jdGlvbi5wcm90b3R5cGUsICJFcnJvcjogTm90IGNvcnJlY3QgZ2V0UHJvdG90eXBlT2Yg
dmFsdWUgZm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93RnVuY3Rp
b24gaW5zdGFuY2VvZiBGdW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQg
Zm9yIGluc3RhbmNlb2YgbWV0aG9kIGZvciBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShz
aW1wbGVBcnJvd0Z1bmN0aW9uLmNvbnN0cnVjdG9yID09IEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6
IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgY29uc3RydWN0b3IgbWV0aG9kIG9mIGFycm93IGZ1bmN0
aW9uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tcnVuLTEwLTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDdhMWYwYTQ5Y2IxNjg2
M2M1OTIxMzYxZjBhZGIxZTE0ZWM5YjY1YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAtMS5qcwpAQCAtMCww
ICsxLDI0IEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVz
c2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2Ug
KyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAi
JyI7CisgIH0KK307CisKK2Z1bmN0aW9uIHJ1bihjb3VudCkgeworICB2YXIgcmVzdWx0ID0gdHJ1
ZTsKKyAgZm9yKHZhciBpPTA7IGk8Y291bnQ7IGkrKykgeworICAgIHZhciBPYmogPSBmdW5jdGlv
biAobmFtZSkgeworICAgICAgdGhpcy5uYW1lID0gbmFtZTsKKyAgICAgIHRoaXMuZ2V0TmFtZSA9
ICgpID0+IHRoaXMubmFtZTsKKyAgICB9OworCisgICAgdmFyIG9iaiA9IG5ldyBPYmooIkl0ZW0i
ICsgaSk7CisgICAgaWYgKG9iai5uYW1lICE9PSBvYmouZ2V0TmFtZSgpKSB7CisgICAgICByZXN1
bHQgPSBmYWxzZTsKKyAgICB9CisgIH0KKyAgcmV0dXJuIHJlc3VsdDsKK30KKwordGVzdENhc2Uo
cnVuKDEpLCB0cnVlLCAiRXJyb3I6IEVycm9yOiBkdXJpbmcgZXhlY3V0aW9uIG9mIGFycm93IGZ1
bmN0aW9uIG9uZSB0aW1lIik7Cit0ZXN0Q2FzZShydW4oMTApLCB0cnVlLCAiRXJyb3I6IEVycm9y
OiBkdXJpbmcgZXhlY3V0aW9uIG9mIGFycm93IGZ1bmN0aW9uIDEwIHRpbWVzIik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVu
LTEwLTIuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tcnVuLTEwLTIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWRkY2RiM2M3MGExYjI3YzNkYmI1MjM4MDk1NWY1
MzUzZDc2NzQyNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAtMi5qcwpAQCAtMCwwICsxLDI1IEBACit2YXIg
dGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAo
YWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAn
IiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisK
K2Z1bmN0aW9uIHJ1bihjb3VudCkgeworICB2YXIgcmVzdWx0ID0gdHJ1ZTsKKyAgZm9yKHZhciBp
PTA7IGk8Y291bnQ7IGkrKykgeworICAgIHZhciBPYmogPSBmdW5jdGlvbiAobmFtZSkgeworICAg
ICAgdGhpcy5uYW1lID0gbmFtZTsKKyAgICAgIHRoaXMuZ2V0TmFtZSA9ICgpID0+IGV2YWwoInRo
aXMubmFtZSIpOzsKKyAgICB9OworCisKKyAgICB2YXIgb2JqID0gbmV3IE9iaigiSXRlbSIgKyBp
KTsKKyAgICBpZiAob2JqLm5hbWUgIT09IG9iai5nZXROYW1lKCkpIHsKKyAgICAgIHJlc3VsdCA9
IGZhbHNlOworICAgIH0KKyAgfQorICByZXR1cm4gcmVzdWx0OworfQorCit0ZXN0Q2FzZShydW4o
MSksIHRydWUsICJFcnJvcjogZHVyaW5nIGV4ZWN1dGlvbiBvZiBhcnJvdyBmdW5jdGlvbiBvbmUg
dGltZSIpOwordGVzdENhc2UocnVuKDEwKSwgdHJ1ZSwgIkVycm9yOiBkdXJpbmcgZXhlY3V0aW9u
IG9mIGFycm93IGZ1bmN0aW9uIDEwIHRpbWVzIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwMDAwLTEuanMgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwMDAwLTEu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMGU1ZjZiYzg2YmQzMTQ1MWIwMWNhMjdkMGI5NzIwYjU3ZThkNjA1MQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJy
b3dmdW5jdGlvbi1ydW4tMTAwMDAtMS5qcwpAQCAtMCwwICsxLDIzIEBACit2YXIgdGVzdENhc2Ug
PSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9
PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVj
dGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK2Z1bmN0aW9u
IHJ1bihjb3VudCkgeworICB2YXIgcmVzdWx0ID0gdHJ1ZTsKKyAgZm9yKHZhciBpPTA7IGk8Y291
bnQ7IGkrKykgeworICAgIHZhciBPYmogPSBmdW5jdGlvbiAobmFtZSkgeworICAgICAgdGhpcy5u
YW1lID0gbmFtZTsKKyAgICAgIHRoaXMuZ2V0TmFtZSA9ICgpID0+IHRoaXMubmFtZTsKKyAgICB9
OworCisgICAgdmFyIG9iaiA9IG5ldyBPYmooIkl0ZW0iICsgaSk7CisgICAgaWYgKG9iai5uYW1l
ICE9PSBvYmouZ2V0TmFtZSgpKSB7CisgICAgICByZXN1bHQgPSBmYWxzZTsKKyAgICB9CisgIH0K
KyAgcmV0dXJuIHJlc3VsdDsKK30KKwordGVzdENhc2UocnVuKDEwMDAwKSwgdHJ1ZSwgIkVycm9y
OiBFcnJvcjogZHVyaW5nIGV4ZWN1dGlvbiBvZiBhcnJvdyBmdW5jdGlvbiAxMDAwMCB0aW1lcyIp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1
bmN0aW9uLXJ1bi0xMDAwMC0yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMDAwMC0yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk1MzBmMmMxZDVhN2Y1
NWNlNDZiOGJlNjk5MDhiNGJjMjFlMDUyN2IKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwMDAwLTIuanMKQEAg
LTAsMCArMSwyMyBAQAordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQs
IG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNz
YWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFs
ICsgIiciOworICB9Cit9OworCitmdW5jdGlvbiBydW4oY291bnQpIHsKKyAgdmFyIHJlc3VsdCA9
IHRydWU7CisgIGZvcih2YXIgaT0wOyBpPGNvdW50OyBpKyspIHsKKyAgICB2YXIgT2JqID0gZnVu
Y3Rpb24gKG5hbWUpIHsKKyAgICAgIHRoaXMubmFtZSA9IG5hbWU7CisgICAgICB0aGlzLmdldE5h
bWUgPSAoKSA9PiBldmFsKCJ0aGlzLm5hbWUiKTs7CisgICAgfTsKKworICAgIHZhciBvYmogPSBu
ZXcgT2JqKCJJdGVtIiArIGkpOworICAgIGlmIChvYmoubmFtZSAhPT0gb2JqLmdldE5hbWUoKSkg
eworICAgICAgcmVzdWx0ID0gZmFsc2U7CisgICAgfQorICB9CisgIHJldHVybiByZXN1bHQ7Cit9
CisKK3Rlc3RDYXNlKHJ1bigxMDAwMCksIHRydWUsICJFcnJvcjogRXJyb3I6IGR1cmluZyBleGVj
dXRpb24gb2YgYXJyb3cgZnVuY3Rpb24gMTAwMDAgdGltZXMiKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1zeW50YXguanMgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tc3ludGF4Lmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjhmZTExZDViZWUwZGJkNTU2NDhhYzQzZGZmY2U0ZTRlMmU5MGUyODgKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93
ZnVuY3Rpb24tc3ludGF4LmpzCkBAIC0wLDAgKzEsMTE2IEBACit2YXIgcmVzdWx0OworCisgdmFy
IHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYg
KGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQg
JyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9Owor
Cit2YXIgYWYwID0gdiA9PiB2ICsgMTsKK3Rlc3RDYXNlKGFmMCgxMCksIDExICwiRXJyb3I6IE5v
dCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246IHYgPT4gdiArIDEiKTsK
KwordmFyIGFmMSA9ICh2KSA9PiB2ICogMjsKK3Rlc3RDYXNlKGFmMSgxMCksIDIwICwiRXJyb3I6
IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICh2KSA9PiB2ICsg
MSIpOworCit2YXIgYWYyID0gKCkgPT4gMTAwMDsKK3Rlc3RDYXNlKGFmMigxMjEyKSwgMTAwMCAs
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAoKSA9
PiAxMDAwIik7CisKK3ZhciBhID0gMTUxOwordmFyIGFmMl8xID0gKCkgPT4gYTsKK3Rlc3RDYXNl
KGFmMl8xKDEyMSksIGEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbjogKCkgPT4gdmFyaWFibGUiKTsKKwordmFyIGFmMyA9ICh2LCB4KSA9PiB2ICsg
eDsKK3Rlc3RDYXNlKGFmMygxMSwxMiksIDIzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICh4LCB5KSA9PiB4ICsgeSIpOworCit2YXIgYWZ3cmFw
cGVyID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRlcikgeyByZXR1cm4gY2wocGFyYW10ZXIpOyB9Owor
CityZXN1bHQgPSBhZndyYXBwZXIoeCA9PiAxMjM0KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIzNCAs
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBh
cmFtdGVyOiBmKHggPT4gYykiKTsKKworcmVzdWx0ID0gYWZ3cmFwcGVyKHggPT4gMTIzNCwgMjM0
NSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMzQgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMsIHkpIik7CisKK3Jl
c3VsdCA9IGFmd3JhcHBlcih4ID0+IDEyMSArIDIzMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDM1MyAs
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBh
cmFtdGVyOiBmKHggPT4gYzEgKyBjMikiKTsKKworcmVzdWx0ID0gYWZ3cmFwcGVyKHggPT4gMTIz
ICsgMzIxLCA5OTk5KTsKK3Rlc3RDYXNlKHJlc3VsdCwgNDQ0ICwiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjMSAr
IGMyLCB5KSIpOworCityZXN1bHQgPSBhZndyYXBwZXIoeCA9PiB4ICsgMTIsIDIxKTsKK3Rlc3RD
YXNlKHJlc3VsdCwgMzMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IHggKyBjMSwgeSkiKTsKKworcmVzdWx0ID0g
YWZ3cmFwcGVyKCh4KSA9PiB4ICsgMjEsIDMyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgNTMsICJFcnJv
cjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRl
cjogZigoeCkgPT4gYzEgKyBjMiwgeSkiKTsKKworcmVzdWx0ID0gYWZ3cmFwcGVyKCgpID0+IDEw
MCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMCwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24g
b2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMpIik7CisKK3ZhciBl
eHRfdmFsdWUgPSAxMjE7CityZXN1bHQgPSBhZndyYXBwZXIoKCkgPT4gZXh0X3ZhbHVlKTsKK3Rl
c3RDYXNlKHJlc3VsdCwgMTIxLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gdikiKTsKKworcmVzdWx0ID0gYWZ3
cmFwcGVyKCgpID0+IGV4dF92YWx1ZSAqIDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIxMCAsIkVy
cm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFt
dGVyOiBmKCgpID0+IHYqeCkiKTsKKworcmVzdWx0ID0gYWZ3cmFwcGVyKCh4KSA9PiBleHRfdmFs
dWUgKiB4LCAzMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDMwKmV4dF92YWx1ZSAsIkVycm9yOiBOb3Qg
Y29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCh4
KSA9PiB2KngsIHkpIik7CisKK3Jlc3VsdCA9IGFmd3JhcHBlcigoKSA9PiAxMDAsIDExKTsKK3Rl
c3RDYXNlKHJlc3VsdCwgMTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYzEsIHkpIik7CisKKyByZXN1bHQg
PSBhZndyYXBwZXIoKCkgPT4gMTAwICsgMTApOwordGVzdENhc2UocmVzdWx0LCAxMTAgLCJFcnJv
cjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRl
cjogZigoKSA9PiBjMSArIGMyKSIpOworCityZXN1bHQgPSBhZndyYXBwZXIoKCkgPT4gMTAwICsg
MTEsIDEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1
dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYzEgKyBjMiwg
eSkiKTsKKwordmFyIGFycm93RnVuY3Rpb240ID0gdiA9PiB2ICsgMSwgeHl6MSA9IDEwMTAxOwor
cmVzdWx0ID0gYXJyb3dGdW5jdGlvbjQoMTAxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMTIgLCJF
cnJvcjogTm90IGNvcnJlY3QgcGFyc2luZyBvZiB0aCBhcnJvdyBmdW5jdGlvbiBpbnNpZGUgb2Yg
dGhlIGxpc3Qgb2YgdmFyczogdmFyIGFmID0gdj0+IHYgKyAxOyB6eGM9YzsiKTsKK3Rlc3RDYXNl
KHh5ejEsIDEwMTAxICwiRXJyb3I6IE5vdCBjb3JyZWN0IHBhcnNpbmcgb2YgdGggYXJyb3cgZnVu
Y3Rpb24gaW5zaWRlIG9mIHRoZSBsaXN0IG9mIHZhcnM6IHZhciBhZiA9IHY9PiB2ICsgMTsgenhj
PWM7Iik7CisKK3ZhciBhZndyYXBwZXIyID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRlcjEsIHBhcmFt
dGVyMikgeyByZXR1cm4gY2wocGFyYW10ZXIxLCBwYXJhbXRlcjIpOyB9OworcmVzdWx0ID0gYWZ3
cmFwcGVyMigoeCwgeSkgPT4geCArIHksIDEyICw0Myk7Cit0ZXN0Q2FzZShyZXN1bHQsIDU1ICwi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFy
YW1ldGVyOiBmKCh4LCB5KSA9PiB4ICsgeSwgYzEsIGMyKSIpOworCit2YXIgYWZBcnIwID0gW3Yg
PT4gdiAqIDEwXTsKK3Jlc3VsdCA9IGFmQXJyMFswXSgxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEw
MCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFz
IGl0ZW0gaW4gYXJyYXk6IFt2PT52KjEwXSIpOworCit2YXIgYWZBcnIxID0gW3YgPT4gdiArIDEs
IHYgPT4gdiArIDJdOworcmVzdWx0ID0gYWZBcnIxWzBdKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwg
MTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBh
cyBpdGVtIGluIGFycmF5OiBbdiA9PiB2ICsgMSwgIHYgPT4gdiArIDJdIik7CityZXN1bHQgPSBh
ZkFycjFbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMyAsIkVycm9yOiBOb3QgY29ycmVjdCBl
eGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFt2ID0+IHYg
KyAxLCAgdiA9PiB2ICsgMl0iKTsKKwordmFyIGFmQXJyMiA9IFsodikgPT4gdiArIDEsICh2KSA9
PiB2ICsgMl07CityZXN1bHQgPSBhZkFycjJbMF0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMiAs
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0
ZW0gaW4gYXJyYXk6IFsodikgPT4gdiArIDEsICAodikgPT4gdiArIDJdIik7CityZXN1bHQgPSBh
ZkFycjJbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMyAsIkVycm9yOiBOb3QgY29ycmVjdCBl
eGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsodikgPT4g
diArIDEsICAodikgPT4gdiArIDJdIik7CisKK3ZhciBhZkFycjMgPSBbKCkgPT4gMTAxLCAoKSA9
PiAxMjMyM107CityZXN1bHQgPSBhZkFycjNbMF0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDEs
ICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBp
dGVtIGluIGFycmF5OiBbKCkgPT4gYzEsICAoKSA9PiBjMl0iKTsKK3Jlc3VsdCA9IGFmQXJyM1sx
XSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMzIzLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1
dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogWygpID0+IGMxLCAg
KCkgPT4gYzJdIik7CisKK3ZhciBhZk9iaiA9IHtmdW5jIDogeSA9PiB5ICsgMTJ9OworcmVzdWx0
ID0gYWZPYmouZnVuYygxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIzICwgIkVycm9yOiBOb3QgY29y
cmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHByb3BlcnR5OiB7ZnVuYyA6
IHkgPT4geSArIDEyIH0iKTsKKwordmFyIGFmQmxvY2swID0gKCkgPT4geyByZXR1cm4gMTAwMDsg
fTsKK3Jlc3VsdCA9IGFmQmxvY2swKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwMCAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBh
cyBibG9jazogKCkgPT4geyByZXR1cm4gMTAwMDsgfSIpOworCit2YXIgYWZCbG9jazEgPSB2ID0+
IHsgdmFyIGludHZhbCA9IDEwMDsgcmV0dXJuIHYgKiBpbnR2YWw7IH07CityZXN1bHQgPSBhZkJs
b2NrMSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDExMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhl
Y3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6IHggPT4geyB2
YXIgdj0xMDAwOyByZXR1cm4gdip4OyB9Iik7CisKK3ZhciBhZkJsb2NrMiA9ICh2KSA9PiB7IHZh
ciBpbnQgPSAyMDA7IHJldHVybiB2ICogaW50OyB9OworcmVzdWx0ID0gYWZCbG9jazIoMTEpOwor
dGVzdENhc2UocmVzdWx0LCAyMjAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0
aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiAoeCkgPT4geyB2YXIgdj0xMDAw
OyByZXR1cm4gdip4OyB9Iik7CisKK3ZhciBhZkJsb2NrMyA9ICh2LCB4KSA9PiB7IHZhciByZXN1
bHQgPSB4ICogdjsgcmV0dXJuIHJlc3VsdDsgfTsKK3Jlc3VsdCA9IGFmQmxvY2szKDExLCAxMjIy
Mik7Cit0ZXN0Q2FzZShyZXN1bHQsIDEzNDQ0MiAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogKHYsIHgpID0+IHsg
dmFyIHJlc3VsdCA9IHggKiB2OyByZXR1cm4gcmVzdWx0OyB9Iik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tdGR6LmpzIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXRkei5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5lOWQzNWNkZWE0YmFmNjY3NDMxYWY4YWJlOGRhZGYyMmQwNGI5MGUxCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0
aW9uLXRkei5qcwpAQCAtMCwwICsxLDI0IEBACit2YXIgQSA9IGNsYXNzIEEgeyB9OwordmFyIEIg
PSBjbGFzcyBCIGV4dGVuZHMgQSB7CisgIGNvbnN0cnVjdG9yKGFjY2Vzc1RoaXNCZWZvcmVTdXBl
cikgeworICAgIGlmIChhY2Nlc3NUaGlzQmVmb3JlU3VwZXIpIHsKKyAgICAgIHZhciBmID0gKCkg
PT4gdGhpczsKKyAgICAgIHN1cGVyKCk7CisgICAgfSBlbHNlIHsKKyAgICAgIHN1cGVyKCk7Cisg
ICAgfQorICB9Cit9OworCit2YXIgZXhjZXB0aW9uID0gbnVsbDsKK3RyeSB7CisgICAgIG5ldyBC
KHRydWUpOworfSBjYXRjaCAoZSkgeworICAgIGV4Y2VwdGlvbiA9IGU7CisgICAgaWYgKCEoZSBp
bnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSkKKyAgICAgICAgdGhyb3cgIkV4Y2VwdGlvbiB0aHJv
d24gd2FzIG5vdCBhIHJlZmVyZW5jZSBlcnJvciI7Cit9CitpZiAoIWV4Y2VwdGlvbikKKyAgICB0
aHJvdyAiRXhjZXB0aW9uIG5vdCB0aHJvd24gZm9yIGFuIHVuaXRpYWxpemVkIHRoaXMgYXQgaXRl
cmF0aW9uIjsKKwordmFyIGUgPSBuZXcgQihmYWxzZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tdHlwZW9mLmpzIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXR5cGVvZi5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5lZjJhN2Y1NDQ3NmFiYTljMjg5MjNjMzVmMWRiM2M0MzI3YWM5NDY5Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0
aW9uLXR5cGVvZi5qcwpAQCAtMCwwICsxLDIxIEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAo
YWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkg
eworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1
dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBhZjEgPSAoKSA9PiB7fTsK
K3ZhciBhZjIgPSAoYSkgPT4ge2EgKyAxfTsKKwordGVzdENhc2UodHlwZW9mIGFmMSwgImZ1bmN0
aW9uIiwgIkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMSIp
OwordGVzdENhc2UodHlwZW9mIGFmMS5wcm90b3R5cGUgPT09ICd1bmRlZmluZWQnLCB0cnVlLCAi
RXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9u
ICMxIik7CisKK3Rlc3RDYXNlKHR5cGVvZiBhZjIsICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNv
cnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzIiKTsKK3Rlc3RDYXNlKHR5cGVvZiBh
ZjIucHJvdG90eXBlID09PSAndW5kZWZpbmVkJywgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCBy
ZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiAjMiIpOworCit0ZXN0Q2FzZSh0
eXBlb2YgKCgpPT57fSksICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNvcnJlY3QgdHlwZSBvZiB0
aGUgYXJyb3cgZnVuY3Rpb24gIzMiKTsKK3Rlc3RDYXNlKHR5cGVvZiAoKCk9Pnt9KS5wcm90b3R5
cGUgPT09ICd1bmRlZmluZWQnLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3Ig
cHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9uICMzIik7CisKKwordGVzdENhc2UodHlwZW9mICgo
YikgPT4ge2IgKyAxfSksICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNvcnJlY3QgdHlwZSBvZiB0
aGUgYXJyb3cgZnVuY3Rpb24gIzQiKTsKK3Rlc3RDYXNlKHR5cGVvZiAoKGIpID0+IHtiICsgMX0p
LnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVz
dWx0IGZvciBwcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24gIzQiKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291
cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXgg
ZmM5MGY2MTE1NjIzMWE0MWNhOTEzN2YxN2M3OTU1ZThkMzczYjBlYS4uMGM4ODQwZjZhYjUxODVm
ODM1NGI3MDYwM2UwMjVmMjVhMmE3OWY0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNvcmUv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ0LDYgKzQ0LDcgQEAg
RU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORyA9IEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkc7CiBF
TkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BS
T1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dG
VU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IEVOQUJMRV9FUzZfQ0xB
U1NfU1lOVEFYOwogRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCA9IEVOQUJMRV9F
UzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CkBAIC0yMTUsNCArMjE2LDQgQEAgRU5BQkxFX0pJVCA9
IEVOQUJMRV9KSVQ7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFC
TEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVO
QUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05T
KSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklO
RykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VT
Nl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQo
RU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJM
RV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChF
TkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQo
RU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkg
JChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RF
WFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RP
TV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RB
VEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RF
VEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000
X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9F
TkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9O
VF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQp
ICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5B
QkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJB
U0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Up
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9Q
T1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFC
TEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNT
KSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElB
X0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFC
TEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykg
JChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVf
UFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZG
SVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1F
KSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RP
UikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJ
TkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykg
JChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NW
R19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9O
VU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9M
T0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9B
TEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNV
RV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQo
RU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tF
VFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxF
X1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChF
TkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FS
SVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVG
SU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NB
TlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9B
VkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVf
UEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZ
KSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfVEVNUExBVEVf
TElURVJBTF9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1Bf
TkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9E
RUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19E
RVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJM
RV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NT
U19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJF
QUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hB
TkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVN
RU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1F
TlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09O
U1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVO
VFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9H
QU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5f
UEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBM
RVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9X
RUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxF
X0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVf
TElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19T
Q1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykg
JChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NV
UlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05B
VklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
REZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAk
KEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQo
RU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVf
UkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxF
X1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJM
RV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NU
UkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQo
RU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVD
VElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChF
TkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQo
RU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJf
QVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJM
RV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVH
SU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9K
SVQpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAk
KEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYWNkYzk5OGMwNmE5NDA4OGRj
NDIwYmZkMjE3Y2U2N2QxY2E5NDVlNi4uMTcxZTYzNzMyMjU0NGRmZmFhN2YwNThjNTRkNWQxN2I4
ZmFlMDc0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtMTYwMSw5ICsxNjAxLDkgQEAKIAkJNDQzMTFDRDkxMkU0RTI1NzAwMEE4
RDE5IC8qIERPTURvY3VtZW50RnJhZ21lbnRQcml2YXRlLmggaW4gQ29weSBHZW5lcmF0ZWQgSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDMxMUNENDEyRTRFMjJE
MDAwQThEMTkgLyogRE9NRG9jdW1lbnRGcmFnbWVudFByaXZhdGUuaCAqLzsgfTsKIAkJNDQzMTFG
ODIxMkU0RTY2QzAwMEE4RDE5IC8qIERPTURvY3VtZW50RnJhZ21lbnRJbnRlcm5hbC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVFNzExNDUwQUM1RDUz
NDAwNTMyNzBGIC8qIERPTURvY3VtZW50RnJhZ21lbnRJbnRlcm5hbC5oICovOyB9OwogCQk0NDM4
MTdGRjFBOTFCMkY4MDA2RTA0RjIgLyogQ29yZU1lZGlhU29mdExpbmsuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzODE3RkQxQTkxQjJGODAwNkUw
NEYyIC8qIENvcmVNZWRpYVNvZnRMaW5rLmNwcCAqLzsgfTsKLQkJNDQzOTE3RkYxQTkxQjJGODAw
NkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzOTE3RkQxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9v
a1NvZnRMaW5rLm1tICovOyB9OwogCQk0NDM4MTgwMDFBOTFCMkY4MDA2RTA0RjIgLyogQ29yZU1l
ZGlhU29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ0MzgxN0ZFMUE5MUIyRjgwMDZFMDRGMiAvKiBDb3JlTWVkaWFTb2Z0TGluay5oICovOyB9
OwotCQk0NDM5MTgwMDFBOTFCMkY4MDA2RTA0RjIgLyogUXVpY2tMb29rU29mdExpbmsuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0MzkxN0ZFMUE5MUIy
RjgwMDZFMDRGMiAvKiBRdWlja0xvb2tTb2Z0TGluay5oICovOyB9OworCQk0NDM5MTdGRjFBOTFC
MkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzOTE3RkQxQTkxQjJGODAwNkUwNEYyIC8q
IGlvcy9RdWlja0xvb2tTb2Z0TGluay5tbSAqLzsgfTsKKwkJNDQzOTE4MDAxQTkxQjJGODAwNkUw
NEYyIC8qIGlvcy9RdWlja0xvb2tTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzOTE3RkUxQTkxQjJGODAwNkUwNEYyIC8qIGlvcy9RdWlj
a0xvb2tTb2Z0TGluay5oICovOyB9OwogCQk0NDNGMDQyNzBFNzVDOEZCMDA3RTU0MDcgLyogTmV0
d29ya1N0YXRlTm90aWZpZXJJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0NDNGMDQyNjBFNzVDOEZCMDA3RTU0MDcgLyogTmV0d29ya1N0YXRlTm90
aWZpZXJJT1MubW0gKi87IH07CiAJCTQ0NDlBNDA1MUE5NjRCMDAwMEI2NEFENSAvKiBDb3JlTWVk
aWFTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0
NDlBNDA0MUE5NjRCMDAwMEI2NEFENSAvKiBDb3JlTWVkaWFTUEkuaCAqLzsgfTsKIAkJNDQ0RDRF
MjMwRjcwOEIyRTAwMzE1OEUwIC8qIFdlYkNvcmVVUkxSZXNwb25zZUlPUy5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0NEQ0RTIxMEY3MDhCMkUwMDMx
NThFMCAvKiBXZWJDb3JlVVJMUmVzcG9uc2VJT1MubW0gKi87IH07CkBAIC04NzcyLDkgKzg3NzIs
OSBAQAogCQk0NDMxMUNENDEyRTRFMjJEMDAwQThEMTkgLyogRE9NRG9jdW1lbnRGcmFnbWVudFBy
aXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NRG9jdW1lbnRGcmFn
bWVudFByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQzMTFDRDUxMkU0
RTIyRDAwMEE4RDE5IC8qIERPTURvY3VtZW50UHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBET01Eb2N1bWVudFByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDQzODE3RkQxQTkxQjJGODAwNkUwNEYyIC8qIENvcmVNZWRpYVNvZnRMaW5rLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvcmVNZWRpYVNvZnRMaW5r
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDQzOTE3RkQxQTkxQjJGODAwNkUw
NEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0NDM4MTdGRTFBOTFCMkY4MDA2RTA0RjIgLyogQ29yZU1lZGlhU29mdExpbmsu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29yZU1lZGlhU29mdExpbmsuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDQzOTE3RkUxQTkxQjJGODAwNkUwNEYyIC8q
IFF1aWNrTG9va1NvZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGlv
cy9RdWlja0xvb2tTb2Z0TGluay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NDM5
MTdGRDFBOTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NDM5MTdGRTFBOTFCMkY4MDA2RTA0RjIg
LyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IGlvcy9RdWlja0xvb2tTb2Z0TGluay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0NDNGMDQyNjBFNzVDOEZCMDA3RTU0MDcgLyogTmV0d29ya1N0YXRlTm90aWZpZXJJT1MubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBOZXR3b3JrU3RhdGVOb3Rp
ZmllcklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQ0OUE0MDQxQTk2NEIw
MDAwQjY0QUQ1IC8qIENvcmVNZWRpYVNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBDb3JlTWVkaWFTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQ0RDRF
MjEwRjcwOEIyRTAwMzE1OEUwIC8qIFdlYkNvcmVVUkxSZXNwb25zZUlPUy5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkNvcmVVUkxSZXNwb25zZUlPUy5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4ODYzLDggKzE4ODYzLDggQEAKIAkJCQlD
NTI3OEIwQjE3RjIxMkVBMDAzQTI5OTggLyogUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tICovLAog
CQkJCUU0NTM5MDMyMEVBRkQ2MzcwMDM2OTVDOCAvKiBQbGF0Zm9ybVNjcmVlbklPUy5tbSAqLywK
IAkJCQlBQUUzNzU1RDE3NDI5QkNDMDA2MjAwQzIgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXpl
cklPUy5tbSAqLywKLQkJCQk0NDM5MTdGRTFBOTFCMkY4MDA2RTA0RjIgLyogUXVpY2tMb29rU29m
dExpbmsuaCAqLywKLQkJCQk0NDM5MTdGRDFBOTFCMkY4MDA2RTA0RjIgLyogUXVpY2tMb29rU29m
dExpbmsubW0gKi8sCisJCQkJNDQzOTE3RkUxQTkxQjJGODAwNkUwNEYyIC8qIGlvcy9RdWlja0xv
b2tTb2Z0TGluay5oICovLAorCQkJCTQ0MzkxN0ZEMUE5MUIyRjgwMDZFMDRGMiAvKiBpb3MvUXVp
Y2tMb29rU29mdExpbmsubW0gKi8sCiAJCQkJQ0RGQzM2MDExOENBNjE2MzAwMjZFNTZGIC8qIFJl
bW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5oICovLAogCQkJCUNERkMzNjAyMThDQTYxNjMwMDI2RTU2
RiAvKiBSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MubW0gKi8sCiAJCQkJNDRDMzYzRUUwRkFBN0JC
MzAwOTdGOENDIC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0lPUy5oICovLApAQCAtMjYwNzEs
NyArMjYwNzEsNyBAQAogCQkJCTU1MEEwQkNBMDg1RjYwMzkwMDczNTNENiAvKiBRdWFsaWZpZWRO
YW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRTEyNTIzRDFBMTY3NkNEMDA4NjQ0ODAgLyogUXVh
cnR6Q29yZVNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDQyQUY3QTkxMDJDRERFQTAwOEZENEQz
IC8qIFF1aWNrTG9vay5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDQzOTE4MDAxQTkxQjJGODAwNkUw
NEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKKwkJCQk0NDM5MTgwMDFB
OTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLmggaW4gSGVhZGVycyAqLywK
IAkJCQlBMTQ5Nzg2RjFBQkFGMzM4MDBDRUY3RTQgLyogQ29udGVudEZpbHRlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQ0UxMjUyMzkxQTE2NkZBMDAwODY0NDgwIC8qIFF1aWNrTG9va1NQSS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTEwREJGNDcxOEY5MjMxNzAwMEQ3MEM2IC8qIFF1aWNrTG9va0hh
bmRsZUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yOTU3NSw3ICsyOTU3NSw3IEBACiAJCQkJ
Q0RFRTM5MzcxNzk3NDI1OTAwMUQ3NTgwIC8qIFB1YmxpY1VSTE1hbmFnZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNTUwQTBCQzkwODVGNjAzOTAwNzM1M0Q2IC8qIFF1YWxpZmllZE5hbWUuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJNDQyQUY3QUExMDJDRERFQTAwOEZENEQzIC8qIFF1aWNrTG9v
ay5tbSBpbiBTb3VyY2VzICovLAotCQkJCTQ0MzkxN0ZGMUE5MUIyRjgwMDZFMDRGMiAvKiBRdWlj
a0xvb2tTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAorCQkJCTQ0MzkxN0ZGMUE5MUIyRjgwMDZF
MDRGMiAvKiBpb3MvUXVpY2tMb29rU29mdExpbmsubW0gaW4gU291cmNlcyAqLywKIAkJCQkwNzJB
RTFFNjE4M0MwNzQxMDAwQTU5ODggLyogUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQubW0gaW4g
U291cmNlcyAqLywKIAkJCQkzNzlFMzcxNjEzNzM2QTY2MDBCOUU5MTkgLyogUXVvdGVkUHJpbnRh
YmxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTVBNTc0RjI4MTMxREI5NkQwMDQ3MUI4OCAvKiBR
dW90ZXNEYXRhLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0
L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBmYzkwZjYx
MTU2MjMxYTQxY2E5MTM3ZjE3Yzc5NTVlOGQzNzNiMGVhLi4wYzg4NDBmNmFiNTE4NWY4MzU0Yjcw
NjAzZTAyNWYyNWEyYTc5ZjRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDQsNiArNDQsNyBAQCBF
TkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HID0gRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORzsKIEVO
QUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJP
WFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
Tkc7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFT
U19TWU5UQVg7CiBFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYID0gRU5BQkxFX0VT
Nl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVO
QUJMRV9DT05URU5UX0ZJTFRFUklORzsKQEAgLTIxNSw0ICsyMTYsNCBAQCBFTkFCTEVfSklUID0g
RU5BQkxFX0pJVDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJM
RV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5B
QkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFC
TEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMp
ICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5H
KSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2
X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChF
TkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChF
TkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElP
TikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAk
KEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVY
VF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9N
X1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFU
QUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVU
QUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRf
RVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05U
X0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkg
JChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFT
RSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BP
VkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJM
RV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVT
KSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1Mp
ICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFf
Q09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJM
RV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAk
KEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9Q
Uk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJ
WF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUp
ICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9S
KSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElO
RykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAk
KEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05V
TUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xP
QURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VF
X1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChF
TkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VU
UykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVf
V0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVO
QUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJ
VEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJ
TkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FO
VkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FW
Rl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkp
ICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9URU1QTEFURV9M
SVRFUkFMX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9O
RVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RF
Q09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RF
VklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19J
TUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxF
X0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NT
X1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVB
SykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFO
RExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1F
TlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVO
VCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05T
VFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5U
UykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dB
TUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9Q
QUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxF
X1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lO
UFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExF
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dF
RUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RV
UkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVf
TEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9M
SU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1ND
UklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VS
U09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFW
SUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BE
RktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQo
RU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChF
TkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9S
RVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVf
UkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxF
X0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RS
RUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChF
TkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNU
SU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVO
QUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxF
X1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChF
TkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9B
VURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxF
X1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJ
T05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJ
VCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQo
RU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktp
dDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggZmM5MGY2MTE1
NjIzMWE0MWNhOTEzN2YxN2M3OTU1ZThkMzczYjBlYS4uMGM4ODQwZjZhYjUxODVmODM1NGI3MDYw
M2UwMjVmMjVhMmE3OWY0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ0LDYgKzQ0LDcgQEAgRU5BQkxFX0NB
Q0hFX1BBUlRJVElPTklORyA9IEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkc7CiBFTkFCTEVfQ0FO
VkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwog
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOworRU5B
QkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9T
WU5UQVg7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFY
OwogRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCA9IEVOQUJMRV9FUzZfVEVNUExB
VEVfTElURVJBTF9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBFTkFCTEVfQ09O
VEVOVF9GSUxURVJJTkc7CkBAIC0yMTUsNCArMjE2LDQgQEAgRU5BQkxFX0pJVCA9IEVOQUJMRV9K
SVQ7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJB
VEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9U
UkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJM
RV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFC
TEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9N
RVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9URU1QTEFU
RV9MSVRFUkFMX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9Y
X0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NT
X0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NT
U19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5B
QkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVf
Q1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9C
UkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVf
SEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxF
TUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19D
T05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VW
RU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERF
Tl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5B
QkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09N
UExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dF
U1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFC
TEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJM
RV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xT
X1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0Vf
Q1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVf
TkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMp
ICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJM
RV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5B
QkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVf
U1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVU
RUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAk
KEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5B
QkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkg
JChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dF
Ql9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5B
QkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9S
RUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRM
X0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMp
ICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQo
RU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChF
TkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElP
TlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9O
SU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAk
KEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9T
WU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChF
TkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURB
UFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVH
SU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMp
ICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5B
QkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQo
RU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVO
QUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5B
QkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1Ip
ICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAk
KEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RF
UFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01f
VElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNF
X0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVO
QUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5U
UykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9M
RUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVG
RVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQo
RU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVf
TUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FM
RSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9I
V0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExV
R0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9Q
Uk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FV
T1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9B
VVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJ
T05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NS
T0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJ
KSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NW
R19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChF
TkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJM
RV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NT
X1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykg
JChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJ
RVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQo
RU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJF
X1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChF
TkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5B
QkxFX0pJVCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9W
SURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvV2ViS2l0
RmVhdHVyZXMuY21ha2UgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKaW5kZXgg
YmNiMzlhZWQ3Y2Y3MmQ1NmUwMTlkZDIwNTk2ZmFkMzY5NzNiODgwMS4uMDY1MDViY2E0ZDVjZGY2
NTBhYjJjY2ViNDQ3YjAwMThjOTIyOTg3MSAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL1dlYktp
dEZlYXR1cmVzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQpA
QCAtNTksNiArNTksNyBAQCBtYWNybyhXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAgIFdFQktJVF9P
UFRJT05fREVGSU5FKEVOQUJMRV9DU1NfU0hBUEVTICJUb2dnbGUgQ1NTIFNoYXBlcyBzdXBwb3J0
IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ1VSU09SX1ZJ
U0lCSUxJVFkgIlRvZ2dsZSBjdXJzb3IgdmlzaWJpbGl0eSBzdXBwb3J0IiBQUklWQVRFIE9GRikK
ICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSICJU
b2dnbGUgQ3VzdG9tIFNjaGVtZSBIYW5kbGVyIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQorICAgIFdF
QktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggIlRvZ2ds
ZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJ
T05fREVGSU5FKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCAiVG9nZ2xlIGRhc2hib2FyZCBzdXBw
b3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfREFUQUNV
RV9WQUxVRSAiVG9nZ2xlIGRhdGFjdWUgdmFsdWUgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAg
V0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQgIlRvZ2dsZSBIVE1M
NSBkYXRhbGlzdCBzdXBwb3J0IiBQUklWQVRFIE9GRikKQEAgLTE2OCw3ICsxNjksNiBAQCBtYWNy
byhXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9Y
SFJfVElNRU9VVCAiVG9nZ2xlIFhIUiB0aW1lb3V0IHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAg
IFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9YU0xUICJUb2dnbGUgWFNMVCBzdXBwb3J0IiBQ
UklWQVRFIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKFVTRV9TWVNURU1fTUFMTE9DICJU
b2dnbGUgc3lzdGVtIGFsbG9jYXRvciBpbnN0ZWFkIG9mIFdlYktpdCdzIGN1c3RvbSBhbGxvY2F0
b3IiIFBSSVZBVEUgT0ZGKQotCiAgICAgV0VCS0lUX09QVElPTl9ERVBFTkQoRU5BQkxFX0VOQ1JZ
UFRFRF9NRURJQV9WMiBFTkFCTEVfVklERU8pCiAgICAgV0VCS0lUX09QVElPTl9ERVBFTkQoRU5B
QkxFX0RGR19KSVQgRU5BQkxFX0pJVCkKICAgICBXRUJLSVRfT1BUSU9OX0RFUEVORChFTkFCTEVf
RlRMX05BVElWRV9DQUxMX0lOTElOSU5HIEVOQUJMRV9GVExfSklUKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRwZXJsL0ZlYXR1cmVMaXN0LnBtCmluZGV4IGIwZDVhYTFiM2JjNDQ4ZDZkMjYxMjcwYTVmYjU4
MTQwMzQ2NWY1ZjUuLjQwYzExNWUzYjNlNGJhNDc1MmE3MWQzOGQxZmVhMjI3ZWUyMGQxMjcgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KQEAgLTQ0LDYgKzQ0LDcgQEAg
QkVHSU4gewogbXkgKAogICAgICR0aHJlZURUcmFuc2Zvcm1zU3VwcG9ydCwKICAgICAkYWNjZWxl
cmF0ZWQyRENhbnZhc1N1cHBvcnQsCisgICAgJGFycm93ZnVuY3Rpb25TeW50YXgsCiAgICAgJGF0
dGFjaG1lbnRFbGVtZW50U3VwcG9ydCwKICAgICAkYmF0dGVyeVN0YXR1c1N1cHBvcnQsCiAgICAg
JGNhbnZhc1BhdGhTdXBwb3J0LApAQCAtMTU2LDkgKzE1NywxMyBAQCBteSBAZmVhdHVyZXMgPSAo
CiAgICAgeyBvcHRpb24gPT4gImFjY2VsZXJhdGVkLTJkLWNhbnZhcyIsIGRlc2MgPT4gIlRvZ2ds
ZSBBY2NlbGVyYXRlZCAyRCBDYW52YXMgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMiLCBkZWZhdWx0ID0+IGlzR3RrKCksIHZhbHVlID0+IFwk
YWNjZWxlcmF0ZWQyRENhbnZhc1N1cHBvcnQgfSwKIAorICAgIHsgb3B0aW9uID0+ICJhcnJvd2Z1
bmN0aW9uLXN5bnRheCIsIGRlc2MgPT4gIlRvZ2dsZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4
IHN1cHBvcnQiLAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBcJGFycm93ZnVuY3Rpb25TeW50YXggfSwKKwog
ICAgIHsgb3B0aW9uID0+ICJhdHRhY2htZW50LWVsZW1lbnQiLCBkZXNjID0+ICJUb2dnbGUgQXR0
YWNobWVudCBFbGVtZW50IHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQVRUQUNI
TUVOVF9FTEVNRU5UIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBcJGF0dGFjaG1lbnRFbGVtZW50
U3VwcG9ydCB9LAogCisKICAgICB7IG9wdGlvbiA9PiAiYmF0dGVyeS1zdGF0dXMiLCBkZXNjID0+
ICJUb2dnbGUgQmF0dGVyeSBTdGF0dXMgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJM
RV9CQVRURVJZX1NUQVRVUyIsIGRlZmF1bHQgPT4gaXNFZmwoKSwgdmFsdWUgPT4gXCRiYXR0ZXJ5
U3RhdHVzU3VwcG9ydCB9LAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252412</attachid>
            <date>2015-05-05 15:31:52 -0700</date>
            <delta_ts>2015-05-05 16:01:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150506013033.patch</filename>
            <type>text/plain</type>
            <size>207713</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzODIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
NDdiZWZlOTk4MThhOTZmYzVkOTgxOWM2MDJmMzg0YTFlNjZjYmM5Li4wY2I3M2E1MTY5NGNiODk2
NDdlYTljNjYzNGQzMjIwMGM1YTIwYTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNjMgQEAKKzIwMTUtMDUtMDEgQWxla3NhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MDg1NQorCisgICAgICAgICAqIHBhcnNlci9QYXJzZXIuaDoKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIHN1cHBvcnQgb2YgRVM2IGFycm93IGZ1
bmN0aW9uLiBDaGFuZ2VzIHdlcmUgbWFkZSBhY2NvcmRpbmcgZm9sbG93aW5nIHNwZWMgaHR0cDov
L3dpa2kuZWNtYXNjcmlwdC5vcmcvZG9rdS5waHA/aWQ9aGFybW9ueTphcnJvd19mdW5jdGlvbl9z
eW50YXgKKyAgICAgICAgSW4gcGF0Y2ggd2VyZSBpbXBsZW1lbnRlZCB0aGUgc2ltcGxlc3QgY2Fz
ZXM6CisgICAgICAgICAgMSBubyBwYXJhbWV0ZXJzICAgICAgICAgICAgICAgICgpID0+IDEwICsg
MjAKKyAgICAgICAgICAyIHNpbmdsZSBwYXJhbWV0ZXIgICAgICAgICAgICAgIHggPT4geCArIDIw
CisgICAgICAgICAgMyBtdWx0aXBsZSBwYXJhbWV0ZXJzICAgICAgKHgsIHkpID0+IHggKyB5Cisg
ICAgICAgICAgNCBhcnJvdyBmdW5jdGlvbiB3aXRoIGJsb2NrICAgICB4ID0+IHsgcmV0dXJuIHgq
MTA7IH0KKyAgICAgICAgICA1IGxleGljYWwgdGhpcyAtIHZhcmlhYmxlIHRoaXMgaXMgcG9pbnQg
dG8gdGhlIHRoaXMgb2YgdGhlIGZ1bmN0aW9uIHdoZXJlIGFycm93IGZ1bmN0aW9uIGlzIGRlY2xh
cmVkCisgICAgICAgICAgNiBObyBjb25zdHJ1Y3RvciAtIHRoZSB1c2luZyBvZiB0aGUgY29tbWFu
ZCBuZXcgZm9yIGFycm93IGZ1bmN0aW9uIGxlYWRzIHRvIHJ1bnRpbWUgZXJyb3IuIAorCisgICAg
ICAgICAgTm90IHlldCBpbXBsZW1lbnRlZDoKKyAgICAgICAgICAxIGxleGljYWwgYmluZCBvZiB0
aGUgYXJndW1lbnRzICYgc3VwZXIKKyAgICAgICAgICAyIEluc2lkZSBhbiBhcnJvdyBmdW5jdGlv
biwgbmV3LnRhcmdldCByZWZlcnMgdG8gdGhlIG5ldy50YXJnZXQgb2YgdGhlIHN1cnJvdW5kaW5n
IG5vbi1hcnJvdyBmdW5jdGlvbi4KKyAgICAgICAgICAzIGFycm93IGZ1bmN0aW9uIGRvZXNuw6LC
gMKZdCBpbmxpbmUgJiBjb21waWxlIGluIERGRyBtb2RlLiAKKworICAgICAgICAgKiBDb25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29y
ZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2o6CisgICAgICAgICogYnl0ZWNvZGUvQnl0
ZWNvZGVMaXN0Lmpzb246CisgICAgICAgICogYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaDoKKyAg
ICAgICAgKEpTQzo6RnVuY3Rvcjo6Y29tcHV0ZVVzZXNGb3JCeXRlY29kZU9mZnNldCk6CisgICAg
ICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpk
dW1wQnl0ZWNvZGUpOgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5o
OgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHA6CisgICAgICAg
IChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24p
OiBhZGRlZAorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFRoaXNOb2RlQnl0
ZWNvZGUpOiBhZGRlZAorICAgICAgICAqIGJ5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgor
ICAgICAgICAoSlNDOjplbWl0Qnl0ZWNvZGU6OmVtaXRCeXRlY29kZSk6IGFkZGVkCisgICAgICAg
IChKU0M6OkFycm93RnVuY0V4cHJOb2RlOjplbWl0Qnl0ZWNvZGUpOiBhZGRlZAorICAgICAgICAq
IGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6CisgICAgICAgIChKU0M6OkJ5dGVDb2RlUGFyc2Vy
OjpwYXJzZUJsb2NrKToKKyAgICAgICAgKiBkZmcvREZHQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAg
ICAgKEpTQzo6Q2FwYWJpbGl0eUxldmVsOjpjYXBhYmlsaXR5TGV2ZWwpOgorICAgICAgICAqIGpp
dC9KSVQuaDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX25ld19hcnJvd19mdW5jX2V4cCk6
IGFkZGVkCisgICAgICAgICogaml0L0pJVElubGluZXMuaDoKKyAgICAgICAgKEpTQzo6SklUOjpj
YWxsT3BlcmF0aW9uKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklULmNwcDoKKyAgICAgICAgKEpT
Qzo6SklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKToKKyAgICAgICAgKiBqaXQvSklUT3Bjb2Rl
cy5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9uZXdfYXJyb3dfZnVuY19leHApOiBh
ZGRlZAorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKEpTQzo6SklU
X09QRVJBVElPTjo6b3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbik6IGFkZGVkCisgICAgICAgICog
aml0L0pJVE9wZXJhdGlvbnMuaDoKKyAgICAgICAgKEpTQzo6SklUX09QRVJBVElPTjo6b3BlcmF0
aW9uTmV3QXJyb3dGdW5jdGlvbik6IGFkZGVkCisgICAgICAgICogbGxpbnQvTExJbnRTbG93UGF0
aHMuY3BwOgorICAgICAgICAoTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX25ld19hcnJv
d19mdW5jX2V4cCk6IGFkZGVkCisgICAgICAgICogbGxpbnQvTExJbnRTbG93UGF0aHMuaDoKKyAg
ICAgICAgKExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHAp
KTogYWRkZWQKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToKKyAgICAg
ICAgKiBkZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6
REZHOjpBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVj
dHMpOgorICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6CisgICAgICAgIChKU0M6
OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAqIGRmZy9ERkdDYXBh
YmlsaXRpZXMuY3BwOgorICAgICAgICAoSlNDOjpERkc6OmNhcGFiaWxpdHlMZXZlbCk6CisgICAg
ICAgICogZGZnL0RGR0Nsb2JiZXJpemUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpjbG9iYmVyaXpl
KToKKyAgICAgICAgKiBkZmcvREZHRG9lc0dDLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpkb2Vz
R0MpOgorICAgICAgICAqIGRmZy9ERkdGaXh1cFBoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpGaXh1cFBoYXNlOjpmaXh1cE5vZGUpOgorICAgICAgICAqIGRmZy9ERkdOb2RlLmg6CisgICAg
ICAgIChKU0M6OkRGRzo6Tm9kZTo6aGFzQ2VsbE9wZXJhbmQpOgorICAgICAgICAqIGRmZy9ERkdO
b2RlVHlwZS5oOgorICAgICAgICAqIGRmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5j
cHA6CisgICAgICAgIChKU0M6OkRGRzo6UHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2U6OnByb3Bh
Z2F0ZSk6CisgICAgICAgICogZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaDoKKyAgICAgICAgKEpTQzo6
REZHOjpzYWZlVG9FeGVjdXRlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuaDoK
KyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y2FsbE9wZXJhdGlvbik6CisgICAg
ICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6
OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVK
SVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgor
ICAgICAgICAqIGRmZy9ERkdTdHJ1Y3R1cmVSZWdpc3RyYXRpb25QaGFzZS5jcHA6CisgICAgICAg
IChKU0M6OkRGRzo6U3RydWN0dXJlUmVnaXN0cmF0aW9uUGhhc2U6OnJ1bik6CisgICAgICAgICog
ZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuY3BwOgorICAgICAgICAqIGZ0bC9GVExBYnN0
cmFjdEhlYXBSZXBvc2l0b3J5Lmg6CisgICAgICAgICogZnRsL0ZUTENhcGFiaWxpdGllcy5jcHA6
CisgICAgICAgIChKU0M6OkZUTDo6Y2FuQ29tcGlsZSk6CisgICAgICAgICogZnRsL0ZUTEludHJp
bnNpY1JlcG9zaXRvcnkuaDoKKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwOgor
ICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlTm9kZSk6CisgICAgICAg
IChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVOZXdBcnJvd0Z1bmN0aW9uKToKKyAg
ICAgICAgKiBwYXJzZXIvQVNUQnVpbGRlci5oOgorICAgICAgICAoSlNDOjpBU1RCdWlsZGVyOjpj
cmVhdGVBcnJvd0Z1bmN0aW9uRXhwcik6CisgICAgICAgICogcGFyc2VyL0xleGVyLmNwcDoKKyAg
ICAgICAgKEpTQzo6TGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24pOgorICAgICAgICAoSlNDOjpM
ZXhlcjxUPjo6bGV4KToKKyAgICAgICAgKiBwYXJzZXIvTGV4ZXIuaDoKKyAgICAgICAgKEpTQzo6
TGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24pOgorICAgICAgICAqIHBhcnNlci9Ob2RlQ29uc3Ry
dWN0b3JzLmg6CisgICAgICAgIChKU0M6OkFycm93RnVuY0V4cHJOb2RlOjpBcnJvd0Z1bmNFeHBy
Tm9kZSk6IGFkZGVkCisgICAgICAgICogcGFyc2VyL05vZGVzLmg6CisgICAgICAgIChKU0M6Ok5v
ZGU6OmlzQXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZAorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNF
eHByTm9kZSk6IGFkZGVkIGNsYXNzCisgICAgICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisgICAg
ICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsZW1lbnRzKToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlc3Npb24pOgorICAg
ICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU291cmNlRWxlbWVudCk6CisgICAgICAgIChKU0M6OlBh
cnNlcjo6cGFyc2VTdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXNzaWdu
bWVudEV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlUHJpbWFyeUV4cHJl
c3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dFeHByZXNzaW9uKToKKyAg
ICAgICAgKEpTQzo6UGFyc2VyOjpzZXRFbmRPZlN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBh
cnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6
cGFyc2VBcnJvd0Z1bmN0aW9uSW5mbyk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJv
d0Z1bmN0aW9uQm9keSk6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorICAgICAgICAoSlND
OjpQYXJzZXI6OkZ1bmN0aW9uUGFyc2VUeXBlKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJz
ZVNvdXJjZUVsZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KToK
KyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RXhwcmVzc2lvbik6CisgICAgICAgIChK
U0M6OlBhcnNlcjo6c2V0RW5kT2ZTdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBh
cnNlQXJyb3dGdW5jdGlvbldyYXBwZXIpOgorICAgICAgICAqIHBhcnNlci9QYXJzZXJGdW5jdGlv
bkluZm8uaDoKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyVG9rZW5zLmg6CisgICAgICAgIChKU0M6
OlBhcnNlckZ1bmN0aW9uSW5mbzo6YXJyb3dGdW5jdGlvbk9mZnNldCk6IGFkZGVkCisgICAgICAg
IChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6aXNBcnJvd0Z1bmN0aW9uKTogYWRkZWQKKyAgICAg
ICAgKEpTQzo6UGFyc2VyRnVuY3Rpb25JbmZvOjphcnJvd0Z1bmN0aW9uQm9keVR5cGUpOiBhZGRl
ZAorICAgICAgICAqIHBhcnNlci9Tb3VyY2VDb2RlLmg6CisgICAgICAgIChKU0M6OlNvdXJjZUNv
ZGU6OnN1YkFycm93RXhwcmVzc2lvbik6CisgICAgICAgICogcGFyc2VyL1N5bnRheENoZWNrZXIu
aDoKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIp
OgorICAgICAgICAqIHBhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbToKKyAgICAgICAgKEpT
Qzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMpOgorICAgICAgICAo
SlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbSk6CisgICAgICAgIChKU0M6OlNvdXJjZVByb3Zp
ZGVyQ2FjaGVJdGVtOjplbmRBcnJvd0Z1bmN0aW9uVG9rZW4pOgorICAgICAgICAqIHJ1bnRpbWUv
SlNBcnJvd0Z1bmN0aW9uLmg6IGFkZGVkIGNsYXNzIGZvciBoYW5kbGUgYXJyb3cgZnVuY3Rpb24g
Y3JlYXRpb24gYW5kIGV4ZWN1dGlvbgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJvd0Z1bmN0aW9u
LmNwcDoKKyAgICAgICAgKiBydW50aW1lL0pTRnVuY3Rpb24uaDoKKyAgICAgICAgKEpTQzo6SlNG
dW5jdGlvbjo6SlNGdW5jdGlvbik6IGFkZGVkIG9uZSBtb3JlIGNvbnN0cnVjdG9yCisgICAgICAg
ICogcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oOgorICAgICAgICAoSlNDOjpKU0Z1bmN0aW9u
OjpKU0Z1bmN0aW9uKTogYWRkZWQgY29uc3RydWN0b3IgaW1wbGVtZW50YXRpb24KKyAgICAgICAg
KiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmpl
Y3Q6OmluaXQpOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6bV9hcnJvd0Z1bmN0aW9u
U3RydWN0dXJlKTogYWRkZWQKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmFycm93RnVu
Y3Rpb25TdHJ1Y3R1cmUpOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFz
cGFyYW10ZXItMS5qczogQWRkZWQuCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tYXNwYXJhbXRlci0yLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1ib3VuZC5qczogQWRkZWQuCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tY2FsbC5qczogQWRkZWQuCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tY29uc3RydWN0b3IuanM6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
bGV4aWNhbC1hcmd1bWVudHMuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJv
d2Z1bmN0aW9uLWxleGljYWwtdGhpcy0xLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMtMi5qczogQWRkZWQuCisgICAgICAgICogdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTEuanM6IEFkZGVkLgorICAgICAgICAqIHRl
c3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMC0yLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAwMDAtMS5qczogQWRkZWQuCisgICAgICAg
ICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwMDAwLTIuanM6IEFkZGVkLgorICAg
ICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXN5bnRheC5qczogQWRkZWQuCisKIDIw
MTUtMDUtMDUgIEJhc2lsZSBDbGVtZW50ICA8YmFzaWxlX2NsZW1lbnRAYXBwbGUuY29tPgogCiAg
ICAgICAgIEZpeCBkZWJ1ZyBidWlsZHMgYWZ0ZXIgcjE4MzgxMgpAQCAtNjcwLDYgKzgzMCwxNCBA
QAogICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpwcm92ZW5WYWx1ZSk6CiAgICAg
ICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmFic3RyYWN0U3RydWN0dXJlKToKIAorMjAx
NS0wNC0xMiAgQWxleGFuZHIgU2thY2hrb3YgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorICAgICAg
ICBTbWFsbCByZWZhY3RvcmluZyBvZiB0aGUgcGFyY2VyLmNwcCBmaWxlLiBJdCBpcyBuZWNlc3Nh
cnkgdG8gaW5jcmVhc2UgcmVhZGFiaWxpdHkgb2YgdGhlIHBhdGNoCisgICAgICAgIHdpdGggRVM2
IEFycm93IGZ1bmN0aW9uIGltcGxlbWVudGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICAqIHBhcnNlci9QYXJzZXIu
aDoKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKwogMjAxNS0wNS0wMSAgTWFydGluIFJv
Ymluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgVVNFKC4uLikgbWFjcm8g
c2hvdWxkIGV4cGVjdCB1bnByZWZpeGVkIHZhcmlhYmxlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGUzMWFiYjRl
NDBhNDdjMWM4OTZmODU3YzhmNTQ5Y2U2MjM3Y2Q4ZTEuLjU3Njc4YThlZmNiNGVjYjVmMTM0YzQz
N2ZlZDdjOTcyMTliNTZjZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNS0wNC0x
NyAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisgICAgICAgIFtF
UzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmZWF0dXJlIGZsYWcgRU5BQkxF
X0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rpb24KKworICAgICAgICAq
IENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1LTA1LTA0ICBS
b2dlciBGb25nICA8cm9nZXJfZm9uZ0BhcHBsZS5jb20+CiAKICAgICAgICAgTWVkaWEgY29udHJv
bCB2b2x1bWUgc2xpZGVyIGlzIG9wYXF1ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA1MjlmZjlhODgz
OWVlOTM1NWE0MjBjOGZmOTJlYWYwOTdkNDZiNmFhLi45YWFmYzE4OGZjYjg3YmZhYmMzOWY1ZGFj
NzIyODczMGQzZDkzMGRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUt
MDQtMTcgIFNrYWNoa292IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAg
ICBbRVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVO
QUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggZm9yIGFycm93IGZ1bmN0aW9uCisKKyAgICAg
ICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxNS0wNS0w
NCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBUb2dnbGluZyB1
bmRlcmxpbmUgb3Igc3RyaWtlIHRocm91Z2ggYWZmZWN0cyBlYWNoIG90aGVyCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggODhjOTk3YmVjNjlmNWEzNmRlMzc1NTE3YzcyMmIy
MDFmNzE0NWMwMy4uM2UxOTY5NDZmYmM1NTkyYzFlOWU5NmQwMTk5ZDA1NjI0NTAzODE5YiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNDc0LDYgKzQ3NCw3IEBAIHNldChK
YXZhU2NyaXB0Q29yZV9SVU5USU1FX1NPVVJDRVMKICAgICBydW50aW1lL0pTQXJyYXlCdWZmZXJW
aWV3LmNwcAogICAgIHJ1bnRpbWUvSlNBcnJheUl0ZXJhdG9yLmNwcAogICAgIHJ1bnRpbWUvSlNC
b3VuZEZ1bmN0aW9uLmNwcAorICAgIHJ1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcAogICAgIHJ1
bnRpbWUvSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxlLmNwcAogICAgIHJ1bnRpbWUvSlNDSlNWYWx1
ZS5jcHAKICAgICBydW50aW1lL0pTQ2FsbGVlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmlu
ZGV4IGZjOTBmNjExNTYyMzFhNDFjYTkxMzdmMTdjNzk1NWU4ZDM3M2IwZWEuLjBjODg0MGY2YWI1
MTg1ZjgzNTRiNzA2MDNlMDI1ZjI1YTJhNzlmNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
QEAgLTQ0LDYgKzQ0LDcgQEAgRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORyA9IEVOQUJMRV9DQUNI
RV9QQVJUSVRJT05JTkc7CiBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7
CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9
IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRB
WCA9IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYOwogRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFM
X1NZTlRBWCA9IEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVg7CiBFTkFCTEVfQ09O
VEVOVF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CkBAIC0yMTUsNCArMjE2
LDQgQEAgRU5BQkxFX0pJVCA9IEVOQUJMRV9KSVQ7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VU
X0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFU
VVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRF
RF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChF
TkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxF
X0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZB
U19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19T
WU5UQVgpICQoRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkgJChFTkFCTEVfQ09O
VEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9O
U19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NT
U19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9D
U1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVf
Q1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1Nf
U0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhU
KSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJ
VFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NV
UFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJf
SVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVE
X01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVW
RUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkp
ICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVf
R0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAk
KEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykg
JChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lO
UFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlC
QUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVY
VF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lf
Q1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5B
QkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQo
RU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRI
TUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNF
KSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVO
QUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FU
T1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5B
QkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5U
RVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQo
RU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVF
U1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFC
TEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChF
TkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVf
U1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9D
UllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQo
RU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVN
RU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChF
TkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChF
TkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFD
SykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkg
JChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkg
JChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dF
Ql9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkg
JChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9T
QVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9N
T0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NS
T0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVO
VCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChF
TkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVO
QUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVS
SU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikg
JChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJ
TkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZ
T1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9S
RVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19M
RVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVf
Q1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJM
RV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVO
QUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVO
QUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFC
TEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5B
QkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9H
QU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNP
TkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lO
RElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQp
ICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRU
RVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVf
TUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwp
ICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRf
VVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQo
RU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJM
SUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElP
Tl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9J
TlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJF
Ul9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5U
SEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVO
QUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxF
UEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFC
TEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNI
X0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJT
RUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxF
X0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dF
QkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dF
Ql9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAk
KEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hT
TFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfU0FUVVJBVEVEX0xB
WU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZh
U2NyaXB0Q29yZS52Y3hwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagppbmRleCBhNTU1YWU5NWEzZWRiODhiYjE2
NGM2MGM0NDdiM2I3NWRiNWJmNTE3Li5mMDczMjY5N2MyM2ExYjM0YmNjMGJmOTA5ODI0NzQyM2Zh
MWI1YWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
dmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKQEAgLTczNSw2
ICs3MzUsNyBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0FycmF5QnVm
ZmVyUHJvdG90eXBlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVc
SlNBcnJheUJ1ZmZlclZpZXcuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVu
dGltZVxKU0JvdW5kRnVuY3Rpb24uY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
cnVudGltZVxKU0Fycm93RnVuY3Rpb24uY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5ccnVudGltZVxKU0NKU1ZhbHVlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XHJ1bnRpbWVcSlNDYWxsZWUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVu
dGltZVxKU0NhdGNoU2NvcGUuY3BwIiAvPgpAQCAtMTUzOCw2ICsxNTM5LDcgQEAKICAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJheUJ1ZmZlclZpZXdJbmxpbmVzLmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlJdGVyYXRvci5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0JvdW5kRnVuY3Rpb24uaCIg
Lz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJvd0Z1bmN0aW9uLmgi
IC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0lubGluZXMuaCIgLz4K
ICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZS5oIiAvPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NKU1ZhbHVlSW5saW5lcy5oIiAvPgpA
QCAtMTgxOSw0ICsxODIxLDQgQEAKICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJn
ZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcQnVpbGRDdXN0b21p
emF0aW9uc1xtYXNtLnRhcmdldHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+Ci08L1Byb2plY3Q+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCAxZjA0ZjM1NzkzODE1YTEzZTJhMTkxMTViNWY0YjdhNmMwOTE5MGQzLi5k
YjA2MTQ1MDQyODRjMzVhNjAxNTkzMThmODhlNGUzMGZlZjU3ZWJmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtMTEwOCw2ICsxMTA4LDggQEAKIAkJODZGM0VFQkYxNjhDREU5MzAw
NzdCOTJBIC8qIE9iamNSdW50aW1lRXh0cmFzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4NkYzRUVCNjE2ODU1QTVCMDA3N0I5MkEgLyogT2JqY1J1bnRp
bWVFeHRyYXMuaCAqLzsgfTsKIAkJODZGQTlFOTExNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRG
dW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4NkZBOUU4RjE0MkJCQjJEMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAqLzsgfTsK
IAkJODZGQTlFOTIxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGQTlFOTAxNDJCQkIyRTAw
MTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICovOyB9OworCQk4QjBGNDI0QzFBQkQ2REUyMDAz
OTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDhCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVu
Y3Rpb24uY3BwICovOyB9OworCQk4QjBGNDI0QzFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1
bmN0aW9uLmggaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggKi87IH07CiAJCTkw
MjEzRTNEMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkwMjEzRTNCMTIzQTQwQzIwMEQ0
MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmNwcCAqLzsgfTsKIAkJOTAyMTNFM0UxMjNBNDBDMjAw
RDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0
aXN0aWNzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJOTMwNTJDMzQwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMDUyQzMyMEZCNzkyMTkwMDQ4
RkRDMyAvKiBQYXJzZXJBcmVuYS5jcHAgKi87IH07CkBAIC0yODU4LDYgKzI4NjAsOCBAQAogCQk4
NkY3NUVGRDE1MUMwNjJGMDA3QzlCQTMgLyogUmVnRXhwTWF0Y2hlc0FycmF5LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZ0V4cE1hdGNoZXNBcnJheS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBK
U0JvdW5kRnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNCb3VuZEZ1bmN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODZGQTlF
OTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU0JvdW5kRnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJOEIwRjQyNEExQUJENkQyRjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU0Fycm93RnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Fycm93RnVuY3Rpb24uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MDIxM0UzQjEyM0E0MEMyMDBENDIyRjMgLyog
TWVtb3J5U3RhdGlzdGljcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBNZW1vcnlTdGF0aXN0aWNzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTAy
MTNFM0MxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gTWVtb3J5U3RhdGlzdGljcy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk5MzA1MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFyc2VyQXJlbmEuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDQ3Myw2ICs0NDc3LDggQEAKIAkJCQlBN0JE
QUVDNTE3RjRFQTE0MDBGNjE0MEMgLyogSlNBcnJheUl0ZXJhdG9yLmggKi8sCiAJCQkJODZGQTlF
OEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5jcHAgKi8sCiAJCQkJODZGQTlF
OTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICovLAorCQkJCThCMEY0MjRB
MUFCRDZEMkYwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uaCAqLywKKwkJCQk4QjBGNDI0QjFB
QkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCAqLywKIAkJCQk2NTdDRjQ1NjE5
QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuY3BwICovLAogCQkJCTY1N0NGNDU3MTlCRjY2NjIw
MDRBQ0JGMiAvKiBKU0NhbGxlZS5oICovLAogCQkJCTBGRDk0OTdFMUE5N0RCOTYwMEUyODk2NiAv
KiBKU0NhdGNoU2NvcGUuY3BwICovLApAQCAtNzIzMSw2ICs3MjM3LDcgQEAKIAkJCQkwRkQ4QTMx
QjE3RDUxRjIyMDBDQTJDNDAgLyogRlRMT1NSRW50cnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MEYyMzVCREMxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4aXQuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMEYyMzVCREYxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4aXRDb21waWxlci5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQk4QjBGNDI0QzFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1
bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRUEwQTJBMTcwOTYyOTYwMEJCNzIyQyAv
KiBGVExPdXRwdXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY0ODUzMjkxODdERkRFQzAwODNC
Njg3IC8qIEZUTFJlY292ZXJ5T3Bjb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNkIxQ0Mz
MTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExSZWdpc3RlckF0T2Zmc2V0LmNwcCBpbiBTb3VyY2VzICov
LApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlz
dC5qc29uIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29u
CmluZGV4IGUzZWQxZGNkYTRlMDNhNWYxMWVmOTFlNTYxMTllYjkzMDUxZmI3ZjYuLjU2Y2JhOTM2
YzQ3NTA1ZjU0Njg0MWVkNTdiYjliOGU4ZDNkMTZkOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxpc3QuanNvbgorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24KQEAgLTk1LDYgKzk1LDcgQEAKICAg
ICAgICAgICAgIHsgIm5hbWUiIDogIm9wX3N3aXRjaF9zdHJpbmciLCAibGVuZ3RoIiA6IDQgfSwK
ICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX25ld19mdW5jIiwgImxlbmd0aCIgOiA0IH0sCiAg
ICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfZnVuY19leHAiLCAibGVuZ3RoIiA6IDQgfSwK
KyAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX25ld19hcnJvd19mdW5jX2V4cCIsICJsZW5ndGgi
IDogNSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbCIsICJsZW5ndGgiIDogOSB9
LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbF9ldmFsIiwgImxlbmd0aCIgOiA5IH0s
CiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9jYWxsX3ZhcmFyZ3MiLCAibGVuZ3RoIiA6IDkg
fSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVz
ZURlZi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgK
aW5kZXggNzY2N2U2ODNlNDU0YTQ5OTk4NmVkYWNkOTBiNjQ5MTcyNDIwMzdjZC4uZGE0YTJhYWVl
YzI4NDU5NDFhZTM2NmRjZmI5ODU5MWNjYjNjY2Q0NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgKQEAgLTExNSw2ICsxMTUsOSBAQCB2b2lk
IGNvbXB1dGVVc2VzRm9yQnl0ZWNvZGVPZmZzZXQoCiAgICAgY2FzZSBvcF9nZXRfcHJvcGVydHlf
ZW51bWVyYXRvcjoKICAgICBjYXNlIG9wX2dldF9lbnVtZXJhYmxlX2xlbmd0aDoKICAgICBjYXNl
IG9wX25ld19mdW5jX2V4cDoKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorI2VuZGlmCiAgICAgY2FzZSBvcF90b19p
bmRleF9zdHJpbmc6CiAgICAgY2FzZSBvcF9pbml0X2dsb2JhbF9jb25zdF9ub3A6CiAgICAgY2Fz
ZSBvcF9pbml0X2dsb2JhbF9jb25zdDoKQEAgLTMwNyw2ICszMTAsOSBAQCB2b2lkIGNvbXB1dGVE
ZWZzRm9yQnl0ZWNvZGVPZmZzZXQoQ29kZUJsb2NrKiBjb2RlQmxvY2ssIHVuc2lnbmVkIGJ5dGVj
b2RlT2Zmc2V0LAogICAgIGNhc2Ugb3BfbmV3X3JlZ2V4cDoKICAgICBjYXNlIG9wX25ld19mdW5j
OgogICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6CisjZW5kaWYKICAgICBj
YXNlIG9wX2NhbGxfdmFyYXJnczoKICAgICBjYXNlIG9wX2NvbnN0cnVjdF92YXJhcmdzOgogICAg
IGNhc2Ugb3BfZ2V0X2Zyb21fc2NvcGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Db2RlQmxvY2suY3BwCmluZGV4IDkwMTM4Zjk3Y2JkODI4Zjk3MmNiMjI0NDJiZjQwNDQxZDEz
ZjQwNTYuLjcxODNkMDRkZDg4MmJiNjIyM2ZiYWNlMTdlNWZiYjUwMDkxZDgwMDQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCkBAIC0xMzAxLDYgKzEz
MDEsMTcgQEAgdm9pZCBDb2RlQmxvY2s6OmR1bXBCeXRlY29kZSgKICAgICAgICAgICAgIG91dC5w
cmludGYoIiVzLCAlcywgZiVkIiwgcmVnaXN0ZXJOYW1lKHIwKS5kYXRhKCksIHJlZ2lzdGVyTmFt
ZShyMSkuZGF0YSgpLCBmMCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGNhc2Ugb3BfbmV3X2Fycm93
X2Z1bmNfZXhwOiB7CisgICAgICAgICAgICBpbnQgcjAgPSAoKytpdCktPnUub3BlcmFuZDsKKyAg
ICAgICAgICAgIGludCByMSA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgaW50IGYw
ID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBpbnQgcjIgPSAoKytpdCktPnUub3Bl
cmFuZDsKKyAgICAgICAgICAgIHByaW50TG9jYXRpb25BbmRPcChvdXQsIGV4ZWMsIGxvY2F0aW9u
LCBpdCwgIm9wX25ld19hcnJvd19mdW5jX2V4cCIpOworICAgICAgICAgICAgb3V0LnByaW50Zigi
JXMsICVzLCBmJWQsICVzIiwgcmVnaXN0ZXJOYW1lKHIwKS5kYXRhKCksIHJlZ2lzdGVyTmFtZShy
MSkuZGF0YSgpLCBmMCwgcmVnaXN0ZXJOYW1lKHIyKS5kYXRhKCkpOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDogewog
ICAgICAgICAgICAgaW50IHIwID0gKCsraXQpLT51Lm9wZXJhbmQ7CiAgICAgICAgICAgICBpbnQg
cjEgPSAoKytpdCktPnUub3BlcmFuZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKaW5kZXggMmYyMWU0OWI2NTEw
ZjFiZTU4ZDA5YzMxNDA1ZTM3Y2E5ZWRiMzE5Zi4uNDE4ODlhYTM0ZGFmZmYxMDY0MDA2ZmM4MzBk
OTdmZjBmMDY2YjJhNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21w
aWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKQEAgLTE3NzUsNiArMTc3NSwyMiBAQCBS
ZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lvbihS
ZWdpc3RlcklEKiByMCwgRnVuY0V4cAogICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChpbmRleCk7
CiAgICAgcmV0dXJuIHIwOwogfQorICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCitSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Fycm93RnVuY3Rp
b25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIHIwLCBGdW5jRXhwck5vZGUqIG4pCit7CisgICAgZW1p
dFREWkNoZWNrKHRoaXNSZWdpc3RlcigpKTsKKyAgICBGdW5jdGlvbkJvZHlOb2RlKiBmdW5jdGlv
biA9IG4tPmJvZHkoKTsKKyAgICB1bnNpZ25lZCBpbmRleCA9IG1fY29kZUJsb2NrLT5hZGRGdW5j
dGlvbkV4cHIobWFrZUZ1bmN0aW9uKGZ1bmN0aW9uKSk7CisgICAgCisgICAgZW1pdE9wY29kZShv
cF9uZXdfYXJyb3dfZnVuY19leHApOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChyMC0+aW5k
ZXgoKSk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHNjb3BlUmVnaXN0ZXIoKS0+aW5kZXgo
KSk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKGluZGV4KTsKKyAgICBpbnN0cnVjdGlvbnMo
KS5hcHBlbmQodGhpc1JlZ2lzdGVyKCktPmluZGV4KCkpOworICAgIHJldHVybiByMDsKK30KKyNl
bmRpZgogCiBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0RlZmF1bHRDb25z
dHJ1Y3RvcihSZWdpc3RlcklEKiBkc3QsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQs
IGNvbnN0IElkZW50aWZpZXImIG5hbWUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggOWFmOGQ0ZmM0ODVk
OTg5MjQxYjExMTE4MDkyN2FhYTc2YTk1MzFjNC4uY2E2OGEyOWU2YmYxNWJlZTIwYjY5N2EwNGYy
ODdlY2ZmOGJiYzhjZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21w
aWxlci9CeXRlY29kZUdlbmVyYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaApAQCAtNDU0LDYgKzQ1NCwxMCBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0Z1bmN0aW9uSW50ZXJuYWwoUmVn
aXN0ZXJJRCogZHN0LCB1bnNpZ25lZCBpbmRleCk7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRO
ZXdGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogZHN0LCBGdW5jRXhwck5vZGUqIGZ1bmMp
OwogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3RGVmYXVsdENvbnN0cnVjdG9yKFJlZ2lzdGVy
SUQqIGRzdCwgQ29uc3RydWN0b3JLaW5kLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKTsKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBSZWdpc3RlcklEKiBlbWl0
TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCosIEZ1bmNFeHByTm9kZSopOwor
ICAgICAgICBSZWdpc3RlcklEKiBlbWl0VGhpc05vZGVCeXRlY29kZShSZWdpc3RlcklEKiwgSlNU
ZXh0UG9zaXRpb24pOworI2VuZGlmCiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdSZWdFeHAo
UmVnaXN0ZXJJRCogZHN0LCBSZWdFeHAqKTsKIAogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TW92
ZUxpbmtUaW1lQ29uc3RhbnQoUmVnaXN0ZXJJRCogZHN0LCBMaW5rVGltZUNvbnN0YW50KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2Vu
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNw
cAppbmRleCAwMjkwYzgxYWIwOTczY2VkMDZkNWE2ZGZlNzhjMjI1MTk2YjIyYjJmLi5kMzQzOGJl
MzQ0MmIzNGEwZmE5ZDJjMzk1MjhjYjE2ZTY4Njg1YmQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCkBAIC0yOTAxLDYgKzI5
MDEsMTQgQEAgUmVnaXN0ZXJJRCogRnVuY0V4cHJOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVH
ZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCoKICAgICByZXR1cm4gZ2VuZXJhdG9yLmVt
aXROZXdGdW5jdGlvbkV4cHJlc3Npb24oZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0KSwg
dGhpcyk7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAgICAKKy8v
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBBcnJvd0Z1bmNFeHByTm9kZSAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1JlZ2lzdGVySUQqIEFycm93RnVuY0V4cHJOb2Rl
OjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCog
ZHN0KQoreworICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNz
aW9uKGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHRoaXMpOworfQorI2VuZGlmCisg
ICAgCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0gQ2xhc3NEZWNsTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdElu
dGVycHJldGVySW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFj
dEludGVycHJldGVySW5saW5lcy5oCmluZGV4IDUzYzg0NWY1NmViNDA0MDg1M2Y0MTcyMTIwMGQ1
NTU0MDE4YTk3OTEuLmQ5ZjE5N2Q0MjJhNWU5MTMzM2EzNTQyMGYxOTExNmQwY2I4MDE2MzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRl
cklubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50
ZXJwcmV0ZXJJbmxpbmVzLmgKQEAgLTE1MzYsNyArMTUzNiwxMyBAQCBib29sIEFic3RyYWN0SW50
ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyh1bnNpZ25lZCBjbG9i
YmVyTGltaQogICAgIGNhc2UgQ3JlYXRlQ2xvbmVkQXJndW1lbnRzOgogICAgICAgICBmb3JOb2Rl
KG5vZGUpLnNldFR5cGUobV9ncmFwaCwgU3BlY09iamVjdE90aGVyKTsKICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIAorICAgICAgICAgICAgCisgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGZvck5vZGUobm9kZSku
c2V0KAorICAgICAgICAgICAgbV9ncmFwaCwgbV9jb2RlQmxvY2stPmdsb2JhbE9iamVjdEZvcihu
b2RlLT5vcmlnaW4uc2VtYW50aWMpLT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCkpOworI2VuZGlm
CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgTmV3RnVuY3Rpb246CiAgICAgICAgIGZvck5vZGUo
bm9kZSkuc2V0KAogICAgICAgICAgICAgbV9ncmFwaCwgbV9jb2RlQmxvY2stPmdsb2JhbE9iamVj
dEZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMpLT5mdW5jdGlvblN0cnVjdHVyZSgpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAppbmRleCBlZjRjMjQ3
NDliNzhmYTZlMDlhNGMzZDljMjkwMTNlYWE2NWRhYTkyLi4wZTNjODgwYjdjY2NiOWI3NTBhYTMw
ODk1ZjA2OTU5OGQ1MmRmZmIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0NhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdD
YXBhYmlsaXRpZXMuY3BwCkBAIC0yMzEsNiArMjMxLDcgQEAgQ2FwYWJpbGl0eUxldmVsIGNhcGFi
aWxpdHlMZXZlbChPcGNvZGVJRCBvcGNvZGVJRCwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIEluc3Ry
dWMKICAgICBjYXNlIG9wX3N3aXRjaF9zdHJpbmc6IC8vIERvbid0IGlubGluZSBiZWNhdXNlIHdl
IGRvbid0IHdhbnQgdG8gY29weSBzdHJpbmcgdGFibGVzIGluIHRoZSBjb25jdXJyZW50IEpJVC4K
ICAgICAgICAgcmV0dXJuIENhbkNvbXBpbGU7CiAKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5j
X2V4cDogLy8gRml4bWU6IEFycm93IGZ1bmN0aW9uIGNhbm4ndCBiZSBpbmxpbmUgYXMgdGhlIGNv
bW1vbiBmdW5jdGlvbiBiZWNhdXNlIGl0IGhhcyBsZXhpY2FseSBiaW5kIHRoaXMvYXJndW1lbnRz
IGFuZCBldGMuIGFuZCAgYXJyb3cgZnVuY3Rpb24gaGFzIHRvIGhhdmUgaXRzIG93biBjb21waWxl
IGFuZCBpbmxpbmUgYXBwcm9hY2guCiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIENhbm5v
dENvbXBpbGU7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdDbG9iYmVyaXplLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUu
aAppbmRleCA2MGE4OTk0ODNiMDVhODkzZmQ2ZjM4NWI0MjM5NDRjYTFkNTY5ZWRjLi43ODVmNjc3
YmNlN2RmMDUxNjBkMTNmNDQ2ODZmNmQ5YTYwMjI4OGZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0Nsb2JiZXJpemUuaApAQCAtODU5LDcgKzg1OSw4IEBAIHZvaWQgY2xvYmJlcml6
ZShHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUsIGNvbnN0IFJlYWRGdW5jdG9yJiByZWFkLCBjb25z
dCBXcml0ZUZ1CiAgICAgICAgIHJlYWQoSGVhcE9iamVjdENvdW50KTsKICAgICAgICAgd3JpdGUo
SGVhcE9iamVjdENvdW50KTsKICAgICAgICAgcmV0dXJuOwotICAgICAgICAKKyAgICAKKyAgICBj
YXNlIE5ld0Fycm93RnVuY3Rpb246CiAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICAgICAgaWYg
KG5vZGUtPmNhc3RPcGVyYW5kPEZ1bmN0aW9uRXhlY3V0YWJsZSo+KCktPnNpbmdsZXRvbkZ1bmN0
aW9uKCktPmlzU3RpbGxWYWxpZCgpKQogICAgICAgICAgICAgd3JpdGUoV2F0Y2hwb2ludF9maXJl
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcAppbmRleCBhOWUzMGFjYjRi
MGEzZTQ2ZDE5YWMyOGM5MzE2NzEwZTBkZWFjMDQ1Li44NmIwZjAzMGZiMWYzZThlM2VhNGE5MDgw
OTlkZjk2ODcxMGU5Yjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0RvZXNHQy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3Bw
CkBAIC0yMjksNiArMjI5LDcgQEAgYm9vbCBkb2VzR0MoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2Rl
KQogICAgIGNhc2UgTmV3UmVnZXhwOgogICAgIGNhc2UgTmV3U3RyaW5nT2JqZWN0OgogICAgIGNh
c2UgTWFrZVJvcGU6CisgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgogICAgIGNhc2UgTmV3RnVu
Y3Rpb246CiAgICAgY2FzZSBOZXdUeXBlZEFycmF5OgogICAgIGNhc2UgVGhyb3dSZWZlcmVuY2VF
cnJvcjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFz
ZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCmluZGV4
IDliZWE2YzhhOTc2YWM2MmYzM2RmMjQ5MWNlZDQ2NDhmYzYzYTE1NGIuLjkwODVjNjM0NmU1ZTAz
YTExZmQwNzhjZDViNGM0ZTU1YTg5MmQ2YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdGaXh1cFBoYXNlLmNwcApAQCAtMTE3Niw2ICsxMTc2LDcgQEAgcHJpdmF0ZToKIAogICAg
ICAgICBjYXNlIENyZWF0ZVNjb3BlZEFyZ3VtZW50czoKICAgICAgICAgY2FzZSBDcmVhdGVBY3Rp
dmF0aW9uOgorICAgICAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246CiAgICAgICAgIGNhc2UgTmV3
RnVuY3Rpb246IHsKICAgICAgICAgICAgIGZpeEVkZ2U8Q2VsbFVzZT4obm9kZS0+Y2hpbGQxKCkp
OwogICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR05vZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCmluZGV4
IDJkNzc1ZjUxZTVkNTllMjc4NTI3OTE0ODFkNDczZGU1MDMzMmJkMDkuLmMyOTU4MmFhOWRiZWE1
YTNmMTJkNzg1YWU4NzNlZWEyNTFiOTA3ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHTm9kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9k
ZS5oCkBAIC0xMjg2LDYgKzEyODYsNyBAQCBzdHJ1Y3QgTm9kZSB7CiAgICAgICAgIGNhc2UgQ2hl
Y2tDZWxsOgogICAgICAgICBjYXNlIE5hdGl2ZUNvbnN0cnVjdDoKICAgICAgICAgY2FzZSBOYXRp
dmVDYWxsOgorICAgICAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246CiAgICAgICAgIGNhc2UgTmV3
RnVuY3Rpb246CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgZGVmYXVsdDoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAppbmRleCA3NWM4ODQyMzdhMDBiMTZk
ODcwZDI0MDE0NTkzMThkZWRjMWFlOGZjLi5mM2UzODkyOTczMGUzODgxMDEwYjVmMzYxM2ZhNTM4
NzgzNTU2OTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVU
eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCkBAIC0y
OTMsNiArMjkzLDggQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewogICAgIFwKICAg
ICBtYWNybyhOZXdGdW5jdGlvbiwgTm9kZVJlc3VsdEpTKSBcCiAgICAgXAorICAgIG1hY3JvKE5l
d0Fycm93RnVuY3Rpb24sIE5vZGVSZXN1bHRKUyB8IE5vZGVNdXN0R2VuZXJhdGUpIFwKKyAgICBc
CiAgICAgLyogVGhlc2UgYXJlbid0IHRlcm1pbmFscyBidXQgYWx3YXlzIGV4aXQgKi8gXAogICAg
IG1hY3JvKFRocm93LCBOb2RlTXVzdEdlbmVyYXRlKSBcCiAgICAgbWFjcm8oVGhyb3dSZWZlcmVu
Y2VFcnJvciwgTm9kZU11c3RHZW5lcmF0ZSkgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcAppbmRleCAz
MWQ2NmFiZTVjOGFjNzQ3MDZmMWQyZGFkOTI5ODEzM2Y3Yzg1ODY1Li5iNzA4NDExZDljY2Y0Mjkz
Y2EyNTNmNWI0NTRiYzYwNWQ5MTAzYTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcApAQCAtMjE3
LDYgKzIxNyw3IEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgR2V0R2V0dGVyOgogICAgICAgICBj
YXNlIEdldFNldHRlcjoKICAgICAgICAgY2FzZSBHZXRDYWxsZWU6CisgICAgICAgIGNhc2UgTmV3
QXJyb3dGdW5jdGlvbjoKICAgICAgICAgY2FzZSBOZXdGdW5jdGlvbjogewogICAgICAgICAgICAg
Y2hhbmdlZCB8PSBzZXRQcmVkaWN0aW9uKFNwZWNGdW5jdGlvbik7CiAgICAgICAgICAgICBicmVh
azsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0
ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKaW5kZXgg
ZjRiMDc5Zjg3YjAxOGMwMDU3MzI2ZWIwOTUxNDI2MDc4NWUzMmVjNi4uNWU1MmI0ZWE4NDg2Y2U5
OThjM2FhMjgzOTM0Y2E4Y2Q0YmYwZDY1NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTYWZlVG9FeGVjdXRlLmgKQEAgLTIyOCw2ICsyMjgsNyBAQCBib29sIHNhZmVUb0V4ZWN1
dGUoQWJzdHJhY3RTdGF0ZVR5cGUmIHN0YXRlLCBHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUpCiAg
ICAgY2FzZSBDcmVhdGVDbG9uZWRBcmd1bWVudHM6CiAgICAgY2FzZSBHZXRGcm9tQXJndW1lbnRz
OgogICAgIGNhc2UgUHV0VG9Bcmd1bWVudHM6CisgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgog
ICAgIGNhc2UgTmV3RnVuY3Rpb246CiAgICAgY2FzZSBKdW1wOgogICAgIGNhc2UgQnJhbmNoOgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCmluZGV4IDY3
ZTY3M2IxYzFiNmIyMWFlNzEwMzgzNGM5YWZiMmMwNmU3MWQ5MWQuLjMwYmJlYjE2NGM3MzJlYzMw
NDJjMTE1MGZmZDFjZmU0OTg0MTczODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NwZWN1bGF0aXZlSklULmgKQEAgLTEyMDUsNiArMTIwNSwxMiBAQCBwdWJsaWM6CiAgICAg
ICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBUcnVzdGVkSW1tUHRy
KGNlbGwpKTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRS
ZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KKyAgICAKKyAgICBKSVRDb21waWxlcjo6
Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKc2NDSiBvcGVyYXRpb24sIEdQUlJl
ZyByZXN1bHQsIEdQUlJlZyBhcmcxLCBKU0NlbGwqIGNlbGwsIEdQUlJlZyBhcmcyKQorICAgIHsK
KyAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIFRydXN0ZWRJ
bW1QdHIoY2VsbCksIGFyZzIpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRp
b25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CisgICAgfQogCiAgICAgSklUQ29t
cGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FV3Mgb3BlcmF0aW9uLCBX
YXRjaHBvaW50U2V0KiB3YXRjaHBvaW50U2V0KQogICAgIHsKQEAgLTE2MTEsNiArMTYxNywxMSBA
QCBwdWJsaWM6CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcx
LCBUcnVzdGVkSW1tUHRyKGNlbGwpKTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhj
ZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcp
OwogICAgIH0KKyAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0
aW9uX0VKc2NDSiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHRUYWcsIEdQUlJlZyByZXN1bHRQYXls
b2FkLCBHUFJSZWcgYXJnMSwgSlNDZWxsKiBjZWxsLCBHUFJSZWcgYXJnMikKKyAgICB7CisgICAg
ICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBUcnVzdGVkSW1tUHRy
KGNlbGwpLCBhcmcyKTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hl
Y2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcpOworICAgIH0K
ICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VTc2lD
SSBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHRUYWcsIEdQUlJlZyByZXN1bHRQYXlsb2FkLCBTdHJ1
Y3R1cmVTdHViSW5mbyogc3R1YkluZm8sIEdQUlJlZyBhcmcxLCBjb25zdCBTdHJpbmdJbXBsKiB1
aWQpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1
c3RlZEltbVB0cihzdHViSW5mbyksIGFyZzEsIFRydXN0ZWRJbW1QdHIodWlkKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcApp
bmRleCAyM2NmMjQ0YjBjODNjOTcxNWJlNzExNTRlYjZjMjY3ZWQ1YTMzODc0Li44OGQ5ZWU5OTVk
MDY1MzU3YmUwMTcyMDMxZjZjNTQ0YTI4MjdlNDAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKQEAgLTQyMTMsNyArNDIx
MywxMSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAg
IGNvbXBpbGVDcmVhdGVDbG9uZWRBcmd1bWVudHMobm9kZSk7CiAgICAgICAgIGJyZWFrOwogICAg
IH0KLSAgICAgICAgCisgICAgCisgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgorICAgICAgICBE
RkdfQ1JBU0gobV9qaXQuZ3JhcGgoKSwgbm9kZSwgIkFycm93IGZ1bmN0aW9uIGNhblwndCBiZSBj
b21waWxlZCBpbiBERkciKTsKKyAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAKICAgICBjYXNl
IE5ld0Z1bmN0aW9uOgogICAgICAgICBjb21waWxlTmV3RnVuY3Rpb24obm9kZSk7CiAgICAgICAg
IGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxh
dGl2ZUpJVDY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQ2NC5jcHAKaW5kZXggM2U1NzRkNGY2OWIwNTkzNjE0Y2M3ZjJiZDMxY2ViOWQ1OGVlY2UzMC4u
Zjc3NDA4YWZhMzJmYzEyNzViOWZjOTllZTA1NzIxYjgxMmZkMjQ3MSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCkBAIC00MjUyLDEx
ICs0MjUyLDE1IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAg
ICAgICAgY29tcGlsZUNyZWF0ZUNsb25lZEFyZ3VtZW50cyhub2RlKTsKICAgICAgICAgYnJlYWs7
CiAgICAgfQotICAgICAgICAKKworICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKKyAgICAgICAg
REZHX0NSQVNIKG1faml0LmdyYXBoKCksIG5vZGUsICJBcnJvdyBmdW5jdGlvbiBjYW5cJyBpbiBE
RkciKTsKKyAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAKICAgICBjYXNlIE5ld0Z1bmN0aW9u
OgogICAgICAgICBjb21waWxlTmV3RnVuY3Rpb24obm9kZSk7CiAgICAgICAgIGJyZWFrOwotICAg
ICAgICAKKwogICAgIGNhc2UgSW46CiAgICAgICAgIGNvbXBpbGVJbihub2RlKTsKICAgICAgICAg
YnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1N0cnVjdHVy
ZVJlZ2lzdHJhdGlvblBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Ry
dWN0dXJlUmVnaXN0cmF0aW9uUGhhc2UuY3BwCmluZGV4IDI4NjQ2ZDEzZmNmNGM5NjVjNjIwZDAw
MjExYjBkY2JmMDNiMzdjMmQuLjJjNDJkZjNjMDIzODNlNzFmNWVjOTU4NmEyNzhmYmIxZGIxMzA4
MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RydWN0dXJlUmVn
aXN0cmF0aW9uUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Ry
dWN0dXJlUmVnaXN0cmF0aW9uUGhhc2UuY3BwCkBAIC0xMzAsNyArMTMwLDExIEBAIHB1YmxpYzoK
ICAgICAgICAgICAgICAgICBjYXNlIE5ld1JlZ2V4cDoKICAgICAgICAgICAgICAgICAgICAgcmVn
aXN0ZXJTdHJ1Y3R1cmUobV9ncmFwaC5nbG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFu
dGljKS0+cmVnRXhwU3RydWN0dXJlKCkpOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9u
OgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgICAgICAgICAg
ICAgIHJlZ2lzdGVyU3RydWN0dXJlKG1fZ3JhcGguZ2xvYmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdp
bi5zZW1hbnRpYyktPmFycm93RnVuY3Rpb25TdHJ1Y3R1cmUoKSk7CisjZW5kaWYKKyAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAg
ICAgICAgICAgICAgICAgICAgcmVnaXN0ZXJTdHJ1Y3R1cmUobV9ncmFwaC5nbG9iYWxPYmplY3RG
b3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKS0+ZnVuY3Rpb25TdHJ1Y3R1cmUoKSk7CiAgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5jcHAKaW5kZXggZTQxNmZkYWFmZWUyMjI5ZjY1
M2I5YWUwNjI0ODAwMDk5OTg3NWEwMC4uM2MzODY0Y2ExODBhYTM2ZTQ4MDhjMjNhMTMwNmJlMjhl
NWQ3YjkwMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFj
dEhlYXBSZXBvc2l0b3J5LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFi
c3RyYWN0SGVhcFJlcG9zaXRvcnkuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJE
aXJlY3RBcmd1bWVudHMuaCIKICNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKKyNpbmNsdWRlICJK
U0Fycm93RnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0Vudmlyb25tZW50UmVjb3JkLmgiCiAjaW5j
bHVkZSAiSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yLmgiCiAjaW5jbHVkZSAiSlNTY29wZS5oIgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBv
c2l0b3J5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9z
aXRvcnkuaAppbmRleCA5MTI3NTRkZmM0MDE1MmIwZWQyNDgzNmFjNzViOGY5Njk4NDM5OWJiLi5l
ZWIyMDhiZTFmNDZjZmM0MmI5NDk1YTlmYTkyMWZiY2Q2ZDgyZGE3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaApAQCAt
ODgsNiArODgsMTMgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgewogICAgIG1hY3Jv
KFN0cnVjdHVyZV9nbG9iYWxPYmplY3QsIFN0cnVjdHVyZTo6Z2xvYmFsT2JqZWN0T2Zmc2V0KCkp
IFwKICAgICBtYWNybyhTdHJ1Y3R1cmVfcHJvdG90eXBlLCBTdHJ1Y3R1cmU6OnByb3RvdHlwZU9m
ZnNldCgpKSBcCiAgICAgbWFjcm8oU3RydWN0dXJlX3N0cnVjdHVyZUlELCBTdHJ1Y3R1cmU6OnN0
cnVjdHVyZUlET2Zmc2V0KCkpCisgICAgCisjZGVmaW5lIEZPUl9FQUNIX0FCU1RSQUNUX0ZJRUxE
X0FSUk9XRlVOQ1RJT04obWFjcm8pIFwKKyAgICBtYWNybyhKU0Fycm93RnVuY3Rpb25fZXhlY3V0
YWJsZSwgSlNBcnJvd0Z1bmN0aW9uOjpvZmZzZXRPZkV4ZWN1dGFibGUoKSkgXAorICAgIG1hY3Jv
KEpTQXJyb3dGdW5jdGlvbl9zY29wZSwgSlNBcnJvd0Z1bmN0aW9uOjpvZmZzZXRPZlNjb3BlQ2hh
aW4oKSkgXAorICAgIG1hY3JvKEpTQXJyb3dGdW5jdGlvbl9yYXJlRGF0YSwgSlNBcnJvd0Z1bmN0
aW9uOjpvZmZzZXRPZlJhcmVEYXRhKCkpIFwKKyAgICBtYWNybyhKU0Fycm93RnVuY3Rpb25fdGhp
cywgSlNBcnJvd0Z1bmN0aW9uOjpvZmZzZXRPZlRoaXNWYWx1ZSgpKQorICAgIAogCiAjZGVmaW5l
IEZPUl9FQUNIX0lOREVYRURfQUJTVFJBQ1RfSEVBUChtYWNybykgXAogICAgIG1hY3JvKERpcmVj
dEFyZ3VtZW50c19zdG9yYWdlLCBEaXJlY3RBcmd1bWVudHM6OnN0b3JhZ2VPZmZzZXQoKSwgc2l6
ZW9mKEVuY29kZWRKU1ZhbHVlKSkgXApAQCAtMTI5LDYgKzEzNiw5IEBAIHB1YmxpYzoKIAogI2Rl
ZmluZSBBQlNUUkFDVF9GSUVMRF9ERUNMQVJBVElPTihuYW1lLCBvZmZzZXQpIEFic3RyYWN0Rmll
bGQgbmFtZTsKICAgICBGT1JfRUFDSF9BQlNUUkFDVF9GSUVMRChBQlNUUkFDVF9GSUVMRF9ERUNM
QVJBVElPTikKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEZPUl9F
QUNIX0FCU1RSQUNUX0ZJRUxEX0FSUk9XRlVOQ1RJT04oQUJTVFJBQ1RfRklFTERfREVDTEFSQVRJ
T04pCisjZW5kaWYKICN1bmRlZiBBQlNUUkFDVF9GSUVMRF9ERUNMQVJBVElPTgogICAgIAogICAg
IEFic3RyYWN0RmllbGQmIEpTQ2VsbF9mcmVlTGlzdE5leHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAKaW5kZXggMGJmZGZjY2M2ZDMyYWVkYjQ4MGM3
Mzg5YWRjYmUxNjViNzdiNGUyMy4uM2JmMzg3OTA3MjljNTZhNTdhMzY3MzMxYmEzMmY5M2Y0MjQy
ZDQ2MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRp
ZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNw
cApAQCAtMTAzLDYgKzEwMyw3IEBAIGlubGluZSBDYXBhYmlsaXR5TGV2ZWwgY2FuQ29tcGlsZShO
b2RlKiBub2RlKQogICAgIGNhc2UgTG9vcEhpbnQ6CiAgICAgY2FzZSBTa2lwU2NvcGU6CiAgICAg
Y2FzZSBDcmVhdGVBY3RpdmF0aW9uOgorICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKICAgICBj
YXNlIE5ld0Z1bmN0aW9uOgogICAgIGNhc2UgR2V0Q2xvc3VyZVZhcjoKICAgICBjYXNlIFB1dENs
b3N1cmVWYXI6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEludHJp
bnNpY1JlcG9zaXRvcnkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSW50cmluc2lj
UmVwb3NpdG9yeS5oCmluZGV4IDNkNjZlY2E4OGQwNDNiYjM1NmNiOTY2N2U5ZjZlMzVhZjk4NmI4
ZDMuLjhmYjdhZWU0Y2I0MDFjN2ZhMmFjZTIyOTkyZmYxNTYwZGQ3OWZmZWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSW50cmluc2ljUmVwb3NpdG9yeS5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSW50cmluc2ljUmVwb3NpdG9yeS5oCkBAIC04
NCw2ICs4NCw3IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKICAgICBtYWNybyhK
X0pJVE9wZXJhdGlvbl9FSkMsIGZ1bmN0aW9uVHlwZShpbnQ2NCwgaW50UHRyLCBpbnQ2NCwgaW50
UHRyKSkgXAogICAgIG1hY3JvKEpfSklUT3BlcmF0aW9uX0VKSiwgZnVuY3Rpb25UeXBlKGludDY0
LCBpbnRQdHIsIGludDY0LCBpbnQ2NCkpIFwKICAgICBtYWNybyhKX0pJVE9wZXJhdGlvbl9FSnNj
QywgZnVuY3Rpb25UeXBlKGludFB0ciwgaW50UHRyLCBpbnRQdHIsIGludFB0cikpIFwKKyAgICBt
YWNybyhKX0pJVE9wZXJhdGlvbl9FSnNjQ0osIGZ1bmN0aW9uVHlwZShpbnQ2NCwgaW50UHRyLCBp
bnQ2NCwgaW50NjQsIGludDY0KSlcCiAgICAgbWFjcm8oSl9KSVRPcGVyYXRpb25fRUpzc1osIGZ1
bmN0aW9uVHlwZShpbnQ2NCwgaW50UHRyLCBpbnRQdHIsIGludDMyKSkgXAogICAgIG1hY3JvKEpf
SklUT3BlcmF0aW9uX0VTc2lKSSwgZnVuY3Rpb25UeXBlKGludDY0LCBpbnRQdHIsIGludFB0ciwg
aW50NjQsIGludFB0cikpIFwKICAgICBtYWNybyhKc3NfSklUT3BlcmF0aW9uX0VaLCBmdW5jdGlv
blR5cGUoaW50UHRyLCBpbnRQdHIsIGludDMyKSkgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAppbmRleCBlMGQ4MmJhMDEyMmU5ODQ5Zjg4Mzg4
MDVjNjQ2MGJkMDZiNTYxOTY2Li5jNGJhYjFmYjVjNTZiNTMyMzdjMjQzYTQwMzhlMzY1MTMyMjQx
NmU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9M
TFZNLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZN
LmNwcApAQCAtNDMsNiArNDMsNyBAQAogI2luY2x1ZGUgIkZUTE91dHB1dC5oIgogI2luY2x1ZGUg
IkZUTFRodW5rcy5oIgogI2luY2x1ZGUgIkZUTFdlaWdodGVkVGFyZ2V0LmgiCisjaW5jbHVkZSAi
SlNBcnJvd0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpT
TGV4aWNhbEVudmlyb25tZW50LmgiCiAjaW5jbHVkZSAiT3BlcmFuZHNJbmxpbmVzLmgiCkBAIC02
MDYsNiArNjA3LDExIEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgQ3JlYXRlQWN0aXZhdGlvbjoK
ICAgICAgICAgICAgIGNvbXBpbGVDcmVhdGVBY3RpdmF0aW9uKCk7CiAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgorI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgICAgICAgICBjb21waWxlTmV3QXJyb3dGdW5jdGlvbigpOwor
I2VuZGlmCisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAg
ICAgICAgICAgIGNvbXBpbGVOZXdGdW5jdGlvbigpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC0y
OTgyLDYgKzI5ODgsNTIgQEAgcHJpdmF0ZToKICAgICAgICAgc2V0SlNWYWx1ZShtX291dC5waGko
bV9vdXQuaW50UHRyLCBmYXN0UmVzdWx0LCBzbG93UmVzdWx0KSk7CiAgICAgfQogICAgIAorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdm9pZCBjb21waWxlTmV3QXJy
b3dGdW5jdGlvbigpCisgICAgeworCisgICAgICAgIExWYWx1ZSBzY29wZSA9IGxvd0NlbGwobV9u
b2RlLT5jaGlsZDEoKSk7CisgICAgICAgIExWYWx1ZSB0aGlzVmFsdWUgPSBsb3dKU1ZhbHVlKG1f
bm9kZS0+Y2hpbGQyKCkpOworICAgICAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUg
PSBtX25vZGUtPmNhc3RPcGVyYW5kPEZ1bmN0aW9uRXhlY3V0YWJsZSo+KCk7CisgICAgICAgIGlm
IChleGVjdXRhYmxlLT5zaW5nbGV0b25GdW5jdGlvbigpLT5pc1N0aWxsVmFsaWQoKSkgeworICAg
ICAgICAgICAgTFZhbHVlIGNhbGxSZXN1bHQgPSB2bUNhbGwoCisgICAgICAgICAgICAgICAgbV9v
dXQub3BlcmF0aW9uKG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24pLAorICAgICAgICAgICAgICAg
IG1fY2FsbEZyYW1lLCBzY29wZSwgd2Vha1BvaW50ZXIoZXhlY3V0YWJsZSksIHRoaXNWYWx1ZSk7
CisgICAgICAgICAgICBzZXRKU1ZhbHVlKGNhbGxSZXN1bHQpOworICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IG1f
Z3JhcGguZ2xvYmFsT2JqZWN0Rm9yKG1fbm9kZS0+b3JpZ2luLnNlbWFudGljKS0+YXJyb3dGdW5j
dGlvblN0cnVjdHVyZSgpOworICAgICAgICAKKyAgICAgICAgTEJhc2ljQmxvY2sgc2xvd1BhdGgg
PSBGVExfTkVXX0JMT0NLKG1fb3V0LCAoIk5ld0Fycm93RnVuY3Rpb24gc2xvdyBwYXRoIikpOwor
ICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBGVExfTkVXX0JMT0NLKG1fb3V0LCAo
Ik5ld0Fycm93RnVuY3Rpb24gY29udGludWF0aW9uIikpOworICAgICAgICAKKyAgICAgICAgTEJh
c2ljQmxvY2sgbGFzdE5leHQgPSBtX291dC5pbnNlcnROZXdCbG9ja3NCZWZvcmUoc2xvd1BhdGgp
OworICAgICAgICAKKyAgICAgICAgTFZhbHVlIGZhc3RPYmplY3QgPSBhbGxvY2F0ZU9iamVjdDxK
U0Fycm93RnVuY3Rpb24+KHN0cnVjdHVyZSwgbV9vdXQuaW50UHRyWmVybywgc2xvd1BhdGgpOwor
ICAgICAgICAKKyAgICAgICAgLy8gV2UgZG9uJ3QgbmVlZCBtZW1vcnkgYmFycmllcnMgc2luY2Ug
d2UganVzdCBmYXN0LWNyZWF0ZWQgdGhlIGZ1bmN0aW9uLCBzbyBpdAorICAgICAgICAvLyBtdXN0
IGJlIHlvdW5nLgorICAgICAgICBtX291dC5zdG9yZVB0cihzY29wZSwgZmFzdE9iamVjdCwgbV9o
ZWFwcy5KU0Fycm93RnVuY3Rpb25fc2NvcGUpOworICAgICAgICBtX291dC5zdG9yZVB0cih3ZWFr
UG9pbnRlcihleGVjdXRhYmxlKSwgZmFzdE9iamVjdCwgbV9oZWFwcy5KU0Fycm93RnVuY3Rpb25f
ZXhlY3V0YWJsZSk7CisgICAgICAgIG1fb3V0LnN0b3JlUHRyKHRoaXNWYWx1ZSwgZmFzdE9iamVj
dCwgbV9oZWFwcy5KU0Fycm93RnVuY3Rpb25fdGhpcyk7CisgICAgICAgIG1fb3V0LnN0b3JlUHRy
KG1fb3V0LmludFB0clplcm8sIGZhc3RPYmplY3QsIG1faGVhcHMuSlNBcnJvd0Z1bmN0aW9uX3Jh
cmVEYXRhKTsKKyAgICAgICAgCisgICAgICAgIFZhbHVlRnJvbUJsb2NrIGZhc3RSZXN1bHQgPSBt
X291dC5hbmNob3IoZmFzdE9iamVjdCk7CisgICAgICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9u
KTsKKyAgICAgICAgCisgICAgICAgIG1fb3V0LmFwcGVuZFRvKHNsb3dQYXRoLCBjb250aW51YXRp
b24pOworICAgICAgICBMVmFsdWUgY2FsbFJlc3VsdCA9IHZtQ2FsbCgKKyAgICAgICAgICAgIG1f
b3V0Lm9wZXJhdGlvbihvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uV2l0aEludmFsaWRhdGVkUmVh
bGxvY2F0aW9uV2F0Y2hwb2ludCksCisgICAgICAgICAgICBtX2NhbGxGcmFtZSwgc2NvcGUsIHdl
YWtQb2ludGVyKGV4ZWN1dGFibGUpLCB0aGlzVmFsdWUpOworICAgICAgICBWYWx1ZUZyb21CbG9j
ayBzbG93UmVzdWx0ID0gbV9vdXQuYW5jaG9yKGNhbGxSZXN1bHQpOworICAgICAgICBtX291dC5q
dW1wKGNvbnRpbnVhdGlvbik7CisgICAgICAgIAorICAgICAgICBtX291dC5hcHBlbmRUbyhjb250
aW51YXRpb24sIGxhc3ROZXh0KTsKKyAgICAgICAgc2V0SlNWYWx1ZShtX291dC5waGkobV9vdXQu
aW50UHRyLCBmYXN0UmVzdWx0LCBzbG93UmVzdWx0KSk7CisgICAgfQorI2VuZGlmCisgICAgCiAg
ICAgdm9pZCBjb21waWxlQ3JlYXRlRGlyZWN0QXJndW1lbnRzKCkKICAgICB7CiAgICAgICAgIC8v
IEZJWE1FOiBBIG1vcmUgZWZmZWN0aXZlIHdheSBvZiBkZWFsaW5nIHdpdGggdGhlIGFyZ3VtZW50
IGNvdW50IGFuZCBjYWxsZWUgaXMgdG8gaGF2ZQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKaW5kZXggMTdkZDNiNGY0NWY1NmZmMjAwMjNk
NzNiNzVkYzdkNzBiNjM0OTY4Zi4uMjAwMDVjMDcxNTMzYjE2ODNhZmRhMmQ2MmRjNjVjMDE2N2Q5
MTA5NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVy
cHJldGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJw
cmV0ZXIuY3BwCkBAIC00NCw2ICs0NCw3IEBACiAjaW5jbHVkZSAiRXhjZXB0aW9uSGVscGVycy5o
IgogI2luY2x1ZGUgIkdldHRlclNldHRlci5oIgogI2luY2x1ZGUgIkpTQXJyYXkuaCIKKyNpbmNs
dWRlICJKU0Fycm93RnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNp
bmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNMZXhpY2FsRW52aXJvbm1lbnQuaCIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxwZXJzLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxsSGVscGVycy5oCmluZGV4IGZkMzQ0YWRiY2Fi
YjE1ZmJkODE0ZWQ2ZmJkNDc4Zjc0YjYxNTc2M2MuLjA3YWNkNmQ1MzJkMzI4YWZkYjc3YWNmMjAx
MzM5MGVmMzlkZDlkNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0Nh
bGxIZWxwZXJzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhlbHBlcnMu
aApAQCAtMjc0LDYgKzI3NCwxNSBAQCBwdWJsaWM6CiAgICAgICAgIGFkZENhbGxBcmd1bWVudChh
cmcyKTsKICAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzMpOwogICAgIH0KKyAgICAKKyAgICBB
TFdBWVNfSU5MSU5FIHZvaWQgc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKEdQUlJlZyBhcmcx
LCBUcnVzdGVkSW1tUHRyIGFyZzIsIEdQUlJlZyBhcmczKQorICAgIHsKKyAgICAgICAgcmVzZXRD
YWxsQXJndW1lbnRzKCk7CisgICAgICAgIGFkZENhbGxBcmd1bWVudChHUFJJbmZvOjpjYWxsRnJh
bWVSZWdpc3Rlcik7CisgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmcxKTsKKyAgICAgICAgYWRk
Q2FsbEFyZ3VtZW50KGFyZzIpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMyk7CisgICAg
fQogCiAgICAgQUxXQVlTX0lOTElORSB2b2lkIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShH
UFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIsIFRydXN0ZWRJbW0zMiBhcmczKQogICAgIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklULmNwcAppbmRleCBiNDExM2M0NWU3MmM3ZTE1OGVjMWYxOTIzY2JmZTI5
YzVlZjU0MjgyLi44YTFiYWM4N2ZkMTBiOTg3ZjY0ZmQwYzIxMTMyMTBjYTY3MDVlZGIxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCkBAIC0yNjAsNiArMjYwLDcgQEAgdm9pZCBKSVQ6OnBy
aXZhdGVDb21waWxlTWFpblBhc3MoKQogICAgICAgICBERUZJTkVfT1Aob3BfbmV3X2FycmF5X2J1
ZmZlcikKICAgICAgICAgREVGSU5FX09QKG9wX25ld19mdW5jKQogICAgICAgICBERUZJTkVfT1Ao
b3BfbmV3X2Z1bmNfZXhwKQorICAgICAgICBERUZJTkVfT1Aob3BfbmV3X2Fycm93X2Z1bmNfZXhw
KSAKICAgICAgICAgREVGSU5FX09QKG9wX25ld19vYmplY3QpCiAgICAgICAgIERFRklORV9PUChv
cF9uZXdfcmVnZXhwKQogICAgICAgICBERUZJTkVfT1Aob3Bfbm90KQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklULmgKaW5kZXggZDcyMjVlYTRiMmFlNTQzMTg3ODQ0YzIwNzZlYzZlYjhkNjVkMjFjOS4uZGFh
NTIwOTQ4ODU3OTE2MGJiZDljNDdkMDdiNGEwNDU5ZmI4YjAxMiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVC5oCkBAIC01MjEsNiArNTIxLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZvaWQg
ZW1pdF9vcF9uZXdfYXJyYXlfYnVmZmVyKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1p
dF9vcF9uZXdfZnVuYyhJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2Z1
bmNfZXhwKEluc3RydWN0aW9uKik7CisgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfYXJyb3dfZnVu
Y19leHAoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX25ld19vYmplY3QoSW5z
dHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX25ld19yZWdleHAoSW5zdHJ1Y3Rpb24q
KTsKICAgICAgICAgdm9pZCBlbWl0X29wX25vdChJbnN0cnVjdGlvbiopOwpAQCAtNzAyLDYgKzcw
Myw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxs
T3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKSiwgaW50LCBHUFJSZWcsIEdQUlJlZyk7CiAgICAg
ICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUpz
YywgR1BSUmVnKTsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihK
X0pJVE9wZXJhdGlvbl9FSnNjQywgaW50LCBHUFJSZWcsIEpTQ2VsbCopOworICAgICAgICBNYWNy
b0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKc2NDSiwgaW50
LCBHUFJSZWcsIEpTQ2VsbCosIEdQUlJlZyk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxs
IGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUpzY1osIEdQUlJlZywgaW50MzJfdCk7CiAg
ICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25f
RUpzY1osIGludCwgR1BSUmVnLCBpbnQzMl90KTsKICNpZiBVU0UoSlNWQUxVRTY0KQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaAppbmRleCA5ZWUyNGQwOTIyOGE5ODgyZWE3Njk2
MjlkMWE4N2I2YzM0YTg2MzM0Li5hMGU0MGM1YzYxZmU2M2U5ODYzZWQyMjNlZGY1ZDQ1MWYzMThh
Nzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaApAQCAtMjcxLDYgKzI3
MSwxMiBAQCBBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJh
dGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQyBvcGVyYQogICAgIHJldHVybiBhcHBlbmRDYWxsV2l0
aEV4Y2VwdGlvbkNoZWNrU2V0SlNWYWx1ZVJlc3VsdChvcGVyYXRpb24sIGRzdCk7CiB9CiAKK0FM
V0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0aW9uKEpfSklU
T3BlcmF0aW9uX0VKc2NDSiBvcGVyYXRpb24sIGludCBkc3QsIEdQUlJlZyBhcmcxLCBKU0NlbGwq
IGNlbGwsIEdQUlJlZyBhcmcyKQoreworICAgIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShh
cmcxLCBUcnVzdGVkSW1tUHRyKGNlbGwpLCBhcmcyKTsKKyAgICByZXR1cm4gYXBwZW5kQ2FsbFdp
dGhFeGNlcHRpb25DaGVja1NldEpTVmFsdWVSZXN1bHQob3BlcmF0aW9uLCBkc3QpOworfQorICAg
IAogQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24o
Sl9KSVRPcGVyYXRpb25fRVAgb3BlcmF0aW9uLCBpbnQgZHN0LCB2b2lkKiBwb2ludGVyKQogewog
ICAgIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHBvaW50ZXIpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCmluZGV4IDVkNGQwYjlmZTg3
NjhhYzJmZTU5NjU3NWVkNGFhODEyMjBkYWQ2YzcuLmRjZTM3MTI1YzRlZmIwNTRhODA2MTU0ZTBh
ZDIzYWRmZjllYTRiN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3Bjb2Rlcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNw
cApAQCAtOTg3LDYgKzk4NywyOSBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9uZXdfZnVuY19leHAoSW5z
dHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlv
bk5ld0Z1bmN0aW9uLCBkc3QsIHJlZ1QwLCBmdW5jRXhwcik7CiAgICAgZG9uZS5saW5rKHRoaXMp
OwogfQorICAgIAordm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwKEluc3RydWN0
aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCit7CisgICAgSnVtcCBub3RVbmRlZmluZWRTY29wZTsK
KyAgICBpbnQgZHN0ID0gY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZDsKKyNpZiBVU0Uo
SlNWQUxVRTY0KQorICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9u
WzJdLnUub3BlcmFuZCwgcmVnVDApOworICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVu
dEluc3RydWN0aW9uWzRdLnUub3BlcmFuZCwgcmVnVDEpOworICAgIG5vdFVuZGVmaW5lZFNjb3Bl
ID0gYnJhbmNoNjQoTm90RXF1YWwsIHJlZ1QwLCBUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5jb2Rl
KGpzVW5kZWZpbmVkKCkpKSk7CisgICAgc3RvcmU2NChUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5j
b2RlKGpzVW5kZWZpbmVkKCkpKSwgQWRkcmVzcyhjYWxsRnJhbWVSZWdpc3Rlciwgc2l6ZW9mKFJl
Z2lzdGVyKSAqIGRzdCkpOworI2Vsc2UKKyAgICBlbWl0TG9hZFBheWxvYWQoY3VycmVudEluc3Ry
dWN0aW9uWzJdLnUub3BlcmFuZCwgcmVnVDApOworICAgIGVtaXRMb2FkUGF5bG9hZChjdXJyZW50
SW5zdHJ1Y3Rpb25bNF0udS5vcGVyYW5kLCByZWdUMSk7CisgICAgbm90VW5kZWZpbmVkU2NvcGUg
PSBicmFuY2gzMihOb3RFcXVhbCwgdGFnRm9yKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJh
bmQpLCBUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6VW5kZWZpbmVkVGFnKSk7CisgICAgZW1pdFN0b3Jl
KGRzdCwganNVbmRlZmluZWQoKSk7CisjZW5kaWYKKyAgICBKdW1wIGRvbmUgPSBqdW1wKCk7Cisg
ICAgbm90VW5kZWZpbmVkU2NvcGUubGluayh0aGlzKTsKKyAgICAKKyAgICBGdW5jdGlvbkV4ZWN1
dGFibGUqIGZ1bmN0aW9uID0gbV9jb2RlQmxvY2stPmZ1bmN0aW9uRXhwcihjdXJyZW50SW5zdHJ1
Y3Rpb25bM10udS5vcGVyYW5kKTsKKyAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbk5ld0Fycm93
RnVuY3Rpb24sIGRzdCwgcmVnVDAsIGZ1bmN0aW9uLCByZWdUMSk7CisgICAgZG9uZS5saW5rKHRo
aXMpOworfQogCiB2b2lkIEpJVDo6ZW1pdF9vcF9uZXdfYXJyYXkoSW5zdHJ1Y3Rpb24qIGN1cnJl
bnRJbnN0cnVjdGlvbikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUT3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlv
bnMuY3BwCmluZGV4IDk4ZDg3NzNmMzhkOTVmMmI4ZTU4Y2RiZDc4MzYwMjk4MTU0MDA3MTMuLjk2
N2NhOGVhZjc1YjEwZGU4MDEwZjIxNGQ0ZWM2NzcyNDdmZTQyYzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcApAQCAtMjAsNyArMjAsNyBAQAogICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQogICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCiAgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCkBAIC00Miw2ICs0Miw4IEBACiAj
aW5jbHVkZSAiSG9zdENhbGxSZXR1cm5WYWx1ZS5oIgogI2luY2x1ZGUgIkpJVC5oIgogI2luY2x1
ZGUgIkpJVFRvREZHRGVmZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmgiCisjaW5jbHVkZSAiSlNB
cnJvd0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAi
SlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTQ2F0Y2hTY29wZS5oIgogI2luY2x1ZGUgIkpTRnVu
Y3Rpb25OYW1lU2NvcGUuaCIKQEAgLTY3LDcgKzY5LDcgQEAgdm9pZCBwdXNoTmFtZVNjb3BlKEV4
ZWNTdGF0ZSogZXhlYywgaW50MzJfdCBkc3QsIFN5bWJvbFRhYmxlKiBzeW1ib2xUYWJsZSwgRW5j
b2QKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNl
ciB0cmFjZXIoJnZtLCBleGVjKTsKLSAgICAKKwogICAgIEFTU0VSVCghSklUQ29kZTo6aXNPcHRp
bWl6aW5nSklUKGV4ZWMtPmNvZGVCbG9jaygpLT5qaXRUeXBlKCkpKTsKIAogICAgIC8vIEZJWE1F
OiBUaGlzIHdvbid0IHdvcmsgaWYgdGhpcyBvcGVyYXRpb24gaXMgY2FsbGVkIGZyb20gdGhlIERG
RyBvciBGVEwuCkBAIC0xNTEsNyArMTUzLDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElP
TiBvcGVyYXRpb25HZXRCeUlkKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8KIHsK
ICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJh
Y2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAgIEpTVmFsdWUgYmFzZVZhbHVlID0gSlNWYWx1ZTo6
ZGVjb2RlKGJhc2UpOwogICAgIFByb3BlcnR5U2xvdCBzbG90KGJhc2VWYWx1ZSk7CiAgICAgSWRl
bnRpZmllciBpZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIHVpZCk7CkBAIC0xNjksNyAr
MTcxLDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlkQnVp
bGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXIKICAgICBKU1ZhbHVlIGJhc2VWYWx1ZSA9
IEpTVmFsdWU6OmRlY29kZShiYXNlKTsKICAgICBQcm9wZXJ0eVNsb3Qgc2xvdChiYXNlVmFsdWUp
OwogICAgIGJvb2wgaGFzUmVzdWx0ID0gYmFzZVZhbHVlLmdldFByb3BlcnR5U2xvdChleGVjLCBp
ZGVudCwgc2xvdCk7Ci0gICAgCisKICAgICBpZiAoYWNjZXNzVHlwZSA9PSBzdGF0aWNfY2FzdDxB
Y2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSkpCiAgICAgICAgIGJ1aWxkR2V0QnlJRExp
c3QoZXhlYywgYmFzZVZhbHVlLCBpZGVudCwgc2xvdCwgKnN0dWJJbmZvKTsKIApAQCAtMTg0LDEz
ICsxODYsMTMgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeUlk
T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmUKIAogICAgIEpTVmFsdWUgYmFzZVZh
bHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGJhc2UpOwogICAgIFByb3BlcnR5U2xvdCBzbG90KGJhc2VW
YWx1ZSk7Ci0gICAgCisKICAgICBib29sIGhhc1Jlc3VsdCA9IGJhc2VWYWx1ZS5nZXRQcm9wZXJ0
eVNsb3QoZXhlYywgaWRlbnQsIHNsb3QpOwogICAgIGlmIChzdHViSW5mby0+c2VlbikKICAgICAg
ICAgcmVwYXRjaEdldEJ5SUQoZXhlYywgYmFzZVZhbHVlLCBpZGVudCwgc2xvdCwgKnN0dWJJbmZv
KTsKICAgICBlbHNlCiAgICAgICAgIHN0dWJJbmZvLT5zZWVuID0gdHJ1ZTsKLSAgICAKKwogICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoaGFzUmVzdWx0PyBzbG90LmdldFZhbHVlKGV4ZWMsIGlk
ZW50KSA6IGpzVW5kZWZpbmVkKCkpOwogCiB9CkBAIC0xOTksMjUgKzIwMSwyNSBAQCBFbmNvZGVk
SlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkluT3B0aW1pemUoRXhlY1N0YXRlKiBleGVj
LCBTdHJ1Y3R1cmVTdHViSQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2
ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAgaWYgKCFiYXNl
LT5pc09iamVjdCgpKSB7CiAgICAgICAgIHZtLT50aHJvd0V4Y2VwdGlvbihleGVjLCBjcmVhdGVJ
bnZhbGlkSW5QYXJhbWV0ZXJFcnJvcihleGVjLCBiYXNlKSk7CiAgICAgICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CiAgICAgfQotICAgIAorCiAgICAgQWNjZXNzVHlw
ZSBhY2Nlc3NUeXBlID0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5
cGUpOwogCiAgICAgSWRlbnRpZmllciBpZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIGtl
eSk7CiAgICAgUHJvcGVydHlTbG90IHNsb3QoYmFzZSk7CiAgICAgYm9vbCByZXN1bHQgPSBhc09i
amVjdChiYXNlKS0+Z2V0UHJvcGVydHlTbG90KGV4ZWMsIGlkZW50LCBzbG90KTsKLSAgICAKKwog
ICAgIFJFTEVBU0VfQVNTRVJUKGFjY2Vzc1R5cGUgPT0gc3R1YkluZm8tPmFjY2Vzc1R5cGUpOwot
ICAgIAorCiAgICAgaWYgKHN0dWJJbmZvLT5zZWVuKQogICAgICAgICByZXBhdGNoSW4oZXhlYywg
YmFzZSwgaWRlbnQsIHJlc3VsdCwgc2xvdCwgKnN0dWJJbmZvKTsKICAgICBlbHNlCiAgICAgICAg
IHN0dWJJbmZvLT5zZWVuID0gdHJ1ZTsKLSAgICAKKwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoanNCb29sZWFuKHJlc3VsdCkpOwogfQogCkBAIC0yNDcsNyArMjQ5LDcgQEAgdm9pZCBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1
cmVTdHViSW5mbyosIEUKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVD
YWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAgIElkZW50aWZpZXIg
aWRlbnQgPSBJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCB1aWQpOwogICAgIFB1dFByb3BlcnR5U2xv
dCBzbG90KEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSksIHRydWUsIGV4ZWMtPmNvZGVCbG9j
aygpLT5wdXRCeUlkQ29udGV4dCgpKTsKICAgICBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2Up
LnB1dChleGVjLCBpZGVudCwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSksIHNsb3QpOwpA
QCAtMjU3LDcgKzI1OSw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9u
U3RyaWN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlU3R1YkluZm8qCiB7CiAgICAgVk0qIHZt
ID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhl
Yyk7Ci0gICAgCisKICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2
bSwgdWlkKTsKICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2Rl
ZEJhc2UpLCBmYWxzZSwgZXhlYy0+Y29kZUJsb2NrKCktPnB1dEJ5SWRDb250ZXh0KCkpOwogICAg
IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSkucHV0KGV4ZWMsIGlkZW50LCBKU1ZhbHVlOjpk
ZWNvZGUoZW5jb2RlZFZhbHVlKSwgc2xvdCk7CkBAIC0yNjcsNyArMjY5LDcgQEAgdm9pZCBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJpY3QoRXhlY1N0YXRlKiBleGVjLCBT
dHJ1Y3R1cmVTdHViSW4KIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVD
YWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAgIElkZW50aWZpZXIg
aWRlbnQgPSBJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCB1aWQpOwogICAgIFB1dFByb3BlcnR5U2xv
dCBzbG90KEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSksIHRydWUsIGV4ZWMtPmNvZGVCbG9j
aygpLT5wdXRCeUlkQ29udGV4dCgpKTsKICAgICBhc09iamVjdChKU1ZhbHVlOjpkZWNvZGUoZW5j
b2RlZEJhc2UpKS0+cHV0RGlyZWN0KGV4ZWMtPnZtKCksIGlkZW50LCBKU1ZhbHVlOjpkZWNvZGUo
ZW5jb2RlZFZhbHVlKSwgc2xvdCk7CkBAIC0yNzcsNyArMjc5LDcgQEAgdm9pZCBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1
Y3R1cmVTdHUKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJh
bWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAgIElkZW50aWZpZXIgaWRlbnQg
PSBJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCB1aWQpOwogICAgIFB1dFByb3BlcnR5U2xvdCBzbG90
KEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSksIGZhbHNlLCBleGVjLT5jb2RlQmxvY2soKS0+
cHV0QnlJZENvbnRleHQoKSk7CiAgICAgYXNPYmplY3QoSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRC
YXNlKSktPnB1dERpcmVjdChleGVjLT52bSgpLCBpZGVudCwgSlNWYWx1ZTo6ZGVjb2RlKGVuY29k
ZWRWYWx1ZSksIHNsb3QpOwpAQCAtMjg3LDcgKzI4OSw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25QdXRCeUlkU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVT
dHViCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJh
Y2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRl
bnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUgPSBz
dGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSk7CiAKQEAgLTI5Nywx
MCArMjk5LDEwIEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWN0T3B0
aW1pemUoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViCiAKICAgICBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSA9IGJhc2VWYWx1ZS5pc0NlbGwoKSA/IGJhc2VWYWx1ZS5hc0NlbGwoKS0+c3RydWN0
dXJlKCp2bSkgOiBudWxscHRyOwogICAgIGJhc2VWYWx1ZS5wdXQoZXhlYywgaWRlbnQsIHZhbHVl
LCBzbG90KTsKLSAgICAKKwogICAgIGlmIChhY2Nlc3NUeXBlICE9IHN0YXRpY19jYXN0PEFjY2Vz
c1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKSkKICAgICAgICAgcmV0dXJuOwotICAgIAorCiAg
ICAgaWYgKHN0dWJJbmZvLT5zZWVuKQogICAgICAgICByZXBhdGNoUHV0QnlJRChleGVjLCBiYXNl
VmFsdWUsIHN0cnVjdHVyZSwgaWRlbnQsIHNsb3QsICpzdHViSW5mbywgTm90RGlyZWN0KTsKICAg
ICBlbHNlCkBAIC0zMTEsNyArMzEzLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1
dEJ5SWROb25TdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVMKIHsKICAg
ICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2Vy
KHZtLCBleGVjKTsKLSAgICAKKwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVyOjpm
cm9tVWlkKHZtLCB1aWQpOwogICAgIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSA9IHN0YXRpY19jYXN0
PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKTsKIApAQCAtMzE5LDEyICszMjEsMTIg
QEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3RPcHRpbWl6ZShF
eGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVMKICAgICBKU1ZhbHVlIGJhc2VWYWx1ZSA9IEpTVmFs
dWU6OmRlY29kZShlbmNvZGVkQmFzZSk7CiAgICAgUHV0UHJvcGVydHlTbG90IHNsb3QoYmFzZVZh
bHVlLCBmYWxzZSwgZXhlYy0+Y29kZUJsb2NrKCktPnB1dEJ5SWRDb250ZXh0KCkpOwogCi0gICAg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlVmFsdWUuaXNDZWxsKCkgPyBiYXNlVmFsdWUuYXND
ZWxsKCktPnN0cnVjdHVyZSgqdm0pIDogbnVsbHB0cjsgICAgCisgICAgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUgPSBiYXNlVmFsdWUuaXNDZWxsKCkgPyBiYXNlVmFsdWUuYXNDZWxsKCktPnN0cnVjdHVy
ZSgqdm0pIDogbnVsbHB0cjsKICAgICBiYXNlVmFsdWUucHV0KGV4ZWMsIGlkZW50LCB2YWx1ZSwg
c2xvdCk7Ci0gICAgCisKICAgICBpZiAoYWNjZXNzVHlwZSAhPSBzdGF0aWNfY2FzdDxBY2Nlc3NU
eXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSkpCiAgICAgICAgIHJldHVybjsKLSAgICAKKwogICAg
IGlmIChzdHViSW5mby0+c2VlbikKICAgICAgICAgcmVwYXRjaFB1dEJ5SUQoZXhlYywgYmFzZVZh
bHVlLCBzdHJ1Y3R1cmUsIGlkZW50LCBzbG90LCAqc3R1YkluZm8sIE5vdERpcmVjdCk7CiAgICAg
ZWxzZQpAQCAtMzM1LDIwICszMzcsMjAgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1
dEJ5SWREaXJlY3RTdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHUKIHsKICAg
ICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2Vy
KHZtLCBleGVjKTsKLSAgICAKKwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVyOjpm
cm9tVWlkKHZtLCB1aWQpOwogICAgIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSA9IHN0YXRpY19jYXN0
PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKTsKIAogICAgIEpTVmFsdWUgdmFsdWUg
PSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKICAgICBKU09iamVjdCogYmFzZU9iamVj
dCA9IGFzT2JqZWN0KEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSkpOwogICAgIFB1dFByb3Bl
cnR5U2xvdCBzbG90KGJhc2VPYmplY3QsIHRydWUsIGV4ZWMtPmNvZGVCbG9jaygpLT5wdXRCeUlk
Q29udGV4dCgpKTsKLSAgICAKKwogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZU9iamVj
dC0+c3RydWN0dXJlKCp2bSk7CiAgICAgYmFzZU9iamVjdC0+cHV0RGlyZWN0KGV4ZWMtPnZtKCks
IGlkZW50LCB2YWx1ZSwgc2xvdCk7Ci0gICAgCisKICAgICBpZiAoYWNjZXNzVHlwZSAhPSBzdGF0
aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSkpCiAgICAgICAgIHJldHVy
bjsKLSAgICAKKwogICAgIGlmIChzdHViSW5mby0+c2VlbikKICAgICAgICAgcmVwYXRjaFB1dEJ5
SUQoZXhlYywgYmFzZU9iamVjdCwgc3RydWN0dXJlLCBpZGVudCwgc2xvdCwgKnN0dWJJbmZvLCBE
aXJlY3QpOwogICAgIGVsc2UKQEAgLTM1OSwyMCArMzYxLDIwIEBAIHZvaWQgSklUX09QRVJBVElP
TiBvcGVyYXRpb25QdXRCeUlkRGlyZWN0Tm9uU3RyaWN0T3B0aW1pemUoRXhlY1N0YXRlKiBleGVj
LCBTdHJ1CiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1l
VHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJZGVudGlmaWVyIGlkZW50ID0g
SWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUg
PSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSk7CiAKICAgICBK
U1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CiAgICAgSlNPYmpl
Y3QqIGJhc2VPYmplY3QgPSBhc09iamVjdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpKTsK
ICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChiYXNlT2JqZWN0LCBmYWxzZSwgZXhlYy0+Y29kZUJs
b2NrKCktPnB1dEJ5SWRDb250ZXh0KCkpOwotICAgIAorCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUgPSBiYXNlT2JqZWN0LT5zdHJ1Y3R1cmUoKnZtKTsKICAgICBiYXNlT2JqZWN0LT5wdXREaXJl
Y3QoZXhlYy0+dm0oKSwgaWRlbnQsIHZhbHVlLCBzbG90KTsKLSAgICAKKwogICAgIGlmIChhY2Nl
c3NUeXBlICE9IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKSkK
ICAgICAgICAgcmV0dXJuOwotICAgIAorCiAgICAgaWYgKHN0dWJJbmZvLT5zZWVuKQogICAgICAg
ICByZXBhdGNoUHV0QnlJRChleGVjLCBiYXNlT2JqZWN0LCBzdHJ1Y3R1cmUsIGlkZW50LCBzbG90
LCAqc3R1YkluZm8sIERpcmVjdCk7CiAgICAgZWxzZQpAQCAtMzgzLDE1ICszODUsMTUgQEAgdm9p
ZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRl
KiBleGVjLCBTdHJ1Y3R1cmVTdHUKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBO
YXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAgIElkZW50
aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCB1aWQpOwogICAgIEFjY2Vzc1R5
cGUgYWNjZXNzVHlwZSA9IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NU
eXBlKTsKIAogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVl
KTsKICAgICBKU1ZhbHVlIGJhc2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSk7
CiAgICAgUHV0UHJvcGVydHlTbG90IHNsb3QoYmFzZVZhbHVlLCB0cnVlLCBleGVjLT5jb2RlQmxv
Y2soKS0+cHV0QnlJZENvbnRleHQoKSk7Ci0gICAgCi0gICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUg
PSBiYXNlVmFsdWUuaXNDZWxsKCkgPyBiYXNlVmFsdWUuYXNDZWxsKCktPnN0cnVjdHVyZSgqdm0p
IDogbnVsbHB0cjsgCisKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2VWYWx1ZS5pc0Nl
bGwoKSA/IGJhc2VWYWx1ZS5hc0NlbGwoKS0+c3RydWN0dXJlKCp2bSkgOiBudWxscHRyOwogICAg
IGJhc2VWYWx1ZS5wdXQoZXhlYywgaWRlbnQsIHZhbHVlLCBzbG90KTsKIAogICAgIGlmIChhY2Nl
c3NUeXBlICE9IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKSkK
QEAgLTQwNCw3ICs0MDYsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZE5v
blN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZQogewogICAgIFZNKiB2
bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4
ZWMpOwotICAgIAorCiAgICAgSWRlbnRpZmllciBpZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQo
dm0sIHVpZCk7CiAgICAgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlID0gc3RhdGljX2Nhc3Q8QWNjZXNz
VHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpOwogCkBAIC00MTQsMTAgKzQxNiwxMCBAQCB2b2lk
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdEJ1aWxkTGlzdChFeGVjU3Rh
dGUqIGV4ZWMsIFN0cnVjdHVyZQogCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlVmFs
dWUuaXNDZWxsKCkgPyBiYXNlVmFsdWUuYXNDZWxsKCktPnN0cnVjdHVyZSgqdm0pIDogbnVsbHB0
cjsKICAgICBiYXNlVmFsdWUucHV0KGV4ZWMsIGlkZW50LCB2YWx1ZSwgc2xvdCk7Ci0gICAgCisK
ICAgICBpZiAoYWNjZXNzVHlwZSAhPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+
YWNjZXNzVHlwZSkpCiAgICAgICAgIHJldHVybjsKLSAgICAKKwogICAgIGJ1aWxkUHV0QnlJZExp
c3QoZXhlYywgYmFzZVZhbHVlLCBzdHJ1Y3R1cmUsIGlkZW50LCBzbG90LCAqc3R1YkluZm8sIE5v
dERpcmVjdCk7CiB9CiAKQEAgLTQyNSwyMCArNDI3LDIwIEBAIHZvaWQgSklUX09QRVJBVElPTiBv
cGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3Ry
dWN0CiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJh
Y2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRl
bnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKICAgICBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUgPSBz
dGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSk7Ci0gICAgCisKICAg
ICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CiAgICAgSlNP
YmplY3QqIGJhc2VPYmplY3QgPSBhc09iamVjdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2Up
KTsKICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChiYXNlT2JqZWN0LCB0cnVlLCBleGVjLT5jb2Rl
QmxvY2soKS0+cHV0QnlJZENvbnRleHQoKSk7CiAKLSAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9
IGJhc2VPYmplY3QtPnN0cnVjdHVyZSgqdm0pOyAgICAKKyAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSA9IGJhc2VPYmplY3QtPnN0cnVjdHVyZSgqdm0pOwogICAgIGJhc2VPYmplY3QtPnB1dERpcmVj
dCgqdm0sIGlkZW50LCB2YWx1ZSwgc2xvdCk7Ci0gICAgCisKICAgICBpZiAoYWNjZXNzVHlwZSAh
PSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSkpCiAgICAgICAg
IHJldHVybjsKLSAgICAKKwogICAgIGJ1aWxkUHV0QnlJZExpc3QoZXhlYywgYmFzZU9iamVjdCwg
c3RydWN0dXJlLCBpZGVudCwgc2xvdCwgKnN0dWJJbmZvLCBEaXJlY3QpOwogfQogCkBAIC00NDYs
NyArNDQ4LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25T
dHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHIKIHsKICAgICBWTSogdm0gPSAmZXhl
Yy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAg
ICAKKwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCB1aWQp
OwogICAgIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSA9IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0
dWJJbmZvLT5hY2Nlc3NUeXBlKTsKIApAQCAtNDU0LDEyICs0NTYsMTIgQEAgdm9pZCBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRl
KiBleGVjLCBTdHIKICAgICBKU09iamVjdCogYmFzZU9iamVjdCA9IGFzT2JqZWN0KEpTVmFsdWU6
OmRlY29kZShlbmNvZGVkQmFzZSkpOwogICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KGJhc2VPYmpl
Y3QsIGZhbHNlLCBleGVjLT5jb2RlQmxvY2soKS0+cHV0QnlJZENvbnRleHQoKSk7CiAKLSAgICBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2VPYmplY3QtPnN0cnVjdHVyZSgqdm0pOyAgICAKKyAg
ICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2VPYmplY3QtPnN0cnVjdHVyZSgqdm0pOwogICAg
IGJhc2VPYmplY3QtPnB1dERpcmVjdCgqdm0sIGlkZW50LCB2YWx1ZSwgc2xvdCk7CiAKICAgICBp
ZiAoYWNjZXNzVHlwZSAhPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNz
VHlwZSkpCiAgICAgICAgIHJldHVybjsKLSAgICAKKwogICAgIGJ1aWxkUHV0QnlJZExpc3QoZXhl
YywgYmFzZU9iamVjdCwgc3RydWN0dXJlLCBpZGVudCwgc2xvdCwgKnN0dWJJbmZvLCBEaXJlY3Qp
OwogfQogCkBAIC01NzYsNyArNTc4LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkRp
cmVjdFB1dEJ5VmFsKEV4ZWNTdGF0ZSogY2FsbEZyYW1lLCBFbmNvZGVkSlNWYWx1ZQogewogICAg
IFZNJiB2bSA9IGNhbGxGcmFtZS0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJh
Y2VyKCZ2bSwgY2FsbEZyYW1lKTsKLSAgICAKKwogICAgIEpTVmFsdWUgYmFzZVZhbHVlID0gSlNW
YWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlVmFsdWUpOwogICAgIEpTVmFsdWUgc3Vic2NyaXB0ID0g
SlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRTdWJzY3JpcHQpOwogICAgIEpTVmFsdWUgdmFsdWUgPSBK
U1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKQEAgLTU4NSwxMiArNTg3LDEyIEBAIHZvaWQg
SklUX09QRVJBVElPTiBvcGVyYXRpb25EaXJlY3RQdXRCeVZhbChFeGVjU3RhdGUqIGNhbGxGcmFt
ZSwgRW5jb2RlZEpTVmFsdWUKICAgICBpZiAoc3Vic2NyaXB0LmlzSW50MzIoKSkgewogICAgICAg
ICAvLyBTZWUgaWYgaXQncyB3b3J0aCBvcHRpbWl6aW5nIGF0IGFsbC4KICAgICAgICAgYm9vbCBk
aWRPcHRpbWl6ZSA9IGZhbHNlOwotICAgICAgICAKKwogICAgICAgICB1bnNpZ25lZCBieXRlY29k
ZU9mZnNldCA9IGNhbGxGcmFtZS0+bG9jYXRpb25Bc0J5dGVjb2RlT2Zmc2V0KCk7CiAgICAgICAg
IEFTU0VSVChieXRlY29kZU9mZnNldCk7CiAgICAgICAgIEJ5VmFsSW5mbyYgYnlWYWxJbmZvID0g
Y2FsbEZyYW1lLT5jb2RlQmxvY2soKS0+Z2V0QnlWYWxJbmZvKGJ5dGVjb2RlT2Zmc2V0IC0gMSk7
CiAgICAgICAgIEFTU0VSVCghYnlWYWxJbmZvLnN0dWJSb3V0aW5lKTsKLSAgICAgICAgCisKICAg
ICAgICAgaWYgKGhhc09wdGltaXphYmxlSW5kZXhpbmcob2JqZWN0LT5zdHJ1Y3R1cmUodm0pKSkg
ewogICAgICAgICAgICAgLy8gQXR0ZW1wdCB0byBvcHRpbWl6ZS4KICAgICAgICAgICAgIEpJVEFy
cmF5TW9kZSBhcnJheU1vZGUgPSBqaXRBcnJheU1vZGVGb3JTdHJ1Y3R1cmUob2JqZWN0LT5zdHJ1
Y3R1cmUodm0pKTsKQEAgLTU5OSw3ICs2MDEsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uRGlyZWN0UHV0QnlWYWwoRXhlY1N0YXRlKiBjYWxsRnJhbWUsIEVuY29kZWRKU1ZhbHVlCiAg
ICAgICAgICAgICAgICAgZGlkT3B0aW1pemUgPSB0cnVlOwogICAgICAgICAgICAgfQogICAgICAg
ICB9Ci0gICAgICAgIAorCiAgICAgICAgIGlmICghZGlkT3B0aW1pemUpIHsKICAgICAgICAgICAg
IC8vIElmIHdlIHRha2Ugc2xvdyBwYXRoIG1vcmUgdGhhbiAxMCB0aW1lcyB3aXRob3V0IHBhdGNo
aW5nIHRoZW4gbWFrZSBzdXJlIHdlCiAgICAgICAgICAgICAvLyBuZXZlciBtYWtlIHRoYXQgbWlz
dGFrZSBhZ2Fpbi4gT3IsIGlmIHdlIGZhaWxlZCB0byBwYXRjaCBhbmQgd2UgaGF2ZSBzb21lIG9i
amVjdApAQCAtNjIwLDcgKzYyMiw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRC
eVZhbEdlbmVyaWMoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvCiB7CiAgICAg
Vk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2
bSwgZXhlYyk7Ci0gICAgCisKICAgICBKU1ZhbHVlIGJhc2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29k
ZShlbmNvZGVkQmFzZVZhbHVlKTsKICAgICBKU1ZhbHVlIHN1YnNjcmlwdCA9IEpTVmFsdWU6OmRl
Y29kZShlbmNvZGVkU3Vic2NyaXB0KTsKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVj
b2RlKGVuY29kZWRWYWx1ZSk7CkBAIC02MzMsNyArNjM1LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbkRpcmVjdFB1dEJ5VmFsR2VuZXJpYyhFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRK
U1ZhbHUKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRy
YWNlciB0cmFjZXIoJnZtLCBleGVjKTsKLSAgICAKKwogICAgIEpTVmFsdWUgYmFzZVZhbHVlID0g
SlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlVmFsdWUpOwogICAgIEpTVmFsdWUgc3Vic2NyaXB0
ID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRTdWJzY3JpcHQpOwogICAgIEpTVmFsdWUgdmFsdWUg
PSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKQEAgLTY1Nyw3ICs2NTksNyBAQCBFbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNhbGxFdmFsKEV4ZWNTdGF0ZSogZXhl
YywgRXhlY1N0YXRlKiBleGVjQwogICAgIEpTVmFsdWUgcmVzdWx0ID0gZXZhbChleGVjQ2FsbGVl
KTsKICAgICBpZiAodm0tPmV4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm4gRW5jb2RlZEpTVmFs
dWUoKTsKLSAgICAKKwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKIH0KIApA
QCAtNjcxLDkgKzY3Myw5IEBAIHN0YXRpYyB2b2lkKiBoYW5kbGVIb3N0Q2FsbChFeGVjU3RhdGUq
IGV4ZWNDYWxsZWUsIEpTVmFsdWUgY2FsbGVlLCBDb2RlU3BlY2lhbGl6CiAgICAgaWYgKGtpbmQg
PT0gQ29kZUZvckNhbGwpIHsKICAgICAgICAgQ2FsbERhdGEgY2FsbERhdGE7CiAgICAgICAgIENh
bGxUeXBlIGNhbGxUeXBlID0gZ2V0Q2FsbERhdGEoY2FsbGVlLCBjYWxsRGF0YSk7Ci0gICAgCisK
ICAgICAgICAgQVNTRVJUKGNhbGxUeXBlICE9IENhbGxUeXBlSlMpOwotICAgIAorCiAgICAgICAg
IGlmIChjYWxsVHlwZSA9PSBDYWxsVHlwZUhvc3QpIHsKICAgICAgICAgICAgIE5hdGl2ZUNhbGxG
cmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWNDYWxsZWUpOwogICAgICAgICAgICAgZXhlY0NhbGxl
ZS0+c2V0Q2FsbGVlKGFzT2JqZWN0KGNhbGxlZSkpOwpAQCAtNjgzLDE5ICs2ODUsMTkgQEAgc3Rh
dGljIHZvaWQqIGhhbmRsZUhvc3RDYWxsKEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSwgSlNWYWx1ZSBj
YWxsZWUsIENvZGVTcGVjaWFsaXoKIAogICAgICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nh
c3Q8dm9pZCo+KGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpOwogICAgICAgICB9Ci0gICAgCisKICAg
ICAgICAgQVNTRVJUKGNhbGxUeXBlID09IENhbGxUeXBlTm9uZSk7CiAgICAgICAgIGV4ZWMtPnZt
KCkudGhyb3dFeGNlcHRpb24oZXhlYywgY3JlYXRlTm90QUZ1bmN0aW9uRXJyb3IoZXhlYywgY2Fs
bGVlKSk7CiAgICAgICAgIHJldHVybiB2bS0+Z2V0Q1RJU3R1Yih0aHJvd0V4Y2VwdGlvbkZyb21D
YWxsU2xvd1BhdGhHZW5lcmF0b3IpLmNvZGUoKS5leGVjdXRhYmxlQWRkcmVzcygpOwogICAgIH0K
IAogICAgIEFTU0VSVChraW5kID09IENvZGVGb3JDb25zdHJ1Y3QpOwotICAgIAorCiAgICAgQ29u
c3RydWN0RGF0YSBjb25zdHJ1Y3REYXRhOwogICAgIENvbnN0cnVjdFR5cGUgY29uc3RydWN0VHlw
ZSA9IGdldENvbnN0cnVjdERhdGEoY2FsbGVlLCBjb25zdHJ1Y3REYXRhKTsKLSAgICAKKwogICAg
IEFTU0VSVChjb25zdHJ1Y3RUeXBlICE9IENvbnN0cnVjdFR5cGVKUyk7Ci0gICAgCisKICAgICBp
ZiAoY29uc3RydWN0VHlwZSA9PSBDb25zdHJ1Y3RUeXBlSG9zdCkgewogICAgICAgICBOYXRpdmVD
YWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjQ2FsbGVlKTsKICAgICAgICAgZXhlY0NhbGxl
ZS0+c2V0Q2FsbGVlKGFzT2JqZWN0KGNhbGxlZSkpOwpAQCAtNzA1LDcgKzcwNyw3IEBAIHN0YXRp
YyB2b2lkKiBoYW5kbGVIb3N0Q2FsbChFeGVjU3RhdGUqIGV4ZWNDYWxsZWUsIEpTVmFsdWUgY2Fs
bGVlLCBDb2RlU3BlY2lhbGl6CiAKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8dm9p
ZCo+KGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpOwogICAgIH0KLSAgICAKKwogICAgIEFTU0VSVChj
b25zdHJ1Y3RUeXBlID09IENvbnN0cnVjdFR5cGVOb25lKTsKICAgICBleGVjLT52bSgpLnRocm93
RXhjZXB0aW9uKGV4ZWMsIGNyZWF0ZU5vdEFDb25zdHJ1Y3RvckVycm9yKGV4ZWMsIGNhbGxlZSkp
OwogICAgIHJldHVybiB2bS0+Z2V0Q1RJU3R1Yih0aHJvd0V4Y2VwdGlvbkZyb21DYWxsU2xvd1Bh
dGhHZW5lcmF0b3IpLmNvZGUoKS5leGVjdXRhYmxlQWRkcmVzcygpOwpAQCAtNzE4LDcgKzcyMCw3
IEBAIGlubGluZSBjaGFyKiBsaW5rRm9yKAogICAgIEV4ZWNTdGF0ZSogZXhlYyA9IGV4ZWNDYWxs
ZWUtPmNhbGxlckZyYW1lKCk7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZl
Q2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBKU1ZhbHVlIGNh
bGxlZUFzVmFsdWUgPSBleGVjQ2FsbGVlLT5jYWxsZWVBc1ZhbHVlKCk7CiAgICAgSlNDZWxsKiBj
YWxsZWVBc0Z1bmN0aW9uQ2VsbCA9IGdldEpTRnVuY3Rpb24oY2FsbGVlQXNWYWx1ZSk7CiAgICAg
aWYgKCFjYWxsZWVBc0Z1bmN0aW9uQ2VsbCkgewpAQCAtNzYxLDcgKzc2Myw3IEBAIGlubGluZSBj
aGFyKiBsaW5rRm9yKAogICAgICAgICBjYWxsTGlua0luZm8tPnNldFNlZW4oKTsKICAgICBlbHNl
CiAgICAgICAgIGxpbmtGb3IoZXhlY0NhbGxlZSwgKmNhbGxMaW5rSW5mbywgY29kZUJsb2NrLCBj
YWxsZWUsIGNvZGVQdHIsIGtpbmQsIHJlZ2lzdGVycyk7Ci0gICAgCisKICAgICByZXR1cm4gcmVp
bnRlcnByZXRfY2FzdDxjaGFyKj4oY29kZVB0ci5leGVjdXRhYmxlQWRkcmVzcygpKTsKIH0KIApA
QCAtNzk3LDcgKzc5OSw3IEBAIGlubGluZSBjaGFyKiB2aXJ0dWFsRm9yV2l0aEZ1bmN0aW9uKAog
ICAgIGNhbGxlZUFzRnVuY3Rpb25DZWxsID0gZ2V0SlNGdW5jdGlvbihjYWxsZWVBc1ZhbHVlKTsK
ICAgICBpZiAoVU5MSUtFTFkoIWNhbGxlZUFzRnVuY3Rpb25DZWxsKSkKICAgICAgICAgcmV0dXJu
IHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KGhhbmRsZUhvc3RDYWxsKGV4ZWNDYWxsZWUsIGNhbGxl
ZUFzVmFsdWUsIGtpbmQpKTsKLSAgICAKKwogICAgIEpTRnVuY3Rpb24qIGZ1bmN0aW9uID0ganND
YXN0PEpTRnVuY3Rpb24qPihjYWxsZWVBc0Z1bmN0aW9uQ2VsbCk7CiAgICAgSlNTY29wZSogc2Nv
cGUgPSBmdW5jdGlvbi0+c2NvcGVVbmNoZWNrZWQoKTsKICAgICBFeGVjdXRhYmxlQmFzZSogZXhl
Y3V0YWJsZSA9IGZ1bmN0aW9uLT5leGVjdXRhYmxlKCk7CkBAIC04MzIsMTIgKzgzNCwxMiBAQCBj
aGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkxpbmtQb2x5bW9ycGhpY0NhbGwoRXhlY1N0YXRl
KiBleGVjQ2FsbGVlLCBDYWxsTGluawogICAgIGNoYXIqIHJlc3VsdCA9IHZpcnR1YWxGb3JXaXRo
RnVuY3Rpb24oZXhlY0NhbGxlZSwgQ29kZUZvckNhbGwsIFJlZ2lzdGVyUHJlc2VydmF0aW9uTm90
UmVxdWlyZWQsIGNhbGxlZUFzRnVuY3Rpb25DZWxsKTsKIAogICAgIGxpbmtQb2x5bW9ycGhpY0Nh
bGwoZXhlY0NhbGxlZSwgKmNhbGxMaW5rSW5mbywgQ2FsbFZhcmlhbnQoY2FsbGVlQXNGdW5jdGlv
bkNlbGwpLCBSZWdpc3RlclByZXNlcnZhdGlvbk5vdFJlcXVpcmVkKTsKLSAgICAKKwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiAKIGNoYXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uVmlydHVhbENh
bGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBDYWxsTGlua0luZm8qKQoteyAgICAKK3sKICAgICBy
ZXR1cm4gdmlydHVhbEZvcihleGVjQ2FsbGVlLCBDb2RlRm9yQ2FsbCwgUmVnaXN0ZXJQcmVzZXJ2
YXRpb25Ob3RSZXF1aXJlZCk7CiB9CiAKQEAgLTg1MiwxMiArODU0LDEyIEBAIGNoYXIqIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uTGlua1BvbHltb3JwaGljQ2FsbFRoYXRQcmVzZXJ2ZXNSZWdzKEV4
ZWNTdGF0ZSogZXhlCiAgICAgY2hhciogcmVzdWx0ID0gdmlydHVhbEZvcldpdGhGdW5jdGlvbihl
eGVjQ2FsbGVlLCBDb2RlRm9yQ2FsbCwgTXVzdFByZXNlcnZlUmVnaXN0ZXJzLCBjYWxsZWVBc0Z1
bmN0aW9uQ2VsbCk7CiAKICAgICBsaW5rUG9seW1vcnBoaWNDYWxsKGV4ZWNDYWxsZWUsICpjYWxs
TGlua0luZm8sIENhbGxWYXJpYW50KGNhbGxlZUFzRnVuY3Rpb25DZWxsKSwgTXVzdFByZXNlcnZl
UmVnaXN0ZXJzKTsKLSAgICAKKwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIGNoYXIqIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uVmlydHVhbENhbGxUaGF0UHJlc2VydmVzUmVncyhFeGVjU3RhdGUq
IGV4ZWNDYWxsZWUsIENhbGxMaW5rSW5mbyopCi17ICAgIAorewogICAgIHJldHVybiB2aXJ0dWFs
Rm9yKGV4ZWNDYWxsZWUsIENvZGVGb3JDYWxsLCBNdXN0UHJlc2VydmVSZWdpc3RlcnMpOwogfQog
CkBAIC04NzAsNyArODcyLDcgQEAgc2l6ZV90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uQ29tcGFy
ZUxlc3MoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGUKIHsKICAgICBWTSog
dm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBl
eGVjKTsKLSAgICAKKwogICAgIHJldHVybiBqc0xlc3M8dHJ1ZT4oZXhlYywgSlNWYWx1ZTo6ZGVj
b2RlKGVuY29kZWRPcDEpLCBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZE9wMikpOwogfQogCkBAIC05
MDIsNyArOTA0LDcgQEAgc2l6ZV90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uQ29udmVydEpTVmFs
dWVUb0Jvb2xlYW4oRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlMKIHsKICAgICBWTSogdm0gPSAm
ZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsK
LSAgICAKKwogICAgIHJldHVybiBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZE9wKS50b0Jvb2xlYW4o
ZXhlYyk7CiB9CiAKQEAgLTkzNiw3ICs5MzgsNyBAQCBzaXplX3QgSklUX09QRVJBVElPTiBvcGVy
YXRpb25IYXNQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBiYXNlLCBKU1N0cgog
ICAgIGludCByZXN1bHQgPSBiYXNlLT5oYXNQcm9wZXJ0eShleGVjLCBwcm9wZXJ0eS0+dG9JZGVu
dGlmaWVyKGV4ZWMpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQotICAgIAorCiAKIEVuY29kZWRK
U1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXlXaXRoUHJvZmlsZShFeGVjU3Rh
dGUqIGV4ZWMsIEFycmF5QWxsb2NhdGlvblByb2ZpbGUqIHByb2ZpbGUsIGNvbnN0IEpTVmFsdWUq
IHZhbHVlcywgaW50IHNpemUpCiB7CkBAIC05NzYsMTEgKzk3OCw0NCBAQCBFbmNvZGVkSlNWYWx1
ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Z1bmN0aW9uV2l0aEludmFsaWRhdGVkUmVhbGxv
Y2F0aW9uV2F0YwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNGdW5jdGlvbjo6Y3JlYXRl
V2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludCh2bSwgc3RhdGljX2Nhc3Q8RnVu
Y3Rpb25FeGVjdXRhYmxlKj4oZnVuY3Rpb25FeGVjdXRhYmxlKSwgc2NvcGUpKTsKIH0KIAorRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uV2l0aElu
dmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludChFeGVjU3RhdGUqIGV4ZWMsIEpTU2NvcGUq
IHNjb3BlLCBKU0NlbGwqIGZ1bmN0aW9uRXhlY3V0YWJsZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1Zh
bHVlKQoreworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIEFT
U0VSVChmdW5jdGlvbkV4ZWN1dGFibGUtPmluaGVyaXRzKEZ1bmN0aW9uRXhlY3V0YWJsZTo6aW5m
bygpKSk7CisgICAgICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgICAgIE5hdGl2ZUNhbGxG
cmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKKyAgICAgICAgCisgICAgICAgIEpTRnVuY3Rp
b24qIGZ1bmMgPSAgSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBzdGF0aWNfY2FzdDxGdW5jdGlvbkV4
ZWN1dGFibGUqPihmdW5jdGlvbkV4ZWN1dGFibGUpLCBzY29wZSk7CisgICAgICAgIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QgPSBleGVjLT5jYWxsZWUoKS0+Z2xvYmFsT2JqZWN0KCk7Cisg
ICAgICAgIAorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTQXJyb3dGdW5jdGlvbjo6
Y3JlYXRlV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludCh2bSwgZ2xvYmFsT2Jq
ZWN0LCBmdW5jLCBKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSkpOworI2Vsc2UKKyAgICAgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyNlbmRpZgorfQorICAgIAor
RW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKEV4
ZWNTdGF0ZSogZXhlYywgSlNTY29wZSogc2NvcGUsIEpTQ2VsbCogZnVuY3Rpb25FeGVjdXRhYmxl
LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUpCit7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICBBU1NFUlQoZnVuY3Rpb25FeGVjdXRhYmxlLT5pbmhlcml0cyhGdW5j
dGlvbkV4ZWN1dGFibGU6OmluZm8oKSkpOworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAg
TmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOworCisgICAgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCA9IGV4ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKKyAg
ICBKU0Z1bmN0aW9uKiBmdW5jID0gIEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgc3RhdGljX2Nhc3Q8
RnVuY3Rpb25FeGVjdXRhYmxlKj4oZnVuY3Rpb25FeGVjdXRhYmxlKSwgc2NvcGUpOworCisgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU0Fycm93RnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFs
T2JqZWN0LCBmdW5jLCBKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSkpOworCisjZWxzZQorICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisjZW5kaWYKK30KKwogSlND
ZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3RhdGUqIGV4ZWMsIFN0
cnVjdHVyZSogc3RydWN0dXJlKQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5h
dGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAgcmV0dXJu
IGNvbnN0cnVjdEVtcHR5T2JqZWN0KGV4ZWMsIHN0cnVjdHVyZSk7CiB9CiAKQEAgLTEwNTQsMTMg
KzEwODksMTMgQEAgU2xvd1BhdGhSZXR1cm5UeXBlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uT3B0
aW1pemUoRXhlY1N0YXRlKiBleGVjLCBpbnQzMl90IGJ5dGUKICAgICAvLyB0aGF0IGNhc2Ugd2Ug
d291bGQgaGF2ZSBhbHJlYWR5IHBsYW50ZWQgdGhlIG9wdGltaXplZCBjb2RlIGJsb2NrIGludG8g
dGhlIEpTCiAgICAgLy8gc3RhY2suCiAgICAgRGVmZXJHQ0ZvckFXaGlsZSBkZWZlckdDKHZtLmhl
YXApOwotICAgIAorCiAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVjLT5jb2RlQmxvY2so
KTsKICAgICBpZiAoY29kZUJsb2NrLT5qaXRUeXBlKCkgIT0gSklUQ29kZTo6QmFzZWxpbmVKSVQp
IHsKICAgICAgICAgZGF0YUxvZygiVW5leHBlY3RlZCBjb2RlIGJsb2NrIGluIEJhc2VsaW5lLT5E
RkcgdGllci11cDogIiwgKmNvZGVCbG9jaywgIlxuIik7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJU
X05PVF9SRUFDSEVEKCk7CiAgICAgfQotICAgIAorCiAgICAgaWYgKGJ5dGVjb2RlSW5kZXgpIHsK
ICAgICAgICAgLy8gSWYgd2UncmUgYXR0ZW1wdGluZyB0byBPU1IgZnJvbSBhIGxvb3AsIGFzc3Vt
ZSB0aGF0IHRoaXMgc2hvdWxkIGJlCiAgICAgICAgIC8vIHNlcGFyYXRlbHkgb3B0aW1pemVkLgpA
QCAtMTA4Niw3ICsxMTIxLDcgQEAgU2xvd1BhdGhSZXR1cm5UeXBlIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uT3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBpbnQzMl90IGJ5dGUKICAgICAgICAgICAg
IGRhdGFMb2coIkNob29zaW5nIG5vdCB0byBvcHRpbWl6ZSAiLCAqY29kZUJsb2NrLCAiIHlldCwg
YmVjYXVzZSB0aGUgdGhyZXNob2xkIGhhc24ndCBiZWVuIHJlYWNoZWQuXG4iKTsKICAgICAgICAg
cmV0dXJuIGVuY29kZVJlc3VsdCgwLCAwKTsKICAgICB9Ci0gICAgCisKICAgICBpZiAodm0uZW5h
YmxlZFByb2ZpbGVyKCkpIHsKICAgICAgICAgdXBkYXRlQWxsUHJlZGljdGlvbnNBbmRPcHRpbWl6
ZUFmdGVyV2FybVVwKGNvZGVCbG9jayk7CiAgICAgICAgIHJldHVybiBlbmNvZGVSZXN1bHQoMCwg
MCk7CkBAIC0xMTIyLDcgKzExNTcsNyBAQCBTbG93UGF0aFJldHVyblR5cGUgSklUX09QRVJBVElP
TiBvcGVyYXRpb25PcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIGludDMyX3QgYnl0ZQogICAgICAg
ICAvLyBjb3VudCB0aHJlc2hvbGQgZGVwZW5kaW5nIG9uIHdoYXQgaGFwcGVuZWQsIHNvIGlmIHRo
ZSBjb21waWxhdGlvbiB3YXMgYW55dGhpbmcKICAgICAgICAgLy8gYnV0IHN1Y2Nlc3NmdWwgd2Ug
anVzdCB3YW50IHRvIHJldHVybiBlYXJseS4gU2VlIHRoZSBjYXNlIGZvciB3b3JrbGlzdFN0YXRl
ID09CiAgICAgICAgIC8vIERGRzo6V29ya2xpc3Q6OkNvbXBpbGVkLCBiZWxvdy4KLSAgICAgICAg
CisKICAgICAgICAgLy8gTm90ZSB0aGF0IHdlIGNvdWxkIGhhdmUgYWx0ZXJuYXRpdmVseSBqdXN0
IGNhbGxlZCBXb3JrbGlzdDo6Y29tcGlsYXRpb25TdGF0ZSgpCiAgICAgICAgIC8vIGhlcmUsIGFu
ZCBpZiBpdCByZXR1cm5lZCBDb21waWxlZCwgd2UgY291bGQgaGF2ZSB0aGVuIGNhbGxlZAogICAg
ICAgICAvLyBjb21wbGV0ZUFuZFNjaGVkdWxlT1NSKCkgYmVsb3cuIEJ1dCB0aGF0IHdvdWxkIGhh
dmUgbWVhbnQgdGhhdCBpdCBjb3VsZCB0YWtlCkBAIC0xMTY1LDcgKzEyMDAsNyBAQCBTbG93UGF0
aFJldHVyblR5cGUgSklUX09QRVJBVElPTiBvcGVyYXRpb25PcHRpbWl6ZShFeGVjU3RhdGUqIGV4
ZWMsIGludDMyX3QgYnl0ZQogICAgICAgICAvLyBjdGlfb3B0aW1pemUgZnJvbSBhIGxvb3AuIFRo
YXQncyBiZWNhdXNlIGlmIHRoZXJlJ3MgYW4gb3B0aW1pemVkIHJlcGxhY2VtZW50LAogICAgICAg
ICAvLyB0aGVuIGFsbCBjYWxscyB0byB0aGlzIGZ1bmN0aW9uIHdpbGwgYmUgcmVsaW5rZWQgdG8g
dGhlIHJlcGxhY2VtZW50IGFuZCBzbwogICAgICAgICAvLyB0aGUgcHJvbG9ndWUgT1NSIHdpbGwg
bmV2ZXIgZmlyZS4KLSAgICAgICAgCisKICAgICAgICAgLy8gVGhpcyBpcyBhbiBpbnRlcmVzdGlu
ZyB0aHJlc2hvbGQgY2hlY2suIENvbnNpZGVyIHRoYXQgYSBmdW5jdGlvbiBPU1IgZXhpdHMKICAg
ICAgICAgLy8gaW4gdGhlIG1pZGRsZSBvZiBhIGxvb3AsIHdoaWxlIGhhdmluZyBhIHJlbGF0aXZl
bHkgbG93IGV4aXQgY291bnQuIFRoZSBleGl0CiAgICAgICAgIC8vIHdpbGwgcmVzZXQgdGhlIGV4
ZWN1dGlvbiBjb3VudGVyIHRvIHNvbWUgdGFyZ2V0IHRocmVzaG9sZCwgbWVhbmluZyB0aGF0IHRo
aXMKQEAgLTEyMTEsMTYgKzEyNDYsMTYgQEAgU2xvd1BhdGhSZXR1cm5UeXBlIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uT3B0aW1pemUoRXhlY1N0YXRlKiBleGVjLCBpbnQzMl90IGJ5dGUKICAgICAg
ICAgQ29tcGlsYXRpb25SZXN1bHQgcmVzdWx0ID0gREZHOjpjb21waWxlKAogICAgICAgICAgICAg
dm0sIHJlcGxhY2VtZW50Q29kZUJsb2NrLmdldCgpLCAwLCBERkc6OkRGR01vZGUsIGJ5dGVjb2Rl
SW5kZXgsCiAgICAgICAgICAgICBtdXN0SGFuZGxlVmFsdWVzLCBKSVRUb0RGR0RlZmVycmVkQ29t
cGlsYXRpb25DYWxsYmFjazo6Y3JlYXRlKCkpOwotICAgICAgICAKKwogICAgICAgICBpZiAocmVz
dWx0ICE9IENvbXBpbGF0aW9uU3VjY2Vzc2Z1bCkgewogICAgICAgICAgICAgQVNTRVJUKHJlc3Vs
dCA9PSBDb21waWxhdGlvbkRlZmVycmVkIHx8IHJlcGxhY2VtZW50Q29kZUJsb2NrLT5oYXNPbmVS
ZWYoKSk7CiAgICAgICAgICAgICByZXR1cm4gZW5jb2RlUmVzdWx0KDAsIDApOwogICAgICAgICB9
CiAgICAgfQotICAgIAorCiAgICAgQ29kZUJsb2NrKiBvcHRpbWl6ZWRDb2RlQmxvY2sgPSBjb2Rl
QmxvY2stPnJlcGxhY2VtZW50KCk7CiAgICAgQVNTRVJUKEpJVENvZGU6OmlzT3B0aW1pemluZ0pJ
VChvcHRpbWl6ZWRDb2RlQmxvY2stPmppdFR5cGUoKSkpOwotICAgIAorCiAgICAgaWYgKHZvaWQq
IGRhdGFCdWZmZXIgPSBERkc6OnByZXBhcmVPU1JFbnRyeShleGVjLCBvcHRpbWl6ZWRDb2RlQmxv
Y2ssIGJ5dGVjb2RlSW5kZXgpKSB7CiAgICAgICAgIGlmIChPcHRpb25zOjp2ZXJib3NlT1NSKCkp
IHsKICAgICAgICAgICAgIGRhdGFMb2coCkBAIC0xMjYzLDcgKzEyOTgsNyBAQCBTbG93UGF0aFJl
dHVyblR5cGUgSklUX09QRVJBVElPTiBvcGVyYXRpb25PcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMs
IGludDMyX3QgYnl0ZQogICAgIC8vIE9TUiBmYWlsZWQgdGhpcyB0aW1lLCBidXQgaXQgbWlnaHQg
c3VjY2VlZCBuZXh0IHRpbWUhIExldCB0aGUgY29kZSBydW4gYSBiaXQKICAgICAvLyBsb25nZXIg
YW5kIHRoZW4gdHJ5IGFnYWluLgogICAgIGNvZGVCbG9jay0+b3B0aW1pemVBZnRlcldhcm1VcCgp
OwotICAgIAorCiAgICAgcmV0dXJuIGVuY29kZVJlc3VsdCgwLCAwKTsKIH0KICNlbmRpZgpAQCAt
MTQzOSw3ICsxNDc0LDcgQEAgc3RhdGljIEpTVmFsdWUgZ2V0QnlWYWwoRXhlY1N0YXRlKiBleGVj
LCBKU1ZhbHVlIGJhc2VWYWx1ZSwgSlNWYWx1ZSBzdWJzY3JpcHQsIFIKIH0KIAogZXh0ZXJuICJD
IiB7Ci0gICAgCisKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlW
YWxHZW5lcmljKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRTdWJzY3JpcHQpCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0o
KTsKQEAgLTE0NTcsNyArMTQ5Miw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uR2V0QnlWYWxEZWZhdWx0KEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTCiAgICAgTmF0
aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOwogICAgIEpTVmFsdWUgYmFzZVZh
bHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKTsKICAgICBKU1ZhbHVlIHN1YnNjcmlw
dCA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkU3Vic2NyaXB0KTsKLSAgICAKKwogICAgIGlmIChi
YXNlVmFsdWUuaXNPYmplY3QoKSAmJiBzdWJzY3JpcHQuaXNJbnQzMigpKSB7CiAgICAgICAgIC8v
IFNlZSBpZiBpdCdzIHdvcnRoIG9wdGltaXppbmcgdGhpcyBhdCBhbGwuCiAgICAgICAgIEpTT2Jq
ZWN0KiBvYmplY3QgPSBhc09iamVjdChiYXNlVmFsdWUpOwpAQCAtMTQ2Nyw3ICsxNTAyLDcgQEAg
RW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeVZhbERlZmF1bHQoRXhl
Y1N0YXRlKiBleGVjLCBFbmNvZGVkSlMKICAgICAgICAgQVNTRVJUKGJ5dGVjb2RlT2Zmc2V0KTsK
ICAgICAgICAgQnlWYWxJbmZvJiBieVZhbEluZm8gPSBleGVjLT5jb2RlQmxvY2soKS0+Z2V0QnlW
YWxJbmZvKGJ5dGVjb2RlT2Zmc2V0IC0gMSk7CiAgICAgICAgIEFTU0VSVCghYnlWYWxJbmZvLnN0
dWJSb3V0aW5lKTsKLSAgICAgICAgCisKICAgICAgICAgaWYgKGhhc09wdGltaXphYmxlSW5kZXhp
bmcob2JqZWN0LT5zdHJ1Y3R1cmUodm0pKSkgewogICAgICAgICAgICAgLy8gQXR0ZW1wdCB0byBv
cHRpbWl6ZS4KICAgICAgICAgICAgIEpJVEFycmF5TW9kZSBhcnJheU1vZGUgPSBqaXRBcnJheU1v
ZGVGb3JTdHJ1Y3R1cmUob2JqZWN0LT5zdHJ1Y3R1cmUodm0pKTsKQEAgLTE0NzYsNyArMTUxMSw3
IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlWYWxEZWZhdWx0
KEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTCiAgICAgICAgICAgICAgICAgZGlkT3B0aW1pemUg
PSB0cnVlOwogICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgICAgIAorCiAgICAgICAgIGlm
ICghZGlkT3B0aW1pemUpIHsKICAgICAgICAgICAgIC8vIElmIHdlIHRha2Ugc2xvdyBwYXRoIG1v
cmUgdGhhbiAxMCB0aW1lcyB3aXRob3V0IHBhdGNoaW5nIHRoZW4gbWFrZSBzdXJlIHdlCiAgICAg
ICAgICAgICAvLyBuZXZlciBtYWtlIHRoYXQgbWlzdGFrZSBhZ2Fpbi4gT3IsIGlmIHdlIGZhaWxl
ZCB0byBwYXRjaCBhbmQgd2UgaGF2ZSBzb21lIG9iamVjdApAQCAtMTQ5MCwxOCArMTUyNSwxOCBA
QCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5VmFsRGVmYXVsdChF
eGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKUwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAg
fQotICAgIAorCiAgICAgSlNWYWx1ZSByZXN1bHQgPSBnZXRCeVZhbChleGVjLCBiYXNlVmFsdWUs
IHN1YnNjcmlwdCwgUmV0dXJuQWRkcmVzc1B0cihPVVJfUkVUVVJOX0FERFJFU1MpKTsKICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CiB9Ci0gICAgCisKIEVuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFzSW5kZXhlZFByb3BlcnR5RGVmYXVsdChFeGVjU3Rh
dGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRCYXNlLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkU3Vic2NyaXB0KQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2Fs
bEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOwogICAgIEpTVmFsdWUgYmFzZVZhbHVlID0g
SlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKTsKICAgICBKU1ZhbHVlIHN1YnNjcmlwdCA9IEpT
VmFsdWU6OmRlY29kZShlbmNvZGVkU3Vic2NyaXB0KTsKLSAgICAKKwogICAgIEFTU0VSVChiYXNl
VmFsdWUuaXNPYmplY3QoKSk7CiAgICAgQVNTRVJUKHN1YnNjcmlwdC5pc1VJbnQzMigpKTsKIApA
QCAtMTUxMiw3ICsxNTQ3LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRp
b25IYXNJbmRleGVkUHJvcGVydHlEZWZhdWx0KEV4ZWNTdGF0ZSogZXhlYywKICAgICBBU1NFUlQo
Ynl0ZWNvZGVPZmZzZXQpOwogICAgIEJ5VmFsSW5mbyYgYnlWYWxJbmZvID0gZXhlYy0+Y29kZUJs
b2NrKCktPmdldEJ5VmFsSW5mbyhieXRlY29kZU9mZnNldCAtIDEpOwogICAgIEFTU0VSVCghYnlW
YWxJbmZvLnN0dWJSb3V0aW5lKTsKLSAgICAKKwogICAgIGlmIChoYXNPcHRpbWl6YWJsZUluZGV4
aW5nKG9iamVjdC0+c3RydWN0dXJlKHZtKSkpIHsKICAgICAgICAgLy8gQXR0ZW1wdCB0byBvcHRp
bWl6ZS4KICAgICAgICAgSklUQXJyYXlNb2RlIGFycmF5TW9kZSA9IGppdEFycmF5TW9kZUZvclN0
cnVjdHVyZShvYmplY3QtPnN0cnVjdHVyZSh2bSkpOwpAQCAtMTUyMSw3ICsxNTU2LDcgQEAgRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25IYXNJbmRleGVkUHJvcGVydHlEZWZh
dWx0KEV4ZWNTdGF0ZSogZXhlYywKICAgICAgICAgICAgIGRpZE9wdGltaXplID0gdHJ1ZTsKICAg
ICAgICAgfQogICAgIH0KLSAgICAKKwogICAgIGlmICghZGlkT3B0aW1pemUpIHsKICAgICAgICAg
Ly8gSWYgd2UgdGFrZSBzbG93IHBhdGggbW9yZSB0aGFuIDEwIHRpbWVzIHdpdGhvdXQgcGF0Y2hp
bmcgdGhlbiBtYWtlIHN1cmUgd2UKICAgICAgICAgLy8gbmV2ZXIgbWFrZSB0aGF0IG1pc3Rha2Ug
YWdhaW4uIE9yLCBpZiB3ZSBmYWlsZWQgdG8gcGF0Y2ggYW5kIHdlIGhhdmUgc29tZSBvYmplY3QK
QEAgLTE1MzEsMzQgKzE1NjYsMzQgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVy
YXRpb25IYXNJbmRleGVkUHJvcGVydHlEZWZhdWx0KEV4ZWNTdGF0ZSogZXhlYywKICAgICAgICAg
aWYgKCsrYnlWYWxJbmZvLnNsb3dQYXRoQ291bnQgPj0gMTAKICAgICAgICAgICAgIHx8IG9iamVj
dC0+c3RydWN0dXJlKHZtKS0+dHlwZUluZm8oKS5pbnRlcmNlcHRzR2V0T3duUHJvcGVydHlTbG90
QnlJbmRleEV2ZW5XaGVuTGVuZ3RoSXNOb3RaZXJvKCkpIHsKICAgICAgICAgICAgIC8vIERvbid0
IGV2ZXIgdHJ5IHRvIG9wdGltaXplLgotICAgICAgICAgICAgY3RpUGF0Y2hDYWxsQnlSZXR1cm5B
ZGRyZXNzKGV4ZWMtPmNvZGVCbG9jaygpLCBSZXR1cm5BZGRyZXNzUHRyKE9VUl9SRVRVUk5fQURE
UkVTUyksIEZ1bmN0aW9uUHRyKG9wZXJhdGlvbkhhc0luZGV4ZWRQcm9wZXJ0eUdlbmVyaWMpKTsg
CisgICAgICAgICAgICBjdGlQYXRjaENhbGxCeVJldHVybkFkZHJlc3MoZXhlYy0+Y29kZUJsb2Nr
KCksIFJldHVybkFkZHJlc3NQdHIoT1VSX1JFVFVSTl9BRERSRVNTKSwgRnVuY3Rpb25QdHIob3Bl
cmF0aW9uSGFzSW5kZXhlZFByb3BlcnR5R2VuZXJpYykpOwogICAgICAgICB9CiAgICAgfQotICAg
IAorCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4ob2JqZWN0LT5oYXNQcm9w
ZXJ0eShleGVjLCBzdWJzY3JpcHQuYXNVSW50MzIoKSkpKTsKIH0KLSAgICAKKwogRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25IYXNJbmRleGVkUHJvcGVydHlHZW5lcmljKEV4
ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIEVuY29kZWRKU1ZhbHVl
IGVuY29kZWRTdWJzY3JpcHQpCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBOYXRp
dmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CiAgICAgSlNWYWx1ZSBiYXNlVmFs
dWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpOwogICAgIEpTVmFsdWUgc3Vic2NyaXB0
ID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRTdWJzY3JpcHQpOwotICAgIAorCiAgICAgQVNTRVJU
KGJhc2VWYWx1ZS5pc09iamVjdCgpKTsKICAgICBBU1NFUlQoc3Vic2NyaXB0LmlzVUludDMyKCkp
OwogCiAgICAgSlNPYmplY3QqIG9iamVjdCA9IGFzT2JqZWN0KGJhc2VWYWx1ZSk7CiAgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4ob2JqZWN0LT5oYXNQcm9wZXJ0eShleGVjLCBz
dWJzY3JpcHQuYXNVSW50MzIoKSkpKTsKIH0KLSAgICAKKwogRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25HZXRCeVZhbFN0cmluZyhFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRCYXNlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkU3Vic2NyaXB0KQogewog
ICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNl
cigmdm0sIGV4ZWMpOwogICAgIEpTVmFsdWUgYmFzZVZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVu
Y29kZWRCYXNlKTsKICAgICBKU1ZhbHVlIHN1YnNjcmlwdCA9IEpTVmFsdWU6OmRlY29kZShlbmNv
ZGVkU3Vic2NyaXB0KTsKLSAgICAKKwogICAgIEpTVmFsdWUgcmVzdWx0OwogICAgIGlmIChMSUtF
TFkoc3Vic2NyaXB0LmlzVUludDMyKCkpKSB7CiAgICAgICAgIHVpbnQzMl90IGkgPSBzdWJzY3Jp
cHQuYXNVSW50MzIoKTsKQEAgLTE2MDEsNyArMTYzNiw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uSW5zdGFuY2VPZihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1Zh
bHVlCiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOwogICAgIEpT
VmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKICAgICBKU1ZhbHVl
IHByb3RvID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRQcm90byk7Ci0gICAgCisKICAgICBBU1NF
UlQoIXZhbHVlLmlzT2JqZWN0KCkgfHwgIXByb3RvLmlzT2JqZWN0KCkpOwogCiAgICAgYm9vbCBy
ZXN1bHQgPSBKU09iamVjdDo6ZGVmYXVsdEhhc0luc3RhbmNlKGV4ZWMsIHZhbHVlLCBwcm90byk7
CkBAIC0xNzU3LDcgKzE3OTIsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0VG9T
Y29wZShFeGVjU3RhdGUqIGV4ZWMsIEluc3RydWN0aW9uKiBieXRlY29kZVBDKQogCiAgICAgUHV0
UHJvcGVydHlTbG90IHNsb3Qoc2NvcGUsIGNvZGVCbG9jay0+aXNTdHJpY3RNb2RlKCkpOwogICAg
IHNjb3BlLT5tZXRob2RUYWJsZSgpLT5wdXQoc2NvcGUsIGV4ZWMsIGlkZW50LCB2YWx1ZSwgc2xv
dCk7Ci0gICAgCisKICAgICBpZiAoZXhlYy0+dm0oKS5leGNlcHRpb24oKSkKICAgICAgICAgcmV0
dXJuOwogCkBAIC0xNzkxLDcgKzE4MjYsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
T1NSV3JpdGVCYXJyaWVyKEV4ZWNTdGF0ZSogZXhlYywgSlNDZWxsKiBjZWxsKQogfQogCiAvLyBO
QjogV2UgZG9uJ3QgaW5jbHVkZSB0aGUgdmFsdWUgYXMgcGFydCBvZiB0aGUgYmFycmllciBiZWNh
dXNlIHRoZSB3cml0ZSBiYXJyaWVyIGVsaXNpb24KLS8vIHBoYXNlIGluIHRoZSBERkcgb25seSB0
cmFja3Mgd2hldGhlciB0aGUgb2JqZWN0IGJlaW5nIHN0b3JlZCB0byBoYXMgYmVlbiBiYXJyaWVy
ZWQuIEl0IAorLy8gcGhhc2UgaW4gdGhlIERGRyBvbmx5IHRyYWNrcyB3aGV0aGVyIHRoZSBvYmpl
Y3QgYmVpbmcgc3RvcmVkIHRvIGhhcyBiZWVuIGJhcnJpZXJlZC4gSXQKIC8vIHdvdWxkIGJlIG11
Y2ggbW9yZSBjb21wbGljYXRlZCB0byB0cnkgdG8gbW9kZWwgdGhlIHZhbHVlIGJlaW5nIHN0b3Jl
ZCBhcyB3ZWxsLgogdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblVuY29uZGl0aW9uYWxXcml0
ZUJhcnJpZXIoRXhlY1N0YXRlKiBleGVjLCBKU0NlbGwqIGNlbGwpCiB7CkBAIC0xODE1LDcgKzE4
NTAsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gbG9va3VwRXhjZXB0aW9uSGFuZGxlcihWTSogdm0s
IEV4ZWNTdGF0ZSogZXhlYykKIAogICAgIEpTVmFsdWUgZXhjZXB0aW9uVmFsdWUgPSB2bS0+ZXhj
ZXB0aW9uKCk7CiAgICAgQVNTRVJUKGV4Y2VwdGlvblZhbHVlKTsKLSAgICAKKwogICAgIGdlbmVy
aWNVbndpbmQodm0sIGV4ZWMsIGV4Y2VwdGlvblZhbHVlKTsKICAgICBBU1NFUlQodm0tPnRhcmdl
dE1hY2hpbmVQQ0ZvclRocm93KTsKIH0KQEAgLTE4MzAsNyArMTg2NSw3IEBAIHZvaWQgSklUX09Q
RVJBVElPTiBsb29rdXBFeGNlcHRpb25IYW5kbGVyRnJvbUNhbGxlckZyYW1lKFZNKiB2bSwgRXhl
Y1N0YXRlKiBleGVjCiAKICAgICBKU1ZhbHVlIGV4Y2VwdGlvblZhbHVlID0gdm0tPmV4Y2VwdGlv
bigpOwogICAgIEFTU0VSVChleGNlcHRpb25WYWx1ZSk7Ci0gICAgCisKICAgICBnZW5lcmljVW53
aW5kKHZtLCBjYWxsZXJGcmFtZSwgZXhjZXB0aW9uVmFsdWUpOwogICAgIEFTU0VSVCh2bS0+dGFy
Z2V0TWFjaGluZVBDRm9yVGhyb3cpOwogfQpAQCAtMTg3Nyw3ICsxOTEyLDcgQEAgRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25IYXNJbmRleGVkUHJvcGVydHkoRXhlY1N0YXRl
KiBleGVjLCBKU0NlbGwKICAgICBKU09iamVjdCogb2JqZWN0ID0gYmFzZUNlbGwtPnRvT2JqZWN0
KGV4ZWMsIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShqc0Jvb2xlYW4ob2JqZWN0LT5oYXNQcm9wZXJ0eShleGVjLCBzdWJzY3JpcHQpKSk7
CiB9Ci0gICAgCisKIEpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRQcm9wZXJ0eUVu
dW1lcmF0b3IoRXhlY1N0YXRlKiBleGVjLCBKU0NlbGwqIGNlbGwpCiB7CiAgICAgVk0mIHZtID0g
ZXhlYy0+dm0oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bl
cmF0aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKaW5k
ZXggNGM4MWQ4NTQ3YzhjZjY3MDZmMDhkZjA2MTdjZDlhOTE2ODhlZjk2NS4uZmM1N2Y4N2QyODI4
YzRmNmM5ZTlhNmJjODIyZTRmMDdiZGEyZTM2NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRPcGVyYXRpb25zLmgKQEAgLTIwLDcgKzIwLDcgQEAKICAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKICAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAogICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8K
IAogI2lmbmRlZiBKSVRPcGVyYXRpb25zX2gKQEAgLTExNiw2ICsxMTYsNyBAQCB0eXBlZGVmIEVu
Y29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FUFApKEV4ZWNTdGF0
ZSosIHZvaWQqLCB2bwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9K
SVRPcGVyYXRpb25fRVBTKShFeGVjU3RhdGUqLCB2b2lkKiwgc2l6ZV90KTsKIHR5cGVkZWYgRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQYykoRXhlY1N0YXRl
KiwgSW5zdHJ1Y3Rpb24qKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAo
KkpfSklUT3BlcmF0aW9uX0VKc2NDKShFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKik7Cit0
eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FSnNj
Q0opKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSk7CiB0eXBl
ZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FU1MpKEV4
ZWNTdGF0ZSosIHNpemVfdCwgc2l6ZV90KTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTc2lDSSkoRXhlY1N0YXRlKiwgU3RydWN0dXJlU3R1
YkluZm8qLCBKU0NlbGwqLCBTdHJpbmdJbXBsKik7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJ
VF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FU3NpSkkpKEV4ZWNTdGF0ZSosIFN0cnVjdHVy
ZVN0dWJJbmZvKiwgRW5jb2RlZEpTVmFsdWUsIFN0cmluZ0ltcGwqKTsKQEAgLTI4Myw2ICsyODQs
OCBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5QnVmZmVy
V2l0aFByb2ZpbGUoRXhlY1N0YXRlKiwgQXJyYQogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElP
TiBvcGVyYXRpb25OZXdBcnJheVdpdGhTaXplQW5kUHJvZmlsZShFeGVjU3RhdGUqLCBBcnJheUFs
bG9jYXRpb25Qcm9maWxlKiwgRW5jb2RlZEpTVmFsdWUgc2l6ZSkgV1RGX0lOVEVSTkFMOwogRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdGdW5jdGlvbihFeGVjU3RhdGUq
LCBKU1Njb3BlKiwgSlNDZWxsKikgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25OZXdGdW5jdGlvbldpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldh
dGNocG9pbnQoRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCopIFdURl9JTlRFUk5BTDsKK0Vu
Y29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbihFeGVj
U3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUpIFdURl9JTlRFUk5BTDsK
K0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbldp
dGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQoRXhlY1N0YXRlKiwgSlNTY29wZSos
IEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlKSBXVEZfSU5URVJOQUw7CiBKU0NlbGwqIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uTmV3T2JqZWN0KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSopIFdURl9JTlRF
Uk5BTDsKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3UmVnZXhwKEV4
ZWNTdGF0ZSosIHZvaWQqKSBXVEZfSU5URVJOQUw7CiB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uSGFuZGxlV2F0Y2hkb2dUaW1lcihFeGVjU3RhdGUqKSBXVEZfSU5URVJOQUw7CkBAIC00MTEs
NCArNDE0LDMgQEAgaW5saW5lIFBfSklUT3BlcmF0aW9uX0VDbGkgb3BlcmF0aW9uTGlua1BvbHlt
b3JwaGljQ2FsbEZvcihSZWdpc3RlclByZXNlcnZhdGlvbk0KICNlbmRpZiAvLyBFTkFCTEUoSklU
KQogCiAjZW5kaWYgLy8gSklUT3BlcmF0aW9uc19oCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCmluZGV4IDIwYmViZjMyZjYxNTRmYTlmM2Y0Njk2
MmYzYTYxNDBhMmU4NDZkYzAuLjdhODUwNWYyOGZlYzJjYWUyYzY1Mzg1Y2MwOTRiY2RmY2MyNGFm
ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRo
cy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNw
cApAQCAtMzgsNiArMzgsOCBAQAogI2luY2x1ZGUgIkludGVycHJldGVyLmgiCiAjaW5jbHVkZSAi
SklULmgiCiAjaW5jbHVkZSAiSklURXhjZXB0aW9ucy5oIgorI2luY2x1ZGUgIkpTQXJyb3dGdW5j
dGlvbi5oIgorI2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTTGV4aWNh
bEVudmlyb25tZW50LmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTQ0pT
VmFsdWUuaCIKQEAgLTE3MSw2ICsxNzMsMTUgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBM
TEludCB7CiAgICAgICAgIExMSU5UX1JFVFVSTl9UV08ocGMsIF9fcmNmX2V4ZWMpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgfSB3aGlsZSAoZmFsc2UpCiAKKyAgICAKKyNk
ZWZpbmUgTExJTlRfQ0FMQ19QUk9QRVJUWV9GT1JfRlVOQ19FWFBSKCkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgIExMSU5UX0JFR0lOKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQ29k
ZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVjLT5jb2RlQmxvY2soKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICBKU1Njb3BlKiBzY29wZSA9IGV4ZWMtPnVuY2hlY2tlZFIo
cGNbMl0udS5vcGVyYW5kKS5SZWdpc3Rlcjo6c2NvcGUoKTsgICAgICAgXAorICAgIEZ1bmN0aW9u
RXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9IGNvZGVCbG9jay0+ZnVuY3Rpb25FeHByKHBjWzNdLnUu
b3BlcmFuZCk7ICBcCisgICAgCitlbnVtIEZ1bmN0aW9uRXhwcmVzc2lvblR5cGUgeyBBcnJvd0Z1
bmN0aW9uRXhwcmVzc2lvblR5cGUsIENvbW1vbkZ1bmN0aW9uRXhwcmVzc2lvblR5cGV9OworICAg
IAogZXh0ZXJuICJDIiBTbG93UGF0aFJldHVyblR5cGUgbGxpbnRfdHJhY2Vfb3BlcmFuZChFeGVj
U3RhdGUqIGV4ZWMsIEluc3RydWN0aW9uKiBwYywgaW50IGZyb21XaGVyZSwgaW50IG9wZXJhbmQp
CiB7CiAgICAgTExJTlRfQkVHSU4oKTsKQEAgLTEwMDMsMTYgKzEwMTQsMzMgQEAgTExJTlRfU0xP
V19QQVRIX0RFQ0woc2xvd19wYXRoX25ld19mdW5jKQogI2VuZGlmCiAgICAgTExJTlRfUkVUVVJO
KEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgY29kZUJsb2NrLT5mdW5jdGlvbkRlY2wocGNbM10udS5v
cGVyYW5kKSwgc2NvcGUpKTsKIH0KLQorICAgIAogTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19w
YXRoX25ld19mdW5jX2V4cCkKIHsKLSAgICBMTElOVF9CRUdJTigpOwotICAgIENvZGVCbG9jayog
Y29kZUJsb2NrID0gZXhlYy0+Y29kZUJsb2NrKCk7Ci0gICAgSlNTY29wZSogc2NvcGUgPSBleGVj
LT51bmNoZWNrZWRSKHBjWzJdLnUub3BlcmFuZCkuUmVnaXN0ZXI6OnNjb3BlKCk7Ci0gICAgRnVu
Y3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlvbiA9IGNvZGVCbG9jay0+ZnVuY3Rpb25FeHByKHBjWzNd
LnUub3BlcmFuZCk7Ci0gICAgSlNGdW5jdGlvbiogZnVuYyA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2
bSwgZnVuY3Rpb24sIHNjb3BlKTsKKyAgICBMTElOVF9DQUxDX1BST1BFUlRZX0ZPUl9GVU5DX0VY
UFIoKTsKKworICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGV4
ZWN1dGFibGUsIHNjb3BlKTsKKyAgICBMTElOVF9SRVRVUk4oZnVuYyk7Cit9CisKKworTExJTlRf
U0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX25ld19hcnJvd19mdW5jX2V4cCkKK3sKKyAgICBMTElO
VF9DQUxDX1BST1BFUlRZX0ZPUl9GVU5DX0VYUFIoKTsKKworI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgSlNWYWx1ZSB0aGlzVmFsdWUgPSBMTElOVF9PUF9DKDQpLmpz
VmFsdWUoKTsKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZXhlYy0+Y2FsbGVl
KCktPmdsb2JhbE9iamVjdCgpOwogICAgIAorICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Z1bmN0
aW9uOjpjcmVhdGUodm0sIGV4ZWN1dGFibGUsIHNjb3BlKTsKKyAgICAKKyAgICBjb25zdCBTdHJp
bmcgZnVuY1dpdGhvdXROYW1lID0gIiI7CisgICAgCisgICAgTExJTlRfUkVUVVJOKEpTQXJyb3dG
dW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIGZ1bmMsIHRoaXNWYWx1ZSkpOworI2Vs
c2UKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBleGVjdXRh
YmxlLCBzY29wZSk7CiAgICAgTExJTlRfUkVUVVJOKGZ1bmMpOworI2VuZGlmCiB9CiAKIHN0YXRp
YyBTbG93UGF0aFJldHVyblR5cGUgaGFuZGxlSG9zdENhbGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVl
LCBJbnN0cnVjdGlvbiogcGMsIEpTVmFsdWUgY2FsbGVlLCBDb2RlU3BlY2lhbGl6YXRpb25LaW5k
IGtpbmQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93
UGF0aHMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCmlu
ZGV4IDRiZjdkZWIwZmEwYjZjNjQzOGUzNmY5NjMyMGUyZjY2OTczOWFmNjQuLmM3ZmFiOTY5MWMx
OGI5Mzk1NmQwZWEyOWYzMzk1NjExOGM1ZTcxZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9MTEludFNsb3dQYXRocy5oCkBAIC05Niw2ICs5Niw3IEBAIExMSU5UX1NMT1dfUEFU
SF9ISURERU5fREVDTChzbG93X3BhdGhfc3dpdGNoX2NoYXIpOwogTExJTlRfU0xPV19QQVRIX0hJ
RERFTl9ERUNMKHNsb3dfcGF0aF9zd2l0Y2hfc3RyaW5nKTsKIExMSU5UX1NMT1dfUEFUSF9ISURE
RU5fREVDTChzbG93X3BhdGhfbmV3X2Z1bmMpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNM
KHNsb3dfcGF0aF9uZXdfZnVuY19leHApOworTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNs
b3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNM
KHNsb3dfcGF0aF9jYWxsKTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhf
Y29uc3RydWN0KTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfc2l6ZV9m
cmFtZV9mb3JfdmFyYXJncyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc20KaW5kZXggNTQzZDllOTMzM2M1MTNlOTc2MTdiN2JkYTdm
Njk5ODY2ODM4YTFlMC4uMTgyYmJkOWU0ZWY3ODkyOGRhNTJmYmNlYzg4MmE1ZGYzNmRiNzk0MSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbQpAQCAtMTE2OSw2ICsxMTY5LDEwIEBAIF9sbGludF9vcF9uZXdfZnVuY19leHA6CiAg
ICAgY2FsbFNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfbmV3X2Z1bmNfZXhwKQogICAgIGRpc3Bh
dGNoKDQpCiAKK19sbGludF9vcF9uZXdfYXJyb3dfZnVuY19leHA6CisgICAgdHJhY2VFeGVjdXRp
b24oKQorICAgIGNhbGxTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX25ld19hcnJvd19mdW5jX2V4
cCkKKyAgICBkaXNwYXRjaCg1KQogCiBfbGxpbnRfb3BfY2FsbDoKICAgICB0cmFjZUV4ZWN1dGlv
bigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCmluZGV4IGFhNzM3
MDUyY2IzYzgxNTM1N2M4YTZmZTM2OGFkMjE1OWJhMzJjMGYuLjlkMDMxOTE0NGJkNGQ3YmUxNjZm
ZDc5NDA1MjU4YjkyZDI0YTQ2NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvQVNUQnVpbGRlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNU
QnVpbGRlci5oCkBAIC0zNTcsNiArMzU3LDE5IEBAIHB1YmxpYzoKICAgICAgICAgICAgIGluU3Ry
aWN0Q29udGV4dCwgY29uc3RydWN0b3JLaW5kKTsKICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEV4cHJlc3Npb25Ob2RlKiBjcmVhdGVBcnJvd0Z1bmN0
aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBQYXJzZXJGdW5j
dGlvbkluZm88QVNUQnVpbGRlcj4mIGluZm8pCisgICAgeworICAgICAgICBTb3VyY2VDb2RlIHNv
dXJjZSA9IGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Np
b24KKyAgICAgICAgPyBtX3NvdXJjZUNvZGUtPnN1YkFycm93RXhwcmVzc2lvbihpbmZvLmFycm93
RnVuY3Rpb25PZmZzZXQsIGluZm8uY2xvc2VCcmFjZU9mZnNldCwgaW5mby5ib2R5U3RhcnRMaW5l
LCBpbmZvLmJvZHlTdGFydENvbHVtbikKKyAgICAgICAgOiBtX3NvdXJjZUNvZGUtPnN1YkV4cHJl
c3Npb24oaW5mby5vcGVuQnJhY2VPZmZzZXQsIGluZm8uY2xvc2VCcmFjZU9mZnNldCwgaW5mby5i
b2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlTdGFydENvbHVtbik7CisKKyAgICAgICAgQXJyb3dGdW5j
RXhwck5vZGUqIHJlc3VsdCA9IG5ldyAobV9wYXJzZXJBcmVuYSkgQXJyb3dGdW5jRXhwck5vZGUo
bG9jYXRpb24sICppbmZvLm5hbWUsIGluZm8uYm9keSwgc291cmNlLCBpbmZvLnBhcmFtZXRlcnMp
OworICAgICAgICBpbmZvLmJvZHktPnNldExvYyhpbmZvLmJvZHlTdGFydExpbmUsIGluZm8uYm9k
eUVuZExpbmUsIGxvY2F0aW9uLnN0YXJ0T2Zmc2V0LCBsb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQp
OworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKyNlbmRpZgorCiAgICAgTkVWRVJfSU5M
SU5FIFByb3BlcnR5Tm9kZSogY3JlYXRlR2V0dGVyT3JTZXR0ZXJQcm9wZXJ0eShjb25zdCBKU1Rv
a2VuTG9jYXRpb24mIGxvY2F0aW9uLCBQcm9wZXJ0eU5vZGU6OlR5cGUgdHlwZSwgYm9vbCwKICAg
ICAgICAgY29uc3QgSWRlbnRpZmllciogbmFtZSwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPEFT
VEJ1aWxkZXI+JiBpbmZvLCBTdXBlckJpbmRpbmcgc3VwZXJCaW5kaW5nKQogICAgIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKaW5kZXggOTZlYjdhYWIyMzlhMzg2ZDA3ZjYw
ZGJhNzRlNmZhZDFmYTZjZDM3YS4uYWQ3MDU2ZGRlMzg4ZWY4NmZiN2Y2Mjc2ZmRhNzNlYWU4OWQ0
MzQ4ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKQEAgLTE3MDgsNiAr
MTcwOCwxOCBAQCBib29sIExleGVyPFQ+OjpuZXh0VG9rZW5Jc0NvbG9uKCkKICAgICByZXR1cm4g
Y29kZSA8IG1fY29kZUVuZCAmJiAqY29kZSA9PSAnOic7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIFQ+Cit2b2lkIExleGVyPFQ+
OjpzZXRUb2tlblBvc2l0aW9uKEpTVG9rZW4qIHRva2VuUmVjb3JkKQoreworICAgIEpTVG9rZW5E
YXRhKiB0b2tlbkRhdGEgPSAmdG9rZW5SZWNvcmQtPm1fZGF0YTsKKyAgICB0b2tlbkRhdGEtPmxp
bmUgPSBsaW5lTnVtYmVyKCk7CisgICAgdG9rZW5EYXRhLT5vZmZzZXQgPSBjdXJyZW50T2Zmc2V0
KCk7CisgICAgdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zm
c2V0KCk7CisgICAgQVNTRVJUKHRva2VuRGF0YS0+b2Zmc2V0ID49IHRva2VuRGF0YS0+bGluZVN0
YXJ0T2Zmc2V0KTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KIEpTVG9rZW5U
eXBlIExleGVyPFQ+OjpsZXgoSlNUb2tlbiogdG9rZW5SZWNvcmQsIHVuc2lnbmVkIGxleGVyRmxh
Z3MsIGJvb2wgc3RyaWN0TW9kZSkKIHsKQEAgLTE3NzEsNyArMTc4MywxMiBAQCBzdGFydDoKICAg
ICAgICAgfQogICAgICAgICB0b2tlbiA9IEdUOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIENo
YXJhY3RlckVxdWFsOgorICAgIGNhc2UgQ2hhcmFjdGVyRXF1YWw6IHsKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB1aW50MzJfdCBzYXZlZGxpbmVOdW1iZXIg
PSB0b2tlbkRhdGEtPmxpbmU7CisgICAgICAgIHVpbnQzMl90IHNhdmVkT2Zmc2V0ID0gY3VycmVu
dE9mZnNldCgpOworICAgICAgICB1aW50MzJfdCBzYXZlZExpbmVTdGFydE9mZnNldCA9IGN1cnJl
bnRMaW5lU3RhcnRPZmZzZXQoKTsKKyNlbmRpZgogICAgICAgICBzaGlmdCgpOwogICAgICAgICBp
ZiAobV9jdXJyZW50ID09ICc9JykgewogICAgICAgICAgICAgc2hpZnQoKTsKQEAgLTE3ODMsOCAr
MTgwMCwyMiBAQCBzdGFydDoKICAgICAgICAgICAgIHRva2VuID0gRVFFUTsKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkK
KyAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnPicpIHsKKyAgICAgICAgICAgIHNoaWZ0KCk7Cisg
ICAgICAgICAgICB0b2tlbiA9IEFSUk9XRlVOQ1RJT047CisKKyAgICAgICAgICAgIHRva2VuRGF0
YS0+bGluZSA9IHNhdmVkbGluZU51bWJlcjsKKyAgICAgICAgICAgIHRva2VuRGF0YS0+b2Zmc2V0
ID0gc2F2ZWRPZmZzZXQ7CisgICAgICAgICAgICB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCA9
IHNhdmVkTGluZVN0YXJ0T2Zmc2V0OworCisgICAgICAgICAgICBBU1NFUlQodG9rZW5EYXRhLT5v
ZmZzZXQgPj0gdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQpOworICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICB0b2tlbiA9IEVRVUFMOwogICAgICAgICBicmVh
azsKKyAgICB9CiAgICAgY2FzZSBDaGFyYWN0ZXJMZXNzOgogICAgICAgICBzaGlmdCgpOwogICAg
ICAgICBpZiAobV9jdXJyZW50ID09ICchJyAmJiBwZWVrKDEpID09ICctJyAmJiBwZWVrKDIpID09
ICctJykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCmluZGV4IDhhZmVmMjYxMTIx
MDhhZWQ3ZTg2ZWQwZTg0NzliNzljMWQwMjI3YWIuLmJkYTNiZDQ5ZWE3YTU5YzM1YzRlMTI4NWNm
OTQ4MzIyNTVjODdmZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
TGV4ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKQEAgLTg3
LDYgKzg3LDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SXNSZXBhcnNpbmcoKSB7IG1faXNSZXBh
cnNpbmcgPSB0cnVlOyB9CiAgICAgYm9vbCBpc1JlcGFyc2luZygpIGNvbnN0IHsgcmV0dXJuIG1f
aXNSZXBhcnNpbmc7IH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgdm9pZCBzZXRUb2tlblBvc2l0aW9uKEpTVG9rZW4qIHRva2VuUmVjb3JkKTsKKyNlbmRpZgog
ICAgIEpTVG9rZW5UeXBlIGxleChKU1Rva2VuKiwgdW5zaWduZWQsIGJvb2wgc3RyaWN0TW9kZSk7
CiAgICAgYm9vbCBuZXh0VG9rZW5Jc0NvbG9uKCk7CiAgICAgaW50IGxpbmVOdW1iZXIoKSBjb25z
dCB7IHJldHVybiBtX2xpbmVOdW1iZXI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKaW5kZXggODliOTI4ZWNmOGI0NDAwMDYyMzY2MTI4MmE5
NzBhNTYyMWE1MWE5Mi4uMWI0MGVlM2UyMWQ4ZTM3MDE2MWNjOWY5YzRhZWVjYzcwNzI2M2ZhMSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3Jz
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgK
QEAgLTgzNSw2ICs4MzUsMTMgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIG1fYm9keS0+Zmlu
aXNoUGFyc2luZyhzb3VyY2UsIHBhcmFtZXRlciwgaWRlbnQsIEZ1bmN0aW9uRXhwcmVzc2lvbik7
CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpbmxp
bmUgQXJyb3dGdW5jRXhwck5vZGU6OkFycm93RnVuY0V4cHJOb2RlKGNvbnN0IEpTVG9rZW5Mb2Nh
dGlvbiYgbG9jYXRpb24sIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBGdW5jdGlvbkJvZHlOb2Rl
KiBib2R5LCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIFBhcmFtZXRlck5vZGUqIHBhcmFtZXRl
cikKKyAgICAgICAgOiBGdW5jRXhwck5vZGUobG9jYXRpb24sIGlkZW50LCBib2R5LCBzb3VyY2Us
IHBhcmFtZXRlcikKKyAgICB7CisgICAgfQorI2VuZGlmCisgICAgCiAgICAgaW5saW5lIEZ1bmNE
ZWNsTm9kZTo6RnVuY0RlY2xOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNv
bnN0IElkZW50aWZpZXImIGlkZW50LCBGdW5jdGlvbkJvZHlOb2RlKiBib2R5LCBjb25zdCBTb3Vy
Y2VDb2RlJiBzb3VyY2UsIFBhcmFtZXRlck5vZGUqIHBhcmFtZXRlcikKICAgICAgICAgOiBTdGF0
ZW1lbnROb2RlKGxvY2F0aW9uKQogICAgICAgICAsIG1fYm9keShib2R5KQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9Ob2Rlcy5oCmluZGV4IDc4NDgxODRlNTU0Y2Y0MGVhZjM5MDY3ZTY3OGE1ZWQ4
YWM1NDk5ZTguLjk1NDBiMWI0NTE0NTE0MzYyZTA3OWE4NDdjMDE1ZGUwYmM3YjVmOGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKQEAgLTE1OCw2ICsxNTgsOSBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgdmlydHVhbCBib29sIGlzRG90QWNjZXNzb3JOb2RlKCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzRGVjb25zdHJ1Y3Rpb25O
b2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzRnVu
Y0V4cHJOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNBcnJvd0Z1bmNFeHByTm9k
ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjZW5kaWYKICAgICAgICAgdmlydHVhbCBib29s
IGlzQ29tbWFOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVhbCBi
b29sIGlzU2ltcGxlQXJyYXkoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0
dWFsIGJvb2wgaXNBZGQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpAQCAtMTcyNiw2ICsxNzI5
LDE5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBGdW5jdGlvbkJvZHlOb2RlKiBtX2JvZHk7
CiAgICAgfTsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgY2xh
c3MgQXJyb3dGdW5jRXhwck5vZGUgOiBwdWJsaWMgRnVuY0V4cHJOb2RlIHsKKyAgICBwdWJsaWM6
CisgICAgICAgIEFycm93RnVuY0V4cHJOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0
IElkZW50aWZpZXImLCBGdW5jdGlvbkJvZHlOb2RlKiwgY29uc3QgU291cmNlQ29kZSYsIFBhcmFt
ZXRlck5vZGUqID0gMCk7CisgICAgcHJpdmF0ZToKKyAgICAgICAgdmlydHVhbCBSZWdpc3RlcklE
KiBlbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImLCBSZWdpc3RlcklEKiA9IDApIG92ZXJy
aWRlOworICAgICAgICAKKyAgICAgICAgdmlydHVhbCBib29sIGlzRnVuY0V4cHJOb2RlKCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKyAgICAgICAgCisgICAgICAgIHZpcnR1YWwg
Ym9vbCBpc0Fycm93RnVuY0V4cHJOb2RlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsg
fQorICAgIH07CisjZW5kaWYKKwogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogICAgIGNs
YXNzIENsYXNzRXhwck5vZGUgZmluYWwgOiBwdWJsaWMgRXhwcmVzc2lvbk5vZGUgewogICAgIHB1
YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAppbmRleCA0OWJjZDk2
NTQyNTliYzI2MjM5MWIzNDFiODgzNDQ4ZTZjMDIzNGM2Li5mMTkyN2NiOGVjNjc4OWJhMDRhOTBh
MzI3NmZkYWUyYzAwODc4N2ZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIu
Y3BwCkBAIC0yNjQsNyArMjY0LDcgQEAgU3RyaW5nIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlu
bmVyKCkKICAgICBpZiAobV9sZXhlci0+aXNSZXBhcnNpbmcoKSkKICAgICAgICAgbV9zdGF0ZW1l
bnREZXB0aC0tOwogICAgIFNjb3BlUmVmIHNjb3BlID0gY3VycmVudFNjb3BlKCk7Ci0gICAgU291
cmNlRWxlbWVudHMqIHNvdXJjZUVsZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0
LCBDaGVja0ZvclN0cmljdE1vZGUpOworICAgIFNvdXJjZUVsZW1lbnRzKiBzb3VyY2VFbGVtZW50
cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgQ2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFu
ZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICBpZiAoIXNvdXJjZUVsZW1lbnRzIHx8ICFjb25z
dW1lKEVPRlRPSykpIHsKICAgICAgICAgaWYgKGhhc0Vycm9yKCkpCiAgICAgICAgICAgICBwYXJz
ZUVycm9yID0gbV9lcnJvck1lc3NhZ2U7CkBAIC0zNDMsNyArMzQzLDcgQEAgYm9vbCBQYXJzZXI8
TGV4ZXJUeXBlPjo6YWxsb3dBdXRvbWF0aWNTZW1pY29sb24oKQogfQogCiB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgTGV4ZXJUeXBlPgotdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNl
RWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxk
ZXImIGNvbnRleHQsIFNvdXJjZUVsZW1lbnRzTW9kZSBtb2RlKQordGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU291
cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZUVsZW1lbnRzTW9kZSBtb2Rl
LCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSkKIHsKICAgICBjb25zdCB1bnNp
Z25lZCBsZW5ndGhPZlVzZVN0cmljdExpdGVyYWwgPSAxMjsgLy8gInVzZSBzdHJpY3QiLmxlbmd0
aAogICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzb3VyY2VFbGVtZW50cyA9IGNvbnRleHQuY3JlYXRl
U291cmNlRWxlbWVudHMoKTsKQEAgLTM1Miw3ICszNTIsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3Vy
Y2VFbAogICAgIHVuc2lnbmVkIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwOwogICAgIGF1dG8g
c2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CiAgICAgYm9vbCBoYXNTZXRTdHJpY3QgPSBm
YWxzZTsKLSAgICB3aGlsZSAoVHJlZVN0YXRlbWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVu
dChjb250ZXh0LCBkaXJlY3RpdmUsICZkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoKSkgeworICAgIHdo
aWxlIChUcmVlU3RhdGVtZW50IHN0YXRlbWVudCA9IHBhcnNlU3RhdGVtZW50KGNvbnRleHQsIGRp
cmVjdGl2ZSwgJmRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgsIGZ1bmN0aW9uUGFyc2VUeXBlKSkgewog
ICAgICAgICBpZiAobW9kZSA9PSBDaGVja0ZvclN0cmljdE1vZGUgJiYgIXNlZW5Ob25EaXJlY3Rp
dmUpIHsKICAgICAgICAgICAgIGlmIChkaXJlY3RpdmUpIHsKICAgICAgICAgICAgICAgICAvLyAi
dXNlIHN0cmljdCIgbXVzdCBiZSB0aGUgZXhhY3QgbGl0ZXJhbCB3aXRob3V0IGVzY2FwZSBzZXF1
ZW5jZXMgb3IgbGluZSBjb250aW51YXRpb24uCkBAIC01ODQsNiArNTg0LDMxIEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBQYXJzZXI8TGV4
ZXJUeXBlPjo6Y3JlYXRlCiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlQmluZGluZ0xvY2F0aW9u
KHRva2VuLm1fbG9jYXRpb24sIG5hbWUsIHRva2VuLm1fc3RhcnRQb3NpdGlvbiwgdG9rZW4ubV9l
bmRQb3NpdGlvbik7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
dGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uU3Rh
dGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0KQoreworICAgIEFTU0VSVChtYXRjaChBUlJPV0ZV
TkNUSU9OKSk7CisKKyAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb24odG9rZW5Mb2NhdGlvbigp
KTsKKyAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOworICAg
IEpTVGV4dFBvc2l0aW9uIGVuZCA9IHRva2VuRW5kUG9zaXRpb24oKTsKKworICAgIG5leHQoKTsK
KyAgICBUcmVlRXhwcmVzc2lvbiBleHByID0gcGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihj
b250ZXh0KTsKKyAgICBmYWlsSWZGYWxzZShleHByLCAiQ2Fubm90IHBhcnNlIHRoZSBhcnJvdyBm
dW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgZW5kID0gbGFzdFRva2VuRW5kUG9zaXRpb24oKTsK
KworICAgIGJvb2wgY29ycmVjdEFycm93RmluaXNoID0gaXNFbmRPZkFycm93RnVuY3Rpb24oKSB8
fCBtYXRjaChFT0ZUT0spOworICAgIGZhaWxJZkZhbHNlKGNvcnJlY3RBcnJvd0ZpbmlzaCwgIkV4
cGVjdGVkIGEgJzsnLCAnXScsICd9JywgJyknLCBvciAnLCcgZm9sbG93aW5nIGEgYXJyb3cgZnVu
Y3Rpb24gc3RhdGVtZW50Iik7CisKKyAgICBlbmQgPSB0b2tlbkVuZFBvc2l0aW9uKCk7CisgICAg
c2V0RW5kT2ZTdGF0ZW1lbnQoKTsKKworICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJldHVyblN0
YXRlbWVudChsb2NhdGlvbiwgZXhwciwgc3RhcnQsIGVuZCk7Cit9CisjZW5kaWYKKwogdGVtcGxh
dGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZURlY29uc3RydWN0aW9uUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6dHJ5UGFyc2VEZWNvbnN0
cnVjdGlvblBhdHRlcm5FeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0KQogewpAQCAtMTAz
MSw3ICsxMDU2LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhdXNlTGlz
dCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTd2l0Y2hDbGF1c2UKICAgICBUcmVlRXhwcmVzc2lv
biBjb25kaXRpb24gPSBwYXJzZUV4cHJlc3Npb24oY29udGV4dCk7CiAgICAgZmFpbElmRmFsc2Uo
Y29uZGl0aW9uLCAiQ2Fubm90IHBhcnNlIHN3aXRjaCBjbGF1c2UiKTsKICAgICBjb25zdW1lT3JG
YWlsKENPTE9OLCAiRXhwZWN0ZWQgYSAnOicgYWZ0ZXIgc3dpdGNoIGNsYXVzZSBleHByZXNzaW9u
Iik7Ci0gICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1l
bnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUpOworICAgIFRyZWVTb3VyY2VFbGVt
ZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tG
b3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICBmYWlsSWZGYWxz
ZShzdGF0ZW1lbnRzLCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIGEgc3dpdGNoIGNsYXVzZSIp
OwogICAgIFRyZWVDbGF1c2UgY2xhdXNlID0gY29udGV4dC5jcmVhdGVDbGF1c2UoY29uZGl0aW9u
LCBzdGF0ZW1lbnRzKTsKICAgICBjb250ZXh0LnNldFN0YXJ0T2Zmc2V0KGNsYXVzZSwgc3RhcnRP
ZmZzZXQpOwpAQCAtMTA0NCw3ICsxMDY5LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlQ2xhdXNlTGlzdCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTd2l0Y2hDbGF1c2UKICAg
ICAgICAgVHJlZUV4cHJlc3Npb24gY29uZGl0aW9uID0gcGFyc2VFeHByZXNzaW9uKGNvbnRleHQp
OwogICAgICAgICBmYWlsSWZGYWxzZShjb25kaXRpb24sICJDYW5ub3QgcGFyc2Ugc3dpdGNoIGNh
c2UgZXhwcmVzc2lvbiIpOwogICAgICAgICBjb25zdW1lT3JGYWlsKENPTE9OLCAiRXhwZWN0ZWQg
YSAnOicgYWZ0ZXIgc3dpdGNoIGNsYXVzZSBleHByZXNzaW9uIik7Ci0gICAgICAgIFRyZWVTb3Vy
Y2VFbGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250
Q2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICAgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN0YXRlbWVu
dHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUs
IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwogICAgICAgICBmYWlsSWZGYWxzZShzdGF0ZW1l
bnRzLCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIGEgc3dpdGNoIGNsYXVzZSIpOwogICAgICAg
ICBjbGF1c2UgPSBjb250ZXh0LmNyZWF0ZUNsYXVzZShjb25kaXRpb24sIHN0YXRlbWVudHMpOwog
ICAgICAgICBjb250ZXh0LnNldFN0YXJ0T2Zmc2V0KGNsYXVzZSwgc3RhcnRPZmZzZXQpOwpAQCAt
MTA2MSw3ICsxMDg2LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhdXNl
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN3aXRjaERlZmF1bHRDbGEKICAgICB1bnNpZ25lZCBz
dGFydE9mZnNldCA9IHRva2VuU3RhcnQoKTsKICAgICBuZXh0KCk7CiAgICAgY29uc3VtZU9yRmFp
bChDT0xPTiwgIkV4cGVjdGVkIGEgJzonIGFmdGVyIHN3aXRjaCBkZWZhdWx0IGNsYXVzZSIpOwot
ICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhj
b250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICBUcmVlU291cmNlRWxlbWVudHMg
c3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgRG9udENoZWNrRm9yU3Ry
aWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CiAgICAgZmFpbElmRmFsc2Uoc3Rh
dGVtZW50cywgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBvZiBhIHN3aXRjaCBkZWZhdWx0IGNsYXVz
ZSIpOwogICAgIFRyZWVDbGF1c2UgcmVzdWx0ID0gY29udGV4dC5jcmVhdGVDbGF1c2UoMCwgc3Rh
dGVtZW50cyk7CiAgICAgY29udGV4dC5zZXRTdGFydE9mZnNldChyZXN1bHQsIHN0YXJ0T2Zmc2V0
KTsKQEAgLTExNDYsNyArMTE3MSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VCbG9ja1N0YXRlbWVuCiAgICAgICAg
IGNvbnRleHQuc2V0RW5kT2Zmc2V0KHJlc3VsdCwgZW5kT2Zmc2V0KTsKICAgICAgICAgcmV0dXJu
IHJlc3VsdDsKICAgICB9Ci0gICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN1YnRyZWUgPSBwYXJzZVNv
dXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUpOworICAgIFRyZWVT
b3VyY2VFbGVtZW50cyBzdWJ0cmVlID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250
Q2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICBmYWls
SWZGYWxzZShzdWJ0cmVlLCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIHRoZSBibG9jayBzdGF0
ZW1lbnQiKTsKICAgICBtYXRjaE9yRmFpbChDTE9TRUJSQUNFLCAiRXhwZWN0ZWQgYSBjbG9zaW5n
ICd9JyBhdCB0aGUgZW5kIG9mIGEgYmxvY2sgc3RhdGVtZW50Iik7CiAgICAgaW50IGVuZE9mZnNl
dCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKQEAgLTExNTgsNyArMTE4Myw3IEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VCbG9ja1N0YXRlbWVuCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Ci10ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiYg
ZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCkKK3RlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VT
dGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3Rp
dmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoLCBGdW5jdGlvblBhcnNlVHlwZSBw
YXJzZVR5cGUpCiB7CiAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVu
dERlcHRoKTsKICAgICBtX3N0YXRlbWVudERlcHRoKys7CkBAIC0xMTY3LDYgKzExOTIsMjMgQEAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZVN0YXRlbWVudChUcmUKICAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7CiAgICAg
VHJlZVN0YXRlbWVudCByZXN1bHQgPSAwOwogICAgIGJvb2wgc2hvdWxkU2V0RW5kT2Zmc2V0ID0g
dHJ1ZTsKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaWYgKHBh
cnNlVHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIHN3aXRjaCAobV90
b2tlbi5tX3R5cGUpIHsKKyAgICAgICAgY2FzZSBDTE9TRVBBUkVOOgorICAgICAgICBjYXNlIENM
T1NFQlJBQ0tFVDoKKyAgICAgICAgY2FzZSBDT01NQToKKyAgICAgICAgY2FzZSBTRU1JQ09MT046
IHsKKyAgICAgICAgICAgIHJlc3VsdCA9IDA7CisgICAgICAgICAgICBjb250ZXh0LnNldEVuZE9m
ZnNldChyZXN1bHQsIG1fbGFzdFRva2VuRW5kUG9zaXRpb24ub2Zmc2V0KTsKKyAgICAgICAgICAg
IHJldHVybiByZXN1bHQ7CisgICAgICAgIH0KKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICB9CisgICAgfQorI2VuZGlmCiAgICAgc3dpdGNoIChtX3Rva2VuLm1f
dHlwZSkgewogICAgIGNhc2UgT1BFTkJSQUNFOgogICAgICAgICByZXN1bHQgPSBwYXJzZUJsb2Nr
U3RhdGVtZW50KGNvbnRleHQpOwpAQCAtMTIxMiw2ICsxMjU0LDE1IEBAIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0
ZW1lbnQoVHJlCiAgICAgY2FzZSBCUkVBSzoKICAgICAgICAgcmVzdWx0ID0gcGFyc2VCcmVha1N0
YXRlbWVudChjb250ZXh0KTsKICAgICAgICAgYnJlYWs7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIEFSUk9XRlVOQ1RJT046CisgICAgICAgIHJlc3VsdCA9
IHBhcnNlQXJyb3dGdW5jdGlvblN0YXRlbWVudChjb250ZXh0KTsKKyAgICAgICAgLy8gQ29uc3Vt
ZSB0aGUgZW5kIG9mIGFycm93IGZ1bmN0aW9uICw7XSkgYW5kIHByZXZlbnQKKyAgICAgICAgLy8g
cGFyc2UgdGhpcyBzeW1ib2xzIGJ5IHBhcnNlU3RhdGVtZW50IGFzIHNlcGFyYXRlIHN0YXRlbWVu
dAorICAgICAgICBpZiAocGFyc2VUeXBlID09IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpCisg
ICAgICAgICAgICBuZXh0KCk7CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgY2FzZSBSRVRV
Uk46CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlUmV0dXJuU3RhdGVtZW50KGNvbnRleHQpOwogICAg
ICAgICBicmVhazsKQEAgLTEyNzYsMjAgKzEzMjcsMzQgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlRm9ybWFsUGFyYW1ldGVyTGlzdCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VG
b3IKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVGdW5jdGlvbkJvZHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25C
b2R5KAogICAgIFRyZWVCdWlsZGVyJiBjb250ZXh0LCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQs
IGludCBmdW5jdGlvbk5hbWVTdGFydCwgCi0gICAgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3Ry
dWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCkKKyAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25z
dHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kLCBGdW5jdGlvblBhcnNlVHlwZSBwYXJzZVR5cGUp
CiB7CiAgICAgSlNUb2tlbkxvY2F0aW9uIHN0YXJ0TG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsK
ICAgICB1bnNpZ25lZCBzdGFydENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBlID09IFN0YW5kYXJkRnVu
Y3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgbmV4dCgpOworICAgICAgICBpZiAobWF0Y2goQ0xP
U0VCUkFDRSkpIHsKKyAgICAgICAgICAgIHVuc2lnbmVkIGVuZENvbHVtbiA9IHRva2VuQ29sdW1u
KCk7CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRM
b2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBmdW5jdGlv
bktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgc3RyaWN0
TW9kZSgpLCBjb25zdHJ1Y3RvcktpbmQpOworICAgICAgICB9CisgICAgfQorI2Vsc2UKICAgICBu
ZXh0KCk7Ci0KICAgICBpZiAobWF0Y2goQ0xPU0VCUkFDRSkpIHsKICAgICAgICAgdW5zaWduZWQg
ZW5kQ29sdW1uID0gdG9rZW5Db2x1bW4oKTsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRl
RnVuY3Rpb25Cb2R5KHN0YXJ0TG9jYXRpb24sIHRva2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1bW4s
IGVuZENvbHVtbiwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJh
bWV0ZXJzU3RhcnQsIHN0cmljdE1vZGUoKSwgY29uc3RydWN0b3JLaW5kKTsKICAgICB9CisjZW5k
aWYKKwogICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnREZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7
CiAgICAgbV9zdGF0ZW1lbnREZXB0aCA9IDA7CiAgICAgdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkZ1
bmN0aW9uQm9keUJ1aWxkZXIgYm9keUJ1aWxkZXIoY29uc3RfY2FzdDxWTSo+KG1fdm0pLCBtX2xl
eGVyLmdldCgpKTsKLSAgICBmYWlsSWZGYWxzZShwYXJzZVNvdXJjZUVsZW1lbnRzKGJvZHlCdWls
ZGVyLCBDaGVja0ZvclN0cmljdE1vZGUpLCAiQ2Fubm90IHBhcnNlIGJvZHkgb2YgdGhpcyBmdW5j
dGlvbiIpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgZmFpbElm
RmFsc2UocGFyc2VTb3VyY2VFbGVtZW50cyhib2R5QnVpbGRlciwgQ2hlY2tGb3JTdHJpY3RNb2Rl
LCBwYXJzZVR5cGUpLCBwYXJzZVR5cGUgPT0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSA/ICJD
YW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGZ1bmN0aW9uIiA6ICJDYW5ub3QgcGFyc2UgYm9keSBv
ZiB0aGlzIGFycm93IGZ1bmN0aW9uIik7CisjZWxzZQorICAgIGZhaWxJZkZhbHNlKHBhcnNlU291
cmNlRWxlbWVudHMoYm9keUJ1aWxkZXIsIENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5j
dGlvblBhcnNlVHlwZSksICJDYW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGZ1bmN0aW9uIik7Cisj
ZW5kaWYKICAgICB1bnNpZ25lZCBlbmRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOwogICAgIHJldHVy
biBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uQm9keShzdGFydExvY2F0aW9uLCB0b2tlbkxvY2F0aW9u
KCksIHN0YXJ0Q29sdW1uLCBlbmRDb2x1bW4sIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlv
bk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBzdHJpY3RNb2RlKCksIGNvbnN0cnVjdG9yS2lu
ZCk7CiB9CkBAIC0xMzEwLDE1ICsxMzc1LDggQEAgc3RhdGljIGNvbnN0IGNoYXIqIHN0cmluZ0Zv
ckZ1bmN0aW9uTW9kZShGdW5jdGlvblBhcnNlTW9kZSBtb2RlKQogICAgIHJldHVybiBudWxscHRy
OwogfQogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgotdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVl
QnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMgcmVxdWlyZW1lbnRzLCBGdW5j
dGlvblBhcnNlTW9kZSBtb2RlLAotICAgIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENv
bnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQsIFN1cGVyQmluZGluZyBleHBlY3RlZFN1cGVy
QmluZGluZywgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJl
ZUJ1aWxkZXI+JiBpbmZvKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4gdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBpbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25Q
YXJhbXRlcnMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzIHJlcXVp
cmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUgbW9kZSwgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdT
Y29wZSwgQXV0b1BvcFNjb3BlUmVmJiBmdW5jdGlvblNjb3BlLCBQYXJzZXJGdW5jdGlvbkluZm88
VHJlZUJ1aWxkZXI+JiBpbmZvKQogewotICAgIEF1dG9Qb3BTY29wZVJlZiBmdW5jdGlvblNjb3Bl
KHRoaXMsIHB1c2hTY29wZSgpKTsKLSAgICBmdW5jdGlvblNjb3BlLT5zZXRJc0Z1bmN0aW9uKCk7
Ci0gICAgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zm
c2V0OwotICAgIGNvbnN0IElkZW50aWZpZXIqIGxhc3RGdW5jdGlvbk5hbWUgPSBtX2xhc3RGdW5j
dGlvbk5hbWU7Ci0gICAgbV9sYXN0RnVuY3Rpb25OYW1lID0gbnVsbHB0cjsKICAgICBpZiAobWF0
Y2goSURFTlQpKSB7CiAgICAgICAgIGluZm8ubmFtZSA9IG1fdG9rZW4ubV9kYXRhLmlkZW50Owog
ICAgICAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBpbmZvLm5hbWU7CkBAIC0xMzM3LDcgKzEzOTUs
NyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVU
b0tleXdvcmQoc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIG5hbWUiKTsKICAgICAgICAg
ZmFpbFdpdGhNZXNzYWdlKCJFeHBlY3RlZCBhbiBvcGVuaW5nICcoJyBiZWZvcmUgYSAiLCBzdHJp
bmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIncyBwYXJhbWV0ZXIgbGlzdCIpOwogICAgIH0KLQor
ICAgIAogICAgIGlmIChtb2RlID09IEdldHRlck1vZGUpCiAgICAgICAgIGNvbnN1bWVPckZhaWwo
Q0xPU0VQQVJFTiwgImdldHRlciBmdW5jdGlvbnMgbXVzdCBoYXZlIG5vIHBhcmFtZXRlcnMiKTsK
ICAgICBlbHNlIGlmIChtb2RlID09IFNldHRlck1vZGUpIHsKQEAgLTEzNTQsMTYgKzE0MTIsODEg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgfQogICAgICAgICBjb25zdW1lT3JG
YWlsKENMT1NFUEFSRU4sICJFeHBlY3RlZCBhICcpJyBvciBhICcsJyBhZnRlciBhIHBhcmFtZXRl
ciBkZWNsYXJhdGlvbiIpOwogICAgIH0KKyAgICAKKyAgICByZXR1cm4gcGFyYW1ldGVyc1N0YXJ0
OworfQogCi0gICAgbWF0Y2hPckZhaWwoT1BFTkJSQUNFLCAiRXhwZWN0ZWQgYW4gb3BlbmluZyAn
eycgYXQgdGhlIHN0YXJ0IG9mIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJv
ZHkiKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5
cGVuYW1lIExleGVyVHlwZT4gdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBpbnQgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvblBhcmFtdGVycyhUcmVlQnVpbGRlciYgY29u
dGV4dCwgRnVuY3Rpb25QYXJzZU1vZGUgbW9kZSwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWls
ZGVyPiYgaW5mbykKK3sKKyAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0ID0gbV90b2tlbi5tX2xvY2F0
aW9uLnN0YXJ0T2Zmc2V0OworICAgIGlmICghbWF0Y2goSURFTlQpICYmICFtYXRjaChPUEVOUEFS
RU4pKSB7CisgICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5j
dGlvbk1vZGUobW9kZSksICIgbmFtZSIpOworICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVj
dGVkIGFuIGFycm93IGZ1bmN0aW9uIGlucHV0IHBhcmFtZXRlciIpOworICAgIH0gZWxzZSB7Cisg
ICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgICAgICBjb25zdW1lKE9QRU5Q
QVJFTik7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGlmICghbWF0Y2goQ0xPU0VQQVJFTikp
IHsKKyAgICAgICAgICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBwYXJzZUZvcm1hbFBhcmFtZXRl
cnMoY29udGV4dCk7CisgICAgICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJz
LCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25N
b2RlKG1vZGUpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgY29u
c3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiRXhwZWN0ZWQgYSAnKScgb3IgYSAnLCcgYWZ0ZXIgYSBw
YXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGF1
dG8gcGFyYW1ldGVyID0gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oY29udGV4dCwgRGVjb25z
dHJ1Y3RUb1BhcmFtZXRlcnMpOworICAgICAgICAgICAgZmFpbElmRmFsc2UocGFyYW1ldGVyLCAi
Q2Fubm90IHBhcnNlIHBhcmFtZXRlciBwYXR0ZXJuIik7CisgICAgICAgICAgICBpbmZvLnBhcmFt
ZXRlcnMgPSBjb250ZXh0LmNyZWF0ZUZvcm1hbFBhcmFtZXRlckxpc3QocGFyYW1ldGVyKTsKKyAg
ICAgICAgICAgIGZhaWxJZkZhbHNlKGluZm8ucGFyYW1ldGVycywgIkNhbm5vdCBwYXJzZSBwYXJh
bWV0ZXJzIGZvciB0aGlzICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSk7CisgICAgICAg
IH0KKyAgICB9CisgICAgCisgICAgcmV0dXJuIHBhcmFtZXRlcnNTdGFydDsKK30KKyNlbmRpZgog
Ci0gICAgLy8gQnl0ZWNvZGVHZW5lcmF0b3IgZW1pdHMgY29kZSB0byB0aHJvdyBUeXBlRXJyb3Ig
d2hlbiBhIGNsYXNzIGNvbnN0cnVjdG9yIGlzICJjYWxsImVkLgotICAgIC8vIFNldCBDb25zdHJ1
Y3RvcktpbmQgdG8gTm9uZSBmb3Igbm9uLWNvbnN0cnVjdG9yIG1ldGhvZHMgb2YgY2xhc3Nlcy4K
LSAgICBpZiAobV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kICE9IENvbnN0cnVjdG9yS2luZDo6Tm9u
ZSkgewotICAgICAgICBjb25zdHJ1Y3RvcktpbmQgPSBtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQ7
Ci0gICAgICAgIGV4cGVjdGVkU3VwZXJCaW5kaW5nID0gbV9kZWZhdWx0Q29uc3RydWN0b3JLaW5k
ID09IENvbnN0cnVjdG9yS2luZDo6RGVyaXZlZCA/IFN1cGVyQmluZGluZzo6TmVlZGVkIDogU3Vw
ZXJCaW5kaW5nOjpOb3ROZWVkZWQ7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1
bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMgcmVx
dWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLCBib29sIG5hbWVJc0luQ29udGFpbmlu
Z1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kLCBTdXBlckJpbmRpbmcgZXhw
ZWN0ZWRTdXBlckJpbmRpbmcsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rp
b25JbmZvPFRyZWVCdWlsZGVyPiYgaW5mbywgRnVuY3Rpb25QYXJzZVR5cGUgcGFyc2VUeXBlKQor
eworICAgIEF1dG9Qb3BTY29wZVJlZiBmdW5jdGlvblNjb3BlKHRoaXMsIHB1c2hTY29wZSgpKTsK
KyAgICBmdW5jdGlvblNjb3BlLT5zZXRJc0Z1bmN0aW9uKCk7CisgICAgaW50IGZ1bmN0aW9uTmFt
ZVN0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OworICAgIGNvbnN0IElkZW50
aWZpZXIqIGxhc3RGdW5jdGlvbk5hbWUgPSBtX2xhc3RGdW5jdGlvbk5hbWU7CisgICAgbV9sYXN0
RnVuY3Rpb25OYW1lID0gbnVsbHB0cjsKKyAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0OworICAgIGJv
b2wgaXNDbGFzc0NvbnN0cnVjdG9yOworICAgIAorICAgIHN3aXRjaCAocGFyc2VUeXBlKSB7Cisg
ICAgY2FzZSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlOiB7CisgICAgICAgIHBhcmFtZXRlcnNT
dGFydCA9IHBhcnNlRnVuY3Rpb25QYXJhbXRlcnMoY29udGV4dCwgcmVxdWlyZW1lbnRzLCBtb2Rl
LCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgZnVuY3Rpb25TY29wZSwgaW5mbyk7CisgICAgICAg
ICAgICAKKyAgICAgICAgbWF0Y2hPckZhaWwoT1BFTkJSQUNFLCAiRXhwZWN0ZWQgYW4gb3Blbmlu
ZyAneycgYXQgdGhlIHN0YXJ0IG9mIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAi
IGJvZHkiKTsKKyAgICAgICAgCisgICAgICAgIC8vIEJ5dGVjb2RlR2VuZXJhdG9yIGVtaXRzIGNv
ZGUgdG8gdGhyb3cgVHlwZUVycm9yIHdoZW4gYSBjbGFzcyBjb25zdHJ1Y3RvciBpcyAiY2FsbCJl
ZC4KKyAgICAgICAgLy8gU2V0IENvbnN0cnVjdG9yS2luZCB0byBOb25lIGZvciBub24tY29uc3Ry
dWN0b3IgbWV0aG9kcyBvZiBjbGFzc2VzLgorICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSBt
b2RlID09IE1ldGhvZE1vZGUgJiYgaW5mby5uYW1lICYmICppbmZvLm5hbWUgPT0gbV92bS0+cHJv
cGVydHlOYW1lcy0+Y29uc3RydWN0b3I7CisgICAgICAgIGlmIChtX2RlZmF1bHRDb25zdHJ1Y3Rv
cktpbmQgIT0gQ29uc3RydWN0b3JLaW5kOjpOb25lKSB7CisgICAgICAgICAgICBjb25zdHJ1Y3Rv
cktpbmQgPSBtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQ7CisgICAgICAgICAgICBleHBlY3RlZFN1
cGVyQmluZGluZyA9IG1fZGVmYXVsdENvbnN0cnVjdG9yS2luZCA9PSBDb25zdHJ1Y3RvcktpbmQ6
OkRlcml2ZWQgPyBTdXBlckJpbmRpbmc6Ok5lZWRlZCA6IFN1cGVyQmluZGluZzo6Tm90TmVlZGVk
OworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSBjb25z
dHJ1Y3RvcktpbmQgIT0gQ29uc3RydWN0b3JLaW5kOjpOb25lOworICAgICAgICBicmVhazsKKyAg
ICB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIEFycm93
RnVuY3Rpb25QYXJzZVR5cGU6IHsKKyAgICAgICAgcGFyYW1ldGVyc1N0YXJ0ID0gcGFyc2VBcnJv
d0Z1bmN0aW9uUGFyYW10ZXJzKGNvbnRleHQsIG1vZGUsIGluZm8pOworICAgICAgICAKKyAgICAg
ICAgbWF0Y2hPckZhaWwoQVJST1dGVU5DVElPTiwgIkV4cGVjdGVkIGEgJz0+JyBhZnRlciBhcnJv
dyBmdW5jdGlvbiBwYXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsKKyAgICAgICAgaXNDbGFzc0NvbnN0
cnVjdG9yID0gZmFsc2U7CisgICAgICAgIAorICAgICAgICBpbmZvLmFycm93RnVuY3Rpb25PZmZz
ZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CisgICAgICAgIGJyZWFrOworICAgIH0KKyNlbmRp
ZgogICAgIH0KLSAgICBib29sIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IGNvbnN0cnVjdG9yS2luZCAh
PSBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmU7CisgICAgCisgICAgY29uc3RydWN0b3JLaW5kID0gaXND
bGFzc0NvbnN0cnVjdG9yID8gY29uc3RydWN0b3JLaW5kIDogQ29uc3RydWN0b3JLaW5kOjpOb25l
OwogCiAgICAgaW5mby5vcGVuQnJhY2VPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CiAg
ICAgaW5mby5ib2R5U3RhcnRMaW5lID0gdG9rZW5MaW5lKCk7CkBAIC0xMzk2LDggKzE1MTksMTUg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAgZmFpbElmRmFsc2UocG9wU2NvcGUo
ZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQYXJz
ZXIgZXJyb3IiKTsKICAgICAgICAgCiAgICAgICAgIGluZm8uY2xvc2VCcmFjZU9mZnNldCA9IGNh
Y2hlZEluZm8tPmNsb3NlQnJhY2VPZmZzZXQ7Ci0KLSAgICAgICAgbV90b2tlbiA9IGNhY2hlZElu
Zm8tPmNsb3NlQnJhY2VUb2tlbigpOworICAgICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgICAgICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJz
ZVR5cGUpCisgICAgICAgICAgICBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPSBjYWNoZWRJbmZvLT5p
c0JvZHlBcnJvd0V4cHJlc3Npb24gPyAgQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uIDogQXJy
b3dGdW5jdGlvbkJvZHlCbG9jazsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgaW5mby5mdW5j
dGlvbkJvZHlUeXBlID0gU3RhbmRhcmRGdW5jdGlvbkJvZHlCbG9jazsKKyNlbmRpZgorICAgICAg
ICBtX3Rva2VuID0gY2FjaGVkSW5mby0+ZW5kRnVuY3Rpb25Ub2tlbigpOworICAgICAgICAKICAg
ICAgICAgaWYgKGVuZENvbHVtbklzT25TdGFydExpbmUpCiAgICAgICAgICAgICBtX3Rva2VuLm1f
bG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVTdGFydE9mZnNldDsKIApAQCAt
MTQwNiwxMyArMTUzNiw0MyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogCiAgICAgICAgIGNv
bnRleHQuc2V0RW5kT2Zmc2V0KGluZm8uYm9keSwgbV9sZXhlci0+Y3VycmVudE9mZnNldCgpKTsK
ICAgICAgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAg
aWYgKHBhcnNlVHlwZSAhPSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlIHx8IGluZm8uZnVuY3Rpb25C
b2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrKQorICAgICAgICAgICAgbmV4dCgpOwor
I2Vsc2UKICAgICAgICAgbmV4dCgpOworI2VuZGlmCiAgICAgICAgIGluZm8uYm9keUVuZExpbmUg
PSBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmU7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAg
IH0KKyAgICAKICAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBsYXN0RnVuY3Rpb25OYW1lOwogICAg
IFBhcnNlclN0YXRlIG9sZFN0YXRlID0gc2F2ZVN0YXRlKCk7Ci0gICAgaW5mby5ib2R5ID0gcGFy
c2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFt
ZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCk7CisgICAgCisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBlID09IEFycm93
RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVQb2ludCA9IGNyZWF0
ZVNhdmVQb2ludCgpOworICAgICAgICBuZXh0KCk7CisgICAgICAgIC8vIENoZWNrIGlmIGFycm93
IGJvZHkgc3RhcnQgd2l0aCB7LiBJZiBpdCB0cnVlIGl0IG1lYW4gdGhhdCBhcnJvdyBmdW5jdGlv
biBpcyBGYXQgYXJyb3cgZnVuY3Rpb24KKyAgICAgICAgLy8gYW5kIHdlIG5lZWQgdXNlIGNvbW1v
biBhcHByb2FjaCB0byBwYXJzZSBmdW5jdGlvbiBib2R5CisgICAgICAgIGluZm8uZnVuY3Rpb25C
b2R5VHlwZSA9IG1hdGNoKE9QRU5CUkFDRSkgPyBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrIDogQXJy
b3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOworICAgIAorICAgICAgICBpZiAoaW5mby5mdW5jdGlv
bkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHsKKyAgICAgICAgICAgIGluZm8u
b3BlbkJyYWNlT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OworICAgICAgICAgICAgaW5m
by5ib2R5U3RhcnRMaW5lID0gdG9rZW5MaW5lKCk7CisgICAgICAgICAgICBpbmZvLmJvZHlTdGFy
dENvbHVtbiA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldCAtIG1fdG9rZW4ubV9kYXRhLmxpbmVTdGFy
dE9mZnNldDsKKyAgICAgICAgCisgICAgICAgICAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9u
Qm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBh
cmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBl
KTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBv
aW50KTsKKyAgICAgICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQs
IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0
LCBjb25zdHJ1Y3RvcktpbmQsIEFycm93RnVuY3Rpb25QYXJzZVR5cGUpOworICAgICAgICB9Cisg
ICAgfSBlbHNlCisgICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQs
IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0
LCBjb25zdHJ1Y3RvcktpbmQsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOworI2Vsc2UKKyAg
ICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRT
dGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5k
LCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNlbmRpZgorICAgIAogICAgIHJlc3RvcmVT
dGF0ZShvbGRTdGF0ZSk7CiAgICAgZmFpbElmRmFsc2UoaW5mby5ib2R5LCAiQ2Fubm90IHBhcnNl
IHRoZSBib2R5IG9mIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKICAgICBj
b250ZXh0LnNldEVuZE9mZnNldChpbmZvLmJvZHksIG1fbGV4ZXItPmN1cnJlbnRPZmZzZXQoKSk7
CkBAIC0xNDQzLDE4ICsxNjAzLDMyIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9v
bCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAg
IHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmUgPSBjbG9zZUJyYWNlTGluZTsKICAgICAgICAgcGFy
YW1ldGVycy5jbG9zZUJyYWNlT2Zmc2V0ID0gaW5mby5jbG9zZUJyYWNlT2Zmc2V0OwogICAgICAg
ICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNlTGluZVN0
YXJ0T2Zmc2V0OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAg
IGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICAgICAg
cGFyYW1ldGVycy5pc0JvZHlBcnJvd0V4cHJlc3Npb24gPSBpbmZvLmZ1bmN0aW9uQm9keVR5cGUg
PT0gQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOworICAgICAgICAgICAgcGFyYW1ldGVycy50
b2tlblR5cGUgPSBtX3Rva2VuLm1fdHlwZTsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIGZ1
bmN0aW9uU2NvcGUtPmZpbGxQYXJhbWV0ZXJzRm9yU291cmNlUHJvdmlkZXJDYWNoZShwYXJhbWV0
ZXJzKTsKICAgICAgICAgbmV3SW5mbyA9IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjpjcmVhdGUo
cGFyYW1ldGVycyk7Ci0KICAgICB9CiAgICAgCiAgICAgZmFpbElmRmFsc2UocG9wU2NvcGUoZnVu
Y3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJlZVZhcmlhYmxlSW5mbyksICJQYXJzZXIg
ZXJyb3IiKTsKKyAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
IGlmICgocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUgJiYgaW5mby5mdW5jdGlv
bkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spIHx8IHBhcnNlVHlwZSAhPSBBcnJv
d0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0UsICJF
eHBlY3RlZCBhIGNsb3NpbmcgJ30nIGFmdGVyIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1v
ZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgbmV4dCgpOworICAgIH0gZWxzZQorICAgICAgICBmYWls
SWZGYWxzZShpc0VuZE9mQXJyb3dGdW5jdGlvbigpLCAiRXhwZWN0ZWQgdGhlIGNsb3NpbmcgJzsn
ICcsJyAnXScgJyknICd9JyBhZnRlciBhcnJvdyBmdW5jdGlvbiIpOworI2Vsc2UKICAgICBtYXRj
aE9yRmFpbChDTE9TRUJSQUNFLCAiRXhwZWN0ZWQgYSBjbG9zaW5nICd9JyBhZnRlciBhICIsIHN0
cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5Iik7CisgICAgbmV4dCgpOworI2VuZGlm
CiAgICAgCiAgICAgaWYgKG5ld0luZm8pCiAgICAgICAgIG1fZnVuY3Rpb25DYWNoZS0+YWRkKGlu
Zm8ub3BlbkJyYWNlT2Zmc2V0LCBXVEY6Om1vdmUobmV3SW5mbykpOwogICAgIAotICAgIG5leHQo
KTsKICAgICBpbmZvLmJvZHlFbmRMaW5lID0gbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5saW5lOwog
ICAgIHJldHVybiB0cnVlOwogfQpAQCAtMTQ2OCw3ICsxNjQyLDcgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0
aW9uRGVjbGEKICAgICBuZXh0KCk7CiAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVy
PiBpbmZvOwogICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5j
dGlvbk5lZWRzTmFtZSwgRnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUs
IFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLAotICAgICAgICBmdW5jdGlvbktleXdvcmRTdGFydCwg
aW5mbykpLCAiQ2Fubm90IHBhcnNlIHRoaXMgZnVuY3Rpb24iKTsKKyAgICAgICAgZnVuY3Rpb25L
ZXl3b3JkU3RhcnQsIGluZm8sIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBw
YXJzZSB0aGlzIGZ1bmN0aW9uIik7CiAgICAgZmFpbElmRmFsc2UoaW5mby5uYW1lLCAiRnVuY3Rp
b24gc3RhdGVtZW50cyBtdXN0IGhhdmUgYSBuYW1lIik7CiAgICAgZmFpbElmRmFsc2VJZlN0cmlj
dChkZWNsYXJlVmFyaWFibGUoaW5mby5uYW1lKSwgIkNhbm5vdCBkZWNsYXJlIGEgZnVuY3Rpb24g
bmFtZWQgJyIsIGluZm8ubmFtZS0+aW1wbCgpLCAiJyBpbiBzdHJpY3QgbW9kZSIpOwogICAgIHJl
dHVybiBjb250ZXh0LmNyZWF0ZUZ1bmNEZWNsU3RhdGVtZW50KGxvY2F0aW9uLCBpbmZvKTsKQEAg
LTE1ODQsOCArMTc1OCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUNsYXNz
RXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VDbGFzcyhUCiAgICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IG1ldGhvZElu
Zm87CiAgICAgICAgICAgICBib29sIGlzQ29uc3RydWN0b3IgPSAhaXNTdGF0aWNNZXRob2QgJiYg
KmlkZW50ID09IHByb3BlcnR5TmFtZXMuY29uc3RydWN0b3I7Ci0gICAgICAgICAgICBmYWlsSWZG
YWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywg
aXNTdGF0aWNNZXRob2QgPyBGdW5jdGlvbk1vZGUgOiBNZXRob2RNb2RlLCBmYWxzZSwKLSAgICAg
ICAgICAgICAgICBpc0NvbnN0cnVjdG9yID8gY29uc3RydWN0b3JLaW5kIDogQ29uc3RydWN0b3JL
aW5kOjpOb25lLCBTdXBlckJpbmRpbmc6Ok5lZWRlZCwgbWV0aG9kU3RhcnQsIG1ldGhvZEluZm8p
KSwgIkNhbm5vdCBwYXJzZSB0aGlzIG1ldGhvZCIpOworICAgICAgICAgICAgZmFpbElmRmFsc2Uo
KHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIGlzU3Rh
dGljTWV0aG9kID8gRnVuY3Rpb25Nb2RlIDogTWV0aG9kTW9kZSwgZmFsc2UsIGlzQ29uc3RydWN0
b3IgPyBjb25zdHJ1Y3RvcktpbmQgOiBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGlu
Zzo6TmVlZGVkLCBtZXRob2RTdGFydCwgbWV0aG9kSW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNl
VHlwZSkpLCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9kIik7CiAgICAgICAgICAgICBmYWlsSWZG
YWxzZShpZGVudCAmJiBkZWNsYXJlVmFyaWFibGUoaWRlbnQpLCAiQ2Fubm90IGRlY2xhcmUgYSBt
ZXRob2QgbmFtZWQgJyIsIG1ldGhvZEluZm8ubmFtZS0+aW1wbCgpLCAiJyIpOwogICAgICAgICAg
ICAgbWV0aG9kSW5mby5uYW1lID0gaXNDb25zdHJ1Y3RvciA/IGNsYXNzTmFtZSA6IGlkZW50Owog
CkBAIC0xNzk3LDYgKzE5NzAsMTggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
U3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUlmU3RhdGVtZW50KFQKICAgICByZXR1
cm4gY29udGV4dC5jcmVhdGVJZlN0YXRlbWVudChpZkxvY2F0aW9uLCBjb25kaXRpb24sIHRydWVC
bG9jaywgc3RhdGVtZW50U3RhY2subGFzdCgpLCBzdGFydCwgZW5kKTsKIH0KIAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBl
PgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4
dCkKK3sKKyAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7CisgICAgVHJlZUV4cHJlc3Npb24gbm9k
ZSA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24oY29udGV4dCk7CisgICAgZmFpbElmRmFsc2Uo
bm9kZSwgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9uIik7CisgICAgY29udGV4dC5zZXRFbmRPZmZz
ZXQobm9kZSwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5vZmZzZXQpOworICAgIHJldHVybiBub2Rl
OworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7CkBAIC0xODQ0LDYgKzIwMjksNDEg
QEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KICAgICAgICAgfQogICAgICAgICByZXN0b3JlU2F2
ZVBvaW50KHNhdmVQb2ludCk7CiAgICAgfQorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICBTYXZlUG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNh
dmVQb2ludCgpOworICAgIGJvb2wgYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCA9IGZhbHNlOworICAg
IGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgaWYgKG1h
dGNoKENMT1NFUEFSRU4pKSB7CisgICAgICAgICAgICBuZXh0KCk7CisKKyAgICAgICAgICAgIGlm
IChtYXRjaChBUlJPV0ZVTkNUSU9OKSkKKyAgICAgICAgICAgICAgICBhcnJvd0Z1bmN0aW9uRW1w
dHlMaXN0ID0gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICghYXJyb3dGdW5jdGlvbkVt
cHR5TGlzdCkKKyAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Q
b2ludCk7CisgICAgfQorCisgICAgVHJlZUV4cHJlc3Npb24gbGhzOworICAgIGlmICghYXJyb3dG
dW5jdGlvbkVtcHR5TGlzdCkgeworICAgICAgICBsaHMgPSBwYXJzZUNvbmRpdGlvbmFsRXhwcmVz
c2lvbihjb250ZXh0KTsKKyAgICAgICAgZmFpbElmRmFsc2UobGhzLCAiQ2FuGW5vdCBwYXJzZSBl
eHByZXNzaW9uIik7CisgICAgICAgIGlmIChpbml0aWFsTm9uTEhTQ291bnQgIT0gbV9ub25MSFND
b3VudCkgeworICAgICAgICAgICAgaWYgKG1fdG9rZW4ubV90eXBlID49IEVRVUFMICYmIG1fdG9r
ZW4ubV90eXBlIDw9IE9SRVFVQUwpCisgICAgICAgICAgICAgICAgc2VtYW50aWNGYWlsKCJMZWZ0
IGhhbmQgc2lkZSBvZiBvcGVyYXRvciAnIiwgZ2V0VG9rZW4oKSwgIicgbXVzdCBiZSBhIHJlZmVy
ZW5jZSIpOworCisgICAgICAgICAgICByZXR1cm4gbGhzOworICAgICAgICB9CisgICAgfQorCisg
ICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJT04pKSB7CisgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQo
c2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAgICAgIGxocyA9IHBhcnNlQXJyb3dGdW5jdGlv
bldyYXBwZXIoY29udGV4dCk7CisgICAgICAgIHJldHVybiBsaHM7CisgICAgfQorI2Vsc2UKICAg
ICBUcmVlRXhwcmVzc2lvbiBsaHMgPSBwYXJzZUNvbmRpdGlvbmFsRXhwcmVzc2lvbihjb250ZXh0
KTsKICAgICBmYWlsSWZGYWxzZShsaHMsICJDYW5ub3QgcGFyc2UgZXhwcmVzc2lvbiIpOwogICAg
IGlmIChpbml0aWFsTm9uTEhTQ291bnQgIT0gbV9ub25MSFNDb3VudCkgewpAQCAtMTg1Miw3ICsy
MDcyLDggQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KIAogICAgICAgICByZXR1cm4gbGhzOwog
ICAgIH0KLSAgICAKKyNlbmRpZgorCiAgICAgaW50IGFzc2lnbm1lbnRTdGFjayA9IDA7CiAgICAg
T3BlcmF0b3Igb3A7CiAgICAgYm9vbCBoYWRBc3NpZ25tZW50ID0gZmFsc2U7CkBAIC0yMDg0LDgg
KzIzMDUsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5TWV0aAogICAgIEpTVG9rZW5Mb2NhdGlvbiBt
ZXRob2RMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwogICAgIHVuc2lnbmVkIG1ldGhvZFN0YXJ0
ID0gdG9rZW5TdGFydCgpOwogICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gbWV0
aG9kSW5mbzsKLSAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVu
Y3Rpb25Ob1JlcXVpcmVtZW50cywgTWV0aG9kTW9kZSwgZmFsc2UsIENvbnN0cnVjdG9yS2luZDo6
Tm9uZSwgU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQsCi0gICAgICAgIG1ldGhvZFN0YXJ0LCBtZXRo
b2RJbmZvKSksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2QiKTsKKyAgICBmYWlsSWZGYWxzZSgo
cGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgTWV0aG9k
TW9kZSwgZmFsc2UsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJCaW5kaW5nOjpOb3ROZWVk
ZWQsIG1ldGhvZFN0YXJ0LCBtZXRob2RJbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSks
ICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2QiKTsKICAgICBtZXRob2RJbmZvLm5hbWUgPSBtZXRo
b2ROYW1lOwogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uRXhwcihtZXRob2RMb2Nh
dGlvbiwgbWV0aG9kSW5mbyk7CiB9CkBAIC0yMTEyLDExICsyMzMyLDExIEBAIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUdl
dHRlclNldHRlcihUCiAgICAgaWYgKHR5cGUgPT0gUHJvcGVydHlOb2RlOjpHZXR0ZXIpIHsKICAg
ICAgICAgZmFpbElmRmFsc2UobWF0Y2goT1BFTlBBUkVOKSwgIkV4cGVjdGVkIGEgcGFyYW1ldGVy
IGxpc3QgZm9yIGdldHRlciBkZWZpbml0aW9uIik7CiAgICAgICAgIGZhaWxJZkZhbHNlKChwYXJz
ZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBHZXR0ZXJNb2Rl
LCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBzdXBlckJpbmRpbmcsCi0gICAgICAgICAgICBnZXR0
ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBpbmZvKSksICJDYW5ub3QgcGFyc2UgZ2V0dGVyIGRlZmlu
aXRpb24iKTsKKyAgICAgICAgICAgIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIGluZm8sIFN0
YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSBnZXR0ZXIgZGVmaW5pdGlv
biIpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGZhaWxJZkZhbHNlKG1hdGNoKE9QRU5QQVJFTiks
ICJFeHBlY3RlZCBhIHBhcmFtZXRlciBsaXN0IGZvciBzZXR0ZXIgZGVmaW5pdGlvbiIpOwogICAg
ICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1Jl
cXVpcmVtZW50cywgU2V0dGVyTW9kZSwgZmFsc2UsIGNvbnN0cnVjdG9yS2luZCwgc3VwZXJCaW5k
aW5nLAotICAgICAgICAgICAgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgaW5mbykpLCAiQ2Fu
bm90IHBhcnNlIHNldHRlciBkZWZpbml0aW9uIik7CisgICAgICAgICAgICBnZXR0ZXJPclNldHRl
clN0YXJ0T2Zmc2V0LCBpbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3Qg
cGFyc2Ugc2V0dGVyIGRlZmluaXRpb24iKTsKICAgICB9CiAgICAgaWYgKHN0cmluZ1Byb3BlcnR5
TmFtZSkKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlR2V0dGVyT3JTZXR0ZXJQcm9wZXJ0
eShsb2NhdGlvbiwgdHlwZSwgc3RyaWN0LCBzdHJpbmdQcm9wZXJ0eU5hbWUsIGluZm8sIHN1cGVy
QmluZGluZyk7CkBAIC0yMzY1LDggKzI1ODUsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHByZQog
ICAgICAgICBuZXh0KCk7CiAgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4g
aW5mbzsKICAgICAgICAgaW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVu
dGlmaWVyOwotICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwg
RnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgRnVuY3Rpb25Nb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JL
aW5kOjpOb25lLCBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwKLSAgICAgICAgICAgIGZ1bmN0aW9u
S2V5d29yZFN0YXJ0LCBpbmZvKSksICJDYW5ub3QgcGFyc2UgZnVuY3Rpb24gZXhwcmVzc2lvbiIp
OworICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rp
b25Ob1JlcXVpcmVtZW50cywgRnVuY3Rpb25Nb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpO
b25lLCBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8s
IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSBmdW5jdGlvbiBleHBy
ZXNzaW9uIik7CiAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uRXhwcihsb2Nh
dGlvbiwgaW5mbyk7CiAgICAgfQogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQpAQCAtMjM5
NSw2ICsyNjE0LDIzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Np
b24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAgICAgIHJldHVybiBj
b250ZXh0LnRoaXNFeHByKGxvY2F0aW9uLCBtX3RoaXNURFpNb2RlKTsKICAgICB9CiAgICAgY2Fz
ZSBJREVOVDogeworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAg
IFNhdmVQb2ludCBzYXZlQXJyb3dGdW5jdGlvblBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7Cisg
ICAgICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAg
ICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CisgICAg
ICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgICAgICBu
ZXh0KCk7CisKKyAgICAgICAgaWYgKCFtYXRjaChBUlJPV0ZVTkNUSU9OKSkgeworICAgICAgICAg
ICAgY3VycmVudFNjb3BlKCktPnVzZVZhcmlhYmxlKGlkZW50LCBtX3ZtLT5wcm9wZXJ0eU5hbWVz
LT5ldmFsID09ICppZGVudCk7CisgICAgICAgICAgICBtX2xhc3RJZGVudGlmaWVyID0gaWRlbnQ7
CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVSZXNvbHZlKGxvY2F0aW9uLCBpZGVu
dCwgc3RhcnQpOworICAgICAgICB9CisKKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJy
b3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAgVHJlZUV4cHJlc3Npb24gbGhzID0gcGFyc2VBcnJv
d0Z1bmN0aW9uV3JhcHBlcihjb250ZXh0KTsKKyAgICAgICAgcmV0dXJuIGxoczsKKyNlbHNlCiAg
ICAgICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CiAgICAg
ICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAg
ICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwpAQCAtMjQwMiw2
ICsyNjM4LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAgY3VycmVudFNjb3Bl
KCktPnVzZVZhcmlhYmxlKGlkZW50LCBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09ICppZGVu
dCk7CiAgICAgICAgIG1fbGFzdElkZW50aWZpZXIgPSBpZGVudDsKICAgICAgICAgcmV0dXJuIGNv
bnRleHQuY3JlYXRlUmVzb2x2ZShsb2NhdGlvbiwgaWRlbnQsIHN0YXJ0KTsKKyNlbmRpZgogICAg
IH0KICAgICBjYXNlIFNUUklORzogewogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBpZGVudCA9
IG1fdG9rZW4ubV9kYXRhLmlkZW50OwpAQCAtMjU5NCw2ICsyODMxLDMzIEBAIGVuZE1lbWJlckV4
cHJlc3Npb246CiAgICAgcmV0dXJuIGJhc2U7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3RlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
QXJyb3dGdW5jdGlvbldyYXBwZXIoVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAgVHJlZUV4
cHJlc3Npb24gYmFzZSA9IDA7CisgICAgSlNUZXh0UG9zaXRpb24gZXhwcmVzc2lvblN0YXJ0ID0g
dG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgaW50IG5ld0NvdW50ID0gMDsKKyAgICBKU1Rva2Vu
TG9jYXRpb24gbG9jYXRpb247CisKKyAgICBpZiAobWF0Y2goSURFTlQpIHx8IG1hdGNoKE9QRU5Q
QVJFTikpIHsKKyAgICAgICAgdW5zaWduZWQgZnVuY3Rpb25LZXl3b3JkU3RhcnQgPSB0b2tlblN0
YXJ0KCk7CisgICAgICAgIGxvY2F0aW9uID0gdG9rZW5Mb2NhdGlvbigpOworICAgICAgICBQYXJz
ZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87CisgICAgICAgIGluZm8ubmFtZSA9ICZt
X3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmllcjsKKyAgICAgICAgZmFpbElmRmFsc2Uo
KHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEZ1bmN0
aW9uTW9kZSwgdHJ1ZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBTdXBlckJpbmRpbmc6Ok5vdE5l
ZWRlZCwKKyAgICAgICAgICAgIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvLCBBcnJvd0Z1bmN0
aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2UgYXJyb3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIp
OworICAgICAgICBiYXNlID0gY29udGV4dC5jcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihsb2NhdGlv
biwgaW5mbyk7CisgICAgfSBlbHNlCisgICAgICAgIGJhc2UgPSBwYXJzZVByaW1hcnlFeHByZXNz
aW9uKGNvbnRleHQpOworCisgICAgZmFpbElmRmFsc2UoYmFzZSwgIkNhbm5vdCBwYXJzZSBiYXNl
IGV4cHJlc3Npb24iKTsKKyAgICB3aGlsZSAobmV3Q291bnQtLSkKKyAgICAgICAgYmFzZSA9IGNv
bnRleHQuY3JlYXRlTmV3RXhwcihsb2NhdGlvbiwgYmFzZSwgZXhwcmVzc2lvblN0YXJ0LCBsYXN0
VG9rZW5FbmRQb3NpdGlvbigpKTsKKyAgICByZXR1cm4gYmFzZTsKK30KKyNlbmRpZgorCiBzdGF0
aWMgY29uc3QgY2hhciogb3BlcmF0b3JTdHJpbmcoYm9vbCBwcmVmaXgsIHVuc2lnbmVkIHRvaykK
IHsKICAgICBzd2l0Y2ggKHRvaykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgK
aW5kZXggM2RmZjhlNDliMzA1N2M0OTkxNDQ1ZjZmYzRlZDQyYzlmMzQ2NWFjOC4uMjc0MWM4YWI5
MDMxN2Y0OWQ1ZWQ1OGQ2NDljZjk2MzNiODc2NmYwZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlci5oCkBAIC04MCw2ICs4MCwxMSBAQCBjbGFzcyBTb3VyY2VDb2RlOwogQ09NUElM
RV9BU1NFUlQoTGFzdFVudGFnZ2VkVG9rZW4gPCA2NCwgTGVzc1RoYW42NFVudGFnZ2VkVG9rZW5z
KTsKIAogZW51bSBTb3VyY2VFbGVtZW50c01vZGUgeyBDaGVja0ZvclN0cmljdE1vZGUsIERvbnRD
aGVja0ZvclN0cmljdE1vZGUgfTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorZW51bSBGdW5jdGlvblBhcnNlVHlwZSB7IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUsIEFy
cm93RnVuY3Rpb25QYXJzZVR5cGUgfTsKKyNlbHNlCitlbnVtIEZ1bmN0aW9uUGFyc2VUeXBlIHsg
U3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZX07CisjZW5kaWYKIGVudW0gRnVuY3Rpb25SZXF1aXJl
bWVudHMgeyBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlvbk5lZWRzTmFtZSB9OwogZW51
bSBGdW5jdGlvblBhcnNlTW9kZSB7CiAgICAgRnVuY3Rpb25Nb2RlLApAQCAtNjE4LDYgKzYyMywx
MyBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gbV90b2tlbi5tX3R5cGUgPT0gSURFTlQgJiYg
Km1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnByb3BlcnR5TmFtZXMtPm9mOwogICAgIH0K
ICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEFMV0FZU19J
TkxJTkUgYm9vbCBpc0VuZE9mQXJyb3dGdW5jdGlvbigpCisgICAgeworICAgICAgICByZXR1cm4g
bWF0Y2goU0VNSUNPTE9OKSB8fCBtYXRjaChDT01NQSkgfHwgbWF0Y2goQ0xPU0VQQVJFTikgfHwg
bWF0Y2goQ0xPU0VCUkFDRSkgfHwgbWF0Y2goQ0xPU0VCUkFDS0VUKTsKKyAgICB9CisjZW5kaWYK
KyAgICAKICAgICBBTFdBWVNfSU5MSU5FIHVuc2lnbmVkIHRva2VuU3RhcnQoKQogICAgIHsKICAg
ICAgICAgcmV0dXJuIG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKQEAgLTcyMSw5ICs3
MzMsOSBAQCBwcml2YXRlOgogICAgICAgICB9CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAg
fQotICAgIAotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1l
bnRzIHBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUp
OwotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0
YXRlbWVudChUcmVlQnVpbGRlciYsIGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2ln
bmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMCk7CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVC
dWlsZGVyJiwgU291cmNlRWxlbWVudHNNb2RlLCBGdW5jdGlvblBhcnNlVHlwZSk7CisgICAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3RhdGVtZW50KFRy
ZWVCdWlsZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVj
dGl2ZUxpdGVyYWxMZW5ndGggPSAwLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNlVHlw
ZSA9IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lO
VEFYKQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJz
ZUNsYXNzRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImKTsKICNlbmRpZgpAQCAtNzYyLDIwICs3NzQs
MzQgQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9w
ZXJ0eSBwYXJzZVByb3BlcnR5KFRyZWVCdWlsZGVyJiwgYm9vbCBzdHJpY3QpOwogICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VQcm9wZXJ0eU1ldGhv
ZChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciogbWV0aG9kTmFtZSk7CiAg
ICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgcGFyc2VHZXR0ZXJT
ZXR0ZXIoVHJlZUJ1aWxkZXImLCBib29sIHN0cmljdCwgUHJvcGVydHlOb2RlOjpUeXBlLCB1bnNp
Z25lZCBnZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBDb25zdHJ1Y3RvcktpbmQgPSBDb25zdHJ1
Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZyA9IFN1cGVyQmluZGluZzo6Tm90TmVlZGVkKTsK
LSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZ1bmN0
aW9uQm9keSBwYXJzZUZ1bmN0aW9uQm9keShUcmVlQnVpbGRlciYsIGludCBmdW5jdGlvbktleXdv
cmRTdGFydCwgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25z
dHJ1Y3RvcktpbmQpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lO
TElORSBUcmVlRnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVyJiwgaW50
IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIGludCBwYXJhbWV0
ZXJzU3RhcnQsIENvbnN0cnVjdG9yS2luZCwgRnVuY3Rpb25QYXJzZVR5cGUpOwogICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRm9ybWFsUGFyYW1ldGVy
TGlzdCBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoVHJlZUJ1aWxkZXImKTsKICAgICBlbnVtIFZhckRl
Y2xhcmF0aW9uTGlzdENvbnRleHQgeyBGb3JMb29wQ29udGV4dCwgVmFyRGVjbGFyYXRpb25Db250
ZXh0IH07CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBw
YXJzZVZhckRlY2xhcmF0aW9uTGlzdChUcmVlQnVpbGRlciYsIGludCYgZGVjbGFyYXRpb25zLCBU
cmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuJiBsYXN0UGF0dGVybiwgVHJlZUV4cHJlc3Npb24mIGxh
c3RJbml0aWFsaXplciwgSlNUZXh0UG9zaXRpb24mIGlkZW50U3RhcnQsIEpTVGV4dFBvc2l0aW9u
JiBpbml0U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0RW5kLCBWYXJEZWNsYXJhdGlvbkxpc3RD
b250ZXh0KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBU
cmVlQ29uc3REZWNsTGlzdCBwYXJzZUNvbnN0RGVjbGFyYXRpb25MaXN0KFRyZWVCdWlsZGVyJik7
CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVz
c2lvbihUcmVlQnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJl
ZVN0YXRlbWVudCBwYXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImKTsKKyAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlQXJyb3dG
dW5jdGlvbldyYXBwZXIoVHJlZUJ1aWxkZXImKTsKKyNlbmRpZgorCiAgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBj
cmVhdGVCaW5kaW5nUGF0dGVybihUcmVlQnVpbGRlciYsIERlY29uc3RydWN0aW9uS2luZCwgY29u
c3QgSWRlbnRpZmllciYsIGludCBkZXB0aCwgSlNUb2tlbik7CiAgICAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBwYXJz
ZURlY29uc3RydWN0aW9uUGF0dGVybihUcmVlQnVpbGRlciYsIERlY29uc3RydWN0aW9uS2luZCwg
aW50IGRlcHRoID0gMCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9J
TkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiB0cnlQYXJzZURlY29uc3RydWN0aW9uUGF0
dGVybkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKIAotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gTkVWRVJfSU5MSU5FIGJvb2wgcGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXIm
LCBGdW5jdGlvblJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUsIGJvb2wgbmFtZUlzSW5D
b250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCwgU3VwZXJCaW5kaW5nLCBpbnQgZnVuY3Rp
b25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mKTsKKyAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBib29sIHBhcnNlRnVuY3Rp
b25JbmZvKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VN
b2RlLCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQsIFN1cGVy
QmluZGluZywgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJl
ZUJ1aWxkZXI+JiwgRnVuY3Rpb25QYXJzZVR5cGUpOworICAgIAorICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIGludCBwYXJzZUZ1bmN0aW9uUGFyYW10ZXJzKFRy
ZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlLCBib29s
LCBBdXRvUG9wU2NvcGVSZWYmLCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+Jik7CisK
ICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlQ2xhc3NFeHByZXNzaW9uIHBhcnNlQ2xhc3MoVHJlZUJ1
aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgUGFyc2VyQ2xhc3NJbmZvPFRyZWVCdWlsZGVy
PiYpOwogI2VuZGlmCisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIGludCBwYXJzZUFycm93
RnVuY3Rpb25QYXJhbXRlcnMoVHJlZUJ1aWxkZXImLCBGdW5jdGlvblBhcnNlTW9kZSwgUGFyc2Vy
RnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYpOworI2VuZGlmCisKICNpZiBFTkFCTEUoRVM2X1RF
TVBMQVRFX0xJVEVSQUxfU1lOVEFYKQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
TkVWRVJfSU5MSU5FIHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpUZW1wbGF0ZVN0cmluZyBwYXJzZVRl
bXBsYXRlU3RyaW5nKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBib29sIGlzVGVtcGxhdGVIZWFkLCBi
b29sJiBlbGVtZW50SXNUYWlsKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5F
VkVSX0lOTElORSB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6VGVtcGxhdGVMaXRlcmFsIHBhcnNlVGVt
cGxhdGVMaXRlcmFsKFRyZWVCdWlsZGVyJik7CkBAIC03OTMsNiArODE5LDE0IEBAIHByaXZhdGU6
CiAgICAgICAgIHJldHVybiBhbGxvd0F1dG9tYXRpY1NlbWljb2xvbigpOwogICAgIH0KICAgICAK
KworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdm9pZCBzZXRFbmRP
ZlN0YXRlbWVudCgpCisgICAgeworICAgICAgICBtX2xleGVyLT5zZXRUb2tlblBvc2l0aW9uKCZt
X3Rva2VuKTsKKyAgICB9CisjZW5kaWYKKwogICAgIGJvb2wgY2FuUmVjdXJzZSgpCiAgICAgewog
ICAgICAgICByZXR1cm4gbV92bS0+aXNTYWZlVG9SZWN1cnNlKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaAppbmRleCA2YjczNjI4MmUy
ZDJhODFiYzYzZGMyZjNjMGU1YWU4Yzg1OGNkMWY4Li4wY2RlMGM2N2E5ZGUwZWRmMzQxNDRlMzI3
OTFlNWU5MGI0YTIxNTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1BhcnNlckZ1bmN0aW9uSW5mby5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyRnVuY3Rpb25JbmZvLmgKQEAgLTI4LDYgKzI4LDEwIEBACiAKIG5hbWVzcGFjZSBKU0Mg
ewogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK2VudW0gRnVuY3Rpb25C
b2R5VHlwZSB7IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbiwgQXJyb3dGdW5jdGlvbkJvZHlC
bG9jaywgU3RhbmRhcmRGdW5jdGlvbkJvZHlCbG9jayB9OworI2VuZGlmCisKIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4KIHN0cnVjdCBQYXJzZXJGdW5jdGlvbkluZm8gewogICAgIGNvbnN0
IElkZW50aWZpZXIqIG5hbWUgPSAwOwpAQCAtMzgsNiArNDIsMTEgQEAgc3RydWN0IFBhcnNlckZ1
bmN0aW9uSW5mbyB7CiAgICAgaW50IGJvZHlTdGFydExpbmUgPSAwOwogICAgIGludCBib2R5RW5k
TGluZSA9IDA7CiAgICAgdW5zaWduZWQgYm9keVN0YXJ0Q29sdW1uID0gMDsKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHVuc2lnbmVkIGFycm93RnVuY3Rpb25PZmZz
ZXQgPSAwOworICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9uID0gZmFsc2U7CisgICAgRnVuY3Rpb25C
b2R5VHlwZSBmdW5jdGlvbkJvZHlUeXBlID0gU3RhbmRhcmRGdW5jdGlvbkJvZHlCbG9jazsKKyNl
bmRpZgogfTsKIAogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKaW5kZXggMDI2ZTRmODBmNDM3ZDhiZmU0YTYx
OWMzMGQxMWRjOWZjNjFlMjY0NS4uZTkxNTRjYWYwNTNjNTM4MWI1ZjA5ODE2ZGJhMDU1OGE1NDM0
YmYzNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tl
bnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCkBA
IC03NSw2ICs3NSw5IEBAIGVudW0gSlNUb2tlblR5cGUgewogICAgIEZJTkFMTFksCiAgICAgREVC
VUdHRVIsCiAgICAgRUxTRSwKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIEFSUk9XRlVOQ1RJT04sCisjZW5kaWYKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkK
ICAgICBDTEFTU1RPS0VOLAogICAgIEVYVEVORFMsCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvU291cmNlQ29kZS5oCmluZGV4IDczZDIzZGI4MmFmMjVlYTQ2YzBmODk3ODVjZTQyNGJiNjBl
YjYxYTcuLjUwZDUyNjM5Nzk0M2UzODFkMzgwZWM0M2Q4MmQ1YjYzZjdmMDhkYzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCkBAIC0xMDUsNiArMTA1LDkgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIAogICAgICAgICBTb3VyY2VDb2RlIHN1YkV4cHJlc3Np
b24odW5zaWduZWQgb3BlbkJyYWNlLCB1bnNpZ25lZCBjbG9zZUJyYWNlLCBpbnQgZmlyc3RMaW5l
LCBpbnQgc3RhcnRDb2x1bW4pOwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICAgICAgU291cmNlQ29kZSBzdWJBcnJvd0V4cHJlc3Npb24odW5zaWduZWQgc3RhcnRB
cnJvd0Z1bmN0aW9uLCB1bnNpZ25lZCBlbmRBcnJvd0Z1bmN0aW9uLCBpbnQgZmlyc3RMaW5lLCBp
bnQgc3RhcnRDb2x1bW4pOworI2VuZGlmCiAgICAgcHJpdmF0ZToKICAgICAgICAgUmVmUHRyPFNv
dXJjZVByb3ZpZGVyPiBtX3Byb3ZpZGVyOwogICAgICAgICBpbnQgbV9zdGFydENoYXI7CkBAIC0x
MTgsNiArMTIxLDE3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4gU291cmNlQ29k
ZShTdHJpbmdTb3VyY2VQcm92aWRlcjo6Y3JlYXRlKHNvdXJjZSwgdXJsLCBzdGFydFBvc2l0aW9u
KSwgc3RhcnRQb3NpdGlvbi5tX2xpbmUub25lQmFzZWRJbnQoKSwgc3RhcnRQb3NpdGlvbi5tX2Nv
bHVtbi5vbmVCYXNlZEludCgpKTsKICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIGlubGluZSBTb3VyY2VDb2RlIFNvdXJjZUNvZGU6OnN1YkFycm93RXhw
cmVzc2lvbih1bnNpZ25lZCBzdGFydEFycm93RnVuY3Rpb24sIHVuc2lnbmVkIGVuZEFycm93RnVu
Y3Rpb24sIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbikKKyAgICB7CisgICAgICAgIEFT
U0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFycm93RnVuY3Rpb25dID09ICc9JyAmJiBw
cm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFycm93RnVuY3Rpb24gKyAxXSA9PSAnPicpOworICAg
ICAgICAvLyBGaXhtZTogVXNlIGJldHRlciBhcHByb2FjaCB0byBjaGVjayBzeW1ib2wKKyAgICAg
ICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAn
LCcgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICc7JyB8
fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJyknIHx8IHBy
b3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnXScgfHwgcHJvdmlk
ZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICd9Jyk7CisgICAgICAgIHN0
YXJ0Q29sdW1uICs9IDE7IC8vIENvbnZlcnQgdG8gYmFzZSAxLgorICAgICAgICByZXR1cm4gU291
cmNlQ29kZShwcm92aWRlcigpLCBzdGFydEFycm93RnVuY3Rpb24sIGVuZEFycm93RnVuY3Rpb24s
IGZpcnN0TGluZSwgc3RhcnRDb2x1bW4pOworICAgIH0KKyNlbmRpZgorCiAgICAgaW5saW5lIFNv
dXJjZUNvZGUgU291cmNlQ29kZTo6c3ViRXhwcmVzc2lvbih1bnNpZ25lZCBvcGVuQnJhY2UsIHVu
c2lnbmVkIGNsb3NlQnJhY2UsIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbikKICAgICB7
CiAgICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtvcGVuQnJhY2VdID09ICd7Jyk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVy
Q2FjaGVJdGVtLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVy
Q2FjaGVJdGVtLmgKaW5kZXggNjM1Mzc5ZTNmNDQ1NjY4YzUyYjg3MmY3NjE2ZGNiNTkyMWE4Mjk0
NC4uZjQyOGRiNTBhOGRhN2E3YWI0NjgyNGFiMzgwODNkYjA1MmQ3Mzc3NiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0u
aApAQCAtNDAsNiArNDAsMTAgQEAgc3RydWN0IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtQ3JlYXRp
b25QYXJhbWV0ZXJzIHsKICAgICBib29sIG5lZWRzRnVsbEFjdGl2YXRpb247CiAgICAgYm9vbCB1
c2VzRXZhbDsKICAgICBib29sIHN0cmljdE1vZGU7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICBib29sIGlzQm9keUFycm93RXhwcmVzc2lvbjsKKyAgICBKU1Rva2Vu
VHlwZSB0b2tlblR5cGU7CisjZW5kaWYKICAgICBWZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiB1
c2VkVmFyaWFibGVzOwogICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+IHdyaXR0ZW5WYXJp
YWJsZXM7CiB9OwpAQCAtNTUsMTAgKzU5LDE0IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgc3RkOjp1
bmlxdWVfcHRyPFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtPiBjcmVhdGUoY29uc3QgU291cmNlUHJv
dmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMmKTsKICAgICB+U291cmNlUHJvdmlkZXJD
YWNoZUl0ZW0oKTsKIAotICAgIEpTVG9rZW4gY2xvc2VCcmFjZVRva2VuKCkgY29uc3QgCisgICAg
SlNUb2tlbiBlbmRGdW5jdGlvblRva2VuKCkgY29uc3QgCiAgICAgewogICAgICAgICBKU1Rva2Vu
IHRva2VuOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIHRv
a2VuLm1fdHlwZSA9IGlzQm9keUFycm93RXhwcmVzc2lvbiA/IHRva2VuVHlwZSA6IENMT1NFQlJB
Q0U7CisjZWxzZQogICAgICAgICB0b2tlbi5tX3R5cGUgPSBDTE9TRUJSQUNFOworI2VuZGlmCiAg
ICAgICAgIHRva2VuLm1fZGF0YS5vZmZzZXQgPSBjbG9zZUJyYWNlT2Zmc2V0OwogICAgICAgICB0
b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0ID0gY2xvc2VCcmFjZU9mZnNldDsKICAgICAgICAg
dG9rZW4ubV9sb2NhdGlvbi5lbmRPZmZzZXQgPSBjbG9zZUJyYWNlT2Zmc2V0ICsgMTsKQEAgLTgy
LDYgKzkwLDExIEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCB1c2VkVmFyaWFibGVzQ291bnQ7CiAg
ICAgdW5zaWduZWQgd3JpdHRlblZhcmlhYmxlc0NvdW50OwogCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBib29sIGlzQm9keUFycm93RXhwcmVzc2lvbjsKKyAgICBK
U1Rva2VuVHlwZSB0b2tlblR5cGU7CisjZW5kaWYKKwogICAgIFN0cmluZ0ltcGwqKiB1c2VkVmFy
aWFibGVzKCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxTdHJpbmdJbXBsKio+KG1fdmFyaWFi
bGVzKTsgfQogICAgIFN0cmluZ0ltcGwqKiB3cml0dGVuVmFyaWFibGVzKCkgY29uc3QgeyByZXR1
cm4gY29uc3RfY2FzdDxTdHJpbmdJbXBsKio+KCZtX3ZhcmlhYmxlc1t1c2VkVmFyaWFibGVzQ291
bnRdKTsgfQogCkBAIC0xMTUsNiArMTI4LDEwIEBAIGlubGluZSBTb3VyY2VQcm92aWRlckNhY2hl
SXRlbTo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0oY29uc3QgU291cmNlUHJvdmlkZXJDYWNoCiAg
ICAgLCBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0KHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmVT
dGFydE9mZnNldCkKICAgICAsIHVzZWRWYXJpYWJsZXNDb3VudChwYXJhbWV0ZXJzLnVzZWRWYXJp
YWJsZXMuc2l6ZSgpKQogICAgICwgd3JpdHRlblZhcmlhYmxlc0NvdW50KHBhcmFtZXRlcnMud3Jp
dHRlblZhcmlhYmxlcy5zaXplKCkpCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICAsIGlzQm9keUFycm93RXhwcmVzc2lvbihwYXJhbWV0ZXJzLmlzQm9keUFycm93RXhw
cmVzc2lvbikKKyAgICAsIHRva2VuVHlwZShwYXJhbWV0ZXJzLnRva2VuVHlwZSkKKyNlbmRpZgog
ewogICAgIHVuc2lnbmVkIGogPSAwOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB1c2Vk
VmFyaWFibGVzQ291bnQ7ICsraSwgKytqKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvU3ludGF4Q2hlY2tlci5oCmluZGV4IDU1NGU1ZGY2NGE3MjFmNDQ2MmQwZDg5YWIwMjNhZmRk
NzUzYzU1YmUuLmY2MzVlZDFiYjM3ZTg4NTM2NDU0NzRjMDgyM2Y0YjYxMzgwYTRkMzMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCkBAIC0xNzcsNiAr
MTc3LDEwIEBAIHB1YmxpYzoKICNlbmRpZgogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZUZ1bmN0
aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88
U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KICAgICBpbnQgY3JlYXRl
RnVuY3Rpb25Cb2R5KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IEpTVG9rZW5Mb2NhdGlv
biYsIGludCwgaW50LCBib29sLCBpbnQsIGludCwgaW50LCBDb25zdHJ1Y3RvcktpbmQpIHsgcmV0
dXJuIEZ1bmN0aW9uQm9keVJlc3VsdDsgfQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIoY29uc3Qg
SlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFyc2VyRnVuY3Rpb25JbmZvPFN5bnRheENoZWNrZXI+
JikgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9CisjZW5kaWYgCisgICAgdm9pZCBzZXRGdW5jdGlv
bk5hbWVTdGFydChpbnQsIGludCkgeyB9CiAgICAgaW50IGNyZWF0ZUFyZ3VtZW50cygpIHsgcmV0
dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQogICAgIGludCBjcmVhdGVBcmd1bWVudHMoaW50KSB7IHJl
dHVybiBBcmd1bWVudHNSZXN1bHQ7IH0KICAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVTcHJlYWRF
eHByZXNzaW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIEV4cHJlc3Npb25UeXBlLCBpbnQsIGlu
dCwgaW50KSB7IHJldHVybiBTcHJlYWRFeHByOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMDI3MTk2MDM5N2Fi
N2Q5OTUyNDhiMTJmMjk1YWI3ZTNhZTZkMzM0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcApAQCAtMCwwICsxLDExOSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorI2luY2x1
ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorCisjaW5jbHVkZSAiRXJyb3IuaCIKKyNpbmNsdWRlICJF
eGNlcHRpb25IZWxwZXJzLmgiCisjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgorI2luY2x1ZGUgIkpT
Q0pTVmFsdWUuaCIKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNGdW5jdGlv
bklubGluZXMuaCIKKyNpbmNsdWRlICJKU09iamVjdC5oIgorI2luY2x1ZGUgIlByb3BlcnR5U2xv
dC5oIgorI2luY2x1ZGUgIlZNLmgiCisKK25hbWVzcGFjZSBKU0MgeworICAgIAorY29uc3QgQ2xh
c3NJbmZvIEpTQXJyb3dGdW5jdGlvbjo6c19pbmZvID0geyAiQXJyb3dGdW5jdGlvbiIsICZCYXNl
OjpzX2luZm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNBcnJvd0Z1bmN0aW9uKSB9OworCitF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycm93RnVuY3Rpb25DYWxsKEV4ZWNTdGF0ZSog
ZXhlYykKK3sKKyAgICBKU0Fycm93RnVuY3Rpb24qIGFycm93RnVuY3Rpb24gPSBqc0Nhc3Q8SlNB
cnJvd0Z1bmN0aW9uKj4oZXhlYy0+Y2FsbGVlKCkpOworICAgICAgICAKKyAgICBNYXJrZWRBcmd1
bWVudEJ1ZmZlciBhcmdzOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBleGVjLT5hcmd1
bWVudENvdW50KCk7ICsraSkKKyAgICAgICAgYXJncy5hcHBlbmQoZXhlYy0+dW5jaGVja2VkQXJn
dW1lbnQoaSkpOworICAgIAorICAgIEpTT2JqZWN0KiBmdW5jdGlvbiA9IGFycm93RnVuY3Rpb24t
PmFycm93RnVuY3Rpb24oKTsKKyAgICBDYWxsRGF0YSBjYWxsRGF0YTsKKyAgICBDYWxsVHlwZSBj
YWxsVHlwZSA9IGdldENhbGxEYXRhKGZ1bmN0aW9uLCBjYWxsRGF0YSk7CisgICAgQVNTRVJUKGNh
bGxUeXBlICE9IENhbGxUeXBlTm9uZSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShjYWxs
KGV4ZWMsIGZ1bmN0aW9uLCBjYWxsVHlwZSwgY2FsbERhdGEsIGFycm93RnVuY3Rpb24tPmJvdW5k
VGhpcygpLCBhcmdzKSk7Cit9CisgICAgCit2b2lkIEpTQXJyb3dGdW5jdGlvbjo6ZGVzdHJveShK
U0NlbGwqIGNlbGwpCit7CisgICAgc3RhdGljX2Nhc3Q8SlNBcnJvd0Z1bmN0aW9uKj4oY2VsbCkt
PkpTQXJyb3dGdW5jdGlvbjo6fkpTQXJyb3dGdW5jdGlvbigpOworfQorICAgIAorSlNBcnJvd0Z1
bmN0aW9uOjpKU0Fycm93RnVuY3Rpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNPYmplY3QqIGFycm93RnVuY3Rpb24sIEpTVmFs
dWUgYm91bmRUaGlzKQorICAgIDogQmFzZSh2bSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCisg
ICAgLCBtX2JvdW5kVGhpcyh2bSwgdGhpcywgYm91bmRUaGlzKQorICAgICwgbV9hcnJvd0Z1bmN0
aW9uKHZtLCB0aGlzLCBhcnJvd0Z1bmN0aW9uKQoreworfQorCitKU0Fycm93RnVuY3Rpb24qIEpT
QXJyb3dGdW5jdGlvbjo6Y3JlYXRlV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2lu
dChWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBhcnJvd0Z1
bmN0aW9uLCBKU1ZhbHVlIGJvdW5kVGhpcykKK3sKKyAgICBBU1NFUlQoanNDYXN0PEpTRnVuY3Rp
b24qPihhcnJvd0Z1bmN0aW9uKS0+anNFeGVjdXRhYmxlKCktPnNpbmdsZXRvbkZ1bmN0aW9uKCkt
Pmhhc0JlZW5JbnZhbGlkYXRlZCgpKTsKKyAgICByZXR1cm4gY3JlYXRlKHZtLCBnbG9iYWxPYmpl
Y3QsIGFycm93RnVuY3Rpb24sIGJvdW5kVGhpcyk7Cit9CisKK0pTQXJyb3dGdW5jdGlvbiogSlNB
cnJvd0Z1bmN0aW9uOjpjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBKU09iamVjdCogYXJyb3dGdW5jdGlvbiwgSlNWYWx1ZSBib3VuZFRoaXMpCit7CisgICAgTmF0
aXZlRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9IHZtLmdldEhvc3RGdW5jdGlvbihhcnJvd0Z1bmN0
aW9uQ2FsbCwgY2FsbEhvc3RGdW5jdGlvbkFzQ29uc3RydWN0b3IpOworICAgIEpTQXJyb3dGdW5j
dGlvbiogZnVuY3Rpb24gPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxKU0Fycm93RnVuY3Rp
b24+KHZtLmhlYXApKSBKU0Fycm93RnVuY3Rpb24odm0sIGdsb2JhbE9iamVjdCwgZ2xvYmFsT2Jq
ZWN0LT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCksIGFycm93RnVuY3Rpb24sIGJvdW5kVGhpcyk7
CisgICAgZnVuY3Rpb24tPmZpbmlzaENyZWF0aW9uKHZtLCBleGVjdXRhYmxlLCAwLCAiIik7CisK
KyAgICByZXR1cm4gZnVuY3Rpb247Cit9CisgICAgCit2b2lkIEpTQXJyb3dGdW5jdGlvbjo6Zmlu
aXNoQ3JlYXRpb24oVk0mIHZtLCBOYXRpdmVFeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBpbnQgbGVu
Z3RoLCBjb25zdCBTdHJpbmcmIG5hbWUpCit7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0s
IGV4ZWN1dGFibGUsIGxlbmd0aCwgbmFtZSk7CisgICAgQVNTRVJUKGluaGVyaXRzKGluZm8oKSkp
OworICAgIAorICAgIC8vIFByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiBpcyB1bmRlZmluZWQK
KyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwganNVbmRlZmlu
ZWQoKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgRG9udEVudW0pOworICAgIHB1dERpcmVjdCh2
bSwgdm0ucHJvcGVydHlOYW1lcy0+dGhpc0lkZW50aWZpZXIsIGJvdW5kVGhpcygpLCBEb250RGVs
ZXRlIHwgUmVhZE9ubHkgfCBEb250RW51bSk7Cit9CisKKyAgICAKK3ZvaWQgSlNBcnJvd0Z1bmN0
aW9uOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCit7
CisgICAgSlNBcnJvd0Z1bmN0aW9uKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTQXJyb3dGdW5jdGlv
bio+KGNlbGwpOworICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVjdCwgaW5m
bygpKTsKKyAgICBCYXNlOjp2aXNpdENoaWxkcmVuKHRoaXNPYmplY3QsIHZpc2l0b3IpOworCisg
ICAgLy8gRml4bWU6IG1fYXJyb3dGdW5jdGlvbiBhbHJlYWR5IHJlbW92ZWQgYnkgR0MsIGJlY2F1
c2UgaXQgY3JlYXRlZCBpbiBiZWZvcmUgcnVuIEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlIG1ldGhv
ZAorICAgIC8vIEl0IGlzIHBvc3NpYmxlIGNhc2Ugd2hlbiBtX2Fycm93RnVuY3Rpb24gaXMgcmVt
b3ZlZCBidXQgd3JhcHBlciBvYmplY3QgaXMgc3RpbGwgZXhpc3RzCisgICAgLy8gIHZpc2l0b3Iu
YXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2Fycm93RnVuY3Rpb24pOworICAgIAorICAgIHZpc2l0b3Iu
YXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2JvdW5kVGhpcyk7Cit9CisgICAgCitDb25zdHJ1Y3RUeXBl
IEpTQXJyb3dGdW5jdGlvbjo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwqIGNlbGwsIENvbnN0cnVj
dERhdGEmIGNvbnN0cnVjdERhdGEpCit7CisgICAgSlNGdW5jdGlvbiogdGhpc09iamVjdCA9IGpz
Q2FzdDxKU0Z1bmN0aW9uKj4oY2VsbCk7CisgICAgICAgIAorICAgIGNvbnN0cnVjdERhdGEuanMu
ZnVuY3Rpb25FeGVjdXRhYmxlID0gdGhpc09iamVjdC0+anNFeGVjdXRhYmxlKCk7CisgICAgY29u
c3RydWN0RGF0YS5qcy5zY29wZSA9IHRoaXNPYmplY3QtPnNjb3BlKCk7CisgICAgcmV0dXJuIENv
bnN0cnVjdFR5cGVOb25lOworfQorfSAvLyBuYW1lc3BhY2UgSlNDCisjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZTk3YmMxYTVmYmRmNmY4YjdhYzc2ZGZlZjAwOWU5ZWVlZjc5ZjhmMwotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5oCkBAIC0w
LDAgKzEsODggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaWZuZGVmIEpTQXJyb3dGdW5jdGlvbl9oCisjZGVmaW5lIEpTQXJyb3dGdW5jdGlvbl9oCisK
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorCisjaW5jbHVkZSAiSlNGdW5j
dGlvbi5oIgorI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCisKK25hbWVzcGFjZSBKU0Mgewor
CitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycm93RnVuY3Rpb25DYWxsKEV4ZWNTdGF0
ZSopOworICAgIAorY2xhc3MgSlNBcnJvd0Z1bmN0aW9uIDogcHVibGljIEpTRnVuY3Rpb24gewor
cHVibGljOgorICAgIHR5cGVkZWYgSlNGdW5jdGlvbiBCYXNlOworCisgICAgc3RhdGljIEpTQXJy
b3dGdW5jdGlvbiogY3JlYXRlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU09iamVjdCosIEpTVmFs
dWUpOworICAgIHN0YXRpYyBKU0Fycm93RnVuY3Rpb24qIGNyZWF0ZVdpdGhJbnZhbGlkYXRlZFJl
YWxsb2NhdGlvbldhdGNocG9pbnQoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgSlNW
YWx1ZSk7CisKKyAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQ2VsbCopOworICAgIAorICAgIHN0
YXRpYyBzaXplX3QgYWxsb2NhdGlvblNpemUoc2l6ZV90IGlubGluZUNhcGFjaXR5KQorICAgIHsK
KyAgICAgICAgQVNTRVJUX1VOVVNFRChpbmxpbmVDYXBhY2l0eSwgIWlubGluZUNhcGFjaXR5KTsK
KyAgICAgICAgcmV0dXJuIHNpemVvZihKU0Fycm93RnVuY3Rpb24pOworICAgIH0KKyAgICAKKyAg
ICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkKKyAgICB7CisgICAgICAgIEFTU0VS
VChnbG9iYWxPYmplY3QpOworICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGds
b2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhKU0Z1bmN0aW9uVHlwZSwgU3RydWN0dXJl
RmxhZ3MpLCBpbmZvKCkpOworICAgIH0KKyAgICAgICAgCisgICAgc3RhdGljIENvbnN0cnVjdFR5
cGUgZ2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJik7CisKKyAgICBKU09i
amVjdCogYXJyb3dGdW5jdGlvbigpIHsgcmV0dXJuIG1fYXJyb3dGdW5jdGlvbi5nZXQoKTsgfQor
ICAgIEpTVmFsdWUgYm91bmRUaGlzKCkgeyByZXR1cm4gbV9ib3VuZFRoaXMuZ2V0KCk7IH0KKyAg
ICAKKyAgICBERUNMQVJFX0lORk87CisgICAgCisgICAgc3RhdGljIGlubGluZSBwdHJkaWZmX3Qg
b2Zmc2V0T2ZUaGlzVmFsdWUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIE9CSkVDVF9PRkZTRVRP
RihKU0Fycm93RnVuY3Rpb24sIG1fYm91bmRUaGlzKTsKKyAgICB9CisgICAgCisgICAgY29uc3Qg
c3RhdGljIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzSGFzSW5zdGFuY2UgfCBC
YXNlOjpTdHJ1Y3R1cmVGbGFnczsKKworcHJvdGVjdGVkOgorICAgIHN0YXRpYyB2b2lkIHZpc2l0
Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKKyAgICAgICAgCitwcml2YXRlOgorICAg
IEpTQXJyb3dGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgSlNPYmpl
Y3QqLCBKU1ZhbHVlKTsKKworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBOYXRpdmVFeGVj
dXRhYmxlKiwgaW50LCBjb25zdCBTdHJpbmcmKTsKKyAgICAKKyAgICBXcml0ZUJhcnJpZXI8VW5r
bm93bj4gbV9ib3VuZFRoaXM7CisgICAgV3JpdGVCYXJyaWVyPEpTT2JqZWN0PiBtX2Fycm93RnVu
Y3Rpb247Cit9OworICAgIAorfSAvLyBuYW1lc3BhY2UgSlNDCisjZW5kaWYgLy8gRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYCisKKyNlbmRpZiAvLyBKU0Fycm93RnVuY3Rpb25faApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCmluZGV4IDg2ZGZmMTJmOGZhNDdhMzFh
MzNhNjg5NDA4N2NlNWMxMTVjZTUyYjYuLjhmMWQ2MTZhZTBiZDcxNGY0M2NiOGY4OGFhZDViNzRm
MmVjYjc3ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVu
Y3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgK
QEAgLTEzNyw2ICsxMzcsOSBAQCBwdWJsaWM6CiBwcm90ZWN0ZWQ6CiAgICAgSlNfRVhQT1JUX1BS
SVZBVEUgSlNGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKik7CiAgICAg
SlNGdW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSosIEpTU2NvcGUqKTsKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEpTRnVuY3Rpb24oVk0mLCBGdW5jdGlv
bkV4ZWN1dGFibGUqLCBKU1Njb3BlKiwgU3RydWN0dXJlKik7CisjZW5kaWYKIAogICAgIHZvaWQg
ZmluaXNoQ3JlYXRpb24oVk0mLCBOYXRpdmVFeGVjdXRhYmxlKiwgaW50IGxlbmd0aCwgY29uc3Qg
U3RyaW5nJiBuYW1lKTsKICAgICB1c2luZyBCYXNlOjpmaW5pc2hDcmVhdGlvbjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oCmluZGV4IGY2
YzZkNThlYzZlNWMxMTY0Y2IyN2ZhNWU0MTYxOGI0YjgxNDJmMDIuLjM4NTA2Y2MxOTlhMDA4ZmY4
Zjk2YWRmNjg5YmUzNjA5ODc1ZGVhNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaApAQCAtNDUsNiArNDUsMTUgQEAgaW5saW5lIEpT
RnVuY3Rpb246OkpTRnVuY3Rpb24oVk0mIHZtLCBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFi
bGUsIEpTU2NvcGUqIHMKIHsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCitpbmxpbmUgSlNGdW5jdGlvbjo6SlNGdW5jdGlvbihWTSYgdm0sIEZ1bmN0aW9uRXhlY3V0
YWJsZSogZXhlY3V0YWJsZSwgSlNTY29wZSogc2NvcGUsIFN0cnVjdHVyZSogc3RydWN0dXJlKQor
ICAgIDogQmFzZSh2bSwgc2NvcGUsIHN0cnVjdHVyZSkKKyAgICAsIG1fZXhlY3V0YWJsZSh2bSwg
dGhpcywgZXhlY3V0YWJsZSkKKyAgICAsIG1fcmFyZURhdGEoKQoreworfQorI2VuZGlmCisgICAg
CiBpbmxpbmUgRnVuY3Rpb25FeGVjdXRhYmxlKiBKU0Z1bmN0aW9uOjpqc0V4ZWN1dGFibGUoKSBj
b25zdAogewogICAgIEFTU0VSVCghaXNIb3N0RnVuY3Rpb25Ob25JbmxpbmUoKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggOWY4
NmU3MzFlOWQ5YzhjODBlZDY2NzY0NzE0OWRlMDViN2UzOGEyNS4uZDczYzAxOWI2MmU4NjExZjhm
ZDUzMDQ1OTUwOTkxMjY0ZWM4MzkzNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtNTgsNiArNTgsNyBAQAogI2luY2x1ZGUgIkpT
QXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXJQcm90b3R5
cGUuaCIKICNpbmNsdWRlICJKU0FycmF5SXRlcmF0b3IuaCIKKyNpbmNsdWRlICJKU0Fycm93RnVu
Y3Rpb24uaCIKICNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxp
bmVzLmgiCiAjaW5jbHVkZSAiSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgiCkBAIC0yMzQsNiArMjM1
LDkgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChWTSYgdm0pCiAgICAgZXhlYy0+c2V0Q2Fs
bGVlKG1fZ2xvYmFsQ2FsbGVlLmdldCgpKTsKIAogICAgIG1fZnVuY3Rpb25TdHJ1Y3R1cmUuc2V0
KHZtLCB0aGlzLCBKU0Z1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rp
b25Qcm90b3R5cGUuZ2V0KCkpKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgIG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpTQXJyb3dGdW5j
dGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgp
KSk7CisjZW5kaWYKICAgICBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBK
U0JvdW5kRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3Rv
dHlwZS5nZXQoKSkpOwogICAgIG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMs
IFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uKHZtLCBtX2Z1bmN0aW9uU3RydWN0dXJl
LmdldCgpLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBE
b250RW51bSwgbV9mdW5jdGlvbk5hbWVPZmZzZXQpKTsKICAgICBtX2ludGVybmFsRnVuY3Rpb25T
dHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBJbnRlcm5hbEZ1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUo
dm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKQEAgLTc2Myw2ICs3NjcsOSBA
QCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZp
c2l0b3ImIHZpc2l0b3IpCiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fY2FsbGVl
U3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9mdW5jdGlvblN0
cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYm91bmRGdW5jdGlv
blN0cnVjdHVyZSk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2
aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKTsKKyNl
bmRpZgogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX25hbWVkRnVuY3Rpb25TdHJ1
Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX3N5bWJvbE9iamVjdFN0
cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fcmVnRXhwU3RydWN0
dXJlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
T2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5o
CmluZGV4IDdhY2MxZGQ5MzI3ZGNlMWRiM2M4MDA3MDExYzg0ZTc3Mzc2YWY1YTIuLmYxYTY1MDk3
YWI5OGY3YzAyZmU3ODdiMmRiYmE0MDUyYjY1MzIxNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtMjI5LDYgKzIyOSw5IEBAIHByb3Rl
Y3RlZDoKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2NhbGxlZVN0cnVjdHVyZTsKICAg
ICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2Z1bmN0aW9uU3RydWN0dXJlOwogICAgIFdyaXRl
QmFycmllcjxTdHJ1Y3R1cmU+IG1fYm91bmRGdW5jdGlvblN0cnVjdHVyZTsKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1f
YXJyb3dGdW5jdGlvblN0cnVjdHVyZTsKKyNlbmRpZgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1
cmU+IG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZTsKICAgICBQcm9wZXJ0eU9mZnNldCBtX2Z1bmN0
aW9uTmFtZU9mZnNldDsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3ByaXZhdGVOYW1l
U3RydWN0dXJlOwpAQCAtNDY3LDYgKzQ3MCw5IEBAIHB1YmxpYzoKICAgICBTdHJ1Y3R1cmUqIGNh
bGxlZVN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbGVlU3RydWN0dXJlLmdldCgpOyB9
CiAgICAgU3RydWN0dXJlKiBmdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fZnVu
Y3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUqIGJvdW5kRnVuY3Rpb25TdHJ1
Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0K
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFN0cnVjdHVyZSogYXJy
b3dGdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXJyb3dGdW5jdGlvblN0cnVj
dHVyZS5nZXQoKTsgfQorI2VuZGlmCiAgICAgU3RydWN0dXJlKiBuYW1lZEZ1bmN0aW9uU3RydWN0
dXJlKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CiAg
ICAgUHJvcGVydHlPZmZzZXQgZnVuY3Rpb25OYW1lT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9m
dW5jdGlvbk5hbWVPZmZzZXQ7IH0KICAgICBTdHJ1Y3R1cmUqIG51bWJlck9iamVjdFN0cnVjdHVy
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbnVtYmVyT2JqZWN0U3RydWN0dXJlLmdldCgpOyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
YXNwYXJhbXRlci0xLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJv
d2Z1bmN0aW9uLWFzcGFyYW10ZXItMS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MzYxYjhkYjAyMjgyNzk2ZDFi
YjA0ZjVkYmQ0MDE5YjcyODlmMmNjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzcGFyYW10ZXItMS5qcwpAQCAtMCww
ICsxLDggQEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1
bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4
cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQg
KyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordGVzdENhc2UoIiIg
KyBbMSwgMiwgMywgNF0ubWFwKHggPT4geCwgMzIpLCAiMSwyLDMsNCIsICJFcnJvcjogYXJyb3cg
ZnVuY3Rpb24gYXMgdGhlIHBhcmFtdGVycy4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3BhcmFtdGVyLTIuanMgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci0y
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjNmMjkzMmZjMTQ0ZDM2YzcwZjA2MWY4ZTY4ODg4M2U0NGFmY2ZkMTkK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tYXNwYXJhbXRlci0yLmpzCkBAIC0wLDAgKzEsMTUgQEAKKy8vIEluc3BpcmVk
IGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVj
dGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cg
bWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFj
dHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGYgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVyKSB7
IHJldHVybiBjbChwYXJhbXRlcik7IH07Cit2YXIgZjIgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVy
MSwgcGFyYW10ZXIyKSB7IHJldHVybiBjbChwYXJhbXRlcjEsIHBhcmFtdGVyMik7IH07CisKK3Jl
c3VsdCA9IGYoeD0+e3JldHVybiB4ICogMjU7fSwgMTIxKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjUq
MTIxICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24g
d2l0aCBib2R5IGFzIGJsb2NrOiBmKHggPT4ge3JldHVybiB4ICogMjU7fSwgMTIxKSIpOworCity
ZXN1bHQgPSBmMigoeCwgeSk9PntyZXR1cm4geCAqIHk7fSwgMTQsIDEyKTsKK3Rlc3RDYXNlKHJl
c3VsdCwgMTQqMTIgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6IGYoKHgsIHkpPT57cmV0dXJuIHggKiB5O30sIDE0
LCAxMjEpKSIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHktMS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTEuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZmQxZDQ3YTQ4MDc1ZWM1OThjNmJlMWUwN2Q3OGEzNTI2MzUzYTkxMgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1h
c3NvY2lhdGl2aXR5LTEuanMKQEAgLTAsMCArMSwxMyBAQAorLy8gSW5zcGlyZWQgYnkgbW96aWxs
YSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3Nh
Z2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsg
Ii4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIici
OworICB9Cit9OworCit2YXIgYWYxLCBhZjIsIGFmMzsKK2FmMSA9IGFmMiA9IGFmMyA9PiBhZjEg
PSBhZjIgPSBhZjM7Cit0ZXN0Q2FzZShhZjEsIGFmMiwgIkVycm9yOiB3cm9uZyBhc3NvY2lhdGl2
aXR5ICMxLiIpOworYWYxKDEzKTsKK3Rlc3RDYXNlKGFmMiwgMTMsICJFcnJvcjogd3JvbmcgYXNz
b2NpYXRpdml0eSAjMi4iKTsKK3Rlc3RDYXNlKGFmMSwgMTMsICJFcnJvcjogd3JvbmcgYXNzb2Np
YXRpdml0eSAjMy4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTIuanMgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0yLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjJlZGQ4MzljNmJjN2VkNmE0MGVmZmJiYzg3NTRlZDFiZmQ4MDZiNDMKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tYXNzb2NpYXRpdml0eS0yLmpzCkBAIC0wLDAgKzEsMTQgQEAKKy8vIEluc3BpcmVkIGJ5IG1v
emlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBt
ZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2Fn
ZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCAr
ICInIjsKKyAgfQorfTsKKwordmFyIHM9IiI7CitzICs9IHggPT4geC5uYW1lOworCisvLyBGaXgg
bWUuIFBvc3NpYmxlIHdlIGhhdmUgbm90IHVzZSB0aGUgSlNCb3VudEZ1bmN0aW9uIHdyYXBwZXIg
Zm9yIHRoZSBsZXhpY2FsCisvLyBiaW5kaW5nIG9mIHRoZSB0aGlzIGFuZCB1c2UgZGlyZWN0IGlu
amVjdGlvbiBvZiB0aGUgJ3RoaXMnIHZhbHVlCisvLyBpbnRvIGFycnJvdyBmdW5jdGlvbgorLy8g
dGVzdENhc2UocywgInggPT4geC5uYW1lIiAsICJFcnJvcjogd3JvbmcgdG9TdHJpbmcgY29udmVy
c2lvbi4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rl
c3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHkuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjdl
ZDE1M2NlZWJhNTI2MjI4ZWNhODIxMzA0NjlhOTI0NGIxNGMwNQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lh
dGl2aXR5LmpzCkBAIC0wLDAgKzEsMTAgQEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMK
K3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7Cisg
IGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVj
dGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQor
fTsKKwordmFyIGFmID0gYSA9PiBiID0+IGE7CisKK3Rlc3RDYXNlKGFmKCdBQkMnKSgnREVGJyks
ICdBQkMnLCAiRXJyb3I6IHdyb25nIG5lc3RlZCBhcnJvdyBmdW5jdGlvbnMuIik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxv
Y2stMS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1ibG9jay0xLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBjNTcxYmI3MmZjZmVmNTMwYzU5ZGI0Yjg2MGNhNGYw
YTk2YTQxMTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2stMS5qcwpAQCAtMCwwICsxLDExIEBACisvLyBJbnNw
aXJlZCBieSBtb3ppbGxhIHRlc3RzCit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBl
eHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRo
cm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIg
KyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBmID0gKCkgPT4ge307Cit0ZXN0Q2FzZSh0
eXBlb2YgZigpLCAndW5kZWZpbmVkJywgIkVycm9yOiB3cm9uZyBhcnJvdyBmdW5jdGlvbiBibG9j
ay4iKTsKK3ZhciBnID0gKCkgPT4gKHt9KTsKK3Rlc3RDYXNlKHR5cGVvZiBnKCksICdvYmplY3Qn
LCAiRXJyb3I6IHdyb25nIGFycm93IGZ1bmN0aW9uIGJsb2NrLiIpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJsb2NrLTIuanMg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2st
Mi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40N2VlMzUyY2YwMWQxMzZlMzAyOTIyNzM2YzVjODBlZjUzYzAzZjZl
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9h
cnJvd2Z1bmN0aW9uLWJsb2NrLTIuanMKQEAgLTAsMCArMSwxMCBAQAorLy8gSW5zcGlyZWQgYnkg
bW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQs
IG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNz
YWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFs
ICsgIiciOworICB9Cit9OworCit2YXIgYWYgPSBhID0+IHsgYSArIDE7IH07CisKK3Rlc3RDYXNl
KHR5cGVvZiBhZigwKSwgJ3VuZGVmaW5lZCcsICJFcnJvcjogd3JvbmcgYXJyb3cgZnVuY3Rpb24g
YmxvY2sgIzIuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tYm91bmQuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tYm91bmQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTczMjBmNGVjNzg4ZWEx
NDkwYWZjNzJlYzEyNTFlZTBhNmUxZjdiNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ib3VuZC5qcwpAQCAtMCwwICsx
LDE2IEBACit2YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwg
ZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0
aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICci
ICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgZCA9IHsKKyAgeCA6ICJiYXIiLAorICB5
IDogZnVuY3Rpb24oKSB7IHJldHVybiB6ID0+IHRoaXMueCArIHo7IH0KK307CisKK3ZhciBlID0g
eyB4IDogImJheiIgfTsKKwordGVzdENhc2UoZC55KCkuYmluZChlLCAibGV5IikoKSwgImJhcmxl
eSIsICJFcnJvcjogZnVuY3Rpb24gYmluZCBzaG91bGRuJ3QgY2hhbmdlIGxleGljYWwgYmluZGlu
ZyBvZiB0aGUgYXJyb3cgZnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1jYWxsLmpzIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNhbGwuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjRm
OWFhNTA0ZDcwZDcwZDY4Y2RhYTVhNDgyYTQ2NTBhNDVmZGY3YwotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1jYWxsLmpz
CkBAIC0wLDAgKzEsMTggQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5jdGlv
biAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3Rl
ZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIics
IGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBkID0geworICB4IDog
ImZvbyIsCisgIHkgOiBmdW5jdGlvbigpIHsgcmV0dXJuICgpID0+IHRoaXMueDsgfQorfTsKKwor
dmFyIGUgPSB7IHggOiAiYmFyIiB9OworCit0ZXN0Q2FzZShkLnkoKS5jYWxsKGUpLCAiZm9vIiwg
IkVycm9yOiBmdW5jdGlvbiBjYWxsIHNob3Vsbid0IGNoYW5nZSB0aGUgbGV4aWNhbCBiaW5kaW5n
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShkLnkoKS5hcHBseShlKSwgImZv
byIsICJFcnJvcjogZnVuY3Rpb24gYXBwbHkgc2hvdWxuJ3QgY2hhbmdlIHRoZSBsZXhpY2FsIGJp
bmRpbmcgb2YgdGhlIGFycm93IGZ1bmN0aW9uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY29uc3RydWN0b3IuanMgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY29uc3RydWN0b3Iu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYjU4YjE2ZDdiNWUyOTc0NGMzM2Y3ODZiNGJmMTZiZjQ0ZmViMWUyOAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJy
b3dmdW5jdGlvbi1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDE4IEBACit2YXIgdGVzdENhc2Ug
PSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9
PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVj
dGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBzaW1w
bGVBcnJvd0Z1bmN0aW9uID0gKCkgPT4ge307CisKK3ZhciBlcnJvck9uQ3JlYXRlID0gZmFsc2U7
CisKK3RyeSB7CisgIHZhciBmYyA9IG5ldyBzaW1wbGVBcnJvd0Z1bmN0aW9uKCk7Cit9CitjYXRj
aCAoZSkgeworICBlcnJvck9uQ3JlYXRlID0gdHJ1ZTsKK30KKwordGVzdENhc2UoZXJyb3JPbkNy
ZWF0ZSwgdHJ1ZSwgIkVycm9yOiBObyBleGNlcHRpb24gZHVyaW5nIHJ1biBuZXcgQXJyb3dGdW5j
dGlvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9h
cnJvd2Z1bmN0aW9uLWxleGljYWwtYXJndW1lbnRzLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtYXJndW1lbnRzLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjFlYjY3NjNhNjUyNjk4MTY1YzBmZGIyZDhiYzIwNzNkMmJjZDNiMWYKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
bGV4aWNhbC1hcmd1bWVudHMuanMKQEAgLTAsMCArMSwxNCBAQAordmFyIHRlc3RDYXNlID0gZnVu
Y3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhw
ZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCAr
ICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCitmdW5jdGlvbiBhZkNy
ZWF0b3IoKSB7CisgICAgcmV0dXJuIGEgPT4gYXJndW1lbnRzWzBdOworfQorCit2YXIgYWYgPSBh
ZkNyZWF0b3IoMTIpOworCisvL0ZpeG1lOiBsZXhpY2FsIGJpbmQgb2YgdGhlIGFyZ3VtZW50cyBp
cyBub3QgaW1wbGVtZW50ZWQKKy8vdGVzdENhc2UoYWYoNiksIDEyLCAiRXJyb3I6IGFyZ3VtZW50
cyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uIik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tbGV4aWNhbC10aGlzLTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjU1MzFmNTc1
NjJmMjg2OGVlYWQzOWZjZDY2ZWU1MDc4YmFjZWQxYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMt
MS5qcwpAQCAtMCwwICsxLDE3IEBACit2YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVu
Y3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhw
ZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCAr
ICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCitmdW5jdGlvbiBEb2co
bmFtZSkgeworICB0aGlzLm5hbWUgPSBuYW1lOworICB0aGlzLmdldE5hbWUgPSAoKSA9PiBldmFs
KCJ0aGlzLm5hbWUiKTsKKyAgdGhpcy5nZXROYW1lSGFyZCA9ICgpID0+IGV2YWwoIigoKSA9PiB0
aGlzLm5hbWUpKCkiKTsKK30KKwordmFyIGQgPSBuZXcgRG9nKCJNYXgiKTsKK3Rlc3RDYXNlKGQu
Z2V0TmFtZSgpLCBkLm5hbWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBp
bnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMxIik7Cit0ZXN0Q2FzZShkLmdldE5hbWVIYXJk
KCksIGQubmFtZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzIiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMtMi5qcyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMt
Mi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45OGI1M2IyOThiYmIwYjUzZTQwNzFjOTk3ZDgxMjM1MTFhZjYzOWQ5
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9h
cnJvd2Z1bmN0aW9uLWxleGljYWwtdGhpcy0yLmpzCkBAIC0wLDAgKzEsMzMgQEAKK3ZhciByZXN1
bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2Fn
ZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAi
LiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7
CisgIH0KK307CisKK3ZhciBhZk9iakxleEJpbmQyID0gZnVuY3Rpb24gKCkgeworICB0aGlzLmZ1
bmMgPSAoKSA9PiB0aGlzOworfTsKKwordmFyIGFmT2JqTGV4QmluZDJJbnN0YW5jZSA9IG5ldyBh
Zk9iakxleEJpbmQyKCk7CisKK3Rlc3RDYXNlKGFmT2JqTGV4QmluZDJJbnN0YW5jZS5mdW5jKCkg
PT09IGFmT2JqTGV4QmluZDJJbnN0YW5jZSwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhp
Y2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzIiKTsKKwordmFyIG9i
aiA9IHsKKyAgbWV0aG9kOiBmdW5jdGlvbiAoKSB7CisgICAgcmV0dXJuICgpID0+IHRoaXM7Cisg
IH0KK307CisKK3Rlc3RDYXNlKG9iai5tZXRob2QoKSgpID09PSBvYmosIHRydWUsICJFcnJvcjog
dGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9u
ICMzIik7CisKK3ZhciBmYWtlID0ge3N0ZWFsOiBvYmoubWV0aG9kKCl9OwordGVzdENhc2UoZmFr
ZS5zdGVhbCgpID09PSBvYmosIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJp
bmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM0Iik7CisKKwordmFyIHJlYWwgPSB7
Ym9ycm93OiBvYmoubWV0aG9kfTsKK3Rlc3RDYXNlKHJlYWwuYm9ycm93KCkoKSA9PT0gcmVhbCwg
dHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gIzUiKTsKK3Rlc3RDYXNlKHJlYWwuYm9ycm93KCkoKSA9PT0gcmVhbCwg
dHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gIzYiKTsKK3Rlc3RDYXNlKHJlYWwuYm9ycm93KCkoKSA9PT0gcmVhbCwg
dHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gIzciKTsKK3Rlc3RDYXNlKHJlYWwuYm9ycm93KCkoKSA9PT0gcmVhbCwg
dHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gIzgiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1vdGhlcnMuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tb3RoZXJzLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlYmEx
MWYzMDIyZTM0YTgwMDBhNTcwMDc2ZGIxYTU1YTRhMzJiMjEKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tb3RoZXJzLmpz
CkBAIC0wLDAgKzEsMTMgQEAKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVj
dGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cg
bWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFj
dHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIHNpbXBsZUFycm93RnVuY3Rpb24gPSAoKSA9PiB7
fTsKKwordGVzdENhc2UoT2JqZWN0LmdldFByb3RvdHlwZU9mKHNpbXBsZUFycm93RnVuY3Rpb24p
LCBGdW5jdGlvbi5wcm90b3R5cGUsICJFcnJvcjogTm90IGNvcnJlY3QgZ2V0UHJvdG90eXBlT2Yg
dmFsdWUgZm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93RnVuY3Rp
b24gaW5zdGFuY2VvZiBGdW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQg
Zm9yIGluc3RhbmNlb2YgbWV0aG9kIGZvciBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShz
aW1wbGVBcnJvd0Z1bmN0aW9uLmNvbnN0cnVjdG9yID09IEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6
IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgY29uc3RydWN0b3IgbWV0aG9kIG9mIGFycm93IGZ1bmN0
aW9uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tcnVuLTEwLTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDdhMWYwYTQ5Y2IxNjg2
M2M1OTIxMzYxZjBhZGIxZTE0ZWM5YjY1YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAtMS5qcwpAQCAtMCww
ICsxLDI0IEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVz
c2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2Ug
KyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAi
JyI7CisgIH0KK307CisKK2Z1bmN0aW9uIHJ1bihjb3VudCkgeworICB2YXIgcmVzdWx0ID0gdHJ1
ZTsKKyAgZm9yKHZhciBpPTA7IGk8Y291bnQ7IGkrKykgeworICAgIHZhciBPYmogPSBmdW5jdGlv
biAobmFtZSkgeworICAgICAgdGhpcy5uYW1lID0gbmFtZTsKKyAgICAgIHRoaXMuZ2V0TmFtZSA9
ICgpID0+IHRoaXMubmFtZTsKKyAgICB9OworCisgICAgdmFyIG9iaiA9IG5ldyBPYmooIkl0ZW0i
ICsgaSk7CisgICAgaWYgKG9iai5uYW1lICE9PSBvYmouZ2V0TmFtZSgpKSB7CisgICAgICByZXN1
bHQgPSBmYWxzZTsKKyAgICB9CisgIH0KKyAgcmV0dXJuIHJlc3VsdDsKK30KKwordGVzdENhc2Uo
cnVuKDEpLCB0cnVlLCAiRXJyb3I6IEVycm9yOiBkdXJpbmcgZXhlY3V0aW9uIG9mIGFycm93IGZ1
bmN0aW9uIG9uZSB0aW1lIik7Cit0ZXN0Q2FzZShydW4oMTApLCB0cnVlLCAiRXJyb3I6IEVycm9y
OiBkdXJpbmcgZXhlY3V0aW9uIG9mIGFycm93IGZ1bmN0aW9uIDEwIHRpbWVzIik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVu
LTEwLTIuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tcnVuLTEwLTIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWRkY2RiM2M3MGExYjI3YzNkYmI1MjM4MDk1NWY1
MzUzZDc2NzQyNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAtMi5qcwpAQCAtMCwwICsxLDI1IEBACit2YXIg
dGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAo
YWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAn
IiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisK
K2Z1bmN0aW9uIHJ1bihjb3VudCkgeworICB2YXIgcmVzdWx0ID0gdHJ1ZTsKKyAgZm9yKHZhciBp
PTA7IGk8Y291bnQ7IGkrKykgeworICAgIHZhciBPYmogPSBmdW5jdGlvbiAobmFtZSkgeworICAg
ICAgdGhpcy5uYW1lID0gbmFtZTsKKyAgICAgIHRoaXMuZ2V0TmFtZSA9ICgpID0+IGV2YWwoInRo
aXMubmFtZSIpOzsKKyAgICB9OworCisKKyAgICB2YXIgb2JqID0gbmV3IE9iaigiSXRlbSIgKyBp
KTsKKyAgICBpZiAob2JqLm5hbWUgIT09IG9iai5nZXROYW1lKCkpIHsKKyAgICAgIHJlc3VsdCA9
IGZhbHNlOworICAgIH0KKyAgfQorICByZXR1cm4gcmVzdWx0OworfQorCit0ZXN0Q2FzZShydW4o
MSksIHRydWUsICJFcnJvcjogZHVyaW5nIGV4ZWN1dGlvbiBvZiBhcnJvdyBmdW5jdGlvbiBvbmUg
dGltZSIpOwordGVzdENhc2UocnVuKDEwKSwgdHJ1ZSwgIkVycm9yOiBkdXJpbmcgZXhlY3V0aW9u
IG9mIGFycm93IGZ1bmN0aW9uIDEwIHRpbWVzIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwMDAwLTEuanMgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwMDAwLTEu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMGU1ZjZiYzg2YmQzMTQ1MWIwMWNhMjdkMGI5NzIwYjU3ZThkNjA1MQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJy
b3dmdW5jdGlvbi1ydW4tMTAwMDAtMS5qcwpAQCAtMCwwICsxLDIzIEBACit2YXIgdGVzdENhc2Ug
PSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9
PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVj
dGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK2Z1bmN0aW9u
IHJ1bihjb3VudCkgeworICB2YXIgcmVzdWx0ID0gdHJ1ZTsKKyAgZm9yKHZhciBpPTA7IGk8Y291
bnQ7IGkrKykgeworICAgIHZhciBPYmogPSBmdW5jdGlvbiAobmFtZSkgeworICAgICAgdGhpcy5u
YW1lID0gbmFtZTsKKyAgICAgIHRoaXMuZ2V0TmFtZSA9ICgpID0+IHRoaXMubmFtZTsKKyAgICB9
OworCisgICAgdmFyIG9iaiA9IG5ldyBPYmooIkl0ZW0iICsgaSk7CisgICAgaWYgKG9iai5uYW1l
ICE9PSBvYmouZ2V0TmFtZSgpKSB7CisgICAgICByZXN1bHQgPSBmYWxzZTsKKyAgICB9CisgIH0K
KyAgcmV0dXJuIHJlc3VsdDsKK30KKwordGVzdENhc2UocnVuKDEwMDAwKSwgdHJ1ZSwgIkVycm9y
OiBFcnJvcjogZHVyaW5nIGV4ZWN1dGlvbiBvZiBhcnJvdyBmdW5jdGlvbiAxMDAwMCB0aW1lcyIp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1
bmN0aW9uLXJ1bi0xMDAwMC0yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMDAwMC0yLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk1MzBmMmMxZDVhN2Y1
NWNlNDZiOGJlNjk5MDhiNGJjMjFlMDUyN2IKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwMDAwLTIuanMKQEAg
LTAsMCArMSwyMyBAQAordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQs
IG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNz
YWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFs
ICsgIiciOworICB9Cit9OworCitmdW5jdGlvbiBydW4oY291bnQpIHsKKyAgdmFyIHJlc3VsdCA9
IHRydWU7CisgIGZvcih2YXIgaT0wOyBpPGNvdW50OyBpKyspIHsKKyAgICB2YXIgT2JqID0gZnVu
Y3Rpb24gKG5hbWUpIHsKKyAgICAgIHRoaXMubmFtZSA9IG5hbWU7CisgICAgICB0aGlzLmdldE5h
bWUgPSAoKSA9PiBldmFsKCJ0aGlzLm5hbWUiKTs7CisgICAgfTsKKworICAgIHZhciBvYmogPSBu
ZXcgT2JqKCJJdGVtIiArIGkpOworICAgIGlmIChvYmoubmFtZSAhPT0gb2JqLmdldE5hbWUoKSkg
eworICAgICAgcmVzdWx0ID0gZmFsc2U7CisgICAgfQorICB9CisgIHJldHVybiByZXN1bHQ7Cit9
CisKK3Rlc3RDYXNlKHJ1bigxMDAwMCksIHRydWUsICJFcnJvcjogRXJyb3I6IGR1cmluZyBleGVj
dXRpb24gb2YgYXJyb3cgZnVuY3Rpb24gMTAwMDAgdGltZXMiKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1zeW50YXguanMgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tc3ludGF4Lmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjhmZTExZDViZWUwZGJkNTU2NDhhYzQzZGZmY2U0ZTRlMmU5MGUyODgKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93
ZnVuY3Rpb24tc3ludGF4LmpzCkBAIC0wLDAgKzEsMTE2IEBACit2YXIgcmVzdWx0OworCisgdmFy
IHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYg
KGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQg
JyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9Owor
Cit2YXIgYWYwID0gdiA9PiB2ICsgMTsKK3Rlc3RDYXNlKGFmMCgxMCksIDExICwiRXJyb3I6IE5v
dCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246IHYgPT4gdiArIDEiKTsK
KwordmFyIGFmMSA9ICh2KSA9PiB2ICogMjsKK3Rlc3RDYXNlKGFmMSgxMCksIDIwICwiRXJyb3I6
IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICh2KSA9PiB2ICsg
MSIpOworCit2YXIgYWYyID0gKCkgPT4gMTAwMDsKK3Rlc3RDYXNlKGFmMigxMjEyKSwgMTAwMCAs
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAoKSA9
PiAxMDAwIik7CisKK3ZhciBhID0gMTUxOwordmFyIGFmMl8xID0gKCkgPT4gYTsKK3Rlc3RDYXNl
KGFmMl8xKDEyMSksIGEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbjogKCkgPT4gdmFyaWFibGUiKTsKKwordmFyIGFmMyA9ICh2LCB4KSA9PiB2ICsg
eDsKK3Rlc3RDYXNlKGFmMygxMSwxMiksIDIzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICh4LCB5KSA9PiB4ICsgeSIpOworCit2YXIgYWZ3cmFw
cGVyID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRlcikgeyByZXR1cm4gY2wocGFyYW10ZXIpOyB9Owor
CityZXN1bHQgPSBhZndyYXBwZXIoeCA9PiAxMjM0KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIzNCAs
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBh
cmFtdGVyOiBmKHggPT4gYykiKTsKKworcmVzdWx0ID0gYWZ3cmFwcGVyKHggPT4gMTIzNCwgMjM0
NSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMzQgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMsIHkpIik7CisKK3Jl
c3VsdCA9IGFmd3JhcHBlcih4ID0+IDEyMSArIDIzMik7Cit0ZXN0Q2FzZShyZXN1bHQsIDM1MyAs
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBh
cmFtdGVyOiBmKHggPT4gYzEgKyBjMikiKTsKKworcmVzdWx0ID0gYWZ3cmFwcGVyKHggPT4gMTIz
ICsgMzIxLCA5OTk5KTsKK3Rlc3RDYXNlKHJlc3VsdCwgNDQ0ICwiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjMSAr
IGMyLCB5KSIpOworCityZXN1bHQgPSBhZndyYXBwZXIoeCA9PiB4ICsgMTIsIDIxKTsKK3Rlc3RD
YXNlKHJlc3VsdCwgMzMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IHggKyBjMSwgeSkiKTsKKworcmVzdWx0ID0g
YWZ3cmFwcGVyKCh4KSA9PiB4ICsgMjEsIDMyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgNTMsICJFcnJv
cjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRl
cjogZigoeCkgPT4gYzEgKyBjMiwgeSkiKTsKKworcmVzdWx0ID0gYWZ3cmFwcGVyKCgpID0+IDEw
MCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMCwgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24g
b2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMpIik7CisKK3ZhciBl
eHRfdmFsdWUgPSAxMjE7CityZXN1bHQgPSBhZndyYXBwZXIoKCkgPT4gZXh0X3ZhbHVlKTsKK3Rl
c3RDYXNlKHJlc3VsdCwgMTIxLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gdikiKTsKKworcmVzdWx0ID0gYWZ3
cmFwcGVyKCgpID0+IGV4dF92YWx1ZSAqIDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIxMCAsIkVy
cm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFt
dGVyOiBmKCgpID0+IHYqeCkiKTsKKworcmVzdWx0ID0gYWZ3cmFwcGVyKCh4KSA9PiBleHRfdmFs
dWUgKiB4LCAzMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDMwKmV4dF92YWx1ZSAsIkVycm9yOiBOb3Qg
Y29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCh4
KSA9PiB2KngsIHkpIik7CisKK3Jlc3VsdCA9IGFmd3JhcHBlcigoKSA9PiAxMDAsIDExKTsKK3Rl
c3RDYXNlKHJlc3VsdCwgMTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYzEsIHkpIik7CisKKyByZXN1bHQg
PSBhZndyYXBwZXIoKCkgPT4gMTAwICsgMTApOwordGVzdENhc2UocmVzdWx0LCAxMTAgLCJFcnJv
cjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRl
cjogZigoKSA9PiBjMSArIGMyKSIpOworCityZXN1bHQgPSBhZndyYXBwZXIoKCkgPT4gMTAwICsg
MTEsIDEyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1
dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYzEgKyBjMiwg
eSkiKTsKKwordmFyIGFycm93RnVuY3Rpb240ID0gdiA9PiB2ICsgMSwgeHl6MSA9IDEwMTAxOwor
cmVzdWx0ID0gYXJyb3dGdW5jdGlvbjQoMTAxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMTIgLCJF
cnJvcjogTm90IGNvcnJlY3QgcGFyc2luZyBvZiB0aCBhcnJvdyBmdW5jdGlvbiBpbnNpZGUgb2Yg
dGhlIGxpc3Qgb2YgdmFyczogdmFyIGFmID0gdj0+IHYgKyAxOyB6eGM9YzsiKTsKK3Rlc3RDYXNl
KHh5ejEsIDEwMTAxICwiRXJyb3I6IE5vdCBjb3JyZWN0IHBhcnNpbmcgb2YgdGggYXJyb3cgZnVu
Y3Rpb24gaW5zaWRlIG9mIHRoZSBsaXN0IG9mIHZhcnM6IHZhciBhZiA9IHY9PiB2ICsgMTsgenhj
PWM7Iik7CisKK3ZhciBhZndyYXBwZXIyID0gZnVuY3Rpb24gKGNsLCBwYXJhbXRlcjEsIHBhcmFt
dGVyMikgeyByZXR1cm4gY2wocGFyYW10ZXIxLCBwYXJhbXRlcjIpOyB9OworcmVzdWx0ID0gYWZ3
cmFwcGVyMigoeCwgeSkgPT4geCArIHksIDEyICw0Myk7Cit0ZXN0Q2FzZShyZXN1bHQsIDU1ICwi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFy
YW1ldGVyOiBmKCh4LCB5KSA9PiB4ICsgeSwgYzEsIGMyKSIpOworCit2YXIgYWZBcnIwID0gW3Yg
PT4gdiAqIDEwXTsKK3Jlc3VsdCA9IGFmQXJyMFswXSgxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEw
MCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFz
IGl0ZW0gaW4gYXJyYXk6IFt2PT52KjEwXSIpOworCit2YXIgYWZBcnIxID0gW3YgPT4gdiArIDEs
IHYgPT4gdiArIDJdOworcmVzdWx0ID0gYWZBcnIxWzBdKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwg
MTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBh
cyBpdGVtIGluIGFycmF5OiBbdiA9PiB2ICsgMSwgIHYgPT4gdiArIDJdIik7CityZXN1bHQgPSBh
ZkFycjFbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMyAsIkVycm9yOiBOb3QgY29ycmVjdCBl
eGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFt2ID0+IHYg
KyAxLCAgdiA9PiB2ICsgMl0iKTsKKwordmFyIGFmQXJyMiA9IFsodikgPT4gdiArIDEsICh2KSA9
PiB2ICsgMl07CityZXN1bHQgPSBhZkFycjJbMF0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMiAs
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0
ZW0gaW4gYXJyYXk6IFsodikgPT4gdiArIDEsICAodikgPT4gdiArIDJdIik7CityZXN1bHQgPSBh
ZkFycjJbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMyAsIkVycm9yOiBOb3QgY29ycmVjdCBl
eGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsodikgPT4g
diArIDEsICAodikgPT4gdiArIDJdIik7CisKK3ZhciBhZkFycjMgPSBbKCkgPT4gMTAxLCAoKSA9
PiAxMjMyM107CityZXN1bHQgPSBhZkFycjNbMF0oMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDEs
ICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBp
dGVtIGluIGFycmF5OiBbKCkgPT4gYzEsICAoKSA9PiBjMl0iKTsKK3Jlc3VsdCA9IGFmQXJyM1sx
XSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMzIzLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1
dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogWygpID0+IGMxLCAg
KCkgPT4gYzJdIik7CisKK3ZhciBhZk9iaiA9IHtmdW5jIDogeSA9PiB5ICsgMTJ9OworcmVzdWx0
ID0gYWZPYmouZnVuYygxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIzICwgIkVycm9yOiBOb3QgY29y
cmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHByb3BlcnR5OiB7ZnVuYyA6
IHkgPT4geSArIDEyIH0iKTsKKwordmFyIGFmQmxvY2swID0gKCkgPT4geyByZXR1cm4gMTAwMDsg
fTsKK3Jlc3VsdCA9IGFmQmxvY2swKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwMCAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBh
cyBibG9jazogKCkgPT4geyByZXR1cm4gMTAwMDsgfSIpOworCit2YXIgYWZCbG9jazEgPSB2ID0+
IHsgdmFyIGludHZhbCA9IDEwMDsgcmV0dXJuIHYgKiBpbnR2YWw7IH07CityZXN1bHQgPSBhZkJs
b2NrMSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDExMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhl
Y3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6IHggPT4geyB2
YXIgdj0xMDAwOyByZXR1cm4gdip4OyB9Iik7CisKK3ZhciBhZkJsb2NrMiA9ICh2KSA9PiB7IHZh
ciBpbnQgPSAyMDA7IHJldHVybiB2ICogaW50OyB9OworcmVzdWx0ID0gYWZCbG9jazIoMTEpOwor
dGVzdENhc2UocmVzdWx0LCAyMjAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0
aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiAoeCkgPT4geyB2YXIgdj0xMDAw
OyByZXR1cm4gdip4OyB9Iik7CisKK3ZhciBhZkJsb2NrMyA9ICh2LCB4KSA9PiB7IHZhciByZXN1
bHQgPSB4ICogdjsgcmV0dXJuIHJlc3VsdDsgfTsKK3Jlc3VsdCA9IGFmQmxvY2szKDExLCAxMjIy
Mik7Cit0ZXN0Q2FzZShyZXN1bHQsIDEzNDQ0MiAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogKHYsIHgpID0+IHsg
dmFyIHJlc3VsdCA9IHggKiB2OyByZXR1cm4gcmVzdWx0OyB9Iik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tdGR6LmpzIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXRkei5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5lOWQzNWNkZWE0YmFmNjY3NDMxYWY4YWJlOGRhZGYyMmQwNGI5MGUxCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0
aW9uLXRkei5qcwpAQCAtMCwwICsxLDI0IEBACit2YXIgQSA9IGNsYXNzIEEgeyB9OwordmFyIEIg
PSBjbGFzcyBCIGV4dGVuZHMgQSB7CisgIGNvbnN0cnVjdG9yKGFjY2Vzc1RoaXNCZWZvcmVTdXBl
cikgeworICAgIGlmIChhY2Nlc3NUaGlzQmVmb3JlU3VwZXIpIHsKKyAgICAgIHZhciBmID0gKCkg
PT4gdGhpczsKKyAgICAgIHN1cGVyKCk7CisgICAgfSBlbHNlIHsKKyAgICAgIHN1cGVyKCk7Cisg
ICAgfQorICB9Cit9OworCit2YXIgZXhjZXB0aW9uID0gbnVsbDsKK3RyeSB7CisgICAgIG5ldyBC
KHRydWUpOworfSBjYXRjaCAoZSkgeworICAgIGV4Y2VwdGlvbiA9IGU7CisgICAgaWYgKCEoZSBp
bnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSkKKyAgICAgICAgdGhyb3cgIkV4Y2VwdGlvbiB0aHJv
d24gd2FzIG5vdCBhIHJlZmVyZW5jZSBlcnJvciI7Cit9CitpZiAoIWV4Y2VwdGlvbikKKyAgICB0
aHJvdyAiRXhjZXB0aW9uIG5vdCB0aHJvd24gZm9yIGFuIHVuaXRpYWxpemVkIHRoaXMgYXQgaXRl
cmF0aW9uIjsKKwordmFyIGUgPSBuZXcgQihmYWxzZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tdHlwZW9mLmpzIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXR5cGVvZi5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5lZjJhN2Y1NDQ3NmFiYTljMjg5MjNjMzVmMWRiM2M0MzI3YWM5NDY5Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0
aW9uLXR5cGVvZi5qcwpAQCAtMCwwICsxLDIxIEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAo
YWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkg
eworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1
dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBhZjEgPSAoKSA9PiB7fTsK
K3ZhciBhZjIgPSAoYSkgPT4ge2EgKyAxfTsKKwordGVzdENhc2UodHlwZW9mIGFmMSwgImZ1bmN0
aW9uIiwgIkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMSIp
OwordGVzdENhc2UodHlwZW9mIGFmMS5wcm90b3R5cGUgPT09ICd1bmRlZmluZWQnLCB0cnVlLCAi
RXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9u
ICMxIik7CisKK3Rlc3RDYXNlKHR5cGVvZiBhZjIsICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNv
cnJlY3QgdHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzIiKTsKK3Rlc3RDYXNlKHR5cGVvZiBh
ZjIucHJvdG90eXBlID09PSAndW5kZWZpbmVkJywgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCBy
ZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiAjMiIpOworCit0ZXN0Q2FzZSh0
eXBlb2YgKCgpPT57fSksICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNvcnJlY3QgdHlwZSBvZiB0
aGUgYXJyb3cgZnVuY3Rpb24gIzMiKTsKK3Rlc3RDYXNlKHR5cGVvZiAoKCk9Pnt9KS5wcm90b3R5
cGUgPT09ICd1bmRlZmluZWQnLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3Ig
cHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9uICMzIik7CisKKwordGVzdENhc2UodHlwZW9mICgo
YikgPT4ge2IgKyAxfSksICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNvcnJlY3QgdHlwZSBvZiB0
aGUgYXJyb3cgZnVuY3Rpb24gIzQiKTsKK3Rlc3RDYXNlKHR5cGVvZiAoKGIpID0+IHtiICsgMX0p
LnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVz
dWx0IGZvciBwcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24gIzQiKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291
cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXgg
ZmM5MGY2MTE1NjIzMWE0MWNhOTEzN2YxN2M3OTU1ZThkMzczYjBlYS4uMGM4ODQwZjZhYjUxODVm
ODM1NGI3MDYwM2UwMjVmMjVhMmE3OWY0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNvcmUv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ0LDYgKzQ0LDcgQEAg
RU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORyA9IEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkc7CiBF
TkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BS
T1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dG
VU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IEVOQUJMRV9FUzZfQ0xB
U1NfU1lOVEFYOwogRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCA9IEVOQUJMRV9F
UzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CkBAIC0yMTUsNCArMjE2LDQgQEAgRU5BQkxFX0pJVCA9
IEVOQUJMRV9KSVQ7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFC
TEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVO
QUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5B
QkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05T
KSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklO
RykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VT
Nl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQo
RU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJM
RV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChF
TkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQo
RU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkg
JChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RF
WFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RP
TV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RB
VEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RF
VEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000
X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9F
TkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9O
VF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQp
ICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5B
QkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJB
U0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Up
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9Q
T1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFC
TEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNT
KSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElB
X0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFC
TEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykg
JChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVf
UFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZG
SVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1F
KSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RP
UikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJ
TkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykg
JChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NW
R19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9O
VU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9M
T0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9B
TEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNV
RV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQo
RU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tF
VFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxF
X1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChF
TkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FS
SVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVG
SU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NB
TlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9B
VkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVf
UEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZ
KSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfVEVNUExBVEVf
TElURVJBTF9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1Bf
TkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9E
RUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19E
RVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJM
RV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NT
U19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJF
QUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hB
TkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVN
RU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1F
TlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09O
U1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVO
VFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9H
QU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5f
UEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJM
RV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBM
RVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9X
RUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxF
X0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVf
TElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19T
Q1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykg
JChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NV
UlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05B
VklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
REZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAk
KEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQo
RU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVf
UkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxF
X1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJM
RV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NU
UkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQo
RU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVD
VElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChF
TkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQo
RU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJf
QVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJM
RV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVH
SU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9K
SVQpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAk
KEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYWNkYzk5OGMwNmE5NDA4OGRj
NDIwYmZkMjE3Y2U2N2QxY2E5NDVlNi4uMTcxZTYzNzMyMjU0NGRmZmFhN2YwNThjNTRkNWQxN2I4
ZmFlMDc0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtMTYwMSw5ICsxNjAxLDkgQEAKIAkJNDQzMTFDRDkxMkU0RTI1NzAwMEE4
RDE5IC8qIERPTURvY3VtZW50RnJhZ21lbnRQcml2YXRlLmggaW4gQ29weSBHZW5lcmF0ZWQgSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDMxMUNENDEyRTRFMjJE
MDAwQThEMTkgLyogRE9NRG9jdW1lbnRGcmFnbWVudFByaXZhdGUuaCAqLzsgfTsKIAkJNDQzMTFG
ODIxMkU0RTY2QzAwMEE4RDE5IC8qIERPTURvY3VtZW50RnJhZ21lbnRJbnRlcm5hbC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVFNzExNDUwQUM1RDUz
NDAwNTMyNzBGIC8qIERPTURvY3VtZW50RnJhZ21lbnRJbnRlcm5hbC5oICovOyB9OwogCQk0NDM4
MTdGRjFBOTFCMkY4MDA2RTA0RjIgLyogQ29yZU1lZGlhU29mdExpbmsuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzODE3RkQxQTkxQjJGODAwNkUw
NEYyIC8qIENvcmVNZWRpYVNvZnRMaW5rLmNwcCAqLzsgfTsKLQkJNDQzOTE3RkYxQTkxQjJGODAw
NkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzOTE3RkQxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9v
a1NvZnRMaW5rLm1tICovOyB9OwogCQk0NDM4MTgwMDFBOTFCMkY4MDA2RTA0RjIgLyogQ29yZU1l
ZGlhU29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ0MzgxN0ZFMUE5MUIyRjgwMDZFMDRGMiAvKiBDb3JlTWVkaWFTb2Z0TGluay5oICovOyB9
OwotCQk0NDM5MTgwMDFBOTFCMkY4MDA2RTA0RjIgLyogUXVpY2tMb29rU29mdExpbmsuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0MzkxN0ZFMUE5MUIy
RjgwMDZFMDRGMiAvKiBRdWlja0xvb2tTb2Z0TGluay5oICovOyB9OworCQk0NDM5MTdGRjFBOTFC
MkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzOTE3RkQxQTkxQjJGODAwNkUwNEYyIC8q
IGlvcy9RdWlja0xvb2tTb2Z0TGluay5tbSAqLzsgfTsKKwkJNDQzOTE4MDAxQTkxQjJGODAwNkUw
NEYyIC8qIGlvcy9RdWlja0xvb2tTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzOTE3RkUxQTkxQjJGODAwNkUwNEYyIC8qIGlvcy9RdWlj
a0xvb2tTb2Z0TGluay5oICovOyB9OwogCQk0NDNGMDQyNzBFNzVDOEZCMDA3RTU0MDcgLyogTmV0
d29ya1N0YXRlTm90aWZpZXJJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0NDNGMDQyNjBFNzVDOEZCMDA3RTU0MDcgLyogTmV0d29ya1N0YXRlTm90
aWZpZXJJT1MubW0gKi87IH07CiAJCTQ0NDlBNDA1MUE5NjRCMDAwMEI2NEFENSAvKiBDb3JlTWVk
aWFTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0
NDlBNDA0MUE5NjRCMDAwMEI2NEFENSAvKiBDb3JlTWVkaWFTUEkuaCAqLzsgfTsKIAkJNDQ0RDRF
MjMwRjcwOEIyRTAwMzE1OEUwIC8qIFdlYkNvcmVVUkxSZXNwb25zZUlPUy5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0NEQ0RTIxMEY3MDhCMkUwMDMx
NThFMCAvKiBXZWJDb3JlVVJMUmVzcG9uc2VJT1MubW0gKi87IH07CkBAIC04NzcyLDkgKzg3NzIs
OSBAQAogCQk0NDMxMUNENDEyRTRFMjJEMDAwQThEMTkgLyogRE9NRG9jdW1lbnRGcmFnbWVudFBy
aXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NRG9jdW1lbnRGcmFn
bWVudFByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQzMTFDRDUxMkU0
RTIyRDAwMEE4RDE5IC8qIERPTURvY3VtZW50UHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBET01Eb2N1bWVudFByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDQzODE3RkQxQTkxQjJGODAwNkUwNEYyIC8qIENvcmVNZWRpYVNvZnRMaW5rLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvcmVNZWRpYVNvZnRMaW5r
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDQzOTE3RkQxQTkxQjJGODAwNkUw
NEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0NDM4MTdGRTFBOTFCMkY4MDA2RTA0RjIgLyogQ29yZU1lZGlhU29mdExpbmsu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29yZU1lZGlhU29mdExpbmsuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDQzOTE3RkUxQTkxQjJGODAwNkUwNEYyIC8q
IFF1aWNrTG9va1NvZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGlv
cy9RdWlja0xvb2tTb2Z0TGluay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NDM5
MTdGRDFBOTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NDM5MTdGRTFBOTFCMkY4MDA2RTA0RjIg
LyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IGlvcy9RdWlja0xvb2tTb2Z0TGluay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0NDNGMDQyNjBFNzVDOEZCMDA3RTU0MDcgLyogTmV0d29ya1N0YXRlTm90aWZpZXJJT1MubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBOZXR3b3JrU3RhdGVOb3Rp
ZmllcklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQ0OUE0MDQxQTk2NEIw
MDAwQjY0QUQ1IC8qIENvcmVNZWRpYVNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBDb3JlTWVkaWFTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQ0RDRF
MjEwRjcwOEIyRTAwMzE1OEUwIC8qIFdlYkNvcmVVUkxSZXNwb25zZUlPUy5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkNvcmVVUkxSZXNwb25zZUlPUy5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4ODYzLDggKzE4ODYzLDggQEAKIAkJCQlD
NTI3OEIwQjE3RjIxMkVBMDAzQTI5OTggLyogUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tICovLAog
CQkJCUU0NTM5MDMyMEVBRkQ2MzcwMDM2OTVDOCAvKiBQbGF0Zm9ybVNjcmVlbklPUy5tbSAqLywK
IAkJCQlBQUUzNzU1RDE3NDI5QkNDMDA2MjAwQzIgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXpl
cklPUy5tbSAqLywKLQkJCQk0NDM5MTdGRTFBOTFCMkY4MDA2RTA0RjIgLyogUXVpY2tMb29rU29m
dExpbmsuaCAqLywKLQkJCQk0NDM5MTdGRDFBOTFCMkY4MDA2RTA0RjIgLyogUXVpY2tMb29rU29m
dExpbmsubW0gKi8sCisJCQkJNDQzOTE3RkUxQTkxQjJGODAwNkUwNEYyIC8qIGlvcy9RdWlja0xv
b2tTb2Z0TGluay5oICovLAorCQkJCTQ0MzkxN0ZEMUE5MUIyRjgwMDZFMDRGMiAvKiBpb3MvUXVp
Y2tMb29rU29mdExpbmsubW0gKi8sCiAJCQkJQ0RGQzM2MDExOENBNjE2MzAwMjZFNTZGIC8qIFJl
bW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5oICovLAogCQkJCUNERkMzNjAyMThDQTYxNjMwMDI2RTU2
RiAvKiBSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MubW0gKi8sCiAJCQkJNDRDMzYzRUUwRkFBN0JC
MzAwOTdGOENDIC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0lPUy5oICovLApAQCAtMjYwNzEs
NyArMjYwNzEsNyBAQAogCQkJCTU1MEEwQkNBMDg1RjYwMzkwMDczNTNENiAvKiBRdWFsaWZpZWRO
YW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRTEyNTIzRDFBMTY3NkNEMDA4NjQ0ODAgLyogUXVh
cnR6Q29yZVNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDQyQUY3QTkxMDJDRERFQTAwOEZENEQz
IC8qIFF1aWNrTG9vay5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDQzOTE4MDAxQTkxQjJGODAwNkUw
NEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKKwkJCQk0NDM5MTgwMDFB
OTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLmggaW4gSGVhZGVycyAqLywK
IAkJCQlBMTQ5Nzg2RjFBQkFGMzM4MDBDRUY3RTQgLyogQ29udGVudEZpbHRlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQ0UxMjUyMzkxQTE2NkZBMDAwODY0NDgwIC8qIFF1aWNrTG9va1NQSS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTEwREJGNDcxOEY5MjMxNzAwMEQ3MEM2IC8qIFF1aWNrTG9va0hh
bmRsZUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yOTU3NSw3ICsyOTU3NSw3IEBACiAJCQkJ
Q0RFRTM5MzcxNzk3NDI1OTAwMUQ3NTgwIC8qIFB1YmxpY1VSTE1hbmFnZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNTUwQTBCQzkwODVGNjAzOTAwNzM1M0Q2IC8qIFF1YWxpZmllZE5hbWUuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJNDQyQUY3QUExMDJDRERFQTAwOEZENEQzIC8qIFF1aWNrTG9v
ay5tbSBpbiBTb3VyY2VzICovLAotCQkJCTQ0MzkxN0ZGMUE5MUIyRjgwMDZFMDRGMiAvKiBRdWlj
a0xvb2tTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAorCQkJCTQ0MzkxN0ZGMUE5MUIyRjgwMDZF
MDRGMiAvKiBpb3MvUXVpY2tMb29rU29mdExpbmsubW0gaW4gU291cmNlcyAqLywKIAkJCQkwNzJB
RTFFNjE4M0MwNzQxMDAwQTU5ODggLyogUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQubW0gaW4g
U291cmNlcyAqLywKIAkJCQkzNzlFMzcxNjEzNzM2QTY2MDBCOUU5MTkgLyogUXVvdGVkUHJpbnRh
YmxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTVBNTc0RjI4MTMxREI5NkQwMDQ3MUI4OCAvKiBR
dW90ZXNEYXRhLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0
L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBmYzkwZjYx
MTU2MjMxYTQxY2E5MTM3ZjE3Yzc5NTVlOGQzNzNiMGVhLi4wYzg4NDBmNmFiNTE4NWY4MzU0Yjcw
NjAzZTAyNWYyNWEyYTc5ZjRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDQsNiArNDQsNyBAQCBF
TkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HID0gRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORzsKIEVO
QUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJP
WFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
Tkc7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFT
U19TWU5UQVg7CiBFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYID0gRU5BQkxFX0VT
Nl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVO
QUJMRV9DT05URU5UX0ZJTFRFUklORzsKQEAgLTIxNSw0ICsyMTYsNCBAQCBFTkFCTEVfSklUID0g
RU5BQkxFX0pJVDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJM
RV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5B
QkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFC
TEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMp
ICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5H
KSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2
X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChF
TkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChF
TkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElP
TikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAk
KEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVY
VF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9N
X1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFU
QUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVU
QUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRf
RVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05U
X0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkg
JChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFT
RSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BP
VkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJM
RV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVT
KSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1Mp
ICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFf
Q09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJM
RV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAk
KEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9Q
Uk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJ
WF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUp
ICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9S
KSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElO
RykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAk
KEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05V
TUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xP
QURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VF
X1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChF
TkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VU
UykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVf
V0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVO
QUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJ
VEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJ
TkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FO
VkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FW
Rl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkp
ICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9URU1QTEFURV9M
SVRFUkFMX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9O
RVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RF
Q09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RF
VklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19J
TUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxF
X0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NT
X1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVB
SykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFO
RExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1F
TlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVO
VCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05T
VFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5U
UykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dB
TUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9Q
QUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxF
X1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lO
UFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExF
VEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dF
RUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RV
UkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9V
Q0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVf
TEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9M
SU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1ND
UklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAk
KEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VS
U09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFW
SUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BE
RktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQo
RU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChF
TkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9S
RVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVf
UkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxF
X0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RS
RUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChF
TkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNU
SU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcp
ICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVO
QUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxF
X1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChF
TkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9B
VURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxF
X1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJ
T05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJ
VCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQo
RU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktp
dDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggZmM5MGY2MTE1
NjIzMWE0MWNhOTEzN2YxN2M3OTU1ZThkMzczYjBlYS4uMGM4ODQwZjZhYjUxODVmODM1NGI3MDYw
M2UwMjVmMjVhMmE3OWY0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlv
bnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ0LDYgKzQ0LDcgQEAgRU5BQkxFX0NB
Q0hFX1BBUlRJVElPTklORyA9IEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkc7CiBFTkFCTEVfQ0FO
VkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwog
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOworRU5B
QkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9T
WU5UQVg7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFY
OwogRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCA9IEVOQUJMRV9FUzZfVEVNUExB
VEVfTElURVJBTF9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBFTkFCTEVfQ09O
VEVOVF9GSUxURVJJTkc7CkBAIC0yMTUsNCArMjE2LDQgQEAgRU5BQkxFX0pJVCA9IEVOQUJMRV9K
SVQ7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJB
VEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9U
UkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VM
RVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJM
RV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFC
TEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9N
RVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9URU1QTEFU
RV9MSVRFUkFMX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9Y
X0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NT
X0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NT
U19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5B
QkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVf
Q1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9C
UkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVf
SEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxF
TUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19D
T05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VW
RU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERF
Tl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5B
QkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09N
UExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dF
U1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFC
TEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJM
RV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xT
X1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0Vf
Q1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVf
TkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMp
ICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJM
RV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5B
QkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVf
U1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVU
RUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAk
KEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5B
QkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkg
JChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dF
Ql9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5B
QkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9S
RUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRM
X0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMp
ICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQo
RU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChF
TkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElP
TlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9O
SU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAk
KEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9T
WU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChF
TkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURB
UFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVH
SU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMp
ICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5B
QkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQo
RU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVO
QUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5B
QkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1Ip
ICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAk
KEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RF
UFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01f
VElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNF
X0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVO
QUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5U
UykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9O
T1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9M
RUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVG
RVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQo
RU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVf
TUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FM
RSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9I
V0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExV
R0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9Q
Uk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FV
T1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9B
VVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJ
T05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NS
T0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJ
KSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NW
R19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChF
TkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJM
RV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NT
X1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykg
JChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJ
RVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQo
RU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJF
X1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChF
TkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5B
QkxFX0pJVCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9W
SURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvV2ViS2l0
RmVhdHVyZXMuY21ha2UgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKaW5kZXgg
YmNiMzlhZWQ3Y2Y3MmQ1NmUwMTlkZDIwNTk2ZmFkMzY5NzNiODgwMS4uYWUxM2QxZGQxYjVkYTE4
NDJmNTczODA5Mjk4YWFmOGM3YmEwNjM3ZSAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL1dlYktp
dEZlYXR1cmVzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQpA
QCAtNzEsNiArNzEsNyBAQCBtYWNybyhXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAgIFdFQktJVF9P
UFRJT05fREVGSU5FKEVOQUJMRV9EUkFHX1NVUFBPUlQgIlRvZ2dsZSBEcmFnIFN1cHBvcnQiIFBS
SVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEgIlRvZ2dsZSBFTUUgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9E
RUZJTkUoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMiAiU3VwcG9ydCBFTUUgdjIiIFBSSVZBVEUg
T0ZGKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9T
WU5UQVggIlRvZ2dsZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1cHBvcnQiIE9OKQogICAg
IFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYICJUb2dnbGUgRVM2
IGNsYXNzIHN5bnRheCBzdXBwb3J0IiBQUklWQVRFIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVG
SU5FKEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVggIlRvZ2dsZSBFUzYgdGVtcGxh
dGUgbGl0ZXJhbCBzeW50YXggc3VwcG9ydCIgUFJJVkFURSBPTikKICAgICBXRUJLSVRfT1BUSU9O
X0RFRklORShFTkFCTEVfRklMVEVSU19MRVZFTF8yICJUb2dnbGUgRmlsdGVycyBNb2R1bGUgTGV2
ZWwgMiIgUFJJVkFURSBPRkYpCkBAIC0xNjgsNyArMTY5LDYgQEAgbWFjcm8oV0VCS0lUX09QVElP
Tl9CRUdJTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfWEhSX1RJTUVPVVQgIlRv
Z2dsZSBYSFIgdGltZW91dCBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9O
X0RFRklORShFTkFCTEVfWFNMVCAiVG9nZ2xlIFhTTFQgc3VwcG9ydCIgUFJJVkFURSBPTikKICAg
ICBXRUJLSVRfT1BUSU9OX0RFRklORShVU0VfU1lTVEVNX01BTExPQyAiVG9nZ2xlIHN5c3RlbSBh
bGxvY2F0b3IgaW5zdGVhZCBvZiBXZWJLaXQncyBjdXN0b20gYWxsb2NhdG9yIiBQUklWQVRFIE9G
RikKLQogICAgIFdFQktJVF9PUFRJT05fREVQRU5EKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIg
RU5BQkxFX1ZJREVPKQogICAgIFdFQktJVF9PUFRJT05fREVQRU5EKEVOQUJMRV9ERkdfSklUIEVO
QUJMRV9KSVQpCiAgICAgV0VCS0lUX09QVElPTl9ERVBFTkQoRU5BQkxFX0ZUTF9OQVRJVkVfQ0FM
TF9JTkxJTklORyBFTkFCTEVfRlRMX0pJVCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cGVybC9GZWF0dXJlTGlzdC5wbSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJl
TGlzdC5wbQppbmRleCBiMGQ1YWExYjNiYzQ0OGQ2ZDI2MTI3MGE1ZmI1ODE0MDM0NjVmNWY1Li40
MGMxMTVlM2IzZTRiYTQ3NTJhNzFkMzhkMWZlYTIyN2VlMjBkMTI3IDEwMDY0NAotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCkBAIC00NCw2ICs0NCw3IEBAIEJFR0lOIHsKIG15ICgK
ICAgICAkdGhyZWVEVHJhbnNmb3Jtc1N1cHBvcnQsCiAgICAgJGFjY2VsZXJhdGVkMkRDYW52YXNT
dXBwb3J0LAorICAgICRhcnJvd2Z1bmN0aW9uU3ludGF4LAogICAgICRhdHRhY2htZW50RWxlbWVu
dFN1cHBvcnQsCiAgICAgJGJhdHRlcnlTdGF0dXNTdXBwb3J0LAogICAgICRjYW52YXNQYXRoU3Vw
cG9ydCwKQEAgLTE1Niw5ICsxNTcsMTMgQEAgbXkgQGZlYXR1cmVzID0gKAogICAgIHsgb3B0aW9u
ID0+ICJhY2NlbGVyYXRlZC0yZC1jYW52YXMiLCBkZXNjID0+ICJUb2dnbGUgQWNjZWxlcmF0ZWQg
MkQgQ2FudmFzIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQUNDRUxFUkFURURf
MkRfQ0FOVkFTIiwgZGVmYXVsdCA9PiBpc0d0aygpLCB2YWx1ZSA9PiBcJGFjY2VsZXJhdGVkMkRD
YW52YXNTdXBwb3J0IH0sCiAKKyAgICB7IG9wdGlvbiA9PiAiYXJyb3dmdW5jdGlvbi1zeW50YXgi
LCBkZXNjID0+ICJUb2dnbGUgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheCBzdXBwb3J0IiwKKyAg
ICAgIGRlZmluZSA9PiAiRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCIsIGRlZmF1bHQg
PT4gMSwgdmFsdWUgPT4gXCRhcnJvd2Z1bmN0aW9uU3ludGF4IH0sCisKICAgICB7IG9wdGlvbiA9
PiAiYXR0YWNobWVudC1lbGVtZW50IiwgZGVzYyA9PiAiVG9nZ2xlIEF0dGFjaG1lbnQgRWxlbWVu
dCBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCIs
IGRlZmF1bHQgPT4gMCwgdmFsdWUgPT4gXCRhdHRhY2htZW50RWxlbWVudFN1cHBvcnQgfSwKIAor
CiAgICAgeyBvcHRpb24gPT4gImJhdHRlcnktc3RhdHVzIiwgZGVzYyA9PiAiVG9nZ2xlIEJhdHRl
cnkgU3RhdHVzIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQkFUVEVSWV9TVEFU
VVMiLCBkZWZhdWx0ID0+IGlzRWZsKCksIHZhbHVlID0+IFwkYmF0dGVyeVN0YXR1c1N1cHBvcnQg
fSwKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252416</attachid>
            <date>2015-05-05 16:00:44 -0700</date>
            <delta_ts>2015-05-13 01:19:21 -0700</delta_ts>
            <desc>Patch.2(Main)</desc>
            <filename>bug-140855-20150506015925.patch</filename>
            <type>text/plain</type>
            <size>209687</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzODIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
NDdiZWZlOTk4MThhOTZmYzVkOTgxOWM2MDJmMzg0YTFlNjZjYmM5Li4xOGVkYWQyN2NlNGMwOGQz
ZTczNjAxZThkYTVkZTE2MzBhZmY3NThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNjQgQEAKKzIwMTUtMDUtMDEgQWxla3NhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MDg1NQorCisgICAgICAgICAqIHBhcnNlci9QYXJzZXIuaDoKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIHN1cHBvcnQgb2YgRVM2IGFycm93IGZ1
bmN0aW9uLiBDaGFuZ2VzIHdlcmUgbWFkZSBhY2NvcmRpbmcgZm9sbG93aW5nIHNwZWMgaHR0cDov
L3dpa2kuZWNtYXNjcmlwdC5vcmcvZG9rdS5waHA/aWQ9aGFybW9ueTphcnJvd19mdW5jdGlvbl9z
eW50YXgKKyAgICAgICAgSW4gcGF0Y2ggd2VyZSBpbXBsZW1lbnRlZCB0aGUgc2ltcGxlc3QgY2Fz
ZXM6CisgICAgICAgICAgMSBubyBwYXJhbWV0ZXJzICAgICAgICAgICAgICAgICgpID0+IDEwICsg
MjAKKyAgICAgICAgICAyIHNpbmdsZSBwYXJhbWV0ZXIgICAgICAgICAgICAgIHggPT4geCArIDIw
CisgICAgICAgICAgMyBtdWx0aXBsZSBwYXJhbWV0ZXJzICAgICAgKHgsIHkpID0+IHggKyB5Cisg
ICAgICAgICAgNCBhcnJvdyBmdW5jdGlvbiB3aXRoIGJsb2NrICAgICB4ID0+IHsgcmV0dXJuIHgq
MTA7IH0KKyAgICAgICAgICA1IGxleGljYWwgdGhpcyAtIHZhcmlhYmxlIHRoaXMgaXMgcG9pbnQg
dG8gdGhlIHRoaXMgb2YgdGhlIGZ1bmN0aW9uIHdoZXJlIGFycm93IGZ1bmN0aW9uIGlzIGRlY2xh
cmVkCisgICAgICAgICAgNiBObyBjb25zdHJ1Y3RvciAtIHRoZSB1c2luZyBvZiB0aGUgY29tbWFu
ZCBuZXcgZm9yIGFycm93IGZ1bmN0aW9uIGxlYWRzIHRvIHJ1bnRpbWUgZXJyb3IuIAorCisgICAg
ICAgICAgTm90IHlldCBpbXBsZW1lbnRlZDoKKyAgICAgICAgICAxIGxleGljYWwgYmluZCBvZiB0
aGUgYXJndW1lbnRzICYgc3VwZXIKKyAgICAgICAgICAyIEluc2lkZSBhbiBhcnJvdyBmdW5jdGlv
biwgbmV3LnRhcmdldCByZWZlcnMgdG8gdGhlIG5ldy50YXJnZXQgb2YgdGhlIHN1cnJvdW5kaW5n
IG5vbi1hcnJvdyBmdW5jdGlvbi4KKyAgICAgICAgICAzIGFycm93IGZ1bmN0aW9uIGRvZXNuw6LC
gMKZdCBpbmxpbmUgJiBjb21waWxlIGluIERGRyBtb2RlLiAKKworICAgICAgICAgKiBDb25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29y
ZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2o6CisgICAgICAgICogYnl0ZWNvZGUvQnl0
ZWNvZGVMaXN0Lmpzb246CisgICAgICAgICogYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaDoKKyAg
ICAgICAgKEpTQzo6RnVuY3Rvcjo6Y29tcHV0ZVVzZXNGb3JCeXRlY29kZU9mZnNldCk6CisgICAg
ICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpk
dW1wQnl0ZWNvZGUpOgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5o
OgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHA6CisgICAgICAg
IChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24p
OiBhZGRlZAorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFRoaXNOb2RlQnl0
ZWNvZGUpOiBhZGRlZAorICAgICAgICAqIGJ5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgor
ICAgICAgICAoSlNDOjplbWl0Qnl0ZWNvZGU6OmVtaXRCeXRlY29kZSk6IGFkZGVkCisgICAgICAg
IChKU0M6OkFycm93RnVuY0V4cHJOb2RlOjplbWl0Qnl0ZWNvZGUpOiBhZGRlZAorICAgICAgICAq
IGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6CisgICAgICAgIChKU0M6OkJ5dGVDb2RlUGFyc2Vy
OjpwYXJzZUJsb2NrKToKKyAgICAgICAgKiBkZmcvREZHQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAg
ICAgKEpTQzo6Q2FwYWJpbGl0eUxldmVsOjpjYXBhYmlsaXR5TGV2ZWwpOgorICAgICAgICAqIGpp
dC9KSVQuaDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX25ld19hcnJvd19mdW5jX2V4cCk6
IGFkZGVkCisgICAgICAgICogaml0L0pJVElubGluZXMuaDoKKyAgICAgICAgKEpTQzo6SklUOjpj
YWxsT3BlcmF0aW9uKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklULmNwcDoKKyAgICAgICAgKEpT
Qzo6SklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKToKKyAgICAgICAgKiBqaXQvSklUT3Bjb2Rl
cy5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9uZXdfYXJyb3dfZnVuY19leHApOiBh
ZGRlZAorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKEpTQzo6SklU
X09QRVJBVElPTjo6b3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbik6IGFkZGVkCisgICAgICAgICog
aml0L0pJVE9wZXJhdGlvbnMuaDoKKyAgICAgICAgKEpTQzo6SklUX09QRVJBVElPTjo6b3BlcmF0
aW9uTmV3QXJyb3dGdW5jdGlvbik6IGFkZGVkCisgICAgICAgICogbGxpbnQvTExJbnRTbG93UGF0
aHMuY3BwOgorICAgICAgICAoTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX25ld19hcnJv
d19mdW5jX2V4cCk6IGFkZGVkCisgICAgICAgICogbGxpbnQvTExJbnRTbG93UGF0aHMuaDoKKyAg
ICAgICAgKExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHAp
KTogYWRkZWQKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToKKyAgICAg
ICAgKiBkZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6
REZHOjpBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVj
dHMpOgorICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6CisgICAgICAgIChKU0M6
OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAqIGRmZy9ERkdDYXBh
YmlsaXRpZXMuY3BwOgorICAgICAgICAoSlNDOjpERkc6OmNhcGFiaWxpdHlMZXZlbCk6CisgICAg
ICAgICogZGZnL0RGR0Nsb2JiZXJpemUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpjbG9iYmVyaXpl
KToKKyAgICAgICAgKiBkZmcvREZHRG9lc0dDLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpkb2Vz
R0MpOgorICAgICAgICAqIGRmZy9ERkdGaXh1cFBoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpGaXh1cFBoYXNlOjpmaXh1cE5vZGUpOgorICAgICAgICAqIGRmZy9ERkdOb2RlLmg6CisgICAg
ICAgIChKU0M6OkRGRzo6Tm9kZTo6aGFzQ2VsbE9wZXJhbmQpOgorICAgICAgICAqIGRmZy9ERkdO
b2RlVHlwZS5oOgorICAgICAgICAqIGRmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5j
cHA6CisgICAgICAgIChKU0M6OkRGRzo6UHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2U6OnByb3Bh
Z2F0ZSk6CisgICAgICAgICogZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaDoKKyAgICAgICAgKEpTQzo6
REZHOjpzYWZlVG9FeGVjdXRlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuaDoK
KyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y2FsbE9wZXJhdGlvbik6CisgICAg
ICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6
OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVK
SVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgor
ICAgICAgICAqIGRmZy9ERkdTdHJ1Y3R1cmVSZWdpc3RyYXRpb25QaGFzZS5jcHA6CisgICAgICAg
IChKU0M6OkRGRzo6U3RydWN0dXJlUmVnaXN0cmF0aW9uUGhhc2U6OnJ1bik6CisgICAgICAgICog
ZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuY3BwOgorICAgICAgICAqIGZ0bC9GVExBYnN0
cmFjdEhlYXBSZXBvc2l0b3J5Lmg6CisgICAgICAgICogZnRsL0ZUTENhcGFiaWxpdGllcy5jcHA6
CisgICAgICAgIChKU0M6OkZUTDo6Y2FuQ29tcGlsZSk6CisgICAgICAgICogZnRsL0ZUTEludHJp
bnNpY1JlcG9zaXRvcnkuaDoKKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwOgor
ICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlTm9kZSk6CisgICAgICAg
IChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVOZXdBcnJvd0Z1bmN0aW9uKToKKyAg
ICAgICAgKiBwYXJzZXIvQVNUQnVpbGRlci5oOgorICAgICAgICAoSlNDOjpBU1RCdWlsZGVyOjpj
cmVhdGVBcnJvd0Z1bmN0aW9uRXhwcik6CisgICAgICAgICogcGFyc2VyL0xleGVyLmNwcDoKKyAg
ICAgICAgKEpTQzo6TGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24pOgorICAgICAgICAoSlNDOjpM
ZXhlcjxUPjo6bGV4KToKKyAgICAgICAgKiBwYXJzZXIvTGV4ZXIuaDoKKyAgICAgICAgKEpTQzo6
TGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24pOgorICAgICAgICAqIHBhcnNlci9Ob2RlQ29uc3Ry
dWN0b3JzLmg6CisgICAgICAgIChKU0M6OkFycm93RnVuY0V4cHJOb2RlOjpBcnJvd0Z1bmNFeHBy
Tm9kZSk6IGFkZGVkCisgICAgICAgICogcGFyc2VyL05vZGVzLmg6CisgICAgICAgIChKU0M6Ok5v
ZGU6OmlzQXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZAorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNF
eHByTm9kZSk6IGFkZGVkIGNsYXNzCisgICAgICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisgICAg
ICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsZW1lbnRzKToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlc3Npb24pOgorICAg
ICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU291cmNlRWxlbWVudCk6CisgICAgICAgIChKU0M6OlBh
cnNlcjo6cGFyc2VTdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXNzaWdu
bWVudEV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlUHJpbWFyeUV4cHJl
c3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dFeHByZXNzaW9uKToKKyAg
ICAgICAgKEpTQzo6UGFyc2VyOjpzZXRFbmRPZlN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBh
cnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6
cGFyc2VBcnJvd0Z1bmN0aW9uSW5mbyk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJv
d0Z1bmN0aW9uQm9keSk6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorICAgICAgICAoSlND
OjpQYXJzZXI6OkZ1bmN0aW9uUGFyc2VUeXBlKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJz
ZVNvdXJjZUVsZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KToK
KyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RXhwcmVzc2lvbik6CisgICAgICAgIChK
U0M6OlBhcnNlcjo6c2V0RW5kT2ZTdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBh
cnNlQXJyb3dGdW5jdGlvbldyYXBwZXIpOgorICAgICAgICAqIHBhcnNlci9QYXJzZXJGdW5jdGlv
bkluZm8uaDoKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyVG9rZW5zLmg6CisgICAgICAgIChKU0M6
OlBhcnNlckZ1bmN0aW9uSW5mbzo6YXJyb3dGdW5jdGlvbk9mZnNldCk6IGFkZGVkCisgICAgICAg
IChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6aXNBcnJvd0Z1bmN0aW9uKTogYWRkZWQKKyAgICAg
ICAgKEpTQzo6UGFyc2VyRnVuY3Rpb25JbmZvOjphcnJvd0Z1bmN0aW9uQm9keVR5cGUpOiBhZGRl
ZAorICAgICAgICAqIHBhcnNlci9Tb3VyY2VDb2RlLmg6CisgICAgICAgIChKU0M6OlNvdXJjZUNv
ZGU6OnN1YkFycm93RXhwcmVzc2lvbik6CisgICAgICAgICogcGFyc2VyL1N5bnRheENoZWNrZXIu
aDoKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIp
OgorICAgICAgICAqIHBhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbToKKyAgICAgICAgKEpT
Qzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMpOgorICAgICAgICAo
SlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbSk6CisgICAgICAgIChKU0M6OlNvdXJjZVByb3Zp
ZGVyQ2FjaGVJdGVtOjplbmRBcnJvd0Z1bmN0aW9uVG9rZW4pOgorICAgICAgICAqIHJ1bnRpbWUv
SlNBcnJvd0Z1bmN0aW9uLmg6IGFkZGVkIGNsYXNzIGZvciBoYW5kbGUgYXJyb3cgZnVuY3Rpb24g
Y3JlYXRpb24gYW5kIGV4ZWN1dGlvbgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJvd0Z1bmN0aW9u
LmNwcDoKKyAgICAgICAgKiBydW50aW1lL0pTRnVuY3Rpb24uaDoKKyAgICAgICAgKEpTQzo6SlNG
dW5jdGlvbjo6SlNGdW5jdGlvbik6IGFkZGVkIG9uZSBtb3JlIGNvbnN0cnVjdG9yCisgICAgICAg
ICogcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oOgorICAgICAgICAoSlNDOjpKU0Z1bmN0aW9u
OjpKU0Z1bmN0aW9uKTogYWRkZWQgY29uc3RydWN0b3IgaW1wbGVtZW50YXRpb24KKyAgICAgICAg
KiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmpl
Y3Q6OmluaXQpOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6bV9hcnJvd0Z1bmN0aW9u
U3RydWN0dXJlKTogYWRkZWQKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmFycm93RnVu
Y3Rpb25TdHJ1Y3R1cmUpOgorICAgICAgICAqIFdURi93dGYvRmVhdHVyZURlZmluZXMuaDogYWRk
ZWQgZmVhdHVyZSBmbGFnCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNw
YXJhbXRlci0xLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1hc3BhcmFtdGVyLTIuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1
bmN0aW9uLWJvdW5kLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5j
dGlvbi1jYWxsLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1jb25zdHJ1Y3Rvci5qczoKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1s
ZXhpY2FsLWFyZ3VtZW50cy5qczogQWRkZWQuCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93
ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTEuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3RzL3N0cmVz
cy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtdGhpcy0yLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAtMS5qczogQWRkZWQuCisgICAgICAgICogdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTIuanM6IEFkZGVkLgorICAgICAgICAqIHRl
c3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMDAwMC0xLmpzOiBBZGRlZC4KKyAgICAgICAg
KiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAwMDAtMi5qczogQWRkZWQuCisgICAg
ICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tc3ludGF4LmpzOiBBZGRlZC4KKwogMjAx
NS0wNS0wNSAgQmFzaWxlIENsZW1lbnQgIDxiYXNpbGVfY2xlbWVudEBhcHBsZS5jb20+CiAKICAg
ICAgICAgRml4IGRlYnVnIGJ1aWxkcyBhZnRlciByMTgzODEyCkBAIC02NzAsNiArODMxLDE0IEBA
CiAgICAgICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OnByb3ZlblZhbHVlKToKICAgICAg
ICAgKEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6YWJzdHJhY3RTdHJ1Y3R1cmUpOgogCisyMDE1
LTA0LTEyICBBbGV4YW5kciBTa2FjaGtvdiAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisgICAgICAg
IFNtYWxsIHJlZmFjdG9yaW5nIG9mIHRoZSBwYXJjZXIuY3BwIGZpbGUuIEl0IGlzIG5lY2Vzc2Fy
eSB0byBpbmNyZWFzZSByZWFkYWJpbGl0eSBvZiB0aGUgcGF0Y2gKKyAgICAgICAgd2l0aCBFUzYg
QXJyb3cgZnVuY3Rpb24gaW1wbGVtZW50YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQorCisgICAgICAgICogcGFyc2VyL1BhcnNlci5o
OgorICAgICAgICAqIHBhcnNlci9QYXJzZXIuY3BwOgorCiAyMDE1LTA1LTAxICBNYXJ0aW4gUm9i
aW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBVU0UoLi4uKSBtYWNybyBz
aG91bGQgZXhwZWN0IHVucHJlZml4ZWQgdmFyaWFibGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTMxYWJiNGU0
MGE0N2MxYzg5NmY4NTdjOGY1NDljZTYyMzdjZDhlMS4uNTc2NzhhOGVmY2I0ZWNiNWYxMzRjNDM3
ZmVkN2M5NzIxOWI1NmNlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTA0LTE3
ICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgW0VT
Nl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyBFTkFCTEVf
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgorCisgICAgICAgICog
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTUtMDUtMDQgIFJv
Z2VyIEZvbmcgIDxyb2dlcl9mb25nQGFwcGxlLmNvbT4KIAogICAgICAgICBNZWRpYSBjb250cm9s
IHZvbHVtZSBzbGlkZXIgaXMgb3BhcXVlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDUyOWZmOWE4ODM5
ZWU5MzU1YTQyMGM4ZmY5MmVhZjA5N2Q0NmI2YWEuLjlhYWZjMTg4ZmNiODdiZmFiYzM5ZjVkYWM3
MjI4NzMwZDNkOTMwZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNS0w
NC0xNyAgU2thY2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisgICAgICAg
IFtFUzZdIEltcGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmZWF0dXJlIGZsYWcgRU5B
QkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rpb24KKworICAgICAg
ICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1LTA1LTA0
ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFRvZ2dsaW5nIHVu
ZGVybGluZSBvciBzdHJpa2UgdGhyb3VnaCBhZmZlY3RzIGVhY2ggb3RoZXIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA4OGM5OTdiZWM2OWY1YTM2ZGUzNzU1MTdjNzIyYjIw
MWY3MTQ1YzAzLi4zZTE5Njk0NmZiYzU1OTJjMWU5ZTk2ZDAxOTlkMDU2MjQ1MDM4MTliIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC00NzQsNiArNDc0LDcgQEAgc2V0KEph
dmFTY3JpcHRDb3JlX1JVTlRJTUVfU09VUkNFUwogICAgIHJ1bnRpbWUvSlNBcnJheUJ1ZmZlclZp
ZXcuY3BwCiAgICAgcnVudGltZS9KU0FycmF5SXRlcmF0b3IuY3BwCiAgICAgcnVudGltZS9KU0Jv
dW5kRnVuY3Rpb24uY3BwCisgICAgcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwCiAgICAgcnVu
dGltZS9KU0dsb2JhbE9iamVjdERlYnVnZ2FibGUuY3BwCiAgICAgcnVudGltZS9KU0NKU1ZhbHVl
LmNwcAogICAgIHJ1bnRpbWUvSlNDYWxsZWUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5k
ZXggZmM5MGY2MTE1NjIzMWE0MWNhOTEzN2YxN2M3OTU1ZThkMzczYjBlYS4uMGM4ODQwZjZhYjUx
ODVmODM1NGI3MDYwM2UwMjVmMjVhMmE3OWY0YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpA
QCAtNDQsNiArNDQsNyBAQCBFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HID0gRU5BQkxFX0NBQ0hF
X1BBUlRJVElPTklORzsKIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsK
IEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFC
TEVfQ0hBTk5FTF9NRVNTQUdJTkc7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0g
RU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFY
ID0gRU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CiBFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxf
U1lOVEFYID0gRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWDsKIEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKQEAgLTIxNSw0ICsyMTYs
NCBAQCBFTkFCTEVfSklUID0gRU5BQkxFX0pJVDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRf
QVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRV
UkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVO
QUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFT
X1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZ
TlRBWCkgJChFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYKSAkKEVOQUJMRV9DT05U
RU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05T
X0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NT
X0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NT
U19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9D
U1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19T
RUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQp
ICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElU
WSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9J
VEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZF
TF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkg
JChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9H
RU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAk
KEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9D
U1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFC
TEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChF
TkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhN
TCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0Up
ICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5B
QkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRP
Ul9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFC
TEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRF
Ul9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChF
TkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVT
VF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJM
RV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9T
UEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NS
WVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChF
TkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1F
TlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVO
QUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNL
KSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAk
KEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAk
KEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VC
X1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAk
KEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX1NB
VFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01P
REUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVf
QUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5U
KSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVO
QUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9F
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5B
QkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
TkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAk
KEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElO
RykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlP
VVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JF
U09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xF
VkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9D
U1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxF
X0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5B
QkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5B
QkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFC
TEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dB
TUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09O
REFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5E
SUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkg
JChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9W
RU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRF
UlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxF
X01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9N
RURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkg
JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChF
TkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJ
Q19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9O
X0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lO
U1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVS
X0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRI
RVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5B
QkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJM
RV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hf
SUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNF
TEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVf
REFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VC
R0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VC
X1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQo
RU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNM
VCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZ
T1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFT
Y3JpcHRDb3JlLnZjeHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
dmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCmluZGV4IGE1NTVhZTk1YTNlZGI4OGJiMTY0
YzYwYzQ0N2IzYjc1ZGI1YmY1MTcuLmYwNzMyNjk3YzIzYTFiMzRiY2MwYmY5MDk4MjQ3NDIzZmEx
YjVhZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52
Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagpAQCAtNzM1LDYg
KzczNSw3IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZm
ZXJQcm90b3R5cGUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxK
U0FycmF5QnVmZmVyVmlldy5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50
aW1lXEpTQm91bmRGdW5jdGlvbi5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxy
dW50aW1lXEpTQXJyb3dGdW5jdGlvbi5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxydW50aW1lXEpTQ0pTVmFsdWUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
cnVudGltZVxKU0NhbGxlZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50
aW1lXEpTQ2F0Y2hTY29wZS5jcHAiIC8+CkBAIC0xNTM4LDYgKzE1MzksNyBAQAogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0FycmF5QnVmZmVyVmlld0lubGluZXMuaCIgLz4K
ICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJheUl0ZXJhdG9yLmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQm91bmRGdW5jdGlvbi5oIiAv
PgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0Fycm93RnVuY3Rpb24uaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSW5saW5lcy5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NKU1ZhbHVlLmgiIC8+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0pTVmFsdWVJbmxpbmVzLmgiIC8+CkBA
IC0xODE5LDQgKzE4MjEsNCBAQAogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblRhcmdl
dHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxCdWlsZEN1c3RvbWl6
YXRpb25zXG1hc20udGFyZ2V0cyIgLz4KICAgPC9JbXBvcnRHcm91cD4KLTwvUHJvamVjdD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDFmMDRmMzU3OTM4MTVhMTNlMmExOTExNWI1ZjRiN2E2YzA5MTkwZDMuLmRi
MDYxNDUwNDI4NGMzNWE2MDE1OTMxOGY4OGU0ZTMwZmVmNTdlYmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0xMTA4LDYgKzExMDgsOCBAQAogCQk4NkYzRUVCRjE2OENERTkzMDA3
N0I5MkEgLyogT2JqY1J1bnRpbWVFeHRyYXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDg2RjNFRUI2MTY4NTVBNUIwMDc3QjkyQSAvKiBPYmpjUnVudGlt
ZUV4dHJhcy5oICovOyB9OwogCQk4NkZBOUU5MTE0MkJCQjJFMDAxNzczQjcgLyogSlNCb3VuZEZ1
bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwICovOyB9Owog
CQk4NkZBOUU5MjE0MkJCQjJFMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NkZBOUU5MDE0MkJCQjJFMDAx
NzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmggKi87IH07CisJCThCMEY0MjRDMUFCRDZERTIwMDM5
MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5j
dGlvbi5jcHAgKi87IH07CisJCThCMEY0MjRDMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVu
Y3Rpb24uaCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhC
MEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uaCAqLzsgfTsKIAkJOTAy
MTNFM0QxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTAyMTNFM0IxMjNBNDBDMjAwRDQy
MkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwICovOyB9OwogCQk5MDIxM0UzRTEyM0E0MEMyMDBE
NDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOTAyMTNFM0MxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRp
c3RpY3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk5MzA1MkMzNDBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMwNTJDMzIwRkI3OTIxOTAwNDhG
REMzIC8qIFBhcnNlckFyZW5hLmNwcCAqLzsgfTsKQEAgLTI4NTgsNiArMjg2MCw4IEBACiAJCTg2
Rjc1RUZEMTUxQzA2MkYwMDdDOUJBMyAvKiBSZWdFeHBNYXRjaGVzQXJyYXkuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVnRXhwTWF0Y2hlc0FycmF5LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpT
Qm91bmRGdW5jdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U0JvdW5kRnVuY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkZBOUU5
MDE0MkJCQjJFMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTQm91bmRGdW5jdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk4QjBGNDI0QTFBQkQ2RDJGMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTQXJyb3dGdW5jdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk4QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXJyb3dGdW5jdGlvbi5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTkwMjEzRTNCMTIzQTQwQzIwMEQ0MjJGMyAvKiBN
ZW1vcnlTdGF0aXN0aWNzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IE1lbW9yeVN0YXRpc3RpY3MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MDIx
M0UzQzEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBNZW1vcnlTdGF0aXN0aWNzLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTkzMDUyQzMyMEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQYXJzZXJBcmVuYS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00NDczLDYgKzQ0NzcsOCBAQAogCQkJCUE3QkRB
RUM1MTdGNEVBMTQwMEY2MTQwQyAvKiBKU0FycmF5SXRlcmF0b3IuaCAqLywKIAkJCQk4NkZBOUU4
RjE0MkJCQjJEMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAqLywKIAkJCQk4NkZBOUU5
MDE0MkJCQjJFMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmggKi8sCisJCQkJOEIwRjQyNEEx
QUJENkQyRjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oICovLAorCQkJCThCMEY0MjRCMUFC
RDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uY3BwICovLAogCQkJCTY1N0NGNDU2MTlC
RjY2NjIwMDRBQ0JGMiAvKiBKU0NhbGxlZS5jcHAgKi8sCiAJCQkJNjU3Q0Y0NTcxOUJGNjY2MjAw
NEFDQkYyIC8qIEpTQ2FsbGVlLmggKi8sCiAJCQkJMEZEOTQ5N0UxQTk3REI5NjAwRTI4OTY2IC8q
IEpTQ2F0Y2hTY29wZS5jcHAgKi8sCkBAIC03MjMxLDYgKzcyMzcsNyBAQAogCQkJCTBGRDhBMzFC
MTdENTFGMjIwMENBMkM0MCAvKiBGVExPU1JFbnRyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkw
RjIzNUJEQzE3MTc4RTFDMDA2OTBDN0YgLyogRlRMT1NSRXhpdC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkwRjIzNUJERjE3MTc4RTFDMDA2OTBDN0YgLyogRlRMT1NSRXhpdENvbXBpbGVyLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCThCMEY0MjRDMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVu
Y3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZFQTBBMkExNzA5NjI5NjAwQkI3MjJDIC8q
IEZUTE91dHB1dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjQ4NTMyOTE4N0RGREVDMDA4M0I2
ODcgLyogRlRMUmVjb3ZlcnlPcGNvZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY2QjFDQzMx
ODYyQzQ3ODAwODQ1RDk3IC8qIEZUTFJlZ2lzdGVyQXRPZmZzZXQuY3BwIGluIFNvdXJjZXMgKi8s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0
Lmpzb24gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24K
aW5kZXggZTNlZDFkY2RhNGUwM2E1ZjExZWY5MWU1NjExOWViOTMwNTFmYjdmNi4uNTZjYmE5MzZj
NDc1MDVmNTQ2ODQxZWQ1N2JiOWI4ZThkM2QxNmQ4YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxpc3QuanNvbgpAQCAtOTUsNiArOTUsNyBAQAogICAg
ICAgICAgICAgeyAibmFtZSIgOiAib3Bfc3dpdGNoX3N0cmluZyIsICJsZW5ndGgiIDogNCB9LAog
ICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfbmV3X2Z1bmMiLCAibGVuZ3RoIiA6IDQgfSwKICAg
ICAgICAgICAgIHsgIm5hbWUiIDogIm9wX25ld19mdW5jX2V4cCIsICJsZW5ndGgiIDogNCB9LAor
ICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfbmV3X2Fycm93X2Z1bmNfZXhwIiwgImxlbmd0aCIg
OiA1IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9jYWxsIiwgImxlbmd0aCIgOiA5IH0s
CiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9jYWxsX2V2YWwiLCAibGVuZ3RoIiA6IDkgfSwK
ICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGxfdmFyYXJncyIsICJsZW5ndGgiIDogOSB9
LApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNl
RGVmLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaApp
bmRleCA3NjY3ZTY4M2U0NTRhNDk5OTg2ZWRhY2Q5MGI2NDkxNzI0MjAzN2NkLi5kYTRhMmFhZWVj
Mjg0NTk0MWFlMzY2ZGNmYjk4NTkxY2NiM2NjZDQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaApAQCAtMTE1LDYgKzExNSw5IEBAIHZvaWQg
Y29tcHV0ZVVzZXNGb3JCeXRlY29kZU9mZnNldCgKICAgICBjYXNlIG9wX2dldF9wcm9wZXJ0eV9l
bnVtZXJhdG9yOgogICAgIGNhc2Ugb3BfZ2V0X2VudW1lcmFibGVfbGVuZ3RoOgogICAgIGNhc2Ug
b3BfbmV3X2Z1bmNfZXhwOgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6CisjZW5kaWYKICAgICBjYXNlIG9wX3RvX2lu
ZGV4X3N0cmluZzoKICAgICBjYXNlIG9wX2luaXRfZ2xvYmFsX2NvbnN0X25vcDoKICAgICBjYXNl
IG9wX2luaXRfZ2xvYmFsX2NvbnN0OgpAQCAtMzA3LDYgKzMxMCw5IEBAIHZvaWQgY29tcHV0ZURl
ZnNGb3JCeXRlY29kZU9mZnNldChDb2RlQmxvY2sqIGNvZGVCbG9jaywgdW5zaWduZWQgYnl0ZWNv
ZGVPZmZzZXQsCiAgICAgY2FzZSBvcF9uZXdfcmVnZXhwOgogICAgIGNhc2Ugb3BfbmV3X2Z1bmM6
CiAgICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRpZgogICAgIGNh
c2Ugb3BfY2FsbF92YXJhcmdzOgogICAgIGNhc2Ugb3BfY29uc3RydWN0X3ZhcmFyZ3M6CiAgICAg
Y2FzZSBvcF9nZXRfZnJvbV9zY29wZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0NvZGVCbG9jay5jcHAKaW5kZXggOTAxMzhmOTdjYmQ4MjhmOTcyY2IyMjQ0MmJmNDA0NDFkMTNm
NDA1Ni4uNzE4M2QwNGRkODgyYmI2MjIzZmJhY2UxN2U1ZmJiNTAwOTFkODAwNCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKQEAgLTEzMDEsNiArMTMw
MSwxNyBAQCB2b2lkIENvZGVCbG9jazo6ZHVtcEJ5dGVjb2RlKAogICAgICAgICAgICAgb3V0LnBy
aW50ZigiJXMsICVzLCBmJWQiLCByZWdpc3Rlck5hbWUocjApLmRhdGEoKSwgcmVnaXN0ZXJOYW1l
KHIxKS5kYXRhKCksIGYwKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisjaWYgRU5B
QkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgY2FzZSBvcF9uZXdfYXJyb3df
ZnVuY19leHA6IHsKKyAgICAgICAgICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAg
ICAgICAgICAgaW50IHIxID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBpbnQgZjAg
PSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAgICAgICAgIGludCByMiA9ICgrK2l0KS0+dS5vcGVy
YW5kOworICAgICAgICAgICAgcHJpbnRMb2NhdGlvbkFuZE9wKG91dCwgZXhlYywgbG9jYXRpb24s
IGl0LCAib3BfbmV3X2Fycm93X2Z1bmNfZXhwIik7CisgICAgICAgICAgICBvdXQucHJpbnRmKCIl
cywgJXMsIGYlZCwgJXMiLCByZWdpc3Rlck5hbWUocjApLmRhdGEoKSwgcmVnaXN0ZXJOYW1lKHIx
KS5kYXRhKCksIGYwLCByZWdpc3Rlck5hbWUocjIpLmRhdGEoKSk7CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOiB7CiAg
ICAgICAgICAgICBpbnQgcjAgPSAoKytpdCktPnUub3BlcmFuZDsKICAgICAgICAgICAgIGludCBy
MSA9ICgrK2l0KS0+dS5vcGVyYW5kOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAppbmRleCAyZjIxZTQ5YjY1MTBm
MWJlNThkMDljMzE0MDVlMzdjYTllZGIzMTlmLi40MTg4OWFhMzRkYWZmZjEwNjQwMDZmYzgzMGQ5
N2ZmMGYwNjZiMmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcApAQCAtMTc3NSw2ICsxNzc1LDIyIEBAIFJl
Z2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uKFJl
Z2lzdGVySUQqIHIwLCBGdW5jRXhwCiAgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKGluZGV4KTsK
ICAgICByZXR1cm4gcjA7CiB9CisgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKK1JlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3QXJyb3dGdW5jdGlv
bkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogcjAsIEZ1bmNFeHByTm9kZSogbikKK3sKKyAgICBlbWl0
VERaQ2hlY2sodGhpc1JlZ2lzdGVyKCkpOworICAgIEZ1bmN0aW9uQm9keU5vZGUqIGZ1bmN0aW9u
ID0gbi0+Ym9keSgpOworICAgIHVuc2lnbmVkIGluZGV4ID0gbV9jb2RlQmxvY2stPmFkZEZ1bmN0
aW9uRXhwcihtYWtlRnVuY3Rpb24oZnVuY3Rpb24pKTsKKyAgICAKKyAgICBlbWl0T3Bjb2RlKG9w
X25ld19hcnJvd19mdW5jX2V4cCk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHIwLT5pbmRl
eCgpKTsKKyAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQoc2NvcGVSZWdpc3RlcigpLT5pbmRleCgp
KTsKKyAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQoaW5kZXgpOworICAgIGluc3RydWN0aW9ucygp
LmFwcGVuZCh0aGlzUmVnaXN0ZXIoKS0+aW5kZXgoKSk7CisgICAgcmV0dXJuIHIwOworfQorI2Vu
ZGlmCiAKIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3RGVmYXVsdENvbnN0
cnVjdG9yKFJlZ2lzdGVySUQqIGRzdCwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCwg
Y29uc3QgSWRlbnRpZmllciYgbmFtZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAppbmRleCA5YWY4ZDRmYzQ4NWQ5
ODkyNDFiMTExMTgwOTI3YWFhNzZhOTUzMWM0Li5jYTY4YTI5ZTZiZjE1YmVlMjBiNjk3YTA0ZjI4
N2VjZmY4YmJjOGNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBp
bGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCkBAIC00NTQsNiArNDU0LDEwIEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3RnVuY3Rpb25JbnRlcm5hbChSZWdp
c3RlcklEKiBkc3QsIHVuc2lnbmVkIGluZGV4KTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5l
d0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiBkc3QsIEZ1bmNFeHByTm9kZSogZnVuYyk7
CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdEZWZhdWx0Q29uc3RydWN0b3IoUmVnaXN0ZXJJ
RCogZHN0LCBDb25zdHJ1Y3RvcktpbmQsIGNvbnN0IElkZW50aWZpZXImIG5hbWUpOworI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRO
ZXdBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiwgRnVuY0V4cHJOb2RlKik7Cisg
ICAgICAgIFJlZ2lzdGVySUQqIGVtaXRUaGlzTm9kZUJ5dGVjb2RlKFJlZ2lzdGVySUQqLCBKU1Rl
eHRQb3NpdGlvbik7CisjZW5kaWYKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld1JlZ0V4cChS
ZWdpc3RlcklEKiBkc3QsIFJlZ0V4cCopOwogCiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRNb3Zl
TGlua1RpbWVDb25zdGFudChSZWdpc3RlcklEKiBkc3QsIExpbmtUaW1lQ29uc3RhbnQpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4u
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3Bw
CmluZGV4IDAyOTBjODFhYjA5NzNjZWQwNmQ1YTZkZmU3OGMyMjUxOTZiMjJiMmYuLmQzNDM4YmUz
NDQyYjM0YTBmYTlkMmMzOTUyOGNiMTZlNjg2ODViZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKQEAgLTI5MDEsNiArMjkw
MSwxNCBAQCBSZWdpc3RlcklEKiBGdW5jRXhwck5vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdl
bmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3RlcklEKgogICAgIHJldHVybiBnZW5lcmF0b3IuZW1p
dE5ld0Z1bmN0aW9uRXhwcmVzc2lvbihnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QpLCB0
aGlzKTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICAgIAorLy8g
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEFycm93RnVuY0V4cHJOb2RlIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorUmVnaXN0ZXJJRCogQXJyb3dGdW5jRXhwck5vZGU6
OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3RlcklEKiBk
c3QpCit7CisgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Np
b24oZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0KSwgdGhpcyk7Cit9CisjZW5kaWYKKyAg
ICAKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLSBDbGFzc0RlY2xOb2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50
ZXJwcmV0ZXJJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0
SW50ZXJwcmV0ZXJJbmxpbmVzLmgKaW5kZXggNTNjODQ1ZjU2ZWI0MDQwODUzZjQxNzIxMjAwZDU1
NTQwMThhOTc5MS4uZDlmMTk3ZDQyMmE1ZTkxMzMzYTM1NDIwZjE5MTE2ZDBjYjgwMTYzOSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVy
SW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRl
cnByZXRlcklubGluZXMuaApAQCAtMTUzNiw3ICsxNTM2LDEzIEBAIGJvb2wgQWJzdHJhY3RJbnRl
cnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKHVuc2lnbmVkIGNsb2Ji
ZXJMaW1pCiAgICAgY2FzZSBDcmVhdGVDbG9uZWRBcmd1bWVudHM6CiAgICAgICAgIGZvck5vZGUo
bm9kZSkuc2V0VHlwZShtX2dyYXBoLCBTcGVjT2JqZWN0T3RoZXIpOwogICAgICAgICBicmVhazsK
LSAgICAgICAgCisgICAgICAgICAgICAKKyAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246CisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgZm9yTm9kZShub2RlKS5z
ZXQoCisgICAgICAgICAgICBtX2dyYXBoLCBtX2NvZGVCbG9jay0+Z2xvYmFsT2JqZWN0Rm9yKG5v
ZGUtPm9yaWdpbi5zZW1hbnRpYyktPmFycm93RnVuY3Rpb25TdHJ1Y3R1cmUoKSk7CisjZW5kaWYK
KyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICAgICAgZm9yTm9kZShu
b2RlKS5zZXQoCiAgICAgICAgICAgICBtX2dyYXBoLCBtX2NvZGVCbG9jay0+Z2xvYmFsT2JqZWN0
Rm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyktPmZ1bmN0aW9uU3RydWN0dXJlKCkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCmluZGV4IGVmNGMyNDc0
OWI3OGZhNmUwOWE0YzNkOWMyOTAxM2VhYTY1ZGFhOTIuLjBlM2M4ODBiN2NjY2I5Yjc1MGFhMzA4
OTVmMDY5NTk4ZDUyZGZmYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQ2FwYWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nh
cGFiaWxpdGllcy5jcHAKQEAgLTIzMSw2ICsyMzEsNyBAQCBDYXBhYmlsaXR5TGV2ZWwgY2FwYWJp
bGl0eUxldmVsKE9wY29kZUlEIG9wY29kZUlELCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgSW5zdHJ1
YwogICAgIGNhc2Ugb3Bfc3dpdGNoX3N0cmluZzogLy8gRG9uJ3QgaW5saW5lIGJlY2F1c2Ugd2Ug
ZG9uJ3Qgd2FudCB0byBjb3B5IHN0cmluZyB0YWJsZXMgaW4gdGhlIGNvbmN1cnJlbnQgSklULgog
ICAgICAgICByZXR1cm4gQ2FuQ29tcGlsZTsKIAorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNf
ZXhwOiAvLyBGaXhtZTogQXJyb3cgZnVuY3Rpb24gY2Fubid0IGJlIGlubGluZSBhcyB0aGUgY29t
bW9uIGZ1bmN0aW9uIGJlY2F1c2UgaXQgaGFzIGxleGljYWx5IGJpbmQgdGhpcy9hcmd1bWVudHMg
YW5kIGV0Yy4gYW5kICBhcnJvdyBmdW5jdGlvbiBoYXMgdG8gaGF2ZSBpdHMgb3duIGNvbXBpbGUg
YW5kIGlubGluZSBhcHByb2FjaC4KICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gQ2Fubm90
Q29tcGlsZTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0Nsb2JiZXJpemUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5o
CmluZGV4IDYwYTg5OTQ4M2IwNWE4OTNmZDZmMzg1YjQyMzk0NGNhMWQ1NjllZGMuLjc4NWY2Nzdi
Y2U3ZGYwNTE2MGQxM2Y0NDY4NmY2ZDlhNjAyMjg4ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQ2xvYmJlcml6ZS5oCkBAIC04NTksNyArODU5LDggQEAgdm9pZCBjbG9iYmVyaXpl
KEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSwgY29uc3QgUmVhZEZ1bmN0b3ImIHJlYWQsIGNvbnN0
IFdyaXRlRnUKICAgICAgICAgcmVhZChIZWFwT2JqZWN0Q291bnQpOwogICAgICAgICB3cml0ZShI
ZWFwT2JqZWN0Q291bnQpOwogICAgICAgICByZXR1cm47Ci0gICAgICAgIAorICAgIAorICAgIGNh
c2UgTmV3QXJyb3dGdW5jdGlvbjoKICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgICAgICBpZiAo
bm9kZS0+Y2FzdE9wZXJhbmQ8RnVuY3Rpb25FeGVjdXRhYmxlKj4oKS0+c2luZ2xldG9uRnVuY3Rp
b24oKS0+aXNTdGlsbFZhbGlkKCkpCiAgICAgICAgICAgICB3cml0ZShXYXRjaHBvaW50X2ZpcmUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCmluZGV4IGE5ZTMwYWNiNGIw
YTNlNDZkMTlhYzI4YzkzMTY3MTBlMGRlYWMwNDUuLjg2YjBmMDMwZmIxZjNlOGUzZWE0YTkwODA5
OWRmOTY4NzEwZTliODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
RG9lc0dDLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAK
QEAgLTIyOSw2ICsyMjksNyBAQCBib29sIGRvZXNHQyhHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUp
CiAgICAgY2FzZSBOZXdSZWdleHA6CiAgICAgY2FzZSBOZXdTdHJpbmdPYmplY3Q6CiAgICAgY2Fz
ZSBNYWtlUm9wZToKKyAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246CiAgICAgY2FzZSBOZXdGdW5j
dGlvbjoKICAgICBjYXNlIE5ld1R5cGVkQXJyYXk6CiAgICAgY2FzZSBUaHJvd1JlZmVyZW5jZUVy
cm9yOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNl
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKaW5kZXgg
OWJlYTZjOGE5NzZhYzYyZjMzZGYyNDkxY2VkNDY0OGZjNjNhMTU0Yi4uOTA4NWM2MzQ2ZTVlMDNh
MTFmZDA3OGNkNWI0YzRlNTVhODkyZDZiYiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0ZpeHVwUGhhc2UuY3BwCkBAIC0xMTc2LDYgKzExNzYsNyBAQCBwcml2YXRlOgogCiAgICAg
ICAgIGNhc2UgQ3JlYXRlU2NvcGVkQXJndW1lbnRzOgogICAgICAgICBjYXNlIENyZWF0ZUFjdGl2
YXRpb246CisgICAgICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKICAgICAgICAgY2FzZSBOZXdG
dW5jdGlvbjogewogICAgICAgICAgICAgZml4RWRnZTxDZWxsVXNlPihub2RlLT5jaGlsZDEoKSk7
CiAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHTm9kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgKaW5kZXgg
MmQ3NzVmNTFlNWQ1OWUyNzg1Mjc5MTQ4MWQ0NzNkZTUwMzMyYmQwOS4uYzI5NTgyYWE5ZGJlYTVh
M2YxMmQ3ODVhZTg3M2VlYTI1MWI5MDdmMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdOb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2Rl
LmgKQEAgLTEyODYsNiArMTI4Niw3IEBAIHN0cnVjdCBOb2RlIHsKICAgICAgICAgY2FzZSBDaGVj
a0NlbGw6CiAgICAgICAgIGNhc2UgTmF0aXZlQ29uc3RydWN0OgogICAgICAgICBjYXNlIE5hdGl2
ZUNhbGw6CisgICAgICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKICAgICAgICAgY2FzZSBOZXdG
dW5jdGlvbjoKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBkZWZhdWx0OgpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCmluZGV4IDc1Yzg4NDIzN2EwMGIxNmQ4
NzBkMjQwMTQ1OTMxOGRlZGMxYWU4ZmMuLmYzZTM4OTI5NzMwZTM4ODEwMTBiNWYzNjEzZmE1Mzg3
ODM1NTY5MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5
cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKQEAgLTI5
Myw2ICsyOTMsOCBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CiAgICAgXAogICAg
IG1hY3JvKE5ld0Z1bmN0aW9uLCBOb2RlUmVzdWx0SlMpIFwKICAgICBcCisgICAgbWFjcm8oTmV3
QXJyb3dGdW5jdGlvbiwgTm9kZVJlc3VsdEpTIHwgTm9kZU11c3RHZW5lcmF0ZSkgXAorICAgIFwK
ICAgICAvKiBUaGVzZSBhcmVuJ3QgdGVybWluYWxzIGJ1dCBhbHdheXMgZXhpdCAqLyBcCiAgICAg
bWFjcm8oVGhyb3csIE5vZGVNdXN0R2VuZXJhdGUpIFwKICAgICBtYWNybyhUaHJvd1JlZmVyZW5j
ZUVycm9yLCBOb2RlTXVzdEdlbmVyYXRlKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCmluZGV4IDMx
ZDY2YWJlNWM4YWM3NDcwNmYxZDJkYWQ5Mjk4MTMzZjdjODU4NjUuLmI3MDg0MTFkOWNjZjQyOTNj
YTI1M2Y1YjQ1NGJjNjA1ZDkxMDNhNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCkBAIC0yMTcs
NiArMjE3LDcgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBHZXRHZXR0ZXI6CiAgICAgICAgIGNh
c2UgR2V0U2V0dGVyOgogICAgICAgICBjYXNlIEdldENhbGxlZToKKyAgICAgICAgY2FzZSBOZXdB
cnJvd0Z1bmN0aW9uOgogICAgICAgICBjYXNlIE5ld0Z1bmN0aW9uOiB7CiAgICAgICAgICAgICBj
aGFuZ2VkIHw9IHNldFByZWRpY3Rpb24oU3BlY0Z1bmN0aW9uKTsKICAgICAgICAgICAgIGJyZWFr
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRl
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaAppbmRleCBm
NGIwNzlmODdiMDE4YzAwNTczMjZlYjA5NTE0MjYwNzg1ZTMyZWM2Li41ZTUyYjRlYTg0ODZjZTk5
OGMzYWEyODM5MzRjYThjZDRiZjBkNjU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NhZmVUb0V4ZWN1dGUuaApAQCAtMjI4LDYgKzIyOCw3IEBAIGJvb2wgc2FmZVRvRXhlY3V0
ZShBYnN0cmFjdFN0YXRlVHlwZSYgc3RhdGUsIEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSkKICAg
ICBjYXNlIENyZWF0ZUNsb25lZEFyZ3VtZW50czoKICAgICBjYXNlIEdldEZyb21Bcmd1bWVudHM6
CiAgICAgY2FzZSBQdXRUb0FyZ3VtZW50czoKKyAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246CiAg
ICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICBjYXNlIEp1bXA6CiAgICAgY2FzZSBCcmFuY2g6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKaW5kZXggNjdl
NjczYjFjMWI2YjIxYWU3MTAzODM0YzlhZmIyYzA2ZTcxZDkxZC4uMzBiYmViMTY0YzczMmVjMzA0
MmMxMTUwZmZkMWNmZTQ5ODQxNzM4NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQuaApAQCAtMTIwNSw2ICsxMjA1LDEyIEBAIHB1YmxpYzoKICAgICAg
ICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIFRydXN0ZWRJbW1QdHIo
Y2VsbCkpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJl
c3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQorICAgIAorICAgIEpJVENvbXBpbGVyOjpD
YWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0NKIG9wZXJhdGlvbiwgR1BSUmVn
IHJlc3VsdCwgR1BSUmVnIGFyZzEsIEpTQ2VsbCogY2VsbCwgR1BSUmVnIGFyZzIpCisgICAgewor
ICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgVHJ1c3RlZElt
bVB0cihjZWxsKSwgYXJnMik7CisgICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlv
bkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAgICB9CiAKICAgICBKSVRDb21w
aWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9uX0VXcyBvcGVyYXRpb24sIFdh
dGNocG9pbnRTZXQqIHdhdGNocG9pbnRTZXQpCiAgICAgewpAQCAtMTYxMSw2ICsxNjE3LDExIEBA
IHB1YmxpYzoKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEs
IFRydXN0ZWRJbW1QdHIoY2VsbCkpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNl
cHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdFBheWxvYWQsIHJlc3VsdFRhZyk7
CiAgICAgfQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRp
b25fRUpzY0NKIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdFRhZywgR1BSUmVnIHJlc3VsdFBheWxv
YWQsIEdQUlJlZyBhcmcxLCBKU0NlbGwqIGNlbGwsIEdQUlJlZyBhcmcyKQorICAgIHsKKyAgICAg
ICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIFRydXN0ZWRJbW1QdHIo
Y2VsbCksIGFyZzIpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVj
a1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdFBheWxvYWQsIHJlc3VsdFRhZyk7CisgICAgfQog
ICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRVNzaUNJ
IG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdFRhZywgR1BSUmVnIHJlc3VsdFBheWxvYWQsIFN0cnVj
dHVyZVN0dWJJbmZvKiBzdHViSW5mbywgR1BSUmVnIGFyZzEsIGNvbnN0IFN0cmluZ0ltcGwqIHVp
ZCkKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVz
dGVkSW1tUHRyKHN0dWJJbmZvKSwgYXJnMSwgVHJ1c3RlZEltbVB0cih1aWQpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCmlu
ZGV4IDIzY2YyNDRiMGM4M2M5NzE1YmU3MTE1NGViNmMyNjdlZDVhMzM4NzQuLjg4ZDllZTk5NWQw
NjUzNTdiZTAxNzIwMzFmNmM1NDRhMjgyN2U0MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcApAQCAtNDIxMyw3ICs0MjEz
LDExIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAg
Y29tcGlsZUNyZWF0ZUNsb25lZEFyZ3VtZW50cyhub2RlKTsKICAgICAgICAgYnJlYWs7CiAgICAg
fQotICAgICAgICAKKyAgICAKKyAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246CisgICAgICAgIERG
R19DUkFTSChtX2ppdC5ncmFwaCgpLCBub2RlLCAiQXJyb3cgZnVuY3Rpb24gY2FuXCd0IGJlIGNv
bXBpbGVkIGluIERGRyIpOworICAgICAgICBicmVhazsKKyAgICAgICAgICAgIAogICAgIGNhc2Ug
TmV3RnVuY3Rpb246CiAgICAgICAgIGNvbXBpbGVOZXdGdW5jdGlvbihub2RlKTsKICAgICAgICAg
YnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklUNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VDY0LmNwcAppbmRleCAzZTU3NGQ0ZjY5YjA1OTM2MTRjYzdmMmJkMzFjZWI5ZDU4ZWVjZTMwLi5m
Nzc0MDhhZmEzMmZjMTI3NWI5ZmM5OWVlMDU3MjFiODEyZmQyNDcxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKQEAgLTQyNTIsMTEg
KzQyNTIsMTUgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAg
ICAgICBjb21waWxlQ3JlYXRlQ2xvbmVkQXJndW1lbnRzKG5vZGUpOwogICAgICAgICBicmVhazsK
ICAgICB9Ci0gICAgICAgIAorCisgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgorICAgICAgICBE
RkdfQ1JBU0gobV9qaXQuZ3JhcGgoKSwgbm9kZSwgIkFycm93IGZ1bmN0aW9uIGNhblwnIGluIERG
RyIpOworICAgICAgICBicmVhazsKKyAgICAgICAgICAgIAogICAgIGNhc2UgTmV3RnVuY3Rpb246
CiAgICAgICAgIGNvbXBpbGVOZXdGdW5jdGlvbihub2RlKTsKICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIAorCiAgICAgY2FzZSBJbjoKICAgICAgICAgY29tcGlsZUluKG5vZGUpOwogICAgICAgICBi
cmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RydWN0dXJl
UmVnaXN0cmF0aW9uUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTdHJ1
Y3R1cmVSZWdpc3RyYXRpb25QaGFzZS5jcHAKaW5kZXggMjg2NDZkMTNmY2Y0Yzk2NWM2MjBkMDAy
MTFiMGRjYmYwM2IzN2MyZC4uMmM0MmRmM2MwMjM4M2U3MWY1ZWM5NTg2YTI3OGZiYjFkYjEzMDgw
ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTdHJ1Y3R1cmVSZWdp
c3RyYXRpb25QaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTdHJ1
Y3R1cmVSZWdpc3RyYXRpb25QaGFzZS5jcHAKQEAgLTEzMCw3ICsxMzAsMTEgQEAgcHVibGljOgog
ICAgICAgICAgICAgICAgIGNhc2UgTmV3UmVnZXhwOgogICAgICAgICAgICAgICAgICAgICByZWdp
c3RlclN0cnVjdHVyZShtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihub2RlLT5vcmlnaW4uc2VtYW50
aWMpLT5yZWdFeHBTdHJ1Y3R1cmUoKSk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgICAgICAgICAg
ICAgcmVnaXN0ZXJTdHJ1Y3R1cmUobV9ncmFwaC5nbG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2lu
LnNlbWFudGljKS0+YXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpKTsKKyNlbmRpZgorICAgICAgICAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAg
ICAgICAgICAgICAgICAgICByZWdpc3RlclN0cnVjdHVyZShtX2dyYXBoLmdsb2JhbE9iamVjdEZv
cihub2RlLT5vcmlnaW4uc2VtYW50aWMpLT5mdW5jdGlvblN0cnVjdHVyZSgpKTsKICAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmNwcAppbmRleCBlNDE2ZmRhYWZlZTIyMjlmNjUz
YjlhZTA2MjQ4MDAwOTk5ODc1YTAwLi4zYzM4NjRjYTE4MGFhMzZlNDgwOGMyM2ExMzA2YmUyOGU1
ZDdiOTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0
SGVhcFJlcG9zaXRvcnkuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJz
dHJhY3RIZWFwUmVwb3NpdG9yeS5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkRp
cmVjdEFyZ3VtZW50cy5oIgogI2luY2x1ZGUgIkdldHRlclNldHRlci5oIgorI2luY2x1ZGUgIkpT
QXJyb3dGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTRW52aXJvbm1lbnRSZWNvcmQuaCIKICNpbmNs
dWRlICJKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaCIKICNpbmNsdWRlICJKU1Njb3BlLmgiCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9z
aXRvcnkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3Np
dG9yeS5oCmluZGV4IDkxMjc1NGRmYzQwMTUyYjBlZDI0ODM2YWM3NWI4Zjk2OTg0Mzk5YmIuLmVl
YjIwOGJlMWY0NmNmYzQyYjk0OTVhOWZhOTIxZmJjZDZkODJkYTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oCkBAIC04
OCw2ICs4OCwxMyBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CiAgICAgbWFjcm8o
U3RydWN0dXJlX2dsb2JhbE9iamVjdCwgU3RydWN0dXJlOjpnbG9iYWxPYmplY3RPZmZzZXQoKSkg
XAogICAgIG1hY3JvKFN0cnVjdHVyZV9wcm90b3R5cGUsIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zm
c2V0KCkpIFwKICAgICBtYWNybyhTdHJ1Y3R1cmVfc3RydWN0dXJlSUQsIFN0cnVjdHVyZTo6c3Ry
dWN0dXJlSURPZmZzZXQoKSkKKyAgICAKKyNkZWZpbmUgRk9SX0VBQ0hfQUJTVFJBQ1RfRklFTERf
QVJST1dGVU5DVElPTihtYWNybykgXAorICAgIG1hY3JvKEpTQXJyb3dGdW5jdGlvbl9leGVjdXRh
YmxlLCBKU0Fycm93RnVuY3Rpb246Om9mZnNldE9mRXhlY3V0YWJsZSgpKSBcCisgICAgbWFjcm8o
SlNBcnJvd0Z1bmN0aW9uX3Njb3BlLCBKU0Fycm93RnVuY3Rpb246Om9mZnNldE9mU2NvcGVDaGFp
bigpKSBcCisgICAgbWFjcm8oSlNBcnJvd0Z1bmN0aW9uX3JhcmVEYXRhLCBKU0Fycm93RnVuY3Rp
b246Om9mZnNldE9mUmFyZURhdGEoKSkgXAorICAgIG1hY3JvKEpTQXJyb3dGdW5jdGlvbl90aGlz
LCBKU0Fycm93RnVuY3Rpb246Om9mZnNldE9mVGhpc1ZhbHVlKCkpCisgICAgCiAKICNkZWZpbmUg
Rk9SX0VBQ0hfSU5ERVhFRF9BQlNUUkFDVF9IRUFQKG1hY3JvKSBcCiAgICAgbWFjcm8oRGlyZWN0
QXJndW1lbnRzX3N0b3JhZ2UsIERpcmVjdEFyZ3VtZW50czo6c3RvcmFnZU9mZnNldCgpLCBzaXpl
b2YoRW5jb2RlZEpTVmFsdWUpKSBcCkBAIC0xMjksNiArMTM2LDkgQEAgcHVibGljOgogCiAjZGVm
aW5lIEFCU1RSQUNUX0ZJRUxEX0RFQ0xBUkFUSU9OKG5hbWUsIG9mZnNldCkgQWJzdHJhY3RGaWVs
ZCBuYW1lOwogICAgIEZPUl9FQUNIX0FCU1RSQUNUX0ZJRUxEKEFCU1RSQUNUX0ZJRUxEX0RFQ0xB
UkFUSU9OKQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgRk9SX0VB
Q0hfQUJTVFJBQ1RfRklFTERfQVJST1dGVU5DVElPTihBQlNUUkFDVF9GSUVMRF9ERUNMQVJBVElP
TikKKyNlbmRpZgogI3VuZGVmIEFCU1RSQUNUX0ZJRUxEX0RFQ0xBUkFUSU9OCiAgICAgCiAgICAg
QWJzdHJhY3RGaWVsZCYgSlNDZWxsX2ZyZWVMaXN0TmV4dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAppbmRleCAwYmZkZmNjYzZkMzJhZWRiNDgwYzcz
ODlhZGNiZTE2NWI3N2I0ZTIzLi4zYmYzODc5MDcyOWM1NmE1N2EzNjczMzFiYTMyZjkzZjQyNDJk
NDYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGll
cy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3Bw
CkBAIC0xMDMsNiArMTAzLDcgQEAgaW5saW5lIENhcGFiaWxpdHlMZXZlbCBjYW5Db21waWxlKE5v
ZGUqIG5vZGUpCiAgICAgY2FzZSBMb29wSGludDoKICAgICBjYXNlIFNraXBTY29wZToKICAgICBj
YXNlIENyZWF0ZUFjdGl2YXRpb246CisgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgogICAgIGNh
c2UgTmV3RnVuY3Rpb246CiAgICAgY2FzZSBHZXRDbG9zdXJlVmFyOgogICAgIGNhc2UgUHV0Q2xv
c3VyZVZhcjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMSW50cmlu
c2ljUmVwb3NpdG9yeS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNS
ZXBvc2l0b3J5LmgKaW5kZXggM2Q2NmVjYTg4ZDA0M2JiMzU2Y2I5NjY3ZTlmNmUzNWFmOTg2Yjhk
My4uOGZiN2FlZTRjYjQwMWM3ZmEyYWNlMjI5OTJmZjE1NjBkZDc5ZmZlYiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5LmgKQEAgLTg0
LDYgKzg0LDcgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgewogICAgIG1hY3JvKEpf
SklUT3BlcmF0aW9uX0VKQywgZnVuY3Rpb25UeXBlKGludDY0LCBpbnRQdHIsIGludDY0LCBpbnRQ
dHIpKSBcCiAgICAgbWFjcm8oSl9KSVRPcGVyYXRpb25fRUpKLCBmdW5jdGlvblR5cGUoaW50NjQs
IGludFB0ciwgaW50NjQsIGludDY0KSkgXAogICAgIG1hY3JvKEpfSklUT3BlcmF0aW9uX0VKc2ND
LCBmdW5jdGlvblR5cGUoaW50UHRyLCBpbnRQdHIsIGludFB0ciwgaW50UHRyKSkgXAorICAgIG1h
Y3JvKEpfSklUT3BlcmF0aW9uX0VKc2NDSiwgZnVuY3Rpb25UeXBlKGludDY0LCBpbnRQdHIsIGlu
dDY0LCBpbnQ2NCwgaW50NjQpKVwKICAgICBtYWNybyhKX0pJVE9wZXJhdGlvbl9FSnNzWiwgZnVu
Y3Rpb25UeXBlKGludDY0LCBpbnRQdHIsIGludFB0ciwgaW50MzIpKSBcCiAgICAgbWFjcm8oSl9K
SVRPcGVyYXRpb25fRVNzaUpJLCBmdW5jdGlvblR5cGUoaW50NjQsIGludFB0ciwgaW50UHRyLCBp
bnQ2NCwgaW50UHRyKSkgXAogICAgIG1hY3JvKEpzc19KSVRPcGVyYXRpb25fRVosIGZ1bmN0aW9u
VHlwZShpbnRQdHIsIGludFB0ciwgaW50MzIpKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCmluZGV4IGUwZDgyYmEwMTIyZTk4NDlmODgzODgw
NWM2NDYwYmQwNmI1NjE5NjYuLmM0YmFiMWZiNWM1NmI1MzIzN2MyNDNhNDAzOGUzNjUxMzIyNDE2
ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xM
Vk0uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0u
Y3BwCkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSAiRlRMT3V0cHV0LmgiCiAjaW5jbHVkZSAi
RlRMVGh1bmtzLmgiCiAjaW5jbHVkZSAiRlRMV2VpZ2h0ZWRUYXJnZXQuaCIKKyNpbmNsdWRlICJK
U0Fycm93RnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNM
ZXhpY2FsRW52aXJvbm1lbnQuaCIKICNpbmNsdWRlICJPcGVyYW5kc0lubGluZXMuaCIKQEAgLTYw
Niw2ICs2MDcsMTEgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBDcmVhdGVBY3RpdmF0aW9uOgog
ICAgICAgICAgICAgY29tcGlsZUNyZWF0ZUFjdGl2YXRpb24oKTsKICAgICAgICAgICAgIGJyZWFr
OworICAgICAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICAgICAgICAgIGNvbXBpbGVOZXdBcnJvd0Z1bmN0aW9uKCk7Cisj
ZW5kaWYKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAg
ICAgICAgICAgY29tcGlsZU5ld0Z1bmN0aW9uKCk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTI5
ODIsNiArMjk4OCw1MiBAQCBwcml2YXRlOgogICAgICAgICBzZXRKU1ZhbHVlKG1fb3V0LnBoaSht
X291dC5pbnRQdHIsIGZhc3RSZXN1bHQsIHNsb3dSZXN1bHQpKTsKICAgICB9CiAgICAgCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2b2lkIGNvbXBpbGVOZXdBcnJv
d0Z1bmN0aW9uKCkKKyAgICB7CisKKyAgICAgICAgTFZhbHVlIHNjb3BlID0gbG93Q2VsbChtX25v
ZGUtPmNoaWxkMSgpKTsKKyAgICAgICAgTFZhbHVlIHRoaXNWYWx1ZSA9IGxvd0pTVmFsdWUobV9u
b2RlLT5jaGlsZDIoKSk7CisgICAgICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9
IG1fbm9kZS0+Y2FzdE9wZXJhbmQ8RnVuY3Rpb25FeGVjdXRhYmxlKj4oKTsKKyAgICAgICAgaWYg
KGV4ZWN1dGFibGUtPnNpbmdsZXRvbkZ1bmN0aW9uKCktPmlzU3RpbGxWYWxpZCgpKSB7CisgICAg
ICAgICAgICBMVmFsdWUgY2FsbFJlc3VsdCA9IHZtQ2FsbCgKKyAgICAgICAgICAgICAgICBtX291
dC5vcGVyYXRpb24ob3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbiksCisgICAgICAgICAgICAgICAg
bV9jYWxsRnJhbWUsIHNjb3BlLCB3ZWFrUG9pbnRlcihleGVjdXRhYmxlKSwgdGhpc1ZhbHVlKTsK
KyAgICAgICAgICAgIHNldEpTVmFsdWUoY2FsbFJlc3VsdCk7CisgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gbV9n
cmFwaC5nbG9iYWxPYmplY3RGb3IobV9ub2RlLT5vcmlnaW4uc2VtYW50aWMpLT5hcnJvd0Z1bmN0
aW9uU3RydWN0dXJlKCk7CisgICAgICAgIAorICAgICAgICBMQmFzaWNCbG9jayBzbG93UGF0aCA9
IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiTmV3QXJyb3dGdW5jdGlvbiBzbG93IHBhdGgiKSk7Cisg
ICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgi
TmV3QXJyb3dGdW5jdGlvbiBjb250aW51YXRpb24iKSk7CisgICAgICAgIAorICAgICAgICBMQmFz
aWNCbG9jayBsYXN0TmV4dCA9IG1fb3V0Lmluc2VydE5ld0Jsb2Nrc0JlZm9yZShzbG93UGF0aCk7
CisgICAgICAgIAorICAgICAgICBMVmFsdWUgZmFzdE9iamVjdCA9IGFsbG9jYXRlT2JqZWN0PEpT
QXJyb3dGdW5jdGlvbj4oc3RydWN0dXJlLCBtX291dC5pbnRQdHJaZXJvLCBzbG93UGF0aCk7Cisg
ICAgICAgIAorICAgICAgICAvLyBXZSBkb24ndCBuZWVkIG1lbW9yeSBiYXJyaWVycyBzaW5jZSB3
ZSBqdXN0IGZhc3QtY3JlYXRlZCB0aGUgZnVuY3Rpb24sIHNvIGl0CisgICAgICAgIC8vIG11c3Qg
YmUgeW91bmcuCisgICAgICAgIG1fb3V0LnN0b3JlUHRyKHNjb3BlLCBmYXN0T2JqZWN0LCBtX2hl
YXBzLkpTQXJyb3dGdW5jdGlvbl9zY29wZSk7CisgICAgICAgIG1fb3V0LnN0b3JlUHRyKHdlYWtQ
b2ludGVyKGV4ZWN1dGFibGUpLCBmYXN0T2JqZWN0LCBtX2hlYXBzLkpTQXJyb3dGdW5jdGlvbl9l
eGVjdXRhYmxlKTsKKyAgICAgICAgbV9vdXQuc3RvcmVQdHIodGhpc1ZhbHVlLCBmYXN0T2JqZWN0
LCBtX2hlYXBzLkpTQXJyb3dGdW5jdGlvbl90aGlzKTsKKyAgICAgICAgbV9vdXQuc3RvcmVQdHIo
bV9vdXQuaW50UHRyWmVybywgZmFzdE9iamVjdCwgbV9oZWFwcy5KU0Fycm93RnVuY3Rpb25fcmFy
ZURhdGEpOworICAgICAgICAKKyAgICAgICAgVmFsdWVGcm9tQmxvY2sgZmFzdFJlc3VsdCA9IG1f
b3V0LmFuY2hvcihmYXN0T2JqZWN0KTsKKyAgICAgICAgbV9vdXQuanVtcChjb250aW51YXRpb24p
OworICAgICAgICAKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8oc2xvd1BhdGgsIGNvbnRpbnVhdGlv
bik7CisgICAgICAgIExWYWx1ZSBjYWxsUmVzdWx0ID0gdm1DYWxsKAorICAgICAgICAgICAgbV9v
dXQub3BlcmF0aW9uKG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb25XaXRoSW52YWxpZGF0ZWRSZWFs
bG9jYXRpb25XYXRjaHBvaW50KSwKKyAgICAgICAgICAgIG1fY2FsbEZyYW1lLCBzY29wZSwgd2Vh
a1BvaW50ZXIoZXhlY3V0YWJsZSksIHRoaXNWYWx1ZSk7CisgICAgICAgIFZhbHVlRnJvbUJsb2Nr
IHNsb3dSZXN1bHQgPSBtX291dC5hbmNob3IoY2FsbFJlc3VsdCk7CisgICAgICAgIG1fb3V0Lmp1
bXAoY29udGludWF0aW9uKTsKKyAgICAgICAgCisgICAgICAgIG1fb3V0LmFwcGVuZFRvKGNvbnRp
bnVhdGlvbiwgbGFzdE5leHQpOworICAgICAgICBzZXRKU1ZhbHVlKG1fb3V0LnBoaShtX291dC5p
bnRQdHIsIGZhc3RSZXN1bHQsIHNsb3dSZXN1bHQpKTsKKyAgICB9CisjZW5kaWYKKyAgICAKICAg
ICB2b2lkIGNvbXBpbGVDcmVhdGVEaXJlY3RBcmd1bWVudHMoKQogICAgIHsKICAgICAgICAgLy8g
RklYTUU6IEEgbW9yZSBlZmZlY3RpdmUgd2F5IG9mIGRlYWxpbmcgd2l0aCB0aGUgYXJndW1lbnQg
Y291bnQgYW5kIGNhbGxlZSBpcyB0byBoYXZlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAppbmRleCAxN2RkM2I0ZjQ1ZjU2ZmYyMDAyM2Q3
M2I3NWRjN2Q3MGI2MzQ5NjhmLi4yMDAwNWMwNzE1MzNiMTY4M2FmZGEyZDYyZGM2NWMwMTY3ZDkx
MDk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJw
cmV0ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnBy
ZXRlci5jcHAKQEAgLTQ0LDYgKzQ0LDcgQEAKICNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgi
CiAjaW5jbHVkZSAiR2V0dGVyU2V0dGVyLmgiCiAjaW5jbHVkZSAiSlNBcnJheS5oIgorI2luY2x1
ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgogI2lu
Y2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhlbHBlcnMuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxwZXJzLmgKaW5kZXggZmQzNDRhZGJjYWJi
MTVmYmQ4MTRlZDZmYmQ0NzhmNzRiNjE1NzYzYy4uMDdhY2Q2ZDUzMmQzMjhhZmRiNzdhY2YyMDEz
MzkwZWYzOWRkOWQ2NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DQ2Fs
bEhlbHBlcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxsSGVscGVycy5o
CkBAIC0yNzQsNiArMjc0LDE1IEBAIHB1YmxpYzoKICAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFy
ZzIpOwogICAgICAgICBhZGRDYWxsQXJndW1lbnQoYXJnMyk7CiAgICAgfQorICAgIAorICAgIEFM
V0FZU19JTkxJTkUgdm9pZCBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoR1BSUmVnIGFyZzEs
IFRydXN0ZWRJbW1QdHIgYXJnMiwgR1BSUmVnIGFyZzMpCisgICAgeworICAgICAgICByZXNldENh
bGxBcmd1bWVudHMoKTsKKyAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KEdQUkluZm86OmNhbGxGcmFt
ZVJlZ2lzdGVyKTsKKyAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzEpOworICAgICAgICBhZGRD
YWxsQXJndW1lbnQoYXJnMik7CisgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmczKTsKKyAgICB9
CiAKICAgICBBTFdBWVNfSU5MSU5FIHZvaWQgc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKEdQ
UlJlZyBhcmcxLCBHUFJSZWcgYXJnMiwgVHJ1c3RlZEltbTMyIGFyZzMpCiAgICAgewpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVQuY3BwCmluZGV4IGI0MTEzYzQ1ZTcyYzdlMTU4ZWMxZjE5MjNjYmZlMjlj
NWVmNTQyODIuLjhhMWJhYzg3ZmQxMGI5ODdmNjRmZDBjMjExMzIxMGNhNjcwNWVkYjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKQEAgLTI2MCw2ICsyNjAsNyBAQCB2b2lkIEpJVDo6cHJp
dmF0ZUNvbXBpbGVNYWluUGFzcygpCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfYXJyYXlfYnVm
ZmVyKQogICAgICAgICBERUZJTkVfT1Aob3BfbmV3X2Z1bmMpCiAgICAgICAgIERFRklORV9PUChv
cF9uZXdfZnVuY19leHApCisgICAgICAgIERFRklORV9PUChvcF9uZXdfYXJyb3dfZnVuY19leHAp
IAogICAgICAgICBERUZJTkVfT1Aob3BfbmV3X29iamVjdCkKICAgICAgICAgREVGSU5FX09QKG9w
X25ld19yZWdleHApCiAgICAgICAgIERFRklORV9PUChvcF9ub3QpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVQuaAppbmRleCBkNzIyNWVhNGIyYWU1NDMxODc4NDRjMjA3NmVjNmViOGQ2NWQyMWM5Li5kYWE1
MjA5NDg4NTc5MTYwYmJkOWM0N2QwN2I0YTA0NTlmYjhiMDEyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklULmgKQEAgLTUyMSw2ICs1MjEsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBl
bWl0X29wX25ld19hcnJheV9idWZmZXIoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0
X29wX25ld19mdW5jKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfZnVu
Y19leHAoSW5zdHJ1Y3Rpb24qKTsKKyAgICAgICAgdm9pZCBlbWl0X29wX25ld19hcnJvd19mdW5j
X2V4cChJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X29iamVjdChJbnN0
cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X3JlZ2V4cChJbnN0cnVjdGlvbiop
OwogICAgICAgICB2b2lkIGVtaXRfb3Bfbm90KEluc3RydWN0aW9uKik7CkBAIC03MDIsNiArNzAz
LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxP
cGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpKLCBpbnQsIEdQUlJlZywgR1BSUmVnKTsKICAgICAg
ICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihDX0pJVE9wZXJhdGlvbl9FSnNj
LCBHUFJSZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpf
SklUT3BlcmF0aW9uX0VKc2NDLCBpbnQsIEdQUlJlZywgSlNDZWxsKik7CisgICAgICAgIE1hY3Jv
QXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0NKLCBpbnQs
IEdQUlJlZywgSlNDZWxsKiwgR1BSUmVnKTsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwg
Y2FsbE9wZXJhdGlvbihDX0pJVE9wZXJhdGlvbl9FSnNjWiwgR1BSUmVnLCBpbnQzMl90KTsKICAg
ICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihDX0pJVE9wZXJhdGlvbl9F
SnNjWiwgaW50LCBHUFJSZWcsIGludDMyX3QpOwogI2lmIFVTRShKU1ZBTFVFNjQpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oCmluZGV4IDllZTI0ZDA5MjI4YTk4ODJlYTc2OTYy
OWQxYTg3YjZjMzRhODYzMzQuLmEwZTQwYzVjNjFmZTYzZTk4NjNlZDIyM2VkZjVkNDUxZjMxOGE3
NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lcy5oCkBAIC0yNzEsNiArMjcx
LDEyIEBAIEFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxsT3BlcmF0
aW9uKEpfSklUT3BlcmF0aW9uX0VKc2NDIG9wZXJhCiAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRo
RXhjZXB0aW9uQ2hlY2tTZXRKU1ZhbHVlUmVzdWx0KG9wZXJhdGlvbiwgZHN0KTsKIH0KIAorQUxX
QVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oSl9KSVRP
cGVyYXRpb25fRUpzY0NKIG9wZXJhdGlvbiwgaW50IGRzdCwgR1BSUmVnIGFyZzEsIEpTQ2VsbCog
Y2VsbCwgR1BSUmVnIGFyZzIpCit7CisgICAgc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFy
ZzEsIFRydXN0ZWRJbW1QdHIoY2VsbCksIGFyZzIpOworICAgIHJldHVybiBhcHBlbmRDYWxsV2l0
aEV4Y2VwdGlvbkNoZWNrU2V0SlNWYWx1ZVJlc3VsdChvcGVyYXRpb24sIGRzdCk7Cit9CisgICAg
CiBBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6Y2FsbE9wZXJhdGlvbihK
X0pJVE9wZXJhdGlvbl9FUCBvcGVyYXRpb24sIGludCBkc3QsIHZvaWQqIHBvaW50ZXIpCiB7CiAg
ICAgc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIocG9pbnRlcikpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKaW5kZXggNWQ0ZDBiOWZlODc2
OGFjMmZlNTk2NTc1ZWQ0YWE4MTIyMGRhZDZjNy4uZGNlMzcxMjVjNGVmYjA1NGE4MDYxNTRlMGFk
MjNhZGZmOWVhNGI3YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRP
cGNvZGVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3Bw
CkBAIC05ODcsNiArOTg3LDI5IEBAIHZvaWQgSklUOjplbWl0X29wX25ld19mdW5jX2V4cChJbnN0
cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9u
TmV3RnVuY3Rpb24sIGRzdCwgcmVnVDAsIGZ1bmNFeHByKTsKICAgICBkb25lLmxpbmsodGhpcyk7
CiB9CisgICAgCit2b2lkIEpJVDo6ZW1pdF9vcF9uZXdfYXJyb3dfZnVuY19leHAoSW5zdHJ1Y3Rp
b24qIGN1cnJlbnRJbnN0cnVjdGlvbikKK3sKKyAgICBKdW1wIG5vdFVuZGVmaW5lZFNjb3BlOwor
ICAgIGludCBkc3QgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kOworI2lmIFVTRShK
U1ZBTFVFNjQpCisgICAgZW1pdEdldFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25b
Ml0udS5vcGVyYW5kLCByZWdUMCk7CisgICAgZW1pdEdldFZpcnR1YWxSZWdpc3RlcihjdXJyZW50
SW5zdHJ1Y3Rpb25bNF0udS5vcGVyYW5kLCByZWdUMSk7CisgICAgbm90VW5kZWZpbmVkU2NvcGUg
PSBicmFuY2g2NChOb3RFcXVhbCwgcmVnVDAsIFRydXN0ZWRJbW02NChKU1ZhbHVlOjplbmNvZGUo
anNVbmRlZmluZWQoKSkpKTsKKyAgICBzdG9yZTY0KFRydXN0ZWRJbW02NChKU1ZhbHVlOjplbmNv
ZGUoanNVbmRlZmluZWQoKSkpLCBBZGRyZXNzKGNhbGxGcmFtZVJlZ2lzdGVyLCBzaXplb2YoUmVn
aXN0ZXIpICogZHN0KSk7CisjZWxzZQorICAgIGVtaXRMb2FkUGF5bG9hZChjdXJyZW50SW5zdHJ1
Y3Rpb25bMl0udS5vcGVyYW5kLCByZWdUMCk7CisgICAgZW1pdExvYWRQYXlsb2FkKGN1cnJlbnRJ
bnN0cnVjdGlvbls0XS51Lm9wZXJhbmQsIHJlZ1QxKTsKKyAgICBub3RVbmRlZmluZWRTY29wZSA9
IGJyYW5jaDMyKE5vdEVxdWFsLCB0YWdGb3IoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFu
ZCksIFRydXN0ZWRJbW0zMihKU1ZhbHVlOjpVbmRlZmluZWRUYWcpKTsKKyAgICBlbWl0U3RvcmUo
ZHN0LCBqc1VuZGVmaW5lZCgpKTsKKyNlbmRpZgorICAgIEp1bXAgZG9uZSA9IGp1bXAoKTsKKyAg
ICBub3RVbmRlZmluZWRTY29wZS5saW5rKHRoaXMpOworICAgIAorICAgIEZ1bmN0aW9uRXhlY3V0
YWJsZSogZnVuY3Rpb24gPSBtX2NvZGVCbG9jay0+ZnVuY3Rpb25FeHByKGN1cnJlbnRJbnN0cnVj
dGlvblszXS51Lm9wZXJhbmQpOworICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uTmV3QXJyb3dG
dW5jdGlvbiwgZHN0LCByZWdUMCwgZnVuY3Rpb24sIHJlZ1QxKTsKKyAgICBkb25lLmxpbmsodGhp
cyk7Cit9CiAKIHZvaWQgSklUOjplbWl0X29wX25ld19hcnJheShJbnN0cnVjdGlvbiogY3VycmVu
dEluc3RydWN0aW9uKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRPcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9u
cy5jcHAKaW5kZXggOThkODc3M2YzOGQ5NWYyYjhlNThjZGJkNzgzNjAyOTgxNTQwMDcxMy4uOTY3
Y2E4ZWFmNzViMTBkZTgwMTBmMjE0ZDRlYzY3NzI0N2ZlNDJjMSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCkBAIC0yMCw3ICsyMCw3IEBACiAgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCiAgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKICAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKQEAgLTQyLDYgKzQyLDggQEAKICNp
bmNsdWRlICJIb3N0Q2FsbFJldHVyblZhbHVlLmgiCiAjaW5jbHVkZSAiSklULmgiCiAjaW5jbHVk
ZSAiSklUVG9ERkdEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suaCIKKyNpbmNsdWRlICJKU0Fy
cm93RnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU0JvdW5kRnVuY3Rpb24uaCIKICNpbmNsdWRlICJK
U0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDYXRjaFNjb3BlLmgiCiAjaW5jbHVkZSAiSlNGdW5j
dGlvbk5hbWVTY29wZS5oIgpAQCAtNjcsNyArNjksNyBAQCB2b2lkIHB1c2hOYW1lU2NvcGUoRXhl
Y1N0YXRlKiBleGVjLCBpbnQzMl90IGRzdCwgU3ltYm9sVGFibGUqIHN5bWJvbFRhYmxlLCBFbmNv
ZAogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2Vy
IHRyYWNlcigmdm0sIGV4ZWMpOwotICAgIAorCiAgICAgQVNTRVJUKCFKSVRDb2RlOjppc09wdGlt
aXppbmdKSVQoZXhlYy0+Y29kZUJsb2NrKCktPmppdFR5cGUoKSkpOwogCiAgICAgLy8gRklYTUU6
IFRoaXMgd29uJ3Qgd29yayBpZiB0aGlzIG9wZXJhdGlvbiBpcyBjYWxsZWQgZnJvbSB0aGUgREZH
IG9yIEZUTC4KQEAgLTE1MSw3ICsxNTMsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbkdldEJ5SWQoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbwogewog
ICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFj
ZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAgSlNWYWx1ZSBiYXNlVmFsdWUgPSBKU1ZhbHVlOjpk
ZWNvZGUoYmFzZSk7CiAgICAgUHJvcGVydHlTbG90IHNsb3QoYmFzZVZhbHVlKTsKICAgICBJZGVu
dGlmaWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwgdWlkKTsKQEAgLTE2OSw3ICsx
NzEsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWRCdWls
ZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cgogICAgIEpTVmFsdWUgYmFzZVZhbHVlID0g
SlNWYWx1ZTo6ZGVjb2RlKGJhc2UpOwogICAgIFByb3BlcnR5U2xvdCBzbG90KGJhc2VWYWx1ZSk7
CiAgICAgYm9vbCBoYXNSZXN1bHQgPSBiYXNlVmFsdWUuZ2V0UHJvcGVydHlTbG90KGV4ZWMsIGlk
ZW50LCBzbG90KTsKLSAgICAKKwogICAgIGlmIChhY2Nlc3NUeXBlID09IHN0YXRpY19jYXN0PEFj
Y2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKSkKICAgICAgICAgYnVpbGRHZXRCeUlETGlz
dChleGVjLCBiYXNlVmFsdWUsIGlkZW50LCBzbG90LCAqc3R1YkluZm8pOwogCkBAIC0xODQsMTMg
KzE4NiwxMyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWRP
cHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZQogCiAgICAgSlNWYWx1ZSBiYXNlVmFs
dWUgPSBKU1ZhbHVlOjpkZWNvZGUoYmFzZSk7CiAgICAgUHJvcGVydHlTbG90IHNsb3QoYmFzZVZh
bHVlKTsKLSAgICAKKwogICAgIGJvb2wgaGFzUmVzdWx0ID0gYmFzZVZhbHVlLmdldFByb3BlcnR5
U2xvdChleGVjLCBpZGVudCwgc2xvdCk7CiAgICAgaWYgKHN0dWJJbmZvLT5zZWVuKQogICAgICAg
ICByZXBhdGNoR2V0QnlJRChleGVjLCBiYXNlVmFsdWUsIGlkZW50LCBzbG90LCAqc3R1YkluZm8p
OwogICAgIGVsc2UKICAgICAgICAgc3R1YkluZm8tPnNlZW4gPSB0cnVlOwotICAgIAorCiAgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShoYXNSZXN1bHQ/IHNsb3QuZ2V0VmFsdWUoZXhlYywgaWRl
bnQpIDoganNVbmRlZmluZWQoKSk7CiAKIH0KQEAgLTE5OSwyNSArMjAxLDI1IEBAIEVuY29kZWRK
U1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSW5PcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMs
IFN0cnVjdHVyZVN0dWJJCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZl
Q2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICBpZiAoIWJhc2Ut
PmlzT2JqZWN0KCkpIHsKICAgICAgICAgdm0tPnRocm93RXhjZXB0aW9uKGV4ZWMsIGNyZWF0ZUlu
dmFsaWRJblBhcmFtZXRlckVycm9yKGV4ZWMsIGJhc2UpKTsKICAgICAgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKICAgICB9Ci0gICAgCisKICAgICBBY2Nlc3NUeXBl
IGFjY2Vzc1R5cGUgPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlw
ZSk7CiAKICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2bSwga2V5
KTsKICAgICBQcm9wZXJ0eVNsb3Qgc2xvdChiYXNlKTsKICAgICBib29sIHJlc3VsdCA9IGFzT2Jq
ZWN0KGJhc2UpLT5nZXRQcm9wZXJ0eVNsb3QoZXhlYywgaWRlbnQsIHNsb3QpOwotICAgIAorCiAg
ICAgUkVMRUFTRV9BU1NFUlQoYWNjZXNzVHlwZSA9PSBzdHViSW5mby0+YWNjZXNzVHlwZSk7Ci0g
ICAgCisKICAgICBpZiAoc3R1YkluZm8tPnNlZW4pCiAgICAgICAgIHJlcGF0Y2hJbihleGVjLCBi
YXNlLCBpZGVudCwgcmVzdWx0LCBzbG90LCAqc3R1YkluZm8pOwogICAgIGVsc2UKICAgICAgICAg
c3R1YkluZm8tPnNlZW4gPSB0cnVlOwotICAgIAorCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc0Jvb2xlYW4ocmVzdWx0KSk7CiB9CiAKQEAgLTI0Nyw3ICsyNDksNyBAQCB2b2lkIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZFN0cmljdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVy
ZVN0dWJJbmZvKiwgRQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNh
bGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAgSWRlbnRpZmllciBp
ZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIHVpZCk7CiAgICAgUHV0UHJvcGVydHlTbG90
IHNsb3QoSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKSwgdHJ1ZSwgZXhlYy0+Y29kZUJsb2Nr
KCktPnB1dEJ5SWRDb250ZXh0KCkpOwogICAgIEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSku
cHV0KGV4ZWMsIGlkZW50LCBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKSwgc2xvdCk7CkBA
IC0yNTcsNyArMjU5LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25T
dHJpY3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyoKIHsKICAgICBWTSogdm0g
PSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVj
KTsKLSAgICAKKwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVyOjpmcm9tVWlkKHZt
LCB1aWQpOwogICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KEpTVmFsdWU6OmRlY29kZShlbmNvZGVk
QmFzZSksIGZhbHNlLCBleGVjLT5jb2RlQmxvY2soKS0+cHV0QnlJZENvbnRleHQoKSk7CiAgICAg
SlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKS5wdXQoZXhlYywgaWRlbnQsIEpTVmFsdWU6OmRl
Y29kZShlbmNvZGVkVmFsdWUpLCBzbG90KTsKQEAgLTI2Nyw3ICsyNjksNyBAQCB2b2lkIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdFN0cmljdChFeGVjU3RhdGUqIGV4ZWMsIFN0
cnVjdHVyZVN0dWJJbgogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNh
bGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAgSWRlbnRpZmllciBp
ZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIHVpZCk7CiAgICAgUHV0UHJvcGVydHlTbG90
IHNsb3QoSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKSwgdHJ1ZSwgZXhlYy0+Y29kZUJsb2Nr
KCktPnB1dEJ5SWRDb250ZXh0KCkpOwogICAgIGFzT2JqZWN0KEpTVmFsdWU6OmRlY29kZShlbmNv
ZGVkQmFzZSkpLT5wdXREaXJlY3QoZXhlYy0+dm0oKSwgaWRlbnQsIEpTVmFsdWU6OmRlY29kZShl
bmNvZGVkVmFsdWUpLCBzbG90KTsKQEAgLTI3Nyw3ICsyNzksNyBAQCB2b2lkIEpJVF9PUEVSQVRJ
T04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmljdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVj
dHVyZVN0dQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFt
ZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAgSWRlbnRpZmllciBpZGVudCA9
IElkZW50aWZpZXI6OmZyb21VaWQodm0sIHVpZCk7CiAgICAgUHV0UHJvcGVydHlTbG90IHNsb3Qo
SlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKSwgZmFsc2UsIGV4ZWMtPmNvZGVCbG9jaygpLT5w
dXRCeUlkQ29udGV4dCgpKTsKICAgICBhc09iamVjdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJh
c2UpKS0+cHV0RGlyZWN0KGV4ZWMtPnZtKCksIGlkZW50LCBKU1ZhbHVlOjpkZWNvZGUoZW5jb2Rl
ZFZhbHVlKSwgc2xvdCk7CkBAIC0yODcsNyArMjg5LDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvblB1dEJ5SWRTdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0
dWIKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFj
ZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVu
dGlmaWVyOjpmcm9tVWlkKHZtLCB1aWQpOwogICAgIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSA9IHN0
YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKTsKIApAQCAtMjk3LDEw
ICsyOTksMTAgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRTdHJpY3RPcHRp
bWl6ZShFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZVN0dWIKIAogICAgIFN0cnVjdHVyZSogc3Ry
dWN0dXJlID0gYmFzZVZhbHVlLmlzQ2VsbCgpID8gYmFzZVZhbHVlLmFzQ2VsbCgpLT5zdHJ1Y3R1
cmUoKnZtKSA6IG51bGxwdHI7CiAgICAgYmFzZVZhbHVlLnB1dChleGVjLCBpZGVudCwgdmFsdWUs
IHNsb3QpOwotICAgIAorCiAgICAgaWYgKGFjY2Vzc1R5cGUgIT0gc3RhdGljX2Nhc3Q8QWNjZXNz
VHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpKQogICAgICAgICByZXR1cm47Ci0gICAgCisKICAg
ICBpZiAoc3R1YkluZm8tPnNlZW4pCiAgICAgICAgIHJlcGF0Y2hQdXRCeUlEKGV4ZWMsIGJhc2VW
YWx1ZSwgc3RydWN0dXJlLCBpZGVudCwgc2xvdCwgKnN0dWJJbmZvLCBOb3REaXJlY3QpOwogICAg
IGVsc2UKQEAgLTMxMSw3ICszMTMsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0
QnlJZE5vblN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlUwogewogICAg
IFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIo
dm0sIGV4ZWMpOwotICAgIAorCiAgICAgSWRlbnRpZmllciBpZGVudCA9IElkZW50aWZpZXI6OmZy
b21VaWQodm0sIHVpZCk7CiAgICAgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlID0gc3RhdGljX2Nhc3Q8
QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpOwogCkBAIC0zMTksMTIgKzMyMSwxMiBA
QCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZE5vblN0cmljdE9wdGltaXplKEV4
ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlUwogICAgIEpTVmFsdWUgYmFzZVZhbHVlID0gSlNWYWx1
ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKTsKICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChiYXNlVmFs
dWUsIGZhbHNlLCBleGVjLT5jb2RlQmxvY2soKS0+cHV0QnlJZENvbnRleHQoKSk7CiAKLSAgICBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2VWYWx1ZS5pc0NlbGwoKSA/IGJhc2VWYWx1ZS5hc0Nl
bGwoKS0+c3RydWN0dXJlKCp2bSkgOiBudWxscHRyOyAgICAKKyAgICBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSA9IGJhc2VWYWx1ZS5pc0NlbGwoKSA/IGJhc2VWYWx1ZS5hc0NlbGwoKS0+c3RydWN0dXJl
KCp2bSkgOiBudWxscHRyOwogICAgIGJhc2VWYWx1ZS5wdXQoZXhlYywgaWRlbnQsIHZhbHVlLCBz
bG90KTsKLSAgICAKKwogICAgIGlmIChhY2Nlc3NUeXBlICE9IHN0YXRpY19jYXN0PEFjY2Vzc1R5
cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKSkKICAgICAgICAgcmV0dXJuOwotICAgIAorCiAgICAg
aWYgKHN0dWJJbmZvLT5zZWVuKQogICAgICAgICByZXBhdGNoUHV0QnlJRChleGVjLCBiYXNlVmFs
dWUsIHN0cnVjdHVyZSwgaWRlbnQsIHNsb3QsICpzdHViSW5mbywgTm90RGlyZWN0KTsKICAgICBl
bHNlCkBAIC0zMzUsMjAgKzMzNywyMCBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0
QnlJZERpcmVjdFN0cmljdE9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dQogewogICAg
IFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIo
dm0sIGV4ZWMpOwotICAgIAorCiAgICAgSWRlbnRpZmllciBpZGVudCA9IElkZW50aWZpZXI6OmZy
b21VaWQodm0sIHVpZCk7CiAgICAgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlID0gc3RhdGljX2Nhc3Q8
QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpOwogCiAgICAgSlNWYWx1ZSB2YWx1ZSA9
IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOwogICAgIEpTT2JqZWN0KiBiYXNlT2JqZWN0
ID0gYXNPYmplY3QoSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKSk7CiAgICAgUHV0UHJvcGVy
dHlTbG90IHNsb3QoYmFzZU9iamVjdCwgdHJ1ZSwgZXhlYy0+Y29kZUJsb2NrKCktPnB1dEJ5SWRD
b250ZXh0KCkpOwotICAgIAorCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlT2JqZWN0
LT5zdHJ1Y3R1cmUoKnZtKTsKICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3QoZXhlYy0+dm0oKSwg
aWRlbnQsIHZhbHVlLCBzbG90KTsKLSAgICAKKwogICAgIGlmIChhY2Nlc3NUeXBlICE9IHN0YXRp
Y19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKSkKICAgICAgICAgcmV0dXJu
OwotICAgIAorCiAgICAgaWYgKHN0dWJJbmZvLT5zZWVuKQogICAgICAgICByZXBhdGNoUHV0QnlJ
RChleGVjLCBiYXNlT2JqZWN0LCBzdHJ1Y3R1cmUsIGlkZW50LCBzbG90LCAqc3R1YkluZm8sIERp
cmVjdCk7CiAgICAgZWxzZQpAQCAtMzU5LDIwICszNjEsMjAgQEAgdm9pZCBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3RPcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMs
IFN0cnUKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVU
cmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJ
ZGVudGlmaWVyOjpmcm9tVWlkKHZtLCB1aWQpOwogICAgIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSA9
IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKTsKIAogICAgIEpT
VmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKICAgICBKU09iamVj
dCogYmFzZU9iamVjdCA9IGFzT2JqZWN0KEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSkpOwog
ICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KGJhc2VPYmplY3QsIGZhbHNlLCBleGVjLT5jb2RlQmxv
Y2soKS0+cHV0QnlJZENvbnRleHQoKSk7Ci0gICAgCisKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSA9IGJhc2VPYmplY3QtPnN0cnVjdHVyZSgqdm0pOwogICAgIGJhc2VPYmplY3QtPnB1dERpcmVj
dChleGVjLT52bSgpLCBpZGVudCwgdmFsdWUsIHNsb3QpOwotICAgIAorCiAgICAgaWYgKGFjY2Vz
c1R5cGUgIT0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpKQog
ICAgICAgICByZXR1cm47Ci0gICAgCisKICAgICBpZiAoc3R1YkluZm8tPnNlZW4pCiAgICAgICAg
IHJlcGF0Y2hQdXRCeUlEKGV4ZWMsIGJhc2VPYmplY3QsIHN0cnVjdHVyZSwgaWRlbnQsIHNsb3Qs
ICpzdHViSW5mbywgRGlyZWN0KTsKICAgICBlbHNlCkBAIC0zODMsMTUgKzM4NSwxNSBAQCB2b2lk
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZFN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUq
IGV4ZWMsIFN0cnVjdHVyZVN0dQogewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwogICAgIE5h
dGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAgIAorCiAgICAgSWRlbnRp
ZmllciBpZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIHVpZCk7CiAgICAgQWNjZXNzVHlw
ZSBhY2Nlc3NUeXBlID0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5
cGUpOwogCiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUp
OwogICAgIEpTVmFsdWUgYmFzZVZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKTsK
ICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChiYXNlVmFsdWUsIHRydWUsIGV4ZWMtPmNvZGVCbG9j
aygpLT5wdXRCeUlkQ29udGV4dCgpKTsKLSAgICAKLSAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9
IGJhc2VWYWx1ZS5pc0NlbGwoKSA/IGJhc2VWYWx1ZS5hc0NlbGwoKS0+c3RydWN0dXJlKCp2bSkg
OiBudWxscHRyOyAKKworICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZVZhbHVlLmlzQ2Vs
bCgpID8gYmFzZVZhbHVlLmFzQ2VsbCgpLT5zdHJ1Y3R1cmUoKnZtKSA6IG51bGxwdHI7CiAgICAg
YmFzZVZhbHVlLnB1dChleGVjLCBpZGVudCwgdmFsdWUsIHNsb3QpOwogCiAgICAgaWYgKGFjY2Vz
c1R5cGUgIT0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpKQpA
QCAtNDA0LDcgKzQwNiw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9u
U3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlCiB7CiAgICAgVk0qIHZt
ID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhl
Yyk7Ci0gICAgCisKICAgICBJZGVudGlmaWVyIGlkZW50ID0gSWRlbnRpZmllcjo6ZnJvbVVpZCh2
bSwgdWlkKTsKICAgICBBY2Nlc3NUeXBlIGFjY2Vzc1R5cGUgPSBzdGF0aWNfY2FzdDxBY2Nlc3NU
eXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSk7CiAKQEAgLTQxNCwxMCArNDE2LDEwIEBAIHZvaWQg
SklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0QnVpbGRMaXN0KEV4ZWNTdGF0
ZSogZXhlYywgU3RydWN0dXJlCiAKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2VWYWx1
ZS5pc0NlbGwoKSA/IGJhc2VWYWx1ZS5hc0NlbGwoKS0+c3RydWN0dXJlKCp2bSkgOiBudWxscHRy
OwogICAgIGJhc2VWYWx1ZS5wdXQoZXhlYywgaWRlbnQsIHZhbHVlLCBzbG90KTsKLSAgICAKKwog
ICAgIGlmIChhY2Nlc3NUeXBlICE9IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5h
Y2Nlc3NUeXBlKSkKICAgICAgICAgcmV0dXJuOwotICAgIAorCiAgICAgYnVpbGRQdXRCeUlkTGlz
dChleGVjLCBiYXNlVmFsdWUsIHN0cnVjdHVyZSwgaWRlbnQsIHNsb3QsICpzdHViSW5mbywgTm90
RGlyZWN0KTsKIH0KIApAQCAtNDI1LDIwICs0MjcsMjAgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvblB1dEJ5SWREaXJlY3RTdHJpY3RCdWlsZExpc3QoRXhlY1N0YXRlKiBleGVjLCBTdHJ1
Y3QKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFj
ZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVu
dGlmaWVyOjpmcm9tVWlkKHZtLCB1aWQpOwogICAgIEFjY2Vzc1R5cGUgYWNjZXNzVHlwZSA9IHN0
YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKTsKLSAgICAKKwogICAg
IEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKICAgICBKU09i
amVjdCogYmFzZU9iamVjdCA9IGFzT2JqZWN0KEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSkp
OwogICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KGJhc2VPYmplY3QsIHRydWUsIGV4ZWMtPmNvZGVC
bG9jaygpLT5wdXRCeUlkQ29udGV4dCgpKTsKIAotICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0g
YmFzZU9iamVjdC0+c3RydWN0dXJlKCp2bSk7ICAgIAorICAgIFN0cnVjdHVyZSogc3RydWN0dXJl
ID0gYmFzZU9iamVjdC0+c3RydWN0dXJlKCp2bSk7CiAgICAgYmFzZU9iamVjdC0+cHV0RGlyZWN0
KCp2bSwgaWRlbnQsIHZhbHVlLCBzbG90KTsKLSAgICAKKwogICAgIGlmIChhY2Nlc3NUeXBlICE9
IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKSkKICAgICAgICAg
cmV0dXJuOwotICAgIAorCiAgICAgYnVpbGRQdXRCeUlkTGlzdChleGVjLCBiYXNlT2JqZWN0LCBz
dHJ1Y3R1cmUsIGlkZW50LCBzbG90LCAqc3R1YkluZm8sIERpcmVjdCk7CiB9CiAKQEAgLTQ0Niw3
ICs0NDgsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdE5vblN0
cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUqIGV4ZWMsIFN0cgogewogICAgIFZNKiB2bSA9ICZleGVj
LT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwotICAg
IAorCiAgICAgSWRlbnRpZmllciBpZGVudCA9IElkZW50aWZpZXI6OmZyb21VaWQodm0sIHVpZCk7
CiAgICAgQWNjZXNzVHlwZSBhY2Nlc3NUeXBlID0gc3RhdGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1
YkluZm8tPmFjY2Vzc1R5cGUpOwogCkBAIC00NTQsMTIgKzQ1NiwxMiBAQCB2b2lkIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmljdEJ1aWxkTGlzdChFeGVjU3RhdGUq
IGV4ZWMsIFN0cgogICAgIEpTT2JqZWN0KiBiYXNlT2JqZWN0ID0gYXNPYmplY3QoSlNWYWx1ZTo6
ZGVjb2RlKGVuY29kZWRCYXNlKSk7CiAgICAgUHV0UHJvcGVydHlTbG90IHNsb3QoYmFzZU9iamVj
dCwgZmFsc2UsIGV4ZWMtPmNvZGVCbG9jaygpLT5wdXRCeUlkQ29udGV4dCgpKTsKIAotICAgIFN0
cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZU9iamVjdC0+c3RydWN0dXJlKCp2bSk7ICAgIAorICAg
IFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZU9iamVjdC0+c3RydWN0dXJlKCp2bSk7CiAgICAg
YmFzZU9iamVjdC0+cHV0RGlyZWN0KCp2bSwgaWRlbnQsIHZhbHVlLCBzbG90KTsKIAogICAgIGlm
IChhY2Nlc3NUeXBlICE9IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nlc3NU
eXBlKSkKICAgICAgICAgcmV0dXJuOwotICAgIAorCiAgICAgYnVpbGRQdXRCeUlkTGlzdChleGVj
LCBiYXNlT2JqZWN0LCBzdHJ1Y3R1cmUsIGlkZW50LCBzbG90LCAqc3R1YkluZm8sIERpcmVjdCk7
CiB9CiAKQEAgLTU3Niw3ICs1NzgsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uRGly
ZWN0UHV0QnlWYWwoRXhlY1N0YXRlKiBjYWxsRnJhbWUsIEVuY29kZWRKU1ZhbHVlCiB7CiAgICAg
Vk0mIHZtID0gY2FsbEZyYW1lLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFj
ZXIoJnZtLCBjYWxsRnJhbWUpOwotICAgIAorCiAgICAgSlNWYWx1ZSBiYXNlVmFsdWUgPSBKU1Zh
bHVlOjpkZWNvZGUoZW5jb2RlZEJhc2VWYWx1ZSk7CiAgICAgSlNWYWx1ZSBzdWJzY3JpcHQgPSBK
U1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFN1YnNjcmlwdCk7CiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpT
VmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOwpAQCAtNTg1LDEyICs1ODcsMTIgQEAgdm9pZCBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvbkRpcmVjdFB1dEJ5VmFsKEV4ZWNTdGF0ZSogY2FsbEZyYW1l
LCBFbmNvZGVkSlNWYWx1ZQogICAgIGlmIChzdWJzY3JpcHQuaXNJbnQzMigpKSB7CiAgICAgICAg
IC8vIFNlZSBpZiBpdCdzIHdvcnRoIG9wdGltaXppbmcgYXQgYWxsLgogICAgICAgICBib29sIGRp
ZE9wdGltaXplID0gZmFsc2U7Ci0gICAgICAgIAorCiAgICAgICAgIHVuc2lnbmVkIGJ5dGVjb2Rl
T2Zmc2V0ID0gY2FsbEZyYW1lLT5sb2NhdGlvbkFzQnl0ZWNvZGVPZmZzZXQoKTsKICAgICAgICAg
QVNTRVJUKGJ5dGVjb2RlT2Zmc2V0KTsKICAgICAgICAgQnlWYWxJbmZvJiBieVZhbEluZm8gPSBj
YWxsRnJhbWUtPmNvZGVCbG9jaygpLT5nZXRCeVZhbEluZm8oYnl0ZWNvZGVPZmZzZXQgLSAxKTsK
ICAgICAgICAgQVNTRVJUKCFieVZhbEluZm8uc3R1YlJvdXRpbmUpOwotICAgICAgICAKKwogICAg
ICAgICBpZiAoaGFzT3B0aW1pemFibGVJbmRleGluZyhvYmplY3QtPnN0cnVjdHVyZSh2bSkpKSB7
CiAgICAgICAgICAgICAvLyBBdHRlbXB0IHRvIG9wdGltaXplLgogICAgICAgICAgICAgSklUQXJy
YXlNb2RlIGFycmF5TW9kZSA9IGppdEFycmF5TW9kZUZvclN0cnVjdHVyZShvYmplY3QtPnN0cnVj
dHVyZSh2bSkpOwpAQCAtNTk5LDcgKzYwMSw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRp
b25EaXJlY3RQdXRCeVZhbChFeGVjU3RhdGUqIGNhbGxGcmFtZSwgRW5jb2RlZEpTVmFsdWUKICAg
ICAgICAgICAgICAgICBkaWRPcHRpbWl6ZSA9IHRydWU7CiAgICAgICAgICAgICB9CiAgICAgICAg
IH0KLSAgICAgICAgCisKICAgICAgICAgaWYgKCFkaWRPcHRpbWl6ZSkgewogICAgICAgICAgICAg
Ly8gSWYgd2UgdGFrZSBzbG93IHBhdGggbW9yZSB0aGFuIDEwIHRpbWVzIHdpdGhvdXQgcGF0Y2hp
bmcgdGhlbiBtYWtlIHN1cmUgd2UKICAgICAgICAgICAgIC8vIG5ldmVyIG1ha2UgdGhhdCBtaXN0
YWtlIGFnYWluLiBPciwgaWYgd2UgZmFpbGVkIHRvIHBhdGNoIGFuZCB3ZSBoYXZlIHNvbWUgb2Jq
ZWN0CkBAIC02MjAsNyArNjIyLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5
VmFsR2VuZXJpYyhFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY28KIHsKICAgICBW
TSYgdm0gPSBleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZt
LCBleGVjKTsKLSAgICAKKwogICAgIEpTVmFsdWUgYmFzZVZhbHVlID0gSlNWYWx1ZTo6ZGVjb2Rl
KGVuY29kZWRCYXNlVmFsdWUpOwogICAgIEpTVmFsdWUgc3Vic2NyaXB0ID0gSlNWYWx1ZTo6ZGVj
b2RlKGVuY29kZWRTdWJzY3JpcHQpOwogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNv
ZGUoZW5jb2RlZFZhbHVlKTsKQEAgLTYzMyw3ICs2MzUsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uRGlyZWN0UHV0QnlWYWxHZW5lcmljKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpT
VmFsdQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJh
Y2VyIHRyYWNlcigmdm0sIGV4ZWMpOwotICAgIAorCiAgICAgSlNWYWx1ZSBiYXNlVmFsdWUgPSBK
U1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2VWYWx1ZSk7CiAgICAgSlNWYWx1ZSBzdWJzY3JpcHQg
PSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFN1YnNjcmlwdCk7CiAgICAgSlNWYWx1ZSB2YWx1ZSA9
IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOwpAQCAtNjU3LDcgKzY1OSw3IEBAIEVuY29k
ZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uQ2FsbEV2YWwoRXhlY1N0YXRlKiBleGVj
LCBFeGVjU3RhdGUqIGV4ZWNDCiAgICAgSlNWYWx1ZSByZXN1bHQgPSBldmFsKGV4ZWNDYWxsZWUp
OwogICAgIGlmICh2bS0+ZXhjZXB0aW9uKCkpCiAgICAgICAgIHJldHVybiBFbmNvZGVkSlNWYWx1
ZSgpOwotICAgIAorCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwogfQogCkBA
IC02NzEsOSArNjczLDkgQEAgc3RhdGljIHZvaWQqIGhhbmRsZUhvc3RDYWxsKEV4ZWNTdGF0ZSog
ZXhlY0NhbGxlZSwgSlNWYWx1ZSBjYWxsZWUsIENvZGVTcGVjaWFsaXoKICAgICBpZiAoa2luZCA9
PSBDb2RlRm9yQ2FsbCkgewogICAgICAgICBDYWxsRGF0YSBjYWxsRGF0YTsKICAgICAgICAgQ2Fs
bFR5cGUgY2FsbFR5cGUgPSBnZXRDYWxsRGF0YShjYWxsZWUsIGNhbGxEYXRhKTsKLSAgICAKKwog
ICAgICAgICBBU1NFUlQoY2FsbFR5cGUgIT0gQ2FsbFR5cGVKUyk7Ci0gICAgCisKICAgICAgICAg
aWYgKGNhbGxUeXBlID09IENhbGxUeXBlSG9zdCkgewogICAgICAgICAgICAgTmF0aXZlQ2FsbEZy
YW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlY0NhbGxlZSk7CiAgICAgICAgICAgICBleGVjQ2FsbGVl
LT5zZXRDYWxsZWUoYXNPYmplY3QoY2FsbGVlKSk7CkBAIC02ODMsMTkgKzY4NSwxOSBAQCBzdGF0
aWMgdm9pZCogaGFuZGxlSG9zdENhbGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBKU1ZhbHVlIGNh
bGxlZSwgQ29kZVNwZWNpYWxpegogCiAgICAgICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2Fz
dDx2b2lkKj4oZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSk7CiAgICAgICAgIH0KLSAgICAKKwogICAg
ICAgICBBU1NFUlQoY2FsbFR5cGUgPT0gQ2FsbFR5cGVOb25lKTsKICAgICAgICAgZXhlYy0+dm0o
KS50aHJvd0V4Y2VwdGlvbihleGVjLCBjcmVhdGVOb3RBRnVuY3Rpb25FcnJvcihleGVjLCBjYWxs
ZWUpKTsKICAgICAgICAgcmV0dXJuIHZtLT5nZXRDVElTdHViKHRocm93RXhjZXB0aW9uRnJvbUNh
bGxTbG93UGF0aEdlbmVyYXRvcikuY29kZSgpLmV4ZWN1dGFibGVBZGRyZXNzKCk7CiAgICAgfQog
CiAgICAgQVNTRVJUKGtpbmQgPT0gQ29kZUZvckNvbnN0cnVjdCk7Ci0gICAgCisKICAgICBDb25z
dHJ1Y3REYXRhIGNvbnN0cnVjdERhdGE7CiAgICAgQ29uc3RydWN0VHlwZSBjb25zdHJ1Y3RUeXBl
ID0gZ2V0Q29uc3RydWN0RGF0YShjYWxsZWUsIGNvbnN0cnVjdERhdGEpOwotICAgIAorCiAgICAg
QVNTRVJUKGNvbnN0cnVjdFR5cGUgIT0gQ29uc3RydWN0VHlwZUpTKTsKLSAgICAKKwogICAgIGlm
IChjb25zdHJ1Y3RUeXBlID09IENvbnN0cnVjdFR5cGVIb3N0KSB7CiAgICAgICAgIE5hdGl2ZUNh
bGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWNDYWxsZWUpOwogICAgICAgICBleGVjQ2FsbGVl
LT5zZXRDYWxsZWUoYXNPYmplY3QoY2FsbGVlKSk7CkBAIC03MDUsNyArNzA3LDcgQEAgc3RhdGlj
IHZvaWQqIGhhbmRsZUhvc3RDYWxsKEV4ZWNTdGF0ZSogZXhlY0NhbGxlZSwgSlNWYWx1ZSBjYWxs
ZWUsIENvZGVTcGVjaWFsaXoKIAogICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDx2b2lk
Kj4oZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSk7CiAgICAgfQotICAgIAorCiAgICAgQVNTRVJUKGNv
bnN0cnVjdFR5cGUgPT0gQ29uc3RydWN0VHlwZU5vbmUpOwogICAgIGV4ZWMtPnZtKCkudGhyb3dF
eGNlcHRpb24oZXhlYywgY3JlYXRlTm90QUNvbnN0cnVjdG9yRXJyb3IoZXhlYywgY2FsbGVlKSk7
CiAgICAgcmV0dXJuIHZtLT5nZXRDVElTdHViKHRocm93RXhjZXB0aW9uRnJvbUNhbGxTbG93UGF0
aEdlbmVyYXRvcikuY29kZSgpLmV4ZWN1dGFibGVBZGRyZXNzKCk7CkBAIC03MTgsNyArNzIwLDcg
QEAgaW5saW5lIGNoYXIqIGxpbmtGb3IoCiAgICAgRXhlY1N0YXRlKiBleGVjID0gZXhlY0NhbGxl
ZS0+Y2FsbGVyRnJhbWUoKTsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKICAgICBOYXRpdmVD
YWxsRnJhbWVUcmFjZXIgdHJhY2VyKHZtLCBleGVjKTsKLSAgICAKKwogICAgIEpTVmFsdWUgY2Fs
bGVlQXNWYWx1ZSA9IGV4ZWNDYWxsZWUtPmNhbGxlZUFzVmFsdWUoKTsKICAgICBKU0NlbGwqIGNh
bGxlZUFzRnVuY3Rpb25DZWxsID0gZ2V0SlNGdW5jdGlvbihjYWxsZWVBc1ZhbHVlKTsKICAgICBp
ZiAoIWNhbGxlZUFzRnVuY3Rpb25DZWxsKSB7CkBAIC03NjEsNyArNzYzLDcgQEAgaW5saW5lIGNo
YXIqIGxpbmtGb3IoCiAgICAgICAgIGNhbGxMaW5rSW5mby0+c2V0U2VlbigpOwogICAgIGVsc2UK
ICAgICAgICAgbGlua0ZvcihleGVjQ2FsbGVlLCAqY2FsbExpbmtJbmZvLCBjb2RlQmxvY2ssIGNh
bGxlZSwgY29kZVB0ciwga2luZCwgcmVnaXN0ZXJzKTsKLSAgICAKKwogICAgIHJldHVybiByZWlu
dGVycHJldF9jYXN0PGNoYXIqPihjb2RlUHRyLmV4ZWN1dGFibGVBZGRyZXNzKCkpOwogfQogCkBA
IC03OTcsNyArNzk5LDcgQEAgaW5saW5lIGNoYXIqIHZpcnR1YWxGb3JXaXRoRnVuY3Rpb24oCiAg
ICAgY2FsbGVlQXNGdW5jdGlvbkNlbGwgPSBnZXRKU0Z1bmN0aW9uKGNhbGxlZUFzVmFsdWUpOwog
ICAgIGlmIChVTkxJS0VMWSghY2FsbGVlQXNGdW5jdGlvbkNlbGwpKQogICAgICAgICByZXR1cm4g
cmVpbnRlcnByZXRfY2FzdDxjaGFyKj4oaGFuZGxlSG9zdENhbGwoZXhlY0NhbGxlZSwgY2FsbGVl
QXNWYWx1ZSwga2luZCkpOwotICAgIAorCiAgICAgSlNGdW5jdGlvbiogZnVuY3Rpb24gPSBqc0Nh
c3Q8SlNGdW5jdGlvbio+KGNhbGxlZUFzRnVuY3Rpb25DZWxsKTsKICAgICBKU1Njb3BlKiBzY29w
ZSA9IGZ1bmN0aW9uLT5zY29wZVVuY2hlY2tlZCgpOwogICAgIEV4ZWN1dGFibGVCYXNlKiBleGVj
dXRhYmxlID0gZnVuY3Rpb24tPmV4ZWN1dGFibGUoKTsKQEAgLTgzMiwxMiArODM0LDEyIEBAIGNo
YXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTGlua1BvbHltb3JwaGljQ2FsbChFeGVjU3RhdGUq
IGV4ZWNDYWxsZWUsIENhbGxMaW5rCiAgICAgY2hhciogcmVzdWx0ID0gdmlydHVhbEZvcldpdGhG
dW5jdGlvbihleGVjQ2FsbGVlLCBDb2RlRm9yQ2FsbCwgUmVnaXN0ZXJQcmVzZXJ2YXRpb25Ob3RS
ZXF1aXJlZCwgY2FsbGVlQXNGdW5jdGlvbkNlbGwpOwogCiAgICAgbGlua1BvbHltb3JwaGljQ2Fs
bChleGVjQ2FsbGVlLCAqY2FsbExpbmtJbmZvLCBDYWxsVmFyaWFudChjYWxsZWVBc0Z1bmN0aW9u
Q2VsbCksIFJlZ2lzdGVyUHJlc2VydmF0aW9uTm90UmVxdWlyZWQpOwotICAgIAorCiAgICAgcmV0
dXJuIHJlc3VsdDsKIH0KIAogY2hhciogSklUX09QRVJBVElPTiBvcGVyYXRpb25WaXJ0dWFsQ2Fs
bChFeGVjU3RhdGUqIGV4ZWNDYWxsZWUsIENhbGxMaW5rSW5mbyopCi17ICAgIAorewogICAgIHJl
dHVybiB2aXJ0dWFsRm9yKGV4ZWNDYWxsZWUsIENvZGVGb3JDYWxsLCBSZWdpc3RlclByZXNlcnZh
dGlvbk5vdFJlcXVpcmVkKTsKIH0KIApAQCAtODUyLDEyICs4NTQsMTIgQEAgY2hhciogSklUX09Q
RVJBVElPTiBvcGVyYXRpb25MaW5rUG9seW1vcnBoaWNDYWxsVGhhdFByZXNlcnZlc1JlZ3MoRXhl
Y1N0YXRlKiBleGUKICAgICBjaGFyKiByZXN1bHQgPSB2aXJ0dWFsRm9yV2l0aEZ1bmN0aW9uKGV4
ZWNDYWxsZWUsIENvZGVGb3JDYWxsLCBNdXN0UHJlc2VydmVSZWdpc3RlcnMsIGNhbGxlZUFzRnVu
Y3Rpb25DZWxsKTsKIAogICAgIGxpbmtQb2x5bW9ycGhpY0NhbGwoZXhlY0NhbGxlZSwgKmNhbGxM
aW5rSW5mbywgQ2FsbFZhcmlhbnQoY2FsbGVlQXNGdW5jdGlvbkNlbGwpLCBNdXN0UHJlc2VydmVS
ZWdpc3RlcnMpOwotICAgIAorCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogY2hhciogSklUX09Q
RVJBVElPTiBvcGVyYXRpb25WaXJ0dWFsQ2FsbFRoYXRQcmVzZXJ2ZXNSZWdzKEV4ZWNTdGF0ZSog
ZXhlY0NhbGxlZSwgQ2FsbExpbmtJbmZvKikKLXsgICAgCit7CiAgICAgcmV0dXJuIHZpcnR1YWxG
b3IoZXhlY0NhbGxlZSwgQ29kZUZvckNhbGwsIE11c3RQcmVzZXJ2ZVJlZ2lzdGVycyk7CiB9CiAK
QEAgLTg3MCw3ICs4NzIsNyBAQCBzaXplX3QgSklUX09QRVJBVElPTiBvcGVyYXRpb25Db21wYXJl
TGVzcyhFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZQogewogICAgIFZNKiB2
bSA9ICZleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4
ZWMpOwotICAgIAorCiAgICAgcmV0dXJuIGpzTGVzczx0cnVlPihleGVjLCBKU1ZhbHVlOjpkZWNv
ZGUoZW5jb2RlZE9wMSksIEpTVmFsdWU6OmRlY29kZShlbmNvZGVkT3AyKSk7CiB9CiAKQEAgLTkw
Miw3ICs5MDQsNyBAQCBzaXplX3QgSklUX09QRVJBVElPTiBvcGVyYXRpb25Db252ZXJ0SlNWYWx1
ZVRvQm9vbGVhbihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKUwogewogICAgIFZNKiB2bSA9ICZl
eGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwot
ICAgIAorCiAgICAgcmV0dXJuIEpTVmFsdWU6OmRlY29kZShlbmNvZGVkT3ApLnRvQm9vbGVhbihl
eGVjKTsKIH0KIApAQCAtOTM2LDcgKzkzOCw3IEBAIHNpemVfdCBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbkhhc1Byb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIGJhc2UsIEpTU3RyCiAg
ICAgaW50IHJlc3VsdCA9IGJhc2UtPmhhc1Byb3BlcnR5KGV4ZWMsIHByb3BlcnR5LT50b0lkZW50
aWZpZXIoZXhlYykpOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0gICAgCisKIAogRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJheVdpdGhQcm9maWxlKEV4ZWNTdGF0
ZSogZXhlYywgQXJyYXlBbGxvY2F0aW9uUHJvZmlsZSogcHJvZmlsZSwgY29uc3QgSlNWYWx1ZSog
dmFsdWVzLCBpbnQgc2l6ZSkKIHsKQEAgLTk3NiwxMSArOTc4LDQ0IEBAIEVuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3RnVuY3Rpb25XaXRoSW52YWxpZGF0ZWRSZWFsbG9j
YXRpb25XYXRjCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU0Z1bmN0aW9uOjpjcmVhdGVX
aXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRjaHBvaW50KHZtLCBzdGF0aWNfY2FzdDxGdW5j
dGlvbkV4ZWN1dGFibGUqPihmdW5jdGlvbkV4ZWN1dGFibGUpLCBzY29wZSkpOwogfQogCitFbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb25XaXRoSW52
YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRjaHBvaW50KEV4ZWNTdGF0ZSogZXhlYywgSlNTY29wZSog
c2NvcGUsIEpTQ2VsbCogZnVuY3Rpb25FeGVjdXRhYmxlLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFs
dWUpCit7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgQVNT
RVJUKGZ1bmN0aW9uRXhlY3V0YWJsZS0+aW5oZXJpdHMoRnVuY3Rpb25FeGVjdXRhYmxlOjppbmZv
KCkpKTsKKyAgICAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICAgICAgTmF0aXZlQ2FsbEZy
YW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOworICAgICAgICAKKyAgICAgICAgSlNGdW5jdGlv
biogZnVuYyA9ICBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIHN0YXRpY19jYXN0PEZ1bmN0aW9uRXhl
Y3V0YWJsZSo+KGZ1bmN0aW9uRXhlY3V0YWJsZSksIHNjb3BlKTsKKyAgICAgICAgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCA9IGV4ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKKyAg
ICAgICAgCisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNBcnJvd0Z1bmN0aW9uOjpj
cmVhdGVXaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRjaHBvaW50KHZtLCBnbG9iYWxPYmpl
Y3QsIGZ1bmMsIEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKSk7CisjZWxzZQorICAgICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworI2VuZGlmCit9CisgICAgCitF
bmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24oRXhl
Y1N0YXRlKiBleGVjLCBKU1Njb3BlKiBzY29wZSwgSlNDZWxsKiBmdW5jdGlvbkV4ZWN1dGFibGUs
IEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSkKK3sKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIEFTU0VSVChmdW5jdGlvbkV4ZWN1dGFibGUtPmluaGVyaXRzKEZ1bmN0
aW9uRXhlY3V0YWJsZTo6aW5mbygpKSk7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBO
YXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CisKKyAgICBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0ID0gZXhlYy0+Y2FsbGVlKCktPmdsb2JhbE9iamVjdCgpOworICAg
IEpTRnVuY3Rpb24qIGZ1bmMgPSAgSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBzdGF0aWNfY2FzdDxG
dW5jdGlvbkV4ZWN1dGFibGUqPihmdW5jdGlvbkV4ZWN1dGFibGUpLCBzY29wZSk7CisKKyAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxP
YmplY3QsIGZ1bmMsIEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKSk7CisKKyNlbHNlCisgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyNlbmRpZgorfQorCiBKU0Nl
bGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3T2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgTmF0
aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcih2bSwgZXhlYyk7Ci0gICAgCisKICAgICByZXR1cm4g
Y29uc3RydWN0RW1wdHlPYmplY3QoZXhlYywgc3RydWN0dXJlKTsKIH0KIApAQCAtMTA1NCwxMyAr
MTA4OSwxMyBAQCBTbG93UGF0aFJldHVyblR5cGUgSklUX09QRVJBVElPTiBvcGVyYXRpb25PcHRp
bWl6ZShFeGVjU3RhdGUqIGV4ZWMsIGludDMyX3QgYnl0ZQogICAgIC8vIHRoYXQgY2FzZSB3ZSB3
b3VsZCBoYXZlIGFscmVhZHkgcGxhbnRlZCB0aGUgb3B0aW1pemVkIGNvZGUgYmxvY2sgaW50byB0
aGUgSlMKICAgICAvLyBzdGFjay4KICAgICBEZWZlckdDRm9yQVdoaWxlIGRlZmVyR0Modm0uaGVh
cCk7Ci0gICAgCisKICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVCbG9jaygp
OwogICAgIGlmIChjb2RlQmxvY2stPmppdFR5cGUoKSAhPSBKSVRDb2RlOjpCYXNlbGluZUpJVCkg
ewogICAgICAgICBkYXRhTG9nKCJVbmV4cGVjdGVkIGNvZGUgYmxvY2sgaW4gQmFzZWxpbmUtPkRG
RyB0aWVyLXVwOiAiLCAqY29kZUJsb2NrLCAiXG4iKTsKICAgICAgICAgUkVMRUFTRV9BU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKICAgICB9Ci0gICAgCisKICAgICBpZiAoYnl0ZWNvZGVJbmRleCkgewog
ICAgICAgICAvLyBJZiB3ZSdyZSBhdHRlbXB0aW5nIHRvIE9TUiBmcm9tIGEgbG9vcCwgYXNzdW1l
IHRoYXQgdGhpcyBzaG91bGQgYmUKICAgICAgICAgLy8gc2VwYXJhdGVseSBvcHRpbWl6ZWQuCkBA
IC0xMDg2LDcgKzExMjEsNyBAQCBTbG93UGF0aFJldHVyblR5cGUgSklUX09QRVJBVElPTiBvcGVy
YXRpb25PcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIGludDMyX3QgYnl0ZQogICAgICAgICAgICAg
ZGF0YUxvZygiQ2hvb3Npbmcgbm90IHRvIG9wdGltaXplICIsICpjb2RlQmxvY2ssICIgeWV0LCBi
ZWNhdXNlIHRoZSB0aHJlc2hvbGQgaGFzbid0IGJlZW4gcmVhY2hlZC5cbiIpOwogICAgICAgICBy
ZXR1cm4gZW5jb2RlUmVzdWx0KDAsIDApOwogICAgIH0KLSAgICAKKwogICAgIGlmICh2bS5lbmFi
bGVkUHJvZmlsZXIoKSkgewogICAgICAgICB1cGRhdGVBbGxQcmVkaWN0aW9uc0FuZE9wdGltaXpl
QWZ0ZXJXYXJtVXAoY29kZUJsb2NrKTsKICAgICAgICAgcmV0dXJuIGVuY29kZVJlc3VsdCgwLCAw
KTsKQEAgLTExMjIsNyArMTE1Nyw3IEBAIFNsb3dQYXRoUmV0dXJuVHlwZSBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywgaW50MzJfdCBieXRlCiAgICAgICAg
IC8vIGNvdW50IHRocmVzaG9sZCBkZXBlbmRpbmcgb24gd2hhdCBoYXBwZW5lZCwgc28gaWYgdGhl
IGNvbXBpbGF0aW9uIHdhcyBhbnl0aGluZwogICAgICAgICAvLyBidXQgc3VjY2Vzc2Z1bCB3ZSBq
dXN0IHdhbnQgdG8gcmV0dXJuIGVhcmx5LiBTZWUgdGhlIGNhc2UgZm9yIHdvcmtsaXN0U3RhdGUg
PT0KICAgICAgICAgLy8gREZHOjpXb3JrbGlzdDo6Q29tcGlsZWQsIGJlbG93LgotICAgICAgICAK
KwogICAgICAgICAvLyBOb3RlIHRoYXQgd2UgY291bGQgaGF2ZSBhbHRlcm5hdGl2ZWx5IGp1c3Qg
Y2FsbGVkIFdvcmtsaXN0Ojpjb21waWxhdGlvblN0YXRlKCkKICAgICAgICAgLy8gaGVyZSwgYW5k
IGlmIGl0IHJldHVybmVkIENvbXBpbGVkLCB3ZSBjb3VsZCBoYXZlIHRoZW4gY2FsbGVkCiAgICAg
ICAgIC8vIGNvbXBsZXRlQW5kU2NoZWR1bGVPU1IoKSBiZWxvdy4gQnV0IHRoYXQgd291bGQgaGF2
ZSBtZWFudCB0aGF0IGl0IGNvdWxkIHRha2UKQEAgLTExNjUsNyArMTIwMCw3IEBAIFNsb3dQYXRo
UmV0dXJuVHlwZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk9wdGltaXplKEV4ZWNTdGF0ZSogZXhl
YywgaW50MzJfdCBieXRlCiAgICAgICAgIC8vIGN0aV9vcHRpbWl6ZSBmcm9tIGEgbG9vcC4gVGhh
dCdzIGJlY2F1c2UgaWYgdGhlcmUncyBhbiBvcHRpbWl6ZWQgcmVwbGFjZW1lbnQsCiAgICAgICAg
IC8vIHRoZW4gYWxsIGNhbGxzIHRvIHRoaXMgZnVuY3Rpb24gd2lsbCBiZSByZWxpbmtlZCB0byB0
aGUgcmVwbGFjZW1lbnQgYW5kIHNvCiAgICAgICAgIC8vIHRoZSBwcm9sb2d1ZSBPU1Igd2lsbCBu
ZXZlciBmaXJlLgotICAgICAgICAKKwogICAgICAgICAvLyBUaGlzIGlzIGFuIGludGVyZXN0aW5n
IHRocmVzaG9sZCBjaGVjay4gQ29uc2lkZXIgdGhhdCBhIGZ1bmN0aW9uIE9TUiBleGl0cwogICAg
ICAgICAvLyBpbiB0aGUgbWlkZGxlIG9mIGEgbG9vcCwgd2hpbGUgaGF2aW5nIGEgcmVsYXRpdmVs
eSBsb3cgZXhpdCBjb3VudC4gVGhlIGV4aXQKICAgICAgICAgLy8gd2lsbCByZXNldCB0aGUgZXhl
Y3V0aW9uIGNvdW50ZXIgdG8gc29tZSB0YXJnZXQgdGhyZXNob2xkLCBtZWFuaW5nIHRoYXQgdGhp
cwpAQCAtMTIxMSwxNiArMTI0NiwxNiBAQCBTbG93UGF0aFJldHVyblR5cGUgSklUX09QRVJBVElP
TiBvcGVyYXRpb25PcHRpbWl6ZShFeGVjU3RhdGUqIGV4ZWMsIGludDMyX3QgYnl0ZQogICAgICAg
ICBDb21waWxhdGlvblJlc3VsdCByZXN1bHQgPSBERkc6OmNvbXBpbGUoCiAgICAgICAgICAgICB2
bSwgcmVwbGFjZW1lbnRDb2RlQmxvY2suZ2V0KCksIDAsIERGRzo6REZHTW9kZSwgYnl0ZWNvZGVJ
bmRleCwKICAgICAgICAgICAgIG11c3RIYW5kbGVWYWx1ZXMsIEpJVFRvREZHRGVmZXJyZWRDb21w
aWxhdGlvbkNhbGxiYWNrOjpjcmVhdGUoKSk7Ci0gICAgICAgIAorCiAgICAgICAgIGlmIChyZXN1
bHQgIT0gQ29tcGlsYXRpb25TdWNjZXNzZnVsKSB7CiAgICAgICAgICAgICBBU1NFUlQocmVzdWx0
ID09IENvbXBpbGF0aW9uRGVmZXJyZWQgfHwgcmVwbGFjZW1lbnRDb2RlQmxvY2stPmhhc09uZVJl
ZigpKTsKICAgICAgICAgICAgIHJldHVybiBlbmNvZGVSZXN1bHQoMCwgMCk7CiAgICAgICAgIH0K
ICAgICB9Ci0gICAgCisKICAgICBDb2RlQmxvY2sqIG9wdGltaXplZENvZGVCbG9jayA9IGNvZGVC
bG9jay0+cmVwbGFjZW1lbnQoKTsKICAgICBBU1NFUlQoSklUQ29kZTo6aXNPcHRpbWl6aW5nSklU
KG9wdGltaXplZENvZGVCbG9jay0+aml0VHlwZSgpKSk7Ci0gICAgCisKICAgICBpZiAodm9pZCog
ZGF0YUJ1ZmZlciA9IERGRzo6cHJlcGFyZU9TUkVudHJ5KGV4ZWMsIG9wdGltaXplZENvZGVCbG9j
aywgYnl0ZWNvZGVJbmRleCkpIHsKICAgICAgICAgaWYgKE9wdGlvbnM6OnZlcmJvc2VPU1IoKSkg
ewogICAgICAgICAgICAgZGF0YUxvZygKQEAgLTEyNjMsNyArMTI5OCw3IEBAIFNsb3dQYXRoUmV0
dXJuVHlwZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk9wdGltaXplKEV4ZWNTdGF0ZSogZXhlYywg
aW50MzJfdCBieXRlCiAgICAgLy8gT1NSIGZhaWxlZCB0aGlzIHRpbWUsIGJ1dCBpdCBtaWdodCBz
dWNjZWVkIG5leHQgdGltZSEgTGV0IHRoZSBjb2RlIHJ1biBhIGJpdAogICAgIC8vIGxvbmdlciBh
bmQgdGhlbiB0cnkgYWdhaW4uCiAgICAgY29kZUJsb2NrLT5vcHRpbWl6ZUFmdGVyV2FybVVwKCk7
Ci0gICAgCisKICAgICByZXR1cm4gZW5jb2RlUmVzdWx0KDAsIDApOwogfQogI2VuZGlmCkBAIC0x
NDM5LDcgKzE0NzQsNyBAQCBzdGF0aWMgSlNWYWx1ZSBnZXRCeVZhbChFeGVjU3RhdGUqIGV4ZWMs
IEpTVmFsdWUgYmFzZVZhbHVlLCBKU1ZhbHVlIHN1YnNjcmlwdCwgUgogfQogCiBleHRlcm4gIkMi
IHsKLSAgICAKKwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeVZh
bEdlbmVyaWMoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZFN1YnNjcmlwdCkKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgp
OwpAQCAtMTQ1Nyw3ICsxNDkyLDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVy
YXRpb25HZXRCeVZhbERlZmF1bHQoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlMKICAgICBOYXRp
dmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CiAgICAgSlNWYWx1ZSBiYXNlVmFs
dWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpOwogICAgIEpTVmFsdWUgc3Vic2NyaXB0
ID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRTdWJzY3JpcHQpOwotICAgIAorCiAgICAgaWYgKGJh
c2VWYWx1ZS5pc09iamVjdCgpICYmIHN1YnNjcmlwdC5pc0ludDMyKCkpIHsKICAgICAgICAgLy8g
U2VlIGlmIGl0J3Mgd29ydGggb3B0aW1pemluZyB0aGlzIGF0IGFsbC4KICAgICAgICAgSlNPYmpl
Y3QqIG9iamVjdCA9IGFzT2JqZWN0KGJhc2VWYWx1ZSk7CkBAIC0xNDY3LDcgKzE1MDIsNyBAQCBF
bmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5VmFsRGVmYXVsdChFeGVj
U3RhdGUqIGV4ZWMsIEVuY29kZWRKUwogICAgICAgICBBU1NFUlQoYnl0ZWNvZGVPZmZzZXQpOwog
ICAgICAgICBCeVZhbEluZm8mIGJ5VmFsSW5mbyA9IGV4ZWMtPmNvZGVCbG9jaygpLT5nZXRCeVZh
bEluZm8oYnl0ZWNvZGVPZmZzZXQgLSAxKTsKICAgICAgICAgQVNTRVJUKCFieVZhbEluZm8uc3R1
YlJvdXRpbmUpOwotICAgICAgICAKKwogICAgICAgICBpZiAoaGFzT3B0aW1pemFibGVJbmRleGlu
ZyhvYmplY3QtPnN0cnVjdHVyZSh2bSkpKSB7CiAgICAgICAgICAgICAvLyBBdHRlbXB0IHRvIG9w
dGltaXplLgogICAgICAgICAgICAgSklUQXJyYXlNb2RlIGFycmF5TW9kZSA9IGppdEFycmF5TW9k
ZUZvclN0cnVjdHVyZShvYmplY3QtPnN0cnVjdHVyZSh2bSkpOwpAQCAtMTQ3Niw3ICsxNTExLDcg
QEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRCeVZhbERlZmF1bHQo
RXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlMKICAgICAgICAgICAgICAgICBkaWRPcHRpbWl6ZSA9
IHRydWU7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICAgICAgCisKICAgICAgICAgaWYg
KCFkaWRPcHRpbWl6ZSkgewogICAgICAgICAgICAgLy8gSWYgd2UgdGFrZSBzbG93IHBhdGggbW9y
ZSB0aGFuIDEwIHRpbWVzIHdpdGhvdXQgcGF0Y2hpbmcgdGhlbiBtYWtlIHN1cmUgd2UKICAgICAg
ICAgICAgIC8vIG5ldmVyIG1ha2UgdGhhdCBtaXN0YWtlIGFnYWluLiBPciwgaWYgd2UgZmFpbGVk
IHRvIHBhdGNoIGFuZCB3ZSBoYXZlIHNvbWUgb2JqZWN0CkBAIC0xNDkwLDE4ICsxNTI1LDE4IEBA
IEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0QnlWYWxEZWZhdWx0KEV4
ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9
Ci0gICAgCisKICAgICBKU1ZhbHVlIHJlc3VsdCA9IGdldEJ5VmFsKGV4ZWMsIGJhc2VWYWx1ZSwg
c3Vic2NyaXB0LCBSZXR1cm5BZGRyZXNzUHRyKE9VUl9SRVRVUk5fQUREUkVTUykpOwogICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKIH0KLSAgICAKKwogRW5jb2RlZEpTVmFsdWUg
SklUX09QRVJBVElPTiBvcGVyYXRpb25IYXNJbmRleGVkUHJvcGVydHlEZWZhdWx0KEV4ZWNTdGF0
ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRTdWJzY3JpcHQpCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxs
RnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CiAgICAgSlNWYWx1ZSBiYXNlVmFsdWUgPSBK
U1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpOwogICAgIEpTVmFsdWUgc3Vic2NyaXB0ID0gSlNW
YWx1ZTo6ZGVjb2RlKGVuY29kZWRTdWJzY3JpcHQpOwotICAgIAorCiAgICAgQVNTRVJUKGJhc2VW
YWx1ZS5pc09iamVjdCgpKTsKICAgICBBU1NFUlQoc3Vic2NyaXB0LmlzVUludDMyKCkpOwogCkBA
IC0xNTEyLDcgKzE1NDcsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
bkhhc0luZGV4ZWRQcm9wZXJ0eURlZmF1bHQoRXhlY1N0YXRlKiBleGVjLAogICAgIEFTU0VSVChi
eXRlY29kZU9mZnNldCk7CiAgICAgQnlWYWxJbmZvJiBieVZhbEluZm8gPSBleGVjLT5jb2RlQmxv
Y2soKS0+Z2V0QnlWYWxJbmZvKGJ5dGVjb2RlT2Zmc2V0IC0gMSk7CiAgICAgQVNTRVJUKCFieVZh
bEluZm8uc3R1YlJvdXRpbmUpOwotICAgIAorCiAgICAgaWYgKGhhc09wdGltaXphYmxlSW5kZXhp
bmcob2JqZWN0LT5zdHJ1Y3R1cmUodm0pKSkgewogICAgICAgICAvLyBBdHRlbXB0IHRvIG9wdGlt
aXplLgogICAgICAgICBKSVRBcnJheU1vZGUgYXJyYXlNb2RlID0gaml0QXJyYXlNb2RlRm9yU3Ry
dWN0dXJlKG9iamVjdC0+c3RydWN0dXJlKHZtKSk7CkBAIC0xNTIxLDcgKzE1NTYsNyBAQCBFbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkhhc0luZGV4ZWRQcm9wZXJ0eURlZmF1
bHQoRXhlY1N0YXRlKiBleGVjLAogICAgICAgICAgICAgZGlkT3B0aW1pemUgPSB0cnVlOwogICAg
ICAgICB9CiAgICAgfQotICAgIAorCiAgICAgaWYgKCFkaWRPcHRpbWl6ZSkgewogICAgICAgICAv
LyBJZiB3ZSB0YWtlIHNsb3cgcGF0aCBtb3JlIHRoYW4gMTAgdGltZXMgd2l0aG91dCBwYXRjaGlu
ZyB0aGVuIG1ha2Ugc3VyZSB3ZQogICAgICAgICAvLyBuZXZlciBtYWtlIHRoYXQgbWlzdGFrZSBh
Z2Fpbi4gT3IsIGlmIHdlIGZhaWxlZCB0byBwYXRjaCBhbmQgd2UgaGF2ZSBzb21lIG9iamVjdApA
QCAtMTUzMSwzNCArMTU2NiwzNCBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbkhhc0luZGV4ZWRQcm9wZXJ0eURlZmF1bHQoRXhlY1N0YXRlKiBleGVjLAogICAgICAgICBp
ZiAoKytieVZhbEluZm8uc2xvd1BhdGhDb3VudCA+PSAxMAogICAgICAgICAgICAgfHwgb2JqZWN0
LT5zdHJ1Y3R1cmUodm0pLT50eXBlSW5mbygpLmludGVyY2VwdHNHZXRPd25Qcm9wZXJ0eVNsb3RC
eUluZGV4RXZlbldoZW5MZW5ndGhJc05vdFplcm8oKSkgewogICAgICAgICAgICAgLy8gRG9uJ3Qg
ZXZlciB0cnkgdG8gb3B0aW1pemUuCi0gICAgICAgICAgICBjdGlQYXRjaENhbGxCeVJldHVybkFk
ZHJlc3MoZXhlYy0+Y29kZUJsb2NrKCksIFJldHVybkFkZHJlc3NQdHIoT1VSX1JFVFVSTl9BRERS
RVNTKSwgRnVuY3Rpb25QdHIob3BlcmF0aW9uSGFzSW5kZXhlZFByb3BlcnR5R2VuZXJpYykpOyAK
KyAgICAgICAgICAgIGN0aVBhdGNoQ2FsbEJ5UmV0dXJuQWRkcmVzcyhleGVjLT5jb2RlQmxvY2so
KSwgUmV0dXJuQWRkcmVzc1B0cihPVVJfUkVUVVJOX0FERFJFU1MpLCBGdW5jdGlvblB0cihvcGVy
YXRpb25IYXNJbmRleGVkUHJvcGVydHlHZW5lcmljKSk7CiAgICAgICAgIH0KICAgICB9Ci0gICAg
CisKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihvYmplY3QtPmhhc1Byb3Bl
cnR5KGV4ZWMsIHN1YnNjcmlwdC5hc1VJbnQzMigpKSkpOwogfQotICAgIAorCiBFbmNvZGVkSlNW
YWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkhhc0luZGV4ZWRQcm9wZXJ0eUdlbmVyaWMoRXhl
Y1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFzZSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZFN1YnNjcmlwdCkKIHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIE5hdGl2
ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKICAgICBKU1ZhbHVlIGJhc2VWYWx1
ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSk7CiAgICAgSlNWYWx1ZSBzdWJzY3JpcHQg
PSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFN1YnNjcmlwdCk7Ci0gICAgCisKICAgICBBU1NFUlQo
YmFzZVZhbHVlLmlzT2JqZWN0KCkpOwogICAgIEFTU0VSVChzdWJzY3JpcHQuaXNVSW50MzIoKSk7
CiAKICAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QoYmFzZVZhbHVlKTsKICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihvYmplY3QtPmhhc1Byb3BlcnR5KGV4ZWMsIHN1
YnNjcmlwdC5hc1VJbnQzMigpKSkpOwogfQotICAgIAorCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvbkdldEJ5VmFsU3RyaW5nKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZEJhc2UsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRTdWJzY3JpcHQpCiB7CiAg
ICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2Vy
KCZ2bSwgZXhlYyk7CiAgICAgSlNWYWx1ZSBiYXNlVmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5j
b2RlZEJhc2UpOwogICAgIEpTVmFsdWUgc3Vic2NyaXB0ID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29k
ZWRTdWJzY3JpcHQpOwotICAgIAorCiAgICAgSlNWYWx1ZSByZXN1bHQ7CiAgICAgaWYgKExJS0VM
WShzdWJzY3JpcHQuaXNVSW50MzIoKSkpIHsKICAgICAgICAgdWludDMyX3QgaSA9IHN1YnNjcmlw
dC5hc1VJbnQzMigpOwpAQCAtMTYwMSw3ICsxNjM2LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25JbnN0YW5jZU9mKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFs
dWUKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CiAgICAgSlNW
YWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOwogICAgIEpTVmFsdWUg
cHJvdG8gPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFByb3RvKTsKLSAgICAKKwogICAgIEFTU0VS
VCghdmFsdWUuaXNPYmplY3QoKSB8fCAhcHJvdG8uaXNPYmplY3QoKSk7CiAKICAgICBib29sIHJl
c3VsdCA9IEpTT2JqZWN0OjpkZWZhdWx0SGFzSW5zdGFuY2UoZXhlYywgdmFsdWUsIHByb3RvKTsK
QEAgLTE3NTcsNyArMTc5Miw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRUb1Nj
b3BlKEV4ZWNTdGF0ZSogZXhlYywgSW5zdHJ1Y3Rpb24qIGJ5dGVjb2RlUEMpCiAKICAgICBQdXRQ
cm9wZXJ0eVNsb3Qgc2xvdChzY29wZSwgY29kZUJsb2NrLT5pc1N0cmljdE1vZGUoKSk7CiAgICAg
c2NvcGUtPm1ldGhvZFRhYmxlKCktPnB1dChzY29wZSwgZXhlYywgaWRlbnQsIHZhbHVlLCBzbG90
KTsKLSAgICAKKwogICAgIGlmIChleGVjLT52bSgpLmV4Y2VwdGlvbigpKQogICAgICAgICByZXR1
cm47CiAKQEAgLTE3OTEsNyArMTgyNiw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25P
U1JXcml0ZUJhcnJpZXIoRXhlY1N0YXRlKiBleGVjLCBKU0NlbGwqIGNlbGwpCiB9CiAKIC8vIE5C
OiBXZSBkb24ndCBpbmNsdWRlIHRoZSB2YWx1ZSBhcyBwYXJ0IG9mIHRoZSBiYXJyaWVyIGJlY2F1
c2UgdGhlIHdyaXRlIGJhcnJpZXIgZWxpc2lvbgotLy8gcGhhc2UgaW4gdGhlIERGRyBvbmx5IHRy
YWNrcyB3aGV0aGVyIHRoZSBvYmplY3QgYmVpbmcgc3RvcmVkIHRvIGhhcyBiZWVuIGJhcnJpZXJl
ZC4gSXQgCisvLyBwaGFzZSBpbiB0aGUgREZHIG9ubHkgdHJhY2tzIHdoZXRoZXIgdGhlIG9iamVj
dCBiZWluZyBzdG9yZWQgdG8gaGFzIGJlZW4gYmFycmllcmVkLiBJdAogLy8gd291bGQgYmUgbXVj
aCBtb3JlIGNvbXBsaWNhdGVkIHRvIHRyeSB0byBtb2RlbCB0aGUgdmFsdWUgYmVpbmcgc3RvcmVk
IGFzIHdlbGwuCiB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uVW5jb25kaXRpb25hbFdyaXRl
QmFycmllcihFeGVjU3RhdGUqIGV4ZWMsIEpTQ2VsbCogY2VsbCkKIHsKQEAgLTE4MTUsNyArMTg1
MCw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBsb29rdXBFeGNlcHRpb25IYW5kbGVyKFZNKiB2bSwg
RXhlY1N0YXRlKiBleGVjKQogCiAgICAgSlNWYWx1ZSBleGNlcHRpb25WYWx1ZSA9IHZtLT5leGNl
cHRpb24oKTsKICAgICBBU1NFUlQoZXhjZXB0aW9uVmFsdWUpOwotICAgIAorCiAgICAgZ2VuZXJp
Y1Vud2luZCh2bSwgZXhlYywgZXhjZXB0aW9uVmFsdWUpOwogICAgIEFTU0VSVCh2bS0+dGFyZ2V0
TWFjaGluZVBDRm9yVGhyb3cpOwogfQpAQCAtMTgzMCw3ICsxODY1LDcgQEAgdm9pZCBKSVRfT1BF
UkFUSU9OIGxvb2t1cEV4Y2VwdGlvbkhhbmRsZXJGcm9tQ2FsbGVyRnJhbWUoVk0qIHZtLCBFeGVj
U3RhdGUqIGV4ZWMKIAogICAgIEpTVmFsdWUgZXhjZXB0aW9uVmFsdWUgPSB2bS0+ZXhjZXB0aW9u
KCk7CiAgICAgQVNTRVJUKGV4Y2VwdGlvblZhbHVlKTsKLSAgICAKKwogICAgIGdlbmVyaWNVbndp
bmQodm0sIGNhbGxlckZyYW1lLCBleGNlcHRpb25WYWx1ZSk7CiAgICAgQVNTRVJUKHZtLT50YXJn
ZXRNYWNoaW5lUENGb3JUaHJvdyk7CiB9CkBAIC0xODc3LDcgKzE5MTIsNyBAQCBFbmNvZGVkSlNW
YWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkhhc0luZGV4ZWRQcm9wZXJ0eShFeGVjU3RhdGUq
IGV4ZWMsIEpTQ2VsbAogICAgIEpTT2JqZWN0KiBvYmplY3QgPSBiYXNlQ2VsbC0+dG9PYmplY3Qo
ZXhlYywgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKGpzQm9vbGVhbihvYmplY3QtPmhhc1Byb3BlcnR5KGV4ZWMsIHN1YnNjcmlwdCkpKTsK
IH0KLSAgICAKKwogSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldFByb3BlcnR5RW51
bWVyYXRvcihFeGVjU3RhdGUqIGV4ZWMsIEpTQ2VsbCogY2VsbCkKIHsKICAgICBWTSYgdm0gPSBl
eGVjLT52bSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVy
YXRpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaAppbmRl
eCA0YzgxZDg1NDdjOGNmNjcwNmYwOGRmMDYxN2NkOWE5MTY4OGVmOTY1Li5mYzU3Zjg3ZDI4Mjhj
NGY2YzllOWE2YmM4MjJlNGYwN2JkYTJlMzY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVE9wZXJhdGlvbnMuaApAQCAtMjAsNyArMjAsNyBAQAogICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQogICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CiAgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwog
CiAjaWZuZGVmIEpJVE9wZXJhdGlvbnNfaApAQCAtMTE2LDYgKzExNiw3IEBAIHR5cGVkZWYgRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQUCkoRXhlY1N0YXRl
Kiwgdm9pZCosIHZvCiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJ
VE9wZXJhdGlvbl9FUFMpKEV4ZWNTdGF0ZSosIHZvaWQqLCBzaXplX3QpOwogdHlwZWRlZiBFbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVBjKShFeGVjU3RhdGUq
LCBJbnN0cnVjdGlvbiopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgq
Sl9KSVRPcGVyYXRpb25fRUpzY0MpKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKTsKK3R5
cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VKc2ND
SikoRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlKTsKIHR5cGVk
ZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTUykoRXhl
Y1N0YXRlKiwgc2l6ZV90LCBzaXplX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BF
UkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNzaUNJKShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmVTdHVi
SW5mbyosIEpTQ2VsbCosIFN0cmluZ0ltcGwqKTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklU
X09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTc2lKSSkoRXhlY1N0YXRlKiwgU3RydWN0dXJl
U3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSwgU3RyaW5nSW1wbCopOwpAQCAtMjgzLDYgKzI4NCw4
IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXlCdWZmZXJX
aXRoUHJvZmlsZShFeGVjU3RhdGUqLCBBcnJhCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbk5ld0FycmF5V2l0aFNpemVBbmRQcm9maWxlKEV4ZWNTdGF0ZSosIEFycmF5QWxs
b2NhdGlvblByb2ZpbGUqLCBFbmNvZGVkSlNWYWx1ZSBzaXplKSBXVEZfSU5URVJOQUw7CiBFbmNv
ZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Z1bmN0aW9uKEV4ZWNTdGF0ZSos
IEpTU2NvcGUqLCBKU0NlbGwqKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvbk5ld0Z1bmN0aW9uV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0
Y2hwb2ludChFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKikgV1RGX0lOVEVSTkFMOworRW5j
b2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKEV4ZWNT
dGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVSTkFMOwor
RW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uV2l0
aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludChFeGVjU3RhdGUqLCBKU1Njb3BlKiwg
SlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUpIFdURl9JTlRFUk5BTDsKIEpTQ2VsbCogSklUX09QRVJB
VElPTiBvcGVyYXRpb25OZXdPYmplY3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlKikgV1RGX0lOVEVS
TkFMOwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdSZWdleHAoRXhl
Y1N0YXRlKiwgdm9pZCopIFdURl9JTlRFUk5BTDsKIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRp
b25IYW5kbGVXYXRjaGRvZ1RpbWVyKEV4ZWNTdGF0ZSopIFdURl9JTlRFUk5BTDsKQEAgLTQxMSw0
ICs0MTQsMyBAQCBpbmxpbmUgUF9KSVRPcGVyYXRpb25fRUNsaSBvcGVyYXRpb25MaW5rUG9seW1v
cnBoaWNDYWxsRm9yKFJlZ2lzdGVyUHJlc2VydmF0aW9uTQogI2VuZGlmIC8vIEVOQUJMRShKSVQp
CiAKICNlbmRpZiAvLyBKSVRPcGVyYXRpb25zX2gKLQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKaW5kZXggMjBiZWJmMzJmNjE1NGZhOWYzZjQ2OTYy
ZjNhNjE0MGEyZTg0NmRjMC4uN2E4NTA1ZjI4ZmVjMmNhZTJjNjUzODVjYzA5NGJjZGZjYzI0YWZk
OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhz
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3Bw
CkBAIC0zOCw2ICszOCw4IEBACiAjaW5jbHVkZSAiSW50ZXJwcmV0ZXIuaCIKICNpbmNsdWRlICJK
SVQuaCIKICNpbmNsdWRlICJKSVRFeGNlcHRpb25zLmgiCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0
aW9uLmgiCisjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNMZXhpY2Fs
RW52aXJvbm1lbnQuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDSlNW
YWx1ZS5oIgpAQCAtMTcxLDYgKzE3MywxNSBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIExM
SW50IHsKICAgICAgICAgTExJTlRfUkVUVVJOX1RXTyhwYywgX19yY2ZfZXhlYyk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKICAgICB9IHdoaWxlIChmYWxzZSkKIAorICAgIAorI2Rl
ZmluZSBMTElOVF9DQUxDX1BST1BFUlRZX0ZPUl9GVU5DX0VYUFIoKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgTExJTlRfQkVHSU4oKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBDb2Rl
QmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVCbG9jaygpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAorICAgIEpTU2NvcGUqIHNjb3BlID0gZXhlYy0+dW5jaGVja2VkUihw
Y1syXS51Lm9wZXJhbmQpLlJlZ2lzdGVyOjpzY29wZSgpOyAgICAgICBcCisgICAgRnVuY3Rpb25F
eGVjdXRhYmxlKiBleGVjdXRhYmxlID0gY29kZUJsb2NrLT5mdW5jdGlvbkV4cHIocGNbM10udS5v
cGVyYW5kKTsgIFwKKyAgICAKK2VudW0gRnVuY3Rpb25FeHByZXNzaW9uVHlwZSB7IEFycm93RnVu
Y3Rpb25FeHByZXNzaW9uVHlwZSwgQ29tbW9uRnVuY3Rpb25FeHByZXNzaW9uVHlwZX07CisgICAg
CiBleHRlcm4gIkMiIFNsb3dQYXRoUmV0dXJuVHlwZSBsbGludF90cmFjZV9vcGVyYW5kKEV4ZWNT
dGF0ZSogZXhlYywgSW5zdHJ1Y3Rpb24qIHBjLCBpbnQgZnJvbVdoZXJlLCBpbnQgb3BlcmFuZCkK
IHsKICAgICBMTElOVF9CRUdJTigpOwpAQCAtMTAwMywxNiArMTAxNCwzMyBAQCBMTElOVF9TTE9X
X1BBVEhfREVDTChzbG93X3BhdGhfbmV3X2Z1bmMpCiAjZW5kaWYKICAgICBMTElOVF9SRVRVUk4o
SlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBjb2RlQmxvY2stPmZ1bmN0aW9uRGVjbChwY1szXS51Lm9w
ZXJhbmQpLCBzY29wZSkpOwogfQotCisgICAgCiBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3Bh
dGhfbmV3X2Z1bmNfZXhwKQogewotICAgIExMSU5UX0JFR0lOKCk7Ci0gICAgQ29kZUJsb2NrKiBj
b2RlQmxvY2sgPSBleGVjLT5jb2RlQmxvY2soKTsKLSAgICBKU1Njb3BlKiBzY29wZSA9IGV4ZWMt
PnVuY2hlY2tlZFIocGNbMl0udS5vcGVyYW5kKS5SZWdpc3Rlcjo6c2NvcGUoKTsKLSAgICBGdW5j
dGlvbkV4ZWN1dGFibGUqIGZ1bmN0aW9uID0gY29kZUJsb2NrLT5mdW5jdGlvbkV4cHIocGNbM10u
dS5vcGVyYW5kKTsKLSAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNGdW5jdGlvbjo6Y3JlYXRlKHZt
LCBmdW5jdGlvbiwgc2NvcGUpOworICAgIExMSU5UX0NBTENfUFJPUEVSVFlfRk9SX0ZVTkNfRVhQ
UigpOworCisgICAgSlNGdW5jdGlvbiogZnVuYyA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgZXhl
Y3V0YWJsZSwgc2NvcGUpOworICAgIExMSU5UX1JFVFVSTihmdW5jKTsKK30KKworCitMTElOVF9T
TE9XX1BBVEhfREVDTChzbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKQoreworICAgIExMSU5U
X0NBTENfUFJPUEVSVFlfRk9SX0ZVTkNfRVhQUigpOworCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICBKU1ZhbHVlIHRoaXNWYWx1ZSA9IExMSU5UX09QX0MoNCkuanNW
YWx1ZSgpOworICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBleGVjLT5jYWxsZWUo
KS0+Z2xvYmFsT2JqZWN0KCk7CiAgICAgCisgICAgSlNGdW5jdGlvbiogZnVuYyA9IEpTRnVuY3Rp
b246OmNyZWF0ZSh2bSwgZXhlY3V0YWJsZSwgc2NvcGUpOworICAgIAorICAgIGNvbnN0IFN0cmlu
ZyBmdW5jV2l0aG91dE5hbWUgPSAiIjsKKyAgICAKKyAgICBMTElOVF9SRVRVUk4oSlNBcnJvd0Z1
bmN0aW9uOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgZnVuYywgdGhpc1ZhbHVlKSk7CisjZWxz
ZQorICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGV4ZWN1dGFi
bGUsIHNjb3BlKTsKICAgICBMTElOVF9SRVRVUk4oZnVuYyk7CisjZW5kaWYKIH0KIAogc3RhdGlj
IFNsb3dQYXRoUmV0dXJuVHlwZSBoYW5kbGVIb3N0Q2FsbChFeGVjU3RhdGUqIGV4ZWNDYWxsZWUs
IEluc3RydWN0aW9uKiBwYywgSlNWYWx1ZSBjYWxsZWUsIENvZGVTcGVjaWFsaXphdGlvbktpbmQg
a2luZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQ
YXRocy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgKaW5k
ZXggNGJmN2RlYjBmYTBiNmM2NDM4ZTM2Zjk2MzIwZTJmNjY5NzM5YWY2NC4uYzdmYWI5NjkxYzE4
YjkzOTU2ZDBlYTI5ZjMzOTU2MTE4YzVlNzFlZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xMSW50U2xvd1BhdGhzLmgKQEAgLTk2LDYgKzk2LDcgQEAgTExJTlRfU0xPV19QQVRI
X0hJRERFTl9ERUNMKHNsb3dfcGF0aF9zd2l0Y2hfY2hhcik7CiBMTElOVF9TTE9XX1BBVEhfSElE
REVOX0RFQ0woc2xvd19wYXRoX3N3aXRjaF9zdHJpbmcpOwogTExJTlRfU0xPV19QQVRIX0hJRERF
Tl9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuYyk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0wo
c2xvd19wYXRoX25ld19mdW5jX2V4cCk7CitMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xv
d19wYXRoX25ld19hcnJvd19mdW5jX2V4cCk7CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0wo
c2xvd19wYXRoX2NhbGwpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9j
b25zdHJ1Y3QpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9zaXplX2Zy
YW1lX2Zvcl92YXJhcmdzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbQppbmRleCA1NDNkOWU5MzMzYzUxM2U5NzYxN2I3YmRhN2Y2
OTk4NjY4MzhhMWUwLi4xODJiYmQ5ZTRlZjc4OTI4ZGE1MmZiY2VjODgyYTVkZjM2ZGI3OTQxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc20KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtCkBAIC0xMTY5LDYgKzExNjksMTAgQEAgX2xsaW50X29wX25ld19mdW5jX2V4cDoKICAg
ICBjYWxsU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9uZXdfZnVuY19leHApCiAgICAgZGlzcGF0
Y2goNCkKIAorX2xsaW50X29wX25ld19hcnJvd19mdW5jX2V4cDoKKyAgICB0cmFjZUV4ZWN1dGlv
bigpCisgICAgY2FsbFNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhw
KQorICAgIGRpc3BhdGNoKDUpCiAKIF9sbGludF9vcF9jYWxsOgogICAgIHRyYWNlRXhlY3V0aW9u
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKaW5kZXggYWE3Mzcw
NTJjYjNjODE1MzU3YzhhNmZlMzY4YWQyMTU5YmEzMmMwZi4uOWQwMzE5MTQ0YmQ0ZDdiZTE2NmZk
Nzk0MDUyNThiOTJkMjRhNDY0OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9BU1RCdWlsZGVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RC
dWlsZGVyLmgKQEAgLTM1Nyw2ICszNTcsMTkgQEAgcHVibGljOgogICAgICAgICAgICAgaW5TdHJp
Y3RDb250ZXh0LCBjb25zdHJ1Y3RvcktpbmQpOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisgICAgRXhwcmVzc2lvbk5vZGUqIGNyZWF0ZUFycm93RnVuY3Rp
b25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IFBhcnNlckZ1bmN0
aW9uSW5mbzxBU1RCdWlsZGVyPiYgaW5mbykKKyAgICB7CisgICAgICAgIFNvdXJjZUNvZGUgc291
cmNlID0gaW5mby5mdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVzc2lv
bgorICAgICAgICA/IG1fc291cmNlQ29kZS0+c3ViQXJyb3dFeHByZXNzaW9uKGluZm8uYXJyb3dG
dW5jdGlvbk9mZnNldCwgaW5mby5jbG9zZUJyYWNlT2Zmc2V0LCBpbmZvLmJvZHlTdGFydExpbmUs
IGluZm8uYm9keVN0YXJ0Q29sdW1uKQorICAgICAgICA6IG1fc291cmNlQ29kZS0+c3ViRXhwcmVz
c2lvbihpbmZvLm9wZW5CcmFjZU9mZnNldCwgaW5mby5jbG9zZUJyYWNlT2Zmc2V0LCBpbmZvLmJv
ZHlTdGFydExpbmUsIGluZm8uYm9keVN0YXJ0Q29sdW1uKTsKKworICAgICAgICBBcnJvd0Z1bmNF
eHByTm9kZSogcmVzdWx0ID0gbmV3IChtX3BhcnNlckFyZW5hKSBBcnJvd0Z1bmNFeHByTm9kZShs
b2NhdGlvbiwgKmluZm8ubmFtZSwgaW5mby5ib2R5LCBzb3VyY2UsIGluZm8ucGFyYW1ldGVycyk7
CisgICAgICAgIGluZm8uYm9keS0+c2V0TG9jKGluZm8uYm9keVN0YXJ0TGluZSwgaW5mby5ib2R5
RW5kTGluZSwgbG9jYXRpb24uc3RhcnRPZmZzZXQsIGxvY2F0aW9uLmxpbmVTdGFydE9mZnNldCk7
CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorI2VuZGlmCisKICAgICBORVZFUl9JTkxJ
TkUgUHJvcGVydHlOb2RlKiBjcmVhdGVHZXR0ZXJPclNldHRlclByb3BlcnR5KGNvbnN0IEpTVG9r
ZW5Mb2NhdGlvbiYgbG9jYXRpb24sIFByb3BlcnR5Tm9kZTo6VHlwZSB0eXBlLCBib29sLAogICAg
ICAgICBjb25zdCBJZGVudGlmaWVyKiBuYW1lLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88QVNU
QnVpbGRlcj4mIGluZm8sIFN1cGVyQmluZGluZyBzdXBlckJpbmRpbmcpCiAgICAgewpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcAppbmRleCA5NmViN2FhYjIzOWEzODZkMDdmNjBk
YmE3NGU2ZmFkMWZhNmNkMzdhLi5hZDcwNTZkZGUzODhlZjg2ZmI3ZjYyNzZmZGE3M2VhZTg5ZDQz
NDhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcApAQCAtMTcwOCw2ICsx
NzA4LDE4IEBAIGJvb2wgTGV4ZXI8VD46Om5leHRUb2tlbklzQ29sb24oKQogICAgIHJldHVybiBj
b2RlIDwgbV9jb2RlRW5kICYmICpjb2RlID09ICc6JzsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK3ZvaWQgTGV4ZXI8VD46
OnNldFRva2VuUG9zaXRpb24oSlNUb2tlbiogdG9rZW5SZWNvcmQpCit7CisgICAgSlNUb2tlbkRh
dGEqIHRva2VuRGF0YSA9ICZ0b2tlblJlY29yZC0+bV9kYXRhOworICAgIHRva2VuRGF0YS0+bGlu
ZSA9IGxpbmVOdW1iZXIoKTsKKyAgICB0b2tlbkRhdGEtPm9mZnNldCA9IGN1cnJlbnRPZmZzZXQo
KTsKKyAgICB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCA9IGN1cnJlbnRMaW5lU3RhcnRPZmZz
ZXQoKTsKKyAgICBBU1NFUlQodG9rZW5EYXRhLT5vZmZzZXQgPj0gdG9rZW5EYXRhLT5saW5lU3Rh
cnRPZmZzZXQpOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgogSlNUb2tlblR5
cGUgTGV4ZXI8VD46OmxleChKU1Rva2VuKiB0b2tlblJlY29yZCwgdW5zaWduZWQgbGV4ZXJGbGFn
cywgYm9vbCBzdHJpY3RNb2RlKQogewpAQCAtMTc3MSw3ICsxNzgzLDEyIEBAIHN0YXJ0OgogICAg
ICAgICB9CiAgICAgICAgIHRva2VuID0gR1Q7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ2hh
cmFjdGVyRXF1YWw6CisgICAgY2FzZSBDaGFyYWN0ZXJFcXVhbDogeworI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIHVpbnQzMl90IHNhdmVkbGluZU51bWJlciA9
IHRva2VuRGF0YS0+bGluZTsKKyAgICAgICAgdWludDMyX3Qgc2F2ZWRPZmZzZXQgPSBjdXJyZW50
T2Zmc2V0KCk7CisgICAgICAgIHVpbnQzMl90IHNhdmVkTGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVu
dExpbmVTdGFydE9mZnNldCgpOworI2VuZGlmCiAgICAgICAgIHNoaWZ0KCk7CiAgICAgICAgIGlm
IChtX2N1cnJlbnQgPT0gJz0nKSB7CiAgICAgICAgICAgICBzaGlmdCgpOwpAQCAtMTc4Myw4ICsx
ODAwLDIyIEBAIHN0YXJ0OgogICAgICAgICAgICAgdG9rZW4gPSBFUUVROwogICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgICAgICBpZiAobV9jdXJyZW50ID09ICc+JykgeworICAgICAgICAgICAgc2hpZnQoKTsKKyAg
ICAgICAgICAgIHRva2VuID0gQVJST1dGVU5DVElPTjsKKworICAgICAgICAgICAgdG9rZW5EYXRh
LT5saW5lID0gc2F2ZWRsaW5lTnVtYmVyOworICAgICAgICAgICAgdG9rZW5EYXRhLT5vZmZzZXQg
PSBzYXZlZE9mZnNldDsKKyAgICAgICAgICAgIHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0ID0g
c2F2ZWRMaW5lU3RhcnRPZmZzZXQ7CisKKyAgICAgICAgICAgIEFTU0VSVCh0b2tlbkRhdGEtPm9m
ZnNldCA+PSB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCk7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIHRva2VuID0gRVFVQUw7CiAgICAgICAgIGJyZWFr
OworICAgIH0KICAgICBjYXNlIENoYXJhY3Rlckxlc3M6CiAgICAgICAgIHNoaWZ0KCk7CiAgICAg
ICAgIGlmIChtX2N1cnJlbnQgPT0gJyEnICYmIHBlZWsoMSkgPT0gJy0nICYmIHBlZWsoMikgPT0g
Jy0nKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKaW5kZXggOGFmZWYyNjExMjEw
OGFlZDdlODZlZDBlODQ3OWI3OWMxZDAyMjdhYi4uYmRhM2JkNDllYTdhNTljMzVjNGUxMjg1Y2Y5
NDgzMjI1NWM4N2ZlYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9M
ZXhlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaApAQCAtODcs
NiArODcsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRJc1JlcGFyc2luZygpIHsgbV9pc1JlcGFy
c2luZyA9IHRydWU7IH0KICAgICBib29sIGlzUmVwYXJzaW5nKCkgY29uc3QgeyByZXR1cm4gbV9p
c1JlcGFyc2luZzsgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICB2b2lkIHNldFRva2VuUG9zaXRpb24oSlNUb2tlbiogdG9rZW5SZWNvcmQpOworI2VuZGlmCiAg
ICAgSlNUb2tlblR5cGUgbGV4KEpTVG9rZW4qLCB1bnNpZ25lZCwgYm9vbCBzdHJpY3RNb2RlKTsK
ICAgICBib29sIG5leHRUb2tlbklzQ29sb24oKTsKICAgICBpbnQgbGluZU51bWJlcigpIGNvbnN0
IHsgcmV0dXJuIG1fbGluZU51bWJlcjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL05vZGVDb25zdHJ1Y3RvcnMuaAppbmRleCA4OWI5MjhlY2Y4YjQ0MDAwNjIzNjYxMjgyYTk3
MGE1NjIxYTUxYTkyLi4xYjQwZWUzZTIxZDhlMzcwMTYxY2M5ZjljNGFlZWNjNzA3MjYzZmExIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaApA
QCAtODM1LDYgKzgzNSwxMyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgbV9ib2R5LT5maW5p
c2hQYXJzaW5nKHNvdXJjZSwgcGFyYW1ldGVyLCBpZGVudCwgRnVuY3Rpb25FeHByZXNzaW9uKTsK
ICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlubGlu
ZSBBcnJvd0Z1bmNFeHByTm9kZTo6QXJyb3dGdW5jRXhwck5vZGUoY29uc3QgSlNUb2tlbkxvY2F0
aW9uJiBsb2NhdGlvbiwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIEZ1bmN0aW9uQm9keU5vZGUq
IGJvZHksIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgUGFyYW1ldGVyTm9kZSogcGFyYW1ldGVy
KQorICAgICAgICA6IEZ1bmNFeHByTm9kZShsb2NhdGlvbiwgaWRlbnQsIGJvZHksIHNvdXJjZSwg
cGFyYW1ldGVyKQorICAgIHsKKyAgICB9CisjZW5kaWYKKyAgICAKICAgICBpbmxpbmUgRnVuY0Rl
Y2xOb2RlOjpGdW5jRGVjbE5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29u
c3QgSWRlbnRpZmllciYgaWRlbnQsIEZ1bmN0aW9uQm9keU5vZGUqIGJvZHksIGNvbnN0IFNvdXJj
ZUNvZGUmIHNvdXJjZSwgUGFyYW1ldGVyTm9kZSogcGFyYW1ldGVyKQogICAgICAgICA6IFN0YXRl
bWVudE5vZGUobG9jYXRpb24pCiAgICAgICAgICwgbV9ib2R5KGJvZHkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL05vZGVzLmgKaW5kZXggNzg0ODE4NGU1NTRjZjQwZWFmMzkwNjdlNjc4YTVlZDhh
YzU0OTllOC4uOTU0MGIxYjQ1MTQ1MTQzNjJlMDc5YTg0N2MwMTVkZTBiYzdiNWY4ZCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaApAQCAtMTU4LDYgKzE1OCw5IEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNEb3RBY2Nlc3Nvck5vZGUoKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNEZWNvbnN0cnVjdGlvbk5v
ZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNGdW5j
RXhwck5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Fycm93RnVuY0V4cHJOb2Rl
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyNlbmRpZgogICAgICAgICB2aXJ0dWFsIGJvb2wg
aXNDb21tYU5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJv
b2wgaXNTaW1wbGVBcnJheSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1
YWwgYm9vbCBpc0FkZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CkBAIC0xNzI2LDYgKzE3Mjks
MTkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIEZ1bmN0aW9uQm9keU5vZGUqIG1fYm9keTsK
ICAgICB9OwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjbGFz
cyBBcnJvd0Z1bmNFeHByTm9kZSA6IHB1YmxpYyBGdW5jRXhwck5vZGUgeworICAgIHB1YmxpYzoK
KyAgICAgICAgQXJyb3dGdW5jRXhwck5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3Qg
SWRlbnRpZmllciYsIEZ1bmN0aW9uQm9keU5vZGUqLCBjb25zdCBTb3VyY2VDb2RlJiwgUGFyYW1l
dGVyTm9kZSogPSAwKTsKKyAgICBwcml2YXRlOgorICAgICAgICB2aXJ0dWFsIFJlZ2lzdGVySUQq
IGVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYsIFJlZ2lzdGVySUQqID0gMCkgb3ZlcnJp
ZGU7CisgICAgICAgIAorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNGdW5jRXhwck5vZGUoKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQorICAgICAgICAKKyAgICAgICAgdmlydHVhbCBi
b29sIGlzQXJyb3dGdW5jRXhwck5vZGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9
CisgICAgfTsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAgICAgY2xh
c3MgQ2xhc3NFeHByTm9kZSBmaW5hbCA6IHB1YmxpYyBFeHByZXNzaW9uTm9kZSB7CiAgICAgcHVi
bGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCmluZGV4IDQ5YmNkOTY1
NDI1OWJjMjYyMzkxYjM0MWI4ODM0NDhlNmMwMjM0YzYuLmYxOTI3Y2I4ZWM2Nzg5YmEwNGE5MGEz
Mjc2ZmRhZTJjMDA4Nzg3ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5j
cHAKQEAgLTI2NCw3ICsyNjQsNyBAQCBTdHJpbmcgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSW5u
ZXIoKQogICAgIGlmIChtX2xleGVyLT5pc1JlcGFyc2luZygpKQogICAgICAgICBtX3N0YXRlbWVu
dERlcHRoLS07CiAgICAgU2NvcGVSZWYgc2NvcGUgPSBjdXJyZW50U2NvcGUoKTsKLSAgICBTb3Vy
Y2VFbGVtZW50cyogc291cmNlRWxlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQs
IENoZWNrRm9yU3RyaWN0TW9kZSk7CisgICAgU291cmNlRWxlbWVudHMqIHNvdXJjZUVsZW1lbnRz
ID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBDaGVja0ZvclN0cmljdE1vZGUsIFN0YW5k
YXJkRnVuY3Rpb25QYXJzZVR5cGUpOwogICAgIGlmICghc291cmNlRWxlbWVudHMgfHwgIWNvbnN1
bWUoRU9GVE9LKSkgewogICAgICAgICBpZiAoaGFzRXJyb3IoKSkKICAgICAgICAgICAgIHBhcnNl
RXJyb3IgPSBtX2Vycm9yTWVzc2FnZTsKQEAgLTM0Myw3ICszNDMsNyBAQCBib29sIFBhcnNlcjxM
ZXhlclR5cGU+OjphbGxvd0F1dG9tYXRpY1NlbWljb2xvbigpCiB9CiAKIHRlbXBsYXRlIDx0eXBl
bmFtZSBMZXhlclR5cGU+Ci10ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VF
bGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRl
ciYgY29udGV4dCwgU291cmNlRWxlbWVudHNNb2RlIG1vZGUpCit0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3Vy
Y2VFbGVtZW50cyhUcmVlQnVpbGRlciYgY29udGV4dCwgU291cmNlRWxlbWVudHNNb2RlIG1vZGUs
IEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBlKQogewogICAgIGNvbnN0IHVuc2ln
bmVkIGxlbmd0aE9mVXNlU3RyaWN0TGl0ZXJhbCA9IDEyOyAvLyAidXNlIHN0cmljdCIubGVuZ3Ro
CiAgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHNvdXJjZUVsZW1lbnRzID0gY29udGV4dC5jcmVhdGVT
b3VyY2VFbGVtZW50cygpOwpAQCAtMzUyLDcgKzM1Miw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJj
ZUVsCiAgICAgdW5zaWduZWQgZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDA7CiAgICAgYXV0byBz
YXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKICAgICBib29sIGhhc1NldFN0cmljdCA9IGZh
bHNlOwotICAgIHdoaWxlIChUcmVlU3RhdGVtZW50IHN0YXRlbWVudCA9IHBhcnNlU3RhdGVtZW50
KGNvbnRleHQsIGRpcmVjdGl2ZSwgJmRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgpKSB7CisgICAgd2hp
bGUgKFRyZWVTdGF0ZW1lbnQgc3RhdGVtZW50ID0gcGFyc2VTdGF0ZW1lbnQoY29udGV4dCwgZGly
ZWN0aXZlLCAmZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCwgZnVuY3Rpb25QYXJzZVR5cGUpKSB7CiAg
ICAgICAgIGlmIChtb2RlID09IENoZWNrRm9yU3RyaWN0TW9kZSAmJiAhc2Vlbk5vbkRpcmVjdGl2
ZSkgewogICAgICAgICAgICAgaWYgKGRpcmVjdGl2ZSkgewogICAgICAgICAgICAgICAgIC8vICJ1
c2Ugc3RyaWN0IiBtdXN0IGJlIHRoZSBleGFjdCBsaXRlcmFsIHdpdGhvdXQgZXNjYXBlIHNlcXVl
bmNlcyBvciBsaW5lIGNvbnRpbnVhdGlvbi4KQEAgLTU4NCw2ICs1ODQsMzEgQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIFBhcnNlcjxMZXhl
clR5cGU+OjpjcmVhdGUKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVCaW5kaW5nTG9jYXRpb24o
dG9rZW4ubV9sb2NhdGlvbiwgbmFtZSwgdG9rZW4ubV9zdGFydFBvc2l0aW9uLCB0b2tlbi5tX2Vu
ZFBvc2l0aW9uKTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0
ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25TdGF0
ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAgQVNTRVJUKG1hdGNoKEFSUk9XRlVO
Q1RJT04pKTsKKworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkp
OworICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAg
SlNUZXh0UG9zaXRpb24gZW5kID0gdG9rZW5FbmRQb3NpdGlvbigpOworCisgICAgbmV4dCgpOwor
ICAgIFRyZWVFeHByZXNzaW9uIGV4cHIgPSBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKGNv
bnRleHQpOworICAgIGZhaWxJZkZhbHNlKGV4cHIsICJDYW5ub3QgcGFyc2UgdGhlIGFycm93IGZ1
bmN0aW9uIGV4cHJlc3Npb24iKTsKKyAgICBlbmQgPSBsYXN0VG9rZW5FbmRQb3NpdGlvbigpOwor
CisgICAgYm9vbCBjb3JyZWN0QXJyb3dGaW5pc2ggPSBpc0VuZE9mQXJyb3dGdW5jdGlvbigpIHx8
IG1hdGNoKEVPRlRPSyk7CisgICAgZmFpbElmRmFsc2UoY29ycmVjdEFycm93RmluaXNoLCAiRXhw
ZWN0ZWQgYSAnOycsICddJywgJ30nLCAnKScsIG9yICcsJyBmb2xsb3dpbmcgYSBhcnJvdyBmdW5j
dGlvbiBzdGF0ZW1lbnQiKTsKKworICAgIGVuZCA9IHRva2VuRW5kUG9zaXRpb24oKTsKKyAgICBz
ZXRFbmRPZlN0YXRlbWVudCgpOworCisgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUmV0dXJuU3Rh
dGVtZW50KGxvY2F0aW9uLCBleHByLCBzdGFydCwgZW5kKTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0
ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
RGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIFBhcnNlcjxMZXhlclR5cGU+Ojp0cnlQYXJzZURlY29uc3Ry
dWN0aW9uUGF0dGVybkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7CkBAIC0xMDMx
LDcgKzEwNTYsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVDbGF1c2VMaXN0
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN3aXRjaENsYXVzZQogICAgIFRyZWVFeHByZXNzaW9u
IGNvbmRpdGlvbiA9IHBhcnNlRXhwcmVzc2lvbihjb250ZXh0KTsKICAgICBmYWlsSWZGYWxzZShj
b25kaXRpb24sICJDYW5ub3QgcGFyc2Ugc3dpdGNoIGNsYXVzZSIpOwogICAgIGNvbnN1bWVPckZh
aWwoQ09MT04sICJFeHBlY3RlZCBhICc6JyBhZnRlciBzd2l0Y2ggY2xhdXNlIGV4cHJlc3Npb24i
KTsKLSAgICBUcmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVu
dHMoY29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSk7CisgICAgVHJlZVNvdXJjZUVsZW1l
bnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0Zv
clN0cmljdE1vZGUsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwogICAgIGZhaWxJZkZhbHNl
KHN0YXRlbWVudHMsICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgYSBzd2l0Y2ggY2xhdXNlIik7
CiAgICAgVHJlZUNsYXVzZSBjbGF1c2UgPSBjb250ZXh0LmNyZWF0ZUNsYXVzZShjb25kaXRpb24s
IHN0YXRlbWVudHMpOwogICAgIGNvbnRleHQuc2V0U3RhcnRPZmZzZXQoY2xhdXNlLCBzdGFydE9m
ZnNldCk7CkBAIC0xMDQ0LDcgKzEwNjksNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IFRyZWVDbGF1c2VMaXN0IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN3aXRjaENsYXVzZQogICAg
ICAgICBUcmVlRXhwcmVzc2lvbiBjb25kaXRpb24gPSBwYXJzZUV4cHJlc3Npb24oY29udGV4dCk7
CiAgICAgICAgIGZhaWxJZkZhbHNlKGNvbmRpdGlvbiwgIkNhbm5vdCBwYXJzZSBzd2l0Y2ggY2Fz
ZSBleHByZXNzaW9uIik7CiAgICAgICAgIGNvbnN1bWVPckZhaWwoQ09MT04sICJFeHBlY3RlZCBh
ICc6JyBhZnRlciBzd2l0Y2ggY2xhdXNlIGV4cHJlc3Npb24iKTsKLSAgICAgICAgVHJlZVNvdXJj
ZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRD
aGVja0ZvclN0cmljdE1vZGUpOworICAgICAgICBUcmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50
cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSwg
U3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CiAgICAgICAgIGZhaWxJZkZhbHNlKHN0YXRlbWVu
dHMsICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgYSBzd2l0Y2ggY2xhdXNlIik7CiAgICAgICAg
IGNsYXVzZSA9IGNvbnRleHQuY3JlYXRlQ2xhdXNlKGNvbmRpdGlvbiwgc3RhdGVtZW50cyk7CiAg
ICAgICAgIGNvbnRleHQuc2V0U3RhcnRPZmZzZXQoY2xhdXNlLCBzdGFydE9mZnNldCk7CkBAIC0x
MDYxLDcgKzEwODYsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVDbGF1c2Ug
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3dpdGNoRGVmYXVsdENsYQogICAgIHVuc2lnbmVkIHN0
YXJ0T2Zmc2V0ID0gdG9rZW5TdGFydCgpOwogICAgIG5leHQoKTsKICAgICBjb25zdW1lT3JGYWls
KENPTE9OLCAiRXhwZWN0ZWQgYSAnOicgYWZ0ZXIgc3dpdGNoIGRlZmF1bHQgY2xhdXNlIik7Ci0g
ICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNv
bnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUpOworICAgIFRyZWVTb3VyY2VFbGVtZW50cyBz
dGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJp
Y3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICBmYWlsSWZGYWxzZShzdGF0
ZW1lbnRzLCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIGEgc3dpdGNoIGRlZmF1bHQgY2xhdXNl
Iik7CiAgICAgVHJlZUNsYXVzZSByZXN1bHQgPSBjb250ZXh0LmNyZWF0ZUNsYXVzZSgwLCBzdGF0
ZW1lbnRzKTsKICAgICBjb250ZXh0LnNldFN0YXJ0T2Zmc2V0KHJlc3VsdCwgc3RhcnRPZmZzZXQp
OwpAQCAtMTE0Niw3ICsxMTcxLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
U3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUJsb2NrU3RhdGVtZW4KICAgICAgICAg
Y29udGV4dC5zZXRFbmRPZmZzZXQocmVzdWx0LCBlbmRPZmZzZXQpOwogICAgICAgICByZXR1cm4g
cmVzdWx0OwogICAgIH0KLSAgICBUcmVlU291cmNlRWxlbWVudHMgc3VidHJlZSA9IHBhcnNlU291
cmNlRWxlbWVudHMoY29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSk7CisgICAgVHJlZVNv
dXJjZUVsZW1lbnRzIHN1YnRyZWUgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRD
aGVja0ZvclN0cmljdE1vZGUsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwogICAgIGZhaWxJ
ZkZhbHNlKHN1YnRyZWUsICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgdGhlIGJsb2NrIHN0YXRl
bWVudCIpOwogICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0UsICJFeHBlY3RlZCBhIGNsb3Npbmcg
J30nIGF0IHRoZSBlbmQgb2YgYSBibG9jayBzdGF0ZW1lbnQiKTsKICAgICBpbnQgZW5kT2Zmc2V0
ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OwpAQCAtMTE1OCw3ICsxMTgzLDcgQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUJsb2NrU3RhdGVtZW4KIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KLXRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNvbnN0IElkZW50aWZpZXIqJiBk
aXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoKQordGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0
YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2
ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgsIEZ1bmN0aW9uUGFyc2VUeXBlIHBh
cnNlVHlwZSkKIHsKICAgICBEZXB0aE1hbmFnZXIgc3RhdGVtZW50RGVwdGgoJm1fc3RhdGVtZW50
RGVwdGgpOwogICAgIG1fc3RhdGVtZW50RGVwdGgrKzsKQEAgLTExNjcsNiArMTE5MiwyMyBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlw
ZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAgIGZhaWxJZlN0YWNrT3ZlcmZsb3coKTsKICAgICBU
cmVlU3RhdGVtZW50IHJlc3VsdCA9IDA7CiAgICAgYm9vbCBzaG91bGRTZXRFbmRPZmZzZXQgPSB0
cnVlOworCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAocGFy
c2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgc3dpdGNoIChtX3Rv
a2VuLm1fdHlwZSkgeworICAgICAgICBjYXNlIENMT1NFUEFSRU46CisgICAgICAgIGNhc2UgQ0xP
U0VCUkFDS0VUOgorICAgICAgICBjYXNlIENPTU1BOgorICAgICAgICBjYXNlIFNFTUlDT0xPTjog
eworICAgICAgICAgICAgcmVzdWx0ID0gMDsKKyAgICAgICAgICAgIGNvbnRleHQuc2V0RW5kT2Zm
c2V0KHJlc3VsdCwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5vZmZzZXQpOworICAgICAgICAgICAg
cmV0dXJuIHJlc3VsdDsKKyAgICAgICAgfQorICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYKICAgICBzd2l0Y2ggKG1fdG9rZW4ubV90
eXBlKSB7CiAgICAgY2FzZSBPUEVOQlJBQ0U6CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlQmxvY2tT
dGF0ZW1lbnQoY29udGV4dCk7CkBAIC0xMjEyLDYgKzEyNTQsMTUgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRl
bWVudChUcmUKICAgICBjYXNlIEJSRUFLOgogICAgICAgICByZXN1bHQgPSBwYXJzZUJyZWFrU3Rh
dGVtZW50KGNvbnRleHQpOwogICAgICAgICBicmVhazsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorICAgIGNhc2UgQVJST1dGVU5DVElPTjoKKyAgICAgICAgcmVzdWx0ID0g
cGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KGNvbnRleHQpOworICAgICAgICAvLyBDb25zdW1l
IHRoZSBlbmQgb2YgYXJyb3cgZnVuY3Rpb24gLDtdKSBhbmQgcHJldmVudAorICAgICAgICAvLyBw
YXJzZSB0aGlzIHN5bWJvbHMgYnkgcGFyc2VTdGF0ZW1lbnQgYXMgc2VwYXJhdGUgc3RhdGVtZW50
CisgICAgICAgIGlmIChwYXJzZVR5cGUgPT0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkKKyAg
ICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgYnJlYWs7CisjZW5kaWYKICAgICBjYXNlIFJFVFVS
TjoKICAgICAgICAgcmVzdWx0ID0gcGFyc2VSZXR1cm5TdGF0ZW1lbnQoY29udGV4dCk7CiAgICAg
ICAgIGJyZWFrOwpAQCAtMTI3NiwyMCArMTMyNywzNCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZv
cgogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZUZ1bmN0aW9uQm9keSBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkJv
ZHkoCiAgICAgVHJlZUJ1aWxkZXImIGNvbnRleHQsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwg
aW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCAKLSAgICBpbnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25zdHJ1
Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kKQorICAgIGludCBwYXJhbWV0ZXJzU3RhcnQsIENvbnN0
cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQsIEZ1bmN0aW9uUGFyc2VUeXBlIHBhcnNlVHlwZSkK
IHsKICAgICBKU1Rva2VuTG9jYXRpb24gc3RhcnRMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwog
ICAgIHVuc2lnbmVkIHN0YXJ0Q29sdW1uID0gdG9rZW5Db2x1bW4oKTsKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlmIChwYXJzZVR5cGUgPT0gU3RhbmRhcmRGdW5j
dGlvblBhcnNlVHlwZSkgeworICAgICAgICBuZXh0KCk7CisgICAgICAgIGlmIChtYXRjaChDTE9T
RUJSQUNFKSkgeworICAgICAgICAgICAgdW5zaWduZWQgZW5kQ29sdW1uID0gdG9rZW5Db2x1bW4o
KTsKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uQm9keShzdGFydExv
Y2F0aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0YXJ0Q29sdW1uLCBlbmRDb2x1bW4sIGZ1bmN0aW9u
S2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBzdHJpY3RN
b2RlKCksIGNvbnN0cnVjdG9yS2luZCk7CisgICAgICAgIH0KKyAgICB9CisjZWxzZQogICAgIG5l
eHQoKTsKLQogICAgIGlmIChtYXRjaChDTE9TRUJSQUNFKSkgewogICAgICAgICB1bnNpZ25lZCBl
bmRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVG
dW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFydENvbHVtbiwg
ZW5kQ29sdW1uLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFt
ZXRlcnNTdGFydCwgc3RyaWN0TW9kZSgpLCBjb25zdHJ1Y3RvcktpbmQpOwogICAgIH0KKyNlbmRp
ZgorCiAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsK
ICAgICBtX3N0YXRlbWVudERlcHRoID0gMDsKICAgICB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6RnVu
Y3Rpb25Cb2R5QnVpbGRlciBib2R5QnVpbGRlcihjb25zdF9jYXN0PFZNKj4obV92bSksIG1fbGV4
ZXIuZ2V0KCkpOwotICAgIGZhaWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMoYm9keUJ1aWxk
ZXIsIENoZWNrRm9yU3RyaWN0TW9kZSksICJDYW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGZ1bmN0
aW9uIik7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBmYWlsSWZG
YWxzZShwYXJzZVNvdXJjZUVsZW1lbnRzKGJvZHlCdWlsZGVyLCBDaGVja0ZvclN0cmljdE1vZGUs
IHBhcnNlVHlwZSksIHBhcnNlVHlwZSA9PSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlID8gIkNh
bm5vdCBwYXJzZSBib2R5IG9mIHRoaXMgZnVuY3Rpb24iIDogIkNhbm5vdCBwYXJzZSBib2R5IG9m
IHRoaXMgYXJyb3cgZnVuY3Rpb24iKTsKKyNlbHNlCisgICAgZmFpbElmRmFsc2UocGFyc2VTb3Vy
Y2VFbGVtZW50cyhib2R5QnVpbGRlciwgQ2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0
aW9uUGFyc2VUeXBlKSwgIkNhbm5vdCBwYXJzZSBib2R5IG9mIHRoaXMgZnVuY3Rpb24iKTsKKyNl
bmRpZgogICAgIHVuc2lnbmVkIGVuZENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CiAgICAgcmV0dXJu
IGNvbnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0YXJ0TG9jYXRpb24sIHRva2VuTG9jYXRpb24o
KSwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9u
TmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0cmljdE1vZGUoKSwgY29uc3RydWN0b3JLaW5k
KTsKIH0KQEAgLTEzMTAsMTUgKzEzNzUsOCBAQCBzdGF0aWMgY29uc3QgY2hhciogc3RyaW5nRm9y
RnVuY3Rpb25Nb2RlKEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUpCiAgICAgcmV0dXJuIG51bGxwdHI7
CiB9CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Ci10ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVC
dWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblJlcXVpcmVtZW50cyByZXF1aXJlbWVudHMsIEZ1bmN0
aW9uUGFyc2VNb2RlIG1vZGUsCi0gICAgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29u
c3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCwgU3VwZXJCaW5kaW5nIGV4cGVjdGVkU3VwZXJC
aW5kaW5nLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVl
QnVpbGRlcj4mIGluZm8pCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPiB0ZW1wbGF0ZSA8
Y2xhc3MgVHJlZUJ1aWxkZXI+IGludCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvblBh
cmFtdGVycyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJlbWVudHMgcmVxdWly
ZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Nj
b3BlLCBBdXRvUG9wU2NvcGVSZWYmIGZ1bmN0aW9uU2NvcGUsIFBhcnNlckZ1bmN0aW9uSW5mbzxU
cmVlQnVpbGRlcj4mIGluZm8pCiB7Ci0gICAgQXV0b1BvcFNjb3BlUmVmIGZ1bmN0aW9uU2NvcGUo
dGhpcywgcHVzaFNjb3BlKCkpOwotICAgIGZ1bmN0aW9uU2NvcGUtPnNldElzRnVuY3Rpb24oKTsK
LSAgICBpbnQgZnVuY3Rpb25OYW1lU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZz
ZXQ7Ci0gICAgY29uc3QgSWRlbnRpZmllciogbGFzdEZ1bmN0aW9uTmFtZSA9IG1fbGFzdEZ1bmN0
aW9uTmFtZTsKLSAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBudWxscHRyOwogICAgIGlmIChtYXRj
aChJREVOVCkpIHsKICAgICAgICAgaW5mby5uYW1lID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CiAg
ICAgICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IGluZm8ubmFtZTsKQEAgLTEzMzcsNyArMTM5NSw3
IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6
cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIHNlbWFudGljRmFpbHVyZUR1ZVRv
S2V5d29yZChzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSIpOwogICAgICAgICBm
YWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVkIGFuIG9wZW5pbmcgJygnIGJlZm9yZSBhICIsIHN0cmlu
Z0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIidzIHBhcmFtZXRlciBsaXN0Iik7CiAgICAgfQotCisg
ICAgCiAgICAgaWYgKG1vZGUgPT0gR2V0dGVyTW9kZSkKICAgICAgICAgY29uc3VtZU9yRmFpbChD
TE9TRVBBUkVOLCAiZ2V0dGVyIGZ1bmN0aW9ucyBtdXN0IGhhdmUgbm8gcGFyYW1ldGVycyIpOwog
ICAgIGVsc2UgaWYgKG1vZGUgPT0gU2V0dGVyTW9kZSkgewpAQCAtMTM1NCwxNiArMTQxMiw4MSBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICB9CiAgICAgICAgIGNvbnN1bWVPckZh
aWwoQ0xPU0VQQVJFTiwgIkV4cGVjdGVkIGEgJyknIG9yIGEgJywnIGFmdGVyIGEgcGFyYW1ldGVy
IGRlY2xhcmF0aW9uIik7CiAgICAgfQorICAgIAorICAgIHJldHVybiBwYXJhbWV0ZXJzU3RhcnQ7
Cit9CiAKLSAgICBtYXRjaE9yRmFpbChPUEVOQlJBQ0UsICJFeHBlY3RlZCBhbiBvcGVuaW5nICd7
JyBhdCB0aGUgc3RhcnQgb2YgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgYm9k
eSIpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlw
ZW5hbWUgTGV4ZXJUeXBlPiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGludCBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uUGFyYW10ZXJzKFRyZWVCdWlsZGVyJiBjb250
ZXh0LCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxk
ZXI+JiBpbmZvKQoreworICAgIGludCBwYXJhbWV0ZXJzU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRp
b24uc3RhcnRPZmZzZXQ7CisgICAgaWYgKCFtYXRjaChJREVOVCkgJiYgIW1hdGNoKE9QRU5QQVJF
TikpIHsKKyAgICAgICAgc2VtYW50aWNGYWlsdXJlRHVlVG9LZXl3b3JkKHN0cmluZ0ZvckZ1bmN0
aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7CisgICAgICAgIGZhaWxXaXRoTWVzc2FnZSgiRXhwZWN0
ZWQgYW4gYXJyb3cgZnVuY3Rpb24gaW5wdXQgcGFyYW1ldGVyIik7CisgICAgfSBlbHNlIHsKKyAg
ICAgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgICAgIGNvbnN1bWUoT1BFTlBB
UkVOKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYgKCFtYXRjaChDTE9TRVBBUkVOKSkg
eworICAgICAgICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9IHBhcnNlRm9ybWFsUGFyYW1ldGVy
cyhjb250ZXh0KTsKKyAgICAgICAgICAgICAgICBmYWlsSWZGYWxzZShpbmZvLnBhcmFtZXRlcnMs
ICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAiLCBzdHJpbmdGb3JGdW5jdGlvbk1v
ZGUobW9kZSkpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICBjb25z
dW1lT3JGYWlsKENMT1NFUEFSRU4sICJFeHBlY3RlZCBhICcpJyBvciBhICcsJyBhZnRlciBhIHBh
cmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgYXV0
byBwYXJhbWV0ZXIgPSBwYXJzZURlY29uc3RydWN0aW9uUGF0dGVybihjb250ZXh0LCBEZWNvbnN0
cnVjdFRvUGFyYW1ldGVycyk7CisgICAgICAgICAgICBmYWlsSWZGYWxzZShwYXJhbWV0ZXIsICJD
YW5ub3QgcGFyc2UgcGFyYW1ldGVyIHBhdHRlcm4iKTsKKyAgICAgICAgICAgIGluZm8ucGFyYW1l
dGVycyA9IGNvbnRleHQuY3JlYXRlRm9ybWFsUGFyYW1ldGVyTGlzdChwYXJhbWV0ZXIpOworICAg
ICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFt
ZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAgICAg
fQorICAgIH0KKyAgICAKKyAgICByZXR1cm4gcGFyYW1ldGVyc1N0YXJ0OworfQorI2VuZGlmCiAK
LSAgICAvLyBCeXRlY29kZUdlbmVyYXRvciBlbWl0cyBjb2RlIHRvIHRocm93IFR5cGVFcnJvciB3
aGVuIGEgY2xhc3MgY29uc3RydWN0b3IgaXMgImNhbGwiZWQuCi0gICAgLy8gU2V0IENvbnN0cnVj
dG9yS2luZCB0byBOb25lIGZvciBub24tY29uc3RydWN0b3IgbWV0aG9kcyBvZiBjbGFzc2VzLgot
ICAgIGlmIChtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQgIT0gQ29uc3RydWN0b3JLaW5kOjpOb25l
KSB7Ci0gICAgICAgIGNvbnN0cnVjdG9yS2luZCA9IG1fZGVmYXVsdENvbnN0cnVjdG9yS2luZDsK
LSAgICAgICAgZXhwZWN0ZWRTdXBlckJpbmRpbmcgPSBtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQg
PT0gQ29uc3RydWN0b3JLaW5kOjpEZXJpdmVkID8gU3VwZXJCaW5kaW5nOjpOZWVkZWQgOiBTdXBl
ckJpbmRpbmc6Ok5vdE5lZWRlZDsKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVu
Y3Rpb25JbmZvKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblJlcXVpcmVtZW50cyByZXF1
aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUsIGJvb2wgbmFtZUlzSW5Db250YWluaW5n
U2NvcGUsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQsIFN1cGVyQmluZGluZyBleHBl
Y3RlZFN1cGVyQmluZGluZywgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBQYXJzZXJGdW5jdGlv
bkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvLCBGdW5jdGlvblBhcnNlVHlwZSBwYXJzZVR5cGUpCit7
CisgICAgQXV0b1BvcFNjb3BlUmVmIGZ1bmN0aW9uU2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOwor
ICAgIGZ1bmN0aW9uU2NvcGUtPnNldElzRnVuY3Rpb24oKTsKKyAgICBpbnQgZnVuY3Rpb25OYW1l
U3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CisgICAgY29uc3QgSWRlbnRp
ZmllciogbGFzdEZ1bmN0aW9uTmFtZSA9IG1fbGFzdEZ1bmN0aW9uTmFtZTsKKyAgICBtX2xhc3RG
dW5jdGlvbk5hbWUgPSBudWxscHRyOworICAgIGludCBwYXJhbWV0ZXJzU3RhcnQ7CisgICAgYm9v
bCBpc0NsYXNzQ29uc3RydWN0b3I7CisgICAgCisgICAgc3dpdGNoIChwYXJzZVR5cGUpIHsKKyAg
ICBjYXNlIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGU6IHsKKyAgICAgICAgcGFyYW1ldGVyc1N0
YXJ0ID0gcGFyc2VGdW5jdGlvblBhcmFtdGVycyhjb250ZXh0LCByZXF1aXJlbWVudHMsIG1vZGUs
IG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBmdW5jdGlvblNjb3BlLCBpbmZvKTsKKyAgICAgICAg
ICAgIAorICAgICAgICBtYXRjaE9yRmFpbChPUEVOQlJBQ0UsICJFeHBlY3RlZCBhbiBvcGVuaW5n
ICd7JyBhdCB0aGUgc3RhcnQgb2YgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIg
Ym9keSIpOworICAgICAgICAKKyAgICAgICAgLy8gQnl0ZWNvZGVHZW5lcmF0b3IgZW1pdHMgY29k
ZSB0byB0aHJvdyBUeXBlRXJyb3Igd2hlbiBhIGNsYXNzIGNvbnN0cnVjdG9yIGlzICJjYWxsImVk
LgorICAgICAgICAvLyBTZXQgQ29uc3RydWN0b3JLaW5kIHRvIE5vbmUgZm9yIG5vbi1jb25zdHJ1
Y3RvciBtZXRob2RzIG9mIGNsYXNzZXMuCisgICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IG1v
ZGUgPT0gTWV0aG9kTW9kZSAmJiBpbmZvLm5hbWUgJiYgKmluZm8ubmFtZSA9PSBtX3ZtLT5wcm9w
ZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvcjsKKyAgICAgICAgaWYgKG1fZGVmYXVsdENvbnN0cnVjdG9y
S2luZCAhPSBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUpIHsKKyAgICAgICAgICAgIGNvbnN0cnVjdG9y
S2luZCA9IG1fZGVmYXVsdENvbnN0cnVjdG9yS2luZDsKKyAgICAgICAgICAgIGV4cGVjdGVkU3Vw
ZXJCaW5kaW5nID0gbV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kID09IENvbnN0cnVjdG9yS2luZDo6
RGVyaXZlZCA/IFN1cGVyQmluZGluZzo6TmVlZGVkIDogU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQ7
CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGlzQ2xhc3NDb25zdHJ1Y3RvciA9IGNvbnN0
cnVjdG9yS2luZCAhPSBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmU7CisgICAgICAgIGJyZWFrOworICAg
IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2UgQXJyb3dG
dW5jdGlvblBhcnNlVHlwZTogeworICAgICAgICBwYXJhbWV0ZXJzU3RhcnQgPSBwYXJzZUFycm93
RnVuY3Rpb25QYXJhbXRlcnMoY29udGV4dCwgbW9kZSwgaW5mbyk7CisgICAgICAgIAorICAgICAg
ICBtYXRjaE9yRmFpbChBUlJPV0ZVTkNUSU9OLCAiRXhwZWN0ZWQgYSAnPT4nIGFmdGVyIGFycm93
IGZ1bmN0aW9uIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAgICAgICBpc0NsYXNzQ29uc3Ry
dWN0b3IgPSBmYWxzZTsKKyAgICAgICAgCisgICAgICAgIGluZm8uYXJyb3dGdW5jdGlvbk9mZnNl
dCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKKyAgICAgICAgYnJlYWs7CisgICAgfQorI2VuZGlm
CiAgICAgfQotICAgIGJvb2wgaXNDbGFzc0NvbnN0cnVjdG9yID0gY29uc3RydWN0b3JLaW5kICE9
IENvbnN0cnVjdG9yS2luZDo6Tm9uZTsKKyAgICAKKyAgICBjb25zdHJ1Y3RvcktpbmQgPSBpc0Ns
YXNzQ29uc3RydWN0b3IgPyBjb25zdHJ1Y3RvcktpbmQgOiBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmU7
CiAKICAgICBpbmZvLm9wZW5CcmFjZU9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKICAg
ICBpbmZvLmJvZHlTdGFydExpbmUgPSB0b2tlbkxpbmUoKTsKQEAgLTEzOTYsOCArMTUxOSwxNSBA
QCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICBmYWlsSWZGYWxzZShwb3BTY29wZShm
dW5jdGlvblNjb3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFibGVJbmZvKSwgIlBhcnNl
ciBlcnJvciIpOwogICAgICAgICAKICAgICAgICAgaW5mby5jbG9zZUJyYWNlT2Zmc2V0ID0gY2Fj
aGVkSW5mby0+Y2xvc2VCcmFjZU9mZnNldDsKLQotICAgICAgICBtX3Rva2VuID0gY2FjaGVkSW5m
by0+Y2xvc2VCcmFjZVRva2VuKCk7CisgICAgICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNl
VHlwZSkKKyAgICAgICAgICAgIGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9IGNhY2hlZEluZm8tPmlz
Qm9keUFycm93RXhwcmVzc2lvbiA/ICBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24gOiBBcnJv
d0Z1bmN0aW9uQm9keUJsb2NrOworICAgICAgICBlbHNlCisgICAgICAgICAgICBpbmZvLmZ1bmN0
aW9uQm9keVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uQm9keUJsb2NrOworI2VuZGlmCisgICAgICAg
IG1fdG9rZW4gPSBjYWNoZWRJbmZvLT5lbmRGdW5jdGlvblRva2VuKCk7CisgICAgICAgIAogICAg
ICAgICBpZiAoZW5kQ29sdW1uSXNPblN0YXJ0TGluZSkKICAgICAgICAgICAgIG1fdG9rZW4ubV9s
b2NhdGlvbi5saW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0OwogCkBAIC0x
NDA2LDEzICsxNTM2LDQzIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAKICAgICAgICAgY29u
dGV4dC5zZXRFbmRPZmZzZXQoaW5mby5ib2R5LCBtX2xleGVyLT5jdXJyZW50T2Zmc2V0KCkpOwog
ICAgICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBp
ZiAocGFyc2VUeXBlICE9IEFycm93RnVuY3Rpb25QYXJzZVR5cGUgfHwgaW5mby5mdW5jdGlvbkJv
ZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spCisgICAgICAgICAgICBuZXh0KCk7Cisj
ZWxzZQogICAgICAgICBuZXh0KCk7CisjZW5kaWYKICAgICAgICAgaW5mby5ib2R5RW5kTGluZSA9
IG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAg
fQorICAgIAogICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IGxhc3RGdW5jdGlvbk5hbWU7CiAgICAg
UGFyc2VyU3RhdGUgb2xkU3RhdGUgPSBzYXZlU3RhdGUoKTsKLSAgICBpbmZvLmJvZHkgPSBwYXJz
ZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1l
U3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kKTsKKyAgICAKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dG
dW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICBTYXZlUG9pbnQgc2F2ZVBvaW50ID0gY3JlYXRl
U2F2ZVBvaW50KCk7CisgICAgICAgIG5leHQoKTsKKyAgICAgICAgLy8gQ2hlY2sgaWYgYXJyb3cg
Ym9keSBzdGFydCB3aXRoIHsuIElmIGl0IHRydWUgaXQgbWVhbiB0aGF0IGFycm93IGZ1bmN0aW9u
IGlzIEZhdCBhcnJvdyBmdW5jdGlvbgorICAgICAgICAvLyBhbmQgd2UgbmVlZCB1c2UgY29tbW9u
IGFwcHJvYWNoIHRvIHBhcnNlIGZ1bmN0aW9uIGJvZHkKKyAgICAgICAgaW5mby5mdW5jdGlvbkJv
ZHlUeXBlID0gbWF0Y2goT1BFTkJSQUNFKSA/IEFycm93RnVuY3Rpb25Cb2R5QmxvY2sgOiBBcnJv
d0Z1bmN0aW9uQm9keUV4cHJlc3Npb247CisgICAgCisgICAgICAgIGlmIChpbmZvLmZ1bmN0aW9u
Qm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jaykgeworICAgICAgICAgICAgaW5mby5v
cGVuQnJhY2VPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CisgICAgICAgICAgICBpbmZv
LmJvZHlTdGFydExpbmUgPSB0b2tlbkxpbmUoKTsKKyAgICAgICAgICAgIGluZm8uYm9keVN0YXJ0
Q29sdW1uID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0IC0gbV90b2tlbi5tX2RhdGEubGluZVN0YXJ0
T2Zmc2V0OworICAgICAgICAKKyAgICAgICAgICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25C
b2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFy
YW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUp
OworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlUG9p
bnQpOworICAgICAgICAgICAgaW5mby5ib2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwg
ZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQs
IGNvbnN0cnVjdG9yS2luZCwgQXJyb3dGdW5jdGlvblBhcnNlVHlwZSk7CisgICAgICAgIH0KKyAg
ICB9IGVsc2UKKyAgICAgICAgaW5mby5ib2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwg
ZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQs
IGNvbnN0cnVjdG9yS2luZCwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CisjZWxzZQorICAg
IGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0
YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQs
IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOworI2VuZGlmCisgICAgCiAgICAgcmVzdG9yZVN0
YXRlKG9sZFN0YXRlKTsKICAgICBmYWlsSWZGYWxzZShpbmZvLmJvZHksICJDYW5ub3QgcGFyc2Ug
dGhlIGJvZHkgb2YgdGhpcyAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOwogICAgIGNv
bnRleHQuc2V0RW5kT2Zmc2V0KGluZm8uYm9keSwgbV9sZXhlci0+Y3VycmVudE9mZnNldCgpKTsK
QEAgLTE0NDMsMTggKzE2MDMsMzIgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29s
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAgICAg
cGFyYW1ldGVycy5jbG9zZUJyYWNlTGluZSA9IGNsb3NlQnJhY2VMaW5lOwogICAgICAgICBwYXJh
bWV0ZXJzLmNsb3NlQnJhY2VPZmZzZXQgPSBpbmZvLmNsb3NlQnJhY2VPZmZzZXQ7CiAgICAgICAg
IHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldCA9IGNsb3NlQnJhY2VMaW5lU3Rh
cnRPZmZzZXQ7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAg
aWYgKHBhcnNlVHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgICAgICBw
YXJhbWV0ZXJzLmlzQm9keUFycm93RXhwcmVzc2lvbiA9IGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9
PSBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb247CisgICAgICAgICAgICBwYXJhbWV0ZXJzLnRv
a2VuVHlwZSA9IG1fdG9rZW4ubV90eXBlOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgZnVu
Y3Rpb25TY29wZS0+ZmlsbFBhcmFtZXRlcnNGb3JTb3VyY2VQcm92aWRlckNhY2hlKHBhcmFtZXRl
cnMpOwogICAgICAgICBuZXdJbmZvID0gU291cmNlUHJvdmlkZXJDYWNoZUl0ZW06OmNyZWF0ZShw
YXJhbWV0ZXJzKTsKLQogICAgIH0KICAgICAKICAgICBmYWlsSWZGYWxzZShwb3BTY29wZShmdW5j
dGlvblNjb3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFyaWFibGVJbmZvKSwgIlBhcnNlciBl
cnJvciIpOworICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAg
aWYgKChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSAmJiBpbmZvLmZ1bmN0aW9u
Qm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jaykgfHwgcGFyc2VUeXBlICE9IEFycm93
RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgbWF0Y2hPckZhaWwoQ0xPU0VCUkFDRSwgIkV4
cGVjdGVkIGEgY2xvc2luZyAnfScgYWZ0ZXIgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9k
ZSksICIgYm9keSIpOworICAgICAgICBuZXh0KCk7CisgICAgfSBlbHNlCisgICAgICAgIGZhaWxJ
ZkZhbHNlKGlzRW5kT2ZBcnJvd0Z1bmN0aW9uKCksICJFeHBlY3RlZCB0aGUgY2xvc2luZyAnOycg
JywnICddJyAnKScgJ30nIGFmdGVyIGFycm93IGZ1bmN0aW9uIik7CisjZWxzZQogICAgIG1hdGNo
T3JGYWlsKENMT1NFQlJBQ0UsICJFeHBlY3RlZCBhIGNsb3NpbmcgJ30nIGFmdGVyIGEgIiwgc3Ry
aW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICBuZXh0KCk7CisjZW5kaWYK
ICAgICAKICAgICBpZiAobmV3SW5mbykKICAgICAgICAgbV9mdW5jdGlvbkNhY2hlLT5hZGQoaW5m
by5vcGVuQnJhY2VPZmZzZXQsIFdURjo6bW92ZShuZXdJbmZvKSk7CiAgICAgCi0gICAgbmV4dCgp
OwogICAgIGluZm8uYm9keUVuZExpbmUgPSBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmU7CiAg
ICAgcmV0dXJuIHRydWU7CiB9CkBAIC0xNDY4LDcgKzE2NDIsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rp
b25EZWNsYQogICAgIG5leHQoKTsKICAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+
IGluZm87CiAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0
aW9uTmVlZHNOYW1lLCBGdW5jdGlvbk1vZGUsIHRydWUsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwg
U3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQsCi0gICAgICAgIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBp
bmZvKSksICJDYW5ub3QgcGFyc2UgdGhpcyBmdW5jdGlvbiIpOworICAgICAgICBmdW5jdGlvbktl
eXdvcmRTdGFydCwgaW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBh
cnNlIHRoaXMgZnVuY3Rpb24iKTsKICAgICBmYWlsSWZGYWxzZShpbmZvLm5hbWUsICJGdW5jdGlv
biBzdGF0ZW1lbnRzIG11c3QgaGF2ZSBhIG5hbWUiKTsKICAgICBmYWlsSWZGYWxzZUlmU3RyaWN0
KGRlY2xhcmVWYXJpYWJsZShpbmZvLm5hbWUpLCAiQ2Fubm90IGRlY2xhcmUgYSBmdW5jdGlvbiBu
YW1lZCAnIiwgaW5mby5uYW1lLT5pbXBsKCksICInIGluIHN0cmljdCBtb2RlIik7CiAgICAgcmV0
dXJuIGNvbnRleHQuY3JlYXRlRnVuY0RlY2xTdGF0ZW1lbnQobG9jYXRpb24sIGluZm8pOwpAQCAt
MTU4NCw4ICsxNzU4LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhc3NF
eHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUNsYXNzKFQKICAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gbWV0aG9kSW5m
bzsKICAgICAgICAgICAgIGJvb2wgaXNDb25zdHJ1Y3RvciA9ICFpc1N0YXRpY01ldGhvZCAmJiAq
aWRlbnQgPT0gcHJvcGVydHlOYW1lcy5jb25zdHJ1Y3RvcjsKLSAgICAgICAgICAgIGZhaWxJZkZh
bHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBp
c1N0YXRpY01ldGhvZCA/IEZ1bmN0aW9uTW9kZSA6IE1ldGhvZE1vZGUsIGZhbHNlLAotICAgICAg
ICAgICAgICAgIGlzQ29uc3RydWN0b3IgPyBjb25zdHJ1Y3RvcktpbmQgOiBDb25zdHJ1Y3Rvcktp
bmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6TmVlZGVkLCBtZXRob2RTdGFydCwgbWV0aG9kSW5mbykp
LCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9kIik7CisgICAgICAgICAgICBmYWlsSWZGYWxzZSgo
cGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgaXNTdGF0
aWNNZXRob2QgPyBGdW5jdGlvbk1vZGUgOiBNZXRob2RNb2RlLCBmYWxzZSwgaXNDb25zdHJ1Y3Rv
ciA/IGNvbnN0cnVjdG9yS2luZCA6IENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJCaW5kaW5n
OjpOZWVkZWQsIG1ldGhvZFN0YXJ0LCBtZXRob2RJbmZvLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VU
eXBlKSksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2QiKTsKICAgICAgICAgICAgIGZhaWxJZkZh
bHNlKGlkZW50ICYmIGRlY2xhcmVWYXJpYWJsZShpZGVudCksICJDYW5ub3QgZGVjbGFyZSBhIG1l
dGhvZCBuYW1lZCAnIiwgbWV0aG9kSW5mby5uYW1lLT5pbXBsKCksICInIik7CiAgICAgICAgICAg
ICBtZXRob2RJbmZvLm5hbWUgPSBpc0NvbnN0cnVjdG9yID8gY2xhc3NOYW1lIDogaWRlbnQ7CiAK
QEAgLTE3OTcsNiArMTk3MCwxOCBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVT
dGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSWZTdGF0ZW1lbnQoVAogICAgIHJldHVy
biBjb250ZXh0LmNyZWF0ZUlmU3RhdGVtZW50KGlmTG9jYXRpb24sIGNvbmRpdGlvbiwgdHJ1ZUJs
b2NrLCBzdGF0ZW1lbnRTdGFjay5sYXN0KCksIHN0YXJ0LCBlbmQpOwogfQogCisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+
Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJiBjb250ZXh0
KQoreworICAgIGZhaWxJZlN0YWNrT3ZlcmZsb3coKTsKKyAgICBUcmVlRXhwcmVzc2lvbiBub2Rl
ID0gcGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICBmYWlsSWZGYWxzZShu
b2RlLCAiQ2Fubm90IHBhcnNlIGV4cHJlc3Npb24iKTsKKyAgICBjb250ZXh0LnNldEVuZE9mZnNl
dChub2RlLCBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLm9mZnNldCk7CisgICAgcmV0dXJuIG5vZGU7
Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
RXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKIHsKQEAgLTE4NDQsNiArMjAyOSw0MSBA
QCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbgogICAgICAgICB9CiAgICAgICAgIHJlc3RvcmVTYXZl
UG9pbnQoc2F2ZVBvaW50KTsKICAgICB9CisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgIFNhdmVQb2ludCBzYXZlQXJyb3dGdW5jdGlvblBvaW50ID0gY3JlYXRlU2F2
ZVBvaW50KCk7CisgICAgYm9vbCBhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0ID0gZmFsc2U7CisgICAg
aWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgbmV4dCgpOworICAgICAgICBpZiAobWF0
Y2goQ0xPU0VQQVJFTikpIHsKKyAgICAgICAgICAgIG5leHQoKTsKKworICAgICAgICAgICAgaWYg
KG1hdGNoKEFSUk9XRlVOQ1RJT04pKQorICAgICAgICAgICAgICAgIGFycm93RnVuY3Rpb25FbXB0
eUxpc3QgPSB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCFhcnJvd0Z1bmN0aW9uRW1w
dHlMaXN0KQorICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBv
aW50KTsKKyAgICB9CisKKyAgICBUcmVlRXhwcmVzc2lvbiBsaHM7CisgICAgaWYgKCFhcnJvd0Z1
bmN0aW9uRW1wdHlMaXN0KSB7CisgICAgICAgIGxocyA9IHBhcnNlQ29uZGl0aW9uYWxFeHByZXNz
aW9uKGNvbnRleHQpOworICAgICAgICBmYWlsSWZGYWxzZShsaHMsICJDYW4Zbm90IHBhcnNlIGV4
cHJlc3Npb24iKTsKKyAgICAgICAgaWYgKGluaXRpYWxOb25MSFNDb3VudCAhPSBtX25vbkxIU0Nv
dW50KSB7CisgICAgICAgICAgICBpZiAobV90b2tlbi5tX3R5cGUgPj0gRVFVQUwgJiYgbV90b2tl
bi5tX3R5cGUgPD0gT1JFUVVBTCkKKyAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWwoIkxlZnQg
aGFuZCBzaWRlIG9mIG9wZXJhdG9yICciLCBnZXRUb2tlbigpLCAiJyBtdXN0IGJlIGEgcmVmZXJl
bmNlIik7CisKKyAgICAgICAgICAgIHJldHVybiBsaHM7CisgICAgICAgIH0KKyAgICB9CisKKyAg
ICBpZiAobWF0Y2goQVJST1dGVU5DVElPTikpIHsKKyAgICAgICAgcmVzdG9yZVNhdmVQb2ludChz
YXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAgbGhzID0gcGFyc2VBcnJvd0Z1bmN0aW9u
V3JhcHBlcihjb250ZXh0KTsKKyAgICAgICAgcmV0dXJuIGxoczsKKyAgICB9CisjZWxzZQogICAg
IFRyZWVFeHByZXNzaW9uIGxocyA9IHBhcnNlQ29uZGl0aW9uYWxFeHByZXNzaW9uKGNvbnRleHQp
OwogICAgIGZhaWxJZkZhbHNlKGxocywgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9uIik7CiAgICAg
aWYgKGluaXRpYWxOb25MSFNDb3VudCAhPSBtX25vbkxIU0NvdW50KSB7CkBAIC0xODUyLDcgKzIw
NzIsOCBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbgogCiAgICAgICAgIHJldHVybiBsaHM7CiAg
ICAgfQotICAgIAorI2VuZGlmCisKICAgICBpbnQgYXNzaWdubWVudFN0YWNrID0gMDsKICAgICBP
cGVyYXRvciBvcDsKICAgICBib29sIGhhZEFzc2lnbm1lbnQgPSBmYWxzZTsKQEAgLTIwODQsOCAr
MjMwNSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHlNZXRoCiAgICAgSlNUb2tlbkxvY2F0aW9uIG1l
dGhvZExvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CiAgICAgdW5zaWduZWQgbWV0aG9kU3RhcnQg
PSB0b2tlblN0YXJ0KCk7CiAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBtZXRo
b2RJbmZvOwotICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5j
dGlvbk5vUmVxdWlyZW1lbnRzLCBNZXRob2RNb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpO
b25lLCBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwKLSAgICAgICAgbWV0aG9kU3RhcnQsIG1ldGhv
ZEluZm8pKSwgIkNhbm5vdCBwYXJzZSB0aGlzIG1ldGhvZCIpOworICAgIGZhaWxJZkZhbHNlKChw
YXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBNZXRob2RN
b2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBTdXBlckJpbmRpbmc6Ok5vdE5lZWRl
ZCwgbWV0aG9kU3RhcnQsIG1ldGhvZEluZm8sIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpKSwg
IkNhbm5vdCBwYXJzZSB0aGlzIG1ldGhvZCIpOwogICAgIG1ldGhvZEluZm8ubmFtZSA9IG1ldGhv
ZE5hbWU7CiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25FeHByKG1ldGhvZExvY2F0
aW9uLCBtZXRob2RJbmZvKTsKIH0KQEAgLTIxMTIsMTEgKzIzMzIsMTEgQEAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlR2V0
dGVyU2V0dGVyKFQKICAgICBpZiAodHlwZSA9PSBQcm9wZXJ0eU5vZGU6OkdldHRlcikgewogICAg
ICAgICBmYWlsSWZGYWxzZShtYXRjaChPUEVOUEFSRU4pLCAiRXhwZWN0ZWQgYSBwYXJhbWV0ZXIg
bGlzdCBmb3IgZ2V0dGVyIGRlZmluaXRpb24iKTsKICAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNl
RnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEdldHRlck1vZGUs
IGZhbHNlLCBjb25zdHJ1Y3RvcktpbmQsIHN1cGVyQmluZGluZywKLSAgICAgICAgICAgIGdldHRl
ck9yU2V0dGVyU3RhcnRPZmZzZXQsIGluZm8pKSwgIkNhbm5vdCBwYXJzZSBnZXR0ZXIgZGVmaW5p
dGlvbiIpOworICAgICAgICAgICAgZ2V0dGVyT3JTZXR0ZXJTdGFydE9mZnNldCwgaW5mbywgU3Rh
bmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIGdldHRlciBkZWZpbml0aW9u
Iik7CiAgICAgfSBlbHNlIHsKICAgICAgICAgZmFpbElmRmFsc2UobWF0Y2goT1BFTlBBUkVOKSwg
IkV4cGVjdGVkIGEgcGFyYW1ldGVyIGxpc3QgZm9yIHNldHRlciBkZWZpbml0aW9uIik7CiAgICAg
ICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVx
dWlyZW1lbnRzLCBTZXR0ZXJNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBzdXBlckJpbmRp
bmcsCi0gICAgICAgICAgICBnZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBpbmZvKSksICJDYW5u
b3QgcGFyc2Ugc2V0dGVyIGRlZmluaXRpb24iKTsKKyAgICAgICAgICAgIGdldHRlck9yU2V0dGVy
U3RhcnRPZmZzZXQsIGluZm8sIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBw
YXJzZSBzZXR0ZXIgZGVmaW5pdGlvbiIpOwogICAgIH0KICAgICBpZiAoc3RyaW5nUHJvcGVydHlO
YW1lKQogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVHZXR0ZXJPclNldHRlclByb3BlcnR5
KGxvY2F0aW9uLCB0eXBlLCBzdHJpY3QsIHN0cmluZ1Byb3BlcnR5TmFtZSwgaW5mbywgc3VwZXJC
aW5kaW5nKTsKQEAgLTIzNjUsOCArMjU4NSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlCiAg
ICAgICAgIG5leHQoKTsKICAgICAgICAgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBp
bmZvOwogICAgICAgICBpbmZvLm5hbWUgPSAmbV92bS0+cHJvcGVydHlOYW1lcy0+bnVsbElkZW50
aWZpZXI7Ci0gICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBG
dW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlvbk1vZGUsIGZhbHNlLCBDb25zdHJ1Y3Rvcktp
bmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLAotICAgICAgICAgICAgZnVuY3Rpb25L
ZXl3b3JkU3RhcnQsIGluZm8pKSwgIkNhbm5vdCBwYXJzZSBmdW5jdGlvbiBleHByZXNzaW9uIik7
CisgICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlv
bk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlvbk1vZGUsIGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5v
bmUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW5mbywg
U3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIGZ1bmN0aW9uIGV4cHJl
c3Npb24iKTsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25FeHByKGxvY2F0
aW9uLCBpbmZvKTsKICAgICB9CiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCkBAIC0yMzk1
LDYgKzI2MTQsMjMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lv
biBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUKICAgICAgICAgcmV0dXJuIGNv
bnRleHQudGhpc0V4cHIobG9jYXRpb24sIG1fdGhpc1REWk1vZGUpOwogICAgIH0KICAgICBjYXNl
IElERU5UOiB7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAg
U2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKKyAg
ICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICAg
ICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKKyAgICAg
ICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CisgICAgICAgIG5l
eHQoKTsKKworICAgICAgICBpZiAoIW1hdGNoKEFSUk9XRlVOQ1RJT04pKSB7CisgICAgICAgICAg
ICBjdXJyZW50U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRlbnQsIG1fdm0tPnByb3BlcnR5TmFtZXMt
PmV2YWwgPT0gKmlkZW50KTsKKyAgICAgICAgICAgIG1fbGFzdElkZW50aWZpZXIgPSBpZGVudDsK
KyAgICAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJlc29sdmUobG9jYXRpb24sIGlkZW50
LCBzdGFydCk7CisgICAgICAgIH0KKworICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVBcnJv
d0Z1bmN0aW9uUG9pbnQpOworICAgICAgICBUcmVlRXhwcmVzc2lvbiBsaHMgPSBwYXJzZUFycm93
RnVuY3Rpb25XcmFwcGVyKGNvbnRleHQpOworICAgICAgICByZXR1cm4gbGhzOworI2Vsc2UKICAg
ICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKICAgICAg
ICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2VuLm1fZGF0YS5pZGVudDsKICAgICAg
ICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CkBAIC0yNDAyLDYg
KzI2MzgsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHByZQogICAgICAgICBjdXJyZW50U2NvcGUo
KS0+dXNlVmFyaWFibGUoaWRlbnQsIG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmlkZW50
KTsKICAgICAgICAgbV9sYXN0SWRlbnRpZmllciA9IGlkZW50OwogICAgICAgICByZXR1cm4gY29u
dGV4dC5jcmVhdGVSZXNvbHZlKGxvY2F0aW9uLCBpZGVudCwgc3RhcnQpOworI2VuZGlmCiAgICAg
fQogICAgIGNhc2UgU1RSSU5HOiB7CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0g
bV90b2tlbi5tX2RhdGEuaWRlbnQ7CkBAIC0yNTk0LDYgKzI4MzEsMzMgQEAgZW5kTWVtYmVyRXhw
cmVzc2lvbjoKICAgICByZXR1cm4gYmFzZTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VB
cnJvd0Z1bmN0aW9uV3JhcHBlcihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBUcmVlRXhw
cmVzc2lvbiBiYXNlID0gMDsKKyAgICBKU1RleHRQb3NpdGlvbiBleHByZXNzaW9uU3RhcnQgPSB0
b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICBpbnQgbmV3Q291bnQgPSAwOworICAgIEpTVG9rZW5M
b2NhdGlvbiBsb2NhdGlvbjsKKworICAgIGlmIChtYXRjaChJREVOVCkgfHwgbWF0Y2goT1BFTlBB
UkVOKSkgeworICAgICAgICB1bnNpZ25lZCBmdW5jdGlvbktleXdvcmRTdGFydCA9IHRva2VuU3Rh
cnQoKTsKKyAgICAgICAgbG9jYXRpb24gPSB0b2tlbkxvY2F0aW9uKCk7CisgICAgICAgIFBhcnNl
ckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gaW5mbzsKKyAgICAgICAgaW5mby5uYW1lID0gJm1f
dm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyOworICAgICAgICBmYWlsSWZGYWxzZSgo
cGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgRnVuY3Rp
b25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6Tm90TmVl
ZGVkLAorICAgICAgICAgICAgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8sIEFycm93RnVuY3Rp
b25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uIik7
CisgICAgICAgIGJhc2UgPSBjb250ZXh0LmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKGxvY2F0aW9u
LCBpbmZvKTsKKyAgICB9IGVsc2UKKyAgICAgICAgYmFzZSA9IHBhcnNlUHJpbWFyeUV4cHJlc3Np
b24oY29udGV4dCk7CisKKyAgICBmYWlsSWZGYWxzZShiYXNlLCAiQ2Fubm90IHBhcnNlIGJhc2Ug
ZXhwcmVzc2lvbiIpOworICAgIHdoaWxlIChuZXdDb3VudC0tKQorICAgICAgICBiYXNlID0gY29u
dGV4dC5jcmVhdGVOZXdFeHByKGxvY2F0aW9uLCBiYXNlLCBleHByZXNzaW9uU3RhcnQsIGxhc3RU
b2tlbkVuZFBvc2l0aW9uKCkpOworICAgIHJldHVybiBiYXNlOworfQorI2VuZGlmCisKIHN0YXRp
YyBjb25zdCBjaGFyKiBvcGVyYXRvclN0cmluZyhib29sIHByZWZpeCwgdW5zaWduZWQgdG9rKQog
ewogICAgIHN3aXRjaCAodG9rKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1BhcnNlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaApp
bmRleCAzZGZmOGU0OWIzMDU3YzQ5OTE0NDVmNmZjNGVkNDJjOWYzNDY1YWM4Li4yNzQxYzhhYjkw
MzE3ZjQ5ZDVlZDU4ZDY0OWNmOTYzM2I4NzY2ZjBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvUGFyc2VyLmgKQEAgLTgwLDYgKzgwLDExIEBAIGNsYXNzIFNvdXJjZUNvZGU7CiBDT01QSUxF
X0FTU0VSVChMYXN0VW50YWdnZWRUb2tlbiA8IDY0LCBMZXNzVGhhbjY0VW50YWdnZWRUb2tlbnMp
OwogCiBlbnVtIFNvdXJjZUVsZW1lbnRzTW9kZSB7IENoZWNrRm9yU3RyaWN0TW9kZSwgRG9udENo
ZWNrRm9yU3RyaWN0TW9kZSB9OworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CitlbnVtIEZ1bmN0aW9uUGFyc2VUeXBlIHsgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSwgQXJy
b3dGdW5jdGlvblBhcnNlVHlwZSB9OworI2Vsc2UKK2VudW0gRnVuY3Rpb25QYXJzZVR5cGUgeyBT
dGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlfTsKKyNlbmRpZgogZW51bSBGdW5jdGlvblJlcXVpcmVt
ZW50cyB7IEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEZ1bmN0aW9uTmVlZHNOYW1lIH07CiBlbnVt
IEZ1bmN0aW9uUGFyc2VNb2RlIHsKICAgICBGdW5jdGlvbk1vZGUsCkBAIC02MTgsNiArNjIzLDEz
IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBtX3Rva2VuLm1fdHlwZSA9PSBJREVOVCAmJiAq
bV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+b2Y7CiAgICAgfQog
ICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgQUxXQVlTX0lO
TElORSBib29sIGlzRW5kT2ZBcnJvd0Z1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiBt
YXRjaChTRU1JQ09MT04pIHx8IG1hdGNoKENPTU1BKSB8fCBtYXRjaChDTE9TRVBBUkVOKSB8fCBt
YXRjaChDTE9TRUJSQUNFKSB8fCBtYXRjaChDTE9TRUJSQUNLRVQpOworICAgIH0KKyNlbmRpZgor
ICAgIAogICAgIEFMV0FZU19JTkxJTkUgdW5zaWduZWQgdG9rZW5TdGFydCgpCiAgICAgewogICAg
ICAgICByZXR1cm4gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OwpAQCAtNzIxLDkgKzcz
Myw5IEBAIHByaXZhdGU6CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9
Ci0gICAgCi0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVu
dHMgcGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYsIFNvdXJjZUVsZW1lbnRzTW9kZSk7
Ci0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlU3Rh
dGVtZW50KFRyZWVCdWlsZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWdu
ZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwKTsKKworICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1
aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUsIEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyAgICB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgcGFyc2VTdGF0ZW1lbnQoVHJl
ZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0
aXZlTGl0ZXJhbExlbmd0aCA9IDAsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBl
ID0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5U
QVgpCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNl
Q2xhc3NEZWNsYXJhdGlvbihUcmVlQnVpbGRlciYpOwogI2VuZGlmCkBAIC03NjIsMjAgKzc3NCwz
NCBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3Bl
cnR5IHBhcnNlUHJvcGVydHkoVHJlZUJ1aWxkZXImLCBib29sIHN0cmljdCk7CiAgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZVByb3BlcnR5TWV0aG9k
KFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlmaWVyKiBtZXRob2ROYW1lKTsKICAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBwYXJzZUdldHRlclNl
dHRlcihUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0LCBQcm9wZXJ0eU5vZGU6OlR5cGUsIHVuc2ln
bmVkIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIENvbnN0cnVjdG9yS2luZCA9IENvbnN0cnVj
dG9yS2luZDo6Tm9uZSwgU3VwZXJCaW5kaW5nID0gU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQpOwot
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRnVuY3Rp
b25Cb2R5IHBhcnNlRnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVyJiwgaW50IGZ1bmN0aW9uS2V5d29y
ZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIGludCBwYXJhbWV0ZXJzU3RhcnQsIENvbnN0
cnVjdG9yS2luZCk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5M
SU5FIFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VGdW5jdGlvbkJvZHkoVHJlZUJ1aWxkZXImLCBpbnQg
ZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwgaW50IHBhcmFtZXRl
cnNTdGFydCwgQ29uc3RydWN0b3JLaW5kLCBGdW5jdGlvblBhcnNlVHlwZSk7CiAgICAgdGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGb3JtYWxQYXJhbWV0ZXJM
aXN0IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhUcmVlQnVpbGRlciYpOwogICAgIGVudW0gVmFyRGVj
bGFyYXRpb25MaXN0Q29udGV4dCB7IEZvckxvb3BDb250ZXh0LCBWYXJEZWNsYXJhdGlvbkNvbnRl
eHQgfTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBh
cnNlVmFyRGVjbGFyYXRpb25MaXN0KFRyZWVCdWlsZGVyJiwgaW50JiBkZWNsYXJhdGlvbnMsIFRy
ZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4mIGxhc3RQYXR0ZXJuLCBUcmVlRXhwcmVzc2lvbiYgbGFz
dEluaXRpYWxpemVyLCBKU1RleHRQb3NpdGlvbiYgaWRlbnRTdGFydCwgSlNUZXh0UG9zaXRpb24m
IGluaXRTdGFydCwgSlNUZXh0UG9zaXRpb24mIGluaXRFbmQsIFZhckRlY2xhcmF0aW9uTGlzdENv
bnRleHQpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRy
ZWVDb25zdERlY2xMaXN0IHBhcnNlQ29uc3REZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImKTsK
IAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZUFycm93RnVuY3Rpb25FeHByZXNz
aW9uKFRyZWVCdWlsZGVyJik7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
U3RhdGVtZW50IHBhcnNlQXJyb3dGdW5jdGlvblN0YXRlbWVudChUcmVlQnVpbGRlciYpOworICAg
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gcGFyc2VBcnJvd0Z1
bmN0aW9uV3JhcHBlcihUcmVlQnVpbGRlciYpOworI2VuZGlmCisKICAgICB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIGNy
ZWF0ZUJpbmRpbmdQYXR0ZXJuKFRyZWVCdWlsZGVyJiwgRGVjb25zdHJ1Y3Rpb25LaW5kLCBjb25z
dCBJZGVudGlmaWVyJiwgaW50IGRlcHRoLCBKU1Rva2VuKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIHBhcnNl
RGVjb25zdHJ1Y3Rpb25QYXR0ZXJuKFRyZWVCdWlsZGVyJiwgRGVjb25zdHJ1Y3Rpb25LaW5kLCBp
bnQgZGVwdGggPSAwKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lO
TElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIHRyeVBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0
ZXJuRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOwogCi0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBORVZFUl9JTkxJTkUgYm9vbCBwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYs
IEZ1bmN0aW9uUmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSwgYm9vbCBuYW1lSXNJbkNv
bnRhaW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kLCBTdXBlckJpbmRpbmcsIGludCBmdW5jdGlv
bktleXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYpOworICAgIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIGJvb2wgcGFyc2VGdW5jdGlv
bkluZm8oVHJlZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1v
ZGUsIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCwgU3VwZXJC
aW5kaW5nLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVl
QnVpbGRlcj4mLCBGdW5jdGlvblBhcnNlVHlwZSk7CisgICAgCisgICAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgaW50IHBhcnNlRnVuY3Rpb25QYXJhbXRlcnMoVHJl
ZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUsIGJvb2ws
IEF1dG9Qb3BTY29wZVJlZiYsIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mKTsKKwog
I2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVDbGFzc0V4cHJlc3Npb24gcGFyc2VDbGFzcyhUcmVlQnVp
bGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzLCBQYXJzZXJDbGFzc0luZm88VHJlZUJ1aWxkZXI+
Jik7CiAjZW5kaWYKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgaW50IHBhcnNlQXJyb3dG
dW5jdGlvblBhcmFtdGVycyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUGFyc2VNb2RlLCBQYXJzZXJG
dW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+Jik7CisjZW5kaWYKKwogI2lmIEVOQUJMRShFUzZfVEVN
UExBVEVfTElURVJBTF9TWU5UQVgpCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBO
RVZFUl9JTkxJTkUgdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OlRlbXBsYXRlU3RyaW5nIHBhcnNlVGVt
cGxhdGVTdHJpbmcoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGJvb2wgaXNUZW1wbGF0ZUhlYWQsIGJv
b2wmIGVsZW1lbnRJc1RhaWwpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVW
RVJfSU5MSU5FIHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpUZW1wbGF0ZUxpdGVyYWwgcGFyc2VUZW1w
bGF0ZUxpdGVyYWwoVHJlZUJ1aWxkZXImKTsKQEAgLTc5Myw2ICs4MTksMTQgQEAgcHJpdmF0ZToK
ICAgICAgICAgcmV0dXJuIGFsbG93QXV0b21hdGljU2VtaWNvbG9uKCk7CiAgICAgfQogICAgIAor
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2b2lkIHNldEVuZE9m
U3RhdGVtZW50KCkKKyAgICB7CisgICAgICAgIG1fbGV4ZXItPnNldFRva2VuUG9zaXRpb24oJm1f
dG9rZW4pOworICAgIH0KKyNlbmRpZgorCiAgICAgYm9vbCBjYW5SZWN1cnNlKCkKICAgICB7CiAg
ICAgICAgIHJldHVybiBtX3ZtLT5pc1NhZmVUb1JlY3Vyc2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oCmluZGV4IDZiNzM2MjgyZTJk
MmE4MWJjNjNkYzJmM2MwZTVhZThjODU4Y2QxZjguLjBjZGUwYzY3YTlkZTBlZGYzNDE0NGUzMjc5
MWU1ZTkwYjRhMjE1MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyRnVuY3Rpb25JbmZvLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXJGdW5jdGlvbkluZm8uaApAQCAtMjgsNiArMjgsMTAgQEAKIAogbmFtZXNwYWNlIEpTQyB7
CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorZW51bSBGdW5jdGlvbkJv
ZHlUeXBlIHsgQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uLCBBcnJvd0Z1bmN0aW9uQm9keUJs
b2NrLCBTdGFuZGFyZEZ1bmN0aW9uQm9keUJsb2NrIH07CisjZW5kaWYKKwogdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPgogc3RydWN0IFBhcnNlckZ1bmN0aW9uSW5mbyB7CiAgICAgY29uc3Qg
SWRlbnRpZmllciogbmFtZSA9IDA7CkBAIC0zOCw2ICs0MiwxMSBAQCBzdHJ1Y3QgUGFyc2VyRnVu
Y3Rpb25JbmZvIHsKICAgICBpbnQgYm9keVN0YXJ0TGluZSA9IDA7CiAgICAgaW50IGJvZHlFbmRM
aW5lID0gMDsKICAgICB1bnNpZ25lZCBib2R5U3RhcnRDb2x1bW4gPSAwOworI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdW5zaWduZWQgYXJyb3dGdW5jdGlvbk9mZnNl
dCA9IDA7CisgICAgYm9vbCBpc0Fycm93RnVuY3Rpb24gPSBmYWxzZTsKKyAgICBGdW5jdGlvbkJv
ZHlUeXBlIGZ1bmN0aW9uQm9keVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uQm9keUJsb2NrOworI2Vu
ZGlmCiB9OwogCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vucy5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAppbmRleCAwMjZlNGY4MGY0MzdkOGJmZTRhNjE5
YzMwZDExZGM5ZmM2MWUyNjQ1Li5lOTE1NGNhZjA1M2M1MzgxYjVmMDk4MTZkYmEwNTU4YTU0MzRi
ZjM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vu
cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKQEAg
LTc1LDYgKzc1LDkgQEAgZW51bSBKU1Rva2VuVHlwZSB7CiAgICAgRklOQUxMWSwKICAgICBERUJV
R0dFUiwKICAgICBFTFNFLAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisg
ICAgQVJST1dGVU5DVElPTiwKKyNlbmRpZgogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQog
ICAgIENMQVNTVE9LRU4sCiAgICAgRVhURU5EUywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9Tb3VyY2VDb2RlLmgKaW5kZXggNzNkMjNkYjgyYWYyNWVhNDZjMGY4OTc4NWNlNDI0YmI2MGVi
NjFhNy4uNTBkNTI2Mzk3OTQzZTM4MWQzODBlYzQzZDgyZDViNjNmN2YwOGRjNCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmgKQEAgLTEwNSw2ICsxMDUsOSBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgCiAgICAgICAgIFNvdXJjZUNvZGUgc3ViRXhwcmVzc2lv
bih1bnNpZ25lZCBvcGVuQnJhY2UsIHVuc2lnbmVkIGNsb3NlQnJhY2UsIGludCBmaXJzdExpbmUs
IGludCBzdGFydENvbHVtbik7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgICAgICBTb3VyY2VDb2RlIHN1YkFycm93RXhwcmVzc2lvbih1bnNpZ25lZCBzdGFydEFy
cm93RnVuY3Rpb24sIHVuc2lnbmVkIGVuZEFycm93RnVuY3Rpb24sIGludCBmaXJzdExpbmUsIGlu
dCBzdGFydENvbHVtbik7CisjZW5kaWYKICAgICBwcml2YXRlOgogICAgICAgICBSZWZQdHI8U291
cmNlUHJvdmlkZXI+IG1fcHJvdmlkZXI7CiAgICAgICAgIGludCBtX3N0YXJ0Q2hhcjsKQEAgLTEx
OCw2ICsxMjEsMTcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBTb3VyY2VDb2Rl
KFN0cmluZ1NvdXJjZVByb3ZpZGVyOjpjcmVhdGUoc291cmNlLCB1cmwsIHN0YXJ0UG9zaXRpb24p
LCBzdGFydFBvc2l0aW9uLm1fbGluZS5vbmVCYXNlZEludCgpLCBzdGFydFBvc2l0aW9uLm1fY29s
dW1uLm9uZUJhc2VkSW50KCkpOwogICAgIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgaW5saW5lIFNvdXJjZUNvZGUgU291cmNlQ29kZTo6c3ViQXJyb3dFeHBy
ZXNzaW9uKHVuc2lnbmVkIHN0YXJ0QXJyb3dGdW5jdGlvbiwgdW5zaWduZWQgZW5kQXJyb3dGdW5j
dGlvbiwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKQorICAgIHsKKyAgICAgICAgQVNT
RVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW3N0YXJ0QXJyb3dGdW5jdGlvbl0gPT0gJz0nICYmIHBy
b3ZpZGVyKCktPnNvdXJjZSgpW3N0YXJ0QXJyb3dGdW5jdGlvbiArIDFdID09ICc+Jyk7CisgICAg
ICAgIC8vIEZpeG1lOiBVc2UgYmV0dGVyIGFwcHJvYWNoIHRvIGNoZWNrIHN5bWJvbAorICAgICAg
ICBBU1NFUlQocHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICcs
JyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJzsnIHx8
IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnKScgfHwgcHJv
dmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAtIDFdID09ICddJyB8fCBwcm92aWRl
cigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0gPT0gJ30nKTsKKyAgICAgICAgc3Rh
cnRDb2x1bW4gKz0gMTsgLy8gQ29udmVydCB0byBiYXNlIDEuCisgICAgICAgIHJldHVybiBTb3Vy
Y2VDb2RlKHByb3ZpZGVyKCksIHN0YXJ0QXJyb3dGdW5jdGlvbiwgZW5kQXJyb3dGdW5jdGlvbiwg
Zmlyc3RMaW5lLCBzdGFydENvbHVtbik7CisgICAgfQorI2VuZGlmCisKICAgICBpbmxpbmUgU291
cmNlQ29kZSBTb3VyY2VDb2RlOjpzdWJFeHByZXNzaW9uKHVuc2lnbmVkIG9wZW5CcmFjZSwgdW5z
aWduZWQgY2xvc2VCcmFjZSwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1uKQogICAgIHsK
ICAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW29wZW5CcmFjZV0gPT0gJ3snKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJD
YWNoZUl0ZW0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlUHJvdmlkZXJD
YWNoZUl0ZW0uaAppbmRleCA2MzUzNzllM2Y0NDU2NjhjNTJiODcyZjc2MTZkY2I1OTIxYTgyOTQ0
Li5mNDI4ZGI1MGE4ZGE3YTdhYjQ2ODI0YWIzODA4M2RiMDUyZDczNzc2IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbS5o
CkBAIC00MCw2ICs0MCwxMCBAQCBzdHJ1Y3QgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlv
blBhcmFtZXRlcnMgewogICAgIGJvb2wgbmVlZHNGdWxsQWN0aXZhdGlvbjsKICAgICBib29sIHVz
ZXNFdmFsOwogICAgIGJvb2wgc3RyaWN0TW9kZTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIGJvb2wgaXNCb2R5QXJyb3dFeHByZXNzaW9uOworICAgIEpTVG9rZW5U
eXBlIHRva2VuVHlwZTsKKyNlbmRpZgogICAgIFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+IHVz
ZWRWYXJpYWJsZXM7CiAgICAgVmVjdG9yPFJlZlB0cjxTdHJpbmdJbXBsPj4gd3JpdHRlblZhcmlh
YmxlczsKIH07CkBAIC01NSwxMCArNTksMTQgQEAgcHVibGljOgogICAgIHN0YXRpYyBzdGQ6OnVu
aXF1ZV9wdHI8U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0+IGNyZWF0ZShjb25zdCBTb3VyY2VQcm92
aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFyYW1ldGVycyYpOwogICAgIH5Tb3VyY2VQcm92aWRlckNh
Y2hlSXRlbSgpOwogCi0gICAgSlNUb2tlbiBjbG9zZUJyYWNlVG9rZW4oKSBjb25zdCAKKyAgICBK
U1Rva2VuIGVuZEZ1bmN0aW9uVG9rZW4oKSBjb25zdCAKICAgICB7CiAgICAgICAgIEpTVG9rZW4g
dG9rZW47CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgdG9r
ZW4ubV90eXBlID0gaXNCb2R5QXJyb3dFeHByZXNzaW9uID8gdG9rZW5UeXBlIDogQ0xPU0VCUkFD
RTsKKyNlbHNlCiAgICAgICAgIHRva2VuLm1fdHlwZSA9IENMT1NFQlJBQ0U7CisjZW5kaWYKICAg
ICAgICAgdG9rZW4ubV9kYXRhLm9mZnNldCA9IGNsb3NlQnJhY2VPZmZzZXQ7CiAgICAgICAgIHRv
a2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQgPSBjbG9zZUJyYWNlT2Zmc2V0OwogICAgICAgICB0
b2tlbi5tX2xvY2F0aW9uLmVuZE9mZnNldCA9IGNsb3NlQnJhY2VPZmZzZXQgKyAxOwpAQCAtODIs
NiArOTAsMTEgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIHVzZWRWYXJpYWJsZXNDb3VudDsKICAg
ICB1bnNpZ25lZCB3cml0dGVuVmFyaWFibGVzQ291bnQ7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgIGJvb2wgaXNCb2R5QXJyb3dFeHByZXNzaW9uOworICAgIEpT
VG9rZW5UeXBlIHRva2VuVHlwZTsKKyNlbmRpZgorCiAgICAgU3RyaW5nSW1wbCoqIHVzZWRWYXJp
YWJsZXMoKSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0PFN0cmluZ0ltcGwqKj4obV92YXJpYWJs
ZXMpOyB9CiAgICAgU3RyaW5nSW1wbCoqIHdyaXR0ZW5WYXJpYWJsZXMoKSBjb25zdCB7IHJldHVy
biBjb25zdF9jYXN0PFN0cmluZ0ltcGwqKj4oJm1fdmFyaWFibGVzW3VzZWRWYXJpYWJsZXNDb3Vu
dF0pOyB9CiAKQEAgLTExNSw2ICsxMjgsMTAgQEAgaW5saW5lIFNvdXJjZVByb3ZpZGVyQ2FjaGVJ
dGVtOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbShjb25zdCBTb3VyY2VQcm92aWRlckNhY2gKICAg
ICAsIGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQocGFyYW1ldGVycy5jbG9zZUJyYWNlTGluZVN0
YXJ0T2Zmc2V0KQogICAgICwgdXNlZFZhcmlhYmxlc0NvdW50KHBhcmFtZXRlcnMudXNlZFZhcmlh
Ymxlcy5zaXplKCkpCiAgICAgLCB3cml0dGVuVmFyaWFibGVzQ291bnQocGFyYW1ldGVycy53cml0
dGVuVmFyaWFibGVzLnNpemUoKSkKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFY
KQorICAgICwgaXNCb2R5QXJyb3dFeHByZXNzaW9uKHBhcmFtZXRlcnMuaXNCb2R5QXJyb3dFeHBy
ZXNzaW9uKQorICAgICwgdG9rZW5UeXBlKHBhcmFtZXRlcnMudG9rZW5UeXBlKQorI2VuZGlmCiB7
CiAgICAgdW5zaWduZWQgaiA9IDA7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHVzZWRW
YXJpYWJsZXNDb3VudDsgKytpLCArK2opIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9TeW50YXhDaGVja2VyLmgKaW5kZXggNTU0ZTVkZjY0YTcyMWY0NDYyZDBkODlhYjAyM2FmZGQ3
NTNjNTViZS4uZjYzNWVkMWJiMzdlODg1MzY0NTQ3NGMwODIzZjRiNjEzODBhNGQzMyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKQEAgLTE3Nyw2ICsx
NzcsMTAgQEAgcHVibGljOgogI2VuZGlmCiAgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlRnVuY3Rp
b25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxT
eW50YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhwcjsgfQogICAgIGludCBjcmVhdGVG
dW5jdGlvbkJvZHkoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgSlNUb2tlbkxvY2F0aW9u
JiwgaW50LCBpbnQsIGJvb2wsIGludCwgaW50LCBpbnQsIENvbnN0cnVjdG9yS2luZCkgeyByZXR1
cm4gRnVuY3Rpb25Cb2R5UmVzdWx0OyB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihjb25zdCBK
U1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4m
KSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KKyNlbmRpZiAKKyAgICB2b2lkIHNldEZ1bmN0aW9u
TmFtZVN0YXJ0KGludCwgaW50KSB7IH0KICAgICBpbnQgY3JlYXRlQXJndW1lbnRzKCkgeyByZXR1
cm4gQXJndW1lbnRzUmVzdWx0OyB9CiAgICAgaW50IGNyZWF0ZUFyZ3VtZW50cyhpbnQpIHsgcmV0
dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQogICAgIEV4cHJlc3Npb25UeXBlIGNyZWF0ZVNwcmVhZEV4
cHJlc3Npb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhwcmVzc2lvblR5cGUsIGludCwgaW50
LCBpbnQpIHsgcmV0dXJuIFNwcmVhZEV4cHI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEwMjcxOTYwMzk3YWI3
ZDk5NTI0OGIxMmYyOTVhYjdlM2FlNmQzMzQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwCkBAIC0wLDAgKzEsMTE5IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisjaW5jbHVk
ZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCisKKyNpbmNsdWRlICJFcnJvci5oIgorI2luY2x1ZGUgIkV4
Y2VwdGlvbkhlbHBlcnMuaCIKKyNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCisjaW5jbHVkZSAiSlND
SlNWYWx1ZS5oIgorI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIKKyNpbmNsdWRlICJKU0Z1bmN0aW9u
SW5saW5lcy5oIgorI2luY2x1ZGUgIkpTT2JqZWN0LmgiCisjaW5jbHVkZSAiUHJvcGVydHlTbG90
LmgiCisjaW5jbHVkZSAiVk0uaCIKKworbmFtZXNwYWNlIEpTQyB7CisgICAgCitjb25zdCBDbGFz
c0luZm8gSlNBcnJvd0Z1bmN0aW9uOjpzX2luZm8gPSB7ICJBcnJvd0Z1bmN0aW9uIiwgJkJhc2U6
OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0Fycm93RnVuY3Rpb24pIH07CisKK0Vu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyb3dGdW5jdGlvbkNhbGwoRXhlY1N0YXRlKiBl
eGVjKQoreworICAgIEpTQXJyb3dGdW5jdGlvbiogYXJyb3dGdW5jdGlvbiA9IGpzQ2FzdDxKU0Fy
cm93RnVuY3Rpb24qPihleGVjLT5jYWxsZWUoKSk7CisgICAgICAgIAorICAgIE1hcmtlZEFyZ3Vt
ZW50QnVmZmVyIGFyZ3M7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGV4ZWMtPmFyZ3Vt
ZW50Q291bnQoKTsgKytpKQorICAgICAgICBhcmdzLmFwcGVuZChleGVjLT51bmNoZWNrZWRBcmd1
bWVudChpKSk7CisgICAgCisgICAgSlNPYmplY3QqIGZ1bmN0aW9uID0gYXJyb3dGdW5jdGlvbi0+
YXJyb3dGdW5jdGlvbigpOworICAgIENhbGxEYXRhIGNhbGxEYXRhOworICAgIENhbGxUeXBlIGNh
bGxUeXBlID0gZ2V0Q2FsbERhdGEoZnVuY3Rpb24sIGNhbGxEYXRhKTsKKyAgICBBU1NFUlQoY2Fs
bFR5cGUgIT0gQ2FsbFR5cGVOb25lKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGNhbGwo
ZXhlYywgZnVuY3Rpb24sIGNhbGxUeXBlLCBjYWxsRGF0YSwgYXJyb3dGdW5jdGlvbi0+Ym91bmRU
aGlzKCksIGFyZ3MpKTsKK30KKyAgICAKK3ZvaWQgSlNBcnJvd0Z1bmN0aW9uOjpkZXN0cm95KEpT
Q2VsbCogY2VsbCkKK3sKKyAgICBzdGF0aWNfY2FzdDxKU0Fycm93RnVuY3Rpb24qPihjZWxsKS0+
SlNBcnJvd0Z1bmN0aW9uOjp+SlNBcnJvd0Z1bmN0aW9uKCk7Cit9CisgICAgCitKU0Fycm93RnVu
Y3Rpb246OkpTQXJyb3dGdW5jdGlvbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU09iamVjdCogYXJyb3dGdW5jdGlvbiwgSlNWYWx1
ZSBib3VuZFRoaXMpCisgICAgOiBCYXNlKHZtLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKKyAg
ICAsIG1fYm91bmRUaGlzKHZtLCB0aGlzLCBib3VuZFRoaXMpCisgICAgLCBtX2Fycm93RnVuY3Rp
b24odm0sIHRoaXMsIGFycm93RnVuY3Rpb24pCit7Cit9CisKK0pTQXJyb3dGdW5jdGlvbiogSlNB
cnJvd0Z1bmN0aW9uOjpjcmVhdGVXaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRjaHBvaW50
KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIGFycm93RnVu
Y3Rpb24sIEpTVmFsdWUgYm91bmRUaGlzKQoreworICAgIEFTU0VSVChqc0Nhc3Q8SlNGdW5jdGlv
bio+KGFycm93RnVuY3Rpb24pLT5qc0V4ZWN1dGFibGUoKS0+c2luZ2xldG9uRnVuY3Rpb24oKS0+
aGFzQmVlbkludmFsaWRhdGVkKCkpOworICAgIHJldHVybiBjcmVhdGUodm0sIGdsb2JhbE9iamVj
dCwgYXJyb3dGdW5jdGlvbiwgYm91bmRUaGlzKTsKK30KKworSlNBcnJvd0Z1bmN0aW9uKiBKU0Fy
cm93RnVuY3Rpb246OmNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IEpTT2JqZWN0KiBhcnJvd0Z1bmN0aW9uLCBKU1ZhbHVlIGJvdW5kVGhpcykKK3sKKyAgICBOYXRp
dmVFeGVjdXRhYmxlKiBleGVjdXRhYmxlID0gdm0uZ2V0SG9zdEZ1bmN0aW9uKGFycm93RnVuY3Rp
b25DYWxsLCBjYWxsSG9zdEZ1bmN0aW9uQXNDb25zdHJ1Y3Rvcik7CisgICAgSlNBcnJvd0Z1bmN0
aW9uKiBmdW5jdGlvbiA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPEpTQXJyb3dGdW5jdGlv
bj4odm0uaGVhcCkpIEpTQXJyb3dGdW5jdGlvbih2bSwgZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmpl
Y3QtPmFycm93RnVuY3Rpb25TdHJ1Y3R1cmUoKSwgYXJyb3dGdW5jdGlvbiwgYm91bmRUaGlzKTsK
KyAgICBmdW5jdGlvbi0+ZmluaXNoQ3JlYXRpb24odm0sIGV4ZWN1dGFibGUsIDAsICIiKTsKKwor
ICAgIHJldHVybiBmdW5jdGlvbjsKK30KKyAgICAKK3ZvaWQgSlNBcnJvd0Z1bmN0aW9uOjpmaW5p
c2hDcmVhdGlvbihWTSYgdm0sIE5hdGl2ZUV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIGludCBsZW5n
dGgsIGNvbnN0IFN0cmluZyYgbmFtZSkKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwg
ZXhlY3V0YWJsZSwgbGVuZ3RoLCBuYW1lKTsKKyAgICBBU1NFUlQoaW5oZXJpdHMoaW5mbygpKSk7
CisgICAgCisgICAgLy8gUHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9uIGlzIHVuZGVmaW5lZAor
ICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBqc1VuZGVmaW5l
ZCgpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51bSk7CisgICAgcHV0RGlyZWN0KHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT50aGlzSWRlbnRpZmllciwgYm91bmRUaGlzKCksIERvbnREZWxl
dGUgfCBSZWFkT25seSB8IERvbnRFbnVtKTsKK30KKworICAgIAordm9pZCBKU0Fycm93RnVuY3Rp
b246OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKK3sK
KyAgICBKU0Fycm93RnVuY3Rpb24qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNBcnJvd0Z1bmN0aW9u
Kj4oY2VsbCk7CisgICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyh0aGlzT2JqZWN0LCBpbmZv
KCkpOworICAgIEJhc2U6OnZpc2l0Q2hpbGRyZW4odGhpc09iamVjdCwgdmlzaXRvcik7CisKKyAg
ICAvLyBGaXhtZTogbV9hcnJvd0Z1bmN0aW9uIGFscmVhZHkgcmVtb3ZlZCBieSBHQywgYmVjYXVz
ZSBpdCBjcmVhdGVkIGluIGJlZm9yZSBydW4gSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUgbWV0aG9k
CisgICAgLy8gSXQgaXMgcG9zc2libGUgY2FzZSB3aGVuIG1fYXJyb3dGdW5jdGlvbiBpcyByZW1v
dmVkIGJ1dCB3cmFwcGVyIG9iamVjdCBpcyBzdGlsbCBleGlzdHMKKyAgICAvLyAgdmlzaXRvci5h
cHBlbmQoJnRoaXNPYmplY3QtPm1fYXJyb3dGdW5jdGlvbik7CisgICAgCisgICAgdmlzaXRvci5h
cHBlbmQoJnRoaXNPYmplY3QtPm1fYm91bmRUaGlzKTsKK30KKyAgICAKK0NvbnN0cnVjdFR5cGUg
SlNBcnJvd0Z1bmN0aW9uOjpnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCogY2VsbCwgQ29uc3RydWN0
RGF0YSYgY29uc3RydWN0RGF0YSkKK3sKKyAgICBKU0Z1bmN0aW9uKiB0aGlzT2JqZWN0ID0ganND
YXN0PEpTRnVuY3Rpb24qPihjZWxsKTsKKyAgICAgICAgCisgICAgY29uc3RydWN0RGF0YS5qcy5m
dW5jdGlvbkV4ZWN1dGFibGUgPSB0aGlzT2JqZWN0LT5qc0V4ZWN1dGFibGUoKTsKKyAgICBjb25z
dHJ1Y3REYXRhLmpzLnNjb3BlID0gdGhpc09iamVjdC0+c2NvcGUoKTsKKyAgICByZXR1cm4gQ29u
c3RydWN0VHlwZU5vbmU7Cit9Cit9IC8vIG5hbWVzcGFjZSBKU0MKKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
OTdiYzFhNWZiZGY2ZjhiN2FjNzZkZmVmMDA5ZTllZWVmNzlmOGYzCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmgKQEAgLTAs
MCArMSw4OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgSlNBcnJvd0Z1bmN0aW9uX2gKKyNkZWZpbmUgSlNBcnJvd0Z1bmN0aW9uX2gKKwor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisKKyNpbmNsdWRlICJKU0Z1bmN0
aW9uLmgiCisjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3QuaCIKKworbmFtZXNwYWNlIEpTQyB7CisK
K0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyb3dGdW5jdGlvbkNhbGwoRXhlY1N0YXRl
Kik7CisgICAgCitjbGFzcyBKU0Fycm93RnVuY3Rpb24gOiBwdWJsaWMgSlNGdW5jdGlvbiB7Citw
dWJsaWM6CisgICAgdHlwZWRlZiBKU0Z1bmN0aW9uIEJhc2U7CisKKyAgICBzdGF0aWMgSlNBcnJv
d0Z1bmN0aW9uKiBjcmVhdGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTT2JqZWN0KiwgSlNWYWx1
ZSk7CisgICAgc3RhdGljIEpTQXJyb3dGdW5jdGlvbiogY3JlYXRlV2l0aEludmFsaWRhdGVkUmVh
bGxvY2F0aW9uV2F0Y2hwb2ludChWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNPYmplY3QqLCBKU1Zh
bHVlKTsKKworICAgIHN0YXRpYyB2b2lkIGRlc3Ryb3koSlNDZWxsKik7CisgICAgCisgICAgc3Rh
dGljIHNpemVfdCBhbGxvY2F0aW9uU2l6ZShzaXplX3QgaW5saW5lQ2FwYWNpdHkpCisgICAgewor
ICAgICAgICBBU1NFUlRfVU5VU0VEKGlubGluZUNhcGFjaXR5LCAhaW5saW5lQ2FwYWNpdHkpOwor
ICAgICAgICByZXR1cm4gc2l6ZW9mKEpTQXJyb3dGdW5jdGlvbik7CisgICAgfQorICAgIAorICAg
IHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgcHJvdG90eXBlKQorICAgIHsKKyAgICAgICAgQVNTRVJU
KGdsb2JhbE9iamVjdCk7CisgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xv
YmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKEpTRnVuY3Rpb25UeXBlLCBTdHJ1Y3R1cmVG
bGFncyksIGluZm8oKSk7CisgICAgfQorICAgICAgICAKKyAgICBzdGF0aWMgQ29uc3RydWN0VHlw
ZSBnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmKTsKKworICAgIEpTT2Jq
ZWN0KiBhcnJvd0Z1bmN0aW9uKCkgeyByZXR1cm4gbV9hcnJvd0Z1bmN0aW9uLmdldCgpOyB9Cisg
ICAgSlNWYWx1ZSBib3VuZFRoaXMoKSB7IHJldHVybiBtX2JvdW5kVGhpcy5nZXQoKTsgfQorICAg
IAorICAgIERFQ0xBUkVfSU5GTzsKKyAgICAKKyAgICBzdGF0aWMgaW5saW5lIHB0cmRpZmZfdCBv
ZmZzZXRPZlRoaXNWYWx1ZSgpCisgICAgeworICAgICAgICByZXR1cm4gT0JKRUNUX09GRlNFVE9G
KEpTQXJyb3dGdW5jdGlvbiwgbV9ib3VuZFRoaXMpOworICAgIH0KKyAgICAKKyAgICBjb25zdCBz
dGF0aWMgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNIYXNJbnN0YW5jZSB8IEJh
c2U6OlN0cnVjdHVyZUZsYWdzOworCitwcm90ZWN0ZWQ6CisgICAgc3RhdGljIHZvaWQgdmlzaXRD
aGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOworICAgICAgICAKK3ByaXZhdGU6CisgICAg
SlNBcnJvd0Z1bmN0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqLCBKU09iamVj
dCosIEpTVmFsdWUpOworCisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIE5hdGl2ZUV4ZWN1
dGFibGUqLCBpbnQsIGNvbnN0IFN0cmluZyYpOworICAgIAorICAgIFdyaXRlQmFycmllcjxVbmtu
b3duPiBtX2JvdW5kVGhpczsKKyAgICBXcml0ZUJhcnJpZXI8SlNPYmplY3Q+IG1fYXJyb3dGdW5j
dGlvbjsKK307CisgICAgCit9IC8vIG5hbWVzcGFjZSBKU0MKKyNlbmRpZiAvLyBFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgKKworI2VuZGlmIC8vIEpTQXJyb3dGdW5jdGlvbl9oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKaW5kZXggODZkZmYxMmY4ZmE0N2EzMWEz
M2E2ODk0MDg3Y2U1YzExNWNlNTJiNi4uOGYxZDYxNmFlMGJkNzE0ZjQzY2I4Zjg4YWFkNWI3NGYy
ZWNiNzdmYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5j
dGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaApA
QCAtMTM3LDYgKzEzNyw5IEBAIHB1YmxpYzoKIHByb3RlY3RlZDoKICAgICBKU19FWFBPUlRfUFJJ
VkFURSBKU0Z1bmN0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKICAgICBK
U0Z1bmN0aW9uKFZNJiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwgSlNTY29wZSopOworI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgSlNGdW5jdGlvbihWTSYsIEZ1bmN0aW9u
RXhlY3V0YWJsZSosIEpTU2NvcGUqLCBTdHJ1Y3R1cmUqKTsKKyNlbmRpZgogCiAgICAgdm9pZCBm
aW5pc2hDcmVhdGlvbihWTSYsIE5hdGl2ZUV4ZWN1dGFibGUqLCBpbnQgbGVuZ3RoLCBjb25zdCBT
dHJpbmcmIG5hbWUpOwogICAgIHVzaW5nIEJhc2U6OmZpbmlzaENyZWF0aW9uOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgKaW5kZXggZjZj
NmQ1OGVjNmU1YzExNjRjYjI3ZmE1ZTQxNjE4YjRiODE0MmYwMi4uMzg1MDZjYzE5OWEwMDhmZjhm
OTZhZGY2ODliZTM2MDk4NzVkZWE1YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oCkBAIC00NSw2ICs0NSwxNSBAQCBpbmxpbmUgSlNG
dW5jdGlvbjo6SlNGdW5jdGlvbihWTSYgdm0sIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJs
ZSwgSlNTY29wZSogcwogewogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKK2lubGluZSBKU0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKFZNJiB2bSwgRnVuY3Rpb25FeGVjdXRh
YmxlKiBleGVjdXRhYmxlLCBKU1Njb3BlKiBzY29wZSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCisg
ICAgOiBCYXNlKHZtLCBzY29wZSwgc3RydWN0dXJlKQorICAgICwgbV9leGVjdXRhYmxlKHZtLCB0
aGlzLCBleGVjdXRhYmxlKQorICAgICwgbV9yYXJlRGF0YSgpCit7Cit9CisjZW5kaWYKKyAgICAK
IGlubGluZSBGdW5jdGlvbkV4ZWN1dGFibGUqIEpTRnVuY3Rpb246OmpzRXhlY3V0YWJsZSgpIGNv
bnN0CiB7CiAgICAgQVNTRVJUKCFpc0hvc3RGdW5jdGlvbk5vbklubGluZSgpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAppbmRleCA5Zjg2
ZTczMWU5ZDljOGM4MGVkNjY3NjQ3MTQ5ZGUwNWI3ZTM4YTI1Li5kNzNjMDE5YjYyZTg2MTFmOGZk
NTMwNDU5NTA5OTEyNjRlYzgzOTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCkBAIC01OCw2ICs1OCw3IEBACiAjaW5jbHVkZSAiSlNB
cnJheUJ1ZmZlckNvbnN0cnVjdG9yLmgiCiAjaW5jbHVkZSAiSlNBcnJheUJ1ZmZlclByb3RvdHlw
ZS5oIgogI2luY2x1ZGUgIkpTQXJyYXlJdGVyYXRvci5oIgorI2luY2x1ZGUgIkpTQXJyb3dGdW5j
dGlvbi5oIgogI2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQ0lubGlu
ZXMuaCIKICNpbmNsdWRlICJKU0NhbGxiYWNrQ29uc3RydWN0b3IuaCIKQEAgLTIzNCw2ICsyMzUs
OSBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2bSkKICAgICBleGVjLT5zZXRDYWxs
ZWUobV9nbG9iYWxDYWxsZWUuZ2V0KCkpOwogCiAgICAgbV9mdW5jdGlvblN0cnVjdHVyZS5zZXQo
dm0sIHRoaXMsIEpTRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlv
blByb3RvdHlwZS5nZXQoKSkpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgbV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlLnNldCh2bSwgdGhpcywgSlNBcnJvd0Z1bmN0
aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkp
KTsKKyNlbmRpZgogICAgIG1fYm91bmRGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpT
Qm91bmRGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJvdG90
eXBlLmdldCgpKSk7CiAgICAgbV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlLnNldCh2bSwgdGhpcywg
U3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb24odm0sIG1fZnVuY3Rpb25TdHJ1Y3R1cmUu
Z2V0KCksIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIERvbnREZWxldGUgfCBSZWFkT25seSB8IERv
bnRFbnVtLCBtX2Z1bmN0aW9uTmFtZU9mZnNldCkpOwogICAgIG1faW50ZXJuYWxGdW5jdGlvblN0
cnVjdHVyZS5zZXQodm0sIHRoaXMsIEludGVybmFsRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2
bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOwpAQCAtNzYzLDYgKzc2Nyw5IEBA
IHZvaWQgSlNHbG9iYWxPYmplY3Q6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90Vmlz
aXRvciYgdmlzaXRvcikKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9jYWxsZWVT
dHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2Z1bmN0aW9uU3Ry
dWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9ib3VuZEZ1bmN0aW9u
U3RydWN0dXJlKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHZp
c2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2Fycm93RnVuY3Rpb25TdHJ1Y3R1cmUpOworI2Vu
ZGlmCiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fbmFtZWRGdW5jdGlvblN0cnVj
dHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fc3ltYm9sT2JqZWN0U3Ry
dWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9yZWdFeHBTdHJ1Y3R1
cmUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxP
YmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgK
aW5kZXggN2FjYzFkZDkzMjdkY2UxZGIzYzgwMDcwMTFjODRlNzczNzZhZjVhMi4uZjFhNjUwOTdh
Yjk4ZjdjMDJmZTc4N2IyZGJiYTQwNTJiNjUzMjE2YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC0yMjksNiArMjI5LDkgQEAgcHJvdGVj
dGVkOgogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fY2FsbGVlU3RydWN0dXJlOwogICAg
IFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fZnVuY3Rpb25TdHJ1Y3R1cmU7CiAgICAgV3JpdGVC
YXJyaWVyPFN0cnVjdHVyZT4gbV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlOworI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9h
cnJvd0Z1bmN0aW9uU3RydWN0dXJlOworI2VuZGlmCiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVy
ZT4gbV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlOwogICAgIFByb3BlcnR5T2Zmc2V0IG1fZnVuY3Rp
b25OYW1lT2Zmc2V0OwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fcHJpdmF0ZU5hbWVT
dHJ1Y3R1cmU7CkBAIC00NjcsNiArNDcwLDkgQEAgcHVibGljOgogICAgIFN0cnVjdHVyZSogY2Fs
bGVlU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9jYWxsZWVTdHJ1Y3R1cmUuZ2V0KCk7IH0K
ICAgICBTdHJ1Y3R1cmUqIGZ1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9mdW5j
dGlvblN0cnVjdHVyZS5nZXQoKTsgfQogICAgIFN0cnVjdHVyZSogYm91bmRGdW5jdGlvblN0cnVj
dHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fYm91bmRGdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgU3RydWN0dXJlKiBhcnJv
d0Z1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9hcnJvd0Z1bmN0aW9uU3RydWN0
dXJlLmdldCgpOyB9CisjZW5kaWYKICAgICBTdHJ1Y3R1cmUqIG5hbWVkRnVuY3Rpb25TdHJ1Y3R1
cmUoKSBjb25zdCB7IHJldHVybiBtX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KICAg
ICBQcm9wZXJ0eU9mZnNldCBmdW5jdGlvbk5hbWVPZmZzZXQoKSBjb25zdCB7IHJldHVybiBtX2Z1
bmN0aW9uTmFtZU9mZnNldDsgfQogICAgIFN0cnVjdHVyZSogbnVtYmVyT2JqZWN0U3RydWN0dXJl
KCkgY29uc3QgeyByZXR1cm4gbV9udW1iZXJPYmplY3RTdHJ1Y3R1cmUuZ2V0KCk7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1h
c3BhcmFtdGVyLTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93
ZnVuY3Rpb24tYXNwYXJhbXRlci0xLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzNjFiOGRiMDIyODI3OTZkMWJi
MDRmNWRiZDQwMTliNzI4OWYyY2MKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci0xLmpzCkBAIC0wLDAg
KzEsOCBAQAorLy8gSW5zcGlyZWQgYnkgbW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVu
Y3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhw
ZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCAr
ICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit0ZXN0Q2FzZSgiIiAr
IFsxLCAyLCAzLCA0XS5tYXAoeCA9PiB4LCAzMiksICIxLDIsMyw0IiwgIkVycm9yOiBhcnJvdyBm
dW5jdGlvbiBhcyB0aGUgcGFyYW10ZXJzLiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzcGFyYW10ZXItMi5qcyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3BhcmFtdGVyLTIu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uM2YyOTMyZmMxNDRkMzZjNzBmMDYxZjhlNjg4ODgzZTQ0YWZjZmQxOQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJy
b3dmdW5jdGlvbi1hc3BhcmFtdGVyLTIuanMKQEAgLTAsMCArMSwxNSBAQAorLy8gSW5zcGlyZWQg
YnkgbW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0
ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBt
ZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0
dWFsICsgIiciOworICB9Cit9OworCit2YXIgZiA9IGZ1bmN0aW9uIChjbCwgcGFyYW10ZXIpIHsg
cmV0dXJuIGNsKHBhcmFtdGVyKTsgfTsKK3ZhciBmMiA9IGZ1bmN0aW9uIChjbCwgcGFyYW10ZXIx
LCBwYXJhbXRlcjIpIHsgcmV0dXJuIGNsKHBhcmFtdGVyMSwgcGFyYW10ZXIyKTsgfTsKKworcmVz
dWx0ID0gZih4PT57cmV0dXJuIHggKiAyNTt9LCAxMjEpOwordGVzdENhc2UocmVzdWx0LCAyNSox
MjEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3
aXRoIGJvZHkgYXMgYmxvY2s6IGYoeCA9PiB7cmV0dXJuIHggKiAyNTt9LCAxMjEpIik7CisKK3Jl
c3VsdCA9IGYyKCh4LCB5KT0+e3JldHVybiB4ICogeTt9LCAxNCwgMTIpOwordGVzdENhc2UocmVz
dWx0LCAxNCoxMiAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1
bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogZigoeCwgeSk9PntyZXR1cm4geCAqIHk7fSwgMTQs
IDEyMSkpIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0xLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHktMS5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mZDFkNDdhNDgwNzVlYzU5OGM2YmUxZTA3ZDc4YTM1MjYzNTNhOTEyCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFz
c29jaWF0aXZpdHktMS5qcwpAQCAtMCwwICsxLDEzIEBACisvLyBJbnNwaXJlZCBieSBtb3ppbGxh
IHRlc3RzCit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2Fn
ZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAi
LiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7
CisgIH0KK307CisKK3ZhciBhZjEsIGFmMiwgYWYzOworYWYxID0gYWYyID0gYWYzID0+IGFmMSA9
IGFmMiA9IGFmMzsKK3Rlc3RDYXNlKGFmMSwgYWYyLCAiRXJyb3I6IHdyb25nIGFzc29jaWF0aXZp
dHkgIzEuIik7CithZjEoMTMpOwordGVzdENhc2UoYWYyLCAxMywgIkVycm9yOiB3cm9uZyBhc3Nv
Y2lhdGl2aXR5ICMyLiIpOwordGVzdENhc2UoYWYxLCAxMywgIkVycm9yOiB3cm9uZyBhc3NvY2lh
dGl2aXR5ICMzLiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHktMi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTIuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMmVkZDgzOWM2YmM3ZWQ2YTQwZWZmYmJjODc1NGVkMWJmZDgwNmI0MwotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1hc3NvY2lhdGl2aXR5LTIuanMKQEAgLTAsMCArMSwxNCBAQAorLy8gSW5zcGlyZWQgYnkgbW96
aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1l
c3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdl
ICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsg
IiciOworICB9Cit9OworCit2YXIgcz0iIjsKK3MgKz0geCA9PiB4Lm5hbWU7CisKKy8vIEZpeCBt
ZS4gUG9zc2libGUgd2UgaGF2ZSBub3QgdXNlIHRoZSBKU0JvdW50RnVuY3Rpb24gd3JhcHBlciBm
b3IgdGhlIGxleGljYWwKKy8vIGJpbmRpbmcgb2YgdGhlIHRoaXMgYW5kIHVzZSBkaXJlY3QgaW5q
ZWN0aW9uIG9mIHRoZSAndGhpcycgdmFsdWUKKy8vIGludG8gYXJycm93IGZ1bmN0aW9uCisvLyB0
ZXN0Q2FzZShzLCAieCA9PiB4Lm5hbWUiICwgIkVycm9yOiB3cm9uZyB0b1N0cmluZyBjb252ZXJz
aW9uLiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9h
cnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHkuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42N2Vk
MTUzY2VlYmE1MjYyMjhlY2E4MjEzMDQ2OWE5MjQ0YjE0YzA1Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0
aXZpdHkuanMKQEAgLTAsMCArMSwxMCBAQAorLy8gSW5zcGlyZWQgYnkgbW96aWxsYSB0ZXN0cwor
dmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAg
aWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0
ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9
OworCit2YXIgYWYgPSBhID0+IGIgPT4gYTsKKwordGVzdENhc2UoYWYoJ0FCQycpKCdERUYnKSwg
J0FCQycsICJFcnJvcjogd3JvbmcgbmVzdGVkIGFycm93IGZ1bmN0aW9ucy4iKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ibG9j
ay0xLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LWJsb2NrLTEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGM1NzFiYjcyZmNmZWY1MzBjNTlkYjRiODYwY2E0ZjBh
OTZhNDExNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvYXJyb3dmdW5jdGlvbi1ibG9jay0xLmpzCkBAIC0wLDAgKzEsMTEgQEAKKy8vIEluc3Bp
cmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4
cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhy
b3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiAr
IGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGYgPSAoKSA9PiB7fTsKK3Rlc3RDYXNlKHR5
cGVvZiBmKCksICd1bmRlZmluZWQnLCAiRXJyb3I6IHdyb25nIGFycm93IGZ1bmN0aW9uIGJsb2Nr
LiIpOwordmFyIGcgPSAoKSA9PiAoe30pOwordGVzdENhc2UodHlwZW9mIGcoKSwgJ29iamVjdCcs
ICJFcnJvcjogd3JvbmcgYXJyb3cgZnVuY3Rpb24gYmxvY2suIik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2stMi5qcyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ibG9jay0y
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjQ3ZWUzNTJjZjAxZDEzNmUzMDI5MjI3MzZjNWM4MGVmNTNjMDNmNmUK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tYmxvY2stMi5qcwpAQCAtMCwwICsxLDEwIEBACisvLyBJbnNwaXJlZCBieSBt
b3ppbGxhIHRlc3RzCit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwg
bWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3Nh
Z2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwg
KyAiJyI7CisgIH0KK307CisKK3ZhciBhZiA9IGEgPT4geyBhICsgMTsgfTsKKwordGVzdENhc2Uo
dHlwZW9mIGFmKDApLCAndW5kZWZpbmVkJywgIkVycm9yOiB3cm9uZyBhcnJvdyBmdW5jdGlvbiBi
bG9jayAjMi4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi1ib3VuZC5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvYXJyb3dmdW5jdGlvbi1ib3VuZC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNzMyMGY0ZWM3ODhlYTE0
OTBhZmM3MmVjMTI1MWVlMGE2ZTFmN2I2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJvdW5kLmpzCkBAIC0wLDAgKzEs
MTYgQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBl
eHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRo
cm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIg
KyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBkID0geworICB4IDogImJhciIsCisgIHkg
OiBmdW5jdGlvbigpIHsgcmV0dXJuIHogPT4gdGhpcy54ICsgejsgfQorfTsKKwordmFyIGUgPSB7
IHggOiAiYmF6IiB9OworCit0ZXN0Q2FzZShkLnkoKS5iaW5kKGUsICJsZXkiKSgpLCAiYmFybGV5
IiwgIkVycm9yOiBmdW5jdGlvbiBiaW5kIHNob3VsZG4ndCBjaGFuZ2UgbGV4aWNhbCBiaW5kaW5n
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNhbGwuanMgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY2FsbC5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NGY5
YWE1MDRkNzBkNzBkNjhjZGFhNWE0ODJhNDY1MGE0NWZkZjdjCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNhbGwuanMK
QEAgLTAsMCArMSwxOCBAQAordmFyIHJlc3VsdDsKKworIHZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9u
IChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVk
KSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywg
YnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGQgPSB7CisgIHggOiAi
Zm9vIiwKKyAgeSA6IGZ1bmN0aW9uKCkgeyByZXR1cm4gKCkgPT4gdGhpcy54OyB9Cit9OworCit2
YXIgZSA9IHsgeCA6ICJiYXIiIH07CisKK3Rlc3RDYXNlKGQueSgpLmNhbGwoZSksICJmb28iLCAi
RXJyb3I6IGZ1bmN0aW9uIGNhbGwgc2hvdWxuJ3QgY2hhbmdlIHRoZSBsZXhpY2FsIGJpbmRpbmcg
b2YgdGhlIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKGQueSgpLmFwcGx5KGUpLCAiZm9v
IiwgIkVycm9yOiBmdW5jdGlvbiBhcHBseSBzaG91bG4ndCBjaGFuZ2UgdGhlIGxleGljYWwgYmlu
ZGluZyBvZiB0aGUgYXJyb3cgZnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1jb25zdHJ1Y3Rvci5qcyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1jb25zdHJ1Y3Rvci5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5iNThiMTZkN2I1ZTI5NzQ0YzMzZjc4NmI0YmYxNmJmNDRmZWIxZTI4Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJv
d2Z1bmN0aW9uLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMTggQEAKK3ZhciB0ZXN0Q2FzZSA9
IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09
IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0
ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIHNpbXBs
ZUFycm93RnVuY3Rpb24gPSAoKSA9PiB7fTsKKwordmFyIGVycm9yT25DcmVhdGUgPSBmYWxzZTsK
KwordHJ5IHsKKyAgdmFyIGZjID0gbmV3IHNpbXBsZUFycm93RnVuY3Rpb24oKTsKK30KK2NhdGNo
IChlKSB7CisgIGVycm9yT25DcmVhdGUgPSB0cnVlOworfQorCit0ZXN0Q2FzZShlcnJvck9uQ3Jl
YXRlLCB0cnVlLCAiRXJyb3I6IE5vIGV4Y2VwdGlvbiBkdXJpbmcgcnVuIG5ldyBBcnJvd0Z1bmN0
aW9uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tbGV4aWNhbC1hcmd1bWVudHMuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC1hcmd1bWVudHMuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMWViNjc2M2E2NTI2OTgxNjVjMGZkYjJkOGJjMjA3M2QyYmNkM2IxZgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1s
ZXhpY2FsLWFyZ3VtZW50cy5qcwpAQCAtMCwwICsxLDE0IEBACit2YXIgdGVzdENhc2UgPSBmdW5j
dGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBl
Y3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsg
IicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK2Z1bmN0aW9uIGFmQ3Jl
YXRvcigpIHsKKyAgICByZXR1cm4gYSA9PiBhcmd1bWVudHNbMF07Cit9CisKK3ZhciBhZiA9IGFm
Q3JlYXRvcigxMik7CisKKy8vRml4bWU6IGxleGljYWwgYmluZCBvZiB0aGUgYXJndW1lbnRzIGlz
IG5vdCBpbXBsZW1lbnRlZAorLy90ZXN0Q2FzZShhZig2KSwgMTIsICJFcnJvcjogYXJndW1lbnRz
IGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24iKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5j
dGlvbi1sZXhpY2FsLXRoaXMtMS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMtMS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNTUzMWY1NzU2
MmYyODY4ZWVhZDM5ZmNkNjZlZTUwNzhiYWNlZDFiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtdGhpcy0x
LmpzCkBAIC0wLDAgKzEsMTcgQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5j
dGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBl
Y3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsg
IicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK2Z1bmN0aW9uIERvZyhu
YW1lKSB7CisgIHRoaXMubmFtZSA9IG5hbWU7CisgIHRoaXMuZ2V0TmFtZSA9ICgpID0+IGV2YWwo
InRoaXMubmFtZSIpOworICB0aGlzLmdldE5hbWVIYXJkID0gKCkgPT4gZXZhbCgiKCgpID0+IHRo
aXMubmFtZSkoKSIpOworfQorCit2YXIgZCA9IG5ldyBEb2coIk1heCIpOwordGVzdENhc2UoZC5n
ZXROYW1lKCksIGQubmFtZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGlu
c2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzEiKTsKK3Rlc3RDYXNlKGQuZ2V0TmFtZUhhcmQo
KSwgZC5uYW1lLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiAjMiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtdGhpcy0yLmpzIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtdGhpcy0y
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjk4YjUzYjI5OGJiYjBiNTNlNDA3MWM5OTdkODEyMzUxMWFmNjM5ZDkK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTIuanMKQEAgLTAsMCArMSwzMyBAQAordmFyIHJlc3Vs
dDsKKworIHZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdl
KSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIu
IEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsK
KyAgfQorfTsKKwordmFyIGFmT2JqTGV4QmluZDIgPSBmdW5jdGlvbiAoKSB7CisgIHRoaXMuZnVu
YyA9ICgpID0+IHRoaXM7Cit9OworCit2YXIgYWZPYmpMZXhCaW5kMkluc3RhbmNlID0gbmV3IGFm
T2JqTGV4QmluZDIoKTsKKwordGVzdENhc2UoYWZPYmpMZXhCaW5kMkluc3RhbmNlLmZ1bmMoKSA9
PT0gYWZPYmpMZXhCaW5kMkluc3RhbmNlLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGlj
YWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMiIpOworCit2YXIgb2Jq
ID0geworICBtZXRob2Q6IGZ1bmN0aW9uICgpIHsKKyAgICByZXR1cm4gKCkgPT4gdGhpczsKKyAg
fQorfTsKKwordGVzdENhc2Uob2JqLm1ldGhvZCgpKCkgPT09IG9iaiwgdHJ1ZSwgIkVycm9yOiB0
aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24g
IzMiKTsKKwordmFyIGZha2UgPSB7c3RlYWw6IG9iai5tZXRob2QoKX07Cit0ZXN0Q2FzZShmYWtl
LnN0ZWFsKCkgPT09IG9iaiwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmlu
ZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzQiKTsKKworCit2YXIgcmVhbCA9IHti
b3Jyb3c6IG9iai5tZXRob2R9OwordGVzdENhc2UocmVhbC5ib3Jyb3coKSgpID09PSByZWFsLCB0
cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbiAjNSIpOwordGVzdENhc2UocmVhbC5ib3Jyb3coKSgpID09PSByZWFsLCB0
cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbiAjNiIpOwordGVzdENhc2UocmVhbC5ib3Jyb3coKSgpID09PSByZWFsLCB0
cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbiAjNyIpOwordGVzdENhc2UocmVhbC5ib3Jyb3coKSgpID09PSByZWFsLCB0
cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbiAjOCIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rl
c3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLW90aGVycy5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1vdGhlcnMuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmViYTEx
ZjMwMjJlMzRhODAwMGE1NzAwNzZkYjFhNTVhNGEzMmIyMQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1vdGhlcnMuanMK
QEAgLTAsMCArMSwxMyBAQAordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0
ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBt
ZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0
dWFsICsgIiciOworICB9Cit9OworCit2YXIgc2ltcGxlQXJyb3dGdW5jdGlvbiA9ICgpID0+IHt9
OworCit0ZXN0Q2FzZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yoc2ltcGxlQXJyb3dGdW5jdGlvbiks
IEZ1bmN0aW9uLnByb3RvdHlwZSwgIkVycm9yOiBOb3QgY29ycmVjdCBnZXRQcm90b3R5cGVPZiB2
YWx1ZSBmb3IgYXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2Uoc2ltcGxlQXJyb3dGdW5jdGlv
biBpbnN0YW5jZW9mIEZ1bmN0aW9uLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBm
b3IgaW5zdGFuY2VvZiBtZXRob2QgZm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHNp
bXBsZUFycm93RnVuY3Rpb24uY29uc3RydWN0b3IgPT0gRnVuY3Rpb24sIHRydWUsICJFcnJvcjog
Tm90IGNvcnJlY3QgcmVzdWx0IGZvciBjb25zdHJ1Y3RvciBtZXRob2Qgb2YgYXJyb3cgZnVuY3Rp
b24iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJy
b3dmdW5jdGlvbi1ydW4tMTAtMS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAtMS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wN2ExZjBhNDljYjE2ODYz
YzU5MjEzNjFmMGFkYjFlMTRlYzliNjVhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMC0xLmpzCkBAIC0wLDAg
KzEsMjQgQEAKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNz
YWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSAr
ICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICIn
IjsKKyAgfQorfTsKKworZnVuY3Rpb24gcnVuKGNvdW50KSB7CisgIHZhciByZXN1bHQgPSB0cnVl
OworICBmb3IodmFyIGk9MDsgaTxjb3VudDsgaSsrKSB7CisgICAgdmFyIE9iaiA9IGZ1bmN0aW9u
IChuYW1lKSB7CisgICAgICB0aGlzLm5hbWUgPSBuYW1lOworICAgICAgdGhpcy5nZXROYW1lID0g
KCkgPT4gdGhpcy5uYW1lOworICAgIH07CisKKyAgICB2YXIgb2JqID0gbmV3IE9iaigiSXRlbSIg
KyBpKTsKKyAgICBpZiAob2JqLm5hbWUgIT09IG9iai5nZXROYW1lKCkpIHsKKyAgICAgIHJlc3Vs
dCA9IGZhbHNlOworICAgIH0KKyAgfQorICByZXR1cm4gcmVzdWx0OworfQorCit0ZXN0Q2FzZShy
dW4oMSksIHRydWUsICJFcnJvcjogRXJyb3I6IGR1cmluZyBleGVjdXRpb24gb2YgYXJyb3cgZnVu
Y3Rpb24gb25lIHRpbWUiKTsKK3Rlc3RDYXNlKHJ1bigxMCksIHRydWUsICJFcnJvcjogRXJyb3I6
IGR1cmluZyBleGVjdXRpb24gb2YgYXJyb3cgZnVuY3Rpb24gMTAgdGltZXMiKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4t
MTAtMi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1ydW4tMTAtMi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZGRjZGIzYzcwYTFiMjdjM2RiYjUyMzgwOTU1ZjUz
NTNkNzY3NDI1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMC0yLmpzCkBAIC0wLDAgKzEsMjUgQEAKK3ZhciB0
ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChh
Y3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICci
ICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwor
ZnVuY3Rpb24gcnVuKGNvdW50KSB7CisgIHZhciByZXN1bHQgPSB0cnVlOworICBmb3IodmFyIGk9
MDsgaTxjb3VudDsgaSsrKSB7CisgICAgdmFyIE9iaiA9IGZ1bmN0aW9uIChuYW1lKSB7CisgICAg
ICB0aGlzLm5hbWUgPSBuYW1lOworICAgICAgdGhpcy5nZXROYW1lID0gKCkgPT4gZXZhbCgidGhp
cy5uYW1lIik7OworICAgIH07CisKKworICAgIHZhciBvYmogPSBuZXcgT2JqKCJJdGVtIiArIGkp
OworICAgIGlmIChvYmoubmFtZSAhPT0gb2JqLmdldE5hbWUoKSkgeworICAgICAgcmVzdWx0ID0g
ZmFsc2U7CisgICAgfQorICB9CisgIHJldHVybiByZXN1bHQ7Cit9CisKK3Rlc3RDYXNlKHJ1bigx
KSwgdHJ1ZSwgIkVycm9yOiBkdXJpbmcgZXhlY3V0aW9uIG9mIGFycm93IGZ1bmN0aW9uIG9uZSB0
aW1lIik7Cit0ZXN0Q2FzZShydW4oMTApLCB0cnVlLCAiRXJyb3I6IGR1cmluZyBleGVjdXRpb24g
b2YgYXJyb3cgZnVuY3Rpb24gMTAgdGltZXMiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAwMDAtMS5qcyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAwMDAtMS5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4wZTVmNmJjODZiZDMxNDUxYjAxY2EyN2QwYjk3MjBiNTdlOGQ2MDUxCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJv
d2Z1bmN0aW9uLXJ1bi0xMDAwMC0xLmpzCkBAIC0wLDAgKzEsMjMgQEAKK3ZhciB0ZXN0Q2FzZSA9
IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09
IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0
ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKworZnVuY3Rpb24g
cnVuKGNvdW50KSB7CisgIHZhciByZXN1bHQgPSB0cnVlOworICBmb3IodmFyIGk9MDsgaTxjb3Vu
dDsgaSsrKSB7CisgICAgdmFyIE9iaiA9IGZ1bmN0aW9uIChuYW1lKSB7CisgICAgICB0aGlzLm5h
bWUgPSBuYW1lOworICAgICAgdGhpcy5nZXROYW1lID0gKCkgPT4gdGhpcy5uYW1lOworICAgIH07
CisKKyAgICB2YXIgb2JqID0gbmV3IE9iaigiSXRlbSIgKyBpKTsKKyAgICBpZiAob2JqLm5hbWUg
IT09IG9iai5nZXROYW1lKCkpIHsKKyAgICAgIHJlc3VsdCA9IGZhbHNlOworICAgIH0KKyAgfQor
ICByZXR1cm4gcmVzdWx0OworfQorCit0ZXN0Q2FzZShydW4oMTAwMDApLCB0cnVlLCAiRXJyb3I6
IEVycm9yOiBkdXJpbmcgZXhlY3V0aW9uIG9mIGFycm93IGZ1bmN0aW9uIDEwMDAwIHRpbWVzIik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tcnVuLTEwMDAwLTIuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L2Fycm93ZnVuY3Rpb24tcnVuLTEwMDAwLTIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTUzMGYyYzFkNWE3ZjU1
Y2U0NmI4YmU2OTkwOGI0YmMyMWUwNTI3YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAwMDAtMi5qcwpAQCAt
MCwwICsxLDIzIEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwg
bWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3Nh
Z2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwg
KyAiJyI7CisgIH0KK307CisKK2Z1bmN0aW9uIHJ1bihjb3VudCkgeworICB2YXIgcmVzdWx0ID0g
dHJ1ZTsKKyAgZm9yKHZhciBpPTA7IGk8Y291bnQ7IGkrKykgeworICAgIHZhciBPYmogPSBmdW5j
dGlvbiAobmFtZSkgeworICAgICAgdGhpcy5uYW1lID0gbmFtZTsKKyAgICAgIHRoaXMuZ2V0TmFt
ZSA9ICgpID0+IGV2YWwoInRoaXMubmFtZSIpOzsKKyAgICB9OworCisgICAgdmFyIG9iaiA9IG5l
dyBPYmooIkl0ZW0iICsgaSk7CisgICAgaWYgKG9iai5uYW1lICE9PSBvYmouZ2V0TmFtZSgpKSB7
CisgICAgICByZXN1bHQgPSBmYWxzZTsKKyAgICB9CisgIH0KKyAgcmV0dXJuIHJlc3VsdDsKK30K
KwordGVzdENhc2UocnVuKDEwMDAwKSwgdHJ1ZSwgIkVycm9yOiBFcnJvcjogZHVyaW5nIGV4ZWN1
dGlvbiBvZiBhcnJvdyBmdW5jdGlvbiAxMDAwMCB0aW1lcyIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXN5bnRheC5qcyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1zeW50YXguanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOGZlMTFkNWJlZTBkYmQ1NTY0OGFjNDNkZmZjZTRlNGUyZTkwZTI4OAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1zeW50YXguanMKQEAgLTAsMCArMSwxMTYgQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIg
dGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAo
YWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAn
IiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisK
K3ZhciBhZjAgPSB2ID0+IHYgKyAxOwordGVzdENhc2UoYWYwKDEwKSwgMTEgLCJFcnJvcjogTm90
IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogdiA9PiB2ICsgMSIpOwor
Cit2YXIgYWYxID0gKHYpID0+IHYgKiAyOwordGVzdENhc2UoYWYxKDEwKSwgMjAgLCJFcnJvcjog
Tm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKHYpID0+IHYgKyAx
Iik7CisKK3ZhciBhZjIgPSAoKSA9PiAxMDAwOwordGVzdENhc2UoYWYyKDEyMTIpLCAxMDAwICwi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICgpID0+
IDEwMDAiKTsKKwordmFyIGEgPSAxNTE7Cit2YXIgYWYyXzEgPSAoKSA9PiBhOwordGVzdENhc2Uo
YWYyXzEoMTIxKSwgYSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uOiAoKSA9PiB2YXJpYWJsZSIpOworCit2YXIgYWYzID0gKHYsIHgpID0+IHYgKyB4
OwordGVzdENhc2UoYWYzKDExLDEyKSwgMjMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKHgsIHkpID0+IHggKyB5Iik7CisKK3ZhciBhZndyYXBw
ZXIgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVyKSB7IHJldHVybiBjbChwYXJhbXRlcik7IH07CisK
K3Jlc3VsdCA9IGFmd3JhcHBlcih4ID0+IDEyMzQpOwordGVzdENhc2UocmVzdWx0LCAxMjM0ICwi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFy
YW10ZXI6IGYoeCA9PiBjKSIpOworCityZXN1bHQgPSBhZndyYXBwZXIoeCA9PiAxMjM0LCAyMzQ1
KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIzNCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24g
b2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYywgeSkiKTsKKworcmVz
dWx0ID0gYWZ3cmFwcGVyKHggPT4gMTIxICsgMjMyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzUzICwi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFy
YW10ZXI6IGYoeCA9PiBjMSArIGMyKSIpOworCityZXN1bHQgPSBhZndyYXBwZXIoeCA9PiAxMjMg
KyAzMjEsIDk5OTkpOwordGVzdENhc2UocmVzdWx0LCA0NDQgLCJFcnJvcjogTm90IGNvcnJlY3Qg
ZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMxICsg
YzIsIHkpIik7CisKK3Jlc3VsdCA9IGFmd3JhcHBlcih4ID0+IHggKyAxMiwgMjEpOwordGVzdENh
c2UocmVzdWx0LCAzMyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93
IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4geCArIGMxLCB5KSIpOworCityZXN1bHQgPSBh
ZndyYXBwZXIoKHgpID0+IHggKyAyMSwgMzIpOwordGVzdENhc2UocmVzdWx0LCA1MywgIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVy
OiBmKCh4KSA9PiBjMSArIGMyLCB5KSIpOworCityZXN1bHQgPSBhZndyYXBwZXIoKCkgPT4gMTAw
KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYykiKTsKKwordmFyIGV4
dF92YWx1ZSA9IDEyMTsKK3Jlc3VsdCA9IGFmd3JhcHBlcigoKSA9PiBleHRfdmFsdWUpOwordGVz
dENhc2UocmVzdWx0LCAxMjEsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiB2KSIpOworCityZXN1bHQgPSBhZndy
YXBwZXIoKCkgPT4gZXh0X3ZhbHVlICogMTApOwordGVzdENhc2UocmVzdWx0LCAxMjEwICwiRXJy
b3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10
ZXI6IGYoKCkgPT4gdip4KSIpOworCityZXN1bHQgPSBhZndyYXBwZXIoKHgpID0+IGV4dF92YWx1
ZSAqIHgsIDMwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzAqZXh0X3ZhbHVlICwiRXJyb3I6IE5vdCBj
b3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKHgp
ID0+IHYqeCwgeSkiKTsKKworcmVzdWx0ID0gYWZ3cmFwcGVyKCgpID0+IDEwMCwgMTEpOwordGVz
dENhc2UocmVzdWx0LCAxMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjMSwgeSkiKTsKKworIHJlc3VsdCA9
IGFmd3JhcHBlcigoKSA9PiAxMDAgKyAxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDExMCAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVy
OiBmKCgpID0+IGMxICsgYzIpIik7CisKK3Jlc3VsdCA9IGFmd3JhcHBlcigoKSA9PiAxMDAgKyAx
MSwgMTIpOwordGVzdENhc2UocmVzdWx0LCAxMTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjMSArIGMyLCB5
KSIpOworCit2YXIgYXJyb3dGdW5jdGlvbjQgPSB2ID0+IHYgKyAxLCB4eXoxID0gMTAxMDE7City
ZXN1bHQgPSBhcnJvd0Z1bmN0aW9uNCgxMDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAxMiAsIkVy
cm9yOiBOb3QgY29ycmVjdCBwYXJzaW5nIG9mIHRoIGFycm93IGZ1bmN0aW9uIGluc2lkZSBvZiB0
aGUgbGlzdCBvZiB2YXJzOiB2YXIgYWYgPSB2PT4gdiArIDE7IHp4Yz1jOyIpOwordGVzdENhc2Uo
eHl6MSwgMTAxMDEgLCJFcnJvcjogTm90IGNvcnJlY3QgcGFyc2luZyBvZiB0aCBhcnJvdyBmdW5j
dGlvbiBpbnNpZGUgb2YgdGhlIGxpc3Qgb2YgdmFyczogdmFyIGFmID0gdj0+IHYgKyAxOyB6eGM9
YzsiKTsKKwordmFyIGFmd3JhcHBlcjIgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVyMSwgcGFyYW10
ZXIyKSB7IHJldHVybiBjbChwYXJhbXRlcjEsIHBhcmFtdGVyMik7IH07CityZXN1bHQgPSBhZndy
YXBwZXIyKCh4LCB5KSA9PiB4ICsgeSwgMTIgLDQzKTsKK3Rlc3RDYXNlKHJlc3VsdCwgNTUgLCJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJh
bWV0ZXI6IGYoKHgsIHkpID0+IHggKyB5LCBjMSwgYzIpIik7CisKK3ZhciBhZkFycjAgPSBbdiA9
PiB2ICogMTBdOworcmVzdWx0ID0gYWZBcnIwWzBdKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAw
ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMg
aXRlbSBpbiBhcnJheTogW3Y9PnYqMTBdIik7CisKK3ZhciBhZkFycjEgPSBbdiA9PiB2ICsgMSwg
diA9PiB2ICsgMl07CityZXN1bHQgPSBhZkFycjFbMF0oMTApOwordGVzdENhc2UocmVzdWx0LCAx
MSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFz
IGl0ZW0gaW4gYXJyYXk6IFt2ID0+IHYgKyAxLCAgdiA9PiB2ICsgMl0iKTsKK3Jlc3VsdCA9IGFm
QXJyMVsxXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogW3YgPT4gdiAr
IDEsICB2ID0+IHYgKyAyXSIpOworCit2YXIgYWZBcnIyID0gWyh2KSA9PiB2ICsgMSwgKHYpID0+
IHYgKyAyXTsKK3Jlc3VsdCA9IGFmQXJyMlswXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyICwi
RXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRl
bSBpbiBhcnJheTogWyh2KSA9PiB2ICsgMSwgICh2KSA9PiB2ICsgMl0iKTsKK3Jlc3VsdCA9IGFm
QXJyMlsxXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogWyh2KSA9PiB2
ICsgMSwgICh2KSA9PiB2ICsgMl0iKTsKKwordmFyIGFmQXJyMyA9IFsoKSA9PiAxMDEsICgpID0+
IDEyMzIzXTsKK3Jlc3VsdCA9IGFmQXJyM1swXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMSwg
IkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0
ZW0gaW4gYXJyYXk6IFsoKSA9PiBjMSwgICgpID0+IGMyXSIpOworcmVzdWx0ID0gYWZBcnIzWzFd
KDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIzMjMsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKCkgPT4gYzEsICAo
KSA9PiBjMl0iKTsKKwordmFyIGFmT2JqID0ge2Z1bmMgOiB5ID0+IHkgKyAxMn07CityZXN1bHQg
PSBhZk9iai5mdW5jKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjMgLCAiRXJyb3I6IE5vdCBjb3Jy
ZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcHJvcGVydHk6IHtmdW5jIDog
eSA9PiB5ICsgMTIgfSIpOworCit2YXIgYWZCbG9jazAgPSAoKSA9PiB7IHJldHVybiAxMDAwOyB9
OworcmVzdWx0ID0gYWZCbG9jazAoMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDAwICwiRXJyb3I6
IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFz
IGJsb2NrOiAoKSA9PiB7IHJldHVybiAxMDAwOyB9Iik7CisKK3ZhciBhZkJsb2NrMSA9IHYgPT4g
eyB2YXIgaW50dmFsID0gMTAwOyByZXR1cm4gdiAqIGludHZhbDsgfTsKK3Jlc3VsdCA9IGFmQmxv
Y2sxKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVj
dXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogeCA9PiB7IHZh
ciB2PTEwMDA7IHJldHVybiB2Kng7IH0iKTsKKwordmFyIGFmQmxvY2syID0gKHYpID0+IHsgdmFy
IGludCA9IDIwMDsgcmV0dXJuIHYgKiBpbnQ7IH07CityZXN1bHQgPSBhZkJsb2NrMigxMSk7Cit0
ZXN0Q2FzZShyZXN1bHQsIDIyMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICh4KSA9PiB7IHZhciB2PTEwMDA7
IHJldHVybiB2Kng7IH0iKTsKKwordmFyIGFmQmxvY2szID0gKHYsIHgpID0+IHsgdmFyIHJlc3Vs
dCA9IHggKiB2OyByZXR1cm4gcmVzdWx0OyB9OworcmVzdWx0ID0gYWZCbG9jazMoMTEsIDEyMjIy
KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTM0NDQyICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiAodiwgeCkgPT4geyB2
YXIgcmVzdWx0ID0geCAqIHY7IHJldHVybiByZXN1bHQ7IH0iKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi10ZHouanMgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tdGR6LmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmU5ZDM1Y2RlYTRiYWY2Njc0MzFhZjhhYmU4ZGFkZjIyZDA0YjkwZTEKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tdGR6LmpzCkBAIC0wLDAgKzEsMjQgQEAKK3ZhciBBID0gY2xhc3MgQSB7IH07Cit2YXIgQiA9
IGNsYXNzIEIgZXh0ZW5kcyBBIHsKKyAgY29uc3RydWN0b3IoYWNjZXNzVGhpc0JlZm9yZVN1cGVy
KSB7CisgICAgaWYgKGFjY2Vzc1RoaXNCZWZvcmVTdXBlcikgeworICAgICAgdmFyIGYgPSAoKSA9
PiB0aGlzOworICAgICAgc3VwZXIoKTsKKyAgICB9IGVsc2UgeworICAgICAgc3VwZXIoKTsKKyAg
ICB9CisgIH0KK307CisKK3ZhciBleGNlcHRpb24gPSBudWxsOwordHJ5IHsKKyAgICAgbmV3IEIo
dHJ1ZSk7Cit9IGNhdGNoIChlKSB7CisgICAgZXhjZXB0aW9uID0gZTsKKyAgICBpZiAoIShlIGlu
c3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpKQorICAgICAgICB0aHJvdyAiRXhjZXB0aW9uIHRocm93
biB3YXMgbm90IGEgcmVmZXJlbmNlIGVycm9yIjsKK30KK2lmICghZXhjZXB0aW9uKQorICAgIHRo
cm93ICJFeGNlcHRpb24gbm90IHRocm93biBmb3IgYW4gdW5pdGlhbGl6ZWQgdGhpcyBhdCBpdGVy
YXRpb24iOworCit2YXIgZSA9IG5ldyBCKGZhbHNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi10eXBlb2YuanMgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tdHlwZW9mLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmVmMmE3ZjU0NDc2YWJhOWMyODkyM2MzNWYxZGIzYzQzMjdhYzk0NjkKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tdHlwZW9mLmpzCkBAIC0wLDAgKzEsMjEgQEAKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChh
Y3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7
CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0
IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGFmMSA9ICgpID0+IHt9Owor
dmFyIGFmMiA9IChhKSA9PiB7YSArIDF9OworCit0ZXN0Q2FzZSh0eXBlb2YgYWYxLCAiZnVuY3Rp
b24iLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHR5cGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMxIik7
Cit0ZXN0Q2FzZSh0eXBlb2YgYWYxLnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJF
cnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBwcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24g
IzEiKTsKKwordGVzdENhc2UodHlwZW9mIGFmMiwgImZ1bmN0aW9uIiwgIkVycm9yOiBOb3QgY29y
cmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMiIpOwordGVzdENhc2UodHlwZW9mIGFm
Mi5wcm90b3R5cGUgPT09ICd1bmRlZmluZWQnLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJl
c3VsdCBmb3IgcHJvdG90eXBlIG9mIGFycm93IGZ1bmN0aW9uICMyIik7CisKK3Rlc3RDYXNlKHR5
cGVvZiAoKCk9Pnt9KSwgImZ1bmN0aW9uIiwgIkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiAjMyIpOwordGVzdENhc2UodHlwZW9mICgoKT0+e30pLnByb3RvdHlw
ZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBw
cm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24gIzMiKTsKKworCit0ZXN0Q2FzZSh0eXBlb2YgKChi
KSA9PiB7YiArIDF9KSwgImZ1bmN0aW9uIiwgIkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiAjNCIpOwordGVzdENhc2UodHlwZW9mICgoYikgPT4ge2IgKyAxfSku
cHJvdG90eXBlID09PSAndW5kZWZpbmVkJywgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1
bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiAjNCIpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaCBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZp
bmVzLmgKaW5kZXggNDA0NDFiNTY0NGQ5MDlkOWUzMzY3MTExYzA0ZjIzZWM5Y2UxZDE5ZC4uMDUz
Mjg5NjkyOTZkMDMwOWIyNThlNGUwMjM2ZjAyY2I4NGZjZjE2YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi93dGYvRmVhdHVyZURlZmluZXMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVm
aW5lcy5oCkBAIC0zNCwxOSArMzQsMTkgQEAKICAqICAtICIxIiBlbmFibGVzIHRoZSBmZWF0dXJl
IGJ5IGRlZmF1bHQuIFRoZSBmZWF0dXJlIGNhbiBzdGlsbCBiZSBkaXNhYmxlZCBmb3IgYSBzcGVj
aWZpYyBwb3J0IG9yIGVudmlyb25tZW50LgogICoKICAqIFRoZSBmZWF0dXJlIGRlZmF1bHRzIGlu
IHRoaXMgZmlsZSBhcmUgb25seSB0YWtlbiBpbnRvIGFjY291bnQgaWYgdGhlIChwb3J0IHNwZWNp
ZmljKSBidWlsZCBzeXN0ZW0KLSAqIGhhcyBub3QgZW5hYmxlZCBvciBkaXNhYmxlZCBhIHBhcnRp
Y3VsYXIgZmVhdHVyZS4gCisgKiBoYXMgbm90IGVuYWJsZWQgb3IgZGlzYWJsZWQgYSBwYXJ0aWN1
bGFyIGZlYXR1cmUuCiAgKgogICogVXNlIHRoaXMgZmlsZSB0byBkZWZpbmUgRU5BQkxFKCkgbWFj
cm9zIG9ubHkuIERvIG5vdCB1c2UgdGhpcyBmaWxlIHRvIGRlZmluZSBVU0UoKSBvciBtYWNyb3Mg
IQogICoKICAqIE9ubHkgZGVmaW5lIGEgbWFjcm8gaWYgaXQgd2FzIG5vdCBkZWZpbmVkIGJlZm9y
ZSAtIGFsd2F5cyBjaGVjayBmb3IgIWRlZmluZWQgZmlyc3QuCi0gKiAKKyAqCiAgKiBLZWVwIHRo
ZSBmaWxlIHNvcnRlZCBieSB0aGUgbmFtZSBvZiB0aGUgZGVmaW5lcy4gQXMgYW4gZXhjZXB0aW9u
IHlvdSBjYW4gY2hhbmdlIHRoZSBvcmRlcgogICogdG8gYWxsb3cgaW50ZXJkZXBlbmRlbmNpZXMg
YmV0d2VlbiB0aGUgZGVmYXVsdCB2YWx1ZXMuCi0gKiAKKyAqCiAgKiBCZWxvdyBhcmUgYSBmZXcg
cG90ZW50aWFsIGNvbW1hbmRzIHRvIHRha2UgYWR2YW50YWdlIG9mIHRoaXMgZmlsZSBydW5uaW5n
IGZyb20gdGhlIFNvdXJjZS9XVEYgZGlyZWN0b3J5CiAgKgogICogR2V0IHRoZSBsaXN0IG9mIGZl
YXR1cmUgZGVmaW5lczogZ3JlcCAtbyAiRU5BQkxFX1woXHdcK1wpIiB3dGYvRmVhdHVyZURlZmlu
ZXMuaCB8IHNvcnQgfCB1bmlxCi0gKiBHZXQgdGhlIGxpc3Qgb2YgZmVhdHVyZXMgZW5hYmxlZCBi
eSBkZWZhdWx0IGZvciBhIFBMQVRGT1JNKFhYWCk6IGdjYyAtRSAtZE0gLUkuIC1EV1RGX1BMQVRG
T1JNX1hYWCAid3RmL1BsYXRmb3JtLmgiIHwgZ3JlcCAiRU5BQkxFX1x3XCsgMSIgfCBjdXQgLWQn
ICcgLWYyIHwgc29ydCAKKyAqIEdldCB0aGUgbGlzdCBvZiBmZWF0dXJlcyBlbmFibGVkIGJ5IGRl
ZmF1bHQgZm9yIGEgUExBVEZPUk0oWFhYKTogZ2NjIC1FIC1kTSAtSS4gLURXVEZfUExBVEZPUk1f
WFhYICJ3dGYvUGxhdGZvcm0uaCIgfCBncmVwICJFTkFCTEVfXHdcKyAxIiB8IGN1dCAtZCcgJyAt
ZjIgfCBzb3J0CiAgKi8KIAogLyogRklYTUU6IE1vdmUgb3V0IHRoZSBQTEFURk9STSBzcGVjaWZp
YyBydWxlcyBpbnRvIHBsYXRmb3JtIHNwZWNpZmljIGZpbGVzLiAqLwpAQCAtMzQ1LDYgKzM0NSwx
MCBAQCB0aGUgcHVibGljIGlPUyBTREsuIFdlIHdpbGwgYWxzbyBuZWVkIHRvIHVwZGF0ZSB0aGUg
RmVhdHVyZURlZmluZXMueGNjb25maWcgZmlsZQogI2RlZmluZSBFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcgMQogI2VuZGlmCiAKKyNpZiAhZGVmaW5lZChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorI2RlZmluZSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCAxCisjZW5kaWYKKwogI2lm
ICFkZWZpbmVkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKQogI2RlZmluZSBFTkFCTEVfRVM2X0NM
QVNTX1NZTlRBWCAxCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggZmM5MGY2MTE1NjIzMWE0MWNhOTEz
N2YxN2M3OTU1ZThkMzczYjBlYS4uMGM4ODQwZjZhYjUxODVmODM1NGI3MDYwM2UwMjVmMjVhMmE3
OWY0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcKQEAgLTQ0LDYgKzQ0LDcgQEAgRU5BQkxFX0NBQ0hFX1BBUlRJVElP
TklORyA9IEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkc7CiBFTkFCTEVfQ0FOVkFTX1BBVEggPSBF
TkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOworRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFC
TEVfRVM2X0NMQVNTX1NZTlRBWCA9IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYOwogRU5BQkxFX0VT
Nl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCA9IEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9T
WU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
Tkc7CkBAIC0yMTUsNCArMjE2LDQgQEAgRU5BQkxFX0pJVCA9IEVOQUJMRV9KSVQ7CiAKIEVOQUJM
RV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9B
UklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BB
VEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZ
TlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVO
QUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05f
QlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQ
VEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklF
TlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJ
T05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykg
JChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFC
TEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChF
TkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5B
QkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFC
TEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikg
JChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQo
RU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQ
UkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9U
SU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0Vf
Q09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVf
Q09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5B
QkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xF
R0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZF
VENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChF
TkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9N
RVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxF
KSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hX
Q09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVH
SU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BS
T1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVP
VEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FV
VE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElP
Tl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JP
TExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkp
ICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZH
X09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVO
QUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxF
X1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1Nf
VFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAk
KEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklF
V19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChF
TkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVf
U0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVO
QUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFC
TEVfSklUKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJ
REVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RS
QU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxF
UkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxF
X0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJM
RV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORykgJChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9FUzZf
Q0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVgpICQoRU5B
QkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FO
SU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVO
QUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChF
TkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFC
TEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NT
UzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9W
SVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hC
T0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RS
QU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9P
UklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxU
RVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JF
RU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQo
RU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RU
TElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dP
UktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lO
UFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVT
U19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
SU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
TEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FV
RElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElB
X1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVO
VCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVf
TkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZ
KSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJM
RV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZF
TlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJM
RV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUp
ICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVF
UlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQo
RU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9T
VUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVS
VEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExB
VEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dP
UkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklE
RU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1Nf
TUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9S
RVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVO
QUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJ
TUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkgJChF
TkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5U
QVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggYWNkYzk5OGMwNmE5NDA4OGRjNDIwYmZkMjE3Y2U2N2QxY2E5NDVl
Ni4uMTcxZTYzNzMyMjU0NGRmZmFhN2YwNThjNTRkNWQxN2I4ZmFlMDc0ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTYwMSw5
ICsxNjAxLDkgQEAKIAkJNDQzMTFDRDkxMkU0RTI1NzAwMEE4RDE5IC8qIERPTURvY3VtZW50RnJh
Z21lbnRQcml2YXRlLmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NDMxMUNENDEyRTRFMjJEMDAwQThEMTkgLyogRE9NRG9jdW1l
bnRGcmFnbWVudFByaXZhdGUuaCAqLzsgfTsKIAkJNDQzMTFGODIxMkU0RTY2QzAwMEE4RDE5IC8q
IERPTURvY3VtZW50RnJhZ21lbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODVFNzExNDUwQUM1RDUzNDAwNTMyNzBGIC8qIERPTURvY3Vt
ZW50RnJhZ21lbnRJbnRlcm5hbC5oICovOyB9OwogCQk0NDM4MTdGRjFBOTFCMkY4MDA2RTA0RjIg
LyogQ29yZU1lZGlhU29mdExpbmsuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDQzODE3RkQxQTkxQjJGODAwNkUwNEYyIC8qIENvcmVNZWRpYVNvZnRM
aW5rLmNwcCAqLzsgfTsKLQkJNDQzOTE3RkYxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1Nv
ZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDQzOTE3RkQxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tICovOyB9Owog
CQk0NDM4MTgwMDFBOTFCMkY4MDA2RTA0RjIgLyogQ29yZU1lZGlhU29mdExpbmsuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0MzgxN0ZFMUE5MUIyRjgw
MDZFMDRGMiAvKiBDb3JlTWVkaWFTb2Z0TGluay5oICovOyB9OwotCQk0NDM5MTgwMDFBOTFCMkY4
MDA2RTA0RjIgLyogUXVpY2tMb29rU29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0MzkxN0ZFMUE5MUIyRjgwMDZFMDRGMiAvKiBRdWlja0xv
b2tTb2Z0TGluay5oICovOyB9OworCQk0NDM5MTdGRjFBOTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1
aWNrTG9va1NvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDQzOTE3RkQxQTkxQjJGODAwNkUwNEYyIC8qIGlvcy9RdWlja0xvb2tTb2Z0TGlu
ay5tbSAqLzsgfTsKKwkJNDQzOTE4MDAxQTkxQjJGODAwNkUwNEYyIC8qIGlvcy9RdWlja0xvb2tT
b2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDQzOTE3RkUxQTkxQjJGODAwNkUwNEYyIC8qIGlvcy9RdWlja0xvb2tTb2Z0TGluay5oICovOyB9
OwogCQk0NDNGMDQyNzBFNzVDOEZCMDA3RTU0MDcgLyogTmV0d29ya1N0YXRlTm90aWZpZXJJT1Mu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDNGMDQy
NjBFNzVDOEZCMDA3RTU0MDcgLyogTmV0d29ya1N0YXRlTm90aWZpZXJJT1MubW0gKi87IH07CiAJ
CTQ0NDlBNDA1MUE5NjRCMDAwMEI2NEFENSAvKiBDb3JlTWVkaWFTUEkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0NDlBNDA0MUE5NjRCMDAwMEI2NEFE
NSAvKiBDb3JlTWVkaWFTUEkuaCAqLzsgfTsKIAkJNDQ0RDRFMjMwRjcwOEIyRTAwMzE1OEUwIC8q
IFdlYkNvcmVVUkxSZXNwb25zZUlPUy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQ0NEQ0RTIxMEY3MDhCMkUwMDMxNThFMCAvKiBXZWJDb3JlVVJMUmVz
cG9uc2VJT1MubW0gKi87IH07CkBAIC04NzcyLDkgKzg3NzIsOSBAQAogCQk0NDMxMUNENDEyRTRF
MjJEMDAwQThEMTkgLyogRE9NRG9jdW1lbnRGcmFnbWVudFByaXZhdGUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NRG9jdW1lbnRGcmFnbWVudFByaXZhdGUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQzMTFDRDUxMkU0RTIyRDAwMEE4RDE5IC8qIERPTURv
Y3VtZW50UHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01Eb2N1
bWVudFByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQzODE3RkQxQTkx
QjJGODAwNkUwNEYyIC8qIENvcmVNZWRpYVNvZnRMaW5rLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IENvcmVNZWRpYVNvZnRMaW5rLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJNDQzOTE3RkQxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRM
aW5rLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gaW9zL1F1aWNr
TG9va1NvZnRMaW5rLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDM4MTdGRTFB
OTFCMkY4MDA2RTA0RjIgLyogQ29yZU1lZGlhU29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ29yZU1lZGlhU29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJNDQzOTE3RkUxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGlvcy9RdWlja0xvb2tTb2Z0TGluay5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NDM5MTdGRDFBOTFCMkY4MDA2RTA0RjIg
LyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0NDM5MTdGRTFBOTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRM
aW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGlvcy9RdWlja0xvb2tTb2Z0
TGluay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDNGMDQyNjBFNzVDOEZCMDA3
RTU0MDcgLyogTmV0d29ya1N0YXRlTm90aWZpZXJJT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBOZXR3b3JrU3RhdGVOb3RpZmllcklPUy5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQ0OUE0MDQxQTk2NEIwMDAwQjY0QUQ1IC8qIENvcmVNZWRp
YVNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb3JlTWVkaWFTUEkuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQ0RDRFMjEwRjcwOEIyRTAwMzE1OEUwIC8q
IFdlYkNvcmVVUkxSZXNwb25zZUlPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IFdlYkNvcmVVUkxSZXNwb25zZUlPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTE4ODYzLDggKzE4ODYzLDggQEAKIAkJCQlDNTI3OEIwQjE3RjIxMkVBMDAzQTI5
OTggLyogUGxhdGZvcm1QYXN0ZWJvYXJkSU9TLm1tICovLAogCQkJCUU0NTM5MDMyMEVBRkQ2Mzcw
MDM2OTVDOCAvKiBQbGF0Zm9ybVNjcmVlbklPUy5tbSAqLywKIAkJCQlBQUUzNzU1RDE3NDI5QkND
MDA2MjAwQzIgLyogUGxhdGZvcm1TcGVlY2hTeW50aGVzaXplcklPUy5tbSAqLywKLQkJCQk0NDM5
MTdGRTFBOTFCMkY4MDA2RTA0RjIgLyogUXVpY2tMb29rU29mdExpbmsuaCAqLywKLQkJCQk0NDM5
MTdGRDFBOTFCMkY4MDA2RTA0RjIgLyogUXVpY2tMb29rU29mdExpbmsubW0gKi8sCisJCQkJNDQz
OTE3RkUxQTkxQjJGODAwNkUwNEYyIC8qIGlvcy9RdWlja0xvb2tTb2Z0TGluay5oICovLAorCQkJ
CTQ0MzkxN0ZEMUE5MUIyRjgwMDZFMDRGMiAvKiBpb3MvUXVpY2tMb29rU29mdExpbmsubW0gKi8s
CiAJCQkJQ0RGQzM2MDExOENBNjE2MzAwMjZFNTZGIC8qIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcklP
Uy5oICovLAogCQkJCUNERkMzNjAyMThDQTYxNjMwMDI2RTU2RiAvKiBSZW1vdGVDb21tYW5kTGlz
dGVuZXJJT1MubW0gKi8sCiAJCQkJNDRDMzYzRUUwRkFBN0JCMzAwOTdGOENDIC8qIFJ1bnRpbWVB
cHBsaWNhdGlvbkNoZWNrc0lPUy5oICovLApAQCAtMjYwNzEsNyArMjYwNzEsNyBAQAogCQkJCTU1
MEEwQkNBMDg1RjYwMzkwMDczNTNENiAvKiBRdWFsaWZpZWROYW1lLmggaW4gSGVhZGVycyAqLywK
IAkJCQlDRTEyNTIzRDFBMTY3NkNEMDA4NjQ0ODAgLyogUXVhcnR6Q29yZVNQSS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNDQyQUY3QTkxMDJDRERFQTAwOEZENEQzIC8qIFF1aWNrTG9vay5oIGluIEhl
YWRlcnMgKi8sCi0JCQkJNDQzOTE4MDAxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRM
aW5rLmggaW4gSGVhZGVycyAqLywKKwkJCQk0NDM5MTgwMDFBOTFCMkY4MDA2RTA0RjIgLyogaW9z
L1F1aWNrTG9va1NvZnRMaW5rLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTQ5Nzg2RjFBQkFGMzM4
MDBDRUY3RTQgLyogQ29udGVudEZpbHRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0UxMjUyMzkx
QTE2NkZBMDAwODY0NDgwIC8qIFF1aWNrTG9va1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTEw
REJGNDcxOEY5MjMxNzAwMEQ3MEM2IC8qIFF1aWNrTG9va0hhbmRsZUNsaWVudC5oIGluIEhlYWRl
cnMgKi8sCkBAIC0yOTU3NSw3ICsyOTU3NSw3IEBACiAJCQkJQ0RFRTM5MzcxNzk3NDI1OTAwMUQ3
NTgwIC8qIFB1YmxpY1VSTE1hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTUwQTBCQzkw
ODVGNjAzOTAwNzM1M0Q2IC8qIFF1YWxpZmllZE5hbWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NDQyQUY3QUExMDJDRERFQTAwOEZENEQzIC8qIFF1aWNrTG9vay5tbSBpbiBTb3VyY2VzICovLAot
CQkJCTQ0MzkxN0ZGMUE5MUIyRjgwMDZFMDRGMiAvKiBRdWlja0xvb2tTb2Z0TGluay5tbSBpbiBT
b3VyY2VzICovLAorCQkJCTQ0MzkxN0ZGMUE5MUIyRjgwMDZFMDRGMiAvKiBpb3MvUXVpY2tMb29r
U29mdExpbmsubW0gaW4gU291cmNlcyAqLywKIAkJCQkwNzJBRTFFNjE4M0MwNzQxMDAwQTU5ODgg
LyogUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQubW0gaW4gU291cmNlcyAqLywKIAkJCQkzNzlF
MzcxNjEzNzM2QTY2MDBCOUU5MTkgLyogUXVvdGVkUHJpbnRhYmxlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTVBNTc0RjI4MTMxREI5NkQwMDQ3MUI4OCAvKiBRdW90ZXNEYXRhLmNwcCBpbiBTb3Vy
Y2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCBmYzkwZjYxMTU2MjMxYTQxY2E5MTM3ZjE3Yzc5
NTVlOGQzNzNiMGVhLi4wYzg4NDBmNmFiNTE4NWY4MzU0YjcwNjAzZTAyNWYyNWEyYTc5ZjRhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwpAQCAtNDQsNiArNDQsNyBAQCBFTkFCTEVfQ0FDSEVfUEFSVElUSU9O
SU5HID0gRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORzsKIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVO
QUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc7CitFTkFCTEVfRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJM
RV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CiBFTkFCTEVfRVM2
X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYID0gRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZ
TlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklO
RzsKQEAgLTIxNSw0ICsyMTYsNCBAQCBFTkFCTEVfSklUID0gRU5BQkxFX0pJVDsKIAogRU5BQkxF
X1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FS
SVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZM
T1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRf
RUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFU
SCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChF
TkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lO
VEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5B
QkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9C
UkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBU
QVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lP
TlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJM
RV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVO
QUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFC
TEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJM
RV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAk
KEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChF
TkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBS
RUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJ
TUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9D
T05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFC
TEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMp
ICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVU
Q0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVO
QUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01F
VEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUp
ICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdD
T05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJ
TikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJP
WElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9U
QSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVU
T0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9O
X01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9M
TF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkg
JChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdf
T1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5B
QkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19U
UkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQo
RU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVX
X01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVO
QUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9T
SVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5B
QkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJM
RV9KSVQpICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklE
RU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJB
TlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVf
QVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxF
X0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVT
U0FHSU5HKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0VTNl9D
TEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkgJChFTkFC
TEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5J
TUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5B
QkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVO
QUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChF
TkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJM
RV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NT
M19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJ
U0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJP
QVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJB
TlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5D
UllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRF
UlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChF
TkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRM
SU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09S
S0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5B
QkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNT
X1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9J
T1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9M
RUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVE
SU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJM
RV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFf
U09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5U
KSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9O
QVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kp
ICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxF
X1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVO
VFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxF
X1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkg
JChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVS
WSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChF
TkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NV
QlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJU
RVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFU
RV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09S
RCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURF
T19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19N
RURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JF
UExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5B
QkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElN
RU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVO
QUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRB
VElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKaW5kZXggZmM5MGY2MTE1NjIzMWE0MWNhOTEzN2YxN2M3OTU1
ZThkMzczYjBlYS4uMGM4ODQwZjZhYjUxODVmODM1NGI3MDYwM2UwMjVmMjVhMmE3OWY0YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKKysrIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKQEAgLTQ0LDYgKzQ0LDcgQEAgRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORyA9IEVO
QUJMRV9DQUNIRV9QQVJUSVRJT05JTkc7CiBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FO
VkFTX1BBVEg7CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HID0gRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCA9IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfRVM2X0NM
QVNTX1NZTlRBWCA9IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYOwogRU5BQkxFX0VTNl9URU1QTEFU
RV9MSVRFUkFMX1NZTlRBWCA9IEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVg7CiBF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CkBAIC0y
MTUsNCArMjE2LDQgQEAgRU5BQkxFX0pJVCA9IEVOQUJMRV9KSVQ7CiAKIEVOQUJMRV9TQVRVUkFU
RURfTEFZT1VUX0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElD
OwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9M
TElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQp
ICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5B
QkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VT
Nl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkgJChF
TkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1Nf
QU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQo
RU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAk
KEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikg
JChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVO
QUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVf
Q1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09S
X1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFT
SEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFf
VFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNF
X09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVf
RU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJ
TFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFND
UkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkg
JChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJP
VFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMp
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5f
V09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQo
RU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVM
RVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJM
RV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJf
QVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVO
QUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVE
SUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVN
RU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJM
RV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVO
Q1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5B
QkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9F
VkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5B
QkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVU
RSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9R
VUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkg
JChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxF
X1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05W
RVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1Q
TEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VW
RU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdf
V09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9W
SURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NT
U19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VC
X1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQo
RU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJf
VElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAk
KEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNF
TlRBVElPTl9NT0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZF
UkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1F
TlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNf
UEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykg
JChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lO
VEFYKSAkKEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVgpICQoRU5BQkxFX0NPTlRF
TlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNf
TEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1Nf
Q09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NT
X0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NT
U19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NF
TEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkg
JChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZ
KSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQ
T1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lU
RU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElP
TikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9N
RURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVM
XzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAk
KEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dF
T0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChF
TkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQo
RU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVf
VElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NT
U19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVO
QUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1M
KSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFC
TEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9S
X0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJM
RV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVS
X0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVO
QUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNU
X0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxF
X1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5B
QkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQ
RUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZ
UFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVO
QUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVO
VCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5B
QkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0sp
ICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQo
RU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQo
RU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJf
VElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQo
RU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfU0FU
VVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9E
RSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UgYi9Tb3Vy
Y2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKaW5kZXggYmNiMzlhZWQ3Y2Y3MmQ1NmUwMTlk
ZDIwNTk2ZmFkMzY5NzNiODgwMS4uYWUxM2QxZGQxYjVkYTE4NDJmNTczODA5Mjk4YWFmOGM3YmEw
NjM3ZSAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCisrKyBi
L1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQpAQCAtNzEsNiArNzEsNyBAQCBtYWNy
byhXRUJLSVRfT1BUSU9OX0JFR0lOKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9E
UkFHX1NVUFBPUlQgIlRvZ2dsZSBEcmFnIFN1cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJ
VF9PUFRJT05fREVGSU5FKEVOQUJMRV9FTkNSWVBURURfTUVESUEgIlRvZ2dsZSBFTUUgc3VwcG9y
dCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQV9WMiAiU3VwcG9ydCBFTUUgdjIiIFBSSVZBVEUgT0ZGKQorICAgIFdFQktJVF9PUFRJ
T05fREVGSU5FKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggIlRvZ2dsZSBFUzYgYXJy
b3cgZnVuY3Rpb24gc3ludGF4IHN1cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5F
KEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYICJUb2dnbGUgRVM2IGNsYXNzIHN5bnRheCBzdXBwb3J0
IiBQUklWQVRFIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9FUzZfVEVNUExB
VEVfTElURVJBTF9TWU5UQVggIlRvZ2dsZSBFUzYgdGVtcGxhdGUgbGl0ZXJhbCBzeW50YXggc3Vw
cG9ydCIgUFJJVkFURSBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfRklMVEVS
U19MRVZFTF8yICJUb2dnbGUgRmlsdGVycyBNb2R1bGUgTGV2ZWwgMiIgUFJJVkFURSBPRkYpCkBA
IC0xNjgsNyArMTY5LDYgQEAgbWFjcm8oV0VCS0lUX09QVElPTl9CRUdJTikKICAgICBXRUJLSVRf
T1BUSU9OX0RFRklORShFTkFCTEVfWEhSX1RJTUVPVVQgIlRvZ2dsZSBYSFIgdGltZW91dCBzdXBw
b3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfWFNMVCAi
VG9nZ2xlIFhTTFQgc3VwcG9ydCIgUFJJVkFURSBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklO
RShVU0VfU1lTVEVNX01BTExPQyAiVG9nZ2xlIHN5c3RlbSBhbGxvY2F0b3IgaW5zdGVhZCBvZiBX
ZWJLaXQncyBjdXN0b20gYWxsb2NhdG9yIiBQUklWQVRFIE9GRikKLQogICAgIFdFQktJVF9PUFRJ
T05fREVQRU5EKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIgRU5BQkxFX1ZJREVPKQogICAgIFdF
QktJVF9PUFRJT05fREVQRU5EKEVOQUJMRV9ERkdfSklUIEVOQUJMRV9KSVQpCiAgICAgV0VCS0lU
X09QVElPTl9ERVBFTkQoRU5BQkxFX0ZUTF9OQVRJVkVfQ0FMTF9JTkxJTklORyBFTkFCTEVfRlRM
X0pJVCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5w
bSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQppbmRleCBiMGQ1YWEx
YjNiYzQ0OGQ2ZDI2MTI3MGE1ZmI1ODE0MDM0NjVmNWY1Li40MGMxMTVlM2IzZTRiYTQ3NTJhNzFk
MzhkMWZlYTIyN2VlMjBkMTI3IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwv
RmVhdHVyZUxpc3QucG0KKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0
LnBtCkBAIC00NCw2ICs0NCw3IEBAIEJFR0lOIHsKIG15ICgKICAgICAkdGhyZWVEVHJhbnNmb3Jt
c1N1cHBvcnQsCiAgICAgJGFjY2VsZXJhdGVkMkRDYW52YXNTdXBwb3J0LAorICAgICRhcnJvd2Z1
bmN0aW9uU3ludGF4LAogICAgICRhdHRhY2htZW50RWxlbWVudFN1cHBvcnQsCiAgICAgJGJhdHRl
cnlTdGF0dXNTdXBwb3J0LAogICAgICRjYW52YXNQYXRoU3VwcG9ydCwKQEAgLTE1Niw5ICsxNTcs
MTMgQEAgbXkgQGZlYXR1cmVzID0gKAogICAgIHsgb3B0aW9uID0+ICJhY2NlbGVyYXRlZC0yZC1j
YW52YXMiLCBkZXNjID0+ICJUb2dnbGUgQWNjZWxlcmF0ZWQgMkQgQ2FudmFzIHN1cHBvcnQiLAog
ICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTIiwgZGVmYXVsdCA9
PiBpc0d0aygpLCB2YWx1ZSA9PiBcJGFjY2VsZXJhdGVkMkRDYW52YXNTdXBwb3J0IH0sCiAKKyAg
ICB7IG9wdGlvbiA9PiAiYXJyb3dmdW5jdGlvbi1zeW50YXgiLCBkZXNjID0+ICJUb2dnbGUgRVM2
IGFycm93IGZ1bmN0aW9uIHN5bnRheCBzdXBwb3J0IiwKKyAgICAgIGRlZmluZSA9PiAiRU5BQkxF
X0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCIsIGRlZmF1bHQgPT4gMSwgdmFsdWUgPT4gXCRhcnJv
d2Z1bmN0aW9uU3ludGF4IH0sCisKICAgICB7IG9wdGlvbiA9PiAiYXR0YWNobWVudC1lbGVtZW50
IiwgZGVzYyA9PiAiVG9nZ2xlIEF0dGFjaG1lbnQgRWxlbWVudCBzdXBwb3J0IiwKICAgICAgIGRl
ZmluZSA9PiAiRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCIsIGRlZmF1bHQgPT4gMCwgdmFsdWUg
PT4gXCRhdHRhY2htZW50RWxlbWVudFN1cHBvcnQgfSwKIAorCiAgICAgeyBvcHRpb24gPT4gImJh
dHRlcnktc3RhdHVzIiwgZGVzYyA9PiAiVG9nZ2xlIEJhdHRlcnkgU3RhdHVzIHN1cHBvcnQiLAog
ICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQkFUVEVSWV9TVEFUVVMiLCBkZWZhdWx0ID0+IGlzRWZs
KCksIHZhbHVlID0+IFwkYmF0dGVyeVN0YXR1c1N1cHBvcnQgfSwKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252606</attachid>
            <date>2015-05-07 12:18:20 -0700</date>
            <delta_ts>2015-05-13 01:19:51 -0700</delta_ts>
            <desc>Patch.3(Fix review Comments)</desc>
            <filename>bug-140855-20150507221702.patch</filename>
            <type>text/plain</type>
            <size>21480</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzOTI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgKaW5kZXggZDlmMTk3
ZDQyMmE1ZTkxMzMzYTM1NDIwZjE5MTE2ZDBjYjgwMTYzOS4uODRhNDMxZjJjZWU4ZjdiMzZkZjM5
OTk3ZjliYzIzNmRhMjdjN2JlZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaApAQCAtMTUzOCwxMSArMTUz
OCwxMCBAQCBib29sIEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVj
dXRlRWZmZWN0cyh1bnNpZ25lZCBjbG9iYmVyTGltaQogICAgICAgICBicmVhazsKICAgICAgICAg
ICAgIAogICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKLSNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQogICAgICAgICBmb3JOb2RlKG5vZGUpLnNldCgKICAgICAgICAgICAgIG1f
Z3JhcGgsIG1fY29kZUJsb2NrLT5nbG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGlj
KS0+YXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpKTsKLSNlbmRpZgogICAgICAgICBicmVhazsKKyAg
ICAgICAgICAgIAogICAgIGNhc2UgTmV3RnVuY3Rpb246CiAgICAgICAgIGZvck5vZGUobm9kZSku
c2V0KAogICAgICAgICAgICAgbV9ncmFwaCwgbV9jb2RlQmxvY2stPmdsb2JhbE9iamVjdEZvcihu
b2RlLT5vcmlnaW4uc2VtYW50aWMpLT5mdW5jdGlvblN0cnVjdHVyZSgpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKaW5kZXggNGM2YmJkZDJm
ZjYzZGYwYzUwZDg5ODg4NjU0NWNmMTNmZjdhZWZjMi4uMDMwNWE4OTg0YmU3YWNlMDVkMjdhNGM0
ZjI1OGUzYjZmYjg3MDk2MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdCeXRlQ29kZVBhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdC
eXRlQ29kZVBhcnNlci5jcHAKQEAgLTM3NjYsNiArMzc2NiwxNyBAQCBib29sIEJ5dGVDb2RlUGFy
c2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkIGxpbWl0KQogICAgICAgICAgICAgTkVYVF9PUENPREUo
b3BfbmV3X2Z1bmNfZXhwKTsKICAgICAgICAgfQogCisgICAgICAgIGNhc2Ugb3BfbmV3X2Fycm93
X2Z1bmNfZXhwOiB7CisgICAgICAgICAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4cHIgPSBtX2lu
bGluZVN0YWNrVG9wLT5tX3Byb2ZpbGVkQmxvY2stPmZ1bmN0aW9uRXhwcihjdXJyZW50SW5zdHJ1
Y3Rpb25bM10udS5vcGVyYW5kKTsKKyAgICAgICAgICAgIEZyb3plblZhbHVlKiBmcm96ZW4gPSBt
X2dyYXBoLmZyZWV6ZVN0cm9uZyhleHByKTsKKyAgICAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0
ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCksCisgICAgICAgICAgICAgICAgYWRk
VG9HcmFwaChOZXdBcnJvd0Z1bmN0aW9uLCBPcEluZm8oZnJvemVuKSwKKyAgICAgICAgICAgICAg
ICAgICAgZ2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5k
KSksCisgICAgICAgICAgICAgICAgICAgIGdldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3Ry
dWN0aW9uWzRdLnUub3BlcmFuZCkpKSk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIE5FWFRf
T1BDT0RFKG9wX25ld19hcnJvd19mdW5jX2V4cCk7CisgICAgICAgIH0KKwogICAgICAgICBjYXNl
IG9wX3R5cGVvZjogewogICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5z
dHJ1Y3Rpb25bMV0udS5vcGVyYW5kKSwKICAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKFR5cGVP
ZiwgZ2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSkp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVz
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAppbmRl
eCAwZTNjODgwYjdjY2NiOWI3NTBhYTMwODk1ZjA2OTU5OGQ1MmRmZmIwLi5iZTI5MGIzYmZmYzI0
ZTE0NWIxMzM1YjZkODdjOWM2MjAwNjMyOWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCkBAIC0yMDcsNiArMjA3LDcgQEAgQ2FwYWJpbGl0eUxl
dmVsIGNhcGFiaWxpdHlMZXZlbChPcGNvZGVJRCBvcGNvZGVJRCwgQ29kZUJsb2NrKiBjb2RlQmxv
Y2ssIEluc3RydWMKICAgICBjYXNlIG9wX3RvX2luZGV4X3N0cmluZzoKICAgICBjYXNlIG9wX25l
d19mdW5jOgogICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOgorICAgIGNhc2Ugb3BfbmV3X2Fycm93
X2Z1bmNfZXhwOgogICAgIGNhc2Ugb3BfY3JlYXRlX2xleGljYWxfZW52aXJvbm1lbnQ6CiAgICAg
ICAgIHJldHVybiBDYW5Db21waWxlQW5kSW5saW5lOwogCkBAIC0yMzEsNyArMjMyLDYgQEAgQ2Fw
YWJpbGl0eUxldmVsIGNhcGFiaWxpdHlMZXZlbChPcGNvZGVJRCBvcGNvZGVJRCwgQ29kZUJsb2Nr
KiBjb2RlQmxvY2ssIEluc3RydWMKICAgICBjYXNlIG9wX3N3aXRjaF9zdHJpbmc6IC8vIERvbid0
IGlubGluZSBiZWNhdXNlIHdlIGRvbid0IHdhbnQgdG8gY29weSBzdHJpbmcgdGFibGVzIGluIHRo
ZSBjb25jdXJyZW50IEpJVC4KICAgICAgICAgcmV0dXJuIENhbkNvbXBpbGU7CiAKLSAgICBjYXNl
IG9wX25ld19hcnJvd19mdW5jX2V4cDogLy8gRml4bWU6IEFycm93IGZ1bmN0aW9uIGNhbm4ndCBi
ZSBpbmxpbmUgYXMgdGhlIGNvbW1vbiBmdW5jdGlvbiBiZWNhdXNlIGl0IGhhcyBsZXhpY2FseSBi
aW5kIHRoaXMvYXJndW1lbnRzIGFuZCBldGMuIGFuZCAgYXJyb3cgZnVuY3Rpb24gaGFzIHRvIGhh
dmUgaXRzIG93biBjb21waWxlIGFuZCBpbmxpbmUgYXBwcm9hY2guCiAgICAgZGVmYXVsdDoKICAg
ICAgICAgcmV0dXJuIENhbm5vdENvbXBpbGU7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKaW5kZXggZTRlMTVlY2VkMjYxYjZhNTAzODZjN2VhOWQ2
M2IxNzNiM2Q2MDk2Zi4uODllN2RlOTFjZDllY2NhNTRhMDBmZDhkNWY1NWYxZWVhZmEwZDk1ZiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCkBAIC0xMTgw
LDEyICsxMTgwLDE5IEBAIHByaXZhdGU6CiAKICAgICAgICAgY2FzZSBDcmVhdGVTY29wZWRBcmd1
bWVudHM6CiAgICAgICAgIGNhc2UgQ3JlYXRlQWN0aXZhdGlvbjoKLSAgICAgICAgY2FzZSBOZXdB
cnJvd0Z1bmN0aW9uOgogICAgICAgICBjYXNlIE5ld0Z1bmN0aW9uOiB7CiAgICAgICAgICAgICBm
aXhFZGdlPENlbGxVc2U+KG5vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICB9Ci0gICAgICAgICAgICAKKworICAgICAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246IHsK
KyAgICAgICAgICAgIGZpeEVkZ2U8Q2VsbFVzZT4obm9kZS0+Y2hpbGQxKCkpOworICAgICAgICAg
ICAgZml4RWRnZTxDZWxsVXNlPihub2RlLT5jaGlsZDIoKSk7CisgICAgICAgICAgICBtX2luc2Vy
dGlvblNldC5pbnNlcnROb2RlKG1faW5kZXhJbkJsb2NrLCBTcGVjTm9uZSwgQ2hlY2ssIG5vZGUt
Pm9yaWdpbiwKKyAgICAgICAgICAgICAgICBFZGdlKG5vZGUtPmNoaWxkMigpLm5vZGUoKSwgT3Ro
ZXJVc2UpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKICNpZiAhQVNTRVJUX0RJ
U0FCTEVECiAgICAgICAgIC8vIEhhdmUgdGhlc2Ugbm8tb3AgY2FzZXMgaGVyZSB0byBlbnN1cmUg
dGhhdCBub2JvZHkgZm9yZ2V0cyB0byBhZGQgaGFuZGxlcnMgZm9yIG5ldyBvcGNvZGVzLgogICAg
ICAgICBjYXNlIFNldEFyZ3VtZW50OgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdOb2RlVHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlw
ZS5oCmluZGV4IGYzZTM4OTI5NzMwZTM4ODEwMTBiNWYzNjEzZmE1Mzg3ODM1NTY5MWUuLjAzMTMy
MzBhNzM1MjJlMzI2OTg1MmQ5NWZjOWUwMTJjMjdlNjQzMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR05vZGVUeXBlLmgKQEAgLTI5Myw3ICsyOTMsNyBAQCBuYW1lc3BhY2UgSlNDIHsg
bmFtZXNwYWNlIERGRyB7CiAgICAgXAogICAgIG1hY3JvKE5ld0Z1bmN0aW9uLCBOb2RlUmVzdWx0
SlMpIFwKICAgICBcCi0gICAgbWFjcm8oTmV3QXJyb3dGdW5jdGlvbiwgTm9kZVJlc3VsdEpTIHwg
Tm9kZU11c3RHZW5lcmF0ZSkgXAorICAgIG1hY3JvKE5ld0Fycm93RnVuY3Rpb24sIE5vZGVSZXN1
bHRKUykgXAogICAgIFwKICAgICAvKiBUaGVzZSBhcmVuJ3QgdGVybWluYWxzIGJ1dCBhbHdheXMg
ZXhpdCAqLyBcCiAgICAgbWFjcm8oVGhyb3csIE5vZGVNdXN0R2VuZXJhdGUpIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKaW5kZXggMzZkOWJm
MDlkZjYwMTZjOGY1ODVhYmViZTI5M2RlNjZkZmIwODI3MS4uNzQ4ZDU0Mzg3ZTJmNTk3NWQ2NzQ4
MzRlYzA0MGI5Y2E3NDMyYzBiOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVC5jcHAKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJERkdTYW5l
U3RyaW5nR2V0QnlWYWxTbG93UGF0aEdlbmVyYXRvci5oIgogI2luY2x1ZGUgIkRGR1Nsb3dQYXRo
R2VuZXJhdG9yLmgiCiAjaW5jbHVkZSAiRGlyZWN0QXJndW1lbnRzLmgiCisjaW5jbHVkZSAiSlNB
cnJvd0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRW52
aXJvbm1lbnRSZWNvcmQuaCIKICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgpAQCAt
NDM2Miw2ICs0MzYzLDYzIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVHZXRBcnJheUxl
bmd0aChOb2RlKiBub2RlKQogICAgICAgICBicmVhazsKICAgICB9IH0KIH0KKyAgICAKK3ZvaWQg
U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVOZXdBcnJvd0Z1bmN0aW9uKE5vZGUqIG5vZGUpCit7Cisg
ICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgc2NvcGUodGhpcywgbm9kZS0+Y2hpbGQxKCkpOworICAg
IEdQUlJlZyBzY29wZUdQUiA9IHNjb3BlLmdwcigpOworCisgICAgU3BlY3VsYXRlQ2VsbE9wZXJh
bmQgdGhpc1ZhbHVlKHRoaXMsIG5vZGUtPmNoaWxkMigpKTsKKyAgICBHUFJSZWcgdGhpc1ZhbHVl
R1BSID0gdGhpc1ZhbHVlLmdwcigpOworCisgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRh
YmxlID0gbm9kZS0+Y2FzdE9wZXJhbmQ8RnVuY3Rpb25FeGVjdXRhYmxlKj4oKTsKKworICAgIGlm
IChleGVjdXRhYmxlLT5zaW5nbGV0b25GdW5jdGlvbigpLT5pc1N0aWxsVmFsaWQoKSkgeworICAg
ICAgICBHUFJGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHQodGhpcyk7CisgICAgICAgIEdQUlJlZyBy
ZXN1bHRHUFIgPSByZXN1bHQuZ3ByKCk7CisKKyAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKKwor
ICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24sIHJlc3VsdEdQ
Uiwgc2NvcGVHUFIsIGV4ZWN1dGFibGUsIHRoaXNWYWx1ZUdQUik7CisgICAgICAgIGNlbGxSZXN1
bHQocmVzdWx0R1BSLCBub2RlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIFN0cnVj
dHVyZSogc3RydWN0dXJlID0gbV9qaXQuZ3JhcGgoKS5nbG9iYWxPYmplY3RGb3Iobm9kZS0+b3Jp
Z2luLnNlbWFudGljKS0+YXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpOworCisgICAgR1BSVGVtcG9y
YXJ5IHJlc3VsdCh0aGlzKTsKKyAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaDEodGhpcyk7CisgICAg
R1BSVGVtcG9yYXJ5IHNjcmF0Y2gyKHRoaXMpOworCisgICAgR1BSUmVnIHJlc3VsdEdQUiA9IHJl
c3VsdC5ncHIoKTsKKyAgICBHUFJSZWcgc2NyYXRjaDFHUFIgPSBzY3JhdGNoMS5ncHIoKTsKKyAg
ICBHUFJSZWcgc2NyYXRjaDJHUFIgPSBzY3JhdGNoMi5ncHIoKTsKKworICAgIEpJVENvbXBpbGVy
OjpKdW1wTGlzdCBzbG93UGF0aDsKKyAgICBlbWl0QWxsb2NhdGVKU09iamVjdFdpdGhLbm93blNp
emU8SlNBcnJvd0Z1bmN0aW9uPigKKyAgICAgICAgcmVzdWx0R1BSLCBUcnVzdGVkSW1tUHRyKHN0
cnVjdHVyZSksIFRydXN0ZWRJbW1QdHIoMCksCisgICAgICAgIHNjcmF0Y2gxR1BSLCBzY3JhdGNo
MkdQUiwgc2xvd1BhdGgsIEpTQXJyb3dGdW5jdGlvbjo6YWxsb2NhdGlvblNpemUoMCkpOworCisg
ICAgbV9qaXQuc3RvcmVQdHIoCisgICAgICAgIHNjb3BlR1BSLAorICAgICAgICBKSVRDb21waWxl
cjo6QWRkcmVzcyhyZXN1bHRHUFIsIEpTQXJyb3dGdW5jdGlvbjo6b2Zmc2V0T2ZTY29wZUNoYWlu
KCkpKTsKKyAgICBtX2ppdC5zdG9yZVB0cigKKyAgICAgICAgVHJ1c3RlZEltbVB0cihleGVjdXRh
YmxlKSwKKyAgICAgICAgSklUQ29tcGlsZXI6OkFkZHJlc3MocmVzdWx0R1BSLCBKU0Fycm93RnVu
Y3Rpb246Om9mZnNldE9mRXhlY3V0YWJsZSgpKSk7CisgICAgbV9qaXQuc3RvcmVQdHIoCisgICAg
ICAgIFRydXN0ZWRJbW1QdHIoMCksCisgICAgICAgIEpJVENvbXBpbGVyOjpBZGRyZXNzKHJlc3Vs
dEdQUiwgSlNBcnJvd0Z1bmN0aW9uOjpvZmZzZXRPZlJhcmVEYXRhKCkpKTsKKyAgICBtX2ppdC5z
dG9yZVB0cigKKyAgICAgICAgdGhpc1ZhbHVlR1BSLAorICAgICAgICBKSVRDb21waWxlcjo6QWRk
cmVzcyhyZXN1bHRHUFIsIEpTQXJyb3dGdW5jdGlvbjo6b2Zmc2V0T2ZUaGlzVmFsdWUoKSkpOwor
CisgICAgYWRkU2xvd1BhdGhHZW5lcmF0b3IoCisgICAgICAgIHNsb3dQYXRoQ2FsbCgKKyAgICAg
ICAgICAgIHNsb3dQYXRoLCB0aGlzLCBvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uV2l0aEludmFs
aWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludCwKKyAgICAgICAgICAgIHJlc3VsdEdQUiwgc2Nv
cGVHUFIsIGV4ZWN1dGFibGUsIHRoaXNWYWx1ZUdQUikpOworICAgICAgICAKKyAgICBjZWxsUmVz
dWx0KHJlc3VsdEdQUiwgbm9kZSk7Cit9CiAKIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVO
ZXdGdW5jdGlvbihOb2RlKiBub2RlKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVC5oCmluZGV4IDMwYmJlYjE2NGM3MzJlYzMwNDJjMTE1MGZmZDFjZmU0
OTg0MTczODcuLmI5YWY1MThiYjUyYjdiOTBiOTY0MzBjZjk3ODZmM2ZkNjQyNTQ5ZDEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKQEAgLTIyMjIs
NiArMjIyMiw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGNvbXBpbGVHZXRCeVZhbE9uRmxvYXRUeXBl
ZEFycmF5KE5vZGUqLCBUeXBlZEFycmF5VHlwZSk7CiAgICAgdm9pZCBjb21waWxlUHV0QnlWYWxG
b3JGbG9hdFR5cGVkQXJyYXkoR1BSUmVnIGJhc2UsIEdQUlJlZyBwcm9wZXJ0eSwgTm9kZSosIFR5
cGVkQXJyYXlUeXBlKTsKICAgICB2b2lkIGNvbXBpbGVOZXdGdW5jdGlvbihOb2RlKik7CisgICAg
dm9pZCBjb21waWxlTmV3QXJyb3dGdW5jdGlvbihOb2RlKik7CiAgICAgdm9pZCBjb21waWxlRm9y
d2FyZFZhcmFyZ3MoTm9kZSopOwogICAgIHZvaWQgY29tcGlsZUNyZWF0ZUFjdGl2YXRpb24oTm9k
ZSopOwogICAgIHZvaWQgY29tcGlsZUNyZWF0ZURpcmVjdEFyZ3VtZW50cyhOb2RlKik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNw
cAppbmRleCA4OGQ5ZWU5OTVkMDY1MzU3YmUwMTcyMDMxZjZjNTQ0YTI4MjdlNDAxLi42OWU4ZWVi
M2YxMzMzYTVkMzhkNGI0M2M1MWYzZjQ3ODcwMGNhYjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKQEAgLTQyMTUsNyAr
NDIxNSw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICB9
CiAgICAgCiAgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgotICAgICAgICBERkdfQ1JBU0gobV9q
aXQuZ3JhcGgoKSwgbm9kZSwgIkFycm93IGZ1bmN0aW9uIGNhblwndCBiZSBjb21waWxlZCBpbiBE
RkciKTsKKyAgICAgICAgY29tcGlsZU5ld0Fycm93RnVuY3Rpb24obm9kZSk7CiAgICAgICAgIGJy
ZWFrOwogICAgICAgICAgICAgCiAgICAgY2FzZSBOZXdGdW5jdGlvbjoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCmluZGV4IGY3NzQwOGFm
YTMyZmMxMjc1YjlmYzk5ZWUwNTcyMWI4MTJmZDI0NzEuLjY2OGFkYmFlMWZhM2QyYmIxZGI1NTMy
ZjAzZjBhNDkxYTlhNDczNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVDY0LmNwcApAQCAtNDI1NCw3ICs0MjU0LDcgQEAgdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgIH0KIAogICAgIGNhc2UgTmV3QXJyb3dG
dW5jdGlvbjoKLSAgICAgICAgREZHX0NSQVNIKG1faml0LmdyYXBoKCksIG5vZGUsICJBcnJvdyBm
dW5jdGlvbiBjYW5cJyBpbiBERkciKTsKKyAgICAgICAgY29tcGlsZU5ld0Fycm93RnVuY3Rpb24o
bm9kZSk7CiAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgCiAgICAgY2FzZSBOZXdGdW5jdGlv
bjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RydWN0dXJlUmVn
aXN0cmF0aW9uUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTdHJ1Y3R1
cmVSZWdpc3RyYXRpb25QaGFzZS5jcHAKaW5kZXggMmM0MmRmM2MwMjM4M2U3MWY1ZWM5NTg2YTI3
OGZiYjFkYjEzMDgwZC4uNzMzM2E4MzYwYzcxOWM5ODRlMGU4OTUzZmU3MWMwOTc1MzZiOGZhNSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTdHJ1Y3R1cmVSZWdpc3Ry
YXRpb25QaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTdHJ1Y3R1
cmVSZWdpc3RyYXRpb25QaGFzZS5jcHAKQEAgLTEzMSw5ICsxMzEsNyBAQCBwdWJsaWM6CiAgICAg
ICAgICAgICAgICAgICAgIHJlZ2lzdGVyU3RydWN0dXJlKG1fZ3JhcGguZ2xvYmFsT2JqZWN0Rm9y
KG5vZGUtPm9yaWdpbi5zZW1hbnRpYyktPnJlZ0V4cFN0cnVjdHVyZSgpKTsKICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgot
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCiAgICAgICAgICAgICAgICAgICAg
IHJlZ2lzdGVyU3RydWN0dXJlKG1fZ3JhcGguZ2xvYmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdpbi5z
ZW1hbnRpYyktPmFycm93RnVuY3Rpb25TdHJ1Y3R1cmUoKSk7Ci0jZW5kaWYKICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICAg
ICAgICAgICAgICAgICAgcmVnaXN0ZXJTdHJ1Y3R1cmUobV9ncmFwaC5nbG9iYWxPYmplY3RGb3Io
bm9kZS0+b3JpZ2luLnNlbWFudGljKS0+ZnVuY3Rpb25TdHJ1Y3R1cmUoKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCmluZGV4IDdmODYyM2Rh
ZWZiNjRmMDg0N2M5ZWFjOWFiYjE1MGM2YWZkM2M5M2YuLjYyYjk3ZGM0ZTUwOTYzMDAxNjJlM2Zk
ODdmODA1Yjg5NzI1ZjQyYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMTG93ZXJERkdUb0xMVk0uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
TG93ZXJERkdUb0xMVk0uY3BwCkBAIC02MDksOSArNjA5LDcgQEAgcHJpdmF0ZToKICAgICAgICAg
ICAgIGNvbXBpbGVDcmVhdGVBY3RpdmF0aW9uKCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgotI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCiAgICAgICAgICAgICBjb21waWxlTmV3QXJyb3dGdW5jdGlvbigpOwotI2VuZGlmCiAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICAgICAgICAg
IGNvbXBpbGVOZXdGdW5jdGlvbigpOwpAQCAtMjk4OSwxMCArMjk4Nyw5IEBAIHByaXZhdGU6CiAg
ICAgICAgIHNldEpTVmFsdWUobV9vdXQucGhpKG1fb3V0LmludFB0ciwgZmFzdFJlc3VsdCwgc2xv
d1Jlc3VsdCkpOwogICAgIH0KICAgICAKLSNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQogICAgIHZvaWQgY29tcGlsZU5ld0Fycm93RnVuY3Rpb24oKQogICAgIHsKLQorI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCiAgICAgICAgIExWYWx1ZSBzY29wZSA9IGxv
d0NlbGwobV9ub2RlLT5jaGlsZDEoKSk7CiAgICAgICAgIExWYWx1ZSB0aGlzVmFsdWUgPSBsb3dK
U1ZhbHVlKG1fbm9kZS0+Y2hpbGQyKCkpOwogICAgICAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4
ZWN1dGFibGUgPSBtX25vZGUtPmNhc3RPcGVyYW5kPEZ1bmN0aW9uRXhlY3V0YWJsZSo+KCk7CkBA
IC0zMDMyLDggKzMwMjksOCBAQCBwcml2YXRlOgogICAgICAgICAKICAgICAgICAgbV9vdXQuYXBw
ZW5kVG8oY29udGludWF0aW9uLCBsYXN0TmV4dCk7CiAgICAgICAgIHNldEpTVmFsdWUobV9vdXQu
cGhpKG1fb3V0LmludFB0ciwgZmFzdFJlc3VsdCwgc2xvd1Jlc3VsdCkpOwotICAgIH0KICNlbmRp
ZgorICAgIH0KICAgICAKICAgICB2b2lkIGNvbXBpbGVDcmVhdGVEaXJlY3RBcmd1bWVudHMoKQog
ICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
T2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
LmNwcAppbmRleCBkNzNjMDE5YjYyZTg2MTFmOGZkNTMwNDU5NTA5OTEyNjRlYzgzOTM3Li45YmI4
ODExYTQ0Y2M2YWYxYTA1ODg1YWUyY2FiYmVhZGQ1OThkMjkwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCkBAIC03NjcsOSArNzY3LDcg
QEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RW
aXNpdG9yJiB2aXNpdG9yKQogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2NhbGxl
ZVN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fZnVuY3Rpb25T
dHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2JvdW5kRnVuY3Rp
b25TdHJ1Y3R1cmUpOwotI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCiAgICAg
dmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZSk7Ci0j
ZW5kaWYKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9uYW1lZEZ1bmN0aW9uU3Ry
dWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9zeW1ib2xPYmplY3RT
dHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX3JlZ0V4cFN0cnVj
dHVyZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3Qu
aAppbmRleCBmMWE2NTA5N2FiOThmN2MwMmZlNzg3YjJkYmJhNDA1MmI2NTMyMTZjLi4xMDdiNTM4
YTQ5NjVhZTk0NThiYTI0YzAwMjI2Zjc5ZDg2NmM2MjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKQEAgLTIyOSw5ICsyMjksNyBAQCBwcm90
ZWN0ZWQ6CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9jYWxsZWVTdHJ1Y3R1cmU7CiAg
ICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9mdW5jdGlvblN0cnVjdHVyZTsKICAgICBXcml0
ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmU7Ci0jaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBt
X2Fycm93RnVuY3Rpb25TdHJ1Y3R1cmU7Ci0jZW5kaWYKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0
dXJlPiBtX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmU7CiAgICAgUHJvcGVydHlPZmZzZXQgbV9mdW5j
dGlvbk5hbWVPZmZzZXQ7CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9wcml2YXRlTmFt
ZVN0cnVjdHVyZTsKQEAgLTQ3MCw5ICs0NjgsNyBAQCBwdWJsaWM6CiAgICAgU3RydWN0dXJlKiBj
YWxsZWVTdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2NhbGxlZVN0cnVjdHVyZS5nZXQoKTsg
fQogICAgIFN0cnVjdHVyZSogZnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2Z1
bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CiAgICAgU3RydWN0dXJlKiBib3VuZEZ1bmN0aW9uU3Ry
dWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9
Ci0jaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKICAgICBTdHJ1Y3R1cmUqIGFy
cm93RnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2Fycm93RnVuY3Rpb25TdHJ1
Y3R1cmUuZ2V0KCk7IH0KLSNlbmRpZgogICAgIFN0cnVjdHVyZSogbmFtZWRGdW5jdGlvblN0cnVj
dHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQog
ICAgIFByb3BlcnR5T2Zmc2V0IGZ1bmN0aW9uTmFtZU9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1f
ZnVuY3Rpb25OYW1lT2Zmc2V0OyB9CiAgICAgU3RydWN0dXJlKiBudW1iZXJPYmplY3RTdHJ1Y3R1
cmUoKSBjb25zdCB7IHJldHVybiBtX251bWJlck9iamVjdFN0cnVjdHVyZS5nZXQoKTsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LWxleGljYWwtdGhpcy0xLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9h
cnJvd2Z1bmN0aW9uLWxleGljYWwtdGhpcy0xLmpzCmluZGV4IGY1NTMxZjU3NTYyZjI4NjhlZWFk
MzlmY2Q2NmVlNTA3OGJhY2VkMWIuLmYxOTJkMTAxMmI2NWQyMjA4YWIwMDZkN2Y2N2QyOWU3OTY1
MzZhYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJy
b3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMtMS5qcworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTEuanMKQEAgLTEsNiArMSw0
IEBACi12YXIgcmVzdWx0OwotCi0gdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhw
ZWN0ZWQsIG1lc3NhZ2UpIHsKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVj
dGVkLCBtZXNzYWdlKSB7CiAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CiAgICAgdGhyb3cg
bWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFj
dHVhbCArICInIjsKICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtdGhpcy0yLmpzIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtdGhpcy0yLmpzCmluZGV4
IDk4YjUzYjI5OGJiYjBiNTNlNDA3MWM5OTdkODEyMzUxMWFmNjM5ZDkuLjI2ZTMwZWQxZjMyOTYw
YzQ0OTRhMmRjYWJhMTBlMzgwOTg3MDg0NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMtMi5qcworKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10
aGlzLTIuanMKQEAgLTEsNiArMSw0IEBACi12YXIgcmVzdWx0OwotCi0gdmFyIHRlc3RDYXNlID0g
ZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKK3ZhciB0ZXN0Q2FzZSA9IGZ1
bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CiAgIGlmIChhY3R1YWwgIT09IGV4
cGVjdGVkKSB7CiAgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQg
KyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKICAgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtdGhpcy0z
LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxl
eGljYWwtdGhpcy0zLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhmYWZlZmE5Mzg5ZGE3MzhjNDBlM2MyY2Y0MWQ4
MmM0NTBiYmRlNGIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTMuanMKQEAgLTAsMCArMSwyMCBA
QAordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsK
KyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhw
ZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9
Cit9OworCisKK3ZhciBvYmogPSB7IG5hbWU6J29iaicsIG1ldGhvZDogZnVuY3Rpb24gKCkgeyBy
ZXR1cm4gKHZhbHVlKSA9PiB0aGlzLm5hbWUgKyAiLW5hbWUtIiArIHZhbHVlOyB9fTsKKwordGVz
dENhc2Uob2JqLm1ldGhvZCgpKCd0ZXN0MScpLCAnb2JqLW5hbWUtdGVzdDEnLCAiRXJyb3I6IHRo
aXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAj
MSIpOwordGVzdENhc2Uob2JqLm1ldGhvZCgpKCd0ZXN0MicpLCAnb2JqLW5hbWUtdGVzdDInLCAi
RXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbiAjMiIpOwordGVzdENhc2Uob2JqLm1ldGhvZCgpKCd0ZXN0MycpLCAnb2JqLW5hbWUt
dGVzdDMnLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiAjMyIpOwordGVzdENhc2Uob2JqLm1ldGhvZCgpKCd0ZXN0NCcpLCAn
b2JqLW5hbWUtdGVzdDQnLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5z
aWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNCIpOworCitvYmoubmFtZT0nbmV3T2JqJzsKKwor
dGVzdENhc2Uob2JqLm1ldGhvZCgpKCd0ZXN0MScpLCAnbmV3T2JqLW5hbWUtdGVzdDEnLCAiRXJy
b3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbiAjNSIpOwordGVzdENhc2Uob2JqLm1ldGhvZCgpKCd0ZXN0MicpLCAnbmV3T2JqLW5hbWUt
dGVzdDInLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRo
ZSBhcnJvdyBmdW5jdGlvbiAjNiIpOwordGVzdENhc2Uob2JqLm1ldGhvZCgpKCd0ZXN0MycpLCAn
bmV3T2JqLW5hbWUtdGVzdDMnLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQg
aW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNyIpOwordGVzdENhc2Uob2JqLm1ldGhvZCgp
KCd0ZXN0NCcpLCAnbmV3T2JqLW5hbWUtdGVzdDQnLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGlj
YWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjOCIpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGlj
YWwtdGhpcy00LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1
bmN0aW9uLWxleGljYWwtdGhpcy00LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZjNTllNzUzNTdjZWYyZjFkODc5
ODBhZGVkNDZlMTZhZTdlZDA4YjkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTQuanMKQEAgLTAs
MCArMSwyNiBAQAordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1l
c3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdl
ICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsg
IiciOworICB9Cit9OworCisKK3ZhciBvYmogPSB7CisgIG5hbWU6J29iaicsCisgIGludGVybmFs
T2JqZWN0OiB7CisgICAgbmFtZSAgOidpbnRlcm5hbE9iamVjdCcsCisgICAgbWV0aG9kOiBmdW5j
dGlvbiAoKSB7IHJldHVybiAodmFsdWUpID0+IHRoaXMubmFtZSArICItbmFtZS0iICsgdmFsdWU7
IH0KKyAgfQorfTsKKwordGVzdENhc2Uob2JqLmludGVybmFsT2JqZWN0Lm1ldGhvZCgpKCd0ZXN0
MScpLCAnaW50ZXJuYWxPYmplY3QtbmFtZS10ZXN0MScsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4
aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMxIik7Cit0ZXN0Q2Fz
ZShvYmouaW50ZXJuYWxPYmplY3QubWV0aG9kKCkoJ3Rlc3QyJyksICdpbnRlcm5hbE9iamVjdC1u
YW1lLXRlc3QyJywgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzIiKTsKK3Rlc3RDYXNlKG9iai5pbnRlcm5hbE9iamVjdC5t
ZXRob2QoKSgndGVzdDMnKSwgJ2ludGVybmFsT2JqZWN0LW5hbWUtdGVzdDMnLCAiRXJyb3I6IHRo
aXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAj
MyIpOwordGVzdENhc2Uob2JqLmludGVybmFsT2JqZWN0Lm1ldGhvZCgpKCd0ZXN0NCcpLCAnaW50
ZXJuYWxPYmplY3QtbmFtZS10ZXN0NCcsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJp
bmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM0Iik7CisKK29iai5pbnRlcm5hbE9i
amVjdC5uYW1lPSduZXdJbnRlcm5hbE9iamVjdCc7CisKK3Rlc3RDYXNlKG9iai5pbnRlcm5hbE9i
amVjdC5tZXRob2QoKSgndGVzdDEnKSwgJ25ld0ludGVybmFsT2JqZWN0LW5hbWUtdGVzdDEnLCAi
RXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbiAjNSIpOwordGVzdENhc2Uob2JqLmludGVybmFsT2JqZWN0Lm1ldGhvZCgpKCd0ZXN0
MicpLCAnbmV3SW50ZXJuYWxPYmplY3QtbmFtZS10ZXN0MicsICJFcnJvcjogdGhpcyBpcyBub3Qg
bGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM2Iik7Cit0ZXN0
Q2FzZShvYmouaW50ZXJuYWxPYmplY3QubWV0aG9kKCkoJ3Rlc3QzJyksICduZXdJbnRlcm5hbE9i
amVjdC1uYW1lLXRlc3QzJywgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGlu
c2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzciKTsKK3Rlc3RDYXNlKG9iai5pbnRlcm5hbE9i
amVjdC5tZXRob2QoKSgndGVzdDQnKSwgJ25ld0ludGVybmFsT2JqZWN0LW5hbWUtdGVzdDQnLCAi
RXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbiAjOCIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtdGhpcy01LmpzIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtdGhpcy01LmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjc0MTM5Mjc3YzE3MTE0OGNiOWY3Zjg2N2FkNTkxMGEwYjhlYmYyYzYKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
bGV4aWNhbC10aGlzLTUuanMKQEAgLTAsMCArMSw1MyBAQAordmFyIHNvcnRlZFZhbHVlczsKKwor
dmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAg
aWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0
ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9
OworCisKK3ZhciBvYmogPSB7CisgIGFycjogWzEsIDQsIDYsIDMsIDcsIDBdLAorICBidWJibGVT
b3J0OiBmdW5jdGlvbiAoKSB7CisgICAgcmV0dXJuICgpID0+IHsKKyAgICAgIHZhciB0bXA7Cisg
ICAgICB2YXIgYXIgPSB0aGlzLmFyci5zbGljZSgpOworICAgICAgdmFyIF9sZW5ndGggPSBhci5s
ZW5ndGgKKyAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgX2xlbmd0aDsgaSsrKSB7CisgICAgICAg
IGZvciAodmFyIGogPSBpOyBqID4gMDsgai0tKSB7CisgICAgICAgICAgaWYgKChhcltqXSAtIGFy
W2ogLSAxXSkgPCAwKSB7CisgICAgICAgICAgICB0bXAgPSBhcltqXTsKKyAgICAgICAgICAgIGFy
W2pdID0gYXJbaiAtIDFdOworICAgICAgICAgICAgYXJbaiAtIDFdID0gdG1wOworICAgICAgICAg
IH0KKyAgICAgICAgfQorICAgICAgfQorICAgICAgcmV0dXJuIGFyOworICAgIH0KKyAgfQorfTsK
Kworb2JqLmFyciA9IFsxLCAyLCA0LCA2LCAzLCA3LCAwXTsKKwordGVzdENhc2Uob2JqLmJ1YmJs
ZVNvcnQoKSgpLmxlbmd0aCwgNywgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVk
IGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzEiKTsKK3Rlc3RDYXNlKG9iai5idWJibGVT
b3J0KCkoKS5sZW5ndGgsIDcsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBp
bnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMyIik7Cit0ZXN0Q2FzZShvYmouYnViYmxlU29y
dCgpKCkubGVuZ3RoLCA3LCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5z
aWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMyIpOwordGVzdENhc2Uob2JqLmJ1YmJsZVNvcnQo
KSgpLmxlbmd0aCwgNywgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lk
ZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzQiKTsKK3Rlc3RDYXNlKG9iai5idWJibGVTb3J0KCko
KS5sZW5ndGgsIDcsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUg
b2YgdGhlIGFycm93IGZ1bmN0aW9uICM1Iik7CisKK3ZhciBzb3J0ZWRWYWx1ZXMgPSBvYmouYnVi
YmxlU29ydCgpKCk7Cit0ZXN0Q2FzZShzb3J0ZWRWYWx1ZXNbMF0sIDAsICJFcnJvcjogdGhpcyBp
cyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM2Iik7
Cit0ZXN0Q2FzZShzb3J0ZWRWYWx1ZXNbNl0sIDcsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNh
bGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM3Iik7CisKKworb2JqLmFy
ciA9IFsxLCAyLCA0LCA2LCA1LCA4LCAyMSwgMTksIDBdOworCit0ZXN0Q2FzZShvYmouYnViYmxl
U29ydCgpKCkubGVuZ3RoLCA5LCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQg
aW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjOCIpOwordGVzdENhc2Uob2JqLmJ1YmJsZVNv
cnQoKSgpLmxlbmd0aCwgOSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGlu
c2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzkiKTsKK3Rlc3RDYXNlKG9iai5idWJibGVTb3J0
KCkoKS5sZW5ndGgsIDksICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNp
ZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMxMCIpOwordGVzdENhc2Uob2JqLmJ1YmJsZVNvcnQo
KSgpLmxlbmd0aCwgOSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lk
ZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzExIik7CisKK3NvcnRlZFZhbHVlcyA9IG9iai5idWJi
bGVTb3J0KCkoKTsKK3Rlc3RDYXNlKHNvcnRlZFZhbHVlc1sxXSwgMSwgIkVycm9yOiB0aGlzIGlz
IG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzEyIik7
Cit0ZXN0Q2FzZShzb3J0ZWRWYWx1ZXNbOF0sIDIxLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGlj
YWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMTMiKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252633</attachid>
            <date>2015-05-07 15:04:33 -0700</date>
            <delta_ts>2015-05-07 15:40:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140855-20150508010313.patch</filename>
            <type>text/plain</type>
            <size>190514</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzOTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
MjgyMmQ1OGU3OGVjODBiYWRjMjg3MmM4NzBmNGQ5NzY1ZjQ2NDU0Li5mNzY5NDczN2FlMWY1YTU4
YzA5MGE0OTg2ZmFjYmM4ZjcxZTJlNDdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNjQgQEAKKzIwMTUtMDUtMDEgQWxla3NhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MDg1NQorCisgICAgICAgICAqIHBhcnNlci9QYXJzZXIuaDoKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIHN1cHBvcnQgb2YgRVM2IGFycm93IGZ1
bmN0aW9uLiBDaGFuZ2VzIHdlcmUgbWFkZSBhY2NvcmRpbmcgZm9sbG93aW5nIHNwZWMgaHR0cDov
L3dpa2kuZWNtYXNjcmlwdC5vcmcvZG9rdS5waHA/aWQ9aGFybW9ueTphcnJvd19mdW5jdGlvbl9z
eW50YXgKKyAgICAgICAgSW4gcGF0Y2ggd2VyZSBpbXBsZW1lbnRlZCB0aGUgc2ltcGxlc3QgY2Fz
ZXM6CisgICAgICAgICAgMSBubyBwYXJhbWV0ZXJzICAgICAgICAgICAgICAgICgpID0+IDEwICsg
MjAKKyAgICAgICAgICAyIHNpbmdsZSBwYXJhbWV0ZXIgICAgICAgICAgICAgIHggPT4geCArIDIw
CisgICAgICAgICAgMyBtdWx0aXBsZSBwYXJhbWV0ZXJzICAgICAgKHgsIHkpID0+IHggKyB5Cisg
ICAgICAgICAgNCBhcnJvdyBmdW5jdGlvbiB3aXRoIGJsb2NrICAgICB4ID0+IHsgcmV0dXJuIHgq
MTA7IH0KKyAgICAgICAgICA1IGxleGljYWwgdGhpcyAtIHZhcmlhYmxlIHRoaXMgaXMgcG9pbnQg
dG8gdGhlIHRoaXMgb2YgdGhlIGZ1bmN0aW9uIHdoZXJlIGFycm93IGZ1bmN0aW9uIGlzIGRlY2xh
cmVkCisgICAgICAgICAgNiBObyBjb25zdHJ1Y3RvciAtIHRoZSB1c2luZyBvZiB0aGUgY29tbWFu
ZCBuZXcgZm9yIGFycm93IGZ1bmN0aW9uIGxlYWRzIHRvIHJ1bnRpbWUgZXJyb3IuIAorCisgICAg
ICAgICAgTm90IHlldCBpbXBsZW1lbnRlZDoKKyAgICAgICAgICAxIGxleGljYWwgYmluZCBvZiB0
aGUgYXJndW1lbnRzICYgc3VwZXIKKyAgICAgICAgICAyIEluc2lkZSBhbiBhcnJvdyBmdW5jdGlv
biwgbmV3LnRhcmdldCByZWZlcnMgdG8gdGhlIG5ldy50YXJnZXQgb2YgdGhlIHN1cnJvdW5kaW5n
IG5vbi1hcnJvdyBmdW5jdGlvbi4KKyAgICAgICAgICAzIGFycm93IGZ1bmN0aW9uIGRvZXNuw6LC
gMKZdCBpbmxpbmUgJiBjb21waWxlIGluIERGRyBtb2RlLiAKKworICAgICAgICAgKiBDb25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29y
ZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2o6CisgICAgICAgICogYnl0ZWNvZGUvQnl0
ZWNvZGVMaXN0Lmpzb246CisgICAgICAgICogYnl0ZWNvZGUvQnl0ZWNvZGVVc2VEZWYuaDoKKyAg
ICAgICAgKEpTQzo6RnVuY3Rvcjo6Y29tcHV0ZVVzZXNGb3JCeXRlY29kZU9mZnNldCk6CisgICAg
ICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpk
dW1wQnl0ZWNvZGUpOgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5o
OgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHA6CisgICAgICAg
IChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24p
OiBhZGRlZAorICAgICAgICAoSlNDOjpCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdFRoaXNOb2RlQnl0
ZWNvZGUpOiBhZGRlZAorICAgICAgICAqIGJ5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgor
ICAgICAgICAoSlNDOjplbWl0Qnl0ZWNvZGU6OmVtaXRCeXRlY29kZSk6IGFkZGVkCisgICAgICAg
IChKU0M6OkFycm93RnVuY0V4cHJOb2RlOjplbWl0Qnl0ZWNvZGUpOiBhZGRlZAorICAgICAgICAq
IGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6CisgICAgICAgIChKU0M6OkJ5dGVDb2RlUGFyc2Vy
OjpwYXJzZUJsb2NrKToKKyAgICAgICAgKiBkZmcvREZHQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAg
ICAgKEpTQzo6Q2FwYWJpbGl0eUxldmVsOjpjYXBhYmlsaXR5TGV2ZWwpOgorICAgICAgICAqIGpp
dC9KSVQuaDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX25ld19hcnJvd19mdW5jX2V4cCk6
IGFkZGVkCisgICAgICAgICogaml0L0pJVElubGluZXMuaDoKKyAgICAgICAgKEpTQzo6SklUOjpj
YWxsT3BlcmF0aW9uKTogYWRkZWQKKyAgICAgICAgKiBqaXQvSklULmNwcDoKKyAgICAgICAgKEpT
Qzo6SklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKToKKyAgICAgICAgKiBqaXQvSklUT3Bjb2Rl
cy5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9uZXdfYXJyb3dfZnVuY19leHApOiBh
ZGRlZAorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmNwcDoKKyAgICAgICAgKEpTQzo6SklU
X09QRVJBVElPTjo6b3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbik6IGFkZGVkCisgICAgICAgICog
aml0L0pJVE9wZXJhdGlvbnMuaDoKKyAgICAgICAgKEpTQzo6SklUX09QRVJBVElPTjo6b3BlcmF0
aW9uTmV3QXJyb3dGdW5jdGlvbik6IGFkZGVkCisgICAgICAgICogbGxpbnQvTExJbnRTbG93UGF0
aHMuY3BwOgorICAgICAgICAoTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX25ld19hcnJv
d19mdW5jX2V4cCk6IGFkZGVkCisgICAgICAgICogbGxpbnQvTExJbnRTbG93UGF0aHMuaDoKKyAg
ICAgICAgKExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHAp
KTogYWRkZWQKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToKKyAgICAg
ICAgKiBkZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6
REZHOjpBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVj
dHMpOgorICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6CisgICAgICAgIChKU0M6
OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2spOgorICAgICAgICAqIGRmZy9ERkdDYXBh
YmlsaXRpZXMuY3BwOgorICAgICAgICAoSlNDOjpERkc6OmNhcGFiaWxpdHlMZXZlbCk6CisgICAg
ICAgICogZGZnL0RGR0Nsb2JiZXJpemUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpjbG9iYmVyaXpl
KToKKyAgICAgICAgKiBkZmcvREZHRG9lc0dDLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpkb2Vz
R0MpOgorICAgICAgICAqIGRmZy9ERkdGaXh1cFBoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpGaXh1cFBoYXNlOjpmaXh1cE5vZGUpOgorICAgICAgICAqIGRmZy9ERkdOb2RlLmg6CisgICAg
ICAgIChKU0M6OkRGRzo6Tm9kZTo6aGFzQ2VsbE9wZXJhbmQpOgorICAgICAgICAqIGRmZy9ERkdO
b2RlVHlwZS5oOgorICAgICAgICAqIGRmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5j
cHA6CisgICAgICAgIChKU0M6OkRGRzo6UHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2U6OnByb3Bh
Z2F0ZSk6CisgICAgICAgICogZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaDoKKyAgICAgICAgKEpTQzo6
REZHOjpzYWZlVG9FeGVjdXRlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuaDoK
KyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y2FsbE9wZXJhdGlvbik6CisgICAg
ICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6
OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVK
SVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgor
ICAgICAgICAqIGRmZy9ERkdTdHJ1Y3R1cmVSZWdpc3RyYXRpb25QaGFzZS5jcHA6CisgICAgICAg
IChKU0M6OkRGRzo6U3RydWN0dXJlUmVnaXN0cmF0aW9uUGhhc2U6OnJ1bik6CisgICAgICAgICog
ZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuY3BwOgorICAgICAgICAqIGZ0bC9GVExBYnN0
cmFjdEhlYXBSZXBvc2l0b3J5Lmg6CisgICAgICAgICogZnRsL0ZUTENhcGFiaWxpdGllcy5jcHA6
CisgICAgICAgIChKU0M6OkZUTDo6Y2FuQ29tcGlsZSk6CisgICAgICAgICogZnRsL0ZUTEludHJp
bnNpY1JlcG9zaXRvcnkuaDoKKyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwOgor
ICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlTm9kZSk6CisgICAgICAg
IChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OmNvbXBpbGVOZXdBcnJvd0Z1bmN0aW9uKToKKyAg
ICAgICAgKiBwYXJzZXIvQVNUQnVpbGRlci5oOgorICAgICAgICAoSlNDOjpBU1RCdWlsZGVyOjpj
cmVhdGVBcnJvd0Z1bmN0aW9uRXhwcik6CisgICAgICAgICogcGFyc2VyL0xleGVyLmNwcDoKKyAg
ICAgICAgKEpTQzo6TGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24pOgorICAgICAgICAoSlNDOjpM
ZXhlcjxUPjo6bGV4KToKKyAgICAgICAgKiBwYXJzZXIvTGV4ZXIuaDoKKyAgICAgICAgKEpTQzo6
TGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24pOgorICAgICAgICAqIHBhcnNlci9Ob2RlQ29uc3Ry
dWN0b3JzLmg6CisgICAgICAgIChKU0M6OkFycm93RnVuY0V4cHJOb2RlOjpBcnJvd0Z1bmNFeHBy
Tm9kZSk6IGFkZGVkCisgICAgICAgICogcGFyc2VyL05vZGVzLmg6CisgICAgICAgIChKU0M6Ok5v
ZGU6OmlzQXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZAorICAgICAgICAoSlNDOjpBcnJvd0Z1bmNF
eHByTm9kZSk6IGFkZGVkIGNsYXNzCisgICAgICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisgICAg
ICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsZW1lbnRzKToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFyeUV4cHJlc3Npb24pOgorICAg
ICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU291cmNlRWxlbWVudCk6CisgICAgICAgIChKU0M6OlBh
cnNlcjo6cGFyc2VTdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXNzaWdu
bWVudEV4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlUHJpbWFyeUV4cHJl
c3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dFeHByZXNzaW9uKToKKyAg
ICAgICAgKEpTQzo6UGFyc2VyOjpzZXRFbmRPZlN0YXRlbWVudCk6CisgICAgICAgIChKU0M6OlBh
cnNlcjo6cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcik6CisgICAgICAgIChKU0M6OlBhcnNlcjo6
cGFyc2VBcnJvd0Z1bmN0aW9uSW5mbyk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VBcnJv
d0Z1bmN0aW9uQm9keSk6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorICAgICAgICAoSlND
OjpQYXJzZXI6OkZ1bmN0aW9uUGFyc2VUeXBlKToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJz
ZVNvdXJjZUVsZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU3RhdGVtZW50KToK
KyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RXhwcmVzc2lvbik6CisgICAgICAgIChK
U0M6OlBhcnNlcjo6c2V0RW5kT2ZTdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBh
cnNlQXJyb3dGdW5jdGlvbldyYXBwZXIpOgorICAgICAgICAqIHBhcnNlci9QYXJzZXJGdW5jdGlv
bkluZm8uaDoKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyVG9rZW5zLmg6CisgICAgICAgIChKU0M6
OlBhcnNlckZ1bmN0aW9uSW5mbzo6YXJyb3dGdW5jdGlvbk9mZnNldCk6IGFkZGVkCisgICAgICAg
IChKU0M6OlBhcnNlckZ1bmN0aW9uSW5mbzo6aXNBcnJvd0Z1bmN0aW9uKTogYWRkZWQKKyAgICAg
ICAgKEpTQzo6UGFyc2VyRnVuY3Rpb25JbmZvOjphcnJvd0Z1bmN0aW9uQm9keVR5cGUpOiBhZGRl
ZAorICAgICAgICAqIHBhcnNlci9Tb3VyY2VDb2RlLmg6CisgICAgICAgIChKU0M6OlNvdXJjZUNv
ZGU6OnN1YkFycm93RXhwcmVzc2lvbik6CisgICAgICAgICogcGFyc2VyL1N5bnRheENoZWNrZXIu
aDoKKyAgICAgICAgKEpTQzo6U3ludGF4Q2hlY2tlcjo6Y3JlYXRlQXJyb3dGdW5jdGlvbkV4cHIp
OgorICAgICAgICAqIHBhcnNlci9Tb3VyY2VQcm92aWRlckNhY2hlSXRlbToKKyAgICAgICAgKEpT
Qzo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMpOgorICAgICAgICAo
SlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbSk6CisgICAgICAgIChKU0M6OlNvdXJjZVByb3Zp
ZGVyQ2FjaGVJdGVtOjplbmRBcnJvd0Z1bmN0aW9uVG9rZW4pOgorICAgICAgICAqIHJ1bnRpbWUv
SlNBcnJvd0Z1bmN0aW9uLmg6IGFkZGVkIGNsYXNzIGZvciBoYW5kbGUgYXJyb3cgZnVuY3Rpb24g
Y3JlYXRpb24gYW5kIGV4ZWN1dGlvbgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJvd0Z1bmN0aW9u
LmNwcDoKKyAgICAgICAgKiBydW50aW1lL0pTRnVuY3Rpb24uaDoKKyAgICAgICAgKEpTQzo6SlNG
dW5jdGlvbjo6SlNGdW5jdGlvbik6IGFkZGVkIG9uZSBtb3JlIGNvbnN0cnVjdG9yCisgICAgICAg
ICogcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oOgorICAgICAgICAoSlNDOjpKU0Z1bmN0aW9u
OjpKU0Z1bmN0aW9uKTogYWRkZWQgY29uc3RydWN0b3IgaW1wbGVtZW50YXRpb24KKyAgICAgICAg
KiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmpl
Y3Q6OmluaXQpOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6bV9hcnJvd0Z1bmN0aW9u
U3RydWN0dXJlKTogYWRkZWQKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmFycm93RnVu
Y3Rpb25TdHJ1Y3R1cmUpOgorICAgICAgICAqIFdURi93dGYvRmVhdHVyZURlZmluZXMuaDogYWRk
ZWQgZmVhdHVyZSBmbGFnCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNw
YXJhbXRlci0xLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1hc3BhcmFtdGVyLTIuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1
bmN0aW9uLWJvdW5kLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5j
dGlvbi1jYWxsLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1jb25zdHJ1Y3Rvci5qczoKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1s
ZXhpY2FsLWFyZ3VtZW50cy5qczogQWRkZWQuCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93
ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTEuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3RzL3N0cmVz
cy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtdGhpcy0yLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAtMS5qczogQWRkZWQuCisgICAgICAgICogdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTIuanM6IEFkZGVkLgorICAgICAgICAqIHRl
c3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMDAwMC0xLmpzOiBBZGRlZC4KKyAgICAgICAg
KiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAwMDAtMi5qczogQWRkZWQuCisgICAg
ICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tc3ludGF4LmpzOiBBZGRlZC4KKwogMjAx
NS0wNS0wNyAgQmFzaWxlIENsZW1lbnQgIDxiYXNpbGVfY2xlbWVudEBhcHBsZS5jb20+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCwgYWRkIG1pc3NpbmcgYnJhY2VzIG9uIGEgc2luZ2xlLWxpbmUgaWYg
dGhhdCBnb3QgZXhwYW5kZWQgaW4gcjE4MzkzOQpAQCAtOTI3LDYgKzEwODgsMTQgQEAKICAgICAg
ICAgKEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6cHJvdmVuVmFsdWUpOgogICAgICAgICAoSlND
OjpGVEw6Okxvd2VyREZHVG9MTFZNOjphYnN0cmFjdFN0cnVjdHVyZSk6CiAKKzIwMTUtMDQtMTIg
IEFsZXhhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKyAgICAgICAgU21hbGwg
cmVmYWN0b3Jpbmcgb2YgdGhlIHBhcmNlci5jcHAgZmlsZS4gSXQgaXMgbmVjZXNzYXJ5IHRvIGlu
Y3JlYXNlIHJlYWRhYmlsaXR5IG9mIHRoZSBwYXRjaAorICAgICAgICB3aXRoIEVTNiBBcnJvdyBm
dW5jdGlvbiBpbXBsZW1lbnRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmg6CisgICAg
ICAgICogcGFyc2VyL1BhcnNlci5jcHA6CisKIDIwMTUtMDUtMDEgIE1hcnRpbiBSb2JpbnNvbiAg
PG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVTRSguLi4pIG1hY3JvIHNob3VsZCBl
eHBlY3QgdW5wcmVmaXhlZCB2YXJpYWJsZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhY2E5ODFkYjBkYzI2NzVk
ZDNhODhmODZkYjczMDQ3OGU4NWJlZDBlLi42NmE0OTY3M2JhMzFiYjFkNTcyYjFmZTE3MmNkNWE2
YTgyNDdlN2M4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDQtMTcgIFNrYWNo
a292IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBbRVM2XSBJbXBs
ZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJMRV9FUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVggZm9yIGFycm93IGZ1bmN0aW9uCisKKyAgICAgICAgKiBDb25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxNS0wNS0wNyAgWW9hdiBXZWlz
cyAgPHlvYXZAeW9hdi53cz4KIAogICAgICAgICBGaXggc2l6ZXMgY3Jhc2ggYW5kIGFkZCBpbnZh
bGlkIHZhbHVlIHRlc3RzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDliNDIyYjNlMDU1ZDM4OTFiYTU5
ODAxNWNlZTY3YWI0NjZiMzNkZGIuLmRhZTNmZjc2NmVmNjMwYzM5MmIyZGZiYjFmNzFiOTA5ZjBk
YTdjM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNS0wNC0xNyAgU2th
Y2hrb3YgQWxleGFuZHIgIDxnc2thY2hrb3ZAZ21haWwuY29tPgorCisgICAgICAgIFtFUzZdIElt
cGxlbWVudCBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA4NTUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmZWF0dXJlIGZsYWcgRU5BQkxFX0VTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCBmb3IgYXJyb3cgZnVuY3Rpb24KKworICAgICAgICAqIENvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDE1LTA1LTA1ICBNeWxlcyBD
LiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2ZXJ0ICJJbnRy
b2R1Y2luZyB0aGUgUGxhdGZvcm0gQWJzdHJhY3Rpb24gTGF5ZXIgKFBBTCkiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggODhjOTk3YmVjNjlmNWEzNmRlMzc1NTE3YzcyMmIy
MDFmNzE0NWMwMy4uM2UxOTY5NDZmYmM1NTkyYzFlOWU5NmQwMTk5ZDA1NjI0NTAzODE5YiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNDc0LDYgKzQ3NCw3IEBAIHNldChK
YXZhU2NyaXB0Q29yZV9SVU5USU1FX1NPVVJDRVMKICAgICBydW50aW1lL0pTQXJyYXlCdWZmZXJW
aWV3LmNwcAogICAgIHJ1bnRpbWUvSlNBcnJheUl0ZXJhdG9yLmNwcAogICAgIHJ1bnRpbWUvSlNC
b3VuZEZ1bmN0aW9uLmNwcAorICAgIHJ1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcAogICAgIHJ1
bnRpbWUvSlNHbG9iYWxPYmplY3REZWJ1Z2dhYmxlLmNwcAogICAgIHJ1bnRpbWUvSlNDSlNWYWx1
ZS5jcHAKICAgICBydW50aW1lL0pTQ2FsbGVlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmlu
ZGV4IGZjOTBmNjExNTYyMzFhNDFjYTkxMzdmMTdjNzk1NWU4ZDM3M2IwZWEuLjBjODg0MGY2YWI1
MTg1ZjgzNTRiNzA2MDNlMDI1ZjI1YTJhNzlmNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
QEAgLTQ0LDYgKzQ0LDcgQEAgRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORyA9IEVOQUJMRV9DQUNI
RV9QQVJUSVRJT05JTkc7CiBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7
CiBFTkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9
IEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRB
WCA9IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYOwogRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFM
X1NZTlRBWCA9IEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVg7CiBFTkFCTEVfQ09O
VEVOVF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CkBAIC0yMTUsNCArMjE2
LDQgQEAgRU5BQkxFX0pJVCA9IEVOQUJMRV9KSVQ7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VU
X0FSSVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFU
VVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRF
RF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChF
TkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxF
X0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZB
U19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19T
WU5UQVgpICQoRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkgJChFTkFCTEVfQ09O
VEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9O
U19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NT
U19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9D
U1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVf
Q1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1Nf
U0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhU
KSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJ
VFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NV
UFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJf
SVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFU
SU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVE
X01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVW
RUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkp
ICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVf
R0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAk
KEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykg
JChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lO
UFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlC
QUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVY
VF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lf
Q1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5B
QkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQo
RU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRI
TUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNF
KSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVO
QUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FU
T1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5B
QkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5U
RVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQo
RU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVF
U1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFC
TEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChF
TkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVf
U1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9D
UllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQo
RU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVN
RU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChF
TkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChF
TkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFD
SykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkg
JChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkg
JChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dF
Ql9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkg
JChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9T
QVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9N
T0RFKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxF
X0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NS
T0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVO
VCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChF
TkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVO
QUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVS
SU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikg
JChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJ
TkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZ
T1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9S
RVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19M
RVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVf
Q1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJM
RV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVO
QUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVO
QUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFC
TEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChF
TkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5B
QkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9H
QU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNP
TkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lO
RElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NP
TE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQp
ICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRU
RVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJM
RV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVf
TUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwp
ICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRf
VVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQo
RU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJM
SUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElP
Tl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9J
TlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJF
Ul9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5U
SEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVO
QUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxF
UEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFC
TEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNI
X0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJT
RUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxF
X0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dF
QkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dF
Ql9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAk
KEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hT
TFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfU0FUVVJBVEVEX0xB
WU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZh
U2NyaXB0Q29yZS52Y3hwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagppbmRleCBhNTU1YWU5NWEzZWRiODhiYjE2
NGM2MGM0NDdiM2I3NWRiNWJmNTE3Li5mMDczMjY5N2MyM2ExYjM0YmNjMGJmOTA5ODI0NzQyM2Zh
MWI1YWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
dmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKQEAgLTczNSw2
ICs3MzUsNyBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0FycmF5QnVm
ZmVyUHJvdG90eXBlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVc
SlNBcnJheUJ1ZmZlclZpZXcuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVu
dGltZVxKU0JvdW5kRnVuY3Rpb24uY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
cnVudGltZVxKU0Fycm93RnVuY3Rpb24uY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5ccnVudGltZVxKU0NKU1ZhbHVlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XHJ1bnRpbWVcSlNDYWxsZWUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVu
dGltZVxKU0NhdGNoU2NvcGUuY3BwIiAvPgpAQCAtMTUzOCw2ICsxNTM5LDcgQEAKICAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJheUJ1ZmZlclZpZXdJbmxpbmVzLmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlJdGVyYXRvci5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0JvdW5kRnVuY3Rpb24uaCIg
Lz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJvd0Z1bmN0aW9uLmgi
IC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0lubGluZXMuaCIgLz4K
ICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZS5oIiAvPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NKU1ZhbHVlSW5saW5lcy5oIiAvPgpA
QCAtMTgxOSw0ICsxODIxLDQgQEAKICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJn
ZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcQnVpbGRDdXN0b21p
emF0aW9uc1xtYXNtLnRhcmdldHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+Ci08L1Byb2plY3Q+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCAxZjA0ZjM1NzkzODE1YTEzZTJhMTkxMTViNWY0YjdhNmMwOTE5MGQzLi5k
YjA2MTQ1MDQyODRjMzVhNjAxNTkzMThmODhlNGUzMGZlZjU3ZWJmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtMTEwOCw2ICsxMTA4LDggQEAKIAkJODZGM0VFQkYxNjhDREU5MzAw
NzdCOTJBIC8qIE9iamNSdW50aW1lRXh0cmFzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4NkYzRUVCNjE2ODU1QTVCMDA3N0I5MkEgLyogT2JqY1J1bnRp
bWVFeHRyYXMuaCAqLzsgfTsKIAkJODZGQTlFOTExNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRG
dW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA4NkZBOUU4RjE0MkJCQjJEMDAxNzczQjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAqLzsgfTsK
IAkJODZGQTlFOTIxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGQTlFOTAxNDJCQkIyRTAw
MTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICovOyB9OworCQk4QjBGNDI0QzFBQkQ2REUyMDAz
OTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDhCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVu
Y3Rpb24uY3BwICovOyB9OworCQk4QjBGNDI0QzFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1
bmN0aW9uLmggaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4
QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggKi87IH07CiAJCTkw
MjEzRTNEMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkwMjEzRTNCMTIzQTQwQzIwMEQ0
MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmNwcCAqLzsgfTsKIAkJOTAyMTNFM0UxMjNBNDBDMjAw
RDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0
aXN0aWNzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJOTMwNTJDMzQwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFyZW5hLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMDUyQzMyMEZCNzkyMTkwMDQ4
RkRDMyAvKiBQYXJzZXJBcmVuYS5jcHAgKi87IH07CkBAIC0yODU4LDYgKzI4NjAsOCBAQAogCQk4
NkY3NUVGRDE1MUMwNjJGMDA3QzlCQTMgLyogUmVnRXhwTWF0Y2hlc0FycmF5LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZ0V4cE1hdGNoZXNBcnJheS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBK
U0JvdW5kRnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNCb3VuZEZ1bmN0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODZGQTlF
OTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU0JvdW5kRnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJOEIwRjQyNEExQUJENkQyRjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU0Fycm93RnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Fycm93RnVuY3Rpb24uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5MDIxM0UzQjEyM0E0MEMyMDBENDIyRjMgLyog
TWVtb3J5U3RhdGlzdGljcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBNZW1vcnlTdGF0aXN0aWNzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTAy
MTNFM0MxMjNBNDBDMjAwRDQyMkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gTWVtb3J5U3RhdGlzdGljcy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk5MzA1MkMzMjBGQjc5MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGFyc2VyQXJlbmEuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDQ3Myw2ICs0NDc3LDggQEAKIAkJCQlBN0JE
QUVDNTE3RjRFQTE0MDBGNjE0MEMgLyogSlNBcnJheUl0ZXJhdG9yLmggKi8sCiAJCQkJODZGQTlF
OEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5jcHAgKi8sCiAJCQkJODZGQTlF
OTAxNDJCQkIyRTAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5oICovLAorCQkJCThCMEY0MjRB
MUFCRDZEMkYwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24uaCAqLywKKwkJCQk4QjBGNDI0QjFB
QkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmNwcCAqLywKIAkJCQk2NTdDRjQ1NjE5
QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuY3BwICovLAogCQkJCTY1N0NGNDU3MTlCRjY2NjIw
MDRBQ0JGMiAvKiBKU0NhbGxlZS5oICovLAogCQkJCTBGRDk0OTdFMUE5N0RCOTYwMEUyODk2NiAv
KiBKU0NhdGNoU2NvcGUuY3BwICovLApAQCAtNzIzMSw2ICs3MjM3LDcgQEAKIAkJCQkwRkQ4QTMx
QjE3RDUxRjIyMDBDQTJDNDAgLyogRlRMT1NSRW50cnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MEYyMzVCREMxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4aXQuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMEYyMzVCREYxNzE3OEUxQzAwNjkwQzdGIC8qIEZUTE9TUkV4aXRDb21waWxlci5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQk4QjBGNDI0QzFBQkQ2REUyMDAzOTE3RUEgLyogSlNBcnJvd0Z1
bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGRUEwQTJBMTcwOTYyOTYwMEJCNzIyQyAv
KiBGVExPdXRwdXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY0ODUzMjkxODdERkRFQzAwODNC
Njg3IC8qIEZUTFJlY292ZXJ5T3Bjb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNkIxQ0Mz
MTg2MkM0NzgwMDg0NUQ5NyAvKiBGVExSZWdpc3RlckF0T2Zmc2V0LmNwcCBpbiBTb3VyY2VzICov
LApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlz
dC5qc29uIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29u
CmluZGV4IGUzZWQxZGNkYTRlMDNhNWYxMWVmOTFlNTYxMTllYjkzMDUxZmI3ZjYuLjU2Y2JhOTM2
YzQ3NTA1ZjU0Njg0MWVkNTdiYjliOGU4ZDNkMTZkOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxpc3QuanNvbgorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24KQEAgLTk1LDYgKzk1LDcgQEAKICAg
ICAgICAgICAgIHsgIm5hbWUiIDogIm9wX3N3aXRjaF9zdHJpbmciLCAibGVuZ3RoIiA6IDQgfSwK
ICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX25ld19mdW5jIiwgImxlbmd0aCIgOiA0IH0sCiAg
ICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfZnVuY19leHAiLCAibGVuZ3RoIiA6IDQgfSwK
KyAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX25ld19hcnJvd19mdW5jX2V4cCIsICJsZW5ndGgi
IDogNSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbCIsICJsZW5ndGgiIDogOSB9
LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbF9ldmFsIiwgImxlbmd0aCIgOiA5IH0s
CiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9jYWxsX3ZhcmFyZ3MiLCAibGVuZ3RoIiA6IDkg
fSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVz
ZURlZi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgK
aW5kZXggNzY2N2U2ODNlNDU0YTQ5OTk4NmVkYWNkOTBiNjQ5MTcyNDIwMzdjZC4uZGE0YTJhYWVl
YzI4NDU5NDFhZTM2NmRjZmI5ODU5MWNjYjNjY2Q0NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmgKQEAgLTExNSw2ICsxMTUsOSBAQCB2b2lk
IGNvbXB1dGVVc2VzRm9yQnl0ZWNvZGVPZmZzZXQoCiAgICAgY2FzZSBvcF9nZXRfcHJvcGVydHlf
ZW51bWVyYXRvcjoKICAgICBjYXNlIG9wX2dldF9lbnVtZXJhYmxlX2xlbmd0aDoKICAgICBjYXNl
IG9wX25ld19mdW5jX2V4cDoKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQor
ICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorI2VuZGlmCiAgICAgY2FzZSBvcF90b19p
bmRleF9zdHJpbmc6CiAgICAgY2FzZSBvcF9pbml0X2dsb2JhbF9jb25zdF9ub3A6CiAgICAgY2Fz
ZSBvcF9pbml0X2dsb2JhbF9jb25zdDoKQEAgLTMwNyw2ICszMTAsOSBAQCB2b2lkIGNvbXB1dGVE
ZWZzRm9yQnl0ZWNvZGVPZmZzZXQoQ29kZUJsb2NrKiBjb2RlQmxvY2ssIHVuc2lnbmVkIGJ5dGVj
b2RlT2Zmc2V0LAogICAgIGNhc2Ugb3BfbmV3X3JlZ2V4cDoKICAgICBjYXNlIG9wX25ld19mdW5j
OgogICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpCisgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6CisjZW5kaWYKICAgICBj
YXNlIG9wX2NhbGxfdmFyYXJnczoKICAgICBjYXNlIG9wX2NvbnN0cnVjdF92YXJhcmdzOgogICAg
IGNhc2Ugb3BfZ2V0X2Zyb21fc2NvcGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9Db2RlQmxvY2suY3BwCmluZGV4IDkwMTM4Zjk3Y2JkODI4Zjk3MmNiMjI0NDJiZjQwNDQxZDEz
ZjQwNTYuLjcxODNkMDRkZDg4MmJiNjIyM2ZiYWNlMTdlNWZiYjUwMDkxZDgwMDQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCkBAIC0xMzAxLDYgKzEz
MDEsMTcgQEAgdm9pZCBDb2RlQmxvY2s6OmR1bXBCeXRlY29kZSgKICAgICAgICAgICAgIG91dC5w
cmludGYoIiVzLCAlcywgZiVkIiwgcmVnaXN0ZXJOYW1lKHIwKS5kYXRhKCksIHJlZ2lzdGVyTmFt
ZShyMSkuZGF0YSgpLCBmMCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGNhc2Ugb3BfbmV3X2Fycm93
X2Z1bmNfZXhwOiB7CisgICAgICAgICAgICBpbnQgcjAgPSAoKytpdCktPnUub3BlcmFuZDsKKyAg
ICAgICAgICAgIGludCByMSA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgaW50IGYw
ID0gKCsraXQpLT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBpbnQgcjIgPSAoKytpdCktPnUub3Bl
cmFuZDsKKyAgICAgICAgICAgIHByaW50TG9jYXRpb25BbmRPcChvdXQsIGV4ZWMsIGxvY2F0aW9u
LCBpdCwgIm9wX25ld19hcnJvd19mdW5jX2V4cCIpOworICAgICAgICAgICAgb3V0LnByaW50Zigi
JXMsICVzLCBmJWQsICVzIiwgcmVnaXN0ZXJOYW1lKHIwKS5kYXRhKCksIHJlZ2lzdGVyTmFtZShy
MSkuZGF0YSgpLCBmMCwgcmVnaXN0ZXJOYW1lKHIyKS5kYXRhKCkpOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDogewog
ICAgICAgICAgICAgaW50IHIwID0gKCsraXQpLT51Lm9wZXJhbmQ7CiAgICAgICAgICAgICBpbnQg
cjEgPSAoKytpdCktPnUub3BlcmFuZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKaW5kZXggMmYyMWU0OWI2NTEw
ZjFiZTU4ZDA5YzMxNDA1ZTM3Y2E5ZWRiMzE5Zi4uNDE4ODlhYTM0ZGFmZmYxMDY0MDA2ZmM4MzBk
OTdmZjBmMDY2YjJhNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21w
aWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAKQEAgLTE3NzUsNiArMTc3NSwyMiBAQCBS
ZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lvbihS
ZWdpc3RlcklEKiByMCwgRnVuY0V4cAogICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChpbmRleCk7
CiAgICAgcmV0dXJuIHIwOwogfQorICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCitSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Fycm93RnVuY3Rp
b25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIHIwLCBGdW5jRXhwck5vZGUqIG4pCit7CisgICAgZW1p
dFREWkNoZWNrKHRoaXNSZWdpc3RlcigpKTsKKyAgICBGdW5jdGlvbkJvZHlOb2RlKiBmdW5jdGlv
biA9IG4tPmJvZHkoKTsKKyAgICB1bnNpZ25lZCBpbmRleCA9IG1fY29kZUJsb2NrLT5hZGRGdW5j
dGlvbkV4cHIobWFrZUZ1bmN0aW9uKGZ1bmN0aW9uKSk7CisgICAgCisgICAgZW1pdE9wY29kZShv
cF9uZXdfYXJyb3dfZnVuY19leHApOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChyMC0+aW5k
ZXgoKSk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKHNjb3BlUmVnaXN0ZXIoKS0+aW5kZXgo
KSk7CisgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKGluZGV4KTsKKyAgICBpbnN0cnVjdGlvbnMo
KS5hcHBlbmQodGhpc1JlZ2lzdGVyKCktPmluZGV4KCkpOworICAgIHJldHVybiByMDsKK30KKyNl
bmRpZgogCiBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0RlZmF1bHRDb25z
dHJ1Y3RvcihSZWdpc3RlcklEKiBkc3QsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQs
IGNvbnN0IElkZW50aWZpZXImIG5hbWUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggOWFmOGQ0ZmM0ODVk
OTg5MjQxYjExMTE4MDkyN2FhYTc2YTk1MzFjNC4uY2E2OGEyOWU2YmYxNWJlZTIwYjY5N2EwNGYy
ODdlY2ZmOGJiYzhjZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21w
aWxlci9CeXRlY29kZUdlbmVyYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaApAQCAtNDU0LDYgKzQ1NCwxMCBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0Z1bmN0aW9uSW50ZXJuYWwoUmVn
aXN0ZXJJRCogZHN0LCB1bnNpZ25lZCBpbmRleCk7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRO
ZXdGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCogZHN0LCBGdW5jRXhwck5vZGUqIGZ1bmMp
OwogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3RGVmYXVsdENvbnN0cnVjdG9yKFJlZ2lzdGVy
SUQqIGRzdCwgQ29uc3RydWN0b3JLaW5kLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKTsKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBSZWdpc3RlcklEKiBlbWl0
TmV3QXJyb3dGdW5jdGlvbkV4cHJlc3Npb24oUmVnaXN0ZXJJRCosIEZ1bmNFeHByTm9kZSopOwor
ICAgICAgICBSZWdpc3RlcklEKiBlbWl0VGhpc05vZGVCeXRlY29kZShSZWdpc3RlcklEKiwgSlNU
ZXh0UG9zaXRpb24pOworI2VuZGlmCiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdSZWdFeHAo
UmVnaXN0ZXJJRCogZHN0LCBSZWdFeHAqKTsKIAogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TW92
ZUxpbmtUaW1lQ29uc3RhbnQoUmVnaXN0ZXJJRCogZHN0LCBMaW5rVGltZUNvbnN0YW50KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2Vu
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNw
cAppbmRleCAwMjkwYzgxYWIwOTczY2VkMDZkNWE2ZGZlNzhjMjI1MTk2YjIyYjJmLi5kMzQzOGJl
MzQ0MmIzNGEwZmE5ZDJjMzk1MjhjYjE2ZTY4Njg1YmQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCkBAIC0yOTAxLDYgKzI5
MDEsMTQgQEAgUmVnaXN0ZXJJRCogRnVuY0V4cHJOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVH
ZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCoKICAgICByZXR1cm4gZ2VuZXJhdG9yLmVt
aXROZXdGdW5jdGlvbkV4cHJlc3Npb24oZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0KSwg
dGhpcyk7CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAgICAKKy8v
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBBcnJvd0Z1bmNFeHByTm9kZSAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1JlZ2lzdGVySUQqIEFycm93RnVuY0V4cHJOb2Rl
OjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCog
ZHN0KQoreworICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNz
aW9uKGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHRoaXMpOworfQorI2VuZGlmCisg
ICAgCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0gQ2xhc3NEZWNsTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdElu
dGVycHJldGVySW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFj
dEludGVycHJldGVySW5saW5lcy5oCmluZGV4IDUzYzg0NWY1NmViNDA0MDg1M2Y0MTcyMTIwMGQ1
NTU0MDE4YTk3OTEuLjg0YTQzMWYyY2VlOGY3YjM2ZGYzOTk5N2Y5YmMyMzZkYTI3YzdiZWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRl
cklubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50
ZXJwcmV0ZXJJbmxpbmVzLmgKQEAgLTE1MzYsNyArMTUzNiwxMiBAQCBib29sIEFic3RyYWN0SW50
ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyh1bnNpZ25lZCBjbG9i
YmVyTGltaQogICAgIGNhc2UgQ3JlYXRlQ2xvbmVkQXJndW1lbnRzOgogICAgICAgICBmb3JOb2Rl
KG5vZGUpLnNldFR5cGUobV9ncmFwaCwgU3BlY09iamVjdE90aGVyKTsKICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIAorICAgICAgICAgICAgCisgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgorICAg
ICAgICBmb3JOb2RlKG5vZGUpLnNldCgKKyAgICAgICAgICAgIG1fZ3JhcGgsIG1fY29kZUJsb2Nr
LT5nbG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKS0+YXJyb3dGdW5jdGlvblN0
cnVjdHVyZSgpKTsKKyAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAKICAgICBjYXNlIE5ld0Z1
bmN0aW9uOgogICAgICAgICBmb3JOb2RlKG5vZGUpLnNldCgKICAgICAgICAgICAgIG1fZ3JhcGgs
IG1fY29kZUJsb2NrLT5nbG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKS0+ZnVu
Y3Rpb25TdHJ1Y3R1cmUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0J5dGVDb2RlUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0
ZUNvZGVQYXJzZXIuY3BwCmluZGV4IDRjNmJiZGQyZmY2M2RmMGM1MGQ4OTg4ODY1NDVjZjEzZmY3
YWVmYzIuLjAzMDVhODk4NGJlN2FjZTA1ZDI3YTRjNGYyNThlM2I2ZmI4NzA5NjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCkBAIC0zNzY2
LDYgKzM3NjYsMTcgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZCBs
aW1pdCkKICAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX25ld19mdW5jX2V4cCk7CiAgICAgICAg
IH0KIAorICAgICAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDogeworICAgICAgICAgICAg
RnVuY3Rpb25FeGVjdXRhYmxlKiBleHByID0gbV9pbmxpbmVTdGFja1RvcC0+bV9wcm9maWxlZEJs
b2NrLT5mdW5jdGlvbkV4cHIoY3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZCk7CisgICAg
ICAgICAgICBGcm96ZW5WYWx1ZSogZnJvemVuID0gbV9ncmFwaC5mcmVlemVTdHJvbmcoZXhwcik7
CisgICAgICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51
Lm9wZXJhbmQpLAorICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgoTmV3QXJyb3dGdW5jdGlvbiwg
T3BJbmZvKGZyb3plbiksCisgICAgICAgICAgICAgICAgICAgIGdldChWaXJ0dWFsUmVnaXN0ZXIo
Y3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCkpLAorICAgICAgICAgICAgICAgICAgICBn
ZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvbls0XS51Lm9wZXJhbmQpKSkpOwor
ICAgICAgICAgICAgCisgICAgICAgICAgICBORVhUX09QQ09ERShvcF9uZXdfYXJyb3dfZnVuY19l
eHApOworICAgICAgICB9CisKICAgICAgICAgY2FzZSBvcF90eXBlb2Y6IHsKICAgICAgICAgICAg
IHNldChWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCksCiAg
ICAgICAgICAgICAgICAgYWRkVG9HcmFwaChUeXBlT2YsIGdldChWaXJ0dWFsUmVnaXN0ZXIoY3Vy
cmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCkpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAKaW5kZXggZWY0YzI0NzQ5Yjc4ZmE2ZTA5YTRjM2Q5
YzI5MDEzZWFhNjVkYWE5Mi4uYmUyOTBiM2JmZmMyNGUxNDViMTMzNWI2ZDg3YzljNjIwMDYzMjlj
ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcApA
QCAtMjA3LDYgKzIwNyw3IEBAIENhcGFiaWxpdHlMZXZlbCBjYXBhYmlsaXR5TGV2ZWwoT3Bjb2Rl
SUQgb3Bjb2RlSUQsIENvZGVCbG9jayogY29kZUJsb2NrLCBJbnN0cnVjCiAgICAgY2FzZSBvcF90
b19pbmRleF9zdHJpbmc6CiAgICAgY2FzZSBvcF9uZXdfZnVuYzoKICAgICBjYXNlIG9wX25ld19m
dW5jX2V4cDoKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKICAgICBjYXNlIG9wX2Ny
ZWF0ZV9sZXhpY2FsX2Vudmlyb25tZW50OgogICAgICAgICByZXR1cm4gQ2FuQ29tcGlsZUFuZElu
bGluZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVy
aXplLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaAppbmRleCA2
MGE4OTk0ODNiMDVhODkzZmQ2ZjM4NWI0MjM5NDRjYTFkNTY5ZWRjLi43ODVmNjc3YmNlN2RmMDUx
NjBkMTNmNDQ2ODZmNmQ5YTYwMjI4OGZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0Nsb2JiZXJpemUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0Nsb2JiZXJpemUuaApAQCAtODU5LDcgKzg1OSw4IEBAIHZvaWQgY2xvYmJlcml6ZShHcmFwaCYg
Z3JhcGgsIE5vZGUqIG5vZGUsIGNvbnN0IFJlYWRGdW5jdG9yJiByZWFkLCBjb25zdCBXcml0ZUZ1
CiAgICAgICAgIHJlYWQoSGVhcE9iamVjdENvdW50KTsKICAgICAgICAgd3JpdGUoSGVhcE9iamVj
dENvdW50KTsKICAgICAgICAgcmV0dXJuOwotICAgICAgICAKKyAgICAKKyAgICBjYXNlIE5ld0Fy
cm93RnVuY3Rpb246CiAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICAgICAgaWYgKG5vZGUtPmNh
c3RPcGVyYW5kPEZ1bmN0aW9uRXhlY3V0YWJsZSo+KCktPnNpbmdsZXRvbkZ1bmN0aW9uKCktPmlz
U3RpbGxWYWxpZCgpKQogICAgICAgICAgICAgd3JpdGUoV2F0Y2hwb2ludF9maXJlKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcAppbmRleCBhOWUzMGFjYjRiMGEzZTQ2ZDE5
YWMyOGM5MzE2NzEwZTBkZWFjMDQ1Li44NmIwZjAzMGZiMWYzZThlM2VhNGE5MDgwOTlkZjk2ODcx
MGU5Yjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCkBAIC0yMjks
NiArMjI5LDcgQEAgYm9vbCBkb2VzR0MoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlKQogICAgIGNh
c2UgTmV3UmVnZXhwOgogICAgIGNhc2UgTmV3U3RyaW5nT2JqZWN0OgogICAgIGNhc2UgTWFrZVJv
cGU6CisgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgogICAgIGNhc2UgTmV3RnVuY3Rpb246CiAg
ICAgY2FzZSBOZXdUeXBlZEFycmF5OgogICAgIGNhc2UgVGhyb3dSZWZlcmVuY2VFcnJvcjoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCmluZGV4IDdhYjFiMTYz
MmFiMTJkODZmNDIyYjVhODkzNzVkZjBhMGRkYmUxMjMuLjg5ZTdkZTkxY2Q5ZWNjYTU0YTAwZmQ4
ZDVmNTVmMWVlYWZhMGQ5NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHRml4dXBQaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1
cFBoYXNlLmNwcApAQCAtMTE4NCw3ICsxMTg0LDE1IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBm
aXhFZGdlPENlbGxVc2U+KG5vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICB9Ci0gICAgICAgICAgICAKKworICAgICAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246IHsK
KyAgICAgICAgICAgIGZpeEVkZ2U8Q2VsbFVzZT4obm9kZS0+Y2hpbGQxKCkpOworICAgICAgICAg
ICAgZml4RWRnZTxDZWxsVXNlPihub2RlLT5jaGlsZDIoKSk7CisgICAgICAgICAgICBtX2luc2Vy
dGlvblNldC5pbnNlcnROb2RlKG1faW5kZXhJbkJsb2NrLCBTcGVjTm9uZSwgQ2hlY2ssIG5vZGUt
Pm9yaWdpbiwKKyAgICAgICAgICAgICAgICBFZGdlKG5vZGUtPmNoaWxkMigpLm5vZGUoKSwgT3Ro
ZXJVc2UpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKICNpZiAhQVNTRVJUX0RJ
U0FCTEVECiAgICAgICAgIC8vIEhhdmUgdGhlc2Ugbm8tb3AgY2FzZXMgaGVyZSB0byBlbnN1cmUg
dGhhdCBub2JvZHkgZm9yZ2V0cyB0byBhZGQgaGFuZGxlcnMgZm9yIG5ldyBvcGNvZGVzLgogICAg
ICAgICBjYXNlIFNldEFyZ3VtZW50OgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdOb2RlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAppbmRl
eCAyZDc3NWY1MWU1ZDU5ZTI3ODUyNzkxNDgxZDQ3M2RlNTAzMzJiZDA5Li5jMjk1ODJhYTlkYmVh
NWEzZjEyZDc4NWFlODczZWVhMjUxYjkwN2YwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR05vZGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05v
ZGUuaApAQCAtMTI4Niw2ICsxMjg2LDcgQEAgc3RydWN0IE5vZGUgewogICAgICAgICBjYXNlIENo
ZWNrQ2VsbDoKICAgICAgICAgY2FzZSBOYXRpdmVDb25zdHJ1Y3Q6CiAgICAgICAgIGNhc2UgTmF0
aXZlQ2FsbDoKKyAgICAgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgogICAgICAgICBjYXNlIE5l
d0Z1bmN0aW9uOgogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGRlZmF1bHQ6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKaW5kZXggNzVjODg0MjM3YTAwYjE2
ZDg3MGQyNDAxNDU5MzE4ZGVkYzFhZThmYy4uMDMxMzIzMGE3MzUyMmUzMjY5ODUyZDk1ZmM5ZTAx
MmMyN2U2NDMwYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2Rl
VHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaApAQCAt
MjkzLDYgKzI5Myw4IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKICAgICBcCiAg
ICAgbWFjcm8oTmV3RnVuY3Rpb24sIE5vZGVSZXN1bHRKUykgXAogICAgIFwKKyAgICBtYWNybyhO
ZXdBcnJvd0Z1bmN0aW9uLCBOb2RlUmVzdWx0SlMpIFwKKyAgICBcCiAgICAgLyogVGhlc2UgYXJl
bid0IHRlcm1pbmFscyBidXQgYWx3YXlzIGV4aXQgKi8gXAogICAgIG1hY3JvKFRocm93LCBOb2Rl
TXVzdEdlbmVyYXRlKSBcCiAgICAgbWFjcm8oVGhyb3dSZWZlcmVuY2VFcnJvciwgTm9kZU11c3RH
ZW5lcmF0ZSkgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVk
aWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcAppbmRleCAzMWQ2NmFiZTVjOGFjNzQ3MDZm
MWQyZGFkOTI5ODEzM2Y3Yzg1ODY1Li5iNzA4NDExZDljY2Y0MjkzY2EyNTNmNWI0NTRiYzYwNWQ5
MTAzYTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rp
b25Qcm9wYWdhdGlvblBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcApAQCAtMjE3LDYgKzIxNyw3IEBAIHByaXZh
dGU6CiAgICAgICAgIGNhc2UgR2V0R2V0dGVyOgogICAgICAgICBjYXNlIEdldFNldHRlcjoKICAg
ICAgICAgY2FzZSBHZXRDYWxsZWU6CisgICAgICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKICAg
ICAgICAgY2FzZSBOZXdGdW5jdGlvbjogewogICAgICAgICAgICAgY2hhbmdlZCB8PSBzZXRQcmVk
aWN0aW9uKFNwZWNGdW5jdGlvbik7CiAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKaW5kZXggZjRiMDc5Zjg3YjAxOGMwMDU3
MzI2ZWIwOTUxNDI2MDc4NWUzMmVjNi4uNWU1MmI0ZWE4NDg2Y2U5OThjM2FhMjgzOTM0Y2E4Y2Q0
YmYwZDY1NyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9F
eGVjdXRlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRl
LmgKQEAgLTIyOCw2ICsyMjgsNyBAQCBib29sIHNhZmVUb0V4ZWN1dGUoQWJzdHJhY3RTdGF0ZVR5
cGUmIHN0YXRlLCBHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUpCiAgICAgY2FzZSBDcmVhdGVDbG9u
ZWRBcmd1bWVudHM6CiAgICAgY2FzZSBHZXRGcm9tQXJndW1lbnRzOgogICAgIGNhc2UgUHV0VG9B
cmd1bWVudHM6CisgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgogICAgIGNhc2UgTmV3RnVuY3Rp
b246CiAgICAgY2FzZSBKdW1wOgogICAgIGNhc2UgQnJhbmNoOgpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAppbmRleCAzNmQ5YmYwOWRmNjAxNmM4
ZjU4NWFiZWJlMjkzZGU2NmRmYjA4MjcxLi43NDhkNTQzODdlMmY1OTc1ZDY3NDgzNGVjMDQwYjlj
YTc0MzJjMGI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklULmNwcApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgIkRGR1NhbmVTdHJpbmdHZXRC
eVZhbFNsb3dQYXRoR2VuZXJhdG9yLmgiCiAjaW5jbHVkZSAiREZHU2xvd1BhdGhHZW5lcmF0b3Iu
aCIKICNpbmNsdWRlICJEaXJlY3RBcmd1bWVudHMuaCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rp
b24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNFbnZpcm9ubWVudFJl
Y29yZC5oIgogI2luY2x1ZGUgIkpTTGV4aWNhbEVudmlyb25tZW50LmgiCkBAIC00MzYyLDYgKzQz
NjMsNjMgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUdldEFycmF5TGVuZ3RoKE5vZGUq
IG5vZGUpCiAgICAgICAgIGJyZWFrOwogICAgIH0gfQogfQorICAgIAordm9pZCBTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZU5ld0Fycm93RnVuY3Rpb24oTm9kZSogbm9kZSkKK3sKKyAgICBTcGVjdWxh
dGVDZWxsT3BlcmFuZCBzY29wZSh0aGlzLCBub2RlLT5jaGlsZDEoKSk7CisgICAgR1BSUmVnIHNj
b3BlR1BSID0gc2NvcGUuZ3ByKCk7CisKKyAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCB0aGlzVmFs
dWUodGhpcywgbm9kZS0+Y2hpbGQyKCkpOworICAgIEdQUlJlZyB0aGlzVmFsdWVHUFIgPSB0aGlz
VmFsdWUuZ3ByKCk7CisKKyAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUgPSBub2Rl
LT5jYXN0T3BlcmFuZDxGdW5jdGlvbkV4ZWN1dGFibGUqPigpOworCisgICAgaWYgKGV4ZWN1dGFi
bGUtPnNpbmdsZXRvbkZ1bmN0aW9uKCktPmlzU3RpbGxWYWxpZCgpKSB7CisgICAgICAgIEdQUkZs
dXNoZWRDYWxsUmVzdWx0IHJlc3VsdCh0aGlzKTsKKyAgICAgICAgR1BSUmVnIHJlc3VsdEdQUiA9
IHJlc3VsdC5ncHIoKTsKKworICAgICAgICBmbHVzaFJlZ2lzdGVycygpOworCisgICAgICAgIGNh
bGxPcGVyYXRpb24ob3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbiwgcmVzdWx0R1BSLCBzY29wZUdQ
UiwgZXhlY3V0YWJsZSwgdGhpc1ZhbHVlR1BSKTsKKyAgICAgICAgY2VsbFJlc3VsdChyZXN1bHRH
UFIsIG5vZGUpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUgPSBtX2ppdC5ncmFwaCgpLmdsb2JhbE9iamVjdEZvcihub2RlLT5vcmlnaW4uc2VtYW50
aWMpLT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCk7CisKKyAgICBHUFJUZW1wb3JhcnkgcmVzdWx0
KHRoaXMpOworICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMSh0aGlzKTsKKyAgICBHUFJUZW1wb3Jh
cnkgc2NyYXRjaDIodGhpcyk7CisKKyAgICBHUFJSZWcgcmVzdWx0R1BSID0gcmVzdWx0Lmdwcigp
OworICAgIEdQUlJlZyBzY3JhdGNoMUdQUiA9IHNjcmF0Y2gxLmdwcigpOworICAgIEdQUlJlZyBz
Y3JhdGNoMkdQUiA9IHNjcmF0Y2gyLmdwcigpOworCisgICAgSklUQ29tcGlsZXI6Okp1bXBMaXN0
IHNsb3dQYXRoOworICAgIGVtaXRBbGxvY2F0ZUpTT2JqZWN0V2l0aEtub3duU2l6ZTxKU0Fycm93
RnVuY3Rpb24+KAorICAgICAgICByZXN1bHRHUFIsIFRydXN0ZWRJbW1QdHIoc3RydWN0dXJlKSwg
VHJ1c3RlZEltbVB0cigwKSwKKyAgICAgICAgc2NyYXRjaDFHUFIsIHNjcmF0Y2gyR1BSLCBzbG93
UGF0aCwgSlNBcnJvd0Z1bmN0aW9uOjphbGxvY2F0aW9uU2l6ZSgwKSk7CisKKyAgICBtX2ppdC5z
dG9yZVB0cigKKyAgICAgICAgc2NvcGVHUFIsCisgICAgICAgIEpJVENvbXBpbGVyOjpBZGRyZXNz
KHJlc3VsdEdQUiwgSlNBcnJvd0Z1bmN0aW9uOjpvZmZzZXRPZlNjb3BlQ2hhaW4oKSkpOworICAg
IG1faml0LnN0b3JlUHRyKAorICAgICAgICBUcnVzdGVkSW1tUHRyKGV4ZWN1dGFibGUpLAorICAg
ICAgICBKSVRDb21waWxlcjo6QWRkcmVzcyhyZXN1bHRHUFIsIEpTQXJyb3dGdW5jdGlvbjo6b2Zm
c2V0T2ZFeGVjdXRhYmxlKCkpKTsKKyAgICBtX2ppdC5zdG9yZVB0cigKKyAgICAgICAgVHJ1c3Rl
ZEltbVB0cigwKSwKKyAgICAgICAgSklUQ29tcGlsZXI6OkFkZHJlc3MocmVzdWx0R1BSLCBKU0Fy
cm93RnVuY3Rpb246Om9mZnNldE9mUmFyZURhdGEoKSkpOworICAgIG1faml0LnN0b3JlUHRyKAor
ICAgICAgICB0aGlzVmFsdWVHUFIsCisgICAgICAgIEpJVENvbXBpbGVyOjpBZGRyZXNzKHJlc3Vs
dEdQUiwgSlNBcnJvd0Z1bmN0aW9uOjpvZmZzZXRPZlRoaXNWYWx1ZSgpKSk7CisKKyAgICBhZGRT
bG93UGF0aEdlbmVyYXRvcigKKyAgICAgICAgc2xvd1BhdGhDYWxsKAorICAgICAgICAgICAgc2xv
d1BhdGgsIHRoaXMsIG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb25XaXRoSW52YWxpZGF0ZWRSZWFs
bG9jYXRpb25XYXRjaHBvaW50LAorICAgICAgICAgICAgcmVzdWx0R1BSLCBzY29wZUdQUiwgZXhl
Y3V0YWJsZSwgdGhpc1ZhbHVlR1BSKSk7CisgICAgICAgIAorICAgIGNlbGxSZXN1bHQocmVzdWx0
R1BSLCBub2RlKTsKK30KIAogdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZU5ld0Z1bmN0aW9u
KE5vZGUqIG5vZGUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklULmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklULmgKaW5kZXggNjdlNjczYjFjMWI2YjIxYWU3MTAzODM0YzlhZmIyYzA2ZTcxZDkxZC4u
YjlhZjUxOGJiNTJiN2I5MGI5NjQzMGNmOTc4NmYzZmQ2NDI1NDlkMSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaApAQCAtMTIwNSw2ICsxMjA1LDEy
IEBAIHB1YmxpYzoKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFy
ZzEsIFRydXN0ZWRJbW1QdHIoY2VsbCkpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhF
eGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQorICAgIAor
ICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0NK
IG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgR1BSUmVnIGFyZzEsIEpTQ2VsbCogY2VsbCwgR1BS
UmVnIGFyZzIpCisgICAgeworICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3Rh
dGUoYXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSwgYXJnMik7CisgICAgICAgIHJldHVybiBhcHBl
bmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAg
ICB9CiAKICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9u
X0VXcyBvcGVyYXRpb24sIFdhdGNocG9pbnRTZXQqIHdhdGNocG9pbnRTZXQpCiAgICAgewpAQCAt
MTYxMSw2ICsxNjE3LDExIEBAIHB1YmxpYzoKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNX
aXRoRXhlY1N0YXRlKGFyZzEsIFRydXN0ZWRJbW1QdHIoY2VsbCkpOwogICAgICAgICByZXR1cm4g
YXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdFBh
eWxvYWQsIHJlc3VsdFRhZyk7CiAgICAgfQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVy
YXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0NKIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdFRhZywg
R1BSUmVnIHJlc3VsdFBheWxvYWQsIEdQUlJlZyBhcmcxLCBKU0NlbGwqIGNlbGwsIEdQUlJlZyBh
cmcyKQorICAgIHsKKyAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFy
ZzEsIFRydXN0ZWRJbW1QdHIoY2VsbCksIGFyZzIpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2Fs
bFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdFBheWxvYWQsIHJl
c3VsdFRhZyk7CisgICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9K
SVRPcGVyYXRpb25fRVNzaUNJIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdFRhZywgR1BSUmVnIHJl
c3VsdFBheWxvYWQsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgR1BSUmVnIGFyZzEsIGNv
bnN0IFN0cmluZ0ltcGwqIHVpZCkKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRz
V2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHN0dWJJbmZvKSwgYXJnMSwgVHJ1c3RlZEltbVB0
cih1aWQpKTsKQEAgLTIyMTEsNiArMjIyMiw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGNvbXBpbGVH
ZXRCeVZhbE9uRmxvYXRUeXBlZEFycmF5KE5vZGUqLCBUeXBlZEFycmF5VHlwZSk7CiAgICAgdm9p
ZCBjb21waWxlUHV0QnlWYWxGb3JGbG9hdFR5cGVkQXJyYXkoR1BSUmVnIGJhc2UsIEdQUlJlZyBw
cm9wZXJ0eSwgTm9kZSosIFR5cGVkQXJyYXlUeXBlKTsKICAgICB2b2lkIGNvbXBpbGVOZXdGdW5j
dGlvbihOb2RlKik7CisgICAgdm9pZCBjb21waWxlTmV3QXJyb3dGdW5jdGlvbihOb2RlKik7CiAg
ICAgdm9pZCBjb21waWxlRm9yd2FyZFZhcmFyZ3MoTm9kZSopOwogICAgIHZvaWQgY29tcGlsZUNy
ZWF0ZUFjdGl2YXRpb24oTm9kZSopOwogICAgIHZvaWQgY29tcGlsZUNyZWF0ZURpcmVjdEFyZ3Vt
ZW50cyhOb2RlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUMzJfNjQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVDMyXzY0LmNwcAppbmRleCAyM2NmMjQ0YjBjODNjOTcxNWJlNzExNTRlYjZjMjY3
ZWQ1YTMzODc0Li42OWU4ZWViM2YxMzMzYTVkMzhkNGI0M2M1MWYzZjQ3ODcwMGNhYjFmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82
NC5jcHAKQEAgLTQyMTMsNyArNDIxMywxMSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxl
KE5vZGUqIG5vZGUpCiAgICAgICAgIGNvbXBpbGVDcmVhdGVDbG9uZWRBcmd1bWVudHMobm9kZSk7
CiAgICAgICAgIGJyZWFrOwogICAgIH0KLSAgICAgICAgCisgICAgCisgICAgY2FzZSBOZXdBcnJv
d0Z1bmN0aW9uOgorICAgICAgICBjb21waWxlTmV3QXJyb3dGdW5jdGlvbihub2RlKTsKKyAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICAKICAgICBjYXNlIE5ld0Z1bmN0aW9uOgogICAgICAgICBj
b21waWxlTmV3RnVuY3Rpb24obm9kZSk7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKaW5kZXggM2U1NzRkNGY2
OWIwNTkzNjE0Y2M3ZjJiZDMxY2ViOWQ1OGVlY2UzMC4uNjY4YWRiYWUxZmEzZDJiYjFkYjU1MzJm
MDNmMGE0OTFhOWE0NzM2MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklUNjQuY3BwCkBAIC00MjUyLDExICs0MjUyLDE1IEBAIHZvaWQgU3BlY3Vs
YXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgY29tcGlsZUNyZWF0ZUNsb25l
ZEFyZ3VtZW50cyhub2RlKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgICAgICAKKworICAg
IGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKKyAgICAgICAgY29tcGlsZU5ld0Fycm93RnVuY3Rpb24o
bm9kZSk7CisgICAgICAgIGJyZWFrOworICAgICAgICAgICAgCiAgICAgY2FzZSBOZXdGdW5jdGlv
bjoKICAgICAgICAgY29tcGlsZU5ld0Z1bmN0aW9uKG5vZGUpOwogICAgICAgICBicmVhazsKLSAg
ICAgICAgCisKICAgICBjYXNlIEluOgogICAgICAgICBjb21waWxlSW4obm9kZSk7CiAgICAgICAg
IGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTdHJ1Y3R1
cmVSZWdpc3RyYXRpb25QaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1N0
cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmNwcAppbmRleCAyODY0NmQxM2ZjZjRjOTY1YzYyMGQw
MDIxMWIwZGNiZjAzYjM3YzJkLi43MzMzYTgzNjBjNzE5Yzk4NGUwZTg5NTNmZTcxYzA5NzUzNmI4
ZmE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1N0cnVjdHVyZVJl
Z2lzdHJhdGlvblBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1N0
cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlLmNwcApAQCAtMTMwLDcgKzEzMCw5IEBAIHB1YmxpYzoK
ICAgICAgICAgICAgICAgICBjYXNlIE5ld1JlZ2V4cDoKICAgICAgICAgICAgICAgICAgICAgcmVn
aXN0ZXJTdHJ1Y3R1cmUobV9ncmFwaC5nbG9iYWxPYmplY3RGb3Iobm9kZS0+b3JpZ2luLnNlbWFu
dGljKS0+cmVnRXhwU3RydWN0dXJlKCkpOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9u
OgorICAgICAgICAgICAgICAgICAgICByZWdpc3RlclN0cnVjdHVyZShtX2dyYXBoLmdsb2JhbE9i
amVjdEZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMpLT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCkp
OworICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICBjYXNlIE5ld0Z1
bmN0aW9uOgogICAgICAgICAgICAgICAgICAgICByZWdpc3RlclN0cnVjdHVyZShtX2dyYXBoLmds
b2JhbE9iamVjdEZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMpLT5mdW5jdGlvblN0cnVjdHVyZSgp
KTsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmNwcAppbmRleCBlNDE2ZmRh
YWZlZTIyMjlmNjUzYjlhZTA2MjQ4MDAwOTk5ODc1YTAwLi4zYzM4NjRjYTE4MGFhMzZlNDgwOGMy
M2ExMzA2YmUyOGU1ZDdiOTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKIAog
I2luY2x1ZGUgIkRpcmVjdEFyZ3VtZW50cy5oIgogI2luY2x1ZGUgIkdldHRlclNldHRlci5oIgor
I2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTRW52aXJvbm1lbnRSZWNv
cmQuaCIKICNpbmNsdWRlICJKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaCIKICNpbmNsdWRlICJK
U1Njb3BlLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3Ry
YWN0SGVhcFJlcG9zaXRvcnkuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJh
Y3RIZWFwUmVwb3NpdG9yeS5oCmluZGV4IDkxMjc1NGRmYzQwMTUyYjBlZDI0ODM2YWM3NWI4Zjk2
OTg0Mzk5YmIuLmVlYjIwOGJlMWY0NmNmYzQyYjk0OTVhOWZhOTIxZmJjZDZkODJkYTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9y
eS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3Np
dG9yeS5oCkBAIC04OCw2ICs4OCwxMyBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7
CiAgICAgbWFjcm8oU3RydWN0dXJlX2dsb2JhbE9iamVjdCwgU3RydWN0dXJlOjpnbG9iYWxPYmpl
Y3RPZmZzZXQoKSkgXAogICAgIG1hY3JvKFN0cnVjdHVyZV9wcm90b3R5cGUsIFN0cnVjdHVyZTo6
cHJvdG90eXBlT2Zmc2V0KCkpIFwKICAgICBtYWNybyhTdHJ1Y3R1cmVfc3RydWN0dXJlSUQsIFN0
cnVjdHVyZTo6c3RydWN0dXJlSURPZmZzZXQoKSkKKyAgICAKKyNkZWZpbmUgRk9SX0VBQ0hfQUJT
VFJBQ1RfRklFTERfQVJST1dGVU5DVElPTihtYWNybykgXAorICAgIG1hY3JvKEpTQXJyb3dGdW5j
dGlvbl9leGVjdXRhYmxlLCBKU0Fycm93RnVuY3Rpb246Om9mZnNldE9mRXhlY3V0YWJsZSgpKSBc
CisgICAgbWFjcm8oSlNBcnJvd0Z1bmN0aW9uX3Njb3BlLCBKU0Fycm93RnVuY3Rpb246Om9mZnNl
dE9mU2NvcGVDaGFpbigpKSBcCisgICAgbWFjcm8oSlNBcnJvd0Z1bmN0aW9uX3JhcmVEYXRhLCBK
U0Fycm93RnVuY3Rpb246Om9mZnNldE9mUmFyZURhdGEoKSkgXAorICAgIG1hY3JvKEpTQXJyb3dG
dW5jdGlvbl90aGlzLCBKU0Fycm93RnVuY3Rpb246Om9mZnNldE9mVGhpc1ZhbHVlKCkpCisgICAg
CiAKICNkZWZpbmUgRk9SX0VBQ0hfSU5ERVhFRF9BQlNUUkFDVF9IRUFQKG1hY3JvKSBcCiAgICAg
bWFjcm8oRGlyZWN0QXJndW1lbnRzX3N0b3JhZ2UsIERpcmVjdEFyZ3VtZW50czo6c3RvcmFnZU9m
ZnNldCgpLCBzaXplb2YoRW5jb2RlZEpTVmFsdWUpKSBcCkBAIC0xMjksNiArMTM2LDkgQEAgcHVi
bGljOgogCiAjZGVmaW5lIEFCU1RSQUNUX0ZJRUxEX0RFQ0xBUkFUSU9OKG5hbWUsIG9mZnNldCkg
QWJzdHJhY3RGaWVsZCBuYW1lOwogICAgIEZPUl9FQUNIX0FCU1RSQUNUX0ZJRUxEKEFCU1RSQUNU
X0ZJRUxEX0RFQ0xBUkFUSU9OKQorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisgICAgRk9SX0VBQ0hfQUJTVFJBQ1RfRklFTERfQVJST1dGVU5DVElPTihBQlNUUkFDVF9GSUVM
RF9ERUNMQVJBVElPTikKKyNlbmRpZgogI3VuZGVmIEFCU1RSQUNUX0ZJRUxEX0RFQ0xBUkFUSU9O
CiAgICAgCiAgICAgQWJzdHJhY3RGaWVsZCYgSlNDZWxsX2ZyZWVMaXN0TmV4dDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAppbmRleCAwYmZkZmNjYzZk
MzJhZWRiNDgwYzczODlhZGNiZTE2NWI3N2I0ZTIzLi4zYmYzODc5MDcyOWM1NmE1N2EzNjczMzFi
YTMyZjkzZjQyNDJkNDYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TENhcGFiaWxpdGllcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBh
YmlsaXRpZXMuY3BwCkBAIC0xMDMsNiArMTAzLDcgQEAgaW5saW5lIENhcGFiaWxpdHlMZXZlbCBj
YW5Db21waWxlKE5vZGUqIG5vZGUpCiAgICAgY2FzZSBMb29wSGludDoKICAgICBjYXNlIFNraXBT
Y29wZToKICAgICBjYXNlIENyZWF0ZUFjdGl2YXRpb246CisgICAgY2FzZSBOZXdBcnJvd0Z1bmN0
aW9uOgogICAgIGNhc2UgTmV3RnVuY3Rpb246CiAgICAgY2FzZSBHZXRDbG9zdXJlVmFyOgogICAg
IGNhc2UgUHV0Q2xvc3VyZVZhcjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMSW50cmluc2ljUmVwb3NpdG9yeS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExJbnRyaW5zaWNSZXBvc2l0b3J5LmgKaW5kZXggM2Q2NmVjYTg4ZDA0M2JiMzU2Y2I5NjY3ZTlm
NmUzNWFmOTg2YjhkMy4uOGZiN2FlZTRjYjQwMWM3ZmEyYWNlMjI5OTJmZjE1NjBkZDc5ZmZlYiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0
b3J5LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0
b3J5LmgKQEAgLTg0LDYgKzg0LDcgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgewog
ICAgIG1hY3JvKEpfSklUT3BlcmF0aW9uX0VKQywgZnVuY3Rpb25UeXBlKGludDY0LCBpbnRQdHIs
IGludDY0LCBpbnRQdHIpKSBcCiAgICAgbWFjcm8oSl9KSVRPcGVyYXRpb25fRUpKLCBmdW5jdGlv
blR5cGUoaW50NjQsIGludFB0ciwgaW50NjQsIGludDY0KSkgXAogICAgIG1hY3JvKEpfSklUT3Bl
cmF0aW9uX0VKc2NDLCBmdW5jdGlvblR5cGUoaW50UHRyLCBpbnRQdHIsIGludFB0ciwgaW50UHRy
KSkgXAorICAgIG1hY3JvKEpfSklUT3BlcmF0aW9uX0VKc2NDSiwgZnVuY3Rpb25UeXBlKGludDY0
LCBpbnRQdHIsIGludDY0LCBpbnQ2NCwgaW50NjQpKVwKICAgICBtYWNybyhKX0pJVE9wZXJhdGlv
bl9FSnNzWiwgZnVuY3Rpb25UeXBlKGludDY0LCBpbnRQdHIsIGludFB0ciwgaW50MzIpKSBcCiAg
ICAgbWFjcm8oSl9KSVRPcGVyYXRpb25fRVNzaUpJLCBmdW5jdGlvblR5cGUoaW50NjQsIGludFB0
ciwgaW50UHRyLCBpbnQ2NCwgaW50UHRyKSkgXAogICAgIG1hY3JvKEpzc19KSVRPcGVyYXRpb25f
RVosIGZ1bmN0aW9uVHlwZShpbnRQdHIsIGludFB0ciwgaW50MzIpKSBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCmluZGV4IDE5MjgxYTliZDFk
MmY3MmIzMGRkM2UyNDI1ZGY5Mzk0OTY5Mzg1ZTMuLmMyMmNhNmM0MTUxMmY5ODhjNzJmNTJiYWYw
NDRhOGZiMDIyNmM1ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
TG93ZXJERkdUb0xMVk0uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93
ZXJERkdUb0xMVk0uY3BwCkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSAiRlRMT3V0cHV0Lmgi
CiAjaW5jbHVkZSAiRlRMVGh1bmtzLmgiCiAjaW5jbHVkZSAiRlRMV2VpZ2h0ZWRUYXJnZXQuaCIK
KyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAj
aW5jbHVkZSAiSlNMZXhpY2FsRW52aXJvbm1lbnQuaCIKICNpbmNsdWRlICJPcGVyYW5kc0lubGlu
ZXMuaCIKQEAgLTYwNyw2ICs2MDgsOSBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIENyZWF0ZUFj
dGl2YXRpb246CiAgICAgICAgICAgICBjb21waWxlQ3JlYXRlQWN0aXZhdGlvbigpOwogICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKKyAgICAgICAgICAg
IGNvbXBpbGVOZXdBcnJvd0Z1bmN0aW9uKCk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAg
Y2FzZSBOZXdGdW5jdGlvbjoKICAgICAgICAgICAgIGNvbXBpbGVOZXdGdW5jdGlvbigpOwogICAg
ICAgICAgICAgYnJlYWs7CkBAIC0yOTgzLDYgKzI5ODcsNTEgQEAgcHJpdmF0ZToKICAgICAgICAg
c2V0SlNWYWx1ZShtX291dC5waGkobV9vdXQuaW50UHRyLCBmYXN0UmVzdWx0LCBzbG93UmVzdWx0
KSk7CiAgICAgfQogICAgIAorICAgIHZvaWQgY29tcGlsZU5ld0Fycm93RnVuY3Rpb24oKQorICAg
IHsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBMVmFsdWUg
c2NvcGUgPSBsb3dDZWxsKG1fbm9kZS0+Y2hpbGQxKCkpOworICAgICAgICBMVmFsdWUgdGhpc1Zh
bHVlID0gbG93SlNWYWx1ZShtX25vZGUtPmNoaWxkMigpKTsKKyAgICAgICAgRnVuY3Rpb25FeGVj
dXRhYmxlKiBleGVjdXRhYmxlID0gbV9ub2RlLT5jYXN0T3BlcmFuZDxGdW5jdGlvbkV4ZWN1dGFi
bGUqPigpOworICAgICAgICBpZiAoZXhlY3V0YWJsZS0+c2luZ2xldG9uRnVuY3Rpb24oKS0+aXNT
dGlsbFZhbGlkKCkpIHsKKyAgICAgICAgICAgIExWYWx1ZSBjYWxsUmVzdWx0ID0gdm1DYWxsKAor
ICAgICAgICAgICAgICAgIG1fb3V0Lm9wZXJhdGlvbihvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9u
KSwKKyAgICAgICAgICAgICAgICBtX2NhbGxGcmFtZSwgc2NvcGUsIHdlYWtQb2ludGVyKGV4ZWN1
dGFibGUpLCB0aGlzVmFsdWUpOworICAgICAgICAgICAgc2V0SlNWYWx1ZShjYWxsUmVzdWx0KTsK
KyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUgPSBtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihtX25vZGUtPm9yaWdpbi5z
ZW1hbnRpYyktPmFycm93RnVuY3Rpb25TdHJ1Y3R1cmUoKTsKKyAgICAgICAgCisgICAgICAgIExC
YXNpY0Jsb2NrIHNsb3dQYXRoID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJOZXdBcnJvd0Z1bmN0
aW9uIHNsb3cgcGF0aCIpKTsKKyAgICAgICAgTEJhc2ljQmxvY2sgY29udGludWF0aW9uID0gRlRM
X05FV19CTE9DSyhtX291dCwgKCJOZXdBcnJvd0Z1bmN0aW9uIGNvbnRpbnVhdGlvbiIpKTsKKyAg
ICAgICAgCisgICAgICAgIExCYXNpY0Jsb2NrIGxhc3ROZXh0ID0gbV9vdXQuaW5zZXJ0TmV3Qmxv
Y2tzQmVmb3JlKHNsb3dQYXRoKTsKKyAgICAgICAgCisgICAgICAgIExWYWx1ZSBmYXN0T2JqZWN0
ID0gYWxsb2NhdGVPYmplY3Q8SlNBcnJvd0Z1bmN0aW9uPihzdHJ1Y3R1cmUsIG1fb3V0LmludFB0
clplcm8sIHNsb3dQYXRoKTsKKyAgICAgICAgCisgICAgICAgIC8vIFdlIGRvbid0IG5lZWQgbWVt
b3J5IGJhcnJpZXJzIHNpbmNlIHdlIGp1c3QgZmFzdC1jcmVhdGVkIHRoZSBmdW5jdGlvbiwgc28g
aXQKKyAgICAgICAgLy8gbXVzdCBiZSB5b3VuZy4KKyAgICAgICAgbV9vdXQuc3RvcmVQdHIoc2Nv
cGUsIGZhc3RPYmplY3QsIG1faGVhcHMuSlNBcnJvd0Z1bmN0aW9uX3Njb3BlKTsKKyAgICAgICAg
bV9vdXQuc3RvcmVQdHIod2Vha1BvaW50ZXIoZXhlY3V0YWJsZSksIGZhc3RPYmplY3QsIG1faGVh
cHMuSlNBcnJvd0Z1bmN0aW9uX2V4ZWN1dGFibGUpOworICAgICAgICBtX291dC5zdG9yZVB0cih0
aGlzVmFsdWUsIGZhc3RPYmplY3QsIG1faGVhcHMuSlNBcnJvd0Z1bmN0aW9uX3RoaXMpOworICAg
ICAgICBtX291dC5zdG9yZVB0cihtX291dC5pbnRQdHJaZXJvLCBmYXN0T2JqZWN0LCBtX2hlYXBz
LkpTQXJyb3dGdW5jdGlvbl9yYXJlRGF0YSk7CisgICAgICAgIAorICAgICAgICBWYWx1ZUZyb21C
bG9jayBmYXN0UmVzdWx0ID0gbV9vdXQuYW5jaG9yKGZhc3RPYmplY3QpOworICAgICAgICBtX291
dC5qdW1wKGNvbnRpbnVhdGlvbik7CisgICAgICAgIAorICAgICAgICBtX291dC5hcHBlbmRUbyhz
bG93UGF0aCwgY29udGludWF0aW9uKTsKKyAgICAgICAgTFZhbHVlIGNhbGxSZXN1bHQgPSB2bUNh
bGwoCisgICAgICAgICAgICBtX291dC5vcGVyYXRpb24ob3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlv
bldpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQpLAorICAgICAgICAgICAgbV9j
YWxsRnJhbWUsIHNjb3BlLCB3ZWFrUG9pbnRlcihleGVjdXRhYmxlKSwgdGhpc1ZhbHVlKTsKKyAg
ICAgICAgVmFsdWVGcm9tQmxvY2sgc2xvd1Jlc3VsdCA9IG1fb3V0LmFuY2hvcihjYWxsUmVzdWx0
KTsKKyAgICAgICAgbV9vdXQuanVtcChjb250aW51YXRpb24pOworICAgICAgICAKKyAgICAgICAg
bV9vdXQuYXBwZW5kVG8oY29udGludWF0aW9uLCBsYXN0TmV4dCk7CisgICAgICAgIHNldEpTVmFs
dWUobV9vdXQucGhpKG1fb3V0LmludFB0ciwgZmFzdFJlc3VsdCwgc2xvd1Jlc3VsdCkpOworI2Vu
ZGlmCisgICAgfQorICAgIAogICAgIHZvaWQgY29tcGlsZUNyZWF0ZURpcmVjdEFyZ3VtZW50cygp
CiAgICAgewogICAgICAgICAvLyBGSVhNRTogQSBtb3JlIGVmZmVjdGl2ZSB3YXkgb2YgZGVhbGlu
ZyB3aXRoIHRoZSBhcmd1bWVudCBjb3VudCBhbmQgY2FsbGVlIGlzIHRvIGhhdmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCmluZGV4IDE3
ZGQzYjRmNDVmNTZmZjIwMDIzZDczYjc1ZGM3ZDcwYjYzNDk2OGYuLjIwMDA1YzA3MTUzM2IxNjgz
YWZkYTJkNjJkYzY1YzAxNjdkOTEwOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcApAQCAtNDQsNiArNDQsNyBAQAogI2luY2x1ZGUg
IkV4Y2VwdGlvbkhlbHBlcnMuaCIKICNpbmNsdWRlICJHZXR0ZXJTZXR0ZXIuaCIKICNpbmNsdWRl
ICJKU0FycmF5LmgiCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNC
b3VuZEZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTTGV4
aWNhbEVudmlyb25tZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0NDYWxsSGVscGVycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhlbHBlcnMu
aAppbmRleCBmZDM0NGFkYmNhYmIxNWZiZDgxNGVkNmZiZDQ3OGY3NGI2MTU3NjNjLi4wN2FjZDZk
NTMyZDMyOGFmZGI3N2FjZjIwMTMzOTBlZjM5ZGQ5ZDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0NDYWxsSGVscGVycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvQ0NhbGxIZWxwZXJzLmgKQEAgLTI3NCw2ICsyNzQsMTUgQEAgcHVibGljOgogICAgICAg
ICBhZGRDYWxsQXJndW1lbnQoYXJnMik7CiAgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmczKTsK
ICAgICB9CisgICAgCisgICAgQUxXQVlTX0lOTElORSB2b2lkIHNldHVwQXJndW1lbnRzV2l0aEV4
ZWNTdGF0ZShHUFJSZWcgYXJnMSwgVHJ1c3RlZEltbVB0ciBhcmcyLCBHUFJSZWcgYXJnMykKKyAg
ICB7CisgICAgICAgIHJlc2V0Q2FsbEFyZ3VtZW50cygpOworICAgICAgICBhZGRDYWxsQXJndW1l
bnQoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOworICAgICAgICBhZGRDYWxsQXJndW1lbnQo
YXJnMSk7CisgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmcyKTsKKyAgICAgICAgYWRkQ2FsbEFy
Z3VtZW50KGFyZzMpOworICAgIH0KIAogICAgIEFMV0FZU19JTkxJTkUgdm9pZCBzZXR1cEFyZ3Vt
ZW50c1dpdGhFeGVjU3RhdGUoR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyLCBUcnVzdGVkSW1tMzIg
YXJnMykKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKaW5kZXggYjQxMTNjNDVlNzJj
N2UxNThlYzFmMTkyM2NiZmUyOWM1ZWY1NDI4Mi4uOGExYmFjODdmZDEwYjk4N2Y2NGZkMGMyMTEz
MjEwY2E2NzA1ZWRiMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcApAQCAtMjYwLDYgKzI2
MCw3IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkKICAgICAgICAgREVGSU5F
X09QKG9wX25ld19hcnJheV9idWZmZXIpCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfZnVuYykK
ICAgICAgICAgREVGSU5FX09QKG9wX25ld19mdW5jX2V4cCkKKyAgICAgICAgREVGSU5FX09QKG9w
X25ld19hcnJvd19mdW5jX2V4cCkgCiAgICAgICAgIERFRklORV9PUChvcF9uZXdfb2JqZWN0KQog
ICAgICAgICBERUZJTkVfT1Aob3BfbmV3X3JlZ2V4cCkKICAgICAgICAgREVGSU5FX09QKG9wX25v
dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCmluZGV4IGQ3MjI1ZWE0YjJhZTU0MzE4Nzg0NGMyMDc2
ZWM2ZWI4ZDY1ZDIxYzkuLmRhYTUyMDk0ODg1NzkxNjBiYmQ5YzQ3ZDA3YjRhMDQ1OWZiOGIwMTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaApAQCAtNTIxLDYgKzUyMSw3IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2FycmF5X2J1ZmZlcihJbnN0cnVjdGlvbiop
OwogICAgICAgICB2b2lkIGVtaXRfb3BfbmV3X2Z1bmMoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAg
dm9pZCBlbWl0X29wX25ld19mdW5jX2V4cChJbnN0cnVjdGlvbiopOworICAgICAgICB2b2lkIGVt
aXRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1p
dF9vcF9uZXdfb2JqZWN0KEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdf
cmVnZXhwKEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9ub3QoSW5zdHJ1Y3Rp
b24qKTsKQEAgLTcwMiw2ICs3MDMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgTWFjcm9B
c3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSkosIGludCwgR1BS
UmVnLCBHUFJSZWcpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9u
KENfSklUT3BlcmF0aW9uX0VKc2MsIEdQUlJlZyk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpD
YWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0MsIGludCwgR1BSUmVnLCBKU0Nl
bGwqKTsKKyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9w
ZXJhdGlvbl9FSnNjQ0osIGludCwgR1BSUmVnLCBKU0NlbGwqLCBHUFJSZWcpOwogICAgICAgICBN
YWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2NaLCBH
UFJSZWcsIGludDMyX3QpOwogICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0
aW9uKENfSklUT3BlcmF0aW9uX0VKc2NaLCBpbnQsIEdQUlJlZywgaW50MzJfdCk7CiAjaWYgVVNF
KEpTVkFMVUU2NCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5s
aW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVzLmgKaW5kZXggOWVl
MjRkMDkyMjhhOTg4MmVhNzY5NjI5ZDFhODdiNmMzNGE4NjMzNC4uYTBlNDBjNWM2MWZlNjNlOTg2
M2VkMjIzZWRmNWQ0NTFmMzE4YTc3NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxp
bmVzLmgKQEAgLTI3MSw2ICsyNzEsMTIgQEAgQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6
Q2FsbCBKSVQ6OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzY0Mgb3BlcmEKICAgICBy
ZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldEpTVmFsdWVSZXN1bHQob3BlcmF0
aW9uLCBkc3QpOwogfQogCitBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxsIEpJVDo6
Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0ogb3BlcmF0aW9uLCBpbnQgZHN0LCBH
UFJSZWcgYXJnMSwgSlNDZWxsKiBjZWxsLCBHUFJSZWcgYXJnMikKK3sKKyAgICBzZXR1cEFyZ3Vt
ZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSwgYXJnMik7CisgICAg
cmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRKU1ZhbHVlUmVzdWx0KG9wZXJh
dGlvbiwgZHN0KTsKK30KKyAgICAKIEFMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwg
SklUOjpjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VQIG9wZXJhdGlvbiwgaW50IGRzdCwg
dm9pZCogcG9pbnRlcikKIHsKICAgICBzZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3Rl
ZEltbVB0cihwb2ludGVyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVE9wY29kZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNw
cAppbmRleCA1ZDRkMGI5ZmU4NzY4YWMyZmU1OTY1NzVlZDRhYTgxMjIwZGFkNmM3Li5kY2UzNzEy
NWM0ZWZiMDU0YTgwNjE1NGUwYWQyM2FkZmY5ZWE0YjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3Bjb2Rlcy5jcHAKQEAgLTk4Nyw2ICs5ODcsMjkgQEAgdm9pZCBKSVQ6OmVtaXRf
b3BfbmV3X2Z1bmNfZXhwKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiAgICAgY2Fs
bE9wZXJhdGlvbihvcGVyYXRpb25OZXdGdW5jdGlvbiwgZHN0LCByZWdUMCwgZnVuY0V4cHIpOwog
ICAgIGRvbmUubGluayh0aGlzKTsKIH0KKyAgICAKK3ZvaWQgSklUOjplbWl0X29wX25ld19hcnJv
d19mdW5jX2V4cChJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQoreworICAgIEp1bXAg
bm90VW5kZWZpbmVkU2NvcGU7CisgICAgaW50IGRzdCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51
Lm9wZXJhbmQ7CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVy
KGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQsIHJlZ1QwKTsKKyAgICBlbWl0R2V0Vmly
dHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvbls0XS51Lm9wZXJhbmQsIHJlZ1QxKTsKKyAg
ICBub3RVbmRlZmluZWRTY29wZSA9IGJyYW5jaDY0KE5vdEVxdWFsLCByZWdUMCwgVHJ1c3RlZElt
bTY0KEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSkpOworICAgIHN0b3JlNjQoVHJ1c3Rl
ZEltbTY0KEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKSksIEFkZHJlc3MoY2FsbEZyYW1l
UmVnaXN0ZXIsIHNpemVvZihSZWdpc3RlcikgKiBkc3QpKTsKKyNlbHNlCisgICAgZW1pdExvYWRQ
YXlsb2FkKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQsIHJlZ1QwKTsKKyAgICBlbWl0
TG9hZFBheWxvYWQoY3VycmVudEluc3RydWN0aW9uWzRdLnUub3BlcmFuZCwgcmVnVDEpOworICAg
IG5vdFVuZGVmaW5lZFNjb3BlID0gYnJhbmNoMzIoTm90RXF1YWwsIHRhZ0ZvcihjdXJyZW50SW5z
dHJ1Y3Rpb25bMl0udS5vcGVyYW5kKSwgVHJ1c3RlZEltbTMyKEpTVmFsdWU6OlVuZGVmaW5lZFRh
ZykpOworICAgIGVtaXRTdG9yZShkc3QsIGpzVW5kZWZpbmVkKCkpOworI2VuZGlmCisgICAgSnVt
cCBkb25lID0ganVtcCgpOworICAgIG5vdFVuZGVmaW5lZFNjb3BlLmxpbmsodGhpcyk7CisgICAg
CisgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlvbiA9IG1fY29kZUJsb2NrLT5mdW5jdGlv
bkV4cHIoY3VycmVudEluc3RydWN0aW9uWzNdLnUub3BlcmFuZCk7CisgICAgY2FsbE9wZXJhdGlv
bihvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uLCBkc3QsIHJlZ1QwLCBmdW5jdGlvbiwgcmVnVDEp
OworICAgIGRvbmUubGluayh0aGlzKTsKK30KIAogdm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2FycmF5
KEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAppbmRleCA5OGQ4NzczZjM4ZDk1ZjJiOGU1OGNkYmQ3
ODM2MDI5ODE1NDAwNzEzLi5kMmVkYTliOGFkYjFhY2FkYWFhMGZkNzBkODdjNDc3MDUwNWMxYmNl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTQy
LDYgKzQyLDcgQEAKICNpbmNsdWRlICJIb3N0Q2FsbFJldHVyblZhbHVlLmgiCiAjaW5jbHVkZSAi
SklULmgiCiAjaW5jbHVkZSAiSklUVG9ERkdEZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suaCIK
KyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAj
aW5jbHVkZSAiSlNDYXRjaFNjb3BlLmgiCiAjaW5jbHVkZSAiSlNGdW5jdGlvbk5hbWVTY29wZS5o
IgpAQCAtOTc2LDYgKzk3NywzOSBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbk5ld0Z1bmN0aW9uV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0YwogICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoSlNGdW5jdGlvbjo6Y3JlYXRlV2l0aEludmFsaWRhdGVkUmVhbGxv
Y2F0aW9uV2F0Y2hwb2ludCh2bSwgc3RhdGljX2Nhc3Q8RnVuY3Rpb25FeGVjdXRhYmxlKj4oZnVu
Y3Rpb25FeGVjdXRhYmxlKSwgc2NvcGUpKTsKIH0KIAorRW5jb2RlZEpTVmFsdWUgSklUX09QRVJB
VElPTiBvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9u
V2F0Y2hwb2ludChFeGVjU3RhdGUqIGV4ZWMsIEpTU2NvcGUqIHNjb3BlLCBKU0NlbGwqIGZ1bmN0
aW9uRXhlY3V0YWJsZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlKQoreworI2lmIEVOQUJMRShF
UzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIEFTU0VSVChmdW5jdGlvbkV4ZWN1dGFi
bGUtPmluaGVyaXRzKEZ1bmN0aW9uRXhlY3V0YWJsZTo6aW5mbygpKSk7CisgICAgICAgIFZNJiB2
bSA9IGV4ZWMtPnZtKCk7CisgICAgICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZt
LCBleGVjKTsKKyAgICAgICAgCisgICAgICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSAgSlNGdW5jdGlv
bjo6Y3JlYXRlKHZtLCBzdGF0aWNfY2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihmdW5jdGlvbkV4
ZWN1dGFibGUpLCBzY29wZSk7CisgICAgICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qg
PSBleGVjLT5jYWxsZWUoKS0+Z2xvYmFsT2JqZWN0KCk7CisgICAgICAgIAorICAgICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlV2l0aEludmFsaWRhdGVk
UmVhbGxvY2F0aW9uV2F0Y2hwb2ludCh2bSwgZ2xvYmFsT2JqZWN0LCBmdW5jLCBKU1ZhbHVlOjpk
ZWNvZGUodGhpc1ZhbHVlKSkpOworI2Vsc2UKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc1VuZGVmaW5lZCgpKTsKKyNlbmRpZgorfQorICAgIAorRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNTY29w
ZSogc2NvcGUsIEpTQ2VsbCogZnVuY3Rpb25FeGVjdXRhYmxlLCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUpCit7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBBU1NF
UlQoZnVuY3Rpb25FeGVjdXRhYmxlLT5pbmhlcml0cyhGdW5jdGlvbkV4ZWN1dGFibGU6OmluZm8o
KSkpOworICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CisgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2Vy
IHRyYWNlcigmdm0sIGV4ZWMpOworCisgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9
IGV4ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0g
IEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgc3RhdGljX2Nhc3Q8RnVuY3Rpb25FeGVjdXRhYmxlKj4o
ZnVuY3Rpb25FeGVjdXRhYmxlKSwgc2NvcGUpOworCisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShKU0Fycm93RnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBmdW5jLCBKU1ZhbHVl
OjpkZWNvZGUodGhpc1ZhbHVlKSkpOworCisjZWxzZQorICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUoanNVbmRlZmluZWQoKSk7CisjZW5kaWYKK30KKwogSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbk5ld09iamVjdChFeGVjU3RhdGUqIGV4ZWMsIFN0cnVjdHVyZSogc3RydWN0dXJlKQog
ewogICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VE9wZXJhdGlvbnMuaAppbmRleCA0YzgxZDg1NDdjOGNmNjcwNmYwOGRmMDYxN2NkOWE5MTY4OGVm
OTY1Li41MTFmYzc3NmUzODNjYTIyNTEyYmQ4NDFkZWJjYWE2MzQ0OWU3MjQyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaApAQCAtMTE2LDYgKzExNiw3IEBAIHR5
cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VQUCko
RXhlY1N0YXRlKiwgdm9pZCosIHZvCiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJ
T04gKCpKX0pJVE9wZXJhdGlvbl9FUFMpKEV4ZWNTdGF0ZSosIHZvaWQqLCBzaXplX3QpOwogdHlw
ZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVBjKShF
eGVjU3RhdGUqLCBJbnN0cnVjdGlvbiopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BF
UkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRUpzY0MpKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0Nl
bGwqKTsKK3R5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0
aW9uX0VKc2NDSikoRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVl
KTsKIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9u
X0VTUykoRXhlY1N0YXRlKiwgc2l6ZV90LCBzaXplX3QpOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1
ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNzaUNJKShFeGVjU3RhdGUqLCBTdHJ1
Y3R1cmVTdHViSW5mbyosIEpTQ2VsbCosIFN0cmluZ0ltcGwqKTsKIHR5cGVkZWYgRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiAoKkpfSklUT3BlcmF0aW9uX0VTc2lKSSkoRXhlY1N0YXRlKiwg
U3RydWN0dXJlU3R1YkluZm8qLCBFbmNvZGVkSlNWYWx1ZSwgU3RyaW5nSW1wbCopOwpAQCAtMjgz
LDYgKzI4NCw4IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJy
YXlCdWZmZXJXaXRoUHJvZmlsZShFeGVjU3RhdGUqLCBBcnJhCiBFbmNvZGVkSlNWYWx1ZSBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5V2l0aFNpemVBbmRQcm9maWxlKEV4ZWNTdGF0ZSos
IEFycmF5QWxsb2NhdGlvblByb2ZpbGUqLCBFbmNvZGVkSlNWYWx1ZSBzaXplKSBXVEZfSU5URVJO
QUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Z1bmN0aW9uKEV4
ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1
ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Z1bmN0aW9uV2l0aEludmFsaWRhdGVkUmVhbGxv
Y2F0aW9uV2F0Y2hwb2ludChFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKikgV1RGX0lOVEVS
TkFMOworRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJvd0Z1bmN0
aW9uKEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lO
VEVSTkFMOworRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJvd0Z1
bmN0aW9uV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludChFeGVjU3RhdGUqLCBK
U1Njb3BlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUpIFdURl9JTlRFUk5BTDsKIEpTQ2VsbCog
SklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdPYmplY3QoRXhlY1N0YXRlKiwgU3RydWN0dXJlKikg
V1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdS
ZWdleHAoRXhlY1N0YXRlKiwgdm9pZCopIFdURl9JTlRFUk5BTDsKIHZvaWQgSklUX09QRVJBVElP
TiBvcGVyYXRpb25IYW5kbGVXYXRjaGRvZ1RpbWVyKEV4ZWNTdGF0ZSopIFdURl9JTlRFUk5BTDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCmluZGV4
IDIwYmViZjMyZjYxNTRmYTlmM2Y0Njk2MmYzYTYxNDBhMmU4NDZkYzAuLjdhODUwNWYyOGZlYzJj
YWUyYzY1Mzg1Y2MwOTRiY2RmY2MyNGFmZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcApAQCAtMzgsNiArMzgsOCBAQAogI2luY2x1ZGUgIklu
dGVycHJldGVyLmgiCiAjaW5jbHVkZSAiSklULmgiCiAjaW5jbHVkZSAiSklURXhjZXB0aW9ucy5o
IgorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTQm91bmRGdW5jdGlv
bi5oIgogI2luY2x1ZGUgIkpTTGV4aWNhbEVudmlyb25tZW50LmgiCiAjaW5jbHVkZSAiSlNDSW5s
aW5lcy5oIgogI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKQEAgLTE3MSw2ICsxNzMsMTUgQEAgbmFt
ZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBMTEludCB7CiAgICAgICAgIExMSU5UX1JFVFVSTl9UV08o
cGMsIF9fcmNmX2V4ZWMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgfSB3
aGlsZSAoZmFsc2UpCiAKKyAgICAKKyNkZWZpbmUgTExJTlRfQ0FMQ19QUk9QRVJUWV9GT1JfRlVO
Q19FWFBSKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIExMSU5U
X0JFR0lOKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVjLT5jb2RlQmxv
Y2soKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBKU1Njb3BlKiBz
Y29wZSA9IGV4ZWMtPnVuY2hlY2tlZFIocGNbMl0udS5vcGVyYW5kKS5SZWdpc3Rlcjo6c2NvcGUo
KTsgICAgICAgXAorICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9IGNvZGVCbG9j
ay0+ZnVuY3Rpb25FeHByKHBjWzNdLnUub3BlcmFuZCk7ICBcCisgICAgCitlbnVtIEZ1bmN0aW9u
RXhwcmVzc2lvblR5cGUgeyBBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblR5cGUsIENvbW1vbkZ1bmN0
aW9uRXhwcmVzc2lvblR5cGV9OworICAgIAogZXh0ZXJuICJDIiBTbG93UGF0aFJldHVyblR5cGUg
bGxpbnRfdHJhY2Vfb3BlcmFuZChFeGVjU3RhdGUqIGV4ZWMsIEluc3RydWN0aW9uKiBwYywgaW50
IGZyb21XaGVyZSwgaW50IG9wZXJhbmQpCiB7CiAgICAgTExJTlRfQkVHSU4oKTsKQEAgLTEwMDMs
MTYgKzEwMTQsMzMgQEAgTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX25ld19mdW5jKQog
I2VuZGlmCiAgICAgTExJTlRfUkVUVVJOKEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgY29kZUJsb2Nr
LT5mdW5jdGlvbkRlY2wocGNbM10udS5vcGVyYW5kKSwgc2NvcGUpKTsKIH0KLQorICAgIAogTExJ
TlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX25ld19mdW5jX2V4cCkKIHsKLSAgICBMTElOVF9C
RUdJTigpOwotICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+Y29kZUJsb2NrKCk7Ci0g
ICAgSlNTY29wZSogc2NvcGUgPSBleGVjLT51bmNoZWNrZWRSKHBjWzJdLnUub3BlcmFuZCkuUmVn
aXN0ZXI6OnNjb3BlKCk7Ci0gICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBmdW5jdGlvbiA9IGNvZGVC
bG9jay0+ZnVuY3Rpb25FeHByKHBjWzNdLnUub3BlcmFuZCk7Ci0gICAgSlNGdW5jdGlvbiogZnVu
YyA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgZnVuY3Rpb24sIHNjb3BlKTsKKyAgICBMTElOVF9D
QUxDX1BST1BFUlRZX0ZPUl9GVU5DX0VYUFIoKTsKKworICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBK
U0Z1bmN0aW9uOjpjcmVhdGUodm0sIGV4ZWN1dGFibGUsIHNjb3BlKTsKKyAgICBMTElOVF9SRVRV
Uk4oZnVuYyk7Cit9CisKKworTExJTlRfU0xPV19QQVRIX0RFQ0woc2xvd19wYXRoX25ld19hcnJv
d19mdW5jX2V4cCkKK3sKKyAgICBMTElOVF9DQUxDX1BST1BFUlRZX0ZPUl9GVU5DX0VYUFIoKTsK
KworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgSlNWYWx1ZSB0aGlz
VmFsdWUgPSBMTElOVF9PUF9DKDQpLmpzVmFsdWUoKTsKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0ID0gZXhlYy0+Y2FsbGVlKCktPmdsb2JhbE9iamVjdCgpOwogICAgIAorICAgIEpT
RnVuY3Rpb24qIGZ1bmMgPSBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIGV4ZWN1dGFibGUsIHNjb3Bl
KTsKKyAgICAKKyAgICBjb25zdCBTdHJpbmcgZnVuY1dpdGhvdXROYW1lID0gIiI7CisgICAgCisg
ICAgTExJTlRfUkVUVVJOKEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3Qs
IGZ1bmMsIHRoaXNWYWx1ZSkpOworI2Vsc2UKKyAgICBKU0Z1bmN0aW9uKiBmdW5jID0gSlNGdW5j
dGlvbjo6Y3JlYXRlKHZtLCBleGVjdXRhYmxlLCBzY29wZSk7CiAgICAgTExJTlRfUkVUVVJOKGZ1
bmMpOworI2VuZGlmCiB9CiAKIHN0YXRpYyBTbG93UGF0aFJldHVyblR5cGUgaGFuZGxlSG9zdENh
bGwoRXhlY1N0YXRlKiBleGVjQ2FsbGVlLCBJbnN0cnVjdGlvbiogcGMsIEpTVmFsdWUgY2FsbGVl
LCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGtpbmQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9MTEludFNsb3dQYXRocy5oCmluZGV4IDRiZjdkZWIwZmEwYjZjNjQzOGUzNmY5NjMyMGUy
ZjY2OTczOWFmNjQuLmM3ZmFiOTY5MWMxOGI5Mzk1NmQwZWEyOWYzMzk1NjExOGM1ZTcxZWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCkBAIC05Niw2
ICs5Niw3IEBAIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfc3dpdGNoX2No
YXIpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9zd2l0Y2hfc3RyaW5n
KTsKIExMSU5UX1NMT1dfUEFUSF9ISURERU5fREVDTChzbG93X3BhdGhfbmV3X2Z1bmMpOwogTExJ
TlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuY19leHApOworTExJTlRf
U0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApOwogTExJ
TlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9jYWxsKTsKIExMSU5UX1NMT1dfUEFU
SF9ISURERU5fREVDTChzbG93X3BhdGhfY29uc3RydWN0KTsKIExMSU5UX1NMT1dfUEFUSF9ISURE
RU5fREVDTChzbG93X3BhdGhfc2l6ZV9mcmFtZV9mb3JfdmFyYXJncyk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20gYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KaW5kZXggNTQz
ZDllOTMzM2M1MTNlOTc2MTdiN2JkYTdmNjk5ODY2ODM4YTFlMC4uMTgyYmJkOWU0ZWY3ODkyOGRh
NTJmYmNlYzg4MmE1ZGYzNmRiNzk0MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQpAQCAtMTE2OSw2ICsxMTY5LDEwIEBAIF9s
bGludF9vcF9uZXdfZnVuY19leHA6CiAgICAgY2FsbFNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhf
bmV3X2Z1bmNfZXhwKQogICAgIGRpc3BhdGNoKDQpCiAKK19sbGludF9vcF9uZXdfYXJyb3dfZnVu
Y19leHA6CisgICAgdHJhY2VFeGVjdXRpb24oKQorICAgIGNhbGxTbG93UGF0aChfbGxpbnRfc2xv
d19wYXRoX25ld19hcnJvd19mdW5jX2V4cCkKKyAgICBkaXNwYXRjaCg1KQogCiBfbGxpbnRfb3Bf
Y2FsbDoKICAgICB0cmFjZUV4ZWN1dGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
QVNUQnVpbGRlci5oCmluZGV4IGFhNzM3MDUyY2IzYzgxNTM1N2M4YTZmZTM2OGFkMjE1OWJhMzJj
MGYuLjlkMDMxOTE0NGJkNGQ3YmUxNjZmZDc5NDA1MjU4YjkyZDI0YTQ2NDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCkBAIC0zNTcsNiArMzU3LDE5IEBAIHB1
YmxpYzoKICAgICAgICAgICAgIGluU3RyaWN0Q29udGV4dCwgY29uc3RydWN0b3JLaW5kKTsKICAg
ICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEV4cHJlc3Np
b25Ob2RlKiBjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxv
Y2F0aW9uLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88QVNUQnVpbGRlcj4mIGluZm8pCisgICAg
eworICAgICAgICBTb3VyY2VDb2RlIHNvdXJjZSA9IGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9PSBB
cnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb24KKyAgICAgICAgPyBtX3NvdXJjZUNvZGUtPnN1YkFy
cm93RXhwcmVzc2lvbihpbmZvLmFycm93RnVuY3Rpb25PZmZzZXQsIGluZm8uY2xvc2VCcmFjZU9m
ZnNldCwgaW5mby5ib2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlTdGFydENvbHVtbikKKyAgICAgICAg
OiBtX3NvdXJjZUNvZGUtPnN1YkV4cHJlc3Npb24oaW5mby5vcGVuQnJhY2VPZmZzZXQsIGluZm8u
Y2xvc2VCcmFjZU9mZnNldCwgaW5mby5ib2R5U3RhcnRMaW5lLCBpbmZvLmJvZHlTdGFydENvbHVt
bik7CisKKyAgICAgICAgQXJyb3dGdW5jRXhwck5vZGUqIHJlc3VsdCA9IG5ldyAobV9wYXJzZXJB
cmVuYSkgQXJyb3dGdW5jRXhwck5vZGUobG9jYXRpb24sICppbmZvLm5hbWUsIGluZm8uYm9keSwg
c291cmNlLCBpbmZvLnBhcmFtZXRlcnMpOworICAgICAgICBpbmZvLmJvZHktPnNldExvYyhpbmZv
LmJvZHlTdGFydExpbmUsIGluZm8uYm9keUVuZExpbmUsIGxvY2F0aW9uLnN0YXJ0T2Zmc2V0LCBs
b2NhdGlvbi5saW5lU3RhcnRPZmZzZXQpOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0K
KyNlbmRpZgorCiAgICAgTkVWRVJfSU5MSU5FIFByb3BlcnR5Tm9kZSogY3JlYXRlR2V0dGVyT3JT
ZXR0ZXJQcm9wZXJ0eShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBQcm9wZXJ0eU5v
ZGU6OlR5cGUgdHlwZSwgYm9vbCwKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogbmFtZSwgY29u
c3QgUGFyc2VyRnVuY3Rpb25JbmZvPEFTVEJ1aWxkZXI+JiBpbmZvLCBTdXBlckJpbmRpbmcgc3Vw
ZXJCaW5kaW5nKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvTGV4ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5jcHAKaW5k
ZXggOTZlYjdhYWIyMzlhMzg2ZDA3ZjYwZGJhNzRlNmZhZDFmYTZjZDM3YS4uYWQ3MDU2ZGRlMzg4
ZWY4NmZiN2Y2Mjc2ZmRhNzNlYWU4OWQ0MzQ4ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9MZXhlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9MZXhlci5jcHAKQEAgLTE3MDgsNiArMTcwOCwxOCBAQCBib29sIExleGVyPFQ+OjpuZXh0VG9r
ZW5Jc0NvbG9uKCkKICAgICByZXR1cm4gY29kZSA8IG1fY29kZUVuZCAmJiAqY29kZSA9PSAnOic7
CiB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5
cGVuYW1lIFQ+Cit2b2lkIExleGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9uKEpTVG9rZW4qIHRva2Vu
UmVjb3JkKQoreworICAgIEpTVG9rZW5EYXRhKiB0b2tlbkRhdGEgPSAmdG9rZW5SZWNvcmQtPm1f
ZGF0YTsKKyAgICB0b2tlbkRhdGEtPmxpbmUgPSBsaW5lTnVtYmVyKCk7CisgICAgdG9rZW5EYXRh
LT5vZmZzZXQgPSBjdXJyZW50T2Zmc2V0KCk7CisgICAgdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZz
ZXQgPSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0KCk7CisgICAgQVNTRVJUKHRva2VuRGF0YS0+b2Zm
c2V0ID49IHRva2VuRGF0YS0+bGluZVN0YXJ0T2Zmc2V0KTsKK30KKyNlbmRpZgorCiB0ZW1wbGF0
ZSA8dHlwZW5hbWUgVD4KIEpTVG9rZW5UeXBlIExleGVyPFQ+OjpsZXgoSlNUb2tlbiogdG9rZW5S
ZWNvcmQsIHVuc2lnbmVkIGxleGVyRmxhZ3MsIGJvb2wgc3RyaWN0TW9kZSkKIHsKQEAgLTE3NzEs
NyArMTc4MywxMiBAQCBzdGFydDoKICAgICAgICAgfQogICAgICAgICB0b2tlbiA9IEdUOwogICAg
ICAgICBicmVhazsKLSAgICBjYXNlIENoYXJhY3RlckVxdWFsOgorICAgIGNhc2UgQ2hhcmFjdGVy
RXF1YWw6IHsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB1
aW50MzJfdCBzYXZlZGxpbmVOdW1iZXIgPSB0b2tlbkRhdGEtPmxpbmU7CisgICAgICAgIHVpbnQz
Ml90IHNhdmVkT2Zmc2V0ID0gY3VycmVudE9mZnNldCgpOworICAgICAgICB1aW50MzJfdCBzYXZl
ZExpbmVTdGFydE9mZnNldCA9IGN1cnJlbnRMaW5lU3RhcnRPZmZzZXQoKTsKKyNlbmRpZgogICAg
ICAgICBzaGlmdCgpOwogICAgICAgICBpZiAobV9jdXJyZW50ID09ICc9JykgewogICAgICAgICAg
ICAgc2hpZnQoKTsKQEAgLTE3ODMsOCArMTgwMCwyMiBAQCBzdGFydDoKICAgICAgICAgICAgIHRv
a2VuID0gRVFFUTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnPicpIHsK
KyAgICAgICAgICAgIHNoaWZ0KCk7CisgICAgICAgICAgICB0b2tlbiA9IEFSUk9XRlVOQ1RJT047
CisKKyAgICAgICAgICAgIHRva2VuRGF0YS0+bGluZSA9IHNhdmVkbGluZU51bWJlcjsKKyAgICAg
ICAgICAgIHRva2VuRGF0YS0+b2Zmc2V0ID0gc2F2ZWRPZmZzZXQ7CisgICAgICAgICAgICB0b2tl
bkRhdGEtPmxpbmVTdGFydE9mZnNldCA9IHNhdmVkTGluZVN0YXJ0T2Zmc2V0OworCisgICAgICAg
ICAgICBBU1NFUlQodG9rZW5EYXRhLT5vZmZzZXQgPj0gdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZz
ZXQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICB0b2tl
biA9IEVRVUFMOwogICAgICAgICBicmVhazsKKyAgICB9CiAgICAgY2FzZSBDaGFyYWN0ZXJMZXNz
OgogICAgICAgICBzaGlmdCgpOwogICAgICAgICBpZiAobV9jdXJyZW50ID09ICchJyAmJiBwZWVr
KDEpID09ICctJyAmJiBwZWVrKDIpID09ICctJykgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9MZXhlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9M
ZXhlci5oCmluZGV4IDhhZmVmMjYxMTIxMDhhZWQ3ZTg2ZWQwZTg0NzliNzljMWQwMjI3YWIuLmJk
YTNiZDQ5ZWE3YTU5YzM1YzRlMTI4NWNmOTQ4MzIyNTVjODdmZWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL0xleGVyLmgKQEAgLTg3LDYgKzg3LDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0
SXNSZXBhcnNpbmcoKSB7IG1faXNSZXBhcnNpbmcgPSB0cnVlOyB9CiAgICAgYm9vbCBpc1JlcGFy
c2luZygpIGNvbnN0IHsgcmV0dXJuIG1faXNSZXBhcnNpbmc7IH0KIAorI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdm9pZCBzZXRUb2tlblBvc2l0aW9uKEpTVG9rZW4q
IHRva2VuUmVjb3JkKTsKKyNlbmRpZgogICAgIEpTVG9rZW5UeXBlIGxleChKU1Rva2VuKiwgdW5z
aWduZWQsIGJvb2wgc3RyaWN0TW9kZSk7CiAgICAgYm9vbCBuZXh0VG9rZW5Jc0NvbG9uKCk7CiAg
ICAgaW50IGxpbmVOdW1iZXIoKSBjb25zdCB7IHJldHVybiBtX2xpbmVOdW1iZXI7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKaW5kZXggODli
OTI4ZWNmOGI0NDAwMDYyMzY2MTI4MmE5NzBhNTYyMWE1MWE5Mi4uMWI0MGVlM2UyMWQ4ZTM3MDE2
MWNjOWY5YzRhZWVjYzcwNzI2M2ZhMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9Ob2RlQ29uc3RydWN0b3JzLmgKQEAgLTgzNSw2ICs4MzUsMTMgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIG1fYm9keS0+ZmluaXNoUGFyc2luZyhzb3VyY2UsIHBhcmFtZXRlciwgaWRl
bnQsIEZ1bmN0aW9uRXhwcmVzc2lvbik7CiAgICAgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICBpbmxpbmUgQXJyb3dGdW5jRXhwck5vZGU6OkFycm93RnVuY0V4
cHJOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IElkZW50aWZpZXIm
IGlkZW50LCBGdW5jdGlvbkJvZHlOb2RlKiBib2R5LCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2Us
IFBhcmFtZXRlck5vZGUqIHBhcmFtZXRlcikKKyAgICAgICAgOiBGdW5jRXhwck5vZGUobG9jYXRp
b24sIGlkZW50LCBib2R5LCBzb3VyY2UsIHBhcmFtZXRlcikKKyAgICB7CisgICAgfQorI2VuZGlm
CisgICAgCiAgICAgaW5saW5lIEZ1bmNEZWNsTm9kZTo6RnVuY0RlY2xOb2RlKGNvbnN0IEpTVG9r
ZW5Mb2NhdGlvbiYgbG9jYXRpb24sIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBGdW5jdGlvbkJv
ZHlOb2RlKiBib2R5LCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIFBhcmFtZXRlck5vZGUqIHBh
cmFtZXRlcikKICAgICAgICAgOiBTdGF0ZW1lbnROb2RlKGxvY2F0aW9uKQogICAgICAgICAsIG1f
Ym9keShib2R5KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rl
cy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2Rlcy5oCmluZGV4IDc4NDgxODRl
NTU0Y2Y0MGVhZjM5MDY3ZTY3OGE1ZWQ4YWM1NDk5ZTguLjk1NDBiMWI0NTE0NTE0MzYyZTA3OWE4
NDdjMDE1ZGUwYmM3YjVmOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvTm9kZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKQEAg
LTE1OCw2ICsxNTgsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdmlydHVhbCBib29sIGlz
RG90QWNjZXNzb3JOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICAgICAgdmlydHVh
bCBib29sIGlzRGVjb25zdHJ1Y3Rpb25Ob2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAg
ICAgICAgdmlydHVhbCBib29sIGlzRnVuY0V4cHJOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICB2aXJ0dWFs
IGJvb2wgaXNBcnJvd0Z1bmNFeHByTm9kZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjZW5k
aWYKICAgICAgICAgdmlydHVhbCBib29sIGlzQ29tbWFOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KICAgICAgICAgdmlydHVhbCBib29sIGlzU2ltcGxlQXJyYXkoKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNBZGQoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQpAQCAtMTcyNiw2ICsxNzI5LDE5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBG
dW5jdGlvbkJvZHlOb2RlKiBtX2JvZHk7CiAgICAgfTsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgY2xhc3MgQXJyb3dGdW5jRXhwck5vZGUgOiBwdWJsaWMgRnVu
Y0V4cHJOb2RlIHsKKyAgICBwdWJsaWM6CisgICAgICAgIEFycm93RnVuY0V4cHJOb2RlKGNvbnN0
IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0IElkZW50aWZpZXImLCBGdW5jdGlvbkJvZHlOb2RlKiwg
Y29uc3QgU291cmNlQ29kZSYsIFBhcmFtZXRlck5vZGUqID0gMCk7CisgICAgcHJpdmF0ZToKKyAg
ICAgICAgdmlydHVhbCBSZWdpc3RlcklEKiBlbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3Im
LCBSZWdpc3RlcklEKiA9IDApIG92ZXJyaWRlOworICAgICAgICAKKyAgICAgICAgdmlydHVhbCBi
b29sIGlzRnVuY0V4cHJOb2RlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKyAg
ICAgICAgCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc0Fycm93RnVuY0V4cHJOb2RlKCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQorICAgIH07CisjZW5kaWYKKwogI2lmIEVOQUJMRShF
UzZfQ0xBU1NfU1lOVEFYKQogICAgIGNsYXNzIENsYXNzRXhwck5vZGUgZmluYWwgOiBwdWJsaWMg
RXhwcmVzc2lvbk5vZGUgewogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
UGFyc2VyLmNwcAppbmRleCBmZDQyNDQ1NmRjNGU2NzE0MmZkZDc5M2E4NmFhMGE3MzRiMDRlODE0
Li5hMTBjZWZhOWY2ODQwZmY2MGEwYjU1NjFiY2RiNTZhODViZDI0MTU0IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCkBAIC0yNjQsNyArMjY0LDcgQEAgU3RyaW5nIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUlubmVyKCkKICAgICBpZiAobV9sZXhlci0+aXNSZXBhcnNp
bmcoKSkKICAgICAgICAgbV9zdGF0ZW1lbnREZXB0aC0tOwogICAgIFNjb3BlUmVmIHNjb3BlID0g
Y3VycmVudFNjb3BlKCk7Ci0gICAgU291cmNlRWxlbWVudHMqIHNvdXJjZUVsZW1lbnRzID0gcGFy
c2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBDaGVja0ZvclN0cmljdE1vZGUpOworICAgIFNvdXJj
ZUVsZW1lbnRzKiBzb3VyY2VFbGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwg
Q2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKICAgICBpZiAo
IXNvdXJjZUVsZW1lbnRzIHx8ICFjb25zdW1lKEVPRlRPSykpIHsKICAgICAgICAgaWYgKGhhc0Vy
cm9yKCkpCiAgICAgICAgICAgICBwYXJzZUVycm9yID0gbV9lcnJvck1lc3NhZ2U7CkBAIC0zNDMs
NyArMzQzLDcgQEAgYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6YWxsb3dBdXRvbWF0aWNTZW1pY29s
b24oKQogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgotdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
U291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIFNvdXJjZUVsZW1lbnRzTW9kZSBt
b2RlKQordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMgUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImIGNvbnRleHQs
IFNvdXJjZUVsZW1lbnRzTW9kZSBtb2RlLCBGdW5jdGlvblBhcnNlVHlwZSBmdW5jdGlvblBhcnNl
VHlwZSkKIHsKICAgICBjb25zdCB1bnNpZ25lZCBsZW5ndGhPZlVzZVN0cmljdExpdGVyYWwgPSAx
MjsgLy8gInVzZSBzdHJpY3QiLmxlbmd0aAogICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzb3VyY2VF
bGVtZW50cyA9IGNvbnRleHQuY3JlYXRlU291cmNlRWxlbWVudHMoKTsKQEAgLTM1Miw3ICszNTIs
NyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3VyY2VFbAogICAgIHVuc2lnbmVkIGRpcmVjdGl2ZUxpdGVy
YWxMZW5ndGggPSAwOwogICAgIGF1dG8gc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CiAg
ICAgYm9vbCBoYXNTZXRTdHJpY3QgPSBmYWxzZTsKLSAgICB3aGlsZSAoVHJlZVN0YXRlbWVudCBz
dGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVudChjb250ZXh0LCBkaXJlY3RpdmUsICZkaXJlY3RpdmVM
aXRlcmFsTGVuZ3RoKSkgeworICAgIHdoaWxlIChUcmVlU3RhdGVtZW50IHN0YXRlbWVudCA9IHBh
cnNlU3RhdGVtZW50KGNvbnRleHQsIGRpcmVjdGl2ZSwgJmRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgs
IGZ1bmN0aW9uUGFyc2VUeXBlKSkgewogICAgICAgICBpZiAobW9kZSA9PSBDaGVja0ZvclN0cmlj
dE1vZGUgJiYgIXNlZW5Ob25EaXJlY3RpdmUpIHsKICAgICAgICAgICAgIGlmIChkaXJlY3RpdmUp
IHsKICAgICAgICAgICAgICAgICAvLyAidXNlIHN0cmljdCIgbXVzdCBiZSB0aGUgZXhhY3QgbGl0
ZXJhbCB3aXRob3V0IGVzY2FwZSBzZXF1ZW5jZXMgb3IgbGluZSBjb250aW51YXRpb24uCkBAIC01
ODQsNiArNTg0LDMxIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlY29uc3Ry
dWN0aW9uUGF0dGVybiBQYXJzZXI8TGV4ZXJUeXBlPjo6Y3JlYXRlCiAgICAgcmV0dXJuIGNvbnRl
eHQuY3JlYXRlQmluZGluZ0xvY2F0aW9uKHRva2VuLm1fbG9jYXRpb24sIG5hbWUsIHRva2VuLm1f
c3RhcnRQb3NpdGlvbiwgdG9rZW4ubV9lbmRQb3NpdGlvbik7CiB9CiAKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KK3Rl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250ZXh0KQorewor
ICAgIEFTU0VSVChtYXRjaChBUlJPV0ZVTkNUSU9OKSk7CisKKyAgICBKU1Rva2VuTG9jYXRpb24g
bG9jYXRpb24odG9rZW5Mb2NhdGlvbigpKTsKKyAgICBKU1RleHRQb3NpdGlvbiBzdGFydCA9IHRv
a2VuU3RhcnRQb3NpdGlvbigpOworICAgIEpTVGV4dFBvc2l0aW9uIGVuZCA9IHRva2VuRW5kUG9z
aXRpb24oKTsKKworICAgIG5leHQoKTsKKyAgICBUcmVlRXhwcmVzc2lvbiBleHByID0gcGFyc2VB
cnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICBmYWlsSWZGYWxzZShleHByLCAi
Q2Fubm90IHBhcnNlIHRoZSBhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgZW5kID0g
bGFzdFRva2VuRW5kUG9zaXRpb24oKTsKKworICAgIGJvb2wgY29ycmVjdEFycm93RmluaXNoID0g
aXNFbmRPZkFycm93RnVuY3Rpb24oKSB8fCBtYXRjaChFT0ZUT0spOworICAgIGZhaWxJZkZhbHNl
KGNvcnJlY3RBcnJvd0ZpbmlzaCwgIkV4cGVjdGVkIGEgJzsnLCAnXScsICd9JywgJyknLCBvciAn
LCcgZm9sbG93aW5nIGEgYXJyb3cgZnVuY3Rpb24gc3RhdGVtZW50Iik7CisKKyAgICBlbmQgPSB0
b2tlbkVuZFBvc2l0aW9uKCk7CisgICAgc2V0RW5kT2ZTdGF0ZW1lbnQoKTsKKworICAgIHJldHVy
biBjb250ZXh0LmNyZWF0ZVJldHVyblN0YXRlbWVudChsb2NhdGlvbiwgZXhwciwgc3RhcnQsIGVu
ZCk7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiBQYXJzZXI8TGV4
ZXJUeXBlPjo6dHJ5UGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm5FeHByZXNzaW9uKFRyZWVCdWls
ZGVyJiBjb250ZXh0KQogewpAQCAtMTAzMSw3ICsxMDU2LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlQ2xhdXNlTGlzdCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTd2l0Y2hD
bGF1c2UKICAgICBUcmVlRXhwcmVzc2lvbiBjb25kaXRpb24gPSBwYXJzZUV4cHJlc3Npb24oY29u
dGV4dCk7CiAgICAgZmFpbElmRmFsc2UoY29uZGl0aW9uLCAiQ2Fubm90IHBhcnNlIHN3aXRjaCBj
bGF1c2UiKTsKICAgICBjb25zdW1lT3JGYWlsKENPTE9OLCAiRXhwZWN0ZWQgYSAnOicgYWZ0ZXIg
c3dpdGNoIGNsYXVzZSBleHByZXNzaW9uIik7Ci0gICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN0YXRl
bWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1v
ZGUpOworICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVt
ZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFy
c2VUeXBlKTsKICAgICBmYWlsSWZGYWxzZShzdGF0ZW1lbnRzLCAiQ2Fubm90IHBhcnNlIHRoZSBi
b2R5IG9mIGEgc3dpdGNoIGNsYXVzZSIpOwogICAgIFRyZWVDbGF1c2UgY2xhdXNlID0gY29udGV4
dC5jcmVhdGVDbGF1c2UoY29uZGl0aW9uLCBzdGF0ZW1lbnRzKTsKICAgICBjb250ZXh0LnNldFN0
YXJ0T2Zmc2V0KGNsYXVzZSwgc3RhcnRPZmZzZXQpOwpAQCAtMTA0NCw3ICsxMDY5LDcgQEAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlQ2xhdXNlTGlzdCBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VTd2l0Y2hDbGF1c2UKICAgICAgICAgVHJlZUV4cHJlc3Npb24gY29uZGl0aW9uID0g
cGFyc2VFeHByZXNzaW9uKGNvbnRleHQpOwogICAgICAgICBmYWlsSWZGYWxzZShjb25kaXRpb24s
ICJDYW5ub3QgcGFyc2Ugc3dpdGNoIGNhc2UgZXhwcmVzc2lvbiIpOwogICAgICAgICBjb25zdW1l
T3JGYWlsKENPTE9OLCAiRXhwZWN0ZWQgYSAnOicgYWZ0ZXIgc3dpdGNoIGNsYXVzZSBleHByZXNz
aW9uIik7Ci0gICAgICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3Vy
Y2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlKTsKKyAgICAgICAgVHJl
ZVNvdXJjZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQs
IERvbnRDaGVja0ZvclN0cmljdE1vZGUsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwogICAg
ICAgICBmYWlsSWZGYWxzZShzdGF0ZW1lbnRzLCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIGEg
c3dpdGNoIGNsYXVzZSIpOwogICAgICAgICBjbGF1c2UgPSBjb250ZXh0LmNyZWF0ZUNsYXVzZShj
b25kaXRpb24sIHN0YXRlbWVudHMpOwogICAgICAgICBjb250ZXh0LnNldFN0YXJ0T2Zmc2V0KGNs
YXVzZSwgc3RhcnRPZmZzZXQpOwpAQCAtMTA2MSw3ICsxMDg2LDcgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlQ2xhdXNlIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN3aXRjaERl
ZmF1bHRDbGEKICAgICB1bnNpZ25lZCBzdGFydE9mZnNldCA9IHRva2VuU3RhcnQoKTsKICAgICBu
ZXh0KCk7CiAgICAgY29uc3VtZU9yRmFpbChDT0xPTiwgIkV4cGVjdGVkIGEgJzonIGFmdGVyIHN3
aXRjaCBkZWZhdWx0IGNsYXVzZSIpOwotICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRz
ID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlKTsK
KyAgICBUcmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMo
Y29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlw
ZSk7CiAgICAgZmFpbElmRmFsc2Uoc3RhdGVtZW50cywgIkNhbm5vdCBwYXJzZSB0aGUgYm9keSBv
ZiBhIHN3aXRjaCBkZWZhdWx0IGNsYXVzZSIpOwogICAgIFRyZWVDbGF1c2UgcmVzdWx0ID0gY29u
dGV4dC5jcmVhdGVDbGF1c2UoMCwgc3RhdGVtZW50cyk7CiAgICAgY29udGV4dC5zZXRTdGFydE9m
ZnNldChyZXN1bHQsIHN0YXJ0T2Zmc2V0KTsKQEAgLTExNDYsNyArMTE3MSw3IEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VCbG9ja1N0YXRlbWVuCiAgICAgICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KHJlc3VsdCwgZW5k
T2Zmc2V0KTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9Ci0gICAgVHJlZVNvdXJjZUVs
ZW1lbnRzIHN1YnRyZWUgPSBwYXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0Zv
clN0cmljdE1vZGUpOworICAgIFRyZWVTb3VyY2VFbGVtZW50cyBzdWJ0cmVlID0gcGFyc2VTb3Vy
Y2VFbGVtZW50cyhjb250ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0
aW9uUGFyc2VUeXBlKTsKICAgICBmYWlsSWZGYWxzZShzdWJ0cmVlLCAiQ2Fubm90IHBhcnNlIHRo
ZSBib2R5IG9mIHRoZSBibG9jayBzdGF0ZW1lbnQiKTsKICAgICBtYXRjaE9yRmFpbChDTE9TRUJS
QUNFLCAiRXhwZWN0ZWQgYSBjbG9zaW5nICd9JyBhdCB0aGUgZW5kIG9mIGEgYmxvY2sgc3RhdGVt
ZW50Iik7CiAgICAgaW50IGVuZE9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKQEAgLTEx
NTgsNyArMTE4Myw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVu
dCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VCbG9ja1N0YXRlbWVuCiB9CiAKIHRlbXBsYXRlIDx0
eXBlbmFtZSBMZXhlclR5cGU+Ci10ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0
ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiBjb250
ZXh0LCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0
ZXJhbExlbmd0aCkKK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGNv
bnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVu
Z3RoLCBGdW5jdGlvblBhcnNlVHlwZSBwYXJzZVR5cGUpCiB7CiAgICAgRGVwdGhNYW5hZ2VyIHN0
YXRlbWVudERlcHRoKCZtX3N0YXRlbWVudERlcHRoKTsKICAgICBtX3N0YXRlbWVudERlcHRoKys7
CkBAIC0xMTY3LDYgKzExOTIsMjMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
U3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmUKICAgICBmYWls
SWZTdGFja092ZXJmbG93KCk7CiAgICAgVHJlZVN0YXRlbWVudCByZXN1bHQgPSAwOwogICAgIGJv
b2wgc2hvdWxkU2V0RW5kT2Zmc2V0ID0gdHJ1ZTsKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBl
KSB7CisgICAgICAgIHN3aXRjaCAobV90b2tlbi5tX3R5cGUpIHsKKyAgICAgICAgY2FzZSBDTE9T
RVBBUkVOOgorICAgICAgICBjYXNlIENMT1NFQlJBQ0tFVDoKKyAgICAgICAgY2FzZSBDT01NQToK
KyAgICAgICAgY2FzZSBTRU1JQ09MT046IHsKKyAgICAgICAgICAgIHJlc3VsdCA9IDA7CisgICAg
ICAgICAgICBjb250ZXh0LnNldEVuZE9mZnNldChyZXN1bHQsIG1fbGFzdFRva2VuRW5kUG9zaXRp
b24ub2Zmc2V0KTsKKyAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgIH0KKyAgICAg
ICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorI2VuZGlm
CiAgICAgc3dpdGNoIChtX3Rva2VuLm1fdHlwZSkgewogICAgIGNhc2UgT1BFTkJSQUNFOgogICAg
ICAgICByZXN1bHQgPSBwYXJzZUJsb2NrU3RhdGVtZW50KGNvbnRleHQpOwpAQCAtMTIxMiw2ICsx
MjU0LDE1IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlCiAgICAgY2FzZSBCUkVBSzoKICAgICAg
ICAgcmVzdWx0ID0gcGFyc2VCcmVha1N0YXRlbWVudChjb250ZXh0KTsKICAgICAgICAgYnJlYWs7
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBjYXNlIEFSUk9XRlVO
Q1RJT046CisgICAgICAgIHJlc3VsdCA9IHBhcnNlQXJyb3dGdW5jdGlvblN0YXRlbWVudChjb250
ZXh0KTsKKyAgICAgICAgLy8gQ29uc3VtZSB0aGUgZW5kIG9mIGFycm93IGZ1bmN0aW9uICw7XSkg
YW5kIHByZXZlbnQKKyAgICAgICAgLy8gcGFyc2UgdGhpcyBzeW1ib2xzIGJ5IHBhcnNlU3RhdGVt
ZW50IGFzIHNlcGFyYXRlIHN0YXRlbWVudAorICAgICAgICBpZiAocGFyc2VUeXBlID09IFN0YW5k
YXJkRnVuY3Rpb25QYXJzZVR5cGUpCisgICAgICAgICAgICBuZXh0KCk7CisgICAgICAgIGJyZWFr
OworI2VuZGlmCiAgICAgY2FzZSBSRVRVUk46CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlUmV0dXJu
U3RhdGVtZW50KGNvbnRleHQpOwogICAgICAgICBicmVhazsKQEAgLTEyNzYsMjAgKzEzMjcsMzQg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRm9ybWFsUGFyYW1ldGVyTGlzdCBQ
YXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGb3IKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+
CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGdW5jdGlvbkJvZHkgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlRnVuY3Rpb25Cb2R5KAogICAgIFRyZWVCdWlsZGVyJiBjb250ZXh0LCBp
bnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5hbWVTdGFydCwgCi0gICAgaW50
IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCkKKyAgICBp
bnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kLCBGdW5j
dGlvblBhcnNlVHlwZSBwYXJzZVR5cGUpCiB7CiAgICAgSlNUb2tlbkxvY2F0aW9uIHN0YXJ0TG9j
YXRpb24odG9rZW5Mb2NhdGlvbigpKTsKICAgICB1bnNpZ25lZCBzdGFydENvbHVtbiA9IHRva2Vu
Q29sdW1uKCk7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBpZiAo
cGFyc2VUeXBlID09IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgbmV4dCgp
OworICAgICAgICBpZiAobWF0Y2goQ0xPU0VCUkFDRSkpIHsKKyAgICAgICAgICAgIHVuc2lnbmVk
IGVuZENvbHVtbiA9IHRva2VuQ29sdW1uKCk7CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5j
cmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgdG9rZW5Mb2NhdGlvbigpLCBzdGFydENv
bHVtbiwgZW5kQ29sdW1uLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQs
IHBhcmFtZXRlcnNTdGFydCwgc3RyaWN0TW9kZSgpLCBjb25zdHJ1Y3RvcktpbmQpOworICAgICAg
ICB9CisgICAgfQorI2Vsc2UKICAgICBuZXh0KCk7Ci0KICAgICBpZiAobWF0Y2goQ0xPU0VCUkFD
RSkpIHsKICAgICAgICAgdW5zaWduZWQgZW5kQ29sdW1uID0gdG9rZW5Db2x1bW4oKTsKICAgICAg
ICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0YXJ0TG9jYXRpb24sIHRva2Vu
TG9jYXRpb24oKSwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgZnVuY3Rpb25LZXl3b3JkU3RhcnQs
IGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0cmljdE1vZGUoKSwgY29uc3Ry
dWN0b3JLaW5kKTsKICAgICB9CisjZW5kaWYKKwogICAgIERlcHRoTWFuYWdlciBzdGF0ZW1lbnRE
ZXB0aCgmbV9zdGF0ZW1lbnREZXB0aCk7CiAgICAgbV9zdGF0ZW1lbnREZXB0aCA9IDA7CiAgICAg
dHlwZW5hbWUgVHJlZUJ1aWxkZXI6OkZ1bmN0aW9uQm9keUJ1aWxkZXIgYm9keUJ1aWxkZXIoY29u
c3RfY2FzdDxWTSo+KG1fdm0pLCBtX2xleGVyLmdldCgpKTsKLSAgICBmYWlsSWZGYWxzZShwYXJz
ZVNvdXJjZUVsZW1lbnRzKGJvZHlCdWlsZGVyLCBDaGVja0ZvclN0cmljdE1vZGUpLCAiQ2Fubm90
IHBhcnNlIGJvZHkgb2YgdGhpcyBmdW5jdGlvbiIpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgZmFpbElmRmFsc2UocGFyc2VTb3VyY2VFbGVtZW50cyhib2R5QnVp
bGRlciwgQ2hlY2tGb3JTdHJpY3RNb2RlLCBwYXJzZVR5cGUpLCBwYXJzZVR5cGUgPT0gU3RhbmRh
cmRGdW5jdGlvblBhcnNlVHlwZSA/ICJDYW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGZ1bmN0aW9u
IiA6ICJDYW5ub3QgcGFyc2UgYm9keSBvZiB0aGlzIGFycm93IGZ1bmN0aW9uIik7CisjZWxzZQor
ICAgIGZhaWxJZkZhbHNlKHBhcnNlU291cmNlRWxlbWVudHMoYm9keUJ1aWxkZXIsIENoZWNrRm9y
U3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSksICJDYW5ub3QgcGFyc2UgYm9k
eSBvZiB0aGlzIGZ1bmN0aW9uIik7CisjZW5kaWYKICAgICB1bnNpZ25lZCBlbmRDb2x1bW4gPSB0
b2tlbkNvbHVtbigpOwogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmN0aW9uQm9keShzdGFy
dExvY2F0aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0YXJ0Q29sdW1uLCBlbmRDb2x1bW4sIGZ1bmN0
aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBzdHJp
Y3RNb2RlKCksIGNvbnN0cnVjdG9yS2luZCk7CiB9CkBAIC0xMzEwLDE1ICsxMzc1LDggQEAgc3Rh
dGljIGNvbnN0IGNoYXIqIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShGdW5jdGlvblBhcnNlTW9kZSBt
b2RlKQogICAgIHJldHVybiBudWxscHRyOwogfQogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJU
eXBlPgotdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25SZXF1aXJl
bWVudHMgcmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLAotICAgIGJvb2wgbmFt
ZUlzSW5Db250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQsIFN1
cGVyQmluZGluZyBleHBlY3RlZFN1cGVyQmluZGluZywgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0
LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvKQordGVtcGxhdGUgPHR5cGVu
YW1lIExleGVyVHlwZT4gdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBpbnQgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlRnVuY3Rpb25QYXJhbXRlcnMoVHJlZUJ1aWxkZXImIGNvbnRleHQsIEZ1
bmN0aW9uUmVxdWlyZW1lbnRzIHJlcXVpcmVtZW50cywgRnVuY3Rpb25QYXJzZU1vZGUgbW9kZSwg
Ym9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQXV0b1BvcFNjb3BlUmVmJiBmdW5jdGlvblNj
b3BlLCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvKQogewotICAgIEF1dG9Q
b3BTY29wZVJlZiBmdW5jdGlvblNjb3BlKHRoaXMsIHB1c2hTY29wZSgpKTsKLSAgICBmdW5jdGlv
blNjb3BlLT5zZXRJc0Z1bmN0aW9uKCk7Ci0gICAgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0ID0gbV90
b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OwotICAgIGNvbnN0IElkZW50aWZpZXIqIGxhc3RG
dW5jdGlvbk5hbWUgPSBtX2xhc3RGdW5jdGlvbk5hbWU7Ci0gICAgbV9sYXN0RnVuY3Rpb25OYW1l
ID0gbnVsbHB0cjsKICAgICBpZiAobWF0Y2goSURFTlQpKSB7CiAgICAgICAgIGluZm8ubmFtZSA9
IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBpbmZv
Lm5hbWU7CkBAIC0xMzM3LDcgKzEzOTUsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAg
ICAgICBzZW1hbnRpY0ZhaWx1cmVEdWVUb0tleXdvcmQoc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1v
ZGUpLCAiIG5hbWUiKTsKICAgICAgICAgZmFpbFdpdGhNZXNzYWdlKCJFeHBlY3RlZCBhbiBvcGVu
aW5nICcoJyBiZWZvcmUgYSAiLCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIncyBwYXJh
bWV0ZXIgbGlzdCIpOwogICAgIH0KLQorICAgIAogICAgIGlmIChtb2RlID09IEdldHRlck1vZGUp
CiAgICAgICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJFTiwgImdldHRlciBmdW5jdGlvbnMgbXVz
dCBoYXZlIG5vIHBhcmFtZXRlcnMiKTsKICAgICBlbHNlIGlmIChtb2RlID09IFNldHRlck1vZGUp
IHsKQEAgLTEzNTQsMTYgKzE0MTIsODEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBi
b29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAg
ICAgfQogICAgICAgICBjb25zdW1lT3JGYWlsKENMT1NFUEFSRU4sICJFeHBlY3RlZCBhICcpJyBv
ciBhICcsJyBhZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOwogICAgIH0KKyAgICAKKyAg
ICByZXR1cm4gcGFyYW1ldGVyc1N0YXJ0OworfQogCi0gICAgbWF0Y2hPckZhaWwoT1BFTkJSQUNF
LCAiRXhwZWN0ZWQgYW4gb3BlbmluZyAneycgYXQgdGhlIHN0YXJ0IG9mIGEgIiwgc3RyaW5nRm9y
RnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4gdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBpbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvblBh
cmFtdGVycyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rpb25QYXJzZU1vZGUgbW9kZSwgUGFy
c2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYgaW5mbykKK3sKKyAgICBpbnQgcGFyYW1ldGVy
c1N0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0OworICAgIGlmICghbWF0Y2go
SURFTlQpICYmICFtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAgIHNlbWFudGljRmFpbHVyZUR1
ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgbmFtZSIpOworICAgICAg
ICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVkIGFuIGFycm93IGZ1bmN0aW9uIGlucHV0IHBhcmFt
ZXRlciIpOworICAgIH0gZWxzZSB7CisgICAgICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7Cisg
ICAgICAgICAgICBjb25zdW1lKE9QRU5QQVJFTik7CisgICAgICAgICAgICAKKyAgICAgICAgICAg
IGlmICghbWF0Y2goQ0xPU0VQQVJFTikpIHsKKyAgICAgICAgICAgICAgICBpbmZvLnBhcmFtZXRl
cnMgPSBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoY29udGV4dCk7CisgICAgICAgICAgICAgICAgZmFp
bElmRmFsc2UoaW5mby5wYXJhbWV0ZXJzLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRo
aXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIAorICAgICAgICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiRXhwZWN0ZWQg
YSAnKScgb3IgYSAnLCcgYWZ0ZXIgYSBwYXJhbWV0ZXIgZGVjbGFyYXRpb24iKTsKKyAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgIGF1dG8gcGFyYW1ldGVyID0gcGFyc2VEZWNvbnN0cnVjdGlv
blBhdHRlcm4oY29udGV4dCwgRGVjb25zdHJ1Y3RUb1BhcmFtZXRlcnMpOworICAgICAgICAgICAg
ZmFpbElmRmFsc2UocGFyYW1ldGVyLCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlciBwYXR0ZXJuIik7
CisgICAgICAgICAgICBpbmZvLnBhcmFtZXRlcnMgPSBjb250ZXh0LmNyZWF0ZUZvcm1hbFBhcmFt
ZXRlckxpc3QocGFyYW1ldGVyKTsKKyAgICAgICAgICAgIGZhaWxJZkZhbHNlKGluZm8ucGFyYW1l
dGVycywgIkNhbm5vdCBwYXJzZSBwYXJhbWV0ZXJzIGZvciB0aGlzICIsIHN0cmluZ0ZvckZ1bmN0
aW9uTW9kZShtb2RlKSk7CisgICAgICAgIH0KKyAgICB9CisgICAgCisgICAgcmV0dXJuIHBhcmFt
ZXRlcnNTdGFydDsKK30KKyNlbmRpZgogCi0gICAgLy8gQnl0ZWNvZGVHZW5lcmF0b3IgZW1pdHMg
Y29kZSB0byB0aHJvdyBUeXBlRXJyb3Igd2hlbiBhIGNsYXNzIGNvbnN0cnVjdG9yIGlzICJjYWxs
ImVkLgotICAgIC8vIFNldCBDb25zdHJ1Y3RvcktpbmQgdG8gTm9uZSBmb3Igbm9uLWNvbnN0cnVj
dG9yIG1ldGhvZHMgb2YgY2xhc3Nlcy4KLSAgICBpZiAobV9kZWZhdWx0Q29uc3RydWN0b3JLaW5k
ICE9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSkgewotICAgICAgICBjb25zdHJ1Y3RvcktpbmQgPSBt
X2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQ7Ci0gICAgICAgIGV4cGVjdGVkU3VwZXJCaW5kaW5nID0g
bV9kZWZhdWx0Q29uc3RydWN0b3JLaW5kID09IENvbnN0cnVjdG9yS2luZDo6RGVyaXZlZCA/IFN1
cGVyQmluZGluZzo6TmVlZGVkIDogU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQ7Cit0ZW1wbGF0ZSA8
dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGRlciYgY29udGV4dCwg
RnVuY3Rpb25SZXF1aXJlbWVudHMgcmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSBtb2Rl
LCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0
b3JLaW5kLCBTdXBlckJpbmRpbmcgZXhwZWN0ZWRTdXBlckJpbmRpbmcsIGludCBmdW5jdGlvbktl
eXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYgaW5mbywgRnVuY3Rp
b25QYXJzZVR5cGUgcGFyc2VUeXBlKQoreworICAgIEF1dG9Qb3BTY29wZVJlZiBmdW5jdGlvblNj
b3BlKHRoaXMsIHB1c2hTY29wZSgpKTsKKyAgICBmdW5jdGlvblNjb3BlLT5zZXRJc0Z1bmN0aW9u
KCk7CisgICAgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0ID0gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0
T2Zmc2V0OworICAgIGNvbnN0IElkZW50aWZpZXIqIGxhc3RGdW5jdGlvbk5hbWUgPSBtX2xhc3RG
dW5jdGlvbk5hbWU7CisgICAgbV9sYXN0RnVuY3Rpb25OYW1lID0gbnVsbHB0cjsKKyAgICBpbnQg
cGFyYW1ldGVyc1N0YXJ0OworICAgIGJvb2wgaXNDbGFzc0NvbnN0cnVjdG9yOworICAgIAorICAg
IHN3aXRjaCAocGFyc2VUeXBlKSB7CisgICAgY2FzZSBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBl
OiB7CisgICAgICAgIHBhcmFtZXRlcnNTdGFydCA9IHBhcnNlRnVuY3Rpb25QYXJhbXRlcnMoY29u
dGV4dCwgcmVxdWlyZW1lbnRzLCBtb2RlLCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgZnVuY3Rp
b25TY29wZSwgaW5mbyk7CisgICAgICAgICAgICAKKyAgICAgICAgbWF0Y2hPckZhaWwoT1BFTkJS
QUNFLCAiRXhwZWN0ZWQgYW4gb3BlbmluZyAneycgYXQgdGhlIHN0YXJ0IG9mIGEgIiwgc3RyaW5n
Rm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgCisgICAgICAgIC8vIEJ5
dGVjb2RlR2VuZXJhdG9yIGVtaXRzIGNvZGUgdG8gdGhyb3cgVHlwZUVycm9yIHdoZW4gYSBjbGFz
cyBjb25zdHJ1Y3RvciBpcyAiY2FsbCJlZC4KKyAgICAgICAgLy8gU2V0IENvbnN0cnVjdG9yS2lu
ZCB0byBOb25lIGZvciBub24tY29uc3RydWN0b3IgbWV0aG9kcyBvZiBjbGFzc2VzLgorICAgICAg
ICBpc0NsYXNzQ29uc3RydWN0b3IgPSBtb2RlID09IE1ldGhvZE1vZGUgJiYgaW5mby5uYW1lICYm
ICppbmZvLm5hbWUgPT0gbV92bS0+cHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3I7CisgICAgICAg
IGlmIChtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQgIT0gQ29uc3RydWN0b3JLaW5kOjpOb25lKSB7
CisgICAgICAgICAgICBjb25zdHJ1Y3RvcktpbmQgPSBtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQ7
CisgICAgICAgICAgICBleHBlY3RlZFN1cGVyQmluZGluZyA9IG1fZGVmYXVsdENvbnN0cnVjdG9y
S2luZCA9PSBDb25zdHJ1Y3RvcktpbmQ6OkRlcml2ZWQgPyBTdXBlckJpbmRpbmc6Ok5lZWRlZCA6
IFN1cGVyQmluZGluZzo6Tm90TmVlZGVkOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBp
c0NsYXNzQ29uc3RydWN0b3IgPSBjb25zdHJ1Y3RvcktpbmQgIT0gQ29uc3RydWN0b3JLaW5kOjpO
b25lOworICAgICAgICBicmVhazsKKyAgICB9CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICBjYXNlIEFycm93RnVuY3Rpb25QYXJzZVR5cGU6IHsKKyAgICAgICAgcGFy
YW1ldGVyc1N0YXJ0ID0gcGFyc2VBcnJvd0Z1bmN0aW9uUGFyYW10ZXJzKGNvbnRleHQsIG1vZGUs
IGluZm8pOworICAgICAgICAKKyAgICAgICAgbWF0Y2hPckZhaWwoQVJST1dGVU5DVElPTiwgIkV4
cGVjdGVkIGEgJz0+JyBhZnRlciBhcnJvdyBmdW5jdGlvbiBwYXJhbWV0ZXIgZGVjbGFyYXRpb24i
KTsKKyAgICAgICAgaXNDbGFzc0NvbnN0cnVjdG9yID0gZmFsc2U7CisgICAgICAgIAorICAgICAg
ICBpbmZvLmFycm93RnVuY3Rpb25PZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZzZXQ7CisgICAg
ICAgIGJyZWFrOworICAgIH0KKyNlbmRpZgogICAgIH0KLSAgICBib29sIGlzQ2xhc3NDb25zdHJ1
Y3RvciA9IGNvbnN0cnVjdG9yS2luZCAhPSBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmU7CisgICAgCisg
ICAgY29uc3RydWN0b3JLaW5kID0gaXNDbGFzc0NvbnN0cnVjdG9yID8gY29uc3RydWN0b3JLaW5k
IDogQ29uc3RydWN0b3JLaW5kOjpOb25lOwogCiAgICAgaW5mby5vcGVuQnJhY2VPZmZzZXQgPSBt
X3Rva2VuLm1fZGF0YS5vZmZzZXQ7CiAgICAgaW5mby5ib2R5U3RhcnRMaW5lID0gdG9rZW5MaW5l
KCk7CkBAIC0xMzk2LDggKzE1MTksMTUgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBi
b29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhUcmVlQnVpbGQKICAgICAg
ICAgZmFpbElmRmFsc2UocG9wU2NvcGUoZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRz
RnJlZVZhcmlhYmxlSW5mbyksICJQYXJzZXIgZXJyb3IiKTsKICAgICAgICAgCiAgICAgICAgIGlu
Zm8uY2xvc2VCcmFjZU9mZnNldCA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VPZmZzZXQ7Ci0KLSAg
ICAgICAgbV90b2tlbiA9IGNhY2hlZEluZm8tPmNsb3NlQnJhY2VUb2tlbigpOworICAgICAgICAK
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAocGFyc2VU
eXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpCisgICAgICAgICAgICBpbmZvLmZ1bmN0aW9u
Qm9keVR5cGUgPSBjYWNoZWRJbmZvLT5pc0JvZHlBcnJvd0V4cHJlc3Npb24gPyAgQXJyb3dGdW5j
dGlvbkJvZHlFeHByZXNzaW9uIDogQXJyb3dGdW5jdGlvbkJvZHlCbG9jazsKKyAgICAgICAgZWxz
ZQorICAgICAgICAgICAgaW5mby5mdW5jdGlvbkJvZHlUeXBlID0gU3RhbmRhcmRGdW5jdGlvbkJv
ZHlCbG9jazsKKyNlbmRpZgorICAgICAgICBtX3Rva2VuID0gY2FjaGVkSW5mby0+ZW5kRnVuY3Rp
b25Ub2tlbigpOworICAgICAgICAKICAgICAgICAgaWYgKGVuZENvbHVtbklzT25TdGFydExpbmUp
CiAgICAgICAgICAgICBtX3Rva2VuLm1fbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0ID0gY3VycmVu
dExpbmVTdGFydE9mZnNldDsKIApAQCAtMTQwNiwxMyArMTUzNiw0MyBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZv
KFRyZWVCdWlsZAogCiAgICAgICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KGluZm8uYm9keSwgbV9s
ZXhlci0+Y3VycmVudE9mZnNldCgpKTsKICAgICAgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZV
TkNUSU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKHBhcnNlVHlwZSAhPSBBcnJvd0Z1bmN0aW9uUGFy
c2VUeXBlIHx8IGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUJsb2Nr
KQorICAgICAgICAgICAgbmV4dCgpOworI2Vsc2UKICAgICAgICAgbmV4dCgpOworI2VuZGlmCiAg
ICAgICAgIGluZm8uYm9keUVuZExpbmUgPSBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLmxpbmU7CiAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KKyAgICAKICAgICBtX2xhc3RGdW5jdGlvbk5hbWUg
PSBsYXN0RnVuY3Rpb25OYW1lOwogICAgIFBhcnNlclN0YXRlIG9sZFN0YXRlID0gc2F2ZVN0YXRl
KCk7Ci0gICAgaW5mby5ib2R5ID0gcGFyc2VGdW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25L
ZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVj
dG9yS2luZCk7CisgICAgCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgU2F2
ZVBvaW50IHNhdmVQb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgICAgICBuZXh0KCk7Cisg
ICAgICAgIC8vIENoZWNrIGlmIGFycm93IGJvZHkgc3RhcnQgd2l0aCB7LiBJZiBpdCB0cnVlIGl0
IG1lYW4gdGhhdCBhcnJvdyBmdW5jdGlvbiBpcyBGYXQgYXJyb3cgZnVuY3Rpb24KKyAgICAgICAg
Ly8gYW5kIHdlIG5lZWQgdXNlIGNvbW1vbiBhcHByb2FjaCB0byBwYXJzZSBmdW5jdGlvbiBib2R5
CisgICAgICAgIGluZm8uZnVuY3Rpb25Cb2R5VHlwZSA9IG1hdGNoKE9QRU5CUkFDRSkgPyBBcnJv
d0Z1bmN0aW9uQm9keUJsb2NrIDogQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOworICAgIAor
ICAgICAgICBpZiAoaW5mby5mdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5Qmxv
Y2spIHsKKyAgICAgICAgICAgIGluZm8ub3BlbkJyYWNlT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEu
b2Zmc2V0OworICAgICAgICAgICAgaW5mby5ib2R5U3RhcnRMaW5lID0gdG9rZW5MaW5lKCk7Cisg
ICAgICAgICAgICBpbmZvLmJvZHlTdGFydENvbHVtbiA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldCAt
IG1fdG9rZW4ubV9kYXRhLmxpbmVTdGFydE9mZnNldDsKKyAgICAgICAgCisgICAgICAgICAgICBp
bmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFy
dCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JLaW5kLCBT
dGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
IHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKKyAgICAgICAgICAgIGluZm8uYm9keSA9IHBh
cnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5h
bWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQsIEFycm93RnVuY3Rpb25Q
YXJzZVR5cGUpOworICAgICAgICB9CisgICAgfSBlbHNlCisgICAgICAgIGluZm8uYm9keSA9IHBh
cnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5h
bWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQsIFN0YW5kYXJkRnVuY3Rp
b25QYXJzZVR5cGUpOworI2Vsc2UKKyAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShj
b250ZXh0LCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRl
cnNTdGFydCwgY29uc3RydWN0b3JLaW5kLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsKKyNl
bmRpZgorICAgIAogICAgIHJlc3RvcmVTdGF0ZShvbGRTdGF0ZSk7CiAgICAgZmFpbElmRmFsc2Uo
aW5mby5ib2R5LCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIHRoaXMgIiwgc3RyaW5nRm9yRnVu
Y3Rpb25Nb2RlKG1vZGUpKTsKICAgICBjb250ZXh0LnNldEVuZE9mZnNldChpbmZvLmJvZHksIG1f
bGV4ZXItPmN1cnJlbnRPZmZzZXQoKSk7CkBAIC0xNDQzLDE4ICsxNjAzLDMyIEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlv
bkluZm8oVHJlZUJ1aWxkCiAgICAgICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmUgPSBjbG9z
ZUJyYWNlTGluZTsKICAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJyYWNlT2Zmc2V0ID0gaW5mby5j
bG9zZUJyYWNlT2Zmc2V0OwogICAgICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VMaW5lU3RhcnRP
ZmZzZXQgPSBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0OworI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBh
cnNlVHlwZSkgeworICAgICAgICAgICAgcGFyYW1ldGVycy5pc0JvZHlBcnJvd0V4cHJlc3Npb24g
PSBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9uOwor
ICAgICAgICAgICAgcGFyYW1ldGVycy50b2tlblR5cGUgPSBtX3Rva2VuLm1fdHlwZTsKKyAgICAg
ICAgfQorI2VuZGlmCiAgICAgICAgIGZ1bmN0aW9uU2NvcGUtPmZpbGxQYXJhbWV0ZXJzRm9yU291
cmNlUHJvdmlkZXJDYWNoZShwYXJhbWV0ZXJzKTsKICAgICAgICAgbmV3SW5mbyA9IFNvdXJjZVBy
b3ZpZGVyQ2FjaGVJdGVtOjpjcmVhdGUocGFyYW1ldGVycyk7Ci0KICAgICB9CiAgICAgCiAgICAg
ZmFpbElmRmFsc2UocG9wU2NvcGUoZnVuY3Rpb25TY29wZSwgVHJlZUJ1aWxkZXI6Ok5lZWRzRnJl
ZVZhcmlhYmxlSW5mbyksICJQYXJzZXIgZXJyb3IiKTsKKyAgICAKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlmICgocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25Q
YXJzZVR5cGUgJiYgaW5mby5mdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5Qmxv
Y2spIHx8IHBhcnNlVHlwZSAhPSBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSB7CisgICAgICAgIG1h
dGNoT3JGYWlsKENMT1NFQlJBQ0UsICJFeHBlY3RlZCBhIGNsb3NpbmcgJ30nIGFmdGVyIGEgIiwg
c3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsKKyAgICAgICAgbmV4dCgpOwor
ICAgIH0gZWxzZQorICAgICAgICBmYWlsSWZGYWxzZShpc0VuZE9mQXJyb3dGdW5jdGlvbigpLCAi
RXhwZWN0ZWQgdGhlIGNsb3NpbmcgJzsnICcsJyAnXScgJyknICd9JyBhZnRlciBhcnJvdyBmdW5j
dGlvbiIpOworI2Vsc2UKICAgICBtYXRjaE9yRmFpbChDTE9TRUJSQUNFLCAiRXhwZWN0ZWQgYSBj
bG9zaW5nICd9JyBhZnRlciBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBib2R5
Iik7CisgICAgbmV4dCgpOworI2VuZGlmCiAgICAgCiAgICAgaWYgKG5ld0luZm8pCiAgICAgICAg
IG1fZnVuY3Rpb25DYWNoZS0+YWRkKGluZm8ub3BlbkJyYWNlT2Zmc2V0LCBXVEY6Om1vdmUobmV3
SW5mbykpOwogICAgIAotICAgIG5leHQoKTsKICAgICBpbmZvLmJvZHlFbmRMaW5lID0gbV9sYXN0
VG9rZW5FbmRQb3NpdGlvbi5saW5lOwogICAgIHJldHVybiB0cnVlOwogfQpAQCAtMTQ2OCw3ICsx
NjQyLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uRGVjbGEKICAgICBuZXh0KCk7CiAgICAgUGFyc2Vy
RnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOwogICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1
bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5lZWRzTmFtZSwgRnVuY3Rpb25Nb2RlLCB0cnVl
LCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLAotICAgICAg
ICBmdW5jdGlvbktleXdvcmRTdGFydCwgaW5mbykpLCAiQ2Fubm90IHBhcnNlIHRoaXMgZnVuY3Rp
b24iKTsKKyAgICAgICAgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8sIFN0YW5kYXJkRnVuY3Rp
b25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSB0aGlzIGZ1bmN0aW9uIik7CiAgICAgZmFpbElm
RmFsc2UoaW5mby5uYW1lLCAiRnVuY3Rpb24gc3RhdGVtZW50cyBtdXN0IGhhdmUgYSBuYW1lIik7
CiAgICAgZmFpbElmRmFsc2VJZlN0cmljdChkZWNsYXJlVmFyaWFibGUoaW5mby5uYW1lKSwgIkNh
bm5vdCBkZWNsYXJlIGEgZnVuY3Rpb24gbmFtZWQgJyIsIGluZm8ubmFtZS0+aW1wbCgpLCAiJyBp
biBzdHJpY3QgbW9kZSIpOwogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUZ1bmNEZWNsU3RhdGVt
ZW50KGxvY2F0aW9uLCBpbmZvKTsKQEAgLTE1ODcsOCArMTc2MSw3IEBAIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZUNsYXNzRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VDbGFzcyhUCiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBQYXJzZXJGdW5jdGlvbklu
Zm88VHJlZUJ1aWxkZXI+IG1ldGhvZEluZm87CiAgICAgICAgICAgICBib29sIGlzQ29uc3RydWN0
b3IgPSAhaXNTdGF0aWNNZXRob2QgJiYgKmlkZW50ID09IHByb3BlcnR5TmFtZXMuY29uc3RydWN0
b3I7Ci0gICAgICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwg
RnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgaXNTdGF0aWNNZXRob2QgPyBGdW5jdGlvbk1vZGUgOiBN
ZXRob2RNb2RlLCBmYWxzZSwKLSAgICAgICAgICAgICAgICBpc0NvbnN0cnVjdG9yID8gY29uc3Ry
dWN0b3JLaW5kIDogQ29uc3RydWN0b3JLaW5kOjpOb25lLCBTdXBlckJpbmRpbmc6Ok5lZWRlZCwg
bWV0aG9kU3RhcnQsIG1ldGhvZEluZm8pKSwgIkNhbm5vdCBwYXJzZSB0aGlzIG1ldGhvZCIpOwor
ICAgICAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0
aW9uTm9SZXF1aXJlbWVudHMsIGlzU3RhdGljTWV0aG9kID8gRnVuY3Rpb25Nb2RlIDogTWV0aG9k
TW9kZSwgZmFsc2UsIGlzQ29uc3RydWN0b3IgPyBjb25zdHJ1Y3RvcktpbmQgOiBDb25zdHJ1Y3Rv
cktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6TmVlZGVkLCBtZXRob2RTdGFydCwgbWV0aG9kSW5m
bywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9k
Iik7CiAgICAgICAgICAgICBmYWlsSWZGYWxzZShpZGVudCAmJiBkZWNsYXJlVmFyaWFibGUoaWRl
bnQpLCAiQ2Fubm90IGRlY2xhcmUgYSBtZXRob2QgbmFtZWQgJyIsIG1ldGhvZEluZm8ubmFtZS0+
aW1wbCgpLCAiJyIpOwogICAgICAgICAgICAgbWV0aG9kSW5mby5uYW1lID0gaXNDb25zdHJ1Y3Rv
ciA/IGNsYXNzTmFtZSA6IGlkZW50OwogCkBAIC0xODAwLDYgKzE5NzMsMTggQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJz
ZUlmU3RhdGVtZW50KFQKICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVJZlN0YXRlbWVudChpZkxv
Y2F0aW9uLCBjb25kaXRpb24sIHRydWVCbG9jaywgc3RhdGVtZW50U3RhY2subGFzdCgpLCBzdGFy
dCwgZW5kKTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1w
bGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVz
c2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKK3sKKyAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7
CisgICAgVHJlZUV4cHJlc3Npb24gbm9kZSA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24oY29u
dGV4dCk7CisgICAgZmFpbElmRmFsc2Uobm9kZSwgIkNhbm5vdCBwYXJzZSBleHByZXNzaW9uIik7
CisgICAgY29udGV4dC5zZXRFbmRPZmZzZXQobm9kZSwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5v
ZmZzZXQpOworICAgIHJldHVybiBub2RlOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0eXBlbmFt
ZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9u
IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUV4cHJlc3Npb24oVHJlZUJ1aWxkZXImIGNvbnRleHQp
CiB7CkBAIC0xODQ3LDYgKzIwMzIsNDEgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWlsZGVy
PiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KICAgICAg
ICAgfQogICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CiAgICAgfQorCisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBTYXZlUG9pbnQgc2F2ZUFycm93
RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNhdmVQb2ludCgpOworICAgIGJvb2wgYXJyb3dGdW5jdGlv
bkVtcHR5TGlzdCA9IGZhbHNlOworICAgIGlmIChtYXRjaChPUEVOUEFSRU4pKSB7CisgICAgICAg
IG5leHQoKTsKKyAgICAgICAgaWYgKG1hdGNoKENMT1NFUEFSRU4pKSB7CisgICAgICAgICAgICBu
ZXh0KCk7CisKKyAgICAgICAgICAgIGlmIChtYXRjaChBUlJPV0ZVTkNUSU9OKSkKKyAgICAgICAg
ICAgICAgICBhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0ID0gdHJ1ZTsKKyAgICAgICAgfQorCisgICAg
ICAgIGlmICghYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCkKKyAgICAgICAgICAgIHJlc3RvcmVTYXZl
UG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAgfQorCisgICAgVHJlZUV4cHJlc3Np
b24gbGhzOworICAgIGlmICghYXJyb3dGdW5jdGlvbkVtcHR5TGlzdCkgeworICAgICAgICBsaHMg
PSBwYXJzZUNvbmRpdGlvbmFsRXhwcmVzc2lvbihjb250ZXh0KTsKKyAgICAgICAgZmFpbElmRmFs
c2UobGhzLCAiQ2FuGW5vdCBwYXJzZSBleHByZXNzaW9uIik7CisgICAgICAgIGlmIChpbml0aWFs
Tm9uTEhTQ291bnQgIT0gbV9ub25MSFNDb3VudCkgeworICAgICAgICAgICAgaWYgKG1fdG9rZW4u
bV90eXBlID49IEVRVUFMICYmIG1fdG9rZW4ubV90eXBlIDw9IE9SRVFVQUwpCisgICAgICAgICAg
ICAgICAgc2VtYW50aWNGYWlsKCJMZWZ0IGhhbmQgc2lkZSBvZiBvcGVyYXRvciAnIiwgZ2V0VG9r
ZW4oKSwgIicgbXVzdCBiZSBhIHJlZmVyZW5jZSIpOworCisgICAgICAgICAgICByZXR1cm4gbGhz
OworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJT04pKSB7Cisg
ICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZUFycm93RnVuY3Rpb25Qb2ludCk7CisgICAgICAg
IGxocyA9IHBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoY29udGV4dCk7CisgICAgICAgIHJldHVy
biBsaHM7CisgICAgfQorI2Vsc2UKICAgICBUcmVlRXhwcmVzc2lvbiBsaHMgPSBwYXJzZUNvbmRp
dGlvbmFsRXhwcmVzc2lvbihjb250ZXh0KTsKICAgICBmYWlsSWZGYWxzZShsaHMsICJDYW5ub3Qg
cGFyc2UgZXhwcmVzc2lvbiIpOwogICAgIGlmIChpbml0aWFsTm9uTEhTQ291bnQgIT0gbV9ub25M
SFNDb3VudCkgewpAQCAtMTg1NSw3ICsyMDc1LDggQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVC
dWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4K
IAogICAgICAgICByZXR1cm4gbGhzOwogICAgIH0KLSAgICAKKyNlbmRpZgorCiAgICAgaW50IGFz
c2lnbm1lbnRTdGFjayA9IDA7CiAgICAgT3BlcmF0b3Igb3A7CiAgICAgYm9vbCBoYWRBc3NpZ25t
ZW50ID0gZmFsc2U7CkBAIC0yMDg3LDggKzIzMDgsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByb3BlcnR5TWV0
aAogICAgIEpTVG9rZW5Mb2NhdGlvbiBtZXRob2RMb2NhdGlvbih0b2tlbkxvY2F0aW9uKCkpOwog
ICAgIHVuc2lnbmVkIG1ldGhvZFN0YXJ0ID0gdG9rZW5TdGFydCgpOwogICAgIFBhcnNlckZ1bmN0
aW9uSW5mbzxUcmVlQnVpbGRlcj4gbWV0aG9kSW5mbzsKLSAgICBmYWlsSWZGYWxzZSgocGFyc2VG
dW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgTWV0aG9kTW9kZSwg
ZmFsc2UsIENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQsCi0g
ICAgICAgIG1ldGhvZFN0YXJ0LCBtZXRob2RJbmZvKSksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRo
b2QiKTsKKyAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rp
b25Ob1JlcXVpcmVtZW50cywgTWV0aG9kTW9kZSwgZmFsc2UsIENvbnN0cnVjdG9yS2luZDo6Tm9u
ZSwgU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQsIG1ldGhvZFN0YXJ0LCBtZXRob2RJbmZvLCBTdGFu
ZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2QiKTsKICAg
ICBtZXRob2RJbmZvLm5hbWUgPSBtZXRob2ROYW1lOwogICAgIHJldHVybiBjb250ZXh0LmNyZWF0
ZUZ1bmN0aW9uRXhwcihtZXRob2RMb2NhdGlvbiwgbWV0aG9kSW5mbyk7CiB9CkBAIC0yMTE1LDEx
ICsyMzM1LDExIEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUdldHRlclNldHRlcihUCiAgICAgaWYgKHR5cGUgPT0gUHJv
cGVydHlOb2RlOjpHZXR0ZXIpIHsKICAgICAgICAgZmFpbElmRmFsc2UobWF0Y2goT1BFTlBBUkVO
KSwgIkV4cGVjdGVkIGEgcGFyYW1ldGVyIGxpc3QgZm9yIGdldHRlciBkZWZpbml0aW9uIik7CiAg
ICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5v
UmVxdWlyZW1lbnRzLCBHZXR0ZXJNb2RlLCBmYWxzZSwgY29uc3RydWN0b3JLaW5kLCBzdXBlckJp
bmRpbmcsCi0gICAgICAgICAgICBnZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBpbmZvKSksICJD
YW5ub3QgcGFyc2UgZ2V0dGVyIGRlZmluaXRpb24iKTsKKyAgICAgICAgICAgIGdldHRlck9yU2V0
dGVyU3RhcnRPZmZzZXQsIGluZm8sIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5v
dCBwYXJzZSBnZXR0ZXIgZGVmaW5pdGlvbiIpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGZhaWxJ
ZkZhbHNlKG1hdGNoKE9QRU5QQVJFTiksICJFeHBlY3RlZCBhIHBhcmFtZXRlciBsaXN0IGZvciBz
ZXR0ZXIgZGVmaW5pdGlvbiIpOwogICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbklu
Zm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgU2V0dGVyTW9kZSwgZmFsc2UsIGNv
bnN0cnVjdG9yS2luZCwgc3VwZXJCaW5kaW5nLAotICAgICAgICAgICAgZ2V0dGVyT3JTZXR0ZXJT
dGFydE9mZnNldCwgaW5mbykpLCAiQ2Fubm90IHBhcnNlIHNldHRlciBkZWZpbml0aW9uIik7Cisg
ICAgICAgICAgICBnZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBpbmZvLCBTdGFuZGFyZEZ1bmN0
aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2Ugc2V0dGVyIGRlZmluaXRpb24iKTsKICAgICB9
CiAgICAgaWYgKHN0cmluZ1Byb3BlcnR5TmFtZSkKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3Jl
YXRlR2V0dGVyT3JTZXR0ZXJQcm9wZXJ0eShsb2NhdGlvbiwgdHlwZSwgc3RyaWN0LCBzdHJpbmdQ
cm9wZXJ0eU5hbWUsIGluZm8sIHN1cGVyQmluZGluZyk7CkBAIC0yMzY4LDggKzI1ODgsNyBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5
cGU+OjpwYXJzZVByaW1hcnlFeHByZQogICAgICAgICBuZXh0KCk7CiAgICAgICAgIFBhcnNlckZ1
bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gaW5mbzsKICAgICAgICAgaW5mby5uYW1lID0gJm1fdm0t
PnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyOwotICAgICAgICBmYWlsSWZGYWxzZSgocGFy
c2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgRnVuY3Rpb25N
b2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBTdXBlckJpbmRpbmc6Ok5vdE5lZWRl
ZCwKLSAgICAgICAgICAgIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvKSksICJDYW5ub3QgcGFy
c2UgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5j
dGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25Ob1JlcXVpcmVtZW50cywgRnVuY3Rpb25Nb2RlLCBm
YWxzZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwgZnVu
Y3Rpb25LZXl3b3JkU3RhcnQsIGluZm8sIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNh
bm5vdCBwYXJzZSBmdW5jdGlvbiBleHByZXNzaW9uIik7CiAgICAgICAgIHJldHVybiBjb250ZXh0
LmNyZWF0ZUZ1bmN0aW9uRXhwcihsb2NhdGlvbiwgaW5mbyk7CiAgICAgfQogI2lmIEVOQUJMRShF
UzZfQ0xBU1NfU1lOVEFYKQpAQCAtMjM5OCw2ICsyNjE3LDIzIEBAIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJpbWFy
eUV4cHJlCiAgICAgICAgIHJldHVybiBjb250ZXh0LnRoaXNFeHByKGxvY2F0aW9uLCBtX3RoaXNU
RFpNb2RlKTsKICAgICB9CiAgICAgY2FzZSBJREVOVDogeworI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgICAgIFNhdmVQb2ludCBzYXZlQXJyb3dGdW5jdGlvblBvaW50
ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9r
ZW5TdGFydFBvc2l0aW9uKCk7CisgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90
b2tlbi5tX2RhdGEuaWRlbnQ7CisgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tl
bkxvY2F0aW9uKCkpOworICAgICAgICBuZXh0KCk7CisKKyAgICAgICAgaWYgKCFtYXRjaChBUlJP
V0ZVTkNUSU9OKSkgeworICAgICAgICAgICAgY3VycmVudFNjb3BlKCktPnVzZVZhcmlhYmxlKGlk
ZW50LCBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5ldmFsID09ICppZGVudCk7CisgICAgICAgICAgICBt
X2xhc3RJZGVudGlmaWVyID0gaWRlbnQ7CisgICAgICAgICAgICByZXR1cm4gY29udGV4dC5jcmVh
dGVSZXNvbHZlKGxvY2F0aW9uLCBpZGVudCwgc3RhcnQpOworICAgICAgICB9CisKKyAgICAgICAg
cmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAgVHJlZUV4
cHJlc3Npb24gbGhzID0gcGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihjb250ZXh0KTsKKyAgICAg
ICAgcmV0dXJuIGxoczsKKyNlbHNlCiAgICAgICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9r
ZW5TdGFydFBvc2l0aW9uKCk7CiAgICAgICAgIGNvbnN0IElkZW50aWZpZXIqIGlkZW50ID0gbV90
b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbih0b2tl
bkxvY2F0aW9uKCkpOwpAQCAtMjQwNSw2ICsyNjQxLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhw
cmUKICAgICAgICAgY3VycmVudFNjb3BlKCktPnVzZVZhcmlhYmxlKGlkZW50LCBtX3ZtLT5wcm9w
ZXJ0eU5hbWVzLT5ldmFsID09ICppZGVudCk7CiAgICAgICAgIG1fbGFzdElkZW50aWZpZXIgPSBp
ZGVudDsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlUmVzb2x2ZShsb2NhdGlvbiwgaWRl
bnQsIHN0YXJ0KTsKKyNlbmRpZgogICAgIH0KICAgICBjYXNlIFNUUklORzogewogICAgICAgICBj
b25zdCBJZGVudGlmaWVyKiBpZGVudCA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwpAQCAtMjU5Nyw2
ICsyODM0LDMzIEBAIGVuZE1lbWJlckV4cHJlc3Npb246CiAgICAgcmV0dXJuIGJhc2U7CiB9CiAK
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQordGVtcGxhdGUgPHR5cGVuYW1l
IExleGVyVHlwZT4KK3RlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24g
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoVHJlZUJ1aWxkZXIm
IGNvbnRleHQpCit7CisgICAgVHJlZUV4cHJlc3Npb24gYmFzZSA9IDA7CisgICAgSlNUZXh0UG9z
aXRpb24gZXhwcmVzc2lvblN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CisgICAgaW50IG5l
d0NvdW50ID0gMDsKKyAgICBKU1Rva2VuTG9jYXRpb24gbG9jYXRpb247CisKKyAgICBpZiAobWF0
Y2goSURFTlQpIHx8IG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgdW5zaWduZWQgZnVuY3Rp
b25LZXl3b3JkU3RhcnQgPSB0b2tlblN0YXJ0KCk7CisgICAgICAgIGxvY2F0aW9uID0gdG9rZW5M
b2NhdGlvbigpOworICAgICAgICBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87
CisgICAgICAgIGluZm8ubmFtZSA9ICZtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5udWxsSWRlbnRpZmll
cjsKKyAgICAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0
aW9uTm9SZXF1aXJlbWVudHMsIEZ1bmN0aW9uTW9kZSwgdHJ1ZSwgQ29uc3RydWN0b3JLaW5kOjpO
b25lLCBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwKKyAgICAgICAgICAgIGZ1bmN0aW9uS2V5d29y
ZFN0YXJ0LCBpbmZvLCBBcnJvd0Z1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2UgYXJy
b3cgZnVuY3Rpb24gZXhwcmVzc2lvbiIpOworICAgICAgICBiYXNlID0gY29udGV4dC5jcmVhdGVB
cnJvd0Z1bmN0aW9uRXhwcihsb2NhdGlvbiwgaW5mbyk7CisgICAgfSBlbHNlCisgICAgICAgIGJh
c2UgPSBwYXJzZVByaW1hcnlFeHByZXNzaW9uKGNvbnRleHQpOworCisgICAgZmFpbElmRmFsc2Uo
YmFzZSwgIkNhbm5vdCBwYXJzZSBiYXNlIGV4cHJlc3Npb24iKTsKKyAgICB3aGlsZSAobmV3Q291
bnQtLSkKKyAgICAgICAgYmFzZSA9IGNvbnRleHQuY3JlYXRlTmV3RXhwcihsb2NhdGlvbiwgYmFz
ZSwgZXhwcmVzc2lvblN0YXJ0LCBsYXN0VG9rZW5FbmRQb3NpdGlvbigpKTsKKyAgICByZXR1cm4g
YmFzZTsKK30KKyNlbmRpZgorCiBzdGF0aWMgY29uc3QgY2hhciogb3BlcmF0b3JTdHJpbmcoYm9v
bCBwcmVmaXgsIHVuc2lnbmVkIHRvaykKIHsKICAgICBzd2l0Y2ggKHRvaykgewpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKaW5kZXggM2RmZjhlNDliMzA1N2M0OTkxNDQ1ZjZmYzRl
ZDQyYzlmMzQ2NWFjOC4uMjc0MWM4YWI5MDMxN2Y0OWQ1ZWQ1OGQ2NDljZjk2MzNiODc2NmYwZSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCkBAIC04MCw2ICs4MCwxMSBAQCBj
bGFzcyBTb3VyY2VDb2RlOwogQ09NUElMRV9BU1NFUlQoTGFzdFVudGFnZ2VkVG9rZW4gPCA2NCwg
TGVzc1RoYW42NFVudGFnZ2VkVG9rZW5zKTsKIAogZW51bSBTb3VyY2VFbGVtZW50c01vZGUgeyBD
aGVja0ZvclN0cmljdE1vZGUsIERvbnRDaGVja0ZvclN0cmljdE1vZGUgfTsKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorZW51bSBGdW5jdGlvblBhcnNlVHlwZSB7IFN0YW5k
YXJkRnVuY3Rpb25QYXJzZVR5cGUsIEFycm93RnVuY3Rpb25QYXJzZVR5cGUgfTsKKyNlbHNlCitl
bnVtIEZ1bmN0aW9uUGFyc2VUeXBlIHsgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZX07CisjZW5k
aWYKIGVudW0gRnVuY3Rpb25SZXF1aXJlbWVudHMgeyBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBG
dW5jdGlvbk5lZWRzTmFtZSB9OwogZW51bSBGdW5jdGlvblBhcnNlTW9kZSB7CiAgICAgRnVuY3Rp
b25Nb2RlLApAQCAtNjE4LDYgKzYyMywxMyBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gbV90
b2tlbi5tX3R5cGUgPT0gSURFTlQgJiYgKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0tPnBy
b3BlcnR5TmFtZXMtPm9mOwogICAgIH0KICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIEFMV0FZU19JTkxJTkUgYm9vbCBpc0VuZE9mQXJyb3dGdW5jdGlvbigp
CisgICAgeworICAgICAgICByZXR1cm4gbWF0Y2goU0VNSUNPTE9OKSB8fCBtYXRjaChDT01NQSkg
fHwgbWF0Y2goQ0xPU0VQQVJFTikgfHwgbWF0Y2goQ0xPU0VCUkFDRSkgfHwgbWF0Y2goQ0xPU0VC
UkFDS0VUKTsKKyAgICB9CisjZW5kaWYKKyAgICAKICAgICBBTFdBWVNfSU5MSU5FIHVuc2lnbmVk
IHRva2VuU3RhcnQoKQogICAgIHsKICAgICAgICAgcmV0dXJuIG1fdG9rZW4ubV9sb2NhdGlvbi5z
dGFydE9mZnNldDsKQEAgLTcyMSw5ICs3MzMsOSBAQCBwcml2YXRlOgogICAgICAgICB9CiAgICAg
ICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIAotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNlU291cmNlRWxlbWVudHMoVHJlZUJ1aWxk
ZXImLCBTb3VyY2VFbGVtZW50c01vZGUpOwotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZVN0YXRlbWVudCBwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYsIGNvbnN0IElkZW50
aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoID0gMCk7
CisKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBw
YXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxlbWVudHNNb2RlLCBGdW5j
dGlvblBhcnNlVHlwZSk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3Rh
dGVtZW50IHBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiwgY29uc3QgSWRlbnRpZmllciomIGRp
cmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwLCBGdW5jdGlvblBh
cnNlVHlwZSBmdW5jdGlvblBhcnNlVHlwZSA9IFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwog
I2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZUNsYXNzRGVjbGFyYXRpb24oVHJlZUJ1aWxkZXImKTsK
ICNlbmRpZgpAQCAtNzYyLDIwICs3NzQsMzQgQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBwYXJzZVByb3BlcnR5KFRyZWVCdWlsZGVyJiwg
Ym9vbCBzdHJpY3QpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJl
c3Npb24gcGFyc2VQcm9wZXJ0eU1ldGhvZChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3QgSWRl
bnRpZmllciogbWV0aG9kTmFtZSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlUHJvcGVydHkgcGFyc2VHZXR0ZXJTZXR0ZXIoVHJlZUJ1aWxkZXImLCBib29sIHN0cmljdCwg
UHJvcGVydHlOb2RlOjpUeXBlLCB1bnNpZ25lZCBnZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0LCBD
b25zdHJ1Y3RvcktpbmQgPSBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZyA9IFN1
cGVyQmluZGluZzo6Tm90TmVlZGVkKTsKLSAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+
IEFMV0FZU19JTkxJTkUgVHJlZUZ1bmN0aW9uQm9keSBwYXJzZUZ1bmN0aW9uQm9keShUcmVlQnVp
bGRlciYsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCBp
bnQgcGFyYW1ldGVyc1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQpOworICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rp
b25Cb2R5KFRyZWVCdWlsZGVyJiwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rp
b25OYW1lU3RhcnQsIGludCBwYXJhbWV0ZXJzU3RhcnQsIENvbnN0cnVjdG9yS2luZCwgRnVuY3Rp
b25QYXJzZVR5cGUpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lO
TElORSBUcmVlRm9ybWFsUGFyYW1ldGVyTGlzdCBwYXJzZUZvcm1hbFBhcmFtZXRlcnMoVHJlZUJ1
aWxkZXImKTsKICAgICBlbnVtIFZhckRlY2xhcmF0aW9uTGlzdENvbnRleHQgeyBGb3JMb29wQ29u
dGV4dCwgVmFyRGVjbGFyYXRpb25Db250ZXh0IH07CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZVZhckRlY2xhcmF0aW9uTGlzdChUcmVlQnVpbGRl
ciYsIGludCYgZGVjbGFyYXRpb25zLCBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuJiBsYXN0UGF0
dGVybiwgVHJlZUV4cHJlc3Npb24mIGxhc3RJbml0aWFsaXplciwgSlNUZXh0UG9zaXRpb24mIGlk
ZW50U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0
RW5kLCBWYXJEZWNsYXJhdGlvbkxpc3RDb250ZXh0KTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlQ29uc3REZWNsTGlzdCBwYXJzZUNvbnN0RGVjbGFy
YXRpb25MaXN0KFRyZWVCdWlsZGVyJik7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05f
U1lOVEFYKQorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24g
cGFyc2VBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOworICAgIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVudCBwYXJzZUFycm93RnVuY3Rpb25TdGF0
ZW1lbnQoVHJlZUJ1aWxkZXImKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVFeHByZXNzaW9uIHBhcnNlQXJyb3dGdW5jdGlvbldyYXBwZXIoVHJlZUJ1aWxkZXImKTsKKyNl
bmRpZgorCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJl
ZURlY29uc3RydWN0aW9uUGF0dGVybiBjcmVhdGVCaW5kaW5nUGF0dGVybihUcmVlQnVpbGRlciYs
IERlY29uc3RydWN0aW9uS2luZCwgY29uc3QgSWRlbnRpZmllciYsIGludCBkZXB0aCwgSlNUb2tl
bik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURl
Y29uc3RydWN0aW9uUGF0dGVybiBwYXJzZURlY29uc3RydWN0aW9uUGF0dGVybihUcmVlQnVpbGRl
ciYsIERlY29uc3RydWN0aW9uS2luZCwgaW50IGRlcHRoID0gMCk7CiAgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgVHJlZURlY29uc3RydWN0aW9uUGF0dGVybiB0
cnlQYXJzZURlY29uc3RydWN0aW9uUGF0dGVybkV4cHJlc3Npb24oVHJlZUJ1aWxkZXImKTsKIAot
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIGJvb2wgcGFyc2VG
dW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgRnVuY3Rpb25Q
YXJzZU1vZGUsIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCwg
U3VwZXJCaW5kaW5nLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBhcnNlckZ1bmN0aW9uSW5m
bzxUcmVlQnVpbGRlcj4mKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVS
X0lOTElORSBib29sIHBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1
aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlLCBib29sIG5hbWVJc0luQ29udGFpbmluZ1Njb3Bl
LCBDb25zdHJ1Y3RvcktpbmQsIFN1cGVyQmluZGluZywgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0
LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiwgRnVuY3Rpb25QYXJzZVR5cGUpOwor
ICAgIAorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIGludCBw
YXJzZUZ1bmN0aW9uUGFyYW10ZXJzKFRyZWVCdWlsZGVyJiwgRnVuY3Rpb25SZXF1aXJlbWVudHMs
IEZ1bmN0aW9uUGFyc2VNb2RlLCBib29sLCBBdXRvUG9wU2NvcGVSZWYmLCBQYXJzZXJGdW5jdGlv
bkluZm88VHJlZUJ1aWxkZXI+Jik7CisKICNpZiBFTkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAg
ICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlQ2xhc3NFeHBy
ZXNzaW9uIHBhcnNlQ2xhc3MoVHJlZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgUGFy
c2VyQ2xhc3NJbmZvPFRyZWVCdWlsZGVyPiYpOwogI2VuZGlmCisKKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVW
RVJfSU5MSU5FIGludCBwYXJzZUFycm93RnVuY3Rpb25QYXJhbXRlcnMoVHJlZUJ1aWxkZXImLCBG
dW5jdGlvblBhcnNlTW9kZSwgUGFyc2VyRnVuY3Rpb25JbmZvPFRyZWVCdWlsZGVyPiYpOworI2Vu
ZGlmCisKICNpZiBFTkFCTEUoRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYKQogICAgIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIHR5cGVuYW1lIFRyZWVCdWlsZGVy
OjpUZW1wbGF0ZVN0cmluZyBwYXJzZVRlbXBsYXRlU3RyaW5nKFRyZWVCdWlsZGVyJiBjb250ZXh0
LCBib29sIGlzVGVtcGxhdGVIZWFkLCBib29sJiBlbGVtZW50SXNUYWlsKTsKICAgICB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSB0eXBlbmFtZSBUcmVlQnVpbGRlcjo6
VGVtcGxhdGVMaXRlcmFsIHBhcnNlVGVtcGxhdGVMaXRlcmFsKFRyZWVCdWlsZGVyJik7CkBAIC03
OTMsNiArODE5LDE0IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBhbGxvd0F1dG9tYXRpY1Nl
bWljb2xvbigpOwogICAgIH0KICAgICAKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgdm9pZCBzZXRFbmRPZlN0YXRlbWVudCgpCisgICAgeworICAgICAgICBtX2xl
eGVyLT5zZXRUb2tlblBvc2l0aW9uKCZtX3Rva2VuKTsKKyAgICB9CisjZW5kaWYKKwogICAgIGJv
b2wgY2FuUmVjdXJzZSgpCiAgICAgewogICAgICAgICByZXR1cm4gbV92bS0+aXNTYWZlVG9SZWN1
cnNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1
bmN0aW9uSW5mby5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlv
bkluZm8uaAppbmRleCA2YjczNjI4MmUyZDJhODFiYzYzZGMyZjNjMGU1YWU4Yzg1OGNkMWY4Li4w
Y2RlMGM2N2E5ZGUwZWRmMzQxNDRlMzI3OTFlNWU5MGI0YTIxNTE0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5mby5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKQEAgLTI4LDYgKzI4
LDEwIEBACiAKIG5hbWVzcGFjZSBKU0MgewogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKK2VudW0gRnVuY3Rpb25Cb2R5VHlwZSB7IEFycm93RnVuY3Rpb25Cb2R5RXhwcmVz
c2lvbiwgQXJyb3dGdW5jdGlvbkJvZHlCbG9jaywgU3RhbmRhcmRGdW5jdGlvbkJvZHlCbG9jayB9
OworI2VuZGlmCisKIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4KIHN0cnVjdCBQYXJzZXJG
dW5jdGlvbkluZm8gewogICAgIGNvbnN0IElkZW50aWZpZXIqIG5hbWUgPSAwOwpAQCAtMzgsNiAr
NDIsMTEgQEAgc3RydWN0IFBhcnNlckZ1bmN0aW9uSW5mbyB7CiAgICAgaW50IGJvZHlTdGFydExp
bmUgPSAwOwogICAgIGludCBib2R5RW5kTGluZSA9IDA7CiAgICAgdW5zaWduZWQgYm9keVN0YXJ0
Q29sdW1uID0gMDsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIHVu
c2lnbmVkIGFycm93RnVuY3Rpb25PZmZzZXQgPSAwOworICAgIGJvb2wgaXNBcnJvd0Z1bmN0aW9u
ID0gZmFsc2U7CisgICAgRnVuY3Rpb25Cb2R5VHlwZSBmdW5jdGlvbkJvZHlUeXBlID0gU3RhbmRh
cmRGdW5jdGlvbkJvZHlCbG9jazsKKyNlbmRpZgogfTsKIAogI2lmIEVOQUJMRShFUzZfQ0xBU1Nf
U1lOVEFYKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJU
b2tlbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKaW5k
ZXggMDI2ZTRmODBmNDM3ZDhiZmU0YTYxOWMzMGQxMWRjOWZjNjFlMjY0NS4uZTkxNTRjYWYwNTNj
NTM4MWI1ZjA5ODE2ZGJhMDU1OGE1NDM0YmYzNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1BhcnNlclRva2Vucy5oCkBAIC03NSw2ICs3NSw5IEBAIGVudW0gSlNUb2tlblR5cGUg
ewogICAgIEZJTkFMTFksCiAgICAgREVCVUdHRVIsCiAgICAgRUxTRSwKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEFSUk9XRlVOQ1RJT04sCisjZW5kaWYKICNpZiBF
TkFCTEUoRVM2X0NMQVNTX1NZTlRBWCkKICAgICBDTEFTU1RPS0VOLAogICAgIEVYVEVORFMsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZUNvZGUuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oCmluZGV4IDczZDIzZGI4MmFm
MjVlYTQ2YzBmODk3ODVjZTQyNGJiNjBlYjYxYTcuLjUwZDUyNjM5Nzk0M2UzODFkMzgwZWM0M2Q4
MmQ1YjYzZjdmMDhkYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
U291cmNlQ29kZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29k
ZS5oCkBAIC0xMDUsNiArMTA1LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIAogICAgICAg
ICBTb3VyY2VDb2RlIHN1YkV4cHJlc3Npb24odW5zaWduZWQgb3BlbkJyYWNlLCB1bnNpZ25lZCBj
bG9zZUJyYWNlLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOwogCisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgU291cmNlQ29kZSBzdWJBcnJvd0V4
cHJlc3Npb24odW5zaWduZWQgc3RhcnRBcnJvd0Z1bmN0aW9uLCB1bnNpZ25lZCBlbmRBcnJvd0Z1
bmN0aW9uLCBpbnQgZmlyc3RMaW5lLCBpbnQgc3RhcnRDb2x1bW4pOworI2VuZGlmCiAgICAgcHJp
dmF0ZToKICAgICAgICAgUmVmUHRyPFNvdXJjZVByb3ZpZGVyPiBtX3Byb3ZpZGVyOwogICAgICAg
ICBpbnQgbV9zdGFydENoYXI7CkBAIC0xMTgsNiArMTIxLDE3IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICByZXR1cm4gU291cmNlQ29kZShTdHJpbmdTb3VyY2VQcm92aWRlcjo6Y3JlYXRlKHNv
dXJjZSwgdXJsLCBzdGFydFBvc2l0aW9uKSwgc3RhcnRQb3NpdGlvbi5tX2xpbmUub25lQmFzZWRJ
bnQoKSwgc3RhcnRQb3NpdGlvbi5tX2NvbHVtbi5vbmVCYXNlZEludCgpKTsKICAgICB9CiAKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlubGluZSBTb3VyY2VDb2Rl
IFNvdXJjZUNvZGU6OnN1YkFycm93RXhwcmVzc2lvbih1bnNpZ25lZCBzdGFydEFycm93RnVuY3Rp
b24sIHVuc2lnbmVkIGVuZEFycm93RnVuY3Rpb24sIGludCBmaXJzdExpbmUsIGludCBzdGFydENv
bHVtbikKKyAgICB7CisgICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFy
cm93RnVuY3Rpb25dID09ICc9JyAmJiBwcm92aWRlcigpLT5zb3VyY2UoKVtzdGFydEFycm93RnVu
Y3Rpb24gKyAxXSA9PSAnPicpOworICAgICAgICAvLyBGaXhtZTogVXNlIGJldHRlciBhcHByb2Fj
aCB0byBjaGVjayBzeW1ib2wKKyAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW2Vu
ZEFycm93RnVuY3Rpb24gLSAxXSA9PSAnLCcgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJy
b3dGdW5jdGlvbiAtIDFdID09ICc7JyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1
bmN0aW9uIC0gMV0gPT0gJyknIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rp
b24gLSAxXSA9PSAnXScgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAt
IDFdID09ICd9Jyk7CisgICAgICAgIHN0YXJ0Q29sdW1uICs9IDE7IC8vIENvbnZlcnQgdG8gYmFz
ZSAxLgorICAgICAgICByZXR1cm4gU291cmNlQ29kZShwcm92aWRlcigpLCBzdGFydEFycm93RnVu
Y3Rpb24sIGVuZEFycm93RnVuY3Rpb24sIGZpcnN0TGluZSwgc3RhcnRDb2x1bW4pOworICAgIH0K
KyNlbmRpZgorCiAgICAgaW5saW5lIFNvdXJjZUNvZGUgU291cmNlQ29kZTo6c3ViRXhwcmVzc2lv
bih1bnNpZ25lZCBvcGVuQnJhY2UsIHVuc2lnbmVkIGNsb3NlQnJhY2UsIGludCBmaXJzdExpbmUs
IGludCBzdGFydENvbHVtbikKICAgICB7CiAgICAgICAgIEFTU0VSVChwcm92aWRlcigpLT5zb3Vy
Y2UoKVtvcGVuQnJhY2VdID09ICd7Jyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1NvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtLmgKaW5kZXggNjM1Mzc5ZTNmNDQ1NjY4
YzUyYjg3MmY3NjE2ZGNiNTkyMWE4Mjk0NC4uZjQyOGRiNTBhOGRhN2E3YWI0NjgyNGFiMzgwODNk
YjA1MmQ3Mzc3NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3Vy
Y2VQcm92aWRlckNhY2hlSXRlbS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIv
U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaApAQCAtNDAsNiArNDAsMTAgQEAgc3RydWN0IFNvdXJj
ZVByb3ZpZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBib29sIG5lZWRzRnVs
bEFjdGl2YXRpb247CiAgICAgYm9vbCB1c2VzRXZhbDsKICAgICBib29sIHN0cmljdE1vZGU7Cisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBib29sIGlzQm9keUFycm93
RXhwcmVzc2lvbjsKKyAgICBKU1Rva2VuVHlwZSB0b2tlblR5cGU7CisjZW5kaWYKICAgICBWZWN0
b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiB1c2VkVmFyaWFibGVzOwogICAgIFZlY3RvcjxSZWZQdHI8
U3RyaW5nSW1wbD4+IHdyaXR0ZW5WYXJpYWJsZXM7CiB9OwpAQCAtNTUsMTAgKzU5LDE0IEBAIHB1
YmxpYzoKICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVt
PiBjcmVhdGUoY29uc3QgU291cmNlUHJvdmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMm
KTsKICAgICB+U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0oKTsKIAotICAgIEpTVG9rZW4gY2xvc2VC
cmFjZVRva2VuKCkgY29uc3QgCisgICAgSlNUb2tlbiBlbmRGdW5jdGlvblRva2VuKCkgY29uc3Qg
CiAgICAgewogICAgICAgICBKU1Rva2VuIHRva2VuOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisgICAgICAgIHRva2VuLm1fdHlwZSA9IGlzQm9keUFycm93RXhwcmVzc2lv
biA/IHRva2VuVHlwZSA6IENMT1NFQlJBQ0U7CisjZWxzZQogICAgICAgICB0b2tlbi5tX3R5cGUg
PSBDTE9TRUJSQUNFOworI2VuZGlmCiAgICAgICAgIHRva2VuLm1fZGF0YS5vZmZzZXQgPSBjbG9z
ZUJyYWNlT2Zmc2V0OwogICAgICAgICB0b2tlbi5tX2xvY2F0aW9uLnN0YXJ0T2Zmc2V0ID0gY2xv
c2VCcmFjZU9mZnNldDsKICAgICAgICAgdG9rZW4ubV9sb2NhdGlvbi5lbmRPZmZzZXQgPSBjbG9z
ZUJyYWNlT2Zmc2V0ICsgMTsKQEAgLTgyLDYgKzkwLDExIEBAIHB1YmxpYzoKICAgICB1bnNpZ25l
ZCB1c2VkVmFyaWFibGVzQ291bnQ7CiAgICAgdW5zaWduZWQgd3JpdHRlblZhcmlhYmxlc0NvdW50
OwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBib29sIGlzQm9k
eUFycm93RXhwcmVzc2lvbjsKKyAgICBKU1Rva2VuVHlwZSB0b2tlblR5cGU7CisjZW5kaWYKKwog
ICAgIFN0cmluZ0ltcGwqKiB1c2VkVmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2Fz
dDxTdHJpbmdJbXBsKio+KG1fdmFyaWFibGVzKTsgfQogICAgIFN0cmluZ0ltcGwqKiB3cml0dGVu
VmFyaWFibGVzKCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxTdHJpbmdJbXBsKio+KCZtX3Zh
cmlhYmxlc1t1c2VkVmFyaWFibGVzQ291bnRdKTsgfQogCkBAIC0xMTUsNiArMTI4LDEwIEBAIGlu
bGluZSBTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0oY29u
c3QgU291cmNlUHJvdmlkZXJDYWNoCiAgICAgLCBjbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0KHBh
cmFtZXRlcnMuY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNldCkKICAgICAsIHVzZWRWYXJpYWJsZXND
b3VudChwYXJhbWV0ZXJzLnVzZWRWYXJpYWJsZXMuc2l6ZSgpKQogICAgICwgd3JpdHRlblZhcmlh
Ymxlc0NvdW50KHBhcmFtZXRlcnMud3JpdHRlblZhcmlhYmxlcy5zaXplKCkpCisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAsIGlzQm9keUFycm93RXhwcmVzc2lvbihw
YXJhbWV0ZXJzLmlzQm9keUFycm93RXhwcmVzc2lvbikKKyAgICAsIHRva2VuVHlwZShwYXJhbWV0
ZXJzLnRva2VuVHlwZSkKKyNlbmRpZgogewogICAgIHVuc2lnbmVkIGogPSAwOwogICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IGkgPCB1c2VkVmFyaWFibGVzQ291bnQ7ICsraSwgKytqKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1N5bnRheENoZWNrZXIuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oCmluZGV4IDU1NGU1ZGY2
NGE3MjFmNDQ2MmQwZDg5YWIwMjNhZmRkNzUzYzU1YmUuLmY2MzVlZDFiYjM3ZTg4NTM2NDU0NzRj
MDgyM2Y0YjYxMzgwYTRkMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvU3ludGF4Q2hlY2tlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3lu
dGF4Q2hlY2tlci5oCkBAIC0xNzcsNiArMTc3LDEwIEBAIHB1YmxpYzoKICNlbmRpZgogICAgIEV4
cHJlc3Npb25UeXBlIGNyZWF0ZUZ1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBj
b25zdCBQYXJzZXJGdW5jdGlvbkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5jdGlv
bkV4cHI7IH0KICAgICBpbnQgY3JlYXRlRnVuY3Rpb25Cb2R5KGNvbnN0IEpTVG9rZW5Mb2NhdGlv
biYsIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGludCwgaW50LCBib29sLCBpbnQsIGludCwgaW50
LCBDb25zdHJ1Y3RvcktpbmQpIHsgcmV0dXJuIEZ1bmN0aW9uQm9keVJlc3VsdDsgfQorI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRl
QXJyb3dGdW5jdGlvbkV4cHIoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3QgUGFyc2VyRnVu
Y3Rpb25JbmZvPFN5bnRheENoZWNrZXI+JikgeyByZXR1cm4gRnVuY3Rpb25FeHByOyB9CisjZW5k
aWYgCisgICAgdm9pZCBzZXRGdW5jdGlvbk5hbWVTdGFydChpbnQsIGludCkgeyB9CiAgICAgaW50
IGNyZWF0ZUFyZ3VtZW50cygpIHsgcmV0dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQogICAgIGludCBj
cmVhdGVBcmd1bWVudHMoaW50KSB7IHJldHVybiBBcmd1bWVudHNSZXN1bHQ7IH0KICAgICBFeHBy
ZXNzaW9uVHlwZSBjcmVhdGVTcHJlYWRFeHByZXNzaW9uKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYs
IEV4cHJlc3Npb25UeXBlLCBpbnQsIGludCwgaW50KSB7IHJldHVybiBTcHJlYWRFeHByOyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24u
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0aW9uLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hMDI3MTk2MDM5N2FiN2Q5OTUyNDhiMTJmMjk1YWI3ZTNhZTZkMzM0Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJvd0Z1bmN0
aW9uLmNwcApAQCAtMCwwICsxLDExOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorI2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgorCisjaW5jbHVk
ZSAiRXJyb3IuaCIKKyNpbmNsdWRlICJFeGNlcHRpb25IZWxwZXJzLmgiCisjaW5jbHVkZSAiSlND
SW5saW5lcy5oIgorI2luY2x1ZGUgIkpTQ0pTVmFsdWUuaCIKKyNpbmNsdWRlICJKU0Z1bmN0aW9u
LmgiCisjaW5jbHVkZSAiSlNGdW5jdGlvbklubGluZXMuaCIKKyNpbmNsdWRlICJKU09iamVjdC5o
IgorI2luY2x1ZGUgIlByb3BlcnR5U2xvdC5oIgorI2luY2x1ZGUgIlZNLmgiCisKK25hbWVzcGFj
ZSBKU0MgeworICAgIAorY29uc3QgQ2xhc3NJbmZvIEpTQXJyb3dGdW5jdGlvbjo6c19pbmZvID0g
eyAiQXJyb3dGdW5jdGlvbiIsICZCYXNlOjpzX2luZm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUo
SlNBcnJvd0Z1bmN0aW9uKSB9OworCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycm93
RnVuY3Rpb25DYWxsKEV4ZWNTdGF0ZSogZXhlYykKK3sKKyAgICBKU0Fycm93RnVuY3Rpb24qIGFy
cm93RnVuY3Rpb24gPSBqc0Nhc3Q8SlNBcnJvd0Z1bmN0aW9uKj4oZXhlYy0+Y2FsbGVlKCkpOwor
ICAgICAgICAKKyAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmdzOworICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBleGVjLT5hcmd1bWVudENvdW50KCk7ICsraSkKKyAgICAgICAgYXJncy5h
cHBlbmQoZXhlYy0+dW5jaGVja2VkQXJndW1lbnQoaSkpOworICAgIAorICAgIEpTT2JqZWN0KiBm
dW5jdGlvbiA9IGFycm93RnVuY3Rpb24tPmFycm93RnVuY3Rpb24oKTsKKyAgICBDYWxsRGF0YSBj
YWxsRGF0YTsKKyAgICBDYWxsVHlwZSBjYWxsVHlwZSA9IGdldENhbGxEYXRhKGZ1bmN0aW9uLCBj
YWxsRGF0YSk7CisgICAgQVNTRVJUKGNhbGxUeXBlICE9IENhbGxUeXBlTm9uZSk7CisgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShjYWxsKGV4ZWMsIGZ1bmN0aW9uLCBjYWxsVHlwZSwgY2FsbERh
dGEsIGFycm93RnVuY3Rpb24tPmJvdW5kVGhpcygpLCBhcmdzKSk7Cit9CisgICAgCit2b2lkIEpT
QXJyb3dGdW5jdGlvbjo6ZGVzdHJveShKU0NlbGwqIGNlbGwpCit7CisgICAgc3RhdGljX2Nhc3Q8
SlNBcnJvd0Z1bmN0aW9uKj4oY2VsbCktPkpTQXJyb3dGdW5jdGlvbjo6fkpTQXJyb3dGdW5jdGlv
bigpOworfQorICAgIAorSlNBcnJvd0Z1bmN0aW9uOjpKU0Fycm93RnVuY3Rpb24oVk0mIHZtLCBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNPYmpl
Y3QqIGFycm93RnVuY3Rpb24sIEpTVmFsdWUgYm91bmRUaGlzKQorICAgIDogQmFzZSh2bSwgZ2xv
YmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCisgICAgLCBtX2JvdW5kVGhpcyh2bSwgdGhpcywgYm91bmRU
aGlzKQorICAgICwgbV9hcnJvd0Z1bmN0aW9uKHZtLCB0aGlzLCBhcnJvd0Z1bmN0aW9uKQorewor
fQorCitKU0Fycm93RnVuY3Rpb24qIEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlV2l0aEludmFsaWRh
dGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludChWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIEpTT2JqZWN0KiBhcnJvd0Z1bmN0aW9uLCBKU1ZhbHVlIGJvdW5kVGhpcykKK3sKKyAg
ICBBU1NFUlQoanNDYXN0PEpTRnVuY3Rpb24qPihhcnJvd0Z1bmN0aW9uKS0+anNFeGVjdXRhYmxl
KCktPnNpbmdsZXRvbkZ1bmN0aW9uKCktPmhhc0JlZW5JbnZhbGlkYXRlZCgpKTsKKyAgICByZXR1
cm4gY3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIGFycm93RnVuY3Rpb24sIGJvdW5kVGhpcyk7Cit9
CisKK0pTQXJyb3dGdW5jdGlvbiogSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUoVk0mIHZtLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU09iamVjdCogYXJyb3dGdW5jdGlvbiwgSlNWYWx1
ZSBib3VuZFRoaXMpCit7CisgICAgTmF0aXZlRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9IHZtLmdl
dEhvc3RGdW5jdGlvbihhcnJvd0Z1bmN0aW9uQ2FsbCwgY2FsbEhvc3RGdW5jdGlvbkFzQ29uc3Ry
dWN0b3IpOworICAgIEpTQXJyb3dGdW5jdGlvbiogZnVuY3Rpb24gPSBuZXcgKE5vdE51bGwsIGFs
bG9jYXRlQ2VsbDxKU0Fycm93RnVuY3Rpb24+KHZtLmhlYXApKSBKU0Fycm93RnVuY3Rpb24odm0s
IGdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LT5hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCksIGFy
cm93RnVuY3Rpb24sIGJvdW5kVGhpcyk7CisgICAgZnVuY3Rpb24tPmZpbmlzaENyZWF0aW9uKHZt
LCBleGVjdXRhYmxlLCAwLCAiIik7CisKKyAgICByZXR1cm4gZnVuY3Rpb247Cit9CisgICAgCit2
b2lkIEpTQXJyb3dGdW5jdGlvbjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBOYXRpdmVFeGVjdXRh
YmxlKiBleGVjdXRhYmxlLCBpbnQgbGVuZ3RoLCBjb25zdCBTdHJpbmcmIG5hbWUpCit7CisgICAg
QmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIGV4ZWN1dGFibGUsIGxlbmd0aCwgbmFtZSk7CisgICAg
QVNTRVJUKGluaGVyaXRzKGluZm8oKSkpOworICAgIAorICAgIC8vIFByb3RvdHlwZSBvZiBhcnJv
dyBmdW5jdGlvbiBpcyB1bmRlZmluZWQKKyAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFt
ZXMtPnByb3RvdHlwZSwganNVbmRlZmluZWQoKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5IHwgRG9u
dEVudW0pOworICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+dGhpc0lkZW50aWZp
ZXIsIGJvdW5kVGhpcygpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51bSk7Cit9CisK
KyAgICAKK3ZvaWQgSlNBcnJvd0Z1bmN0aW9uOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwg
U2xvdFZpc2l0b3ImIHZpc2l0b3IpCit7CisgICAgSlNBcnJvd0Z1bmN0aW9uKiB0aGlzT2JqZWN0
ID0ganNDYXN0PEpTQXJyb3dGdW5jdGlvbio+KGNlbGwpOworICAgIEFTU0VSVF9HQ19PQkpFQ1Rf
SU5IRVJJVFModGhpc09iamVjdCwgaW5mbygpKTsKKyAgICBCYXNlOjp2aXNpdENoaWxkcmVuKHRo
aXNPYmplY3QsIHZpc2l0b3IpOworCisgICAgLy8gRml4bWU6IG1fYXJyb3dGdW5jdGlvbiBhbHJl
YWR5IHJlbW92ZWQgYnkgR0MsIGJlY2F1c2UgaXQgY3JlYXRlZCBpbiBiZWZvcmUgcnVuIEpTQXJy
b3dGdW5jdGlvbjo6Y3JlYXRlIG1ldGhvZAorICAgIC8vIEl0IGlzIHBvc3NpYmxlIGNhc2Ugd2hl
biBtX2Fycm93RnVuY3Rpb24gaXMgcmVtb3ZlZCBidXQgd3JhcHBlciBvYmplY3QgaXMgc3RpbGwg
ZXhpc3RzCisgICAgLy8gIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2Fycm93RnVuY3Rp
b24pOworICAgIAorICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2JvdW5kVGhpcyk7
Cit9CisgICAgCitDb25zdHJ1Y3RUeXBlIEpTQXJyb3dGdW5jdGlvbjo6Z2V0Q29uc3RydWN0RGF0
YShKU0NlbGwqIGNlbGwsIENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCit7CisgICAgSlNG
dW5jdGlvbiogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0Z1bmN0aW9uKj4oY2VsbCk7CisgICAgICAg
IAorICAgIGNvbnN0cnVjdERhdGEuanMuZnVuY3Rpb25FeGVjdXRhYmxlID0gdGhpc09iamVjdC0+
anNFeGVjdXRhYmxlKCk7CisgICAgY29uc3RydWN0RGF0YS5qcy5zY29wZSA9IHRoaXNPYmplY3Qt
PnNjb3BlKCk7CisgICAgcmV0dXJuIENvbnN0cnVjdFR5cGVOb25lOworfQorfSAvLyBuYW1lc3Bh
Y2UgSlNDCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQXJyb3dGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJv
d0Z1bmN0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTk3YmMxYTVmYmRmNmY4YjdhYzc2ZGZlZjAwOWU5ZWVl
Zjc5ZjhmMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQXJyb3dGdW5jdGlvbi5oCkBAIC0wLDAgKzEsODggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEpTQXJyb3dGdW5jdGlvbl9oCisjZGVm
aW5lIEpTQXJyb3dGdW5jdGlvbl9oCisKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorCisjaW5jbHVkZSAiSlNGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0
LmgiCisKK25hbWVzcGFjZSBKU0MgeworCitFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFy
cm93RnVuY3Rpb25DYWxsKEV4ZWNTdGF0ZSopOworICAgIAorY2xhc3MgSlNBcnJvd0Z1bmN0aW9u
IDogcHVibGljIEpTRnVuY3Rpb24geworcHVibGljOgorICAgIHR5cGVkZWYgSlNGdW5jdGlvbiBC
YXNlOworCisgICAgc3RhdGljIEpTQXJyb3dGdW5jdGlvbiogY3JlYXRlKFZNJiwgSlNHbG9iYWxP
YmplY3QqLCBKU09iamVjdCosIEpTVmFsdWUpOworICAgIHN0YXRpYyBKU0Fycm93RnVuY3Rpb24q
IGNyZWF0ZVdpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQoVk0mLCBKU0dsb2Jh
bE9iamVjdCosIEpTT2JqZWN0KiwgSlNWYWx1ZSk7CisKKyAgICBzdGF0aWMgdm9pZCBkZXN0cm95
KEpTQ2VsbCopOworICAgIAorICAgIHN0YXRpYyBzaXplX3QgYWxsb2NhdGlvblNpemUoc2l6ZV90
IGlubGluZUNhcGFjaXR5KQorICAgIHsKKyAgICAgICAgQVNTRVJUX1VOVVNFRChpbmxpbmVDYXBh
Y2l0eSwgIWlubGluZUNhcGFjaXR5KTsKKyAgICAgICAgcmV0dXJuIHNpemVvZihKU0Fycm93RnVu
Y3Rpb24pOworICAgIH0KKyAgICAKKyAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1
cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlw
ZSkKKyAgICB7CisgICAgICAgIEFTU0VSVChnbG9iYWxPYmplY3QpOworICAgICAgICByZXR1cm4g
U3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhK
U0Z1bmN0aW9uVHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOworICAgIH0KKyAgICAgICAg
CisgICAgc3RhdGljIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25z
dHJ1Y3REYXRhJik7CisKKyAgICBKU09iamVjdCogYXJyb3dGdW5jdGlvbigpIHsgcmV0dXJuIG1f
YXJyb3dGdW5jdGlvbi5nZXQoKTsgfQorICAgIEpTVmFsdWUgYm91bmRUaGlzKCkgeyByZXR1cm4g
bV9ib3VuZFRoaXMuZ2V0KCk7IH0KKyAgICAKKyAgICBERUNMQVJFX0lORk87CisgICAgCisgICAg
c3RhdGljIGlubGluZSBwdHJkaWZmX3Qgb2Zmc2V0T2ZUaGlzVmFsdWUoKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIE9CSkVDVF9PRkZTRVRPRihKU0Fycm93RnVuY3Rpb24sIG1fYm91bmRUaGlzKTsK
KyAgICB9CisgICAgCisgICAgY29uc3Qgc3RhdGljIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0g
T3ZlcnJpZGVzSGFzSW5zdGFuY2UgfCBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsKKworcHJvdGVjdGVk
OgorICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsK
KyAgICAgICAgCitwcml2YXRlOgorICAgIEpTQXJyb3dGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2Jq
ZWN0KiwgU3RydWN0dXJlKiwgSlNPYmplY3QqLCBKU1ZhbHVlKTsKKworICAgIHZvaWQgZmluaXNo
Q3JlYXRpb24oVk0mLCBOYXRpdmVFeGVjdXRhYmxlKiwgaW50LCBjb25zdCBTdHJpbmcmKTsKKyAg
ICAKKyAgICBXcml0ZUJhcnJpZXI8VW5rbm93bj4gbV9ib3VuZFRoaXM7CisgICAgV3JpdGVCYXJy
aWVyPEpTT2JqZWN0PiBtX2Fycm93RnVuY3Rpb247Cit9OworICAgIAorfSAvLyBuYW1lc3BhY2Ug
SlNDCisjZW5kaWYgLy8gRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYCisKKyNlbmRpZiAvLyBKU0Fy
cm93RnVuY3Rpb25faApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNGdW5jdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5o
CmluZGV4IDg2ZGZmMTJmOGZhNDdhMzFhMzNhNjg5NDA4N2NlNWMxMTVjZTUyYjYuLjhmMWQ2MTZh
ZTBiZDcxNGY0M2NiOGY4OGFhZDViNzRmMmVjYjc3ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKQEAgLTEzNyw2ICsxMzcsOSBAQCBwdWJsaWM6CiBwcm90
ZWN0ZWQ6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgSlNGdW5jdGlvbihWTSYsIEpTR2xvYmFsT2Jq
ZWN0KiwgU3RydWN0dXJlKik7CiAgICAgSlNGdW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJs
ZSosIEpTU2NvcGUqKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAg
IEpTRnVuY3Rpb24oVk0mLCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBKU1Njb3BlKiwgU3RydWN0dXJl
Kik7CisjZW5kaWYKIAogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBOYXRpdmVFeGVjdXRh
YmxlKiwgaW50IGxlbmd0aCwgY29uc3QgU3RyaW5nJiBuYW1lKTsKICAgICB1c2luZyBCYXNlOjpm
aW5pc2hDcmVhdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTRnVuY3Rpb25JbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1
bmN0aW9uSW5saW5lcy5oCmluZGV4IGY2YzZkNThlYzZlNWMxMTY0Y2IyN2ZhNWU0MTYxOGI0Yjgx
NDJmMDIuLjM4NTA2Y2MxOTlhMDA4ZmY4Zjk2YWRmNjg5YmUzNjA5ODc1ZGVhNWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb25JbmxpbmVzLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaApAQCAt
NDUsNiArNDUsMTUgQEAgaW5saW5lIEpTRnVuY3Rpb246OkpTRnVuY3Rpb24oVk0mIHZtLCBGdW5j
dGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUsIEpTU2NvcGUqIHMKIHsKIH0KIAorI2lmIEVOQUJM
RShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCitpbmxpbmUgSlNGdW5jdGlvbjo6SlNGdW5jdGlv
bihWTSYgdm0sIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgSlNTY29wZSogc2NvcGUs
IFN0cnVjdHVyZSogc3RydWN0dXJlKQorICAgIDogQmFzZSh2bSwgc2NvcGUsIHN0cnVjdHVyZSkK
KyAgICAsIG1fZXhlY3V0YWJsZSh2bSwgdGhpcywgZXhlY3V0YWJsZSkKKyAgICAsIG1fcmFyZURh
dGEoKQoreworfQorI2VuZGlmCisgICAgCiBpbmxpbmUgRnVuY3Rpb25FeGVjdXRhYmxlKiBKU0Z1
bmN0aW9uOjpqc0V4ZWN1dGFibGUoKSBjb25zdAogewogICAgIEFTU0VSVCghaXNIb3N0RnVuY3Rp
b25Ob25JbmxpbmUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ds
b2JhbE9iamVjdC5jcHAKaW5kZXggOWY4NmU3MzFlOWQ5YzhjODBlZDY2NzY0NzE0OWRlMDViN2Uz
OGEyNS4uOWJiODgxMWE0NGNjNmFmMWEwNTg4NWFlMmNhYmJlYWRkNTk4ZDI5MCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtNTgs
NiArNTgsNyBAQAogI2luY2x1ZGUgIkpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvci5oIgogI2luY2x1
ZGUgIkpTQXJyYXlCdWZmZXJQcm90b3R5cGUuaCIKICNpbmNsdWRlICJKU0FycmF5SXRlcmF0b3Iu
aCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0JvdW5kRnVuY3Rp
b24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNDYWxsYmFja0NvbnN0
cnVjdG9yLmgiCkBAIC0yMzQsNiArMjM1LDkgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChW
TSYgdm0pCiAgICAgZXhlYy0+c2V0Q2FsbGVlKG1fZ2xvYmFsQ2FsbGVlLmdldCgpKTsKIAogICAg
IG1fZnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0Z1bmN0aW9uOjpjcmVhdGVTdHJ1
Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKKyNpZiBFTkFCTEUo
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIG1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZS5z
ZXQodm0sIHRoaXMsIEpTQXJyb3dGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBt
X2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7CisjZW5kaWYKICAgICBtX2JvdW5kRnVuY3Rpb25T
dHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0JvdW5kRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVyZSh2
bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOwogICAgIG1fbmFtZWRGdW5jdGlv
blN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9u
KHZtLCBtX2Z1bmN0aW9uU3RydWN0dXJlLmdldCgpLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBE
b250RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51bSwgbV9mdW5jdGlvbk5hbWVPZmZzZXQpKTsK
ICAgICBtX2ludGVybmFsRnVuY3Rpb25TdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBJbnRlcm5hbEZ1
bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0
KCkpKTsKQEAgLTc2Myw2ICs3NjcsNyBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojp2aXNpdENoaWxk
cmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0b3IpCiAgICAgdmlzaXRvci5hcHBl
bmQoJnRoaXNPYmplY3QtPm1fY2FsbGVlU3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgm
dGhpc09iamVjdC0+bV9mdW5jdGlvblN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQoJnRo
aXNPYmplY3QtPm1fYm91bmRGdW5jdGlvblN0cnVjdHVyZSk7CisgICAgdmlzaXRvci5hcHBlbmQo
JnRoaXNPYmplY3QtPm1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBl
bmQoJnRoaXNPYmplY3QtPm1fbmFtZWRGdW5jdGlvblN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5h
cHBlbmQoJnRoaXNPYmplY3QtPm1fc3ltYm9sT2JqZWN0U3RydWN0dXJlKTsKICAgICB2aXNpdG9y
LmFwcGVuZCgmdGhpc09iamVjdC0+bV9yZWdFeHBTdHJ1Y3R1cmUpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKaW5kZXggN2FjYzFkZDkzMjdkY2Ux
ZGIzYzgwMDcwMTFjODRlNzczNzZhZjVhMi4uMTA3YjUzOGE0OTY1YWU5NDU4YmEyNGMwMDIyNmY3
OWQ4NjZjNjIzMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNH
bG9iYWxPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bE9iamVjdC5oCkBAIC0yMjksNiArMjI5LDcgQEAgcHJvdGVjdGVkOgogICAgIFdyaXRlQmFycmll
cjxTdHJ1Y3R1cmU+IG1fY2FsbGVlU3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1
cmU+IG1fZnVuY3Rpb25TdHJ1Y3R1cmU7CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9i
b3VuZEZ1bmN0aW9uU3RydWN0dXJlOworICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYXJy
b3dGdW5jdGlvblN0cnVjdHVyZTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX25hbWVk
RnVuY3Rpb25TdHJ1Y3R1cmU7CiAgICAgUHJvcGVydHlPZmZzZXQgbV9mdW5jdGlvbk5hbWVPZmZz
ZXQ7CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9wcml2YXRlTmFtZVN0cnVjdHVyZTsK
QEAgLTQ2Nyw2ICs0NjgsNyBAQCBwdWJsaWM6CiAgICAgU3RydWN0dXJlKiBjYWxsZWVTdHJ1Y3R1
cmUoKSBjb25zdCB7IHJldHVybiBtX2NhbGxlZVN0cnVjdHVyZS5nZXQoKTsgfQogICAgIFN0cnVj
dHVyZSogZnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2Z1bmN0aW9uU3RydWN0
dXJlLmdldCgpOyB9CiAgICAgU3RydWN0dXJlKiBib3VuZEZ1bmN0aW9uU3RydWN0dXJlKCkgY29u
c3QgeyByZXR1cm4gbV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CisgICAgU3RydWN0
dXJlKiBhcnJvd0Z1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9hcnJvd0Z1bmN0
aW9uU3RydWN0dXJlLmdldCgpOyB9CiAgICAgU3RydWN0dXJlKiBuYW1lZEZ1bmN0aW9uU3RydWN0
dXJlKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CiAg
ICAgUHJvcGVydHlPZmZzZXQgZnVuY3Rpb25OYW1lT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9m
dW5jdGlvbk5hbWVPZmZzZXQ7IH0KICAgICBTdHJ1Y3R1cmUqIG51bWJlck9iamVjdFN0cnVjdHVy
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbnVtYmVyT2JqZWN0U3RydWN0dXJlLmdldCgpOyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
YXNwYXJhbXRlci0xLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJv
d2Z1bmN0aW9uLWFzcGFyYW10ZXItMS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MzYxYjhkYjAyMjgyNzk2ZDFi
YjA0ZjVkYmQ0MDE5YjcyODlmMmNjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzcGFyYW10ZXItMS5qcwpAQCAtMCww
ICsxLDggQEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1
bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4
cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQg
KyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordGVzdENhc2UoIiIg
KyBbMSwgMiwgMywgNF0ubWFwKHggPT4geCwgMzIpLCAiMSwyLDMsNCIsICJFcnJvcjogYXJyb3cg
ZnVuY3Rpb24gYXMgdGhlIHBhcmFtdGVycy4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3BhcmFtdGVyLTIuanMgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci0y
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjNmMjkzMmZjMTQ0ZDM2YzcwZjA2MWY4ZTY4ODg4M2U0NGFmY2ZkMTkK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tYXNwYXJhbXRlci0yLmpzCkBAIC0wLDAgKzEsMTUgQEAKKy8vIEluc3BpcmVk
IGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVj
dGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cg
bWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFj
dHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGYgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVyKSB7
IHJldHVybiBjbChwYXJhbXRlcik7IH07Cit2YXIgZjIgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVy
MSwgcGFyYW10ZXIyKSB7IHJldHVybiBjbChwYXJhbXRlcjEsIHBhcmFtdGVyMik7IH07CisKK3Jl
c3VsdCA9IGYoeD0+e3JldHVybiB4ICogMjU7fSwgMTIxKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjUq
MTIxICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24g
d2l0aCBib2R5IGFzIGJsb2NrOiBmKHggPT4ge3JldHVybiB4ICogMjU7fSwgMTIxKSIpOworCity
ZXN1bHQgPSBmMigoeCwgeSk9PntyZXR1cm4geCAqIHk7fSwgMTQsIDEyKTsKK3Rlc3RDYXNlKHJl
c3VsdCwgMTQqMTIgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6IGYoKHgsIHkpPT57cmV0dXJuIHggKiB5O30sIDE0
LCAxMjEpKSIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHktMS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTEuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZmQxZDQ3YTQ4MDc1ZWM1OThjNmJlMWUwN2Q3OGEzNTI2MzUzYTkxMgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1h
c3NvY2lhdGl2aXR5LTEuanMKQEAgLTAsMCArMSwxMyBAQAorLy8gSW5zcGlyZWQgYnkgbW96aWxs
YSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3Nh
Z2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsg
Ii4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIici
OworICB9Cit9OworCit2YXIgYWYxLCBhZjIsIGFmMzsKK2FmMSA9IGFmMiA9IGFmMyA9PiBhZjEg
PSBhZjIgPSBhZjM7Cit0ZXN0Q2FzZShhZjEsIGFmMiwgIkVycm9yOiB3cm9uZyBhc3NvY2lhdGl2
aXR5ICMxLiIpOworYWYxKDEzKTsKK3Rlc3RDYXNlKGFmMiwgMTMsICJFcnJvcjogd3JvbmcgYXNz
b2NpYXRpdml0eSAjMi4iKTsKK3Rlc3RDYXNlKGFmMSwgMTMsICJFcnJvcjogd3JvbmcgYXNzb2Np
YXRpdml0eSAjMy4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTIuanMgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0yLmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjJlZGQ4MzljNmJjN2VkNmE0MGVmZmJiYzg3NTRlZDFiZmQ4MDZiNDMKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tYXNzb2NpYXRpdml0eS0yLmpzCkBAIC0wLDAgKzEsMTQgQEAKKy8vIEluc3BpcmVkIGJ5IG1v
emlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBt
ZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2Fn
ZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCAr
ICInIjsKKyAgfQorfTsKKwordmFyIHM9IiI7CitzICs9IHggPT4geC5uYW1lOworCisvLyBGaXgg
bWUuIFBvc3NpYmxlIHdlIGhhdmUgbm90IHVzZSB0aGUgSlNCb3VudEZ1bmN0aW9uIHdyYXBwZXIg
Zm9yIHRoZSBsZXhpY2FsCisvLyBiaW5kaW5nIG9mIHRoZSB0aGlzIGFuZCB1c2UgZGlyZWN0IGlu
amVjdGlvbiBvZiB0aGUgJ3RoaXMnIHZhbHVlCisvLyBpbnRvIGFycnJvdyBmdW5jdGlvbgorLy8g
dGVzdENhc2UocywgInggPT4geC5uYW1lIiAsICJFcnJvcjogd3JvbmcgdG9TdHJpbmcgY29udmVy
c2lvbi4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rl
c3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHkuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjdl
ZDE1M2NlZWJhNTI2MjI4ZWNhODIxMzA0NjlhOTI0NGIxNGMwNQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lh
dGl2aXR5LmpzCkBAIC0wLDAgKzEsMTAgQEAKKy8vIEluc3BpcmVkIGJ5IG1vemlsbGEgdGVzdHMK
K3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7Cisg
IGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVj
dGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQor
fTsKKwordmFyIGFmID0gYSA9PiBiID0+IGE7CisKK3Rlc3RDYXNlKGFmKCdBQkMnKSgnREVGJyks
ICdBQkMnLCAiRXJyb3I6IHdyb25nIG5lc3RlZCBhcnJvdyBmdW5jdGlvbnMuIik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxv
Y2stMS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1ibG9jay0xLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBjNTcxYmI3MmZjZmVmNTMwYzU5ZGI0Yjg2MGNhNGYw
YTk2YTQxMTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2stMS5qcwpAQCAtMCwwICsxLDExIEBACisvLyBJbnNw
aXJlZCBieSBtb3ppbGxhIHRlc3RzCit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBl
eHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRo
cm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIg
KyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBmID0gKCkgPT4ge307Cit0ZXN0Q2FzZSh0
eXBlb2YgZigpLCAndW5kZWZpbmVkJywgIkVycm9yOiB3cm9uZyBhcnJvdyBmdW5jdGlvbiBibG9j
ay4iKTsKK3ZhciBnID0gKCkgPT4gKHt9KTsKK3Rlc3RDYXNlKHR5cGVvZiBnKCksICdvYmplY3Qn
LCAiRXJyb3I6IHdyb25nIGFycm93IGZ1bmN0aW9uIGJsb2NrLiIpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJsb2NrLTIuanMg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2st
Mi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40N2VlMzUyY2YwMWQxMzZlMzAyOTIyNzM2YzVjODBlZjUzYzAzZjZl
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9h
cnJvd2Z1bmN0aW9uLWJsb2NrLTIuanMKQEAgLTAsMCArMSwxMCBAQAorLy8gSW5zcGlyZWQgYnkg
bW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQs
IG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNz
YWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFs
ICsgIiciOworICB9Cit9OworCit2YXIgYWYgPSBhID0+IHsgYSArIDE7IH07CisKK3Rlc3RDYXNl
KHR5cGVvZiBhZigwKSwgJ3VuZGVmaW5lZCcsICJFcnJvcjogd3JvbmcgYXJyb3cgZnVuY3Rpb24g
YmxvY2sgIzIuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tYm91bmQuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tYm91bmQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTczMjBmNGVjNzg4ZWEx
NDkwYWZjNzJlYzEyNTFlZTBhNmUxZjdiNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ib3VuZC5qcwpAQCAtMCwwICsx
LDE2IEBACit2YXIgcmVzdWx0OworCisgdmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwg
ZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0
aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICci
ICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgZCA9IHsKKyAgeCA6ICJiYXIiLAorICB5
IDogZnVuY3Rpb24oKSB7IHJldHVybiB6ID0+IHRoaXMueCArIHo7IH0KK307CisKK3ZhciBlID0g
eyB4IDogImJheiIgfTsKKwordGVzdENhc2UoZC55KCkuYmluZChlLCAibGV5IikoKSwgImJhcmxl
eSIsICJFcnJvcjogZnVuY3Rpb24gYmluZCBzaG91bGRuJ3QgY2hhbmdlIGxleGljYWwgYmluZGlu
ZyBvZiB0aGUgYXJyb3cgZnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1jYWxsLmpzIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNhbGwuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjRm
OWFhNTA0ZDcwZDcwZDY4Y2RhYTVhNDgyYTQ2NTBhNDVmZGY3YwotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1jYWxsLmpz
CkBAIC0wLDAgKzEsMTggQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5jdGlv
biAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3Rl
ZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIics
IGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBkID0geworICB4IDog
ImZvbyIsCisgIHkgOiBmdW5jdGlvbigpIHsgcmV0dXJuICgpID0+IHRoaXMueDsgfQorfTsKKwor
dmFyIGUgPSB7IHggOiAiYmFyIiB9OworCit0ZXN0Q2FzZShkLnkoKS5jYWxsKGUpLCAiZm9vIiwg
IkVycm9yOiBmdW5jdGlvbiBjYWxsIHNob3Vsbid0IGNoYW5nZSB0aGUgbGV4aWNhbCBiaW5kaW5n
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiIpOworCit0ZXN0Q2FzZShkLnkoKS5hcHBseShlKSwgImZv
byIsICJFcnJvcjogZnVuY3Rpb24gYXBwbHkgc2hvdWxuJ3QgY2hhbmdlIHRoZSBsZXhpY2FsIGJp
bmRpbmcgb2YgdGhlIGFycm93IGZ1bmN0aW9uIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY29uc3RydWN0b3IuanMgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY29uc3RydWN0b3Iu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYjU4YjE2ZDdiNWUyOTc0NGMzM2Y3ODZiNGJmMTZiZjQ0ZmViMWUyOAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJy
b3dmdW5jdGlvbi1jb25zdHJ1Y3Rvci5qcwpAQCAtMCwwICsxLDE4IEBACit2YXIgdGVzdENhc2Ug
PSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9
PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVj
dGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBzaW1w
bGVBcnJvd0Z1bmN0aW9uID0gKCkgPT4ge307CisKK3ZhciBlcnJvck9uQ3JlYXRlID0gZmFsc2U7
CisKK3RyeSB7CisgIHZhciBmYyA9IG5ldyBzaW1wbGVBcnJvd0Z1bmN0aW9uKCk7Cit9CitjYXRj
aCAoZSkgeworICBlcnJvck9uQ3JlYXRlID0gdHJ1ZTsKK30KKwordGVzdENhc2UoZXJyb3JPbkNy
ZWF0ZSwgdHJ1ZSwgIkVycm9yOiBObyBleGNlcHRpb24gZHVyaW5nIHJ1biBuZXcgQXJyb3dGdW5j
dGlvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9h
cnJvd2Z1bmN0aW9uLWxleGljYWwtYXJndW1lbnRzLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtYXJndW1lbnRzLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjFlYjY3NjNhNjUyNjk4MTY1YzBmZGIyZDhiYzIwNzNkMmJjZDNiMWYKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
bGV4aWNhbC1hcmd1bWVudHMuanMKQEAgLTAsMCArMSwxNCBAQAordmFyIHRlc3RDYXNlID0gZnVu
Y3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhw
ZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCAr
ICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCitmdW5jdGlvbiBhZkNy
ZWF0b3IoKSB7CisgICAgcmV0dXJuIGEgPT4gYXJndW1lbnRzWzBdOworfQorCit2YXIgYWYgPSBh
ZkNyZWF0b3IoMTIpOworCisvL0ZpeG1lOiBsZXhpY2FsIGJpbmQgb2YgdGhlIGFyZ3VtZW50cyBp
cyBub3QgaW1wbGVtZW50ZWQKKy8vdGVzdENhc2UoYWYoNiksIDEyLCAiRXJyb3I6IGFyZ3VtZW50
cyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uIik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tbGV4aWNhbC10aGlzLTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjE5MmQxMDEy
YjY1ZDIyMDhhYjAwNmQ3ZjY3ZDI5ZTc5NjUzNmFjOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMt
MS5qcwpAQCAtMCwwICsxLDE1IEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBl
eHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRo
cm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIg
KyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK2Z1bmN0aW9uIERvZyhuYW1lKSB7CisgIHRoaXMu
bmFtZSA9IG5hbWU7CisgIHRoaXMuZ2V0TmFtZSA9ICgpID0+IGV2YWwoInRoaXMubmFtZSIpOwor
ICB0aGlzLmdldE5hbWVIYXJkID0gKCkgPT4gZXZhbCgiKCgpID0+IHRoaXMubmFtZSkoKSIpOwor
fQorCit2YXIgZCA9IG5ldyBEb2coIk1heCIpOwordGVzdENhc2UoZC5nZXROYW1lKCksIGQubmFt
ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24gIzEiKTsKK3Rlc3RDYXNlKGQuZ2V0TmFtZUhhcmQoKSwgZC5uYW1lLCAiRXJy
b3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbiAjMiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtdGhpcy0yLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtdGhpcy0yLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjI2ZTMwZWQxZjMyOTYwYzQ0OTRhMmRjYWJhMTBlMzgwOTg3MDg0NGYKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4
aWNhbC10aGlzLTIuanMKQEAgLTAsMCArMSwzMSBAQAordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24g
KGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQp
IHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBi
dXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit2YXIgYWZPYmpMZXhCaW5kMiA9
IGZ1bmN0aW9uICgpIHsKKyAgdGhpcy5mdW5jID0gKCkgPT4gdGhpczsKK307CisKK3ZhciBhZk9i
akxleEJpbmQySW5zdGFuY2UgPSBuZXcgYWZPYmpMZXhCaW5kMigpOworCit0ZXN0Q2FzZShhZk9i
akxleEJpbmQySW5zdGFuY2UuZnVuYygpID09PSBhZk9iakxleEJpbmQySW5zdGFuY2UsIHRydWUs
ICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93
IGZ1bmN0aW9uICMyIik7CisKK3ZhciBvYmogPSB7CisgIG1ldGhvZDogZnVuY3Rpb24gKCkgewor
ICAgIHJldHVybiAoKSA9PiB0aGlzOworICB9Cit9OworCit0ZXN0Q2FzZShvYmoubWV0aG9kKCko
KSA9PT0gb2JqLCB0cnVlLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5z
aWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMyIpOworCit2YXIgZmFrZSA9IHtzdGVhbDogb2Jq
Lm1ldGhvZCgpfTsKK3Rlc3RDYXNlKGZha2Uuc3RlYWwoKSA9PT0gb2JqLCB0cnVlLCAiRXJyb3I6
IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlv
biAjNCIpOworCisKK3ZhciByZWFsID0ge2JvcnJvdzogb2JqLm1ldGhvZH07Cit0ZXN0Q2FzZShy
ZWFsLmJvcnJvdygpKCkgPT09IHJlYWwsIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNh
bGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM1Iik7Cit0ZXN0Q2FzZShy
ZWFsLmJvcnJvdygpKCkgPT09IHJlYWwsIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNh
bGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM2Iik7Cit0ZXN0Q2FzZShy
ZWFsLmJvcnJvdygpKCkgPT09IHJlYWwsIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNh
bGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM3Iik7Cit0ZXN0Q2FzZShy
ZWFsLmJvcnJvdygpKCkgPT09IHJlYWwsIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNh
bGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM4Iik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNh
bC10aGlzLTMuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tbGV4aWNhbC10aGlzLTMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGZhZmVmYTkzODlkYTczOGM0MGUz
YzJjZjQxZDgyYzQ1MGJiZGU0YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMtMy5qcwpAQCAtMCww
ICsxLDIwIEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVz
c2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2Ug
KyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAi
JyI7CisgIH0KK307CisKKwordmFyIG9iaiA9IHsgbmFtZTonb2JqJywgbWV0aG9kOiBmdW5jdGlv
biAoKSB7IHJldHVybiAodmFsdWUpID0+IHRoaXMubmFtZSArICItbmFtZS0iICsgdmFsdWU7IH19
OworCit0ZXN0Q2FzZShvYmoubWV0aG9kKCkoJ3Rlc3QxJyksICdvYmotbmFtZS10ZXN0MScsICJF
cnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1
bmN0aW9uICMxIik7Cit0ZXN0Q2FzZShvYmoubWV0aG9kKCkoJ3Rlc3QyJyksICdvYmotbmFtZS10
ZXN0MicsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhl
IGFycm93IGZ1bmN0aW9uICMyIik7Cit0ZXN0Q2FzZShvYmoubWV0aG9kKCkoJ3Rlc3QzJyksICdv
YmotbmFtZS10ZXN0MycsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNp
ZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMzIik7Cit0ZXN0Q2FzZShvYmoubWV0aG9kKCkoJ3Rl
c3Q0JyksICdvYmotbmFtZS10ZXN0NCcsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJp
bmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM0Iik7CisKK29iai5uYW1lPSduZXdP
YmonOworCit0ZXN0Q2FzZShvYmoubWV0aG9kKCkoJ3Rlc3QxJyksICduZXdPYmotbmFtZS10ZXN0
MScsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFy
cm93IGZ1bmN0aW9uICM1Iik7Cit0ZXN0Q2FzZShvYmoubWV0aG9kKCkoJ3Rlc3QyJyksICduZXdP
YmotbmFtZS10ZXN0MicsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNp
ZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM2Iik7Cit0ZXN0Q2FzZShvYmoubWV0aG9kKCkoJ3Rl
c3QzJyksICduZXdPYmotbmFtZS10ZXN0MycsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5
IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM3Iik7Cit0ZXN0Q2FzZShvYmou
bWV0aG9kKCkoJ3Rlc3Q0JyksICduZXdPYmotbmFtZS10ZXN0NCcsICJFcnJvcjogdGhpcyBpcyBu
b3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM4Iik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rp
b24tbGV4aWNhbC10aGlzLTQuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmM1OWU3NTM1N2Nl
ZjJmMWQ4Nzk4MGFkZWQ0NmUxNmFlN2VkMDhiOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMtNC5q
cwpAQCAtMCwwICsxLDI2IEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBl
Y3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93
IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBh
Y3R1YWwgKyAiJyI7CisgIH0KK307CisKKwordmFyIG9iaiA9IHsKKyAgbmFtZTonb2JqJywKKyAg
aW50ZXJuYWxPYmplY3Q6IHsKKyAgICBuYW1lICA6J2ludGVybmFsT2JqZWN0JywKKyAgICBtZXRo
b2Q6IGZ1bmN0aW9uICgpIHsgcmV0dXJuICh2YWx1ZSkgPT4gdGhpcy5uYW1lICsgIi1uYW1lLSIg
KyB2YWx1ZTsgfQorICB9Cit9OworCit0ZXN0Q2FzZShvYmouaW50ZXJuYWxPYmplY3QubWV0aG9k
KCkoJ3Rlc3QxJyksICdpbnRlcm5hbE9iamVjdC1uYW1lLXRlc3QxJywgIkVycm9yOiB0aGlzIGlz
IG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzEiKTsK
K3Rlc3RDYXNlKG9iai5pbnRlcm5hbE9iamVjdC5tZXRob2QoKSgndGVzdDInKSwgJ2ludGVybmFs
T2JqZWN0LW5hbWUtdGVzdDInLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQg
aW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMiIpOwordGVzdENhc2Uob2JqLmludGVybmFs
T2JqZWN0Lm1ldGhvZCgpKCd0ZXN0MycpLCAnaW50ZXJuYWxPYmplY3QtbmFtZS10ZXN0MycsICJF
cnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1
bmN0aW9uICMzIik7Cit0ZXN0Q2FzZShvYmouaW50ZXJuYWxPYmplY3QubWV0aG9kKCkoJ3Rlc3Q0
JyksICdpbnRlcm5hbE9iamVjdC1uYW1lLXRlc3Q0JywgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhp
Y2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzQiKTsKKworb2JqLmlu
dGVybmFsT2JqZWN0Lm5hbWU9J25ld0ludGVybmFsT2JqZWN0JzsKKwordGVzdENhc2Uob2JqLmlu
dGVybmFsT2JqZWN0Lm1ldGhvZCgpKCd0ZXN0MScpLCAnbmV3SW50ZXJuYWxPYmplY3QtbmFtZS10
ZXN0MScsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhl
IGFycm93IGZ1bmN0aW9uICM1Iik7Cit0ZXN0Q2FzZShvYmouaW50ZXJuYWxPYmplY3QubWV0aG9k
KCkoJ3Rlc3QyJyksICduZXdJbnRlcm5hbE9iamVjdC1uYW1lLXRlc3QyJywgIkVycm9yOiB0aGlz
IGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzYi
KTsKK3Rlc3RDYXNlKG9iai5pbnRlcm5hbE9iamVjdC5tZXRob2QoKSgndGVzdDMnKSwgJ25ld0lu
dGVybmFsT2JqZWN0LW5hbWUtdGVzdDMnLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBi
aW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNyIpOwordGVzdENhc2Uob2JqLmlu
dGVybmFsT2JqZWN0Lm1ldGhvZCgpKCd0ZXN0NCcpLCAnbmV3SW50ZXJuYWxPYmplY3QtbmFtZS10
ZXN0NCcsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhl
IGFycm93IGZ1bmN0aW9uICM4Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTUuanMgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTUuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNzQxMzkyNzdjMTcxMTQ4Y2I5ZjdmODY3YWQ1OTEwYTBiOGViZjJjNgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1sZXhpY2FsLXRoaXMtNS5qcwpAQCAtMCwwICsxLDUzIEBACit2YXIgc29ydGVkVmFs
dWVzOworCit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2Fn
ZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAi
LiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7
CisgIH0KK307CisKKwordmFyIG9iaiA9IHsKKyAgYXJyOiBbMSwgNCwgNiwgMywgNywgMF0sCisg
IGJ1YmJsZVNvcnQ6IGZ1bmN0aW9uICgpIHsKKyAgICByZXR1cm4gKCkgPT4geworICAgICAgdmFy
IHRtcDsKKyAgICAgIHZhciBhciA9IHRoaXMuYXJyLnNsaWNlKCk7CisgICAgICB2YXIgX2xlbmd0
aCA9IGFyLmxlbmd0aAorICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBfbGVuZ3RoOyBpKyspIHsK
KyAgICAgICAgZm9yICh2YXIgaiA9IGk7IGogPiAwOyBqLS0pIHsKKyAgICAgICAgICBpZiAoKGFy
W2pdIC0gYXJbaiAtIDFdKSA8IDApIHsKKyAgICAgICAgICAgIHRtcCA9IGFyW2pdOworICAgICAg
ICAgICAgYXJbal0gPSBhcltqIC0gMV07CisgICAgICAgICAgICBhcltqIC0gMV0gPSB0bXA7Cisg
ICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9CisgICAgICByZXR1cm4gYXI7CisgICAgfQor
ICB9Cit9OworCitvYmouYXJyID0gWzEsIDIsIDQsIDYsIDMsIDcsIDBdOworCit0ZXN0Q2FzZShv
YmouYnViYmxlU29ydCgpKCkubGVuZ3RoLCA3LCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxs
eSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMSIpOwordGVzdENhc2Uob2Jq
LmJ1YmJsZVNvcnQoKSgpLmxlbmd0aCwgNywgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkg
YmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzIiKTsKK3Rlc3RDYXNlKG9iai5i
dWJibGVTb3J0KCkoKS5sZW5ndGgsIDcsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJp
bmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMzIik7Cit0ZXN0Q2FzZShvYmouYnVi
YmxlU29ydCgpKCkubGVuZ3RoLCA3LCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5k
ZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNCIpOwordGVzdENhc2Uob2JqLmJ1YmJs
ZVNvcnQoKSgpLmxlbmd0aCwgNywgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVk
IGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzUiKTsKKwordmFyIHNvcnRlZFZhbHVlcyA9
IG9iai5idWJibGVTb3J0KCkoKTsKK3Rlc3RDYXNlKHNvcnRlZFZhbHVlc1swXSwgMCwgIkVycm9y
OiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gIzYiKTsKK3Rlc3RDYXNlKHNvcnRlZFZhbHVlc1s2XSwgNywgIkVycm9yOiB0aGlzIGlzIG5v
dCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzciKTsKKwor
CitvYmouYXJyID0gWzEsIDIsIDQsIDYsIDUsIDgsIDIxLCAxOSwgMF07CisKK3Rlc3RDYXNlKG9i
ai5idWJibGVTb3J0KCkoKS5sZW5ndGgsIDksICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5
IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM4Iik7Cit0ZXN0Q2FzZShvYmou
YnViYmxlU29ydCgpKCkubGVuZ3RoLCA5LCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBi
aW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjOSIpOwordGVzdENhc2Uob2JqLmJ1
YmJsZVNvcnQoKSgpLmxlbmd0aCwgOSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmlu
ZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzEwIik7Cit0ZXN0Q2FzZShvYmouYnVi
YmxlU29ydCgpKCkubGVuZ3RoLCA5LCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5k
ZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMTEiKTsKKworc29ydGVkVmFsdWVzID0g
b2JqLmJ1YmJsZVNvcnQoKSgpOwordGVzdENhc2Uoc29ydGVkVmFsdWVzWzFdLCAxLCAiRXJyb3I6
IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlv
biAjMTIiKTsKK3Rlc3RDYXNlKHNvcnRlZFZhbHVlc1s4XSwgMjEsICJFcnJvcjogdGhpcyBpcyBu
b3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMxMyIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0
aW9uLW90aGVycy5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1vdGhlcnMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmViYTExZjMwMjJlMzRhODAwMGE1NzAwNzZk
YjFhNTVhNGEzMmIyMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1vdGhlcnMuanMKQEAgLTAsMCArMSwxMyBAQAordmFy
IHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYg
KGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQg
JyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9Owor
Cit2YXIgc2ltcGxlQXJyb3dGdW5jdGlvbiA9ICgpID0+IHt9OworCit0ZXN0Q2FzZShPYmplY3Qu
Z2V0UHJvdG90eXBlT2Yoc2ltcGxlQXJyb3dGdW5jdGlvbiksIEZ1bmN0aW9uLnByb3RvdHlwZSwg
IkVycm9yOiBOb3QgY29ycmVjdCBnZXRQcm90b3R5cGVPZiB2YWx1ZSBmb3IgYXJyb3cgZnVuY3Rp
b24iKTsKKwordGVzdENhc2Uoc2ltcGxlQXJyb3dGdW5jdGlvbiBpbnN0YW5jZW9mIEZ1bmN0aW9u
LCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgaW5zdGFuY2VvZiBtZXRob2Qg
Zm9yIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKHNpbXBsZUFycm93RnVuY3Rpb24uY29u
c3RydWN0b3IgPT0gRnVuY3Rpb24sIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZv
ciBjb25zdHJ1Y3RvciBtZXRob2Qgb2YgYXJyb3cgZnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAtMS5q
cyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4t
MTAtMS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4wN2ExZjBhNDljYjE2ODYzYzU5MjEzNjFmMGFkYjFlMTRlYzli
NjVhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMC0xLmpzCkBAIC0wLDAgKzEsMjQgQEAKK3ZhciB0ZXN0Q2Fz
ZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwg
IT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhw
ZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKworZnVuY3Rp
b24gcnVuKGNvdW50KSB7CisgIHZhciByZXN1bHQgPSB0cnVlOworICBmb3IodmFyIGk9MDsgaTxj
b3VudDsgaSsrKSB7CisgICAgdmFyIE9iaiA9IGZ1bmN0aW9uIChuYW1lKSB7CisgICAgICB0aGlz
Lm5hbWUgPSBuYW1lOworICAgICAgdGhpcy5nZXROYW1lID0gKCkgPT4gdGhpcy5uYW1lOworICAg
IH07CisKKyAgICB2YXIgb2JqID0gbmV3IE9iaigiSXRlbSIgKyBpKTsKKyAgICBpZiAob2JqLm5h
bWUgIT09IG9iai5nZXROYW1lKCkpIHsKKyAgICAgIHJlc3VsdCA9IGZhbHNlOworICAgIH0KKyAg
fQorICByZXR1cm4gcmVzdWx0OworfQorCit0ZXN0Q2FzZShydW4oMSksIHRydWUsICJFcnJvcjog
RXJyb3I6IGR1cmluZyBleGVjdXRpb24gb2YgYXJyb3cgZnVuY3Rpb24gb25lIHRpbWUiKTsKK3Rl
c3RDYXNlKHJ1bigxMCksIHRydWUsICJFcnJvcjogRXJyb3I6IGR1cmluZyBleGVjdXRpb24gb2Yg
YXJyb3cgZnVuY3Rpb24gMTAgdGltZXMiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAtMi5qcyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAtMi5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41ZGRjZGIzYzcwYTFiMjdjM2RiYjUyMzgwOTU1ZjUzNTNkNzY3NDI1Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9u
LXJ1bi0xMC0yLmpzCkBAIC0wLDAgKzEsMjUgQEAKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChh
Y3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7
CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0
IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKworZnVuY3Rpb24gcnVuKGNvdW50KSB7
CisgIHZhciByZXN1bHQgPSB0cnVlOworICBmb3IodmFyIGk9MDsgaTxjb3VudDsgaSsrKSB7Cisg
ICAgdmFyIE9iaiA9IGZ1bmN0aW9uIChuYW1lKSB7CisgICAgICB0aGlzLm5hbWUgPSBuYW1lOwor
ICAgICAgdGhpcy5nZXROYW1lID0gKCkgPT4gZXZhbCgidGhpcy5uYW1lIik7OworICAgIH07CisK
KworICAgIHZhciBvYmogPSBuZXcgT2JqKCJJdGVtIiArIGkpOworICAgIGlmIChvYmoubmFtZSAh
PT0gb2JqLmdldE5hbWUoKSkgeworICAgICAgcmVzdWx0ID0gZmFsc2U7CisgICAgfQorICB9Cisg
IHJldHVybiByZXN1bHQ7Cit9CisKK3Rlc3RDYXNlKHJ1bigxKSwgdHJ1ZSwgIkVycm9yOiBkdXJp
bmcgZXhlY3V0aW9uIG9mIGFycm93IGZ1bmN0aW9uIG9uZSB0aW1lIik7Cit0ZXN0Q2FzZShydW4o
MTApLCB0cnVlLCAiRXJyb3I6IGR1cmluZyBleGVjdXRpb24gb2YgYXJyb3cgZnVuY3Rpb24gMTAg
dGltZXMiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YXJyb3dmdW5jdGlvbi1ydW4tMTAwMDAtMS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAwMDAtMS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZTVmNmJj
ODZiZDMxNDUxYjAxY2EyN2QwYjk3MjBiNTdlOGQ2MDUxCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMDAwMC0x
LmpzCkBAIC0wLDAgKzEsMjMgQEAKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4
cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhy
b3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiAr
IGFjdHVhbCArICInIjsKKyAgfQorfTsKKworZnVuY3Rpb24gcnVuKGNvdW50KSB7CisgIHZhciBy
ZXN1bHQgPSB0cnVlOworICBmb3IodmFyIGk9MDsgaTxjb3VudDsgaSsrKSB7CisgICAgdmFyIE9i
aiA9IGZ1bmN0aW9uIChuYW1lKSB7CisgICAgICB0aGlzLm5hbWUgPSBuYW1lOworICAgICAgdGhp
cy5nZXROYW1lID0gKCkgPT4gdGhpcy5uYW1lOworICAgIH07CisKKyAgICB2YXIgb2JqID0gbmV3
IE9iaigiSXRlbSIgKyBpKTsKKyAgICBpZiAob2JqLm5hbWUgIT09IG9iai5nZXROYW1lKCkpIHsK
KyAgICAgIHJlc3VsdCA9IGZhbHNlOworICAgIH0KKyAgfQorICByZXR1cm4gcmVzdWx0OworfQor
Cit0ZXN0Q2FzZShydW4oMTAwMDApLCB0cnVlLCAiRXJyb3I6IEVycm9yOiBkdXJpbmcgZXhlY3V0
aW9uIG9mIGFycm93IGZ1bmN0aW9uIDEwMDAwIHRpbWVzIik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwMDAwLTIuanMg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEw
MDAwLTIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOTUzMGYyYzFkNWE3ZjU1Y2U0NmI4YmU2OTkwOGI0YmMyMWUw
NTI3YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAwMDAtMi5qcwpAQCAtMCwwICsxLDIzIEBACit2YXIgdGVz
dENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0
dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiAr
IGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK2Z1
bmN0aW9uIHJ1bihjb3VudCkgeworICB2YXIgcmVzdWx0ID0gdHJ1ZTsKKyAgZm9yKHZhciBpPTA7
IGk8Y291bnQ7IGkrKykgeworICAgIHZhciBPYmogPSBmdW5jdGlvbiAobmFtZSkgeworICAgICAg
dGhpcy5uYW1lID0gbmFtZTsKKyAgICAgIHRoaXMuZ2V0TmFtZSA9ICgpID0+IGV2YWwoInRoaXMu
bmFtZSIpOzsKKyAgICB9OworCisgICAgdmFyIG9iaiA9IG5ldyBPYmooIkl0ZW0iICsgaSk7Cisg
ICAgaWYgKG9iai5uYW1lICE9PSBvYmouZ2V0TmFtZSgpKSB7CisgICAgICByZXN1bHQgPSBmYWxz
ZTsKKyAgICB9CisgIH0KKyAgcmV0dXJuIHJlc3VsdDsKK30KKwordGVzdENhc2UocnVuKDEwMDAw
KSwgdHJ1ZSwgIkVycm9yOiBFcnJvcjogZHVyaW5nIGV4ZWN1dGlvbiBvZiBhcnJvdyBmdW5jdGlv
biAxMDAwMCB0aW1lcyIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXN5bnRheC5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1zeW50YXguanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGZlMTFkNWJl
ZTBkYmQ1NTY0OGFjNDNkZmZjZTRlNGUyZTkwZTI4OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1zeW50YXguanMKQEAg
LTAsMCArMSwxMTYgQEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAo
YWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkg
eworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1
dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBhZjAgPSB2ID0+IHYgKyAx
OwordGVzdENhc2UoYWYwKDEwKSwgMTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbjogdiA9PiB2ICsgMSIpOworCit2YXIgYWYxID0gKHYpID0+IHYg
KiAyOwordGVzdENhc2UoYWYxKDEwKSwgMjAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKHYpID0+IHYgKyAxIik7CisKK3ZhciBhZjIgPSAoKSA9
PiAxMDAwOwordGVzdENhc2UoYWYyKDEyMTIpLCAxMDAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICgpID0+IDEwMDAiKTsKKwordmFyIGEgPSAx
NTE7Cit2YXIgYWYyXzEgPSAoKSA9PiBhOwordGVzdENhc2UoYWYyXzEoMTIxKSwgYSAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAoKSA9PiB2YXJp
YWJsZSIpOworCit2YXIgYWYzID0gKHYsIHgpID0+IHYgKyB4OwordGVzdENhc2UoYWYzKDExLDEy
KSwgMjMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlv
bjogKHgsIHkpID0+IHggKyB5Iik7CisKK3ZhciBhZndyYXBwZXIgPSBmdW5jdGlvbiAoY2wsIHBh
cmFtdGVyKSB7IHJldHVybiBjbChwYXJhbXRlcik7IH07CisKK3Jlc3VsdCA9IGFmd3JhcHBlcih4
ID0+IDEyMzQpOwordGVzdENhc2UocmVzdWx0LCAxMjM0ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjKSIpOwor
CityZXN1bHQgPSBhZndyYXBwZXIoeCA9PiAxMjM0LCAyMzQ1KTsKK3Rlc3RDYXNlKHJlc3VsdCwg
MTIzNCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9u
IGFzIHBhcmFtdGVyOiBmKHggPT4gYywgeSkiKTsKKworcmVzdWx0ID0gYWZ3cmFwcGVyKHggPT4g
MTIxICsgMjMyKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMzUzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoeCA9PiBjMSArIGMy
KSIpOworCityZXN1bHQgPSBhZndyYXBwZXIoeCA9PiAxMjMgKyAzMjEsIDk5OTkpOwordGVzdENh
c2UocmVzdWx0LCA0NDQgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMxICsgYzIsIHkpIik7CisKK3Jlc3VsdCA9
IGFmd3JhcHBlcih4ID0+IHggKyAxMiwgMjEpOwordGVzdENhc2UocmVzdWx0LCAzMyAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVy
OiBmKHggPT4geCArIGMxLCB5KSIpOworCityZXN1bHQgPSBhZndyYXBwZXIoKHgpID0+IHggKyAy
MSwgMzIpOwordGVzdENhc2UocmVzdWx0LCA1MywgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCh4KSA9PiBjMSArIGMyLCB5
KSIpOworCityZXN1bHQgPSBhZndyYXBwZXIoKCkgPT4gMTAwKTsKK3Rlc3RDYXNlKHJlc3VsdCwg
MTAwLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24g
YXMgcGFyYW10ZXI6IGYoKCkgPT4gYykiKTsKKwordmFyIGV4dF92YWx1ZSA9IDEyMTsKK3Jlc3Vs
dCA9IGFmd3JhcHBlcigoKSA9PiBleHRfdmFsdWUpOwordGVzdENhc2UocmVzdWx0LCAxMjEsICJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJh
bXRlcjogZigoKSA9PiB2KSIpOworCityZXN1bHQgPSBhZndyYXBwZXIoKCkgPT4gZXh0X3ZhbHVl
ICogMTApOwordGVzdENhc2UocmVzdWx0LCAxMjEwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1
dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gdip4KSIpOwor
CityZXN1bHQgPSBhZndyYXBwZXIoKHgpID0+IGV4dF92YWx1ZSAqIHgsIDMwKTsKK3Rlc3RDYXNl
KHJlc3VsdCwgMzAqZXh0X3ZhbHVlICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0
aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKHgpID0+IHYqeCwgeSkiKTsKKworcmVz
dWx0ID0gYWZ3cmFwcGVyKCgpID0+IDEwMCwgMTEpOwordGVzdENhc2UocmVzdWx0LCAxMDAgLCJF
cnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJh
bXRlcjogZigoKSA9PiBjMSwgeSkiKTsKKworIHJlc3VsdCA9IGFmd3JhcHBlcigoKSA9PiAxMDAg
KyAxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDExMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVyOiBmKCgpID0+IGMxICsgYzIpIik7
CisKK3Jlc3VsdCA9IGFmd3JhcHBlcigoKSA9PiAxMDAgKyAxMSwgMTIpOwordGVzdENhc2UocmVz
dWx0LCAxMTEgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiBjMSArIGMyLCB5KSIpOworCit2YXIgYXJyb3dGdW5j
dGlvbjQgPSB2ID0+IHYgKyAxLCB4eXoxID0gMTAxMDE7CityZXN1bHQgPSBhcnJvd0Z1bmN0aW9u
NCgxMDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAxMiAsIkVycm9yOiBOb3QgY29ycmVjdCBwYXJz
aW5nIG9mIHRoIGFycm93IGZ1bmN0aW9uIGluc2lkZSBvZiB0aGUgbGlzdCBvZiB2YXJzOiB2YXIg
YWYgPSB2PT4gdiArIDE7IHp4Yz1jOyIpOwordGVzdENhc2UoeHl6MSwgMTAxMDEgLCJFcnJvcjog
Tm90IGNvcnJlY3QgcGFyc2luZyBvZiB0aCBhcnJvdyBmdW5jdGlvbiBpbnNpZGUgb2YgdGhlIGxp
c3Qgb2YgdmFyczogdmFyIGFmID0gdj0+IHYgKyAxOyB6eGM9YzsiKTsKKwordmFyIGFmd3JhcHBl
cjIgPSBmdW5jdGlvbiAoY2wsIHBhcmFtdGVyMSwgcGFyYW10ZXIyKSB7IHJldHVybiBjbChwYXJh
bXRlcjEsIHBhcmFtdGVyMik7IH07CityZXN1bHQgPSBhZndyYXBwZXIyKCh4LCB5KSA9PiB4ICsg
eSwgMTIgLDQzKTsKK3Rlc3RDYXNlKHJlc3VsdCwgNTUgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhl
Y3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbWV0ZXI6IGYoKHgsIHkpID0+IHgg
KyB5LCBjMSwgYzIpIik7CisKK3ZhciBhZkFycjAgPSBbdiA9PiB2ICogMTBdOworcmVzdWx0ID0g
YWZBcnIwWzBdKDEwKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0
IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogW3Y9PnYq
MTBdIik7CisKK3ZhciBhZkFycjEgPSBbdiA9PiB2ICsgMSwgdiA9PiB2ICsgMl07CityZXN1bHQg
PSBhZkFycjFbMF0oMTApOwordGVzdENhc2UocmVzdWx0LCAxMSAsIkVycm9yOiBOb3QgY29ycmVj
dCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFt2ID0+
IHYgKyAxLCAgdiA9PiB2ICsgMl0iKTsKK3Jlc3VsdCA9IGFmQXJyMVsxXSgxMSk7Cit0ZXN0Q2Fz
ZShyZXN1bHQsIDEzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogW3YgPT4gdiArIDEsICB2ID0+IHYgKyAyXSIpOwor
Cit2YXIgYWZBcnIyID0gWyh2KSA9PiB2ICsgMSwgKHYpID0+IHYgKyAyXTsKK3Jlc3VsdCA9IGFm
QXJyMlswXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogWyh2KSA9PiB2
ICsgMSwgICh2KSA9PiB2ICsgMl0iKTsKK3Jlc3VsdCA9IGFmQXJyMlsxXSgxMSk7Cit0ZXN0Q2Fz
ZShyZXN1bHQsIDEzICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogWyh2KSA9PiB2ICsgMSwgICh2KSA9PiB2ICsgMl0i
KTsKKwordmFyIGFmQXJyMyA9IFsoKSA9PiAxMDEsICgpID0+IDEyMzIzXTsKK3Jlc3VsdCA9IGFm
QXJyM1swXSgxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMSwgIkVycm9yOiBOb3QgY29ycmVjdCBl
eGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIGl0ZW0gaW4gYXJyYXk6IFsoKSA9PiBj
MSwgICgpID0+IGMyXSIpOworcmVzdWx0ID0gYWZBcnIzWzFdKDExKTsKK3Rlc3RDYXNlKHJlc3Vs
dCwgMTIzMjMsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKCkgPT4gYzEsICAoKSA9PiBjMl0iKTsKKwordmFyIGFm
T2JqID0ge2Z1bmMgOiB5ID0+IHkgKyAxMn07CityZXN1bHQgPSBhZk9iai5mdW5jKDExKTsKK3Rl
c3RDYXNlKHJlc3VsdCwgMjMgLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUg
YXJyb3cgZnVuY3Rpb24gYXMgcHJvcGVydHk6IHtmdW5jIDogeSA9PiB5ICsgMTIgfSIpOworCit2
YXIgYWZCbG9jazAgPSAoKSA9PiB7IHJldHVybiAxMDAwOyB9OworcmVzdWx0ID0gYWZCbG9jazAo
MTEpOwordGVzdENhc2UocmVzdWx0LCAxMDAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlv
biBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gd2l0aCBib2R5IGFzIGJsb2NrOiAoKSA9PiB7IHJldHVy
biAxMDAwOyB9Iik7CisKK3ZhciBhZkJsb2NrMSA9IHYgPT4geyB2YXIgaW50dmFsID0gMTAwOyBy
ZXR1cm4gdiAqIGludHZhbDsgfTsKK3Jlc3VsdCA9IGFmQmxvY2sxKDExKTsKK3Rlc3RDYXNlKHJl
c3VsdCwgMTEwMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1
bmN0aW9uIHdpdGggYm9keSBhcyBibG9jazogeCA9PiB7IHZhciB2PTEwMDA7IHJldHVybiB2Kng7
IH0iKTsKKwordmFyIGFmQmxvY2syID0gKHYpID0+IHsgdmFyIGludCA9IDIwMDsgcmV0dXJuIHYg
KiBpbnQ7IH07CityZXN1bHQgPSBhZkJsb2NrMigxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDIyMDAg
LCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRo
IGJvZHkgYXMgYmxvY2s6ICh4KSA9PiB7IHZhciB2PTEwMDA7IHJldHVybiB2Kng7IH0iKTsKKwor
dmFyIGFmQmxvY2szID0gKHYsIHgpID0+IHsgdmFyIHJlc3VsdCA9IHggKiB2OyByZXR1cm4gcmVz
dWx0OyB9OworcmVzdWx0ID0gYWZCbG9jazMoMTEsIDEyMjIyKTsKK3Rlc3RDYXNlKHJlc3VsdCwg
MTM0NDQyICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gd2l0aCBib2R5IGFzIGJsb2NrOiAodiwgeCkgPT4geyB2YXIgcmVzdWx0ID0geCAqIHY7IHJl
dHVybiByZXN1bHQ7IH0iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi10ZHouanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tdGR6LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU5ZDM1Y2RlYTRiYWY2
Njc0MzFhZjhhYmU4ZGFkZjIyZDA0YjkwZTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tdGR6LmpzCkBAIC0wLDAgKzEs
MjQgQEAKK3ZhciBBID0gY2xhc3MgQSB7IH07Cit2YXIgQiA9IGNsYXNzIEIgZXh0ZW5kcyBBIHsK
KyAgY29uc3RydWN0b3IoYWNjZXNzVGhpc0JlZm9yZVN1cGVyKSB7CisgICAgaWYgKGFjY2Vzc1Ro
aXNCZWZvcmVTdXBlcikgeworICAgICAgdmFyIGYgPSAoKSA9PiB0aGlzOworICAgICAgc3VwZXIo
KTsKKyAgICB9IGVsc2UgeworICAgICAgc3VwZXIoKTsKKyAgICB9CisgIH0KK307CisKK3ZhciBl
eGNlcHRpb24gPSBudWxsOwordHJ5IHsKKyAgICAgbmV3IEIodHJ1ZSk7Cit9IGNhdGNoIChlKSB7
CisgICAgZXhjZXB0aW9uID0gZTsKKyAgICBpZiAoIShlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJy
b3IpKQorICAgICAgICB0aHJvdyAiRXhjZXB0aW9uIHRocm93biB3YXMgbm90IGEgcmVmZXJlbmNl
IGVycm9yIjsKK30KK2lmICghZXhjZXB0aW9uKQorICAgIHRocm93ICJFeGNlcHRpb24gbm90IHRo
cm93biBmb3IgYW4gdW5pdGlhbGl6ZWQgdGhpcyBhdCBpdGVyYXRpb24iOworCit2YXIgZSA9IG5l
dyBCKGZhbHNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi10eXBlb2YuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tdHlwZW9mLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVmMmE3ZjU0NDc2YWJh
OWMyODkyM2MzNWYxZGIzYzQzMjdhYzk0NjkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tdHlwZW9mLmpzCkBAIC0wLDAg
KzEsMjEgQEAKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNz
YWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSAr
ICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICIn
IjsKKyAgfQorfTsKKwordmFyIGFmMSA9ICgpID0+IHt9OwordmFyIGFmMiA9IChhKSA9PiB7YSAr
IDF9OworCit0ZXN0Q2FzZSh0eXBlb2YgYWYxLCAiZnVuY3Rpb24iLCAiRXJyb3I6IE5vdCBjb3Jy
ZWN0IHR5cGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMxIik7Cit0ZXN0Q2FzZSh0eXBlb2YgYWYx
LnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5lZCcsIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVz
dWx0IGZvciBwcm90b3R5cGUgb2YgYXJyb3cgZnVuY3Rpb24gIzEiKTsKKwordGVzdENhc2UodHlw
ZW9mIGFmMiwgImZ1bmN0aW9uIiwgIkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbiAjMiIpOwordGVzdENhc2UodHlwZW9mIGFmMi5wcm90b3R5cGUgPT09ICd1bmRl
ZmluZWQnLCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJvdG90eXBlIG9m
IGFycm93IGZ1bmN0aW9uICMyIik7CisKK3Rlc3RDYXNlKHR5cGVvZiAoKCk9Pnt9KSwgImZ1bmN0
aW9uIiwgIkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMyIp
OwordGVzdENhc2UodHlwZW9mICgoKT0+e30pLnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5lZCcsIHRy
dWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBwcm90b3R5cGUgb2YgYXJyb3cgZnVu
Y3Rpb24gIzMiKTsKKworCit0ZXN0Q2FzZSh0eXBlb2YgKChiKSA9PiB7YiArIDF9KSwgImZ1bmN0
aW9uIiwgIkVycm9yOiBOb3QgY29ycmVjdCB0eXBlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNCIp
OwordGVzdENhc2UodHlwZW9mICgoYikgPT4ge2IgKyAxfSkucHJvdG90eXBlID09PSAndW5kZWZp
bmVkJywgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBh
cnJvdyBmdW5jdGlvbiAjNCIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvRmVhdHVyZURl
ZmluZXMuaCBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKaW5kZXggNDA0NDFiNTY0
NGQ5MDlkOWUzMzY3MTExYzA0ZjIzZWM5Y2UxZDE5ZC4uMDUzMjg5NjkyOTZkMDMwOWIyNThlNGUw
MjM2ZjAyY2I4NGZjZjE2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmlu
ZXMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCkBAIC0zNCwxOSArMzQs
MTkgQEAKICAqICAtICIxIiBlbmFibGVzIHRoZSBmZWF0dXJlIGJ5IGRlZmF1bHQuIFRoZSBmZWF0
dXJlIGNhbiBzdGlsbCBiZSBkaXNhYmxlZCBmb3IgYSBzcGVjaWZpYyBwb3J0IG9yIGVudmlyb25t
ZW50LgogICoKICAqIFRoZSBmZWF0dXJlIGRlZmF1bHRzIGluIHRoaXMgZmlsZSBhcmUgb25seSB0
YWtlbiBpbnRvIGFjY291bnQgaWYgdGhlIChwb3J0IHNwZWNpZmljKSBidWlsZCBzeXN0ZW0KLSAq
IGhhcyBub3QgZW5hYmxlZCBvciBkaXNhYmxlZCBhIHBhcnRpY3VsYXIgZmVhdHVyZS4gCisgKiBo
YXMgbm90IGVuYWJsZWQgb3IgZGlzYWJsZWQgYSBwYXJ0aWN1bGFyIGZlYXR1cmUuCiAgKgogICog
VXNlIHRoaXMgZmlsZSB0byBkZWZpbmUgRU5BQkxFKCkgbWFjcm9zIG9ubHkuIERvIG5vdCB1c2Ug
dGhpcyBmaWxlIHRvIGRlZmluZSBVU0UoKSBvciBtYWNyb3MgIQogICoKICAqIE9ubHkgZGVmaW5l
IGEgbWFjcm8gaWYgaXQgd2FzIG5vdCBkZWZpbmVkIGJlZm9yZSAtIGFsd2F5cyBjaGVjayBmb3Ig
IWRlZmluZWQgZmlyc3QuCi0gKiAKKyAqCiAgKiBLZWVwIHRoZSBmaWxlIHNvcnRlZCBieSB0aGUg
bmFtZSBvZiB0aGUgZGVmaW5lcy4gQXMgYW4gZXhjZXB0aW9uIHlvdSBjYW4gY2hhbmdlIHRoZSBv
cmRlcgogICogdG8gYWxsb3cgaW50ZXJkZXBlbmRlbmNpZXMgYmV0d2VlbiB0aGUgZGVmYXVsdCB2
YWx1ZXMuCi0gKiAKKyAqCiAgKiBCZWxvdyBhcmUgYSBmZXcgcG90ZW50aWFsIGNvbW1hbmRzIHRv
IHRha2UgYWR2YW50YWdlIG9mIHRoaXMgZmlsZSBydW5uaW5nIGZyb20gdGhlIFNvdXJjZS9XVEYg
ZGlyZWN0b3J5CiAgKgogICogR2V0IHRoZSBsaXN0IG9mIGZlYXR1cmUgZGVmaW5lczogZ3JlcCAt
byAiRU5BQkxFX1woXHdcK1wpIiB3dGYvRmVhdHVyZURlZmluZXMuaCB8IHNvcnQgfCB1bmlxCi0g
KiBHZXQgdGhlIGxpc3Qgb2YgZmVhdHVyZXMgZW5hYmxlZCBieSBkZWZhdWx0IGZvciBhIFBMQVRG
T1JNKFhYWCk6IGdjYyAtRSAtZE0gLUkuIC1EV1RGX1BMQVRGT1JNX1hYWCAid3RmL1BsYXRmb3Jt
LmgiIHwgZ3JlcCAiRU5BQkxFX1x3XCsgMSIgfCBjdXQgLWQnICcgLWYyIHwgc29ydCAKKyAqIEdl
dCB0aGUgbGlzdCBvZiBmZWF0dXJlcyBlbmFibGVkIGJ5IGRlZmF1bHQgZm9yIGEgUExBVEZPUk0o
WFhYKTogZ2NjIC1FIC1kTSAtSS4gLURXVEZfUExBVEZPUk1fWFhYICJ3dGYvUGxhdGZvcm0uaCIg
fCBncmVwICJFTkFCTEVfXHdcKyAxIiB8IGN1dCAtZCcgJyAtZjIgfCBzb3J0CiAgKi8KIAogLyog
RklYTUU6IE1vdmUgb3V0IHRoZSBQTEFURk9STSBzcGVjaWZpYyBydWxlcyBpbnRvIHBsYXRmb3Jt
IHNwZWNpZmljIGZpbGVzLiAqLwpAQCAtMzQ1LDYgKzM0NSwxMCBAQCB0aGUgcHVibGljIGlPUyBT
REsuIFdlIHdpbGwgYWxzbyBuZWVkIHRvIHVwZGF0ZSB0aGUgRmVhdHVyZURlZmluZXMueGNjb25m
aWcgZmlsZQogI2RlZmluZSBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgMQogI2VuZGlmCiAKKyNp
ZiAhZGVmaW5lZChFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorI2RlZmluZSBFTkFC
TEVfRVM2X0NMQVNTX1NZTlRBWCAxCisjZW5kaWYKKwogI2lmICFkZWZpbmVkKEVOQUJMRV9FUzZf
Q0xBU1NfU1lOVEFYKQogI2RlZmluZSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCAxCiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKaW5kZXggZmM5MGY2MTE1NjIzMWE0MWNhOTEzN2YxN2M3OTU1ZThkMzczYjBlYS4u
MGM4ODQwZjZhYjUxODVmODM1NGI3MDYwM2UwMjVmMjVhMmE3OWY0YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIv
U291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAg
LTQ0LDYgKzQ0LDcgQEAgRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORyA9IEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkc7CiBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBF
TkFCTEVfQ0FOVkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxF
X0NIQU5ORUxfTUVTU0FHSU5HOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVO
QUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9
IEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYOwogRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZ
TlRBWCA9IEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVg7CiBFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CkBAIC0yMTUsNCArMjE2LDQg
QEAgRU5BQkxFX0pJVCA9IEVOQUJMRV9KSVQ7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FS
SVRITUVUSUMgPSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFC
TEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NB
Q0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19Q
Uk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5U
QVgpICQoRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVO
VF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19M
RVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19D
T01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
R1JJRF9MQVlPVVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NT
X0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VM
RUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAk
KEVOQUJMRV9DU1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkp
ICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBP
UlQpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRF
TVMpICQoRU5BQkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9O
KSAkKEVOQUJMRV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxf
MikgJChFTkFCTEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQo
RU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVO
QUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChF
TkFCTEVfSU5ESUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9U
SU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9B
VVRPU0laSU5HKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NT
X1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X0xFR0FDWV9WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5B
QkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwp
ICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAk
KEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
TE9DSykgJChFTkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5B
QkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1Rf
QU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVf
UkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFC
TEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BF
RUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQ
VE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5B
QkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5U
KSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFC
TEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFC
TEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykg
JChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChF
TkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChF
TkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9U
SU1JTkcpICQoRU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChF
TkFCTEVfWFNMVCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TQVRV
UkFURURfTEFZT1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RF
KTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FD
Q0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xM
SU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkg
JChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFC
TEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJM
RV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5H
KSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChF
TkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcp
ICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VU
KSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNP
TFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZF
TDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NT
M19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9D
VVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJM
RV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJM
RV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVf
RE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxF
X0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1F
UEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAk
KEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRB
VEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElF
X1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
X1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQo
RU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQo
RU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJF
RklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVO
RE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQ
UkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9N
RURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVE
SUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQo
RU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJ
TFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJ
T05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5B
QkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNf
U1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9G
UkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQ
RUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9C
QU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVT
SVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJM
RV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhP
TkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lD
T05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxF
Q1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RB
VEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdM
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9T
T0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVO
QUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQp
ICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9V
VF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYWNk
ZjkwNTYzMzg1OTZiODEzNDg2MzA0ZjY3MWQyZGNlNWM5MGVjNi4uNzIzMTIyOGUzMmZiYWVhOGYy
NDc0NmU5ODY1ODFmNWI4MDZjYTg2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTYwMSw5ICsxNjAxLDkgQEAKIAkJNDQzMTFD
RDkxMkU0RTI1NzAwMEE4RDE5IC8qIERPTURvY3VtZW50RnJhZ21lbnRQcml2YXRlLmggaW4gQ29w
eSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
NDMxMUNENDEyRTRFMjJEMDAwQThEMTkgLyogRE9NRG9jdW1lbnRGcmFnbWVudFByaXZhdGUuaCAq
LzsgfTsKIAkJNDQzMTFGODIxMkU0RTY2QzAwMEE4RDE5IC8qIERPTURvY3VtZW50RnJhZ21lbnRJ
bnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODVFNzExNDUwQUM1RDUzNDAwNTMyNzBGIC8qIERPTURvY3VtZW50RnJhZ21lbnRJbnRlcm5hbC5o
ICovOyB9OwogCQk0NDM4MTdGRjFBOTFCMkY4MDA2RTA0RjIgLyogQ29yZU1lZGlhU29mdExpbmsu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzODE3
RkQxQTkxQjJGODAwNkUwNEYyIC8qIENvcmVNZWRpYVNvZnRMaW5rLmNwcCAqLzsgfTsKLQkJNDQz
OTE3RkYxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzOTE3RkQxQTkxQjJGODAwNkUw
NEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tICovOyB9OwogCQk0NDM4MTgwMDFBOTFCMkY4MDA2
RTA0RjIgLyogQ29yZU1lZGlhU29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ0MzgxN0ZFMUE5MUIyRjgwMDZFMDRGMiAvKiBDb3JlTWVkaWFT
b2Z0TGluay5oICovOyB9OwotCQk0NDM5MTgwMDFBOTFCMkY4MDA2RTA0RjIgLyogUXVpY2tMb29r
U29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ0MzkxN0ZFMUE5MUIyRjgwMDZFMDRGMiAvKiBRdWlja0xvb2tTb2Z0TGluay5oICovOyB9Owor
CQk0NDM5MTdGRjFBOTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzOTE3RkQxQTkx
QjJGODAwNkUwNEYyIC8qIGlvcy9RdWlja0xvb2tTb2Z0TGluay5tbSAqLzsgfTsKKwkJNDQzOTE4
MDAxQTkxQjJGODAwNkUwNEYyIC8qIGlvcy9RdWlja0xvb2tTb2Z0TGluay5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzOTE3RkUxQTkxQjJGODAwNkUw
NEYyIC8qIGlvcy9RdWlja0xvb2tTb2Z0TGluay5oICovOyB9OwogCQk0NDNGMDQyNzBFNzVDOEZC
MDA3RTU0MDcgLyogTmV0d29ya1N0YXRlTm90aWZpZXJJT1MubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDNGMDQyNjBFNzVDOEZCMDA3RTU0MDcgLyog
TmV0d29ya1N0YXRlTm90aWZpZXJJT1MubW0gKi87IH07CiAJCTQ0NDlBNDA1MUE5NjRCMDAwMEI2
NEFENSAvKiBDb3JlTWVkaWFTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ0NDlBNDA0MUE5NjRCMDAwMEI2NEFENSAvKiBDb3JlTWVkaWFTUEkuaCAq
LzsgfTsKIAkJNDQ0RDRFMjMwRjcwOEIyRTAwMzE1OEUwIC8qIFdlYkNvcmVVUkxSZXNwb25zZUlP
Uy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0NEQ0
RTIxMEY3MDhCMkUwMDMxNThFMCAvKiBXZWJDb3JlVVJMUmVzcG9uc2VJT1MubW0gKi87IH07CkBA
IC04NzcyLDkgKzg3NzIsOSBAQAogCQk0NDMxMUNENDEyRTRFMjJEMDAwQThEMTkgLyogRE9NRG9j
dW1lbnRGcmFnbWVudFByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
RE9NRG9jdW1lbnRGcmFnbWVudFByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDQzMTFDRDUxMkU0RTIyRDAwMEE4RDE5IC8qIERPTURvY3VtZW50UHJpdmF0ZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01Eb2N1bWVudFByaXZhdGUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQzODE3RkQxQTkxQjJGODAwNkUwNEYyIC8qIENvcmVN
ZWRpYVNvZnRMaW5rLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENv
cmVNZWRpYVNvZnRMaW5rLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDQzOTE3
RkQxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDM4MTdGRTFBOTFCMkY4MDA2RTA0RjIgLyogQ29y
ZU1lZGlhU29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29yZU1l
ZGlhU29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDQzOTE3RkUxQTkx
QjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IGlvcy9RdWlja0xvb2tTb2Z0TGluay5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0NDM5MTdGRDFBOTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRM
aW5rLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gaW9zL1F1aWNr
TG9va1NvZnRMaW5rLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NDM5MTdGRTFB
OTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IGlvcy9RdWlja0xvb2tTb2Z0TGluay5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0NDNGMDQyNjBFNzVDOEZCMDA3RTU0MDcgLyogTmV0d29ya1N0YXRl
Tm90aWZpZXJJT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBO
ZXR3b3JrU3RhdGVOb3RpZmllcklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDQ0OUE0MDQxQTk2NEIwMDAwQjY0QUQ1IC8qIENvcmVNZWRpYVNQSS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBDb3JlTWVkaWFTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDQ0RDRFMjEwRjcwOEIyRTAwMzE1OEUwIC8qIFdlYkNvcmVVUkxSZXNwb25zZUlP
Uy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkNvcmVVUkxS
ZXNwb25zZUlPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4ODYzLDggKzE4
ODYzLDggQEAKIAkJCQlDNTI3OEIwQjE3RjIxMkVBMDAzQTI5OTggLyogUGxhdGZvcm1QYXN0ZWJv
YXJkSU9TLm1tICovLAogCQkJCUU0NTM5MDMyMEVBRkQ2MzcwMDM2OTVDOCAvKiBQbGF0Zm9ybVNj
cmVlbklPUy5tbSAqLywKIAkJCQlBQUUzNzU1RDE3NDI5QkNDMDA2MjAwQzIgLyogUGxhdGZvcm1T
cGVlY2hTeW50aGVzaXplcklPUy5tbSAqLywKLQkJCQk0NDM5MTdGRTFBOTFCMkY4MDA2RTA0RjIg
LyogUXVpY2tMb29rU29mdExpbmsuaCAqLywKLQkJCQk0NDM5MTdGRDFBOTFCMkY4MDA2RTA0RjIg
LyogUXVpY2tMb29rU29mdExpbmsubW0gKi8sCisJCQkJNDQzOTE3RkUxQTkxQjJGODAwNkUwNEYy
IC8qIGlvcy9RdWlja0xvb2tTb2Z0TGluay5oICovLAorCQkJCTQ0MzkxN0ZEMUE5MUIyRjgwMDZF
MDRGMiAvKiBpb3MvUXVpY2tMb29rU29mdExpbmsubW0gKi8sCiAJCQkJQ0RGQzM2MDExOENBNjE2
MzAwMjZFNTZGIC8qIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5oICovLAogCQkJCUNERkMzNjAy
MThDQTYxNjMwMDI2RTU2RiAvKiBSZW1vdGVDb21tYW5kTGlzdGVuZXJJT1MubW0gKi8sCiAJCQkJ
NDRDMzYzRUUwRkFBN0JCMzAwOTdGOENDIC8qIFJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0lPUy5o
ICovLApAQCAtMjYwNzEsNyArMjYwNzEsNyBAQAogCQkJCTU1MEEwQkNBMDg1RjYwMzkwMDczNTNE
NiAvKiBRdWFsaWZpZWROYW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRTEyNTIzRDFBMTY3NkNE
MDA4NjQ0ODAgLyogUXVhcnR6Q29yZVNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDQyQUY3QTkx
MDJDRERFQTAwOEZENEQzIC8qIFF1aWNrTG9vay5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDQzOTE4
MDAxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLmggaW4gSGVhZGVycyAqLywK
KwkJCQk0NDM5MTgwMDFBOTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBMTQ5Nzg2RjFBQkFGMzM4MDBDRUY3RTQgLyogQ29udGVudEZp
bHRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0UxMjUyMzkxQTE2NkZBMDAwODY0NDgwIC8qIFF1
aWNrTG9va1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTEwREJGNDcxOEY5MjMxNzAwMEQ3MEM2
IC8qIFF1aWNrTG9va0hhbmRsZUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yOTU3NSw3ICsy
OTU3NSw3IEBACiAJCQkJQ0RFRTM5MzcxNzk3NDI1OTAwMUQ3NTgwIC8qIFB1YmxpY1VSTE1hbmFn
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTUwQTBCQzkwODVGNjAzOTAwNzM1M0Q2IC8qIFF1
YWxpZmllZE5hbWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDQyQUY3QUExMDJDRERFQTAwOEZE
NEQzIC8qIFF1aWNrTG9vay5tbSBpbiBTb3VyY2VzICovLAotCQkJCTQ0MzkxN0ZGMUE5MUIyRjgw
MDZFMDRGMiAvKiBRdWlja0xvb2tTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAorCQkJCTQ0Mzkx
N0ZGMUE5MUIyRjgwMDZFMDRGMiAvKiBpb3MvUXVpY2tMb29rU29mdExpbmsubW0gaW4gU291cmNl
cyAqLywKIAkJCQkwNzJBRTFFNjE4M0MwNzQxMDAwQTU5ODggLyogUXVpY2tUaW1lUGx1Z2luUmVw
bGFjZW1lbnQubW0gaW4gU291cmNlcyAqLywKIAkJCQkzNzlFMzcxNjEzNzM2QTY2MDBCOUU5MTkg
LyogUXVvdGVkUHJpbnRhYmxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTVBNTc0RjI4MTMxREI5
NkQwMDQ3MUI4OCAvKiBRdW90ZXNEYXRhLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZwppbmRleCBmYzkwZjYxMTU2MjMxYTQxY2E5MTM3ZjE3Yzc5NTVlOGQzNzNiMGVhLi4wYzg4NDBm
NmFiNTE4NWY4MzU0YjcwNjAzZTAyNWYyNWEyYTc5ZjRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAt
NDQsNiArNDQsNyBAQCBFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HID0gRU5BQkxFX0NBQ0hFX1BB
UlRJVElPTklORzsKIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVO
QUJMRV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkc7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5B
QkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0g
RU5BQkxFX0VTNl9DTEFTU19TWU5UQVg7CiBFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lO
VEFYID0gRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWDsKIEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKQEAgLTIxNSw0ICsyMTYsNCBA
QCBFTkFCTEVfSklUID0gRU5BQkxFX0pJVDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJ
VEhNRVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVf
REVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJE
X0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJM
RV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FD
SEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BS
T1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRB
WCkgJChFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xF
VkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NP
TVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19H
UklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxF
Q1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkg
JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
UykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVO
QUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJ
TUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
TEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9B
TklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQp
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVO
QUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVO
QUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX1NBVFVS
QVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUp
OworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUND
RUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJ
TkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAk
KEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJM
RV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxF
X0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcp
ICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVO
QUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykg
JChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQp
ICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09M
VVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVM
NCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1Mz
X1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NV
U1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxF
X0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxF
X0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9E
T000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJM
RV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVf
Rk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQ
QUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFU
QUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVf
VUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Jf
UE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RB
VEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChF
TkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChF
TkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAk
KEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVG
SVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5E
T1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBS
RVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01F
RElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJ
QV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChF
TkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElM
UykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFC
TEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19T
VUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZS
QU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BF
Q1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JB
TkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJ
UykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxF
X1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9O
RV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNP
Tl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVD
VF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFU
QUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wp
ICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NP
Q0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5B
QkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkg
JChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VU
X0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
IGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcK
aW5kZXggZmM5MGY2MTE1NjIzMWE0MWNhOTEzN2YxN2M3OTU1ZThkMzczYjBlYS4uMGM4ODQwZjZh
YjUxODVmODM1NGI3MDYwM2UwMjVmMjVhMmE3OWY0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dl
YktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKQEAgLTQ0LDYgKzQ0
LDcgQEAgRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORyA9IEVOQUJMRV9DQUNIRV9QQVJUSVRJT05J
Tkc7CiBFTkFCTEVfQ0FOVkFTX1BBVEggPSBFTkFCTEVfQ0FOVkFTX1BBVEg7CiBFTkFCTEVfQ0FO
VkFTX1BST1hZID0gOwogRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HOworRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCA9IEVOQUJMRV9FUzZf
QVJST1dGVU5DVElPTl9TWU5UQVg7CiBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCA9IEVOQUJMRV9F
UzZfQ0xBU1NfU1lOVEFYOwogRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCA9IEVO
QUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVg7CiBFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
TkcgPSBFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkc7CkBAIC0yMTUsNCArMjE2LDQgQEAgRU5BQkxF
X0pJVCA9IEVOQUJMRV9KSVQ7CiAKIEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMg
PSBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDOwogCi1GRUFUVVJFX0RFRklORVMg
PSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NB
UFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJ
VElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5B
QkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
TkcpICQoRU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAk
KEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElO
RykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlP
VVQpICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JF
U09MVVRJT04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xF
VkVMNCkgJChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9D
U1MzX1RFWFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxF
X0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5B
QkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5B
QkxFX0RFVEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9ET000X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9FTkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFC
TEVfRk9OVF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dB
TUVQQUQpICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09O
REFUQUJBU0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5E
SUVfVUkpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1JfUE9QT1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkg
JChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkg
JChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5H
KSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9W
RU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRF
UlBSRVNTKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxF
X01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9N
RURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkg
JChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9V
VElMUykgJChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNB
VElPTlMpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChF
TkFCTEVfUFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJ
Q19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9O
X0ZSQU1FKSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lO
U1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVS
X0JBTkRJTkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRI
RVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5B
QkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQ
SE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJM
RV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hf
SUNPTl9MT0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNF
TEVDVF9BTEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVf
REFUQUNVRV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VC
R0wpICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VC
X1NPQ0tFVFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQo
RU5BQkxFX1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNM
VCkgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZ
T1VUX0FSSVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKK0ZFQVRV
UkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVO
QUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFT
X1BST1hZKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfVEVN
UExBVEVfTElURVJBTF9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJM
RV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NT
X0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxF
X0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJM
RV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAk
KEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5B
QkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJ
TkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NI
RU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxT
X0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVO
VFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9B
RF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVO
QUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9I
SURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAk
KEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9J
TkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lO
UFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lP
U19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVf
SU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJ
WEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChF
TkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05U
Uk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElT
VElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01P
VVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5B
QkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01J
U0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJ
U1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChF
TkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQo
RU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAk
KEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5B
QkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9O
VFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVS
X0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRP
U0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElO
RykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAk
KEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFM
VUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJM
RV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAk
KEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJW
VFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxF
X0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1F
VElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UgYi9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVy
ZXMuY21ha2UKaW5kZXggYmNiMzlhZWQ3Y2Y3MmQ1NmUwMTlkZDIwNTk2ZmFkMzY5NzNiODgwMS4u
YWUxM2QxZGQxYjVkYTE4NDJmNTczODA5Mjk4YWFmOGM3YmEwNjM3ZSAxMDA2NDQKLS0tIGEvU291
cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9XZWJLaXRG
ZWF0dXJlcy5jbWFrZQpAQCAtNzEsNiArNzEsNyBAQCBtYWNybyhXRUJLSVRfT1BUSU9OX0JFR0lO
KQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9EUkFHX1NVUFBPUlQgIlRvZ2dsZSBE
cmFnIFN1cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJM
RV9FTkNSWVBURURfTUVESUEgIlRvZ2dsZSBFTUUgc3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAg
V0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMiAiU3VwcG9ydCBF
TUUgdjIiIFBSSVZBVEUgT0ZGKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9FUzZf
QVJST1dGVU5DVElPTl9TWU5UQVggIlRvZ2dsZSBFUzYgYXJyb3cgZnVuY3Rpb24gc3ludGF4IHN1
cHBvcnQiIE9OKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9FUzZfQ0xBU1NfU1lO
VEFYICJUb2dnbGUgRVM2IGNsYXNzIHN5bnRheCBzdXBwb3J0IiBQUklWQVRFIE9OKQogICAgIFdF
QktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVggIlRv
Z2dsZSBFUzYgdGVtcGxhdGUgbGl0ZXJhbCBzeW50YXggc3VwcG9ydCIgUFJJVkFURSBPTikKICAg
ICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfRklMVEVSU19MRVZFTF8yICJUb2dnbGUgRmls
dGVycyBNb2R1bGUgTGV2ZWwgMiIgUFJJVkFURSBPRkYpCkBAIC0xNjgsNyArMTY5LDYgQEAgbWFj
cm8oV0VCS0lUX09QVElPTl9CRUdJTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVf
WEhSX1RJTUVPVVQgIlRvZ2dsZSBYSFIgdGltZW91dCBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAg
ICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfWFNMVCAiVG9nZ2xlIFhTTFQgc3VwcG9ydCIg
UFJJVkFURSBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShVU0VfU1lTVEVNX01BTExPQyAi
VG9nZ2xlIHN5c3RlbSBhbGxvY2F0b3IgaW5zdGVhZCBvZiBXZWJLaXQncyBjdXN0b20gYWxsb2Nh
dG9yIiBQUklWQVRFIE9GRikKLQogICAgIFdFQktJVF9PUFRJT05fREVQRU5EKEVOQUJMRV9FTkNS
WVBURURfTUVESUFfVjIgRU5BQkxFX1ZJREVPKQogICAgIFdFQktJVF9PUFRJT05fREVQRU5EKEVO
QUJMRV9ERkdfSklUIEVOQUJMRV9KSVQpCiAgICAgV0VCS0lUX09QVElPTl9ERVBFTkQoRU5BQkxF
X0ZUTF9OQVRJVkVfQ0FMTF9JTkxJTklORyBFTkFCTEVfRlRMX0pJVCkKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cGVybC9GZWF0dXJlTGlzdC5wbQppbmRleCBlNzgxZTYwNDQ2ZjI0MzdlNDE2OWQ1M2RkMzMw
MmJmYTgyYWJkMDc1Li44NmExNmFjMTgwMjM2NWE2Zjk5ZTgzODE5NWFjYTBkZDU3YWY4MDk4IDEw
MDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCkBAIC00NCw2ICs0NCw3IEBA
IEJFR0lOIHsKIG15ICgKICAgICAkdGhyZWVEVHJhbnNmb3Jtc1N1cHBvcnQsCiAgICAgJGFjY2Vs
ZXJhdGVkMkRDYW52YXNTdXBwb3J0LAorICAgICRhcnJvd2Z1bmN0aW9uU3ludGF4LAogICAgICRh
dHRhY2htZW50RWxlbWVudFN1cHBvcnQsCiAgICAgJGJhdHRlcnlTdGF0dXNTdXBwb3J0LAogICAg
ICRjYW52YXNQYXRoU3VwcG9ydCwKQEAgLTE1NSw5ICsxNTYsMTMgQEAgbXkgQGZlYXR1cmVzID0g
KAogICAgIHsgb3B0aW9uID0+ICJhY2NlbGVyYXRlZC0yZC1jYW52YXMiLCBkZXNjID0+ICJUb2dn
bGUgQWNjZWxlcmF0ZWQgMkQgQ2FudmFzIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTIiwgZGVmYXVsdCA9PiBpc0d0aygpLCB2YWx1ZSA9PiBc
JGFjY2VsZXJhdGVkMkRDYW52YXNTdXBwb3J0IH0sCiAKKyAgICB7IG9wdGlvbiA9PiAiYXJyb3dm
dW5jdGlvbi1zeW50YXgiLCBkZXNjID0+ICJUb2dnbGUgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRh
eCBzdXBwb3J0IiwKKyAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCIsIGRlZmF1bHQgPT4gMSwgdmFsdWUgPT4gXCRhcnJvd2Z1bmN0aW9uU3ludGF4IH0sCisK
ICAgICB7IG9wdGlvbiA9PiAiYXR0YWNobWVudC1lbGVtZW50IiwgZGVzYyA9PiAiVG9nZ2xlIEF0
dGFjaG1lbnQgRWxlbWVudCBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0FUVEFD
SE1FTlRfRUxFTUVOVCIsIGRlZmF1bHQgPT4gMCwgdmFsdWUgPT4gXCRhdHRhY2htZW50RWxlbWVu
dFN1cHBvcnQgfSwKIAorCiAgICAgeyBvcHRpb24gPT4gImJhdHRlcnktc3RhdHVzIiwgZGVzYyA9
PiAiVG9nZ2xlIEJhdHRlcnkgU3RhdHVzIHN1cHBvcnQiLAogICAgICAgZGVmaW5lID0+ICJFTkFC
TEVfQkFUVEVSWV9TVEFUVVMiLCBkZWZhdWx0ID0+IGlzRWZsKCksIHZhbHVlID0+IFwkYmF0dGVy
eVN0YXR1c1N1cHBvcnQgfSwKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252637</attachid>
            <date>2015-05-07 15:38:14 -0700</date>
            <delta_ts>2015-05-13 12:24:19 -0700</delta_ts>
            <desc>Full patch. Used for test build</desc>
            <filename>bug-140855-20150508013654.patch</filename>
            <type>text/plain</type>
            <size>190689</size>
            <attacher name="GSkachkov">gskachkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzOTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
MjgyMmQ1OGU3OGVjODBiYWRjMjg3MmM4NzBmNGQ5NzY1ZjQ2NDU0Li5kMWYyZDMxM2Y3OWE3NWI0
YWY1NzBlODViNmE1ZGExZWNjNzk4ZjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNjYgQEAKKzIwMTUtMDUtMDcgQWxla3NhbmRyIFNrYWNoa292ICA8Z3NrYWNoa292QGdt
YWlsLmNvbT4KKworICAgICAgICAgW0VTNl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MDg1NQorCisgICAgICAgICAqIHBhcnNlci9QYXJzZXIuaDoKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgIEFkZGVkIHN1cHBvcnQgb2YgRVM2IGFycm93IGZ1
bmN0aW9uLiBDaGFuZ2VzIHdlcmUgbWFkZSBhY2NvcmRpbmcgZm9sbG93aW5nIHNwZWMgaHR0cDov
L3dpa2kuZWNtYXNjcmlwdC5vcmcvZG9rdS5waHA/aWQ9aGFybW9ueTphcnJvd19mdW5jdGlvbl9z
eW50YXgKKyAgICAgICAgSW4gcGF0Y2ggd2VyZSBpbXBsZW1lbnRlZCB0aGUgc2ltcGxlc3QgY2Fz
ZXM6CisgICAgICAgICAgMSBubyBwYXJhbWV0ZXJzICAgICAgICAgICAgICAgICgpID0+IDEwICsg
MjAKKyAgICAgICAgICAyIHNpbmdsZSBwYXJhbWV0ZXIgICAgICAgICAgICAgIHggPT4geCArIDIw
CisgICAgICAgICAgMyBtdWx0aXBsZSBwYXJhbWV0ZXJzICAgICAgKHgsIHkpID0+IHggKyB5Cisg
ICAgICAgICAgNCBhcnJvdyBmdW5jdGlvbiB3aXRoIGJsb2NrICAgICB4ID0+IHsgcmV0dXJuIHgq
MTA7IH0KKyAgICAgICAgICA1IGxleGljYWwgdGhpcyAtIHZhcmlhYmxlIHRoaXMgaXMgcG9pbnQg
dG8gdGhlIHRoaXMgb2YgdGhlIGZ1bmN0aW9uIHdoZXJlIGFycm93IGZ1bmN0aW9uIGlzIGRlY2xh
cmVkCisgICAgICAgICAgNiBObyBjb25zdHJ1Y3RvciAtIHRoZSB1c2luZyBvZiB0aGUgY29tbWFu
ZCBuZXcgZm9yIGFycm93IGZ1bmN0aW9uIGxlYWRzIHRvIHJ1bnRpbWUgZXJyb3IuIAorCisgICAg
ICAgICAgTm90IHlldCBpbXBsZW1lbnRlZDoKKyAgICAgICAgICAxIGxleGljYWwgYmluZCBvZiB0
aGUgYXJndW1lbnRzICYgc3VwZXIKKyAgICAgICAgICAyIEluc2lkZSBhbiBhcnJvdyBmdW5jdGlv
biwgbmV3LnRhcmdldCByZWZlcnMgdG8gdGhlIG5ldy50YXJnZXQgb2YgdGhlIHN1cnJvdW5kaW5n
IG5vbi1hcnJvdyBmdW5jdGlvbi4gCisKKyAgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZh
U2NyaXB0Q29yZS52Y3hwcm9qOgorICAgICAgICAqIGJ5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29u
OgorICAgICAgICAqIGJ5dGVjb2RlL0J5dGVjb2RlVXNlRGVmLmg6CisgICAgICAgIChKU0M6OkZ1
bmN0b3I6OmNvbXB1dGVVc2VzRm9yQnl0ZWNvZGVPZmZzZXQpOgorICAgICAgICAqIGJ5dGVjb2Rl
L0NvZGVCbG9jay5jcHA6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6ZHVtcEJ5dGVjb2RlKToK
KyAgICAgICAgKiBieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaDoKKyAgICAgICAgKiBi
eXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29k
ZUdlbmVyYXRvcjo6ZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKTogYWRkZWQKKyAgICAg
ICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRUaGlzTm9kZUJ5dGVjb2RlKTogYWRkZWQK
KyAgICAgICAgKiBieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6
ZW1pdEJ5dGVjb2RlOjplbWl0Qnl0ZWNvZGUpOiBhZGRlZAorICAgICAgICAoSlNDOjpBcnJvd0Z1
bmNFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKTogYWRkZWQKKyAgICAgICAgKiBkZmcvREZHQnl0ZUNv
ZGVQYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayk6
CisgICAgICAgICogZGZnL0RGR0NhcGFiaWxpdGllcy5jcHA6CisgICAgICAgIChKU0M6OkNhcGFi
aWxpdHlMZXZlbDo6Y2FwYWJpbGl0eUxldmVsKToKKyAgICAgICAgKiBqaXQvSklULmg6CisgICAg
ICAgIChKU0M6OkpJVDo6ZW1pdF9vcF9uZXdfYXJyb3dfZnVuY19leHApOiBhZGRlZAorICAgICAg
ICAqIGppdC9KSVRJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkpJVDo6Y2FsbE9wZXJhdGlvbik6
IGFkZGVkCisgICAgICAgICogaml0L0pJVC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0
ZUNvbXBpbGVNYWluUGFzcyk6CisgICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgorICAgICAg
ICAoSlNDOjpKSVQ6OmVtaXRfb3BfbmV3X2Fycm93X2Z1bmNfZXhwKTogYWRkZWQKKyAgICAgICAg
KiBqaXQvSklUT3BlcmF0aW9ucy5jcHA6CisgICAgICAgIChKU0M6OkpJVF9PUEVSQVRJT046Om9w
ZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24pOiBhZGRlZAorICAgICAgICAqIGppdC9KSVRPcGVyYXRp
b25zLmg6CisgICAgICAgIChKU0M6OkpJVF9PUEVSQVRJT046Om9wZXJhdGlvbk5ld0Fycm93RnVu
Y3Rpb24pOiBhZGRlZAorICAgICAgICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAgICAg
ICAgKExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfYXJyb3dfZnVuY19leHApOiBh
ZGRlZAorICAgICAgICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmg6CisgICAgICAgIChMTElOVF9T
TE9XX1BBVEhfREVDTChzbG93X3BhdGhfbmV3X2Fycm93X2Z1bmNfZXhwKSk6IGFkZGVkCisgICAg
ICAgICogbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206CisgICAgICAgICogZGZnL0RGR0Fi
c3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RJ
bnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKToKKyAgICAgICAg
KiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkJ5dGVDb2Rl
UGFyc2VyOjpwYXJzZUJsb2NrKToKKyAgICAgICAgKiBkZmcvREZHQ2FwYWJpbGl0aWVzLmNwcDoK
KyAgICAgICAgKEpTQzo6REZHOjpjYXBhYmlsaXR5TGV2ZWwpOgorICAgICAgICAqIGRmZy9ERkdD
bG9iYmVyaXplLmg6CisgICAgICAgIChKU0M6OkRGRzo6Y2xvYmJlcml6ZSk6CisgICAgICAgICog
ZGZnL0RGR0RvZXNHQy5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6ZG9lc0dDKToKKyAgICAgICAg
KiBkZmcvREZHRml4dXBQaGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Rml4dXBQaGFzZTo6
Zml4dXBOb2RlKToKKyAgICAgICAgKiBkZmcvREZHTm9kZS5oOgorICAgICAgICAoSlNDOjpERkc6
Ok5vZGU6Omhhc0NlbGxPcGVyYW5kKToKKyAgICAgICAgKiBkZmcvREZHTm9kZVR5cGUuaDoKKyAg
ICAgICAgKiBkZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwOgorICAgICAgICAo
SlNDOjpERkc6OlByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlOjpwcm9wYWdhdGUpOgorICAgICAg
ICAqIGRmZy9ERkdTYWZlVG9FeGVjdXRlLmg6CisgICAgICAgIChKU0M6OkRGRzo6c2FmZVRvRXhl
Y3V0ZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmg6CisgICAgICAgIChKU0M6
OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNhbGxPcGVyYXRpb24pOgorICAgICAgICAqIGRmZy9ERkdT
cGVjdWxhdGl2ZUpJVDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJ
VDo6Y29tcGlsZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwOgorICAg
ICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBkZmcv
REZHU3RydWN0dXJlUmVnaXN0cmF0aW9uUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlN0
cnVjdHVyZVJlZ2lzdHJhdGlvblBoYXNlOjpydW4pOgorICAgICAgICAqIGZ0bC9GVExBYnN0cmFj
dEhlYXBSZXBvc2l0b3J5LmNwcDoKKyAgICAgICAgKiBmdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3Np
dG9yeS5oOgorICAgICAgICAqIGZ0bC9GVExDYXBhYmlsaXRpZXMuY3BwOgorICAgICAgICAoSlND
OjpGVEw6OmNhbkNvbXBpbGUpOgorICAgICAgICAqIGZ0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5
Lmg6CisgICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcDoKKyAgICAgICAgKEpTQzo6
RlRMOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZU5vZGUpOgorICAgICAgICAoSlNDOjpGVEw6Okxv
d2VyREZHVG9MTFZNOjpjb21waWxlTmV3QXJyb3dGdW5jdGlvbik6CisgICAgICAgICogcGFyc2Vy
L0FTVEJ1aWxkZXIuaDoKKyAgICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6Y3JlYXRlQXJyb3dGdW5j
dGlvbkV4cHIpOgorICAgICAgICAqIHBhcnNlci9MZXhlci5jcHA6CisgICAgICAgIChKU0M6Okxl
eGVyPFQ+OjpzZXRUb2tlblBvc2l0aW9uKToKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OmxleCk6
CisgICAgICAgICogcGFyc2VyL0xleGVyLmg6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpzZXRU
b2tlblBvc2l0aW9uKToKKyAgICAgICAgKiBwYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oOgorICAg
ICAgICAoSlNDOjpBcnJvd0Z1bmNFeHByTm9kZTo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRlZAor
ICAgICAgICAqIHBhcnNlci9Ob2Rlcy5oOgorICAgICAgICAoSlNDOjpOb2RlOjppc0Fycm93RnVu
Y0V4cHJOb2RlKTogYWRkZWQKKyAgICAgICAgKEpTQzo6QXJyb3dGdW5jRXhwck5vZGUpOiBhZGRl
ZCBjbGFzcworICAgICAgICAqIHBhcnNlci9QYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3VyY2VFbGVtZW50cyk6CisgICAgICAgIChKU0M6OlBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHByZXNzaW9uKToKKyAgICAgICAgKEpTQzo6UGFy
c2VyOjpwYXJzZVNvdXJjZUVsZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlU3Rh
dGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9u
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZVByaW1hcnlFeHByZXNzaW9uKToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RXhwcmVzc2lvbik6CisgICAgICAgIChKU0M6OlBh
cnNlcjo6c2V0RW5kT2ZTdGF0ZW1lbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJy
b3dGdW5jdGlvbldyYXBwZXIpOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5j
dGlvbkluZm8pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnBhcnNlQXJyb3dGdW5jdGlvbkJvZHkp
OgorICAgICAgICAqIHBhcnNlci9QYXJzZXIuaDoKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpGdW5j
dGlvblBhcnNlVHlwZSk6CisgICAgICAgIChKU0M6OlBhcnNlcjo6cGFyc2VTb3VyY2VFbGVtZW50
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZVN0YXRlbWVudCk6CisgICAgICAgIChKU0M6
OlBhcnNlcjo6cGFyc2VBcnJvd0V4cHJlc3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI6OnNl
dEVuZE9mU3RhdGVtZW50KToKKyAgICAgICAgKEpTQzo6UGFyc2VyOjpwYXJzZUFycm93RnVuY3Rp
b25XcmFwcGVyKToKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmg6CisgICAg
ICAgICogcGFyc2VyL1BhcnNlclRva2Vucy5oOgorICAgICAgICAoSlNDOjpQYXJzZXJGdW5jdGlv
bkluZm86OmFycm93RnVuY3Rpb25PZmZzZXQpOiBhZGRlZAorICAgICAgICAoSlNDOjpQYXJzZXJG
dW5jdGlvbkluZm86OmlzQXJyb3dGdW5jdGlvbik6IGFkZGVkCisgICAgICAgIChKU0M6OlBhcnNl
ckZ1bmN0aW9uSW5mbzo6YXJyb3dGdW5jdGlvbkJvZHlUeXBlKTogYWRkZWQKKyAgICAgICAgKiBw
YXJzZXIvU291cmNlQ29kZS5oOgorICAgICAgICAoSlNDOjpTb3VyY2VDb2RlOjpzdWJBcnJvd0V4
cHJlc3Npb24pOgorICAgICAgICAqIHBhcnNlci9TeW50YXhDaGVja2VyLmg6CisgICAgICAgIChK
U0M6OlN5bnRheENoZWNrZXI6OmNyZWF0ZUFycm93RnVuY3Rpb25FeHByKToKKyAgICAgICAgKiBw
YXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW06CisgICAgICAgIChKU0M6OlNvdXJjZVByb3Zp
ZGVyQ2FjaGVJdGVtQ3JlYXRpb25QYXJhbWV0ZXJzKToKKyAgICAgICAgKEpTQzo6U291cmNlUHJv
dmlkZXJDYWNoZUl0ZW0pOgorICAgICAgICAoSlNDOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbTo6
ZW5kQXJyb3dGdW5jdGlvblRva2VuKToKKyAgICAgICAgKiBydW50aW1lL0pTQXJyb3dGdW5jdGlv
bi5oOiBhZGRlZCBjbGFzcyBmb3IgaGFuZGxlIGFycm93IGZ1bmN0aW9uIGNyZWF0aW9uIGFuZCBl
eGVjdXRpb24KKyAgICAgICAgKiBydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHA6CisgICAgICAg
ICogcnVudGltZS9KU0Z1bmN0aW9uLmg6CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OkpTRnVu
Y3Rpb24pOiBhZGRlZCBvbmUgbW9yZSBjb25zdHJ1Y3RvcgorICAgICAgICAqIHJ1bnRpbWUvSlNG
dW5jdGlvbklubGluZXMuaDoKKyAgICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6SlNGdW5jdGlvbik6
IGFkZGVkIGNvbnN0cnVjdG9yIGltcGxlbWVudGF0aW9uCisgICAgICAgICogcnVudGltZS9KU0ds
b2JhbE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KToKKyAg
ICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6Om1fYXJyb3dGdW5jdGlvblN0cnVjdHVyZSk6IGFk
ZGVkCisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0OjphcnJvd0Z1bmN0aW9uU3RydWN0dXJl
KToKKyAgICAgICAgKiBXVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmg6IGFkZGVkIGZlYXR1cmUgZmxh
ZworICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzcGFyYW10ZXItMS5qczog
QWRkZWQuCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci0y
LmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ib3VuZC5q
czogQWRkZWQuCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY2FsbC5qczog
QWRkZWQuCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY29uc3RydWN0b3Iu
anM6CisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC1hcmd1bWVu
dHMuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGlj
YWwtdGhpcy0xLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1sZXhpY2FsLXRoaXMtMi5qczogQWRkZWQuCisgICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93
ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTMuanM6IEFkZGVkLgorICAgICAgICAqIHRlc3RzL3N0cmVz
cy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtdGhpcy00LmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMtNS5qczogQWRkZWQuCisgICAgICAg
ICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwLTEuanM6IEFkZGVkLgorICAgICAg
ICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMC0yLmpzOiBBZGRlZC4KKyAgICAg
ICAgKiB0ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAwMDAtMS5qczogQWRkZWQuCisg
ICAgICAgICogdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwMDAwLTIuanM6IEFkZGVk
LgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXN5bnRheC5qczogQWRkZWQu
CisKIDIwMTUtMDUtMDcgIEJhc2lsZSBDbGVtZW50ICA8YmFzaWxlX2NsZW1lbnRAYXBwbGUuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGFkZCBtaXNzaW5nIGJyYWNlcyBvbiBhIHNpbmdsZS1s
aW5lIGlmIHRoYXQgZ290IGV4cGFuZGVkIGluIHIxODM5MzkKQEAgLTkyNyw2ICsxMDkwLDE0IEBA
CiAgICAgICAgIChKU0M6OkZUTDo6TG93ZXJERkdUb0xMVk06OnByb3ZlblZhbHVlKToKICAgICAg
ICAgKEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6YWJzdHJhY3RTdHJ1Y3R1cmUpOgogCisyMDE1
LTA0LTEyICBBbGV4YW5kciBTa2FjaGtvdiAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisgICAgICAg
IFNtYWxsIHJlZmFjdG9yaW5nIG9mIHRoZSBwYXJjZXIuY3BwIGZpbGUuIEl0IGlzIG5lY2Vzc2Fy
eSB0byBpbmNyZWFzZSByZWFkYWJpbGl0eSBvZiB0aGUgcGF0Y2gKKyAgICAgICAgd2l0aCBFUzYg
QXJyb3cgZnVuY3Rpb24gaW1wbGVtZW50YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQorCisgICAgICAgICogcGFyc2VyL1BhcnNlci5o
OgorICAgICAgICAqIHBhcnNlci9QYXJzZXIuY3BwOgorCiAyMDE1LTA1LTAxICBNYXJ0aW4gUm9i
aW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBVU0UoLi4uKSBtYWNybyBz
aG91bGQgZXhwZWN0IHVucHJlZml4ZWQgdmFyaWFibGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWNhOTgxZGIw
ZGMyNjc1ZGQzYTg4Zjg2ZGI3MzA0NzhlODViZWQwZS4uNjZhNDk2NzNiYTMxYmIxZDU3MmIxZmUx
NzJjZDVhNmE4MjQ3ZTdjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTA0LTE3
ICBTa2FjaGtvdiBBbGV4YW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CisKKyAgICAgICAgW0VT
Nl0gSW1wbGVtZW50IEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXgKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MDg1NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGZlYXR1cmUgZmxhZyBFTkFCTEVf
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYIGZvciBhcnJvdyBmdW5jdGlvbgorCisgICAgICAgICog
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIwMTUtMDUtMDcgIFlv
YXYgV2Vpc3MgIDx5b2F2QHlvYXYud3M+CiAKICAgICAgICAgRml4IHNpemVzIGNyYXNoIGFuZCBh
ZGQgaW52YWxpZCB2YWx1ZSB0ZXN0cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA5YjQyMmIzZTA1NWQz
ODkxYmE1OTgwMTVjZWU2N2FiNDY2YjMzZGRiLi5kYWUzZmY3NjZlZjYzMGMzOTJiMmRmYmIxZjcx
YjkwOWYwZGE3YzNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDQt
MTcgIFNrYWNoa292IEFsZXhhbmRyICA8Z3NrYWNoa292QGdtYWlsLmNvbT4KKworICAgICAgICBb
RVM2XSBJbXBsZW1lbnQgRVM2IGFycm93IGZ1bmN0aW9uIHN5bnRheAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwODU1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgZmVhdHVyZSBmbGFnIEVOQUJM
RV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggZm9yIGFycm93IGZ1bmN0aW9uCisKKyAgICAgICAg
KiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxNS0wNS0wNSAg
TXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmVy
dCAiSW50cm9kdWNpbmcgdGhlIFBsYXRmb3JtIEFic3RyYWN0aW9uIExheWVyIChQQUwpIgpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDg4Yzk5N2JlYzY5ZjVhMzZkZTM3NTUx
N2M3MjJiMjAxZjcxNDVjMDMuLjNlMTk2OTQ2ZmJjNTU5MmMxZTllOTZkMDE5OWQwNTYyNDUwMzgx
OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQ3NCw2ICs0NzQsNyBA
QCBzZXQoSmF2YVNjcmlwdENvcmVfUlVOVElNRV9TT1VSQ0VTCiAgICAgcnVudGltZS9KU0FycmF5
QnVmZmVyVmlldy5jcHAKICAgICBydW50aW1lL0pTQXJyYXlJdGVyYXRvci5jcHAKICAgICBydW50
aW1lL0pTQm91bmRGdW5jdGlvbi5jcHAKKyAgICBydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAK
ICAgICBydW50aW1lL0pTR2xvYmFsT2JqZWN0RGVidWdnYWJsZS5jcHAKICAgICBydW50aW1lL0pT
Q0pTVmFsdWUuY3BwCiAgICAgcnVudGltZS9KU0NhbGxlZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwppbmRleCBmYzkwZjYxMTU2MjMxYTQxY2E5MTM3ZjE3Yzc5NTVlOGQzNzNiMGVhLi4wYzg4
NDBmNmFiNTE4NWY4MzU0YjcwNjAzZTAyNWYyNWEyYTc5ZjRhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCkBAIC00NCw2ICs0NCw3IEBAIEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcgPSBFTkFC
TEVfQ0FDSEVfUEFSVElUSU9OSU5HOwogRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZB
U19QQVRIOwogRU5BQkxFX0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORzsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9T
WU5UQVggPSBFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0VTNl9DTEFT
U19TWU5UQVggPSBFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWDsKIEVOQUJMRV9FUzZfVEVNUExBVEVf
TElURVJBTF9TWU5UQVggPSBFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYOwogRU5B
QkxFX0NPTlRFTlRfRklMVEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwpAQCAtMjE1
LDQgKzIxNiw0IEBAIEVOQUJMRV9KSVQgPSBFTkFCTEVfSklUOwogCiBFTkFCTEVfU0FUVVJBVEVE
X0xBWU9VVF9BUklUSE1FVElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsK
IAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUND
RUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJ
TkcpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAk
KEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJM
RV9DQU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZf
Q0xBU1NfU1lOVEFYKSAkKEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVgpICQoRU5B
QkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FO
SU1BVElPTlNfTEVWRUxfMikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVO
QUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChF
TkFCTEVfQ1NTX0dSSURfTEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFC
TEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NT
UzNfVEVYVCkgJChFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9W
SVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hC
T0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RS
QU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9P
UklFTlRBVElPTikgJChFTkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxU
RVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JF
RU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQo
RU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RU
TElORykgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dP
UktFUlMpICQoRU5BQkxFX0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lO
UFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVT
U19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVf
SU9TX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVf
TEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9MRUdBQ1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FV
RElPKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElB
X1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVO
VCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVf
TkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZ
KSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJM
RV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZF
TlRTKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJM
RV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUp
ICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVF
UlkpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQo
RU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9T
VUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVS
VEVSKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExB
VEVfRUxFTUVOVCkgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVO
VFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dP
UkQpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklE
RU9fVFJBQ0spICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1Nf
TUVESUEpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9S
RVBMQVkpICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVO
QUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJ
TUVPVVQpICQoRU5BQkxFX1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkgJChF
TkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5U
QVRJT05fTU9ERSk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORykgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BB
VEgpICQoRU5BQkxFX0NBTlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQo
RU5BQkxFX0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRB
WCkgJChFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xF
VkVMXzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NP
TVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19H
UklEX0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1Nf
SU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxF
Q1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQo
RU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkg
JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
UykgJChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8y
KSAkKEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChF
TkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5B
QkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVO
QUJMRV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJ
TUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tf
VEFSR0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FV
VE9TSVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVf
TEVHQUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQo
RU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxF
X01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9D
T05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFC
TEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9B
TklNQVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9S
RU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJM
RV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQp
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9UT1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAk
KEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVO
QUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJ
TUlORykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVO
QUJMRV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX1NBVFVS
QVRFRF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHBy
b2ovSmF2YVNjcmlwdENvcmUudmN4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKaW5kZXggYTU1NWFlOTVhM2Vk
Yjg4YmIxNjRjNjBjNDQ3YjNiNzVkYjViZjUxNy4uZjA3MzI2OTdjMjNhMWIzNGJjYzBiZjkwOTgy
NDc0MjNmYTFiNWFmYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCkBA
IC03MzUsNiArNzM1LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNB
cnJheUJ1ZmZlclByb3RvdHlwZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxy
dW50aW1lXEpTQXJyYXlCdWZmZXJWaWV3LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXHJ1bnRpbWVcSlNCb3VuZEZ1bmN0aW9uLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXHJ1bnRpbWVcSlNBcnJvd0Z1bmN0aW9uLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxydW50aW1lXEpTQ2FsbGVlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXHJ1bnRpbWVcSlNDYXRjaFNjb3BlLmNwcCIgLz4KQEAgLTE1MzgsNiArMTUzOSw3IEBACiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyYXlCdWZmZXJWaWV3SW5saW5l
cy5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0FycmF5SXRlcmF0
b3IuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNCb3VuZEZ1bmN0
aW9uLmgiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQXJyb3dGdW5j
dGlvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxKU0NJbmxpbmVz
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXEpTQ0pTVmFsdWUuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcSlNDSlNWYWx1ZUlubGluZXMu
aCIgLz4KQEAgLTE4MTksNCArMTgyMSw0IEBACiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5z
aW9uVGFyZ2V0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXEJ1aWxk
Q3VzdG9taXphdGlvbnNcbWFzbS50YXJnZXRzIiAvPgogICA8L0ltcG9ydEdyb3VwPgotPC9Qcm9q
ZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvUHJvamVjdD4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggMWYwNGYzNTc5MzgxNWExM2UyYTE5MTE1YjVmNGI3YTZjMDkx
OTBkMy4uZGIwNjE0NTA0Mjg0YzM1YTYwMTU5MzE4Zjg4ZTRlMzBmZWY1N2ViZiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTExMDgsNiArMTEwOCw4IEBACiAJCTg2RjNFRUJGMTY4
Q0RFOTMwMDc3QjkyQSAvKiBPYmpjUnVudGltZUV4dHJhcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODZGM0VFQjYxNjg1NUE1QjAwNzdCOTJBIC8qIE9i
amNSdW50aW1lRXh0cmFzLmggKi87IH07CiAJCTg2RkE5RTkxMTQyQkJCMkUwMDE3NzNCNyAvKiBK
U0JvdW5kRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODZGQTlFOEYxNDJCQkIyRDAwMTc3M0I3IC8qIEpTQm91bmRGdW5jdGlvbi5jcHAg
Ki87IH07CiAJCTg2RkE5RTkyMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2RkE5RTkwMTQy
QkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLzsgfTsKKwkJOEIwRjQyNEMxQUJE
NkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4QjBGNDI0QjFBQkQ2REUyMDAzOTE3RUEgLyogSlNB
cnJvd0Z1bmN0aW9uLmNwcCAqLzsgfTsKKwkJOEIwRjQyNEMxQUJENkRFMjAwMzkxN0VBIC8qIEpT
QXJyb3dGdW5jdGlvbi5oIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gOEIwRjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5oICovOyB9
OwogCQk5MDIxM0UzRDEyM0E0MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIxM0UzQjEyM0E0
MEMyMDBENDIyRjMgLyogTWVtb3J5U3RhdGlzdGljcy5jcHAgKi87IH07CiAJCTkwMjEzRTNFMTIz
QTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MDIxM0UzQzEyM0E0MEMyMDBENDIyRjMgLyogTWVt
b3J5U3RhdGlzdGljcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTkzMDUyQzM0MEZCNzkyMTkwMDQ4RkRDMyAvKiBQYXJzZXJBcmVuYS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzA1MkMzMjBGQjc5
MjE5MDA0OEZEQzMgLyogUGFyc2VyQXJlbmEuY3BwICovOyB9OwpAQCAtMjg1OCw2ICsyODYwLDgg
QEAKIAkJODZGNzVFRkQxNTFDMDYyRjAwN0M5QkEzIC8qIFJlZ0V4cE1hdGNoZXNBcnJheS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZWdFeHBNYXRjaGVzQXJyYXku
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NkZBOUU4RjE0MkJCQjJEMDAxNzcz
QjcgLyogSlNCb3VuZEZ1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEpTQm91bmRGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNCb3VuZEZ1bmN0aW9uLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCThCMEY0MjRBMUFCRDZEMkYwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rp
b24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcnJvd0Z1bmN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCThCMEY0MjRCMUFCRDZERTIwMDM5MTdFQSAvKiBKU0Fycm93RnVuY3Rpb24u
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNBcnJvd0Z1bmN0aW9u
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTAyMTNFM0IxMjNBNDBDMjAwRDQy
MkYzIC8qIE1lbW9yeVN0YXRpc3RpY3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gTWVtb3J5U3RhdGlzdGljcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTkwMjEzRTNDMTIzQTQwQzIwMEQ0MjJGMyAvKiBNZW1vcnlTdGF0aXN0aWNzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lbW9yeVN0YXRpc3RpY3MuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTMwNTJDMzIwRkI3OTIxOTAwNDhGREMzIC8qIFBhcnNlckFy
ZW5hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhcnNlckFyZW5h
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ0NzMsNiArNDQ3Nyw4IEBACiAJ
CQkJQTdCREFFQzUxN0Y0RUExNDAwRjYxNDBDIC8qIEpTQXJyYXlJdGVyYXRvci5oICovLAogCQkJ
CTg2RkE5RThGMTQyQkJCMkQwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uY3BwICovLAogCQkJ
CTg2RkE5RTkwMTQyQkJCMkUwMDE3NzNCNyAvKiBKU0JvdW5kRnVuY3Rpb24uaCAqLywKKwkJCQk4
QjBGNDI0QTFBQkQ2RDJGMDAzOTE3RUEgLyogSlNBcnJvd0Z1bmN0aW9uLmggKi8sCisJCQkJOEIw
RjQyNEIxQUJENkRFMjAwMzkxN0VBIC8qIEpTQXJyb3dGdW5jdGlvbi5jcHAgKi8sCiAJCQkJNjU3
Q0Y0NTYxOUJGNjY2MjAwNEFDQkYyIC8qIEpTQ2FsbGVlLmNwcCAqLywKIAkJCQk2NTdDRjQ1NzE5
QkY2NjYyMDA0QUNCRjIgLyogSlNDYWxsZWUuaCAqLywKIAkJCQkwRkQ5NDk3RTFBOTdEQjk2MDBF
Mjg5NjYgLyogSlNDYXRjaFNjb3BlLmNwcCAqLywKQEAgLTcyMzEsNiArNzIzNyw3IEBACiAJCQkJ
MEZEOEEzMUIxN0Q1MUYyMjAwQ0EyQzQwIC8qIEZUTE9TUkVudHJ5LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTBGMjM1QkRDMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTBGMjM1QkRGMTcxNzhFMUMwMDY5MEM3RiAvKiBGVExPU1JFeGl0Q29tcGls
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOEIwRjQyNEMxQUJENkRFMjAwMzkxN0VBIC8qIEpT
QXJyb3dGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkVBMEEyQTE3MDk2Mjk2MDBC
QjcyMkMgLyogRlRMT3V0cHV0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNDg1MzI5MTg3REZE
RUMwMDgzQjY4NyAvKiBGVExSZWNvdmVyeU9wY29kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkw
RjZCMUNDMzE4NjJDNDc4MDA4NDVEOTcgLyogRlRMUmVnaXN0ZXJBdE9mZnNldC5jcHAgaW4gU291
cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRl
Y29kZUxpc3QuanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZUxp
c3QuanNvbgppbmRleCBlM2VkMWRjZGE0ZTAzYTVmMTFlZjkxZTU2MTE5ZWI5MzA1MWZiN2Y2Li41
NmNiYTkzNmM0NzUwNWY1NDY4NDFlZDU3YmI5YjhlOGQzZDE2ZDhjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0ZWNvZGVMaXN0Lmpzb24KKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0J5dGVjb2RlTGlzdC5qc29uCkBAIC05NSw2ICs5NSw3
IEBACiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9zd2l0Y2hfc3RyaW5nIiwgImxlbmd0aCIg
OiA0IH0sCiAgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfZnVuYyIsICJsZW5ndGgiIDog
NCB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfbmV3X2Z1bmNfZXhwIiwgImxlbmd0aCIg
OiA0IH0sCisgICAgICAgICAgICB7ICJuYW1lIiA6ICJvcF9uZXdfYXJyb3dfZnVuY19leHAiLCAi
bGVuZ3RoIiA6IDUgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGwiLCAibGVuZ3Ro
IiA6IDkgfSwKICAgICAgICAgICAgIHsgIm5hbWUiIDogIm9wX2NhbGxfZXZhbCIsICJsZW5ndGgi
IDogOSB9LAogICAgICAgICAgICAgeyAibmFtZSIgOiAib3BfY2FsbF92YXJhcmdzIiwgImxlbmd0
aCIgOiA5IH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnl0
ZWNvZGVVc2VEZWYuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVz
ZURlZi5oCmluZGV4IDc2NjdlNjgzZTQ1NGE0OTk5ODZlZGFjZDkwYjY0OTE3MjQyMDM3Y2QuLmRh
NGEyYWFlZWMyODQ1OTQxYWUzNjZkY2ZiOTg1OTFjY2IzY2NkNDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9CeXRlY29kZVVzZURlZi5oCkBAIC0xMTUsNiArMTE1LDkg
QEAgdm9pZCBjb21wdXRlVXNlc0ZvckJ5dGVjb2RlT2Zmc2V0KAogICAgIGNhc2Ugb3BfZ2V0X3By
b3BlcnR5X2VudW1lcmF0b3I6CiAgICAgY2FzZSBvcF9nZXRfZW51bWVyYWJsZV9sZW5ndGg6CiAg
ICAgY2FzZSBvcF9uZXdfZnVuY19leHA6CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZ
TlRBWCkKKyAgICBjYXNlIG9wX25ld19hcnJvd19mdW5jX2V4cDoKKyNlbmRpZgogICAgIGNhc2Ug
b3BfdG9faW5kZXhfc3RyaW5nOgogICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29uc3Rfbm9wOgog
ICAgIGNhc2Ugb3BfaW5pdF9nbG9iYWxfY29uc3Q6CkBAIC0zMDcsNiArMzEwLDkgQEAgdm9pZCBj
b21wdXRlRGVmc0ZvckJ5dGVjb2RlT2Zmc2V0KENvZGVCbG9jayogY29kZUJsb2NrLCB1bnNpZ25l
ZCBieXRlY29kZU9mZnNldCwKICAgICBjYXNlIG9wX25ld19yZWdleHA6CiAgICAgY2FzZSBvcF9u
ZXdfZnVuYzoKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKKyNpZiBFTkFCTEUoRVM2X0FSUk9X
RlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgorI2VuZGlm
CiAgICAgY2FzZSBvcF9jYWxsX3ZhcmFyZ3M6CiAgICAgY2FzZSBvcF9jb25zdHJ1Y3RfdmFyYXJn
czoKICAgICBjYXNlIG9wX2dldF9mcm9tX3Njb3BlOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvQ29kZUJsb2NrLmNwcAppbmRleCA5MDEzOGY5N2NiZDgyOGY5NzJjYjIyNDQyYmY0
MDQ0MWQxM2Y0MDU2Li43MTgzZDA0ZGQ4ODJiYjYyMjNmYmFjZTE3ZTVmYmI1MDA5MWQ4MDA0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcApAQCAtMTMw
MSw2ICsxMzAxLDE3IEBAIHZvaWQgQ29kZUJsb2NrOjpkdW1wQnl0ZWNvZGUoCiAgICAgICAgICAg
ICBvdXQucHJpbnRmKCIlcywgJXMsIGYlZCIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0YSgpLCByZWdp
c3Rlck5hbWUocjEpLmRhdGEoKSwgZjApOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0K
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBjYXNlIG9wX25l
d19hcnJvd19mdW5jX2V4cDogeworICAgICAgICAgICAgaW50IHIwID0gKCsraXQpLT51Lm9wZXJh
bmQ7CisgICAgICAgICAgICBpbnQgcjEgPSAoKytpdCktPnUub3BlcmFuZDsKKyAgICAgICAgICAg
IGludCBmMCA9ICgrK2l0KS0+dS5vcGVyYW5kOworICAgICAgICAgICAgaW50IHIyID0gKCsraXQp
LT51Lm9wZXJhbmQ7CisgICAgICAgICAgICBwcmludExvY2F0aW9uQW5kT3Aob3V0LCBleGVjLCBs
b2NhdGlvbiwgaXQsICJvcF9uZXdfYXJyb3dfZnVuY19leHAiKTsKKyAgICAgICAgICAgIG91dC5w
cmludGYoIiVzLCAlcywgZiVkLCAlcyIsIHJlZ2lzdGVyTmFtZShyMCkuZGF0YSgpLCByZWdpc3Rl
ck5hbWUocjEpLmRhdGEoKSwgZjAsIHJlZ2lzdGVyTmFtZShyMikuZGF0YSgpKTsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICB9CisjZW5kaWYKICAgICAgICAgY2FzZSBvcF9uZXdfZnVuY19l
eHA6IHsKICAgICAgICAgICAgIGludCByMCA9ICgrK2l0KS0+dS5vcGVyYW5kOwogICAgICAgICAg
ICAgaW50IHIxID0gKCsraXQpLT51Lm9wZXJhbmQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCmluZGV4IDJmMjFl
NDliNjUxMGYxYmU1OGQwOWMzMTQwNWUzN2NhOWVkYjMxOWYuLjQxODg5YWEzNGRhZmZmMTA2NDAw
NmZjODMwZDk3ZmYwZjA2NmIyYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0xNzc1LDYgKzE3NzUs
MjIgQEAgUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdGdW5jdGlvbkV4cHJl
c3Npb24oUmVnaXN0ZXJJRCogcjAsIEZ1bmNFeHAKICAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQo
aW5kZXgpOwogICAgIHJldHVybiByMDsKIH0KKyAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVO
Q1RJT05fU1lOVEFYKQorUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdBcnJv
d0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3RlcklEKiByMCwgRnVuY0V4cHJOb2RlKiBuKQorewor
ICAgIGVtaXRURFpDaGVjayh0aGlzUmVnaXN0ZXIoKSk7CisgICAgRnVuY3Rpb25Cb2R5Tm9kZSog
ZnVuY3Rpb24gPSBuLT5ib2R5KCk7CisgICAgdW5zaWduZWQgaW5kZXggPSBtX2NvZGVCbG9jay0+
YWRkRnVuY3Rpb25FeHByKG1ha2VGdW5jdGlvbihmdW5jdGlvbikpOworICAgIAorICAgIGVtaXRP
cGNvZGUob3BfbmV3X2Fycm93X2Z1bmNfZXhwKTsKKyAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQo
cjAtPmluZGV4KCkpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChzY29wZVJlZ2lzdGVyKCkt
PmluZGV4KCkpOworICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChpbmRleCk7CisgICAgaW5zdHJ1
Y3Rpb25zKCkuYXBwZW5kKHRoaXNSZWdpc3RlcigpLT5pbmRleCgpKTsKKyAgICByZXR1cm4gcjA7
Cit9CisjZW5kaWYKIAogUmVnaXN0ZXJJRCogQnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdEZWZh
dWx0Q29uc3RydWN0b3IoUmVnaXN0ZXJJRCogZHN0LCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0
b3JLaW5kLCBjb25zdCBJZGVudGlmaWVyJiBuYW1lKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmluZGV4IDlhZjhk
NGZjNDg1ZDk4OTI0MWIxMTExODA5MjdhYWE3NmE5NTMxYzQuLmNhNjhhMjllNmJmMTViZWUyMGI2
OTdhMDRmMjg3ZWNmZjhiYmM4Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKQEAgLTQ1NCw2ICs0NTQsMTAgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXROZXdGdW5jdGlvbkludGVy
bmFsKFJlZ2lzdGVySUQqIGRzdCwgdW5zaWduZWQgaW5kZXgpOwogICAgICAgICBSZWdpc3RlcklE
KiBlbWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIGRzdCwgRnVuY0V4cHJOb2Rl
KiBmdW5jKTsKICAgICAgICAgUmVnaXN0ZXJJRCogZW1pdE5ld0RlZmF1bHRDb25zdHJ1Y3RvcihS
ZWdpc3RlcklEKiBkc3QsIENvbnN0cnVjdG9yS2luZCwgY29uc3QgSWRlbnRpZmllciYgbmFtZSk7
CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgUmVnaXN0ZXJJ
RCogZW1pdE5ld0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqLCBGdW5jRXhwck5v
ZGUqKTsKKyAgICAgICAgUmVnaXN0ZXJJRCogZW1pdFRoaXNOb2RlQnl0ZWNvZGUoUmVnaXN0ZXJJ
RCosIEpTVGV4dFBvc2l0aW9uKTsKKyNlbmRpZgogICAgICAgICBSZWdpc3RlcklEKiBlbWl0TmV3
UmVnRXhwKFJlZ2lzdGVySUQqIGRzdCwgUmVnRXhwKik7CiAKICAgICAgICAgUmVnaXN0ZXJJRCog
ZW1pdE1vdmVMaW5rVGltZUNvbnN0YW50KFJlZ2lzdGVySUQqIGRzdCwgTGlua1RpbWVDb25zdGFu
dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVz
Q29kZWdlbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29k
ZWdlbi5jcHAKaW5kZXggMDI5MGM4MWFiMDk3M2NlZDA2ZDVhNmRmZTc4YzIyNTE5NmIyMmIyZi4u
ZDM0MzhiZTM0NDJiMzRhMGZhOWQyYzM5NTI4Y2IxNmU2ODY4NWJkMiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcApAQCAtMjkw
MSw2ICsyOTAxLDE0IEBAIFJlZ2lzdGVySUQqIEZ1bmNFeHByTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5
dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqCiAgICAgcmV0dXJuIGdlbmVy
YXRvci5lbWl0TmV3RnVuY3Rpb25FeHByZXNzaW9uKGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9u
KGRzdCksIHRoaXMpOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkg
ICAgCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQXJyb3dGdW5jRXhwck5vZGUg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitSZWdpc3RlcklEKiBBcnJvd0Z1bmNF
eHByTm9kZTo6ZW1pdEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lz
dGVySUQqIGRzdCkKK3sKKyAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXROZXdBcnJvd0Z1bmN0aW9u
RXhwcmVzc2lvbihnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QpLCB0aGlzKTsKK30KKyNl
bmRpZgorICAgIAogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogLy8gLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tIENsYXNzRGVjbE5vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJz
dHJhY3RJbnRlcnByZXRlcklubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
QWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaAppbmRleCA1M2M4NDVmNTZlYjQwNDA4NTNmNDE3
MjEyMDBkNTU1NDAxOGE5NzkxLi44NGE0MzFmMmNlZThmN2IzNmRmMzk5OTdmOWJjMjM2ZGEyN2M3
YmVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50
ZXJwcmV0ZXJJbmxpbmVzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0
cmFjdEludGVycHJldGVySW5saW5lcy5oCkBAIC0xNTM2LDcgKzE1MzYsMTIgQEAgYm9vbCBBYnN0
cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHModW5zaWdu
ZWQgY2xvYmJlckxpbWkKICAgICBjYXNlIENyZWF0ZUNsb25lZEFyZ3VtZW50czoKICAgICAgICAg
Zm9yTm9kZShub2RlKS5zZXRUeXBlKG1fZ3JhcGgsIFNwZWNPYmplY3RPdGhlcik7CiAgICAgICAg
IGJyZWFrOwotICAgICAgICAKKyAgICAgICAgICAgIAorICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlv
bjoKKyAgICAgICAgZm9yTm9kZShub2RlKS5zZXQoCisgICAgICAgICAgICBtX2dyYXBoLCBtX2Nv
ZGVCbG9jay0+Z2xvYmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyktPmFycm93RnVu
Y3Rpb25TdHJ1Y3R1cmUoKSk7CisgICAgICAgIGJyZWFrOworICAgICAgICAgICAgCiAgICAgY2Fz
ZSBOZXdGdW5jdGlvbjoKICAgICAgICAgZm9yTm9kZShub2RlKS5zZXQoCiAgICAgICAgICAgICBt
X2dyYXBoLCBtX2NvZGVCbG9jay0+Z2xvYmFsT2JqZWN0Rm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRp
YyktPmZ1bmN0aW9uU3RydWN0dXJlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0J5dGVDb2RlUGFyc2VyLmNwcAppbmRleCA0YzZiYmRkMmZmNjNkZjBjNTBkODk4ODg2NTQ1
Y2YxM2ZmN2FlZmMyLi4wMzA1YTg5ODRiZTdhY2UwNWQyN2E0YzRmMjU4ZTNiNmZiODcwOTYzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcApA
QCAtMzc2Niw2ICszNzY2LDE3IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5z
aWduZWQgbGltaXQpCiAgICAgICAgICAgICBORVhUX09QQ09ERShvcF9uZXdfZnVuY19leHApOwog
ICAgICAgICB9CiAKKyAgICAgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6IHsKKyAgICAg
ICAgICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhwciA9IG1faW5saW5lU3RhY2tUb3AtPm1fcHJv
ZmlsZWRCbG9jay0+ZnVuY3Rpb25FeHByKGN1cnJlbnRJbnN0cnVjdGlvblszXS51Lm9wZXJhbmQp
OworICAgICAgICAgICAgRnJvemVuVmFsdWUqIGZyb3plbiA9IG1fZ3JhcGguZnJlZXplU3Ryb25n
KGV4cHIpOworICAgICAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rp
b25bMV0udS5vcGVyYW5kKSwKKyAgICAgICAgICAgICAgICBhZGRUb0dyYXBoKE5ld0Fycm93RnVu
Y3Rpb24sIE9wSW5mbyhmcm96ZW4pLAorICAgICAgICAgICAgICAgICAgICBnZXQoVmlydHVhbFJl
Z2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpKSwKKyAgICAgICAgICAgICAg
ICAgICAgZ2V0KFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bNF0udS5vcGVyYW5k
KSkpKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgTkVYVF9PUENPREUob3BfbmV3X2Fycm93
X2Z1bmNfZXhwKTsKKyAgICAgICAgfQorCiAgICAgICAgIGNhc2Ugb3BfdHlwZW9mOiB7CiAgICAg
ICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJh
bmQpLAogICAgICAgICAgICAgICAgIGFkZFRvR3JhcGgoVHlwZU9mLCBnZXQoVmlydHVhbFJlZ2lz
dGVyKGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQpKSkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCmluZGV4IGVmNGMyNDc0OWI3OGZhNmUw
OWE0YzNkOWMyOTAxM2VhYTY1ZGFhOTIuLmJlMjkwYjNiZmZjMjRlMTQ1YjEzMzViNmQ4N2M5YzYy
MDA2MzI5Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJp
bGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGll
cy5jcHAKQEAgLTIwNyw2ICsyMDcsNyBAQCBDYXBhYmlsaXR5TGV2ZWwgY2FwYWJpbGl0eUxldmVs
KE9wY29kZUlEIG9wY29kZUlELCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgSW5zdHJ1YwogICAgIGNh
c2Ugb3BfdG9faW5kZXhfc3RyaW5nOgogICAgIGNhc2Ugb3BfbmV3X2Z1bmM6CiAgICAgY2FzZSBv
cF9uZXdfZnVuY19leHA6CisgICAgY2FzZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6CiAgICAgY2Fz
ZSBvcF9jcmVhdGVfbGV4aWNhbF9lbnZpcm9ubWVudDoKICAgICAgICAgcmV0dXJuIENhbkNvbXBp
bGVBbmRJbmxpbmU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Q2xvYmJlcml6ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgK
aW5kZXggNjBhODk5NDgzYjA1YTg5M2ZkNmYzODViNDIzOTQ0Y2ExZDU2OWVkYy4uNzg1ZjY3N2Jj
ZTdkZjA1MTYwZDEzZjQ0Njg2ZjZkOWE2MDIyODhmYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdDbG9iYmVyaXplLmgKQEAgLTg1OSw3ICs4NTksOCBAQCB2b2lkIGNsb2JiZXJpemUo
R3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlLCBjb25zdCBSZWFkRnVuY3RvciYgcmVhZCwgY29uc3Qg
V3JpdGVGdQogICAgICAgICByZWFkKEhlYXBPYmplY3RDb3VudCk7CiAgICAgICAgIHdyaXRlKEhl
YXBPYmplY3RDb3VudCk7CiAgICAgICAgIHJldHVybjsKLSAgICAgICAgCisgICAgCisgICAgY2Fz
ZSBOZXdBcnJvd0Z1bmN0aW9uOgogICAgIGNhc2UgTmV3RnVuY3Rpb246CiAgICAgICAgIGlmIChu
b2RlLT5jYXN0T3BlcmFuZDxGdW5jdGlvbkV4ZWN1dGFibGUqPigpLT5zaW5nbGV0b25GdW5jdGlv
bigpLT5pc1N0aWxsVmFsaWQoKSkKICAgICAgICAgICAgIHdyaXRlKFdhdGNocG9pbnRfZmlyZSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAKaW5kZXggYTllMzBhY2I0YjBh
M2U0NmQxOWFjMjhjOTMxNjcxMGUwZGVhYzA0NS4uODZiMGYwMzBmYjFmM2U4ZTNlYTRhOTA4MDk5
ZGY5Njg3MTBlOWI4NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdE
b2VzR0MuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcApA
QCAtMjI5LDYgKzIyOSw3IEBAIGJvb2wgZG9lc0dDKEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSkK
ICAgICBjYXNlIE5ld1JlZ2V4cDoKICAgICBjYXNlIE5ld1N0cmluZ09iamVjdDoKICAgICBjYXNl
IE1ha2VSb3BlOgorICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKICAgICBjYXNlIE5ld0Z1bmN0
aW9uOgogICAgIGNhc2UgTmV3VHlwZWRBcnJheToKICAgICBjYXNlIFRocm93UmVmZXJlbmNlRXJy
b3I6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2Uu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAppbmRleCA3
YWIxYjE2MzJhYjEyZDg2ZjQyMmI1YTg5Mzc1ZGYwYTBkZGJlMTIzLi44OWU3ZGU5MWNkOWVjY2E1
NGEwMGZkOGQ1ZjU1ZjFlZWFmYTBkOTVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHRml4dXBQaGFzZS5jcHAKQEAgLTExODQsNyArMTE4NCwxNSBAQCBwcml2YXRlOgogICAgICAg
ICAgICAgZml4RWRnZTxDZWxsVXNlPihub2RlLT5jaGlsZDEoKSk7CiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgfQotICAgICAgICAgICAgCisKKyAgICAgICAgY2FzZSBOZXdBcnJvd0Z1bmN0
aW9uOiB7CisgICAgICAgICAgICBmaXhFZGdlPENlbGxVc2U+KG5vZGUtPmNoaWxkMSgpKTsKKyAg
ICAgICAgICAgIGZpeEVkZ2U8Q2VsbFVzZT4obm9kZS0+Y2hpbGQyKCkpOworICAgICAgICAgICAg
bV9pbnNlcnRpb25TZXQuaW5zZXJ0Tm9kZShtX2luZGV4SW5CbG9jaywgU3BlY05vbmUsIENoZWNr
LCBub2RlLT5vcmlnaW4sCisgICAgICAgICAgICAgICAgRWRnZShub2RlLT5jaGlsZDIoKS5ub2Rl
KCksIE90aGVyVXNlKSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCiAjaWYgIUFT
U0VSVF9ESVNBQkxFRAogICAgICAgICAvLyBIYXZlIHRoZXNlIG5vLW9wIGNhc2VzIGhlcmUgdG8g
ZW5zdXJlIHRoYXQgbm9ib2R5IGZvcmdldHMgdG8gYWRkIGhhbmRsZXJzIGZvciBuZXcgb3Bjb2Rl
cy4KICAgICAgICAgY2FzZSBTZXRBcmd1bWVudDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHTm9kZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2Rl
LmgKaW5kZXggMmQ3NzVmNTFlNWQ1OWUyNzg1Mjc5MTQ4MWQ0NzNkZTUwMzMyYmQwOS4uYzI5NTgy
YWE5ZGJlYTVhM2YxMmQ3ODVhZTg3M2VlYTI1MWI5MDdmMCAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdOb2RlLmgKQEAgLTEyODYsNiArMTI4Niw3IEBAIHN0cnVjdCBOb2RlIHsKICAgICAgICAg
Y2FzZSBDaGVja0NlbGw6CiAgICAgICAgIGNhc2UgTmF0aXZlQ29uc3RydWN0OgogICAgICAgICBj
YXNlIE5hdGl2ZUNhbGw6CisgICAgICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKICAgICAgICAg
Y2FzZSBOZXdGdW5jdGlvbjoKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBkZWZh
dWx0OgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5o
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCmluZGV4IDc1Yzg4NDIz
N2EwMGIxNmQ4NzBkMjQwMTQ1OTMxOGRlZGMxYWU4ZmMuLjAzMTMyMzBhNzM1MjJlMzI2OTg1MmQ5
NWZjOWUwMTJjMjdlNjQzMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHTm9kZVR5cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBl
LmgKQEAgLTI5Myw2ICsyOTMsOCBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CiAg
ICAgXAogICAgIG1hY3JvKE5ld0Z1bmN0aW9uLCBOb2RlUmVzdWx0SlMpIFwKICAgICBcCisgICAg
bWFjcm8oTmV3QXJyb3dGdW5jdGlvbiwgTm9kZVJlc3VsdEpTKSBcCisgICAgXAogICAgIC8qIFRo
ZXNlIGFyZW4ndCB0ZXJtaW5hbHMgYnV0IGFsd2F5cyBleGl0ICovIFwKICAgICBtYWNybyhUaHJv
dywgTm9kZU11c3RHZW5lcmF0ZSkgXAogICAgIG1hY3JvKFRocm93UmVmZXJlbmNlRXJyb3IsIE5v
ZGVNdXN0R2VuZXJhdGUpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKaW5kZXggMzFkNjZhYmU1Yzhh
Yzc0NzA2ZjFkMmRhZDkyOTgxMzNmN2M4NTg2NS4uYjcwODQxMWQ5Y2NmNDI5M2NhMjUzZjViNDU0
YmM2MDVkOTEwM2E3MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQ
cmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAKQEAgLTIxNyw2ICsyMTcsNyBA
QCBwcml2YXRlOgogICAgICAgICBjYXNlIEdldEdldHRlcjoKICAgICAgICAgY2FzZSBHZXRTZXR0
ZXI6CiAgICAgICAgIGNhc2UgR2V0Q2FsbGVlOgorICAgICAgICBjYXNlIE5ld0Fycm93RnVuY3Rp
b246CiAgICAgICAgIGNhc2UgTmV3RnVuY3Rpb246IHsKICAgICAgICAgICAgIGNoYW5nZWQgfD0g
c2V0UHJlZGljdGlvbihTcGVjRnVuY3Rpb24pOwogICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NhZmVUb0V4ZWN1dGUuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRvRXhlY3V0ZS5oCmluZGV4IGY0YjA3OWY4N2Iw
MThjMDA1NzMyNmViMDk1MTQyNjA3ODVlMzJlYzYuLjVlNTJiNGVhODQ4NmNlOTk4YzNhYTI4Mzkz
NGNhOGNkNGJmMGQ2NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U2FmZVRvRXhlY3V0ZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2FmZVRv
RXhlY3V0ZS5oCkBAIC0yMjgsNiArMjI4LDcgQEAgYm9vbCBzYWZlVG9FeGVjdXRlKEFic3RyYWN0
U3RhdGVUeXBlJiBzdGF0ZSwgR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlKQogICAgIGNhc2UgQ3Jl
YXRlQ2xvbmVkQXJndW1lbnRzOgogICAgIGNhc2UgR2V0RnJvbUFyZ3VtZW50czoKICAgICBjYXNl
IFB1dFRvQXJndW1lbnRzOgorICAgIGNhc2UgTmV3QXJyb3dGdW5jdGlvbjoKICAgICBjYXNlIE5l
d0Z1bmN0aW9uOgogICAgIGNhc2UgSnVtcDoKICAgICBjYXNlIEJyYW5jaDoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKaW5kZXggMzZkOWJmMDlk
ZjYwMTZjOGY1ODVhYmViZTI5M2RlNjZkZmIwODI3MS4uMmU1NzVkYTA2MTViZTA2NjMxMGIzODI3
ZWQwMmE4MWYwZmYxY2ExOSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVC5jcHAKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJERkdTYW5lU3Ry
aW5nR2V0QnlWYWxTbG93UGF0aEdlbmVyYXRvci5oIgogI2luY2x1ZGUgIkRGR1Nsb3dQYXRoR2Vu
ZXJhdG9yLmgiCiAjaW5jbHVkZSAiRGlyZWN0QXJndW1lbnRzLmgiCisjaW5jbHVkZSAiSlNBcnJv
d0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUgIkpTRW52aXJv
bm1lbnRSZWNvcmQuaCIKICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgpAQCAtNDM2
Miw2ICs0MzYzLDY1IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVHZXRBcnJheUxlbmd0
aChOb2RlKiBub2RlKQogICAgICAgICBicmVhazsKICAgICB9IH0KIH0KKyAgICAKK3ZvaWQgU3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGVOZXdBcnJvd0Z1bmN0aW9uKE5vZGUqIG5vZGUpCit7CisjaWYg
RU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBTcGVjdWxhdGVDZWxsT3BlcmFu
ZCBzY29wZSh0aGlzLCBub2RlLT5jaGlsZDEoKSk7CisgICAgR1BSUmVnIHNjb3BlR1BSID0gc2Nv
cGUuZ3ByKCk7CisKKyAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCB0aGlzVmFsdWUodGhpcywgbm9k
ZS0+Y2hpbGQyKCkpOworICAgIEdQUlJlZyB0aGlzVmFsdWVHUFIgPSB0aGlzVmFsdWUuZ3ByKCk7
CisKKyAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGV4ZWN1dGFibGUgPSBub2RlLT5jYXN0T3BlcmFu
ZDxGdW5jdGlvbkV4ZWN1dGFibGUqPigpOworCisgICAgaWYgKGV4ZWN1dGFibGUtPnNpbmdsZXRv
bkZ1bmN0aW9uKCktPmlzU3RpbGxWYWxpZCgpKSB7CisgICAgICAgIEdQUkZsdXNoZWRDYWxsUmVz
dWx0IHJlc3VsdCh0aGlzKTsKKyAgICAgICAgR1BSUmVnIHJlc3VsdEdQUiA9IHJlc3VsdC5ncHIo
KTsKKworICAgICAgICBmbHVzaFJlZ2lzdGVycygpOworCisgICAgICAgIGNhbGxPcGVyYXRpb24o
b3BlcmF0aW9uTmV3QXJyb3dGdW5jdGlvbiwgcmVzdWx0R1BSLCBzY29wZUdQUiwgZXhlY3V0YWJs
ZSwgdGhpc1ZhbHVlR1BSKTsKKyAgICAgICAgY2VsbFJlc3VsdChyZXN1bHRHUFIsIG5vZGUpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBtX2pp
dC5ncmFwaCgpLmdsb2JhbE9iamVjdEZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMpLT5hcnJvd0Z1
bmN0aW9uU3RydWN0dXJlKCk7CisKKyAgICBHUFJUZW1wb3JhcnkgcmVzdWx0KHRoaXMpOworICAg
IEdQUlRlbXBvcmFyeSBzY3JhdGNoMSh0aGlzKTsKKyAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaDIo
dGhpcyk7CisKKyAgICBHUFJSZWcgcmVzdWx0R1BSID0gcmVzdWx0LmdwcigpOworICAgIEdQUlJl
ZyBzY3JhdGNoMUdQUiA9IHNjcmF0Y2gxLmdwcigpOworICAgIEdQUlJlZyBzY3JhdGNoMkdQUiA9
IHNjcmF0Y2gyLmdwcigpOworCisgICAgSklUQ29tcGlsZXI6Okp1bXBMaXN0IHNsb3dQYXRoOwor
ICAgIGVtaXRBbGxvY2F0ZUpTT2JqZWN0V2l0aEtub3duU2l6ZTxKU0Fycm93RnVuY3Rpb24+KAor
ICAgICAgICByZXN1bHRHUFIsIFRydXN0ZWRJbW1QdHIoc3RydWN0dXJlKSwgVHJ1c3RlZEltbVB0
cigwKSwKKyAgICAgICAgc2NyYXRjaDFHUFIsIHNjcmF0Y2gyR1BSLCBzbG93UGF0aCwgSlNBcnJv
d0Z1bmN0aW9uOjphbGxvY2F0aW9uU2l6ZSgwKSk7CisKKyAgICBtX2ppdC5zdG9yZVB0cigKKyAg
ICAgICAgc2NvcGVHUFIsCisgICAgICAgIEpJVENvbXBpbGVyOjpBZGRyZXNzKHJlc3VsdEdQUiwg
SlNBcnJvd0Z1bmN0aW9uOjpvZmZzZXRPZlNjb3BlQ2hhaW4oKSkpOworICAgIG1faml0LnN0b3Jl
UHRyKAorICAgICAgICBUcnVzdGVkSW1tUHRyKGV4ZWN1dGFibGUpLAorICAgICAgICBKSVRDb21w
aWxlcjo6QWRkcmVzcyhyZXN1bHRHUFIsIEpTQXJyb3dGdW5jdGlvbjo6b2Zmc2V0T2ZFeGVjdXRh
YmxlKCkpKTsKKyAgICBtX2ppdC5zdG9yZVB0cigKKyAgICAgICAgVHJ1c3RlZEltbVB0cigwKSwK
KyAgICAgICAgSklUQ29tcGlsZXI6OkFkZHJlc3MocmVzdWx0R1BSLCBKU0Fycm93RnVuY3Rpb246
Om9mZnNldE9mUmFyZURhdGEoKSkpOworICAgIG1faml0LnN0b3JlUHRyKAorICAgICAgICB0aGlz
VmFsdWVHUFIsCisgICAgICAgIEpJVENvbXBpbGVyOjpBZGRyZXNzKHJlc3VsdEdQUiwgSlNBcnJv
d0Z1bmN0aW9uOjpvZmZzZXRPZlRoaXNWYWx1ZSgpKSk7CisKKyAgICBhZGRTbG93UGF0aEdlbmVy
YXRvcigKKyAgICAgICAgc2xvd1BhdGhDYWxsKAorICAgICAgICAgICAgc2xvd1BhdGgsIHRoaXMs
IG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb25XaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRj
aHBvaW50LAorICAgICAgICAgICAgcmVzdWx0R1BSLCBzY29wZUdQUiwgZXhlY3V0YWJsZSwgdGhp
c1ZhbHVlR1BSKSk7CisgICAgICAgIAorICAgIGNlbGxSZXN1bHQocmVzdWx0R1BSLCBub2RlKTsK
KyNlbmRpZgorfQogCiB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlTmV3RnVuY3Rpb24oTm9k
ZSogbm9kZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Bl
Y3VsYXRpdmVKSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQuaAppbmRleCA2N2U2NzNiMWMxYjZiMjFhZTcxMDM4MzRjOWFmYjJjMDZlNzFkOTFkLi5iOWFm
NTE4YmI1MmI3YjkwYjk2NDMwY2Y5Nzg2ZjNmZDY0MjU0OWQxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCkBAIC0xMjA1LDYgKzEyMDUsMTIgQEAg
cHVibGljOgogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwg
VHJ1c3RlZEltbVB0cihjZWxsKSk7CiAgICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2Vw
dGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKICAgICB9CisgICAgCisgICAg
SklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQ0ogb3Bl
cmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgYXJnMSwgSlNDZWxsKiBjZWxsLCBHUFJSZWcg
YXJnMikKKyAgICB7CisgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShh
cmcxLCBUcnVzdGVkSW1tUHRyKGNlbGwpLCBhcmcyKTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENh
bGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOworICAgIH0K
IAogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRVdz
IG9wZXJhdGlvbiwgV2F0Y2hwb2ludFNldCogd2F0Y2hwb2ludFNldCkKICAgICB7CkBAIC0xNjEx
LDYgKzE2MTcsMTEgQEAgcHVibGljOgogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhF
eGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSk7CiAgICAgICAgIHJldHVybiBhcHBl
bmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0UGF5bG9h
ZCwgcmVzdWx0VGFnKTsKICAgICB9CisgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlv
bihKX0pJVE9wZXJhdGlvbl9FSnNjQ0ogb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0VGFnLCBHUFJS
ZWcgcmVzdWx0UGF5bG9hZCwgR1BSUmVnIGFyZzEsIEpTQ2VsbCogY2VsbCwgR1BSUmVnIGFyZzIp
CisgICAgeworICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwg
VHJ1c3RlZEltbVB0cihjZWxsKSwgYXJnMik7CisgICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0
aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0UGF5bG9hZCwgcmVzdWx0
VGFnKTsKKyAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9w
ZXJhdGlvbl9FU3NpQ0kgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0VGFnLCBHUFJSZWcgcmVzdWx0
UGF5bG9hZCwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgYXJnMSwgY29uc3Qg
U3RyaW5nSW1wbCogdWlkKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRo
RXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIoc3R1YkluZm8pLCBhcmcxLCBUcnVzdGVkSW1tUHRyKHVp
ZCkpOwpAQCAtMjIxMSw2ICsyMjIyLDcgQEAgcHVibGljOgogICAgIHZvaWQgY29tcGlsZUdldEJ5
VmFsT25GbG9hdFR5cGVkQXJyYXkoTm9kZSosIFR5cGVkQXJyYXlUeXBlKTsKICAgICB2b2lkIGNv
bXBpbGVQdXRCeVZhbEZvckZsb2F0VHlwZWRBcnJheShHUFJSZWcgYmFzZSwgR1BSUmVnIHByb3Bl
cnR5LCBOb2RlKiwgVHlwZWRBcnJheVR5cGUpOwogICAgIHZvaWQgY29tcGlsZU5ld0Z1bmN0aW9u
KE5vZGUqKTsKKyAgICB2b2lkIGNvbXBpbGVOZXdBcnJvd0Z1bmN0aW9uKE5vZGUqKTsKICAgICB2
b2lkIGNvbXBpbGVGb3J3YXJkVmFyYXJncyhOb2RlKik7CiAgICAgdm9pZCBjb21waWxlQ3JlYXRl
QWN0aXZhdGlvbihOb2RlKik7CiAgICAgdm9pZCBjb21waWxlQ3JlYXRlRGlyZWN0QXJndW1lbnRz
KE5vZGUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQzMl82NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklUMzJfNjQuY3BwCmluZGV4IDIzY2YyNDRiMGM4M2M5NzE1YmU3MTE1NGViNmMyNjdlZDVh
MzM4NzQuLjY5ZThlZWIzZjEzMzNhNWQzOGQ0YjQzYzUxZjNmNDc4NzAwY2FiMWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNw
cApAQCAtNDIxMyw3ICs0MjEzLDExIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9k
ZSogbm9kZSkKICAgICAgICAgY29tcGlsZUNyZWF0ZUNsb25lZEFyZ3VtZW50cyhub2RlKTsKICAg
ICAgICAgYnJlYWs7CiAgICAgfQotICAgICAgICAKKyAgICAKKyAgICBjYXNlIE5ld0Fycm93RnVu
Y3Rpb246CisgICAgICAgIGNvbXBpbGVOZXdBcnJvd0Z1bmN0aW9uKG5vZGUpOworICAgICAgICBi
cmVhazsKKyAgICAgICAgICAgIAogICAgIGNhc2UgTmV3RnVuY3Rpb246CiAgICAgICAgIGNvbXBp
bGVOZXdGdW5jdGlvbihub2RlKTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAppbmRleCAzZTU3NGQ0ZjY5YjA1
OTM2MTRjYzdmMmJkMzFjZWI5ZDU4ZWVjZTMwLi42NjhhZGJhZTFmYTNkMmJiMWRiNTUzMmYwM2Yw
YTQ5MWE5YTQ3MzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Bl
Y3VsYXRpdmVKSVQ2NC5jcHAKQEAgLTQyNTIsMTEgKzQyNTIsMTUgQEAgdm9pZCBTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBjb21waWxlQ3JlYXRlQ2xvbmVkQXJn
dW1lbnRzKG5vZGUpOwogICAgICAgICBicmVhazsKICAgICB9Ci0gICAgICAgIAorCisgICAgY2Fz
ZSBOZXdBcnJvd0Z1bmN0aW9uOgorICAgICAgICBjb21waWxlTmV3QXJyb3dGdW5jdGlvbihub2Rl
KTsKKyAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAKICAgICBjYXNlIE5ld0Z1bmN0aW9uOgog
ICAgICAgICBjb21waWxlTmV3RnVuY3Rpb24obm9kZSk7CiAgICAgICAgIGJyZWFrOwotICAgICAg
ICAKKwogICAgIGNhc2UgSW46CiAgICAgICAgIGNvbXBpbGVJbihub2RlKTsKICAgICAgICAgYnJl
YWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1N0cnVjdHVyZVJl
Z2lzdHJhdGlvblBoYXNlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RydWN0
dXJlUmVnaXN0cmF0aW9uUGhhc2UuY3BwCmluZGV4IDI4NjQ2ZDEzZmNmNGM5NjVjNjIwZDAwMjEx
YjBkY2JmMDNiMzdjMmQuLjczMzNhODM2MGM3MTljOTg0ZTBlODk1M2ZlNzFjMDk3NTM2YjhmYTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RydWN0dXJlUmVnaXN0
cmF0aW9uUGhhc2UuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RydWN0
dXJlUmVnaXN0cmF0aW9uUGhhc2UuY3BwCkBAIC0xMzAsNyArMTMwLDkgQEAgcHVibGljOgogICAg
ICAgICAgICAgICAgIGNhc2UgTmV3UmVnZXhwOgogICAgICAgICAgICAgICAgICAgICByZWdpc3Rl
clN0cnVjdHVyZShtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihub2RlLT5vcmlnaW4uc2VtYW50aWMp
LT5yZWdFeHBTdHJ1Y3R1cmUoKSk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246Cisg
ICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyU3RydWN0dXJlKG1fZ3JhcGguZ2xvYmFsT2JqZWN0
Rm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyktPmFycm93RnVuY3Rpb25TdHJ1Y3R1cmUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIGNhc2UgTmV3RnVuY3Rp
b246CiAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyU3RydWN0dXJlKG1fZ3JhcGguZ2xvYmFs
T2JqZWN0Rm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyktPmZ1bmN0aW9uU3RydWN0dXJlKCkpOwog
ICAgICAgICAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuY3BwCmluZGV4IGU0MTZmZGFhZmVl
MjIyOWY2NTNiOWFlMDYyNDgwMDA5OTk4NzVhMDAuLjNjMzg2NGNhMTgwYWEzNmU0ODA4YzIzYTEz
MDZiZTI4ZTVkN2I5MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
QWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmNwcApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5j
bHVkZSAiRGlyZWN0QXJndW1lbnRzLmgiCiAjaW5jbHVkZSAiR2V0dGVyU2V0dGVyLmgiCisjaW5j
bHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNFbnZpcm9ubWVudFJlY29yZC5o
IgogI2luY2x1ZGUgIkpTUHJvcGVydHlOYW1lRW51bWVyYXRvci5oIgogI2luY2x1ZGUgIkpTU2Nv
cGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RI
ZWFwUmVwb3NpdG9yeS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhl
YXBSZXBvc2l0b3J5LmgKaW5kZXggOTEyNzU0ZGZjNDAxNTJiMGVkMjQ4MzZhYzc1YjhmOTY5ODQz
OTliYi4uZWViMjA4YmUxZjQ2Y2ZjNDJiOTQ5NWE5ZmE5MjFmYmNkNmQ4MmRhNyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5LmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBvc2l0b3J5
LmgKQEAgLTg4LDYgKzg4LDEzIEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgRlRMIHsKICAg
ICBtYWNybyhTdHJ1Y3R1cmVfZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmU6Omdsb2JhbE9iamVjdE9m
ZnNldCgpKSBcCiAgICAgbWFjcm8oU3RydWN0dXJlX3Byb3RvdHlwZSwgU3RydWN0dXJlOjpwcm90
b3R5cGVPZmZzZXQoKSkgXAogICAgIG1hY3JvKFN0cnVjdHVyZV9zdHJ1Y3R1cmVJRCwgU3RydWN0
dXJlOjpzdHJ1Y3R1cmVJRE9mZnNldCgpKQorICAgIAorI2RlZmluZSBGT1JfRUFDSF9BQlNUUkFD
VF9GSUVMRF9BUlJPV0ZVTkNUSU9OKG1hY3JvKSBcCisgICAgbWFjcm8oSlNBcnJvd0Z1bmN0aW9u
X2V4ZWN1dGFibGUsIEpTQXJyb3dGdW5jdGlvbjo6b2Zmc2V0T2ZFeGVjdXRhYmxlKCkpIFwKKyAg
ICBtYWNybyhKU0Fycm93RnVuY3Rpb25fc2NvcGUsIEpTQXJyb3dGdW5jdGlvbjo6b2Zmc2V0T2ZT
Y29wZUNoYWluKCkpIFwKKyAgICBtYWNybyhKU0Fycm93RnVuY3Rpb25fcmFyZURhdGEsIEpTQXJy
b3dGdW5jdGlvbjo6b2Zmc2V0T2ZSYXJlRGF0YSgpKSBcCisgICAgbWFjcm8oSlNBcnJvd0Z1bmN0
aW9uX3RoaXMsIEpTQXJyb3dGdW5jdGlvbjo6b2Zmc2V0T2ZUaGlzVmFsdWUoKSkKKyAgICAKIAog
I2RlZmluZSBGT1JfRUFDSF9JTkRFWEVEX0FCU1RSQUNUX0hFQVAobWFjcm8pIFwKICAgICBtYWNy
byhEaXJlY3RBcmd1bWVudHNfc3RvcmFnZSwgRGlyZWN0QXJndW1lbnRzOjpzdG9yYWdlT2Zmc2V0
KCksIHNpemVvZihFbmNvZGVkSlNWYWx1ZSkpIFwKQEAgLTEyOSw2ICsxMzYsOSBAQCBwdWJsaWM6
CiAKICNkZWZpbmUgQUJTVFJBQ1RfRklFTERfREVDTEFSQVRJT04obmFtZSwgb2Zmc2V0KSBBYnN0
cmFjdEZpZWxkIG5hbWU7CiAgICAgRk9SX0VBQ0hfQUJTVFJBQ1RfRklFTEQoQUJTVFJBQ1RfRklF
TERfREVDTEFSQVRJT04pCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAg
ICBGT1JfRUFDSF9BQlNUUkFDVF9GSUVMRF9BUlJPV0ZVTkNUSU9OKEFCU1RSQUNUX0ZJRUxEX0RF
Q0xBUkFUSU9OKQorI2VuZGlmCiAjdW5kZWYgQUJTVFJBQ1RfRklFTERfREVDTEFSQVRJT04KICAg
ICAKICAgICBBYnN0cmFjdEZpZWxkJiBKU0NlbGxfZnJlZUxpc3ROZXh0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCmluZGV4IDBiZmRmY2NjNmQzMmFl
ZGI0ODBjNzM4OWFkY2JlMTY1Yjc3YjRlMjMuLjNiZjM4NzkwNzI5YzU2YTU3YTM2NzMzMWJhMzJm
OTNmNDI0MmQ0NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2Fw
YWJpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxp
dGllcy5jcHAKQEAgLTEwMyw2ICsxMDMsNyBAQCBpbmxpbmUgQ2FwYWJpbGl0eUxldmVsIGNhbkNv
bXBpbGUoTm9kZSogbm9kZSkKICAgICBjYXNlIExvb3BIaW50OgogICAgIGNhc2UgU2tpcFNjb3Bl
OgogICAgIGNhc2UgQ3JlYXRlQWN0aXZhdGlvbjoKKyAgICBjYXNlIE5ld0Fycm93RnVuY3Rpb246
CiAgICAgY2FzZSBOZXdGdW5jdGlvbjoKICAgICBjYXNlIEdldENsb3N1cmVWYXI6CiAgICAgY2Fz
ZSBQdXRDbG9zdXJlVmFyOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExJbnRyaW5zaWNSZXBvc2l0b3J5LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTElu
dHJpbnNpY1JlcG9zaXRvcnkuaAppbmRleCAzZDY2ZWNhODhkMDQzYmIzNTZjYjk2NjdlOWY2ZTM1
YWY5ODZiOGQzLi44ZmI3YWVlNGNiNDAxYzdmYTJhY2UyMjk5MmZmMTU2MGRkNzlmZmViIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRvcnku
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRvcnku
aApAQCAtODQsNiArODQsNyBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIEZUTCB7CiAgICAg
bWFjcm8oSl9KSVRPcGVyYXRpb25fRUpDLCBmdW5jdGlvblR5cGUoaW50NjQsIGludFB0ciwgaW50
NjQsIGludFB0cikpIFwKICAgICBtYWNybyhKX0pJVE9wZXJhdGlvbl9FSkosIGZ1bmN0aW9uVHlw
ZShpbnQ2NCwgaW50UHRyLCBpbnQ2NCwgaW50NjQpKSBcCiAgICAgbWFjcm8oSl9KSVRPcGVyYXRp
b25fRUpzY0MsIGZ1bmN0aW9uVHlwZShpbnRQdHIsIGludFB0ciwgaW50UHRyLCBpbnRQdHIpKSBc
CisgICAgbWFjcm8oSl9KSVRPcGVyYXRpb25fRUpzY0NKLCBmdW5jdGlvblR5cGUoaW50NjQsIGlu
dFB0ciwgaW50NjQsIGludDY0LCBpbnQ2NCkpXAogICAgIG1hY3JvKEpfSklUT3BlcmF0aW9uX0VK
c3NaLCBmdW5jdGlvblR5cGUoaW50NjQsIGludFB0ciwgaW50UHRyLCBpbnQzMikpIFwKICAgICBt
YWNybyhKX0pJVE9wZXJhdGlvbl9FU3NpSkksIGZ1bmN0aW9uVHlwZShpbnQ2NCwgaW50UHRyLCBp
bnRQdHIsIGludDY0LCBpbnRQdHIpKSBcCiAgICAgbWFjcm8oSnNzX0pJVE9wZXJhdGlvbl9FWiwg
ZnVuY3Rpb25UeXBlKGludFB0ciwgaW50UHRyLCBpbnQzMikpIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKaW5kZXggMTkyODFhOWJkMWQyZjcy
YjMwZGQzZTI0MjVkZjkzOTQ5NjkzODVlMy4uYzIyY2E2YzQxNTEyZjk4OGM3MmY1MmJhZjA0NGE4
ZmIwMjI2YzU4MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dl
ckRGR1RvTExWTS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRG
R1RvTExWTS5jcHAKQEAgLTQzLDYgKzQzLDcgQEAKICNpbmNsdWRlICJGVExPdXRwdXQuaCIKICNp
bmNsdWRlICJGVExUaHVua3MuaCIKICNpbmNsdWRlICJGVExXZWlnaHRlZFRhcmdldC5oIgorI2lu
Y2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNs
dWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgogI2luY2x1ZGUgIk9wZXJhbmRzSW5saW5lcy5o
IgpAQCAtNjA3LDYgKzYwOCw5IEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgQ3JlYXRlQWN0aXZh
dGlvbjoKICAgICAgICAgICAgIGNvbXBpbGVDcmVhdGVBY3RpdmF0aW9uKCk7CiAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgY2FzZSBOZXdBcnJvd0Z1bmN0aW9uOgorICAgICAgICAgICAgY29t
cGlsZU5ld0Fycm93RnVuY3Rpb24oKTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNl
IE5ld0Z1bmN0aW9uOgogICAgICAgICAgICAgY29tcGlsZU5ld0Z1bmN0aW9uKCk7CiAgICAgICAg
ICAgICBicmVhazsKQEAgLTI5ODMsNiArMjk4Nyw1MSBAQCBwcml2YXRlOgogICAgICAgICBzZXRK
U1ZhbHVlKG1fb3V0LnBoaShtX291dC5pbnRQdHIsIGZhc3RSZXN1bHQsIHNsb3dSZXN1bHQpKTsK
ICAgICB9CiAgICAgCisgICAgdm9pZCBjb21waWxlTmV3QXJyb3dGdW5jdGlvbigpCisgICAgewor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIExWYWx1ZSBzY29w
ZSA9IGxvd0NlbGwobV9ub2RlLT5jaGlsZDEoKSk7CisgICAgICAgIExWYWx1ZSB0aGlzVmFsdWUg
PSBsb3dKU1ZhbHVlKG1fbm9kZS0+Y2hpbGQyKCkpOworICAgICAgICBGdW5jdGlvbkV4ZWN1dGFi
bGUqIGV4ZWN1dGFibGUgPSBtX25vZGUtPmNhc3RPcGVyYW5kPEZ1bmN0aW9uRXhlY3V0YWJsZSo+
KCk7CisgICAgICAgIGlmIChleGVjdXRhYmxlLT5zaW5nbGV0b25GdW5jdGlvbigpLT5pc1N0aWxs
VmFsaWQoKSkgeworICAgICAgICAgICAgTFZhbHVlIGNhbGxSZXN1bHQgPSB2bUNhbGwoCisgICAg
ICAgICAgICAgICAgbV9vdXQub3BlcmF0aW9uKG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24pLAor
ICAgICAgICAgICAgICAgIG1fY2FsbEZyYW1lLCBzY29wZSwgd2Vha1BvaW50ZXIoZXhlY3V0YWJs
ZSksIHRoaXNWYWx1ZSk7CisgICAgICAgICAgICBzZXRKU1ZhbHVlKGNhbGxSZXN1bHQpOworICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSA9IG1fZ3JhcGguZ2xvYmFsT2JqZWN0Rm9yKG1fbm9kZS0+b3JpZ2luLnNlbWFu
dGljKS0+YXJyb3dGdW5jdGlvblN0cnVjdHVyZSgpOworICAgICAgICAKKyAgICAgICAgTEJhc2lj
QmxvY2sgc2xvd1BhdGggPSBGVExfTkVXX0JMT0NLKG1fb3V0LCAoIk5ld0Fycm93RnVuY3Rpb24g
c2xvdyBwYXRoIikpOworICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBGVExfTkVX
X0JMT0NLKG1fb3V0LCAoIk5ld0Fycm93RnVuY3Rpb24gY29udGludWF0aW9uIikpOworICAgICAg
ICAKKyAgICAgICAgTEJhc2ljQmxvY2sgbGFzdE5leHQgPSBtX291dC5pbnNlcnROZXdCbG9ja3NC
ZWZvcmUoc2xvd1BhdGgpOworICAgICAgICAKKyAgICAgICAgTFZhbHVlIGZhc3RPYmplY3QgPSBh
bGxvY2F0ZU9iamVjdDxKU0Fycm93RnVuY3Rpb24+KHN0cnVjdHVyZSwgbV9vdXQuaW50UHRyWmVy
bywgc2xvd1BhdGgpOworICAgICAgICAKKyAgICAgICAgLy8gV2UgZG9uJ3QgbmVlZCBtZW1vcnkg
YmFycmllcnMgc2luY2Ugd2UganVzdCBmYXN0LWNyZWF0ZWQgdGhlIGZ1bmN0aW9uLCBzbyBpdAor
ICAgICAgICAvLyBtdXN0IGJlIHlvdW5nLgorICAgICAgICBtX291dC5zdG9yZVB0cihzY29wZSwg
ZmFzdE9iamVjdCwgbV9oZWFwcy5KU0Fycm93RnVuY3Rpb25fc2NvcGUpOworICAgICAgICBtX291
dC5zdG9yZVB0cih3ZWFrUG9pbnRlcihleGVjdXRhYmxlKSwgZmFzdE9iamVjdCwgbV9oZWFwcy5K
U0Fycm93RnVuY3Rpb25fZXhlY3V0YWJsZSk7CisgICAgICAgIG1fb3V0LnN0b3JlUHRyKHRoaXNW
YWx1ZSwgZmFzdE9iamVjdCwgbV9oZWFwcy5KU0Fycm93RnVuY3Rpb25fdGhpcyk7CisgICAgICAg
IG1fb3V0LnN0b3JlUHRyKG1fb3V0LmludFB0clplcm8sIGZhc3RPYmplY3QsIG1faGVhcHMuSlNB
cnJvd0Z1bmN0aW9uX3JhcmVEYXRhKTsKKyAgICAgICAgCisgICAgICAgIFZhbHVlRnJvbUJsb2Nr
IGZhc3RSZXN1bHQgPSBtX291dC5hbmNob3IoZmFzdE9iamVjdCk7CisgICAgICAgIG1fb3V0Lmp1
bXAoY29udGludWF0aW9uKTsKKyAgICAgICAgCisgICAgICAgIG1fb3V0LmFwcGVuZFRvKHNsb3dQ
YXRoLCBjb250aW51YXRpb24pOworICAgICAgICBMVmFsdWUgY2FsbFJlc3VsdCA9IHZtQ2FsbCgK
KyAgICAgICAgICAgIG1fb3V0Lm9wZXJhdGlvbihvcGVyYXRpb25OZXdBcnJvd0Z1bmN0aW9uV2l0
aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludCksCisgICAgICAgICAgICBtX2NhbGxG
cmFtZSwgc2NvcGUsIHdlYWtQb2ludGVyKGV4ZWN1dGFibGUpLCB0aGlzVmFsdWUpOworICAgICAg
ICBWYWx1ZUZyb21CbG9jayBzbG93UmVzdWx0ID0gbV9vdXQuYW5jaG9yKGNhbGxSZXN1bHQpOwor
ICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7CisgICAgICAgIAorICAgICAgICBtX291
dC5hcHBlbmRUbyhjb250aW51YXRpb24sIGxhc3ROZXh0KTsKKyAgICAgICAgc2V0SlNWYWx1ZSht
X291dC5waGkobV9vdXQuaW50UHRyLCBmYXN0UmVzdWx0LCBzbG93UmVzdWx0KSk7CisjZW5kaWYK
KyAgICB9CisgICAgCiAgICAgdm9pZCBjb21waWxlQ3JlYXRlRGlyZWN0QXJndW1lbnRzKCkKICAg
ICB7CiAgICAgICAgIC8vIEZJWE1FOiBBIG1vcmUgZWZmZWN0aXZlIHdheSBvZiBkZWFsaW5nIHdp
dGggdGhlIGFyZ3VtZW50IGNvdW50IGFuZCBjYWxsZWUgaXMgdG8gaGF2ZQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKaW5kZXggMTdkZDNi
NGY0NWY1NmZmMjAwMjNkNzNiNzVkYzdkNzBiNjM0OTY4Zi4uMjAwMDVjMDcxNTMzYjE2ODNhZmRh
MmQ2MmRjNjVjMDE2N2Q5MTA5NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
dGVycHJldGVyL0ludGVycHJldGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50
ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCkBAIC00NCw2ICs0NCw3IEBACiAjaW5jbHVkZSAiRXhj
ZXB0aW9uSGVscGVycy5oIgogI2luY2x1ZGUgIkdldHRlclNldHRlci5oIgogI2luY2x1ZGUgIkpT
QXJyYXkuaCIKKyNpbmNsdWRlICJKU0Fycm93RnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0JvdW5k
RnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNMZXhpY2Fs
RW52aXJvbm1lbnQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0Nh
bGxIZWxwZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxsSGVscGVycy5oCmlu
ZGV4IGZkMzQ0YWRiY2FiYjE1ZmJkODE0ZWQ2ZmJkNDc4Zjc0YjYxNTc2M2MuLjA3YWNkNmQ1MzJk
MzI4YWZkYjc3YWNmMjAxMzM5MGVmMzlkZDlkNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvQ0NhbGxIZWxwZXJzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9DQ2FsbEhlbHBlcnMuaApAQCAtMjc0LDYgKzI3NCwxNSBAQCBwdWJsaWM6CiAgICAgICAgIGFk
ZENhbGxBcmd1bWVudChhcmcyKTsKICAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzMpOwogICAg
IH0KKyAgICAKKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQgc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0
YXRlKEdQUlJlZyBhcmcxLCBUcnVzdGVkSW1tUHRyIGFyZzIsIEdQUlJlZyBhcmczKQorICAgIHsK
KyAgICAgICAgcmVzZXRDYWxsQXJndW1lbnRzKCk7CisgICAgICAgIGFkZENhbGxBcmd1bWVudChH
UFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rlcik7CisgICAgICAgIGFkZENhbGxBcmd1bWVudChhcmcx
KTsKKyAgICAgICAgYWRkQ2FsbEFyZ3VtZW50KGFyZzIpOworICAgICAgICBhZGRDYWxsQXJndW1l
bnQoYXJnMyk7CisgICAgfQogCiAgICAgQUxXQVlTX0lOTElORSB2b2lkIHNldHVwQXJndW1lbnRz
V2l0aEV4ZWNTdGF0ZShHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIsIFRydXN0ZWRJbW0zMiBhcmcz
KQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAppbmRleCBiNDExM2M0NWU3MmM3ZTE1
OGVjMWYxOTIzY2JmZTI5YzVlZjU0MjgyLi44YTFiYWM4N2ZkMTBiOTg3ZjY0ZmQwYzIxMTMyMTBj
YTY3MDVlZGIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCkBAIC0yNjAsNiArMjYwLDcg
QEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3MoKQogICAgICAgICBERUZJTkVfT1Ao
b3BfbmV3X2FycmF5X2J1ZmZlcikKICAgICAgICAgREVGSU5FX09QKG9wX25ld19mdW5jKQogICAg
ICAgICBERUZJTkVfT1Aob3BfbmV3X2Z1bmNfZXhwKQorICAgICAgICBERUZJTkVfT1Aob3BfbmV3
X2Fycm93X2Z1bmNfZXhwKSAKICAgICAgICAgREVGSU5FX09QKG9wX25ld19vYmplY3QpCiAgICAg
ICAgIERFRklORV9PUChvcF9uZXdfcmVnZXhwKQogICAgICAgICBERUZJTkVfT1Aob3Bfbm90KQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklULmgKaW5kZXggZDcyMjVlYTRiMmFlNTQzMTg3ODQ0YzIwNzZlYzZl
YjhkNjVkMjFjOS4uZGFhNTIwOTQ4ODU3OTE2MGJiZDljNDdkMDdiNGEwNDU5ZmI4YjAxMiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVC5oCkBAIC01MjEsNiArNTIxLDcgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfYXJyYXlfYnVmZmVyKEluc3RydWN0aW9uKik7CiAg
ICAgICAgIHZvaWQgZW1pdF9vcF9uZXdfZnVuYyhJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lk
IGVtaXRfb3BfbmV3X2Z1bmNfZXhwKEluc3RydWN0aW9uKik7CisgICAgICAgIHZvaWQgZW1pdF9v
cF9uZXdfYXJyb3dfZnVuY19leHAoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29w
X25ld19vYmplY3QoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX25ld19yZWdl
eHAoSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX25vdChJbnN0cnVjdGlvbiop
OwpAQCAtNzAyLDYgKzcwMyw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKSiwgaW50LCBHUFJSZWcs
IEdQUlJlZyk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19K
SVRPcGVyYXRpb25fRUpzYywgR1BSUmVnKTsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwg
Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQywgaW50LCBHUFJSZWcsIEpTQ2VsbCop
OworICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0
aW9uX0VKc2NDSiwgaW50LCBHUFJSZWcsIEpTQ2VsbCosIEdQUlJlZyk7CiAgICAgICAgIE1hY3Jv
QXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUpzY1osIEdQUlJl
ZywgaW50MzJfdCk7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpDYWxsIGNhbGxPcGVyYXRpb24o
Q19KSVRPcGVyYXRpb25fRUpzY1osIGludCwgR1BSUmVnLCBpbnQzMl90KTsKICNpZiBVU0UoSlNW
QUxVRTY0KQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVz
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMuaAppbmRleCA5ZWUyNGQw
OTIyOGE5ODgyZWE3Njk2MjlkMWE4N2I2YzM0YTg2MzM0Li5hMGU0MGM1YzYxZmU2M2U5ODYzZWQy
MjNlZGY1ZDQ1MWYzMThhNzc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVElubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZXMu
aApAQCAtMjcxLDYgKzI3MSwxMiBAQCBBTFdBWVNfSU5MSU5FIE1hY3JvQXNzZW1ibGVyOjpDYWxs
IEpJVDo6Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNjQyBvcGVyYQogICAgIHJldHVy
biBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0SlNWYWx1ZVJlc3VsdChvcGVyYXRpb24s
IGRzdCk7CiB9CiAKK0FMV0FZU19JTkxJTkUgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgSklUOjpjYWxs
T3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKc2NDSiBvcGVyYXRpb24sIGludCBkc3QsIEdQUlJl
ZyBhcmcxLCBKU0NlbGwqIGNlbGwsIEdQUlJlZyBhcmcyKQoreworICAgIHNldHVwQXJndW1lbnRz
V2l0aEV4ZWNTdGF0ZShhcmcxLCBUcnVzdGVkSW1tUHRyKGNlbGwpLCBhcmcyKTsKKyAgICByZXR1
cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldEpTVmFsdWVSZXN1bHQob3BlcmF0aW9u
LCBkc3QpOworfQorICAgIAogQUxXQVlTX0lOTElORSBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBKSVQ6
OmNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRVAgb3BlcmF0aW9uLCBpbnQgZHN0LCB2b2lk
KiBwb2ludGVyKQogewogICAgIHNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1t
UHRyKHBvaW50ZXIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3Bjb2Rlcy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCmlu
ZGV4IDVkNGQwYjlmZTg3NjhhYzJmZTU5NjU3NWVkNGFhODEyMjBkYWQ2YzcuLmRjZTM3MTI1YzRl
ZmIwNTRhODA2MTU0ZTBhZDIzYWRmZjllYTRiN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRPcGNvZGVzLmNwcApAQCAtOTg3LDYgKzk4NywyOSBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9u
ZXdfZnVuY19leHAoSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKICAgICBjYWxsT3Bl
cmF0aW9uKG9wZXJhdGlvbk5ld0Z1bmN0aW9uLCBkc3QsIHJlZ1QwLCBmdW5jRXhwcik7CiAgICAg
ZG9uZS5saW5rKHRoaXMpOwogfQorICAgIAordm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2Fycm93X2Z1
bmNfZXhwKEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24pCit7CisgICAgSnVtcCBub3RV
bmRlZmluZWRTY29wZTsKKyAgICBpbnQgZHN0ID0gY3VycmVudEluc3RydWN0aW9uWzFdLnUub3Bl
cmFuZDsKKyNpZiBVU0UoSlNWQUxVRTY0KQorICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY3Vy
cmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCwgcmVnVDApOworICAgIGVtaXRHZXRWaXJ0dWFs
UmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzRdLnUub3BlcmFuZCwgcmVnVDEpOworICAgIG5v
dFVuZGVmaW5lZFNjb3BlID0gYnJhbmNoNjQoTm90RXF1YWwsIHJlZ1QwLCBUcnVzdGVkSW1tNjQo
SlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpKSk7CisgICAgc3RvcmU2NChUcnVzdGVkSW1t
NjQoSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpKSwgQWRkcmVzcyhjYWxsRnJhbWVSZWdp
c3Rlciwgc2l6ZW9mKFJlZ2lzdGVyKSAqIGRzdCkpOworI2Vsc2UKKyAgICBlbWl0TG9hZFBheWxv
YWQoY3VycmVudEluc3RydWN0aW9uWzJdLnUub3BlcmFuZCwgcmVnVDApOworICAgIGVtaXRMb2Fk
UGF5bG9hZChjdXJyZW50SW5zdHJ1Y3Rpb25bNF0udS5vcGVyYW5kLCByZWdUMSk7CisgICAgbm90
VW5kZWZpbmVkU2NvcGUgPSBicmFuY2gzMihOb3RFcXVhbCwgdGFnRm9yKGN1cnJlbnRJbnN0cnVj
dGlvblsyXS51Lm9wZXJhbmQpLCBUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6VW5kZWZpbmVkVGFnKSk7
CisgICAgZW1pdFN0b3JlKGRzdCwganNVbmRlZmluZWQoKSk7CisjZW5kaWYKKyAgICBKdW1wIGRv
bmUgPSBqdW1wKCk7CisgICAgbm90VW5kZWZpbmVkU2NvcGUubGluayh0aGlzKTsKKyAgICAKKyAg
ICBGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmN0aW9uID0gbV9jb2RlQmxvY2stPmZ1bmN0aW9uRXhw
cihjdXJyZW50SW5zdHJ1Y3Rpb25bM10udS5vcGVyYW5kKTsKKyAgICBjYWxsT3BlcmF0aW9uKG9w
ZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24sIGRzdCwgcmVnVDAsIGZ1bmN0aW9uLCByZWdUMSk7Cisg
ICAgZG9uZS5saW5rKHRoaXMpOworfQogCiB2b2lkIEpJVDo6ZW1pdF9vcF9uZXdfYXJyYXkoSW5z
dHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVE9wZXJhdGlvbnMuY3BwCmluZGV4IDk4ZDg3NzNmMzhkOTVmMmI4ZTU4Y2RiZDc4MzYw
Mjk4MTU0MDA3MTMuLmQyZWRhOWI4YWRiMWFjYWRhYWEwZmQ3MGQ4N2M0NzcwNTA1YzFiY2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcApAQCAtNDIsNiAr
NDIsNyBAQAogI2luY2x1ZGUgIkhvc3RDYWxsUmV0dXJuVmFsdWUuaCIKICNpbmNsdWRlICJKSVQu
aCIKICNpbmNsdWRlICJKSVRUb0RGR0RlZmVycmVkQ29tcGlsYXRpb25DYWxsYmFjay5oIgorI2lu
Y2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNs
dWRlICJKU0NhdGNoU2NvcGUuaCIKICNpbmNsdWRlICJKU0Z1bmN0aW9uTmFtZVNjb3BlLmgiCkBA
IC05NzYsNiArOTc3LDM5IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
TmV3RnVuY3Rpb25XaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRjCiAgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShKU0Z1bmN0aW9uOjpjcmVhdGVXaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRp
b25XYXRjaHBvaW50KHZtLCBzdGF0aWNfY2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihmdW5jdGlv
bkV4ZWN1dGFibGUpLCBzY29wZSkpOwogfQogCitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb25XaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRj
aHBvaW50KEV4ZWNTdGF0ZSogZXhlYywgSlNTY29wZSogc2NvcGUsIEpTQ2VsbCogZnVuY3Rpb25F
eGVjdXRhYmxlLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUpCit7CisjaWYgRU5BQkxFKEVTNl9B
UlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICAgICAgQVNTRVJUKGZ1bmN0aW9uRXhlY3V0YWJsZS0+
aW5oZXJpdHMoRnVuY3Rpb25FeGVjdXRhYmxlOjppbmZvKCkpKTsKKyAgICAgICAgVk0mIHZtID0g
ZXhlYy0+dm0oKTsKKyAgICAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4
ZWMpOworICAgICAgICAKKyAgICAgICAgSlNGdW5jdGlvbiogZnVuYyA9ICBKU0Z1bmN0aW9uOjpj
cmVhdGUodm0sIHN0YXRpY19jYXN0PEZ1bmN0aW9uRXhlY3V0YWJsZSo+KGZ1bmN0aW9uRXhlY3V0
YWJsZSksIHNjb3BlKTsKKyAgICAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGV4
ZWMtPmNhbGxlZSgpLT5nbG9iYWxPYmplY3QoKTsKKyAgICAgICAgCisgICAgICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGVXaXRoSW52YWxpZGF0ZWRSZWFs
bG9jYXRpb25XYXRjaHBvaW50KHZtLCBnbG9iYWxPYmplY3QsIGZ1bmMsIEpTVmFsdWU6OmRlY29k
ZSh0aGlzVmFsdWUpKSk7CisjZWxzZQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpz
VW5kZWZpbmVkKCkpOworI2VuZGlmCit9CisgICAgCitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBKU1Njb3BlKiBz
Y29wZSwgSlNDZWxsKiBmdW5jdGlvbkV4ZWN1dGFibGUsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1
ZSkKK3sKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIEFTU0VSVChm
dW5jdGlvbkV4ZWN1dGFibGUtPmluaGVyaXRzKEZ1bmN0aW9uRXhlY3V0YWJsZTo6aW5mbygpKSk7
CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJh
Y2VyKCZ2bSwgZXhlYyk7CisKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gZXhl
Yy0+Y2FsbGVlKCktPmdsb2JhbE9iamVjdCgpOworICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSAgSlNG
dW5jdGlvbjo6Y3JlYXRlKHZtLCBzdGF0aWNfY2FzdDxGdW5jdGlvbkV4ZWN1dGFibGUqPihmdW5j
dGlvbkV4ZWN1dGFibGUpLCBzY29wZSk7CisKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpT
QXJyb3dGdW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIGZ1bmMsIEpTVmFsdWU6OmRl
Y29kZSh0aGlzVmFsdWUpKSk7CisKKyNlbHNlCisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c1VuZGVmaW5lZCgpKTsKKyNlbmRpZgorfQorCiBKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0
aW9uTmV3T2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiB7CiAg
ICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVE9wZXJhdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bl
cmF0aW9ucy5oCmluZGV4IDRjODFkODU0N2M4Y2Y2NzA2ZjA4ZGYwNjE3Y2Q5YTkxNjg4ZWY5NjUu
LjUxMWZjNzc2ZTM4M2NhMjI1MTJiZDg0MWRlYmNhYTYzNDQ5ZTcyNDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCkBAIC0xMTYsNiArMTE2LDcgQEAgdHlwZWRl
ZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVBQKShFeGVj
U3RhdGUqLCB2b2lkKiwgdm8KIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiAo
KkpfSklUT3BlcmF0aW9uX0VQUykoRXhlY1N0YXRlKiwgdm9pZCosIHNpemVfdCk7CiB0eXBlZGVm
IEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FUGMpKEV4ZWNT
dGF0ZSosIEluc3RydWN0aW9uKik7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJ
T04gKCpKX0pJVE9wZXJhdGlvbl9FSnNjQykoRXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCop
OwordHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25f
RUpzY0NKKShFeGVjU3RhdGUqLCBKU1Njb3BlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFsdWUpOwog
dHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNT
KShFeGVjU3RhdGUqLCBzaXplX3QsIHNpemVfdCk7CiB0eXBlZGVmIEVuY29kZWRKU1ZhbHVlIEpJ
VF9PUEVSQVRJT04gKCpKX0pJVE9wZXJhdGlvbl9FU3NpQ0kpKEV4ZWNTdGF0ZSosIFN0cnVjdHVy
ZVN0dWJJbmZvKiwgSlNDZWxsKiwgU3RyaW5nSW1wbCopOwogdHlwZWRlZiBFbmNvZGVkSlNWYWx1
ZSBKSVRfT1BFUkFUSU9OICgqSl9KSVRPcGVyYXRpb25fRVNzaUpJKShFeGVjU3RhdGUqLCBTdHJ1
Y3R1cmVTdHViSW5mbyosIEVuY29kZWRKU1ZhbHVlLCBTdHJpbmdJbXBsKik7CkBAIC0yODMsNiAr
Mjg0LDggQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJheUJ1
ZmZlcldpdGhQcm9maWxlKEV4ZWNTdGF0ZSosIEFycmEKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uTmV3QXJyYXlXaXRoU2l6ZUFuZFByb2ZpbGUoRXhlY1N0YXRlKiwgQXJy
YXlBbGxvY2F0aW9uUHJvZmlsZSosIEVuY29kZWRKU1ZhbHVlIHNpemUpIFdURl9JTlRFUk5BTDsK
IEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3RnVuY3Rpb24oRXhlY1N0
YXRlKiwgSlNTY29wZSosIEpTQ2VsbCopIFdURl9JTlRFUk5BTDsKIEVuY29kZWRKU1ZhbHVlIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uTmV3RnVuY3Rpb25XaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRp
b25XYXRjaHBvaW50KEV4ZWNTdGF0ZSosIEpTU2NvcGUqLCBKU0NlbGwqKSBXVEZfSU5URVJOQUw7
CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rpb24o
RXhlY1N0YXRlKiwgSlNTY29wZSosIEpTQ2VsbCosIEVuY29kZWRKU1ZhbHVlKSBXVEZfSU5URVJO
QUw7CitFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0Fycm93RnVuY3Rp
b25XaXRoSW52YWxpZGF0ZWRSZWFsbG9jYXRpb25XYXRjaHBvaW50KEV4ZWNTdGF0ZSosIEpTU2Nv
cGUqLCBKU0NlbGwqLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVSTkFMOwogSlNDZWxsKiBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvbk5ld09iamVjdChFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqKSBXVEZf
SU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld1JlZ2V4
cChFeGVjU3RhdGUqLCB2b2lkKikgV1RGX0lOVEVSTkFMOwogdm9pZCBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbkhhbmRsZVdhdGNoZG9nVGltZXIoRXhlY1N0YXRlKikgV1RGX0lOVEVSTkFMOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKaW5kZXggMjBi
ZWJmMzJmNjE1NGZhOWYzZjQ2OTYyZjNhNjE0MGEyZTg0NmRjMC4uN2E4NTA1ZjI4ZmVjMmNhZTJj
NjUzODVjYzA5NGJjZGZjYzI0YWZkOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTExJbnRTbG93UGF0aHMuY3BwCkBAIC0zOCw2ICszOCw4IEBACiAjaW5jbHVkZSAiSW50ZXJw
cmV0ZXIuaCIKICNpbmNsdWRlICJKSVQuaCIKICNpbmNsdWRlICJKSVRFeGNlcHRpb25zLmgiCisj
aW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNCb3VuZEZ1bmN0aW9uLmgi
CiAjaW5jbHVkZSAiSlNMZXhpY2FsRW52aXJvbm1lbnQuaCIKICNpbmNsdWRlICJKU0NJbmxpbmVz
LmgiCiAjaW5jbHVkZSAiSlNDSlNWYWx1ZS5oIgpAQCAtMTcxLDYgKzE3MywxNSBAQCBuYW1lc3Bh
Y2UgSlNDIHsgbmFtZXNwYWNlIExMSW50IHsKICAgICAgICAgTExJTlRfUkVUVVJOX1RXTyhwYywg
X19yY2ZfZXhlYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICB9IHdoaWxl
IChmYWxzZSkKIAorICAgIAorI2RlZmluZSBMTElOVF9DQUxDX1BST1BFUlRZX0ZPUl9GVU5DX0VY
UFIoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgTExJTlRfQkVH
SU4oKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVCbG9jaygp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIEpTU2NvcGUqIHNjb3Bl
ID0gZXhlYy0+dW5jaGVja2VkUihwY1syXS51Lm9wZXJhbmQpLlJlZ2lzdGVyOjpzY29wZSgpOyAg
ICAgICBcCisgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlID0gY29kZUJsb2NrLT5m
dW5jdGlvbkV4cHIocGNbM10udS5vcGVyYW5kKTsgIFwKKyAgICAKK2VudW0gRnVuY3Rpb25FeHBy
ZXNzaW9uVHlwZSB7IEFycm93RnVuY3Rpb25FeHByZXNzaW9uVHlwZSwgQ29tbW9uRnVuY3Rpb25F
eHByZXNzaW9uVHlwZX07CisgICAgCiBleHRlcm4gIkMiIFNsb3dQYXRoUmV0dXJuVHlwZSBsbGlu
dF90cmFjZV9vcGVyYW5kKEV4ZWNTdGF0ZSogZXhlYywgSW5zdHJ1Y3Rpb24qIHBjLCBpbnQgZnJv
bVdoZXJlLCBpbnQgb3BlcmFuZCkKIHsKICAgICBMTElOVF9CRUdJTigpOwpAQCAtMTAwMywxNiAr
MTAxNCwzMyBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfbmV3X2Z1bmMpCiAjZW5k
aWYKICAgICBMTElOVF9SRVRVUk4oSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBjb2RlQmxvY2stPmZ1
bmN0aW9uRGVjbChwY1szXS51Lm9wZXJhbmQpLCBzY29wZSkpOwogfQotCisgICAgCiBMTElOVF9T
TE9XX1BBVEhfREVDTChzbG93X3BhdGhfbmV3X2Z1bmNfZXhwKQogewotICAgIExMSU5UX0JFR0lO
KCk7Ci0gICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVjLT5jb2RlQmxvY2soKTsKLSAgICBK
U1Njb3BlKiBzY29wZSA9IGV4ZWMtPnVuY2hlY2tlZFIocGNbMl0udS5vcGVyYW5kKS5SZWdpc3Rl
cjo6c2NvcGUoKTsKLSAgICBGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmN0aW9uID0gY29kZUJsb2Nr
LT5mdW5jdGlvbkV4cHIocGNbM10udS5vcGVyYW5kKTsKLSAgICBKU0Z1bmN0aW9uKiBmdW5jID0g
SlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBmdW5jdGlvbiwgc2NvcGUpOworICAgIExMSU5UX0NBTENf
UFJPUEVSVFlfRk9SX0ZVTkNfRVhQUigpOworCisgICAgSlNGdW5jdGlvbiogZnVuYyA9IEpTRnVu
Y3Rpb246OmNyZWF0ZSh2bSwgZXhlY3V0YWJsZSwgc2NvcGUpOworICAgIExMSU5UX1JFVFVSTihm
dW5jKTsKK30KKworCitMTElOVF9TTE9XX1BBVEhfREVDTChzbG93X3BhdGhfbmV3X2Fycm93X2Z1
bmNfZXhwKQoreworICAgIExMSU5UX0NBTENfUFJPUEVSVFlfRk9SX0ZVTkNfRVhQUigpOworCisj
aWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBKU1ZhbHVlIHRoaXNWYWx1
ZSA9IExMSU5UX09QX0MoNCkuanNWYWx1ZSgpOworICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QgPSBleGVjLT5jYWxsZWUoKS0+Z2xvYmFsT2JqZWN0KCk7CiAgICAgCisgICAgSlNGdW5j
dGlvbiogZnVuYyA9IEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgZXhlY3V0YWJsZSwgc2NvcGUpOwor
ICAgIAorICAgIGNvbnN0IFN0cmluZyBmdW5jV2l0aG91dE5hbWUgPSAiIjsKKyAgICAKKyAgICBM
TElOVF9SRVRVUk4oSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgZnVu
YywgdGhpc1ZhbHVlKSk7CisjZWxzZQorICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBKU0Z1bmN0aW9u
OjpjcmVhdGUodm0sIGV4ZWN1dGFibGUsIHNjb3BlKTsKICAgICBMTElOVF9SRVRVUk4oZnVuYyk7
CisjZW5kaWYKIH0KIAogc3RhdGljIFNsb3dQYXRoUmV0dXJuVHlwZSBoYW5kbGVIb3N0Q2FsbChF
eGVjU3RhdGUqIGV4ZWNDYWxsZWUsIEluc3RydWN0aW9uKiBwYywgSlNWYWx1ZSBjYWxsZWUsIENv
ZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xMSW50U2xvd1BhdGhzLmgKaW5kZXggNGJmN2RlYjBmYTBiNmM2NDM4ZTM2Zjk2MzIwZTJmNjY5
NzM5YWY2NC4uYzdmYWI5NjkxYzE4YjkzOTU2ZDBlYTI5ZjMzOTU2MTE4YzVlNzFlZSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmgKQEAgLTk2LDYgKzk2
LDcgQEAgTExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9zd2l0Y2hfY2hhcik7
CiBMTElOVF9TTE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX3N3aXRjaF9zdHJpbmcpOwog
TExJTlRfU0xPV19QQVRIX0hJRERFTl9ERUNMKHNsb3dfcGF0aF9uZXdfZnVuYyk7CiBMTElOVF9T
TE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX25ld19mdW5jX2V4cCk7CitMTElOVF9TTE9X
X1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX25ld19hcnJvd19mdW5jX2V4cCk7CiBMTElOVF9T
TE9XX1BBVEhfSElEREVOX0RFQ0woc2xvd19wYXRoX2NhbGwpOwogTExJTlRfU0xPV19QQVRIX0hJ
RERFTl9ERUNMKHNsb3dfcGF0aF9jb25zdHJ1Y3QpOwogTExJTlRfU0xPV19QQVRIX0hJRERFTl9E
RUNMKHNsb3dfcGF0aF9zaXplX2ZyYW1lX2Zvcl92YXJhcmdzKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbSBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQppbmRleCA1NDNkOWU5
MzMzYzUxM2U5NzYxN2I3YmRhN2Y2OTk4NjY4MzhhMWUwLi4xODJiYmQ5ZTRlZjc4OTI4ZGE1MmZi
Y2VjODgyYTVkZjM2ZGI3OTQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCkBAIC0xMTY5LDYgKzExNjksMTAgQEAgX2xsaW50
X29wX25ld19mdW5jX2V4cDoKICAgICBjYWxsU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF9uZXdf
ZnVuY19leHApCiAgICAgZGlzcGF0Y2goNCkKIAorX2xsaW50X29wX25ld19hcnJvd19mdW5jX2V4
cDoKKyAgICB0cmFjZUV4ZWN1dGlvbigpCisgICAgY2FsbFNsb3dQYXRoKF9sbGludF9zbG93X3Bh
dGhfbmV3X2Fycm93X2Z1bmNfZXhwKQorICAgIGRpc3BhdGNoKDUpCiAKIF9sbGludF9vcF9jYWxs
OgogICAgIHRyYWNlRXhlY3V0aW9uKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvQVNUQnVpbGRlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RC
dWlsZGVyLmgKaW5kZXggYWE3MzcwNTJjYjNjODE1MzU3YzhhNmZlMzY4YWQyMTU5YmEzMmMwZi4u
OWQwMzE5MTQ0YmQ0ZDdiZTE2NmZkNzk0MDUyNThiOTJkMjRhNDY0OSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmgKQEAgLTM1Nyw2ICszNTcsMTkgQEAgcHVibGlj
OgogICAgICAgICAgICAgaW5TdHJpY3RDb250ZXh0LCBjb25zdHJ1Y3RvcktpbmQpOwogICAgIH0K
IAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgRXhwcmVzc2lvbk5v
ZGUqIGNyZWF0ZUFycm93RnVuY3Rpb25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRp
b24sIGNvbnN0IFBhcnNlckZ1bmN0aW9uSW5mbzxBU1RCdWlsZGVyPiYgaW5mbykKKyAgICB7Cisg
ICAgICAgIFNvdXJjZUNvZGUgc291cmNlID0gaW5mby5mdW5jdGlvbkJvZHlUeXBlID09IEFycm93
RnVuY3Rpb25Cb2R5RXhwcmVzc2lvbgorICAgICAgICA/IG1fc291cmNlQ29kZS0+c3ViQXJyb3dF
eHByZXNzaW9uKGluZm8uYXJyb3dGdW5jdGlvbk9mZnNldCwgaW5mby5jbG9zZUJyYWNlT2Zmc2V0
LCBpbmZvLmJvZHlTdGFydExpbmUsIGluZm8uYm9keVN0YXJ0Q29sdW1uKQorICAgICAgICA6IG1f
c291cmNlQ29kZS0+c3ViRXhwcmVzc2lvbihpbmZvLm9wZW5CcmFjZU9mZnNldCwgaW5mby5jbG9z
ZUJyYWNlT2Zmc2V0LCBpbmZvLmJvZHlTdGFydExpbmUsIGluZm8uYm9keVN0YXJ0Q29sdW1uKTsK
KworICAgICAgICBBcnJvd0Z1bmNFeHByTm9kZSogcmVzdWx0ID0gbmV3IChtX3BhcnNlckFyZW5h
KSBBcnJvd0Z1bmNFeHByTm9kZShsb2NhdGlvbiwgKmluZm8ubmFtZSwgaW5mby5ib2R5LCBzb3Vy
Y2UsIGluZm8ucGFyYW1ldGVycyk7CisgICAgICAgIGluZm8uYm9keS0+c2V0TG9jKGluZm8uYm9k
eVN0YXJ0TGluZSwgaW5mby5ib2R5RW5kTGluZSwgbG9jYXRpb24uc3RhcnRPZmZzZXQsIGxvY2F0
aW9uLmxpbmVTdGFydE9mZnNldCk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorI2Vu
ZGlmCisKICAgICBORVZFUl9JTkxJTkUgUHJvcGVydHlOb2RlKiBjcmVhdGVHZXR0ZXJPclNldHRl
clByb3BlcnR5KGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIFByb3BlcnR5Tm9kZTo6
VHlwZSB0eXBlLCBib29sLAogICAgICAgICBjb25zdCBJZGVudGlmaWVyKiBuYW1lLCBjb25zdCBQ
YXJzZXJGdW5jdGlvbkluZm88QVNUQnVpbGRlcj4mIGluZm8sIFN1cGVyQmluZGluZyBzdXBlckJp
bmRpbmcpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9M
ZXhlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcAppbmRleCA5
NmViN2FhYjIzOWEzODZkMDdmNjBkYmE3NGU2ZmFkMWZhNmNkMzdhLi5hZDcwNTZkZGUzODhlZjg2
ZmI3ZjYyNzZmZGE3M2VhZTg5ZDQzNDhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL0xleGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xl
eGVyLmNwcApAQCAtMTcwOCw2ICsxNzA4LDE4IEBAIGJvb2wgTGV4ZXI8VD46Om5leHRUb2tlbklz
Q29sb24oKQogICAgIHJldHVybiBjb2RlIDwgbV9jb2RlRW5kICYmICpjb2RlID09ICc6JzsKIH0K
IAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5h
bWUgVD4KK3ZvaWQgTGV4ZXI8VD46OnNldFRva2VuUG9zaXRpb24oSlNUb2tlbiogdG9rZW5SZWNv
cmQpCit7CisgICAgSlNUb2tlbkRhdGEqIHRva2VuRGF0YSA9ICZ0b2tlblJlY29yZC0+bV9kYXRh
OworICAgIHRva2VuRGF0YS0+bGluZSA9IGxpbmVOdW1iZXIoKTsKKyAgICB0b2tlbkRhdGEtPm9m
ZnNldCA9IGN1cnJlbnRPZmZzZXQoKTsKKyAgICB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCA9
IGN1cnJlbnRMaW5lU3RhcnRPZmZzZXQoKTsKKyAgICBBU1NFUlQodG9rZW5EYXRhLT5vZmZzZXQg
Pj0gdG9rZW5EYXRhLT5saW5lU3RhcnRPZmZzZXQpOworfQorI2VuZGlmCisKIHRlbXBsYXRlIDx0
eXBlbmFtZSBUPgogSlNUb2tlblR5cGUgTGV4ZXI8VD46OmxleChKU1Rva2VuKiB0b2tlblJlY29y
ZCwgdW5zaWduZWQgbGV4ZXJGbGFncywgYm9vbCBzdHJpY3RNb2RlKQogewpAQCAtMTc3MSw3ICsx
NzgzLDEyIEBAIHN0YXJ0OgogICAgICAgICB9CiAgICAgICAgIHRva2VuID0gR1Q7CiAgICAgICAg
IGJyZWFrOwotICAgIGNhc2UgQ2hhcmFjdGVyRXF1YWw6CisgICAgY2FzZSBDaGFyYWN0ZXJFcXVh
bDogeworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIHVpbnQz
Ml90IHNhdmVkbGluZU51bWJlciA9IHRva2VuRGF0YS0+bGluZTsKKyAgICAgICAgdWludDMyX3Qg
c2F2ZWRPZmZzZXQgPSBjdXJyZW50T2Zmc2V0KCk7CisgICAgICAgIHVpbnQzMl90IHNhdmVkTGlu
ZVN0YXJ0T2Zmc2V0ID0gY3VycmVudExpbmVTdGFydE9mZnNldCgpOworI2VuZGlmCiAgICAgICAg
IHNoaWZ0KCk7CiAgICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJz0nKSB7CiAgICAgICAgICAgICBz
aGlmdCgpOwpAQCAtMTc4Myw4ICsxODAwLDIyIEBAIHN0YXJ0OgogICAgICAgICAgICAgdG9rZW4g
PSBFUUVROwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FS
Uk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBpZiAobV9jdXJyZW50ID09ICc+JykgeworICAg
ICAgICAgICAgc2hpZnQoKTsKKyAgICAgICAgICAgIHRva2VuID0gQVJST1dGVU5DVElPTjsKKwor
ICAgICAgICAgICAgdG9rZW5EYXRhLT5saW5lID0gc2F2ZWRsaW5lTnVtYmVyOworICAgICAgICAg
ICAgdG9rZW5EYXRhLT5vZmZzZXQgPSBzYXZlZE9mZnNldDsKKyAgICAgICAgICAgIHRva2VuRGF0
YS0+bGluZVN0YXJ0T2Zmc2V0ID0gc2F2ZWRMaW5lU3RhcnRPZmZzZXQ7CisKKyAgICAgICAgICAg
IEFTU0VSVCh0b2tlbkRhdGEtPm9mZnNldCA+PSB0b2tlbkRhdGEtPmxpbmVTdGFydE9mZnNldCk7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIHRva2VuID0g
RVFVQUw7CiAgICAgICAgIGJyZWFrOworICAgIH0KICAgICBjYXNlIENoYXJhY3Rlckxlc3M6CiAg
ICAgICAgIHNoaWZ0KCk7CiAgICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJyEnICYmIHBlZWsoMSkg
PT0gJy0nICYmIHBlZWsoMikgPT0gJy0nKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL0xleGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVy
LmgKaW5kZXggOGFmZWYyNjExMjEwOGFlZDdlODZlZDBlODQ3OWI3OWMxZDAyMjdhYi4uYmRhM2Jk
NDllYTdhNTljMzVjNGUxMjg1Y2Y5NDgzMjI1NWM4N2ZlYSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvTGV4ZXIuaApAQCAtODcsNiArODcsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRJc1Jl
cGFyc2luZygpIHsgbV9pc1JlcGFyc2luZyA9IHRydWU7IH0KICAgICBib29sIGlzUmVwYXJzaW5n
KCkgY29uc3QgeyByZXR1cm4gbV9pc1JlcGFyc2luZzsgfQogCisjaWYgRU5BQkxFKEVTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkKKyAgICB2b2lkIHNldFRva2VuUG9zaXRpb24oSlNUb2tlbiogdG9r
ZW5SZWNvcmQpOworI2VuZGlmCiAgICAgSlNUb2tlblR5cGUgbGV4KEpTVG9rZW4qLCB1bnNpZ25l
ZCwgYm9vbCBzdHJpY3RNb2RlKTsKICAgICBib29sIG5leHRUb2tlbklzQ29sb24oKTsKICAgICBp
bnQgbGluZU51bWJlcigpIGNvbnN0IHsgcmV0dXJuIG1fbGluZU51bWJlcjsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaAppbmRleCA4OWI5Mjhl
Y2Y4YjQ0MDAwNjIzNjYxMjgyYTk3MGE1NjIxYTUxYTkyLi4xYjQwZWUzZTIxZDhlMzcwMTYxY2M5
ZjljNGFlZWNjNzA3MjYzZmExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL05vZGVDb25zdHJ1Y3RvcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L05vZGVDb25zdHJ1Y3RvcnMuaApAQCAtODM1LDYgKzgzNSwxMyBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICAgICAgbV9ib2R5LT5maW5pc2hQYXJzaW5nKHNvdXJjZSwgcGFyYW1ldGVyLCBpZGVudCwg
RnVuY3Rpb25FeHByZXNzaW9uKTsKICAgICB9CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgIGlubGluZSBBcnJvd0Z1bmNFeHByTm9kZTo6QXJyb3dGdW5jRXhwck5v
ZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgY29uc3QgSWRlbnRpZmllciYgaWRl
bnQsIEZ1bmN0aW9uQm9keU5vZGUqIGJvZHksIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgUGFy
YW1ldGVyTm9kZSogcGFyYW1ldGVyKQorICAgICAgICA6IEZ1bmNFeHByTm9kZShsb2NhdGlvbiwg
aWRlbnQsIGJvZHksIHNvdXJjZSwgcGFyYW1ldGVyKQorICAgIHsKKyAgICB9CisjZW5kaWYKKyAg
ICAKICAgICBpbmxpbmUgRnVuY0RlY2xOb2RlOjpGdW5jRGVjbE5vZGUoY29uc3QgSlNUb2tlbkxv
Y2F0aW9uJiBsb2NhdGlvbiwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIEZ1bmN0aW9uQm9keU5v
ZGUqIGJvZHksIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgUGFyYW1ldGVyTm9kZSogcGFyYW1l
dGVyKQogICAgICAgICA6IFN0YXRlbWVudE5vZGUobG9jYXRpb24pCiAgICAgICAgICwgbV9ib2R5
KGJvZHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVzLmgKaW5kZXggNzg0ODE4NGU1NTRj
ZjQwZWFmMzkwNjdlNjc4YTVlZDhhYzU0OTllOC4uOTU0MGIxYjQ1MTQ1MTQzNjJlMDc5YTg0N2Mw
MTVkZTBiYzdiNWY4ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9O
b2Rlcy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMuaApAQCAtMTU4
LDYgKzE1OCw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNEb3RB
Y2Nlc3Nvck5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJv
b2wgaXNEZWNvbnN0cnVjdGlvbk5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAg
ICB2aXJ0dWFsIGJvb2wgaXNGdW5jRXhwck5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQor
I2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIHZpcnR1YWwgYm9v
bCBpc0Fycm93RnVuY0V4cHJOb2RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyNlbmRpZgog
ICAgICAgICB2aXJ0dWFsIGJvb2wgaXNDb21tYU5vZGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNTaW1wbGVBcnJheSgpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0FkZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNl
OyB9CkBAIC0xNzI2LDYgKzE3MjksMTkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIEZ1bmN0
aW9uQm9keU5vZGUqIG1fYm9keTsKICAgICB9OwogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICBjbGFzcyBBcnJvd0Z1bmNFeHByTm9kZSA6IHB1YmxpYyBGdW5jRXhw
ck5vZGUgeworICAgIHB1YmxpYzoKKyAgICAgICAgQXJyb3dGdW5jRXhwck5vZGUoY29uc3QgSlNU
b2tlbkxvY2F0aW9uJiwgY29uc3QgSWRlbnRpZmllciYsIEZ1bmN0aW9uQm9keU5vZGUqLCBjb25z
dCBTb3VyY2VDb2RlJiwgUGFyYW1ldGVyTm9kZSogPSAwKTsKKyAgICBwcml2YXRlOgorICAgICAg
ICB2aXJ0dWFsIFJlZ2lzdGVySUQqIGVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYsIFJl
Z2lzdGVySUQqID0gMCkgb3ZlcnJpZGU7CisgICAgICAgIAorICAgICAgICB2aXJ0dWFsIGJvb2wg
aXNGdW5jRXhwck5vZGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQorICAgICAg
ICAKKyAgICAgICAgdmlydHVhbCBib29sIGlzQXJyb3dGdW5jRXhwck5vZGUoKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiB0cnVlOyB9CisgICAgfTsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKEVTNl9D
TEFTU19TWU5UQVgpCiAgICAgY2xhc3MgQ2xhc3NFeHByTm9kZSBmaW5hbCA6IHB1YmxpYyBFeHBy
ZXNzaW9uTm9kZSB7CiAgICAgcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9QYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJz
ZXIuY3BwCmluZGV4IGZkNDI0NDU2ZGM0ZTY3MTQyZmRkNzkzYTg2YWEwYTczNGIwNGU4MTQuLmEx
MGNlZmE5ZjY4NDBmZjYwYTBiNTU2MWJjZGI1NmE4NWJkMjQxNTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL1BhcnNlci5jcHAKQEAgLTI2NCw3ICsyNjQsNyBAQCBTdHJpbmcgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlSW5uZXIoKQogICAgIGlmIChtX2xleGVyLT5pc1JlcGFyc2luZygp
KQogICAgICAgICBtX3N0YXRlbWVudERlcHRoLS07CiAgICAgU2NvcGVSZWYgc2NvcGUgPSBjdXJy
ZW50U2NvcGUoKTsKLSAgICBTb3VyY2VFbGVtZW50cyogc291cmNlRWxlbWVudHMgPSBwYXJzZVNv
dXJjZUVsZW1lbnRzKGNvbnRleHQsIENoZWNrRm9yU3RyaWN0TW9kZSk7CisgICAgU291cmNlRWxl
bWVudHMqIHNvdXJjZUVsZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250ZXh0LCBDaGVj
a0ZvclN0cmljdE1vZGUsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOwogICAgIGlmICghc291
cmNlRWxlbWVudHMgfHwgIWNvbnN1bWUoRU9GVE9LKSkgewogICAgICAgICBpZiAoaGFzRXJyb3Io
KSkKICAgICAgICAgICAgIHBhcnNlRXJyb3IgPSBtX2Vycm9yTWVzc2FnZTsKQEAgLTM0Myw3ICsz
NDMsNyBAQCBib29sIFBhcnNlcjxMZXhlclR5cGU+OjphbGxvd0F1dG9tYXRpY1NlbWljb2xvbigp
CiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+Ci10ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTb3Vy
Y2VFbGVtZW50cyhUcmVlQnVpbGRlciYgY29udGV4dCwgU291cmNlRWxlbWVudHNNb2RlIG1vZGUp
Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVtZW50cyBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYgY29udGV4dCwgU291
cmNlRWxlbWVudHNNb2RlIG1vZGUsIEZ1bmN0aW9uUGFyc2VUeXBlIGZ1bmN0aW9uUGFyc2VUeXBl
KQogewogICAgIGNvbnN0IHVuc2lnbmVkIGxlbmd0aE9mVXNlU3RyaWN0TGl0ZXJhbCA9IDEyOyAv
LyAidXNlIHN0cmljdCIubGVuZ3RoCiAgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHNvdXJjZUVsZW1l
bnRzID0gY29udGV4dC5jcmVhdGVTb3VyY2VFbGVtZW50cygpOwpAQCAtMzUyLDcgKzM1Miw3IEBA
IHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZVNvdXJjZUVsCiAgICAgdW5zaWduZWQgZGlyZWN0aXZlTGl0ZXJhbExl
bmd0aCA9IDA7CiAgICAgYXV0byBzYXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoKTsKICAgICBi
b29sIGhhc1NldFN0cmljdCA9IGZhbHNlOwotICAgIHdoaWxlIChUcmVlU3RhdGVtZW50IHN0YXRl
bWVudCA9IHBhcnNlU3RhdGVtZW50KGNvbnRleHQsIGRpcmVjdGl2ZSwgJmRpcmVjdGl2ZUxpdGVy
YWxMZW5ndGgpKSB7CisgICAgd2hpbGUgKFRyZWVTdGF0ZW1lbnQgc3RhdGVtZW50ID0gcGFyc2VT
dGF0ZW1lbnQoY29udGV4dCwgZGlyZWN0aXZlLCAmZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCwgZnVu
Y3Rpb25QYXJzZVR5cGUpKSB7CiAgICAgICAgIGlmIChtb2RlID09IENoZWNrRm9yU3RyaWN0TW9k
ZSAmJiAhc2Vlbk5vbkRpcmVjdGl2ZSkgewogICAgICAgICAgICAgaWYgKGRpcmVjdGl2ZSkgewog
ICAgICAgICAgICAgICAgIC8vICJ1c2Ugc3RyaWN0IiBtdXN0IGJlIHRoZSBleGFjdCBsaXRlcmFs
IHdpdGhvdXQgZXNjYXBlIHNlcXVlbmNlcyBvciBsaW5lIGNvbnRpbnVhdGlvbi4KQEAgLTU4NCw2
ICs1ODQsMzEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVjb25zdHJ1Y3Rp
b25QYXR0ZXJuIFBhcnNlcjxMZXhlclR5cGU+OjpjcmVhdGUKICAgICByZXR1cm4gY29udGV4dC5j
cmVhdGVCaW5kaW5nTG9jYXRpb24odG9rZW4ubV9sb2NhdGlvbiwgbmFtZSwgdG9rZW4ubV9zdGFy
dFBvc2l0aW9uLCB0b2tlbi5tX2VuZFBvc2l0aW9uKTsKIH0KIAorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgordGVtcGxh
dGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUFycm93RnVuY3Rpb25TdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQpCit7CisgICAg
QVNTRVJUKG1hdGNoKEFSUk9XRlVOQ1RJT04pKTsKKworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2Nh
dGlvbih0b2tlbkxvY2F0aW9uKCkpOworICAgIEpTVGV4dFBvc2l0aW9uIHN0YXJ0ID0gdG9rZW5T
dGFydFBvc2l0aW9uKCk7CisgICAgSlNUZXh0UG9zaXRpb24gZW5kID0gdG9rZW5FbmRQb3NpdGlv
bigpOworCisgICAgbmV4dCgpOworICAgIFRyZWVFeHByZXNzaW9uIGV4cHIgPSBwYXJzZUFycm93
RnVuY3Rpb25FeHByZXNzaW9uKGNvbnRleHQpOworICAgIGZhaWxJZkZhbHNlKGV4cHIsICJDYW5u
b3QgcGFyc2UgdGhlIGFycm93IGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsKKyAgICBlbmQgPSBsYXN0
VG9rZW5FbmRQb3NpdGlvbigpOworCisgICAgYm9vbCBjb3JyZWN0QXJyb3dGaW5pc2ggPSBpc0Vu
ZE9mQXJyb3dGdW5jdGlvbigpIHx8IG1hdGNoKEVPRlRPSyk7CisgICAgZmFpbElmRmFsc2UoY29y
cmVjdEFycm93RmluaXNoLCAiRXhwZWN0ZWQgYSAnOycsICddJywgJ30nLCAnKScsIG9yICcsJyBm
b2xsb3dpbmcgYSBhcnJvdyBmdW5jdGlvbiBzdGF0ZW1lbnQiKTsKKworICAgIGVuZCA9IHRva2Vu
RW5kUG9zaXRpb24oKTsKKyAgICBzZXRFbmRPZlN0YXRlbWVudCgpOworCisgICAgcmV0dXJuIGNv
bnRleHQuY3JlYXRlUmV0dXJuU3RhdGVtZW50KGxvY2F0aW9uLCBleHByLCBzdGFydCwgZW5kKTsK
K30KKyNlbmRpZgorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgogdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIFBhcnNlcjxMZXhlclR5
cGU+Ojp0cnlQYXJzZURlY29uc3RydWN0aW9uUGF0dGVybkV4cHJlc3Npb24oVHJlZUJ1aWxkZXIm
IGNvbnRleHQpCiB7CkBAIC0xMDMxLDcgKzEwNTYsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1
aWxkZXI+IFRyZWVDbGF1c2VMaXN0IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN3aXRjaENsYXVz
ZQogICAgIFRyZWVFeHByZXNzaW9uIGNvbmRpdGlvbiA9IHBhcnNlRXhwcmVzc2lvbihjb250ZXh0
KTsKICAgICBmYWlsSWZGYWxzZShjb25kaXRpb24sICJDYW5ub3QgcGFyc2Ugc3dpdGNoIGNsYXVz
ZSIpOwogICAgIGNvbnN1bWVPckZhaWwoQ09MT04sICJFeHBlY3RlZCBhICc6JyBhZnRlciBzd2l0
Y2ggY2xhdXNlIGV4cHJlc3Npb24iKTsKLSAgICBUcmVlU291cmNlRWxlbWVudHMgc3RhdGVtZW50
cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSk7
CisgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVsZW1lbnRz
KGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5
cGUpOwogICAgIGZhaWxJZkZhbHNlKHN0YXRlbWVudHMsICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkg
b2YgYSBzd2l0Y2ggY2xhdXNlIik7CiAgICAgVHJlZUNsYXVzZSBjbGF1c2UgPSBjb250ZXh0LmNy
ZWF0ZUNsYXVzZShjb25kaXRpb24sIHN0YXRlbWVudHMpOwogICAgIGNvbnRleHQuc2V0U3RhcnRP
ZmZzZXQoY2xhdXNlLCBzdGFydE9mZnNldCk7CkBAIC0xMDQ0LDcgKzEwNjksNyBAQCB0ZW1wbGF0
ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVDbGF1c2VMaXN0IFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZVN3aXRjaENsYXVzZQogICAgICAgICBUcmVlRXhwcmVzc2lvbiBjb25kaXRpb24gPSBwYXJz
ZUV4cHJlc3Npb24oY29udGV4dCk7CiAgICAgICAgIGZhaWxJZkZhbHNlKGNvbmRpdGlvbiwgIkNh
bm5vdCBwYXJzZSBzd2l0Y2ggY2FzZSBleHByZXNzaW9uIik7CiAgICAgICAgIGNvbnN1bWVPckZh
aWwoQ09MT04sICJFeHBlY3RlZCBhICc6JyBhZnRlciBzd2l0Y2ggY2xhdXNlIGV4cHJlc3Npb24i
KTsKLSAgICAgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBwYXJzZVNvdXJjZUVs
ZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUpOworICAgICAgICBUcmVlU291
cmNlRWxlbWVudHMgc3RhdGVtZW50cyA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgRG9u
dENoZWNrRm9yU3RyaWN0TW9kZSwgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CiAgICAgICAg
IGZhaWxJZkZhbHNlKHN0YXRlbWVudHMsICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgYSBzd2l0
Y2ggY2xhdXNlIik7CiAgICAgICAgIGNsYXVzZSA9IGNvbnRleHQuY3JlYXRlQ2xhdXNlKGNvbmRp
dGlvbiwgc3RhdGVtZW50cyk7CiAgICAgICAgIGNvbnRleHQuc2V0U3RhcnRPZmZzZXQoY2xhdXNl
LCBzdGFydE9mZnNldCk7CkBAIC0xMDYxLDcgKzEwODYsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVDbGF1c2UgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3dpdGNoRGVmYXVs
dENsYQogICAgIHVuc2lnbmVkIHN0YXJ0T2Zmc2V0ID0gdG9rZW5TdGFydCgpOwogICAgIG5leHQo
KTsKICAgICBjb25zdW1lT3JGYWlsKENPTE9OLCAiRXhwZWN0ZWQgYSAnOicgYWZ0ZXIgc3dpdGNo
IGRlZmF1bHQgY2xhdXNlIik7Ci0gICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN0YXRlbWVudHMgPSBw
YXJzZVNvdXJjZUVsZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUpOworICAg
IFRyZWVTb3VyY2VFbGVtZW50cyBzdGF0ZW1lbnRzID0gcGFyc2VTb3VyY2VFbGVtZW50cyhjb250
ZXh0LCBEb250Q2hlY2tGb3JTdHJpY3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKTsK
ICAgICBmYWlsSWZGYWxzZShzdGF0ZW1lbnRzLCAiQ2Fubm90IHBhcnNlIHRoZSBib2R5IG9mIGEg
c3dpdGNoIGRlZmF1bHQgY2xhdXNlIik7CiAgICAgVHJlZUNsYXVzZSByZXN1bHQgPSBjb250ZXh0
LmNyZWF0ZUNsYXVzZSgwLCBzdGF0ZW1lbnRzKTsKICAgICBjb250ZXh0LnNldFN0YXJ0T2Zmc2V0
KHJlc3VsdCwgc3RhcnRPZmZzZXQpOwpAQCAtMTE0Niw3ICsxMTcxLDcgQEAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUJs
b2NrU3RhdGVtZW4KICAgICAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQocmVzdWx0LCBlbmRPZmZz
ZXQpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KLSAgICBUcmVlU291cmNlRWxlbWVu
dHMgc3VidHJlZSA9IHBhcnNlU291cmNlRWxlbWVudHMoY29udGV4dCwgRG9udENoZWNrRm9yU3Ry
aWN0TW9kZSk7CisgICAgVHJlZVNvdXJjZUVsZW1lbnRzIHN1YnRyZWUgPSBwYXJzZVNvdXJjZUVs
ZW1lbnRzKGNvbnRleHQsIERvbnRDaGVja0ZvclN0cmljdE1vZGUsIFN0YW5kYXJkRnVuY3Rpb25Q
YXJzZVR5cGUpOwogICAgIGZhaWxJZkZhbHNlKHN1YnRyZWUsICJDYW5ub3QgcGFyc2UgdGhlIGJv
ZHkgb2YgdGhlIGJsb2NrIHN0YXRlbWVudCIpOwogICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0Us
ICJFeHBlY3RlZCBhIGNsb3NpbmcgJ30nIGF0IHRoZSBlbmQgb2YgYSBibG9jayBzdGF0ZW1lbnQi
KTsKICAgICBpbnQgZW5kT2Zmc2V0ID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0OwpAQCAtMTE1OCw3
ICsxMTgzLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBh
cnNlcjxMZXhlclR5cGU+OjpwYXJzZUJsb2NrU3RhdGVtZW4KIH0KIAogdGVtcGxhdGUgPHR5cGVu
YW1lIExleGVyVHlwZT4KLXRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRlbWVu
dCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImIGNvbnRleHQs
IGNvbnN0IElkZW50aWZpZXIqJiBkaXJlY3RpdmUsIHVuc2lnbmVkKiBkaXJlY3RpdmVMaXRlcmFs
TGVuZ3RoKQordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmVlQnVpbGRlciYgY29udGV4dCwgY29uc3Qg
SWRlbnRpZmllciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGgs
IEZ1bmN0aW9uUGFyc2VUeXBlIHBhcnNlVHlwZSkKIHsKICAgICBEZXB0aE1hbmFnZXIgc3RhdGVt
ZW50RGVwdGgoJm1fc3RhdGVtZW50RGVwdGgpOwogICAgIG1fc3RhdGVtZW50RGVwdGgrKzsKQEAg
LTExNjcsNiArMTE5MiwyMyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0
ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50KFRyZQogICAgIGZhaWxJZlN0
YWNrT3ZlcmZsb3coKTsKICAgICBUcmVlU3RhdGVtZW50IHJlc3VsdCA9IDA7CiAgICAgYm9vbCBz
aG91bGRTZXRFbmRPZmZzZXQgPSB0cnVlOworCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICBpZiAocGFyc2VUeXBlID09IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsK
KyAgICAgICAgc3dpdGNoIChtX3Rva2VuLm1fdHlwZSkgeworICAgICAgICBjYXNlIENMT1NFUEFS
RU46CisgICAgICAgIGNhc2UgQ0xPU0VCUkFDS0VUOgorICAgICAgICBjYXNlIENPTU1BOgorICAg
ICAgICBjYXNlIFNFTUlDT0xPTjogeworICAgICAgICAgICAgcmVzdWx0ID0gMDsKKyAgICAgICAg
ICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KHJlc3VsdCwgbV9sYXN0VG9rZW5FbmRQb3NpdGlvbi5v
ZmZzZXQpOworICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAgICAgfQorICAgICAgICBk
ZWZhdWx0OgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYKICAg
ICBzd2l0Y2ggKG1fdG9rZW4ubV90eXBlKSB7CiAgICAgY2FzZSBPUEVOQlJBQ0U6CiAgICAgICAg
IHJlc3VsdCA9IHBhcnNlQmxvY2tTdGF0ZW1lbnQoY29udGV4dCk7CkBAIC0xMjEyLDYgKzEyNTQs
MTUgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxM
ZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudChUcmUKICAgICBjYXNlIEJSRUFLOgogICAgICAgICBy
ZXN1bHQgPSBwYXJzZUJyZWFrU3RhdGVtZW50KGNvbnRleHQpOwogICAgICAgICBicmVhazsKKyNp
ZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGNhc2UgQVJST1dGVU5DVElP
TjoKKyAgICAgICAgcmVzdWx0ID0gcGFyc2VBcnJvd0Z1bmN0aW9uU3RhdGVtZW50KGNvbnRleHQp
OworICAgICAgICAvLyBDb25zdW1lIHRoZSBlbmQgb2YgYXJyb3cgZnVuY3Rpb24gLDtdKSBhbmQg
cHJldmVudAorICAgICAgICAvLyBwYXJzZSB0aGlzIHN5bWJvbHMgYnkgcGFyc2VTdGF0ZW1lbnQg
YXMgc2VwYXJhdGUgc3RhdGVtZW50CisgICAgICAgIGlmIChwYXJzZVR5cGUgPT0gU3RhbmRhcmRG
dW5jdGlvblBhcnNlVHlwZSkKKyAgICAgICAgICAgIG5leHQoKTsKKyAgICAgICAgYnJlYWs7Cisj
ZW5kaWYKICAgICBjYXNlIFJFVFVSTjoKICAgICAgICAgcmVzdWx0ID0gcGFyc2VSZXR1cm5TdGF0
ZW1lbnQoY29udGV4dCk7CiAgICAgICAgIGJyZWFrOwpAQCAtMTI3NiwyMCArMTMyNywzNCBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0IFBhcnNl
cjxMZXhlclR5cGU+OjpwYXJzZUZvcgogdGVtcGxhdGUgPHR5cGVuYW1lIExleGVyVHlwZT4KIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUZ1bmN0aW9uQm9keSBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VGdW5jdGlvbkJvZHkoCiAgICAgVHJlZUJ1aWxkZXImIGNvbnRleHQsIGludCBm
dW5jdGlvbktleXdvcmRTdGFydCwgaW50IGZ1bmN0aW9uTmFtZVN0YXJ0LCAKLSAgICBpbnQgcGFy
YW1ldGVyc1N0YXJ0LCBDb25zdHJ1Y3RvcktpbmQgY29uc3RydWN0b3JLaW5kKQorICAgIGludCBw
YXJhbWV0ZXJzU3RhcnQsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3RvcktpbmQsIEZ1bmN0aW9u
UGFyc2VUeXBlIHBhcnNlVHlwZSkKIHsKICAgICBKU1Rva2VuTG9jYXRpb24gc3RhcnRMb2NhdGlv
bih0b2tlbkxvY2F0aW9uKCkpOwogICAgIHVuc2lnbmVkIHN0YXJ0Q29sdW1uID0gdG9rZW5Db2x1
bW4oKTsKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlmIChwYXJz
ZVR5cGUgPT0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICBuZXh0KCk7Cisg
ICAgICAgIGlmIChtYXRjaChDTE9TRUJSQUNFKSkgeworICAgICAgICAgICAgdW5zaWduZWQgZW5k
Q29sdW1uID0gdG9rZW5Db2x1bW4oKTsKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0
ZUZ1bmN0aW9uQm9keShzdGFydExvY2F0aW9uLCB0b2tlbkxvY2F0aW9uKCksIHN0YXJ0Q29sdW1u
LCBlbmRDb2x1bW4sIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFy
YW1ldGVyc1N0YXJ0LCBzdHJpY3RNb2RlKCksIGNvbnN0cnVjdG9yS2luZCk7CisgICAgICAgIH0K
KyAgICB9CisjZWxzZQogICAgIG5leHQoKTsKLQogICAgIGlmIChtYXRjaChDTE9TRUJSQUNFKSkg
ewogICAgICAgICB1bnNpZ25lZCBlbmRDb2x1bW4gPSB0b2tlbkNvbHVtbigpOwogICAgICAgICBy
ZXR1cm4gY29udGV4dC5jcmVhdGVGdW5jdGlvbkJvZHkoc3RhcnRMb2NhdGlvbiwgdG9rZW5Mb2Nh
dGlvbigpLCBzdGFydENvbHVtbiwgZW5kQ29sdW1uLCBmdW5jdGlvbktleXdvcmRTdGFydCwgZnVu
Y3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgc3RyaWN0TW9kZSgpLCBjb25zdHJ1Y3Rv
cktpbmQpOwogICAgIH0KKyNlbmRpZgorCiAgICAgRGVwdGhNYW5hZ2VyIHN0YXRlbWVudERlcHRo
KCZtX3N0YXRlbWVudERlcHRoKTsKICAgICBtX3N0YXRlbWVudERlcHRoID0gMDsKICAgICB0eXBl
bmFtZSBUcmVlQnVpbGRlcjo6RnVuY3Rpb25Cb2R5QnVpbGRlciBib2R5QnVpbGRlcihjb25zdF9j
YXN0PFZNKj4obV92bSksIG1fbGV4ZXIuZ2V0KCkpOwotICAgIGZhaWxJZkZhbHNlKHBhcnNlU291
cmNlRWxlbWVudHMoYm9keUJ1aWxkZXIsIENoZWNrRm9yU3RyaWN0TW9kZSksICJDYW5ub3QgcGFy
c2UgYm9keSBvZiB0aGlzIGZ1bmN0aW9uIik7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICBmYWlsSWZGYWxzZShwYXJzZVNvdXJjZUVsZW1lbnRzKGJvZHlCdWlsZGVy
LCBDaGVja0ZvclN0cmljdE1vZGUsIHBhcnNlVHlwZSksIHBhcnNlVHlwZSA9PSBTdGFuZGFyZEZ1
bmN0aW9uUGFyc2VUeXBlID8gIkNhbm5vdCBwYXJzZSBib2R5IG9mIHRoaXMgZnVuY3Rpb24iIDog
IkNhbm5vdCBwYXJzZSBib2R5IG9mIHRoaXMgYXJyb3cgZnVuY3Rpb24iKTsKKyNlbHNlCisgICAg
ZmFpbElmRmFsc2UocGFyc2VTb3VyY2VFbGVtZW50cyhib2R5QnVpbGRlciwgQ2hlY2tGb3JTdHJp
Y3RNb2RlLCBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSwgIkNhbm5vdCBwYXJzZSBib2R5IG9m
IHRoaXMgZnVuY3Rpb24iKTsKKyNlbmRpZgogICAgIHVuc2lnbmVkIGVuZENvbHVtbiA9IHRva2Vu
Q29sdW1uKCk7CiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY3Rpb25Cb2R5KHN0YXJ0TG9j
YXRpb24sIHRva2VuTG9jYXRpb24oKSwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgZnVuY3Rpb25L
ZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIHN0cmljdE1v
ZGUoKSwgY29uc3RydWN0b3JLaW5kKTsKIH0KQEAgLTEzMTAsMTUgKzEzNzUsOCBAQCBzdGF0aWMg
Y29uc3QgY2hhciogc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUp
CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+
Ci10ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBh
cnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblJlcXVpcmVtZW50
cyByZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUsCi0gICAgYm9vbCBuYW1lSXNJ
bkNvbnRhaW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVjdG9yS2luZCwgU3VwZXJC
aW5kaW5nIGV4cGVjdGVkU3VwZXJCaW5kaW5nLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBh
cnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mIGluZm8pCit0ZW1wbGF0ZSA8dHlwZW5hbWUg
TGV4ZXJUeXBlPiB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGludCBQYXJzZXI8TGV4ZXJU
eXBlPjo6cGFyc2VGdW5jdGlvblBhcmFtdGVycyhUcmVlQnVpbGRlciYgY29udGV4dCwgRnVuY3Rp
b25SZXF1aXJlbWVudHMgcmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLCBib29s
IG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBBdXRvUG9wU2NvcGVSZWYmIGZ1bmN0aW9uU2NvcGUs
IFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mIGluZm8pCiB7Ci0gICAgQXV0b1BvcFNj
b3BlUmVmIGZ1bmN0aW9uU2NvcGUodGhpcywgcHVzaFNjb3BlKCkpOwotICAgIGZ1bmN0aW9uU2Nv
cGUtPnNldElzRnVuY3Rpb24oKTsKLSAgICBpbnQgZnVuY3Rpb25OYW1lU3RhcnQgPSBtX3Rva2Vu
Lm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7Ci0gICAgY29uc3QgSWRlbnRpZmllciogbGFzdEZ1bmN0
aW9uTmFtZSA9IG1fbGFzdEZ1bmN0aW9uTmFtZTsKLSAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBu
dWxscHRyOwogICAgIGlmIChtYXRjaChJREVOVCkpIHsKICAgICAgICAgaW5mby5uYW1lID0gbV90
b2tlbi5tX2RhdGEuaWRlbnQ7CiAgICAgICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IGluZm8ubmFt
ZTsKQEAgLTEzMzcsNyArMTM5NSw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gYm9v
bCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkCiAgICAgICAg
IHNlbWFudGljRmFpbHVyZUR1ZVRvS2V5d29yZChzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSks
ICIgbmFtZSIpOwogICAgICAgICBmYWlsV2l0aE1lc3NhZ2UoIkV4cGVjdGVkIGFuIG9wZW5pbmcg
JygnIGJlZm9yZSBhICIsIHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIidzIHBhcmFtZXRl
ciBsaXN0Iik7CiAgICAgfQotCisgICAgCiAgICAgaWYgKG1vZGUgPT0gR2V0dGVyTW9kZSkKICAg
ICAgICAgY29uc3VtZU9yRmFpbChDTE9TRVBBUkVOLCAiZ2V0dGVyIGZ1bmN0aW9ucyBtdXN0IGhh
dmUgbm8gcGFyYW1ldGVycyIpOwogICAgIGVsc2UgaWYgKG1vZGUgPT0gU2V0dGVyTW9kZSkgewpA
QCAtMTM1NCwxNiArMTQxMiw4MSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wg
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICB9
CiAgICAgICAgIGNvbnN1bWVPckZhaWwoQ0xPU0VQQVJFTiwgIkV4cGVjdGVkIGEgJyknIG9yIGEg
JywnIGFmdGVyIGEgcGFyYW1ldGVyIGRlY2xhcmF0aW9uIik7CiAgICAgfQorICAgIAorICAgIHJl
dHVybiBwYXJhbWV0ZXJzU3RhcnQ7Cit9CiAKLSAgICBtYXRjaE9yRmFpbChPUEVOQlJBQ0UsICJF
eHBlY3RlZCBhbiBvcGVuaW5nICd7JyBhdCB0aGUgc3RhcnQgb2YgYSAiLCBzdHJpbmdGb3JGdW5j
dGlvbk1vZGUobW9kZSksICIgYm9keSIpOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPiB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IGludCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uUGFyYW10
ZXJzKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5jdGlvblBhcnNlTW9kZSBtb2RlLCBQYXJzZXJG
dW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvKQoreworICAgIGludCBwYXJhbWV0ZXJzU3Rh
cnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQ7CisgICAgaWYgKCFtYXRjaChJREVO
VCkgJiYgIW1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgc2VtYW50aWNGYWlsdXJlRHVlVG9L
ZXl3b3JkKHN0cmluZ0ZvckZ1bmN0aW9uTW9kZShtb2RlKSwgIiBuYW1lIik7CisgICAgICAgIGZh
aWxXaXRoTWVzc2FnZSgiRXhwZWN0ZWQgYW4gYXJyb3cgZnVuY3Rpb24gaW5wdXQgcGFyYW1ldGVy
Iik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAg
ICAgICAgIGNvbnN1bWUoT1BFTlBBUkVOKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYg
KCFtYXRjaChDTE9TRVBBUkVOKSkgeworICAgICAgICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9
IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhjb250ZXh0KTsKKyAgICAgICAgICAgICAgICBmYWlsSWZG
YWxzZShpbmZvLnBhcmFtZXRlcnMsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVycyBmb3IgdGhpcyAi
LCBzdHJpbmdGb3JGdW5jdGlvbk1vZGUobW9kZSkpOworICAgICAgICAgICAgfQorICAgICAgICAg
ICAgCisgICAgICAgICAgICBjb25zdW1lT3JGYWlsKENMT1NFUEFSRU4sICJFeHBlY3RlZCBhICcp
JyBvciBhICcsJyBhZnRlciBhIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOworICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgYXV0byBwYXJhbWV0ZXIgPSBwYXJzZURlY29uc3RydWN0aW9uUGF0
dGVybihjb250ZXh0LCBEZWNvbnN0cnVjdFRvUGFyYW1ldGVycyk7CisgICAgICAgICAgICBmYWls
SWZGYWxzZShwYXJhbWV0ZXIsICJDYW5ub3QgcGFyc2UgcGFyYW1ldGVyIHBhdHRlcm4iKTsKKyAg
ICAgICAgICAgIGluZm8ucGFyYW1ldGVycyA9IGNvbnRleHQuY3JlYXRlRm9ybWFsUGFyYW1ldGVy
TGlzdChwYXJhbWV0ZXIpOworICAgICAgICAgICAgZmFpbElmRmFsc2UoaW5mby5wYXJhbWV0ZXJz
LCAiQ2Fubm90IHBhcnNlIHBhcmFtZXRlcnMgZm9yIHRoaXMgIiwgc3RyaW5nRm9yRnVuY3Rpb25N
b2RlKG1vZGUpKTsKKyAgICAgICAgfQorICAgIH0KKyAgICAKKyAgICByZXR1cm4gcGFyYW1ldGVy
c1N0YXJ0OworfQorI2VuZGlmCiAKLSAgICAvLyBCeXRlY29kZUdlbmVyYXRvciBlbWl0cyBjb2Rl
IHRvIHRocm93IFR5cGVFcnJvciB3aGVuIGEgY2xhc3MgY29uc3RydWN0b3IgaXMgImNhbGwiZWQu
Ci0gICAgLy8gU2V0IENvbnN0cnVjdG9yS2luZCB0byBOb25lIGZvciBub24tY29uc3RydWN0b3Ig
bWV0aG9kcyBvZiBjbGFzc2VzLgotICAgIGlmIChtX2RlZmF1bHRDb25zdHJ1Y3RvcktpbmQgIT0g
Q29uc3RydWN0b3JLaW5kOjpOb25lKSB7Ci0gICAgICAgIGNvbnN0cnVjdG9yS2luZCA9IG1fZGVm
YXVsdENvbnN0cnVjdG9yS2luZDsKLSAgICAgICAgZXhwZWN0ZWRTdXBlckJpbmRpbmcgPSBtX2Rl
ZmF1bHRDb25zdHJ1Y3RvcktpbmQgPT0gQ29uc3RydWN0b3JLaW5kOjpEZXJpdmVkID8gU3VwZXJC
aW5kaW5nOjpOZWVkZWQgOiBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZDsKK3RlbXBsYXRlIDx0eXBl
bmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBGdW5j
dGlvblJlcXVpcmVtZW50cyByZXF1aXJlbWVudHMsIEZ1bmN0aW9uUGFyc2VNb2RlIG1vZGUsIGJv
b2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENvbnN0cnVjdG9yS2luZCBjb25zdHJ1Y3Rvcktp
bmQsIFN1cGVyQmluZGluZyBleHBlY3RlZFN1cGVyQmluZGluZywgaW50IGZ1bmN0aW9uS2V5d29y
ZFN0YXJ0LCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+JiBpbmZvLCBGdW5jdGlvblBh
cnNlVHlwZSBwYXJzZVR5cGUpCit7CisgICAgQXV0b1BvcFNjb3BlUmVmIGZ1bmN0aW9uU2NvcGUo
dGhpcywgcHVzaFNjb3BlKCkpOworICAgIGZ1bmN0aW9uU2NvcGUtPnNldElzRnVuY3Rpb24oKTsK
KyAgICBpbnQgZnVuY3Rpb25OYW1lU3RhcnQgPSBtX3Rva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZz
ZXQ7CisgICAgY29uc3QgSWRlbnRpZmllciogbGFzdEZ1bmN0aW9uTmFtZSA9IG1fbGFzdEZ1bmN0
aW9uTmFtZTsKKyAgICBtX2xhc3RGdW5jdGlvbk5hbWUgPSBudWxscHRyOworICAgIGludCBwYXJh
bWV0ZXJzU3RhcnQ7CisgICAgYm9vbCBpc0NsYXNzQ29uc3RydWN0b3I7CisgICAgCisgICAgc3dp
dGNoIChwYXJzZVR5cGUpIHsKKyAgICBjYXNlIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGU6IHsK
KyAgICAgICAgcGFyYW1ldGVyc1N0YXJ0ID0gcGFyc2VGdW5jdGlvblBhcmFtdGVycyhjb250ZXh0
LCByZXF1aXJlbWVudHMsIG1vZGUsIG5hbWVJc0luQ29udGFpbmluZ1Njb3BlLCBmdW5jdGlvblNj
b3BlLCBpbmZvKTsKKyAgICAgICAgICAgIAorICAgICAgICBtYXRjaE9yRmFpbChPUEVOQlJBQ0Us
ICJFeHBlY3RlZCBhbiBvcGVuaW5nICd7JyBhdCB0aGUgc3RhcnQgb2YgYSAiLCBzdHJpbmdGb3JG
dW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOworICAgICAgICAKKyAgICAgICAgLy8gQnl0ZWNv
ZGVHZW5lcmF0b3IgZW1pdHMgY29kZSB0byB0aHJvdyBUeXBlRXJyb3Igd2hlbiBhIGNsYXNzIGNv
bnN0cnVjdG9yIGlzICJjYWxsImVkLgorICAgICAgICAvLyBTZXQgQ29uc3RydWN0b3JLaW5kIHRv
IE5vbmUgZm9yIG5vbi1jb25zdHJ1Y3RvciBtZXRob2RzIG9mIGNsYXNzZXMuCisgICAgICAgIGlz
Q2xhc3NDb25zdHJ1Y3RvciA9IG1vZGUgPT0gTWV0aG9kTW9kZSAmJiBpbmZvLm5hbWUgJiYgKmlu
Zm8ubmFtZSA9PSBtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvcjsKKyAgICAgICAgaWYg
KG1fZGVmYXVsdENvbnN0cnVjdG9yS2luZCAhPSBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUpIHsKKyAg
ICAgICAgICAgIGNvbnN0cnVjdG9yS2luZCA9IG1fZGVmYXVsdENvbnN0cnVjdG9yS2luZDsKKyAg
ICAgICAgICAgIGV4cGVjdGVkU3VwZXJCaW5kaW5nID0gbV9kZWZhdWx0Q29uc3RydWN0b3JLaW5k
ID09IENvbnN0cnVjdG9yS2luZDo6RGVyaXZlZCA/IFN1cGVyQmluZGluZzo6TmVlZGVkIDogU3Vw
ZXJCaW5kaW5nOjpOb3ROZWVkZWQ7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGlzQ2xh
c3NDb25zdHJ1Y3RvciA9IGNvbnN0cnVjdG9yS2luZCAhPSBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmU7
CisgICAgICAgIGJyZWFrOworICAgIH0KKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorICAgIGNhc2UgQXJyb3dGdW5jdGlvblBhcnNlVHlwZTogeworICAgICAgICBwYXJhbWV0
ZXJzU3RhcnQgPSBwYXJzZUFycm93RnVuY3Rpb25QYXJhbXRlcnMoY29udGV4dCwgbW9kZSwgaW5m
byk7CisgICAgICAgIAorICAgICAgICBtYXRjaE9yRmFpbChBUlJPV0ZVTkNUSU9OLCAiRXhwZWN0
ZWQgYSAnPT4nIGFmdGVyIGFycm93IGZ1bmN0aW9uIHBhcmFtZXRlciBkZWNsYXJhdGlvbiIpOwor
ICAgICAgICBpc0NsYXNzQ29uc3RydWN0b3IgPSBmYWxzZTsKKyAgICAgICAgCisgICAgICAgIGlu
Zm8uYXJyb3dGdW5jdGlvbk9mZnNldCA9IG1fdG9rZW4ubV9kYXRhLm9mZnNldDsKKyAgICAgICAg
YnJlYWs7CisgICAgfQorI2VuZGlmCiAgICAgfQotICAgIGJvb2wgaXNDbGFzc0NvbnN0cnVjdG9y
ID0gY29uc3RydWN0b3JLaW5kICE9IENvbnN0cnVjdG9yS2luZDo6Tm9uZTsKKyAgICAKKyAgICBj
b25zdHJ1Y3RvcktpbmQgPSBpc0NsYXNzQ29uc3RydWN0b3IgPyBjb25zdHJ1Y3RvcktpbmQgOiBD
b25zdHJ1Y3RvcktpbmQ6Ok5vbmU7CiAKICAgICBpbmZvLm9wZW5CcmFjZU9mZnNldCA9IG1fdG9r
ZW4ubV9kYXRhLm9mZnNldDsKICAgICBpbmZvLmJvZHlTdGFydExpbmUgPSB0b2tlbkxpbmUoKTsK
QEAgLTEzOTYsOCArMTUxOSwxNSBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IGJvb2wg
UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRyZWVCdWlsZAogICAgICAgICBm
YWlsSWZGYWxzZShwb3BTY29wZShmdW5jdGlvblNjb3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVl
VmFyaWFibGVJbmZvKSwgIlBhcnNlciBlcnJvciIpOwogICAgICAgICAKICAgICAgICAgaW5mby5j
bG9zZUJyYWNlT2Zmc2V0ID0gY2FjaGVkSW5mby0+Y2xvc2VCcmFjZU9mZnNldDsKLQotICAgICAg
ICBtX3Rva2VuID0gY2FjaGVkSW5mby0+Y2xvc2VCcmFjZVRva2VuKCk7CisgICAgICAgIAorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgICAgIGlmIChwYXJzZVR5cGUg
PT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkKKyAgICAgICAgICAgIGluZm8uZnVuY3Rpb25Cb2R5
VHlwZSA9IGNhY2hlZEluZm8tPmlzQm9keUFycm93RXhwcmVzc2lvbiA/ICBBcnJvd0Z1bmN0aW9u
Qm9keUV4cHJlc3Npb24gOiBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrOworICAgICAgICBlbHNlCisg
ICAgICAgICAgICBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPSBTdGFuZGFyZEZ1bmN0aW9uQm9keUJs
b2NrOworI2VuZGlmCisgICAgICAgIG1fdG9rZW4gPSBjYWNoZWRJbmZvLT5lbmRGdW5jdGlvblRv
a2VuKCk7CisgICAgICAgIAogICAgICAgICBpZiAoZW5kQ29sdW1uSXNPblN0YXJ0TGluZSkKICAg
ICAgICAgICAgIG1fdG9rZW4ubV9sb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQgPSBjdXJyZW50TGlu
ZVN0YXJ0T2Zmc2V0OwogCkBAIC0xNDA2LDEzICsxNTM2LDQzIEBAIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gYm9vbCBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VGdW5jdGlvbkluZm8oVHJl
ZUJ1aWxkCiAKICAgICAgICAgY29udGV4dC5zZXRFbmRPZmZzZXQoaW5mby5ib2R5LCBtX2xleGVy
LT5jdXJyZW50T2Zmc2V0KCkpOwogICAgICAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJ
T05fU1lOVEFYKQorICAgICAgICBpZiAocGFyc2VUeXBlICE9IEFycm93RnVuY3Rpb25QYXJzZVR5
cGUgfHwgaW5mby5mdW5jdGlvbkJvZHlUeXBlID09IEFycm93RnVuY3Rpb25Cb2R5QmxvY2spCisg
ICAgICAgICAgICBuZXh0KCk7CisjZWxzZQogICAgICAgICBuZXh0KCk7CisjZW5kaWYKICAgICAg
ICAgaW5mby5ib2R5RW5kTGluZSA9IG1fbGFzdFRva2VuRW5kUG9zaXRpb24ubGluZTsKICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgfQorICAgIAogICAgIG1fbGFzdEZ1bmN0aW9uTmFtZSA9IGxh
c3RGdW5jdGlvbk5hbWU7CiAgICAgUGFyc2VyU3RhdGUgb2xkU3RhdGUgPSBzYXZlU3RhdGUoKTsK
LSAgICBpbmZvLmJvZHkgPSBwYXJzZUZ1bmN0aW9uQm9keShjb250ZXh0LCBmdW5jdGlvbktleXdv
cmRTdGFydCwgZnVuY3Rpb25OYW1lU3RhcnQsIHBhcmFtZXRlcnNTdGFydCwgY29uc3RydWN0b3JL
aW5kKTsKKyAgICAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGlm
IChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNlVHlwZSkgeworICAgICAgICBTYXZlUG9p
bnQgc2F2ZVBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgICAgIG5leHQoKTsKKyAgICAg
ICAgLy8gQ2hlY2sgaWYgYXJyb3cgYm9keSBzdGFydCB3aXRoIHsuIElmIGl0IHRydWUgaXQgbWVh
biB0aGF0IGFycm93IGZ1bmN0aW9uIGlzIEZhdCBhcnJvdyBmdW5jdGlvbgorICAgICAgICAvLyBh
bmQgd2UgbmVlZCB1c2UgY29tbW9uIGFwcHJvYWNoIHRvIHBhcnNlIGZ1bmN0aW9uIGJvZHkKKyAg
ICAgICAgaW5mby5mdW5jdGlvbkJvZHlUeXBlID0gbWF0Y2goT1BFTkJSQUNFKSA/IEFycm93RnVu
Y3Rpb25Cb2R5QmxvY2sgOiBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb247CisgICAgCisgICAg
ICAgIGlmIChpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jaykg
eworICAgICAgICAgICAgaW5mby5vcGVuQnJhY2VPZmZzZXQgPSBtX3Rva2VuLm1fZGF0YS5vZmZz
ZXQ7CisgICAgICAgICAgICBpbmZvLmJvZHlTdGFydExpbmUgPSB0b2tlbkxpbmUoKTsKKyAgICAg
ICAgICAgIGluZm8uYm9keVN0YXJ0Q29sdW1uID0gbV90b2tlbi5tX2RhdGEub2Zmc2V0IC0gbV90
b2tlbi5tX2RhdGEubGluZVN0YXJ0T2Zmc2V0OworICAgICAgICAKKyAgICAgICAgICAgIGluZm8u
Ym9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRleHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBm
dW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0YXJ0LCBjb25zdHJ1Y3RvcktpbmQsIFN0YW5k
YXJkRnVuY3Rpb25QYXJzZVR5cGUpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgcmVz
dG9yZVNhdmVQb2ludChzYXZlUG9pbnQpOworICAgICAgICAgICAgaW5mby5ib2R5ID0gcGFyc2VG
dW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0
YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCwgQXJyb3dGdW5jdGlvblBhcnNl
VHlwZSk7CisgICAgICAgIH0KKyAgICB9IGVsc2UKKyAgICAgICAgaW5mby5ib2R5ID0gcGFyc2VG
dW5jdGlvbkJvZHkoY29udGV4dCwgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGZ1bmN0aW9uTmFtZVN0
YXJ0LCBwYXJhbWV0ZXJzU3RhcnQsIGNvbnN0cnVjdG9yS2luZCwgU3RhbmRhcmRGdW5jdGlvblBh
cnNlVHlwZSk7CisjZWxzZQorICAgIGluZm8uYm9keSA9IHBhcnNlRnVuY3Rpb25Cb2R5KGNvbnRl
eHQsIGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBmdW5jdGlvbk5hbWVTdGFydCwgcGFyYW1ldGVyc1N0
YXJ0LCBjb25zdHJ1Y3RvcktpbmQsIFN0YW5kYXJkRnVuY3Rpb25QYXJzZVR5cGUpOworI2VuZGlm
CisgICAgCiAgICAgcmVzdG9yZVN0YXRlKG9sZFN0YXRlKTsKICAgICBmYWlsSWZGYWxzZShpbmZv
LmJvZHksICJDYW5ub3QgcGFyc2UgdGhlIGJvZHkgb2YgdGhpcyAiLCBzdHJpbmdGb3JGdW5jdGlv
bk1vZGUobW9kZSkpOwogICAgIGNvbnRleHQuc2V0RW5kT2Zmc2V0KGluZm8uYm9keSwgbV9sZXhl
ci0+Y3VycmVudE9mZnNldCgpKTsKQEAgLTE0NDMsMTggKzE2MDMsMzIgQEAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5m
byhUcmVlQnVpbGQKICAgICAgICAgcGFyYW1ldGVycy5jbG9zZUJyYWNlTGluZSA9IGNsb3NlQnJh
Y2VMaW5lOwogICAgICAgICBwYXJhbWV0ZXJzLmNsb3NlQnJhY2VPZmZzZXQgPSBpbmZvLmNsb3Nl
QnJhY2VPZmZzZXQ7CiAgICAgICAgIHBhcmFtZXRlcnMuY2xvc2VCcmFjZUxpbmVTdGFydE9mZnNl
dCA9IGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQ7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICAgICAgaWYgKHBhcnNlVHlwZSA9PSBBcnJvd0Z1bmN0aW9uUGFyc2VU
eXBlKSB7CisgICAgICAgICAgICBwYXJhbWV0ZXJzLmlzQm9keUFycm93RXhwcmVzc2lvbiA9IGlu
Zm8uZnVuY3Rpb25Cb2R5VHlwZSA9PSBBcnJvd0Z1bmN0aW9uQm9keUV4cHJlc3Npb247CisgICAg
ICAgICAgICBwYXJhbWV0ZXJzLnRva2VuVHlwZSA9IG1fdG9rZW4ubV90eXBlOworICAgICAgICB9
CisjZW5kaWYKICAgICAgICAgZnVuY3Rpb25TY29wZS0+ZmlsbFBhcmFtZXRlcnNGb3JTb3VyY2VQ
cm92aWRlckNhY2hlKHBhcmFtZXRlcnMpOwogICAgICAgICBuZXdJbmZvID0gU291cmNlUHJvdmlk
ZXJDYWNoZUl0ZW06OmNyZWF0ZShwYXJhbWV0ZXJzKTsKLQogICAgIH0KICAgICAKICAgICBmYWls
SWZGYWxzZShwb3BTY29wZShmdW5jdGlvblNjb3BlLCBUcmVlQnVpbGRlcjo6TmVlZHNGcmVlVmFy
aWFibGVJbmZvKSwgIlBhcnNlciBlcnJvciIpOworICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgaWYgKChwYXJzZVR5cGUgPT0gQXJyb3dGdW5jdGlvblBhcnNl
VHlwZSAmJiBpbmZvLmZ1bmN0aW9uQm9keVR5cGUgPT0gQXJyb3dGdW5jdGlvbkJvZHlCbG9jaykg
fHwgcGFyc2VUeXBlICE9IEFycm93RnVuY3Rpb25QYXJzZVR5cGUpIHsKKyAgICAgICAgbWF0Y2hP
ckZhaWwoQ0xPU0VCUkFDRSwgIkV4cGVjdGVkIGEgY2xvc2luZyAnfScgYWZ0ZXIgYSAiLCBzdHJp
bmdGb3JGdW5jdGlvbk1vZGUobW9kZSksICIgYm9keSIpOworICAgICAgICBuZXh0KCk7CisgICAg
fSBlbHNlCisgICAgICAgIGZhaWxJZkZhbHNlKGlzRW5kT2ZBcnJvd0Z1bmN0aW9uKCksICJFeHBl
Y3RlZCB0aGUgY2xvc2luZyAnOycgJywnICddJyAnKScgJ30nIGFmdGVyIGFycm93IGZ1bmN0aW9u
Iik7CisjZWxzZQogICAgIG1hdGNoT3JGYWlsKENMT1NFQlJBQ0UsICJFeHBlY3RlZCBhIGNsb3Np
bmcgJ30nIGFmdGVyIGEgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2RlKG1vZGUpLCAiIGJvZHkiKTsK
KyAgICBuZXh0KCk7CisjZW5kaWYKICAgICAKICAgICBpZiAobmV3SW5mbykKICAgICAgICAgbV9m
dW5jdGlvbkNhY2hlLT5hZGQoaW5mby5vcGVuQnJhY2VPZmZzZXQsIFdURjo6bW92ZShuZXdJbmZv
KSk7CiAgICAgCi0gICAgbmV4dCgpOwogICAgIGluZm8uYm9keUVuZExpbmUgPSBtX2xhc3RUb2tl
bkVuZFBvc2l0aW9uLmxpbmU7CiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC0xNDY4LDcgKzE2NDIs
NyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExl
eGVyVHlwZT46OnBhcnNlRnVuY3Rpb25EZWNsYQogICAgIG5leHQoKTsKICAgICBQYXJzZXJGdW5j
dGlvbkluZm88VHJlZUJ1aWxkZXI+IGluZm87CiAgICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rp
b25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTmVlZHNOYW1lLCBGdW5jdGlvbk1vZGUsIHRydWUsIENv
bnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJCaW5kaW5nOjpOb3ROZWVkZWQsCi0gICAgICAgIGZ1
bmN0aW9uS2V5d29yZFN0YXJ0LCBpbmZvKSksICJDYW5ub3QgcGFyc2UgdGhpcyBmdW5jdGlvbiIp
OworICAgICAgICBmdW5jdGlvbktleXdvcmRTdGFydCwgaW5mbywgU3RhbmRhcmRGdW5jdGlvblBh
cnNlVHlwZSkpLCAiQ2Fubm90IHBhcnNlIHRoaXMgZnVuY3Rpb24iKTsKICAgICBmYWlsSWZGYWxz
ZShpbmZvLm5hbWUsICJGdW5jdGlvbiBzdGF0ZW1lbnRzIG11c3QgaGF2ZSBhIG5hbWUiKTsKICAg
ICBmYWlsSWZGYWxzZUlmU3RyaWN0KGRlY2xhcmVWYXJpYWJsZShpbmZvLm5hbWUpLCAiQ2Fubm90
IGRlY2xhcmUgYSBmdW5jdGlvbiBuYW1lZCAnIiwgaW5mby5uYW1lLT5pbXBsKCksICInIGluIHN0
cmljdCBtb2RlIik7CiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVuY0RlY2xTdGF0ZW1lbnQo
bG9jYXRpb24sIGluZm8pOwpAQCAtMTU4Nyw4ICsxNzYxLDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBUcmVlQ2xhc3NFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUNs
YXNzKFQKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxU
cmVlQnVpbGRlcj4gbWV0aG9kSW5mbzsKICAgICAgICAgICAgIGJvb2wgaXNDb25zdHJ1Y3RvciA9
ICFpc1N0YXRpY01ldGhvZCAmJiAqaWRlbnQgPT0gcHJvcGVydHlOYW1lcy5jb25zdHJ1Y3RvcjsK
LSAgICAgICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5j
dGlvbk5vUmVxdWlyZW1lbnRzLCBpc1N0YXRpY01ldGhvZCA/IEZ1bmN0aW9uTW9kZSA6IE1ldGhv
ZE1vZGUsIGZhbHNlLAotICAgICAgICAgICAgICAgIGlzQ29uc3RydWN0b3IgPyBjb25zdHJ1Y3Rv
cktpbmQgOiBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6TmVlZGVkLCBtZXRo
b2RTdGFydCwgbWV0aG9kSW5mbykpLCAiQ2Fubm90IHBhcnNlIHRoaXMgbWV0aG9kIik7CisgICAg
ICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25O
b1JlcXVpcmVtZW50cywgaXNTdGF0aWNNZXRob2QgPyBGdW5jdGlvbk1vZGUgOiBNZXRob2RNb2Rl
LCBmYWxzZSwgaXNDb25zdHJ1Y3RvciA/IGNvbnN0cnVjdG9yS2luZCA6IENvbnN0cnVjdG9yS2lu
ZDo6Tm9uZSwgU3VwZXJCaW5kaW5nOjpOZWVkZWQsIG1ldGhvZFN0YXJ0LCBtZXRob2RJbmZvLCBT
dGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlKSksICJDYW5ub3QgcGFyc2UgdGhpcyBtZXRob2QiKTsK
ICAgICAgICAgICAgIGZhaWxJZkZhbHNlKGlkZW50ICYmIGRlY2xhcmVWYXJpYWJsZShpZGVudCks
ICJDYW5ub3QgZGVjbGFyZSBhIG1ldGhvZCBuYW1lZCAnIiwgbWV0aG9kSW5mby5uYW1lLT5pbXBs
KCksICInIik7CiAgICAgICAgICAgICBtZXRob2RJbmZvLm5hbWUgPSBpc0NvbnN0cnVjdG9yID8g
Y2xhc3NOYW1lIDogaWRlbnQ7CiAKQEAgLTE4MDAsNiArMTk3MywxOCBAQCB0ZW1wbGF0ZSA8Y2xh
c3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlSWZT
dGF0ZW1lbnQoVAogICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZUlmU3RhdGVtZW50KGlmTG9jYXRp
b24sIGNvbmRpdGlvbiwgdHJ1ZUJsb2NrLCBzdGF0ZW1lbnRTdGFjay5sYXN0KCksIHN0YXJ0LCBl
bmQpOwogfQogCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK3RlbXBsYXRl
IDx0eXBlbmFtZSBMZXhlclR5cGU+Cit0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVF
eHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFycm93RnVuY3Rpb25FeHByZXNzaW9u
KFRyZWVCdWlsZGVyJiBjb250ZXh0KQoreworICAgIGZhaWxJZlN0YWNrT3ZlcmZsb3coKTsKKyAg
ICBUcmVlRXhwcmVzc2lvbiBub2RlID0gcGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbihjb250ZXh0
KTsKKyAgICBmYWlsSWZGYWxzZShub2RlLCAiQ2Fubm90IHBhcnNlIGV4cHJlc3Npb24iKTsKKyAg
ICBjb250ZXh0LnNldEVuZE9mZnNldChub2RlLCBtX2xhc3RUb2tlbkVuZFBvc2l0aW9uLm9mZnNl
dCk7CisgICAgcmV0dXJuIG5vZGU7Cit9CisjZW5kaWYKKwogdGVtcGxhdGUgPHR5cGVuYW1lIExl
eGVyVHlwZT4KIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFy
c2VyPExleGVyVHlwZT46OnBhcnNlRXhwcmVzc2lvbihUcmVlQnVpbGRlciYgY29udGV4dCkKIHsK
QEAgLTE4NDcsNiArMjAzMiw0MSBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRy
ZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbgogICAgICAgICB9
CiAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoc2F2ZVBvaW50KTsKICAgICB9CisKKyNpZiBFTkFC
TEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIFNhdmVQb2ludCBzYXZlQXJyb3dGdW5j
dGlvblBvaW50ID0gY3JlYXRlU2F2ZVBvaW50KCk7CisgICAgYm9vbCBhcnJvd0Z1bmN0aW9uRW1w
dHlMaXN0ID0gZmFsc2U7CisgICAgaWYgKG1hdGNoKE9QRU5QQVJFTikpIHsKKyAgICAgICAgbmV4
dCgpOworICAgICAgICBpZiAobWF0Y2goQ0xPU0VQQVJFTikpIHsKKyAgICAgICAgICAgIG5leHQo
KTsKKworICAgICAgICAgICAgaWYgKG1hdGNoKEFSUk9XRlVOQ1RJT04pKQorICAgICAgICAgICAg
ICAgIGFycm93RnVuY3Rpb25FbXB0eUxpc3QgPSB0cnVlOworICAgICAgICB9CisKKyAgICAgICAg
aWYgKCFhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0KQorICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2lu
dChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICB9CisKKyAgICBUcmVlRXhwcmVzc2lvbiBs
aHM7CisgICAgaWYgKCFhcnJvd0Z1bmN0aW9uRW1wdHlMaXN0KSB7CisgICAgICAgIGxocyA9IHBh
cnNlQ29uZGl0aW9uYWxFeHByZXNzaW9uKGNvbnRleHQpOworICAgICAgICBmYWlsSWZGYWxzZShs
aHMsICJDYW4Zbm90IHBhcnNlIGV4cHJlc3Npb24iKTsKKyAgICAgICAgaWYgKGluaXRpYWxOb25M
SFNDb3VudCAhPSBtX25vbkxIU0NvdW50KSB7CisgICAgICAgICAgICBpZiAobV90b2tlbi5tX3R5
cGUgPj0gRVFVQUwgJiYgbV90b2tlbi5tX3R5cGUgPD0gT1JFUVVBTCkKKyAgICAgICAgICAgICAg
ICBzZW1hbnRpY0ZhaWwoIkxlZnQgaGFuZCBzaWRlIG9mIG9wZXJhdG9yICciLCBnZXRUb2tlbigp
LCAiJyBtdXN0IGJlIGEgcmVmZXJlbmNlIik7CisKKyAgICAgICAgICAgIHJldHVybiBsaHM7Cisg
ICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAobWF0Y2goQVJST1dGVU5DVElPTikpIHsKKyAgICAg
ICAgcmVzdG9yZVNhdmVQb2ludChzYXZlQXJyb3dGdW5jdGlvblBvaW50KTsKKyAgICAgICAgbGhz
ID0gcGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihjb250ZXh0KTsKKyAgICAgICAgcmV0dXJuIGxo
czsKKyAgICB9CisjZWxzZQogICAgIFRyZWVFeHByZXNzaW9uIGxocyA9IHBhcnNlQ29uZGl0aW9u
YWxFeHByZXNzaW9uKGNvbnRleHQpOwogICAgIGZhaWxJZkZhbHNlKGxocywgIkNhbm5vdCBwYXJz
ZSBleHByZXNzaW9uIik7CiAgICAgaWYgKGluaXRpYWxOb25MSFNDb3VudCAhPSBtX25vbkxIU0Nv
dW50KSB7CkBAIC0xODU1LDcgKzIwNzUsOCBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJlZUJ1aWxk
ZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUFzc2lnbm1lbgogCiAg
ICAgICAgIHJldHVybiBsaHM7CiAgICAgfQotICAgIAorI2VuZGlmCisKICAgICBpbnQgYXNzaWdu
bWVudFN0YWNrID0gMDsKICAgICBPcGVyYXRvciBvcDsKICAgICBib29sIGhhZEFzc2lnbm1lbnQg
PSBmYWxzZTsKQEAgLTIwODcsOCArMjMwOCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRl
cj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlUHJvcGVydHlNZXRoCiAg
ICAgSlNUb2tlbkxvY2F0aW9uIG1ldGhvZExvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CiAgICAg
dW5zaWduZWQgbWV0aG9kU3RhcnQgPSB0b2tlblN0YXJ0KCk7CiAgICAgUGFyc2VyRnVuY3Rpb25J
bmZvPFRyZWVCdWlsZGVyPiBtZXRob2RJbmZvOwotICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0
aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBNZXRob2RNb2RlLCBmYWxz
ZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBTdXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwKLSAgICAg
ICAgbWV0aG9kU3RhcnQsIG1ldGhvZEluZm8pKSwgIkNhbm5vdCBwYXJzZSB0aGlzIG1ldGhvZCIp
OworICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5v
UmVxdWlyZW1lbnRzLCBNZXRob2RNb2RlLCBmYWxzZSwgQ29uc3RydWN0b3JLaW5kOjpOb25lLCBT
dXBlckJpbmRpbmc6Ok5vdE5lZWRlZCwgbWV0aG9kU3RhcnQsIG1ldGhvZEluZm8sIFN0YW5kYXJk
RnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSB0aGlzIG1ldGhvZCIpOwogICAgIG1l
dGhvZEluZm8ubmFtZSA9IG1ldGhvZE5hbWU7CiAgICAgcmV0dXJuIGNvbnRleHQuY3JlYXRlRnVu
Y3Rpb25FeHByKG1ldGhvZExvY2F0aW9uLCBtZXRob2RJbmZvKTsKIH0KQEAgLTIxMTUsMTEgKzIz
MzUsMTEgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgUGFyc2Vy
PExleGVyVHlwZT46OnBhcnNlR2V0dGVyU2V0dGVyKFQKICAgICBpZiAodHlwZSA9PSBQcm9wZXJ0
eU5vZGU6OkdldHRlcikgewogICAgICAgICBmYWlsSWZGYWxzZShtYXRjaChPUEVOUEFSRU4pLCAi
RXhwZWN0ZWQgYSBwYXJhbWV0ZXIgbGlzdCBmb3IgZ2V0dGVyIGRlZmluaXRpb24iKTsKICAgICAg
ICAgZmFpbElmRmFsc2UoKHBhcnNlRnVuY3Rpb25JbmZvKGNvbnRleHQsIEZ1bmN0aW9uTm9SZXF1
aXJlbWVudHMsIEdldHRlck1vZGUsIGZhbHNlLCBjb25zdHJ1Y3RvcktpbmQsIHN1cGVyQmluZGlu
ZywKLSAgICAgICAgICAgIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIGluZm8pKSwgIkNhbm5v
dCBwYXJzZSBnZXR0ZXIgZGVmaW5pdGlvbiIpOworICAgICAgICAgICAgZ2V0dGVyT3JTZXR0ZXJT
dGFydE9mZnNldCwgaW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90IHBh
cnNlIGdldHRlciBkZWZpbml0aW9uIik7CiAgICAgfSBlbHNlIHsKICAgICAgICAgZmFpbElmRmFs
c2UobWF0Y2goT1BFTlBBUkVOKSwgIkV4cGVjdGVkIGEgcGFyYW1ldGVyIGxpc3QgZm9yIHNldHRl
ciBkZWZpbml0aW9uIik7CiAgICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9uSW5mbyhj
b250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBTZXR0ZXJNb2RlLCBmYWxzZSwgY29uc3Ry
dWN0b3JLaW5kLCBzdXBlckJpbmRpbmcsCi0gICAgICAgICAgICBnZXR0ZXJPclNldHRlclN0YXJ0
T2Zmc2V0LCBpbmZvKSksICJDYW5ub3QgcGFyc2Ugc2V0dGVyIGRlZmluaXRpb24iKTsKKyAgICAg
ICAgICAgIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIGluZm8sIFN0YW5kYXJkRnVuY3Rpb25Q
YXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSBzZXR0ZXIgZGVmaW5pdGlvbiIpOwogICAgIH0KICAg
ICBpZiAoc3RyaW5nUHJvcGVydHlOYW1lKQogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVH
ZXR0ZXJPclNldHRlclByb3BlcnR5KGxvY2F0aW9uLCB0eXBlLCBzdHJpY3QsIHN0cmluZ1Byb3Bl
cnR5TmFtZSwgaW5mbywgc3VwZXJCaW5kaW5nKTsKQEAgLTIzNjgsOCArMjU4OCw3IEBAIHRlbXBs
YXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46
OnBhcnNlUHJpbWFyeUV4cHJlCiAgICAgICAgIG5leHQoKTsKICAgICAgICAgUGFyc2VyRnVuY3Rp
b25JbmZvPFRyZWVCdWlsZGVyPiBpbmZvOwogICAgICAgICBpbmZvLm5hbWUgPSAmbV92bS0+cHJv
cGVydHlOYW1lcy0+bnVsbElkZW50aWZpZXI7Ci0gICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1
bmN0aW9uSW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlvbk1vZGUs
IGZhbHNlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLAot
ICAgICAgICAgICAgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGluZm8pKSwgIkNhbm5vdCBwYXJzZSBm
dW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgICAgIGZhaWxJZkZhbHNlKChwYXJzZUZ1bmN0aW9u
SW5mbyhjb250ZXh0LCBGdW5jdGlvbk5vUmVxdWlyZW1lbnRzLCBGdW5jdGlvbk1vZGUsIGZhbHNl
LCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUsIFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLCBmdW5jdGlv
bktleXdvcmRTdGFydCwgaW5mbywgU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSkpLCAiQ2Fubm90
IHBhcnNlIGZ1bmN0aW9uIGV4cHJlc3Npb24iKTsKICAgICAgICAgcmV0dXJuIGNvbnRleHQuY3Jl
YXRlRnVuY3Rpb25FeHByKGxvY2F0aW9uLCBpbmZvKTsKICAgICB9CiAjaWYgRU5BQkxFKEVTNl9D
TEFTU19TWU5UQVgpCkBAIC0yMzk4LDYgKzI2MTcsMjMgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhw
cmUKICAgICAgICAgcmV0dXJuIGNvbnRleHQudGhpc0V4cHIobG9jYXRpb24sIG1fdGhpc1REWk1v
ZGUpOwogICAgIH0KICAgICBjYXNlIElERU5UOiB7CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNU
SU9OX1NZTlRBWCkKKyAgICAgICAgU2F2ZVBvaW50IHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQgPSBj
cmVhdGVTYXZlUG9pbnQoKTsKKyAgICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0
YXJ0UG9zaXRpb24oKTsKKyAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2Vu
Lm1fZGF0YS5pZGVudDsKKyAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9j
YXRpb24oKSk7CisgICAgICAgIG5leHQoKTsKKworICAgICAgICBpZiAoIW1hdGNoKEFSUk9XRlVO
Q1RJT04pKSB7CisgICAgICAgICAgICBjdXJyZW50U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRlbnQs
IG1fdm0tPnByb3BlcnR5TmFtZXMtPmV2YWwgPT0gKmlkZW50KTsKKyAgICAgICAgICAgIG1fbGFz
dElkZW50aWZpZXIgPSBpZGVudDsKKyAgICAgICAgICAgIHJldHVybiBjb250ZXh0LmNyZWF0ZVJl
c29sdmUobG9jYXRpb24sIGlkZW50LCBzdGFydCk7CisgICAgICAgIH0KKworICAgICAgICByZXN0
b3JlU2F2ZVBvaW50KHNhdmVBcnJvd0Z1bmN0aW9uUG9pbnQpOworICAgICAgICBUcmVlRXhwcmVz
c2lvbiBsaHMgPSBwYXJzZUFycm93RnVuY3Rpb25XcmFwcGVyKGNvbnRleHQpOworICAgICAgICBy
ZXR1cm4gbGhzOworI2Vsc2UKICAgICAgICAgSlNUZXh0UG9zaXRpb24gc3RhcnQgPSB0b2tlblN0
YXJ0UG9zaXRpb24oKTsKICAgICAgICAgY29uc3QgSWRlbnRpZmllciogaWRlbnQgPSBtX3Rva2Vu
Lm1fZGF0YS5pZGVudDsKICAgICAgICAgSlNUb2tlbkxvY2F0aW9uIGxvY2F0aW9uKHRva2VuTG9j
YXRpb24oKSk7CkBAIC0yNDA1LDYgKzI2NDEsNyBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVByaW1hcnlFeHByZQog
ICAgICAgICBjdXJyZW50U2NvcGUoKS0+dXNlVmFyaWFibGUoaWRlbnQsIG1fdm0tPnByb3BlcnR5
TmFtZXMtPmV2YWwgPT0gKmlkZW50KTsKICAgICAgICAgbV9sYXN0SWRlbnRpZmllciA9IGlkZW50
OwogICAgICAgICByZXR1cm4gY29udGV4dC5jcmVhdGVSZXNvbHZlKGxvY2F0aW9uLCBpZGVudCwg
c3RhcnQpOworI2VuZGlmCiAgICAgfQogICAgIGNhc2UgU1RSSU5HOiB7CiAgICAgICAgIGNvbnN0
IElkZW50aWZpZXIqIGlkZW50ID0gbV90b2tlbi5tX2RhdGEuaWRlbnQ7CkBAIC0yNTk3LDYgKzI4
MzQsMzMgQEAgZW5kTWVtYmVyRXhwcmVzc2lvbjoKICAgICByZXR1cm4gYmFzZTsKIH0KIAorI2lm
IEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCit0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4
ZXJUeXBlPgordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJz
ZXI8TGV4ZXJUeXBlPjo6cGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihUcmVlQnVpbGRlciYgY29u
dGV4dCkKK3sKKyAgICBUcmVlRXhwcmVzc2lvbiBiYXNlID0gMDsKKyAgICBKU1RleHRQb3NpdGlv
biBleHByZXNzaW9uU3RhcnQgPSB0b2tlblN0YXJ0UG9zaXRpb24oKTsKKyAgICBpbnQgbmV3Q291
bnQgPSAwOworICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2NhdGlvbjsKKworICAgIGlmIChtYXRjaChJ
REVOVCkgfHwgbWF0Y2goT1BFTlBBUkVOKSkgeworICAgICAgICB1bnNpZ25lZCBmdW5jdGlvbktl
eXdvcmRTdGFydCA9IHRva2VuU3RhcnQoKTsKKyAgICAgICAgbG9jYXRpb24gPSB0b2tlbkxvY2F0
aW9uKCk7CisgICAgICAgIFBhcnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4gaW5mbzsKKyAg
ICAgICAgaW5mby5uYW1lID0gJm1fdm0tPnByb3BlcnR5TmFtZXMtPm51bGxJZGVudGlmaWVyOwor
ICAgICAgICBmYWlsSWZGYWxzZSgocGFyc2VGdW5jdGlvbkluZm8oY29udGV4dCwgRnVuY3Rpb25O
b1JlcXVpcmVtZW50cywgRnVuY3Rpb25Nb2RlLCB0cnVlLCBDb25zdHJ1Y3RvcktpbmQ6Ok5vbmUs
IFN1cGVyQmluZGluZzo6Tm90TmVlZGVkLAorICAgICAgICAgICAgZnVuY3Rpb25LZXl3b3JkU3Rh
cnQsIGluZm8sIEFycm93RnVuY3Rpb25QYXJzZVR5cGUpKSwgIkNhbm5vdCBwYXJzZSBhcnJvdyBm
dW5jdGlvbiBleHByZXNzaW9uIik7CisgICAgICAgIGJhc2UgPSBjb250ZXh0LmNyZWF0ZUFycm93
RnVuY3Rpb25FeHByKGxvY2F0aW9uLCBpbmZvKTsKKyAgICB9IGVsc2UKKyAgICAgICAgYmFzZSA9
IHBhcnNlUHJpbWFyeUV4cHJlc3Npb24oY29udGV4dCk7CisKKyAgICBmYWlsSWZGYWxzZShiYXNl
LCAiQ2Fubm90IHBhcnNlIGJhc2UgZXhwcmVzc2lvbiIpOworICAgIHdoaWxlIChuZXdDb3VudC0t
KQorICAgICAgICBiYXNlID0gY29udGV4dC5jcmVhdGVOZXdFeHByKGxvY2F0aW9uLCBiYXNlLCBl
eHByZXNzaW9uU3RhcnQsIGxhc3RUb2tlbkVuZFBvc2l0aW9uKCkpOworICAgIHJldHVybiBiYXNl
OworfQorI2VuZGlmCisKIHN0YXRpYyBjb25zdCBjaGFyKiBvcGVyYXRvclN0cmluZyhib29sIHBy
ZWZpeCwgdW5zaWduZWQgdG9rKQogewogICAgIHN3aXRjaCAodG9rKSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCAzZGZmOGU0OWIzMDU3YzQ5OTE0NDVmNmZjNGVkNDJj
OWYzNDY1YWM4Li4yNzQxYzhhYjkwMzE3ZjQ5ZDVlZDU4ZDY0OWNmOTYzM2I4NzY2ZjBlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKQEAgLTgwLDYgKzgwLDExIEBAIGNsYXNz
IFNvdXJjZUNvZGU7CiBDT01QSUxFX0FTU0VSVChMYXN0VW50YWdnZWRUb2tlbiA8IDY0LCBMZXNz
VGhhbjY0VW50YWdnZWRUb2tlbnMpOwogCiBlbnVtIFNvdXJjZUVsZW1lbnRzTW9kZSB7IENoZWNr
Rm9yU3RyaWN0TW9kZSwgRG9udENoZWNrRm9yU3RyaWN0TW9kZSB9OworI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCitlbnVtIEZ1bmN0aW9uUGFyc2VUeXBlIHsgU3RhbmRhcmRG
dW5jdGlvblBhcnNlVHlwZSwgQXJyb3dGdW5jdGlvblBhcnNlVHlwZSB9OworI2Vsc2UKK2VudW0g
RnVuY3Rpb25QYXJzZVR5cGUgeyBTdGFuZGFyZEZ1bmN0aW9uUGFyc2VUeXBlfTsKKyNlbmRpZgog
ZW51bSBGdW5jdGlvblJlcXVpcmVtZW50cyB7IEZ1bmN0aW9uTm9SZXF1aXJlbWVudHMsIEZ1bmN0
aW9uTmVlZHNOYW1lIH07CiBlbnVtIEZ1bmN0aW9uUGFyc2VNb2RlIHsKICAgICBGdW5jdGlvbk1v
ZGUsCkBAIC02MTgsNiArNjIzLDEzIEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBtX3Rva2Vu
Lm1fdHlwZSA9PSBJREVOVCAmJiAqbV90b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS0+cHJvcGVy
dHlOYW1lcy0+b2Y7CiAgICAgfQogICAgIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9T
WU5UQVgpCisgICAgQUxXQVlTX0lOTElORSBib29sIGlzRW5kT2ZBcnJvd0Z1bmN0aW9uKCkKKyAg
ICB7CisgICAgICAgIHJldHVybiBtYXRjaChTRU1JQ09MT04pIHx8IG1hdGNoKENPTU1BKSB8fCBt
YXRjaChDTE9TRVBBUkVOKSB8fCBtYXRjaChDTE9TRUJSQUNFKSB8fCBtYXRjaChDTE9TRUJSQUNL
RVQpOworICAgIH0KKyNlbmRpZgorICAgIAogICAgIEFMV0FZU19JTkxJTkUgdW5zaWduZWQgdG9r
ZW5TdGFydCgpCiAgICAgewogICAgICAgICByZXR1cm4gbV90b2tlbi5tX2xvY2F0aW9uLnN0YXJ0
T2Zmc2V0OwpAQCAtNzIxLDkgKzczMyw5IEBAIHByaXZhdGU6CiAgICAgICAgIH0KICAgICAgICAg
cmV0dXJuIHJlc3VsdDsKICAgICB9Ci0gICAgCi0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWls
ZGVyPiBUcmVlU291cmNlRWxlbWVudHMgcGFyc2VTb3VyY2VFbGVtZW50cyhUcmVlQnVpbGRlciYs
IFNvdXJjZUVsZW1lbnRzTW9kZSk7Ci0gICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlU3RhdGVtZW50IHBhcnNlU3RhdGVtZW50KFRyZWVCdWlsZGVyJiwgY29uc3QgSWRlbnRpZmll
ciomIGRpcmVjdGl2ZSwgdW5zaWduZWQqIGRpcmVjdGl2ZUxpdGVyYWxMZW5ndGggPSAwKTsKKwor
ICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVNvdXJjZUVsZW1lbnRzIHBhcnNl
U291cmNlRWxlbWVudHMoVHJlZUJ1aWxkZXImLCBTb3VyY2VFbGVtZW50c01vZGUsIEZ1bmN0aW9u
UGFyc2VUeXBlKTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTdGF0ZW1l
bnQgcGFyc2VTdGF0ZW1lbnQoVHJlZUJ1aWxkZXImLCBjb25zdCBJZGVudGlmaWVyKiYgZGlyZWN0
aXZlLCB1bnNpZ25lZCogZGlyZWN0aXZlTGl0ZXJhbExlbmd0aCA9IDAsIEZ1bmN0aW9uUGFyc2VU
eXBlIGZ1bmN0aW9uUGFyc2VUeXBlID0gU3RhbmRhcmRGdW5jdGlvblBhcnNlVHlwZSk7CiAjaWYg
RU5BQkxFKEVTNl9DTEFTU19TWU5UQVgpCiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlU3RhdGVtZW50IHBhcnNlQ2xhc3NEZWNsYXJhdGlvbihUcmVlQnVpbGRlciYpOwogI2Vu
ZGlmCkBAIC03NjIsMjAgKzc3NCwzNCBAQCBwcml2YXRlOgogICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gVHJlZVByb3BlcnR5IHBhcnNlUHJvcGVydHkoVHJlZUJ1aWxkZXImLCBib29s
IHN0cmljdCk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lv
biBwYXJzZVByb3BlcnR5TWV0aG9kKFRyZWVCdWlsZGVyJiBjb250ZXh0LCBjb25zdCBJZGVudGlm
aWVyKiBtZXRob2ROYW1lKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQ
cm9wZXJ0eSBwYXJzZUdldHRlclNldHRlcihUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0LCBQcm9w
ZXJ0eU5vZGU6OlR5cGUsIHVuc2lnbmVkIGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQsIENvbnN0
cnVjdG9yS2luZCA9IENvbnN0cnVjdG9yS2luZDo6Tm9uZSwgU3VwZXJCaW5kaW5nID0gU3VwZXJC
aW5kaW5nOjpOb3ROZWVkZWQpOwotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gQUxX
QVlTX0lOTElORSBUcmVlRnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rpb25Cb2R5KFRyZWVCdWlsZGVy
JiwgaW50IGZ1bmN0aW9uS2V5d29yZFN0YXJ0LCBpbnQgZnVuY3Rpb25OYW1lU3RhcnQsIGludCBw
YXJhbWV0ZXJzU3RhcnQsIENvbnN0cnVjdG9yS2luZCk7CisgICAgdGVtcGxhdGUgPGNsYXNzIFRy
ZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5FIFRyZWVGdW5jdGlvbkJvZHkgcGFyc2VGdW5jdGlvbkJv
ZHkoVHJlZUJ1aWxkZXImLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIGludCBmdW5jdGlvbk5h
bWVTdGFydCwgaW50IHBhcmFtZXRlcnNTdGFydCwgQ29uc3RydWN0b3JLaW5kLCBGdW5jdGlvblBh
cnNlVHlwZSk7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5MSU5F
IFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhUcmVlQnVpbGRl
ciYpOwogICAgIGVudW0gVmFyRGVjbGFyYXRpb25MaXN0Q29udGV4dCB7IEZvckxvb3BDb250ZXh0
LCBWYXJEZWNsYXJhdGlvbkNvbnRleHQgfTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxk
ZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlVmFyRGVjbGFyYXRpb25MaXN0KFRyZWVCdWlsZGVyJiwg
aW50JiBkZWNsYXJhdGlvbnMsIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4mIGxhc3RQYXR0ZXJu
LCBUcmVlRXhwcmVzc2lvbiYgbGFzdEluaXRpYWxpemVyLCBKU1RleHRQb3NpdGlvbiYgaWRlbnRT
dGFydCwgSlNUZXh0UG9zaXRpb24mIGluaXRTdGFydCwgSlNUZXh0UG9zaXRpb24mIGluaXRFbmQs
IFZhckRlY2xhcmF0aW9uTGlzdENvbnRleHQpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVDb25zdERlY2xMaXN0IHBhcnNlQ29uc3REZWNsYXJhdGlv
bkxpc3QoVHJlZUJ1aWxkZXImKTsKIAorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5U
QVgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJz
ZUFycm93RnVuY3Rpb25FeHByZXNzaW9uKFRyZWVCdWlsZGVyJik7CisgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZW50IHBhcnNlQXJyb3dGdW5jdGlvblN0YXRlbWVu
dChUcmVlQnVpbGRlciYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4
cHJlc3Npb24gcGFyc2VBcnJvd0Z1bmN0aW9uV3JhcHBlcihUcmVlQnVpbGRlciYpOworI2VuZGlm
CisKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVj
b25zdHJ1Y3Rpb25QYXR0ZXJuIGNyZWF0ZUJpbmRpbmdQYXR0ZXJuKFRyZWVCdWlsZGVyJiwgRGVj
b25zdHJ1Y3Rpb25LaW5kLCBjb25zdCBJZGVudGlmaWVyJiwgaW50IGRlcHRoLCBKU1Rva2VuKTsK
ICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25z
dHJ1Y3Rpb25QYXR0ZXJuIHBhcnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuKFRyZWVCdWlsZGVyJiwg
RGVjb25zdHJ1Y3Rpb25LaW5kLCBpbnQgZGVwdGggPSAwKTsKICAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IE5FVkVSX0lOTElORSBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIHRyeVBh
cnNlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuRXhwcmVzc2lvbihUcmVlQnVpbGRlciYpOwogCi0gICAg
dGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgYm9vbCBwYXJzZUZ1bmN0
aW9uSW5mbyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzLCBGdW5jdGlvblBhcnNl
TW9kZSwgYm9vbCBuYW1lSXNJbkNvbnRhaW5pbmdTY29wZSwgQ29uc3RydWN0b3JLaW5kLCBTdXBl
ckJpbmRpbmcsIGludCBmdW5jdGlvbktleXdvcmRTdGFydCwgUGFyc2VyRnVuY3Rpb25JbmZvPFRy
ZWVCdWlsZGVyPiYpOworICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5M
SU5FIGJvb2wgcGFyc2VGdW5jdGlvbkluZm8oVHJlZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVpcmVt
ZW50cywgRnVuY3Rpb25QYXJzZU1vZGUsIGJvb2wgbmFtZUlzSW5Db250YWluaW5nU2NvcGUsIENv
bnN0cnVjdG9yS2luZCwgU3VwZXJCaW5kaW5nLCBpbnQgZnVuY3Rpb25LZXl3b3JkU3RhcnQsIFBh
cnNlckZ1bmN0aW9uSW5mbzxUcmVlQnVpbGRlcj4mLCBGdW5jdGlvblBhcnNlVHlwZSk7CisgICAg
CisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgaW50IHBhcnNl
RnVuY3Rpb25QYXJhbXRlcnMoVHJlZUJ1aWxkZXImLCBGdW5jdGlvblJlcXVpcmVtZW50cywgRnVu
Y3Rpb25QYXJzZU1vZGUsIGJvb2wsIEF1dG9Qb3BTY29wZVJlZiYsIFBhcnNlckZ1bmN0aW9uSW5m
bzxUcmVlQnVpbGRlcj4mKTsKKwogI2lmIEVOQUJMRShFUzZfQ0xBU1NfU1lOVEFYKQogICAgIHRl
bXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVDbGFzc0V4cHJlc3Np
b24gcGFyc2VDbGFzcyhUcmVlQnVpbGRlciYsIEZ1bmN0aW9uUmVxdWlyZW1lbnRzLCBQYXJzZXJD
bGFzc0luZm88VHJlZUJ1aWxkZXI+Jik7CiAjZW5kaWYKKworI2lmIEVOQUJMRShFUzZfQVJST1dG
VU5DVElPTl9TWU5UQVgpCisgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9J
TkxJTkUgaW50IHBhcnNlQXJyb3dGdW5jdGlvblBhcmFtdGVycyhUcmVlQnVpbGRlciYsIEZ1bmN0
aW9uUGFyc2VNb2RlLCBQYXJzZXJGdW5jdGlvbkluZm88VHJlZUJ1aWxkZXI+Jik7CisjZW5kaWYK
KwogI2lmIEVOQUJMRShFUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVgpCiAgICAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBORVZFUl9JTkxJTkUgdHlwZW5hbWUgVHJlZUJ1aWxkZXI6OlRl
bXBsYXRlU3RyaW5nIHBhcnNlVGVtcGxhdGVTdHJpbmcoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGJv
b2wgaXNUZW1wbGF0ZUhlYWQsIGJvb2wmIGVsZW1lbnRJc1RhaWwpOwogICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpUZW1w
bGF0ZUxpdGVyYWwgcGFyc2VUZW1wbGF0ZUxpdGVyYWwoVHJlZUJ1aWxkZXImKTsKQEAgLTc5Myw2
ICs4MTksMTQgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIGFsbG93QXV0b21hdGljU2VtaWNv
bG9uKCk7CiAgICAgfQogICAgIAorCisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRB
WCkKKyAgICB2b2lkIHNldEVuZE9mU3RhdGVtZW50KCkKKyAgICB7CisgICAgICAgIG1fbGV4ZXIt
PnNldFRva2VuUG9zaXRpb24oJm1fdG9rZW4pOworICAgIH0KKyNlbmRpZgorCiAgICAgYm9vbCBj
YW5SZWN1cnNlKCkKICAgICB7CiAgICAgICAgIHJldHVybiBtX3ZtLT5pc1NhZmVUb1JlY3Vyc2Uo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rp
b25JbmZvLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckZ1bmN0aW9uSW5m
by5oCmluZGV4IDZiNzM2MjgyZTJkMmE4MWJjNjNkYzJmM2MwZTVhZThjODU4Y2QxZjguLjBjZGUw
YzY3YTlkZTBlZGYzNDE0NGUzMjc5MWU1ZTkwYjRhMjE1MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyRnVuY3Rpb25JbmZvLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJGdW5jdGlvbkluZm8uaApAQCAtMjgsNiArMjgsMTAg
QEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKKyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lO
VEFYKQorZW51bSBGdW5jdGlvbkJvZHlUeXBlIHsgQXJyb3dGdW5jdGlvbkJvZHlFeHByZXNzaW9u
LCBBcnJvd0Z1bmN0aW9uQm9keUJsb2NrLCBTdGFuZGFyZEZ1bmN0aW9uQm9keUJsb2NrIH07Cisj
ZW5kaWYKKwogdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPgogc3RydWN0IFBhcnNlckZ1bmN0
aW9uSW5mbyB7CiAgICAgY29uc3QgSWRlbnRpZmllciogbmFtZSA9IDA7CkBAIC0zOCw2ICs0Miwx
MSBAQCBzdHJ1Y3QgUGFyc2VyRnVuY3Rpb25JbmZvIHsKICAgICBpbnQgYm9keVN0YXJ0TGluZSA9
IDA7CiAgICAgaW50IGJvZHlFbmRMaW5lID0gMDsKICAgICB1bnNpZ25lZCBib2R5U3RhcnRDb2x1
bW4gPSAwOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgdW5zaWdu
ZWQgYXJyb3dGdW5jdGlvbk9mZnNldCA9IDA7CisgICAgYm9vbCBpc0Fycm93RnVuY3Rpb24gPSBm
YWxzZTsKKyAgICBGdW5jdGlvbkJvZHlUeXBlIGZ1bmN0aW9uQm9keVR5cGUgPSBTdGFuZGFyZEZ1
bmN0aW9uQm9keUJsb2NrOworI2VuZGlmCiB9OwogCiAjaWYgRU5BQkxFKEVTNl9DTEFTU19TWU5U
QVgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRva2Vu
cy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaAppbmRleCAw
MjZlNGY4MGY0MzdkOGJmZTRhNjE5YzMwZDExZGM5ZmM2MWUyNjQ1Li5lOTE1NGNhZjA1M2M1Mzgx
YjVmMDk4MTZkYmEwNTU4YTU0MzRiZjM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL1BhcnNlclRva2Vucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvUGFyc2VyVG9rZW5zLmgKQEAgLTc1LDYgKzc1LDkgQEAgZW51bSBKU1Rva2VuVHlwZSB7CiAg
ICAgRklOQUxMWSwKICAgICBERUJVR0dFUiwKICAgICBFTFNFLAorI2lmIEVOQUJMRShFUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpCisgICAgQVJST1dGVU5DVElPTiwKKyNlbmRpZgogI2lmIEVOQUJM
RShFUzZfQ0xBU1NfU1lOVEFYKQogICAgIENMQVNTVE9LRU4sCiAgICAgRVhURU5EUywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU291cmNlQ29kZS5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmgKaW5kZXggNzNkMjNkYjgyYWYyNWVh
NDZjMGY4OTc4NWNlNDI0YmI2MGViNjFhNy4uNTBkNTI2Mzk3OTQzZTM4MWQzODBlYzQzZDgyZDVi
NjNmN2YwOGRjNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3Vy
Y2VDb2RlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3VyY2VDb2RlLmgK
QEAgLTEwNSw2ICsxMDUsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgCiAgICAgICAgIFNv
dXJjZUNvZGUgc3ViRXhwcmVzc2lvbih1bnNpZ25lZCBvcGVuQnJhY2UsIHVuc2lnbmVkIGNsb3Nl
QnJhY2UsIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbik7CiAKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICAgICBTb3VyY2VDb2RlIHN1YkFycm93RXhwcmVz
c2lvbih1bnNpZ25lZCBzdGFydEFycm93RnVuY3Rpb24sIHVuc2lnbmVkIGVuZEFycm93RnVuY3Rp
b24sIGludCBmaXJzdExpbmUsIGludCBzdGFydENvbHVtbik7CisjZW5kaWYKICAgICBwcml2YXRl
OgogICAgICAgICBSZWZQdHI8U291cmNlUHJvdmlkZXI+IG1fcHJvdmlkZXI7CiAgICAgICAgIGlu
dCBtX3N0YXJ0Q2hhcjsKQEAgLTExOCw2ICsxMjEsMTcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAg
ICAgIHJldHVybiBTb3VyY2VDb2RlKFN0cmluZ1NvdXJjZVByb3ZpZGVyOjpjcmVhdGUoc291cmNl
LCB1cmwsIHN0YXJ0UG9zaXRpb24pLCBzdGFydFBvc2l0aW9uLm1fbGluZS5vbmVCYXNlZEludCgp
LCBzdGFydFBvc2l0aW9uLm1fY29sdW1uLm9uZUJhc2VkSW50KCkpOwogICAgIH0KIAorI2lmIEVO
QUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgaW5saW5lIFNvdXJjZUNvZGUgU291
cmNlQ29kZTo6c3ViQXJyb3dFeHByZXNzaW9uKHVuc2lnbmVkIHN0YXJ0QXJyb3dGdW5jdGlvbiwg
dW5zaWduZWQgZW5kQXJyb3dGdW5jdGlvbiwgaW50IGZpcnN0TGluZSwgaW50IHN0YXJ0Q29sdW1u
KQorICAgIHsKKyAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgpW3N0YXJ0QXJyb3dG
dW5jdGlvbl0gPT0gJz0nICYmIHByb3ZpZGVyKCktPnNvdXJjZSgpW3N0YXJ0QXJyb3dGdW5jdGlv
biArIDFdID09ICc+Jyk7CisgICAgICAgIC8vIEZpeG1lOiBVc2UgYmV0dGVyIGFwcHJvYWNoIHRv
IGNoZWNrIHN5bWJvbAorICAgICAgICBBU1NFUlQocHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJy
b3dGdW5jdGlvbiAtIDFdID09ICcsJyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1
bmN0aW9uIC0gMV0gPT0gJzsnIHx8IHByb3ZpZGVyKCktPnNvdXJjZSgpW2VuZEFycm93RnVuY3Rp
b24gLSAxXSA9PSAnKScgfHwgcHJvdmlkZXIoKS0+c291cmNlKClbZW5kQXJyb3dGdW5jdGlvbiAt
IDFdID09ICddJyB8fCBwcm92aWRlcigpLT5zb3VyY2UoKVtlbmRBcnJvd0Z1bmN0aW9uIC0gMV0g
PT0gJ30nKTsKKyAgICAgICAgc3RhcnRDb2x1bW4gKz0gMTsgLy8gQ29udmVydCB0byBiYXNlIDEu
CisgICAgICAgIHJldHVybiBTb3VyY2VDb2RlKHByb3ZpZGVyKCksIHN0YXJ0QXJyb3dGdW5jdGlv
biwgZW5kQXJyb3dGdW5jdGlvbiwgZmlyc3RMaW5lLCBzdGFydENvbHVtbik7CisgICAgfQorI2Vu
ZGlmCisKICAgICBpbmxpbmUgU291cmNlQ29kZSBTb3VyY2VDb2RlOjpzdWJFeHByZXNzaW9uKHVu
c2lnbmVkIG9wZW5CcmFjZSwgdW5zaWduZWQgY2xvc2VCcmFjZSwgaW50IGZpcnN0TGluZSwgaW50
IHN0YXJ0Q29sdW1uKQogICAgIHsKICAgICAgICAgQVNTRVJUKHByb3ZpZGVyKCktPnNvdXJjZSgp
W29wZW5CcmFjZV0gPT0gJ3snKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaAppbmRleCA2MzUzNzllM2Y0NDU2NjhjNTJi
ODcyZjc2MTZkY2I1OTIxYTgyOTQ0Li5mNDI4ZGI1MGE4ZGE3YTdhYjQ2ODI0YWIzODA4M2RiMDUy
ZDczNzc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1NvdXJjZVBy
b3ZpZGVyQ2FjaGVJdGVtLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Tb3Vy
Y2VQcm92aWRlckNhY2hlSXRlbS5oCkBAIC00MCw2ICs0MCwxMCBAQCBzdHJ1Y3QgU291cmNlUHJv
dmlkZXJDYWNoZUl0ZW1DcmVhdGlvblBhcmFtZXRlcnMgewogICAgIGJvb2wgbmVlZHNGdWxsQWN0
aXZhdGlvbjsKICAgICBib29sIHVzZXNFdmFsOwogICAgIGJvb2wgc3RyaWN0TW9kZTsKKyNpZiBF
TkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGJvb2wgaXNCb2R5QXJyb3dFeHBy
ZXNzaW9uOworICAgIEpTVG9rZW5UeXBlIHRva2VuVHlwZTsKKyNlbmRpZgogICAgIFZlY3RvcjxS
ZWZQdHI8U3RyaW5nSW1wbD4+IHVzZWRWYXJpYWJsZXM7CiAgICAgVmVjdG9yPFJlZlB0cjxTdHJp
bmdJbXBsPj4gd3JpdHRlblZhcmlhYmxlczsKIH07CkBAIC01NSwxMCArNTksMTQgQEAgcHVibGlj
OgogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8U291cmNlUHJvdmlkZXJDYWNoZUl0ZW0+IGNy
ZWF0ZShjb25zdCBTb3VyY2VQcm92aWRlckNhY2hlSXRlbUNyZWF0aW9uUGFyYW1ldGVycyYpOwog
ICAgIH5Tb3VyY2VQcm92aWRlckNhY2hlSXRlbSgpOwogCi0gICAgSlNUb2tlbiBjbG9zZUJyYWNl
VG9rZW4oKSBjb25zdCAKKyAgICBKU1Rva2VuIGVuZEZ1bmN0aW9uVG9rZW4oKSBjb25zdCAKICAg
ICB7CiAgICAgICAgIEpTVG9rZW4gdG9rZW47CisjaWYgRU5BQkxFKEVTNl9BUlJPV0ZVTkNUSU9O
X1NZTlRBWCkKKyAgICAgICAgdG9rZW4ubV90eXBlID0gaXNCb2R5QXJyb3dFeHByZXNzaW9uID8g
dG9rZW5UeXBlIDogQ0xPU0VCUkFDRTsKKyNlbHNlCiAgICAgICAgIHRva2VuLm1fdHlwZSA9IENM
T1NFQlJBQ0U7CisjZW5kaWYKICAgICAgICAgdG9rZW4ubV9kYXRhLm9mZnNldCA9IGNsb3NlQnJh
Y2VPZmZzZXQ7CiAgICAgICAgIHRva2VuLm1fbG9jYXRpb24uc3RhcnRPZmZzZXQgPSBjbG9zZUJy
YWNlT2Zmc2V0OwogICAgICAgICB0b2tlbi5tX2xvY2F0aW9uLmVuZE9mZnNldCA9IGNsb3NlQnJh
Y2VPZmZzZXQgKyAxOwpAQCAtODIsNiArOTAsMTEgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIHVz
ZWRWYXJpYWJsZXNDb3VudDsKICAgICB1bnNpZ25lZCB3cml0dGVuVmFyaWFibGVzQ291bnQ7CiAK
KyNpZiBFTkFCTEUoRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgIGJvb2wgaXNCb2R5QXJy
b3dFeHByZXNzaW9uOworICAgIEpTVG9rZW5UeXBlIHRva2VuVHlwZTsKKyNlbmRpZgorCiAgICAg
U3RyaW5nSW1wbCoqIHVzZWRWYXJpYWJsZXMoKSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0PFN0
cmluZ0ltcGwqKj4obV92YXJpYWJsZXMpOyB9CiAgICAgU3RyaW5nSW1wbCoqIHdyaXR0ZW5WYXJp
YWJsZXMoKSBjb25zdCB7IHJldHVybiBjb25zdF9jYXN0PFN0cmluZ0ltcGwqKj4oJm1fdmFyaWFi
bGVzW3VzZWRWYXJpYWJsZXNDb3VudF0pOyB9CiAKQEAgLTExNSw2ICsxMjgsMTAgQEAgaW5saW5l
IFNvdXJjZVByb3ZpZGVyQ2FjaGVJdGVtOjpTb3VyY2VQcm92aWRlckNhY2hlSXRlbShjb25zdCBT
b3VyY2VQcm92aWRlckNhY2gKICAgICAsIGNsb3NlQnJhY2VMaW5lU3RhcnRPZmZzZXQocGFyYW1l
dGVycy5jbG9zZUJyYWNlTGluZVN0YXJ0T2Zmc2V0KQogICAgICwgdXNlZFZhcmlhYmxlc0NvdW50
KHBhcmFtZXRlcnMudXNlZFZhcmlhYmxlcy5zaXplKCkpCiAgICAgLCB3cml0dGVuVmFyaWFibGVz
Q291bnQocGFyYW1ldGVycy53cml0dGVuVmFyaWFibGVzLnNpemUoKSkKKyNpZiBFTkFCTEUoRVM2
X0FSUk9XRlVOQ1RJT05fU1lOVEFYKQorICAgICwgaXNCb2R5QXJyb3dFeHByZXNzaW9uKHBhcmFt
ZXRlcnMuaXNCb2R5QXJyb3dFeHByZXNzaW9uKQorICAgICwgdG9rZW5UeXBlKHBhcmFtZXRlcnMu
dG9rZW5UeXBlKQorI2VuZGlmCiB7CiAgICAgdW5zaWduZWQgaiA9IDA7CiAgICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IHVzZWRWYXJpYWJsZXNDb3VudDsgKytpLCArK2opIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hlY2tlci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgKaW5kZXggNTU0ZTVkZjY0YTcy
MWY0NDYyZDBkODlhYjAyM2FmZGQ3NTNjNTViZS4uZjYzNWVkMWJiMzdlODg1MzY0NTQ3NGMwODIz
ZjRiNjEzODBhNGQzMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9T
eW50YXhDaGVja2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9TeW50YXhD
aGVja2VyLmgKQEAgLTE3Nyw2ICsxNzcsMTAgQEAgcHVibGljOgogI2VuZGlmCiAgICAgRXhwcmVz
c2lvblR5cGUgY3JlYXRlRnVuY3Rpb25FeHByKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYsIGNvbnN0
IFBhcnNlckZ1bmN0aW9uSW5mbzxTeW50YXhDaGVja2VyPiYpIHsgcmV0dXJuIEZ1bmN0aW9uRXhw
cjsgfQogICAgIGludCBjcmVhdGVGdW5jdGlvbkJvZHkoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwg
Y29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgaW50LCBpbnQsIGJvb2wsIGludCwgaW50LCBpbnQsIENv
bnN0cnVjdG9yS2luZCkgeyByZXR1cm4gRnVuY3Rpb25Cb2R5UmVzdWx0OyB9CisjaWYgRU5BQkxF
KEVTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKKyAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVBcnJv
d0Z1bmN0aW9uRXhwcihjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBjb25zdCBQYXJzZXJGdW5jdGlv
bkluZm88U3ludGF4Q2hlY2tlcj4mKSB7IHJldHVybiBGdW5jdGlvbkV4cHI7IH0KKyNlbmRpZiAK
KyAgICB2b2lkIHNldEZ1bmN0aW9uTmFtZVN0YXJ0KGludCwgaW50KSB7IH0KICAgICBpbnQgY3Jl
YXRlQXJndW1lbnRzKCkgeyByZXR1cm4gQXJndW1lbnRzUmVzdWx0OyB9CiAgICAgaW50IGNyZWF0
ZUFyZ3VtZW50cyhpbnQpIHsgcmV0dXJuIEFyZ3VtZW50c1Jlc3VsdDsgfQogICAgIEV4cHJlc3Np
b25UeXBlIGNyZWF0ZVNwcmVhZEV4cHJlc3Npb24oY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgRXhw
cmVzc2lvblR5cGUsIGludCwgaW50LCBpbnQpIHsgcmV0dXJuIFNwcmVhZEV4cHI7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyb3dGdW5jdGlvbi5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24uY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmEwMjcxOTYwMzk3YWI3ZDk5NTI0OGIxMmYyOTVhYjdlM2FlNmQzMzQKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVuY3Rpb24u
Y3BwCkBAIC0wLDAgKzEsMTE5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lmIEVOQUJMRShFUzZfQVJST1dGVU5D
VElPTl9TWU5UQVgpCisjaW5jbHVkZSAiSlNBcnJvd0Z1bmN0aW9uLmgiCisKKyNpbmNsdWRlICJF
cnJvci5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbkhlbHBlcnMuaCIKKyNpbmNsdWRlICJKU0NJbmxp
bmVzLmgiCisjaW5jbHVkZSAiSlNDSlNWYWx1ZS5oIgorI2luY2x1ZGUgIkpTRnVuY3Rpb24uaCIK
KyNpbmNsdWRlICJKU0Z1bmN0aW9uSW5saW5lcy5oIgorI2luY2x1ZGUgIkpTT2JqZWN0LmgiCisj
aW5jbHVkZSAiUHJvcGVydHlTbG90LmgiCisjaW5jbHVkZSAiVk0uaCIKKworbmFtZXNwYWNlIEpT
QyB7CisgICAgCitjb25zdCBDbGFzc0luZm8gSlNBcnJvd0Z1bmN0aW9uOjpzX2luZm8gPSB7ICJB
cnJvd0Z1bmN0aW9uIiwgJkJhc2U6OnNfaW5mbywgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU0Fy
cm93RnVuY3Rpb24pIH07CisKK0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyb3dGdW5j
dGlvbkNhbGwoRXhlY1N0YXRlKiBleGVjKQoreworICAgIEpTQXJyb3dGdW5jdGlvbiogYXJyb3dG
dW5jdGlvbiA9IGpzQ2FzdDxKU0Fycm93RnVuY3Rpb24qPihleGVjLT5jYWxsZWUoKSk7CisgICAg
ICAgIAorICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3M7CisgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IGV4ZWMtPmFyZ3VtZW50Q291bnQoKTsgKytpKQorICAgICAgICBhcmdzLmFwcGVu
ZChleGVjLT51bmNoZWNrZWRBcmd1bWVudChpKSk7CisgICAgCisgICAgSlNPYmplY3QqIGZ1bmN0
aW9uID0gYXJyb3dGdW5jdGlvbi0+YXJyb3dGdW5jdGlvbigpOworICAgIENhbGxEYXRhIGNhbGxE
YXRhOworICAgIENhbGxUeXBlIGNhbGxUeXBlID0gZ2V0Q2FsbERhdGEoZnVuY3Rpb24sIGNhbGxE
YXRhKTsKKyAgICBBU1NFUlQoY2FsbFR5cGUgIT0gQ2FsbFR5cGVOb25lKTsKKyAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKGNhbGwoZXhlYywgZnVuY3Rpb24sIGNhbGxUeXBlLCBjYWxsRGF0YSwg
YXJyb3dGdW5jdGlvbi0+Ym91bmRUaGlzKCksIGFyZ3MpKTsKK30KKyAgICAKK3ZvaWQgSlNBcnJv
d0Z1bmN0aW9uOjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKK3sKKyAgICBzdGF0aWNfY2FzdDxKU0Fy
cm93RnVuY3Rpb24qPihjZWxsKS0+SlNBcnJvd0Z1bmN0aW9uOjp+SlNBcnJvd0Z1bmN0aW9uKCk7
Cit9CisgICAgCitKU0Fycm93RnVuY3Rpb246OkpTQXJyb3dGdW5jdGlvbihWTSYgdm0sIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU09iamVjdCog
YXJyb3dGdW5jdGlvbiwgSlNWYWx1ZSBib3VuZFRoaXMpCisgICAgOiBCYXNlKHZtLCBnbG9iYWxP
YmplY3QsIHN0cnVjdHVyZSkKKyAgICAsIG1fYm91bmRUaGlzKHZtLCB0aGlzLCBib3VuZFRoaXMp
CisgICAgLCBtX2Fycm93RnVuY3Rpb24odm0sIHRoaXMsIGFycm93RnVuY3Rpb24pCit7Cit9CisK
K0pTQXJyb3dGdW5jdGlvbiogSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGVXaXRoSW52YWxpZGF0ZWRS
ZWFsbG9jYXRpb25XYXRjaHBvaW50KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgSlNPYmplY3QqIGFycm93RnVuY3Rpb24sIEpTVmFsdWUgYm91bmRUaGlzKQoreworICAgIEFT
U0VSVChqc0Nhc3Q8SlNGdW5jdGlvbio+KGFycm93RnVuY3Rpb24pLT5qc0V4ZWN1dGFibGUoKS0+
c2luZ2xldG9uRnVuY3Rpb24oKS0+aGFzQmVlbkludmFsaWRhdGVkKCkpOworICAgIHJldHVybiBj
cmVhdGUodm0sIGdsb2JhbE9iamVjdCwgYXJyb3dGdW5jdGlvbiwgYm91bmRUaGlzKTsKK30KKwor
SlNBcnJvd0Z1bmN0aW9uKiBKU0Fycm93RnVuY3Rpb246OmNyZWF0ZShWTSYgdm0sIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0KiBhcnJvd0Z1bmN0aW9uLCBKU1ZhbHVlIGJv
dW5kVGhpcykKK3sKKyAgICBOYXRpdmVFeGVjdXRhYmxlKiBleGVjdXRhYmxlID0gdm0uZ2V0SG9z
dEZ1bmN0aW9uKGFycm93RnVuY3Rpb25DYWxsLCBjYWxsSG9zdEZ1bmN0aW9uQXNDb25zdHJ1Y3Rv
cik7CisgICAgSlNBcnJvd0Z1bmN0aW9uKiBmdW5jdGlvbiA9IG5ldyAoTm90TnVsbCwgYWxsb2Nh
dGVDZWxsPEpTQXJyb3dGdW5jdGlvbj4odm0uaGVhcCkpIEpTQXJyb3dGdW5jdGlvbih2bSwgZ2xv
YmFsT2JqZWN0LCBnbG9iYWxPYmplY3QtPmFycm93RnVuY3Rpb25TdHJ1Y3R1cmUoKSwgYXJyb3dG
dW5jdGlvbiwgYm91bmRUaGlzKTsKKyAgICBmdW5jdGlvbi0+ZmluaXNoQ3JlYXRpb24odm0sIGV4
ZWN1dGFibGUsIDAsICIiKTsKKworICAgIHJldHVybiBmdW5jdGlvbjsKK30KKyAgICAKK3ZvaWQg
SlNBcnJvd0Z1bmN0aW9uOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIE5hdGl2ZUV4ZWN1dGFibGUq
IGV4ZWN1dGFibGUsIGludCBsZW5ndGgsIGNvbnN0IFN0cmluZyYgbmFtZSkKK3sKKyAgICBCYXNl
OjpmaW5pc2hDcmVhdGlvbih2bSwgZXhlY3V0YWJsZSwgbGVuZ3RoLCBuYW1lKTsKKyAgICBBU1NF
UlQoaW5oZXJpdHMoaW5mbygpKSk7CisgICAgCisgICAgLy8gUHJvdG90eXBlIG9mIGFycm93IGZ1
bmN0aW9uIGlzIHVuZGVmaW5lZAorICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+
cHJvdG90eXBlLCBqc1VuZGVmaW5lZCgpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkgfCBEb250RW51
bSk7CisgICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT50aGlzSWRlbnRpZmllciwg
Ym91bmRUaGlzKCksIERvbnREZWxldGUgfCBSZWFkT25seSB8IERvbnRFbnVtKTsKK30KKworICAg
IAordm9pZCBKU0Fycm93RnVuY3Rpb246OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90
VmlzaXRvciYgdmlzaXRvcikKK3sKKyAgICBKU0Fycm93RnVuY3Rpb24qIHRoaXNPYmplY3QgPSBq
c0Nhc3Q8SlNBcnJvd0Z1bmN0aW9uKj4oY2VsbCk7CisgICAgQVNTRVJUX0dDX09CSkVDVF9JTkhF
UklUUyh0aGlzT2JqZWN0LCBpbmZvKCkpOworICAgIEJhc2U6OnZpc2l0Q2hpbGRyZW4odGhpc09i
amVjdCwgdmlzaXRvcik7CisKKyAgICAvLyBGaXhtZTogbV9hcnJvd0Z1bmN0aW9uIGFscmVhZHkg
cmVtb3ZlZCBieSBHQywgYmVjYXVzZSBpdCBjcmVhdGVkIGluIGJlZm9yZSBydW4gSlNBcnJvd0Z1
bmN0aW9uOjpjcmVhdGUgbWV0aG9kCisgICAgLy8gSXQgaXMgcG9zc2libGUgY2FzZSB3aGVuIG1f
YXJyb3dGdW5jdGlvbiBpcyByZW1vdmVkIGJ1dCB3cmFwcGVyIG9iamVjdCBpcyBzdGlsbCBleGlz
dHMKKyAgICAvLyAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYXJyb3dGdW5jdGlvbik7
CisgICAgCisgICAgdmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYm91bmRUaGlzKTsKK30K
KyAgICAKK0NvbnN0cnVjdFR5cGUgSlNBcnJvd0Z1bmN0aW9uOjpnZXRDb25zdHJ1Y3REYXRhKEpT
Q2VsbCogY2VsbCwgQ29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0YSkKK3sKKyAgICBKU0Z1bmN0
aW9uKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTRnVuY3Rpb24qPihjZWxsKTsKKyAgICAgICAgCisg
ICAgY29uc3RydWN0RGF0YS5qcy5mdW5jdGlvbkV4ZWN1dGFibGUgPSB0aGlzT2JqZWN0LT5qc0V4
ZWN1dGFibGUoKTsKKyAgICBjb25zdHJ1Y3REYXRhLmpzLnNjb3BlID0gdGhpc09iamVjdC0+c2Nv
cGUoKTsKKyAgICByZXR1cm4gQ29uc3RydWN0VHlwZU5vbmU7Cit9Cit9IC8vIG5hbWVzcGFjZSBK
U0MKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNB
cnJvd0Z1bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fycm93RnVu
Y3Rpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lOTdiYzFhNWZiZGY2ZjhiN2FjNzZkZmVmMDA5ZTllZWVmNzlm
OGYzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNB
cnJvd0Z1bmN0aW9uLmgKQEAgLTAsMCArMSw4OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSlNBcnJvd0Z1bmN0aW9uX2gKKyNkZWZpbmUg
SlNBcnJvd0Z1bmN0aW9uX2gKKworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgp
CisKKyNpbmNsdWRlICJKU0Z1bmN0aW9uLmgiCisjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3QuaCIK
KworbmFtZXNwYWNlIEpTQyB7CisKK0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyb3dG
dW5jdGlvbkNhbGwoRXhlY1N0YXRlKik7CisgICAgCitjbGFzcyBKU0Fycm93RnVuY3Rpb24gOiBw
dWJsaWMgSlNGdW5jdGlvbiB7CitwdWJsaWM6CisgICAgdHlwZWRlZiBKU0Z1bmN0aW9uIEJhc2U7
CisKKyAgICBzdGF0aWMgSlNBcnJvd0Z1bmN0aW9uKiBjcmVhdGUoVk0mLCBKU0dsb2JhbE9iamVj
dCosIEpTT2JqZWN0KiwgSlNWYWx1ZSk7CisgICAgc3RhdGljIEpTQXJyb3dGdW5jdGlvbiogY3Jl
YXRlV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludChWTSYsIEpTR2xvYmFsT2Jq
ZWN0KiwgSlNPYmplY3QqLCBKU1ZhbHVlKTsKKworICAgIHN0YXRpYyB2b2lkIGRlc3Ryb3koSlND
ZWxsKik7CisgICAgCisgICAgc3RhdGljIHNpemVfdCBhbGxvY2F0aW9uU2l6ZShzaXplX3QgaW5s
aW5lQ2FwYWNpdHkpCisgICAgeworICAgICAgICBBU1NFUlRfVU5VU0VEKGlubGluZUNhcGFjaXR5
LCAhaW5saW5lQ2FwYWNpdHkpOworICAgICAgICByZXR1cm4gc2l6ZW9mKEpTQXJyb3dGdW5jdGlv
bik7CisgICAgfQorICAgIAorICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShW
TSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgcHJvdG90eXBlKQor
ICAgIHsKKyAgICAgICAgQVNTRVJUKGdsb2JhbE9iamVjdCk7CisgICAgICAgIHJldHVybiBTdHJ1
Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKEpTRnVu
Y3Rpb25UeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CisgICAgfQorICAgICAgICAKKyAg
ICBzdGF0aWMgQ29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVj
dERhdGEmKTsKKworICAgIEpTT2JqZWN0KiBhcnJvd0Z1bmN0aW9uKCkgeyByZXR1cm4gbV9hcnJv
d0Z1bmN0aW9uLmdldCgpOyB9CisgICAgSlNWYWx1ZSBib3VuZFRoaXMoKSB7IHJldHVybiBtX2Jv
dW5kVGhpcy5nZXQoKTsgfQorICAgIAorICAgIERFQ0xBUkVfSU5GTzsKKyAgICAKKyAgICBzdGF0
aWMgaW5saW5lIHB0cmRpZmZfdCBvZmZzZXRPZlRoaXNWYWx1ZSgpCisgICAgeworICAgICAgICBy
ZXR1cm4gT0JKRUNUX09GRlNFVE9GKEpTQXJyb3dGdW5jdGlvbiwgbV9ib3VuZFRoaXMpOworICAg
IH0KKyAgICAKKyAgICBjb25zdCBzdGF0aWMgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVy
cmlkZXNIYXNJbnN0YW5jZSB8IEJhc2U6OlN0cnVjdHVyZUZsYWdzOworCitwcm90ZWN0ZWQ6Cisg
ICAgc3RhdGljIHZvaWQgdmlzaXRDaGlsZHJlbihKU0NlbGwqLCBTbG90VmlzaXRvciYpOworICAg
ICAgICAKK3ByaXZhdGU6CisgICAgSlNBcnJvd0Z1bmN0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3Qq
LCBTdHJ1Y3R1cmUqLCBKU09iamVjdCosIEpTVmFsdWUpOworCisgICAgdm9pZCBmaW5pc2hDcmVh
dGlvbihWTSYsIE5hdGl2ZUV4ZWN1dGFibGUqLCBpbnQsIGNvbnN0IFN0cmluZyYpOworICAgIAor
ICAgIFdyaXRlQmFycmllcjxVbmtub3duPiBtX2JvdW5kVGhpczsKKyAgICBXcml0ZUJhcnJpZXI8
SlNPYmplY3Q+IG1fYXJyb3dGdW5jdGlvbjsKK307CisgICAgCit9IC8vIG5hbWVzcGFjZSBKU0MK
KyNlbmRpZiAvLyBFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgKKworI2VuZGlmIC8vIEpTQXJyb3dG
dW5jdGlvbl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1
bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKaW5k
ZXggODZkZmYxMmY4ZmE0N2EzMWEzM2E2ODk0MDg3Y2U1YzExNWNlNTJiNi4uOGYxZDYxNmFlMGJk
NzE0ZjQzY2I4Zjg4YWFkNWI3NGYyZWNiNzdmYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTRnVuY3Rpb24uaApAQCAtMTM3LDYgKzEzNyw5IEBAIHB1YmxpYzoKIHByb3RlY3Rl
ZDoKICAgICBKU19FWFBPUlRfUFJJVkFURSBKU0Z1bmN0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3Qq
LCBTdHJ1Y3R1cmUqKTsKICAgICBKU0Z1bmN0aW9uKFZNJiwgRnVuY3Rpb25FeGVjdXRhYmxlKiwg
SlNTY29wZSopOworI2lmIEVOQUJMRShFUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgSlNG
dW5jdGlvbihWTSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSosIEpTU2NvcGUqLCBTdHJ1Y3R1cmUqKTsK
KyNlbmRpZgogCiAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIE5hdGl2ZUV4ZWN1dGFibGUq
LCBpbnQgbGVuZ3RoLCBjb25zdCBTdHJpbmcmIG5hbWUpOwogICAgIHVzaW5nIEJhc2U6OmZpbmlz
aENyZWF0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNG
dW5jdGlvbklubGluZXMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rp
b25JbmxpbmVzLmgKaW5kZXggZjZjNmQ1OGVjNmU1YzExNjRjYjI3ZmE1ZTQxNjE4YjRiODE0MmYw
Mi4uMzg1MDZjYzE5OWEwMDhmZjhmOTZhZGY2ODliZTM2MDk4NzVkZWE1YSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbklubGluZXMuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uSW5saW5lcy5oCkBAIC00NSw2
ICs0NSwxNSBAQCBpbmxpbmUgSlNGdW5jdGlvbjo6SlNGdW5jdGlvbihWTSYgdm0sIEZ1bmN0aW9u
RXhlY3V0YWJsZSogZXhlY3V0YWJsZSwgSlNTY29wZSogcwogewogfQogCisjaWYgRU5BQkxFKEVT
Nl9BUlJPV0ZVTkNUSU9OX1NZTlRBWCkKK2lubGluZSBKU0Z1bmN0aW9uOjpKU0Z1bmN0aW9uKFZN
JiB2bSwgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlLCBKU1Njb3BlKiBzY29wZSwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUpCisgICAgOiBCYXNlKHZtLCBzY29wZSwgc3RydWN0dXJlKQorICAg
ICwgbV9leGVjdXRhYmxlKHZtLCB0aGlzLCBleGVjdXRhYmxlKQorICAgICwgbV9yYXJlRGF0YSgp
Cit7Cit9CisjZW5kaWYKKyAgICAKIGlubGluZSBGdW5jdGlvbkV4ZWN1dGFibGUqIEpTRnVuY3Rp
b246OmpzRXhlY3V0YWJsZSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKCFpc0hvc3RGdW5jdGlvbk5v
bklubGluZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
T2JqZWN0LmNwcAppbmRleCA5Zjg2ZTczMWU5ZDljOGM4MGVkNjY3NjQ3MTQ5ZGUwNWI3ZTM4YTI1
Li45YmI4ODExYTQ0Y2M2YWYxYTA1ODg1YWUyY2FiYmVhZGQ1OThkMjkwIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCkBAIC01OCw2ICs1
OCw3IEBACiAjaW5jbHVkZSAiSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLmgiCiAjaW5jbHVkZSAi
SlNBcnJheUJ1ZmZlclByb3RvdHlwZS5oIgogI2luY2x1ZGUgIkpTQXJyYXlJdGVyYXRvci5oIgor
I2luY2x1ZGUgIkpTQXJyb3dGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTQm91bmRGdW5jdGlvbi5o
IgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRlICJKU0NhbGxiYWNrQ29uc3RydWN0
b3IuaCIKQEAgLTIzNCw2ICsyMzUsOSBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2
bSkKICAgICBleGVjLT5zZXRDYWxsZWUobV9nbG9iYWxDYWxsZWUuZ2V0KCkpOwogCiAgICAgbV9m
dW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpTRnVuY3Rpb246OmNyZWF0ZVN0cnVjdHVy
ZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOworI2lmIEVOQUJMRShFUzZf
QVJST1dGVU5DVElPTl9TWU5UQVgpCisgICAgbV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlLnNldCh2
bSwgdGhpcywgSlNBcnJvd0Z1bmN0aW9uOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVu
Y3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKKyNlbmRpZgogICAgIG1fYm91bmRGdW5jdGlvblN0cnVj
dHVyZS5zZXQodm0sIHRoaXMsIEpTQm91bmRGdW5jdGlvbjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0
aGlzLCBtX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7CiAgICAgbV9uYW1lZEZ1bmN0aW9uU3Ry
dWN0dXJlLnNldCh2bSwgdGhpcywgU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb24odm0s
IG1fZnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCksIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIERvbnRE
ZWxldGUgfCBSZWFkT25seSB8IERvbnRFbnVtLCBtX2Z1bmN0aW9uTmFtZU9mZnNldCkpOwogICAg
IG1faW50ZXJuYWxGdW5jdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEludGVybmFsRnVuY3Rp
b246OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkp
OwpAQCAtNzYzLDYgKzc2Nyw3IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OnZpc2l0Q2hpbGRyZW4o
SlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKICAgICB2aXNpdG9yLmFwcGVuZCgm
dGhpc09iamVjdC0+bV9jYWxsZWVTdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlz
T2JqZWN0LT5tX2Z1bmN0aW9uU3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09i
amVjdC0+bV9ib3VuZEZ1bmN0aW9uU3RydWN0dXJlKTsKKyAgICB2aXNpdG9yLmFwcGVuZCgmdGhp
c09iamVjdC0+bV9hcnJvd0Z1bmN0aW9uU3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVuZCgm
dGhpc09iamVjdC0+bV9uYW1lZEZ1bmN0aW9uU3RydWN0dXJlKTsKICAgICB2aXNpdG9yLmFwcGVu
ZCgmdGhpc09iamVjdC0+bV9zeW1ib2xPYmplY3RTdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBw
ZW5kKCZ0aGlzT2JqZWN0LT5tX3JlZ0V4cFN0cnVjdHVyZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAppbmRleCA3YWNjMWRkOTMyN2RjZTFkYjNj
ODAwNzAxMWM4NGU3NzM3NmFmNWEyLi4xMDdiNTM4YTQ5NjVhZTk0NThiYTI0YzAwMjI2Zjc5ZDg2
NmM2MjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bE9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2Jq
ZWN0LmgKQEAgLTIyOSw2ICsyMjksNyBAQCBwcm90ZWN0ZWQ6CiAgICAgV3JpdGVCYXJyaWVyPFN0
cnVjdHVyZT4gbV9jYWxsZWVTdHJ1Y3R1cmU7CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4g
bV9mdW5jdGlvblN0cnVjdHVyZTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2JvdW5k
RnVuY3Rpb25TdHJ1Y3R1cmU7CisgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9hcnJvd0Z1
bmN0aW9uU3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fbmFtZWRGdW5j
dGlvblN0cnVjdHVyZTsKICAgICBQcm9wZXJ0eU9mZnNldCBtX2Z1bmN0aW9uTmFtZU9mZnNldDsK
ICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3ByaXZhdGVOYW1lU3RydWN0dXJlOwpAQCAt
NDY3LDYgKzQ2OCw3IEBAIHB1YmxpYzoKICAgICBTdHJ1Y3R1cmUqIGNhbGxlZVN0cnVjdHVyZSgp
IGNvbnN0IHsgcmV0dXJuIG1fY2FsbGVlU3RydWN0dXJlLmdldCgpOyB9CiAgICAgU3RydWN0dXJl
KiBmdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fZnVuY3Rpb25TdHJ1Y3R1cmUu
Z2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUqIGJvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7
IHJldHVybiBtX2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KKyAgICBTdHJ1Y3R1cmUq
IGFycm93RnVuY3Rpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2Fycm93RnVuY3Rpb25T
dHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUqIG5hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUo
KSBjb25zdCB7IHJldHVybiBtX25hbWVkRnVuY3Rpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBQ
cm9wZXJ0eU9mZnNldCBmdW5jdGlvbk5hbWVPZmZzZXQoKSBjb25zdCB7IHJldHVybiBtX2Z1bmN0
aW9uTmFtZU9mZnNldDsgfQogICAgIFN0cnVjdHVyZSogbnVtYmVyT2JqZWN0U3RydWN0dXJlKCkg
Y29uc3QgeyByZXR1cm4gbV9udW1iZXJPYmplY3RTdHJ1Y3R1cmUuZ2V0KCk7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3Bh
cmFtdGVyLTEuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVu
Y3Rpb24tYXNwYXJhbXRlci0xLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzNjFiOGRiMDIyODI3OTZkMWJiMDRm
NWRiZDQwMTliNzI4OWYyY2MKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNwYXJhbXRlci0xLmpzCkBAIC0wLDAgKzEs
OCBAQAorLy8gSW5zcGlyZWQgYnkgbW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rp
b24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0
ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICIn
LCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCit0ZXN0Q2FzZSgiIiArIFsx
LCAyLCAzLCA0XS5tYXAoeCA9PiB4LCAzMiksICIxLDIsMyw0IiwgIkVycm9yOiBhcnJvdyBmdW5j
dGlvbiBhcyB0aGUgcGFyYW10ZXJzLiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzcGFyYW10ZXItMi5qcyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3BhcmFtdGVyLTIuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uM2YyOTMyZmMxNDRkMzZjNzBmMDYxZjhlNjg4ODgzZTQ0YWZjZmQxOQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dm
dW5jdGlvbi1hc3BhcmFtdGVyLTIuanMKQEAgLTAsMCArMSwxNSBAQAorLy8gSW5zcGlyZWQgYnkg
bW96aWxsYSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQs
IG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNz
YWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFs
ICsgIiciOworICB9Cit9OworCit2YXIgZiA9IGZ1bmN0aW9uIChjbCwgcGFyYW10ZXIpIHsgcmV0
dXJuIGNsKHBhcmFtdGVyKTsgfTsKK3ZhciBmMiA9IGZ1bmN0aW9uIChjbCwgcGFyYW10ZXIxLCBw
YXJhbXRlcjIpIHsgcmV0dXJuIGNsKHBhcmFtdGVyMSwgcGFyYW10ZXIyKTsgfTsKKworcmVzdWx0
ID0gZih4PT57cmV0dXJuIHggKiAyNTt9LCAxMjEpOwordGVzdENhc2UocmVzdWx0LCAyNSoxMjEg
LCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRo
IGJvZHkgYXMgYmxvY2s6IGYoeCA9PiB7cmV0dXJuIHggKiAyNTt9LCAxMjEpIik7CisKK3Jlc3Vs
dCA9IGYyKCh4LCB5KT0+e3JldHVybiB4ICogeTt9LCAxNCwgMTIpOwordGVzdENhc2UocmVzdWx0
LCAxNCoxMiAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0
aW9uIHdpdGggYm9keSBhcyBibG9jazogZigoeCwgeSk9PntyZXR1cm4geCAqIHk7fSwgMTQsIDEy
MSkpIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS0xLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rl
c3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHktMS5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
ZDFkNDdhNDgwNzVlYzU5OGM2YmUxZTA3ZDc4YTM1MjYzNTNhOTEyCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29j
aWF0aXZpdHktMS5qcwpAQCAtMCwwICsxLDEzIEBACisvLyBJbnNwaXJlZCBieSBtb3ppbGxhIHRl
c3RzCit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkg
eworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBF
eHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7Cisg
IH0KK307CisKK3ZhciBhZjEsIGFmMiwgYWYzOworYWYxID0gYWYyID0gYWYzID0+IGFmMSA9IGFm
MiA9IGFmMzsKK3Rlc3RDYXNlKGFmMSwgYWYyLCAiRXJyb3I6IHdyb25nIGFzc29jaWF0aXZpdHkg
IzEuIik7CithZjEoMTMpOwordGVzdENhc2UoYWYyLCAxMywgIkVycm9yOiB3cm9uZyBhc3NvY2lh
dGl2aXR5ICMyLiIpOwordGVzdENhc2UoYWYxLCAxMywgIkVycm9yOiB3cm9uZyBhc3NvY2lhdGl2
aXR5ICMzLiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZpdHktMi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1hc3NvY2lhdGl2aXR5LTIuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMmVkZDgzOWM2YmM3ZWQ2YTQwZWZmYmJjODc1NGVkMWJmZDgwNmI0MwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1h
c3NvY2lhdGl2aXR5LTIuanMKQEAgLTAsMCArMSwxNCBAQAorLy8gSW5zcGlyZWQgYnkgbW96aWxs
YSB0ZXN0cwordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3Nh
Z2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsg
Ii4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIici
OworICB9Cit9OworCit2YXIgcz0iIjsKK3MgKz0geCA9PiB4Lm5hbWU7CisKKy8vIEZpeCBtZS4g
UG9zc2libGUgd2UgaGF2ZSBub3QgdXNlIHRoZSBKU0JvdW50RnVuY3Rpb24gd3JhcHBlciBmb3Ig
dGhlIGxleGljYWwKKy8vIGJpbmRpbmcgb2YgdGhlIHRoaXMgYW5kIHVzZSBkaXJlY3QgaW5qZWN0
aW9uIG9mIHRoZSAndGhpcycgdmFsdWUKKy8vIGludG8gYXJycm93IGZ1bmN0aW9uCisvLyB0ZXN0
Q2FzZShzLCAieCA9PiB4Lm5hbWUiICwgIkVycm9yOiB3cm9uZyB0b1N0cmluZyBjb252ZXJzaW9u
LiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJv
d2Z1bmN0aW9uLWFzc29jaWF0aXZpdHkuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2Fycm93ZnVuY3Rpb24tYXNzb2NpYXRpdml0eS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42N2VkMTUz
Y2VlYmE1MjYyMjhlY2E4MjEzMDQ2OWE5MjQ0YjE0YzA1Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWFzc29jaWF0aXZp
dHkuanMKQEAgLTAsMCArMSwxMCBAQAorLy8gSW5zcGlyZWQgYnkgbW96aWxsYSB0ZXN0cwordmFy
IHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYg
KGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQg
JyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9Owor
Cit2YXIgYWYgPSBhID0+IGIgPT4gYTsKKwordGVzdENhc2UoYWYoJ0FCQycpKCdERUYnKSwgJ0FC
QycsICJFcnJvcjogd3JvbmcgbmVzdGVkIGFycm93IGZ1bmN0aW9ucy4iKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ibG9jay0x
LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJs
b2NrLTEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMGM1NzFiYjcyZmNmZWY1MzBjNTlkYjRiODYwY2E0ZjBhOTZh
NDExNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi1ibG9jay0xLmpzCkBAIC0wLDAgKzEsMTEgQEAKKy8vIEluc3BpcmVk
IGJ5IG1vemlsbGEgdGVzdHMKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVj
dGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cg
bWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFj
dHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGYgPSAoKSA9PiB7fTsKK3Rlc3RDYXNlKHR5cGVv
ZiBmKCksICd1bmRlZmluZWQnLCAiRXJyb3I6IHdyb25nIGFycm93IGZ1bmN0aW9uIGJsb2NrLiIp
OwordmFyIGcgPSAoKSA9PiAoe30pOwordGVzdENhc2UodHlwZW9mIGcoKSwgJ29iamVjdCcsICJF
cnJvcjogd3JvbmcgYXJyb3cgZnVuY3Rpb24gYmxvY2suIik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tYmxvY2stMi5qcyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ibG9jay0yLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjQ3ZWUzNTJjZjAxZDEzNmUzMDI5MjI3MzZjNWM4MGVmNTNjMDNmNmUKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93
ZnVuY3Rpb24tYmxvY2stMi5qcwpAQCAtMCwwICsxLDEwIEBACisvLyBJbnNwaXJlZCBieSBtb3pp
bGxhIHRlc3RzCit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVz
c2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2Ug
KyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAi
JyI7CisgIH0KK307CisKK3ZhciBhZiA9IGEgPT4geyBhICsgMTsgfTsKKwordGVzdENhc2UodHlw
ZW9mIGFmKDApLCAndW5kZWZpbmVkJywgIkVycm9yOiB3cm9uZyBhcnJvdyBmdW5jdGlvbiBibG9j
ayAjMi4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YXJyb3dmdW5jdGlvbi1ib3VuZC5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi1ib3VuZC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNzMyMGY0ZWM3ODhlYTE0OTBh
ZmM3MmVjMTI1MWVlMGE2ZTFmN2I2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWJvdW5kLmpzCkBAIC0wLDAgKzEsMTYg
QEAKK3ZhciByZXN1bHQ7CisKKyB2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBl
Y3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93
IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBh
Y3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBkID0geworICB4IDogImJhciIsCisgIHkgOiBm
dW5jdGlvbigpIHsgcmV0dXJuIHogPT4gdGhpcy54ICsgejsgfQorfTsKKwordmFyIGUgPSB7IHgg
OiAiYmF6IiB9OworCit0ZXN0Q2FzZShkLnkoKS5iaW5kKGUsICJsZXkiKSgpLCAiYmFybGV5Iiwg
IkVycm9yOiBmdW5jdGlvbiBiaW5kIHNob3VsZG4ndCBjaGFuZ2UgbGV4aWNhbCBiaW5kaW5nIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNhbGwuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tY2FsbC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NGY5YWE1
MDRkNzBkNzBkNjhjZGFhNWE0ODJhNDY1MGE0NWZkZjdjCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWNhbGwuanMKQEAg
LTAsMCArMSwxOCBAQAordmFyIHJlc3VsdDsKKworIHZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChh
Y3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7
CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0
IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGQgPSB7CisgIHggOiAiZm9v
IiwKKyAgeSA6IGZ1bmN0aW9uKCkgeyByZXR1cm4gKCkgPT4gdGhpcy54OyB9Cit9OworCit2YXIg
ZSA9IHsgeCA6ICJiYXIiIH07CisKK3Rlc3RDYXNlKGQueSgpLmNhbGwoZSksICJmb28iLCAiRXJy
b3I6IGZ1bmN0aW9uIGNhbGwgc2hvdWxuJ3QgY2hhbmdlIHRoZSBsZXhpY2FsIGJpbmRpbmcgb2Yg
dGhlIGFycm93IGZ1bmN0aW9uIik7CisKK3Rlc3RDYXNlKGQueSgpLmFwcGx5KGUpLCAiZm9vIiwg
IkVycm9yOiBmdW5jdGlvbiBhcHBseSBzaG91bG4ndCBjaGFuZ2UgdGhlIGxleGljYWwgYmluZGlu
ZyBvZiB0aGUgYXJyb3cgZnVuY3Rpb24iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1jb25zdHJ1Y3Rvci5qcyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1jb25zdHJ1Y3Rvci5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iNThiMTZkN2I1ZTI5NzQ0YzMzZjc4NmI0YmYxNmJmNDRmZWIxZTI4Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1
bmN0aW9uLWNvbnN0cnVjdG9yLmpzCkBAIC0wLDAgKzEsMTggQEAKK3ZhciB0ZXN0Q2FzZSA9IGZ1
bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4
cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQg
KyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIHNpbXBsZUFy
cm93RnVuY3Rpb24gPSAoKSA9PiB7fTsKKwordmFyIGVycm9yT25DcmVhdGUgPSBmYWxzZTsKKwor
dHJ5IHsKKyAgdmFyIGZjID0gbmV3IHNpbXBsZUFycm93RnVuY3Rpb24oKTsKK30KK2NhdGNoIChl
KSB7CisgIGVycm9yT25DcmVhdGUgPSB0cnVlOworfQorCit0ZXN0Q2FzZShlcnJvck9uQ3JlYXRl
LCB0cnVlLCAiRXJyb3I6IE5vIGV4Y2VwdGlvbiBkdXJpbmcgcnVuIG5ldyBBcnJvd0Z1bmN0aW9u
Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93
ZnVuY3Rpb24tbGV4aWNhbC1hcmd1bWVudHMuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC1hcmd1bWVudHMuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MWViNjc2M2E2NTI2OTgxNjVjMGZkYjJkOGJjMjA3M2QyYmNkM2IxZgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhp
Y2FsLWFyZ3VtZW50cy5qcwpAQCAtMCwwICsxLDE0IEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlv
biAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3Rl
ZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIics
IGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK2Z1bmN0aW9uIGFmQ3JlYXRv
cigpIHsKKyAgICByZXR1cm4gYSA9PiBhcmd1bWVudHNbMF07Cit9CisKK3ZhciBhZiA9IGFmQ3Jl
YXRvcigxMik7CisKKy8vRml4bWU6IGxleGljYWwgYmluZCBvZiB0aGUgYXJndW1lbnRzIGlzIG5v
dCBpbXBsZW1lbnRlZAorLy90ZXN0Q2FzZShhZig2KSwgMTIsICJFcnJvcjogYXJndW1lbnRzIGlz
IG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24iKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1sZXhpY2FsLXRoaXMtMS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
YXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMtMS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMTkyZDEwMTJiNjVk
MjIwOGFiMDA2ZDdmNjdkMjllNzk2NTM2YWM5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtdGhpcy0xLmpz
CkBAIC0wLDAgKzEsMTUgQEAKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVj
dGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cg
bWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFj
dHVhbCArICInIjsKKyAgfQorfTsKKworZnVuY3Rpb24gRG9nKG5hbWUpIHsKKyAgdGhpcy5uYW1l
ID0gbmFtZTsKKyAgdGhpcy5nZXROYW1lID0gKCkgPT4gZXZhbCgidGhpcy5uYW1lIik7CisgIHRo
aXMuZ2V0TmFtZUhhcmQgPSAoKSA9PiBldmFsKCIoKCkgPT4gdGhpcy5uYW1lKSgpIik7Cit9CisK
K3ZhciBkID0gbmV3IERvZygiTWF4Iik7Cit0ZXN0Q2FzZShkLmdldE5hbWUoKSwgZC5uYW1lLCAi
RXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBm
dW5jdGlvbiAjMSIpOwordGVzdENhc2UoZC5nZXROYW1lSGFyZCgpLCBkLm5hbWUsICJFcnJvcjog
dGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9u
ICMyIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTIuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tbGV4aWNhbC10aGlzLTIuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjZl
MzBlZDFmMzI5NjBjNDQ5NGEyZGNhYmExMGUzODA5ODcwODQ0ZgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2Fs
LXRoaXMtMi5qcwpAQCAtMCwwICsxLDMxIEBACit2YXIgdGVzdENhc2UgPSBmdW5jdGlvbiAoYWN0
dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgewor
ICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiArIGV4cGVjdGVkICsgIicsIGJ1dCB3
YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3ZhciBhZk9iakxleEJpbmQyID0gZnVu
Y3Rpb24gKCkgeworICB0aGlzLmZ1bmMgPSAoKSA9PiB0aGlzOworfTsKKwordmFyIGFmT2JqTGV4
QmluZDJJbnN0YW5jZSA9IG5ldyBhZk9iakxleEJpbmQyKCk7CisKK3Rlc3RDYXNlKGFmT2JqTGV4
QmluZDJJbnN0YW5jZS5mdW5jKCkgPT09IGFmT2JqTGV4QmluZDJJbnN0YW5jZSwgdHJ1ZSwgIkVy
cm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVu
Y3Rpb24gIzIiKTsKKwordmFyIG9iaiA9IHsKKyAgbWV0aG9kOiBmdW5jdGlvbiAoKSB7CisgICAg
cmV0dXJuICgpID0+IHRoaXM7CisgIH0KK307CisKK3Rlc3RDYXNlKG9iai5tZXRob2QoKSgpID09
PSBvYmosIHRydWUsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUg
b2YgdGhlIGFycm93IGZ1bmN0aW9uICMzIik7CisKK3ZhciBmYWtlID0ge3N0ZWFsOiBvYmoubWV0
aG9kKCl9OwordGVzdENhc2UoZmFrZS5zdGVhbCgpID09PSBvYmosIHRydWUsICJFcnJvcjogdGhp
cyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM0
Iik7CisKKwordmFyIHJlYWwgPSB7Ym9ycm93OiBvYmoubWV0aG9kfTsKK3Rlc3RDYXNlKHJlYWwu
Ym9ycm93KCkoKSA9PT0gcmVhbCwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkg
YmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzUiKTsKK3Rlc3RDYXNlKHJlYWwu
Ym9ycm93KCkoKSA9PT0gcmVhbCwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkg
YmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzYiKTsKK3Rlc3RDYXNlKHJlYWwu
Ym9ycm93KCkoKSA9PT0gcmVhbCwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkg
YmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzciKTsKK3Rlc3RDYXNlKHJlYWwu
Ym9ycm93KCkoKSA9PT0gcmVhbCwgdHJ1ZSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkg
YmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzgiKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRo
aXMtMy5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlv
bi1sZXhpY2FsLXRoaXMtMy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZmFmZWZhOTM4OWRhNzM4YzQwZTNjMmNm
NDFkODJjNDUwYmJkZTRiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtdGhpcy0zLmpzCkBAIC0wLDAgKzEs
MjAgQEAKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdl
KSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIu
IEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsK
KyAgfQorfTsKKworCit2YXIgb2JqID0geyBuYW1lOidvYmonLCBtZXRob2Q6IGZ1bmN0aW9uICgp
IHsgcmV0dXJuICh2YWx1ZSkgPT4gdGhpcy5uYW1lICsgIi1uYW1lLSIgKyB2YWx1ZTsgfX07CisK
K3Rlc3RDYXNlKG9iai5tZXRob2QoKSgndGVzdDEnKSwgJ29iai1uYW1lLXRlc3QxJywgIkVycm9y
OiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gIzEiKTsKK3Rlc3RDYXNlKG9iai5tZXRob2QoKSgndGVzdDInKSwgJ29iai1uYW1lLXRlc3Qy
JywgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24gIzIiKTsKK3Rlc3RDYXNlKG9iai5tZXRob2QoKSgndGVzdDMnKSwgJ29iai1u
YW1lLXRlc3QzJywgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzMiKTsKK3Rlc3RDYXNlKG9iai5tZXRob2QoKSgndGVzdDQn
KSwgJ29iai1uYW1lLXRlc3Q0JywgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVk
IGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzQiKTsKKworb2JqLm5hbWU9J25ld09iaic7
CisKK3Rlc3RDYXNlKG9iai5tZXRob2QoKSgndGVzdDEnKSwgJ25ld09iai1uYW1lLXRlc3QxJywg
IkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cg
ZnVuY3Rpb24gIzUiKTsKK3Rlc3RDYXNlKG9iai5tZXRob2QoKSgndGVzdDInKSwgJ25ld09iai1u
YW1lLXRlc3QyJywgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzYiKTsKK3Rlc3RDYXNlKG9iai5tZXRob2QoKSgndGVzdDMn
KSwgJ25ld09iai1uYW1lLXRlc3QzJywgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmlu
ZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzciKTsKK3Rlc3RDYXNlKG9iai5tZXRo
b2QoKSgndGVzdDQnKSwgJ25ld09iai1uYW1lLXRlc3Q0JywgIkVycm9yOiB0aGlzIGlzIG5vdCBs
ZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzgiKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1s
ZXhpY2FsLXRoaXMtNC5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJy
b3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMtNC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YzU5ZTc1MzU3Y2VmMmYx
ZDg3OTgwYWRlZDQ2ZTE2YWU3ZWQwOGI5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLWxleGljYWwtdGhpcy00LmpzCkBA
IC0wLDAgKzEsMjYgQEAKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVk
LCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVz
c2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVh
bCArICInIjsKKyAgfQorfTsKKworCit2YXIgb2JqID0geworICBuYW1lOidvYmonLAorICBpbnRl
cm5hbE9iamVjdDogeworICAgIG5hbWUgIDonaW50ZXJuYWxPYmplY3QnLAorICAgIG1ldGhvZDog
ZnVuY3Rpb24gKCkgeyByZXR1cm4gKHZhbHVlKSA9PiB0aGlzLm5hbWUgKyAiLW5hbWUtIiArIHZh
bHVlOyB9CisgIH0KK307CisKK3Rlc3RDYXNlKG9iai5pbnRlcm5hbE9iamVjdC5tZXRob2QoKSgn
dGVzdDEnKSwgJ2ludGVybmFsT2JqZWN0LW5hbWUtdGVzdDEnLCAiRXJyb3I6IHRoaXMgaXMgbm90
IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMSIpOwordGVz
dENhc2Uob2JqLmludGVybmFsT2JqZWN0Lm1ldGhvZCgpKCd0ZXN0MicpLCAnaW50ZXJuYWxPYmpl
Y3QtbmFtZS10ZXN0MicsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNp
ZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMyIik7Cit0ZXN0Q2FzZShvYmouaW50ZXJuYWxPYmpl
Y3QubWV0aG9kKCkoJ3Rlc3QzJyksICdpbnRlcm5hbE9iamVjdC1uYW1lLXRlc3QzJywgIkVycm9y
OiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gIzMiKTsKK3Rlc3RDYXNlKG9iai5pbnRlcm5hbE9iamVjdC5tZXRob2QoKSgndGVzdDQnKSwg
J2ludGVybmFsT2JqZWN0LW5hbWUtdGVzdDQnLCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxs
eSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNCIpOworCitvYmouaW50ZXJu
YWxPYmplY3QubmFtZT0nbmV3SW50ZXJuYWxPYmplY3QnOworCit0ZXN0Q2FzZShvYmouaW50ZXJu
YWxPYmplY3QubWV0aG9kKCkoJ3Rlc3QxJyksICduZXdJbnRlcm5hbE9iamVjdC1uYW1lLXRlc3Qx
JywgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24gIzUiKTsKK3Rlc3RDYXNlKG9iai5pbnRlcm5hbE9iamVjdC5tZXRob2QoKSgn
dGVzdDInKSwgJ25ld0ludGVybmFsT2JqZWN0LW5hbWUtdGVzdDInLCAiRXJyb3I6IHRoaXMgaXMg
bm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNiIpOwor
dGVzdENhc2Uob2JqLmludGVybmFsT2JqZWN0Lm1ldGhvZCgpKCd0ZXN0MycpLCAnbmV3SW50ZXJu
YWxPYmplY3QtbmFtZS10ZXN0MycsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRl
ZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM3Iik7Cit0ZXN0Q2FzZShvYmouaW50ZXJu
YWxPYmplY3QubWV0aG9kKCkoJ3Rlc3Q0JyksICduZXdJbnRlcm5hbE9iamVjdC1uYW1lLXRlc3Q0
JywgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJy
b3cgZnVuY3Rpb24gIzgiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMtNS5qcyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1sZXhpY2FsLXRoaXMtNS5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43NDEzOTI3N2MxNzExNDhjYjlmN2Y4NjdhZDU5MTBhMGI4ZWJmMmM2Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0
aW9uLWxleGljYWwtdGhpcy01LmpzCkBAIC0wLDAgKzEsNTMgQEAKK3ZhciBzb3J0ZWRWYWx1ZXM7
CisKK3ZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7
CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4
cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAg
fQorfTsKKworCit2YXIgb2JqID0geworICBhcnI6IFsxLCA0LCA2LCAzLCA3LCAwXSwKKyAgYnVi
YmxlU29ydDogZnVuY3Rpb24gKCkgeworICAgIHJldHVybiAoKSA9PiB7CisgICAgICB2YXIgdG1w
OworICAgICAgdmFyIGFyID0gdGhpcy5hcnIuc2xpY2UoKTsKKyAgICAgIHZhciBfbGVuZ3RoID0g
YXIubGVuZ3RoCisgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IF9sZW5ndGg7IGkrKykgeworICAg
ICAgICBmb3IgKHZhciBqID0gaTsgaiA+IDA7IGotLSkgeworICAgICAgICAgIGlmICgoYXJbal0g
LSBhcltqIC0gMV0pIDwgMCkgeworICAgICAgICAgICAgdG1wID0gYXJbal07CisgICAgICAgICAg
ICBhcltqXSA9IGFyW2ogLSAxXTsKKyAgICAgICAgICAgIGFyW2ogLSAxXSA9IHRtcDsKKyAgICAg
ICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KKyAgICAgIHJldHVybiBhcjsKKyAgICB9CisgIH0K
K307CisKK29iai5hcnIgPSBbMSwgMiwgNCwgNiwgMywgNywgMF07CisKK3Rlc3RDYXNlKG9iai5i
dWJibGVTb3J0KCkoKS5sZW5ndGgsIDcsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJp
bmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMxIik7Cit0ZXN0Q2FzZShvYmouYnVi
YmxlU29ydCgpKCkubGVuZ3RoLCA3LCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5k
ZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMiIpOwordGVzdENhc2Uob2JqLmJ1YmJs
ZVNvcnQoKSgpLmxlbmd0aCwgNywgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmluZGVk
IGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzMiKTsKK3Rlc3RDYXNlKG9iai5idWJibGVT
b3J0KCkoKS5sZW5ndGgsIDcsICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBp
bnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM0Iik7Cit0ZXN0Q2FzZShvYmouYnViYmxlU29y
dCgpKCkubGVuZ3RoLCA3LCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5z
aWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNSIpOworCit2YXIgc29ydGVkVmFsdWVzID0gb2Jq
LmJ1YmJsZVNvcnQoKSgpOwordGVzdENhc2Uoc29ydGVkVmFsdWVzWzBdLCAwLCAiRXJyb3I6IHRo
aXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAj
NiIpOwordGVzdENhc2Uoc29ydGVkVmFsdWVzWzZdLCA3LCAiRXJyb3I6IHRoaXMgaXMgbm90IGxl
eGljYWxseSBiaW5kZWQgaW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjNyIpOworCisKK29i
ai5hcnIgPSBbMSwgMiwgNCwgNiwgNSwgOCwgMjEsIDE5LCAwXTsKKwordGVzdENhc2Uob2JqLmJ1
YmJsZVNvcnQoKSgpLmxlbmd0aCwgOSwgIkVycm9yOiB0aGlzIGlzIG5vdCBsZXhpY2FsbHkgYmlu
ZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzgiKTsKK3Rlc3RDYXNlKG9iai5idWJi
bGVTb3J0KCkoKS5sZW5ndGgsIDksICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRl
ZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM5Iik7Cit0ZXN0Q2FzZShvYmouYnViYmxl
U29ydCgpKCkubGVuZ3RoLCA5LCAiRXJyb3I6IHRoaXMgaXMgbm90IGxleGljYWxseSBiaW5kZWQg
aW5zaWRlIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiAjMTAiKTsKK3Rlc3RDYXNlKG9iai5idWJibGVT
b3J0KCkoKS5sZW5ndGgsIDksICJFcnJvcjogdGhpcyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBp
bnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMxMSIpOworCitzb3J0ZWRWYWx1ZXMgPSBvYmou
YnViYmxlU29ydCgpKCk7Cit0ZXN0Q2FzZShzb3J0ZWRWYWx1ZXNbMV0sIDEsICJFcnJvcjogdGhp
cyBpcyBub3QgbGV4aWNhbGx5IGJpbmRlZCBpbnNpZGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMx
MiIpOwordGVzdENhc2Uoc29ydGVkVmFsdWVzWzhdLCAyMSwgIkVycm9yOiB0aGlzIGlzIG5vdCBs
ZXhpY2FsbHkgYmluZGVkIGluc2lkZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzEzIik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24t
b3RoZXJzLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0
aW9uLW90aGVycy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZWJhMTFmMzAyMmUzNGE4MDAwYTU3MDA3NmRiMWE1
NWE0YTMyYjIxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLW90aGVycy5qcwpAQCAtMCwwICsxLDEzIEBACit2YXIgdGVz
dENhc2UgPSBmdW5jdGlvbiAoYWN0dWFsLCBleHBlY3RlZCwgbWVzc2FnZSkgeworICBpZiAoYWN0
dWFsICE9PSBleHBlY3RlZCkgeworICAgIHRocm93IG1lc3NhZ2UgKyAiLiBFeHBlY3RlZCAnIiAr
IGV4cGVjdGVkICsgIicsIGJ1dCB3YXMgJyIgKyBhY3R1YWwgKyAiJyI7CisgIH0KK307CisKK3Zh
ciBzaW1wbGVBcnJvd0Z1bmN0aW9uID0gKCkgPT4ge307CisKK3Rlc3RDYXNlKE9iamVjdC5nZXRQ
cm90b3R5cGVPZihzaW1wbGVBcnJvd0Z1bmN0aW9uKSwgRnVuY3Rpb24ucHJvdG90eXBlLCAiRXJy
b3I6IE5vdCBjb3JyZWN0IGdldFByb3RvdHlwZU9mIHZhbHVlIGZvciBhcnJvdyBmdW5jdGlvbiIp
OworCit0ZXN0Q2FzZShzaW1wbGVBcnJvd0Z1bmN0aW9uIGluc3RhbmNlb2YgRnVuY3Rpb24sIHRy
dWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBpbnN0YW5jZW9mIG1ldGhvZCBmb3Ig
YXJyb3cgZnVuY3Rpb24iKTsKKwordGVzdENhc2Uoc2ltcGxlQXJyb3dGdW5jdGlvbi5jb25zdHJ1
Y3RvciA9PSBGdW5jdGlvbiwgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIGNv
bnN0cnVjdG9yIG1ldGhvZCBvZiBhcnJvdyBmdW5jdGlvbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMC0xLmpzIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMC0x
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjA3YTFmMGE0OWNiMTY4NjNjNTkyMTM2MWYwYWRiMWUxNGVjOWI2NWEK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fy
cm93ZnVuY3Rpb24tcnVuLTEwLTEuanMKQEAgLTAsMCArMSwyNCBAQAordmFyIHRlc3RDYXNlID0g
ZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0g
ZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3Rl
ZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCitmdW5jdGlvbiBy
dW4oY291bnQpIHsKKyAgdmFyIHJlc3VsdCA9IHRydWU7CisgIGZvcih2YXIgaT0wOyBpPGNvdW50
OyBpKyspIHsKKyAgICB2YXIgT2JqID0gZnVuY3Rpb24gKG5hbWUpIHsKKyAgICAgIHRoaXMubmFt
ZSA9IG5hbWU7CisgICAgICB0aGlzLmdldE5hbWUgPSAoKSA9PiB0aGlzLm5hbWU7CisgICAgfTsK
KworICAgIHZhciBvYmogPSBuZXcgT2JqKCJJdGVtIiArIGkpOworICAgIGlmIChvYmoubmFtZSAh
PT0gb2JqLmdldE5hbWUoKSkgeworICAgICAgcmVzdWx0ID0gZmFsc2U7CisgICAgfQorICB9Cisg
IHJldHVybiByZXN1bHQ7Cit9CisKK3Rlc3RDYXNlKHJ1bigxKSwgdHJ1ZSwgIkVycm9yOiBFcnJv
cjogZHVyaW5nIGV4ZWN1dGlvbiBvZiBhcnJvdyBmdW5jdGlvbiBvbmUgdGltZSIpOwordGVzdENh
c2UocnVuKDEwKSwgdHJ1ZSwgIkVycm9yOiBFcnJvcjogZHVyaW5nIGV4ZWN1dGlvbiBvZiBhcnJv
dyBmdW5jdGlvbiAxMCB0aW1lcyIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMC0yLmpzIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMC0yLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjVkZGNkYjNjNzBhMWIyN2MzZGJiNTIzODA5NTVmNTM1M2Q3Njc0MjUKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVu
LTEwLTIuanMKQEAgLTAsMCArMSwyNSBAQAordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVh
bCwgZXhwZWN0ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAg
ICB0aHJvdyBtZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2Fz
ICciICsgYWN0dWFsICsgIiciOworICB9Cit9OworCitmdW5jdGlvbiBydW4oY291bnQpIHsKKyAg
dmFyIHJlc3VsdCA9IHRydWU7CisgIGZvcih2YXIgaT0wOyBpPGNvdW50OyBpKyspIHsKKyAgICB2
YXIgT2JqID0gZnVuY3Rpb24gKG5hbWUpIHsKKyAgICAgIHRoaXMubmFtZSA9IG5hbWU7CisgICAg
ICB0aGlzLmdldE5hbWUgPSAoKSA9PiBldmFsKCJ0aGlzLm5hbWUiKTs7CisgICAgfTsKKworCisg
ICAgdmFyIG9iaiA9IG5ldyBPYmooIkl0ZW0iICsgaSk7CisgICAgaWYgKG9iai5uYW1lICE9PSBv
YmouZ2V0TmFtZSgpKSB7CisgICAgICByZXN1bHQgPSBmYWxzZTsKKyAgICB9CisgIH0KKyAgcmV0
dXJuIHJlc3VsdDsKK30KKwordGVzdENhc2UocnVuKDEpLCB0cnVlLCAiRXJyb3I6IGR1cmluZyBl
eGVjdXRpb24gb2YgYXJyb3cgZnVuY3Rpb24gb25lIHRpbWUiKTsKK3Rlc3RDYXNlKHJ1bigxMCks
IHRydWUsICJFcnJvcjogZHVyaW5nIGV4ZWN1dGlvbiBvZiBhcnJvdyBmdW5jdGlvbiAxMCB0aW1l
cyIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJv
d2Z1bmN0aW9uLXJ1bi0xMDAwMC0xLmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9hcnJvd2Z1bmN0aW9uLXJ1bi0xMDAwMC0xLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBlNWY2YmM4NmJk
MzE0NTFiMDFjYTI3ZDBiOTcyMGI1N2U4ZDYwNTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2Fycm93ZnVuY3Rpb24tcnVuLTEwMDAwLTEuanMK
QEAgLTAsMCArMSwyMyBAQAordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0
ZWQsIG1lc3NhZ2UpIHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBt
ZXNzYWdlICsgIi4gRXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0
dWFsICsgIiciOworICB9Cit9OworCitmdW5jdGlvbiBydW4oY291bnQpIHsKKyAgdmFyIHJlc3Vs
dCA9IHRydWU7CisgIGZvcih2YXIgaT0wOyBpPGNvdW50OyBpKyspIHsKKyAgICB2YXIgT2JqID0g
ZnVuY3Rpb24gKG5hbWUpIHsKKyAgICAgIHRoaXMubmFtZSA9IG5hbWU7CisgICAgICB0aGlzLmdl
dE5hbWUgPSAoKSA9PiB0aGlzLm5hbWU7CisgICAgfTsKKworICAgIHZhciBvYmogPSBuZXcgT2Jq
KCJJdGVtIiArIGkpOworICAgIGlmIChvYmoubmFtZSAhPT0gb2JqLmdldE5hbWUoKSkgeworICAg
ICAgcmVzdWx0ID0gZmFsc2U7CisgICAgfQorICB9CisgIHJldHVybiByZXN1bHQ7Cit9CisKK3Rl
c3RDYXNlKHJ1bigxMDAwMCksIHRydWUsICJFcnJvcjogRXJyb3I6IGR1cmluZyBleGVjdXRpb24g
b2YgYXJyb3cgZnVuY3Rpb24gMTAwMDAgdGltZXMiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAwMDAtMi5qcyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi1ydW4tMTAwMDAt
Mi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45NTMwZjJjMWQ1YTdmNTVjZTQ2YjhiZTY5OTA4YjRiYzIxZTA1Mjdi
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9h
cnJvd2Z1bmN0aW9uLXJ1bi0xMDAwMC0yLmpzCkBAIC0wLDAgKzEsMjMgQEAKK3ZhciB0ZXN0Q2Fz
ZSA9IGZ1bmN0aW9uIChhY3R1YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwg
IT09IGV4cGVjdGVkKSB7CisgICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhw
ZWN0ZWQgKyAiJywgYnV0IHdhcyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKworZnVuY3Rp
b24gcnVuKGNvdW50KSB7CisgIHZhciByZXN1bHQgPSB0cnVlOworICBmb3IodmFyIGk9MDsgaTxj
b3VudDsgaSsrKSB7CisgICAgdmFyIE9iaiA9IGZ1bmN0aW9uIChuYW1lKSB7CisgICAgICB0aGlz
Lm5hbWUgPSBuYW1lOworICAgICAgdGhpcy5nZXROYW1lID0gKCkgPT4gZXZhbCgidGhpcy5uYW1l
Iik7OworICAgIH07CisKKyAgICB2YXIgb2JqID0gbmV3IE9iaigiSXRlbSIgKyBpKTsKKyAgICBp
ZiAob2JqLm5hbWUgIT09IG9iai5nZXROYW1lKCkpIHsKKyAgICAgIHJlc3VsdCA9IGZhbHNlOwor
ICAgIH0KKyAgfQorICByZXR1cm4gcmVzdWx0OworfQorCit0ZXN0Q2FzZShydW4oMTAwMDApLCB0
cnVlLCAiRXJyb3I6IEVycm9yOiBkdXJpbmcgZXhlY3V0aW9uIG9mIGFycm93IGZ1bmN0aW9uIDEw
MDAwIHRpbWVzIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2Fycm93ZnVuY3Rpb24tc3ludGF4LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXN5bnRheC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZmUxMWQ1YmVlMGRi
ZDU1NjQ4YWM0M2RmZmNlNGU0ZTJlOTBlMjg4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9hcnJvd2Z1bmN0aW9uLXN5bnRheC5qcwpAQCAtMCww
ICsxLDExNiBAQAordmFyIHJlc3VsdDsKKworIHZhciB0ZXN0Q2FzZSA9IGZ1bmN0aW9uIChhY3R1
YWwsIGV4cGVjdGVkLCBtZXNzYWdlKSB7CisgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7Cisg
ICAgdGhyb3cgbWVzc2FnZSArICIuIEV4cGVjdGVkICciICsgZXhwZWN0ZWQgKyAiJywgYnV0IHdh
cyAnIiArIGFjdHVhbCArICInIjsKKyAgfQorfTsKKwordmFyIGFmMCA9IHYgPT4gdiArIDE7Cit0
ZXN0Q2FzZShhZjAoMTApLCAxMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhl
IGFycm93IGZ1bmN0aW9uOiB2ID0+IHYgKyAxIik7CisKK3ZhciBhZjEgPSAodikgPT4gdiAqIDI7
Cit0ZXN0Q2FzZShhZjEoMTApLCAyMCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2Yg
dGhlIGFycm93IGZ1bmN0aW9uOiAodikgPT4gdiArIDEiKTsKKwordmFyIGFmMiA9ICgpID0+IDEw
MDA7Cit0ZXN0Q2FzZShhZjIoMTIxMiksIDEwMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbjogKCkgPT4gMTAwMCIpOworCit2YXIgYSA9IDE1MTsK
K3ZhciBhZjJfMSA9ICgpID0+IGE7Cit0ZXN0Q2FzZShhZjJfMSgxMjEpLCBhICwiRXJyb3I6IE5v
dCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb246ICgpID0+IHZhcmlhYmxl
Iik7CisKK3ZhciBhZjMgPSAodiwgeCkgPT4gdiArIHg7Cit0ZXN0Q2FzZShhZjMoMTEsMTIpLCAy
MyAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uOiAo
eCwgeSkgPT4geCArIHkiKTsKKwordmFyIGFmd3JhcHBlciA9IGZ1bmN0aW9uIChjbCwgcGFyYW10
ZXIpIHsgcmV0dXJuIGNsKHBhcmFtdGVyKTsgfTsKKworcmVzdWx0ID0gYWZ3cmFwcGVyKHggPT4g
MTIzNCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMzQgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMpIik7CisKK3Jl
c3VsdCA9IGFmd3JhcHBlcih4ID0+IDEyMzQsIDIzNDUpOwordGVzdENhc2UocmVzdWx0LCAxMjM0
ICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMg
cGFyYW10ZXI6IGYoeCA9PiBjLCB5KSIpOworCityZXN1bHQgPSBhZndyYXBwZXIoeCA9PiAxMjEg
KyAyMzIpOwordGVzdENhc2UocmVzdWx0LCAzNTMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZih4ID0+IGMxICsgYzIpIik7
CisKK3Jlc3VsdCA9IGFmd3JhcHBlcih4ID0+IDEyMyArIDMyMSwgOTk5OSk7Cit0ZXN0Q2FzZShy
ZXN1bHQsIDQ0NCAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1
bmN0aW9uIGFzIHBhcmFtdGVyOiBmKHggPT4gYzEgKyBjMiwgeSkiKTsKKworcmVzdWx0ID0gYWZ3
cmFwcGVyKHggPT4geCArIDEyLCAyMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDMzICwiRXJyb3I6IE5v
dCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYo
eCA9PiB4ICsgYzEsIHkpIik7CisKK3Jlc3VsdCA9IGFmd3JhcHBlcigoeCkgPT4geCArIDIxLCAz
Mik7Cit0ZXN0Q2FzZShyZXN1bHQsIDUzLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKHgpID0+IGMxICsgYzIsIHkpIik7
CisKK3Jlc3VsdCA9IGFmd3JhcHBlcigoKSA9PiAxMDApOwordGVzdENhc2UocmVzdWx0LCAxMDAs
ICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBw
YXJhbXRlcjogZigoKSA9PiBjKSIpOworCit2YXIgZXh0X3ZhbHVlID0gMTIxOworcmVzdWx0ID0g
YWZ3cmFwcGVyKCgpID0+IGV4dF92YWx1ZSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMSwgIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVy
OiBmKCgpID0+IHYpIik7CisKK3Jlc3VsdCA9IGFmd3JhcHBlcigoKSA9PiBleHRfdmFsdWUgKiAx
MCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEyMTAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9u
IG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoKSA9PiB2KngpIik7CisKK3Jl
c3VsdCA9IGFmd3JhcHBlcigoeCkgPT4gZXh0X3ZhbHVlICogeCwgMzApOwordGVzdENhc2UocmVz
dWx0LCAzMCpleHRfdmFsdWUgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBh
cnJvdyBmdW5jdGlvbiBhcyBwYXJhbXRlcjogZigoeCkgPT4gdip4LCB5KSIpOworCityZXN1bHQg
PSBhZndyYXBwZXIoKCkgPT4gMTAwLCAxMSk7Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMCAsIkVycm9y
OiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtdGVy
OiBmKCgpID0+IGMxLCB5KSIpOworCisgcmVzdWx0ID0gYWZ3cmFwcGVyKCgpID0+IDEwMCArIDEw
KTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTEwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBv
ZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgcGFyYW10ZXI6IGYoKCkgPT4gYzEgKyBjMikiKTsKKwor
cmVzdWx0ID0gYWZ3cmFwcGVyKCgpID0+IDEwMCArIDExLCAxMik7Cit0ZXN0Q2FzZShyZXN1bHQs
IDExMSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9u
IGFzIHBhcmFtdGVyOiBmKCgpID0+IGMxICsgYzIsIHkpIik7CisKK3ZhciBhcnJvd0Z1bmN0aW9u
NCA9IHYgPT4gdiArIDEsIHh5ejEgPSAxMDEwMTsKK3Jlc3VsdCA9IGFycm93RnVuY3Rpb240KDEw
MTEpOwordGVzdENhc2UocmVzdWx0LCAxMDEyICwiRXJyb3I6IE5vdCBjb3JyZWN0IHBhcnNpbmcg
b2YgdGggYXJyb3cgZnVuY3Rpb24gaW5zaWRlIG9mIHRoZSBsaXN0IG9mIHZhcnM6IHZhciBhZiA9
IHY9PiB2ICsgMTsgenhjPWM7Iik7Cit0ZXN0Q2FzZSh4eXoxLCAxMDEwMSAsIkVycm9yOiBOb3Qg
Y29ycmVjdCBwYXJzaW5nIG9mIHRoIGFycm93IGZ1bmN0aW9uIGluc2lkZSBvZiB0aGUgbGlzdCBv
ZiB2YXJzOiB2YXIgYWYgPSB2PT4gdiArIDE7IHp4Yz1jOyIpOworCit2YXIgYWZ3cmFwcGVyMiA9
IGZ1bmN0aW9uIChjbCwgcGFyYW10ZXIxLCBwYXJhbXRlcjIpIHsgcmV0dXJuIGNsKHBhcmFtdGVy
MSwgcGFyYW10ZXIyKTsgfTsKK3Jlc3VsdCA9IGFmd3JhcHBlcjIoKHgsIHkpID0+IHggKyB5LCAx
MiAsNDMpOwordGVzdENhc2UocmVzdWx0LCA1NSAsIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRp
b24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIGFzIHBhcmFtZXRlcjogZigoeCwgeSkgPT4geCArIHks
IGMxLCBjMikiKTsKKwordmFyIGFmQXJyMCA9IFt2ID0+IHYgKiAxMF07CityZXN1bHQgPSBhZkFy
cjBbMF0oMTApOwordGVzdENhc2UocmVzdWx0LCAxMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhl
Y3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbdj0+dioxMF0i
KTsKKwordmFyIGFmQXJyMSA9IFt2ID0+IHYgKyAxLCB2ID0+IHYgKyAyXTsKK3Jlc3VsdCA9IGFm
QXJyMVswXSgxMCk7Cit0ZXN0Q2FzZShyZXN1bHQsIDExICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4
ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogW3YgPT4gdiAr
IDEsICB2ID0+IHYgKyAyXSIpOworcmVzdWx0ID0gYWZBcnIxWzFdKDExKTsKK3Rlc3RDYXNlKHJl
c3VsdCwgMTMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbiBhcyBpdGVtIGluIGFycmF5OiBbdiA9PiB2ICsgMSwgIHYgPT4gdiArIDJdIik7CisKK3Zh
ciBhZkFycjIgPSBbKHYpID0+IHYgKyAxLCAodikgPT4gdiArIDJdOworcmVzdWx0ID0gYWZBcnIy
WzBdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTIgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0
aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKHYpID0+IHYgKyAx
LCAgKHYpID0+IHYgKyAyXSIpOworcmVzdWx0ID0gYWZBcnIyWzFdKDExKTsKK3Rlc3RDYXNlKHJl
c3VsdCwgMTMgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5j
dGlvbiBhcyBpdGVtIGluIGFycmF5OiBbKHYpID0+IHYgKyAxLCAgKHYpID0+IHYgKyAyXSIpOwor
Cit2YXIgYWZBcnIzID0gWygpID0+IDEwMSwgKCkgPT4gMTIzMjNdOworcmVzdWx0ID0gYWZBcnIz
WzBdKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMTAxLCAiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1
dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gYXMgaXRlbSBpbiBhcnJheTogWygpID0+IGMxLCAg
KCkgPT4gYzJdIik7CityZXN1bHQgPSBhZkFycjNbMV0oMTEpOwordGVzdENhc2UocmVzdWx0LCAx
MjMyMywgIkVycm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9u
IGFzIGl0ZW0gaW4gYXJyYXk6IFsoKSA9PiBjMSwgICgpID0+IGMyXSIpOworCit2YXIgYWZPYmog
PSB7ZnVuYyA6IHkgPT4geSArIDEyfTsKK3Jlc3VsdCA9IGFmT2JqLmZ1bmMoMTEpOwordGVzdENh
c2UocmVzdWx0LCAyMyAsICJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJv
dyBmdW5jdGlvbiBhcyBwcm9wZXJ0eToge2Z1bmMgOiB5ID0+IHkgKyAxMiB9Iik7CisKK3ZhciBh
ZkJsb2NrMCA9ICgpID0+IHsgcmV0dXJuIDEwMDA7IH07CityZXN1bHQgPSBhZkJsb2NrMCgxMSk7
Cit0ZXN0Q2FzZShyZXN1bHQsIDEwMDAgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9m
IHRoZSBhcnJvdyBmdW5jdGlvbiB3aXRoIGJvZHkgYXMgYmxvY2s6ICgpID0+IHsgcmV0dXJuIDEw
MDA7IH0iKTsKKwordmFyIGFmQmxvY2sxID0gdiA9PiB7IHZhciBpbnR2YWwgPSAxMDA7IHJldHVy
biB2ICogaW50dmFsOyB9OworcmVzdWx0ID0gYWZCbG9jazEoMTEpOwordGVzdENhc2UocmVzdWx0
LCAxMTAwICwiRXJyb3I6IE5vdCBjb3JyZWN0IGV4ZWN1dGlvbiBvZiB0aGUgYXJyb3cgZnVuY3Rp
b24gd2l0aCBib2R5IGFzIGJsb2NrOiB4ID0+IHsgdmFyIHY9MTAwMDsgcmV0dXJuIHYqeDsgfSIp
OworCit2YXIgYWZCbG9jazIgPSAodikgPT4geyB2YXIgaW50ID0gMjAwOyByZXR1cm4gdiAqIGlu
dDsgfTsKK3Jlc3VsdCA9IGFmQmxvY2syKDExKTsKK3Rlc3RDYXNlKHJlc3VsdCwgMjIwMCAsIkVy
cm9yOiBOb3QgY29ycmVjdCBleGVjdXRpb24gb2YgdGhlIGFycm93IGZ1bmN0aW9uIHdpdGggYm9k
eSBhcyBibG9jazogKHgpID0+IHsgdmFyIHY9MTAwMDsgcmV0dXJuIHYqeDsgfSIpOworCit2YXIg
YWZCbG9jazMgPSAodiwgeCkgPT4geyB2YXIgcmVzdWx0ID0geCAqIHY7IHJldHVybiByZXN1bHQ7
IH07CityZXN1bHQgPSBhZkJsb2NrMygxMSwgMTIyMjIpOwordGVzdENhc2UocmVzdWx0LCAxMzQ0
NDIgLCJFcnJvcjogTm90IGNvcnJlY3QgZXhlY3V0aW9uIG9mIHRoZSBhcnJvdyBmdW5jdGlvbiB3
aXRoIGJvZHkgYXMgYmxvY2s6ICh2LCB4KSA9PiB7IHZhciByZXN1bHQgPSB4ICogdjsgcmV0dXJu
IHJlc3VsdDsgfSIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9hcnJvd2Z1bmN0aW9uLXRkei5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvYXJyb3dmdW5jdGlvbi10ZHouanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTlkMzVjZGVhNGJhZjY2NzQz
MWFmOGFiZThkYWRmMjJkMDRiOTBlMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi10ZHouanMKQEAgLTAsMCArMSwyNCBA
QAordmFyIEEgPSBjbGFzcyBBIHsgfTsKK3ZhciBCID0gY2xhc3MgQiBleHRlbmRzIEEgeworICBj
b25zdHJ1Y3RvcihhY2Nlc3NUaGlzQmVmb3JlU3VwZXIpIHsKKyAgICBpZiAoYWNjZXNzVGhpc0Jl
Zm9yZVN1cGVyKSB7CisgICAgICB2YXIgZiA9ICgpID0+IHRoaXM7CisgICAgICBzdXBlcigpOwor
ICAgIH0gZWxzZSB7CisgICAgICBzdXBlcigpOworICAgIH0KKyAgfQorfTsKKwordmFyIGV4Y2Vw
dGlvbiA9IG51bGw7Cit0cnkgeworICAgICBuZXcgQih0cnVlKTsKK30gY2F0Y2ggKGUpIHsKKyAg
ICBleGNlcHRpb24gPSBlOworICAgIGlmICghKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikp
CisgICAgICAgIHRocm93ICJFeGNlcHRpb24gdGhyb3duIHdhcyBub3QgYSByZWZlcmVuY2UgZXJy
b3IiOworfQoraWYgKCFleGNlcHRpb24pCisgICAgdGhyb3cgIkV4Y2VwdGlvbiBub3QgdGhyb3du
IGZvciBhbiB1bml0aWFsaXplZCB0aGlzIGF0IGl0ZXJhdGlvbiI7CisKK3ZhciBlID0gbmV3IEIo
ZmFsc2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9h
cnJvd2Z1bmN0aW9uLXR5cGVvZi5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJl
c3MvYXJyb3dmdW5jdGlvbi10eXBlb2YuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWYyYTdmNTQ0NzZhYmE5YzI4
OTIzYzM1ZjFkYjNjNDMyN2FjOTQ2OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvYXJyb3dmdW5jdGlvbi10eXBlb2YuanMKQEAgLTAsMCArMSwy
MSBAQAordmFyIHRlc3RDYXNlID0gZnVuY3Rpb24gKGFjdHVhbCwgZXhwZWN0ZWQsIG1lc3NhZ2Up
IHsKKyAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKKyAgICB0aHJvdyBtZXNzYWdlICsgIi4g
RXhwZWN0ZWQgJyIgKyBleHBlY3RlZCArICInLCBidXQgd2FzICciICsgYWN0dWFsICsgIiciOwor
ICB9Cit9OworCit2YXIgYWYxID0gKCkgPT4ge307Cit2YXIgYWYyID0gKGEpID0+IHthICsgMX07
CisKK3Rlc3RDYXNlKHR5cGVvZiBhZjEsICJmdW5jdGlvbiIsICJFcnJvcjogTm90IGNvcnJlY3Qg
dHlwZSBvZiB0aGUgYXJyb3cgZnVuY3Rpb24gIzEiKTsKK3Rlc3RDYXNlKHR5cGVvZiBhZjEucHJv
dG90eXBlID09PSAndW5kZWZpbmVkJywgdHJ1ZSwgIkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQg
Zm9yIHByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlvbiAjMSIpOworCit0ZXN0Q2FzZSh0eXBlb2Yg
YWYyLCAiZnVuY3Rpb24iLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHR5cGUgb2YgdGhlIGFycm93IGZ1
bmN0aW9uICMyIik7Cit0ZXN0Q2FzZSh0eXBlb2YgYWYyLnByb3RvdHlwZSA9PT0gJ3VuZGVmaW5l
ZCcsIHRydWUsICJFcnJvcjogTm90IGNvcnJlY3QgcmVzdWx0IGZvciBwcm90b3R5cGUgb2YgYXJy
b3cgZnVuY3Rpb24gIzIiKTsKKwordGVzdENhc2UodHlwZW9mICgoKT0+e30pLCAiZnVuY3Rpb24i
LCAiRXJyb3I6IE5vdCBjb3JyZWN0IHR5cGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICMzIik7Cit0
ZXN0Q2FzZSh0eXBlb2YgKCgpPT57fSkucHJvdG90eXBlID09PSAndW5kZWZpbmVkJywgdHJ1ZSwg
IkVycm9yOiBOb3QgY29ycmVjdCByZXN1bHQgZm9yIHByb3RvdHlwZSBvZiBhcnJvdyBmdW5jdGlv
biAjMyIpOworCisKK3Rlc3RDYXNlKHR5cGVvZiAoKGIpID0+IHtiICsgMX0pLCAiZnVuY3Rpb24i
LCAiRXJyb3I6IE5vdCBjb3JyZWN0IHR5cGUgb2YgdGhlIGFycm93IGZ1bmN0aW9uICM0Iik7Cit0
ZXN0Q2FzZSh0eXBlb2YgKChiKSA9PiB7YiArIDF9KS5wcm90b3R5cGUgPT09ICd1bmRlZmluZWQn
LCB0cnVlLCAiRXJyb3I6IE5vdCBjb3JyZWN0IHJlc3VsdCBmb3IgcHJvdG90eXBlIG9mIGFycm93
IGZ1bmN0aW9uICM0Iik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5l
cy5oIGIvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAppbmRleCA0MDQ0MWI1NjQ0ZDkw
OWQ5ZTMzNjcxMTFjMDRmMjNlYzljZTFkMTlkLi4wNTMyODk2OTI5NmQwMzA5YjI1OGU0ZTAyMzZm
MDJjYjg0ZmNmMTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5o
CisrKyBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKQEAgLTM0LDE5ICszNCwxOSBA
QAogICogIC0gIjEiIGVuYWJsZXMgdGhlIGZlYXR1cmUgYnkgZGVmYXVsdC4gVGhlIGZlYXR1cmUg
Y2FuIHN0aWxsIGJlIGRpc2FibGVkIGZvciBhIHNwZWNpZmljIHBvcnQgb3IgZW52aXJvbm1lbnQu
CiAgKgogICogVGhlIGZlYXR1cmUgZGVmYXVsdHMgaW4gdGhpcyBmaWxlIGFyZSBvbmx5IHRha2Vu
IGludG8gYWNjb3VudCBpZiB0aGUgKHBvcnQgc3BlY2lmaWMpIGJ1aWxkIHN5c3RlbQotICogaGFz
IG5vdCBlbmFibGVkIG9yIGRpc2FibGVkIGEgcGFydGljdWxhciBmZWF0dXJlLiAKKyAqIGhhcyBu
b3QgZW5hYmxlZCBvciBkaXNhYmxlZCBhIHBhcnRpY3VsYXIgZmVhdHVyZS4KICAqCiAgKiBVc2Ug
dGhpcyBmaWxlIHRvIGRlZmluZSBFTkFCTEUoKSBtYWNyb3Mgb25seS4gRG8gbm90IHVzZSB0aGlz
IGZpbGUgdG8gZGVmaW5lIFVTRSgpIG9yIG1hY3JvcyAhCiAgKgogICogT25seSBkZWZpbmUgYSBt
YWNybyBpZiBpdCB3YXMgbm90IGRlZmluZWQgYmVmb3JlIC0gYWx3YXlzIGNoZWNrIGZvciAhZGVm
aW5lZCBmaXJzdC4KLSAqIAorICoKICAqIEtlZXAgdGhlIGZpbGUgc29ydGVkIGJ5IHRoZSBuYW1l
IG9mIHRoZSBkZWZpbmVzLiBBcyBhbiBleGNlcHRpb24geW91IGNhbiBjaGFuZ2UgdGhlIG9yZGVy
CiAgKiB0byBhbGxvdyBpbnRlcmRlcGVuZGVuY2llcyBiZXR3ZWVuIHRoZSBkZWZhdWx0IHZhbHVl
cy4KLSAqIAorICoKICAqIEJlbG93IGFyZSBhIGZldyBwb3RlbnRpYWwgY29tbWFuZHMgdG8gdGFr
ZSBhZHZhbnRhZ2Ugb2YgdGhpcyBmaWxlIHJ1bm5pbmcgZnJvbSB0aGUgU291cmNlL1dURiBkaXJl
Y3RvcnkKICAqCiAgKiBHZXQgdGhlIGxpc3Qgb2YgZmVhdHVyZSBkZWZpbmVzOiBncmVwIC1vICJF
TkFCTEVfXChcd1wrXCkiIHd0Zi9GZWF0dXJlRGVmaW5lcy5oIHwgc29ydCB8IHVuaXEKLSAqIEdl
dCB0aGUgbGlzdCBvZiBmZWF0dXJlcyBlbmFibGVkIGJ5IGRlZmF1bHQgZm9yIGEgUExBVEZPUk0o
WFhYKTogZ2NjIC1FIC1kTSAtSS4gLURXVEZfUExBVEZPUk1fWFhYICJ3dGYvUGxhdGZvcm0uaCIg
fCBncmVwICJFTkFCTEVfXHdcKyAxIiB8IGN1dCAtZCcgJyAtZjIgfCBzb3J0IAorICogR2V0IHRo
ZSBsaXN0IG9mIGZlYXR1cmVzIGVuYWJsZWQgYnkgZGVmYXVsdCBmb3IgYSBQTEFURk9STShYWFgp
OiBnY2MgLUUgLWRNIC1JLiAtRFdURl9QTEFURk9STV9YWFggInd0Zi9QbGF0Zm9ybS5oIiB8IGdy
ZXAgIkVOQUJMRV9cd1wrIDEiIHwgY3V0IC1kJyAnIC1mMiB8IHNvcnQKICAqLwogCiAvKiBGSVhN
RTogTW92ZSBvdXQgdGhlIFBMQVRGT1JNIHNwZWNpZmljIHJ1bGVzIGludG8gcGxhdGZvcm0gc3Bl
Y2lmaWMgZmlsZXMuICovCkBAIC0zNDUsNiArMzQ1LDEwIEBAIHRoZSBwdWJsaWMgaU9TIFNESy4g
V2Ugd2lsbCBhbHNvIG5lZWQgdG8gdXBkYXRlIHRoZSBGZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBm
aWxlCiAjZGVmaW5lIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyAxCiAjZW5kaWYKIAorI2lmICFk
ZWZpbmVkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVgpCisjZGVmaW5lIEVOQUJMRV9F
UzZfQ0xBU1NfU1lOVEFYIDEKKyNlbmRpZgorCiAjaWYgIWRlZmluZWQoRU5BQkxFX0VTNl9DTEFT
U19TWU5UQVgpCiAjZGVmaW5lIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYIDEKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwppbmRleCBmYzkwZjYxMTU2MjMxYTQxY2E5MTM3ZjE3Yzc5NTVlOGQzNzNiMGVhLi4wYzg4
NDBmNmFiNTE4NWY4MzU0YjcwNjAzZTAyNWYyNWEyYTc5ZjRhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDQs
NiArNDQsNyBAQCBFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HID0gRU5BQkxFX0NBQ0hFX1BBUlRJ
VElPTklORzsKIEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJM
RV9DQU5WQVNfUFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hB
Tk5FTF9NRVNTQUdJTkc7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxF
X0VTNl9BUlJPV0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5B
QkxFX0VTNl9DTEFTU19TWU5UQVg7CiBFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFY
ID0gRU5BQkxFX0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJ
TFRFUklORyA9IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKQEAgLTIxNSw0ICsyMTYsNCBAQCBF
TkFCTEVfSklUID0gRU5BQkxFX0pJVDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhN
RVRJQyA9IEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVG
SU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NB
TlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9B
VkZfQ0FQVElPTlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVf
UEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZ
KSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkg
JChFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJ
TFRFUklORykgJChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVM
XzIpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBP
U0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklE
X0xBWU9VVCkgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1B
R0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RP
UlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5B
QkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChF
TkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkg
JChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykg
JChFTkFCTEVfREVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQo
RU5BQkxFX0RPTTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEp
ICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAk
KEVOQUJMRV9GT05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFC
TEVfR0FNRVBBRCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NB
VElPTikgJChFTkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxF
X0lDT05EQVRBQkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJM
RV9JTkRJRV9VSSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQ
RV9DT0xPUl9QT1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxP
Q0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFS
R0VUKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9T
SVpJTkcpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVO
RE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVH
QUNZX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVf
TEVUVEVSUFJFU1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChF
TkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5B
QkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01I
VE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05U
RU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NL
KSAkKEVOQUJMRV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVf
UFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklN
QVRJT05fRlJBTUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1P
VEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9S
VUJCRVJfQkFORElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hf
U1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykg
JChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVf
VEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQo
RU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9U
T1VDSF9JQ09OX0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9V
U0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVO
QUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJM
RV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJM
RV9XRUJfU09DS0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlO
RykgJChFTkFCTEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJM
RV9YU0xUKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX1NBVFVSQVRF
RF9MQVlPVVRfQVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwor
RkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcp
ICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVO
QUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9D
QU5WQVNfUFJPWFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQVJS
T1dGVU5DVElPTl9TWU5UQVgpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VT
Nl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQo
RU5BQkxFX0NTUF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJM
RV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChF
TkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQo
RU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkg
JChFTkFCTEVfQ1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RF
WFRfTElORV9CUkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RP
TV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RB
VEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RF
VEFJTFNfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000
X0VWRU5UU19DT05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9F
TkNSWVBURURfTUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9O
VF9MT0FEX0VWRU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQp
ICQoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5B
QkxFX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJB
U0UpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0Up
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9Q
T1ZFUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFC
TEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhF
UykgJChFTkFCTEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1Jf
UFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNT
KSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElB
X0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9T
VEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFC
TEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykg
JChFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVf
UFJPTUlTRVMpICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZG
SVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1F
KSAkKEVOQUJMRV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RP
UikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJ
TkcpICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykg
JChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NW
R19GT05UUykgJChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9O
VU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9M
T0FESU5HKSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9B
TEwpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNV
RV9WQUxVRSkgJChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQo
RU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tF
VFMpICQoRU5BQkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxF
X1dFQlZUVF9SRUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChF
TkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FS
SVRITUVUSUMpICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBhY2RmOTA1
NjMzODU5NmI4MTM0ODYzMDRmNjcxZDJkY2U1YzkwZWM2Li43MjMxMjI4ZTMyZmJhZWE4ZjI0NzQ2
ZTk4NjU4MWY1YjgwNmNhODZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNjAxLDkgKzE2MDEsOSBAQAogCQk0NDMxMUNEOTEy
RTRFMjU3MDAwQThEMTkgLyogRE9NRG9jdW1lbnRGcmFnbWVudFByaXZhdGUuaCBpbiBDb3B5IEdl
bmVyYXRlZCBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0MzEx
Q0Q0MTJFNEUyMkQwMDBBOEQxOSAvKiBET01Eb2N1bWVudEZyYWdtZW50UHJpdmF0ZS5oICovOyB9
OwogCQk0NDMxMUY4MjEyRTRFNjZDMDAwQThEMTkgLyogRE9NRG9jdW1lbnRGcmFnbWVudEludGVy
bmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUU3
MTE0NTBBQzVENTM0MDA1MzI3MEYgLyogRE9NRG9jdW1lbnRGcmFnbWVudEludGVybmFsLmggKi87
IH07CiAJCTQ0MzgxN0ZGMUE5MUIyRjgwMDZFMDRGMiAvKiBDb3JlTWVkaWFTb2Z0TGluay5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDM4MTdGRDFB
OTFCMkY4MDA2RTA0RjIgLyogQ29yZU1lZGlhU29mdExpbmsuY3BwICovOyB9OwotCQk0NDM5MTdG
RjFBOTFCMkY4MDA2RTA0RjIgLyogUXVpY2tMb29rU29mdExpbmsubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDM5MTdGRDFBOTFCMkY4MDA2RTA0RjIg
LyogUXVpY2tMb29rU29mdExpbmsubW0gKi87IH07CiAJCTQ0MzgxODAwMUE5MUIyRjgwMDZFMDRG
MiAvKiBDb3JlTWVkaWFTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDQzODE3RkUxQTkxQjJGODAwNkUwNEYyIC8qIENvcmVNZWRpYVNvZnRM
aW5rLmggKi87IH07Ci0JCTQ0MzkxODAwMUE5MUIyRjgwMDZFMDRGMiAvKiBRdWlja0xvb2tTb2Z0
TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQz
OTE3RkUxQTkxQjJGODAwNkUwNEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLmggKi87IH07CisJCTQ0
MzkxN0ZGMUE5MUIyRjgwMDZFMDRGMiAvKiBpb3MvUXVpY2tMb29rU29mdExpbmsubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDM5MTdGRDFBOTFCMkY4
MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLm1tICovOyB9OworCQk0NDM5MTgwMDFB
OTFCMkY4MDA2RTA0RjIgLyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDM5MTdGRTFBOTFCMkY4MDA2RTA0RjIg
LyogaW9zL1F1aWNrTG9va1NvZnRMaW5rLmggKi87IH07CiAJCTQ0M0YwNDI3MEU3NUM4RkIwMDdF
NTQwNyAvKiBOZXR3b3JrU3RhdGVOb3RpZmllcklPUy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0M0YwNDI2MEU3NUM4RkIwMDdFNTQwNyAvKiBOZXR3
b3JrU3RhdGVOb3RpZmllcklPUy5tbSAqLzsgfTsKIAkJNDQ0OUE0MDUxQTk2NEIwMDAwQjY0QUQ1
IC8qIENvcmVNZWRpYVNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDQ0OUE0MDQxQTk2NEIwMDAwQjY0QUQ1IC8qIENvcmVNZWRpYVNQSS5oICovOyB9
OwogCQk0NDRENEUyMzBGNzA4QjJFMDAzMTU4RTAgLyogV2ViQ29yZVVSTFJlc3BvbnNlSU9TLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ0RDRFMjEw
RjcwOEIyRTAwMzE1OEUwIC8qIFdlYkNvcmVVUkxSZXNwb25zZUlPUy5tbSAqLzsgfTsKQEAgLTg3
NzIsOSArODc3Miw5IEBACiAJCTQ0MzExQ0Q0MTJFNEUyMkQwMDBBOEQxOSAvKiBET01Eb2N1bWVu
dEZyYWdtZW50UHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01E
b2N1bWVudEZyYWdtZW50UHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
NDMxMUNENTEyRTRFMjJEMDAwQThEMTkgLyogRE9NRG9jdW1lbnRQcml2YXRlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTURvY3VtZW50UHJpdmF0ZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0NDM4MTdGRDFBOTFCMkY4MDA2RTA0RjIgLyogQ29yZU1lZGlh
U29mdExpbmsuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29yZU1l
ZGlhU29mdExpbmsuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0NDM5MTdGRDFB
OTFCMkY4MDA2RTA0RjIgLyogUXVpY2tMb29rU29mdExpbmsubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBpb3MvUXVpY2tMb29rU29mdExpbmsubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0MzgxN0ZFMUE5MUIyRjgwMDZFMDRGMiAvKiBDb3JlTWVk
aWFTb2Z0TGluay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb3JlTWVkaWFT
b2Z0TGluay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0NDM5MTdGRTFBOTFCMkY4
MDA2RTA0RjIgLyogUXVpY2tMb29rU29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gaW9zL1F1aWNrTG9va1NvZnRMaW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTQ0MzkxN0ZEMUE5MUIyRjgwMDZFMDRGMiAvKiBpb3MvUXVpY2tMb29rU29mdExpbmsu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBpb3MvUXVpY2tMb29r
U29mdExpbmsubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0MzkxN0ZFMUE5MUIy
RjgwMDZFMDRGMiAvKiBpb3MvUXVpY2tMb29rU29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gaW9zL1F1aWNrTG9va1NvZnRMaW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQ0M0YwNDI2MEU3NUM4RkIwMDdFNTQwNyAvKiBOZXR3b3JrU3RhdGVOb3Rp
ZmllcklPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IE5ldHdv
cmtTdGF0ZU5vdGlmaWVySU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDQ5
QTQwNDFBOTY0QjAwMDBCNjRBRDUgLyogQ29yZU1lZGlhU1BJLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IENvcmVNZWRpYVNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0NDRENEUyMTBGNzA4QjJFMDAzMTU4RTAgLyogV2ViQ29yZVVSTFJlc3BvbnNlSU9TLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViQ29yZVVSTFJlc3Bv
bnNlSU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTg4NjMsOCArMTg4NjMs
OCBAQAogCQkJCUM1Mjc4QjBCMTdGMjEyRUEwMDNBMjk5OCAvKiBQbGF0Zm9ybVBhc3RlYm9hcmRJ
T1MubW0gKi8sCiAJCQkJRTQ1MzkwMzIwRUFGRDYzNzAwMzY5NUM4IC8qIFBsYXRmb3JtU2NyZWVu
SU9TLm1tICovLAogCQkJCUFBRTM3NTVEMTc0MjlCQ0MwMDYyMDBDMiAvKiBQbGF0Zm9ybVNwZWVj
aFN5bnRoZXNpemVySU9TLm1tICovLAotCQkJCTQ0MzkxN0ZFMUE5MUIyRjgwMDZFMDRGMiAvKiBR
dWlja0xvb2tTb2Z0TGluay5oICovLAotCQkJCTQ0MzkxN0ZEMUE5MUIyRjgwMDZFMDRGMiAvKiBR
dWlja0xvb2tTb2Z0TGluay5tbSAqLywKKwkJCQk0NDM5MTdGRTFBOTFCMkY4MDA2RTA0RjIgLyog
aW9zL1F1aWNrTG9va1NvZnRMaW5rLmggKi8sCisJCQkJNDQzOTE3RkQxQTkxQjJGODAwNkUwNEYy
IC8qIGlvcy9RdWlja0xvb2tTb2Z0TGluay5tbSAqLywKIAkJCQlDREZDMzYwMTE4Q0E2MTYzMDAy
NkU1NkYgLyogUmVtb3RlQ29tbWFuZExpc3RlbmVySU9TLmggKi8sCiAJCQkJQ0RGQzM2MDIxOENB
NjE2MzAwMjZFNTZGIC8qIFJlbW90ZUNvbW1hbmRMaXN0ZW5lcklPUy5tbSAqLywKIAkJCQk0NEMz
NjNFRTBGQUE3QkIzMDA5N0Y4Q0MgLyogUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzSU9TLmggKi8s
CkBAIC0yNjA3MSw3ICsyNjA3MSw3IEBACiAJCQkJNTUwQTBCQ0EwODVGNjAzOTAwNzM1M0Q2IC8q
IFF1YWxpZmllZE5hbWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFMTI1MjNEMUExNjc2Q0QwMDg2
NDQ4MCAvKiBRdWFydHpDb3JlU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQk0NDJBRjdBOTEwMkNE
REVBMDA4RkQ0RDMgLyogUXVpY2tMb29rLmggaW4gSGVhZGVycyAqLywKLQkJCQk0NDM5MTgwMDFB
OTFCMkY4MDA2RTA0RjIgLyogUXVpY2tMb29rU29mdExpbmsuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTQ0MzkxODAwMUE5MUIyRjgwMDZFMDRGMiAvKiBpb3MvUXVpY2tMb29rU29mdExpbmsuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUExNDk3ODZGMUFCQUYzMzgwMENFRjdFNCAvKiBDb250ZW50RmlsdGVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQlDRTEyNTIzOTFBMTY2RkEwMDA4NjQ0ODAgLyogUXVpY2tM
b29rU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTBEQkY0NzE4RjkyMzE3MDAwRDcwQzYgLyog
UXVpY2tMb29rSGFuZGxlQ2xpZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI5NTc1LDcgKzI5NTc1
LDcgQEAKIAkJCQlDREVFMzkzNzE3OTc0MjU5MDAxRDc1ODAgLyogUHVibGljVVJMTWFuYWdlci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk1NTBBMEJDOTA4NUY2MDM5MDA3MzUzRDYgLyogUXVhbGlm
aWVkTmFtZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0NDJBRjdBQTEwMkNEREVBMDA4RkQ0RDMg
LyogUXVpY2tMb29rLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJNDQzOTE3RkYxQTkxQjJGODAwNkUw
NEYyIC8qIFF1aWNrTG9va1NvZnRMaW5rLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNDQzOTE3RkYx
QTkxQjJGODAwNkUwNEYyIC8qIGlvcy9RdWlja0xvb2tTb2Z0TGluay5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTA3MkFFMUU2MTgzQzA3NDEwMDBBNTk4OCAvKiBRdWlja1RpbWVQbHVnaW5SZXBsYWNl
bWVudC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTM3OUUzNzE2MTM3MzZBNjYwMEI5RTkxOSAvKiBR
dW90ZWRQcmludGFibGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNUE1NzRGMjgxMzFEQjk2RDAw
NDcxQjg4IC8qIFF1b3Rlc0RhdGEuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmlu
ZGV4IGZjOTBmNjExNTYyMzFhNDFjYTkxMzdmMTdjNzk1NWU4ZDM3M2IwZWEuLjBjODg0MGY2YWI1
MTg1ZjgzNTRiNzA2MDNlMDI1ZjI1YTJhNzlmNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC00NCw2
ICs0NCw3IEBAIEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcgPSBFTkFCTEVfQ0FDSEVfUEFSVElU
SU9OSU5HOwogRU5BQkxFX0NBTlZBU19QQVRIID0gRU5BQkxFX0NBTlZBU19QQVRIOwogRU5BQkxF
X0NBTlZBU19QUk9YWSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORzsKK0VOQUJMRV9FUzZfQVJST1dGVU5DVElPTl9TWU5UQVggPSBFTkFCTEVf
RVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYOwogRU5BQkxFX0VTNl9DTEFTU19TWU5UQVggPSBFTkFC
TEVfRVM2X0NMQVNTX1NZTlRBWDsKIEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVgg
PSBFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYOwogRU5BQkxFX0NPTlRFTlRfRklM
VEVSSU5HID0gRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HOwpAQCAtMjE1LDQgKzIxNiw0IEBAIEVO
QUJMRV9KSVQgPSBFTkFCTEVfSklUOwogCiBFTkFCTEVfU0FUVVJBVEVEX0xBWU9VVF9BUklUSE1F
VElDID0gRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQzsKIAotRkVBVFVSRV9ERUZJ
TkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FO
VkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FW
Rl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJPWFkp
ICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYKSAk
KEVOQUJMRV9FUzZfVEVNUExBVEVfTElURVJBTF9TWU5UQVgpICQoRU5BQkxFX0NPTlRFTlRfRklM
VEVSSU5HKSAkKEVOQUJMRV9DU1BfTkVYVCkgJChFTkFCTEVfQ1NTX0FOSU1BVElPTlNfTEVWRUxf
MikgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9T
SVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0dSSURf
TEFZT1VUKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFH
RV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfUkVHSU9OUykgJChFTkFCTEVfQ1NTX1NFTEVDVE9S
U19MRVZFTDQpICQoRU5BQkxFX0NTU19TSEFQRVMpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFC
TEVfQ1NTM19URVhUX0xJTkVfQlJFQUspICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVO
QUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAk
KEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAk
KEVOQUJMRV9ERVRBSUxTX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChF
TkFCTEVfRE9NNF9FVkVOVFNfQ09OU1RSVUNUT1IpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQo
RU5BQkxFX0ZPTlRfTE9BRF9FVkVOVFMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJM
RV9HQU1FUEFEKSAkKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQpICQoRU5BQkxFX0dFT0xPQ0FU
SU9OKSAkKEVOQUJMRV9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElORykgJChFTkFCTEVf
SUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9JTkRFWEVE
X0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxF
X0lORElFX1VJKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SX1BPUE9WRVIpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9D
QUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJH
RVQpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RFWFRfQVVUT1NJ
WklORykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5E
T1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9MRUdB
Q1lfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPKSAkKEVOQUJMRV9M
RVRURVJQUkVTUykgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVO
QUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFC
TEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhU
TUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRF
TlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZKSAkKEVOQUJMRV9OT1RJ
RklDQVRJT05TKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0sp
ICQoRU5BQkxFX1BST01JU0VTKSAkKEVOQUJMRV9QUk9YSU1JVFlfRVZFTlRTKSAkKEVOQUJMRV9Q
VUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRVFVRVNUX0FOSU1B
VElPTl9GUkFNRSkgJChFTkFCTEVfUkVRVUVTVF9BVVRPQ09NUExFVEUpICQoRU5BQkxFX1JFTU9U
RV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JV
QkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX1NQRUVDSF9T
WU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAk
KEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19PVEZfQ09OVkVSVEVSKSAkKEVOQUJMRV9U
RUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCkgJChF
TkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1RP
VUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX1VT
RVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5B
QkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEpICQoRU5BQkxF
X1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9SRVBMQVkpICQoRU5BQkxF
X1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9QSUNUVVJFX1NJWkVTKSAkKEVOQUJMRV9XRUJfVElNSU5H
KSAkKEVOQUJMRV9XRUJWVFRfUkVHSU9OUykgJChFTkFCTEVfWEhSX1RJTUVPVVQpICQoRU5BQkxF
X1hTTFQpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfU0FUVVJBVEVE
X0xBWU9VVF9BUklUSE1FVElDKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSk7CitG
RUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykg
JChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5B
QkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0FOVkFTX1BBVEgpICQoRU5BQkxFX0NB
TlZBU19QUk9YWSkgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCkgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVfRVM2
X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChF
TkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkgJChF
TkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElP
TikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAk
KEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNfVEVY
VF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9N
X1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFU
QUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVU
QUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RPTTRf
RVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GT05U
X0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkg
JChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRBQkFT
RSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkg
JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9VSSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9QT1BP
VkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJ
TUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJM
RV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVT
KSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJFU1Mp
ICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFf
Q09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJM
RV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAk
KEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykg
JChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9Q
Uk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NVRkZJ
WF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUp
ICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9S
KSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFORElO
RykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAk
KEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05FX05V
TUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RFWFRf
QVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09OX0xP
QURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FM
TCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRBQ1VF
X1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkgJChF
TkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09DS0VU
UykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVf
V0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAkKEVO
QUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJ
VEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9T
b3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRl
eCBmYzkwZjYxMTU2MjMxYTQxY2E5MTM3ZjE3Yzc5NTVlOGQzNzNiMGVhLi4wYzg4NDBmNmFiNTE4
NWY4MzU0YjcwNjAzZTAyNWYyNWEyYTc5ZjRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0
Mi9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtNDQsNiArNDQsNyBA
QCBFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HID0gRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORzsK
IEVOQUJMRV9DQU5WQVNfUEFUSCA9IEVOQUJMRV9DQU5WQVNfUEFUSDsKIEVOQUJMRV9DQU5WQVNf
UFJPWFkgPSA7CiBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgPSBFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkc7CitFTkFCTEVfRVM2X0FSUk9XRlVOQ1RJT05fU1lOVEFYID0gRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWDsKIEVOQUJMRV9FUzZfQ0xBU1NfU1lOVEFYID0gRU5BQkxFX0VTNl9D
TEFTU19TWU5UQVg7CiBFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYID0gRU5BQkxF
X0VTNl9URU1QTEFURV9MSVRFUkFMX1NZTlRBWDsKIEVOQUJMRV9DT05URU5UX0ZJTFRFUklORyA9
IEVOQUJMRV9DT05URU5UX0ZJTFRFUklORzsKQEAgLTIxNSw0ICsyMTYsNCBAQCBFTkFCTEVfSklU
ID0gRU5BQkxFX0pJVDsKIAogRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRfQVJJVEhNRVRJQyA9IEVO
QUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUM7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQo
RU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChF
TkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BVkZfQ0FQVElP
TlMpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9O
SU5HKSAkKEVOQUJMRV9DQU5WQVNfUEFUSCkgJChFTkFCTEVfQ0FOVkFTX1BST1hZKSAkKEVOQUJM
RV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfRVM2X0NMQVNTX1NZTlRBWCkgJChFTkFCTEVf
RVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFYKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykg
JChFTkFCTEVfQ1NQX05FWFQpICQoRU5BQkxFX0NTU19BTklNQVRJT05TX0xFVkVMXzIpICQoRU5B
QkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAk
KEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19HUklEX0xBWU9VVCkg
JChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xV
VElPTikgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0
KSAkKEVOQUJMRV9DU1NfU0hBUEVTKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTUzNf
VEVYVF9MSU5FX0JSRUFLKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VT
VE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVf
REFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVf
REVUQUlMU19FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RP
TTRfRVZFTlRTX0NPTlNUUlVDVE9SKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxF
X0VOQ1JZUFRFRF9NRURJQV9WMikgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9G
T05UX0xPQURfRVZFTlRTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBB
RCkgJChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChF
TkFCTEVfSElEREVOX1BBR0VfRE9NX1RJTUVSX1RIUk9UVExJTkcpICQoRU5BQkxFX0lDT05EQVRB
QkFTRSkgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTkRJRV9V
SSkgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUl9Q
T1BPVkVSKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVO
QUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19URVhUX0FVVE9TSVpJTkcpICQo
RU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJ
WEVTKSAkKEVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfTEVHQUNZX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX1dFQl9BVURJTykgJChFTkFCTEVfTEVUVEVSUFJF
U1MpICQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVE
SUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElB
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVO
QUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxT
KSAkKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSkgJChFTkFCTEVfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJM
RV9QUk9NSVNFUykgJChFTkFCTEVfUFJPWElNSVRZX0VWRU5UUykgJChFTkFCTEVfUFVCTElDX1NV
RkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJB
TUUpICQoRU5BQkxFX1JFUVVFU1RfQVVUT0NPTVBMRVRFKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVD
VE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SVUJCRVJfQkFO
RElORykgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lT
KSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVf
U1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfT1RGX0NPTlZFUlRFUikgJChFTkFCTEVfVEVMRVBIT05F
X05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQpICQoRU5BQkxFX1RF
WFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9UT1VDSF9JQ09O
X0xPQURJTkcpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9VU0VSU0VMRUNU
X0FMTCkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9EQVRB
Q1VFX1ZBTFVFKSAkKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElBKSAkKEVOQUJMRV9XRUJHTCkg
JChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfUkVQTEFZKSAkKEVOQUJMRV9XRUJfU09D
S0VUUykgJChFTkFCTEVfUElDVFVSRV9TSVpFUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFC
TEVfV0VCVlRUX1JFR0lPTlMpICQoRU5BQkxFX1hIUl9USU1FT1VUKSAkKEVOQUJMRV9YU0xUKSAk
KEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX1NBVFVSQVRFRF9MQVlPVVRf
QVJJVEhNRVRJQykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpOworRkVBVFVSRV9E
RUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRf
Q0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxF
X0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9DQUNI
RV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NBTlZBU19QQVRIKSAkKEVOQUJMRV9DQU5WQVNfUFJP
WFkpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9FUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgpICQoRU5BQkxFX0VTNl9DTEFTU19TWU5UQVgpICQoRU5BQkxFX0VTNl9URU1QTEFU
RV9MSVRFUkFMX1NZTlRBWCkgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NT
UF9ORVhUKSAkKEVOQUJMRV9DU1NfQU5JTUFUSU9OU19MRVZFTF8yKSAkKEVOQUJMRV9DU1NfQk9Y
X0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NT
X0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQpICQoRU5BQkxFX0NT
U19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5B
QkxFX0NTU19SRUdJT05TKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVf
Q1NTX1NIQVBFUykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1MzX1RFWFRfTElORV9C
UkVBSykgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVf
SEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFMSVNUX0VM
RU1FTlQpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5BQkxFX0RFVEFJTFNfRUxF
TUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9ET000X0VWRU5UU19D
T05TVFJVQ1RPUikgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FTkNSWVBURURf
TUVESUFfVjIpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRk9OVF9MT0FEX0VW
RU5UUykgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dBTUVQQURfREVQUkVDQVRFRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0hJRERF
Tl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5B
QkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5ESUVfVUkpICQoRU5BQkxF
X0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1JfUE9QT1ZFUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09N
UExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1dFRUspICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfSU9TX0dF
U1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFC
TEVfTEVHQUNZX05PVElGSUNBVElPTlMpICQoRU5BQkxFX0xFR0FDWV9WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8pICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJM
RV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NPTlRST0xT
X1NDUklQVCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNT
KSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0Vf
Q1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVf
TkFWSUdBVE9SX0hXQ09OQ1VSUkVOQ1kpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFJPTUlTRVMp
ICQoRU5BQkxFX1BST1hJTUlUWV9FVkVOVFMpICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJM
RV9SRVFVRVNUX0FVVE9DT01QTEVURSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5B
QkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVf
U1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfU1ZHX09URl9DT05WRVJURVIpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVU
RUNUSU9OKSAkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAk
KEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5B
QkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkg
JChFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dF
Ql9BVURJTykgJChFTkFCTEVfV0VCX1JFUExBWSkgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5B
QkxFX1BJQ1RVUkVfU0laRVMpICQoRU5BQkxFX1dFQl9USU1JTkcpICQoRU5BQkxFX1dFQlZUVF9S
RUdJT05TKSAkKEVOQUJMRV9YSFJfVElNRU9VVCkgJChFTkFCTEVfWFNMVCkgJChFTkFCTEVfRlRM
X0pJVCkgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9TQVRVUkFURURfTEFZT1VUX0FSSVRITUVUSUMp
ICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9j
bWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5j
bWFrZQppbmRleCBiY2IzOWFlZDdjZjcyZDU2ZTAxOWRkMjA1OTZmYWQzNjk3M2I4ODAxLi5lY2Q0
ZTNjMThlNzJlYzZiMzI3ODUxMjc2N2M4MWVhODkwMDcxZTA2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
Y21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1
cmVzLmNtYWtlCkBAIC03MSw2ICs3MSw3IEBAIG1hY3JvKFdFQktJVF9PUFRJT05fQkVHSU4pCiAg
ICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0RSQUdfU1VQUE9SVCAiVG9nZ2xlIERyYWcg
U3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQSAiVG9nZ2xlIEVNRSBzdXBwb3J0IiBQUklWQVRFIE9GRikKICAgICBXRUJL
SVRfT1BUSU9OX0RFRklORShFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyICJTdXBwb3J0IEVNRSB2
MiIgUFJJVkFURSBPRkYpCisgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0VTNl9BUlJP
V0ZVTkNUSU9OX1NZTlRBWCAiVG9nZ2xlIEVTNiBhcnJvdyBmdW5jdGlvbiBzeW50YXggc3VwcG9y
dCIgUFJJVkFURSBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfRVM2X0NMQVNT
X1NZTlRBWCAiVG9nZ2xlIEVTNiBjbGFzcyBzeW50YXggc3VwcG9ydCIgUFJJVkFURSBPTikKICAg
ICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfRVM2X1RFTVBMQVRFX0xJVEVSQUxfU1lOVEFY
ICJUb2dnbGUgRVM2IHRlbXBsYXRlIGxpdGVyYWwgc3ludGF4IHN1cHBvcnQiIFBSSVZBVEUgT04p
CiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMiAiVG9nZ2xl
IEZpbHRlcnMgTW9kdWxlIExldmVsIDIiIFBSSVZBVEUgT0ZGKQpAQCAtMTY4LDcgKzE2OSw2IEBA
IG1hY3JvKFdFQktJVF9PUFRJT05fQkVHSU4pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5B
QkxFX1hIUl9USU1FT1VUICJUb2dnbGUgWEhSIHRpbWVvdXQgc3VwcG9ydCIgUFJJVkFURSBPRkYp
CiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1hTTFQgIlRvZ2dsZSBYU0xUIHN1cHBv
cnQiIFBSSVZBVEUgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX1NZU1RFTV9NQUxM
T0MgIlRvZ2dsZSBzeXN0ZW0gYWxsb2NhdG9yIGluc3RlYWQgb2YgV2ViS2l0J3MgY3VzdG9tIGFs
bG9jYXRvciIgUFJJVkFURSBPRkYpCi0KICAgICBXRUJLSVRfT1BUSU9OX0RFUEVORChFTkFCTEVf
RU5DUllQVEVEX01FRElBX1YyIEVOQUJMRV9WSURFTykKICAgICBXRUJLSVRfT1BUSU9OX0RFUEVO
RChFTkFCTEVfREZHX0pJVCBFTkFCTEVfSklUKQogICAgIFdFQktJVF9PUFRJT05fREVQRU5EKEVO
QUJMRV9GVExfTkFUSVZFX0NBTExfSU5MSU5JTkcgRU5BQkxFX0ZUTF9KSVQpCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0gYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KaW5kZXggZTc4MWU2MDQ0NmYyNDM3ZTQxNjlkNTNk
ZDMzMDJiZmE4MmFiZDA3NS4uODZhMTZhYzE4MDIzNjVhNmY5OWU4MzgxOTVhY2EwZGQ1N2FmODA5
OCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQpAQCAtNDQsNiArNDQs
NyBAQCBCRUdJTiB7CiBteSAoCiAgICAgJHRocmVlRFRyYW5zZm9ybXNTdXBwb3J0LAogICAgICRh
Y2NlbGVyYXRlZDJEQ2FudmFzU3VwcG9ydCwKKyAgICAkYXJyb3dmdW5jdGlvblN5bnRheCwKICAg
ICAkYXR0YWNobWVudEVsZW1lbnRTdXBwb3J0LAogICAgICRiYXR0ZXJ5U3RhdHVzU3VwcG9ydCwK
ICAgICAkY2FudmFzUGF0aFN1cHBvcnQsCkBAIC0xNTUsOSArMTU2LDEzIEBAIG15IEBmZWF0dXJl
cyA9ICgKICAgICB7IG9wdGlvbiA9PiAiYWNjZWxlcmF0ZWQtMmQtY2FudmFzIiwgZGVzYyA9PiAi
VG9nZ2xlIEFjY2VsZXJhdGVkIDJEIENhbnZhcyBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAi
RU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUyIsIGRlZmF1bHQgPT4gaXNHdGsoKSwgdmFsdWUg
PT4gXCRhY2NlbGVyYXRlZDJEQ2FudmFzU3VwcG9ydCB9LAogCisgICAgeyBvcHRpb24gPT4gImFy
cm93ZnVuY3Rpb24tc3ludGF4IiwgZGVzYyA9PiAiVG9nZ2xlIEVTNiBhcnJvdyBmdW5jdGlvbiBz
eW50YXggc3VwcG9ydCIsCisgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9FUzZfQVJST1dGVU5DVElP
Tl9TWU5UQVgiLCBkZWZhdWx0ID0+IDEsIHZhbHVlID0+IFwkYXJyb3dmdW5jdGlvblN5bnRheCB9
LAorCiAgICAgeyBvcHRpb24gPT4gImF0dGFjaG1lbnQtZWxlbWVudCIsIGRlc2MgPT4gIlRvZ2ds
ZSBBdHRhY2htZW50IEVsZW1lbnQgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9B
VFRBQ0hNRU5UX0VMRU1FTlQiLCBkZWZhdWx0ID0+IDAsIHZhbHVlID0+IFwkYXR0YWNobWVudEVs
ZW1lbnRTdXBwb3J0IH0sCiAKKwogICAgIHsgb3B0aW9uID0+ICJiYXR0ZXJ5LXN0YXR1cyIsIGRl
c2MgPT4gIlRvZ2dsZSBCYXR0ZXJ5IFN0YXR1cyBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAi
RU5BQkxFX0JBVFRFUllfU1RBVFVTIiwgZGVmYXVsdCA9PiBpc0VmbCgpLCB2YWx1ZSA9PiBcJGJh
dHRlcnlTdGF0dXNTdXBwb3J0IH0sCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>